(57)【特許請求の範囲】
【請求項１】
多機能入出力サブシステムと、プロセッサとからなるコンピュータシステムであって、
多機能入出力サブシステムは、
１）少なくとも構内回線に接続された電話機を含む電話機から入力電話信号を受信し、かつ、出力電話信号を電話機に転送するように結合された電話回線インタフェース回路と、
２）マイクロフォンからの入力音声信号を受信し、かつ、スピーカーへ出力音声信号を転送するように結合されたオーディオ回路と、
３）オーディオ回路からの入力ならびに出力音声信号と電話機からの入力ならびに出力電話信号の多重並行処理を可能にするデジタル信号処理装置とを含み、
プロセッサは、
１）電話回線インタフェース回路のための電話ドライバとオーディオ回路のための音声ドライバと、
２）音声再生中に電話ドライバまたは音声ドライバのいずれかに標準データ形式の音声データストリームを提供し、かつ、音声記録中に電話ドライバまたは音声ドライバのいずれかから標準データ形式の音声データストリームを受信する音声タスクとを実行し、
多機能入出力サブシステムとプロセッサは、電話機が音声データストリームを記録する１つの入力デバイスとして、かつ、音声データストリームを再生する１つの出力デバイスとして用いられているときに、電話機が着呼を受信可能とすることを特徴とするコンピュータシステム。
【請求項２】
コンピュータシステムにおける音声記録のための方法において、
１）電話機に結合する構内回線を介して音声情報をサンプリングすることにより１組の音声サンプルを生成し、それらの音声サンプルを標準データ形式を有する音声データストリームに変換する過程と、
２）標準データ形式の音声データストリームをコンピュータシステムの音声タスクへ転送し、音声タスクでは、標準データ形式の音声データストリームをコンピュータシステムのホストオーディオアプリケーションプログラムが要求する形式に変換し、次に、変換された音声データストリームをホストオーディオアプリケーションプログラムへ転送する過程と、
３）構内回線と電話回線とに接続された多機能入出力サブシステムによって構内回線から入力する音声信号の処理と、電話回線から入力する電話信号の処理の多重並行処理を可能にする過程とから成る方法。
【請求項３】
ホストオーディオアプリケーションプログラムが要求する形式への変換は、要求されるサンプル速度変換とステレオからモノラルへの変換の少なくともいずれか一方を実行することによってなされることを特徴とする請求項２に記載の方法。
【請求項４】
コンピュータシステムにおける音声再生のための方法において、
１）コンピュータシステムで実行するホストオーディオアプリケーションプログラムから音声データストリームを受信し、その音声データストリームをホストオーディオアプリケーションプログラムが要求するデータ形式から標準データ形式に変換する過程と、
２）標準データ形式を有する音声データストリームをコンピュータシステムの音声ドライバへ転送し、音声ドライバでは、標準データ形式を有する音声データストリームを１組の音声データ値に変換し、それらの音声データ値を構内電話回線を介して電話音声信号を生成する電話回路へ転送する過程と、
３）構内回線と電話回線とに接続された多機能入出力サブシステムによって音声信号を構内回線に送出する処理と、電話回線から入力する電話音声信号の処理の多重並行処理を可能にする過程とから成る方法。
【請求項５】
ホストオーディオアプリケーションプログラムが要求する形式への変換は、要求されるサンプル速度変換とステレオからモノラルへの変換の少なくともいずれか一方を実行することによってなされることを特徴とする請求項４に記載の方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明はパーソナルコンピュータシステムの分野に関する。さらに特定すれば、本発明は、電話機を介する音声ファイルの無制限の入出力を可能にするパーソナルコンピュータの多機能入出力サブシステムに関する。
【０００２】
【従来の技術】
狭いオフィスや、本社環境においては、パーソナルコンピュータ用のモデム通信及びファックス通信を行うための専用電話回線を使用しない場合が多い。そのパーソナルコンピュータは、典型的には、モデム呼及びファックス呼並びに音声呼を共用する非専用電話回線を用いる。そのような電話回線の共用によって、狭い事務所又は本社にモデム用電話回線とファックス用電話回線を別個に設けるという犠牲を払う必要をなくしつつ、モデム及びファックスの通信が可能になる。
【０００３】
そのような狭い事務所又は本社の環境では、パーソナルコンピュータの電話サブシステムは、典型的には、モデム、ファックス及び音声の各通信に要求される電話回線インタフェース機能を実行する。電話回線インタフェース機能は回線奪取及び着呼音検出、並びに音声信号処理機能及びデジタル信号処理機能を含む。
通常、パーソナルコンピュータで実行されるアプリケーションプログラムはより高いレベルのモデム通信機能、ファックス通信機能及び音声通信機能と、ユーザインタフェース機能とを含む。
【０００４】
典型的な狭い事務所又は本社における電話回線の形態では、電話サブシステムを引き込んだ電話回線又は構内交換（ＰＢＸ）回線に結合する。電話サブシステムは、通常、１台又は複数の直列電話機を構内回線を介して駆動する。
そのようなシステムでは、典型的には、電話サブシステムは電話回線の音声着呼を構内回線を介して直列電話機へ転送することにより、ユーザが音声着呼を受信できるようにする。電話サブシステムは、通常、継電器などのスイッチング装置を使用して電話回線を構内回線と、直列電話機とに結合する。
【０００５】
残念ながら、そのような従来のシステムにおいては、音声着呼を直列電話機へ転送するために、電話サブシステムは電話回線と構内回線とを継電器を介して物理的に接続させなければならない。そのような物理的接続を行った場合、着呼中に直列電話機がオフフック状態にあると、入力音声の発信側は電話回線を介して使用中信号を聞き取る。そのため、音声着呼を受信するためには、直列電話機をオンフック状態のままにしておかなければならないので、直列電話機を別の入出力機能に使用することが妨げられる。
【０００６】
【発明が解決しようとする課題】
本発明の１つの目的は、コンピュータシステムの音声入出力機能に標準型電話機を使用することである。
本発明の別の目的は、電話回線を介する着呼の受信を可能にする一方で、コンピュータシステムにおける構内回線を介する音声入出力機能のために電話機を使用することである。
本発明の別の目的は、電話回線を介する着呼の処理を電話機との間の電話信号の処理から分離する多機能入出力サブシステムのソフトウェアアーキテクチャを提供することである。
【０００７】
本発明の別の目的は、多機能入出力サブシステムのドライバプログラム相互間で転送されるデータストリームに対して標準データ形式を提供し、その標準データ形式が電話ドライバプログラム及び音声ドライバプログラムによる音声タスク用音声データストリームの生成と消費を可能にすることにより、標準アナログ電話機又は標準デジタル電話機を介する音声入出力機能を可能にすることである。本発明の別の目的は、標準データ形式について作用するステレオ／モノラル変換機能及びサンプル速度変換機能を利用することにより、コンピュータシステムにおける音声入出力機能に対してデジタル電話機を使用することである。
本発明の別の目的は、標準型電話機を介するコンピュータシステムに関わる音声ファイルの記録を可能にすること、及び標準型電話機を介する音声ファイルの再生を可能にすることである。
【０００８】
【課題を解決するための手段】
本発明の上記の目的及びその他の目的は、コンピュータシステムで電話機を介して音声記録機能及び音声再生機能を実行する方法により達成される。ユーザは、コンピュータシステムのホストプロセッサで実行されるホスト音声アプリケーションプログラムのユーザインタフェースを介して、コンピュータシステムの正規音声モード又は電話音声モードを選択する。音声データストリームの標準データ形式は、コンピュータシステムのデジタル信号処理サブシステムで実行される電話ドライバ及び音声ドライバによる音声サンプルの生成、消費を可能にする。電話ドライバは電話機に結合する構内回線で音声信号をサンプリングし且つ送信する。電話ドライバは音声サンプルと、標準データ形式を有するデータストリームとの間で変換を実行する。
【０００９】
音声記録中、電話音声モードを選択した場合、電話ドライバプログラムは、電話機に結合する構内回線を介して音声信号をサンプリングすることにより１組の音声サンプルを生成し、それらの音声サンプルを標準データ形式を有する音声データストリームに変換する。
【００１０】
正規音声モードを選択した場合には、音声ドライバは電話回線を介して音声信号をサンプリングすることにより音声サンプルを生成し、それらの音声サンプルを標準データ形式を有する音声データストリームに変換する。
【００１１】
次に、コンピュータシステム中のデジタル信号処理サブシステムで実行される音声タスクへ音声データストリームを転送する。音声タスクは音声データストリームをコンピュータシステム中のホストプロセッサで実行されるホスト音声アプリケーションプログラムが要求する形式に変換し、次に、その音声データストリームをホスト音声アプリケーションプログラムへ転送する。
【００１２】
音声再生中、音声タスクはホスト音声アプリケーションプログラムから音声データストリームを受信し、その音声データストリームはホスト音声アプリケーションプログラムが要求するデータ形式から標準データ形式に変換する。正規音声モードを選択した場合、音声タスクは次に標準データ形式を有する音声データストリームを音声ドライバへ転送する。音声ドライバは音声データストリームを１組の音声データ値に変換し、音声信号回線（５６）を介する音声生成のために、それらの音声データ値をステレオオーディオコーデック回路へ転送する。
【００１３】
電話音声モードを選択した場合には、音声タスクは音声データストリームを電話ドライバへ転送する。電話ドライバは音声データストリームを１組の電話データ値に変換し、それらの電話データ値を電話回路へ転送し、そこで、電話回路は電話データ値に対応する電話音声信号を発生し且つそれらの電話音声信号を構内回線を介して電話機へ転送する。
本発明のその他の目的、特徴及び利点は添付の図面と、以下に続く詳細な説明とから明白になるであろう。
添付の図面に、限定的な意味をもたない１例として本発明を示す。図中、同じ図中符号は類似する素子を指示する。
【００１４】
【実施例】
図１は、一実施例に関わるコンピュータシステム１０を示す。コンピュータシステム１０は、電話回線２２を介して着呼を受信し且つ発呼を送信するパーソナルコンピュータ１２を含む。電話回線２２は標準電話回線、あるいは、構内交換（ＰＢＸ）回線又はＩＳＤＮ接続から構成されている。
一対の電話機１６及び１７が電話応答機械１８と共にパーソナルコンピュータ１２と並列に電話回線２２に結合している。直列電話機１５は構内回線２０を介してパーソナルコンピュータ１２に結合している。
【００１５】
図２はパーソナルコンピュータ１２を示す。パーソナルコンピュータ１２はホストプロセッサ３２と、メモリサブシステム３１と、大容量記憶サブシステム３３と、多機能入出力サブシステム１４とを含む。ホストプロセッサ３２と、メモリサブシステム３１と、多機能入出力サブシステム１４とはホストバス４４を介して通信する。
【００１６】
多機能入出力サブシステム１４は音声収集／再生機能と、ファックス機能及びデータモデム機能と、電話制御機能とを実行する。多機能入出力サブシステム１４は、マイクロホン及びスピーカ、並びに電話機と電話回線の接続を支援するためのハードウェアも接続させる。
大容量記憶サブシステム３３は、磁気ディスクドライブやＣＤ  ＲＯＭドライブを含めて、大規模データ・プログラム記憶のための多様な大容量記憶装置を代表している。
【００１７】
図３は、多機能入出力サブシステム１４を示す線図である。多機能入出力サブシステム１４はアナログ電話回線インタフェース回路６０及び関連コーデック回路（μ法則コーデック７０及び線形コーデック７２）と、デジタル信号処理装置（ＤＳＰ）６１と、ステレオオーディオコーデック回路５４と、一連のインタフェース回路６３〜６９とを含む。
メモリブロック６２はＤＳＰスタティックランダムアクセスメモリ（ＳＲＡＭ）と、ＤＳＰダイナミックランダムアクセスメモリ（ＤＲＡＭ）とから成る。ＤＲＡＭとＳＲＡＭは共にプログラム用又はデータ用として使用可能である。
バスインタフェース回路６７とＤＭＡアービタ回路６５は、ＤＳＰ６１がホストバス４４を介して通信することを可能にする。
【００１８】
アナログ電話回線インタフェース回路６０と、μ法則コーデック回路７０及び線形コーデック回路７２とは、μ法則コーデック回路７０と電話機１５との全二重接続及び線形コーデック回路７２と電話回線２２との全二重接続を含めて、構内回線２０及び電話回線２２を介する入電と出電の転送を可能にする。μ法則電話回線コーデック回路７０及び線形電話回線コーデック回路７２はＤＳＰ６１との間で電話機インタフェース回路６６を介してデジタルデータを転送する。
【００１９】
ステレオオーディオコーデック回路５４は音声信号（モノラル及びステレオ）を一連の音声信号回線５６を介して外部スピーカ１８と、ヘッドホン機器１９とへ転送する。ステレオオーディオコーデック回路５４は音声源及び外部マイクロホン１４からも一連の音声信号回線５８を介して音声信号（モノラル及びステレオ）を受信する。ステレオオーディオコーデック回路５４は受信した音声信号についてアナログ／デジタル変換を実行し、そのデジタル化音声データをオーディオインタフェース（Ｉ／Ｆ）回路６８へ転送する。ステレオオーディオコーデック回路５４は、オーディオインタフェース（Ｉ／Ｆ）回路６８を介して受信した音声データについてデジタル／アナログ変換を実行する。
一実施例についていえば、多機能入出力サブシステム１４は、音声及び電話通信の用途を支援するためのハードウェアを構成する工業規格アーキテクチャアドインカードから構成されている。
【００２０】
図４は、ホストプロセッサ３２及び多機能入出力サブシステム１４に関わるソフトウェア素子を示す。ホストプロセッサ３２で実行される１組のアプリケーションプログラム１００〜１０２は、適切なプログラムインタフェース（ＡＰＩ）１０４〜１０６を介して多機能入出力サブシステム１４のハードウェア機能をアクセスする。
【００２１】
アプリケーションプログラムインタフェースはダイナミックリンクライブラリ（ＤＬＬ）層と、対応するホスト装置ドライバとから構成されている。ダイナミックリンクライブラリ層は、対応するアプリケーションプログラムインタフェースを使用するホストアプリケーションプログラムと対話する。ダイナミックリンクライブラリ層はエラー検査を実行し、アプリケーションプログラムの呼を適切な装置ドライバへ渡されるメッセージに変換する。
【００２２】
たとえば、アプリケーションプログラムインタフェース１０４は、多機能入出力サブシステム１４の中のハードウェア装置と通信するホスト装置ドライバと実行時にリンクするダイナミックリンクライブラリ１０９を提供する。ダイナミックリンクライブラリ１０９はアプリケーションプログラムインタフェース１０４の呼を、所要の機能を実行する装置ドライバへ渡されるメッセージに変換する。
【００２３】
アプリケーションプログラムインタフェース１０４〜１０６のダイナミックリンクライブラリ層１０７〜１０９は共通装置ドライバインタフェース１１５〜１１７を介して１つ又は複数のホスト装置ドライバ１１０〜１１４と対話する。ホスト装置ドライバ１１０〜１１４はダイナミックリンクライブラリとして実現されている。装置ドライバにより、対応する装置クラスに対して１組の特定装置型向けカスタムメッセージが定義される。
アプリケーションプログラムインタフェース１０４〜１０６に関わるコードは、ダイナミックリンクライブラリ１０７〜１０９から構成されている。アプリケーションプログラムインタフェース１０４〜１０６により提供されるサービスを要求するアプリケーションプログラム１００〜１０２は、対応するダイナミックリンクライブラリ１０７〜１０９に対応するライブラリに対してリンクする。
【００２４】
ダイナミックリンクライブラリ１０７〜１０９はアプリケーションプログラムインタフェースの呼をホスト装置ドライバ呼、すなわち、メッセージに変換する。ホスト装置ドライバ呼、すなわち、メッセージと、関連するデータ構造とは、対応する装置クラスに関わる装置ドライバインタフェース（ＤＤＩ）を定義する。アプリケーションプログラムインタフェースに関わるホスト装置ドライバは、対応するＤＤＩを実現することによって得られる。
【００２５】
多機能入出力サブシステム１４は、ＤＳＰ６１で実行されるデジタル信号処理オペレーティングシステム（ＤＳＰ−ＯＳ）を実現する。ＤＳＰ−ＯＳは多機能入出力サブシステム１４における音声タスク及び電話タスク（ＤＳＰ−ＯＳタスク１３２及びＤＳＰ−ＯＳタスク１３４など）の多重並行実行を可能にする。
ＤＳＰ−ＯＳは、アプリケーションプログラムインタフェース及びシステムプログラミングインタフェース（ＳＰＩ）という２つのプログラミングインタフェースを提供する実時間多重タスク処理オペレーティングシステムである。ＤＳＰ−ＯＳアプリケーションプログラムインタフェースは、ＤＳＰ６１による計算のための１組の高レベルプロセッサ独立機能を提供すると共に、多機能入出力サブシステム１４に対してストリーム入出力を提供する。
【００２６】
多機能入出力サブシステム１４に関わるソフトウェアは１組のＤＳＰ装置ドライバ１３０及び１３５〜１３７を含む。ＤＳＰ−ＯＳタスクはＤＳＰ装置ドライバ１３５〜１３７を介して装置に対し計算と入力出力を実行する。
典型的なＤＳＰ−ＯＳタスクはハードウェア装置から入力データを読取り、その入力データを処理し、次に、出力データを別のハードウェア装置に書込む。通常は、複数のＤＳＰ−ＯＳタスクがそのようなプロセスを並行して実行する。ＤＳＰ装置ドライバはＤＳＰ−ＯＳタスクにハードウェア装置をアクセスさせることができる。各ハードウェア装置は、そのハードウェア装置を管理し且つＤＳＰ−ＯＳタスクに入出力サービスを提供するＤＳＰ装置ドライバに対応する。
【００２７】
ＤＳＰ−ＯＳシステムプログラミングインタフェースは、ＤＳＰ−ＯＳタスクを管理し且つＤＳＰメモリ６２を管理するための１組の機能を提供する。ＤＳＰ−ＯＳシステムプログラミングインタフェースはＤＳＰ−ＯＳタスクを同期させる機能と、装置独立入出力を実行する機能とを提供する。
ホスト装置ドライバ１１０〜１１４は、多機能入出力サブシステム１４で実行されるＤＳＰプログラムとＤＳＰインタフェース１２０を介して通信する。たとえば、ホスト音声装置ドライバは、ステレオオーディオコーデック回路５４との間でのデータ転送を管理するＤＳＰ−ＯＳタスクを制御するために、ＤＳＰインタフェース１２０を使用する。ホスト音声装置はいくつかのＤＳＰ−ＯＳタスクと通信することができる。ホスト装置ドライバにより生成されるＤＳＰ−ＯＳタスクは、適切なハードウェア機能を提供するための他のＤＳＰ−ＯＳタスクを生成することもある。
【００２８】
ＤＳＰインタフェース１２０はメッセージをベースにしている。ＤＳＰインタフェース１２０はメッセージに対する共通構造と、ホスト装置ドライバと対応するＤＳＰ−ＯＳタスクとの間の通信のためのプログラミングモデルとを定義する。各々のホスト装置ドライバは、対応するＤＳＰ−ＯＳタスクと通信するための適切な１組のメッセージ形式（指令コード、パラメータ、状態コード及び応答コードなど）を定義する。
【００２９】
ホストＤＳＰドライバ１２２はＤＳＰインタフェース１２０を実現する。ホストＤＳＰドライバ１２２は、多機能入出力サブシステム１４との通信を可能にするダイナミックリンクライブラリ（ＤＬＬ）を含む。ホストＤＳＰドライバ１２２はＤＳＰ−ＯＳをロードし、ＤＳＰ６１を始動して多機能入出力サブシステム１４を初期設定すると共に、ＤＳＰ−ＯＳを実行する。多機能入出力サブシステム１４を初期設定し、ＤＳＰ−ＯＳが実行中となった後、ホストＤＳＰドライバ１２２はホストプロセッサ３２と、多機能入出力サブシステム１４との間でデータとメッセージのバッファを移動させる。
【００３０】
ホストＤＳＰドライバ１２２は、ＤＳＰ−ＯＳの下で実行されるＤＳＰホストドライバ１３０と通信する。ホストＤＳＰドライバ１２２とＤＳＰホストドライバ１３０は、ハードウェアインタフェース１２５を介して渡されてゆくデータとメッセージの内容を検査しない。ホストＤＳＰドライバ１２２とＤＳＰホストドライバ１３０は複数のデータストリームとメッセージストリームを同期させ、且つ各々のストリームを適切なホスト装置ドライバと、ＤＳＰ−ＯＳタスクとへ経路指定する。
【００３１】
ホストプロセッサ３２で実行されるＤＳＰ−ＯＳサーバ１２４は、ＤＳＰ−ＯＳタスク１３２〜１３４及び１４６に対するサーバとして機能する。ＤＳＰ−ＯＳサーバ１２４は多機能入出力サブシステム１４からの要求を処理する。ＤＳＰ−ＯＳサーバ１２４はホストプロセッサ３２における「デーモン」である。ＤＳＰ−ＯＳサーバ１２４はホストＤＳＰドライバ１２２の一部である。ＤＳＰ−ＯＳサーバ１２４はＤＳＰ−ＯＳタスク１３２〜１３４及び１４６からホストプロセッサ３２へのファイル入出力要求及びコンソール入出力要求をサービスする。ＤＳＰ−ＯＳサーバ１２４は動的ＤＳＰ−ＯＳタスクローディングを補助し、多機能入出力サブシステム１４の状態と性能の監視のためのユーザインタフェースを提供する。
【００３２】
ＤＳＰ−ＯＳは、多機能入出力サブシステム１４で実行されるソフトウェアに対して核・入出力（Ｉ／Ｏ）環境を提供する実時間多重タスク処理オペレーティングシステムである。ＤＳＰ−ＯＳは、多機能入出力サブシステム１４のハードウェア装置をアクセスするために、ＤＳＰ−ＯＳタスク１３２〜１３４及び１４６により使用するための１組の装置独立入出力インタフェース１４０〜１４３を定義する。ＤＳＰ−ＯＳは、標準形式の入出力ストリームに対する共通（すなわち、再使用可能）変換を実行させるコードのブロックであるスタック可能装置ドライバをさらに定義する。
【００３３】
ＤＳＰ６１で実行されるＤＳＰプログラムは、ホストプロセッサ３２における対応するクライアントホスト装置ドライバに対してサーバとして機能する。ＤＳＰプログラムは、適切なメッセージを介してクライアントホスト装置ドライバにより要求される指令を実行する。
ＤＳＰプログラムは、データについて特定の処理と変換を実行しつつ、ソース装置から受け手装置へデータを移動する１つ又は複数のＤＳＰ−ＯＳタスクから構成されている。たとえば、音声ＤＳＰ−ＯＳタスクは装置独立入出力インタフェースを使用してステレオオーディオコーデック回路５４から音声サンプルを読取り、データ圧縮を実行するためにサンプルを処理し、次に、ホストプロセッサ３２で実行されるホスト音声装置ドライバへ圧縮データを転送する。
【００３４】
始動後、ＤＳＰ−ＯＳはＤＳＰ−ＯＳディスパッチャタスク１４６を生成する。ＤＳＰ−ＯＳディスパッチャタスク１４６はホスト装置ドライバ１１０〜１１４からの要求を処理して、ＤＳＰ−ＯＳタスクを生成、削除する。ＤＳＰ−ＯＳディスパッチャタスク１４６は適切なＤＳＰ−ＯＳにタスク名を突き合わせ、次に、新たなＤＳＰ−ＯＳをロードし且つ始動する。ＤＳＰ−ＯＳディスパッチャタスクは、要求側ホスト装置ドライバ又は他のＤＳＰ−ＯＳタスクと新たなＤＳＰ−ＯＳタスクとの通信のためのメールボックスをも生成する。
ＤＳＰ−ＯＳタスクの機能は、対応するメールボックスにメッセージを挿入することによって制御される。メッセージの解釈は特定装置クラス向けプロトコルに従う。各々のＤＳＰ−ＯＳタスクは小さな１組の基本メッセージを認識する。
【００３５】
図５は、ホストプロセッサ３２で実行されるホスト装置ドライバ１８０と、対応するＤＳＰ−ＯＳタスク１８２との対話を示す。ホスト装置ドライバ１８０は制御チャネルと、１つ又は複数のデータチャネルとを介してＤＳＰ−ＯＳタスク１８２を制御し且つそれと通信する。
【００３６】
ＤＳＰインタフェース１２０は、ホスト装置ドライバ１８０にメッセージをＤＳＰ−ＯＳタスク１８２へ送信させ且つＤＳＰ−ＯＳタスク１８２からメッセージを受信させることができる制御チャネルを提供する。制御チャネルはメールボックスファシリティに従って実現される。ホスト装置ドライバ１８０は、ＤＳＰ−ＯＳタスク１８２を生成し且つ一対のメールボックス１８４〜１８５を生成するために、ｄｓｐＯｐｅｎＴａｓｋルーチンを呼出す。ホスト装置ドライバ１８０及びＤＳＰ−ＯＳタスク１８２はメールボックス１８４〜１８５を使用して、メッセージを交換する。
【００３７】
ホスト装置ドライバ１８０と、ＤＳＰ−ＯＳタスク１８２との間の大量のデータの転送は、ホスト装置ドライバ１８０について指定されているバッファサイズに従って、複数のブロックに細分される。制御チャネルメッセージはデータブロックとインタリーブしている。
ホスト装置ドライバ１８０とＤＳＰ−ＯＳタスク１８２は１つ又は複数のデータストリームを介してデータを交換する。データストリームは、ホスト装置ドライバとＤＳＰ−ＯＳタスクとの間に一方向のデータ流れを形成するチャネルである。両方向に、すなわち、ホスト装置ドライバ１８０からＤＳＰ−ＯＳタスク１８２に至る方向と、ＤＳＰ−ＯＳタスク１８２からホスト装置ドライバ１８０に至る方向にデータを交換するために、２つのデータチャネルを採用する。
【００３８】
ＤＳＰインタフェース１２０は、多機能入出力サブシステム１４との通信のために、一様な１組のサービスを供給する。一実施例では、ＤＳＰインタフェース１２０はＭｉｃｒｏｓｏｆｔ（登録商標）Ｗｉｎｄｏｗｓ環境において多機能入出力サブシステム１４に対する通信サービスを供給する。それらのサービスはアプリケーションプログラム１００〜１０２と、ホスト装置ドライバ１１０〜１１４とにより使用される。
【００３９】
各々のホスト装置ドライバ１１０〜１１４は少なくとも１つのＤＳＰ−ＯＳタスクを始動、停止し、ＤＳＰ−ＯＳタスクとの間でデータストリームを転送する。ＤＳＰ−ＯＳタスクへ効率良くデータストリームを与えるために、ＤＳＰインタフェース１２０が最適化されている。ＤＳＰインタフェース１２０はホスト装置ドライバ１１０〜１１４と、ＤＳＰ−ＯＳタスクとの間の指令メッセージの転送を可能にする。
【００４０】
ＤＳＰインタフェース１２０は、多機能入出力サブシステム１４に関わる基本制御機能をさらに提供する。それらの制御機能はＤＳＰ−ＯＳサーバ１２４によって使用される。ＤＳＰインタフェース１２０が提供する制御機能は、ＤＳＰ−ＯＳプログラム画像をロードするための制御機能と、ＤＳＰ６１を始動、停止させるための制御機能と、多機能入出力サブシステム１４から診断情報と状態情報を獲得するための制御機能とを含む。
【００４１】
ＤＳＰ６１で実行されるアプリケーションは、典型的には計算を実行する１つ又は複数のＤＳＰ−ＯＳタスクから構成されている。ＤＳＰ−ＯＳタスクには、サーバとして機能する関連ホスト装置ドライバがある。ホスト装置ドライバは（ｄｓｐＯｐｅｎＴａｓｋへの呼出しを経て）ＤＳＰ−ＯＳタスクを発射し、その後、新たに発射されたＤＳＰ−ＯＳタスクへ指令を送信する。ＤＳＰ−ＯＳタスクは対応するホスト装置ドライバからの要求をサービスする。ホスト装置ドライバと対応するＤＳＰ−ＯＳタスクはクライアントとサーバの関係である。
【００４２】
ＤＳＰ−ＯＳタスクはＤＳＰ−ＯＳディスパッチャタスク１４６を介して生成される。ＤＳＰ−ＯＳディスパッチャタスク１４６は、システムの始動時に生成される特殊ＤＳＰ−ＯＳタスクである。ＤＳＰ−ＯＳディスパッチャタスク１４６はホストＤＳＰドライバ１２２と通信する。ＤＳＰ−ＯＳディスパッチャタスク１４６は多機能入出力サブシステム１４においてＤＳＰ−ＯＳ環境をセットアップし、次に、中央制御ＤＳＰ−ＯＳタスクの役割を果たす。ＤＳＰ−ＯＳディスパッチャタスク１４６は、ＤＳＰ−ＯＳタスクを生成、削除するための要求を含めて、ホスト装置ドライバからの１組の指令メッセージに応答する。
【００４３】
ＤＳＰ−ＯＳタスクはホスト装置ドライバへデータを送信すると共に、ホスト装置ドライバからデータを受信する。データストリーミングインタフェースはデータブロック（バッファ）の効率良い伝送を可能にする。データストリーミングインタフェースはＤＳＰ−ＯＳタスクを介してアクセスされる。ホストアプリケーションプログラムはＤＳＰ−ＯＳタスクと、対応するホスト装置ドライバとの間でホスト装置ドライバを介してデータチャネルをアクセスする。ＤＳＰ−ＯＳタスクは大容量記憶サブシステム３３にあるファイルを対応するホスト装置ドライバを介してアクセスする。
【００４４】
ＤＳＰ−ＯＳは、多機能入出力サブシステム１４の異なるハードウェア装置を一様にアクセスするために使用される共通の１組の機能を提供することにより、装置独自入出力を支援する。ＤＳＰ装置ドライバ１３０及び１３５〜１３７は、多機能入出力サブシステム１４のハードウェア装置のアクセスを可能にするために、ＤＳＰ−ＯＳ装置独立入出力インタフェース１４０〜１４３を実現する。ＤＳＰ−ＯＳタスク１３２〜１３４及び１４６は装置独立入出力インタフェース１４０〜１４３を使用して、発信元又は受け手としての多機能入出力サブシステム１４のいずれかのハードウェア装置との間でデータを転送する。
【００４５】
ＤＳＰ−ＯＳタスク１３２〜１３４及び１４６は発信元装置から入力データを読取り、その入力データを処理し、次に、処理したデータを受け手装置に書込む。そのような処理に際しては、ＳＳ＿ｇｅｔ及びＳＳ＿ｐｕｔの動作を使用する。構内回線２０と、電話回線２２と、ステレオオーディオコーデック回路５４と、ホストプロセッサ３２のハードウェア装置とを発信元及び受け手として利用できる。大容量記憶サブシステム３３は多重受け手及び多重発信元として同時に機能するので、複数の論理データチャネルが並行して活動状態となる。
【００４６】
多機能入出力サブシステム１４は、複数のアプリケーションプログラムインタフェースを支援するハードウェア装置を提供する。たとえば、ステレオオーディオコーデック回路５４は音声アプリケーションプログラムインタフェースを介する音声ファイルの入出力と、電話アプリケーションプログラムインタフェースを介する電話での会話を目的として使用される。電話回線２２は電話アプリケーションプログラムインタフェースを介する電話での会話と、ファックスアプリケーションプログラムインタフェースを介するファックスの送受信と、データモデムを目的として使用される。そのような全てのケースにおいて、ＤＳＰ−ＯＳ装置独立入出力インタフェースを介して特定のハードウェア装置をアクセスする。
【００４７】
サンプル値音声データストリームを生成し且つ消費する多機能入出力サブシステム１４のハードウェア装置は、複数の異なるデータ形式によるサンプル値音声データを表わす。ハードウェア装置、すなわち、ＤＳＰ装置ドライバは振幅正規化形式で音声データを表わしても良く、その場合、音声サンプルは、３２ビット符号付き整数への変換のために−２**３１から２**３１−１の範囲にわたるようにスケーリングされた３２ビット浮動小数点左寄せデータ値から構成されている。
【００４８】
ハードウェア装置、すなわち、ＤＳＰ装置ドライバは音声データを３２ビット浮動小数点右寄せデータ値として表わしても良く、その場合、８ビット音声サンプルは−２５６から２５５の範囲にあり、１６ビット音声サンプルは−３２７６８から３２７６７の範囲にある。ハードウェア装置、すなわち、装置ドライバは音声データを３２ビット語ごとに１サンプルとして、１６ビット符号付き整数右寄せデータ値として表わしても良く、その場合、音声サンプルは−３２７６８から３２７６７の範囲にある。
【００４９】
ハードウェア装置、すなわち、ＤＳＰ装置ドライバは音声データをパック１６ビット整数データ値として表わしても良く、その場合、１つの３２ビット語は左右のサンプル（ステレオ）又は２つの連続するサンプル（モノラル）のいずれかを表わす。加えて、８ビットμ法則サンプルを４つパックして、３２ビット語とする。
【００５０】
ＤＳＰ−ＯＳタスクは標準データ形式を使用して、多機能入出力サブシステム１４に対するサンプル値音声データストリームを表わす。標準データ形式は３２ビット浮動小数点左寄せである。音声データストリームサンプルは−２**３１から２**３１−１の範囲となるようにスケーリングされている。そのようなスケーリングは浮動小数点データ形式と、整数データ形式との間の変換を可能にする。標準データ形式は±２127 の範囲を支援するのであるが、２31を越える大きさを有する音声サンプル値は、多機能入出力サブシステム１４のハードウェア装置へ送信された場合に、誤った結果を生成する。また、２15未満の大きさを有する音声サンプル値は０と等価である。
【００５１】
たとえば、ステレオオーディオコーデック５４に関わるＤＳＰ装置ドライバは対応するＤＳＰ−ＯＳタスクから標準データ形式のサンプルを受信し、それらの標準データ形式サンプルを３２ビット整数に変換し、次に、上位１６ビットを抽出するために３２ビット整数を１６ビット右シフトし、続いて、上位１６ビットをステレオオーディオコーデック５４に書込む。
別の例を挙げると、電話用のＤＳＰ装置ドライバは、標準データ形式音声サンプルを３２ビット整数に変換し、次に、上位１４ビットを抽出し、その上位１４ビットを８ビットμ法則に変換することにより、標準データ形式音声サンプルを８ビットμ法則サンプルに変換する。
【００５２】
サンプル値音声データストリームについて標準データ形式を使用すると、ＤＳＰ−ＯＳタスクは様々に異なるデータ形式を要求する複数のハードウェア装置から音声サンプルを開き且つ読取ることができる。同様に、サンプル値音声データストリームの標準データ形式は、ＤＳＰ−ＯＳタスクが様々に異なるデータフォーマットを要求する複数のハードウェア装置に音声サンプルを書込むことを可能にする。
【００５３】
サンプル値音声データストリームの標準データ形式は、同じデータ形式を異なるスケーリングをもって生成する装置とＤＳＰ−ＯＳタスクとの通信をも可能にする。たとえば、ステレオオーディオコーデック５４は−３２７６８から３２７６７までの範囲の真の１６ビット整数サンプルを生成するが、電話回線２２に関わるＤＳＰ装置ドライバは８ビットμ法則サンプルを１４ビットの範囲（−４０９６から４０９５）を有する線形整数形式に変換する。電話回線２２に関わる音声サンプルが左寄せであり且つ余りの最下位ビットは零に設定されている場合、サンプル値音声データストリームの標準データ形式は互換性を可能にする。
【００５４】
図６は、一実施例に関わるホストプロセッサ３２のソフトウェアアーキテクチャを示す。ホストプロセッサ３２のソフトアプリケーションプログラムはホスト電話アプリケーションプログラム２００と、ホスト音声アプリケーションプログラム２０２とから構成されている。
ホスト電話アプリケーションプログラム２００は、音声呼、データモデム呼及びファックス呼の電話回線２２を介する発信と受信を可能にする。ホスト電話アプリケーションプログラム２００は高レベルユーザインタフェース機能と、電話回線２２を介する音声、データモデム及びファックスの転送を処理するための電話ハンドシェーク機能とを実行する。
【００５５】
ホスト電話アプリケーションプログラム２００は、電話アプリケーションプログラムインタフェース１７０を介して、ホスト電話機制御ドライバ１６０及びホストファックスモデムドライバ１６６と通信する。ホスト電話機制御ドライバ１６０とホストファックスモデムドライバ１６６は、ホストＤＳＰドライバ１２２のＤＳＰインタフェース１２０を介して、多機能入出力サブシステム１４の対応するＤＳＰ−ＯＳタスクと通信する。
【００５６】
電話アプリケーションプログラムインタフェース１７０は、電話アプリケーションプログラム２００に電話制御サービスを提供する。電話アプリケーションプログラムインタフェース１７０は着呼を処理するサービスと、発呼を開始するサービスと、アナログ電話回線インタフェース回路７０により提供される機能をアクセスするサービスと、遠隔機器と通信するサービスとを提供する。
【００５７】
ファックスアプリケーションプログラムインタフェース１７２は、１組のファックス制御動作を電話アプリケーションプログラム２００に提供する。ファックスアプリケーションプログラムインタフェース１７２は、入力ファックスと出力ファックスを管理する動作を実行する。
ホスト音声アプリケーションプログラム２０２は音声ファイルの記録と再生を可能にする。音声アプリケーションプログラム２０２は大容量記憶サブシステム３３にある音声ファイルと、音声信号回線５６に結合する音声再生装置（図示せず）との間の情報の転送を可能にする。音声アプリケーションプログラム２０２は大容量記憶サブシステム３３にある音声ファイルと、構内回線２０に結合する直列電話機１５との間の情報の転送をも可能にする。
【００５８】
ホスト音声アプリケーションプログラム２０２は音声アプリケーションプログラムインタフェース１７１を介してホスト音声ドライバ１６４と通信する。ホスト音声ドライバ１６４は、多機能入出力サブシステム１４にある対応するＤＳＰ−ＯＳタスクとホストＤＳＰドライバ１２２のＤＳＰインタフェース１２０を介して通信する。
音声アプリケーションプログラムインタフェース１７１が提供する機能は、音声装置に問合せること、音声装置を開閉すること、音声データを記録、再生すること及び再生と記録を制御することを含む。
【００５９】
直列電話機１５を音声ファイル入出力装置して使用する場合には、ホスト音声アプリケーションプログラム２０２は電話アプリケーションプログラムインタフェース１０７を介してホスト電話機制御ドライバ１６０とも通信する。
ホスト音声アプリケーションプログラム２０２は、パーソナルコンピュータ１２のユーザが直列電話機１５を音声ファイル入出力装置として選択することを可能にするユーザインタフェース機能を実現する。
【００６０】
一実施例の場合、音声アプリケーションインタフェース１７１は、Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｃｏｒｐｏｒａｔｉｏｎが提供しているＷａｖｅｆｏｒｍ音声ファイル処理用のＷａｖｅｆｏｒｍアプリケーションプログラムインタフェースから構成されている。ＷａｖｅｆｏｒｍアプリケーションプログラムインタフェースはＭｉｃｒｏｓｏｆｔ（登録商標）Ｗｉｎｄｏｗｓの一部である。Ｗａｖｅｆｏｒｍアプリケーションプログラムインタフェースは、Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｗｉｎｄｏｗｓホストアプリケーションに対して録音と再生の機能を提供する。
【００６１】
図７は、一実施例について多機能入出力サブシステム１４のソフトウェアアーキテクチャを示す。ＤＳＰ−ＯＳディスパッチャタスク１４６はホスト電話機制御ドライバ１６０と、ホスト音声ドライバ１６４と、ホストファックスモデムドライバ１６６とからの要求を処理して、ＤＳＰ−ＯＳタスクを作成、削除する。
【００６２】
ＤＳＰ−ＯＳディスパッチャタスク１４６は要求されたタスク名を適切なＤＳＰ−ＯＳタスクに整合し、次に、新たなＤＳＰ−ＯＳタスクをロードし且つ始動する。また、ＤＳＰ−ＯＳディスパッチャタスク１４６はホスト電話機制御ドライバ１６０及びホストファックスモデムドライバ１６６と、対応するＤＳＰ−ＯＳタスクとの通信のためのメールボックスも生成する。ＤＳＰ−ＯＳディスパッチャタスク１４６はホスト音声ドライバ１６４と、対応するＤＳＰ−ＯＳタスクとの通信のためのメールボックスをさらに生成する。ＤＳＰ−ＯＳディスパッチャタスク１４６は新たなＤＳＰ−ＯＳタスクと、他のＤＳＰ−ＯＳタスクとの通信のためのメールボックスをさらに生成する。
【００６３】
ＤＳＰファイル入出力（ＦＩＯ）ドライバ２７０は、ＤＳＰ−ＯＳタスクによるホストプロセッサ３２のファイルシステムのアクセスを可能にする。ＤＳＰ−ＯＳタスクはＤＳＰ  ＦＩＯドライバ２７０を使用して、開き、読取り、書込み及び閉じの各動作を実行すると共に、大容量記憶サブシステム３３のファイルを含めて、ホストプロセッサ３２のファイルとの間でデータを転送する。
ホスト電話機制御ドライバ１６０及びホストファックスモデムドライバ１６６は、ＤＳＰ−ＯＳディスパッチャタスク１４６に、電話回線２２を介しての着呼を正規に処理するために１組の電話ＤＳＰ−ＯＳタスク２６０〜２６３を生成させる。直列電話機１５がデジタル電話機である場合、デジタルセットエミュレーションＤＳＰ−ＯＳタスク２６２を生成する。電話回線２２がデジタルＰＢＸネットワークに結合している場合には、デジタルＰＢＸエミュレーションＤＳＰ−ＯＳタスク２６３を作成する。
【００６４】
電話ＤＳＰ−ＯＳタスク２６０〜２６３はＤＳＰ電話ドライバ２８２を介してアナログ電話機能及びデジタル電話機能を実行する。ＤＳＰ電話ドライバ２８２は電話機インタフェース回路６６を介してアナログ電話回線インタフェース回路６０並びにコーデック回路７０及び７２と通信する。
ホスト音声ドライバ１６４はＤＳＰ−ＯＳディスパッチャタスク１４６に音声ＤＳＰ−ＯＳタスク２５２を生成させる。音声ＤＳＰ−ＯＳタスク２５２は、正規モードで、音声ファイル記録機能及び音声ファイル再生機能をＤＳＰステレオオーディオコーデックドライバ２８０を介して実行する。ＤＳＰステレオオーディオコーデックドライバ２８０は音声インタフェース回路６８を介してステレオオーディオコーデック回路５４と通信する。
【００６５】
音声ＤＳＰ−ＯＳタスク２５２は、電話音声入出力モードでも、音声ファイル記録機能及び音声ファイル再生機能をＤＳＰ電話ドライバ２８２を介して実行する。ホスト音声アプリケーションプログラム２０２のユーザインタフェース機能は、音声ＤＳＰ−ＯＳタスクが正規モードで動作しているか又は電話音声入出力モードで動作しているかを判定する。
音声ＤＳＰ−ＯＳタスク２５２はホスト音声ドライバ１６４に対してサーバとして機能する。音声ＤＳＰ−ＯＳタスク２５２は、対応するメールボックスを介して経路指定されるメッセージに従って、ホスト音声ドライバ１６４が要求する指令を実行する。
【００６６】
正規モードの音声記録動作の間、ＤＳＰステレオオーディオコーデックドライバ２８０はステレオオーディオコーデック回路５４から音声サンプルを受信する。ステレオオーディオコーデック回路５４から音声サンプルは、１６ビット整数データ値から構成されている。ＤＳＰステレオオーディオコーデックドライバ２８０は音声サンプルを標準データ形式を有する音声データストリームに変換し、その音声データストリームを音声ＤＳＰ−ＯＳタスク２５２へ転送する。
【００６７】
音声ＤＳＰ−ＯＳタスク２５２は、ホストアプリケーションプログラム２０２の要求条件に従って、８：１圧縮ドライバ２１０、２：１圧縮ドライバ２１２、又はパルスコード変調（ＰＣＭ）音声ドライバ２１４のいずれかを介して音声データストリームを事前処理する。事前処理後の音声データストリームを、その後、ＤＳＰホストドライバ１３０の装置独立入出力インタフェースを介し、さらには、ホスト音声ドライバ１６４を介して、ホスト音声アプリケーションプログラム２０２へ転送する。
【００６８】
８：１圧縮ドライバ２１０は音声データストリームを標準データ形式から８：１圧縮データ形式に変換する。２：１圧縮ドライバ２１２は音声データストリームを標準データ形式から２：１圧縮データ形式に変換する。ＰＣＭ音声ドライバ２１４は音声データストリームを標準データ形式からＷａｖｅｆｏｒｍファイルのＰＣＭ形式に変換する。
正規モードの音声再生中には、ホスト音声アプリケーションプログラム２０２は音声データストリームを音声アプリケーションプログラムインタフェース１７１を介してホスト音声ドライバ１６４へ転送する。ホスト音声ドライバ１６４は音声データストリームをＤＳＰインタフェース１２０を介してホストＤＳＰドライバ１２２へ転送する。音声ＤＳＰ−ＯＳタスク２５２は、ホストアプリケーションプログラム２０２の要求条件に従って、８：１圧縮ドライバ２１０、２：１圧縮ドライバ２１２、又はＰＣＭ音声ドライバ２１４のいずれかを介してＤＳＰドライバ１２２から音声データストリームを受信する。
【００６９】
８：１圧縮ドライバ２１０は、音声データストリームを音声再生中に８：１圧縮データ形式から標準データ形式に変換する。２：１圧縮ドライバ２１２は音声データストリームを音声再生中に２：１圧縮データ形式から標準データ形式に変換する。ＰＣＭ音声ドライバ２１４は音声データストリームを再生中にＷａｖｅｆｏｒｍファイルのＰＣＭ形式から標準データ形式に変換する。
次に、音声ＤＳＰ−ＯＳタスク２５２は標準形式の音声データストリームを装置独立入出力インタフェースを介してＤＳＰステレオオーディオコーデックドライバ２８０へ転送する。ＤＳＰステレオオーディオコーデックドライバ２８０は音声データストリームをステレオオーディオコーデック回路５４が要求する１６ビット整数データ値に変換し、次に、圧縮解除した１６ビット音声データ値をステレオオーディオコーデック回路５４へ転送して、音声再生を生成する。
【００７０】
電話音声入出力モードの記録動作の間には、ＤＳＰ電話ドライバ２８２はアナログ電話回路インタフェース回路６０と、コーデック７０及び７２とから構内回線２０を介して、直列電話機１５の音声サンプルを受信する。ＤＳＰ電話ドライバ２８２は音声サンプルを標準データ形式を有する音声データストリームに変換する。そこで、ＤＳＰ電話ドライバ２８２は音声データストリームを音声ＤＳＰ−ＯＳタスク２５２へ転送する。
【００７１】
ホストアプリケーションプログラム２０２の要求条件に従って音声データストリームを標準データ形式からアプリケーション従属形式に変換するために、音声ＤＳＰ−ＯＳタスク２５２は音声データストリームを８：１圧縮ドライバ２１０、２：１圧縮ドライバ２１２、又はＰＣＭ音声ドライバ２１４のいずれかを介して事前処理する。事前処理した音声データストリームを、その後、ＤＳＰホストドライバ１３０の装置独立入出力インタフェースを介し、さらにはホスト音声ドライバ１６４を介してホスト音声アプリケーションプログラム２０２へ転送する。
【００７２】
電話音声入出力モードの再生動作中、ホスト音声アプリケーションプログラム２０２は音声データストリームを音声アプリケーションプログラムインタフェース１７１を介してホスト音声ドライバ１６４へ転送する。ホスト音声ドライバ１６４は音声データストリームをＤＳＰインタフェース１２０を介してホストＤＳＰドライバ１２２へ転送する。音声ＤＳＰ−ＯＳタスク２５２は、音声データストリームを標準データ形式に変換するために、音声データストリームをホストＤＳＰドライバ１２２から８：１圧縮ドライバ２１０、２：１圧縮ドライバ２１２、又はＰＣＭ音声ドライバ２１４のいずれかを介して受信する。
【００７３】
そこで、音声ＤＳＰ−ＯＳタスク２５２は音声データストリームを装置独立入出力インタフェースを介してＤＳＰ電話ドライバ２８２へ転送する。ＤＳＰ電話ドライバ２８２は標準データ形式の音声データストリームを、アナログ電話回線インタフェース回路６０と、コーデック７０及び７２とが要求する音声データ値に変換する。次に、ＤＳＰ電話ドライバ２８２は圧縮解除した音声データ値をアナログ電話回線インタフェース回路６０と、コーデック７０及び７２とへ転送して、直列電話機１５において構内回線２０を介して音声再生を生成する。
【００７４】
一実施例においては、音声再生動作中、ホスト音声アプリケーションプログラム２０２は、Ｗａｖｅｆｏｒｍファイルから音声ＤＳＰ−ＯＳタスク２５２へ音声データ値を転送する。Ｗａｖｅｆｏｒｍ音声サンプルはＭｉｃｒｏｓｏｆｔ（登録商標）Ｃｏｒｐｏｒａｔｉｏｎより処理用として提供されているＷａｖｅｆｏｒｍアプリケーションプログラムインタフェースに準拠している。Ｗａｖｅｆｏｒｍ音声サンプルは８Ｋｈｚモノラル又はステレオ、１１．０２５Ｋｈｚモノラル又はステレオ、１６Ｋｈｚモノラル又はステレオ、２２．０５Ｋｈｚモノラル又はステレオ、３２Ｋｈｚモノラル又はステレオ、４４．１Ｋｈｚモノラル又はステレオ、並びに４８Ｋｈｚモノラル又はステレオのサンプル速度を支援する。各サンプルは８ビット又は１６ビットのいずれかから構成されている。
【００７５】
直列電話機１５がデジタル電話機である場合には、サンプル速度の変換とステレオからモノラルへの変換はデジタル電話機に適合するように実行される。音声ＤＳＰ−ＯＳタスク２５２はＷａｖｅｆｏｒｍ音声サンプルについてサンプル速度変換を実行すると共に、必要に応じて、音声サンプルを直列電話機１５が要求するサンプル速度に準拠させるために、音声サンプルについてステレオ／モノラル変換を実行する。
要求されるサンプル速度変換とステレオ／モノラル変換を実行するために、汎用変換ドライバ２２０により標準形式音声データストリームを処理する。汎用変換ドライバ２２０は、標準ＤＳＰアップサンプリング、標準ＤＳＰダウンサンプリング及びフィルタリングの各技法を使用して、標準形式データのストリームを１つのサンプル速度から別のサンプル速度に変換する。
【００７６】
汎用変換ドライバ２２０は、標準データ形式の音声データストリームからインタリーブしたサンプルを抽出し且つインタリーブサンプルを加算して、非インタリーブデータストリームを生成することによって、ステレオからモノラルに変換する。汎用変換ドライバ２２０は、標準データ形式の音声データストリームからのサンプルを複製し且つそれらのサンプルをインタリーブすることによって、モノラルからステレオに変換する。
以上の明細書の中では、本発明をその特定の実施例に関連して説明したが、特許請求の範囲に挙げられているより広い範囲の本発明の趣旨から逸脱せずに様々な変形や変更を実施しうることは明白であろう。従って、この明細書及び図面は限定的な意味をもつのではなく、単なる例示としてみなされるべきである。
【図面の簡単な説明】
【図１】  入力呼出しを受信し且つ出力呼出しを電話回線を介して送信する一実施例の電話システムを示す図。
【図２】  ホストプロセッサと、メモリサブシステムと、大容量記憶サブシステムと、多機能入出力サブシステムとを具備するパーソナルコンピュータを示す図。
【図３】  アナログ電話回線インタフェース回路及び関連コーデック回路と、デジタル信号処理装置と、ステレオオーディオコーデック回路と、１組のインタフェース回路とを具備する多機能入出力サブシステムを示す線図。
【図４】  ホストプロセッサ及び多機能入出力サブシステムに関わるソフトウェアアーキテクチャを示す図。
【図５】  ホストプロセッサで実行されるホスト装置ドライバと、多機能入出力サブシステムで実行される対応するＤＳＰ−ＯＳタスクとの対話を示す図。
【図６】  一実施例のホストプロセッサのソフトウェアアーキテクチャを示す図。
【図７】  一実施例の多機能入出力サブシステムのソフトウェアアーキテクチャを示す図。
【符号の説明】
１０…コンピュータシステム、１２…パーソナルコンピュータ、１４…多機能入出力サブシステム、１５…直列電話機、１６，１７…電話機、１８…電話応答機械、２０…構内回線、２２…電話回線、３１…メモリサブシステム、３２…ホストプロセッサ、３３…大容量記憶サブシステム、４４…ホストバス、５６，５８…音声信号回線。
【図１】
0003808514.tif 000002
【図２】
0003808514.tif 000003
【図３】
0003808514.tif 000004
【図４】
0003808514.tif 000005
【図５】
0003808514.tif 000006
【図６】
0003808514.tif 000007
【図７】
0003808514.tif 000008