(57)【特許請求の範囲】
【請求項１】
音声もしくは画像またはその双方を第１形式データとして送出する第１通信装置と、第２形式データの音声もしくは画像またはその双方を再生して出力する第２通信装置との間の通信を可能にするゲートウエイ装置であって、
第１通信装置から受けた第１形式データを、第１仮想デバイスドライバ手段に与える第１形式データ処理手段と、
前記第１形式データを受けて、当該第１形式データに基づいて出力機器を駆動することのできる駆動データを生成し、当該駆動データをバッファ部に記憶する第１仮想デバイスドライバ手段と、
出力用ドライバ手段からの駆動データを記憶するバッファ部と、
バッファ部に記憶された駆動データを読み出し、当該駆動データに基づいて第２形式データを生成する第２仮想デバイスドライバ手段と、
前記第２仮想デバイスドライバ手段から受けた第２形式データを、第２通信装置に出力する第２形式データ処理手段と、
を備えたゲートウエイ装置。
【請求項２】
コンピュータによってゲートウエイ装置を実現するためのゲートウエイプログラムであって、
当該ゲートウエイプログラムは、コンピュータを
第１通信装置から受けた第１形式データを、第１仮想デバイスドライバ手段に与える第１形式データ処理手段と、
前記第１形式データを受けて、当該第１形式データに基づいて出力機器を駆動することのできる駆動データを生成し、当該駆動データをバッファ部に記憶する第１仮想デバイスドライバ手段と、
バッファ部に記憶された駆動データを読み出し、当該駆動データに基づいて第２形式データを生成する第２仮想デバイスドライバ手段と、
前記第２仮想デバイスドライバ手段から受けた第２形式データを、第２通信装置に出力する第２形式データ処理手段と、
して機能させるためのゲートウエイプログラム。
【請求項３】
コンピュータによってゲートウエイ機能を実現するための仮想デバイスドライバ・プログラム・セットであって、
当該仮想デバイスドライバ・プログラム・セットは、コンピュータを、
第１通信装置が出力した第１形式データを直接的または間接的に受けて、当該第１形式データに基づいて出力機器を駆動することのできる駆動データを生成し、当該駆動データをバッファ部に記憶する第１仮想デバイスドライバ手段と、
バッファ部に記憶された駆動データを読み出し、当該駆動データに基づいて、第２通信装置のための第２形式データを生成する第２仮想デバイスドライバ手段と、
して機能させるための仮想デバイスドライバ・プログラム・セット。
【請求項４】
コンピュータによってゲートウエイ機能を実現するための出力用仮想デバイスドライバ・プログラムであって、
当該出力用仮想デバイスドライバ・プログラムは、コンピュータを、
第１通信装置が出力した第１形式データを直接的または間接的に受けて、当該第１形式データに基づいて出力機器を駆動することのできる駆動データを生成する手段と、
入力用仮想デバイスドライバが読み出して第２通信装置のための第２形式データを生成できるように、前記駆動データをバッファ部に記憶する手段と、
して機能させるための出力用仮想デバイスドライバ・プログラム。
【請求項５】
コンピュータによってゲートウエイ機能を実現するための入力用仮想デバイスドライバ・プログラムであって、
当該入力用仮想デバイスドライバ・プログラムは、コンピュータを、
第１通信装置が出力した第１形式データに基づいて生成された出力機器を駆動することのできる駆動データを記憶したバッファ部から、当該駆動データを読み出す手段と、
読み出した駆動データに基づいて、第２通信装置のための第２形式データを生成する手段と、
して機能させるための入力用仮想デバイスドライバ・プログラム。
【請求項６】
請求項１〜５のいずれかの装置、プログラムセットまたはプログラムにおいて、
前記第１仮想デバイスドライバ手段または出力用仮想デバイスドライバプログラムは、
ステレオ形式の第１形式データに基づいて、ステレオ−モノラル変換を行い、モノラル形式の駆動データを生成することを特徴とするもの。
【請求項７】
請求項１〜５のいずれかの装置、プログラムセットまたはプログラムにおいて、
前記第１仮想デバイスドライバ手段または出力用仮想デバイスドライバプログラムは、
モノラル形式の第１形式出力用データに基づいて、モノラル−ステレオ変換を行い、ステレオ形式の駆動データを生成することを特徴とするもの。
【請求項８】
請求項１〜５のいずれかの装置、プログラムセットまたはプログラムにおいて、
前記第２仮想デバイスドライバ手段または入力用仮想デバイスドライバプログラムは、
ステレオ形式の駆動データに基づいて、ステレオ−モノラル変換を行い、モノラル形式の第２形式データを生成することを特徴とするもの。
【請求項９】
請求項１〜５のいずれかの装置、プログラムセットまたはプログラムにおいて、
前記第２仮想デバイスドライバ手段または入力用仮想デバイスドライバプログラムは、
モノラル形式の駆動データに基づいて、モノラル−ステレオ変換を行い、ステレオ形式の第２形式データを生成することを特徴とするもの。
【請求項１０】
請求項１〜９のいずれかの装置、プログラム・セットまたはプログラムにおいて、
前記バッファ部を介さずに、第１仮想デバイスドライバ手段が、第２仮想デバイスドライバ手段に駆動データを与えることを特徴とするもの。
【請求項１１】
音声もしくは画像またはその双方を第１形式データとして送出する第１通信装置と、第２〜第ｎ形式データの音声もしくは画像またはその双方を再生して出力する第２〜第ｎ通信装置との間の通信を可能にするゲートウエイ装置であって、
第１通信装置から受けた第１形式データを、第１仮想デバイスドライバ手段に与える第１形式データ処理手段と、
前記第１形式データを受けて、当該第１形式データに基づいて出力機器を駆動することのできる駆動データを生成し、当該駆動データをバッファ部に記憶する第１仮想デバイスドライバ手段と、
出力用ドライバ手段からの駆動データを記憶するバッファ部と、
バッファ部に記憶された駆動データを読み出し、当該駆動データに基づいて第２〜第ｎ形式データをそれぞれ生成する第２〜第ｎ仮想デバイスドライバ手段と、
前記第２〜第ｎ仮想デバイスドライバ手段から受けた第２〜第ｎ形式データを、それぞれ第２〜第ｎ通信装置に出力する第２〜第ｎ形式データ処理手段と、
を備えたゲートウエイ装置。
【請求項１２】
コンピュータによってゲートウエイ装置を実現するためのゲートウエイプログラムであって、
当該ゲートウエイプログラムは、コンピュータを
第１通信装置から受けた第１形式データを、第１仮想デバイスドライバ手段に与える第１形式データ処理手段と、
前記第１形式データを受けて、当該第１形式データに基づいて出力機器を駆動することのできる駆動データを生成し、当該駆動データをバッファ部に記憶する第１仮想デバイスドライバ手段と、
バッファ部に記憶された駆動データを読み出し、当該駆動データに基づいて第２〜第ｎ形式データをそれぞれ生成する第２〜第ｎ仮想デバイスドライバ手段と、
前記第２〜第ｎ仮想デバイスドライバ手段から受けた第２〜第ｎ形式データを、それぞれ第２〜第ｎ通信装置に出力する第２〜第ｎ形式データ処理手段と、
して機能させるためのゲートウエイプログラム。
【請求項１３】
請求項１１または１２の装置、プログラム・セットまたはプログラムにおいて、
前記バッファ部を介さずに、第１仮想デバイスドライバ手段が、第２〜第ｎ仮想デバイスドライバ手段に駆動データを与えることを特徴とするもの。
【請求項１４】
音声もしくは画像またはその双方を第１形式データとして送出する第１通信装置と、第２形式データの音声もしくは画像またはその双方を再生して出力する第２通信装置との間の通信を可能にするゲートウエイ方法であって、コンピュータが、
第１通信装置から受けた第１形式データを、第１仮想デバイスドライバ手段に与え、
前記第１形式データを受けて、当該第１形式データに基づいて出力機器を駆動することのできる駆動データを生成し、当該駆動データをバッファ部に記憶し、
バッファ部に記憶された駆動データを読み出し、当該駆動データに基づいて第２形式データを生成し、
前記第２形式データを、第２通信装置に出力することを特徴とするゲートウエイ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は異なる規格の通信装置間での通信を可能とするゲートウエイ装置に関するものである。
【背景技術】
【０００２】
図１３に、従来のゲートウエイ装置を用いたテレビ電話システムを示す。テレビ電話端末装置２、６は、マイク、スピーカ、カメラ、ディスプレイを有している。テレビ電話端末装置２が用いているデータ規格やプロトコルと、テレビ電話端末装置６が用いているデータ規格やプロトコルは異なっている。したがって、テレビ電話端末装置２のマイクで取得された音声データやカメラで取得された画像データを、そのまま、テレビ電話端末装置６に与えても、スピーカやディスプレイにおいて再生することができない。テレビ電話端末装置６からテレビ電話端末装置２に送信される音声データや画像データについても同様である。
【０００３】
そこで、この従来技術では、テレビ電話端末装置２とテレビ電話端末装置６との間に、ゲートウエイ装置４が設けられている。ゲートウエイ装置４は、テレビ電話端末装置２とプロトコルを合致させて、音声データ、画像データを受信する。さらに、受信した音声データ、画像データのデータ規格を、テレビ電話端末装置６が使用しているデータ規格に変換する。続いて、変換した音声データ、画像データを、テレビ電話端末装置６のプロトコルに合致させて送信する。このようにして、テレビ電話端末装置２の音声、画像を、テレビ電話端末装置６において再生することができる。なお、テレビ電話端末装置６からテレビ電話端末装置２への音声画像の送信も、同じようにして行われる。
【０００４】
たとえば、特許文献１にはこのようなゲートウエイ装置が開示されている。
【０００５】
【特許文献１】特開２００４−０１５７９４。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記のような従来の技術では、接続される端末装置のプロトコルおよびデータ規格を完全に把握して、変換を正確に行わなければならない。このため、まず、全ての種類の端末装置についてのプロトコルを正確に知った上で、ゲートウエイ装置のプログラムを作成しなければならなかった。さらに、バージョンアップなどによって端末装置のデータ規格が変更された場合には、ゲートウエイ装置における変換処理プログラムをその変更内容に合致するように作り変える必要があった。特に、ゲートウエイ装置４が多くの種類の端末装置についての変換を行っている場合には、変換処理プログラムの変更が極めて困難であった。
【０００７】
この発明は上記の問題点を解決して、プロトコルやデータ規格への依存度が少ないゲートウエイ装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
(1)この発明に係るゲートウエイ装置は、音声もしくは画像またはその双方を第１形式データとして送出する第１通信装置と、第２形式データの音声もしくは画像またはその双方を再生して出力する第２通信装置との間の通信を可能にするゲートウエイ装置であって、第１通信装置から受けた第１形式データを、第１仮想デバイスドライバ手段に与える第１形式データ処理手段と、前記第１形式データを受けて、当該第１形式データに基づいて出力機器を駆動することのできる駆動データを生成し、当該駆動データをバッファ部に記憶する第１仮想デバイスドライバ手段と、出力用ドライバ手段からの駆動データを記憶するバッファ部と、バッファ部に記憶された駆動データを読み出し、当該駆動データに基づいて第２形式データを生成する第２仮想デバイスドライバ手段と、前記第２仮想デバイスドライバ手段から受けた第２形式データを、第２通信装置に出力する第２形式データ処理手段とを備えている。
【０００９】
したがって、出力機器を駆動する駆動データを媒介として、容易にデータ変換を行うことができる。
【００１０】
(2)この発明に係るゲートウエアプログラムは、コンピュータによってゲートウエイ装置を実現するためのゲートウエイプログラムであって、当該ゲートウエイプログラムは、コンピュータを
第１通信装置から受けた第１形式データを、第１仮想デバイスドライバ手段に与える第１形式データ処理手段と、前記第１形式データを受けて、当該第１形式データに基づいて出力機器を駆動することのできる駆動データを生成し、当該駆動データをバッファ部に記憶する第１仮想デバイスドライバ手段と、バッファ部に記憶された駆動データを読み出し、当該駆動データに基づいて第２形式データを生成する第２仮想デバイスドライバ手段と、前記第２仮想デバイスドライバ手段から受けた第２形式データを、第２通信装置に出力する第２形式データ処理手段として機能させるためのものである。
【００１１】
したがって、出力機器を駆動する駆動データを媒介として、容易にデータ変換を行うことができる。
【００１２】
(3)この発明に係る可動デバイスドライバ・プログラム・セットは、コンピュータによってゲートウエイ機能を実現するための仮想デバイスドライバ・プログラム・セットであって、当該仮想デバイスドライバ・プログラム・セットは、コンピュータを、
第１通信装置が出力した第１形式データを直接的または間接的に受けて、当該第１形式データに基づいて出力機器を駆動することのできる駆動データを生成し、当該駆動データをバッファ部に記憶する第１仮想デバイスドライバ手段と、バッファ部に記憶された駆動データを読み出し、当該駆動データに基づいて、第２通信装置のための第２形式データを生成する第２仮想デバイスドライバ手段として機能させるためのものである。
【００１３】
したがって、出力機器を駆動する駆動データを媒介として、容易にデータ変換を行うことができる。
【００１４】
(4)この発明に係る出力用仮想デバイスドライバ・プログラムは、コンピュータによってゲートウエイ機能を実現するための出力用仮想デバイスドライバ・プログラムであって、当該出力用仮想デバイスドライバ・プログラムは、コンピュータを、
第１通信装置が出力した第１形式データを直接的または間接的に受けて、当該第１形式データに基づいて出力機器を駆動することのできる駆動データを生成する手段と、入力用仮想デバイスドライバが読み出して第２通信装置のための第２形式データを生成できるように、前記駆動データをバッファ部に記憶する手段として機能させるためのものである。
【００１５】
したがって、出力機器を駆動するデバイスドライバとして駆動データを生成することができ、駆動データを用いたデータ変換を容易に行うことができる。
【００１６】
(5)この発明に係る入力用仮想デバイスドライバ・プログラムは、コンピュータによってゲートウエイ機能を実現するための入力用仮想デバイスドライバ・プログラムであって、当該入力用仮想デバイスドライバ・プログラムは、コンピュータを、
第１通信装置が出力した第１形式データに基づいて生成された出力機器を駆動することのできる駆動データを記憶したバッファ部から、当該駆動データを読み出す手段と、読み出した駆動データに基づいて、第２通信装置のための第２形式データを生成する手段として機能させるためのものである。
【００１７】
したがって、入力機器を駆動するデバイスドライバとして駆動データを処理することができ、駆動データを用いたデータ変換を容易に行うことができる。
【００１８】
(6)この発明に係るゲートウエイ装置は、第１仮想デバイスドライバ手段または出力用仮想デバイスドライバプログラムが、ステレオ形式の第１形式データに基づいて、ステレオ−モノラル変換を行い、モノラル形式の駆動データを生成することを特徴としている。
【００１９】
したがって、ステレオ方式とモノラル方式の違いを吸収することができる。
【００２０】
(7)この発明に係るゲートウエイ装置は、第１仮想デバイスドライバ手段または出力用仮想デバイスドライバプログラムが、モノラル形式の第１形式出力用データに基づいて、モノラル−ステレオ変換を行い、ステレオ形式の駆動データを生成することを特徴としている。
【００２１】
したがって、ステレオ方式とモノラル方式の違いを吸収することができる。
【００２２】
(8)この発明に係るゲートウエイ装置は、第２仮想デバイスドライバ手段または入力用仮想デバイスドライバプログラムが、ステレオ形式の駆動データに基づいて、ステレオ−モノラル変換を行い、モノラル形式の第２形式データを生成することを特徴としている。
【００２３】
したがって、ステレオ方式とモノラル方式の違いを吸収することができる。
【００２４】
(9)この発明に係るゲートウエイ装置は、第２仮想デバイスドライバ手段または入力用仮想デバイスドライバプログラムが、モノラル形式の駆動データに基づいて、モノラル−ステレオ変換を行い、ステレオ形式の第２形式データを生成することを特徴としている。
【００２５】
したがって、ステレオ方式とモノラル方式の違いを吸収することができる。
【００２６】
(10)この発明に係るゲートウエイ装置は、バッファ部を介さずに、第１仮想デバイスドライバ手段が、第２仮想デバイスドライバ手段に駆動データを与えることを特徴としている。
【００２７】
したがって、バッファ部を設ける必要がなく、構成を簡素化することができる。
【００２８】
(11)この発明に係るゲートウエイ装置は、音声もしくは画像またはその双方を第１形式データとして送出する第１通信装置と、第２〜第ｎ形式データの音声もしくは画像またはその双方を再生して出力する第２〜第ｎ通信装置との間の通信を可能にするゲートウエイ装置であって、
第１通信装置から受けた第１形式データを、第１仮想デバイスドライバ手段に与える第１形式データ処理手段と、前記第１形式データを受けて、当該第１形式データに基づいて出力機器を駆動することのできる駆動データを生成し、当該駆動データをバッファ部に記憶する第１仮想デバイスドライバ手段と、出力用ドライバ手段からの駆動データを記憶するバッファ部と、バッファ部に記憶された駆動データを読み出し、当該駆動データに基づいて第２〜第ｎ形式データをそれぞれ生成する第２〜第ｎ仮想デバイスドライバ手段と、前記第２〜第ｎ仮想デバイスドライバ手段から受けた第２〜第ｎ形式データを、それぞれ第２〜第ｎ通信装置に出力する第２〜第ｎ形式データ処理手段とを備えている。
【００２９】
したがって、出力機器を駆動する駆動データを媒介として、複数の通信装置に対して容易にデータ変換を行うことができる。
【００３０】
(12)この発明に係るゲートウエイプログラムは、コンピュータによってゲートウエイ装置を実現するためのゲートウエイプログラムであって、当該ゲートウエイプログラムは、コンピュータを
第１通信装置から受けた第１形式データを、第１仮想デバイスドライバ手段に与える第１形式データ処理手段と、前記第１形式データを受けて、当該第１形式データに基づいて出力機器を駆動することのできる駆動データを生成し、当該駆動データをバッファ部に記憶する第１仮想デバイスドライバ手段と、バッファ部に記憶された駆動データを読み出し、当該駆動データに基づいて第２〜第ｎ形式データをそれぞれ生成する第２〜第ｎ仮想デバイスドライバ手段と、前記第２〜第ｎ仮想デバイスドライバ手段から受けた第２〜第ｎ形式データを、それぞれ第２〜第ｎ通信装置に出力する第２〜第ｎ形式データ処理手段として機能させるためのものである。
【００３１】
したがって、出力機器を駆動する駆動データを媒介として、複数の通信装置に対して容易にデータ変換を行うことができる。
【００３２】
(13)この発明に係るゲートウエイ装置は、バッファ部を介さずに、第１仮想デバイスドライバ手段が、第２〜第ｎ仮想デバイスドライバ手段に駆動データを与えることを特徴としている。
【００３３】
したがって、バッファ部を設ける必要がなく、構成を簡素化することができる。
【００３４】
(14)この発明に係るゲートウエイ方法は、音声もしくは画像またはその双方を第１形式データとして送出する第１通信装置と、第２形式データの音声もしくは画像またはその双方を再生して出力する第２通信装置との間の通信を可能にするゲートウエイ方法であって、コンピュータが、
第１通信装置から受けた第１形式データを、第１仮想デバイスドライバ手段に与え、前記第１形式データを受けて、当該第１形式データに基づいて出力機器を駆動することのできる駆動データを生成し、当該駆動データをバッファ部に記憶し、バッファ部に記憶された駆動データを読み出し、当該駆動データに基づいて第２形式データを生成し、前記第２形式データを、第２通信装置に出力することを特徴としている。
【００３５】
したがって、出力機器を駆動する駆動データを媒介として、容易にデータ変換を行うことができる。
【００３６】
この発明において、「音声」とは、人の声だけでなく音楽等も含む概念である。また、モノラル音声だけでなく、ステレオ音声も含む概念である。
【００３７】
「画像」とは、動画だけでなく静止画も含む概念である。
【００３８】
「出力機器」とは、音声・画像を出力する機器をいい、スピーカ、ディスプレイ、プロッタやその制御回路などを含む概念である。
【００３９】
「駆動データ」とは、出力機器を駆動することのできるデータをいう。
【００４０】
「第１形式データ処理手段」は、実施形態においては、第１端末プログラム５２がこれに該当する。
【００４１】
「第２形式データ処理手段」は、実施形態においては、第２端末プログラム５４がこれに該当する。
【００４２】
「第１仮想出力デバイスドライバ手段」は、実施形態においては、第１仮想出力デバイスドライバ５６がこれに該当する。
【００４３】
「第２仮想出力デバイスドライバ手段」は、実施形態においては、第２仮想出力デバイスドライバ５８がこれに該当する。
【００４４】
「駆動データ生成手段」は、実施形態においては、図３のステップＳ２２がこれに対応する。
【００４５】
「記憶制御手段」は、実施形態においては、図３のステップＳ２３がこれに対応する。
【００４６】
「読出制御手段」は、実施形態においては、図４のステップＳ５がこれに対応する。
【００４７】
「第２形式データ生成手段」は、実施形態においては、図４のステップＳ６がこれに対応する。
【００４８】
「プログラム」とは、ＣＰＵにより直接実行可能なプログラムだけでなく、ソース形式のプログラム、圧縮処理がされたプログラム、暗号化されたプログラム等を含む概念である。
【発明を実施するための形態】
【００４９】
１．第１の実施形態
1.1全体構成
図１に、この発明の一実施形態によるゲートウエイ装置１０の構成を示す。このゲートウエイ装置１０には、第１通信装置１２、第２通信装置１４が通信回線（インターネット、公衆回線、ＬＡＮなど）を介して接続されている。
【００５０】
ゲートウエイ装置１０は、受信部１６、第１形式データ処理手段１８、駆動データ生成手段２０、第１仮想デバイスドライバ手段３４、バッファ部２４、第２仮想デバイスドライバ手段３６、第２形式データ処理手段３０、送信部３２を備えている。
【００５１】
第１通信装置１２では、音声・画像がマイク・カメラによって取り込まれ、第１形式データによる音声データ・画像データが取得される。
【００５２】
受信部１６は、第１通信装置１２から第１形式データによる音声データ、画像データを受け取る。第１形式データ処理手段１８は、この第１形式データによる音声データ、画像データを、第１仮想デバイスドライバ手段３４に与える。
【００５３】
第１仮想デバイスドライバ手段３４の駆動データ生成手段２０は、第１形式データによる音声データ・画像データを受けて、当該音声データ・画像データを出力する出力機器を駆動することのできる駆動データに変換する。第１仮想デバイスドライバ手段３４の記憶制御手段２２は、駆動データをバッファ部２４に記憶する。
【００５４】
第２仮想デバイスドライバ手段３６の読出制御手段２６は、バッファ部２４に記憶された駆動データを順次読み出す。第２仮想デバイスドライバ手段３６の第２形式データ生成手段２８は、この駆動データを、第２通信装置が処理可能な第２形式データによる音声データ・画像データに変換する。
【００５５】
第２形式データ処理手段３０は、第２形式データによる音声データ・画像データを送信部３２に渡す。送信部３２は、これを第２通信装置１４に送信する。
【００５６】
第２通信装置１４は、この第２形式データによる音声データ・画像データを、スピーカ、ディスプレイから再生する。
【００５７】
1.2ハードウエア構成
図２に、ゲートウエイ装置１０のハードウエア構成を示す。ＣＰＵ４０には、メモリ２４、通信部４２、ハードディスク４４、ＣＤ−ＲＯＭドライブ４６が接続されている。メモリ２４は、バッファ部などのワークエリアとして用いられる。通信部４２は、第１通信装置１２、第2通信装置１４との通信を行うためのものである。ハードディスク４４には、オペレーティングシステム（ＯＳ）５０、第１端末プログラム５２、第２端末プログラム５４、第１仮想出力デバイスドライバ５６，第２仮想入力デバイスドライバ５８が記録されている。これらのプログラムは、ＣＤ−ＲＯＭ４８に記録されていたものであり、ＣＤ−ＲＯＭドライブ４６を介してインストールされたものである。
【００５８】
第１端末プログラム５２、第２端末プログラム５４、第１仮想出力デバイスドライバ５６，第２仮想入力デバイスドライバ５８は、オペレーティングシステム５０と協働してその機能を発揮する。
【００５９】
第１端末プログラム５２は、第１通信装置１２において用いられているテレビ電話のための端末プログラムと同じものである。したがって、第１通信装置１２のプログラムからみると、ゲートウエイ装置１０は相手方端末装置として認識されることとなる。
【００６０】
第２端末プログラム５４は、第２通信装置１４において用いられているテレビ電話のための端末プログラムと同じものである。したがって、第２通信装置１４のプログラムからみると、ゲートウエイ装置１０は相手方端末装置として認識されることとなる。
【００６１】
第１仮想出力デバイスドライバ５６は、図１の第１仮想出力デバイスドライバ手段３４を構築するためのプログラムであり、第２仮想入力デバイスドライバ５８は、図１の第２仮想入力デバイスドライバ手段３６を構築するためのプログラムである。
【００６２】
上記のように、この実施形態では、実際に使用されている端末プログラムを用い、仮想デバイスドライバを用意するだけで、ゲートウエイ装置を構築することができる。また、仮想デバイスドライバは、標準的に用意されているものに修正（出力先をバッファに変更、相手方仮想デバイスドライバとのタイミング調整、データ形式変換など）を施すことによって得ることができる。
【００６３】
1.3ゲートウエイ処理
図３に、ハードディスク４４に記録された第１仮想デバイスドライバ５６のフローチャートを示す。音声データ、画像データのそれぞれについて第１仮想出力デバイスドライバ５６が用意されるが、ここでは、音声データの第１仮想出力デバイスドライバ５６を例として説明する。なお、画像データの第１仮想出力デバイスドライバ５６も、処理内容は同様である。
【００６４】
まず、ステップＳ１において、第１端末プログラム５２は、ＯＳ５０に対して、第１仮想出力デバイスドライバ５６の使用を指定する。図５に、第１端末プログラム５２、ＯＳ５０、第１仮想出力デバイスドライバ５６の関係を模式的に示す。ステップＳ１における第１仮想出力デバイスドライバ５６の指定は、図５における指令「waveOutOpen」に該当する。
【００６５】
これを受けて、ＯＳ５０は、第１仮想出力デバイスドライバ５６を、第１端末プログラム５２の出力ドライバとして結びつける(ステップＳ１１）。
【００６６】
次に、第１端末プログラム５２は、第１通信装置１２から、圧縮音声データを受信し、伸長して音声データを得る（ステップＳ２）。続いて、音声データ（第１形式データ）を、ＯＳ５０を介して、第１仮想出力デバイスドライバ５６に出力する(ステップＳ３）。ステップＳ３における音声データの出力は、図５における「waveOutWrite」に該当する。なお、この実施形態では、ＰＣＭによる音声データ（ＷＡＶＥ形式）を音声データとして出力する。
【００６７】
音声データを受けたＯＳ５０は、これを第１仮想出力デバイスドライバ５６に渡す（ステップＳ１２）。音声データを受けた第１仮想出力デバイスドライバ５６は(ステップＳ２１）、この音声データに基づいて、出力機器である音声ボード（およびスピーカ）を駆動することのできる駆動データを生成する（ステップＳ２２）。この駆動データは、音声波形の波形値を時間軸に沿ってディジタル化したデータであり、スピーカから出力される音声を直接的に示すディジタルデータである。したがって、通信規格やプロトコルにかかわらず、共通に用いることのできるデータである。
【００６８】
なお、第１端末プログラム５２の出力する音声データが、第１仮想出力デバイスドライバ５６が扱うことのできないデータである場合、フィルタ５５によってデータ形式を変換してから、第１仮想出力デバイスドライバ５６に渡す（図５参照）。
【００６９】
第１仮想出力デバイスドライバ５６は、生成した駆動データをバッファ２４に出力する（ステップＳ２３）。なお、本来であれば、出力デバイスドライバは駆動データを音声ボードに出力するが、この実施形態では、バッファ２４に出力するようにしている。つまり、この実施形態では、バッファ２４が音声ボードの代わりとなっている。
【００７０】
バッファ２４への書き込みは、図７に示すように、メモリ２４に設けられた書き込みポインタに記述されたアドレスＡＤＤ１にしたがって行う。第１仮想出力デバイスドライバ５６は、１サンプル分の駆動データを書き終えると、この書き込みポインタのアドレスを１サンプル分増加させる。このようにして、アドレスを順次増加させながら、駆動データを順番に書き込んでいく。なお、この実施形態では、バッファ２４はリングバッファとしている。また、アドレスＡＤＤ１の指定は、絶対アドレスによる指定であっても、相対アドレスによる指定であってもよい（以下のアドレス指定においても同様である）。
【００７１】
第１端末プログラム５２が音声データを受信して、第１仮想出力デバイスドライバ５６がバッファ２４に駆動データを書き込むまでの処理は、繰り返して行われる。
【００７２】
なお、上記では音声データについて説明したが、画像データについても同じような処理がなされる。画像データは、第１仮想出力デバイスドライバ５６によってディスプレイボード（およびディスプレイ）を駆動することのできる駆動データ（たとえば、ＲＧＢデータ）に変換され、バッファ２４に記憶される。
【００７３】
図４に、ハードディスク４４に記録された第２仮想デバイスドライバ５８のフローチャートを示す。なお、図４の処理は、図３の処理と並行して実行される。音声データ、画像データのそれぞれについて第２仮想入力デバイスドライバ５８が用意されるが、ここでは、音声データの第２仮想入力デバイスドライバ５８を例として説明する。なお、画像データの第２仮想入力デバイスドライバ５８も、処理内容は同様である。
【００７４】
まず、ステップＳ２５において、第２端末プログラム５４は、ＯＳ５０に対して、第２仮想入力デバイスドライバ５８の使用を指定する。図６に、第２端末プログラム５４、ＯＳ５０、第２仮想入力デバイスドライバ５８の関係を模式的に示す。ステップＳ２５における第２仮想入力デバイスドライバ５８の指定は、図６における指令「waveInOpen」に該当する。
【００７５】
これを受けて、ＯＳ５０は、第２仮想入力デバイスドライバ５８を、第２端末プログラム５４の入力ドライバとして結びつける(ステップＳ１５）。
【００７６】
次に、第２仮想入力デバイスドライバ５８は、バッファ２４に記憶されている駆動データを読み出す（ステップＳ５）。第２仮想入力デバイスドライバ５８は、図７に示す読出ポインタ（メモリ２４）に記述された読出アドレスＡＤＤ２にしたがって、バッファ２４から駆動データを読み出す。第２仮想入力デバイスドライバ２４は、１サンプル分の駆動データを読み出すと、読み出しポインタのアドレスを１サンプル分増加させる。このようにして、順次アドレスを増加させながら、駆動データを順番に読み出していく。
【００７７】
第２仮想入力デバイスドライバ５８は、読み出した駆動データに基づいて、第２通信装置１４が再生可能な音声データ（第２形式データ）を生成する（ステップＳ６）。この実施形態では、ＰＣＭによる音声データ（ＷＡＶＥ形式）を生成する。続いて、第２仮想入力デバイスドライバ５８は、この音声データを、ＯＳ５０を介して、第２端末プログラム５４に渡す（ステップＳ１６、Ｓ２６）。この処理は、図６における「waveInRead」に該当する。
【００７８】
なお、第２仮想入力デバイスドライバ５８からの音声データが、第２端末プログラム５４が扱うことのできないデータである場合、フィルタ（または指定したライブラリ）によってデータ形式を変換してから、第２端末プログラム５４に渡す。
【００７９】
入力デバイスドライバは、本来、マイクなどの入力機器からのデータを受けて、これを音声データにして第２端末プログラム５４に渡すものであるが、この実施形態では、バッファ２４に記憶された駆動データを読み出して音声データを生成するようにしている。つまり、この実施形態では、バッファ２４がマイクの代わりとなっている。
【００８０】
音声データを受けた第２端末プログラム５４は、音声データを圧縮した後、第２通信装置１４に送信する（ステップＳ２７）。
【００８１】
第２仮想入力デバイスドライバ５８が駆動データを読み出して、第２端末プログラム５４に渡すまでの処理は、繰り返して行われる。
【００８２】
なお、上記では音声データについて説明したが、画像データについても同じような処理がなされる。第２仮想入力デバイスドライバ５８の出力する画像データが、第２端末プログラム５４が扱うことのできないものである場合には、第２端末プログラム５４は、画像変換のためのライブラリを指定する。このライブラリによって、第２端末プログラム５４が扱うことのできる画像データ（たとえば、ＭＰＥＧデータ）に変換される。
【００８３】
なお、上記では、第１通信装置１２から第２通信装置１４に向けてデータを送る場合について説明したが、第２通信装置１４から第１通信装置１２に向けてデータを送る場合についても、同様の構成によって実現することができる。この場合には、第１形式データに対応した第１仮想入力デバイスドライバ、第２形式データに対応した第２仮想出力デバイスドライバを用意すればよい。
【００８４】
上記において説明した画像データは、基本的に静止画データであるが、静止画データを時間的に連続させることによって、動画データとすることができる。
【００８５】
２．その他の実施形態
上記実施形態では、第１端末プログラム５２、第２端末プログラム５４のいずれもが、端末装置間で直接接続するためのプログラムである（図８Ａ参照）。しかし、図８Ｂに示すように、通信サーバ装置１１を介して通信を行う形式の端末プログラムについても適用することができる。
【００８６】
また、図８Ｂにおける通信サーバ装置１１とゲートウエイ装置１０は、同一の装置として構築してもよい。
【００８７】
上記各実施形態では、テレビ電話システムとして説明を行った。しかし、図９に示すように、ゲートウエイ装置１０を介して、３つ以上の通信装置１２、１４、１５による通信を行うようにしてもよい（テレビ会議システム）。
【００８８】
図９に示すようなシステムを構築する場合のゲートウエイ装置１０の構成を図１０に示す。各端末プログラム５２１、５２２、５２３に対応して、それぞれ、仮想出力デバイスドライバ５６１、５６２、５６３、仮想入力デバイスドライバ５８１、５８２、５８３が設けられている。バッファ２４には、各端末プログラムごとに、データを記憶する領域が設けられている。各仮想出力デバイスドライバ５６１、５６２、５６３は、それぞれの駆動データをバッファ２４に記憶する。一方、各仮想入力デバイスドライバ５８１、５８２、５８３は、他の端末の駆動データを読み出して変換し、端末プログラムに渡す。たとえば、第１仮想入力デバイスドライバ５８１であれば、第２仮想出力デバイスドライバ５６２、第３仮想出力デバイスドライバ５６３がバッファ２４に記憶した駆動データを読み出すことになる。このようにすれば、第１通信装置において、第２通信装置、第３通信装置の音声・画像を出力することができる。したがって、テレビ会議システムを構築することができる。
【００８９】
上記実施形態では、音声信号がモノラルである場合について説明した。しかし、左信号、右信号について同様の処理を行えば、ステレオ信号についても適用することができる。
【００９０】
なお、第１端末プログラム５２がステレオ信号を送信し、第２端末プログラム５４がモノラル信号を再生するものである場合には、両者のデータを合致させる必要がある。たとえば、図１１に示すように、第１仮想出力デバイスドライバ５６において、生成したステレオ駆動データを合成してモノラルの駆動データとし、これをバッファ２４に記憶する。これにより、第２端末プログラム５４は、バッファ２４からモノラルの駆動データを読み出して処理することができる。なお、第１形式データの段階でモノラル化し、このモノラル化した第１形式データを駆動データに変換するようにしてもよい。
【００９１】
また、図１２Ａに示すように、第２仮想入力デバイスドライバ５８の側にて、ステレオ−モノラルの変換を行うようにしてもよい。つまり、第１仮想出力デバイスドライバ５６は、バッファ２４に、左信号の駆動データ、右信号の駆動データを記憶する。第２仮想入力デバイスドライバ５８は、これを読み出して合成し、モノラルの駆動データを生成する。そして、このモノラルの駆動データを第２形式データに変換する。
【００９２】
なお、第１端末プログラム５２がモノラル信号を送信し、第２端末プログラム５４がステレオ信号を再生するものである場合には、図１１Ｂに示すように第１仮想出力デバイスドライバを構成すればよい。つまり、モノラルの第１形式データに基づいてモノラルの駆動データを生成し、これをステレオ化（２つの同じ駆動データを生成する）してバッファ２４に記憶する。
【００９３】
また、図１２Ｂに示すように、第２仮想入力デバイスドライバ５８の側にて、モノラル−ステレオの変換を行うようにしてもよい。つまり、第１仮想出力デバイスドライバ５６は、バッファ２４に、モノラルの駆動データを記憶する。第２仮想入力デバイスドライバ５８は、これを読み出してステレオ化し第２形式データを生成する。
【００９４】
上記各実施形態では、バッファ２４を介して第１仮想出力デバイスドライバ５６と第２仮想入力デバイスドライバ５８がデータを交換している。しかし、バッファ２４を介さずに、直接データ交換を行うようにしてもよい。
【００９５】
上記各実施形態では、図１の各手段をソフトウエアによって実現しているが、その一部または全部をハードウエア回路によって実現してもよい。
【図面の簡単な説明】
【００９６】
【図１】この発明の一実施形態によるゲートウエイ装置１０の機能的構成を示す図である。
【図２】ゲートウエイ装置のハードウエア構成図である。
【図３】第１仮想出力デバイスドライバ５６のフローチャートである。
【図４】第２仮想入力デバイスドライバ５８のフローチャートである。
【図５】第１端末プログラム５２、ＯＳ５０、デバイスドライバ５６の関係を示す図である。
【図６】第２端末プログラム５４、ＯＳ５０、デバイスドライバ５８の関係を示す図である。
【図７】バッファ２４の構成を示す図である。
【図８】図８Ａは、第１通信装置１２、第２通信装置１４、ゲートウエイ装置１０による通信システムを示す図である。図８Ｂは、他の実施形態による通信システムを示す図である。
【図９】他の実施形態によるテレビ会議システムの構成を示す図である。
【図１０】図９の実施形態における仮想デバイスドライバを示す図である。
【図１１】図１１Ａは、ステレオ−モノラル変換の例を示す図である。図１１Ｂは、モノラル−ステレオ変換の例を示す図である。
【図１２】図１２Ａは、ステレオ−モノラル変換の例を示す図である。図１２Ｂは、モノラル−ステレオ変換の例を示す図である。
【図１３】従来のゲートウエイ装置を示す図である。
【符号の説明】
【００９７】
１８・・・第１形式データ処理手段
２４・・・バッファ部
３４・・・第１仮想出力デバイスドライバ手段
３６・・・第２仮想出力デバイスドライバ手段
３０・・・第２形式データ処理手段
【図１】
0004395485.tif 000002
【図２】
0004395485.tif 000003
【図３】
0004395485.tif 000004
【図４】
0004395485.tif 000005
【図５】
0004395485.tif 000006
【図６】
0004395485.tif 000007
【図７】
0004395485.tif 000008
【図８】
0004395485.tif 000009
【図９】
0004395485.tif 000010
【図１０】
0004395485.tif 000011
【図１１】
0004395485.tif 000012
【図１２】
0004395485.tif 000013
【図１３】
0004395485.tif 000014