(57)【特許請求の範囲】
【請求項１】
送信側から送信され、音声データを収容している通信パケットを、ネットワークを介して受信するパケット受信装置において、
受信した前記通信パケットを含むパケットを一時的に蓄積して待ち行列を形成する先入れ先出し形式のパケット蓄積手段と、
前記待ち行列の長さに関して読み出し開始用閾値の設定を受ける読み出し開始用閾値設定手段と、
前記待ち行列の長さが伸長して当該読み出し開始用閾値に達すると、前記パケット蓄積手段からパケットの読み出しを開始する第１の蓄積制御手段と、
前記待ち行列の長さに関して廃棄開始用閾値の設定を受ける廃棄開始用閾値設定手段と、
前記待ち行列の長さに関して廃棄終了用閾値の設定を受ける廃棄終了用閾値設定手段と、
前記待ち行列の長さが伸長して前記廃棄開始用閾値に達するたびに、当該待ち行列の長さを短縮し、短縮後の前記待ち行列の長さが前記廃棄終了用閾値に達するまで、当該待ち行列中で先頭から順番に、１または複数のパケットに廃棄処理を施す第２の蓄積制御手段とを備え、
前記読み出し開始用閾値を最も小さく設定し、前記廃棄開始用閾値を最も大きく設定し、前記廃棄終了用閾値を前記読み出し開始用閾値及び前記廃棄開始用閾値の中間値に設定すると共に、前記読み出し開始用閾値を、前記通信パケットの受信時刻のジッタに関する標準偏差の３倍から４倍の範囲に相当する待ち行列の長さに設定する
ことを特徴とするパケット受信装置。
【請求項２】
請求項１のパケット受信装置において、
前記第２の蓄積制御手段の廃棄処理に際して、前記通信パケットについては収容している音声データの内容に応じて廃棄処理を施すか否かを決定する廃棄パケット選択手段を備えることを特徴とするパケット受信装置。
【請求項３】
請求項１のパケット受信装置において、
前記通信パケットが受信される前に、前記パケット蓄積手段に対して、微少雑音の音声データを収容したダミーパケットを蓄積しておくダミーパケット生成手段を備えたことを特徴とするパケット受信装置。
【請求項４】
請求項１〜３のいずれかのパケット受信装置において、
時系列に受信される前記各通信パケットについて、受信スケジュールの遅延限界を示す受信限界時刻を設定する受信限界時刻設定手段と、
前記各通信パケットが対応する当該受信限界時刻までに受信されなかった場合、所定のエラーパケットを前記パケット蓄積手段に蓄積するエラーパケット生成手段と、
対応する受信限界時刻以降に受信された通信パケットを廃棄する遅延パケット廃棄手段とを備えたことを特徴とするパケット受信装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はパケット受信装置に関し、例えば、符号化した音声信号をパケット化して伝送し、伝送されてきたパケットを受信、復号して音声信号を出力する場合などに適用し得るものである。
【０００２】
【従来の技術】
まず、パケットによる音声送受信システムの一例を、図２を用いて説明する。
【０００３】
図２において、送信装置２１の端子１から入力された音声信号は、入力バッファ２に格納された後、符号化部３で音声符号化される。この符号化音声は、フレームという単位で処理され、生成される。当該符号化音声フレームは、パケット通信網１１を伝送するためにパケット化する必要がある。
【０００４】
通常、１つのパケット内には複数の（符号化音声）フレームが収容されるため、パケット化できる量になるまで、符号化音声は送信バッファ４に蓄えられる。パケット化に十分な量が送信バッファ４に蓄積されたところで、蓄積された複数のフレームに必要なヘッダ情報を付加してパケット化が実行される。
【０００５】
このパケット化によって生成されたパケットは、端子５から送出パケットとしてパケット通信網１１に送出され、パケット通信網１１を伝送されたのち、受信パケットとして受信装置２１に受信される。
【０００６】
受信パケットは、受信装置２１の受信端子６で受信され、受信バッファ部７に一時的に蓄えられた後、復号部８で復号される。この復号音声は出力バッファ９に送られ、出力端子１０から音声出力される。受信バッファ部７は、受信したパケットを一時的に蓄積するためのＦＩＦＯ（先入れ先出しタイプのメモリ）を主体とするデバイスである。
【０００７】
理想的なパケット通信網１１の場合、図４(Ａ）に示すように、前記送信装置２０から時系列に送出されたパケット（フレーム）Ｐ１〜Ｐ８は欠落することなく、常に等間隔で受信バッファ部７に到着する。図４（Ａ）では、ｔ０とｔ１の間隔、ｔ１とｔ２の間隔、ｔ２とｔ３の間隔、…、ｔ８とｔ９の間隔はすべて、一定時間Ｔであり、時系列な受信パケットＰ１、Ｐ２、Ｐ３、…、Ｐ８は当該間隔Ｔを置いて受信バッファ部７に到着する。
【０００８】
このような理想的なケースでは、各受信パケットＰ１〜Ｐ８は、受信バッファ部７に入ると直ちに読み出されて復号され、端子１０からは、図４（Ｂ）に示すような理想的な音声出力が得られる。すなわち図４（Ｂ）の音声出力には、途切れ（音声出力に間欠的に発生する空白状態）も、音飛び（音声出力の意味的な連続性の喪失状態）も発生しない。
【０００９】
【発明が解決しようとする課題】
しかしながら一般的には、パケット通信網１１は多くの利用者が同時に使用するため、ある送出パケットがパケット通信網１１に入ってから出てくるまでの時間は、時々刻々と変動するパケット通信網１１の混雑具合に依存し、上述した理想的なケースは、極めてまれにしか起こり得ない。
【００１０】
すなわち、現実のパケット通信網１１では、通常、パケット通信網１１の混雑の程度が比較的軽微な場合は受信パケットの到着が等間隔Ｔに近い時間となるが、パケット通信網１１の混雑の程度が高い場合には、各受信パケットの到着時刻変動が大きくなる。その様子は、例えば図３（Ａ）および（Ｂ）に示したようなものである。
【００１１】
図３（Ａ）では、時系列な受信パケットＰ１〜Ｐ８のうち、３番目の受信パケットＰ３が遅れて到着し、更に通信網１１内で６番目の受信パケットＰ６を紛失した場合である。
【００１２】
図３（Ａ）において、受信パケットＰ１とＰ２は、それぞれ定刻（ジッタが無い場合の各パケットの到着時刻）ｔ１、ｔ２に受信バッファ部７に到着したため、受信バッファ部７に入ると同時に読み出されて復号され、音声出力される。ここで、ジッタ（遅延揺らぎ）とは、前記時系列に受信される受信パケットＰ１〜Ｐ８のうち、隣接するパケット間（例えば受信パケットＰ２とＰ３のあいだ）の相対的な受信時間間隔が（前記Ｔから）変動する現象である。
【００１３】
ところで、前記受信パケットＰ２につづいて受信されるパケットＰ３はジッタのために定刻ｔ３よりも遅れて到着したから、時刻ｔ３には受信バッファ部７が空になり、復号部８に渡すデータ（パケット、フレーム）がない。このため、端子１０からの出力音声を示した図３（Ｂ）では、Ｐ２に対応する音声出力を行ったあと一時的に音声が途切れて再生音が切断された状態となる。復号部８に渡すデータがない場合、直前フレームのデータを模倣したエラーフレームを作成して、これを復号部８に渡すことで再生音が切断されないようにすることも考えられるが、この部分での再生音の劣化は防げない。
【００１４】
この後、遅刻して到着した受信パケットＰ３は、時刻ｔ４に定刻で到着した受信パケットＰ４と共に受信バッファ部７に蓄積され、先に到着した受信パケットＰ３が時刻ｔ４に読み出されて、復号、再生される。
【００１５】
本来、受信パケットＰ３は時刻ｔ３に再生されるべきデータのため、この時点で再生遅延（ｔ４−ｔ３）が発生する。ここで、遅延とは、ある受信パケット（フレーム）に関する受信や再生の時刻が、その受信パケットに対応付けて設定された絶対的な受信時刻や再生時刻から遅れる現象である。
【００１６】
図３(Ａ）および（Ｂ）において、受信バッファ部７の状態に着目すると、受信バッファ部７に蓄積されているデータが存在しないバッファ空状態が発生するたびに、遅延が積算されていくということができる。
【００１７】
ただし、遅延が積算されるためには、単にバッファ空状態が発生しただけでは足りず、復号部７が受信バッファ部７に対してデータの読み出しを要求した時点にバッファ空状態が維持されていることを要する。それによってはじめて、再生時刻に遅延が生じるからである。上述した図４（Ａ）の理想的なケースでも、例えば時刻ｔ３に復号部８がデータＰ３の読み出しを要求すると、データＰ３は直ちに受信バッファ部７から読み出されるが、次のデータＰ４は少なくとも次の読み出し要求時刻ｔ４までに受信バッファ部７に蓄積されていればよいから、最大で、ほぼ時間Ｔのあいだ、受信バッファ部７は空状態であってもよいことになる。したがって、このような単なるバッファ空状態と区別するために、前記遅延が積算され得るバッファ空状態を要求時バッファ空状態と呼ぶことにする。
【００１８】
結局、この要求時バッファ空状態の発生は、音声の切断（途切れ）と遅延増加という、２つのデメリットをともなうことになる。
【００１９】
このあと図３（Ｂ）では、当該時刻ｔ４につづく時刻ｔ５までに、受信パケットＰ４とＰ５がこの順番で受信バッファ部７に蓄積される。そして受信パケットＰ４は時刻ｔ５に、受信パケットＰ５は時刻ｔ６に、それぞれ読み出されて復号、再生されるが、パケットＰ６を通信網１１内で紛失したため、時刻ｔ７には受信パケットＰ７が受信バッファ部７に到着し、同時に読み出されて復号、再生されている。
【００２０】
この様に、受信パケットＰ５の後に（受信パケットＰ６ではなく）受信パケットＰ７が再生されると、受信パケットＰ６のデータが欠落し、再生音には前記音飛びが発生してしまうが、その一方で、受信パケットＰ６の紛失は、これまでの遅延を解消して、受信パケットＰ７を定刻のｔ７に再生させるという利点ももたらす。
【００２１】
より一般的には、受信パケットの紛失は、それまで積算されてきた遅延を減少させる利点と同時に、音飛びの発生という不利益をともなうということができる。
【００２２】
図３（Ａ）、（Ｂ）に示したようなジッタの影響を排除するための方法が、特開平７−３０６６９７号公報（文献１）、特開平７−３３４１９１号公報（文献２）、に示されている。
【００２３】
更に、上述した受信パケットの紛失は“パケットロス”あるいは、“パケット損失”とも呼ばれ、ジッタ対策とパケットロス対策が、特開平１０−２８５２１３号公報（文献３）に示されている。
【００２４】
ところが、文献１に記載されたジッタ対策では、受信バッファ部７と復号部８の間に新たな手段を設け、本来廃棄されるべき受信パケットのなかから再生可能なフレームのみを抽出する。このため、原理的には、再生が終了したフレーム数やフレーム番号を、パケット通信が終了するまで連続カウントしなければならないが、長時間のパケット通信を行った場合、このカウント数は膨大になる。フレーム数のカウントには、専用の演算器が必要なだけでなく、前述した膨大な数値を記憶する装置が必須となるため、コストが著しく増加する可能性が高い。
【００２５】
また、文献２では、復号部８と出力バッファ９との間に新たな処理部を設ける。受信パケットの遅刻によって生じた遅延を相殺するために、受信パケットを復号した後、時間軸圧縮という新たな手段を用いて受信パケット内の無音部を、先の遅延時間分、圧縮して出力する。この方法では、言うまでもなく時間軸圧縮手段を実現するための演算部が新たに必要となるが、時間軸圧縮の演算量が膨大なため、この演算部には非常に高い演算性能が要求される。これにより、装置コストが著しく増大する可能性が高い。
【００２６】
同時にこの方法は、受信パケットの遅刻により受信バッファ部７が空になった場合のみを対象にしており、受信バッファ部７が空になって発生した遅延を記憶し、後に到着する受信パケットの再生音を圧縮して遅延分の時間を短縮しなければならない。したがってこの遅延を記憶する手段の新設、各再生音に対する圧縮割合の割り当て計算など、コストや演算量が更に増加する。
【００２７】
最後に、文献３に記載されたジッタ対策とパケットロス対策では、有音部のみを符号化、送信する装置において、受信パケットの遅刻やパケットロスによって受信バッファ部７にデータが無くなった場合、従来のように、ダミーの１フレームを復号部に渡しつつ、次パケットの到着を待つのではなく、復号部にはダミーの１パケットを渡す。そしてこのダミーパケットを復号中に本来のパケットが到着しても、これを廃棄することで遅延の発生を防ぐ。
【００２８】
この方法の場合、受信バッファの容量によって、ダミーパケットの挿入率が大幅に変動する。例えば、初期遅延の減少を目的に受信バッファを小さく設定すると、遅刻する受信パケットが増大してダミーパケットの挿入率が著しく増加し、激しい音質劣化をまねく。さらにこの文献３には、これほど重要な受信バッファの容量設定方法は一切記述されておらず、この方法による効果を得るには膨大な量の試行錯誤が必要となり、ただちに、期待通りの効果を実現することは困難であると考えられる。
【００２９】
なお、文献１〜文献３に記載された技術に共通する特徴は、受信バッファに蓄積されている復号用データが無くなり、受信バッファが空状態になって初めて、ジッタ対策やパケットロス対策を開始する点にある。
【００３０】
【課題を解決するための手段】
かかる課題を解決するために、第１の発明では、送信側から送信され、音声データを収容している通信パケットを、ネットワークを介して受信するパケット受信装置において、（１）受信した前記通信パケットを含むパケットを一時的に蓄積して待ち行列を形成する先入れ先出し形式のパケット蓄積手段と、（２）前記待ち行列の長さに関して読み出し開始用閾値の設定を受ける読み出し開始用閾値設定手段と、（３）前記待ち行列の長さが伸長して当該読み出し開始用閾値に達すると、前記パケット蓄積手段からパケットの読み出しを開始する第１の蓄積制御手段と、（４）前記待ち行列の長さに関して廃棄開始用閾値の設定を受ける廃棄開始用閾値設定手段と、（５）前記待ち行列の長さに関して廃棄終了用閾値の設定を受ける廃棄終了用閾値設定手段と、（６）前記待ち行列の長さが伸長して前記廃棄開始用閾値に達するたびに、当該待ち行列の長さを短縮し、短縮後の前記待ち行列の長さが前記廃棄終了用閾値に達するまで、当該待ち行列中で先頭から順番に、１または複数のパケットに廃棄処理を施す第２の蓄積制御手段とを備え、（７）前記読み出し開始用閾値を最も小さく設定し、前記廃棄開始用閾値を最も大きく設定し、前記廃棄終了用閾値を前記読み出し開始用閾値及び前記廃棄開始用閾値の中間値に設定することを特徴とする。
【００３２】
【発明の実施の形態】
（Ａ）実施形態
以下、本発明のパケット受信装置の実施形態について説明する。
【００３３】
第１〜第３の実施形態に共通する特徴は、要求時バッファ空状態が発生する前にジッタ対策や遅延対策を実行する点にある。
【００３４】
（Ａ−１）第１の実施形態の構成
図１４に本実施形態のパケット受信装置３０の構成を示す。この受信装置３０は、上述した図２中の受信装置２１と同様に、送信装置２０から送信され、パケット通信網１１を伝送されてきた受信パケットを、時系列に受信する装置である。
【００３５】
図１４において、受信装置３０は、受信端子６と、受信バッファ部７と、復号部８と、出力バッファ９と、出力端子１０とを備えている。
【００３６】
このうち構成要素６〜１０の機能は、基本的に、対応する符号を付した図２の各部と同じである。
【００３７】
ただし、本実施形態の受信バッファ部７は、図１４に示すように、バッファ７１と、バッファ制御部４０と、間引き制御部７２とを備えている。
【００３８】
このうちバッファ７１は、受信端子６でパケット通信網１１から受信した受信パケットを一時的に蓄積するためのＦＩＦＯメモリであるが、少なくとも、符号化されて送信されたデータを記憶できればよく、例えば半導体メモリ、フラッシュメモリなどの記憶装置が使用できる。
【００３９】
また、バッファ制御部４０は、図１に示すような内部構成を備えている。
【００４０】
（Ａ−１−１）バッファ制御部の内部構成
図１において、バッファ制御部４０は、キュー（待ち行列）長検出部４１と、復号開始点設定部４２と、比較部４３と、読み出し制御部４４とを備えている。
【００４１】
キュー長検出部４１は、バッファ７１に蓄積されているパケット（このパケットは、本実施形態ではすべて受信パケットであるが、第２、第３の実施形態では受信パケット以外のパケットも混入され得る）によって形成されたキューの長さをリアルタイムで検出するための部分で、その検出結果としてのキュー長信号ＱＬを、間引き制御部７２内の判定部７２３と、比較部４３に供給する。
【００４２】
キューの長さは、通信開始時点ではゼロであるが、受信装置３０が通信網１１から受信した受信パケットを逐次、バッファ７１に書き込むことによって、徐々に伸長する。
【００４３】
また、復号開始点設定部４２は復号開始点７１１の設定を受けて、当該復号開始点７１１の値（前記キュー上の位置）に応じた復号開始点信号ＤＰを、比較部４３に供給する部分である。
【００４４】
比較部４３は、キュー長信号ＱＬと復号開始点信号ＤＰを比較して、ＱＬの値がＤＰの値を初めて上回ったときに、読み出し指示信号ＣＲを読み出し制御部４４に供給する部分である。
【００４５】
この読み出し制御部４４はバッファ７１からのパケットの読み出しを制御する部分である。前記読み出し指示信号ＣＲの供給を受けると、当該読み出し制御部４４がバッファ７１からのパケットの読み出しを開始し、以降は、復号部８から読み出し要求信号ＲＲが供給されるたびに、１つずつパケットを読み出して行く。
【００４６】
復号部８は直前に受け取ったパケットの復号処理が終了して次のパケットの復号処理を行うことができる状態になると読み出し要求信号ＲＲを出力するから、各受信パケットの長さをほぼ一定とすると、定常的な通信状態においては、ほぼ一定の時間間隔で読み出し要求信号ＲＲが出力され、一定の時間間隔でバッファ７１からパケットが読み出されることになる。
【００４７】
ただし読み出し制御部４４は、間引き制御部７２内の判定部７２３から廃棄候補読み出し指示信号ＤＲを受け取ると、ＣＲやＲＲの状態と無関係にバッファ７１からパケットを読み出すことができる。ＤＲによる読み出しは、後述する間引き開始点７１２との関係で、間引き、すなわち廃棄処理の対象となるパケットを選択するために行われるので、読み出し要求信号ＲＲによる読み出しが１回実行される期間内に、複数回実行され得る。複数回実行されることにより、遅延の減少が可能になる。
【００４８】
前記復号開始点７１１の役割は前記ジッタの影響を排除することにあるので、その値は、通信網１１の混雑状態に依存して設定されることになる。
【００４９】
例えば、通信網１１が非常に空いている場合、各受信パケットは、およそ等間隔で受信されるため、復号開始点７１１はバッファ７１の先頭から１パケット〜２パケット程度の浅い位置（すなわち小さな値）に設定すれば十分であり（バッファ７１の先頭に近い位置を“浅い位置”、遠い位置を“深い位置”と表現する）、通信網１１が完全に理想的な状態でジッタ無しの場合には、０パケット（バッファ７１の先頭位置）としてもよい。
【００５０】
つまり、パケットの到着間隔の変動（ジッタ）が１パケット〜２パケット分ならば、先頭から１パケット〜２パケット程度の浅い位置に復号開始点７１１を設定しても、バッファ７１が空になることはないと言い換えることができる。バッファ７１が空にならなければ、上述した要求時バッファ空状態が発生することもなく、音声の切断（途切れ）や遅延増加が生じない。
【００５１】
また、パケット数は時間の尺度に換算することができるから、復号開始点７１１の位置も時間で表現することが可能である。例えば、１パケットが５フレームで構成され、１フレームのデータ長が０．０１秒に相当する場合、１パケットに相当する時間は０．０５秒（＝０．０１秒×５フレーム×１パケット）となり、２パケット分の時間は０．１秒（＝０．０１秒×５フレーム×２パケット）となる。したがって、前記復号開始点７１１を１パケット〜２パケット分に設定するということは、時間で表現すると、０．０５秒〜０．１秒の時間位置に復号開始点７１１を設定することを意味する。
【００５２】
同時にまた、復号開始点７１１をこの０．０５秒〜０．１秒の時間位置に設定するということは、通信開始後、受信装置３０が通信網１１から受信パケットを受信してから、０．０５秒〜０．１秒間は、音声出力が得られないことをも意味する。ただしここでは、復号部８や出力バッファ９などにおける処理に要する時間を無視している。
【００５３】
逆に、通信網１１が非常に混雑している場合には、各受信パケットのジッタが大きいため、復号開始点７１１を１パケット〜２パケット分に設定したのでは、すぐにバッファ７１が空になり、要求時バッファ空状態が発生して音途切れ（切断）を招き、再生音質が劣化する。
【００５４】
よって、この様な場合は、復号開始点７１１をバッファ７１の先頭から５パケット、あるいは、１０パケット程度の深い位置に設定する必要がある。
【００５５】
しかし、復号開始点７１１の位置を深くするほど、通信開始から復号が始まって音声出力が得られるまでに長い時間を必要とするから、復号開始点７１１を例えば、バッファ７１の先頭から５パケット、あるいは、１０パケット程度の深い位置に設定した場合、通信開始から、前記０．０５秒〜０．１秒よりも５倍から１０倍も長い時間、音声出力が得られない。
【００５６】
この通信開始時の遅延を初期遅延と呼ぶ。
【００５７】
初期遅延も前記遅延の一種であり、通信評価を低下させる要因となるから、復号開始点７１１は、可能な限り浅い位置に設定するのが望ましい。
【００５８】
このような特質を有する復号開始点７１１の設定に関して、本発明者は、通信網１１のジッタ分布の幅に基づいて復号開始点７１１を設定するのがよいことを見出した。
【００５９】
さらに、ジッタ分布の標準偏差をσとすると、復号開始点位置は、σ×３〜４の範囲内の位置に設定するのが、特に望ましいことも見出した。
【００６０】
(Ａ−１−２）σ×３〜４について
ジッタ分布に関する標準偏差σの係数の値としてこの３〜４が特に好ましいことは、図１３によって裏付けられる。
【００６１】
図１３に示すように、受信バッファ７１の枯渇率（前記バッファ空状態が発生する率）は、係数が３よりも大きいときには０に近いが、係数が３の近傍より小さくなると急激に上昇している。
【００６２】
また、再生遅延（上述した遅延に対応する）は、係数が４よりも小さいときにはほぼ一定値を維持して十分に小さいが、係数が４の近傍より大きくなると上昇しはじめる。
【００６３】
受信バッファ７１の枯渇率が高いことも、再生遅延が大きいことも、出力端子１０から出力される音声の品質を劣化させる要因であるため、枯渇率も再生遅延も十分に小さい係数値の範囲、すなわち係数が３〜４の範囲が、最も好ましいといえる。
【００６４】
具体的には、通信網１１のσが０．０８秒の場合、復号開始点７１１は、０．２４〜０．３２秒の時間位置に設定するとよい。これにより、受信バッファ７１に符号化データ（フレーム）が０．２４〜０．３２秒分蓄積するまで、バッファ制御部４０は受信パケットの読み出しを行わず、復号部８にも、データは供給されない。
【００６５】
一方、前記バッファ７１には、前記復号開始点７１１のほかに、間引き開始点７１２が設定され、必要に応じて間引き終了点７１３も設定される。
【００６６】
間引き開始点７１２は、前記復号開始点７１１と同様なキュー上の点であるが、上述した図３（Ａ）、（Ｂ）で受信パケットＰ６が紛失したケースと同様な状態を意図的につくりだして、遅延を減少し解消することを目的としている。
【００６７】
この間引き開始点７１２に関連した機能を持っているのが、前記間引き制御部７２である。
【００６８】
間引き制御部７２は図１４に示すように、判定部７２３と、切替えスイッチ７２１と、廃棄処理部７２２とを備えている。
【００６９】
このうち判定部７２３は、前記バッファ制御部４０内のキュー長検出部４１から供給されるキュー長信号ＱＬと、間引き開始点７１２の値を示す間引き開始点信号ＤＳと間引き終了点７１３の値を示す間引き終了点信号ＤＥとをもとに、切替えスイッチ７２１を制御する部分である。
【００７０】
判定部７２３が切替えスイッチ７２１の廃棄処理部７２２側の接点７２１Ａを選択した場合には、バッファ７１から読み出されて判定部７２３に供給された受信パケットは、廃棄処理部７２２によって廃棄され、反対に復号部８側の接点７２１Ｂを選択した場合には、復号部８によって復号される。
【００７１】
ただし判定部７２３は、この選択を行う際には、ＱＬ、ＤＳ、ＤＥのほかに、バッファ７１から読み出したパケットの符号化音声データ示す音声的な内容も参照して、そのパケットを廃棄してもよいかどうかを判定する。すなわち、後述するように、出力端子１０から出力される音声の聴覚特性上、廃棄すると音質に与える影響が大きい受信パケットは廃棄せず、影響が小さい受信パケットは廃棄するものと判定する。
【００７２】
これにより、パケットを廃棄しても上述した図３（Ａ）、（Ｂ）でパケットＰ６が紛失したケースのように、再生音に音飛びが発生することがない。
【００７３】
なお、この判定部７２３と、切替えスイッチ７２１、廃棄処理部７２２は、ソフトウエアや電気回路で構成することができる。
【００７４】
また、前記間引き終了点７１３とは、間引き開始点７１２と同様なキュー上の点であって、間引き開始点７１２からはじまる間引き操作の終了位置を規定する点である。
【００７５】
前記復号開始点７１１、間引き開始点７１２、および間引き終了点７１３は、バッファ７１内に回路的に設けることもできるし、ソフトウエア上に条件式として設けることもできる。
【００７６】
また、一般的に、復号開始点７１１と、間引き開始点７１２と、この間引き終了点７１３の値の大小関係は、次の式（１）のようになる。
【００７７】
バッファ７１の先頭位置≦復号開始点７１１≦間引き終了点７１３≦間引き開始点７１２                  …（１）
この式（１）からも、間引き開始点７１２の位置は、復号開始点７１１と同じか、深い位置に設定する必要があることがわかる。ただし、間引き開始点７１２を必要以上に深い位置に設定すると、受信バッファ７１のデータ蓄積量（キュー長）が間引き開始点７１２に、ほとんど達しないため、遅延減少という効果を得られなくなる可能性がある。
【００７８】
また、間引き終了位置７１３は、間引き開始点７１２と同一にしたり、復号開始点７１１と同一にしたり、復号開始点７１１と間引き開始点７１２の間にしたりすることが可能で、式（１）には反するが、必要に応じて、復号開始点７１１より浅い位置に間引き終了点７１３を設定することも可能である。
【００７９】
ただし、キュー長が間引き開始点７１２に達していったん間引き操作が開始されると、必ず間引き終了点７１３まで受信バッファ７１のデータ蓄積量が減少するため、浅い位置に間引き終了点７１３を設定すると、比較的大きな遅延を短時間で解消することができる利点がある反面、受信バッファ７１が空になる可能性が高くなる。受信バッファ７１が空になった時に復号部８からデータを要求されると、前述した要求時バッファ空状態となり、音途切れが発生するため好ましくない。
【００８０】
もしも、浅い位置に間引き終了点７１３を設定した状態で、前記音飛びを防止しようとすると、判定部７２３における判定の結果、廃棄することができないと認められたパケットを蓄積しておくためのバッファを、間引き制御部７２内などに設ける必要が生じると考えられハードウエア量が増加してしまう。あるパケットに対する判定部７２３による前記判定（廃棄することができない旨の判定）が完結したとき、復号部８ではまだ、直前に読み出したパケットの復号を終了していない可能性があるからである。
【００８１】
また、間引き終了点７１３を設定しない場合でも、判定部７２３に間引き操作によって対応しようとしている遅延の大きさに関する情報を供給することで、間引き操作が現実に発生している遅延の大きさを超えて行われることを防止することはできる。
【００８２】
したがって間引き終了点７１３の設定は必ずしも必須ではないが、本実施形態では、間引き終了点７１３は設定するものとし、しかも間引き開始点７１２と同じ値に設定するものとした。
【００８３】
間引き終了点７１３を間引き開始点７１２と同じ値にするということは、間引き開始点７１２からはじまって間引き終了点７１３で終わるまでの一度の間引き操作で減少することができる遅延の時間幅はほぼ１パケット分の時間幅に限定することを示す。通信網１１による遅延が通常範囲であればこれでも十分に対応可能であると考えられる。
【００８４】
また本実施形態では、上述したように間引き開始点７１２と間引き終了点７１３とを同じにするだけでなく、前記復号開始点７１１もこれらと一致させるものとする。すなわち、復号開始点７１１、間引き開始点７１２、間引き終了点７１３の３点の位置は全て同一点とする。しかも、これら３点に共通の位置ＣＰは、上述したσ×３〜４の範囲に設定する。これは、例えば、σ×３．５の位置であってよい。これにより受信バッファ７１が空になる可能性が非常に低く、かつ、遅延を、最低限にすることが可能となる。
【００８５】
ところで、このように３点を一致させた場合、キュー長が３点の共通位置ＣＰを上回ると、バッファ７１から１パケット読み出され、その受信パケットがたまたま、廃棄すると音質に与える影響が大きいパケットであった場合には、その回の間引き操作では遅延を減少することができないが、同様な間引き操作を繰り返すことによって、定常的には遅延が低減または解消された状態を維持することができる。その回の間引き操作で遅延を減少できない場合、次回に受信した受信パケットが蓄積されると、キュー長は再び間引き開始点ＣＰを超えて、再度、間引き操作を行うことができる可能性が高いからである。
【００８６】
なお、判定部７２３は、受信パケットを構成する複数のフレームの各々について、廃棄すると音質に与える影響が大きいかどうかを判定することが可能なので、一度の間引き操作は１パケット分の複数フレームを対象とし、フレーム単位で廃棄するかどうかを判定して、フレーム単位で遅延を減少することも可能である。
【００８７】
この場合、廃棄も復号も、パケット単位ではなくフレーム単位で行われることになる。
【００８８】
また、切替えスイッチ７２１を介してこの判定部７２３に接続された前記復号部８は、受信した符号化音声データを復号して通常の音声データに変換する部分である。
【００８９】
音声の符号化、復号方式は、例えば、線形ＰＣＭ、ＩＴＵ−Ｔ勧告のＧ．７１１（μ則ＰＣＭ）、Ｇ．７２６（ＡＤＰＣＭ）、Ｇ．７２３．１、Ｇ．７２９（ＣＳ−ＡＣＥＬＰ）といった方式や、ＣＥＬＰ（Ｃｏｄｅ  Ｅｘｃｉｔｅｄ  Ｌｉｎｅａｒ  Ｐｒｅｄｉｃｔｉｏｎ：符号励振線形予測）符号化方式、リニアＰＣＭ方式などが利用でき、特に限定するものではない。
【００９０】
ここで、符号化時の１フレームの時間は、符号化方式に依存している。例えば、上記のＧ．７２９方式では、１フレームが１０ｍｓ（０．０１秒）であり、Ｇ．７２３．１方式では、１フレームが３０ｍｓ（０．０３秒）である。また、１パケットに含まれるフレーム数（パケットサイズ、パケット長と呼ぶ）も様々あり、こちらは使用する装置によって任意に決定することができる。ただし、通常、符号化音声データを複数フレーム繁げたものに、通信方式固有の情報（ヘッダと呼ぶ）が付属して１つのパケットを構成するため、パケットサイズを小さくすると、遅延時間が少なくなるかわりに、より高速な通信速度を要求される。逆に、パケットサイズを大きくすると通信速度は低減できるが、パケットロス時の影響や、遅延時間が増加する傾向となる。
【００９１】
また、前記出力バッファ９は、バッファ７１と同様な記憶部で、復号部８から受け取った音声データを出力部１０に出力する機能を持つ。
【００９２】
以下、上記のような構成を有する本実施形態の動作について説明する。
【００９３】
（Ａ−２）第１の実施形態の動作
本実施形態の受信装置３０の動作を、図５の動作フローに示す。図５の動作フローは、Ｓ１〜Ｓ１０の各ステップから構成されている。ただし、この動作フローは、前記式（１）の等号が成立せず、復号開始点７１１と間引き終了点７１３と間引き開始点７１２がそれぞれ別個な点である場合や、これらが前記共通位置ＣＰで一致したとしても、各受信パケットの長さが必ずしも一定でなく、廃棄や復号を、フレーム単位で行うかパケット単位で行うかを限定しないケースに広く対応可能な、普遍性のあるフローチャートとなっている。
【００９４】
図５において、通信が開始されると受信バッファ７１はパケットを順次受信（Ｓ１）し、蓄積する（Ｓ２）。このデータ蓄積量が復号開始点７１１を超えたところで、バッファ制御部４０内の読み出し制御部４４は、パケットの読み出しを開始し、受信バッファ７１から、フレームのデータを順次取り出して復号処理していく。
【００９５】
この様子を時間経過とともに示した図６（Ａ）および（Ｂ）において、時刻ｔ１には受信パケットＰ１だけがバッファ７１内に蓄積されていて、キュー長（データ蓄積量）が復号開始点７１１に達していないため、バッファ７１から当該受信パケットＰ１は読み出されない。
【００９６】
時刻ｔ１の次の時刻ｔ２には、本来、遅くともｔ２までに蓄積されるはずのパケットＰ２が遅刻してまだ蓄積されていない。このため、キュー長は時刻ｔ１と同じで、バッファ７１からの受信パケットの読み出しは行われない。
【００９７】
つづく時刻ｔ３には、遅刻していた前記受信パケットＰ２が蓄積されてキュー長が伸長したが、それでもまだ、復号開始点７１１には達していない。そのため、バッファ７１から受信パケットの読み出しは行われない。なお、本来、時刻ｔ３までに蓄積されるはずの受信パケットＰ３は遅刻していてまだ蓄積されていない。
【００９８】
一方で、ｔ１〜ｔ３の期間中、復号部８からの読み出し要求ＲＲは読み出し制御部４４に供給されつづけているが、キュー長が復号開始点７１１に達していないために、読み出し制御部４４は、受信パケット（Ｐ１など）の読み出しを行うことができない状態にある。すなわちこの期間中、ステップＳ３の分岐は「待ち」側の選択を繰り返してステップＳ１〜Ｓ３のループが繰り返される。
【００９９】
時刻ｔ４には、遅刻していた受信パケットＰ３と後続の受信パケットＰ４がこの順番に蓄積される。このときの受信パケットＰ３の蓄積により、キュー長が復号開始点７１１を上回ったことが比較部４３によって検出されて、読み出し制御部４４ははじめて、当該読み出し要求ＲＲに応えることができるようになり、ステップＳ３の「開始」側の分岐を選択する。これにより、最も先に蓄積されている前記受信パケットＰ１が読み出され、以降は、すでに蓄積されている受信パケットＰ２〜Ｐ３やこれから蓄積される受信パケット（図示せず）が順次、前記間隔Ｔごとに読み出される。
【０１００】
ステップＳ３の「開始」側の分岐が選択されたことにより、処理は、ステップＳ６に進む。この手順は、普遍性に対応したものである。
【０１０１】
ステップＳ６に進んだあとも、通信網１１の混雑状態などに応じて変動するペースでバッファ７１中に受信パケットが蓄積されて行き、当該蓄積によってキュー長が伸長する。ステップＳ６以降のステップＳ４〜Ｓ１０は、間引き制御部７２によって実行される。
【０１０２】
間引き制御部７２中の判定部７２３は、当該キュー長をバッファ制御部４０内のキュー長検出部４１から供給されるキュー長信号ＱＬに基づいて認識し、間引き（パケット（フレーム）の廃棄）を行わない場合にはステップＳ６の「待ち」側の分岐を選択し、行う場合には「開始」側の分岐を選択する。
【０１０３】
「待ち」側の分岐が選択された場合、バッファ７１から読み出されたパケットには復号処理が施される（Ｓ７）。
【０１０４】
通信網１１の混雑状態が通常範囲で、キュー長の伸長速度も通常範囲である場合、このあとは、ステップＳ６、Ｓ７、Ｓ４、Ｓ５から構成されるループの実行が繰り返される。
【０１０５】
図６(Ａ）および（Ｂ）はこのケースに該当し、時刻ｔ４以降は、パケットＰ１〜Ｐ５の読み出しおよびその復号が繰り返されている。
【０１０６】
一方、通信網１１の混雑状態が通常範囲でない場合には、キュー長の伸長速度も大きく変動し、キュー長が急速に伸長するときに、キュー長が間引き開始点信号ＤＳによって指定される間引き開始点７１２を超えることがある。
【０１０７】
その場合、ステップＳ６は「開始」側に分岐して、読み出したばかりの受信パケットが、廃棄（間引き）することができるパケットであるかどうか調べられ、パケット（フレーム）の選択が行われる（Ｓ８）。当該受信パケットは、前記廃棄候補読み出し指示信号ＤＲによって、廃棄候補として読み出されたものである。
【０１０８】
このステップＳ８では、上述したように、聴覚特性上、廃棄すると音質に与える影響が大きい受信パケット（あるいは１フレームデータ）は廃棄せず、影響が小さい受信パケットは廃棄することによって、廃棄候補のなかから、実際に廃棄する受信パケットが選択される。
【０１０９】
例えば、先のＧ．７２３．１やＧ．７２９の符号化方式で、無音圧縮機能を用いて作成したデータの場合、そのフレームデータ内に、このフレームが有音か、無音か、その中間かの情報が含まれている。この情報を用いて、無音とされたフレームを廃棄することで、発生していた遅延を違和感なく低減することができる。この方法では、フレームデータ自体に判定基準が挿入されているため、無音フレームが連続で６フレーム存在した場合、これら６フレーム全てを廃棄することも可能となる。
【０１１０】
また、この様な情報がフレームに含まれていない場合でも、例えば、直前に復号したフレームの音圧レベルを算出しておき、それが既定値以下ならば直前フレームを無音と判定して、次フレームを廃棄、その次のフレームを復号処理してもよい。一般的に、無音から有音への音圧レベル変化は劇的でないため、直前フレームが無音ならば、次フレームも無音と考えて差し支えない。この場合は、現フレームの廃棄判定に、直前のフレームが関与するため、無音フレームが連続して６フレーム存在した場合でも、廃棄できるのは１フレーム置きの３フレームとなる。
【０１１１】
このようなステップＳ８で廃棄可能と判定された廃棄候補は、廃棄処理部７２２によって廃棄処理され（Ｓ９）、廃棄不可と判定された廃棄候補は復号処理される（Ｓ７）。
【０１１２】
廃棄処理が行われた場合、当該廃棄処理によって、キュー長が間引き終了点７１３まで達したかどうかが調べられる（Ｓ１０）。達していない場合には前記ＤＲによる廃棄候補の読み出しが行われて、読み出されたフレームに対してステップＳ８、Ｓ９またはＳ７が繰り返される。
【０１１３】
廃棄処理によってキュー長が間引き終了点７１３に達した場合には、ステップＳ４、Ｓ５、Ｓ６、Ｓ７から構成されるループが繰り返されるようになり、バッファ７１から間隔Ｔごとに１受信パケット（フレーム）を読み出して復号処理を行う状態に復帰する。そしてこのときには、キュー長は間引き終了点７１３より短くなっており、発生していた遅延は短縮されている。
【０１１４】
結局、復号開始点７１１を設定したことにより、パケット到着時刻にジッタが発生しても、音声は全く途切れることなく再生され、間引き操作によって、図７（Ａ）、（Ｂ）に示すように、受信バッファ７１の蓄積データ最後尾位置（すなわちキュー長）が浅いところ（短い状態）で安定している。これは受信したパケットが復号されるまでの待ち時間が減少したことを表わしており、言い換えれば遅延が減少したことになる。
【０１１５】
図７（Ａ）および（Ｂ）は、縦軸にバッファ最後尾位置（キュー長）に対応するフレーム数を、横軸に通信開始からの経過時間を示している。図７（Ａ）は間引き操作を行わない従来例に対応するもので、図７（Ｂ）は間引き操作を行う本実施形態に対応するものである。
【０１１６】
図７（Ｂ）では、間引き開始点と間引き終了点をともに２８フレームの位置（前記共通位置ＣＰに該当）に設定したケースである。この２８フレームは、時間的には、上述したσ×３〜４に相当する値である。
【０１１７】
この図７（Ｂ）を同図（Ａ）に比較すれば明らかなように、本実施形態のほうが、キュー長が短い位置で安定するように推移している。キュー長がゼロフレームとなるバッファ空状態の発生頻度は図７（Ｂ）のほうが多いが、バッファ空状態は必ずしも前記要求時バッファ空状態ではない。ここで重要な点は、間引き操作の内容（間引き開始点の位置や間引き終了点の位置など）に応じて、キュー長の変動をコントロールすることができることである。
【０１１８】
なお、復号開始後、パケットロスなどの影響により受信バッファ７１が空になって要求時バッファ空状態の発生が予測される場合には、直前に復号したフレームの情報を模倣して作成したエラーフレームを復号部８に渡すようにするとよい。これにより、再生音声の途切れが緩和され、音質が改善される。
【０１１９】
（Ａ−３）第１の実施形態の効果
本実施形態によれば、復号開始点の機能によってパケット到着時刻のジッタを吸収でき、途切れのない音声再生が可能となる。
【０１２０】
また、本実施形態では、間引き操作によって遅延を減少することができるとともに、パケット選択処理（Ｓ８）によって、本来、間引き操作で発生するはずの音飛びの発生を防止することもできるから、遅延を減少しながら音質も維持することが可能である。
【０１２１】
さらに、本実施形態の受信バッファ（図１４の構成要素７）は、概ねソフトウエアで管理できるため、復号開始点や間引き開始点の設定はソフトウエアの追加で対処でき、その量は非常に少ない。したがって、復号開始点や間引き開始点などの導入が演算量や演算速度、あるいは、装置コストに与える影響は、最小限にとどめることができる。
【０１２２】
更に、復号開始判定（Ｓ３）や、間引き操作も、全てソフトウエア上の単純な比較演算のみで構成できるため、こちらも演算量の増加やコストの増加はほとんど発生せず、遅延時間の把握や、遅延短縮のための割り振り操作なども一切行うこと無く実現することも可能である。
【０１２３】
（Ｂ）第２の実施形態
以下では、本実施形態が第１の実施形態と相違する点についてのみ説明する。
【０１２４】
第１の実施形態では復号開始点を採用したことで、図６に示したように、通信開始から復号を始めるまで（すなわち時刻ｔ０からｔ４まで）は、復号部８にデータを渡さないようにしたから、ジッタは吸収できるものの通信網の混雑状態に応じて通信開始時（受信パケットＰ１に対応する音声出力が行われる時点）の遅延、すなわち前記初期遅延が発生してしまうという問題がある。
【０１２５】
本実施形態は、この初期遅延の影響を低減することを目的とする。
【０１２６】
（Ｂ−１）第２の実施形態の構成および動作
図８に本実施形態のパケット受信装置５０の構成を示す。この受信装置５０は、第１の実施形態の受信装置３０に対応する装置である。
【０１２７】
図８において、受信装置５０は、受信端子６と、受信バッファ部７と、復号部８と、出力バッファ９と、出力端子１０とを備えている。
【０１２８】
このうち構成要素６〜１０の機能は、基本的に、対応する符号を付した図１４の各部と同じである。
【０１２９】
また、受信バッファ部７内の構成要素７１，７１１〜７１３、７２、７２１〜７２３の機能も、対応する符号を付した図１４の各部と同じである。
【０１３０】
したがって、本実施形態の受信装置５０は、第１の実施形態の受信装置３０に対して受信バッファ部７内に設けられた微少雑音データ生成部７３を付加した構成を備えている。
【０１３１】
微少雑音データ生成部７３は、電源投入直後、または、通信終了後に、バッファ７１の先頭から復号開始点７１１まで微少雑音データ（ダミーフレームと呼ぶ）を蓄積する機能を備えている。
【０１３２】
この微少雑音データ生成部７３の動作によって、本実施形態では、受信パケットとダミーフレームから、前記キューが形成されることになる。
【０１３３】
本実施形態の受信装置５０の動作は、図９(Ａ）および（Ｂ）に示す。
【０１３４】
微少雑音データ生成部７３は、当該受信装置５０の電源投入直後、または、前回の通信終了後にダミーデータＤＭを生成し復号開始点７１１までバッファ７１に蓄積するので、今回の通信開始時（例えば時刻ｔ０など）には、すでに３つのダミーフレームＤＭ１〜ＤＭ３が蓄積されていることになる。ＤＭ１〜ＤＭ３が収容している音声データは、まったく同じ内容の微少雑音データであってよい。
【０１３５】
通信開始により、復号部８から読み出し要求ＲＲが読み出し制御部４４に供給されると、ただちに、キューの先頭に位置するダミーデータＤＭ１が読み出されて復号され、当該ｔ１以降は、ＤＭ２、ＤＭ３が順次に読み出されて復号されて行く。この期間、出力端子１０からの音声出力は、微少雑音である。
【０１３６】
通信網１１の混雑状態を、図６や図３と同じであるものとすると、通信網１１から受信した受信パケットＰ１がバッファ７１内で（ダミーデータＤＭ３の上に）蓄積されるのは、時刻ｔ１であるから、当該Ｐ１が読み出されて復号されるのは、時刻ｔ４である。
【０１３７】
ただし、第１の実施形態では、通信網１１の混雑状態によって受信パケットＰ２、Ｐ３などの後続の受信パケットの受信、蓄積が遅れた場合、受信パケットＰ１に対応した音声出力が開始される時点は前記時刻ｔ４よりも遅れ得るが、本実施形態の場合には、受信パケットＰ１が時刻ｔ１〜ｔ４の期間内に受信されるかぎり当該受信パケットＰ１に対応する音声出力は、常に時刻ｔ４に行うことができる。
【０１３８】
この時刻ｔ４の時間位置は復号開始点７１１の位置に対応しているので、復号開始点７１１の位置を変更することによって、変更可能である。
【０１３９】
また、受信パケットＰ１が時刻ｔ１〜ｔ４の期間内に受信されないような通信網１１の混雑状態が著しく劣悪なケースであっても、同じ混雑状態を前提とすれば、本実施形態の受信装置５０の初期遅延は、第１の実施形態の受信装置３０の初期遅延よりも、小さい。
【０１４０】
すなわち、第１の実施形態では通信網１１の状態に応じて初期遅延が通信ごとに変化し得るが、本実施形態の初期遅延は、安定していて、なおかつ小さい。
【０１４１】
また、本実施形態では、通信開始直後（時刻ｔ１）に出力端子１０から微少雑音を出力することができ、受信装置５０が動作を開始したことをユーザが音声出力をもとに確認することが可能なので、当該期間にまったく音声の出力が行われない第１の実施形態に比べると、ユーザに不安感を与えない点でも優れている。
【０１４２】
（Ｂ−２）第２の実施形態の効果
本実施形態によれば、第１の実施形態の効果と同等な効果を得ることができる。
【０１４３】
加えて、本実施形態によれば、より安定的で、より小さな初期遅延を得ることができる。
【０１４４】
（Ｃ）第３の実施形態
以下では、本実施形態が第１、第２の実施形態と相違する点についてのみ説明する。
【０１４５】
本実施形態は、時系列に受信される各受信パケットの受信時刻について、タイムアウト監視機能や順番監視機能を設けたことを特徴とする。
【０１４６】
（Ｃ−１）第３の実施形態の構成および動作
図１０に本実施形態のパケット受信装置６０の構成を示す。この受信装置６０は、第１の実施形態の受信装置３０に対応する装置である。
【０１４７】
当該受信装置６０と受信装置３０との関係は、第２の実施形態の受信装置５０と受信装置３０との関係とほぼ同じである。
【０１４８】
したがって本実施形態の受信装置６０も、構成要素６〜１０、および構成要素７１，７１１〜７１３、７２、７２１〜７２３を備えており、これら構成要素の機能は、対応する符号を付した第１の実施形態の構成要素の機能と基本的に同じである。
【０１４９】
すなわち、本実施形態の受信装置６０が、第１の実施形態の受信装置３０にパケット監視部８０を付加した構成を備えている。
【０１５０】
受信端子６とバッファ７１の入力端子のあいだに配置されたこのパケット監視部８０は、図１５に示す内部構成を備えている。
【０１５１】
(Ｃ−１−１）パケット監視部の内部構成
図１５において、パケット監視部８０は、タイムアウト監視部６１と、順番監視部６２と、エラーパケット生成部６３と、受信パケット廃棄部６４とを備えている。
【０１５２】
このうちタイムアウト監視部６１は少なくとも時計機能を備えていて、タイムアウト時刻を算出し、各受信パケットが該当するタイムアウト時刻まえに受信されたかどうかを検出する部分である。時計機能とは通信開始からの経過時間を算出する機能であり、タイムアウト時刻とは、ジッタが無い場合の各受信パケットの到着時刻、すなわち前記定刻から、所定時間だけ遅れた時刻である。
【０１５３】
当該タイムアウト監視部６１は、タイムアウト時刻までに受信されない受信パケットを検出すると、タイムアウトエラー信号ＴＥを、受信パケット廃棄部６４と、エラーパケット生成部６３に供給する。ある受信パケットが該当するタイムアウト時刻までに受信されないケースには、パケットロスが発生した場合などが含まれ得る。
【０１５４】
このタイムアウト時刻を求めるために必要な定刻は、次の式(２）で記述することができる。
【０１５５】
Ｓｎ＝ｎｆｔ［秒］            …(２）
ここで、Ｓｎはｎ番目パケットのタイムアウト時刻、ｆはパケットサイズ、ｔは１フレームの時間である。
【０１５６】
また、前記順番監視部６２は、通信網１１から受信された受信パケットの順番が本来の順番通りでないことを検出する部分で、順番通りに受信されない受信パケットを検出すると、順番エラー信号ＳＥを、受信パケット廃棄部６４と、エラーパケット生成部６３に供給する。順番監視部６２も、必要に応じて、前記時計機能を装備する。
【０１５７】
受信パケットの順番が本来の順番通りでないケースには、受信パケットの順番が通信網１１における伝送中に逆転した場合やパケットロスが発生した場合なども含まれ得る。
【０１５８】
タイムアウトエラー信号ＴＥや順番エラー信号ＳＥを受け取ると、エラーパケット生成部６３は、所定のエラーパケットの生成と挿入を行う部分であり、受信パケット廃棄部６４は、すでに生成され挿入されたエラーパケットに対応するパケットが、通信網１１から受信された場合、当該受信パケットを廃棄する部分である。ここで、エラーパケットとは、前記ダミーフレーム（ダミーデータ）ＤＭと同じ微少雑音の音声データを収容したフレームを１パケット分まとめたものである。
【０１５９】
エラーパケット生成部６３の動作によって、本実施形態では、受信パケットとエラーパケットから、前記キューが形成されることになる。
【０１６０】
タイムアウト監視部６１も順番監視部６２も、受信パケットの受信状況が正常でない状態（受信異常状態）を検出する部分である点で同じであるが、ある受信パケットに関する受信異常状態は、タイムアウト監視部６１と順番監視部６２の双方で検出されることもあり得るし、どちらか一方だけで検出されることもあり得る。
【０１６１】
例えばある受信パケットのパケットロスが発生した場合、当該受信パケットは当然、タイムアウト時刻までに受信されないのでタイムアウト監視部６１がタイムアウトエラー信号ＴＥを出力するが、それとともに順番監視部６２も、当該受信パケットより先に、本来は当該受信パケットの次に受信されるはずの受信パケットが受信されたことに基づいて、当該パケットロスを検出して順番エラー信号ＳＥを出力することもあり得る。
【０１６２】
したがって、同一の受信パケットに対するタイムアウトエラー信号ＴＥと順番エラー信号ＳＥの双方が出力された場合、エラーパケット生成部６３は、先に出力された信号だけに基づいて動作し、あとに出力された信号は無視するようにするとよい。
【０１６３】
また、この例からも明らかなように、タイムアウト監視部６１、順番監視部６２、受信パケット廃棄部６４やエラーパケット生成部６３が正常に動作するためには、通信網１１から受信した受信パケットを識別することが必要となる。この識別には、受信パケットの持つパケット識別情報を用いることができる。
【０１６４】
パケット識別情報とは、送信側（例えば図２の送信装置２０）が受信パケットに付け加えたもので、例えば、受信パケットのシーケンス番号（パケット番号）、受信パケットが送信された時刻や受信パケットが生成された時刻を示すタイムスタンプ情報などがある。
【０１６５】
パケット監視部８０で監視するパケット番号やタイムアウト時間（時刻）、タイムスタンプ情報は受信パケットの欠落や、受信パケットの到着順の逆転を監視するのが目的であり、これらが検知できるものならば、いずれも利用できる。例えば、通信プロトコルの一種である、ＴＣＰ／ＩＰ（ＴｒａｎｓｍｉｓｓｉｏｎＣｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）のシーケンス番号情報や、ＵＤＰ／ＩＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）のＲＴＰ（Ｒｅａｌｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）におけるシーケンス番号やタイムスタンプ情報などが利用できる。
【０１６６】
具体的には、順番監視部６２が、受信パケットのシーケンス番号を監視し、今回到着した受信パケットのシーケンス番号が、前回到着した受信パケットのシーケンス番号をインクリメントした値（すなわち、前回到着した受信パケットのシーケンス番号＋１）でない場合は、パケットロス、あるいは、パケット到着順の逆転が発生したものと判定すること等が考えられる。
【０１６７】
また、前回到着した受信パケットのタイムスタンプが１６時５２分、今回到着した受信パケットのタイムスタンプが１６時４０分のような場合、今回パケットの方が前回パケットより先に送出されたにも関わらず、今回パケットの方が後に到着しているので、パケット到着順の逆転が発生したと判定することが可能である。
【０１６８】
上述した方法は、あくまで一例であり、これに限らず、独自の検知情報を各受信パケットに付加するようにしてもよいことは言うまでもない。
【０１６９】
本実施形態では、パケット監視部８０が持つ機能を１つのユニットにまとめたが、全て、あるいは、部分的に機能を分けて複数のユニットとして構成してもよい。
【０１７０】
このような本実施形態の受信装置６０の動作は、図１２に示すようになる。
【０１７１】
図１２において、通信開始と同時に、パケット監視部８０の時計が動作を開始し、時刻ｔ４のまえには、定刻がｔ３である受信パケットＰ３が（例えばパケットロスによる）順番エラーに該当することを検出する。この場合、受信パケットＰ２の次に受信パケットＰ４が受信されたことから、順番監視部６２が受信パケットＰ３のパケットロスを検出したものである。
【０１７２】
この検出に応じて、当該定刻ｔ４よりもまえに、順番監視部６２から順番エラー信号ＳＥが出力されると、エラーパケット生成部６３はエラーパケットＤ３をバッファ７１内に蓄積する。このときバッファ７１内にはすでに定刻がｔ２の受信パケットＰ２が蓄積されているので、当該エラーパケットＤ３は、Ｐ２の上に蓄積されてキューの最後尾を形成する。
【０１７３】
図１２(Ａ）に示した時刻ｔ０〜ｔ９はバッファ７１上の時刻であるので、バッファ７１よりもパケット監視部８０が速く動作することによって、当該パケット監視部８０が、バッファ７１上の時刻ｔ４にバッファ７１に到着した受信パケットＰ４をもとに受信パケットＰ３のパケットロスを検出して、バッファ７１上の時刻ｔ３にエラーパケットＤ３の蓄積を行うことは可能である。
【０１７４】
なお、当該エラーパケットＤ３の蓄積は、第２の実施形態のダミーフレーム（ダミーデータ）ＤＭの蓄積と異なり、蓄積まえのキュー長と無関係に実行される。
【０１７５】
時刻ｔ３にエラーパケットＤ３が蓄積されなければ、時刻ｔ３に受信パケットＰ２が読み出されることによって、要求時バッファ空状態が発生し得るが、当該蓄積を行うことで、要求時バッファ空状態の発生を防止している。
【０１７６】
以降は、このエラーパケットＤ３に対応する復号および音声出力は、時刻ｔ４に行われ、時刻ｔ５には受信パケットＰ５のパケットロスに対応する動作でエラーパケット生成部６３がエラーパケットＤ５を挿入し、受信パケットＰ６は遅刻して定刻ｔ６には間に合わず、時刻ｔ７に後続の受信パケットＰ７とともに蓄積されている。
【０１７７】
ただしこの受信パケットＰ６は、パケットロスではなく、（タイムアウト時刻まえの）単なる遅刻なので、Ｐ６に対応するエラーパケットの挿入は行われていない。
【０１７８】
結局、この期間の音声出力は図１２（Ｂ）に示すように、パケットロスで紛失した受信パケットＰ３、Ｐ５に対応する時刻ｔ４、ｔ６のに部分で、エラーパケットＤ３、Ｄ５が挿入されているから、パケットロスが発生したにもかかわらず、音飛びも音切れもほとんどユーザに感得されず、音質は維持されている。
【０１７９】
図１１（Ａ）、（Ｂ）は、この図１２（Ａ）、（Ｂ）に対応する第１の実施形態の動作を示した図であり、まったく同じ通信状態、すなわち、受信パケットＰ３とＰ５がパケットロスによって紛失し、受信パケットＰ６が遅刻したときの動作を示している。
【０１８０】
第１の実施形態の音声出力では、図１１（Ｂ）から明らかなように、時刻ｔ４で明確な音飛びが発生し、時刻ｔ５〜ｔ７にわたる大きな音切れが発生している。
【０１８１】
したがって、同じ混雑状態の通信網１１を前提とすると、本実施形態の受信装置６０の音質のほうが、第１の実施形態の受信装置３０の音質よりも良好となる。
【０１８２】
これは、本実施形態のほうが第１の実施形態よりも、要求時バッファ空状態の発生頻度が低いことと対応している。
【０１８３】
（Ｃ−２）第３の実施形態の効果
本実施形態によれば、第１の実施形態の効果と同等な効果を得ることができる。
【０１８４】
加えて、本実施形態では、音飛びや音切れの影響を低減することができるから、同じ通信状態における出力音声の品質は第１の実施形態よりも高い。
【０１８５】
（Ｄ）他の実施形態
なお、第３の実施形態では、パケット監視部８０を、第１の実施形態の受信装置に装備したが、第２の実施形態の受信装置に装備することもできる。その場合、受信装置は、微少雑音データ生成部７３の機能と、パケット監視部８０の機能の双方を装備することになる。
【０１８６】
また、第３の実施形態では、パケット監視部８０は、タイムアウト監視部６１と順番監視部６２の双方を装備していたが、どちらか一方だけを装備するようにしてもよい。
【０１８７】
さらに、第２の実施形態では、ダミーデータＤＭに微少雑音の音声データを収容するようにしたが、ダミーデータＤＭを蓄積する主たる目的は、初期遅延を安定化し、小さくすることであるから、微少雑音以外の音声データをダミーデータに収容するようにしてもよい。
【０１８８】
第１〜第３の実施形態で示した構成図や動作フローは、本発明の一実施形態を示しているにすぎない。よって、本発明は、図示した構成、図示した動作フロー以外にも広く適用することができる。
【０１８９】
図示した構成や動作フロー以外でも、前述した機能を有した要素が含まれていれば、それ以外の機能を持つ要素を含んでいても同様な効果が得られる。
【０１９０】
例えば、図５の動作フローは、図示のもの以外にも変形や改良が可能である。
【０１９１】
図５のステップＳ４〜Ｓ７によって構成されたループは、バッファ７１に新たなパケットが蓄積されるたびに繰り返され、非常に繰り返し回数の多いループであるから、そのループ内部の処理数を削減したり、ループを展開してループの繰り返し回数を低減することは、プログラムの処理量の低減、実行速度の向上に大きく寄与すると考えられる。
【０１９２】
図５のフローチャートの普遍性を排除して、例えば、式（１）の等号が成立する場合に対応して共通位置ＣＰを装備し、なおかつパケット単位の処理と各受信パケットの長さがほぼ一定であることを前提とするなら、当該フローチャートを極めて簡略化することが可能である。
【０１９３】
簡略化したフローチャートは、例えば、図５のフローチャートからステップＳ１〜Ｓ３を削除するとともに、ステップＳ６の処理をキュー長が共通位置ＣＰに達したかどうかを調べるテストに置換し、ステップＳ４からスタートする構造になる。
【０１９４】
簡略化した場合でも、キュー長が共通位置ＣＰを超えた直後に読み出された受信パケットは、廃棄するか復号するかを決めるために、必ず、ステップＳ８のテストを受けることになるが、１受信パケットを廃棄できればキュー長が前記共通位置ＣＰを下回ることは明らかなので、ステップＳ１０のテストは省略することが可能である。
【０１９５】
すなわち、キュー長が共通位置ＣＰに達したら、必ず１受信パケットを読み出し、当該１受信パケットだけをステップＳ８のテスト結果に応じて復号または廃棄すれば、簡略化したフローチャート内の処理が一巡したことになる。ただし当該１受信パケットの読み出しは前記ＤＲによって行われたものなので、当該１受信パケットを廃棄した場合には、当該間隔Ｔ内にもう一度、前記ＲＲによる読み出しを実行することができる。
【０１９６】
このような簡略化したフローチャートを用いた場合、バッファ７１のキュー長の制御精度は低下する可能性があるが、プログラムの実行速度は向上し、処理能力にかかる負荷は軽減できる。
【０１９７】
また、第１の実施形態では、復号開始点７１１と間引き開始点７１２の双方を搭載したが、本発明は、復号開始点７１１または間引き開始点７１２のいずれか一方だけを搭載するようにしてもよい。
【０１９８】
さらに、第１の実施形態では、判定部７２３は、ＱＬ、ＤＳ、ＤＥのほかに、バッファ７１から読み出したパケットの符号化音声データ示す音声的な内容も参照して、そのパケットを廃棄してもよいかどうかを判定するものとしたが、本発明では、当該音声的な内容の参照は必須ではない。
【０１９９】
音声的な内容を参照しない場合でも、ジッタの影響を減少することは可能だからである。
【０２００】
【発明の効果】
以上に説明したように、第１の発明では、待ち行列の長さが読み出し開始用閾値に達したときに、パケット蓄積手段からパケットの読み出しを開始するようにしたので、通信パケットのジッタの影響を低減することが可能である。
【図面の簡単な説明】
【図１】第１の実施形態に係るパケット受信装置の主要部の概略構成を示すブロック図である。
【図２】従来および第１〜第３の実施形態の音声送受信システムの全体構成を示す概略図である。
【図３】従来のパケット受信装置の動作説明図である。
【図４】従来のパケット受信装置の動作説明図である。
【図５】第１〜第３の実施形態のパケット受信装置の動作説明図である。
【図６】第１の実施形態のパケット受信装置の動作説明図である。
【図７】第１の実施形態の動作説明図である。
【図８】第２の実施形態のパケット受信装置の構成を示す概略図である。
【図９】第２の実施形態の動作説明図である。
【図１０】第３の実施形態のパケット受信装置の構成を示す概略図である。
【図１１】第３の実施形態と比較するための、第１の実施形態の動作説明図である。
【図１２】第３の実施形態の動作説明図である。
【図１３】数値範囲σ×３〜４が特に好ましいことを裏付ける概略図である。
【図１４】第１の実施形態のパケット受信装置の構成を示す概略図である。
【図１５】第３の実施形態に係るパケット受信装置の主要部の概略構成を示すブロック図である。
【符号の説明】
７…受信バッファ部、１１…パケット通信網、２０…パケット送信装置、２１，３０，５０，６０…パケット受信装置、４０…バッファ制御部、４１…キュー長検出部、４２…復号開始点設定部、４３…比較部、４４…読み出し制御部、７１…バッファ、７２…間引き制御部、８０…パケット監視部、７１１…復号開始点、７１２…間引き開始点、７２３…間引き終了点、７２１…切替えスイッチ、７２２…廃棄処理部、７２３…判定部。
【図１】
0003891755.tif 000002
【図２】
0003891755.tif 000003
【図３】
0003891755.tif 000004
【図４】
0003891755.tif 000005
【図５】
0003891755.tif 000006
【図６】
0003891755.tif 000007
【図７】
0003891755.tif 000008
【図８】
0003891755.tif 000009
【図９】
0003891755.tif 000010
【図１０】
0003891755.tif 000011
【図１１】
0003891755.tif 000012
【図１２】
0003891755.tif 000013
【図１３】
0003891755.tif 000014
【図１４】
0003891755.tif 000015
【図１５】
0003891755.tif 000016