(57)【特許請求の範囲】
【請求項１】
３次元画像データを２次元平面画像データに射影する画像処理装置であって、前記画像処理装置は、
位置座標および画素値を伴う前記３次元画像データを蓄積する手段と、
次に作成するべき２次元平面画像データとするための拡大または縮小のためのズーム・パラメータを含む表示パラメータを取得する手段と、
前記表示パラメータを使用して前記３次元画像データの一部から前記２次元平面画像データを作成する手段と、
作成された前記２次元平面画像データを２次元画像として表示する手段と、
を備え、
前記２次元平面画像データを作成する手段は、前記表示パラメータが指定する拡大または縮小による半画角の変化に応じて２次元画像データ作成のために使用する位置座標について、適用する逆変換手段を切り替え、
前記逆変換手段は、前記３次元画像データの前記２次元平面画像データの中心とすべき位置座標からの半画角の大きさに応答して、前記２次元平面画像データの逆変換のため、中心射影、立体射影、および前記中心射影から前記立体射影の逆変換を滑らかに連続させる重み付け補間射影のいずれか選択して適用する手段を含む、画像処理装置。
【請求項２】
前記表示パラメータを取得する手段は、ユーザ入力手段から入力された前記表示パラメータへの変更を次に作成するべき２次元平面画像データのための表示パラメータとして取得する、請求項１に記載の画像処理装置。
【請求項３】
前記画像処理装置は、前記次に作成するべき２次元平面画像データの位置座標に対応する前記３次元画像データの位置座標を前記逆変換手段により決定し、前記決定した前記３次元画像データの位置座標が伴う画素値を、前記次に作成するべき２次元平面画像データの位置座標が伴うべき画素値としてマッピングする画素値マッピング手段を含む、請求項１または２に記載の画像処理装置。
【請求項４】
３次元画像データを２次元平面画像データに射影する画像処理装置が実行する画像処理方法であって、前記画像処理方法は、
位置座標および画素値を伴う前記３次元画像データを蓄積するステップと、
次に作成するべき２次元平面画像データとするための拡大または縮小のためのズーム・パラメータを含む表示パラメータを取得するステップと、
前記表示パラメータを使用して前記３次元画像データの一部から前記２次元平面画像データを作成するステップと、
作成された前記２次元平面画像データを２次元画像として表示するステップと、
を実行し、
前記２次元平面画像データを作成するステップは、
前記表示パラメータが含む拡大または縮小のための前記ズーム・パラメータを取得するステップと、
前記ズーム・パラメータの変更により変更される前記２次元平面画像データに対応付けられる前記３次元画像データの前記２次元平面画像データの中心とすべき位置座標からの半画角を判断するステップと、
前記判断の結果に応じて２次元平面画像データ作成のために使用する位置座標について、適用する逆変換を切り替えて前記２次元平面画像データからの逆変換を実行するステップと
を含み、
前記逆変換を実行するステップは、
前記３次元画像データの前記半画角の大きさに応答して、前記２次元平面画像データの逆変換のため、中心射影、立体射影、および前記中心射影から前記立体射影の逆変換を滑らかに連続させる重み付け補間射影のいずれかを選択して適用するステップを含む、画像処理方法。
【請求項５】
前記２次元平面画像データを作成するステップは、
前記次に作成するべき２次元平面画像データの位置座標に対応する前記３次元画像データの位置座標を前記逆変換により決定するステップと、
前記決定した前記３次元画像データの位置座標が伴う画素値を、前記次に作成するべき２次元平面画像データの位置座標が伴うべき画素値としてマッピングするステップと
を含む、請求項４に記載の画像処理方法。
【請求項６】
画像処理装置を、請求項１〜請求項３のいずれか１項に記載の機能手段として機能させるための装置実行可能なプログラム。
【請求項７】
３次元画像データを２次元平面画像データに射影する画像処理システムであって、前記画像処理システムは、
ネットワークに接続され、ディスプレイ手段およびブラウザ手段を含むクライアント装置と、
前記ネットワークに接続されたサーバ装置とを含み、
前記クライアント装置は、前記２次元平面画像データを取得するための表示パラメータを前記サーバ装置に送信して前記３次元画像データの一部を前記ディスプレイ手段上で２次元画像として表示させ、
前記サーバ装置は、位置座標および画素値を伴う前記３次元画像データを蓄積する手段と、
次に作成するべき２次元平面画像データとするための拡大または縮小のためのズーム・パラメータを含む表示パラメータを取得し、前記表示パラメータを使用して前記３次元画像データの一部から前記２次元平面画像データを作成するアプリケーション手段と、
前記アプリケーション手段が作成した前記２次元平面画像データを前記クライアント装置に送信し、前記ブラウザ手段を介して２次元画像として表示させる手段と、
を備え、
前記アプリケーション手段は、前記表示パラメータが指定する含む拡大または縮小による半画角の変化に応じて前記２次元平面画像データ作成のために使用する位置座標について、適用する逆変換手段を切り替え、
前記逆変換手段は、前記３次元画像データの前記２次元平面画像データの中心とすべき位置座標からの半画角の大きさに応答して、前記２次元平面画像データの逆変換のため、中心射影、立体射影、および前記中心射影から前記立体射影の逆変換を滑らかに連続させる重み付け補間射影のいずれか選択して適用する手段を含む、画像処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、静止画像を画像処理する技術に関し、より詳細には広画角で撮影された３次元画像を平面画像に射影する画像処理装置、画像処理方法、プログラムおよび画像処理システムに関する。
【背景技術】
【０００２】
従来、カメラなどにより撮影された静止画像を、コンピュータと言ったフラット・ディスプレイ装置上で表示するシステムとして、撮影方向が異なり、かつ一部被写体を重複して撮影した複数枚の画像をつなぎ合わせ、つなぎ合わせた合成画像をコンピュータ上の画像ビューワにより表示するシステム（以下、パノラマ画像ビューワとして参照する。)が知られている。
【０００３】
従来のパノラマ画像ビューワは、つなぎ合わせたパノラマ画像について、パン(視野の左右移動)、チルト(視野の上下移動)、ズーム(拡大縮小)といった各種の表示変更操作を可能とする機能を備えている。パノラマ画像は、同一の被写体について角度の異なる画像を連結して形成されるので、特に、ズーム機能や魚眼レンズなど通常のレンズ系よりも広視野範囲の撮影を行うカメラで撮影された画像を平面に射影して接続してゆく場合、特に視野の端部で画像に違和感を生じさせたり、歪みを感じさせてしまうことがあるという問題があった。
【０００４】
パノラマ画像ビューワは、円筒の側面上または球面上に貼り付けられた画像を、円筒もしくは球の重心から見た場合の画像を平面上に射影して表示させる手法を利用することが多い。平面上に射影して表示する場合、ユーザは、表示するべき画像に対してパン、チルト、ズームといった処理を適用することができ、平面ディスプレイ上には、ユーザによって設定された、パン、チルト、ズームの各設定値に対応して、円筒の側面上もしくは球面上に沿って焦点を形成した３次元面上の画像を平面画像に射影変換して表示が行われる。
【０００５】
この際に用いられる射影変換方式としては、通常のカメラ用レンズで用いられている射影変換方式である、中心射影方式を用いることが多く、多くの場合にはカメラで撮影した画像と同様の見え方で平面上に表示させていた。
【０００６】
例えば全天球フォーマットで取得された３次元画像を、人が平面ディスプレイ上で見るための画像に変換する際には、射影変換を行って平面画像化することが必要となる。射影変換は、全天球に張り付いた画像を球中心から見るものと仮定し、中心からの角度(半画角)を平面上での距離(像高)に変換することで、平面画像化する。
【０００７】
射影変換の方式としては、上述した中心射影方式の他、主な方式として立体射影方式、等距離射影方式、等立体角射影方式、正射影方式を挙げることができる。図１１に各射影方式で使用される射影変換方式の射影変換式および逆射影変換式を示す。中心射影方式は、通常のカメラ・レンズを備えるカメラで撮影する際に用いられる方式であり、その他４つの方式は、魚眼レンズを使った超広角な画角を持つカメラで用いられる方式である。
【０００８】
図１２は、カメラで撮影した画角が狭いレンズ系を使用して撮影した画像および画角が広いレンズ系を使用して撮影した画像を、それぞれ、中心射影方式で平面画像にマッピングした場合（図１２（ａ）、（ｂ））と、立体射影方式で平面画像にマッピングした場合（図１２（ｃ）、（ｄ））として示す。多くのパノラマ画像ビューワとして機能する画像処理装置は、表示する際の最大半画角によらず、射影方式は、中心射影に固定されている。この理由は、従来のパノラマビュワーで使用されるカメラの最大半画角が３０°程度であり、この半画角の範囲では、視覚的に大きな画像上の歪みが認識されない程度で済むためである。
【０００９】
さらに図１２を用いて説明すると、図１２（ａ）で示すように、中心射影方式は、画角が狭い場合には特に違和感のない画像だが、画角の広いカメラを使用する場合には、問題が顕在化する。この問題は、例えば図１２（ｂ）に示すように、同一の被写体であっても広画角で撮影された画像に対し中心射影方式を適用すると、画像の端部に近づくほど、人物の腕が不自然に伸びるように見えるという、違和感のある画像になっている。
【００１０】
すなわち、中心射影方式で３次元画像を平面画像に射影すると、広画角で撮影された画像については図１２（ｂ）で示すように半画角の大きな領域、すなわち平面画像における画像端部で、見た目の違和感が発生する。加えて中心射影方式は、図１２に示した変換式を参照しても理解できるように、φ＝９０°で値がオーバーフローしてしまうため、φ＝９０°以上の最大半画角の表示を行うために他の処理を追加しなければならないという問題があった。
【００１１】
また、他の射影方式として、立体射影方式を使用して図１２（ａ）、（ｂ）で使用したと同一の画像を平面画像に変換した画像が、図１２（ｃ）、（ｄ）である。図１２（ｃ）が画角が小さいレンズ系で撮影した場合の画像であり、図１２（ｄ）が、画角が大きいレンズ系で撮影した場合の画像である。図１２（ｃ）、（ｄ）に示されるように、立体射影では、３次元画像における半画角が大きい画像データに対応する平面画像の画像端部でも中心射影方式で見られたような人物の腕が伸びて見える、といった違和感が少なくなっていることが分かる。
【００１２】
ただし、詳細に検討すると、立体射影方式では、画角が狭い場合、画角が広い場合ともに、中心射影では直線に見えている背景のライン像が、立体射影では少し湾曲して見えることが認識できる。以上のように、従来のパノラマ画像ビューワでは、広い画角範囲で違和感の生じない画像を提供するという点で充分なものと言うことはできなかった。
【００１３】
通常のカメラは、画角が５０°から７５°程度であることが多く、図１２（ｂ）に示すように、広い画角の画像を中心射影方式だけで平面画像に変換すると、広画角の端の領域でレンズ中心に対応する画像中の点を中心とする極座標における接線方向に画像が大きく引き伸ばされることに起因する変形が顕著となる。この結果、広画角で撮影された静止画像を利用するパノラマ画像ビューワとして、そのまま従来の射影変換方式を使用するシステムを使用すると、画像全体にわたり、多かれ少なかれ違和感を発生させてしまうことになっていた。
【００１４】
上述した射影方式の問題点に関連して、これまで魚眼レンズを用いて撮影された歪曲円形画像から任意部分を平面画像に射影する技術も知られており、例えば、特許第４６２９１３１号明細書（特許文献１）では、魚眼レンズを用いた撮影により得られた歪曲円形画像から、所望の任意部分を切り出し、歪みの少ない平面画像に変換する目的で、球面上に対応付けられた魚眼レンズ撮影画像を、平面画像の垂直方向を軸方向とする円筒の側面上に対応付けて切り出すことで、水平方向の端の歪みを処理する構成が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【００１５】
特許文献１に記載された方法でも見た目で感じる歪みの違和感を低減させることはできる。しかしながら、特許文献１に記載された方法は、円筒の曲面を利用して歪みの違和感を低減しているため、一方向（水平方向）の歪みの違和感しか低減することができないといった問題点があった。このため、水平方向と垂直方向で歪み方が異なる平面画像が生成されることになり、従来とは別の視覚上の違和感が発生する虞もある。すなわち特許文献１の技術があるものの、広画角で撮影された画像をディスプレイ平面上に表示するパノラマ画像ビューワで、上下左右の端部の被写体が引き伸ばされることによる変形に起因する違和感を低減するという問題は、依然として残されていた。
【課題を解決するための手段】
【００１６】
本発明は、全天球フォーマットといった広画角画像をディスプレイ装置で表示させるために平面画像に変換するに際して、平面画像の最大半画角（φｍａｘ）の大きさに応じて、平面画像から広画角画像への逆変換方式を切り替えることで、平面画像に生じる画像伸張や湾曲などの違和感を最低化させる。さらに本発明は、逆変換方式の切り替えに際して境界領域における画像ノイズの発生を最小限とするために、最大半画角（φｍａｘ）の大きさに応じて切り替える逆変換方式の値を重み付け補間する逆変換方式を使用し、逆変換により平面画像から広画角画像への画素マッピングの際に、マッピングされる位置が急激に変わらないようにする。
【００１７】
本発明は、滑らかに接続する上述した３方式の逆変換方式を使用することで、広画角画像を違和感を最小としながら平面画像に変換でき、平面画像に変換方式の切り替えに起因する画像ノイズの発生を最小限とし、さらに、ユーザ指定により変化する画像の大きさ、すなわちズーミング要求に対しても柔軟に対応することが可能な画像処理装置、画像処理方法、プログラムおよび画像処理システムを提供することができる。
【図面の簡単な説明】
【００１８】
【図１】本実施形態の画像処理装置１００の機能ブロック図。
【図２】本実施形態の画像処理装置１００が実行する画像処理のフローチャート。
【図３】本実施形態の画像処理装置１００が実行する射影変換および逆射影変換の処理を、平面画像３１０の位置座標表示（ａ）とし、全天球画像３２０の位置座標表示（ｂ）として示した図。
【図４】本実施形態における平面画像４１０と全天球画像４２０との間の射影関係を、中心射影方式を使用して説明した図。
【図５】本実施形態の画像処理装置１００が実行する画像処理の主要処理を詳細に説明したフローチャート。
【図６】本発明で使用する各パラメータを、全天球画像６１０を平面画像６００に変換するものとして、説明する図。
【図７】各射影変換式による像高(h)と、半画角（φ）との関係をプロットしたグラフ。
【図８】本実施形態を適用した逆変換方式を用いて画像特性を、最大半画角として４０°、５０°、６０°、７０°、８０°と変えた場合の変換結果を、像高（ｈ）に対する半画角（φｉｍ）としてプロットしたグラフ。
【図９】図８に対する比較例として、従来の中心射影方式のみを用い、最大半画角として４０°、５０°、６０°、７０°、８０°と変えた場合の図８と同様のプロットしたグラフ。
【図１０】本発明の画像処理機能と実装したサーバ１０１０と、サーバ１０１０にインターネット１０２０を介してアクセスするクライアント装置１０３０とを含む、画像処理システム１０００の実施形態を示す図。
【図１１】各射影方式で使用される射影変換方式の射影変換式および逆射影変換式を示す図。
【図１２】従来のカメラで撮影した画角が狭い画像と画角が広い画像を、それぞれ、中心射影方式で平面画像にマッピングした場合（ａ）、（ｂ）と、立体射影方式で平面画像にマッピングした場合（ｃ）、（ｄ）を示す図。
【発明を実施するための形態】
【００１９】
以下、本発明を、実施形態をもって説明するが、本発明は後述する実施形態に限定されるものではない。図１は、本実施形態の画像処理装置１００の機能ブロック図である。図１の画像処理装置１００は、パーソナルコンピュータ１０２(以下，ＰＣ１０２と参照する。）を含んで構成されており、ＰＣ１０２には、ディスプレイ装置１１２、キーボード１２０、ハードディスク装置といった記憶装置１２４が接続されていて、画像情報を保管し、ユーザがＰＣ１０２に対してインタラクティブに画像処理を指令することができる。
【００２０】
ＰＣ１０２としては、パーソナルコンピュータ、ワークステーションなどを利用することができる。ＰＣ１０２は、ＲＡＭ、ＲＯＭなどを備え、ＰＥＮＴＩＵＭ(登録商標）シリーズ、ＣＯＲＥ(登録商標）シリーズ、ＸＥＯＮ(登録商標）シリーズ、ＰＯＷＥＲ  ＰＣ(登録商標）シリーズなどのプロセッサを実装し、各種オペレーティング・システムやアプリケーション・プログラムの実行を可能とする。ＰＣ１０２が実装するプロセッサは、シングルコアでもマルチコアでも良い。
【００２１】
ＰＣ１０２は、ＷＩＮＤＯＷＳ(登録商標）シリーズ、ＭＡＣ  ＯＳ(登録商標）、ＵＮＩＸ(登録商標）、ＬＩＮＵＸ(登録商標）といったＯＳの管理の下で動作される各種のプログラミング言語で記述されたアプリケーション・プログラムを実行することができる。本実施形態のアプリケーション・プログラムは、ＰＣ１０２を、図１に示す各機能手段として動作させている。
【００２２】
なお、画像処理装置１００の他の実施形態としては、ＷｉｎｄｏｗｓＣＥ（登録商標）などのモバイル端末用のＯＳを実装し、タッチパネルを介して画像処理装置１００に対して入力が可能な機能を有するカメラ装置、スマートフォン、ｉＰａｄ（登録商標）など、タブレット型ＰＣとして実装することができる。さらに、本発明の他の実施形態では、ＰＣ１０２をＷｅｂサーバやクラウドサービスを提供するサービスサーバとすることができる。
【００２３】
ＰＣ１０２は、その機能手段として、図１に示すように、表示データ取得部１０４と、位置座標変換部１０６と、画素値マッピング部１０８を備えている。表示データ取得部１０４は、広画角で取得された画像を表示させるための表示パラメータのデータを取得する。初期に利用する表示パラメータは、デフォルト設定としてアプリケーションが用意していても良いし、アプリケーションの実行開始と共にユーザが初期設定をキーボード１２０やマウス１２２を利用して設定することもできる。
【００２４】
また、ユーザは、ディスプレイ装置１１２上に表示された平面画像１１４を見ながらインタラクティブに画像の表示状態を変更することができる。ユーザは、表示するべき画像に対してパン、チルト、ズームといった表示状態の変更をキーボード１２０、マウス１２２を介してディスプレイ装置１１２上に表示されたグラフィカル・ユーザ・インタフェース（ＧＵＩ）を使用して、表示パラメータの修正を指令することができる。図１に示したディスプレイ装置１１２の表示画面上には、ズームを指令するズーム操作ボタン１１６、上下・左右へのチルティングやパンニングを指令するためのパン／チルト操作ボタン１１８といったＧＵＩが提供されている。
【００２５】
ユーザが、表示パラメータを目的に応じて修正する場合には、例えばズーム・パラメータの場合、ズーム操作ボタン１１６をマウス１２２によってクリックすることで、拡大／縮小率の設定を受け付ける。ズーム操作ボタン１１６では、(＋)ボタンが拡大、(−)ボタンが縮小である。本明細書において拡大とは、平面画像１１４を表示させるための画像フレームを固定しておき、画像フレームの内部に表示する画像を拡大して表示させることを意味する。また、縮小とは、逆に画像フレームの内部に表示する画像を縮小させることを意味する。画像フレームは、ユーザが大きさを変えない限り固定されるので、平面画像の端縁からの逆射影変換によってズーム・パラメータで指定される平面画像の端部に該当する３次元画像データの位置座標が計算できる。なお、キーボード１２０上の特定ボタン、例えば(＋)または(−)ボタンの押下げ入力で、マウス操作を代用することも可能である。
【００２６】
パン／チルト操作ボタン１１８は、ユーザがマウス１２２によってクリックすることで、ユーザからのパン／チルトの設定を受け付ける。(←)ボタンが左方向へのパン、(→)ボタンが右方向へのパン、(↑)ボタンが上方向へのチルト、(↓)ボタンが下方向へのチルトである。キーボード１２０上の特定ボタン、例えば(←) (→) (↑) (↓)ボタンの押下げ入力をマウス入力に代用することも可能である。
【００２７】
位置座標変換部１０６は、表示データ取得部１０４が取得した表示パラメータを使用して表示データをインタラクティブに修正する。実装上の処理は、行フレーム内に表示させるべき画像の範囲をまず決定する必要がある。このため、ＰＣ１０２は、ズーム・パラメータを参照して表示するべき平面画像１１４の領域に対応する３次元画像データの最大半画角（φｍａｘ）を予測し、適用する逆変換方式を決定し、対応する広画角画像の位置座標を特定する。その後、パン・チルトなどの他の表示データの情報を使用して表示するべき広画角画像の対応する位置座標を決定し、広画角画像の位置座標に対して射影変換を適用して平面座標を計算する。その後、画素値マッピング部１０８は、計算された平面座標に対応する高画角座標の画素値（Ｒ，Ｇ，Ｂ）を、平面座標の対応する位置座標にマッピングし、平面画像データを作成し、インタフェース部１１０を介してディスプレイ装置１１２に平面画像のビデオデータを送付しユーザに対して平面画像１１４を表示させる。
【００２８】
インタフェース部１１０は、ＰＣ１０２が備える各種インタフェース、例えば、ＵＳＢ、ＶＧＡ、ＸＧＡ、ＰＡＴＡ(Parallel ATA)、ＳＡＴＡ(Serial ATA)、ＳＡＴＡＩＩ、ＳＣＳＩ、ネットワーク・インタフェースなどの機能を総合して示したものであり、ＰＣ１０２と外部装置または外部ネットワークとの間のデータの入出力を管理している。
【００２９】
ユーザが、平面画像として見るための広画角画像は、例えばハードディスク装置といった記憶装置１２４に、ＬＡＮ（Local Area Network）やインターネットなどのネットワーク１２６を介してＰＣ１０２がダウンロードしたものを使用することができる。また、他の実施形態では、ユーザが広画角で撮影した画像データを、記憶装置１２４に保管したものを利用することができる。
【００３０】
図２は、本実施形態の画像処理装置１００が実行する画像処理のフローチャートを示す。図２の処理は、ステップＳ２００から開始し、ステップＳ２０１でＧＵＩを介して表示パラメータを取得する。ステップＳ２０２で、表示パラメータに従って位置座標変換を実行し、ステップＳ２０３で変換後の位置座標に広画角画像の対応位置のＲＧＢデータをマッピングして平面画像データを生成する。その後、ステップＳ２０４で、平面画像データを使用してビデオデータを作成し、ディスプレイ装置１１２に平面画像１１４を表示させる。
【００３１】
ステップＳ２０５では、新たなユーザ指令、例えば再表示、終了、プリントやセーブなどの指令を受領したか否かを判断する。新たなユーザ指令が、再表示（Ｓ）であれば、処理をステップＳ２０２に戻し、再表示のための座標変換・マッピングを行いステップＳ２０４で再度平面画像１１４を表示させる。また、新たなユーザ指令が他処理（Ｏ）であれば、ステップＳ２０６で他処理を呼び出して処理を実行し、処理実行後、再度ステップＳ２０４に処理を戻し、再度新たなユーザ指令を待機する。また、新たなユーザ指令が終了（Ｅ）の場合、処理をステップＳ２０７に進め、図２の処理を終了させる。図２に示した処理によって、ユーザは、インタラクティブに広画角画像を平面画像１１４に変換する画像処理をインタラクティブに行うことができる。
【００３２】
図３は、本実施形態の画像処理装置１００が実行する射影変換および逆射影変換の処理を、平面画像３１０の位置座標表示（ａ）とし、広画角画像を例示する画像として全天球画像３２０の位置座標表示（ｂ）として示した図である。全天球画像３２０は、例えば中射影方式については図１１の式から理解されるように、焦点距離ｆを半径とする極座標で画素の位置座標が与えられており、左回りに経度方向の角度θが０°〜３６０°の範囲で定義している。また、緯度方向の角度φが、極から計った角度として本実施形態では、０°〜１８０°の範囲で定義されている。なお、本実施形態では、全天球画像３２０の曲面上の画像について議論するので、以下、逆射影方式を変更する場合の処理を除き、経部分の記述は省略する。
【００３３】
全天球画像３２０の各画素には位置座標が割り当てられており、画素は、その画像特性を示す画像データを随伴しており、三原色に対応するレッド（Ｒ）、グリーン（Ｇ）、ブルー（Ｂ）の各色信号の強さを、典型的なフォーマットでは、各色毎に８ビット(０〜２５５)の値の範囲で定義する。例えば、緯度方向に１８０１画素、経度方向に３６００画素とすると、緯度・経度ともに０．１°刻みに画像データが定義されている。なお、緯度方向が１８００画素ではなく１８０１画素であるのは、０°〜１８０°の領域を１８００分割した際に端点があるためである。一方、経度方向は、０°〜３６０°の領域を３６００分割しているが、端点である０°の点と３６０°の画素が、球面上では一周して同じ点を示すため、どちらか一方のみを持てば足りるからである。
【００３４】
本実施形態の画像処理装置１００は、全天球画像３２０を平面画像３１０に射影する際に、ユーザによる平面画像３１０に対する表示パラメータの設定を受領し、当該表示パラメータの修正に応答して中央部から端部に至るまで画像の歪みを最小化することにより、ユーザに対して広画角画像をＰＣ１０２のディスプレイ装置１１２上に良好に表示させるものである。
【００３５】
図４は、本実施形態における平面画像４１０と広画角画像４２０との間の射影関係を、中心射影方式を使用して説明した図である。平面画像４１０のフォーマットは、２次元平面のカーテシアン座標系で表され、平面座標（ｘ，ｙ）に対応した位置座標で特徴付けられる画像データを有する。画像データは、角位置座標に対応して８ビットの深度のＲ，Ｇ，Ｂの強度データを伴っている。
【００３６】
平面画像４１０は、ユーザ（視者）が全天球画像に例示される広画角画像４２０の球面または３次元曲面に対し、中心位置から特定の緯度・経度方向へ視線を向けたときに見るべき画像となる。図４から理解されるように、広画角画像４２０の曲面にマッピングされた画像データを、平面画像４１０にマッピングし直す処理は、平面画像４１０の中心近傍では、ほとんどリニアリティをもってマッピングできるが、半画角が大きくなるにつれ、平面画像４１０の端部に近づけば近づくほど、広画角画像４２０の曲面（球面）を、平面にマッピングする処理方式に応じて平面画像４１０に視覚的な影響が生じることになる。
【００３７】
図５は、本実施形態の画像処理装置１００が実行する画像処理の主要処理を詳細に説明したフローチャートである。図５は、図２のステップＳ２０１で取得した表示パラメータを、ステップＳ５０１でバッファメモリなど、適切なメモリから読み出す。取得する初期パラメータは、ユーザが入力したパン／チルト／ズームを指定するパラメータでも良いし、システムのデフォルト設定のパラメータであっても良い。なお、パン／チルト／ズームのパラメータがユーザ入力される場合、ユーザは図１に示したＧＵＩを介して各種パラメータを設定し、例えば、パン・パラメータは、(→)ボタンが押される度に直前のパラメータに対して増分を＋１°、(←)ボタンが押される度に、−１°減分するなどとして設定することができる。
【００３８】
また、チルト・パラメータは、(↑)ボタンが押される度に直線のパラメータに対して増分を＋１°、(↓)ボタンが押される度に−１°減分されるように設定することができる。また、ズーム・パラメータは、同様に(＋)ボタンが押される度に、直前のズーム・パラメータを設定した増分だけ増加させ、(−)ボタンが押される度に設定した減分だけ減少させる設定とすることができる。
【００３９】
ステップＳ５０２では、まずズーム・パラメータを参照し、表示するべき平面画像の最大半画角φｍａｘ（°）を計算する。ステップＳ５０２の処理を説明するために、全天球画像６１０を平面画像６００に変換するものとして、各パラメータを図６を用い、３次元画像が全天球画像であるものとして説明する。なお、３次元画像データの形態は、全天球画像に限定される訳ではなく、半球面、双曲面、楕円面など、いかなる曲面を有していても良い。ここで、半画角φｉｍ（°）は、表示するべき平面画像６００の画像端部に対応する全天球画像６１０の位置座標のうち、平面画像にそのまま射影される位置から計った緯度データとして定義される。
【００４０】
ステップＳ５０２の処理は、平面画像６００を指定されたズーム・パラメータで拡縮させ、拡縮された平面画像６００の端部に対応する球面画像上の位置座標の緯度データを求めることである。この処理は、ズーム・パラメータiZoomを使用して、下記式（１）で求めることができる。
【００４１】
【数１】
0005790345.tif 000002
【００４２】
上記式（１）中、φｉｎｉｔｉａｌは、直前の平面画像６００の半画角であり、例えばデフォルト値で、φｉｎｉｔｉａｌ＝３０°と設定しておくことができる。ＩＮＣＲは、定数であり、iZoomの単位変化に対応して変化する半画角を規定するものであり、例えば１０°とすることができる。表示パラメータの修正に伴う逆射影変換方式の変更の予測は、例えば上記式（１）を直接使用することで行うことができる。また、他の実施形態では、その時点で採用する逆射影変換をそのまま適用して対応する３次元画像データの位置座標を計算し、その半画角を使用して予測を行うこともできる。
【００４３】
ステップＳ５０２で、次に表示するべき平面画像６００の半画角φｉｍが決定された後、ステップＳ５０３で、平面画像６００の画素の位置座標（ｘ，ｙ）それぞれについて、対応する全天球画像６１０の画素の位置座標（φ，θ）を計算する。平面画像６００の位置座標（ｘ，ｙ）と、全天球画像６１０の位置座標（φ，θ）との変換は、下記式（２）を使用して行われる。
【００４４】
【数２】
0005790345.tif 000003
【００４５】
上記式（２）中、関数arctan（）は、角度が０°〜１８０°の範囲で値を返すものとし、ｈは、像高、inv_projection()は、本実施形態で使用する逆射影変換関数を表し、関数inv_projection()についてはより詳細に後述する。
【００４６】
ステップＳ５０４では、パン・チルトパラメータに基づき、全天球画像６１０の座標(φ,θ)を下記式（３）を使用して回転座標変換する。なお、下記式（３）で、パン・チルトパラメータは、パンに対応する回転角α、チルトに対応する回転角βとして示す。
【００４７】
【数３】
0005790345.tif 000004
【００４８】
上記式（３）中、現在表示におけるパン・チルト状態を示す全天球画像の位置座標が(φ1,θ1)であり、パン・チルトの座標変換を施した後の位置座標が(φ2,θ2)である。上記式（３）の回転座標変換は、全天球画像の鏡面上の位置座標を変換する必要があるので、変換前の曲面上のカーテシアン座標系の３次元空間座標(x1,y1,z1)、座標変換後のカーテシアン座標系の３次元空間座標(x2,y2,z2)を介して極座標表示に対応する座標変換を行う。
【００４９】
ステップＳ５０５では、回転座標変換処理済みの全天球画像の座標(φ2，θ2)を有する画素値(R,G,B)を取得し、対応する平面画像位置座標にマッピングするための画素値とする。
【００５０】
ただし、全天球画像は、座標(φ1,θ1)について例えば０．１°といった設定された刻みでしか画素値が割り当てられていないので、回転座標変換の結果、全天球画像の割り当てられていない位置座標が計算された場合には、近傍補間、または周囲の画素値を用いたバイリニア補間等によって、補間を行うことができる。このようにして、平面画像の各画素に対してマッピングする画素値が決定された後、全天球画像の位置座標の画素値（Ｒ，Ｇ，Ｂ）を平面画像の位置座標（ｘ，ｙ）にマッピングして、平面画像のためのデータを作成し、ステップＳ２０４の画像表示の処理へと作成したデータを渡す。
【００５１】
図７は、各射影変換式による像高(ｈ)と、半画角（φｉｍ）との関係をプロットしたグラフを示す。ただし、グラフでは説明の便宜上、f=1として示す。図７に示すように、中心射影方式では、半画角が大きくなると、像高の増加率が急激に大きくなるという問題があることが示される。この理由は、広角な画像を見る場合に、画像の端で物体が大きく引き伸ばされることを意味する。一方で、その他の４方式では、中心射影方式よりも半画角に対する依存性が小さくなるものの、半画角が大きくなるにつれて像高(ｈ)の線形外挿ラインに対するズレ方向が異なる特性を有することが理解できる。
【００５２】
本実施形態では、図７に示した各射影変換の像高（ｈ）と、半画角（φｉｍ）との関係に着目し、表示するべき平面画像を与える最大半画角φｍａｘの値に応じて使用する逆射影変換方式を採用する。すなわち、本実施形態では、最大半画角φｍａｘの値に対応して最大半画角φｍａｘが１０°〜４０°の範囲で中心射影変換を逆射影変換として使用する。また、最大半画角φｍａｘが８０°〜１２０°の範囲で逆射影変換として立体射影変換を利用する。このことにより、図７で示した中心射影変換および立体射影変換の不具合な領域を排除しながら、広い範囲で違和感のない平面画像が得られる。このように最大半画角に応じて用いる射影変換を異ならせることにより、広い範囲で違和感のない平面画像を得られるものである。なお、本実施形態では、中心射影変換と、立体射影変換とを用いたが、等距離射影変換、等立体角射影変換、正射影変換などを用いても良い。
【００５３】
また、最大半画角がφｍａｘが４０°〜８０°の範囲は、中心射影方式から立体射影方式への急激な切り替えに伴う画像ノイズの発生を防止するために角度に応じて逆変換方式の寄与度を変化させるようにスムーズに逆変換方式を切り替える。
【００５４】
最大半画角１０°〜４０°の範囲では、逆変換式φ=arctan(h／f)を用い、焦点距離は、f= him／tan(φim)で求める。ここで、ｈｉｍはφｉｍに対応する像高であり、表示する平面画像の対角線の半分の長さに相当する。また、最大半画角が８０〜１２０°の場合は、立体射影の逆変換式φ=2・arctan(h／2／f)を用いて変換する。ここで、焦点距離は、f=him /2/tan(φim/2)で求める。
【００５５】
そして、最大半画角が４０〜８０°の場合は、中心射影および立体射影の逆変換式を用いて変換した結果を、下記式（４）で示すように重み付け補間して求め、それぞれに対して逆変換式に対応した焦点距離を割り当てる。
【００５６】
【数４】
0005790345.tif 000005
【００５７】
上記式（４）中、分母Δは、重み付けのための規格化定数であり、重み付け補間を使用する半画角の上限値と下限値の差、具体的には、説明している実施形態では、Δ＝（８０−４０）＝４０で与えられる。ただし、このΔの値は、使用する画像の画素数や拡大率によって適宜変更することができる。
【００５８】
なお、本実施形態では、ユーザが設定するズーム・パラメータiZoomの設定に応じて、上述した逆変換方式を切り替える最大半画角φｍａｘの範囲が変わる場合も想定できる。本実施形態では、上述したように、滑らかに逆変換方式の値が切り替わる逆変換方式を用いるので、ユーザが任意に拡縮率を変えても、柔軟にユーザ指定に追従できる逆変換方式が提供できる。
【００５９】
図８に本実施形態を適用した逆変換方式を用いて画像特性を、最大半画角として４０°、５０°、６０°、７０°、８０°と変えた場合の変換結果を、像高（ｈ）に対する半画角（φｉｍ）のプロットとして示す。図８では、表示する平面画像の画像サイズを６４０×４８０ピクセルと仮定しており、このときのｈｉｍは、ｈｉｍ＝４００である。
【００６０】
図９には、図８に対する比較例として、従来の中心射影方式のみを用い、最大半画角として４０°、５０°、６０°、７０°、８０°と変えた場合の図８と同様のプロットを示す。図８および図９を比較すれば、図８では、半画角の大きさに応答して像高（ｈ）に対する半画角（φｉｍ）の大きさが概ね線形的に変換されていることが分かる。一方、図９に示すように中心射影方式だけを逆変換に使用した場合、特に最大半画角（φｍａｘ）が、６０°を超える領域で像高（ｈ）と半画角（φｉｍ）との間のリニアリティが失われ、この結果、平面画像上の端部にかけて次第に違和感が認知される画像が与えられることが示されている。
【００６１】
図１０には、本発明の画像処理機能と実装したサーバ１０１０と、サーバ１０１０にインターネット１０２０を介してアクセスするクライアント装置１０３０とを含む、画像処理システム１０００の実施形態を示す。サーバ１０１０は、ＬＩＮＵＸ（登録商標）、ＵＮＩＸ（登録商標）、Ｗｉｎｄｏｗｓ（登録商標）などのＯＳを動作させることができる情報処理装置から構成されている。
【００６２】
また、サーバ１０１０は、ＪＡＶＡ（登録商標）、ＪＡＶＡＳＣＲＩＰＴ（登録商標）、ＰＥＲＬ，ＲＵＢＹ、ＰＹＴＨＯＮなどのサーバプログラムを、ＣＧＩ(Common Gateway Interface)などを使用してクライアント装置１０３０からの処理要求を受付け、画像処理アプリケーションを起動させて、画像処理を行い、その結果をクライアント装置１０３０に返すことで、図１に説明したと実質的に同様の画像をクライアント装置１０３０のディスプレイ装置１０４０上に表示させている。
【００６３】
クライアント装置１０３０は、図１で説明したと同様の構成のＰＣを使用することができるが、図１０に示すクライアント装置１０３０は、Internet Explorer（登録商標）、Mozilla（登録商標）、Opera（登録商標）、FireFox（登録商標）、Chrome（登録商標）などのブラウザ・プログラムを実装している。クライアント装置１０３０は、サーバ１０１０の特定のＵＲＩにアクセスして、画像処理要求を発行すると、サーバ１０１０は、処理対象の画像のデフォルト設定により平面画像をクライアント装置１０３０にＨＴＭＬドキュメントとして返す。
【００６４】
クライアント装置１０３０に送付されるＨＴＭＬは、例えばフォームとして構成することができ、ブラウザ画面上に表示されたズーム操作ボタン１０６０やパン／チルト操作ボタン１０７０をマウスで操作すると、当該操作が、サーバ１０１０に送付される。サーバ１０１０は、ユーザから送付された各操作のパラメータを処理プログラムのパラメータに読み込んで、本実施形態の画像処理を施して平面画像を作成する。作成した平面画像をフォームのイメージ領域にリンクさせてクライアント装置１０３０に送付し、クライアント装置１０３０上で、全天球画像といった画像を違和感なく表示させている。
【００６５】
なお、図１０に示した画像処理システム１０００は、Ｗｅｂサーバ−Ｗｅｂクライアントのアーキテクチャを採用するものとして説明したが、図１０に示した画像処理システム１０００は、クライアント装置１０３０がＩＳＰ(Internet Service Provider)などと契約を行い、サーバ１０１０上の特定の記憶領域およびアプリケーションをシェアすることによって画像処理サービスを受ける、いわゆるクラウドコンピューティング環境としても実装することができることは言うまでもないことである。
【００６６】
以上の様に、本実施形態によれば、最大半画角（φｍａｘ）が小さいときから段々と大きくなってゆくにしたがって用いる逆射影変換を、中心射影方式から立体射影方式にスムーズに変わっていくように制御でき、画像ノイズの発生を最低化させながら広角表示における違和感を抑えることができる。
【符号の説明】
【００６７】
１００  画像処理装置
１０２  パーソナルコンピュータ
１０３  クライアント装置
１０４  表示データ取得部
１０６  位置座標変換部
１０８  画素値マッピング部
１１０  インタフェース部
１１２  ディスプレイ装置
１１４  平面画像
１１６  ズーム操作ボタン
１１８  パン／チルト操作ボタン
１２０  キーボード
１２２  マウス
１２４  記憶装置
１２６  ネットワーク
３１０  平面画像
３２０  全天球画像
４１０  平面画像
４２０  広画角画像
６００  平面画像
６１０  全天球画像
１０００  画像処理システム
１０１０  サーバ
１０２０  インターネット
１０３０  クライアント装置
１０４０  ディスプレイ装置
１０６０  ズーム操作ボタン
１０７０  パン／チルト操作ボタン
【先行技術文献】
【特許文献】
【００６８】
【特許文献１】特許第４６２９１３１号明細書
【図１】
0005790345.tif 000006
【図２】
0005790345.tif 000007
【図３】
0005790345.tif 000008
【図４】
0005790345.tif 000009
【図５】
0005790345.tif 000010
【図６】
0005790345.tif 000011
【図７】
0005790345.tif 000012
【図８】
0005790345.tif 000013
【図９】
0005790345.tif 000014
【図１０】
0005790345.tif 000015
【図１１】
0005790345.tif 000016
【図１２】
0005790345.tif 000017