(57)【要約】【課題】動画像を構成する各単位画像に、適切な動きぼけを効果的に付加することによりジャーキネス劣化を低減させる処理を行う画像処理装置、画像処理方法及びプログラムを提供する。【解決手段】入力された動画像データにおける処理対象画像（例えば１フレームの画像データ）から、１つ以上の解像度の異なる縮小画像を生成する。そして処理対象画像の注目画素に位置的に対応する画素を、上記縮小画像から抽出し、動き情報を基に、注目画素と抽出画素について重み付け加算処理を行う。即ち主に空間的なフィルタリング処理によって処理対象画像に動きぼけを付加する。【選択図】図１
2010028524.tif 000002
【特許請求の範囲】
【請求項１】
動画像を構成する各単位画像を処理対象画像とし、上記処理対象画像から１つ以上の解像度の異なる縮小画像を生成する縮小画像生成手段と、
上記処理対象画像の注目画素に位置的に対応する画素を上記縮小画像から抽出し、上記処理対象画像に関する動きを示す動き情報を基に、上記注目画素および上記縮小画像から抽出した１つ以上の抽出画素について、重み付け加算処理を行って、上記処理対象画像に動きぼけを付加する画素合成処理手段と、
を備える画像処理装置。
【請求項２】
上記縮小画像生成手段は、
上記処理対象画像に対し、再帰的な縮小フィルタ処理を用いることで上記縮小画像を生成する請求項１に記載の画像処理装置。
【請求項３】
上記画素合成処理手段は、
上記注目画素および１つ以上の上記抽出画素に応じた重みの値を、上記画像に関する動きを示す動き情報を基に変更する請求項１に記載の画像処理装置。
【請求項４】
上記画素合成処理手段は、
上記注目画素に応じて各縮小画像から抽出する画素について、
注目画素と各縮小画像中に存在する画素との位置関係に応じて、各縮小画像中に存在する複数画素の重み付け加算処理によって抽出する請求項１に記載の画像処理装置。
【請求項５】
上記縮小画像生成手段は、
上記処理対象画像に対し縮小フィルタ処理を行って、方向別の縮小画像をそれぞれ生成し、
上記画素合成処理手段は、
上記各方向別に生成された各縮小画像から、方向を選択することで縮小画像を選択し、
上記処理対象画像の注目画素に位置的に対応する画素を上記選択した縮小画像から抽出し、
上記動き情報を基に、上記注目画素および上記選択した縮小画像から抽出した１つ以上の抽出画素について、重み付け加算処理を行う請求項１に記載の画像処理装置。
【請求項６】
上記縮小画像生成手段は、上記処理対象画像に対し縮小フィルタ処理を行って、方向別の縮小画像をそれぞれ生成し、
上記画素合成処理手段は、
上記処理対象画像の注目画素に位置的に対応する画素を上記各方向別に生成された各縮小画像からそれぞれ抽出し、
上記動き情報を基に、上記注目画素および上記各縮小画像からそれぞれ抽出した抽出画素について、それぞれに第１の重み付け加算処理を行い、
上記第１の重み付け加算処理の結果の各画素について、上記動き情報に応じた第２の重み付け加算処理を行う請求項１に記載の画像処理装置。
【請求項７】
上記動き情報に対応する最適な撮像シャッタ速度として、出力画像の画像劣化が低減される最適シャッタ速度情報を、処理対象画像中の各画素または分割領域ごとに取得し、上記最適シャッタ速度情報を用いて動き情報を補正する動き情報補正手段をさらに有し、
上記画素合成処理手段は、上記動き情報補正手段が補正した動き情報を用いて上記処理対象画像に動きぼけを付加する請求項１に記載の画像処理装置。
【請求項８】
上記動き情報補正手段は、撮像装置により撮像された際のシャッタ速度情報及び上記最適シャッタ速度情報を用いて、上記動き情報を補正する請求項７に記載の画像処理装置。
【請求項９】
上記動き情報として動きベクトルを生成する動きベクトル生成手段を更に備え、
上記動き情報補正手段は、上記動きベクトル生成手段により生成された動きベクトルを補正し、
上記画素合成処理手段は、上記動き情報補正手段により補正された動きベクトルを用いて、上記処理対象画像の注目画素に位置的に対応する画素を上記縮小画像から抽出し、上記注目画素および上記縮小画像から抽出した１つ以上の抽出画素について、重み付け加算処理を行う請求項７に記載の画像処理装置。
【請求項１０】
上記動きベクトル生成手段は、
処理対象画像となる単位画像の動きベクトルを検出する動きベクトル検出手段と、
上記動きベクトル検出手段が検出した処理対象画像の動きベクトルと、該処理対象画像以前の処理対象画像の動きベクトルを画素ブロック単位で比較して、相関が高い画素ブロックを特定する画素ブロック特定手段と、
上記画素ブロック特定手段により特定された画素ブロックの動きベクトルから、該特定された画素ブロック以外の画素ブロックの動きベクトルを推定する動きベクトル推定手段と、
を有する請求項９に記載の画像処理装置。
【請求項１１】
上記動きベクトル生成手段は、
処理対象画像となる単位画像の動きベクトルを検出する動きベクトル検出手段と、
上記動きベクトル検出手段が検出した処理対象画像の動きベクトルを平滑化する動きベクトル平滑化手段と、
を有する請求項９に記載の画像処理装置。
【請求項１２】
動画像を構成する各単位画像を処理対象画像とし、上記処理対象画像から１つ以上の解像度の異なる縮小画像を生成する縮小画像生成ステップと、
上記処理対象画像の注目画素に位置的に対応する画素を上記縮小画像から抽出し、上記処理対象画像に関する動きを示す動き情報を基に、上記注目画素および上記縮小画像から抽出した１つ以上の抽出画素について、重み付け加算処理を行って、上記処理対象画像に動きぼけを付加する画素合成処理ステップと、
を有する画像処理方法。
【請求項１３】
動画像を構成する各単位画像を処理対象画像とし、上記処理対象画像から１つ以上の解像度の異なる縮小画像を生成する縮小画像生成ステップと、
上記処理対象画像の注目画素に位置的に対応する画素を上記縮小画像から抽出し、上記処理対象画像に関する動きを示す動き情報を基に、上記注目画素および上記縮小画像から抽出した１つ以上の抽出画素について、重み付け加算処理を行って、上記処理対象画像に動きぼけを付加する画素合成処理ステップと、
を演算処理装置に実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像に対して動きぼけを付加する画像処理を行う画像処理装置、画像処理方法、及びその画像処理をコンピュータ等の演算処理装置に実行させるプログラムに関する。
【背景技術】
【０００２】
【特許文献１】特開２００７−２７４２９９号公報
【非特許文献１】"Modeling motion blur in computer-generated images" ACM SIGGRAPH Computer Graphics, Volume 17, Issue 3, July 1983.）
【０００３】
シャッタ機能を有する撮像装置によりフレームレートで決定される期間に対して各フレームが短い有効露光時間で撮像された動画像を、表示デバイスを用いて表示すると、画像中に含まれる移動物体の動きが不連続に表示され、画像を観察する観察者が他重像を知覚してしまうという視覚上の画像劣化が発生する場合がある。
【０００４】
また、ゲーム、映画、広告、テレビなどに幅広く使われているＣＧ(Computer Graphics)技術により生成された動画像には、元より撮像時の有効露光時間に起因する撮像ぼけという現象は存在しない。そのため、モーションブラー(Motion Blur)効果を考慮せずに動画像を生成し、表示デバイスを用いて表示すると、画像中に含まれる移動物体の動きが不連続に表示され、画像を観察する観察者が他重像を知覚してしまうという視覚上の画像劣化が発生してしまう。
このような動きの不自然さによる動画像の劣化は、一般的にモーションジャーキネス（Motion Jerkiness）と呼ばれる（参考文献：ANSI T1.801.02-1996）。
【０００５】
モーションジャーキネスが発生する具体例について、図２７に示す動画像撮像装置５００及び動画像再生装置６００を用いて説明する。
動画像撮像装置５００は、動画像を撮像してＭＰＥＧ（Moving Picture Experts Group）などの規格で符号化し、この符号化された画像データをＤＶＤ（Digital Versatile Disc）などの記録媒体７００に記録するものであり、具体的には次のような構成を有している。
【０００６】
即ち動画像撮像装置５００は、被写体像からの光を集光する撮像光学系５１０と、この撮像光学系５１０により集光された光を受光して画像信号に変換する撮像素子５２０と、この撮像素子５２０により変換された画像信号を符号化する符号化処理部５３０を有する。
また動画像撮像装置５００は、符号化処理部５３０により符号化された画像データを所定の伝送路を介して外部へ送信する送信処理部５４０と、符号化処理部５３０により符号化された画像データをＤＶＤなどの記録媒体７００に記録する記録処理部５５０を備える。
【０００７】
撮像光学系５１０は、外部から入射する被写体光の光量を調節する絞り機構５１１と、絞り機構５１１により光量を調節された被写体光を撮像素子５２０の受光面に集光させる光学レンズ系５１２とから構成される。
【０００８】
一方、動画像再生装置６００は、符号化された画像データを復号して、ディスプレイなどに表示出力するものであり、具体的には次のような構成を有している。
即ち動画像再生装置６００は、所定の伝送路を介して伝送されてくる符号化された画像データを受信する受信処理部６１０と、記録媒体７００から符号化された画像データを読み出す読出処理部６２０を有する。
また動画像再生装置６００は、受信処理部６１０及び読出処理部６２０から出力される符号化された画像データを復号する復号処理部６３０と、復号処理部６３０によって復号された画像信号を表示するディスプレイなどの表示出力部６４０とを備える。
【０００９】
例えば明るい野外などで動画像を撮像するとき、このような従来の動画像撮像装置５００では、絞り機構５１１を絞ることによって撮像素子５２０に入射させる光量を制限して露光量を適切に制御している。
しかしながら、通常、絞り機構５１１を絞りすぎると回折現象により像がぼやけてしまう。このため、動画像撮像装置５００では、絞り機構５１１によって光量を調節するのに加えて、シャッタ速度を短くすることで適切な露光制御を行っている。
また、絞り機構が設けられていない動画像撮像装置では、シャッタ速度を変更することで露光制御を行っている。
【００１０】
このようにして、従来の動画像撮像装置５００では、シャッタ速度を短くすることで、野外撮影などにおいて適切な露光制御を行うことができるが、これに伴って次のような現象が現れてくる。
すなわち、従来の動画像撮像装置５００では、シャッタ速度を短くしすぎると、人間の視覚特性によって画像の動きに滑らかさを欠いた現象となって現れてしまう。
【００１１】
このような動きの不自然さによる動画像の劣化は、一般的にモーションジャーキネス（Motion Jerkiness）と呼ばれる。すなわち、動画像再生装置６００は、動画像撮像装置５００によってジャーキネス劣化を含んで撮像されると、そのままジャーキネス劣化を含んだ画像データを復号して表示出力部６４０により表示することとなる。
【００１２】
以上のように、動画像のフレームレートに対して、非常に高速のシャッタ速度で撮像された画像は、静止画像として表示したときには鮮鋭度が高いが、動画像として表示したときには画像中の動体の動きが滑らかではなく、人間の視覚特性上、不自然に見えてしまう。
【００１３】
また、ＣＧ分野の技術では、表示動画像を生成するレンダリング処理の際、モーションブラー(Motion Blur)効果と言われる、計算機上において撮像ぼけの現象を模擬し、仮想的な動きぼけを付加する処理を行い、滑らかな動画像を生成する方法が広く知られている。レンダリング処理とは、仮想的な三次元空間上にあるＣＧデータを、表示するための仮想的なスクリーン上にマッピングする手法であり、代表的なものにZ-Buffer法やレイトレーシング法などがある。
上記非特許文献１には、ＣＧにおけるモーションブラー効果について開示されている。
【発明の開示】
【発明が解決しようとする課題】
【００１４】
モーションブラー効果の生成は、表示装置に出力される動画像のフレーム数よりも多くの単位画像を生成し、これらを用いてフレームの平均化を行う方法が一般的である。表示フレームに対し時間的に中間にあたるフレームまでを計算して記憶し、それらを加算処理した結果を出力するわけである。しかし、この方法は中間フレームを記憶するためのメモリのリソースが少ない場合には実現できない。
【００１５】
そこで本発明はこのような実情に鑑みて、撮像装置などによって取り込まれた動画像を構成する各単位画像に、適切な動きぼけを効果的に付加することによりジャーキネス劣化を低減させる処理を行う画像処理装置、画像処理方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１６】
本発明の画像処理装置は、動画像を構成する各単位画像を処理対象画像とし、上記処理対象画像から１つ以上の解像度の異なる縮小画像を生成する縮小画像生成手段と、上記処理対象画像の注目画素に位置的に対応する画素を上記縮小画像から抽出し、上記処理対象画像に関する動きを示す動き情報を基に、上記注目画素および上記縮小画像から抽出した１つ以上の抽出画素について、重み付け加算処理を行って、上記処理対象画像に動きぼけを付加する画素合成処理手段とを備える。
【００１７】
また、上記縮小画像生成手段は、上記処理対象画像に対し、再帰的な縮小フィルタ処理を用いることで上記縮小画像を生成する。
また、上記画素合成処理手段は、上記注目画素および１つ以上の上記抽出画素に応じた重みの値を、上記画像に関する動きを示す動き情報を基に変更する。
また、上記画素合成処理手段は、上記注目画素に応じて各縮小画像から抽出する画素について、注目画素と各縮小画像中に存在する画素との位置関係に応じて、各縮小画像中に存在する複数画素の重み付け加算処理によって抽出する。
また、上記縮小画像生成手段は、上記処理対象画像に対し縮小フィルタ処理を行って、方向別の縮小画像をそれぞれ生成する。そして上記画素合成処理手段は、上記各方向別に生成された各縮小画像から、方向を選択することで縮小画像を選択し、上記処理対象画像の注目画素に位置的に対応する画素を上記選択した縮小画像から抽出し、上記動き情報を基に、上記注目画素および上記選択した縮小画像から抽出した１つ以上の抽出画素について重み付け加算処理を行う。
また、上記縮小画像生成手段は、上記処理対象画像に対し縮小フィルタ処理を行って、方向別の縮小画像をそれぞれ生成する。そして上記画素合成処理手段は、上記処理対象画像の注目画素に位置的に対応する画素を上記各方向別に生成された各縮小画像からそれぞれ抽出し、上記動き情報を基に、上記注目画素および上記各縮小画像からそれぞれ抽出した抽出画素について、それぞれに第１の重み付け加算処理を行い、上記第１の重み付け加算処理の結果の各画素について、上記動き情報に応じた第２の重み付け加算処理を行う。
【００１８】
また、上記動き情報に対応する最適な撮像シャッタ速度として、出力画像の画像劣化が低減される最適シャッタ速度情報を、処理対象画像中の各画素または分割領域ごとに取得し、上記最適シャッタ速度情報を用いて動き情報を補正する動き情報補正手段をさらに有し、上記画素合成処理手段は、上記動き情報補正手段が補正した動き情報を用いて上記処理対象画像に動きぼけを付加する。
また上記動き情報補正手段は、撮像装置により撮像された際のシャッタ速度情報と上記最適シャッタ速度情報を用いて上記動き情報を補正する。
また、上記動き情報として動きベクトルを生成する動きベクトル生成手段を更に備え、上記動き情報補正手段は、上記動きベクトル生成手段により生成された動きベクトルを補正し、上記画素合成処理手段は、上記動き情報補正手段により補正された動きベクトルを用いて、上記処理対象画像の注目画素に位置的に対応する画素を上記縮小画像から抽出し、上記注目画素および上記縮小画像から抽出した１つ以上の抽出画素について、重み付け加算処理を行う。
また上記動きベクトル生成手段は、処理対象画像となる単位画像の動きベクトルを検出する動きベクトル検出手段と、上記動きベクトル検出手段が検出した処理対象画像の動きベクトルと、該処理対象画像以前の処理対象画像の動きベクトルを画素ブロック単位で比較して、相関が高い画素ブロックを特定する画素ブロック特定手段と、上記画素ブロック特定手段により特定された画素ブロックの動きベクトルから、該特定された画素ブロック以外の画素ブロックの動きベクトルを推定する動きベクトル推定手段とを有する。
また上記動きベクトル生成手段は、処理対象画像となる単位画像の動きベクトルを検出する動きベクトル検出手段と、上記動きベクトル検出手段が検出した処理対象画像の動きベクトルを平滑化する動きベクトル平滑化手段とを有する。
【００１９】
本発明の画像処理方法は、動画像を構成する各単位画像を処理対象画像とし、上記処理対象画像から１つ以上の解像度の異なる縮小画像を生成する縮小画像生成ステップと、上記処理対象画像の注目画素に位置的に対応する画素を上記縮小画像から抽出し、上記処理対象画像に関する動きを示す動き情報を基に、上記注目画素および上記縮小画像から抽出した１つ以上の抽出画素について、重み付け加算処理を行って、上記処理対象画像に動きぼけを付加する画素合成処理ステップとを有する。
本発明のプログラムは、上記縮小画像生成ステップと、上記画素合成処理ステップとを演算処理装置に実行させるプログラムである。
【００２０】
このような本発明では、動画像における処理対象画像（例えば１フレームの画像データ）から、１つ以上の解像度の異なる縮小画像を生成する。そして処理対象画像の注目画素に位置的に対応する画素を、上記縮小画像から抽出し、動き情報を基に、注目画素と抽出画素について重み付け加算処理を行う。これは主に空間的なフィルタリング処理によって処理対象画像に動きぼけを付加することとなる。
【発明の効果】
【００２１】
本発明によれば、動きベクトルに応じて適切な動きぼけを処理対象画像毎に付加することができ、人間の視覚特性上、より自然にジャーキネス劣化が低減された動画像を出力することができる。
また、本発明で実現される動きぼけ付加処理は、主に空間的なフィルタリング処理によって実現され、中間フレームを生成することがないため、処理過程で画像データを記憶するためのメモリを少なくすることができる。
さらに、空間フィルタ処理は、階層的なフィルタリングを実行した結果得られる、各階層の画素値を重み付け加算して出力する。そのため、各階層において行うフィルタは、少ないタップ数で実現可能である。また、そのフィルタのタップ数は、付加する動きぼけの量に依存せず、固定タップ数で行うことが可能である。このような再帰的な処理による実現は、特にハードウェアによる処理実装に適している。
【発明を実施するための最良の形態】
【００２２】
以下、本発明を実施するための最良の形態について、図面を参照しながら詳細に説明する。本発明の実施の形態としての画像処理装置は、人間の視覚特性上、不自然に見えてしまうジャーキネス劣化を含んだ動画像に対して動きぼけを付加して、このような劣化を低減するものである。
説明は次の順序で行う。
［１．第１の実施の形態］
［１−１：画像処理装置１の全体構成］
［１−２：縮小画像生成処理部２］
［１−３：動きぼけレンダリング処理部３］
［１−４：まとめ］
［２．第２の実施の形態］
［３．プログラム］
【００２３】
［１．第１の実施の形態］
［１−１：画像処理装置１の全体構成］
図１は、第１の実施の形態の画像処理装置１の構成例を示している。
この画像処理装置１は、入力画像データＤＤ、および入力画像データＤＤの各画素または各分割領域の動きの情報である動きベクトルＶＤ、を入力とし、動きぼけの付加によりジャーキネス劣化が低減した出力画像ＯＤを出力する。
入力画像データＤＤは、画像撮像や記録媒体からの再生等により供給される動画像データであり、画像処理装置１は、例えば動画像を構成する１フレーム毎の入力画像データＤＤを処置対象画像として動きぼけの付加処理を行う。
動きベクトルＶＤとは、入力画像データＤＤの各フレームにおける、各画素または各分割領域の動きの情報である。なお分割領域とは、例えば１フレーム内の水平・垂直方向にのＮ×Ｍ個の画素で構成されるような複数画素で形成する画素ブロック単位をいう。
動きベクトルＶＤは、入力されてくる入力画像データＤＤにおいてメタデータ等の形式で付加されている場合もあるし、入力画像データＤＤについて動きベクトル検出処理を行って検出する場合もある。
この第１の実施の形態の画像処理装置１は、入力画像データＤＤの取込方式や、動きベクトルＶＤの取込方式は限定せず、これらは画像処理装置１に入力されるものとして説明する。
【００２４】
図１に示すように、画像処理装置１は、フィルタリング処理などにより処理対象フレーム中から選択された画素に動きぼけを付加し、その結果得られた画素から構成される１つ以上の縮小面を生成する縮小画像生成処理部２を備える。
また、動きベクトルを基に、処理対象フレーム中の対応画素および縮小画像生成処理部２において生成された縮小面中の対応画素から、出力画像を構成する各画素の画素値を算出し出力する動きぼけレンダリング処理部３を備える。
【００２５】
各処理部についての具体的な処理内容を説明する前に、この画像処理装置１による動きぼけ付加処理の概要と位置づけについて述べておく。
画像処理装置１は、縮小画像生成処理部２と動きぼけレンダリング処理部３により各画素に適切な量の動きぼけを付加し、ジャーキネス劣化を低減した画像を出力する。
図２は、画像処理装置１における動きぼけ付加処理の概要を示すものである。特に、図１中の縮小画像生成処理部２と動きぼけレンダリング処理部３において行われる処理内容の概要を説明するためのものである。
【００２６】
図２における元画像（基底面）とは、入力画像データＤＤとしての１つの処理対象フレームの画像データとなる。
縮小画像生成処理部２では、処理対象フレームである元画像に対し、詳しくは後述する空間フィルタリング処理を実行し、その結果として第１縮小面を作成する。
第１縮小面は、元画像よりも一定の比率だけ縮小され、画素数が減少した画像である。
さらに縮小画像生成処理部２は、得られた第１縮小面に対し、同様の空間フィルタリング処理を実行し、結果として得られる第２縮小面を作成する。
このような要領で縮小画像生成処理部２は、再帰的にフィルタ処理を用いることで、所定の階層数の縮小画像（第１縮小面〜第ｎ縮小面）の生成を行う。
【００２７】
動きぼけレンダリング処理部３では、上記の要領で生成された階層型の縮小画像（第１縮小面〜第ｎ縮小面）を用いて、動きぼけを適応的に付加した、視覚特性上自然にジャーキネス劣化を低減した画像を生成し、出力する。
動きぼけレンダリング処理部３は、例えば図２中に示す元画像の各画素について、元画像である基底面、第１縮小面、および第２縮小面から、動きぼけ付加対象の画素に対応する位置の画素値を各面から抽出し、レンダリング方式に重み付け加算を実行する。
各面が有する画素数はそれぞれ異なるため、動きぼけ付加対象の画素に対応する位置の画素が各縮小面に存在しない場合、詳しくは後述する周辺の画素からの補間処理を行い、画素値を抽出する。
基底面及び各縮小面から抽出したそれぞれの画素値に対する重み係数（ｗ０、ｗ１、ｗ２）は、図１に示した動きベクトルＶＤ中の、動きぼけ付加対象の画素に対応する位置の動きベクトルの大きさに依存して決める。例えば、動きベクトルが大きい値の場合、つまり付加する動きぼけの量が大きい場合ほど、高階層の縮小面から抽出した画素の重み係数を大きくする。図２の例においては第２縮小面から抽出した画素の重み係数を大きくすることになる。
一方、動きベクトルが小さい値の場合、つまり付加する動きぼけの量が少ない場合ほど、低階層の縮小面から抽出した画素の重み係数を大きくする。例えば図２の例においては基底面から抽出した画素の重み係数を大きくする。
このような重み付け加算の結果として、ジャーキネス劣化を低減した画像が生成される。
【００２８】
［１−２：縮小画像生成処理部２］
縮小画像生成処理部２の具体的な処理について説明する。
縮小画像生成処理部２で行われる処理は、入力画像データＤＤに対し空間フィルタリング処理を実行する。また、その結果として得られる縮小画像に対し（または画像として構成されなくても、前段のフィルタリング処理の結果として得られる複数の画素を用いて）、さらに同様の空間フィルタリング処理を繰り返す。これにより階層的な縮小画像データＲＳＤを生成する。
上記空間フィルタリング処理は、フィルタリング処理前の画像中において複数画素を有する領域の画素情報を用いて行われ、処理の前後にて一定の比率だけ縮小され、画素数が減少した画像を生成する。そのためフィルタリング処理後の各画素は、フィルタリング処理前の画像中における当該領域をぼかした画素、として出力されるわけである。
【００２９】
以下において、最も簡易なフィルタリング方法の例を用いて詳しく説明する。
図３は、縮小画像生成を行うフィルタ処理の具体例における、縮小前後の画素の対応関係について示すものである。
図３の例では、縮小前の画像において、分割領域Ｒ１１として示した４×４画素を用いたフィルタリングを実行し、縮小後の画像における画素Ｐ１１を出力することを表現している。分割領域Ｒ１２，Ｒ２１についても同様に画素Ｐ１２，Ｐ２１を示している。
結果として、縮小後の画像は、縮小前の画像と比べ、垂直・水平方向にそれぞれ１／４の画素数となっている。
なお４×４画素ブロックを用いるのは、あくまで一例であり、Ｎ×Ｎの画素ブロックを用いて同様の処理を行えば、垂直・水平方向にそれぞれ１／Ｎの画素数を有する縮小画像が生成できる。
【００３０】
分割領域Ｒ１１に対して行うのは、例えば、ボックスフィルタなどのローパスフィルタ処理であるとすれば、周辺画素の画素値を平均化することで、画素Ｐ１はぼけを含んだ画素として生成される。
【００３１】
このようにして得られた縮小画像を図２に示した第１縮小面とした場合、この第１縮小面に対し、さらに図３と同様の空間フィルタリング処理を実行して第２縮小面を作成する。
この場合、第１縮小面に４×４画素の分割領域を用いたフィルタリングを実行することにより、第２縮小面の各画素は、元画像における１６×１６画素の領域の画素値を平均化したぼけ画素として生成されることになる。
必要に応じて、第２縮小面の生成後に第３縮小面以降を同じ要領で生成することも可能であり、階層数を増やしても処理の内容は変わらない。
【００３２】
このように、縮小画像生成処理部２では、入力画像に空間ローパスフィルタ処理を実行することで、結果として得られる低解像度な画像を生成し、さらに生成した低解像度画像に同様の処理を実行することでより低解像度な画像を生成していく。このような多重解像度フィルタリング処理を実行して、階層型の縮小画像データＲＳＤを生成する。
【００３３】
図４〜図７に、他の例として、方向選択型縮小画像生成フィルタ方式を説明する。
図３では分割領域として４×４画素の方形領域の例を示したが、フィルタリングを実行する分割領域は、方形でなくても構わない。
むしろ図３に示した４×４画素を用いたフィルタのような等方型フィルタでは、後段の動きぼけレンダリング処理で動きぼけを付加した場合、画質上の問題が発生してしまう場合もあり得る。それは、付加したい所望の動きぼけのみでなく、動きと直交する方向に低解像度化した結果生じるぼけが支配的になってしまう現象である。
例えば、水平方向の動きに応じた動きぼけを付加したい場合、動きぼけの方向である水平のみでなく、垂直方向にもローパスフィルタリングされた縮小画像を用いるため、垂直方向の解像度が低下した画像になってしまう。
つまり画像内容としての動き方向に応じてぼけを付加することでジャーキネスを低減するときに、動き方向とは直交方向にもぼけが付加され、それが視覚上適切な画像とならない場合がある。
【００３４】
そのような事象を回避するには、最終的に付加される動きぼけの方向を考慮した縮小面生成フィルタリングを行う必要がある。この方法は、動きぼけを付加する各方向に独立に縮小面を用意するものである。
【００３５】
図４は、水平方向の動きぼけ付加用の、具体的な縮小画像生成フィルタ処理の一例における、縮小前後の画素の対応関係について示すものである。
図４においては、まず、入力画像データＤＤ（基底面）に４×１タップの長方形フィルタ処理を実行し、水平方向の画素数が１／４、垂直方向の画素数は変化しない、水平方向１／４縮小画像を生成している。
例えば基底面における領域Ｒ0１１、Ｒ0１２、Ｒ0２１についてのそれぞれのフィルタ処理で得られた画素は、水平方向１／４縮小画像における画素Ｐ1１１、Ｐ1１２、Ｐ1２１となる。
なお４×１画素領域を用いたのは、あくまで一例であり、所望の縮小率に応じて変更できる。
フィルタの内容は、例えばボックスフィルタなどのローパスフィルタである。
【００３６】
さらに、生成した水平方向１／４縮小画像に対し、同様のフィルタ処理を実行することで、水平方向の画素数が１／１６、垂直方向の画素数は変化しない、水平方向１／１６縮小画像を生成する。
例えば水平方向１／４縮小画像における領域Ｒ1１１についてのフィルタ処理で得られた画素は、水平方向１／１６縮小画像における画素Ｐ2１１となる。
このように、水平方向の動きぼけ付加用として、垂直方向の解像度低下を防ぐため、水平方向のみ多階層の縮小画像を生成する。
【００３７】
図５は、垂直方向の動きぼけ付加用の、具体的な縮小画像生成フィルタ処理の一例における、縮小前後の画素の対応関係について示すものである。
図５においても、図４の場合と同様に、まず、入力画像データＤＤに１×４タップの長方形フィルタ処理を実行し、水平方向の画素数が変化せず、垂直方向の画素数が１／４となった、垂直方向１／４縮小画像を生成している。フィルタの内容は、例えばボックスフィルタなどのローパスフィルタである。
例えば基底面における領域Ｒ0１１、Ｒ0１２、Ｒ0２１についてのそれぞれのフィルタ処理で得られた画素は、垂直方向１／４縮小画像における画素Ｐ1１１、Ｐ1１２、Ｐ1２１となる。
【００３８】
さらに、生成した垂直方向１／４縮小画像に対し、同様のフィルタを実行することで、水平方向の画素数が変化せず、垂直方向の画素数が１／１６となった、垂直方向１／１６縮小画像を生成する。
例えば垂直方向１／４縮小画像における領域Ｒ1１１についてのフィルタ処理で得られた画素は、垂直方向１／１６縮小画像における画素Ｐ2１１となる。
このように、垂直方向の動きぼけ付加用として、水平方向の解像度低下を防ぐため、垂直方向のみ多階層の縮小画像を生成する。
【００３９】
図６は、斜め方向の動きぼけ付加用の、具体的な縮小画像生成フィルタ処理の一例における、縮小前後の画素の対応関係について示すものである。
図６においても、これまでと同様に４タップのローパスフィルタを実行するが、図中に示すとおり、左斜め下方向に向かって抽出していった画素を用いてフィルタリングを行っている。
例えば、領域Ｒ0１４は、画素Ｐ0１４、Ｐ0２３、Ｐ0３２、Ｐ0４１の４つの画素による処理領域を示すが、領域Ｒ0１４については、この４つの画素についてフィルタ処理を行う。図示する他の領域Ｒ0１５、Ｒ0２４等も同様である。
【００４０】
フィルタ処理された画素によって形成される縮小画像は、垂直方向に画素データを詰めて格納することにすれば、第１の縮小面である、斜め４５度方向１／４縮小画像は、水平方向の画素数が変化せず、垂直方向の画素数が１／４となって生成される。
例えば基底面における領域Ｒ0１４、Ｒ0１５、Ｒ0２４についてのそれぞれのフィルタ処理で得られた画素は、斜め４５度方向１／４縮小画像における画素Ｐ1１４、Ｐ1１５、Ｐ1２４となる。
【００４１】
さらに、生成した斜め４５度方向１／４縮小画像に対し、同様のフィルタを実行することで、水平方向の画素数が変化せず、垂直方向の画素数が１／１６となった、斜め４５度方向１／１６縮小画像を生成する。
このように、斜め方向の動きぼけ付加用として、適用した方向に直交する斜め方向の解像度低下を防ぐため、適用方向のみ多階層の縮小画像を生成する。
【００４２】
図７は、図６とは直交する斜め方向の動きぼけ付加用の、具体的な縮小画像生成フィルタ処理の一例における、縮小前後の画素の対応関係について示すものである。
図７においても、これまでと同様に４タップのローパスフィルタを実行するが、図中に示すとおり、右斜め下方向に向かって抽出していった画素を用いてフィルタリングを行っている。例えば、領域Ｒ0１４は、画素Ｐ0１４、Ｐ0２５、Ｐ0３６、Ｐ0４７の４つの画素による処理領域を示すが、領域Ｒ0１４については、この４つの画素についてフィルタ処理を行う。図示する他の領域Ｒ0１５、Ｒ0２４等も同様である。
【００４３】
フィルタ処理された画素によって形成される縮小画像は、垂直方向に画素データを詰めて格納することにすれば、第１の縮小面である、斜め１３５度方向１／４縮小画像は、水平方向の画素数が変化せず、垂直方向の画素数が１／４となって生成される。
例えば基底面における領域Ｒ0１４、Ｒ0１５、Ｒ0２４についてのそれぞれのフィルタ処理で得られた画素は、斜め１３５度方向１／４縮小画像における画素Ｐ1１４、Ｐ1１５、Ｐ1２４となる。
【００４４】
さらに、生成した斜め１３５度方向１／４縮小画像に対し、同様のフィルタを実行することで、水平方向の画素数が変化せず、垂直方向の画素数が１／１６となった、斜め１３５度方向１／１６縮小画像を生成する。
このように、斜め方向の動きぼけ付加用として、適用した方向に直交する斜め方向の解像度低下を防ぐため、適用方向のみ多階層の縮小画像を生成する。
【００４５】
以上、水平方向、垂直方向、斜め４５°方向、斜め１３５°方向の例を示したが、これら以外に、あらゆる角度方向の縮小画像生成フィルタを採用しても構わない。
上記までに説明する方法は、各方向の動きぼけ付加用として独立に縮小画像を生成するため、後段の動きぼけレンダリング処理において、各画素に付加する動きぼけの方向に応じて、適応的に各方向の縮小画像から画素を選択または合成する必要が生じる。この方法については、動きぼけレンダリング処理部３の説明において詳しく後述する。
【００４６】
さて、上記までに付加される動きぼけの方向を考慮した縮小面生成フィルタリングについて説明をしてきたが、その処理をより詳細に説明するために、１つの具体的な構成例を設定して、以降の説明に逐次用いる。
下記の＜具体例：条件１＞をその例として用いる。
【００４７】
＜具体例：条件１＞
縮小画像生成方向：水平・垂直
縮小画像階層数：水平および垂直に各３層（第３縮小面まで）
動きぼけ生成方向：動きぼけレンダリング時に水平・垂直から移動速度の絶対値が大きい方を選択（詳細は後述）
フィルタ前後の縮小率
第１縮小面：１／４
第２縮小面：１／１６
第３縮小面：１／６４
【００４８】
上記の仕様では、付加できる最大の動きぼけ量は、水平・垂直の各方向に、±６４画素移動した相当の動きぼけまでを生成できる。
図８は、＜具体例：条件１＞の設定における、縮小画像生成処理部２の構成例を示すものである。
上記の水平・垂直の各方向に１次元フィルタを用いて縮小面生成処理を実行する場合の処理フローを示しており、生成された各縮小面は縮小画像データＲＳＤとして出力される。
即ち入力画像データＤＤに対して、１次元フィルタ処理２１−１で水平方向１／４縮小画像を生成する。さらに１次元フィルタ処理２１−１の結果について１次元フィルタ処理２１−２で水平方向１／１６縮小画像を生成する。さらに１次元フィルタ処理２１−２の結果について１次元フィルタ処理２１−３で水平方向１／６４縮小画像を生成する。
また、入力画像データＤＤに対して、１次元フィルタ処理２２−１で垂直方向１／４縮小画像を生成する。さらに１次元フィルタ処理２２−１の結果について１次元フィルタ処理２２−２で垂直方向１／１６縮小画像を生成する。さらに１次元フィルタ処理２２−２の結果について１次元フィルタ処理２２−３で垂直方向１／６４縮小画像を生成する。
これらの結果として得られた６個の縮小画像データＲＳＤが出力されることになる。
【００４９】
なお、図示している１次元フィルタ（２１−１〜２２−３）の処理は、ソフトウエア演算で実現される再帰的なフィルタ処理をブロックで表現した処理フローとしているが、当該構成をハードウエア構成として捉えても良い。図９以降も同様である。
【００５０】
図９は、図８に示した処理フローを、拡張して一般化したものである。
上記の＜具体例：条件１＞の設定においては、生成する水平・垂直方向の階層数は３と決めていたが、図９はこれを限定せず、水平方向の縮小面階層数をＭｘ、垂直方向の縮小面階層数をＭｙと表現して一般化している処理フローである。
１次元フィルタ処理２１−１・・・２１−Ｍｘにより、Ｍｘ階層の水平方向縮小画像が生成され、また１次元フィルタ処理２２−１・・・２２−Ｍｙにより、Ｍｙ階層の垂直方向縮小画像が生成される。これらが縮小画像データＲＳＤとして出力される。
【００５１】
図１０は、図９に示した処理フローを、拡張したものである。
上記図８から図９は縮小画像の階層数を拡張した例であるが、図１０は、さらに図９における縮小画像生成方向について、水平・垂直方向のみから斜め方向も含めた構成へと拡張している。
即ち１次元フィルタ処理２１−１・・・２１−Ｍｘにより、Ｍｘ階層の水平方向縮小画像が生成され、また１次元フィルタ処理２２−１・・・２２−Ｍｙにより、Ｍｙ階層の垂直方向縮小画像が生成される。
さらに１次元フィルタ処理２３−１・・・２３−Ｍｘｙにより、Ｍｘｙ階層の斜め４５°方向縮小画像が生成され、また１次元フィルタ処理２４−１・・・２４−Ｍｙｘにより、Ｍｙｘ階層の斜め１３５°方向縮小画像が生成される。
そしてこれらが縮小画像データＲＳＤとして出力される。
【００５２】
ここまで、各方向の動きぼけ付加用として独立に縮小画像を生成する方法について、その処理手順を述べたが、以下では、実際に各方向用に縮小画像を生成する際に用いるフィルタについて、その内容を説明する。
【００５３】
上記までの説明においては、例として４タップのボックスフィルタを用いることを述べてきた。これは、縮小率１／４に対応して４画素ブロックのフィルタを用いていたわけであり、最も容易に実現できる方法であるため、である。動きぼけ発生原理を考慮しても、移動平均フィルタと同内容でボックスフィルタが、原理的に実際の動きぼけに最も類似するはずである。しかしながら、最終的に得られる画質の向上のために、変更することも可能である。
【００５４】
図１１は、縮小画像生成処理に用いるフィルタ形状の具体例を示すものである。
上記＜具体例：条件１＞の設定にて、水平・垂直のいずれかの方向に１／４縮小するフィルタを想定し、横軸は４画素ごとを１ブロックと考えた場合の座標を示しており、縦軸はフィルタとして各画素に乗ずる加重である。
４タップのボックスフィルタの他、７タップのテントフィルタ、１０タップの階段フィルタ、１３タップのガウシアンフィルタを例として図示しており、所謂ＦＩＲローパスフィルタであれば採用可能であることを示している。
【００５５】
フィルタタップ数は、縮小フィルタによる縮小率が１／Ｎのとき、Ｎタップ以上であることが必要条件である（例えば、縮小率１／４、入力４画素に対し１画素を出力する場合には４タップ）が、さらにタップ数を増加することにより、画質の向上が期待できる。
これは、タップ数が小さいほど発生する恐れが高まる、折り返し現象に起因する画質劣化を低減できるためである。
また、フィルタタップ数の増加に伴い、隣接する分割領域に属する画素を重複してフィルタ処理を行うことになるが、それは問題とならない。
【００５６】
図１２は、フィルタリングを行う場合に用いる各縮小画像の画素の位置関係を説明するための図である。
いま、水平方向の縮小画像を生成しているものとして、各縮小画像からの画素をどのように重み付け加算することで、出力画素の画素値を算出するかを、この図を用いて説明する。フィルタタップ数は７の場合を例として用いている。なお、垂直方向もこれに準じて行えばよいため、図は省略する。
【００５７】
図１２中には、各縮小画像の画素について、番号が振られている。以下、何層目の縮小画像の何番目の画素か、についてこの番号を用いて表現する。例えば、１／１６縮小画像の番号７９の画素はＬ２（７９）と表記する。基底面である入力画像データＤＤ中の画素はＬ０（画素番号）で表現する。
【００５８】
各縮小画像中の画素番号は、基底面上の対応する位置のものであり、各縮小面中で斜線を付した画素を位相の中心として、フィルタリングが実行されて作成されたものである。例えば、第１番目の縮小面である１／４縮小面中の画素Ｌ１（７）は、基底面中のＬ０（４）〜Ｌ０（１０）までの画素を用いた７タップのフィルタによって、生成された画素である。
このように、各縮小画像においてフィルタを４画素シフトしつつ実行することにより、用いる画素が隣接するフィルタと重複しても問題なく、フィルタの前後で１／４だけ縮小された、次層の縮小面が作成される。当然、縮小率が異なる場合も同様の方法で実現可能である。
【００５９】
［１−３：動きぼけレンダリング処理部３］
続いて動きぼけレンダリング処理部３の具体的な処理について説明する。
動きぼけレンダリング処理部３は、入力画像データＤＤと、縮小画像生成処理部２で生成された階層的な縮小画像を用いて、動きぼけを含んだ出力画像の各画素値を算出する。
【００６０】
図１３は、動きぼけレンダリング処理の流れを示す概略図である。
動きぼけレンダリング処理部３には、入力画像データＤＤ、縮小画像データＲＳＤおよび動きベクトルＶＤが入力し、各画素に適切な量の動きぼけが付加された出力画像データＯＤを出力する。
【００６１】
まず、動きベクトルＶＤから、当該画素に対し、どの方向に何画素移動した相当の動きぼけを付加するかの情報である、レンダリングパラメータの抽出が行われる（Ｓ１）。
レンダリングパラメータとは、言い換えれば、後段のレンダリング処理において、入力画像データＤＤおよび縮小画像データＲＳＤ中の当該画素の各々に、どれだけの重みを乗じて加算処理を実行するか、を示すデータである。後に具体的な例を用いてより明確に説明する。
縮小画像データＲＳＤには、入力画像データＤＤ中の各縮小画像において、当該画素に位置的に対応する画素の画素値を、補間処理によって生成する、合成画素算出処理が行われる（Ｓ２）。
この処理が必要な理由および具体的な処理内容の例については、詳しくは後述する。
最後に、入力画像データＤＤの当該画素、および、縮小画像データＲＳＤから生成された各合成画素、のそれぞれに重みを付けて加算処理することにより、当該画素に対応する出力画素の画素値を算出する、レンダリング処理が行われる。重みの情報は、入力されるレンダリングパラメータ中にあるものとする。
【００６２】
図１４は、上記した＜具体例：条件１＞における、動きぼけレンダリング処理部３の処理ブロックを示すものである。
縮小画像データＲＳＤが示す縮小画像は、縮小画像生成処理部２において、水平および垂直に各３層作成されている（図８参照）。
合成画素算出処理部３１（３１−１〜３１−３）には、入力画像データＤＤから処理対象の当該画素が入力されるのとタイミングを合わせて、３層の水平縮小画像から各々に画素が入力され、後述する合成画素値の算出処理が行われる。
また合成画素算出処理部３２（３２−１〜３２−３）には、入力画像データＤＤから処理対象の当該画素が入力されるのとタイミングを合わせて、３層の垂直縮小画像から各々に画素が入力され、後述する合成画素値の算出処理が行われる。
これら合成画素算出処理部３１−１〜３１−３、３２−１〜３２−３で算出された各縮小画像に対する合成画素は、セレクタ３４へと入力される。
【００６３】
ベクトル変換処理部３５には、動きベクトルＶＤが入力されている。
上記＜具体例：条件１＞は、各画素に水平および垂直方向のいずれか一方の動きぼけを選択的に付加する条件である。そのため、ベクトル変換処理部３５では、動きベクトルＶＤを基に、動きを付加する方向が水平と垂直のいずれであるかを示す選択情報と、付加する動きぼけの方向に対する各合成画素値に乗ずる重みを示す重み情報、を生成する。
そして選択情報は、セレクタ３４へ供給され、重み情報は、重み付け画素加算処理部３６へ供給される。
【００６４】
セレクタ３４は、ベクトル変換処理部３５から入力された選択情報を基に、合成画素値のうち水平・垂直のどちら一方から入力された画素値のみを選択し、重み付け画素加算処理部３６へ出力する。つまり、＜具体例：条件１＞の場合では、６つの画素値が入力し、３つの画素値として出力される。
重み付け画素加算処理部３６には、既に入力画像データＤＤから処理対象の当該画素が入力されている。
さらに、上記の通り、合成画素値のうち方向選択された各画素値が入力される。
また、ベクトル変換処理部３５から各画素値に対する重み情報が入力している。
この重み付け画素加算処理部３６では、重み情報を基に、入力した各画素値に対し、詳しくは後述する重み付け画素加算処理を実行し、出力する画素値を算出する。
【００６５】
合成画素算出処理部３１，３２における処理を図１５で説明する。
図１５は、合成画素算出処理および重み付け画素加算処理の内容について、具体例を示して説明するための図である。入力画像データＤＤと縮小画像データＲＳＤについて、上記図１２と同様に、各画素を示している。
【００６６】
合成画素算出処理部３１、３２で行われる合成画素値の算出は、水平および垂直の各縮小画像から入力された画素について行うが、図１５では、付加する動きぼけの方向が水平方向の場合（つまり合成画素算出処理部３１のみ）について図示している。以下の説明は、垂直方向の場合（合成画素算出処理部３２）についても同様に考えればよい。
【００６７】
まず、合成画素値の算出処理が必要な理由について述べる。
後段の重み付け画素加算処理部３６の処理では、前記の通り、入力画像データＤＤの当該画素、および、縮小画像データＲＳＤから生成された各合成画素、のそれぞれに重みを付けて加算処理することにより、当該画素に対応する出力画素の画素値を算出するわけである。
しかし、各縮小画像には常に、入力画像データＤＤ中の当該画素に対応する画素が存在するわけではないため、各縮小画像における対応画素を補間処理により算出しなくてはならない。
例えば、図１５中の入力画像データＤＤで「２０」の番号を振られている画素Ｌ０（２０）に位置的に対応する、各縮小画像中における画素は存在しない。これは、入力画像データＤＤにフィルタリングを実行して、第１の縮小画像である１／４縮小画像を生成する際、Ｌ０（２０）がフィルタの位相中心ではない画素であるためであり、１／４縮小面以降、位置的に対応する画素は存在しないわけである。
【００６８】
そのため、何らかの補間処理によって、当該画素に対応する縮小画像中の画素値Ｌ１（２０）’、Ｌ２（２０）’、Ｌ３（２０）’を推定するわけである。
ここでは、例として線形補間法を用いて、Ｌ１（２０）’、Ｌ２（２０）’、Ｌ３（２０）’を算出する場合を考える。
【００６９】
いま、各縮小画像生成時に位相中心となった画素の入力画像データＤＤにおける座標と、当該画素との距離を、図１５中に示す通り、ｄ１（２０）、ｄ２（２０）、ｄ３（２０）のように表現する。これらは、当該画素よりも左に存在し、かつ、最寄りの位相中心となる画素、との距離である。このとき、入力画像データＤＤで「２０」の番号を振られている画素Ｌ０（２０）に対応する各縮小画像中における合成画素値Ｌ１（２０）’、Ｌ２（２０）’、Ｌ３（２０）’は、
【数１】
2010028524.tif 000003
と表現される。
【００７０】
一般には、入力画像データＤＤ中の第Ｎ番目画素Ｌ０（Ｎ）に対応する、第Ｋ縮小画像（１／Ｒ縮小面）において位置的に対応する合成画素の画素値ＬＫ（Ｎ）’を、以下のように表現する。
【数２】
2010028524.tif 000004
ただし、＜Ｎ＞Ｋとは、入力画像データＤＤ中の当該画素である第Ｎ番目の画素よりも左に存在し、かつ、第Ｋ縮小画像においてＮに最寄りの位相中心となる画素、である。
【００７１】
この（数２）に示す通り、各縮小面に存在する２画素（位置的に当該画素に対応する最寄りの２画素）を用いた、２タップのフィルタリング処理によって、線形補間された画素値を算出できる。
なお、ここでは線形補間による合成画素値算出の方法を示したが、補間の方式は、スプライン補間など、より高次な計算法を用いて算出することも可能である。
【００７２】
次にベクトル変換処理部３５における処理を説明する。
各画素に水平および垂直方向のいずれか一方の動きぼけを選択的に付加する、上記＜具体例：条件１＞に準じたベクトル変換処理部３５では、既に入力されている動きベクトルＶＤを基に、動きを付加する方向が水平と垂直のいずれであるかを示す選択情報と、付加する動きぼけの方向に対する各合成画素値に乗ずる重みを示す重み情報、を生成する。
【００７３】
ここで、動きベクトルＶＤにおける、当該画素の位置的に対応する動きベクトルについて、水平方向、垂直方向の動きの大きさを（Ｖｘ，Ｖｙ）と表す。動きを付加する方向は、水平および垂直方向の動きの絶対値を比較し、それが大の方向にぼけを付加する方法を採用する。
｜Ｖｘ｜≧｜Ｖｙ｜のとき：水平方向のぼけ付加
｜Ｖｘ｜＜｜Ｖｙ｜のとき：垂直方向のぼけ付加
これを基に、動きぼけを付加する方向についての選択情報を、セレクタ３４へと出力する。この例の場合、セレクタ３４へ送る情報量は、１画素の動きぼけ付加に対して１ビットでよい。
【００７４】
ベクトル変換処理部３５のもうひとつの役割は、各合成画素値に乗ずる重みの情報を算出して、重み付け画素加算処理部３６へと出力することであるが、この重み付けの決定方法は、以下の、重み付け画素加算処理部３６の詳細な説明の中で例を示して明らかにする。
【００７５】
次に重み付け画素加算処理部３６における処理を説明する。
重み付け画素加算処理部３６には、入力画像データＤＤの当該画素Ｌ０（Ｎ）、およびセレクタ３４で選択された、水平・垂直方向のどちらか一方について、各縮小画像から生成された合成画素が各々入力される。
以下では、＜具体例：条件１＞の水平・垂直方向用に３層の縮小画像が生成されている場合であるとし、さらに付加する動きベクトル方向がセレクタ３４において、水平方向に決定されているものとする。
このとき、各水平縮小画像中の画素から生成された合成画素をＬ１（Ｎ）’、Ｌ２（Ｎ）’、Ｌ３（Ｎ）’と表現する。
【００７６】
ここで、同じくベクトル変換処理部３５から入力した重み情報を基に、下記（数３）に示す、これらの画素値の線形重み付け加算処理が行われ、出力画素値Ｌｏｕｔ（Ｎ）が算出される。
【数３】
2010028524.tif 000005
ここでｗ０〜ｗ３は、各画素値に乗ずる重みである。一般には、下記の（数４）のように表せる。
【数４】
2010028524.tif 000006
ただし、Ｍは当該方向に生成された縮小画像数であり、Ｌ０（Ｎ）＝Ｌ０（Ｎ）’であるものとする。
【００７７】
ベクトル変換処理部３５は、入力された動きベクトルＶＤから、復号画像データＤＤの各画素に対して、各縮小画像に対する重みｗｋを算出し、重み付け画素加算処理部３６へと提供しているわけである。
各画素値に与える重みを生成する手段であるが、＜具体例：条件１＞の場合を想定し、重みｗ０〜ｗ３を決定する方法の例を示す。
当該画素の位置的に対応する動きベクトル（Ｖｘ，Ｖｙ）のうち、絶対値が大である成分の絶対値をＶと記す。そして以下の重み決定ルールに基づいて、順に分け与えていく。
【００７８】
手順１：ｗ０＝１。
Ｖ≦１であればｗ１＝０，ｗ２＝０，ｗ３＝０とし、手順５へ。
手順２：Ｖ−ｗ０＞４−１であればｗ１＝３。
そうでない場合、ｗ１＝Ｖ−  ｗ０，ｗ２＝０，ｗ３＝０とし、手順５へ。
手順３：Ｖ−（ｗ０＋ｗ１）＞１６−４であればｗ２＝１２。
そうでない場合、ｗ２＝Ｖ−（ｗ０＋ｗ１），ｗ３＝０とし、手順５へ。
手順４：ｗ３＝Ｖ−（ｗ０＋  ｗ１＋ｗ２）。
手順５：ｗ０〜ｗ３の各値をＶで除算して規格化。
【００７９】
以上は一例であり、その限りではない。特に、手順５にて除算が生じるため、ハードウェアでの実現の場合に処理コストが増大する。そのため、Ｖに対する各重みｗｋをテーブル化することで、処理コストの低減が可能である。
【００８０】
図１６は、重み情報テーブルの例である。
図中のテーブルの１列目は、選択された方向のベクトル絶対値を示しており、２〜５列目は、各縮小面から抽出した各画素に乗ずる重みの値を示している。
数値はあくまで一例であり、限定するものではないが、ベクトル絶対値が小さいほど、各縮小面の重みの値は、小さい階層（基底面や第１縮小面）の重みの値を大とし、逆にベクトル絶対値が大きいほど、大きい階層（第３縮小面や第２縮小面）の重みの値を大とすべきである。
【００８１】
以下では、動きぼけレンダリング処理部３の、より一般的な構成例や他の構成例を示していく。
図１７は、上記＜具体例：条件１＞における動きぼけレンダリング処理部３の処理ブロックであった図１７を一般化し、水平・垂直方向の各縮小画像を３層ずつに限定しない構成例である。
即ち合成画素算出処理部３１は、合成画素算出処理部３１−１〜３１−ＭｘによるＭｘ階層に対応する構成とされる。
また合成画素算出処理部３２は、合成画素算出処理部３２−１〜３２−ＭｙによるＭｙ階層に対応する構成とされる。
このように図１７では、水平方向に縮小面をＭｘ層、垂直方向に縮小面をＭｙ層、各々生成している点のみが図１４と異なる。
【００８２】
以降、図１７に示す処理ブロックを、想定される条件に沿って、変更した処理ブロック例を示していく。
図１８は、図１７の処理ブロックを変更した例である。
図１７の処理ブロックでは、処理の順として、重み付け画素加算処理部３６に用いる画素を水平・垂直のうちから選択してから、重み付け画素加算を実行する方法であったが、重み付け画素加算処理を水平・垂直の各々に実行してから方向の選択を行う方法も考えられる。図１８はその場合の処理を実行するためのものである。
【００８３】
即ち、重み付け画素加算処理部３６Ａで、水平方向についての合成画素算出処理部３１（３１−１〜３１−Ｍｙ）からの画素値と、入力画像データＤＤの画素値について重み付け画素加算を実行する。
また、重み付け画素加算処理部３６Ｂで、垂直方向についての合成画素算出処理部３２（３２−１〜３２−Ｍｙ）からの画素値と、入力画像データＤＤの画素値について重み付け画素加算を実行する。
重み付け画素加算処理部３６Ａ、３６Ｂにはベクトル変換処理部３５から重み情報が供給される。
【００８４】
そして重み付け画素加算処理部３６Ａ、３６Ｂの処理結果がセレクタ３４に供給される。セレクタ３４はベクトル変換処理部３５から供給される選択情報に基づいて、一方を選択し、出力する。
【００８５】
次に図１９は、図１８の処理ブロックを変更した例である。
上記図１７、図１８に示す処理ブロック、および、これまでの説明で述べてきた処理においては、画素毎に水平または垂直のいずれか一方の方向を選択して動きぼけを付加する、方法であった。それに対し、図１９に示す処理ブロックにおいては、水平と垂直の縮小画像の双方からの重み付け画素加算後の処理結果を、動きぼけを付加する方向に応じて、さらに合成した画素値を算出して出力する方式である。
即ち、重み付け画素加算処理部３６Ｃ、３６Ｄは、水平及び垂直の方向別に生成された各縮小画像について、それぞれ第１の重み付け加算を行う。また重み付け画素加算処理部３６Ｅは、重み付け画素加算処理部３６Ｃ、３６Ｄの各第１の重み付け加算の結果の画素について、動きベクトルに基づき、第２の重み付け加算を行う。
【００８６】
具体的には、重み付け画素加算処理部３６Ｃは、水平方向についての合成画素算出処理部３１（３１−１〜３１−Ｍｙ）からの画素値と、入力画像データＤＤの画素値についてＭｘタップの重み付け画素加算を実行する。ベクトル変換処理部３５からは水平方向用の重み情報が供給されている。
また、重み付け画素加算処理部３６Ｄは、垂直方向についての合成画素算出処理部３２（３２−１〜３２−Ｍｙ）からの画素値と、入力画像データＤＤの画素値についてＭｙタップの重み付け画素加算を実行する。ベクトル変換処理部３５からは垂直方向用の重み情報が供給されている。
さらに重み付け画素加算処理部３６Ｅにおいては、重み付け画素加算処理部３６Ｃ、３６Ｄの出力について２タップの重み付け画素加算を実行し、これを出力とする。重み付け画素加算処理部３６Ｅには、ベクトル変換処理部３５からは、動きベクトルの方向に基づいた方向合成用の重み情報が供給されている。
【００８７】
この例の場合、ベクトル変換処理部３５における処理に変更が必要となるため、その方法について例を示す。
入力した動きベクトルＶＤにおける当該画素の対応ベクトル（Ｖｘ，Ｖｙ）とすると、水平方向ベクトルの絶対値｜Ｖｘ｜に対し、前記の重み決定ルールを適用することで、各水平方向縮小画像からの合成画素に乗ずる、水平方向用重み情報ｗｘｋを算出する。
垂直方向ベクトルの絶対値｜Ｖｙ｜からも同様に、垂直方向用重み情報ｗｙｋを算出する。
さらに、ベクトル変換処理部３５では、各重み付け画素加算後の画素を合成するために必要な、方向合成用重み情報ｗｄを生成する必要がある。
このｗｄの算出方法の例としては、例えば、各方向のベクトル絶対値の大きさに準じた画素合成方法をとる場合、ｗｄ＝｜Ｖｘ｜／（｜Ｖｘ｜＋｜Ｖｙ｜）として算出する。
【００８８】
この場合、水平・垂直方向重み付け画素加算後の画素に行う、２タップの重み付け画素加算処理による出力画素の合成は、以下の（数５）にて行えばよい。
【数５】
2010028524.tif 000007
Ｌｘ（Ｎ）、Ｌｙ（Ｎ）は、水平・垂直方向重み付け画素加算後の各画素値である。
【００８９】
次に図２０は、図１７の処理ブロックを変更した例である。
縮小画像の生成方向として、水平・垂直方向の他に、斜め方向も含めて拡張し、縮小画像を生成する場合を示している。
【００９０】
合成画素算出処理部３１（３１−１〜３１−Ｍｘ）には、入力画像データＤＤから処理対象の当該画素が入力されるのとタイミングを合わせて、Ｍｘ層の水平縮小画像から各々に画素が入力され、合成画素値の算出処理が行われる。
また合成画素算出処理部３２（３２−１〜３２−Ｍｙ）には、入力画像データＤＤから処理対象の当該画素が入力されるのとタイミングを合わせて、Ｍｙ層の垂直縮小画像から各々に画素が入力され、合成画素値の算出処理が行われる。
合成画素算出処理部３７（３７−１〜３７−Ｍｘｙ）には、入力画像データＤＤから処理対象の当該画素が入力されるのとタイミングを合わせて、Ｍｘｙ層の斜め４５°方向縮小画像から各々に画素が入力され、合成画素値の算出処理が行われる。
合成画素算出処理部３８（３８−１〜３８−Ｍｙｘ）には、入力画像データＤＤから処理対象の当該画素が入力されるのとタイミングを合わせて、Ｍｙｘ層の垂直縮小画像から各々に画素が入力され、合成画素値の算出処理が行われる。
【００９１】
これら合成画素算出処理部３１、３２，３３，３４で算出された各縮小画像に対する合成画素は、セレクタ３４へと入力される。そしてセレクタ３４は、ベクトル変換処理部３５からの選択情報に基づいて、４つの方向のうちの特定の方向の合成画素値を選択し、重み付け画素加算処理部３６に出力する。
この例の場合、ベクトル変換処理部３５がセレクタ３４へ送る選択情報は、１フレームの動きぼけ付加に対して２ビットとする。
【００９２】
この図２０に示す処理ブロックをさらに、図１８に示すような、各方向の重み付け画素加算後に処理結果を選択して出力する方式や、図１９に示すような、各方向の重み付け画素加算後の処理結果をさらに合成して出力する方式に変形することも可能である。
【００９３】
［１−４：まとめ］
以上、第１の実施の形態の画像処理装置１について説明してきたが、この実施の形態によれば、人間の視覚特性上、より自然にジャーキネス劣化が低減された動画像を出力することができる。
そして動きぼけ付加処理は、主に空間的なフィルタリング処理によって実現され、中間フレームを生成することがないため、処理過程で画像データを記憶するためのメモリを少なくすることができる。
さらに、空間フィルタ処理は、階層的なフィルタリングを実行した結果得られる、各階層の画素値を重み付け加算して出力する。そのため、各階層において行うフィルタは、少ないタップ数で実現可能である。また、そのフィルタのタップ数は、付加する動きぼけの量に依存せず、固定タップ数で行うことが可能である。
このような再帰的な処理による実現は、特にハードウェアによる処理実装に適している。当然に、ソフトウェア、また組合せによる実現も可能である。
【００９４】
［２．第２の実施の形態］
第２の実施の形態としての画像処理装置１００について説明する。
図２１は、画像処理装置１００の構成例を示している。
画像処理装置１００は、動きベクトル生成処理部４０と、動きベクトルマスク処理部５０と、最適シャッタ速度算出／判別部６０と、動きベクトル補正部７０と、縮小画像生成処理部８０と、動きぼけレンダリング処理部９０とから構成されている。
【００９５】
動きベクトル生成処理部４０は、入力画像データＤＤの各処理対象フレームについて例えば画素ブロック単位での動きベクトルを生成する。
動きベクトルマスク処理部５０は、動きぼけを付加する画像領域を特定する動きベクトルマスク情報を生成する。
最適シャッタ速度算出／判別部６０は、実際に動画像が撮像されたときのシャッタ速度情報に応じて、当該領域の動きベクトルに応じて適したシャッタ速度（以下、最適シャッタ速度情報という）を算出する。
動きベクトル補正部７０は、最適シャッタ速度情報に応じて、動きベクトルを補正する。
縮小画像生成処理部８０は、フィルタリング処理などにより処理対象フレーム中から選択された画素に動きぼけを付加し、その結果得られた画素から構成される１つ以上の縮小面を生成する。
動きぼけレンダリング処理部９０は、動きベクトル補正部７０において補正された動きベクトルを基に、処理対象フレーム中の対応画素および縮小画像生成処理部８０において生成された縮小面中の対応画素から、出力画像を構成する各画素の画素値を算出し出力する。
【００９６】
まず動きベクトル生成処理部４０の構成と動作について説明する。
動きベクトル生成処理部４０は、上述したように画素ブロック単位で動きベクトルを精度良く生成する部位である。具体的には図２２に示すように、動きベクトル検出部１４１、画素ブロック特定処理部１４２、動きベクトル推定処理部１４３、動きベクトル平滑化処理部１４４、及び遅延部１４１ａ，１４２ａを有する。
【００９７】
動きベクトル検出部１４１は、処理対象フレームと直前フレームとから動きベクトルを検出する。
画素ブロック特定処理部１４２は、処理対象フレームの動きベクトルと直前フレームの動きベクトルとを画素ブロック毎に比較して、相関の高い画素ブロックを特定する。
動きベクトル推定処理部１４３は、画素ブロック特定処理部１４２により特定された画素ブロックの動きベクトルから、それ以外の画素ブロックの動きベクトルを推定する。
動きベクトル平滑化処理部１４４は、動きベクトルに対して平滑化処理を施す。
【００９８】
入力された入力画像データＤＤは、動きベクトル検出部１４１と、入力画像データＤＤを１フレーム分遅延させる遅延部１４１ａに供給される。
動きベクトル検出部１４１は、入力された入力画像データＤＤを処理対象フレームとする。そして当該処理対象フレームと、遅延部１４１ａにより１フレーム分遅延された直前フレームとから、処理対象フレームの動きベクトルを、画素ブロック単位で検出する。
なお、動きベクトル検出部１４１に係る処理をソフトウェアによって実装する場合には、一般的なブロックマッチング法を用いて画素ブロック単位で動きベクトルを検出すればよい。
【００９９】
動きベクトル検出部１４１で検出された動きベクトルは、画素ブロック特定処理部１４２と遅延部１４２ａに供給される。遅延部１４２ａは入力された動きベクトルを１フレーム分遅延させる。
画素ブロック特定処理部１４２は、動きベクトル検出部１４１から供給される処理対象フレームの動きベクトルと、遅延部１４２ａにより遅延された直前フレームの動きベクトルとを、次に示すように画素ブロック単位で比較して、この比較結果から相関の高い画素ブロックを特定する。
【０１００】
具体的に、画素ブロック特定処理部１４２は、処理対象フレームの一の画素ブロックの動きベクトルを（ｘ，ｙ）とし、これに対応する直前フレームの画素ブロックの動きベクトルを（ｘ’，ｙ’）とし、任意に決定される相関判定係数をαとして、次の（数６）により、この画素ブロックのベクトル相関係数σを算出する。
【数６】
2010028524.tif 000008
なお、相関判定係数αは、その定義域を０＜α＜１とし、αの値が大きいほど、ベクトル相関係数σの値が１として算出される係数である。
【０１０１】
画素ブロック特定処理部１４２は、上述した（数６）から各画素ブロックのベクトル相関係数σを算出して、ベクトル相関係数σが１である画素ブロックを相関の高い動きベクトルを有するものとして特定する。
【０１０２】
動きベクトル推定処理部１４３は、画素ブロック特定処理部１４２でベクトル相関係数σの値が１として特定された画素ブロックの動きベクトルから、このベクトル相関係数σの値が０である画素ブロックの動きベクトルを推定する。
すなわち、動きベクトル推定処理部１４３は、前段の画素ブロック特定処理部１４２で、ベクトル相関係数σの値が１とされた画素ブロックが有効な動きベクトルを有しているものとして、それ以外の画素ブロック、すなわち、ベクトル相関係数σの値が０とされ有効ではない動きベクトルを有している画素ブロックの動きベクトルを更新する。
【０１０３】
具体的な動きベクトル推定処理部１４３の処理工程を図２３で説明する。
ステップＳ１において、動きベクトル推定処理部１４３は、処理対象フレームにおける現在の処理対象の画素ブロック（以下、注目画素ブロックという）のベクトル相関係数σが１か０であるかを判断する。すなわち、動きベクトル推定処理部１４３は、この画素ブロックの動きベクトルが有効であるか否かを判断する。そして、動きベクトル推定処理部１４３は、この画素ブロックの動きベクトルが有効であるとき動きベクトルの値を更新せずに本処理工程を終了し、この画素ブロックの動きベクトルが有効でないときステップＳ２に進む。
【０１０４】
ステップＳ２において、動きベクトル推定処理部１４３は、注目画素ブロックに対して、その注目画素ブロックの周辺に有効なベクトルを有する周辺画素ブロックが存在するか否かを判断する。具体的には、動きベクトル推定処理部１４３は、周辺画素ブロックとして、この注目画素ブロックに隣接する合計８つの画素ブロックに対して有効な動きベクトルが存在するか否かを判断し、有効な動きベクトルが存在するとき、ステップＳ３に進む。一方、有効な動きベクトルが存在しないとき、この注目画素ブロックの動きベクトルを更新せずに本処理工程を終了する。
【０１０５】
ここで、有効な動きベクトルが存在しない注目画素ブロックに対して、より広範囲に位置する周辺画素ブロックを用いて推定処理を行わない理由は、次の通りである。
第１の理由としては、より広範囲に位置する画素ブロックを用いて推定処理を行うことは可能であるが、仮に実現したとしても、固定時間処理で本処理工程を終了するためには、周辺画素ブロックとして扱われる画像データを一時的に記憶するための記憶領域が増大してしまうからである。
第２の理由としては、本処理工程の後段で、上述した隣接する合計８つの画素ブロックよりも広範囲の周辺画素ブロックを用いて注目画素ブロックの動きベクトルに対して平滑化処理を施すことにより、有効ではない動きベクトルを適切に補正することができるからである。
【０１０６】
ステップＳ３において、動きベクトル推定処理部１４３は、有効な動きベクトルを有する周辺画素ブロックの動きベクトルのみから、この注目画素ブロックの動きベクトルを推定して更新して、本処理を終了する。
動きベクトル推定処理部１４３では、推定処理の一例として、有効な動きベクトルを有する周辺画素ブロックの動きベクトルのみを入力としたメディアンフィルタにより注目画素ブロックの動きベクトルを出力して平滑化する。
動きベクトル推定処理部１４３は、以上のようにして、処理対象フレームの動きベクトルを画素ブロック単位で推定する。そして、動きベクトル推定処理部１４３は、画素ブロック特定処理部１４２で特定された動きベクトルを含めた動きベクトルを、動きベクトル平滑化処理部１４４に供給する。
【０１０７】
動きベクトル平滑化処理部１４４は、処理対象画像を構成する各画素ブロックの動きベクトルに対して平滑化処理を施す。具体的に、動きベクトル平滑化処理部１４４は、平滑化処理前の注目画素ブロックの動きベクトルと上述した隣接画素ブロックよりも広範囲の周辺画素ブロックの動きベクトルとを入力Ｉ（ｘ＋ｉ，ｙ＋ｊ）として、下記に示す（数７）に示すようなガウス型関数により、平滑化処理後の注目画素ブロックの動きベクトルＪ（ｘ，ｙ）を出力する。
【数７】
2010028524.tif 000009
ここで、ｒは注目画素ブロックと各周辺画素ブロックとの２次元空間上の距離を示し、σ2はこの距離ｒについての分散を示し、ｔ2は動きベクトルについての分散を示している。すなわち、σ2及びｔ2は、平滑化の度合いを表す値として任意に設定されるパラメータとなっている。
【０１０８】
動きベクトル平滑化処理部１４４は、処理対象フレームを構成する各画素ブロックに対して上述した平滑化処理を施して、動きベクトルＶＤを動きベクトルマスク処理部５０に供給する。
【０１０９】
このように、動きベクトル平滑化処理部１４４は、処理対象フレームを構成する各画素ブロックから、有効な動きベクトルを有する画素ブロックを特定し、この有効な動きベクトルからそれ以外の動きベクトルを推定する。このため精度良く実際の動体の動きに応じた動きベクトルを生成することができる。
なお、動きベクトル生成処理部４０では、動きベクトル検出部１４１により検出した動きベクトルを、画素ブロック特定処理部１４２及び動きベクトル推定処理部１４３を介さずに、直接動きベクトル平滑化処理部１４４に供給して平滑化処理を施してもよい。このような処理を行った場合にも、上述した符号化情報として動きベクトルに比べて、実際の動体の動きに応じた精度の良い動きベクトルを生成することができる。
【０１１０】
次に動きベクトルマスク処理部５０の動作について説明する。
動きベクトルマスク処理部５０は、処理対象フレームのうち、動きぼけを付加する画像領域を特定するため、動きベクトル生成処理部４０から供給される画素ブロック単位の動きベクトルＶＤに対して、図２４に示すようなマスク処理を施す。そしてマスク処理後の画素ブロック単位の動きベクトルを最適シャッタ速度算出／判別部６０及び動きベクトル補正部７０に供給する。
【０１１１】
ここで、動きぼけを付加する必要がある、ジャーキネス劣化が発生しやすい画像領域は、特に画面内の動体画像領域（フレーム内において動体となる画像領域）及びエッジ周辺の画像領域に集中する。
よって、動きベクトルマスク処理部５０では、図２４に示す処理により、ジャーキネスが発生しやすい、空間コントラストの高いエッジ周辺の画素ブロックの動きベクトルだけ有効な値として出力する。
すなわち、ステップＳ１１において、動きベクトルマスク処理部５０は、入力画像データＤＤに対し、画素ブロック単位で、処理対象フレーム内の空間コントラストの高い領域を特定するための処理として画像のエッジを検出する。
また、ステップＳ１１の処理と並列して、ステップＳ１２において、動きベクトルマスク処理部５０は、処理対象フレーム内の動体領域を特定するための処理として、フレーム間での差分を画素ブロック単位で算出することによって動体画像領域を検出する。
【０１１２】
ステップＳ１３において、動きベクトルマスク処理部５０は、上述したステップＳ１１及びステップＳ１２の何れか一方又は両方に係る処理で、ジャーキネス劣化が発生しやすい領域として検出されたか否かを、画素ブロック単位で判断する。
そして、ジャーキネス劣化が発生しやすい領域と判断した画素ブロックに対して、動きベクトルマスク処理部５０は、マスク処理用のフラグを「１」に設定する。また、ジャーキネスが発生しやすい領域と判断されなかった画素ブロックに対して、マスク処理用のフラグを「０」に設定する。
【０１１３】
ステップＳ１４において、動きベクトルマスク処理部５０は、動きベクトル生成処理部４０から供給される動きベクトルＶＤに対して、上述したフラグが「１」に設定されている画素ブロックの動きベクトルＶＤであるか否かを判断する。
動きベクトルマスク処理部５０は、フラグが「１」に設定されている画素ブロックの動きベクトルに対しては、その値を変えずに、後段の最適シャッタ速度算出／判別部６０及び動きベクトル補正部７０に出力する（Ｓ１６）。
また、動きベクトルマスク処理部５０は、フラグが「０」に設定されている画素ブロックの動きベクトルに対しては、ステップＳ１５において、動きベクトルの値を０又は無効にするマスク処理を施して、後段の最適シャッタ速度算出／判別部６０及び動きベクトル補正部７０に出力する。
【０１１４】
次に最適シャッタ速度算出／判別部６０、及び動きベクトル補正部７０に係る処理工程について図２５を用いて説明する。
ステップＳ３１として、最適シャッタ速度算出／判別部６０は、例えば図２６に示すような評価指標に基づいて処理対象フレームの各画素ブロックの動きベクトルに応じた最適シャッタ速度を算出する。
ここで、図２６は、動きベクトルとして検出される動体の移動速度を示す被写体速度と、この被写体速度に応じた最適シャッタ速度曲線を表した図である。また、最適シャッタ速度とは、被写体の移動速度に応じた、視覚特性上、ジャーキネス劣化が知覚されにくく、且つ、動きぼけが過度に付加されることによって被写体のディテールが欠損したり不鮮明になるぼけ劣化も知覚されにくいシャッタ速度である。
すなわち、この最適シャッタ速度よりも速いシャッタ速度で被写体を撮像すると、撮像画像には、ジャーキネス劣化が生じていると判断できる。一方、この最適シャッタ速度よりも遅いシャッタ速度で被写体を撮像すると、撮像画像には、ぼけ劣化が生じていると判断することができる。
【０１１５】
そこで、最適シャッタ速度算出／判別部６０は、各画素ブロックの動きベクトルを図２６中の被写体速度に対応させることにより、各画素の動きベクトルに応じた最適シャッタ速度を算出する。
なお、図２６の実線で示されている最適シャッタ速度曲線ＳＳ０は、任意の被写体速度と最適なシャッタ速度との対応関係を示した一例であって、具体的には心理実験に基づいて得られた実験結果値を結んだ曲線である。
ここで、図２６に示す動きぼけ領域Ａ１は、最適シャッタ速度曲線ＳＳ０に基づいて、被写体の動きによる動きぼけが過度に含まれると判別される領域である。同様にして、ジャーキネス領域Ａ２は、最適シャッタ速度曲線ＳＳ０に基づいて、被写体の動きによる動きぼけが含まれず、視覚特性上ジャーキネス劣化が生じていると判別される領域である。
【０１１６】
この実線で示されている最適シャッタ速度曲線ＳＳ０を直接用いて、動きベクトルに応じた最適シャッタ速度を求める場合には、任意の刻み幅で動きベクトルに応じた最適シャッタ速度情報をテーブルとして記憶媒体に予め記憶して、この記録媒体を参照すればよい。
【０１１７】
また、本実施の形態では、この実線で示された最適シャッタ速度曲線に近似する関数を用いることにより、動きベクトルに応じた最適シャッタ速度を算出するようにしてもよい。この場合、最適シャッタ速度算出／判別部６０は、ある画素ブロックでの動きベクトルをｖとして、下記の（数８）に示す最適シャッタ速度曲線の近似関数により最適シャッタ速度ＳＳＤ’を算出する。
【数８】
2010028524.tif 000010
なお（数８）における各パラメータＡ、Ｂ、γは、図２６中に示す最適シャッタ速度曲線の曲線形状に応じて適当な値を選択して用いるようにすればよい。シャッタ速度曲線の具体例として、図２６では、（数８）中の各パラメータのうち、Ａ、Ｂの値を固定にして、γを３段階に変化させたときの曲線形状ＳＳ１〜ＳＳ３を示している。
【０１１８】
動きベクトルに応じた最適シャッタ速度ＳＳＤ’が算出されると、ステップＳ３２において、最適シャッタ速度算出／判別部６０は、この最適シャッタ速度ＳＳＤ’と、入力画像データＤＤが実際に撮像された際のシャッタ速度ＳＳＤとを比較して、画素ブロック単位で図２６に示すジャーキネス領域Ａ２に該当しているか否かを判別する。
【０１１９】
この判別結果から、現在の処理対象の画素ブロックにおいて、シャッタ速度ＳＳＤが最適シャッタ速度ＳＳＤ’よりも速く、ジャーキネス領域Ａ２に該当しているとき、動きベクトル補正部７０は、ステップＳ３３の処理を行う。また、現在の処理対象の画素ブロックにおいて、シャッタ速度ＳＳＤが最適シャッタ速度ＳＳＤ’よりも遅くジャーキネス領域Ａ２に該当してないとき、動きベクトル補正部７０は、ステップＳ３４の処理を行う。
【０１２０】
ステップＳ３３において、動きベクトル補正部７０は、処理対象の画素ブロックにおいてジャーキネス劣化が生じているので、例えば、シャッタ速度ＳＳＤが速くなるのに伴って増加して値が１に収束する関数ｆｓ（ＳＳＤ）を動きベクトルの値に乗じる処理を行う。
なお、動きベクトル補正部７０は、関数ｆｓ（ＳＳＤ）に代えて、動きベクトルＶＤを変数としたｆｓ（ＶＤ）又は、シャッタ速度ＳＳＤと動きベクトルＶＤとを２変数としたｆｓ（ＳＳＤ，ＶＤ）を用いて乗算処理を行うようにしてもよい。
【０１２１】
ステップＳ３４において、動きベクトル補正部７０は、処理対象の画素ブロックにおいてジャーキネス劣化が生じていないので、例えばこの動きベクトルの値に０を乗じて無効にするマスク処理を施す。
【０１２２】
このようにして、最適シャッタ速度算出／判別部６０は、処理対象となっている動画像が実際に撮像された時のシャッタ速度ＳＳＤを考慮して、ジャーキネス劣化が生じているか否かを判別する。そして、動きベクトル補正部７０は、ジャーキネス劣化が生じていると判別された画素ブロックの動きベクトルに対して、適切な動きぼけを付加するための補正処理を施す。
そして動きベクトル補正部７０は、補正結果としての動きベクトルＶＤを、動きぼけレンダリング処理部９０に出力する。
【０１２３】
縮小画像生成処理部８０、および動きぼけレンダリング処理部９０の具体的な構成及び処理については、第１の実施の形態で説明した縮小画像生成処理部２、および動きぼけレンダリング処理部３と同様である。
つまり、縮小画像生成処理部８０は、入力画像データＤＤの処理対象フレームから１つ以上の解像度の異なる縮小画像を生成する。動きぼけレンダリング処理部９０は、入力画像データＤＤの処理対象フレームの注目画素に位置的に対応する画素を、縮小画像生成処理部８０で形成された縮小画像から抽出する。そして動きベクトル補正部７０から供給される、処理対象フレームに関する動き情報ＶＤを基に、上記注目画素および上記縮小画像から抽出した１つ以上の抽出画素について、重み付け加算処理を行って、処理対象フレームに動きぼけを付加する処理を行う。
【０１２４】
このような第２の実施の形態も、第１の実施の形態と同様、視覚特性上、より自然な動画像となるように動きぼけ付加処理を行うことができる。
また動きベクトルＶＤも安定して生成され、より適切な動きぼけレンダリング処理を実現させることになる。
【０１２５】
なお本実施の形態では、画像データで示される画像の動きぼけの度合いを変化させる撮像条件を示す撮像情報の一例として、シャッタ速度情報を挙げて説明したが、次に示すような撮像条件を示す撮像情報を用いて動きベクトルを補正するようにしてもよい。
【０１２６】
すなわち、撮像素子に入射させる光量を制限して露光量を制御する絞り機構を有する撮像装置によって画像データが撮像されている場合、動きベクトル補正部７０では、撮像情報として、画像データを撮像した時の絞り値Ｆを示す絞り値情報に基づいて、動きベクトルＶＤを補正するようにしてもよい。具体的に、絞り値Ｆが大きく被写界深度が深い撮像条件で撮像された画像データで示される画像は、空間コントラストが高い画像領域がより増えるので、ジャーキネス劣化が目立ちやすいという特徴がある。
したがって、動きベクトル補正部７０では、絞り値Ｆが大きくなるのに伴って増加して値が１に収束する関数を動きベクトルＶＤの値に乗じる補正処理をすればよい。
【０１２７】
また、ジャイロスコープによって検出される角速度に応じて撮像画像のぶれを補正するぶれ補正機構を有する撮像装置によって画像データが撮像されている場合、動きベクトル補正部７０では、撮像情報として、この画像データを撮像した時のジャイロスコープによって検出される角速度を示す角速度情報に基づいて、動きベクトルを補正するようにしてもよい。
ジャイロスコープによって検出される角速度が大きい撮像条件で撮像された画像データで示される画像は、画面内の動きが大きく、ジャーキネス劣化が目立ちやすいという特徴がある。したがって、動きベクトル補正部７０では、ジャイロスコープによって検出される角速度が大きくなるのに伴って増加して値が１に収束する関数を動きベクトルの値に乗じる補正処理をすればよい。
【０１２８】
また、被写体を拡大するズーム機能を有する撮像装置によって画像データが撮像されている場合、動きベクトル補正部７０では、撮像情報として、この画像データを撮像した時の撮像装置に設けられているズーム機能の拡大率を示すズーム情報に基づいて、動きベクトルを補正するようにしてもよい。
拡大率が大きい撮像条件で撮像された画像データで示される画像は、画面内の動きが大きく、ジャーキネス劣化が目立ちやすいという特徴がある。したがって、動きベクトル補正部７０では、拡大率が大きくなるのに伴って増加して値が１に収束する関数を動きベクトルの値に乗じる補正処理をすればよい。
【０１２９】
なお、動きベクトル補正部７０では、上述したシャッタ速度情報、絞り値情報、角速度情報、及びズーム情報を組み合わせて用いて動きベクトルを補正するようにしてもよい。
また、撮像情報は、上述したシャッタ速度情報、絞り値情報、角速度情報、及びズーム情報に限定されるものではなく、画像データで示される画像の動きぼけの度合いを変化させる撮像条件を示す情報であれば、他の情報を用いて動きベクトルの補正処理をしてもよい。
【０１３０】
以上、本発明の第１，第２の実施の形態を説明してきたが、本発明の画像処理装置、画像処理方法は、上記各例に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変更が可能であることは勿論である。
また上記各例の画像処理装置１，１００の構成は、複数の処理部の論理的集合構成であり、各構成として示した処理部が同一筐体内にあるものには限らない。
【０１３１】
［３．プログラム］
以上の実施の形態は、画像処理装置１，１００として説明したが、これらの画像処理装置は画像処理を行う各種機器に適用できる。例えば画像再生装置、撮像装置、通信装置、画像記録装置、ゲーム機器、ビデオ編集機、などが想定される。
【０１３２】
さらに、汎用のパーソナルコンピュータその他の情報処理装置において、動画像再生や記録等を行う際に、画像処理装置１，１００としての動作を実行することも当然想定される。
即ち、上述した画像処理装置１，１００を構成する各処理部は、例えばＦＰＧＡ等によって設計されるハードウェアによって実現されることもできるが、各処理部によって実現される画像処理をコンピュータ等の情報処理機器に実行させるようにしても良い。
例えば上述の縮小画像生成処理部２（８０）、動きぼけレンダリング処理部３（９０）の動作を演算処理装置に実行させるプログラムを画像処理アプリケーションソフトウエアとして提供することで、パーソナルコンピュータ等において、適切な画像処理を実現できる。
【０１３３】
即ち当該プログラムは以下の各ステップを演算処理装置（ＣＰＵ等）に実行させる。
まず縮小画像生成処理部２（８０）の処理に相当する、入力された動画像データに対し、動画像を構成する各単位画像を処理対象画像とし、その処理対象画像から１つ以上の解像度の異なる縮小画像を生成する縮小画像生成ステップを演算処理装置に実行させる。
また動きぼけレンダリング処理部３（９０）の処理に相当する、処理対象画像の注目画素に位置的に対応する画素を上記縮小画像から抽出し、処理対象画像に関する動きを示す動き情報を基に、注目画素および縮小画像から抽出した１つ以上の抽出画素について、重み付け加算処理を行って、処理対象画像に動きぼけを付加する画素合成処理ステップを演算処理装置に実行させる。
【０１３４】
また当該プログラムはさらに、動きベクトル生成処理部４０の処理に相当する、入力された動画像データについて、該動画像データを構成する各単位画像を処理対象画像とし、処理対象画像毎の動きベクトルを生成する処理を演算処理装置に実行させてもよい。
また、動きベクトルマスク処理部５０の処理に相当する、動きぼけを付加する画像領域を特定する動きベクトルマスク情報を生成する処理を演算処理装置に実行させてもよい。
また、最適シャッタ速度算出／判定部６０の処理に相当する、動き情報に対応する最適な撮像シャッタ速度として、出力画像の画像劣化が低減される最適シャッタ速度情報を、処理対象画像中の各画素または分割領域ごとに取得する処理を演算処理装置に実行させてもよい。
また、動きベクトル補正部７０の処理に相当する、最適シャッタ速度情報等を用いて動き情報を補正する処理を演算処理装置に実行させてもよい。
【０１３５】
このようなプログラムにより、本発明をパーソナルコンピュータ、携帯電話機、ＰＤＡ（Personal Digital Assistant）、その他画像データを用いる多様な情報処理装置においても同様の画像処理を実行できるようにすることができる。
【０１３６】
なお、このようなプログラムは、パーソナルコンピュータ等の機器に内蔵されている記録媒体としてのＨＤＤや、ＣＰＵを有するマイクロコンピュータ内のＲＯＭやフラッシュメモリ等に予め記録しておくことができる。
あるいはまた、フレキシブルディスク、ＣＤ−ＲＯＭ(Compact Disc Read Only Memory)、ＭＯ(Magnet optical)ディスク、ＤＶＤ、ブルーレイディスク、磁気ディスク、半導体メモリ、メモリカードなどのリムーバブル記録媒体に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウェアとして提供することができる。
また、プログラムは、リムーバブル記録媒体からパーソナルコンピュータ等にインストールする他、ダウンロードサイトから、ＬＡＮ(Local Area Network)、インターネットなどのネットワークを介してダウンロードすることもできる。
【図面の簡単な説明】
【０１３７】
【図１】本発明の実施の形態の第１の実施の形態の画像処理装置のブロック図である。
【図２】実施の形態の縮小画像を用いた重み付け加算処理の説明図である。
【図３】実施の形態の縮小画の生成処理の説明図である。
【図４】実施の形態の水平方向縮小画像の生成処理の説明図である。
【図５】実施の形態の垂直方向縮小画像の生成処理の説明図である。
【図６】実施の形態の斜め４５°方向縮小画像の生成処理の説明図である。
【図７】実施の形態の斜め１３５°方向縮小画像の生成処理の説明図である。
【図８】実施の形態の縮小画像生成処理部の処理の説明図である。
【図９】実施の形態の縮小画像生成処理部の処理を一般化した説明図である。
【図１０】実施の形態の縮小画像生成処理部の４方向の縮小画生成処理の説明図である。
【図１１】実施の形態の縮小画像生成処理部のフィルタの説明図である。
【図１２】実施の形態の縮小画像生成処理の説明図である。
【図１３】実施の形態の動きぼけレンダリング処理部の処理の説明図である。
【図１４】実施の形態の動きぼけレンダリング処理部の構成のブロック図である。
【図１５】実施の形態の合成画素算出処理及び重み付け画素加算処理の説明図である。
【図１６】実施の形態の重み情報テーブルの説明図である。
【図１７】実施の形態の動きぼけレンダリング処理部の他の構成のブロック図である。
【図１８】実施の形態の動きぼけレンダリング処理部のさらに他の構成のブロック図である。
【図１９】実施の形態の動きぼけレンダリング処理部のさらに他の構成のブロック図である。
【図２０】実施の形態の動きぼけレンダリング処理部のさらに他の構成のブロック図である。
【図２１】第２の実施の形態の画像処理装置のブロック図である。
【図２２】第２の実施の形態の動きベクトル生成処理部のブロック図である。
【図２３】第２の実施の形態の動きベクトル生成処理部の処理の説明図である。
【図２４】第２の実施の形態の動きベクトルマスク処理部の処理の説明図である。
【図２５】第２の実施の形態の最適シャッタ速度算出／判定部及び動きベクトル補正部の処理の説明図である。
【図２６】実施の形態の最適シャッタ速度に関する説明図である。
【図２７】従来の動画像撮像装置と動画像再生装置のブロック図である。
【符号の説明】
【０１３８】
１  画像処理装置、２  縮小画像生成処理部、３  動きぼけレンダリング処理部、４０  動きベクトル生成処理部、５０  動きベクトルマスク処理部、６０  最適シャッタ速度算出／判定部、７０  動きベクトル補正部、８０  縮小画像生成処理部、９０  動きぼけレンダリング処理部、１００  画像処理装置
【図１】
2010028524.tif 000011
【図２】
2010028524.tif 000012
【図３】
2010028524.tif 000013
【図４】
2010028524.tif 000014
【図５】
2010028524.tif 000015
【図６】
2010028524.tif 000016
【図７】
2010028524.tif 000017
【図８】
2010028524.tif 000018
【図９】
2010028524.tif 000019
【図１０】
2010028524.tif 000020
【図１１】
2010028524.tif 000021
【図１２】
2010028524.tif 000022
【図１３】
2010028524.tif 000023
【図１４】
2010028524.tif 000024
【図１５】
2010028524.tif 000025
【図１６】
2010028524.tif 000026
【図１７】
2010028524.tif 000027
【図１８】
2010028524.tif 000028
【図１９】
2010028524.tif 000029
【図２０】
2010028524.tif 000030
【図２１】
2010028524.tif 000031
【図２２】
2010028524.tif 000032
【図２３】
2010028524.tif 000033
【図２４】
2010028524.tif 000034
【図２５】
2010028524.tif 000035
【図２６】
2010028524.tif 000036
【図２７】
2010028524.tif 000037