(57)【要約】【課題】受信した音声パケットを音声に変換するパケット受信方法及びパケット受信装置100に関し、ジッタ及び送受信装置間のクロックずれが共に発生する環境で、安定した音質を確保する最適な受信パケットバッファ制御を行う。【解決手段】受信パケットバッファ10が受信した音声パケット50を一時記憶し、複数のパラメータ情報監視部14〜16が、それぞれ、一時記憶した音声パケット50から得られる１つ以上のパラメータ情報60に基づき、受信パケットバッファ10のバッファ量を決定するための異なったバッファ調整値61〜63を決定し、バッファ調整値決定部17が、該複数のバッファ調整値61〜63から受信バッファ調整値64を決定し、バッファ制御部11が、受信バッファ調整値64に基づきバッファ量を制御する。【選択図】      図１
2005318092.tif 000002
【特許請求の範囲】
【請求項１】
受信した音声パケットを一時記憶する第１ステップと、
該一時記憶した音声パケットから得られる１つ以上のパラメータ情報に基づき、該受信パケットバッファのバッファ量を決定するための異なったバッファ調整値をそれぞれが決定する複数の第２ステップと、
該複数のバッファ調整値から受信バッファ調整値を決定する第３ステップと、
該受信バッファ調整値に基づき該バッファ量を制御する第４ステップと、
で構成されたことを特徴とするパケット受信方法。
【請求項２】
受信した音声パケットを一時記憶する受信パケットバッファと、
該一時記憶した音声パケットから得られる１つ以上のパラメータ情報に基づき、該受信パケットバッファのバッファ量を決定するための異なったバッファ調整値をそれぞれが決定する複数のパラメータ情報監視部と、
該複数のバッファ調整値から受信バッファ調整値を決定するバッファ調整値決定部と、
該受信バッファ調整値に基づき該バッファ量を制御するバッファ制御部と、
を備えたことを特徴とするパケット受信装置。
【請求項３】
請求項２において、
該パラメータ情報が、さらに、パケット受信装置自身から得られる１つ以上のパラメータ情報を含むことを特徴としたパケット受信装置。
【請求項４】
請求項２において、
該受信パケットバッファに一時記憶されている音声パケットに音声が含まれるか否かを判定する音声判定部をさらに備え、
該バッファ制御部が、該受信バッファ調整値に加えて、さらに、該音声判定部の判定結果に基づき、該バッファ量を制御することを特徴としたパケット受信装置。
【請求項５】
請求項２において、
該バッファ制御部が、該受信バッファ調整値の実績値を監視し、
該バッファ調整値決定部が、該複数のバッファ調整値に実績値を加えて、該受信バッファ調整値を決定することを特徴としたパケット受信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット受信方法及びパケット受信装置に関し、特に、受信した音声パケットを音声に変換するパケット受信方法及びパケット受信装置に関する。
【０００２】
近年、インターネットの急速な普及に伴い、IPパケット化した音声データをIPネットワーク上で伝送するVoIP通信が、その安価な通話コストで注目されている。IPネットワークは、ベストエフォート型であり、送受信装置間の伝送路の帯域が保証されていない。この結果、例えば、輻輳等に起因する伝送遅延揺らぎ(以下、ジッタと称することがある。)等に起因して、通話音声品質が劣化する。また、送信装置と受信装置が独立したクロックで動作することによる送受信間のクロックずれも通話音声品質を劣化させる。このような通話音声品質の劣化を防ぐ技術はますます重要になって来ている。
【背景技術】
【０００３】
図15は、一般的な音声パケット受信装置100における音声パケット50の伝送遅延揺らぎの吸収原理を示している。パケット受信装置100は、受信パケットバッファ10及び音声再生部40を備えており、ジッタに起因して不定期に到達する音声パケット50を受信し(ステップS10)、この音声パケット50を一時蓄積する(ステップS11)。そして、受信パケットバッファ10は、一時蓄積した音声パケット50を定期的に音声再生部40に送出する(ステップS12)。これにより、受信側の音声パケット50の伝送遅延揺らぎを吸収し、音切れや音跳びの無い安定した音声品質を維持することができる。
【０００４】
図16は、ジッタに起因する受信パケットバッファ10が“一時蓄積したパケット数(以下、蓄積パケット数又はバッファ量と称することがある。)”の変動を示している。同図(1)は、特に、クロックずれが無い場合におけるバッファ量の変動を示している。受信パケットバッファ10は、蓄積パケット数が、蓄積可能な容量の最大値(バッファサイズ)の例えば、２分の１の容量(以下、初期値(基準値)と称することがある。)になるように音声パケット50を一時蓄積するように制御されている。このように制御された受信パケットバッファ10は、同図の前半部(左半分部)では、初期値以下の正又は負方向のジッタを吸収することが可能である。後半部(右半分部)では、初期値以上の正又は負方向のジッタを吸収しきれずに、それぞれ、バッファオーバフローc4又はバッファアンダフローc5が発生し、受信音声パケット50の廃棄又は送出音声パケット50の途切れ状態が発生する。
【０００５】
これらの廃棄及び途切れ状態を無くすには、受信パケットバッファ10の最大容量及び初期値を単純に大きく設定すればよいが、受信パケットバッファ10で一時蓄積する蓄積パケット数分だけ、受信パケットの伝送遅延を増加させる。この伝送遅延の増加は、双方向通信における会話に支障を来たす。例えば、衛星中継等における大きな伝送遅延に起因する不自然な会話がその例である。
【０００６】
このように、受信パケットバッファ10の蓄積パケット数(バッファ量)は、小さ過ぎるとジッタを吸収し切れずに音切れなどの音質劣化を招き、逆に大き過ぎると伝送遅延を引き起こすといったトレードオフの関係にある。したがって、受信パケットバッファ10の蓄積パケット数は、使用するネットワークに起因するジッタに応じて音質を確保できる必要最小限の値に最適化し、可能な限り受信パケットバッファ10における一時蓄積に起因する遅延を小さくする必要がある。
【０００７】
同図(2)は、受信パケットバッファ10の蓄積パケット数(バッファ量)を調整(制御)した場合を示している。すなわち、受信パケットバッファ10は、同図(1)の受信パケットバッファ10と異なり、そのバッファ量はジッタの大きさに対応して制御されている。同図(2)の時点t1までは、同図(1)と同じであるが、ジッタが急激に大きくなった時点t1以後、受信パケットバッファ10の最大値(バッファサイズ)及び初期値(基準値)を、ジッタの正/負方向の最大値を蓄積することが可能な容量に調整(制御)する(F2及びE2参照。)。これにより、受信パケットバッファ10には、同図(1)に示したバッファオーバフローc4及びバッファアンダフローc5が発生せず、ジッタに起因する音跳び及び音切れを防止している。
【０００８】
同図(2)では、時点t1でジッタの最大値が急激に変動した場合を示したが、このジッタの最大値は、同一ネットワークにおいても、ユーザ使用が集中する時間帯や深夜のようなユーザ使用が少ない時間帯で異なり、さらに、同一時間帯においても時々刻々変動する。したがって、蓄積パケット数(バッファ量)を最適値に保つためには、ネットワークの状態に応じて、リアルタイムで調整する必要がある。
【０００９】
VoIP通信では、上述したジッタの他に送受信装置間の「クロックずれ」という問題がある。すなわち、送信装置側の録音部のクロックと受信装置側の音声再生部40のクロックとの間にずれ(偏差)がある場合、受信パケットバッファ10に定常的な蓄積パケット数の過不足が発生する。
【００１０】
図17は、受信パケットバッファ10の理想的な状態を示しており、クロックずれ及びジッタが発生していない場合における受信パケットバッファ10の蓄積パケット数(バッファ量)を示しており、この蓄積パケット数は常に初期値を保っている。
【００１１】
図18は、クロックずれによる蓄積パケット数(バッファ量)の変動例を示している。同図(1)は、特に、音声再生部40の再生クロックの方が音声パケット送信装置の録音部のクロックより速い場合における受信パケットバッファ10の蓄積パケット数を示している。この蓄積パケット数は、再生速度に対して音声パケット50の受信が間に合わなくなるため、パケット送出時点で音声パケット50が到着していないバッファアンダフローc6の状態が発生する。逆に、再生クロックの方が遅い場合、パケット受信に再生速度が間に合わず、受信パケットバッファ10において、オーバフローが発生する(図示せず。)。
【００１２】
この結果、音声パケット50の欠落や破棄が起こり、結果として音切れや音跳びが発生し音声品質が著しく低下する。したがって、このような受信バッファの定常的なアンダ/オーバフローを起さないように、クロックずれに応じて受信パケットバッファ10の蓄積パケット数を調整する必要がある。
【００１３】
同図(2)は、クロックずれに起因して生じたバッファアンダフローに対応した受信パケットバッファ10のバッファ量(蓄積パケット数)の調整(制御)例を示しており、時点t1，t2，…でバッファ量を調整して同図(1)に示したバッファアンダフローc6の発生を防いでいる。
【００１４】
上述したジッタ及びクロックずれを解決する様々な技術が提案されているが、その一例として、(1)ジッタに対応する技術、及び(2)クロックずれに対応する技術を以下に説明する。
【００１５】
(1)ジッタ(伝送遅延揺らぎ)に対応した技術
図19は、パケット受信装置の従来例(1)を示している。このパケット受信装置100aは、ジッタに対応しており、受信パケットバッファ20、バッファ制御部21、及びジッタ測定部22を備えている。受信パケットバッファ20は受信した音声パケット50を一時蓄積し、ジッタ測定部22は音声パケット50の受信時間情報からジッタの値を算出し、このジッタの値と、受信パケットバッファ20の蓄積パケット数(量)を比較して、必要に応じてバッファの蓄積量を増減させるための受信バッファ調整値64aをバッファ制御部21に与える。バッファ制御部21は、パケット出力要求52aを受信パケットバッファ20に与えてバッファ20に一時蓄積された音声パケット50を取り出し、音声出力部40に与え、受信パケットバッファ20の蓄積パケット数(バッファ量)を調整する。すなわち、パケット受信装置100aは、ジッタの値を監視し、適応的にバッファの蓄積量を制御して、遅延揺らぎ(ジッタ)を吸収している。
【００１６】
同様の伝送遅延揺らぎ吸収方法を用いた遅延揺らぎ吸収装置(パケット受信装置)例として、バッファが、パケット通信網から送られて来た音声パケットを一時的に蓄積し、遅延揺らぎ算出手段が到着した音声パケットの遅延揺らぎ量を測定し、遅延量制御手段が該測定された遅延揺らぎ量と設定されている遅延設定値を比較して、該測定された遅延揺らぎ量が該遅延設定値よりも所定値以上大きい場合には遅延量を増加させる指示を出し、該測定された遅延揺らぎ量が該遅延設定値よりも所定値以上小さい場合には遅延量を減少させる指示を出し、遅延量調整手段が該遅延量を増加させる指示を受けた場合、無音音声パケットを繰り返し送出し、該遅延量を減少させる指示を受け場合、無音音声パケットを破棄することにより遅延量を調整するものがある(例えば、特許文献１)。
【００１７】
(2)クロックずれに対応した技術
図20は、パケット受信装置の従来例(2)を示している。このパケット受信装置100bは、クロックずれに対応しており、受信パケットバッファ30、バッファ制御部31、及び蓄積パケット数監視部32を備えている。受信パケットバッファ30は、受信した音声パケット50を一時蓄積する。蓄積パケット数監視部32は、受信パケットバッファ30の蓄積量を蓄積パケット数(受信パケットバッファ30が蓄積しているパケット数)として監視し、蓄積パケット数が閾値以上になるとパケットを破棄して蓄積パケット数を減少させる指示を示す受信バッファ調整値64bをバッファ制御部31に与え、蓄積パケット数が閾値以下になるとパケットを繰り返し再生(又は補完パケットを挿入)して蓄積パケット数を増加させる指示を示す受信バッファ調整値64bをバッファ制御部31に与える。
【００１８】
バッファ制御部31は、受信バッファ調整値64bの指示に基づき、受信パケットバッファ30にパケット出力要求52bを与え、受信パケットバッファ30に蓄積された音声パケット50の複製又は破棄を行い、バッファ30のアンダ及びオーバフローの発生を抑制する。
【００１９】
同様のクロックずれに対応した方式のパケット受信装置例として、バッファが音声信号を蓄積し、音声検出部が該音声信号の有音無音区間を示す有音無音情報を検出し、バッファ監視部が該バッファに蓄積された音声信号の蓄積量を監視する。バッファ制御部が該蓄積量と該有音無音情報に基づいて、該バッファに蓄積された音声信号に新たな音声信号を挿入するか又は蓄積された音声信号を廃棄するものがある(例えば、特許文献２)。
【特許文献１】特開2001-160826号公報(２頁、図１)
【特許文献２】特開2003-46490号公報(２頁、図１)
【発明の開示】
【発明が解決しようとする課題】
【００２０】
図21は、ジッタ及びクロックずれに起因する受信パケットバッファの蓄積パケット数(バッファ量)の変動を示している。実際の使用環境では、ジッタ及びクロックずれは同時に発生するのが通常であり、クロックずれによる定常的なバッファ変動(同図D1及びD2参照。)とジッタによる瞬時的なバッファ変動(時点t1参照。)が合成されて、バッファ量が変動する。すなわち、クロックずれによりバッファ量(平均値)が徐々に低下し、ジッタにより瞬時的にバッファ量が変動しながら(時点t1参照。)、バッファアンダフローc7が頻発する。
【００２１】
次に、図19の従来例(1)及び図20の従来例(2)で、それぞれ示したパケット受信装置100a及びパケット受信装置100bの問題点を説明する。
【００２２】
図22は、従来例(1)のパケット受信装置100aにおける蓄積パケット数を示している。同図では、図16(2)がジッタ(伝送遅延揺らぎ)のみが発生した場合の蓄積パケット数を示しているのと異なり、さらに、クロックずれが併せて発生し、蓄積パケット数が徐々に低下している(D3，D4参照。)。パケット受信装置100aは、ジッタが変動した時点t1で初期値(基準値）を調整してジッタ変動に対応しているが(E4参照。)、クロックずれに対応していないため、バッファアンダフローc8及びc9が発生している。このアンダフローが発生したパケットが音声区間であれば、音声品質が著しく劣化してしまう。
【００２３】
すなわち、受信パケットの受信時間情報からジッタを算出する方式では、定常的に一定のずれ成分を持つクロックずれを検出することができない。そのため、ジッタの調整量が不正確となりジッタ調整量の過不足が生じる。
【００２４】
図23は、従来例(2)のパケット受信装置100bにおける蓄積パケット数を示している。同図は、図18(2)がクロックずれのみが発生した場合の蓄積パケット数を示しているのと異なり、さらに、ジッタが発生している場合の蓄積パケット数を示している。パケット受信装置100bは、クロックずれに対応して時点t1〜t4，t6〜t9でバッファ量を調整してクロックずれに対応しているが、ジッタ変動に対応していないため、ジッタが大きく変動した時点t5以後、バッファオーバフローc10及びバッファアンダフローc11が発生している。
【００２５】
すなわち、受信パケットバッファ10の蓄積パケット数(バッファ量)は、「ジッタによる瞬時的な変動」及び「クロックずれによる定常的な変動」を含んで変動するため、従来例(2)のように受信パケットバッファ10の蓄積パケット数(瞬時値)を制御パラメータとして用いた場合、制御閾値を超えた時点におけるバッファ変動がジッタ及びクロックずれのいずれに起因するものなのかを区別することができない。定常的なバッファ変動を引き起こすクロックずれに対してはバッファ量を一定に保つようなに定常的なバッファ調整処理が必要であり、瞬時的なバッファ変動を引き起こすジッタに対しては、バッファ量を増減させるバッファ量調整処理が必要であり、両者のバッファ調整処理の方法は異なる。
【００２６】
したがって、両者による蓄積パケット数変動を一元的に用いた場合には、安定したバッファ制御が行えず、過度なバッファ制御により逆に音質劣化を引き起こす可能性がある。例えば、負(遅れ)のジッタによってバッファ量が瞬時的に或る閾値以下に低下した場合、従来例(2)では、バッファ量の初期値(基準値)を増加する処理を行う。しかし、この後、ジッタによって遅れた音声パケットが一度に連続して到着した場合、バッファ制御によって増加させたバッファ量に、さらに到達した音声パケットが蓄積されることになり、バッファのオーバフローc10を誘発する可能性がある。
【００２７】
したがって、本発明は、受信した音声パケットを音声に変換するパケット受信装置及びパケット受信方法において、ジッタ及び送受信装置間のクロックずれが共に発生する環境で、安定した音質を確保する最適な受信パケットバッファ制御を行うことを課題とする。
【課題を解決するための手段】
【００２８】
上記の課題を解決するため本発明のパケット受信方法は、受信した音声パケットを一時記憶する第１ステップと、該一時記憶した音声パケットから得られる１つ以上のパラメータ情報に基づき、該受信パケットバッファのバッファ量を決定するための異なったバッファ調整値をそれぞれが決定する複数の第２ステップと、該複数のバッファ調整値から受信バッファ調整値を決定する第３ステップと、該受信バッファ調整値に基づき該バッファ量を制御する第４ステップとで構成されたことを特徴としている。
【００２９】
また、本発明は、上記の本発明において、該パラメータ情報が、さらに、パケット受信装置自身から得られる１つ以上のパラメータ情報を含むことができる。
【００３０】
また、本発明は、上記の本発明において、該第３ステップと第４ステップの間に、さらに、該一時記憶されている音声パケットに音声が含まれるか否かを判定する第５ステップを有し、該第４ステップにおいて、該受信バッファ調整値に加えて、さらに、該第５ステップの判定結果に基づき、該バッファ量を制御することができる。
【００３１】
また、本発明は、上記の本発明において、該第４ステップにおいて、該受信バッファ調整値の実績値を監視し、該第３ステップにおいて、該複数のバッファ調整値に該実績値を加えて、該受信バッファ調整値を決定することができる。
【００３２】
さらに、本発明は、上記の本発明において、該パラメータ情報を、該音声パケットの到達時刻、該受信パケットバッファに記憶されている音声パケット数、及び該音声パケットの送信順序を示すシーケンス番号とすることができる。
上記の本発明方法を実現する本発明のパケット受信装置は、受信した音声パケットを一時信パケットバッファと、該一時記憶した音声パケットから得られる１つ以上のパラメータ情報に基づき、該受信パケットバッファのバッファ量を決定するための異なったバッファ調整値をそれぞれが決定する複数のパラメータ情報監視部と、該複数のバッファ調整値から受信バッファ調整値を決定するバッファ調整値決定部と、該受信バッファ調整値に基づき該バッファ量を制御するバッファ制御部とを備えたことを特徴としている。
以下、本発明を図面を参照して説明する。
【００３３】
図１は、本発明に係るパケット受信装置100の原理を示している。このパケット受信装置100は、受信パケットバッファ10、複数のパラメータ情報監視部14，15，…，16、バッファ調整値決定部17、バッファ制御部11を備えている。12は、音声出力部である。
【００３４】
受信パケットバッファ10は、例えばVoIPネットワーク(図示せず。）から受信した音声パケット50を一時記憶する。この音声パケット50にはジッタが含まれており、また、送信側のクロックと音声出力部12のクロックの間にはクロックずれがある。パラメータ情報監視部14，15，…，16は、それぞれ、一時記憶した音声パケット50から得られる１つ以上のパラメータ情報（例えば、ジッタやクロックずれに関係する情報等）に基づき、受信パケットバッファ10のバッファ量を決定するための異なったバッファ調整値(すなわち、第１バッファ調整値61、第２バッファ調整値62、…、第ｎバッファ調整値63)を決定する。
【００３５】
バッファ調整値決定部17は、各パラメータ情報監視部14，15，…，16が決定したバッファ調整値61，62，…，63に基づき、バッファ調整値を総合(統一)した受信バッファ調整値64を決定する。この受信バッファ調整値64に基づきバッファ制御部11は、受信パケットバッファ10のバッファ量、例えば、受信パケットバッファ10に一時蓄積された音声パケット50の数を調整する。
【００３６】
これにより、ネットワークの状態等に起因するジッタやパケット送受信装置間のクロックずれに、それぞれ対応した制御、すなわち、安定した音質を確保する最適な受信パケットバッファ制御を行うことが可能になる。
【００３７】
また、本発明は、上記の本発明において、該パラメータ情報は、さらに、パケット受信装置自身から得られる１つ以上のパラメータ情報を含むことが可能である。
【００３８】
すなわち、パラメータ情報として、一時記憶した音声パケットから得られるパラメータ情報の他に、パケット受信装置側で得られる所定のパラメータ情報、例えば、再生クロック情報を含めることが可能である。
【００３９】
これらのパラメータ情報により、パラメータ情報監視部は、より正確なクロックずれを求めることが可能になる。
【００４０】
また、本発明は、上記の本発明において、該受信パケットバッファに一時記憶されている音声パケットに音声が含まれるか否かを判定する音声判定部をさらに備え、該バッファ制御部が、該受信バッファ調整値に加えて、さらに、該音声判定部の判定結果に基づき、該バッファ量を制御することが可能である。
【００４１】
すなわち、音声判定部(図示せず。)は、受信パケットバッファ10に一時記憶されているパケットが音声を含む音声パケットか、又は音声を含まない音声パケットかを判定し、その判定結果をバッファ制御部11に与える。このバッファ制御部11は、受信バッファ調整値に基づき、音声パケットを廃棄する必要がある場合、非音声区間の音声パケットを廃棄し、音声パケットを繰り返し再生する必要がある場合、非音声区間の音声パケットを再生する。これにより、音声通話における有音の音声パケットを廃棄したり、繰り返すことが少なくなり、音質を確保した音声通話の再生が可能になる。
【００４２】
また、本発明は、上記の本発明において、該バッファ制御部は、該受信バッファ調整値の実績値を監視し、該バッファ調整値決定部が、該複数のバッファ調整値に該実績値を加えて、該受信バッファ調整値を決定するができる。
【００４３】
すなわち、バッファ制御部は、受信パケットバッファのバッファ量を受信バッファ調整値に基づき制御するが、実際には、この受信バッファ調整値通りに制御が行われるとは限らないので、その実績値を監視する。この実績値と複数のバッファ調整値の双方に基づき、バッファ調整値決定部は、受信バッファ調整値を決定する。
【００４４】
これにより、例えば、十分な非音声区間が確保できず設定した受信バッファ調整値分のバッファ制御ができない場合においても、次の制御区間を用いて必要なバッファ量の調整を確実に行うことが可能となる。
【００４５】
また、本発明は、上記の本発明において、該パラメータ情報を、該音声パケットの到達時刻、該受信パケットバッファに記憶されている音声パケット数、及び該音声パケットの送信順序を示すシーケンス番号としてもよい。
【００４６】
また、本発明は、上記の本発明において、パケット受信装置自身から得られる該パラメータ情報を再生クロック情報としてもよい。
【００４７】
また、本発明は、上記の本発明において、該パラメータ情報監視部が、該音声パケットのジッタに対応したジッタバッファ調整値を決定するジッタ監視部とクロックずれに対応したクロックずれバッファ調整値を決定するクロックずれ監視部とを含むことが可能である。これにより、ジッタ及びクロックずれに対応したバッファ制御が可能になる。
【００４８】
また、本発明は、上記の本発明において、該ジッタ監視部を、該音声パケットのジッタ値を算出するジッタ算出部と、該ジッタ値に対応したジッタバッファ調整値を設定するジッタバッファ調整値設定部とで構成することができる。
【００４９】
また、本発明は、上記の本発明において、該ジッタ算出部が、該受信した音声パケットのシーケンス番号、受信時刻、受信時の蓄積パケット数を用いてジッタ値を求めることができる。
【００５０】
また、本発明は、上記の本発明において、該クロックずれ監視部を、該受信パケットバッファの定常的な蓄積パケット数の変動特性を示すクロックずれを算出するクロックずれ算出部と、該算出されたクロックずれに対応したバッファ調整値を設定するクロックずれバッファ調整値設定部とで構成することができる。
【００５１】
また、本発明は、上記の本発明において、該クロックずれ算出部は、音声パケット受信時の蓄積パケット数の平均値を用いて該クロックずれを求めてもよい。
【００５２】
また、本発明は、上記の本発明において、該クロックずれ監視部は、該音声パケットの受信時間情報に基づき平均受信時間間隔を示すパケット平均受信間隔を算出する平均受信間隔算出部と、再生クロック情報に基づき該音声パケットの受信バッファからの平均出力時間間隔を示す平均再生間隔を算出する平均再生間隔算出部と、該パケット平均受信間隔及び該平均再生間隔に基づき送受信装置間のクロックずれを算出するクロックずれ算出部と、該クロックずれに対応したクロックずれバッファ調整値を設定するクロックずれバッファ調整値設定部とを備えることができる。
【００５３】
また、本発明は、上記の本発明において、該平均受信間隔算出部は、該受信した音声パケットの受信時間情報に基づき該パケット平均受信間隔を算出してもよい。
【００５４】
また、本発明は、上記の本発明において、該平均再生間隔算出部は、再生クロック情報に基づき該平均再生間隔を算出してもよい。
【００５５】
また、本発明は、上記の本発明において、該バッファ制御部は、該受信バッファ調整値に基づき該音声パケットの廃棄又は繰り返し出力処理を行い、該バッファ量を増加又は減少させることができる。
【００５６】
また、本発明は、上記の本発明において、該バッファ制御部は、該受信バッファ調整値に基づき該バッファ量を増加させる場合に、前後の該音声パケットから補間することによって生成した補間パケットを用いることができる。
【００５７】
また、本発明は、上記の本発明において、該バッファ制御部は、該受信バッファ調整値に基づき該音声判定部によって判定された非音声区間の音声パケットのみを対象に、音声パケットの廃棄又は繰り返し出力処理を行い、該バッファ量を増加又は減少させることができる。
【００５８】
さらに、本発明は、上記の本発明において、該パラメータ情報監視部は、各パラメータ情報の監視時間間隔を伝送路の状態に応じて、変化させることができる。
上記の課題を解決するため本発明のクロックずれ監視装置は、音声パケットの受信時間情報に基づき該音声パケットの平均受信時間間隔を示すパケット平均受信間隔を算出する平均受信間隔算出部と、再生クロック情報に基づき該音声パケットの平均出力時間間隔を示す平均再生間隔を算出する平均再生間隔算出部と、該パケット平均受信間隔及び該平均再生間隔に基づき送受信装置間のクロックずれを算出するクロックずれ算出部と、該クロックずれに対応したクロックずれバッファ調整値を設定するクロックずれバッファ調整値設定部とを備えたことを特徴としている。
【発明の効果】
【００５９】
以上説明したように、本発明に係るパケット受信方法及びパケット受信装置によれば、ジッタによる瞬時的なバッファ量の変動とクロックずれによる定常的なバッファ量の変動を独立して監視し、それぞれに対して最適なバッファ調整量を設定することにより、ジッタとクロックずれが同時に生じた場合においても、バッファ・アンダ/オーバフローを生じさせることなく、安定した音質を確保することができる。
【００６０】
また、受信パケットのパラメータ情報に加えてパケット受信装置自身の再生クロックを用いてクロックずれを求めることにより、ジッタによる瞬時的なバッファ変動が大きい場合でも、より正確なクロックずれを求めることができる。これにより、大きなジッタが発生している条件でも、瞬時的なバッファ変動の影響を受けずに、クロックずれによるバッファ・アンダ/オーバフローが発生する前に、確実にバッファ量の調整を行うことが可能となる。
【００６１】
また、非音声区間(非音声パケット)を利用してバッファ量を調整することにより、バッファ調整時のパケット破棄や繰り返し再生によって生じる音質劣化を抑制することが可能となる。
【００６２】
また、受信バッファ調整値に対して実際に調整が完了したパケット数を実績値として次区間の受信バッファ調整値の制御パラメータとして用いることにより、例えば、十分な無音区間が確保できず設定した受信バッファ調整値を満足できない場合でも、次の制御区間を用いて必要なバッファ調整を確実に行うことが可能となる。
【発明を実施するための最良の形態】
【００６３】
本発明に係るパケット受信方法を実現するパケット受信装置の実施例(1)〜(4)を、それぞれ、パケット受信装置100w〜100z(以下、符号100で総称することがある。)で以下に説明する。このパケット受信装置100は、音声パケット(以下、rpk(n)と略称することがある。ここで、n：伝送音声パケット番号、n＝0，１，…)50を受信する。この音声パケット50は、例えば、音声パケット送信装置(図示せず。)が、音声データを一定時間間隔毎にパケット化して、VoIPネットワーク(図示せず。)経由でパケット受信装置100に送出したものであり、rpk(n)50にはジッタが発生している。また、送信側クロックと受信側クロックとは微妙な周波数ずれがあるものとする。
【００６４】
本実施例(1)〜(4)では、説明を簡単にするため、音声パケット送信装置とパケット受信装置100間では、rpk(n)50の消失や順序の入れ替わりはないものとする。
【００６５】
実施例(1)：ジッタ及びクロックずれ
図２には、本発明の実施例(1)を示したパケット受信装置100wが示されている。このパケット受信装置100wは、受信パケットバッファ10、バッファ制御部11w、音声再生部12、ジッタ監視部14w、クロックずれ監視部15w、及びバッファ調整値決定部17wで構成されている。これらの各機能部の動作を順次示すことで、パケット受信装置100wにおける音声パケット(以下、rpk(n)で略称することがある。n＝0，1，…)50の処理フローを以下に説明する。
【００６６】
受信パケットバッファ(以下、rbufと略称することがある。)10
rbuf10のサイズ(rbuf10が記憶可能な音声パケット数)＝rbufsizeは、可変長でありジッタに応じた適切な値に設定可能であるものとする。npkをrbuf10に格納されている音声パケット数とすると、0≦npk≦rbufsizeである。rbuf10は、VoIPネットワーク経由でrpk(0)50〜rpk(n)50を順次受信する。ここで、rbuf10に格納されているnpk番目の音声パケットをrbuf(npk)とすれば、rbuf10がrpk(n)を受信したとき、次式(1)及び(2)が成り立つ。
【００６７】
rbuf(npk) ＝ rpk(n)                                   ・・・・・式(1)
npk ＝ npk＋1                                         ・・・・・式(2)
また、rbuf10は、受信バッファ状態情報(以下、bufinfoで略称することがある。)60wをジッタ監視部14w及びクロックずれ監視部15wに出力する。bufinfo60wは、rbuf10で取得可能なrpk(0)〜rpk(n)50に関する情報であり、rpk(0)〜rpk(n)に対応するbufinfo(0)〜bufinfo(n)を含んでいる。rpk(n)50は、音声データに加え伝送に必要な情報が格納されるパケットヘッダ情報を含む。VoIP通信では一般的にRTP(real-timetransport protocol)パケットが用いられるため、ヘッダ情報から、例えば、シーケンス番号(以下、seq(n)と略称することがある。)を得ることができる。本実施例(1)では、bufinfo(n)として、rpk(n)50を受信した時の受信時間＝rtime(n)、rbuf10に蓄積された音声パケット数(＝npk、以下、蓄積パケット数(以下、nbuf(n)と称することがある。)、及びseq(n)を用いる。
【００６８】
パケットの受信開始以降、nbuf(n)＝npkが予め設定した初期値＝ref_npk(以下、rbuf10のバッファ基準値と称することがある。)に達した時点で、次式のように時間的に古い(シーケンス番号が最も小さい)rbuf(0)＝rpk(0)をバッファ制御部11へ音声パケット(以下、pk(m)と略称することがある。m：再生フレーム数、0，1，…)として出力を開始し、出力毎に受信パケットバッファ10内を更新する。
【００６９】
pk(m) ＝ rbuf(0)                                      ・・・・・式(3)
npk ＝ npk−1                                         ・・・・・式(4)
rbuf(k) ＝ rbuf(k＋1)                                 ・・・・・式(5)
ここで、k＝0，…，npk
このpk(m)の出力は、再生クロックに同期した定期的な間隔＝t_playで行われる。また、ref_npkの値は、0＜ref_npk＜rbufsizeの条件下で、ジッタの値に応じて適切に設定される。ジッタやクロックずれがない理想条件では、常に、rbuf10に格納されている音声パケット数npk＝ref_npk(バッファ基準値)である。
【００７０】
ジッタ監視部14w
図３は、ジッタ監視部14wの構成実施例を示している。このジッタ監視部14wは、ジッタ算出部14aとジッタバッファ調整値設定部14bで構成されてる。ジッタ算出部14aは、定期間隔区間t毎に受信した複数の受信バッファ状態情報60＝bufinfo(n)…bufinfo(n+M)を)を用いて、その区間での最大ジッタ(以下、max_jit(j)で略称することがある。ここで、j：ジッタ監視区間番号)65を算出し、このmax_jit(j)65をジッタバッファ調整値設定部14bに与える。
【００７１】
図４は、max_jit(j)65を算出するジッタ監視区間と音声パケットの受信タイミング例を示している。同図では、例えば、ジッタ監視区間番号65＝jの時間tには、“M＋1”個のnpk(n)〜npk(n＋M)65が含まれ、したがって、npk(n)〜npk(n＋M)に対応したbufinfo(n)60〜bufinfo(n＋M)60を監視することが可能である。一般的に、ジッタは、例えば、bufinfo(n)に含まれるnpk(n)の受信時間＝rtime(n)(ここで、n＝0，1，2…)を用いて、パケット受信間隔の分散特性より求めることができる。ジッタの算出間隔tは任意であるが、本実施例(1)では、同図に示すように時間tの間に複数のnpk(n)が含まれるように時間tが設定されている。
【００７２】
ジッタバッファ調整値設定部14bは、max_jit(j)65に応じて、ジッタを吸収するために必要な最小限のバッファ調整値(単位：パケット)を第１のバッファ調整値(以下、ajbuf_jit(j)で略称することがある。)として決定する。本実施例(1)では、例えば、下式(6)を用いて、max_jit(j)[単位：ms]に合わせてバッファ基準値(ref_npk[単位：パケット])を更新し、下式(7)を用いてバッファ量が基準値(初期値)になるようにバッファ調整値(以下、ajbuf_jit(j)と略称することがある。)を決定する。ここで、“t_send”は1パケットに含まれる音声データのフレーム長[単位：ms]、“ave_npk(j)”は現在の監視区間jにおける受信バッファ量の平均値である。
【００７３】
ref_npk ＝ 1＋max_jit/t_send                          ・・・・・式(6)
ajbuf_jit(j) ＝ ref_npk − ave_npk(j)                 ・・・・・式(7)
図５には、上式(7)を理解しやすくするために、ave_npk(j)、ref_npk、及びajbuf_jit(j)の関係が図示されている。このajbuf_jit(j)は、バッファ調整値決定部17に与えられる。
【００７４】
クロックずれ監視部15w
図６は、クロックずれ監視部15wの構成実施例を示している。このクロックずれ監視部15wは、クロックずれ算出部15a及びクロックずれバッファ調整値設定部15bで構成されている。
【００７５】
図７は、クロックずれ監視部15wがパケット受信タイミングとクロックずれ監視区間の関係を示している。同図を参照してクロックずれ監視部15wの動作を以下に説明する。
【００７６】
クロックずれ算出部15aは、それぞれ、定期間隔t2のクロックずれ監視区間j，j＋1，…でクロックずれ(以下、clk_diff(j)と略称することがある。j：監視区間)を算出する。例えば、クロックずれ算出部15aは、クロックずれ監視区間jで受信したrpk(n)〜rpk(n＋M)に対応するbufinfo(n)60〜bufinfo(n＋M)60(図６参照。)を監視し、このbufinfo(n)60〜bufinfo(n＋M)60に含まれる情報に基づきclk_diff(j)を算出する。
【００７７】
本実施例(1)では、clk_diff(j)は、次式(8)のようにパケット受信時のバッファ量(以下、nbuf(n)と略称することがある。n＝0，1，2…)を用いて、その平均値の単位時間当たりの変化量(定常的なバッファ変動特性)として求める。ここで、ave_nbuf(j−1)，clk_diff(j−1)は、それぞれ、一つ前(過去)の監視区間j−1での受信バッファ量の平均値とクロックずれである。
【００７８】
clk_diff(j) ＝ clk_diff(j−1) ＋ {ave_nbuf(j) −ave_nbuf(j−1)}
・・・・・式(8)
図８には、上式(8)を理解しやすくするために、clk_diff(j)、clk_diff(j−1)、ave_nbuf(j)、及びave_nbuf(j−1)の関係が図示されている。
【００７９】
クロックずれ算出部15aは、算出したclk_diff(j)をクロックずれバッファ調整値設定部15bに与える。なお、クロックずれバッファ調整値の算出間隔t2は任意であるが、同図に示したように時間t2の間に複数の受信パケット状態情報が含まれるように設定する。本実施例(1)では、説明を簡単にするためt2＝t(図４参照。)とする。
【００８０】
クロックずれバッファ調整値設定部15bは、clk_diff(j)に応じて、この定常的なクロックずれを補償するためのクロックずれバッファ調整値([単位：パケット]、＝第２のバッファ調整値(図１参照。)、以下、ajbuf_clk(j)と略称することがある。)を決定する。本実施例(1)では、clk_diff(j)による単位時間当たりの平均バッファ量の変動を打ち消すようにajbuf_clk(j)を次式(9)で決定する(図８参照。)。
【００８１】
ajbuf_clk(j) ＝ −clk_diff(j)                         ・・・・・式(9)
このajbuf_clk(j)は、バッファ調整値決定部17に与えられる。
【００８２】
バッファ調整値決定部17
バッファ調整値決定部17は、それぞれ監視部14w及び15wから与えられたバッファ調整値、すなわち、ajbuf_jit(j)61w及びajbuf_clk(j)62wを基に、最終的な受信バッファ調整値(以下、ajbuf_pk(j)と略称することがある。)64wを決定する。本実施例(1)では、次式(10)でajbuf_pk(j)64wを決定する。
【００８３】
ajbuf_pk(j) ＝ ajbuf_jit(j) ＋ ajbuf_clk(j)           ・・・・・式(10)
すなわち、ajbuf_pk(j)64wは、ajbuf_jit(j)61w及びajbuf_clk(j)62wの加算値とする。バッファ調整値決定部17は、算出したajbuf_pk(j)64wをバッファ制御部11に与える。
【００８４】
バッファ制御部11
バッファ制御部11は、音声再生部12のクロックと同期した定期間隔(以下、t_playと略称することがある。)毎に再生処理を行うが、与えられたajbuf_pk(j)の値に応じて、再生処理が異なる。
【００８５】
先ず、ajbuf_pk(j)＝0の場合、受信パケットバッファ10の初期値(基準値)を調整する必要がないので、受信パケットバッファ10から音声パケット(以下、pk(m)と略称することがある。)を取り出し、これを音声データ(以下、sp(m)と略称することがある。)に再生して音声再生部12に与える。
【００８６】
次に、ajbuf_pk(j)＞0の場合、受信パケットバッファ10の初期値(基準値)を増加させる必要があるため、受信パケットバッファ10から取り出した音声パケットpk(m)を繰り返し使用してt_play毎にsp(m)，sp(m＋1)，…，sp(m＋ajbuf_pk(j)−1)を音声再生部12に与える。繰り返す回数はajbuf_pk(j)である。これにより、受信パケットバッファ10のバッファ量の再生による消費を一時的に停止させ、受信パケットバッファ10の蓄積パケット数を相対的にajbuf_pk(j)個だけ増加させることができる。
【００８７】
さらに、ajbuf_pk(j)＜0の場合、初期値(基準値)を減少させる必要があるため、受信バッファからajbuf_pk(j)個分の音声パケットを取り出して破棄し、その直後の音声パケットを復号して音声データsp(m)として音声再生部12へと出力する。これにより、受信パケットバッファ10のバッファ量をajbuf_pk(j)個だけ減少させることができる。
【００８８】
図９は、受信パケットバッファ10における蓄積パケット数(バッファ量)の変動例を示している。この変動例では、ジッタが変動の大きさが一定値以下であり、且つクロックずれが発生している場合を示している。同図(1)は、クロックずれに対応した従来例(1)における受信パケットバッファ10の蓄積パケット数の変動例を示しており、バッファアンダフローc1〜c3が発生した時点でジッタに対応した制御が行われ、蓄積バッファ数がジッタに対応した値に戻されている。同図(2)は、本実施例(1)における受信パケットバッファ10の蓄積パケット数の変動例を示している。この本実施例(1)では、定期的にクロックずれを監視し、この監視結果に基づきバッファ制御が行われるため、バッファアンダフローが発生する前に蓄積パケット数がジッタに対応した値に調整されている。
【００８９】
図10は、ジッタが変動の大きさが図９に示した一定値を越えて変動した場合を示している。この場合において、本実施例(1)のパケット受信装置100wは、基準値とバッファサイズ(受信パケットバッファ10が蓄積可能なパケット数)がジッタの大きさに合わせて調整されるため、音声パケット(バッファ量)のアンダ/オーバフローが発生しない。これは、実施例(1)では、ジッタ及びクロックずれに起因するバッファ量の変動を独立して監視し、それぞれに対して最適なバッファ調整量61w，62wを求め、これらのバッファ調整量61w，62wに基づき受信バッファ調整値64wでバッファ量を制御しているからである。これにより、クロックずれとジッタが同時に起こる条件においても、安定した音声の質を確保することができる。
【００９０】
音声再生部12
バッファ制御部11から受信したsp(m)を再生クロックに従って、再生音声54として出力する。
【００９１】
実施例(2)：再生クロック情報による調整
図11は、本発明の実施例(2)であるパケット受信装置100xを示している。このパケット受信装置100xの基本的な構成は実施例(1)のパケット受信装置100wと同じであるが、クロックずれ監視部15xが音声再生部12の再生クロック情報71xを受信バッファ状態情報60xと共にパラメータ情報として用いる点が実施例(1)のクロックずれ監視部15wと異なっている。
【００９２】
図12は、本実施例(2)で用いるクロックずれ監視部15x(なお、この監視部15xと後述するクロックずれ監視部15y，15zは同じである。)の構成実施例を示している。このクロックずれ監視部15xは、平均受信間隔算出部15h、平均再生間隔算出部15i、クロックずれ算出部15j、及びクロックずれバッファ調整値設定部15kで構成される。
【００９３】
平均受信間隔算出部15hは、定期間隔t2毎に複数の受信バッファ状態情報(例えば、bufinfo(n)〜bufinfo(n＋M))を受信し、このbufinfo(n)〜bufinfo(n＋M)を用いてパケットの平均受信間隔(以下、ave_t_rev(j)と略称することがある。j：監視区間数)を算出し、クロックずれ算出部15jに与える。ave_t_rev(j)は、例えばパケットの受信時間(以下、rtime(n)と略称することがある。n＝1，2，…）rtime(n)の平均値として求めることができる。
【００９４】
平均再生間隔算出部15iは、音声再生部12からの再生クロック情報(以下、play_clkと略称することがある。)を受信し、このplay_clkに基づき音声再生部12の平均再生間隔(以下、ave_t_play(j)と略称することがある。j：監視区間数)を算出し、クロックずれ算出部15jに与える。
【００９５】
クロックずれ算出部15jは、平均受信間隔(＝送信側の送信間隔)とave_t_play(j)(＝受信側の再生間隔)を用いて送受信間のクロックずれ(以下、clk_diff(j)と略称することがある。)を算出する。本実施例(2)では、次式(11)を用いて、平均受信間隔と平均再生間隔の比を用いて単位時間当たりのclk_diff(j)66を求めることができる。
【００９６】
clk_diff(j) ＝ t2/t_play(1−ave_t_rev/ave_t_play)     ・・・・・式(11)
クロックずれ算出部15jは、算出したclk_diff(j)をクロックずれバッファ調整値設定部15kに与える。なお、クロックずれの算出間隔t2は任意であるが、図７に示したように時間t2の間に複数の受信パケット状態情報が含まれるように設定する。本実施例(2)では、説明を簡単にするためt2＝t(図４参照。)とする。
【００９７】
クロックずれバッファ調整値設定部15kは、clk_diff(j)に基づいて、この定常的なずれによるバッファ変動を補償するためのバッファ調整値(以下、ajbuf_clk(j)と略称することがある。)62x[単位：パケット]を第２のバッファ調整値として決定する。本実施例(2)では、クロックずれによる単位時間当たりの平均バッファ量の変動を打ち消すようにajbuf_clk(j)62xを次式(8)で算出する。
【００９８】
ajbuf_clk(j) ＝ −clk_diff(j)                          ・・・・・式(12)
クロックずれバッファ調整値設定部15kは、ajbuf_clk(j)をバッファ調整値決定部17に与える。以後のパケット受信装置100xの動作は、実施例(1)のパケット受信装置100wの動作と同様である。
【００９９】
実施例(3)：音声の有無による調整
図13は、本発明の実施例(3)におけるパケット受信装置100yを示している。このパケット受信装置100yの構成は、実施例(2)に示したパケット受信装置100xと同様であるが、音声判定部13yが追加されている点が異なっている。さらに、バッファ制御部11yが、音声判定部13yから受信したフラグ(以下、uv_flagと称することがある。)73y及び受信バッファ調整値64yに基づきバッファ10を制御する点もパケット受信装置100xと異なっている。
【０１００】
音声判定部13yは、受信パケットバッファ10から音声パケット(以下、pk(m)と略称することがある。m：再生フレーム数)72yを受信する。そして、音声判定部13yは、pk(m)72yの符号化情報や一時的に復号化したpk(m)72yに基づき、pk(m)72yが有声であるか、非有声(発話と発話の間等)であるか否かを判定し、非音声区間の音声パケットの場合、uv_flag＝“1”、有声の音声パケットの場合、uv_flag＝“0”を示すuv_flag73yをバッファ制御部11yに与える。本実施例(3)では、例えば、音声データのパワー変動特性を用いて音声判定を行うことができる。バッファ制御部11yは、音声パケットの破棄処理又は繰り返し再生処理を行う場合、uv_flag＝1”の音声パケットを対象に処理を行う。これにより、再生音声の質の劣化を少なくすることが可能になる。
【０１０１】
実施例(4)：実績値のフィードバック
図14は、本発明の実施例(4)におけるパケット受信装置100zを示している。このパケット受信装置100zの構成は、実施例(3)で示したパケット受信装置100yと基本的に同様であるが、バッファ調整値決定部17zにバッファ制御部11zがバッファ調整の実績値(以下、r_ajbuf(j)と略称することがある。)74をバッファ調整値決定部17zに与えている点が異なっている。バッファ制御部11z及びバッファ調整値決定部17zの動作を以下に説明する。
【０１０２】
バッファ制御部11zは、監視区間jで入力されたajbuf_pk(j)64zに対して実際に調整を完了したパケット数を実績値(以下、r_ajbuf(j)と略称することがある。)74としてバッファ調整値決定部17zに応答する。このr_ajbuf(j)74を受信したバッファ調整値決定部17zは、次式(13)を用いてj区間で調整が完了していないパケット数を含めて次区間“j＋1”のバッファ調整値(以下、ajbuf_pk(j＋1)と略称する。)64zを決定する。
【０１０３】
ajbuf_pk(j＋1)＝ajbuf_jit(j＋1)＋ajbuf_clk(j＋1)＋(ajbuf_pk(j)−r_ajbuf(j)))
・・・・・式(13)
これにより、より精細なバッファ量調整が可能になる。
【０１０４】
（付記１）
受信した音声パケットを一時記憶する第１ステップと、
該一時記憶した音声パケットから得られる１つ以上のパラメータ情報に基づき、該受信パケットバッファのバッファ量を決定するための異なったバッファ調整値をそれぞれが決定する複数の第２ステップと、
該複数のバッファ調整値から受信バッファ調整値を決定する第３ステップと、
該受信バッファ調整値に基づき該バッファ量を制御する第４ステップと、
で構成されたことを特徴とするパケット受信方法。
（付記２）上記の付記１において、
該パラメータ情報が、さらに、パケット受信装置自身から得られる１つ以上のパラメータ情報を含むことを特徴としたパケット受信方法。
（付記３）上記の付記１において、
該第３ステップと第４ステップの間に、さらに、該一時記憶されている音声パケットに音声が含まれるか否かを判定する第５ステップを有し、
該第４ステップにおいて、該受信バッファ調整値に加えて、さらに、該第５ステップの判定結果に基づき、該バッファ量を制御することを特徴としたパケット受信方法。
（付記４）上記の付記１において、
該第４ステップにおいて、該受信バッファ調整値の実績値を監視し、
該第３ステップにおいて、該複数のバッファ調整値に該実績値を加えて、該受信バッファ調整値を決定することを特徴としたパケット受信方法。
（付記５）上記の付記１において、
該パラメータ情報が、該音声パケットの到達時刻、該受信パケットバッファに記憶されている音声パケット数、及び該音声パケットの送信順序を示すシーケンス番号であることを特徴としたパケット受信方法。
（付記６）
受信した音声パケットを一時記憶する受信パケットバッファと、
該一時記憶した音声パケットから得られる１つ以上のパラメータ情報に基づき、該受信パケットバッファのバッファ量を決定するための異なったバッファ調整値をそれぞれが決定する複数のパラメータ情報監視部と、
該複数のバッファ調整値から受信バッファ調整値を決定するバッファ調整値決定部と、
該受信バッファ調整値に基づき該バッファ量を制御するバッファ制御部と、
を備えたことを特徴とするパケット受信装置。
（付記７）上記の付記６において、
該パラメータ情報が、さらに、パケット受信装置自身から得られる１つ以上のパラメータ情報を含むことを特徴としたパケット受信装置。
（付記８）上記の付記６において、
該受信パケットバッファに一時記憶されている音声パケットに音声が含まれるか否かを判定する音声判定部をさらに備え、
該バッファ制御部が、該受信バッファ調整値に加えて、さらに、該音声判定部の判定結果に基づき、該バッファ量を制御することを特徴としたパケット受信装置。
（付記９）上記の付記６において、
該バッファ制御部が、該受信バッファ調整値の実績値を監視し、
該バッファ調整値決定部が、該複数のバッファ調整値に該実績値を加えて、該受信バッファ調整値を決定することを特徴としたパケット受信装置。
（付記１０）上記の付記６において、
該パラメータ情報が、該音声パケットの到達時刻、該受信パケットバッファに記憶されている音声パケット数、及び該音声パケットの送信順序を示すシーケンス番号を含むことを特徴としたパケット受信装置。
（付記１１）上記の付記７において、
パケット受信装置自身から得られる該パラメータ情報が、再生クロック情報であることを特徴としたパケット受信装置。
（付記１２）上記の付記６において、
該パラメータ情報監視部が、該音声パケットのジッタに対応したジッタバッファ調整値を決定するジッタ監視部とクロックずれに対応したクロックずれバッファ調整値を決定するクロックずれ監視部とを含むことを特徴としたパケット受信装置。
（付記１３）上記の付記１２において、
該ジッタ監視部が、該音声パケットのジッタ値を算出するジッタ算出部と、該ジッタ値に対応したジッタバッファ調整値を設定するジッタバッファ調整値設定部と、で構成されていることを特徴としたパケット受信装置。
（付記１４）上記の付記１３において、
該ジッタ算出部が、該受信した音声パケットのシーケンス番号、受信時刻、受信時の蓄積パケット数を用いてジッタ値を求めることを特徴したパケット受信装置。
（付記１５）上記の付記１２において、
該クロックずれ監視部が、該受信パケットバッファの定常的な蓄積パケット数の変動特性を示すクロックずれを算出するクロックずれ算出部と、該算出されたクロックずれに対応したバッファ調整値を設定するクロックずれバッファ調整値設定部と、で構成されていることを特徴としたパケット受信装置。
（付記１６）上記の付記１５において、
該クロックずれ算出部は、音声パケット受信時の蓄積パケット数の平均値を用いて該クロックずれを求めることを特徴としたパケット受信装置。
（付記１７）上記の付記１２において、
該クロックずれ監視部が、該音声パケットの受信時間情報に基づき平均受信時間間隔を示すパケット平均受信間隔を算出する平均受信間隔算出部と、再生クロック情報に基づき該音声パケットの受信バッファからの平均出力時間間隔を示す平均再生間隔を算出する平均再生間隔算出部と、該パケット平均受信間隔及び該平均再生間隔に基づき送受信装置間のクロックずれを算出するクロックずれ算出部と、該クロックずれに対応したクロックずれバッファ調整値を設定するクロックずれバッファ調整値設定部と、を備えたことを特徴とするパケット受信装置。
（付記１８）上記の付記１７において、
該平均受信間隔算出部は、該受信した音声パケットの受信時間情報に基づき該パケット平均受信間隔を算出することを特徴としたパケット受信装置。
（付記１９）上記の付記１７において、
該平均再生間隔算出部は、再生クロック情報に基づき該平均再生間隔を算出することを特徴としたパケット受信装置。
（付記２０）上記の付記６において、
該バッファ制御部は、該受信バッファ調整値に基づき該音声パケットの廃棄又は繰り返し出力処理を行い、該バッファ量を増加又は減少させることを特徴としたパケット受信装置。
（付記２１）上記の付記６において、
該バッファ制御部は、該受信バッファ調整値に基づき該バッファ量を増加させる場合に、前後の該音声パケットから補間することによって生成した補間パケットを用いることを特徴としたパケット受信装置。
（付記２２）上記の付記８において、
該バッファ制御部は、該受信バッファ調整値に基づき該音声判定部によって判定された非音声区間の音声パケットのみを対象に、音声パケットの廃棄又は繰り返し出力処理を行い、該バッファ量を増加又は減少させることを特徴としたパケット受信装置。
（付記２３）上記の付記６において、
該パラメータ情報監視部は、各パラメータ情報の監視時間間隔を伝送路の状態に応じて、変化させることを特徴としたパケット受信装置。
（付記２４）
音声パケットの受信時間情報に基づき該音声パケットの平均受信時間間隔を示すパケット平均受信間隔を算出する平均受信間隔算出部と、
再生クロック情報に基づき該音声パケットの平均出力時間間隔を示す平均再生間隔を算出する平均再生間隔算出部と、
該パケット平均受信間隔及び該平均再生間隔に基づき送受信装置間のクロックずれを算出するクロックずれ算出部と、
該クロックずれに対応したクロックずれバッファ調整値を設定するクロックずれバッファ調整値設定部と、
を備えたことを特徴とするクロックずれ監視装置。
【図面の簡単な説明】
【０１０５】
【図１】本発明に係るパケット受信方法を実現したパケット受信装置の原理を示したブロック図である。
【図２】本発明に係るパケット受信装置の実施例(1)を示したブロック図である。
【図３】本発明に係るパケット受信装置におけるジッタ監視部の構成実施例を示したブロック図である。
【図４】本発明に係るパケット受信装置におけるパケット受信タイミングとジッタ監視区間の関係を示した図である。
【図５】本発明に係るパケット受信装置のジッタ監視部におけるジッタバッファ調整値の算出概念を示した図である。
【図６】本発明に係るパケット受信装置の実施例(1)におけるクロックずれ監視部の構成実施例を示したブロック図である。
【図７】本発明に係るパケット受信装置におけるパケット受信タイミングとクロックずれ監視区間の関係を示した図である。
【図８】本発明に係るパケット受信装置のクロックずれ監視部におけるクロックずれバッファ調整値の算出概念を示した図である。
【図９】本発明に係るパケット受信装置の受信パケットバッファにおけるバッファ量の変動例(1)を示した図である。
【図１０】本発明に係るパケット受信装置の受信パケットバッファにおけるバッファ量の変動例(2)を示した図である。
【図１１】本発明に係るパケット受信装置の実施例(2)を示したブロック図である。
【図１２】本発明に係るパケット受信装置の実施例(2)〜(4)におけるクロックずれ監視部の構成実施例を示したブロック図である。
【図１３】本発明に係るパケット受信装置の実施例(3)を示したブロック図である。
【図１４】本発明に係るパケット受信装置の実施例(4)を示したブロック図である。
【図１５】一般的なパケット受信装置の受信パケットバッファにおける音声パケット伝送遅延揺らぎ(ジッタ)の吸収原理を示したブロック図である。
【図１６】従来のパケット受信装置におけるジッタに起因するバッファ量の変動を示した図である。
【図１７】一般的なパケット受信装置の受信パケットバッファにおけるバッファ量の理想状態を示した図である。
【図１８】従来のパケット受信装置におけるクロックずれに起因するバッファ量変動を示した図である。
【図１９】従来のパケット受信装置の構成例(1)を示したブロック図である。
【図２０】従来のパケット受信装置の構成例(2)を示したブロック図である。
【図２１】一般的なパケット受信装置におけるジッタ及びクロックずれに起因するバッファ量の変動を示した図である。
【図２２】ジッタのみに対応した従来のパケット受信装置におけるバッファ量の変動を示した図である。
【図２３】クロックずれのみに対応した従来のパケット受信装置におけるバッファ量の変動を示した図である。
【符号の説明】
【０１０６】
100，100a，100b，100w〜100z  パケット受信装置
10  受信パケットバッファ、rbuf
11，11w〜11z  バッファ制御部
12  音声再生部、音声出力部    13y，13z  音声判定部
14，14w〜14z  ジッタ監視部、パラメータ情報監視部
14a  ジッタ算出部            14b  ジッタバッファ調整値設定部
15，15w〜15z  クロックずれ監視部、パラメータ情報監視部
15a  クロックずれ算出部       15b  クロックずれバッファ調整値設定部
15h  平均受信間隔算出部       15i  平均再生間隔算出部15j  クロックずれ算出部
15k  クロックずれバッファ調整値設定部                16  パラメータ情報監視部
17，17w〜17z  バッファ調整値決定部
20，30  受信パケットバッファ  21，31  バッファ制御部  22  ジッタ測定部
32  蓄積パケット数監視部      40  音声出力部、音声再生部
50  音声パケット、rpk(n)      51  音声パケット、pk(m)
52，52a，52b，52w〜52z  パケット出力要求、req_pk(m)
53，53a，53b，53w〜53z  音声データ、sp(m)            54  出力音声、再生音声
60，60w〜60z  受信バッファ状態情報、bufinfo(n)
61，61w〜61z  第１バッファ調整値、ジッタバッファ調整値、ajbuf_jit(j)
62，62w〜62z  第２バッファ調整値、クロックずれバッファ調整値、ajbuf_clk(j)
63  第ｎバッファ調整値
64，64a，64b，64w〜64z  受信バッファ調整値、ajbuf_pk(j)
65  最大ジッタ、max_jit(j)    66  クロックずれ、clk_diff(j)
67  パケット平均受信間隔、ave_t_rev(j)
68  平均再生間隔、ave_t_play(j)
71x〜71z  再生クロック情報、play_clk
72y，72z  音声パケット、pk(m)
73y，73z  フラグ、uv_flag    74  実績値、r_ajbuf(j)
c1〜c3，c5〜c9，c11  バッファアンダフロー
c4，c10  バッファオーバフロー
D1〜D4，E1〜E4  バッファ量調整                       F1  バッファサイズ調整
図中、同一符号は同一又は相当部分を示す。
【図１】
2005318092.tif 000003
【図２】
2005318092.tif 000004
【図３】
2005318092.tif 000005
【図４】
2005318092.tif 000006
【図５】
2005318092.tif 000007
【図６】
2005318092.tif 000008
【図７】
2005318092.tif 000009
【図８】
2005318092.tif 000010
【図９】
2005318092.tif 000011
【図１０】
2005318092.tif 000012
【図１１】
2005318092.tif 000013
【図１２】
2005318092.tif 000014
【図１３】
2005318092.tif 000015
【図１４】
2005318092.tif 000016
【図１５】
2005318092.tif 000017
【図１６】
2005318092.tif 000018
【図１７】
2005318092.tif 000019
【図１８】
2005318092.tif 000020
【図１９】
2005318092.tif 000021
【図２０】
2005318092.tif 000022
【図２１】
2005318092.tif 000023
【図２２】
2005318092.tif 000024
【図２３】
2005318092.tif 000025