IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

<>
  • 特許-画像処理装置および画像処理方法 図1
  • 特許-画像処理装置および画像処理方法 図2
  • 特許-画像処理装置および画像処理方法 図3
  • 特許-画像処理装置および画像処理方法 図4
  • 特許-画像処理装置および画像処理方法 図5
  • 特許-画像処理装置および画像処理方法 図6
  • 特許-画像処理装置および画像処理方法 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-19
(45)【発行日】2024-03-28
(54)【発明の名称】画像処理装置および画像処理方法
(51)【国際特許分類】
   G06T 1/20 20060101AFI20240321BHJP
   H04N 23/60 20230101ALI20240321BHJP
【FI】
G06T1/20 C
H04N23/60 500
【請求項の数】 12
(21)【出願番号】P 2019239280
(22)【出願日】2019-12-27
(65)【公開番号】P2021108024
(43)【公開日】2021-07-29
【審査請求日】2022-12-20
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】安田 隆幸
【審査官】▲高▼橋 真之
(56)【参考文献】
【文献】特開2018-128764(JP,A)
【文献】特開2005-204195(JP,A)
【文献】筒井 弘,画像処理ハードウェアIPの設計事例,電子情報通信学会技術研究報告,Vol.113,No.78,一般社団法人電子情報通信学会,2013年06月06日,pp.47-52
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/20
H04N 5/222- 5/257
H04N 23/60 -23/698
(57)【特許請求の範囲】
【請求項1】
入力画像から異なる縮小率を有する複数の縮小画像を生成する縮小手段と、
前記入力画像よりも前の入力画像から生成された前記複数の縮小画像の1つ以上を保持する保持手段と、
異なる縮小率を有する複数の縮小画像に対して予め定められた処理を適用したのち、前記入力画像と同じ解像度に変換した複数の拡大データを合成した合成データに基づいて前記入力画像に処理を適用する階層処理手段と、
設定に応じて、前記入力画像から生成された複数の縮小画像の1つ以上に代えて前記保持手段に保持された縮小画像を前記階層処理手段に出力する選択手段と、を有し、
前記選択手段は、第1の設定よりも低遅延であることが優先される第2の設定である場合には、前記第1の設定の場合よりも多くの縮小画像について前記保持手段に保持された縮小画像を前記階層処理手段に出力することを特徴とする画像処理装置。
【請求項2】
前記設定が画質を最優先する設定である場合、前記選択手段は前記入力画像から生成された複数の縮小画像を前記階層処理手段に出力することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記設定が低遅延を優先する設定である場合、前記選択手段は前記入力画像から生成された複数の縮小画像の1つ以上に代えて前記保持手段に保持された縮小画像を前記階層処理手段に出力することを特徴とする請求項1または2に記載の画像処理装置。
【請求項4】
入力画像間の位置ずれ量を検出する検出手段をさらに有し、
前記階層処理手段は、前記位置ずれ量の影響を軽減するように前記合成データを生成することを特徴とする請求項1からのいずれか1項に記載の画像処理装置。
【請求項5】
前記階層処理手段は、前記複数の拡大データを合成比率に基づいて合成する合成手段を有し、
前記合成手段は、前記設定に応じた合成比率と、前記位置ずれ量に応じた合成比率とから前記複数の拡大データのそれぞれについての合成比率を決定することを特徴とする請求項に記載の画像処理装置。
【請求項6】
前記入力画像から生成された縮小画像に基づく拡大データに対する前記設定に応じた合成比率が1であることを特徴とする請求項に記載の画像処理装置。
【請求項7】
前記保持手段に保持された縮小画像に基づく拡大データに対する前記設定に応じた合成比率が1より小さいことを特徴とする請求項またはに記載の画像処理装置。
【請求項8】
前記位置ずれ量に応じた合成比率が、位置ずれ量の増加によって減少することを特徴とする請求項からのいずれか1項に記載の画像処理装置。
【請求項9】
第1の縮小画像についての前記位置ずれ量に応じた合成比率は、前記第1の縮小画像よりも小さい第2の縮小画像についての前記位置ずれ量に応じた合成比率よりも、前記位置ずれ量の増加によって大きく減少することを特徴とする請求項に記載の画像処理装置。
【請求項10】
前記入力画像が静止画である場合、前記選択手段は、前記設定にかかわらず、前記入力画像から生成された複数の縮小画像を前記階層処理手段に出力することを特徴とする請求項1からのいずれか1項に記載の画像処理装置。
【請求項11】
画像処理装置が実行する画像処理方法であって、
入力画像から異なる縮小率を有する複数の縮小画像を生成する縮小工程と、
異なる縮小率を有する複数の縮小画像に対して予め定められた処理を適用したのち、前記入力画像と同じ解像度に変換した複数の拡大データを合成した合成データに基づいて前記入力画像に処理を適用する階層処理工程と、
設定に応じて、前記入力画像から生成された複数の縮小画像の1つ以上に代えて、前記入力画像よりも前の入力画像から生成された前記複数の縮小画像の1つ以上を保持する保持手段に保持された縮小画像を前記階層処理工程に出力する選択工程と、を有し、
前記選択工程では、第1の設定よりも低遅延であることが優先される第2の設定である場合には、前記第1の設定の場合よりも多くの縮小画像について前記保持手段に保持された縮小画像を前記階層処理工程に出力することを特徴とする画像処理方法。
【請求項12】
コンピュータを、請求項1から10のいずれか1項に記載の画像処理装置が有する各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は画像処理装置および画像処理方法に関し、特には階層的な処理の高速化技術に関する。
【背景技術】
【0002】
従来、例えば階層的な画像処理として、元画像と、元画像の縮小画像とを用いるマルチレート処理が知られている。マルチレート処理では、縮小の階層(縮小回数)が増加するにつれ、処理時間が増加する。
【0003】
特許文献1では、階層的な画像処理を高速化するために、画像ブロック単位で実施する階層的な画像処理を時間方向に分割し、複数の画像ブロックに対する階層的な画像処理をパイプライン化することが開示されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2009-81596号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
画像を垂直方向に縮小するには、必要な画素ラインが揃うまで待たなければならない。例えば、垂直方向に1/256に縮小する場合には256ライン分のデータが揃うまで待つ必要がある。しかしながら、特許文献1に開示された技術では、縮小に要する時間を短縮することはできない。この結果、例えばマルチレート処理を適用した画像をライブビュー表示に用いる場合、撮影から表示までの遅延が大きくなる。
【0006】
本発明はこのような課題に鑑みなされたものであり、入力画像とその縮小画像を用いた階層的な画像処理を高速に実行可能な画像処理装置および画像処理方法を提供することを目的の1つとする。
【課題を解決するための手段】
【0007】
また、上述の目的は、入力画像から異なる縮小率を有する複数の縮小画像を生成する縮小手段と、入力画像よりも前の入力画像から生成された複数の縮小画像の1つ以上を保持する保持手段と、異なる縮小率を有する複数の縮小画像に対して予め定められた処理を適用したのち、入力画像と同じ解像度に変換した複数の拡大データを合成した合成データに基づいて入力画像に処理を適用する階層処理手段と、設定に応じて、入力画像から生成された複数の縮小画像の1つ以上に代えて保持手段に保持された縮小画像を階層処理手段に出力する選択手段と、を有し、選択手段は、第1の設定よりも低遅延であることが優先される第2の設定である場合には、第1の設定の場合よりも多くの縮小画像について保持手段に保持された縮小画像を階層処理手段に出力することを特徴とする画像処理装置によって達成される。
【発明の効果】
【0008】
本発明によれば、入力画像とその縮小画像を用いた階層的な画像処理を高速に実行可能な画像処理装置および画像処理方法を提供することができる。
【図面の簡単な説明】
【0009】
図1】第1実施形態に係る画像処理装置の機能構成例を示すブロック図
図2】第1実施形態に係る画像処理装置のタイミングチャート
図3】第1実施形態に係る画像処理装置の動作に関するフローチャート
図4】第2実施形態に係る画像処理装置の機能構成例を示すブロック図
図5】第2実施形態における、位置ずれに応じた合成比率の例を示す図
図6】第2実施形態に係る画像処理装置のタイミングチャート
図7】第2実施形態に係る画像処理装置の動作に関するフローチャート
【発明を実施するための形態】
【0010】
以下、添付図面を参照して本発明をその例示的な実施形態に基づいて詳細に説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定しない。また、実施形態には複数の特徴が記載されているが、その全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0011】
なお、以下の実施形態では、本発明をデジタル一眼レフカメラ(DSLR)で実施する場合に関して説明する。しかし、本発明は撮像機能を有する任意の電子機器に対して適用可能である。このような電子機器には、ビデオカメラ、コンピュータ機器(パーソナルコンピュータ、タブレットコンピュータ、メディアプレーヤ、PDAなど)、携帯電話機、スマートフォン、ゲーム機、ロボット、ドローン、ドライブレコーダが含まれる。これらは例示であり、本発明は他の電子機器にも適用可能である。
【0012】
●(第1実施形態)
図1は、第1実施形態に係る画像処理装置100の機能構成例を示すブロック図である。画像処理装置100が例えばコンピュータ機器で実施される場合、保持部102を除く機能ブロックは1つ以上のプロセッサが不揮発性メモリなどに格納されたプログラムをメモリに読み込んで実行することによって実現することができる。なお、1つ以上の機能ブロックを、ASIC、FPGAなどのハードウェア回路によって実現してもよい。また、画像処理装置100の全体をSoCとして構成してもよい。以下の説明において、画像処理装置が100が動作主体である処理は、実際にはプロセッサやハードウェア回路によって実現される。
【0013】
縮小部101は、1フレーム分の入力画像(現入力画像)から解像度の異なる複数の縮小画像を生成する。縮小部101は、生成した縮小画像を保持部102および選択部103に出力する。本実施形態において縮小部101は、入力画像を水平方向(ラスタ方向)および垂直方向の両方について同じ縮小率で縮小することにより縮小画像を生成する。ここでは、縮小部101が、現入力画像の水平および垂直方向の解像度を1/2、1/16、1/256に縮小した第1~第3縮小画像を生成するものとする。
【0014】
保持部102は例えばDRAMやSRAMで構成され、縮小部101が生成した縮小画像を保持する。保持部102は、縮小部101が現入力画像よりも前の入力画像(例えば1フレーム前)について生成した縮小画像を保持する。
【0015】
選択部103は、縮小部101が出力する複数の縮小画像の1つ以上に代えて、保持部102が保持する縮小画像を階層処理部110に出力する。選択部103は例えば外部から与えられるモード信号によって設定されるモードに応じて、保持部102から出力する縮小画像を選択する。モードは例えばユーザが設定可能であってもよい。本実施形態では高画質モードと3つの低遅延モードの4種類があるものとするが、モードの種類は2以上の任意の数であってよい。
【0016】
高画質モードが設定された場合、選択部103は縮小部101の出力する第1~第3縮小画像(現フレームの縮小画像)を階層処理部110に出力し、保持部102に保持された縮小画像は階層処理部110に出力しない。
3つの低遅延モードのうち、出力遅延が最も小さい第1低遅延モードが設定された場合、選択部103は保持部102に保持された、前の(例えば1フレーム前の)入力画像の第1~第3縮小画像を選択し、階層処理部110に出力する。
【0017】
低遅延モード1の次に出力遅延の小さい低遅延モード2が設定された場合、選択部103は、第1縮小画像については縮小部101の出力する縮小画像を階層処理部110に出力する。一方、第2および第3縮小画像については縮小部101が出力する縮小画像に代えて保持部102に保持された縮小画像を選択し、階層処理部110に出力する。
【0018】
低遅延モード2の次に出力遅延の小さい低遅延モード3が設定された場合、選択部103は、第1および第2縮小画像については縮小部101の出力する縮小画像を階層処理部110に出力する。一方、第3縮小画像については縮小部101が出力する縮小画像に代えて保持部102に保持された縮小画像を選択し、階層処理部110に出力する。
【0019】
このように、選択部103は、モードに対応する遅延もしくは許容される遅延が小さいほど、縮小部101が出力する縮小画像に代えて保持部102に保持された縮小画像を多く選択する。高画質モードは対応する遅延が最も大きいモードである。
【0020】
次に、階層処理部110に関して説明する。階層処理部110は、ゲイン変換部104、拡大部105、合成部106、およびゲイン処理部107とを有する。
【0021】
ゲイン変換部104は、選択部103から供給される第1~第3縮小画像に対して予め定められた処理を適用する手段の一例である。ここでは、予め定められた処理がゲインマップの生成処理であるが、他の処理であってもよい。ゲインマップは、画素の値を、予め定められたトーンマッピング(階調変換)の特性にしたがった値に変換するためのゲイン(係数)を、画素ごとに示すマップである。ゲイン変換部104は、第1~第3縮小画像から第1~第3縮小ゲインマップを生成し、拡大部105に出力する。
【0022】
拡大部105は、ゲイン変換部104が生成した第1~第3ゲインマップを、入力画像と同じサイズ(解像度)に変換(拡大)し、第1~第3拡大ゲインマップ(拡大データ)を生成する。具体的には、拡大部105は、
・第1縮小ゲインマップを水平および垂直方向のそれぞれについて2倍拡大し、第1拡大ゲインマップを生成し、
・第2縮小ゲインマップを水平および垂直方向のそれぞれについて16倍拡大し、第2拡大ゲインマップを生成し、
・第3縮小ゲインマップを水平および垂直方向のそれぞれについて256倍拡大し、第3拡大ゲインマップを生成する。拡大部105は、生成した第1~第3拡大ゲインマップを合成部106に出力する。
【0023】
合成部106は、第1~第3拡大ゲインマップを合成して、合成データの一例としての合成ゲインマップを生成する。合成部106は、合成ゲインマップをゲイン処理部107に出力する。合成ゲインマップは、現入力画像の各画素に適用するゲインを示すマップである。現入力画像と同じ解像度の2次元データであり、現入力画像の各画素に適用するゲインが、画素と対応する座標のデータとして格納されている。
【0024】
ゲイン処理部107は、入力画像に合成ゲインマップに応じたゲインを適用し、ゲイン適用後の画像を出力する。
【0025】
現像部108は、階層処理部110(ゲイン処理部107)が出力するゲイン適用後の画像に所定の現像処理を適用する。現像処理には例えば色補完処理(同時化処理)、ホワイトバランス処理、スケーリング処理などが含まれる。現像処理により、表示や記録に用いる画像が得られる。現像部108は、現像処理を適用した画像を出力部109に出力する。なお、現像部108は必須ではない。
【0026】
出力部109は、現像処理が適用された画像を、記録や表示のために例えば外部装置に出力する。
【0027】
次に、画像処理装置100の階層的な画像処理動作について説明する。ここでは、入力画像が60フレーム/秒のフレームレートを有する動画であり、フレーム解像度が水平2048画素、垂直1024画素であるものとする。また、入力画像は例えば動画を撮影する撮像素子からリアルタイムに入力されるか、それと同等のデータレートで入力されるものとする。また、動画は所謂RAW形式であり、フレームを構成する各画素は、動画の撮影に用いられた撮像素子が備えるカラーフィルタの配列パターンに応じた1つの色成分の値を有する。ここでは、撮像素子が原色ベイヤ配列のカラーフィルタを備えるものとする。原色ベイヤ配列では、赤(R)と緑(G)が水平方向に交互に配列される行と、緑(G)と青(B)が水平方向に配列される行が垂直方向に交互に並んだ配列を有する。
【0028】
まず、図2(a)に示すタイミングチャートを用いて、高画質モードが設定されている場合の画像処理装置100の動作について説明する。高画質モードは画質が最優先され、遅延が最も大きいモードである。
【0029】
以下の説明では、画像処理装置100の動作クロック周波数が166MHzであり、画像処理装置100が1クロック当たり1画素処理するものとする。なお、動作クロック周波数や1クロックあたりに処理する画素数は単なる例示であり、他の値であってもよい。また、nフレーム目の入力画像を入力画像nと表記する。
【0030】
時刻t300から入力画像1が画像処理装置100に入力され始める。入力画像1は、縮小部101および階層処理部110に入力される。縮小部101は縮小画像の生成を開始する。
【0031】
時刻t301で縮小部101は入力画像1の第1縮小画像を保持部102および選択部103に出力しはじめる。t300からt301までの期間は0.048msec程度である。第1縮小画像は入力画像を水平および垂直方向に1/2ずつ縮小した画像であるため、縮小部101は垂直方向の縮小のために4水平ライン分のデータが内部のバッファに揃うまで待機する必要がある。2水平ラインでなく4水平ライン分のデータが必要なのは、原色ベイヤ配列のカラーフィルタを有する撮像素子を用いて撮影された画像データを対象とするためである。水平方向の色配列が共通する2ラインのデータを取得するためには、4ライン分のデータが必要になる。
【0032】
1水平ラインのバッファリングには、
1 / 166MHz × 2048画素 = 0.012msec
が必要であるため、4水平ライン分のバッファリングには
0.012msec × 4ライン = 0.048msec
を要する。
【0033】
時刻t302で縮小部101は入力画像1の第2縮小画像を保持部102および選択部103に出力しはじめる。t300からt302までの期間は0.384msec(=0.012×32)程度である。第縮小画像は入力画像を水平および垂直方向に1/16ずつ縮小した画像であるため、縮小部101は垂直方向の縮小のために32水平ライン分のデータが内部のバッファに揃うまで待機する必要がある。
【0034】
時刻t303で縮小部101は入力画像1の第3縮小画像を保持部102および選択部103に出力しはじめる。t300からt303までの期間は6.144msec(=0.012×512)程度である。第縮小画像は入力画像を水平および垂直方向に1/256ずつ縮小した画像であるため、縮小部101は垂直方向の縮小のために512水平ライン分のデータが内部のバッファに揃うまで待機する必要がある。
【0035】
選択部103は、高画質モードが設定されていることにより、第1~第3縮小画像のすべてついて、縮小部101から出力される入力画像1の縮小画像を選択して階層処理部110へ出力を開始する。階層処理部110および現像部108の処理を経て、入力画像1に対応する出力画像1が時刻t304に出力部109から出力され始める。
【0036】
高画質モードにおいて、1フレーム分の入力画像が入力され始める時刻t300から、出力部109で出力され始める時刻t304までに要する時間は、縮小率が最も高い第3縮小画像の生成が開始されるまでの時間であり、6.144msec程度である。また、階層処理部110と現像部108の処理時間は時刻t303からt304までの期間に相当し、時刻t300からt303までの期間に対して十分短い。本実施形態において、階層処理部110の処理サイクルが80サイクル、現像部108の処理サイクルが20サイクルとする。また、1サイクルが6クロックであるとする。
【0037】
階層処理部110および現像部108の動作クロック周波数が100MHzであるとすると、階層処理部110での処理時間は480nsec、現像部108での処理時間は120nsecとなる。処理時間の合計は0.6μsecであり、6.144msecに対して十分短い。
【0038】
このように、高画質モードでは、入力画像1の入力開始から現像処理の終了まで、6msec程度の遅延が生じるが、第1~第3縮小画像がいずれも現入力画像から生成されたものであるため、処理精度が最も高い。本実施形態では、他のモードと比較して、生成される合成ゲインマップの精度が最も高くなるため、現入力画像に対するトーンマッピングの精度が最も高くなる。
【0039】
次に、低遅延モード1が設定された場合の画像処理装置100の動作について、図2(b)を用いて説明する。入力画像や画像処理装置100の処理能力に関しては高画質モードが設定された場合と共通とする。低遅延モード1は遅延の少なさが最優先されるモードである。
【0040】
時刻t300から入力画像1が画像処理装置100に入力され始める。入力画像1は、縮小部101および階層処理部110に入力される。縮小部101は縮小画像の生成を開始する。低遅延モード1が設定されている場合、階層処理部110は入力画像の最初のフレーム(入力画像1)については階層処理を行わず、入力画像1をそのまま現像部108に供給する。なお、ゲイン処理部107において入力画像1に影響を与えない合成ゲインを適用して現像部108に出力してもよい。あるいは、入力画像1については階層処理部110に入力せずに現像部108に直接入力してもよい。この結果、入力画像1に対する出力画像1の出力が時刻t305から開始される。
【0041】
時刻t301、t302、t303で縮小部101は入力画像1の第1~第3縮小画像をそれぞれ保持部102および選択部103に出力し始める。
【0042】
その後、次のフレーム(入力画像2)の入力が始まる時刻t307より前の時刻t306において、選択部103は、保持部102に保持されている、入力画像1から生成された第1~第3縮小画像を階層処理部110へ出力し始める。階層処理部110は入力画像1の第1~第3縮小画像を用いた階層処理を開始する。
【0043】
その後、時刻t307から、画像処理装置100に入力画像2の入力が開始される。ゲイン処理部107は、入力画像1の第1~第3縮小画像を用いて生成された合成ゲインマップを入力画像2に適用して現像部108に出力する。また、現像部108はゲイン処理後の入力画像2に対して現像処理を開始する。階層処理部110および現像部108の処理を経て、入力画像2に対応する出力画像2が時刻t308に出力部109から出力され始める。
【0044】
入力画像2が入力されてから出力画像2が出力されるまでのt307からt308までの期間は、入力画像1が入力されてから出力画像1が出力されるまでのt300からt305までの期間と同様、非常に短い。これは、入力画像2に適用する合成ゲインマップを生成する階層処理が、入力画像2の入力開始前の時点で入力画像1の第1~第3縮小画像を用いて開始されているからである。低遅延モード1では、階層処理に用いる複数の縮小画像をいずれも現入力画像よりも前に入力された画像の縮小画像とすることにより、現入力画像に対する処理遅延を最も小さくすることができる。一方で、階層処理の精度は高画質モードや低遅延モード2、3よりも低下する。
【0045】
次に、低遅延モード2が設定された場合の画像処理装置100の動作について、図2(c)を用いて説明する。入力画像や画像処理装置100の処理能力に関しては高画質モードが設定された場合と共通とする。低遅延モード2は低遅延モード1の次に遅延が少ないモードである。
【0046】
時刻t300から入力画像1が画像処理装置100に入力され始める。入力画像1は、縮小部101および階層処理部110に入力される。縮小部101は縮小画像の生成を開始する。低遅延モード1とは異なり、低遅延モード2が設定されている場合には、階層処理部110は入力画像の最初のフレーム(入力画像1)について階層処理を行う。
【0047】
時刻t301で縮小部101は入力画像1の第1縮小画像を保持部102および選択部103に出力し始める。低遅延モード2が設定されている場合、階層処理部110は入力画像の最初のフレーム(入力画像1)については第1縮小画像だけを用いて階層処理を実行する。この結果、現像部108による現像処理が完了した、入力画像1に対する出力画像1の出力は、縮小部101が入力画像1の第2縮小画像を出力し始める時刻t302より前の時刻t309から開始される。
【0048】
その後、時刻t302およびt303で縮小部101は入力画像1の第2および第3縮小画像をそれぞれ保持部102および選択部103に出力し始める。
【0049】
時刻t307から次のフレーム(入力画像2)の入力が始まり、時刻t310に縮小部101が入力画像2の第1縮小画像の出力を開始する。選択部103は、入力画像2の第1縮小画像と、保持部102に保持されている、入力画像1から生成された第2~第3縮小画像とを階層処理部110へ出力し始める。階層処理部110は入力画像2の第1縮小画像と、入力画像1の第2~第3縮小画像を用いた階層処理を開始する。
【0050】
そして、階層処理部110における階層処理と、現像部108による現像処理とが完了した出力画像2が、出力部109によって時刻t311から出力され始める。
低遅延モード2において、入力画像2が入力されてから出力画像2が出力されるまでのt307からt311までの期間は0.024msec程度である。時刻t310からt311までの期間は階層処理部110、現像部108での処理時間であり、先に説明したように十分小さい時間である。
【0051】
低遅延モード2では、階層処理に用いる複数の縮小画像のうち、最も縮小率が小さい(ここでは1/2)縮小画像については現入力画像から生成されたものを、縮小率がより大きな縮小画像については過去の画像から生成されたものを用いる。そのため、高画質モードより遅延が少なく、低遅延モード1より高精度な階層処理が実現できる。
【0052】
次に、低遅延モード3が設定された場合の画像処理装置100の動作について、図2(d)を用いて説明する。入力画像や画像処理装置100の処理能力に関しては高画質モードが設定された場合と共通とする。低遅延モード3は低遅延モード2の次に遅延が少ないモードである。
【0053】
時刻t300から入力画像1が画像処理装置100に入力され始める。入力画像1は、縮小部101および階層処理部110に入力される。縮小部101は縮小画像の生成を開始する。
【0054】
時刻t301およびt302で縮小部101は入力画像1の第1および第2縮小画像を保持部102および選択部103に出力し始める。低遅延モード3が設定されている場合、階層処理部110は入力画像の最初のフレーム(入力画像1)については第1および第2縮小画像だけを用いて階層処理を実行する。この結果、現像部108による現像処理が完了した、入力画像1に対する出力画像1の出力は、縮小部101が入力画像1の第3縮小画像を出力し始める時刻t303より前の時刻t312から開始される。
【0055】
その後、時刻t303で縮小部101は入力画像1の第3縮小画像を保持部102および選択部103に出力し始める。
【0056】
時刻t307から次のフレーム(入力画像2)の入力が始まり、時刻t310に縮小部101が入力画像2の第1縮小画像の出力を開始する。また、選択部103は階層処理部110に入力画像2の第1縮小画像を出力する。その後、時刻t313に縮小部101が入力画像2の第2縮小画像の出力を開始すると、選択部103は、入力画像2の第2縮小画像と、保持部102に保持されている、入力画像1から生成された第3縮小画像とを階層処理部110へ出力し始める。階層処理部110は入力画像2の第1および第2縮小画像と、入力画像1の第3縮小画像を用いた階層処理を開始する。
【0057】
そして、階層処理部110における階層処理と、現像部108による現像処理とが完了した出力画像2が、出力部109によって時刻t314から出力され始める。
低遅延モード3において、入力画像2が入力されてから出力画像2が出力されるまでのt307からt314までの期間は0.384msec程度である。時刻t313からt314までの期間は階層処理部110、現像部108での処理時間であり、先に説明したように十分小さい時間である。
【0058】
低遅延モード3では、階層処理に用いる複数の縮小画像のうち、最も縮小率が小さい(ここでは1/2)縮小画像と、次に縮小率が小さい(ここでは1/16)については現入力画像から生成されたものを用いる。また、縮小率がより大きな縮小画像については過去の画像から生成されたものを用いる。そのため、高画質モードより遅延が少なく、低遅延モード2より高精度な階層処理が実現できる。
【0059】
図3は、図2を用いて説明した画像処理装置100の動作を示すフローチャートである。この動作は、画像処理装置100において階層処理を開始する前の任意のタイミングで開始することができる。
【0060】
S1001で画像処理装置100は、設定されているモードを確認する。モードは、画像処理装置100もしくは画像処理装置100を実装する電子機器が備える入力装置を通じて例えばユーザが設定可能であってよい。あるいは、例えば画像処理装置100を実装する電子機器の設定に応じたモードが設定されてもよい。例えば電子機器が撮像装置であれば、撮像装置に設定されている撮影モードに応じたモードが設定されてもよい。
【0061】
S1002で画像処理装置100は、設定されているモードに応じて、選択部103の動作を決定する。具体的には、画像処理装置100は、第1~第3縮小画像について、現入力画像について生成された縮小画像と、過去の画像について生成され、保持部102に記憶された縮小画像とのどちらを選択部103が階層処理部110に出力するかを決定する。
【0062】
画像データの入力が開始されると、S1003およびS1004で画像処理装置100は図2(a)~(d)を用いて説明したように、設定されているモードに応じた階層処理と、現像処理および出力処理とを実行する。
【0063】
S1005で画像処理装置100は、終了条件が満たされたか否かを判定する。例えば画像処理装置100は、画像データの入力が終了した場合や、ユーザによる終了指示を検出した場合に、終了条件が満たされたと判定することができる。画像処理装置100は、終了条件が満たされたと判定されれば図3のフローチャートに示す処理を終了する。また画像処理装置100は、終了条件が満たされたと判定されなければ入力される画像データに対してS1003の階層処理およびS1004の現像、出力処理を繰り返し実行する。
【0064】
以上説明したように、本実施形態によれば、入力画像とその縮小画像を用いた階層処理を実行する画像処理装置において、過去の入力画像から生成した縮小画像を利用することで、階層処理を高速に実行可能とした。そのため、本実施形態に係る画像処理装置は、処理のリアルタイム性が重視される用途に対して好適に利用可能である。さらに、階層処理に用いる縮小画像のうち、過去の入力画像から生成した縮小画像を用いる割合を可変としたので、処理のリアルタイム性と階層処理の精度とのどちらを優先するかに応じて勘案しながら、適切な階層処理を適用することが可能である。
【0065】
●(第2実施形態)
次に、本発明の第2実施形態について説明する。図4は、第2実施形態に係る画像処理装置400の機能構成例を示すブロック図である。図4において、第1実施形態で説明した画像処理装置100と同様の機能ブロックについては図1と同じ参照数字を付して説明を省略する。
【0066】
本実施形態において、設定されるモードに応じた選択部103の動作は第1実施形態と同様である。一方、本実施形態では、動的にモードを切り替えること、階層処理において、保持部102に保持された過去の入力画像の縮小画像を用いる場合に、現入力画像との差による影響を軽減するように合成ゲインマップを生成することが第1実施形態と異なる。
【0067】
まず、モードの動的な切り替えについて説明する。例えば、典型的には画像処理装置400が撮像装置に実装される場合、入力画像は動画に限定されず、静止画の場合もある。撮像装置に実装された画像処理装置400が動画を処理する場合、処理した画像は撮像装置が有する表示装置に表示される場合が多いため、途中で処理遅延が大きく変化することは望ましくない。そのため、動画に関しては入力が開始されてから終了するまで、選択部103に設定されるモードは固定とする。一方、動画撮影中に静止画撮影が行われた場合、撮影された静止画については遅延が短いことよりも画質がよいことが望ましい。したがって、静止画については高画質モードで階層処理を実行するようにする。
【0068】
次に、過去の入力画像から生成された縮小画像を用いる場合の合成部406の動作について説明する。本実施形態の画像処理装置400は、現入力画像と、保持部102に保持されている縮小画像に対応する過去の入力画像との位置ずれを検出する位置ずれ検出部407を有する。
【0069】
位置ずれ検出部407は、入力画像を保持するためのメモリを有し、保持部102に保持されている縮小画像の元になった過去の入力画像(例えば現入力画像の1フレーム前の入力画像)と現入力画像との位置ずれの大きさを検出する。あるいは、保持部102に保持されている縮小画像の元になった過去の入力画像と、より古い過去の入力画像(例えばさらに1フレーム前の入力画像)との位置ずれの大きさを検出する。位置ずれ検出処理に要する時間が無視できない場合には後者とする。
【0070】
位置ずれの検出方法に特に制限は無く、公知の任意の方法を用いることができる。位置ずれ検出部407は例えばパターンマッチングを用いた動きベクトル検出技術を用い、画像間の動きの大きさをずれ量として求めることができる。
【0071】
合成部406は、過去の入力画像から生成された縮小画像を用いない高画質モード以外のモードが設定された場合、位置ずれ検出部407が検出した位置ずれの大きさに応じた合成率で第1~第3拡大ゲインマップを合成し、合成ゲインマップを生成する。具体的な合成比率の算出方法に関しては後述するが、合成部406は、現入力画像から生成された縮小画像に基づく拡大ゲインマップの合成比率は最大(減らさない)とし、過去の入力画像から生成された縮小画像に基づく拡大ゲインマップの合成比率を減らす。
【0072】
図5は、位置ずれ検出部407により検出された位置ずれ量と、拡大ゲインマップの合成比率との関係例を示す。図5(a)は第1拡大ゲインマップ、図5(b)は第2拡大ゲインマップ、図5(c)は第3拡大ゲインマップの合成比率の例を示している。いずれも合成比率が位置ずれ量の増加によって減少する(ただし、合成比率が所定の位置ずれ量で0になる場合、さらに位置ずれ量が増加しても合成比率は0のままで減少しない)。
【0073】
最大の合成比率は1(100%)あり、最小の合成比率は0(0%)である。したがって、合成比率が0の拡大ゲインマップは実質的に合成ゲインマップに反映されない。図5に示す例では、位置ずれ量が8画素以上になると、第1拡大ゲインマップが合成ゲインマップに反映されなくなる。さらに、位置ずれ量が16画素以上になると、第2拡大ゲインマップも合成ゲインマップに反映されなくなる。これは、縮小率の小さい縮小画像(小さい縮小画像)に基づく拡大ゲインマップほど、位置ずれの影響を受けやすいためである。
【0074】
なお、図5に示す位置ずれ量と合成比率との具体的な関係は単なる例示であり、他の関係に基づいて合成比率を決定してもよい。ただし、第1の縮小画像についての位置ずれ量に応じた合成比率は、第1の縮小画像よりも小さい第2の縮小画像についての位置ずれ量に応じた合成比率よりも、位置ずれ量の増加によって大きく減少するという関係は満たすようにする。
【0075】
位置ずれ量と拡大ゲインマップそれぞれの合成比率との関係は、例えば合成部406に予め記憶しておくことができる。ここで、図5の関係に基づいて、位置ずれ検出部407で検出された位置ずれ量が8画素の場合の、合成部406における合成比率の算出についての具体例を説明する。
【0076】
第1~第3拡大ゲインマップには、位置ずれ量とは無関係な、合成比率の初期値(元合成比率)が、モードごとに設定されている。上述したように、現入力画像から生成される縮小画像に基づく拡大ゲインマップについては、元合成比率は1(100%)である。一方、過去の入力画像から生成された縮小画像に基づく拡大ゲインマップの元合成比率は1(100%)より小さい値がモードごと、かつ拡大ゲインマップごとに予め合成部406に記憶されている。過去の入力画像から生成された縮小画像に基づく拡大ゲインマップについては、縮小率が最も小さい縮小画像に基づく拡大ゲインマップの元合成比率が最大となるように設定される。残りの拡大ゲインマップについては、縮小率1<縮小率2という関係に対して縮小率1に対する元合成比率1≧縮小率2に対する元合成比率2という関係を満たすように設定することができる。
【0077】
例えば、低遅延モード1の場合、第1拡大ゲインマップの元合成比率が0.5(50%)であり、第2および第3拡大ゲインマップの元合成比率がそれぞれ0.25(25%)とすることができる。第2拡大ゲインマップの元合成比率を第3拡大ゲインマップの元合成比率より大きくしてもよい。
【0078】
合成部406は、拡大ゲインマップごとに元合成比率に位置ずれ量に応じた合成比率を乗じた値を求め、拡大ゲインマップごとに求めた値の合計が1(100%)になるように各値を正規化して最終的な合成比率を決定する。
【0079】
上述の例であれば、第1拡大ゲインマップは、元合成比率が0.5、位置ずれ量に応じた合成比率が0であるから、正規化前の最終的な合成比率は0.5×0=0(0%)である。
第2拡大ゲインマップは、元合成比率が0.25、位置ずれ量に応じた合成比率が0.25であるから、正規化前の最終的な合成比率は0.25×0.25=0.0625(6.25%)である。
第3拡大ゲインマップは、元合成比率が0.25、位置ずれ量に応じた合成比率が0.5であるから、正規化前の最終的な合成比率は0.25×0.5=0.125(12.5%)である。
【0080】
正規化前の最終的な合成比率の合計は、0+0.0625+0.125=0.1875である。これが1になるように各拡大ゲインマップの合成比率を正規化すると、
第1拡大ゲインマップ
0/0.1875=0(0%)
第2拡大ゲインマップ
0.0625/0.1875=0.333(33%)
第3拡大ゲインマップ
0.125/0.1875=0.666(67%)
となる。
【0081】
したがって、合成部406は、第2拡大ゲインマップの値×0.33+第3拡大ゲインマップの値×0.67として合成ゲインマップを生成する。具体的には、合成部406は、第2および第3拡大ゲインマップの対応する要素の値を重み付け加算した結果を、合成ゲインマップの対応する要素の値とすることにより、合成ゲインマップを生成する。
【0082】
本実施形態の画像処理装置400の動作を、特に位置ずれ検出部407および合成部406の動作に着目して、図6のタイミングチャートを用いて説明する。ここでは、入力画像が第1実施形態と同様の動画であり、低遅延モード2が設定されているものとする。したがって、第1~第3縮小画像のうち、第1縮小画像については縮小部101の出力する縮小画像が、第2および第3縮小画像については保持部102に保持された過去の縮小画像が、階層処理に用いられる。
【0083】
また、位置ずれ検出部407は、現入力画像の1フレーム前および2フレーム前の入力画像間での位置ずれを検出するものとする。したがって、図6のタイミングチャートでは、位置ずれを反映した合成ゲインマップの生成が最初に行われるのは、入力画像3に対する階層処理である。
【0084】
図6において、時刻t300、t301、t302、t303、t306、t310、t311、t309における動作は、入力画像が位置ずれ検出部407にも入力されることを除き、図2(c)を用いて説明した第1実施形態と同様のため説明を省略する。
【0085】
時刻t700で入力画像2の入力が完了すると、位置ずれ検出部407は入力画像1と入力画像2の位置ずれ検出処理を開始する。
その後、時刻t702から入力画像3が画像処理装置400に入力され始める。入力画像3は、縮小部101、階層処理部410、および位置ずれ検出部407に入力され、縮小部101は縮小画像の生成を開始する。
【0086】
時刻t703で第1~第3縮小画像が階層処理部410に入力され始める前に、位置ずれ検出部407は位置ずれ量の検出を完了し、検出した位置ずれ量を合成部406に通知する。なお、実際には拡大部105が拡大ゲインマップを生成し終わるまえに位置ずれ量の検出が完了すれば、位置ずれ量の検出による遅延の増加は回避できる。
【0087】
合成部406は、上述したように、設定されているモードに応じた元合成比率と位置ずれ量に応じた合成比率とから、拡大ゲインマップごとの最終的な合成比率を算出する。そして、算出した合成比率を拡大部105から供給される拡大ゲインマップに適用して合成ゲインマップを生成する。ゲイン処理部408は入力画像3に対して合成ゲインマップに基づく処理(ここではトーンマッピング処理)を適用して現像部108に出力する。現像部108による現像処理が終了すると、時刻t703から出力部109による出力画像3の出力が開始される。
【0088】
なお、上述したように、高画質モードが設定されている場合には、過去の入力画像から生成された縮小画像が使用されないため、画像処理装置400の動作は第1実施形態で説明した画像処理装置100の動作と同一である。
【0089】
図7は、図4図6を用いて説明した画像処理装置100の動作を示すフローチャートである。この動作は、画像処理装置400において階層処理を開始する前の任意のタイミングで開始することができる。図7において、第1実施形態と同様の処理ステップについては図3と同じ参照数字を付し、重複する説明を省略する。
【0090】
S1001で画像処理装置400は、設定されているモードを確認する。
【0091】
画像データの入力が開始されると、S5001で画像処理装置400は、入力画像が動画か静止画かを判別し、動画と判別されればS5002を、静止画と判別されればS5004を実行する。動画および静止画の判別方法に特に制限はなく、例えば解像度で判別してもよい。また、画像処理装置400が撮像装置に実装される場合、静止画の撮影スタンバイ状態であればEVF表示用の動画と判別できる。また、シャッタボタンの押下があれば静止画、動画撮影ボタンの押下があれば動画と判別できる。
【0092】
S5002で位置ずれ検出部407は、2フレーム目以降の入力画像について、1フレーム前の入力画像との位置ずれ量の検出を開始する。
【0093】
S1002で画像処理装置400は、設定されているモードに応じて、選択部403の動作を決定する。
【0094】
S5006で合成部406は、設定されているモードに応じた元合成比率と、位置ずれ検出部407が検出した位置ずれ量に応じた合成比率とから、拡大ゲインマップごとの合成比率を算出する。
【0095】
S5004で画像処理装置400は、選択部403の動作を、高画質モードの動作とする。これにより、静止画について画質を最優先した階層処理が適用される。
【0096】
S5007では、合成部406が合成ゲインマップの生成にS5006で算出した合成比率を用いることを除き、S1003と同様に階層処理部410が階層処理を実行する。
S1004では現像部108による現像処理と出力部109による出力処理とを実行する。
【0097】
S1005で画像処理装置400は、終了条件が満たされたか否かを判定する。画像処理装置400は、終了条件が満たされたと判定されれば図7のフローチャートに示す処理を終了する。また画像処理装置400は、終了条件が満たされたと判定されなければ入力される画像データに対してS5001からの処理を繰り返し実行する。
【0098】
以上説明したように、本実施形態によれば、入力画像とその縮小画像を用いた階層処理を実行する画像処理装置において、過去の入力画像から生成した縮小画像を利用する場合、現入力画像との位置ずれの影響を軽減した階層処理を行うようにした。そのため、第1実施形態の効果に加え、より精度の高い階層処理を実現することができる。また、静止画ように遅延を低減する必要が無い入力画像に対しては、遅延を低減するモードが設定されていても画質を最優先するモードで階層処理を実行するようにした。そのため、入力画像に動画と静止画が混在する場合でも、静止画に適した階層処理を自動的に実行することができる。
【0099】
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0100】
本発明は上述した実施形態の内容に制限されず、発明の精神および範囲から離脱することなく様々な変更及び変形が可能である。したがって、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0101】
100、400…画像処理装置、110、410…階層処理部、103、403…選択部、102…保持部、106、406…合成部、407…位置ずれ検出部
図1
図2
図3
図4
図5
図6
図7