(57)【要約】【課題】  全天球画像を適切に平面画像に変換する。【解決手段】  球状の画像を表すための少なくとも１つ以上の入力画像データを取得する取得手段と、前記入力画像データにおける注目領域を決定する決定手段と、前記注目領域に基づいて、前記入力画像データを、正距円筒図法により球状の画像の少なくとも一部を表す出力画像データに変換する変換手段とを有することを特徴とする。【選択図】  図２
2019012516.tif 000002
【特許請求の範囲】
【請求項１】
画像を表すための少なくとも１つ以上の入力画像データを取得する取得手段と、
前記入力画像データにおける注目領域を決定する決定手段と、
前記注目領域に基づいて、前記入力画像データを、正距円筒図法により前記画像の少なくとも一部を表す出力画像データに変換する変換手段とを有することを特徴とする画像処理装置。
【請求項２】
前記変換手段は、前記出力画像データを球にマッピングした場合に、前記注目領域が球の極付近の位置に相当するように、前記入力画像データを前記出力画像データに変換することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記入力画像データおよび前記出力画像データは、全天球画像を表し、
前記出力画像データが表す全天球画像は、前記入力画像データが表す全天球画像における被写体の位置を変更された画像であることを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記変換手段は、前記入力画像データが表す画像における前記注目領域の位置を変更することを特徴とする請求項１乃至３の何れか一項に記載の画像処理装置。
【請求項５】
前記決定手段が前記注目領域を２つ指定した場合、前記変換手段は、前記２つの注目領域の角度差に応じて、前記入力画像データを前記出力画像データに変換することを特徴とする請求項１乃至４の何れか一項に記載の画像処理装置。
【請求項６】
前記変換手段は、２つの注目領域の角度差が９０度以上である場合は異なる極の位置に、角度差が９０度未満である場合は同じ極の位置に近づけるように、前記入力画像データを前記出力画像データに変換することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記決定手段が３つ以上の前記注目領域を指定した場合、前記変換手段は、前記注目領域の位置に応じて２つのグループに分類することを特徴とする請求項５または６に記載の画像処理装置。
【請求項８】
前記取得手段は、球状の画像を表す１つの入力画像データを取得し、
前記変換手段は、前記取得手段が取得した入力画像データを球面座標系において回転することにより、前記出力画像データを得ることを特徴とする請求項１乃至７の何れか一項に記載の画像処理装置。
【請求項９】
前記変換手段は、前記注目領域を代表する注目点の座標が前記出力画像データの上部または下部に近づくように、球面座標系での前記注目点の回転量を算出する算出手段と、
前記回転量に従って前記入力画像データを回転する回転処理手段とを有することを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
さらに、前記注目領域を決定するためのモードを選択する選択手段を有し、
前記決定手段は、前記検出モードに基づいて複数の注目領域を自動で検出することを特徴とする請求項１乃至９の何れか一項に記載の画像処理装置。
【請求項１１】
前記決定手段は、前記選択手段によって選択された検出モードでは前記注目領域を検出できなかった場合、予め設定された検出モードを利用して注目領域を検出することを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
前記決定手段は、ユーザからの指定に応じて前記注目領域を決定することを特徴とする請求項１乃至９の何れか一項に記載の画像処理装置。
【請求項１３】
前記出力画像データが表す平面画像において、最上部および最下部の付近に位置する画素の分解能の方が、中央横線の付近に位置する画素の分解能よりも高く、前記変換手段は、前記注目領域が前記平面画像における最上部および最下部の付近に位置するように変換することを特徴とする請求項１乃至１２の何れか一項に記載の画像処理装置。
【請求項１４】
前記入力画像データは、視点の異なる複数の撮像画像であり、前記変換手段は、前記複数の撮像画像から前記出力画像データを生成することを特徴とする請求項１または２に記載の画像処理装置。
【請求項１５】
さらに、前記複数の撮像装置それぞれを撮影した際のカメラの姿勢を示す姿勢情報を取得する姿勢取得手段と、
前記姿勢情報に基づいて、前記複数の撮像装置から全天球画像を合成する合成手段を有し、
前記変換手段は、前記合成手段が合成した全天球画像を、前記出力画像データに変換することを特徴とする請求項１４に記載の画像処理装置。
【請求項１６】
前記選択手段は、人物を検出し、検出した人物の少なくとも１つを前記注目領域とする人物モードを含むことを特徴とする請求項１０または１１に記載の画像処理装置。
【請求項１７】
前記選択手段は、前記入力画像データを複数の領域に分割し、各領域で周波数を計算し、高周波成分の多い領域を前記注目領域とすることを特徴とする請求項１０または１１に記載の画像処理装置。
【請求項１８】
前記入力画像データおよび前記出力画像データは、ある視点から全方位の光線情報を保持する全天球画像であることを特徴とする請求項１乃至８の何れか一項に記載の画像処理装置。
【請求項１９】
コンピュータを請求項１乃至９の何れか一項に記載された画像処理装置として機能させるためのプログラム。
【請求項２０】
球状の画像を表すための少なくとも１つ以上の入力画像データを取得する取得工程と、前記入力画像データにおける注目領域を決定する決定工程と、
前記注目領域に基づいて、前記入力画像データを、正距円筒図法により球状の画像を表す出力画像データに変換する変換工程とを有し、
前記変換工程は、前記出力画像データを球面にマッピングした場合に、前記注目領域が球面の極付近の位置に相当するように、前記入力画像データを前記出力画像データに変換することを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、球状の画像表す平面の画像データを保持するための画像処理技術に関する。
【背景技術】
【０００２】
ヘッドマウントディスプレイなどを装着した視聴者に対して、視聴者の視線の動きに合わせて画像を表示する技術が知られている。ある位置における周囲３６０度すべての画像を表す全天球画像のうち、視聴者の視線の方向に合わせて一部の画像を表示することにより、視聴者はその場にいるかのような臨場感を体感することができる。全天球画像は、全方向の画像を表すため、データ量が膨大である。そこで近年、全天球画像を適切に保存する方法が検討されている。特許文献１に開示された方法では、全天球画像を複数の断片画像に分割し、変化の乏しい空や地面などの上下の極部分は平面円に投影して極座標で表現し、極部分以外の部分は長方形に補間して直交座標系に基づく圧縮処理を適用する。これにより、全天球画像を効率的に圧縮している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−２９８６５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら特許文献１に開示された方法では、全天球画像が領域によって異なる座標系で表現されているため、全天球画像から表示画像を生成するためには、領域ごとに異なる処理が必要になってしまう。そこで本発明は、全天球画像を分割して領域ごとに異なる処理を必要とせず、適切に平面画像に変換することを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するため本発明は、球状の画像を表すための少なくとも１つ以上の入力画像データを取得する取得手段と、前記入力画像データにおける注目領域を決定する決定手段と、前記注目領域に基づいて、前記入力画像データを、正距円筒図法により球状の画像の少なくとも一部を表す出力画像データに変換する変換手段とを有することを特徴とする。
【発明の効果】
【０００６】
本発明によれば、全天球画像を適切に平面画像に変換することができる。
【図面の簡単な説明】
【０００７】
【図１】画像処理装置の構成を示すブロック図。
【図２】画像処理装置の詳細な論理構成を示すブロック図。
【図３】画像処理装置における処理の流れを示すフローチャート。
【図４】回転量算出処理の流れを示すフローチャート。
【図５】正距円筒図法の全天球画像の例を示す図。
【図６】正距円筒図法の仰角に対する分解能の変化を示すグラフ。
【図７】表示画像の例を示す図。
【図８】入力画像データを示す図。
【図９】注目点が１つである場合の回転処理後の画像を示す図。
【図１０】２つの注目点の角度差が９０度未満の場合の回転処理後の画像を示す図。
【図１１】２つの注目点の角度差が９０度以上の場合の回転処理後の画像を示す図。
【図１２】画像処理装置の論理構成を示すブロック図。
【図１３】画像処理装置における処理の流れを示すフローチャート。
【図１４】画像処理装置の詳細な論理構成を示すブロック図。
【図１５】画像処理装置における処理の流れを示すフローチャート。
【発明を実施するための形態】
【０００８】
以下、本発明の実施形態について、図面を参照して説明する。なお、以下の実施形態は本発明を必ずしも限定するものではなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成については、同じ符号を付して説明する。
【０００９】
＜第１実施形態＞
第１実施形態では、全天球画像において高解像度に保存したい注目領域を決定し、注目領域が極付近の位置に相当するように全天球画像の軸を変更した上で、正距円筒法により平面画像に変換する方法について説明する。なお全天球画像とは、球状の画像であり全方位画像、全天周画像などとも呼ばれ、ある位置からの３６０度全方位のシーンを表す画像を意味する。また本実施形態における画像処理装置は、頭に装着して画像を視聴できるヘッドマウントディスプレイ（以下、ＨＭＤ）に用いられる全天球画像を保存する。ＨＭＤでは、装着した視聴者の視線に応じて、本実施形態により適切に保存された全天球画像における視線方向の部分的な画像がディスプレイに表示される。ＨＭＤに表示する画像は、ＨＭＤあるいはＨＭＤへの画像出力を実行する画像処理装置が行うものとする。ＨＭＤに表示される画像は、本実施形態における画像処理が保存する全天球画像、またはその一部に各種画像処理を施した後に得られる画像である。
【００１０】
本実施形態における画像処理装置のハードウェア構成について、図１を用いて説明する。本実施形態における画像処理装置は、画像データを読み込んで各種画像処理を実行するパーソナルコンピュータを例に説明する。ＣＰＵ１０１は、ＲＡＭ１０２をワークメモリとして、ＲＯＭ１０３及びハードディスクドライブ（ＨＤＤ）１０５に格納されたプログラムを実行し、システムバス１１０を介して後述する各構成を制御する。これにより、後述する様々な処理が実行される。ＨＤＤインタフェイス（Ｉ／Ｆ）１０４は、ＨＤＤ１０５や光ディスクドライブなどの二次記憶装置を接続する。例えばシリアルＡＴＡ（ＳＡＴＡ）等のインタフェイスである。ＣＰＵ１０１は、ＨＤＤＩ／Ｆ１０４を介して、ＨＤＤ１０５からのデータ読み出し、およびＨＤＤ１０５へのデータ書き込みが可能である。さらにＣＰＵ１０１は、ＨＤＤ１０５に格納されたデータをＲＡＭ１０２に展開し、同様に、ＲＡＭ１０２に展開されたデータをＨＤＤ１０５に保存することが可能である。そしてＣＰＵ１０１は、ＲＡＭ１０２に展開したデータをプログラムとみなし、実行することができる。入力インタフェイス（Ｉ／Ｆ）１０６は、キーボードやマウス、デジタルカメラ、スキャナなどの入力デバイス１０７を接続する、例えばＵＳＢやＩＥＥＥ１３９４等のシリアルバスインタフェイスである。ＣＰＵ１０１は、入力Ｉ／Ｆ１０６を介して入力デバイス１０７からデータを読み込むことが可能である。出力インタフェイス（Ｉ／Ｆ）１０８は、ディスプレイなどの画像表示装置の出力デバイス１０９を接続する。出力インタフェイス１０８は例えばＤＶＩやＨＤＭＩ（登録商標）等の映像出力インタフェイスである。ＣＰＵ１０１は、出力Ｉ／Ｆ１０８を介して出力デバイス１０９にデータを送り、表示を実行させることができる。前述の通り本実施形態では、出力デバイス１０９としてＨＭＤを想定している。
【００１１】
図２は、本実施形態における画像処理装置の論理構成を示すブロック図である。ＣＰＵ１０１は、ＲＯＭ１０３又はＨＤＤ１０５に格納されたプログラムを読み出してＲＡＭ１０２をワークエリアとして実行することで、図２に示す各機能ブロックとしての役割を果たす。なお、全ての機能ブロックの役割をＣＰＵ１０１が果たす必要はなく、各機能ブロックに対応する専用の処理回路を設けるようにしてもよい。
【００１２】
画像取得部２０１は、全天球を表す入力画像データを取得する。全天球を表す入力画像データは、ある地点における全ての向きの入射光線の色を保存した画像データのことである。ここで取得する入力画像データは、正距円筒図法により平面に展開された画像データである。図５は、正距円筒図法により表された全天球画像を示す。正距円筒図法とは、地図投影法の１つとして知られ、地球の緯度・経度を平面の縦・横それぞれに割り当てることで平面に展開する図法である。全天球画像の画像データを保存する方式として、正距円筒図法が用いられることが知られている。正距円筒図法では画像データの横軸を方位角θとする。方位角θの範囲は［−π  π］である。また、縦軸を仰角φとし、仰角φの範囲は［−π／２  π／２］である。画像データは、方位角θおよび仰角φを離散化した位置における色情報を画素値として格納された画素からなる。画像データにおいて幅はｗ画素、高さはｈ画素とする。正距円筒図法における仰角φの変化に対する分解能の変化を示すグラフを図６に示す。分解能とは、全天球画像の１画素に入射する光線の角度を表す。図６に示すグラフは、仰角０度における画像の分解能に対する各仰角における分解能の比率を表している。図６に示すグラフによれば、仰角の絶対値が７０度を超えるような領域では、仰角が０度の領域と比べて分解能が３倍以上になっている。このように仰角の絶対値が大きな領域ほど分解能が高くなることがわかる。
【００１３】
正距円筒図法により平面に展開された全天球画像を球面にマッピングしたときに、北極（天頂）、南極（天底）にあたる位置を極と呼ぶことにする。正距円筒図法により表された画像においては、極は１点ではなく広がりを持っており、画像の最上部の行と最下部の行が極の位置に相当する。一方、球面における赤道の位置は、全天球画像における中央横線に相当する。図６に示す通り、正距円筒図法により平面に展開された全天球画像では、極の位置が最も高い分解能を持ち、赤道に相当する領域に比べて、極に近い領域ほど分解能は高くなる。従って、極領域に色情報を格納された被写体は、そのほかの領域に色情報を格納された被写体と比較して、多くの画素を使って高い解像度で保存することができることになる。
【００１４】
ＨＭＤを装着した視聴者の視線方向に合わせて、全天球画像の部分的な領域（以降、部分画像とする）をＨＭＤのディスプレイに表示する際には、部分画像に対して各種画像処理を施されることが想定される。縮小などの画像処理を全天球画像または部分画像に実行した結果、部分画像の画質は低下してしまう場合がある。そこで本実施形態では、正距円筒図法により展開された平面の画像では、極に近い領域ほど分解能が高いことを利用する。全天球画像においてより高解像度に保存しておくことが望ましい領域を注目領域として特定し、注目領域の位置が極領域の位置に相当するように、全天球画像を変換した上で保存しておく。
【００１５】
注目領域決定部２０２は、入力画像データにおいて高解像度に保存したい領域を特定する。本実施形態では、出力Ｉ／Ｆ１０８を介して出力デバイス１０９であるディスプレイに処理対象とする全天球画像を表示し、ユーザに高解像度に保存したい被写体を指定させる。指定は、マウスやタッチなどの入力デバイス１０７を介して行う。本実施形態では、ユーザは注目領域としたい被写体を、マウスを用いてクリックするものとする。
【００１６】
変換部２０６は、入力画像データを注目領域の位置に応じて変換する。変換部２０６は、回転量算出部２０３と画像回転部２０４からなる。回転量算出部２０３は、指定された注目点の位置を全天球画像の極領域に対応づけるための回転量を算出する。なお全天球画像は、正距円筒図法によって平面図に展開されているものの、球状の画像と対応している。ここで回転量とは、全天球画像を球面にマッピングした場合に座標軸を回転させ、極の位置を変更するために必要な回転の角度を意味するものである。画像回転部２０４は、回転量算出部２０３が算出した回転量に従って、画像取得部２０６が取得した全天球画像を実質的に回転させる。
【００１７】
出力部２０５は、画像回転部２０４により指定された注目点の位置を全天球画像の極領域に対応づけるように入力画像データを変換した出力画像データを出力する。
【００１８】
また、図７に全天球画像から作成した表示画像の例を示す。前述の通り、本実施形態における画像処理装置が保持する全天球画像を、他の画像処理装置またはＨＭＤが読み出し、図７に示すような表示画像を生成する。表示画像は、内側に全天球画像を張り付けた球を仮想カメラで撮影することで作成できる。図７からわかるように、表示画像は全天球画像の一部の領域を参照して作成される。従って本実施形態では球状の全天球画像を入力としているが、表示画像に必要な半球状の画像など全天球のうちの一部だけが画素データを持ち、一部の領域の画素データが無くても構わない。
【００１９】
図３は、第１実施形態における画像処理の流れを示すフローチャートである。ＣＰＵ１０１は、図３に示すフローチャートを実行可能なプログラムを読み出して実行することによって実現される。なお、以下のフローチャートの説明において、各ステップの符号をＳと表記することとする。まずＳ３０１において画像取得部２０１は、全天球を平面画像に展開した入力画像データを取得する。
【００２０】
Ｓ３０２において注目領域決定部２０２は、ユーザによる入力に従い、注目したい領域を定義可能な注目点を決定する。注目点とは、注目領域を代表する点である。前述の通りユーザは、ディスプレイに表示された全天球画像において、注目被写体の位置をクリックする。注目領域決定部２０２は、クリックされた位置を注目点（ｘｉ、ｙｉ）とする。ここでｘとｙは、画像中の座標を示し、ｉは決定した注目点のインデックスを示す。なお、クリックではなく、被写体を含む領域を注目領域として指定された場合は、領域の重心位置を注目点（ｘｉ、ｙｉ）とする。
【００２１】
Ｓ３０３において回転量算出部２０３は、注目点の位置に基づいて入力画像データの回転量を算出する。本実施形態では画像の回転は回転行列Ｒを使って表す。回転はオイラー角やクォータニオンなど、別の表現形式を用いてもよい。この回転量算出処理の詳細については後述する。
【００２２】
Ｓ３０４において画像回転部２０４は、全天球画像である入力画像データＩに回転処理を実行して、画像における極領域に注目被写体が相当するように変換した全天球画像である出力画像データＩ’を出力する。ここで、全天球画像の回転処理は画像座標系で回転するのではなく、球面座標系で回転させる。すなわち、２次元平面上で回転するのではなく、全天球画像を球面にマッピングして、マッピングした球を回転させ、回転させた後に再度正距円筒図法により展開した平面上の画像に変換する。回転後の出力画像データＩ’における各画素は回転を考慮して入力画像データＩから画素値をサンプリングして算出する。これは、まず、回転後の出力画像データＩ’における各画素（ｘ’，ｙ’）に対して、その画素に対応する取得した入力画像データＩの座標（ｘ、ｙ）を計算する。次に、座標（ｘ、ｙ）の画素値をサンプリングして出力画像データＩ’における画素（ｘ’，ｙ’）の画素値とする。以下では、回転処理後の出力画像データＩ’の座標（ｘ’，ｙ’）に対応する入力画像データＩの座標（ｘ、ｙ）を求める方法について述べる。まず、画像座標系の（ｘ’，ｙ’）を方位角と仰角に変換する。入力画像データＩの幅をｗ、高さをｈとすると、（ｘ’，ｙ’）に対応する方位角θ’、仰角φ’は式（１）により計算する。
【００２３】
【数１】
2019012516.tif 000003
【００２４】
次に方位角θ’、仰角φ’を回転行列で表し、Ｓ３０３において算出した全天球画像の回転行列Ｒの逆行列Ｒ−１と積算した行列Ｍを方位角、仰角の表現に変換することにより、取得した全天球画像における方位角θ、仰角φを算出する。方位角θ、仰角φを算出は、式（２）により算出される。
【００２５】
【数２】
2019012516.tif 000004
【００２６】
ここで、ａｔａｎはアークタンジェント、ａｓｉｎはアークサイン関数を表す。
【００２７】
そして方位角θ、仰角φを取得した全天球画像における座標（ｘ、ｙ）に変換する。この変換は式（３）で計算できる。
【００２８】
【数３】
2019012516.tif 000005
【００２９】
最後に、取得した入力画像データＩの座標（ｘ、ｙ）の画素値を算出し、回転後の出力画像データＩ’の座標（ｘ’，ｙ’）の画素値とする。ここでは、座標（ｘ、ｙ）近傍の４画素から先見補間により画素値を算出し、回転後の出力画像データＩ’の座標（ｘ’，ｙ’）の画素値とする。ただし、線形補間に限らず、バイキュービックなどの補間法を利用してもよい。
【００３０】
Ｓ３０５において出力部２０５は、回転処理後の出力画像データと回転処理に用いた回転行列ＲをＨＤＤ１０５またはＲＡＭ１０２に出力する。以上が本実施形態の画像処理装置で行われる処理の流れである。
【００３１】
ここで、Ｓ３０３において回転量算出部２０３が実行する回転量算出処理の詳細について説明する。回転量算出処理は、注目被写体が分解能の高い領域に相当するように入力画像データの回転量を算出する。全天球画像が正距円筒図法の場合は球の極である上下に近づくほど分解能が高く、全天球画像の中心の高さ（赤道付近）では分解能が低い。そのため、注目被写体が画像の上か下の領域、すなわち仰角の絶対値が大きくなる位置へ移動するような回転量を算出する。注目被写体が１つである場合はその点が片方の極に移動するように回転量を算出し、注目被写体が複数ある場合は１つもしくは２つの極に振り分けられるように回転量を算出する。図４は、回転量算出処理のフローチャートである。
【００３２】
Ｓ４０１において、注目点の数に応じて次に行う処理を選択する。注目領域決定部２０２が出力した注目点の数が１つの場合はＳ４０２、２つの場合はＳ４０３、３つ以上の場合はＳ４０９を実行する。
【００３３】
Ｓ４０２では注目点を極の位置へ移動する回転行列を算出する。極は正距円筒図法により表された画像において上下の２つあるが、どちらを選択してもよい。図８は、取得した全天球画像の一例を示す。点８０１が与えられた１点の注目点であったとする。図９は、正距円筒図法により展開された全天球画像において、点８０１を極のうちの天頂の１点を表す点９０１に移動するように回転した場合の例を示す。Ｓ４０２では、注目点８０１が点９０１の位置に移動する回転量を算出する。全天球画像を球として考えたとき、極は全天球画像の１番上の行に相当するため、任意の位置にある点を極に移動するような回転はピッチ方向のみの回転で表せる。この場合の回転は、注目点８０１の仰角φａから点９０１の仰角π／２まで移動する回転であるため、回転量はπ／２−φａである。以上の通り、１つの注目点を極に移動するような回転量は、ピッチ方向π／２−φａにより算出する。
【００３４】
Ｓ４０３において、指定された２つの注目点の角度差に応じてさらに処理を分岐する。２点の角度差が９０度未満であればＳ４０４へ、角度差が９０度以上であればＳ４０９へ進む。Ｓ４０４では、２つの注目点が同じ極に近づくような回転量を算出する。一方Ｓ４０５からＳ４０７の処理では、２つの注目点が異なる極に近づくような回転量を算出する。
【００３５】
Ｓ４０４において、２つ注目点（θａ、φａ）（θｂ、φｂ）の中点を、片方の極へ移動するような回転量を算出する。この場合の極は上下２つのどちらを選択してもよい。球の回転を考えるため、２つの注目点の中点は画像座標上ではなく、球面座標上で計算する必要がある。たとえば中点の計算には、球面線形補間などが利用できる。中点（θｃ、φｃ）の１つを極に移動する回転量は、Ｓ４０２と同様に、仰角がπ／２になるようにピッチ方向にのみπ／２−φａを回転量として算出する。図１０は、注目点８０２および８０３の２つを指定された場合の回転結果を示す図である。２つの注目点の中点が点１００１のように天頂の極すなわち先頭の行に移動する回転量を算出する。一方Ｓ４０５では、指定された２つの注目点（θａ、φａ）（θｂ、φｂ）のうち、一方の注目点を極へ移動するための回転量を算出する。選択する注目点はどちらでもよいが、ここでは最初に指定された注目点（θａ、φａ）を選択するものとする。注目点の方位角と仰角をそれぞれθａ、φａとすると、方位角はθａのまま、仰角をπ／２になるように、ピッチ方向にπ／２−φａだけ回転するような回転行列ＲＡを式（４）の通りに算出する。
【００３６】
【数４】
2019012516.tif 000006
【００３７】
Ｓ４０６では、Ｓ４０５において算出した回転行列ＲＡを入力画像データに適用した後、全天球画像においてＳ４０５で選択されなかった注目点（θｂ、φｂ）の方位角が０度となるようなヨー方向の回転量を算出する。これは、注目点の方位角をθｂとしたとき、−θｂだけ回転する回転行列ＲＢを式（５）の通りに計算する。
【００３８】
【数５】
2019012516.tif 000007
【００３９】
Ｓ４０７において、入力画像データに回転行列ＲＡ、ＲＢを適用した後の２つの注目点の中点（θｃ、φｃ）が正面となるようなピッチ方向の回転を行う回転行列Ｒｃを算出する。回転行列ＲＡ、ＲＢを適用することで、１つの注目点は極に移動し、もう１つの注目点は方位角０の位置（０、φＢ２）に移動している。そのため、２つの注目点の中点は式（６）によって表される。
（θ、φ）＝（０、（π／２−φｂ２）×１／２）    （６）
【００４０】
中点を正面（θ、φ）＝（０、０）に移動するための回転を求めるには、ピッチ方向に−（π／２−φｂ２）×１／２だけ回転を行う回転行列ＲＣを式（７）の通りに計算する。
【００４１】
【数６】
2019012516.tif 000008
【００４２】
Ｓ４０８では、２つの注目点（θａ、φａ）（θｂ、φｂ）が互いに異なる極に近づくような回転を計算する。これはＳ４０５〜Ｓ４０７で計算した回転行列ＲＡ、ＲＢ、ＲＣを積算することで計算できる。
【００４３】
Ｓ４０９では、指定された３つ以上の注目点を２つのグループに分類する。本実施形態では、ｋ−ｍｅａｎｓ法を用いて分類する。その際の注目点間の距離は球面座標上での距離を利用する。Ｓ４０９以降の処理では、分類された２つのグループの重心をそれぞれ２つの注目点として扱う。これにより、注目点が２つの場合と同様の処理を行うことができる。例えば、図８の点８０２、８０３、８０４が注目点として入力された場合、１つ目のグループが点８０４、２つ目のグループが点８０２と点８０３となる。１つ目のグループは点８０４が注目点となり、２つ目のグループは点８０２と点８０３の重心位置が注目点となる。以上が本実施形態の回転量算出部２０３で行われる回転量算出処理を完了する。
【００４４】
以上の通り第１実施形態では、全天球画像など球状の画像において分解能の高い領域に保存しておくことが望まれる被写体（領域）を特定し、特定した被写体が全天球画像において極領域に相当するように回転した全天球画像に変換して保存しておく。これにより、全天球画像または全天球画像の部分画像に対して、縮小などの画像処理を行う際には、注目被写体を高解像度に維持することができる。
【００４５】
＜第２実施形態＞
第１実施形態では、１枚の全天球画像を入力画像データとして、所望の回転処理後の全天球画像を保存する方法について説明した。第２実施形態においては、複数枚の全天球画像ではない撮像画像を合成して全天球画像を保存する場合に、注目被写体を高解像度に保存する方法について説明する。この例では、合成後の画像ではなく、合成前に座標系を回転して全天球画像を生成する。なお、第１実施形態と同様の構成、処理については同一の符号を付し、詳細な説明を省略する。
【００４６】
図１２は、第２実施形態における画像処理装置の論理構成を示すブロック図である。また、図１３は、図１２に示す各構成が実行する処理のフローチャートを示す。ＣＰＵ１０１は、ＲＯＭ１０３又はＨＤＤ１０５に格納された図１３のフローチャートを実現できるプログラムを読み出してＲＡＭ１０２をワークエリアとして実行することで、図１２に示す各構成としての役割を果たす。
【００４７】
Ｓ１３０１において画像取得部１２０１は、ＨＤＤ１０５またはＲＡＭ１０２から取得した複数枚の画像データを姿勢取得部１２０２へ出力する。なお、複数枚の画像データは同じ視点から撮影したものとする。本実施形態でも第１実施形態と同様に全天球画像は正距円筒図法により展開された平面画像であるものとして扱う。また、説明を簡単にするため、画像データはレンズの光軸と画像面の交点が画像の中心で、歪みがなく、同一視点から撮影されたものを考えるが、以下のステップでは、これらを考慮した処理を行うようにしてもよい。
【００４８】
Ｓ１３０２において姿勢取得部１２０２は、画像取得部１２０１から入力された画像を撮影した際のカメラの姿勢を示す姿勢情報をＨＤＤ１０５またはＲＡＭ１０２から取得する。カメラの姿勢はカメラがどちらを向いているかという情報であり、回転行列で表現される。ここでは、カメラの姿勢があらかじめ計算されているものとしたが、画像から算出しても構わない。
【００４９】
Ｓ１３０３において注目領域決定部１２０３は、１つ以上の注目領域を注目点として決定する。注目点（ｘｉ、ｙｉ）を極座標系に変換し、方位角θｉ，仰角φｉ算出する。これは、注目点を含む画像を撮影したカメラの姿勢を表す回転行列Ｒｊを基にカメラの視点から画像中の注目点（ｘｉ、ｙｉ）を通る光線の角度θｉ，φｉを算出することで取得する。ここで、ｊは画像のインデックスを表す。カメラの焦点距離をｆとすると、光線と画像平面の交点の座標Ｘは式（８）により計算できる。
【００５０】
【数７】
2019012516.tif 000009
【００５１】
原点からみたときの３次元点Ｘの方位角と仰角をθｉ，φｉとし、注目領域決定部１２０３は注目点（θｉ，φｉ）を回転量算出部１２０４に出力する。
【００５２】
Ｓ１３０４において回転量算出部１２０４は、注目点（θｉ，φｉ）の位置に基づいて画像の回転量を算出し、姿勢更新部１２０５に出力する。本実施形態では、第１実施形態と同様にして全天球画像の回転量を計算する。
【００５３】
Ｓ１３０５において姿勢更新部１２０５は、全天球画像の回転量を表す回転行列Ｒと各画像を撮影したカメラの姿勢Ｒｊに基づいて、カメラの姿勢情報を更新する。カメラの姿勢Ｒｊに画像の回転量を表す回転行列Ｒを積算した姿勢Ｒｊ’次の処理でカメラの姿勢として利用する。この更新により、入力画像の座標系を回転した座標系で合成できるため、合成で得られる全天球画像を回転することができる。
【００５４】
Ｓ１３０６において画像合成部１２０６は、複数の画像データＩｊと更新した姿勢Ｒｊを入力として、画像を合成する。画像合成部１２０６は、入力された各カメラの姿勢に基づいて各カメラにより撮像された画像を球面座標系の全天球画像に投影する。そして、各画像を投影した際の重複領域において、重複する画像の画素値をブレンドする。画像合成部１２０６は、合成した全天球画像データを出力部１２０７に出力する。
【００５５】
Ｓ１３０７では、出力部１２０７が回転後の全天球画像とその回転行列ＲをＨＤＤ１０５またはＲＡＭ１０２に出力する。以上で第２実施形態における画像処理は完了する。本実施形態によれば、複数枚の入力画像から全天球画像を合成する際においても、注目領域が高解像度に保存できる位置に格納されるような座標系で合成することで、注目被写体を高解像度に保存することができる。
【００５６】
＜第３実施形態＞
上述の実施形態では、手動で設定した注目領域に基づいて１枚の全天球画像に回転処理した後に保存する方法について説明した。第３実施形態においては、自動で注目被写体を検出して保存する方法について説明する。この例では、設定した検出モードに基づいて注目被写体を検出する。なお、第１実施形態と同様の構成、処理については同一の符号を付し、詳細な説明を省略する。
【００５７】
図１４は、第３実施形態における画像処理装置の論理構成を示すブロック図である。また、図１５は、図１４に示す各構成が実行する処理のフローチャートを示す。ＣＰＵ１０１は、ＲＯＭ１０３又はＨＤＤ１０５に格納された図１４のフローチャートを実現できるプログラムを読み出してＲＡＭ１０２をワークエリアとして実行することで、図１４に示す各構成としての役割を果たす。
【００５８】
Ｓ１４０１では、検出モード選択部１４０１は画像から注目領域を検出する方法を決定するためのモードを選択する。検出モードは、入力された全天球画像において注目領域として設定する特徴を特定するモードである。ここでは検出モードの例として、人の顔を検出する人物モード、動物を検出するペットモードがあるものとする。人物モードとペットモードのうちいずれかをユーザが選択する。検出モード選択部１４０１は、指定されたモードを注目領域決定部１４０２に出力する。検出モードは、統計情報を検出に利用する統計モード、撮影時の情報を利用する撮影時着目モード、周波数の高い領域を検出する風景モードなど別のモードを選択できるようにしてもよい。また実施形態では、指定した検出モードにおいて注目領域が検出されない場合に使用される既定の検出モードも設定する。
【００５９】
Ｓ１４０２において、注目領域決定部１４０２が検出モード選択部１４０１から出力された検出モードに基づいて、自動的に入力画像データから注目点を決定する。検出モードが人物モードである場合、入力画像データに対して顔検出処理を行い、検出された顔領域を注目領域とする。ペットモードである場合、入力画像データから動物検出処理を行い、検出された動物領域を注目領域とする。注目領域が１つも検出されない場合は、既定の検出モードを使用して検出を行う。ここでは既定の検出モードとして、風景モードが設定されている。風景モードでは、入力された全天球画像を、複数の領域に分割して、各領域において周波数を計算し、高周波成分の多い領域を注目領域とする。注目領域決定部１４０２は、全天球画像において検出された領域の重心位置を注目点（ｘｉ、ｙｉ）とする。
【００６０】
以上で第３実施形態における画像処理は完了する。本実施形態によれば、検出モードに基づいて注目領域を自動で指定することができ、シーンに合わせて注目被写体を高解像度に保存することができる。
【００６１】
＜その他の実施形態＞
前述の実施形態では、高解像度に保存しておくことが望ましい注目領域を特定し、注目領域が極付近の位置に相当するように、全天球画像を生成した。前述の通り、正距円筒図法により展開された平面図面では、赤道付近はもっとも分解能が低い。そこで全天球画像における被写体のうち、地面や床、または空など非注目領域を特定し、非注目領域を優先的に赤道付近の位置に相当するように全天球画像を生成してもよい。これは、分解能が高い位置に非注目領域が対応することのないように全天球画像を生成することで、分解能が高い位置に保存しておくことが望まれる注目領域を間接的に特定していることに他ならない。
【００６２】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６３】
２０１  画像取得部
２０２  注目領域決定部
２０３  回転量算出部
２０４  画像回転部
２０５  出力部
【図１】
2019012516.tif 000010
【図２】
2019012516.tif 000011
【図３】
2019012516.tif 000012
【図４】
2019012516.tif 000013
【図５】
2019012516.tif 000014
【図６】
2019012516.tif 000015
【図７】
2019012516.tif 000016
【図８】
2019012516.tif 000017
【図９】
2019012516.tif 000018
【図１０】
2019012516.tif 000019
【図１１】
2019012516.tif 000020
【図１２】
2019012516.tif 000021
【図１３】
2019012516.tif 000022
【図１４】
2019012516.tif 000023
【図１５】
2019012516.tif 000024