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

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

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

特許7437945画像処理装置及びその制御方法及びプログラム
<>
  • 特許-画像処理装置及びその制御方法及びプログラム 図1
  • 特許-画像処理装置及びその制御方法及びプログラム 図2
  • 特許-画像処理装置及びその制御方法及びプログラム 図3
  • 特許-画像処理装置及びその制御方法及びプログラム 図4
  • 特許-画像処理装置及びその制御方法及びプログラム 図5
  • 特許-画像処理装置及びその制御方法及びプログラム 図6
  • 特許-画像処理装置及びその制御方法及びプログラム 図7
  • 特許-画像処理装置及びその制御方法及びプログラム 図8
  • 特許-画像処理装置及びその制御方法及びプログラム 図9
  • 特許-画像処理装置及びその制御方法及びプログラム 図10
  • 特許-画像処理装置及びその制御方法及びプログラム 図11
  • 特許-画像処理装置及びその制御方法及びプログラム 図12
  • 特許-画像処理装置及びその制御方法及びプログラム 図13
  • 特許-画像処理装置及びその制御方法及びプログラム 図14
  • 特許-画像処理装置及びその制御方法及びプログラム 図15
  • 特許-画像処理装置及びその制御方法及びプログラム 図16
  • 特許-画像処理装置及びその制御方法及びプログラム 図17
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-15
(45)【発行日】2024-02-26
(54)【発明の名称】画像処理装置及びその制御方法及びプログラム
(51)【国際特許分類】
   H04N 5/93 20060101AFI20240216BHJP
   H04N 9/73 20230101ALI20240216BHJP
   H04N 23/60 20230101ALI20240216BHJP
【FI】
H04N5/93
H04N9/73 B
H04N23/60 500
【請求項の数】 11
(21)【出願番号】P 2020003067
(22)【出願日】2020-01-10
(65)【公開番号】P2021111887
(43)【公開日】2021-08-02
【審査請求日】2022-12-21
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】小林 達
【審査官】鈴木 隆夫
(56)【参考文献】
【文献】特開2009-055335(JP,A)
【文献】特開2017-126856(JP,A)
【文献】特開平10-145721(JP,A)
【文献】特開2012-129719(JP,A)
【文献】特開2011-244423(JP,A)
【文献】特開2010-263520(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 5/91-5/956
H04N 5/76-5/775
H04N 5/80-5/907
H04N 9/73
H04N 23/60
(57)【特許請求の範囲】
【請求項1】
フレームに現像パラメータに係る情報が格納されたRAW動画ファイルの再生処理を行う画像処理装置であって、
前記RAW動画ファイル内の再生対象のフレームに対する現像パラメータと先行するフレームの現像処理で用いる現像パラメータとの差に基づき、前記再生対象のフレームの現像処理に用いる現像パラメータを決定する時定数処理を実行する処理手段と、
該処理手段で決定した現像パラメータに従い前記再生対象のフレームのRAW画像に対して現像処理を行い、現像処理で得た画像を出力する現像手段と、
前記処理手段を制御する制御手段とを有し、
該制御手段は、
前記RAW動画ファイルにおける再生開始の位置がユーザから指定された場合、当該再生開始の位置に対応する着目フレームから予め設定された数だけ遡るフレームを起点にし、当該起点から前記着目フレームまでの間で前記時定数処理を実行させることで、前記着目フレームのための現像パラメータを決定する
ことを特徴とする画像処理装置。
【請求項2】
前記制御手段は、前記RAW動画ファイルの先頭フレームから前記予め設定された数以内のフレームが再生開始の位置として指定された場合は、前記先頭フレームから再生開始の位置に対応する着目フレームまでの間で前記時定数処理を実行させることで、前記着目フレームのための現像パラメータを決定することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記制御手段は、前記RAW動画ファイルの先頭フレームが再生開始の位置として指定された場合は、前記RAW動画ファイル内の前記再生開始の位置に対応する着目フレームに対する現像パラメータを、前記着目フレームのための現像パラメータとして決定することを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
前記制御手段は、
前記RAW動画ファイルにおける再生開始の位置がユーザから指定された場合、当該再生開始の位置が、再生の再開をする位置として指定されたか否かを判定する判定手段とを含み、
該判定手段がユーザから指定された再生開始の位置が、再生の再開をする位置であると判定した場合には、直前のフレームの現像処理で用いた現像パラメータと、前記RAW動画ファイルに格納された前記着目フレームの現像パラメータとから、当該着目フレームの現像パラメータを決定する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項5】
前記制御手段は、
前記着目フレームから予め設定された数だけ遡るフレームが無い場合には、前記RAW動画ファイルにおける先頭フレームを起点にして前記処理手段を実行させる
ことを特徴とする請求項1に記載の画像処理装置。
【請求項6】
前記予め設定された数は、現像パラメータの種類に依存して決定されることを特徴とする請求項1に記載の画像処理装置。
【請求項7】
前記予め設定された数は、現像パラメータの取り得る最小値から最大値に変化した場合の前記最大値に達するまでに要する前記処理手段の実行する回数であることを特徴とする請求項1乃至6のいずれか1項に記載の画像処理装置。
【請求項8】
前記現像パラメータの種類が複数ある場合、それぞれの取り得る最小値から最大値に変化した場合の前記最大値に達するまでに要する前記処理手段の実行する回数のうち、最大となる数を、前記予め設定された数として設定することを特徴とする請求項1乃至7のいずれか1項に記載の画像処理装置。
【請求項9】
前記処理手段は、
前記RAW動画ファイルに格納された、再生対象のフレームの現像パラメータをPn、
直前のフレームを現像処理した際に用いた現像パラメータをP’n-1、
差分「Pn-P’n-1」をdelta、
1を超える係数をkと定義したとき、
前記再生対象のフレームを現像するときに用いる現像パラメータP’nを、
P’n=P’n-1+delta/k
として決定する
ことを特徴とする請求項1乃至8のいずれか1項に記載の画像処理装置。
【請求項10】
フレームに現像パラメータに係る情報が格納されたRAW動画ファイルの再生処理を行う画像処理装置の制御方法であって、
前記RAW動画ファイル内の再生対象のフレームに対する現像パラメータと先行するフレームの現像処理で用いる現像パラメータとの差に基づき、前記再生対象のフレームの現像処理に用いる現像パラメータを決定する時定数処理を実行する処理工程と、
該処理工程で決定した現像パラメータに従い前記再生対象のフレームのRAW画像に対して現像処理を行い、現像処理で得た画像を出力する現像工程と、
前記処理工程を制御する制御工程とを有し、
該制御工程では、
前記RAW動画ファイルにおける再生開始の位置がユーザから指定された場合、当該再生開始の位置に対応する着目フレームから予め設定された数だけ遡るフレームを起点にし、当該起点から前記着目フレームまでの間で前記時定数処理を実行させることで、前記着目フレームのための現像パラメータを決定する
ことを特徴とする画像処理装置の制御方法。
【請求項11】
コンピュータが読み込み実行することで、前記コンピュータに、請求項10に記載の方法の各工程を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、RAW動画の再生技術に関するものである。
【背景技術】
【0002】
RAW動画と呼ばれる動画を記録するRAW動画撮影装置と、撮影されたRAW動画を再生・編集するためのRAW動画処理装置が知られている。RAW動画とは、CMOSセンサなどで受光したデータで、画像処理を適用する前のRAWと呼ばれるデータを各フレームのデータとして記録した動画である。MPEGなどの圧縮された動画ファイルとは異なり、RAW動画は各フレームに対して再生時や編集時に画像処理を適用することで、劣化の少ない編集や、出力に合わせた画像処理を適用することができ、より高画質なデータを取得することができる。その一方で、RAW動画は再生時に各フレームに対して画像処理を適用する必要があるため、処理負荷が大きく、且つ、高画質なデータで構成されているためファイルサイズも大きい。
【0003】
動画に関する画像処理として一般的に、フレーム間の変化、例えば明るさなど、を抑制する、変化量抑制処理が知られている。動画撮影中に撮影シーンが急激に変化した場合に、フレーム間の変化が大きい状態で再生してしまうと、ちらつきなど動画として不自然な表示となってしまう。そこで、フレーム間の変化量が大きすぎる場合には、変化がなだらかになるように変化量を再計算し適用することで、急激な変化を抑えた表示にすることができる。変化量抑制処理は多くのアルゴリズムが提案されているが、一般的な手法の1つとして、1つ前のフレームのパラメータ値と現在のフレームのパラメータ値から、現在のフレームのパラメータ値を再計算し、次のフレームの計算に用いる、というような漸化的なものがある。これを、時定数処理と呼ぶ。
【0004】
例えば、特許文献1では、RAW動画を再生する際に、現在のフレームのRAWデータから生成される中間パラメータ値と、現在のフレームより過去のフレームの現像パラメータ値とに基づき、現在のフレームの現像パラメータを生成(時定数処理)し、再生停止時には停止フレームの現像パラメータを保存し、停止位置から再生再開時に、再生再開フレームのRAWデータから生成される中間パラメータ値と、再生停止時に保存した再生停止フレームの現像パラメータに基づき、再生再開フレームの現像パラメータを生成する画像処理装置について記載がある。
【0005】
しかし、これは、再生停止位置から再生再開することを前提としており、任意位置から再生開始することには対応していない。
【0006】
前述の時定数処理は、先頭のフレームから順番に処理することが前提となっている。従って、あるフレームのパラメータ値を新たに計算するための計算量は、先頭フレームからそのフレームまでのフレーム数に応じて増加することになる。
【先行技術文献】
【特許文献】
【0007】
【文献】特開2012-129719号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
ファイルの途中から再生する場合でも、ファイルの先頭から再生した場合と同じ見えにするためには、ファイルの先頭から再生した場合と同じ現像パラメータ値を用いて現像する必要がある。
【0009】
特許文献1では、再生停止箇所から再生を再開する際の、パラメータ生成方法については記載されているが、任意の位置から再生を開始する際のパラメータ生成については考慮されていない。
【0010】
本発明はかかる問題に鑑み成されたものであり、RAW動画を再生する際、再生開始位置によらず、所定の処理量で、変化量抑制処理を伴うパラメータに関して、先頭のフレームから順番に処理したときと同等のパラメータ値を生成することを可能にする技術を提供しようとするものである。
【課題を解決するための手段】
【0011】
この課題を解決するため、例えば本発明の画像処理装置は以下の構成を備える。すなわち、
フレームに現像パラメータに係る情報が格納されたRAW動画ファイルの再生処理を行う画像処理装置であって、
前記RAW動画ファイル内の再生対象のフレームに対する現像パラメータと先行するフレームの現像処理で用いる現像パラメータとの差に基づき、前記再生対象のフレームの現像処理に用いる現像パラメータを決定する時定数処理を実行する処理手段と、
該処理手段で決定した現像パラメータに従い前記再生対象のフレームのRAW画像に対して現像処理を行い、現像処理で得た画像を出力する現像手段と、
前記処理手段を制御する制御手段とを有し、
該制御手段は、
前記RAW動画ファイルにおける再生開始の位置がユーザから指定された場合、当該再生開始の位置に対応する着目フレームから予め設定された数だけ遡るフレームを起点にし、当該起点から前記着目フレームまでの間で前記時定数処理を実行させることで、前記着目フレームのための現像パラメータを決定することを特徴とする。
【発明の効果】
【0012】
本発明によれば、RAW動画を再生する際、再生開始位置によらず、現像パラメータをなだらかに再生することで、違和感の無い自然な再生を行うことが可能になる。
【図面の簡単な説明】
【0013】
図1】本実施形態における動画処理装置のブロック構成図。
図2】本実施形態における時定数処理を示すフローチャート。
図3】本実施形態における時定数処理でのパラメータの推移を示す図。
図4】本実施形態における時定数処理でのパラメータの推移を示すグラフ図。
図5】本実施形態における時定数処理でのパラメータの推移を示す図。
図6】本実施形態における時定数処理でのパラメータの推移を示す図。
図7】本実施形態における時定数処理でのパラメータの推移を示す図。
図8】周辺減光を説明するための図。
図9】周辺光量補正処理を説明するための図。
図10】本実施形態における色温度の例を示す図。
図11】本実施形態にRAW動画の再生処理を示すフローチャート。
図12】本実施形態における時定数処理でのパラメータの推移を示す図。
図13】本実施形態における時定数処理回数の決定処理を示すフローチャート。
図14】本実施形態におけるパラメータ毎の再生開始前の時定数処理回数を示す図。
図15】本実施形態における時定数処理でのパラメータの推移を示す図。
図16】本実施形態における時定数処理でのパラメータの推移を示す図。
図17】本実施形態における、時定数処理の係数とパラメータの最大変化量に応じた、再生開始前の時定数処理回数を示す図。
【発明を実施するための形態】
【0014】
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものでない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0015】
[動画処理装置の構成]
図1は、本実施形態が適用するRAW動画ファイルの再生処理を行う動画処理装置100のブロック構成図である。以下、同図を参照して、動画像処理装置100の構成と動作を説明する。
【0016】
入力部101は、キーボードやポインティングデバイスを含み、ユーザが、表示部102に表示されているボタンなどのコントロールの指示入力に用いられる。尚、ポインティングデバイスとしては、マウス、トラックボール、タブレット等が挙げられる。
【0017】
表示部102は、CRTやLCD等の表示デバイスで構成され、GUI(Graphical User Interface)画面や画像データを表示する。GPUやビデオメモリを有するグラフィックカードも、表示部102に含まれる。
【0018】
CPU103は、動画処理装置全体を制御する制御部である。RAM104は、動画処理装置による各種処理に必要な作業領域をCPU103に提供する。また、記憶部105に格納されているオペレーティングシステム(OS)等の制御プログラム、RAW動画現像処理プログラム(時定数処理を含む)は、一旦RAM104に読み出されてからCPU103によって実行される。
【0019】
記憶部105は動画処理装置による各種処理に必要なOS,RAW動画現像処理プログラムや、RAW動画ファイルなどを記憶している。なお、RAW動画ファイルを構成するRAWフレームはベイヤ配列の画像であって、1つの画素(画素位置によってR,G,Bが決まる)が例えば10ビットとなっているものとする。通常、画面に表示するためには、1画素がR,G,Bの3成分で構成され、SDRとして再生する場合は各成分が8ビットとなっている必要があり、そのためにはRAW画像を現像処理する必要がある。また、RAW動画ファイル内の各フレームのヘッダには、フレームに対する現像パラメータが格納されているものとする。
【0020】
通信制御部106は、通信インターフェースとして、USB(Universal Serial Bus)、Ethernetなどを用い、外部装置と接続する。また、通信ケーブルを用いた有線接続に代えて、無線による接続形態を用いても良い。先に説明したRAW動画像ファイルも、この通信制御部106が、不図示のRAW動画を撮像装置との通信で得たものである。
【0021】
上記各部は、システムバス107により接続されている。
【0022】
本実施形態では記憶部105には、上記のRAW動画現像処理プログラムが記録されている例を示すが、プログラムが通信制御部106に接続された外部記憶部やネットワーク上にある場合でも、本発明は適用される。
【0023】
上記構成において、本装置の電源がONになると、CPU103は内部のROM(不図示)のブートプログラムを実行し、記憶部105からOSをRAM104に読み出し、OSを実行し、そのOSの下でCPU103は記憶部105からRAW動画現像処理プログラムをRAM104に読出実行することで、本装置が動画処理装置100として機能することになる。
【0024】
<時定数処理>
時定数処理について、図2のフレーチャートを用いて具体的に説明する。実施形態における再生対象のRAW動画像ファイルを作成する撮像装置は、RAW動画を記録する際に、撮像した際の各種パラメータを、個々のフレームのヘッダに格納するものとする。本実施形態では、シーンチェンジの急峻な変化を抑制に寄与するパラメータを現像パラメータと呼ぶ。典型的には、画像の明るさを間接的に表す光学系の「絞り」や「ホワイトバランス」である。実施形態では、現像パラメータの値は符号付きの整数とする。なお、以下の説明において、RAW動画像ファイルにおける再生しようとしているフレームを、現フレームもしくは着目フレームと呼ぶ。
【0025】
S201にて、CPU103は、再生しようとしている現フレーム用に記録された現像パラメータ値(「Pn」と定義する)を取得する。次に、S202にて、CPU103は、現フレームが再生する先頭フレームかどうか判断する。CPU103は、現フレームが先頭フレームであると判定した場合はS210に、先頭フレームではないと判定した場合はS203に処理を進める。
【0026】
S203にて、CPU103は、後述のS209で保存した1つ先行する(直前の)フレームの現像に適用したパラメータ値(「P’n-1」と定義する)を取得する。S204にて、CPU103は、S201で取得した値と、S203で取得した値が等しいかどうか判断する。CPU103は両者が等しいと判定した場合はS210に、等しくないと判定した場合はS205に処理を進める。
【0027】
S205にて、CPU103は、S201で取得した値から、S203で取得した値を減算し、変化量deltaを求める。
delta = Pn - P’n-1
【0028】
次に、S206にて、CPU103は、S205で求めた変化量deltaを、1を超える所定の係数(k)で除算し、補正変化量delta’を求める。
delta’= delta / k
【0029】
S207にて、CPU103は、S206で求めた補正変化量delta'が0かどうか判断する。補正変化量が0の場合、S211に進む。0以外の場合、S208に進む。これは、除算の結果を整数とする場合、除算結果が絶対値1未満は0に切り捨てられるが、その場合でも直前フレームからの最低量の変化量を適用するためである。
【0030】
S208にて、CPU103は、S203で取得した値に、S206、または、後述のS212、又は、S213で求めた補正変化量を加算し、今回のフレームの現像に適用する現像パラメータP’nをする。
P’n=P’n-1+delta’
【0031】
S209にて、CPU103は、S208で求めた値、または、後述のS210で求めた値を、次フレームの現像のため、現フレームの現像に適用する現像パラメータとしてRAM104の予め確保された領域に値として保存する。
【0032】
S210にて、CPU103は、S201で取得した現フレーム用に記録された現像パラメータ値Pnを、現フレーム現像に適用する値Pn’とする。
P’n=Pn
【0033】
S211にて、CPU103は、S205で求めた結果が正の数かどうか判断する。CPU103が、正の数であると判定した場合はS212に、負の数の場合にはS213に処理を進める。S212にて、CPU103は、補正変化量delta’を1とする。これは、直前フレームからの変化が増加時の最低変化量である。S213にて、CPU103は、補正変化量delta’を-1とする。これは、直前フレームからの変化が減少時の最低変化量である。
【0034】
上記処理により現フレームの現像パラメータPn’が決定されると、CPU103による別タスクの現像処理では、このパラメータに従った現状処理を実行することになる。
【0035】
ここで、図3を参照して、記録された現像パラメータ値が0から100に変化したとき、係数k=2で時定数処理を8回行った例を説明する。
【0036】
n=0は先頭フレームであり、記録された現像パラメータ値P0をそのままフレーム現像に適用する値P’0とする。
【0037】
n=1のとき、記録された現像パラメータ値P1が100に変化したとする。このとき、直前のフレームのフレーム現像に適用する値P’0は0であり、差分である変化量deltaは、次式のように100となる。
delta=P1-P’0=100-0=100
したがって変化量deltaを係数kで割った補正変化量delta’は次式のように50となる。
【0038】
よって、P’0にdelta’を加算した値P’1は、次式により50となる。
P’1=P’0+delta’=0+50=50
したがって、n=1の場合の着目フレームの現像処理に適用するパラメータ値は、50である。
【0039】
同様に、n=2のとき、
delta=P2-P’1=100-50=50
delta’=delta/k=50/2=25
P’2=P’1+delta’=50+25=75
となり、実際にフレーム現像に適用するパラメータ値は、75である。
【0040】
このように時定数処理を繰り返すと、図3にあるように、8回目に実際にフレーム現像に適用するパラメータ値は100になり、記録された現像パラメータ値に到達することになる。
【0041】
図4は、図3のPnとP’nをグラフで表したものである。破線はRAW動画ファイルに記録された現像パラメータ値Pnであり、実線はフレーム現像に適用するパラメータ値P’nである。
【0042】
このグラフからもわかるように、適切な係数kを用いて時定数処理を繰り返すことにより、現像パラメータは、急激な変化が抑えられ、時定数的に最終的な目的のパラメータ値に達することができる。
【0043】
図5は、パラメータ値が0から100の範囲内で変化する場合であって、係数k=2で時定数処理を行った例である。図5にあるように、n=12のとき、RAW動画ファイルに記録された現像パラメータ値P12は70であるが、先頭フレームであるn=0から時定数処理を行った結果、フレーム現像に適用するパラメータ値P’12は72である。
【0044】
図6は、記録されたパラメータ値が図5と同じ場合で、n=4から時定数処理を開始した例である。このとき、8フレーム後のn=12のフレーム現像に適用するパラメータ値P’12は72であり、図5にある先頭フレームから時定数処理を行った場合と同じ値を得ることができる。これは、図3で見たように、係数k=2で8回時定数処理を繰り返すと、変化量100の場合でも収束する(=変化量に達する)ことが可能であるからである。
【0045】
図7は、記録されたパラメータ値が図5と同じ場合で、n=10から時定数処理を開始した例である。この場合、n=12のフレーム現像に適用するパラメータ値P’12は80であり、図5にある先頭フレームから時定数処理を行った場合と同じ値を得ることはできない。
【0046】
<時定数処理を適用する例1>
時定数処理を適用する例として、周辺光量補正について説明する。
【0047】
図8に示すように、画像データの周辺部が中央部に比べ光量が低下するという現象が知られている。これは一般に周辺減光と呼ばれる。周辺減光の原因として、斜めに入る光に対する、鏡筒や絞りによる口径食などがあげられる。
【0048】
また、周辺減光の程度は、絞り値に応じて変化する。例えば、絞り値が大きい場合(絞る)、鏡筒による影響を受けにくく、周辺減光の程度は少ない。逆に、絞り値が小さくなる(開放)につれ、鏡筒による影響を受けやすくなり、周辺減光の程度は増加する。
【0049】
例えば、図8では、点線で表した撮影条件1は絞り値が大きい場合であり、実線で表した撮影条件2は絞り値が小さい場合である。
【0050】
周辺減光した画像データに、周辺部の光量を増加させる画像処理を適用し、補正する方法がある。これを周辺光量補正と呼ぶ。具体的には、画像の中心から像高に応じて、レンズの特性と絞り値に応じた所定の補正ゲイン値を適用することにより、周辺減光を補正する方法である。
【0051】
例えば、絞り値が大きい場合、周辺減光の程度は小さいため、小さい補正ゲイン値を適用し、絞り値が小さい場合、周辺減光の程度が大きいため、大きい補正ゲイン値を適用する。
【0052】
図9では、図8と同様に、点線で表した撮影条件1は絞り値が大きい場合であり、実線で表した撮影条件2は絞り値が小さい場合である。絞り値が大きい場合、光量落ちは小さいため、補正ゲインも小さいが、絞り値が小さい場合、光量落ちが大きくなるため、補正ゲインも大きくなる。
【0053】
このように、周辺光量補正に適用する補正ゲイン値は絞り値により変化する。そのため、絞り値が急激に変化した場合、絞り値に対応する補正ゲイン値も急激に変化することになる。例えば、図9の例では、撮影中に撮影条件1から撮影条件2に変化した場合、中心から最遠箇所の補正ゲインは50から100に変化することになる。このときの周辺光量補正後の画像は、1フレームごとの静止画像とした表示した場合は適切であるが、動画として連続的に表示した場合、見えの変化が大きく、適切でないことがありうる。
【0054】
そこで、時定数処理を適用することにより、絞り値が急激に変化した場合でも、適用する補正ゲイン値を漸次的に変化させることにより、見えの急激な変化を抑えつつ、周辺光量補正を適用することが可能になる。
【0055】
<時定数処理を適用する例2>
時定数処理を適用する異なる例として、ホワイトバランスについて説明する。
【0056】
ホワイトバランスは、光源の色温度に応じて、白、及び色調を決定する処理である。
【0057】
図10に示すように、曇りの太陽光(色温度7000K(ケルビン)前後)は青みを帯びていることに対し、蛍光灯の光(4000~4500K)は黄色味を帯びている。そのため、白いものを撮影しても、光源の色の影響を受けるため、白く撮像されない。
【0058】
ホワイトバランスは、これらの光源の色の影響を減らすため、光源の色とは反対の色を加算して、白を決定する処理である。例えば、曇りの太陽光の下で撮影する場合、赤要素を強めることにより、青みを抑え、蛍光灯の光の下で撮影する場合、青要素を強めることで、黄色味を抑えることが行われる。
【0059】
オートホワイトバランスは、画像データから光源の色温度を推定し、それに基づき、ホワイトバランス処理を行うことである。
【0060】
撮影中に、光源が蛍光灯である屋内から、光源が太陽光である屋外に移動した場合、光源の色温度が変化し、それに伴い、ホワイトバランス処理も変化する。
【0061】
このような場合でも、ホワイトバランスの基準となる光源の色温度を漸次的に変化させることにより、見えの急激な変化を抑えつつ、適切なホワイトバランスを適用することが可能になる。
【0062】
[第1の実施形態]
第1の実施形態における処理を、図11のフローチャートを参照して説明する。ここで、対象現像パラメータは、周辺光量補正の補正ゲイン値とする。この補正ゲイン値は、先に説明したように撮像光学系の絞り値に依存するものである。
【0063】
S1101にて、CPU103は、入力部101からユーザが指定した再生開始フレーム番号を取得する。再生開始フレームの指定方法は特に問わない。例えば、ユーザは、RAW動画のフレームレートが1秒当たりFフレームの場合(フレームレートがF/秒の場合で、先頭から5秒後の位置を再生開始位置として指定した場合は、再生開始のフレーム番号は5×Fとして計算すれば特定できる。場合によっては、ユーザはテキスト形式でキーボードからフレーム番号を入力しても構わない。また、再生位置を表すスライダコントロールを位置づけることで、再生開始フレーム番号を指定しても良い。また、直前の再生停止位置から再生開始指示をすることで、再生開始フレーム番号を指定することができる。
【0064】
S1102にて、CPU103は、S1101で指定された再生開始フレーム番号のパラメータに関して、すでに時定数処理済みのパラメータ値がRAM104の所定領域に保存されているか調べる。例えば、ユーザが直前の再生停止位置から再生再開を指示した場合、再生開始フレームの、直前の再生時に使用した時定数処理済みの値を保存している。CPU103は、保存していると判定した場合はS1111に、保存していないと判定した場合はS1103に処理を進める。
【0065】
S1103にて、CPU103は、再生開始前に時定数処理を行うフレーム数を取得する。
【0066】
図3図7で説明したように、時定数処理で使用する係数kが決まると、ある変化量に到達するまでの時定数処理の繰り返し数は決定する。例えば、周辺光量補正の補正ゲイン値の取りうる範囲が0から100の間であった場合、最大変化量(最小値から最大値への変化量)は100である。ここで、時定数処理の係数kを2とすると、時定数処理を8回繰り返せば、時定数処理の結果が最大変化量の100に到達する。従って、周辺光量補正の補正ゲイン値に関しては、時定数処理の係数kを2、再生開始前に時定数処理を行うフレーム数を8とすることにより、それ以前のフレームから時定数処理を行った場合と同じ結果を得ることができる。
【0067】
このように、時定数処理の対象となる現像パラメータ値の最大変化量と、使用する係数kの値から、あらかじめ最大変化量が収束する時定数処理の回数を求めて、その値を再生開始前に時定数処理を行うフレーム数とすればよい。この値は、プログラムの一部として、もしくは、管理データとして保存しておけばよい。
【0068】
S1104にて、CPU103は、時定数処理を開始する起点となるフレーム番号を計算する。時定数処理を開始するフレーム番号は、S1101で取得した再生開始フレーム番号から、S1103で取得した再生開始前に時定数処理を行うフレーム数を引いた値となる。
【0069】
S1105にて、CPU103は、S1104で計算した結果が負数になるか判断する。CPU103は、S1104の計算結果が負数になると判定した場合はS1106に、非負数であると判定した場合はS1107に処理を進める。S1106にて、CPU103は、時定数処理開始フレーム番号に0をセットする。これは、負のフレーム番号は無効なためで、RAW動画ファイルの先頭フレームを時定数処理開始フレームとすることを意味する。S1107にて、CPU103は、処理フレーム番号に、S1104またはS1106で求めた時定数処理開始フレーム番号をセットする。
【0070】
S1108にて、CPU103は、処理フレーム番号のパラメータに関して、時定数処理を実行する。時定数処理に関しては、図2で説明済みである。ここで計算した結果は、処理フレーム番号が再生開始フレーム番号に達していない場合、現像処理には使用せず、次のフレーム番号の時定数処理の入力に使用するだけである。S1109にて、CPU103は、処理フレーム番号がS1101で取得した再生開始フレーム番号に達したかどうか判断する。CPU103は、達したと判定した場合はS1113に、達していないと判定した場合はS1110に処理を進める。S111にて、CPU103は、処理フレーム番号に1加算し、処理をS1108に戻す。
【0071】
一方、S1102にて、CPU103が、指定された再生開始フレーム番号のパラメータに関して、すでに時定数処理済みのパラメータ値が保存されている場合、処理をS1111に進める。このS1111にて、CPU103は、処理フレーム番号に、再生開始フレーム番号をセットする。そして、S1112にて、CPU103は、保存されている時定数処理済みパラメータ値を取得し、処理フレーム番号の現像に使用するパラメータ値とする。この時点で、再生開始フレーム番号の時定数処理済みパラメータ値が取得できたことになる。
【0072】
S1113にて、CPU103は、処理フレーム番号のRAW画像データを取得する。そして、S1114で、時定数処理を行わない、処理フレーム番号の現像パラメータを取得する。本例では、周辺光量補正の補正ゲイン値以外の現像パラメータである。S1115にて、CPU103は、S1113で取得したRAW画像データに関して、時定数処理済み現像パラメータ、及び、S1114で取得した時定数処理を行わない現像パラメータを用いて現像処理を実行する。ここで時定数処理済み現像パラメータは、S1108で計算した結果の値、または、S1119で計算した結果の値、または、S1112で取得した値、のいずれかである。
【0073】
S1116にて、CPU103は、S1115で現像した結果の画像データを出力する。例えば、表示部102に表示する。
【0074】
S1117にて、CPU103は、最後のフレームまで処理したか、もしくは、ユーザが処理中止を指定したかを判断する。CPU103は、最後のフレームまで処理したか、もしくは、ユーザが処理中止を指定した場合、本処理を終了する。そうでない場合、CPU103は処理をS1118に進める。このS1118にて、CPU103は、処理フレーム番号に1を加算する。そして、S1119にて、CPU103は、処理フレーム番号のパラメータに関して、時定数処理を実行し、処理フレーム番号の現像に使用するパラメータを計算する。時定数処理に関しては、図2で説明済みである。時定数処理実行後、CPU103は、処理をS1113に戻す。
【0075】
このように、S1108~S1110で、再生開始フレーム番号より前のフレームに関して所定のフレーム数分、時定数処理を実行することにより、再生開始フレームに適用する現像パラメータ値に関して、先頭フレームから時定数処理を実行した場合と同じ結果を得ることが可能である。
【0076】
現像処理のパラメータに関して時定数処理を行うパラメータが複数あっても良い。その場合、個々の現像パラメータの最大変化量や時定数処理の係数kの値が異なることにより、個々の現像パラメータの再生開始前の時定数処理回数の値が異なることがある。例えば、周辺光量補正の補正ゲインと、ホワイトバランス処理のもととなる光源の色温度毎に、時定数処理行うことが考えられる。
【0077】
前述のように、周辺光量補正の補正ゲイン値の取りうる範囲が100から200の間であり、時定数処理の係数kが2の場合、時定数処理を8回繰り返すことにより、時定数処理の結果は最大変化量の100に到達する。そのため、周辺光量補正の補正ゲイン値に関しては、再生開始前の時定数処理回数は8回である。
【0078】
一方、図12に示すように、光源の色温度が1000から12000に変化した場合、時定数処理の係数kを2とすると、時定数処理を15回繰り返すことで、時定数処理の結果は12000に到達する。そのため、光源の色温度に関して、再生開始前の時定数処理回数は15回である。
【0079】
このような場合、個々の現像パラメータの種類毎に、再生開始前の時定数処理回数を求め、それぞれ、処理開始フレームから時定数処理を行って、再生開始フレームの現像に適用するパラメータ値を求めることができるが、効率的ではない。
【0080】
図13のフローチャートを用いて、複数の現像パラメータに関して時定数処理を行う場合の、再生開始前の時定数処理回数の決定方法について説明する。
【0081】
ここで、時定数処理を行う現像パラメータは、図14に示すように、「周辺光量補正の補正ゲイン値」と「光源の色温度」の2つとし、それぞれ、再生開始前の時定数処理回数は8回、15回する。
【0082】
S1301にて、CPU103は、パラメータインデックスに使用する変数iを0で初期化する。S1302にて、CPU103は、求める最大繰り返し回数を格納する変数Lmaxを0で初期化する。
【0083】
S1303にて、CPU103は、時定数処理を行うすべての現像パラメータに関して処理したか判断する。CPU103は、時定数処理を行うすべての現像パラメータに関して処理したと判定した場合は、本処理を終了する。本処理を終了した場合の最大繰り返し回数Lmaxが、再生開始前の時定数処理回数となる。
【0084】
S1304で、時定数処理を行うi番目の現像パラメータに関して、再生開始前の時定数処理回数を取得する。これは、図11のS1103で述べたように、その現像パラメータの最大変化量と、その現像パラメータに関する時定数処理で使用する係数kの値から決定した、時定数処理繰り返し回数である。本例では、図14に示すように、パラメータインデックス0の周辺光量補正の補正ゲイン値の場合、時定数処理繰り返し回数は8であり、パラメータインデックス1の光源の色温度の場合、時定数処理繰り返し回数は15である。
【0085】
S1305にて、CPU103は、S1304で取得した時定数処理繰り返し回数が、最大繰り返し回数Lmaxより大きいか判断する。CPU103は、S1304で取得した時定数処理繰り返し回数が、Lmaxより大きいと判定した場合はS1306に、大きくないと判定した場合はS1307に処理を進める。S1306にて、CPU103は、最大繰り返し回数Lmaxに、S1304で取得した時定数処理繰り返し回数を代入(もしくは設定)する。つまり、CPU103は、最大繰り返し回数Lmaxを更新する。
【0086】
S1307にて、CPU103は、パラメータインデックスに使用する変数iに1加算し、処理をS1303に戻す。
【0087】
このようにして求めた再生開始前の時定数処理回数を使用して、再生開始前の時定数処理開始フレームを決定し、そのフレームから時定数処理を行うすべての現像パラメータに関して時定数処理を行って、再生開始フレームの現像に適用するパラメータ値を求めることにより、単純な構成で、必要な値を求めることが可能になる。
【0088】
本例の場合は、再生開始前の時定数処理回数は、8<15のため、15回であり、再生開始フレームの15フレーム前から、周辺光量補正の補正ゲイン値、及び、光源の色温度、の両方に関して、時定数処理を行うことになる。
【0089】
撮像装置や撮影条件により、現像パラメータの取りうる値の範囲が変化することもありうる。例えば、周辺光量補正の補正ゲイン値に関して、あるレンズでは、最大変化量が200であったとする。この場合、係数2のときの、最大変化量に達するのに必要な時定数処理繰り返し回数は、図15に示すように、9回である。また、別のレンズでは、最大変化量が300であったとする。この場合、係数2のときの、最大変化量に達するのに必要な時定数処理繰り返し回数は、図16に示すように、10回である。
【0090】
このように、パラメータの最大変化量自体が変化する場合には、図17が示すように、時定数処理の係数値とパラメータの最大変化量ごとに、最大変化量に達するのに必要な時定数処理繰り返し回数を調べてテーブル化し、それをプログラムが保持、または、管理データとして保持しておけばよい。なお、撮像装置は、RAW動画を記録する際に、使用中のレンズを特定する情報(レンズ名等)を、RAW動画ファイルのヘッダに格納するものとする。そして、再生開始前の時定数処理回数を取得する際には、例えば、ファイルヘッダにレンズ名から最大変化量を判断し、前述のテーブルから最大変化量に達するのに必要な時定数処理繰り返し回数を取得すればよい。
【0091】
以上、実施形態を詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。
【0092】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【0093】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0094】
100…動画像処理装置、101…入力部、102…表示部、103…CPU、104…RAM、105…記憶部、106…通信制御部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17