説明

画像処理装置、画像処理方法、プログラムおよび画像処理システム

【課題】広画角で撮影された3次元画像を平面画像に射影する画像処理装置、画像処理方法、プログラムおよび画像処理システムを提供すること。
【解決手段】本発明の画像処理装置は、3次元画像データを2次元平面画像データに射影する。画像処理装置100は、位置座標および画素値を伴う3次元画像データを蓄積する記憶装置124と、次に作成するべき2次元平面画像データとするための拡大または縮小のためのズーム・パラメータを含む表示パラメータを取得する表示データ取得部104と、表示パラメータを使用して3次元画像データの一部から2次元平面画像データを作成するための位置座標変換部106および画素値マッピング部108と、作成された2次元平面データを2次元画像として表示するディスプレイ装置112とを備え、2次元画像データ作成のために使用する位置座標の逆変換手段を切り替えている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、静止画像を画像処理する技術に関し、より詳細には広画角で撮影された3次元画像を平面画像に射影する画像処理装置、画像処理方法、プログラムおよび画像処理システムに関する。
【背景技術】
【0002】
従来、カメラなどにより撮影された静止画像を、コンピュータと言ったフラット・ディスプレイ装置上で表示するシステムとして、撮影方向が異なり、かつ一部被写体を重複して撮影した複数枚の画像をつなぎ合わせ、つなぎ合わせた合成画像をコンピュータ上の画像ビューワにより表示するシステム(以下、パノラマ画像ビューワとして参照する。)が知られている。
【0003】
従来のパノラマ画像ビューワは、つなぎ合わせたパノラマ画像について、パン(視野の左右移動)、チルト(視野の上下移動)、ズーム(拡大縮小)といった各種の表示変更操作を可能とする機能を備えている。パノラマ画像は、同一の被写体について角度の異なる画像を連結して形成されるので、特に、ズーム機能や魚眼レンズなど通常のレンズ系よりも広視野範囲の撮影を行うカメラで撮影された画像を平面に射影して接続してゆく場合、特に視野の端部で画像に違和感を生じさせたり、歪みを感じさせてしまうことがあるという問題があった。
【0004】
パノラマ画像ビューワは、円筒の側面上または球面上に貼り付けられた画像を、円筒もしくは球の重心から見た場合の画像を平面上に射影して表示させる手法を利用することが多い。平面上に射影して表示する場合、ユーザは、表示するべき画像に対してパン、チルト、ズームといった処理を適用することができ、平面ディスプレイ上には、ユーザによって設定された、パン、チルト、ズームの各設定値に対応して、円筒の側面上もしくは球面上に沿って焦点を形成した3次元面上の画像を平面画像に射影変換して表示が行われる。
【0005】
この際に用いられる射影変換方式としては、通常のカメラ用レンズで用いられている射影変換方式である、中心射影方式を用いることが多く、多くの場合にはカメラで撮影した画像と同様の見え方で平面上に表示させていた。
【0006】
例えば全天球フォーマットで取得された3次元画像を、人が平面ディスプレイ上で見るための画像に変換する際には、射影変換を行って平面画像化することが必要となる。射影変換は、全天球に張り付いた画像を球中心から見るものと仮定し、中心からの角度(半画角)を平面上での距離(像高)に変換することで、平面画像化する。
【0007】
射影変換の方式としては、上述した中心射影方式の他、主な方式として立体射影方式、等距離射影方式、等立体角射影方式、正射影方式を挙げることができる。図11に各射影方式で使用される射影変換方式の射影変換式および逆射影変換式を示す。中心射影方式は、通常のカメラ・レンズを備えるカメラで撮影する際に用いられる方式であり、その他4つの方式は、魚眼レンズを使った超広角な画角を持つカメラで用いられる方式である。
【0008】
図12は、カメラで撮影した画角が狭いレンズ系を使用して撮影した画像および画角が広いレンズ系を使用して撮影した画像を、それぞれ、中心射影方式で平面画像にマッピングした場合(図12(a)、(b))と、立体射影方式で平面画像にマッピングした場合(図12(c)、(d))として示す。多くのパノラマ画像ビューワとして機能する画像処理装置は、表示する際の最大半画角によらず、射影方式は、中心射影に固定されている。この理由は、従来のパノラマビュワーで使用されるカメラの最大半画角が30°程度であり、この半画角の範囲では、視覚的に大きな画像上の歪みが認識されない程度で済むためである。
【0009】
さらに図12を用いて説明すると、図12(a)で示すように、中心射影方式は、画角が狭い場合には特に違和感のない画像だが、画角の広いカメラを使用する場合には、問題が顕在化する。この問題は、例えば図12(b)に示すように、同一の被写体であっても広画角で撮影された画像に対し中心射影方式を適用すると、画像の端部に近づくほど、人物の腕が不自然に伸びるように見えるという、違和感のある画像になっている。
【0010】
すなわち、中心射影方式で3次元画像を平面画像に射影すると、広画角で撮影された画像については図12(b)で示すように半画角の大きな領域、すなわち平面画像における画像端部で、見た目の違和感が発生する。加えて中心射影方式は、図12に示した変換式を参照しても理解できるように、φ=90°で値がオーバーフローしてしまうため、φ=90°以上の最大半画角の表示を行うために他の処理を追加しなければならないという問題があった。
【0011】
また、他の射影方式として、立体射影方式を使用して図12(a)、(b)で使用したと同一の画像を平面画像に変換した画像が、図12(c)、(d)である。図12(c)が画角が小さいレンズ系で撮影した場合の画像であり、図12(d)が、画角が大きいレンズ系で撮影した場合の画像である。図12(c)、(d)に示されるように、立体射影では、3次元画像における半画角が大きい画像データに対応する平面画像の画像端部でも中心射影方式で見られたような人物の腕が伸びて見える、といった違和感が少なくなっていることが分かる。
【0012】
ただし、詳細に検討すると、立体射影方式では、画角が狭い場合、画角が広い場合ともに、中心射影では直線に見えている背景のライン像が、立体射影では少し湾曲して見えることが認識できる。以上のように、従来のパノラマ画像ビューワでは、広い画角範囲で違和感の生じない画像を提供するという点で充分なものと言うことはできなかった。
【0013】
通常のカメラは、画角が50°から75°程度であることが多く、図12(b)に示すように、広い画角の画像を中心射影方式だけで平面画像に変換すると、広画角の端の領域でレンズ中心に対応する画像中の点を中心とする極座標における接線方向に画像が大きく引き伸ばされることに起因する変形が顕著となる。この結果、広画角で撮影された静止画像を利用するパノラマ画像ビューワとして、そのまま従来の射影変換方式を使用するシステムを使用すると、画像全体にわたり、多かれ少なかれ違和感を発生させてしまうことになっていた。
【0014】
上述した射影方式の問題点に関連して、これまで魚眼レンズを用いて撮影された歪曲円形画像から任意部分を平面画像に射影する技術も知られており、例えば、特許第4629131号明細書(特許文献1)では、魚眼レンズを用いた撮影により得られた歪曲円形画像から、所望の任意部分を切り出し、歪みの少ない平面画像に変換する目的で、球面上に対応付けられた魚眼レンズ撮影画像を、平面画像の垂直方向を軸方向とする円筒の側面上に対応付けて切り出すことで、水平方向の端の歪みを処理する構成が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【0015】
特許文献1に記載された方法でも見た目で感じる歪みの違和感を低減させることはできる。しかしながら、特許文献1に記載された方法は、円筒の曲面を利用して歪みの違和感を低減しているため、一方向(水平方向)の歪みの違和感しか低減することができないといった問題点があった。このため、水平方向と垂直方向で歪み方が異なる平面画像が生成されることになり、従来とは別の視覚上の違和感が発生する虞もある。すなわち特許文献1の技術があるものの、広画角で撮影された画像をディスプレイ平面上に表示するパノラマ画像ビューワで、上下左右の端部の被写体が引き伸ばされることによる変形に起因する違和感を低減するという問題は、依然として残されていた。
【課題を解決するための手段】
【0016】
本発明は、全天球フォーマットといった広画角画像をディスプレイ装置で表示させるために平面画像に変換するに際して、平面画像の最大半画角(φmax)の大きさに応じて、平面画像から広画角画像への逆変換方式を切り替えることで、平面画像に生じる画像伸張や湾曲などの違和感を最低化させる。さらに本発明は、逆変換方式の切り替えに際して境界領域における画像ノイズの発生を最小限とするために、最大半画角(φmax)の大きさに応じて切り替える逆変換方式の値を重み付け補間する逆変換方式を使用し、逆変換により平面画像から広画角画像への画素マッピングの際に、マッピングされる位置が急激に変わらないようにする。
【0017】
本発明は、滑らかに接続する上述した3方式の逆変換方式を使用することで、広画角画像を違和感を最小としながら平面画像に変換でき、平面画像に変換方式の切り替えに起因する画像ノイズの発生を最小限とし、さらに、ユーザ指定により変化する画像の大きさ、すなわちズーミング要求に対しても柔軟に対応することが可能な画像処理装置、画像処理方法、プログラムおよび画像処理システムを提供することができる。
【図面の簡単な説明】
【0018】
【図1】本実施形態の画像処理装置100の機能ブロック図。
【図2】本実施形態の画像処理装置100が実行する画像処理のフローチャート。
【図3】本実施形態の画像処理装置100が実行する射影変換および逆射影変換の処理を、平面画像310の位置座標表示(a)とし、全天球画像320の位置座標表示(b)として示した図。
【図4】本実施形態における平面画像410と全天球画像420との間の射影関係を、中心射影方式を使用して説明した図。
【図5】本実施形態の画像処理装置100が実行する画像処理の主要処理を詳細に説明したフローチャート。
【図6】本発明で使用する各パラメータを、全天球画像610を平面画像600に変換するものとして、説明する図。
【図7】各射影変換式による像高(h)と、半画角(φ)との関係をプロットしたグラフ。
【図8】本実施形態を適用した逆変換方式を用いて画像特性を、最大半画角として40°、50°、60°、70°、80°と変えた場合の変換結果を、像高(h)に対する半画角(φim)としてプロットしたグラフ。
【図9】図8に対する比較例として、従来の中心射影方式のみを用い、最大半画角として40°、50°、60°、70°、80°と変えた場合の図8と同様のプロットしたグラフ。
【図10】本発明の画像処理機能と実装したサーバ1010と、サーバ1010にインターネット1020を介してアクセスするクライアント装置1030とを含む、画像処理システム1000の実施形態を示す図。
【図11】各射影方式で使用される射影変換方式の射影変換式および逆射影変換式を示す図。
【図12】従来のカメラで撮影した画角が狭い画像と画角が広い画像を、それぞれ、中心射影方式で平面画像にマッピングした場合(a)、(b)と、立体射影方式で平面画像にマッピングした場合(c)、(d)を示す図。
【発明を実施するための形態】
【0019】
以下、本発明を、実施形態をもって説明するが、本発明は後述する実施形態に限定されるものではない。図1は、本実施形態の画像処理装置100の機能ブロック図である。図1の画像処理装置100は、パーソナルコンピュータ102(以下,PC102と参照する。)を含んで構成されており、PC102には、ディスプレイ装置112、キーボード120、ハードディスク装置といった記憶装置124が接続されていて、画像情報を保管し、ユーザがPC102に対してインタラクティブに画像処理を指令することができる。
【0020】
PC102としては、パーソナルコンピュータ、ワークステーションなどを利用することができる。PC102は、RAM、ROMなどを備え、PENTIUM(登録商標)シリーズ、CORE(登録商標)シリーズ、XEON(登録商標)シリーズ、POWER PC(登録商標)シリーズなどのプロセッサを実装し、各種オペレーティング・システムやアプリケーション・プログラムの実行を可能とする。PC102が実装するプロセッサは、シングルコアでもマルチコアでも良い。
【0021】
PC102は、WINDOWS(登録商標)シリーズ、MAC OS(登録商標)、UNIX(登録商標)、LINUX(登録商標)といったOSの管理の下で動作される各種のプログラミング言語で記述されたアプリケーション・プログラムを実行することができる。本実施形態のアプリケーション・プログラムは、PC102を、図1に示す各機能手段として動作させている。
【0022】
なお、画像処理装置100の他の実施形態としては、WindowsCE(登録商標)などのモバイル端末用のOSを実装し、タッチパネルを介して画像処理装置100に対して入力が可能な機能を有するカメラ装置、スマートフォン、iPad(登録商標)など、タブレット型PCとして実装することができる。さらに、本発明の他の実施形態では、PC102をWebサーバやクラウドサービスを提供するサービスサーバとすることができる。
【0023】
PC102は、その機能手段として、図1に示すように、表示データ取得部104と、位置座標変換部106と、画素値マッピング部108を備えている。表示データ取得部104は、広画角で取得された画像を表示させるための表示パラメータのデータを取得する。初期に利用する表示パラメータは、デフォルト設定としてアプリケーションが用意していても良いし、アプリケーションの実行開始と共にユーザが初期設定をキーボード120やマウス122を利用して設定することもできる。
【0024】
また、ユーザは、ディスプレイ装置112上に表示された平面画像114を見ながらインタラクティブに画像の表示状態を変更することができる。ユーザは、表示するべき画像に対してパン、チルト、ズームといった表示状態の変更をキーボード120、マウス122を介してディスプレイ装置112上に表示されたグラフィカル・ユーザ・インタフェース(GUI)を使用して、表示パラメータの修正を指令することができる。図1に示したディスプレイ装置112の表示画面上には、ズームを指令するズーム操作ボタン116、上下・左右へのチルティングやパンニングを指令するためのパン/チルト操作ボタン118といったGUIが提供されている。
【0025】
ユーザが、表示パラメータを目的に応じて修正する場合には、例えばズーム・パラメータの場合、ズーム操作ボタン116をマウス122によってクリックすることで、拡大/縮小率の設定を受け付ける。ズーム操作ボタン116では、(+)ボタンが拡大、(−)ボタンが縮小である。本明細書において拡大とは、平面画像114を表示させるための画像フレームを固定しておき、画像フレームの内部に表示する画像を拡大して表示させることを意味する。また、縮小とは、逆に画像フレームの内部に表示する画像を縮小させることを意味する。画像フレームは、ユーザが大きさを変えない限り固定されるので、平面画像の端縁からの逆射影変換によってズーム・パラメータで指定される平面画像の端部に該当する3次元画像データの位置座標が計算できる。なお、キーボード120上の特定ボタン、例えば(+)または(−)ボタンの押下げ入力で、マウス操作を代用することも可能である。
【0026】
パン/チルト操作ボタン118は、ユーザがマウス122によってクリックすることで、ユーザからのパン/チルトの設定を受け付ける。(←)ボタンが左方向へのパン、(→)ボタンが右方向へのパン、(↑)ボタンが上方向へのチルト、(↓)ボタンが下方向へのチルトである。キーボード120上の特定ボタン、例えば(←) (→) (↑) (↓)ボタンの押下げ入力をマウス入力に代用することも可能である。
【0027】
位置座標変換部106は、表示データ取得部104が取得した表示パラメータを使用して表示データをインタラクティブに修正する。実装上の処理は、行フレーム内に表示させるべき画像の範囲をまず決定する必要がある。このため、PC102は、ズーム・パラメータを参照して表示するべき平面画像114の領域に対応する3次元画像データの最大半画角(φmax)を予測し、適用する逆変換方式を決定し、対応する広画角画像の位置座標を特定する。その後、パン・チルトなどの他の表示データの情報を使用して表示するべき広画角画像の対応する位置座標を決定し、広画角画像の位置座標に対して射影変換を適用して平面座標を計算する。その後、画素値マッピング部108は、計算された平面座標に対応する高画角座標の画素値(R,G,B)を、平面座標の対応する位置座標にマッピングし、平面画像データを作成し、インタフェース部110を介してディスプレイ装置112に平面画像のビデオデータを送付しユーザに対して平面画像114を表示させる。
【0028】
インタフェース部110は、PC102が備える各種インタフェース、例えば、USB、VGA、XGA、PATA(Parallel ATA)、SATA(Serial ATA)、SATAII、SCSI、ネットワーク・インタフェースなどの機能を総合して示したものであり、PC102と外部装置または外部ネットワークとの間のデータの入出力を管理している。
【0029】
ユーザが、平面画像として見るための広画角画像は、例えばハードディスク装置といった記憶装置124に、LAN(Local Area Network)やインターネットなどのネットワーク126を介してPC102がダウンロードしたものを使用することができる。また、他の実施形態では、ユーザが広画角で撮影した画像データを、記憶装置124に保管したものを利用することができる。
【0030】
図2は、本実施形態の画像処理装置100が実行する画像処理のフローチャートを示す。図2の処理は、ステップS200から開始し、ステップS201でGUIを介して表示パラメータを取得する。ステップS202で、表示パラメータに従って位置座標変換を実行し、ステップS203で変換後の位置座標に広画角画像の対応位置のRGBデータをマッピングして平面画像データを生成する。その後、ステップS204で、平面画像データを使用してビデオデータを作成し、ディスプレイ装置112に平面画像114を表示させる。
【0031】
ステップS205では、新たなユーザ指令、例えば再表示、終了、プリントやセーブなどの指令を受領したか否かを判断する。新たなユーザ指令が、再表示(S)であれば、処理をステップS202に戻し、再表示のための座標変換・マッピングを行いステップS204で再度平面画像114を表示させる。また、新たなユーザ指令が他処理(O)であれば、ステップS206で他処理を呼び出して処理を実行し、処理実行後、再度ステップS204に処理を戻し、再度新たなユーザ指令を待機する。また、新たなユーザ指令が終了(E)の場合、処理をステップS207に進め、図2の処理を終了させる。図2に示した処理によって、ユーザは、インタラクティブに広画角画像を平面画像114に変換する画像処理をインタラクティブに行うことができる。
【0032】
図3は、本実施形態の画像処理装置100が実行する射影変換および逆射影変換の処理を、平面画像310の位置座標表示(a)とし、広画角画像を例示する画像として全天球画像320の位置座標表示(b)として示した図である。全天球画像320は、例えば中射影方式については図11の式から理解されるように、焦点距離fを半径とする極座標で画素の位置座標が与えられており、左回りに経度方向の角度θが0°〜360°の範囲で定義している。また、緯度方向の角度φが、極から計った角度として本実施形態では、0°〜180°の範囲で定義されている。なお、本実施形態では、全天球画像320の曲面上の画像について議論するので、以下、逆射影方式を変更する場合の処理を除き、経部分の記述は省略する。
【0033】
全天球画像320の各画素には位置座標が割り当てられており、画素は、その画像特性を示す画像データを随伴しており、三原色に対応するレッド(R)、グリーン(G)、ブルー(B)の各色信号の強さを、典型的なフォーマットでは、各色毎に8ビット(0〜255)の値の範囲で定義する。例えば、緯度方向に1801画素、経度方向に3600画素とすると、緯度・経度ともに0.1°刻みに画像データが定義されている。なお、緯度方向が1800画素ではなく1801画素であるのは、0°〜180°の領域を1800分割した際に端点があるためである。一方、経度方向は、0°〜360°の領域を3600分割しているが、端点である0°の点と360°の画素が、球面上では一周して同じ点を示すため、どちらか一方のみを持てば足りるからである。
【0034】
本実施形態の画像処理装置100は、全天球画像320を平面画像310に射影する際に、ユーザによる平面画像310に対する表示パラメータの設定を受領し、当該表示パラメータの修正に応答して中央部から端部に至るまで画像の歪みを最小化することにより、ユーザに対して広画角画像をPC102のディスプレイ装置112上に良好に表示させるものである。
【0035】
図4は、本実施形態における平面画像410と広画角画像420との間の射影関係を、中心射影方式を使用して説明した図である。平面画像410のフォーマットは、2次元平面のカーテシアン座標系で表され、平面座標(x,y)に対応した位置座標で特徴付けられる画像データを有する。画像データは、角位置座標に対応して8ビットの深度のR,G,Bの強度データを伴っている。
【0036】
平面画像410は、ユーザ(視者)が全天球画像に例示される広画角画像420の球面または3次元曲面に対し、中心位置から特定の緯度・経度方向へ視線を向けたときに見るべき画像となる。図4から理解されるように、広画角画像420の曲面にマッピングされた画像データを、平面画像410にマッピングし直す処理は、平面画像410の中心近傍では、ほとんどリニアリティをもってマッピングできるが、半画角が大きくなるにつれ、平面画像410の端部に近づけば近づくほど、広画角画像420の曲面(球面)を、平面にマッピングする処理方式に応じて平面画像410に視覚的な影響が生じることになる。
【0037】
図5は、本実施形態の画像処理装置100が実行する画像処理の主要処理を詳細に説明したフローチャートである。図5は、図2のステップS201で取得した表示パラメータを、ステップS501でバッファメモリなど、適切なメモリから読み出す。取得する初期パラメータは、ユーザが入力したパン/チルト/ズームを指定するパラメータでも良いし、システムのデフォルト設定のパラメータであっても良い。なお、パン/チルト/ズームのパラメータがユーザ入力される場合、ユーザは図1に示したGUIを介して各種パラメータを設定し、例えば、パン・パラメータは、(→)ボタンが押される度に直前のパラメータに対して増分を+1°、(←)ボタンが押される度に、−1°減分するなどとして設定することができる。
【0038】
また、チルト・パラメータは、(↑)ボタンが押される度に直線のパラメータに対して増分を+1°、(↓)ボタンが押される度に−1°減分されるように設定することができる。また、ズーム・パラメータは、同様に(+)ボタンが押される度に、直前のズーム・パラメータを設定した増分だけ増加させ、(−)ボタンが押される度に設定した減分だけ減少させる設定とすることができる。
【0039】
ステップS502では、まずズーム・パラメータを参照し、表示するべき平面画像の最大半画角φmax(°)を計算する。ステップS502の処理を説明するために、全天球画像610を平面画像600に変換するものとして、各パラメータを図6を用い、3次元画像が全天球画像であるものとして説明する。なお、3次元画像データの形態は、全天球画像に限定される訳ではなく、半球面、双曲面、楕円面など、いかなる曲面を有していても良い。ここで、半画角φim(°)は、表示するべき平面画像600の画像端部に対応する全天球画像610の位置座標のうち、平面画像にそのまま射影される位置から計った緯度データとして定義される。
【0040】
ステップS502の処理は、平面画像600を指定されたズーム・パラメータで拡縮させ、拡縮された平面画像600の端部に対応する球面画像上の位置座標の緯度データを求めることである。この処理は、ズーム・パラメータiZoomを使用して、下記式(1)で求めることができる。
【0041】
【数1】

