(57)【特許請求の範囲】
【請求項１】
入力データに所定の係数を乗じて出力する複数の乗算器と、この複数の乗算器の出力を加算して出力する加算器とを備えるフィルタ演算装置において、
前記入力データが直流分であることを検出する直流検出手段と、
前記直流検出手段によって前記入力データが直流分であることが検出されたら、前記乗算器に入力する係数を一定化する一定化手段とを設けて構成したことを特徴とするフィルタ演算装置。
【請求項２】
前記直流検出手段は、
前記複数の乗算器に入力する同時点の入力データの中より最大値を検出する最大値検出器と、
前記複数の乗算器に入力する同時点の係数の中より最小値を検出する最小値検出器と、
前記最大値検出器の出力と前記最小値検出器の出力との差分をとる減算器と、
前記減算器の出力の絶対値をとる絶対値回路と、
前記絶対値回路の出力と所定の設定値とを比較し、前記絶対値回路の出力が前記設定値より小さいとき直流分であるとする制御信号を発生する比較器とよりなることを特徴とする請求項１記載のフィルタ演算装置。
【請求項３】
前記複数の乗算器に入力する係数を複数のアドレスに対応させて記憶する係数記憶部と、この係数記憶部より読み出す係数のアドレスを発生するアドレス発生器とをさらに備え、
前記一定化手段は、前記アドレス発生器が発生するアドレスを固定アドレスにすげ替える手段であることを特徴とする請求項１または２に記載のフィルタ演算装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像を拡大縮小する際に用いられるフィルタ演算装置に関する。
【０００２】
【従来の技術】
近年になって、テレビジョン受像機や投射型表示装置（プロジェクタ装置）においては、複数の画像を１つの画面内に表示する多画面表示を行ったり、画像の一部を拡大して表示する等、画像表示方法が多様化している。また、テレビジョン信号のみならず、パーソナルコンピュータ信号（パソコン信号）も表示するようになってきた。さらに、陰極線管を用いたディスプレイ装置に加え、プラズマディスプレイ装置（ＰＤＰ）や液晶表示装置（ＬＣＤ）のような非ラスタ型の表示パネルを用いたマトリクス型表示装置も登場している。
【０００３】
このような画像表示方法及び入力映像フォーマットの多様化や画像表示装置の多様化等に伴って、テレビジョン画像あるいはコンピュータ画像を、ハードウェアを用いたデジタル信号処理によって拡大縮小する画像拡大縮小装置が必須の構成要素となっている。画像拡大縮小装置は、デジタル信号処理装置であるフィルタ演算装置によって画像を拡大縮小する。
【０００４】
図２は従来のフィルタ演算装置の一例を示すブロック図である。この図２の例では、フィルタ演算装置のタップ数を２としている。図２において、アドレス発生器１には、フィルタ演算の開始位置、即ち、画像を拡大もしくは縮小する際の先頭位置を示す開始信号が入力される。アドレス発生器１は、その開始信号を基にしてアドレスを発生し、係数記憶部２に入力する。
【０００５】
係数記憶部２は、複数の係数組を記憶するものであり、リード・オンリ・メモリ（ＲＯＭ）やランダム・アクセス・メモリ（ＲＡＭ）より構成される。ここでは、係数記憶部２をＲＡＭよって構成した場合を示している。係数記憶部２には、係数記憶部２に記憶する係数データと、この係数データを書き込むアドレスを指定する書き込みアドレスと、係数データを書き込むことを許可する書き込み制御信号（書き込みイネーブル信号）が入力される。係数記憶部２に係数データが書き込まれた後、アドレス発生器１よりアドレスが入力されると、係数記憶部２はそのアドレスで指定された係数データを発生し、フィルタ部３に入力する。この例では、フィルタ演算装置のタップ数が２であるので、係数記憶部２は係数Ｃｎと係数Ｄｎの２つの係数を発生する。
【０００６】
フィルタ部３には、フィルタ演算の対象とされている映像信号が入力データとして入力される。フィルタ部３は、係数記憶部２より入力された２つの係数Ｃｎ，Ｄｎを用い、入力された映像信号をフィルタ演算して出力する。フィルタ部３の具体的構成及び動作は、後述する。
【０００７】
ここで、図３を用いて、フィルタ演算装置による補間演算の動作について説明する。図３において、（Ａ）は入力映像信号（以下、入力データ）を示しており、（Ｂ）は出力映像信号（以下、出力データ）を示している。入力データは、画素Ａ０，Ａ１，Ａ２，Ａ３，Ａ４，Ａ５…よりなり、出力データは、Ｂ１，Ｂ２，Ｂ３，Ｂ４，Ｂ５，Ｂ６…よりなる。図３（Ａ）におけるｘは、入力データの画素より補間して得る出力データの画素までの距離（位相）を示している。
【０００８】
出力データは、Ｂ１，Ｂ２，Ｂ３，Ｂ４，Ｂ５…は、以下の演算によって得られる。
Ｂ１＝Ａ０×Ｃ１＋Ａ１×Ｄ１，Ｂ２＝Ａ１×Ｃ２＋Ａ２×Ｄ２，Ｂ３＝Ａ２×Ｃ３＋Ａ３×Ｄ３，Ｂ４＝Ａ３×Ｃ４＋Ａ４×Ｄ４，Ｂ５＝Ａ４×Ｃ５＋Ａ５×Ｄ５…（これを（１）式と呼ぶ）
Ｃ１，Ｃ２，Ｃ３…は係数記憶部２が発生する係数Ｃｎであり、Ｄ１，Ｄ２，Ｄ３…は係数記憶部２が発生する係数Ｄｎである。
【０００９】
係数Ｃｎ，Ｄｎは画素の補間位置と大きな相関関係があり、入力データの画素３周期で出力データの画素４周期を生成する場合、係数Ｃｎ，Ｄｎは位置情報として次のように表される。
（Ｃ１，Ｄ１）＝（１，０），（Ｃ２，Ｄ２）＝（０．２５，０．７５），（Ｃ３，Ｄ３）＝（０．５，０．５），（Ｃ４，Ｄ４）＝（０．７５，０．２５），（Ｃ５，Ｄ５）＝（０，１）…（これを（２）式と呼ぶ）
【００１０】
この（２）式より、実際の係数Ｃｎ，Ｄｎを得る手法は種々あるが、最も簡易な例として直線補間法がある。直線補間法では、位置情報をフィルタ係数とするものであり、入力データの画素から出力データの画素までの距離ｘによって重み付けすると、次のようになる。
（Ｃ１，Ｄ１）＝（０，１），（Ｃ２，Ｄ２）＝（０．７５，０．２５），（Ｃ３，Ｄ３）＝（０．５，０．５），（Ｃ４，Ｄ４）＝（０．２５，０．７５），（Ｃ５，Ｄ５）＝（１，０）…（これを（３）式と呼ぶ）
【００１１】
以上の（１）式と（３）式によって、出力データを得ることができる。図４は、係数記憶部２に記憶する係数Ｃｎ，Ｄｎの例である。上記の例では、簡略化のため、入力データの画素３周期で出力データの画素４周期を生成する場合について示したが、実際には、画素の間隔をさらに細かく細分化して係数を決定する。図４の例では、入力データの画素間隔を３２分割した場合の係数Ｃｎ，Ｄｎを示している。補間画素を生成すべき出力データの位置情報をアドレスとして与えることによって、フィルタ演算に必要な係数Ｃｎ，Ｄｎを発生することができる。このとき、係数Ｃｎ，Ｄｎは正規化しておく必要があり、Ｃｎ＋Ｄｎは必ず１としなければならない。これは、Ｃｎ＋Ｄｎが１でないと、フィルタ演算の結果に直流分の変動を生じ、出力映像に妨害が発生するからである。
【００１２】
図２中のフィルタ部３は、図５に示すように構成される。図５において、入力データはＤフリップフロップ（以下、ＤＦＦ）３１及び乗算器３２に入力される。ＤＦＦ３１は入力データを１画素分遅延し、乗算器３３に入力する。入力データをＡｎ（ｎ＝０，１，２…）とすると、ＤＦＦ３１の出力はＡ（ｎ＋１）となる。乗算器３２は入力データＡｎと係数Ｃｎとを乗算し、信号Ｍ１を出力する。乗算器３３は入力データＡ（ｎ＋１）と係数Ｄｎとを乗算し、信号Ｍ２を出力する。加算器３４は信号Ｍ１と信号Ｍ２とを加算し、信号Ｍ３を出力する。この信号Ｍ３がフィルタ演算装置の出力データである。
【００１３】
【発明が解決しようとする課題】
従来のフィルタ演算装置においては、フィルタ係数を正規化しているにもかかわらず、直流分が変動してしまうという問題点がある。デジタル信号処理装置であるフィルタ演算装置では、フィルタ係数や映像信号のデータは有限語長であり、高々８ビットである。従来のフィルタ演算装置に入力データとして直流データ、即ち、一定の振幅値の信号を連続して入力した場合には、図４で説明したように、補間すべき位置に応じて変化するフィルタ係数を用いて演算した結果、元の直流値を正確に再現することができない。
【００１４】
上記の例では、係数Ｃｎ，Ｄｎが（０．５，０．５）の場合には誤差は発生しないが、（１／３，２／３）のような値を有限語長で表現すると、余りが生じる。この場合、Ｃｎ＋Ｄｎが１となるように正規化しても、結局は、フィルタ部３を構成する乗算器３２，３３や加算器３４における演算処理で誤差が発生してしまう。フィルタ部３にて誤差を解消するよう、有限語長の丸めを行うことも考えられるが、そのような乗算器３２，３３や加算器３４を構成するのは困難である。
【００１５】
上記の例では、２タップであるが、通常は４タップや６タップであり、この場合に使用されるｓｉｎ（ｘ）／ｘで表現される補間関数を用いると、フィルタ係数の正規化や演算処理における丸め処理はさらに複雑化してしまう。従って、フィルタ係数や映像信号のデータが有限語長であるがために発生する正規化誤差，丸め誤差に起因する直流分の変動を解消することは極めて困難であった。直流分が変動すると、映像信号を水平方向にフィルタリングした場合には縦線の妨害が生じ、映像信号を垂直方向にフィルタリングした場合には横線の妨害が生じ、映像の品位を著しく損ねてしまう。
【００１６】
本発明はこのような問題点に鑑みなされたものであり、正規化誤差，丸め誤差に起因する直流分の変動を防止することができ、もって、妨害のない品位のよい映像とすることができるフィルタ演算装置を提供することを目的とする。
【００１７】
【課題を解決するための手段】
本発明は、上述した従来の技術の課題を解決するため、入力データに所定の係数を乗じて出力する複数の乗算器（３２，３３）と、この複数の乗算器の出力を加算して出力する加算器（３４）とを備えるフィルタ演算装置において、前記入力データが直流分であることを検出する直流検出手段（４）と、前記直流検出手段によって前記入力データが直流分であることが検出されたら、前記乗算器に入力する係数を一定化する一定化手段（５）とを備えて構成したことを特徴とするフィルタ演算装置を提供するものである。
【００１８】
【発明の実施の形態】
以下、本発明のフィルタ演算装置について、添付図面を参照して説明する。図１は本発明のフィルタ演算装置の一実施例を示すブロック図である。なお、図１において、図２，図５と同一部分には同一符号が付してある。
【００１９】
図１において、入力データはＤフリップフロップ（以下、ＤＦＦ）３１及び乗算器３２に入力される。ＤＦＦ３１は入力データを１画素分遅延し、乗算器３３に入力する。入力データをＡｎ（ｎ＝０，１，２…）とすると、ＤＦＦ３１の出力はＡ（ｎ＋１）となる。乗算器３２は入力データＡｎと係数Ｃｎとを乗算し、信号Ｍ１を出力する。乗算器３３は入力データＡ（ｎ＋１）と係数Ｄｎとを乗算し、信号Ｍ２を出力する。加算器３４は信号Ｍ１と信号Ｍ２とを加算し、信号Ｍ３を出力する。この信号Ｍ３がフィルタ演算装置の出力データとなる。ＤＦＦ３１と乗算器３２，３３と加算器３４がフィルタ部３を構成している。
【００２０】
入力データＡｎは、最大値検出器４１及び最小値検出器４２にも入力される。ＤＦＦ３１より出力されたデータＡ（ｎ＋１）も、最大値検出器４１及び最小値検出器４２に入力される。最大値検出器４１は入力されたデータの同時点における最大値を検出し、最小値検出器４２は入力されたデータの同時点における最小値を検出する。この例では、簡略化のため、フィルタ演算装置（フィルタ部３）のタップ数を２としているので、データＡｎとデータＡ（ｎ＋１）との大小関係を見ればよく、最大値検出器４１及び最小値検出器４２は特には必要ないが、上述のように、通常は、タップ数は４もしくは６であるので、最大値検出器４１及び最小値検出器４２が必要となる。
【００２１】
フィルタ演算装置のタップ数は特に限定されることはなく、２以上（複数）であればよい。タップ数が増えれば、フィルタ係数を乗算する乗算器や遅延器であるＤＦＦも増える。最大値検出器４１は、フィルタ演算装置を構成する乗算器に入力する同時点のデータより最大値を検出するものであり、最小値検出器４２はフィルタ演算装置を構成する乗算器に入力する同時点のデータより最小値を検出するものである。最大値検出器４１が検出した最大値Ｍａｘと最小値検出器４２が検出した最小値Ｍｉｎは、減算器４３に入力される。
【００２２】
減算器４３は最大値Ｍａｘと最小値Ｍｉｎとの差分を生成し、絶対値回路４４に入力する。絶対値回路４４は減算器４３の出力の絶対値ＡＢＳをとり、比較器４５に入力する。最大値Ｍａｘと最小値Ｍｉｎとの差分の絶対値ＡＢＳが０であれば、データＡｎとデータＡ（ｎ＋１）とは同じ値である。即ち、これは直流分であることを意味する。０を超えれば、直流分ではないということになる。実際には、ノイズ等の影響を考慮して、最大値Ｍａｘと最小値Ｍｉｎとの差分の絶対値ＡＢＳが所定の値よりも小さければ直流分であると判断する。
【００２３】
比較器４５には、設定値発生器４６より設定値Ｋが入力される。比較器４５は、入力された絶対値ＡＢＳと設定値Ｋとを比較し、比較結果を選択器５２に入力する。設定値Ｋは固定値であってもよく、外部より適宜可変するよう構成してもよい。また、設定値Ｋを比較器４５に保持させるようにしてもよい。比較器４５は、例えば、ＡＢＳ＞Ｋのときハイレベルの制御信号を発生し、ＡＢＳ≦Ｋのときローレベルの制御信号を発生する構成とすればよい。以上の説明より分かるように、最大値検出器４１，最小値検出器４２，減算器４３，絶対値回路４４，比較器４５，設定値発生器４６は、入力データが直流分であることを検出する直流検出回路４として動作している。
【００２４】
選択器５２には、図２に示すアドレス発生器１からのアドレスと、固定アドレス発生器５１によって発生した固定アドレスとが入力される。アドレス発生器１からのアドレスは、補間すべき位置に応じて図４の０〜３１で切り換わるものである。固定アドレス発生器５１が発生する固定アドレスは、図４の０〜３１におけるいずれかのアドレスである。この固定アドレスは、特に限定されることはないが、例えば、図４の例では誤差が発生しないアドレス０がよい。アドレス０では、係数Ｃｎが０、係数Ｄｎが１であるので、係数Ｃｎ，Ｄｎの正規化が発生せず、また、フィルタ部３の演算処理においても丸め誤差が一切発生しない。勿論、他のアドレスでもよい。
【００２５】
選択器５２は、直流分でないと判断された場合、即ち、ＡＢＳ＞Ｋであれば、アドレス発生器１からのアドレスを選択してそのまま出力し、直流分であると判断された場合、即ち、ＡＢＳ≦Ｋであれば、アドレス発生器１からのアドレスの代わりに固定アドレス発生器５１が発生する固定アドレスを選択して、アドレスをすげ替える。選択器５２より出力されたアドレスはＲＡＭよりなる係数記憶部２に入力される。ここでは、係数記憶部２に入力する係数データ，書き込みアドレス，書き込み制御信号の図示を省略している。係数記憶部２としてＲＯＭを用いてもよい。なお、係数記憶部２が記憶する係数の組は図４に限定されることはなく、アドレスも０〜３１に限定されることはない。係数記憶部２は、複数のアドレスに対応させて複数の係数の組を記憶するものであればよい。
【００２６】
係数記憶部２は、入力されたアドレスに応じて、係数Ｃｎと係数Ｄｎを発生する。係数Ｃｎ，Ｄｎは乗算器３２，３３に入力される。直流分でなければ、補間すべき位置に応じて係数記憶部２のアドレスが切り換わるので、係数Ｃｎ，Ｄｎも切り換わり、従来通りのフィルタ演算が行われる。なお、直流分でなければ、正規化誤差や丸め誤差は認知できない。直流分であれば、アドレスは固定されるので、係数Ｃｎ，Ｄｎも固定され、一定の値が出力され続けることになる。
【００２７】
このように、本発明のフィルタ演算装置では、直流分であると判断されたときに、係数Ｃｎ，Ｄｎを変化させず、固定することに特徴がある。直流分であれば、フィルタ演算装置によるフィルタリングの作用は及ばない。従って、どのような係数Ｃｎ，Ｄｎを用いてフィルタ演算を行っても問題ない。但し、従来のように、係数Ｃｎ，Ｄｎを変化させてしまうと、正規化誤差や丸め誤差の変動によって妨害が発生し、映像の品位を損ねてしまう。これに対し、本発明のフィルタ演算装置では、直流分のとき係数Ｃｎ，Ｄｎは変化せず一定値であるので、正規化誤差や丸め誤差は変動しない。よって、妨害が発生して、映像の品位を損ねてしまうことはない。
【００２８】
固定アドレス発生器５１及び選択器５２は、入力データが直流分であると判断されたときに、乗算器３２，３３に入力する係数Ｃｎ，Ｄｎを変化させず、一定化する係数一定化回路５として動作していることが分かる。本実施例では、アドレスを固定することによって係数Ｃｎ，Ｄｎを固定するよう構成したが、入力データが直流分であると判断されたときに、係数Ｃｎ，Ｄｎそのものを正規化して、ある値にすげ替えるよう構成することもできる。但し、このようにすると、タップ数が増えて選択回路が新たに必要となったり、ＲＡＭやＲＯＭの係数記憶部２を用いず、係数Ｃｎ，Ｄｎを直接発生する場合にも、係数Ｃｎ，Ｄｎそのものをすげ替える構成が必要となり、回路及び制御が複雑化する。従って、本実施例のように、アドレスを固定することによって係数Ｃｎ，Ｄｎを固定する構成は、好ましい実施形態である。
【００２９】
本発明は、以上説明した本実施例に限定されることはなく、本発明の要旨を逸脱しない範囲において種々変更可能である。本実施例では、フィルタ演算装置を拡大縮小装置に用いた例を示したが、他の用途に用いてもよい。
【００３０】
【発明の効果】
以上詳細に説明したように、本発明のフィルタ演算装置は、入力データが直流分であることを検出する直流検出手段と、この直流検出手段によって入力データが直流分であることが検出されたら、乗算器に入力する係数を一定化する一定化手段とを備えて構成したので、正規化誤差，丸め誤差に起因する直流分の変動を防止することができ、もって、妨害のない品位のよい映像とすることができる。
【図面の簡単な説明】
【図１】本発明の一実施例を示すブロック図である。
【図２】従来例を示すブロック図である。
【図３】フィルタ演算装置による補間演算の動作を説明するための図である。
【図４】図１，図２中の係数記憶部２に記憶するフィルタ係数の例を示す図である。
【図５】図２中のフィルタ部３の具体的構成を示すブロック図である。
【符号の説明】
１  アドレス発生器
２  係数記憶部
３  フィルタ部
４  直流検出回路（直流検出手段）
５  係数一定化回路（一定化手段）
４１  最大値検出器
４２  最小値検出器
４３  減算器
４４  絶対値回路
４５  比較器
４６  設定値発生器
５１  固定アドレス発生器
５２  選択器
【図１】
0003629981.tif 000002
【図２】
0003629981.tif 000003
【図３】
0003629981.tif 000004
【図４】
0003629981.tif 000005
【図５】
0003629981.tif 000006