JP4462996B2 - パケット受信方法及びパケット受信装置 - Google Patents

パケット受信方法及びパケット受信装置 Download PDF

Info

Publication number
JP4462996B2
JP4462996B2 JP2004131586A JP2004131586A JP4462996B2 JP 4462996 B2 JP4462996 B2 JP 4462996B2 JP 2004131586 A JP2004131586 A JP 2004131586A JP 2004131586 A JP2004131586 A JP 2004131586A JP 4462996 B2 JP4462996 B2 JP 4462996B2
Authority
JP
Japan
Prior art keywords
buffer
packet
reception
voice
adjustment value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004131586A
Other languages
English (en)
Other versions
JP2005318092A (ja
Inventor
義照 土永
恭士 大田
政直 鈴木
孝志 牧内
恵一 小島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2004131586A priority Critical patent/JP4462996B2/ja
Priority to US10/927,987 priority patent/US7787500B2/en
Publication of JP2005318092A publication Critical patent/JP2005318092A/ja
Application granted granted Critical
Publication of JP4462996B2 publication Critical patent/JP4462996B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/22Traffic shaping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • H04L47/564Attaching a deadline to packets, e.g. earliest due date first
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、パケット受信方法及びパケット受信装置に関し、特に、受信した音声パケットを音声に変換するパケット受信方法及びパケット受信装置に関する。
近年、インターネットの急速な普及に伴い、IPパケット化した音声データをIPネットワーク上で伝送するVoIP通信が、その安価な通話コストで注目されている。IPネットワークは、ベストエフォート型であり、送受信装置間の伝送路の帯域が保証されていない。この結果、例えば、輻輳等に起因する伝送遅延揺らぎ(以下、ジッタと称することがある。)等に起因して、通話音声品質が劣化する。また、送信装置と受信装置が独立したクロックで動作することによる送受信間のクロックずれも通話音声品質を劣化させる。このような通話音声品質の劣化を防ぐ技術はますます重要になって来ている。
図15は、一般的な音声パケット受信装置100における音声パケット50の伝送遅延揺らぎの吸収原理を示している。パケット受信装置100は、受信パケットバッファ10及び音声再生部40を備えており、ジッタに起因して不定期に到達する音声パケット50を受信し(ステップS10)、この音声パケット50を一時蓄積する(ステップS11)。そして、受信パケットバッファ10は、一時蓄積した音声パケット50を定期的に音声再生部40に送出する(ステップS12)。これにより、受信側の音声パケット50の伝送遅延揺らぎを吸収し、音切れや音跳びの無い安定した音声品質を維持することができる。
図16は、ジッタに起因する受信パケットバッファ10が“一時蓄積したパケット数(以下、蓄積パケット数又はバッファ量と称することがある。)”の変動を示している。同図(1)は、特に、クロックずれが無い場合におけるバッファ量の変動を示している。受信パケットバッファ10は、蓄積パケット数が、蓄積可能な容量の最大値(バッファサイズ)の例えば、2分の1の容量(以下、初期値(基準値)と称することがある。)になるように音声パケット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は、ジッタの値を監視し、適応的にバッファの蓄積量を制御して、遅延揺らぎ(ジッタ)を吸収している。
同様の伝送遅延揺らぎ吸収方法を用いた遅延揺らぎ吸収装置(パケット受信装置)例として、バッファが、パケット通信網から送られて来た音声パケットを一時的に蓄積し、遅延揺らぎ算出手段が到着した音声パケットの遅延揺らぎ量を測定し、遅延量制御手段が該測定された遅延揺らぎ量と設定されている遅延設定値を比較して、該測定された遅延揺らぎ量が該遅延設定値よりも所定値以上大きい場合には遅延量を増加させる指示を出し、該測定された遅延揺らぎ量が該遅延設定値よりも所定値以上小さい場合には遅延量を減少させる指示を出し、遅延量調整手段が該遅延量を増加させる指示を受けた場合、無音音声パケットを繰り返し送出し、該遅延量を減少させる指示を受け場合、無音音声パケットを破棄することにより遅延量を調整するものがある(例えば、特許文献1)。
(2)クロックずれに対応した技術
図20は、パケット受信装置の従来例(2)を示している。このパケット受信装置100bは、クロックずれに対応しており、受信パケットバッファ30、バッファ制御部31、及び蓄積パケット数監視部32を備えている。受信パケットバッファ30は、受信した音声パケット50を一時蓄積する。蓄積パケット数監視部32は、受信パケットバッファ30の蓄積量を蓄積パケット数(受信パケットバッファ30が蓄積しているパケット数)として監視し、蓄積パケット数が閾値以上になるとパケットを破棄して蓄積パケット数を減少させる指示を示す受信バッファ調整値64bをバッファ制御部31に与え、蓄積パケット数が閾値以下になるとパケットを繰り返し再生(又は補完パケットを挿入)して蓄積パケット数を増加させる指示を示す受信バッファ調整値64bをバッファ制御部31に与える。
バッファ制御部31は、受信バッファ調整値64bの指示に基づき、受信パケットバッファ30にパケット出力要求52bを与え、受信パケットバッファ30に蓄積された音声パケット50の複製又は破棄を行い、バッファ30のアンダ及びオーバフローの発生を抑制する。
同様のクロックずれに対応した方式のパケット受信装置例として、バッファが音声信号を蓄積し、音声検出部が該音声信号の有音無音区間を示す有音無音情報を検出し、バッファ監視部が該バッファに蓄積された音声信号の蓄積量を監視する。バッファ制御部が該蓄積量と該有音無音情報に基づいて、該バッファに蓄積された音声信号に新たな音声信号を挿入するか又は蓄積された音声信号を廃棄するものがある(例えば、特許文献2)。
特開2001-160826号公報(2頁、図1) 特開2003-46490号公報(2頁、図1)
図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を誘発する可能性がある。
したがって、本発明は、受信した音声パケットを音声に変換するパケット受信装置及びパケット受信方法において、ジッタ及び送受信装置間のクロックずれが共に発生する環境で、安定した音質を確保する最適な受信パケットバッファ制御を行うことを課題とする。
上記の課題を解決するため本発明のパケット受信方法は、受信した音声パケットを受信パケットバッファに一時記憶する第1ステップと、該一時記憶した音声パケットから得られるネットワークの状態に起因するバッファ量の変動と、送受信端末間のクロックずれに起因する定常的なバッファ量の変動のパラメータ情報に基づき、該受信パケットバッファのバッファ量を決定するための該パラメータ情報に対応するバッファ調整値をそれぞれ決定する複数の第2ステップと、該複数のバッファ調整値を加算して受信バッファ調整値を決定する第3ステップと、該受信パケットバッファに一時記憶されている音声パケットに音声が含まれるか否かを判定する第4ステップと、該第4ステップの判定結果に基づき該受信バッファ調整値により該バッファ量を制御すると共に該受信バッファ調整値の実績値を監視するステップと、で構成され、該第3ステップが、該複数のバッファ調整値に、該第5ステップで監視された過去の実績値を加えて該受信バッファ調整値を決定することを特徴としている。
また、本発明は、上記の本発明において、該パラメータ情報が、さらに、パケット受信装置自身から得られる1つ以上のパラメータ情報を含むことができる。
また、本発明は、上記の本発明において、該第3ステップと第4ステップの間に、さらに、該一時記憶されている音声パケットに音声が含まれるか否かを判定する第5ステップを有し、該第4ステップにおいて、該受信バッファ調整値に加えて、さらに、該第5ステップの判定結果に基づき、該バッファ量を制御することができる。
また、本発明は、上記の本発明において、該第4ステップにおいて、該受信バッファ調整値の実績値を監視し、該第3ステップにおいて、該複数のバッファ調整値に該実績値を加えて、該受信バッファ調整値を決定することができる。
さらに、本発明は、上記の本発明において、該パラメータ情報を、該音声パケットの到達時刻、該受信パケットバッファに記憶されている音声パケット数、及び該音声パケットの送信順序を示すシーケンス番号とすることができる。
上記の本発明方法を実現する本発明のパケット受信装置は、受信した音声パケットを一時記憶する受信パケットバッファと、該一時記憶した音声パケットから得られるネットワークの状態に起因するバッファ量の変動と、送受信端末間のクロックずれに起因する定常的なバッファ量の変動のパラメータ情報に基づき、該受信パケットバッファのバッファ量を決定するための該パラメータ情報に対応するバッファ調整値をそれぞれが決定する複数のパラメータ情報監視部と、該複数のバッファ調整値を加算して受信バッファ調整値を決定するバッファ調整値決定部と、該受信パケットバッファに一時記憶されている音声パケットに音声が含まれるか否かを判定する音声判定部と、該音声判定部の判定結果に基づき該受信バッファ調整値により該バッファ量を制御すると共に該受信バッファ調整の実績値を監視するバッファ制御部と、を備え、該バッファ調整値決定部が、該複数のバッファ調整値に、該バッファ制御部によって監視された過去の実績値を加えて該受信バッファ調整値を決定することを特徴としている。
以下、本発明を図面を参照して説明する。
図1は、本発明に係るパケット受信装置100の原理を示している。このパケット受信装置100は、受信パケットバッファ10、複数のパラメータ情報監視部14,15,…,16、バッファ調整値決定部17、バッファ制御部11を備えている。12は、音声出力部である。
受信パケットバッファ10は、例えばVoIPネットワーク(図示せず。)から受信した音声パケット50を一時記憶する。この音声パケット50にはジッタが含まれており、また、送信側のクロックと音声出力部12のクロックの間にはクロックずれがある。パラメータ情報監視部14,15,…,16は、それぞれ、一時記憶した音声パケット50から得られる1つ以上のパラメータ情報(例えば、ジッタやクロックずれに関係する情報等)に基づき、受信パケットバッファ10のバッファ量を決定するための異なったバッファ調整値(すなわち、第1バッファ調整値61、第2バッファ調整値62、…、第nバッファ調整値63)を決定する。
バッファ調整値決定部17は、各パラメータ情報監視部14,15,…,16が決定したバッファ調整値61,62,…,63に基づき、バッファ調整値を総合(統一)した受信バッファ調整値64を決定する。この受信バッファ調整値64に基づきバッファ制御部11は、受信パケットバッファ10のバッファ量、例えば、受信パケットバッファ10に一時蓄積された音声パケット50の数を調整する。
これにより、ネットワークの状態等に起因するジッタやパケット送受信装置間のクロックずれに、それぞれ対応した制御、すなわち、安定した音質を確保する最適な受信パケットバッファ制御を行うことが可能になる。
また、本発明は、上記の本発明において、該パラメータ情報は、さらに、パケット受信装置自身から得られる1つ以上のパラメータ情報を含むことが可能である。
すなわち、パラメータ情報として、一時記憶した音声パケットから得られるパラメータ情報の他に、パケット受信装置側で得られる所定のパラメータ情報、例えば、再生クロック情報を含めることが可能である。
これらのパラメータ情報により、パラメータ情報監視部は、より正確なクロックずれを求めることが可能になる。
また、本発明は、上記の本発明において、該受信パケットバッファに一時記憶されている音声パケットに音声が含まれるか否かを判定する音声判定部をさらに備え、該バッファ制御部が、該受信バッファ調整値に加えて、さらに、該音声判定部の判定結果に基づき、該バッファ量を制御することが可能である。
すなわち、音声判定部(図示せず。)は、受信パケットバッファ10に一時記憶されているパケットが音声を含む音声パケットか、又は音声を含まない音声パケットかを判定し、その判定結果をバッファ制御部11に与える。このバッファ制御部11は、受信バッファ調整値に基づき、音声パケットを廃棄する必要がある場合、非音声区間の音声パケットを廃棄し、音声パケットを繰り返し再生する必要がある場合、非音声区間の音声パケットを再生する。これにより、音声通話における有音の音声パケットを廃棄したり、繰り返すことが少なくなり、音質を確保した音声通話の再生が可能になる。
また、本発明は、上記の本発明において、該バッファ制御部は、該受信バッファ調整値の実績値を監視し、該バッファ調整値決定部が、該複数のバッファ調整値に該実績値を加えて、該受信バッファ調整値を決定するができる。
すなわち、バッファ制御部は、受信パケットバッファのバッファ量を受信バッファ調整値に基づき制御するが、実際には、この受信バッファ調整値通りに制御が行われるとは限らないので、その実績値を監視する。この実績値と複数のバッファ調整値の双方に基づき、バッファ調整値決定部は、受信バッファ調整値を決定する。
これにより、例えば、十分な非音声区間が確保できず設定した受信バッファ調整値分のバッファ制御ができない場合においても、次の制御区間を用いて必要なバッファ量の調整を確実に行うことが可能となる。
また、本発明は、上記の本発明において、該パラメータ情報を、該音声パケットの到達時刻、該受信パケットバッファに記憶されている音声パケット数、及び該音声パケットの送信順序を示すシーケンス番号としてもよい。
また、本発明は、上記の本発明において、パケット受信装置自身から得られる該パラメータ情報を再生クロック情報としてもよい。
また、本発明は、上記の本発明において、該パラメータ情報監視部が、該音声パケットのジッタに対応したジッタバッファ調整値を決定するジッタ監視部とクロックずれに対応したクロックずれバッファ調整値を決定するクロックずれ監視部とを含むことが可能である。これにより、ジッタ及びクロックずれに対応したバッファ制御が可能になる。
また、本発明は、上記の本発明において、該ジッタ監視部を、該音声パケットのジッタ値を算出するジッタ算出部と、該ジッタ値に対応したジッタバッファ調整値を設定するジッタバッファ調整値設定部とで構成することができる。
また、本発明は、上記の本発明において、該ジッタ算出部が、該受信した音声パケットのシーケンス番号、受信時刻、受信時の蓄積パケット数を用いてジッタ値を求めることができる。
また、本発明は、上記の本発明において、該クロックずれ監視部を、該受信パケットバッファの定常的な蓄積パケット数の変動特性を示すクロックずれを算出するクロックずれ算出部と、該算出されたクロックずれに対応したバッファ調整値を設定するクロックずれバッファ調整値設定部とで構成することができる。
また、本発明は、上記の本発明において、該クロックずれ算出部は、音声パケット受信時の蓄積パケット数の平均値を用いて該クロックずれを求めてもよい。
また、本発明は、上記の本発明において、該クロックずれ監視部は、該音声パケットの受信時間情報に基づき平均受信時間間隔を示すパケット平均受信間隔を算出する平均受信間隔算出部と、再生クロック情報に基づき該音声パケットの受信バッファからの平均出力時間間隔を示す平均再生間隔を算出する平均再生間隔算出部と、該パケット平均受信間隔及び該平均再生間隔に基づき送受信装置間のクロックずれを算出するクロックずれ算出部と、該クロックずれに対応したクロックずれバッファ調整値を設定するクロックずれバッファ調整値設定部とを備えることができる。
また、本発明は、上記の本発明において、該平均受信間隔算出部は、該受信した音声パケットの受信時間情報に基づき該パケット平均受信間隔を算出してもよい。
また、本発明は、上記の本発明において、該平均再生間隔算出部は、再生クロック情報に基づき該平均再生間隔を算出してもよい。
また、本発明は、上記の本発明において、該バッファ制御部は、該受信バッファ調整値に基づき該音声パケットの廃棄又は繰り返し出力処理を行い、該バッファ量を増加又は減少させることができる。
また、本発明は、上記の本発明において、該バッファ制御部は、該受信バッファ調整値に基づき該バッファ量を増加させる場合に、前後の該音声パケットから補間することによって生成した補間パケットを用いることができる。
また、本発明は、上記の本発明において、該バッファ制御部は、該受信バッファ調整値に基づき該音声判定部によって判定された非音声区間の音声パケットのみを対象に、音声パケットの廃棄又は繰り返し出力処理を行い、該バッファ量を増加又は減少させることができる。
さらに、本発明は、上記の本発明において、該パラメータ情報監視部は、各パラメータ情報の監視時間間隔を伝送路の状態に応じて、変化させることができる。
上記の課題を解決するため本発明のクロックずれ監視装置は、音声パケットの受信時間情報に基づき該音声パケットの平均受信時間間隔を示すパケット平均受信間隔を算出する平均受信間隔算出部と、再生クロック情報に基づき該音声パケットの平均出力時間間隔を示す平均再生間隔を算出する平均再生間隔算出部と、該パケット平均受信間隔及び該平均再生間隔に基づき送受信装置間のクロックずれを算出するクロックずれ算出部と、該クロックずれに対応したクロックずれバッファ調整値を設定するクロックずれバッファ調整値設定部とを備えたことを特徴としている。
以上説明したように、本発明に係るパケット受信方法及びパケット受信装置によれば、ジッタによる瞬時的なバッファ量の変動とクロックずれによる定常的なバッファ量の変動を独立して監視し、それぞれに対して最適なバッファ調整量を設定することにより、ジッタとクロックずれが同時に生じた場合においても、バッファ・アンダ/オーバフローを生じさせることなく、安定した音質を確保することができる。
また、受信パケットのパラメータ情報に加えてパケット受信装置自身の再生クロックを用いてクロックずれを求めることにより、ジッタによる瞬時的なバッファ変動が大きい場合でも、より正確なクロックずれを求めることができる。これにより、大きなジッタが発生している条件でも、瞬時的なバッファ変動の影響を受けずに、クロックずれによるバッファ・アンダ/オーバフローが発生する前に、確実にバッファ量の調整を行うことが可能となる。
また、非音声区間(非音声パケット)を利用してバッファ量を調整することにより、バッファ調整時のパケット破棄や繰り返し再生によって生じる音質劣化を抑制することが可能となる。
また、受信バッファ調整値に対して実際に調整が完了したパケット数を実績値として次区間の受信バッファ調整値の制御パラメータとして用いることにより、例えば、十分な無音区間が確保できず設定した受信バッファ調整値を満足できない場合でも、次の制御区間を用いて必要なバッファ調整を確実に行うことが可能となる。
本発明に係るパケット受信方法を実現するパケット受信装置の実施例(1)〜(4)を、それぞれ、パケット受信装置100w〜100z(以下、符号100で総称することがある。)で以下に説明する。このパケット受信装置100は、音声パケット(以下、rpk(n)と略称することがある。ここで、n:伝送音声パケット番号、n=0,1,…)50を受信する。この音声パケット50は、例えば、音声パケット送信装置(図示せず。)が、音声データを一定時間間隔毎にパケット化して、VoIPネットワーク(図示せず。)経由でパケット受信装置100に送出したものであり、rpk(n)50にはジッタが発生している。また、送信側クロックと受信側クロックとは微妙な周波数ずれがあるものとする。
本実施例(1)〜(4)では、説明を簡単にするため、音声パケット送信装置とパケット受信装置100間では、rpk(n)50の消失や順序の入れ替わりはないものとする。
実施例(1):ジッタ及びクロックずれ
図2には、本発明の実施例(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
図3は、ジッタ監視部14wの構成実施例を示している。このジッタ監視部14wは、ジッタ算出部14aとジッタバッファ調整値設定部14bで構成されてる。ジッタ算出部14aは、定期間隔区間t毎に受信した複数の受信バッファ状態情報60=bufinfo(n)…bufinfo(n+M)を)を用いて、その区間での最大ジッタ(以下、max_jit(j)で略称することがある。ここで、j:ジッタ監視区間番号)65を算出し、このmax_jit(j)65をジッタバッファ調整値設定部14bに与える。
図4は、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に応じて、ジッタを吸収するために必要な最小限のバッファ調整値(単位:パケット)を第1のバッファ調整値(以下、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)
図5には、上式(7)を理解しやすくするために、ave_npk(j)、ref_npk、及びajbuf_jit(j)の関係が図示されている。このajbuf_jit(j)は、バッファ調整値決定部17に与えられる。
クロックずれ監視部15w
図6は、クロックずれ監視部15wの構成実施例を示している。このクロックずれ監視部15wは、クロックずれ算出部15a及びクロックずれバッファ調整値設定部15bで構成されている。
図7は、クロックずれ監視部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(図6参照。)を監視し、この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には、上式(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(図4参照。)とする。
クロックずれバッファ調整値設定部15bは、clk_diff(j)に応じて、この定常的なクロックずれを補償するためのクロックずれバッファ調整値([単位:パケット]、=第2のバッファ調整値(図1参照。)、以下、ajbuf_clk(j)と略称することがある。)を決定する。本実施例(1)では、clk_diff(j)による単位時間当たりの平均バッファ量の変動を打ち消すようにajbuf_clk(j)を次式(9)で決定する(図8参照。)。
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)個だけ減少させることができる。
図9は、受信パケットバッファ10における蓄積パケット数(バッファ量)の変動例を示している。この変動例では、ジッタが変動の大きさが一定値以下であり、且つクロックずれが発生している場合を示している。同図(1)は、クロックずれに対応した従来例(1)における受信パケットバッファ10の蓄積パケット数の変動例を示しており、バッファアンダフローc1〜c3が発生した時点でジッタに対応した制御が行われ、蓄積バッファ数がジッタに対応した値に戻されている。同図(2)は、本実施例(1)における受信パケットバッファ10の蓄積パケット数の変動例を示している。この本実施例(1)では、定期的にクロックずれを監視し、この監視結果に基づきバッファ制御が行われるため、バッファアンダフローが発生する前に蓄積パケット数がジッタに対応した値に調整されている。
図10は、ジッタが変動の大きさが図9に示した一定値を越えて変動した場合を示している。この場合において、本実施例(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は任意であるが、図7に示したように時間t2の間に複数の受信パケット状態情報が含まれるように設定する。本実施例(2)では、説明を簡単にするためt2=t(図4参照。)とする。
クロックずれバッファ調整値設定部15kは、clk_diff(j)に基づいて、この定常的なずれによるバッファ変動を補償するためのバッファ調整値(以下、ajbuf_clk(j)と略称することがある。)62x[単位:パケット]を第2のバッファ調整値として決定する。本実施例(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ステップと、
該複数のバッファ調整値から受信バッファ調整値を決定する第3ステップと、
該受信バッファ調整値に基づき該バッファ量を制御する第4ステップと、
で構成されたことを特徴とするパケット受信方法。
(付記2)上記の付記1において、
該パラメータ情報が、さらに、パケット受信装置自身から得られる1つ以上のパラメータ情報を含むことを特徴としたパケット受信方法。
(付記3)上記の付記1において、
該第3ステップと第4ステップの間に、さらに、該一時記憶されている音声パケットに音声が含まれるか否かを判定する第5ステップを有し、
該第4ステップにおいて、該受信バッファ調整値に加えて、さらに、該第5ステップの判定結果に基づき、該バッファ量を制御することを特徴としたパケット受信方法。
(付記4)上記の付記1において、
該第4ステップにおいて、該受信バッファ調整値の実績値を監視し、
該第3ステップにおいて、該複数のバッファ調整値に該実績値を加えて、該受信バッファ調整値を決定することを特徴としたパケット受信方法。
(付記5)上記の付記1において、
該パラメータ情報が、該音声パケットの到達時刻、該受信パケットバッファに記憶されている音声パケット数、及び該音声パケットの送信順序を示すシーケンス番号であることを特徴としたパケット受信方法。
(付記6)
受信した音声パケットを一時記憶する受信パケットバッファと、
該一時記憶した音声パケットから得られる1つ以上のパラメータ情報に基づき、該受信パケットバッファのバッファ量を決定するための異なったバッファ調整値をそれぞれが決定する複数のパラメータ情報監視部と、
該複数のバッファ調整値から受信バッファ調整値を決定するバッファ調整値決定部と、
該受信バッファ調整値に基づき該バッファ量を制御するバッファ制御部と、
を備えたことを特徴とするパケット受信装置。
(付記7)上記の付記6において、
該パラメータ情報が、さらに、パケット受信装置自身から得られる1つ以上のパラメータ情報を含むことを特徴としたパケット受信装置。
(付記8)上記の付記6において、
該受信パケットバッファに一時記憶されている音声パケットに音声が含まれるか否かを判定する音声判定部をさらに備え、
該バッファ制御部が、該受信バッファ調整値に加えて、さらに、該音声判定部の判定結果に基づき、該バッファ量を制御することを特徴としたパケット受信装置。
(付記9)上記の付記6において、
該バッファ制御部が、該受信バッファ調整値の実績値を監視し、
該バッファ調整値決定部が、該複数のバッファ調整値に該実績値を加えて、該受信バッファ調整値を決定することを特徴としたパケット受信装置。
(付記10)上記の付記6において、
該パラメータ情報が、該音声パケットの到達時刻、該受信パケットバッファに記憶されている音声パケット数、及び該音声パケットの送信順序を示すシーケンス番号を含むことを特徴としたパケット受信装置。
(付記11)上記の付記7において、
パケット受信装置自身から得られる該パラメータ情報が、再生クロック情報であることを特徴としたパケット受信装置。
(付記12)上記の付記6において、
該パラメータ情報監視部が、該音声パケットのジッタに対応したジッタバッファ調整値を決定するジッタ監視部とクロックずれに対応したクロックずれバッファ調整値を決定するクロックずれ監視部とを含むことを特徴としたパケット受信装置。
(付記13)上記の付記12において、
該ジッタ監視部が、該音声パケットのジッタ値を算出するジッタ算出部と、該ジッタ値に対応したジッタバッファ調整値を設定するジッタバッファ調整値設定部と、で構成されていることを特徴としたパケット受信装置。
(付記14)上記の付記13において、
該ジッタ算出部が、該受信した音声パケットのシーケンス番号、受信時刻、受信時の蓄積パケット数を用いてジッタ値を求めることを特徴したパケット受信装置。
(付記15)上記の付記12において、
該クロックずれ監視部が、該受信パケットバッファの定常的な蓄積パケット数の変動特性を示すクロックずれを算出するクロックずれ算出部と、該算出されたクロックずれに対応したバッファ調整値を設定するクロックずれバッファ調整値設定部と、で構成されていることを特徴としたパケット受信装置。
(付記16)上記の付記15において、
該クロックずれ算出部は、音声パケット受信時の蓄積パケット数の平均値を用いて該クロックずれを求めることを特徴としたパケット受信装置。
(付記17)上記の付記12において、
該クロックずれ監視部が、該音声パケットの受信時間情報に基づき平均受信時間間隔を示すパケット平均受信間隔を算出する平均受信間隔算出部と、再生クロック情報に基づき該音声パケットの受信バッファからの平均出力時間間隔を示す平均再生間隔を算出する平均再生間隔算出部と、該パケット平均受信間隔及び該平均再生間隔に基づき送受信装置間のクロックずれを算出するクロックずれ算出部と、該クロックずれに対応したクロックずれバッファ調整値を設定するクロックずれバッファ調整値設定部と、を備えたことを特徴とするパケット受信装置。
(付記18)上記の付記17において、
該平均受信間隔算出部は、該受信した音声パケットの受信時間情報に基づき該パケット平均受信間隔を算出することを特徴としたパケット受信装置。
(付記19)上記の付記17において、
該平均再生間隔算出部は、再生クロック情報に基づき該平均再生間隔を算出することを特徴としたパケット受信装置。
(付記20)上記の付記6において、
該バッファ制御部は、該受信バッファ調整値に基づき該音声パケットの廃棄又は繰り返し出力処理を行い、該バッファ量を増加又は減少させることを特徴としたパケット受信装置。
(付記21)上記の付記6において、
該バッファ制御部は、該受信バッファ調整値に基づき該バッファ量を増加させる場合に、前後の該音声パケットから補間することによって生成した補間パケットを用いることを特徴としたパケット受信装置。
(付記22)上記の付記8において、
該バッファ制御部は、該受信バッファ調整値に基づき該音声判定部によって判定された非音声区間の音声パケットのみを対象に、音声パケットの廃棄又は繰り返し出力処理を行い、該バッファ量を増加又は減少させることを特徴としたパケット受信装置。
(付記23)上記の付記6において、
該パラメータ情報監視部は、各パラメータ情報の監視時間間隔を伝送路の状態に応じて、変化させることを特徴としたパケット受信装置。
(付記24)
音声パケットの受信時間情報に基づき該音声パケットの平均受信時間間隔を示すパケット平均受信間隔を算出する平均受信間隔算出部と、
再生クロック情報に基づき該音声パケットの平均出力時間間隔を示す平均再生間隔を算出する平均再生間隔算出部と、
該パケット平均受信間隔及び該平均再生間隔に基づき送受信装置間のクロックずれを算出するクロックずれ算出部と、
該クロックずれに対応したクロックずれバッファ調整値を設定するクロックずれバッファ調整値設定部と、
を備えたことを特徴とするクロックずれ監視装置。
本発明に係るパケット受信方法を実現したパケット受信装置の原理を示したブロック図である。 本発明に係るパケット受信装置の実施例(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 第1バッファ調整値、ジッタバッファ調整値、ajbuf_jit(j)
62,62w〜62z 第2バッファ調整値、クロックずれバッファ調整値、ajbuf_clk(j)
63 第nバッファ調整値
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 バッファサイズ調整
図中、同一符号は同一又は相当部分を示す。

Claims (2)

  1. 受信した音声パケットを受信パケットバッファに一時記憶する第1ステップと、
    該一時記憶した音声パケットから得られるネットワークの状態に起因するバッファ量の変動と、送受信端末間のクロックずれに起因する定常的なバッファ量の変動のパラメータ情報に基づき、該受信パケットバッファのバッファ量を決定するための該パラメータ情報に対応するバッファ調整値をそれぞれ決定する複数の第2ステップと、
    該複数のバッファ調整値を加算して受信バッファ調整値を決定する第3ステップと、
    該受信パケットバッファに一時記憶されている音声パケットに音声が含まれるか否かを判定する第4ステップと、
    該第4ステップの判定結果に基づき該受信バッファ調整値により該バッファ量を制御すると共に該受信バッファ調整値の実績値を監視するステップと、
    で構成され、該第3ステップが、該複数のバッファ調整値に、該第5ステップで監視された過去の実績値を加えて該受信バッファ調整値を決定することを特徴とするパケット受信方法。
  2. 受信した音声パケットを一時記憶する受信パケットバッファと、
    該一時記憶した音声パケットから得られるネットワークの状態に起因するバッファ量の変動と、送受信端末間のクロックずれに起因する定常的なバッファ量の変動のパラメータ情報に基づき、該受信パケットバッファのバッファ量を決定するための該パラメータ情報に対応するバッファ調整値をそれぞれが決定する複数のパラメータ情報監視部と、
    該複数のバッファ調整値を加算して受信バッファ調整値を決定するバッファ調整値決定部と、
    該受信パケットバッファに一時記憶されている音声パケットに音声が含まれるか否かを判定する音声判定部と、
    該音声判定部の判定結果に基づき該受信バッファ調整値により該バッファ量を制御すると共に該受信バッファ調整の実績値を監視するバッファ制御部と、
    を備え、該バッファ調整値決定部が、該複数のバッファ調整値に、該バッファ制御部によって監視された過去の実績値を加えて該受信バッファ調整値を決定することを特徴とするパケット受信装置。
JP2004131586A 2004-04-27 2004-04-27 パケット受信方法及びパケット受信装置 Expired - Fee Related JP4462996B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004131586A JP4462996B2 (ja) 2004-04-27 2004-04-27 パケット受信方法及びパケット受信装置
US10/927,987 US7787500B2 (en) 2004-04-27 2004-08-27 Packet receiving method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004131586A JP4462996B2 (ja) 2004-04-27 2004-04-27 パケット受信方法及びパケット受信装置

Publications (2)

Publication Number Publication Date
JP2005318092A JP2005318092A (ja) 2005-11-10
JP4462996B2 true JP4462996B2 (ja) 2010-05-12

Family

ID=35136343

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004131586A Expired - Fee Related JP4462996B2 (ja) 2004-04-27 2004-04-27 パケット受信方法及びパケット受信装置

Country Status (2)

Country Link
US (1) US7787500B2 (ja)
JP (1) JP4462996B2 (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7674096B2 (en) * 2004-09-22 2010-03-09 Sundheim Gregroy S Portable, rotary vane vacuum pump with removable oil reservoir cartridge
JP3860192B2 (ja) * 2005-02-10 2006-12-20 株式会社ネクストマジック 通信装置
CN101305417B (zh) * 2005-11-07 2011-08-10 艾利森电话股份有限公司 移动电信网络中的方法和装置
JP2007235221A (ja) * 2006-02-27 2007-09-13 Fujitsu Ltd 揺らぎ吸収バッファ装置
JP4706593B2 (ja) * 2006-08-15 2011-06-22 沖電気工業株式会社 パケット信号受信装置
JP4629633B2 (ja) * 2006-08-18 2011-02-09 三菱電機株式会社 リアルタイム通話装置
JP4730259B2 (ja) * 2006-08-29 2011-07-20 三菱電機株式会社 バッファ制御装置およびバッファ制御方法
JP4905060B2 (ja) * 2006-11-07 2012-03-28 富士通株式会社 受信装置およびデータ再生方法
WO2008066078A1 (fr) * 2006-11-28 2008-06-05 Kyocera Corporation Dispositif de commande de communication, dispositif de communication radio, procédé de commande de communication, et procédé de communication radio
JP4800250B2 (ja) * 2007-03-27 2011-10-26 Kddi株式会社 必要十分な受信バッファサイズを決定するパケット受信装置、方法及びプログラム
IN2009DN07226A (ja) * 2007-05-30 2015-07-24 Ericsson Telefon Ab L M
JP4514161B2 (ja) * 2007-06-14 2010-07-28 Necアクセステクニカ株式会社 音声信号受信装置、音声信号通信装置および音声信号受信方法
JP4978796B2 (ja) * 2007-10-26 2012-07-18 富士通株式会社 無線装置およびそれを備えた無線ネットワーク
US20100290454A1 (en) * 2007-11-30 2010-11-18 Telefonaktiebolaget Lm Ericsson (Publ) Play-Out Delay Estimation
JP5668938B2 (ja) * 2010-01-07 2015-02-12 日本電気株式会社 パケット整列装置、受信装置、及びパケット整列方法
US8817725B2 (en) * 2012-01-13 2014-08-26 Blackberry Limited Scheduling transmission of traffic treated less preferentially despite timing requirements
US9264374B2 (en) 2013-10-23 2016-02-16 Qualcomm Incorporated Media playout for VOIP applications
US9294413B2 (en) 2013-10-23 2016-03-22 Qualcomm Incorporated Media playout for VOIP applications
US9559958B1 (en) * 2013-11-28 2017-01-31 Cisco Technology, Inc. Resolving a monitor based on information in a plurality of packets
JP6464397B2 (ja) * 2014-02-19 2019-02-06 株式会社高砂製作所 音声通信装置
CN105099949A (zh) 2014-04-16 2015-11-25 杜比实验室特许公司 基于对延迟抖动和对话动态的监视的抖动缓冲器控制
US9806967B2 (en) * 2014-05-30 2017-10-31 Sony Corporation Communication device and data processing method
JP2018007192A (ja) * 2016-07-08 2018-01-11 シントレーディング株式会社 音声通信システム、送信装置、受信装置、送信方法、受信方法、およびプログラム
KR101963852B1 (ko) * 2016-08-12 2019-04-01 (주)티아이스퀘어 지터 버퍼 관리 장치 및 방법

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5623483A (en) * 1995-05-11 1997-04-22 Lucent Technologies Inc. Synchronization system for networked multimedia streams
JP3734946B2 (ja) 1997-12-15 2006-01-11 松下電器産業株式会社 データ送出装置、データ受信装置及びデータ伝送装置
US6683889B1 (en) * 1999-11-15 2004-01-27 Siemens Information & Communication Networks, Inc. Apparatus and method for adaptive jitter buffers
AUPQ896300A0 (en) * 2000-07-24 2000-08-17 Nec Australia Pty Ltd A clock synchronisation method for usb sink devices
ATE422744T1 (de) * 2001-04-24 2009-02-15 Nokia Corp Verfahren zum ändern der grösse eines zitterpuffers und zur zeitausrichtung, kommunikationssystem, empfängerseite und transcoder
US6757292B2 (en) * 2001-07-11 2004-06-29 Overture Networks, Inc. Automatic adjustment of buffer depth for the correction of packet delay variation
JP2003046490A (ja) 2001-07-30 2003-02-14 Mitsubishi Electric Corp 音声伝送装置
US7319703B2 (en) * 2001-09-04 2008-01-15 Nokia Corporation Method and apparatus for reducing synchronization delay in packet-based voice terminals by resynchronizing during talk spurts
US7110422B1 (en) * 2002-01-29 2006-09-19 At&T Corporation Method and apparatus for managing voice call quality over packet networks
JP3655249B2 (ja) 2002-03-05 2005-06-02 松下電器産業株式会社 データ受信再生方法およびデータ通信装置
JP2004048343A (ja) 2002-07-11 2004-02-12 Hitachi Communication Technologies Ltd 音声パケット受信装置、その動作プログラム、及び音声パケットの揺らぎ吸収方法
JP3723540B2 (ja) 2002-11-13 2005-12-07 日新産商株式会社 合成樹脂袋の製造方法
JP2004221951A (ja) * 2003-01-15 2004-08-05 Alps Electric Co Ltd 伝送データのジッター補正方法
US7433435B2 (en) * 2003-10-22 2008-10-07 Sasken Communication Technologies Limited Apparatus, methods, systems, and articles incorporating a clock correction technique

Also Published As

Publication number Publication date
US7787500B2 (en) 2010-08-31
JP2005318092A (ja) 2005-11-10
US20050238013A1 (en) 2005-10-27

Similar Documents

Publication Publication Date Title
JP4462996B2 (ja) パケット受信方法及びパケット受信装置
US8937963B1 (en) Integrated adaptive jitter buffer
JP4838273B2 (ja) メディア内同期化のための適応型メディア再生方法および装置
JP4819873B2 (ja) 可変ビットレート・データのデータパケット送信を制御する技術
JP4681044B2 (ja) データパケットの送信を動的に制御する技術
KR100902456B1 (ko) 단 대 단 VoIP 매체 지연을 관리하는 방법 및 장치
EP2255535B1 (en) Device and method for adaptation of target rate of video signals
US7630409B2 (en) Method and apparatus for improved play-out packet control algorithm
US7263109B2 (en) Clock skew compensation for a jitter buffer
JP4744444B2 (ja) ストリームデータ受信再生装置、通信システムおよびストリームデータ受信再生方法
US20050207342A1 (en) Communication terminal device, communication terminal receiving method, communication system and gateway
JP2006135974A (ja) 適応的バッファ遅延を有する音声受信機
KR20040053145A (ko) 소스로부터 목적지까지의 전송을 위한 통신 시스템 및 기술
WO2007130695A9 (en) Method and apparatus for streaming media to a plurality of adaptive client devices
WO2014100331A1 (en) Apparatus and methods for controlling jitter buffer
JP2011510594A (ja) ネットワーク・ノードのための簡易な適応ジッタ・バッファリング・アルゴリズム
TW200849842A (en) Method of regulating the transmission jitter within a reception terminal
JP2004072720A (ja) メディア伝送方法並びにその送信装置及び受信装置
JP4076981B2 (ja) 通信端末装置およびバッファ制御方法
Narbutt et al. Adaptive playout buffering for audio/video transmission over the internet
JP4376165B2 (ja) 受信装置,クロック調整方法および放送システム
JP2010136159A (ja) データ受信装置
WO2017095276A1 (en) Method and receiving device for adapting a play-out rate of a jitter buffer
Tu et al. Adaptive playback buffer for wireless streaming media
US8615045B2 (en) Apparatus and method for playout scheduling in voice over internet protocol (VoIP) system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061127

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081017

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090303

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090507

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090929

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091228

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20100122

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100216

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100216

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130226

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140226

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees