(58)【調査した分野】(Int.Cl.,DB名)
前記判定部は、前記特徴点に基づいて、前記移動量推定部により推定された前記移動量が前記第1の画像に対する前記第2の画像の位置ずれ量を示していると判定した場合に、前記移動量推定部により推定された前記移動量を用いて補正を行うと判定する
請求項1に記載の画像処理装置。
前記判定部は、前記第1の画像または前記第2の画像で抽出される特徴点の数が所定の数より多いと判定した場合に、前記移動量推定部により推定された前記移動量を用いて補正を行うと判定する
請求項1または4に記載の画像処理装置。
前記判定部は、前記第1の画像から抽出される第1特徴点と前記第2の画像から抽出される第2特徴点との座標が3次元投影された3次元座標上における前記第1特徴点の特徴点分布と前記第2特徴点の特徴点分布との一致度が所定の一致度よりも高いか否かを判定し、当該一致度が所定の一致度より高いと判定した場合に、前記移動量推定部により推定された前記移動量を用いて補正を行うと判定する
請求項1、4または5に記載の画像処理装置。
前記判定部は、前記第1の画像から抽出される第1特徴点と前記第2の画像から抽出される第2特徴点との座標が投影された3次元座標上における前記第1特徴点の特徴点分布と前記第2特徴点の特徴点分布の一致度が所定の一致度より高い場合に、
さらに、前記第1の画像および前記第2の画像を領域分割し、分割した領域ごとに前記所定の一致度より高い前記第1特徴点と前記第2特徴点との特徴点分布を確認し、当該特徴点分布が前記分割した領域のうちの一部の領域に偏在する場合には、前記移動量推定部により推定された前記移動量を用いて補正を行わないと判定する
請求項1、4〜6のいずれか1項に記載の画像処理装置。
前記画像処理装置は、さらに、撮影に用いた光学系の光軸周りの回転角度または前記光学系の光軸に対して互いに垂直な2軸のうち少なくとも1つの軸周りの回転角度を計測し、計測した前記回転角度を、前記第2の画像の前記第1の画像に対する移動量と推定するセンサ推定部を備える
請求項1に記載の画像処理装置。
前記画像処理装置は、さらに、前記判定部が前記移動量推定部により推定された移動量用いて補正を行わないと判定した場合に、前記センサ推定部により推定された移動量を用いて補正を行うか否かを決定する補正手段決定部を備える
請求項8に記載の画像処理装置。
【背景技術】
【0002】
例えば魚眼光学系等の超広角光学系を用いて撮影された映像の揺れ(画像間の位置ずれ)を画像処理で補正する方法がある。それは、時間的に連続して撮影された2枚の画像を用い、画像間で共通に写っている対象の情報を利用してMPEG技術などに代表される動きベクトルを検出することでフレーム間(画像間)のカメラの揺れを推定して補正する方法である。このような動きベクトルを用いた方法では、動きベクトルを検出するために画像の領域を利用するというアルゴリズムの性質上、精度および計算コスト面での制限がある。そのため、検出可能なカメラの揺れの大きさの上限は事前に設定されており、例えば歩行時に撮影された映像やファインダレスで撮影された映像に含まれる揺れのような大きな揺れに対しては検出ができなかった。つまり、動きベクトルを用いた手法では扱えない大きさの揺れがあり、そのような大きさの揺れについては補正ができないという課題があった。
【0003】
それに対して、動きベクトルを用いた手法では扱えない大きさの揺れの補正が可能な方式として、特徴点ベースのマッチング手法がある。これは時間的に連続して撮影された2枚の画像間で共通に存在する被写体上のいくつかの特徴的な点を用いる。
【0004】
ここで、特徴点ベースのマッチング手法(特徴点マッチングとも記載)について具体的に説明する。
【0005】
図1A〜
図1Dは、特徴点ベースのマッチング手法を説明するための図である。以下、2枚の画像のうち、時間的に先に撮影された画像を画像t−1、時間的に後に撮影された画像を画像tと表記する。
【0006】
図1Aは、画像t−1と、画像t−1より時間的に後に撮影された画像tとを表す図である。
図1Bは、
図1Aに示す画像t−1、画像tから抽出された特徴点を表す図である。
図1Cは、
図1Bに示す画像t−1、画像tから抽出された特徴点の性質の種類を示す図である。
図1Dは、
図1Bに示す画像t−1、画像tから抽出された特徴点のマッチングを示す図である。ここで、特徴点とは、上述したように、画像処理によって検出可能な画像上の特徴的な点である。
【0007】
図1Aに示す画像t−1、画像t上のコントラストの高い画素が、
図1Bに示す特徴点として選択される。
図1Bに示すようにコントラストが極めて高いようなコーナーに存在する特徴点は画像間(画像t−1および画像t)で共通して抽出されやすいが、コントラストがそれほど高くないような特徴点は画像間(画像t−1および画像t)で共通して抽出されにくい。
【0008】
図1Bに示す特徴点には、画像間(画像t−1および画像t)で共通に写っている領域から得られた特徴点(
図1C中に○で示す特徴点)と、画像間(画像t−1および画像t)で共通に写っている領域から得られているが画像間(画像t−1および画像t)で位置が変わっている特徴点(
図1C中に△で示す特徴点)とがある。また、
図1Bに示す特徴点には、画像間(画像t−1および画像t)で共通に写っていない領域から得られた特徴点(
図1C中に×で示す特徴点)も存在する。
図1Bに示す特徴点のうちマッチング可能な特徴点は、画像間(画像t−1および画像t)で共通に写っている領域から得られた特徴点である(
図1C中に○で示す特徴点)。
【0009】
しかし、画像間(画像t−1および画像t)で共通して写っている領域から得られた特徴点の位置や比は、マッチング前には未知であるため、どの特徴点が画像間(画像t−1および画像t)で共通に写っている領域から得られた特徴点であるかも未知である。そのため、RANSAC(RANdom SAmple Consensus)などの手法を使い、画像t−1で抽出された特徴点と画像tで抽出された特徴点とからそれぞれ特徴点の組合せを選び出し、事前に設定した評価関数でそれぞれの特徴点の組合せの評価値を求める(
図1D)。この評価値は、画像間(画像t−1および画像t)で共通に写っている領域から得られている特徴点の組合せ(以下、inlierと表記する)であった場合に高くなりやすいように設計される。
【0010】
具体的には、画像t−1で抽出された特徴点と画像tで抽出された特徴点とから選んだ2組の特徴点の組合せから回転行列を生成する。そして、生成した回転行列が正しいかどうかを検算するために、選んだ特徴点の組合せ以外の画像t−1の特徴点を生成した回転行列で回転させ、回転させた後の画像t−1の特徴点が画像tの特徴点と一致するかを確認する。回転させた後の画像t−1の特徴点が画像tの特徴点と一致していれば、生成した回転行列が正しい画像間の揺れ量(位置ずれの程度)を表している可能性が高い事が分かるため、この一致度合を評価値とした評価関数を設定する。この評価関数を用いて規定回数探索を行った段階で探索を打ち切り、その時点で最大の評価値を得たinlierを用いて回転行列を推定する。なお、このinlierは
図1C中で○に示す特徴点のような画像間で共通に存在する特徴点であり、主に撮影された画像内における遠景領域から得られる特徴点である。そして、遠景特徴点であるinlierから推定された回転行列を用いて画像の揺れを補正する。
【0011】
一般的には、このような処理により、特徴点マッチングが行われる。つまり、特徴点マッチングは、画像間(画像t−1および画像t)で生じた位置ずれすなわち揺れを、画像t−1と画像tとで共通に写っている領域から得られる画像t−1の特徴点の分布と画像tの特徴点の分布とができるだけ一致するように反復的に探索を行う手法であり、画像t−1と画像tとの共通に写っている領域から得られる特徴点分布が最も一致する時の移動量を画像間(画像t−1および画像t)の揺れ量とを推定する手法である。そして、この特徴点マッチングを行い、画像間(フレーム間)で生じた揺れ量を毎画像で推定し続けることで、推定した揺れ量を用いて映像(毎画像)の揺れを補正することができる。
【0012】
また、特徴点マッチングでは、一般的なアルゴリズムの特性として、特徴点分布における画像間(フレーム間)の類似性を用いるため、画像の部分的な領域情報を扱う動きベクトルを用いた手法と比較すると計算コストが低いという特徴がある。さらに、特徴点マッチングでは、画像全体の特徴点を用いたマッチングを行うことが可能であるため、ある程度の大きな揺れ量の推定も可能である。そのため、特徴点マッチングを適用することで、歩行時に撮影された映像やファインダレスで撮影された映像に含まれる大きな揺れであっても推定可能である。つまり、特徴点マッチングでは、動きベクトルを用いた手法では扱えない大きさの揺れを補正することができる。
【0013】
なお、例えば魚眼光学系を用いて撮影された映像の揺れの補正を行う場合には、魚眼光学系で採用されている射影方式に応じて外界からの光がレンズに入射する経路が変化するため、魚眼光学系で採用されている射影方式に応じた座標変換を行う必要がある。これは、画像処理で画像間(フレーム間)のカメラの揺れ量を推定する場合は、カメラが外界に対してどのように動いたかを知る必要があるからである。言い換えると、正しいカメラの揺れ量を求めるには、各画素が外界のどの位置から得られたかを知る必要があるためである。このため、動きベクトルなどを用いて揺れ量を推定する場合、特徴点マッチングを用いて揺れ量を推定する場合のいずれも、推定前に座標変換を考慮する必要がある。
【0014】
例えば特許文献1では、魚眼光学系で撮影された映像の揺れ量の推定方法として、画像処理の動きベクトルを用いて算出する方法が開示されている。
【発明を実施するための形態】
【0028】
以下、本発明の実施の形態について図面を参照しながら説明する。
【0029】
(実施の形態1)
図3は、本発明の実施の形態1における全体構成を示すブロック図である。
【0030】
撮像部10は、例えばデジタルスチルカメラやデジタルビデオカメラなどCCDやCMOSセンサ等の撮像素子を備えたカメラであり、映像を撮影して電気信号として出力する。
【0031】
画像処理装置20は、時間的に連続して撮影された複数の画像間の位置ずれを補正するための画像処理装置であって、画像取得部21と画像処理部20aとを備える。
【0032】
画像取得部21は、処理対象の画像データを取得する。具体的には、画像取得部21は、撮像部10で時間的に連続して撮影された複数の画像のうち第1の画像(画像t−1)と、第1の画像(画像t−1)の時間的に後に撮影された第2の画像(画像t)の2枚の画像データを取得する。
【0033】
ここで、画像t−1は第1の画像の例であり、画像tは第2の画像の例である。また、説明を簡単にするため、画像t−1(第1の画像)は時系列上で画像t(第2の画像)の直前に撮影された画像であり、画像tは画像t−1が撮影された直後に撮影された画像であるとする。この画像t−1および画像tの画像データは一般的なJPEG形式で圧縮符号化されたものでも良いし、MPEG4等の動画形式で記録されたものでも良い。
【0034】
画像処理部20aは、移動量推定部22と、判定部23と、画像補正部24とを備え、画像取得部21により取得した画像データを処理する。
【0035】
移動量推定部22は、
図4に示すように、特徴点抽出部221と、特徴点座標変換部222と、特徴点マッチング部223と、メモリ224とを備え、第1の画像の時間的に後に撮影された第2の画像の第1の画像に対する位置ずれ量を示す移動量を、第1の画像および第2の画像それぞれから抽出される特徴点を用いて、推定する。なお、
図4は、本発明の実施の形態1における移動量推定部22の構成を示すブロック図である。
【0036】
特徴点抽出部221は、第1の画像から第1特徴点を抽出し、前記第2の画像から第2特徴点を抽出する。具体的には、特徴点抽出部221は、画像取得部21により取得された画像t−1および画像tが入力され、入力された画像t−1および画像tの特徴点の抽出を行い、それぞれ特徴点データt−1および特徴点データtを生成する。
【0037】
ここで特徴点とは、上述したように、画像処理によって検出可能な画像上の特徴的な点であり、例えば画像中の縦方向・横方向のエッジが共に強く出ているエッジの交差した点、ローカルの近傍に2つの異なる方向を向いた強いエッジの存在する点などである。特徴点は、時系列上で連続した画像t−1と画像tとの2枚の画像間で共通に写っている点から安定的に検出(推定)できるもの(inlier)が好ましい。しかし、特徴点抽出部221が特徴点を抽出する際、画像t−1と画像tとの正確な位置関係は未知である。そのため、何らかの基準を用いて共通に存在する特徴点を抽出する必要がある。
【0038】
以下、共通に存在する特徴点を抽出するために用いる基準について説明する。
【0039】
例えば特徴点の抽出にHarrisを用いた場合、画像のエッジを基準として縦・横のエッジが交差するようなコーナー点が抽出される。
【0040】
具体的には、特徴点抽出部221は、画素ごとにエッジの交差度を表す特徴点スコアを算出することにより上記のコーナー点を抽出する。ここで、理論上は、特徴点抽出部221により画素ごとに特徴点スコアが算出され存在することになる。しかし、例えば組込み系などリソース制限のある環境で画像処理装置20が実装される場合、後段の特徴点マッチング部223でマッチング処理に用いる特徴点数に上限が存在する場合がある。これを考慮すると、特徴点抽出部221で算出された全ての特徴点を用いて、特徴点マッチング部223でマッチング処理を行うことは計算コストおよび演算精度の面から好ましくない。そのため、特徴点スコアの高いものから順に規定数に達するまでを特徴点として採用した上でマッチング処理を行うことが好ましい。
【0041】
ここで、特徴点スコアの高いものから順に規定数に達するまでを特徴点として採用するのが好ましい理由について説明する。Harrisで使用されるエッジは画像のコントラスト(輝度値)変化を反映するため、照明条件が多少変化する程度である場合は画像のコントラストは保存され、エッジは消失しない。つまり、遮蔽によって障害物などに隠され、エッジ自体が消失する場合を除いては、エッジは画像間(フレーム間)で消失する可能性は低いからである。そのため、エッジ情報をベースとした特徴点スコアの高い点は、画像t−1と画像tとにおいて特徴点として共通して存在する可能性が高い。
【0042】
以上から、共通に存在する特徴点を抽出するために用いる基準として特徴点スコアを使用する場合は、特徴点抽出部221は、ある特定の閾値よりもスコアの高い特徴点を抽出することになる。ここで、特徴点スコアを用いて特徴点を抽出する場合、上記の特定の閾値は画像内の平均スコアの値を用いてもよいし、複数の画像の時系列上でのスコアの平均などを基に決めた値を用いてもよい。また、上記の特定の閾値は、画像全体で1つの閾値を用いる必要はなく、領域ごとに生成される閾値を用いるとしてもよい。さらに、この領域ごとに生成される閾値は単一の画像を基に決めるとしてもよいし、時系列上の複数の画像を利用して決めるとしてもよい。
【0043】
また、特徴点スコアは、何らかのオブジェクトの認識を行った場合のオブジェクトのスコアを基に決めるとしてもよい。
【0044】
なお、この特徴点抽出部221を実現する代表的な方法としては、この他にSIFT、SURFなどの方法が存在する。
【0045】
特徴点座標変換部222は、特徴点抽出部221により抽出された第1の画像の第1特徴点と第2の画像の第2特徴点との座標を魚眼光学系の射影方式に応じた座標に変換する。具体的には、特徴点座標変換部222は、時間的に連続して撮影された複数の画像が魚眼光学系を用いて撮影された場合に、撮影された複数の画像の特徴点の座標を魚眼光学系で採用されている射影方式に応じた座標に変換する座標変換を行う。
【0046】
このような座標変換を行うのは、例えば魚眼光学系の超広角光学系で採用している射影方式によって入力画像から得られる特徴点座標の位置と外界における位置が異なり、正しいカメラの揺れ量を画像から推定するために、入力画像から得られる特徴点座標の位置と外界における位置とを一致させる必要があるからである。そのため、特徴点座標変換部222は、入力画像から得られる特徴点の座標に対して射影変換の逆変換を行い、各特徴点の外界での位置を算出する。なお、この座標変換は、少なくとも特徴点マッチング部223から得られる遠景特徴点(inlier)の座標に対して行われるが、遠景特徴点(inlier)の座標に対する座標変換のみに限らず、画像全体の座標変換を行ってもよい。
【0047】
なお、特徴点座標変換部222は、時間的に連続して撮影された複数の画像が魚眼光学系を含む広角光学系を用いて撮影されていない場合には、処理を行わない。その場合には、特徴点抽出部221により抽出された第1の画像の第1特徴点と第2の画像の第2特徴点とは、直接、特徴点マッチング部223に入力されるとしてもよい。
【0048】
特徴点マッチング部223は、特徴点抽出部221により抽出された第1の画像の第1特徴点と第2の画像の第2特徴点とでマッチングを行うことにより、第1の画像に対する第2の画像の位置ずれ量を示す移動量を推定する。また、特徴点マッチング部223は、時間的に連続して撮影された複数の画像が魚眼光学系を用いて撮影された場合には、特徴点座標変換部222により変換された座標の第1特徴点と第2特徴点とでマッチングを行うことにより、前記第1の画像に対する前記第2の画像の位置ずれ量を示す移動量を推定する。
【0049】
具体的には、特徴点マッチング部223は、画像t−1の特徴点データt−1と画像tの特徴点データtとの間のマッチングすなわち対応関係の推定を行う。ここで、特徴点データt−1は、前フレーム期間で画像t−1から特徴点抽出部221が抽出し、例えばメモリ224に記憶させていたものを用いるとする。また、特徴点データtは、現フレーム期間で画像tから特徴点抽出部221が抽出した特徴点データtを用いるとする。
【0050】
特徴点マッチング部223は、これら特徴点データt−1と特徴点データtとを用いて画像t−1および画像tの間に生じたカメラの動きを示す回転行列の推定を行う。ここで、回転行列の算出方法はRANSAC(RANdom SAmple Consensus)などの手法を用いる。この回転行列からはフレーム間すなわち画像間で発生したカメラの揺れ量を表すroll、pitch、yawの回転成分が得られる。なお、回転行列の推定に失敗した場合には、roll、pitch、yawには0を設定し、画像間では回転がなかったとして取り扱う。
【0051】
以上のように移動量推定部22は、構成される。
【0052】
判定部23は、
図5に示すように、特徴点判定部231と、ブラー判定部232と、テクスチャ判定部233とを備え、抽出された特徴点に基づいて、移動量推定部22により推定された移動量を用いて補正を行うか否かの判定を行う。ここで、
図5は、本発明の実施の形態1における判定部23の構成を示すブロック図である。
【0053】
判定部23は、抽出された特徴点に基づいて、移動量推定部22により推定された移動量が第1の画像に対する第2の画像の位置ずれ量(揺れ量)を示していると判定した場合に、移動量推定部22により推定された移動量を用いて補正を行うと判定する。具体的には、判定部23は、画像から得られる情報を基に画像処理の苦手なシーンすなわち画像処理ではカメラの揺れ量を推定できない画像を含むシーンを判定する。そして、判定部23は、画像処理ではカメラの揺れ量を推定できない画像を含むシーンであると判定した場合は画像処理を行わないように画像補正部24を制御する。
【0054】
画像処理でカメラの揺れ量を推定できない画像を含むシーンの例としては、
図2Aに示すように画像中にブラーを含む場合、
図2Bに示すように、画像中に特徴的な被写体が写っていないような場合、
図2Cに示すように、例えば地面のタイルなど周期的な模様(テクスチャ)のある場合などがある。以降、判定部23のこれらの判定方法について説明する。
【0055】
まず、
図2Aに示すように画像中にブラーを含む画像の判定方法について説明する。
図6は、広角光学系で撮影された画像を2次元から3次元に投影する場合の図である。
図7は、3次元に投影された画像t−1、画像tの特徴点の例を示す図である。
図8は、ブラーのない場合において3次元に投影された画像t−1、画像tの特徴点を重ね合わせた場合の図である。
図9は、ブラーのある場合とない場合とにおける3次元に投影された特徴点の位置ずれの例を示す図である。
図10は、ブラーのある場合において3次元に投影された画像t−1、画像tの特徴点を重ね合わせた場合の例を示す図である。
【0056】
ブラー判定部232は、ブラーを含む画像を特徴点マッチングの枠組みから判定する。以下、その方法について説明する。
【0057】
2次元(x、y)の画像から3次元情報である回転運動(roll、pitch、yaw)を求める際または求めた後に、特徴点を3次元に投影することで、3次元に投影された特徴点から特徴点の分布の関係を確認することができる。具体的には、まず、
図6に示すように特徴点が抽出された2次元の画像を3次元に投影する。ここで、
図6(a)は、典型例として魚眼光学系を用いて撮影された画像であって特徴点が抽出された画像であることを示しており、
図6(b)は、3次元座標に投影された特徴点の分布を示している。このような座標変換を行うのは、上述したように、2次元(x、y)の画像平面上では求める事ができない3次元情報である回転運動(roll、pitch、yaw)を求めるためであり、更に魚眼光学系で採用している射影方式によって入力画像から得られる特徴点座標の位置と外界における位置とが異なる場合は射影方式における位置ずれを考慮した補正を行うためである。つまり、このような座標変換は、正しいカメラの揺れ量の回転運動を画像から推定するために行っている。ここでは更に入力画像から得られる特徴点座標の位置と外界における位置とを一致させるために射影変換を行っている。また、このような座標変換は、魚眼光学系に限らず光学系(レンズ)の歪みの補正にも有用である。そして、求めた回転運動を用いて、特徴点を3次元に投影することで、3次元に投影された特徴点から特徴点の分布の関係がわかる。
【0058】
ブラー判定部232は、このような方法を用いて、特徴点を3次元座標へ投影した後に、移動量推定部22で推定された画像間(フレーム間)に生じたカメラの揺れ量(移動量)から画像間(フレーム間)の特徴点の分布の関係を確認する。
【0059】
ここで、揺れ補正処理の対象としている画像中にブラーを含んでいない場合は、画像間(フレーム間)での画像のコントラストが保たれるため、
図7に示すように画像t−1および画像tでは画像間(フレーム間)の特徴点の分布は類似する。そのため、移動量推定部22で正しい揺れ量(移動量)が推定された場合には、
図8(a)の状態が
図8(b)の状態となるように、画像t−1および画像tの特徴点の分布は大まかに一致する。一方で、揺れ補正処理の対象としている画像中にブラーを含んでいる場合には、画像間(フレーム間)での画像のコントラストが保たれない。そのため、画像tではブラーの影響で画像のコントラストが低くなるため、ブラーのない場合の特徴点の分布とは異なる特徴点の分布、具体的には
図9に示すように画像間(フレーム間)の特徴点の分布の類似度が低い分布が得られることになる。この類似度が低い特徴点の分布を用いて画像間(フレーム間)のカメラの揺れ量(移動量)を推定した場合には、
図10(a)の状態が
図10(b)の状態になるように、正しい揺れ量が推定できない。つまり、画像t−1および画像tの特徴点の分布の一致度は低くなる。
【0060】
このような特性を用いて、ブラー判定部232は、特徴点の分布の一致度を用いて画像間(フレーム間)で画像にブラーが生じたかどうかをおおまかに判定する事ができる。
【0061】
以上のように、ブラー判定部232は、画像にブラーが生じたかどうかをおおまかに判定する。具体的には、ブラー判定部232は、例えば各々の特徴点の一致度が一定以内の距離にある特徴点の個数をカウントし、その特徴点の個数が閾値より少ない場合にはブラーが存在すると判定してもよい。また、ブラー判定部232は、各々の特徴点の一致度を計測し、その合計値が閾値より多い場合にブラーが存在すると判定するとしてもよい。また、各々の特徴点の移動方向を計測し、その移動方向の分散を用いて判定しても良い。
【0062】
以上のように、ブラー判定部232は、第1の画像から抽出される第1特徴点と第2の画像から抽出される第2特徴点との座標を3次元座標に投影し、投影した3次元座標上における第1特徴点の特徴点分布と第2特徴点の特徴点分布との一致度が所定の一致度よりも高いか否かを判定し、当該一致度が所定の一致度より高いと判定した場合に、移動量推定部22により推定された移動量を用いて補正を行うと判定する。
【0063】
なお、画像処理装置20がカメラのシャッタースピードを取得できる場合には、ブラー判定部232は、シャッタースピードの速さに応じてブラーの有無を判定するとしてもよい。
【0064】
次に、
図2Bに示すように画像中に特徴的な被写体が写っていない画像の判定方法について説明する。
【0065】
特徴点判定部231は、第1の画像または第2の画像で抽出される特徴点の数が所定の数より多いか否かを判定する。特徴点判定部231は、第1の画像または第2の画像で抽出される特徴点の数が所定の数より多いと判定した場合に、移動量推定部により推定された移動量を用いて補正を行うと判定する。具体的には、特徴点判定部231は、入力画像からエッジ情報を算出し特定以上のエッジ強度を持つ画素の数が閾値に満たない場合に、特徴的な被写体が写っていないと判定する。
【0066】
なお、特徴点判定部231は、特定のオブジェクトが写っているかどうかの検出を行い、その特定オブジェクトの有無で特徴的な被写体が写っているかどうか判定するとしてもよいし、画像を複数領域に分割して領域ごとの輝度値の分散を調べ、その分散値の大小を基に特徴的な被写体が移っているかどうか判定するとしてもよい。
【0067】
次に、
図2Cに示すように例えば地面のタイルなど周期的な模様(テクスチャ)のある画像の判定方法について説明する。
図11は、テクスチャ領域での特徴点を表す図である。
図12は、テクスチャ領域で画像t−1および画像tで、共通した特徴点を選択する事が難しいことを説明するための図である。
図13は、テクスチャ領域がある場合に、特徴点分布の一致度が特徴点ごとに異なることを示す図である。
図14は、テクスチャの探索領域を示す図である。
【0068】
テクスチャ判定部233は、画像中にブラーを含む場合のように特徴点マッチングの枠組みから判定する。以下、その方法を採用する至った背景について説明する。
【0069】
画像中に周期的な模様(テクスチャ)を含むか否かに関わらず、抽出された特徴点全てを用いて特徴点マッチング部223で処理を行うと、上述したように計算コストが極めて高くなってしまう。そのため、実際にはこれらの抽出された特徴点からいくつかの代表的な特徴点に絞って処理を行う。
【0070】
このように絞った特徴点には、
図1Cで示したような○、△、×の特徴点が存在し、○で示される画像間(フレーム間)で共通の特徴点(inlier)が多ければ多いほど、画像間(フレーム間)のカメラの揺れ量(移動量)を安定して推定できる。逆に△や×の特徴点が多ければ多いほど、カメラの揺れ量(移動量)の推定が失敗する可能性が高くなる。そのため、安定してカメラの揺れ量(移動量)を推定するためには、特徴点の数を絞る過程において多くの○の特徴点(inlier)を残す事が重要である。
【0071】
しかし、このように特徴点の数を絞る過程において問題となるのが、類似した高コントラストを持つ画素が周期的に存在するというテクスチャ領域の特性である。例えば、
図11(a)に示すように例えば地面のタイルなどのテクスチャ領域では類似した高コントラストを持つ画素が周期的に並ぶため、このコントラスト情報を利用した特徴点は、
図11(b)に示すようにテクスチャ領域から多く抽出される。
【0072】
ところで、画像中にテクスチャ領域が存在しない場合であれば高コントラストを持つ画素は画像内で限られているため、特徴点の数を絞ったとしてもフレーム間で共通に存在する○の特徴点(inlier)が残り易いので、特徴点マッチング部223により画像間(フレーム間)で発生したカメラの揺れ量(移動量)を推定することができる。
【0073】
一方、画像中にテクスチャ領域が存在する場合は、高コントラストを持つ画素が画像内に多く存在することになるため、
図12に示すようにテクスチャ領域から得られる特徴点が支配的になり、
図13(a)に示すように画像間(フレーム間)で共通しない△の特徴点が多く選択される可能性がある。これは、カメラの揺れ量(移動量)や写っている被写体の内容が既知ではない上、被写体を識別する大きな手掛かりである特徴点のコントラスト値がテクスチャ内で類似しているため、特徴点を絞るべき基準が存在せず、どの特徴点に絞って良いかを判断できなくなることで生じる。
【0074】
したがって、画像中にテクスチャ領域が存在する場合に、抽出された特徴点を用いて特徴点マッチング部223がマッチングを行うと、画像間(フレーム間)のカメラの揺れ量(移動量)を誤推定する場合がある。この誤推定は、特徴点の一致度をどのように定義するかにもよるが、一般的には、例えば
図8(b)において、揺れ量(移動量)推定後の画像t−1の特徴点と画像tの特徴点との間の距離が一定以下の点の個数を一致度と設定する。そのため、テクスチャ判定部233は、画像t−1の特徴点と画像tの特徴点の間の距離が一定以下の点の個数が多い場合に、マッチング成功すなわち移動量推定部22により推定された移動量を用いて補正を行うと判定するとすればよい。
【0075】
なお、
図8は、画像間(フレーム間)でブラーなどの誤差要因が生じていない場合であり、実際には多少程度のブラーやある程度の誤差が存在する。そのため、画像t−1の特徴点と画像tの特徴点との間の距離を満たすものとして最小距離が設定され、この設定した最小距離を満たす特徴点はカメラの揺れ量(移動量)を表す特徴点とみなされる。しかし、
図13(a)に示すように画像間で位置の変わっている特徴点△が多数存在する場合、実際にはカメラの揺れ量(移動量)を表していない特徴点が、
図13(b)に示すように最小距離の設定によってはカメラの揺れ量(移動量)を表している特徴点としてみなされることがある。つまり、先に説明したように、画像中にテクスチャ領域が存在する場合には、カメラの揺れ量(移動量)を誤推定しまう原因となる。
【0076】
このような背景から、テクスチャ判定部233は、この誤推定の原因となるテクスチャの有無を判定することで、移動量推定部22により推定された移動量が第1の画像に対する第2の画像の位置ずれ量(揺れ量)を示しているかを判定する。
【0077】
具体的には、テクスチャ判定部233は、魚眼光学系などの広角光学系を用いて撮影された映像(画像)ではテクスチャが特定領域に偏って存在する傾向(
図2Cに示すタイルの部分)を利用する。
【0078】
さらに具体的には、テクスチャ判定部233は、特徴点マッチング部223によりマッチングが行われた後にはカメラの揺れ量(移動量)が取得できるので、画像間(フレーム間)の特徴点の分布の一致度を取得できる。取得した特徴点分布の一致度が高い時は、正しい揺れ量が推定できた場合(
図1Cの○を多く含む場合)とテクスチャによる誤推定の場合(
図1Cの△を多く含む場合)とが考えられる。そこで、取得した特徴点の分布の一致度が高い場合には、さらに、この一致度の高い特徴点の分布(inlierの分布)を
図14のように領域ごとに分割して領域ごとの偏在を確認する。この領域ごとの一致度を算出した際に、一部の領域だけ一致度の高い特徴点の分布(inlierの分布)が突出して高い(つまり偏在している)場合は、テクスチャの影響を受けている可能性があると判定できる。
【0079】
そして、このようにテクスチャの影響を受けている可能性があると判定できる場合には、周辺領域のコントラスト値を求め、周辺領域のコントラスト類似度を計測する。計測した類似度が高い場合には、該当する領域(偏在している領域)にはテクスチャが存在することがわかる。
【0080】
以上のように、テクスチャ判定部233は、第1の画像から抽出される第1特徴点と第2の画像から抽出される第2特徴点との座標を3次元座標に投影を行い、投影した3次元座標上における第1特徴点の特徴点分布と第2特徴点の特徴点分布との一致度が所定の一致度より高い場合に、さらに、第1の画像および第2の画像を領域分割し、分割した領域ごとに前記所定の一致度より高い第1特徴点と第2特徴点との特徴点分布(inlierの分布)を確認し、当該特徴点分布(inlierの分布)が分割した領域のうちの一部の領域に偏在する場合には、移動量推定部22により推定された前記移動量を用いて補正を行わないと判定する。
【0081】
なお、この判定により、テクスチャが存在する可能性があると判定された場合には、別途センサを用いて揺れ量(移動量)を推定し、その揺れ量(移動量)の補正を行うように制御してもよいし、テクスチャの存在する領域に対してマスクをかけ、テクスチャ領域を除外した上でもう一度、特徴点マッチング部223がマッチングを行って、カメラの揺れ量(移動量)を推定するとしてもよい。また、この結果を時系列上で利用し、テクスチャ領域にマスクをかけ続け、テクスチャの影響を除外するような制御法を用いてもよい。
【0082】
以上のように構成された判定部23は、抽出された特徴点に基づいて、移動量推定部22により推定された移動量を用いて補正を行うか否かの判定を行う。
【0083】
なお、ブラー判定部232およびテクスチャ判定部233は、第1の画像から抽出される第1特徴点と第2の画像から抽出される第2特徴点との座標を3次元座標に投影するという座標変換を行った上で、第1特徴点の特徴点分布と第2特徴点の特徴点分布との一致度を確認しているが、それに限らない。魚眼光学系を用いて撮影された画像でなく、光学系(レンズ)の歪みの補正を行わない場合には、この座標変換を行わずに、その後の処理を行うとしてもよい。
【0084】
画像補正部24は、判定部23により移動量を用いて補正を行うと判定された場合に、第2の画像の第1の画像に対する位置ずれを、移動量を用いて補正することにより、複数の画像間の位置ずれを補正する。具体的には、画像補正部24は、特徴点マッチング部223で算出された補正値(移動量)を用いて画像t−1、画像tのフレーム間(画像間)で生じたカメラの揺れを補正する。画像補正部24は、補正量すなわち移動量を示すパラメータroll、pitchおよびyawを用いて例えばアフィン変換などを行うことにより画像tの画像t−1に対する揺れの補正を行う。
【0085】
次に、以上のように構成された画像処理装置20の処理の流れについて説明する。
【0086】
図15および
図16は、本発明の実施の形態1における画像処理装置20の処理の流れについて説明するためのフローチャートである。
図16は、
図15の処理を詳細化したものである。
【0087】
まず、画像処理装置20は、画像取得部21で処理対象の画像データを取得する。具体的には、画像取得部21は、撮像部10から得られる画像tおよび画像t−1の画像データをそれぞれ読み込む。
【0088】
次に、移動量推定部22は、第1の画像の時間的に後に撮影された第2の画像の前記第1の画像に対する位置ずれ量を示す移動量を、前記第1の画像および前記第2の画像それぞれから抽出される特徴点を用いて、推定する(S10)。具体的には、特徴点抽出部221は、第1の画像から第1特徴点を抽出し、第2の画像から第2特徴点を抽出する(S101)。次いで、特徴点座標変換部222は、特徴点抽出部221により抽出された第1の画像の第1特徴点と第2の画像の第2特徴点との座標を魚眼光学系の射影方式に応じた座標に変換する(S102)。その結果、各特徴点の外界の位置が算出される。次いで、特徴点マッチング部223は、特徴点抽出部221により抽出された第1の画像の第1特徴点と第2の画像の第2特徴点とでマッチングを行うことにより、第1の画像に対する第2の画像の位置ずれ量を示す移動量を推定する(S103)。
【0089】
次に、判定部23は、抽出された特徴点に基づいて、移動量推定部22により推定された移動量を用いて補正を行うか否かの判定を行う(S20)。具体的には、まず、特徴点判定部を行う。すなわち、特徴点判定部231は、第1の画像または第2の画像で抽出される特徴点の数が所定の数より多いか否かを判定する(S201)。特徴点判定部231は、第1の画像または第2の画像で抽出される特徴点の数が所定の数より多いと判定した場合に(S201のpass)、S202へと進む。なお、特徴点判定部231は、第1の画像または第2の画像で抽出される特徴点の数が所定の数より多くない(つまり少ない)と判定した場合には(S201のfail)、移動量推定部22により推定された移動量を用いて補正を行わないと判定し、画像処理装置20の処理を終了させる。次いで、ブラー判定を行う。すなわち、ブラー判定部232は、第1の画像から抽出される第1特徴点と第2の画像から抽出される第2特徴点との座標を3次元座標に投影し、3次元座標上における第1特徴点の特徴点分布と第2特徴点の特徴点分布との一致度が所定の一致度よりも高いか否かを判定する(S202)。ブラー判定部232は、当該一致度が所定の一致度より高いと判定した場合に、移動量推定部22により推定された移動量を用いて補正を行うと判定し(S201のpass)、S203へと進む。なお、ブラー判定部232は、当該一致度が所定の一致度より高くない(つまり低い)と判定した場合に(S202のfail)、移動量推定部22により推定された移動量を用いて補正を行わないと判定し、画像処理装置20の処理を終了させる。次いで、テクスチャ判定を行う。すなわち、テクスチャ判定部233は、第1の画像から抽出される第1特徴点と第2の画像から抽出される第2特徴点との座標を3次元座標に投影を行い、3次元座標上における第1特徴点の特徴点分布と第2特徴点の特徴点分布との一致度が所定の一致度より高い場合に、さらに、第1の画像および第2の画像を領域分割し、分割した領域ごとに前記所定の一致度より高い第1特徴点と第2特徴点との特徴点分布(inlierの分布)を確認する(S203)。テクスチャ判定部233は、当該特徴点分布(inlierの分布)が分割した領域のうちの一部の領域に偏在しない場合には、(S203のpass)、移動量推定部22により推定された前記移動量を用いて補正を行うと判定し、S30へと進む。なお、テクスチャ判定部233は、当該特徴点分布(inlierの分布)が分割した領域のうちの一部の領域に偏在する場合には、(S203のfail)、移動量推定部22により推定された移動量を用いて補正を行わないと判定し、画像処理装置20の処理を終了させる。
【0090】
次に、画像補正部24は、判定部23により移動量を用いて補正を行うと判定された場合に、第2の画像の第1の画像に対する位置ずれを、移動量を用いて補正することにより、複数の画像間の位置ずれを補正する(S30)。つまり、画像補正部24は、判定部23において全ての判定がクリアされた場合に、移動量推定部22により推定された移動量(揺れ量)を用いて、映像の揺れを補正する。
【0091】
以上のようにして、画像処理装置20は、処理を行う。
【0092】
このようにして、画像処理装置20は、例えば魚眼光学系で撮影された映像の揺れ量を画像処理で推定する際、画像処理では揺れ量の推定ができないような画像に対して誤って推定された揺れ量を用いて補正を行うことで映像品質が劣化してしまうことを防止することができる。つまり、画像処理装置20は、画像処理では揺れ量の推定ができないような画像を含んでいても、時間的に連続して撮影された複数の画像間の揺れ量を高精度に補正することで、もしくは誤った値で補正する事を避けることで最終的な映像品質を高めることができる。
【0093】
以上、本実施の形態によれば、画像処理では揺れ量の推定ができないような画像を含んでいても、時間的に連続して撮影された複数の画像間の揺れ量を高精度に補正することができる画像処理装置および画像処理方法を実現することできる。
【0094】
なお、本実施の形態の画像処理装置では、魚眼映像等の超広角映像に対して顕著な効果を奏するので、好ましい適用例であるがそれに限らない。画角70度程度以下の通常画角映像に対しても適用が可能である。
【0095】
なお、上記では、画像処理装置20は、画像取得部21と画像処理部20aとを備えるとしたがそれに限られない。画像処理装置20の最小構成として、画像処理部20aを備えていればよい。画像処理装置20は、この画像処理部20aを少なくとも備えることにより、画像処理では揺れ量の推定ができないような画像を含んでいても、時間的に連続して撮影された複数の画像間の揺れ量を高精度に補正することができる。
【0096】
(実施の形態2)
実施の形態1では、揺れ量(移動量)を移動量推定部22で画像処理を行うことにより算出していたが、それに限らない。揺れ量(移動量)をセンサでも同時に推定するとしてもよい。以下、本発明の実施の形態2における画像処理装置および画像処理方法について、図を参照しながら説明する。
【0097】
図17は、本発明の実施の形態2における全体構成を示すブロック図である。
図3および
図4と同様の構成要素については同じ符号を用いて説明を省略し、異なる構成要素についてのみ説明を行う。
【0098】
図17に示す本実施の形態の全体構成は、
図3に示す実施の形態1の全体構成に対して、センサ推定部31、補正手段決定部32をさらに備える点で異なる。
【0099】
センサ推定部31は、撮影に用いた光学系の光軸周りの回転角度または前記光学系の光軸に対して互いに垂直な2軸のうち少なくとも1つの軸周りの回転角度を計測し、計測した回転角度を、第1の画像に対する第2の画像の位置ずれ量を示す移動量と推定する。具体的には、センサ推定部31は、センサを用いて画像間(フレーム間)のカメラの揺れ量(移動量)を推定する。ここで、センサ推定部31は、角加速度センサ、角速度センサ、加速度センサ、ジャイロセンサおよび方位センサのうち少なくとも1種類のセンサによって構成される。なお、センサは、上記のうちいずれか、またはいくつかのセンサを用いて、画像間(フレーム間)に生じたカメラの揺れ量(移動量)を計測する。また、センサ推定部31は、センサにより計測された揺れ量(移動量)を時系列上で処理をすることで、当該画像(フレーム)の揺れ量(移動量)を推定するとしてもよい。
【0100】
補正手段決定部32は、判定部23が移動量推定部22により推定された移動量用いて補正を行わないと判定した場合に、センサ推定部31により推定された移動量を用いて補正を行うか否かを決定する。具体的には、補正手段決定部32は、判定部23で画像処理の結果が適用不可能と判定された場合に、センサ推定部31で推定された画像間(フレーム間)の揺れ量(移動量)が適用可能かを決定する。具体的には、補正手段決定部32は、加速度センサもしくはジャイロセンサなどのセンサを用いて、画像間(フレーム間)または複数画像(複数フレーム)における挙動を観測することにより、センサ推定部31で推定された揺れ量(移動量)を用いるか用いないかを決定する。
【0101】
なお、画像間(フレーム間)または複数画像(複数フレーム)における挙動の観測は、例えば複数画像間(フレーム間)でセンサの値が激しく揺らいでいる場合にはカメラの揺れ量(移動量)が大きいと判定することができる。そのため、補正手段決定部32は、センサの値が激しく揺らいでいる場合にセンサの推定精度が下がるとしてセンサ推定部31で推定された揺れ量(移動量)を用いての補正は行わないことを決定するとしてもよい。反対に、逆にセンサの挙動が安定している場合にはカメラが静止状態にあるとしてセンサ推定部31で推定された揺れ量(移動量)を用いての補正を行うことを決定するとしてもよい。
【0102】
次に、以上のように構成され画像処理装置30の処理の流れについて説明する。
【0103】
図18は、本発明の実施の形態2における画像処理装置30の処理の流れについて説明するためのフローチャートである。なお、
図16と同様の要素には同一の符号を付しており、詳細な説明は省略する。
【0104】
すなわち、S10において、移動量推定部22は、第1の画像の時間的に後に撮影された第2の画像の前記第1の画像に対する位置ずれ量を示す移動量を、前記第1の画像および前記第2の画像それぞれから抽出される特徴点を用いて、推定する。
【0105】
次に、センサ推定部31は、撮影に用いた光学系の光軸周りの回転角度または前記光学系の光軸に対して互いに垂直な2軸のうち少なくとも1つの軸周りの回転角度を計測し、計測した回転角度を、第1の画像に対する第2の画像の位置ずれ量を示す移動量と推定する(S15)。
【0106】
次に、判定部23は、抽出された特徴点に基づいて、移動量推定部22により推定された移動量を用いて補正を行うか否かの判定を行う(S20)。S20において、判定部23により、移動量推定部22により推定された移動量を用いて補正を行わないと判定された場合に(S20のfail)、画像処理装置30の処理を終了させずに、S25のセンサ信頼判定の処理へと進む。
【0107】
S25において、補正手段決定部32は、判定部23が移動量推定部22により推定された移動量を用いて補正を行わないと判定した場合に、センサ推定部31により推定された移動量を用いて補正を行うか否かを決定する。補正手段決定部32は、センサ推定部31で推定された揺れ量(移動量)を用いて補正を行うことを決定する場合には(S25のpass)、S30へと進む。一方、補正手段決定部32は、センサ推定部31で推定された揺れ量(移動量)を用いて補正を行わないことを決定する場合には(S25のfail)、画像処理装置20の処理を終了させる。
【0108】
次に、画像補正部24は、判定部23により移動量推定部22で推定された移動量を用いて補正を行うと判定された場合には(S20のpass)、第2の画像の第1の画像に対する位置ずれを、移動量推定部22で推定された移動量を用いて補正することにより、複数の画像間の位置ずれを補正する(S30)。一方、画像補正部24は、補正手段決定部32によりセンサ推定部31で推定された移動量を用いて補正を行うと判定された場合に(S25のpass)、第2の画像の第1の画像に対する位置ずれを、センサ推定部31で推定された移動量を用いて補正することにより、複数の画像間の位置ずれを補正する(S30)。
【0109】
以上のようにして、画像処理装置30は、処理を行う。
【0110】
以上、本実施の形態によれば、画像処理では揺れ量の推定ができないような画像を含んでいても、時間的に連続して撮影された複数の画像間の揺れ量を高精度に補正することができる画像処理装置および画像処理方法を実現することできる。具体的には、本実施の形態の画像処理装置および画像処理方法によれば、特徴点ベースのマッチング処理過程から取得できる画像情報から、画像処理が苦手な画像を含むシーンの判定を行ない、判定したシーンに応じてセンサまたは画像処理により推定された揺れ量の採否を切り替えることで、撮影された映像の揺れを高精度に補正することができる。
【0111】
以上、本発明によれば、時間的に連続して撮影された複数の画像間の揺れ量を高精度に補正することができる画像処理装置および画像処理方法を実現することできる。
【0112】
なお、本発明における画像処理装置は、補正を行う画像がいつ撮影されたものであるかは関知しない。また、上述の画像処理装置は、デジタルスチルカメラやデジタルビデオカメラに内蔵し、撮像画像をその場で補正する構成をとっているがそれに限られない。例えば、パーソナルコンピュータ上でアプリケーションとして実装するなど、撮像装置とは別に、画像処理装置を用意し、カメラなどの記録デバイスと直接ケーブル等で接続して撮像画像を入力するような構成にしてもよいし、SDメモリカード等の記録媒体やネットワークを介して画像データを読み込んでもよい。
【0113】
以上、本発明の画像処理装置、画像処理方法、画像処理プログラムについて、実施の形態に基づいて説明してきたが、本発明は、これらの実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
【0114】
(1)上記の各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAMまたはハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【0115】
(2)上記の各装置を構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
【0116】
(3)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカードまたは前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【0117】
(4)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
【0118】
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
【0119】
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【0120】
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
【0121】
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【0122】
(5)上記実施の形態および上記変形例をそれぞれ組み合わせるとしてもよい。