(57)【要約】【課題】  従来は、ファクシミリ手順信号を送出するごとにジッタバッファを初期位置に補正しているだけであるため、長時間の通信時間を要する画像データの受信フェーズでジッタバッファのオーバーフロー又はアンダーフローが発生する可能性がある。【解決手段】  ＩＰ網を介して通信を行う通信装置とその制御方法であって、ＩＰ網におけるパケット間隔を補正するためのジッタバッファを有し、そのジッタバッファにおける音声データパケットの量が、所定量、当該ジッタバッファの枯渇方向或いは飽和方向に近づいているかどうかを判定し、枯渇方向に近づいていると判定するとジッタバッファに無音データを追加して、ジッタバッファにおける音声データパケットの量を飽和方向に近づけ、飽和方向に近づいていると判定するとジッタバッファに格納されている音声データパケットを破棄して、ジッタバッファにおける音声データパケットの量を枯渇方向に近づける。【選択図】  図５
2015115779.tif 000002
【特許請求の範囲】
【請求項１】
ＩＰ網を介して通信を行う通信装置であって、
前記ＩＰ網におけるパケット間隔を補正するためのジッタバッファと、
前記ジッタバッファにおける音声データパケットの量が、所定量、当該ジッタバッファの枯渇方向或いは飽和方向に近づいているかどうかを判定する判定手段と、
前記判定手段が前記枯渇方向に近づいていると判定すると前記ジッタバッファに無音データを追加して前記ジッタバッファにおける音声データパケットの量を前記飽和方向に近づけ、前記飽和方向に近づいていると判定すると前記ジッタバッファに格納されている音声データパケットを破棄して前記ジッタバッファにおける音声データパケットの量を前記枯渇方向に近づけるように制御する制御手段と、
を有することを特徴とする通信装置。
【請求項２】
前記判定手段は、ファクシミリ通信において、画像データを受信する前のファクシミリ手順信号を送出した後、或いは複数ページの各ページの画像データを受信する前に送出するファクシミリ手順信号を送出する直前に判定することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記制御手段は、前記判定手段が前記枯渇方向に近づいていると判定すると、前記ジッタバッファに格納されている最終の音声データパケットの後に無音データを追加して格納することを特徴とする請求項１又は２に記載の通信装置。
【請求項４】
前記判定手段は、前記ジッタバッファの音声データパケットの最後のデータパケットの位置が、前記ジッタバッファの中央位置から前記所定量、前記枯渇方向或いは前記飽和方向に近づいているかどうかで判定することを特徴とする請求項１乃至３のいずれか１項に記載の通信装置。
【請求項５】
ＩＰ網を介して通信を行う通信装置であって、
前記ＩＰ網におけるパケット間隔を補正するためのジッタバッファと、
前記ジッタバッファにおける音声データパケットの量が、所定量、当該ジッタバッファの枯渇方向或いは飽和方向に近づいているかどうかを判定する判定手段と、
前記判定手段が前記枯渇方向に近づいていると判定すると前記ジッタバッファにおける音声データパケットの量を前記飽和方向に近づけ、前記飽和方向に近づいていると判定すると前記ジッタバッファにおける音声データパケットの量を前記枯渇方向に近づけるための補正量を算出し、当該補正量に基づいて前記ジッタバッファの音声データパケットの量を制御する制御手段と、
を有することを特徴とする通信装置。
【請求項６】
前記制御手段は、最初に画像データを受信する直前のファクシミリ手順信号の送出時は前記ジッタバッファへのデータの格納を開始してから前記ファクシミリ手順信号を送出するまでの経過時間を求め、また複数のフレームの画像データを受信する際は、前のフレームの画像データを受信する直前のファクシミリ手順信号の送出からの経過時間を求め、前記経過時間の間の単位時間当たりの前記音声データパケットの増減量に基づいて前記補正量を求めることを特徴とする請求項５に記載の通信装置。
【請求項７】
ＥＣＭモードのファクシミリ通信の場合、前記制御手段は前記増減量と、２５６フレームの受信に要する時間とを基に前記補正量を算出することを特徴とする請求項６に記載の通信装置。
【請求項８】
非ＥＣＭモードのファクシミリ通信の場合、前記制御手段は前記増減量と、１ページの最大受信時間とを基に前記補正量を算出することを特徴とする請求項６に記載の通信装置。
【請求項９】
ＩＰ網におけるパケット間隔を補正するためのジッタバッファを備え、前記ＩＰ網を介して通信を行う通信装置を制御する制御方法であって、
判定手段が、前記ジッタバッファにおける音声データパケットの量が、所定量、当該ジッタバッファの枯渇方向或いは飽和方向に近づいているかどうかを判定する判定工程と、
制御手段が、前記判定工程が前記枯渇方向に近づいていると判定すると前記ジッタバッファに無音データを追加して前記ジッタバッファにおける音声データパケットの量を前記飽和方向に近づけ、前記飽和方向に近づいていると判定すると前記ジッタバッファに格納されている音声データパケットを破棄して前記ジッタバッファにおける音声データパケットの量を前記枯渇方向に近づけるように制御する制御工程と、
を有することを特徴とする通信装置の制御方法。
【請求項１０】
ＩＰ網におけるパケット間隔を補正するためのジッタバッファを備え、前記ＩＰ網を介して通信を行う通信装置を制御する制御方法であって、
判定手段が、前記ジッタバッファにおける音声データパケットの量が、所定量、当該ジッタバッファの枯渇方向或いは飽和方向に近づいているかどうかを判定する判定工程と、
制御手段が、前記判定工程が前記枯渇方向に近づいていると判定すると前記ジッタバッファにおける音声データパケットの量を前記飽和方向に近づけ、前記飽和方向に近づいていると判定すると前記ジッタバッファにおける音声データパケットの量を前記枯渇方向に近づけるための補正量を算出し、当該補正量に基づいて前記ジッタバッファの音声データパケットの量を制御する制御工程と、
を有することを特徴とする通信装置の制御方法。
【請求項１１】
コンピュータを、請求項１乃至８のいずれか１項に記載の通信装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＰ網を用いて音声データパケットを送受信して通信を行う通信装置及びその制御方法とプログラムに関するものである。
【背景技術】
【０００２】
近年、ＩＰ網を介して音声データパケットを送受信して通話及びファクシミリ通信を行う、所謂、ＶｏＩＰ（Voice over Internet Protocol）通信システムが普及してきている。このＶｏＩＰによる通信システムでは、音声データパケットを受信する際のＩＰネットワーク経路の遅延等による不規則なパケット到着間隔の揺らぎを吸収して補正するためにジッタバッファを設けている。通常、ジッタバッファは、一定時間分の音声データを蓄積する。通信システムは、その蓄積した音声データパケットをジッタバッファから取り出し、音声コーデックで復調した後に電話機或いはモデムに入力することで音声通話又はファクシミリ通信を行っている。
【０００３】
ファクシミリ通信において、送信側のファクシミリ装置と受信側ファクシミリ装置の水晶振動子の発振周波数に差がある場合、送信側と受信側の装置との間で、一定時間当たりに処理できる音声データの量に差異が発生する。そのためファクシミリ通信の実行中に、受信側ファクシミリ装置のジッタバッファのオーバーフロー或いはアンダーフローが発生して通信エラーとなる場合がある。
【０００４】
水晶振動子の発振周波数のクロック精度は、通常、±１００ｐｐｍ程度であるが、この水晶振動子は動作環境、特に温度の影響を受ける。このため、同一の水晶振動子を使用したファクシミリ装置同士の通信であっても、送信側と受信側のファクシミリ装置の動作環境の差により、長時間の画像データの通信時にジッタバッファのオーバーフロー或いはアンダーフローが発生する可能性がある。また、急激なネットワークトラフィックの変化が発生する場合にも、ジッタバッファのオーバーフロー或いはアンダーフローが発生する可能性がある。
【０００５】
従って、ＩＰ網を介して音声パケットを送受信してファクシミリ通信を行う場合には、上述したジッタバッファのオーバーフローやアンダーフローが発生しないように受信側ファクシミリ装置のジッタバッファの容量を適切に制御する必要がある。
【０００６】
図７は、一般的なファクシミリ通信手順の一例を示す図である。
【０００７】
ファクシミリ通信開始時、まず送信側のファクシミリ装置は１３００ＨｚのＣＮＧ信号を送信する。受信側ファクシミリ装置は、このＣＮＧ信号を受信すると２１００ＨｚのＣＥＤ信号を送信し、更にファクシミリ手順信号であるＮＳＦ，ＣＳＩ，ＤＩＳ信号を送信する。送信側ファクシミリ装置は、これらＮＳＦ，ＣＳＩ，ＤＩＳ信号を受信するとファクシミリ手順信号であるＮＳＳ，ＴＳＩ，ＤＣＳ信号を送信し、更にダミーの画像データであるＴＣＦを送信する。受信側ファクシミリ装置は、このＴＣＦを正常に受信できた場合、ファクシミリ手順信号（ＣＦＲ信号）を送信して、受信側ファクシミリ装置は画像データの受信待ち状態となる。
【０００８】
送信側ファクシミリ装置は、このＣＦＲ信号を受信すると、画像データの送信フェーズに入って画像データ（ＰＩＸ）を送信する。ここではまず１フレーム２５６バイトの画像データからなるＨＤＬＣフレームを２５６フレーム送信している。そして、これら２５６フレームの画像データの送信後にファクシミリ手順信号であるＰＰＳ−ＮＵＬＬを送信する。受信側ファクシミリ装置は送信側ファクシミリ装置より送られてきた画像データを正常に受信できたことを示すＭＣＦ信号を送信する。このＭＣＦ信号を受信した送信側ファクシミリ装置は１ページ目の残りの画像データを送信し、次ページがあることを示すＰＰＳ−ＭＰＳ信号を送信する。受信側ファクシミリ装置は送信側ファクシミリ装置より送られてきた画像データを正常に受信できたことを示すＭＣＦ信号を送信する。このＭＣＦ信号を受信した送信側ファクシミリ装置は次ページの画像データを送信し、最後に最終ページの画像データであることを示すＰＰＳ−ＥＯＰ信号を送信する。受信側ファクシミリ装置は送信側ファクシミリ装置より送られてきた最後の画像データを正常に受信できたことを示すＭＣＦ信号を送信する。そして最後に、送信側ファクシミリ装置は通信の終了を示すＤＣＮ信号を送信して終了する。また受信側ファクシミリ装置は、このＤＣＮ信号を受信すると受信処理を終了する。
【０００９】
上記ファクシミリ通信手順は半二重である。このため、ファクシミリ手順信号の送出中は、相手機より有効な音声信号を受け取ることはなく、基本的には無音の音声データパケットを受信しているだけである。よって、この間にジッタバッファの音声データパケットを操作してもファクシミリ通信に影響を与えることはない。よって、画像データの受信直前のファクシミリ手順信号の送出時（例えばＣＦＲ信号）にジッタバッファを操作することは可能である。そこで例えば特許文献１は、ＩＰファクシミリ装置が、ファクス手順信号の送出に同期してジッタバッファを初期状態に補正する技術を記載している。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開平２０１０−１６６１８８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、上記従来のＩＰファクシミリ装置では、ファクシミリ手順信号を送出するごとにジッタバッファを初期位置に補正しているだけである。このため、長時間の通信時間を要する画像データの受信フェーズでジッタバッファのオーバーフロー又はアンダーフローが発生する可能性がある。ジッタバッファのオーバーフロー或いはアンダーフローの発生を抑えるために、ジッタバッファのバッファ容量を大きくすることが考えられるが、これは遅延の増大につながり好ましくない。
【００１２】
本発明の目的は、上記従来技術の問題点を解決することにある。
【００１３】
本発明の特徴は、ジッタバッファのオーバーフロー又はアンダーフローの発生を回避することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するために本発明の一態様に係る通信装置は以下のような構成を備える。即ち、
ＩＰ網を介して通信を行う通信装置であって、
前記ＩＰ網におけるパケット間隔を補正するためのジッタバッファと、
前記ジッタバッファにおける音声データパケットの量が、所定量、当該ジッタバッファの枯渇方向或いは飽和方向に近づいているかどうかを判定する判定手段と、
前記判定手段が前記枯渇方向に近づいていると判定すると前記ジッタバッファに無音データを追加して前記ジッタバッファにおける音声データパケットの量を前記飽和方向に近づけ、前記飽和方向に近づいていると判定すると前記ジッタバッファに格納されている音声データパケットを破棄して前記ジッタバッファにおける音声データパケットの量を前記枯渇方向に近づけるように制御する制御手段と、を有することを特徴とする。
【発明の効果】
【００１５】
本発明によれば、ジッタバッファのオーバーフロー又はアンダーフローの発生を回避できるという効果がある。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施形態に係る通信システムの概略構成図。
【図２】実施形態に係るＩＰファクシミリ通信装置の構成を説明するブロック図。
【図３】実施形態に係るファクシミリ制御部の構成を示すブロック図。
【図４】一般的なジッタバッファにおける音声データパケットの格納状況の推移の一例を示す図。
【図５】本発明の実施形態１，２に係るＩＰファクシミリ通信装置のファクシミリ受信動作におけるジッタバッファ制御を説明する図。
【図６】図５とは別の実施形態に係るＩＰファクシミリ通信装置のファクシミリ受信動作におけるジッタバッファ制御を説明する図。
【図７】一般的なファクシミリ通信手順例を説明する図。
【図８】本発明の実施形態１に係るＩＰファクシミリ通信装置によるファクシミリ受信処理を説明するフローチャート。
【図９】図８のＳ８０２（Ｓ８０７）で実行されるジッタバッファ制御を説明するフローチャート。
【図１０】本発明の実施形態２に係るＩＰファクシミリ通信装置によるファクシミリ受信処理を説明するフローチャート。
【図１１】図１０のＳ１００３（Ｓ１００８）のジッタバッファ制御を説明するフローチャート。
【発明を実施するための形態】
【００１７】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１８】
この実施形態では、ネットワーク経路の遅延等による不規則なパケット間隔を補正するためのジッタバッファを有し、ＩＰ通信網を用いてみなし音声によるファクシミリ通信を行うＩＰファクシミリ通信装置を例に説明する。
【００１９】
図１は、本発明の実施形態に係る通信システムの概略構成図である。
【００２０】
ここでは実施形態に係るＩＰ（Internet Protocol)ファクシミリ通信装置１０１が、インターネットプロトコル網（ＩＰ網）１０２を介して他のＩＰファクシミリ通信装置１０３と接続されている。ここでＩＰファクシミリ通信装置１０１と１０３は、インターネット通信網１０２を介してファクシミリ通信が可能である。
【００２１】
図２は、実施形態に係るＩＰファクシミリ通信装置１０１の構成を説明するブロック図である。
【００２２】
スキャナ部２０１は、指定されたモード（例えば、紙サイズ、解像度、濃度等）で原稿をスキャンして読み取り、その原稿の画像データを出力する。プリンタ部２０２は、スキャナ部２０１から出力される画像データ、或いはネットワークを介して受信した画像データに基づいて用紙に画像を印刷する。操作部２０３はタッチパネル機能を備えた表示部や各種ハードキーなどを有し、ユーザはこの操作部２０３を介して各種設定を行い、またユーザに対する各種メッセージ等を表示する。
【００２３】
符号化／復号化部２０４は、送信する画像データを符号化し、また受信した符号化された画像データを復号化して元の画像データに復元する。ネットワーク制御部２０５はＮＩＣ（Network interface Card）を含み、ＩＰ通信網１０２に接続されている。そして、ＩＰ網１０２に接続されている他のＩＰファクシミリ通信装置とＴ．３８プロトコルを用いた高速ファクシミリ通信や見なし音声によるファクシミリ通信を行うことが可能である。この見なし音声によるファクシミリ通信は、Ｇ３ＦＡＸの信号をＰＣＭ（pulse code modulation）でデジタル化し、「音」として通信するもので、本実施形態では、この見なし音声によるファクシミリ通信を例に説明する。
【００２４】
システムメモリ２０６はＲＡＭ及びＲＯＭ等を有し、ＣＰＵ２０８により実行されるプログラムや、この装置に登録されている各種情報を格納し、また処理の際に必要となる各種情報を一時的に保存するワークメモリを提供している。ページメモリ２０７は、１ページ分の画像データを格納する。ＣＰＵ２０８はシステムメモリ２０６に格納されたプログラムを実行して、この通信装置全体の動作を制御している。暗号化部２０９は、ＨＤＤ（ハードディスクドライブ）２１１に画像データを蓄積する際に、その画像データを暗号化する。画像データを暗号化せずにＨＤＤ２１１に格納する場合は、画像データを符号化／復号化部２０４で圧縮してＨＤＤ２１１に保存するが、暗号化して格納する場合は、データ圧縮された画像データを暗号化部２０９にて暗号化した後、ＨＤＤ２１１に保存する。ファクシミリ制御部２１０は、ネットワーク制御部２０５を介してＩＰ網に接続され、他のＩＰファクシミリ通信装置とＴ．３８プロトコルを用いた高速ファクシミリ通信や見なし音声によるファクシミリ通信を行う。ＨＤＤ２１１は、受信した画像データやスキャナ部２０１が原稿を読み取って得られた画像データを等を格納する。タイマ２１３はプログラマブルタイマで、後述するＣＰＵ２０８による経過時間の計時等に使用される。ＣＰＵ２０８は、システムバス２１２を介してこれら各部を制御している。
【００２５】
図３は、実施形態に係るファクシミリ制御部２１０の構成を示すブロック図である。
【００２６】
モデム３０１は、一般的なＧ３ＦＡＸで使われるアナログＩ／Ｆのものではなく音声コーデックを内蔵しているモデムである。そして、ジッタバッファ３０３を通して相手機ファクシミリ装置から送られてくるデジタルＰＣＭ符号化データを受信し、内蔵の音声コーデックで復号した後、通常のモデムと同様に変調波を復調してファクシミリ手順信号及び画像データの情報を取得する。そしてモデム３０１は、ネットワーク制御部２０５へＰＣＭ符号化されたファクシミリ手順信号及び画像データを送信する。モデム制御部３０２はモデム３０１に対して動作指示を行うことによりファクシミリ送受信を制御する。
【００２７】
ジッタバッファ３０３は、受信した音声データを一定量蓄積するバッファメモリである。このジッタバッファ３０３のサイズが小さいと、ネットワークの遅延等により受信データの欠落が発生する。一方、サイズが大きいと、パケットデータを受信してから応答までの応答時間が長くなって遅延が発生する。そのため、ジッタバッファ３０３のサイズを適正に定める必要がある。
【００２８】
一例として、一般的なジッタバッファのサイズ算出方法を以下に説明する。
【００２９】
送信側と受信側のＶｏＩＰ−ＴＡ間のクロック精度と１通信時間１０分を保証し、一般的なクロック精度を送信側、受信側ともに±１００ｐｐｍ、ＲＴＰ（Real Time Transport Protocol）間隔を２０ｍｓとする。このとき、１パケットがロスするまでの時間Ｔは以下で表される。
【００３０】
Ｔ＝（２０／１０００）／（（１００＋１００）／１００００００）＝１００秒
いま６段のジッタバッファを挿入することで、パケットロスまでの猶予時間は、６×１００秒＝６００秒＝１０分となり、計算上は１０分間はパケットロスが発生しないことになる。
【００３１】
更に、ＩＰネットワークの１リンクあたりの遅延ジッタの２０ｍｓを考慮すると、ジッタバッファは７段、即ち、１４０ｍｓ分の音声データパケットを蓄積できるように設計することが望ましいとされている。
【００３２】
ジッタバッファ制御部３０４は、ネットワーク制御部２０５より取得した音声データパケットをジッタバッファ３０３に保存する。また、ジッタバッファ３０３に保存されている音声データパケットをモデム３０１に渡すように制御する。またジッタバッファ制御部３０４は、ジッタバッファ３０３のデータの増減を監視し、ジッタバッファ３０３のデータを破棄、または「０ｘ００」からなる無音データをジッタバッファ３０３に追加できる。水晶振動子３０５は、発信タイミングを決めるものであり、送信側と受信側とで水晶振動子の発振周波数を合わせることにより動作タイミングを合わせることが可能となる。
【００３３】
図４（Ａ）〜（Ｅ）は、一般的なジッタバッファにおける音声データパケットの格納状況の推移の一例を示す図である。
【００３４】
図４（Ａ）に示す初期状態は、ＩＰファクシミリの受信を開始した後、受信した音声データパケットをジッタバッファに格納している状態を示す。ここでは、受信した音声データパケットの取出し処理を行わず、ジッタバッファの中央位置まで音声データパケットが蓄積されるまで蓄積のみを行っている。ここでは、ジッタバッファに、０から順に７で示す音声データパケットが順次格納されている。こうして、ジッタバッファの中央位置まで音声データパケットが格納されると、ジッタバッファ制御部は、音声データパケットの取出しを開始する。即ち、ジッタバッファからモデムへの音声データパケットの送信動作を開始する。
【００３５】
図４（Ｂ）は、ジッタバッファ制御部が、ジッタバッファの先頭の音声データパケット０をジッタバッファより取り出してモデムに出力している。これによりジッタバッファの音声データパケットは１つ減少し、ジッタバッファに音声データパケット１〜７が存在している状態となる。
【００３６】
図４（Ｃ）は、新しい音声データパケットをネットワーク制御部より受信してジッタバッファの次の空きエリアに保存している。ここでは、ネットワーク制御部で２つの音声データパケットが受信されて、ジッタバッファの音声データパケット７に続いて、音声データパケット８，９として保存されている。
【００３７】
図４（Ｄ）は、ジッタバッファでデータオーバーフローが発生した場合を示す。
【００３８】
いま受信側のファクシミリ通信装置の水晶振動子の発振周波数と、送信側装置の水晶振動子の発振周波数に差異があり、受信側装置の発振周波数の方が低いとする。この場合、送信側のファクシミリ装置より単位時間当たり送信される音声データパケットの数は、受信側の装置が、その単位時間当たり受信して処理する数よりも多くなる。その結果、ジッタバッファに蓄積される音声データパケットの量が増加することになる。これによりジッタバッファに格納される音声データパケットの量が徐々に増大して飽和方向に推移し、最終的にはジッタバッファのオーバーフローとなる。
【００３９】
図４（Ｄ）では、ジッタバッファに１６個の音声データパケット１〜１６が蓄積されている状態で、更に、ネットワーク制御部が音声データパケットを受信している。この場合、ジッタバッファ制御部は、ジッタバッファに、その受信した１７番目の音声データパケットを保存することができないため、その音声データパケットを破棄する。その結果、１７番目の音声データパケットが欠落する。また、ジッタバッファ制御部の制御方法によっては、ジッタバッファの最終データである１６番目の音声データパケットに１７番目の音声データパケットを上書きしても良い。この場合は、１６番目の音声データパケットが欠落することになる。
【００４０】
図４（Ｅ）は、データアンダーフローが発生した場合のジッタバッファの状態を説明する図である。
【００４１】
いま受信側のファクシミリ通信装置の水晶振動子の発振周波数と、送信側装置の水晶振動子の発振周波数に差異があり、受信側装置の発振周波数の方が高いとする。この場合、送信側のファクシミリ装置より単位時間当たり送信される音声データパケットの数は、受信側の装置が、その単位時間当たり受信して処理する数よりも少なくなる。その結果、ジッタバッファに蓄積される音声データパケットの量が減少する。これによりジッタバッファの内容は、徐々に枯渇方向に推移し、最終的にはジッタバッファに音声データパケットが存在しないデータアンダーフロー状態となる。
【００４２】
図４（Ｅ）では、ジッタバッファに保存されている音声データパケットがない状態であるため、ジッタバッファ制御部は無音データ「Ｅ」をモデムへ送信する。また、ジッタバッファ制御部の制御方法によっては、ジッタバッファの音声データが枯渇している時、最終の音声データパケットをモデムに送信してもよい。
【００４３】
以上が一般的なジッタバッファの動作の説明である。
【００４４】
図５（Ａ）〜（Ｅ）は、本発明の実施形態１，２に係るＩＰファクシミリ通信装置１０１のファクシミリ受信動作におけるジッタバッファ制御を説明する図である。
【００４５】
図５（Ａ）は初期状態を示し、図４（Ａ）と同様に、ジッタバッファ３０３から音声データパケットの取出しを処理を行わず、ジッタバッファ３０３の中央位置まで音声データパケットが蓄積されている。ここではジッタバッファ３０３に、０〜７で示す音声データパケットが格納されている。こうしてジッタバッファ３０３の中央位置まで音声データパケットが格納されると、ジッタバッファ制御部３０２は音声データパケットの取出し処理を開始し、モデム３０１へ、その取り出した音声データパケットを出力する。
【００４６】
図５（Ｂ）は、画像データの受信を開始する直前のジッタバッファ３０３の状態の一例を示す図である。この図では、画像データの受信を開始する直前で、ジッタバッファ３０３に格納されている音声データパケットの量は枯渇方向に近づいている。図５（Ｂ）では、格納されている音声データパケットの量は、中央位置から枯渇方向にパケットの３個分少なくなっている。
【００４７】
図５（Ｃ）は、画像データの受信を開始する直前のジッタバッファ３０３の状態の一例を示す図である。この図では、画像データの受信を開始する直前では、ジッタバッファ３０３に格納されている音声データパケットの量は飽和方向に近づいている。即ち、図５（Ｃ）では、格納されている音声データパケットの量は、中央位置から飽和方向にパケットの４個分増加している。
【００４８】
図５（Ｄ）は、図５（Ｂ）に示すようにジッタバッファ３０３に格納されている音声データパケットの量が枯渇方向に近づいている場合に、ジッタバッファ制御部３０４が補正処理を行った後の状態を示している。ここでは、ジッタバッファ制御部３０４は、図５（Ｂ）で、ジッタバッファ３０３に格納している音声データパケットの量がジッタバッファ３０３の中央位置から減少している分（ここでは３個分）を求める。そして図５（Ｄ）に示すように、中央位置から飽和方向に近づける分（ここでは７個）との合計である、７個の無音音声データパケット「Ｅ」を追加している。図５（Ｄ）では、７個の無音の音声データパケット「Ｅ」を追加して格納して、ジッタバッファ３０３に格納されている音声データパケットの量が１２個まで増加している。
【００４９】
図５（Ｅ）は、図５（Ｃ）に示すように、ジッタバッファ３０３に格納されている音声データパケットの量が飽和方向に近づいている場合に、ジッタバッファ制御部３０４が補正処理を行った後の状態を示している。
【００５０】
ジッタバッファ制御部３０４は、図５（Ｃ）で、ジッタバッファ３０３に格納している音声データパケットの量が中央位置を超えている増加量の分（ここでは４個分）を求める。そして図５（Ｅ）のように、中央位置から枯渇方向に近づける分（ここでは４個）の合計である８個の音声データパケットを破棄している。従って図５（Ｅ）では、図５（Ｃ）の８個の音声データパケット２７〜３４が破棄されて、ジッタバッファ３０３に格納されている音声データパケットの量が４個まで減少している。
【００５１】
このように実施形態１では、ジッタバッファ３０３がオーバフローに近づくと、格納している音声データパケットを破棄してジッタバッファ３０３のオーバフローが発生するのを防止している。またジッタバッファ３０３がアンダーフローに近づくと、無音の音声データパケットを追加することにより、ジッタバッファ３０３のアンダーフローが発生するのを防止している。
【００５２】
図６（Ａ）（Ｂ）は、図５とは別の実施形態に係るＩＰファクシミリ通信装置１０１のファクシミリ受信動作におけるジッタバッファ制御を説明する図である。
【００５３】
図６（Ａ）は、画像データの受信を開始する直前のジッタバッファ３０３の状態を示す図である。この図では、画像データの受信を開始する直前では、ジッタバッファ３０３に格納している音声データパケットの量が枯渇方向に近づいている。
【００５４】
図６（Ｂ）は、図６（Ａ）に示すように、ジッタバッファ３０３に格納している音声データパケットの量が枯渇方向に近づいてる場合に、ジッタバッファ制御部３０４が補正処理を行った後の状態を示している。
【００５５】
この場合、ジッタバッファ制御部３０４は、図６（Ａ）で、ジッタバッファ３０３が枯渇方向に近づいているため、ジッタバッファ３０３に格納している音声データパケットの量が飽和状態になるように無音の音声データパケット「Ｅ」を付加している。この図６（Ｂ）では、１０個の無音の音声データパケット「Ｅ」を付加した状態を示している。
【００５６】
この実施形態では、ジッタバッファ３０３がアンダーフローに近づくと、無音の音声データパケットを追加してジッタバッファ３０３が満杯になるようにすることにより、ジッタバッファ３０３のアンダーフローが発生するのを防止している。
【００５７】
次に本発明の実施形態１に係るＩＰファクシミリ通信装置１０１による処理を説明する。
【００５８】
この実施形態１では、ファクシミリ受信における画像データを受信する直前のファクシミリ手順信号の送出時に、ジッタバッファ３０３のデータ量を検出する。そして、ジッタバッファのデータ量が、中央位置から所定量枯渇方向に近づいていると、ジッタバッファ３０３の最終データの後に０x００の無音データを付加してジッタバッファ３０３のデータ量を飽和状態に近づける。一方、ジッタバッファ３０３のデータ量が、中央位置から所定量飽和方向に近づいている場合は、ジッタバッファ３０３に格納されている所定量のデータを廃棄し、ジッタバッファ３０３のデータ量を枯渇状態に近づける。尚、画像データを受信する直前のファクシミリ手順信号は、１ページ目の画像データの受信の前に送出するＣＦＲ信号、及び複数ページの画像データを受信する前、及び複数ブロックの画像データを受信する前に送出するＭＣＦ信号である。
【００５９】
図８は、本発明の実施形態１に係るＩＰファクシミリ通信装置１０１によるファクシミリ受信処理を説明するフローチャートである。この処理を実行するプログラムはシステムメモリ２０６に記憶されており、ＣＰＵ２０８がこのプログラムを読み出して実行することよりこのフローチャートで示す処理が実現される。尚、ジッタバッファ３０３のデータ量の検知及びジッタバッファ３０３へのデータの格納及びジッタバッファ３０３のデータの廃棄などはジッタバッファ制御部３０４の制御の下で実行される。しかしながら、ここでは、ジッタバッファ制御部３０４がＣＰＵ２０８の制御の下に上述の処理を実行するため、ＣＰＵ２０８による処理として説明している。
【００６０】
ＩＰ網を介してみなし音声によるファクシミリの受信動作を行う際、まずＳ８０１でＣＰＵ２０８は、ファクシミリの前手順として、図７を参照して説明したＣＥＤ信号の送出からＴＣＦ信号の受信までの処理を行う。次にＳ８０２に進みＣＰＵ２０８は、ジッタバッファ制御を行う。
【００６１】
図９は、図８のＳ８０２（Ｓ８０７）で実行されるジッタバッファ制御を説明するフローチャートである。
【００６２】
まずＳ９０１でＣＰＵ２０８は、ジッタバッファ３０３に格納されている音声データパケットの量を取得する。次にＳ９０２に進みＣＰＵ２０８は、Ｓ９０１で取得した音声データパケットの量が、閾値以内であるかどうかを判定する。ジッタバッファ３０３に格納された音声データパケットの量が閾値以上多い場合はＳ９０３に進み、閾値以上少ない場合はＳ９０４に進む。また音声データパケットの量が閾値以内である場合は、そのままこの処理を終了する。尚、ここで、閾値以内とは、本実施形態においては、ジッタバッファ３０３の音声データパケットの量が、図５（Ａ）の初期状態での中央位置に対して±１の状態である場合に閾値以内であると判定する。従ってＳ９０２では、音声データパケットの量が、ジッタバッファ３０３の中央位置から飽和方向に２つ以上、或いは枯渇方向に２つ以上であるか、或いは中央位置に対して±１の範囲内であるかを判定していることになる。
【００６３】
音声データパケットの量が、ジッタバッファ３０３の中央位置から飽和方向に２つ以上であればＳ９０３に進む。Ｓ９０３では、ジッタバッファ３０３に格納されている音声データパケットの量が、例えば図５（Ｃ）に示すように飽和方向に近づいている。従って、ＣＰＵ２０８は、例えば図５（Ｅ）に示すように、音声データパケットの量が中央位置から更に枯渇状態に近くなるように、ジッタバッファ３０３に格納されている一定量の音声データパケットを破棄してこの処理を終了する。
【００６４】
一方、音声データパケットの量が、ジッタバッファ３０３の中央位置から枯渇方向に２つ以上であればＳ９０４に進む。Ｓ９０４では、ジッタバッファ３０３に格納されている音声データパケットの量は、例えば図５（Ｂ）に示すように枯渇方向に近づいている。このためＣＰＵ２０８は、例えば図５（Ｄ）に示すように、中央位置から更に飽和状態に近づくように、ジッタバッファ３０３に一定量の無音の音声データパケット（Ｅ）を付加して、この処理を終了する。
【００６５】
こうしてＳ８０２の処理を実行すると図８のＳ８０３に進み、ＣＰＵ２０８は、ファクシミリ手順信号であるＣＦＲ信号を送信側のファクシミリ装置に送信する。次にＳ８０４に進みＣＰＵ２０８は、ファクシミリ画像データの受信フェーズに移行して画像データを受信する。この画像データの受信フェーズは、図７におけるＰＩＸの受信を意味している。
【００６６】
次にＳ８０５に進みＣＰＵ２０８は、１ページ分の画像データを正常に受信すると、画像データの受信終了後に送信側ファクリミリ装置より送られてくるファクシミリ手順信号がＰＰＳ−ＭＰＳ信号、又はＰＰＳ−ＥＯＰ信号かどうかを判定する。最終ページの画像データであることを示すＰＰＳ−ＥＯＰ信号を受信した場合はＳ８０６に進み、ＣＰＵ２０８は、送信側ファクリミリ装置にＭＣＦ信号を送出する。そしてＤＣＮ信号を受信して後手順を終了し、この受信動作を終了する。
【００６７】
一方、Ｓ８０５で次ページがあることを示すＰＰＳ−ＭＰＳ信号を受信するとＳ８０７に進み、ＣＰＵ２０８は、Ｓ８０２と同様にジッタバッファ制御処理を実行してＳ８０８に移行する。Ｓ８０８でＣＰＵ２０８は、画像データの受信後の応答信号を、送信側ファクリミリ装置に送出してＳ８０４に進む。この画像データ受信後の応答信号は、ＭＣＦ，ＰＰＲ，ＲＴＰ信号を指す。
【００６８】
以上説明したように本実施形態１によれば、ファクシミリ受信における画像データの受信直前のファクシミリ手順信号の送出前にジッタバッファ３０３のデータ量を検出する。そして、そのデータ量が中央位置から所定量枯渇方向に近づいている場合にジッタバッファに無音データを付加してアンダーフローの発生を防止する。また、ジッタバッファ３０３のデータ量が中央位置から飽和方向に近づいている場合は、ジッタバッファ３０３に格納されている所定量のデータを廃棄する。これによりジッタバッファのオーバーフロー又はアンダーフローの発生を回避することができる。
［実施形態２］
次に本発明の実施形態２について説明する。実施形態２では、実施形態１と同様に、ジッタバッファのデータ量が中央位置から所定量枯渇方向或いは飽和方向に近づいているかどうかを判定する。そして、所定量枯渇方向或いは飽和方向に近づいている場合、ファクシミリの受信を開始してからの経過時間を測定し、その経過時間内におけるジッタバッファの音声データパケットの量の増減を求める。そして単位時間当たりの増減量を求め、その増減量を基に、ジッタバッファのデータ量を補正するための補正量を求める。そして、その求めた補正量に従って、ジッタバッファに無音の音声データパケットを追加したり、或いは、ジッタバッファに格納されている音声データパケットを破棄する。尚、実施形態２に係るファクシミリ通信装置１０１の構成や通信システムの構成は前述の実施形態１と同様であるため、その説明を省略する。
【００６９】
図１０は、本発明の実施形態２に係るＩＰファクシミリ通信装置１０１によるファクシミリ受信処理を説明するフローチャートである。この処理を実行するプログラムはシステムメモリ２０６に記憶されており、ＣＰＵ２０８がこのプログラムを読み出して実行することよりこのフローチャートで示す処理が実現される。尚、ジッタバッファ３０３のデータ量の検知及びジッタバッファ３０３へのデータの格納及びジッタバッファ３０３のデータの廃棄などはジッタバッファ制御部３０４の制御の下で実行される。しかしながら、ここでは、ジッタバッファ制御部３０４がＣＰＵ２０８の制御の下に上述の処理を実行するため、ＣＰＵ２０８による処理として説明している。
【００７０】
まずＳ１００１でＣＰＵ２０８は、システムメモリ２０６のＲＡＭに、タイマ２１３により計時した受信開始時の時刻情報を保存する。次にＳ１００２に進みＣＰＵ２０８は、ファクシミリの前手順として図７で説明したＣＥＤ信号の送出からＴＣＦ信号の受信までの処理を実行する。次にＳ１００３に進みＣＰＵ２０８は、ファクシミリ前手順からＣＦＲ信号を送出するまでの時間の間でのジッタバッファ制御を行う。
【００７１】
図１１は、図１０のＳ１００３（Ｓ１００８）のジッタバッファ制御を説明するフローチャートである。
【００７２】
まずＳ１１０１でＣＰＵ２０８は、ジッタバッファ３０３に格納されている音声データパケットの量を取得する。次にＳ１１０２に進みＣＰＵ２０８は、Ｓ１１０１で取得したデータパケットの量に基づいて、Ｓ９０１と同様に、ジッタバッファ３０３の音声データパケットの量が閾値以上に増加しているかどうかを判定する。ここで音声データパケットの量が閾値以上に増加していると判定するとＳ１１０３に進み、音声データパケットの量が閾値以上に減少していると判定するとＳ１１０４に進む。また音声データパケットの量が閾値以内であると判定するとＳ１１０５に移行する。尚、ここで閾値以内とは、本実施形態２では、ジッタバッファ３０３の音声データパケットの量が、図５（Ａ）に示すように中央位置に対して±１の状態内である場合を指す。
【００７３】
Ｓ１１０３では、ジッタバッファ３０３に格納されている音声データパケットの量は、例えば図５（Ｃ）に示すように飽和方向に近づいている。このためＣＰＵ２０８は、まずＳ１００１でＲＡＭに保存した時刻情報と、タイマ２１３により計時されている、ＣＦＲ信号を送出する直前の現在の時刻より通信時間を算出する。そして、ジッタバッファ３０３の増加量と、算出した通信時間とに基づいて、単位時間当たりの増加量を算出する。そしてＣＰＵ２０８は、その求めた単位時間あたりの増加量から補正量を算出し、その補正量に従って、ジッタバッファ３０３に格納されている音声データパケットの量を減少させる。
【００７４】
具体的には、ファクシミリ通信モードがＥＣＭモードの場合、一度に受信可能な画像データのサイズは、１フレーム２５６バイトのＨＤＬＣフレームを２５６フレーム受信するため約６４ｋバイトとなる。ＣＰＵ２０８は、６４ｋバイトの受信に要する時間と、上記単位時間あたりの増加量とに基づいて、６４ｋバイトのフレームを受信する時のジッタバッファ３０３に格納される音声データパケットの増加量を算出する。そして、現在の増加量（中央位置から飽和方向に格納されている音声データパケットの量であり、図５（Ｃ）の３１〜３４を意味する）に、上記単位時間あたりの増加量を加算したものを補正量とする。そして、補正量に対応する、ジッタバッファ３０３に格納されている一定量の音声データパケットを破棄する（図５（Ｃ）のパケットデータ２７〜３４を破棄する）。
【００７５】
また、ファクシミリ通信モードが非ＥＣＭモードの場合、受信機が許容する１ページの最大受信可能時間（１ページのタイムアウト時間）を８分とする。そして上記単位時間あたりの増加量より、最大８分の画像データを受信した場合に、ジッタバッファ３０３に格納される音声データパケットの増加量を算出する。そして、現在の増加量（中央位置から飽和方向に格納されている音声データパケットの量、例えば図５（Ｃ）では３１〜３４）に、上記算出した増加量を加算したものを補正量とし、その補正量に対応する量の音声データパケットを破棄する。これは例えば、図５（Ｃ）の例では、音声データパケット２７〜３４の破棄を意味している。
【００７６】
またＳ１１０４では、例えばジッタバッファ３０３の音声データパケットの量は図５（Ｂ）に示すようになっている。従って、この場合は、Ｓ１００１でＲＡＭに保存した時刻情報と、上述の現在の時刻より通信時間を算出する。次にＣＰＵ２０８は、ジッタバッファ３０３における音声データパケットの減少量と上記通信時間とに基づいて、単位時間あたりの減少量を算出する。そしてＣＰＵ２０８は、この単位時間あたりの減少量から補正量を算出し、その補正量に従って、ジッタバッファ３０３に格納されている音声データパケットの量を飽和方向に補正する。
【００７７】
具体的には、ファクシミリ通信モードがＥＣＭモードの場合は、一度に受信可能な画像データサイズは、１フレーム２５６バイトのＨＤＬＣフレームを２５６フレーム受信するため約６４ｋバイトとなる。ＣＰＵ２０８は、６４ｋバイトの受信に要する時間と、上記単位時間あたりの減少量より６４ｋバイト受信時のジッタバッファ３０３における音声データパケットの減少量を算出する。そして、現在の減少量に上記減少量を加算したものを補正量とし、その補正量に従って、例えば図５（Ｄ）の音声データパケット２７の後に、無音の音声データパケットである一定量の音声データパケットを付加する。尚、現在の減少量とは、例えば図５（Ｂ）の中央位置から、格納されている最終の音声データパケットまでの空バッファの量を意味する。
【００７８】
また、ファクシミリ通信モードが非ＥＣＭモードの場合は、受信機が許容する１ページの最大受信可能時間（１ページのタイムアウト時間）を８分とする。そして、単位時間あたりの減少量より最大８分の画像データを受信した時のジッタバッファ３０３における音声データパケットの減少量を算出する。そして、現在の減少量（例えば、図５（Ｂ）の中央位置から最終データパケットまでの空バッファ）に、その算出した減少量を加算したものを補正量とする。そして、その補正量に対応する量の無音の音声データパケットを追加する。これは例えば、図５（Ｄ）で、最後の音声データパケット２７の後に追加された無音の音声データパケットに対応している。
【００７９】
こうしてＳ１１０３或いはＳ１１０４を実行するとＳ１１０５に進み、ＣＰＵ２０８は、システムメモリ２０６のＲＡＭに、タイマ２１３により計時された現在の時刻情報を保存する。そして、このジッタバッファ制御を終了して元のルーチンに戻る。
【００８０】
こうして図１０の処理に戻りＳ１００４でＣＰＵ２０８は、ジッタバッファの補正完了後にファクシミリ手順信号ＣＦＲを送信する。次にＳ１００５に進み、ファクシミリ画像データの受信フェーズに移行して画像データの受信を行う。この画像データの受信フェーズは図７のＰＩＸの受信を意味する。
【００８１】
次にＳ１００６に進みＣＰＵ２０８は、画像データを正常に受信すると、画像データの受信終了後に送信側ファクシミリ装置より送られてくるファクシミリ手順信号がＰＰＳ−ＥＯＰ信号であるかどうかを判定する。ＰＰＳ−ＥＯＰ信号であればＳ１００７に進み、ＭＣＦ信号を送出し、ＤＣＮ信号を受信して後手順を終了し、受信動作を終了する。
【００８２】
一方、Ｓ１００６でＰＰＳ−ＥＯＰ信号以外を受信するとＣＰＵ２０８はＳ１００８に処理を進める。Ｓ１００８でＣＰＵ２０８はジッタバッファ制御を行ってＳ１００９に進む。尚、Ｓ１００８のジッタバッファ制御では、１ページ或いは１フレームの通信時間におけるジッタバッファのデータの増減量を求めて、単位時間当たりの増減量を求めて前述の補正量を算出することになる。そしてＳ１００９に進みＣＰＵ２０８は、画像データを受信した後の応答信号を送出してＳ１００５に処理を進める。この画像データ受信後の応答信号とは、ＭＣＦ，ＰＰＲ，ＲＴＰ信号である。
【００８３】
以上説明したように本実施形態２によれば、ファクシミリ受信における画像データ受信直前のファクシミリ手順信号の送出時に、ジッタバッファへのデータの蓄積開始からファクシミリ手順信号の送出までの時間を求める。そして、その通信時間におけるジッタバッファのデータの増減量より単位時間あたりの増減量を求め、そしてこの単位時間あたりの増減量より補正量を算出する。そして、ジッタバッファのデータ量が枯渇方向に近づいている場合は、ジッタバッファの最終データの後ろに補正量分の無音データを付加する。一方、ジッタバッファのデータ量が飽和方向に近づいている場合は、その補正量分のジッタバッファのデータを廃棄し、ジッタバッファのデータ量を枯渇方向に近づける。
【００８４】
更に、最初の画像データを受信する直前のファクシミリ手順信号の送出時は、ジッタバッファへのデータ蓄積開始からファクシミリ手順信号の送出までの時間を求める。そして、それ以降は前回の画像データの受信直前のファクシミリ手順信号の送出から現在までの時間を求め、その時間を単位時間として、単位時間あたりのジッタバッファ内の増減量を算出する。
【００８５】
更に、ファクシミリ通信モードがＥＣＭモードの場合は、１回に受信可能な最大画像データサイズである２５６フレームの画像データの受信に要する時間と、単位時間あたりの増減量より補正量を算出する。また、ファクシミリ通信モードが非ＥＣＭモードの場合は、受信機が許容する１ページの最大受信時間と、単位時間あたりの増減量より補正量を算出する。
【００８６】
こうして、これによりジッタバッファのオーバーフロー又はアンダーフローの発生を回避することができる。
【００８７】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2015115779.tif 000003
【図２】
2015115779.tif 000004
【図３】
2015115779.tif 000005
【図４】
2015115779.tif 000006
【図５】
2015115779.tif 000007
【図６】
2015115779.tif 000008
【図７】
2015115779.tif 000009
【図８】
2015115779.tif 000010
【図９】
2015115779.tif 000011
【図１０】
2015115779.tif 000012
【図１１】
2015115779.tif 000013