説明

ジッタバッファ制御方法及びVoIP端末

【目的】音声途切れ等の音声品質劣化を低減するジッタバッファ制御方法及びかかる方法を実行するVoIP端末を提供する。
【構成】本発明によるジッタバッファ制御方法は、ジッタバッファに音声データを蓄積する際に、該音声データを複数の分割単位に分割し、該分割単位毎に間引き未完フラグを設定し、該ジッタバッファの音声データ総量を監視し、該音声データ総量が所定閾値を越えた場合に、該間引き未完フラグが設定されている少なくとも1つの分割単位に対して間引き処理を施すると共に当該分割単位の間引き未完フラグを間引き完了フラグに変更設定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、VoIP技術を用いて音声通信を行うVolP端末におけるジッタバッファ制御方法及びかかるVolP端末に関する。
【背景技術】
【0002】
VolP技術を用いた音声通信においては、音声データが所定の符号化形式でエンコードされた後に通常20msec〜10msecの間隔でパケット化され、インターネット等のVoIPネットワークに向けて送信がされる。しかし、VoIPネットワークの輻輳状況によっては必ずしも間隔10msec〜20msecでのパケット伝送が保障されず、ジッタや遅延が不可避的に発生する。そこで一般に、VolP端末にはパケット受信時におけるジッタを吸収するためにジッタバッファが設けられている。しかし、ジッタ分に相当するパケット分の音声データはそのまま遅延となってしまうため、ジッタバッファ内のパケット数が一定の閾値を超えるとパケットの破棄が行われる。
【0003】
例えば、引用文献1は、ジッタバッファを構成するFIFOの内部に、パケット削除領域とパケット追加領域を設け、FIFOの蓄積パケット量に応じてパケットを削除するか或いはパケットを追加するように制御する技術、並びにジッタバッファ内のパケット量に応じてクロック周波数を変化させて処理の高速化を図る技術を開示している。
【0004】
また、引用文献2は、受信パケットのジッタ値から間延び又は間引きの要否を判定し、バッファ内の音声データに対してフレーム単位の間延び又は間引き処理を実行する技術を開示している。
【特許文献1】特開2004−274572号公報
【特許文献2】特開2005−64873号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、かかる従来の技術によっては、パケット単位やフレーム単位の破棄が行われることで連続した数10個〜数100個の音声データ片が欠落してしまい、音声が途切れてしまうという問題がある。
【0006】
本発明の目的は、音声途切れ等の音声品質劣化を低減するジッタバッファ制御方法及びかかる方法を実行するVoIP端末を提供することである。
【課題を解決するための手段】
【0007】
本発明によるジッタバッファ制御方法は、受信パケットに含まれる音声データを蓄積するジッタバッファと、該ジッタバッファに蓄積されている音声データを取り出してこれを復号する音声デコード部と、を備えるVoIP端末におけるジッタバッファ制御方法であって、該ジッタバッファに音声データを蓄積する際に、該音声データを複数の分割単位に分割し、該分割単位毎に間引き未完フラグを設定する間引き未完フラグ設定ステップと、該ジッタバッファの音声データ総量を監視し、該音声データ総量が所定閾値を越えた場合に、該間引き未完フラグが設定されている少なくとも1つの分割単位に対して間引き処理を施すると共に当該分割単位の間引き未完フラグを間引き完了フラグに変更設定する間引き完了フラグ変更設定ステップと、を含むことを特徴とする。
【0008】
本発明によるVoIP端末は、受信パケットに含まれる音声データを蓄積するジッタバッファと、該ジッタバッファに蓄積されている音声データを取り出してこれを復号する音声デコード部と、を備えるVoIP端末であって、該ジッタバッファが音声データを蓄積する際に、該音声データを複数の分割単位に分割し、該分割単位毎に間引き未完フラグを設定する間引き未完フラグ設定手段と、該ジッタバッファの音声データ総量を監視し、該音声データ総量が所定閾値を越えた場合に、該間引き未完フラグが設定されている少なくとも1つの分割単位に対して間引き処理を施すると共に当該分割単位の間引き未完フラグを間引き完了フラグに変更設定する間引き完了フラグ変更設定手段と、を含むことを特徴とする。
【発明の効果】
【0009】
本発明によるジッタバッファ制御方法及びVoIP端末によれば、ジッタ発生時において音声データの分割単位毎に音声データ片の削除を行う間引き処理が行われる。これにより音声途切れ等の音声品質劣化が低減される。
【発明を実施するための最良の形態】
【0010】
本発明の実施例について添付の図面を参照しつつ詳細に説明する。
【0011】
図1は、本発明の実施例を示し、VoIP端末を含む全体の構成を示している。ここで、VoIP端末30は、VoIPネットワーク10に接続されてVoIP技術を用いた音声通信機能を奏する端末である。VoIP端末30は、パケット受信部40と、ジッタバッファ50と、音声デコード部60と、ジッタバッファ制御部70とを含む。
【0012】
パケット受信部40は、VoIPネットワーク10から到来する受信パケットを受信しつつ、該パケットに含まれる音声データをジッタバッファ制御部70による制御によりジッタバッファ50に蓄積する。ジッタバッファ50は、FIFO動作を行うメモリであり、先に到着して蓄積された音声データ部分が先に音声デコード部60に取り込まれるように動作する。音声デコード部60は、ジッタバッファ50から蓄積された音声データを取り込みつつ、これに復号化処理を施して音声を復元する。
【0013】
ジッタバッファ制御部70はジッタバッファ50の書込動作及び読出動作を制御する。ジッタバッファ制御部70は、ジッタバッファ50に蓄積した音声データを分割単位であるパケット単位にカウントするためのカウンタ71と、間引き処理の実行契機を与えるパケット数の閾値が設定された閾値テーブル72と、どれくらいの割合で音声データ片を間引きくかを与える間引き率が設定された間引き率テーブル73と、間引き処理が実行中であるか否かを表す間引き実行フラグGとを含む。本実施例では、間引き実行フラグGの値が1の場合に間引き処理の実行が要求されている或いは実行中であることを表し、該値が0の場合に実行が要求されていない或いは実行中ではないことを表すものとする。
【0014】
図2は、図1に示されたジッタバッファの構成例を示している。本図の例では、各々が1パケット分である複数の分割単位DD1〜DD10の音声データが蓄積されていて、全体として10パケット分が蓄積されているとしている。1パケット分である分割単位には1つの間引き完了フラグFが付与される。間引き完了フラグFの値が1の場合には当該分割単位に対して間引き処理が既になされたことを表し、間引き完了フラグFの値が0の場合には間引き未完フラグとして当該分割単位に対して間引き処理が未だなされていないことを表す。
【0015】
間引き完了フラグFが付与される1つの分割単位は1パケット分の音声データに限定されず、複数パケット分の音声データであっても、1パケット分の音声データがさらに分割されて各々に間引き完了フラグFが付与されても良い。
【0016】
図3は、図2に示された1つの分割単位を示している。例としての分割単位DDn(nは正の整数)は、例えば100個の音声データ片から構成される。また、間引き率を0.1とした間引き処理を行ったとして、図示されるように10個の音声データ片に対して1個の音声データ片(図中で塗りつぶされている)が削除されている。1個の音声データ片は、音声符号化における1サンプリング分の音声データとするか、或いは所定数分のサンプリングがなされた音声データとすることができる。
【0017】
また、1つの分割単位に対してどのように離散的に音声データ片の削除を行うかは多様な形態が想定される。例えば、1つの分割単位のうちで任意の位置にある連続したN個(Nは正の整数)の音声データ片を削除する形態も想定される。具体的な削除形態や間引き率の値の決定は、実際の実験結果に基づいてなされる必要がある。例えば、分割単位DDn中の100個の連続した音声データ片から連続したあるいは離散した50個を削除すると再生した音声の品質への影響が無視できる程度ではなくなるため、間引き率は5割を超えないようにした方が望ましい。また、低い間引き率(例えば、1割)であっても、連続した音声データ片(例えば、図3における音声データ片の91〜100番目)を削除すると部分的にまとまった音声データ片を削除することとなり、分散した音声データ片を削除するよりは音声の品質へ影響を与えやすくなるので、削除する音声データ片は分散させておく方が望ましい。
【0018】
図4は、本発明によるジッタバッファ制御方法における音声データ蓄積処理の処理手順を示している。音声パケットがVoIP端末のパケット受信部に到着すると、パケット受信部は、受信パケットの中から音声データの部分のみをジッタバッファに蓄積する。
【0019】
ジッタバッファ制御部70は、受信パケットが新たに到来したか否かを常に監視している(ステップS1)。パケット受信部が音声データをジッタバッファに蓄積する際に、ジッタバッファ制御部70は、パケット受信部に対する制御動作として、当該受信パケット分の音声データを1つの分割単位とし、これに間引き完了フラグFを0にセットすると共に、カウンタを1加算する(ステップS2)。尚、ジッタバッファ制御部70は、本図のフローチャートには示されていないが、音声デコード部が1パケット分の音声データを取り込んだ時点でカウンタを1減算する。従って、カウンタの値によりジッタバッファに蓄積されている音声データの総量を認識することができる。
【0020】
次いで、ジッタバッファ制御部70は、カウンタの値が閾値以上であるか否かを判定する(ステップS3)。カウンタの値はジッタの発生により変動する。例えば、ジッタにより遅れた複数のパケットが短時間に集中してパケット受信部に到着すると、音声デコード部の処理が間に合わずジッタバッファに音声データが滞留し、カウンタの値が例えば閾値の10以上になる場合がある。
【0021】
ステップS3において、カウンタの値が閾値以上である場合には、間引き実行フラグGを1にセットして(ステップS4)、ステップS1に戻る。間引き実行フラグGの値が1に設定されることで後述する間引き処理が実行される。一方、カウンタの値が閾値以上ではない場合には、ジッタバッファ制御部70はステップS1に戻り、新たな受信パケットがVoIP端末のパケット受信部に到着するまで待機する。
【0022】
図5は、本発明によるジッタバッファ制御方法における間引き処理の処理手順を示している。かかる間引き処理は、ジッタバッファ制御部70より実行されるが、図4に示された音声データ蓄積処理と並行して実行され得る。
【0023】
常に、ジッタバッファ制御部70は、間引き実行フラグGが1であるか否か監視している(ステップS31)。間引き実行フラグGが0であればステップS31の監視を継続し、もし1であれば以下の間引き処理を実行する。
【0024】
先ず、ジッタバッファ制御部70は、間引き完了フラグが0の分割単位(1パケット分)をジッタバッファから抽出する(ステップS32)。間引き完了フラグが0にセットされたままの分割単位が残っている状態は図6が参照される。次に、当該分割単位中のいくつかの音声データ片を間引き率に従って削除する(ステップS33)。次に、当該分割単位について間引き完了フラグを1にセットする(ステップS34)。全ての分割単位について間引き完了フラグFが1にセットされた状態は図7が参照される。音声データ片の削除は、例えば、間引き率を0.1とすると、音声データ片10個に対して1個の割合で音声データ片が削除される(図3参照)。
【0025】
次に、ジッタバッファ制御部70は、他に間引き完了フラグFが0の分割単位があるか否かを判定する(ステップS35)。もしあれば、当該分割単位についてステップS33及びS34の処理を繰り返す。一方、間引き完了フラグFが0の分割単位がないならば、ジッタバッファ制御部70は、間引き実行フラグGを0にセットして間引き処理を終了する(ステップS36)。
【0026】
ジッタバッファ制御部70による間引き処理の結果、音声デコーダ部よりデコードするべき音声データが少なくなるため、音声デコーダ部は通常より早いタイミングでジッタバッファから分割単位である1パケット分の音声データを取得していくことになり、遅延が回復されていくことになる。
【0027】
以上の実施例において、1度に連続した数10個〜数100個の音声データ片を欠落させるのではなく、音声データの分割単位毎に音声データ片の削除が行われ、音声データ片の欠落が分散され一カ所に集中することがない。また、間引きされた分割単位には間引き完了フラグが設定されることから二重に間引き処理がなされることがない。これにより、音声の途切れ等の音声品質の劣化を抑えつつ、音声デコード処理の高速化を図ることができる。
【0028】
尚、本発明の実施形態は、間引き完了フラグFが0の分割単位の全てについて間引き処理を実行する形態に限定されない。本発明の実施形態は、少なくとも1つの分割単位について間引き処理を施す形態を含み、さらに、例えば、音声データの総量がどの程度閾値を越えているかに応じて間引き処理を施す分割単位の数を調整しても良い。また、新しい分割単位に対して或いは旧い分割単位に対して優先して間引き処理が施されるようにしても良い。
【図面の簡単な説明】
【0029】
【図1】本発明の実施例を示し、本発明によるVoIP端末を含む全体の構成を示すブロック図である。
【図2】図1に示されたジッタバッファの構成例を示す概略図である。
【図3】図2に示された1つの分割単位を示す概略図である。
【図4】本発明によるジッタバッファ制御方法における音声データ蓄積処理の処理手順を示すフローチャートである。
【図5】本発明によるジッタバッファ制御方法における間引き処理の処理手順を示すフローチャートである。
【図6】間引き処理が未完の分割単位があるジッタバッファの状態を示す図である。
【図7】間引き処理が全ての分割単位について完了したジッタバッファの状態を示す図である。
【符号の説明】
【0030】
10 VoIPネットワーク
30 VoIP端末
40 パケット受信部
50 ジッタバッファ
60 音声デコード部
70 ジッタバッファ制御部
71 カウンタ
72 閾値テーブル
73 間引き率テーブル
F 間引き完了フラグ
G 間引き実行フラグ