【0042】
上記式(1)中、φinitialは、直前の平面画像600の半画角であり、例えばデフォルト値で、φinitial=30°と設定しておくことができる。INCRは、定数であり、iZoomの単位変化に対応して変化する半画角を規定するものであり、例えば10°とすることができる。表示パラメータの修正に伴う逆射影変換方式の変更の予測は、例えば上記式(1)を直接使用することで行うことができる。また、他の実施形態では、その時点で採用する逆射影変換をそのまま適用して対応する3次元画像データの位置座標を計算し、その半画角を使用して予測を行うこともできる。
【0043】
ステップS502で、次に表示するべき平面画像600の半画角φimが決定された後、ステップS503で、平面画像600の画素の位置座標(x,y)それぞれについて、対応する全天球画像610の画素の位置座標(φ,θ)を計算する。平面画像600の位置座標(x,y)と、全天球画像610の位置座標(φ,θ)との変換は、下記式(2)を使用して行われる。
【0044】
【数2】

【0045】
上記式(2)中、関数arctan()は、角度が0°〜180°の範囲で値を返すものとし、hは、像高、inv_projection()は、本実施形態で使用する逆射影変換関数を表し、関数inv_projection()についてはより詳細に後述する。
【0046】
ステップS504では、パン・チルトパラメータに基づき、全天球画像610の座標(φ,θ)を下記式(3)を使用して回転座標変換する。なお、下記式(3)で、パン・チルトパラメータは、パンに対応する回転角α、チルトに対応する回転角βとして示す。
【0047】
【数3】

