説明

音声サンプリング周波数設定装置、音声サンプリング周波数設定プログラム及びIPソフトフォン

【課題】 音声デバイスのサンプリング周波数として実運用上で適切なものを自動設定できるようにする。
【解決手段】 本発明の音声サンプリング周波数設定装置は、アナログ音声信号及びデジタル音声信号間の変換を行う、電話端末に設けられている音声デバイスに対する、サンプリング周波数の候補と、その優先順位とを記憶している候補情報記憶手段と、優先順位が高い候補側から、そのサンプリング周波数で確認対象となっている音声デバイスが適切に動作しているかを確認する最適サンプリング周波数探索手段と、音声デバイスが適切に動作する最適なサンプリング周波数の情報を、音声デバイスと協働するソフトウェア部分に設定させるサンプリング周波数設定手段とを有する。本発明のIPソフトフォンは、本発明の音声サンプリング周波数設定装置を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音声サンプリング周波数設定装置、音声サンプリング周波数設定プログラム及びIPソフトフォンに関し、例えば、ソフトウェア制御により音声処理が実現されるIPソフトフォンにおいて音声入出力用のデバイス(以下、音声デバイスと呼ぶ)として選択されたものに対し、使用可能なサンプリング周波数を設定する場合に適用し得るものである。
【背景技術】
【0002】
今日、電話通信においては通信に供する電話端末の種類も多い。例えば、いわゆるIP電話も、専用機としてのIP電話端末もあれば、パソコン上にそれ用のプログラムをインストールすることによりIP電話機能を発揮するIPソフトフォンも存在する。このように多くの種類の電話端末が存在することを考慮し、所定の特性において、複数の選択肢から所定の選択肢を設定させる機能を有する電話端末も既に提案されている。
【0003】
例えば、特許文献1には、音声帯域に対する複数のフィルタから最適なものを選定するものが提案されている。また、従来のIPソフトフォンにおいては、使用される音声デバイス(例えば、スピーカ駆動デバイスやマイクロフォン取込デバイス)のサンプリング周波数を、アプリケーションのインストール時などに、ユーザによる選択入力により設定することもなされている。
【特許文献1】特開2004−312125号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
使用される音声デバイスのサンプリング周波数を選択可能とすることは、適用可能な音声デバイスの種類を増大させて好ましい。
【0005】
しかし、ユーザからの入力に応じてサンプリング周波数を設定できるとしても、設定前にユーザが使用できるサンプリング周波数を確認して設定しなければならず、また、性能として使用可能なサンプリング周波数でも、スピーカやマイクロフォンとの相性等から、実際には使用できないことがある、等の実運用上の問題が発生することがあった。
【0006】
そのため、音声デバイスについてのサンプリング周波数として実運用上で適切なものを自動設定できる音声サンプリング周波数設定装置、音声サンプリング周波数設定プログラム及びIPソフトフォンが望まれている。
【課題を解決するための手段】
【0007】
第1の本発明の音声サンプリング周波数設定装置は、(1)電話端末の入力アナログ音声信号をデジタル音声信号に変換する音声デバイス、若しくは、電話端末から発音出力させるアナログ音声信号へ受信したデジタル音声信号を変換する音声デバイスの少なくとも一方に対する、サンプリング周波数の候補と、その優先順位とを記憶している候補情報記憶手段と、(2)優先順位が高い候補側から、そのサンプリング周波数で確認対象となっている上記音声デバイスが適切に動作しているかを確認する最適サンプリング周波数探索手段と、(3)上記音声デバイスが適切に動作する最適なサンプリング周波数の情報を、上記音声デバイスと協働するソフトウェア部分に設定させるサンプリング周波数設定手段とを有することを特徴とする。
【0008】
第2の本発明の音声サンプリング周波数設定プログラムは、電話端末に搭載されるコンピュータを、(1)電話端末の入力アナログ音声信号をデジタル音声信号に変換する音声デバイス、若しくは、電話端末から発音出力させるアナログ音声信号へ受信したデジタル音声信号を変換する音声デバイスの少なくとも一方に対する、サンプリング周波数の候補と、その優先順位とを記憶している候補情報記憶手段と、(2)優先順位が高い候補側から、そのサンプリング周波数で確認対象となっている上記音声デバイスが適切に動作しているかを確認する最適サンプリング周波数探索手段と、(3)上記音声デバイスが適切に動作している最適なサンプリング周波数の情報を、上記音声デバイスと協働するソフトウェア部分に設定させるサンプリング周波数設定手段として機能させることを特徴とする。
【0009】
第3の本発明のIPソフトフォンは、第1の本発明の音声サンプリング周波数設定装置を有することを特徴とする。
【発明の効果】
【0010】
本発明によれば、音声デバイスについてのサンプリング周波数として実運用上で適切なものを自動設定できるようになる。
【発明を実施するための最良の形態】
【0011】
(A)主たる実施形態
以下、本発明による音声サンプリング周波数設定装置、音声サンプリング周波数設定プログラム及びIPソフトフォンの一実施形態を、図面を参照しながら詳述する。
【0012】
(A−1)実施形態の構成
図1は、実施形態のIPソフトフォンの概略構成を示すブロック図である。実施形態のIPソフトフォン1は、パソコン上にそれ用のプログラムをインストールすることにより、IP網2を利用するIP電話機能を発揮するものであるが、機能的には、図1で表すことができる。
【0013】
図1において、IPソフトフォン1は、マイクロフォン(マイク)10、音声入力処理部11、エンコーダ12、RTP処理部30、ジッタ吸収部20、デコーダ21、音声出力処理部22、スピーカ23、サンプリング周波数設定処理部31を有する。なお、音声入力処理部11の一部、エンコーダ12、RTP処理部30、ジッタ吸収部20、デコーダ21、音声出力処理部22の一部、及び、サンプリング周波数設定処理部31が、例えば、ソフトウェアによって実現されている。
【0014】
マイクロフォン10は、通話者の発声音声を捕捉し、電気信号(音声信号)に変換するものである。なお、マイクロフォン10は、パソコンに対して外付けのものであっても良く、パソコンが内蔵しているものであっても良い。
【0015】
音声入力処理部11は、マイクロフォン10からの音声信号(アナログ信号)を増幅したり、帯域制限したりすると共に、デジタル信号(PCMデータ)へ変換することも行う。この実施形態の場合、アナログ信号をデジタル信号へ変換する際のサンプリング周波数は、サンプリング周波数設定処理部31によって設定されたものである。
【0016】
エンコーダ12は、音声入力処理部11から出力されたデジタル音声信号を符号化処理(圧縮)するものである。なお、エンコーダ12からの符号化音声データのビットレートを、サンプリング周波数設定処理部31が設定するようにしても良い。
【0017】
RTP処理部30は、符号化音声データからRTPパケットを生成してIP網2に送信させるものである。また、RTP処理部30は、IP網2から到来したRTPパケットを分解し、RTPパケットから符号化音声データを抽出するものである。
【0018】
ジッタ吸収部20は、RTPパケットの受信時系列が一様でないことを、RTP処理部30から出力された符号化音声データを受信タイミングでバッファに書き込むと共に、一様な速度で読み出すことで吸収するものである。
【0019】
デコーダ21は、ジッタ吸収部20から出力された符号化音声データを復号処理(解凍)するものである。なお、デコーダ21が処理する符号化音声データのビットレートを、サンプリング周波数設定処理部31が設定するようにしても良い。
【0020】
音声出力処理部22は、デコーダ21から出力されたデジタル信号(PCMデータ)をアナログ信号に変換した後、帯域制限したり増幅したりしてスピーカ23を駆動するものである。この実施形態の場合、デジタル信号をアナログ信号へ変換する際のサンプリング周波数は、サンプリング周波数設定処理部31によって設定されたものである。
【0021】
スピーカ23は、音声出力処理部22から与えられたアナログ音声信号を発音出力するものである。なお、スピーカ23は、パソコンに対して外付けのものであっても良く、パソコンが内蔵しているものであっても良い。
【0022】
サンプリング周波数設定処理部31は、例えば、IPソフトフォン用のプログラムがインストールされた所定のタイミングで、又は、発信時又は着信時において通話路を確立させる前のタイミングで、複数種類のサンプリング周波数の中から、音声入力処理部11及び音声出力処理部22が適用するサンプリング周波数を設定するものである。ここで、サンプリング周波数設定処理部31は、設定するサンプリング周波数を決定した際には、対応するビットレートを定めて、エンコーダ12やデコーダ21に設定させるようにしても良い。
【0023】
図2は、音声デバイスとソフトウェアとの関係を示す説明図である。音声デバイスADは、上述したように、例えば、音声出力処理部22に係るスピーカドライバである。
【0024】
IPソフトフォン用のプログラム40は、当該パソコンにおけるOS(Windows(登録商標)、Linux(登録商標)等)41を介して、音声デバイスADを操作しようとする。IPソフトフォン用プログラム40は、OS41に対して、音声デバイスADへのデータ書込み操作を実行させるためのデータ書込み用API40aや、音声デバイスADからのデータ読出し操作を実行させるためのデータ読出し用API40b等を備える。
【0025】
IPソフトフォン用プログラム40の音声デバイスADを操作しようとするプログラム部分や、データ書込み用API40aや、データ読出し用API40b等が、音声入力処理部11や音声出力処理部22における音声デバイス部分以外の部分となっている。
【0026】
サンプリング周波数設定処理部31も、IPソフトフォン用プログラム40の一部によって構成されており、適宜、OS41を介して、音声デバイスを操作しようとするものである。
【0027】
(A−2)実施形態の動作
次に、実施形態のIPソフトフォン1における音声サンプリング周波数の設定動作を説明する。
【0028】
まず、サンプリング周波数設定処理部31が実行する音声入力処理部11(内の音声デバイス)に対する適用可能なサンプリング周波数を確認し、そのサンプリング周波数に設定する動作を、図3のフローチャートを参照しながら説明する。なお、図3に示す処理を実行するタイミングは、例えば、実音声通話の開始前である。
【0029】
サンプリング周波数設定処理部31は、図3に示す処理を開始すると、サンプリング周波数優先順位データを初期化(0クリア)し(ステップ100)、サンプリング周波数の全ての候補について確認処理を実行したか否かを判別する(ステップ101)。なお、サンプリング周波数優先順位データの初期化(0クリア)によっては、どの優先順位のサンプリング周波数も示していない状態になる。
【0030】
サンプリング周波数の全ての候補について確認処理が済んでいない場合には、サンプリング周波数優先順位データを1インクリメントし(ステップ102)、音声入力処理部11内の該当する音声デバイスをオープンし、サンプリング周波数優先順位データで定まるサンプリング周波数を音声デバイスに設定する(ステップ103)。ここで、サンプリング周波数設定処理部31は、図4に示すような優先順位とサンプリング周波数とを対応付けた情報を保持しており、ステップ103では、この保持情報に従い、設定するサンプリング周波数を決定する。
【0031】
そして、サンプリング周波数設定処理部31は、音声デバイスの入力を監視するためのスレッドを生成する(ステップ104)。この監視スレッドでは、音声デバイスをオープンしてから、10ms後に入力データを取得することが実行される。
【0032】
サンプリング周波数設定処理部31は、入力データを取得することができたか否かや(ステップ105)、取得したサイズが妥当であったか否かを判別する(ステップ106)。ここで、「入力データを取得できる」とは、例えば、OSのシステムコールに対して、音声デバイスからのデータ取得用API(音声入力処理部11の一要素としてのAPI)の実行がエラー応答とならないことである。また、「取得したサイズが妥当である」とは、音声デバイスからのデータ取得用APIを実行した結果、サンプリング周波数によって定まるサイズ(データ量)が取得できたことである。図5は、サンプリング周波数とサイズとの関係を示しており、このような情報をサンプリング周波数設定処理部31は内部に保持している。監視スレッドの実行によって、通話状態に移行していないが、マイクロフォン10が捕捉した音声信号を処理したデータが適宜取得される。
【0033】
サンプリング周波数設定処理部31は、入力データを取得できない場合や、入力データを取得できたがサイズが妥当でない場合には、上述したステップ101に戻る。このようにしてステップ101に戻る際には、該当する音声デバイスをクローズしてから戻る。
【0034】
これに対して、サンプリング周波数設定処理部31は、入力データを取得でき、しかも、サイズが妥当な場合には(言い換えると、音声デバイスに適切なサンプリング周波数が確認できた場合には)、そのとき、設定されているサンプリング周波数をそのままにして、音声入力処理部11内の該当する音声デバイスをクローズし(ステップ107)、図3に示す一連の処理を終了する。ステップ107の処理によって、音声デバイスに適切なサンプリング周波数が設定されたことになる。
【0035】
サンプリング周波数の全ての候補について確認処理を実行しても、音声デバイスに適切なサンプリング周波数を見いだせない場合には、サンプリング周波数設定処理部31は、音声デバイスが利用付加であることを上位へ通知し(ステップ108)、図3に示す一連の処理を終了する。ここで、上位への通知とは、例えば、発信操作又は着信通知に基づいた実音声通話の開始前に図3の処理を実行した場合であれば、図示しない呼制御部に通知することになり、この場合には、セッション(通話路)の接続動作には移行しないことになる。また、IPソフトフォン用プログラムをインストールし、初期設定の一環として、図3の処理を実行した場合であれば、IPソフトフォン用プログラムにおける初期設定プログラム部分に通知することになり、この場合には、例えば、音声デバイスを利用できないことが表示される。
【0036】
次に、サンプリング周波数設定処理部31が実行する音声出力処理部22(内の音声デバイス)に対する適用可能なサンプリング周波数を確認し、そのサンプリング周波数に設定する動作を、図6のフローチャートを参照しながら説明する。なお、図6に示す処理を実行するタイミングも、例えば、実音声通話の開始前である。
【0037】
サンプリング周波数設定処理部31は、図6に示す処理を開始すると、サンプリング周波数優先順位データを初期化(0クリア)し(ステップ200)、サンプリング周波数の全ての候補について確認処理を実行したか否かを判別する(ステップ201)。なお、サンプリング周波数優先順位データの初期化(0クリア)によっては、どの優先順位のサンプリング周波数も示していない状態になる。
【0038】
サンプリング周波数の全ての候補について確認処理が済んでいない場合には、サンプリング周波数優先順位データを1インクリメントし(ステップ202)、音声出力処理部22内の該当する音声デバイスをオープンし、サンプリング周波数優先順位データで定まるサンプリング周波数を音声デバイスに設定する(ステップ203)。ここで、サンプリング周波数設定処理部31は、図7に示すような優先順位とサンプリング周波数とを対応付けた情報を保持しており、ステップ203では、この保持情報に従い、設定するサンプリング周波数を決定する。なお、サンプリング周波数設定処理部31は、音声入力処理部11用の優先順位とサンプリング周波数との対応情報と、音声出力処理部22用の優先順位とサンプリング周波数との対応情報とを別個に保持するのではなく、共通情報として保持するようにしても良い。
【0039】
その後、サンプリング周波数設定処理部31は、音声デバイスの出力を監視するためのスレッドを生成する(ステップ204)。この監視スレッドでは、音声デバイスをオープンしてから、10ms後に出力データを書込むことが実行される。書込み時のデータは、無音を示すオール0のものであり、サンプリング周波数設定処理部31は、図8に示すように、サンプリング周波数に応じて定まるサイズ分だけの無音のデータを書込むようにさせる。なお、この書込み時において、仮に、スピーカ23に信号が流れ、スピーカ23が発音出力しようとしても、無音信号であるので、周囲の者を驚かすようなことにはならない。
【0040】
サンプリング周波数設定処理部31は、書込みができたか否かを判別する(ステップ205)。ここで、「書込みができる」とは、例えば、OSのシステムコールに対して、音声デバイスへのデータ書込み用API(音声出力処理部22の一要素としてのAPI)の実行がエラー応答とならないことである。
【0041】
サンプリング周波数設定処理部31は、無音データを書込むことができない場合には、上述したステップ201に戻る。このようにしてステップ201に戻る際には、該当する音声デバイスをクローズしてから戻る。
【0042】
これに対して、サンプリング周波数設定処理部31は、無音データを書込むことができた場合には(言い換えると、音声デバイスに適切なサンプリング周波数が確認できた場合には)、そのとき、設定されているサンプリング周波数をそのままにして、音声出力処理部22内の該当する音声デバイスをクローズし(ステップ1206)、図6に示す一連の処理を終了する。ステップ206の処理によって、音声デバイスに適切なサンプリング周波数が設定されたことになる。
【0043】
サンプリング周波数の全ての候補について確認処理を実行しても、音声デバイスに適切なサンプリング周波数を見いだせない場合には、サンプリング周波数設定処理部31は、音声デバイスが利用付加であることを上位へ通知し(ステップ207)、図6に示す一連の処理を終了する。ここで、上位への通知とは、例えば、発信操作又は着信通知に基づいた実音声通話の開始前に図6の処理を実行した場合であれば、図示しない呼制御部に通知することになり、この場合には、セッション(通話路)の接続動作には移行しないことになる。また、IPソフトフォン用プログラムをインストールし、初期設定の一環として、図6の処理を実行した場合であれば、IPソフトフォン用プログラムにおける初期設定プログラム部分に通知することになり、この場合には、例えば、音声デバイスを利用できないことが表示される。
【0044】
(A−3)実施形態の効果
上記実施形態によれば、音声デバイスについてのサンプリング周波数として実運用上で適切なものを自動設定することができる。
【0045】
IPソフトフォン用プログラムは、パソコンに搭載されてそのパソコンをIPソフトフォンとして機能させるものである。IPソフトフォン用プログラムは、種々のパソコンに搭載できるように構成されている。パソコンの種類によって、内蔵する又は外付けの音声デバイスが対応するサンプリング周波数は異なっている。ユーザが、IPソフトフォン用プログラムをインストールする際に、そのパソコンにおける音声デバイスの属性(上記実施形態ではサンプリング周波数)を確認することは実際上無可能に近い。上記実施形態によれば、音声デバイスについてのサンプリング周波数として適切なものを自動設定できるので、ユーザは、単に、IPソフトフォン用プログラムをインストールすれば良いようになる。
【0046】
また、内蔵用の音声入出力装置に係る音声デバイスと外付けの音声入出力装置に係る音声デバイスとの間で、例えば、OSによって、外付けされたものがあれば外付けの音声入出力装置に係る音声デバイスを優先させ、外付けされたものがなければ内蔵用の音声入出力装置に係る音声デバイスを優先させるような場合であっても、実音声通話の開始直前にサンプリング周波数を確認するようにすれば、外付けの有無によらずに、そのときに有効とされている音声デバイスに適切なサンプリング周波数を設定することができる。
【0047】
(B)他の実施形態
上記実施形態においては、入力用の音声デバイスと出力用の音声デバイスのサンプリング周波数を別個に確認、設定するものを示したが、入力用又は出力用の音声デバイスについて、サンプリング周波数を確認、設定し、他方の音声デバイスに対してはその設定したサンプリング周波数と同じサンプリング周波数を設定するようにしても良い。この場合において、他方の音声デバイスに対して同じサンプリング周波数を設定した際には、そのサンプリング周波数で適切に動作したかの確認を行うようにしても良い。
【0048】
また、上記実施形態においては、入力用の音声デバイスと出力用の音声デバイスのサンプリング周波数を別個に確認、設定するものを示したが、両方のサンプリング周波数が異なる場合には、デバイス利用不可とするようにしても良い。
【0049】
さらに、上記実施形態においては、図4や図7に示すような優先順位とサンプリング周波数との関係が固定のものを示したが、これら関係を可変設定できるようにしても良い。この場合において、サンプリング周波数の候補数も増減可能としても良い。
【0050】
さらにまた、上記実施形態においては、サンプリング周波数設定処理部31が主としてIPソフトフォン用プログラムの一部としてソフトウェアで構成されたものを示したが、これをICチップ化するようにしても良い。例えば、IP専用電話端末に対して、当該ICチップを搭載するようにすれば、音声デバイスが異なる複数種類のIP専用電話端末に搭載することができる。
【0051】
上記実施形態では、サンプリング周波数を確認、設定するものを示したが、ビットレートを確認、設定するようにしても良く、モノラル/ステレオを確認、設定するようにしても良い。例えば、コーデック用の音声デバイスであれば、ビットレートを確認、設定することは好ましい。
【図面の簡単な説明】
【0052】
【図1】実施形態のIPソフトフォンの概略構成を示すブロック図である。
【図2】実施形態の音声デバイスとソフトウェアとの関係を示す説明図である。
【図3】実施形態における、音声入力処理部に対する適用可能なサンプリング周波数を確認し、そのサンプリング周波数に設定する動作を示すフローチャートである。
【図4】実施形態における、音声入力処理部に対して適用可能なサンプリング周波数と優先順位との関係を示す説明図である。
【図5】実施形態における、音声入力処理部に設定したサンプリング周波数と得られるデータのサイズとの関係を示す説明図である。
【図6】実施形態における、音声出力処理部に対する適用可能なサンプリング周波数を確認し、そのサンプリング周波数に設定する動作を示すフローチャートである。
【図7】実施形態における、音声出力処理部に対して適用可能なサンプリング周波数と優先順位との関係を示す説明図である。
【図8】実施形態における、音声出力処理部に設定したサンプリング周波数と書込むデータのサイズとの関係を示す説明図である。
【符号の説明】
【0053】
1…IPソフトフォン、10…マイクロフォン、11…音声入力処理部、12…エンコーダ、20…ジッタ吸収部、21…デコーダ、22…音声出力処理部、23…スピーカ、30…RTP処理部、31…サンプリング周波数設定処理部。

【特許請求の範囲】
【請求項1】
電話端末の入力アナログ音声信号をデジタル音声信号に変換する音声デバイス、若しくは、電話端末から発音出力させるアナログ音声信号へ受信したデジタル音声信号を変換する音声デバイスの少なくとも一方に対する、サンプリング周波数の候補と、その優先順位とを記憶している候補情報記憶手段と、
優先順位が高い候補側から、そのサンプリング周波数で確認対象となっている上記音声デバイスが適切に動作しているかを確認する最適サンプリング周波数探索手段と、
上記音声デバイスが適切に動作する最適なサンプリング周波数の情報を、上記音声デバイスと協働するソフトウェア部分に設定させるサンプリング周波数設定手段と
を有することを特徴とする音声サンプリング周波数設定装置。
【請求項2】
電話端末に搭載されるコンピュータを、
電話端末の入力アナログ音声信号をデジタル音声信号に変換する音声デバイス、若しくは、電話端末から発音出力させるアナログ音声信号へ受信したデジタル音声信号を変換する音声デバイスの少なくとも一方に対する、サンプリング周波数の候補と、その優先順位とを記憶している候補情報記憶手段と、
優先順位が高い候補側から、そのサンプリング周波数で確認対象となっている上記音声デバイスが適切に動作しているかを確認する最適サンプリング周波数探索手段と、
上記音声デバイスが適切に動作している最適なサンプリング周波数の情報を、上記音声デバイスと協働するソフトウェア部分に設定させるサンプリング周波数設定手段と
して機能させることを特徴とする音声サンプリング周波数設定プログラム。
【請求項3】
請求項1に記載の音声サンプリング周波数設定装置を有することを特徴とするIPソフトフォン。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2009−27339(P2009−27339A)
【公開日】平成21年2月5日(2009.2.5)
【国際特許分類】
【出願番号】特願2007−187041(P2007−187041)
【出願日】平成19年7月18日(2007.7.18)
【出願人】(000000295)沖電気工業株式会社 (6,645)
【出願人】(595125421)沖通信システム株式会社 (131)
【Fターム(参考)】