(57)【特許請求の範囲】
【請求項１】
入力されたフレーム画像から、Ｎ倍速駆動表示用の、１番目からＮ番目までのＮ枚（Ｎ≧２）のサブフレーム画像を生成する画像処理装置であって、
フレーム画像を入力する入力手段と、
前記フレーム画像から、１番目からＮ番目までのＮ枚の中間画像を生成する生成手段と、
前記サブフレーム画像の着目画素の画素値を決定するために前記中間画像の画素値に適用される複数のフィルタ係数で構成されるオリジナルフィルタの前記複数のフィルタ係数をＮ個に分割することにより生成された、１番目からＮ番目までのＮ個のサブフィルタと、それぞれの前記サブフィルタが参照する画素の相対位置情報とを保持する保持手段と、
ｉ番目（１≦ｉ≦Ｎ）の前記中間画像の着目画素に対して、ｉ番目の前記サブフィルタの前記相対位置情報が示す相対位置にある、ｉ番目の前記中間画像の画素値を収集する収集手段と、
ｉ番目の前記中間画像の前記着目画素に対して、ｉ番目の前記サブフィルタの前記相対位置情報が示す相対位置にある、ｉ番目の前記中間画像の画素値であって、前記収集手段が収集した画素値に対して、ｉ番目の前記サブフィルタを用いて得られる演算値を、ｉ番目の前記サブフレーム画像の前記着目画素の画素値とすることにより、Ｎ枚の前記サブフレーム画像を作成する演算手段とを備え、
前記相対位置情報が示す相対位置は、前記サブフィルタに対応するｉの値により異なり、
Ｎ枚の前記サブフレーム画像についての画素値の平均値が、前記フレーム画像に対して前記オリジナルフィルタを用いて得られる値に一致することを特徴とする、画像処理装置。
【請求項２】
前記演算手段は、
ｉ番目の前記サブフィルタを用いた前記演算で得られた演算値が所定値を超えない場合、前記演算値を、ｉ番目の前記サブフレーム画像の前記着目画素の画素値として取得し、
前記演算値が前記所定値を超える場合、前記所定値を、ｉ番目の前記サブフレーム画像の前記着目画素の画素値として取得し、前記演算値と前記所定値との差分を、ｉ＋１番目の前記サブフィルタを用いた前記演算の結果に加える
ことを特徴とする、請求項１に記載の画像処理装置。
【請求項３】
前記中間画像と前記サブフレーム画像とを用いて、前記中間画像を拡大して得られる拡大画像を得るための拡大手段を備えることを特徴とする、請求項１又は２に記載の画像処理装置。
【請求項４】
入力されたフレーム画像から、Ｎ倍速駆動表示用の、１番目からＮ番目までのＮ枚（Ｎ≧２）のサブフレーム画像を生成する、入力手段と生成手段と保持手段と収集手段と演算手段とを備える画像処理装置が行う画像処理方法であって、
前記入力手段が、フレーム画像を入力する入力工程と、
前記生成手段が、前記フレーム画像から、１番目からＮ番目までのＮ枚の中間画像を生成する生成工程と、
前記保持手段が、前記サブフレーム画像の着目画素の画素値を決定するために前記中間画像の画素値に適用される複数のフィルタ係数で構成されるオリジナルフィルタの前記複数のフィルタ係数をＮ個に分割することにより生成された、１番目からＮ番目までのＮ個のサブフィルタと、それぞれの前記サブフィルタが参照する画素の相対位置情報とを保持する保持工程と、
前記収集手段が、ｉ番目（１≦ｉ≦Ｎ）の前記中間画像の着目画素に対して、ｉ番目の前記サブフィルタの前記相対位置情報が示す相対位置にある、ｉ番目の前記中間画像の画素値を収集する収集工程と、
前記演算手段が、ｉ番目の前記中間画像の前記着目画素に対して、ｉ番目の前記サブフィルタの前記相対位置情報が示す相対位置にある、ｉ番目の前記中間画像の画素値であって、前記収集手段が収集した画素値に対して、ｉ番目の前記サブフィルタを用いて得られる演算値を、ｉ番目の前記サブフレーム画像の前記着目画素の画素値とすることにより、Ｎ枚の前記サブフレーム画像を作成する演算工程とを備え、
前記相対位置情報が示す相対位置は、前記サブフィルタに対応するｉの値により異なり、
Ｎ枚の前記サブフレーム画像についての画素値の平均値が、前記フレーム画像に対して前記オリジナルフィルタを用いて得られる値に一致することを特徴とする、画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像に対するフィルタ処理技術に関する。
【背景技術】
【０００２】
近年、ディスプレイは大画面化及び高解像度化(４Ｋ２Ｋ、８Ｋ４Ｋ)している。これにともなって、解像度変換等の画像処理には高画質な画像を生成することが求められている。このような画像処理方法の一つに、２次元フィルタを使用したフィルタ処理がある。フィルタ処理によって得られる画像の画質を向上するための方法の１つとして、フィルタのタップ数を増やす方法がある。しかしながらタップ数を増加するためには、演算回路やラインメモリ等を拡大する必要がある。
【０００３】
特許文献１には、このような演算回路やラインメモリ等の拡大を防止しながら、画像データを拡大する方法が開示されている。特許文献１に記載の方法では、拡大処理を行う際に、隣接する画素の画素値を繰り返すように補間を行うことにより、複数のサブフレーム画像を生成する。このとき、同じ位置の画素が、異なるサブフレーム画像において、異なる画素値を持つようにすることができる。これら複数のフレーム画像を連続して表示することにより、各フレーム画像における画素値の平均が、見かけの画素値となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０９−２１４８６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら特許文献１の方法においては、補間によって生成される画素値は他の画素値の繰り返しである。より高い画質が求められている現状においては、より高精度な画像処理を行うことが望ましい。
【０００６】
本発明によれば、演算回路の増大を抑えながら、より高精度なフィルタ処理を用いた画像処理を行う技術を提供する。
【課題を解決するための手段】
【０００７】
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。すなわち、
入力されたフレーム画像から、Ｎ倍速駆動表示用の、１番目からＮ番目までのＮ枚（Ｎ≧２）のサブフレーム画像を生成する画像処理装置であって、
フレーム画像を入力する入力手段と、
前記フレーム画像から、１番目からＮ番目までのＮ枚の中間画像を生成する生成手段と、
前記サブフレーム画像の着目画素の画素値を決定するために前記中間画像の画素値に適用される複数のフィルタ係数で構成されるオリジナルフィルタの前記複数のフィルタ係数をＮ個に分割することにより生成された、１番目からＮ番目までのＮ個のサブフィルタと、それぞれの前記サブフィルタが参照する画素の相対位置情報とを保持する保持手段と、
ｉ番目（１≦ｉ≦Ｎ）の前記中間画像の着目画素に対して、ｉ番目の前記サブフィルタの前記相対位置情報が示す相対位置にある、ｉ番目の前記中間画像の画素値を収集する収集手段と、
ｉ番目の前記中間画像の前記着目画素に対して、ｉ番目の前記サブフィルタの前記相対位置情報が示す相対位置にある、ｉ番目の前記中間画像の画素値であって、前記収集手段が収集した画素値に対して、ｉ番目の前記サブフィルタを用いて得られる演算値を、ｉ番目の前記サブフレーム画像の前記着目画素の画素値とすることにより、Ｎ枚の前記サブフレーム画像を作成する演算手段とを備え、
前記相対位置情報が示す相対位置は、前記サブフィルタに対応するｉの値により異なり、
Ｎ枚の前記サブフレーム画像についての画素値の平均値が、前記フレーム画像に対して前記オリジナルフィルタを用いて得られる値に一致することを特徴とする。
【発明の効果】
【０００８】
演算回路の増大を抑えながら、より高精度なフィルタ処理を用いた画像処理を行うことができる。
【図面の簡単な説明】
【０００９】
【図１】実施例１に係る画像処理装置の構成を示すブロック図。
【図２】実施例１に係るフィルタ処理を説明する図。
【図３】実施例１に係るフィルタ処理を説明する図。
【図４】実施例１に係るフィルタ処理を説明する図。
【図５】実施例１に係るフィルタ処理を説明する図。
【図６】実施例１に係る処理のフローチャート。
【図７】実施例３に係るフィルタ係数の分割例を説明する図。
【図８】実施例３に係るフィルタ係数を示す図。
【図９】実施例１に係るフィルタ処理を説明する図。
【発明を実施するための形態】
【００１０】
［実施例１］
本実施例では、動画像を４倍速駆動表示する。例えば、６０Ｈｚの動画像が入力された場合には、動画像を２４０Ｈｚに変換し、変換された動画像を出力する。さらに、フレーム画像に対してフィルタ処理を行うことにより、フレーム画像を拡大する。図１は、本実施例に係るブロック図である。
【００１１】
フレームレート変換部１０１は、フレームメモリ１１１を備える。フレームレート変換部１０１は、入力された１枚のフレーム画像を、４つのサブフレーム（中間画像）に変換する（変換手段）。この際フレームレート変換部１０１は、動き検出などの既知の方法を用いて補間処理を行うことにより、１枚のフレーム画像と後続するフレーム画像とを補間する画像として、サブフレームを生成してもよい。そしてフレームレート変換部１０１は、４つのサブフレームを解像度変換部１０２へと出力する。
【００１２】
解像度変換部１０２は、４つのサブフレームのそれぞれを拡大する。解像度変換部１０２は、サブフレーム判定部１０３と、フィルタ記憶部１０４と、水平演算回路１０５と、垂直演算回路１０６とを備える。解像度変換部１０２はまた、サブフレームカウント部１０７と、フィルタ切換部１０８と、読み出し制御部１０９、増幅部１１０とを備える。
【００１３】
サブフレーム判定部１０３は、フレームレート変換部１０１から取得したサブフレーム画像について、フィルタ処理を行う領域が、４つのサブフレーム画像について同じか否かを判定する。サブフレーム判定部１０３は、判定結果に基づいて、フィルタ記憶部１０４（保持手段）から出力されるフィルタ係数を変更する。水平演算回路１０５と垂直演算回路１０６とは、５ｘ５タップの２次元ＦＩＲフィルタを構成する。水平演算回路１０５と垂直演算回路１０６とは、フィルタ記憶部１０４に格納されたフィルタ係数を用いて、サブフレーム画像に対してフィルタ処理を行う。本実施例において、水平演算回路１０５と垂直演算回路１０６とは、拡大処理において必要となる補間画素の画素値を求める。
【００１４】
サブフレームカウント部１０７は、１枚のフレーム画像が生成されるサブフレームの数（本実施例においては４つ）をフレームレート変換部１０１から取得する。またサブフレームカウント部１０７は、サブフレームが１枚のフレーム画像についての何番目のサブフレームであるかを判断する。フィルタ切換部１０８は、サブフレームカウント部１０７からの情報に基づいて、フィルタ記憶部１０４からフィルタ係数を選択し、水平演算回路１０５と垂直演算回路１０６とに出力する。フィルタ記憶部１０４には、それぞれのフィルタ係数が適用される画素の相対位置情報が、さらに保持されている。
【００１５】
読み出し制御部１０９は、サブフレーム画像中（中間画像中）のどの画素値が、フレームレート変換部１０１から、水平演算回路１０５及び垂直演算回路１０６へと出力されるかを制御する（収集手段）。増幅部１１０は、水平演算回路１０５及び垂直演算回路１０６から出力された値を４倍して出力する。これらの処理によって、解像度変換部１０２は、フィルタ処理されたサブフレーム画像を作成する。
【００１６】
図２と図３に、本実施例で行う処理の概略を示す。図２は、フィルタ処理が行われる領域内の画像が、４つのサブフレームについて同じではない場合の処理を示す。図２は、動き検出などの既知の方法を用いることにより、２つのフレームの補間画像としてサブフレームが生成された場合に対応する。サブフレームが補間画像である場合には、図２に示すように、５×５のフィルタ係数を用いるフィルタ処理を行う。こうして、拡大処理において必要な補間画素の画素値が求められる。本実施例では各入力サブフレーム２５１〜２５４に対してフィルタ処理を行うことにより、出力サブフレーム２６１〜２６４を生成する。着目画素の画素値を求めるためにフィルタ処理を行う場合、フィルタが参照する画素の、着目画素に対する位置は、４つのサブフレームのそれぞれについて共通である。
【００１７】
図３は、フィルタ処理が行われる領域内の画像が、４つのサブフレームについて同じ場合の処理を示す。この場合、５×５タップのフィルタ（水平演算回路１０５及び垂直演算回路１０６）は、１０×１０のフィルタ係数と、１０×１０個の画素とを参照することにより、補間画素値を算出する。図４を参照して、図３の処理をより詳しく説明する。図３の処理においては、図３（Ｂ）に示す１０×１０のフィルタ係数を用いる。図３（Ｂ）のフィルタ係数は、図３（Ａ）に示されるフィルタ関数３３１〜３３４から求められる。
【００１８】
図３においては、第１サブフレーム３１１、第２サブフレーム３１２、第３サブフレーム３１３、及び第４サブフレーム３１４に対してフィルタ処理が行われる。そして、第１サブフレーム３２１、第２サブフレーム３２２、第３サブフレーム３２３、及び第４サブフレーム３２４が生成される。図３に示される第１サブフレームの補間画素３０３、第２サブフレームの補間画素３０６、第３サブフレームの補間画素３０７、及び第４サブフレームの補間画素３０８は、同じ位置に存在する。
【００１９】
補間画素３０３の画素値を求めるために、本実施例では、補間画素３０３の位置の左上に位置する５×５画素（３０１）に対して、図３（Ｂ）の左上のフィルタ係数群（３４１）（サブフィルタ）が適用される。同様に、画素群３０４に対してはフィルタ係数群３４２が適用される。画素群３０５に対してはフィルタ係数群３４３が適用される。画素群３０９に対してはフィルタ係数群３４４が適用される。このように、それぞれのフィルタ係数には、適用される画素の相対位置情報が規定されている。各フィルタ係数群３４１〜３４４は、３４１〜３４４を包含するオリジナルフィルタを分割することによって得られる。
【００２０】
第１〜第４サブフレーム３２１〜３２４は連続して表示されるため、補間画素３０３、３０６、３０７、及び３０８も連続して表示され。従って、累積輝度視認効果により、人の目に知覚される補間画素値は、補間画素３０３、３０６、３０７、及び３０８の平均値となる。フィルタ処理によって得られた補間画素値を適切に補正する（本実施例では４倍する）ことにより、補間画素の平均値は、１０×１０タップのフィルタを用いて計算される補間画素値と等しくなる。
【００２１】
次に、図４、図５、及び図９を使用して、本実施例の処理をより詳しく説明する。本実施例では、図４（Ａ）のサブフレーム画像が、図９（Ｂ）のように縦方向及び横方向のそれぞれについて２倍に拡大される。ここでは、図９（Ｂ）の補間画素４０１の画素値を求めるものとする。図９（Ａ）に示される１０×１０タップのＦＩＲフィルタを用いる場合、補間画素４０１の画素値Ａは、図４（Ｂ）に示される式（１）によって求められる。
【００２２】
本実施例では、４１１に対応する値を、第１サブフレームでの補間画素４０１の値とする。また、４１２に対応する値を、第２サブフレームでの補間画素４０１の値とする。さらに、４１３に対応する値を、第３サブフレームでの補間画素４０１の値とする。さらに、４１４に対応する値を、第４サブフレームでの補間画素４０１の値とする。
【００２３】
本実施例では、４１１〜４１４に示される値を４倍して得られる値を、補間画素４０１の値とする。これは、補間画素値にサブフレームの数（Ｎ、本実施例では４）を乗じると、補間画素４０１の各サブフレームについての平均値が、１０×１０タップのフィルタを用いて計算される補間画素値と等しくなるためである。このことは、以下の式（２）〜（５）によって示される。もっとも、補間画素値にサブフレームの数（Ｎ）を乗じる必要がないように、フィルタ係数が予め調整されていてもよい。例えば、本実施例で用いられるフィルタ係数が、１０×１０タップのフィルタにおいて用いられるフィルタ係数にＮを乗じることによって求められていてもよい。
【００２４】
第１サブフレームにおける補間画素４０１の画素値をＡ１とすると、
A1=(X00・K0・L0 + X01・K1・L0 + X02・K2・L0 + X03・K3・L0 + X04・K4・L0 +
X10・K0・L1 + X11・K1・L1 + X12・K2・L1 + X13・K3・L1 + X14・K4・L1 +
X20・K0・L2 + X21・K1・L2 + X22・K2・L2 + X23・K3・L2 + X24・K4・L2 +
X30・K0・L3 + X31・K1・L3 + X32・K2・L3 + X33・K3・L3 + X34・K4・L3 +
X40・K0・L4 + X41・K1・L4 + X42・K2・L4 + X43・K3・L4 + X44・K4・L4)×4 (2)
【００２５】
第２サブフレームにおける補間画素４０１の画素値をＡ２とすると、
A2=(X50・K0・L5 + X51・K1・L5 + X52・K2・L5 + X53・K3・L5 + X54・K4・L5 +
X60・K0・L6 + X61・K1・L6 + X62・K2・L6 + X63・K3・L6 + X64・K4・L6 +
X70・K0・L7 + X71・K1・L7 + X72・K2・L7 + X73・K3・L7 + X74・K4・L7 +
X80・K0・L8 + X81・K1・L8 + X82・K2・L8 + X83・K3・L8 + X84・K4・L8 +
X90・K0・L9 + X91・K1・L9 + X92・K2・L9 + X43・K3・L9 + X94・K4・L9)×4 (3)
【００２６】
第３サブフレームにおける補間画素４０１の画素値をＡ３とすると、
A3=(X55・K5・L5 + X56・K6・L5 + X57・K7・L5 + X58・K8・L5 + X59・K9・L5 +
X65・K5・L6 + X66・K6・L6 + X67・K7・L6 + X68・K8・L6 + X69・K9・L6 +
X75・K5・L7 + X76・K6・L7 + X77・K7・L7 + X78・K8・L7 + X79・K9・L7 +
X85・K5・L8 + X86・K6・L8 + X87・K7・L8 + X88・K8・L8 + X89・K9・L8 +
X95・K5・L9 + X96・K6・L9 + X97・K7・L9 + X98・K8・L9 + X99・K9・L9)×4 (4)
【００２７】
第４サブフレームにおける補間画素４０１の画素値をＡ４とすると、
A4=(X05・K5・L0 + X06・K6・L0 + X07・K7・L0 + X08・K8・L0 + X09・K9・L0 +
X15・K5・L1 + X16・K6・L1 + X17・K7・L1 + X18・K8・L1 + X19・K9・L1 +
X25・K5・L2 + X26・K6・L2 + X27・K7・L2 + X28・K8・L2 + X29・K9・L2 +
X35・K5・L3 + X36・K6・L3 + X37・K7・L3 + X38・K8・L3 + X39・K9・L3 +
X45・K5・L4 + X46・K6・L4 + X47・K7・L4 + X48・K8・L4 + X49・K9・L4)×4 (5)
【００２８】
式（２）〜（５）に従って求められた補間画素値Ａ１〜Ａ４の平均画素値Ａｍは、以下の式（６）に従って求められる。
Ａｍ＝（Ａ１＋Ａ２＋Ａ３＋Ａ４）／４  …（６）
平均画素値Ａｍは、図４（Ｂ）の式（１）に従って求められる、１０×１０タップのＦＩＲによって算出された画素値Ａｍと等しくなる。すなわち、本実施例に従って生成されたサブフレームが連続して表示された場合に人の目に知覚される補間画素値は、１０×１０タップのフィルタを用いて生成されたサブフレームが表示された場合に人の目に知覚される補間画素値と等しくなる。
【００２９】
式（２）の計算は、図５（Ａ）に示されるように、５×５タップのフィルタ回路と、２ビットシフタとを用いて実現することができる。図５（Ａ）のフィルタ回路は、図４（Ａ）に示される１０×１０個の参照画素のうち、左上の５×５個の画素群４０２を参照する。また、図５（Ａ）のフィルタ回路は、図３（Ｂ）に示されるフィルタ係数のうち、左上の５×５個の係数群３４１を用いる。フィルタ回路から出力された値を、２ビットシフタが左に（最上位ビット方向に）２ビットシフトすることにより、フィルタ回路から出力された値を４倍にすることができる。
【００３０】
同様に式（３）の計算は、図５（Ｂ）に示されるように、５×５タップのフィルタ回路と、２ビットシフタとを用いて実現することができる。図５（Ｂ）のフィルタ回路は、図４（Ａ）に示される１０×１０個の参照画素のうち、左下の５×５個の画素群４０３を参照する。また、図５（Ａ）のフィルタ回路は、図３（Ｂ）に示されるフィルタ係数のうち、左下の５×５個の係数群３４２を用いる。
【００３１】
式（４）の計算も、図５（Ｃ）に示されるように、５×５タップのフィルタ回路と、２ビットシフタとを用いて実現することができる。図５（Ｃ）のフィルタ回路は、図４（Ａ）に示される１０×１０個の参照画素のうち、右下の５×５個の画素群４０４を参照する。また、図５（Ｃ）のフィルタ回路は、図３（Ｂ）に示されるフィルタ係数のうち、右下の５×５個の係数群３４３を用いる。
【００３２】
式（５）の計算も、図５（Ｄ）に示されるように、５×５タップのフィルタ回路と、２ビットシフタとを用いて実現することができる。図５（Ｄ）のフィルタ回路は、図４（Ａ）に示される１０×１０個の参照画素のうち、右上の５×５個の画素群４０４を参照する。また、図５（Ｄ）のフィルタ回路は、図３（Ｂ）に示されるフィルタ係数のうち、右上の５×５個の係数群３４４を用いる。
【００３３】
本実施例では、以上の図５（Ａ）〜（Ｄ）の構成を、５×５タップの、水平演算回路１０５及び垂直演算回路１０６を用いて実現する。本実施例では図５（Ａ）〜（Ｄ）のＦＩＲフィルタが用いられる。したがって本実施例では水平演算回路１０５及び垂直演算回路１０６に対して２５個の係数が設定されるのではなく、実際には水平演算回路１０５に対して５個の係数が設定され、垂直演算回路１０６に対して５個の係数が設定される。
【００３４】
図５（Ａ）〜（Ｄ）の回路は、用いるフィルタ係数が異なる。また、参照する画素も異なる。本実施例では、フィルタ切換部１０８が、水平演算回路１０５及び垂直演算回路１０６によって用いられるフィルタ係数を変更する。また、読み出し制御部１０９が、水平演算回路１０５及び垂直演算回路１０６によって参照される画素を変更する。こうして、累積輝度視認効果を利用することにより、５×５タップのフィルタ回路で１０×１０タップのフィルタ演算結果を得ることができる。
【００３５】
次に、本実施例に係る処理を、図６（Ａ）のフローチャートを用いて説明する。ステップＳ６０１の開始前に、フレームレート変換部１０１による変換処理が終了しているものとする。ステップＳ６０１において、サブフレームカウント部１０７は、ｉを１に初期化する。この初期化は、第１サブフレームが入力された際に、もしくは、第４サブフレームの処理が終了した際に行われればよい。ｉは処理対象のサブフレーム番号を示し、１≦ｉ≦Ｎである。サブフレームは１番目からＮ番目まで、Ｎ枚入力される。つまり、Ｎはサブフレームの数を示す。
【００３６】
ステップＳ６０２において、読み出し制御部１０９は、着目画素位置を初期化する。例えば読み出し制御部１０９は、サブフレーム画像の最も左上の画素を着目画素とすればよい。この場合読み出し制御部１０９は、ステップＳ６１２でラスタ順に順次着目画素を選択していけばよい。
【００３７】
ステップＳ６０３において、サブフレーム判定部１０３は、フィルタ処理が行われる領域内の画像が、４つのサブフレームについて一致するか否かを判定する（判断手段）。つまり、フィルタ処理が行われる領域内の画像について、補間画像が生成されているか、同じ画像が４回繰り返されている（４度出し）かを判定する。具体的には、着目画素の画素値が４つのサブフレームについて同じか否かを判定してもよい。また、着目画素周辺の画像が４つのサブフレームについて同じか否かを判定してもよい。さらには、フィルタ処理において参照する画素の画素値が、４つのサブフレームについて同じか否かを判定してもよい。
【００３８】
サブフレーム判定部１０３は、フレームレート変換部１０１又はフレームメモリ１１１に格納されているサブフレーム画像を参照して、ステップＳ６０３の判定を行ってもよい。また、サブフレーム判定部１０３は、フィルタ処理が行われる領域内の画像が４つのサブフレームについて同じか否かを、フレームレート変換部１０１に問い合わせてもよい。
【００３９】
ステップＳ６０３で、４度出しであると判定された場合、処理はステップＳ６０４に進む。また、４度出しではないと判定された場合、処理はステップＳ６０９に進む。ステップＳ６０４において、サブフレーム判定部１０３は、フィルタ記憶部１０４が図３（Ｂ）に示されるような１０×１０個の係数を出力するように、フィルタ記憶部１０４を設定する。ステップＳ６０５において、フィルタ切換部１０８は、フィルタ記憶部１０４から出力された１０×１０のフィルタ係数から、サブフレーム番号ｉについての５×５のフィルタ係数を選択する。
【００４０】
第１サブフレームについては、フィルタ切換部１０８はフィルタ係数群３４１を選択すればよい。第２サブフレームについては、フィルタ切換部１０８はフィルタ係数群３４２を選択すればよい。第３サブフレームについては、フィルタ切換部１０８はフィルタ係数群３４３を選択すればよい。第４サブフレームについては、フィルタ切換部１０８はフィルタ係数群３４４を選択すればよい。そしてフィルタ係数切換部１０８は、選択したフィルタ係数を、水平演算回路１０５及び垂直演算回路１０６に設定する。前述のように本実施例では、フィルタ係数切換部１０８は、水平演算回路１０５に対して５個の係数を設定し、垂直演算回路１０６に対して５個の係数を設定する。
【００４１】
ステップＳ６０６において、読み出し制御部１０９は、サブフレーム番号に従って、フレームレート変換部１０１又はフレームメモリ１１１から参照画素の画素値を読み出す。例えば着目画素が図４（Ａ）のＸ４４である場合、読み出し制御部１０９は、１番目のサブフレームについては画素群４０２の画素値を読み出せばよい。また、読み出し制御部１０９は、２番目のサブフレームについては画素群４０３の画素値を読み出せばよい。３番目のサブフレームについては、読み出し制御部１０９は画素群４０３の画素値を読み出せばよい。４番目のサブフレームについては、読み出し制御部１０９は画素群４０４の画素値を読み出せばよい。
【００４２】
読み出し制御部１０９が画素群４０２の画素値を読み出すタイミングを通常のタイミングとする。この場合、第２サブフレームの参照画素は、第１サブフレームの参照画素に対して５ライン下のデータであるから、読み出し制御部１０９は通常のタイミングよりも５ライン分オフセットして読み出しを行えばよい。第３サブフレームの参照画素は、第１サブフレームの参照画素に対して５ドット右かつ５ライン下のデータであるから、読み出し制御部１０９は通常のタイミングよりも５ドット５ライン分オフセットして読み出しを行えばよい。第４サブフレームの参照画素は、第１サブフレームの参照画素に対して５ドット右のデータであるから、読み出し制御部１０９は通常のタイミングよりも５ドット分オフセットして読み出しを行えばよい。
【００４３】
ステップＳ６０７において、水平演算回路１０５及び垂直演算回路１０６は、ステップＳ６０５で設定されたフィルタ係数と、ステップＳ６０６で読み出された参照画素とを用いて、５×５タップのフィルタ演算を行う。ステップＳ６０８において、増幅部１１０は、ステップＳ６０７での結果を４倍して得られた値を、出力画素値として出力する。
【００４４】
ステップＳ６０９でサブフレーム判定部は、フィルタ記憶部１０４が５×５のフィルタ係数を出力するように、フィルタ記憶部１０４を設定する。さらにフィルタ切換部１０８は、フィルタ記憶部１０４によって出力されたフィルタ係数を、水平演算回路１０５及び垂直演算回路１０６に設定する。ステップＳ６１０において読み出し制御部１０９は、着目画素周辺の５×５個の参照画素を読み出す。
【００４５】
ステップＳ６１１において、水平演算回路１０５及び垂直演算回路１０６は、ステップＳ６０９で設定されたフィルタ係数と、ステップＳ６１０で読み出された参照画素の画素値を用いて、フィルタ演算を行う。そして水平演算回路１０５及び垂直演算回路１０６は、演算結果を出力画素値として出力する。図６に示される処理の終了後、例えば画素Ｘ４４を着目画素として求められた出力画素値が、画素４０１の画素値となるように、図９（Ｂ）に示される拡大画像が生成される。
【００４６】
ステップＳ６１２において、読み出し制御部１０９は、例えばラスタ順に、着目画素を選択する。ステップＳ６１３で読み出し制御部１０９は、ｉ番目のサブフレーム中の全ての画素に対して処理を行ったか否かを判定する。全ての画素について処理が終了していない場合、処理はステップＳ６０３に戻る。全ての画素について処理が終了している場合、処理はステップＳ６１４に進む。
【００４７】
ステップＳ６１４でサブフレームカウント部１０７は、ｉに１を加える。ステップＳ６１５でサブフレームカウント部１０７は、全てのサブフレームに対する処理が終了したか否かを判定する。具体的にはサブフレームカウント部１０７は、ｉ＞Ｎであるか否かを判定すればよい。全てのサブフレームに対する処理が終了していない場合、処理はステップＳ６０２に戻り、次のサブフレームに対する処理が行われる。全てのサブフレームに対する処理が終了している場合、処理はステップＳ６０１に戻る。ステップＳ６０１ではｉは１に初期化され、次に入力されたフレーム画像に対して一連の処理が繰り返される。
【００４８】
以上のように本実施例では、各サブフレーム画像を生成する際に、異なるフィルタ係数及び参照画素を用いて、同じ位置の着目画素に対するフィルタ処理が行われる。こうして、回路規模を増やすことなく、フィルタ演算のタップ数を増やすことができる。４倍速処理を行う本実施例においては、フィルタ回路は５×５タップであるが、１０×１０タップのフィルタ処理と同等の効果が得られる。言い換えると、１０×１０タップのフィルタ処理を、５×５タップのフィルタ回路で実現することが可能となる。
【００４９】
さらに、各サブフレーム間で画像が異なる領域（補間領域）と、各サブフレーム間で画像が同じ領域（４度出し領域）とが、サブフレーム画像中に混在していることがある。特開平０９−２１４８６４号公報に示す方法は、静止画像の解像度を変換することを主な目的としている。本実施例の方法でも、静止画像に対してフィルタ処理を行うことが可能である。一方で本実施例の方法によれば、動画像をも正しくフィルタ処理することができる。すなわち、フレーム画像を補間するようにサブフレームを生成した場合、各サブフレーム間で画像が異なる領域が存在する。
【００５０】
本実施例においては、上述のように、各サブフレーム間で画像が異なる領域については５×５タップのフィルタ処理を行う。各サブフレーム間で画像が異なる領域と、各サブフレーム間で画像が同じ領域との間でフィルタ処理を変更することにより、動画像に対しても高精度なフィルタ処理を行い、正しい結果を得ることができる。例えば、静止している背景上を移動物体が通過するような場合において、静止している背景をより高精度に表示することが可能となる。
【００５１】
［実施例１の変形例］
実施例１では、フィルタ処理を行うことで、拡大処理に必要な補間画素の画素値を求めた。具体的には図９（Ｂ）に示される画素４０１の画素値を、図４（Ａ）の１０×１０個の画素を参照して求めた。同様にして、画素４０１の上に隣接する画素４１１の画素値、及び画素４０１の右に隣接する画素４１２の画素値を求めることもできる。この場合、Ｘ００〜Ｘ９９の１００個の画素を参照してもよいし、他の画素を参照してもよい。また、画素４１１及び４１２の画素値を求める際に用いられるフィルタ係数が、画素４０１の画素値を求める際に用いられるフィルタ係数と同じでもよいし、違ってもよい。
【００５２】
実施例１では、水平演算回路１０５及び垂直演算回路１０６を用いてＦＩＲフィルタ処理を行った。しかしながら本変形例において、用いられるフィルタはＦＩＲフィルタに限られない。例えば、一般の畳み込みフィルタを用いることもできる。図５（Ａ）〜（Ｄ）に示されるように、実施例１でフィルタ切換部１０８は、水平演算回路１０５に５個の係数を設定し、垂直演算回路１０６に５個の係数を設定した。
【００５３】
一般の畳み込みフィルタが用いられる場合、水平演算回路１０５及び垂直演算回路１０６の代わりに用いられるフィルタ回路に対して、フィルタ切換部１０８は２５個のフィルタ係数を設定してもよい。この場合フィルタ回路は、それぞれの参照画素に対して、フィルタ係数のうち１つを乗算してもよい。そしてフィルタ回路は、得られた値を合計することにより、出力画素値を求めてもよい。
【００５４】
［実施例２］
本実施例では、実施例１と同様にフレーム画像に対してフィルタ処理を行うことにより、フレーム画像を拡大する。しかしながら本実施例では、動画像を９倍速駆動表示する。本実施例に係る画像処理装置の構成は、図１に示される第１の実施例のものと同様である。また本実施例に係る処理のフローチャートも、図６（Ａ）に示される第１の実施例のものと同様である。以下、第１の実施例と異なる点について説明する。
【００５５】
一般的に、拡大処理を行う時に用いられる、補間画素を求めるための２次元ローパスフィルタの係数の総和は、おおよそ１となる。図３に示すように、フィルタ係数を均等に４分割すると、各サブフレームについて用いられるフィルタ係数の総和はおおよそ０．２５になる。実施例１ではフィルタ演算の結果が増幅部１１０によって４倍される。上述のようにフィルタ係数の総和は０．２５であるから、例えば画素値８０の一様な画素を有するサブフレーム画像を処理すると、得られる値は８０×０．２５×４＝８０となる。このように、実施例１のようにフィルタ係数が均等に分割された場合、フィルタ処理によって得られる値がオーバーフローする可能性は低い。
【００５６】
一方で本実施例では、フィルタ係数を図８に示されるように、８０１〜８０９に９分割する。この場合、フィルタ係数群８０５の値は他と比べて大きくなる。さらに本実施例では、フィルタ演算の結果得られた値は、増幅部１１０によって９倍にされる。この場合、出力画素値を規定のビット数で表現できずに、オーバーフローが起きてしまう可能性がある。すると、規定のビット数で表現できる値（上限値又は所定値）を超える値（飽和値）は、上限値として記録されてしまう。この場合、サブフレーム画像の画素値がフィルタ処理の結果とは異なるものとなる。したがって、サブフレーム画像を連続表示することにより人の目に知覚される画素値は、フレーム画像に対してフィルタ処理を行うことにより得られる画素値とは異なってしまう。
【００５７】
そこで本実施例では、フィルタ係数の総和がより大きいフィルタ係数群を先に用いて、フィルタ演算が行われる。オーバーフローが発生した場合には、増幅部１１０は演算結果（演算値）と上限値との差分を格納する。そして増幅部１１０は、格納された差分を次のサブフレームに加算する。増幅部１１０が差分を格納するメモリは、Ｎ度出し時にのみ使用される。したがって、フレーム間に動きのある場合にのみフレームメモリを使用する回路（例えばオーバードライブ回路）がある場合には、増幅部１１０はこの回路とフレームメモリを共用することができる。
【００５８】
本実施例に係る処理を図６（Ａ）のフローチャートを用いて説明する。以下では、第１の実施例とは異なる点について説明する。ステップＳ６０１においてサブフレームカウント部１０７はＮを１に初期化する。また、増幅部１１０は、総和値を０に初期化する。ステップＳ６０３で読み出し制御部１０９は、フィルタ処理が行われる領域内の画像が、９つのサブフレームについて同じか否かを判定する。
【００５９】
ステップＳ６０４においてサブフレーム判定部１０３は、フィルタ記憶部１０４が１５×１５の係数を出力するように、フィルタ記憶部１０４を設定する。ステップＳ６０５においてフィルタ切換部１０８は、フィルタ記憶部１０４から出力された１５×１５のフィルタ係数から、サブフレーム番号ｉについての５×５のフィルタ係数群を選択する。このときフィルタ切換部１０８は、フィルタ係数の総和が大きいものから順に、フィルタ係数群を選択する。例えば、サブフレーム番号１については、フィルタ係数群８０５を選択する。ステップＳ６０６において、読み出し制御部１０９は、ステップＳ６０５で選択されたフィルタ係数群に対応する参照画素の画素値を読み出す。読み出し制御部１０９は、フィルタ係数群８０５に対しては、着目画素を中心とする５×５の画素値を読み出せばよい。読み出し制御部１０９は、フィルタ係数群８０６に対しては、着目画素を中心とする５×５の画素の右隣に位置する、５×５の画素値を読み出せばよい。
【００６０】
本実施例では、ステップＳ６０８の代わりに、図６（Ｂ）に示されるステップＳ６０８ａ〜ｅが行われる。ステップＳ６０８ａにおいて、増幅部１１０は、ステップＳ６０７で算出された値を９倍し、飽和値を加える。ステップＳ６０７で算出された値をＩとすると、ステップＳ６０８ａで求められる値Ｊは、以下の式（７）に従って求められる。
【００６１】
Ｊ  ←  ９  ×  Ｉ  ＋  飽和値  ・・・（７）
ステップＳ６０８ｂにおいて増幅部１１０は、ステップＳ６０８ａでの計算結果Ｊが規定のビット数で表現できるか否かを判断する。増幅部１１０は、規定のビット数で表現できる値の最大値（制限値）を、Ｊが超えているか否かを判断すればよい。Ｊが制限値を超えていない場合、処理はステップＳ６０８ｃに進む。Ｊが制限値を超える場合、処理はステップＳ６０８ｄに進む。
【００６２】
ステップＳ６０８ｃにおいて増幅部１１０は、Ｊを出力画素値として出力する。ステップＳ６０８ｄにおいて増幅部１１０は、制限値を出力画素値として出力する。ステップＳ６０８ｅにおいて増幅部１１０は、飽和値を更新して記録する。例えば増幅部１１０は、以下の式（８）のようにして飽和値を更新する。
【００６３】
飽和値  ←  Ｊ  −  上限値  ＋  飽和値  ・・・（８）
ステップＳ６０９〜Ｓ６１５の処理は実施例１と同様である。本実施例の方法によれば、フィルタ係数が均等に分割されないことによりオーバーフローが起こる場合でも、飽和値を記録することにより、正しく人に知覚されうるサブフレーム画像を生成することができる。
【００６４】
［実施例３］
実施例２においては、飽和値を記録することによりオーバーフローに対処した。本実施例においては、フィルタ係数の分割方法を実施例２とは変えることにより、オーバーフローの発生を抑制する。本実施例でも実施例２と同様に、動画像を９倍速駆動表示する。本実施例に係る画像処理装置の構成は、図１に示す実施例１のものと同様である。また本実施例に係る処理のフローチャートも、図６（Ａ）に示される第１の実施例のものと同様である。
【００６５】
本実施例に係るフィルタ係数の分割方法を図７に示す。図７（Ａ）、実施例２に係るフィルタ係数の分割方法である。上述のように、フィルタ係数群（５）には大きいフィルタ係が集中する。これに対して図７（Ｂ）は、本実施例に係るフィルタ係数の分割方法である。本実施例の方法では、フィルタ係数群（１）〜（９）のいずれにも、大きなフィルタ係数が集中しない。このために、オーバーフローの発生が抑えられる。
【００６６】
本実施例では、フィルタ係数の位置に応じた参照画素を用いて、フィルタ演算を行う。例えば第５サブフレームのフィルタ処理を行う場合、図７（Ｂ）で（５）と示されたフィルタ係数を用いる。このとき、着目画素の画素値に対してはフィルタ係数１１０２を適用すればよい。また、着目画素の３つ上の画素に対しては、フィルタ係数１１０３を適用すればよい。実施例１及び２では、参照画素を、フレームメモリ１１１から連続的に読み出した。しかしながら本実施例では、フィルタ係数の位置に合わせて、参照画素を離散的に読み出す。以上のように、本実施例の方法により、１つのサブフレーム画像に対して用いるフィルタ係数群に大きい値が集中しないように、９つのフィルタ係数群を設定することにより、オーバーフローの発生を抑制することができる。
【００６７】
［その他の実施例］
実施例１では４倍速処理をする場合の例を、実施例２及び３では９倍速処理する場合の例を示した。しかしながらより一般的に、Ｎ倍速駆動表示用の、動画像のＮ倍速処理（２≦Ｎ）を行う場合に、上述の実施例の方法を変形して適用することができる。また、複数（Ｎ個）のフィルタ係数群を用意し、それぞれのフィルタ係数群を異なる位置の参照画素に適用すれば、少ないタップ数のフィルタを用いて高精度のフィルタ処理を行うためには十分である。
【００６８】
例えば上述の実施例のように、矩形領域内の全ての画素を参照画素とする必要はない。着目画素から所定の位置にある画素を参照画素とすれば十分である。例えば図４（Ａ）においてＸ４４が着目画素である場合、Ｘａｂ（ａ，ｂは偶数）で示される画素のみを参照画素としてもよい。
【００６９】
また、フィルタ係数の数及び参照画素の数が、全てのサブフレーム画像について共通である必要もない。したがって、例えば３倍速処理をする場合にも、上述の各実施例の方法を応用できる。例えば、図４（Ａ）においてＸ４４が着目画素である場合、Ｘ００〜Ｘ２９を第１サブフレーム画像についての参照画素にすればよい。また、Ｘ３０〜Ｘ６９を第２サブフレーム画像についての参照画素に、Ｘ７０〜Ｘ９９を第３サブフレーム画像についての参照画素にすればよい。この場合、それぞれのサブフレーム画像についてのフィルタ係数を用意しておけばよい。
【００７０】
上述の各実施例では、各フィルタ係数群が重複しないように、オリジナルフィルタを分割するものとした。しかしながら、各フィルタ係数群が重複するように、分割が行われてもよい。たとえば、各フィルタ係数群を重ね合わせて係数の和を取ると、オリジナルフィルタの係数と等しくなるように、分割が行われてもよい。
【００７１】
また、例えば実施例１では、補間画素４０１の各サブフレームについての平均値が、１０×１０タップのフィルタを用いて計算される補間画素値と等しくなる。これは、例えば液晶ディスプレイなどのホールド型表示装置に適している。一方で、インパルス型表示装置に対して用いるために、補間画素４０１の各サブフレームについての平均値が、１０×１０タップのフィルタを用いて計算される補間画素値と等しくなってもよい。
【図１】
0005676968.tif 000002
【図２】
0005676968.tif 000003
【図３】
0005676968.tif 000004
【図４】
0005676968.tif 000005
【図５】
0005676968.tif 000006
【図６】
0005676968.tif 000007
【図７】
0005676968.tif 000008
【図８】
0005676968.tif 000009
【図９】
0005676968.tif 000010