【特許請求の範囲】
【請求項1】
受信パケットに含まれる音声データを蓄積するジッタバッファと、前記ジッタバッファに蓄積されている音声データを取り出してこれを復号する音声デコード部と、を備えるVoIP端末におけるジッタバッファ制御方法であって、
前記ジッタバッファに音声データを蓄積する際に、前記音声データを複数の分割単位に分割し、前記分割単位毎に間引き未完フラグを設定する間引き未完フラグ設定ステップと、
前記ジッタバッファの音声データ総量を監視し、前記音声データ総量が所定閾値を越えた場合に、前記間引き未完フラグが設定されている少なくとも1つの分割単位を抽出して当該分割単位に対して間引き処理を施すると共に当該分割単位の間引き未完フラグを間引き完了フラグに変更設定する間引き完了フラグ変更設定ステップと、
を含むことを特徴とするジッタバッファ制御方法。
【請求項2】
前記間引き完了フラグ変更設定ステップは、予め設定された間引き率に従って前記間引き処理を施すことを特徴とする請求項1記載のジッタバッファ制御方法。
【請求項3】
前記間引き未完フラグ設定ステップは、前記受信パケット1つ分の音声データを1つの分割単位として分割することを特徴とする請求項1または2記載のジッタバッファ制御方法。
【請求項4】
受信パケットに含まれる音声データを蓄積するジッタバッファと、前記ジッタバッファに蓄積されている音声データを取り出してこれを復号する音声デコード部と、を備えるVoIP端末であって、
前記ジッタバッファが音声データを蓄積する際に、前記音声データを複数の分割単位に分割し、前記分割単位毎に間引き未完フラグを設定する間引き未完フラグ設定手段と、
前記ジッタバッファの音声データ総量を監視し、前記音声データ総量が所定閾値を越えた場合に、前記間引き未完フラグが設定されている少なくとも1つの分割単位に対して間引き処理を施すると共に当該分割単位の間引き未完フラグを間引き完了フラグに変更設定する間引き完了フラグ変更設定手段と、
を含むことを特徴とするVoIP端末。
【請求項5】
前記間引き完了フラグ変更設定手段は、予め設定された間引き率に従って前記間引き処理を施すことを特徴とする請求項4記載のVoIP端末。
【請求項6】
前記間引き未完フラグ設定手段は、前記受信パケット1つ分の音声データを1つの分割単位として分割することを特徴とする請求項4または5記載のVoIP端末。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2009−65607(P2009−65607A)
【公開日】平成21年3月26日(2009.3.26)
【国際特許分類】
【出願番号】特願2007−233917(P2007−233917)
【出願日】平成19年9月10日(2007.9.10)
【出願人】(000000295)沖電気工業株式会社 (6,645)
【Fターム(参考)】