(57)【要約】  【課題】  ＩＰ電話用端末装置等の出力装置における音切れを防止し、通信品質の低下を防止する出力方法、出力装置、通信システム及びコンピュータプログラムを提供する。  【解決手段】  出力装置１は、未出力の音データが蓄積されているか否かを判定し（Ｓ２０１）、未出力の音データが蓄積されていないと判定した場合（Ｓ２０１：ＮＯ）、以前に出力した出力後の音データを読み取り（Ｓ２０９）、読み取った音データに基づく音を再生（出力）する（Ｓ２１１）。【選択図】      図６
2006238216.tif 000002
【特許請求の範囲】
【請求項１】
受信したデータを蓄積手段に蓄積し、蓄積したデータに基づく出力を行う出力方法において、
出力後のデータを保存し、
データに基づく出力を行う場合に、未出力のデータが蓄積されているか否かを判定し、
未出力のデータを蓄積していないと判定した場合に、保存した出力後のデータに基づく出力を行う
ことを特徴とする出力方法。
【請求項２】
蓄積量に上限値が設定されている蓄積手段に、受信したデータを蓄積し、蓄積したデータに基づく出力を行う出力方法において、
出力後のデータを保存し、
データに基づく出力を行う場合に、未出力のデータが蓄積されているか否かを判定し、
未出力のデータを蓄積していないと判定した場合に、出力後のデータを蓄積手段に蓄積し、
蓄積した出力後のデータに応じて上限値の設定を高くする
ことを特徴とする出力方法。
【請求項３】
受信したデータを蓄積する蓄積手段を備え、該蓄積手段に蓄積しているデータに基づく出力を行う出力装置において、
出力後のデータを保存する手段と、
データに基づく出力を行う場合に、未出力のデータが蓄積手段に蓄積されているか否かを判定する手段と、
未出力のデータが蓄積されていないと判定したときに、保存した出力後のデータに基づく出力を行う手段と
を備えることを特徴とする出力装置。
【請求項４】
データを送信する送信装置と、
該送信装置と通信する請求項３に記載の出力装置と
を備え、
前記データは、音データであり、
該出力装置の出力は、音データに基づく音の再生である
ことを特徴とする通信システム。
【請求項５】
通信手段及び蓄積手段を備えるコンピュータに、受信して蓄積したデータに基づく出力を行わせるコンピュータプログラムにおいて、
コンピュータに、出力後のデータを保存させる手順と、
コンピュータに、データに基づく出力を行わせる場合に、未出力のデータが蓄積手段に蓄積されているか否かを判定させる手順と、
コンピュータに、未出力のデータが蓄積されていないと判定したときに、保存した出力後のデータに基づく出力を行わせる手順と
を実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、受信したデータを蓄積し、蓄積したデータに基づく出力を行う出力方法、該出力方法を適用した出力装置、該出力装置を備える通信システム、及び前記出力装置を実現するためのコンピュータプログラムに関し、特にＶｏＩＰ、ストリーム配信等のリアルタイム系の通信に好適な出力方法、出力装置、通信システム及びコンピュータプログラムに関する。
【背景技術】
【０００２】
現在、ＩＰ網などの通信網を介して装置間で音声及び映像のデータの送受信を行うＶｏＩＰ(Voice over Internet Protocol)、ＶｏＰＮ（Voice over Packet Network） 、ストリーム配信等のリアルタイム系のアプリケーションの利用が増えてきている。そしてその一例であるＩＰ電話が急速に普及してきている。ＩＰ電話では、パケット化した音声データをＩＰ網を介して送受信することにより、パケットの送信側の装置及び受信側の装置間の通話を実現している。ところがＩＰ網を介しての通信では、送信側の装置から受信側の装置までのパケットの伝送に要する到着遅延時間がパケット毎に異なり、揺らぎが生じるという問題がある。到着遅延時間の揺らぎは、リアルタイム性及び連続性を要求されるＩＰ電話にとっては大きな課題となる。このような課題を解決すべくＩＰ電話では、パケットの受信側の装置において、揺らぎ吸収バッファと呼ばれるバッファを設け、受信したパケットを音声として出力する前に、一度揺らぎ吸収バッファに蓄積して到着遅延時間の揺らぎを吸収することにより、安定した音声の出力を実現している。
【０００３】
このように揺らぎ吸収バッファを使用して音声を出力する場合、パケットを蓄積する蓄積容量が大きい程、到着遅延時間の揺らぎを吸収する能力が大きくなるが、その一方でパケット到着から出力までの遅延が大きくなるという問題が発生する。この問題を解決するため、パケットの到着時間間隔を計測して到着の遅延時間を求め、求めた到着の遅延時間の揺らぎに基づいて揺らぎ吸収バッファの蓄積容量を決定する方法が、特許文献１として開示されている。
【特許文献１】特開２００３−８７３１７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら特許文献１では、到着遅延時間の揺らぎに基づいて揺らぎ吸収バッファの蓄積容量を決定しているため、揺らぎ吸収バッファに蓄積されたパケットに基づく再生を行う際に発生する再生揺らぎが考慮されていない。
【０００５】
従って例えば所定期間に送信側から送信されるデータ量が、受信側で再生されるデータ量に比して多い場合、再生側でのデータ再生が間に合わず、常にバッファがあふれた状態となるため、定常的にバッファ容量分の再生遅延、即ち定常遅延が生じる。
【０００６】
この問題を解決するために、本願出願人は、定常遅延量を監視し、定常遅延量の状況に応じて揺らぎ吸収バッファの蓄積容量を最適化する技術を発明し（特願２００３−３７１２１７号）、到着遅延時間の揺らぎ及び再生時の揺らぎを考慮して、揺らぎバッファの蓄積容量を適切な値に設定することを可能とした。しかし、通信を開始してから揺らぎ吸収バッファの蓄積容量が決定されるまでの期間は、揺らぎ吸収バッファの蓄積容量が適正化されておらず、音切れが発生し、音声品質等の通信品質が低下するという同様の問題が発生する。例えば揺らぎ吸収バッファの蓄積容量が小さい場合で、到着遅延時間が大きく揺らいだとき、音声を出力すべく蓄積しているパケットのデータが無くなることにより、音切れが発生するのである。
【０００７】
本発明は斯かる事情に鑑みてなされたものであり、揺らぎ吸収バッファに未出力のデータが蓄積されていない場合に、以前に出力したデータを再出力し、再出力したデータ量に応じて、揺らぎ吸収バッファの蓄積容量を増加することにより、揺らぎ吸収バッファの蓄積容量が最適化されるまでに発生する通信品質の低下を防止する出力方法、該出力方法を適用した出力装置、該出力装置を備える通信システム、及び前記出力装置を実現するためのコンピュータプログラムの提供を目的とする。
【課題を解決するための手段】
【０００８】
第１発明に係る出力方法は、受信したデータを蓄積手段に蓄積し、蓄積したデータに基づく出力を行う出力方法において、出力後のデータを保存し、データに基づく出力を行う場合に、未出力のデータが蓄積されているか否かを判定し、未出力のデータを蓄積していないと判定した場合に、保存した出力後のデータに基づく出力を行うことを特徴とする。
【０００９】
第２発明に係る出力方法は、蓄積量に上限値が設定されている蓄積手段に、受信したデータを蓄積し、蓄積したデータに基づく出力を行う出力方法において、出力後のデータを保存し、データに基づく出力を行う場合に、未出力のデータが蓄積されているか否かを判定し、未出力のデータを蓄積していないと判定した場合に、出力後のデータを蓄積手段に蓄積し、蓄積した出力後のデータに応じて上限値の設定を高くすることを特徴とする。
【００１０】
第３発明に係る出力装置は、受信したデータを蓄積する蓄積手段を備え、該蓄積手段に蓄積しているデータに基づく出力を行う出力装置において、出力後のデータを保存する手段と、データに基づく出力を行う場合に、未出力のデータが蓄積手段に蓄積されているか否かを判定する手段と、未出力のデータが蓄積されていないと判定したときに、保存した出力後のデータに基づく出力を行う手段とを備えることを特徴とする。
【００１１】
第４発明に係る通信システムは、データを送信する送信装置と、該送信装置と通信する第３発明に記載の出力装置とを備え、前記データは、音データであり、該出力装置の出力は、音データに基づく音の再生であることを特徴とする。
【００１２】
第５発明に係るコンピュータプログラムは、通信手段及び蓄積手段を備えるコンピュータに、受信して蓄積したデータに基づく出力を行わせるコンピュータプログラムにおいて、コンピュータに、出力後のデータを保存させる手順と、コンピュータに、データに基づく出力を行わせる場合に、未出力のデータが蓄積手段に蓄積されているか否かを判定させる手順と、コンピュータに、未出力のデータが蓄積されていないと判定したときに、保存した出力後のデータに基づく出力を行わせる手順とを実行させることを特徴とする。
【００１３】
本発明は、例えばＩＰ電話システム等のパケット通信に係る受信側の装置、中継用の装置等の装置に適用され、出力すべきデータが無くなることによる音切れ等の異常の発生を抑制することができるので、音声品質等の通信品質の低下を防止することが可能である。しかもデータを蓄積する蓄積手段の蓄積容量に関係なく、異常の発生を抑制することができるので、蓄積手段の蓄積容量を自動的に適正化する装置に適用した場合に、適正化前の状態であっても通信品質の低下を防止することが可能である。
【発明の効果】
【００１４】
本発明に係る出力方法、出力装置、通信システム及びコンピュータプログラムは、例えばＩＰ電話システム等のパケット通信に係る受信側の装置、中継用の装置等の装置に適用され、受信したデータを蓄積する揺らぎ吸収バッファ等の蓄積手段に、受信したデータ、特に音データを蓄積し、蓄積した音データに基づく音の再生、パケットとしての送信等の出力を行った後のデータを保存しておき、例えば到着遅延時間が大きく揺らいで未出力のデータが揺らぎ吸収バッファに蓄積されていないと判定したとき、以前に出力した出力後のデータに基づく蓄積及び出力を再度行う。
【００１５】
この構成により、到着遅延時間の揺らぎにより新たなデータを受信していない場合でも、蓄積手段に出力すべきデータが蓄積されていないことによる音切れ等の異常の発生を抑制することができるので、音声品質等の通信品質の低下を防止することが可能である等、優れた効果を奏する。しかもデータを蓄積する蓄積手段の蓄積容量に関係なく、異常の発生を抑制することができるので、蓄積手段の蓄積容量を自動的に適正化する装置に適用した場合に、適正化前の状態であっても通信品質の低下を防止することが可能である等、優れた効果を奏する。特にＩＰ電話システム等の連続性を要求される通信に適用した場合には、安定した音声の出力を実現することが可能である等、優れた効果を奏する。
【００１６】
またデータの蓄積量に上限値を設定し、出力後のデータに基づく出力を行う際に、蓄積量の上限値の設定を高くすることにより、以降の到着遅延時間の揺らぎによる音切れの発生を防止することが可能であるという優れた効果を奏する。
【００１７】
さらに同一のデータの出力回数に上限値を設定するという構成を追加した場合には、何度も同じ音が再生されることによる通信時の違和感の発生を抑制することが可能である等、優れた効果を奏する。
【００１８】
そして同一のデータの出力回数が上限値を超え、当該パケットを廃棄した場合、データの蓄積量の上限値を予め設定されている初期値に戻すという構成を追加することにより、長時間に渡ってデータを受信することができない状態が継続した場合でも、データの蓄積量の上限値が必要以上に高くなることを防止することができるので、蓄積量の上限値が高くなりすぎて、音声遅延が増大することを防止することが可能である等、優れた効果を奏する。
【発明を実施するための最良の形態】
【００１９】
以下、本発明をその実施の形態を示す図面に基づいて詳述する。
【００２０】
実施の形態１．
図１は、本発明の実施の形態１における通信システムの構成例を示す概念図である。図１中１は、ＩＰ電話用端末装置等の通信用コンピュータを用いた本発明の出力装置であり、出力装置１は、インターネットルータ等の中継装置及び通信線にて構成されるＶｏＩＰ網等の通信網１００に接続し、ＩＰ電話用端末装置等の送信装置２とパケット通信を行う。送信装置２は、入力された音を出力させるための音データを含むパケットを生成し、生成したパケットを、通信網１００を介して出力装置１へ送信し、出力装置１では、受信したパケットに含まれる音データに基づいて音を出力する。音データを含むパケットは、ＶｏＩＰ通信に用いられる通信規約であるＲＴＰ(Real-time Transport Protocol)等の規定に基づいている。なお説明の便宜上、出力装置１及び送信装置２として記載しているが、各装置の構成は実質的に同様であり、送信装置２から出力装置１への一方向の通信に限るものではなく、双方向通信が可能である。
【００２１】
図２は、本発明の実施の形態１における通信システムにて用いられる各種装置の構成例を示すブロック図である。出力装置１は、装置全体を制御する制御手段１０、プログラム及びデータ等の各種情報を記録する揮発性及び不揮発性のメモリにて形成される記録手段１１、音の入力を受け付けるマイク等の音入力手段１２、音を出力するスピーカ等の音出力手段１３、各種押釦等の操作手段１４、通信網１００に接続する通信手段１５、通信用バッファとして用いられる蓄積手段１６、蓄積手段１６の蓄積に関する制御を行う蓄積管理手段１７等の各種回路を備えている。
【００２２】
そして出力装置１では、制御手段１０の制御により、音入力手段１２からアナログデータとして入力を受け付けた音をデジタルデータに変換し、デジタルデータである音データを所定のデータ長に分割し、パケットとして通信手段１５から送信する。また出力装置１では、制御手段１０の制御により、通信手段１５から音データを含むパケットを受信し、受信したパケットに含まれる音データを蓄積手段１６に蓄積し、蓄積した音データをアナログデータに変換し、アナログデータに変換した音データを、出力間隔として設定されている所定の時間間隔で音出力手段１３から音として出力する。
【００２３】
送信装置２は、制御手段２０、記録手段２１、音入力手段２２、音出力手段２３、操作手段２４、通信手段２５、蓄積手段２６、蓄積管理手段２７等の各種回路を備えている。
【００２４】
図３は、本発明の実施の形態１における出力装置１が備える蓄積手段１６の構成例を示す機能ブロック図である。蓄積手段１６は、受信したパケットに含まれるデータを蓄積するデータ用メモリ１６１と、データ用メモリ１６１に蓄積されるデータの管理に用いられる管理用メモリ１６２とを備えている。
【００２５】
管理用メモリ１６２には、データ用メモリ１６１に蓄積されているデータの中で、その位置まで音出力手段１３への出力が完了していることを示す出力アドレスを示す出力アドレス情報、その位置までデータが蓄積されていることを示す蓄積アドレスを示す蓄積アドレス情報、その位置までデータを蓄積することが可能であることを示す上限値アドレスを示す上限値アドレス情報が蓄積されている。またデータ用メモリ１６１に蓄積されているデータの蓄積量が上限値に達しているか否かを示すオーバーフローフラグが設定されている。オーバーフローフラグが「０」の場合、データの蓄積量が上限値に達していないことを示し、オーバーフローフラグが「１」の場合、データの蓄積量が上限値に達していることを示す。
【００２６】
通信手段１５が受信したパケットに含まれるデータは、蓄積アドレス情報にて示される位置から蓄積され、蓄積したデータ分に応じて蓄積アドレス情報が更新される。ただしデータを蓄積すると、蓄積アドレス情報により示される位置が、上限値アドレス情報により示される位置を超える場合、データ用メモリ１６１では、上限値アドレス情報により示される位置までデータを蓄積し、超過分のデータを破棄し、オーバーフローフラグを「１」とする。
【００２７】
音出力手段１３への出力が完了した場合、出力アドレス情報は、出力が行われた位置を示すアドレスに更新され、出力アドレス情報の更新に応じて上限値アドレス情報も更新される。即ちデータ用メモリ１６１において、出力アドレス情報が示す位置から上限値アドレス情報が示す位置までの範囲は一定であり、この範囲のアドレスに基づき蓄積されるデータの量がデータの蓄積量の上限となる。
【００２８】
なお上限値アドレス情報が示す位置がデータ用メモリ１６１の終端を超える場合、上限値アドレス情報が示す位置は、データ用メモリ１６１の先頭のアドレスになる。蓄積アドレス情報及び出力アドレス情報も同様である。即ちデータ用メモリ１６１は、仮想的なリング構造をとる。
【００２９】
図４は、本発明の実施の形態１における出力装置１が備える蓄積管理手段１７の構成例を示す機能ブロック図である。蓄積管理手段１７は、出力アドレス情報及び蓄積アドレス情報に基づいて蓄積手段１６に蓄積している未出力のデータのデータ量を検出する蓄積量検出部１７１、蓄積手段１６にて検出されたデータ量を取得し、取得したデータ量に基づき蓄積手段１６の蓄積に関する動作を制御する動作制御部１７２、動作制御部１７２の制御に基づき蓄積手段１６から音出力手段１３へ出力したデータを保存する最終データ保存部１７３、及び動作制御部１７２の制御に基づき最終データ保存部１７３に保存したデータの出力回数を計数する出力回数計数部１７４等のハードウェア及びソフトウェアにて構成されるモジュールを備えている。
【００３０】
動作制御部１７２では、制御に要するパラメータとして、蓄積手段１６に蓄積したデータの出力を開始する基準を示す初期蓄積値、蓄積手段１６に蓄積するデータの上限値を示す蓄積上限値、蓄積上限値の値を一時的に保存しておく蓄積上限保存値、最終データ保存部１７３に保存したデータを再出力する再出力回数の上限値を示す出力回数上限値等の各種データを記録している。
【００３１】
出力装置１では、通信を開始し、通信手段１５が受信したパケットに含まれるデータを蓄積手段１６に蓄積する。そして蓄積管理手段１７が備える蓄積量検出部１７１にて蓄積されたデータ量を検出し、蓄積量検出部１７１から動作制御部１７２へ検出したデータ量を示す情報を出力する。動作制御部１７２では、蓄積量検出部１７１から受け付けた情報により、データ量が初期蓄積値に達したと判定した場合、蓄積手段１６に蓄積したデータの出力を開始させる。また動作制御部１７２は、蓄積上限値に基づき蓄積手段１６が備えるデータ用メモリ１６１の上限値アドレス情報を設定する。
【００３２】
さらに動作制御部１７２は、蓄積手段１６から出力されたデータを読み取り、読み取ったデータを音出力手段１３から音として出力した上で、出力後のデータを最終データ保存部１７３に保存する。最終データ保存部１７３には、出力後の一又は複数のデータが保存され、保存されたデータは、動作制御部１７２が出力後のデータを読み取る都度更新される。なおデータ用メモリ１６１における出力アドレス情報により示される位置から蓄積アドレス情報にて示される位置までの範囲には出力後のデータが蓄積されているので、この範囲の蓄積領域を、最終データを保存する保存領域として用いることも可能である。その場合、最終データ保存部１７３には、最終データを保存している位置のアドレスが記録される。
【００３３】
動作制御部１７２は、蓄積手段１６に蓄積されたデータが不足し、連続した音声再生が困難になった際に、最終データ保存部１７３に保存されているデータを読み取り、読み取ったデータを蓄積手段１６に蓄積し、蓄積手段１６に蓄積されたデータは、音出力手段１３へ出力され、音出力手段１３から音として出力される。なお最終データ保存部１７３に保存されたデータを読み取った回数は、保存されたデータを再出力した再出力回数として出力回数計数部１７４にて計数される。
【００３４】
次に本発明の実施の形態１における通信システムが備える出力装置１の処理について説明する。図５は、本発明の実施の形態１における通信システムが備える出力装置１の蓄積処理を示すフローチャートである。出力装置１は、送信装置２から通信網１００を介して送信されるパケット化された音データの受信を待ち（Ｓ１０１）、音データを含むパケットを通信手段１５にて受信する（Ｓ１０２）。そして出力装置１は、蓄積管理手段１７により蓄積手段１６に記録している音データの蓄積量が、蓄積上限値に到達しているか否かを判定し（Ｓ１０３）、蓄積上限値に到達していると判定した場合（Ｓ１０３：ＹＥＳ）、受信したパケット化された音データを破棄し（Ｓ１０４）、ステップＳ１０１に戻り、次のパケットを受信すべく以降の処理を繰り返す。
【００３５】
ステップＳ１０３にて蓄積手段１６に記録している音データの蓄積量が、蓄積上限値に到達していないと判定した場合（Ｓ１０３：ＮＯ）、出力装置１では、受信したパケットに含まれる音データを蓄積手段１６に蓄積し（Ｓ１０５）、蓄積管理手段１７の出力回数計数部１７４が計数している再出力回数を初期化し（Ｓ１０６）、ステップＳ１０１に戻り、次のパケットを受信すべく以降の処理を繰り返す。このようにして出力装置１は、送信装置２との通信を継続している間、蓄積処理を繰り返す。
【００３６】
図６は、本発明の実施の形態１における通信システムが備える出力装置１の出力処理を示すフローチャートである。出力装置１では、通信を開始後又は音データに基づく音の再生を停止してから、蓄積手段１６に蓄積した音データの蓄積量が初期蓄積値に到達後、出力処理を開始する。出力装置１は、出力間隔として設定されている所定の時間間隔で、蓄積手段１６に未出力の音データが蓄積されているか否かを判定し（Ｓ２０１）、蓄積されていると判定した場合（Ｓ２０１：ＹＥＳ）、蓄積されている音データを、蓄積された順に音出力手段１３へ出力し、音データに基づく音を音出力手段１３により再生（出力）する（Ｓ２０２）。また出力装置１では、蓄積手段１６から出力後の音データを蓄積管理手段１７にて読み取り、最終データ保存部１７３に保存し（Ｓ２０３）、ステップＳ２０１へ戻り、以降の処理を繰り返す。
【００３７】
ステップＳ２０１において蓄積手段１６に未出力の音データが蓄積されていないと判定した場合（Ｓ２０１：ＮＯ）、出力装置１では、蓄積管理手段１７にて計数している再出力回数を１回分加算し（Ｓ２０４）、計数している再出力回数が、設定されている出力回数上限値を超えているか否かを判定する（Ｓ２０５）。
【００３８】
ステップＳ２０５において、再出力回数が出力回数上限値を超えていないと判定した場合（Ｓ２０５：ＮＯ）、出力装置１は、再出力回数が１回であるか否か、即ち初めての再出力であるか否かを判定する（Ｓ２０６）。
【００３９】
ステップＳ２０６において、再出力回数が１回であると判定した場合（Ｓ２０６：ＹＥＳ）、出力装置１は、その時点で設定されている蓄積上限値を、蓄積上限保存値として蓄積管理手段１７に保存し（Ｓ２０７）、蓄積手段１６の蓄積量の上限値として設定されている蓄積上限値を所定値分高くする（Ｓ２０８）。
【００４０】
ステップＳ２０６において、再出力回数が１回ではないと判定した場合（Ｓ２０６：ＮＯ）、ステップＳ２０７に示した蓄積上限値の保存処理は行わず、ステップＳ２０８へ進み、蓄積手段１６の蓄積量の上限値として設定されている蓄積上限値を所定値分高くする（Ｓ２０８）。ステップＳ２０８において、再出力回数に関わらず蓄積上限値を高くすることにより、この後の通信で蓄積手段１６に蓄積されるデータ量が蓄積上限値を超える可能性が低くなるので、受信したパケットの破棄の発生を抑制し、蓄積手段１６に未出力の音データが蓄積されていないという状態が発生する可能性を低減することができる。
【００４１】
そして出力装置１は、蓄積管理手段１７の最終データ保存部１７３に保存している音データ、即ち以前に出力した出力後の音データを読み取り（Ｓ２０９）、読み取った音データを蓄積手段１６のデータ用メモリ１６１に蓄積し（Ｓ２１０）、蓄積された音データを、音出力手段１３へ出力し、音データに基づく音を音出力手段１３により再生（出力）する（Ｓ２１１）。即ち蓄積管理手段１７に保存されている最後に出力された音データに基づく音の再生を繰り返す。なお必ずしも最後に出力された一の音データのみに基づく音を再生するのではなく、複数の音データ、例えば一のデータが２０ｍｓ分の音を再生するデータである場合、６０ｍｓ分の音を再生する三のデータを保存し、最後に再生した６０ｍｓ分の音を再出力する様にしても良い。また以前に出力した出力後の音データを、一度蓄積手段１６に蓄積するのではなく、直接音出力手段１３へ出力する様にしても良い。そして出力装置１は、ステップＳ２０１へ戻り、以降の処理を繰り返す。
【００４２】
ステップＳ２０５において、再出力回数が出力回数上限値を超えていると判定した場合（Ｓ２０５：ＹＥＳ）、出力装置１は、音データに基づく音の再生（出力）を停止し（Ｓ２１２）、保存した蓄積上限保存値を、蓄積上限値として設定し（Ｓ２１３）、出力回数計数部１７４にて計数している再出力回数を初期化し（Ｓ２１４）、出力処理を終了する。なお再生を停止してから、蓄積手段１６に蓄積した音データの蓄積量が初期蓄積値に再度到達した場合、ステップＳ２０１からの処理を再開する。再出力回数が出力回数上限値を超えた場合に音の再生を停止することにより、何度も同じ音が再生されることによる通信時の違和感の発生を抑制する。またステップＳ２１３にて蓄積上限保存値を、蓄積上限値として設定することにより、長時間に渡ってデータを受信することができない状態が継続した場合でも、データの蓄積量の上限値が必要以上に高くなることを防止することができるので、蓄積量の上限値が高くなりすぎて、音声遅延が増大することを防止する。なお蓄積上限保存値を蓄積上限値として設定するのではなく、蓄積上限値を所定値分低くする様にしても良い。このようにして出力すべき音データが無くなることによる音切れ等の異常の発生を抑制することができるので、音声品質等の通信品質の低下を防止することができる。
【００４３】
次に本発明の実施の形態１における通信システムの出力装置１の出力状況の例を説明する。図７は、本発明の実施の形態１における出力装置１の蓄積される未出力データの蓄積量の経時変化を示すグラフである。図７中縦軸は、出力装置１が備える蓄積手段１６に蓄積された未出力データの蓄積量を示し、横軸は時間を示している。
【００４４】
出力装置１は、蓄積手段１６に蓄積された未出力の音データに基づいて音を再生し、時刻ｔ１の時点で蓄積手段１６に未出力の音データが蓄積されていない状態となる。しかしながら時刻ｔ１から時刻ｔ２までの間、出力装置１は、最終データ保存部１７３に保存している音データ、即ち以前に出力した出力後の音データを蓄積手段１６に書き込むので、蓄積手段１６には、書き込まれた出力後の音データが蓄積された状態となり、書き込まれた出力後の音データに基づいて音を再生する。そして時刻ｔ２の時点で、音データを含むパケットを受信し蓄積するので、新たに蓄積された未出力の音データに基づく音の再生が行われる。また以前に出力した音データに基づいて音を出力する段階で、蓄積手段１６の蓄積上限値の設定が蓄積量ｓ１から蓄積量ｓ２に高くなる様に変更される。
【００４５】
さらに出力装置１は、時刻ｔ３の時点で、蓄積手段１６に未出力の音データが蓄積されていない状態となる。そして時刻ｔ３から時刻ｔ４までの間、出力装置１は、最終データ保存部１７３に保存している音データを蓄積手段１６に書き込むので、蓄積手段１６には、書き込まれた出力後の音データが蓄積された状態となり、書き込まれた出力後の音データに基づいて音を再生する。しかしながら時刻ｔ４で、最終データ保存部１７３に保存している音データの再出力回数が出力回数上限値を超え、出力装置１は、音データに基づく音の出力を停止する。なお再生を停止後、時刻ｔ５で音データの蓄積を開始し、蓄積手段１６に蓄積した音データの蓄積量が初期蓄積値ｓ３に到達する時刻ｔ６から、出力装置１は、蓄積手段１６に蓄積した音データに基づく音の再生を再開する。
【００４６】
本発明の実施の形態１における出力装置１の機能を有しない場合、蓄積手段１６に未出力の音データが蓄積されていない状態となった時刻ｔ１で音切れが発生し、しかも時刻ｔ２の時点で音データの蓄積を再開しても、音データの蓄積量が初期蓄積値ｓ３に到達するまでは音の再生が再開されず、音声品質が低下する。
【００４７】
前記実施の形態１では、出力したデータを逐次保存し、以前に出力したデータとして直前に出力したデータを出力する形態を示したが、本発明はこれに限らず、例えば出力後のデータを逐次保存するのではなく１ｓｅｃ等の所定の間隔で保存し、以前に出力したデータとして出力する等、様々な形態に展開することが可能である。
【００４８】
実施の形態２．
図８は、本発明の実施の形態２における通信システムの構成例を示す概念図である。図８中３は、インターネットルータ等の中継装置として用いられる通信用コンピュータを用いた本発明の出力装置であり、出力装置３は、ＶｏＩＰ網等の第１通信網１０１及び第２通信網１０２に接続し、第１通信網１０１に接続するＩＰ電話用端末装置等の送信装置４及び第２通信網１０２に接続するＩＰ電話用端末装置等の受信装置５とパケット通信を行う。送信装置４は、入力された音を出力させるための音データを含むパケットを生成し、生成したパケットを、第１通信網１０１を介して出力装置３へ送信し、出力装置１では、受信したパケットを、第２通信網１０２を介して受信装置５へ送信（出力）する。そして受信装置５では、受信したパケットに含まれる音データに基づいて音を出力する。なお説明の便宜上、送信装置４及び受信装置５として記載しているが、送信装置４及び受信装置５の構成は実質的に同様であり、出力装置３は、送信装置４から受信装置５への一方向の通信を中継するのではなく、双方向の通信を中継する。また第１通信網１０１及び第２通信網１０２は異なる通信網ではなく、同一の通信網であっても良い。
【００４９】
図９は、本発明の実施の形態２における通信システムにて用いられる出力装置３の構成例を示すブロック図である。出力装置３は、ＣＰＵ等の制御手段３０、フラッシュメモリ、ＲＡＭ等の記録手段３１、第１通信網１０１に接続する第１通信手段３２ａ、第２通信網１０２に接続する第２通信手段３２ｂ、第１通信網１０１へ送信するパケットの通信用バッファとして用いられる第１蓄積手段３３ａ及び第２通信網１０２へ送信するパケットの通信用バッファとして用いられる第２蓄積手段３３ｂ等の各種回路を備えている。そして出力装置３が備える記録手段３１には、ファームウェアとして本発明のコンピュータプログラム２００が記録されており、記録手段３１に記録されている本発明のコンピュータプログラム２００を読み取り、制御手段３０により実行することで、通信用コンピュータは、本発明の出力装置３として動作する。
【００５０】
本発明の実施の形態２は、実施の形態１における出力装置１の各種処理を中継装置等の通信用コンピュータに適用した形態であり、実施の形態１の出力装置１は、受信したパケットに基づく出力として、パケットに含まれる音データに基づく音を再生したのに対し、実施の形態２の出力装置３は、受信したパケットに基づく出力として、送信装置４から受信したパケットを受信装置５へ送信する。
【００５１】
本発明の実施の形態２における出力装置３の処理は、実施の形態１にて説明した処理と同様であり、送信装置４から第１通信網１０１を介してパケットとして送信された音データを、第１通信手段３２ａにより受信し、第２蓄積手段３３ｂに記録して、第２通信手段３２ｂから第２通信網１０２を介して受信装置５へ所定の時間間隔で送信（出力）し、また出力後の音データを保存する。そして出力装置３では、音データをパケットとして送信する場合に、未送信の音データが第２蓄積手段３３ｂに蓄積されているか否かを判定し、未出力の音データが蓄積されていないと判定したときに、保存された出力後の音データをパケットとして送信する。なお処理の詳細については、実施の形態１を参照するものとし、その説明を省略する。
【００５２】
前記実施の形態２では、ファームウェアとして記録されている本発明のコンピュータプログラムを実行することにより、本発明の出力装置としての処理を実行する形態を示したが、本発明はこれに限らず、ハードウェアとして本発明の出力装置としての機能を実行する回路を実装する様にしてもよい。
【００５３】
前記実施の形態１及び２では、音データを蓄積し、出力する形態を示したが、本発明はこれに限らず、画像データ等の音データ以外の様々なストリーミング用データに適用することが可能である。
【００５４】
なお受信する音データ、画像データ等のストリーミングデータが、直前のデータとの差分のみの内容である場合、直前のデータを保存して再生するだけでは、音及び／又は画像が途切れるという状態にはならないものの視聴者に対し、異常音の混入及び／又は画像の乱れとしての印象を与えることになる。従って直前のデータとの差分を送信するストリーミングデータに対しては、最後に再生した音及び／又は画像の全体のデータを保存しておき、そのデータに基づく再生を行うか、変更が発生していないことを示す差分データを再生するという様な処理を行うことが望ましい。具体的には、対象とするデータが画像データの場合で、直前のフレームとの差分のみをデータとして送信する形態のとき、直前のフレームを保存して再生するだけでは、却って異常な状態で画像が表示される可能性がある。そこで最後に表示した画像全体のデータを保存し、保存した画像全体のデータに基づいて、画像の再生を所定時間或いは所定フレーム数分繰り返すか、又は前フレームとの差異が無い旨のフレームデータを所定時間或いは所定フレーム数分繰り返す。これにより違和感のない画像を、保存したデータに基づいて再生することができる。また対象とするデータが音データの場合で、直前の音データとの差分のみデータとして送信する形態のとき、画像データと同様の処理を実行することにより、違和感のない音を、保存した音データに基づいて再生することができる。
【００５５】
以上の実施の形態１及び２を含む実施の形態に関し、更に以下の付記を開示する。
【００５６】
（付記１）受信したデータを蓄積手段に蓄積し、蓄積したデータに基づく出力を行う出力方法において、出力後のデータを保存し、データに基づく出力を行う場合に、未出力のデータが蓄積されているか否かを判定し、未出力のデータを蓄積していないと判定した場合に、保存した出力後のデータに基づく出力を行うことを特徴とする出力方法。
（付記２）蓄積量に上限値が設定されている蓄積手段に、受信したデータを蓄積し、蓄積したデータに基づく出力を行う出力方法において、出力後のデータを保存し、データに基づく出力を行う場合に、未出力のデータが蓄積されているか否かを判定し、未出力のデータを蓄積していないと判定した場合に、出力後のデータを蓄積手段に蓄積し、蓄積した出力後のデータに応じて上限値の設定を高くすることを特徴とする出力方法。
（付記３）受信したデータを蓄積する蓄積手段を備え、該蓄積手段に蓄積しているデータに基づく出力を行う出力装置において、出力後のデータを保存する手段と、データに基づく出力を行う場合に、未出力のデータが蓄積手段に蓄積されているか否かを判定する手段と、未出力のデータが蓄積されていないと判定したときに、保存した出力後のデータに基づく出力を行う手段とを備えることを特徴とする出力装置。
（付記４）前記データの蓄積量には、上限値が設定されてあり、出力後のデータに基づく出力を行うときに、蓄積量の上限値の設定を高くする手段を更に備えることを特徴とする付記３に記載の出力装置。
（付記５）蓄積量に上限値が設定されている蓄積手段を備え、受信したデータを蓄積手段に蓄積し、蓄積手段に蓄積しているデータに基づく出力を行う出力装置において、出力後のデータを保存する手段と、データに基づく出力を行う場合に、未出力のデータが蓄積手段に蓄積されているか否かを判定する手段と、未出力のデータが蓄積されていないと判定したときに、保存した出力後のデータを蓄積手段に蓄積する手段と、蓄積した出力後のデータに応じて上限値の設定を高くする手段とを備えることを特徴とする出力装置。
（付記６）一のデータの出力回数には、上限値が設定されてあり、一のデータの出力回数を計数する手段と、計数した出力回数、及び出力回数の上限値に基づいて、一のデータの出力を制限する手段とを更に備えることを特徴とする付記３乃至付記５のいずれかに記載の出力装置。
（付記７）前記データの蓄積量の上限値には、一のデータの出力を開始する前の値を保存しておく保存値が設定されてあり、一のデータの出力を制限した場合に、保存値を蓄積量の上限値として設定する手段を更に備えることを特徴とする付記６に記載の出力装置。
（付記８）データを送信する送信装置と、該送信装置と通信する付記３乃至付記７のいずれかに記載の出力装置とを備え、前記データは、音データであり、該出力装置の出力は、音データに基づく音の再生であることを特徴とする通信システム。
（付記９）データを送信する送信装置と、該送信装置から送信されたデータを受信する受信装置と、前記送信装置及び受信装置間の通信を中継する付記３乃至付記７のいずれかに記載の出力装置とを備え、該出力装置の出力は、前記送信装置から送信されたデータの前記受信装置への送信であることを特徴とする通信システム。
（付記１０）通信手段及び蓄積手段を備えるコンピュータに、受信して蓄積したデータに基づく出力を行わせるコンピュータプログラムにおいて、コンピュータに、出力後のデータを保存させる手順と、コンピュータに、データに基づく出力を行わせる場合に、未出力のデータが蓄積手段に蓄積されているか否かを判定させる手順と、コンピュータに、未出力のデータが蓄積されていないと判定したときに、保存した出力後のデータに基づく出力を行わせる手順とを実行させることを特徴とするコンピュータプログラム。
（付記１１）通信手段及び蓄積手段を備えるコンピュータに、受信して蓄積したデータに基づく出力を行わせるコンピュータプログラムにおいて、コンピュータに、出力後のデータを保存させる手順と、コンピュータに、データに基づく出力を行わせる場合に、未出力のデータが蓄積手段に蓄積されているか否かを判定させる手順と、コンピュータに、未出力のデータが蓄積されていないと判定したときに、保存した出力後のデータを蓄積手段に蓄積させる手順と、蓄積した出力後のデータに応じて、蓄積手段に予め設定されている上限値の設定を高くさせる手順とを実行させることを特徴とするコンピュータプログラム。
【図面の簡単な説明】
【００５７】
【図１】本発明の実施の形態１における通信システムの構成例を示す概念図である。
【図２】本発明の実施の形態１における通信システムにて用いられる各種装置の構成例を示すブロック図である。
【図３】本発明の実施の形態１における出力装置が備える蓄積手段の構成例を示す機能ブロック図である。
【図４】本発明の実施の形態１における出力装置が備える蓄積管理手段の構成例を示す機能ブロック図である。
【図５】本発明の実施の形態１における通信システムが備える出力装置の蓄積処理を示すフローチャートである。
【図６】本発明の実施の形態１における通信システムが備える出力装置の出力処理を示すフローチャートである。
【図７】本発明の実施の形態１における出力装置の蓄積される未出力データの蓄積量の経時変化を示すグラフである。
【図８】本発明の実施の形態２における通信システムの構成例を示す概念図である。
【図９】本発明の実施の形態２における通信システムにて用いられる出力装置の構成例を示すブロック図である。
【符号の説明】
【００５８】
１  出力装置
１６  蓄積手段
１６１  データ用メモリ
１６２  管理用メモリ
１７  蓄積管理手段
１７１  蓄積量検出部
１７２  動作制御部
１７３  最終データ保存部
１７４  出力回数計数部
２  送信装置
３  出力装置
３３ａ  第１蓄積手段
３３ｂ  第２蓄積手段
４  送信装置
５  受信装置
１００  通信網
１０１  第１通信網
１０２  第２通信網
２００  コンピュータプログラム
【図１】
2006238216.tif 000003
【図２】
2006238216.tif 000004
【図３】
2006238216.tif 000005
【図４】
2006238216.tif 000006
【図５】
2006238216.tif 000007
【図６】
2006238216.tif 000008
【図７】
2006238216.tif 000009
【図８】
2006238216.tif 000010
【図９】
2006238216.tif 000011