説明

ゲートウエイ装置

【課題】 プロトコルやデータ規格への依存度が少ないゲートウエイ装置を提供する。
【解決手段】 第1通信装置12では、音声・画像がマイク・カメラによって取り込まれ、第1形式データによる音声データ・画像データが取得される。第1仮想デバイスドライバ手段34の駆動データ生成手段20は、第1形式データによる音声データ・画像データを受けて、当該音声データ・画像データを出力する出力機器を駆動することのできる駆動データに変換する。第1仮想デバイスドライバ手段34の記憶制御手段22は、駆動データをバッファ部24に記憶する。第2仮想デバイスドライバ手段36の読出制御手段26は、バッファ部24に記憶された駆動データを順次読み出す。第2仮想デバイスドライバ手段36の第2形式データ生成手段28は、この駆動データを、第2通信装置が処理可能な第2形式データによる音声データ・画像データに変換する。第2通信装置14は、この第2形式データによる音声データ・画像データを、スピーカ、ディスプレイから再生する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は異なる規格の通信装置間での通信を可能とするゲートウエイ装置に関するものである。
【背景技術】
【0002】
図13に、従来のゲートウエイ装置を用いたテレビ電話システムを示す。テレビ電話端末装置2、6は、マイク、スピーカ、カメラ、ディスプレイを有している。テレビ電話端末装置2が用いているデータ規格やプロトコルと、テレビ電話端末装置6が用いているデータ規格やプロトコルは異なっている。したがって、テレビ電話端末装置2のマイクで取得された音声データやカメラで取得された画像データを、そのまま、テレビ電話端末装置6に与えても、スピーカやディスプレイにおいて再生することができない。テレビ電話端末装置6からテレビ電話端末装置2に送信される音声データや画像データについても同様である。
【0003】
そこで、この従来技術では、テレビ電話端末装置2とテレビ電話端末装置6との間に、ゲートウエイ装置4が設けられている。ゲートウエイ装置4は、テレビ電話端末装置2とプロトコルを合致させて、音声データ、画像データを受信する。さらに、受信した音声データ、画像データのデータ規格を、テレビ電話端末装置6が使用しているデータ規格に変換する。続いて、変換した音声データ、画像データを、テレビ電話端末装置6のプロトコルに合致させて送信する。このようにして、テレビ電話端末装置2の音声、画像を、テレビ電話端末装置6において再生することができる。なお、テレビ電話端末装置6からテレビ電話端末装置2への音声画像の送信も、同じようにして行われる。
【0004】
たとえば、特許文献1にはこのようなゲートウエイ装置が開示されている。
【0005】
【特許文献1】特開2004−015794。
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、上記のような従来の技術では、接続される端末装置のプロトコルおよびデータ規格を完全に把握して、変換を正確に行わなければならない。このため、まず、全ての種類の端末装置についてのプロトコルを正確に知った上で、ゲートウエイ装置のプログラムを作成しなければならなかった。さらに、バージョンアップなどによって端末装置のデータ規格が変更された場合には、ゲートウエイ装置における変換処理プログラムをその変更内容に合致するように作り変える必要があった。特に、ゲートウエイ装置4が多くの種類の端末装置についての変換を行っている場合には、変換処理プログラムの変更が極めて困難であった。
【0007】
この発明は上記の問題点を解決して、プロトコルやデータ規格への依存度が少ないゲートウエイ装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
(1)この発明に係るゲートウエイ装置は、音声もしくは画像またはその双方を第1形式データとして送出する第1通信装置と、第2形式データの音声もしくは画像またはその双方を再生して出力する第2通信装置との間の通信を可能にするゲートウエイ装置であって、第1通信装置から受けた第1形式データを、第1仮想デバイスドライバ手段に与える第1形式データ処理手段と、前記第1形式データを受けて、当該第1形式データに基づいて出力機器を駆動することのできる駆動データを生成し、当該駆動データをバッファ部に記憶する第1仮想デバイスドライバ手段と、出力用ドライバ手段からの駆動データを記憶するバッファ部と、バッファ部に記憶された駆動データを読み出し、当該駆動データに基づいて第2形式データを生成する第2仮想デバイスドライバ手段と、前記第2仮想デバイスドライバ手段から受けた第2形式データを、第2通信装置に出力する第2形式データ処理手段とを備えている。
【0009】
したがって、出力機器を駆動する駆動データを媒介として、容易にデータ変換を行うことができる。
【0010】
(2)この発明に係るゲートウエアプログラムは、コンピュータによってゲートウエイ装置を実現するためのゲートウエイプログラムであって、当該ゲートウエイプログラムは、コンピュータを
第1通信装置から受けた第1形式データを、第1仮想デバイスドライバ手段に与える第1形式データ処理手段と、前記第1形式データを受けて、当該第1形式データに基づいて出力機器を駆動することのできる駆動データを生成し、当該駆動データをバッファ部に記憶する第1仮想デバイスドライバ手段と、バッファ部に記憶された駆動データを読み出し、当該駆動データに基づいて第2形式データを生成する第2仮想デバイスドライバ手段と、前記第2仮想デバイスドライバ手段から受けた第2形式データを、第2通信装置に出力する第2形式データ処理手段として機能させるためのものである。
【0011】
したがって、出力機器を駆動する駆動データを媒介として、容易にデータ変換を行うことができる。
【0012】
(3)この発明に係る可動デバイスドライバ・プログラム・セットは、コンピュータによってゲートウエイ機能を実現するための仮想デバイスドライバ・プログラム・セットであって、当該仮想デバイスドライバ・プログラム・セットは、コンピュータを、
第1通信装置が出力した第1形式データを直接的または間接的に受けて、当該第1形式データに基づいて出力機器を駆動することのできる駆動データを生成し、当該駆動データをバッファ部に記憶する第1仮想デバイスドライバ手段と、バッファ部に記憶された駆動データを読み出し、当該駆動データに基づいて、第2通信装置のための第2形式データを生成する第2仮想デバイスドライバ手段として機能させるためのものである。
【0013】
したがって、出力機器を駆動する駆動データを媒介として、容易にデータ変換を行うことができる。
【0014】
(4)この発明に係る出力用仮想デバイスドライバ・プログラムは、コンピュータによってゲートウエイ機能を実現するための出力用仮想デバイスドライバ・プログラムであって、当該出力用仮想デバイスドライバ・プログラムは、コンピュータを、
第1通信装置が出力した第1形式データを直接的または間接的に受けて、当該第1形式データに基づいて出力機器を駆動することのできる駆動データを生成する手段と、入力用仮想デバイスドライバが読み出して第2通信装置のための第2形式データを生成できるように、前記駆動データをバッファ部に記憶する手段として機能させるためのものである。
【0015】
したがって、出力機器を駆動するデバイスドライバとして駆動データを生成することができ、駆動データを用いたデータ変換を容易に行うことができる。
【0016】
(5)この発明に係る入力用仮想デバイスドライバ・プログラムは、コンピュータによってゲートウエイ機能を実現するための入力用仮想デバイスドライバ・プログラムであって、当該入力用仮想デバイスドライバ・プログラムは、コンピュータを、
第1通信装置が出力した第1形式データに基づいて生成された出力機器を駆動することのできる駆動データを記憶したバッファ部から、当該駆動データを読み出す手段と、読み出した駆動データに基づいて、第2通信装置のための第2形式データを生成する手段として機能させるためのものである。
【0017】
したがって、入力機器を駆動するデバイスドライバとして駆動データを処理することができ、駆動データを用いたデータ変換を容易に行うことができる。
【0018】
(6)この発明に係るゲートウエイ装置は、第1仮想デバイスドライバ手段または出力用仮想デバイスドライバプログラムが、ステレオ形式の第1形式データに基づいて、ステレオ−モノラル変換を行い、モノラル形式の駆動データを生成することを特徴としている。
【0019】
したがって、ステレオ方式とモノラル方式の違いを吸収することができる。
【0020】
(7)この発明に係るゲートウエイ装置は、第1仮想デバイスドライバ手段または出力用仮想デバイスドライバプログラムが、モノラル形式の第1形式出力用データに基づいて、モノラル−ステレオ変換を行い、ステレオ形式の駆動データを生成することを特徴としている。
【0021】
したがって、ステレオ方式とモノラル方式の違いを吸収することができる。
【0022】
(8)この発明に係るゲートウエイ装置は、第2仮想デバイスドライバ手段または入力用仮想デバイスドライバプログラムが、ステレオ形式の駆動データに基づいて、ステレオ−モノラル変換を行い、モノラル形式の第2形式データを生成することを特徴としている。
【0023】
したがって、ステレオ方式とモノラル方式の違いを吸収することができる。
【0024】
(9)この発明に係るゲートウエイ装置は、第2仮想デバイスドライバ手段または入力用仮想デバイスドライバプログラムが、モノラル形式の駆動データに基づいて、モノラル−ステレオ変換を行い、ステレオ形式の第2形式データを生成することを特徴としている。
【0025】
したがって、ステレオ方式とモノラル方式の違いを吸収することができる。
【0026】
(10)この発明に係るゲートウエイ装置は、バッファ部を介さずに、第1仮想デバイスドライバ手段が、第2仮想デバイスドライバ手段に駆動データを与えることを特徴としている。
【0027】
したがって、バッファ部を設ける必要がなく、構成を簡素化することができる。
【0028】
(11)この発明に係るゲートウエイ装置は、音声もしくは画像またはその双方を第1形式データとして送出する第1通信装置と、第2〜第n形式データの音声もしくは画像またはその双方を再生して出力する第2〜第n通信装置との間の通信を可能にするゲートウエイ装置であって、
第1通信装置から受けた第1形式データを、第1仮想デバイスドライバ手段に与える第1形式データ処理手段と、前記第1形式データを受けて、当該第1形式データに基づいて出力機器を駆動することのできる駆動データを生成し、当該駆動データをバッファ部に記憶する第1仮想デバイスドライバ手段と、出力用ドライバ手段からの駆動データを記憶するバッファ部と、バッファ部に記憶された駆動データを読み出し、当該駆動データに基づいて第2〜第n形式データをそれぞれ生成する第2〜第n仮想デバイスドライバ手段と、前記第2〜第n仮想デバイスドライバ手段から受けた第2〜第n形式データを、それぞれ第2〜第n通信装置に出力する第2〜第n形式データ処理手段とを備えている。
【0029】
したがって、出力機器を駆動する駆動データを媒介として、複数の通信装置に対して容易にデータ変換を行うことができる。
【0030】
(12)この発明に係るゲートウエイプログラムは、コンピュータによってゲートウエイ装置を実現するためのゲートウエイプログラムであって、当該ゲートウエイプログラムは、コンピュータを
第1通信装置から受けた第1形式データを、第1仮想デバイスドライバ手段に与える第1形式データ処理手段と、前記第1形式データを受けて、当該第1形式データに基づいて出力機器を駆動することのできる駆動データを生成し、当該駆動データをバッファ部に記憶する第1仮想デバイスドライバ手段と、バッファ部に記憶された駆動データを読み出し、当該駆動データに基づいて第2〜第n形式データをそれぞれ生成する第2〜第n仮想デバイスドライバ手段と、前記第2〜第n仮想デバイスドライバ手段から受けた第2〜第n形式データを、それぞれ第2〜第n通信装置に出力する第2〜第n形式データ処理手段として機能させるためのものである。
【0031】
したがって、出力機器を駆動する駆動データを媒介として、複数の通信装置に対して容易にデータ変換を行うことができる。
【0032】
(13)この発明に係るゲートウエイ装置は、バッファ部を介さずに、第1仮想デバイスドライバ手段が、第2〜第n仮想デバイスドライバ手段に駆動データを与えることを特徴としている。
【0033】
したがって、バッファ部を設ける必要がなく、構成を簡素化することができる。
【0034】
(14)この発明に係るゲートウエイ方法は、音声もしくは画像またはその双方を第1形式データとして送出する第1通信装置と、第2形式データの音声もしくは画像またはその双方を再生して出力する第2通信装置との間の通信を可能にするゲートウエイ方法であって、コンピュータが、
第1通信装置から受けた第1形式データを、第1仮想デバイスドライバ手段に与え、前記第1形式データを受けて、当該第1形式データに基づいて出力機器を駆動することのできる駆動データを生成し、当該駆動データをバッファ部に記憶し、バッファ部に記憶された駆動データを読み出し、当該駆動データに基づいて第2形式データを生成し、前記第2形式データを、第2通信装置に出力することを特徴としている。
【0035】
したがって、出力機器を駆動する駆動データを媒介として、容易にデータ変換を行うことができる。
【0036】
この発明において、「音声」とは、人の声だけでなく音楽等も含む概念である。また、モノラル音声だけでなく、ステレオ音声も含む概念である。
【0037】
「画像」とは、動画だけでなく静止画も含む概念である。
【0038】
「出力機器」とは、音声・画像を出力する機器をいい、スピーカ、ディスプレイ、プロッタやその制御回路などを含む概念である。
【0039】
「駆動データ」とは、出力機器を駆動することのできるデータをいう。
【0040】
「第1形式データ処理手段」は、実施形態においては、第1端末プログラム52がこれに該当する。
【0041】
「第2形式データ処理手段」は、実施形態においては、第2端末プログラム54がこれに該当する。
【0042】
「第1仮想出力デバイスドライバ手段」は、実施形態においては、第1仮想出力デバイスドライバ56がこれに該当する。
【0043】
「第2仮想出力デバイスドライバ手段」は、実施形態においては、第2仮想出力デバイスドライバ58がこれに該当する。
【0044】
「駆動データ生成手段」は、実施形態においては、図3のステップS22がこれに対応する。
【0045】
「記憶制御手段」は、実施形態においては、図3のステップS23がこれに対応する。
【0046】
「読出制御手段」は、実施形態においては、図4のステップS5がこれに対応する。
【0047】
「第2形式データ生成手段」は、実施形態においては、図4のステップS6がこれに対応する。
【0048】
「プログラム」とは、CPUにより直接実行可能なプログラムだけでなく、ソース形式のプログラム、圧縮処理がされたプログラム、暗号化されたプログラム等を含む概念である。
【発明を実施するための形態】
【0049】
1.第1の実施形態
1.1全体構成
図1に、この発明の一実施形態によるゲートウエイ装置10の構成を示す。このゲートウエイ装置10には、第1通信装置12、第2通信装置14が通信回線(インターネット、公衆回線、LANなど)を介して接続されている。
【0050】
ゲートウエイ装置10は、受信部16、第1形式データ処理手段18、駆動データ生成手段20、第1仮想デバイスドライバ手段34、バッファ部24、第2仮想デバイスドライバ手段36、第2形式データ処理手段30、送信部32を備えている。
【0051】
第1通信装置12では、音声・画像がマイク・カメラによって取り込まれ、第1形式データによる音声データ・画像データが取得される。
【0052】
受信部16は、第1通信装置12から第1形式データによる音声データ、画像データを受け取る。第1形式データ処理手段18は、この第1形式データによる音声データ、画像データを、第1仮想デバイスドライバ手段34に与える。
【0053】
第1仮想デバイスドライバ手段34の駆動データ生成手段20は、第1形式データによる音声データ・画像データを受けて、当該音声データ・画像データを出力する出力機器を駆動することのできる駆動データに変換する。第1仮想デバイスドライバ手段34の記憶制御手段22は、駆動データをバッファ部24に記憶する。
【0054】
第2仮想デバイスドライバ手段36の読出制御手段26は、バッファ部24に記憶された駆動データを順次読み出す。第2仮想デバイスドライバ手段36の第2形式データ生成手段28は、この駆動データを、第2通信装置が処理可能な第2形式データによる音声データ・画像データに変換する。
【0055】
第2形式データ処理手段30は、第2形式データによる音声データ・画像データを送信部32に渡す。送信部32は、これを第2通信装置14に送信する。
【0056】
第2通信装置14は、この第2形式データによる音声データ・画像データを、スピーカ、ディスプレイから再生する。
【0057】
1.2ハードウエア構成
図2に、ゲートウエイ装置10のハードウエア構成を示す。CPU40には、メモリ24、通信部42、ハードディスク44、CD−ROMドライブ46が接続されている。メモリ24は、バッファ部などのワークエリアとして用いられる。通信部42は、第1通信装置12、第2通信装置14との通信を行うためのものである。ハードディスク44には、オペレーティングシステム(OS)50、第1端末プログラム52、第2端末プログラム54、第1仮想出力デバイスドライバ56,第2仮想入力デバイスドライバ58が記録されている。これらのプログラムは、CD−ROM48に記録されていたものであり、CD−ROMドライブ46を介してインストールされたものである。
【0058】
第1端末プログラム52、第2端末プログラム54、第1仮想出力デバイスドライバ56,第2仮想入力デバイスドライバ58は、オペレーティングシステム50と協働してその機能を発揮する。
【0059】
第1端末プログラム52は、第1通信装置12において用いられているテレビ電話のための端末プログラムと同じものである。したがって、第1通信装置12のプログラムからみると、ゲートウエイ装置10は相手方端末装置として認識されることとなる。
【0060】
第2端末プログラム54は、第2通信装置14において用いられているテレビ電話のための端末プログラムと同じものである。したがって、第2通信装置14のプログラムからみると、ゲートウエイ装置10は相手方端末装置として認識されることとなる。
【0061】
第1仮想出力デバイスドライバ56は、図1の第1仮想出力デバイスドライバ手段34を構築するためのプログラムであり、第2仮想入力デバイスドライバ58は、図1の第2仮想入力デバイスドライバ手段36を構築するためのプログラムである。
【0062】
上記のように、この実施形態では、実際に使用されている端末プログラムを用い、仮想デバイスドライバを用意するだけで、ゲートウエイ装置を構築することができる。また、仮想デバイスドライバは、標準的に用意されているものに修正(出力先をバッファに変更、相手方仮想デバイスドライバとのタイミング調整、データ形式変換など)を施すことによって得ることができる。
【0063】
1.3ゲートウエイ処理
図3に、ハードディスク44に記録された第1仮想デバイスドライバ56のフローチャートを示す。音声データ、画像データのそれぞれについて第1仮想出力デバイスドライバ56が用意されるが、ここでは、音声データの第1仮想出力デバイスドライバ56を例として説明する。なお、画像データの第1仮想出力デバイスドライバ56も、処理内容は同様である。
【0064】
まず、ステップS1において、第1端末プログラム52は、OS50に対して、第1仮想出力デバイスドライバ56の使用を指定する。図5に、第1端末プログラム52、OS50、第1仮想出力デバイスドライバ56の関係を模式的に示す。ステップS1における第1仮想出力デバイスドライバ56の指定は、図5における指令「waveOutOpen」に該当する。
【0065】
これを受けて、OS50は、第1仮想出力デバイスドライバ56を、第1端末プログラム52の出力ドライバとして結びつける(ステップS11)。
【0066】
次に、第1端末プログラム52は、第1通信装置12から、圧縮音声データを受信し、伸長して音声データを得る(ステップS2)。続いて、音声データ(第1形式データ)を、OS50を介して、第1仮想出力デバイスドライバ56に出力する(ステップS3)。ステップS3における音声データの出力は、図5における「waveOutWrite」に該当する。なお、この実施形態では、PCMによる音声データ(WAVE形式)を音声データとして出力する。
【0067】
音声データを受けたOS50は、これを第1仮想出力デバイスドライバ56に渡す(ステップS12)。音声データを受けた第1仮想出力デバイスドライバ56は(ステップS21)、この音声データに基づいて、出力機器である音声ボード(およびスピーカ)を駆動することのできる駆動データを生成する(ステップS22)。この駆動データは、音声波形の波形値を時間軸に沿ってディジタル化したデータであり、スピーカから出力される音声を直接的に示すディジタルデータである。したがって、通信規格やプロトコルにかかわらず、共通に用いることのできるデータである。
【0068】
なお、第1端末プログラム52の出力する音声データが、第1仮想出力デバイスドライバ56が扱うことのできないデータである場合、フィルタ55によってデータ形式を変換してから、第1仮想出力デバイスドライバ56に渡す(図5参照)。
【0069】
第1仮想出力デバイスドライバ56は、生成した駆動データをバッファ24に出力する(ステップS23)。なお、本来であれば、出力デバイスドライバは駆動データを音声ボードに出力するが、この実施形態では、バッファ24に出力するようにしている。つまり、この実施形態では、バッファ24が音声ボードの代わりとなっている。
【0070】
バッファ24への書き込みは、図7に示すように、メモリ24に設けられた書き込みポインタに記述されたアドレスADD1にしたがって行う。第1仮想出力デバイスドライバ56は、1サンプル分の駆動データを書き終えると、この書き込みポインタのアドレスを1サンプル分増加させる。このようにして、アドレスを順次増加させながら、駆動データを順番に書き込んでいく。なお、この実施形態では、バッファ24はリングバッファとしている。また、アドレスADD1の指定は、絶対アドレスによる指定であっても、相対アドレスによる指定であってもよい(以下のアドレス指定においても同様である)。
【0071】
第1端末プログラム52が音声データを受信して、第1仮想出力デバイスドライバ56がバッファ24に駆動データを書き込むまでの処理は、繰り返して行われる。
【0072】
なお、上記では音声データについて説明したが、画像データについても同じような処理がなされる。画像データは、第1仮想出力デバイスドライバ56によってディスプレイボード(およびディスプレイ)を駆動することのできる駆動データ(たとえば、RGBデータ)に変換され、バッファ24に記憶される。
【0073】
図4に、ハードディスク44に記録された第2仮想デバイスドライバ58のフローチャートを示す。なお、図4の処理は、図3の処理と並行して実行される。音声データ、画像データのそれぞれについて第2仮想入力デバイスドライバ58が用意されるが、ここでは、音声データの第2仮想入力デバイスドライバ58を例として説明する。なお、画像データの第2仮想入力デバイスドライバ58も、処理内容は同様である。
【0074】
まず、ステップS25において、第2端末プログラム54は、OS50に対して、第2仮想入力デバイスドライバ58の使用を指定する。図6に、第2端末プログラム54、OS50、第2仮想入力デバイスドライバ58の関係を模式的に示す。ステップS25における第2仮想入力デバイスドライバ58の指定は、図6における指令「waveInOpen」に該当する。
【0075】
これを受けて、OS50は、第2仮想入力デバイスドライバ58を、第2端末プログラム54の入力ドライバとして結びつける(ステップS15)。
【0076】
次に、第2仮想入力デバイスドライバ58は、バッファ24に記憶されている駆動データを読み出す(ステップS5)。第2仮想入力デバイスドライバ58は、図7に示す読出ポインタ(メモリ24)に記述された読出アドレスADD2にしたがって、バッファ24から駆動データを読み出す。第2仮想入力デバイスドライバ24は、1サンプル分の駆動データを読み出すと、読み出しポインタのアドレスを1サンプル分増加させる。このようにして、順次アドレスを増加させながら、駆動データを順番に読み出していく。
【0077】
第2仮想入力デバイスドライバ58は、読み出した駆動データに基づいて、第2通信装置14が再生可能な音声データ(第2形式データ)を生成する(ステップS6)。この実施形態では、PCMによる音声データ(WAVE形式)を生成する。続いて、第2仮想入力デバイスドライバ58は、この音声データを、OS50を介して、第2端末プログラム54に渡す(ステップS16、S26)。この処理は、図6における「waveInRead」に該当する。
【0078】
なお、第2仮想入力デバイスドライバ58からの音声データが、第2端末プログラム54が扱うことのできないデータである場合、フィルタ(または指定したライブラリ)によってデータ形式を変換してから、第2端末プログラム54に渡す。
【0079】
入力デバイスドライバは、本来、マイクなどの入力機器からのデータを受けて、これを音声データにして第2端末プログラム54に渡すものであるが、この実施形態では、バッファ24に記憶された駆動データを読み出して音声データを生成するようにしている。つまり、この実施形態では、バッファ24がマイクの代わりとなっている。
【0080】
音声データを受けた第2端末プログラム54は、音声データを圧縮した後、第2通信装置14に送信する(ステップS27)。
【0081】
第2仮想入力デバイスドライバ58が駆動データを読み出して、第2端末プログラム54に渡すまでの処理は、繰り返して行われる。
【0082】
なお、上記では音声データについて説明したが、画像データについても同じような処理がなされる。第2仮想入力デバイスドライバ58の出力する画像データが、第2端末プログラム54が扱うことのできないものである場合には、第2端末プログラム54は、画像変換のためのライブラリを指定する。このライブラリによって、第2端末プログラム54が扱うことのできる画像データ(たとえば、MPEGデータ)に変換される。
【0083】
なお、上記では、第1通信装置12から第2通信装置14に向けてデータを送る場合について説明したが、第2通信装置14から第1通信装置12に向けてデータを送る場合についても、同様の構成によって実現することができる。この場合には、第1形式データに対応した第1仮想入力デバイスドライバ、第2形式データに対応した第2仮想出力デバイスドライバを用意すればよい。
【0084】
上記において説明した画像データは、基本的に静止画データであるが、静止画データを時間的に連続させることによって、動画データとすることができる。
【0085】
2.その他の実施形態
上記実施形態では、第1端末プログラム52、第2端末プログラム54のいずれもが、端末装置間で直接接続するためのプログラムである(図8A参照)。しかし、図8Bに示すように、通信サーバ装置11を介して通信を行う形式の端末プログラムについても適用することができる。
【0086】
また、図8Bにおける通信サーバ装置11とゲートウエイ装置10は、同一の装置として構築してもよい。
【0087】
上記各実施形態では、テレビ電話システムとして説明を行った。しかし、図9に示すように、ゲートウエイ装置10を介して、3つ以上の通信装置12、14、15による通信を行うようにしてもよい(テレビ会議システム)。
【0088】
図9に示すようなシステムを構築する場合のゲートウエイ装置10の構成を図10に示す。各端末プログラム521、522、523に対応して、それぞれ、仮想出力デバイスドライバ561、562、563、仮想入力デバイスドライバ581、582、583が設けられている。バッファ24には、各端末プログラムごとに、データを記憶する領域が設けられている。各仮想出力デバイスドライバ561、562、563は、それぞれの駆動データをバッファ24に記憶する。一方、各仮想入力デバイスドライバ581、582、583は、他の端末の駆動データを読み出して変換し、端末プログラムに渡す。たとえば、第1仮想入力デバイスドライバ581であれば、第2仮想出力デバイスドライバ562、第3仮想出力デバイスドライバ563がバッファ24に記憶した駆動データを読み出すことになる。このようにすれば、第1通信装置において、第2通信装置、第3通信装置の音声・画像を出力することができる。したがって、テレビ会議システムを構築することができる。
【0089】
上記実施形態では、音声信号がモノラルである場合について説明した。しかし、左信号、右信号について同様の処理を行えば、ステレオ信号についても適用することができる。
【0090】
なお、第1端末プログラム52がステレオ信号を送信し、第2端末プログラム54がモノラル信号を再生するものである場合には、両者のデータを合致させる必要がある。たとえば、図11に示すように、第1仮想出力デバイスドライバ56において、生成したステレオ駆動データを合成してモノラルの駆動データとし、これをバッファ24に記憶する。これにより、第2端末プログラム54は、バッファ24からモノラルの駆動データを読み出して処理することができる。なお、第1形式データの段階でモノラル化し、このモノラル化した第1形式データを駆動データに変換するようにしてもよい。
【0091】
また、図12Aに示すように、第2仮想入力デバイスドライバ58の側にて、ステレオ−モノラルの変換を行うようにしてもよい。つまり、第1仮想出力デバイスドライバ56は、バッファ24に、左信号の駆動データ、右信号の駆動データを記憶する。第2仮想入力デバイスドライバ58は、これを読み出して合成し、モノラルの駆動データを生成する。そして、このモノラルの駆動データを第2形式データに変換する。
【0092】
なお、第1端末プログラム52がモノラル信号を送信し、第2端末プログラム54がステレオ信号を再生するものである場合には、図11Bに示すように第1仮想出力デバイスドライバを構成すればよい。つまり、モノラルの第1形式データに基づいてモノラルの駆動データを生成し、これをステレオ化(2つの同じ駆動データを生成する)してバッファ24に記憶する。
【0093】
また、図12Bに示すように、第2仮想入力デバイスドライバ58の側にて、モノラル−ステレオの変換を行うようにしてもよい。つまり、第1仮想出力デバイスドライバ56は、バッファ24に、モノラルの駆動データを記憶する。第2仮想入力デバイスドライバ58は、これを読み出してステレオ化し第2形式データを生成する。
【0094】
上記各実施形態では、バッファ24を介して第1仮想出力デバイスドライバ56と第2仮想入力デバイスドライバ58がデータを交換している。しかし、バッファ24を介さずに、直接データ交換を行うようにしてもよい。
【0095】
上記各実施形態では、図1の各手段をソフトウエアによって実現しているが、その一部または全部をハードウエア回路によって実現してもよい。
【図面の簡単な説明】
【0096】
【図1】この発明の一実施形態によるゲートウエイ装置10の機能的構成を示す図である。
【図2】ゲートウエイ装置のハードウエア構成図である。
【図3】第1仮想出力デバイスドライバ56のフローチャートである。
【図4】第2仮想入力デバイスドライバ58のフローチャートである。
【図5】第1端末プログラム52、OS50、デバイスドライバ56の関係を示す図である。
【図6】第2端末プログラム54、OS50、デバイスドライバ58の関係を示す図である。
【図7】バッファ24の構成を示す図である。
【図8】図8Aは、第1通信装置12、第2通信装置14、ゲートウエイ装置10による通信システムを示す図である。図8Bは、他の実施形態による通信システムを示す図である。
【図9】他の実施形態によるテレビ会議システムの構成を示す図である。
【図10】図9の実施形態における仮想デバイスドライバを示す図である。
【図11】図11Aは、ステレオ−モノラル変換の例を示す図である。図11Bは、モノラル−ステレオ変換の例を示す図である。
【図12】図12Aは、ステレオ−モノラル変換の例を示す図である。図12Bは、モノラル−ステレオ変換の例を示す図である。
【図13】従来のゲートウエイ装置を示す図である。
【符号の説明】
【0097】
18・・・第1形式データ処理手段
24・・・バッファ部
34・・・第1仮想出力デバイスドライバ手段
36・・・第2仮想出力デバイスドライバ手段
30・・・第2形式データ処理手段


