画像処理装置及びその制御方法
【課題】動画像データをより高いフレームレートに変換する画像変換技術を提供する。
【解決手段】入力した1フレームの画像データから、LPF1により低周波画像データを生成し、減算器2、加算器3を用いて高周波強調画像データを生成する。入力した着目フレームの低周波画像データはSizeDown部11にて縮小する。動き検出動き適用部13は、着目フレームの縮小画像データと、次のフレームの縮小画像データから動き検出、動き適用を行ない、時間的にその中間に位置する縮小画像データを生成する。生成した縮小画像データを、縮小前のサイズにまでSizeUp部14で拡大する。この拡大した画像データをLPF15がフィルタ処理し、その結果を、出力用の低周波画像データとして出力する。スイッチ5は、入力フレームのフレームレートの2倍の速度で、高周波強調画像データと、出力用の低周波画像データを交互に出力する。
【解決手段】入力した1フレームの画像データから、LPF1により低周波画像データを生成し、減算器2、加算器3を用いて高周波強調画像データを生成する。入力した着目フレームの低周波画像データはSizeDown部11にて縮小する。動き検出動き適用部13は、着目フレームの縮小画像データと、次のフレームの縮小画像データから動き検出、動き適用を行ない、時間的にその中間に位置する縮小画像データを生成する。生成した縮小画像データを、縮小前のサイズにまでSizeUp部14で拡大する。この拡大した画像データをLPF15がフィルタ処理し、その結果を、出力用の低周波画像データとして出力する。スイッチ5は、入力フレームのフレームレートの2倍の速度で、高周波強調画像データと、出力用の低周波画像データを交互に出力する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、動画像データをフレームレートをより高いレートに変換する画像変換技術に関するものである。
【背景技術】
【0002】
従来、テレビジョン等の動画表示装置といえば、CRTがその代名詞とも言えるものであったが、近年では、所謂、液晶ディスプレイ、プラズマディスプレイ、FEDディスプレイなどが実用化され、様々なタイプのディスプレイが混在する状況となった。
【0003】
それぞれのタイプは、表示方法が異なる。例えば、液晶デバイスに基づく表示装置(直視型液晶表示装置、液晶リアプロジェクター、液晶フロントプロジェクター等)におけるスキャンの方法は幾つもある。しかし、何れの場合も、夫々の画素部分ごとに光が出力される期間は、1フレームの表示期間の大半を占める。それ故、このような表示装置はホールド型表示装置と言われる。
【0004】
一方、例えばCRTやFEDなどにおいては、夫々の画素部分ごとに光が出力されるのは、1フレーム中一回でかつ発光時間はフレームの長さに比べて十分短く、通常はおよそ2msec以内である。それ故、これらの表示装置はインパルス型表示装置と言われる。
【0005】
さらには、所謂プラズマディスプレイ、フィールドシーケンシャルディスプレイなど前記の分類とは異なるタイプの表示装置もある。
【0006】
夫々のタイプの表示方法は、次に示すような特徴をもっている。
【0007】
(1)ホールド型表示装置
このタイプの表示装置は、フレーム時間内のほとんどの時間において発光する。そのため光強度の時間的偏りが少ない。このためフリッカーがほとんど観測されない。また、追従視(動画像において、動く部分を視線で追いかける見方)を行うと、フレーム内で発光期間の長さに応じて動きぼけが相対的に大きく観測される。なお、ここで言う「動きぼけ」は、表示デバイスの応答特性に起因するものとは異なるものである。
【0008】
(2)インパルス型表示装置
このタイプの表示装置は、フレーム期間内で発光する時間が非常に短いので、光強度の時間的偏りが大きい。このためフレームに同期したフリッカーが観測される。しかし、追従視における動きぼけは、ほとんど観測されず、静止している部分とあまり差の無い解像度が得られる。
【0009】
一般に表示装置における発光の期間は表示方式、表示デバイスごとに異なり上記(1)、(2)は発光期間の長い短いで両極端に位置付けられる。また、それぞれの方式における発光期間(前記ホールド時間に相当)が長いほど、追従視における動きぼけは大きく、発光期間が短いほどに動きぼけは少ない。つまり、発光期間と動きぼけの大きさは概ね比例する。一方、フレームに同期したフリッカーに関しては前記発光期間が長いほど小さく、発光期間が短いほど大きく観測されるものである。すなわちこの両者の要因は、トレードオフの関係にあると言える。
【0010】
これら2つの課題を同時に解決する方法が、フレーム周波数をN倍化することである。実際には多くの場合、N=2すなわち倍速化である。フレーム周波数を倍速化することにより、それぞれの倍速フレームにおける発光時間は半分になる。従って動きぼけも約半分になる。一方、フリッカーに関しても例えばもとのフレーム周波数が仮に60Hzの場合、倍速化して120Hzにすることにより、フリッカーの周波数を人間の目の応答特性の範囲外に追いやることができフリッカーは観測されない。
【0011】
このようにフレーム周波数の倍速化(一般化するとN倍化)の効果は大きいのであるが、新たな問題がある。
【0012】
例えば、もとの画像信号のフレーム周波数が60Hzの場合、画像の情報は1/60秒単位に画像が更新される。従って、これを倍速化して120Hzの表示を行う場合、必要とする画像の情報が一枚おきに欠落した状態となる。その対策としてまず考えられるのは、例えば倍速であれば同一の画像を2回ずつ表示することである。しかしながら、これではフリッカーは解決できるが、動きぼけに関してはもとの画像と同じである。また、インパルス型の場合は追従視にともなって2重の画像が見えてしまう(以下、この現象を「2重ぼけ」という)。
【0013】
フレーム周波数を倍速化する方法は主なものとして二つある。
【0014】
第1の方法は、もとの画像のオブジェクトの動きを検出して2つのフレーム間の画像を推定算出する方法である。一般に動き補償による中間画像作成方法などと言われる。この第1の方法は、特許文献1、2等に開示されている。
【0015】
第2の方法は、先ず、入力画像に対してフレーム毎にフィルタ処理を行い、動きぼけに大きく関与する空間周波数の高周波成分と、フリッカーに大きく関与する低域周波数成分を分離する。そして、前記高周波成分を一方のサブフレーム(元のフレームに対応する2つの倍速フレームの一方)に集中させ、低周波成分を両方のサブフレーム(元のフレームに対応する2つの倍速フレームの両方)に分配して表示する方法である。
【0016】
本明細書においては、この第2の方法を「画像を空間周波数で分離してサブフレームに分配して表示する方式」と表現する。
【0017】
この「画像を空間周波数で分離してサブフレームに分配して表示する方式」としては、特許文献3、4、5として知られている。
【特許文献1】特開2004−159294号公報
【特許文献2】特開2004−297719号公報
【特許文献3】特開平6−70288号公報
【特許文献4】特開2002−351382号公報
【特許文献5】US2006/0227249A1
【発明の開示】
【発明が解決しようとする課題】
【0018】
しかしながら、上記の第1、第2の方法には、以下のような問題がある。
【0019】
先ず、第1の方法であるが、これには2つの課題がある。1つは、動き検出の結果としてのベクトル算出を間違えることがあり、それを修復する手段が無い点である(以下、課題1−1)。もう1つは、画像のサイズに伴って計算量が膨大になる点(以下、課題1−2)である。
【0020】
一方、第二の方法にも2つの課題がある。1つは、第1サブフレームで表示される画像と第2サブフレームで表示される画像が互いの表示時間差を正しく反映していないため、これにより追従視画像に歪が生ずる点である(課題2−1)。また、2つ目は、一方のサブフレームの画像の一部の成分(実際には空間的高周波成分)を他方のサブフレームに移動させることに起因する問題である。すなわち、この場合、サブフレームが飽和しやすくなり、その結果、実効的なダイナミックレンジが表示装置本来のダイナミックレンジより小さくなるという事である(課題2−2)。
【0021】
発明は係る問題に鑑みなされたものであり、簡単な構成により、少なくとも上記の各課題を解決する技術を提供しようとするものである。
【課題を解決するための手段】
【0022】
かかる課題を解決するため、例えば本発明の画像処理装置は以下の構成を備える。すなわち、
単位時間当たりm個のフレームの動画像データを入力し、単位時間当たり2m個のフレームの動画像データとして出力する画像処理装置であって、
フレームごとに画像データを入力する入力手段と、
前記入力手段で入力した画像データから、少なくとも高周波強調画像データを生成するフィルタ手段と、
前記入力した現フレームと、一つ前に入力したフレームとの間の動きを検出し前記入力した現フレームと、一つ前のフレームの時間的に中間に位置する動き補償した低周波成分画像データを生成するフレーム間補間手段と、
前記一つ前に入力したフレームの前記高周波強調画像データと、前記フレーム間補間手段で作成された低周波成分画像データのそれぞれを2倍速のフレームとして出力する出力手段とを備える。
【発明の効果】
【0023】
本発明によれば、簡単な処理で、例えばホールド型表示装置では、動きぼけを小さくすることが可能であり、インパルス型表示装置においてはフリッカーを減少させることが可能となる。また、追従視におけるゴーストや尾引きなどの歪みの発生を抑制することも可能になる。更に、輝度の低下、あるいは一方のサブフレームのレベルが飽和することによる画質的な弊害が起こらないようにすることも可能になる。
【発明を実施するための最良の形態】
【0024】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【0025】
本実施形態では、先に説明した第1の方法と第2の方法を組み合わせる方法と、その組み合わせ方の条件を提案するものである。先に示した「空間周波数分離方式」において、空間的高周波成分を強調して表示するサブフレームを第1のサブフレーム、他方のサブフレームを第2サブフレームとする。本実施形態においては、第1のサブフレームにおいて表示する画像は、対応する同一フレームの入力画像から抽出された空間的高周波成分と空間的低周波成分に基づいて作成する。そして、第2のサブフレームで表示する画像は、前後あるいは前後近傍のフレームの空間的低周波成分から動きを推定して補償することにより作成した空間的低周波成分とする。
【0026】
先ず、本発明の実施形態の理解を容易にするため、図5乃至図8を参照し、従来技術を説明する。
【0027】
[従来例の説明]
図8は、先に示した第1の方法、すなわち、「動き補償によるフレーム補間方式」をもっとも単純化した装置構成を表している。また、図5乃至図7は、先に説明した第2の方法、すなわち、「空間周波数分離方式」に関する3つの従来の装置構成を示している。以下、図8の示す従来例(第1の方法)、また図5乃至図7が示す従来例をそれぞれ説明する。
【0028】
<第1の方法の説明>
図8は第1の方法の装置構成を示している。この装置は、入力画像のオブジェクトの動きを検出して2つのフレーム間の画像を推定算出する処理を行なう。
【0029】
図8において、例えば入力画像(着目入力フレーム)A[i]のフレーム周波数が60Hzであるとする。スイッチSWは1/120ごとに、交互に入力端子を切り替え、1入力フレームに対して、2つのサブフレーム(第1,第2サブフレーム)を出力する。
【0030】
第1サブフレームの画像S1は入力画像と同じである。第2サブフレームの画像S2は、入力画像の前後のフレームから動き補償で求められる中間画像である。
【0031】
この方法における先に説明した課題1−1は、動き検出には画像によってはなんらかの推定間違いが発生することである。また、間違った推定にもとづいて動き補償した画像が、訂正されず、そのまま画像S2として出力されてしまう。課題1−2は、動き検出自体が計算規模が大きく、動き補償も含めて、高速な演算処理と十分な高速メモリーを必要とするということである。
【0032】
<第2の方法の説明>
図5は、先に説明した第2の方法に従って処理する装置のブロック構成図である。ここでも、入力画像は、60Hzのフレームレートであり、1フレーム入力する毎に、2つのサブフレームを生成し、出力する。このため、入力した1フレームの画像を、2つのフィールドメモリーに一時保存する。そして、スイッチSW0は、1/120秒毎に入力を切り替える。これにより、画像のフレームレートを2倍にする。このときに一方のサブフレーム(第2サブフレーム)の生成過程に、帯域制限フィルタを配置する。そして、動き検出部の検出結果に応じて、帯域制限フィルタ処理した画像と、そのフィルタ処理無しの画像を切り替える。
【0033】
その結果、前記一方のサブフレーム(図中SLで表現)は相対的に高周波成分が少なくなる。また他方のサブフレーム(図中SHで表現)ではサブフレームSLと比較して相対的に空間的高周波成分が多いこととなる。この結果、出力画像において一方のサブフレームに空間的高周波成分が局在することとなり、追従視を行ったときの動きぼけを改善することができる。また、空間的低周波成分が2つのサブフレームに分散して表示されることにより、フレーム周波数のフリッカーの発生を防止できる。
【0034】
図6は、もう1つの従来の装置のブロック構成図である。同図において、入力画像のフレームレートは60Hzである。フレームコンバータは、入力したフレームの画像を倍速化し、さらにフィルタ部に出力する。フィルタ部は、空間的低周波成分データLowと空間的高周波成分データHighとを生成する。さらに高周波成分データHighに所定のゲインαを乗算する。このゲインαは、2つのサブフレームの出力タイミングに応じて、その正負の極性が変わるものである。そして、乗算器は、動き検出部が動き検出した場合にはゲインαを大きな値にし、動き検出部が動き検出しない場合にはゲインαを小さな値にする。混合回路は、第1サブフレームの出力タイミングでは、低周波成分データLowと、正のゲインαを乗算した結果を加算し、出力する。そして、混合回路は、第2サブフレームの出力タイミングでは、低周波成分データLowと、負のゲインαを乗算した結果を加算し、出力する。
【0035】
このようにすることにより一方の倍速フレーム(または入力画像から見ると一方サブフレーム)SHに空間的高周波成分が局在することとなり、追従視を行ったときの動きぼけを改善することができる。また、空間的低周波成分が2つのサブフレームに分散して表示されることにより、フレーム周波数のフリッカーの発生を防止できる。
【0036】
図7は、従来技術の更なる装置構成を示している。図示において、1フレームの入力画像A[i]にローパスフィルタ(LPF)及び減算器を設けることで、高周波成分データH[i]を生成し、それを入力画像データに加算することで、高周波強調画像データSH[i]を生成する。
【0037】
スイッチSW0は、1フレームの画像データを入力するごとに、2つの入力端子を切り替える。この結果、1フレーム入力する毎に、高周波強調画像データSH[i]と低周波画像データSL[i]の2つのサブフレームを生成し、出力する。なお、ここで、A[i]のiはi番目のフレームを意味する。
【0038】
このようにすることにより一方の倍速フレームに空間的高周波成分を集中させた倍速画像を出力することできる。これによって追従視を行ったときの動きぼけを改善することが出来る。また、空間的低周波成分が2つのサブフレームに分散して表示されることにより、フレーム周波数のフリッカーの発生を防止できる。
【0039】
以上、第2の方法による従来技術を説明した。上記図5乃至図7の構成は、1フレームの画像データを入力する毎に、その入力したフレームの画像データから、高周波強調画像データSHと低周波画像データSLとを交互に出力するものである。入力画像のフレーム周波数が50Hzとか60Hz程度の場合、画像SH、SLは人間の網膜上では、時間積分、すなわち足し算された波形として認識される。ただし、動いているオブジェクトを追従視している場合には、これに更に、画像の動きの時間的な要因が加わる。
【0040】
例えば、入力画像のフレーム周波数を60Hzとする。また入力画像i番目のフレームに対応して、画像SH[i]、SL[i」の順に表示出力する場合を考察する。この場合、画像SL[i]は、画像SH[i]よりも1/120秒遅れて表示される。このため、移動しているオブジェクトを追従視すると画像SL[i]が相対的にずれた位置に認識される。このため観測される像はオーバーシュート、ゴースト、尾引きなどの歪みを含む画像となる。図5乃至図7の構成では、オブジェクト移動方向のエッジの先頭と後端に非対称の歪みが発生する。
【0041】
<「空間周波数分離方式」における課題2−1(波形歪み)の説明>
説明を分かりやすくするため、図7の従来技術の装置を前提に、追従視における観測波形の歪が発生する理由を、図19乃至図23を用いて説明する。
【0042】
ここでは、入力画像のフレームレートは60Hzとする。追従視の対象となるオブジェクトの移動速度は1/60秒あたりV画素、すなわち、オブジェクトの移動速度は、V[pixel /{1/60秒}とする。
【0043】
図19は表示のパルス幅(表示期間の時間長)と追従視波形の関係を示す図である。図19(a)はもとの静止画像の断面波形である。同図(b)は表示パルス幅1/60秒、同図(c)は表示パルス幅1/120秒、同図(d)は表示パルス幅1/1200秒の場合の断面波形である。いずれの場合も、斜めになっている部分の幅が追従視画像における動きぼけに相当する。
【0044】
この斜め部分の幅は、Tp(パルス幅)×V(移動速度)となる。
【0045】
動きによるボケる画像の範囲(画素数)は、 Tp[sec]×V[ pixel / (1/60sec)となる。
【0046】
例えばフレームレート60Hzの画像でホールド型表示の場合、Tp=(1/60)秒となるので、図19(b)の波形に示すように、V[pixel]に相当する範囲がボケとなって現れる。
【0047】
また、フレームレート120Hzの画像でホールド型表示の場合パルス幅は、Tp=1/120となり、図19(c)の波形に示すように、ボケとなって現れる領域はV/2 [pixel]となる。
【0048】
また、CRTなどのようなインパルス型表示装置でパルス幅が短く、例えば、Tp=1/1200秒の場合、図19(d)に示すように、ボケとなって現れる領域はV/20[pixel]である。
【0049】
ここで、確認すべきことは、動きぼけは、フレームレートで決まるわけではなく、表示のパルス幅とオブジェクトの移動速度のみで決まる点である。もちろん、ここで言う、動きぼけは表示デバイスの応答特性に起因するものとは異なるものである。
【0050】
次に、図20に元画像Aを空間周波数で分離する場合の波形を説明する。ここで空間的ローパスフィルタの関数をLPF( )としたとき、入力画像Aから抽出した空間的低周波成分データLはL=LPF(A)、空間的高周波成分データHはH=A−LPF(A)となる。低周波成分データLは画像データでもあるので、それをSLと表わす。一方、高周波強調画像データをSHと表わすと、高周波強調画像データSHは元画像Aに高周波成分データHを加算した結果であるので、SH=A+H=A+A−LPF(A)=2A−Lとなる。また、高周波成分データHと低周波成分データを加算することで、元画像を構成できるので、SH={H+L}+H=2H+Lと表現することもできる。
【0051】
図20(a)乃至(c)は、共に静止画像の断面波形である。同図(a)は元画像の断面波形、同図(b)は高周波画像SH(=2H+L)の断面波形を、同図(c)は低周波画像SLの断面波形である。同図(b)の波形と同図(c)の波形を足し合わせれば、同図(a)の波形となる。
【0052】
図21(a)乃至(c)は、倍速ホールド型の場合の波形で、図20(a)乃至(c)のそれぞれの波形に表示のパルス幅(1/120秒のパルス幅)に相当する動きぼけを施した追従視画像波形である。いずれも、図20の波形が左右方向にV/2だけ(すなわち動きぼけの分だけ)ぼけた波形となる。
【0053】
図25(a)乃至(c)は、インパルス型の場合の波形で、図20(a)乃至(c)のそれぞれの波形に表示のパルス幅1/1200秒のパルス幅に相当する動きぼけを施した追従視画像波形である。いずれも、図20の波形が左右方向にV/20だけ(すなわち動きぼけの分だけ)ぼけた波形となる。
【0054】
図22は、図7に示す構成における追従視の波形で倍速ホールド型の場合である。図7の場合、本来、入力画像の同一時間のフレームから作成された画像である高周波強調画像SH[i]と低周波画像SL[i]が1/120秒の時間差をもって表示される。すなわち、低周波画像SL[i]が、1/120秒だけ、高周波強調画像SH[i]より遅れて表示(出力)される。このため追従視波形においては画像SL[i]の波形は、画像SH[i]の波形に比べて、移動方向の反対の方向にV/2だけずれて観測される。このようにして出来た図22(b)の画像SLの追従視波形を図22(a)の高周波強調画像SHの追従視波形に加えると、図22(c)のような波形となる。図22(c)の波形からもわかるように画像中に、オーバーシュート、尾引き、などの歪みが生じることがわかる。特に移動方向に対して非対称な歪みである点が目立つ。
【0055】
図26は、図7に示す構成における追従視の波形でインパルス型の場合である。上記と同様に、追従視波形においては画像SL[i]の波形は、画像SH[i]の波形に比べて、移動方向の反対の方向にV/2だけずれて観測される。このようにして出来た図26(b)の画像SLの追従視波形を図26(a)の高周波強調画像SHの追従視波形に加えると、図26(c)のような波形となる。図26(c)の波形からもわかるように画像中に、オーバーシュート、尾引き、などの歪みが生じることがわかる。特に移動方向に対して非対称な歪みである点が目立つ。
【0056】
図22、図26を比較してわかるように、動きぼけにはパルス幅の違いは大きく影響するが、オーバーシュートや尾引きなどの歪みに関してはパルス幅の影響は比較的少ないことがわかる。
【0057】
以上、従来技術の構成とその課題について説明した。
【0058】
<実施形態における前提となる装置についての説明>
さて、本発明者は、装置構成を図9に示すようにすることで、上記課題を解決できると考えた。なお、ここで、入力する画像のフレームレートは60Hzであり、これを2倍速の120Hzの画像に変換するものとして説明する。
【0059】
ローパスフィルタ(以下、LPF)1は、入力した1フレームの画像データA[i]から低周波成分を通過させ、低周波成分データ(低周波画像データ)L[i]を生成する。減算器2は、入力した原画像A[i]から低周波成分データL[i]を減じることで、高周波成分データH[i]を生成し、加算器3にて元画像A[i]に高周波成分データH[i]を足し込む。この結果、加算器3からは、高周波強調画像データSH[i](=A[i]+H[i]=L[i]+2H[i](=2A[i]−L[i])が出力される。この高周強調画像データSH[i]は、遅延回路(DL)4(FOFOメモリやRAMで構成できる)を経ることにより、1つ前のフレームの高周波成分強調データSH[i−1]が呼び出され、スイッチ8に供給される。一つ前のフレームのデータを出力するのは低周波画像データのフレーム遅延にタイミングをあわせるためである。
【0060】
一方、低周波成分データL[i]は、加算器6と遅延回路5に供給される。そして、加算器6は、現フレームA[i]から得られた低周波成分データL[i]と、直前に入力したフレームA[i−1]から生成した低周波成分データL[i−1]とを加算する。そして、除算器7は、加算器6から出力されるデータを半分にする。つまり、加算器6、除算器7により、現フレームの低周波成分データL[i]と、前フレームの低周波成分データL[i−1]の平均が演算される。この低周波成分の平均値を着目フレームA[i]に対する1つ前のフレームの低周波成分画像データSL[i−1]として出力する。
【0061】
スイッチ8は、60Hzの1フレームの入力期間内で、1フレームの入力期間で入力端子a,bの順番に切り替えるとで、高周波画像データSH、低周波画像データSLの2つのサブフレームを、フレームレートが120Hzの画像として出力することになる。
【0062】
さて、図23(a)乃至(c)、図27(a)乃至(c)は、上記図9の構成における画像を追従視した場合の波形を示している。図23はホールド型の場合であり、図27はインパルス型の場合である。いずれの場合も高周波強調画像データSH[i]と低周波画像データSL[i]は1/120秒の時間差を有することになる点に注意されたい。
【0063】
図23(b)の低周波画像SL[i]の構成要素のうち、L[i]はSH[i]と同一フレームから作成された画像である。またL[i+1]はSH[i+1]と同一フレーム(すなわち1つ後ろのフレーム)から作成された画像である。従って、L[i]は本来の時間より1/120秒遅れて表示されている。一方、L[i+1]は本来の時間より1/120早く表示されているものと言える。従って、前者は追従視波形においてはオブジェクトの移動方向の反対方向にV/2だけずれて観測され、後者はオブジェクトの移動方向にV/2だけずれて観測される。SL[i]はこれらの平均値の波形である。このようにして出来た図23(b)の波形と図23(a)の高周波強調画像データSHの追従視波形を足し合わせると、図23(c)のような追従視観測波形が得られる。この波形は、オーバーシュート、尾引きなどが見られるが、移動方向に対称であるため、歪みの最大振幅が小さく押さえられ目立たなくすることが可能になる。
【0064】
図27の場合も同様で、図27(c)のような追従視観測波形が得られる。上記同様に、オーバーシュート、尾引きなどが見られるが、移動方向に対称であるため、歪みの最大振幅が小さく押さえられ目立たなくすることが可能になる。
【0065】
尚、本発明の実施形態における演算や定義は原則的に、表示される輝度(表示される光強度)に対しての概念として説明している。従って、本実施形態における画像の波形などを表す図は、全て縦軸を輝度として表現している。このため、本発明は、表示される輝度(表示される光強度)に比例するデータとして定義される画像データに対して適用する場合が最も効果的である。しかしながら、本発明は、必ずしも、このような場合のみを限定しているわけではない。本発明は、一般的に使用される範囲の画像データ(表示輝度または光強度とデータの値の間に若干の非線形性をもつ画像データ)に対して適用する場合も対象としている。このような場合でも本発明の考え方が近似的に成り立ち、いずれの場合も十分効果的である。
【0066】
上記の如く、図9の構成にすることで、従来技術よりも、良好な波形を有する画像データが生成できるようになる。ただし、本発明は、この図9の構成による、更なる課題(先に示した課題2−2)、すなわち、ダイナミックレンジ低下の課題を見出した。以下、かかる点について説明する。
【0067】
<「空間周波数分離方式」の課題2-2(ダイナミックレンジ低下)>
以下、図9の構成におけるダイナミックレンジの低下について説明するが、この問題は、図7の構成についても言えることである点に注意されたい。
【0068】
「空間周波数分離方式」においては、空間的高周波成分を一方のサブフレームに集中させるため、例えば表示する画像の輝度を大きくしてゆくと、高周波強調画像データSH[i]を表示しているサブフレームにおいて先に飽和が起こる。一方、低周波画像データSL[i]を表示するサブフレームは前者が飽和しても、まだ飽和に至らない。図10は、ホールド側の表示装置の場合、図12はインパルス型の表示装置における各サブフレームに含まれる成分の分布を示している。図示の斜線部分が高周波成分を示している。
【0069】
上記の通りなので、フレーム全体が同時に飽和レベルに至る通常の表示方法(図11、ホールド型)、図13のインパルス型)に比較して最大表示輝度が小さくなる。
【0070】
かかる点を、図3のような実際の波形で説明することもできる。図3の左側の波形は、入力画像A[i]と1/60秒後の入力画像A[i+1]の波形を示している。
【0071】
右側の波形はSH[i]とSL[i]を示し、その間隔は1/120秒である。1/120で切り替わる画像は人間の視覚では時間積分されて見えるので、少なくとも静止している像であれば基本的に同一の画像が見える。
【0072】
画像A[i]の波形に比較して高周波強調画像SH[i]の波形のとがった部分は、より高くなっている。これは高周波強調画像SH[i]に、他方のサブフレームに元々存在していた高周波成分データが移動し、高周波成分が2倍になっているからである。この波形から明らかなように、最大表示レベル(図中の枠の上辺のレベル)までの余裕は画像A[i]と比較して明らかに少ないことがわかる。このために、実際に画像A[i]の最大値が入力されても第1サブフレームが飽和しないようにするためには、もとの画像信号に対して1より小さい比率をかけ算して入力しなければならない。この結果、実効的なダイナミックレンジが小さくなる。すなわち表示装置本来のダイナミックレンジより小さいものとなる。
【0073】
図3、図10、図12などでわかるように、2倍速の第1サブフレームと第2サブフレームのレベル差が大きいほど、すなわち空間的高周波成分が大きいほど、ダイナミックレンジの低下が大きい。また、入力画像に対する空間周波数でのフィルタリングの定数(距離定数)が大きいほど空間的高周波成分が大きくなるので、先に示した距離定数が大きいほど、ダイナミックレンジの低下分が大きいということができる。すなわちダイナミックレンジ低下の防止ということだけを考えれば距離定数は小さいほど望ましいという事になり、課題2−1の傾向とは相反することとなる。
【0074】
<第1の実施形態>
以上本発明の背景(課題)を説明してきた。本実施形態では、図9の構成を更に改良するものである。
【0075】
2倍速の第1サブフレームで表示する画像は、入力画像の1つのフレームからフィルタリングして抽出した成分に基づいて作成する。一方、第2サブフレームの表示タイミングにおいて表示すべき画像は、第1サブフレームのタイミングより1/120秒ずれた時間の画像情報が必要であり、前記入力画像をフィルタリングした成分からは直接的には生成できない。従って、第2サブフレームで表示する画像は前後の画像からフレーム間補償することによって作成する。本実施形態においては第2サブフレームで表示する画像は空間的低周波成分のみとする。従って、第2サブフレームで表示する画像は、前記入力画像からフィルタリングして作成した前後近傍のフレームの空間的低周波成分から動き補償に基づくフレーム間補間をして作成する。空間的高周波成分に関しては、第1サブフレームでのみ表示されるので、フレーム間補間する必要は無い。
【0076】
図1は本実施形態における画像処理装置のブロック構成図である。図9と同様の構成には、同参照符号を付した。
【0077】
図中、A[i]は現フレームの入力画像データである。ここでも、画像データのフレームレートは60Hzとする。スイッチSW5は、1/120秒ごとに、入力を切り替える。スイッチSW5の端子a側に接続されている期間が第1サブフレームであり、端子bの方に接続されている期間が第2サブフレームである。
【0078】
図1は、図9に対して、スイッチSW5の端子bに到る過程にフレーム間補間部10を挿入した点が異なる。以下、図9の構成における動作を順を追って説明する。
【0079】
LPF1は2次元的ローパスフィルタである。このローパスフィルタは、例えばガウス関数でもよいし、移動平均あるいは重み付けした移動平均でもよい。ここで、フィルタ係数が最大値(中心値)の1/2になる実効的距離、すなわち、伝達係数が通過帯域の1/2の大きさになる空間周波数に相当する実効的距離を、フィルタの距離定数dと定義する。距離定数dは、画像を空間周波数のフィルタで帯域制限するときのカットオフに相当する空間周波数の波長である。dの単位はpixelである。また、dは、x、y成分のベクトルd=(dx、dy)のように表現され、成分ごとにフィルター処理される。LPF1の距離定数はd1=(d1x、d1y)である。d1x、d1yの単位はそれぞれ[pixel]である。
【0080】
LPF1の出力は入力画像の空間的低周波成分L[i]であり、次式で定義される。
L[i]=LPF1(A[i]) …式1-1
【0081】
このL[i]は、減算器2に送られる。減算器2では、画像データA[i]からL[i]を減じることで、高周波成分データH[i]を生成し、それを加算器3に出力する。
【0082】
加算器3は、画像データA[i]に、高周波成分データH[i]を加算し、その結果を、高周波強調画像データSH[i]として出力する。
SH[i]=A[i]+H[i]=A[i]+A[i]−L[i]
【0083】
ここで、A[i]=H[i]+L[i]であるから、この高周波強調画像SH[i]は次式のようにも表現できる。
SH[i]=2H[i]+L[i] …式1-2
【0084】
この高周波強調画像データSH[i]は、以下に説明する第2サブフレームに同期させるため、フレーム遅延回路4(FIFOメモリ、RAM等の記憶手段で構成される)で遅延される。従って、フレーム遅延回路4から出力される高周波画像データはSH[i−1]となり、第1サブフレームとしてスイッチSW5の端子aに供給される。
【0085】
一方、LPF1で生成された低周波成分データ(低周波画像データでもある)L[i]は、低周波成分フレーム間補間部10にも送られる。低周波成分フレーム間補間部10の出力は第2サブフレームの表示信号SL[i]であり、L[i]とL[i−1]に動き補償に基づくフレーム間補間を施したものとして次式のように定義される。
SL[i−1]=MC(L[i],L[i−1]) …式1-3
【0086】
なお、SL[i]ではなく、SL[i−1]としたのは、以下に説明する低周波成分フレーム間補間部10の処理において、次のフレームを参照するために1入力フレーム分(1/60秒)だけ待つ必要があるからである。
【0087】
<実施形態における低周波成分フレーム間補間部10について>
以下、本実施形態における低周波成分フレーム間補間部10について、詳細に説明する。
【0088】
本実施形態での低周波成分フレーム間補間部10は、文字通り、低周波成分のみの動き補償に基づくフレーム間補間を行なう。ここで低周波成分データは、画像データでもあるので、以下では低周波画像データという。
【0089】
低周波画像データL[i]は、距離定数d1で帯域分割された画像であるので、距離d1に相当する空間周波数より空間周波数の高い帯域の信号レベルは非常に少ない(ただし、どの程度平滑化されるかは、ローパスフィルタの関数次第である)。
【0090】
従って、低周波画像データL[i]の画像のフレーム間補間を行う際には、動きの検出はL[i]の全空間周波数帯域、すなわち一つ一つの画素の単位で行う必要はなく、所定の周期で間引いた信号で動き検出を行えばよい。
【0091】
ここでダウンサイズ率というものを定義する。ダウンサイズ率(縮小率)は画像中のx方向(水平方向)、y方向(垂直方向)でそれぞれ定義される。例えば、d2x×d2y で画像をサイズダウンするということは、元の画像中の、d2x×d2y画素のウインドウを設定し、そのウインドウ内の所定の位置の代表点の画素をサンプルすることとする。つまり、この場合、水平方向に1/d2x、垂直方向に1/d2yに縮小した画像を作ることを意味する。
【0092】
ここでL[i]をサイズダウンした画像をLs[i]と表現する。
Ls[i]=SizeDn(L[i]) …式1-4
【0093】
以下、低周波成分フレーム間補間部10を説明する場合には必要に応じて画像データに、その画素の座標(x、y)を付けてつけて表す。
【0094】
サイズダウンする前の画像Lとサイズダウンした後の画像Lsをそれぞれの座標系で、例えば以下のようにあらわす。
L[i]=L[i](x、y) 式1-5-1
Ls[i]=Ls[i](xs、ys) 式1-5-2
【0095】
ここで、前記サイズダウンするための1単位であるd2x、d2yの領域ごとに定義される代表点の領域内での座標をpx、pyとすると、前記LとLsの座標系は次のような関係になる。
x=d2x*xs+px 式1-5-3
y=d2y*ys+py 式1-5-4
ここで、d1x、d1y、d2x、d2yは整数である
【0096】
本発明においては、これら範囲は理論上、d1、d2とも2以上であれば成立する。しかしながら、現実的にはd1x、d1yは数画素から数十画素の範囲であろう。d2の範囲も、d1に対して
0.5d1x≦ d2x ≦ 2d1x 式1-5-5
0.5d1y≦ d2y ≦ 2d1y 式1-5-6
であれば、画質的な意味で本発明の効果が最も大きい。d2xが小さすぎると非効率であり、d2xが大きすぎると、低周波成分の動きを捉える分解能が不足する傾向がある。しかしながら、取り扱い画像の種類、目的によっては、d2xがもっと大きい値であってもよい(y方向も同様である)。
【0097】
一例として、本実施形態では、d1=8、d2=6として説明する。また、本実施形態で扱う入力画像A[i](x,y)は水平方向1920画素、垂直方向1080画素のサイズであるとする。当然、低周波成分画像L[i]の画像のサイズも1920×1080である。d2x=d2y=6であるので、縮小画像Ls[i]のサイズは、320×180画素である。すなわち、本実施形態においては、1920×1080画素の動き検出、動き補償の計算を行うことはせず、その水平、垂直とも1/6のサイズの画像の動き検出、動き補償を行えばよいことを意味する。面積比で言えば、実に1/36の計算量で良いことになり、画像の劣化もほとんど知覚できないものとすることができる。
【0098】
サイズダウンした画像データLs[i]は、動き検出動き補償部13及び遅延回路12に供給される。動き検出動き補償部13は、現フレームから生成された縮小画像データLs[i]と、遅延回路12からの前フレームの縮小画像データLs[i−1]に基づき、その中間のタイミングに位置する画像データLs_mc[i]を作成する。
【0099】
また、ここでは時間的に前後する2つの縮小画像データから生成するものとして説明するが、3以上の縮小画像データを参照しても構わない。ここでは、最小限度の構成とするため、2つにした。
【0100】
なお、実際には、上記のようにして動き補償後の画像データLs_mc[i]を生成する計算においては、少なくとも、参照する中で一番最後に入力されるフレームを待ってから動き検出をする必要がある。そのため、それに応じてフレームを遅らせる必要がある。ここでは、先に述べたように最小限度の構成としたため、1フレームだけ待って次のフレームの画像を参照できるタイミングで処理すればよい。従って出力される画像データはLs_mc[i−1]となる。
【0101】
画像データLs_mc[i]は、次式に従って生成する。
Ls_mc[i−1]=MC(Ls[i−1],Ls[i]) …式1-6-1
【0102】
画像データLs_mc[i]の具体的な生成処理を示すのであれば、例えば、次の通りである。
【0103】
Ls_mc[i]を求めるには、動き検出を行い、その結果に基づいて動き補償を行う必要がある。本実施形態では動き検出、動き補償の対象はLsである。
【0104】
まず、動き検出について説明する。画像Ls[i]中のそれぞれの位置(x、y)の微小領域に対して、画像Ls[i+1]における近似または一致する微小領域を探す。これをブロックマッチングという。探す範囲は、もとの位置に対して想定する最大動き量に相当する範囲内である。仮にその結果見つけた微小領域の位置が(x+mvsx、y+mvsy)であったとする。このとき、座標位置(x、y)における動きベクトルは次式のように表現できる。
MVs[i]=(mvsx、mvsy) …式1-6-2
【0105】
画像Ls[i](x,y)の全ての画素位置(x、y)に対してこの動きベクトルを求めることを動き検出という。ここで、動きベクトルMVsはLsと同じデータ数の配列データである。また個々の画素に対応するデータはベクトルデータであり、それぞれの画素位置に対してx成分y成分ごとに独立して決まるものである。MVsは成分ごとに次のように表すことができる。
MVs[i](x,y)=(mvsx(x,y),mvsy(x,y)) …式1-6-3
次に、動き補償について説明する。実施形態における動き補償とは、上記のようにして求めた動きベクトルを元に、Ls[i]とLs[i+1]の中間の時間に対応する画像Ls_mc[i]を求めることである。求めるLs_mc[i](x、y)は、x、yの値を動きベクトルの半分だけ引いた画素位置のLs[i]のデータを参照することによって得られる。または、x、yの値を動きベクトルの半分だけ進めた画素位置のLs[i+1]のデータを参照することによっても得られる。それぞれの関係は次式で与えられる。
【0106】
Ls_mc[i](x、y)=Ls[i]( x − mvsx(x,y)/2 , y − mvsy(x,y)/2 ) …式1-6-4
または
Ls_mc[i](x、y)=Ls[i+1]( x + mvsx(x,y)/2 , y + mvsy(x,y)/2 ) …式1-6-5
【0107】
それぞれの式によって得られる結果は、適宜選択するのでもよいし、2つの結果の平均値をとるのでもよい。
【0108】
ただし、mvsx(x,y)/2、または、 mvsy(x,y)/2が整数にならないときは、小数部分を除いた最大整数に置き換えて計算し、それぞれの式の結果の平均をとるなどすればよい。
【0109】
本実施形態では、1フレーム遅延させてLs_mc[i−1](x、y)を求めることとなる。
【0110】
動き検出と動き補償の結果得られた画像データLs_mc[i−1](サイズは320×180画素)は、サイズアップして元の画像と同じサイズに戻さなければならない。SizeUp部14では、1つの画素データからd2x×d2y個の画素データを作成する。本実施形態では、このSizeUp部14は、空間的に線形補間(例えば、バイリニア法)を実施することにより、領域ごとに1画素からd2x×d2y個の画素データを作成(拡大処理)し、これによって画像のサイズ戻しを行う。元のサイズに変換された画像データをLup[i−1]とすると、次式の関係となる。
Lup[i−1]=SizeUp(Ls_mc[i−1]) …式1-7
【0111】
しかしながら、ここで得られた、Lup[i](=1920×1080画素)は第2サブフレームに表示する低周波成分画像としてはまだ特性が不十分である。この画像Lup[i]はSizeUp部13で線形補完を行っているため、空間周波数成分として、不要な高周波成分を含んでおり、滑らかでないからである。
【0112】
第2サブフレームとして表示(出力)される画像の空間周波数分布は、直前直後の第1サブフレームの低周波成分とほぼ同一の空間周波数分布、正確に言うと直前直後の空間周波数分布の間の値に入っている必要がある。そのためにも上記の不要な高周波成分を取り除くことは望ましいものである。このため、本実施形態では、LPF15をSizeUp部14の後段に設けた(このLPF15の距離定数をd3=(d3x、d3y)とする)。LPF15により、不必要な高周波成分を取り除いた結果は、十分に滑らかなものとなり、第2サブフレームSLとしてで表示するのに適した画像データとなる。
SL[i−1]=LPF2(Lup[i−1]) …式1-8
【0113】
本実施形態では、構成を簡単にするために、(d3x、d3y)=(d1x,d1y)とした。このようにすることにより LPF1とLPF2を共通化できる。第2サブフレームで表示する画像SL[i−1]はスイッチSW5の端子bに供給される。
【0114】
本実施形態におけるスイッチSW5は、SH[i−1](=L[i−1]+2H[i−1])とSL[i−1](=LPF2(Lup[i−1]))を1/120秒ごとに切り替えて出力することによって動きぼけを改善した画像が実現される。
【0115】
<本実施形態における効果2−1(追従視波形歪改善)>
これまでの説明からもわかるように、本実施形態における第2サブフレームとして生成される画像データは、現フレームと直後のフレームの第1サブフレームの低周波成分画像から、フレーム間補間して作成する。
【0116】
従って、第1サブフレームで表示する画像と第2サブフレームで表示する画像がそれぞれ時間差に対して矛盾の無い画像であるため、追従視を行った場合にも、第1サブフレームで表示する画像に対し、第2サブフレームの画像の位置が大きくずれることはない。このためそれぞれの画像を視覚によって時間積分すなわち足し合わせることにより、本来の画像を認識することができる。
【0117】
詳しくは、第2サブフレームの低周波成分画像SL[i]は、図7のようにSH[i]と同一タイミングの画像情報にもとづく低周波成分ではない。また、実施形態における、この第2のサブフレームは、図9に示した画像SH[i]と同一タイミングの画像情報にもとづく低周波成分と、高周波強調画像SH[i+1]と同一タイミングの画像情報にもとづく低周波成分との平均値でもない。従って、ホールド型においては図22(c)、図23(c)のような波形歪は発生せず、図24(c)に示すように、より正確な追従視波形が観測されるようにすることができる。またインパルス型でも同様に図26(c)、図27(c)のような波形歪は発生せず、図28(c)に示すように、より正確な追従視波形が観測されるようにすることができる。
【0118】
<本実施形態における効果2−2(ダイナミックレンジ改善)>
先に示した図7の構成では、追従視した場合において図22(c)及び図26(c)のように、追従視波形におけるオーバーシュート歪、アンダーシュート歪、尾引き歪が観測される。また、図9の構成では、オーバーシュート歪、アンダーシュート歪はある程度改善され、尾引き歪は大幅に改善される。
【0119】
更にまた、図7、図9の構成では、追従視しているオブジェクトの移動速度に対してLPF1の距離定数を、最大移動速度を考慮して十分な大きな値に設定すると、ダイナミックレンジが低下する。
【0120】
本実施形態では、図24(c)及び図28(c)に示すように、追従視波形に伴う歪が発生しないという効果がある。従って、前記、波形歪を考慮するという意味で、距離定数を大きく設定する必要がなくなった。また、そのためにダイナミックレンジが低下することも無くなる。
【0121】
また、距離定数に対して移動速度が大きい場合(想定する移動速度に対して距離定数が小さい場合)においてもこの効果は不変である。従って今までよりも距離定数を小さく決めることができる。
【0122】
図3の波形は、図9の構成におけるものである。図3では、SL[i]の波形が例えばV/2だけ横方向にずれても全体の波形として大きな違いがないようにするため、L[i]、又は、{L[i]+L[i+1]}/2を求めるための距離定数を大きめに設定しなければならない。
【0123】
図4の波形は本実施形態における波形を示している。本実施形態では、SL[i]を動き補償に基づくフレーム間補間によって作成するので、SL[i]の波形が正しい位置にできる。従って、ある程度、図のようなピーク(すなわち、高周波成分)が残っていても良い。そのため、その元になるL[i]を決めるためのフィルタの距離定数が相対的に小さくても良い。従って、空間的高周波成分の比率が小さく、すなわちSH[i]とSL[i]とのレベル差が小さくなる。このため、表示装置としての実効的なダイナミックレンジが図9の構成に比べて改善できる。
【0124】
<本実施形態における効果1−1(動き検出間違いの影響を小さくできる)>
図1に示すように、本実施形態では、LPF15をSizeUp部14の後段に挿入することにより、動き検出やSizeUpにともなって新たに発生する空間的高周波成分の雑音を排除することを実現している。このLPF15は、動き検出動き補償部13において、動き検出の推定間違いが発生した場合にも効果を示す。動き検出の推定間違いによるが画像ノイズが空間的高周波成分のみの場合はその大きさは大幅に抑圧され、また空間的低周波成分まで含んでいる場合にも、その大きさは抑圧され、また視覚的になめらかで目立たないノイズとなる。
【0125】
<実施形態における効果1−2(計算規模、小さくできる)>
本実施形態においては、d2x×d2yでサイズダウンした縮小画像Ls[i]を動き検出の対象としている。また、動き補償の対象とする画像も同じようにLs[i−1]である。計算規模は対象とする画素数に依存するものであるから、その画素数が絶対的に少なくなることに応じて、計算規模を大幅に縮小させることができる。すくなくとも、計算量の縮小率は画素数の縮小比率の2乗程度になる。
【0126】
<第1の実施形態の変形例>
上記第1の実施形態と等価の処理を、コンピュータプログラムで実現する例を説明する。このコンピュータプログラムを実行する装置は、パーソナルコンピュータ等の情報処理装置(以下、PCという)で良い。PCのハードウェアについては説明するまでもないであろう。但し、以下では、単位時間当たりm個のフレームの動画像データファイルはハードディスク等の記憶装置(もしくは記憶媒体)に既に格納されているものとする。そして、本変形例のアプリケーション(コンピュータプログラム)を実行するCPUは、そのファイルから、単位時間当たり2倍の2m個のフレームで再生すべき動画像データに変換し、その変換結果をハードディスクにファイルとして保存する例を説明する。また、変換対象動画像データは記憶装置に格納され、倍速変換後の動画像データも記憶装置に格納されるものであるから、本アプリケーションは倍速変換結果を表示する必要はない。つまり、CPUは、変換対象動画像データで表わされる動画像のフレームレートに同期して処理する必要もない点に注意されたい。また、変形例のアプリケーションは、やはりハードディスクに格納されており、CPUがRAMにロードし、実行するものである。
【0127】
図14は、本アプリケーションの処理手順を示すフローチャートである。以下、同図に従って、CPUの実行処理手順を説明する。
【0128】
先ず、ステップS1において、CPUは変換対象の動画像データファイルから、1フレーム単位に画像データA[i]をRAMに読込む。符号化されている場合には、対応する復号処理を行なう。
【0129】
ステップS2では、CPUは、予め設定されたローパスフィルタ(テーブル)を用いて、入力した1フレームの着目画像データA[i]のフィルタ処理を行ない、低周波画像データL[i]を生成する。
【0130】
次いで、ステップS3に進み、CPUは高周波成分データH[i]を生成する。
H[i]=A[i]−L[i]
【0131】
ステップS4では、CPUは高周波強調画像データSH[i]を生成し、それを一時的にRAMに格納する。
SH[i]=A[i]+H[i]=2A[i]−L[i]
【0132】
ステップS5では、CPUは、低周波成分データL[i]から縮小画像データLs[i]を生成する(第1の実施形態では、水平、垂直とも1/6にした)。
Ls[i]=SizeDown(L[i])
【0133】
この後、ステップS6にて、前回入力したフレームから生成した縮小画像データLs[i−1]と現フレームから生成した縮小画像データLs[i]に基づき、動き検出する。そして、その検出した動きに基づき、動き補償処理を行ない、時間的に中間に位置する縮小画像データLs_mc[i]を生成する。このとき、次のフレームの処理に備え、縮小画像データLs[i]をRAMに格納する。
【0134】
ステップS7では、低周波動き補償画像Ls_mc[i]を、元のサイズに復元する。第1の実施形態と同様にするのであれは、水平、垂直とも6倍の画素数に復元することになる。
【0135】
ステップS8では、低周波動き補償画像Ls_mc[i]に対して、更にローパスフィルタ処理を行ない、第2サブフレームSL[i]を生成する
この後、ステップS9にて、CPUは生成された2つのサブフレームSH[i]とSL[i]を出力動画像データとして記憶装置に格納する。
【0136】
この後、ステップS10に進み、CPUは、変換対象の動画像データファイルの全フレームについて変換したか否かを判定する。この判定は、変換対象の動画像データファイルのファイルエンドを検出したか否かで良いであろう。
【0137】
ステップS10にて、Noと判定した場合には、ステップS11にて、変数iを“1”だけインクリメントし、ステップS1以降の処理を繰り返す。
【0138】
一方、ステップS10にて、Yesと判定した場合には、一連の倍速変換処理を終了する。
【0139】
以上説明したように、第1の実施形態と比較し、変換処理速度はCPUに依存したものとなるものの、第1の実施形態と同等の作用効果を奏する倍速動画像データファイルを作成することが可能になる。
【0140】
<第2の実施形態>
次に本発明に係る第2の実施形態を説明する。図2は、第2の実施形態における画像処理装置のブロック構成図である。
【0141】
本第2の実施形態は、低周波成分フレーム間補間部20が、第1の実施形態(図1)の低周波成分フレーム間補間部10と異なる。
【0142】
本第2の実施形態においては、動き検出は第1の実施形態と同様にLPF1の距離定数に対応した値でサイズダウンした低周波成分画像Lsを用いて行なう。但し、動き検出結果に基づく動き補償部27は、サイズダウンする前の元の低周波成分画像データLに対して施す。このようにすることにより、動き補償した後のLPFを省くことができる。もしくはLPFの規模を小さくすることができる。
【0143】
本第2の実施形態の低周波成分フレーム間補間部20には、第1の実施形態同様に、LPF1の出力である低周波画像データL[i]が入力される。低周波画像データL[i]は、SizeDown部21に供給された後、動き検出処理が行われる。そして、動き検出処理結果を受けて、動き補償部27が対象となる低周波画像データL[i]とL[i−1]から動き補償した画像データMC[i−1]を生成する。このため、遅延回路22、26を設ける。なお、遅延回路22、26は、FIFOメモリやRAM等の記憶手段で構成できる。
【0144】
以下、本第2の実施形態を容易に理解できるようにするため、d1=8、d2=6として説明する。また、例えば本第2の実施形態で扱う入力画像A[i]が1920×1080画素のサイズであるとする。このときd2x=d2y=6であるので、Ls[i]のサイズは、320×180画素となる。すなわち、本第2の実施形態においては、1920×1080画素で構成される画像に対して、動き検出の処理を行うことはせず、水平、垂直とも1/6のサイズの画像に対して動き検出を行う。これにより、動き検出に係る計算量は大幅に減少させることができる。なお、第1の実施形態では、動き検出と動き補償の2つの処理を、サイズダウンした画像に対して行ったが、本第2の実施形態では動き検出はサイズダウンした画像に対して行ない、動き補償は元のサイズの画像に対して行なう。
【0145】
次にサイズダウンした縮小画像データLs[i]は遅延回路22と動き検出部23に供給される。動き検出部23は、遅延回路22からの前入力フレームの縮小画像データLs[i−1]と現フレームの縮小画像データLs[i]を入力し、動きベクトルデータMVs[i−1]を生成する。
【0146】
追従視における動画特性対策としては、例えば現フレームとその前後の計3フレームくらいの縮小Lsを用いて動き検出を行うのが望ましい。しかし、計算量の増大による負荷、メモリーの増大によるコストアップになる。かかる点考慮して、本実施形態では最小限度の構成として、現低周波画像であるサブフレームLs[i]と直前の低周波画像であるサブフレームLs[i−1]に基づき、動きベクトルデータMVs[i]を作成するよう構成した。動き検出動き補償後の画像データを生成する計算においては、少なくとも、参照する一番最後のフレームを待ってから、動き検出の計算をする必要がある。そのためこれに応じてフレームを遅らせる必要がある。ここでは、最小構成であるので、1フレームだけ待って次のフレームの画像を参照できるようなタイミングで計算処理する。従って出力される画像データはMVs[i−1]となる。
MVs[i-1]=MV( Ls[i-1] , Ls[i] ) …式2-1
【0147】
動き検出部23の具体的な処理は例えば次の通りである。
【0148】
画像Ls[i]中のそれぞれの位置(x、y)の微小領域に対して、画像Ls[i+1]における近似または一致する対応微小領域を探す。これをブロックマッチングという。ここで探す範囲は、もとの位置に対して想定する最大動き量に相当する範囲内である。仮にその結果見つけた対応微小領域の位置が(x+mvsx、y+mvsy)であったとする。このとき、座標位置(x、y)における動きベクトルは次式のように表現できる。
MVs[i]=(mvsx,mvsy) …式1-6-3(再掲示)
【0149】
画像Ls[i](x,y)の全ての画素位置(x、y)に対してこの動きベクトルを求めることを動き検出という。 ここで、動きベクトルMVsはLsと同じデータ数の配列データである。また個々の画素に対応するデータはベクトルデータであり、それぞれの画素位置に対してx成分、y成分それぞれ独立して決まるものである。MVsはx、y成分で次のように表すことができる。
MVs[i](x,y)=(mvxs(x,y),mvys(x,y)) …式1-6-3(再掲示)
【0150】
なお、この動き検出部23の処理は、1フレーム待って次のフレームの画像を参照できるタイミングで処理する必要があり、従って出力される画像データはMVs[i−1]となる。
【0151】
一つのベクトルデータの形式は、x成分とy成分で、例えば{mvsx、mvsy}のように表し、例えばそれぞれが正負の符号を含めて4ビット(合わせて8ビット)とすることにより、方向別に±8画素分の移動距離に対応することが出来る。本実施形態ではd2x=d2y=6としているので、もとの画像に対しては、±48画素の最大移動距離となり、十分な大きさである。
【0152】
動き検出部23は1画素単位にベクトルデータを生成するので、その個数はLs[i]の画素数と同数である。
【0153】
SizeUp部24は、ベクトルデータMVs[i−1]を入力しベクトル補間処理を行なうことで、縮小前の画像L[i]、L[i−1]に対応するベクトルデータMV[i−1]を生成する。
MV[i−1]=SizeUp(MVs[i−1]) …式2-2-1
MV[i−1](x,y)=(mvx(x,y),mvy(x,y)) …式2-2-2
【0154】
本実施形態では、MV[i]はL[i]に対応するので、動き表すベクトルデータが1920×1080個が並んだ配列のデータである。一方、MVs[i]はd2x=d2y=6で縮小したLs[i]に対応するので、動きを表すベクトルデータが320×180個並んだ配列のデータである。
【0155】
従って、MVs[i]をサイズアップしてMV[i]を作成するには、x成分、y成分別々に、空間的に線形補完(例えば、バイリニア法)などを実施することにより、1領域ごとにd2x*d2y個の画素に対応する(すなわち各画素ごとに対応する)ベクトルデータを作成する。
【0156】
動き補償部27は、SizeUp部24からのベクトルデータMV[i−1]に基づき、動き補償後の低周波画像データMC[i−1]を生成する。動き補償後の低周波画像データMC[i−1]は現フレームの低周波画像データL[i]と前フレームの低周波画像データL[i−1]の時間的に中間に位置するものとして推定される画像データである。。
MC[i−1]=MA(L[i−1],L[i],MV[i−1]) …式2-3
ここで、MC[i]の具体的な生成処理は、以下の2つの計算を行い、いずれかの計算結果を選択して採用する、もしくは、もしくは平均値をとるなどすればよい。
MC[i](x、y)
=L[i]( x − mvx(x,y)/2 , y − mvy(x,y)/2 ) …式2-4-1
MC[i](x、y)
=L[i+1]( x + mvx(x,y)/2 , y +mvx(x,y)/2) …式2-4-2
【0157】
また、例えばmvx(x,y)/2、または、mvx(x,y)/2が整数にならないときは、小数部分を除いた整数部分によって式2−4−1と式2−4−2を計算し、結果の平均をとるなどすればよい。実際に動き補償部27の出力は、1フレーム遅れているので、MC[i−1](x、y)が出力される。
【0158】
動き補償した画像データMC[i−1]は第2サブフレームで表示する画像SL[i−1]として、スイッチ5の端子bに供給される。本第2の実施形態は、スイッチ5は、SH[i−1]とSL[i−1]を1/120秒ごとに切り替えて出力することによって動きぼけを改善した画像が実現される。
【0159】
以上説明したように本第2の実施形態によれば、図1の構成中のLPF15は不要にできる。また、動き補償部27で扱う画素数は、第1実施形態の動き検出動き補償部13の中で行われる動き補償で扱う画素数よりも、d2x*d2yの比率で大きい。しかしながら、もともと動き検出23よりも処理にかかわる負荷が格段に少ないので、さほど問題になることもない。むしろ、動き補償による精度が、本来の画素数に対して行われるので、動き補償後の精度が高く、その画像は第1の実施形態よりも高い品位となることが約束される。
【0160】
<第3の実施形態>
第3の実施形態は、入力画像と同じ画像サイズの低周波画像データL[i]を用いて動き検出、動き補償を行なう。
【0161】
本第3の実施形態における画像処理装置のブロック構成図を図15に示す。
【0162】
図中、A[i]は入力画像である。入力される画像のフレームレートは例えば60Hzとする。また、スイッチ5は、1/120秒ごとに、その入力端子a,bを切り替える。スイッチ5は端子aを選択している期間が、第1サブフレームの出力期間であり、端子bに接続されている期間が第2サブフレームの出力期間である。入力画像A[i]が処理されて、端子aに到る構成はこれまでと同じである。異なる点は、スイッチ5の端子bに到る過程での構成である。以下、順を追って説明する。
【0163】
LPF1は2次元的ローパスフィルタである。このローパスフィルタは、例えばガウス関数でもよいし、移動平均あるいは重み付けした移動平均でもよい。ここで、フィルタ係数が最大値(中心値)の1/2になる実効的距離、すなわち、伝達係数が通過帯域の1/2の大きさになる空間周波数に相当する実効的距離を、フィルターの距離定数dと定義する。距離定数dは、画像を空間周波数のフィルタで帯域制限するときのカットオフに相当する空間周波数の波長である。dの単位はpixelである。また、dは、x、y成分のベクトルd=(dx、dy)のように定義され、成分ごとにフィルター処理される。LPF1の距離定数はd1=(d1x、d1y)である。d1x、d1yの単位はそれぞれ[pixel]である。LPF1の出力は入力画像の空間的低周波成分データ(低周波画像データでもある)L[i]であり次式で定義される。
L[i]=LPF1(A[i]) …式1-1(再掲示)
【0164】
低周波画像データL[i]は、減算器2に送られる。そして、減算器2と加算器3によって、高周波強調画像データSH[i]が生成される。
SH[i]=L[i]+2H[i] …式1-2(再掲示)
【0165】
そして、この高周波強調画像データSHが、1フレーム分に遅延回路4を介して、スイッチ5の端子aに、高周波強調画像データSH[i−1]として供給される。この高周波強調画像データSH[i−1]が、倍速画像の第1サブフレームの表示信号となる。
【0166】
一方、低周波画像データL[i]は低周波成分動き補償部30にも送られる。低周波成分動き補償部30は低周波画像データL[i]とL[i−1]から動き補償を施した画像SL[i−1]を生成し、スイッチ5の端子bに供給する。
SL[i-1]=L_mc( L[i] , L[i-1] ) …式3-1
【0167】
以上であるが、要するに本第3の実施形態は、図1の第1の実施形態の構成から、SizeDown部、SizeUp部、LPF15を除去したものであると言えば分かりやすい。但し、本第3の実施形態の場合、動き検出は、オリジナル画像と同数の画素数について行なうことになるので、負荷が大きくなると言える。従って、本第3の実施形態は、入力する画像A[i]のサイズが、ある程度以下のサイズである場合に都合が良い。もしくは、実時間で倍速画像データを生成する必要がなく、例えば、倍速画像データをファイルとして保存する構成に適用することが望ましい。
【0168】
<第4の実施形態>
次に第4の実施形態を説明する。図16は第4の実施形態における画像処理装置のブロック構成図である。
【0169】
以下、同図に従って、第4の実施形態の構成を説明する。
【0170】
図中、A[i]は入力画像である。入力される画像のフレームレートはここでも60Hzとする。また、スイッチ5は、1/120ごとに、その入力端子a、bを切り替える。スイッチ5が端子aに接続されている期間が第1サブフレームの出力期間であり、端子bに接続されている期間が第2サブフレームの出力期間である。入力画像A[i]が処理されて、スイッチ5の端子aにに到る過程は、これまで大きな違いはない。スイッチ5の端子bに過程が異なる。
【0171】
LPF1は2次元的ローパスフィルタである。このローパスフィルタは、例えばガウス関数でもよいし、移動平均あるいは重み付けした移動平均でもよい。ここで、フィルタ係数が最大値(中心値)の1/2になる実効的距離、すなわち、伝達係数が通過帯域の1/2の大きさになる空間周波数に相当する実効的距離を、フィルターの距離定数dと定義する。距離定数dは、画像を空間周波数のフィルタで帯域制限するときのカットオフに相当する空間周波数の波長である。dの単位はpixelである。また、dは、x、y成分のベクトルd=(dx、dy)のように定義され、成分ごとにフィルター処理される。LPF1の距離定数はd1=(d1x、d1y)である。d1x、d1yの単位はそれぞれ[pixel]である。LPF1の出力は入力画像の空間的低周波成分データ(低周波画像データでもある)L[i]であり次式で定義される。
L[i]=LPF1( A[i] ) …式1-1(再掲示)
【0172】
低周波画像成分データL[i]は、減算器2に送られる。そして、この減算器2と加算器3によって、高周波強調画像データSH[i]が生成される。この高周波強調画像データSHが、1フレーム分に遅延回路4を介して、スイッチ5の端子aに、高周波強調画像データSH[i−1]として供給される。この高周波強調画像データSH[i−1]が、倍速画像の第1サブフレームの表示信号となる。
【0173】
一方、入力した画像データA[i]は、フレーム間補間部40にも供給される。フレーム間補間部40は、入力した現フレームの画像データA[i]と直前の画像データA[i−1]から動き補償処理を行ない、その結果を動き補償画像データA_mc[i]として出力する。
A_mc[i-1] = MC( A[i-1] , A[i] ) … 式4-1
【0174】
実際、この動き補償部40での処理は、1フレーム待って次のフレームの画像を参照できるタイミングで処理する必要がある。従って出力される画像データはA_mc[i−1]となる。
【0175】
ここで、画像データA_mc[i−1]の空間周波数分布は、A[i−1] またはA[i]にほぼ等しいか、その中間の値をとるものである。ここでスイッチ5の端子aに供給される画像データSH[i−1]においては空間的高周波成分が強調されている。従って、スイッチ5の端子bに供給される画像からは、空間的高周波成分を抑圧しなければならない。
【0176】
しかるに、画像A_mc[i−1]の空間周波数分布は、A[i−1]またはA[i]に近い分布である。そこで、本第4の実施形態では、この空間的高周波成分の相殺を実現するために、フレーム間補間部の後段に、LPF41を設けた。このLPF41は、LPF1同一の特性をしている。
【0177】
本第4の実施形態の効果としては、LPF41を設けることによって、画像データA_mc[i−1]中の不要な空間的高周波成分を取り除くことができる。また、動き検出の推定誤差や推定間違いが発生しても、それによる画像ノイズが空間的高周波成分のみの場合はその大きさは大幅に抑圧される。また、推定誤差や推定間違いが低周波成分まで含んでいる場合にも、その大きさは抑圧され、また視覚的になめらかで目立たないノイズとなる。
【0178】
<第5の実施形態>
第5の実施形態を説明する。本第5の実施形態は、動き検出処理で得られる情報を、ここまで説明した実施形態と同様、動き補償に使用する。更に、空間周波数分離方式の適用の有無を画像の領域ごとに選択するものである。
【0179】
図17は本第5の実施形態の画像処理装置の構成を示している。
【0180】
本第5の実施形態における、スイッチ5の端子aに到る構成(第1サブフレームの生成に係る構成)は、既に説明した第1乃至第4の実施形態と同じである。異なる点は、スイッチ5の端子bに到る構成、すなわち、第2サブフレームの生成に係る構成と、領域別信号選択部53を設けた点である。
【0181】
本第5の実施形態でも、入力する画像データのフレームレートは60Hzであり、1つの入力フレームから2つのサブフレームを、1/120秒毎に切り替え出力するものである。
【0182】
本実施形態においては、スイッチ5の出力画像をS[i−1]と表わす。フレーム間補間部50は、前フレームの低周波成分画像データL[i−1]と現フレームの低周波成分画像データL[i]から動き補償処理を行なうこで生成された画像データMC(L[i−1],L[i])を生成する。そして、フレーム間補間部50は、その画像データMC(L[i−1],L[i])を、第2サブフレームSL[i−1]としてスイッチ5の端子bに出力する。
【0183】
また、フレーム間補間部50は、その内部に、動き検知部51を有する。この動き検知部51は、動き判別信号SM[i−1]、MS[i−1]を領域別選択部53に出力する。
【0184】
スイッチ5の出力、すなわち、SH、SLは1/120秒で切り替えられ、信号S[i−1]として領域別信号選択部53に供給される。また、遅延回路52を介して、着目フレームの画像データA[i−1]も領域別信号選択部53に供給される。
【0185】
領域別信号選択部53は、画像データ中の領域ごとに、あるいは画素単位に、動き判定信号SM、MSの値に基づいてA[i−1]、又は、S[i−1]を選択出力する。この領域別信号選択部53の選択出力した信号をD[i−1]と表わす。
【0186】
動き判定信号SM、MSは、入力される画像データA[i]に含まれる画素数と同数の配列データであり、画素単位の判定信号である。また、動き判定信号SM、MSは、各成分が0又は1の2値信号でもある。動き判定信号MSは画像信号の中で、動きがあると判断された領域の画素位置では“1”となり、それ以外(すなわち動きが無いと判断される)の領域の画素位置では“0”となる。領域判定信号SMは、領域判定信号MSと論理が逆である。
【0187】
次に、領域別信号選択部53を説明する。説明を簡単なものとするため、各データを以下のように定義する。
画像データA[i−1]中の座標(x、y)の画素の値をa(x,y)、
座標(x、y)の動き判定信号SM[i−1]の値を、sm(x,y)、
座標(x、y)の動き判定信号MS[i−1]の値を、ms(x,y)、
画像データS[i−1]中の座標(x,y)の画素の値を、s(x,y)、
出力画像D[i−1]中の座標(x,y)の画素の値を、d( x , y )
【0188】
このように定義すると、出力画像D[i−1]の座標(x,y)の画素の値は次式で示すことが出来る。
d(x,y)=a(x,y) * sm(x,y)+s(x, y) * ms(x,y) …式5-1
(ここで「*」は行列演算ではなく、同じ画素位置(x、y)の値どうしを掛け算して新たな(x、y)のデータを作ることを意味する)
【0189】
上記式5−1の右辺は、第1項は乗算器54の動作を表し、第2項は乗算器55の動作を表わす。すなわち、入力画像A[i−1]からsm(x,y)=1の領域、すなわち、動きが無いと判断される領域については、入力したフレーム中の画素データを出力する。また、sm(x,y)=0の領域、動きが無いと判断される領域については、スイッチ5の出力であるS[i−1]中の画素データを選択し、出力する。
【0190】
このようにして得られた、第1項と第2項を加算器56で加算した結果が式5−1となる。なお、乗算器54、55は、動き判定信号に従ってデータを通過させるゲート(例えばアンドゲート)で構成しても構わない。また、乗算器54、55の一方のみが画素データを通過させるので、加算器56は省略しても構わない。
【0191】
以上説明したように本第5の実施形態によれば、動きありと判別された画像領域においては画像S[i−1]中の画素データを選択し、動き無しと判断された画像領域においては画像A[i−1]を選択することになる。このようにすることにより、動きの有無に応じて、常に最も適した画像を領域毎に選択表示することができる。
【0192】
<第6の実施形態>
上記第1乃至第5の実施形態では、入力画像のフレームレートを2倍にする例を説明した。本第6の実施形態では、単位時間当たりm個のフレームの動画像データを入力し、単位時間当たりNm個のフレームの動画像データとして出力する例を説明する。説明を簡単なものとするため、ここではN=5の例を説明する。
【0193】
図18は、本第6の実施形態における画像処理装置のブロック構成図を示している。
【0194】
ここでも、A[i]は入力画像であり、そのフレームレートは例えば24Hz(一般に映画のフレームレートとして知られている)であるものとする。このとき、スイッチ70は、1/120秒ごとに、5つの入力端子a,b,c,d,eの順に切り替え、1/24秒で一巡するものとする。
【0195】
スイッチ70が端子aに接続されている期間が第1サブフレームの出力期間である。また、スイッチ70が端子bに接続されている期間が第2サブフレームの出力期間となる。以下、同様に、スイッチ70の端子c,d,eそれぞれの接続期間が、第3乃至第5サブフレーム期間となる。
【0196】
スイッチ70の端子aに供給される画像データSH(第1サブフレーム)は、入力した画像データA[i]に、乗算器69にて5倍に増幅された高周波成分データが加算されたものとなる。
SH[i]=L[i] + 5*H[i−1] …式6-1
【0197】
また、本第6の実施形態においては、スイッチ70の残りの端子b,c,d,eに供給する第2乃至第5のサブフレーム(N−1個のサブフレーム)を生成する必要がある。この第2乃至第5サブフレームを、以下では、SL1[i−1]、SL2[i−1]、SL3[i−1]、SL4[i−1]と表わす。
【0198】
LPF1の出力である低周波成分データ(低周波画像データでもある)L[i]は、本第6の実施形態におけるフレーム間補間部60にも供給される。本第6の実施形態における動き検出は、先に説明した第2の実施形態とほぼ同じである。
【0199】
本第6の実施形態においてもd1=8、d2=6を例として説明する。従って本第6の実施形態で扱う入力画像A[i]が1920×1080画素のサイズである場合(当然、低周波成分画像データL[i]も1920×1080画素)、d2x=d2y=6である。つまり、SizeDown部61で生成された縮小画像データは320×180画素となる。要するに、本第6の実施形態においては、1920×1080画素の画像を対象として動き検出の処理を行うことはせず、その水平、垂直方向とも1/6のサイズの画像について動き検出を行う。これにより計算量は大幅に減少させることができる。
【0200】
動き検出部63は、現フレームの画像データをサイズダウンした低周波画像データLs[i]と、遅延回路62からの1フレーム前の低周波画像データLs[i−1]を入力し、ベクトルデータMVs[i−1]を生成する。
MVs[i-1]=MV( Ls[i-1] , Ls[i] ) …式2-1(再掲示)
【0201】
このベクトルデータMVs[i−1]に含まれるベクトルは、低周波画像データLsの画素に対応するものであるので、そのベクトル総数と、低周波画像データLsの画素数は等しい。
【0202】
次いで、SizeUp部64にて、動き検出部63からのベクトルデータMVs[i−1]を空間的に補間することで、SizeDownする以前の画数と同数のベクトルデータMV[i−1]を生成する(この部分の空間的補間は第2の実施形態と同様である)。
MV[i-1] = SizeUp( MVs[i-1] ) …式2-2-1(再掲示)
【0203】
なお、動き検出部63、SizeUp部64の処理は、先に説明した第2の実施形態と同じとし、その説明については省略する。
【0204】
動き補償部67は、現フレームの低周波成分データL[i]と前フレームの低周波成分データL[i−1]を入力する。そして、動き補償部67は、ベクトルデータMV[i−1]に基づき、第2乃至第5サブフレームとして出力すべき、低周波成分を動き補償した画像MC1[i−1]乃至MC4[i−1]を生成する。
【0205】
本実施形態における動き補償部67は、第1サブフレームから第5サブフレームまでのオブジェクトの動きを、直線近似する。従って、動き検出部63で得られる動きベクトルMVは、着目フレーム内で共通のものとして扱う。実施形態では、N=5の例を説明しているわけであるから、それぞれのサブフレームにおける隣接するサブフレームの動きベクトルはMV/5であるものとして近似する。
【0206】
このような考え方に基づけば、動き補償部67に渡す動きベクトルのデータは、第2の実施形態と同じものでよい。このようにして、動き補償部67の出力は、第2乃至第5サブフレームとして動き補償した画像として下記のように作成される。
MC1[ i-1] = MA1( L[ i-1] , L[i] ,MV[i-1] ) 式6-2
MC2[ i-1] = MA2( L[ i-1] , L[i] ,MV[i-1] ) 式6-3
MC3[ i-1] = MA3( L[ i-1] , L[i] ,MV[i-1] ) 式6-4
MC4[ i-1] = MA4( L[ i-1] , L[i] ,MV[i-1] ) 式6-5
【0207】
ここで、式6-2から式6-5をn=1〜4に対応させると、式6-2から式6-5は次のようにnに対応させて書くことができる。n番目の式がn番目のサブフレームに対応する式である。
MCn[ i-1] = MAn( L[ i-1 ] , L[ i ] , MV[ i-1 ] ) …式6-6
【0208】
また、本実施形態における動き補償部67に与える動きベクトルデータは、次に示すように第2の実施形態と同じである。
MV[i-1](x,y)=(mvx(x,y),mvy(x,y)) …式2-2-2(再掲示)
【0209】
このとき、MCn[ i-1]の具体的な生成処理は、次の通りである。
【0210】
n番目のサブフレームを求めるのに、Ls[i]における対応点を参照する場合は式6−7に従って計算処理を行う。
MCn[i](x、y)
=Ls[i](x−mvx(x,y) *n/5, y−mvy(x,y) *n/5) …式6-7
【0211】
n番目のサブフレームを求めるのにLs[i+1]における対応点を参照する場合は式6−8に従って計算処理を行う
MCn[i](x、y)
=Ls[i+1](x+mvx(x,y)*(5-n)/5,y+ mvy(x,y) *(5-n)/5) …式6-8
【0212】
それぞれの計算結果は、適宜選択して採用してもよいし、平均値をとるなどしてもよい。
【0213】
ここで、それぞれの成分において第二項が整数にならない場合は、例えば、小数部分を除いた最大整数に置き換えて計算し、それそれの式の計算結果の平均をとるなどすればよい。
【0214】
そして、上記それぞれがサブフレームが、スイッチ70の端子b乃至eに供給されることになる。スイッチ70は1入力フレームに対しN倍速(実施形態ではN=5)のサブフレームを出力することになる。
【0215】
以上のように本第6の実施形態に従えば、N個のサブフレームすなわち入力画像のN倍のフレームレートで動作する表示装置における表示画像を作成する場合にも適応できる。 以上、本発明に係る第1乃至第6の実施形態を説明した。本実施形態では、最終的に得られたN倍速の各フレームの出力先を特に示さなかったが、ホールド型、インパルス側表示装置のいずれでも構わない。また、出力先は、表示装置に限るものではなく、動画像ファイルとして、DVDやハードディスク等の記憶媒体や記憶装置としても構わない。
【0216】
また、先の説明した第1の実施形態の変形例と同様に、第2の実施形態以降についても、それらと等価の処理もしくは機能をコンピュータプログラムの制御によって実現させることができることは明らかである。
【0217】
また、通常、コンピュータプログラムは、CD−ROM等のコンピュータ可読記憶媒体に格納されており、それをコンピュータが有する読取装置(CD−ROMドライブ等)にセットし、システムにコピーもしくはインストールすることで実行可能になる。従って。かかるコンピュータ可読記憶媒体も本発明の範疇にあることも明らかである。
【図面の簡単な説明】
【0218】
【図1】第1の実施形態の画像処理装置のブロック構成図である。
【図2】第2の実施形態の画像処理装置の他のブロック構成図である。
【図3】実施形態の前提となる構成における入力フレームと倍速フレームにおける時間軸に沿った映像信号の波形の例を示す図である。
【図4】実施形態における入力フレームと倍速フレームにおける時間軸に沿った映像信号の波形の例を示す図である。
【図5】従来の画像処理装置のブロック構成図である。
【図6】従来の画像処理装置のブロック構成図である。
【図7】従来の画像処理装置のブロック構成図である。
【図8】従来の画像処理装置のブロック構成図である。
【図9】実施形態の前提となる画像処理装置の構成を示す図である。
【図10】図9の構成を採用した場合のホールド型の表示装置におけるサブフレームSH、SLの輝度の推移を示す図である。
【図11】従来のホールド型の表示装置におけるフレームの表示タイミングを示す図である。
【図12】図9の構成を採用した場合のインパルス型の表示装置におけるフレームの表示タイミングを示す図である。
【図13】従来のインパルス型の表示装置におけるフレームの表示タイミングを示す図である。
【図14】第1の実施形態の変形例であるコンピュータプログラムの処理手順を示すフローチャートである。
【図15】第3の実施形態の画像処理装置のブロック構成図である。
【図16】第4の実施形態の画像処理装置のブロック構成図である。
【図17】第5の実施形態の画像処理装置のブロック構成図である。
【図18】第6の実施形態の画像処理装置のブロック構成図である。
【図19】従来の装置における追従視における観測波形の歪が発生する理由を説明するための図である。
【図20】従来の装置における追従視における観測波形の歪が発生する理由を説明するための図である。
【図21】従来のホールド側表示装置における追従視における観測波形の歪が発生する理由を説明するための図である。
【図22】従来のホールド側表示装置における追従視における観測波形の歪が発生する理由を説明するための図である。
【図23】本発明の前提となる構成を用いてホールド型表示装置による追従視で観測波形の歪が抑制できる理由を説明するための図である。
【図24】第1の実施形態における、ホールド側表示装置における追従視する際の波形歪が改善される理由を説明するための図である。
【図25】従来のインパルス型表示装置において追従視する場合の観測波形の歪が発生する理由を説明するための図である。
【図26】従来のインパルス型表示装置において追従視する場合の観測波形の歪が発生する理由を説明するための図である。
【図27】本発明の前提となる構成を用いてインパルス側表示装置における追従視で、観測波形の歪が抑制できる理由を説明するための図である。
【図28】第1の実施形態の装置を用いてインパルス型表示装置における追従視する際の波形歪が改善される理由を説明するための図である。
【技術分野】
【0001】
本発明は、動画像データをフレームレートをより高いレートに変換する画像変換技術に関するものである。
【背景技術】
【0002】
従来、テレビジョン等の動画表示装置といえば、CRTがその代名詞とも言えるものであったが、近年では、所謂、液晶ディスプレイ、プラズマディスプレイ、FEDディスプレイなどが実用化され、様々なタイプのディスプレイが混在する状況となった。
【0003】
それぞれのタイプは、表示方法が異なる。例えば、液晶デバイスに基づく表示装置(直視型液晶表示装置、液晶リアプロジェクター、液晶フロントプロジェクター等)におけるスキャンの方法は幾つもある。しかし、何れの場合も、夫々の画素部分ごとに光が出力される期間は、1フレームの表示期間の大半を占める。それ故、このような表示装置はホールド型表示装置と言われる。
【0004】
一方、例えばCRTやFEDなどにおいては、夫々の画素部分ごとに光が出力されるのは、1フレーム中一回でかつ発光時間はフレームの長さに比べて十分短く、通常はおよそ2msec以内である。それ故、これらの表示装置はインパルス型表示装置と言われる。
【0005】
さらには、所謂プラズマディスプレイ、フィールドシーケンシャルディスプレイなど前記の分類とは異なるタイプの表示装置もある。
【0006】
夫々のタイプの表示方法は、次に示すような特徴をもっている。
【0007】
(1)ホールド型表示装置
このタイプの表示装置は、フレーム時間内のほとんどの時間において発光する。そのため光強度の時間的偏りが少ない。このためフリッカーがほとんど観測されない。また、追従視(動画像において、動く部分を視線で追いかける見方)を行うと、フレーム内で発光期間の長さに応じて動きぼけが相対的に大きく観測される。なお、ここで言う「動きぼけ」は、表示デバイスの応答特性に起因するものとは異なるものである。
【0008】
(2)インパルス型表示装置
このタイプの表示装置は、フレーム期間内で発光する時間が非常に短いので、光強度の時間的偏りが大きい。このためフレームに同期したフリッカーが観測される。しかし、追従視における動きぼけは、ほとんど観測されず、静止している部分とあまり差の無い解像度が得られる。
【0009】
一般に表示装置における発光の期間は表示方式、表示デバイスごとに異なり上記(1)、(2)は発光期間の長い短いで両極端に位置付けられる。また、それぞれの方式における発光期間(前記ホールド時間に相当)が長いほど、追従視における動きぼけは大きく、発光期間が短いほどに動きぼけは少ない。つまり、発光期間と動きぼけの大きさは概ね比例する。一方、フレームに同期したフリッカーに関しては前記発光期間が長いほど小さく、発光期間が短いほど大きく観測されるものである。すなわちこの両者の要因は、トレードオフの関係にあると言える。
【0010】
これら2つの課題を同時に解決する方法が、フレーム周波数をN倍化することである。実際には多くの場合、N=2すなわち倍速化である。フレーム周波数を倍速化することにより、それぞれの倍速フレームにおける発光時間は半分になる。従って動きぼけも約半分になる。一方、フリッカーに関しても例えばもとのフレーム周波数が仮に60Hzの場合、倍速化して120Hzにすることにより、フリッカーの周波数を人間の目の応答特性の範囲外に追いやることができフリッカーは観測されない。
【0011】
このようにフレーム周波数の倍速化(一般化するとN倍化)の効果は大きいのであるが、新たな問題がある。
【0012】
例えば、もとの画像信号のフレーム周波数が60Hzの場合、画像の情報は1/60秒単位に画像が更新される。従って、これを倍速化して120Hzの表示を行う場合、必要とする画像の情報が一枚おきに欠落した状態となる。その対策としてまず考えられるのは、例えば倍速であれば同一の画像を2回ずつ表示することである。しかしながら、これではフリッカーは解決できるが、動きぼけに関してはもとの画像と同じである。また、インパルス型の場合は追従視にともなって2重の画像が見えてしまう(以下、この現象を「2重ぼけ」という)。
【0013】
フレーム周波数を倍速化する方法は主なものとして二つある。
【0014】
第1の方法は、もとの画像のオブジェクトの動きを検出して2つのフレーム間の画像を推定算出する方法である。一般に動き補償による中間画像作成方法などと言われる。この第1の方法は、特許文献1、2等に開示されている。
【0015】
第2の方法は、先ず、入力画像に対してフレーム毎にフィルタ処理を行い、動きぼけに大きく関与する空間周波数の高周波成分と、フリッカーに大きく関与する低域周波数成分を分離する。そして、前記高周波成分を一方のサブフレーム(元のフレームに対応する2つの倍速フレームの一方)に集中させ、低周波成分を両方のサブフレーム(元のフレームに対応する2つの倍速フレームの両方)に分配して表示する方法である。
【0016】
本明細書においては、この第2の方法を「画像を空間周波数で分離してサブフレームに分配して表示する方式」と表現する。
【0017】
この「画像を空間周波数で分離してサブフレームに分配して表示する方式」としては、特許文献3、4、5として知られている。
【特許文献1】特開2004−159294号公報
【特許文献2】特開2004−297719号公報
【特許文献3】特開平6−70288号公報
【特許文献4】特開2002−351382号公報
【特許文献5】US2006/0227249A1
【発明の開示】
【発明が解決しようとする課題】
【0018】
しかしながら、上記の第1、第2の方法には、以下のような問題がある。
【0019】
先ず、第1の方法であるが、これには2つの課題がある。1つは、動き検出の結果としてのベクトル算出を間違えることがあり、それを修復する手段が無い点である(以下、課題1−1)。もう1つは、画像のサイズに伴って計算量が膨大になる点(以下、課題1−2)である。
【0020】
一方、第二の方法にも2つの課題がある。1つは、第1サブフレームで表示される画像と第2サブフレームで表示される画像が互いの表示時間差を正しく反映していないため、これにより追従視画像に歪が生ずる点である(課題2−1)。また、2つ目は、一方のサブフレームの画像の一部の成分(実際には空間的高周波成分)を他方のサブフレームに移動させることに起因する問題である。すなわち、この場合、サブフレームが飽和しやすくなり、その結果、実効的なダイナミックレンジが表示装置本来のダイナミックレンジより小さくなるという事である(課題2−2)。
【0021】
発明は係る問題に鑑みなされたものであり、簡単な構成により、少なくとも上記の各課題を解決する技術を提供しようとするものである。
【課題を解決するための手段】
【0022】
かかる課題を解決するため、例えば本発明の画像処理装置は以下の構成を備える。すなわち、
単位時間当たりm個のフレームの動画像データを入力し、単位時間当たり2m個のフレームの動画像データとして出力する画像処理装置であって、
フレームごとに画像データを入力する入力手段と、
前記入力手段で入力した画像データから、少なくとも高周波強調画像データを生成するフィルタ手段と、
前記入力した現フレームと、一つ前に入力したフレームとの間の動きを検出し前記入力した現フレームと、一つ前のフレームの時間的に中間に位置する動き補償した低周波成分画像データを生成するフレーム間補間手段と、
前記一つ前に入力したフレームの前記高周波強調画像データと、前記フレーム間補間手段で作成された低周波成分画像データのそれぞれを2倍速のフレームとして出力する出力手段とを備える。
【発明の効果】
【0023】
本発明によれば、簡単な処理で、例えばホールド型表示装置では、動きぼけを小さくすることが可能であり、インパルス型表示装置においてはフリッカーを減少させることが可能となる。また、追従視におけるゴーストや尾引きなどの歪みの発生を抑制することも可能になる。更に、輝度の低下、あるいは一方のサブフレームのレベルが飽和することによる画質的な弊害が起こらないようにすることも可能になる。
【発明を実施するための最良の形態】
【0024】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【0025】
本実施形態では、先に説明した第1の方法と第2の方法を組み合わせる方法と、その組み合わせ方の条件を提案するものである。先に示した「空間周波数分離方式」において、空間的高周波成分を強調して表示するサブフレームを第1のサブフレーム、他方のサブフレームを第2サブフレームとする。本実施形態においては、第1のサブフレームにおいて表示する画像は、対応する同一フレームの入力画像から抽出された空間的高周波成分と空間的低周波成分に基づいて作成する。そして、第2のサブフレームで表示する画像は、前後あるいは前後近傍のフレームの空間的低周波成分から動きを推定して補償することにより作成した空間的低周波成分とする。
【0026】
先ず、本発明の実施形態の理解を容易にするため、図5乃至図8を参照し、従来技術を説明する。
【0027】
[従来例の説明]
図8は、先に示した第1の方法、すなわち、「動き補償によるフレーム補間方式」をもっとも単純化した装置構成を表している。また、図5乃至図7は、先に説明した第2の方法、すなわち、「空間周波数分離方式」に関する3つの従来の装置構成を示している。以下、図8の示す従来例(第1の方法)、また図5乃至図7が示す従来例をそれぞれ説明する。
【0028】
<第1の方法の説明>
図8は第1の方法の装置構成を示している。この装置は、入力画像のオブジェクトの動きを検出して2つのフレーム間の画像を推定算出する処理を行なう。
【0029】
図8において、例えば入力画像(着目入力フレーム)A[i]のフレーム周波数が60Hzであるとする。スイッチSWは1/120ごとに、交互に入力端子を切り替え、1入力フレームに対して、2つのサブフレーム(第1,第2サブフレーム)を出力する。
【0030】
第1サブフレームの画像S1は入力画像と同じである。第2サブフレームの画像S2は、入力画像の前後のフレームから動き補償で求められる中間画像である。
【0031】
この方法における先に説明した課題1−1は、動き検出には画像によってはなんらかの推定間違いが発生することである。また、間違った推定にもとづいて動き補償した画像が、訂正されず、そのまま画像S2として出力されてしまう。課題1−2は、動き検出自体が計算規模が大きく、動き補償も含めて、高速な演算処理と十分な高速メモリーを必要とするということである。
【0032】
<第2の方法の説明>
図5は、先に説明した第2の方法に従って処理する装置のブロック構成図である。ここでも、入力画像は、60Hzのフレームレートであり、1フレーム入力する毎に、2つのサブフレームを生成し、出力する。このため、入力した1フレームの画像を、2つのフィールドメモリーに一時保存する。そして、スイッチSW0は、1/120秒毎に入力を切り替える。これにより、画像のフレームレートを2倍にする。このときに一方のサブフレーム(第2サブフレーム)の生成過程に、帯域制限フィルタを配置する。そして、動き検出部の検出結果に応じて、帯域制限フィルタ処理した画像と、そのフィルタ処理無しの画像を切り替える。
【0033】
その結果、前記一方のサブフレーム(図中SLで表現)は相対的に高周波成分が少なくなる。また他方のサブフレーム(図中SHで表現)ではサブフレームSLと比較して相対的に空間的高周波成分が多いこととなる。この結果、出力画像において一方のサブフレームに空間的高周波成分が局在することとなり、追従視を行ったときの動きぼけを改善することができる。また、空間的低周波成分が2つのサブフレームに分散して表示されることにより、フレーム周波数のフリッカーの発生を防止できる。
【0034】
図6は、もう1つの従来の装置のブロック構成図である。同図において、入力画像のフレームレートは60Hzである。フレームコンバータは、入力したフレームの画像を倍速化し、さらにフィルタ部に出力する。フィルタ部は、空間的低周波成分データLowと空間的高周波成分データHighとを生成する。さらに高周波成分データHighに所定のゲインαを乗算する。このゲインαは、2つのサブフレームの出力タイミングに応じて、その正負の極性が変わるものである。そして、乗算器は、動き検出部が動き検出した場合にはゲインαを大きな値にし、動き検出部が動き検出しない場合にはゲインαを小さな値にする。混合回路は、第1サブフレームの出力タイミングでは、低周波成分データLowと、正のゲインαを乗算した結果を加算し、出力する。そして、混合回路は、第2サブフレームの出力タイミングでは、低周波成分データLowと、負のゲインαを乗算した結果を加算し、出力する。
【0035】
このようにすることにより一方の倍速フレーム(または入力画像から見ると一方サブフレーム)SHに空間的高周波成分が局在することとなり、追従視を行ったときの動きぼけを改善することができる。また、空間的低周波成分が2つのサブフレームに分散して表示されることにより、フレーム周波数のフリッカーの発生を防止できる。
【0036】
図7は、従来技術の更なる装置構成を示している。図示において、1フレームの入力画像A[i]にローパスフィルタ(LPF)及び減算器を設けることで、高周波成分データH[i]を生成し、それを入力画像データに加算することで、高周波強調画像データSH[i]を生成する。
【0037】
スイッチSW0は、1フレームの画像データを入力するごとに、2つの入力端子を切り替える。この結果、1フレーム入力する毎に、高周波強調画像データSH[i]と低周波画像データSL[i]の2つのサブフレームを生成し、出力する。なお、ここで、A[i]のiはi番目のフレームを意味する。
【0038】
このようにすることにより一方の倍速フレームに空間的高周波成分を集中させた倍速画像を出力することできる。これによって追従視を行ったときの動きぼけを改善することが出来る。また、空間的低周波成分が2つのサブフレームに分散して表示されることにより、フレーム周波数のフリッカーの発生を防止できる。
【0039】
以上、第2の方法による従来技術を説明した。上記図5乃至図7の構成は、1フレームの画像データを入力する毎に、その入力したフレームの画像データから、高周波強調画像データSHと低周波画像データSLとを交互に出力するものである。入力画像のフレーム周波数が50Hzとか60Hz程度の場合、画像SH、SLは人間の網膜上では、時間積分、すなわち足し算された波形として認識される。ただし、動いているオブジェクトを追従視している場合には、これに更に、画像の動きの時間的な要因が加わる。
【0040】
例えば、入力画像のフレーム周波数を60Hzとする。また入力画像i番目のフレームに対応して、画像SH[i]、SL[i」の順に表示出力する場合を考察する。この場合、画像SL[i]は、画像SH[i]よりも1/120秒遅れて表示される。このため、移動しているオブジェクトを追従視すると画像SL[i]が相対的にずれた位置に認識される。このため観測される像はオーバーシュート、ゴースト、尾引きなどの歪みを含む画像となる。図5乃至図7の構成では、オブジェクト移動方向のエッジの先頭と後端に非対称の歪みが発生する。
【0041】
<「空間周波数分離方式」における課題2−1(波形歪み)の説明>
説明を分かりやすくするため、図7の従来技術の装置を前提に、追従視における観測波形の歪が発生する理由を、図19乃至図23を用いて説明する。
【0042】
ここでは、入力画像のフレームレートは60Hzとする。追従視の対象となるオブジェクトの移動速度は1/60秒あたりV画素、すなわち、オブジェクトの移動速度は、V[pixel /{1/60秒}とする。
【0043】
図19は表示のパルス幅(表示期間の時間長)と追従視波形の関係を示す図である。図19(a)はもとの静止画像の断面波形である。同図(b)は表示パルス幅1/60秒、同図(c)は表示パルス幅1/120秒、同図(d)は表示パルス幅1/1200秒の場合の断面波形である。いずれの場合も、斜めになっている部分の幅が追従視画像における動きぼけに相当する。
【0044】
この斜め部分の幅は、Tp(パルス幅)×V(移動速度)となる。
【0045】
動きによるボケる画像の範囲(画素数)は、 Tp[sec]×V[ pixel / (1/60sec)となる。
【0046】
例えばフレームレート60Hzの画像でホールド型表示の場合、Tp=(1/60)秒となるので、図19(b)の波形に示すように、V[pixel]に相当する範囲がボケとなって現れる。
【0047】
また、フレームレート120Hzの画像でホールド型表示の場合パルス幅は、Tp=1/120となり、図19(c)の波形に示すように、ボケとなって現れる領域はV/2 [pixel]となる。
【0048】
また、CRTなどのようなインパルス型表示装置でパルス幅が短く、例えば、Tp=1/1200秒の場合、図19(d)に示すように、ボケとなって現れる領域はV/20[pixel]である。
【0049】
ここで、確認すべきことは、動きぼけは、フレームレートで決まるわけではなく、表示のパルス幅とオブジェクトの移動速度のみで決まる点である。もちろん、ここで言う、動きぼけは表示デバイスの応答特性に起因するものとは異なるものである。
【0050】
次に、図20に元画像Aを空間周波数で分離する場合の波形を説明する。ここで空間的ローパスフィルタの関数をLPF( )としたとき、入力画像Aから抽出した空間的低周波成分データLはL=LPF(A)、空間的高周波成分データHはH=A−LPF(A)となる。低周波成分データLは画像データでもあるので、それをSLと表わす。一方、高周波強調画像データをSHと表わすと、高周波強調画像データSHは元画像Aに高周波成分データHを加算した結果であるので、SH=A+H=A+A−LPF(A)=2A−Lとなる。また、高周波成分データHと低周波成分データを加算することで、元画像を構成できるので、SH={H+L}+H=2H+Lと表現することもできる。
【0051】
図20(a)乃至(c)は、共に静止画像の断面波形である。同図(a)は元画像の断面波形、同図(b)は高周波画像SH(=2H+L)の断面波形を、同図(c)は低周波画像SLの断面波形である。同図(b)の波形と同図(c)の波形を足し合わせれば、同図(a)の波形となる。
【0052】
図21(a)乃至(c)は、倍速ホールド型の場合の波形で、図20(a)乃至(c)のそれぞれの波形に表示のパルス幅(1/120秒のパルス幅)に相当する動きぼけを施した追従視画像波形である。いずれも、図20の波形が左右方向にV/2だけ(すなわち動きぼけの分だけ)ぼけた波形となる。
【0053】
図25(a)乃至(c)は、インパルス型の場合の波形で、図20(a)乃至(c)のそれぞれの波形に表示のパルス幅1/1200秒のパルス幅に相当する動きぼけを施した追従視画像波形である。いずれも、図20の波形が左右方向にV/20だけ(すなわち動きぼけの分だけ)ぼけた波形となる。
【0054】
図22は、図7に示す構成における追従視の波形で倍速ホールド型の場合である。図7の場合、本来、入力画像の同一時間のフレームから作成された画像である高周波強調画像SH[i]と低周波画像SL[i]が1/120秒の時間差をもって表示される。すなわち、低周波画像SL[i]が、1/120秒だけ、高周波強調画像SH[i]より遅れて表示(出力)される。このため追従視波形においては画像SL[i]の波形は、画像SH[i]の波形に比べて、移動方向の反対の方向にV/2だけずれて観測される。このようにして出来た図22(b)の画像SLの追従視波形を図22(a)の高周波強調画像SHの追従視波形に加えると、図22(c)のような波形となる。図22(c)の波形からもわかるように画像中に、オーバーシュート、尾引き、などの歪みが生じることがわかる。特に移動方向に対して非対称な歪みである点が目立つ。
【0055】
図26は、図7に示す構成における追従視の波形でインパルス型の場合である。上記と同様に、追従視波形においては画像SL[i]の波形は、画像SH[i]の波形に比べて、移動方向の反対の方向にV/2だけずれて観測される。このようにして出来た図26(b)の画像SLの追従視波形を図26(a)の高周波強調画像SHの追従視波形に加えると、図26(c)のような波形となる。図26(c)の波形からもわかるように画像中に、オーバーシュート、尾引き、などの歪みが生じることがわかる。特に移動方向に対して非対称な歪みである点が目立つ。
【0056】
図22、図26を比較してわかるように、動きぼけにはパルス幅の違いは大きく影響するが、オーバーシュートや尾引きなどの歪みに関してはパルス幅の影響は比較的少ないことがわかる。
【0057】
以上、従来技術の構成とその課題について説明した。
【0058】
<実施形態における前提となる装置についての説明>
さて、本発明者は、装置構成を図9に示すようにすることで、上記課題を解決できると考えた。なお、ここで、入力する画像のフレームレートは60Hzであり、これを2倍速の120Hzの画像に変換するものとして説明する。
【0059】
ローパスフィルタ(以下、LPF)1は、入力した1フレームの画像データA[i]から低周波成分を通過させ、低周波成分データ(低周波画像データ)L[i]を生成する。減算器2は、入力した原画像A[i]から低周波成分データL[i]を減じることで、高周波成分データH[i]を生成し、加算器3にて元画像A[i]に高周波成分データH[i]を足し込む。この結果、加算器3からは、高周波強調画像データSH[i](=A[i]+H[i]=L[i]+2H[i](=2A[i]−L[i])が出力される。この高周強調画像データSH[i]は、遅延回路(DL)4(FOFOメモリやRAMで構成できる)を経ることにより、1つ前のフレームの高周波成分強調データSH[i−1]が呼び出され、スイッチ8に供給される。一つ前のフレームのデータを出力するのは低周波画像データのフレーム遅延にタイミングをあわせるためである。
【0060】
一方、低周波成分データL[i]は、加算器6と遅延回路5に供給される。そして、加算器6は、現フレームA[i]から得られた低周波成分データL[i]と、直前に入力したフレームA[i−1]から生成した低周波成分データL[i−1]とを加算する。そして、除算器7は、加算器6から出力されるデータを半分にする。つまり、加算器6、除算器7により、現フレームの低周波成分データL[i]と、前フレームの低周波成分データL[i−1]の平均が演算される。この低周波成分の平均値を着目フレームA[i]に対する1つ前のフレームの低周波成分画像データSL[i−1]として出力する。
【0061】
スイッチ8は、60Hzの1フレームの入力期間内で、1フレームの入力期間で入力端子a,bの順番に切り替えるとで、高周波画像データSH、低周波画像データSLの2つのサブフレームを、フレームレートが120Hzの画像として出力することになる。
【0062】
さて、図23(a)乃至(c)、図27(a)乃至(c)は、上記図9の構成における画像を追従視した場合の波形を示している。図23はホールド型の場合であり、図27はインパルス型の場合である。いずれの場合も高周波強調画像データSH[i]と低周波画像データSL[i]は1/120秒の時間差を有することになる点に注意されたい。
【0063】
図23(b)の低周波画像SL[i]の構成要素のうち、L[i]はSH[i]と同一フレームから作成された画像である。またL[i+1]はSH[i+1]と同一フレーム(すなわち1つ後ろのフレーム)から作成された画像である。従って、L[i]は本来の時間より1/120秒遅れて表示されている。一方、L[i+1]は本来の時間より1/120早く表示されているものと言える。従って、前者は追従視波形においてはオブジェクトの移動方向の反対方向にV/2だけずれて観測され、後者はオブジェクトの移動方向にV/2だけずれて観測される。SL[i]はこれらの平均値の波形である。このようにして出来た図23(b)の波形と図23(a)の高周波強調画像データSHの追従視波形を足し合わせると、図23(c)のような追従視観測波形が得られる。この波形は、オーバーシュート、尾引きなどが見られるが、移動方向に対称であるため、歪みの最大振幅が小さく押さえられ目立たなくすることが可能になる。
【0064】
図27の場合も同様で、図27(c)のような追従視観測波形が得られる。上記同様に、オーバーシュート、尾引きなどが見られるが、移動方向に対称であるため、歪みの最大振幅が小さく押さえられ目立たなくすることが可能になる。
【0065】
尚、本発明の実施形態における演算や定義は原則的に、表示される輝度(表示される光強度)に対しての概念として説明している。従って、本実施形態における画像の波形などを表す図は、全て縦軸を輝度として表現している。このため、本発明は、表示される輝度(表示される光強度)に比例するデータとして定義される画像データに対して適用する場合が最も効果的である。しかしながら、本発明は、必ずしも、このような場合のみを限定しているわけではない。本発明は、一般的に使用される範囲の画像データ(表示輝度または光強度とデータの値の間に若干の非線形性をもつ画像データ)に対して適用する場合も対象としている。このような場合でも本発明の考え方が近似的に成り立ち、いずれの場合も十分効果的である。
【0066】
上記の如く、図9の構成にすることで、従来技術よりも、良好な波形を有する画像データが生成できるようになる。ただし、本発明は、この図9の構成による、更なる課題(先に示した課題2−2)、すなわち、ダイナミックレンジ低下の課題を見出した。以下、かかる点について説明する。
【0067】
<「空間周波数分離方式」の課題2-2(ダイナミックレンジ低下)>
以下、図9の構成におけるダイナミックレンジの低下について説明するが、この問題は、図7の構成についても言えることである点に注意されたい。
【0068】
「空間周波数分離方式」においては、空間的高周波成分を一方のサブフレームに集中させるため、例えば表示する画像の輝度を大きくしてゆくと、高周波強調画像データSH[i]を表示しているサブフレームにおいて先に飽和が起こる。一方、低周波画像データSL[i]を表示するサブフレームは前者が飽和しても、まだ飽和に至らない。図10は、ホールド側の表示装置の場合、図12はインパルス型の表示装置における各サブフレームに含まれる成分の分布を示している。図示の斜線部分が高周波成分を示している。
【0069】
上記の通りなので、フレーム全体が同時に飽和レベルに至る通常の表示方法(図11、ホールド型)、図13のインパルス型)に比較して最大表示輝度が小さくなる。
【0070】
かかる点を、図3のような実際の波形で説明することもできる。図3の左側の波形は、入力画像A[i]と1/60秒後の入力画像A[i+1]の波形を示している。
【0071】
右側の波形はSH[i]とSL[i]を示し、その間隔は1/120秒である。1/120で切り替わる画像は人間の視覚では時間積分されて見えるので、少なくとも静止している像であれば基本的に同一の画像が見える。
【0072】
画像A[i]の波形に比較して高周波強調画像SH[i]の波形のとがった部分は、より高くなっている。これは高周波強調画像SH[i]に、他方のサブフレームに元々存在していた高周波成分データが移動し、高周波成分が2倍になっているからである。この波形から明らかなように、最大表示レベル(図中の枠の上辺のレベル)までの余裕は画像A[i]と比較して明らかに少ないことがわかる。このために、実際に画像A[i]の最大値が入力されても第1サブフレームが飽和しないようにするためには、もとの画像信号に対して1より小さい比率をかけ算して入力しなければならない。この結果、実効的なダイナミックレンジが小さくなる。すなわち表示装置本来のダイナミックレンジより小さいものとなる。
【0073】
図3、図10、図12などでわかるように、2倍速の第1サブフレームと第2サブフレームのレベル差が大きいほど、すなわち空間的高周波成分が大きいほど、ダイナミックレンジの低下が大きい。また、入力画像に対する空間周波数でのフィルタリングの定数(距離定数)が大きいほど空間的高周波成分が大きくなるので、先に示した距離定数が大きいほど、ダイナミックレンジの低下分が大きいということができる。すなわちダイナミックレンジ低下の防止ということだけを考えれば距離定数は小さいほど望ましいという事になり、課題2−1の傾向とは相反することとなる。
【0074】
<第1の実施形態>
以上本発明の背景(課題)を説明してきた。本実施形態では、図9の構成を更に改良するものである。
【0075】
2倍速の第1サブフレームで表示する画像は、入力画像の1つのフレームからフィルタリングして抽出した成分に基づいて作成する。一方、第2サブフレームの表示タイミングにおいて表示すべき画像は、第1サブフレームのタイミングより1/120秒ずれた時間の画像情報が必要であり、前記入力画像をフィルタリングした成分からは直接的には生成できない。従って、第2サブフレームで表示する画像は前後の画像からフレーム間補償することによって作成する。本実施形態においては第2サブフレームで表示する画像は空間的低周波成分のみとする。従って、第2サブフレームで表示する画像は、前記入力画像からフィルタリングして作成した前後近傍のフレームの空間的低周波成分から動き補償に基づくフレーム間補間をして作成する。空間的高周波成分に関しては、第1サブフレームでのみ表示されるので、フレーム間補間する必要は無い。
【0076】
図1は本実施形態における画像処理装置のブロック構成図である。図9と同様の構成には、同参照符号を付した。
【0077】
図中、A[i]は現フレームの入力画像データである。ここでも、画像データのフレームレートは60Hzとする。スイッチSW5は、1/120秒ごとに、入力を切り替える。スイッチSW5の端子a側に接続されている期間が第1サブフレームであり、端子bの方に接続されている期間が第2サブフレームである。
【0078】
図1は、図9に対して、スイッチSW5の端子bに到る過程にフレーム間補間部10を挿入した点が異なる。以下、図9の構成における動作を順を追って説明する。
【0079】
LPF1は2次元的ローパスフィルタである。このローパスフィルタは、例えばガウス関数でもよいし、移動平均あるいは重み付けした移動平均でもよい。ここで、フィルタ係数が最大値(中心値)の1/2になる実効的距離、すなわち、伝達係数が通過帯域の1/2の大きさになる空間周波数に相当する実効的距離を、フィルタの距離定数dと定義する。距離定数dは、画像を空間周波数のフィルタで帯域制限するときのカットオフに相当する空間周波数の波長である。dの単位はpixelである。また、dは、x、y成分のベクトルd=(dx、dy)のように表現され、成分ごとにフィルター処理される。LPF1の距離定数はd1=(d1x、d1y)である。d1x、d1yの単位はそれぞれ[pixel]である。
【0080】
LPF1の出力は入力画像の空間的低周波成分L[i]であり、次式で定義される。
L[i]=LPF1(A[i]) …式1-1
【0081】
このL[i]は、減算器2に送られる。減算器2では、画像データA[i]からL[i]を減じることで、高周波成分データH[i]を生成し、それを加算器3に出力する。
【0082】
加算器3は、画像データA[i]に、高周波成分データH[i]を加算し、その結果を、高周波強調画像データSH[i]として出力する。
SH[i]=A[i]+H[i]=A[i]+A[i]−L[i]
【0083】
ここで、A[i]=H[i]+L[i]であるから、この高周波強調画像SH[i]は次式のようにも表現できる。
SH[i]=2H[i]+L[i] …式1-2
【0084】
この高周波強調画像データSH[i]は、以下に説明する第2サブフレームに同期させるため、フレーム遅延回路4(FIFOメモリ、RAM等の記憶手段で構成される)で遅延される。従って、フレーム遅延回路4から出力される高周波画像データはSH[i−1]となり、第1サブフレームとしてスイッチSW5の端子aに供給される。
【0085】
一方、LPF1で生成された低周波成分データ(低周波画像データでもある)L[i]は、低周波成分フレーム間補間部10にも送られる。低周波成分フレーム間補間部10の出力は第2サブフレームの表示信号SL[i]であり、L[i]とL[i−1]に動き補償に基づくフレーム間補間を施したものとして次式のように定義される。
SL[i−1]=MC(L[i],L[i−1]) …式1-3
【0086】
なお、SL[i]ではなく、SL[i−1]としたのは、以下に説明する低周波成分フレーム間補間部10の処理において、次のフレームを参照するために1入力フレーム分(1/60秒)だけ待つ必要があるからである。
【0087】
<実施形態における低周波成分フレーム間補間部10について>
以下、本実施形態における低周波成分フレーム間補間部10について、詳細に説明する。
【0088】
本実施形態での低周波成分フレーム間補間部10は、文字通り、低周波成分のみの動き補償に基づくフレーム間補間を行なう。ここで低周波成分データは、画像データでもあるので、以下では低周波画像データという。
【0089】
低周波画像データL[i]は、距離定数d1で帯域分割された画像であるので、距離d1に相当する空間周波数より空間周波数の高い帯域の信号レベルは非常に少ない(ただし、どの程度平滑化されるかは、ローパスフィルタの関数次第である)。
【0090】
従って、低周波画像データL[i]の画像のフレーム間補間を行う際には、動きの検出はL[i]の全空間周波数帯域、すなわち一つ一つの画素の単位で行う必要はなく、所定の周期で間引いた信号で動き検出を行えばよい。
【0091】
ここでダウンサイズ率というものを定義する。ダウンサイズ率(縮小率)は画像中のx方向(水平方向)、y方向(垂直方向)でそれぞれ定義される。例えば、d2x×d2y で画像をサイズダウンするということは、元の画像中の、d2x×d2y画素のウインドウを設定し、そのウインドウ内の所定の位置の代表点の画素をサンプルすることとする。つまり、この場合、水平方向に1/d2x、垂直方向に1/d2yに縮小した画像を作ることを意味する。
【0092】
ここでL[i]をサイズダウンした画像をLs[i]と表現する。
Ls[i]=SizeDn(L[i]) …式1-4
【0093】
以下、低周波成分フレーム間補間部10を説明する場合には必要に応じて画像データに、その画素の座標(x、y)を付けてつけて表す。
【0094】
サイズダウンする前の画像Lとサイズダウンした後の画像Lsをそれぞれの座標系で、例えば以下のようにあらわす。
L[i]=L[i](x、y) 式1-5-1
Ls[i]=Ls[i](xs、ys) 式1-5-2
【0095】
ここで、前記サイズダウンするための1単位であるd2x、d2yの領域ごとに定義される代表点の領域内での座標をpx、pyとすると、前記LとLsの座標系は次のような関係になる。
x=d2x*xs+px 式1-5-3
y=d2y*ys+py 式1-5-4
ここで、d1x、d1y、d2x、d2yは整数である
【0096】
本発明においては、これら範囲は理論上、d1、d2とも2以上であれば成立する。しかしながら、現実的にはd1x、d1yは数画素から数十画素の範囲であろう。d2の範囲も、d1に対して
0.5d1x≦ d2x ≦ 2d1x 式1-5-5
0.5d1y≦ d2y ≦ 2d1y 式1-5-6
であれば、画質的な意味で本発明の効果が最も大きい。d2xが小さすぎると非効率であり、d2xが大きすぎると、低周波成分の動きを捉える分解能が不足する傾向がある。しかしながら、取り扱い画像の種類、目的によっては、d2xがもっと大きい値であってもよい(y方向も同様である)。
【0097】
一例として、本実施形態では、d1=8、d2=6として説明する。また、本実施形態で扱う入力画像A[i](x,y)は水平方向1920画素、垂直方向1080画素のサイズであるとする。当然、低周波成分画像L[i]の画像のサイズも1920×1080である。d2x=d2y=6であるので、縮小画像Ls[i]のサイズは、320×180画素である。すなわち、本実施形態においては、1920×1080画素の動き検出、動き補償の計算を行うことはせず、その水平、垂直とも1/6のサイズの画像の動き検出、動き補償を行えばよいことを意味する。面積比で言えば、実に1/36の計算量で良いことになり、画像の劣化もほとんど知覚できないものとすることができる。
【0098】
サイズダウンした画像データLs[i]は、動き検出動き補償部13及び遅延回路12に供給される。動き検出動き補償部13は、現フレームから生成された縮小画像データLs[i]と、遅延回路12からの前フレームの縮小画像データLs[i−1]に基づき、その中間のタイミングに位置する画像データLs_mc[i]を作成する。
【0099】
また、ここでは時間的に前後する2つの縮小画像データから生成するものとして説明するが、3以上の縮小画像データを参照しても構わない。ここでは、最小限度の構成とするため、2つにした。
【0100】
なお、実際には、上記のようにして動き補償後の画像データLs_mc[i]を生成する計算においては、少なくとも、参照する中で一番最後に入力されるフレームを待ってから動き検出をする必要がある。そのため、それに応じてフレームを遅らせる必要がある。ここでは、先に述べたように最小限度の構成としたため、1フレームだけ待って次のフレームの画像を参照できるタイミングで処理すればよい。従って出力される画像データはLs_mc[i−1]となる。
【0101】
画像データLs_mc[i]は、次式に従って生成する。
Ls_mc[i−1]=MC(Ls[i−1],Ls[i]) …式1-6-1
【0102】
画像データLs_mc[i]の具体的な生成処理を示すのであれば、例えば、次の通りである。
【0103】
Ls_mc[i]を求めるには、動き検出を行い、その結果に基づいて動き補償を行う必要がある。本実施形態では動き検出、動き補償の対象はLsである。
【0104】
まず、動き検出について説明する。画像Ls[i]中のそれぞれの位置(x、y)の微小領域に対して、画像Ls[i+1]における近似または一致する微小領域を探す。これをブロックマッチングという。探す範囲は、もとの位置に対して想定する最大動き量に相当する範囲内である。仮にその結果見つけた微小領域の位置が(x+mvsx、y+mvsy)であったとする。このとき、座標位置(x、y)における動きベクトルは次式のように表現できる。
MVs[i]=(mvsx、mvsy) …式1-6-2
【0105】
画像Ls[i](x,y)の全ての画素位置(x、y)に対してこの動きベクトルを求めることを動き検出という。ここで、動きベクトルMVsはLsと同じデータ数の配列データである。また個々の画素に対応するデータはベクトルデータであり、それぞれの画素位置に対してx成分y成分ごとに独立して決まるものである。MVsは成分ごとに次のように表すことができる。
MVs[i](x,y)=(mvsx(x,y),mvsy(x,y)) …式1-6-3
次に、動き補償について説明する。実施形態における動き補償とは、上記のようにして求めた動きベクトルを元に、Ls[i]とLs[i+1]の中間の時間に対応する画像Ls_mc[i]を求めることである。求めるLs_mc[i](x、y)は、x、yの値を動きベクトルの半分だけ引いた画素位置のLs[i]のデータを参照することによって得られる。または、x、yの値を動きベクトルの半分だけ進めた画素位置のLs[i+1]のデータを参照することによっても得られる。それぞれの関係は次式で与えられる。
【0106】
Ls_mc[i](x、y)=Ls[i]( x − mvsx(x,y)/2 , y − mvsy(x,y)/2 ) …式1-6-4
または
Ls_mc[i](x、y)=Ls[i+1]( x + mvsx(x,y)/2 , y + mvsy(x,y)/2 ) …式1-6-5
【0107】
それぞれの式によって得られる結果は、適宜選択するのでもよいし、2つの結果の平均値をとるのでもよい。
【0108】
ただし、mvsx(x,y)/2、または、 mvsy(x,y)/2が整数にならないときは、小数部分を除いた最大整数に置き換えて計算し、それぞれの式の結果の平均をとるなどすればよい。
【0109】
本実施形態では、1フレーム遅延させてLs_mc[i−1](x、y)を求めることとなる。
【0110】
動き検出と動き補償の結果得られた画像データLs_mc[i−1](サイズは320×180画素)は、サイズアップして元の画像と同じサイズに戻さなければならない。SizeUp部14では、1つの画素データからd2x×d2y個の画素データを作成する。本実施形態では、このSizeUp部14は、空間的に線形補間(例えば、バイリニア法)を実施することにより、領域ごとに1画素からd2x×d2y個の画素データを作成(拡大処理)し、これによって画像のサイズ戻しを行う。元のサイズに変換された画像データをLup[i−1]とすると、次式の関係となる。
Lup[i−1]=SizeUp(Ls_mc[i−1]) …式1-7
【0111】
しかしながら、ここで得られた、Lup[i](=1920×1080画素)は第2サブフレームに表示する低周波成分画像としてはまだ特性が不十分である。この画像Lup[i]はSizeUp部13で線形補完を行っているため、空間周波数成分として、不要な高周波成分を含んでおり、滑らかでないからである。
【0112】
第2サブフレームとして表示(出力)される画像の空間周波数分布は、直前直後の第1サブフレームの低周波成分とほぼ同一の空間周波数分布、正確に言うと直前直後の空間周波数分布の間の値に入っている必要がある。そのためにも上記の不要な高周波成分を取り除くことは望ましいものである。このため、本実施形態では、LPF15をSizeUp部14の後段に設けた(このLPF15の距離定数をd3=(d3x、d3y)とする)。LPF15により、不必要な高周波成分を取り除いた結果は、十分に滑らかなものとなり、第2サブフレームSLとしてで表示するのに適した画像データとなる。
SL[i−1]=LPF2(Lup[i−1]) …式1-8
【0113】
本実施形態では、構成を簡単にするために、(d3x、d3y)=(d1x,d1y)とした。このようにすることにより LPF1とLPF2を共通化できる。第2サブフレームで表示する画像SL[i−1]はスイッチSW5の端子bに供給される。
【0114】
本実施形態におけるスイッチSW5は、SH[i−1](=L[i−1]+2H[i−1])とSL[i−1](=LPF2(Lup[i−1]))を1/120秒ごとに切り替えて出力することによって動きぼけを改善した画像が実現される。
【0115】
<本実施形態における効果2−1(追従視波形歪改善)>
これまでの説明からもわかるように、本実施形態における第2サブフレームとして生成される画像データは、現フレームと直後のフレームの第1サブフレームの低周波成分画像から、フレーム間補間して作成する。
【0116】
従って、第1サブフレームで表示する画像と第2サブフレームで表示する画像がそれぞれ時間差に対して矛盾の無い画像であるため、追従視を行った場合にも、第1サブフレームで表示する画像に対し、第2サブフレームの画像の位置が大きくずれることはない。このためそれぞれの画像を視覚によって時間積分すなわち足し合わせることにより、本来の画像を認識することができる。
【0117】
詳しくは、第2サブフレームの低周波成分画像SL[i]は、図7のようにSH[i]と同一タイミングの画像情報にもとづく低周波成分ではない。また、実施形態における、この第2のサブフレームは、図9に示した画像SH[i]と同一タイミングの画像情報にもとづく低周波成分と、高周波強調画像SH[i+1]と同一タイミングの画像情報にもとづく低周波成分との平均値でもない。従って、ホールド型においては図22(c)、図23(c)のような波形歪は発生せず、図24(c)に示すように、より正確な追従視波形が観測されるようにすることができる。またインパルス型でも同様に図26(c)、図27(c)のような波形歪は発生せず、図28(c)に示すように、より正確な追従視波形が観測されるようにすることができる。
【0118】
<本実施形態における効果2−2(ダイナミックレンジ改善)>
先に示した図7の構成では、追従視した場合において図22(c)及び図26(c)のように、追従視波形におけるオーバーシュート歪、アンダーシュート歪、尾引き歪が観測される。また、図9の構成では、オーバーシュート歪、アンダーシュート歪はある程度改善され、尾引き歪は大幅に改善される。
【0119】
更にまた、図7、図9の構成では、追従視しているオブジェクトの移動速度に対してLPF1の距離定数を、最大移動速度を考慮して十分な大きな値に設定すると、ダイナミックレンジが低下する。
【0120】
本実施形態では、図24(c)及び図28(c)に示すように、追従視波形に伴う歪が発生しないという効果がある。従って、前記、波形歪を考慮するという意味で、距離定数を大きく設定する必要がなくなった。また、そのためにダイナミックレンジが低下することも無くなる。
【0121】
また、距離定数に対して移動速度が大きい場合(想定する移動速度に対して距離定数が小さい場合)においてもこの効果は不変である。従って今までよりも距離定数を小さく決めることができる。
【0122】
図3の波形は、図9の構成におけるものである。図3では、SL[i]の波形が例えばV/2だけ横方向にずれても全体の波形として大きな違いがないようにするため、L[i]、又は、{L[i]+L[i+1]}/2を求めるための距離定数を大きめに設定しなければならない。
【0123】
図4の波形は本実施形態における波形を示している。本実施形態では、SL[i]を動き補償に基づくフレーム間補間によって作成するので、SL[i]の波形が正しい位置にできる。従って、ある程度、図のようなピーク(すなわち、高周波成分)が残っていても良い。そのため、その元になるL[i]を決めるためのフィルタの距離定数が相対的に小さくても良い。従って、空間的高周波成分の比率が小さく、すなわちSH[i]とSL[i]とのレベル差が小さくなる。このため、表示装置としての実効的なダイナミックレンジが図9の構成に比べて改善できる。
【0124】
<本実施形態における効果1−1(動き検出間違いの影響を小さくできる)>
図1に示すように、本実施形態では、LPF15をSizeUp部14の後段に挿入することにより、動き検出やSizeUpにともなって新たに発生する空間的高周波成分の雑音を排除することを実現している。このLPF15は、動き検出動き補償部13において、動き検出の推定間違いが発生した場合にも効果を示す。動き検出の推定間違いによるが画像ノイズが空間的高周波成分のみの場合はその大きさは大幅に抑圧され、また空間的低周波成分まで含んでいる場合にも、その大きさは抑圧され、また視覚的になめらかで目立たないノイズとなる。
【0125】
<実施形態における効果1−2(計算規模、小さくできる)>
本実施形態においては、d2x×d2yでサイズダウンした縮小画像Ls[i]を動き検出の対象としている。また、動き補償の対象とする画像も同じようにLs[i−1]である。計算規模は対象とする画素数に依存するものであるから、その画素数が絶対的に少なくなることに応じて、計算規模を大幅に縮小させることができる。すくなくとも、計算量の縮小率は画素数の縮小比率の2乗程度になる。
【0126】
<第1の実施形態の変形例>
上記第1の実施形態と等価の処理を、コンピュータプログラムで実現する例を説明する。このコンピュータプログラムを実行する装置は、パーソナルコンピュータ等の情報処理装置(以下、PCという)で良い。PCのハードウェアについては説明するまでもないであろう。但し、以下では、単位時間当たりm個のフレームの動画像データファイルはハードディスク等の記憶装置(もしくは記憶媒体)に既に格納されているものとする。そして、本変形例のアプリケーション(コンピュータプログラム)を実行するCPUは、そのファイルから、単位時間当たり2倍の2m個のフレームで再生すべき動画像データに変換し、その変換結果をハードディスクにファイルとして保存する例を説明する。また、変換対象動画像データは記憶装置に格納され、倍速変換後の動画像データも記憶装置に格納されるものであるから、本アプリケーションは倍速変換結果を表示する必要はない。つまり、CPUは、変換対象動画像データで表わされる動画像のフレームレートに同期して処理する必要もない点に注意されたい。また、変形例のアプリケーションは、やはりハードディスクに格納されており、CPUがRAMにロードし、実行するものである。
【0127】
図14は、本アプリケーションの処理手順を示すフローチャートである。以下、同図に従って、CPUの実行処理手順を説明する。
【0128】
先ず、ステップS1において、CPUは変換対象の動画像データファイルから、1フレーム単位に画像データA[i]をRAMに読込む。符号化されている場合には、対応する復号処理を行なう。
【0129】
ステップS2では、CPUは、予め設定されたローパスフィルタ(テーブル)を用いて、入力した1フレームの着目画像データA[i]のフィルタ処理を行ない、低周波画像データL[i]を生成する。
【0130】
次いで、ステップS3に進み、CPUは高周波成分データH[i]を生成する。
H[i]=A[i]−L[i]
【0131】
ステップS4では、CPUは高周波強調画像データSH[i]を生成し、それを一時的にRAMに格納する。
SH[i]=A[i]+H[i]=2A[i]−L[i]
【0132】
ステップS5では、CPUは、低周波成分データL[i]から縮小画像データLs[i]を生成する(第1の実施形態では、水平、垂直とも1/6にした)。
Ls[i]=SizeDown(L[i])
【0133】
この後、ステップS6にて、前回入力したフレームから生成した縮小画像データLs[i−1]と現フレームから生成した縮小画像データLs[i]に基づき、動き検出する。そして、その検出した動きに基づき、動き補償処理を行ない、時間的に中間に位置する縮小画像データLs_mc[i]を生成する。このとき、次のフレームの処理に備え、縮小画像データLs[i]をRAMに格納する。
【0134】
ステップS7では、低周波動き補償画像Ls_mc[i]を、元のサイズに復元する。第1の実施形態と同様にするのであれは、水平、垂直とも6倍の画素数に復元することになる。
【0135】
ステップS8では、低周波動き補償画像Ls_mc[i]に対して、更にローパスフィルタ処理を行ない、第2サブフレームSL[i]を生成する
この後、ステップS9にて、CPUは生成された2つのサブフレームSH[i]とSL[i]を出力動画像データとして記憶装置に格納する。
【0136】
この後、ステップS10に進み、CPUは、変換対象の動画像データファイルの全フレームについて変換したか否かを判定する。この判定は、変換対象の動画像データファイルのファイルエンドを検出したか否かで良いであろう。
【0137】
ステップS10にて、Noと判定した場合には、ステップS11にて、変数iを“1”だけインクリメントし、ステップS1以降の処理を繰り返す。
【0138】
一方、ステップS10にて、Yesと判定した場合には、一連の倍速変換処理を終了する。
【0139】
以上説明したように、第1の実施形態と比較し、変換処理速度はCPUに依存したものとなるものの、第1の実施形態と同等の作用効果を奏する倍速動画像データファイルを作成することが可能になる。
【0140】
<第2の実施形態>
次に本発明に係る第2の実施形態を説明する。図2は、第2の実施形態における画像処理装置のブロック構成図である。
【0141】
本第2の実施形態は、低周波成分フレーム間補間部20が、第1の実施形態(図1)の低周波成分フレーム間補間部10と異なる。
【0142】
本第2の実施形態においては、動き検出は第1の実施形態と同様にLPF1の距離定数に対応した値でサイズダウンした低周波成分画像Lsを用いて行なう。但し、動き検出結果に基づく動き補償部27は、サイズダウンする前の元の低周波成分画像データLに対して施す。このようにすることにより、動き補償した後のLPFを省くことができる。もしくはLPFの規模を小さくすることができる。
【0143】
本第2の実施形態の低周波成分フレーム間補間部20には、第1の実施形態同様に、LPF1の出力である低周波画像データL[i]が入力される。低周波画像データL[i]は、SizeDown部21に供給された後、動き検出処理が行われる。そして、動き検出処理結果を受けて、動き補償部27が対象となる低周波画像データL[i]とL[i−1]から動き補償した画像データMC[i−1]を生成する。このため、遅延回路22、26を設ける。なお、遅延回路22、26は、FIFOメモリやRAM等の記憶手段で構成できる。
【0144】
以下、本第2の実施形態を容易に理解できるようにするため、d1=8、d2=6として説明する。また、例えば本第2の実施形態で扱う入力画像A[i]が1920×1080画素のサイズであるとする。このときd2x=d2y=6であるので、Ls[i]のサイズは、320×180画素となる。すなわち、本第2の実施形態においては、1920×1080画素で構成される画像に対して、動き検出の処理を行うことはせず、水平、垂直とも1/6のサイズの画像に対して動き検出を行う。これにより、動き検出に係る計算量は大幅に減少させることができる。なお、第1の実施形態では、動き検出と動き補償の2つの処理を、サイズダウンした画像に対して行ったが、本第2の実施形態では動き検出はサイズダウンした画像に対して行ない、動き補償は元のサイズの画像に対して行なう。
【0145】
次にサイズダウンした縮小画像データLs[i]は遅延回路22と動き検出部23に供給される。動き検出部23は、遅延回路22からの前入力フレームの縮小画像データLs[i−1]と現フレームの縮小画像データLs[i]を入力し、動きベクトルデータMVs[i−1]を生成する。
【0146】
追従視における動画特性対策としては、例えば現フレームとその前後の計3フレームくらいの縮小Lsを用いて動き検出を行うのが望ましい。しかし、計算量の増大による負荷、メモリーの増大によるコストアップになる。かかる点考慮して、本実施形態では最小限度の構成として、現低周波画像であるサブフレームLs[i]と直前の低周波画像であるサブフレームLs[i−1]に基づき、動きベクトルデータMVs[i]を作成するよう構成した。動き検出動き補償後の画像データを生成する計算においては、少なくとも、参照する一番最後のフレームを待ってから、動き検出の計算をする必要がある。そのためこれに応じてフレームを遅らせる必要がある。ここでは、最小構成であるので、1フレームだけ待って次のフレームの画像を参照できるようなタイミングで計算処理する。従って出力される画像データはMVs[i−1]となる。
MVs[i-1]=MV( Ls[i-1] , Ls[i] ) …式2-1
【0147】
動き検出部23の具体的な処理は例えば次の通りである。
【0148】
画像Ls[i]中のそれぞれの位置(x、y)の微小領域に対して、画像Ls[i+1]における近似または一致する対応微小領域を探す。これをブロックマッチングという。ここで探す範囲は、もとの位置に対して想定する最大動き量に相当する範囲内である。仮にその結果見つけた対応微小領域の位置が(x+mvsx、y+mvsy)であったとする。このとき、座標位置(x、y)における動きベクトルは次式のように表現できる。
MVs[i]=(mvsx,mvsy) …式1-6-3(再掲示)
【0149】
画像Ls[i](x,y)の全ての画素位置(x、y)に対してこの動きベクトルを求めることを動き検出という。 ここで、動きベクトルMVsはLsと同じデータ数の配列データである。また個々の画素に対応するデータはベクトルデータであり、それぞれの画素位置に対してx成分、y成分それぞれ独立して決まるものである。MVsはx、y成分で次のように表すことができる。
MVs[i](x,y)=(mvxs(x,y),mvys(x,y)) …式1-6-3(再掲示)
【0150】
なお、この動き検出部23の処理は、1フレーム待って次のフレームの画像を参照できるタイミングで処理する必要があり、従って出力される画像データはMVs[i−1]となる。
【0151】
一つのベクトルデータの形式は、x成分とy成分で、例えば{mvsx、mvsy}のように表し、例えばそれぞれが正負の符号を含めて4ビット(合わせて8ビット)とすることにより、方向別に±8画素分の移動距離に対応することが出来る。本実施形態ではd2x=d2y=6としているので、もとの画像に対しては、±48画素の最大移動距離となり、十分な大きさである。
【0152】
動き検出部23は1画素単位にベクトルデータを生成するので、その個数はLs[i]の画素数と同数である。
【0153】
SizeUp部24は、ベクトルデータMVs[i−1]を入力しベクトル補間処理を行なうことで、縮小前の画像L[i]、L[i−1]に対応するベクトルデータMV[i−1]を生成する。
MV[i−1]=SizeUp(MVs[i−1]) …式2-2-1
MV[i−1](x,y)=(mvx(x,y),mvy(x,y)) …式2-2-2
【0154】
本実施形態では、MV[i]はL[i]に対応するので、動き表すベクトルデータが1920×1080個が並んだ配列のデータである。一方、MVs[i]はd2x=d2y=6で縮小したLs[i]に対応するので、動きを表すベクトルデータが320×180個並んだ配列のデータである。
【0155】
従って、MVs[i]をサイズアップしてMV[i]を作成するには、x成分、y成分別々に、空間的に線形補完(例えば、バイリニア法)などを実施することにより、1領域ごとにd2x*d2y個の画素に対応する(すなわち各画素ごとに対応する)ベクトルデータを作成する。
【0156】
動き補償部27は、SizeUp部24からのベクトルデータMV[i−1]に基づき、動き補償後の低周波画像データMC[i−1]を生成する。動き補償後の低周波画像データMC[i−1]は現フレームの低周波画像データL[i]と前フレームの低周波画像データL[i−1]の時間的に中間に位置するものとして推定される画像データである。。
MC[i−1]=MA(L[i−1],L[i],MV[i−1]) …式2-3
ここで、MC[i]の具体的な生成処理は、以下の2つの計算を行い、いずれかの計算結果を選択して採用する、もしくは、もしくは平均値をとるなどすればよい。
MC[i](x、y)
=L[i]( x − mvx(x,y)/2 , y − mvy(x,y)/2 ) …式2-4-1
MC[i](x、y)
=L[i+1]( x + mvx(x,y)/2 , y +mvx(x,y)/2) …式2-4-2
【0157】
また、例えばmvx(x,y)/2、または、mvx(x,y)/2が整数にならないときは、小数部分を除いた整数部分によって式2−4−1と式2−4−2を計算し、結果の平均をとるなどすればよい。実際に動き補償部27の出力は、1フレーム遅れているので、MC[i−1](x、y)が出力される。
【0158】
動き補償した画像データMC[i−1]は第2サブフレームで表示する画像SL[i−1]として、スイッチ5の端子bに供給される。本第2の実施形態は、スイッチ5は、SH[i−1]とSL[i−1]を1/120秒ごとに切り替えて出力することによって動きぼけを改善した画像が実現される。
【0159】
以上説明したように本第2の実施形態によれば、図1の構成中のLPF15は不要にできる。また、動き補償部27で扱う画素数は、第1実施形態の動き検出動き補償部13の中で行われる動き補償で扱う画素数よりも、d2x*d2yの比率で大きい。しかしながら、もともと動き検出23よりも処理にかかわる負荷が格段に少ないので、さほど問題になることもない。むしろ、動き補償による精度が、本来の画素数に対して行われるので、動き補償後の精度が高く、その画像は第1の実施形態よりも高い品位となることが約束される。
【0160】
<第3の実施形態>
第3の実施形態は、入力画像と同じ画像サイズの低周波画像データL[i]を用いて動き検出、動き補償を行なう。
【0161】
本第3の実施形態における画像処理装置のブロック構成図を図15に示す。
【0162】
図中、A[i]は入力画像である。入力される画像のフレームレートは例えば60Hzとする。また、スイッチ5は、1/120秒ごとに、その入力端子a,bを切り替える。スイッチ5は端子aを選択している期間が、第1サブフレームの出力期間であり、端子bに接続されている期間が第2サブフレームの出力期間である。入力画像A[i]が処理されて、端子aに到る構成はこれまでと同じである。異なる点は、スイッチ5の端子bに到る過程での構成である。以下、順を追って説明する。
【0163】
LPF1は2次元的ローパスフィルタである。このローパスフィルタは、例えばガウス関数でもよいし、移動平均あるいは重み付けした移動平均でもよい。ここで、フィルタ係数が最大値(中心値)の1/2になる実効的距離、すなわち、伝達係数が通過帯域の1/2の大きさになる空間周波数に相当する実効的距離を、フィルターの距離定数dと定義する。距離定数dは、画像を空間周波数のフィルタで帯域制限するときのカットオフに相当する空間周波数の波長である。dの単位はpixelである。また、dは、x、y成分のベクトルd=(dx、dy)のように定義され、成分ごとにフィルター処理される。LPF1の距離定数はd1=(d1x、d1y)である。d1x、d1yの単位はそれぞれ[pixel]である。LPF1の出力は入力画像の空間的低周波成分データ(低周波画像データでもある)L[i]であり次式で定義される。
L[i]=LPF1(A[i]) …式1-1(再掲示)
【0164】
低周波画像データL[i]は、減算器2に送られる。そして、減算器2と加算器3によって、高周波強調画像データSH[i]が生成される。
SH[i]=L[i]+2H[i] …式1-2(再掲示)
【0165】
そして、この高周波強調画像データSHが、1フレーム分に遅延回路4を介して、スイッチ5の端子aに、高周波強調画像データSH[i−1]として供給される。この高周波強調画像データSH[i−1]が、倍速画像の第1サブフレームの表示信号となる。
【0166】
一方、低周波画像データL[i]は低周波成分動き補償部30にも送られる。低周波成分動き補償部30は低周波画像データL[i]とL[i−1]から動き補償を施した画像SL[i−1]を生成し、スイッチ5の端子bに供給する。
SL[i-1]=L_mc( L[i] , L[i-1] ) …式3-1
【0167】
以上であるが、要するに本第3の実施形態は、図1の第1の実施形態の構成から、SizeDown部、SizeUp部、LPF15を除去したものであると言えば分かりやすい。但し、本第3の実施形態の場合、動き検出は、オリジナル画像と同数の画素数について行なうことになるので、負荷が大きくなると言える。従って、本第3の実施形態は、入力する画像A[i]のサイズが、ある程度以下のサイズである場合に都合が良い。もしくは、実時間で倍速画像データを生成する必要がなく、例えば、倍速画像データをファイルとして保存する構成に適用することが望ましい。
【0168】
<第4の実施形態>
次に第4の実施形態を説明する。図16は第4の実施形態における画像処理装置のブロック構成図である。
【0169】
以下、同図に従って、第4の実施形態の構成を説明する。
【0170】
図中、A[i]は入力画像である。入力される画像のフレームレートはここでも60Hzとする。また、スイッチ5は、1/120ごとに、その入力端子a、bを切り替える。スイッチ5が端子aに接続されている期間が第1サブフレームの出力期間であり、端子bに接続されている期間が第2サブフレームの出力期間である。入力画像A[i]が処理されて、スイッチ5の端子aにに到る過程は、これまで大きな違いはない。スイッチ5の端子bに過程が異なる。
【0171】
LPF1は2次元的ローパスフィルタである。このローパスフィルタは、例えばガウス関数でもよいし、移動平均あるいは重み付けした移動平均でもよい。ここで、フィルタ係数が最大値(中心値)の1/2になる実効的距離、すなわち、伝達係数が通過帯域の1/2の大きさになる空間周波数に相当する実効的距離を、フィルターの距離定数dと定義する。距離定数dは、画像を空間周波数のフィルタで帯域制限するときのカットオフに相当する空間周波数の波長である。dの単位はpixelである。また、dは、x、y成分のベクトルd=(dx、dy)のように定義され、成分ごとにフィルター処理される。LPF1の距離定数はd1=(d1x、d1y)である。d1x、d1yの単位はそれぞれ[pixel]である。LPF1の出力は入力画像の空間的低周波成分データ(低周波画像データでもある)L[i]であり次式で定義される。
L[i]=LPF1( A[i] ) …式1-1(再掲示)
【0172】
低周波画像成分データL[i]は、減算器2に送られる。そして、この減算器2と加算器3によって、高周波強調画像データSH[i]が生成される。この高周波強調画像データSHが、1フレーム分に遅延回路4を介して、スイッチ5の端子aに、高周波強調画像データSH[i−1]として供給される。この高周波強調画像データSH[i−1]が、倍速画像の第1サブフレームの表示信号となる。
【0173】
一方、入力した画像データA[i]は、フレーム間補間部40にも供給される。フレーム間補間部40は、入力した現フレームの画像データA[i]と直前の画像データA[i−1]から動き補償処理を行ない、その結果を動き補償画像データA_mc[i]として出力する。
A_mc[i-1] = MC( A[i-1] , A[i] ) … 式4-1
【0174】
実際、この動き補償部40での処理は、1フレーム待って次のフレームの画像を参照できるタイミングで処理する必要がある。従って出力される画像データはA_mc[i−1]となる。
【0175】
ここで、画像データA_mc[i−1]の空間周波数分布は、A[i−1] またはA[i]にほぼ等しいか、その中間の値をとるものである。ここでスイッチ5の端子aに供給される画像データSH[i−1]においては空間的高周波成分が強調されている。従って、スイッチ5の端子bに供給される画像からは、空間的高周波成分を抑圧しなければならない。
【0176】
しかるに、画像A_mc[i−1]の空間周波数分布は、A[i−1]またはA[i]に近い分布である。そこで、本第4の実施形態では、この空間的高周波成分の相殺を実現するために、フレーム間補間部の後段に、LPF41を設けた。このLPF41は、LPF1同一の特性をしている。
【0177】
本第4の実施形態の効果としては、LPF41を設けることによって、画像データA_mc[i−1]中の不要な空間的高周波成分を取り除くことができる。また、動き検出の推定誤差や推定間違いが発生しても、それによる画像ノイズが空間的高周波成分のみの場合はその大きさは大幅に抑圧される。また、推定誤差や推定間違いが低周波成分まで含んでいる場合にも、その大きさは抑圧され、また視覚的になめらかで目立たないノイズとなる。
【0178】
<第5の実施形態>
第5の実施形態を説明する。本第5の実施形態は、動き検出処理で得られる情報を、ここまで説明した実施形態と同様、動き補償に使用する。更に、空間周波数分離方式の適用の有無を画像の領域ごとに選択するものである。
【0179】
図17は本第5の実施形態の画像処理装置の構成を示している。
【0180】
本第5の実施形態における、スイッチ5の端子aに到る構成(第1サブフレームの生成に係る構成)は、既に説明した第1乃至第4の実施形態と同じである。異なる点は、スイッチ5の端子bに到る構成、すなわち、第2サブフレームの生成に係る構成と、領域別信号選択部53を設けた点である。
【0181】
本第5の実施形態でも、入力する画像データのフレームレートは60Hzであり、1つの入力フレームから2つのサブフレームを、1/120秒毎に切り替え出力するものである。
【0182】
本実施形態においては、スイッチ5の出力画像をS[i−1]と表わす。フレーム間補間部50は、前フレームの低周波成分画像データL[i−1]と現フレームの低周波成分画像データL[i]から動き補償処理を行なうこで生成された画像データMC(L[i−1],L[i])を生成する。そして、フレーム間補間部50は、その画像データMC(L[i−1],L[i])を、第2サブフレームSL[i−1]としてスイッチ5の端子bに出力する。
【0183】
また、フレーム間補間部50は、その内部に、動き検知部51を有する。この動き検知部51は、動き判別信号SM[i−1]、MS[i−1]を領域別選択部53に出力する。
【0184】
スイッチ5の出力、すなわち、SH、SLは1/120秒で切り替えられ、信号S[i−1]として領域別信号選択部53に供給される。また、遅延回路52を介して、着目フレームの画像データA[i−1]も領域別信号選択部53に供給される。
【0185】
領域別信号選択部53は、画像データ中の領域ごとに、あるいは画素単位に、動き判定信号SM、MSの値に基づいてA[i−1]、又は、S[i−1]を選択出力する。この領域別信号選択部53の選択出力した信号をD[i−1]と表わす。
【0186】
動き判定信号SM、MSは、入力される画像データA[i]に含まれる画素数と同数の配列データであり、画素単位の判定信号である。また、動き判定信号SM、MSは、各成分が0又は1の2値信号でもある。動き判定信号MSは画像信号の中で、動きがあると判断された領域の画素位置では“1”となり、それ以外(すなわち動きが無いと判断される)の領域の画素位置では“0”となる。領域判定信号SMは、領域判定信号MSと論理が逆である。
【0187】
次に、領域別信号選択部53を説明する。説明を簡単なものとするため、各データを以下のように定義する。
画像データA[i−1]中の座標(x、y)の画素の値をa(x,y)、
座標(x、y)の動き判定信号SM[i−1]の値を、sm(x,y)、
座標(x、y)の動き判定信号MS[i−1]の値を、ms(x,y)、
画像データS[i−1]中の座標(x,y)の画素の値を、s(x,y)、
出力画像D[i−1]中の座標(x,y)の画素の値を、d( x , y )
【0188】
このように定義すると、出力画像D[i−1]の座標(x,y)の画素の値は次式で示すことが出来る。
d(x,y)=a(x,y) * sm(x,y)+s(x, y) * ms(x,y) …式5-1
(ここで「*」は行列演算ではなく、同じ画素位置(x、y)の値どうしを掛け算して新たな(x、y)のデータを作ることを意味する)
【0189】
上記式5−1の右辺は、第1項は乗算器54の動作を表し、第2項は乗算器55の動作を表わす。すなわち、入力画像A[i−1]からsm(x,y)=1の領域、すなわち、動きが無いと判断される領域については、入力したフレーム中の画素データを出力する。また、sm(x,y)=0の領域、動きが無いと判断される領域については、スイッチ5の出力であるS[i−1]中の画素データを選択し、出力する。
【0190】
このようにして得られた、第1項と第2項を加算器56で加算した結果が式5−1となる。なお、乗算器54、55は、動き判定信号に従ってデータを通過させるゲート(例えばアンドゲート)で構成しても構わない。また、乗算器54、55の一方のみが画素データを通過させるので、加算器56は省略しても構わない。
【0191】
以上説明したように本第5の実施形態によれば、動きありと判別された画像領域においては画像S[i−1]中の画素データを選択し、動き無しと判断された画像領域においては画像A[i−1]を選択することになる。このようにすることにより、動きの有無に応じて、常に最も適した画像を領域毎に選択表示することができる。
【0192】
<第6の実施形態>
上記第1乃至第5の実施形態では、入力画像のフレームレートを2倍にする例を説明した。本第6の実施形態では、単位時間当たりm個のフレームの動画像データを入力し、単位時間当たりNm個のフレームの動画像データとして出力する例を説明する。説明を簡単なものとするため、ここではN=5の例を説明する。
【0193】
図18は、本第6の実施形態における画像処理装置のブロック構成図を示している。
【0194】
ここでも、A[i]は入力画像であり、そのフレームレートは例えば24Hz(一般に映画のフレームレートとして知られている)であるものとする。このとき、スイッチ70は、1/120秒ごとに、5つの入力端子a,b,c,d,eの順に切り替え、1/24秒で一巡するものとする。
【0195】
スイッチ70が端子aに接続されている期間が第1サブフレームの出力期間である。また、スイッチ70が端子bに接続されている期間が第2サブフレームの出力期間となる。以下、同様に、スイッチ70の端子c,d,eそれぞれの接続期間が、第3乃至第5サブフレーム期間となる。
【0196】
スイッチ70の端子aに供給される画像データSH(第1サブフレーム)は、入力した画像データA[i]に、乗算器69にて5倍に増幅された高周波成分データが加算されたものとなる。
SH[i]=L[i] + 5*H[i−1] …式6-1
【0197】
また、本第6の実施形態においては、スイッチ70の残りの端子b,c,d,eに供給する第2乃至第5のサブフレーム(N−1個のサブフレーム)を生成する必要がある。この第2乃至第5サブフレームを、以下では、SL1[i−1]、SL2[i−1]、SL3[i−1]、SL4[i−1]と表わす。
【0198】
LPF1の出力である低周波成分データ(低周波画像データでもある)L[i]は、本第6の実施形態におけるフレーム間補間部60にも供給される。本第6の実施形態における動き検出は、先に説明した第2の実施形態とほぼ同じである。
【0199】
本第6の実施形態においてもd1=8、d2=6を例として説明する。従って本第6の実施形態で扱う入力画像A[i]が1920×1080画素のサイズである場合(当然、低周波成分画像データL[i]も1920×1080画素)、d2x=d2y=6である。つまり、SizeDown部61で生成された縮小画像データは320×180画素となる。要するに、本第6の実施形態においては、1920×1080画素の画像を対象として動き検出の処理を行うことはせず、その水平、垂直方向とも1/6のサイズの画像について動き検出を行う。これにより計算量は大幅に減少させることができる。
【0200】
動き検出部63は、現フレームの画像データをサイズダウンした低周波画像データLs[i]と、遅延回路62からの1フレーム前の低周波画像データLs[i−1]を入力し、ベクトルデータMVs[i−1]を生成する。
MVs[i-1]=MV( Ls[i-1] , Ls[i] ) …式2-1(再掲示)
【0201】
このベクトルデータMVs[i−1]に含まれるベクトルは、低周波画像データLsの画素に対応するものであるので、そのベクトル総数と、低周波画像データLsの画素数は等しい。
【0202】
次いで、SizeUp部64にて、動き検出部63からのベクトルデータMVs[i−1]を空間的に補間することで、SizeDownする以前の画数と同数のベクトルデータMV[i−1]を生成する(この部分の空間的補間は第2の実施形態と同様である)。
MV[i-1] = SizeUp( MVs[i-1] ) …式2-2-1(再掲示)
【0203】
なお、動き検出部63、SizeUp部64の処理は、先に説明した第2の実施形態と同じとし、その説明については省略する。
【0204】
動き補償部67は、現フレームの低周波成分データL[i]と前フレームの低周波成分データL[i−1]を入力する。そして、動き補償部67は、ベクトルデータMV[i−1]に基づき、第2乃至第5サブフレームとして出力すべき、低周波成分を動き補償した画像MC1[i−1]乃至MC4[i−1]を生成する。
【0205】
本実施形態における動き補償部67は、第1サブフレームから第5サブフレームまでのオブジェクトの動きを、直線近似する。従って、動き検出部63で得られる動きベクトルMVは、着目フレーム内で共通のものとして扱う。実施形態では、N=5の例を説明しているわけであるから、それぞれのサブフレームにおける隣接するサブフレームの動きベクトルはMV/5であるものとして近似する。
【0206】
このような考え方に基づけば、動き補償部67に渡す動きベクトルのデータは、第2の実施形態と同じものでよい。このようにして、動き補償部67の出力は、第2乃至第5サブフレームとして動き補償した画像として下記のように作成される。
MC1[ i-1] = MA1( L[ i-1] , L[i] ,MV[i-1] ) 式6-2
MC2[ i-1] = MA2( L[ i-1] , L[i] ,MV[i-1] ) 式6-3
MC3[ i-1] = MA3( L[ i-1] , L[i] ,MV[i-1] ) 式6-4
MC4[ i-1] = MA4( L[ i-1] , L[i] ,MV[i-1] ) 式6-5
【0207】
ここで、式6-2から式6-5をn=1〜4に対応させると、式6-2から式6-5は次のようにnに対応させて書くことができる。n番目の式がn番目のサブフレームに対応する式である。
MCn[ i-1] = MAn( L[ i-1 ] , L[ i ] , MV[ i-1 ] ) …式6-6
【0208】
また、本実施形態における動き補償部67に与える動きベクトルデータは、次に示すように第2の実施形態と同じである。
MV[i-1](x,y)=(mvx(x,y),mvy(x,y)) …式2-2-2(再掲示)
【0209】
このとき、MCn[ i-1]の具体的な生成処理は、次の通りである。
【0210】
n番目のサブフレームを求めるのに、Ls[i]における対応点を参照する場合は式6−7に従って計算処理を行う。
MCn[i](x、y)
=Ls[i](x−mvx(x,y) *n/5, y−mvy(x,y) *n/5) …式6-7
【0211】
n番目のサブフレームを求めるのにLs[i+1]における対応点を参照する場合は式6−8に従って計算処理を行う
MCn[i](x、y)
=Ls[i+1](x+mvx(x,y)*(5-n)/5,y+ mvy(x,y) *(5-n)/5) …式6-8
【0212】
それぞれの計算結果は、適宜選択して採用してもよいし、平均値をとるなどしてもよい。
【0213】
ここで、それぞれの成分において第二項が整数にならない場合は、例えば、小数部分を除いた最大整数に置き換えて計算し、それそれの式の計算結果の平均をとるなどすればよい。
【0214】
そして、上記それぞれがサブフレームが、スイッチ70の端子b乃至eに供給されることになる。スイッチ70は1入力フレームに対しN倍速(実施形態ではN=5)のサブフレームを出力することになる。
【0215】
以上のように本第6の実施形態に従えば、N個のサブフレームすなわち入力画像のN倍のフレームレートで動作する表示装置における表示画像を作成する場合にも適応できる。 以上、本発明に係る第1乃至第6の実施形態を説明した。本実施形態では、最終的に得られたN倍速の各フレームの出力先を特に示さなかったが、ホールド型、インパルス側表示装置のいずれでも構わない。また、出力先は、表示装置に限るものではなく、動画像ファイルとして、DVDやハードディスク等の記憶媒体や記憶装置としても構わない。
【0216】
また、先の説明した第1の実施形態の変形例と同様に、第2の実施形態以降についても、それらと等価の処理もしくは機能をコンピュータプログラムの制御によって実現させることができることは明らかである。
【0217】
また、通常、コンピュータプログラムは、CD−ROM等のコンピュータ可読記憶媒体に格納されており、それをコンピュータが有する読取装置(CD−ROMドライブ等)にセットし、システムにコピーもしくはインストールすることで実行可能になる。従って。かかるコンピュータ可読記憶媒体も本発明の範疇にあることも明らかである。
【図面の簡単な説明】
【0218】
【図1】第1の実施形態の画像処理装置のブロック構成図である。
【図2】第2の実施形態の画像処理装置の他のブロック構成図である。
【図3】実施形態の前提となる構成における入力フレームと倍速フレームにおける時間軸に沿った映像信号の波形の例を示す図である。
【図4】実施形態における入力フレームと倍速フレームにおける時間軸に沿った映像信号の波形の例を示す図である。
【図5】従来の画像処理装置のブロック構成図である。
【図6】従来の画像処理装置のブロック構成図である。
【図7】従来の画像処理装置のブロック構成図である。
【図8】従来の画像処理装置のブロック構成図である。
【図9】実施形態の前提となる画像処理装置の構成を示す図である。
【図10】図9の構成を採用した場合のホールド型の表示装置におけるサブフレームSH、SLの輝度の推移を示す図である。
【図11】従来のホールド型の表示装置におけるフレームの表示タイミングを示す図である。
【図12】図9の構成を採用した場合のインパルス型の表示装置におけるフレームの表示タイミングを示す図である。
【図13】従来のインパルス型の表示装置におけるフレームの表示タイミングを示す図である。
【図14】第1の実施形態の変形例であるコンピュータプログラムの処理手順を示すフローチャートである。
【図15】第3の実施形態の画像処理装置のブロック構成図である。
【図16】第4の実施形態の画像処理装置のブロック構成図である。
【図17】第5の実施形態の画像処理装置のブロック構成図である。
【図18】第6の実施形態の画像処理装置のブロック構成図である。
【図19】従来の装置における追従視における観測波形の歪が発生する理由を説明するための図である。
【図20】従来の装置における追従視における観測波形の歪が発生する理由を説明するための図である。
【図21】従来のホールド側表示装置における追従視における観測波形の歪が発生する理由を説明するための図である。
【図22】従来のホールド側表示装置における追従視における観測波形の歪が発生する理由を説明するための図である。
【図23】本発明の前提となる構成を用いてホールド型表示装置による追従視で観測波形の歪が抑制できる理由を説明するための図である。
【図24】第1の実施形態における、ホールド側表示装置における追従視する際の波形歪が改善される理由を説明するための図である。
【図25】従来のインパルス型表示装置において追従視する場合の観測波形の歪が発生する理由を説明するための図である。
【図26】従来のインパルス型表示装置において追従視する場合の観測波形の歪が発生する理由を説明するための図である。
【図27】本発明の前提となる構成を用いてインパルス側表示装置における追従視で、観測波形の歪が抑制できる理由を説明するための図である。
【図28】第1の実施形態の装置を用いてインパルス型表示装置における追従視する際の波形歪が改善される理由を説明するための図である。
【特許請求の範囲】
【請求項1】
単位時間当たりm個のフレームの動画像データを入力し、単位時間当たり2m個のフレームの動画像データとして出力する画像処理装置であって、
フレームごとに画像データを入力する入力手段と、
前記入力手段で入力した画像データから、少なくとも高周波強調画像データを生成するフィルタ手段と、
前記入力した現フレームと、一つ前に入力したフレームとの間の動きを検出し前記入力した現フレームと、一つ前のフレームの時間的に中間に位置する動き補償した低周波成分画像データを生成するフレーム間補間手段と、
前記一つ前に入力したフレームの前記高周波強調画像データと、前記フレーム間補間手段で作成された低周波成分画像データのそれぞれを2倍速のフレームとして出力する出力手段と
を備えることを特徴とする画像処理装置。
【請求項2】
前記フィルタ手段は、前記入力画像からフレームごとに低周波成分画像データと高周波強調画像データとを生成し、
前記フレーム間補間手段は、
前記低周波成分画像データから、縮小画像データを生成する縮小手段と、
前記縮小手段で得られた縮小画像データを記憶する記憶手段と、
前記記憶手段に記憶された前フレームの縮小画像データと、前記縮小手段で得られた縮小画像データとの間の動きを検出する手段と、前記前フレームの縮小画像データと前記入力した現フレームの縮小画像データとの時間的に中間に位置する動き補償した縮小画像データを生成する動き補償手段と、
前記動き補償手段で得られた縮小画像データを前記縮小手段による縮小前のサイズまで拡大し、拡大して得られた画像データを前記フレーム間補間した低周波成分画像データとして出力する拡大手段と
を備えることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記フィルタ手段は、前記入力画像から低周波成分画像データと高周波強調画像データとを抽出し、
前記フレーム間補間手段は、
前記低周波成分画像データから、縮小画像データを生成する縮小手段と、
前記縮小手段で得られた縮小画像データを記憶する記憶手段と、
前記縮小手段で得られた入力したフレームの縮小画像データと、前記記憶手段に記憶された前フレームの縮小画像データとの間の画素ごとの動きベクトルを検出する動き検出手段と、
前記動き検出手段で得られた画素ごとの動きベクトルを、空間的に補間することで、前記縮小手段による縮小前のサイズの画像に対応する動きベクトルデータを生成する動きベクトル補間手段と、
前記フィルタ手段で得られた入力フレームの低周波成分画像データと、一つ前のフレームの低周波成分画像データとの時間的に中間に位置する低周波成分画像データを、前記動きベクトル補間手段で得られた動きベクトルに基づき生成し、生成した低周波成分画像データを、前記フレーム間補間した低周波成分画像データとして出力する手段と
を備えることを特徴とする請求項1に記載の画像処理装置。
【請求項4】
前記フィルタ手段は、前記入力フレームから低周波成分画像データと高周波強調画像データとを生成し、
前記動き検出手段は、動きを検出したか否かを示す判定信号を出力し、
更に、
前記判定信号が動き有りを示す場合には、前記出力手段からの画像データ中の画素データを選択出力し、前記判定信号が動き無しを示す場合には、前記入力手段で入力した一つ前のフレームの画像データ中の画素データを選択出力する領域別信号選択手段を備えることを特徴とする請求項3に記載の画像処理装置。
【請求項5】
単位時間当たりm個のフレームの動画像データを入力し、単位時間当たりNm個のフレームの動画像データとして出力する画像処理装置であって、
フレームごとに画像データを入力する入力手段と、
前記入力手段で入力した画像データから、高周波強調画像データと低周波成分画像データを生成するフィルタ手段と、
前記低周波成分画像データから縮小画像データを生成する縮小手段と、
前記縮小手段で得られた縮小画像データを記憶する記憶手段と、
前記縮小手段で得られたフレームの縮小画像データと前記記憶手段に記憶された一つ前のフレームの縮小画像データとの間の画素ごとの動きベクトルデータを検出する動き検出手段と、
前記動き検出手段で得られた画素ごとの動きベクトルデータを、空間的に補間することで、前記縮小手段による縮小前のサイズの画像に対応する動きベクトルデータを生成する動きベクトル補間手段と、
前記フィルタ手段で生成された入力フレームの低周波成分画像データと一つ前のフレームの低周波成分画像データの時間的に間に位置するN−1個の低周波成分画像データを、前記動きベクトル補間手段で得られた動きベクトルデータに基づいて生成する動き補償手段と、
前記入力手段で入力した1つのフレームを入力する度に、前記フィルタ手段で得られた高周波強調画像データ、及び、前記動き補償手段で生成されたN−1個の低周波成分画像データそれぞれをN倍速のサブフレームとして出力する出力手段と
を備えることを特徴とする画像処理装置。
【請求項6】
単位時間当たりm個のフレームの動画像データを入力し、単位時間当たり2m個のフレームの動画像データとして出力する画像処理装置の制御方法であって、
フレームごとに画像データを入力する入力工程と、
前記入力工程で入力した画像データから、少なくとも高周波強調画像データを生成するフィルタ工程と、
前記入力した現フレームと、一つ前に入力したフレームとの間の動きを検出し前記入力した現フレームと、一つ前のフレームの時間的に中間に位置する動き補償した低周波成分画像データを生成するフレーム間補間工程と、
前記一つ前に入力したフレームの前記高周波強調画像データと、前記フレーム間補間工程で作成された低周波成分画像データのそれぞれを2倍速のフレームとして出力する出力工程と
を備えることを特徴とする画像処理装置の制御方法。
【請求項7】
単位時間当たりm個のフレームの動画像データを入力し、単位時間当たりNm個のフレームの動画像データとして出力する画像処理装置の制御方法であって、
フレームごとに画像データを入力する入力工程と、
前記入力工程で入力した画像データから、高周波強調画像データと低周波成分画像データを生成するフィルタ工程と、
前記低周波成分画像データから縮小画像データを生成する縮小工程と、
前記縮小工程で得られた縮小画像データを記憶する記憶工程と、
前記縮小工程で得られたフレームの縮小画像データと前記記憶工程に記憶された一つ前のフレームの縮小画像データとの間の画素ごとの動きベクトルデータを検出する動き検出工程と、
前記動き検出工程で得られた画素ごとの動きベクトルデータを、空間的に補間することで、前記縮小工程による縮小前のサイズの画像に対応する動きベクトルデータを生成する動きベクトル補間工程と、
前記フィルタ工程で生成された入力フレームの低周波成分画像データと一つ前のフレームの低周波成分画像データの時間的に間に位置するN−1個の低周波成分画像データを、前記動きベクトル補間工程で得られた動きベクトルデータに基づいて生成する動き補償工程と、
前記入力工程で入力した1つのフレームを入力する度に、前記フィルタ工程で得られた高周波強調画像データ、及び、前記動き補償工程で生成されたN−1個の低周波成分画像データそれぞれをN倍速のサブフレームとして出力する出力工程と
を備えることを特徴とする画像処理装置の制御方法。
【請求項8】
コンピュータが読込み実行することで、前記コンピュータを請求項1乃至5のいずれか1項に記載の画像処理装置として機能させることを特徴とするコンピュータプログラム。
【請求項9】
請求項8に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
【請求項1】
単位時間当たりm個のフレームの動画像データを入力し、単位時間当たり2m個のフレームの動画像データとして出力する画像処理装置であって、
フレームごとに画像データを入力する入力手段と、
前記入力手段で入力した画像データから、少なくとも高周波強調画像データを生成するフィルタ手段と、
前記入力した現フレームと、一つ前に入力したフレームとの間の動きを検出し前記入力した現フレームと、一つ前のフレームの時間的に中間に位置する動き補償した低周波成分画像データを生成するフレーム間補間手段と、
前記一つ前に入力したフレームの前記高周波強調画像データと、前記フレーム間補間手段で作成された低周波成分画像データのそれぞれを2倍速のフレームとして出力する出力手段と
を備えることを特徴とする画像処理装置。
【請求項2】
前記フィルタ手段は、前記入力画像からフレームごとに低周波成分画像データと高周波強調画像データとを生成し、
前記フレーム間補間手段は、
前記低周波成分画像データから、縮小画像データを生成する縮小手段と、
前記縮小手段で得られた縮小画像データを記憶する記憶手段と、
前記記憶手段に記憶された前フレームの縮小画像データと、前記縮小手段で得られた縮小画像データとの間の動きを検出する手段と、前記前フレームの縮小画像データと前記入力した現フレームの縮小画像データとの時間的に中間に位置する動き補償した縮小画像データを生成する動き補償手段と、
前記動き補償手段で得られた縮小画像データを前記縮小手段による縮小前のサイズまで拡大し、拡大して得られた画像データを前記フレーム間補間した低周波成分画像データとして出力する拡大手段と
を備えることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記フィルタ手段は、前記入力画像から低周波成分画像データと高周波強調画像データとを抽出し、
前記フレーム間補間手段は、
前記低周波成分画像データから、縮小画像データを生成する縮小手段と、
前記縮小手段で得られた縮小画像データを記憶する記憶手段と、
前記縮小手段で得られた入力したフレームの縮小画像データと、前記記憶手段に記憶された前フレームの縮小画像データとの間の画素ごとの動きベクトルを検出する動き検出手段と、
前記動き検出手段で得られた画素ごとの動きベクトルを、空間的に補間することで、前記縮小手段による縮小前のサイズの画像に対応する動きベクトルデータを生成する動きベクトル補間手段と、
前記フィルタ手段で得られた入力フレームの低周波成分画像データと、一つ前のフレームの低周波成分画像データとの時間的に中間に位置する低周波成分画像データを、前記動きベクトル補間手段で得られた動きベクトルに基づき生成し、生成した低周波成分画像データを、前記フレーム間補間した低周波成分画像データとして出力する手段と
を備えることを特徴とする請求項1に記載の画像処理装置。
【請求項4】
前記フィルタ手段は、前記入力フレームから低周波成分画像データと高周波強調画像データとを生成し、
前記動き検出手段は、動きを検出したか否かを示す判定信号を出力し、
更に、
前記判定信号が動き有りを示す場合には、前記出力手段からの画像データ中の画素データを選択出力し、前記判定信号が動き無しを示す場合には、前記入力手段で入力した一つ前のフレームの画像データ中の画素データを選択出力する領域別信号選択手段を備えることを特徴とする請求項3に記載の画像処理装置。
【請求項5】
単位時間当たりm個のフレームの動画像データを入力し、単位時間当たりNm個のフレームの動画像データとして出力する画像処理装置であって、
フレームごとに画像データを入力する入力手段と、
前記入力手段で入力した画像データから、高周波強調画像データと低周波成分画像データを生成するフィルタ手段と、
前記低周波成分画像データから縮小画像データを生成する縮小手段と、
前記縮小手段で得られた縮小画像データを記憶する記憶手段と、
前記縮小手段で得られたフレームの縮小画像データと前記記憶手段に記憶された一つ前のフレームの縮小画像データとの間の画素ごとの動きベクトルデータを検出する動き検出手段と、
前記動き検出手段で得られた画素ごとの動きベクトルデータを、空間的に補間することで、前記縮小手段による縮小前のサイズの画像に対応する動きベクトルデータを生成する動きベクトル補間手段と、
前記フィルタ手段で生成された入力フレームの低周波成分画像データと一つ前のフレームの低周波成分画像データの時間的に間に位置するN−1個の低周波成分画像データを、前記動きベクトル補間手段で得られた動きベクトルデータに基づいて生成する動き補償手段と、
前記入力手段で入力した1つのフレームを入力する度に、前記フィルタ手段で得られた高周波強調画像データ、及び、前記動き補償手段で生成されたN−1個の低周波成分画像データそれぞれをN倍速のサブフレームとして出力する出力手段と
を備えることを特徴とする画像処理装置。
【請求項6】
単位時間当たりm個のフレームの動画像データを入力し、単位時間当たり2m個のフレームの動画像データとして出力する画像処理装置の制御方法であって、
フレームごとに画像データを入力する入力工程と、
前記入力工程で入力した画像データから、少なくとも高周波強調画像データを生成するフィルタ工程と、
前記入力した現フレームと、一つ前に入力したフレームとの間の動きを検出し前記入力した現フレームと、一つ前のフレームの時間的に中間に位置する動き補償した低周波成分画像データを生成するフレーム間補間工程と、
前記一つ前に入力したフレームの前記高周波強調画像データと、前記フレーム間補間工程で作成された低周波成分画像データのそれぞれを2倍速のフレームとして出力する出力工程と
を備えることを特徴とする画像処理装置の制御方法。
【請求項7】
単位時間当たりm個のフレームの動画像データを入力し、単位時間当たりNm個のフレームの動画像データとして出力する画像処理装置の制御方法であって、
フレームごとに画像データを入力する入力工程と、
前記入力工程で入力した画像データから、高周波強調画像データと低周波成分画像データを生成するフィルタ工程と、
前記低周波成分画像データから縮小画像データを生成する縮小工程と、
前記縮小工程で得られた縮小画像データを記憶する記憶工程と、
前記縮小工程で得られたフレームの縮小画像データと前記記憶工程に記憶された一つ前のフレームの縮小画像データとの間の画素ごとの動きベクトルデータを検出する動き検出工程と、
前記動き検出工程で得られた画素ごとの動きベクトルデータを、空間的に補間することで、前記縮小工程による縮小前のサイズの画像に対応する動きベクトルデータを生成する動きベクトル補間工程と、
前記フィルタ工程で生成された入力フレームの低周波成分画像データと一つ前のフレームの低周波成分画像データの時間的に間に位置するN−1個の低周波成分画像データを、前記動きベクトル補間工程で得られた動きベクトルデータに基づいて生成する動き補償工程と、
前記入力工程で入力した1つのフレームを入力する度に、前記フィルタ工程で得られた高周波強調画像データ、及び、前記動き補償工程で生成されたN−1個の低周波成分画像データそれぞれをN倍速のサブフレームとして出力する出力工程と
を備えることを特徴とする画像処理装置の制御方法。
【請求項8】
コンピュータが読込み実行することで、前記コンピュータを請求項1乃至5のいずれか1項に記載の画像処理装置として機能させることを特徴とするコンピュータプログラム。
【請求項9】
請求項8に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【公開番号】特開2009−42482(P2009−42482A)
【公開日】平成21年2月26日(2009.2.26)
【国際特許分類】
【出願番号】特願2007−207185(P2007−207185)
【出願日】平成19年8月8日(2007.8.8)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成21年2月26日(2009.2.26)
【国際特許分類】
【出願日】平成19年8月8日(2007.8.8)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]