(57)【特許請求の範囲】
【請求項１】
受信したパケット信号のデータを蓄積するデータバッファと、
前記データバッファに蓄積された一連のデータ群を入力とし前記データ群から導かれるデータを出力するデジタルフィルタとしての積和演算器と、
前記データバッファの受信データ数と出力データ数との比較により前記積和演算回路へ入力する前記データ群を指示するデータポインタの位置制御および前記積和演算器のデジタルフィルタ係数を可変して遅延量を制御する遅延制御器と、を備えたことを特徴とするパケット受信回路。
【請求項２】
前記積和演算器は、その係数が、ｓｉｎｃ関数に窓関数を乗じた係数であり、
前記係数を前記遅延制御器により可変制御可能に構成され、
１  サンプル未満の微少精度で遅延量が可変できる微少可変遅延器（遅延量＝Ｎサンプル±δ）として機能する、ことを特徴とする請求項１に記載のパケット受信回路。
【請求項３】
前記窓関数は、ハミング関数である請求項２に記載のパケット受信回路。
【請求項４】
前記積和演算器が、前記データ受信開始時には、所定の遅延時間で機能し、遅延出力開始後には微少に遅延時間を短くしていき、予め設定した最小遅延時間値に到達したら遅延時間を当該最小遅延時間値に固定することを特徴とする請求項１〜３のいずれか１項に記載のパケット受信回路。
【請求項５】
前記積和演算器が、前記最小遅延時間値で動作中に受信データ数  ＜  送信データ数となった場合には、前記積和演算器は遅延時間を１データ分減らし、その後、微少に遅延時間を多くしていき、最小遅延値に戻るまで可変させる、ことを特徴とする請求項４に記載のパケット受信回路。
【請求項６】
前記積和演算器が、前記最小遅延時間値で動作中に受信データ数  ＞  送信データ数となった場合には、前記積和演算器は遅延時間を１データ分増やし、その後、微少に遅延時間を少なくしていき、最小遅延値に戻るまで可変させる、ことを特徴とする請求項４に記載のパケット受信回路。
【請求項７】
パケット受信回路の制御方法であって、
受信したパケット信号のデータを順次蓄積する過程と、
前記蓄積された一連のデータ群を入力とし前記データ群をデジタルフィルタ処理した送信データを順次出力する過程と、
受信したデータ数と出力したデータ数との比較に応じて前記入力とするデータ群を指示するとともにデジタルフィルタ処理の係数を処理毎に指定する過程と、を含むことを特徴とするパケット受信方法。
【請求項８】
前記デジタルフィルタ処理の係数が、ｓｉｎｃ関数に窓関数を乗じた係数であり、
当該係数を可変制御して１  サンプル未満の微少精度で遅延量（遅延量＝Ｎサンプル±δ）を可変して出力することを特徴とする請求項７に記載のパケット受信方法。
【請求項９】
前記窓関数は、ハミング関数である請求項８に記載のパケット受信方法。
【請求項１０】
データ受信開始時には、デジタルフィルタ処理し所定の遅延時間で送信データを出力し、遅延出力開始後には微少に遅延時間を短くしてデジタルフィルタ処理して送信データを出力し、
予め設定した最小遅延時間値に到達したら遅延時間を当該最小遅延時間値に固定してデジタルフィルタ処理して送信データを出力することを特徴とする請求項７〜９のいずれか１項に記載のパケット受信方法。
【請求項１１】
前記最小遅延時間値で動作中に受信データ数  ＜  送信データ数となった場合には、遅延時間を１データ分減らし、その後、微少に遅延時間を多くしていき、最小遅延値に戻るまで可変させる、ことを特徴とする請求項１０に記載のパケット受信方法。
【請求項１２】
前記最小遅延時間値で動作中に受信データ数  ＞  送信データ数となった場合には、遅延時間を１データ分増やし、その後、微少に遅延時間を少なくしていき、最小遅延値に戻るまで可変させる、ことを特徴とする請求項１０に記載のパケット受信方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、音声パケット通信等のリアルタイム・データ（  画像、音声等）  の受信技術に関し、特に、伝送ネットワークで発生するパケット到来間隔の揺らぎを吸収するパケット受信回路および受信方法の改良に関する。
【０００２】
【従来の技術】
ＬＡＮネットワークや複数のＡＴＭ交換ノードを含むＡＴＭネットワークを介して伝送するＡＴＭ通信システム等では、音声や映像等のリアルタイム・データが一定間隔でトラフィックが発生するＣＢＲトラフィックとして搬送される。
【０００３】
例えば図７に概略ブロック図で示す通信システムにおいて、画像、音声あるいはこれらの同時通信をパケット通信回線を用いて行う場合、送信側端末装置２０´では、伝送すべき画像を画像入力部２１´で取り込みこの画像信号を画像符号化部２２´で、通信に適切な圧縮・符号化等を行った情報に変換し、この情報が送信部２３´へ渡される。
【０００４】
送信部２３´では、ＲＴＰプロトコルを使用して受信側端末装置４０´へ画像情報を伝送するために、まずＲＴＰパケット組立部（明示なし）にて、該画像情報に必要なヘッダ等の情報を付与してＲＴＰパケットを生成する。生成されたＲＴＰパケットは、ＵＤＰパケット組立部（明示なし）にて、ヘッダ等の情報が付与されＵＤＰパケットが生成される。生成されたＵＤＰパケットは、パケット送信部（明示なし）より適宜のパケット通信回線３０´へと送出される。
【０００５】
インターネット等のパケット通信回線３０´は、一般に複数の通信中継装置（ル−タ等）を含み構成されておりＵＤＰパケットは、これらの通信中継装置を経由して所定経路で受信側端末装置４０´へ搬送される。
【０００６】
受信側端末装置４０´では、パケット通信回線３０´を介して到達したパケットを受信部４１´で受け取る。受信部４１´では、まず、パケット受信部（明示なし）が通信回線よりパケットを受信する。次に、ＵＤＰパケット分解部（明示なし）にて、受信したＵＤＰパケット内よりＲＴＰパケットを抽出する。更にＲＴＰパケット分解部（明示なし）において抽出されたＲＴＰパケットから画像情報部分のみを取り出し、画像復号化部４２´にて、復号化・伸長をしてデータの復元を行い、画像出力部４３´より画像信号が出力される。
ところで、インターネット等でＣＢＲセルを搬送する上で大きな影響を及ぼすのは、受信側端末に到達するまでの時間（遅延）及び、そのジッタ（遅延の変化）である。遅延の増加は、リアルタイム性を損なう。また、ジッタが大きいとＣＢＲセル受信側では音声等が再生できなくなることがある。
【０００７】
遅延自体を抑える為に、ＬＡＮ等のパケット通信回線を構成する個々のルータでは、例えばＩＰパケットを優先的に処理する技術が実用化されている。しかし、ネットワークの輻輳や同種の優先処理機能を有さないルータの介在等が原因でネットワーク内部でＣＤＶ（Ｃｅｌｌ  Ｄｅｌａｙ  Ｖａｒｉａｔｉｏｎ  ：セル遅延揺らぎ）が発生する。上記パケットに対するＣＤＶ（ジッタ）が発生した場合、こうした優先処理技術をサポートしたルータでも、これを吸収することができない場合もあり、受信側端末装置にはジッタを伴ってデータが伝送される。
【０００８】
ネットワーク上で発生したジッタにより、ＣＢＲセル受信側で音声等が再生できなくなるという問題を解決する一手段として、セル受信部にネットワーク内部で発生したＣＤＶを吸収する為のバッファを用いて、一定時間セルの蓄積を行い付加遅延を加えることでＣＤＶを吸収しＣＢＲ通信としての品質を保っている。
【０００９】
一般にこの種のＡ／Ｖストリームの再生側装置は、再生側では、受信パケットストリームを揺らぎを吸収した連続データとして再生させるため、受信パケットを一定時間蓄積する多段のＦＩＦＯメモリ（以下では、単にバッファとも記載する）を備えている。
【００１０】
ここで、ネットワークで発生するパケット到来間隔の揺らぎを抑制するための、同期化バッファを用いた従来方式について図８を用いて簡単に説明する。図８は、従来の音声パケットの再生側装置におけるＦＩＦＯメモリ１Ａの動作を説明する図である。なお、同図は関連する要部のみを図示している。図中で、受信信号ａは、パケット揺らぎが発生するネットワークから再生側装置が受信したパケットデータを図示しないヘッダ分離部でヘッダ情報と分離して得られる音声データである。ＦＩＦＯメモリ１Ａは、揺らぎ吸収用のバッファであり、順次入力される音声データを蓄積するとともに図示しない制御部により制御されて蓄積データを入力順に所定遅延を付加して出力する。ＦＩＦＯメモリ１Ａから音声再生部への送信信号ｃは、ＦＩＦＯメモリ１Ａのセンタ位置から出力される。送信信号ｃは、図示しない適宜の音声復号回路のＤ／Ａ  変換器と同じ一定クロックに同期して送出されて、音声復号回路を経てアナログ音声が再生される。
【００１１】
なお、同様の技術は、ネットワークを構成する中継装置にも適用されている。例えば、特開平８−１６３１５０号公報には、上記と同様のシェーピング手段を用いてＡＴＭ交換ノード（ＡＴＭスイッチ）の出力段にてＣＢＲセルのＣＤＶを吸収する方式が提案されている。
【００１２】
しかしながら、上に挙げた従来技術はいずれもＣＤＶ吸収の為に、常に一定時間だけ、セルをＦＩＦＯメモリ（バッファ）に蓄積するようになっている。一般的にＡＴＭネットワーク内部で発生するＣＤＶ値は受信装置では予測が困難であるため、従来はＦＩＦＯメモリに蓄積させるセルの量は、セル蓄積遅延によりアプリケーションにて不具合が発生しない程度の値が一律に決定されていた。
【００１３】
受信装置に、例えば４００ｍｓ  のバッファを用いた場合には、パケット揺らぎ±  ２００ｍｓを吸収可能であるが、仮にパケット揺らぎが安定している場合でも一定の遅延が付加される。すなわち、この場合であれば、必ず再生遅延時間が２００ｍｓ  と大きくなってしまうという難点があった。
【００１４】
また、データ送出してきた相手側のＡ／Ｄのサンプリングクロックが、再生側のＤ／Ａクロックとは異なるような非同期クロックの場合には、そのクロック周波数の差に起因して、時間の経過に伴って送信データ数と受信データの数に差が出てしまうため、いずれある一定時間が経過するとＦＩＦＯメモリでのアンダーラン、もしくはオーバランが発生して音声データが不連続となり、ノイズや途切れを発生してしまう問題点がある。これらの問題点は、音声に限らずリアルタイム・データのパケット通信一般に共通する問題点である。
【００１５】
【発明が解決しようとする課題】
従って、本発明は、音声等のリアルタイム・データのパケット通信において従来見られた、ネットワークで発生するパケット到来間隔の揺らぎによる、パケットを受信する再生側でのパケットのスリップに起因したデータの不連続性による品質劣化、例えば音声データであれば不連続な音声波形によるクリックノイズや音声の途切れを防止して、改善された良質なデータ再生が可能であり、且つ、データの再生遅延を最小最適値に制御して再生遅延時間を極力少なくするパケットの受信再生回路を提供することを目的としている。
【００１６】
【課題を解決するための手段】
課題解決のために請求項１の発明では、パケット受信回路を、受信したパケット信号のデータを蓄積するデータバッファと、前記データバッファに蓄積された一連のデータ群を入力とし前記データ群から導かれるデータを出力するデジタルフィルタとしての積和演算器と、前記データバッファの受信データ数と出力データ数との比較により前記積和演算回路へ入力する前記データ群を指示するデータポインタの位置制御および前記積和演算器のデジタルフィルタ係数を可変して遅延量を制御する遅延制御器とを備えた構成とする。
【００１７】
請求項２の発明では、請求項１に記載のパケット受信回路において、前記積和演算器は、その係数が、ｓｉｎｃ関数に窓関数を乗じた係数であり、前記係数を前記遅延制御器により可変制御可能に構成され、１  サンプル未満の微少精度で遅延量が可変できる微少可変遅延器（遅延量＝Ｎサンプル±δ）として機能するようにする。請求項３の発明では、請求項２記載の発明において、前記窓関数をハミング関数とする。
【００１８】
請求項４の発明では、請求項１〜３のいずれかのパケット受信回路において、前記積和演算器が、前記データ受信開始時には、所定の遅延時間で機能し、遅延出力開始後には微少に遅延時間を短くしていき、予め設定した最小遅延時間値に到達したら遅延時間を当該最小遅延時間値に固定するようにする。
【００１９】
請求項５の発明では、請求項４に記載のパケット受信回路において、前記積和演算器が、前記最小遅延時間値で動作中に受信データ数  ＜  送信データ数となった場合には、前記積和演算器は遅延時間を１データ分減らし、その後、微少に遅延時間を多くしていき、最小遅延値に戻るまで可変させるようにする。
【００２０】
請求項６の発明では、請求項４に記載のパケット受信回路において、前記積和演算器が、前記最小遅延時間値で動作中に受信データ数  ＞  送信データ数となった場合には、前記積和演算器は遅延時間を１データ分増やし、その後、微少に遅延時間を少なくしていき、最小遅延値に戻るまで可変させるようにする。
る。
【００２１】
また、請求項７の発明は、パケット受信回路の制御方法において、受信したパケット信号のデータを順次蓄積する過程と、前記蓄積された一連のデータ群を入力とし前記データ群をデジタルフィルタ処理した送信データを順次出力する過程と、受信したデータ数と出力したデータ数との比較に応じて前記入力とするデータ群を指示するとともにデジタルフィルタ処理の係数を処理毎に指定する過程とを含むことを特徴とする。
【００２２】
請求項８の発明は、請求項７のパケット受信方法において、前記デジタルフィルタ処理の係数が、ｓｉｎｃ関数に窓関数を乗じた係数であり、当該係数を可変制御して１  サンプル未満の微少精度で遅延量（遅延量＝Ｎサンプル±δ）を可変して出力することを特徴とする。請求項９の発明は、請求項８に記載のパケット受信方法において、前記窓関数をハミング関数とする。
。
【００２３】
請求項１０の発明は、請求項７〜９のいずれかのパケット受信方法において、データ受信開始時には、デジタルフィルタ処理し所定の遅延時間で送信データを出力し、遅延出力開始後には微少に遅延時間を短くしてデジタルフィルタ処理して送信データを出力し、予め設定した最小遅延時間値に到達したら遅延時間を当該最小遅延時間値に固定してデジタルフィルタ処理して送信データを出力することを特徴とする。
【００２４】
請求項１１の発明は、請求項１０に記載のパケット受信方法において前記最小遅延時間値で動作中に受信データ数  ＜  送信データ数となった場合には、遅延時間を１データ分減らし、その後、微少に遅延時間を多くしていき、最小遅延値に戻るまで可変させることを特徴とする。
【００２５】
請求項１１の発明は、請求項１０に記載のパケット受信方法において、前記最小遅延時間値で動作中に受信データ数  ＞  送信データ数となった場合には、遅延時間を１データ分増やし、その後、微少に遅延時間を少なくしていき、最小遅延値に戻るまで可変させることを特徴とする。
【００２６】
【発明の実施の形態】
〔実施例〕次に、実施例を挙げ図面に基づき本発明について詳細に説明する。以下では、音声パケット再生回路を例に本発明のパケット受信回路を説明する。図１は、本発明の一実施例である音声パケット再生回路の要部構成を示したブロック図である。
【００２７】
この音声パケット再生回路は、ＦＩＦＯメモリ１、バッファレジスタ２、制御器７、積和演算器１０、Ｄ／Ａ変換器５、およびスピーカ６を含み構成されている。制御器７は、カウンタ８および制御信号出力部９で構成されている。また積和演算器１０は、乗算器部３および加算器４により構成されている。
【００２８】
ＦＩＦＯメモリ１は、レジスタ１−１〜１−ｎからなるシフトレジスタで構成されている。ＦＩＦＯメモリ１の先頭のレジスタ１−１の入力には、受信信号ａが入力される。レジスタ１−１の出力は、レジスタ１−２に入力される。レジスタ１−２の出力は、レジスタ１−３に入力される。以下同様に、レジスタ１−（ｉ−１）の出力は、次段のレジスタ１−ｉに入力される。ｉは２以上でｎ以下である自然数である。
【００２９】
ＦＩＦＯメモリ１の任意の連続した複数（実施例では９）のレジスタの格納データは、バッファレジスタ２を介して積和演算器１０に入力される。この積和演算器１０における後述する所定処理による得られる結果に基づいて、ＦＩＦＯメモリ１のデータが順に積和演算器１０を介して送出信号ｃとして、Ｄ／Ａ変換器５へと出力されスピーカ６により音声が再生される。
【００３０】
ＦＩＦＯメモリ１は、制御器７により生成される制御信号ｈに応答して、一部のデータ群を積和演算器１０へと出力し、積和演算器１０ではこれらデータ群を基に送信信号ｃに変換して、この送信信号ｃがＤ／Ａ変換器５へと出力される。上記制御信号ｂは、受信信号ａと送信側クロック信号ｄとに基づいて制御器７により生成される。
【００３１】
積和演算器１０は、バッファメモリ２および制御器７に接続されて、微少可変遅延を実現する機能を備えたものである。ここで微少可変遅延とは、１サンプルデータ単位の遅延ではなく、より細かい微少遅延の設定（遅延量＝±δ）を可変できるものを指す（例えば、１／２５６  サンプルデータ刻みの遅延が可能なもの）。
【００３２】
実施例の積和演算器１０は、乗算器部３と加算器４で構成されている。積和演算器１０も前記制御部７の制御信号ｂにより制御される。乗算器部３は、９つの乗算器３−１〜３−９を含み構成されている。ＦＩＦＯメモリ１の格納データのうちで、制御部７からのポインタ指定で決まる所定位置から９つのデータが、バッファレジスタ２を介して前記９つの乗算器３−１〜３−９にそれぞれ入力される。
【００３３】
例えば、バッファレジスタ２−１の出力は、乗算器３−１に入力される。レジスタ２−２の出力は、乗算器３−２に入力される。以下同様に、レジスタ２−ｊの出力は、乗算器３−ｊ（ｊは９以下の自然数）に入力される。乗算器３−１〜３−９の各演算出力は、加算器４に入力される。加算器４の演算出力が、所定量遅延された送信信号ｃとして出力される。
【００３４】
積和演算器（微少可変遅延器）１０では、ＦＩＦＯメモリ１から入力した一部のデータ群を元に、後で詳述するデジタルＦＩＲ  フィルタリング処理を行う。すなわち、積和演算器４はｒ次のＦＩＲ（Ｆｉｎｉｔｅ  Ｉｍｐｕｌｓｅ  Ｒｅｓｐｏｎｓｅ）フィルタとして機能する。ｒは３以上の自然数であって、本実施例ではｒ＝９である。
【００３５】
乗算器３−１〜３−９は、制御信号ｂに応答して演算を行う。乗算器３−１は、データＤ１に係数Ａ１（ｑ）を乗じて加算器４に出力する。乗算器３−２は、データＤ２に係数Ａ２（ｑ）を乗じて加算器４に出力する。以下同様に、乗算器３−ｊは、データＤｊに係数Ａｊ（ｑ）を乗じて加算器４に出力する。
【００３６】
乗算器３−１〜３−９のそれぞれが乗算に使用する係数Ａ１（ｑ）〜Ａ９（ｑ）は、制御信号ｂにより乗算器３−１〜３−９のそれぞれに伝達されるδ（ｑ）により決定される。積和演算器（デジタルフィルタ）内のインパルス応答係数には、ｓｉｎｃ関数を用いている。  ｓｉｎｃ  関数とは次式のものである。
ｓｉｎｃ（ｘ）＝ｓｉｎ（ｘ）／ｘ
グラフを図２に示す。
【００３７】
ここでは、説明を簡単にするため、実施例に用いたＦＩＲ  （Ｆｉｎｉｔｅ  Ｉｍｐｕｌｓｅ  Ｒｅｓｐｏｎｓｅ）  を９次で構成した場合を考える。ｓｉｎｃ関数（図２参照）において、ＦＩＲ  係数初期値（  固定値）  は、
Ａ＝（Ａ１，Ａ２，Ａ３，Ａ４，Ａ５，Ａ６，Ａ７，Ａ８，Ａ９）＝（０，  ０，  ０，  ０，  １，  ０，  ０，  ０，  ０）
とする。図３の●印点それぞれの係数である。この係数は、シングルインパルスとなる係数であり、ＦＩＲ  ９  次の出力は、５サンプルディレイとなる。
【００３８】
これを、例えば４．７５サンプルデイレイにしたい場合であれば、δ＝  π／４ずらした係数を用いることで実現する。図２の×印点の係数である。
Ａ＝（ｓｉｎｃ（−４π＋  δ），  ｓｉｎｃ（−３π＋  δ），  ．．．，  ｓｉｎｃ（３π＋  δ），  ｓｉｎｃ（４  π＋  δ））
【００３９】
また、ｓｉｎｃ関数は左右に無限長の関数なので、有限長のＦＩＲ  フィルタの係数として用いる場合には、さらに、この係数に窓掛け処理を行ったものを係数とすることで、周波数特性を保証できる。
【００４０】
具体的には、窓関数ｈ［ｉ］は、ハミング関数であることが可能である。一般的なハミング窓は下式である。
ｈ［ｉ］＝０．５４  −  ０．４６  ＊  ｃｏｓ（  ２  π＊ｉ／ｎ  ）
ここで、ｎ  は、ＦＩＲ  フィルタの次数である。
【００４１】
図３に、サンプリング周波数１６ｋＨｚ  の場合で、  ＦＩＲ次数３２、δ＝  π／８（  ディレイ分解能１／８  サンプル）  、ハミング窓処理有りの条件での、周波数変動特性を示す。７ｋＨｚ帯域までは、ほぼフラットな特性が保持されている。
【００４２】
なお、ｈ［ｉ］は他の窓関数、であることが可能である。ｈ［ｉ］に窓関数、特に、ハミング関数を使用することにより、遮断周波数以下において積和演算器１０の利得が周波数に依存しないようにすることができる。また、ｈ［ｉ］は、ｈ［ｉ］＝１であることも可能である。
【００４３】
積和演算器によるデジタルフィルタ係数により、遅延量＝Ｎサンプル±δの遅延器を実現することができ、ＦＩＦＯメモリ２の出力するデータポインタの位置と上述フィルタ係数とを可変にすることで、可変遅延器が構成される。
●●以下はどうするか↓↓
【００４４】
ここで、積和演算器１０が行う演算についてより詳細に説明する。乗算器３−１〜３−９が乗算する係数Ａｊ（ｑ）は、次式（１）で表される。
【００４５】
【数１】
0003633542.tif 000002
【００４６】
係数Ａｊ（ｑ）は、窓関数を因数として有するが窓関数は周波数特性にのみ作用し、積和演算器（フィルタ）の動作の本質とは関係がない。簡単のため以下の説明では、窓関数は１であるとして説明を行う。
【００４７】
δ（ｑ）は、クロックパルスＰｑ（ｑは０以上の任意の整数）がカウンタ８に入力される毎に更新される。そのため、前記乗算器３−１〜３−９のそれぞれが乗算に使用する係数Ａ１（ｑ）〜Ａ９（ｑ）もクロックパルスＰｑがカウンタ８に入力される毎に更新される。従って送信サンプルデータｙもクロックパルスＰ０〜Ｐｍがカウンタ８に入力される毎に更新される。クロックパルスＰｑがカウンタ８に入力されたときに生成される送信サンプルデータｙを、以後ｙ（ｑ）と記載する。
【００４８】
送信サンプルデータｙ（ｑ）は、次式（２）で表される。
【００４９】
【数２】
0003633542.tif 000003
ここで、Ｄｊ（ｑ）は、クロックパルスＰｑがカウンタ８に入力されたときに、レジスタ２−ｉが保持しているデータＤｊである。ここで、クロックパルスＰｑがカウンタ８に入力された時までに入力された受信サンプルデータｘ（ｐ）のうち、最も直前にレジスタ２−１に入力された受信サンプルデータをｘ（ｐ’）とする。
【００５０】
このとき、Ｄ１（ｑ）＝ｘ（ｐ’）である。Ｄ２（ｑ）＝ｘ（ｐ’−１）である。以下、同様にして、Ｄｊ（ｑ）＝ｘ（ｐ’−｛ｊ−１｝）である。
即ち、次式（３）
【００５１】
【数３】
0003633542.tif 000004
となる。
【００５２】
まず、δ（ｑ）＝０であるときを考察する。δ（ｑ）＝０のときの係数Ａｊ（ｑ）の値が図２に示されている。ただし、窓関数ｈ［ｉ］はｈ［ｉ］＝１、ｋ＝５である。ｊ≠ｋのとき、Ａｊ（ｑ）＝０である。ｊ＝ｋのとき、Ａｊ（ｑ）＝１である。
【００５３】
式（３）より、ｙ（ｑ）＝ｘ（ｐ’−（ｋ−１））、即ち、ｙ（ｑ）＝ｘ（ｐ’−４）が得られる。この式の意味することは次のとおりである。
【００５４】
δ（ｑ）＝０のまま、積和演算器１０及びカウンタ８に、受信サンプルデータｘ（ｐ−４）、ｘ（ｐ−３）、ｘ（ｐ−２）、ｘ（ｐ−１）、ｘ（ｐ）が順次入力されたとする。その直後に、クロックパルスＰｑがカウンタ８に入力されたとする。ｐ’＝ｐである。このとき、ｙ（ｑ）＝ｘ（ｐ−４）となる。
【００５５】
即ち、積和演算器１０は受信サンプルデータｘ（ｐ−４）を４サンプル遅延した後、受信サンプルデータｘ（ｐ−４）を送信サンプルデータｙ（ｑ）として出力する。このように、δ（ｑ）＝０の場合、積和演算器１０は、送信サンプルデータを（ｋ−１）サンプル遅延して送信サンプルデータｙ（ｑ）として出力する。
【００５６】
δ（ｑ）＝０の場合、各Ａｊ（ｑ）（ｊは１から９の自然数）は、受信サンプルデータｘ（ｐ）を（ｋ−１）サンプル遅延するように決定される。積和演算器１０は、レジスタ２−１〜２−２、乗算器３−１〜３−９及び加算器４を用いて送信サンプルデータを演算する。演算の結果、送信サンプルデータは（ｋ−１）サンプル遅延される。
【００５７】
同様に、δ（ｑ）＝１であるときの係数Ａｊ（ｑ）の値が図４に示されている。ただし、窓関数ｈ［ｉ］はｈ［ｉ］＝１、ｋ＝５である。δ（ｑ）＝１である場合、ｊ≠ｋ＋１（＝６）のときＡｊ（ｑ）＝０である。ｊ＝ｋ＋１（＝６）のときＡｊ（ｑ）＝１である。式（３）より、ｙ（ｑ）＝ｘ（ｐ’−５）が得られる。すなわち、δ（ｑ）＝１のとき、積和演算器１０は、受信サンプルデータｘ（ｐ）を５サンプル遅延して送信サンプルデータｙ（ｑ）として出力する。このとき、各Ａｊ（ｑ）（ｊは１から９の自然数）は、受信サンプルデータｘ（ｐ）を５サンプル遅延するように決定されている。
【００５８】
以上の議論はδ（ｑ）が整数でない場合にも拡張される。δ（ｑ）＝０．２５の場合の係数Ａｊ（ｑ）の値が図５に示されている。ｋ＝５である。このとき、各Ａｊ（ｑ）（ｊは１から９の自然数）は、受信サンプルデータｘ（ｐ）が実質的に４．２５サンプル遅延されるように決定される。積和演算器１０は、受信サンプルデータｘ（ｐ）を実質的に４．２５サンプル遅延し、送信サンプルデータｙ（ｑ）として出力する。
【００５９】
以上に述べられたように、積和演算器１０は、受信サンプルデータｘ（ｐ）を（ｋ−１）＋δ（ｑ）サンプルだけ遅延する遅延器である。δ（ｑ）が整数でない場合、積和演算器１０は、実質的に受信サンプルデータｘ（ｐ）を（ｋ−１）＋δ（ｑ）サンプル相当分だけ遅延したものに相当するデータを、送信サンプルデータｙ（ｑ）として出力する。
【００６０】
積和演算器１０の遅延サンプル数（ｋ−１）＋δ（ｑ）は、カウンタ８に入力され蓄積された受信サンプルデータｘ（ｐ）の数と、カウンタ８に入力される送信側クロック信号ｄに含まれるクロックパルスＰｑの数に応答して調整される。
【００６１】
制御器７は、カウンタ８とこのカウンタ８と入出力可能に接続された制御信号出力部９とで構成されている。カウンタ８には前記受信信号ａと送信側クロック信号（再生クロックパルス）ｄが別個の入力端子より入力されている。またカウンタ８の別の入力には制御信号出力部９からの出力信号ｇが入力されている。カウンタ８の出力信号ｆは制御信号出力部９に接続されている。
【００６２】
制御信号出力部９には、前記送信側クロック信号ｄも入力されている。制御信号出力部９の出力信号ｂは、前記バッファレジスタ群２および前記乗算器部３に接続されており、別の出力信号ｈは前記ＦＩＦＯメモリ１に接続されている。出力信号ｈはＦＩＦＯメモリに出力ポインタ位置を指定して連続するデータ群を出力させる。
【００６３】
制御器７における制御信号ｂの生成の過程を説明する。受信信号ａがカウンタ８に入力される。カウンタ８は、カウンタ値Ｋ（整数でない値を取り得る）を保持し、受信サンプルデータｘ（ｐ）（ｐは０以上の任意の整数）が入力されるたびにカウンタ値Ｋを１だけ増加する。
【００６４】
カウンタ８には送信側クロック信号ｄも入力される。送信側クロック信号ｄは、図６に示されているように、クロックパルスＰ０、Ｐ１、Ｐ２…、Ｐｑ、…を含んでいる。ｑは０以上の任意の整数である。クロックパルスＰ０は、時刻ｔ＝ｔ０’にカウンタ８に入力される。ここで、ｔ０＜ｔ０’であるとする。クロックパルスＰ１は、時刻ｔ＝ｔ１’にカウンタ８に入力される。以下同様に、クロックパルスＰｑは、それぞれ時刻ｔ＝ｔｑ’にカウンタ８に入力される。
【００６５】
カウンタ８は、クロックパルスＰｑ（ｑは０以上の任意の整数）のいずれかが入力される毎にカウンタ値Ｋを１だけ減じる。クロックパルスＰ０が入力され、その値を１だけ減じられた後のカウンタ値Ｋは、制御値δ（０）となる。同様に、クロックパルスＰｑが入力され、その値を１だけ減じられた後のカウンタ値Ｋは、制御値δ（ｑ）となる。制御値δ（ｑ）は、カウンタ信号ｆにより、制御信号出力部９に伝達される。
【００６６】
制御信号出力部９には、送信側クロック信号ｄが入力されている。送信側クロック信号ｄの含むクロックパルスＰｑ（ｎは０以上の任意の整数）が制御信号出力部９に入力される時刻は、カウンタ８に入力される時刻と実質的に同じである。
【００６７】
制御信号出力部９は、クロックパルスＰ０が入力されると、制御値δ（０）を取り込む。同様に、クロックパルスＰｑが入力されると、制御値δ（ｑ）を取り込む。ｑは０以上の任意の整数である。制御信号出力部９は、クロックパルスＰｑが入力されると、制御値δ（ｑ）を制御信号ｂにより積和演算器１０に伝達する。
【００６８】
制御信号出力部９は、制御信号ｂにより積和演算器１０にδ（ｑ）（ｑは０以上の任意の整数）を伝達した後、カウンタ制御信号ｇをカウンタ８に出力する。このカウンタ制御信号ｇは、カウンタ値ＫをΔｘだけ増加し、又は、Δｘだけ減ずることをカウンタ８に指示する信号である。０＜Δｘ＜０．５である。
【００６９】
カウンタ制御信号ｇに応答してカウンタ８は次のような動作を行う。−Ｋｍ≦δ（ｑ）≦Ｋｍ（ｑは０以上の任意の整数）のとき、カウンタ８は、カウンタ値Ｋをそのまま保持する。Ｋｍは０以上の整数である。δ（ｑ）＞Ｋｍのとき、カウンタ８はカウンタ値ＫをΔｘだけ減ずる。δ（ｑ）＜−Ｋｍのとき、カウンタ８はカウンタ値ＫをΔｘだけ増加する。Δｘは、整数でない。従って、カウンタ値Ｋは整数でない値を取り得る。カウンタ値ＫがΔｘだけ増加され、又は、Δｘだけ減ぜられた結果（カウント値）は、次にクロックパルスＰｑ＋１が入力された時に制御信号ｂが伝達する制御値δ（ｑ＋１）に反映される。カウンタ８に保持されるカウンタ値Ｋは、整数以外の値を取り得るので、制御値δ（ｑ＋１）も（ｑは０以上の任意の整数）整数以外の値を取り得る。
【００７０】
これまで説明した、音声パケット再生回路の各機能部は独立して個々に構成してもよいが、ＣＰＵあるいはＤＳＰ、およびメモリを中心としたＬＳＩ群と所定の実行プログラムで複数の機能部を複合させた形態で実現することができる。この場合ＦＩＦＯメモリ１やバッファレジスタ２は、所定メモリのメモリ空間に割り当てた領域として実現することができる。
【００７１】
続いて、実施例のパケット再生回路の動作について詳述する。受信信号ａは、ＦＩＦＯメモリ１と制御器７のカウンタ８に入力される。受信信号ａは、デジタル音声信号である。受信信号ａは、図６に示されているように、受信サンプルデータｘ（０）、ｘ（１）、…、ｘ（ｐ）、…を含む（ｐは０以上の任意の整数）。各受信サンプルデータｘ（ｐ）（ｐは０以上の任意の整数）のそれぞれは１６ビットで構成される。なお、受信サンプルデータが構成されるビット数は、各部を対応する構成とすれば異なるビット数であっても良い。
【００７２】
時刻ｔ＝ｔ０において、受信サンプルデータｘ（０）がＦＩＦＯメモリ１に入力・蓄積されるとともに制御器７のカウンタ８に入力される。次に時刻ｔ＝ｔ１において、受信サンプルデータｘ（１）がＦＩＦＯメモリ１と制御器７に入力される。以下同様に、時刻ｔ＝ｔｐにおいて、受信サンプルデータｘ（ｐ）はＦＩＦＯメモリ１に入力・蓄積されるとともに制御器７にも入力される。なお、ｔ０＜ｔ１＜…＜ｔｐ＜ｔｐ＋１＜…である。
【００７３】
受信信号ａは、ＦＩＦＯメモリ１のレジスタ（１−１）〜（１−ｎ）に順次蓄積される。本パケット再生回路の動作開始時には、ＦＩＦＯメモリ１に入力される受信信号（入力データ）ａの受信サンプルデータｘ（０）、ｘ（１）、…、ｘ（ｐ）は、一旦所定個数まで蓄積される。
【００７４】
最初に、受信サンプルデータｘ（ｐ）がレジスタ１−１に入力されると、レジスタ１−１はｘ（ｐ）を取り込んで記憶する（ｐは０以上の整数）。同レジスタ１−１の保持値Ｄ１＝ｘ（ｐ）となる。同時に、レジスタ１−２の保持するデータＤ２はＤ２＝ｘ（ｐ−１）となる。レジスタ１−３の保持するデータＤ（３）はＤ３＝ｘ（ｐ−２）となる。以下同様に、受信サンプルデータｘ（ｐ）がレジスタ１−１に入力されたとき、レジスタ１−ｊの保持するデータＤｊは、Ｄｊ＝ｘ（ｐ−｛ｊ−１｝）となる。ｊは自然数である。即ち、受信サンプルデータｘ（ｐ）がレジスタ１−１に入力されると、その他のレジスタ１−ｉは、受信サンプルデータｘ（ｐ）がレジスタ１−１に入力された時点でレジスタ１−（ｉ−１）が保持していたデータを取り込んで保持する。
【００７５】
このようにして、受信サンプルデータｘ（０）、ｘ（１）、…、ｘ（ｐ）、…が、先ず所定個数（蓄積初期値）まで蓄積される。この蓄積初期値には、パケット再生回路の遅延量が充分長くなる個数が設定されている。例えば、通話開始時には、パケット再生回路での遅延量が２００ｍｓ  （初期遅延時間値）となる個数の入力データがＦＩＦＯメモリ１に蓄積される。
【００７６】
そして、入力データが蓄積初期値になると音声再生が開始される（通話開始）。すなわち、遅延量が初期遅延時間値となる個数の入力データがＦＩＦＯメモリ１に蓄積されると、ＦＩＦＯメモリ１の蓄積データは、蓄積順（入力順）に、バッファレジスタ２に出力される。そして、レジスタ１−１は、保持するデータＤ１を乗算器３−１に出力する。レジスタ１−２は、保持するデータＤ２を乗算器３−２に出力する。以下同様に、レジスタ１−ｊは、保持するデータＤｊを対応する乗算器３−ｊに出力する。こうして、レジスタ（１−ｊ）から、１−（ｊ−８）が保持するデータ群が乗算器部へと入力される。加算器４は、乗算器３−１〜３−９それぞれの演算結果の和をとり、送信サンプルデータｙとする。受信サンプルデータｙ（ｑ）は受信信号ｃによりＤ／Ａ変換器５に伝達される。こうして、蓄積された受信データが送信側クロックｄに同期した制御信号ｂに応答しながら積和演算器１０によって順に送信信号ｃに変換される。
【００７７】
実施例では、上述変換過程での遅延量が制御される。まず、変換動作開始時には遅延時間が、微小ずつ連続的に短くなるように制御される。そして、予め設定した最小遅延時間値（  例えば４０ｍｓ）  に到達したら固定される。以降の変動に対しては、最小遅延時間を維持するように制御される。
【００７８】
まず、通話開始時には、（受信データ数−最小蓄積データ数）＞  送信データ数であるから、微少に（例えば、遅延分解能を１／２５６  サンプル分）遅延時間を減らしていき、最小遅延時間に戻るまで可変させる。そして遅延時間が最小遅延時間になると固定値Ａ＝（０，  ０，  ０，  ０，  １，  ０，  ０，  ０，  ０）  の５サンプルディレイとなる（定常状態）。この間、送信サンプルデータｙ（ｎ）、ｙ（ｎ＋１）、…は連続的に変化することになる。受信サンプルデータｘ（ｍ）、ｘ（ｍ＋１）…、及び、送信サンプルデータｙ（ｎ）、ｙ（ｎ＋１）、…がデジタル音声信号である場合、Ｄ／Ａ変換器５により再生される音声信号ｅは、不連続になることがない。
【００７９】
そして、定常状態になった後、（受信データ数−最小蓄積データ数）＜  送信データ数、となった場合（ＦＩＲ演算出力しようとした際に、１サンプル分データが少なかった場合）  には、
（１．）δ＝  πとする。Ａ＝（０，  ０，  ０，  ０，  ０，  １，  ０，  ０，  ０）
ａ３のみが１で他は０  となるので、ＦＩＲ  ９次の出力は、５サンプルディレイから４サンプルデイレイに変わる（  出力ポインタが−１されたのと同様の効果）  。
【００８０】
（２．）その後、微少に遅延時間を増やしていき、最小遅延時間に戻るまで可変させる。例えば、遅延分解能を１／２５６  サンブルとしておけば、２５６  サンプル時間経過後に、固定値Ａ  ＝（０，  ０，  ０，  ０，  １，  ０，  ０，  ０，  ０）の５サンプルディレイに戻る。この間、送信サンプルデータｙ（ｎ）、ｙ（ｎ＋１）、…は連続的に変化することになり、Ｄ／Ａ変換器５により再生される音声信号ｅは、不連続にならない。
【００８１】
また、定常状態になった後に、（受信データ数−最小蓄積データ数）＞  送信データ数、となった場合  （ＦＩＲ演算出力しようとした際に、１サンプル分以上データが多く来ていた場合）  には、
（１．）δ＝−πとする。Ａ＝（０，  ０，  ０，  １，  ０，  ０，  ０，  ０，  ０）
ａ５のみが１で他は０となるので、ＦＩＲ  ９次の出力は、５サンプルディレイから６サンプルデイレイに変わる（  出力ポインタが＋１されたのと同様の効果）  。
【００８２】
（２．）その後、微少に遅延時間を減らしていき、最小遅延時間に戻るまで可変させる。例えば、遅延分解能を１／２５６  サンプルとしておけば、２５６  サンプル時間（サンプル周期×２５６  ）経過後に、固定値Ａ＝（０，  ０，  ０，  ０，  １，  ０，  ０，  ０，  ０）  の５サンプルディレイに戻る。この間、送信サンプルデータｙ（ｎ）、ｙ（ｎ＋１）、…は連続的に変化し、Ｄ／Ａ変換器５により再生される音声信号ｅは、不連続にならない。
【００８３】
積和演算器１０から出力される送信信号ｃは、Ｄ／Ａ変換器５に入力される。Ｄ／Ａ変換器５には、更に、送信側クロック信号ｄが入力されている。Ｄ／Ａ変換器５は送信側クロック信号ｄに応答して送信信号ｃを処理する。
【００８４】
Ｄ／Ａ変換器５は、図６に示すように、クロックパルスＰ０がＤ／Ａ変換器５に入力されると、送信信号ｃに含まれる送信サンプルデータｙ（０）を取り込む。同様に、クロックパルスＰｑ（ｑは０以上の任意の整数）がＤ／Ａ変換器５に入力されると、Ｄ／Ａ変換器５は、送信サンプルデータｙ（ｑ）を取り込む。このようにＤ／Ａ変換器５は、一のクロックパルスが入力されるごとに一の送信サンプルデータｙを受信する。
【００８５】
Ｄ／Ａ変換器５は、取り込んだ送信サンプルデータｙ（ｑ）からアナログ音声信号ｅを生成して、このアナログ音声信号ｅをスピーカ６に出力する。スピーカ６は、アナログ音声信号ｅに応答して音声を出力する。
【００８６】
なお、この種回路では、送信側端末のサンプリング周波数と、受信側端末のサンプリング周波数が微小に異なる場合に生じる不都合が生じる。このような場合には、カウンタ８に入力される受信サンプルデータｘ（ｐ）の数とカウンタ８に入力される送信側クロック信号ｄに含まれるクロックパルスＰｑの数とが常時異なることになり、データの不連続が生じる。実施例回路は、上述した動作によってこの不都合を回避することができる。
【００８７】
このとき、カウンタ８に入力される受信サンプルデータｘ（ｐ）の数とカウンタ８に入力される送信側クロック信号ｄに含まれるクロックパルスＰｑの数との差が１となるのに要するクロックパルスＰｑの数をｎＰとする。本実施例のパケット再生回路は、ｎＰ＞１／Δｘである限り、受信する送信サンプルデータｙ（ｎ）、ｙ（ｎ＋１）、…を連続的に変化させる。
【００８８】
例えば、１６ｋＨｚのサンプリング周波数で送受信を行おうとする場合に、送信側端末のサンプリング周波数と受信側端末のサンプリング周波数とで、４Ｈｚの差が生じたとする。受信側端末が約４００回受信しようとする毎に、送信側端末が送信する送信サンプルデータの数と、受信側端末が受信しようとする受信サンプルデータの数との差が１だけ異なることになる。このとき、４００＞（１／Δｘ）、即ち、Δｘ＞０．００２５である限り、本実施例のパケット再生回路は、送信サンプルデータｙ（ｎ）、ｙ（ｎ＋１）、…を連続的に変化させることができる。
【００８９】
これは、実施例のパケット再生回路の再生クロックと、送信側装置の基準クロックとに差があっても、再生音声に顕著な不連続性は現れないことを意味する。Δｘは、ｎＰ＞１／Δｘの条件を満たす範囲内で、なるべく小さいことが望まれる。送信サンプルデータｙ（ｎ）、ｙ（ｎ＋１）、…をより連続的に変化することができるからである。具体的には、１６ｋＨｚのサンプリング周波数で送受信を行うデジタル音声通信においては、（１／Δｘ）が２５６程度であることが望ましい。
【００９０】
実施例によれば、上述したような構成と制御を用いることで、パケットの到達揺らぎによる音声波形不連続のノイズ音や音声途切れを出すことなく、且つ、最小遅延時間での声再生が可能となる。
【００９１】
なお、実施例ではデジタル音声信号の信号受信回路として使用されているが、本発明はデジタル音声信号以外の信号受信回路として使用されることも可能である。例えば、非同期の通信端末間でのデジタル映像信号の信号受信回路として適用することが可能である。
【００９２】
また、以上の説明では、受信側端末の再生装置を説明したが、同様の技術をネットワークの中継装置に応用することができる。この場合にも、当該装置へのパケットの到達揺らぎを吸収し、且つ、最小遅延時間でのデータセル伝送が可能となる。
【００９３】
本発明の信号受信回路は、送信された信号を完全に再生する必要はないが、信号波形の連続性及び時間軸の連続性を要求されるような信号の信号受信回路として使用して好適である。
【００９４】
【発明の効果】
本発明によれば、パケット受信回路において以上のような構成と制御を用いることにより、パケットの到達揺らぎによる音声波形不連続のノイズ音や音声途切れを出すことなく、且つ、最小遅延時間での声再生が可能となる。
また、遅延時間変更時には、単純な１サンプルの挿抜ではなく、微少遅延（１／２５６サンプル）  単位の可変が可能であるため、音声波形の連続性が保たれ、データ不連続によるノイズを発生するようなことがない。
【図面の簡単な説明】
【図１】本発明の一実施例の音声パケット再生回路の要部を示すブロック図である。
【図２】本発明に用いているデジタルＦＩＲ  フィルタのインパルス応答係数（ｓｉｎｃ関数）を示す説明図である。
【図３】本発明に用いているデジタルＦＩＲ  フィルタ係数の変動周波数特性を示す図である。
【図４】本発明に用いているデジタルＦＩＲ  フィルタのインパルス応答係数（ｓｉｎｃ関数）を示す説明図である。
【図５】本発明に用いているデジタルＦＩＲ  フィルタのインパルス応答係数（ｓｉｎｃ関数）を示す説明図である。
【図６】受信サンプルデータｘ（ｐ）、クロックパルスＰ０、送信サンプルデータｙ（ｑ）を示す図である。
【図７】本発明に係る通信システムの一例を示す概略ブロック図である。
【図８】従来の音声パケットの再生側装置におけるＦＩＦＯメモリの動作を説明する図である。
【符号の説明】
１…ＦＩＦＯメモリ
１−１〜１−ｎ…レジスタ
２…バッファレジスタ
３…乗算器部
３−１〜３−９…乗算器
４…加算器
５…Ｄ／Ａ変換器
６…スピーカ
７…制御器
８…カウンタ
９…制御信号出力部
１０…積和演算器
ａ…受信信号
ｃ…送信信号
【図１】
0003633542.tif 000005
【図２】
0003633542.tif 000006
【図３】
0003633542.tif 000007
【図４】
0003633542.tif 000008
【図５】
0003633542.tif 000009
【図６】
0003633542.tif 000010
【図７】
0003633542.tif 000011
【図８】
0003633542.tif 000012