JP2008085823A - 通信端末装置およびパケット送信制御方法 - Google Patents

通信端末装置およびパケット送信制御方法 Download PDF

Info

Publication number
JP2008085823A
JP2008085823A JP2006265083A JP2006265083A JP2008085823A JP 2008085823 A JP2008085823 A JP 2008085823A JP 2006265083 A JP2006265083 A JP 2006265083A JP 2006265083 A JP2006265083 A JP 2006265083A JP 2008085823 A JP2008085823 A JP 2008085823A
Authority
JP
Japan
Prior art keywords
transmission
reception
packet
size
communication partner
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.)
Withdrawn
Application number
JP2006265083A
Other languages
English (en)
Inventor
Ryota Terai
良太 寺井
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.)
Kyocera Corp
Original Assignee
Kyocera 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 Kyocera Corp filed Critical Kyocera Corp
Priority to JP2006265083A priority Critical patent/JP2008085823A/ja
Publication of JP2008085823A publication Critical patent/JP2008085823A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

【課題】通信相手端末の受信バッファのサイズに応じて、無駄なパケットを廃棄して送信を行わないとともに、廃棄するパケットの量を抑制する。
【解決手段】通信時のパケットの送信時刻のゆらぎ、受信時刻のゆらぎ、受信レートおよび電界強度に基づき、通信相手端末の受信バッファのサイズを予測する予測手段と、予測した通信相手端末の受信バッファのサイズを保持する保持手段と、保持している通信相手端末の受信バッファのサイズに応じて、送信データの破棄と送信タイミングとを制御する制御手段とを備える。
【選択図】図1

Description

