(57)【要約】【課題】事前にそれぞれのネットワークで発生するジッターを測定しなくても、自動的にネットワーク内で発生するジッターの大きさを測定し、遅延が小さくなるようにダイナミックにバッファを制御するジッターバッファ制御方法と装置の提供。            【解決手段】送信ノード２からパケットネットワーク６を介して送信されたパケットを書き込み読み出すジッターバッファ部８と、該パケットの受信側での受信時のタイムスタンプ情報と、送信ノードで送信時に前記パケットに付されたタイムスタンプ情報と差分情報と、該パケットの前に受信されたパケットの差分情報との差をパケット間ジッターとして求め、送信間隔に対してパケット間ジッターを加えた値で除した値で基準周波数を乗じた周波数を送信周波数とするクロック補正部９と、クロック補正部からの周波数情報を受け、該周波数のクロックを生成するＰＬＬ部１０と、を備え、スケジューラ部１１は、ＰＬＬ部からの周波数を送信周波数として用いてジッターバッファ部からパケットを送信する。【選択図】図１
2010035003.tif 000002
【特許請求の範囲】
【請求項１】
送信側からパケットネットワークに送信されたパケットを受信する通信装置が、
受信したパケットを書き込んだ後に読み出すジッターバッファと、
受信した複数のパケットに関して、前記パケットの受信時のタイムスタンプ情報と、前記送信側で前記パケットの送信時に前記パケットに付したタイムスタンプ情報との差分情報に基づき、パケット間ジッターを求め、
前記パケット間ジッターにしたがって基準の周波数を変更し、変更された送信周波数に基づき、前記ジッターバッファからのパケットの送信を行うように制御する制御手段を備えた、ことを特徴とする通信装置。
【請求項２】
前記制御手段は、時間的に前後して受信した２つのパケットに関する前記差分情報の差に基づき、前記パケット間ジッターを求める、ことを特徴とする請求項１記載の通信装置。
【請求項３】
前記制御手段は、前記ジッターバッファから読み出したパケットの送信間隔に前記パケット間ジッターを加えた値で、前記パケットの送信間隔を除した値を、前記基準の周波数に乗じた周波数を前記送信周波数とする、ことを特徴とする請求項１又は２記載の通信装置。
【請求項４】
前記制御手段が、
クロック補正部と、
周波数を可変させるクロック生成回路と、
を備え、
前記クロック補正部は、受信した１つのパケットに関して、前記パケットの受信時のタイムスタンプ情報と、前記送信側で送信時に前記パケットに付したタイムスタンプ情報との差分情報と、前記１つのパケットの前に受信したパケットに関して、前記パケットの受信時のタイムスタンプ情報と、前記送信側で送信時に前記パケットに付したタイムスタンプ情報との差分情報との差に基づき、前記パケット間ジッターを求め、
前記ジッターバッファから読み出したパケットの送信間隔に、前記パケット間ジッターを加えた値で、前記パケットの送信間隔を除した値を、前記基準の周波数に乗じた周波数を前記送信周波数とし、
前記クロック発生回路は、前記クロック補正部から送信周波数情報を受け、該周波数のクロックを生成し、
前記クロック発生回路からの周波数を用いて、前記ジッターバッファから前記パケットが送信される、ことを特徴とする請求項１乃至３のいずれか１項に記載の通信装置。
【請求項５】
予め定められた所定時間、前記ジッターバッファに蓄積されたパケット数を監視し、前記ジッターバッファへの書き込み位置を示すライトポインタと前記ジッターバッファからの読み出し位置を示すリードポインタ間の最小蓄積パケット数が１以上の場合、
前記ライトポインタの位置が最短遅延の位置にないと判断し、遅延時間が最小となるように、ライトポインタをパケットの蓄積を減らす方向に補正を行い、
最小蓄積パケット数が１未満の場合には、ライトポインタの位置が適正と判断しライトポインタの補正を行わず、
前記ライトポインタの補正処理が必要と判断された場合、予め定められた所定時間での最小蓄積パケット数と最大蓄積パケット数を測定し、ジッター幅の計測を行い、前記ジッターバッファでの遅延が最小になるように、前記ライトポインタに対して補正を行う、ことを特徴とする請求項１乃至４のいずれか１項に記載の通信装置。
【請求項６】
前記ライトポインタの補正後、前記パケットネットワークによるジッターが大きくなった場合、大きくなったジッターを吸収できるように、ライトポインタをジッターを吸収できる方向に補正し、その際、所定時間単位で、アンダーランがなくなるまで、繰り返しライトポインタの補正を行い、遅延を小さく保つ制御を行う、ことを特徴とする請求項５記載の通信装置。
【請求項７】
前記ジッターバッファからのパケットの送信をスケジュールするスケジューラと、
前記パケットネットワークより受信したパケットを前記ジッターバッファに与えるとともに、前記パケットのタイムスタンプ情報、シーケンス番号をスケジューラ部に与えるパケット分岐部を備え、
前記ジッターバッファでは、前記パケット分岐部からのパケットを入力順に蓄積し、リードポインタとライトポインタで規定される期間保持し、
前記スケジューラでは、タイムスタンプ情報とシーケンス番号を、順次記録し、次に送信するパケットの前記ジッターバッファ内での格納位置を、前記ジッターバッファに通知する請求項１乃至６のいずれか１項に記載の通信装置。
【請求項８】
前記スケジューラは、次のパケットのシーケンス番号が前のパケットのアドレスをＮとして、Ｍのアドレスに格納されている場合、ジッターバッファの次のパケット位置に相当する値Ｍ−Ｎを求めジッターバッファに送信し、
前記ジッターバッファでは、スケジューラより送信されたジッターバッファの次のパケット位置に相当する値Ｍ−Ｎを受信し、該当するパケットを前記周波数を利用して送信する請求項７記載の通信装置。
【請求項９】
前記パケットをＴＤＭ（Ｔｉｍｅ  Ｄｉｖｉｓｏｎ  Ｍｕｌｔｉｐｌｅｘ）インタフェースを介してＰＢＸ（Ｐｒｉｖａｔｅ  Ｂｒａｎｃｈ  ｅＸｃｈａｎｇｅ）に送信する請求項１乃至８のいずれか１項に記載の通信装置。
【請求項１０】
請求項１乃至９のいずれか１項に記載の通信装置と、
パケットのヘッダにタイムスタンプを付加して前記パケットネットワークに送信する通信装置と、を備えたシステム。
【請求項１１】
受信したパケットのジッターの変動を検出し、前記ジッターの増大に対して、ジッターバッファでの遅延が小さくなるように、ジッターバッファを制御する、ことを特徴とするジッターバッファ制御方法。
【請求項１２】
送信側からパケットネットワークに送信されたパケットを受信しジッターバッファに一時的に書き込み、
受信した複数のパケットに関して、前記パケットの受信時のタイムスタンプ情報と、前記送信側で前記パケットの送信時に前記パケットに付したタイムスタンプ情報との差分情報に基づき、パケット間ジッターを求め、
前記パケット間ジッターにしたがって基準の周波数を変更し、変更された送信周波数に基づき、前記ジッターバッファからのパケットの送信を行うように制御する、ことを特徴とする請求項１１記載のジッターバッファ制御方法。
【請求項１３】
時間的に前後して受信した２つのパケットに関する前記差分情報の差に基づき、前記パケット間ジッターを求める、ことを特徴とする請求項１２記載のジッターバッファ制御方法。
【請求項１４】
前記ジッターバッファから読み出したパケットの送信間隔に前記パケット間ジッターを加えた値で、前記パケットの送信間隔を除した値を、前記基準の周波数に乗じた周波数を前記送信周波数とする、ことを特徴とする請求項１２又は１３記載のジッターバッファ制御方法。
【請求項１５】
前記パケットのタイムスタンプ情報、シーケンス番号をジッターバッファからのパケットの送信をスケジュールするスケジューラに与え、
前記ジッターバッファでは、パケットを入力順に蓄積し、リードポインタとライトポインタで定義される期間保持し、
前記スケジューラでは、受信したタイムスタンプとシーケンス番号を、順次記録し、次に送信するパケットの前記ジッターバッファ内での格納位置を、前記ジッターバッファに通知する請求項１１乃至１４のいずれか１項に記載のジッターバッファ制御方法。
【請求項１６】
予め定められた所定時間、前記ジッターバッファに蓄積されたパケット数を監視し、前記ジッターバッファへの書き込み位置を示すライトポインタと前記ジッターバッファからの読み出し位置を示すリードポインタ間の最小蓄積パケット数が１以上の場合、
前記ライトポインタの位置が最短遅延の位置にないと判断し、遅延時間が最小となるように、ライトポインタをパケットの蓄積を減らす方向に補正を行い、
最小蓄積パケット数が１未満の場合には、ライトポインタの位置が適正と判断しライトポインタの補正を行わず、
前記ライトポインタの補正処理が必要と判断された場合、予め定められた所定時間での最小蓄積パケット数と最大蓄積パケット数を測定し、ジッター幅の計測を行い、前記ジッターバッファでの遅延が最小になるように、前記ライトポインタに対して補正を行う、ことを特徴とする請求項１５記載のジッターバッファ制御方法。
【請求項１７】
前記ライトポインタの補正後、前記パケットネットワークによるジッターが大きくなった場合、大きくなったジッターを吸収できるように、前記ジッターバッファのライトポインタをジッターを吸収できる方向に補正し、その際、所定の時間単位でアンダーランがなくなるまで繰り返しライトポインタの補正を行い、遅延を小さく保つ制御を行う、ことを特徴とする請求項１５又は１６記載のジッターバッファ制御方法。
【請求項１８】
前記スケジューラでは、次のパケットのシーケンス番号が前のパケットのアドレスをＮとして、Ｍのアドレスに格納されている場合、ジッターバッファの次のパケット位置に相当する値Ｍ−Ｎを求めジッターバッファに送信し、
前記ジッターバッファでは、スケジューラより送信されたジッターバッファの次のパケット位置に相当する値Ｍ−Ｎを受信し、該当するパケットを前記周波数を利用して送信する請求項１５乃至１７のいずれか１項に記載のジッターバッファ制御方法。
【請求項１９】
送信側からパケットネットワークに送信されたパケットを受信する通信装置を構成するコンピュータに、
受信した複数のパケットに関して、前記パケットの受信時のタイムスタンプ情報と、前記送信側で前記パケットの送信時に前記パケットに付したタイムスタンプ情報との差分情報に基づき、パケット間ジッターを求め、
前記パケット間ジッターにしたがって基準の周波数を変更し、変更された送信周波数に基づき、前記ジッターバッファからのパケットの送信を行うように制御する処理を実行させるプログラム。
【請求項２０】
時間的に前後して受信した２つのパケットに関する前記差分情報の差に基づき、前記パケット間ジッターを求める、処理を実行させる請求項１９記載のプログラム。
【請求項２１】
前記ジッターバッファから読み出したパケットの送信間隔に前記パケット間ジッターを加えた値で、前記パケットの送信間隔を除した値を、前記基準の周波数に乗じた周波数を前記送信周波数とする、処理を実行させる請求項１９又は２０記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、システム、方法に関し、特に、ジッターバッファの制御に関する。
【背景技術】
【０００２】
現在、モバイルキャリアはＣａｐｅｘ（Ｃａｐｉｔａｌ  Ｅｘｐｅｎｄｉｔｕｒｅ）／Ｏｐｅｘ（Ｏｐｅｒａｔｉｏｎ  Ｅｘｐｅｎｄｉｔｕｒｅ）を最小限に抑えるために、従来のＴＤＭ（Ｔｉｍｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅｘ）ベースのネットワーク（２Ｇ）から、バックホールの効率化・集約化を推し進めたパケットベースのネットワーク（３Ｇ）の次世代バックホール（Ｂａｃｋ  Ｈａｕｌ）への移行の検討を開始している。バックホール費用の削減の鍵となるのは、これら別々のトラフィックを単一のネットワークでまとめて伝送することである。パケットネットワーク上でＴＤＭ回線を仮想的にエミュレートするＰＷＥ３（ＰＷＥ３：Ｐｓｅｕｄｏ  Ｗｉｒｅ  Ｅｍｕｌａｔｉｏｎ  Ｅｄｇｅ  ｔｏ  Ｅｄｇｅ）は、この目的を達成でき、モバイルキャリアのバックホールの効率化を実現する技術として注目を集めている。
【０００３】
ＰＷＥ３により、既存ＴＤＭネットワークとＩＰネットワークの統合が可能となり、ネットワークの経済化・柔軟化をもたらすことが期待できる。
【０００４】
なお、特許文献１には、受信パケット信号から受信パケット番号及び受信シーケンス番号、主信号データを抽出する抽出回路と、主信号データを書き込み読み出すジッターバッファと、受信シーケンス番号と基準時刻とによって受信パケットの受信時刻の変動を測定しその測定値の平均値を演算して得られる演算平均値に基づくタイミングにて当該ジッターバッファを制御するジッターバッファ制御部を備えた構成が開示されている。
【０００５】
【特許文献１】特開２００８−４８１４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ＰＷＥ３では、ＩＰネットワーク上に構築されるＴＤＭ通信サービスの品質をいかに保持するかが技術的課題となる。その１つとして、ＩＰネットワーク上で発生するジッターを吸収するジッターバッファが挙げられる。ジッターバッファを大きくすれば、大きなジッターを吸収できるが、その分、遅延が大きくなる。モバイルバックホールにおいてハンドオーバを実現するためには遅延を極力小さく抑える必要がある。また、音声品質的にも遅延は極力小さいほうが望ましい。
【０００７】
従来、それぞれのネットワークで発生するジッターを事前に測定し、そのジッターを吸収できるサイズのジッターバッファをスタティックに設定していた。
【０００８】
本発明の目的は、事前にそれぞれのネットワークで発生するジッターを測定しなくても、自動的にネットワーク内で発生するジッターの大きさを測定し、遅延が小さくなるようにダイナミックにバッファを制御するジッターバッファ制御方法と装置を提供することにある。
【０００９】
また、運用中にネットワークの変更等でジッターのパターンが変わった場合でも、自動的に遅延が小さくなるようにダイナミックにバッファを制御可能である。
【課題を解決するための手段】
【００１０】
本願で開示される発明は、上記課題を解決するため、概略以下の構成とされる。
【００１１】
本発明においては、受信したパケットのジッターの変動を検出し、前記ジッターの増大に対して、ジッターバッファでの遅延が小さくなるように、ジッターバッファを制御する。
【００１２】
本発明によれば、送信側からパケットネットワークに送信されたパケットを受信する通信装置は、受信したパケットを書き込んだ後に読み出すジッターバッファと、受信した複数のパケットに関して、前記パケットの受信時のタイムスタンプ情報と、前記送信側で前記パケットの送信時に前記パケットに付したタイムスタンプ情報との差分情報に基づき、パケット間ジッターを求め、前記パケット間ジッターにしたがって基準の周波数を変更し、変更された送信周波数に基づき、前記ジッターバッファからのパケットの送信を行うように制御する装置（方法、プログラム）が提供される。
【００１３】
本発明において、時間的に前後して受信した２つのパケットに関する前記差分情報の差に基づき、前記パケット間ジッターを求める。本発明において、前記ジッターバッファから読み出したパケットの送信間隔に前記パケット間ジッターを加えた値で、前記パケットの送信間隔を除した値を、前記基準の周波数に乗じた周波数を前記送信周波数とするようにしてもよい。
【００１４】
本発明の装置においては、クロック補正部と、周波数を可変させるクロック生成回路と、を備えている。クロック補正部は、前記パケットの受信側での受信時のタイムスタンプ情報と、前記送信部で送信時に前記パケットに付されたタイムスタンプ情報と差分情報と、前記パケットの前に受信されたパケットの差分情報との差をパケット間ジッターとして求め、前記送信間隔に対してパケット間ジッターを加えた値で除した値で基準周波数を乗じた周波数を送信周波数とする。前記クロック発生回路は、前記クロック補正部からの周波数情報を受け、該周波数のクロックを生成する。
【００１５】
本発明において、さらに、ジッターバッファからのパケットの送信をスケジュールするスケジューラと、受信したパケットを前記ジッターバッファに与えるとともに、前記パケットのタイムスタンプ情報、シーケンス番号をスケジューラ部に与えるパケット分岐部を備えている。前記ジッターバッファでは、パケットを入力順に蓄積し、リードポインタとライトポインタで定義される期間保持し、前記スケジューラでは、受信したタイムスタンプとシーケンス番号を、順次記録し、次に送信するパケットの前記ジッターバッファ内での格納位置を、前記ジッターバッファに通知する。
【００１６】
本発明において、前記スケジューラは、次のパケットのシーケンス番号が前のパケットのアドレスをＮとして、Ｍのアドレスに格納されている場合、ジッターバッファの次のパケット位置に相当する値Ｍ−Ｎを求めジッターバッファに送信する。前記ジッターバッファでは、スケジューラより送信されたジッターバッファの次のパケット位置に相当する値Ｍ−Ｎを受信し、該当するパケットを前記周波数を利用して送信する。
【発明の効果】
【００１７】
本発明によれば、ネットワーク上で発生するジッターを吸収するジッターバッファにおいて、変動するジッターに対して、遅延が小さくなるようにダイナミックにバッファを制御できるようにしている。
【発明を実施するための最良の形態】
【００１８】
本発明においては、送信側でパケットに付与されたタイムスタンプを利用し受信側で、パケットネットワーク、送受信側のクロックのずれを判定し、ジッターの補正を行う。ジッターバッファの読み出し速度を可変に制御する。受信側で受信したパケットはパケット分岐部でジッターバッファに送られ、タイムスタンプはクロック補正部とスケジューラに送られる。スケジューラにはタイムスタンプとシーケンス番号も供給される。ジッターバッファでは、パケットを入力順に蓄積し、リードポインタとライトポインタで定義される期間保持され、スケジューラで指示されるパケットが出力される。
【００１９】
本発明の１つの態様において、パケットネットワークによる遅延（ａ）と、送受信側のクロックのずれ（ｂ）に対して、基本遅延時間Ａ＝ａ＋ｂとし、パケット間のジッターを（ｃ）で定義する。
【００２０】
本発明の１つの態様において、特に制限されないが、システム起動時等において、基本遅延期間の初期値Ａ０を定義するようにしてもよい。あるいは、試験用パケットを一定期間送信し、クロック補正部にて、受信パケットのヘッダのタイムスタンプ（Ｔｓ０）と受信側のタイムスタンプ（Ｔｒ０）を用い、Ｔｒ０−Ｔｓ０＝ａ＋ｂなる演算を行い、これを基本遅延時間の初期値Ａ０としてもよい。
【００２１】
本発明の１つの態様において、通信装置において、クロック補正部では、受信パケットのヘッダのタイムスタンプ（Ｔｓ（ｋ））と受信側のタイムスタンプ（Ｔｒ（ｋ））を用い、Ｔｒ（ｋ）−Ｔｓ（ｋ）＝Ａ（ｋ）なる演算を所定期間複数回行い（ｋ＝０、１、２、・・）、ｃ（ｋ）＝Ａ（ｋ）−Ａ（ｋ−１）を、クロック生成部（ＰＬＬ部）とスケジューラ部に渡す。ＰＬＬ部では、各パケットに対する送信周波数Ｆ（ｔ）の場合、Ｆ（ｔ＋ｃ）の周波数を発生し、ジッターバッファの送信部に供給する。スケジューラ部では、パケット分岐部から受信したタイムスタンプとシーケンス番号を順次テーブルに格納し、次に送信するパケットのジッターバッファ内の格納位置をジッターバッファに通知する。
【００２２】
本発明の１つの態様においては、予め定められた所定時間、前記ジッターバッファに蓄積されたパケット数を監視し、前記ジッターバッファへの書き込み位置を示すライトポインタと前記ジッターバッファからの読み出し位置を示すリードポインタ間の最小蓄積パケット数が１以上の場合、前記ライトポインタの位置が最短遅延の位置にないと判断し、遅延時間が最小となるように、ライトポインタをパケットの蓄積を減らす方向に補正を行い、最小蓄積パケット数が１未満の場合には、ライトポインタの位置が適正と判断しライトポインタの補正を行わない。前記ライトポインタの補正処理が必要と判断された場合、予め定められた所定時間での最小蓄積パケット数と最大蓄積パケット数を測定し、ジッター幅の計測を行い、前記ジッターバッファでの遅延が最小になるように、前記ライトポインタに対して補正を行う。
【００２３】
本発明の１つの態様においては、前記ライトポインタの補正後、前記パケットネットワークによるジッターが大きくなった場合、大きくなったジッターを吸収できるように、ライトポインタをジッターを吸収できる方向に補正し、その際、所定時間単位で、アンダーランがなくなるまで、繰り返しライトポインタの補正を行い、遅延を小さく保つ制御を行う。
【００２４】
パケットによっては、順番が異なるものもあるため、次のシーケンス番号を確認し、次のシーケンス番号のパケットが、前のパケットのアドレスをＮとしてアドレスＭに格納されている場合、ジッターバッファの次のパケット位置に相当するＭ−Ｎを求め、ジッターバッファの送信部に与える。ジッターバッファでは、スケジューラ部より送信された、ジッターバッファの次のパケット位置に相当するＭ−Ｎを受けとり、該当するパケットをクロック生成部（ＰＬＬ部）からの周波数を用いてパケット送信する。
【００２５】
本発明によれば、パケットの送信周波数を動的に可変させ、パケットのジッター遅延（パケットネットワークによるジッタ遅延）を自動補正する。以下実施例に即して説明する。
【実施例】
【００２６】
図１は、本発明の一実施例の構成を示す図である。図１には、パケットネットワーク上でＴＤＭ（Ｔｉｍｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅｘ）回線を仮想的にエミュレートするＰＷＥ３（ＰＷＥ３：Ｐｓｅｕｄｏ  Ｗｉｒｅ  Ｅｍｕｌａｔｉｏｎ  Ｅｄｇｅ  ｔｏ  Ｅｄｇｅ）が示されている。図１に示すように、ＰＷＥ３は、ＰＢＸ(Ｐｒｉｖａｔｅ  Ｂｒａｎｃｈ  ｅＸｃｈａｎｇｅ）−ａ１と、送信ノード２と、パケットネットワーク６と、受信ノード１３（請求範囲の通信装置に対応する）と、ＰＢＸ−ｂ１２を備えている。
【００２７】
送信ノード２は、パケッタイズ処理部３と、タイムスタンプ付加部４と、Ｌ２ヘッダ付加部５とを備えている。
【００２８】
受信ノード１３は、Ｌ２ヘッダ終端部７と、パケット分岐部１４と、ジッターバッファ部８と、クロック補正部９と、ＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ：位相同期ループ）部１０と、スケジューラ部１１と、を備える。
【００２９】
パケッタイズ処理部３は、ＰＢＸ−ａ１から送信されたＴＤＭデータを一定のデータサイズ毎にパケット化する。
【００３０】
タイムスタンプ付加部４は、送信ノード２と受信ノード１３を同期させるために、ＲＴＰ（Ｒｅａｌ  Ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）ヘッダにタイムスタンプ（ｔｉｍｅ  ｓｔａｍｐ）を付加する。
【００３１】
送信ノード２で付与されたタイムスタンプを利用し受信ノード１３で、パケットネットワーク6ならびに送受信側のクロックのずれを判定しクロック補正を行う。
【００３２】
Ｌ２ヘッダ付加部５は、パケットネットワーク６を導通するために、イーサ・フレーム・フォーマット（Ｅｔｈｅｒ  ｆｒａｍｅ  ｆｏｒｍａｔ）に従ったＬ２ヘッダ（Ｌ２    ｈｅａｄｅｒ）を付加する。
【００３３】
Ｌ２ヘッダ終端部７は、パケットネットワーク６から送信されるＥｔｈｅｒ  ｆｒａｍｅを終端し、Ｌ２ヘッダを削除する。
【００３４】
受信したパケットは、パケット分岐部１４でジッターバッファ部８に送信され、同時に読み取られたタイムスタンプは、クロック補正部９と、スケジューラ部１１に送信される。スケジューラ部１１には、シーケンス番号も、タイムスタンプと同時に送信される。
【００３５】
ジッターバッファ部８では、パケットを入力順に蓄積し、リードポインタとライトポインタで定義される期間（バッファ蓄積期間）保持され、スケジューラ部１１から指示されるパケットを検索して出力する。ここでは、パケットネットワーク６内のルーター若しくはスイッチで、規定データ長よりも長いパケット（ｌｏｎｇ  ｐａｃｋｅｔ）による待ち合わせ等で発生するジッターを吸収する。
【００３６】
クロック補正部９は、タイムスタンプ（ｔｉｍｅ  ｓｔａｍｐ）情報から抽出された値から、パケットネットワーク６で発生した遅延、及び、送受信間でのクロックのずれを判定し、ＰＬＬ部１０に対して補正をかける。具体的には、本実施例では、基本遅延時間Ａに基づく制御を行う。
【００３７】
基本遅延時間Ａは、
パケットネットワーク６による遅延をａで表し、
送信受信ノード２、１３間のクロックのずれをｂで表した場合に、
Ａ＝ａ＋ｂ
で定義し、パケット間のジッターをｃで定義する。
【００３８】
システム起動時においては、初期値の基本遅延期間Ａ０をあらかじめ定義する。あるいは、試験用のパケットを一定期間送信し、クロック補正部９で、パケットネットワーク６による遅延をａ、送受信間のクロックのずれをｂとし、受信したパケットのＲＴＰヘッダのタイムスタンプ（＝Ｔｓ）と受信側のタイムスタンプ（＝Ｔｒ）を利用し、
ａ０＋ｂ＝Ｔｒ０−Ｔｓ０
なる演算を行う。
【００３９】
Ｔｒ０−Ｔｓ０をＡ０として、初期値の遅延期間とする。
【００４０】
次のパケットの遅延時間をＡ１とした場合、
Ａ１＝ａ１＋２ｂ＝Ｔｒ１−Ｔｓ１
として、遅延時間Ａ１が求められる。
【００４１】
このときのパケット間のジッター（＝ｃ１）は、
Ａ１−Ａ０
なる演算をすることで、
ｃ１＝Ａ１−Ａ０
＝（Ｔｒ１−Ｔｓ１）−（Ｔｒ０−Ｔｓ０）
が求められる。
【００４２】
同様の手順で次のパケット間ジッターは、
ｃ２＝Ａ２−Ａ１
＝（Ｔｒ２−Ｔｓ２）−（Ｔｒ１−Ｔｓ１）
と求められる。
【００４３】
パケット１：Ａ０＝ａ０＋ｂ＝Ｔｒ０−Ｔｓ０
【００４４】
パケット２：Ａ１＝ａ１＋２ｂ＝Ｔｒ１−Ｔｓ１
【００４５】
パケット３：Ａ２＝ａ２＋３ｂ＝Ｔｒ２−Ｔｓ２
【００４６】
ｃ１＝Ａ１−Ａ０＝（Ｔｒ１−Ｔｓ１）−（Ｔｒ０−Ｔｓ０）
【００４７】
ｃ２＝Ａ２−Ａ１＝（Ｔｒ２−Ｔｓ２）−（Ｔｒ１−Ｔｓ１）
【００４８】
ＰＬＬ部１０は、送信ノード２と同期がとれるように、クロック補正部９からの制御にしたがってクロックを出力する。
【００４９】
各パケットに対応する送信周波数を基準値Ｆ（ｔ）［Ｈｚ］とした場合、Ｆ（ｔ＋ｃ）［Ｈｚ］なる周波数を発生し、ジッターバッファ部８に送信する。
【００５０】
スケジューラ部１１では、受信したタイムスタンプとシーケンス番号を、順次、テーブル（不図示）に記録し、次に送信するパケットのジッターバッファ部８内での格納位置を、ジッターバッファ部８に通知する。
【００５１】
パケットによっては順番が異なっているものもあるため、次のシーケンス番号を確認し、例えば、次のパケットのシーケンス番号が前のパケットのアドレスをＮとして、Ｍのアドレスに格納されている場合、ジッターバッファ部８の次のパケット位置に相当する値、Ｍ−Ｎなる演算をして、ジッターバッファ部８の送信部（不図示）に送信する。
【００５２】
ジッターバッファ部８では、スケジューラ部１１より送信されたジッターバッファ部８の次のパケット位置に相当する値Ｍ−Ｎを受信し、該当するパケットを、ＰＬＬ部１０から受信した周波数を利用して送信する。
【００５３】
図２は、本実施例におけるジッターバッファ部８の動作を説明する図である。図２（Ａ）は、リードポインタの位置から２０ｍｓの位置にライトポインタがあった場合のジッターバッファ、図２（Ｂ）はパケットのジッター分布（パケットのディレイの分布（単位ｍｓ））の例を示す図である。図２（Ｃ）は、リードポインタの位置から８ｍｓの位置にライトポインタがあった場合のジッターバッファ、図２（Ｄ）はパケットのジッター分布の例を示す図である。
【００５４】
ジッターバッファが±２０ｍｓの４０ｍｓで、１パケットが８フレーム多重の場合、１フレーム１２５ｕｓであるので、１パケット１ｍｓとなる。
【００５５】
ライトポインタの位置を大きくすれば、ジッターバッファで、大きなジッターを吸収できるが、その分、遅延が大きくなる。例えば、図２（Ａ）に示すように、リードポインタの位置から２０ｍｓの位置にライトポインタがあった場合、２０ｍｓのジッターを救済できるが、そこに蓄積されたパケットは、２０ｍｓ後に出力されるため、ジッターバッファで２０ｍｓの遅延が発生する。
【００５６】
同じジッターでもライトポインタの位置がリードポインタに近い位置にあれば、遅延を抑えることができる。
【００５７】
例えば、図２（Ｃ）に示すように、リードポインタの位置から８ｍｓの位置にライトポインタがあった場合、そこに蓄積されたパケットは、８ｍｓ後に出力されるため、ジッターバッファでの遅延を８ｍｓに抑えられる。但し、最大で８ｍｓのジッターまでしか吸収できない。
【００５８】
図３に、ダイナミックにジッターバッファのライトポインタを制御する時の一連のフローチャートを示す。図４（Ａ）、（Ｂ）に、ライトポイントの位置が適正の場合のジッターバッファとパケットの分布、図４（Ｃ）、（Ｄ）に、ライトポイントの位置が不適正の場合のジッターバッファとパケットの分布を示す。また図５（Ａ）、（Ｂ）に、初期化時のジッターバッファとパケットの分布、図５（Ｃ）にライトポインタ補正時のジッターバッファ、図５（Ｄ）、（Ｅ）に、ライトポインタ補正前後のジッター分布を示す。さらに、図６（Ａ）に、アンダーラン発生時のジッターバッファ、図６（Ｂ）、（Ｃ）、（Ｄ）、（Ｅ）に、ライトポインタ補正時のジッター分布を示す。図６（Ｆ）に、ジッターが小さくなった場合のジッターバッファ、図６（Ｇ）、図６（Ｈ）のライトポインタ補正前後のジッター分布の関係を示す。
【００５９】
ＰＷＥ３上に、コネクションを設定する際、ジッターバッファの初期化を行う（ステップＳ１０１）。初期化時のライトポインタはジッターバッファ部８のセンターに配置される。図５（Ａ）の場合、ライトポインタの前後に２０ｍｓのバッファがあり、リードポインタは先頭に位置する。
【００６０】
その後、ある一定時間、キュー（ジッターバッファ）に蓄積されたパケット数を監視し（ステップＳ１０２）、最小蓄積パケット数が１以上の場合は、ライトポインタの位置が不適正（最短遅延の位置にない）と判断し、遅延時間が最小になるようにライトポインタを、ｒｅｄｕｃｅ方向（パケットの蓄積を減らす方向）に補正を行う（ステップＳ１０３、図５（Ｃ）、（Ｄ）、（Ｅ））。図４（Ａ）に示すように、最小蓄積パケット数が１未満の場合には、ライトポインタの位置が適正と判断し、補正を行わない。
【００６１】
ジッターバッファでの遅延が最も小さくなる条件は、最も遅延が大きいパケットのライトポインタがリードポインタに最も近い位置であることである。したがって、最小蓄積パケット数が１以上のとき、最も遅延が大きいパケットのライトポインタがリードポインタに近くないと判断し、補正をかける。
【００６２】
ライトポインタの補正処理が必要と判断された場合、ある一定時間での最小蓄積パケット数と最大蓄積パケット数を測定し、ジッター幅の計測を行う。
【００６３】
具体的に説明すると、ジッターバッファが±２０ｍｓの４０ｍｓの長さで、１パケットが８フレーム多重の場合、１フレーム１２５ｕｓであることから、１パケット１ｍｓとなる。
【００６４】
最小蓄積パケット数が１２で、最大蓄積パケット数が２９と測定された場合、ジッター幅としては、
２９−１２＝１７
に最後尾のパケット自身の長さ（１ｍｓ）を引いて１６ｍｓと判定される（図５（Ｄ）参照）。
【００６５】
ジッターバッファでのポインタの分布が、最小の遅延になるように、ライトポインタに対して１２ｍｓの補正が実行される。ここで、図５（Ｃ）に示されているライトポインタは、ジッター分布で最もパケット数が多い遅延値での例を示している。
【００６６】
ライトポインタ補正前の遅延が２０ｍｓであったのに対し、ライトポインタ補正後の遅延は８ｍｓとなる（補正後ライトポインタは、リードポインタの位置から８ｍｓ後に位置する）。
【００６７】
ライトポインタの補正後、ネットワークの変動により、ジッターが大きくなった場合、アンダーランが発生する（図３のステップＳ１０４）。大きくなったジッターを吸収できるように、ライトポインタをｅｘｔｅｎｄ（拡大）方向（はみ出したジッターを吸収できる方向）に補正を行う（ステップＳ１０５、図６（Ａ）参照）。
【００６８】
この時のライトポインタの補正値に関して、補正値が大きすぎると、ジッターバッファでの遅延が大きくなってしまうので、小さいステップ（例えば１ｍｓ単位）でライトポインタの補正を行い、アンダーランがなくなるまで繰り返し補正を行うことで、遅延を小さくすることが可能となる（図６（Ｂ）〜（Ｅ））。
【００６９】
さらに、ネットワークの変動により、ジッターが小さくなった場合（図６（Ｆ）参照）、所定時間、ジッターバッファのキューレングスを監視し、最小蓄積パケット数が１以上の場合には（図４（Ｃ）、（Ｄ））、ライトポインタの位置が不適正（最短遅延の位置にない）と判断し、ｒｅｄｕｃｅ（減少）方向（ジッターバッファでのポインタの分布が最小の遅延になる方向）に補正が実行される（図６（Ｆ）、（Ｇ）、（Ｈ））。
【００７０】
このように、ジッターバッファを監視し、ライトポインタのｒｅｄｕｃｅとｅｘｔｅｎｄ処理を実行することで、常に遅延が最小になるように保つことができる。
【００７１】
次に図８を用いて、本実施例における各パケットに対応する送信周波数の決定方法について説明する。
【００７２】
例として、パケットの送信間隔が１．０ｍｓで、ジッターバッファでのライトポインタをリードポインタから１ｍｓのところにおき、パケットネットワークでジッターが１．０ｍｓと２．０ｍｓ発生した場合をあげる。
【００７３】
図７に比較例として示すように、読み出し速度が一定の場合、パケットネットワークで発生するジッターを吸収するには、ジッターを吸収できるだけの容量を持つバッファを準備する必要があった。
【００７４】
これに対して、図８に示すように、本実施例によれば、読み出し速度を動的に変動させることで、バッファ容量を小さく保つことが可能となる。
【００７５】
図７の読み出しスピードが一定の場合、
（１）ｔ＝０ｍｓでｐ＃１が到着する（ジッターバッファにおいてｐ＃０の後にライトされる）（図７（Ｂ））。
【００７６】
（２）ｔ＝１ｍｓでｐ＃０は、ジッターバッファからすべてが出力される（ｐ＃１がジッターバッファの先頭）（図７（Ｃ））。
【００７７】
（３）ｔ＝２ｍｓでｐ＃２（ジッター＝１ｍｓ）が到着しジッターバッファの先頭にライトされる（図７（Ｄ））。
【００７８】
（４）ｔ＝３ｍｓでｐ＃３が到着せず（ジッター＝２ｍｓ）、読みだすデータがないのでアンダーランが発生する（図７（Ｅ））。ｔ＝３ｍｓでは、ｐ＃２はジッターバッファから読み出され、ジッターバッファは空となる。
【００７９】
（５）ｔ＝４ｍｓでｐ＃３が到着し、ジッターバッファの先頭にライトされる（図７（Ｆ））。
【００８０】
一方、本実施例にしたがって、読み出しスピードを可変とした場合、図８に示すように、ｔ＝２ｍｓの時に、送信側のタイムスタンプ（Ｔｓ）と、受信側のタイムスタンプ（Ｔｒ）からパケット間のジッター（ｃ）が求められ、送信周波数Ｆは、以下の式で求められる。
【００８１】
Ｆ（ｔ＋ｃ）＝Ｆ（ｔ）ｘ｛送信間隔／（送信間隔＋パケット間ジッター）｝
【００８２】
このように、データの読みだしスピード（ジッターバッファの読み出し速度）を動的に変更させて、ジッターバッファのアンダーランを防ぐことができる。
【００８３】
（１）ｔ＝０ｍｓでｐ＃１が到着する（ジッターバッファにおいてｐ＃０の後にライトされる）（図８（Ｂ））。
【００８４】
（２）ｔ＝１ｍｓでｐ＃０はジッターバッファから出力され、ｐ＃１がジッターバッファの先頭となる（図８（Ｃ））。
【００８５】
（３）ｔ＝２ｍｓでパケットｐ＃２（ジッター＝１ｍｓ）が到着し、ジッターバッファの先頭にライトされる（図８（Ｄ））。
【００８６】
（４）ｐ＃３とｐ＃２のパケット間のジッターが求められ、ジッターバッファの読み出しスピードを可変させ、ｔ＝３ｍｓではｐ＃２はジッターバッファから一部が読みだされず、ジッターバッファに存在する（図８（Ｅ））。
【００８７】
（５）ｔ＝４ｍｓで、ｐ＃２は完全に読み出され、ｐ＃３がジッターバッファの先頭にライトされる（図８（Ｆ））。
【００８８】
従来、それぞれのネットワークで発生するジッターを事前に測定し、ジッター量に合わせた固定長のバッファサイズを複数準備し、設定していたのに対し、本実施例によれば、事前にそれぞれのネットワークで発生するジッターを測定しなくても、自動的にネットワーク内で発生するジッターの大きさを測定し、遅延が小さくなるようにダイナミックにバッファを制御することができる。
【００８９】
また、運用中にネットワークの変更等でジッターのパターンが変わった場合でも、自動的に遅延が小さくなるようにダイナミックにバッファを制御することができる柔軟性も有する。
【００９０】
前述したように、従来、読み出し速度が一定の場合、パケットネットワークで発生するジッターを吸収するには吸収したいジッター幅以上の容量のバッファを準備する必要があるが、本実施例においては、パケットネットワークでの該当パケットのジッター遅延を補正することのできるパケットの送信周波数を動的に発生させることにより、バッファ容量を小さく保つことができる。
【００９１】
図９は、本発明の他の実施例を説明する図である。ジッター分布が正規分布ではなく、非対称なパターンにおいて、そのジッター幅に近いジッターバッファを設定しても、遅延が大きい結果となってしまっていた。
【００９２】
本実施例のアルゴリズムを用いることで、非対称に関わらず、どのようなジッターパターンでも遅延を最小にすることが可能である。なお、本実施例において、図１のクロック補正部９等の処理は、受信ノードを構成するコンピュータ上で実行されるプログラムによりその機能を実現してもよいことは勿論である。
【００９３】
なお、上記特許文献１は、ネットワークや伝送路のジッタ特性を解析することで、最適なジッターバッファの動作ポイントを決定することを可能としているが、ジッターバッファ容量（JB）はマニュアルで設定する必要がある。これに対して、本実施例によれば、ダイナミックにジッターバッファを制御することができる。また運用状態に入ってしまうと、パケットロス等が発生しないかぎり、動作ポイントの変更は行われない。ジッタ補正の演算として平均値をとっており、本実施例と相違している。
【００９４】
なお、上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【図面の簡単な説明】
【００９５】
【図１】本発明の一実施例の構成を説明する図である。
【図２】本発明の一実施例のジッターバッファの詳細動作を説明する図である
【図３】本発明の一実施例の動作を説明するフローチャートである。
【図４】（Ａ）、（Ｂ）はライトポインタの位置が適正の場合のジッターバッファとジッター分布の関係、（Ｃ）、（Ｄ）は、イトポインタの位置が不適正の場合のジッターバッファとジッター分布の関係を示す図である。
【図５】（Ａ）、（Ｂ）は初期化時のジッターバッファとジッター分布の関係、（Ｃ）、（Ｄ）、（Ｅ）はライトポインタ補正時のジッターバッファとライトポインタ補正前後のジッター分布の関係を示す図である。
【図６】（Ａ）、（Ｂ）〜（Ｅ）はアンダーラン発生時のジッターバッファと、補正時のジッター分布の関係、（Ｆ）、（Ｇ）、（Ｉ）はジッターが小さくなった場合のジッターバッファ、ライトポインタ補正前後のジッター分布の関係を示す図である。
【図７】（Ａ）、（Ｂ）乃至（Ｆ）は比較例（読み出しスピード一定の場合）のパケットの読み出しを説明する図である。
【図８】（Ａ）、（Ｂ）乃至（Ｆ）本実施例（読み出しスピード可変の場合）のパケットの読み出しを説明する図である。
【図９】本発明の別の実施例を説明する図である。
【符号の説明】
【００９６】
１  ＰＢＸ−ａ
２  送信ノード
３  パケッタイズ処理部
４  タイムスタンプ付加部
５  Ｌ２ヘッダ付加部
６  パケットネットワーク
７  Ｌ２ヘッダ終端部
８  ジッターバッファ部
９  クロック補正部
１０  ＰＬＬ部
１１  スケジューラ部
１２  ＰＢＸ−ｂ
１３  受信ノード
１４  パケット分岐部
【図１】
2010035003.tif 000003
【図２】
2010035003.tif 000004
【図３】
2010035003.tif 000005
【図４】
2010035003.tif 000006
【図５】
2010035003.tif 000007
【図６】
2010035003.tif 000008
【図７】
2010035003.tif 000009
【図８】
2010035003.tif 000010
【図９】
2010035003.tif 000011