(57)【要約】【課題】  音声デバイスのサンプリング周波数として実運用上で適切なものを自動設定できるようにする。【解決手段】  本発明の音声サンプリング周波数設定装置は、アナログ音声信号及びデジタル音声信号間の変換を行う、電話端末に設けられている音声デバイスに対する、サンプリング周波数の候補と、その優先順位とを記憶している候補情報記憶手段と、優先順位が高い候補側から、そのサンプリング周波数で確認対象となっている音声デバイスが適切に動作しているかを確認する最適サンプリング周波数探索手段と、音声デバイスが適切に動作する最適なサンプリング周波数の情報を、音声デバイスと協働するソフトウェア部分に設定させるサンプリング周波数設定手段とを有する。本発明のＩＰソフトフォンは、本発明の音声サンプリング周波数設定装置を有する。【選択図】      図１
2009027339.tif 000002
【特許請求の範囲】
【請求項１】
電話端末の入力アナログ音声信号をデジタル音声信号に変換する音声デバイス、若しくは、電話端末から発音出力させるアナログ音声信号へ受信したデジタル音声信号を変換する音声デバイスの少なくとも一方に対する、サンプリング周波数の候補と、その優先順位とを記憶している候補情報記憶手段と、
優先順位が高い候補側から、そのサンプリング周波数で確認対象となっている上記音声デバイスが適切に動作しているかを確認する最適サンプリング周波数探索手段と、
上記音声デバイスが適切に動作する最適なサンプリング周波数の情報を、上記音声デバイスと協働するソフトウェア部分に設定させるサンプリング周波数設定手段と
を有することを特徴とする音声サンプリング周波数設定装置。
【請求項２】
電話端末に搭載されるコンピュータを、
電話端末の入力アナログ音声信号をデジタル音声信号に変換する音声デバイス、若しくは、電話端末から発音出力させるアナログ音声信号へ受信したデジタル音声信号を変換する音声デバイスの少なくとも一方に対する、サンプリング周波数の候補と、その優先順位とを記憶している候補情報記憶手段と、
優先順位が高い候補側から、そのサンプリング周波数で確認対象となっている上記音声デバイスが適切に動作しているかを確認する最適サンプリング周波数探索手段と、
上記音声デバイスが適切に動作している最適なサンプリング周波数の情報を、上記音声デバイスと協働するソフトウェア部分に設定させるサンプリング周波数設定手段と
して機能させることを特徴とする音声サンプリング周波数設定プログラム。
【請求項３】
請求項１に記載の音声サンプリング周波数設定装置を有することを特徴とするＩＰソフトフォン。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声サンプリング周波数設定装置、音声サンプリング周波数設定プログラム及びＩＰソフトフォンに関し、例えば、ソフトウェア制御により音声処理が実現されるＩＰソフトフォンにおいて音声入出力用のデバイス（以下、音声デバイスと呼ぶ）として選択されたものに対し、使用可能なサンプリング周波数を設定する場合に適用し得るものである。
【背景技術】
【０００２】
今日、電話通信においては通信に供する電話端末の種類も多い。例えば、いわゆるＩＰ電話も、専用機としてのＩＰ電話端末もあれば、パソコン上にそれ用のプログラムをインストールすることによりＩＰ電話機能を発揮するＩＰソフトフォンも存在する。このように多くの種類の電話端末が存在することを考慮し、所定の特性において、複数の選択肢から所定の選択肢を設定させる機能を有する電話端末も既に提案されている。
【０００３】
例えば、特許文献１には、音声帯域に対する複数のフィルタから最適なものを選定するものが提案されている。また、従来のＩＰソフトフォンにおいては、使用される音声デバイス（例えば、スピーカ駆動デバイスやマイクロフォン取込デバイス）のサンプリング周波数を、アプリケーションのインストール時などに、ユーザによる選択入力により設定することもなされている。
【特許文献１】特開２００４−３１２１２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
使用される音声デバイスのサンプリング周波数を選択可能とすることは、適用可能な音声デバイスの種類を増大させて好ましい。
【０００５】
しかし、ユーザからの入力に応じてサンプリング周波数を設定できるとしても、設定前にユーザが使用できるサンプリング周波数を確認して設定しなければならず、また、性能として使用可能なサンプリング周波数でも、スピーカやマイクロフォンとの相性等から、実際には使用できないことがある、等の実運用上の問題が発生することがあった。
【０００６】
そのため、音声デバイスについてのサンプリング周波数として実運用上で適切なものを自動設定できる音声サンプリング周波数設定装置、音声サンプリング周波数設定プログラム及びＩＰソフトフォンが望まれている。
【課題を解決するための手段】
【０００７】
第１の本発明の音声サンプリング周波数設定装置は、（１）電話端末の入力アナログ音声信号をデジタル音声信号に変換する音声デバイス、若しくは、電話端末から発音出力させるアナログ音声信号へ受信したデジタル音声信号を変換する音声デバイスの少なくとも一方に対する、サンプリング周波数の候補と、その優先順位とを記憶している候補情報記憶手段と、（２）優先順位が高い候補側から、そのサンプリング周波数で確認対象となっている上記音声デバイスが適切に動作しているかを確認する最適サンプリング周波数探索手段と、（３）上記音声デバイスが適切に動作する最適なサンプリング周波数の情報を、上記音声デバイスと協働するソフトウェア部分に設定させるサンプリング周波数設定手段とを有することを特徴とする。
【０００８】
第２の本発明の音声サンプリング周波数設定プログラムは、電話端末に搭載されるコンピュータを、（１）電話端末の入力アナログ音声信号をデジタル音声信号に変換する音声デバイス、若しくは、電話端末から発音出力させるアナログ音声信号へ受信したデジタル音声信号を変換する音声デバイスの少なくとも一方に対する、サンプリング周波数の候補と、その優先順位とを記憶している候補情報記憶手段と、（２）優先順位が高い候補側から、そのサンプリング周波数で確認対象となっている上記音声デバイスが適切に動作しているかを確認する最適サンプリング周波数探索手段と、（３）上記音声デバイスが適切に動作している最適なサンプリング周波数の情報を、上記音声デバイスと協働するソフトウェア部分に設定させるサンプリング周波数設定手段として機能させることを特徴とする。
【０００９】
第３の本発明のＩＰソフトフォンは、第１の本発明の音声サンプリング周波数設定装置を有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、音声デバイスについてのサンプリング周波数として実運用上で適切なものを自動設定できるようになる。
【発明を実施するための最良の形態】
【００１１】
（Ａ）主たる実施形態
以下、本発明による音声サンプリング周波数設定装置、音声サンプリング周波数設定プログラム及びＩＰソフトフォンの一実施形態を、図面を参照しながら詳述する。
【００１２】
（Ａ−１）実施形態の構成
図１は、実施形態のＩＰソフトフォンの概略構成を示すブロック図である。実施形態のＩＰソフトフォン１は、パソコン上にそれ用のプログラムをインストールすることにより、ＩＰ網２を利用するＩＰ電話機能を発揮するものであるが、機能的には、図１で表すことができる。
【００１３】
図１において、ＩＰソフトフォン１は、マイクロフォン（マイク）１０、音声入力処理部１１、エンコーダ１２、ＲＴＰ処理部３０、ジッタ吸収部２０、デコーダ２１、音声出力処理部２２、スピーカ２３、サンプリング周波数設定処理部３１を有する。なお、音声入力処理部１１の一部、エンコーダ１２、ＲＴＰ処理部３０、ジッタ吸収部２０、デコーダ２１、音声出力処理部２２の一部、及び、サンプリング周波数設定処理部３１が、例えば、ソフトウェアによって実現されている。
【００１４】
マイクロフォン１０は、通話者の発声音声を捕捉し、電気信号（音声信号）に変換するものである。なお、マイクロフォン１０は、パソコンに対して外付けのものであっても良く、パソコンが内蔵しているものであっても良い。
【００１５】
音声入力処理部１１は、マイクロフォン１０からの音声信号（アナログ信号）を増幅したり、帯域制限したりすると共に、デジタル信号（ＰＣＭデータ）へ変換することも行う。この実施形態の場合、アナログ信号をデジタル信号へ変換する際のサンプリング周波数は、サンプリング周波数設定処理部３１によって設定されたものである。
【００１６】
エンコーダ１２は、音声入力処理部１１から出力されたデジタル音声信号を符号化処理（圧縮）するものである。なお、エンコーダ１２からの符号化音声データのビットレートを、サンプリング周波数設定処理部３１が設定するようにしても良い。
【００１７】
ＲＴＰ処理部３０は、符号化音声データからＲＴＰパケットを生成してＩＰ網２に送信させるものである。また、ＲＴＰ処理部３０は、ＩＰ網２から到来したＲＴＰパケットを分解し、ＲＴＰパケットから符号化音声データを抽出するものである。
【００１８】
ジッタ吸収部２０は、ＲＴＰパケットの受信時系列が一様でないことを、ＲＴＰ処理部３０から出力された符号化音声データを受信タイミングでバッファに書き込むと共に、一様な速度で読み出すことで吸収するものである。
【００１９】
デコーダ２１は、ジッタ吸収部２０から出力された符号化音声データを復号処理（解凍）するものである。なお、デコーダ２１が処理する符号化音声データのビットレートを、サンプリング周波数設定処理部３１が設定するようにしても良い。
【００２０】
音声出力処理部２２は、デコーダ２１から出力されたデジタル信号（ＰＣＭデータ）をアナログ信号に変換した後、帯域制限したり増幅したりしてスピーカ２３を駆動するものである。この実施形態の場合、デジタル信号をアナログ信号へ変換する際のサンプリング周波数は、サンプリング周波数設定処理部３１によって設定されたものである。
【００２１】
スピーカ２３は、音声出力処理部２２から与えられたアナログ音声信号を発音出力するものである。なお、スピーカ２３は、パソコンに対して外付けのものであっても良く、パソコンが内蔵しているものであっても良い。
【００２２】
サンプリング周波数設定処理部３１は、例えば、ＩＰソフトフォン用のプログラムがインストールされた所定のタイミングで、又は、発信時又は着信時において通話路を確立させる前のタイミングで、複数種類のサンプリング周波数の中から、音声入力処理部１１及び音声出力処理部２２が適用するサンプリング周波数を設定するものである。ここで、サンプリング周波数設定処理部３１は、設定するサンプリング周波数を決定した際には、対応するビットレートを定めて、エンコーダ１２やデコーダ２１に設定させるようにしても良い。
【００２３】
図２は、音声デバイスとソフトウェアとの関係を示す説明図である。音声デバイスＡＤは、上述したように、例えば、音声出力処理部２２に係るスピーカドライバである。
【００２４】
ＩＰソフトフォン用のプログラム４０は、当該パソコンにおけるＯＳ（Ｗｉｎｄｏｗｓ（登録商標）、Ｌｉｎｕｘ（登録商標）等）４１を介して、音声デバイスＡＤを操作しようとする。ＩＰソフトフォン用プログラム４０は、ＯＳ４１に対して、音声デバイスＡＤへのデータ書込み操作を実行させるためのデータ書込み用ＡＰＩ４０ａや、音声デバイスＡＤからのデータ読出し操作を実行させるためのデータ読出し用ＡＰＩ４０ｂ等を備える。
【００２５】
ＩＰソフトフォン用プログラム４０の音声デバイスＡＤを操作しようとするプログラム部分や、データ書込み用ＡＰＩ４０ａや、データ読出し用ＡＰＩ４０ｂ等が、音声入力処理部１１や音声出力処理部２２における音声デバイス部分以外の部分となっている。
【００２６】
サンプリング周波数設定処理部３１も、ＩＰソフトフォン用プログラム４０の一部によって構成されており、適宜、ＯＳ４１を介して、音声デバイスを操作しようとするものである。
【００２７】
（Ａ−２）実施形態の動作
次に、実施形態のＩＰソフトフォン１における音声サンプリング周波数の設定動作を説明する。
【００２８】
まず、サンプリング周波数設定処理部３１が実行する音声入力処理部１１（内の音声デバイス）に対する適用可能なサンプリング周波数を確認し、そのサンプリング周波数に設定する動作を、図３のフローチャートを参照しながら説明する。なお、図３に示す処理を実行するタイミングは、例えば、実音声通話の開始前である。
【００２９】
サンプリング周波数設定処理部３１は、図３に示す処理を開始すると、サンプリング周波数優先順位データを初期化（０クリア）し（ステップ１００）、サンプリング周波数の全ての候補について確認処理を実行したか否かを判別する（ステップ１０１）。なお、サンプリング周波数優先順位データの初期化（０クリア）によっては、どの優先順位のサンプリング周波数も示していない状態になる。
【００３０】
サンプリング周波数の全ての候補について確認処理が済んでいない場合には、サンプリング周波数優先順位データを１インクリメントし（ステップ１０２）、音声入力処理部１１内の該当する音声デバイスをオープンし、サンプリング周波数優先順位データで定まるサンプリング周波数を音声デバイスに設定する（ステップ１０３）。ここで、サンプリング周波数設定処理部３１は、図４に示すような優先順位とサンプリング周波数とを対応付けた情報を保持しており、ステップ１０３では、この保持情報に従い、設定するサンプリング周波数を決定する。
【００３１】
そして、サンプリング周波数設定処理部３１は、音声デバイスの入力を監視するためのスレッドを生成する（ステップ１０４）。この監視スレッドでは、音声デバイスをオープンしてから、１０ｍｓ後に入力データを取得することが実行される。
【００３２】
サンプリング周波数設定処理部３１は、入力データを取得することができたか否かや（ステップ１０５）、取得したサイズが妥当であったか否かを判別する（ステップ１０６）。ここで、「入力データを取得できる」とは、例えば、ＯＳのシステムコールに対して、音声デバイスからのデータ取得用ＡＰＩ（音声入力処理部１１の一要素としてのＡＰＩ）の実行がエラー応答とならないことである。また、「取得したサイズが妥当である」とは、音声デバイスからのデータ取得用ＡＰＩを実行した結果、サンプリング周波数によって定まるサイズ（データ量）が取得できたことである。図５は、サンプリング周波数とサイズとの関係を示しており、このような情報をサンプリング周波数設定処理部３１は内部に保持している。監視スレッドの実行によって、通話状態に移行していないが、マイクロフォン１０が捕捉した音声信号を処理したデータが適宜取得される。
【００３３】
サンプリング周波数設定処理部３１は、入力データを取得できない場合や、入力データを取得できたがサイズが妥当でない場合には、上述したステップ１０１に戻る。このようにしてステップ１０１に戻る際には、該当する音声デバイスをクローズしてから戻る。
【００３４】
これに対して、サンプリング周波数設定処理部３１は、入力データを取得でき、しかも、サイズが妥当な場合には（言い換えると、音声デバイスに適切なサンプリング周波数が確認できた場合には）、そのとき、設定されているサンプリング周波数をそのままにして、音声入力処理部１１内の該当する音声デバイスをクローズし（ステップ１０７）、図３に示す一連の処理を終了する。ステップ１０７の処理によって、音声デバイスに適切なサンプリング周波数が設定されたことになる。
【００３５】
サンプリング周波数の全ての候補について確認処理を実行しても、音声デバイスに適切なサンプリング周波数を見いだせない場合には、サンプリング周波数設定処理部３１は、音声デバイスが利用付加であることを上位へ通知し（ステップ１０８）、図３に示す一連の処理を終了する。ここで、上位への通知とは、例えば、発信操作又は着信通知に基づいた実音声通話の開始前に図３の処理を実行した場合であれば、図示しない呼制御部に通知することになり、この場合には、セッション（通話路）の接続動作には移行しないことになる。また、ＩＰソフトフォン用プログラムをインストールし、初期設定の一環として、図３の処理を実行した場合であれば、ＩＰソフトフォン用プログラムにおける初期設定プログラム部分に通知することになり、この場合には、例えば、音声デバイスを利用できないことが表示される。
【００３６】
次に、サンプリング周波数設定処理部３１が実行する音声出力処理部２２（内の音声デバイス）に対する適用可能なサンプリング周波数を確認し、そのサンプリング周波数に設定する動作を、図６のフローチャートを参照しながら説明する。なお、図６に示す処理を実行するタイミングも、例えば、実音声通話の開始前である。
【００３７】
サンプリング周波数設定処理部３１は、図６に示す処理を開始すると、サンプリング周波数優先順位データを初期化（０クリア）し（ステップ２００）、サンプリング周波数の全ての候補について確認処理を実行したか否かを判別する（ステップ２０１）。なお、サンプリング周波数優先順位データの初期化（０クリア）によっては、どの優先順位のサンプリング周波数も示していない状態になる。
【００３８】
サンプリング周波数の全ての候補について確認処理が済んでいない場合には、サンプリング周波数優先順位データを１インクリメントし（ステップ２０２）、音声出力処理部２２内の該当する音声デバイスをオープンし、サンプリング周波数優先順位データで定まるサンプリング周波数を音声デバイスに設定する（ステップ２０３）。ここで、サンプリング周波数設定処理部３１は、図７に示すような優先順位とサンプリング周波数とを対応付けた情報を保持しており、ステップ２０３では、この保持情報に従い、設定するサンプリング周波数を決定する。なお、サンプリング周波数設定処理部３１は、音声入力処理部１１用の優先順位とサンプリング周波数との対応情報と、音声出力処理部２２用の優先順位とサンプリング周波数との対応情報とを別個に保持するのではなく、共通情報として保持するようにしても良い。
【００３９】
その後、サンプリング周波数設定処理部３１は、音声デバイスの出力を監視するためのスレッドを生成する（ステップ２０４）。この監視スレッドでは、音声デバイスをオープンしてから、１０ｍｓ後に出力データを書込むことが実行される。書込み時のデータは、無音を示すオール０のものであり、サンプリング周波数設定処理部３１は、図８に示すように、サンプリング周波数に応じて定まるサイズ分だけの無音のデータを書込むようにさせる。なお、この書込み時において、仮に、スピーカ２３に信号が流れ、スピーカ２３が発音出力しようとしても、無音信号であるので、周囲の者を驚かすようなことにはならない。
【００４０】
サンプリング周波数設定処理部３１は、書込みができたか否かを判別する（ステップ２０５）。ここで、「書込みができる」とは、例えば、ＯＳのシステムコールに対して、音声デバイスへのデータ書込み用ＡＰＩ（音声出力処理部２２の一要素としてのＡＰＩ）の実行がエラー応答とならないことである。
【００４１】
サンプリング周波数設定処理部３１は、無音データを書込むことができない場合には、上述したステップ２０１に戻る。このようにしてステップ２０１に戻る際には、該当する音声デバイスをクローズしてから戻る。
【００４２】
これに対して、サンプリング周波数設定処理部３１は、無音データを書込むことができた場合には（言い換えると、音声デバイスに適切なサンプリング周波数が確認できた場合には）、そのとき、設定されているサンプリング周波数をそのままにして、音声出力処理部２２内の該当する音声デバイスをクローズし（ステップ１２０６）、図６に示す一連の処理を終了する。ステップ２０６の処理によって、音声デバイスに適切なサンプリング周波数が設定されたことになる。
【００４３】
サンプリング周波数の全ての候補について確認処理を実行しても、音声デバイスに適切なサンプリング周波数を見いだせない場合には、サンプリング周波数設定処理部３１は、音声デバイスが利用付加であることを上位へ通知し（ステップ２０７）、図６に示す一連の処理を終了する。ここで、上位への通知とは、例えば、発信操作又は着信通知に基づいた実音声通話の開始前に図６の処理を実行した場合であれば、図示しない呼制御部に通知することになり、この場合には、セッション（通話路）の接続動作には移行しないことになる。また、ＩＰソフトフォン用プログラムをインストールし、初期設定の一環として、図６の処理を実行した場合であれば、ＩＰソフトフォン用プログラムにおける初期設定プログラム部分に通知することになり、この場合には、例えば、音声デバイスを利用できないことが表示される。
【００４４】
（Ａ−３）実施形態の効果
上記実施形態によれば、音声デバイスについてのサンプリング周波数として実運用上で適切なものを自動設定することができる。
【００４５】
ＩＰソフトフォン用プログラムは、パソコンに搭載されてそのパソコンをＩＰソフトフォンとして機能させるものである。ＩＰソフトフォン用プログラムは、種々のパソコンに搭載できるように構成されている。パソコンの種類によって、内蔵する又は外付けの音声デバイスが対応するサンプリング周波数は異なっている。ユーザが、ＩＰソフトフォン用プログラムをインストールする際に、そのパソコンにおける音声デバイスの属性（上記実施形態ではサンプリング周波数）を確認することは実際上無可能に近い。上記実施形態によれば、音声デバイスについてのサンプリング周波数として適切なものを自動設定できるので、ユーザは、単に、ＩＰソフトフォン用プログラムをインストールすれば良いようになる。
【００４６】
また、内蔵用の音声入出力装置に係る音声デバイスと外付けの音声入出力装置に係る音声デバイスとの間で、例えば、ＯＳによって、外付けされたものがあれば外付けの音声入出力装置に係る音声デバイスを優先させ、外付けされたものがなければ内蔵用の音声入出力装置に係る音声デバイスを優先させるような場合であっても、実音声通話の開始直前にサンプリング周波数を確認するようにすれば、外付けの有無によらずに、そのときに有効とされている音声デバイスに適切なサンプリング周波数を設定することができる。
【００４７】
（Ｂ）他の実施形態
上記実施形態においては、入力用の音声デバイスと出力用の音声デバイスのサンプリング周波数を別個に確認、設定するものを示したが、入力用又は出力用の音声デバイスについて、サンプリング周波数を確認、設定し、他方の音声デバイスに対してはその設定したサンプリング周波数と同じサンプリング周波数を設定するようにしても良い。この場合において、他方の音声デバイスに対して同じサンプリング周波数を設定した際には、そのサンプリング周波数で適切に動作したかの確認を行うようにしても良い。
【００４８】
また、上記実施形態においては、入力用の音声デバイスと出力用の音声デバイスのサンプリング周波数を別個に確認、設定するものを示したが、両方のサンプリング周波数が異なる場合には、デバイス利用不可とするようにしても良い。
【００４９】
さらに、上記実施形態においては、図４や図７に示すような優先順位とサンプリング周波数との関係が固定のものを示したが、これら関係を可変設定できるようにしても良い。この場合において、サンプリング周波数の候補数も増減可能としても良い。
【００５０】
さらにまた、上記実施形態においては、サンプリング周波数設定処理部３１が主としてＩＰソフトフォン用プログラムの一部としてソフトウェアで構成されたものを示したが、これをＩＣチップ化するようにしても良い。例えば、ＩＰ専用電話端末に対して、当該ＩＣチップを搭載するようにすれば、音声デバイスが異なる複数種類のＩＰ専用電話端末に搭載することができる。
【００５１】
上記実施形態では、サンプリング周波数を確認、設定するものを示したが、ビットレートを確認、設定するようにしても良く、モノラル／ステレオを確認、設定するようにしても良い。例えば、コーデック用の音声デバイスであれば、ビットレートを確認、設定することは好ましい。
【図面の簡単な説明】
【００５２】
【図１】実施形態のＩＰソフトフォンの概略構成を示すブロック図である。
【図２】実施形態の音声デバイスとソフトウェアとの関係を示す説明図である。
【図３】実施形態における、音声入力処理部に対する適用可能なサンプリング周波数を確認し、そのサンプリング周波数に設定する動作を示すフローチャートである。
【図４】実施形態における、音声入力処理部に対して適用可能なサンプリング周波数と優先順位との関係を示す説明図である。
【図５】実施形態における、音声入力処理部に設定したサンプリング周波数と得られるデータのサイズとの関係を示す説明図である。
【図６】実施形態における、音声出力処理部に対する適用可能なサンプリング周波数を確認し、そのサンプリング周波数に設定する動作を示すフローチャートである。
【図７】実施形態における、音声出力処理部に対して適用可能なサンプリング周波数と優先順位との関係を示す説明図である。
【図８】実施形態における、音声出力処理部に設定したサンプリング周波数と書込むデータのサイズとの関係を示す説明図である。
【符号の説明】
【００５３】
１…ＩＰソフトフォン、１０…マイクロフォン、１１…音声入力処理部、１２…エンコーダ、２０…ジッタ吸収部、２１…デコーダ、２２…音声出力処理部、２３…スピーカ、３０…ＲＴＰ処理部、３１…サンプリング周波数設定処理部。
【図１】
2009027339.tif 000003
【図２】
2009027339.tif 000004
【図３】
2009027339.tif 000005
【図４】
2009027339.tif 000006
【図５】
2009027339.tif 000007
【図６】
2009027339.tif 000008
【図７】
2009027339.tif 000009
【図８】
2009027339.tif 000010