本発明は、通信相手端末の受信バッファのサイズに応じてパケットを送信する通信端末装置およびバッファサイズ予測方法に関する。
VoIPなどのリアルタイムでのパケットの送信が要求される通信では、音声パケットをRTP(Real−time Transport Protocol)パケットとして送信し、受信側でRTPパケットのヘッダ部分に含まれるタイムスタンプとシーケンス番号を参照して音声を再生している。しかし、RTPパケットは、一般にUDP(User Datagram Protocol)で送信されるため、TCP(Transmission Control Protocol)のような再送制御を行わない。このため、パケットロスが発生した際には、音声が途切れるという問題が発生する。
そこで、RTPでの通信中に生じるパケットロスに対してTCPのように再送要求を行うことで、RTPパケットの欠落を抑制する技術がある(特許文献1参照)。
特開2003−169040号公報
従来技術では、パケットロスが発生した際に送信側にパケットの再送要求を行い、送信側では再送の際に、再生時刻に間に合わないパケットを再送せずに廃棄することで、不要なパケットを送信しない仕組みを備えている。しかしながら、無線環境では受信状態・送信状態に応じて適切なジッタ吸収バッファのサイズを与える必要があり、このようなジッタ吸収バッファのサイズが変化するような環境では、従来技術の方法は、RTPパケットの欠落を充分に抑制できない。
本発明は、このような問題点に鑑みてなされたものであり、本発明の目的は、ジッタ吸収バッファのサイズの変化に応じて、パケットの廃棄を制御し、廃棄するパケットの量を抑制することができる通信端末装置およびバッファサイズ変更方法を提供することにある。
上記目的を達成するため、本発明の通信端末装置は、パケットの送受信を行う送受信手段と、前記送受信手段によるパケットの送受信状況に基づき、通信相手端末の受信バッファのサイズを予測する予測手段と、前記予測手段で予測した前記通信相手端末の受信バッファのサイズを保持する保持手段と、前記保持手段に保持している前記通信相手端末の受信バッファのサイズに応じて、送信パケットの破棄と送信タイミングとを制御する制御手段とを備えることを特徴とする。
前記予測手段は、前記送受信手段におけるパケットの送信時刻のゆらぎ、受信時刻のゆらぎ、受信レートおよび電界強度に基づいて、前記通信相手端末の受信バッファのサイズを予測することが好ましい。
前記制御手段は、送信遅延時間と前記通信相手端末の受信バッファのサイズに基づき、廃棄する送信パケットを決めるとともに、送信パケットの送信ロス率を測定し、該送信ロス率が予め設定した許容送信ロス率以上となった場合は、廃棄対象となった送信パケットの廃棄を取り消して送信することが好ましく、また、前記制御手段は、前記通信相手端末の受信バッファのサイズと自端末の送信バッファに保持されている送信パケット数とに基づき、該通信相手端末の受信バッファにおけるオーバーフロー発生の可能性を判定し、該通信相手端末の受信バッファにてオーバーフローが発生する可能性があると判定した場合、送信パケットの送信を遅延させることが好ましい。
また、本発明のパケット送信制御方法は、パケット通信が可能な通信端末装置におけるパケット送信制御方法であって、パケットの送信時刻のゆらぎ、受信時刻のゆらぎ、受信レートおよび電界強度に基づき、通信相手端末の受信バッファのサイズを予測し、予測した通信相手端末の受信バッファのサイズを保持し、保持している通信相手端末の受信バッファのサイズに応じて、送信パケットの破棄と送信タイミングとを制御することを特徴とする。
本発明は、通信相手端末に搭載されている受信バッファのサイズを予測することにより、受信バッファのサイズの変化に応じて、パケットの廃棄を制御し、廃棄するパケットの量を抑制することができる。
本発明の通信端末装置の実施の形態について図面を参照して説明する。以下、通信端末装置の典型例として携帯電話端末に本発明を適用して説明する。図1は、本発明を適用した携帯電話端末の基本的な構成を示すブロック図である。図1に示す携帯電話端末100は、マイク等の音声入力手段1と、音声入力手段1から入力した音をデジタルデータに変換するエンコード手段2と、エンコード手段2でデジタルデータに変換したデータからRTP(Real−time Transport Protocol)パケットを生成するパケット生成手段3と、パケット生成手段3で生成したRTPパケットを一時的に保存する送信用バッファ4と、通信相手にデータを送信する送信手段5と、現在時刻を取得する時刻取得手段12と、RTPのタイムスタンプから適切な送信時刻の算出とパケットの廃棄を行う理想送信時刻計算手段11と、理想送信時刻計算手段11の計算結果に基づいて送信パケットを廃棄するパケット廃棄手段13と、パケットの廃棄を抑制する廃棄取り消し手段14と、通信相手からパケットを受信する受信手段7と、受信したRTPパケットを一時的に保存する受信用バッファ8と、受信した音声パケットをアナログデータに変換するデコード手段9と、デコード手段9でアナログに変換した音声を再生する音声出力手段10と、受信用バッファ8のサイズを変更する受信用バッファサイズ変更手段15と、パケットの受信状態に応じて通信相手端末の受信用バッファのサイズを推測する通信相手受信バッファサイズ推測手段16と、送信開始時刻、送信開始タイムスタンプ、送信遅延時間、受信フレームカウント、通信相手受信バッファサイズ、送信遅延時間キュー、許容送信ロス率、送信ロス率、受信ゆらぎキュー、受信ゆらぎ算出値、送信ゆらぎキュー、送信ゆらぎ算出値、受信開始時刻、受信開始タイムスタンプ、受信バッファサイズ推測マトリックスの情報を記憶するメモリ17とを備えている。
図2は、通信相手受信バッファサイズ推測手段の構成を示すブロック図である。通信相手受信バッファサイズ推測手段16は、受信したパケットから受信時刻のゆらぎを算出する受信ゆらぎ算出手段21と、実際に受信した時刻と理論値との誤差を計測する受信時刻誤差算出手段22と、自端末の電界強度を計測する電界強度測定手段23と、自端末の受信レートを測定する受信レート測定手段24と、自端末が送信するパケットの送信時刻の理論値との差のゆらぎを算出する送信ゆらぎ算出手段25と、受信ゆらぎ算出手段21、受信時刻誤差算出手段22、電界強度測定手段23、受信レート測定手段24、送信ゆらぎ算出手段25の結果に基づいて通信相手の端末の受信用バッファのサイズを導出する通信相手受信バッファサイズ導出手段26とを備えている。
図3は、理想送信時刻計算処理の手順を示すフローチャートである。理想送信時刻計算処理は、理想送信時刻計算手段11が行う。理想送信時刻計算手段11は、送信手段5から割り込みが発生したときに動作し(S101)、S102において、メモリ17の送信開始時刻が値を保持するか否かを判定する。すなわち、通話開始時の最初のパケットを送信するときは送信開始時刻に値が保持されていないのでS103以降を実行し(「N」を選択)、2番目以降のパケットを送信する際には送信開始時刻に値が保持されているのでS108以降を実行する(「Y」を選択)。S103では時刻取得手段12から現在時刻を取得し、S104において、取得した現在時刻を送信開始時刻としてメモリ17に保存する。S105では送信用バッファ4が保持している最初のRTPパケット(一番最初に送信するパケット)のタイムスタンプを取得し(S105)、送信開始タイムスタンプとしてメモリ17に保存し(S106)、送信手段5に「送信」を指示する(S107)。
2番目以降のパケットの送信の際は、メモリ17に保存した送信開始時刻および送信開始タイムスタンプと、送信時の時刻を用いて、理論上の送信時刻と実際の送信時刻との誤差を求め、パケットの送信・廃棄を決定する。すなわち、S108において、送信用バッファ4が保持している一番古いRTPパケットのタイムスタンプを取得し、取得したタイムスタンプを用いて、S109において、理論上の送信時刻を式(1)により求める。
Figure 2008085823
例えば、送信開始時刻を9:00:00.000(9時)、S108で取得したタイムスタンプを101600、S106で取得した送信開始タイムスタンプを100000、クロックレートを8000(8KHzの音声の場合)とした場合、理論上の送信時刻は、
Figure 2008085823
となる。
さらに、式(2)により実際の送信時刻と理論上の送信時刻の誤差を算出し、算出した送信遅延時間をメモリ17に保存する。
Figure 2008085823
次に、S109で算出した送信遅延時間を基にパケット廃棄手段13がパケット廃棄処理を実行し(S1010)、パケット廃棄処理の結果、理想送信時刻計算手段11は、「送信保留」の指示が通知されたか否かを判定し(S1011)、S1011の結果が「Y」であれば、送信手段5に「送信保留」を指示する(S1014)。S1011の結果が「N」であれば、次に、「送信」の指示が通知されたか否かを判定し(S1012)、S1012の結果が「Y」であれば、送信手段5に「送信」を指示する(S1013)。S1012の結果が「N」であれば、S108に戻る。
図4は、パケット廃棄処理の手順を示すフローチャートである。パケット廃棄処理は、古くなったRTPパケットを廃棄する処理であり、パケット廃棄手段13が行う。パケット廃棄手段13は、S111において、送信遅延時間が0以上か否かを判定し、0未満の場合は、受信側でアンダーフローが発生することを避けるために、「送信保留」を指示する(S112)。S111において送信遅延時間が0以上の場合は、S113において、送信遅延時間が通話相手受信バッファサイズよりも大きいか否かを判定し、送信遅延時間が通信相手受信用バッファのサイズ以下(S113の結果が「N」)であれば、「送信」を指示し(S114)、送信遅延時間をメモリ17の送信遅延時間キューに追加する(S115)。S113の結果が「Y」の場合は、廃棄取り消し処理(パケットを廃棄して次のパケットを送信するか、送信ロス率の増加を防ぐために廃棄対象のパケットの送信を許可するかを選択する処理)を実行する(S116)。
ここで、パケット廃棄処理は以下の結果を返す。
「送信」:パケットを送信しても問題が無い場合。
「送信保留」:パケットを送信するとオーバーフローが発生する可能性があるため未だ送信しない場合。
「次のパケットを送信」:送信バッファが保持している一番古いRTPパケットを送信した場合に、受信側で再生されない可能性があるため、一番古いRTPパケットを廃棄し、次に古いRTPパケットの送信を試みる場合。
図5は、廃棄取り消し処理の手順を示すフローチャートである。廃棄取り消し処理では、送信ロス率の増加を抑制する。S121において、送信遅延時間を送信遅延時間キューに追加し、S122において、送信ロス率算出処理(送信遅延時間の履歴から送信に失敗した割合を算出)を実行して、S123において、送信ロス率が許容値(許容送信ロス率)以上か否かを判定する。送信ロス率が許容値(許容送信ロス率)より小さい場合(S123の結果が「N」の場合)は、送信用バッファ4から一番古いパケットを削除し(S124)、「次のパケットを送信」を指示する(S125)。送信ロス率が許容値以上の場合(S123の結果が「Y」の場合)は、送信遅延時間が通信相手用受信用バッファサイズ+β(送信を許可する時間)を上回るか否かを判定する(S126)。βは、0以上の実数を指定する。なお、βの値が大きすぎるときは送信ロス率を下げることが可能であるが、アンダーフローが多発し、βの値が小さすぎると送信ロス率を下げることができないため、適切な値を設定しなければならない。S126の結果が「N」の場合は「送信」を指示し(S127)、S126の結果が「Y」の場合は、送信用バッファ4から一番古いパケットを削除し(S128)、「次のパケットを送信」を指示する(S129)。
図6は、送信ロス率算出処理の手順を示すフローチャートである。送信ロス率算出処理では、まず、カウンタiに1を設定し(S131)、送信ロス率に0を設定する(S132)。次に、ループ1に入り(S133)、通信相手受信バッファサイズが、送信遅延時間キューのi番目の要素よりも小さいか否かを判定し(S134)、小さくなければ(結果が「N」であれば)、カウンタiに1を加算し(S136)、小さければ(結果が「Y」であれば)、送信ロス率に1を加算して(S135)、カウンタiに1を加算する(S136)。次に、S133に戻り、カウンタiが送賃遅延時間キューのサイズよりも大きいか否かを判定し、大きければ、ループ1を抜け出す。次に、送信ロス率を送賃遅延時間キューのサイズで割って送信ロス率を求め、求めた送信ロス率をメモリ17に保存する(S137)。
図7は、受信用バッファサイズ変更処理の手順を示すフローチャートである。受信用バッファサイズ変更処理は、受信用バッファサイズ変更手段15が行う。受信用バッファサイズ変更手段15は、受信用バッファ8を監視し、アンダーフローが発生しているか否かを判定し(S141)、アンダーフローが発生した場合(結果が「Y」の場合)は、受信用バッファのサイズを1フレーム分大きくし(S1410)、受信フレームカウントを0に設定する(S1411)。
S141において、アンダーフローが発生していない場合(結果が「N」の場合)は、オーバーフローが発生しているか否かを判定し(S142)、オーバーフローが発生した場合(結果が「Y」の場合)は、受信用バッファのサイズを1フレーム分大きくし(S148)、受信フレームカウントを0に設定する(S149)。
S142において、オーバーーフローが発生していない場合(結果が「N」の場合)は、受信フレームカウントがMAX(1以上の実数)か否かを判定し(S143)、受信フレームカウントがMAXでない場合(結果が「N」の場合)は、受信フレームカウントに1を加算する(S144)。受信フレームカウントがMAXの場合(結果が「Y」の場合)は、受信用バッファに無音のフレームを含むか否かを判定する(S145)。受信用バッファに無音のフレームを含む場合(結果が「Y」の場合)は、通話に影響がないので無音の音声フレームを1フレーム削除して、受信用バッファのサイズを1フレーム分小さくし(S146)、受信フレームカウントを0に設定する(S148)。すなわち、アンダーフロー、オーバーフローが一定期間発生しない場合は、受信用バッファのサイズを小さくする。
図8は、送信ゆらぎ算出処理の手順を示すフローチャートである。送信ゆらぎ算出処理は、自端末のパケットの送信時刻と理論値との誤差より送信時刻のゆらぎを算出する処理であり、通信相手受信バッファサイズ推測手段16の送信ゆらぎ算出手段25が行う。送信遅延時間をメモリ17の送信ゆらぎキューに追加し(S151)、送信ゆらぎキューの全要素の平均値を求め、メモリ17の送信ゆらぎ算出値に保存する。図8では、平均値を算出しているが、最大値と最小値の差分、分散、標準偏差を送信ゆらぎ算出値としても良い。
図9は、受信ゆらぎ算出処理の手順を示すフローチャートである。受信ゆらぎ算出処理は、パケットの受信時刻と理論値との誤差より受信時刻のゆらぎを算出する処理であり、通信相手受信バッファサイズ推測手段16の受信ゆらぎ算出手段21が行う。後述する受信時刻誤差算出処理を行い(S161)、受信時刻誤差算出処理の戻り値を受信ゆらぎキューに追加し(S162)、受信ゆらぎキューの全要素の最大値と最小値の差を求め、メモリ17の受信ゆらぎ算出値に保存する。図9では、最大値と最小値の差分を算出しているが、平均値、分散、標準偏差を受信ゆらぎ算出値としても良い。
図10は、受信時刻誤差算出処理の手順を示すフローチャートである。受信時刻誤差算出処理は、パケットの受信時刻と理論値との誤差を算出する処理であり、通信相手受信バッファサイズ推測手段16の受信時刻誤差算出手段22が行う。まず、メモリ17の受信開始時刻が値を保持するか否かを判定する(S171)。すなわち、通話開始時の最初のパケットを受信するときは受信開始時刻に値が保持されていないのでS172以降を実行し(「N」を選択)、2番目以降のパケットを受信する際には受信開始時刻に値が保持されているのでS177以降を実行する(「Y」を選択)。S172では時刻取得手段12から現在時刻を取得し、S173において、取得した現在時刻を受信開始時刻としてメモリ17に保存する。S174では受信用バッファ8が保持している最初のRTPパケット(一番最初に受信するパケット)のタイムスタンプを取得し(S174)、受信開始タイムスタンプとしてメモリ17に保存し(S175)、0を返却する(S176)。
2番目以降のパケットの受信の際は、S177において、受信したRTPパケットのタイムスタンプを取得し、取得したタイムスタンプを用いて、S178において、理論上の受信時刻を式(3)により求める。
Figure 2008085823
さらに、式(4)により実際の受信時刻と理論上の受信時刻の誤差である受信遅延時間を算出し、受信遅延時間を返却する(S179)。
Figure 2008085823
図11は、通信相手受信バッファサイズ導出処理の手順を示すフローチャートである。通信相手受信バッファサイズ導出処理は、送信時刻のゆらぎ、受信時刻のゆらぎ、受信レート、電界強度を測定し、予め用意したマトリックス(受信バッファサイズ推測マトリックス)から通信相手の受信バッファのサイズを推測する処理であり、通信相手受信バッファサイズ推測手段16が行う。受信ゆらぎ算出手段21を用いて、図9に示した受信ゆらぎ算出処理を行い(S181)、受信レート測定手段24を用いて、通信相手からのパケットの伝送速度を得る(S182)。次に、メモリ17から送信ゆらぎ算出値を読み込み(S183)、電界強度測定手段23を用いて、自端末の電界強度を得る(S184)。次に、通信相手受信バッファサイズ導出手段26を用いて、受信バッファサイズ推測マトリックスから、通信相手の受信バッファのサイズを推測し(S185)、推測した通信相手受信バッファサイズをメモリ17に保存する(S186)。
図12は、受信バッファサイズ推測マトリックスを示す図である。この受信バッファサイズ推測マトリックスでは、左の列ほど送信状態が良好で右の列ほど送信状態が悪化し、受信バッファのサイズを大きく推測するように値を設定している。また、上の行ほど受信状態が良好で下の行ほど受信状態が悪化し、受信バッファのサイズを大きく推測するように値を設定している。図12では、常に同じマトリックスを使用する例を示しているが、メモリ上にマトリックスをロードしてユーザが編集できるようにしても良い。送信ゆらぎの電界強度の値、受信ゆらぎの受信レートの値を3段階で表現しているがこの限りでない。また、受信バッファのサイズは一例である。
図13は、音声入力から送信用バッファにRTPパケットを一時保存するまでの手順を示すフローチャートである。通話が開始され(S301)、ループ1に入り(S302)、マイク等の音声入力手段1より音声が入力されると(S303)、エンコード手段2でデジタルデータにエンコードし(S304)、エンコードされたデータからパケット生成手段3でRTPパケットを作成し(S305)、送信用バッファ4にRTPパケットを追加し(S306)、通話が終了するまで、ループ1を繰り返す。
図14は、送信用バッファに一時保存されているRTPパケットを送信する処理の手順を示すフローチャートである。この処理では、パケットの送信が可能か否かを判定し(S313)、送信が可能な場合に処理を行う。送信が可能であるときは、送信用バッファ4にデータが存在するか否かを判定し(S314)、送信用バッファ4にデータが存在するときは、図3に示した理想送信時刻計算処理を実行する(S315)。次に、RTPパケットの送信を行うか否かを決定し(S316)、「送信」が指示されたとき(S316の結果が「Y」のとき)に、送信時刻の理論値との誤差から送信時刻のゆらぎを算出する送信ゆらぎ算出処理を行い(S317)、パケットを送信し(S318)、送信用バッファ4から一番古いパケットを削除する(S319)。
図15は、パケットの受信から受信用バッファに一時保存されるまでの処理の手順を示すフローチャートである。この処理では、パケットを受信したか否かを判定し(S323)、受信を行った場合に処理を行う。パケットを受信したときは、図11に示した通信相手受信バッファサイズ導出処理を実行し、受信状態および送信状態より通信相手の受信用バッファのサイズを推測する(S324)。次に、受信したパケットに音声フレームを含むか否かを判定し(S325)、音声フレームを含む場合は受信バッファにパケットを追加する(S326)。次に、オーバーフローが発生したか否かを判定し(S327)、オーバーフローが発生した場合は、図7に示した受信用バッファサイズ変更処理を実行して受信用バッファのサイズを大きくする(S329)。オーバーフローが発生しない場合も受信用バッファサイズ変更処理を実行して受信用バッファのサイズの縮小を試みる(S328)。
図16は、受信用バッファに保存されている音声データをデコードして出力する処理の手順を示すフローチャートである。この処理では、受信用バッファに再生するデータが存在するか否かを判定し(S333)、データが存在しない場合(結果が「N」の場合)は、アンダーフローが発生するため受信用バッファサイズ変更処理を実行して受信用バッファのサイズを大きくする(S334)。データが存在する場合(結果が「Y」の場合)は、音声フレームをデコードする(S335)。
図17は、送信側端末がパケットを送信可能な際には送信を行い、送信できない際には通信相手の受信用バッファのサイズ分だけ遅らせてパケットの送信を試みている例を示す図である。図17でのパラメータは次の通りである。通信相手受信バッファサイズを60msとし、廃棄取り消し処理で用いる許容送信ロス率を∞(考慮せず)とし、廃棄取り消し処理で用いるβ(遅延の上限)を0(考慮せず)とする。なお、音声は1フレームあたり20msとする。
図17では、♪060の音声パケットがRLP(Radio Link Protocol)で送信可能となるまで、送信を遅延させている。また、♪200の音声パケットが送信側で廃棄されている。送信側の送信環境が悪化したため、通信相手の受信バッファのサイズを推測して100msに変更している。また、♪220の音声パケットをRLPで送信可能な状態になったら送信する(送信側での遅延を考慮していない端末であれば、♪320のパケットが生成されてから送信を行う)。また、受信用バッファのサイズが80msに対して♪220から♪300までの100msの音声パケットを受信したため、受信側でオーバーフロー発生し、そのため受信側の受信用バッファのサイズを80msから100msに拡大している。
図18は、送信側端末がパケットを送信可能な際には送信を行い、送信できない際には通信相手の受信用バッファのサイズ分だけ遅らせてパケットの送信を試みている例を示す図であり、図17の例と比較して、送信ロス率の低減を考慮している。図18でのパラメータは次の通りである。通信相手受信バッファサイズを60msとし、廃棄取り消し処理で用いる許容送信ロス率を30%とし、廃棄取り消し処理で用いるβ(遅延の上限)を20msとする。なお、音声は1フレームあたり20msとする。
図18では、♪180の音声パケットがRLPで送信可能となるまで、送信を遅延させている。また、送信ロス率が30%以上になることを避けるために、更に20ms遅延させて送信を行っている(結果として、受信側でのアンダーフローを回避できた)。アンダーフローが頻繁に発生する環境では、受信用のバッファのサイズを大きく設定している可能性が高いため、送信側で制御を行ったためである。
図19は、図1に示す構成に対して改良を加えた携帯電話端末の基本的な構成を示すブロック図である。図19では、オーバーフローを防止するためのオーバーフロー防止手段19を更に備えており、廃棄取り消し手段18からの信号が加えられている。
図20は、図19に示す携帯電話端末のパケット廃棄処理の手順を示すフローチャートである。パケット廃棄手段13は、S191において、メモリ17に保存した送信遅延時間が0以上か否かを判定し、0未満の場合は、受信側でアンダーフローが発生することを避けるために、「送信保留」を指示する(S192)。S191において送信遅延時間が0以上の場合は、S193において、送信遅延時間が通話相手受信バッファサイズよりも大きいか否かを判定し、送信遅延時間が通信相手受信バッファサイズ以下(S193の結果が「N」)であれば、後述のオーバーフロー防止処理を実行し、受信側でのオーバーフローを回避する(S194)。S173の結果が「Y」の場合には、廃棄取り消し処理を実行する(S195)。
図21は、オーバーフロー防止処理の手順を示すフローチャートである。この処理では、送信時刻キューに送信した時間から、古い要素(現在の時刻から受信用バッファのサイズに係数αを乗算したものを引いた値)を削除する(S201)。ネットワーク上での遅延時間のゆらぎが大きい場合にはαを大きく、小さい場合にはαを小さくするので、遅延時間のゆらぎが大きいほど削除される要素が少なく、ゆらぎが小さいほど削除される要素が多くなる。次に、S202において、キューに新しい要素を追加可能か否かを判定し、オーバーフローが発生するかをシミュレーションしている。キューの大きさは、以下の式(5)で算出される値を用いる。
Figure 2008085823
もし、S202において、キューに要素を追加不可能と判定した場合は、「送信保留」を指示する(S203)。キューに要素を追加可能と判定した場合は、「送信」を指示し(S204)、送信遅延時間を送信遅延時間キューに追加する(S205)。
図22は、送信側でオーバーフローの制御を行っている例を示す図である。図22でのパラメータは次の通りである。通信相手受信バッファサイズを60msとし、廃棄取り消し処理で用いる許容送信ロス率を∞(考慮せず)とし、廃棄取り消し処理で用いるβ(遅延の上限)を0(考慮せず)とし、オーバーフロー防止処理で用いるαを50%とする。なお、音声は1フレーム当たり20msとする。♪220から♪300までのパケットを送信した後に、♪320のパケットを送信するまでに30msの遅延を設けている。αが50%であるため、通信相手用受信バッファサイズの50%=50ms以内に、6パケット以上の送信を行わないように制御しているためである。
本発明では、通信相手端末に搭載されている受信バッファのサイズを予測することにより、受信バッファのサイズの変化に応じて、無駄なパケットを廃棄して送信を行わないとともに、廃棄するパケットの量を抑制することができる。また、無線環境ではネットワークでの遅延時間のゆらぎが大きいため、受信側でオーバーフローを引き起こす可能性があり、本発明では送信側でパケットを送信するタイミングを調整することで、オーバーフローの可能性を減少させることができる。
本発明を適用した携帯電話端末の基本的な構成を示すブロック図である。 通信相手受信バッファサイズ推測手段の構成を示すブロック図である。 理想送信時刻計算処理の手順を示すフローチャートである。 パケット廃棄処理の手順を示すフローチャートである。 廃棄取り消し処理の手順を示すフローチャートである。 送信ロス率算出処理の手順を示すフローチャートである。 受信用バッファサイズ変更処理の手順を示すフローチャートである。 送信ゆらぎ算出処理の手順を示すフローチャートである。 受信ゆらぎ算出処理の手順を示すフローチャートである。 受信時刻誤差算出処理の手順を示すフローチャートである。 通信相手受信バッファサイズ導出処理の手順を示すフローチャートである。 受信バッファサイズ推測マトリックスを示す図である。 音声入力から送信用バッファにRTPパケットを一時保存するまでの手順を示すフローチャートである。 送信用バッファに一時保存されているRTPパケットを送信する処理の手順を示すフローチャートである。 パケットの受信から受信用バッファに一時保存されるまでの処理の手順を示すフローチャートである。 受信用バッファに保存されている音声データをデコードして出力する処理の手順を示すフローチャートである。 送信できない際には通信相手の受信用バッファのサイズ分だけ遅らせてパケットの送信を試みている例を示す図である。 送信できない際には通信相手の受信用バッファのサイズ分だけ遅らせてパケットの送信を試みている例を示す図である。 改良を加えた携帯電話端末の基本的な構成を示すブロック図である。 パケット廃棄処理の手順を示すフローチャートである。 オーバーフロー防止処理の手順を示すフローチャートである。 送信側でオーバーフローの制御を行っている例を示す図である。
符号の説明
1 音声入力手段
2 エンコード手段
3 パケット生成手段
4 送信用バッファ
5 送信手段
7 受信手段
8 受信用バッファ
9 デコード手段
10 音声出力手段
11 理想送信時刻計算手段
12 時刻取得手段
13 パケット廃棄手段
14,18 廃棄取り消し手段
15 受信用バッファサイズ変更手段
16 通信相手受信バッファサイズ推測手段
17 メモリ
19 オーバーフロー防止手段
21 受信ゆらぎ算出手段
22 受信時刻誤差算出手段
23 電界強度測定手段
24 受信レート測定手段
25 送信ゆらぎ算出手段
26 通信相手受信バッファサイズ導出手段

