(57)【要約】【目的】音声途切れ等の音声品質劣化を低減するジッタバッファ制御方法及びかかる方法を実行するＶｏＩＰ端末を提供する。【構成】本発明によるジッタバッファ制御方法は、ジッタバッファに音声データを蓄積する際に、該音声データを複数の分割単位に分割し、該分割単位毎に間引き未完フラグを設定し、該ジッタバッファの音声データ総量を監視し、該音声データ総量が所定閾値を越えた場合に、該間引き未完フラグが設定されている少なくとも１つの分割単位に対して間引き処理を施すると共に当該分割単位の間引き未完フラグを間引き完了フラグに変更設定する。【選択図】図１
2009065607.tif 000002
【特許請求の範囲】
【請求項１】
受信パケットに含まれる音声データを蓄積するジッタバッファと、前記ジッタバッファに蓄積されている音声データを取り出してこれを復号する音声デコード部と、を備えるＶｏＩＰ端末におけるジッタバッファ制御方法であって、
前記ジッタバッファに音声データを蓄積する際に、前記音声データを複数の分割単位に分割し、前記分割単位毎に間引き未完フラグを設定する間引き未完フラグ設定ステップと、
前記ジッタバッファの音声データ総量を監視し、前記音声データ総量が所定閾値を越えた場合に、前記間引き未完フラグが設定されている少なくとも１つの分割単位を抽出して当該分割単位に対して間引き処理を施すると共に当該分割単位の間引き未完フラグを間引き完了フラグに変更設定する間引き完了フラグ変更設定ステップと、
を含むことを特徴とするジッタバッファ制御方法。
【請求項２】
前記間引き完了フラグ変更設定ステップは、予め設定された間引き率に従って前記間引き処理を施すことを特徴とする請求項１記載のジッタバッファ制御方法。
【請求項３】
前記間引き未完フラグ設定ステップは、前記受信パケット１つ分の音声データを１つの分割単位として分割することを特徴とする請求項１または２記載のジッタバッファ制御方法。
【請求項４】
受信パケットに含まれる音声データを蓄積するジッタバッファと、前記ジッタバッファに蓄積されている音声データを取り出してこれを復号する音声デコード部と、を備えるＶｏＩＰ端末であって、
前記ジッタバッファが音声データを蓄積する際に、前記音声データを複数の分割単位に分割し、前記分割単位毎に間引き未完フラグを設定する間引き未完フラグ設定手段と、
前記ジッタバッファの音声データ総量を監視し、前記音声データ総量が所定閾値を越えた場合に、前記間引き未完フラグが設定されている少なくとも１つの分割単位に対して間引き処理を施すると共に当該分割単位の間引き未完フラグを間引き完了フラグに変更設定する間引き完了フラグ変更設定手段と、
を含むことを特徴とするＶｏＩＰ端末。
【請求項５】
前記間引き完了フラグ変更設定手段は、予め設定された間引き率に従って前記間引き処理を施すことを特徴とする請求項４記載のＶｏＩＰ端末。
【請求項６】
前記間引き未完フラグ設定手段は、前記受信パケット１つ分の音声データを１つの分割単位として分割することを特徴とする請求項４または５記載のＶｏＩＰ端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＶｏＩＰ技術を用いて音声通信を行うＶｏｌＰ端末におけるジッタバッファ制御方法及びかかるＶｏｌＰ端末に関する。
【背景技術】
【０００２】
ＶｏｌＰ技術を用いた音声通信においては、音声データが所定の符号化形式でエンコードされた後に通常２０ｍｓｅｃ〜１０ｍｓｅｃの間隔でパケット化され、インターネット等のＶｏＩＰネットワークに向けて送信がされる。しかし、ＶｏＩＰネットワークの輻輳状況によっては必ずしも間隔１０ｍｓｅｃ〜２０ｍｓｅｃでのパケット伝送が保障されず、ジッタや遅延が不可避的に発生する。そこで一般に、ＶｏｌＰ端末にはパケット受信時におけるジッタを吸収するためにジッタバッファが設けられている。しかし、ジッタ分に相当するパケット分の音声データはそのまま遅延となってしまうため、ジッタバッファ内のパケット数が一定の閾値を超えるとパケットの破棄が行われる。
【０００３】
例えば、引用文献１は、ジッタバッファを構成するＦＩＦＯの内部に、パケット削除領域とパケット追加領域を設け、ＦＩＦＯの蓄積パケット量に応じてパケットを削除するか或いはパケットを追加するように制御する技術、並びにジッタバッファ内のパケット量に応じてクロック周波数を変化させて処理の高速化を図る技術を開示している。
【０００４】
また、引用文献２は、受信パケットのジッタ値から間延び又は間引きの要否を判定し、バッファ内の音声データに対してフレーム単位の間延び又は間引き処理を実行する技術を開示している。
【特許文献１】特開２００４−２７４５７２号公報
【特許文献２】特開２００５−６４８７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、かかる従来の技術によっては、パケット単位やフレーム単位の破棄が行われることで連続した数１０個〜数１００個の音声データ片が欠落してしまい、音声が途切れてしまうという問題がある。
【０００６】
本発明の目的は、音声途切れ等の音声品質劣化を低減するジッタバッファ制御方法及びかかる方法を実行するＶｏＩＰ端末を提供することである。
【課題を解決するための手段】
【０００７】
本発明によるジッタバッファ制御方法は、受信パケットに含まれる音声データを蓄積するジッタバッファと、該ジッタバッファに蓄積されている音声データを取り出してこれを復号する音声デコード部と、を備えるＶｏＩＰ端末におけるジッタバッファ制御方法であって、該ジッタバッファに音声データを蓄積する際に、該音声データを複数の分割単位に分割し、該分割単位毎に間引き未完フラグを設定する間引き未完フラグ設定ステップと、該ジッタバッファの音声データ総量を監視し、該音声データ総量が所定閾値を越えた場合に、該間引き未完フラグが設定されている少なくとも１つの分割単位に対して間引き処理を施すると共に当該分割単位の間引き未完フラグを間引き完了フラグに変更設定する間引き完了フラグ変更設定ステップと、を含むことを特徴とする。
【０００８】
本発明によるＶｏＩＰ端末は、受信パケットに含まれる音声データを蓄積するジッタバッファと、該ジッタバッファに蓄積されている音声データを取り出してこれを復号する音声デコード部と、を備えるＶｏＩＰ端末であって、該ジッタバッファが音声データを蓄積する際に、該音声データを複数の分割単位に分割し、該分割単位毎に間引き未完フラグを設定する間引き未完フラグ設定手段と、該ジッタバッファの音声データ総量を監視し、該音声データ総量が所定閾値を越えた場合に、該間引き未完フラグが設定されている少なくとも１つの分割単位に対して間引き処理を施すると共に当該分割単位の間引き未完フラグを間引き完了フラグに変更設定する間引き完了フラグ変更設定手段と、を含むことを特徴とする。
【発明の効果】
【０００９】
本発明によるジッタバッファ制御方法及びＶｏＩＰ端末によれば、ジッタ発生時において音声データの分割単位毎に音声データ片の削除を行う間引き処理が行われる。これにより音声途切れ等の音声品質劣化が低減される。
【発明を実施するための最良の形態】
【００１０】
本発明の実施例について添付の図面を参照しつつ詳細に説明する。
【００１１】
図１は、本発明の実施例を示し、ＶｏＩＰ端末を含む全体の構成を示している。ここで、ＶｏＩＰ端末３０は、ＶｏＩＰネットワーク１０に接続されてＶｏＩＰ技術を用いた音声通信機能を奏する端末である。ＶｏＩＰ端末３０は、パケット受信部４０と、ジッタバッファ５０と、音声デコード部６０と、ジッタバッファ制御部７０とを含む。
【００１２】
パケット受信部４０は、ＶｏＩＰネットワーク１０から到来する受信パケットを受信しつつ、該パケットに含まれる音声データをジッタバッファ制御部７０による制御によりジッタバッファ５０に蓄積する。ジッタバッファ５０は、ＦＩＦＯ動作を行うメモリであり、先に到着して蓄積された音声データ部分が先に音声デコード部６０に取り込まれるように動作する。音声デコード部６０は、ジッタバッファ５０から蓄積された音声データを取り込みつつ、これに復号化処理を施して音声を復元する。
【００１３】
ジッタバッファ制御部７０はジッタバッファ５０の書込動作及び読出動作を制御する。ジッタバッファ制御部７０は、ジッタバッファ５０に蓄積した音声データを分割単位であるパケット単位にカウントするためのカウンタ７１と、間引き処理の実行契機を与えるパケット数の閾値が設定された閾値テーブル７２と、どれくらいの割合で音声データ片を間引きくかを与える間引き率が設定された間引き率テーブル７３と、間引き処理が実行中であるか否かを表す間引き実行フラグＧとを含む。本実施例では、間引き実行フラグＧの値が１の場合に間引き処理の実行が要求されている或いは実行中であることを表し、該値が０の場合に実行が要求されていない或いは実行中ではないことを表すものとする。
【００１４】
図２は、図１に示されたジッタバッファの構成例を示している。本図の例では、各々が１パケット分である複数の分割単位ＤＤ１〜ＤＤ１０の音声データが蓄積されていて、全体として１０パケット分が蓄積されているとしている。１パケット分である分割単位には１つの間引き完了フラグＦが付与される。間引き完了フラグＦの値が１の場合には当該分割単位に対して間引き処理が既になされたことを表し、間引き完了フラグＦの値が０の場合には間引き未完フラグとして当該分割単位に対して間引き処理が未だなされていないことを表す。
【００１５】
間引き完了フラグＦが付与される１つの分割単位は１パケット分の音声データに限定されず、複数パケット分の音声データであっても、１パケット分の音声データがさらに分割されて各々に間引き完了フラグＦが付与されても良い。
【００１６】
図３は、図２に示された１つの分割単位を示している。例としての分割単位ＤＤｎ（ｎは正の整数）は、例えば１００個の音声データ片から構成される。また、間引き率を０．１とした間引き処理を行ったとして、図示されるように１０個の音声データ片に対して１個の音声データ片（図中で塗りつぶされている）が削除されている。１個の音声データ片は、音声符号化における１サンプリング分の音声データとするか、或いは所定数分のサンプリングがなされた音声データとすることができる。
【００１７】
また、１つの分割単位に対してどのように離散的に音声データ片の削除を行うかは多様な形態が想定される。例えば、１つの分割単位のうちで任意の位置にある連続したＮ個（Ｎは正の整数）の音声データ片を削除する形態も想定される。具体的な削除形態や間引き率の値の決定は、実際の実験結果に基づいてなされる必要がある。例えば、分割単位DDｎ中の１００個の連続した音声データ片から連続したあるいは離散した５０個を削除すると再生した音声の品質への影響が無視できる程度ではなくなるため、間引き率は５割を超えないようにした方が望ましい。また、低い間引き率（例えば、１割）であっても、連続した音声データ片（例えば、図３における音声データ片の９１〜１００番目）を削除すると部分的にまとまった音声データ片を削除することとなり、分散した音声データ片を削除するよりは音声の品質へ影響を与えやすくなるので、削除する音声データ片は分散させておく方が望ましい。
【００１８】
図４は、本発明によるジッタバッファ制御方法における音声データ蓄積処理の処理手順を示している。音声パケットがＶｏＩＰ端末のパケット受信部に到着すると、パケット受信部は、受信パケットの中から音声データの部分のみをジッタバッファに蓄積する。
【００１９】
ジッタバッファ制御部７０は、受信パケットが新たに到来したか否かを常に監視している（ステップＳ１）。パケット受信部が音声データをジッタバッファに蓄積する際に、ジッタバッファ制御部７０は、パケット受信部に対する制御動作として、当該受信パケット分の音声データを１つの分割単位とし、これに間引き完了フラグＦを０にセットすると共に、カウンタを１加算する（ステップＳ２）。尚、ジッタバッファ制御部７０は、本図のフローチャートには示されていないが、音声デコード部が１パケット分の音声データを取り込んだ時点でカウンタを１減算する。従って、カウンタの値によりジッタバッファに蓄積されている音声データの総量を認識することができる。
【００２０】
次いで、ジッタバッファ制御部７０は、カウンタの値が閾値以上であるか否かを判定する（ステップＳ３）。カウンタの値はジッタの発生により変動する。例えば、ジッタにより遅れた複数のパケットが短時間に集中してパケット受信部に到着すると、音声デコード部の処理が間に合わずジッタバッファに音声データが滞留し、カウンタの値が例えば閾値の１０以上になる場合がある。
【００２１】
ステップＳ３において、カウンタの値が閾値以上である場合には、間引き実行フラグＧを１にセットして（ステップＳ４）、ステップＳ１に戻る。間引き実行フラグＧの値が１に設定されることで後述する間引き処理が実行される。一方、カウンタの値が閾値以上ではない場合には、ジッタバッファ制御部７０はステップＳ１に戻り、新たな受信パケットがＶｏＩＰ端末のパケット受信部に到着するまで待機する。
【００２２】
図５は、本発明によるジッタバッファ制御方法における間引き処理の処理手順を示している。かかる間引き処理は、ジッタバッファ制御部７０より実行されるが、図４に示された音声データ蓄積処理と並行して実行され得る。
【００２３】
常に、ジッタバッファ制御部７０は、間引き実行フラグＧが１であるか否か監視している（ステップＳ３１）。間引き実行フラグＧが０であればステップＳ３１の監視を継続し、もし１であれば以下の間引き処理を実行する。
【００２４】
先ず、ジッタバッファ制御部７０は、間引き完了フラグが０の分割単位（１パケット分）をジッタバッファから抽出する（ステップＳ３２）。間引き完了フラグが０にセットされたままの分割単位が残っている状態は図６が参照される。次に、当該分割単位中のいくつかの音声データ片を間引き率に従って削除する（ステップＳ３３）。次に、当該分割単位について間引き完了フラグを１にセットする（ステップＳ３４）。全ての分割単位について間引き完了フラグＦが１にセットされた状態は図７が参照される。音声データ片の削除は、例えば、間引き率を０．１とすると、音声データ片１０個に対して１個の割合で音声データ片が削除される（図３参照）。
【００２５】
次に、ジッタバッファ制御部７０は、他に間引き完了フラグＦが０の分割単位があるか否かを判定する（ステップＳ３５）。もしあれば、当該分割単位についてステップＳ３３及びＳ３４の処理を繰り返す。一方、間引き完了フラグＦが０の分割単位がないならば、ジッタバッファ制御部７０は、間引き実行フラグＧを０にセットして間引き処理を終了する（ステップＳ３６）。
【００２６】
ジッタバッファ制御部７０による間引き処理の結果、音声デコーダ部よりデコードするべき音声データが少なくなるため、音声デコーダ部は通常より早いタイミングでジッタバッファから分割単位である１パケット分の音声データを取得していくことになり、遅延が回復されていくことになる。
【００２７】
以上の実施例において、１度に連続した数１０個〜数１００個の音声データ片を欠落させるのではなく、音声データの分割単位毎に音声データ片の削除が行われ、音声データ片の欠落が分散され一カ所に集中することがない。また、間引きされた分割単位には間引き完了フラグが設定されることから二重に間引き処理がなされることがない。これにより、音声の途切れ等の音声品質の劣化を抑えつつ、音声デコード処理の高速化を図ることができる。
【００２８】
尚、本発明の実施形態は、間引き完了フラグＦが０の分割単位の全てについて間引き処理を実行する形態に限定されない。本発明の実施形態は、少なくとも１つの分割単位について間引き処理を施す形態を含み、さらに、例えば、音声データの総量がどの程度閾値を越えているかに応じて間引き処理を施す分割単位の数を調整しても良い。また、新しい分割単位に対して或いは旧い分割単位に対して優先して間引き処理が施されるようにしても良い。
【図面の簡単な説明】
【００２９】
【図１】本発明の実施例を示し、本発明によるＶｏＩＰ端末を含む全体の構成を示すブロック図である。
【図２】図１に示されたジッタバッファの構成例を示す概略図である。
【図３】図２に示された１つの分割単位を示す概略図である。
【図４】本発明によるジッタバッファ制御方法における音声データ蓄積処理の処理手順を示すフローチャートである。
【図５】本発明によるジッタバッファ制御方法における間引き処理の処理手順を示すフローチャートである。
【図６】間引き処理が未完の分割単位があるジッタバッファの状態を示す図である。
【図７】間引き処理が全ての分割単位について完了したジッタバッファの状態を示す図である。
【符号の説明】
【００３０】
１０  ＶｏＩＰネットワーク
３０  ＶｏＩＰ端末
４０  パケット受信部
５０  ジッタバッファ
６０  音声デコード部
７０  ジッタバッファ制御部
７１  カウンタ
７２  閾値テーブル
７３  間引き率テーブル
Ｆ  間引き完了フラグ
Ｇ  間引き実行フラグ
【図１】
2009065607.tif 000003
【図２】
2009065607.tif 000004
【図３】
2009065607.tif 000005
【図４】
2009065607.tif 000006
【図５】
2009065607.tif 000007
【図６】
2009065607.tif 000008
【図７】
2009065607.tif 000009