(57)【特許請求の範囲】
【請求項１】
標本化された入力信号をさらにサブサンプリングした後の信号の標本点位置を示す入力信号上の位置を予め定めてリストにした出力標本点リストと、前記出力標本点リストに含まれる複数の出力標本点のうち、注目する出力標本点を識別する注目インデックスと、に基づいて、前記サブサンプリング時に前記入力信号に適用するタップ係数を生成する間引きフィルタであって、
前記注目する出力標本点近傍に存在する複数の前記出力標本点を順次選択するための計数値を生成する第１計数手段と、
前記第１計数手段で生成された前記計数値に基づき、隣接する２つの出力標本点を選択すると共に、選択した前記２つの出力標本点間を区分として、この区分内に存在する整数値を時間方向に正規化して正規化座標を生成する第２計数手段と、
前記第２計数手段で生成された前記正規化座標を、等間隔でのサブサンプリングに用いられるインパルス応答関数に代入し、その関数値を得る関数値生成手段と、
前記区分に応じて前記関数値生成手段で得られた前記関数値に前記２つの出力標本点間の距離の逆数を乗算して前記区分ごとのタップ係数を生成する区分タップ係数生成手段と、
前記整数値の時系列にしたがって、前記区分ごとのタップ係数を整列させたタップ係数リストを、前記サブサンプリング時に前記入力信号に適用するタップ係数として生成するタップ係数生成手段と、
を備えることを特徴とする間引きフィルタ。
【請求項２】
標本化された入力信号をさらにサブサンプリングした後の信号の標本点位置を示す出力標本点とこれに隣接する出力標本点間を区分として、この区分ごとに、等間隔のサブサンプリングに用いられるインパルス応答関数を、前記隣接する出力標本点間の間隔に応じてスケーリングし、前記区分ごとに、当該スケーリングされたインパルス応答関数に対応したタップ係数を生成するスケーリング手段と、前記区分ごとのタップ係数を整列させることで、前記サブサンプリング時に前記入力信号に適用するタップ係数を生成するタップ係数生成手段と、を備えることを特徴とする間引きフィルタ。
【請求項３】
前記インパルス応答関数として、ｓｉｎｃ関数または定義域を限ったｓｉｎｃ関数を用いることを特徴とする請求項１または請求項２に記載の間引きフィルタ。
【請求項４】
前記インパルス応答関数として、２つのｓｉｎｃ関数の積または定義域を限った２つのｓｉｎｃ関数の積を用いることを特徴とする請求項１または請求項２に記載の間引きフィルタ。
【請求項５】
標本化された入力信号をさらにサブサンプリングした後の信号の標本点位置を示す入力信号上の位置を予め定めてリストにした出力標本点リストと、前記出力標本点リストに含まれる複数の出力標本点のうち、注目する出力標本点を識別する注目インデックスと、に基づいて、前記サブサンプリング時に前記入力信号に適用するタップ係数を生成するために、
コンピュータを、
前記注目する出力標本点近傍に存在する複数の前記出力標本点を順次選択するための計数値を生成する第１計数手段、
前記第１計数手段で生成された前記計数値に基づき、隣接する２つの出力標本点を選択すると共に、選択した前記２つの出力標本点間を区分として、この区分内に存在する整数値を時間方向に正規化して正規化座標を生成する第２計数手段、
前記第２計数手段で生成された前記正規化座標を、等間隔でのサブサンプリングに用いられるインパルス応答関数に代入し、その関数値を得る関数値生成手段、
前記区分に応じて前記関数値生成手段で得られた前記関数値に前記２つの出力標本点間の距離の逆数を乗算して前記区分ごとのタップ係数を生成する区分タップ係数生成手段と、
前記整数値の時系列にしたがって、前記区分ごとのタップ係数を整列させたタップ係数リストを、前記サブサンプリング時に前記入力信号に適用するタップ係数として生成するタップ係数生成手段、
として機能させるための間引きプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号の標本化に先立って適用する間引きフィルタであって、特に標本化の間隔が不均一である場合にも適用可能なデジタル処理による間引きフィルタおよび間引きプログラムに関する。
【背景技術】
【０００２】
従来、アナログ信号を標本化したり、すでに標本化されている信号をより粗い標本化間隔でさらに標本化（サブサンプリング）したりする場合、ナイキスト周波数を超える入力信号のスペクトルが折り返して折り返し歪みが生じることを軽減する目的で、標本化の前に間引きフィルタ（デシメーションフィルタ）を適用することが行われている。
【０００３】
あらゆる信号入力に対して折り返し歪みを完全に抑制するためには、間引きフィルタは、標本化周波数の１／２を超える周波数を遮断する低域通過フィルタである必要がある。一方、標本化後の信号の劣化を抑えるためには、間引きフィルタは、標本化周波数の１／２以下の周波数については、振幅ゲインが１であり、位相が不変であることが望ましい。これらの条件を理想的に満足する間引きフィルタは、理想低域通過フィルタと呼ばれる。
【０００４】
従来の間引きフィルタは、理想低域通過フィルタを近似するよう、アナログ電子回路（例えば、ＬＣ共振回路）で構成されたり、遅延器や乗算器、加算器などからなるデジタル回路（デジタルフィルタ）や、計算機やＡＬＵ（Arithmetic Logic Unit）を用いたデジタルフィルタで構成されたりしている。とくにデジタルフィルタで構成された間引きフィルタでは、理想低域通過フィルタのインパルス応答（ｓｉｎｃ関数）を有限長で打ち切ったタップ係数を有する間引きフィルタがよく用いられる。
【０００５】
従来の間引きフィルタとしては、例えば特許文献１から４に示されるように演算装置のアーキテクチャに関して工夫したものが知られている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特表平７−５００４６１号公報
【特許文献２】特開平６−２４４７３３号公報
【特許文献３】特開平２−１４０００９号公報
【特許文献４】特開２００１−７７６６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
このような従来の間引きフィルタは、サブサンプリングが等間隔でなされることを前提としている。このため、従来の間引きフィルタを用いて不等間隔のサブサンプリングを行うと、標本化間隔が狭い箇所においては高域が必要以上に失われて劣化（ぼけ）が生じる一方、標本化間隔が広い箇所においては折り返し歪みが生じ、信号の品質が劣化してしまう。また、局所的にぼけや折り返しが現れてしまうため、信号全体として均質性が損なわれてしまう。このような信号の品質の劣化は、例えば画像信号においては、むらとして認知され、音声信号においては断続的あるいは周波数の変化するビートとして認知される。
【０００８】
そこで、本発明は、不等間隔のサブサンプリングを行う場合にも適用可能な間引きフィルタおよび間引きプログラムを提供することを課題とする。
【課題を解決するための手段】
【０００９】
前記課題を解決した請求項１に係る間引きフィルタは、標本化された入力信号をさらにサブサンプリング時に前記入力信号に適用するタップ係数を生成するために、サブサンプリングした後の信号の標本点位置を示す入力信号上の位置を予め定めてリストにした出力標本点リストと、前記出力標本点リストに含まれる複数の出力標本点のうち、出力標本点を識別する注目インデックスと、に基づいて、前記入力標本点に対するタップ係数を生成するものであり、第１計数手段と、第２計数手段と、関数値生成手段と、区分タップ係数生成手段と、タップ係数生成手段と、を備えることを特徴とする。
【００１０】
かかる構成によれば、間引きフィルタは、第１計数手段によって、注目する出力標本点近傍に存在する複数の出力標本点を順次選択するための計数値を生成する。
また、間引きフィルタは、第２計数手段によって、第１計数手段で生成された計数値に基づき、隣接する２つの出力標本点を選択すると共に、選択した２つの出力標本点間を区分として、この区分内に存在する整数値を時間方向に正規化して正規化座標を生成する。
【００１１】
さらに、間引きフィルタは、関数値生成手段によって、第２計数手段で生成された正規化座標を、等間隔でのサブサンプリングに用いられるインパルス応答関数に代入し、その関数値を得る。なお、等間隔でのサブサンプリングとは、例えば、入力信号の一定区間であるフレームを複数のブロックに分割してブロックごとに同一の標本化間隔でサブサンプリングを行うものであってもよい。
【００１２】
そして、間引きフィルタは、区分タップ係数生成手段によって、区分に応じて関数値生成手段で生成された関数値に２つの出力標本点間の距離の逆数を乗算して区分ごとのタップ係数を生成する。つまり、等間隔のサブサンプリングに用いられるインパルス応答波形を、区分ごとに、隣接する出力標本点間の間隔に対応させて伸縮させることで、区分ごとの間隔が異なる場合であっても、それぞれの間隔に応じた適正なタップ係数を生成することができる。
【００１３】
そして、間引きフィルタは、タップ係数生成手段によって、整数値の時系列にしたがって、区分ごとのタップ係数を整列させたタップ係数リストを生成する。これにより、標本化の間隔が等間隔および不等間隔のいずれの場合であっても、タップ係数リストに基づいてサブサンプリング装置でサブサンプリングを行うことができる。
【００１４】
また、請求項２に記載の間引きフィルタは、標本化された入力信号をさらにサブサンプリングした後の信号の標本点位置を示す出力標本点とこれに隣接する出力標本点間を区分として、この区分ごとに、等間隔のサブサンプリングに用いられるインパルス応答波形を、前記隣接する出力標本点間の間隔に応じてスケーリングを行い、前記区分ごとに、当該スケーリングされたインパルス応答波形に対応したタップ係数を生成するスケーリング手段と、前記区分ごとのタップ係数を整列させることで、前記サブサンプリング時に前記入力信号に適用するタップ係数を生成するタップ係数生成手段と、を備えることを特徴とする。
【００１５】
かかる構成によれば、間引きフィルタは、入力信号の標本点である入力標本点をサブサンプリングするために用いられる標本点位置となる隣接する出力標本点間を区分として、この区分ごとに、等間隔のサブサンプリングに用いられるインパルス応答波形を、隣接する出力標本点間の間隔に応じてスケーリングを行うことで、インパルス応答波形を区分ごとに出力標本点間の間隔に対応させることができる。
【００１６】
これによれば、等間隔でサブサンプリングを行う場合、従来と同様の間引きフィルタとしての動作を得ることができ、一方、不等間隔でサブサンプリングを行う場合、標本点の粗密に応じた加重を行うことができる。
【００１７】
また、請求項３に係る間引きフィルタは、請求項１または請求項２に記載の間引きフィルタにおいて、前記インパルス応答関数として、ｓｉｎｃ関数または定義域を限ったｓｉｎｃ関数を用いることを特徴とする。
かかる構成によれば、間引きフィルタは、等間隔のサブサンプリングを行う場合、入力信号のナイキスト周波数を超える周波数成分の折り返しを抑制することができる。さらに、間引きフィルタは、不等間隔のサブサンプリングを行う場合、近似的な折り返しを抑制することができる。
【００１８】
また、請求項４に係る間引きフィルタは、請求項１または請求項２に記載の間引きフィルタにおいて、前記インパルス応答関数として、２つのｓｉｎｃ関数の積または定義域を限った２つのｓｉｎｃ関数の積を用いることを特徴とする。
かかる構成によれば、間引きフィルタは、等間隔のサブサンプリングを行う場合、入力信号のナイキスト周波数を超える周波数成分の折り返しを抑制することができる。さらに、間引きフィルタは、不等間隔のサブサンプリングを行う場合、近似的な折り返しを抑制することができる。
【００１９】
また、請求項５に記載の間引きプログラムは、標本化された入力信号をさらにサブサンプリングした後の信号の標本点位置を示す入力信号上の位置を予め定めてリストにした出力標本点リストと、前記出力標本点リストに含まれる複数の出力標本点のうち、注目する出力標本点を識別する注目インデックスと、に基づいて、前記サブサンプリング時に前記入力信号に適用するタップ係数を生成するために、コンピュータを、関数値生成手段、第１計数手段、第２計数手段、区分タップ係数生成手段、タップ係数生成手段、として機能させる構成とした。
【００２０】
かかる構成によれば、間引きプログラムは、第１計数手段によって、注目する出力標本点近傍に存在する複数の出力標本点を順次選択するための計数値を生成する。
また、間引きプログラムは、第２計数手段によって、第１計数手段で生成された計数値に基づき、隣接する２つの出力標本点を選択すると共に、選択した２つの出力標本点間を区分として、この区分内に存在する整数値を時間方向に正規化して正規化座標を生成する。
【００２１】
また、間引きプログラムは、関数値生成手段によって、第２係数手段で生成された正規化座標を、等間隔でのサブサンプリングに用いられるインパルス応答関数に代入し、関数値を生成する。
そして、間引きプログラムは、区分タップ係数生成手段によって、区分に応じて関数値生成手段で生成された関数値に２つの出力標本点間の距離の逆数を乗算して区分ごとのタップ係数を生成する。
【００２２】
そして、間引きプログラムは、タップ係数生成手段によって、整数値の時系列にしたがって、区分ごとのタップ係数を整列させたタップ係数リストを生成することで、前記サブサンプリング時に前記入力信号に適用するタップ係数を生成する。
【発明の効果】
【００２３】
請求項１、２および５に記載の発明によれば、サブサンプリングの間隔が不均一の場合でもこれに応じた適正なタップ係数を得ることが可能となるので、その後サブサンプリングを行ったときの信号の品質の劣化を防止することができる。さらに、区分ごとに生成したタップ係数を、順次生成される整数値の時系列にしたがって整列させるという簡素な手法により、サブサンプリングの間隔が等間隔および不等間隔のいずれの場合であっても入力信号の性質に応じた適正なタップ係数の生成を実現することができるので、構成が簡素となり、安価となる。
【００２４】
請求項３および４に記載の発明によれば、サブサンプリングの間隔が等間隔および不等間隔のいずれの場合であっても、折り返しを抑制することが可能となり、その後サブサンプリングを行ったときの信号の品質の劣化を防止することができる。
【図面の簡単な説明】
【００２５】
【図１】本発明の実施形態に係る間引きフィルタの概要を説明するための図であり、（ａ）は、等間隔でサブサンプリングを行うときの間引きフィルタのインパルス応答関数を模式的に示すものであり、（ｂ）は、不等間隔でサブサンプリングを行うときの間引きフィルタのインパルス応答関数を模式的に示すものである。
【図２】本発明の実施形態に係る間引きフィルタの構成を示すブロック図である。
【図３】本発明の実施形態に係る間引きフィルタでタップ係数を生成する様子を説明する図であり、（ａ）は、タップ係数を生成するときに用いる基本関数、（ｂ）は、等間隔のサブサンプリングを行うときに間引きフィルタで用いられるインパルス応答関数、（ｃ）は、等間隔のサブサンプリングを行うときに間引きフィルタで用いられるインパルス応答関数を示すものである。
【図４】本発明の実施形態に係る間引きフィルタの動作を示すフローチャートである。
【図５】本発明の実施形態に係る間引きフィルタを適用した任意間隔のサブサンプリング装置の構成を示すブロック図である。
【図６】サブサンプリング装置の動作を示すフローチャートである。
【発明を実施するための形態】
【００２６】
［間引きフィルタの概要］
以下、本発明の実施形態について説明する。
間引きフィルタは、例えば図５に示すサブサンプリング装置Ｓに適用され、すでに標本化された入力信号ｚに対し、さらに標本化（サブサンプリング）を施す際に、このサブサンプリング前に適用されるものである。なお、サブサンプリング装置Ｓについては後記する。
【００２７】
次に、図１を参照して本実施形態に係る間引きフィルタの概要を説明する。
以下、入力信号の標本点を入力標本点と呼ぶ。また、入力標本点で標本化された入力信号のサブサンプリング用に予め定めた標本点位置群を「出力標本点リスト」と呼ぶ。
後記するサブサンプリング装置では、各標本点位置の標本値（各出力標本点の標本値）を出力信号値として求める。つまり、サブサンプリング用に予め定めた標本点位置（出力標本点）とは、後記するサブサンプリング装置において、標本化された入力信号をさらに標本化する位置を示すものである。
本実施形態における間引きフィルタ１は、後記するサブサンプリング装置において、各出力標本点の標本値を求めるために、各出力標本点用のタップ係数を求めるものである。
なお、出力標本点の間隔は、等間隔であってもよいし、不等間隔であってもよい。出力標本点間の最小間隔は、入力標本点（図示せず）の間隔よりも狭くないことが好ましい。
本実施形態に係る間引きフィルタ１は、出力標本点リスト（ｙｉ）ｉ＝０，１，…，Ｎ−１（Ｎは自然数）のうち、注目するｎ番目（ｎは０以上Ｎ−１以下の整数。）の出力標本点Ｐ１用のタップ係数を以下の手順で求める。
（１）ｎ番目の出力標本点Ｐ１近傍の出力標本点を、後記するインデックスｋに基づいて順次選択する。
（２）順次選択された出力標本点とその隣の出力標本点の間を区分として、その区分ごとにタップ係数を求める。
（３）区分ごとに求められたタップ係数を時系列にしたがって整列させたもの（以下、「タップ係数の接続」と呼ぶ）を間引きフィルタ１のタップ係数（出力標本点Ｐ１用のタップ係数）とする。
つまり、「出力標本点Ｐ１用のタップ係数」とは、後記するサブサンプリング装置２において、出力標本点Ｐ１における標本値を求めるために、サブサンプリング前に間引きフィルタ１で生成されるものである。
【００２８】
図１（ａ）の曲線（インパルス応答関数）を隣接する出力標本点間に存在する整数値の位置で標本化した値が、出力標本点の間隔が均一（等間隔）な場合に間引きフィルタ１で生成されるタップ係数であり、（0ｂ）の曲線（インパルス応答関数）を隣接する出力標本点間に存在する整数値の位置で標本化した値が、出力標本点の間隔が不均一な場合に間引きフィルタ１で生成されるタップ係数である。詳しくは後記する。
つまり、本実施形態に係る間引きフィルタ１は、隣接する出力標本点間を区分とし、この区分ごとにタップ係数を求めるようになっているので、出力標本点の間隔が均一な場合のみならず、不均一な場合も、それぞれの間隔に応じた適正なタップ係数を求めることができる。このように、本実施形態に係る間引きフィルタ１は、入力信号の性質に合わせて、適正なサブサンプリングを行うことを可能としている。なお、従来の間引きフィルタは、出力標本点の間隔が等間隔の場合（図１（ａ）に示す状態）しか、注目する出力標本点のタップ係数を生成することができなかった。
【００２９】
［間引きフィルタの構成］
次に、本実施形態に係る間引きフィルタ１の構成について図２を参照して説明する。
間引きフィルタ１は、図２に示すように、第１計数手段１０と、第２計数手段２０と、関数値生成手段３０と、区分タップ係数生成手段４０と、タップ係数生成手段５０と、を備えている。
【００３０】
第１計数手段１０（スケーリング手段）は、−Ｗ以上Ｗ−１以下の整数を順次昇順あるいは降順としたインデックスｋ（計数値）を生成するものである。このインデックスｋは、注目する出力標本点Ｐ１の近傍の出力標本点のうち、注目する出力標本点Ｐ１のタップ係数を求めるのに使用する出力標本点の範囲を定めるものである。ここで、Ｗは、間引きフィルタ１の基本関数の定義域を決定する自然数であり、Ｗが大きいほどフィルタ特性は向上するが、演算量は増大することになる。言い換えれば、Ｗは、注目する出力標本点Ｐ１のタップ係数を求めるときに、その前後の出力標本点をいくつ用いるかという範囲を定めるものである。ここでは、第１計数手段１０が予め設定された定義域を持っていることとし、Ｗ＝３として説明する。
【００３１】
したがって、間引きフィルタ１は、注目する出力標本点Ｐ１をｎ番目の出力標本点ｙｎとしたときに、ｎ−３番目の出力標本点ｙｎ−３、ｎ−２番目の出力標本点ｙｎ−２、ｎ−１番目の出力標本点ｙｎ−１、ｎ番目の出力標本点ｙｎ、ｎ＋１番目の出力標本点ｙｎ＋１、ｎ＋２番目の出力標本点ｙｎ＋２を用いて、ｎ番目の出力標本点ｙｎのタップ係数を求めることになる。第１計数手段１０によって生成されたインデックスｋは、第２計数手段２０に出力される。
【００３２】
第２計数手段２０（スケーリング手段）は、第１計数手段１０で生成されたインデックスｋに基づき、隣接する２つの出力標本点を選択すると共に、選択した２つの出力標本点間を区分として、この区分内の整数値を順次生成し、さらに、この整数値を時間方向に正規化して正規化座標を生成するものである。第２計数手段２０は、出力標本点選択手段２１と、整数値生成手段２２と、正規化座標計算手段２３と、正規化係数計算手段２４と、を備えている。
【００３３】
出力標本点選択手段２１は、タップ係数ｈ（ｘ）を生成する区分を決定するものである。出力標本点選択手段２１は、第１計数手段１０で生成されたインデックスｋが入力されると、外部から入力された出力標本点リスト（ｙｉ）ｉ＝０，１，…，Ｎ−１の中から、注目するｎ＋ｋ番目の出力標本点ｙｎ＋ｋおよび出力標本点ｙｎ＋ｋに隣接するｎ＋ｋ＋１番目の出力標本点ｙｎ＋ｋ＋１を選択するようになっている。この出力標本点ｙｎ＋ｋおよび出力標本点ｙｎ＋ｋ＋１間を区分とする。
出力標本点選択手段２１は、選択した出力標本点ｙｎ＋ｋおよびｙｎ＋ｋ＋１を整数値生成手段２２に出力する。
【００３４】
整数値生成手段２２は、出力標本点選択手段２１によって選択された区分内で、ｙｎ＋ｋ＜ｘ≦ｙｎ＋ｋ＋１を満たす整数値として順次生成するものである。
【００３５】
整数値生成手段２２によって生成された整数値ｘは、正規化座標計算手段２３とタップ係数生成手段５０に順次出力される。なお、区分は、ｙｎ＋ｋ＜ｘ≦ｙｎ＋ｋ＋１に代えて、ｙｎ＋ｋ≦ｘ＜ｙｎ＋ｋ＋１としてもよいし、基本関数ｆが各区分ｋの両端において値０をとる場合、ｙｎ＋ｋ＜ｘ＜ｙｎ＋ｋ＋１としてもよい。
【００３６】
正規化座標計算手段２３は、基本関数ｆ（ｘ）を時間方向に伸縮させる基準となる正規化座標ｖを演算するものである。正規化座標計算手段２３は、区分ごとに標本点位置生成手段２２によって順次生成される整数値ｘを、次に示す（１）式で変換することで、整数値ｘを、２つの出力標本点ｙｎ＋ｋおよびｙｎ＋ｋ＋１間の間隔に合わせてｋ〜ｋ＋１の間で正規化する演算を行い、正規化座標ｖを得る。
【００３７】
【数１】
0005624701.tif 000002
【００３８】
正規化座標計算手段２３によって演算された正規化座標ｖは、関数値生成手段３０に出力される。
【００３９】
正規化係数計算手段２４は、基本関数ｆ（ｘ）の区分ごとの振幅値を、ｘ方向の伸縮比に合わせて正規化するための正規化係数ａを演算するものである。正規化係数計算手段２４は、次の（２）式に示すように、出力標本点選択手段２１によって選択された２つの出力標本点ｙｎ＋ｋおよびｙｎ＋ｋ＋１間の距離、つまり、区分における基本関数ｆ（ｘ）の時間方向の伸縮比の逆数を計算し、基本関数ｆ（ｘ）を振幅方向に伸縮させる基準となる正規化係数ａを得る。
【００４０】
【数２】
0005624701.tif 000003
【００４１】
正規化係数計算手段２４によって計算された正規化係数ａは、区分タップ係数生成手段４０に出力される。
【００４２】
なお、仮に、選択した２つの出力標本点ｙｎ＋ｋおよびｙｎ＋ｋ＋１間に、ｙｎ−１＜ｘ≦ｙｎ＋１を満たす整数値が存在しない場合、整数値生成手段２２は、次の（３）式に示す数値を１回だけ正規化座標計算手段２３とタップ係数生成手段５０に出力する。
【００４３】
【数３】
0005624701.tif 000004
【００４４】
ここで、関数Ｒ（ｙ）は、引数ｙを整数に丸める演算であり、四捨五入、小数点以下切捨て、小数点以下切り上げなど、任意の丸めによることができる。例えば、出力標本点選択手段２１によって選択された出力標本点ｙｎ＋ｋと出力標本点ｙｎ＋ｋ＋１との間に整数値が存在しない場合、区分外で最も近い位置にある整数値を、正規化座標計算手段２３とタップ係数生成手段５０に出力する。
【００４５】
関数値生成手段３０（スケーリング手段）は、正規化座標計算手段２３から入力された正規化座標ｖを基本関数ｆ（ｘ）に代入して関数値ｆ（ｖ）を得るものである。なお、関数値生成手段３０は、基本関数ｆ（ｘ）を予め持っていてもよいし、正規化座標計算手段２３から正規化座標ｖが入力された時点で生成してもよい。
【００４６】
ここで、基本関数ｆ（ｘ）とは、出力標本点の間隔が“１”の等間隔標本化を行う際に適用されるべき間引きフィルタのインパルス応答である。基本関数ｆ（ｘ）の設計は任意であるが、例えば次の（４）式に示すようなｓｉｎｃ関数、または、定義域を限ったｓｉｎｃ関数を用いることができる。
【００４７】
【数４】
0005624701.tif 000005
【００４８】
ここで、ｓｉｎｃ関数は、次の（５）式により定義される。
【００４９】
【数５】
0005624701.tif 000006
【００５０】
前記したように、Ｗ＝３としているので、図３（ａ）では、定義域を−３以上３以下に限ったｓｉｎｃ関数を示している。
【００５１】
また、基本関数ｆ（ｘ）として、例えば次の（６）式に示すように、２つのｓｉｎｃ関数の積、または、定義域を限った２つのｓｉｎｃ関数の積を用いることができる。
【００５２】
【数６】
0005624701.tif 000007
【００５３】
ここで、Ｌは０以外の実数の定数である。例えば、Ｌ＝３とし、定義域を−３以上３以下に限った場合には、等間隔標本化におけるＬａｎｃｚｏｓ−３補間に相当する。また例えば、Ｌ＝４とし、定義域を−４以上４以下に限った場合には、等間隔標本化におけるＬａｎｃｚｏｓ−４補間に相当する。
【００５４】
ここでは、基本関数ｆ（ｘ）を区分［ｋ，ｋ＋１）あるいは（ｋ，ｋ＋１］（ｋは整数。以下、単に「区分ｋ」という。）に分け、区分ｋごとに出力標本点間の間隔に合わせてｘ方向に伸縮し、ｙ方向には、ｘ方向の伸縮比の逆数である正規化係数ａを乗算したものを等間隔で標本化を行う場合に適用される間引きフィルタのインパルス応答ｈ（ｘ）としている。
すなわち、関数値生成手段３０は、間引きフィルタ１のインパルス応答ｈ（ｘ）を次に示す（７）式により定義する。
【００５５】
【数７】
0005624701.tif 000008
【００５６】
このようにして（７）式により求められたインパルス応答波形ｈ（ｘ）を入力信号ｚ（ｘ）に畳み込むことで、間引きフィルタ１としての動作が得られる。
【００５７】
例えば、等間隔のサブサンプリングを行う場合には、図３（ｂ）に示すようなインパルス応答ｈ（ｘ）となる。基本関数ｆ（ｘ）としてｓｉｎｃ関数を用いた場合、インパルス応答ｈ（ｘ）は、係数を途中で打ち切ったｓｉｎｃ関数となるため、等間隔のサブサンプリングを行う場合に用いられる間引きフィルタ１に相当するものとなる。
【００５８】
一方、不等間隔のサブサンプリングを行う場合には、図３（ｃ）に示すようなインパルス応答となり、出力標本点間隔の粗い場所ほど、なだらかなインパルス応答が畳み込まれるようになる。つまり、出力標本点間隔が大きければ大きいほど、基本関数ｆ（ｘ）のインパルス応答波形は、時間方向に伸張し、振幅方向に縮小したものとなる。一方、出力標本点間隔が小さければ小さいほど、基本関数ｆ（ｘ）のインパルス応答波形は、時間方向に縮小し、振幅方向に伸張したものとなる。
【００５９】
このように、間引きフィルタ１では、サブサンプリングの標本化間隔が等間隔の場合も不等間隔の場合も、（７）式一つで対応することができる。つまり、間引きフィルタ１は、等間隔でサブサンプリングを行うときに適用されるべき間引きフィルタとの互換性を保ちつつ、不等間隔でサブサンプリングを行うときにも適用可能となっている。関数値生成手段３０で生成された関数値ｆ（ｖ）は、区分タップ係数生成手段４０に出力される。
【００６０】
区分タップ係数生成手段４０（スケーリング手段）は、整数値生成手段２２によって選択された区分ごとにタップ係数ｈ（ｘ）を生成するものである。
区分タップ係数生成手段４０は、次の（８）式に示すように、正規化係数計算手段２４から入力された正規化係数ａと、関数値生成手段３０から入力されたインパルス応答波形（関数値）ｆ（ｖ）とを乗算して区分ごとのタップ係数ｈ（ｘ）を算出する。
【００６１】
つまり、関数値生成手段３０から入力された区分ごとの関数値ｆ（ｖ）は、基本関数ｆ（ｘ）の対応する区分ごとのｘ方向（時間方向）の伸縮比が反映された結果であるので、区分タップ係数生成手段４０では、正規化係数計算手段２４によって計算された基本関数ｆ（ｘ）の対応する区分ごとのｙ方向（振幅方向）の伸縮比を乗算することで、区分ごとの、基本関数ｆ（ｘ）をｘ方向およびｙ方向に伸縮させる基準となるタップ係数ｈ（ｘ）を生成することができる。区分タップ係数生成手段４０によって生成されたタップ係数ｈ（ｘ）は、タップ係数生成手段５０に順次出力される。
【００６２】
【数８】
0005624701.tif 000009
【００６３】
タップ係数生成手段５０は、順次生成される整数値（ｘ）の時系列にしたがって、区分タップ係数生成手段４０で生成された区分ごとのタップ係数を整列させたタップ係数リスト（［ｘｊ，ｈｊ］）ｊ＝０，１，…，Ｍ−１を生成することにより、入力標本点に対するタップ係数ｈ（ｘ）を生成する。このタップ係数ｈ（ｘ）は、後記するサブサンプリング装置において、入力信号と畳み込まれるべき係数となるものである。
【００６４】
タップ係数生成手段５０は、整数値生成手段２２から順次入力されるＭ個の整数値ｘと、区分タップ係数生成手段４０から順次入力される区分ごとのタップ係数ｈ（ｘ）との対応付けをリスト化することにより、タップ係数リスト（［ｘｊ，ｈｊ］）ｊ＝０，１，…，Ｍ−１を生成している。
タップ係数生成手段５０によって生成されたタップ係数リスト（［ｘｊ，ｈｊ］）ｊ＝０，１，…，Ｍ−１は、外部に出力される。
【００６５】
また、タップ係数生成手段５０は、タップ係数リスト（［ｘｊ，ｈｊ］）ｊ＝０，１，…，Ｍ−１の出力に先立って、区分タップ係数生成手段４０から順次入力される区分ごとのタップ係数ｈ（ｘ）の総和Ｈを算出し、その係数成分（ｈｊ）ｊ＝０，１，…，Ｍ−１をＨで除することにより正規化してからタップ係数リスト（［ｘｊ，ｈｊ］）ｊ＝０，１，…，Ｍ−１を出力するようにしてもよい。
【００６６】
［間引きフィルタの動作］
次に、間引きフィルタ１の動作について図４及び適宜図１〜図３を参照して説明する。
間引きフィルタ１は、第１計数手段１０によって、−Ｗ以上Ｗ−１以下の整数を順次昇順あるいは降順としたインデックスを生成する。間引きフィルタ１は、第１計数手段１０によって、生成したインデックスｋを、第２計数手段２０に出力する（ステップＳ１０１）。
【００６７】
間引きフィルタ１は、第２計数手段２０の出力標本点選択手段２１によって、第１計数手段１０から入力されたインデックスｋと、外部から入力された出力標本点リスト（ｙｉ）ｉ＝０，１，…，Ｎ−１に基づき、ｎ＋ｋ番目およびｎ＋ｋ＋１番目の２つの出力標本点ｙｎ＋ｋおよびｙｎ＋ｋ＋１を選択する（ステップＳ１０２）。
【００６８】
間引きフィルタ１は、第２計数手段２０の整数値生成手段２２によって、出力標本点選択手段２１により選択された２つの出力標本点ｙｎ＋ｋおよびｙｎ＋ｋ＋１間に、ｙｎ＋ｋ＜ｘ≦ｙｎ＋ｋ＋１を満たす整数値が存在するか否かを検索する（ステップＳ１０３）。間引きフィルタ１は、第２計数手段２０の整数値生成手段２２によって、整数値が存在すると判断した場合（ステップＳ１０３においてＹｅｓ）、整数値を正規化座標計算手段２３とタップ係数生成手段５０に順次出力する（ステップＳ１０４）。
【００６９】
一方、間引きフィルタ１は、第２計数手段２０の整数値生成手段２２によって、区分内に、ｙｎ＋ｋ＜ｘ≦ｙｎ＋ｋ＋１を満たす整数値が存在しないと判断した場合（ステップＳ１０３においてＮｏ）、区分外で最も近い位置にある整数値を、正規化座標計算手段２３とタップ係数生成手段５０に1回だけ出力する（ステップＳ１０５）。
【００７０】
間引きフィルタ１は、第２計数手段２０の正規化座標計算手段２３によって、第１計数手段１０から入力された整数値ｘを、前記した（１）式で変換することで、区分ｋごとに出力標本点間の間隔に合わせてｘ方向に伸縮して正規化する演算を行い、正規化座標ｖを得る。正規化座標計算手段２３は、正規化座標ｖを、関数値生成手段３０に出力する（ステップＳ１０６）。
【００７１】
間引きフィルタ１は、第２計数手段２０の正規化係数計算手段２４によって、整数値生成手段２２により選択された２つの出力標本点ｙｎ＋ｋおよびｙｎ＋ｋ＋１に対し、前記した（２）式により、基本関数ｆ（ｘ）の振幅方向（ｙ方向）にｘ方向の伸縮比の逆数を計算し、正規化係数ａを得る。正規化係数計算手段２４は、正規化係数ａを区分タップ係数生成手段４０に出力する（ステップＳ１０７）。
【００７２】
間引きフィルタ１は、関数値生成手段３０によって、第２計数手段２０から入力された正規化座標ｖを基本関数ｆに代入し、関数値ｆ（ｖ）を生成する。関数値生成手段３０は、生成した関数値ｆ（ｖ）を、タップ係数生成手段５０に出力する（ステップＳ１０８）。
【００７３】
間引きフィルタ１は、区分タップ係数生成手段４０によって、正規化係数計算手段２４から入力された正規化係数ａと、関数値生成手段３０から入力されたインパルス応答波形（関数値）ｆ（ｖ）とを乗算して区分ごとのタップ係数ｈ（ｘ）を算出する。区分タップ係数生成手段４０は、算出された区分ごとのタップ係数ｈ（ｘ）を、タップ係数生成手段５０に順次出力する（ステップＳ１０９）。
【００７４】
間引きフィルタ１は、タップ係数生成手段５０によって、整数値生成手段２２から順次入力されるＭ個の整数値ｘと、区分タップ係数生成手段４０から順次入力される区分ごとのタップ係数ｈ（ｘ）との対応付けをリスト化したタップ係数リスト（［ｘｊ，ｈｊ］）ｊ＝０，１，…，Ｍ−１を生成する。間引きフィルタ１は、タップ係数生成手段５０によって、タップ係数リスト（［ｘｊ，ｈｊ］）ｊ＝０，１，…，Ｍ−１を、外部に出力する（ステップＳ１１０）。
【００７５】
以上説明した間引きフィルタ１によれば、次のような効果を得ることができる。
間引きフィルタ１によれば、入力信号を区分に分割し、区分ごとにタップ係数を生成し、区分ごとに生成したタップ係数を整列させることにより、等間隔のサブサンプリングの場合のみならず、不等間隔のサブサンプリングの場合にも適用可能とすることができる。
【００７６】
なお、間引きフィルタ１は、コンピュータを、第１計数手段１０、第２計数手段２０、関数値生成手段３０、区分タップ係数生成手段４０、タップ係数生成手段５０として機能させるための間引きプログラムがＣＰＵ（Central Processing Unit）によって実行されることによって、実現されることとしてもよい。
【００７７】
以上、本発明の一実施形態について説明したが、本発明は、これに限定されず、本発明の趣旨を逸脱しない範囲で変更することができることはもちろんである。
例えば、前記した実施形態では、基本関数の定義域をＷ＝３と定めたが、これに限定されず、定義域を定めないこととしてもよい。
【００７８】
［サブサンプリング装置の概略］
次に、前記した実施形態で説明した間引きフィルタ１を適用したサブサンプリング装置について図５を参照して説明する。
ここで、サブサンプリング装置Ｓは、標本化された入力信号をさらに標本化するものである。サブサンプリング装置Ｓにおける標本化の間隔は、等間隔であってもよいし、不等間隔であってもよい。サブサンプリング装置Ｓにおける標本化の最小間隔は、入力信号の標本化の間隔よりも狭くないことが好ましい。
【００７９】
［サブサンプリング装置の構成］
サブサンプリング装置Ｓは、図５に示すように、間引きフィルタ１と、第３計数手段２と、入力バッファ３と、畳み込み手段４と、出力バッファ５と、を備えている。なお、間引きフィルタ１の構成は、前記した実施形態で説明したとおりであるので、ここでは適宜図１を参照し、詳しい説明を省略する。
【００８０】
第３計数手段２は、複数の出力標本点のうち、注目する出力標本点を識別するためのインデックスｎ（注目インデックス）を生成するものである。生成されたインデックスｎは、間引きフィルタ１に出力される。
【００８１】
間引きフィルタ１は、ここでは、第３計数手段２で生成されたインデックスｎを参照し、タップ係数生成手段５０で生成したタップ係数リスト（［ｘｊ，ｈｊ］）ｊ＝０，１，…，Ｍ−１を、座標成分（ｘｊ）ｊ＝０，１，…，Ｍ−１と、係数成分（ｈｊ）ｊ＝０，１，…，Ｍ−１とに分け、座標成分（ｘｊ）ｊ＝０，１，…，Ｍ−１を入力バッファ３へ、係数成分（ｈｊ）ｊ＝０，１，…，Ｍ−１を畳み込み手段４へそれぞれ出力する機能を有している。
【００８２】
入力バッファ３は、外部から入力された入力信号ｚのうち、サブサンプリングに必要な区分を蓄えておく記憶手段である。
入力バッファ３は、間引きフィルタ１から入力されたタップ係数リスト（［ｘｊ，ｈｊ］）ｊ＝０，１，…，Ｍ−１の座標成分（ｘｊ）ｊ＝０，１，…，Ｍ−１を参照し、各座標における入力信号値を畳み込み手段４に出力する。入力バッファ３から畳み込み手段４に出力される信号列は、（ｚ（ｘｊ））ｊ＝０，１，…，Ｍ−１である。
【００８３】
畳み込み手段４は、入力バッファ３から出力された信号列（ｚ（ｘｊ））ｊ＝０，１，…，Ｍ−１に対し、間引きフィルタ１から入力されたタップ係数リスト（［ｘｊ，ｈｊ］）ｊ＝０，１，…，Ｍ−１の係数成分（ｈｊ）ｊ＝０，１，…，Ｍ−１を畳み込むものである。
【００８４】
なお、間引きフィルタ１により生成されるタップ係数ｈ（ｘ）は、入力信号ｚにおけるある閉区分内の整数値ｘに対して定義されるので、つまり、入力信号ｚに対し、有限のタップ長の畳み込みを行う。以下の説明では、出力されるタップ係数群のタップ長をＭ（Ｍは自然数）とし、ｊ番目（ｊは０以上Ｍ−１以下の整数）のタップ位置をｘｊとし、タップ係数をｈｊとする。
【００８５】
畳み込み手段４は、タップ係数リスト（［ｘｊ，ｈｊ］）ｊ＝０，１，…，Ｍ−１の係数成分（ｈｊ）ｊ＝０，１，…，Ｍ−１が、すでにその総和によって正規化されている場合、次に示す（９）式によって、出力信号値ｓ（ｎ）を正規化する。
【００８６】
【数９】
0005624701.tif 000010
【００８７】
一方、タップ係数リスト（［ｘｊ，ｈｊ］）ｊ＝０，１，…，Ｍ−１の係数成分（ｈｊ）ｊ＝０，１，…，Ｍ−１が正規化されていない場合、畳み込み手段４は、畳み込みに際して、次に示す（１０）式によりタップ係数リスト（［ｘｊ，ｈｊ］）ｊ＝０，１，…，Ｍ−１の係数成分（ｈｊ）ｊ＝０，１，…，Ｍ−１の総和による正規化を行う。
畳み込み手段４による畳み込みの結果は、出力信号値ｓ（ｎ）として出力バッファ５に出力される。
【００８８】
【数１０】
0005624701.tif 000011
【００８９】
出力バッファ５は、第３計数手段２で生成されたインデックスｎに対応したアドレスに出力信号値ｓ（ｎ）を蓄積して記憶する記憶手段であり、出力すべき信号系列を保持するものである。蓄積された出力信号値ｓ（ｎ）は、出力信号ｓとして逐次外部に出力される。
【００９０】
入力バッファ３および出力バッファ５は、例えばＲＡＭ（Random Access Memory）、ハードディスク等によって実現される。
【００９１】
［サブサンプリング装置の動作］
次に、サブサンプリング装置Ｓの動作について図６を参照して説明する。
ステップＳ２０１において、サブサンプリング装置Ｓは、第３計数手段２によって、外部からの操作指令の入力を受け付けると、サブサンプリング数の出力信号の標本点を走査するためのインデックスｎを生成する。そして、サブサンプリング装置Ｓは、第３計数手段２によって、生成したインデックスｎを、間引きフィルタ１に出力する。なお、ステップＳ２０１において、サブサンプリング装置Ｓは、入力バッファ３によって入力信号ｚが入力されると、第３計数手段２によってインデックスｎを生成するようにしてもよい。
【００９２】
ステップＳ２０２において、サブサンプリング装置Ｓは、間引きフィルタ１によって、外部から出力標本点リスト（ｙｉ）ｉ＝０，１，…，Ｎ−１の入力を受け付けると、タップ係数リスト（［ｘｊ，ｈｊ］）ｊ＝０，１，…，Ｍ−１を生成する。
【００９３】
ステップＳ２０３において、サブサンプリング装置Ｓは、間引きフィルタ１によって、生成したタップ係数リスト（［ｘｊ，ｈｊ］）ｊ＝０，１，…，Ｍ−１を座標成分（ｘｊ）ｊ＝０，１，…，Ｍ−１と、係数成分（ｈｊ）ｊ＝０，１，…，Ｍ−１とに分ける。そして、サブサンプリング装置Ｓは、間引きフィルタ１によって、座標成分（ｘｊ）ｊ＝０，１，…，Ｍ−１を入力バッファ３へ出力し、係数成分（ｈｊ）ｊ＝０，１，…，Ｍ−１を畳み込み手段４へ出力する。
【００９４】
ステップＳ２０４において、サブサンプリング装置Ｓは、入力バッファ３によって、間引きフィルタ１から入力された座標成分（ｘｊ）ｊ＝０，１，…，Ｍ−１に基づき、各座標における入力信号値を畳み込み手段４に出力する。
【００９５】
ステップＳ２０５において、サブサンプリング装置Ｓは、畳み込み手段４によって、入力バッファ３から出力された信号列（ｚ（ｘｊ））ｊ＝０，１，…，Ｍ−１に対し、間引きフィルタ１から入力された係数成分（ｈｊ）ｊ＝０，１，…，Ｍ−１を畳み込む。そして、サブサンプリング装置Ｓは、畳み込み手段４によって、畳み込みの結果として出力信号値ｓ（ｎ）を出力バッファ５に出力する。
【００９６】
ステップＳ２０６において、サブサンプリング装置Ｓは、出力バッファ５によって、畳み込み手段４から出力信号値ｓ（ｎ）が入力されると、第３計数手段２から入力された出力標本点のインデックスｎを参照し、インデックスｎに対応する出力信号ｓを外部に出力する。
【００９７】
サブサンプリング装置Ｓは、以上のように動作する。
以上説明したサブサンプリング装置Ｓによれば、任意の標本化間隔で入力信号のサブサンプリングを行うことができる。
【産業上の利用可能性】
【００９８】
本発明に係る間引きフィルタは、例えば、入力信号の局所的な波形の粗密に応じて、適応的な不等間隔の標本化を行う際に用いることで、折り返し歪みの軽減を図ることができる。また例えば、本発明に係る間引きフィルタを画像の水平および垂直方向に逐次適用することで、画像のワーピングやモーフィングにおける折り返し歪み防止のフィルタとして利用することも可能である。
【符号の説明】
【００９９】
１      間引きフィルタ
１０      第１計数手段（スケーリング手段）
２０      第２計数手段（スケーリング手段）
３０      関数値生成手段（スケーリング手段）
４０      区分タップ係数生成手段（スケーリング手段）
５０      タップ係数生成手段
Ｓ      サブサンプリング装置
２      第３計数手段
３      入力バッファ
４      畳み込み手段
５      出力バッファ
【図１】
0005624701.tif 000012
【図２】
0005624701.tif 000013
【図３】
0005624701.tif 000014
【図４】
0005624701.tif 000015
【図５】
0005624701.tif 000016
【図６】
0005624701.tif 000017