Claims (5)

  1. パケットの送受信を行う送受信手段と、
    前記送受信手段によるパケットの送受信状況に基づき、通信相手端末の受信バッファのサイズを予測する予測手段と、
    前記予測手段で予測した前記通信相手端末の受信バッファのサイズを保持する保持手段と、
    前記保持手段に保持している前記通信相手端末の受信バッファのサイズに応じて、送信パケットの破棄と送信タイミングとを制御する制御手段と、
    を備えることを特徴とする通信端末装置。
  2. 前記予測手段は、前記送受信手段におけるパケットの送信時刻のゆらぎ、受信時刻のゆらぎ、受信レートおよび電界強度に基づいて、前記通信相手端末の受信バッファのサイズを予測することを特徴とする請求項1に記載の通信端末装置。
  3. 前記制御手段は、送信遅延時間と前記通信相手端末の受信バッファのサイズに基づき、廃棄する送信パケットを決めるとともに、送信パケットの送信ロス率を測定し、該送信ロス率が予め設定した許容送信ロス率以上となった場合は、廃棄対象となった送信パケットの廃棄を取り消して送信することを特徴とする請求項1に記載の通信端末装置。
  4. 前記制御手段は、前記通信相手端末の受信バッファのサイズと自端末の送信バッファに保持されている送信パケット数とに基づき、該通信相手端末の受信バッファにおけるオーバーフロー発生の可能性を判定し、該通信相手端末の受信バッファにてオーバーフローが発生する可能性があると判定した場合、送信パケットの送信を遅延させることを特徴とする請求項1に記載の通信端末装置。
  5. パケット通信が可能な通信端末装置におけるパケット送信制御方法であって、
    パケットの送信時刻のゆらぎ、受信時刻のゆらぎ、受信レートおよび電界強度に基づき、通信相手端末の受信バッファのサイズを予測し、
    予測した通信相手端末の受信バッファのサイズを保持し、
    保持している通信相手端末の受信バッファのサイズに応じて、送信パケットの破棄と送信タイミングとを制御することを特徴とするパケット送信制御方法。
JP2006265083A 2006-09-28 2006-09-28 通信端末装置およびパケット送信制御方法 Withdrawn JP2008085823A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006265083A JP2008085823A (ja) 2006-09-28 2006-09-28 通信端末装置およびパケット送信制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006265083A JP2008085823A (ja) 2006-09-28 2006-09-28 通信端末装置およびパケット送信制御方法

Publications (1)

Publication Number Publication Date
JP2008085823A true JP2008085823A (ja) 2008-04-10

Family

ID=39356185

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006265083A Withdrawn JP2008085823A (ja) 2006-09-28 2006-09-28 通信端末装置およびパケット送信制御方法

Country Status (1)

Country Link
JP (1) JP2008085823A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010200861A (ja) * 2009-02-27 2010-09-16 Taiyo Elec Co Ltd 遊技機
JP2013118578A (ja) * 2011-12-05 2013-06-13 Oki Electric Ind Co Ltd 音声通信装置及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010200861A (ja) * 2009-02-27 2010-09-16 Taiyo Elec Co Ltd 遊技機
JP2013118578A (ja) * 2011-12-05 2013-06-13 Oki Electric Ind Co Ltd 音声通信装置及びプログラム

Similar Documents

Publication Publication Date Title
EP1739885B1 (en) Power consumption reduction for unscheduled APSD during real time services
EP2936770B1 (en) Apparatus and methods for controlling jitter buffer
EP2137883B1 (en) Method of transmitting data in a communication system
KR100902456B1 (ko) 단 대 단 VoIP 매체 지연을 관리하는 방법 및 장치
JP6416376B2 (ja) 冗長性に基づくパケット送信エラー回復のシステムおよび方法
TWI439086B (zh) 顫動緩衝器調整技術
EP2382726B1 (en) Method of transmitting data in a communication system
EP2140637B1 (en) Method of transmitting data in a communication system
EP3490199B1 (en) Calling method and terminal
US8538470B2 (en) Call server, call terminal, call system, transfer processing method, and program storage medium storing program thereof
JP2007089174A (ja) 無線通信システムにおける信号の伝送速度を改善する方法及び装置
CN106027480B (zh) 用于控制话音质量的方法和设备
US6446042B1 (en) Method and apparatus for encoding speech in a communications network
JP2008085823A (ja) 通信端末装置およびパケット送信制御方法
JP4655870B2 (ja) パケット送受信システムおよび経過時間測定方法
US20060133325A1 (en) Method and apparatus for determing when to begin communication resource acquisition
JP2008085822A (ja) 通信端末装置およびパケット送信制御方法
JP6031752B2 (ja) 音声通信装置及びプログラム
WO2014132723A1 (ja) 送信レート制御装置送信レート制御システム、送信レート制御方法及び送信レート制御プログラム
JP4426186B2 (ja) 音声信号処理装置
CN117062152A (zh) 报文传输方法、装置及网络设备
JP2007067658A (ja) パケット送信方法、パケット送信装置及びパケット送信プログラム
TW200810473A (en) Wireless architecture for a traditional wire-based protocol

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20091201