(57)【特許請求の範囲】
【請求項１】
他の情報処理装置とバスを介して接続される情報処理装置において、
前記他の情報処理装置との通信を制御する通信制御手段と、
所定のAPIを利用して前記通信制御手段から出力された、前記他の情報処理装置に対するトランザクションを前記バスを介して出力するドライバと
を備え、
前記ドライバは、
仮想的なプラグの条件を設定するレジスタを有し、前記通信制御手段により前記所定のAPIを利用して前記レジスタに設定された条件に従ってハードウエアとしてのバスのインタフェースを制御して前記他の情報処理装置との通信を行わせる制御手段と、
前記レジスタの初期化に用いられる情報を管理する管理手段と
を内部に含み、
前記制御手段は、情報処理装置がオンまたはリセットされたとき、初期値としての、データレートとプラグ数を含む情報を前記管理手段から取得し、前記レジスタに設定する
ことを特徴とする情報処理装置。
【請求項２】
他の情報処理装置とバスを介して接続される、
前記他の情報処理装置との通信を制御する通信制御手段と、
所定のAPIを利用して前記通信制御手段から出力された、前記他の情報処理装置に対するトランザクションを前記バスを介して出力するドライバと
を備え、
前記ドライバが、
仮想的なプラグの条件を設定するレジスタを有し、前記通信制御手段により前記所定のAPIを利用して前記レジスタに設定された条件に従ってハードウエアとしてのバスのインタフェースを制御して前記他の情報処理装置との通信を行わせる制御手段と、
前記レジスタの初期化に用いられる情報を管理する管理手段と
を内部に含む情報処理装置の情報処理方法において、
情報処理装置がオンまたはリセットされたとき、初期値としての、データレートとプラグ数を含む情報を前記管理手段から取得し、前記レジスタに設定する
ステップを含むことを特徴とする情報処理方法。
【請求項３】
他の情報処理装置とバスを介して接続される、
前記他の情報処理装置との通信を制御する通信制御手段と、
所定のAPIを利用して前記通信制御手段から出力された、前記他の情報処理装置に対するトランザクションを前記バスを介して出力するドライバと
を備え、
前記ドライバが、
仮想的なプラグの条件を設定するレジスタを有し、前記通信制御手段により前記所定のAPIを利用して前記レジスタに設定された条件に従ってハードウエアとしてのバスのインタフェースを制御して前記他の情報処理装置との通信を行わせる制御手段と、
前記レジスタの初期化に用いられる情報を管理する管理手段と
を内部に含む情報処理装置の処理をコンピュータに実行させるプログラムが記録された提供媒体において、
情報処理装置がオンまたはリセットされたとき、初期値としての、データレートとプラグ数を含む情報を前記管理手段から取得し、前記レジスタに設定する
ステップを含む処理を実行させるコンピュータが読み取り可能なプログラムを提供することを特徴とする提供媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置および方法、並びに提供媒体に関し、特に、迅速に伝送経路を確立することができるようにした情報処理装置および方法、並びに提供媒体に関する。
【０００２】
【従来の技術】
図６は、受信装置１１が、IEEE1394シリアルバス１０を介して、MD(Mini Disk)装置（以下、単に、MDと称する）１２に接続されている接続例を表している。例えば、IRD(Integrated Receiver/Decoder)で構成される受信装置１１は、衛星放送を受信し、そのうちの、例えば、ディジタルオーディオ信号を、さらに、IEEE1394シリアルバス１０を介して、MD１２に伝送することができる。
【０００３】
MD１２は、IEEE1394シリアルバス１０を介して、受信装置１１と通信することができ、受信装置１１から伝送されてくるデータを受信し、録音することができる。
【０００４】
図７は、受信装置１１の内部の構成例を表している。操作部２１は、CPU２５に所定の命令を入力するときユーザにより適宜操作される。表示部２２は、所定の映像情報を表示する。受信部２３は、アンテナ２３Ａを介して、衛星から伝送されてくる電波を受信し、操作部２１の操作により指定された番組の信号を抽出する。
【０００５】
IEEE1394Ｉ／Ｆ２４（インタフェース）は、IEEE1394規格のプロトコルに従って、IEEE1394シリアルバス１０との間のインタフェース処理を行う。
【０００６】
CPU２５は、ROM２６に記憶されている各種のプログラムに従って、各種の動作を実行する。RAM２７は、CPU２５が各種の処理を実行する上において必要な各種データを適宜記憶する。インタフェース２８は、操作部２１乃至IEEE1394Ｉ／Ｆ２４とCPU２５との間のインタフェース処理を実行する。
【０００７】
図８は、受信装置１１のROM２６に記憶され、CPU２５が実行する、IEEE1394シリアルバス１０に対するインタフェース処理のプログラムの機能的構成例を表している。
【０００８】
仮想プラグ管理部３４は、IEEE1394シリアルバス１０との間の通信を制御するPCR(Plug Control Register)３６を管理している。PCR３６は、出力プラグoPCR(Output Plug Control Register)３６ｏと入力プラグiPCR(Input Plug Control Register)３６ｉから構成される。図９は、これらレジスタ内の割付を表している。図９（Ａ）に示すように、oPCR３６ｏには、データが伝送されるチャンネル番号を示す"Channel number"など、８個の事項が記憶される。また、図９（Ｂ）に示すように、iPCR３６ｉには、データが伝送されてくるチャンネル番号を示す"Channel number"など、６個の事項が記憶される。
【０００９】
また、oPCR３６ｏおよびiPCR３６iの他に、IEEE1394Ｉ／Ｆ２４のハードウエアの能力を記憶するoMPR(Output Master Plug Register)とiMPR(Input Master Plug Register)が存在する。図１０（Ａ）に示すように、oMPRには、IEEE1394Ｉ／Ｆ２４のハードウエアの伝送速度能力を示す"Data rate capability"や出力プラグ数を示す"Number of output plugs"など、６個の事項が記憶される。また  iMPRには、図１０（Ｂ）に示すように、伝送速度能力を示す"Data rate capability"や入力プラグ数を示す"Number of  input plugs"など、６個の事項が記憶される。
【００１０】
図１１は、PCR３６に記憶される各レジスタのアドレスマップを表している。例えば、アドレスFFFFF0000900hにはoMPR、アドレスFFFFF0000980hには、iMPRが記憶され、アドレスFFFFF0000904h乃至FFFFF000097ChにはoPCR３５ｏ、アドレスFFFFF0000984h乃至FFFFF00009FChにはiPCR３６ｉが記憶されるようになっている。この例の場合、oPCR３６ｏおよびiPCR３６ｉは、それぞれ最大３1個形成される。
【００１１】
図１２は、PCR３６に設定可能なデータレートを表しており、IEEE1394規格においては、S100（100Mbps），S200(200Mbps)，S400(400Mbps)の３つのデータレート（伝送速度）が用意されている。
【００１２】
上述したPCR３６は、受信装置１１がオンまたはリセットされたとき、仮想プラグ管理部３４により、初期化され、初期値が設定される。このとき、必要なデータ（例えば、データレートやプラグ数など）は、IEEE1394デバイスドライバ３３を介してハードウエア依存処理部３５から読み出される。
【００１３】
次に、伝送経路を確立する処理手順に沿って、各部を説明する。アプリケーション部３１は、例えばMD12に、受信装置１１が受信した番組の信号を伝送する場合、受信装置１１とMD１２との間に伝送経路を確立することを、通信制御部３２に指令する。
【００１４】
通信制御部３２は、アプリケーション部３１からの指令に対応して、IEEE1394デバイスドライバ３３とやり取りして、IEEE1394シリアルバス１０のデータ伝送に必要な帯域幅（データレート）とチャンネルを獲得させる。帯域幅は、IEEE1394シリアルバス１０に接続されている図示せぬIRM(Isochronous Resource Manager)が管理する、BANDWIDTH AVAILABLE registerに書かれている現在使用可能な帯域の帯域数から、確保する帯域の帯域数を差し引くことにより、獲得される。また、チャンネルは、やはりIRMが管理するCHANNELS AVAILABLE register上の未使用なチャンネル(CH)のビットを確保することにより獲得される。
【００１５】
通信制御部３２は次に、データを伝送する仮想プラグを確保するために、リードトランザクションを仮想プラグ管理部３４に出力する。
【００１６】
仮想プラグ管理部３４は、通信制御部３２からのリードトランザクションに対応して、PCR３６のうち、出力プラグoPCR３６ｏを読み出し、その読み出した結果を、リードレスポンストランザクションとして通信制御部３２に出力する。通信制御部３２は、このリードレスポンストランザクションから出力プラグのうちの空きプラグがあることを確認したら、それを確保するために、仮想プラグ管理部３４に、ライトトランザクションを出力する。仮想プラグ管理部３４は、このライトトランザクションに対応して、oPCR３６ｏに、所定の事項（確保された帯域幅（データレート）やチャンネルなど）を書き込む。そして仮想プラグ管理部３４は、oPCR３６ｏに設定された条件に従って、IEEE1394シリアルバス１０を介して実際に通信ができるように、IEEE1394Ｉ／Ｆ２４のハードウエアを制御する。
【００１７】
通信制御部３２は次に、MD１２の入力プラグを確保するために、ライトトランザクションをIEEE1394デバイスドライバ３３に出力する。IEEE1394デバイスドライバ３３は、通信制御部３２からのライトトランザクションをIEEE1394シリアルバス１０に出力する。MD１２は、IEEE1394シリアルバス１０から、受信装置１１の通信制御部３２からのライトトランザクションを受信したとき、そのライトトランザクションに対応して、MD１２の入力プラグiPCRに、所定の事項（確保された帯域幅やチャンネルなど）を書き込む。MD１２は、iPCRへの書き込みが成功するとその旨を、ライトレスポンストランザクションとして、IEEE1394シリアルバス１０に出力する。通信制御部３２は、MD１２からのライトレスポンストランザクションを受け取り、MD12のiPCRへの書き込みが成功したことを確認すると、IEEE1394シリアルバス１０を介して、実際にデータをMD１２に伝送させる。
【００１８】
なお、PCRの設定は、Specifications of Digital Interface for Cunsumer Electronic Audio/Video EquipmentのPCRへのアクセスルールに従う。
【００１９】
【発明が解決しようとする課題】
上述したように、仮想プラグ管理部３４は、PCR３６を初期化する際、データレートやプラグ数などのハードウエアに依存する情報を、IEEE1394デバイスドライバ３３に、正確にはハードウエア依存処理部３５に問い合わせる必要があり、PCRの初期化を迅速に実施できないばかりか、仮想プラグ管理部３４からIEEE1394デバイスドライバ３３への問い合わせをインタフェースするAPIが必要となり、その分コスト高になる課題がある。
【００２０】
また、MD１２との間に伝送経路を確立する場合、上述したように、通信制御部３２は、所定の事項（獲得させた帯域幅とチャンネルなど）のライトトランザクションを、仮想プラグ管理部３４とMD１２に出力するが、この際、それぞれ異なるAPIを用いる必要があり、コスト高になるばかりか、処理が煩雑になる課題がある。
【００２１】
本発明はこのような状況に鑑みてなされたものであり、迅速にPCRを初期化するとともに、迅速に伝送経路を確立できるようにするものである。
【００２２】
【課題を解決するための手段】
本発明の情報処理装置は、他の情報処理装置とバスを介して接続される情報処理装置において、前記他の情報処理装置との通信を制御する通信制御手段と、所定のAPIを利用して前記通信制御手段から出力された、前記他の情報処理装置に対するトランザクションを前記バスを介して出力するドライバとを備え、前記ドライバは、仮想的なプラグの条件を設定するレジスタを有し、前記通信制御手段により前記所定のAPIを利用して前記レジスタに設定された条件に従ってハードウエアとしてのバスのインタフェースを制御して前記他の情報処理装置との通信を行わせる制御手段と、前記レジスタの初期化に用いられる情報を管理する管理手段とを内部に含み、前記制御手段は、情報処理装置がオンまたはリセットされたとき、初期値としての、データレートとプラグ数を含む情報を前記管理手段から取得し、前記レジスタに設定することを特徴とする。
本発明の情報処理方法、または記録媒体に記録されているプログラムは、情報処理装置がオンまたはリセットされたとき、初期値としての、データレートとプラグ数を含む情報を管理手段から取得し、レジスタに設定するステップを含むことを特徴とする。
【００２５】
本発明においては、プラグ制御情報の初期化時、初期化に必要な情報が処理手段から取得され、プラグ制御情報の初期化が行われる。
【００２６】
【発明の実施の形態】
【００２８】
図１は、本発明を適用した受信装置１１の機能的構成例を表している。なお、受信装置１１のハードウエアの構成例は、図７に示した場合と同様であるので、その説明は省略する。
【００２９】
IEEE1394デバイスドライバ３３は、ハードウエア依存処理部３５を含み、さらにハードウエア依存処理部３５が仮想プラグ管理部３４を含む構成となっている。
【００３０】
次に、図１の受信装置１１において、PCRを初期化する場合の処理手順を説明する。受信装置１１がオンまたはリセットされると、仮想プラグ管理部３４はPCR３６を初期化するが、仮想プラグ管理部３４は、上述したように、ハードウエア依存処理部３５に含まれているので、PCR３６の初期化に必要な情報、例えば、データレートやプラグ数を、ハードウエア依存処理部３５と通信することなく、すなわち、APIを利用することなく、直接入手することができので、PCRの初期化を迅速に実行することができる。
【００３１】
図２は、このようにして形成されたPCRのアドレスマップを表している。この例では、受信装置１１の入出力系統が１つであるので、oPCRおよびiPCRはそれぞれ１つづつ形成されている。
【００３２】
次に、データを伝送する場合の処理手順を、図３のフローチャートを参照して説明する。
【００３３】
ユーザが受信装置１１の操作部２１を操作し、所定の番組（例えば、音声のみの番組）を受信し、その信号を、MD１２に伝送するように指令すると、はじめに、ステップＳ１において、アプリケーション部３１は、通信制御部３２に、受信装置１１とMD１２との間に伝送経路を確立することを指令する。ステップＳ２において、通信制御部３２は、IEEE1394デバイスドライバ３３に、データ伝送に必要な帯域幅（データレート）とチャンネルを獲得するように要求する。
【００３４】
ステップＳ３において、IEEEデバイスドライバ３３は、帯域幅とチャンネルの獲得を試み、その獲得に成功した場合、ステップＳ４に進む。いまの例の場合、帯域幅BW1と第５チャンネル（以下、CH5と略称する）を獲得できたものとする。
【００３５】
次に、通信制御部３２は、データを伝送するプラグを確保するために、ステップＳ４において、所定のAPIを利用して、リードトランザクションを、IEEE1394デバイスドライバ３３に出力する。いまの場合、リードトランザクションのディスティネーションIDは、受信装置１１（自分自身）のノードIDとされているので、IEEE1394デバイスドライバ３３は、ステップＳ５において、そのリードトランザクションを、仮想プラグ管理部３４に転送する。
【００３６】
ステップＳ６において、仮想プラグ管理部３４は、通信制御部３２からのリードトランザクションに対応して、自分自身のoPCR３６ｏを読み出し、その読み出し結果を、リードレスポンストランザクションとして通信制御部３２に出力する。
【００３７】
次に、ステップＳ７において、通信制御部３２は、仮想プラグ管理部３４からのリードレスポンストランザクションから、出力プラグのうちの空きプラグがある否かを確認し、空きプラグがあると確認した場合、ステップＳ８において、その空きプラグを確保するために、ライトトランザクションをIEEE1394デバイスドライバ３３に出力する。このライトトランザクションのディスティネーションIDも、受信装置１１のノードIDとされているので、IEEE1394デバイスドライバ３３は、ステップＳ９において、そのライトトランザクションを、仮想プラグ管理部３４に転送する。
【００３８】
ステップＳ１０において、仮想プラグ管理部３４は、通信制御部３２からのライトトランザクションに対応して、oPCR３６ｏに、所定の事項（確保された帯域幅BW1とCH5）を書き込む。図４（Ａ）は、このようにして書き込まれたoPCR例を表している。この例の場合、IEEE1394データレートは、Ｓ１００であるので、欄Data rateには、０が記憶されている。oPCR３６ｏの書き込み結果を、ライトレスポンストランザクションとして通信制御部３２に出力する。
【００３９】
ステップ１１において、通信制御部３２は、このライトレスポンストランザクションから、oPCR３６ｏへの書き込みが成功したか否かを確認し、書き込みが成功したことを確認した場合、ステップＳ１２に進み、仮想プラグ管理部３４に、oPCR３６ｏに設定された条件（帯域幅BW1，CH5）に従って、IEEE1394Ｉ／Ｆ２４のハードウエアを制御するように要求する。ステップＳ１３において、仮想プラグ管理部３４は、oPCR３６ｏに設定された条件に従って、IEEEシリアルバス１０を介して実際に通信ができるように、IEEE1394Ｉ／Ｆ２４のハードウエアを制御する。
【００４０】
次に、ステップＳ１４において、通信制御部３２は、ステップＳ４で利用した同一のAPIを利用して、MD12のiPCRに、所定の事項（帯域幅BW1およびCH5）を書き込むためのライトトランザクションをIEEE1394デバイスドライバ３３に出力する。いまの場合、ライトトランザクションのディスティネーションIDが、MD１２のノードID、つまり、外部の機器であるので、IEEE1394デバイスドライバ３３は、ステップＳ１５において、そのライトトランザクションを、IEEE1394シリアルバス１０に出力する。
【００４１】
ステップＳ１６において、MD１２は、IEEE1394シリアルバス１０から、受信装置１１より出力されたライトトランザクションを受信し、iPCRへ書き込む。図４（Ｂ）は、このようにして所定の事項が書き込まれたiPCRの例を表している。MD１２は、その書き込み結果を、ライトレスポンストランザクションとして、IEEE1394シリアルバス１０から、仮想プラグ管理部３４を介して通信制御部３２に出力する。ステップＳ１７において、通信制御部３２は、このライトレスポンストランザクションから、MD１２におけるiPCRへの書き込みが成功したか否かを確認し、書き込みが成功したことを確認した場合、ステップＳ１８に進む。
【００４２】
ステップＳ１８において、通信制御部３２は、IEEE1394シリアルバス１０を介して、データをMD１２に伝送させ、そして伝送されたことを確認すると、伝送経路が確立された旨を、アプリケーション部３１に通知し、処理が終了する。
【００４３】
ステップＳ３で、帯域幅とチャンネルの獲得に失敗した場合、ステップＳ２０において、IEEE1394デバイスドライバ３３は、その旨を通信制御部３２を介して、アプリケーション部３１に通知する。
【００４４】
ステップＳ７で、空きプラグが存在しないと確認された場合、ステップＳ１１で、仮想プラグ管理部３４のoPCR３６ｏへの書き込みが失敗したことが確認された場合、または、ステップＳ１７で  MD１２のiPCRへの書き込みが失敗したことが確認された場合、ステップＳ１９において、通信制御部３２は、ステップＳ３で獲得した帯域幅BW１とCH5を返却し、MD１２との伝送経路確立の失敗を、アプリケーション部３１に通知する。
【００４５】
以上のように、仮想プラグ管理部３４が、ハードウエア依存処理部３５とともに、IEEEデバイスドライバ３３に含まれるので、例えば、通信制御部３２は、共通のAPIにより、トランザクションを仮想プラグ管理部３４およびMD１２に出力することができる。
【００４６】
図５は、本発明を適用した受信装置１１の他の機能上の構成例を表す。この例では、仮想プラグ管理部３４は、IEEE1394Ｉ／Ｆ２４のハードウエア内に設けられている。例えば、通信制御部３２から出力されたトランザクションは、IEEE1394デバイスドライバ３３を介して、ハードウエア依存処理部３５に入力される。ハードウエア依存処理部３５は、そのトランザクションを、仮想プラグ管理部３４に出力する。
【００４７】
IEEE1394Ｉ／Ｆ２４は、仮想プラグ管理部３４のPCR３６にアクセスし、その結果をハードウエア依存処理部３５に通知する。
【００４８】
このように、ハードウエア（いまの場合、IEEE1394Ｉ／Ｆ２４）に仮想プラグ管理部３４を設けることより、PCR３６のやり取りをさらに、迅速に行うことができる。
【００４９】
なお、上記したような処理を行うコンピュータプログラムをユーザに提供する提供媒体としては、磁気ディスク、CD-ROM、固体メモリなどの記録媒体の他、ネットワーク、衛星などの通信媒体を利用することができる。
【００５０】
【発明の効果】
本発明によれば、迅速に通信を制御することができる。
【図面の簡単な説明】
【図１】本発明を適用した受信装置の機能的構成例を表すブロック図である。
【図２】  PCRのアドレスマップの例を表す図である。
【図３】伝送経路を確立する処理手順を説明するフローチャートである。
【図４】  oPCRおよびiPCRの割付の例を表す図である。
【図５】本発明を適用した受信装置の機能的な他の構成例を表すブロック図である。
【図６】従来の受信装置の接続例を表す図である。
【図７】従来の受信装置の内部の構成例を表す図である。
【図８】従来の受信装置の機能的構成例を表す図である。
【図９】  oPCRおよびiPCRの割付を説明する図である。
【図１０】  MPRのアドレスマップの例を表す図である。
【図１１】  PCRのアドレスマップの他の例を表す図である。
【図１２】データレートエンコーディングの例を表す図である。
【符号の説明】
１１  受信装置，  １２  ＭＤ，  操作部２１，  ２２  表示部，  ２３  受信部，  ２４  IEEE1394Ｉ／Ｆ，  ２５  CPU，  ２６  ROM，  RAM，  ２８  インタフェース，  ３１  アプリケーション部，  ３２  通信制御部，  ３３  IEEE1394デバイスドライバ，  ３４  仮想プラグ管理部，  ３５  ハードウエア管理部，  ３６  PCR
【図１】
0004129603.tif 000002
【図２】
0004129603.tif 000003
【図３】
0004129603.tif 000004
【図４】
0004129603.tif 000005
【図５】
0004129603.tif 000006
【図６】
0004129603.tif 000007
【図７】
0004129603.tif 000008
【図８】
0004129603.tif 000009
【図９】
0004129603.tif 000010
【図１０】
0004129603.tif 000011
【図１１】
0004129603.tif 000012
【図１２】
0004129603.tif 000013