JP4929551B2 - 情報提供システム、情報処理装置および方法、並びにプログラム - Google Patents

情報提供システム、情報処理装置および方法、並びにプログラム Download PDF

Info

Publication number
JP4929551B2
JP4929551B2 JP2001274572A JP2001274572A JP4929551B2 JP 4929551 B2 JP4929551 B2 JP 4929551B2 JP 2001274572 A JP2001274572 A JP 2001274572A JP 2001274572 A JP2001274572 A JP 2001274572A JP 4929551 B2 JP4929551 B2 JP 4929551B2
Authority
JP
Japan
Prior art keywords
program
data
information providing
image
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001274572A
Other languages
English (en)
Other versions
JP2003085065A (ja
Inventor
康夫 野村
信明 山口
英一 渡辺
理恵 臼倉
篤史 木村
康人 四方
裕之 三ツ堀
達雄 江口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2001274572A priority Critical patent/JP4929551B2/ja
Priority to US10/237,331 priority patent/US7296055B2/en
Publication of JP2003085065A publication Critical patent/JP2003085065A/ja
Application granted granted Critical
Publication of JP4929551B2 publication Critical patent/JP4929551B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Television Signal Processing For Recording (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、情報提供システム情報処理装置および方法、並びにプログラムに関し、特に、データを提供するか、または提供されたデータを処理する情報提供システム情報処理装置および方法、並びにプログラムに関する。
【0002】
【従来の技術】
ネットワークを介して、画像データまたは音声データを提供するサーバ、およびサーバから提供された画像データまたは音声データを受信して、画像を表示すると共に、音声を出力するクライアントからなるクライアントサーバシステムが利用されている。
【0003】
【発明が解決しようとする課題】
しかしながら、クライアントは、サーバに接続し、サービスの提供を要求して初めて、サーバが提供するサービスの内容、すなわちサーバの機能を知ることができるという問題点があった。
【0004】
特に、動画像の画像データを提供するサーバの機能の種類は、他のデジタルデータのみを提供するサーバの機能の種類に比較して、大変に多いので、クライアントがサーバの機能を知ることは、大変困難であった。
【0005】
本発明はこのような状況に鑑みてなされたものであり、クライアントが、サーバに接続する前に、サーバの機能を特定し、所望するサービスを提供できるサーバを選択することができるようにすることを目的とする。
【0006】
【課題を解決するための手段】
本発明の情報提供システムは、情報提供装置が、情報処理装置から送信された、自分自身が実行しているプログラムのバージョンの通知要求の受信を制御する第1の受信制御手段と、バージョンの通知要求が受信された場合、情報処理装置に、プログラムのバージョンを示すバージョンデータを送信するように、送信を制御する第1の送信制御手段とを含み、情報処理装置が、各情報提供装置への、バージョンの通知要求の送信を制御する第2の送信制御手段と、プログラムのバージョンデータと、情報提供装置が提供する動画像のストリーミング配信に関する機能との対応を示す機能データの記録を制御する記録制御手段と、各情報提供装置から送信された、バージョンデータの受信を制御する第2の受信制御手段と、機能データおよびバージョンデータを基に、情報提供装置の動画像のストリーミング配信に関する機能を特定する特定手段と各情報提供装置について特定手段により特定された機能のうち使用者の所望する動画像のストリーミング配信に関する機能を提供可能な情報提供装置を選択する選択手段とを含むことを特徴とする。
【0007】
情報提供装置は、情報処理装置に、動画像の画像データを送信するように、送信を制御する第3の送信制御手段をさらに設け情報処理装置は、情報提供装置から送信された、動画像の画像データの受信を制御する第3の受信制御手段をさらに設けることができる。
【0012】
本発明の情報処理装置は、各情報提供装置への、情報提供装置が実行しているプログラムのバージョンの通知要求の送信を制御する送信制御手段と、プログラムのバージョンデータと、情報提供装置が提供する動画像のストリーミング配信に関する機能との対応を示す機能データの記録を制御する記録制御手段と、各情報提供装置から送信された、バージョンデータの受信を制御する第1の受信制御手段と、機能データおよびバージョンデータを基に、情報提供装置の動画像のストリーミング配信に関する機能を特定する特定手段と、各情報提供装置について特定手段により特定された機能のうち使用者の所望する動画像のストリーミング配信に関する機能を提供可能な情報提供装置を選択する選択手段とを含むことを特徴とする。
【0013】
情報処理装置は、情報提供装置から送信された、動画像の画像データの受信を制御する第2の受信制御手段をさらに設けることができる。
【0014】
本発明の情報処理方法は、各情報提供装置への、情報提供装置が実行しているプログラムのバージョンの通知要求の送信を制御する送信制御処理ステップと、プログラムのバージョンデータと、情報提供装置が提供する動画像のストリーミング配信に関する機能との対応を示す機能データの記録を制御する記録制御処理ステップと、各情報提供装置から送信された、バージョンデータの受信を制御する受信制御処理ステップと、機能データおよびバージョンデータを基に、各情報提供装置の動画像のストリーミング配信に関する機能を特定する特定処理ステップと、各情報提供装置について特定処理ステップの処理により特定された機能のうち使用者の所望する動画像のストリーミング配信に関する機能を提供可能な情報提供装置を選択する選択処理ステップとを含むことを特徴とする。
【0015】
本発明のプログラムは、各情報提供装置への、情報提供装置が実行しているサーバプログラムのバージョンの通知要求の送信を制御する送信制御処理ステップと、サーバプログラムのバージョンデータと、情報提供装置が提供する動画像のストリーミング配信に関する機能との対応を示す機能データの記録を制御する記録制御処理ステップと、各情報提供装置から送信された、バージョンデータの受信を制御する受信制御処理ステップと、機能データおよびバージョンデータを基に、各情報提供装置の動画像のストリーミング配信に関する機能を特定する特定処理ステップと、各情報提供装置について特定処理ステップの処理により特定された機能のうち使用者の所望する動画像のストリーミング配信に関する機能を提供可能な情報提供装置を選択する選択処理ステップとをコンピュータに実行させることを特徴とする。
【0016】
本発明の情報提供システムにおいては、情報処理装置から送信された、情報提供装置が実行しているプログラムのバージョンの通知要求の受信が制御され、バージョンの通知要求が受信された場合、情報処理装置に、プログラムのバージョンを示すバージョンデータを送信するように、送信が制御され、各情報提供装置への、バージョンの通知要求の送信が制御され、プログラムのバージョンデータと、情報提供装置が提供する動画像のストリーミング配信に関する機能との対応を示す機能データの記録が制御され、各情報提供装置から送信された、バージョンデータの受信が制御され、機能データおよびバージョンデータを基に、各情報提供装置の動画像のストリーミング配信に関する機能が特定され、各情報提供装置について特定された機能のうち使用者の所望する動画像のストリーミング配信に関する機能を提供可能な情報提供装置が選択される。
【0018】
本発明の情報処理装置および方法、並びにプログラムにおいては、各情報提供装置への、情報提供装置が実行しているプログラムのバージョンの通知要求の送信が制御され、プログラムのバージョンデータと、情報提供装置が提供する動画像のストリーミング配信に関する機能との対応を示す機能データの記録が制御され、各情報提供装置から送信された、バージョンデータの受信が制御され、機能データおよびバージョンデータを基に、各情報提供装置の動画像のストリーミング配信に関する機能が特定され、各情報提供装置について特定手段により特定された機能のうち使用者の所望する動画像のストリーミング配信に関する機能を提供可能な情報提供装置が選択される。
【0019】
【発明の実施の形態】
図1は、本発明に係るコンテンツ提供システムの実施の第1の形態の構成を示す図である。
【0020】
コンテンツ提供装置であるサーバ1−1は、ネットワーク3を介して、クライアントとしてのパーソナルコンピュータ2−1乃至2−Nに、動画像若しくは静止画像である画像のデータ、または音楽などを含む音声のデータなどのコンテンツを提供する提供装置である。コンテンツ提供装置であるサーバ1−2乃至1−Mのそれぞれは、ネットワーク3を介して、クライアントとしてのパーソナルコンピュータ2−1乃至2−Nに、画像のデータ、または音声のデータなどのコンテンツを提供する提供装置である。
【0021】
サーバ1−1乃至1−Mのそれぞれは、画像のデータ、または音声のデータなどのコンテンツを記録する。サーバ1−1乃至1−Mのそれぞれは、画像および音声、または音声からなる、放送されている番組を受信する。
【0022】
サーバ1−1乃至1−Mのそれぞれが提供するコンテンツは、サーバ1−1乃至1−Mのそれぞれが記録しているコンテンツであるか、またはサーバ1−1乃至1−Mのそれぞれが受信した、放送されている番組に対応するコンテンツである。
【0023】
サーバ1−1乃至1−Mのそれぞれは、例えば、MPEG(Moving Picture Expert Group)方式の画像のデータ、または音声のデータなどのコンテンツを記録する。サーバ1−1乃至1−Mのそれぞれは、例えば、テレビジョン放送局から送信された地上波または放送衛星から送信された電波を受信した、図示せぬアンテナから供給される信号を復号し、受信した番組に対応する画像のデータ、または音声のデータを生成する。
【0024】
サーバ1−1乃至1−Mのそれぞれは、記録しているコンテンツをパーソナルコンピュータ2−1乃至2−Nのいずれかに送信するとき、記録しているコンテンツを1つのファイルとして、パーソナルコンピュータ2−1乃至2−Nのいずれかに送信するか、または、記録しているコンテンツを、例えば、MPEGトランスポートストリームまたはMPEGパケッタイズドエレメンタリストリームなどの、いわゆるストリームとして、パーソナルコンピュータ2−1乃至2−Nのいずれかに送信する。
【0025】
サーバ1−1乃至1−Mのそれぞれは、受信した番組であるコンテンツをパーソナルコンピュータ2−1乃至2−Nのいずれかに送信するとき、コンテンツを、例えば、MPEGトランスポートストリームまたはMPEGパケッタイズドエレメンタリストリームなどの、いわゆるストリームとして、パーソナルコンピュータ2−1乃至2−Nのいずれかに送信する。
【0026】
サーバ1−1は、ネットワーク3を介して、クライアントとしてのパーソナルコンピュータ2−1からコンテンツが要求されたとき、パーソナルコンピュータ2−1にコンテンツを送信する。
【0027】
クライアントとしてのパーソナルコンピュータ2−1は、1つのファイルとして、サーバ1−1からコンテンツを受信したとき、受信したコンテンツを記録する。パーソナルコンピュータ2−1は、記録しているコンテンツを再生することができる。
【0028】
また、パーソナルコンピュータ2−1は、ストリームとして、サーバ1−1からコンテンツを受信したとき、受信したコンテンツを再生する。
【0029】
同様に、サーバ1−1は、ネットワーク3を介して、クライアントとしてのパーソナルコンピュータ2−2乃至2−Nのいずれかからコンテンツが要求されたとき、コンテンツを要求したパーソナルコンピュータ2−2乃至2−Nのいずれかにコンテンツを送信する。
【0030】
クライアントとしてのパーソナルコンピュータ2−2乃至2−Nのそれぞれは、1つのファイルとして、サーバ1−1からコンテンツを受信したとき、受信したコンテンツを記録する。パーソナルコンピュータ2−2乃至2−Nのそれぞれは、記録しているコンテンツを再生することができる。
【0031】
また、パーソナルコンピュータ2−2乃至2−Nのそれぞれは、ストリームとして、サーバ1−1からコンテンツを受信したとき、受信したコンテンツを再生する。
【0032】
サーバ1−2乃至1−Mのそれぞれは、ネットワーク3を介して、クライアントとしてのパーソナルコンピュータ2−1からコンテンツが要求されたとき、パーソナルコンピュータ2−1にコンテンツを送信する。
【0033】
クライアントとしてのパーソナルコンピュータ2−1は、1つのファイルとして、サーバ1−2乃至1−Mのいずれかからコンテンツを受信したとき、受信したコンテンツを記録する。また、パーソナルコンピュータ2−1は、ストリームとして、サーバ1−2乃至1−Mのいずれかからコンテンツを受信したとき、受信したコンテンツを再生する。
【0034】
同様に、サーバ1−2乃至1−Mのそれぞれは、ネットワーク3を介して、クライアントとしてのパーソナルコンピュータ2−2乃至2−Nのいずれかからコンテンツが要求されたとき、コンテンツを要求したパーソナルコンピュータ2−2乃至2−Nのいずれかにコンテンツを送信する。
【0035】
クライアントとしてのパーソナルコンピュータ2−2乃至2−Nのそれぞれは、1つのファイルとして、サーバ1−2乃至1−Mのいずれかからコンテンツを受信したとき、受信したコンテンツを記録する。また、パーソナルコンピュータ2−2乃至2−Nのそれぞれは、ストリームとして、サーバ1−2乃至1−Mのいずれかからコンテンツを受信したとき、受信したコンテンツを再生する。
【0036】
また、サーバ1−1乃至1−Mのそれぞれは、チャットサーバとしての機能を有し、クライアントとしてのパーソナルコンピュータ2−1乃至2−Nのうち、複数のクライアントが接続されたとき、接続されている複数のクライアントにチャットのサービスを提供する。
【0037】
すなわち、例えば、1つのクライアントである、パーソナルコンピュータ2−1は、ネットワーク3を介して、サーバ1−1に、チャットのためのテキストデータを送信する。サーバ1−1は、パーソナルコンピュータ2−1から送信された、チャットのためのテキストデータを受信し、他のクライアントである、パーソナルコンピュータ2−2乃至2−Nのいずれかに、受信したチャットのためのテキストデータを送信する。
【0038】
同様に、パーソナルコンピュータ2−2乃至2−Nのそれぞれは、ネットワーク3を介して、サーバ1−2乃至1−Mのいずれかに、チャットのためのテキストデータを送信する。サーバ1−2乃至1−Mのそれぞれは、1つのクライアントとしての、パーソナルコンピュータ2−2乃至2−Nのいずれかから送信された、チャットのためのテキストデータを受信し、他のクライアントである、パーソナルコンピュータ2−1乃至2−Nのいずれかに、受信したチャットのためのテキストデータを送信する。
【0039】
ネットワーク3は、ローカルエリアネットワークまたはインターネットを含む、所定の方式のネットワークである。例えば、ネットワーク3として、IEEE(Institute of Electrical and Electronics Engineers)1394または100BASE-Tなど方式のネットワークを採用することができる。本発明は、ネットワーク3の方式により限定されるものではない。
【0040】
以下、サーバ1−1乃至1−Mを個々に区別する必要がないとき、単に、サーバ1と称する。以下、パーソナルコンピュータ2−1乃至2−Nを個々に区別する必要がないとき、単に、パーソナルコンピュータ2と称する。
【0041】
図2は、サーバ1の構成を示すブロック図である。CPU(Central Processing Unit)21は、図4を参照して後述する各種のアプリケーションプログラムや、基本的なOS(Operating System)を実際に実行する。ROM(Read-Only Memory)22は、一般的には、CPU21が使用するプログラムや演算用のパラメータのうちの基本的に固定のデータを格納する。RAM(Random-Access Memory)23は、CPU21の実行において使用するプログラムや、その実行において適宜変化するパラメータを格納する。これらはホストバス24により相互に接続されている。
【0042】
ホストバス24は、ブリッジ25を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス26に接続されている。
【0043】
キーボード28は、CPU21に各種の指令を入力するとき、使用者により操作される。マウス29は、表示部30の画面上のポイントの指示や選択を行うとき、使用者により操作される。表示部30は、CRT(Cathode Ray Tube)または液晶表示装置などからなり、各種情報をテキストやイメージで表示する。HDD(Hard Disk Drive)31およびFDD(Floppy(R) Disk Drive)32は、それぞれハードディスクまたはフロッピー(登録商標)ディスクを駆動し、それらにCPU21によって実行するプログラムや情報を記録または再生させる。スピーカ33は、所定の音声を再生する。
【0044】
ドライブ34は、磁気ディスク41、光ディスク42、光磁気ディスク43、または半導体メモリ44が装着され、装着されている磁気ディスク41、光ディスク42、光磁気ディスク43、または半導体メモリ44に記録されているプログラムを読み出し、読み出したプログラムをHDD31またはRAM23に供給する。
【0045】
これらのキーボード28乃至ドライブ34は、インタフェース27に接続されており、インタフェース27は、外部バス26、ブリッジ25、およびホストバス24を介してCPU21に接続されている。
【0046】
画像処理ボード35は、CPU21の制御の基に、図示せぬアンテナから供給された信号を基に、放送されている番組に対応する所定の画像のデータまたは音声のデータを生成し、外部バス26およびインタフェース27を介して、生成した画像のデータまたは音声のデータをHDD31に出力する。
【0047】
画像処理ボード35は、CPU21の制御の基に、図示せぬアンテナから供給された信号を基に、番組に対応する所定の画像または音声のストリームのデータを生成し、ネットワーク3を介して、生成したストリームのデータをパーソナルコンピュータ2−1乃至2−Nのいずれかに送信する。
【0048】
また、画像処理ボード35は、CPU21の制御の基に、外部バス26およびインタフェース27を介して、HDD31に記録されている、1つのファイルである画像のデータまたは音声のデータを入力し、入力されたファイルをネットワーク3を介して、パーソナルコンピュータ2−1乃至2−Nのいずれかに送信する。画像処理ボード35は、CPU21の制御の基に、外部バス26およびインタフェース27を介して、HDD31に記録されている、画像のデータまたは音声のデータを読み出して、読み出した画像または音声のデータに対応するストリームのデータを生成し、ネットワーク3を介して、生成したストリームのデータをパーソナルコンピュータ2−1乃至2−Nのいずれかに送信する。
【0049】
画像処理ボード35は、外部バス26、ブリッジ25、およびホストバス24を介してCPU21に接続されている。
【0050】
通信ボード36は、モデムボードなどであり、電話回線などの公衆回線を介して、他のパーソナルコンピュータまたはサーバと通信する。
【0051】
図3は、画像処理ボード35の構成を示すブロック図である。チューナ51は、CPU21の制御の基に、外部から供給されるテレビジョン放送の放送信号を取得し、複数のチャンネルのテレビジョン放送の番組のうちの、指定されたチャンネルの番組を選択する。チューナ51は、選択したチャンネルの番組の画像および音声に対応するアナログ信号をA/D(Analog-to-Digital)変換器52に供給する。
【0052】
A/D変換器52は、供給された、番組の画像および音声に対応するアナログ信号を、デジタル信号にアナログ/デジタル変換する。A/D変換器52は、番組の画像および音声に対応するデジタル信号をセレクタ53に供給する。
【0053】
セレクタ53は、テレビジョン放送の番組がHDD31に記録されるか、またはテレビジョン放送の番組に対応するデジタル信号がストリームとしてパーソナルコンピュータ2に送信されるとき、A/D変換器52から供給されたデジタル信号を、エンコーダ54に供給する。セレクタ53は、テレビジョン放送の番組を表示部30およびスピーカ33に再生させるとき、A/D変換器52から供給されたデジタル信号を、ブリッジ55に供給する。
【0054】
セレクタ53は、テレビジョン放送の番組がHDD31に記録されるか、またはテレビジョン放送の番組に対応するデジタル信号がストリームとしてパーソナルコンピュータ2に送信されると共に、テレビジョン放送の番組が表示部30およびスピーカ33に再生されるとき、A/D変換器52から供給されたデジタル信号を、エンコーダ54およびブリッジ55に同時に供給する。
【0055】
エンコーダ54は、セレクタ53から供給された、番組の画像および音声に対応するデジタル信号をMPEG等の所定の圧縮符号化方式により符号化し、得られた画像データまたは音声データである符号化データをブリッジ55に供給する。
【0056】
デコーダ56は、ブリッジ55を介して、HDD31に記録されている、MPEG等の所定の圧縮符号化方式により符号化されている画像データおよび音声データが供給されたとき、符号化されている画像データおよび音声データを復号する。デコーダ56は、復号して得られたデジタル信号をブリッジ55に供給する。
【0057】
ブリッジ55は、テレビジョン放送の番組に対応する画像データまたは音声データである符号化データをHDD31に記録するとき、エンコーダ54から供給された符号化データを外部バス26を介して、HDD31に供給する。ブリッジ55は、テレビジョン放送の番組を表示部30およびスピーカ33に再生させるとき、セレクタ53を介して、A/D変換器52から供給された、画像のデジタル信号を、外部バス26およびインタフェース27を介して、表示部30に供給すると共に、音声のデジタル信号を、外部バス26およびインタフェース27を介して、スピーカ33に供給する。
【0058】
ブリッジ55は、HDD31に記録されている画像データまたは音声データである符号化データを再生させるとき、HDD31に記録されている符号化データをデコーダ56に供給する。ブリッジ55は、デコーダ56から供給された、画像のデジタル信号を、外部バス26およびインタフェース27を介して、表示部30に供給すると共に、音声のデジタル信号を、外部バス26およびインタフェース27を介して、スピーカ33に供給する。
【0059】
テレビジョン放送の番組を再生するとき、表示部30は、インタフェース27を介して供給されたデジタル信号または所定の方式に変換されたアナログ信号を基に、テレビジョン放送の番組の画像を表示する。
【0060】
テレビジョン放送の番組を再生するとき、スピーカ33は、インタフェース27を介して供給されたデジタル信号または所定の方式に変換されたアナログ信号を基に、テレビジョン放送の番組の音声を再生する。
【0061】
ネットワークインタフェース57は、ネットワーク3を介して、パーソナルコンピュータ2から送信されたコンテンツの要求を受信し、受信したコンテンツの要求を、ブリッジ55および外部バス26を介して、CPU21またはRAM23に供給する。
【0062】
ブリッジ55は、要求に対応してパーソナルコンピュータ2にコンテンツを送信するとき、コンテンツとしての、エンコーダ54から供給された画像データまたは音声データである符号化データ、またはHDD31に記録されている符号化データをネットワークインタフェース57に供給する。CPU21の制御の基に、HDD31に記録されている符号化データは、1つのファイルとしてブリッジ55からネットワークインタフェース57に供給されるか、または、いわゆるストリームとして、ブリッジ55からネットワークインタフェース57に供給される。
【0063】
ネットワークインタフェース57は、ブリッジ55から供給された、画像データまたは音声データである符号化データを、例えば、所定のパケットに格納し、ネットワーク3を介して、パーソナルコンピュータ2に送信する。
【0064】
図4は、サーバ1が実行するアプリケーションプログラムを説明する図である。録画再生プログラム81は、画像処理ボード35に、チューナ51で受信した所定のチャンネルの番組に対応する、画像または音声のアナログ信号をMPEG方式の画像データまたは音声データである符号化データに変換させ、符号化データをコンテンツとして、HDD31に記録させる。
【0065】
また、録画再生プログラム81は、HDD31に記録されているコンテンツを、画像処理ボード35に、復号させて、圧縮されていない所定の画像または音声のデジタル信号を生成し、画像を表示部30に表示させ、音声をスピーカ33に再生させる。
【0066】
管理検索プログラム82は、HDD31に記録されているコンテンツの内容または録画された日付などの所定の情報を表示部30に表示させる。また、管理検索プログラム82は、所定のコンテンツの再生を録画再生プログラム81に指示する。管理検索プログラム82は、編集の対象となるコンテンツを選択し、その選択されたコンテンツの情報を編集プログラム83に供給する。管理検索プログラム82は、予約録画設定プログラム84に予約録画の指示を行う。
【0067】
編集プログラム83は、HDD31に記録されているコンテンツを基に、選択されたコンテンツの所定の画像および音声を編集(所定のコンテンツに含まれている画像および音声をつなぎ合わせる)し、編集された画像または音声を再生する所定の形式のコンテンツを生成する。
【0068】
このコンテンツは、例えば、画像または音声のデジタルデータを有せず、選択されたコンテンツを特定する情報および利用する画像および音声を特定する情報から構成され、録画再生プログラム81で再生することができる。
【0069】
予約録画設定プログラム84は、設定に基づき、予約録画を実行させるコンテンツを生成する。このコンテンツは、設定(録画時間、および画質を決定する録画モード)に対応し、HDD31の記憶領域を予め確保する。
【0070】
予約監視プログラム85は、サーバ1が動作しているとき(OSが動作しているとき)、常に動作し(いわゆる、常駐している)、予約録画設定プログラム84が生成した予約録画を実行させるコンテンツ、および、図示せぬRTC(Real Time Clock)から供給される時刻を基に、予約録画を実行する。また、予約監視プログラム85は、予約録画を実行させるコンテンツの設定を変更する。
【0071】
画像サーバプログラム86は、画像処理ボード35に、チューナ51が受信している、所定のチャンネルの番組に対応する、MPEG方式の画像データまたは音声データである符号化データを生成させる。画像サーバプログラム86は、画像処理ボード35に、ネットワーク3を介して、生成した画像データまたは音声データである符号化データをパーソナルコンピュータ2に送信させる。
【0072】
また、画像サーバプログラム86は、画像処理ボード35に、ネットワーク3を介して、HDD31に記録されている、MPEG方式の画像データまたは音声データである符号化データを、パーソナルコンピュータ2に送信させる。
【0073】
チャットサーバプログラム87は、パーソナルコンピュータ2−1乃至2−Nのいずれかである、1つのクライアントから送信されたテキストデータを、画像処理ボード35に受信させる。チャットサーバプログラム87は、画像処理ボード35に、パーソナルコンピュータ2−1乃至2−Nのいずれかである、他のクライアントに送信させる。
【0074】
図5は、パーソナルコンピュータ2の構成を示すブロック図である。CPU101は、図6を参照して後述する各種アプリケーションプログラムや、基本的なOSを実際に実行する。ROM102は、一般的には、CPU101が使用するプログラムや演算用のパラメータのうちの基本的に固定のデータを格納する。RAM103は、CPU101の実行において使用するプログラムや、その実行において適宜変化するパラメータを格納する。これらはホストバス104により相互に接続されている。
【0075】
ホストバス104は、ブリッジ105を介して、PCIバスなどの外部バス106に接続されている。
【0076】
キーボード108は、CPU101に各種の指令を入力するとき、使用者により操作される。マウス109は、表示部110の画面上のポイントの指示や選択を行うとき、使用者により操作される。表示部110は、CRTまたは液晶表示装置などからなり、各種情報をテキストやイメージで表示する。HDD111およびFDD112は、それぞれハードディスクまたはフロッピー(登録商標)ディスクを駆動し、それらにCPU101によって実行するプログラムや情報を記録または再生させる。スピーカ113は、所定の音声を再生する。
【0077】
ドライブ114は、磁気ディスク121、光ディスク122、光磁気ディスク123、または半導体メモリ124が装着され、装着されている磁気ディスク121、光ディスク122、光磁気ディスク123、または半導体メモリ124に記録されているプログラムを読み出し、読み出したプログラムをHDD111またはRAM103に供給する。
【0078】
これらのキーボード108乃至ドライブ114は、インタフェース107に接続されており、インタフェース107は、外部バス106、ブリッジ105、およびホストバス104を介してCPU101に接続されている。
【0079】
ネットワークインタフェースカード115は、CPU101の制御の基に、ネットワーク3を介して、サーバ1から送信されたストリームのデータを受信し、受信したストリームのデータを、外部バス106、ブリッジ105、およびホストバス104を介して、RAM103に供給する。
【0080】
また、ネットワークインタフェースカード115は、CPU101の制御の基に、ネットワーク3を介して、サーバ1から送信された、1つのファイルとしてのデータを受信し、受信したデータを、外部バス106、およびインタフェース107を介して、HDD111に供給する。
【0081】
ネットワークインタフェースカード115は、外部バス106、ブリッジ105、およびホストバス104を介してCPU101に接続されている。
【0082】
通信ボード116は、モデムボードなどであり、電話回線などの公衆回線を介して、他のパーソナルコンピュータまたはサーバと通信する。
【0083】
図6は、クライアントとしてのパーソナルコンピュータ2が実行するプログラムを説明する図である。クライアントプログラム131は、ネットワークインタフェースカード115に、ネットワーク3を介して、サーバ1宛てにコンテンツの要求を送信させる。クライアントプログラム131は、ネットワーク3を介して、サーバ1から送信された、画像データまたは音声データであるコンテンツを、ネットワークインタフェースカード115に受信させる。クライアントプログラム131がネットワークインタフェースカード115に受信させるコンテンツは、1つのファイルであるか、またはストリームである。
【0084】
クライアントプログラム131は、コンテンツを受信したとき、受信したコンテンツをHDD111に記録させるか、または表示部110に画像を表示させると共に、スピーカ113に音声を出力させる。
【0085】
チャットプログラム132は、キーボード108から入力されたテキストデータを表示部110に表示させると共に、ネットワークインタフェースカード115に、ネットワーク3を介して、サーバ1宛てにテキストデータを送信させる。
【0086】
チャットプログラム132は、ネットワーク3を介して、サーバ1から送信されたテキストデータを、ネットワークインタフェースカード115に、受信させ、受信したテキストデータに対応する文字を表示部110に表示させる。
【0087】
ここで、画像サーバプログラム86およびクライアントプログラム131のコマンドおよびメッセージ、並びにチャットサーバプログラム87およびチャットプログラム132にコマンドおよびメッセージについて説明する。
【0088】
画像サーバプログラム86とクライアントプログラム131との接続は、例えば、ポート3862で確立される。画像サーバプログラム86とクライアントプログラム131とのデータの通信は、TCP/IPテキストベースで行われる。コマンドと応答とは、改行コード('\n')で区切られる。画像サーバプログラム86は、次のコマンドを受付可能な状態になると、ピリオド('.')をクライアントプログラム131に送信する。
【0089】
画像サーバプログラム86とクライアントプログラム131との通信において、受け付けられない文字列(コマンド)を送信または受信すると、エラーが起こることがあり得る。エラーは、'Error(エラー番号)'で表される。
【0090】
画像サーバプログラム86とクライアントプログラム131の通信は、基本的に、以下の手順で実行される。
【0091】
最初に、クライアントプログラム131は、コマンド1を画像サーバプログラム86に送信する。次に、コマンド1を受信した画像サーバプログラム86は、クライアントプログラム131に応答する。応答の処理を終了したとき、画像サーバプログラム86は、クライアントプログラム131に、次のコマンドを受付可能な状態を示す”.”を送信する。クライアントプログラム131は、次のコマンドであるコマンド2を画像サーバプログラム86に送信し、上記の手順を繰り返す。
【0092】
また、画像サーバプログラム86とクライアントプログラム131間のコマンドの通信は、画像サーバプログラム86のログ画面で見ることができる。
【0093】
例えば、より多くのログを記録したい場合、次のレジストリ(DWORD値)を新規作成すればよい。
HKEY_CURRENT_USER\Software\Sony Corporation\Yebisu\GigaPocketサーバ\Settings\MessageLevel
このDWORD値をより大きくすれば、より多くのログを記録することが可能になる。ただし、DWORD値は、0x10程度が限界である。”\GigaPocketサーバ”は、画像サーバプログラム86が格納されているフォルダを示す。
【0094】
また、クライアントプログラム131は、ネットワーク3上に存在する画像サーバプログラム86を実行するサーバ1を、ブラウズすることができる。次の処理を実行することにより、クライアントプログラム131は、サーバ1のコンピュータ名を取得できる。クライアントプログラム131に、UDP(User Datagram Protocol)で、3862ポートに、文字列”Giga Pocket message: What is your name?”をブロードキャストさせる(宛先のIP(Internet Protocol)アドレスを255.255.255.255に設定して、送信する)。すると、画像サーバプログラム86は、UDPで、3862ポートに応答”Giag Pocket message: My name is SERVER”を送信する。ここで、”Giga Pocket message:”は、文字列が、画像サーバプログラム86とクライアントプログラム131のコマンドまたは応答であることを示す。”SERVER”は、サーバ1のコンピュータ名を示す。
【0095】
例えば、ネットワーク3上に、画像サーバプログラム86を実行している、”SABA","KAME"、および"UNAGI"とそれぞれ名前が付された3台のサーバ1があるとき、クライアントプログラム131が送信したブロードキャストされたメッセージ”Giga Pocket message: What is your name?”に対して、それぞれのサーバ1は、順不同に次の応答を送信する。
Giga Pocket message: My name is KAME
Giga Pocket message: My name is SABA
Giga Pocket message: My name is UNAGI
【0096】
この機能を使用すれば、クライアントプログラム131は、ネットワーク3上に存在する画像サーバプログラム86を実行するサーバ1を知ることができ、使用者は、いちいちサーバ1の名前をダイアログボックスなどに入力することなく、サーバ1を選択することができるようになる。
【0097】
以下、画像サーバプログラム86に用意されているコマンドを順に説明する。
【0098】
イニシャライズコマンドは、”Initialize [P=<pass word>]”と記述される。
<pass word>は、文字列パスワードを示す。パスワードの文字数に制約はないが、パスワードの先頭の8バイトのみが認証に使用される。
【0099】
イニシャライズコマンドは、画像サーバプログラム86に通信を初期化させる。画像サーバプログラム86に接続後、画像サーバプログラム86に、必ず1度イニシャライズコマンドを実行させる必要がある。画像サーバプログラム86にパスワードの設定をしていないとき、<pass word>を指定する必要はない。なお、パスワードは、平文ではなく、暗号化される。
【0100】
画像サーバプログラム86は、パスワードが正しいとき、イニシャライズコマンドの応答として、”Initialize OK”をクライアントプログラム131に送信し、パスワードが正しくないため初期化に失敗したとき、イニシャライズコマンドの応答として、”.”をクライアントプログラム131に送信する。
【0101】
ヘルプコマンドは、”Help”と記述される。ヘルプコマンドは、画像サーバプログラム86のコマンド一覧を表示させるコマンドである。画像サーバプログラム86は、ヘルプコマンドの応答として、コマンドの一覧をクライアントプログラム131に送信する。
【0102】
クリエイトテープコマンドは、”CreateTape <quality> [N=<video capsule name>]”と記述される。<quality>は、コンテンツの画質を指定する、0,1、または2のいずれかの値である。0は、高画質を示し、1は、標準を示し、2は、長時間を示す。<video capsule name>は、コンテンツの名前を示す。
【0103】
クリエイトテープコマンドは、画像サーバプログラム86に、名前が<video capsule name>のコンテンツを所定のキャビネットに作成させる。キャビネットは、1または2以上のコンテンツを格納する単位を示す。
【0104】
<video capsule name>を指定しないとき、画像サーバプログラム86は、自動的にコンテンツの名前を生成する。また、後述するセットテープネームコマンドまたはセットメモコマンドを用いて、作成したコンテンツの名前、およびメモを設定することができる。
【0105】
画像サーバプログラム86は、クリエイトテープコマンドの応答として、”NewTapeID:<tapeID>”をクライアントプログラム131に送信する。<tapeID>は、新しく作成されたコンテンツのIDを示す。
【0106】
クリエイトリザーブコマンドは、”CreateReserve <tapeID> S=yyyy/mm/dd,hh:mm:ss E= yyyy/mm/dd,hh:mm:ss CH=<No.>,<caption>”と記述される。<tapeID>は、コンテンツの番号であり、クリエイトテープコマンドで取得できる。yyyy/mm/dd,hh:mm:ssは、予約する、年/月/日、時:分:秒を示す。Sは、開始日時であり、Eは、終了日時である。
【0107】
<No.>は、チャンネル番号を示し、<caption>は、チャンネル(文字列)を示す。例えば、<caption>は、"NHK教育"などである。
【0108】
クリエイトリザーブコマンドは、画像サーバプログラム86に、新規に予約を実行させる。クリエイトリザーブコマンドを実行する前に、クリエイトテープコマンドを実行し、新しく作成するコンテンツの番号<tapeID>を取得する必要がある。チャンネル番号<No.>および名前<caption>は、チャンネル取得コマンドで取得される。
【0109】
画像サーバプログラム86は、クリエイトリザーブコマンドの応答として、録画予約に成功したとき、”reserveID:<reserveID>”をクライアントプログラム131に送信し、予約録画に失敗したとき、”parameter error”をクライアントプログラム131に送信する。”<reserveID>”は、録画IDを示す。予約録画は、例えば、サーバ1に空き記憶領域がないとき、失敗する場合がある。
【0110】
デリートテープコマンドは、”DeleteTape <tapeID> [<0=movie only>]”と記述される。<tapeID>は、コンテンツの番号を示す。<0=movie only >において、0を指定すると、MPEGデータのみが削除される。
【0111】
デリートテープコマンドは、画像サーバプログラム86に、サーバ1にあるコンテンツを削除させる。”movie only”が指定されているとき、画像サーバプログラム86は、動画データのみ削除し、動画データに関係するデータ(属性データなどからなる)である、データベースおよびインデックス情報を削除しない。画像サーバプログラム86は、デリートテープコマンドの応答として、”Deleted:<tapeID>”をクライアントプログラム131に送信する。<tapeID>は、削除されたコンテンツの番号を示す。
【0112】
ファーストテープコマンドは、”FirstTape”と記述される。
【0113】
ファーストテープコマンドは、後述するネクストテープコマンドと組み合わせて使用され、サーバ1に記録されているコンテンツのIDを取得するためのコマンドである。ネクストテープコマンドを実行する前に、ファーストテープコマンドが実行されなければならない。なお、通常は、ゲットテープリストコマンドで、サーバ1に記録されている全てのコンテンツのIDが一括して取得される。
【0114】
画像サーバプログラム86は、ファーストテープコマンドの応答として、”ID:<tapeID>”をクライアントプログラム131に送信する。<tapeID>は、最初に発見されたコンテンツのIDを示す。
【0115】
ネクストテープコマンドは、”NextTape”と記述される。
【0116】
ネクストテープコマンドは、ファーストテープコマンドと組み合わせて使用され、サーバ1に記録されているコンテンツのIDを取得するためのコマンドである。ネクストテープコマンドを実行する前に、ファーストテープコマンドが実行されなければならない。
【0117】
画像サーバプログラム86は、ネクストテープコマンドの応答として、”ID:<tapeID>”をクライアントプログラム131に送信する。<tapeID>は、発見されたコンテンツのIDを示す。
【0118】
ファーストライブコマンドは、”FirstLib”と記述される。ファーストライブコマンドは、後述するネクストライブコマンドと組み合わせて使用され、サーバ1に存在するキャビネットのIDを取得するためのコマンドである。ネクストライブコマンドを実行する前に、ファーストライブコマンドが実行されなければならない。なお、通常は、ゲットライブリストコマンドで、サーバ1に記録されている全てのキャビネットのIDが一括して取得される。
【0119】
画像サーバプログラム86は、ファーストライブコマンドの応答として、”libID:<libID>”をクライアントプログラム131に送信する。<libID>は、最初に発見されたキャビネットのIDを示す。
【0120】
ネクストライブコマンドは、”NextLib”と記述される。
【0121】
ネクストライブコマンドは、ファーストライブコマンドと組み合わせて使用され、サーバ1に存在するキャビネットのIDを取得するためのコマンドである。ネクストライブコマンドを実行する前に、ファーストライブコマンドが実行されなければならない。
【0122】
画像サーバプログラム86は、ネクストライブコマンドの応答として、”libID:<libID>”をクライアントプログラム131に送信する。<libID>は、最初に発見されたキャビネットのIDを示す。
【0123】
ゲットライブコマンドは、”GetLibList”と記述される。
【0124】
ゲットライブコマンドは、キャビネットのIDとキャビネットの名前の一覧を取得するためのコマンドである。
【0125】
画像サーバプログラム86は、ゲットライブコマンドの応答として、存在するキャビネットの数に対応し、リスト”lib-list:<libID> N=<lib name>”をクライアントプログラム131に送信する。<libID>は、キャビネットのIDを示し、<lib name>は、キャビネットの名前を示す。
【0126】
ゲットテープリストコマンドは、”GetTapeList <arg>”と記述される。<arg>は、取得するコンテンツの種類を制限する引数であり、argが0のとき、全てのコンテンツのIDおよび名前が取得され、argが0でないとき、通常のコンテンツのみのIDおよび名前が取得される。
【0127】
ゲットテープリストコマンドは、キャビネットのIDおよびキャビネットの名称の一覧を取得するためのコマンドである。
【0128】
画像サーバプログラム86は、ゲットテープリストコマンドの応答として、存在するコンテンツの数に対応し、文字列”tape-list:<tapeID> <libID> <type > N=<video capsule name>”をクライアントプログラム131に送信する。<tapeID>は、コンテンツ番号を示す。<libID>は、キャビネットのIDを示す。<tape>は、N,L,I,P,E,R、または*のいずれかであり、Nは、通常のコンテンツを示し、Lは、リストを示し、Iは、シーン情報のみであることを示し、Eは、エラーであることを示し、Pは、視聴制限があることを示し、Rは、予約であることを示し、*は、録画中であることを示す。<video capsule name>は、コンテンツの名前を示す。
【0129】
ゲットリザーブリストコマンドは、”GetReserveList”と記述される。
【0130】
ゲットリザーブリストコマンドは、予約を表示させるためのコマンドである。
【0131】
画像サーバプログラム86は、ゲットリザーブリストコマンドの応答として、存在する予約の数に対応し、文字列”reserve-list:<reserveID> <tapeID> S=yyyy/mm/dd,hh:mm E=yyyy/mm/dd,hh:mm N=<video capsule name>”をクライアントプログラム131に送信する。<reserveID>は、予約のIDを示し、<tapeID>は、コンテンツのIDを示し、yyyy/mm/dd,hh:mm:ssは、予約する年/月/日、時:分:秒を示し、Sは、開始日時を示し、Eは、終了日時を示す。<video capsule name>は、コンテンツの名前を示す。
【0132】
ゲットテープインフォコマンドは、”GetTapeInfo <tapeID>”と記述される。<tapeID>は、情報を取得したいコンテンツのIDを示す。
【0133】
ゲットテープインフォコマンドは、コンテンツの情報を取得するためのコマンドである。
【0134】
ゲットライブインフォコマンドは、”GetLibInfo <libID>”と記述される。<libID>は、情報を取得したいキャビネットのIDを示す。
【0135】
ゲットライブインフォコマンドは、キャビネットの情報を取得するためのコマンドである。
【0136】
ゲットチャンネルコマンドは、”GetChannel”と記述される。
【0137】
ゲットチャンネルコマンドは、チャンネル情報を表示させるコマンドである。
【0138】
画像サーバプログラム86は、ゲットチャンネルコマンドの応答として、存在するチャンネルの数に対応した文字列”CH-DB:<No.>,<caption>,<caption1>[,<caption2>[,….]]]”をクライアントプログラム131に送信する。<No.>は、チャンネルの番号を示し、<caption>は、最も一般的なチャンネルの名称を示し、<caption1>は、チャンネルの第1の名称を示し、<caption2>は、チャンネルの第2の名称を示す。例えば、”CH-DB:<No.>,<caption>,<caption1>[,<caption2>[,….]]]”に対応する文字列として、”CH-DB:3,NHK教育,NHK教育,NHK2”がクライアントプログラム131に送信される。
【0139】
ゲットメモコマンドは、”GetMemo <tapeID>”と記述される。<tapeID>は、メモとしての情報を取得するコンテンツのIDを示す。
【0140】
ゲットメモコマンドは、コンテンツのメモを取得するためのコマンドである。
【0141】
セットテープネームコマンドは、”SetTapeName <tapeID> N=<new tape name>”と記述される。<tapeID>は、コンテンツのIDを示し、<new tape name >は、コンテンツの名前を示す。
【0142】
セットテープネームコマンドは、コンテンツの名前を設定するコマンドである。
【0143】
画像サーバプログラム86は、セットテープネームコマンドの応答として、”new tape name:<new tape name >”をクライアントプログラム131に送信する。<new tape name >は、コンテンツの名前を示す。
【0144】
セットメモコマンドは、”SetMemo <tapeID> M=<memo string>”と記述される。<tapeID>は、コンテンツのIDを示す。<memo string>は、文字列からなるメモを示す。
【0145】
セットメモコマンドは、コンテンツにメモを設定するためのコマンドである。
【0146】
画像サーバプログラム86は、セットメモコマンドの応答として、”OK”をクライアントプログラム131に送信する。
【0147】
ゲットムービーサイズコマンドは、”GetMovieSize <tapeID>”と記述される。<tapeID>は、コンテンツのIDを示す。
【0148】
ゲットムービーサイズコマンドは、コンテンツのファイルの大きさを取得するコマンドである。
【0149】
画像サーバプログラム86は、ゲットムービーサイズコマンドの応答として、”MovieSize:<size>”をクライアントプログラム131に送信する。<size>は、MPEGファイルの大きさを示す。
【0150】
ゲットインデックスサイズコマンドは、”GetIndexSize <tapeID>”と記述される。<tapeID>は、コンテンツのIDを示す。
【0151】
ゲットインデックスサイズコマンドは、コンテンツに関係するデータを格納しているインデックスファイルの大きさを取得するためのコマンドである。
【0152】
画像サーバプログラム86は、ゲットインデックスサイズコマンドの応答として、”IndexSize:<size>”をクライアントプログラム131に送信する。<size>は、インデックスファイルの大きさを示す。
【0153】
ゲットメディアインフォコマンドは、”GetMediaInfo”と記述される。
【0154】
ゲットメディアインフォコマンドは、画像サーバプログラム86のバージョン番号を取得するためのコマンドである。画像サーバプログラム86は、実行ディレクトリと同じフォルダにある、所定のプログラムのバージョン番号をクライアントプログラム131に送信する。
【0155】
画像サーバプログラム86は、ゲットメディアインフォコマンドの応答として、”MediaInfo:<size1> <size2> <hh:mm:ss1> <hh:mm:ss2> <hh:mm:ss3>”をクライアントプログラム131に送信する。<size1>は、サーバ1の画像サーバプログラム86用のハードディスクドライブの容量を示す。<size2>は、サーバ1の画像サーバプログラム86用のハードディスクドライブの空き容量を示す。<hh:mm:ss1>は、「高画質」で録画可能な時間を示す。<hh:mm:ss2>は、「標準」で録画可能な時間を示す。<hh:mm:ss3>は、「長時間」で録画可能な時間を示す。
【0156】
リードオープンテープコマンドは、”ReadOpenTape <tapeID>”と記述される。<tapeID>は、再生したいコンテンツのIDを示す。
【0157】
リードオープンテープコマンドは、再生したいコンテンツを読みとり専用で開くためのコマンドである。コンテンツを再生するとき、リードオープンテープコマンドが必ず実行される。リードオープンテープコマンドを実行すると、クライアントプログラム131は、<handle>,<SSG port>、および<SSX port>を取得する。クローズテープコマンドが実行されるまで、読みとり専用で開かれたコンテンツの操作には、<handle>が使用される。また、サーバ1の画像サーバプログラム86は、ポート<SSG port>を介して、画像データを送信し、ポート<SSX port>を介して、インデックスデータを送信するので、それぞれの転送開始要求コマンド(ReadSSG,ReadSSX)を実行する前にコネクションを確立する必要がある。
【0158】
画像サーバプログラム86は、リードオープンテープコマンドの応答として、”ReadOpen:<handle> <SSG port> <SSX port>”をクライアントプログラム131に送信する。<handle>は、ハンドルを示す。クローズテープコマンドが実行されるまで、開かれたコンテンツを操作するとき、このハンドルが指定される。<SSG port>は、画像データをクライアントプログラム131が受け取るポートの番号を示す。<SSX port>は、インデックスデータをクライアントプログラム131が受け取るポートの番号を示す。
【0159】
クローズテープコマンドは、”CloseTape <handle>”と記述される。<handle>は、開かれたコンテンツのハンドルを示す。
【0160】
クローズテープコマンドは、リードオープンテープコマンドにより開かれたコンテンツを閉じるためのコマンドである。終了するとき、開かれたコンテンツは、必ずクローズテープコマンドの実行により、閉じられなければならない。
【0161】
画像サーバプログラム86は、クローズテープコマンドの応答として、”Tape
closed”をクライアントプログラム131に送信する。
【0162】
ライトオープンテープコマンドは、”WriteOpenTape <tapeID>”と記述される。<tapeID>は、コンテンツのIDを示す。
【0163】
ライトオープンテープコマンドは、コンテンツを書き込みモードで開くためのコマンドである。ライトオープンテープコマンドを実行したとき、クライアントプログラム131は、<handle>,<SSG port>、および<SSX port>を取得する。ライトクローズテープコマンドが実行されるまで、書き込みモードで開かれたコンテンツの操作に、<handle>が使用される。
【0164】
また、サーバ1の画像サーバプログラム86は、ポート<SSG port>を介して、画像データを送信し、ポート<SSX port>を介して、インデックスデータを送信するので、データの送出の前に、コネクションを確立する必要がある。
【0165】
画像サーバプログラム86は、ライトオープンテープコマンドの応答として、”WriteOpen:<handle> <SSG port> <SSX port>”をクライアントプログラム131に送信する。<handle>は、ハンドルを示す。クローズテープコマンドが実行されるまで、開かれたコンテンツを操作するとき、このハンドルが指定される。<SSG port>は、画像データをクライアントプログラム131が送出するポートの番号を示す。<SSX port>は、インデックスデータをクライアントプログラム131が送出するポートの番号を示す。
【0166】
ライトクローズテープコマンドは、”WriteCloseTape <handle> <size>”と記述される。<handle>は、オープンしたコンテンツのハンドルを示し、<size>は、開かれているコンテンツに書き込まれたデータの量に対応するバイト数(64ビット整数)を示す。
【0167】
画像サーバプログラム86は、ライトクローズテープコマンドが実行されたとき、ライトオープンテープコマンドにより開かれたコンテンツを閉じる。終了するとき、開かれたコンテンツは、必ず、ライトクローズテープコマンドにより、閉じられなければならない。
【0168】
画像サーバプログラム86は、実際に書き込んだデータの量と<size>が等しいとき、ライトクローズテープコマンドの応答として、”Tape closed”をクライアントプログラム131に送信する。画像サーバプログラム86は、実際に書き込んだデータの量と<size>が等しくないため削除したとき、ライトクローズテープコマンドの応答として、”Close and Delete”をクライアントプログラム131に送信する。画像サーバプログラム86は、実際に書き込んだデータの量と<size>が等しくないとき、ライトクローズテープコマンドの応答として、”unmatch size”をクライアントプログラム131に送信する。
【0169】
リードSSGコマンドは、”ReadSSG <handle> <read bytes>”と記述される。<handle>は、再生されるコンテンツのハンドルを示す。ハンドルは、リードオープンテープコマンドで取得される。
【0170】
<read bytes>は、0乃至64のいずれかの値である、バイトを単位とする、読み出し要求サイズを示す。0が指定されたとき、画像サーバプログラム86は、送れるだけ送り続ける、いわゆる、Burstリードを実行する。
【0171】
リードSSGコマンドは、画像サーバプログラム86に、コンテンツの画像データをリードオープンテープコマンドで取得したポート<SSG port>介して、送信させるコマンドである。クライアントプログラム131は、リードSSGコマンドを実行する前に、画像サーバプログラム86とポート<SSG port>でコネクションを確立しなければならない。
【0172】
画像サーバプログラム86は、Burstリードのとき、リードSSGコマンドの応答として、何もクライアントプログラム131に送信しない。画像サーバプログラム86は、Burstリードでないとき、リードSSGコマンドの応答として、”MovieData:<handle> <size>”をクライアントプログラム131に送信する。<handle>は、ハンドルを示し、<size>は、実際にサーバ1が送信した画像データの量に対応するバイト数を示す。画像サーバプログラム86は、Burstリードのとき、およびBurstリードでないとき共に、リードSSGコマンドの応答として、転送するデータがない、またはコンテンツが最後まで送信されたことを示す”NoMoreData”をクライアントプログラム131に送信する。
【0173】
リードヘッドテイルSSGコマンドは、”ReadHeadTailSSG <handle> <size>”と記述される。<handle>は、コンテンツのハンドルを示す。ハンドルは、リードオープンテープコマンドで取得される。<size>は、バイトを単位とする、読み出し要求サイズを示す。
【0174】
リードヘッドテイルSSGコマンドは、コンテンツの先頭の、<size>で指定されたサイズのデータ、およびコンテンツの最後の、<size>で指定されたサイズのデータを取得するコマンドである。クライアントプログラム131は、リードヘッドテイルSSGコマンドを実行する前に、画像サーバプログラム86に<SSG port>で接続しなければならない。リードヘッドテイルSSGコマンドは、動画表示プログラムのレンダーの時間短縮のために使用される。
【0175】
画像サーバプログラム86は、リードヘッドテイルSSGコマンドの応答として、”HeadTailData:<handle > <size>*2”をクライアントプログラム131に送信する。<handle>は、ハンドルを示す。<size>は、実際にサーバ1が送信したデータの量に対応するバイト数を示す。
【0176】
シークSSGコマンドは、”SeekSSG <handle> <origin > <offset>”と記述される。<handle>は、コンテンツのハンドルを示す。ハンドルは、リードオープンテープコマンドで取得される。<origin>は、Seekするときに基準となる位置を示し、0は、先頭を示し、1は、現在位置を示し、2は、終端を示す。<offset>は、バイトを単位とする、移動量を示し、LONGLONG(signed 64bit integer)の範囲で指定することができる。
【0177】
シークSSGコマンドは、ファイルポインタを移動させるためのコマンドである。シークSSGコマンドは、Burstリード中であっても実行することができるが、送信済みのデータはキャンセルされない。従って、Burstリード中、通常、シークSSGコマンドは、ポーズSSGコマンド、およびレジュームSSGコマンドと組み合わせて使用される。
【0178】
画像サーバプログラム86は、シークSSGコマンドの応答として、”SeekEnd:<handle >”をクライアントプログラム131に送信する。<handle >は、コンテンツのハンドルを示す。
【0179】
ポーズSSGコマンドは、”PauseSSG <handle>”と記述される。<handle>は、コンテンツのハンドルを示す。ハンドルは、リードオープンテープコマンドで取得される。
【0180】
ポーズSSGコマンドは、Burstリードでの転送を一時停止させるためのコマンドである。ポーズSSGコマンドは、Burstリード中でないとき、無視される。
【0181】
画像サーバプログラム86は、ポーズSSGコマンドの応答として、”Pause:<handle>”をクライアントプログラム131に送信する。<handle>は、コンテンツのハンドルを示す。
【0182】
レジュームSSGコマンドは、”ResumeSSG <handle>”と記述される。<handle>は、コンテンツのハンドルを示す。ハンドルは、リードオープンテープコマンドで取得される。
【0183】
レジュームSSGコマンドは、ポーズSSGコマンドで中断された転送を再開させるためのコマンドである。
【0184】
画像サーバプログラム86は、レジュームSSGコマンドの応答として、”Resume:<handle>”をクライアントプログラム131に送信する。<handle>は、コンテンツのハンドルを示す。
【0185】
リードSSXコマンドは、”ReadSSX <handle> <read bytes>”と記述される。<handle>は、再生したいコンテンツのハンドルを示す。ハンドルは、リードオープンテープコマンドで取得される。<read bytes>は、0乃至64のいずれかの値である、バイトを単位とする、読み出し要求サイズを示す。0が指定されたとき、画像サーバプログラム86は、Burstリードを実行する。
【0186】
リードSSXコマンドは、画像サーバプログラム86に、コンテンツのインデックスデータがリードオープンテープコマンドで取得したポート<SSX port>を介して、送信させるコマンドである。クライアントプログラム131は、リードSSXコマンドを実行する前に、画像サーバプログラム86とポート<SSX port>でコネクションを確立しなければならない。
【0187】
画像サーバプログラム86は、Burstリードのとき、リードSSXコマンドの応答として、何もクライアントプログラム131に送信しない。画像サーバプログラム86は、Burstリードでないとき、リードSSXコマンドの応答として、”IndexData:<handle> <size>”をクライアントプログラム131に送信する。<handle>は、ハンドルを示し、<size>は、実際にサーバ1が送信したインデクスデータの量に対応するバイト数を示す。画像サーバプログラム86は、Burstリードのとき、およびBurstリードでないとき共に、リードSSXコマンドの応答として、転送するデータがない、またはインデクスデータが最後まで送信されたことを示す”NoMoreIndex”をクライアントプログラム131に送信する。
【0188】
シークSSXコマンドは、”SeekSSX <handle> <0,1 or 2> <offset>”と記述される。<handle>は、コンテンツのハンドルを示す。ハンドルは、リードオープンテープコマンドで取得される。<origin>は、Seekするときに基準となる位置を示し、0は、先頭を示し、1は、現在位置を示し、2は、終端を示す。<offset>は、バイトを単位とする、移動量を示し、LONGLONG(signed 64bit integer)の範囲で指定することができる。
【0189】
シークSSXコマンドは、ファイルポインタを移動するコマンドである。シークSSXコマンドは、Burstリード中であっても実行することができるが、送信済みのデータはキャンセルされない。従って、Burstリード中、通常、シークSSXコマンドは、ポーズSSXコマンド、およびレジュームSSXコマンドと組み合わせて使用される。
【0190】
画像サーバプログラム86は、シークSSXコマンドの応答として、SeekEnd:<handle>”をクライアントプログラム131に送信する。<handle>は、コンテンツのハンドルを示す。
【0191】
ポーズSSXコマンドは、”PauseSSX <handle>”と記述される。<handle>は、コンテンツのハンドルを示す。ハンドルは、リードオープンテープコマンドで取得される。
【0192】
ポーズSSXコマンドは、Burstリードでの転送を一時停止させるためのコマンドである。ポーズSSXコマンドは、Burstリード中でないとき、無視される。
【0193】
画像サーバプログラム86は、ポーズSSXコマンドの応答として、”Pause:<handle>”をクライアントプログラム131に送信する。<handle>は、コンテンツのハンドルを示す。
【0194】
ゲットピコバージョンコマンドは、”GetPicoVersion”と記述される。
【0195】
ゲットピコバージョンコマンドは、画像サーバプログラム86のバージョン番号を取得するためのコマンドである。画像サーバプログラム86は、実行ディレクトリと同じフォルダにある、所定のプログラムのバージョン番号を返す。
【0196】
画像サーバプログラム86は、ゲットピコバージョンコマンドの応答として、”PicoVersion:<version>”をクライアントプログラム131に送信する。<version>は、所定のプログラムのバージョンを示す。
【0197】
次に、サーバ1がテレビジョン放送の番組を受信し、受信している番組に対応するコンテンツをストリームとして、クライアントとしてのパーソナルコンピュータ2に送信するときの処理に関連するコマンドについて説明する。
【0198】
ここでは、サーバ1から、受信している番組に対応するコンテンツを取得するコマンド、およびコマンドの送信と独立したタイミングでストリームの受信中にサーバ1から送信されるメッセージ(以下、非同期メッセージと称する)について説明する。コンテンツの提供の処理において、サーバ1を使用している使用者、および、既にサーバ1に接続してストリームで提供されるコンテンツの画像を視聴している使用者がいる可能性があるということを注意すべきである。
【0199】
サーバ1は、常にコンテンツをストリームとして送信できる状態であるとは限らない。例えば、サーバ1を使用している使用者が、サーバ1に録画を実行させているとき、サーバ1は、クライアントプログラム131による、ストリームで提供されるコンテンツの要求を拒否する。また、同様に、クライアントプログラム131は、ストリームの受信中に、サーバ1から送信された「ストリームの送信を継続できない」旨を伝えるメッセージを受信することもある。非同期メッセージは、このように、現在のコンテンツの伝送の状態が変化するとき、サーバ1からストリームで提供されるコンテンツを受信している全てのクライアントプログラム131に送られるメッセージである。
【0200】
用意されているコマンドは、大きく次の2種類に分けられる。すなわち、コマンドは、コンテンツのストリームによる送信の開始に関するコマンド(LiveStart、LiveStop、LivePause、LiveResume、および[LiveResourceOwner]を含む)、およびチャンネルの変更に関するコマンド(LiveSelectCH、およびLiveQueryCHを含む)に分けられる。
【0201】
同様に、非同期メッセージも次の2つに大別される。すなわち、非同期メッセージは、コンテンツのストリームによる送信の継続に関するメッセージ(LiveLost、LiveAvailable、およびLiveErrorを含む)、およびチャンネル・音声モードの変更に関するメッセージ(ModeChange)に分けられる。
【0202】
次に、これらのコマンド、および非同期メッセージの具体的内容について説明する。
【0203】
ライブスタートコマンドは、”LiveStart <H|S|L>”と記述される。<H|S|L>は、ストリームにより送信されるコンテンツの画質を示し、Hは、「高画質」を示し、Sは、「標準」を示し、Lは、「長時間」を示す。
【0204】
ライブスタートコマンドは、画像サーバプログラム86に、ストリームによるコンテンツの送信を要求するコマンドである。コンテンツのストリームは、応答で取得されたポートを介して、画像サーバプログラム86からクライアントプログラム131に送信される。ライブスタートコマンドを実行すると、画像サーバプログラム86は、クライアントプログラム131に、所定のタイミングで、非同期メッセージを送信する。非同期メッセージは、ライブストップコマンドが実行されるまで、送信が継続される。
【0205】
画像サーバプログラム86は、ライブスタートコマンドの応答として、”Live:<H|S|L|I> <live handle> <port>”をクライアントプログラム131に送信する。<H|S|L|I>は、ストリームにより送信されるコンテンツの画質またはストリームの状態を示し、Hは、「高画質」を示し、Sは、「標準」を示し、Lは、「長時間」を示し、Iは、「LIVE送信不能」を示す。
【0206】
「LIVE送信不能」は、例えば、サーバ1が予約録画を実行しているなど、既にハードウェアリソースが占有されているため、サーバ1が、ストリームによりコンテンツを送信できないことを示す。
【0207】
<live handle>は、ハンドルを示す。ハンドルは、ストリームによるコンテンツの送信のコマンドを実行するために必要な識別子である。<port>は、サーバ1がストリームによりコンテンツを送信するポートの番号を示す。
【0208】
ライブストップコマンドは、”LiveStop<handle>”と記述される。<handle>は、ライブスタートコマンドまたはライブレジュームコマンドで取得された、ストリームにより送信されるコンテンツを識別するハンドルである。
【0209】
ライブストップコマンドは、ライブスタートコマンド、またはライブレジュームコマンドで開始または再開されたストリームの受信を終了するためのコマンドである。ライブストップコマンドの実行の後、画像サーバプログラム86は、非同期メッセージの送信を停止する。
【0210】
画像サーバプログラム86は、ライブストップコマンドの応答として、”Live End”をクライアントプログラム131に送信する。
【0211】
ライブポーズコマンドは、”LivePause <live handle>”と記述される。<handle>は、ライブスタートコマンドまたはライブレジュームコマンドで取得された、ストリームにより送信されるコンテンツを識別するハンドルである。
【0212】
ライブポーズコマンドは、サーバ1に、ストリームの送信の一時停止を要求するコマンドである。
【0213】
画像サーバプログラム86は、ライブポーズコマンドの応答として、”Live Pause”をクライアントプログラム131に送信する。
【0214】
ライブレジュームコマンドは、”LiveResume <live handle>”と記述される。<live handle>は、ライブスタートコマンドまたはライブレジュームコマンドで取得された、ストリームにより送信されるコンテンツを識別するハンドルである。
【0215】
ライブレジュームコマンドは、ライブポーズコマンドで一時停止されたストリームの送信の再開を要求するコマンドである。
【0216】
画像サーバプログラム86は、ライブレジュームコマンドの応答として、新たなストリームの送受信用のハンドル、およびポートを取得する。これ以前に使用していたハンドルは、この時点で無効となる。
【0217】
画像サーバプログラム86は、ライブレジュームコマンドの応答として、”Live Resume:<H|S|L|I> <live handle> <port>”をクライアントプログラム131に送信する。<H|S|L|I>は、ストリームにより送信されるコンテンツの画質またはストリームの状態を示し、Hは、「高画質」を示し、Sは、「標準」を示し、Lは、「長時間」を示し、Iは、「LIVE送信不能」を示す。<live handle>は、ハンドルを示す。ハンドルは、ストリームによるコンテンツの送信のコマンドを実行するために必要な識別子である。<port>は、サーバ1がストリームによりコンテンツを送信するポートの番号を示す。
【0218】
ライブリソースオーナコマンドは、”LiveResourceOwner”と記述される。
【0219】
ライブリソースオーナコマンドは、ストリームによるコンテンツの伝送に失敗したとき、または、ストリームが中断されたとき、原因を取得するためのコマンドである。
【0220】
ライブセレクトチャンネルコマンドは、”LiveSelectCH <live handle> CH=<channel caption>”と記述される。<live handle>は、ライブスタートコマンドまたはライブレジュームコマンドで取得された、ストリームにより送信されるコンテンツを識別するハンドルである。<channel caption>は、チャンネルを識別する文字列である。<channel caption>には、ゲットチャンネルコマンドで取得されたチャンネル名を指定する。
【0221】
ライブセレクトチャンネルコマンドは、ストリームによりコンテンツとして送信される、テレビジョン放送の番組のチャンネルを変更するコマンドである。
【0222】
画像サーバプログラム86は、ライブセレクトチャンネルコマンドの応答として、”Live SelectCH”をクライアントプログラム131に送信する。
【0223】
ライブクエリCHコマンドは、”LiveQueryCH <live handle>”と記述される。<live handle>は、ライブスタートコマンドまたはライブレジュームコマンドで取得された、ストリームにより送信されるコンテンツを識別するハンドルである。
【0224】
ライブクエリCHコマンドは、ストリームによりコンテンツとして送信される、テレビジョン放送の番組のチャンネルを問い合わせるコマンドである。
【0225】
画像サーバプログラム86は、ライブクエリCHコマンドの応答として、”Channel:<audio mode > CH=<channel caption>”をクライアントプログラム131に送信する。<audio mode>は、ストリームの音声モードを示し、0は、モノラルを示し、1は、ステレオを示し、2は、2カ国語を示す。<channel caption>は、チャンネル名を示す。
【0226】
ライブロストメッセージは、ストリーム送信が継続できず、中断することを知らせる、”LiveLost:<cause>”で記述される非同期メッセージである。<cause>は、ストリームの伝送が継続できない原因を示す。
【0227】
クライアントプログラム131は、ライブロストメッセージを受信したとき、ライブポーズコマンド、またはライブストップコマンドを発行しなければならない。
【0228】
ライブアベイラブルメッセージは、中断していたストリームの送信が再開可能であることを知らせる、”LiveAvailable”で記述される非同期メッセージである。ライブアベイラブルメッセージを受信したとき、クライアントプログラム131は、ライブレジュームコマンドを画像サーバプログラム86に送信し、ストリームの受信を再開することができる。
【0229】
ライブエラーメッセージは、サーバ1に何らかのエラーが発生したためストリームの送信が継続できず、終了することを知らせる、”LiveError:<cause>”で記述される非同期メッセージである。<cause>は、ストリームの送信が継続できない原因を示す。
【0230】
クライアントプログラム131は、ライブエラーメッセージを受信したとき、ライブストップコマンドを発行し、ストリームの受信を終了しなければならない。
【0231】
モードチェンジメッセージは、現在視聴中のストリームの音声モードまたはチャンネルが変更されたことを知らせる、”ModeChange:<pos> <audio mode> CH=<channel caption>”で記述される非同期メッセージである。<pos>は、単位を100ミリ秒とする、変更された時刻(例えば、MPEGストリームのPTS(Presentation Time Stamp)に相当する時刻)を示す。<audio mode>は、ストリームの音声モードを示し、0は、モノラルを示し、1は、ステレオを示し、2は、2カ国語を示す。<channel caption>は、チャンネル名を示す。
【0232】
次に、チャットサーバプログラム87またはチャットプログラム132が送信または受信する、チャットに関するコマンドおよびメッセージについて説明する。ここでは、サーバ1に接続中の使用者同士がチャットを行うためのコマンドについて説明する。チャットの機能には制限が存在し、使用者が相手のパーソナルコンピュータ2を指定して文字列を送信することはできない。送信した文字列は、チャットすることができる全てのパーソナルコンピュータ2にブロードキャストされる。チャットの機能により送信された文字列は、実行したコマンドの応答とは別に、サーバ1からクライアントとしてのパーソナルコンピュータ2に非同期に送信される。
【0233】
チャットアクティブコマンドは、”ChatActive”と記述される。
【0234】
チャットアクティブコマンドは、チャットの機能を有効にするためのコマンドである。チャットの機能を有効にしているパーソナルコンピュータ2は、他のパーソナルコンピュータ2とチャットすることができる。チャットでメッセージを送信するとき、チャットコマンドが実行される。チャットコマンドを用いて送信したメッセージは、サーバ1から、自分自身にも送信される。
【0235】
チャットサーバプログラム87は、チャットアクティブコマンドの応答として、”ChatActive”をチャットプログラム132に送信する。チャットサーバプログラム87は、これ以後、チャットメッセージ”ChatUser:<user num>”および”Chat:<message>”をチャットプログラム132に送信する。<user num>は、チャットの機能を有効にしているクライアントの数を示す。<message>は、チャットメッセージを示す。
【0236】
チャットコマンドは、”Chat <message strings>”と記述される。<message strings>は、文字列からなる、送信するメッセージを示す。
【0237】
チャットコマンドは、チャットの機能が有効な全てのクライアントにチャットメッセージを送信する。チャットコマンドを実行する前にチャットアクティブコマンドを実行してチャットの機能を有効にしなければならない。送信したチャットメッセージは、チャット非同期メッセージとして、自分自身にも送信される。
【0238】
チャットメッセージは、チャットを有効にしているクライアントがメッセージを送信したことを知らせる、”Chat <message strings>”で記述される非同期メッセージである。<message strings>は、文字列からなる、送信されたメッセージを示す。チャットコマンドで送信したメッセージは、この非同期メッセージにより、自分自身にも送信される。
【0239】
次に、クライアントであるパーソナルコンピュータ2が、ネットワーク3を介して、サーバ1に接続し、サーバ1から放送されている番組に対応するコンテンツを受信するときの処理について説明する。
【0240】
図7は、クライアントプログラム131を最初に起動させたときに、クライアントプログラム131が表示部110に表示させる、接続するサーバ1を選択するためのダイアログボックスの例を示す図である。
【0241】
接続するサーバ1を選択するためのダイアログボックスには、接続するサーバ1の名前を入力するためのコンボボックス151、パスワードを入力するためのテキストボックス152、および、次回に起動したとき、自動的にサーバ1に接続するか否かを設定するためのチェックボックス153などが配置されている。
【0242】
図8に示すように、コンボボックス151の右側に配置されている矢印がクリックされたとき、表示部110に表示されるダイアログボックスの例を示す図である。
【0243】
クライアントプログラム131は、コンボボックス151の下側に、パーソナルコンピュータ2が接続できるサーバ1−1乃至1−Mの名前をリストに表示する。サーバ1−1乃至1−Mの名前は、上述したコマンドの実行により、クライアントプログラム131に取得される。
【0244】
例えば、図8に示す例において、名前”NABE7310”は、サーバ1−1に対応し、名前”naber1”は、サーバ1−2に対応し、名前”CARBON”は、サーバ1−3に対応し、名前”NABERX52”は、サーバ1−4に対応する。
【0245】
例えば、コンボボックス151のリストから名前”NABE7310”が選択され、テキストボックス152に所定のパスワードが入力され、ダイアログボックスの”接続”と名前が付されたボタンがクリックされたとき、クライアントプログラム131は、ネットワーク3を介して、サーバ1−1に接続し、所定のチャンネルの番組に対応する画像データまたは音声データであるコンテンツを受信する。
【0246】
図9は、クライアントプログラム131が、サーバ1−1から受信した、所定のチャンネルの番組に対応する画像データまたは音声データであるコンテンツを基に、表示部110に表示させるウィンドウの例を示す図である。クライアントプログラム131は、表示部110に、サーバ1−1から受信した、所定のチャンネルの番組に対応する画像と共に、チャンネルを選択するためのボタン、または音量を調整するためのボタンを表示させる。
【0247】
図10に示すように、接続するサーバ1を選択するためのダイアログボックスのチェックボックス153がチェックされて、”接続”と名前が付されたボタンがクリックされたとき、クライアントプログラム131は、自動接続フラグに、自動的にサーバ1に接続する旨を示す値を設定する。
【0248】
図11は、自動的にサーバ1に接続しない旨を示す値が自動接続フラグに設定されているとき、クライアントプログラム131が実行する、サーバ1との接続の処理を説明する図である。
【0249】
クライアントプログラム131は、自動的にサーバ1に接続しない旨を示す値が自動接続フラグに設定されているとき、起動された場合、表示部110に、接続するサーバ1を選択するためのダイアログボックスを表示させる。クライアントプログラム131は、ダイアログボックスに設定されたサーバ1の名前およびパスワードを基に、選択されたサーバ1に接続し、接続されたサーバ1から受信した、所定のチャンネルの番組に対応する画像を、表示部110に表示させると共に、番組に対応する音声を、スピーカ113に再生させる。
【0250】
図12は、自動的にサーバ1に接続する旨を示す値が自動接続フラグに設定されているとき、クライアントプログラム131が実行する、サーバ1との接続の処理を説明する図である。
【0251】
クライアントプログラム131は、予め記憶しているサーバ1の名前およびパスワードを基に、記憶している名前に対応するサーバ1に接続し、接続されたサーバ1から受信した、所定のチャンネルの番組に対応する画像を、表示部110に表示させると共に、番組に対応する音声を、スピーカ113に再生させる。
【0252】
自動的にサーバ1に接続する旨を示す値が自動接続フラグに設定されているとき、クライアントプログラム131は、接続するサーバ1を選択するためのダイアログボックスを表示させない。
【0253】
図13に示すように、設定のメニューから、”自動接続の解除”のコマンドが選択されたとき、クライアントプログラム131は、自動的にサーバ1に接続しない旨を示す値を自動接続フラグに設定する。
【0254】
図14は、接続するサーバ1を選択するためのダイアログボックスの”接続”と名前が付されたボタンがクリックされたときに実行される、接続データの記憶の処理を説明するフローチャートである。
【0255】
ステップS11において、クライアントプログラム131は、ダイアログボックスから、サーバ1に接続するための設定を取得する。例えば、クライアントプログラム131は、ダイアログボックスのコンボボックス151から接続するサーバ1の名前を取得し、ダイアログボックスのテキストボックス152からパスワードを取得し、ダイアログボックスのチェックボックス153から、自動的にサーバ1に接続するか否かの設定を取得する。
【0256】
ステップS12において、クライアントプログラム131は、取得したチェックボックス153の設定を基に、自動的にサーバ1に接続する旨の設定がされているか否かを判定し、自動的にサーバ1に接続する旨の設定がされていると判定された場合、サーバ1に自動的に接続するために必要なデータを記憶する必要があるので、ステップS13に進み、ダイアログボックスのコンボボックス151から取得した、サーバ1の名前を接続データとして記憶する。
【0257】
ステップS14において、クライアントプログラム131は、ダイアログボックスのテキストボックス152から取得した、パスワードを接続データとして記憶する。
【0258】
ステップS15において、クライアントプログラム131は、接続データの自動接続フラグに、自動的にサーバ1に接続する旨を設定する。
【0259】
ステップS16において、クライアントプログラム131は、表示部110に表示されているメニューのコマンドの選択またはボタンのクリックなどの操作を基に、使用者により、クライアントプログラム131自身の終了が要求されたか否かを判定し、クライアントプログラム131自身の終了が要求されていないと判定された場合、ステップS16に戻り、クライアントプログラム131自身の終了が要求されるまで、判定の処理を繰り返す。
【0260】
ステップS16において、クライアントプログラム131自身の終了が要求されたと判定された場合、ステップS17に進み、クライアントプログラム131は、サーバ1から受信しているコンテンツに対応する番組のチャンネルを示すデータを接続データとして記憶し、処理は終了する。クライアントプログラム131が終了したとき、接続データとして、例えば、自動接続フラグ、サーバ1の名前、パスワード、およびチャンネルを示すデータが記憶される。接続データには、ネットワーク3における、サーバ1への接続経路など、サーバ1の接続に必要な他のデータを記憶するようにしてもよい。
【0261】
ステップS12において、自動的にサーバ1に接続する旨の設定がされていないと判定された場合、サーバ1に自動的に接続するために必要なデータを記憶する必要がないので、サーバ1の名前、およびパスワードを記憶しないで、ステップS18に進み、クライアントプログラム131は、接続データの自動接続フラグに、自動的にサーバ1に接続しない旨を設定し、処理は終了する。
【0262】
このように、クライアントプログラム131は、自動接続フラグに、自動的にサーバ1に接続するか否かを設定すると共に、自動接続フラグに、自動的にサーバ1に接続すると設定されたとき、接続データとして、サーバ1に自動的に接続するために必要なデータである、サーバ1の名前、およびパスワードを記憶する。
【0263】
図15は、クライアントプログラム131による、サーバ1への接続の処理を説明するフローチャートである。
【0264】
ステップS31において、クライアントプログラム131は、図15のフローチャートを参照して説明した処理で記憶されている接続データを読み出す。ステップS32において、クライアントプログラム131は、接続データの自動接続フラグに、自動的にサーバ1に接続する旨が設定されているか否かを判定し、自動的にサーバ1に接続する旨が設定されていると判定された場合、ステップS33に進み、接続データに含まれる、サーバ1の名前およびパスワードを基に、ネットワーク3を介して、名前に対応するサーバ1に接続する。
【0265】
ステップS34において、クライアントプログラム131は、接続データに含まれるチャンネルを示すデータを基に、サーバ1に、記憶されているチャンネルへの変更を要求し、ステップS35に進む。
【0266】
ステップS35において、クライアントプログラム131は、サーバ1から送信される、コンテンツである、所定のチャンネルの番組に対応する画像データおよび音声のデータを受信する。
【0267】
ステップS36において、クライアントプログラム131は、受信したコンテンツを基に、画像を表示し、音声を出力する。すなわち、クライアントプログラム131は、表示部110に、番組の画像を表示させ、スピーカ113に、番組の音声を再生させ、処理は終了する。
【0268】
一方、ステップS32において、自動的にサーバ1に接続しない旨が設定されていると判定された場合、接続データを基に、サーバ1に接続しないで、ダイアログボックスに設定されたデータを基に、サーバ1に接続するので、クライアントプログラム131は、表示部110にダイアログボックスを表示させる。
【0269】
ステップS38において、クライアントプログラム131は、ダイアログボックスのコンボボックス151から、サーバ1の名前を取得すると共に、ダイアログボックスのテキストボックス152から、パスワードを取得する。
【0270】
ステップS39において、クライアントプログラム131は、取得したサーバ1の名前およびパスワードを基に、所定のサーバ1に接続し、ステップS35に進み、画像データおよび音声データの受信を実行する。
【0271】
このように、クライアントプログラム131は、接続データの自動接続フラグに、自動的にサーバ1に接続する旨が設定されているとき、接続データのサーバ1の名前およびパスワードを基に、所定のサーバ1に接続すると共に、接続したサーバ1に、所定のチャンネルへの変更を要求することができる。従って、面倒なダイアログボックスへの設定をすることなく、使用者は、所望のサーバに接続し、所定のチャンネルの番組を視聴することができる。
【0272】
次に、サーバ1に接続したときの、チャットプログラム132の起動の処理を説明する。
【0273】
図16に示すように、クライアントであるパーソナルコンピュータ2−1が、ネットワーク3を介して、サーバ1から、所定のチャンネルの番組に対応するコンテンツを受信しているとき、図17に示すように、クライアントであるパーソナルコンピュータ2−2が、ネットワーク3を介して、番組に対応するコンテンツを受信を開始するように、サーバ1に接続した場合、図18に示すように、パーソナルコンピュータ2−1において、チャットプログラム132−1が起動される。
【0274】
さらに、パーソナルコンピュータ2−2において、チャットプログラム132−2が起動される。
【0275】
図19に示すように、パーソナルコンピュータ2−1のチャットプログラム132−1は、パーソナルコンピュータ2−1の使用者のキーボード108−1の操作に対応して入力されたテキスト、およびサーバ1のチャットサーバプログラム87から受信した、パーソナルコンピュータ2−2のチャットプログラム132−2により取得されたテキストを、表示部110−1に表示させる。同様に、パーソナルコンピュータ2−2のチャットプログラム132−2は、パーソナルコンピュータ2−2の使用者のキーボード108−2の操作に対応して入力されたテキスト、およびサーバ1のチャットサーバプログラム87から受信した、パーソナルコンピュータ2−1のチャットプログラム132−1により取得されたテキストを、表示部110−2に表示させる。
【0276】
図20および図21は、パーソナルコンピュータ2−1のチャットプログラム132−1の起動、およびパーソナルコンピュータ2−2のチャットプログラム132−2の起動の処理を説明する図である。
【0277】
図20に示すように、パーソナルコンピュータ2−2のクライアントプログラム131−2が、サーバ1の画像サーバプログラム86に接続を要求したとき、サーバ1の画像サーバプログラム86は、他のクライアントに所定のチャンネルの番組に対応するコンテンツを既に提供しているか否かを判定する。
【0278】
他のクライアントに所定のチャンネルの番組に対応するコンテンツを既に提供していると判定された場合、サーバ1の画像サーバプログラム86は、既にコンテンツを提供しているクライアント、例えば、パーソナルコンピュータ2−1のクライアントプログラム131−1に、チャットプログラム132−1の起動要求を送信する。さらに、他のクライアントに所定のチャンネルの番組に対応するコンテンツを既に提供していると判定された場合、サーバ1の画像サーバプログラム86は、接続を要求したクライアントであるパーソナルコンピュータ2−2のクライアントプログラム131−2に、チャットプログラム132−2の起動要求を送信する。
【0279】
他のクライアントに所定のチャンネルの番組に対応するコンテンツを既に提供していると判定された場合、サーバ1の画像サーバプログラム86は、チャットサーバプログラム87に、パーソナルコンピュータ2−1のクライアントプログラム131−1にチャットプログラム132−1の起動を要求し、およびパーソナルコンピュータ2−2のクライアントプログラム131−2にチャットプログラム132−2の起動を要求した旨を通知する。
【0280】
このようにして、図21に示すように、パーソナルコンピュータ2−1のクライアントプログラム131−1は、チャットプログラム132−1を起動させ、パーソナルコンピュータ2−2のクライアントプログラム131−2は、チャットプログラム132−2を起動させる。
【0281】
チャットプログラム132−1およびクライアントプログラム131−2は、サーバ1のチャットサーバプログラム87を介して、チャットを実行することができる。
【0282】
図22は、サーバ1の画像サーバプログラム86による、パーソナルコンピュータ2のチャットプログラム132の起動要求の処理を説明するフローチャートである。
【0283】
ステップS51において、画像サーバプログラム86は、自分自身への接続の要求がされたか否かを判定し、自分自身への接続の要求がされていないと判定された場合、ステップS51に戻り、自分自身への接続の要求がされるまで、判定の処理を繰り返す。
【0284】
ステップS51において、自分自身への接続の要求がされたと判定された場合、ステップS52に進み、画像サーバプログラム86は、他のクライアントが接続されているか否かを判定する。ステップS52において、他のクライアントが接続されていると判定された場合、ステップS51において接続を要求したクライアントを含めて2つ以上のクライアントが画像サーバプログラム86に接続されるので、ステップS53に進み、画像サーバプログラム86は、ステップS51において接続を要求したクライアントを含めて2つ以上のクライアントのそれぞれに対して、チャットプログラム132の起動を要求する。
【0285】
ステップS54において、画像サーバプログラム86は、接続を要求したクライアントを含めて2つ以上のクライアントのそれぞれに対して、チャットプログラム132の起動を要求したことを、チャットサーバプログラム87に通知し、処理は終了する。
【0286】
ステップS52において、他のクライアントが接続されていないと判定された場合、ステップS51において接続を要求したクライアントのみが画像サーバプログラム86に接続され、チャットをすることができないので、ステップS53およびステップS54の処理はスキップされ、処理は終了する。
【0287】
このように、画像サーバプログラム86は、2つ以上のクライアントから接続が要求されたとき、それぞれのクライアントに対して、チャットプログラム132の起動を要求すると共に、チャットサーバプログラム87に起動を要求したことを通知する。
【0288】
図23は、クライアントであるパーソナルコンピュータ2のクライアントプログラム131による、画像サーバプログラム86への接続の処理を説明するフローチャートである。
【0289】
ステップS61において、パーソナルコンピュータ2のクライアントプログラム131は、ネットワーク3を介して、サーバ1の画像サーバプログラム86に接続を要求する。
【0290】
ステップS62において、パーソナルコンピュータ2のクライアントプログラム131は、サーバ1の画像サーバプログラム86から、チャットプログラム132の起動が要求されたか否かを判定し、画像サーバプログラム86から、チャットプログラム132の起動が要求されたと判定された場合、ステップS63に進み、チャットプログラム132を起動させ、処理は終了する。
【0291】
ステップS62において、画像サーバプログラム86から、チャットプログラム132の起動が要求されていないと判定された場合、チャットプログラム132を起動させる必要はないので、クライアントプログラム131は、チャットプログラム132を起動させずに、処理は終了する。
【0292】
このように、クライアントプログラム131は、画像サーバプログラム86に接続を要求したとき、画像サーバプログラム86の要求に対応して、チャットプログラム132を起動させる。このようにすることで、離れた場所にあるクライアントを使用している使用者は、同一のコンテンツを視聴しながら、コミュニケーションをはかることができる。
【0293】
なお、画像サーバプログラム86およびチャットサーバプログラム87は、1つのサーバ1において実行されると説明したが、画像サーバプログラム86およびチャットサーバプログラム87のそれぞれを異なるサーバが実行するようにしてもよい。この場合において、チャットプログラム132は、起動されたとき、画像サーバプログラム86を実行しているサーバとは異なるサーバであって、チャットサーバプログラム87を実行しているサーバに接続する。
【0294】
また、チャットプログラム132は、画像サーバプログラム86のチャットプログラム132の起動要求に対応して、起動されると説明したが、予め起動するようにしてもよい。この場合において、例えば、クライアントプログラム131は、チャットプログラム132をアクティブにすることができる。
【0295】
次に、画像サーバプログラム86が、クライアントであるパーソナルコンピュータ2毎に、優先順位を設定し、所定の優先順位が設定されているクライアントからのチャンネルの変更のみを受け付ける処理について説明する。
【0296】
図24は、画像サーバプログラム86が記憶している、クライアント毎の優先順位のデータの例を示す図である。図24に示す優先順位のデータの例において、クライアント名と優先順位とが対応付けられている。
【0297】
例えば、図24に示す”AAA”は、パーソナルコンピュータ2−1に対応し、”BBB”は、パーソナルコンピュータ2−2に対応し、”CCC”は、パーソナルコンピュータ2−3に対応する。
【0298】
例えば、図24に示す例の、クライアント名に対応する優先順位において、”1”は、チャンネルの変更の要求を受け付ける旨を示し、”2”は、チャンネルの変更の要求を受け付けない旨を示す。以下、”1”に対応する優先順位を、優先順位が高いとも称し、”2”に対応する優先順位を、優先順位が低いとも称する。
【0299】
例えば、パーソナルコンピュータ2−1が最初に画像サーバプログラム86に接続したとき、画像サーバプログラム86は、パーソナルコンピュータ2−1の名前と、チャンネルの変更の要求を受け付ける旨の優先順位とを対応付ける。2台目以降のパーソナルコンピュータ2−2が画像サーバプログラム86に接続したとき、画像サーバプログラム86は、パーソナルコンピュータ2−2の名前と、チャンネルの変更の要求を受け付けない旨の優先順位とを対応付ける。
【0300】
画像サーバプログラム86は、パーソナルコンピュータ2−1からチャンネルの変更の要求がされたとき、要求に従ってチャンネルを変更し、パーソナルコンピュータ2−2または2−3からチャンネルの変更が要求されたとき、要求を受け付けず、チャンネルを変更しない。
【0301】
図25は、画像サーバプログラム86による、チャンネルの変更の処理を説明するフローチャートである。
【0302】
ステップS71において、画像サーバプログラム86は、ネットワーク3を介して、パーソナルコンピュータ2から送信されるデータを基に、パーソナルコンピュータ2からチャンネルの変更が要求されたか否かを判定し、パーソナルコンピュータ2からチャンネルの変更が要求されていないと判定された場合、ステップS71に戻り、判定の処理を繰り返す。
【0303】
ステップS71において、パーソナルコンピュータ2からチャンネルの変更が要求されたと判定された場合、ステップS72に進み、画像サーバプログラム86は、ネットワーク3を介して、パーソナルコンピュータ2から送信されるコマンドを基に、クライアントであるパーソナルコンピュータの名前を取得する。
【0304】
ステップS73において、画像サーバプログラム86は、取得したパーソナルコンピュータの名前を基に、予め記憶しているクライアント毎の優先順位のデータから、クライアントの優先順位を取得する。
【0305】
ステップS74において、画像サーバプログラム86は、取得したクライアントの優先順位を基に、チャンネルの変更の要求が受け付けられるか否かを判定し、例えば、図24に示すように、優先順位が”1”とされ、チャンネルの変更の要求が受け付けられると判定された場合、ステップS75に進み、クライアントからのチャンネルの変更の要求に対応して、チャンネルを変更して、処理は終了する。
【0306】
一方、ステップS74において、例えば、図24に示すように、優先順位が”2”とされ、チャンネルの変更の要求が受け付けられないと判定された場合、チャンネルを変更してはならないので、チャンネルを変更しないで、処理は終了する。
【0307】
このように、画像サーバプログラム86は、優先順位のデータを基に、所定の優先順位が対応づけられたクライアントからの要求のみを受け付けて、チャンネルを変更し、他の優先順位が対応付けられたクライアントから要求されても、チャンネルを変更しない。
【0308】
図26は、画像サーバプログラム86による、優先順位の変更の処理を説明するフローチャートである。
【0309】
ステップS81において、画像サーバプログラム86は、ネットワーク3を介して、送信されたデータを基に、クライアントであるパーソナルコンピュータ2から、優先順位を上げる処理が要求されたか否かを判定し、優先順位を上げる処理が要求されていないと判定された場合、ステップS81に戻り、優先順位を上げる処理が要求されるまで、判定の処理を繰り返す。
【0310】
ステップS81において、優先順位を上げる処理が要求されたと判定された場合、ステップS82に進み、画像サーバプログラム86は、優先順位の高いクライアントに、優先順位の変更の許可を求める。例えば、画像サーバプログラム86は、優先順位のデータから優先順位が”1”であるクライアントを検索し、優先順位が”1”であるクライアントに優先順位変更の許可を求める。
【0311】
ステップS83において、画像サーバプログラム86は、優先順位の変更の許可を求めたクライアントからの返事を基に、優先順位の変更が許可されたか否かを判定し、優先順位の変更が許可されたと判定された場合、優先順位を上げる処理を要求したクライアントの優先順位を高くし、優先順位の変更を許可したクライアントの順位を低くするように、優先順位のデータを変更して、処理は終了する。例えば、図24において、クライアント”AAA”に対応する優先順位は、”2”とされ、クライアント”BBB”に対応する優先順位は、”1”とされる。
【0312】
ステップS83において、優先順位の変更が許可されないと判定された場合、優先順位を変更することはできないので、画像サーバプログラム86は、優先順位のデータを変更しないで、処理は終了する。
【0313】
このように、優先順位の高いクライアントから許可されたとき、画像サーバプログラム86は、クライアントからの要求に対応して、優先順位のデータを変更する。
【0314】
なお、クライアントの全てが、チャンネルの変更を要求できるようにしてもよい。
【0315】
図27は、クライアントがサーバ1の画像サーバプログラム86のバージョンを取得し、バージョンに対応する機能に基づいて、サーバ1を選択する処理を説明する図である。
【0316】
クライアントであるパーソナルコンピュータ2のクライアントプログラム131は、ネットワーク3を介して、サーバ1−1の画像サーバプログラム86−1にバージョンの通知を要求する。サーバ1−1の画像サーバプログラム86−1は、クライアントプログラム131の要求に対応して、ネットワーク3を介して、クライアントプログラム131に、画像サーバプログラム86−1のバージョンを通知する。
【0317】
クライアントプログラム131は、画像サーバプログラム86−1から受信した、画像サーバプログラム86−1のバージョンを基に、予め記憶している機能データ181を参照して、画像サーバプログラム86−1の機能を認識する。
【0318】
画像サーバプログラム86−1の機能は、例えば、コンテンツを記録し、記録しているコンテンツをファイルとして提供する機能、所定のチャンネルの番組を受信し、ストリームとして番組に対応するコンテンツを提供する機能、または記録している1つのコンテンツを複数の種類のストリームとして個々のクライアントに提供する機能などである。複数の種類のストリームは、例えば、低ビットレートストリームおよび高ビットレートストリーム、または、MPEG1およびMPEG2などの、異なる符号化方式のストリームなどである。
【0319】
同様に、パーソナルコンピュータ2のクライアントプログラム131は、ネットワーク3を介して、サーバ1−2の画像サーバプログラム86−2にバージョンの通知を要求する。サーバ1−2の画像サーバプログラム86−2は、クライアントプログラム131の要求に対応して、ネットワーク3を介して、クライアントプログラム131に、画像サーバプログラム86−2のバージョンを通知する。
【0320】
クライアントプログラム131は、画像サーバプログラム86−2から受信した、画像サーバプログラム86−2のバージョンを基に、予め記憶している機能データ181を参照して、画像サーバプログラム86−2の機能を認識する。
【0321】
図28は、機能データ181の例を示す図である。
【0322】
機能データ181は、画像サーバプログラム86のバージョン、およびバージョンに対応する機能の名前を格納している。
【0323】
例えば、図28に示す例において、画像サーバプログラム86の”1”であるバージョンに対して、”記録”である機能の名前が格納されている。”記録”である機能の名前は、コンテンツを記録し、記録しているコンテンツをファイルとして提供する機能を示す。
【0324】
例えば、画像サーバプログラム86の”2”であるバージョンに対して、”記録”および”チューナ”である機能の名前が格納されている。”チューナ”である機能の名前は、所定のチャンネルの番組を受信し、ストリームとして番組に対応するコンテンツを提供する機能を示す。すなわち、”2”であるバージョンの画像サーバプログラム86は、コンテンツを記録し、記録しているコンテンツをファイルとして提供するか、または、所定のチャンネルの番組を受信し、ストリームとして番組に対応するコンテンツを提供することができる。”2”であるバージョンの画像サーバプログラム86は、コンテンツをストリームとして提供できるので、記録しているコンテンツをストリームとしてクライアントに提供することができる。
【0325】
また、例えば、画像サーバプログラム86の”3”であるバージョンに対して、”記録”、”チューナ”、”複数ストリーム”である機能の名前が格納されている。”複数ストリーム”である機能の名前は、記録している1つのコンテンツを複数の種類のストリームとして個々のクライアントに提供する機能を示す。すなわち、”3”であるバージョンの画像サーバプログラム86は、コンテンツを記録し、記録しているコンテンツをファイルとして提供するか、所定のチャンネルの番組を受信し、ストリームとして番組に対応するコンテンツを提供するか、または、記録している1つのコンテンツを複数の種類のストリームとして個々のクライアントに提供することができる。
【0326】
このように、クライアントプログラム131は、画像サーバプログラム86から受信したバージョンを基に、画像サーバプログラム86の機能を認識し、画像サーバプログラム86の機能に基づいて、複数のサーバ1のうち、1つのサーバ1を選択することができる。
【0327】
図29は、クライアントプログラム131を実行するパーソナルコンピュータ2および画像サーバプログラム86を実行するサーバ1による、画像であるコンテンツの送受信の処理を説明するフローチャートである。
【0328】
ステップS1001において、パーソナルコンピュータ2のクライアントプログラム131は、ネットワーク3を介して、サーバ1−1の画像サーバプログラム86−1およびサーバ1−2の画像サーバプログラム86−2にバージョン要求を送信する。クライアントプログラム131は、バージョン要求をブロードキャストするようにしてもよい。
【0329】
ステップS2001において、サーバ1−1の画像サーバプログラム86−1は、パーソナルコンピュータ2から送信された、バージョン要求を受信する。ステップS2002において、画像サーバプログラム86−1は、自分自身のバージョンを示すデータを、ネットワーク3を介して、パーソナルコンピュータ2に送信する。
【0330】
ステップS1002において、クライアントプログラム131は、ネットワーク3を介して、サーバ1−1から送信された、画像サーバプログラム86−1のバージョンを示すデータを受信する。
【0331】
ステップS3001において、サーバ1−2の画像サーバプログラム86−2は、パーソナルコンピュータ2から送信された、バージョン要求を受信する。ステップS3002において、画像サーバプログラム86−2は、自分自身のバージョンを示すデータを、ネットワーク3を介して、パーソナルコンピュータ2に送信する。
【0332】
ステップS1003において、クライアントプログラム131は、ネットワーク3を介して、サーバ1−2から送信された、画像サーバプログラム86−2のバージョンを示すデータを受信する。
【0333】
ステップS1004において、クライアントプログラム131は、ステップS1002およびステップS1003の処理により取得した、バージョンを示すデータおよび機能データ181を基に、サーバ1毎の機能の名前を取得する。すなわち、クライアントプログラム131は、画像サーバプログラム86−1のバージョンを示すデータを基に、機能データ181の内容を検索し、画像サーバプログラム86−1のバージョンに対応する機能の名前を取得する。クライアントプログラム131は、画像サーバプログラム86−2のバージョンを示すデータを基に、機能データ181の内容を検索し、画像サーバプログラム86−2のバージョンに対応する機能の名前を取得する。
【0334】
ステップS1005において、クライアントプログラム131は、取得したサーバ1−1の機能の名前およびサーバ1−2の機能の名前を基に、接続するサーバ1を選択する。クライアントプログラム131は、提供を所望するサービスの内容を基に、サーバ1を選択できる。すなわち、例えば、テレビジョン放送の所定のチャンネルの番組の再生を所望するとき、クライアントプログラム131は、所定のチャンネルの番組を受信し、ストリームとして番組に対応するコンテンツを提供する機能を有するサーバ1を選択する。
【0335】
ステップS1006において、クライアントプログラム131は、選択したサーバ1、例えば、サーバ1−2に、ネットワーク3を介して、接続要求を送信する。
【0336】
ステップS3003において、画像サーバプログラム86−2は、パーソナルコンピュータ2から送信された接続要求を受信する。ステップS3004において、画像サーバプログラム86−2は、ネットワーク3を介して、コンテンツである画像データをパーソナルコンピュータ2に送信する。
【0337】
ステップS1007において、クライアントプログラム131は、サーバ1−2から送信されたコンテンツである画像データを受信する。ステップS1008において、クライアントプログラム131は、受信したコンテンツを基に、画像を表示部110に表示し、処理は終了する。
【0338】
このように、クライアントプログラム131は、提供を所望するサービスの内容を基に、サーバ1を選択し、選択したサーバ1からコンテンツを受信することができる。
【0339】
図30は、サーバ1から供給されたストリームを基に、画像のフレームを削除することなく再生するクライアントプログラム131の構成を説明するブロック図である。
【0340】
図30に示すクライアントプログラム131は、バッファ191、再生プログラム192、および再生監視プログラム193を含む。
【0341】
バッファ191は、FIFO(First-In First-Out)バッファであり、ネットワーク3を介して、サーバ1から供給される、MPEGストリームなどのストリームの画像データを一時的に記憶し、記憶している画像データを再生プログラム192に供給する。
【0342】
再生プログラム192は、再生監視プログラム193の制御の基に、再生速度を変更しながら、バッファ191に記憶されている画像データを復号し、表示部110に画像を表示させる。
【0343】
再生監視プログラム193は、バッファ191に記憶されている画像データの量を基に、再生プログラム192に再生の速度を指示する。
【0344】
図31を参照して、サーバ1から供給されたストリームを基に、画像をリアルタイムに再生するクライアントプログラム131のより詳細な処理を説明する。クライアントプログラム131において、テレビジョン放送の番組のストリームを受信し、番組の画像を再生するとき、バッファ191に記憶される画像データの量を、なるべく少なく、かつ一定にし、リアルタイムに再生することが望ましい。
【0345】
例えば、WINDOWS(登録商標)などのようなマルチタスクOSにおいて、クライアントプログラム131の再生の処理中に、他のプログラムのタスクが実行されると、CPU101のリソースが他のプログラムの処理に使用されてしまい、クライアントプログラム131の再生の処理が中断してしまう場合がある。この場合、バッファ191に記憶されている画像データの量は、増加することになる。
【0346】
本発明に係るパーソナルコンピュータ2のクライアントプログラム131は、定期的にバッファ191に記憶されている画像データの量を監視し、画像データの量に基づいて、再生の速度を適切に変更することにより、バッファ191に記憶される画像データの量を、少なく、かつ一定に保つ。
【0347】
サーバ1から送信された、画像データを格納するパケットは、パーソナルコンピュータ2のネットワークインタフェースカード115で受信される。ネットワークインタフェースカード115は、受信したパケットから画像データを抽出し、バッファ191に供給する。
【0348】
バッファ191は、ネットワークインタフェースカード115から供給された画像データを記憶する。
【0349】
再生監視プログラム193は、1秒間に複数回、定期的に、バッファ191に対して、現在記憶されている画像データの量を問い合わせる。バッファ191は、再生監視プログラム193から画像データの量の問い合わせがあったとき、現在記憶している画像データの量を、再生監視プログラム193に通知する。
【0350】
再生監視プログラム193は、バッファ191が現在記憶している画像データの量を基に、再生プログラム192に再生速度の変更を要求する。
【0351】
例えば、バッファ191が現在記憶している画像データの量が、3秒の再生時間に対応する量を越えているとき、再生監視プログラム193は、1.05倍の速度で再生するように、再生プログラム192に再生速度の変更を要求する。1.05倍の速度としたのは、再生されている画像を視聴している使用者に違和感を与えないためである。
【0352】
また、バッファ191が現在記憶している画像データの量が、1秒の再生時間に対応する量未満であるとき、再生監視プログラム193は、1.00倍の速度で再生するように、再生プログラム192に再生速度の変更を要求する。
【0353】
1.05倍の速度に対応する画像データの量の閾値と、1.00倍の速度に対応する画像データの量の閾値とを異なる値としたのは、これらの閾値を同じ値とすると、1.00倍の速度の再生と1.05倍の速度の再生とが短い周期で交互に繰り返され、再生されている画像を視聴している使用者に違和感を与えてしまうからである。
【0354】
図32は、クライアントプログラム131の、再生速度の変更の処理を説明するフローチャートである。
【0355】
ステップS101において、クライアントプログラム131の再生監視プログラム193は、図示せぬRTCなどから供給される時刻を基に、所定の時間が経過したか否かを判定し、所定の時間が経過していないと判定された場合、所定の時間が経過するまで、ステップS101に戻り、判定の処理を繰り返す。
【0356】
ステップS101において、所定の時間が経過したと判定された場合、ステップS102に進み、再生監視プログラム193は、再生プログラム192の現在の再生速度が1.05倍であるか否かを判定する。
【0357】
ステップS102において、再生プログラム192の現在の再生速度が1.05倍であると判定された場合、ステップS103に進み、再生監視プログラム193は、バッファ191に記憶している画像データのデータ量を問い合わせ、バッファ191から通知された画像データのデータ量を基に、遅延時間が1秒未満であるか否かを判定する。すなわち、再生監視プログラム193は、バッファ191が記憶している画像データのデータ量が、1秒の再生時間に対応する量未満であるか否かを判定する。
【0358】
ステップS103において、遅延時間が1秒未満であると判定された場合、バッファ191に記憶されている画像データのデータ量が適正であり、これ以上減らさないようにするため、ステップS104に進み、再生監視プログラム193は、再生プログラム192に、再生速度を1.00倍に設定させ、手続きは、ステップS101に戻り、処理を繰り返す。
【0359】
ステップS103において、遅延時間が1秒未満でないと判定された場合、バッファ191に記憶されている画像データのデータ量をより少なくするため、再生速度を1.05倍のままで、手続きは、ステップS101に戻り、処理を繰り返す。
【0360】
ステップS102において、再生プログラム192の現在の再生速度が1.05倍でないと判定された場合、ステップS105に進み、再生監視プログラム193は、バッファ191に記憶している画像データのデータ量を問い合わせ、バッファ191から通知された画像データのデータ量を基に、遅延時間が3秒を越えているか否かを判定する。すなわち、再生監視プログラム193は、バッファ191が記憶している画像データのデータ量が、3秒の再生時間に対応する量を越えているか否かを判定する。
【0361】
ステップS105において、遅延時間が3秒を越えていると判定された場合、バッファ191に記憶されている画像データのデータ量が多いので、ステップS106に進み、再生監視プログラム193は、再生プログラム192に、再生速度を1.05倍に設定させ、手続きは、ステップS101に戻り、処理を繰り返す。
【0362】
ステップS105において、遅延時間が3秒を越えていないと判定された場合、バッファ191に記憶されている画像データのデータ量が適正なので、再生速度を1.00倍速のままで、手続きは、ステップS101に戻り、処理を繰り返す。
【0363】
このように、クライアントプログラム131は、定期的にバッファ191に記憶されている画像データの量を監視し、画像データの量に基づいて、再生の速度を適切に変更することにより、バッファ191に記憶される画像データの量を、少なく、かつ一定に保つことができる。従って、クライアントプログラム131は、受信したストリームを基に、フレームを削除することなくリアルタイムに画像を再生することができる。
【0364】
なお、クライアントプログラム131は、より細かく、再生の速度を変更するようにしてもよい。例えば、クライアントプログラム131は、バッファ191に、0.5秒に対応する量の画像データが記憶されているとき、再生速度を1.01倍とし、バッファ191に、1.0秒に対応する量の画像データが記憶されているとき、再生速度を1.02倍とし、バッファ191に、1.5秒に対応する量の画像データが記憶されているとき、再生速度を1.03倍とするようにしてもよい。このようにすることで、バッファ191に記憶される画像データの量の変動をより少なくすることができる。
【0365】
また、クライアントプログラム131は、一定以上の画像データがバッファ191に、記録されたとき、画像データを消去すると共に、再生の速度を変更するようにしてもよい。
【0366】
なお、クライアントプログラム131は、バッファ191に記録されている画像データの量が所定の閾値より少ないとき、再生の速度を1.0倍より遅くするようにしてもよい。
【0367】
また、再生監視プログラム193は、バッファ191から通知されたデータ量を基に、次にバッファ191にデータ量を問い合わせるタイミングを変更するようにしてもよい。
【0368】
なお、再生監視プログラム193は、バッファ191から通知されたデータ量を閾値と比較して、再生の速度を指示すると説明したが、本発明は、閾値の使用により限定されるものではない。例えば、再生監視プログラム193は、所定の関数をデータ量に適用して、指示する再生の速度を算出するようにしてもよい。
【0369】
図33は、本発明に係るコンテンツ提供システムの実施の第2の形態の構成を示すブロック図である。
【0370】
パーソナルコンピュータ301は、モニタ302に、アナログ信号またはデジタル信号である、画像の信号、または音声の信号を供給する。パーソナルコンピュータ301がモニタ302に供給する画像のアナログ信号は、例えば、NTSC(National Television System Committee)方式のコンポジット信号、またはRGB(Red,Green,Blue)などのコンポーネント信号とすることができる。また、パーソナルコンピュータ301がモニタ302に供給する画像のデジタル信号は、SDI(Serial Digital Interface)信号またはSMPTE(Society of Motion Picture and Television Engineers)259Mなどのコンポジットデジタルビデオ信号またはコンポーネントデジタルビデオ信号とすることができる。
【0371】
モニタ302は、パーソナルコンピュータ301から供給された画像の信号および音声の信号を基に、画像を表示し、音声を出力する。
【0372】
VCR303は、装着されているビデオカセットテープに画像および音声を記録すると共に、装着されているビデオカセットテープに記録されている画像および音声を読み出す。VCR303は、読み出した画像に対応するコンポジットビデオ信号をパーソナルコンピュータ301に供給すると共に、音声に対応する信号をパーソナルコンピュータ301に供給する。
【0373】
パーソナルコンピュータ301は、画像のデータ、または音声のデータなどのコンテンツを記録すると共に、放送されている番組を受信する。
【0374】
パーソナルコンピュータ301がモニタ302に供給する画像の信号は、パーソナルコンピュータ301が記録しているコンテンツに対応する画像の信号であるか、またはパーソナルコンピュータ301が受信した番組に対応する画像の信号である。
【0375】
パーソナルコンピュータ301は、VCR303などから供給された画像の信号および音声の信号を基に、例えば、MPEG方式の画像のデータ、または音声のデータを生成し、生成した画像のデータまたは音声のデータでなるコンテンツを記録する。パーソナルコンピュータ301は、例えば、テレビジョン放送局から送信された地上波または放送衛星から送信された電波を受信した、図示せぬアンテナから供給される信号を復号し、受信した番組に対応する画像のデータ、または音声のデータを生成する。
【0376】
パーソナルコンピュータ301は、記録しているコンテンツに対応する画像の信号をモニタ302に供給するとき、記録しているコンテンツを基に、例えば、アナログビデオ信号を生成して、生成したアナログビデオ信号をモニタ302に供給する。
【0377】
パーソナルコンピュータ301は、受信した番組に対応する、例えば、アナログビデオ信号をモニタ302に供給する。
【0378】
図34は、パーソナルコンピュータ301の構成を示すブロック図である。CPU321は、各種アプリケーションプログラムや、基本的なOSを実際に実行する。ROM322は、一般的には、CPU321が使用するプログラムや演算用のパラメータのうちの基本的に固定のデータを格納する。RAM323は、CPU321の実行において使用するプログラムや、その実行において適宜変化するパラメータを格納する。これらはホストバス324により相互に接続されている。
【0379】
ホストバス324は、ブリッジ325を介して、PCIバスなどの外部バス326に接続されている。
【0380】
キーボード328は、CPU321に各種の指令を入力するとき、使用者により操作される。マウス329は、表示部330の画面上のポイントの指示や選択を行うとき、使用者により操作される。表示部330は、CRTまたは液晶表示装置などからなり、各種情報をテキストやイメージで表示する。HDD331およびFDD332は、それぞれハードディスクまたはフロッピー(登録商標)ディスクを駆動し、それらにCPU321によって実行するプログラムや情報を記録または再生させる。スピーカ333は、所定の音声を再生する。
【0381】
ドライブ334は、磁気ディスク341、光ディスク342、光磁気ディスク343、または半導体メモリ344が装着され、装着されている磁気ディスク341、光ディスク342、光磁気ディスク343、または半導体メモリ344に記録されているプログラムを読み出し、読み出したプログラムをHDD331またはRAM323に供給する。
【0382】
これらのキーボード328乃至ドライブ334は、インタフェース327に接続されており、インタフェース327は、外部バス326、ブリッジ325、およびホストバス324を介してCPU321に接続されている。
【0383】
画像処理ボード335は、CPU321の制御の基に、図示せぬアンテナから供給された信号を基に、番組に対応する所定の画像または音声のデータを生成し、外部バス326およびインタフェース327を介して、生成した画像または音声のデータをHDD331に出力する。
【0384】
画像処理ボード335は、CPU321の制御の基に、VCR303から供給された信号を基に、所定の画像または音声のデータを生成し、外部バス326およびインタフェース327を介して、生成した画像または音声のデータをHDD331に出力する。
【0385】
画像処理ボード335は、CPU321の制御の基に、図示せぬアンテナから供給された信号を基に、番組に対応する所定の画像または音声のアナログ信号を生成し、生成したアナログ信号をモニタ302に供給する。
【0386】
また、画像処理ボード335は、CPU321の制御の基に、外部バス326およびインタフェース327を介して、HDD331に記録されているコンテンツである画像のデータまたは音声のデータを取得し、画像のデータまたは音声のデータに対応する画像のアナログ信号または音声のアナログ信号を生成し、生成したアナログ信号をモニタ302に供給する。
【0387】
画像処理ボード335は、外部バス326、ブリッジ325、およびホストバス324を介してCPU321に接続されている。
【0388】
図35は、コンポジットビデオ信号を入出力するときの、画像処理ボード335の構成を示すブロック図である。チューナ351は、CPU321の制御の基に、外部から供給されるテレビジョン放送の放送信号を取得し、複数のチャンネル分のテレビジョン放送の番組のうちの、指定されたチャンネルの番組を選択する。チューナ351は、選択したチャンネルの番組の画像および音声に対応するアナログ信号をA/D変換器352に供給する。
【0389】
A/D変換器352は、チューナ351から供給された、番組の画像および音声に対応するアナログ信号を、デジタル信号にアナログ/デジタル変換する。A/D変換器352は、番組の画像および音声に対応するデジタル信号をセレクタ353に供給する。
【0390】
APS(Analog Protection System)信号検出部354は、VCR303から供給されたアナログ信号であるコンポジットビデオ信号を取得し、コンポジットビデオ信号に含まれているAPS信号を検出する。APS信号は、コンテンツのコピーの防止を目的として、例えば、マクロビジョン社(米国)のコピープロテクションシステムによりコンポジットビデオ信号に挿入される信号である。APS信号検出部354は、コンポジットビデオ信号にAPS信号が含まれているとき、コンポジットビデオ信号にAPS信号が含まれていることを示す判定データをブリッジ357に供給し、コンポジットビデオ信号にAPS信号が含まれていないとき、コンポジットビデオ信号にAPS信号が含まれていないことを示す判定データをブリッジ357に供給する。
【0391】
APS信号検出部354は、VCR303から供給されたアナログ信号であるコンポジットビデオ信号をA/D変換器355に供給する。
【0392】
A/D変換器355は、APS信号検出部354から供給されたアナログ信号であるコンポジットビデオ信号を、デジタル信号にアナログ/デジタル変換し、デジタル信号をセレクタ353に供給する。
【0393】
セレクタ353は、CPU321の制御の基に、A/D変換器352から供給されたデジタル信号、およびA/D変換器355から供給されたデジタル信号のうち、いずれか一方を選択し、選択されたデジタル信号をエンコーダ356またはブリッジ357に供給する。
【0394】
セレクタ353は、テレビジョン放送の番組がHDD331に記録されるとき、A/D変換器352から供給されたデジタル信号を、エンコーダ356に供給する。セレクタ353は、テレビジョン放送の番組を表示部330およびスピーカ333に再生させるか、またはテレビジョン放送の番組に対応するアナログ信号をモニタ302に供給するとき、A/D変換器352から供給されたデジタル信号を、ブリッジ357に供給する。
【0395】
セレクタ353は、テレビジョン放送の番組がHDD331に記録させると共に、テレビジョン放送の番組を表示部330およびスピーカ333に再生させるか、またはテレビジョン放送の番組に対応するアナログ信号をモニタ302に供給するとき、A/D変換器352から供給されたデジタル信号を、エンコーダ356およびブリッジ357に同時に供給する。
【0396】
セレクタ353は、VCR303から供給されたアナログ信号に対応する画像データをHDD331に記録するとき、A/D変換器355から供給されたデジタル信号を、エンコーダ356に供給する。セレクタ353は、VCR303から供給されたアナログ信号に対応す画像を表示部330に再生させるか、またはVCR303から供給されたアナログ信号に対応するアナログ信号をモニタ302に供給するとき、A/D変換器355から供給されたデジタル信号を、ブリッジ357に供給する。
【0397】
セレクタ353は、VCR303から供給されたアナログ信号に対応する画像データをHDD331に記録すると共に、VCR303から供給されたアナログ信号に対応す画像を表示部330に再生させるか、またはVCR303から供給されたアナログ信号に対応するアナログ信号をモニタ302に供給するとき、A/D変換器355から供給されたデジタル信号を、エンコーダ356およびブリッジ357に同時に供給する。
【0398】
エンコーダ356は、セレクタ353から供給されたデジタル信号をMPEG等の所定の圧縮符号化方式により符号化し、得られた符号化データをブリッジ357に供給する。
【0399】
デコーダ358は、ブリッジ357を介して、HDD331に記録されている、MPEG等の所定の圧縮符号化方式により符号化されている画像および音声のデータが供給されたとき、符号化されている画像および音声のデータを復号する。デコーダ358は、復号して得られたデジタル信号をブリッジ357に供給する。
【0400】
ブリッジ357は、テレビジョン放送の番組に対応する符号化データ、またはVCR303から供給されたコンポジットビデオ信号に対応する符号化データをHDD331に記録するとき、エンコーダ356から供給された符号化データを外部バス326を介して、HDD331に供給する。
【0401】
ブリッジ357は、テレビジョン放送の番組を表示部330およびスピーカ333に再生させるとき、セレクタ353から供給された画像のデジタル信号を、外部バス326およびインタフェース327を介して、表示部330に供給すると共に、音声のデジタル信号を、外部バス326およびインタフェース327を介して、スピーカ333に供給する。
【0402】
ブリッジ357は、HDD331に記録されている符号化データを再生させるとき、HDD331に記録されている符号化データをデコーダ358に供給する。ブリッジ357は、デコーダ358から供給された、画像のデジタル信号を、外部バス326およびインタフェース327を介して、表示部330に供給すると共に、音声のデジタル信号を、外部バス326およびインタフェース327を介して、スピーカ333に供給する。
【0403】
テレビジョン放送の番組を再生するとき、表示部330は、インタフェース327を介して供給されたデジタル信号または所定の方式に変換されたアナログ信号を基に、テレビジョン放送の番組の画像を表示する。
【0404】
テレビジョン放送の番組を再生するとき、スピーカ333は、インタフェース327を介して供給されたデジタル信号または所定の方式に変換されたアナログ信号を基に、テレビジョン放送の番組の音声を再生する。
【0405】
ブリッジ357は、モニタ302に画像を表示させるとき、セレクタ353から供給された画像のデジタル信号をD/A(Digital-to-Analog)変換器359に供給する。D/A変換器359は、ブリッジ357から供給されたデジタル信号を、コンポーネント信号からなるアナログ信号にデジタル/アナログ変換し、アナログ信号をエンコーダ360に供給する。
【0406】
エンコーダ360は、D/A変換器359から供給された、コンポーネント信号からなるアナログ信号を、コンポジットビデオ信号であるアナログ信号に変換して、コンポジットビデオ信号をモニタ302に供給する。
【0407】
図36は、パーソナルコンピュータ301が実行するアプリケーションプログラムを説明する図である。録画再生プログラム381は、画像処理ボード335に、チューナ351で受信した所定のチャンネルの番組に対応する、MPEG方式の画像または音声の符号化データを生成させ、符号化データをコンテンツとして、HDD331に記録させる。
【0408】
録画再生プログラム381は、画像処理ボード335から供給されるデータを基に、VCR303から供給されたコンポジットビデオ信号にAPS信号が含まれているか否かを判定する。
【0409】
録画再生プログラム381は、VCR303から供給されたコンポジットビデオ信号にAPS信号が含まれていないと判定された場合、画像処理ボード335に、VCR303から供給されたコンポジットビデオ信号をMPEG方式の画像または音声の符号化データに変換させ、符号化データをコンテンツとして、HDD331に記録させる。
【0410】
録画再生プログラム381は、VCR303から供給されたコンポジットビデオ信号にAPS信号が含まれていると判定された場合、VCR303から供給されたコンポジットビデオ信号の記録を停止させる。
【0411】
また、録画再生プログラム381は、HDD331に記録されているコンテンツを、画像処理ボード335に、復号させて、圧縮されていない所定の画像または音声のデジタル信号を生成し、画像を表示部330に表示させ、音声をスピーカ333に再生させる。録画再生プログラム381は、HDD331に記録されているコンテンツを、画像処理ボード335に、復号させて、コンポジットビデオ信号を生成させ、コンポジットビデオ信号をモニタ302に供給させる。
【0412】
管理検索プログラム382は、HDD331に記録されているコンテンツの内容または録画された日付などの所定の情報を表示部330に表示させる。また、管理検索プログラム382は、所定のコンテンツの再生を録画再生プログラム381に指示する。管理検索プログラム382は、編集の対象となるコンテンツを選択し、その選択されたコンテンツの情報を編集プログラム383に供給する。管理検索プログラム382は、予約録画設定プログラム84に予約録画の指示を行う。
【0413】
編集プログラム383は、HDD331に記録されているコンテンツを基に、選択されたコンテンツの所定の画像および音声を編集(所定のコンテンツに含まれている画像および音声をつなぎ合わせる)し、編集された画像または音声を再生する所定の形式のコンテンツを生成する。
【0414】
このコンテンツは、例えば、画像または音声のデジタルデータを有せず、選択されたコンテンツを特定する情報および利用する画像および音声を特定する情報から構成され、録画再生プログラム381で再生することができる。
【0415】
予約録画設定プログラム384は、設定に基づき、予約録画を実行させるコンテンツを生成する。このコンテンツは、設定(録画時間、および画質を決定する録画モード)に対応し、HDD331の記憶領域を予め確保する。
【0416】
予約監視プログラム385は、パーソナルコンピュータ301が動作しているとき(OSが動作しているとき)、常に動作し(いわゆる、常駐している)、予約録画設定プログラム384が生成した予約録画を実行させるコンテンツ、および、図示せぬRTC(Real Time Clock)から供給される時刻を基に、予約録画を実行する。また、予約監視プログラム385は、予約録画を実行させるコンテンツの設定を変更する。
【0417】
予約監視プログラム385は、所定の設定がなされ、録画再生プログラム381が実行されていないとき、予約録画を開始した場合、録画再生プログラム381を起動させる。
【0418】
図37は、APS信号検出部354の構成を示すブロック図である。信号検出部391は、例えば、フィールド毎に、入力されたコンポジットビデオ信号のブランキングに含まれている、通常の黒レベルまたは白レベルより振幅の大きい振幅の信号からなるAPS信号を検出する。信号検出部391は、所定のフィールドでAPS信号を検出したとき、そのフィールドでAPS信号を検出した旨を示す信号を評価値生成部392に供給する。信号検出部391は、所定のフィールドでAPS信号を検出しないとき、そのフィールドでAPS信号を検出しない旨を示す信号を評価値生成部392に供給する。
【0419】
評価値生成部392は、信号検出部391から供給された信号を基に、0乃至100のいずれかの値を有する評価値Aを生成する。
【0420】
例えば、評価値生成部392は、信号検出部391から、10フィールドのうち、連続する5フィールドについて、APS信号を検出した旨を示す信号が供給されたとき、80の値を有する評価値Aを生成する。評価値生成部392は、信号検出部391から、10フィールドのうち、連続していない5フィールドについて、APS信号を検出した旨を示す信号が供給されたとき、70の値を有する評価値Aを生成する。評価値生成部392は、信号検出部391から、10フィールドのうち、連続する4フィールドについて、APS信号を検出した旨を示す信号が供給されたとき、60の値を有する評価値Aを生成する。評価値生成部392は、信号検出部391から、10フィールドのうち、連続していない4フィールドについて、APS信号を検出した旨を示す信号が供給されたとき、50の値を有する評価値Aを生成する。
【0421】
評価値生成部392は、生成した評価値Aを判定部395に供給する。
【0422】
信号検出部393は、信号検出部391と異なる方式で、APS信号を検出する。例えば、信号検出部393は、フィールド毎に、入力されたコンポジットビデオ信号のカラーバースト信号が、通常のカラーバースト信号の位相と異なる位相に変調されてなるAPS信号を検出する。信号検出部393は、所定のフィールドでAPS信号を検出したとき、そのフィールドでAPS信号を検出した旨を示す信号を評価値生成部394に供給する。信号検出部393は、所定のフィールドでAPS信号を検出しないとき、そのフィールドでAPS信号を検出しない旨を示す信号を評価値生成部394に供給する。
【0423】
評価値生成部394は、信号検出部393から供給された信号を基に、0乃至100のいずれかの値を有する評価値Bを生成する。
【0424】
例えば、評価値生成部394は、信号検出部393から、連続する10フィールドについて、APS信号を検出した旨を示す信号が供給されたとき、80の値を有する評価値Bを生成する。評価値生成部394は、信号検出部393から、連続する9フィールドについて、APS信号を検出した旨を示す信号が供給されたとき、70の値を有する評価値Bを生成する。評価値生成部394は、信号検出部393から、連続する8フィールドについて、APS信号を検出した旨を示す信号が供給されたとき、60の値を有する評価値Bを生成する。評価値生成部394は、信号検出部393から、連続する7フィールドについて、APS信号を検出した旨を示す信号が供給されたとき、50の値を有する評価値Bを生成する。
【0425】
評価値生成部394は、生成した評価値Bを判定部395に供給する。
【0426】
判定部395は、評価値生成部392から供給された評価値A、および評価値生成部394から供給された評価値Bを基に、コンポジットビデオ信号にAPS信号が含まれているか否かを判定し、判定結果を示す判定データを出力する。
【0427】
例えば、判定部395は、評価値生成部392から供給された評価値A、および評価値生成部394から供給された評価値Bのうち、いずれかの評価値が80以上であるとき、コンポジットビデオ信号にAPS信号が含まれていると判定し、コンポジットビデオ信号にAPS信号が含まれている旨を示す判定データを出力する。判定部395は、評価値生成部392から供給された評価値A、および評価値生成部394から供給された評価値Bのうち、いずれか一方の評価値が60以上であり、他の評価値が50以上であるとき、コンポジットビデオ信号にAPS信号が含まれていると判定し、コンポジットビデオ信号にAPS信号が含まれている旨を示す判定データを出力する。
【0428】
判定部395は、評価値生成部392から供給された評価値A、および評価値生成部394から供給された評価値Bのうち、いずれか一方の評価値が70以上であり、他の評価値が40以上であるとき、コンポジットビデオ信号にAPS信号が含まれていると判定し、コンポジットビデオ信号にAPS信号が含まれている旨を示す判定データを出力する。
【0429】
図38は、APS信号検出部354による、APS信号の検出の処理を説明するフローチャートである。
【0430】
ステップS301において、信号検出部391は、フィールド毎に、ブランキングのレベルを基に、APS信号を検出し、検出した結果を評価値生成部392に供給する。ステップS302において、評価値生成部392は、信号検出部391から供給された検出結果を基に、評価値Aを生成する。評価値生成部392は、例えば、APS信号が検出された連続するフィールドの数、またはAPS信号が検出されたフィールドの割合などを基に、評価値Aを生成する。
【0431】
ステップS303において、信号検出部393は、フィールド毎に、カラーバースト信号の位相を基に、APS信号を検出し、検出した結果を評価値生成部394に供給する。ステップS304において、評価値生成部394は、信号検出部393から供給された検出結果を基に、評価値Bを生成する。評価値生成部394は、例えば、APS信号が検出された連続するフィールドの数などを基に、評価値Bを生成する。
【0432】
ステップS305において、判定部395は、評価値生成部392から供給された評価値A、および評価値生成部394から供給された評価値Bを基に、コンポジットビデオ信号にAPS信号が含まれているか否かを判定し、判定結果を示す判定データを出力し、処理は終了する。
【0433】
図39は、ステップS305の処理に対応する、判定部395による、判定の処理の例を説明するフローチャートである。ステップS311において、判定部395は、評価値Aが80を越えているか否かを判定し、評価値Aが80を越えていると判定された場合、ステップS312に進み、APS信号を検出した旨の判定データを出力し、処理は終了する。
【0434】
ステップS311において、評価値Aが80を越えていないと判定された場合、ステップS313に進み、判定部395は、評価値Bが80を越えているか否かを判定する。ステップS313において、評価値Bが80を越えていると判定された場合、ステップS312に進み、判定部395は、APS信号を検出した旨の判定データを出力し、処理は終了する。
【0435】
ステップS313において、評価値Bが80を越えていないと判定された場合、ステップS314に進み、判定部395は、評価値Aが50を越え、かつ、評価値Bが60を越えているか否かを判定する。ステップS314において、評価値Aが50を越え、かつ、評価値Bが60を越えていると判定された場合、ステップS312に進み、判定部395は、APS信号を検出した旨の判定データを出力し、処理は終了する。
【0436】
ステップS314において、評価値Aが50以下である、または、評価値Bが60以下であると判定された場合、ステップS315に進み、判定部395は、評価値Aが60を越え、かつ、評価値Bが50を越えているか否かを判定する。ステップS315において、評価値Aが60を越え、かつ、評価値Bが50を越えていると判定された場合、ステップS312に進み、判定部395は、APS信号を検出した旨の判定データを出力し、処理は終了する。
【0437】
ステップS315において、評価値Aが60以下である、または、評価値Bが50以下であると判定された場合、ステップS316に進み、判定部395は、評価値Aが40を越え、かつ、評価値Bが70を越えているか否かを判定する。ステップS316において、評価値Aが40を越え、かつ、評価値Bが70を越えていると判定された場合、ステップS312に進み、判定部395は、APS信号を検出した旨の判定データを出力し、処理は終了する。
【0438】
ステップS316において、評価値Aが40以下である、または、評価値Bが70以下であると判定された場合、ステップS317に進み、判定部395は、評価値Aが70を越え、かつ、評価値Bが40を越えているか否かを判定する。ステップS317において、評価値Aが70を越え、かつ、評価値Bが40を越えていると判定された場合、ステップS312に進み、判定部395は、APS信号を検出した旨の判定データを出力し、処理は終了する。
【0439】
ステップS317において、評価値Aが70以下である、または、評価値Bが40以下であると判定された場合、ステップS318に進み、判定部395は、APS信号を検出しない旨の判定データを出力し、処理は終了する。
【0440】
このように、APS信号検出部354は、2つの異なる信号検出方法のそれぞれの評価値を基に、判定データを検出するので、1つの信号検出方法を基に検出するときに比較して、より正確に、APS信号の検出をすることができる。
【0441】
図40は、APS信号検出部354が、APS信号の3種類以上のそれぞれ異なる検出に対応する3つ以上の評価値を生成するときの、APS信号の検出の判定の処理の他の例を説明するフローチャートである。
【0442】
ステップS321において、APS信号検出部354は、1つの評価値が80を越えているか否かを判定し、1つの評価値が80を越えていると判定された場合、ステップS322に進み、APS信号を検出した旨の判定データを出力し、処理は終了する。
【0443】
ステップS321において、1つの評価値が80を越えていないと判定された場合、ステップS323に進み、APS信号検出部354は、全ての評価値が50を越えて、かつ、1つの評価値が60を越えているか否かを判定する。ステップS323において、全ての評価値が50を越えて、かつ、1つの評価値が60を越えていると判定された場合、ステップS322に進み、APS信号検出部354は、APS信号を検出した旨の判定データを出力し、処理は終了する。
【0444】
ステップS323において、いずれかの評価値が50以下であるか、または、全ての評価値が60以下であると判定された場合、ステップS324に進み、APS信号検出部354は、過半数の評価値が40を越えて、かつ、1つの評価値が70を越えているか否かを判定する。ステップS324において、過半数の評価値が40を越えて、かつ、1つの評価値が70を越えていると判定された場合、ステップS322に進み、APS信号検出部354は、APS信号を検出した旨の判定データを出力し、処理は終了する。
【0445】
ステップS324において、過半数の評価値が40以下であるか、または、全ての評価値が70以下であると判定された場合、ステップS325に進み、APS信号検出部354は、APS信号を検出しない旨の判定データを出力し、処理は終了する。
【0446】
このように、APS信号検出部354は、APS信号の3種類以上のそれぞれ異なる検出に対応する3つ以上の評価値を基に、APS信号を検出したか否かを判定することができる。この場合において、APS信号検出部354は、2つの異なる信号検出方法のそれぞれの評価値を基に、判定する場合に比較して、より正確に、APS信号を検出したか否かを判定することができる。
【0447】
なお、図39または図40のフローチャートに示す判定の処理において、評価値と比較される閾値は、80,70,60,50,または40に限定されるものではなく、各閾値の大小関係を満たした上で、適宜、その値を大きくするか、または小さくすることができる。
【0448】
また、評価値を生成するためのAPS信号の検出方法は、いずれの方法でもよく、本発明は、評価値を生成するためのAPS信号の検出方法に限定されるものではない。
【0449】
次に、録画予約を開始したとき、録画再生プログラム381を起動する処理について説明する。
【0450】
図41は、予約録画設定プログラム384が表示部330に表示させるウィンドウの例を示す図である。予約録画設定プログラム384が表示するウィンドウの”設定”と名前が付されたメニューがクリックされたとき、予約録画設定プログラム384は、録画時に録画再生プログラムを起動するコマンドを表示する。
【0451】
予約録画設定プログラム384は、録画時に録画再生プログラムを起動するコマンドがチェックされているとき、予約監視プログラム385の起動フラグに、録画を開始したとき、録画再生プログラム381を起動させる旨を示す値を設定する。
【0452】
予約録画設定プログラム384は、録画時に録画再生プログラムを起動するコマンドがチェックされていないとき、予約監視プログラム385の起動フラグに、録画を開始したとき、録画再生プログラム381を起動させない旨を示す値を設定する。
【0453】
図41に示すように、録画時に録画再生プログラムを起動するコマンドがチェックされていないとき、起動フラグに、録画再生プログラムを起動させない旨を示す値が設定されているので、予約監視プログラム385は、予約録画を開始しても、録画再生プログラム381を起動しない。
【0454】
一方、図42に示すように、録画時に録画再生プログラムを起動するコマンドがチェックされているとき、起動フラグに、録画再生プログラムを起動させる旨を示す値が設定されているので、予約監視プログラム385は、予約録画を開始したとき、録画再生プログラム381が実行されていない場合、録画再生プログラム381を起動する。
【0455】
図43は、予約監視プログラム385による、予約録画の開始の処理を説明するフローチャートである。ステップS341において、予約監視プログラム385は、図示せぬRTCなどから供給される日付および時刻を基に、録画の開始が予約された日時になったか否かを判定し、録画の開始が予約された日時になっていないと判定された場合、ステップS341に戻り、録画の開始が予約された日時になるまで、判定の処理を繰り返す。
【0456】
ステップS341において、録画の開始が予約された日時になったと判定された場合、ステップS342に進み、予約監視プログラム385は、録画を開始する。
【0457】
ステップS343において、予約監視プログラム385は、起動フラグの値を読み取り、録画再生プログラム381を起動するか否かの設定を取得する。ステップS344において、予約監視プログラム385は、録画再生プログラム381を起動する旨の設定がなされているか否かを判定し、録画再生プログラム381を起動する旨の設定がなされていると判定された場合、ステップS345に進み、録画予約プログラム381が既に起動されているか否かを判定する。
【0458】
ステップS345において、録画予約プログラム381が起動されていないと判定された場合、予約監視プログラム385は、録画再生プログラム381を起動し、処理は終了する。
【0459】
ステップS345において、録画予約プログラム381が既に起動されていると判定された場合、録画予約プログラム381を起動する処理を行う必要がないので、ステップS346の処理をスキップして、処理は終了する。
【0460】
ステップS344において、録画再生プログラム381を起動しない旨の設定がなされていると判定された場合、録画予約プログラム381を起動する処理を行う必要がないので、ステップS345およびステップS346の処理をスキップして、処理は終了する。
【0461】
このように、予約監視プログラム385は、起動フラグに録画再生プログラム381を起動する旨の設定がなされているとき、録画再生プログラム381を自動的に起動させることができる。このようにすることで、使用者は、面倒な操作をすることなく、予約した番組の録画が実行されているか否か、および録画予約した番組の内容を迅速に知ることができる。
【0462】
なお、予約監視プログラム385は、例えば、いわゆるFM放送などの音声のみの番組を予約録音し、予約録画を開始したとき、録画再生プログラム381を自動的に起動させて、録画再生プログラム381に音声のみを出力させるようにしてもよい。
【0463】
次に、設定により、モニタ302に画面または音声に関係する情報を表示するか、または情報を表示しないかを切り換える処理について説明する。
【0464】
図44に示すように、パーソナルコンピュータ301が実行する録画再生プログラム381は、画像処理ボード335を制御し、記録しているコンテンツまたは受信している番組に対応するコンポジットビデオ信号をモニタ302に供給させる。モニタ302は、パーソナルコンピュータ2から供給されたコンポジットビデオ信号を基に、パーソナルコンピュータ301に記録されているコンテンツまたはパーソナルコンピュータ301が受信している番組に対応する画像を表示する。
【0465】
録画再生プログラム381が表示する設定メニューのビデオ出力に情報を表示するコマンドがチェックされたとき、録画再生プログラム381は、画像処理ボード335に、記録しているコンテンツまたは受信している番組に対応する画像と共に、表示部330に表示している画面または音声に関係する情報を表示させるコンポジットビデオ信号を生成させる。画像処理ボード335は、記録しているコンテンツまたは受信している番組に対応する画像と共に、表示部330に表示している画面または音声に関係する情報を表示させるコンポジットビデオ信号を、モニタ302に供給する。
【0466】
図45に示すように、モニタ302は、パーソナルコンピュータ2から供給されたコンポジットビデオ信号を基に、パーソナルコンピュータ301に記録されているコンテンツまたはパーソナルコンピュータ301が受信している番組に対応する画像と共に、表示部330に表示している画面または音声に関係する情報と同様の情報を表示する。
【0467】
録画再生プログラム381が表示する設定メニューのビデオ出力に情報を表示するコマンドがチェックされていないとき、録画再生プログラム381は、画像処理ボード335に、記録しているコンテンツまたは受信している番組に対応する画像のみを表示させるコンポジットビデオ信号を生成させる。画像処理ボード335は、記録しているコンテンツまたは受信している番組に対応する画像のみを表示させるコンポジットビデオ信号を、モニタ302に供給する。
【0468】
図46に示すように、モニタ302は、パーソナルコンピュータ2から供給されたコンポジットビデオ信号を基に、パーソナルコンピュータ301に記録されているコンテンツまたはパーソナルコンピュータ301が受信している番組に対応する画像のみを表示する。
【0469】
ビデオ出力に情報を表示するコマンドがチェックされているか否かに関わらず、録画再生プログラム381は、パーソナルコンピュータ301の表示部330に、画面または音声に関係する情報を表示させる。
【0470】
図47は、録画再生プログラム381による、情報の表示の処理を説明するフローチャートである。
【0471】
ステップS361において、録画再生プログラム381は、表示部330に、画面または音声に関係する情報を表示させる。ステップS362において、録画再生プログラム381は、ビデオ出力に情報を表示するコマンドの設定から、コンポジットビデオ信号の設定を取得する。
【0472】
ステップS363において、録画再生プログラム381は、外部のモニタである表示部330に、画面または音声に関係する情報を表示させるか否かを判定し、表示部330に、画面または音声に関係する情報を表示させると判定された場合、ステップS364に進み、画像処理ボード335に、画面または音声に関係する情報に対応するデータを供給し、画像処理ボード335に、コンテンツまたは番組と共に、画面または音声に関係する情報を表示させるコンポジットビデオ信号を出力させ、処理は終了する。
【0473】
ステップS363において、画面または音声に関係する情報を表示させないと判定された場合、ステップS365に進み、録画再生プログラム381は、コンテンツまたは番組のみを表示させるコンポジットビデオ信号を出力させ、処理は終了する。
【0474】
このように、録画再生プログラム381は、表示部330に、画面または音声に関係する情報を表示させると共に、設定に対応して、外部のモニタであるモニタ302に、コンテンツまたは番組と共に、画面または音声に関係する情報を表示させるか、または、コンテンツまたは番組のみを表示させるかを切り換えることができる。
【0475】
このようにすることで、他の機器との接続をその都度変更することなく、例えば、パーソナルコンピュータ301が出力しているコンポジットビデオ信号を分配して、分配されたコンポジットビデオ信号を基に、画像を録画するとき、パーソナルコンピュータ301を操作しても、録画している画像に、画面または音声に関係する情報が含まれないようにすることができる。
【0476】
次に、パーソナルコンピュータ301の、複数の使用者のそれぞれに対応するセッションを切り換える処理について説明する。
【0477】
図48は、セッションの切換を説明する図である。パーソナルコンピュータ301のCPU321が実行する基本プログラムであるオペレーティングシステム401は、アプリケーションプログラムの実行、使用者のログイン、またはパーソナルコンピュータ301のハードウェア若しくはプログラムなどからなるリソースの使用の管理などの処理を実行する。
【0478】
第1の使用者がログインしたとき、オペレーティングシステム401は、第1の使用者に対応するプログラムの設定(いわゆる、環境設定)に基づく処理を、セッションAとして実行する。
【0479】
第1の使用者がログインしたまま、さらに第2の使用者がログインしたとき、オペレーティングシステム401は、第2の使用者に対応するプログラムの設定に基づく処理を、セッションBとして実行する。
【0480】
同様に、所定の人数の使用者がログインしたまま、さらに次の使用者がログインしたとき、オペレーティングシステム401は、次の使用者に対応するプログラムの設定に基づく処理を、次のセッション(例えば、セッションN)として実行する。
【0481】
オペレーティングシステム401は、複数の使用者が同時にログインしているとき、複数の使用者のうちの1人の使用者がパーソナルコンピュータ301を使用する場合、複数のセッションを切り換えて、パーソナルコンピュータ301を使用しようとする使用者に対応するセッションを実行する。
【0482】
このような機能は、例えば、マイクロソフト社のオペレーティングシステムであるWindows(登録商標)XPにおいて、Fast User Switchingとして実現されている。
【0483】
図49乃至図52を参照して、このようなセッションの切り換えにおける、本発明に係るパーソナルコンピュータ301のリソースの使用の管理の処理を説明する。
【0484】
図49は、グループを説明する図である。図49に示すグループには、モジュール411、モジュール412、モジュール413、およびモジュール414が属している。モジュール411、モジュール412、モジュール413、およびモジュール414のそれぞれは、1つのリソースに対応し、例えば、1つのハードウェアまたは1つのソフトウェアに対応する。
【0485】
より具体的に、例示すれば、モジュール411は、録画再生プログラム381に対応し、モジュール412は、予約監視プログラム385に対応し、モジュール413は、画像処理ボード335に対応し、モジュール414は、予約録画設定プログラム384に対応する。
【0486】
図50に示すように、セッションAにおいて、モジュール411が起動されているとき、さらに、セッションAにおいて、モジュール412、モジュール413、およびモジュール414は、起動されるか、または使用が許可される。
【0487】
一方、図51に示すように、セッションAにおいて、モジュール411が起動されているとき、モジュール411と同一のグループに属するモジュール412は、セッションBにおいて、起動が要求されても、起動を許可しない。セッションAにおいて、モジュール411が起動されているとき、セッションBにおいて、モジュール412の起動が要求された場合、モジュール412は、図52に示すように、起動できない旨を示すダイアログボックスを表示部330に表示させる。
【0488】
図53は、モジュール411と同一のグループαに属するモジュール412の起動の処理を説明する図である。グループαに属するモジュール411は、グループαを示すグループ識別データ421を記憶している。グループαに属するモジュール412は、グループαを示すグループ識別データ422を記憶している。
【0489】
グループαに属するモジュール411は、セッションAにおいて、起動されたとき、内部に記憶しているグループ識別データ421を、オペレーティングシステム401に供給する。オペレーティングシステム401は、モジュール411から供給されたグループ識別データ421を基に、セッションAとグループαとの対応を示す実行モジュールグループ識別データ423を生成する。
【0490】
モジュール412は、起動が要求されたとき、オペレーティングシステム401に、実行モジュールグループ識別データ423を要求する。
【0491】
オペレーティングシステム401は、モジュール412の要求に対応して、実行モジュールグループ識別データ423をモジュール412に供給する。
【0492】
モジュール412は、オペレーティングシステム401から供給された実行モジュールグループ識別データ423を基に、他のセッションにおいて、モジュール412が属するグループのモジュールが起動または使用されているか否かを判定する。
【0493】
モジュール412は、他のセッションにおいて、モジュール412が属するグループのモジュールが起動または使用されていないと判定された場合、起動の処理を継続し、他のセッションにおいて、モジュール412が属するグループのモジュールが起動または使用されていると判定された場合、起動を停止する。
【0494】
例えば、モジュール412は、セッションAにおいて、モジュール412が属するグループαのモジュール411が起動または使用されていると判定された場合、起動を停止する。
【0495】
図54は、モジュール412の起動の処理を説明するフローチャートである。ステップS381において、モジュール412は、オペレーティングシステム401から実行モジュールグループ識別データ423を取得する。
【0496】
ステップS382において、モジュール412は、実行モジュールグループ識別データ423および自分自身が記憶しているグループ識別データ422を基に、他のセッションにおいて、モジュー412が属するグループのモジュールが実行されているか否かを判定し、他のセッションにおいて、モジュール412が属するグループのモジュールが実行されていないと判定された場合、ステップS383に進み、モジュー412の起動の処理を継続する。
【0497】
ステップS384において、モジュー412は、オペレーティングシステム401に、モジュール412が属するグループを示す、グループ識別データ422をオペレーティングシステム401に供給し、処理は終了する。オペレーティングシステム401は、グループ識別データ422が供給されたとき、モジュール412が起動されたセッションとモジュール412が属するグループとの対応を示す実行モジュールグループ認識データ423を生成し、記憶する。
【0498】
ステップS382において、他のセッションにおいて、モジュール412が属するグループのモジュールが実行されていると判定された場合、ステップS385に進み、モジュール412は、起動の処理を停止し、処理は終了する。
【0499】
なお、モジュール412が、他のセッションにおいて、モジュール412が属するグループのモジュールが実行されているか否かを判定し、起動の処理を継続するかまたは停止すると説明したが、オペレーティングシステム401が、他のセッションにおいて、モジュール412が属するグループのモジュールが実行されているか否かを判定し、モジュール412の起動の処理を継続するかまたは停止するようにしてもよい。
【0500】
図55は、オペレーティングシステム401による、起動されているモジュールのグループの通知の処理を説明するフローチャートである。
【0501】
ステップS391において、オペレーティングシステム401は、モジュール412が起動しようとされているか否かを判定し、モジュール412が起動しようとされていないと判定された場合、ステップS391に戻り、モジュール412が起動しようとされるまで判定の処理を繰り返す。
【0502】
ステップS391において、モジュール412が起動しようとされていると判定された場合、ステップS392に進み、オペレーティングシステム401は、起動しようとするモジュール412に、実行モジュールグループ識別データ423を供給する。
【0503】
ステップS393において、オペレーティングシステム401は、モジュール412から、グループ識別データ422が供給されたか否かを判定し、グループ識別データ422が供給されたと判定された場合、ステップS394に進み、グループ識別データ422を基に、記憶している実行モジュールグループ識別データ423に、モジュール412が起動されたセッションと、モジュール412が属するグループとの対応を記憶し、処理は終了する。
【0504】
ステップS393において、グループ識別データ422が供給されていないと判定された場合、起動しようとするモジュール412がグループに属していないか、またはモジュール412の起動が停止されたので、モジュール412のセッションとグループとの対応を記憶しないで、処理は終了する。
【0505】
このように、1つのグループに属するモジュールは、1つのセッションのみで起動され、1つのグループに属するモジュールの、複数のセッションに跨る起動または使用が防止される。このようにすることで、複数のセッションが実行されていても、所定のリソースを必要とする、例えば、予約録画の実行などの処理が確実に実行されるようになる。グループを単位として、セッション毎に排他的に占有されるようになるので、特に、複数のモジュールを必要とする処理が、確実に実行されるようになる。
【0506】
なお、本発明において、ネットワーク3は、有線を伝送媒体としたネットワークに限定されるものではなく、無線を伝送媒体とするネットワークでも良い。いわゆる無線LAN、例えば2.4GHz帯の電波を用いるIEEE802.11b規格や、5GHz帯のIEEE802.11a規格などを用いてシステムを構成できることは言うまでもない。
【0507】
また、本発明に係るコンテンツ提供システムは、画像および音声からなるコンテンツに限定されず、音声のみからなるコンテンツを取り扱うようにしてもよく、さらに、文字、プログラム、または数値データなどの情報を取り扱えようにしてもよいことは、勿論である。
【0508】
なお、コンテンツの提供を受けるのは、クライアントとしてのパーソナルコンピュータ2であると説明したが、クライアントは、パーソナルコンピュータ2に限らず、PDA(Personal Digital Assistant)、若しくは携帯電話機などの端末装置、または据え置き型のVCR、DVD(Digital Versatile Disc)記録装置、若しくはハードディスクレコーダなどの記録再生装置などでもよい。
【0509】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【0510】
この記録媒体は、図2、図5、または図34に示すように、コンピュータとは別に、使用者にプログラムを提供するために配布される、プログラムが記録されている磁気ディスク41、磁気ディスク121、若しくは磁気ディスク341(フロッピー(登録商標)ディスクを含む)、光ディスク42、光ディスク122、若しくは光ディスク342(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク43、光磁気ディスク123、若しくは光磁気ディスク343(MD(Mini-Disc)を含む)、若しくは半導体メモリ44、半導体メモリ124、若しくは半導体メモリ344などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態で使用者に提供される、プログラムが記録されているROM22、ROM102、若しくはROM322や、HDD31、HDD111、若しくはHDD331などで構成される。
【0511】
なお、上述した一連の処理を実行させるプログラムは、必要に応じてルータ、モデムなどのインタフェースを介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を介してコンピュータにインストールされるようにしてもよい。
【0512】
また、本明細書において、記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0513】
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【0514】
【発明の効果】
本発明の情報提供システムによれば情報処理装置が、情報提供装置に接続する前に、情報提供装置の機能を特定し、所望するサービスを提供できる情報提供装置を選択することができるようになる。
【0516】
本発明の情報処理装置および方法、並びにプログラムによれば情報提供装置に接続する前に、情報提供装置の機能を特定し、所望するサービスを提供できる情報提供装置を選択することができるようになる。
【図面の簡単な説明】
【図1】コンテンツ提供システムの実施の第1の形態の構成を示す図である。
【図2】サーバ1の構成を示すブロック図である。
【図3】画像処理ボード35の構成を示すブロック図である。
【図4】サーバ1が実行するアプリケーションプログラムを説明する図である。
【図5】パーソナルコンピュータ2の構成を示すブロック図である。
【図6】パーソナルコンピュータ2が実行するプログラムを説明する図である。
【図7】ダイアログボックスの例を示す図である。
【図8】ダイアログボックスの例を示す図である。
【図9】クライアントプログラム131が、表示部110に表示させるウィンドウの例を示す図である。
【図10】ダイアログボックスの例を示す図である。
【図11】クライアントプログラム131が実行する、サーバ1との接続の処理を説明する図である。
【図12】クライアントプログラム131が実行する、サーバ1との接続の処理を説明する図である。
【図13】クライアントプログラム131が、表示部110に表示させるウィンドウの例を示す図である。
【図14】接続データの記憶の処理を説明するフローチャートである。
【図15】接続の処理を説明するフローチャートである。
【図16】チャットプログラム132の起動の処理を説明する図である。
【図17】チャットプログラム132の起動の処理を説明する図である。
【図18】チャットプログラム132の起動の処理を説明する図である。
【図19】チャットプログラム132の起動の処理を説明する図である。
【図20】チャットプログラム132の起動の処理を説明する図である。
【図21】チャットプログラム132の起動の処理を説明する図である。
【図22】チャットプログラム132の起動要求の処理を説明するフローチャートである。
【図23】接続の処理を説明するフローチャートである。
【図24】優先順位のデータの例を示す図である。
【図25】チャンネルの変更の処理を説明するフローチャートである。
【図26】優先順位の変更の処理を説明するフローチャートである。
【図27】バージョンに対応する機能に基づいて、サーバ1を選択する処理を説明する図である。
【図28】機能データ181の例を示す図である。
【図29】画像データの送受信の処理を説明するフローチャートである。
【図30】クライアントプログラム131の構成を説明するブロック図である。
【図31】クライアントプログラム131のより詳細な処理を説明する図である。
【図32】再生速度の変更の処理を説明するフローチャートである。
【図33】コンテンツ提供システムの実施の第2の形態の構成を示すブロック図である。
【図34】パーソナルコンピュータ301の構成を示すブロック図である。
【図35】画像処理ボード335の構成を示すブロック図である。
【図36】パーソナルコンピュータ301が実行するアプリケーションプログラムを説明する図である。
【図37】 APS信号検出部354の構成を示すブロック図である。
【図38】 APS信号の検出の処理を説明するフローチャートである。
【図39】判定の処理の例を説明するフローチャートである。
【図40】判定の処理の他の例を説明するフローチャートである。
【図41】予約録画設定プログラム384が表示部330に表示させるウィンドウの例を示す図である。
【図42】録画再生プログラム381の起動の処理を説明する図である。
【図43】予約録画の開始の処理を説明するフローチャートである。
【図44】情報の表示の処理を説明する図である。
【図45】情報の表示の処理を説明する図である。
【図46】情報の表示の処理を説明する図である。
【図47】情報の表示の処理を説明するフローチャートである。
【図48】セッションを説明する図である。
【図49】グループを説明する図である。
【図50】モジュールの起動を説明する図である。
【図51】モジュールの起動を説明する図である。
【図52】ダイアログボックスの例を示す図である。
【図53】モジュールの起動の処理を説明する図である。
【図54】モジュールの起動の処理を説明する図である。
【図55】グループの通知の処理を説明する図である。
【符号の説明】
1および1−1乃至1−M サーバ, 2および2−1乃至2−N パーソナルコンピュータ, 3 ネットワーク, 21 CPU, 22 ROM, 23 RAM, 31 HDD, 35 画像処理ボード, 41 磁気ディスク, 42 光ディスク, 43 光磁気ディスク, 44 半導体メモリ, 51 チューナ, 52 A/D変換器, 53 セレクタ, 54 エンコーダ, 55 ブリッジ, 56 デコーダ, 57 ネットワークインタフェース, 81 録画再生プログラム, 86 画像サーバプログラム, 87 チャットサーバプログラム, 101 CPU, 102 ROM, 103 RAM, 111 HDD, 115 ネットワークインタフェースカード, 121 磁気ディスク, 122光ディスク, 123 光磁気ディスク, 124 半導体メモリ, 131クライアントプログラム, 132 チャットプログラム, 151 コンボボックス, 152 テキストボックス, 153 チェックボックス, 181 機能データ, 191 バッファ, 192 再生プログラム, 193 再生監視プログラム, 301 パーソナルコンピュータ, 302 モニタ,303 VCR, 321 CPU, 322 ROM, 323 RAM, 331 HDD, 335 画像処理ボード, 341 磁気ディスク, 342 光ディスク, 343 光磁気ディスク, 344 半導体メモリ, 351 チューナ,352 A/D変換器, 353 セレクタ, 354 APS信号検出部, 355 A/D変換器, 356 エンコーダ, 357 ブリッジ, 358 デコーダ, 359 D/A変換器, 360 エンコーダ, 381 録画再生プログラム, 384 予約録画設定プログラム, 385 予約監視プログラム,391 信号検出部, 392 評価値生成部, 393 信号検出部, 394 評価値生成部, 395 判定部, 401 オペレーティングシステム, 411 モジュール, 412 モジュール, 413 モジュール, 414 モジュール, 421 グループ識別データ, 422 グループ識別データ, 423 実行モジュールグループ識別データ

Claims (6)

  1. 動画像のストリーミング配信を行う複数の情報提供装置、および情報処理装置からなる情報提供システムにおいて、
    前記情報提供装置は、
    前記情報処理装置から送信された、自分自身が実行しているプログラムのバージョンの通知要求の受信を制御する第1の受信制御手段と、
    前記バージョンの通知要求が受信された場合、前記情報処理装置に、前記プログラムのバージョンを示すバージョンデータを送信するように、送信を制御する第1の送信制御手段と
    を含み、
    前記情報処理装置は、
    各前記情報提供装置への、前記バージョンの通知要求の送信を制御する第2の送信制御手段と、
    前記プログラムのバージョンデータと、前記情報提供装置が提供する動画像のストリーミング配信に関する機能との対応を示す機能データの記録を制御する記録制御手段と、
    各前記情報提供装置から送信された、前記バージョンデータの受信を制御する第2の受信制御手段と、
    前記機能データおよび前記バージョンデータを基に、各前記情報提供装置の動画像のストリーミング配信に関する機能を特定する特定手段と、
    各前記情報提供装置について前記特定手段により特定された機能のうち使用者の所望する動画像のストリーミング配信に関する機能を提供可能な前記情報提供装置を選択する選択手段と
    を含むことを特徴とする情報提供システム。
  2. 前記情報提供装置は、
    前記情報処理装置に、動画像の画像データを送信するように、送信を制御する第3の送信制御手段
    をさらに含み、
    前記情報処理装置は、
    前記情報提供装置から送信された、動画像の前記画像データの受信を制御する第3の受信制御手段
    をさらに含むことを特徴とする請求項1に記載の情報提供システム。
  3. 動画像のストリーミング配信を行う複数の情報提供装置から提供されたデータを処理する情報処理装置において、
    各前記情報提供装置への、前記情報提供装置が実行しているプログラムのバージョンの通知要求の送信を制御する送信制御手段と、
    前記プログラムのバージョンデータと、前記情報提供装置が提供する動画像のストリーミング配信に関する機能との対応を示す機能データの記録を制御する記録制御手段と、
    各前記情報提供装置から送信された、バージョンデータの受信を制御する第1の受信制御手段と、
    前記機能データおよび前記バージョンデータを基に、各前記情報提供装置の動画像のストリーミング配信に関する機能を特定する特定手段と、
    各前記情報提供装置について前記特定手段により特定された機能のうち使用者の所望する動画像のストリーミング配信に関する機能を提供可能な前記情報提供装置を選択する選択手段と
    を含むことを特徴とする情報処理装置。
  4. 前記情報提供装置から送信された、動画像の前記画像データの受信を制御する第2の受信制御手段
    をさらに含むことを特徴とする請求項3に記載の情報処理装置。
  5. 動画像のストリーミング配信を行う複数の情報提供装置から提供されたデータを処理する情報処理装置の情報処理方法において、
    各前記情報提供装置への、前記情報提供装置が実行しているプログラムのバージョンの通知要求の送信を制御する送信制御処理ステップと、
    前記プログラムのバージョンデータと、前記情報提供装置が提供する動画像のストリーミング配信に関する機能との対応を示す機能データの記録を制御する記録制御処理ステップと、
    各前記情報提供装置から送信された、バージョンデータの受信を制御する受信制御処理ステップと、
    前記機能データおよび前記バージョンデータを基に、各前記情報提供装置の動画像のストリーミング配信に関する機能を特定する特定処理ステップと、
    各前記情報提供装置について前記特定処理ステップの処理により特定された機能のうち使用者の所望する動画像のストリーミング配信に関する機能を提供可能な前記情報提供装置を選択する選択処理ステップと
    を含むことを特徴とする情報処理方法。
  6. 動画像のストリーミング配信を行う複数の情報提供装置から提供されたデータを処理する情報処理装置を制御するコンピュータに、
    各前記情報提供装置への、前記情報提供装置が実行しているサーバプログラムのバージョンの通知要求の送信を制御する送信制御処理ステップと、
    前記サーバプログラムのバージョンデータと、前記情報提供装置が提供する動画像のストリーミング配信に関する機能との対応を示す機能データの記録を制御する記録制御処理ステップと、
    各前記情報提供装置から送信された、バージョンデータの受信を制御する受信制御処理ステップと、
    前記機能データおよび前記バージョンデータを基に、各前記情報提供装置の動画像のストリーミング配信に関する機能を特定する特定処理ステップと、
    各前記情報提供装置について前記特定処理ステップの処理により特定された機能のうち使用者の所望する動画像のストリーミング配信に関する機能を提供可能な前記情報提供装置を選択する選択処理ステップと
    を実行させるプログラム。
JP2001274572A 2001-09-11 2001-09-11 情報提供システム、情報処理装置および方法、並びにプログラム Expired - Fee Related JP4929551B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001274572A JP4929551B2 (ja) 2001-09-11 2001-09-11 情報提供システム、情報処理装置および方法、並びにプログラム
US10/237,331 US7296055B2 (en) 2001-09-11 2002-09-09 Information providing system, information providing apparatus, information providing method, information processing apparatus, information processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001274572A JP4929551B2 (ja) 2001-09-11 2001-09-11 情報提供システム、情報処理装置および方法、並びにプログラム

Publications (2)

Publication Number Publication Date
JP2003085065A JP2003085065A (ja) 2003-03-20
JP4929551B2 true JP4929551B2 (ja) 2012-05-09

Family

ID=19099579

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001274572A Expired - Fee Related JP4929551B2 (ja) 2001-09-11 2001-09-11 情報提供システム、情報処理装置および方法、並びにプログラム

Country Status (1)

Country Link
JP (1) JP4929551B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5272414B2 (ja) * 2008-01-18 2013-08-28 富士通セミコンダクター株式会社 情報処理システム及びファームウェア実行方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3688464B2 (ja) * 1997-05-06 2005-08-31 株式会社東芝 端末装置、サーバ装置、通信装置および制御方法
JPH11110158A (ja) * 1997-10-01 1999-04-23 Minolta Co Ltd 画像形成システム及びクライアント装置
JP2000066848A (ja) * 1998-08-21 2000-03-03 Konica Corp 画像印刷装置、印刷制御装置および画像印刷システム
JP2000322393A (ja) * 1999-05-13 2000-11-24 Nec Soft Ltd 運用管理システム
JP2001075921A (ja) * 1999-09-03 2001-03-23 Fuji Xerox Co Ltd サービス処理装置およびサービス実行制御方法
JP3740346B2 (ja) * 2000-02-04 2006-02-01 キヤノン株式会社 サーバ装置およびデバイス装置およびデータ処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体

Also Published As

Publication number Publication date
JP2003085065A (ja) 2003-03-20

Similar Documents

Publication Publication Date Title
JP3590577B2 (ja) 再生モード切替方法及びマルチメディア情報再生方法及びマルチメディア情報再生装置
US20070189709A1 (en) Video editing system
EP1455531A2 (en) Information apparatus and resource control method
JP2007174642A (ja) ストリーミング再生中にコンテンツ再生装置を変更する方法及び該装置
KR100763715B1 (ko) 정보 처리 장치 및 방법, 정보 제공 장치 및 방법, 및 컴퓨터 판독가능 매체
JP2003087693A (ja) 情報処理装置および方法、並びにプログラム
KR100393417B1 (ko) 공연 실황을 중계하는 인터넷 방송 방법 및 그 장치
EP1458195A2 (en) Information apparatus and mail control method
JP4315914B2 (ja) 画像再生装置及び画像再生方法
JP2008521365A (ja) マルチメディアコンテンツの安全な転送およびプレイバックのための方法および装置
US7296055B2 (en) Information providing system, information providing apparatus, information providing method, information processing apparatus, information processing method, and program
JP2003087761A (ja) 情報提供システム、情報処理装置および方法、並びにプログラム
JP4929551B2 (ja) 情報提供システム、情報処理装置および方法、並びにプログラム
JP2003087768A (ja) 情報処理装置および方法、並びにプログラム
JP2003087696A (ja) 情報処理装置および方法、並びにプログラム
JP3202343B2 (ja) 情報記録再生装置
JP5144771B2 (ja) 画像処理装置、画像再生装置、画像記録装置、画像処理方法、画像再生方法、及び画像記録方法
JP2003087703A (ja) 情報処理装置および方法、画像情報生成装置および方法、並びにプログラム
JP2003087719A (ja) 判定装置および方法、並びにプログラム
JP2003085113A (ja) 情報提供システム、情報提供装置および方法、情報処理装置および方法、並びにプログラム
JP2007214861A (ja) テレビチャットシステム、テレビチャット端末装置、テレビチャットサーバ、テレビチャットサービス提供方法
JP4600891B2 (ja) Av装置、及びav装置における放送録画方法
JP2006270793A (ja) ダイジェスト録画システム
JP3332228B2 (ja) 画像記録システム
JP2004515022A (ja) 情報記録媒体のプログラム仕様情報提供方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080903

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110203

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110404

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110913

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111111

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120117

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120130

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150224

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees