(57)【要約】【目的】  ソフトウェアによる音声処理を行う場合にあって、音質低下をもたらすことのないＩＰ電話装置及びバッファ制御方法を提供する。【構成】  本発明によるＩＰ電話装置は、入力音声を取り込んでＰＣＭ音声データに変換するＰＣＭＰＣＭ入力デバイスと、該ＰＣＭ音声データに対してＩＰ電話のための符号化処理をなす音声コーデックとを含み、該ＰＣＭ音声データを蓄積するバッファと、該バッファのＰＣＭ音声データ蓄積量を監視し、該ＰＣＭ音声データ蓄積量が所定量に達した場合に、蓄積されていたＰＣＭ音声データの少なくとも１部を該バッファから該音声コーデックに転送する。本発明は、また、かかるバッファに対する書込及び読込を制御するバッファ制御方法を含む。【選択図】  図１
2007096451.tif 000002
【特許請求の範囲】
【請求項１】
入力音声を取り込んでＰＣＭ音声データに変換するＰＣＭＰＣＭ入力デバイスと、前記ＰＣＭ音声データに対してＩＰ電話のための符号化処理をなす音声コーデックとを含むＩＰ電話装置であって、
前記ＰＣＭ音声データを蓄積するバッファと、
前記バッファのＰＣＭ音声データ蓄積量を監視し、前記ＰＣＭ音声データ蓄積量が所定量に達した場合に、蓄積されていたＰＣＭ音声データの少なくとも１部を前記バッファから前記音声コーデックに転送するバッファ監視転送手段と、
を含むことを特徴とするＩＰ電話装置。
【請求項２】
前記バッファ監視転送手段は、
前記ＰＣＭ音声データを前記バッファに書き込むと共に、前記ＰＣＭ音声データのＰＣＭ音声データ蓄積量を監視し、前記ＰＣＭ音声データ蓄積量が所定量に達した場合に、読込許可通知を生成するＰＣＭ入力デバイスドライバと、
前記読込許可通知の生成を契機として、蓄積されていたＰＣＭ音声データの少なくとも１部を前記バッファから読み込んで、これを前記音声コーデックに転送するバッファ制御部と、
を含むことを特徴とする請求項１記載のＩＰ電話装置。
【請求項３】
前記バッファは、前記読込許可通知による許可単位であるブロックの複数に分割されていることを特徴とする請求項１記載のＩＰ電話装置。
【請求項４】
入力音声を取り込んでＰＣＭ音声データに変換し、前記ＰＣＭ音声データに対して音声処理をなすコンピュータ装置におけるバッファ制御方法であって、
前記ＰＣＭ音声データをバッファに蓄積する蓄積ステップと、
前記バッファのＰＣＭ音声データ蓄積量を監視し、前記ＰＣＭデータ蓄積量が所定量に達した場合に、蓄積されていたＰＣＭ音声データの少なくとも１部を前記バッファから前記音声処理に転送する監視転送ステップと、
を含むことを特徴とするバッファ制御方法。
【請求項５】
前記監視転送ステップは、前記ＰＣＭ音声データを前記バッファに書き込むと共に、前記ＰＣＭ音声データのＰＣＭ音声データ蓄積量を監視し、前記ＰＣＭ音声データ蓄積量が所定量に達した場合に、読込許可通知を生成し、前記読込許可通知の生成を契機として、蓄積されていたＰＣＭ音声データの少なくとも１部を前記バッファから読み込んで、これを前記音声処理に転送するステップであることを特徴とする請求項４記載のバッファ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力音声をＰＣＭ音声データに変換し、該ＰＣＭ音声データをＶｏＩＰ電話方式に適合する符号化をなしてＶｏＩＰ網に供給するＩＰ電話装置、並びに該ＰＣＭ音声データを蓄積するバッファのバッファ制御方法に関する。
【背景技術】
【０００２】
従来、かかるＰＣＭ音声データ処理は、特許文献１に開示されるように、ＤＭＡコントローラ及びバッファメモリ等のハードウェアを使用するのが一般的であった。しかし、最近では、かかる処理をソフトウェアにより実現することが試みられている。
【０００３】
かかるソフトウェアによる実現形態としては、通常、ＰＣＭ入力デバイスを備えたコンピュータ装置に、ソフトウェアコーデックを含むＶｏＩＰ電話アプリケーションを実装することが行われる。該ＶｏＩＰ電話アプリケーションは、１６ｋＨｚ、４４．１ｋＨｚ又は４８ｋＨｚ等のサンプリングレートをＰＣＭ入力デバイスに指定する。該ＰＣＭ入力デバイスは、入力音声を取り込み、かかるサンプリングレートにてＰＣＭ音声データを生成し、これをメモリ上のバッファメモリに書き込む。次いで、ＶｏＩＰ電話アプリケーションに含まれるコーデック処理部が、データ量ではなく、所定の時間間隔で該バッファメモリから書き込まれたＰＣＭ音声データを読み込み、これに必要な符号化を処理を施すことが行われる。この時間間隔の例として、サンプリングレートを１６ｋＨｚとし、ビットレートを８ｋＨｚとするステレオＰＣＭ音声信号の場合、６４０ｋバイトのＰＣＭ音声データが１０ｍｓ毎に読み込まれる必要がある。
【特許文献１】特許第０３２５１６７０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、ソフトウェアによりＰＣＭ音声データ処理を実現しようとした場合、ＰＣＭ入力デバイスのハードウェア性能や、ＶｏＩＰ電話アプリケーションが動作するコンピュータ装置のＣＰＵ速度や制御プログラムの性能、さらには同時動作する他アプリケーションの負荷等の変動要因により常に決められた時間間隔では必要なサイズのＰＣＭ音声データをバッファから読み込むことが出来ない事象が発生する。かかる事象は、音声情報の欠落を招き音質低下をもたらす原因となる。
【０００５】
本発明の目的は、ソフトウェアによる音声処理を行う場合にあって、音質低下をもたらすことのないＩＰ電話装置及びバッファ制御方法を提供することである。
【課題を解決するための手段】
【０００６】
本発明によるＩＰ電話装置は、入力音声を取り込んでＰＣＭ音声データに変換するＰＣＭＰＣＭ入力デバイスと、該ＰＣＭ音声データに対してＩＰ電話のための符号化処理をなす音声コーデックとを含むＩＰ電話装置であり、該ＰＣＭ音声データを蓄積するバッファと、該バッファのＰＣＭ音声データ蓄積量を監視し、該ＰＣＭ音声データ蓄積量が所定量に達した場合に、蓄積されていたＰＣＭ音声データの少なくとも１部を該バッファから該音声コーデックに転送するバッファ監視転送手段とを含むことを特徴とする。
【０００７】
本発明によるバッファ制御方法は、入力音声を取り込んでＰＣＭ音声データに変換し、該ＰＣＭ音声データに対して音声処理をなすコンピュータ装置におけるバッファ制御方法であり、該ＰＣＭ音声データをバッファに蓄積する蓄積ステップと、該バッファのＰＣＭ音声データ蓄積量を監視し、該ＰＣＭデータ蓄積量が所定量に達した場合に、蓄積されていたＰＣＭ音声データの少なくとも１部を該バッファから該音声処理に転送する監視転送ステップとを含むことを特徴とする。
【発明の効果】
【０００８】
本発明によるＩＰ電話装置及びバッファ制御方法によれば、ソフトウェアによる音声処理を行う場合にあって、音質低下をもたらすことのないＩＰ電話装置及びバッファ制御方法が提供される。
【発明を実施するための最良の形態】
【０００９】
本発明の実施例について添付の図面を参照して詳細に説明する。
【００１０】
図１は、本発明の実施例を示し、ＩＰ電話装置を含む全体の構成を示している。ＩＰ電話装置１０は、１つのコンピュータ装置として実現され、中央処理演算ユニットであるＣＰＵ１１と、記憶装置であるメモリ１２（以下、ＭＥＭ１２と称する）と、ＰＣＭ入力デバイス１３と、ＩＰ電話を収容するＶｏＩＰ網と接続し得る通信デバイス１４とを含み、これらがバス１５により相互接続されている。尚、図示されないが、ＩＰ電話装置１０はＩＰ電話機能を奏するために音声出力に関わる他のユニットを当然に含んでいる。以下の説明においてかかる音声出力に関わる部分については説明を省略する。
【００１１】
ＰＣＭ入力デバイス１３は、マイク等の集音装置から外部の入力音声を取り込み、これを予め設定される動作条件設定値に従ってＰＣＭ変換し、ＰＣＭ音声データとしてバス１５に供給にする機能を備える。該動作条件設定値は、量子化ビット数、サンプリングレート、チャンネル数等の設定値からなり、ＰＣＭ入力デバイス１３の初期設定時に、後述する制御プログラムの装置管理機能に従って設定される。例としての動作条件設定値は、量子化ビット数を１６ビットとし、サンプリングレートを１６ｋＨｚとし且つチャネル数をステレオ音声の２とすることが想定される。この場合、ビットレートは５１２ｋｂｐｓになる。
【００１２】
ＭＥＭ１２には、ＩＰ電話装置１０の電源投入後に、装置全体の基本制御機能を備えると共にＰＣＭ入力デバイス１３等のデバイスの装置管理機能を備える制御プログラム（ＯＳ）２０と、ＩＰ電話機能を司るＶｏＩＰ電話アプリケーション３０と、ＰＣＭ入力デバイスドライバ３１と、通信制御部３５とがローディングされている。ＶｏＩＰ電話アプリケーション３０は、バッファ３２と、バッファ制御部３３と、ＰＣＭ音声コーデック部３４とを含んできる。
【００１３】
ＰＣＭ入力デバイスドライバ３１は、バス１５を介してＰＣＭ入力デバイス１３からＰＣＭ音声データを取得し、これをバッファ３２に書き込む機能を備える。また、ＰＣＭ入力デバイスドライバ３１は、バッファ３２におけるＰＣＭ音声データの蓄積量を監視し、この蓄積量が所定量に達した場合に、読込許可通知を生成し、これをバッファ制御部３３に供給する機能を備える。
【００１４】
バッファ制御部３３は、この読込許可通知を契機すなわちトリガとして、蓄積されていたＰＣＭ音声データの少なくとも１部をバッファ３２から読み込んで、これをＰＣＭ音声コーデック部３４に転送する機能を備える。
【００１５】
ＰＣＭ音声コーデック部３４は、バッファ制御部３３から転送されたＰＣＭ音声データを、ＶｏＩＰ電話の仕様に基づいて予め指定されたコーデック方式にて符号化すなわちエンコードする機能を備える。コーデック方式は、複数の方式を選択的に切り替え得るマルチコーデック方式としても良く、制御プログラム２０の装置管理機能により、ＰＣＭ入力デバイス１３に対する動作条件の設定に呼応して動的に選択変更されても良い。
【００１６】
通信制御部３５は、エンコードされたＰＣＭ音声データを、ＩＰ電話通信のためＶｏＩＰ信号に変換し、バス１５を介して通信デバイス１４に向けて送出する機能を備える。
【００１７】
図２は、図１に示されたバッファへの書込及び読込の様子を説明している。バッファ３２は、２つのバッファ面すなわちブロックＢ１及びＢ２に分割されている。ブロックＢ１は、例として３つのレコードＢｕｆ１−１〜３からなり、ブロックＢ２は、例として３つのレコードＢｕｆ２−１〜３からなる。複数のレコードＢｕｆ１−１〜３及びＢｕｆ１−１〜３の各々には、ＰＣＭ音声データが格納される。ブロックＢ１及びＢ２の各々は、読込許可通知の対象となる許可単位となる。例えば、ブロックＢ１が読込許可されている時には、ブロックＢ２は読込不許可の状態にある。一方、ブロックＢ２が読込許可されている時には、ブロックＢ１は読込不許可の状態にある。
【００１８】
ＰＣＭ入力デバイスドライバ３１は、ＰＣＭ音声データを、３つのレコードＢｕｆ１−１〜３の各々に格納して、バッファ面すなわち１つのブロックＢ１に順次書込する。ＰＣＭ入力デバイスドライバ３１は、１つのブロックＢ１への書き込みに終了すると、次の３つのレコードＢｕｆ2−１〜３の各々にＰＣＭ音声データを格納し他の１つのブロックＢ2に順次書込する。ここで、ＰＣＭ入力デバイスドライバ３１は、ブロックＢ１からブロックＢ２に書込を移行する際に、読込許可通知を生成し、バッファ制御部３３にこれを供給する。
【００１９】
一方、読込待ち状態にあったバッファ制御部３３は、この読込許可通知をトリガとして、ブロックＢ１に格納されていたレコードＢｕｆ１−１〜３を順次読み込んで行く。読み込みが終了したバッファ制御部３３は、再び読込待ち状態となる。尚、読込待ち状態にあるバッファ制御部３３は、次の読込許可通知をトリガとして、ブロックＢ２に格納されていたレコードＢｕｆ２−１〜３を順次読み込んで行くことになる。
【００２０】
このように、ＰＣＭ音声データの読込及び書込が、バッファ面すなわち複数のブロックＢ１及びＢ２を交互に選択するることより行われる。ブロックＢ１及びＢ２のサイズを適切に選択することにより、バッファ３２に蓄積されるＰＣＭ音声データの蓄積量に対してどの程度の時点で読込許可通知を生成するかを決定する所定量を与えることができる。
【００２１】
前述のように、動作条件設定値を量子化ビット数を１６ビットとし、サンプリングレートを１６ｋＨｚとし且つチャネル数をステレオ音声の２とすると、ビットレートは５１２ｋｂｐｓとなり、１０ｍｓ毎に６４０ｋバイトのＰＣＭ音声データが発生する。そこで、ブロックＢ１及びＢ２の各々のサイズを６４０ｋバイトとして、定常的に１０ｍｓ毎に読込許可通知が生成されるようにすることができる。ブロックＢ１及びＢ２の各々のサイズの設定は、ＶｏＩＰ電話アプリケーション３０の初期設定時に制御プログラム２０の装置管理機能によりなされる。必要以上にバッファサイズを多く取ることは、音声遅延となってしまうため、ＰＣＭ入力デバイスの性能、ＶｏＩＰ電話アプリケーションが動作するプラットフォームの性能、また同時動作する他アプリケーションの処理等を考慮した調整がなされるべきである。
【００２２】
尚，本図の例では、２つのブロックＢ１及びＢ２の各々に３つのレコードが含まれる構成が示されたが、本発明はかかる数に限定されない。かかるレコード数は、ＰＣＭ音声データのビットレートから適切に選ばれる。また、２つのブロックＢ１及びＢ２を交互に用いる形態に代えて、２つ以上のブロックを用いることも可能である。
【００２３】
図３は、本発明の実施例における動作手順を示している。該動作手順について、図１に示された構成要素を適宜参照して説明する。該動作手順はＩＰ電話装置が電源投入されて動作開始されるところから示されている。
【００２４】
先ず、ＰＣＭ入力デバイスドライバ３１は、ＰＣＭ入力デバイスの動作条件を設定する（ステップＳ１）。該動作条件の設定は、制御プログラムの装置管理機能からの指令も基づいてなされる。一方、バッファ制御部３３は、バッファ３２の必要サイズの領域をＭＥＭに確保する（ステップＳ２）。
【００２５】
次に、ＰＣＭ入力デバイスドライバ３１は、複数のブロックのうちの１つのブロックを選択する（ステップＳ３）。次いで、ＰＣＭ入力デバイスからＰＣＭ音声データを取り込みつつ、並行してＰＣＭ音声データを各レコードに格納し、これを先に選択した１つのブロックに順次書き込む（ステップＳ４）。このとき、ＰＣＭ入力デバイスドライバ３１は、１ブロック終了か否かを判定する（ステップＳ５）。すなわち、ＰＣＭ入力デバイスドライバ３１は、ＰＣＭ音声データのバッファ蓄積量を常に監視している状態にある。ここで、１ブロック終了していない場合（Ｎ）には、ＰＣＭ入力デバイスドライバ３１は書込を継続し、一方、１ブロック終了した場合（Ｙ）には書込を中断して、許可対象のブロックを指定して読込開始許可をバッファ制御部３３に通知する（ステップＳ６）。かかる通知の実現方法としては、イベント、メッセージもしくはCallBack関数を用いる等の多様な実現方法があるが、実装される制御プログラムの仕様やＩＰ電話装置をなすプラットフォームの仕様により適宜最適に選択されるべきである．
この読込開始許可の通知を契機すなわちトリガとして、バッファ制御部３３は、バッファ３２から当該ブロックのＰＣＭ音声データをレコード毎に読み込む（ステップＳ７）。次いで、読み込んだ各レコードからＰＣＭ音声データを取り出して、これを音声コーデック部に供給する（ステップＳ８）。
【００２６】
一方、ＰＣＭ入力デバイスドライバ３１は、ステップＳ３において選択したブロックとは異なる他の１つのブロックを選択し（ステップＳ９）、当該ブロックに対する書込を再開して書込動作を継続する。
【００２７】
以上の実施例の変形例として、本発明によるバッファ制御方法を、広義の音声信号である音響信号に対して加工処理するコンピュータ装置に適用することも可能である。この場合、音響信号がオーディオデバイスによりある一定の単位時間データ量で取得されてＰＣＭ音声データに変換され、バッファに蓄積される。蓄積されたＰＣＭ音声データは音響アプリケーションに転送されてその加工処理に供される。
【００２８】
以上の実施例及び変形例において、本発明のＩＰ電話装置及びバッファ制御方式が用いられることにより、ＰＣＭ入力デバイス側の処理の揺らぎに左右されず、一定の時間間隔でのＰＣＭ音声データの処理が可能となる。また、ＰＣＭ音声データの書き込みタイミングと読み出しタイミングとの間にずれが生じたとしても、かかるずれはバッファにて吸収され、結果として良質な音による音声再生が可能となる。
【図面の簡単な説明】
【００２９】
【図１】本発明の実施例を示し、ＩＰ電話装置を含む全体の構成を示しているブロック図である。
【図２】図１に示されたバッファへの書込及び読込の様子を説明している説明図である。
【図３】本発明の実施例における動作手順を示しているシーケンス図である。
【符号の説明】
【００３０】
１０  ＩＰ電話装置
１１  ＣＰＵ
１２  メモリ（ＭＥＭ）
１３  ＰＣＭ入力デバイス
１４  通信デバイス
１５  バス
２０  制御プログラム（ＯＳ）
３０  ＶｏＩＰ電話アプリケーション
３１  ＰＣＭ入力デバイスドライバ
３２  バッファ
３３  バッファ制御部
３４  音声データコーデック部
３５  通信制御部
Ｂ１、Ｂ２  ブロック
【図１】
2007096451.tif 000003
【図２】
2007096451.tif 000004
【図３】
2007096451.tif 000005