【特許請求の範囲】
【請求項1】
音声もしくは画像またはその双方を第1形式データとして送出する第1通信装置と、第2形式データの音声もしくは画像またはその双方を再生して出力する第2通信装置との間の通信を可能にするゲートウエイ装置であって、
第1通信装置から受けた第1形式データを、第1仮想デバイスドライバ手段に与える第1形式データ処理手段と、
前記第1形式データを受けて、当該第1形式データに基づいて出力機器を駆動することのできる駆動データを生成し、当該駆動データをバッファ部に記憶する第1仮想デバイスドライバ手段と、
出力用ドライバ手段からの駆動データを記憶するバッファ部と、
バッファ部に記憶された駆動データを読み出し、当該駆動データに基づいて第2形式データを生成する第2仮想デバイスドライバ手段と、
前記第2仮想デバイスドライバ手段から受けた第2形式データを、第2通信装置に出力する第2形式データ処理手段と、
を備えたゲートウエイ装置。
【請求項2】
コンピュータによってゲートウエイ装置を実現するためのゲートウエイプログラムであって、
当該ゲートウエイプログラムは、コンピュータを
第1通信装置から受けた第1形式データを、第1仮想デバイスドライバ手段に与える第1形式データ処理手段と、
前記第1形式データを受けて、当該第1形式データに基づいて出力機器を駆動することのできる駆動データを生成し、当該駆動データをバッファ部に記憶する第1仮想デバイスドライバ手段と、
バッファ部に記憶された駆動データを読み出し、当該駆動データに基づいて第2形式データを生成する第2仮想デバイスドライバ手段と、
前記第2仮想デバイスドライバ手段から受けた第2形式データを、第2通信装置に出力する第2形式データ処理手段と、
して機能させるためのゲートウエイプログラム。
【請求項3】
コンピュータによってゲートウエイ機能を実現するための仮想デバイスドライバ・プログラム・セットであって、
当該仮想デバイスドライバ・プログラム・セットは、コンピュータを、
第1通信装置が出力した第1形式データを直接的または間接的に受けて、当該第1形式データに基づいて出力機器を駆動することのできる駆動データを生成し、当該駆動データをバッファ部に記憶する第1仮想デバイスドライバ手段と、
バッファ部に記憶された駆動データを読み出し、当該駆動データに基づいて、第2通信装置のための第2形式データを生成する第2仮想デバイスドライバ手段と、
して機能させるための仮想デバイスドライバ・プログラム・セット。
【請求項4】
コンピュータによってゲートウエイ機能を実現するための出力用仮想デバイスドライバ・プログラムであって、
当該出力用仮想デバイスドライバ・プログラムは、コンピュータを、
第1通信装置が出力した第1形式データを直接的または間接的に受けて、当該第1形式データに基づいて出力機器を駆動することのできる駆動データを生成する手段と、
入力用仮想デバイスドライバが読み出して第2通信装置のための第2形式データを生成できるように、前記駆動データをバッファ部に記憶する手段と、
して機能させるための出力用仮想デバイスドライバ・プログラム。
【請求項5】
コンピュータによってゲートウエイ機能を実現するための入力用仮想デバイスドライバ・プログラムであって、
当該入力用仮想デバイスドライバ・プログラムは、コンピュータを、
第1通信装置が出力した第1形式データに基づいて生成された出力機器を駆動することのできる駆動データを記憶したバッファ部から、当該駆動データを読み出す手段と、
読み出した駆動データに基づいて、第2通信装置のための第2形式データを生成する手段と、
して機能させるための入力用仮想デバイスドライバ・プログラム。
【請求項6】
請求項1〜5のいずれかの装置、プログラムセットまたはプログラムにおいて、
前記第1仮想デバイスドライバ手段または出力用仮想デバイスドライバプログラムは、
ステレオ形式の第1形式データに基づいて、ステレオ−モノラル変換を行い、モノラル形式の駆動データを生成することを特徴とするもの。
【請求項7】
請求項1〜5のいずれかの装置、プログラムセットまたはプログラムにおいて、
前記第1仮想デバイスドライバ手段または出力用仮想デバイスドライバプログラムは、
モノラル形式の第1形式出力用データに基づいて、モノラル−ステレオ変換を行い、ステレオ形式の駆動データを生成することを特徴とするもの。
【請求項8】
請求項1〜5のいずれかの装置、プログラムセットまたはプログラムにおいて、
前記第2仮想デバイスドライバ手段または入力用仮想デバイスドライバプログラムは、
ステレオ形式の駆動データに基づいて、ステレオ−モノラル変換を行い、モノラル形式の第2形式データを生成することを特徴とするもの。
【請求項9】
請求項1〜5のいずれかの装置、プログラムセットまたはプログラムにおいて、
前記第2仮想デバイスドライバ手段または入力用仮想デバイスドライバプログラムは、
モノラル形式の駆動データに基づいて、モノラル−ステレオ変換を行い、ステレオ形式の第2形式データを生成することを特徴とするもの。
【請求項10】
請求項1〜9のいずれかの装置、プログラム・セットまたはプログラムにおいて、
前記バッファ部を介さずに、第1仮想デバイスドライバ手段が、第2仮想デバイスドライバ手段に駆動データを与えることを特徴とするもの。
【請求項11】
音声もしくは画像またはその双方を第1形式データとして送出する第1通信装置と、第2〜第n形式データの音声もしくは画像またはその双方を再生して出力する第2〜第n通信装置との間の通信を可能にするゲートウエイ装置であって、
第1通信装置から受けた第1形式データを、第1仮想デバイスドライバ手段に与える第1形式データ処理手段と、
前記第1形式データを受けて、当該第1形式データに基づいて出力機器を駆動することのできる駆動データを生成し、当該駆動データをバッファ部に記憶する第1仮想デバイスドライバ手段と、
出力用ドライバ手段からの駆動データを記憶するバッファ部と、
バッファ部に記憶された駆動データを読み出し、当該駆動データに基づいて第2〜第n形式データをそれぞれ生成する第2〜第n仮想デバイスドライバ手段と、
前記第2〜第n仮想デバイスドライバ手段から受けた第2〜第n形式データを、それぞれ第2〜第n通信装置に出力する第2〜第n形式データ処理手段と、
を備えたゲートウエイ装置。
【請求項12】
コンピュータによってゲートウエイ装置を実現するためのゲートウエイプログラムであって、
当該ゲートウエイプログラムは、コンピュータを
第1通信装置から受けた第1形式データを、第1仮想デバイスドライバ手段に与える第1形式データ処理手段と、
前記第1形式データを受けて、当該第1形式データに基づいて出力機器を駆動することのできる駆動データを生成し、当該駆動データをバッファ部に記憶する第1仮想デバイスドライバ手段と、
バッファ部に記憶された駆動データを読み出し、当該駆動データに基づいて第2〜第n形式データをそれぞれ生成する第2〜第n仮想デバイスドライバ手段と、
前記第2〜第n仮想デバイスドライバ手段から受けた第2〜第n形式データを、それぞれ第2〜第n通信装置に出力する第2〜第n形式データ処理手段と、
して機能させるためのゲートウエイプログラム。
【請求項13】
請求項11または12の装置、プログラム・セットまたはプログラムにおいて、
前記バッファ部を介さずに、第1仮想デバイスドライバ手段が、第2〜第n仮想デバイスドライバ手段に駆動データを与えることを特徴とするもの。
【請求項14】
音声もしくは画像またはその双方を第1形式データとして送出する第1通信装置と、第2形式データの音声もしくは画像またはその双方を再生して出力する第2通信装置との間の通信を可能にするゲートウエイ方法であって、コンピュータが、
第1通信装置から受けた第1形式データを、第1仮想デバイスドライバ手段に与え、
前記第1形式データを受けて、当該第1形式データに基づいて出力機器を駆動することのできる駆動データを生成し、当該駆動データをバッファ部に記憶し、
バッファ部に記憶された駆動データを読み出し、当該駆動データに基づいて第2形式データを生成し、
前記第2形式データを、第2通信装置に出力することを特徴とするゲートウエイ方法。



【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2007−249890(P2007−249890A)
【公開日】平成19年9月27日(2007.9.27)
【国際特許分類】
【出願番号】特願2006−75995(P2006−75995)
【出願日】平成18年3月20日(2006.3.20)
【出願人】(399107177)キヤノンソフト情報システム株式会社 (20)
【Fターム(参考)】