説明

音声伝送装置

【課題】伝送したパケットが無駄に廃棄されてしまうことがなく、サーバにスパイク状の負荷をかけず、また、アンダフローによって再生すべきパケットが到着していない時間が長くなるのを防止する音声伝送装置を提供する。
【解決手段】受信部に設けたパケットの伝送遅延を吸収する揺らぎ吸収バッファ部と、送信部に設けた送信が一時的に行えない場合に送信すべきパケットを待ち行列に繋ぐ送信待ち制御部を備える音声伝送装置において、送信待ち制御部15は、待ち行列19に繋がれているパケットの音声データの蓄積時間を算出する蓄積時間算出部18を備え、送信待ち制御部15は、蓄積時間算出部18が算出した蓄積時間が閾値以下になるように、最も古く繋がれたパケットを待ち行列19から取り出し廃棄して、新しいパケットを待ち行列19に繋ぎ続け、閾値を揺らぎ吸収バッファ部21の蓄積時間に等しくする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音声を符号化して通信する音声伝送装置に関し、特に、無線LAN(Local Area Network)や携帯電話網等、一時的に途切れることのある通信路を経由する場合に、中断時間を短くするように改善した音声伝送装置に関する。
【背景技術】
【0002】
従来、パケット交換網を通じて符号化した音声を伝送する装置や方法が知られており、例えば、「パケット交換方式」(特許文献1参照)や「パケット通信方法」(特許文献2参照)がある。
パケット交換網用の通信装置としては、ATM(Asynchronous Transfer Mode)やIEEE802.3等があるが、近年では、ケーブルテレビやADSL(Assymetric Digital Subscriber Line)や光ファイバー等による高速インターネット接続が家庭に普及したことにより、IP(Internet Protocol)上で音声データを送受信して通話を可能とするVoIP(Voice over IP)装置が実用化され、IP電話とも呼ばれている。
【0003】
このような音声伝送装置の受信側では、パケット交換網で発生する伝送遅延の揺らぎを吸収するため、揺らぎ吸収バッファを備えている。
図13は、従来のパケット交換方式を説明するブロック図である。図13に示すように、従来のパケット交換方式においては、受信側に遅延差吸収用バッファを設け、送信側は同一通話に属するパケットにシーケンス番号を付加して送信し、受信側では受信パケットのシーケンス番号を監視しつつ受信パケットを遅延差吸収用バッファに格納し、また、当該通話に属する最初のパケットを受信した時点から定められた時間だけ経過した時点において、受信パケットの遅延差吸収用バッファから一定速度での読み出しを開始する。
【0004】
受信側では、受信パケットのシーケンス番号が抜けた場合には、抜けた個数だけ余分なパケットを前記遅延差吸収用バッファに格納する。更に、バッファがアンダフローしたら余分なパケットを挿入再生し、且つ、挿入後アンダフロー時に再生すべきであったシーケンス番号を有するパケットを受信したときには、それを廃棄する。更に、遅延差吸収用バッファがオーバフローした場合には、オーバフローしたパケットを廃棄する。
これによって再生タイミングを変更することなく、一定のタイミングでバッファから読み出して再生することが可能になる。余分なパケットはダミー・パケットとも呼ばれ、無音や背景雑音或いは一つ前に届いたパケットを繰り返したパケットである。但し、パケットの到着が早過ぎて遅延差吸収バッファがオーバフローした場合は、オーバフローしたパケットを廃棄して、再生タイミングを変更する。パケット廃棄等によりシーケンス番号が抜けていた場合には、余分なパケットをバッファに格納する。
【0005】
図13において、受信回線1からパケットを受信すると、シーケンス番号チェック回路2は、受信パケットのシーケンス番号をチェックし、シーケンス番号が飛んだ場合には、その個数だけダミーパケット発生回路3に通知して、音声の場合なら、無音パケット或いは背景雑音パケット等のダミーパケットを遅延差吸収バッファメモリ4に書き込ませる。
また、シーケンス番号チェック回路2は、遅延差吸収バッファメモリ4が一杯で受信パケットを格納できないときには、そのパケットを廃棄する。更に、シーケンス番号チェック回路2は、呼設定が行われた後に最初に到着するパケットを検出し、タイマ5に通知して、確率的に十分な長さの時間Dの後に、遅延差吸収バッファメモリ4からのパケットの連続的再生をスタートさせる。
【0006】
一方、遅延差吸収バッファメモリ4が空になり、アンダフローとなったときには、ダミーパケット発生回路3からのダミーパケットを再生して、アンダフローした旨をシーケンス番号チェック回路2に通知する。シーケンス番号チェック回路2は、その後、当該パケットを受信した場合には、そのパケットを直ちに廃棄する。時間Dの値、呼設定情報等は、制御回路6から各回路に通知される。
現在、無線LANや携帯電話網の普及により、このような無線通信路上でVoIPを実現することが要望されつつある。無線通信路は一時的に通信品質が悪化して、比較的長い時間通信が途絶えることがある。このときの挙動は、無線通信路の無線通信プロトコルによるが、これについては、例えば、本発明人による、「データ通信装置」(特開2006−101339号公報参照)や「データ通信装置」(特開2006−101340号公報参照)において、説明されている。
【0007】
即ち、比較的長い時間、通信が途絶えた後に、送信を待っていたパケットが大量に送信されると、場合によってはその下流で輻輳を起こしたり受信側での処理能力を圧迫したりする。この現象をディレイスパイクと呼ぶ。
また、従来、音声パケットを伝送する需要の増大に対応して、サービスクラスに応じた制御を行うQoS(QuaLity of Service)制御を備えた無線通信装置も現れている。この装置の場合、音声パケットに対しては遅延を少なくし、誤りや廃棄を許容するので、ディレイスパイクを生じさせないようにすることもできる。
【特許文献1】特開平01−029141号公報
【特許文献2】特開平04−100454号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
このディレイスパイクを生じるような無線通信路で音声パケットを伝送すると、受信端末装置の揺らぎ吸収バッファがアンダフローした後に大量のパケットが到着するが、これらのうち再生時刻を過ぎているパケットは廃棄され、再生時刻に間に合ったパケットは再生される。
図14は、従来技術において各部品又は装置を伝達される音声フレーム又はパケットの様子を示す説明図である。図において、横軸は時間であり、音声フレーム及び音声フレームを格納したパケットが上から下へ伝達される様子を矢印で示してある。1本の矢印が1個の音声フレーム又はパケットを表しており、図を分かり易くするために4個毎にハッチングを施してある。但し、このハッチングは便宜上のものでありデータタイプや機能の違いを示すものではない。
【0009】
図14に示すように、伝達に関わる部品や装置は、マイク、エンコーダ、無線送信部、第1基地局、サーバ、第2基地局、無線受信部+揺らぎ吸収バッファ部、デコーダ、及びスピーカである。これらの部品や装置は、音声フレーム又はパケットを受け取った後、ある遅延時間が経過してから出力する。この遅延時間は、各部品又は装置の動作に依るのであるが、エンコーダ、無線送信部、第1基地局、第2基地局、デコーダにおいては、1フレーム又はパケット分の遅延を生じている。更に、サーバでは、2.5パケット分の遅延が生じている。揺らぎ吸収バッファ部では、初期化時にJ個のパケットを蓄積する。但し、J=7である。1個のパケットに1個の音声フレームを格納しているので、所定蓄積時間Tjは音声フレームの周期のJ倍である。
【0010】
図14では、先ず、音声伝送が定常状態になっている所から始まる。定常状態では、揺らぎ吸収バッファ部において、所定蓄積時間Tj分に対応するJ個のパケットが蓄積されている。この状態で設定した標準的な遅延を受けて、4個のパケットが揺らぎ吸収バッファ部へ到着する様子が示されている。揺らぎ吸収バッファ部でTjの遅延を受けた後、4個の音声フレームが再生されている。
それに引き続いて、無線送信部と第1の基地局の間の無線通信路が悪化し、時間dの間は送信ができくなっている。但し、dは音声パケット周期の10倍である。この中断期間中も音声パケットは発生し続けており、無線送信部の前で滞留している。
時間dの経過後、無線通信路が回復すると無線送信部はパケットの送信を再開するが、遅延時間t1(ここでは、1音声フレーム周期としている)を必要としており、t1以上経過してから送信が再開する。
【0011】
送信が再開されると、滞留していたパケットがスパイク状に大量に送信される。このパケットは、下流の通信装置やサーバにスパイク状の負荷をかけるため、更に、遅延を生じたり輻輳を起こす可能性がある。時間dは、揺らぎ吸収バッファ部の所定蓄積時間Tjよりも3フレーム分大きかったため、時間tufで示す間、つまり、3フレームの間、パケットの到着は再生タイミングに間に合わず、アンダフローが発生する。アンダフローの発生時には、パケットの補間が行われる。アンダフロー中の補間方法としては、前のフレームを外挿補間しつつゲインを段々小さくする方法を用いる。また、再生タイミングに間に合わなかったパケットは廃棄される。時間tufの後、到着したパケットは、再生タイミングに間に合うので再生され始める。更に、大量に到着するパケットによって、揺らぎ吸収バッファ部21の所定蓄積時間Tj分のパケットは、通信路が十分に広い帯域を持つ理想的な場合では速やかに回復される。
【0012】
但し、通信路は、一度に大量のパケットを伝送するだけの帯域を持たない場合がある。このため、パケットは更に遅延させられ、受信端末装置に到着するパケットのうち再生時刻に間に合わないものの割合が多くなる。この結果、帯域を圧迫して伝送しても再生時刻に間に合わずに無駄に廃棄されてしまうという問題がある。
また、通信路中には介在しているサーバがあり、仕様上の収容回線数を保証しなければならないため、スパイク状の負荷をサーバにかけることは危険であるという問題がある。
次に、QoS制御を備えて遅延した音声パケットを早期に廃棄する無線通信路の場合を説明する。
【0013】
図15は、従来技術においてQoS制御を備えて遅延した音声パケットを早期に廃棄する無線通信路の様子を示す、図14と同様の説明図である。図15に示すように、この場合、無線送信部は無線通信路が途切れた時間dの間、送信できないパケットを直ちに廃棄する。会話を目的とする音声伝送の際は、遅延は大きな品質評価値の下落を引き起こすことが知られており、遅延したパケットを廃棄することは重要な手段である。
時間dの経過後、無線通信路が回復すると、無線送信部は送信を再開するが、遅延時間t1(ここでは、1音声フレーム周期としている)を必要としており、t1以上経過してから送信が再開する。
【0014】
パケットが到着し始めたとき、揺らぎ吸収バッファはアンダフローを生じ、空になっている。揺らぎ吸収バッファ部は、到着したパケットの再生タイミングを管理しているので、到着しても直ぐには再生せずに、所定蓄積時間Tjの遅延を加味したタイミングで再生が開始される。これによって、揺らぎ吸収バッファの蓄積量が回復するが、アンダフローによって再生すべきパケットが到着していない時間が長くなるという問題がある。この間、最初は補間が行われるが、やがて音声信号のゲインが下げられ、替わりに快適に感じられる雑音を出力するだけである。
本発明の目的は、伝送したパケットが無駄に廃棄されてしまうことがなく、サーバにスパイク状の負荷をかけず、また、アンダフローによって再生すべきパケットが到着していない時間が長くなるのを防止する音声伝送装置を提供することである。
【課題を解決するための手段】
【0015】
上記目的を達成するため、本発明に係る音声伝送装置は、音声データを格納したパケットをパケット交換網へ送信する送信手段と、前記パケット交換網から前記パケットを受信する受信手段と、前記受信手段に設けられた、前記パケットの伝送遅延を吸収する揺らぎ吸収バッファ手段と、前記送信手段に設けられた、送信が一時的に行えない場合に送信すべき前記パケットを待ち行列に繋ぐ送信待ち制御手段とを備える音声伝送装置において、前記送信待ち制御手段は、前記待ち行列に繋がれている前記パケットの音声データの蓄積時間を算出する蓄積時間算出手段を備え、前記送信待ち制御手段は、前記蓄積時間算出手段が算出した蓄積時間が閾値以下になるように、最も古く繋がれたパケットを前記待ち行列から取り出して廃棄することにより、新しいパケットを前記待ち行列に繋ぎ続け、前記閾値を前記揺らぎ吸収バッファ手段の蓄積時間に等しくすることを特徴としている。
【0016】
また、本発明は、前記受信手段が、前記揺らぎ吸収バッファ手段の前記蓄積時間を前記送信待ち制御手段へ通知し、前記送信待ち制御手段は、通知された前記蓄積時間によって前記閾値を更新することが好ましい。
また、本発明は、前記送信待ち制御手段が、前記待ち行列に繋がれている前記パケットを廃棄するかどうか判定する廃棄判定手段を備え、該廃棄判定手段の判定に従って廃棄を行い、前記廃棄判定手段は、前記待ち行列の最大の長さをLとし、k個のパケットの送信に対して1個の割合でパケットの廃棄を行うとした場合に、前記個数kを1≦k≦Lの範囲で変化させ、前記蓄積時間算出手段が算出した蓄積時間が大きいほど前記個数kを小さくし、蓄積時間が小さいほど前記個数kを大きくするように判定することが好ましい。
【発明の効果】
【0017】
本発明によれば、伝送したパケットが無駄に廃棄されてしまうことがなく、サーバにスパイク状の負荷をかけず、また、アンダフローによって再生すべきパケットが到着していない時間が長くなるのを防止する。
【発明を実施するための最良の形態】
【0018】
以下、本発明を実施するための最良の形態について図面を参照して説明する。
(第1実施の形態)
図1は、本発明の第1実施の形態に係る音声伝送装置の送信部と受信部を示し、(a)は送信部のブロック図、(b)は受信部のブロック図である。図1に示すように、送信部(送信手段)10と受信部(受信手段)11は、音声伝送装置を構成し、一体の端末装置に組み込まれて、無線データ通信を実現する基地局と通信する。送信部10は、マイク12、エンコーダ13、パケット化部14、送信待ち制御部(送信待ち制御手段)15、メモリ16、及び無線送信部17を有しており、送信待ち制御部15は、蓄積時間算出部(蓄積時間算出手段)18と待ち行列19を有している。受信部11は、無線受信部20、揺らぎ吸収バッファ部(揺らぎ吸収バッファ手段)21、逆パケット化部22、デコーダ23、及びスピーカ24を有している。
【0019】
図2は、図1の音声伝送装置を用いたパケット交換網による通信システムを説明するブロック図である。図2において、図1の送信部10と受信部11からなる音声伝送装置は、第1端末装置25と第2端末装置26として示されている。第1端末装置25は、第1基地局27との間で無線通信を行い、第2端末装置26は第2基地局28と無線通信を行う。第1基地局27と第2基地局28は、有線の通信路によってサービスを提供している事業者専用のIP網29へと接続する。
第1端末装置25と第1基地局27の間では、無線レイヤプロトコルを実行することにより通信を実現している。第1端末装置25は、第1基地局27と無線通信路を確立した後、IP網29を経由したパケット通信を行う。第2端末装置26と第2基地局28の間も同様である。
【0020】
IP網29には、更に、サーバ30が接続されており、通信されるIPパケットは、一度サーバ30に集められ、事業者固有の処理やサービスを実施した後、相手端末装置へ送られる。
図1に示す、音声伝送装置を構成する送信部10と受信部11について説明する。ここで、第1端末装置25と第1基地局27の間、及び第2端末装置26と第2基地局28の間で、無線通信路が確立されているものとし、更に、送信部10は、第1端末装置25内にあり、受信部11は第2端末装置26内にあり、音声を伝送するものとする。
【0021】
先ず、音声伝送を開始するための初期化段階において、蓄積時間算出部18が記憶している蓄積時間Ttを0に初期化し、また、待ち行列19を空に、また、送信待ち制御部15の所定の閾値Twと揺らぎ吸収バッファ部21の所定蓄積時間Tjを、共に所定の初期値で初期化しておく。本実施の形態では、この初期値は音声フレームの7個分の140msである。但し、1個の音声フレームは20msである。
送信部10において、音声は、マイク12によって電気信号に変換され、エンコーダ13へ入力される。エンコーダ13は、電気信号をA/D変換し、公知の符号化方式であるGSM(Global System for Mobile communication)−AMR(Adaptive Multi−Rate)で音声を符号化する。この場合、音声は8kHzでサンプルされて20msのフレーム毎に符号化され、符号化速度は12.2kbpsである。
【0022】
パケット化部14は、20ms分の音声フレームの1個から数個を、第2端末装置26に宛てたパケットに格納する。パケット化の際に使用するプロトコルは、RTP(Real−time Transport Protocol)/UDP(User Datagram Protocol)/IPである。1個のパケットに格納する音声フレームの数が少ないほど遅延が短くなり、品質評価上好ましいが、総データ中に占めるプロトコルが使用するヘッダの割合が増えるために多くのスループットを必要とする、という短所がある。本実施の形態では、ネットワークは十分に広帯域であるため、1個のパケットに1個の音声フレームを格納する。
パケット化部14は、作成したパケットをメモリ16に記憶させ、更に、メモリ16上のアドレスを送信待ち制御部15へ通知する。送信待ち制御部15は、待ち行列19が空かどうか判定し、空であれば、無線送信部17が送信可能状態にあるかどうかを判定する。
【0023】
無線送信部17は、既に第1基地局27と無線データ通信を開始しているので、通常なら送信可能な状態であるはずであるが、一時的に無線通信路の品質が悪化し送信が不可能な状態になることがある。無線送信部17は、この状態を表すレジスタを持っており、送信待ち制御部15は、このレジスタを読み出して送信可能状態かどうかを判定する。送信可能状態ならば、送信待ち制御部15は、通知されたアドレスを無線送信部17へ通知する。無線送信部17は、通知されたアドレスで識別されるメモリ16内のパケットを、無線通信路を通じて第1基地局27へ送信する。送信が完了すると、無線送信部17はメモリ16上のパケットを解放する。
【0024】
その他の場合、つまり、待ち行列19が空でない場合、又は無線送信部17が送信可能状態でない場合、送信待ち制御部15は、通知されたアドレスを蓄積時間算出部18へ通知する。蓄積時間算出部18は、通知されたアドレスで識別されるパケットに含まれる音声データの再生時間Tpを求める。1個のパケットに必ず1個の音声フレームを格納する場合には、再生時間Tpは20msとなる。但し、1個のパケットに格納する音声フレームの数が変動するような構成も可能であり、その場合、蓄積時間算出部18は、通知されたアドレスで識別されるパケットを調べて再生時間Tpを求める。
【0025】
蓄積時間算出部18は、記憶している現在の蓄積時間がTtであり、通知されたパケットの再生時間がTpであるとすると、両者の和が閾値Tw以下であるか否かを判定する。
Tt+ Tp ≦ Tw………(1)
両者の和が閾値Tw以下の場合、蓄積時間算出部18は、その和(Tt+Tp)でTtの値を更新し、送信待ち制御部15に対して、式(1)の不等式が満たされていることを通知する。この通知によって、送信待ち制御部15は、通知されたアドレスを待ち行列19に繋ぐ。
両者の和が閾値Twを越える場合、蓄積時間算出部18は、送信待ち制御部15に対して、式(1)の不等式が満たされないことを通知する。この通知によって、送信待ち制御部15は、待ち行列19の中の順序が最も古いパケットのアドレスを取り出し、蓄積時間算出部18に対して、そのパケットが待ち行列19から削除されることを通知する。
【0026】
蓄積時間算出部18は、通知されたアドレスで識別されるパケットに含まれる音声データの再生時間Tpを求め、現在の蓄積時間Ttから減算する。つまり、(Tt−Tp)を求めて、これを新しいTtの値として記憶する。次に、送信待ち制御部15は、待ち行列19から該当のパケットのアドレスを取り除き、更に、対応するメモリ16内のパケットデータを解放する。その後、送信待ち制御部15は、新しいパケットを格納するべく通知されたアドレスを蓄積時間算出部18へ通知する処理へ戻る。
この動作によって、待ち行列19に格納されて送信待ちをするパケットに含まれる音声の再生時間の合計が、閾値Tw以下となり、且つ、最新のパケットが待ち行列19に繋がれていることになる。本発明では、この所定の閾値Twを、揺らぎ吸収バッファ部21の所定蓄積時間に等しくすることに特徴がある。
【0027】
無線送信部17が、送信不可能状態から送信可能状態に変化すると、送信待ち制御部15は、待ち行列19の中に繋がれているパケットが有るか否かを判定する。パケットが有る場合、その中で順序が最も古いパケットを選択し、蓄積時間算出部18に対して、そのパケットが待ち行列19から削除されることを通知する。
蓄積時間算出部18は、通知されたパケットの再生時間Tpを求めて、蓄積時間Ttから減算する。その後、送信待ち制御部15は、待ち行列19から該当パケットのアドレスを削除し、そのアドレスを無線送信部17へ通知する。無線送信部17は、通知されたアドレスで識別されるメモリ16内のパケットを、無線通信路を通じて第1基地局27へ送信する。送信が完了すると、無線送信部17は、メモリ16上の該当パケットを解放する。
【0028】
この動作の最中であっても、新しい音声パケットを発生させ送信待ち制御部15へ入力することが可能である。このパケットは、上述の動作に従って待ち行列19に繋がれる。待ち行列19に新しいパケットの繋がれる速度よりも、古いパケットが取り出される速度の方が大きいために、待ち行列19は、速やかに減少して、やがて空になる。
図2において、第1基地局27は、送信部10から受信したパケットの中からIP層以上のパケットデータを取り出し、これをIP網29へ送信する。但し、IPパケットは、第2端末装置26に宛てられているが、サービス及び管理上の必要からサーバ30を経由する必要がある。このため、第1基地局27からサーバ30へ宛てたパケットの中に、該IPパケットをカプセル化する。サーバ30は、受信したパケットを第2の基地局を経由して第2端末装置26へ届ける。
【0029】
次に、受信部11について説明する。受信部11は、第2端末装置26に設けられている。無線受信部20は、第2基地局28からパケットを受信する。受信したパケットデータに誤りがあった場合は廃棄し、正しければ揺らぎ吸収バッファ部21へ渡される。
揺らぎ吸収バッファ部21では、通信の開始時に、所定の蓄積時間Tj相当の音声フレームを蓄積する。所定の蓄積時間Tjは、通信路の遅延の揺らぎをどの程度まで吸収するか、及び、音声品質評価上どの程度の遅延まで許すか、を勘案して決める。所定蓄積時間Tj相当のパケット数を変数Jで表すことにし、本実施の形態では、J=7パケット、即ち、Tj=140msとする。所定の蓄積時間Tj相当の音声フレームを再生している間に、新しいパケットが到着しない場合、アンダフローが発生する。
【0030】
揺らぎ吸収バッファ部21は、Tjの倍程度のバッファを確保しておき、それを超えて到着したパケットはオーバフローを発生しているので、到着したパケットを廃棄する。若しくはバッファ内の順序の最も古いパケットを廃棄して、到着したパケットをバッファに格納する構成でもよい。
RTPヘッダには、シーケンス番号やタイムスタンプを格納することができるため、廃棄やエラーによるパケットの損失を検出することができる。この場合、揺らぎ吸収バッファ部21には、パケット損失を示すパケットを発生させて格納しておき、再生時には、デコーダ23が備えているPLC(Packet Loss Concealment)を実行する。
【0031】
PLCとしては、前のフレームを繰り返す方法、外挿によって補間する方法、心地の良い雑音を再生する方法等がある。また、GSM−AMRの欠損したフレームの誤り隠蔽については、例えば、“AMR speech Codec;Error concealment of lost frames (Release 6)”,3GPP TS 26.091 V6.0.0(2004−12).に、説明されている。
本実施の形態において、アンダフローが発生した場合、その後パケットが到着し始めると、揺らぎ吸収バッファ部21は、通信の開始時と同様に、所定の蓄積時間Tj相当の音声フレームを蓄積し遅延させる。蓄積量が所定の蓄積時間Tjに達した後は、再生タイミングに従って、順序の古いパケットから順に読み出して逆パケット化部22へ渡し、再生を行う。
【0032】
或いは、従来技術のように、アンダフローが発生した場合、揺らぎ吸収バッファ部21は、パケット損失と同様に、RTPヘッダのシーケンス番号やタイムスタンプに基づいた再生タイミングをカウントし続け、再生タイミングに間に合わないパケットを廃棄し、遅延揺らぎが回復して再生タイミングに間に合うパケットの到着を待つことも可能である。
揺らぎ吸収バッファ部21において、通信の開始時に、所定の蓄積時間Tj相当の音声フレームを蓄積した後は、再生タイミングに従って、順序の古いパケットから順に読み出して逆パケット化部22へ渡す。
逆パケット化部22は、渡されたパケットの中の音声フレームを取り出し、デコーダ23へ渡す。デコーダ23は、符号を復号して音声フレームを作成しアナログ信号を出力する。アナログ信号は、スピーカ24により音波となって、人の聴覚で聴取される。
【0033】
本実施の形態では、音声伝送を開始するための初期化段階において、送信待ち制御部15の所定の閾値Twと揺らぎ吸収バッファ部21の所定蓄積時間Tjを、共に所定の初期値で初期化した。しかし、通信路の遅延揺らぎの状況によっては、揺らぎ吸収バッファ部21の所定蓄積時間Tjを動的に変更することができる。
この場合、第2端末装置26の受信部11は、第1端末装置25の送信部10の送信待ち制御部15へ、新しい所定蓄積時間Tjを通知する。第2端末装置26にも、送信部10と無線送信部17が存在し、第1端末装置25にも、受信部11と無線受信部20が存在しており、逆方向の通信路が形成されているため、これらを通じて通知を実行する。新しい所定蓄積時間Tjの通知を受けた送信待ち制御部15は、所定の閾値Twを更新する。
【0034】
図3は、送信部の処理の手順を示すフローチャート(その1)であり、図4は、送信部の処理の手順を示すフローチャート(その2)である。但し、図3の処理の前に、音声伝送を開始するための初期化段階において、蓄積時間算出部18が記憶している蓄積時間Ttを0に初期化し、また、待ち行列19を空に初期化しておくものとする。また、図3に示す、送信部10の処理は、連続した音声信号を符号化して送信するために、音声フレームの周期である20ms毎に繰り返し実行される。
図3及び図4に示すように、送信部10が処理を開始すると、先ず、エンコーダ13が符号を出力する(ステップS101)。マイク12が出力している音声の電気信号を、エンコーダ13がA/D変換し、公知の符号化方式であるGSM−AMRで音声を符号化する。この場合、音声は8kHzでサンプルされて20msのフレーム毎に符号化され、符号化速度は12.2kbpsである。
【0035】
次に、パケット化部14がメモリ16にパケットを作成する(ステップS102)。つまり、パケット化部14が、20ms分の音声フレームの1個を、第2端末装置26に宛てたパケットに格納する。パケット化の際に使用するプロトコルは、RTP/UDP/IPである。パケット化部14は、作成したパケットをメモリ16に記憶させ、更に、メモリ16上のアドレスを送信待ち制御部15へ通知する。
【0036】
次に、待ち行列19は空か否かを判断する(ステップS103)。送信待ち制御部15が、待ち行列19は空か否かを判断した結果、空である(yes)場合、送信可能か否かを判断する(ステップS104)。即ち、送信待ち制御部15は、無線送信部17は送信可能状態にあるかどうかを判断する。無線送信部17は、既に第1基地局27と無線データ通信を開始しているので、通常なら送信可能な状態のはずであるが、一時的に、無線通信路の品質が悪化し送信が不可能な状態になることがある。無線送信部17は、この状態を表すレジスタを持っており、送信待ち制御部15は、このレジスタを読み出して送信可能状態かどうかを判断する。
【0037】
この送信可能か否かの判断の結果、送信可能状態である(yes)場合、無線送信部17にパケットを直ちに送信させる(ステップS105)。送信待ち制御部15は、通知されたアドレスを無線送信部17へ通知し、無線送信部17は、通知されたアドレスで識別されるメモリ16内のパケットを、無線通信路を通じて第1基地局27へ送信する。送信が完了すると、無線送信部17は、メモリ16上のパケットを解放する。その後、処理を終了する。
【0038】
一方、待ち行列19は空か否かを判断(ステップS103)した結果、空でない(no)場合、及び送信可能か否かを判断(ステップS104)した結果、送信可能状態でない(no)場合、蓄積時間算出部18がパケットの音声の再生時間Tpを求める(ステップS106)。つまり、蓄積時間算出部18は、送信待ち制御部15に通知されたアドレスで識別されるパケットに含まれる音声データの再生時間Tpを求める。1個のパケットに必ず1個の音声フレームを格納する場合には、再生時間Tpは20msとなる。但し、1個のパケットに格納する音声フレームの数が変動するような構成も可能であり、その場合、蓄積時間算出部18は、通知されたアドレスで識別されるパケットを調べて再生時間Tpを求める。
【0039】
次に、蓄積時間Ttと再生時間Tpの和が閾値Tw以下であるか否かを判断する(ステップS107)。つまり、蓄積時間算出部18は、記憶している現在の蓄積時間がTtであり、通知されたパケットの再生時間がTpであるとして、両者の和が閾値Tw以下である(式(1)参照)か否かを判断する。判断の結果、両者の和(Tt+Tp)が閾値Tw以下である(yes)場合、蓄積時間算出部18は、その和でTtの値(Tt=Tt+Tp)を更新する(ステップS108)。更新後、送信待ち制御部15は、通知されたアドレスをパケット待ち行列19へ繋ぎ(ステップS109)、その後、処理を終了する。
【0040】
一方、両者の和が閾値Tw以下であるか否かを判断(ステップS107)した結果、閾値Tw以下でない(no)場合、最も古いパケットを選択して通知する(ステップS110)。つまり、送信待ち制御部15が、待ち行列19の中の順序が最も古いパケットのアドレスを取り出す。
次に、蓄積時間算出部18がパケットの音声の再生時間Tpを求める(ステップS111)。つまり、送信待ち制御部15は、蓄積時間算出部18に対し、取り出した最も古いパケットのアドレスを通知すると共に、そのパケットが待ち行列19から削除されることを通知し、蓄積時間算出部18は、通知されたアドレスで識別されるパケットに含まれる音声データの再生時間Tpを求める。
【0041】
その後、蓄積時間算出部18が、現在の蓄積時間Ttから再生時間Tpを減算(Tt−Tp)し、得られた結果を、新しいTtの値(Tt=Tt−Tp)として記憶する(ステップS112)。
次に、最も古いパケットを待ち行列19から削除しメモリ16からも開放する(ステップS113)。つまり、送信待ち制御部15が、待ち行列19から該当のパケットのアドレスを取り除き、更に、対応するメモリ16内のパケットデータを解放する。
その後、ステップS106へ戻る。
【0042】
このように、上述した処理を経ることにより、待ち行列19に格納されて送信待ちをするパケットに含まれる音声の再生時間の合計が閾値Tw以下となり、且つ、最新のパケットが待ち行列19に繋がれていることになる。本発明では、この所定の閾値Twを揺らぎ吸収バッファ部21の所定蓄積時間Tjに等しくすることに特徴がある。
図5は、無線送信部が送信不可能状態から送信可能状態へと変化した際に実行される処理手順を示すフローチャートである。図5に示すように、本実施の形態において無線送信部17が送信不可能状態から送信可能状態へ変化すると、先ず、送信待ち制御部15が、待ち行列19の中に繋がれているパケットが有るかどうかを判断する(ステップS201)。
【0043】
判断の結果、繋がれているパケットが有る(yes)場合は、最も古いパケットを選択して通知する(ステップS202)。つまり、送信待ち制御部15が、待ち行列19の中で順序が最も古いパケットを選択し、蓄積時間算出部18に対して、そのパケットが待ち行列19から削除されることを通知する。一方、判断の結果、繋がれているパケットが無い(no)場合は、処理を終了する。
次に、蓄積時間算出部18は、通知されたパケットの音声の再生時間Tpを求める(ステップS203)。その後、蓄積時間算出部18が、再生時間Tpを蓄積時間Ttから減算(Tt−Tp)する(ステップS204)。
【0044】
次に、送信待ち制御部15が、最も古いパケットのアドレスを待ち行列19から削除する(ステップS205)。その後、送信待ち制御部15が、そのアドレスを無線送信部17へ通知し、無線送信部17は、通知されたアドレスで識別されるメモリ16内のパケットを、無線通信路を通じて第1基地局27へ送信する(ステップS206)。送信を完了した無線送信部17は、メモリ16上の該当パケットを解放する(ステップS207)。
その後、送信待ち制御部15が、無線送信部17はまだ送信可能状態であるか否かを判断する(ステップS208)。判断の結果、送信可能状態である(yes)場合、ステップS201へ戻り、送信可能状態でない(no)場合、処理を終了する。
【0045】
この閾値Twが、揺らぎ吸収バッファ部21の所定蓄積時間Tjに等しいという特徴によって生じる、本実施の形態の動作を説明する。
図6は、本実施の形態において各部品又は装置を伝達される音声フレーム又はパケットの様子を示す説明図である。図において、横軸は時間であり、音声フレーム及び音声フレームを格納したパケットが上から下へ伝達される様子を矢印で示してある。1本の矢印が1個の音声フレーム又はパケットを表しており、図を分かり易くするために4個毎にハッチングを施してある。但し、このハッチングは便宜上のものでありデータタイプや機能の違いを示すものではない。
【0046】
図6に示すように、伝達に関わる部品や装置は、マイク12、エンコーダ13、送信待ち制御部15+無線送信部17、第1基地局27、サーバ30、第2基地局28、無線受信部20+揺らぎ吸収バッファ部21、デコーダ23、スピーカ24である。これらの部品や装置は、音声フレーム又はパケットを受け取った後、ある遅延時間が経過してから出力する。この遅延時間は、各部品又は装置の動作に依るのであるが、エンコーダ13、無線送信部17、第1基地局27、第2基地局28、デコーダ23においては、1フレーム又はパケット分の遅延を生じている。更に、サーバ30では、2.5パケット分の遅延が生じている。揺らぎ吸収バッファ部21では、初期化時にJ個のパケットを蓄積する。但し、J=7である。1個のパケットに1個の音声フレームを格納しているので、所定蓄積時間Tjは音声フレームの周期のJ倍である。
【0047】
図6にあっては、揺らぎ吸収バッファ分のパケットを通過させるための負荷が発生するが、その負荷や輻輳の危険は無制限に増えたりしない。ここでは、先ず、音声伝送が定常状態になっている所から始まる。定常状態では、揺らぎ吸収バッファ部21において、所定蓄積時間Tj、即ち、J個のパケットが蓄積されている。この状態で設定した標準的な遅延を受けて、4個のパケットが揺らぎ吸収バッファ部21へ到着する様子が示されている。揺らぎ吸収バッファ部21でTjの遅延を受けた後、4個の音声フレームが再生されている。
【0048】
それに引き続いて、無線送信部17と第1基地局27の間の無線通信路が悪化し、時間dの間は送信ができくなっている。但し、dは音声パケット周期の10倍である。無線送信部17が送信不可能な状態になると、送信待ち制御部15が蓄積を開始する。この中断期間dの間も、音声パケットは発生し続けているが、送信待ち制御部15の待ち行列19に保存しているのは、所定蓄積時間Tjに相当するパケット、即ち、J=7個分である。
時間dの経過後、無線通信路が回復すると、無線送信部17は送信を再開するが、遅延時間t1(ここでは、1音声フレーム周期としている)を必要としており、t1以上経過してから送信が再開する。
【0049】
送信が再開されると、送信待ち制御部15の待ち行列19に繋がれていたパケットが、スパイク状に送信される。但し、そのパケットの個数は、J=7個である。揺らぎ吸収バッファ部21の所定蓄積時間Tjは、音声の品質評価上それほど大きくはできないが、無線通信路の中断時間は、ときにかなり大きくなる。
本実施の形態では、いかに中断時間が大きくなろうとも、一定数(J個)のパケットしか蓄積しないため、輻輳の危険やサーバ30の負荷を圧迫する危険が軽減される。また、QoSを備えた従来例と比べると、より早い時点で再生を開始しても、揺らぎ吸収バッファ部21を回復することができるため、中断時間を短くすることができる。
【0050】
通信が途切れた時間dは、揺らぎ吸収バッファ部21の所定蓄積時間Tjよりも3フレーム分大きかったため、図6では時間tufで示す間、つまり、3フレームの間、パケットの到着は再生タイミングに間に合わず、アンダフローが発生する。アンダフローの発生時にはパケットの補間が行われる。アンダフロー中の補間方法としては、前のフレームを外挿補間しつつ、ゲインを段々小さくしていく。この補間は、図6においては点線の矢印で示されている。
【0051】
また、再生タイミングに間に合わなかったパケットは廃棄される。時間tufの後に到着したパケットは、再生タイミングに間に合うので再生され始める。更に、所定蓄積時間Tj分のパケットは、速やかに到着する。これらを再生するには、時間Tjがかかり、この再生が終わった時点で、揺らぎ吸収バッファ部21の蓄積量は所定蓄積時間Tj分に達し、定常状態に復帰する。
(第2実施の形態)
【0052】
図7は、本発明の第2実施の形態に係る音声伝送装置の送信部を示すブロック図である。図7に示すように、送信部35は、送信待ち制御部15に代えて、パケットの廃棄を判定する機能を備えた送信待ち制御部36を有している。送信待ち制御部36は、蓄積時間算出部18と待ち行列19に加えて、廃棄判定部(廃棄判定手段)37を有しており、廃棄判定部37は、カウンタ38及び配列39を有している。その他の構成及び作用は、送信部10(図1参照)と同様である。
【0053】
音声符号の特徴として、音声フレームがランダムに欠損したとしても、前後のフレームから外挿すれば、主観評価値はそれほど低下しないことが挙げられる。本実施の形態は、この特徴を利用して、送信待ち制御部36で音声フレーム廃棄を行い、受信部11に廃棄されたパケットを外挿補間させる。これによって、主観評価値の小さな低下を伴いつつも、伝送の効率を上げ、サーバ30やネットワーク装置に加わるスパイク状の負荷を解消する。
【0054】
無線送信部17が、送信不可能状態から送信可能状態に変化すると、廃棄判定部37は、それが保持するカウンタ38を0に初期化する。送信待ち制御部36は、エンコーダ13の音声フレーム周期のタイミングを受けて繰り返し動作を行う。送信待ち制御部36は、待ち行列19の中に繋がれているパケットが有るか否かを判定する。パケットが有る場合、その中で順序が最も古いパケットを選択し、蓄積時間算出部18に対してそのパケットが待ち行列19から削除されることを通知する。蓄積時間算出部18は、通知されたパケットの再生時間Tpを求めて、蓄積時間Ttから減算する。
【0055】
送信待ち制御部36は、待ち行列19から該当パケットのアドレスを削除し、更に、廃棄判定部37に通知して、判定を実行させる。廃棄判定部37は、カウンタ38の値を変数iで、配列23をrで表すとして、iをインデクスとした配列の値r[i]を参照する。配列23には、1又は0の値、即ち、送信すべきカウントのときには0が、廃棄すべきカウントのときには1が、記憶されている。このため、廃棄判定部37は、配列23の参照値r[i]を判定結果として、送信待ち制御部36へ通知し、更に、カウンタ38を1だけ増加させる。
【0056】
この廃棄判定部37の判定結果に応じて、送信待ち制御部36は、パケットを廃棄又は送信させる。パケットを廃棄する場合、送信待ち制御部36は、メモリ16上の該当パケットを解放し、その後、再度パケットが有るか否かを判定する動作に戻る。パケットを送信させる場合、そのアドレスを無線送信部17へ通知する。無線送信部17は、通知されたアドレスで識別されるメモリ16内のパケットを、無線通信路を通じて第1基地局27へ送信し、送信が完了すると、メモリ16上の該当パケットを解放する。
この動作の最中であっても、新しい音声パケットを発生させて送信待ち制御部36へ入力することが可能である。このパケットは、上述の動作に従って待ち行列19に繋がれる。待ち行列19に新しいパケットの繋がれる速度よりも、古いパケットが取り出される速度の方が大きいため、待ち行列19は、速やかに減少しやがて空になる。
【0057】
配列rには、カウンタiが小さいほど廃棄割合が大きく、カウンタiが大きいほど廃棄割合が小さくなるように設計された値が、予め記憶されている。但し、廃棄割合は2分の1より大きくはしない。本発明は、このようなパケット個数kを次のように設計することに特徴がある。
待ち行列19の、閾値Twに対応した最大の長さをLとし、k個のパケットの送信に対し1個の割合でパケットの廃棄を行うとした場合、個数kを、1≦k≦Lの範囲で変化させる。個数kは、最初1とし、カウンタiが大きくなるにつれて同じか大きくなるように変化させる。このようにして作成した配列rの例を、図8に示す。
【0058】
図8は、カウンタiに対する配列の参照値r[i]と個数kの関係を表で示す説明図である。図8においては、揺らぎ吸収バッファ部21が所定蓄積時間Tjで蓄積するパケットの個数Jが7の場合、個数kを2としており、3個に1個の割合でパケットを廃棄することを基礎としている。音声フレーム3個分の再生時間を2個のフレームで実現するため、送信速度は3/2倍に上がったことになる。但し、実際のパケットは、音声フレーム周期の間隔のまま伝送する。このとき、総数W=21個の音声フレームを再生し終えた時に、揺らぎ吸収バッファ部21が、所定蓄積数J=7個を回復し定常状態に復帰する。このため、図8の配列rは21個分の値を持っており、そのうち7個が廃棄されるようになっている。
【0059】
廃棄したパケットの分は外挿補間されるので、廃棄割合を2分の1より大きくすることは好ましくない。また、できれば2分の1よりも小さくしたほうが音声品質は向上する。
一般に、k個の送信に対して1個のパケットを廃棄し、送信速度の向上倍率をnとすると次の式が成り立つ。
n=(k+1)/k………(2)
総数W個のパケットを再生している間に、n倍の速度でW個のパケットが伝送され、更に、所定蓄積数J個の蓄積が達成されることから、次の式が成り立つ。
W/n+J=W………(3)
∴ W=J/(1−(1/n))
∴ W=J×(k+1)
【0060】
このように、廃棄割合を小さくして個数kを大きくすれば音声品質は向上するが、揺らぎ吸収バッファ部21が回復して定常状態に戻るまでに送信する総パケット数Wは、増加する。
図9は、第2実施の形態において送信待ち制御部がエンコーダの音声フレーム周期のタイミングを受けて繰り返し行う処理の手順を示すフローチャートである。図9に示すように、先ず、待ち行列19に有るか否かを判断する(ステップS301)。つまり、送信待ち制御部36が、待ち行列19の中に繋がれているパケットが有るかどうか判定する。
【0061】
判断の結果、パケットが有る(yes)場合、最も古いパケットを選択して通知する(ステップS302)。最も古いパケットを選択して通知した後、送信待ち制御部36が、待ち行列19の中で順序が最も古いパケットを選択し、蓄積時間算出部18に対してそのパケットが待ち行列19から削除されることを通知する。
一方、判断の結果、パケットが無い(no)場合、処理を終了する。
次に、蓄積時間算出部18が、通知されたパケットの音声の再生時間Tpを求め(ステップS303)、その後、蓄積時間算出部18が、再生時間Tpを蓄積時間Ttから減算(Tt=Tt−Tp)する(ステップS304)。
【0062】
次に、最も古いパケットを待ち行列19から削除する(ステップS305)。つまり、送信待ち制御部36が、待ち行列19から該当パケットのアドレスを削除する。
その後、廃棄判定部37が、カウンタ38の値を変数iで、配列23をrで表すとして、iをインデクスとした配列の値r[i]を参照し、これを判定結果とする(ステップS306)。更に、廃棄判定部37は、カウンタ38を1だけ増加させる。
次に、廃棄判定部37が、廃棄か否かを判断する(ステップS307)。判断の結果、廃棄する(yes)場合、送信待ち制御部36は、メモリ16上の該当パケットを解放し(ステップS308)、その後、ステップS301へ戻る。
【0063】
一方、判断の結果、廃棄しない(no)場合、送信待ち制御部36が、そのアドレスを無線送信部17へ通知し、無線送信部17は、通知されたアドレスで識別されるメモリ16内のパケットを、無線通信路を通じて第1基地局27へ送信する(ステップS309)。送信を完了した後、無線送信部17は、メモリ16上の該当パケットを解放し(ステップS310)、その後、処理を終了する。
このように、上述した処理は、エンコーダ13の音声フレーム周期で繰り返し実行されるため、待ち行列19の長さは、無線送信部が送信不可能状態から送信可能状態へと変化した際に実行される処理(図5参照)の場合よりも、ゆっくりと減っていく。
【0064】
図10は、第2実施の形態において各部品又は装置を伝達される音声フレーム又はパケットの様子を示す説明図である。図において、横軸は時間であり、音声フレーム及び音声フレームを格納したパケットが上から下へ伝達される様子を矢印で示してある。1本の矢印が1個の音声フレーム又はパケットを表しており、図を分かり易くするために4個毎にハッチングを施してある。但し、このハッチングは便宜上のものでありデータタイプや機能の違いを示すものではない。
【0065】
図10では、図6と違って、無線送信部17が音声フレーム周期と同じ間隔でパケットを送信するため、サーバ30やその他の通信装置にスパイク状の負荷をかけない。また、無線送信部17から送信されるパケットの数は、廃棄判定部37に従った廃棄によって減っている。廃棄するパケットは、図中、×印で示してある。
図10にあっては、廃棄割合は1/3を基本とし、k=1からk=4の間で変化させた場合を示す。ここでは、先ず、音声伝送が定常状態になっている所から始まる。定常状態では、揺らぎ吸収バッファ部21において、所定蓄積時間Tj、即ち、J個のパケットが蓄積されている。この状態で、設定した標準的な遅延を受けて4個のパケットが揺らぎ吸収バッファ部21へ到着する様子が示されている。揺らぎ吸収バッファ部21で、所定蓄積時間Tjの遅延を受けた後、4個の音声フレームが再生されている。
【0066】
それに引き続いて、無線送信部17と第1基地局27の間の無線通信路が悪化し、時間dの間は送信ができくなっている。但し、dは音声パケット周期の10倍である。無線送信部17が送信不可能な状態になると、送信待ち制御部36が蓄積を開始する。この中断期間dの間も、音声パケットは発生し続けているが、送信待ち制御部36の待ち行列19に保存しているのは、所定蓄積時間Tjに相当するパケット、即ち、J=7個分である。
時間dの経過後、無線通信路が回復すると、無線送信部17は送信を再開するが、遅延時間t1(ここでは、1音声フレーム周期としている)を必要としており、t1以上経過してから送信が再開する。
【0067】
送信が再開されると、送信待ち制御部36は、外部から供給される音声フレーム周期に従って繰り返し動作を行う。待ち行列19に繋がれていたパケットが取り出され、廃棄判定部37が廃棄か送信かを判定する。パケットが廃棄された場合、送信待ち制御部36は、再度待ち行列19の中の次のパケットを取り出して動作を繰り返す。
通信が途切れた時間dは、揺らぎ吸収バッファ部21の所定蓄積時間Tjよりも3フレーム分大きかったため、図10では時間tufで示す間、つまり、3フレームの間、パケットの到着は再生タイミングに間に合わず、アンダフローが発生する。アンダフローの発生時には、パケットの補間が行われる。アンダフロー中の補間方法としては、前のフレームを外挿補間しつつ、ゲインを段々小さくしていく。この補間は、図10では点線の矢印で表されている。
【0068】
また、再生タイミングに間に合わなかったパケットは廃棄される。時間tufの後に到着したパケットは、再生タイミングに間に合うので再生され始める。但し、廃棄判定部37が廃棄を指示したパケットは欠損しているので、補間が行われる。この補間は、図10では点線の矢印で表されている。アンダフローの場合のパケット損失は連続して生じるが、廃棄判定部37は、パケット損失が連続しないように廃棄を指示している。
図10においては、送信待ち制御部36が、外部から供給される音声フレーム周期に従って動作しているため、パケットの間隔は変化していない。このため、揺らぎ吸収バッファ部21の蓄積量は、ゆっくりと回復する。所定蓄積時間Tj分のパケットは、W=3×J個のパケットの再生が完了した時点で達成され、その後、定常状態に復帰する。
【0069】
図11は、第2実施の形態において、アンダフローの回復が下流の遅延揺らぎを受けて更に遅延した場合における、各部品又は装置を伝達される音声フレーム又はパケットの様子を示す説明図である。
図11は、サーバ30が、通常音声パケット周期の2.5倍、つまり、50msで処理を行っていたところ、更に、遅延dsを生じた状態を示しており、遅延dsは、音声パケット周期の2倍、つまり、40msの場合である。遅延して受信部11の揺らぎ吸収バッファ部21に到着したパケットは、再生タイミングに間に合わずに廃棄され、代わりにパケットが補間されて、アンダフローによる損失時間tufが増加している。時間tufは、図6では音声パケット周期の3倍であったが、図11では7倍である。加わった遅延dsの倍の時間が、損失時間tufに加わっている。
【0070】
このように、廃棄割合が大きい品質の悪い区間がアンダフローし、廃棄割合が小さい品質の良い区間が再生されており、揺らぎ発生時の再生開始時刻が早くなっている。つまり、バースト損失がランダム損失に変換されている。
本実施の形態では、このアンダフローによる損失時間tufの増加を抑制することができる。これは、廃棄判定部37が、古いパケットの廃棄割合を大きくしていることによる。比較のために、廃棄割合を3個に1個、即ち、k=2に固定した場合の様子を、図12に示す。
【0071】
図12は、図11との比較のために、廃棄割合を3個に1個に固定した場合における、各部品又は装置を伝達される音声フレーム又はパケットの様子を示す説明図である。図12においては、損失時間tufが音声パケット周期の9倍であり、加わった遅延dsの3倍の時間が損失時間tufに加わっている。これは、個数kが大きいほどパケットの到達時刻が遅く、再生タイミングと到達時刻の差が広がるまでに時間がかかるためである。
従って、本実施の形態では、図11に示すように、下流の通信路が揺らいで遅延が増えても、早期に再生を開始し、且つ、再生される部分の廃棄割合は小さくして音声品質を向上させることができる。つまり、早期の再生開始と良好な音声品質の両方の長所を兼ね備えている。
【0072】
このように、本発明によれば次の効果及び利点が得られる。
先ず、再生されないものは送らないので、無駄に廃棄されてしまうことはなく、使用しない通信インフラを備えておく無駄がない。
また、揺らぎ吸収バッファがアンダフローするほど送信ができない場合でも、通信が再開した際に揺らぎ吸収バッファの所定蓄積時間分のパケットから送信を開始するので、遅延した全てのパケットを送信する従来例に比べて輻輳やサーバの負荷を圧迫することを軽減することができる。また、遅延した音声パケットを廃棄するQoSを備えた従来例と比べて、より早い時点で再生を開始しても、揺らぎ吸収バッファを回復することができるため、中断時間を短くすることができる。
【0073】
また、通信路上の通信装置やサーバへのスパイク状の負荷の増大を避けること、若しくは負荷の増大量を一定割合以内に制御することができる。
更に、下流の通信路が揺らいで遅延が増えても、早期の再生開始と良好な音声品質の両方の要望を満たすように改善することができる。
なお、本発明は、上述した実施の形態により説明したが、この実施の形態に限定されるものではない。従って、本発明の趣旨を逸脱することなく変更態様として実施するものも含むものである。
【図面の簡単な説明】
【0074】
【図1】本発明の第1実施の形態に係る音声伝送装置の送信部と受信部を示し、(a)は送信部のブロック図、(b)は受信部のブロック図である。
【図2】図1の音声伝送装置を用いたパケット交換網による通信システムを説明するブロック図である。
【図3】送信部の処理の手順を示すフローチャート(その1)である。
【図4】送信部の処理の手順を示すフローチャート(その2)である。
【図5】無線送信部が送信不可能状態から送信可能状態へと変化した際に実行される処理手順を示すフローチャートである。
【図6】本実施の形態において各部品又は装置を伝達される音声フレーム又はパケットの様子を示す説明図である。
【図7】本発明の第2実施の形態に係る音声伝送装置の送信部を示すブロック図である。
【図8】カウンタiに対する配列の参照値r[i]と個数kの関係を表で示す説明図である。
【図9】第2実施の形態において送信待ち制御部がエンコーダの音声フレーム周期のタイミングを受けて繰り返し行う処理の手順を示すフローチャートである。
【図10】第2実施の形態において各部品又は装置を伝達される音声フレーム又はパケットの様子を示す説明図である。
【図11】第2実施の形態において、アンダフローの回復が下流の遅延揺らぎを受けて更に遅延した場合における、各部品又は装置を伝達される音声フレーム又はパケットの様子を示す説明図である。
【図12】図11との比較のために、廃棄割合を3個に1個に固定した場合における、各部品又は装置を伝達される音声フレーム又はパケットの様子を示す説明図である。
【図13】従来のパケット交換方式を説明するブロック図である。
【図14】従来技術において各部品又は装置を伝達される音声フレーム又はパケットの様子を示す説明図である。
【図15】従来技術においてQoS制御を備えて遅延した音声パケットを早期に廃棄する無線通信路の様子を示す、図14と同様の説明図である。
【符号の説明】
【0075】
10,35 送信部
11 受信部
12 マイク
13 エンコーダ
14 パケット化部
15,36 送信待ち制御部
16 メモリ
17 無線送信部
18 蓄積時間算出部
19 待ち行列
20 無線受信部
21 揺らぎ吸収バッファ部
22 逆パケット化部
23 デコーダ
24 スピーカ
25 第1端末装置
26 第2端末装置
27 第1基地局
28 第2基地局
29 IP網
30 サーバ
37 廃棄判定部
38 カウンタ
39 配列

【特許請求の範囲】
【請求項1】
音声データを格納したパケットをパケット交換網へ送信する送信手段と、
前記パケット交換網から前記パケットを受信する受信手段と、
前記受信手段に設けられた、前記パケットの伝送遅延を吸収する揺らぎ吸収バッファ手段と、
前記送信手段に設けられた、送信が一時的に行えない場合に送信すべき前記パケットを待ち行列に繋ぐ送信待ち制御手段と
を備える音声伝送装置において、
前記送信待ち制御手段は、前記待ち行列に繋がれている前記パケットの音声データの蓄積時間を算出する蓄積時間算出手段を備え、
前記送信待ち制御手段は、前記蓄積時間算出手段が算出した蓄積時間が閾値以下になるように、最も古く繋がれたパケットを前記待ち行列から取り出して廃棄することにより、新しいパケットを前記待ち行列に繋ぎ続け、
前記閾値を前記揺らぎ吸収バッファ手段の蓄積時間に等しくすることを特徴とする音声伝送装置。
【請求項2】
前記受信手段は、前記揺らぎ吸収バッファ手段の前記蓄積時間を前記送信待ち制御手段へ通知し、
前記送信待ち制御手段は、通知された前記蓄積時間によって前記閾値を更新することを特徴とする請求項1に記載の音声伝送装置。
【請求項3】
前記送信待ち制御手段は、前記待ち行列に繋がれている前記パケットを廃棄するかどうか判定する廃棄判定手段を備え、該廃棄判定手段の判定に従って廃棄を行い、
前記廃棄判定手段は、前記待ち行列の最大の長さをLとし、k個のパケットの送信に対して1個の割合でパケットの廃棄を行うとした場合に、前記個数kを1≦k≦Lの範囲で変化させ、前記蓄積時間算出手段が算出した蓄積時間が大きいほど前記個数kを小さくし、蓄積時間が小さいほど前記個数kを大きくするように判定することを特徴とする請求項1または2に記載の音声伝送装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2008−85798(P2008−85798A)
【公開日】平成20年4月10日(2008.4.10)
【国際特許分類】
【出願番号】特願2006−264847(P2006−264847)
【出願日】平成18年9月28日(2006.9.28)
【出願人】(000006633)京セラ株式会社 (13,660)
【Fターム(参考)】