【0048】
上記式(3)中、現在表示におけるパン・チルト状態を示す全天球画像の位置座標が(φ1,θ1)であり、パン・チルトの座標変換を施した後の位置座標が(φ2,θ2)である。上記式(3)の回転座標変換は、全天球画像の鏡面上の位置座標を変換する必要があるので、変換前の曲面上のカーテシアン座標系の3次元空間座標(x1,y1,z1)、座標変換後のカーテシアン座標系の3次元空間座標(x2,y2,z2)を介して極座標表示に対応する座標変換を行う。
【0049】
ステップS505では、回転座標変換処理済みの全天球画像の座標(φ2,θ2)を有する画素値(R,G,B)を取得し、対応する平面画像位置座標にマッピングするための画素値とする。
【0050】
ただし、全天球画像は、座標(φ1,θ1)について例えば0.1°といった設定された刻みでしか画素値が割り当てられていないので、回転座標変換の結果、全天球画像の割り当てられていない位置座標が計算された場合には、近傍補間、または周囲の画素値を用いたバイリニア補間等によって、補間を行うことができる。このようにして、平面画像の各画素に対してマッピングする画素値が決定された後、全天球画像の位置座標の画素値(R,G,B)を平面画像の位置座標(x,y)にマッピングして、平面画像のためのデータを作成し、ステップS204の画像表示の処理へと作成したデータを渡す。
【0051】
図7は、各射影変換式による像高(h)と、半画角(φim)との関係をプロットしたグラフを示す。ただし、グラフでは説明の便宜上、f=1として示す。図7に示すように、中心射影方式では、半画角が大きくなると、像高の増加率が急激に大きくなるという問題があることが示される。この理由は、広角な画像を見る場合に、画像の端で物体が大きく引き伸ばされることを意味する。一方で、その他の4方式では、中心射影方式よりも半画角に対する依存性が小さくなるものの、半画角が大きくなるにつれて像高(h)の線形外挿ラインに対するズレ方向が異なる特性を有することが理解できる。
【0052】
本実施形態では、図7に示した各射影変換の像高(h)と、半画角(φim)との関係に着目し、表示するべき平面画像を与える最大半画角φmaxの値に応じて使用する逆射影変換方式を採用する。すなわち、本実施形態では、最大半画角φmaxの値に対応して最大半画角φmaxが10°〜40°の範囲で中心射影変換を逆射影変換として使用する。また、最大半画角φmaxが80°〜120°の範囲で逆射影変換として立体射影変換を利用する。このことにより、図7で示した中心射影変換および立体射影変換の不具合な領域を排除しながら、広い範囲で違和感のない平面画像が得られる。このように最大半画角に応じて用いる射影変換を異ならせることにより、広い範囲で違和感のない平面画像を得られるものである。なお、本実施形態では、中心射影変換と、立体射影変換とを用いたが、等距離射影変換、等立体角射影変換、正射影変換などを用いても良い。
【0053】
また、最大半画角がφmaxが40°〜80°の範囲は、中心射影方式から立体射影方式への急激な切り替えに伴う画像ノイズの発生を防止するために角度に応じて逆変換方式の寄与度を変化させるようにスムーズに逆変換方式を切り替える。
【0054】
最大半画角10°〜40°の範囲では、逆変換式φ=arctan(h/f)を用い、焦点距離は、f= him/tan(φim)で求める。ここで、himはφimに対応する像高であり、表示する平面画像の対角線の半分の長さに相当する。また、最大半画角が80〜120°の場合は、立体射影の逆変換式φ=2・arctan(h/2/f)を用いて変換する。ここで、焦点距離は、f=him /2/tan(φim/2)で求める。
【0055】
そして、最大半画角が40〜80°の場合は、中心射影および立体射影の逆変換式を用いて変換した結果を、下記式(4)で示すように重み付け補間して求め、それぞれに対して逆変換式に対応した焦点距離を割り当てる。
【0056】
【数4】

