JP3449276B2 - パケット受信装置およびパケット受信方法、並びに記録媒体 - Google Patents

パケット受信装置およびパケット受信方法、並びに記録媒体

Info

Publication number
JP3449276B2
JP3449276B2 JP02669499A JP2669499A JP3449276B2 JP 3449276 B2 JP3449276 B2 JP 3449276B2 JP 02669499 A JP02669499 A JP 02669499A JP 2669499 A JP2669499 A JP 2669499A JP 3449276 B2 JP3449276 B2 JP 3449276B2
Authority
JP
Japan
Prior art keywords
packet
jitter
timing
receiving
amount
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
JP02669499A
Other languages
English (en)
Other versions
JP2000224225A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP02669499A priority Critical patent/JP3449276B2/ja
Publication of JP2000224225A publication Critical patent/JP2000224225A/ja
Application granted granted Critical
Publication of JP3449276B2 publication Critical patent/JP3449276B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、パケット受信装置
およびパケット受信方法、並びに記録媒体に関し、特
に、音声信号をデジタル信号に変換し、一定長の音声パ
ケットに分割して伝送し、受信した音声パケットから元
の音声信号を再生するパケット受信装置およびパケット
受信方法、並びに記録媒体に関する。
【0002】
【従来の技術】従来のジッタバッファ制御方式では、C
PUが、DSP毎にシーケンス入れ替え制御とジッタ制
御を行い、読出しタイミングに達したパケットのみを、
CPUのメモリから該当するDSPのジッタバッファへ
転送する方式をとっていた。従って、CPUは、受信バ
ッファ、受信キュー、及び、DSP数分のジッタキュー
を持ち、DSP数分のジッタ制御を行っていた。
【0003】また、従来のジッタバッファ制御方式で
は、中継路が専用接続で揺らぎが少なく、遅延が一定で
あることを前提にして、最初に受信したパケットに固定
遅延を加えることにより、ジッタバッファ制御を実現し
ていた。
【0004】例えば、音声呼が通るルートの中継段数が
増えると、遅延時間が長くなり、中継装置毎のトラヒッ
ク量に応じて待ち時間が変動するため、揺らぎも大きく
なる。これらの遅延や揺らぎが発生しても通話に支障が
ないように、受信パケットを意図的に遅らせて再生する
仕組みがジッタバッファ制御である。
【0005】
【発明が解決しようとする課題】このように、従来のジ
ッタバッファ制御方式では、装置設置時に予想される遅
延時間から割り出した値(遅延時間)を装置に設定し
て、固定遅延をかける方式をとっていた。この方式は、
装置の接続段数が一定であり、かつ、専用線接続の企業
網等では有効である。
【0006】しかしながら、IP(internet
protocol)テレフォニーという新技術分野に適
用しようとすると、中継路として公衆網を使用すること
と、コネクションレス(パケット毎に通るルートが一定
でない)で通信するため、接続段数を特定できず、加え
て、公衆網のトラヒック量が増大すると、網内の遅延時
間もジッタバッファ制御では吸収できず、アンダーフロ
ー/オーバーフローが発生し、これにより受信音声パケ
ットの廃棄が行われ、その結果、音が途切れる等の音声
品質の低下を招いていた。
【0007】そこで、ジッタバッファ制御の範囲を公衆
網にまで拡大し、公衆網を考慮した最大遅延時間を固定
遅延として装置に設定しておくようにすると、その設定
時間が本来の遅延時間に加算されるため、どの通話にも
大きな遅延がかかり、違和感を与えるという課題があっ
た。
【0008】また、上述したように、IPテレフォニー
は、従来の電話サービスとは異なり、コネクションレス
通信であるため、パケット毎に通るルートが異なり、送
信順と受信順の入れ替わりが発生する。このため、順番
の並べ替えを考慮しなければならないという課題があっ
た。
【0009】これらの課題を解決するために、音質低下
要因の発生を予想して、通話している最中の瞬間の最適
値(最適な遅延時間)を用いてジッタバッファ制御を行
うことにより、遅延時間を最適値に設定すること、即
ち、通話路で固定的に発生する遅延時間は、取り除きよ
うがないが、ジッタバッファ制御で無駄に挿入している
遅延時間を必要最小限に設定することが要求されてい
る。
【0010】本発明はこのような状況に鑑みてなされた
ものであり、通話状況に応じた最適な遅延時間に基づい
てジッタバッファ制御を行うことにより、通話の音質を
向上させることができるようにするものである。
【0011】
【課題を解決するための手段】請求項1に記載のパケッ
ト受信装置は、送信側から中継網を介して送信されてき
たパケットを、受信側において受信し、復号化するパケ
ット受信装置であって、パケットを受信する受信手段
と、受信手段によって受信されたパケットを、受信手段
がパケットを受信した順に記憶する記憶手段と、パケッ
トを送信側が送信した順番に並べ替える並べ替え手段
と、少なくとも、受信手段によりパケットが受信された
時刻から、中継網内で発生したジッタ量を算出する算出
手段と、算出手段によって算出されたジッタ量に応じ
て、並べ替え手段によって並べ替えられたパケットを復
号化するタイミングを制御するタイミング制御手段と、
タイミング制御手段によって制御されたタイミングでパ
ケットを復号化する復号化手段とを備え、算出手段は、
平均読み出しタイミングとジッタ読み出しタイミングの
差分をパケット周期で割ることにより、ジッタ量変更数
を算出し、タイミング制御手段は、所定の読み出しタイ
ミングの初期値と、パケットのシーケンス番号にパケッ
ト周期を乗算した結果と、ジッタ量変更数にパケット周
期を乗算した結果とを加算して得られた結果をジッタ読
み出しタイミングとし、復号化手段によるパケットの復
号が行われている間も、平均読み出しタイミングとジッ
タ量変更数の算出が継続され、算出されたジッタ量変更
数が0でないとき、定規変更指示が出され、ジッタ量変
更数が0のとき、再生指示が出されることを特徴とす
る。請求項2に記載のパケット受信方法は、送信側から
中継網を介して送信されてきたパケットを、受信側にお
いて受信し、復号化するパケット受信方法であって、パ
ケットを受信する受信ステップと、受信ステップにおい
て受信されたパケットを、パケットを受信した順に記憶
する記憶ステップと、パケットを送信側が送信した順番
に並べ替える並べ替えステップと、少なくとも、受信ス
テップにおいてパケットが受信された時刻から、中継網
内で発生したジッタ量を算出する算出ステップと、算出
ステップにおいて算出されたジッタ量に応じて、並べ替
えステップにおいて並べ替えられたパケットを復号化す
るタイミングを制御するタイミング制御ステップと、タ
イミング制御ステップにおいて制御されたタイミングで
パケットを復号化する復号化ステップとを備え、算出ス
テップにおいては、平均 読み出しタイミングとジッタ読
み出しタイミングの差分をパケット周期で割ることによ
り、ジッタ量変更数を算出し、タイミング制御ステップ
においては、所定の読み出しタイミングの初期値と、パ
ケットのシーケンス番号にパケット周期を乗算した結果
と、ジッタ量変更数にパケット周期を乗算した結果とを
加算して得られた結果をジッタ読み出しタイミングと
し、復号化ステップにおいてパケットの復号が行われて
いる間も、平均読み出しタイミングとジッタ量変更数の
算出が継続され、算出されたジッタ量変更数が0でない
とき、定規変更指示が出され、ジッタ量変更数が0のと
き、再生指示が出されることを特徴とする。請求項3に
記載の記録媒体は、請求項2に記載のパケット受信方法
を実行可能なプログラムが記録されていることを特徴と
する。本発明に係るパケット受信装置およびパケット受
信方法、並びに記録媒体においては、パケットを受信
し、受信されたパケットを、パケットを受信した順に記
憶し、パケットを送信側が送信した順番に並べ替え、少
なくとも、パケットが受信された時刻から、中継網内で
発生したジッタ量を算出し、算出されたジッタ量に応じ
て、並べ替えられたパケットを復号化するタイミングを
制御し、制御されたタイミングでパケットを復号化し、
平均読み出しタイミングとジッタ読み出しタイミングの
差分をパケット周期で割ることにより、ジッタ量変更数
を算出し、所定の読み出しタイミングの初期値と、パケ
ットのシーケンス番号にパケット周期を乗算した結果
と、ジッタ量変更数にパケット周期を乗算した結果とを
加算して得られた結果をジッタ読み出しタイミングと
し、パケットの復号が行われている間も、平均読み出し
タイミングとジッタ量変更数の算出が継続され、算出さ
れたジッタ量変更数が0でないとき、定規変更指示が出
され、ジッタ量変更数が0のとき、再生指示が出され
る。
【0012】
【発明の実施の形態】図1は、本発明のパケット受信装
置を応用した音声パケット受信装置の一実施の形態の構
成例を示すブロック図である。同図に示すように、音声
パケットを受信する音声パケット受信装置1は、各部の
制御を行うCPU(中央制御部(central pr
ocessing unit))2、CPUバス21、
受信した音声パケットを復号し、音声データに変換する
DSP(音声信号処理部(digital signa
l processor))31乃至3n(nは、DS
P数を表している)、及び受信した音声パケットを一時
的に記憶する受信バッファ(DSP毎の受信バッファ兼
ジッタバッファ)41乃至4nを備えている。
【0013】CPU2には、受信バッファ41乃至4n
の各々の書込みアドレスを示す書込ポインタ201乃至
20nが記憶されるようになされている。また、DSP
31乃至31nは、それぞれ、パケット処理301、ジ
ッタ量制御302、ジッタキュー303、復号器(音声
復号器)304から構成され、PBX(私設電話網交換
機(private branch exchang
e))、又は電話機につながる受信信号線305と接続
されている。そして、受信バッファの先頭(ヘッダ読出
しアドレス)を示す読出しポインタ306と、空きバッ
ファの補充先を示す補充ポインタ307が記憶されてい
る。
【0014】受信バッファ41乃至4nは、DSP31
乃至3n毎に設けられたバッファであり、メモリバス5
1乃至5nは、各DSP31乃至3nと各バッファ41
乃至4nとをつなぎ、データのやり取りを行うようにな
されている。
【0015】また、本実施の形態は、WAN(中継回線
制御部)6を備え、中継回線61を介して外部と接続さ
れている。WAN6は、中継回線61を介して受信した
受信パケット(音声パケット)7をCPU2に供給する
ようになされている。時計8は、計時動作を行い、計時
結果を適宜、CPUバス21を介して各部に供給するよ
うになされている。
【0016】図2は、本発明のジッタキュー303の構
成例を表している。図3は、ジッタキュー303の積込
手順(シーケンス訂正手順)を表している。ジッタキュ
ー303は、送信シーケンス訂正キュー兼用のジッタキ
ューであり、#xはキュー番号兼送信シーケンス番号の
最下位バイトの値を示している。
【0017】図2のポインタ(HP)2002は、ジッ
タキュー303の先頭を示すポインタであり、キュー番
号で表される。仮想定規2003は、ジッタ量と音声パ
ケット読出し点を示している。ポインタ2004は、受
信バッファ41乃至4nのポインタを表している(図3
の100,200、...、900)。
【0018】音声パケット2005は、中継回線61を
介して中継網から受信した音声パケットであり、#xは
送信シーケンス番号を示している。また、上記ポインタ
2004で示される受信バッファ41乃至4nの所定の
場所に格納されている。音声データ2006は、受信信
号線305に送出される再生された音声データを表して
いる。
【0019】ジッタキュー303は、例えば、パケット
周期C(=10ミリ秒(ms))で最大±600msの
揺らぎ吸収を実現できるよう、例として、キュー長12
8としている。ジッタキュー303は、送信シーケンス
番号iの下位7ビットに対応したリング形式を採用した
構成とされ、ジッタキュー303の先頭の送信シーケン
ス番号iを示すポインタ(HP)2002が設定されて
いる。送信シーケンス番号#128は、ジッタキュー3
03を1周した後に#0に積込まれる。
【0020】例えば、HP2002が送信シーケンス番
号#0を指すとき、送信シーケンス番号#128の音声
パケットを受信した場合は、送信シーケンス番号#0の
音声パケットがまだジッタキュー303に残っているの
で、送信シーケンス番号が#128の音声パケットの到
着が早すぎたと解釈し、この音声パケットは廃棄し、再
生しない。逆に、HP2002が送信シーケンス番号#
128を指すとき、送信シーケンス番号#0の音声パケ
ットを受信した場合は、送信シーケンス番号が#0の音
声パケットの到着が遅すぎたと解釈し、このパケットは
廃棄し、再生しない。
【0021】ジッタキュー303には、HP2002に
同期して、ジッタ量を示す仮想定規2003が存在す
る。ジッタキュー303の深さは128であるが、適応
制御されているジッタ量は、仮想定規2003の示す範
囲であり、ジッタバッファ制御の結果、ジッタキュー3
03に積込まれている音声パケット数は、常に中点の前
後にあることになる。
【0022】図4は、実際のパケットの流れを示してい
る。図5は、図4の受信装置3004で時計のずれを修
正した後のパケットの流れと、ジッタ量算出のアルゴリ
ズムを表している。
【0023】図4に示すように、電話機3001で話し
た音声(送信音)は、送信装置(音声パケット送信装
置)3002でデジタル化/符号化され、一定周期(本
実施の形態では10msとする)に分割されて、送信パ
ケットとして中継網3003に送り出される。中継網3
003を介して送信されてきたパケットは、受信装置
(音声パケット受信装置)3004で受信され、ジッタ
バッファ制御を経て、復号化及びアナログ化がなされ、
電話機3005へ届けられる。この例の場合、送信パケ
ットは、#0、#1、#3、#4、#2の順で受信さ
れ、受信パケットとされる。また、受信装置3004
は、図1に示した音声パケット受信装置1と同様の構成
である。
【0024】図6は、受信バッファ4x(xは1乃至
n)上の音声パケットフォーマットを表している。次バ
ッファポインタ4001のフィールドには、次のバッフ
ァの先頭アドレスを示すポインタがセットされる。コマ
ンド(音声パケット受信)4002のフィールドには、
音声パケット受信を示すコマンド番号がセットされる。
音声パケット長4003のフィールドには、音声パケッ
トの長さがセットされる。受信タイムスタンプ(Ri)
4004のフィールドには、受信時刻を示すタイムスタ
ンプがセットされる。コマンド4002、音声パケット
長4003、受信タイムスタンプ4004は、CPU2
によって設定されるようになされている。
【0025】音声ヘッダの各フィールドのうち、その他
の情報(1)4005のフィールドと、その他の情報
(2)4008のフィールドは、ジッタバッファ制御処
理に関連しないヘッダ情報がセットされる。送信シーケ
ンス番号4006のフィールドには、送信の順番を示す
送信シーケンス番号iがセットされる。送信タイムスタ
ンプ(Si)4007のフィールドには、送信時刻を示
す送信タイムスタンプ(Si)がセットされるが、必須
要素ではない。音声データ4009のフィールドには、
デジタル化された音声データがセットされる。
【0026】受信バッファ4xは、次バッファの先頭ア
ドレスを示すポインタチェーン方式に基づいて構成され
ており、この受信バッファ4xにアクセスするCPU2
は、書込ポインタ201を有し、書込みが完了したら、
完了したバッファの次のバッファポインタ4001を、
書込ポインタ201に設定するようになされている。
【0027】また、DSP31は、読出しポインタ30
6を持ち、読出しが完了したら、完了したバッファの次
バッファポインタ4001を、読出しポインタ306に
設定するようになされている。このようにすることによ
り、受信順序を保つようにしている。CPU2の書込ポ
インタ202乃至20n、DSP32乃至3nの読出し
ポインタ306の場合も、上述した場合と同様であるの
で、それらの説明はここでは省略する。
【0028】DSP31にて音声パケットの再生が完了
し、空いたバッファは、次バッファポインタ4001を
0(次のポインタなしを示すコード)に設定して、補充
ポインタ307の後ろにつなぐ。即ち、補充ポインタ3
07が指しているバッファの次バッファポインタ400
1と補充ポインタ307の両方に、補充するバッファの
アドレスを設定する。
【0029】次に、図1、図6、及び図7乃至10のフ
ローチャートを参照して、音声パケットの受信動作につ
いて、インターネット網経由で受信されたパケットを例
に説明する。図7乃至図10は、DSP3x(xは、1
乃至n)における音声パケット受信処理を説明するため
のフローチャートである。最初、受信バッファ4x(x
は1乃至n)、ジッタキュー303は、0クリアされて
いるものとする。
【0030】書込ポインタ201、読出しポインタ30
6、補充ポインタ307は、受信バッファ41の開始
(最若番)アドレスを示している。DSP31は、通信
に先立ち、補充ポインタ307を使用して、各受信バッ
ファ41乃至4n(受信バッファ41乃至4nをそれぞ
れ受信バッファの1ブロックという)の次バッファポイ
ンタ4001に、チェーン先のバッファアドレスを書込
み、ポインタチェーンを生成しておく。ポインタチェー
ン生成後は、補充ポインタ307は、受信バッファ41
乃至4nの最後尾を指し、最後尾の受信バッファ4nの
次バッファポインタ4001は、チェーン先がないこと
を示す「0」が設定される。
【0031】音声パケット受信装置1は、中継回線61
より音声パケット7を受信すると、WAN6でレイヤ2
の処理を行った後に、受信した音声パケット(以下、受
信した音声パケットを適宜、受信パケットという)7
を、CPU2へ引き渡す。
【0032】CPU2は、受信パケット7のヘッダ処理
を行い、受信パケット7に含まれるIP(intern
et protocol)ヘッダに基づいて、受信パケ
ット7が自装置(音声パケット受信装置)1宛であるこ
とを確認したら、UDP(User Datagram
Protocol)ヘッダが示すTSAP識別子よ
り、受信DSPを決定する。ここでは、DSP31が受
信DSPと決定されたものとする。そして、決定された
DSP31に対する受信バッファ41の、書込ポインタ
201が示すバッファアドレスに、受信タイムスタンプ
(Ri)を付与した音声パケット(図6参照)を転送
し、書込ポインタ201を、いま書込んだバッファの先
頭に示されている次バッファポインタ4001に書き換
える。
【0033】CPU2では、音声ヘッダの送信シーケン
ス番号のチェックを行わないので、受信バッファ41に
は、受信した順番に音声パケットが格納されている。
【0034】DSP31は、受信バッファ41の先頭ポ
インタ(読出しポインタ)306が示すバッファを定期
的に参照しており、図7のフローチャートに示すよう
に、新たなパケット受信を確認すると、その音声ヘッダ
を読み込んで(ステップS1)、パケット処理301で
音声ヘッダのチェック等の処理(ステップS2)を行
い、ステップS3において、シーケンス検査が行われ、
ジッタありと判定された場合、送信シーケンス訂正キュ
ー兼用のジッタキュー303へ読出しポインタ306の
値の積込み処理(図2、図3参照)を行い(ステップS
4)、先頭ポインタ(読出しポインタ)306の値を、
音声パケットを読出した受信バッファ41乃至4nの所
定のブロックの先頭に示されている次バッファポインタ
4001の値に更新する(ステップS6)。
【0035】次に、ジッタ量制御302を起動して、受
信パケット7の受信タイムスタンプ(Ri)4004の
値、送信タイムスタンプ(Si)4007の値より、ジ
ッタ量nと読出しタイミングRの算出処理を行う(ステ
ップS7)(図4、図5参照)。
【0036】一方、ステップS3において、ジッタなし
と判定された場合、パケットを廃棄し(ステップS
5)、ステップS6に進み、ステップS6以降の処理が
実行される。
【0037】ジッタ量制御302から再生指示を受け取
ると、図9のフローチャートに示すように、ジッタキュ
ー303のHP2002が示す位置からポインタを読出
し(ステップ21)、読出したポインタが指す受信バッ
ファ41乃至4nの所定のブロックに格納されている音
声データ(Voiceデータ)を読出して(ステップS
22)、復号化し(ステップS23)、受信信号線30
5に出力(再生)して(ステップS24)、HP200
2の示す位置に0(空きコード)を設定し、受信バッフ
ァを解放する(ステップS25)。次に、補充ポインタ
を更新し(ステップS26)、ジッタバッファを解放し
(ステップS27)、HP2002の値を1だけインク
リメントする(ステップS28)。
【0038】次に、図2、図3を参照して、音声パケッ
トのシーケンス訂正処理と、ジッタキュー積込み/再生
処理について説明する。図2は、ジッタキュー303の
初期状態である。図3は、受信パケット7のシーケンス
訂正を兼ねてジッタキュー303に積込んだ状態であ
る。
【0039】最初に、受信バッファポインタ”100”
に送信シーケンス番号#0の音声パケットを受信したの
で、ジッタキュー303の#0に”100”を書込む。
次に、受信バッファポインタ”200”に送信シーケン
ス番号#1を受信したのでジッタキュー303の#1
に”200”を書込む。次に、受信バッファポインタ”
300”に送信シーケンス番号#3を受信したので、ジ
ッタキュー303の#3に”300”を書込む。以降も
同様にして、受信した順番に、受信バッファポインタを
ジッタキュー303の送信シーケンス番号に対応する位
置に書込む。
【0040】次に、再生処理について説明する。まず、
後述するように、図3のアルゴリズムに基づいて、ジッ
タキュー303の読出しタイミングを算出する。読出し
タイミング決定直後に受信したパケットは、ジッタキュ
ー303へポインタを積込むと同時に、ジッタ量制御3
02にて、この読出しタイミングでタイマを起動し、タ
イムアウトしたら再生指示を発生させる。以降は、パケ
ット周期C毎に再生指示を発生させる。
【0041】再生指示を受けたら、HP2002が示す
ジッタキュー303からポインタを取出して、受信バッ
ファ41から音声データを読出す。読出した音声データ
は、復号器304で復号化され、復号化された音声デー
タは、受信信号線305を介して、PBX、電話網、又
は、電話機へ送出される。
【0042】ジッタキュー303からポインタを取出し
て再生処理した後、HP2002を1つ進める。適応ジ
ッタ量の変更がなければ、その後は、一定のパケット周
期Cに合わせて、ジッタキュー303からポインタを取
出して音声パケットを再生する。
【0043】図3に示した例の場合、送信シーケンス番
号#2の音声パケットを再生するとき、送信シーケンス
番号#2は受信していないので、補間フレーム、又は、
無音フレームを生成して送出する。即ち、HP2002
が示すジッタキューの内容が「0」であったら、そのシ
ーケンス番号の音声パケットはまだ受信されていないこ
とを示している。また、図3では、送信シーケンス番号
#6の音声パケットを再生(補間又は無音で送出)した
後に、送信シーケンス番号#6の音声パケットを受信し
ているので、この送信シーケンス番号#6の音声パケッ
トは到着が遅れたものと解釈し、この音声パケットを廃
棄する。
【0044】適応ジッタ量の変更があった場合には、ジ
ッタ量制御302から定規変更指示があるので、図10
のフローチャートを参照して後述するように、ジッタ量
を変更する。
【0045】次に、図4、図5、及び、図11を参照し
て、ジッタ量制御302のアルゴリズムについて説明す
る。
【0046】音声パケットが送信装置3002から送信
されてから、受信装置3004で再生されるまでにかか
る時間は、中継網3003内の遅延・揺らぎ時間と、受
信装置3004の処理時間(パケット処理、揺らぎ吸収
に要する時間)の和である。受信装置3004のパケッ
ト処理時間と音声符号化時間は、装置が特定できれば定
数として与えられるので、この値をβと定義する。
【0047】受信装置の揺らぎ吸収時間は、中継網30
03内の遅延・揺らぎ時間から適応値を算出してダイナ
ミックに設定することが望ましい。
【0048】図6に示す通り、受信パケットには、受信
時刻を通知する受信タイムスタンプを定義しておく。送
信装置3002で付与される送信タイムスタンプは、パ
ケット周期に依存した一定間隔で付与されるので、受信
側で算出することもできる。送信シーケンス番号iの受
信タイムスタンプをRi、送信タイムスタンプをSiと
定義する。受信タイムスタンプRiは、受信装置300
4のCPU2で付与される(受信装置3004は、図1
の音声パケット受信装置1と同様の構成である)。
【0049】DSP31は、音声通信開始時に最初に受
信したパケットのタイムスタンプで、送信装置3002
と受信装置3004でずれているであろう時計の同期を
とっておく。受信装置3004の時計8に合わせた送信
タイムスタンプをRSi、時計のずれをXと定義する。
送信装置3002と受信装置3004との時計のずれの
正確な値はわからないので、音声通信開始後、最初に受
信したパケット(i=0)の遅延時間が0であったと仮
定して、時計のずれX=R0−S0と定義する。R0
は、最初に受信したパケットの受信タイムスタンプ、S
0は最初に受信したパケットの送信タイムスタンプであ
る。これにより、受信装置3004で生成する送信タイ
ムスタンプRSiは、以下の式で表すことができる。
【0050】RSi=Si+X
【0051】ここで、送信タイムスタンプSiが定義さ
れていないシステムでは、Si=i×Cに、X=R0に
置き換える。C=10msであれば、i=0はSi=
0、i=1はSi=10、i=2はSi=20と、シー
ケンス番号iに対してSiは等間隔に上がっていくが、
シーケンス番号iの順番通りに受信する保障はないの
で、受信の度に、Si=シーケンス番号i×パケット周
期Cで算出しなければならない。従って、RSiは、以
下の式を用いてもよい。
【0052】RSi=i×C+R0
【0053】2番目以降に受信したパケットは、送信タ
イムスタンプにRSiを使用することにより、受信装置
3004の時計に変換できるので、RiとRSiの差分
から受信遅延時間、即ち、揺らぎがないパケット受信時
間に対して実際に受信した時間の差を求め、これを16
パケット単位の移動平均値として算出すると、平均受信
遅延Bは、以下の式で表すことができる。
【0054】 平均受信遅延B=B+((Ri−RSi)−B)÷16
【0055】ここで算出した平均受信遅延Bを用いる
と、平均受信タイミングRTiが求まる。
【0056】平均受信タイミングRTi=RSi+B
【0057】パケットが等間隔で送信され、等間隔で受
信されれば、揺らぎがなく、平均受信遅延Bの値は0と
なる。しかし、実際には、中継網3003のトラヒック
量やルートによって揺らぎが生じる。これをインタアラ
イバルジッタと呼び、以下の式で表すことができる(イ
ンタアライバルジッタは、国際標準ITU−T H.2
25.0に規定されている内容を使用。インタアライバ
ルジッタは、受信順(送信シーケンス番号は意識しな
い)に算出することが勧告されている)。
【0058】 揺らぎD(i−1,i)=(R−Ri−1)−(S−Si−1) =(R−Ri−1)−(RS−RSi−1
【0059】インタアライバルジッタJ=J+(|D
(i−1,i)|−J)÷16
【0060】受信パケットは、平均受信遅延Bで受信さ
れ、受信処理時間βの後に、インタアライバルジッタJ
×αの揺らぎ吸収処理を行うので、このパケットを再生
する最適時間は、受信装置3004の時計8で平均読出
しタイミングRAiを示した時である。平均読出しタイ
ミングRAiは、以下の式で表すことができる。
【0061】 平均読出しタイミングRAi=RSi+B+J×α+β
【0062】ここで、揺らぎのゆとり係数としてαを与
えておくことにより、プロバイダ等、使用する中継網3
003の特性に応じて係数αの値を設定することがで
き、さらに適応性を向上させることができる。例えば、
揺らぎの少ない専用線接続であれば、係数αの値を小さ
く設定し、トラヒック変動の激しいプロバイダを使用す
る場合は、係数αの値を大きく設定する。
【0063】しかし、音声パケットは、固定長パケット
で処理されているので、一旦、読出しタイミングの初期
値RA0を決定した後は、等間隔でジッタキュー303
からパケットを取出して再生する。これをジッタ読出し
タイミングRBiと定義する。この値はジッタ量nに増
減があった場合に、この時間分を差し引く処理が必要で
ある。ジッタ量の増減をジッタ量変更数nDと定義する
と、ジッタ読出しタイミングRBiは、以下の式で表す
ことができる。
【0064】ジッタ読出しタイミングRBi=RA0+
i×C+nD×C
【0065】パケット周期C毎、又は、タイミング見直
し周期毎に、平均読出しタイミングRAiとジッタ読出
しタイミングRBiとの差分を求め、この差がパケット
周期C以上であったら、ジッタ量変更数nDは、(RA
i−RBi)/Cで算出された値を四捨五入した整数値
を使用する。タイミング見直し周期以外では、nD=0
に設定しておく。
【0066】また、言い換えれば、シーケンス番号iの
パケットは、受信装置3004の時計8が、平均受信タ
イミングRTiで受信して、平均読出しタイミングRA
iで再生されるのが理想的であるので、揺らぎ吸収に必
要なジッタ量nAは、以下の式でも表すことができる。
【0067】
【0068】揺らぎがなくても、パケット処理上、1つ
はバッファが必要なので、演算結果に1を加えて算出し
ている。必要ジッタ量nAは整数で処理するため、演算
結果を四捨五入する。
【0069】これに対して、現在、適応制御されている
ジッタバッファ長をジッタ量nと定義する。ジッタ量n
は、中点を挟んでプラスとマイナスの2方向に作用す
る。これが仮想定規2003である。これを用いると、
ジッタ量変更数nD=nA−nとなる。
【0070】読出しタイミングの初期値RA0は、コン
フィグレーションで設定してもよいが、本実施の形態の
場合、音声通信を開始するときに最初に流れるリングバ
ックトーンや無音パケットで算出した値を使用した方
が、通話の最初から、適応的なジッタバッファ量で制御
できる。
【0071】初期値として、本アルゴリズムで算出した
値を用いる場合は、読出しタイミングRA0決定時の受
信パケット7をジッタキュー303に積込み、HP20
02を該パケットの送信シーケンス番号iに設定する。
受信装置3004の時計8が読出しタイミングRA0を
示したときに再生指示を出力し、以降はパケット周期C
毎に、再生指示、又は定規変更指示を出力する。
【0072】パケットの再生を開始しても、平均読出し
タイミングRAiとジッタ量変更数nDの算出は継続し
て行う。そして、図8のフローチャートに示すように、
ステップS11において、算出したジッタ量変更数nD
の値が0であるか否かが判定され、算出したジッタ量変
更数nD≠0の場合(0でない場合)は、再生指示の代
わりに定規変更指示を出力する(ステップS13)。一
方、算出したジッタ量変更数nD=0の場合(0の場
合)は、再生指示を出力する(ステップS12)。
【0073】定規の変更は、図10のフローチャートに
示すように、ステップS31においてジッタ量をどのよ
うに変更するかが判定され、ジッタ量を大きくするとき
は、ステップS32に進み、ジッタ量n=n+1とした
(1だけ大きくした)後、ステップS33において、1
パケットCms分の補間、又は無音データを再生する。
【0074】一方、ジッタ量を小さくするときは、ステ
ップS34に進み、ジッタ量n=n−1とした(1だけ
小さくした)後、ステップS35において、ジッタキュ
ー303の先頭のパケットを廃棄して再生が完了したよ
うに見せかける。この処理を行った場合は、ジッタ読出
しタイミングRBiも更新される。その後、ステップS
36において、HP2002が1だけインクリメントさ
れ、リターンする。
【0075】ジッタ量nの変動がパケット受信毎に発生
すると、パケット廃棄や無音送出の繰り返しとなり、却
って音声品質が劣化するため、ジッタ量の変動チェック
を数パケット毎に行ったり、ジッタ量を小さくする場合
は、ヒステリシス制御を加えて徐々に戻していく論理を
組み合わせると効果も向上する。
【0076】具体的には、図11(2)に示すように、
ジッタ量nを増やす場合は、ジッタ量変更数nDの演算
結果に従って増やし、減らす場合は演算結果が2つ減っ
たら1つ減らすなどの制御を行う。図11は、ジッタ量
算出例を表しており、前提条件として、揺らぎ係数αを
1.5、装置の処理時間βを30ms、パケット周期を
10msとしている。図11(1)は、揺らぎがない場
合のジッタ量算出例を表し、図11(2)は、揺らぎが
ある場合のジッタ量算出例を表している。図11(1)
に示すように、揺らぎがない場合、ジッタ量の増減が0
であり、ジッタ量nの変更はない。
【0077】以上、説明したアルゴリズムに基づいて、
通話の瞬間の最適な揺らぎ時間を算出してジッタキュー
303を制御することにより、適応ジッタバッファ制御
が可能になる。
【0078】以上説明したように、本発明により、音声
パケット送受信装置は、音声呼の遅延時間と揺らぎ時間
から、最適なジッタバッファ制御を行うので、以下のよ
うな効果を得ることができる。
【0079】第1の効果は、急激なトラヒック変動によ
るジッタバッファのアンダーフロー/オーバーフローの
発生を抑制することができることである。従って、装置
内でのパケット廃棄による音途切れ等の音声品質の低下
を抑制することができる。
【0080】第2の効果は、通話サービス利用者が、接
続先やトラヒック量に拘わらず、その瞬間の最良な遅延
時間で通話サービスを受けることが可能となることであ
る。
【0081】第3の効果は、通話サービス提供者(運用
者)が、トラヒックの少ない昼間はジッタバッファを小
さく設定変更し、トラヒックの多い夜間はジッタバッフ
ァを大きく設定変更する手間を省くことができることで
ある。
【0082】第4の効果は、ジッタバッファ制御をCP
UからDSPに移して、受信バッファとジッタバッファ
を兼用にしたことにより、CPUの負荷が分散され、処
理能力が上がり、また、バッファ制御用のリソースが減
るため、装置当たりの収容数を増やしたり、各種付加サ
ービスへの対応が可能となることである。
【0083】なお、上記実施の形態においては、音声デ
ータを含むパケットを送受信する場合について説明した
が、その他のデータを含むパケットを送受信する場合に
も本発明を適用することができる。
【0084】また、上記実施の形態において用いた具体
的な数値は例であってこれに限定されるものではない。
【0085】
【発明の効果】以上の如く、本発明に係るパケット受信
装置およびパケット受信方法、並びに記録媒体によれ
ば、パケットを受信し、受信されたパケットを、パケッ
トを受信した順に記憶し、パケットを送信側が送信した
順番に並べ替え、少なくとも、パケットが受信された時
刻から、中継網内で発生したジッタ量を算出し、算出さ
れたジッタ量に応じて、並べ替えられたパケットを復号
化するタイミングを制御し、制御されたタイミングでパ
ケットを復号化し、平均読み出しタイミングとジッタ読
み出しタイミングの差分をパケット周期で割ることによ
り、ジッタ量変更数を算出し、所定の読み出しタイミン
グの初期値と、パケットのシーケンス番号にパケット周
期を乗算した結果と、ジッタ量変更数にパケット周期を
乗算した結果とを加算して得られた結果をジッタ読み出
しタイミングとし、パケットの復号が行われている間
も、平均読み出しタイミングとジッタ量変更数の算出が
継続され、算出されたジッタ量変更数が0でないとき、
定規変更指示が出され、ジッタ量変更数が0のとき、再
生指示が出されるようにしたので、通信状況に応じた最
適な遅延時間に基づいて、自動でジッタ量の変更を行う
ことができ、パケットの廃棄を抑制し、通信の品質を向
上させることができる。
【図面の簡単な説明】
【図1】本発明を応用した音声パケット受信装置の一実
施の形態の構成例を示すブロック図である。
【図2】図1のジッタキュー303の構成例を示す図で
ある。
【図3】ジッタキュー積込手順を説明するための図であ
る。
【図4】ジッタバッファ量算出のためのアルゴリズムを
説明するための図である。
【図5】ジッタバッファ量算出のためのアルゴリズムを
説明するための図である。
【図6】音声パケットのフォーマットを示す図である。
【図7】パケットを受信する手順を説明するためのフロ
ーチャートである。
【図8】ジッタ量変更数に応じて再生指示又は定規変更
指示を出す手順を説明するためのフローチャートであ
る。
【図9】再生指示の手順を説明するためのフローチャー
トである。
【図10】定規変更指示の手順を説明するためのフロー
チャートである。
【図11】ジッタ量算出例を示す図である。
【符号の説明】
1 音声パケット受信装置 2 CPU 6 WAN 7 受信パケット 8 時計 21 CPUバス 31乃至3n,32乃至3n DSP 41乃至4n 受信バッファ 51乃至5n メモリバス 61 中継回線 201乃至20n,202 書込ポインタ 301 パケット処理 302 ジッタ量制御 303 ジッタキュー 304 復号器 305 受信信号線 306 読出しポインタ 307 補充ポインタ 2002 ポインタ(HP) 2003 仮想定規 2004 ポインタ 2005 音声パケット 2006 音声データ 3001,3005 電話機 3002 送信装置 3003 中継網 3004 受信装置 4001 次バッファポインタ 4002 コマンド 4003 音声パケット長 4004 受信タイムスタンプ 4005 その他の情報(1) 4006 送信シーケンス番号 4007 送信タイムスタンプ 4008 その他の情報(2) 4009 音声データ
フロントページの続き (56)参考文献 特開 平6−30047(JP,A) 特開 平3−226050(JP,A) 特開 平7−38608(JP,A) 特開 平10−200580(JP,A) 特開 平7−107090(JP,A) 特開 平2−288441(JP,A) 特開 平1−300648(JP,A) 特開 昭64−29141(JP,A) (58)調査した分野(Int.Cl.7,DB名) H04L 12/56

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 送信側から中継網を介して送信されてき
    たパケットを、受信側において受信し、復号化するパケ
    ット受信装置であって、 前記パケットを受信する受信手段と、 前記受信手段によって受信された前記パケットを、前記
    受信手段が前記パケットを受信した順に記憶する記憶手
    段と、 前記パケットを送信側が送信した順番に並べ替える並べ
    替え手段と、 少なくとも、前記受信手段により前記パケットが受信さ
    れた時刻から、前記中継網内で発生したジッタ量を算出
    する算出手段と、 前記算出手段によって算出された前記ジッタ量に応じ
    て、前記並べ替え手段によって並べ替えられた前記パケ
    ットを復号化するタイミングを制御するタイミング制御
    手段と、 前記タイミング制御手段によって制御されたタイミング
    で前記パケットを復号化する復号化手段とを備え 前記算出手段は、平均読み出しタイミングとジッタ読み
    出しタイミングの差分をパケット周期で割ることによ
    り、ジッタ量変更数を算出し、 前記タイミング制御手段は、所定の読み出しタイミング
    の初期値と、前記パケットのシーケンス番号にパケット
    周期を乗算した結果と、ジッタ量変更数にパケット周期
    を乗算した結果とを加算して得られた結果をジッタ読み
    出しタイミングとし、 前記復号化手段による前記パケットの復号が行われてい
    る間も、前記平均読み出しタイミングとジッタ量変更数
    の算出が継続され、算出されたジッタ量変更数が0でな
    いとき、定規変更指示が出され、ジッタ量変更数が0の
    とき、再生指示が出される ことを特徴とするパケット受
    信装置。
  2. 【請求項2】 送信側から中継網を介して送信されてき
    たパケットを、受信側において受信し、復号化するパケ
    ット受信方法であって、 前記パケットを受信する受信ステップと、 前記受信ステップにおいて受信された前記パケットを、
    前記パケットを受信した順に記憶する記憶ステップと、 前記パケットを送信側が送信した順番に並べ替える並べ
    替えステップと、 少なくとも、前記受信ステップにおいて前記パケットが
    受信された時刻から、前記中継網内で発生したジッタ量
    を算出する算出ステップと、 前記算出ステップにおいて算出された前記ジッタ量に応
    じて、前記並べ替えステップにおいて並べ替えられた前
    記パケットを復号化するタイミングを制御するタイミン
    グ制御ステップと、 前記タイミング制御ステップにおいて制御されたタイミ
    ングで前記パケットを復号化する復号化ステップと を備
    え、 前記算出ステップにおいては、平均読み出しタイミング
    とジッタ読み出しタイミングの差分をパケット周期で割
    ることにより、ジッタ量変更数を算出し、 前記タイミング制御ステップにおいては、所定の読み出
    しタイミングの初期値と、前記パケットのシーケンス番
    号にパケット周期を乗算した結果と、ジッタ量変更数に
    パケット周期を乗算した結果とを加算して得られた結果
    をジッタ読み出しタイミングとし、 前記復号化ステップにおいて前記パケットの復号が行わ
    れている間も、前記平均読み出しタイミングとジッタ量
    変更数の算出が継続され、算出されたジッタ量変更数が
    0でないとき、定規変更指示が出され、ジッタ量変更数
    が0のとき、再生指示が出される ことを特徴とするパケ
    ット受信方法。
  3. 【請求項3】 請求項2に記載のパケット受信方法を実
    行可能なプログラムが記録されている記録媒体。
JP02669499A 1999-02-03 1999-02-03 パケット受信装置およびパケット受信方法、並びに記録媒体 Expired - Fee Related JP3449276B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP02669499A JP3449276B2 (ja) 1999-02-03 1999-02-03 パケット受信装置およびパケット受信方法、並びに記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP02669499A JP3449276B2 (ja) 1999-02-03 1999-02-03 パケット受信装置およびパケット受信方法、並びに記録媒体

Publications (2)

Publication Number Publication Date
JP2000224225A JP2000224225A (ja) 2000-08-11
JP3449276B2 true JP3449276B2 (ja) 2003-09-22

Family

ID=12200509

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02669499A Expired - Fee Related JP3449276B2 (ja) 1999-02-03 1999-02-03 パケット受信装置およびパケット受信方法、並びに記録媒体

Country Status (1)

Country Link
JP (1) JP3449276B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007004611A1 (ja) * 2005-07-06 2007-01-11 Sharp Kabushiki Kaisha 出力回路、制御プログラム製品および制御方法
JP2007174188A (ja) * 2005-12-21 2007-07-05 Hitachi Ltd 通話録音装置
JP4706593B2 (ja) * 2006-08-15 2011-06-22 沖電気工業株式会社 パケット信号受信装置
JP6341869B2 (ja) * 2015-02-24 2018-06-13 三菱電機株式会社 通信装置および通信システム

Also Published As

Publication number Publication date
JP2000224225A (ja) 2000-08-11

Similar Documents

Publication Publication Date Title
KR100964437B1 (ko) V o I P 용 적응성 디-지터 버퍼
US7263109B2 (en) Clock skew compensation for a jitter buffer
US6901069B2 (en) Sub-packet insertion for packet loss compensation in voice over IP networks
US7450601B2 (en) Method and communication apparatus for controlling a jitter buffer
US7924704B2 (en) Memory optimization packet loss concealment in a voice over packet network
US20070263672A1 (en) Adaptive jitter management control in decoder
JP2002077233A (ja) リアルタイム情報受信装置
TW200849842A (en) Method of regulating the transmission jitter within a reception terminal
EP1449378B1 (en) System and method for compensating packet delay variations
JPH09191296A (ja) ディジタル復号化器と符号化器のクロックの同期方法及び装置
JP3449276B2 (ja) パケット受信装置およびパケット受信方法、並びに記録媒体
CA2308648C (en) Method to control data reception buffers for packetized voice channels
US7313149B2 (en) Method of processing data packets received on asynchronous networks, and device for implementing the method
JP3522137B2 (ja) 可変レート符号化・復号装置
US20050169245A1 (en) Arrangement and a method for handling an audio signal
JP4174017B2 (ja) ジッタバッファ制御方法及びip電話機
JP3669660B2 (ja) 通話システム
IL147263A (en) Method for decoding and retrieving a sound signal in an asynchronous transmission system
CA2468768A1 (en) System and method for compensating packet delay variations
JPH09200213A (ja) 音声情報伝送システム

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070711

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20080711

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090711

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100711

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110711

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees