JP2012142829A - 画像処理装置および画像処理方法 - Google Patents

画像処理装置および画像処理方法 Download PDF

Info

Publication number
JP2012142829A
JP2012142829A JP2011000350A JP2011000350A JP2012142829A JP 2012142829 A JP2012142829 A JP 2012142829A JP 2011000350 A JP2011000350 A JP 2011000350A JP 2011000350 A JP2011000350 A JP 2011000350A JP 2012142829 A JP2012142829 A JP 2012142829A
Authority
JP
Japan
Prior art keywords
image
motion
motion vector
unit
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2011000350A
Other languages
English (en)
Inventor
Rei Numata
怜 沼田
Takashi Ogasawara
貴 小笠原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2011000350A priority Critical patent/JP2012142829A/ja
Priority to US13/312,085 priority patent/US8542298B2/en
Priority to CN2011104459022A priority patent/CN102595025A/zh
Publication of JP2012142829A publication Critical patent/JP2012142829A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • G06T5/73
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration by the use of more than one image, e.g. averaging, subtraction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/681Motion detection
    • H04N23/6811Motion detection based on the image signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/682Vibration or motion blur correction
    • H04N23/683Vibration or motion blur correction performed by a processor, e.g. controlling the readout of an image memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20172Image enhancement details
    • G06T2207/20201Motion blur correction

Abstract

【課題】グローバル動きベクトルを考慮した画像処理装置において、グローバル動きベクトルの信頼性の変動に関わらず安定したNR効果を得つつ、グローバル動きベクトルが急に変化する場合においても不自然なNR効果を生じないようにする。
【解決手段】撮像装置10は、自装置の動きを検出する検出部と、フレーム間における動きを示す第1の動きベクトルおよび第2の動きベクトルの各々から求められる第1の動き補償画像および第2の動き補償画像のブレンド率を、検出部により検出された自装置の動きに基づいて算出するブレンド率算出部と、第1の動き補償画像および第2の動き補償画像を、ブレンド率算出部により算出されたブレンド率に応じてブレンドすることにより動き補償画像を生成するブレンド部と、ブレンド部により生成された動き補償画像とターゲット画像とを加算する加算部とを備える。
【選択図】図1

Description

本発明は、画像処理装置および画像処理方法に関し、特に、画像に含まれるノイズを低減する画像処理装置および画像処理方法に関する。
画像の撮影において、連続して撮影された複数の画像(フレーム)を重ね合わせて、ノイズが低減された画像を得る技術が知られている。例えば、処理対象となる画像(ターゲット画像)に、ターゲット画像の前または後に連続して撮影され、動き検出および動き補償によって位置合わせされた複数の画像(参照画像)を重ね合わせた場合、略同一の画像が時間方向で積分されることになるため、各画像にランダムに含まれるノイズが相殺され、結果としてノイズが低減される。以下、このような方法によるノイズ低減(NR:Noise Reduction)を、フレームNRという。
従来、ターゲット画像内に設定されたターゲットブロックについてのローカル動きベクトルを検出し、当該検出したローカル動きベクトル用いて、2画像間の画像全体に加わっている変形を表わすグローバルモーションを算出することが行なわれている。グローバルモーションは、通常は、画像の静止画部分としての背景の動きおよび動き量を示すものとなる。
グローバルモーションを用いた技術としては、例えば、画像内における背景静止画部分と動被写体部分を分離し、グローバルモーションから生成したグローバル動きベクトルと一致したローカル動きベクトルを用いて動き補償画像(MC画像)を生成し、動き補償画像とターゲット画像とを重ね合わせる技術について開示されている(例えば、特許文献1参照)。この技術では、グローバル動きベクトルとローカル動きベクトルとを適用的に用いてMC画像を生成し、重ね合わせ処理を行うものである。
この技術では、例えば、ローカル動きベクトルの信頼性が高いときは、ローカル動きベクトルから求まるMC画像を使用することで、動被写体を考慮した重ね合わせ処理を行うことができる。また、ローカル動きベクトルの信頼性が低い場合、ローカル動きベクトルは使わず、グローバル動きベクトルから求まるMC画像を使用することで、動被写体の画像であるのかノイズであるのかに関して不確定なMC画像が生成されることを避け、安定した重ね合わせ処理を行うことができる。
特開2009−290827号公報
しかしながら、上記した技術を用いた場合には、複数の画像からグローバル動きベクトルを算出する場合、例えば、画像内に特徴点が少ない場合には、グローバル動きベクトルが一意に求まらないケースがあるという問題があった。また、例えば、画像内に複数の異なる動きがある場合には、グローバル動きベクトルが一意に求まらないケースがあるという問題があった。
また、一般的には、撮影シーンが切り替わったり、撮影範囲を拡大・縮小したときなどに、グローバル動きベクトルが急に変化したりする。グローバル動きベクトルを多く使用した画像とローカルベクトルを多く使用した画像との間では、見た目のノイズに差があるため、両画像の間において途中で切り替えが行われるとユーザが違和感を覚える可能性が高いという問題があった。特に、動画に対して画像処理を行う場合には、毎フレームの連続性が重視されるため、フレーム毎にNR強度が違う場合には、NR処理をしない場合よりも不自然な印象をユーザに対して与えることになる。
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、グローバル動きベクトルを考慮した画像処理装置において、グローバル動きベクトルの信頼性の変動に関わらず安定したNR効果を得つつ、グローバル動きベクトルが急に変化する場合においても不自然なNR効果を生じないようにすることが可能な、新規かつ改良された画像処理装置および画像処理方法を提供することにある。
上記課題を解決するために、本発明のある観点によれば、自装置の動きを検出する検出部と、フレーム間における動きを示す第1の動きベクトルおよび第2の動きベクトルの各々から求められる第1の動き補償画像および第2の動き補償画像のブレンド率を、上記検出部により検出された自装置の動きに基づいて算出するブレンド率算出部と、上記第1の動き補償画像および第2の動き補償画像を、上記ブレンド率算出部により算出された上記ブレンド率に応じてブレンドすることにより動き補償画像を生成するブレンド部と、上記ブレンド部により生成された上記動き補償画像と上記ターゲット画像とを加算する加算部と、を備える、画像処理装置が提供される。
上記第2の動き画像は、上記第1の動き補償画像を求めるために使用されたフレームに対して1フレーム以上遅延させたフレームをもとに求められた動き補償画像であることとしてもよい。
上記第1の動きベクトルは、上記フレーム内に設定されたブロック単位で算出されたベクトルであることとしてもよい。
上記第2の動きベクトルは、上記フレーム単位で算出されたベクトルであることとしてもよい。
上記検出部は、自装置の運動を検出することにより自装置の動きを検出することとしてもよい。
上記検出部は、自装置に対する固定部材の接続を検出することにより自装置の動きを検出することとしてもよい。
また、上記課題を解決するために、本発明の別の観点によれば、自装置の動きを検出するステップと、フレーム間における動きを示す第1の動きベクトルおよび第2の動きベクトルの各々から求められる第1の動き補償画像および第2の動き補償画像のブレンド率を、自装置の動きに基づいて算出するステップと、上記第1の動き補償画像および第2の動き補償画像を、上記ブレンド率に応じてブレンドすることにより動き補償画像を生成するステップと、上記動き補償画像と上記ターゲット画像とを加算する加算部と、を含む、画像処理方法が提供される。
以上説明したように本発明によれば、グローバル動きベクトルを考慮した画像処理装置において、グローバル動きベクトルの信頼性の変動に関わらず安定したNR効果を得つつ、グローバル動きベクトルが急に変化する場合においても不自然なNR効果を生じないようにすることができる。
本発明の実施形態に係る撮像装置の機能構成を示すブロック図である。 本発明の実施形態におけるブロックマッチングについての説明図である。 本発明の実施形態におけるフレームNR処理の概念図である。 本発明の実施形態における動きベクトル検出処理についての説明図である。 各種の動画フレームNRの実現手法についての説明図である。 本発明の実施形態に係る動画フレームNRの実現手法についての説明図である。 本発明の実施形態に係る撮像装置における動き補償部の機能構成を示すブロック図である。 本発明の実施形態に係る撮像装置において動き補償部に含まれるターゲットブロックバッファ部の機能構成を示すブロック図である。 本発明の実施形態に係る撮像装置において動き補償部に含まれる参照ブロックバッファ部の機能構成を示すブロック図である。 本発明の実施形態に係る撮像装置において動き補償部に含まれる動き補償画像生成部の機能構成を示すブロック図である。 本発明の実施形態に係る撮像装置における画像重ね合わせ部の機能構成を示すブロック図である。 本実施形態に係る撮像装置の使用時におけるブレンド率の変化の一例を示す図である。 本実施形態に係る撮像装置の使用時におけるブレンド率の変化の他の一例を示す図である。 本実施形態に係る撮像装置において、動画撮影時における画像の重ね合わせによるノイズ低減処理のフローチャートである。 本実施形態に係る撮像装置において実行される動き補償ブロック作成の処理の流れを示すフローチャートである。 本実施形態に係る撮像装置の使用時における動作モード毎のグローバル動きベクトルとGMCブレンド率とを示す図である。 本発明の実施形態におけるターゲット画像と動き補償画像との重ね合わせの一例を説明するための図である。
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
なお、説明は以下の順序で行うものとする。
1.実施形態
1−1.撮像装置の全体構成
1−2.フレームNR処理について
1−3.フレームNR処理の詳細
2.まとめ
<1.実施形態>
<1−1.撮像装置の全体構成>
まず、本発明の実施形態に係る撮像装置の構成について説明する。本発明の実施形態において、撮像装置は、画像処理装置の一例に相当するものである。
図1は、本発明の実施形態に係る撮像装置10の機能構成を示すブロック図である。撮像装置10は、静止画または動画を撮像してデジタル方式の画像データとして記録媒体に記録する機能を有する、例えばデジタルカメラなどの任意の電子機器でありうる。
図1を参照すると、撮像装置10は、制御部1、操作部3、メモリ4、ストレージ5、撮像光学系10L、タイミングジェネレータ12、撮像素子11、信号処理部13、RAW/YC変換部14、動き補償部16、画像重ね合わせ部17、静止画コーデック18、動画コーデック19、NTSCエンコーダ20、検出部7、およびディスプレイ6を含む。これらの各構成要素は、システムバス2を介して相互に接続される。
制御部1は、撮像装置10の各部の動作を制御する。制御部1は、メモリ4に格納されたプログラムに基づいて動作することによって、制御のために必要な各種の演算処理を実行するCPU(Central Processing Unit)でありうる。制御部1は、演算処理のための一時格納領域としてメモリ4を用いてもよい。なお、制御部1が動作するためのプログラムは、メモリ4に予め書き込まれたものであってもよく、ディスク状記録媒体またはメモリカードなどのリムーバブル記憶媒体に格納されて撮像装置10に提供されるものであってもよい。また、制御部1が動作するためのプログラムは、LAN(Local Area Network)、インターネット等のネットワークを介して撮像装置10にダウンロードされるものであってもよい。
操作部3は、撮像装置10を操作するためのユーザインターフェースとして機能する。操作部3は、例えば、撮像装置10の外装に設けられたシャッターボタンなどの操作ボタン、タッチパネル、またはリモートコントローラなどでありうる。操作部3は、ユーザの操作に基づいて、撮像装置10の起動および停止、静止画もしくは動画の撮影開始および終了、または撮像装置10の各種機能の設定などの操作信号を制御部1に出力しうる。
メモリ4には、撮像装置10の処理に関するデータが格納される。メモリ4は、例えば、フラッシュROM(Read Only Memory)またはDRAM(Dynamic Random Access Memory)などの半導体メモリでありうる。メモリ4には、例えば、制御部1が用いるプログラム、および画像処理機能によって処理される画像信号が、一時的または継続的に格納されうる。メモリ4に格納される画像信号は、例えば、後述する基底面および縮小面のターゲット画像、参照画像、およびNR画像でありうる。
ストレージ5には、撮像装置10によって撮影された画像が、画像データとして格納される。ストレージ5は、例えば、フラッシュROMなどの半導体メモリ、BD(Blu-ray Disc)、DVD(Digital Versatile Disc)、もしくはCD(Compact Disc)などの光ディスク、またはハードディスクなどでありうる。ストレージ5は、撮像装置10に内蔵される記憶装置であってもよく、メモリカードなどの撮像装置10に着脱可能なリムーバブルメディアであってもよい。
撮像光学系10Lは、フォーカスレンズ、ズームレンズ等の各種レンズ、光学フィルタ、および絞りなどの光学部品からなる。被写体から入射された光学像(被写体像)は、撮像光学系10Lにおける各光学部品を介して、撮像素子11の露光面に結像される。
タイミングジェネレータ12は、制御部1の指示に従って、垂直転送のための4相パルス、フィールドシフトパルス、水平転送のための2相パルス、シャッタパルスなどの各種パルスを生成して撮像素子11に供給する。
撮像素子(イメージセンサ)11は、例えば、CCD(Charge Coupled Device)またはCMOS(Complementary Metal Oxide Semiconductor)などの固体撮像素子で構成される。撮像素子11は、タイミングジェネレータ12からの動作パルスによって駆動され、撮像光学系10Lから導かれた被写体像を光電変換する。これによって、撮像画像を表す画像信号が、信号処理部13に出力される。ここで出力される画像信号は、タイミングジェネレータ12からの動作パルスに同期した信号であって、赤(R)、緑(G)、および青(B)の3原色から構成されるベイヤー配列のRAW信号(生の信号)である。
信号処理部13以降の各部の画像処理機能は、例えばDSP(Digital Signal Processor)を用いて実現されうる。信号処理部13は、撮像素子11から入力された画像信号に、ノイズ除去、ホワイトバランス調整、色補正、エッジ強調、ガンマ補正、解像度変換などの画像信号処理を実行する。信号処理部13は、デジタル画像信号をメモリ4に一時的に格納してもよい。RAW/YC変換部14は、信号処理部13から入力されたRAW信号をYC信号に変換して、動き補償部16に出力する。ここで、YC信号は、輝度成分(Y)、および赤/青の色差成分(Cr/Cb)を含む画像信号である。
動き補償部16は、ターゲット画像および参照画像の画像信号をメモリ4から読み込む。動き補償部16は、例えばブロックマッチングなどの処理によって、これらの画像の間の動きベクトル(ローカル動きベクトルLMV)を検出し、ターゲット画像と参照画像との間の動きを補償する。また、動き補償部16は、ターゲットブロックについての背景一致度合いの評価を行なって、ヒット率βを生成する。この実施形態では、動き補償部16からは、ターゲット画像と、動き補償画像と、ヒット率βとが画像重ね合わせ部17に出力される。
画像重ね合わせ部17は、ヒット率βに基づいて、ターゲット画像と動き補償画像とを重ね合わせ、重ね合わせた結果としてNR画像を生成する。NR画像では、上述したフレームNRの効果によって、画像に含まれるノイズが低減されている。なお、動き補償部16および画像重ね合わせ部17の詳細については後述する。
静止画コーデック18は、操作部3によって静止画撮影の指示が取得されている場合(静止画撮影時)に、NR処理後の画像信号をメモリ4から読み込み、例えばJPEG(Joint Photographic Experts Group)などの所定の圧縮符号化様式で圧縮して、画像データとしてストレージ5に格納する。また、静止画コーデック18は、操作部3によって静止画再生の指示が取得されている場合(静止画再生時)に、画像データをストレージ5から読み込み、JPEGなどの所定の圧縮符号化様式で伸張した画像信号をNTSCエンコーダ20に提供してもよい。
動画コーデック19は、操作部3によって動画撮影の指示が取得されている場合(動画撮影時)に、NR処理後の画像信号をメモリ4から読み込み、例えばMPEG(Moving Picture Experts Group)などの所定の圧縮符号化様式で圧縮して、画像データとしてストレージ5に格納する。また、動画コーデック19は、操作部3によって動画再生の指示が取得されている場合(動画再生時)に、画像データをストレージ5から読み込み、MPEGなど所定の圧縮符号化様式で伸張した画像信号をNTSCエンコーダ20に提供してもよい。
NTSC(National Television System Committee)エンコーダ121は、画像信号をNTSC方式の標準カラー映像信号に変換して、ディスプレイ6に提供する。静止画撮影時または動画撮影時において、NTSCエンコーダ20は、NR処理後の画像信号をメモリ4から読み込み、スルー画像または撮影された画像としてディスプレイ6に提供してもよい。また、静止画再生時または動画再生時において、NTSCエンコーダ20は、静止画コーデック18または動画コーデック19から画像信号を取得し、再生画像としてディスプレイ6に提供してもよい。
ディスプレイ6は、NTSCエンコーダ20から取得した映像信号を表示する。ディスプレイ6は、例えば、LCD(Liquid Crystal Display)または有機EL(Electro-Luminescence)ディスプレイなどでありうる。また、NTSCエンコーダ20から出力される映像信号は、図示しないHDMI(High-Definition Multimedia Interface)などの通信部によって、撮像装置10から外部に出力されてもよい。
検出部7は、撮像装置10の動きを検出するための検出装置として機能する。検出部7は、例えば、撮像装置10を固定するための固定部材との接続状態を検出することにより撮像装置10の動きを検出してもよいし、撮像装置10に組み込まれているセンサ(加速度センサ、ジャイロセンサなど)により撮像装置10の所定の運動を検出することにより撮像装置10の動きを検出してもよい。検出部7は、検出して得られた信号を検出信号として制御部1に出力しうる。
<1−2.フレームNR処理について>
次に、本発明の実施形態におけるフレームNR処理について説明する。本実施形態に係る撮像装置10において、フレームNR処理は、主に、動き補償部16および画像重ね合わせ部17によって実行される。
上述のように、撮像装置10においては、撮像素子11によるセンサーコーディングによって生成されたRAW信号が、RAW/YC変換部14によってYC信号に変換される。フレームNRは、RAW信号に対して行われることが一般的である。しかし、RAW信号に対するフレームNRでは、撮像装置10の中で非常に大きなシステムリソースが使用される。そのため、本実施形態では、フレームNRをYC信号に対して行うことによって、フレームNRで使用されるシステムリソースを抑制する。
図2は、本発明の実施形態におけるブロックマッチングについての説明図である。この実施形態では、図2に示すように、ターゲットフレーム100を、例えば、64画素×64ラインのような、比較的小さい大きさのターゲットブロック102の複数個に分割する。そして、この複数個のターゲットブロックのそれぞれについての動きベクトル(ローカル動きベクトル)104Bを先ず求める。このとき、この実施形態では、求めたそれぞれのローカル動きベクトルの信頼性を示す指標を、併せて算出するようにする。
そして、ローカル動きベクトルの信頼性の指標から、ターゲットフレームについて求めた複数個のローカル動きベクトルの中から、信頼性の高いローカル動きベクトルのみを抽出する。次に、抽出した信頼性の高いローカル動きベクトルのみから、グローバルモーションを算出する。そして、算出したグローバルモーションを用いて、各ターゲットブロック単位のグローバル動きベクトルを算出する。しかしながら、この実施形態においては、グローバル動きベクトルの算出手法については、特に限定されるものではない。
そして、算出したグローバル動きベクトルと、ターゲットブロック毎のローカル動きベクトルとを比較して、その比較結果に基づいて、各ターゲットブロックが背景部分か、動被写体部分かを評価判定するようにする。この実施形態では、算出したグローバル動きベクトルと、ターゲットブロック毎のローカル動きベクトルとを比較して、両者の一致度合いを判定する。そして、その判定結果として、ターゲットブロック毎のローカル動きベクトルとグローバル動きベクトルとの一致度合いを示す指標値を算出する。この指標値を、この明細書ではヒット率と称する。
この実施形態では、ターゲットブロック単位の出力動きベクトル2つ(ローカル動きベクトルおよびグローバル動きベクトル)を用いて、ターゲットフレームに対して、ブロック単位で参照フレームの位置合わせを行い、動き補償画像(動き補償フレーム)を2つ(ローカル動き補償画像およびグローバル動き補償画像)生成する。そして、ターゲットフレームと、2つの動き補償フレームとを重ね合わせてNR画像を生成するようにする。
この実施形態では、ローカル動きベクトルによって求められた動き補償画像(ローカルMC画像:以下、単に「LMC」と言う場合がある。)と、グローバル動きベクトルによって求められた動き補償画像(グローバルMC画像:以下、単に「GMC」と言う場合がある。)のどちらか一方のみを使うのではなく、制御部1(例えば、CPUなど)からの情報をもとに双方の動き補償画像をブレンドして使用する。
図3は、本発明の実施形態におけるフレームNR処理の概念図である。図3を参照すると、本実施形態におけるフレームNR処理では、連続して撮影された複数の画像P1〜P3が、位置合わせ(動き補償)後に重ね合わせられて、ノイズが低減された画像Pmixになる。なお、上述のように、連続して撮影された複数の画像を重ね合わせた場合にノイズが低減されるのは、略同一の画像が時間方向で積分され、各画像にランダムに含まれるノイズが相殺されるためである。
図示された例において、重ね合わせられる複数の画像P1〜P3は、必ずしも3枚の画像でなくてもよく、2枚または4枚以上の画像であってもよい。例えば、本実施形態に係る撮像装置10が静止画を撮影する場合、高速で連続して撮影された複数枚の画像のうち、1枚目の画像がターゲット画像になり、このターゲット画像に2枚目以降の画像が参照画像として順次重ね合わせられうる。また、撮像装置10が動画を撮影する場合、順次撮影される連続したフレームの画像がそれぞれターゲット画像になり、これらのターゲット画像に、それぞれのターゲット画像の1つ前のフレームの画像が参照画像として重ね合わせられうる。つまり、あるフレームの画像は、ターゲット画像にもなりうるし、別のフレームの画像をターゲット画像とした場合の参照画像にもなりうる。
このように、連続して撮影された画像を重ねあわせるフレームNRの処理では、重ね合わせられるターゲット画像と参照画像との間での位置合わせ(動き補償)が重要になる。これらの画像には、例えば撮影者の手ぶれなどによる画像の位置ずれが生じている場合がある。また、それぞれの画像において、被写体自体が動いたことによる位置ずれが生じている場合もある。そこで、本実施形態におけるフレームNRでは、ターゲット画像を分割して生成される複数個のターゲットブロックのそれぞれについて、ブロック単位の動きベクトルを検出する。さらに、各ブロックについて、ブロック単位の動きベクトルを反映した動き補償をしてから、ターゲット画像と参照画像とを重ね合わせる。
ここで、ブロック単位の動きベクトルを検出する処理では、ターゲット画像の各ブロック(ターゲットブロック)について、参照画像の各ブロック(参照ブロック)の中から相関性が最も高いブロック(動き補償ブロック)が探索されるブロックマッチング法が用いられる。ブロック単位の動きベクトルは、ターゲットブロックと動き補償ブロックとの間の位置ずれとして求められる。ターゲットブロックと参照ブロックとの間の相関性の高さは、例えば、双方のブロック内の各画素の輝度値の差分絶対値総和(SAD:Sum of Absolute Difference)値によって評価されうる。
図4は、本発明の実施形態における動きベクトル検出処理についての説明図である。図4を参照すると、本実施形態における動きベクトル検出処理では、まず縮小面における動きベクトルが検出され、その結果に基づいて、基底面における動きベクトルが検出される。
上述のようなブロック単位の動きベクトルを検出する処理では、最小のSAD値を示す参照ブロックが動き補償ブロックとして特定される。つまり、動き補償ブロックを特定するためには、参照ブロックの位置を順次移動させながら、最小のSAD値を示す参照ブロックを探索する必要がある。例えば、精度が1ピクセルである動きベクトルを検出しようとする場合、動き補償ブロックを1ピクセルの精度で特定する必要があり、従って、最小のSAD値を示す参照ブロックの探索においても、参照ブロックを1ピクセル単位で順次移動させる必要がある。
このような参照ブロックの探索を、ターゲット画像および参照画像に対してそのまま実行する場合、SAD値を算出する回数が多くなり、処理負荷が増大する。そこで、本実施形態では、図示されている例のように、ターゲット画像および参照画像をそれぞれ縮小した画像(縮小面)を作成し、縮小面において動きベクトルを検出した結果に基づいて、縮小されていないターゲット画像および参照画像(基底面)において動きベクトルを検出する。
具体的には、まず、ターゲット画像および参照画像の水平方向および垂直方向がそれぞれ1/n(n=2,3,・・・)に縮小されて、縮小面ターゲット画像および縮小面参照画像が作成される。これによって、基底面ターゲットブロック201と、基底面ターゲットブロック201の参照画像への射影イメージに基づいて設定されるサーチ範囲202およびマッチング処理範囲203とは、それぞれ1/nに縮小されて、縮小面ターゲットブロック301、縮小面サーチ範囲302、および縮小面マッチング処理範囲303になる。
次に、縮小面参照画像において、縮小面マッチング処理範囲303内に設定される複数個の縮小面参照ブロック304と、縮小面ターゲットブロック301との間のSAD値を算出することによって、縮小面参照ブロック304の中で縮小面ターゲットブロック301との相関性が最も高いブロックが、縮小面動き補償ブロックとして特定される。さらに、縮小面ターゲットブロック301と縮小面動き補償ブロックとの間の位置ずれが、縮小面動きベクトル305として取得される。
次に、基底面参照画像において、縮小面動きベクトル305をn倍した基底面仮動きベクトル205が定義される。さらに、基底面ターゲットブロック201の基底面参照画像への射影イメージから基底面仮動きベクトル205の分だけ移動した位置の近傍に、基底面サーチ範囲206および基底面マッチング処理範囲207が設定される。続いて、基底面マッチング処理範囲207内に設定される複数の基底面参照ブロック208と、基底面ターゲットブロック201との間のSAD値を算出することによって、基底面参照ブロック208の中で基底面ターゲットブロック201との相関性が最も高いブロックが、基底面動き補償ブロックとして特定される。さらに、基底面ターゲットブロック201と基底面動き補償ブロックとの間の位置ずれが、基底面動きベクトルとして取得される。
ここで、縮小面参照画像が基底面参照画像に比べて1/nに縮小されているため、縮小面動きベクトル305の精度は、基底面で同様の探索によって求められる動きベクトルの精度のn倍の低い精度になる。例えば、参照ブロックを1ピクセル単位で順次移動させて動き補償ブロックを探索して動きベクトルを得ようとする場合、基底面の探索で得られる動きベクトルの精度は1ピクセルになるが、縮小面の探索で得られる動きベクトルの精度はnピクセルになる。
それゆえ、本実施形態では、縮小面の探索によって得られた縮小面動きベクトル305に基づいて、基底面参照画像において基底面サーチ範囲206および基底面マッチング処理範囲207が設定され、所望の精度での動き補償ブロック208および動きベクトルの探索が実行される。縮小面動きベクトル305によって、n倍の低い精度ではあるものの、動き補償ブロック208が存在しうる範囲は特定されている。そのため、基底面の探索の範囲は、元のサーチ範囲202よりもずっと小さい基底面サーチ範囲206でよい。例えば、図示された例において、基底面の探索によって1ピクセル単位の動きベクトルを得ようとする場合、基底面サーチ範囲206は、水平方向および垂直方向がいずれもnピクセルの範囲でありうる。
本実施形態における動きベクトル検出処理では、元のサーチ範囲202の全体における動き補償ブロックの探索が、縮小面サーチ範囲302における探索に置き換えられる。これによって、参照ブロックのSAD値を算出する回数が、ターゲット画像および参照画像に対してそのまま実行する場合に比べて例えば1/nに削減される。また、本実施形態における動きベクトル検出処理では、基底面サーチ範囲206における追加の探索が実行されるが、基底面サーチ範囲206は、元のサーチ範囲202よりもずっと小さい範囲であるため、この追加の探索において参照ブロックのSAD値を算出する回数は多くない。従って、本実施形態における動きベクトル検出処理では、ターゲット画像および参照画像に対してそのまま実行する場合に比べて処理負荷が軽減される。
以上説明したように、本実施形態におけるフレームNR処理では、連続して撮影された複数の画像を動き補償後に重ね合わせることによって、画像のノイズが低減される。動き補償のための動きベクトルの検出では、基底面を縮小した縮小面を用いた探索によって、より少ない負荷で処理が実行される。
図5は、各種の動画フレームNRの実現手法についての説明図である。図5に示すように、動画フレームNRを実現するシステムにおいては、グローバル動きベクトル算出のためのグローバル動き検出(グローバルME)を行って、前記グローバル動きベクトルを用いて動き補償画像を作り、フレーム加算をする手法や、ローカル動きベクトル算出のためのローカル動き検出(ローカルME)を行って、前記ローカル動きベクトルを用いて動き補償画像を作り、フレーム加算をする手法が一般的である。
たとえば、グローバル動きベクトルを用いたフレームNRは、フレーム内の動被写体部分について正しい動き補償画像を作ることができないため、動被写体部分についてはNR効果を得ることができない。一方、ローカル動きベクトルを用いたフレームNRは、ローカルMEによって、フレーム内の動被写体部分について動き補償画像を生成することができるため、画面全体にNR効果を得ることができる。
また、ローカル動きベクトルを用いたフレームNRは、背景など特徴点の少ない画像部分について、ローカル動きベクトルがノイズ等の不安定な要素に振られ、正しい動き補償画像を作ることができないため、高いNR効果を期待できない。一方、グローバル動きベクトルを用いたフレームNRであれば、局所的な特徴点の有無に関わらず、動き補償画像を生成することができ、背景など特徴点の少ない画像部分についてもNR効果を得ることができる。
そこで、動被写体部分と、背景などの特徴点の少ない画像部分の両方に対して高いNR効果を得るための手法として、グローバル動きベクトル算出のためのグローバル動き検出(グローバルME)とローカル動きベクトル算出のためのローカル動き検出(ローカルME)とを行う手法も存在する。
ここで述べているグローバル動きベクトル算出は、複数フレーム間の画像情報を用いた信号処理により行われても良いし、ジャイロ素子など画像情報以外の情報を元に行われても良い。
図6は、本発明の実施形態に係る動画フレームNRの実現手法についての説明図である。図6に示すように、グローバル動きベクトルを考慮した動画フレームNRを実現するシステムにおいては、ローカル動きベクトル算出のためのローカル動き検出(ローカルME)とグローバル動きベクトル算出のためのグローバル動き検出(グローバルME)との2種類の動き検出(ME)を行う技術もある。例えば、特許文献1に記載されているような動画フレームNRの実現手法においては、ローカルMEとグローバルMEを行うために、1stME(preME)と2ndME(本ME)を定義し、同じ画像に対して2回のローカルMEを行う手法が提案されている。
このような手法は、静止画撮影には適用できるが、画像が前段から後段へ流れていく動画システムに適用しようすると、同じ画像に対して2回MEをするために、動き検出回路を2つ設ける必要が生じてしまう。動き検出回路のために消費されるリソースは膨大であり、過去にこのリソースを削減するさまざまな提案がなされている。しかしながら、グローバルMEとローカルMEをリアルタイムに行うためのリソースを削減する提案はなされていない。この実施形態に係る動画フレームNRの実現手法によれば、このような一般的な動画フレームNRの実現手法が抱えている他の問題をさらに解決することも可能である。
具体的には、第1の動き補償画像(例えば、ローカルMC画像)を求めるために使用されたフレームに対して1フレーム以上遅延させたフレームをもとに求められた動き補償画像を第2の動き補償画像(例えば、グローバルMC画像)とすることができる。これにより、従来のローカルMEで実現していたフレームNR装置と同じ構成により、グローバル動きベクトルを考慮したローカ動画フレームNRを実現することができる。より具体的には、1つの動き検出回路で、ローカル動きベクトルとグローバル動きベクトルを算出することができ、グローバルMEとローカルMEとをリアルタイムに行うためのリソースを削減することができる。
<1−3.フレームNR処理の詳細>
次に、本発明の実施形態におけるフレームNR処理の詳細について、動き補償部16、および画像重ね合わせ部17の機能の詳細とともに説明する。
(動き補償部の詳細)
図7は、本発明の実施形態に係る撮像装置10における動き補償部16の機能構成を示すブロック図である。図7を参照すると、動き補償部16は、ターゲットブロックバッファ部161、参照ブロックバッファ部162、マッチング処理部163、動きベクトル算出部164、コントロール部165、および動き補償画像生成部166を含む。これらの各部を含む動き補償部16は、例えばDSPを用いて実現されうる。
ここで、図8を参照して、ターゲットブロックバッファ部161について説明する。図7は、本発明の実施形態に係る撮像装置10において動き補償部16に含まれるターゲットブロックバッファ部161の機能構成を示すブロック図である。図8を参照すると、ターゲットブロックバッファ部161は、基底面バッファ部1611、縮小面バッファ部1612、および縮小化処理部1613を含む。
ターゲットブロックバッファ部161は、メモリ4、またはRAW/YC変換部14から提供される基底面ターゲットフレーム201または縮小面ターゲットフレーム301の画素データを取得する。これらの画素データの取得元は、セレクタ1614によって切り替えられうる。例えば、ターゲットブロックバッファ部161は、静止画撮影時にはメモリ4から画素データを取得し、動画撮影時にはRAW/YC変換部14から画素データを取得してもよい。なお、ここで取得される縮小面ターゲットフレーム301の画素データは、後述する画像重ね合わせ部17に含まれる縮小面生成部174、または、RAW/YC変換部14によって生成され、メモリ4に格納されたものでありうる。
ターゲットブロックバッファ部161は、基底面バッファ部1611において、基底面ターゲットフレーム201の画素データを蓄積する。また、ターゲットブロックバッファ部161は、縮小面バッファ部1612において、縮小面ターゲットフレーム301の画素データを蓄積する。例えば、動画撮影時に、RAW/YC変換部14から取得される画素データに縮小面ターゲットフレーム301の画素データが含まれないような場合、ターゲットブロックバッファ部161は、縮小化処理部1613を用いて、基底面ターゲットフレーム201の画素データから縮小面ターゲットフレーム301の画素データを生成する。縮小化処理部1613を用いるか否かは、セレクタ1615によって切り替えられうる。
ターゲットブロックバッファ部161は、動き補償画像生成部166、およびマッチング処理部163に、基底面ターゲットフレーム201または縮小面ターゲットフレーム301の画素データを提供する。動き補償画像生成部166には、基底面バッファ部1611に蓄積された基底面ターゲットフレーム201の画素データが提供される。マッチング処理部163には、縮小面でのブロックマッチング処理時は縮小面バッファ部1612に蓄積された縮小面ターゲットフレーム301の画素データが、基底面でのブロックマッチング処理時には基底面バッファ部1611に蓄積された基底面ターゲットフレーム201の画素データが、それぞれ提供される。マッチング処理部163に提供される画素データは、セレクタ1616によって切り替えられうる。
続いて、図9を参照して、参照ブロックバッファ部162について説明する。図9は、本発明の実施形態に係る撮像装置10において動き補償部16に含まれる参照ブロックバッファ部162の機能構成を示すブロック図である。図9を参照すると、参照ブロックバッファ部162は、基底面バッファ部1621、縮小面バッファ部1622、セレクタ1623、およびグローバルMCバッファ部1624を含む。
参照ブロックバッファ部162は、メモリ4から、縮小面マッチング処理範囲および基底面マッチング処理範囲の画素データを取得する。取得された縮小面マッチング処理範囲および基底面マッチング処理範囲の画素データは、それぞれ基底面バッファ部1621および縮小面バッファ部1622に蓄積される。
また、参照ブロックバッファ部162は、動き補償画像生成部166、およびマッチング処理部163に、基底面または縮小面の参照ブロックの画素データを提供する。動き補償画像生成部166には、基底面バッファ部1621に蓄積された基底面マッチング処理範囲の画素データのうち、動き補償ブロックとして特定された範囲の画素データが提供される。マッチング処理部163には、縮小面でのブロックマッチング処理時は、縮小面バッファ部1622に蓄積された縮小面マッチング処理範囲の画素データのうち、ブロックマッチング処理で用いられる縮小面参照ブロックの画素データが提供される。また、基底面でのブロックマッチング処理時は、基底面バッファ部1621に蓄積された基底面マッチング処理範囲の画素データのうち、ブロックマッチング処理で用いられる基底面参照ブロックの画素データが提供される。なお、マッチング処理部163に提供される画素データは、セレクタ1623によって切り替えられる。
グローバルMCバッファ部1624は、メモリ4から、グローバルMCブロック(グローバル動きベクトルに基づいて参照ブロックが動き補償された動き補償ブロック)を取得する。このグローバルMCブロックは、図6に示した「過去のGM」に相当するものである。取得されたグローバルMCブロックは、動き補償画像生成部166に出力される。ここで、グローバルMCバッファ部1624によるグローバルMCブロック(ローカル動きベクトルに基づいて参照ブロックが動き補償された動き補償ブロック)の出力タイミングは、基底面バッファ部1621によるローカルMCブロックの出力タイミングと合わせられるように、コントロール部165により制御される。
再び図7を参照する。マッチング処理部163は、ターゲットブロックと参照ブロックとの間の相関の強さを検出するブロックマッチングの処理を実行する。ターゲットブロックと参照ブロックとの間の相関の強さは、例えば、各画素の輝度信号のSAD値を用いて評価されうる。ターゲットブロックと参照ブロックとの間の相関の強さは、各画素の色差信号などの他の情報を用いて評価されてもよい。また、演算量の削減のために、演算の対象とする画素が間引かれてもよい。
動きベクトル算出部164は、参照画像のターゲット画像に対する動きをターゲットブロック毎にローカル動きベクトルとして算出する。具体的には、例えば、動きベクトル算出部164は、マッチング処理部163におけるブロックマッチングの処理結果に基づいて、ローカル動きベクトルを取得する。動きベクトル算出部164は、例えば、マッチング処理部163によって算出されたSAD値の最小値を検出および保持し、さらに、SAD値が最小である参照ブロックの近傍の複数の参照ブロックのSAD値を保持して、二次曲線近似補間処理によって、サブピクセル精度の高精度のローカル動きベクトルを検出してもよい。
また、動きベクトル算出部164は、ローカル動きベクトルとグローバル動きベクトルとの一致度合いを示す指標値をターゲットブロック毎に算出する。具体的には、例えば、動きベクトル算出部164は、ターゲットブロックについての背景一致度合いの評価を行なって、ヒット率βを生成する。動きベクトル算出部164からは、ヒット率βが画像重ね合わせ部17に出力される。また、動きベクトル算出部164は、グローバル動きベクトルを算出し、算出したグローバル動きベクトルをメモリ4に格納する。ここでメモリ4に格納されたグローバル動きベクトルは、図6に示した次回の動き検出(ローカルME)において使用される。
コントロール部165は、動き補償部16の各部を制御する。コントロール部165は、例えば、ターゲットブロックバッファ部161に含まれるセレクタ1614〜1616、および参照ブロックバッファ部162に含まれるセレクタ1623を制御する。また、コントロール部165は、ターゲットブロックバッファ部161および参照ブロックバッファ部162によって提供される画素データに応じて、縮小面または基底面でのブロックマッチング処理を実行するようにマッチング処理部163を制御してもよい。
続いて、図10を参照して、動き補償画像生成部166について説明する。図10は、本発明の実施形態に係る撮像装置10において動き補償部16に含まれる動き補償画像生成部166の機能構成を示すブロック図である。図10に示すように、動き補償画像生成部166は、参照ブロックバッファ部162から同じタイミングにより出力されたグローバル動き補償ブロックおよびローカル動き補償ブロックをブレンドする。動き補償画像生成部166は、かかる処理を行うことにより、動き補償画像を生成することができる。具体的には、例えば、動き補償画像生成部166は、グローバル動き補償ブロックとローカル動き補償ブロックとを制御部1からの制御に基づいてブレンドすることにより、動き補償ブロックをターゲットブロック毎に生成することができる。
グローバル動き補償ブロックとローカル動き補償ブロックとのブレンド率は、例えば、ブレンド率制御回路1661において算出される。ブレンド率制御回路1661は、例えば、制御部1(例えば、CPUなど)から与えられた撮像装置10の動きを示す情報に基づいてブレンド率を算出する。ブレンド率制御回路1661は、ブレンド率算出部の一例として機能する。
なお、ここでは、ブレンド率制御回路1661は、グローバル動き補償ブロックとローカル動き補償ブロックとのブレンド率を算出することとするが、フレーム間における動きを示す第1の動きベクトルおよび第2の動きベクトルの各々から求められる第1の動き補償画像および第2の動き補償画像のブレンド率を算出することもできる。この場合における第1の動きベクトルおよび第2の動きベクトルは、特に限定されるものはない。第1の動きベクトルとしては、フレーム内に設定されたブロック単位で算出されたベクトルを使用することができる。また、第2の動きベクトルとしては、フレーム単位で算出されたベクトルを使用することができる。ローカル動きベクトルは、フレーム内に設定されたブロック単位で算出されたベクトルの一例であり、グローバル動きベクトルは、フレーム単位で算出されたベクトルの一例である。
また、乗算回路1662は、ブレンド率制御回路1661により算出されたブレンド率に基づいて、グローバル動き補償ブロックおよびローカル動き補償ブロックを足し合わせる。例えば、三脚台のような固定部材に接続されている場合などにはグローバル動きベクトルにブレが生じない場合には、ブレンドされるグローバルMCブロックの比率を高くすればよい。一方、加速度センサやジャイロセンサ等により撮影者自身の手ブレが検出された場合、ブレンドされるローカルMCブロックの比率が高くすればよい。乗算回路1662は、ブレンド部の一例として機能する。
動き補償においては、例えば、参照ブロックに対して、グローバルモーションおよびローカルモーションの各々に対応する処理、つまり、平行移動、回転、拡大縮小を伴う変形処理を施して、その結果得られたグローバルMCブロックおよびローカルMCブロックをブレンドすることにより動き補償画像を生成することができる。動き補償画像生成部166からは、動き補償ブロック(動き補償画像)とターゲットブロック(ターゲット画像)とが画像重ね合わせ部17に出力される。
(画像重ね合わせ部の詳細)
図11は、本発明の実施形態に係る撮像装置10における画像重ね合わせ部17の機能構成を示すブロック図である。図11を参照すると、画像重ね合わせ部17は、加算率計算部171、加算部172、基底面出力バッファ部173、縮小面生成部174、および縮小面出力バッファ部175を含む。これらの各部を含む画像重ね合わせ部17は、例えばDSPを用いて実現されうる。
加算率計算部171は、動き補償部16から、基底面ターゲットブロックおよび動き補償ブロックの画素データを取得し、これらのブロックの加算率を算出する。基底面ターゲットフレーム201と動き補償ブロック208とは、例えば、単純加算方式または平均加算方式などの加算方式によって加算されうる。加算率計算部171は、これらの加算方式に応じて加算率を算出しうる。加算率計算部171は、算出した加算率と、基底面ターゲットフレーム201および動き補償ブロック208の画素データとを、加算部172に提供する。
加算部172は、加算率計算部171から、基底面ターゲットブロックおよび動き補償ブロックの画素データと、これらのブロックの加算率とを取得する。加算部172は、基底面ターゲットブロックの画素データと動き補償ブロックの画素データとを、取得した加算率で加算し、フレームNRの効果によってノイズが低減された基底面NRブロックを生成する。加算部172は、基底面NRブロックの画素データを、基底面出力バッファ部173および縮小面生成部174に提供する。
基底面出力バッファ部173は、加算部172から提供された基底面NRブロックの画素データを蓄積し、基底面NR画像としメモリ4に提供する。
縮小面生成部174は、加算部172から提供された基底面NRブロックの画素データを縮小して、縮小面NRブロックの画素データを生成する。縮小面生成部174は、縮小面NRブロックの画素データを、縮小面出力バッファ部175に提供する。
縮小面出力バッファ部175は、縮小面生成部174から提供された縮小面NRブロックの画素データを蓄積し、縮小面NR画像としてメモリ4に格納する。ここでメモリ4に格納された縮小面NR画像は、例えば、静止画撮影時に、フレームNR後のターゲット画像にさらに参照画像を重ね合わせる場合、縮小面ターゲット画像として用いられうる。また、ここでメモリ4に格納された縮小面NR画像は、動画撮影時に、次のフレームをターゲット画像としてフレームNRを実行する場合、縮小面参照画像として用いられうる。
(撮像装置の使用例から見るブレンド率の変化)
以下において、補償ブロックに対してグローバル動き補償ブロックがブレンドされる割合を単に「ブレンド率」と言うことにする。図12は、本実施形態に係る撮像装置10の使用時におけるブレンド率の変化の一例を示す図である。図12に示すように、撮像装置10による撮影時において、固定部材が接続されている場合には、グローバル動きベクトルにブレがあまり生じないと考えられるため、ブレンド率を高くすることができる。また、撮像装置10による撮影時において、撮像装置10から固定部材が切断されている場合には、グローバル動きベクトルにブレが生じていると考えられるため、ブレンド率を下げることができる。
また、撮像装置10による撮影時において、撮像装置10から固定部材が接続された場合には、ブレンド率を上げることができる(再度高くすることができる)。ブレンド率が高い状態から低い状態、あるいはブレンド率が低い状態から高い情報への遷移は、図12に示すように緩やかに行うことが好ましい。急激にブレンド率を変化させることにより、ユーザの目に違和感を覚えさせることを防止するためである。
図13は、本実施形態に係る撮像装置10の使用時におけるブレンド率の変化の他の一例を示す図である。図13に示すように、撮像装置10による撮影時において、ユーザの手ブレが発生していない場合には、グローバル動きベクトルにブレがあまり生じないと考えられるため、ブレンド率を高くすることができる。また、撮像装置10による撮影時において、ユーザの手ブレが発生していない場合には、グローバル動きベクトルにブレが生じていると考えられるため、ブレンド率を下げることができる。
ブレンド率が高い状態から低い状態、あるいはブレンド率が低い状態から高い情報への遷移は、図13に示すように緩やかに行うことが好ましい。急激にブレンド率を変化させることにより、ユーザの目に違和感を覚えさせることを防止するためである。また、図13に示すように、ブレンド率を下げ終わった状態からブレンド率を上げるまでには、所定時間を設けるようにするのが好ましい。一度ユーザの手ブレが発生した直後は、再びユーザの手ブレが発生する可能性が高いからである。
(動画撮影時)
次に、この実施の形態の撮像装置10において、動画撮影時における画像の重ね合わせによるノイズ低減処理のフローチャートを、図14に示す。この図14のフローチャートの各ステップも、制御部1およびこの制御部1により制御される動き補償部16のコントロール部165の制御の下に実行されるものである。動画記録ボタンがユーザにより操作されると、制御部1は、図14の処理をスタートから開始するように指示する。
この実施の形態では、動き補償部16は、ターゲットブロック単位でマッチング処理をするのに適した構成とされている。そこで、信号処理部13は、制御部1による制御に従って、フレーム画像を保持し、ターゲットブロック単位で、動き補償部16へ画像データを送る(ステップS101)。
動き補償部16に送られたターゲットブロックの画像データは、ターゲットブロックバッファ部161に格納される。次に、コントロール部165は、ターゲットブロックに対応した参照ベクトルを設定し(ステップS102)、メモリ4から、マッチング処理範囲の画像データを参照ブロックバッファ部162へ読み込む(ステップS103)。
次に、マッチング処理部163および動きベクトル算出部164は、この実施形態における階層化ブロックマッチングによる動き検出処理を行う(ステップS104)。すなわち、マッチング処理部163は、先ず、縮小面において、縮小面ターゲットブロックの画素値と縮小面参照ブロックの画素値との間のSAD値を算出し、算出したSAD値を動きベクトル算出部164へ送る。マッチング処理部163は、この処理をサーチ範囲内のすべての縮小面参照ブロックで繰り返す。サーチ範囲内のすべての縮小面参照ブロックについてのSAD値の算出が終了した後、動きベクトル算出部164は、最小のSAD値を特定して、縮小面動きベクトルを検出する。
コントロール部165は、動きベクトル算出部164で検出された縮小面動きベクトルを縮小率の逆数倍して、基底面上における動きベクトルに変換し、その変換したベクトルが、基底面において指し示す位置を中心した領域を、基底面におけるサーチ範囲とする。そして、コントロール部165は、マッチング処理部163に、当該サーチ範囲において、基底面におけるブロックマッチング処理を行わせるように制御する。マッチング処理部163は、基底面ターゲットブロックの画素値と基底面参照ブロックの画素値との間のSAD値を算出し、算出したSAD値を動きベクトル算出部164へ送る。
サーチ範囲内のすべての縮小面参照ブロックについてのSAD値の算出が終了した後、動きベクトル算出部164は、最小のSAD値を特定して、縮小面動きベクトルを検出すると共に、その近傍のSAD値を特定し、それらのSAD値を用いて、前述した二次曲線近似補間処理を行い、サブピクセル精度の高精度の動きベクトルを出力する。
次に、コントロール部165は、ステップS104で算出された高精度の動きベクトルにしたがって、参照ブロックバッファ部162から動き補償ブロックの画像データを読み出し(ステップS105)、ターゲットブロックと同期して、後段の画像重ね合わせ部17へ送る(ステップS106)。
画像重ね合わせ部17においては、ターゲットブロックと動き補償ブロックの重ね合わせを行う。そして、画像重ね合わせ部17は、その重ね合わせた結果のNR画像の画像データを、NTSCエンコーダ20を通じてディスプレイ6に出力することで、動画記録モニターをすると共に、動画コーデック19を通じてストレージ5に送り、記録媒体に記録するようにする(ステップS107)。
画像重ね合わせ部17で重ね合わせされた画像は、また、メモリ4に格納し、次のフレーム(ターゲットフレーム)での参照フレームとなるようにする(ステップS108)。
そして、制御部1は、動画記録停止操作がユーザによりなされたか否か判別し(ステップS109)、当該動画記録停止操作がユーザによりなされていないと判別したときには、ステップS101に戻って、このステップS101以降の処理を繰り返すように指示する。また、ステップS109で、動画記録停止操作がユーザによりなされたと判別したときには、制御部1は、この処理ルーチンを終了するようにする。
以上の動画のノイズ低減処理の処理ルーチンにおいては、1フレーム前の画像フレームを参照フレームとするようにしたが、1フレームよりもさらに過去のフレームの画像を参照フレームとして用いるようにしても良い。また、1フレーム前と2フレーム前の画像を、メモリ4に格納しておき、それらの2枚の画像情報の内容から、どちらの画像フレームを参照フレームにするかを選択しても良い。
上記のような手段、手順、システム構成を用いることで、一つの共通したブロックマッチング処理のハードウェアで、静止画ノイズ低減処理および動画ノイズ低減処理を行うことが可能になる。
(動き補償ブロック作成の処理の流れ)
次に、この実施の形態の撮像装置10において実行される動き補償ブロック作成の処理の流れを示すフローチャートを図15に示す。図15に示すように、動きベクトル算出部164は、動き検出・補償を行う座標を計算し(ステップS201)、ローカル動きベクトルを検出する(ステップS202)。動き補償画像生成部166は、動きベクトル算出部164により検出されたローカル動きベクトルによってローカルMCブロックを作成する(ステップS203)。一方、動きベクトル算出部164は、アフィンパラメータをもとに動きベクトル算出部164により検出されたローカル動きベクトルに基づいてグローバル動きベクトルを計算する(ステップS204)。
動き補償画像生成部166は、グローバル動きベクトルをもとにグローバルMCブロックを作成し(ステップS205)、ローカルMCブロックとグローバルMCブロックとの関係からローカルMCブロックとグローバルMCブロックとをブレンドするか否かを判定する(ステップS206)。動き補償画像生成部166は、ローカルMCブロックとグローバルMCブロックとをブレンドしないと判定した場合には、ステップS208に進む。一方、動き補償画像生成部166は、ローカルMCブロックとグローバルMCブロックとをブレンドすると判定した場合には、制御部1から設定されたブレンド率に基づき、動き補償ブロックを作成し(ステップS207)、ステップS208に進む。
ステップS208に進んだ場合には、動きベクトル算出部164は、X,Yループが終了したか否かを判定し(ステップS208)、X,Yループが終了していないと判定した場合には、次のXY座標を動き検出・補償を行う座標として算出するため、ステップS201に戻る。動きベクトル算出部164は、X,Yループが終了したと判定した場合には、動き補償ブロック作成の処理を終了する。
動き補償画像生成部166は、生成結果としてのMC画像の精度を向上するために、ピクセル単位でローカルMC画像(LMC)とグローバルMC画像(GMC)とをブレンドし、MC画像を出力することができる。動き補償画像生成部166は、ブレンドの際の重み係数(GMC_W)の算出には、動体判定とLMVの信頼度から行うことができる。
すなわち、
・LMCとGMCの差が大きいときは、動体部分なのでLMCを使う。
・LMVの信頼度が低いときは、GMCのブレンド比率を上げる。
(LMVの信頼度が低い=SADの最小値と第二極小値の差が小さいor周辺のLMVの分散が大きい)
・Cb,Crのブレンド時には、LMC,GMCとも輝度(Y信号)を用いて判定を実施する。
LMVの信頼度判定は、例えば、以下のような判定式により行うことができる。
If((ブロックマッチング時のSADテーブルの第二極小値−ブロックマッチング時の最小SAD値<=SAD_TH)||(LMV差分絶対値MAX>LMV_THR))
LMVの信頼度が低い;
差分の計算方式:MV1,MV2に対して、|MV1−MV2|=|MV1.x−MV2.x|+|MV1.y−MV2.y|
GMCとLMCのブレンド比率決定は、例えば、以下のような判定式により行うことができる。
If(LMCとGMCの差>GMC_DIFF_THR){
GMC_W=0;
//(撮像装置10が動いているのでLMCを使う。GMCはブレンドせず)
else If(LMVの信頼度が低い)
GMC_W=GMC_W_L;
else
GMC_W=GMC_W_S;
図16は、本実施形態に係る撮像装置の使用時における動作モード毎のグローバル動きベクトルとGMCブレンド率とを示す図である。動作モード「通常撮影」は、撮像装置10が固定されていない状態を意味し、動作モード「固定撮影」は、撮像装置10が固定されている状態を意味するものとする。この状態は、検出部7により検出された撮像装置10の動きに基づいて判定される。
図16に示すように、動作モード「通常撮影」の場合には、グローバル動きベクトルがリアルタイムに(例えば、2フレーム遅延により)計算されるが、動作モード「固定撮影」の場合には、グローバル動きベクトルは新たに計算されないことにする。また、動作モード「通常撮影」の場合には、GMCブレンド率が手ブレに応じて計算されるが、動作モード「固定撮影」の場合には、GMCブレンド率は高い値に設定されることにする。
(加算率算出処理の流れ)
この実施形態においては、加算率計算部171では、画素単位に加算率α(0≦α≦1)を求める。そして、前述したように、基本的には、ターゲット画像と動き補償画像との画素単位の違いと、ヒット率βとに応じて加算率αを計算する。このため、加算率計算部171には、ヒット率βと、ターゲット画像のデータTGvおよび動き補償画像のデータMCvが供給される。
ここで、ターゲット画像と動き補償画像との画素単位の違いが大きければ、動き部分と考えられるので、加算率αは低くすべきであるが、前記画素単位の違いがない、あるいは小さければ加算率αは高くしても良い。しかし、ターゲットブロックが背景静止画部分であるか、動被写体部分であるかが不明である場合には、前述したように、動き部分における2重露光が目立たないようにするために、加算率αは比較的低く抑える必要がある。
しかし、この実施形態では、ヒット率βにより、背景静止画部分としての一致度合いが求められているので、ヒット率βが大きく、背景一致度合いが高いほど、加算率αは高くするようにする。
また、この実施形態では、さらに画像のノイズは、撮影シーンの明るさ(画像のゲイン量)に応じたものとなるので、加算率計算部171では、ターゲット画像と動き補償画像との画素単位の違いに関しては、当該撮影シーンの明るさ(画像のゲイン量)に応じたノイズを考慮するようにしている。すなわち、ターゲット画像と動き補償画像との画素単位の違いがノイズの範囲内であれば、両者の実際の差分は小さいと判断する。また、前記画素単位の違いがノイズの範囲よりも大きいときには、両者の差分は、実際に大きいと判断するようにする。
(加算処理の詳細)
上記したように、加算部172は、加算率αを用いて、ターゲット画像に動き補償画像を、画素毎に重ね合わせてNR画像を生成する。ここで、加算部172による加算率αを用いた重ね合わせの手法については様々なものが想定される。図17は、ターゲット画像と動き補償画像との重ね合わせの一例を説明するための図である。
図17に示した例では、ターゲット画像Aに対して動き補償画像Bを重ね合わせ、この重ね合わせにより生成された画像B’に対して動き補償画像Cを重ね合わせ、この重ね合わせにより生成された画像C’に対して動き補償画像Dを重ね合わせることにより、重ね合わせ後の画像を生成する例について示している。しかし、ターゲット画像に重ね合わせる動き補償画像の枚数は3枚以外でもよく、1枚以上であれば特に限定されるものではない。
図17に示すように、重ね合わせの回数を増加させるとともに、Pの値を「1/2」「1/3」「1/4」・・・と下げながら、動き補償画像を次々と加算していくことができる。すなわち、重ね合わせの回数をn回とした場合、Pの値を「1/n−1」として、動き補償画像を加算する。このような加算により、ターゲット画像および動き補償画像の全てを均等な重みにより加算することができる。
<2.まとめ>
本発明の実施形態において、グローバル動きベクトルを考慮した画像処理装置において、グローバル動きベクトルの信頼性の変動に関わらず安定したNR効果を得つつ、グローバル動きベクトルが急に変化する場合においても不自然なNR効果を生じないようにすることができる。また、動画撮影時において、グローバルMEとローカルMEをリアルタイムに求めるためのリソースを削減することができる。
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
例えば、本発明の実施形態においては、動き検出・動き補償機能付きフレームNRについて説明したが、本発明の実施形態は、他のフレームNRにも適用できるものである。例えば、フレームNRには大きく分けて以下の種類があると考えられる。
1.ブロック単位でのローカルMEによる動き補償+フレームNR
2.画面単位でのグローバルMEによる動き補償+フレームNR
3.動き補償なし(すなわち、動き0)の前フレーム画像を使用したフレームNR
本発明の実施形態では、ブロック単位でのローカルMEによる動き補償+画面単位でのグローバルMEによる動き補償のような2種類の動き補償画像を考慮したフレームNRについて提案している。こういった2種類の動き補償画像を使用する場合、まず、2つの動き補償画像を比較し、次に、隣接するベクトルのばらつきを考慮し、最後に撮像装置10自体の動きの情報をもとに2種類の動き補償画像をブレンドするのが望ましい。
この技術は、他の組み合わせでも適用することが可能である。例えば、
1.ブロック単位でのローカルMEによる動き補償+動き0の前フレーム画像
2.画面単位でのグローバルMEによる動き補償+動き0の前フレーム画像
に対してなどである。また、光学式手ブレなどの撮像装置10外部の情報と組み合わせても良い。また、3種類以上の動き検出と組み合わせても良い。
例えば、上記実施形態では、画像処理装置として撮像装置を例示したが、本発明はかかる例に限定されない。例えば、画像処理装置は、保存されている画像データを加工するために用いられる独立した装置であってもよく、また、画像データを加工するアプリケーションとしてPC(Personal Computer)などの情報処理装置に組み込まれていてもよい。
また、上記実施形態では、画像処理装置の動き補償部、および画像重ね合わせ部の機能がDSPを用いて実現される場合を例示したが、本発明はかかる例に限定されない。例えば、これらの各部の機能は、専用のハードウェアによって実現されてもよく、またCPUを用いてソフトウェアとして実現されてもよい。
10 撮像装置(画像処理装置)
1 制御部
7 検出部
16 動き補償部
163 マッチング処理部
164 動きベクトル算出部
165 コントロール部
166 補償画像生成部
1661 ブレンド率制御回路(ブレンド率算出部)
1662 乗算回路(ブレンド部)
167 相関性判定部
171 加算率計算部
172 加算部


Claims (7)

  1. 自装置の動きを検出する検出部と、
    フレーム間における動きを示す第1の動きベクトルおよび第2の動きベクトルの各々から求められる第1の動き補償画像および第2の動き補償画像のブレンド率を、前記検出部により検出された自装置の動きに基づいて算出するブレンド率算出部と、
    前記第1の動き補償画像および第2の動き補償画像を、前記ブレンド率算出部により算出された前記ブレンド率に応じてブレンドすることにより動き補償画像を生成するブレンド部と、
    前記ブレンド部により生成された前記動き補償画像と前記ターゲット画像とを加算する加算部と、
    を備える、画像処理装置。
  2. 前記第2の動き画像は、
    前記第1の動き補償画像を求めるために使用されたフレームに対して1フレーム以上遅延させたフレームをもとに求められた動き補償画像である、
    請求項1に記載の画像処理装置。
  3. 前記第1の動きベクトルは、
    前記フレーム内に設定されたブロック単位で算出されたベクトルである、
    請求項1に記載の画像処理装置。
  4. 前記第2の動きベクトルは、
    前記フレーム単位で算出されたベクトルである、
    請求項1に記載の画像処理装置。
  5. 前記検出部は、
    自装置の運動を検出することにより自装置の動きを検出する、
    請求項1に記載の画像処理装置。
  6. 前記検出部は、
    自装置に対する固定部材の接続を検出することにより自装置の動きを検出する、
    請求項1に記載の画像処理装置。
  7. 自装置の動きを検出するステップと、
    フレーム間における動きを示す第1の動きベクトルおよび第2の動きベクトルの各々から求められる第1の動き補償画像および第2の動き補償画像のブレンド率を、自装置の動きに基づいて算出するステップと、
    前記第1の動き補償画像および第2の動き補償画像を、前記ブレンド率に応じてブレンドすることにより動き補償画像を生成するステップと、
    前記動き補償画像と前記ターゲット画像とを加算する加算部と、
    を含む、画像処理方法。

JP2011000350A 2011-01-05 2011-01-05 画像処理装置および画像処理方法 Withdrawn JP2012142829A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2011000350A JP2012142829A (ja) 2011-01-05 2011-01-05 画像処理装置および画像処理方法
US13/312,085 US8542298B2 (en) 2011-01-05 2011-12-06 Image processing device and image processing method
CN2011104459022A CN102595025A (zh) 2011-01-05 2011-12-28 图像处理设备和图像处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011000350A JP2012142829A (ja) 2011-01-05 2011-01-05 画像処理装置および画像処理方法

Publications (1)

Publication Number Publication Date
JP2012142829A true JP2012142829A (ja) 2012-07-26

Family

ID=46380447

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011000350A Withdrawn JP2012142829A (ja) 2011-01-05 2011-01-05 画像処理装置および画像処理方法

Country Status (3)

Country Link
US (1) US8542298B2 (ja)
JP (1) JP2012142829A (ja)
CN (1) CN102595025A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014056378A (ja) * 2012-09-12 2014-03-27 Canon Inc 画像処理装置及び画像処理方法

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012004908A (ja) * 2010-06-17 2012-01-05 Sony Corp 画像処理装置、および画像処理方法、並びにプログラム
JP2012186593A (ja) * 2011-03-04 2012-09-27 Sony Corp 画像処理装置、および画像処理方法、並びにプログラム
TWI511547B (zh) * 2012-04-10 2015-12-01 Acer Inc 利用旋轉操作輔助視訊壓縮的方法及其影像擷取裝置
KR102121558B1 (ko) * 2013-03-15 2020-06-10 삼성전자주식회사 비디오 이미지의 안정화 방법, 후처리 장치 및 이를 포함하는 비디오 디코더
KR101652658B1 (ko) * 2014-02-07 2016-08-30 가부시키가이샤 모르포 화상 처리 장치, 화상 처리 방법, 화상 처리 프로그램 및 기록 매체
JP6411768B2 (ja) * 2014-04-11 2018-10-24 Hoya株式会社 画像処理装置
KR102031874B1 (ko) * 2014-06-10 2019-11-27 삼성전자주식회사 구도 정보를 이용하는 전자 장치 및 이를 이용하는 촬영 방법
WO2017020807A1 (en) * 2015-07-31 2017-02-09 Versitech Limited Method and system for global motion estimation and compensation
CN110493488B (zh) * 2018-05-15 2021-11-26 株式会社理光 视频稳像方法、视频稳像装置和计算机可读存储介质
JP2022052532A (ja) * 2020-09-23 2022-04-04 キヤノン株式会社 画像処理装置、撮像装置、撮像制御装置及びそれらの制御方法、プログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009290827A (ja) 2008-06-02 2009-12-10 Sony Corp 画像処理装置および画像処理方法
JP4645736B2 (ja) * 2008-12-22 2011-03-09 ソニー株式会社 画像処理装置、および画像処理方法、並びにプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014056378A (ja) * 2012-09-12 2014-03-27 Canon Inc 画像処理装置及び画像処理方法

Also Published As

Publication number Publication date
US20120169892A1 (en) 2012-07-05
CN102595025A (zh) 2012-07-18
US8542298B2 (en) 2013-09-24

Similar Documents

Publication Publication Date Title
JP2012142829A (ja) 画像処理装置および画像処理方法
JP4882956B2 (ja) 画像処理装置および画像処理方法
JP4720859B2 (ja) 画像処理装置、画像処理方法およびプログラム
TWI387330B (zh) 具有用於拍攝平移圖像之平移模式的攝像裝置
JP4973719B2 (ja) 撮像装置、撮像方法、及び撮像プログラム
JP2019535167A (ja) 広角撮像素子及び長焦点撮像素子を利用してクリアかつ正確な光学ズーム機構を達成する方法
JP2008129554A (ja) 撮像装置及びオートフォーカス制御方法
US20140286593A1 (en) Image processing device, image procesisng method, program, and imaging device
JP4798236B2 (ja) 撮像装置、画像処理方法及びプログラム
JP5729237B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP2009100373A (ja) ノイズ低減処理装置、ノイズ低減処理方法、及び電子機器
JP2013165485A (ja) 画像処理装置、撮像装置およびコンピュータブログラム
US8704901B2 (en) Image processing device and image processing method
JP2013165487A (ja) 画像処理装置、撮像装置、およびプログラム
JP4916378B2 (ja) 撮像装置、画像処理装置、画像ファイル及び階調補正方法
WO2013088688A1 (ja) 画像処理装置および画像処理方法
JP2009055410A (ja) 画像処理装置および画像処理方法
JP4742813B2 (ja) 画像処理装置および画像処理方法
JP2013165488A (ja) 画像処理装置、撮像装置、およびプログラム
WO2017150238A1 (ja) 表示制御装置、表示制御方法、及び、プログラム
JP5820720B2 (ja) 撮像装置
JP5959194B2 (ja) 撮像装置
JP2013201703A (ja) 撮像装置、その制御方法及びプログラム
JP2014236244A (ja) 画像処理装置、画像処理プログラム、およびデジタルカメラ
JP2011135437A (ja) 撮像装置、画像合成方法及びプログラム

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20140401