【0057】
上記式(4)中、分母Δは、重み付けのための規格化定数であり、重み付け補間を使用する半画角の上限値と下限値の差、具体的には、説明している実施形態では、Δ=(80−40)=40で与えられる。ただし、このΔの値は、使用する画像の画素数や拡大率によって適宜変更することができる。
【0058】
なお、本実施形態では、ユーザが設定するズーム・パラメータiZoomの設定に応じて、上述した逆変換方式を切り替える最大半画角φmaxの範囲が変わる場合も想定できる。本実施形態では、上述したように、滑らかに逆変換方式の値が切り替わる逆変換方式を用いるので、ユーザが任意に拡縮率を変えても、柔軟にユーザ指定に追従できる逆変換方式が提供できる。
【0059】
図8に本実施形態を適用した逆変換方式を用いて画像特性を、最大半画角として40°、50°、60°、70°、80°と変えた場合の変換結果を、像高(h)に対する半画角(φim)のプロットとして示す。図8では、表示する平面画像の画像サイズを640×480ピクセルと仮定しており、このときのhimは、him=400である。
【0060】
図9には、図8に対する比較例として、従来の中心射影方式のみを用い、最大半画角として40°、50°、60°、70°、80°と変えた場合の図8と同様のプロットを示す。図8および図9を比較すれば、図8では、半画角の大きさに応答して像高(h)に対する半画角(φim)の大きさが概ね線形的に変換されていることが分かる。一方、図9に示すように中心射影方式だけを逆変換に使用した場合、特に最大半画角(φmax)が、60°を超える領域で像高(h)と半画角(φim)との間のリニアリティが失われ、この結果、平面画像上の端部にかけて次第に違和感が認知される画像が与えられることが示されている。
【0061】
図10には、本発明の画像処理機能と実装したサーバ1010と、サーバ1010にインターネット1020を介してアクセスするクライアント装置1030とを含む、画像処理システム1000の実施形態を示す。サーバ1010は、LINUX(登録商標)、UNIX(登録商標)、Windows(登録商標)などのOSを動作させることができる情報処理装置から構成されている。
【0062】
また、サーバ1010は、JAVA(登録商標)、JAVASCRIPT(登録商標)、PERL,RUBY、PYTHONなどのサーバプログラムを、CGI(Common Gateway Interface)などを使用してクライアント装置1030からの処理要求を受付け、画像処理アプリケーションを起動させて、画像処理を行い、その結果をクライアント装置1030に返すことで、図1に説明したと実質的に同様の画像をクライアント装置1030のディスプレイ装置1040上に表示させている。
【0063】
クライアント装置1030は、図1で説明したと同様の構成のPCを使用することができるが、図10に示すクライアント装置1030は、Internet Explorer(登録商標)、Mozilla(登録商標)、Opera(登録商標)、FireFox(登録商標)、Chrome(登録商標)などのブラウザ・プログラムを実装している。クライアント装置1030は、サーバ1010の特定のURIにアクセスして、画像処理要求を発行すると、サーバ1010は、処理対象の画像のデフォルト設定により平面画像をクライアント装置1030にHTMLドキュメントとして返す。
【0064】
クライアント装置1030に送付されるHTMLは、例えばフォームとして構成することができ、ブラウザ画面上に表示されたズーム操作ボタン1060やパン/チルト操作ボタン1070をマウスで操作すると、当該操作が、サーバ1010に送付される。サーバ1010は、ユーザから送付された各操作のパラメータを処理プログラムのパラメータに読み込んで、本実施形態の画像処理を施して平面画像を作成する。作成した平面画像をフォームのイメージ領域にリンクさせてクライアント装置1030に送付し、クライアント装置1030上で、全天球画像といった画像を違和感なく表示させている。
【0065】
なお、図10に示した画像処理システム1000は、Webサーバ−Webクライアントのアーキテクチャを採用するものとして説明したが、図10に示した画像処理システム1000は、クライアント装置1030がISP(Internet Service Provider)などと契約を行い、サーバ1010上の特定の記憶領域およびアプリケーションをシェアすることによって画像処理サービスを受ける、いわゆるクラウドコンピューティング環境としても実装することができることは言うまでもないことである。
【0066】
以上の様に、本実施形態によれば、最大半画角(φmax)が小さいときから段々と大きくなってゆくにしたがって用いる逆射影変換を、中心射影方式から立体射影方式にスムーズに変わっていくように制御でき、画像ノイズの発生を最低化させながら広角表示における違和感を抑えることができる。
【符号の説明】
【0067】
100 画像処理装置
102 パーソナルコンピュータ
103 クライアント装置
104 表示データ取得部
106 位置座標変換部
108 画素値マッピング部
110 インタフェース部
112 ディスプレイ装置
114 平面画像
116 ズーム操作ボタン
118 パン/チルト操作ボタン
120 キーボード
122 マウス
124 記憶装置
126 ネットワーク
310 平面画像
320 全天球画像
410 平面画像
420 広画角画像
600 平面画像
610 全天球画像
1000 画像処理システム
1010 サーバ
1020 インターネット
1030 クライアント装置
1040 ディスプレイ装置
1060 ズーム操作ボタン
1070 パン/チルト操作ボタン
【先行技術文献】
【特許文献】
【0068】
【特許文献1】特許第4629131号明細書

