(57)【特許請求の範囲】
【請求項１】
音声データを複数のパケットに分割して伝送する通信装置であって、
前記分割に用いるパケット分割長の変更処理を開始させるものとして予め定められたイベントの発生を検知する検知部と、
前記検知部が前記イベントを検知した場合に、変更後の前記パケット分割長の取り得る範囲を、パケット分割長に影響を与えるものとして予め定められた外部情報に基づいて決定する決定部と、
通信先の通信装置との間で、前記決定部が決定した前記範囲に基づき、変更後の前記パケット分割長を折衝する折衝部と、
前記折衝部が折衝した変更後の前記パケット分割長に基づき、前記伝送を制御する制御部とを備え、
前記範囲は、前記パケット分割長の最大値及び最小値により示されるものであり、
前記決定部は、前記パケット分割長の最大値を、ネットワーク処理による遅延係数に基づいて決定するものであり、
前記遅延係数は、パケット長に応じたネットワーク処理時間を測定することにより、与えられる係数であり、
前記折衝部は、前記決定部が決定した前記範囲から求まる音声遅延の推測値を含めて折衝することを特徴とする通信装置。
【請求項２】
前記決定部は、前記パケット分割長の最大値を、ＩＰｖ６ ｍｉｎｉｍｕｍ ＭＴＵにも基づいて決定することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記決定部は、前記パケット分割長の最大値を、ＩＰｖ６ ｐａｔｈ ＭＴＵにも基づいて決定することを特徴とする請求項１に記載の通信装置。
【請求項４】
前記決定部は、前記パケット分割長の最小値をも決定することを特徴とする請求項１に記載の通信装置。
【請求項５】
前記決定部は、前記最小値を決定するにあたって、最初に、該最小値に初期値を設定する処理を行い、次いで、予め定められた加算条件が成立する場合に、該最小値に、成立する当該加算条件に応じた値を加算する処理を行うことを特徴とする請求項４に記載の通信装置。
【請求項６】
前記イベントのうちの一つは、前記通信装置において、前記伝送のための電話発信動作の起動であり、
前記検知部は、前記電話発信動作の起動を検知した場合に、前記決定部に対して、前記変更処理の開始を指示することを特徴とする請求項１に記載の通信装置。
【請求項７】
前記イベントのうちの一つは、前記通信装置において、前記伝送のための電話着信動作の起動であり、
前記検知部は、前記電話着信動作の起動を検知した場合に、前記決定部に対して、前記変更処理の開始を指示することを特徴とする請求項１に記載の通信装置。
【請求項８】
前記イベントのうちの一つは、前記通信装置において、パケット受信処理の単位時間あたりの割り込み数が、閾値を越えたことであり、
前記検知部は、前記割り込み数が前記閾値を越えたことを検知した場合に、前記決定部に対して、前記変更処理の開始を指示することを特徴とする請求項１に記載の通信装置。
【請求項９】
前記イベントのうちの一つは、前記通信装置において、他のアプリケーションの起動であり、
前記検知部は、前記他のアプリケーションの起動を検知した場合に、前記決定部に対して、前記変更処理の開始を指示することを特徴とする請求項１に記載の通信装置。
【請求項１０】
前記イベントのうちの一つは、前記通信装置において、ユーザからの特定の指示が入力されたことであり、
前記検知部は、前記特定の指示が入力されたことを検知した場合に、前記決定部に対して、前記変更処理の開始を指示することを特徴とする請求項１に記載の通信装置。
【請求項１１】
前記折衝部は、ＳＤＰプロトコルを用いて前記折衝を行うことを特徴とする請求項１に記載の通信装置。
【請求項１２】
前記決定部は、前記パケットの送信時における前記範囲と、前記パケットの受信時における前記範囲とを、独立して決定し、
前記折衝部は、前記送信時における前記パケット分割長と、前記受信時における前記パケット分割長とを、独立して折衝し、
前記制御部は、前記折衝部が折衝した前記送信時における前記パケット分割長に基づき、前記パケットの送信を制御し、前記折衝部が折衝した前記受信時における前記パケット分割長に基づき、前記パケットの受信を制御することを特徴とする請求項１に記載の通信装置。
【請求項１３】
音声データを複数のパケットに分割して伝送する通信装置の通信制御方法であって、
前記通信装置の備える検知部が、前記分割に用いるパケット分割長の変更処理を開始させるものとして予め定められたイベントの発生を検知するステップと、
前記通信装置の備える決定部が、前記検知部が前記イベントを検知した場合に、変更後の前記パケット分割長の取り得る範囲を、パケット分割長に影響を与えるものとして予め定められた外部情報に基づいて決定するステップと、
前記通信装置の備える折衝部が、通信先の通信装置との間で、前記決定部が決定した前記範囲に基づき、変更後の前記パケット分割長を折衝するステップと、
前記通信装置の備える制御部が、前記折衝部が折衝した前記パケット分割長に基づき、前記伝送を制御するステップとを有し、
前記範囲は、前記パケット分割長の最大値及び最小値により示されるものであり、
前記決定部は、前記決定するステップにおいて、前記パケット分割長の最大値を、ネットワーク処理による遅延係数に基づいて決定するものであり、
前記遅延係数は、パケット長に応じたネットワーク処理時間を測定することにより、与えられる係数であり、
前記折衝部は、前記折衝するステップにおいて、前記決定部が決定した前記範囲から求まる音声遅延の推測値を含めて折衝することを特徴とする通信制御方法。
【請求項１４】
音声データを複数のパケットに分割して伝送する通信装置としてコンピュータを機能させるためのプログラムであって、
前記分割に用いるパケット分割長の変更処理を開始させるものとして予め定められたイベントの発生を検知する検知部と、
前記検知部が前記イベントを検知した場合に、変更後の前記パケット分割長の取り得る範囲を、パケット分割長に影響を与えるものとして予め定められた外部情報に基づいて決定する決定部と、
通信先の通信装置との間で、前記決定部が決定した前記範囲に基づき、変更後の前記パケット分割長を折衝する折衝部と、
前記折衝部が折衝した前記パケット分割長に基づき、前記伝送を制御する制御部とをコンピュータに機能させるためのものであるとともに、
前記範囲は、前記パケット分割長の最大値及び最小値により示されるものであり、
前記決定部は、前記パケット分割長の最大値を、ネットワーク処理による遅延係数に基づいて決定するものであり、
前記遅延係数は、パケット長に応じたネットワーク処理時間を測定することにより、与えられる係数であり、
前記折衝部は、前記決定部が決定した前記範囲から求まる音声遅延の推測値を含めて折衝することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、通信制御方法及びプログラムに関する。
【背景技術】
【０００２】
従来の音声伝送装置の一つに、ＩＰ電話システムがある。このＩＰ電話システムは、ＳＩＰ（Session Initiation Protocol）を採用した発着信技術や、ＲＴＰ（Real-time Transport Protocol）を採用した音声伝送技術等により実現される（非特許文献１，２参照）。
【０００３】
ＩＰ電話システムでは、ＩＰ電話端末同士が、発着信時にＳＤＰ（Session Description Protocol）により、互いのサポートするメディア情報を折衝して、該ＩＰ電話端末間にメディアセッションを確立する。メディアセッションでは、音声データは、通常、２０ｍｓｅｃ間隔でＲＴＰパケット化されて、伝送される。
【０００４】
しかし、組み込み機器においては、パケット処理の割り込み負荷が大きいことから、音声データを細かくパケットに分割して転送する方式は、望ましくない。特に、処理能力が低く限定された機器では、他の通信処理やアプリケーション処理（例えばアドレス帳等）の動作を妨げるおそれがある。
【０００５】
一方で、音声データのパケット分割長を長くして転送する方式は、音声データのバッファリング時間を大きくする。そのため、音声伝送の遅延が大きくなり、音声品質が劣化するという問題がある。
【非特許文献１】RTP: A Transport Protocol for Real-Time Applications.; IETF RFC 3550; H. Schulzrinne, S. Casner, R. Frederick, V. Jacobson. July 2003.
【非特許文献２】SDP: Session Description Protocol.; IETF RFC 4566; M. Handley, V. Jacobson, C. Perkins. July 2006.
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来技術において、音声データを細かくパケットに分割して転送する方式は、処理能力が低く限定された機器にとっては、他の通信処理やアプリケーション処理を妨げるという問題があった。また、パケット分割長を長くして転送する方式は、音声品質が劣化する問題があった。
【０００７】
本発明は、上記事情を考慮してなされたもので、音声データをパケットに分割して伝送するにあたって、処理負荷と音声品質のトレードオフを制御可能な通信装置、通信制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、音声データを複数のパケットに分割して伝送する通信装置であって、前記分割に用いるパケット分割長の変更処理を開始させるものとして予め定められたイベントの発生を検知する検知部と、前記検知部が前記イベントを検知した場合に、変更後の前記パケット分割長の取り得る範囲を、パケット分割長に影響を与えるものとして予め定められた外部情報に基づいて決定する決定部と、通信先の通信装置との間で、前記決定部が決定した前記範囲に基づき、変更後の前記パケット分割長を折衝する折衝部と、前記折衝部が折衝した変更後の前記パケット分割長に基づき、前記伝送を制御する制御部とを備え、前記範囲は、前記パケット分割長の最大値及び最小値により示されるものであり、前記決定部は、前記パケット分割長の最大値を、ネットワーク処理による遅延係数に基づいて決定するものであり、前記遅延係数は、パケット長に応じたネットワーク処理時間を測定することにより、与えられる係数であることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、音声データをパケットに分割して伝送するにあたって、処理負荷と音声品質のトレードオフを制御することが可能になる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照しながら本発明の実施形態について説明する。
【００１１】
図１に、本発明の一実施形態に係る通信システムの構成例を示す。
【００１２】
図１において、８はネットワークであり、Ｈ１及びＨ２はネットワーク８に接続した通信装置（ホスト）である。
【００１３】
なお、図１のネットワーク８には、通信装置は、２台だけ示されているが、もちろん、通信装置が３台以上存在して、それらが相互に通信可能であって構わない。
【００１４】
本実施形態では、ネットワーク８がインターネットである場合を例にとって説明する。また、通信ネットワークはＩＰ電話システムであり、通信装置Ｈ１，Ｈ２はＩＰ電話端末である場合を例にとって説明する。
【００１５】
以下の説明において、通信装置Ｈ１が発信側、通信装置Ｈ２が着信側となる場合を例にとって説明する。
【００１６】
図２に、本実施形態に係る通信装置Ｈ１の構成例を示す。
【００１７】
図２に示されるように、本実施形態の通信装置Ｈ１は、パケット分割長変更検知部１１、パケット分割長決定部１２、パケット分割長折衝部１３、パケット分割長制御部１４、シグナリング制御部１５、メディア制御部１６、シグナリング送信部１７、シグナリング受信部１８、メディア送信部１９、メディア受信部２０を備えている。
【００１８】
パケット分割長変更検知部１１は、音声データのパケット分割長の変更の開始（以下、変更開始）を検知する。パケット分割長変更検知部１１は、変更開始を検知すると、パケット分割長決定部１２に、変更開始を指示する。
【００１９】
パケット分割長決定部１２は、パケット分割長に影響を与えるものとして予め定められた外部情報に基づいて、パケット分割長を決定する。
【００２０】
パケット分割長折衝部１３は、通信先となる通信装置との間で、パケット分割長を折衝する。
【００２１】
パケット分割長制御部１４は、折衝したパケット分割長に基づいて、音声伝送を制御する。
【００２２】
シグナリング制御部１５は、シグナリングによって、通信先通信装置とのＩＰ電話の発着信や切断等を制御する。
【００２３】
メディア制御部１６は、通信先通信装置との音声データの送受信を制御する。
【００２４】
シグナリング送信部１７は、通信先通信装置へシグナリングを送信する。
【００２５】
シグナリング受信部１８は、通信先通信装置からシグナリングを受信する。
【００２６】
メディア送信部１９は、通信先通信装置へ音声データを送信する。
【００２７】
メディア受信部２０は、通信先通信装置から音声データを受信する。
【００２８】
なお、通信装置Ｈ２の構成例も、基本的には、図２と同様である。
【００２９】
図３に、通信装置Ｈ１の変更開始検知時の動作手順の一例を示す。
【００３０】
通信装置Ｈ１において、パケット分割長変更検知部１１が、変更を開始すべき開始入力を検知した場合（ステップＳ１）、まず、パケット分割長決定部１２は、外部情報に基づいて、パケット分割長を決定する。
【００３１】
次に、パケット分割長折衝部１３は、シグナリング制御部１５を介して、通信装置Ｈ２との間で、パケット分割長を折衝する。
【００３２】
そして、パケット分割長制御部１４は、メディア制御部１６を介して、折衝したパケット分割長に基づく通信装置Ｈ２との間の音声伝送を制御する。
【００３３】
なお、通信装置Ｈ２の動作手順例も、基本的には、図３と同様である。
【００３４】
上記外部情報としては、当該通信装置において、他のアプリケーションの稼働状況や、ＣＰＵの処理負荷状況等、種々のものが利用可能である。
【００３５】
パケット分割長変更検知部１１は、例えば、次のようにして変更開始を検知する。
【００３６】
例えば、予め定められた幾つかの開始入力のうちの一つが発生した場合に、該変更を開始すべきことが決められており、パケット分割長変更検知部１１は、それら開始入力の発生を検知することによって、変更開始を検知する。  
開始入力の例を次に示す。  
＜発着信時に発生する開始入力の例＞  
（１）当該通信装置Ｈ１において、電話の発信動作が起こったこと  
（２）当該通信装置Ｈ１において、電話の着信動作が起こったこと  
＜通話中に発生する開始入力の例＞  
（３）当該通信装置Ｈ１において、当該通信装置自身の内部のパケット受信処理について、単位時間あたりの割り込み数が閾値を越えたこと  
（４）当該通信装置Ｈ１において、他のアプリケーションが起動されたこと  
（５）当該通信装置Ｈ１において、ユーザからの特定の指示が入力されたこと
上記（５）については、例えば、通信装置Ｈ１の電話機本体に、ハードウェアスイッチ（ボタン）を設置し、ユーザが希望に応じて該ボタンを押した場合に、該ボタンが押されたことを示すイベントを、開始入力として検知する方法が可能である。なお、ユーザは、パケット分割長を変更したいという意図を持って該ボタンを押す必要はなく、例えば、音質が悪くなったと感じたときに、該ボタンを押すようにする。
【００３７】
なお、上記（１）〜（５）は一例であり、種々の開始入力が考えられる。
【００３８】
また、いずれの開始入力を採用するかは、適宜決定して構わない。
【００３９】
上記のように、パケット分割長の変更動作は、発信時だけでなく、通話中などの定常状態においても、動的に（自動的に又はユーザの指示に応じて）、開始することができる。
【００４０】
パケット分割長決定部１２は、例えば、次のようにして、折衝に用いるパケット分割長を決定する。
【００４１】
パケット分割長は、最小値と最大値を決定する。
【００４２】
図４に、パケット分割長の最小値の決定の処理手順の一例を示す。
【００４３】
まず、パケット分割長の最小値に、初期値を設定する（ステップＳ１１）。
【００４４】
次に、予め定められた第１の加算条件が成立する場合には（ステップＳ１２）、この時点のパケット分割長の最小値に対して、第１の加算処理を実行する（ステップＳ１３）。予め定められた第１の加算条件が成立しない場合には（ステップＳ１２）、ステップＳ１３はスキップする。
【００４５】
そして、ステップＳ１２，Ｓ１３のような手順を、予め定められた第Ｎの加算条件及び第Ｎの加算処理（ステップＳ１４，Ｓ１５）まで、繰り返し実行する。
【００４６】
パケット分割長の最大値は、例えば、図４と同じような手順（すなわち、図４において、加算を減算に修正した手順）により決定してもよい。
【００４７】
なお、上記手順は一例であり、他の手順により最小値及び又は最大値を決定してもよい。
【００４８】
本実施形態では、パケット分割長について、次の４種類の値を決定する。  
H1s_min：通信装置Ｈ１の送信パケット分割長（最小値）  
H1s_max：通信装置Ｈ１の送信パケット分割長（最大値）  
H1r_min：通信装置Ｈ１の受信パケット分割長（最小値）  
H1r_max：通信装置Ｈ１の受信パケット分割長（最大値）
ただし、本実施形態では、H1s_min＝H1r_min、H1s_max＝H1r_maxとして、実際には、H1s_min＝H1r_minと、H1s_max＝H1r_maxの二つの値を算出する場合を例にとって説明する。これは、一般的なシステム構成では、通常は、H1s_min＝H1r_min、H1s_max＝H1r_maxになることが想定されるからである。
【００４９】
ただし、この場合においても、H1s_min、H1s_max、H1r_min、H1r_maxを個別に算出するようにしてもよい（結果的には、H1s_min＝H1r_minと、H1s_max＝H1r_maxとなる）。
【００５０】
なお、使用するコーデックが送信と受信で異なる場合や、IPv6 path MTUが送信と受信で異なる場合など、H1s_min、H1s_max、H1r_min、H1r_maxを個別に算出する方が好ましい場合も、有り得る。この場合にも、H1s_minとH1r_minの算出手法自体は同じで構わないが、例えば、上記の初期値や加算値が、送信と受信で異なる。H1s_maxとH1r_maxについても同様である。
【００５１】
以下では、図３〜図５を参照しながら、本実施形態の通信システムの動作についてより詳しく説明する。図５は、通信装置Ｈ１と通信装置Ｈ２との間におけるＳＤＰによる折衝の動作シーケンスの一例である。
【００５２】
なお、図５において、H1sは、通信装置Ｈ２が決定した送信パケット分割長であり、H1rは、通信装置Ｈ２が決定した受信パケット分割長である。また、Ｔｓは、通信装置Ｈ２がH1r長のデータを送信するのに要する処理時間であり、Ｔｒは、通信装置Ｈ２がH1s長のデータを受信するのに要する処理時間である。
【００５３】
ここでは、開始入力として、先に例示した（１）〜（５）の開始入力のうち、いずれか一つが検知された場合に、変更開始が検知される例を用いて説明する。
【００５４】
まず、発信側である通信装置Ｈ１は、着信側である通信装置Ｈ２に対して、発信の動作を開始する。
【００５５】
このとき、通信装置Ｈ１のパケット分割長変更検知部１１は、電話の発信動作を、開始入力として、検知する（ステップＳ１）。
【００５６】
次に、通信装置Ｈ１において、パケット分割長決定部１２は、外部情報に基づいて、パケット分割長の最大値と最小値を決定する（ステップＳ２）。これは、折衝時に、パケット分割長の取り得る範囲を、最大値と最小値により特定される範囲として提示することで、折衝先（この例の場合、通信装置Ｈ２）が、当該提示された範囲から、折衝先自身の処理負荷を考慮して、パケット分割長を決定できるようにするためである。
【００５７】
ここでは、パケット分割長の最小値は、音声データをＲＴＰの推奨値である２０ｍｓｅｃ間隔でパケット分割したときのデータ長を初期値とし（ステップＳ１１）、さらに、外部情報に基づいて、初期値へデータ長の加算処理を行う（ステップＳ１２以降）。
【００５８】
まず、例えばＧ．７１１コーデック（６４ｋｂｐｓ）により音声伝送を行う場合の初期値は、１６０ｂｙｔｅ（６４ｋｂｐｓ×２０ｍｓｅｃ＝１６０ｂｙｔｅ）となる。
【００５９】
次に、例えば、メモ帳や電話帳等の他のアプリケーションの起動情報を、外部情報として利用する場合、パケット分割長決定部１２は、起動中のアプリケーションに応じたデータ長を、最小値に加算する。例えば、アプリケーションがメモ帳ならば１００ｂｙｔｅ加算、アプリケーションが電話帳ならば８０ｂｙｔｅ加算というように、アプリケーションごとに加算するデータ長を予め設定しておき、メモ帳が起動中であり且つ電話帳が起動中でないならば１００ｂｙｔｅを最小値に加算し、メモ帳が起動中でなく且つ電話帳が起動中であるならば８０ｂｙｔｅを最小値に加算し、両方が起動中ならば１００＋８０＝１８０ｂｙｔｅを最小値に加算する。
【００６０】
また、例えば、ネットワークインタフェースにおける単位時間あたりのパケット受信数が閾値を越えたか否かの情報を、外部情報として利用する場合、パケット分割長決定部１２は、閾値を上回るパケット数を受信していることを検知した場合、所定のデータ長を最小値に加算する。例えば、閾値を１００パケット／秒、加算するデータ長を１００ｂｙｔｅというように予め設定しておき、パケット受信１００パケット／秒以上のパケット受信上回る場合には、１００ｂｙｔｅを最小値に加算する。
【００６１】
一方、パケット分割長の最大値は、ＩＰｖ６フラグメント処理の処理負荷および伝送遅延要因を排除するために、IPパケットのトータル長がIPv6 path MTU（Ethernet（登録商標）上では１５００ｂｙｔｅ）、もしくは、IPv6 Minimum MTU（１２８０ｂｙｔｅ）に収まる最大の長さに設定する。
【００６２】
また、通信装置Ｈ１と通信装置Ｈ２との間でシステムとして保証すべき音声伝送遅延が制限された環境では、許容できる音声伝送遅延に収まるように、最大値を設定する。例えば、システムとして、音声伝送遅延を、１５０ｍｓｅｃ以下に保証する場合には、最大値を１２００ｂｙｔｅ（６４ｋｂｐｓ×１５０ｍｓｅｃ＝１２００ｂｙｔｅ）に設定する。
【００６３】
ところで、ＴＣＰ／ＩＰネットワーク処理には、チェックサム処理や内部的なバッファへのデータのコピー処理等のように、パケット長に比例して処理時間が長くなる処理が含まれており、処理能力の低い組み込み機器においては、音声伝送遅延に大きく影響を及ぼす要因となる。そこで、最終的にパケット分割長の最大値を設定するときは、ＴＣＰ／ＩＰネットワーク処理による遅延係数を掛け合わせた値を、設定するようにしてもよい。
【００６４】
ここで、遅延係数は、パケット長に応じたＴＣＰ／ＩＰネットワーク処理時間の測定を、事前に実施しておくことで、与えられる係数とする。例えば、各々の外部情報を加味して導出した最大値が１２００ｂｙｔｅであり、遅延係数が１．２であるとき、１２００ｂｙｔｅ×（１／１．２）＝１０００ｂｙｔｅを最終的なデータ分割長の最大値として設定する。
【００６５】
次に、通信装置Ｈ１において、パケット分割長折衝部１３は、パケット分割長について、通信装置Ｈ２と折衝を開始する（ステップＳ３）。
【００６６】
まず、通信装置Ｈ１は、通信装置Ｈ２に、シグナリング制御部１５を介してSDP Offerメッセージを送信する（ステップＳ２１，Ｓ２２）。このとき、送信パケット分割長の最小値と最大値（H1s_min，H1s_max）と、受信パケット分割長の最小値と最大値（H1r_min，H1r_max）を、ＳＤＰの機能拡張用フィールドである「ａ＝ライン」に記述する。なお、「ａ＝ライン」は、機能拡張用フィールドで新たに定義した属性等の記述が可能である。
【００６７】
次に、通信装置Ｈ２は、上記SDP Offerメッセージを受信する（ステップＳ２２，Ｓ２３）。
【００６８】
SDP Offerメッセージを受信した通信装置Ｈ２は、送信パケット分割長H1sと受信パケット分割長H1rとを、それぞれ、該SDP Offerメッセージに記述されている（H1s_min，H1s_max）の範囲と（H1r_min，H1r_max）の範囲とをもとにして、決定する（ステップＳ２４）。なお、更に、ＴｓとＴｒを決定するようにしてもよい。
【００６９】
ここで、通信装置Ｈ２は、前述した通信装置Ｈ１のパケット分割長の導出手順と同様に、通信装置Ｈ２自身の外部情報を基に、送信パケット分割長の最大値と最小値および受信パケット分割長の最大値と最小値を導出し、通信装置Ｈ１および通信装置Ｈ２の各々の範囲を満たす最小のH1sとH1rを決定する。例えば、通信装置Ｈ１の（H1s_min，H1s_max）、（H1r_min，H1r_max）が、それぞれ、（４４０、１０００）、（４４０、１０００）であり、通信装置Ｈ２の（H1s_min，H1s_max）、（H1r_min，H1r_max）が、それぞれ、（３６０，１０００）、（３６０，１０００）であるときに、H1s＝４４０、H1r＝４４０となる。
【００７０】
なお、上記において、通信装置Ｈ２の（H1s_min，H1s_max）は、通信装置Ｈ２にとっての受信パケット分割長の最大値と最小値であり、通信装置Ｈ２の（H1r_min，H1r_max）は、通信装置Ｈ２にとっての送信パケット分割長の最大値と最小値である。
【００７１】
次に、通信装置Ｈ２は、通信装置Ｈ１にSDP Answerメッセージを送信する（ステップＳ２５，Ｓ２６）。
【００７２】
このとき、通信装置Ｈ２が決定したH1s、H1rを、ＳＤＰの「ａ＝ライン」に記述する。
【００７３】
なお、ステップＳ２４でＴｓとＴｒを決定した場合には、「ａ＝ライン」に、決定したＴｓとＴｒをも記述する。
【００７４】
次に、通信装置Ｈ１は、上記SDP Answerメッセージを受信する（ステップＳ２６，Ｓ２７）。
【００７５】
通信装置Ｈ１において、SDP Answerメッセージを受信したシグナリング制御部１５は、該SDP Answerメッセージに記述されたH1s、H1rを、折衝結果として、パケット分割長折衝部１３に通知する。
【００７６】
次に、通信装置Ｈ１において、パケット分割長制御部１４は、折衝結果となるパケット分割長H1s、H1rに基づいて音声伝送が為されるように、メディア制御部１６を制御する（ステップＳ４）。すなわち、メディア制御部１６は、送信時のパケット分割長H1sに基づいて、パケットの送信を制御し、受信時のパケット分割長H1rに基づいて、パケットの受信を制御する。
【００７７】
これによって、通信装置Ｈ１と通信装置Ｈ２との間で、音声伝送が行われる（ステップＳ２９）。
【００７８】
なお、図５のような手続きは、図６のように音声データ伝送中に何回発生しても構わない。
【００７９】
また、図６のように、発信側となる通信装置Ｈ１と着信側となる通信装置Ｈ２とのいずれにおいて、音声データのパケット分割長の変更の開始が検知されて、図５の手続きが実施されても構わない。例えば、図６において、ステップＳ３１〜Ｓ３３の手続きと、ステップＳ３４〜Ｓ３６の手続きは、発信側となる通信装置Ｈ１で変更開始が検知されたものであり、ステップＳ３７〜Ｓ３９の手続きは、着信側となる通信装置Ｈ２で変更開始が検知されたものである。
【００８０】
なお、開始入力として、前述の（１）の「当該通信装置Ｈ１において、電話の発信動作が起こったこと」のみ採用してもよいし、その代わりに、（２）の「当該通信装置Ｈ１において、電話の着信動作が起こったこと」のみ採用してもよい。
【００８１】
また、上記（１）と（２）の両方を採用してもよい。その際、通信装置Ｈ１のパケット分割長変更検知部１１と通信装置Ｈ２のパケット分割長変更検知部１１の両方で、変更開始が検知され、通信装置Ｈ１と通信装置Ｈ２がそれぞれSDP Offerメッセージを送信することが発生し得るような場合には、例えば、通信装置Ｈ１が、変更開始を検知してからSDP Offerメッセージを送信するまでの間に、通信装置Ｈ２からのSDP Offerメッセージを受信した場合には、通信装置Ｈ１は、それまでの処理を中止して、受信したSDP Offerメッセージによる処理を続行し、また、例えば、通信装置Ｈ１が、SDP Offerメッセージを受信した後に、通信装置Ｈ２からのSDP Offerメッセージを受信した場合には、受信したSDP Offerメッセージを廃棄する、というような取り決めをしておけばよい。
【００８２】
ところで、本実施形態では、パケット分割長の折衝において、遅延時間に関するパラメタを通知することができる。H1s長のデータを通信装置Ｈ２が受信するために要する合計時間の推定値（例えば、ＴＣＰ／ＩＰネットワーク受信処理時間やＧ．７１１デコード処理時間等の合計値）Ｔｓと、H1r長のデータを通信装置Ｈ２が送信するために要する合計時間の推定値（例えば、ＴＣＰ／ＩＰネットワーク送信処理時間やＧ．７１１エンコード処理時間等の合計値）Ｔｒを、SDP Answerメッセージに追加して記述することで、通信装置Ｈ２の遅延時間を、通信装置Ｈ１に対して通知できる。一方、通信装置Ｈ１では、H1s長とH1r長のデータを送受信するために要する合計時間を算出することができる。この結果、通信装置Ｈ１と通信装置Ｈ２との間のシステム全体の音声伝送遅延を通信装置Ｈ１において推測することが可能となり、音声伝送遅延の最大値を高い精度で保証したIP電話システムが実現できるようになる。
【００８３】
以上説明してきたように、本実施形態では、音声データをパケットに分割して伝送するにあたって、通信装置間で、パケット分割長を折衝して、パケット分割長を調節することによって、処理負荷と音声品質のトレードオフを制御することが可能となる。
【００８４】
この結果、処理能力が低く限定された組み込み機器において、他の通信処理やアプリケーション処理を妨げないように、あるいは、許容できる範囲内となるように、音声通話を実現することができる。
【００８５】
なお、この通信装置は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることでも実現することが可能である。すなわち、パケット分割長変更検知部１１、パケット分割長決定部１２、パケット分割長折衝部１３、パケット分割長制御部１４、シグナリング制御部１５、メディア制御部１６、シグナリング送信部１７、シグナリング受信部１８、メディア送信部１９、メディア受信部２０は、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することができる。このとき、通信装置は、上記のプログラムをコンピュータ装置にあらかじめインストールすることで実現してもよいし、ＣＤ−ＲＯＭなどの記憶媒体に記憶して、あるいはネットワークを介して上記のプログラムを配布して、このプログラムをコンピュータ装置に適宜インストールすることで実現してもよい。
【００８６】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００８７】
【図１】本発明の一実施形態に係る通信システムの構成例を示す図
【図２】同実施形態に係る通信装置の構成例を示すブロック図
【図３】同実施形態に係る通信装置の変更開始検知時の動作手順の一例を示すフローチャート
【図４】同実施形態に係る通信装置のパケット分割長の最小値の決定の処理手順の一例を示すフローチャート
【図５】同実施形態に係る通信装置間で実行される、折衝のための動作シーケンスの一例を示す図
【図６】同実施形態に係る通信装置間で実行される、折衝のための動作シーケンスの一例を示す図
【符号の説明】
【００８８】
１，２…通信装置、８…インターネット、１１…パケット分割長変更検知部、１２…パケット分割長決定部、１３…パケット分割長折衝部、１４…パケット分割長制御部、１５…シグナリング制御部、１６…メディア制御部、１７…シグナリング送信部、１８…シグナリング受信部、１９…メディア送信部、２０…メディア受信部
【図１】
0004427570.tif 000002
【図２】
0004427570.tif 000003
【図３】
0004427570.tif 000004
【図４】
0004427570.tif 000005
【図５】
0004427570.tif 000006
【図６】
0004427570.tif 000007