(57)【要約】      （修正有）【課題】送信側と受信側とのクロック信号の基本周期の精度差分が大きいことやネットワークの揺らぎ等により、受信ジッタバッファのアンダーランが発生しても、通信エラーを防ぐようにする。【解決手段】ジッタバッファ制御装置は、ネットワークからの入力パケットに含まれるデータを蓄積するバッファ手段と、所定の処理周期に従い、入力パケットに含まれるシーケンス番号に基づいて、入力データのバッファ手段への格納処理及びバッファ手段からの出力処理を制御するジッタバッファ制御手段とを備え、ジッタバッファ制御手段は、バッファ手段のアンダーランが発生した際に、そのパケットロス発生期間に相当する処理周期期間だけ空けて、バッファ手段にデータを格納する。【選択図】図１
2010226611.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークからの入力パケットに含まれるデータを蓄積するバッファ手段と、
所定の処理周期に従い、上記入力パケットに含まれるシーケンス番号に基づいて、入力データの上記バッファ手段への格納処理及び上記バッファ手段からの出力処理を制御するジッタバッファ制御手段とを備え、
上記ジッタバッファ制御手段は、上記バッファ手段のアンダーランが発生した際に、そのパケットロス発生期間に相当する処理周期期間だけ空けて、上記バッファ手段にデータを格納するものである
ことを特徴とするジッタバッファ制御装置。
【請求項２】
上記ジッタバッファ制御手段が、データの上記バッファ手段における格納位置をシーケンス番号の並び順に対応させて管理しており、入力データのシーケンス番号の対応する格納位置に、当該入力データを格納することを特徴とする請求項１に記載のジッタバッファ制御装置。
【請求項３】
上記ジッタバッファ制御手段が、シーケンス番号の並び順に対応させて上記バッファ手段に格納されたデータを、先に格納されたデータから順に出力するものであり、当該処理周期で処理する格納位置にデータが格納されていない場合、当該処理周期においてデータの出力を行わないようにすることを特徴とする請求項１又は２に記載のジッタバッファ制御装置。
【請求項４】
上記ジッタバッファ制御手段が、当該処理周期で上記バッファ手段のデータ蓄積量が閾値を超えている場合、複数の処理周期単位のデータを出力することを特徴とする請求項１〜３のいずれかに記載のジッタバッファ制御装置。
【請求項５】
上記ジッタバッファ制御手段が、
上記バッファ手段に蓄積されるデータの蓄積量を管理する蓄積量管理部と、
上記入力パケットのシーケンス番号を識別する入力シーケンス番号識別部と、
上記バッファ手段に蓄積されるデータのうち最小シーケンス番号を管理する最小シーケンス番号管理部と、
上記バッファ手段に蓄積されるデータのうち最大シーケンス番号を管理する最大シーケンス番号管理部と、
上記入力データの上記バッファ手段への投入の際に、当該入力データの入力シーケンス番号と、上記最大シーケンス番号と、上記最小シーケンス番号との比較により、当該入力シーケンス番号に応じた格納位置に当該入力データを格納させる投入動作制御部と、
上記バッファ手段からの蓄積データの取出の際に、当該処理周期で処理する上記バッファ手段の格納位置のデータ格納状態と、上記最小シーケンス番号と、上記蓄積量とに基づいて、上記バッファ手段からのデータの出力処理を行う取出動作制御部と
を有することを特徴とする請求項１〜４のいずれかに記載のジッタバッファ制御装置。
【請求項６】
ネットワークからの入力パケットに含まれるデータを蓄積するバッファ手段を備えるジッタバッファ制御装置のジッタバッファ制御方法であって、
ジッタバッファ制御手段が、所定の処理周期に従い、上記入力パケットに含まれるシーケンス番号に基づいて、入力データの上記バッファ手段への格納処理及び上記バッファ手段からの出力処理を制御するジッタバッファ制御工程を行い、
上記ジッタバッファ制御手段が、上記バッファ手段のアンダーランが発生した際に、そのパケットロス発生期間に相当する処理周期期間だけ空けて、上記バッファ手段にデータを格納する
ことを特徴とするジッタバッファ制御方法。
【請求項７】
ネットワークからの入力パケットに含まれるデータを蓄積するバッファ手段を備えるジッタバッファ制御装置を、
所定の処理周期に従い、上記入力パケットに含まれるシーケンス番号に基づいて、入力データの上記バッファ手段への格納処理及び上記バッファ手段からの出力処理を制御するジッタバッファ制御手段として機能させるものであり、
上記ジッタバッファ制御手段が、上記バッファ手段のアンダーランが発生した際に、そのパケットロス発生期間に相当する処理周期期間だけ空けて、上記バッファ手段にデータを格納することを特徴とするジッタバッファ制御プログラム。
【請求項８】
請求項１〜５のいずれかに記載のジッタバッファ制御装置を備えることを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ジッタバッファ制御装置、方法及びプログラム、並びに情報処理装置に関し、例えば、ＩＰネットワークに接続する通信装置に適用し得るものである。
【背景技術】
【０００２】
ＩＰネットワークを介して、音声通信やファクシミリ通信等のＰＣＭ通信を行う通信装置は、ＩＰパケットの揺らぎなどを吸収するための受信ジッタバッファ制御を行う必要がある。
【０００３】
従来の受信ジッタバッファ制御方法としては、ＩＰネットワークから非同期で到来するＩＰパケット中のＰＣＭデータと付加情報を入力し、ＩＰパケットヘッダ中のシーケンス番号順にＰＣＭデータをバッファに蓄積し、一定処理周期（例えば１０ｍｓ）でバッファに蓄積したＰＣＭデータをシーケンス番号順に出力することとしている。
【０００４】
ところで、ＩＰネットワーク上で通信処理を行う送信側及び受信側では、クロックの基本周期（例えば、１０ｍｓ）を完全同一にすることが困難であり、両者の間の精度差分が生じ得るため、受信ジッタバッファのアンダーランが生じ、該当するＰＣＭデータが存在しないことがあり得る。
【０００５】
また、ＩＰネットワーク上でパケットロスが生じた場合には、受信パケットのシーケンス番号飛びが生じ、該当するＰＣＭデータが存在しなくなることが生じ得る。
【０００６】
このような場合、リニア信号が不連続となってしまうことを回避するために、従来の受信信号処理部は、過去に入力された信号を用いて、擬似のリニア信号を生成し、この擬似のリニア信号で補償（補間）した信号に基づいて、復調したディジタル信号や制御信号を出力するという方法がある。
【０００７】
しかしながら、例えばＩＰネットワークを経由したファクシミリ通信において、擬似のリニア信号により補償（補間）された制御信号を復調する場合、過去の信号を用いて擬似のリニア信号を生成するため正確な制御信号を復調することができず、通信エラーが生じる場合がある。
【０００８】
このような課題を解決するために、非特許文献１に開示された方法が用いられている。非特許文献１は、ＩＰネットワークを経由したファクシミリ通信に関する技術が記載されている。
【０００９】
非特許文献１の図表３．１０で開示されるジッタバッファ制御方法は、受信ジッタバッファのアンダーランに伴うモデム信号受信エラーを防止する目的で、ファクシミリ通信の開始時に、受信ジッタバッファに一定量（例えば、１４０ｍｓ分）のデータを蓄積し、このデータ蓄積後に、受信ジッタバッファからのデータ出力を開始する技術である。
【００１０】
このように、受信ジッタバッファに一定量のデータを蓄積してから、受信ジッタバッファのデータ出力を開始することにより、受信ジッタバッファのデータの枯渇を防ぐことができ、アンダーランを回避することができる。
【先行技術文献】
【非特許文献】
【００１１】
【非特許文献１】情報通信ネットワーク産業協会、「ＩＰ−ＰＢＸにＶｏＩＰ−ＴＡを経由してファクシミリ端末を収容する際のＶｏＩＰ−ＴＡ／ファクシミリ端末」ガイドライン、ＣＥＳ−Ｑ００６−１、２００７年１０月１９日
【発明の概要】
【発明が解決しようとする課題】
【００１２】
上述したように、アンダーランが発生して、パケットロス補償手段が、過去の入力信号を基にして擬似リニア信号を生成して挿入する場合、モデム信号の時間伸張が生じるので位相が崩れ、パケットロス期間以降においても総くずれとなり、正常なモデム信号を復調することができなくなり、受信エラーが生じてしまうことがある。
【００１３】
送信側と受信側との処理周期の差分が大きい場合やＩＰネットワーク上の揺らぎが大きい場合にアンダーランが生じる可能性は高くなる。
【００１４】
また、上述した非特許文献１に記載された技術を適用しても、次のような課題が生じ得る。
【００１５】
送信側及び受信側のクロック信号の基本周期（例えば１０ｍｓ）の精度差分が大きい場合や、ＩＰネットワーク上で発生した揺らぎが大きい場合や、ファクシミリ通信時間が長い場合等には、受信ジッタバッファに蓄積しておいた一定量のデータを全て出力しきってしまうことがあり、受信ジッタバッファのアンダーランを完全に無くすことはできないという問題がある。
【００１６】
また、受信ジッタバッファに蓄積するデータ量を大きくすると、受信ジッタバッファのアンダーラン発生を低減することができるが、受信ジッタバッファでの伝送遅延が大きくなってしまうという問題がある。
【００１７】
例えば、ファクシミリ通信のプロトコルでは、送信側からの制御信号に対する応答に関して応答監視時間を設けている。そのため、この応答監視時間までに応答信号の返信が届かない場合、ファクシミリ通信は失敗してしまうことになる。
【００１８】
さらに、ＩＰネットワークを経由したファクシミリ通信の開始時のデータ蓄積量が小さい場合であっても、送信側と受信側とのクロック信号の基本周期（例えば１０ｍｓ）の精度差分が大きいときや、ＩＰネットワークで生じる揺らぎが大きいときや、ファクシミリ通信時間が長いときには、時間とともに受信ジッタバッファの蓄積量（遅延）が増加していくことがある。この場合には、伝搬遅延が大きくなり、ファクシミリ通信が失敗することがあるという問題がある。
【００１９】
なお、上記課題は、ＩＰネットワークを経由したファクシミリ通信だけでなく、ＩＰネットワークを介して音声通信を行う場合にも生じ得る。
【００２０】
そのため、送信側と受信側とのクロック信号の基本周期の精度差分が大きいことやネットワークの揺らぎ等により、受信ジッタバッファのアンダーランが発生しても、通信エラーを防ぐことができるジッタバッファ制御装置、方法及びプログラム、並びに情報処理装置が求められている。
【課題を解決するための手段】
【００２１】
第１の本発明のジッタバッファ制御装置は、ネットワークからの入力パケットに含まれるデータを蓄積するバッファ手段と、所定の処理周期に従い、入力パケットに含まれるシーケンス番号に基づいて、入力データのバッファ手段への格納処理及びバッファ手段からの出力処理を制御するジッタバッファ制御手段とを備え、ジッタバッファ制御手段は、バッファ手段のアンダーランが発生した際に、そのパケットロス発生期間に相当する処理周期期間だけ空けて、バッファ手段にデータを格納するものであることを特徴とする。
【００２２】
第２の本発明のジッタバッファ制御方法は、ネットワークからの入力パケットに含まれるデータを蓄積するバッファ手段を備えるジッタバッファ制御装置のジッタバッファ制御方法であって、ジッタバッファ制御手段が、所定の処理周期に従い、入力パケットに含まれるシーケンス番号に基づいて、入力データのバッファ手段への格納処理及びバッファ手段からの出力処理を制御するジッタバッファ制御工程を行い、ジッタバッファ制御手段が、バッファ手段のアンダーランが発生した際に、そのパケットロス発生期間に相当する処理周期期間だけ空けて、バッファ手段にデータを格納することを特徴とする。
【００２３】
第３の本発明のジッタバッファ制御プログラムは、ネットワークからの入力パケットに含まれるデータを蓄積するバッファ手段を備えるジッタバッファ制御装置を、所定の処理周期に従い、入力パケットに含まれるシーケンス番号に基づいて、入力データのバッファ手段への格納処理及びバッファ手段からの出力処理を制御するジッタバッファ制御手段として機能させるものであり、ジッタバッファ制御手段が、バッファ手段のアンダーランが発生した際に、そのパケットロス発生期間に相当する処理周期期間だけ空けて、バッファ手段にデータを格納することを特徴とする。
【００２４】
第４の本発明の情報処理装置は、第１の本発明のジッタバッファ制御装置を備えることを特徴とする。
【発明の効果】
【００２５】
本発明によれば、送信側と受信側とのクロック信号の基本周期の精度差分が大きいことやネットワークの揺らぎ等により、受信ジッタバッファのアンダーランが発生しても、通信エラーを防ぐことができる。
【図面の簡単な説明】
【００２６】
【図１】第１の実施形態のファクシミリ通信装置の内部構成を示す内部構成図である。
【図２】第１の実施形態のジッタバッファ制御手段のジッタバッファ制御処理の機能を説明する機能ブロック図である。
【図３】第１の実施形態のジッタバッファ制御処理の説明に係る変数を説明する説明図である。
【図４】第１の実施形態のジッタバッファ制御処理を説明する説明図である。
【図５】第１の実施形態のＰＣＭ格納バッファへの投入動作を示すフローチャートである。
【図６】通常のＰＣＭ格納バッファへの投入動作を説明する説明図である。
【図７】蓄積データがある場合にシーケンス番号飛びが生じたときのＰＣＭ格納バッファへの投入動作を説明する説明図である。
【図８】蓄積データがない場合にシーケンス番号飛びが生じたときのＰＣＭ格納バッファへの投入動作を説明する説明図である。
【図９】シーケンス番号戻りの場合のＰＣＭ格納バッファへの投入動作を説明する説明図である。
【図１０】シーケンス番号戻りが過大な場合のＰＣＭ格納バッファへの投入動作を説明する説明図である。
【図１１】第１の実施形態のＰＣＭ格納バッファからの取出動作を示すフローチャートである。
【図１２】蓄積データがある場合の通常のＰＣＭ格納バッファからの取出動作を説明する説明図である。
【図１３】蓄積データがなくなる場合の通常ＰＣＭ格納バッファからの取出動作を説明する説明図である。
【図１４】パケットロスが発生した場合のＰＣＭ格納バッファからの取出動作を説明する説明図である。
【図１５】アンダーフローが発生した場合のＰＣＭ格納バッファからの取出動作を説明する説明図である。
【発明を実施するための形態】
【００２７】
（Ａ）第１の実施形態
以下では、本発明のジッタバッファ制御装置、方法及びプログラム、並びに情報処理装置の第１の実施形態を、図面を参照しながら説明する。
【００２８】
第１の実施形態では、ＩＰネットワークを経由したファクシミリ通信装置における受信ジッタバッファ制御方式に本発明を適用した実施形態を例示して説明する。
【００２９】
なお、第１の実施形態では、ＩＴＵ−Ｔ（国際電気通信連合の電気通信標準化部門）勧告のＴ．３０に規格化されたファクシミリ通信を行う装置を例示するが、適用する規格は特に限定されるものではなく、その他の規格にも広く適用することができる。
【００３０】
（Ａ−１）第１の実施形態の構成
図１は、第１の実施形態のファクシミリ通信装置の内部構成を示す内部構成図である。
【００３１】
第１の実施形態は、例えば、パーソナルコンピュータ（ＰＣ）やサーバ等のような情報処理装置に搭載するファクシミリ通信機能を有するものに適用する場合を例示する。
【００３２】
図１において、第１の実施形態のファクシミリ通信装置１は、受信ジッタバッファ１１、ＰＣＭ復号手段１３、パケットロス補償手段１４、モデム信号復調手段１５、ファクシミリデータ受信処理手段１６を少なくとも有して構成される。
【００３３】
受信ジッタバッファ１１は、ＩＰネットワークから非同期で到来するＩＰパケット中のＰＣＭデータ及びシーケンス番号を取り出し、シーケンス番号順にＰＣＭデータをＰＣＭ格納バッファ２１に蓄積し、シーケンス番号順にＰＣＭ格納バッファ２１からＰＣＭデータを出力するものである。また受信ジッタバッファ１１は、ＰＣＭ格納バッファ２１から出力したＰＣＭデータをＰＣＭ復号手段１３に与えるものである。
【００３４】
受信ジッタジッタバッファ１１は、当該受信ジッタバッファ１１のアンダーランが発生した場合、そのアンダーランが発生した処理周期期間においては、受信ジッタバッファ１１以降の信号処理を実行させないようにするものである。つまり、アンダーランが発生している処理周期期間において、受信ジッタバッファ１１は、ＰＣＭデータの出力を停止させる。
【００３５】
このように、アンダーランが発生した処理周期期間においては、ＰＣＭデータの出力を停止することで、モデム信号の復調をさせないようにすることができるので、正常な復調が可能となる。
【００３６】
受信ジッタバッファ１１は、図１に示すように、ＰＣＭ格納バッファ２１と、ジッタバッファ制御手段２２とを有する。
【００３７】
ＰＣＭ格納バッファ２１は、ＩＰネットワークから入力されたＩＰパケット中に含まれるＰＣＭデータを格納するものである。ＰＣＭ格納バッファ２１の処理周期（格納単位）は、特に限定されないが、第１の実施形態では例えば１０ｍｓ分のＰＣＭデータを１処理周期とした場合を例示する。また、ＰＣＭ格納バッファ２１のジッタバッファサイズは、特に限定されない。
【００３８】
ジッタバッファ制御手段２２は、ＰＣＭデータのＰＣＭ格納バッファ２１への投入処理及びＰＣＭ格納バッファ２１からの取出処理を制御するものである。
【００３９】
ジッタバッファ制御手段２２は、ＰＣＭ格納バッファ２１からのＰＣＭデータの取出処理を、所定の処理周期を基準にして制御する。
【００４０】
ジッタバッファ制御手段２２は、アンダーランが発生している処理周期期間において、ＰＣＭデータの出力を停止する。
【００４１】
また、ジッタバッファ制御手段２２は、ＰＣＭ格納バッファ２１に蓄積されているＰＣＭデータの蓄積量と、格納されている最小シーケンス番号及び最大シーケンス番号とを管理しており、これらのＰＣＭ蓄積量と最小シーケンス番号及び最大シーケンス番号とを用いて、ＰＣＭ格納バッファ２１への投入処理及びＰＣＭ格納バッファ２１からの取出処理を行う。
【００４２】
さらに、ジッタバッファ制御手段２２は、ＰＣＭ格納バッファ２１からＰＣＭデータを取り出す際、パケットロスが発生している場合には、パケットロス有りを示すパケットロス有情報をパケットロス補償手段１４に与え、パケットロスが発生していない場合には、パケットロス無を示すパケットロス無情報をパケットロス補償手段１４に与える。
【００４３】
図２は、ジッタバッファ制御手段２２によるジッタバッファ制御処理の機能を示す機能ブロック図である。このジッタバッファ制御処理は、ソフトウェア処理により実現可能なものである。
【００４４】
図２に示すジッタバッファ制御処理としては、蓄積量管理部２０１、最大シーケンス番号管理部２０２、最小シーケンス番号管理部２０３、受信パケットシーケンス番号識別部２０４、投入動作制御部２０５、取出動作制御部２０６を有する。
【００４５】
蓄積量管理部２０１は、ＰＣＭ格納バッファ２１に蓄積されるＰＣＭデータの蓄積量を管理するものである。例えば、ＰＣＭ格納バッファ２１が１０ｍｓ分のＰＣＭデータを１処理単位として格納する場合、蓄積量管理部２０１は、処理単位（１０ｍｓ単位）のＰＣＭデータを蓄積量として管理する。
【００４６】
最大シーケンス番号管理部２０２は、ＰＣＭ格納バッファ２１に格納されているＰＣＭデータのうち、ＰＣＭデータに対応するＩＰパケットの最大のシーケンス番号を保持するものである。
【００４７】
最小シーケンス番号管理部２０３は、ＰＣＭ格納バッファ２１に格納されているＰＣＭデータのうち、ＰＣＭデータに対応するＩＰパケットの最小のシーケンス番号を保持するものである。
【００４８】
受信パケットシーケンス番号識別部２０４は、ＩＰネットワークから入力されたＩＰパケットのヘッダ情報からシーケンス番号を抽出し、この受信ＩＰパケットのシーケンス番号を識別するものである。
【００４９】
投入動作制御部２０５は、ＩＰネットワークから受信したＩＰパケットに含まれるＰＣＭデータをＰＣＭ格納バッファ２１に格納する投入動作を制御するものである。
【００５０】
取出動作制御部２０６は、ＰＣＭ格納バッファ２１に格納されているＰＣＭデータをＰＣＭ格納バッファ２１から取り出す取出動作を制御するものである。
【００５１】
投入動作制御部２０５及び取出動作制御部２０６の処理内容については、後述する動作の項で詳細に説明する。
【００５２】
ＰＣＭ復号手段１３は、受信ジッタバッファ１１から入力されたＰＣＭデータをリニア信号へ復号し、パケットロス補償手段１４に与えるものである。ＰＣＭ復号手段１３の符号化（復号）方式は、特に限定されるものではないが、例えばＧ．７１１に規格化された符号化（復号）方式に従って復号処理を行う。
【００５３】
パケットロス補償手段１４は、ジッタバッファ制御手段２２からパケットロス有無情報を受け取り、パケットロス無を示す情報を受けた場合には、ＰＣＭ復号手段１３から入力されるリニア信号を内部に蓄積しつつ、入力信号をそのままモデム信号復調手段１５に与える。また、パケットロス補償手段１４は、パケットロス有を示す情報を受けた場合には、過去に入力された信号に基づいて擬似のリニア信号を生成してモデム信号復調手段１５に与える。
【００５４】
モデム信号復調手段１５は、一般的にはＤＣＥ（Data  Circuit-Terminating  Equipment：データ回線終端装置）と呼ばれる終端装置に該当する。モデム信号復調手段１５は、パケットロス補償手段１４からリニア信号を入力して、ディジタルデータを復調し、復調したディジタルデータ及び制御データをファクシミリデータ受信処理手段１６に与えるものである。
【００５５】
ファクシミリデータ受信処理手段１６は、一般的にはＤＴＥ（Data  Terminal  Equipment：データ端末装置）と呼ばれる装置に該当する。ファクシミリデータ受信処理手段１６は、モデム信号復調手段１５から復調されたディジタルデータ及び制御データを入力し、ファクシミリ通信処理を行うものである。
【００５６】
（Ａ−２）第１の実施形態の動作
次に、第１の実施形態の受信ジッタバッファ１１におけるジッタバッファ制御処理の動作を、図面を参照しながら説明する。
【００５７】
また、以下の動作説明では、例えば、ＩＰネットワークから入力されるＩＰパケットのペイロードサイズは２０ｍｓであり、また受信ジッタバッファ１１は、ＰＣＭ格納バッファ２１への投入処理又は取出処理を、例えば１０ｍｓ周期で行う場合を説明する。
【００５８】
つまり、ＰＣＭ格納バッファ２１は１０ｍｓ単位分のＰＣＭデータを格納し、又１０ｍｓ単位分のＰＣＭデータを出力する場合を想定して説明する。
【００５９】
図３は、以下の動作説明に使用する変数名を説明する説明図である。また、図４は、受信ジッタバッファ１１におけるＰＣＭ格納バッファ２１の格納状態と、ジッタバッファ制御手段２２の管理とについて変数を用いて説明する説明図である。
【００６０】
図４（Ａ）において、ＰＣＭ格納バッファ２１は、１０ｍｓ単位分のＰＣＭデータを格納単位としており、図４のＰＣＭ格納バッファ２１に示される各セルが処理単位毎のＰＣＭデータであることを示す。
【００６１】
図４（Ａ）のＰＣＭ格納バッファ２１において、「empty」と示されたセルは、当該セルは空き状態であることを示す。また、図４（Ａ）において、各セル中の数字は、ＰＣＭデータを有するＩＰパケットのシーケンス番号を示しており、例えば、「１３−１」のうち「１３」はシーケンス番号であり、「１」は当該シーケンス番号のサブ番号である。
【００６２】
これは、第１の実施形態では、ＩＰパケットのペイロードサイズ（２０ｍｓ）と、ＰＣＭ格納バッファ２１の処理単位（１０ｍｓ）が異なる場合を想定しているので、便宜上サブ番号を用いるものとする。
【００６３】
ＰＣＭ格納バッファ２１は、基本的には、先に入力されたＰＣＭデータを先に取り出す先入れ先出し（ＦＩＦＯ）構造のバッファである。しかし、ＰＣＭ格納バッファ２１は、ジッタバッファ制御手段２２の制御を受けて、格納すべきＰＣＭデータを格納すべき位置に格納する。
【００６４】
ジッタバッファ制御手段２２は、ＰＣＭ格納バッファ２１に格納されているＰＣＭデータに係るシーケンス番号のうち、最大シーケンス番号及び最小シーケンス番号を管理している。また、ジッタバッファ制御手段２２は、受信パケットのシーケンス番号を認識し、最大シーケンス番号及び最小シーケンス番号と、受信パケットのシーケンス番号に基づいて、ＰＣＭバッファバッファ２１の格納すべき位置に、受信パケットに含まれるＰＣＭデータを格納するようにする。
【００６５】
例えば、図４（Ａ）の場合、ジッタバッファ制御手段２２は、ＰＣＭ格納バッファ２１には、ＰＣＭデータ「１１−２」、「１２−１」、「１２−２」、「１３−１」、「１３−２」が格納されている状態である。このとき、ジッタバッファ制御手段２２は、ＰＣＭ格納バッファ２１に格納されている最小シーケンス番号として「sn_smallest＝１１」と、最大シーケンス番号として「sn_biggest＝１３」を保持する。
【００６６】
また、このような状態で、ＩＰネットワークからシーケンス番号「１５」を持つＩＰパケットが受信されると、ジッタバッファ制御手段２２は、受信パケットのシーケンス番号として「sn_RTP＝１５」を識別する。
【００６７】
この場合、ＰＣＭ格納バッファ２１に格納されている最大シーケンス番号は「１３」であるから、本来であれば、シーケンス番号「１４」のＩＰパケットが入力されるべきである。しかし、例えばＩＰネットワーク上でパケットロスが発生してしまい、シーケンス番号「１５」が入力されたケースが、図４（Ａ）に示すような状況である。
【００６８】
このとき、従来の受信ジッタバッファは、先入れ先出しが基本であるから、ＰＣＭデータ「１３−２」の直ぐ後（図４では直上）の位置にＰＣＭデータ「１５−１」を蓄積し、さらに直ぐ後の位置にＰＣＭデータ「１５−２」を蓄積する。
【００６９】
しかし、第１の実施形態では、図４（Ｂ）に示すように、ジッタバッファ制御手段２１は、本来格納されるべきシーケンス番号「１４」のＰＣＭデータ「１４−１」、「１４−２」の格納位置だけ空けて、その後の位置にＰＣＭデータ「１５−１」を格納し、さらに直ぐ後の位置にＰＣＭデータ「１５−２」を格納するようにする。
【００７０】
このようにすることで、ジッタバッファ制御手段２１は、最大シーケンス番号及び最小シーケンス番号を管理し、入力されたＩＰパケットのシーケンス番号を識別することで、本来格納されるべき格納位置にＰＣＭデータを格納することができる。
【００７１】
（Ａ−２−１）ＰＣＭ格納バッファ２１への投入動作
図５は、ジッタバッファ制御手段２２によるＰＣＭ格納バッファ２１への投入処理の動作を示すフローチャートである。ＰＣＭ格納バッファ２１への投入処理は、ジッタバッファ制御手段２２の投入動作制御部２０５が主に行う。
【００７２】
まず、受信ジッタバッファ１１におけるＰＣＭ格納バッファ２１への通常の投入動作について図５及び図６を参照しながら説明する。
【００７３】
図６は、ＰＣＭ格納バッファ２１への通常の投入処理を説明する説明図である。
【００７４】
図６（Ａ）において、ＰＣＭ格納バッファ２１には、ＰＣＭデータ「１３−２」〜「１５−２」が格納されており、ジッタバッファ制御手段２２は、最小シーケンス番号「sn_smallest＝１３」及び最大シーケンス番号「sn_biggest＝１５」を保持する。
【００７５】
この状態で、ＩＰネットワークからシーケンス番号「１６」のＩＰパケットが受信されると（ステップＳ１０１）、ジッタバッファ制御手段２２は、受信パケットのシーケンス番号「sn_RTP＝１６」を識別する（ステップＳ１０２）。
【００７６】
この場合、ジッタバッファ制御手段２２は、最大シーケンス番号が「sn_biggest＝１５」であり、今回受信したＩＰパケットのシーケンス番号が「sn_RTP＝１６」であり、「sn_RTP＝sn_biggest＋１」であるから連番であることを判断する（ステップＳ１０３）。
【００７７】
従って、ジッタバッファ制御手段２２は、図６（Ｂ）に示すように、ＰＣＭデータ「１５−２」の後の格納位置にＰＣＭデータ「１６−１」を格納し、さらにその後にＰＣＭデータ「１６−２」を格納する（ステップＳ１０４）。
【００７８】
また、ＰＣＭデータ「１６−１」及び「１６−２」を格納することにより、ジッタバッファ制御手段２２は、最大シーケンス番号を「sn_biggest＝sn_RTP＝１６」に更新する（ステップＳ１０５）。
【００７９】
次に、例えば、ＩＰネットワーク上でパケットロスが発生し、本来到着すべきシーケンス番号のＩＰパケットが到着せず、シーケンス番号飛びが生じたときのＰＣＭ格納バッファ２１への投入処理を図５及び図７を参照しながら説明する。
【００８０】
図７は、シーケンス番号飛びが生じた場合のＰＣＭ格納バッファ２１への投入処理を説明する説明図である。
【００８１】
図７（Ａ）において、ＰＣＭ格納バッファ２１には、ＰＣＭデータ「１３−２」〜「１４−２」が格納されており、ジッタバッファ制御手段２２は、最小シーケンス番号「sn_smallest＝１３」及び最大シーケンス番号「sn_biggest＝１４」を保持する。
【００８２】
この状態で、ＩＰネットワークからシーケンス番号「１６」のＩＰパケットが受信されると（ステップＳ１０１）、ジッタバッファ制御手段２２は、受信パケットのシーケンス番号「sn_RTP＝１６」を識別する（ステップＳ１０２）。
【００８３】
この場合、ジッタバッファ制御手段２２は、最大シーケンス番号が「sn_biggest＝１４」であり、今回受信したＩＰパケットのシーケンス番号が「sn_RTP＝１６」であり、「sn_RTP＞sn_biggest＋１」である（ステップＳ１０３）から、シーケンス番号「１５」を持つＩＰパケットが入力されていないと判断する。
【００８４】
また、この場合、ジッタバッファ制御手段２１は、蓄積量が「０（空）」でないことを判断する（ステップＳ１０６）。
【００８５】
従って、ジッタバッファ制御手段２２は、図７（Ｂ）に示すように、シーケンス番号「１５」のＰＣＭデータ「１５−１」及び「１５−２」の格納位置だけ空けて、その後の格納位置にシーケンス番号「１６」のＰＣＭデータ「１６−１」を格納し、さらにその後の格納位置に及び「１６−２」を格納する（ステップＳ１０７）。
【００８６】
また、ＰＣＭデータ「１６−１」及び「１６−２」を格納することにより、ジッタバッファ制御手段２２は、最大シーケンス番号を「sn_biggest＝sn_RTP＝１６」に更新する（ステップＳ１０８）。
【００８７】
次に、例えば、ＩＰネットワーク上で重度のパケットロスが発生した等により、ＰＣＭ格納バッファ２１に格納されるＰＣＭデータが全て出力されたときの投入処理を、図５及び図８を参照しながら説明する。
【００８８】
図８は、ＰＣＭ格納バッファ２１の格納データがない状態で、シーケンス番号飛びが生じた場合のＰＣＭ格納バッファ２１への投入処理を説明する説明図である。
【００８９】
図８（Ａ）において、ＰＣＭ格納バッファ２１には、格納されているＰＣＭデータはない。
【００９０】
この場合、ジッタバッファ制御手段２２は、ＰＣＭ格納バッファ２１から最後に出力されたＰＣＭデータのシーケンス番号を、最小シーケンス番号「sn_smallest＝１２」として保持しておく。また、ジッタバッファ制御手段２２は、ＰＣＭ格納バッファ２１に最後に格納されたＰＣＭデータのシーケンス番号を、最大シーケンス番号「sn_biggest＝１２」として保持しておく。
【００９１】
図８（Ａ）では、ジッタバッファ制御手段２２は、最小シーケンス番号「sn_smallest＝１２」及び最大シーケンス番号「sn_biggest＝１２」として管理する。
【００９２】
この状態で、ＩＰネットワークからシーケンス番号「１６」のＩＰパケットが受信されると（ステップＳ１０１）、ジッタバッファ制御手段２２は、受信パケットのシーケンス番号「sn_RTP＝１６」を識別する（ステップＳ１０２）。
【００９３】
この場合、ジッタバッファ制御手段２２は、最大シーケンス番号が「sn_biggest＝１２」であり、今回受信したＩＰパケットのシーケンス番号が「sn_RTP＝１６」であり、「sn_RTP＞sn_biggest＋１」を判断する（ステップＳ１０３）。
【００９４】
また、ジッタバッファ制御手段２２は、蓄積量が「０（空）」であることを判断し（ステップＳ１０６）最小シーケンス番号「sn_smallest＝１２」を１だけ加えて、最小シーケンス番号を「sn_smallest＝１３」とする（ステップＳ１０９）。
【００９５】
そして、ジッタバッファ制御手段２２は、図８（Ｂ）に示すように、シーケンス番号「１６」のＰＣＭデータ「１６−１」及び「１６−２」の格納位置だけ空けて、その後の格納位置にシーケンス番号「１６」のＰＣＭデータ「１６−１」を格納し、さらにその後の格納位置に及び「１６−２」を格納する（ステップＳ１１０）。
【００９６】
また、ＰＣＭデータ「１６−１」及び「１６−２」を格納することにより、ジッタバッファ制御手段２２は、最大シーケンス番号を「sn_biggest＝sn_RTP＝１６」に更新する（ステップＳ１１１）。
【００９７】
次に、シーケンス番号戻りが生じた場合の投入動作を、図５及び図９を参照しながら説明する。
【００９８】
図９は、シーケンス番号戻りが生じた場合のＰＣＭ格納バッファ２１への投入動作を説明する説明図である。
【００９９】
図９（Ａ）において、ＰＣＭ格納バッファ２１には、ＰＣＭデータ「１３−２」、「１５−１」〜「１６−２」が格納されており、ジッタバッファ制御手段２２は、最小シーケンス番号「sn_smallest＝１３」及び最大シーケンス番号「sn_biggest＝１６」を保持する。
【０１００】
この状態で、ＩＰネットワークからシーケンス番号「１４」のＩＰパケットが受信されると（ステップＳ１０１）、ジッタバッファ制御手段２２は、受信パケットのシーケンス番号「sn_RTP＝１４」を識別する（ステップＳ１０２）。
【０１０１】
この場合、ジッタバッファ制御手段２２は、最大シーケンス番号が「sn_biggest＝１６」であり、今回受信したＩＰパケットのシーケンス番号が「sn_RTP＝１４」であり、「sn_RTP≦sn_biggest」である（ステップＳ１０３）から、シーケンス番号飛びをしてシーケンス番号「１５」及び「１６」のＰＣＭデータを投入した後に、シーケンス番号「１４」のＩＰパケットが到着したものと判断する。
【０１０２】
また、ジッタバッファ制御手段２１は、最小シーケンス番号が「sn_smallest＝１３」であり、今回受信したＩＰパケットのシーケンス番号が「sn_RTP＝１４」であり、「sn_RTP≧sn_smallest」であることを判断する（ステップＳ１１２）。
【０１０３】
従って、ジッタバッファ制御手段２２は、図９（Ｂ）に示すように、シーケンス番号「１４」のＰＣＭデータ「１４−１」及び「１４−２」を、ＰＣＭデータ「１３−２」の後の該当位置に格納する（ステップＳ１１３）。
【０１０４】
なお、このとき、ジッタバッファ制御手段２２は、最大シーケンス番号の更新を行なわない（ステップＳ１１４）。
【０１０５】
次に、過大なシーケンス番号戻りが生じた場合の投入動作を、図５及び図１０を参照しながら説明する。
【０１０６】
図１０は、過大なシーケンス番号戻りが生じた場合のＰＣＭ格納バッファ２１への投入動作を説明する説明図である。
【０１０７】
図１０（Ａ）において、ＰＣＭ格納バッファ２１には、ＰＣＭデータ「１４−２」〜「１６−２」が格納されており、ジッタバッファ制御手段２２は、最小シーケンス番号「sn_smallest＝１４」及び最大シーケンス番号「sn_biggest＝１６」を保持する。
【０１０８】
この状態で、ＩＰネットワークからシーケンス番号「１３」のＩＰパケットが受信されると（ステップＳ１０１）、ジッタバッファ制御手段２２は、受信パケットのシーケンス番号「sn_RTP＝１３」を識別する（ステップＳ１０２）。
【０１０９】
この場合、ジッタバッファ制御手段２２は、最大シーケンス番号が「sn_biggest＝１６」であり、今回受信したＩＰパケットのシーケンス番号が「sn_RTP＝１３」であり、「sn_RTP≦sn_biggest」である（ステップＳ１０３）ことを判断する。
【０１１０】
また、ジッタバッファ制御手段２１は、最小シーケンス番号が「sn_smallest＝１４」であり、今回受信したＩＰパケットのシーケンス番号が「sn_RTP＝１３」であり、「sn_RTP≧sn_smallest」でないことを判断する（ステップＳ１１２）。
【０１１１】
この場合、シーケンス番号「１３」のＩＰパケットが過大に遅れて到着したものであるから、ジッタバッファ制御手段２２は、図１０（Ｂ）に示すように、シーケンス番号「１３」のＰＣＭデータ「１３−１」及び「１３−２」を廃棄する（ステップＳ１１５）。
【０１１２】
勿論、このとき、ジッタバッファ制御手段２２は、最大シーケンス番号の更新を行なわない（ステップＳ１１６）。
【０１１３】
（Ａ−２−２）ＰＣＭ格納バッファ２１からの取出動作
図１１は、ジッタバッファ制御手段２２によるＰＣＭ格納バッファ２１からの取出処理の動作を示すフローチャートである。ＰＣＭ格納バッファ２１からの取出処理は、ジッタバッファ制御手段２２の取出動作制御部２０６が主に行う。
【０１１４】
まず、受信ジッタバッファ１１におけるＰＣＭ格納バッファ２１からの通常の取出動作について図１１及び図１２を参照しながら説明する。
【０１１５】
図１２は、ＰＣＭ格納バッファ２１からの通常の取出処理を説明する説明図である。
【０１１６】
図１２（Ａ）において、ＰＣＭ格納バッファ２１には、ＰＣＭデータ「１１−１」〜「１３−２」が格納されており、ジッタバッファ制御手段２２は、最小シーケンス番号「sn_smallest＝１１」及び最大シーケンス番号「sn_biggest＝１３」を保持する。
【０１１７】
ＰＣＭ格納バッファ２１からのＰＣＭデータの取出周期を管理しておりＰＣＭデータの取出時刻になると（ステップＳ２０１）、ジッタバッファ制御手段１１は、最小シーケンス番号「sn_smallest」に基づいて、対応するＰＣＭデータの出力を行う。
【０１１８】
このとき、ジッタバッファ制御手段１１は、ＰＣＭ格納バッファ２１から取り出すＰＣＭデータが「empty」であるか否かを判断すると共に（ステップＳ２０２）、「サブ番号＜２」又は「蓄積量＝１」であるか否かを判断する（ステップＳ２０３）。
【０１１９】
図１２（Ａ）の場合、ＰＣＭ格納バッファ２１から取り出すＰＣＭデータはＰＣＭデータ「１１−１」であって「empty」ではなく、かつ、シーケンス番号のサブ番号が「サブ番号＜２」であるから、ジッタバッファ制御手段２２は、図１２（Ｂ）に示すように、ＰＣＭ格納バッファ２１からＰＣＭデータ「１１−１」を取り出して、このＰＣＭデータ「１１−１」をＰＣＭ復号手段１３に与えて復号させる（ステップＳ２０４）。
【０１２０】
また、ジッタバッファ制御手段２２は、「sn_smallest」を前値保持する（ステップＳ２０５）。
【０１２１】
次に、ＰＣＭ格納バッファ２１に蓄積されているＰＣＭデータが１個である場合のＰＣＭ格納バッファ２１からの取出動作について図１１及び図１３を参照しながら説明する。
【０１２２】
図１３は、蓄積量が「１」である場合のＰＣＭ格納バッファ２１からの取出処理を説明する説明図である。
【０１２３】
図１３（Ａ）において、ＰＣＭ格納バッファ２１には、ＰＣＭデータ「１１−２」が格納されており、このＰＣＭデータを取り出した後は、ＰＣＭ格納バッファ２１の蓄積量が「０（空）」となる。
【０１２４】
このとき、ジッタバッファ制御手段２２は、最小シーケンス番号「sn_smallest＝１１」及び最大シーケンス番号「sn_biggest＝１１」を保持する。
【０１２５】
図１３（Ａ）において、ＰＣＭデータの取出時刻になると（ステップＳ２０１）、ジッタバッファ制御手段１１は、ＰＣＭ格納バッファ２１から取り出すＰＣＭデータがＰＣＭデータ「１１−２」であって「empty」ではなく（ステップＳ２０２）、「サブ番号＜２」又は「蓄積量＝１」であるか否かを判断する（ステップＳ２０３）。
【０１２６】
この場合、ジッタバッファ制御手段２２は、図１３（Ｂ）に示すように、ＰＣＭ格納バッファ２１からＰＣＭデータ「１１−２」を取り出して、このＰＣＭデータ「１１−２」をＰＣＭ復号手段１３に与えて復号させる（ステップＳ２０４）。
【０１２７】
また、ＰＣＭデータ「１１−２」を取り出した後、ジッタバッファ制御手段２２は、最小シーケンス番号の保持を行う（ステップＳ２０５）。
【０１２８】
次に、ＩＰネットワーク上でパケットロスが発生した等の場合のＰＣＭ格納バッファ２１からの取出動作について図１１及び１４を参照しながら説明する。
【０１２９】
図１４は、パケットロスが発生した場合のＰＣＭ格納バッファ２１からの取出処理を説明する説明図である。
【０１３０】
図１４（Ａ）において、ＰＣＭ格納バッファ２１には、ＰＣＭデータ「１１−１」及び「１１−２」がないが、ＰＣＭデータ「１２−１」〜「１３−２」が格納されており、ジッタバッファ制御手段２２は、最小シーケンス番号「sn_smallest＝１１」及び最大シーケンス番号「sn_biggest＝１３」を保持する。
【０１３１】
図１４（Ａ）において、ＰＣＭデータの取出時刻になると（ステップＳ２０１）、ジッタバッファ制御手段１１は、ＰＣＭ格納バッファ２１から取り出すＰＣＭデータを見ると、最小シーケンス番号「sn_smallest＝１１」に対応するＰＣＭデータがなく、「empty」であることを判断する（ステップＳ２０２）。
【０１３２】
この場合、ジッタバッファ制御手段２２は、ＰＣＭ格納バッファ２１に蓄積される蓄積量があるか否かを判断する（ステップＳ２０８）。この場合、ＰＣＭ格納バッファ２１には、ＰＣＭデータ「１２−１」〜「１３−２」が格納されているから、ジッタバッファ制御手段２２は、蓄積量があると判断する。
【０１３３】
ジッタバッファ制御手段２２は、パケットロス補償手段１４に対して、パケットロス有を示す情報をパケットロス補償手段１４に与えて、この処理周期の期間だけ、パケットロス補償処理をさせる（ステップＳ２０９）。これにより、この処理周期の期間だけ、パケットロス補償手段１４は、擬似リニア信号を形成することになるが、時間伸縮は生じないようにできる。そのため、この処理周期期間では、モデム信号の受信エラーが生じる可能性があるが、この処理周期期間以降は、正常に復調させることができる。
【０１３４】
なお、第１の実施形態では、ステップ２０９でパケットロス補償処理を行なうこととしたが、パケットロス補償処理を行わないようにしてもよい。
【０１３５】
また、ジッタバッファ制御手段２２は、ＰＣＭデータのシーケンス番号のサブ番号を見ており、同一シーケンス番号のＰＣＭデータを全て取り出した場合、最小シーケンス番号を「sn_smallest＝sn_smallest＋１」となるように更新する（ステップＳ２１１）。
【０１３６】
なお、ここで必要に応じて、「サブ番号＝２」であるか否かを判断し（ステップＳ２１０）、サブ番号＝２である場合には、最小シーケンス番号を「sn_smallest＝sn_smallest+１」とし（ステップＳ２１１）、そうでない場合には、「sn_smallest保持」をする（ステップＳ２１２）。
【０１３７】
次に、受信ジッタバッファ１１のアンダーランが発生した場合の取出動作を、図１１及び図１５を参照しながら説明する。
【０１３８】
図１５は、受信ジッタバッファ１１のアンダーランが発生した場合のＰＣＭ格納バッファ２１からの取出処理を説明する説明図である。
【０１３９】
図１５（Ａ）において、ＰＣＭ格納バッファ２１には、ＰＣＭデータが存在しておらず、ジッタバッファ制御手段２２は、最小シーケンス番号「sn_smallest＝１１」及び最大シーケンス番号「sn_biggest＝１１」を保持するものとする。
【０１４０】
図１５（Ａ）において、ＰＣＭデータの取出時刻になると（ステップＳ２０１）、ジッタバッファ制御手段１１は、ＰＣＭ格納バッファ２１から取り出すＰＣＭデータを見ると、最小シーケンス番号「sn_smallest＝１１」に対応するＰＣＭデータがなく、「empty」であることを判断する（ステップＳ２０２）。
【０１４１】
この場合、ジッタバッファ制御手段２２は、ＰＣＭ格納バッファ２１に蓄積される蓄積量があるか否かを判断する（ステップＳ２０８）。この場合、ＰＣＭ格納バッファ２１には、ＰＣＭデータが存在しておらず、蓄積量がなしと判断する。
【０１４２】
このとき、ジッタバッファ制御手段２２は、取出処理を停止し（ステップＳ２１３）、最小シーケンス番号を保持したままとする（ステップＳ２１４）。
【０１４３】
（Ａ−３）第１の実施形態の効果
以上のように、第１の実施形態によれば、送信側と受信側との周期差分や、ネットワークの揺らぎに伴い、受信ジッタバッファのアンダーランが発生しても、受信ジッタバッファ出力以降の動作を停止させるので、モデム信号の途中に擬似リニア信号の挿入することを回避できるので、受信ジッタバッファのアンダーランに伴うモデム信号の受信エラーを防止することができる。
【０１４４】
また、第１の実施形態によれば、ファクシミリ通信開始時に受信ジッタバッファに初期遅延を挿入する必要がないので、伝搬遅延に伴うファクシミリ通信の失敗を低減することができる。
【０１４５】
さらに、第１の実施形態によれば、パケットロス発生時には、パケットロス発生部分のみ擬似リニア信号を置き換えるようにしたので、モデム信号の時間伸縮は生じない。その結果、パケットロス発生部分以外のモデム信号は正常に受信できることが期待でき、受信エラーを低減することができる。
【０１４６】
（Ｂ）第２の実施形態
次に、本発明のジッタバッファ制御装置、方法及びプログラム、並びに情報処理装置の第２の実施形態を図面を参照しながら説明する。
【０１４７】
第２の実施形態が第１の実施形態と異なる点は、ジッタバッファ制御手段がＰＣＭ格納バッファからＰＣＭデータを取り出す取出動作である。
【０１４８】
第１の実施形態では、ＰＣＭ格納バッファから、所定の処理周期（例えば１０ｍｓ）毎に、１回の取出処理を行う場合を説明した。
【０１４９】
これに対して、第２の実施形態では、ＰＣＭデータの取り出し時点で、ＰＣＭ格納バッファの蓄積量が閾値以上の場合に、１回の処理周期期間に、２回以上の取出処理を行う。つまり、１回の処理周期期間に、２以上の処理周期分のＰＣＭデータを取り出す。
【０１５０】
例えば、ＰＣＭ格納バッファ２１の蓄積量に対する閾値を「２（２０ｍｓ相当）」に設定するとする。ジッタバッファ制御手段２２は、第１の実施形態と同様に所定の処理周期（例えば１０ｍｓ）で取出処理を行う。
【０１５１】
所定の処理周期の時刻となり、ジッタバッファ制御手段２２がＰＣＭ格納バッファ２１からＰＣＭデータを取り出す際、ジッタバッファ制御手段２２は、ＰＣＭ格納バッファ２１の蓄積量が閾値「２」以上か否かを判定する。
【０１５２】
そして、ＰＣＭ格納バッファ２１の蓄積量が閾値「２」以上である場合、ジッタバッファ制御手段２２は、その処理周期で、２回の処理周期分のＰＣＭデータを取り出す。
【０１５３】
これにより、時間と共に受信ジッタバッファ１１の遅延量が増加する場合でも、処理周期あたりの出力量を増加することができるので、遅延量の増加を防止することができる。
【０１５４】
第２の実施形態は、第１の実施形態と同様に、例えばＰＣ等の情報処理装置に搭載されるファクシミリ通信装置を想定しているから、並列処理が可能である。ゆえに、１回の処理周期あたりに、２回以上の処理周期のＰＣＭデータを出力することで、モデム信号の復調処理を並列に行うことができる。
【０１５５】
一方、ＰＣＭ格納バッファ２１の蓄積量が閾値「２」未満の場合、ジッタバッファ制御手段２２は、今回の処理周期で、１回の処理周期分のＰＣＭデータを取り出す。
【０１５６】
以上のように、第２の実施形態によれば、第１の実施形態の効果に加えて、１回の処理周期あたりに出力するデータ量を増やすことができるので、受信ジッタバッファの蓄積量の増加に伴う遅延を防止することができる。その結果、伝送遅延に伴うファクシミリ通信の失敗を低減することができる。
【０１５７】
（Ｃ）他の実施形態
第１及び第２の実施形態では、ファクシミリ通信装置における受信ジッタバッファ制御処理を例示したが、本発明は、モデムデータ通信にもそのまま適用することができる。
【０１５８】
また、ＦＡＸ信号に限られることなく、音声信号による音声通信装置のジッタバッファ制御処理にも本発明を適用することができる。例えば、受信した音声信号を録音する音声録音装置に適用する場合、その処理周期期間の音声はかけてしまう可能性はあるが、そのまま音声を録音することができる。
【０１５９】
また、第１及び第２の実施形態では、入力信号がＦＡＸ信号や制御信号の場合を例示したが、入力信号が、例えば通信エラーが生じた場合に再度データ転送を指示するＥＣＭ（エラーコレクトモード）信号である場合でも適用することができる。
【符号の説明】
【０１６０】
１…ファクシミリ通信装置、１１…受信ジッタバッファ、２１…ＰＣＭ格納バッファ、
２２…ジッタバッファ制御手段、
２０１…蓄積量管理部、２０２…最大シーケンス番号管理部、
２０３…最小シーケンス番号管理部、２０４…受信パケットシーケンス番号識別部、
２０５…投入動作制御部、２０６…取出動作制御部、
１３…ＰＣＭ復号手段、１４…パケットロス補償手段、１５…モデム信号復調手段、
１６…ファクシミリデータ受信手段。
【図１】
2010226611.tif 000003
【図２】
2010226611.tif 000004
【図３】
2010226611.tif 000005
【図４】
2010226611.tif 000006
【図５】
2010226611.tif 000007
【図６】
2010226611.tif 000008
【図７】
2010226611.tif 000009
【図８】
2010226611.tif 000010
【図９】
2010226611.tif 000011
【図１０】
2010226611.tif 000012
【図１１】
2010226611.tif 000013
【図１２】
2010226611.tif 000014
【図１３】
2010226611.tif 000015
【図１４】
2010226611.tif 000016
【図１５】
2010226611.tif 000017