【特許請求の範囲】
【請求項1】
3次元画像データを2次元平面画像データに射影する画像処理装置であって、前記画像処理装置は、
位置座標および画素値を伴う前記3次元画像データを蓄積する手段と、
次に作成するべき2次元平面画像データとするための拡大または縮小のためのズーム・パラメータを含む表示パラメータを取得する手段と、
前記表示パラメータを使用して前記3次元画像データの一部から前記2次元平面画像データを作成する手段と、
作成された前記2次元平面画像データを2次元画像として表示する手段と、
を備え、
前記2次元平面画像データを作成する手段は、前記表示パラメータが指定する拡大または縮小による半画角の変化に応じて2次元画像データ作成のために使用する位置座標について、適用する逆変換手段を切り替える、画像処理装置。
【請求項2】
前記表示パラメータを取得する手段は、ユーザ入力手段から入力された前記表示パラメータへの変更を次に作成するべき2次元平面画像データのための表示パラメータとして取得する、請求項1に記載の画像処理装置。
【請求項3】
前記画像処理装置は、前記次に作成するべき2次元平面画像データの位置座標に対応する前記3次元画像データの位置座標を前記逆変換手段により決定し、前記決定した前記3次元画像データの位置座標が伴う画素値を、前記次に作成するべき2次元平面画像データの位置座標が伴うべき画素値としてマッピングする画素値マッピング手段を含む、請求項1または2に記載の画像処理装置。
【請求項4】
前記逆変換手段は、前記3次元画像データの前記2次元平面画像データの中心とすべき位置座標からの半画角の大きさに応答して、前記2次元平面画像データの逆変換のため、中心射影、立体射影、および前記中心射影から前記立体射影の逆変換を滑らかに連続させる重み付け補間射影のいずれか選択して適用する手段を含む、請求項1〜3のいずれか1項に記載の画像処理装置。
【請求項5】
3次元画像データを2次元平面画像データに射影する画像処理装置が実行する画像処理方法であって、前記画像処理方法は、
位置座標および画素値を伴う前記3次元画像データを蓄積するステップと、
次に作成するべき2次元平面画像データとするための拡大または縮小のためのズーム・パラメータを含む表示パラメータを取得するステップと、
前記表示パラメータを使用して前記3次元画像データの一部から前記2次元平面画像データを作成するステップと、
作成された前記2次元平面画像データを2次元画像として表示するステップと、
を実行し、
前記2次元平面画像データを作成するステップは、
前記表示パラメータが含む拡大または縮小のための前記ズーム・パラメータを取得するステップと、
前記ズーム・パラメータの変更により変更される前記2次元平面画像データに対応付けられる前記3次元画像データの前記2次元平面画像データの中心とすべき位置座標からの半画角を判断するステップと、
前記判断の結果に応じて2次元平面画像データ作成のために使用する位置座標について、適用する逆変換を切り替えて前記2次元平面画像データからの逆変換を実行するステップと
を含む、画像処理方法。
【請求項6】
前記2次元平面画像データを作成するステップは、
前記次に作成するべき2次元平面画像データの位置座標に対応する前記3次元画像データの位置座標を前記逆変換により決定するステップと、
前記決定した前記3次元画像データの位置座標が伴う画素値を、前記次に作成するべき2次元平面画像データの位置座標が伴うべき画素値としてマッピングするステップと
を含む、請求項5に記載の画像処理方法。
【請求項7】
前記逆変換を実行するステップは、
前記3次元画像データの前記半画角の大きさに応答して、前記2次元平面画像データの逆変換のため、中心射影、立体射影、および前記中心射影から前記立体射影の逆変換を滑らかに連続させる重み付け補間射影のいずれかを選択して適用するステップを含む、請求項5または6のいずれか1項に記載の画像処理方法。
【請求項8】
画像処理装置を、請求項1〜請求項4のいずれか1項に記載の機能手段として機能させるための装置実行可能なプログラム。
【請求項9】
3次元画像データを2次元平面画像データに射影する画像処理システムであって、前記画像処理システムは、
ネットワークに接続され、ディスプレイ手段およびブラウザ手段を含むクライアント装置と、
前記ネットワークに接続されたサーバ装置とを含み、
前記クライアント装置は、前記2次元平面画像データを取得するための表示パラメータを前記サーバ装置に送信して前記3次元画像データの一部を前記ディスプレイ手段上で2次元画像として表示させ、
前記サーバ装置は、位置座標および画素値を伴う前記3次元画像データを蓄積する手段と、
次に作成するべき2次元平面画像データとするための拡大または縮小のためのズーム・パラメータを含む表示パラメータを取得し、前記表示パラメータを使用して前記3次元画像データの一部から前記2次元平面画像データを作成するアプリケーション手段と、
前記アプリケーション手段が作成した前記2次元平面画像データを前記クライアント装置に送信し、前記ブラウザ手段を介して2次元画像として表示させる手段と、
を備え、
前記アプリケーション手段は、前記表示パラメータが指定する含む拡大または縮小による半画角の変化に応じて前記2次元平面画像データ作成のために使用する位置座標について、適用する逆変換手段を切り替える、画像処理システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate