(57)【特許請求の範囲】
【請求項１】
魚眼画像を取得する取得手段と、
前記取得手段により取得された魚眼画像の一部を切り出した画像を、回転させてから球面座標系に変換する変換手段と、を有し、
前記変換手段は、前記切り出した画像を、前記魚眼画像の中心点を回転軸として、前記魚眼画像の中心点を通る水平線に近づくように回転させることを特徴とする画像処理装置。
【請求項２】
前記変換手段は、前記切り出した画像を、前記魚眼画像の中心点および前記切り出した画像の中心点を結んだ線と、水平線との角度だけ回転させることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記変換手段は、回転および変換された前記切り出した画像の中心点を魚眼画像の中心点とし、球面座標系から平面座標系へ逆変換することによって表示画像を生成することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記変換手段は、前記回転させた画像を、メルカトル図法を用いて球面座標系に変換することを特徴とする請求項１ないし３の何れか１項に記載の画像処理装置。
【請求項５】
魚眼画像を取得する取得手段と、
前記取得手段により取得された魚眼画像を、前記魚眼画像の中心点を回転軸として回転させ、回転させた魚眼画像の一部の領域を切り出してから球面座標系に変換する変換手段と、を有し、
前記変換手段は、前記一部の領域が前記魚眼画像の中心点を通る水平線に近づくように、前記魚眼画像を回転させることを特徴とする画像処理装置。
【請求項６】
前記変換手段は、前記魚眼画像を、前記魚眼画像の中心点および前記一部の領域の中心点を結んだ線と、水平線との角度だけ回転させることを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記変換手段は、変換された前記一部の領域の画像の中心点を魚眼画像の中心点とし、球面座標系から平面座標系へ逆変換することによって表示画像を生成することを特徴とする請求項５または６に記載の画像処理装置。
【請求項８】
前記変換手段は、前記切り出した画像を、メルカトル図法を用いて球面座標系に変換することを特徴とする請求項５ないし７の何れか１項に記載の画像処理装置。
【請求項９】
圧縮された前記魚眼画像を伸長する伸長手段を更に有し、
前記取得手段が前記伸長手段によって伸長された前記魚眼画像を前記変換手段に出力することにより、前記変換手段が回転および変換することを特徴とする請求項１ないし８の何れか１項に記載の画像処理装置。
【請求項１０】
魚眼画像を取得する取得ステップと、
前記取得ステップにより取得された魚眼画像の一部を切り出した画像を、回転させてから球面座標系に変換する変換ステップと、を有し、
前記変換ステップでは、前記切り出した画像を、前記魚眼画像の中心点を回転軸として、前記魚眼画像の中心点を通る水平線に近づくように回転させることを特徴とする画像処理方法。
【請求項１１】
魚眼画像を取得する取得ステップと、
前記取得ステップにより取得された魚眼画像を、前記魚眼画像の中心点を回転軸として回転させ、回転させた魚眼画像の一部の領域を切り出してから球面座標系に変換する変換ステップと、を有し、
前記変換ステップでは、前記一部の領域が前記魚眼画像の中心点を通る水平線に近づくように、前記魚眼画像を回転させることを特徴とする画像処理方法。
【請求項１２】
魚眼画像を取得する取得ステップと、
前記取得ステップにより取得された魚眼画像の一部を切り出した画像を、回転させてから球面座標系に変換する変換ステップと、をコンピュータに実行させ、
前記変換ステップでは、前記切り出した画像を、前記魚眼画像の中心点を回転軸として、前記魚眼画像の中心点を通る水平線に近づくように回転させることを特徴とするプログラム。
【請求項１３】
魚眼画像を取得する取得ステップと、
前記取得ステップにより取得された魚眼画像を、前記魚眼画像の中心点を回転軸として回転させ、回転させた魚眼画像の一部の領域を切り出してから球面座標系に変換する変換ステップと、をコンピュータに実行させ、
前記変換ステップでは、前記一部の領域が前記魚眼画像の中心点を通る水平線に近づくように、前記魚眼画像を回転させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、全方位または全球面カメラで撮影した画像の一部を表示するための画像処理装置、画像処理方法およびプログラムに関する。
【背景技術】
【０００２】
近年、複数個のレンズや、１８０度以上の画角を撮影できる魚眼レンズを２個用いて、３６０度の画角を一度のレリーズで撮影できる全球面カメラが開発されている。再生時には、地球儀を回すような感覚で、撮影した画像を回転して閲覧できるものがある。
特許文献１の撮像装置は、２個の魚眼レンズを用いて撮影された２つの魚眼画像を、横軸３６０度、縦軸１８０度の球面座標系フォーマットに変換し、球面座標系フォーマット上で表示領域を切り出している。
【０００３】
ここで、図６を用いて、表示領域の決定方法について説明する。
図６（ａ）は、全球面カメラで撮影された画像をスマートフォンなどの端末に表示した状態を示す図である。そのために、２個の魚眼レンズによって撮影された２個の魚眼画像を、メルカトル図法のような地球儀を地図へ投影する一般的な投影法を用いて、球面座標系フォーマットへ変換し、図６（ｂ）に示すような球面座標画像６０１を生成する。
【０００４】
図６（ａ）では、ユーザが表示領域６０２を表示しており、親指を左方向へスライドさせたとすると、図６（ｂ）において、表示領域６０２は表示領域６０３へ移動し、端末には表示領域６０３が表示される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−２１４９４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一般的に、メルカトル図法は、高緯度になるほど距離や面積が拡大されるという特徴がある。具体的には、緯度６０度において、距離は２倍、面積は４倍になる。したがって、球面座標系フォーマット上において、表示領域を切り出す枠の大きさを変えないまま高緯度に移動すると、ズームインされているように見えることになる。
【０００７】
そのため、表示画像における見た目の大きさを同じくするためには、緯度０度付近に比べて、高緯度ほど大きい領域を切り出す必要がある。
特許文献１の技術のように、メルカトル図法を用いて球面座標系フォーマットを生成してから表示領域の切り出しを行うと、高緯度ほど大きい領域を切り出す必要があり、処理するデータ量が大きくなってしまうという問題がある。更に、動画撮影や静止画ライブビューを考慮すると、毎フレームにおいて、表示領域外も含めて全面を座標変換すると、処理時間が増大してフレームレートに間に合わなくなったり、カメラ本体内部で発生する熱が既定値を超えたりすることが予測される。
【０００８】
本発明は、上述したような問題点に鑑みてなされたものであり、全方位または全球面カメラで撮影した画像の一部を表示するために、処理するデータ量を削減できるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
本発明の画像処理装置は、魚眼画像を取得する取得手段と、前記取得手段により取得された魚眼画像の一部を切り出した画像を、回転させてから球面座標系に変換する変換手段と、を有し、前記変換手段は、前記切り出した画像を、前記魚眼画像の中心点を回転軸として、前記魚眼画像の中心点を通る水平線に近づくように回転させることを特徴とする。
また、本発明の画像処理装置は、魚眼画像を取得する取得手段と、前記取得手段により取得された魚眼画像を、前記魚眼画像の中心点を回転軸として回転させ、回転させた魚眼画像の一部の領域を切り出してから球面座標系に変換する変換手段と、を有し、前記変換手段は、前記一部の領域が前記魚眼画像の中心点を通る水平線に近づくように、前記魚眼画像を回転させることを特徴とする。
【発明の効果】
【００１０】
全方位または全球面カメラで撮影した画像の一部を表示するために、処理するデータ量を削減できる。
【図面の簡単な説明】
【００１１】
【図１】撮像装置の構成を示す図である。
【図２】魚眼レンズと撮像素子の構成を示す図である。
【図３】変換回路の処理を説明するための図である。
【図４】変換回路の処理を説明するための図である。
【図５】動画再生するときの処理を示すフローチャートである。
【図６】表示領域の決定方法について説明するための図である。
【発明を実施するための形態】
【００１２】
以下、本発明に係る実施形態について図面を参照して説明する。本実施形態では、画像処理装置が、全方位または全球面カメラ等の撮像装置１００である場合について説明する。
図１は、撮像装置１００の構成を示す図である。
撮像装置１００は、魚眼レンズ１０１、１０２、撮像素子１０３、Ａ／Ｄ変換回路１０４、信号処理回路１０５、バス１０６、ＤＲＡＭ１０７、メモリコントローラ１０８、圧縮伸長回路１０９、メモリカード１１０、メモリカードＩ／Ｆ１１１を有する。また、撮像装置１００は、変換回路１１２、ＣＰＵ１１３、入力部１１４、表示部１１５、表示出力制御回路１１６、不揮発性メモリ１１７等を有する。
【００１３】
魚眼レンズ１０１、１０２は、１８０度以上の画角を有するレンズである。
撮像素子１０３は、光学像を電気信号に変換するＣＣＤやＣＭＯＳ素子等である。
Ａ／Ｄ変換回路１０４は、撮像素子１０３から出力されるアナログ画像信号をデジタル画像信号に変換する。
信号処理回路１０５は、デジタル画像信号に補間処理や色変換処理、特定のサイズへ変倍する変倍処理等の画像処理を施す。
バス１０６は、各モジュールを接続する。
【００１４】
ＤＲＡＭ１０７は、画像処理された画像データや動画のストリームを一時的に記憶する。
メモリコントローラ１０８は、ＤＲＡＭ１０７にアクセスする各モジュールのバスアービトレーションを行う。
圧縮伸長回路１０９は、ＤＲＡＭ１０７を一時バッファとして用い、ＪＰＥＧ圧縮方式やＭＰＥＧ圧縮方式等で魚眼画像を圧縮伸長する。
メモリカードＩ／Ｆ１１１は、ＳＤカードやＣＦカード等のメモリカード１１０のインターフェースである。
【００１５】
変換回路１１２は、伸長された魚眼画像の全面または一部を、メルカトル図法等の投影法を用いた座標変換および逆座標変換を施して、表示画像を生成する。
ＣＰＵ１１３は、各回路を制御する。
入力部１１４は、ユーザが撮影や再生の開始および停止を操作したり、表示領域の移動や拡大縮小を指示することによってＣＰＵ１１３が表示領域の位置情報として表示領域の中心座標およびサイズ情報を取得したりする。入力部１１４には、タッチパネルを用いることができる。
表示出力制御回路１１６は、表示画像を表示部１１５へ出力する。
不揮発性メモリ１１７は、ＣＰＵ１１３に実行させるためのプログラムを格納する。
【００１６】
次に、図１および図２を用いて、撮像装置１００の動画撮影および動画再生の処理について説明する。撮像装置１００は、ＣＰＵ１１３が制御することによって動作する。
入力部１１４から動画撮影の開始の指示が入力されると、撮像装置１００により以下の処理を開始し、動画撮影の停止の指示が入力されるまで繰り返す。
図２（ａ）に示すように、魚眼レンズ１０１および魚眼レンズ１０２から入射する被写体の光信号は撮像素子１０３に結像される。
図２（ｂ）に示すように、１８０度以上の画角を有する、魚眼画像２０１および魚眼画像２０２が隣り合うように結像される。
【００１７】
撮像素子１０３に結像された光信号は、光電変換されアナログ電気信号としてＡ／Ｄ変換回路１０４に出力される。Ａ／Ｄ変換回路１０４に出力されたアナログ電気信号はデジタル信号に変換され、信号処理回路１０５に出力される。信号処理回路１０５に出力されたデジタル信号は、補間処理および色変換処理や動画記録サイズへの変倍処理等の画像処理が行われる。画像処理された画像データ２０３は、メモリコントローラ１０８を介してＤＲＡＭ１０７に格納される。ＤＲＡＭ１０７に格納された画像データ２０３は、圧縮伸長回路１０９においてＭＰＥＧ形式で圧縮される。圧縮された動画データは、メモリカードＩ／Ｆ１１１を介してメモリカード１１０に保存される。
【００１８】
次に、入力部１１４から動画再生の指示が入力されると、撮像装置１００により以下の処理が開始され、動画再生の停止の指示が入力されるまで繰り返す。
メモリカード１１０に圧縮された動画データは、読み出されてＤＲＡＭ１０７を介して圧縮伸長回路１０９において伸長される。伸長された画像データ２０３は、変換回路１１２に入力される。変換回路１１２に入力された画像データ２０３から表示画像が生成され、表示出力制御回路１１６によって表示部１１５に表示される。
【００１９】
次に、変換回路１１２の処理について説明する。変換回路１１２では、魚眼画像の一部を切り出した画像を、魚眼画像の中心点を回転軸として、魚眼画像の中心点を通る水平線に近づける方向、具体的には水平線上になるように回転させてから球面座標系に変換する。更に、変換回路１１２では、球面座標系から平面座標系へ逆変換することによって表示画像を生成する。
以下、図３を参照して具体的に説明する。
図３（ａ）は、魚眼レンズ１０１および１０２によって得られた魚眼画像２０１および２０２に経線と緯線とを付加した図であり、それぞれ魚眼画像３００および３０１とする。ここで、魚眼画像３００の一部である表示領域３０３を拡大表示する場合を考える。また、表示領域３０３は、魚眼画像３００上で、水平線と、魚眼画像３００の中心点から表示領域３０３の中心座標へ引いた線とのなす角θに位置する。
【００２０】
図３（ｂ）に示す魚眼画像３０４は、魚眼画像２０１の中心点を回転軸とし、表示領域３０３の中心が緯度０度の位置になるよう表示領域３０３を角度θだけ回転させたものである。ここで、表示領域３０３の回転後を表示領域３０６とする。回転後の表示領域３０６は、回転前の表示領域３０３と同じ画角である。
また、魚眼画像３０５に表示領域がある場合も同様に、魚眼画像２０２の中心点を回転軸とし、表示領域を角度（−θ）だけ回転させる。魚眼画像３０５において角度（−θ）となる理由は、魚眼画像２０１および魚眼画像２０２を撮影した魚眼レンズ１０１および魚眼レンズ１０２が１８０度の背中合わせになっており、空間的にそれぞれ対称となっているためである。
なお、回転処理の方法としては公知の技術を用いることができる。例えば、図３（ｃ）に示すように、表示領域３０３をブロック分割し、ブロックごとに角度θだけ回転処理することで、回転後の表示領域３０６とすることができる。
【００２１】
ここで、回転角度の求め方について説明する。
図３（ａ）に示すように、表示部１１５に表示されるデフォルトの表示領域３０２の中心を魚眼画像３００の中心とし、経度αおよび緯度βとした時の座標（α、β）は（０、０）であるとする。ここで、表示部１１５に表示された画像をスライドさせて表示位置を移動させた結果、表示領域３０３へ移動し、表示領域３０３の中心座標を（α、β）とする。
【００２２】
このときの、回転角度θは以下のように求められる。
θ＝ｔａｎ-1（ｓｉｎβ／ｃｏｓα）
図４（ａ）は、平面座標系フォーマットである魚眼画像３００および３０１を、メルカトル図法に基づいて球面座標系フォーマットに変換した図であり、球面座標画像４０１とする。
この変換に用いられる演算式は、以下のように与えられる。
平面座標系における経度α、緯度βとしたときの座標（α、β）が、球面座標系における座標（ｘ，ｙ）に写されるものとする。ただし、−１８０度≦α≦１８０度、−９０度≦β≦９０度である。
ｘ＝α
ｙ＝ｌｏｇ（ｔａｎ（π／４＋β／２））
球面座標画像４０１上の表示領域４０７は、表示領域３０３に相当する座標位置を図示している。
【００２３】
図４（ｂ）は、平面座標系フォーマットである魚眼画像３０４および３０５を、メルカトル図法に基づいて球面座標系フォーマットに変換した図であり、球面座標画像４０２とする。球面座標画像４０２上の表示領域４０８は、表示領域３０６に相当する座標位置を図示している。表示領域４０７が台形型に、表示領域４０８の角や辺が丸くなる理由は、高緯度側の面積が大きいためである。
【００２４】
次に、表示領域４０８から表示画像を生成するために、表示領域４０８を球面座標系から平面座標系へ逆座標変換する。
この逆変換に用いられる演算式は、以下のように与えられる。
球面座標系における座標（ｘ，ｙ）が、平面座標系における経度α、緯度βとしたときの座標（α、β）に写されるものとする。ただし、−１８０度≦α≦１８０度、−９０度≦β≦９０度である。
α＝ｘ
β＝２ｔａｎ-1ｅｘｐｙ−π／２
このとき、表示領域４０８の中心座標を魚眼画像の中心点とし、片側の魚眼画像に相当する範囲を逆座標変換領域４０３として示す。
【００２５】
図４（ｃ）に示す魚眼画像４０４は、逆座標変換領域４０３が球面座標系から平面座標系へ逆座標変換されたものである。魚眼画像４０５は、逆座標変換領域４０３の外側の領域が球面座標系から平面座標系へ逆座標変換されたものである。表示領域４０６は、表示領域４０８が球面座標系から平面座標系へ逆座標変換されたものであり、表示画像となる。
なお、図３および図４では、表示領域が含まれない領域も図示したが、これは本実施形態の説明を容易にするために記載したものである。実際に処理する必要があるのは、表示領域のみで十分であることは言うまでもない。
【００２６】
次に、撮像装置１００が表示領域を変更しながら動画再生するときの処理について図５のフローチャートを参照して説明する。図５のフローチャートは、ＣＰＵ１１３が不揮発性メモリ１１７に格納したプログラムを実行することで実現される。
ステップＳ５０１では、ＣＰＵ１１３は入力部１１４から再生開始の指示があるか否かを判定し、再生開始の指示があった場合にはステップＳ５０２に進む。
【００２７】
ステップＳ５０２では、ＣＰＵ１１３はメモリカード１１０に保存され、伸長された魚眼画像を取得してデフォルト位置を表示部１１５に表示する。ここで、デフォルト位置は、例えば、図３（ａ）に示す魚眼画像３００の光軸中心とする表示領域３０２であり、表示領域３０２の中心座標を経度αおよび緯度βで表すと（０，０）であるとする。
ステップＳ５０３では、ＣＰＵ１１３は入力部１１４から表示位置の移動を指示するスライド指示があるか否かを判定する。スライド指示があった場合にはステップＳ５０４に進み、ＣＰＵ１１３はスライド量から移動量を取得する。このときの移動量は、経度αおよび緯度βの座標（α，β）で表されるものとする。
【００２８】
一方、スライド指示がない場合にはステップＳ５０５に進み、ＣＰＵ１１３は入力部１１４から拡大縮小を指示するピンチ指示があるか否かを判定する。ピンチ指示があった場合にはステップＳ５０６に進み、ＣＰＵ１１３はピンチ量から移動量を取得する。このときの移動量も、スライド時と同様に、経度αおよび緯度βの座標（α，β）で表されるものとする。ピンチ指示がなかった場合にはステップＳ５０８に進む。
【００２９】
ステップＳ５０７では、ＣＰＵ１１３はステップＳ５０４またはステップＳ５０６において取得した移動量を、現在の位置情報に加算する。
ステップＳ５０８では、ＣＰＵ１１３は位置情報から表示領域を回転させる角度θを算出する。具体的には、図３（ａ）に示すように、水平線と、魚眼画像３００の中心点から変更後の表示領域３０３の中心座標へ引いた線のなす角θを算出する。
【００３０】
ステップＳ５０９では、ＣＰＵ１１３は変換回路１１２を介して、表示領域の中心座標が緯度０度になるように、表示領域３０３を角度θだけ回転させる。
ステップＳ５１０では、ＣＰＵ１１３は変換回路１１２を介して、回転された平面座標系の表示領域３０６を球面座標系に座標変換し、表示領域４０８とする。
ステップＳ５１１において、ＣＰＵ１１３は変換回路１１２を介して、球面座標系に変換された表示領域４０８の中心座標を、平面座標系における魚眼画像の中心点となるように逆座標変換し、表示領域４０６とする。
【００３１】
ステップＳ５１２において、ＣＰＵ１１３は表示出力制御回路１１６を介して、変換回路１１２において生成された表示領域４０６を表示画像として、表示部１１５に表示する。
ステップＳ５１３において、ＣＰＵ１１３は入力部１１４から再生終了の指示があるか否かを判定し、再生終了の指示があった場合には処理を終了し、再生終了の指示がない場合にはステップＳ４０３に戻る。
【００３２】
このように本実施形態によれば、表示するために必要な領域の画像を、魚眼画像の中心点を通る水平線に近づける方向、すなわち緯度０度になるように回転させてから球面座標系に座標変換することで、処理するデータ量を削減することができる。
【００３３】
以上、本発明を上述した実施形態と共に説明したが、本発明は上述した実施形態にのみ限定されるものではなく、本発明の範囲内で変更等が可能である。
例えば、上述したステップＳ５０１における再生開始時の表示領域のデフォルト位置は、魚眼画像２０１または魚眼画像２０２全面であってもよく、魚眼画像２０１または２０２の中心部分を切り出した画角であってもよい。あるいは、デフォルト位置は図２（ｂ）に示す画像データ２０３であってもよい。また、処理負荷を軽減するために表示領域のみを回転させる例を用いて説明を行ったが、魚眼画像全体を回転させてから表示領域のみを球面座標系に座標変換してもよい。回転処理の負荷は増加するが、高緯度の領域を切り出す必要がないため、球面座標系に変換する際のデータ量は削減することは可能である。
【００３４】
また、上述した実施形態では動画撮影および動画再生について説明したが、静止画ライブビューであってもよい。静止画ライブビューでは、圧縮伸長回路１０９における圧縮および伸長の処理を行わず、信号処理回路１０５から直接、またはＤＲＡＭ１０７を介して、変換回路１１２へ画像データ２０３を入力すれば実現可能である。
また、上述した実施形態では、画像処理装置を撮像装置１００に適用した場合を例にして説明したが、この場合に限定されず、動画撮影、動画再生または静止画ライブビューが可能な機器であれば適用可能である。
【００３５】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００３６】
１０１：魚眼レンズ  １０２：魚眼レンズ  １０３：撮像素子  １０４：Ａ／Ｄ変換回路  １０５：信号処理回路  １０６：バス  １０７：ＤＲＡＭ  １０８：メモリコントローラ  １０９：圧縮伸長回路  １１０：メモリカード  １１１：メモリカードＩ／Ｆ  １１２：変換回路  １１３：ＣＰＵ  １１４：入力部  １１５：表示部  １１６：表示出力制御回路  １１７：不揮発性メモリ
【図１】
0006541327.tif 000002
【図２】
0006541327.tif 000003
【図３】
0006541327.tif 000004
【図４】
0006541327.tif 000005
【図５】
0006541327.tif 000006
【図６】
0006541327.tif 000007