JPWO2006134688A1 - 補間処理回路 - Google Patents
補間処理回路 Download PDFInfo
- Publication number
- JPWO2006134688A1 JPWO2006134688A1 JP2006528939A JP2006528939A JPWO2006134688A1 JP WO2006134688 A1 JPWO2006134688 A1 JP WO2006134688A1 JP 2006528939 A JP2006528939 A JP 2006528939A JP 2006528939 A JP2006528939 A JP 2006528939A JP WO2006134688 A1 JPWO2006134688 A1 JP WO2006134688A1
- Authority
- JP
- Japan
- Prior art keywords
- tap fir
- calculation unit
- coefficient
- data
- interpolation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/02—Frequency selective networks
- H03H17/06—Non-recursive filters
- H03H17/0621—Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformation in the plane of the image
- G06T3/40—Scaling the whole image or part thereof
- G06T3/4007—Interpolation-based scaling, e.g. bilinear interpolation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/02—Frequency selective networks
- H03H17/0223—Computation saving measures; Accelerating measures
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/02—Frequency selective networks
- H03H17/0248—Filters characterised by a particular frequency response or filtering method
- H03H17/026—Averaging filters
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/02—Frequency selective networks
- H03H17/0294—Variable filters; Programmable filters
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/02—Frequency selective networks
- H03H17/06—Non-recursive filters
- H03H17/0621—Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing
- H03H17/0635—Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing characterized by the ratio between the input-sampling and output-delivery frequencies
- H03H17/065—Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing characterized by the ratio between the input-sampling and output-delivery frequencies the ratio being integer
- H03H17/0657—Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing characterized by the ratio between the input-sampling and output-delivery frequencies the ratio being integer where the output-delivery frequency is higher than the input sampling frequency, i.e. interpolation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
- H04N7/0135—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
Abstract
タップ付き遅延線における3個のタップから出力されるデータを“−1,m,−1”の比率の数値列より成るフィルタ係数によりそれぞれ数倍するように成された3タップFIR演算部2と、タップ付き遅延線におけるn個のタップから出力されるデータを所定の数値列より成るフィルタ係数によりそれぞれ数倍するように成されたnタップFIR演算部3とを備え、mおよびnの値を変えることにより、様々な係数列を用いた積和演算により補間値を求めることができるようにするとともに、3タップFIR演算部2は常に3つの値のみを用いた積和演算により補間値を求めることができるようにして、回路規模を小さくし、かつ、演算処理を簡素化して高速な補間処理を実現する。
Description
本発明は補間処理回路に関し、特に、複数の遅延器から成るタップ付き遅延線における各タップの信号を、与えられるフィルタ係数によりそれぞれ数倍した後、それらの乗算結果を加算して出力するタイプのFIRデジタルフィルタを利用した補間処理回路に用いて好適なものである。
従来、テレビジョン画像の品質を向上させる手法として、画素数を補間によって増やすことにより、水平方向および垂直方向の解像度を上げる手法が知られている。ここで、プロセッサ等による演算処理を行わずに、簡単な構成のハードウェアによって高速に水平方向の補間処理と垂直方向の補間処理とを行えるようにした画像処理回路が提案されている(例えば、特許文献1参照)。
特開2000−148061号公報
この特許文献1に記載の画像処理回路では、サンプリング周波数がライン周波数の整数倍の画像において、着目画素を挟んで斜め方向の最近接位置に配置された2つの近接画素を結ぶ直線上の補間画素の画素値を、着目画素および2つの近接画素の各画素値を平均化して求めている。すなわち、補間処理を行うために3つの画素値のみを用い、しかも簡単な移動平均値算出によって補間画素の画素値を求めることができるようにしている。
具体的には、着目画素の画素値をa、その周辺に位置する4つの近接画素の画素データを周回方向に沿って順番にb,c,d,eとしたときに、4つの補間画素の画素値a0,a1,a2,a3は、a0=(8a+b−e)/8、a1=(8a+c−d)/8、a2=(8a+d−c)/8、a3=(8a+e−b)/8、によって求めている。これにより、処理の高速化が可能であり、簡単な回路構成によって水平解像度と垂直解像度とをそれぞれ2倍に上げることができる。
特開2000−148061号公報
この特許文献1に記載の画像処理回路では、サンプリング周波数がライン周波数の整数倍の画像において、着目画素を挟んで斜め方向の最近接位置に配置された2つの近接画素を結ぶ直線上の補間画素の画素値を、着目画素および2つの近接画素の各画素値を平均化して求めている。すなわち、補間処理を行うために3つの画素値のみを用い、しかも簡単な移動平均値算出によって補間画素の画素値を求めることができるようにしている。
具体的には、着目画素の画素値をa、その周辺に位置する4つの近接画素の画素データを周回方向に沿って順番にb,c,d,eとしたときに、4つの補間画素の画素値a0,a1,a2,a3は、a0=(8a+b−e)/8、a1=(8a+c−d)/8、a2=(8a+d−c)/8、a3=(8a+e−b)/8、によって求めている。これにより、処理の高速化が可能であり、簡単な回路構成によって水平解像度と垂直解像度とをそれぞれ2倍に上げることができる。
しかしながら、上記特許文献1に記載の技術では、3つの近傍画素値のみを用いて簡単な移動平均演算によって補間画素の画素値を求めることができるのは、上述した特殊な係数の組{−1,8,1}を用いた移動平均演算を行う場合に限定される。
この特殊な係数の組{−1,8,1}は、WO2004/079905号公報の図1に記載されているフィルタ係数列{−1,1,8,8,1,−1}の一部に相当する。このフィルタ係数列の移動平均演算は、図1(a)のように表される。図1(a)から分かるように、{−1,1,8,8,1,−1}という係数列を利用して補間演算をする場合には、常に3つの係数の組{−1,8,1}を用いて、つまり3つの画素値のみを用いて移動平均演算により補間画素値を求めることができる。
これに対して、例えば{−1,0,9,16,9,0,−1}という係数列を用いて補間演算をすることを考える。この係数列を用いた移動平均演算は、図1(b)のように表される。図1(b)から分かるように、{−1,0,9,16,9,0,−1}という係数列を用いて補間演算をする場合には、4つの係数の組{−1,9,9,−1}を用いて、つまり4つの画素値を用いた移動平均演算により補間画素値を求めなければならないことになる。
WO2004/079905号公報の図1に示される他の係数列を用いて移動平均演算を行う場合には、もっと多い画素値が必要になることもある。ある着目画素とその周辺にある複数の近傍画素とを含む各画素値を移動平均演算に使うためには、容量の大きなフレームメモリが必要になる。そして、そのフレームメモリは、移動平均演算に用いる画素値の数だけ必要となり、その分回路規模が大きくなってしまうという問題があった。また、演算処理の内容も複雑になって補間処理が高速にできなくなってしまうという問題もあった。
本発明は、このような問題を解決するために成されたものであり、様々な係数列を用いた補間演算を行うに当たって、処理の高速化が可能であり、簡単な回路構成によってこれを実現することができるようにすることを目的とする。
上記した課題を解決するために、本発明の補間処理回路では、タップ付き遅延線における3個のタップから出力されるデータを“−1,m,−1”の比率の数値列より成るフィルタ係数によりそれぞれ数倍した後、それらの乗算結果を加算して出力するように成された3タップFIR演算部と、タップ付き遅延線におけるn個のタップから出力されるデータを、“1”を(n−1)回移動平均演算して得られる数値列より成るフィルタ係数によりそれぞれ数倍した後、それらの乗算結果を加算して出力するように成されたnタップFIR演算部とを備え、3タップFIR演算部の後段にnタップFIR演算部を縦続接続している。
本発明の他の態様では、入力された強調係数αに基づいて、3タップFIR演算部における“−1,m,−1”の比率の数値列より成るフィルタ係数に対して“−1+kα,m−2kα,−1+kα”(kは任意の数)という関係の強調演算を行う強調演算部を備えている。強調演算部は、3タップFIR演算部から順次出力される3個のデータ“x,y,z”に対して“x+kα,y−2kα,z+kα”(kは任意の数)という関係の強調演算を行うものであっても良い。
上記のように構成した本発明によれば、3タップFIR演算部とnタップFIR演算部との組み合わせによって、様々な係数列を用いた積和演算により補間値を求めることができる。すなわち、mおよびnの値を変えることにより、特殊な係数列のみならず、様々な係数列を用いた積和演算により補間値を求めることができる。
しかも、入力段における3タップFIR演算部は常に3つの値のみを用いた積和演算により補間値を求めることができるので、その演算回路は小規模で済む。さらに、遅延のために容量の大きなメモリが必要であったとしても、それは最大でも3個で済む。そのため、回路規模を小さくすることができる。また、使用するタップ数が極めて少ないので演算処理も簡素になり、高速な補間処理を実現することができる。
本発明の他の特徴によれば、3タップFIR演算部において積和演算を行う際に用いる3つの値に対する強調度を強調係数αによって簡単に変えることができ、より豊富な係数列を用いた積和演算により補間値を容易に求めることができる。
この特殊な係数の組{−1,8,1}は、WO2004/079905号公報の図1に記載されているフィルタ係数列{−1,1,8,8,1,−1}の一部に相当する。このフィルタ係数列の移動平均演算は、図1(a)のように表される。図1(a)から分かるように、{−1,1,8,8,1,−1}という係数列を利用して補間演算をする場合には、常に3つの係数の組{−1,8,1}を用いて、つまり3つの画素値のみを用いて移動平均演算により補間画素値を求めることができる。
これに対して、例えば{−1,0,9,16,9,0,−1}という係数列を用いて補間演算をすることを考える。この係数列を用いた移動平均演算は、図1(b)のように表される。図1(b)から分かるように、{−1,0,9,16,9,0,−1}という係数列を用いて補間演算をする場合には、4つの係数の組{−1,9,9,−1}を用いて、つまり4つの画素値を用いた移動平均演算により補間画素値を求めなければならないことになる。
WO2004/079905号公報の図1に示される他の係数列を用いて移動平均演算を行う場合には、もっと多い画素値が必要になることもある。ある着目画素とその周辺にある複数の近傍画素とを含む各画素値を移動平均演算に使うためには、容量の大きなフレームメモリが必要になる。そして、そのフレームメモリは、移動平均演算に用いる画素値の数だけ必要となり、その分回路規模が大きくなってしまうという問題があった。また、演算処理の内容も複雑になって補間処理が高速にできなくなってしまうという問題もあった。
本発明は、このような問題を解決するために成されたものであり、様々な係数列を用いた補間演算を行うに当たって、処理の高速化が可能であり、簡単な回路構成によってこれを実現することができるようにすることを目的とする。
上記した課題を解決するために、本発明の補間処理回路では、タップ付き遅延線における3個のタップから出力されるデータを“−1,m,−1”の比率の数値列より成るフィルタ係数によりそれぞれ数倍した後、それらの乗算結果を加算して出力するように成された3タップFIR演算部と、タップ付き遅延線におけるn個のタップから出力されるデータを、“1”を(n−1)回移動平均演算して得られる数値列より成るフィルタ係数によりそれぞれ数倍した後、それらの乗算結果を加算して出力するように成されたnタップFIR演算部とを備え、3タップFIR演算部の後段にnタップFIR演算部を縦続接続している。
本発明の他の態様では、入力された強調係数αに基づいて、3タップFIR演算部における“−1,m,−1”の比率の数値列より成るフィルタ係数に対して“−1+kα,m−2kα,−1+kα”(kは任意の数)という関係の強調演算を行う強調演算部を備えている。強調演算部は、3タップFIR演算部から順次出力される3個のデータ“x,y,z”に対して“x+kα,y−2kα,z+kα”(kは任意の数)という関係の強調演算を行うものであっても良い。
上記のように構成した本発明によれば、3タップFIR演算部とnタップFIR演算部との組み合わせによって、様々な係数列を用いた積和演算により補間値を求めることができる。すなわち、mおよびnの値を変えることにより、特殊な係数列のみならず、様々な係数列を用いた積和演算により補間値を求めることができる。
しかも、入力段における3タップFIR演算部は常に3つの値のみを用いた積和演算により補間値を求めることができるので、その演算回路は小規模で済む。さらに、遅延のために容量の大きなメモリが必要であったとしても、それは最大でも3個で済む。そのため、回路規模を小さくすることができる。また、使用するタップ数が極めて少ないので演算処理も簡素になり、高速な補間処理を実現することができる。
本発明の他の特徴によれば、3タップFIR演算部において積和演算を行う際に用いる3つの値に対する強調度を強調係数αによって簡単に変えることができ、より豊富な係数列を用いた積和演算により補間値を容易に求めることができる。
図1は、係数列の移動平均演算の内容を示す図である。
図2は、第1の実施形態による補間処理回路の一構成例を示す図である。
図3は、第1〜第3の実施形態によるnタップFIR演算部に適用されるフィルタ係数の例を示す図である。
図4は、図2に示す補間処理回路に振幅値“1”のユニットパルスを入力した場合の演算内容を示す図である。
図5は、第1の実施形態による補間処理回路の他の構成例を示す図である。
図6は、図5に示す補間処理回路に振幅値“1”のユニットパルスを入力した場合の演算内容を示す図である。
図7は、第1の実施形態による補間処理回路の他の構成例を示す図である。
図8は、図7に示す補間処理回路に振幅値“1”のユニットパルスを入力した場合の演算内容を示す図である。
図9は、第1〜第3の実施形態による補間処理回路で用いられる係数列の例を示す図である。
図10は、図9に示した係数列のインパルス応答を示す図である。
図11は、第2の実施形態による補間処理回路の一構成例を示す図である。
図12は、図11に示す補間処理回路に振幅値“1”のユニットパルスを入力した場合の演算内容を示す図である。
図13は、図11に示す補間処理回路に矩形波を入力したときに得られる応答波形の強調特性を示す図である。
図14は、図11に示す補間処理回路におけるnタップFIR演算部の構成を変えて振幅値“1”のユニットパルスを入力した場合の演算内容を示す図である。
図15は、第3の実施形態による2次元補間処理回路の一構成例を示す図である。
図16は、第3の実施形態による2次元補間処理回路で用いる各種クロックを説明するための図である。
図17は、第3の実施形態による2次元補間処理回路で補間演算に用いる入力データの位置関係を示す図である。
図18は、オーバーサンプル入力しない場合の演算内容の一例を示す図である。
図2は、第1の実施形態による補間処理回路の一構成例を示す図である。
図3は、第1〜第3の実施形態によるnタップFIR演算部に適用されるフィルタ係数の例を示す図である。
図4は、図2に示す補間処理回路に振幅値“1”のユニットパルスを入力した場合の演算内容を示す図である。
図5は、第1の実施形態による補間処理回路の他の構成例を示す図である。
図6は、図5に示す補間処理回路に振幅値“1”のユニットパルスを入力した場合の演算内容を示す図である。
図7は、第1の実施形態による補間処理回路の他の構成例を示す図である。
図8は、図7に示す補間処理回路に振幅値“1”のユニットパルスを入力した場合の演算内容を示す図である。
図9は、第1〜第3の実施形態による補間処理回路で用いられる係数列の例を示す図である。
図10は、図9に示した係数列のインパルス応答を示す図である。
図11は、第2の実施形態による補間処理回路の一構成例を示す図である。
図12は、図11に示す補間処理回路に振幅値“1”のユニットパルスを入力した場合の演算内容を示す図である。
図13は、図11に示す補間処理回路に矩形波を入力したときに得られる応答波形の強調特性を示す図である。
図14は、図11に示す補間処理回路におけるnタップFIR演算部の構成を変えて振幅値“1”のユニットパルスを入力した場合の演算内容を示す図である。
図15は、第3の実施形態による2次元補間処理回路の一構成例を示す図である。
図16は、第3の実施形態による2次元補間処理回路で用いる各種クロックを説明するための図である。
図17は、第3の実施形態による2次元補間処理回路で補間演算に用いる入力データの位置関係を示す図である。
図18は、オーバーサンプル入力しない場合の演算内容の一例を示す図である。
(第1の実施形態)
以下、本発明の一実施形態を図面に基づいて説明する。図2は、第1の実施形態による補間処理回路の構成例を示す図である。図2に示すように、第1の実施形態による補間処理回路は、D型フリップフロップ1と、3タップFIR演算部2と、nタップFIR演算部3とを備えて構成されている。
入力段のD型フリップフロップ1は、入力データを1クロックCK分だけ保持するバッファとして機能する。3タップFIR演算部2は、D型フリップフロップ1から出力される入力データを複数の遅延器から成るタップ付き遅延線により順次遅延させ、そのタップ付き遅延線における3個のタップから出力されるデータを、“−1,m,−1”(mは任意の数)の比率の数値列より成るフィルタ係数によりそれぞれ数倍した後、それらの乗算結果を加算して出力する。
すなわち、3タップFIR演算部2は、縦続接続された2個のD型フリップフロップ2a−1〜2a−2と、3個の係数器2b−1〜2b−3と、2個の加算器2c−1〜2c−2とにより構成されている。2個のD型フリップフロップ2a−1〜2a−2は、入力データを1クロック(2CK)ずつ順次遅延させる。クロック(2CK)は、クロックCKに対して2倍の周波数を持つクロックである。入力データを1クロック(2CK)ずつ順次遅延させるのは、入力データを2倍にオーバーサンプリングすることを意味する。
3個の係数器2b−1〜2b−3は、各D型フリップフロップ2a−1〜2a−2の入出力タップから取り出した3個のデータに対し、“−1,m,−1”の比率の数値列より成るフィルタ係数をそれぞれ乗算する。2個の加算器2c−1〜2c−2は、各係数器2b−1〜2b−3から出力されるデータを全て加算して出力する。なお、図2では、係数器2b−1〜2b−3におけるフィルタ係数の例として、{−1,4,−1}の値を用いている。
nタップFIR演算部3は、3タップFIR演算部2の出力データを複数の遅延器から成るタップ付き遅延線により順次遅延させ、そのタップ付き遅延線におけるn個(nは自然数)のタップから出力されるデータを、所定の数値列より成るフィルタ係数によりそれぞれ数倍した後、それらの乗算結果を加算して出力する。ここで、上記所定の数値列は、“1”を(n−1)回移動平均演算して得られる数値列であることが好ましい。図2の例では、“1”を2回(n=3)移動平均演算して得られる数値列{0.25,0.5,0.25}をフィルタ係数として用いている(図3参照)。
ここで、n列目の数値列を求める際の移動平均演算とは、(n−1)列目の数値列とこれを1サンプル(1クロック)ずらした数値列とを重み付け加算するという演算(重みの合計値は“1”)を言う。すなわち、移動平均演算によってn列目の上からj番目のフィルタ係数を求める際には、(n−1)列目のデータ列のうち上からj番目のデータと、これを1サンプルずらしたデータ列の上からj番目のデータとを重み付け加算する。
例えば、2列目の上から1番目の数値“0.5”は、1列目の1番目の元データ“1”とその1サンプル前の前データ“0”とを加算して2で割ることによって得られ、2番目の数値“0.5”は、1列目の2番目の元データ“0”とその1サンプル前の前データ“1”とを加算して2で割ることによって得られる。また、3列目の上から1番目の数値“0.25”は、2列目の1番目の元データ“0.5”とその1サンプル前の前データ“0”とを加算して2で割ることによって得られ、2番目の数値“0.5”は、2列目の2番目の元データ“0.5”とその1サンプル前の前データ“0.5”とを加算して2で割ることによって得られ、3番目の数値“0.25”は、2列目の2番目の元データ“0”とその1サンプル前の前データ“0.5”とを加算して2で割ることによって得られる。
nタップFIR演算部3は、縦続接続された2個のD型フリップフロップ3a−1〜3a−2と、3個の係数器3b−1〜3b−3と、2個の加算器3c−1〜3c−2とにより構成されている。2個のD型フリップフロップ3a−1〜3a−2は、3タップFIR演算部2から入力されるデータを1クロック(2CK)ずつ順次遅延させる。3個の係数器3b−1〜3b−3は、各D型フリップフロップ3a−1〜3a−2の入出力タップから取り出した3個のデータに対し、{0.25,0.5,0.25}のフィルタ係数をそれぞれ乗算する。2個の加算器3c−1〜3c−2は、各係数器3b−1〜3b−3から出力されるデータを全て加算して出力する。
図4は、図2に示した補間処理回路に振幅値“1”のユニットパルスを入力した場合の演算内容を示す図である。図4(a)に示すように、ユニットパルスが3タップFIR演算部2にオーバーサンプリングして入力されると、その入力データ“1,1”とフィルタ係数{−1,4,−1}との間で積和演算が行われ、{−1,3,3,−1}という4個の数値列が出力される。
ここで行う積和演算を具体的に示すと、図4(b)に示すようなものである。すなわち、3タップFIR演算部2のフィルタ係数については、{−1,4,−1}の3個の数値列を常に固定的に乗加算の対象とする。一方、入力データについては、{1,1}の数値列の前後に“0”の数値列があるものと仮定し、この0値も含めて3個(3タップFIR演算部2のフィルタ係数の数と同数)の数値列を積和演算の対象とする。3タップFIR演算部2の出力データのi番目(i=1,2,3,4)の数値を求める際には、入力データのi番目の数値を含めてそれより前にある3個の数値列を乗加算の対象とする。
例えば、3タップFIR演算部2の出力データの1番目の数値を求める際は、3タップFIR演算部2の3個のフィルタ係数{−1,4,−1}(符号31で示す点線で囲った配列)と、入力データの1番目の数値を含めてそれより前にある3個の数値列{0,0,1}(符号32で示す点線で囲った配列)とを対象として、配列の対応する要素の積を合計する演算を行う。すなわち、この場合の演算結果は、(0×(−1)+0×4+1×(−1))=−1となる。
また、3タップFIR演算部2の出力データの2番目の数値を求める際には、3タップFIR演算部2の3個のフィルタ係数{−1,4,−1}(符号31で示す点線で囲った配列)と、入力データの2番目の数値を含めてそれより前にある3個の数値列{0,1,1}(符号33で示す点線で囲った配列)とを対象として、配列の対応する要素の積を合計する演算を行う。すなわち、この場合の演算結果は、(0×(−1)+1×4+1×(−1))=3となる。同様にして、3タップFIR演算部2の出力データの3番目の数値は(1×(−1)+1×4+0×(−1))=3、4番目の数値は(1×(−1)+0×4+0×(−1))=−1と求められる。
また、この4個のデータ値{−1,3,3,−1}がnタップFIR演算部3に入力されると、その4個のデータ値とフィルタ係数{0.25,0.5,0.25}との間で積和演算が行われ、{−1,1,8,8,1,−1}の比率から成る数値列が出力される(図4では、実際に得られる数値列を4倍して整数化して示している)。ここで行う積和演算も、図4(b)に示したのと同様である。
すなわち、nタップFIR演算部3のフィルタ係数については、{0.25,0.5,0.25}の3個の数値列を常に固定的に乗加算の対象とする。一方、3タップFIR演算部2の出力データについては、{−1,3,3,−1}の数値列の前後に“0”の数値列があるものと仮定し、この0値も含めて3個(nタップFIR演算部3のフィルタ係数の数と同数)の数値列を積和演算の対象とする。nタップFIR演算部3の出力データのi番目の数値を求める際には、3タップFIR演算部2の出力データのi番目の数値を含めてそれより前にある3個の数値列を乗加算の対象とする。
以上から分かるように、図2に示す補間処理回路は、{−1,1,8,8,1,−1}という比率の係数列を用いて補間演算を実行する回路(入力データがユニットパルスのときはそのデータ値“1”を補間値{−1,1,8,8,1,−1}/4に変えて出力する回路)に相当し、その補間演算の際に用いる入力データは常に3個である。この{−1,1,8,8,1,−1}という係数列は、WO2004/079905号公報の図1(本出願において改めて図9に示す)に示されるL4a3の係数列に相当する。
ここで、nタップFIR演算部3の内部構成を少し変えてみる。例えば、図5に示すように、D型フリップフロップ、係数器、加算器をそれぞれ1つずつ多くし、縦続接続された3個のD型フリップフロップ4a−1〜4a−3と、4個の係数器4b−1〜4b−4と、3個の加算器4c−1〜4c−3とによりnタップFIR演算部4を構成する。そして、4個の係数器4b−1〜4b−4のフィルタ係数として、{0.125,0.375,0.375,0.125}という数値列を用いるものとする。この数値列は、図3に示すように、“1”を3回(n=4)移動平均演算して得られる数値列である。
図6は、図5に示す補間処理回路に振幅値“1”のユニットパルスを入力した場合の演算内容を示す図である。図6に示すように、ユニットパルスが3タップFIR演算部2にオーバーサンプリングして入力されると、その入力データ“1,1”とフィルタ係数{−1,4,−1}との間で積和演算が行われ、{−1,3,3,−1}という4個の数値列が出力される。ここまでは、nタップFIR演算部3を用いた図2の場合と同じである。
また、3タップFIR演算部2から出力された4個のデータ値{−1,3,3,−1}が次段のnタップFIR演算部4に入力されると、その4個のデータ値とフィルタ係数{0.125,0.375,0.375,0.125}との間で積和演算が行われ、その結果として{−1,0,9,16,9,0,−1}の比率から成る数値列が出力される(図6では、実際に得られる数値列を8倍して整数化して示している)。
以上から分かるように、図5に示す補間処理回路は、{−1,0,9,16,9,0,−1}という比率の係数列を用いて補間演算をする回路に相当し、その補間演算の際に用いる入力データも、図2に示す補間処理回路と同様に常に3個である。この{−1,0,9,16,9,0,−1}という係数列は、図9に示されるL4a4の係数列に相当する。したがって、図5に示す補間処理回路を用いれば、図2の場合と同様に3個の入力データ値だけを用いて、図2の場合と異なる係数列に基づく補間演算を行うことができる。
さらに、図7に示すようにnタップFIR演算部5を構成した場合を考える。図7の例では、D型フリップフロップ、係数器、加算器をそれぞれ1つずつ少なくし、1個のD型フリップフロップ5a−1と、2個の係数器5b−1〜5b−2と、1個の加算器5c−1とによりnタップFIR演算部5を構成する。そして、2個の係数器5b−1〜5b−2のフィルタ係数として、{0.5,0.5}という数値列を用いるものとする。この数値列は、図3に示すように、“1”を1回(n=2)移動平均演算して得られる数値列である。
図8は、図7に示す補間処理回路に振幅値“1”のユニットパルスを入力した場合の演算内容を示す図である。図8に示すように、ユニットパルスが3タップFIR演算部2にオーバーサンプルして入力されると、その入力データ“1,1”とフィルタ係数{−1,4,−1}との間で積和演算が行われ、{−1,3,3,−1}という4個の数値列が出力される。ここまでは、nタップFIR演算部3を用いた図2の場合と同じである。
また、3タップFIR演算部2から出力された4個のデータ値{−1,3,3,−1}が次段のnタップFIR演算部5に入力されると、その4個のデータ値とフィルタ係数{0.5,0.5}との間で積和演算が行われ、その結果として{−1,2,6,2,−1}の比率から成る数値列が出力される(図8では、実際に得られる数値列を2倍して整数化して示している)。これから分かるように、図7に示す補間処理回路は、{−1,2,6,2,−1}という比率の係数列を用いて補間演算を実行する回路に相当し、その補間演算の際に用いる入力データも常に3個である。
以上詳しく説明したように、第1の実施形態によれば、図9に例示される様々な係数列を用いたデータ補間を、何れの場合も3つの入力データ値のみを用いた積和演算により行うことができる。すなわち、図9に示されるどの係数列を補間演算に利用するときも、3タップFIR演算部2は固定で常に3つの入力データ値を用いて補間演算をすれば良く、後段のnタップFIR演算部のタップ数(nの値)およびフィルタ係数値を変えるだけで、様々な係数列による補間を行うことができる。
図10は、図9に示した係数列のインパルス応答(補間関数の波形)を示す図である。この図10に示すような波形を有するインパルス応答は、横軸に沿った標本位置が一定の間にあるときにのみ“0”以外の有限な値を有し、それ以外の領域では値が全て“0”となる関数、つまり所定の標本位置において値が“0”に収束する関数である(これを「有限台」の関数と称する)。図9に示すどのフィルタ係数列のインパルス応答も有限台となる。
このような有限台のインパルス応答では、“0”以外の有限の値を有する局所的な領域内のデータだけが意味を持つ。この領域外のデータについては、補間演算の際に本来これを考慮すべきであるのに無視している訳ではなく、理論的に考慮する必要がない。そのため、図9に例示した係数列を補間関数として用いれば、補間関数として従来一般的に用いられてきたsinc関数(±∞で0に収束する)と異なり、得られる補間値に打ち切り誤差が含まれなくなり、正確な補間値を求めることができる。
また、第1の実施形態によれば、mの値を変えることで、図9に例示されているものとは異なる様々な係数列を用いたデータ補間も、3つの入力データ値のみを用いた積和演算により行うことができる。mの値を変えた場合も、得られる係数列のインパルス応答は有限台となる。したがって、そのような係数列を補間関数として用いることにより、正確な補間値を求めることができる。
また、第1の実施形態によれば、補間値を求めるのに3つの入力データ値のみを用いればよく、補間演算に要求されるタップ数が極めて少なくて済むので、回路規模を小さくすることができる。また、処理が非常に簡素なので、補間処理を高速に行うこともできる。
以上に示した第1の実施形態による補間処理回路は、連続して入力される3つのデータ値から補間値を求めるものとして利用可能である。例えば、テレビジョン画像の品質を向上させるための画像高精細化回路として本実施形態の補間処理回路を用いる場合には、1水平ライン上に連続して存在する3つの画素値を積和演算することによって補間画素値を求めることが可能である。つまり、第1の実施形態による補間処理回路を用いることによって、テレビジョン画像の1次元補間処理を行うことができる。
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。図11は、第2の実施形態による補間処理回路の構成例を示す図である。図11に示すように、第2の実施形態による補間処理回路は、D型フリップフロップ11と、3タップFIR演算部12と、nタップFIR演算部13と、強調演算部20とを備えて構成されている。
入力段のD型フリップフロップ11は、入力データを1クロックCK分だけ保持するバッファとして機能する。3タップFIR演算部12は、D型フリップフロップ11から出力される入力データを複数の遅延器から成るタップ付き遅延線により順次遅延させ、そのタップ付き遅延線における3個のタップから出力されるデータを、“−1,m,−1”(mは任意の数)の比率の数値列より成るフィルタ係数によりそれぞれ数倍した後、それらの乗算結果を加算して出力する。
第2の実施形態による3タップFIR演算部12は、縦続接続された2個のD型フリップフロップ12a−1〜12a−2と、2個の係数器12b−1〜12b−2と、2個の加算器12c−1〜12c−2とにより構成されている。このように構成した3タップFIR演算部12は、第1の実施形態で示した3タップFIR演算部2と比べて構成が若干異なっているものの、実施する積和演算の内容は全く同じである。
構成上異なっている点は、以下の通りである。すなわち、上述した第1の実施形態では、1段目のD型フリップフロップ12a−1の入力タップから出力されるデータおよび2段目のD型フリップフロップ12a−2の出力タップから出力されるデータのそれぞれに−1のフィルタ係数を掛けた後、それらの乗算結果を加算していた。これに対して第2の実施形態では、1段目のD型フリップフロップ12a−1の入力タップから出力されるデータおよび2段目のD型フリップフロップ12a−2の出力タップから出力されるデータを加算器12c−1にて最初に加算し、その加算結果に対して係数器12b−1によって−1のフィルタ係数を乗算している。
つまり、図11に示す係数器12b−1は、図2に示した2個の係数器2b−1,2b−3を兼用している。このようにすることにより、係数器の使用数を減らすことができ、回路規模を更に小さくすることができる。なお、上述した第1の実施形態において、3タップFIR演算部2を図11に示す3タップFIR演算部12と同様に構成するようにしても良い。
強調演算部20は、係数器20a,20b、減算器20cおよび加算器20dを備えて構成されており、入力された強調係数α(αは任意の数)に基づいて、3タップFIR演算部12における“−1,m,−1”の比率の数値列より成るフィルタ係数に対して“−1+α/8,m−α/4,−1+α/8”という関係の強調演算を行う。この強調演算の意味は、両側の係数値に対して同じ値(上記の場合はα/8)を加算し、その加算した値の合計(上記の場合はα/4)を真中の係数値から減算するというものである。こうすることにより、強調前と強調後で係数列の合計値が変わらないようにする(−1+m+(−1)=m−2、(−1+α/8)+(m−α/4)+(−1+α/8)=m−2)。
強調演算部20の構成において、係数器20aは、入力される強調係数αに対して1/4の係数を乗算する。また、減算器20cは、“m”に相当するフィルタ係数を乗算する係数器12b−2より出力されるデータから、係数器20aより出力されるデータを減算することにより、m−α/4の演算結果を得る。また、係数器20bは、入力される強調係数αに対して1/8の係数を乗算する。また、加算器20dは、“−1,m,−1”のうち“−1,−1”に相当するフィルタ係数を乗算する係数器12b−1より出力されるデータに対して、係数器20bより出力されるデータを加算することにより、−1+α/8の演算結果を得る。
nタップFIR演算部13は、強調演算部20によって強調係数αに基づく強調演算が施された上で3タップFIR演算部12から出力されるデータを複数の遅延器から成るタップ付き遅延線により順次遅延させ、そのタップ付き遅延線における4個のタップから出力されるデータを、図3に示す{0.125,0.375,0.375,0.125}の数値列より成るフィルタ係数によりそれぞれ数倍した後、それらの乗算結果を加算して出力する。
このnタップFIR演算部13の構成は、図5に示したnタップFIR演算部4と全く同じである。なお、このnタップFIR演算部13に関しても、3タップFIR演算部12と同様にフィルタ係数の加算を先に行ってから乗算する構成とすることにより、係数器の使用数を減らすことが可能である。また、上述した第1の実施形態において、nタップFIR演算部3,4,5に関しても3タップFIR演算部12と同様に係数器を1つ減らせる構成としても良い。
図12は、図11に示した補間処理回路に振幅値“1”のユニットパルスを入力した場合の演算内容を示す図である。ここでは、強調係数αの値を“1”としている。図12に示すように、強調係数αの値を“1”とした場合、3タップFIR演算部12におけるフィルタ係数{−1,4,−1}は“−1+α/8,4−α/4,−1+α/8”という関係で強調演算され、{−0.875,3.75,−0.875}となる。
3タップFIR演算部12では、その強調されたフィルタ係数{−0.875,3.75,−0.875}とオーバーサンプリング入力データ“1,1”との間で積和演算が行われ、{−0.875,2.875,2.875,−0.875}という4個の数値列が出力される。この4個のデータ値がnタップFIR演算部13に入力されると、その4個のデータ値とフィルタ係数{0.125,0.375,0.375,0.125}との間で積和演算が行われ、{−0.875,0.25,8.875,15.5,8.875,0.25,−0.875}の比率から成る数値列が出力される。なお、α=0とすると、図6と同様の{−1,0,9,16,9,0,−1}の比率から成る数値列が得られる。
以上から分かるように、図11に示す補間処理回路において、α=1とした場合は、{−0.875,0.25,8.875,15.5,8.875,0.25,−0.875}という比率の係数列を用いて補間演算を実行することに相当する。ここでは図示を省略するが、強調係数αの値を変えると、得られる係数列も変わる。このように、第2の実施形態によれば、強調係数αの値を変えることにより、補間処理回路の回路構成は全く変えることなく、様々な係数列を用いたデータ補間を、何れの場合も3つの入力データ値のみを用いた積和演算により行うことができる。
図13は、図11に示す補間処理回路に矩形波を入力したときに得られる応答波形の強調特性を示す図であり、(a)は応答波形の全体を示し、(b)はその一部を拡大して示している。図13に示すように、強調係数αの値が“0”のときは、オーバーシュートもアンダーシュートも殆ど存在しない矩形波の応答が得られる。これに対して、強調係数αの値を“0”より大きくしていくと、オーバーシュートやアンダーシュートが生じる。オーバーシュートやアンダーシュートの大きさは、強調係数αの値が大きいほど大きくなる。
なお、上述したように、“−1,m,−1”という数値列は、そのインパルス応答が有限台となっている。このような特性を有する数値列に対して強調係数αにより強調演算を行って得られる数値列“−1+α/8,m−α/4,−1+α/8”のインパルス応答は、その振幅が強調係数αの値に応じて変化するが(図13参照)、有限台であることに変わりはない。
第2の実施形態においても、nタップFIR演算部13の構成を変えることによって、補間演算に用いる係数列を変えることができる。その際、3タップFIR演算部12は固定で、常に3つの入力データ値のみを用いて様々な係数列による補間を行うことができる。図14に、nタップFIR演算部13の構成を図2と同様のnタップFIR演算部3、図7と同様のnタップFIR演算部5に変えた場合の演算内容を示す。この図14の例でも、強調係数αの値は“1”としている。
図14(a)はnタップFIR演算部3、図14(b)はnタップFIR演算部5に変えた場合の演算内容を示す。図14(a)のように、図11に示す補間処理回路においてnタップFIR演算部13をnタップFIR演算部3に変え、α=1とした場合は、{−0.875,1.125,7.75,7.75,1.125,−0.875}という係数列を用いて補間演算をすることができる。また、図14(b)のように、図11に示す補間処理回路においてnタップFIR演算部13をnタップFIR演算部5に変え、α=1とした場合は、{−0.875,2,5.75,2,−0.875}という係数列を用いて補間演算をすることができる。
以上詳しく説明したように、第2の実施形態によれば、様々な係数列を用いたデータ補間を、何れの場合も3つの入力データ値のみを用いた積和演算により行うことができる。また、3タップFIR演算部において積和演算を行う際に用いる3つの値に対する強調度を強調係数αによって簡単に変えることができ、より豊富な係数列を用いた積和演算により補間値を容易に求めることができる。さらに、タップ数が極めて少なくて済むので、回路規模を小さくすることができる。また、処理が非常に簡素なので、補間処理を高速に行うこともできる。
なお、ここでは、3タップFIR演算部12における“−1,m,−1”の比率の数値列より成るフィルタ係数に対して“−1+α/8,m−α/4,−1+α/8”という関係の強調演算を行う例について説明したが、本発明はこれに限定されない。強調前と強調後で係数列の合計値が変わらなければ、上記以外の演算によって強調を行うようにしても良い。例えば、“−1+kα,m−2kα,−1+kα”(kは任意の値)という関係の強調演算を行うことが可能である。また、3タップFIR演算部から順次出力される3個のデータを“x,y,z”とした場合に、その出力データ“x,y,z”に対して“x+kα,y−2kα,z+kα”という関係の強調演算を行うようにしても良い。
(第3の実施形態)
次に、本発明の第3の実施形態について説明する。上述した第1および第2の実施形態では、連続して入力される3つのデータ値から補間値を求める1次元補間処理回路の例を示した。以下に説明する第3の実施形態は、離散的な3つのデータ値から補間値を求める2次元補間処理回路の例を示すものである。例えば、テレビジョン画像の品質を向上させるための画像高精細化回路として本実施形態の補間処理回路を用いる場合には、3つの水平ライン上に離散して存在する3つの画素値から補間画素値を求めることができる。
図15は、第3の実施形態による2次元補間処理回路の構成例を示す図で、テレビジョン画像の高精細化に応用した場合の回路構成例を示す図である。図16は、第3の実施形態による2次元補間処理回路で用いる各種クロックを説明するための図である。また、図17は、第3の実施形態による2次元補間処理回路で補間演算に用いる入力データの位置関係を示す図である。
図15に示すように、第3の実施形態による2次元補間処理回路は、タップ付き遅延線21と、D型フリップフロップ(バッファ)11−1,11−2と、3タップFIR演算部12−1,12−2と、nタップFIR演算部13−1,13−2と、強調演算部20−1,20−2と、3つのデータセレクタ22,23,24と、1H(1水平ライン)遅延回路25とを備えて構成されている。
タップ付き遅延線21は、複数の遅延器を備えて構成されており、入力されたデータを順次遅延させる。そして、その遅延線上にある所定の複数のタップからデータを出力するように成されている。タップ付き遅延線21から取り出されるデータ値は、図17に示す画素位置eを着目画素とした場合に、当該着目画素eおよびその着目画素eを挟んで斜め方向の最近接位置に配置された4つの近接画素a,c,g,iの画素値である。タップ付き遅延線21の遅延量は、所定のタップから画素値a,c,e,g,iのデータが取り出されるように調整されている。
タップ付き遅延線21から取り出されるデータ値のうち、画素値a,e,iは第1のデータセレクタ22に入力され、1つずつ順次にD型フリップフロップ11−1を介して3タップFIR演算部12−1に出力される。また、画素値c,e,gは第2のデータセレクタ23に入力され、1つずつ順次に1H遅延回路25およびD型フリップフロップ11−2を介して3タップFIR演算部12−2に出力される。
D型フリップフロップ11−1,11−2は、図11に示したD型フリップフロップ11と同じ機能を有するものである。3タップFIR演算部12−1,12−2は、図11に示した3タップFIR演算部12と同じ機能を有するものである。nタップFIR演算部13−1,13−2は、図11に示したnタップFIR演算部13と同じ機能を有するものである。また、強調演算部20−1,20−2は、図11に示した強調演算部20と同じ機能を有するものである。したがって、これらの詳細な説明は割愛する。
なお、ここではnタップFIR演算部13−1,13−2を用いる例(n=4の例)について示しているが、図2に示したnタップFIR演算部3(n=3)や、図7に示したnタップFIR演算部3(n=2)、あるいは図示していない他のnの値によるnタップFIR演算部を用いるようにしても良い。
第3のデータセレクタ24は、第1のnタップFIR演算部13−1から出力されるデータと、第2のnタップFIR演算部13−2から出力されるデータとの何れかを選択して出力する。具体的には、奇数ラインの奇数クロックおよび偶数ラインの奇数クロックでは第1のnタップFIR演算部13−1から出力されるデータを選択し、奇数ラインの偶数クロックおよび偶数ラインの偶数クロックでは第2のnタップFIR演算部13−2から出力されるデータを選択する。
このように構成した第3の実施形態による2次元補間処理回路も、基本的には第1の実施形態と同様に、タップ付き遅延線、3タップFIR演算部およびnタップFIR演算部によって構成することができる。したがって、m,nの値を変えることにより、様々な係数列を用いた2次元画像補間処理を、何れの場合も3つの入力データ値のみを用いた積和演算により行うことができる。また、3タップFIR演算部において積和演算を行う際に用いる3つの値に対する強調度を強調係数αによって簡単に変えることができ、より豊富な係数列を用いた積和演算により補間値を容易に求めることができる。さらに、タップ数が極めて少なくて済むので、回路規模を小さくすることができる。また、処理が非常に簡素なので、補間処理を高速に行うこともできる。
なお、上記第1〜第3の実施形態では、入力データを2倍にオーバーサンプルして補間する例について説明したが、本発明はこれに限定されない。例えば、4倍、8倍、・・・などのように2倍以上にオーバーサンプルして補間するようにしても良いし、逆にオーバーサンプルせずに補間するようにしても良い。
入力データをオーバーサンプルしない場合でも、図9に例示する数値列を利用した補間演算を実現することが可能である。図18は、{−1,0,9,16,9,0,−1}の比率から成る数値列を利用した補間演算を実現する場合の演算内容を示している。図18から分かるように、図2等に示した3タップFIR演算部2と、n=5としたnタップFIR演算部(本明細書中には図示していない)とを縦続接続し、nタップFIR演算部のフィルタ係数として{0.0625,0.25,0.375,0.25,0.0625}の数値列を用いれば、{−1,0,9,16,9,0,−1}の比率から成る数値列を利用した補間演算を行うことができる。
ただし、この図18と図6とを比較すれば明らかなように、入力データを2倍にオーバーサンプリングした方が、nタップFIR演算部で用いるフィルタ係数の数を少なくすることができる。これにより、補間演算に要求されるタップ数がより少なくて済み、回路規模をより小さくすることができるので、好ましい。
また、上記第1〜第3の実施形態では、テレビジョン画像の品質を向上させるための画像高精細化回路として本実施形態の補間処理回路を応用する例について説明したが、応用例はこれに限定されない。例えば、音声信号の品質を向上させるための回路や、圧縮されたデータを伸長するための回路などにも応用することが可能である。この他にも、データ補間を必要とする回路にはすべて応用が可能である。
その他、上記第1〜第3の実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその精神、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
以下、本発明の一実施形態を図面に基づいて説明する。図2は、第1の実施形態による補間処理回路の構成例を示す図である。図2に示すように、第1の実施形態による補間処理回路は、D型フリップフロップ1と、3タップFIR演算部2と、nタップFIR演算部3とを備えて構成されている。
入力段のD型フリップフロップ1は、入力データを1クロックCK分だけ保持するバッファとして機能する。3タップFIR演算部2は、D型フリップフロップ1から出力される入力データを複数の遅延器から成るタップ付き遅延線により順次遅延させ、そのタップ付き遅延線における3個のタップから出力されるデータを、“−1,m,−1”(mは任意の数)の比率の数値列より成るフィルタ係数によりそれぞれ数倍した後、それらの乗算結果を加算して出力する。
すなわち、3タップFIR演算部2は、縦続接続された2個のD型フリップフロップ2a−1〜2a−2と、3個の係数器2b−1〜2b−3と、2個の加算器2c−1〜2c−2とにより構成されている。2個のD型フリップフロップ2a−1〜2a−2は、入力データを1クロック(2CK)ずつ順次遅延させる。クロック(2CK)は、クロックCKに対して2倍の周波数を持つクロックである。入力データを1クロック(2CK)ずつ順次遅延させるのは、入力データを2倍にオーバーサンプリングすることを意味する。
3個の係数器2b−1〜2b−3は、各D型フリップフロップ2a−1〜2a−2の入出力タップから取り出した3個のデータに対し、“−1,m,−1”の比率の数値列より成るフィルタ係数をそれぞれ乗算する。2個の加算器2c−1〜2c−2は、各係数器2b−1〜2b−3から出力されるデータを全て加算して出力する。なお、図2では、係数器2b−1〜2b−3におけるフィルタ係数の例として、{−1,4,−1}の値を用いている。
nタップFIR演算部3は、3タップFIR演算部2の出力データを複数の遅延器から成るタップ付き遅延線により順次遅延させ、そのタップ付き遅延線におけるn個(nは自然数)のタップから出力されるデータを、所定の数値列より成るフィルタ係数によりそれぞれ数倍した後、それらの乗算結果を加算して出力する。ここで、上記所定の数値列は、“1”を(n−1)回移動平均演算して得られる数値列であることが好ましい。図2の例では、“1”を2回(n=3)移動平均演算して得られる数値列{0.25,0.5,0.25}をフィルタ係数として用いている(図3参照)。
ここで、n列目の数値列を求める際の移動平均演算とは、(n−1)列目の数値列とこれを1サンプル(1クロック)ずらした数値列とを重み付け加算するという演算(重みの合計値は“1”)を言う。すなわち、移動平均演算によってn列目の上からj番目のフィルタ係数を求める際には、(n−1)列目のデータ列のうち上からj番目のデータと、これを1サンプルずらしたデータ列の上からj番目のデータとを重み付け加算する。
例えば、2列目の上から1番目の数値“0.5”は、1列目の1番目の元データ“1”とその1サンプル前の前データ“0”とを加算して2で割ることによって得られ、2番目の数値“0.5”は、1列目の2番目の元データ“0”とその1サンプル前の前データ“1”とを加算して2で割ることによって得られる。また、3列目の上から1番目の数値“0.25”は、2列目の1番目の元データ“0.5”とその1サンプル前の前データ“0”とを加算して2で割ることによって得られ、2番目の数値“0.5”は、2列目の2番目の元データ“0.5”とその1サンプル前の前データ“0.5”とを加算して2で割ることによって得られ、3番目の数値“0.25”は、2列目の2番目の元データ“0”とその1サンプル前の前データ“0.5”とを加算して2で割ることによって得られる。
nタップFIR演算部3は、縦続接続された2個のD型フリップフロップ3a−1〜3a−2と、3個の係数器3b−1〜3b−3と、2個の加算器3c−1〜3c−2とにより構成されている。2個のD型フリップフロップ3a−1〜3a−2は、3タップFIR演算部2から入力されるデータを1クロック(2CK)ずつ順次遅延させる。3個の係数器3b−1〜3b−3は、各D型フリップフロップ3a−1〜3a−2の入出力タップから取り出した3個のデータに対し、{0.25,0.5,0.25}のフィルタ係数をそれぞれ乗算する。2個の加算器3c−1〜3c−2は、各係数器3b−1〜3b−3から出力されるデータを全て加算して出力する。
図4は、図2に示した補間処理回路に振幅値“1”のユニットパルスを入力した場合の演算内容を示す図である。図4(a)に示すように、ユニットパルスが3タップFIR演算部2にオーバーサンプリングして入力されると、その入力データ“1,1”とフィルタ係数{−1,4,−1}との間で積和演算が行われ、{−1,3,3,−1}という4個の数値列が出力される。
ここで行う積和演算を具体的に示すと、図4(b)に示すようなものである。すなわち、3タップFIR演算部2のフィルタ係数については、{−1,4,−1}の3個の数値列を常に固定的に乗加算の対象とする。一方、入力データについては、{1,1}の数値列の前後に“0”の数値列があるものと仮定し、この0値も含めて3個(3タップFIR演算部2のフィルタ係数の数と同数)の数値列を積和演算の対象とする。3タップFIR演算部2の出力データのi番目(i=1,2,3,4)の数値を求める際には、入力データのi番目の数値を含めてそれより前にある3個の数値列を乗加算の対象とする。
例えば、3タップFIR演算部2の出力データの1番目の数値を求める際は、3タップFIR演算部2の3個のフィルタ係数{−1,4,−1}(符号31で示す点線で囲った配列)と、入力データの1番目の数値を含めてそれより前にある3個の数値列{0,0,1}(符号32で示す点線で囲った配列)とを対象として、配列の対応する要素の積を合計する演算を行う。すなわち、この場合の演算結果は、(0×(−1)+0×4+1×(−1))=−1となる。
また、3タップFIR演算部2の出力データの2番目の数値を求める際には、3タップFIR演算部2の3個のフィルタ係数{−1,4,−1}(符号31で示す点線で囲った配列)と、入力データの2番目の数値を含めてそれより前にある3個の数値列{0,1,1}(符号33で示す点線で囲った配列)とを対象として、配列の対応する要素の積を合計する演算を行う。すなわち、この場合の演算結果は、(0×(−1)+1×4+1×(−1))=3となる。同様にして、3タップFIR演算部2の出力データの3番目の数値は(1×(−1)+1×4+0×(−1))=3、4番目の数値は(1×(−1)+0×4+0×(−1))=−1と求められる。
また、この4個のデータ値{−1,3,3,−1}がnタップFIR演算部3に入力されると、その4個のデータ値とフィルタ係数{0.25,0.5,0.25}との間で積和演算が行われ、{−1,1,8,8,1,−1}の比率から成る数値列が出力される(図4では、実際に得られる数値列を4倍して整数化して示している)。ここで行う積和演算も、図4(b)に示したのと同様である。
すなわち、nタップFIR演算部3のフィルタ係数については、{0.25,0.5,0.25}の3個の数値列を常に固定的に乗加算の対象とする。一方、3タップFIR演算部2の出力データについては、{−1,3,3,−1}の数値列の前後に“0”の数値列があるものと仮定し、この0値も含めて3個(nタップFIR演算部3のフィルタ係数の数と同数)の数値列を積和演算の対象とする。nタップFIR演算部3の出力データのi番目の数値を求める際には、3タップFIR演算部2の出力データのi番目の数値を含めてそれより前にある3個の数値列を乗加算の対象とする。
以上から分かるように、図2に示す補間処理回路は、{−1,1,8,8,1,−1}という比率の係数列を用いて補間演算を実行する回路(入力データがユニットパルスのときはそのデータ値“1”を補間値{−1,1,8,8,1,−1}/4に変えて出力する回路)に相当し、その補間演算の際に用いる入力データは常に3個である。この{−1,1,8,8,1,−1}という係数列は、WO2004/079905号公報の図1(本出願において改めて図9に示す)に示されるL4a3の係数列に相当する。
ここで、nタップFIR演算部3の内部構成を少し変えてみる。例えば、図5に示すように、D型フリップフロップ、係数器、加算器をそれぞれ1つずつ多くし、縦続接続された3個のD型フリップフロップ4a−1〜4a−3と、4個の係数器4b−1〜4b−4と、3個の加算器4c−1〜4c−3とによりnタップFIR演算部4を構成する。そして、4個の係数器4b−1〜4b−4のフィルタ係数として、{0.125,0.375,0.375,0.125}という数値列を用いるものとする。この数値列は、図3に示すように、“1”を3回(n=4)移動平均演算して得られる数値列である。
図6は、図5に示す補間処理回路に振幅値“1”のユニットパルスを入力した場合の演算内容を示す図である。図6に示すように、ユニットパルスが3タップFIR演算部2にオーバーサンプリングして入力されると、その入力データ“1,1”とフィルタ係数{−1,4,−1}との間で積和演算が行われ、{−1,3,3,−1}という4個の数値列が出力される。ここまでは、nタップFIR演算部3を用いた図2の場合と同じである。
また、3タップFIR演算部2から出力された4個のデータ値{−1,3,3,−1}が次段のnタップFIR演算部4に入力されると、その4個のデータ値とフィルタ係数{0.125,0.375,0.375,0.125}との間で積和演算が行われ、その結果として{−1,0,9,16,9,0,−1}の比率から成る数値列が出力される(図6では、実際に得られる数値列を8倍して整数化して示している)。
以上から分かるように、図5に示す補間処理回路は、{−1,0,9,16,9,0,−1}という比率の係数列を用いて補間演算をする回路に相当し、その補間演算の際に用いる入力データも、図2に示す補間処理回路と同様に常に3個である。この{−1,0,9,16,9,0,−1}という係数列は、図9に示されるL4a4の係数列に相当する。したがって、図5に示す補間処理回路を用いれば、図2の場合と同様に3個の入力データ値だけを用いて、図2の場合と異なる係数列に基づく補間演算を行うことができる。
さらに、図7に示すようにnタップFIR演算部5を構成した場合を考える。図7の例では、D型フリップフロップ、係数器、加算器をそれぞれ1つずつ少なくし、1個のD型フリップフロップ5a−1と、2個の係数器5b−1〜5b−2と、1個の加算器5c−1とによりnタップFIR演算部5を構成する。そして、2個の係数器5b−1〜5b−2のフィルタ係数として、{0.5,0.5}という数値列を用いるものとする。この数値列は、図3に示すように、“1”を1回(n=2)移動平均演算して得られる数値列である。
図8は、図7に示す補間処理回路に振幅値“1”のユニットパルスを入力した場合の演算内容を示す図である。図8に示すように、ユニットパルスが3タップFIR演算部2にオーバーサンプルして入力されると、その入力データ“1,1”とフィルタ係数{−1,4,−1}との間で積和演算が行われ、{−1,3,3,−1}という4個の数値列が出力される。ここまでは、nタップFIR演算部3を用いた図2の場合と同じである。
また、3タップFIR演算部2から出力された4個のデータ値{−1,3,3,−1}が次段のnタップFIR演算部5に入力されると、その4個のデータ値とフィルタ係数{0.5,0.5}との間で積和演算が行われ、その結果として{−1,2,6,2,−1}の比率から成る数値列が出力される(図8では、実際に得られる数値列を2倍して整数化して示している)。これから分かるように、図7に示す補間処理回路は、{−1,2,6,2,−1}という比率の係数列を用いて補間演算を実行する回路に相当し、その補間演算の際に用いる入力データも常に3個である。
以上詳しく説明したように、第1の実施形態によれば、図9に例示される様々な係数列を用いたデータ補間を、何れの場合も3つの入力データ値のみを用いた積和演算により行うことができる。すなわち、図9に示されるどの係数列を補間演算に利用するときも、3タップFIR演算部2は固定で常に3つの入力データ値を用いて補間演算をすれば良く、後段のnタップFIR演算部のタップ数(nの値)およびフィルタ係数値を変えるだけで、様々な係数列による補間を行うことができる。
図10は、図9に示した係数列のインパルス応答(補間関数の波形)を示す図である。この図10に示すような波形を有するインパルス応答は、横軸に沿った標本位置が一定の間にあるときにのみ“0”以外の有限な値を有し、それ以外の領域では値が全て“0”となる関数、つまり所定の標本位置において値が“0”に収束する関数である(これを「有限台」の関数と称する)。図9に示すどのフィルタ係数列のインパルス応答も有限台となる。
このような有限台のインパルス応答では、“0”以外の有限の値を有する局所的な領域内のデータだけが意味を持つ。この領域外のデータについては、補間演算の際に本来これを考慮すべきであるのに無視している訳ではなく、理論的に考慮する必要がない。そのため、図9に例示した係数列を補間関数として用いれば、補間関数として従来一般的に用いられてきたsinc関数(±∞で0に収束する)と異なり、得られる補間値に打ち切り誤差が含まれなくなり、正確な補間値を求めることができる。
また、第1の実施形態によれば、mの値を変えることで、図9に例示されているものとは異なる様々な係数列を用いたデータ補間も、3つの入力データ値のみを用いた積和演算により行うことができる。mの値を変えた場合も、得られる係数列のインパルス応答は有限台となる。したがって、そのような係数列を補間関数として用いることにより、正確な補間値を求めることができる。
また、第1の実施形態によれば、補間値を求めるのに3つの入力データ値のみを用いればよく、補間演算に要求されるタップ数が極めて少なくて済むので、回路規模を小さくすることができる。また、処理が非常に簡素なので、補間処理を高速に行うこともできる。
以上に示した第1の実施形態による補間処理回路は、連続して入力される3つのデータ値から補間値を求めるものとして利用可能である。例えば、テレビジョン画像の品質を向上させるための画像高精細化回路として本実施形態の補間処理回路を用いる場合には、1水平ライン上に連続して存在する3つの画素値を積和演算することによって補間画素値を求めることが可能である。つまり、第1の実施形態による補間処理回路を用いることによって、テレビジョン画像の1次元補間処理を行うことができる。
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。図11は、第2の実施形態による補間処理回路の構成例を示す図である。図11に示すように、第2の実施形態による補間処理回路は、D型フリップフロップ11と、3タップFIR演算部12と、nタップFIR演算部13と、強調演算部20とを備えて構成されている。
入力段のD型フリップフロップ11は、入力データを1クロックCK分だけ保持するバッファとして機能する。3タップFIR演算部12は、D型フリップフロップ11から出力される入力データを複数の遅延器から成るタップ付き遅延線により順次遅延させ、そのタップ付き遅延線における3個のタップから出力されるデータを、“−1,m,−1”(mは任意の数)の比率の数値列より成るフィルタ係数によりそれぞれ数倍した後、それらの乗算結果を加算して出力する。
第2の実施形態による3タップFIR演算部12は、縦続接続された2個のD型フリップフロップ12a−1〜12a−2と、2個の係数器12b−1〜12b−2と、2個の加算器12c−1〜12c−2とにより構成されている。このように構成した3タップFIR演算部12は、第1の実施形態で示した3タップFIR演算部2と比べて構成が若干異なっているものの、実施する積和演算の内容は全く同じである。
構成上異なっている点は、以下の通りである。すなわち、上述した第1の実施形態では、1段目のD型フリップフロップ12a−1の入力タップから出力されるデータおよび2段目のD型フリップフロップ12a−2の出力タップから出力されるデータのそれぞれに−1のフィルタ係数を掛けた後、それらの乗算結果を加算していた。これに対して第2の実施形態では、1段目のD型フリップフロップ12a−1の入力タップから出力されるデータおよび2段目のD型フリップフロップ12a−2の出力タップから出力されるデータを加算器12c−1にて最初に加算し、その加算結果に対して係数器12b−1によって−1のフィルタ係数を乗算している。
つまり、図11に示す係数器12b−1は、図2に示した2個の係数器2b−1,2b−3を兼用している。このようにすることにより、係数器の使用数を減らすことができ、回路規模を更に小さくすることができる。なお、上述した第1の実施形態において、3タップFIR演算部2を図11に示す3タップFIR演算部12と同様に構成するようにしても良い。
強調演算部20は、係数器20a,20b、減算器20cおよび加算器20dを備えて構成されており、入力された強調係数α(αは任意の数)に基づいて、3タップFIR演算部12における“−1,m,−1”の比率の数値列より成るフィルタ係数に対して“−1+α/8,m−α/4,−1+α/8”という関係の強調演算を行う。この強調演算の意味は、両側の係数値に対して同じ値(上記の場合はα/8)を加算し、その加算した値の合計(上記の場合はα/4)を真中の係数値から減算するというものである。こうすることにより、強調前と強調後で係数列の合計値が変わらないようにする(−1+m+(−1)=m−2、(−1+α/8)+(m−α/4)+(−1+α/8)=m−2)。
強調演算部20の構成において、係数器20aは、入力される強調係数αに対して1/4の係数を乗算する。また、減算器20cは、“m”に相当するフィルタ係数を乗算する係数器12b−2より出力されるデータから、係数器20aより出力されるデータを減算することにより、m−α/4の演算結果を得る。また、係数器20bは、入力される強調係数αに対して1/8の係数を乗算する。また、加算器20dは、“−1,m,−1”のうち“−1,−1”に相当するフィルタ係数を乗算する係数器12b−1より出力されるデータに対して、係数器20bより出力されるデータを加算することにより、−1+α/8の演算結果を得る。
nタップFIR演算部13は、強調演算部20によって強調係数αに基づく強調演算が施された上で3タップFIR演算部12から出力されるデータを複数の遅延器から成るタップ付き遅延線により順次遅延させ、そのタップ付き遅延線における4個のタップから出力されるデータを、図3に示す{0.125,0.375,0.375,0.125}の数値列より成るフィルタ係数によりそれぞれ数倍した後、それらの乗算結果を加算して出力する。
このnタップFIR演算部13の構成は、図5に示したnタップFIR演算部4と全く同じである。なお、このnタップFIR演算部13に関しても、3タップFIR演算部12と同様にフィルタ係数の加算を先に行ってから乗算する構成とすることにより、係数器の使用数を減らすことが可能である。また、上述した第1の実施形態において、nタップFIR演算部3,4,5に関しても3タップFIR演算部12と同様に係数器を1つ減らせる構成としても良い。
図12は、図11に示した補間処理回路に振幅値“1”のユニットパルスを入力した場合の演算内容を示す図である。ここでは、強調係数αの値を“1”としている。図12に示すように、強調係数αの値を“1”とした場合、3タップFIR演算部12におけるフィルタ係数{−1,4,−1}は“−1+α/8,4−α/4,−1+α/8”という関係で強調演算され、{−0.875,3.75,−0.875}となる。
3タップFIR演算部12では、その強調されたフィルタ係数{−0.875,3.75,−0.875}とオーバーサンプリング入力データ“1,1”との間で積和演算が行われ、{−0.875,2.875,2.875,−0.875}という4個の数値列が出力される。この4個のデータ値がnタップFIR演算部13に入力されると、その4個のデータ値とフィルタ係数{0.125,0.375,0.375,0.125}との間で積和演算が行われ、{−0.875,0.25,8.875,15.5,8.875,0.25,−0.875}の比率から成る数値列が出力される。なお、α=0とすると、図6と同様の{−1,0,9,16,9,0,−1}の比率から成る数値列が得られる。
以上から分かるように、図11に示す補間処理回路において、α=1とした場合は、{−0.875,0.25,8.875,15.5,8.875,0.25,−0.875}という比率の係数列を用いて補間演算を実行することに相当する。ここでは図示を省略するが、強調係数αの値を変えると、得られる係数列も変わる。このように、第2の実施形態によれば、強調係数αの値を変えることにより、補間処理回路の回路構成は全く変えることなく、様々な係数列を用いたデータ補間を、何れの場合も3つの入力データ値のみを用いた積和演算により行うことができる。
図13は、図11に示す補間処理回路に矩形波を入力したときに得られる応答波形の強調特性を示す図であり、(a)は応答波形の全体を示し、(b)はその一部を拡大して示している。図13に示すように、強調係数αの値が“0”のときは、オーバーシュートもアンダーシュートも殆ど存在しない矩形波の応答が得られる。これに対して、強調係数αの値を“0”より大きくしていくと、オーバーシュートやアンダーシュートが生じる。オーバーシュートやアンダーシュートの大きさは、強調係数αの値が大きいほど大きくなる。
なお、上述したように、“−1,m,−1”という数値列は、そのインパルス応答が有限台となっている。このような特性を有する数値列に対して強調係数αにより強調演算を行って得られる数値列“−1+α/8,m−α/4,−1+α/8”のインパルス応答は、その振幅が強調係数αの値に応じて変化するが(図13参照)、有限台であることに変わりはない。
第2の実施形態においても、nタップFIR演算部13の構成を変えることによって、補間演算に用いる係数列を変えることができる。その際、3タップFIR演算部12は固定で、常に3つの入力データ値のみを用いて様々な係数列による補間を行うことができる。図14に、nタップFIR演算部13の構成を図2と同様のnタップFIR演算部3、図7と同様のnタップFIR演算部5に変えた場合の演算内容を示す。この図14の例でも、強調係数αの値は“1”としている。
図14(a)はnタップFIR演算部3、図14(b)はnタップFIR演算部5に変えた場合の演算内容を示す。図14(a)のように、図11に示す補間処理回路においてnタップFIR演算部13をnタップFIR演算部3に変え、α=1とした場合は、{−0.875,1.125,7.75,7.75,1.125,−0.875}という係数列を用いて補間演算をすることができる。また、図14(b)のように、図11に示す補間処理回路においてnタップFIR演算部13をnタップFIR演算部5に変え、α=1とした場合は、{−0.875,2,5.75,2,−0.875}という係数列を用いて補間演算をすることができる。
以上詳しく説明したように、第2の実施形態によれば、様々な係数列を用いたデータ補間を、何れの場合も3つの入力データ値のみを用いた積和演算により行うことができる。また、3タップFIR演算部において積和演算を行う際に用いる3つの値に対する強調度を強調係数αによって簡単に変えることができ、より豊富な係数列を用いた積和演算により補間値を容易に求めることができる。さらに、タップ数が極めて少なくて済むので、回路規模を小さくすることができる。また、処理が非常に簡素なので、補間処理を高速に行うこともできる。
なお、ここでは、3タップFIR演算部12における“−1,m,−1”の比率の数値列より成るフィルタ係数に対して“−1+α/8,m−α/4,−1+α/8”という関係の強調演算を行う例について説明したが、本発明はこれに限定されない。強調前と強調後で係数列の合計値が変わらなければ、上記以外の演算によって強調を行うようにしても良い。例えば、“−1+kα,m−2kα,−1+kα”(kは任意の値)という関係の強調演算を行うことが可能である。また、3タップFIR演算部から順次出力される3個のデータを“x,y,z”とした場合に、その出力データ“x,y,z”に対して“x+kα,y−2kα,z+kα”という関係の強調演算を行うようにしても良い。
(第3の実施形態)
次に、本発明の第3の実施形態について説明する。上述した第1および第2の実施形態では、連続して入力される3つのデータ値から補間値を求める1次元補間処理回路の例を示した。以下に説明する第3の実施形態は、離散的な3つのデータ値から補間値を求める2次元補間処理回路の例を示すものである。例えば、テレビジョン画像の品質を向上させるための画像高精細化回路として本実施形態の補間処理回路を用いる場合には、3つの水平ライン上に離散して存在する3つの画素値から補間画素値を求めることができる。
図15は、第3の実施形態による2次元補間処理回路の構成例を示す図で、テレビジョン画像の高精細化に応用した場合の回路構成例を示す図である。図16は、第3の実施形態による2次元補間処理回路で用いる各種クロックを説明するための図である。また、図17は、第3の実施形態による2次元補間処理回路で補間演算に用いる入力データの位置関係を示す図である。
図15に示すように、第3の実施形態による2次元補間処理回路は、タップ付き遅延線21と、D型フリップフロップ(バッファ)11−1,11−2と、3タップFIR演算部12−1,12−2と、nタップFIR演算部13−1,13−2と、強調演算部20−1,20−2と、3つのデータセレクタ22,23,24と、1H(1水平ライン)遅延回路25とを備えて構成されている。
タップ付き遅延線21は、複数の遅延器を備えて構成されており、入力されたデータを順次遅延させる。そして、その遅延線上にある所定の複数のタップからデータを出力するように成されている。タップ付き遅延線21から取り出されるデータ値は、図17に示す画素位置eを着目画素とした場合に、当該着目画素eおよびその着目画素eを挟んで斜め方向の最近接位置に配置された4つの近接画素a,c,g,iの画素値である。タップ付き遅延線21の遅延量は、所定のタップから画素値a,c,e,g,iのデータが取り出されるように調整されている。
タップ付き遅延線21から取り出されるデータ値のうち、画素値a,e,iは第1のデータセレクタ22に入力され、1つずつ順次にD型フリップフロップ11−1を介して3タップFIR演算部12−1に出力される。また、画素値c,e,gは第2のデータセレクタ23に入力され、1つずつ順次に1H遅延回路25およびD型フリップフロップ11−2を介して3タップFIR演算部12−2に出力される。
D型フリップフロップ11−1,11−2は、図11に示したD型フリップフロップ11と同じ機能を有するものである。3タップFIR演算部12−1,12−2は、図11に示した3タップFIR演算部12と同じ機能を有するものである。nタップFIR演算部13−1,13−2は、図11に示したnタップFIR演算部13と同じ機能を有するものである。また、強調演算部20−1,20−2は、図11に示した強調演算部20と同じ機能を有するものである。したがって、これらの詳細な説明は割愛する。
なお、ここではnタップFIR演算部13−1,13−2を用いる例(n=4の例)について示しているが、図2に示したnタップFIR演算部3(n=3)や、図7に示したnタップFIR演算部3(n=2)、あるいは図示していない他のnの値によるnタップFIR演算部を用いるようにしても良い。
第3のデータセレクタ24は、第1のnタップFIR演算部13−1から出力されるデータと、第2のnタップFIR演算部13−2から出力されるデータとの何れかを選択して出力する。具体的には、奇数ラインの奇数クロックおよび偶数ラインの奇数クロックでは第1のnタップFIR演算部13−1から出力されるデータを選択し、奇数ラインの偶数クロックおよび偶数ラインの偶数クロックでは第2のnタップFIR演算部13−2から出力されるデータを選択する。
このように構成した第3の実施形態による2次元補間処理回路も、基本的には第1の実施形態と同様に、タップ付き遅延線、3タップFIR演算部およびnタップFIR演算部によって構成することができる。したがって、m,nの値を変えることにより、様々な係数列を用いた2次元画像補間処理を、何れの場合も3つの入力データ値のみを用いた積和演算により行うことができる。また、3タップFIR演算部において積和演算を行う際に用いる3つの値に対する強調度を強調係数αによって簡単に変えることができ、より豊富な係数列を用いた積和演算により補間値を容易に求めることができる。さらに、タップ数が極めて少なくて済むので、回路規模を小さくすることができる。また、処理が非常に簡素なので、補間処理を高速に行うこともできる。
なお、上記第1〜第3の実施形態では、入力データを2倍にオーバーサンプルして補間する例について説明したが、本発明はこれに限定されない。例えば、4倍、8倍、・・・などのように2倍以上にオーバーサンプルして補間するようにしても良いし、逆にオーバーサンプルせずに補間するようにしても良い。
入力データをオーバーサンプルしない場合でも、図9に例示する数値列を利用した補間演算を実現することが可能である。図18は、{−1,0,9,16,9,0,−1}の比率から成る数値列を利用した補間演算を実現する場合の演算内容を示している。図18から分かるように、図2等に示した3タップFIR演算部2と、n=5としたnタップFIR演算部(本明細書中には図示していない)とを縦続接続し、nタップFIR演算部のフィルタ係数として{0.0625,0.25,0.375,0.25,0.0625}の数値列を用いれば、{−1,0,9,16,9,0,−1}の比率から成る数値列を利用した補間演算を行うことができる。
ただし、この図18と図6とを比較すれば明らかなように、入力データを2倍にオーバーサンプリングした方が、nタップFIR演算部で用いるフィルタ係数の数を少なくすることができる。これにより、補間演算に要求されるタップ数がより少なくて済み、回路規模をより小さくすることができるので、好ましい。
また、上記第1〜第3の実施形態では、テレビジョン画像の品質を向上させるための画像高精細化回路として本実施形態の補間処理回路を応用する例について説明したが、応用例はこれに限定されない。例えば、音声信号の品質を向上させるための回路や、圧縮されたデータを伸長するための回路などにも応用することが可能である。この他にも、データ補間を必要とする回路にはすべて応用が可能である。
その他、上記第1〜第3の実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその精神、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明は、複数の遅延器から成るタップ付き遅延線における各タップの信号を与えられるフィルタ係数によりそれぞれ数倍した後、それらの乗算結果を加算して出力するタイプのFIRデジタルフィルタを利用した補間処理回路に有用である。本発明の補間処理回路は、データ補間を必要とする回路や装置にはすべて適用することが可能である。
Claims (3)
- 入力データを複数の遅延器から成るタップ付き遅延線により順次遅延させ、そのタップ付き遅延線における3個のタップから出力されるデータを、“−1,m,−1”(mは任意の数)の比率の数値列より成るフィルタ係数によりそれぞれ数倍した後、それらの乗算結果を加算して出力するように成された3タップFIR演算部と、
上記3タップFIR演算部の出力データを複数の遅延器から成るタップ付き遅延線により順次遅延させ、そのタップ付き遅延線におけるn個(nは自然数)のタップから出力されるデータを、“1”を(n−1)回移動平均演算して得られる数値列より成るフィルタ係数によりそれぞれ数倍した後、それらの乗算結果を加算して出力するように成されたnタップFIR演算部とを備えたことを特徴とする補間処理回路。 - 入力された強調係数α(αは任意の数)に基づいて、上記3タップFIR演算部における上記“−1,m,−1”の比率の数値列より成るフィルタ係数に対して“−1+kα,m−2kα,−1+kα”(kは任意の数)という関係の強調演算を行う強調演算部を備えたことを特徴とする請求の範囲第1項に記載の補間処理回路。
- 入力された強調係数α(αは任意の数)に基づいて、上記3タップFIR演算部から順次出力される3個のデータ“x,y,z”に対して“x+kα,y−2kα,x+kα”(kは任意の数)という関係の強調演算を行う強調演算部を備えたことを特徴とする請求の範囲第1項に記載の補間処理回路。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005176056 | 2005-06-16 | ||
JP2005176056 | 2005-06-16 | ||
PCT/JP2006/302576 WO2006134688A1 (ja) | 2005-06-16 | 2006-02-08 | 補間処理回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2006134688A1 true JPWO2006134688A1 (ja) | 2009-01-08 |
Family
ID=37532059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006528939A Withdrawn JPWO2006134688A1 (ja) | 2005-06-16 | 2006-02-08 | 補間処理回路 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20080208941A1 (ja) |
JP (1) | JPWO2006134688A1 (ja) |
CN (1) | CN101180796A (ja) |
GB (1) | GB2442623A (ja) |
TW (1) | TW200701138A (ja) |
WO (1) | WO2006134688A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8299946B2 (en) * | 2010-02-03 | 2012-10-30 | Taiwan Semiconductor Manufacturing Company, Ltd. | Noise shaping for digital pulse-width modulators |
JP6262621B2 (ja) * | 2013-09-25 | 2018-01-17 | 株式会社メガチップス | 画像の拡大縮小処理装置および画像の拡大縮小処理方法 |
US9741095B2 (en) * | 2014-01-29 | 2017-08-22 | Raytheon Company | Method for electronic zoom with sub-pixel offset |
US10432974B2 (en) * | 2014-02-13 | 2019-10-01 | Intel Corporation | Methods and apparatus to perform fractional-pixel interpolation filtering for media coding |
GB2598917A (en) * | 2020-09-18 | 2022-03-23 | Imagination Tech Ltd | Downscaler and method of downscaling |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4674125A (en) * | 1983-06-27 | 1987-06-16 | Rca Corporation | Real-time hierarchal pyramid signal processing apparatus |
GB2181318B (en) * | 1985-10-04 | 1989-12-28 | Sony Corp | Two-dimensional finite impulse response filters |
US5117179A (en) * | 1990-03-13 | 1992-05-26 | Hewlett-Packard Company | Swept signal analysis instrument and method |
US5475628A (en) * | 1992-09-30 | 1995-12-12 | Analog Devices, Inc. | Asynchronous digital sample rate converter |
US5414733A (en) * | 1993-12-20 | 1995-05-09 | Adtran | Decision feedback equalizer employing fixed ratio postcursor taps for minimizing noise and intersymbol interference in signals conveyed over high speed data service loop |
EP0734022B1 (en) * | 1995-03-24 | 2001-05-16 | Sony Corporation | Method and apparatus for interpolating digital data |
JPH09162699A (ja) * | 1995-12-01 | 1997-06-20 | Sony Corp | アップコンバータ |
JPH10126218A (ja) * | 1996-10-15 | 1998-05-15 | Sony Corp | サンプリング周波数変換装置 |
US6308190B1 (en) * | 1997-12-15 | 2001-10-23 | Pentomics, Inc. | Low-power pulse-shaping digital filters |
US6374279B1 (en) * | 1999-02-22 | 2002-04-16 | Nvidia U.S. Investment Company | System and method for increasing dual FIR filter efficiency |
US6903357B2 (en) * | 2002-10-28 | 2005-06-07 | The Boeing Company | Solid state spark detection |
CN1757162A (zh) * | 2003-03-03 | 2006-04-05 | 神经网络处理有限公司 | 数字滤波器的设计方法及装置、数字滤波器设计用程序、数字滤波器 |
JP2004343162A (ja) * | 2003-05-12 | 2004-12-02 | Neuro Solution Corp | コンポジット・ビデオ信号のyc分離回路およびyc分離方法 |
-
2006
- 2006-02-08 GB GB0722918A patent/GB2442623A/en not_active Withdrawn
- 2006-02-08 JP JP2006528939A patent/JPWO2006134688A1/ja not_active Withdrawn
- 2006-02-08 CN CNA2006800176322A patent/CN101180796A/zh active Pending
- 2006-02-08 US US11/915,085 patent/US20080208941A1/en not_active Abandoned
- 2006-02-08 WO PCT/JP2006/302576 patent/WO2006134688A1/ja active Application Filing
- 2006-02-15 TW TW095105100A patent/TW200701138A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
TW200701138A (en) | 2007-01-01 |
WO2006134688A1 (ja) | 2006-12-21 |
GB2442623A (en) | 2008-04-09 |
US20080208941A1 (en) | 2008-08-28 |
GB0722918D0 (en) | 2008-01-02 |
CN101180796A (zh) | 2008-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5359674A (en) | Pyramid processor integrated circuit | |
JP4518043B2 (ja) | 画像信号処理装置、及び画像信号を高解像度化するための方法、及びそれを実行するためのプログラム | |
US20070208793A1 (en) | Digital filter and its designing method, designing apparatus, and program for designing digital filter | |
JP4037841B2 (ja) | 映像補間装置および映像補間方法 | |
US7529788B2 (en) | Digital filter design method and device, digital filter design program, and digital filter | |
JPH01144732A (ja) | 半帯域幅デジタルフィルタ | |
US20080012882A1 (en) | Digital Filter and Image Processing Apparatus Using the Same | |
JPWO2006134688A1 (ja) | 補間処理回路 | |
EP1557947A1 (en) | Digital filter design method and device, digital filter design program, and digital filter | |
US7590675B2 (en) | Digital filter, design method thereof, design device, and digital filter design program | |
US20090070395A1 (en) | Interpolation function generation circuit | |
US6486813B1 (en) | Oversampling circuit digital/analog converter | |
JPWO2004079905A1 (ja) | デジタルフィルタの設計方法および装置、デジタルフィルタ設計用プログラム、デジタルフィルタ | |
US6486814B2 (en) | Digital-to-analog converter using different multiplicators between first and second portions of a data holding period | |
US7400676B2 (en) | Tone quality adjustment device designing method and designing device, tone quality adjustment device designing program, and tone quality adjustment device | |
KR20040007645A (ko) | 데이터 보간 장치 및 방법, 표본화 함수 생성 장치,데이터 보간 프로그램, 기록 매체 | |
US6489910B1 (en) | Oversampling circuit and digital/analog converter | |
US20050171988A1 (en) | Digital filter design method and device, digital filter design program, and digital filter | |
US20050120067A1 (en) | Digital filter designing method, digital filter designing program, digital filter | |
US6448918B1 (en) | Digital/analog converter | |
US6486815B1 (en) | Oversampling circuit and digital/analog converter | |
JP4586114B1 (ja) | 積和演算装置 | |
JP4838030B2 (ja) | 信号処理回路 | |
KR20060072042A (ko) | 영상압축에서의 움직임 보상을 위한 화면간 보간장치 | |
JPH05283979A (ja) | Fir型フィルタ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090120 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20090319 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20100121 |