(57)【特許請求の範囲】
【請求項１】
歪曲特性および周辺光量落ち特性を有する撮像部の撮影画像から、仮想カメラの歪曲特性および周辺光落ち特性に応じた仮想視点の画像を生成する画像処理装置であって、
前記仮想視点画像の注目画素の該仮想視点画像における座標に対して、前記仮想カメラの歪曲特性に応じた歪曲補正を行うことにより、該仮想視点画像における歪曲補正後の座標を算出する第１算出手段と、
前記仮想視点画像における歪曲補正後の座標から前記撮影画像における理想座標を算出する第２算出手段と、
前記撮像部の歪曲特性に応じて前記撮影画像における理想座標から前記撮影画像における実座標を算出する第３算出手段と、
前記実座標と前記撮影画像とに基づき、前記仮想視点画像における座標の画素値を算出する第４算出手段と、
前記撮像部の周辺光量落ち特性および前記仮想カメラの周辺光量落ち特性とに基づき前記実座標に対応する画素値を補正する補正手段と、
前記実座標が前記撮影画像の外である前記仮想視点画像の領域に、予め保持されているテクスチャ画像を合成する合成手段とを有することを特徴とする画像処理装置。
【請求項２】
前記第２算出手段は、
前記仮想視点画像における歪曲補正後の座標から基準面上の物理座標を算出する第４算出手段と、
前記撮像部の位置の情報を用いて、前記基準面上の物理座標から前記撮影画像における理想座標を算出する第５算出手段とを有することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記第３算出手段は、前記撮像部の歪曲特性および前記撮像部の収差に応じて、前記撮影画像における理想座標から前記撮影画像における実座標を算出することを特徴とする請求項１又は２のいずれかに記載の画像処理装置。
【請求項４】
コンピュータ装置を制御して、請求項１から請求項３のいずれか一項に記載された画像処理装置の各手段として機能させることを特徴とするコンピュータが読み取り可能なプログラム。
【請求項５】
歪曲特性および周辺光量落ち特性を有する撮像部の撮影画像から、仮想カメラの歪曲特性および周辺光落ち特性に応じた仮想視点の画像を生成する画像処理方法であって、
前記仮想視点画像の注目画素の該仮想視点画像における座標に対して、前記仮想カメラの歪曲特性に応じた歪曲補正を行うことにより、該仮想視点画像における歪曲補正後の座標を算出する第１算出工程と、
前記仮想視点画像における歪曲補正後の座標から前記撮影画像における理想座標を算出する第２算出工程と、
前記撮像部の歪曲特性に応じて前記撮影画像における理想座標から前記撮影画像における実座標を算出する第３算出工程と、
前記実座標と前記撮影画像とに基づき、前記仮想視点画像における座標の画素値を算出する第４算出工程と、
前記撮像部の周辺光量落ち特性および前記仮想カメラの周辺光量落ち特性とに基づき前記実座標に対応する画素値を補正する補正手段と、
前記実座標が前記撮影画像の外である前記仮想視点画像の領域に、予め保持されているテクスチャ画像を合成する合成工程とを有することを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、歪曲特性および周辺光量落ち特性を有する撮像部の撮影画像から、仮想カメラの歪曲特性および周辺光落ち特性に応じた仮想視点の画像を生成するものに関する。
【背景技術】
【０００２】
複数台のカメラで同一シーンを撮影し、移動する仮想視点から見た映像（自由視点画像）を表現するシステムが提案されている（例えば、特許文献１）。このようなシステムの最も単純な実現方法は、複数のカメラを設置し、各カメラの映像を切り替えながら連続再生する方法である。このような画像再生装置においては、特許文献１で提案されているように、異なるカメラ間の明るさや色味を調整し、滑らかな映像再生を行うことが考えられる。また、実際のカメラで撮影した映像だけでなく、カメラとカメラの間に仮想カメラを想定して仮想視点映像を生成し、この映像も用いて連続性を高める画像処理なども考えられる（例えば、特許文献２）。また任意視点映像を生成するために、複数のカメラの映像から、被写体の距離情報を取得してレンダリングする手法が広く知られている。仮想視点映像を生成する際、仮想視点映像と実カメラ映像に写る点の対応を幾何学的に計算するため、実カメラ映像に存在する歪曲収差などは補正される。そして、仮想視点映像は、ピンホールカメラのように幾何学的な射影変換により、歪曲の無い映像が作成される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−０８８２４７号公報
【特許文献２】特開２００８−２１７２４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ピンホールカメラを模した射影変換による歪曲の無い映像では、映像周辺部での物体の変形が、実カメラで撮影する映像よりも大きくなる。このため、違和感のある映像となってしまう。また、被写体の距離情報の取得に失敗すると、仮想視点映像の生成にも失敗するため、安定した映像を出すのは困難である。
【０００５】
本発明は、現実のカメラで撮影した画像に近い仮想視点の画像を生成することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る画像処理装置は、歪曲特性および周辺光量落ち特性を有する撮像部の撮影画像から、仮想カメラの歪曲特性および周辺光落ち特性に応じた仮想視点の画像を生成する画像処理装置であって、前記仮想視点画像の注目画素の該仮想視点画像における座標に対して、前記仮想カメラの歪曲特性に応じた歪曲補正を行うことにより、該仮想視点画像における歪曲補正後の座標を算出する第１算出手段と、前記仮想視点画像における歪曲補正後の座標から前記撮影画像における理想座標を算出する第２算出手段と、前記撮像部の歪曲特性に応じて前記撮影画像における理想座標から前記撮影画像における実座標を算出する第３算出手段と、前記実座標と前記撮影画像とに基づき、前記仮想視点画像における座標の画素値を算出する第４算出手段と、前記撮像部の周辺光量落ち特性および前記仮想カメラの周辺光量落ち特性とに基づき前記実座標に対応する画素値を補正する補正手段と、前記実座標が前記撮影画像の外である前記仮想視点画像の領域に、予め保持されているテクスチャ画像を合成する合成手段とを有する。
【発明の効果】
【０００７】
本発明によれば、現実のカメラで撮影した画像に近い仮想視点の画像を生成することができる。
【図面の簡単な説明】
【０００８】
【図１】実施例１による画像再生装置の概念図である。
【図２】実施例１のシステム構成を表す図である。
【図３】キャプチャＰＣでの処理の概要を示す図である。
【図４】キャプチャＰＣから画像処理ＰＣへ送信する画像データのデータ形式を示す図である。
【図５】キャプチャＰＣの処理の流れを示すフローチャートである。
【図６】シナリオデータ、および上映コントロール情報の例である。
【図７】キャプチャＰＣ上で実行される送信処理の流れを示すフローチャートである。
【図８】画像処理ＰＣでの処理の概要を示す図である。
【図９】画像処理ＰＣでの処理の流れを示すフローチャートである。
【図１０】画像処理ＰＣから画像表示ＰＣへの送信データ形式を示す図である。
【図１１】画像表示ＰＣでの処理の概要を示す図である。
【図１２】通常上映処理の流れを示すフローチャートである。
【図１３】バックアップ上映処理の流れを示すフローチャートである。
【図１４】カメラやＰＣの有効判定処理の流れを示すフローチャートである。
【図１５】アラート表示ダイアログの例である。
【図１６】仮想視点映像生成処理で用いるパラメータを説明する図である。
【図１７】仮想視点映像生成処理の流れを示すフローチャートである。
【図１８】カバー率を説明する図である。
【図１９】カメラ選択処理の流れを示すフローチャートである。
【図２０】カメラの選択処理１の流れを示すフローチャートである。
【図２１】カメラの選択処理２の流れを示すフローチャートである。
【図２２】カメラの再選択処理の流れを示すフローチャートである。
【図２３】実施例２におけるキャプチャＰＣでの処理の概要を示す図である。
【図２４】実施例２における送信領域を説明する図である。
【図２５】実施例２におけるキャプチャＰＣから画像処理ＰＣへ送信するデータのデータ形式を示す図である。
【発明を実施するための形態】
【０００９】
〔実施例１〕
【００１０】
本実施例は、固定された複数のカメラ（撮像部）を用いて予め定められたシナリオ（例えば、図６（ａ））に沿って移動する仮想視点映像を生成し、これをリアルタイム上映する画像再生装置である。図１は、本実施例の概念図である。図１（ａ）に示したように、本実施例における固定カメラは仮想視点の移動ルートに沿ってカメラの撮影領域が重複するように配置される。図１（ａ）において、１０１は撮影用カメラ、１０２は床面であり、カメラは図示しない金属製の枠によって宙吊りの状態で固定されている。
【００１１】
仮想視点は、図１中に示したように、床１０２をｘ−ｙ平面上に含み、高さ方向をｚ軸とする座標系上で設定される。
【００１２】
本実施例におけるシナリオデータには、上映時間中の各フレームについて、仮想視点の位置、方向および姿勢を表現するための仮想視点座標、仮想視点方向および仮想視点上方向ベクトルが記述されている。仮想視点座標と仮想視点方向は、この座標系における仮想視点の位置と向きである。仮想視点上方向ベクトルとは、仮想視点の向きに対して視界がどの程度傾いているかを指定するためパラメータであり、仮想視点方向と仮想視点上方向ベクトルは直交する。これに画角を加えることで、仮想視点からの視界を表現することが出来る。
【００１３】
本実施例では、さらにレンズ効果パラメータ（歪曲強度α、周辺光量落ち強度β）を加えることで、固定された複数のカメラの映像から、あたかも実際にカメラを移動しながら撮影したかのような自然な映像を生成する。また、仮想視点映像生成処理で用いるパラメータである、基準面の高さを保持する。基準面の高さ情報は、使用カメラの切り替え時の滑らかさに影響する。例えば本実施例において、ほぼ無人の状態の場合、基準面を床に取るのが望ましいが、撮影領域に多数の人が居る場合には、平均身長程度の高さに基準面を取った方が滑らかな映像になる。
【００１４】
シナリオデータに基準面の高さ情報を保持することで、被写体の状態に応じて基準面の高さを変更することが可能になる。基準面の高さの変更は、各カメラによる撮影画像から自動生成しても良いし、マニュアル指定しても良い。
【００１５】
また図１（ｂ）は図１（ａ）を２次元平面に投影したものであり、シーンに複数の人がいる場合を想定したものである。図１（ｂ）において、１０４は被写体となる人を表している。１０５は仮想的な視点を表している。
【００１６】
図２は、本実施例を実現するためのシステム図である。本システムは、管理サーバＰＣ２０１によってシステム全体を管理する。システム全体を管理サーバＰＣ２０１が制御するので、このＰＣにのみコンソール画面とキーボード、マウスなどの操作デバイスが接続されている。各撮影用カメラ１０１はキャプチャ用ＰＣ２０２にＨＤ−ＳＤＩ（Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ  Ｓｅｒｉａｌ  Ｄｉｇｉｔａｌ  Ｉｎｔｅｒｆａｃｅ）ケーブルで接続され、映像はキャプチャＰＣ２０２を介して画像処理ＰＣに送信される。例えば本実施例ではカメラの出力解像度はフルＨＤ解像度（１９２０×１０８０画素、秒３０コマ）であり、非常にデータ量が大きい。そのため、全てのカメラの映像を一斉に送信すると、通信経路の帯域を使い切ってしまうという問題が発生する。そこで、予め定められたシナリオを現在使用可能なカメラやＰＣを用いて再現するための上映コントロール情報（図６（ｂ）および（ｃ））を生成し、これに従って映像データの伝送を制御。上映コントロール情報には、上映開始時刻から終了時刻までの各フレームについて、カメラの映像と処理するＰＣの対応関係を記載する。例えば本実施例では、上映コントロール情報のうち、カメラ制御情報（図６（ｂ））の値は、０は映像データの送信が不要、１は映像データの送信、２はヘッダ情報のみの送信を意味する。また、ＰＣ制御情報（図６（ｃ））の値は、１が対応するＰＣを使用し、０は使用しないことを意味する。図６中に示したように、上映コントロール情報に含まれる時刻は、上映開始時刻を０：００：００．００ｆに対する相対時刻を示す。
【００１７】
画像処理ＰＣ２０３はキャプチャＰＣ２０２から送信された画像データを受信・加工して画像表示ＰＣ２０４へ送信する。画像表示ＰＣ２０４は、画像処理ＰＣ２０３から送信された映像を受信してバッファリングし、管理サーバＰＣ２０１から指定されたタイミングでバッファリングした映像を表示するために出力する。各ＰＣはネットワークＨＵＢ２０５によってＬＡＮ接続されており、データの送受信はＴＣＰ／ＩＰを用いて行う。各ＰＣの機能の詳細は後述する。また、撮影用カメラ１０１は全て、同期を取る必要があるので、同期信号（ジェネロック、ＧｅｎＬｏｃｋ）が供給されている。
【００１８】
以下、フローチャートを用いて説明する機能は、各ＰＣのＲＯＭなどの記録媒体に記録されているプログラムコードをコンピュータ（プロセッサー）が読み出すことにより実現する。なお、全ての機能をプログラムに基づきコンピュータが行わずに、特定の機能を回路を用いて実現しても構わない。
【００１９】
＜キャプチャＰＣ＞
キャプチャＰＣ２０２は、カメラからの映像をキャプチャし、画像処理ＰＣ２０３へ伝送する。図３は、キャプチャＰＣ２０２が実行する処理の概要を示す図である。送信経路の帯域の問題で受信したデータを遅延無く送ることができない場合があるので、予め指定された秒数分だけバッファリングする機能を有する。また、画像処理ＰＣ２０３で適用する仮想視点映像生成処理には、撮影時のレンズ特性データが必要となる。しかしながら、レンズ特性データはカメラの撮影時設定（例えば、ｆ値、画角、撮影距離）によって変化することが知られているので、キャプチャＰＣは撮影時設定に応じたレンズ補正データをレンズ補正値データベースから取得する手段を備える。取得したレンズ補正データは、画像データに付加して送信する（図４）。レンズ補正データには、歪曲、周辺光量、倍率色収差などの様々な補正データが考えられるが、説明を簡単にするため本実施例では歪曲と周辺光量の補正データを格納するものとする。また、仮想視点映像を生成するためには、撮影用カメラ１０１の位置、方向、姿勢や画角などの情報が必要となる。そこで、画像データにこれらの情報も付加する。
【００２０】
データの送信処理は前述のようにＴＣＰ／ＩＰで行う。データを送信する度に画像処理ＰＣ２０３と再接続するのは効率が良くないので、送信処理を行うスレッドを画像処理ＰＣ台数分用意して対応する。図５は、送信処理のフローチャートである。送信処理スレッドの他に、カメラから映像を受け取りヘッダやレンズ補正データを付加して送信用データを作成する送信データ生成スレッド、および送信処理スレッドの管理を行う管理スレッドがある。送信データ生成スレッドはまず管理スレッドに対してどの送信処理スレッドを使用するかを確認する（ステップＳ５０１）。管理スレッドは、後述する管理サーバＰＣから受け取った上映コントロール情報に従って送信先の画像処理ＰＣ２０３を選択し、選択した画像処理ＰＣ２０３に接続された送信処理スレッドを送信データ生成スレッドに通知する（ステップＳ５０２）。
【００２１】
送信データ生成スレッドは、まず管理スレッドから指示されたスレッドの送信バッファ内の送信データ領域を取得する（ステップＳ５０３）。次に、取得した送信データ領域にキャプチャした映像から生成した送信データを出力し（ステップＳ５０４）、管理スレッドにデータ出力完了を通知する（ステップＳ５０５）。管理スレッドはデータ出力完了通知を受け取ったデータを送信キューに追加して、図７に示す送信処理を実行する（ステップＳ５０６）。
【００２２】
図７は、送信処理の流れを示すフローチャートである。まず、管理スレッドは自身が備える送信キューの先頭のデータを確認する（ステップＳ７０１）。送信キューが空の場合には、ステップＳ５０５で通知される送信データ生成スレッドからの通知が来るまで待機状態となる。送信キューが空でない場合には、そのデータが有効かどうかを判定する（ステップＳ７０２）。この判定は、対象データのヘッダ情報に保存されているキャプチャ時刻Ｔ０と、上映コントロール情報内の該対象データに対応する上映開始時間Ｔ１との差が予め定められた時間ＴＬを超えていない場合は有効と判定し、超えた場合は有効で無いと判定する。有効で無いと判定された場合には送信処理をスキップしステップＳ７０１に戻る。一方、有効であると判定された場合は送信処理スレッドに送信指示を出し（ステップＳ７０３）、送信処理を実行する。送信指示を出す送信スレッドは、上映コントロール情報に含まれるＰＣ制御情報に基づいて選択する。送信指示を受け取った送信処理スレッドは、管理スレッドに送信開始を通知し送信を開始する（ステップＳ７０４）。送信が終わったら、送信処理スレッドは管理スレッドに送信完了を通知して待機状態に戻る（ステップＳ７０５）。送信完了が通知された管理スレッドは、キャプチャ処理の終了指示が出ていない場合はステップＳ７０１に戻る。一方、キャプチャ処理の終了指示が出ている場合は送信処理を終了する（ステップＳ７０６）。
【００２３】
送信する画像データは、設定ファイルによって圧縮するかどうかを指定できる。図４中の画像データタイプは、圧縮する場合には１、しない場合には０が指定される。また、ヘッダだけを送信する場合には２が指定される。映像データの圧縮はフレーム単位で行う必要がある。通常は圧縮形式にＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）形式を用いることが多いが、本実施例では、ＤＸＴＣ（ＤｉｒｅｃｔＸ  Ｔｅｘｔｕｒｅ  Ｃｏｍｐｒｅｓｓｉｏｎ）を用いる。ＤＸＴＣはＧＰＵの利用により非常に高速に画像データを圧縮できるので、本実施例のようにリアルタイム性が重視される場合には有効な方式である。
【００２４】
なお、送信データ生成スレッドはカメラからの映像をキャプチャする際、キャプチャエラーが発生した割合をカウントし、後述する管理サーバＰＣからの有効判定応答時に状態を返せるようにする。キャプチャエラーは、例えばカメラとキャプチャＰＣとの距離が長く（例えば、１００ｍ超）、映像が秒３０コマ正しく取得できない、などで発生する可能性がある。例えば本実施例では、キャプチャエラーによって取得できなかったフレーム数が、キャプチャ対象フレーム数の１０％を超えた時点で、「キャプチャエラーが多い」と判定する。
【００２５】
＜画像処理ＰＣ＞
画像処理ＰＣ２０３は、キャプチャＰＣ２０２から受信した映像を加工し、画像表示ＰＣ２０４へ送信する。図８は、画像処理ＰＣ内の処理の概要を示す図である。キャプチャＰＣと同様に、全てのキャプチャＰＣと接続した状態を維持するため、キャプチャＰＣ台数分のデータ受信スレッドを起動する。
【００２６】
図９は、画像処理ＰＣ２０３で行われる処理の流れを示すフローチャートである。まず、受信処理スレッドは、受信したデータに対して画像データタイプに応じた処理を適用し（ステップＳ９０１、ステップＳ９０２）、受信バッファに格納する（ステップＳ９０３）。本実施例では、画像データタイプに応じた処理として、画像データタイプが１の場合、圧縮データの解凍処理を適用して非圧縮データ（画像データタイプ＝０）に変換する。受信処理スレッドは、受信したデータを受信バッファに格納した後、管理スレッドにデータ受信完了を通知する（ステップＳ９０４）。
【００２７】
次に管理スレッドは、上映コントロール情報に従って画像を選択し（ステップＳ９０５）、仮想視点映像再生処理スレッドに映像生成指示を出す（ステップＳ９０６）。ただし、映像生成指示後、仮想視点映像生成スレッドからデータ出力完了通知を受け取っていない場合には、これを受信するまで映像生成指示をブロックする。これは、同時に複数の仮想視点映像生成処理を実行すると、既に実行中の映像生成処理のスループットが低下してしまい、リアルタイム再生が出来なくなる可能性が高くなるからである。
【００２８】
映像生成指示を受けた仮想視点映像生成スレッドは、管理スレッドによって選択された映像と上映時刻を用いて、シナリオに沿った画像を生成する（ステップＳ９０７）。仮想視点映像生成処理の詳細については後述する。仮想視点映像生成スレッドは、生成した映像を送信バッファに出力した後（ステップＳ９０８）、管理スレッドと送信処理スレッドにデータ出力完了を通知する（ステップＳ９０９）。
【００２９】
送信処理スレッドは、データ出力完了通知を受け、生成した仮想視点映像データを画像表示ＰＣ２０４へ送信する（ステップＳ９１０）。送信する映像データには、図１０に示すようにキャプチャ時刻、および画像解像度をヘッダとして付加する。
【００３０】
送信スレッドは、キャプチャ処理の終了指示が出ていない場合はステップＳ９０１に戻る。一方、キャプチャ処理の終了指示が出ている場合は送信処理を終了する（ステップＳ９１１）。
【００３１】
＜画像表示ＰＣ＞
画像表示ＰＣ２０４は、次の機能を持つ。
【００３２】
（ａ）画像処理ＰＣから受信したデータの再生（通常上映）
（ｂ）バックアップ映像の上映（バックアップ上映）
図１１は、画像表示ＰＣ内２０４の処理の概要を示す図である。画像表示ＰＣ２０４は、画像処理ＰＣ２０３と同様に、各画像処理ＰＣ２０３に対応する受信スレッドを持ち、受信したデータをバッファリングする。本ＰＣには大容量のメモリを搭載し、上映対象となる全ての映像をバッファリングできるようにする。これは、バックアップ映像を生成するために必要である。
【００３３】
図１２は、通常上映処理の流れを示すフローチャートである。まず、受信処理スレッドは、画像処理ＰＣ２０３から映像を受信し、受信バッファに格納する（ステップＳ１２０１）。映像１フレーム分の受信が完了する度に、管理スレッドにデータ受信完了通知を送信する（ステップＳ１２０２）。管理スレッドは、データ受信完了通知を受信したら受信映像管理領域内の受信映像管理情報を更新する（ステップＳ１２０３）。ここで受信映像管理情報は、受信した映像データのキャプチャ時刻および受信処理スレッドの識別ＩＤである。管理スレッドは、上映開始時刻まで待機し（ステップＳ１２０４）、上映開始時刻から上映終了時刻までの間、上映管理処理を行う。上映管理処理では、再生対象となる映像（フレーム）データを受信バッファ内から選択し（ステップＳ１２０５）、画像表示スレッドに通知する（ステップＳ１２０６）。映像データの選択は、受信映像管理領域内の各映像データのキャプチャ時刻や受信処理スレッドの識別ＩＤを利用して行う。ここで、上映コントロール情報は上映開始時刻を基準とした相対時刻で記述されているため、キャプチャ開始時刻を用いて再生対象となるキャプチャ時刻を計算し、この時刻に対応した画像を得る。
【００３４】
画像表示スレッドは、指定された映像データを表示する（ステップＳ１２０７）。以後、全てのフレームについて再生処理を適用し（ステップＳ１２０８）、全てのフレーム画像の表示後、管理スレッドは終了処理を実行する。ここで、処理の遅延などで対応する映像データが存在しない場合には表示を更新せず、直前に表示した映像をそのまま表示した状態にする。このような処理により、フレームの欠落により上映時間が極端に短くなったり上映した映像が不自然になったりすることを回避できる。
【００３５】
本実施例における終了処理は、全てのフレームデータをファイルに格納する処理である（ステップＳ１２０９）。このファイルは、バックアップ映像として使用する。複数回上映する場合には、上映した全ての映像を保存しても良いし、フレームの欠落が無い場合だけ保存しても良い。
【００３６】
ここで、複数のカメラやＰＣの故障によって、正常に上映できない場合が考えられる。このような場合には、後述する管理サーバＰＣ上での判定処理によりバックアップ上映への切り替えを行う。本実施例では、バックアップ上映する映像として、通常上映の結果保存されたファイルのうち最新のものを用いる。予め指定したファイルを上映しても良いことは言うまでも無い。バックアップ上映の流れを示すフローチャートを図１３に示す。バックアップ上映では、受信処理を行う代わりにバックアップ映像データをメモリ上に読み込む（ステップＳ１３０１）。その後の処理（ステップＳ１３０２からＳ１３０８）は通常上映の処理（ステップＳ１２０２からＳ１２０８）と同様の処理を実行する。なお、バックアップ上映の場合には、上映データのファイル出力は行わない。
【００３７】
＜管理サーバＰＣ＞
管理サーバＰＣ２０１は、システム全体を管理する。具体的には、次のような機能を持つ。
【００３８】
（ａ）システムを構成するＰＣやカメラの有効判定
（ｂ）各ＰＣにおける映像バッファリング時間の変更
（ｃ）ａ、ｂに基づいた上映コントロール情報の生成
（ｄ）シナリオデータ、上映コントロール情報の配布
（ｅ）キャプチャＰＣ、画像処理ＰＣの設定ファイルの配布
ここで、ＰＣやカメラの有効判定処理について説明する。図１４は、有効判定処理の流れを示すフローチャートである。まず、画像表示ＰＣに対して問い合わせを行い（ステップＳ１４０１）、予め定めた時間ＴＡ以内に応答が返ってくるかどうかを確認する（ステップＳ１４０２）。ここで、画像表示ＰＣ、画像処理ＰＣは、問い合わせに対して０を返す。キャプチャＰＣは、カメラが認識できない場合は１、カメラは認識できるがキャプチャエラーが多く発生した場合は２、それ以外は０を返す。
【００３９】
画像表示ＰＣから応答がない場合、上映できなくなるので、図１５（ａ）に示すアラート表示を行い、機材の交換を促して処理を終了する（ステップＳ１４０３）。画像表示ＰＣから応答があった場合は、画像表示ＰＣには問題が無いので、続いて、各画像処理ＰＣに対して問い合わせを行い（ステップＳ１４０４）、予め定めた時間ＴＡ以内に応答が返ってくるかどうかを確認する（ステップＳ１４０５）。ここで、１台でも応答が無い画像処理ＰＣがあった場合には、図１５（ｂ）に示すアラート表示を行う（ステップＳ１４１０）。さらに、画像表示ＰＣに対してバックアップ映像の上映を指示し（ステップＳ１４１１）、処理を終了する。画像処理ＰＣにも問題が無い場合、続いて、キャプチャＰＣに対して問い合わせを行う（ステップＳ１４０６）。キャプチャＰＣが応答不能、あるいは返された値に０以外の値（１又は２）が存在する場合は、後述するカメラ選択処理を実行する（ステップＳ１４０８）。カメラ選択処理は、使用不能なカメラを除いたカメラを用いて、シナリオに沿った上映をするための上映コントロール情報を生成する処理である。カメラ選択処理の詳細については後述する。なお、画像処理ＰＣで実行する仮想視点映像生成処理の処理時間が画像表示ＰＣでフレームを再生する間隔（例えば、秒３０コマ表示の場合、１／３０秒）よりも長い場合、リアルタイム再生できなくなってしまう。そこで本実施形態では、画像処理ＰＣを複数台用意してインターリーブすることで対応する。例えば画像処理ＰＣを１０台用意した場合、仮想視点映像生成処理は１／３秒未満で処理すれば良い。
【００４０】
カメラ選択処理でエラーが発生した場合には、図１５（ｃ）のようなアラート表示（ステップＳ１４１０）を行った上で、画像表示ＰＣに対してバックアップ映像の上映を指示し（ステップＳ１４１１）、処理を終了する。
【００４１】
本実施例では、上映システムを構成する全てのＰＣで実行するアプリの設定ファイルは、各ＰＣ上に公開された共有フォルダに配置する。したがって、管理サーバから各ＰＣの共有フォルダにアクセスすることで、設定を変更することができる。例えば、各ＰＣにおける映像バッファリング時間や、画像表示ＰＣでのバックアップ上映指示などは、このような手段によって行う。
【００４２】
＜仮想視点映像生成処理＞
本実施例における仮想視点映像生成処理では、ある高さ一定の面を基準面として、この基準面にある物体が、カメラ切り替え時にスムーズに接続されるように映像を生成する。この仮想視点映像生成処理では、以下に挙げる映像補正、変換、映像効果付加を一貫して行う。
【００４３】
（１）カメラ映像の歪曲、および、倍率色収差補正
（２）周辺光量落ち補正
（３）仮想視点映像とカメラ映像の間に生ずるパース変換
（４）仮想視点映像に対する周辺光量落ち効果の付加
（５）歪曲効果の付加
本実施例では、歪曲特性および周辺光量落ち特性を有するカメラの撮影画像から、仮想カメラの歪曲特性および周辺光落ち特性に応じた仮想視点の画像を生成する。本実施例の仮想視点映像生成処理は、上記操作を一貫して行うため効率が良く、リアルタイム性が求められる本実施例の画像処理装置に適している。
【００４４】
図１７は仮想視点映像生成処理を示すフローチャートである。以下、仮想視点映像生成処理の詳細について説明する。
【００４５】
まず、仮想カメラの物理的な位置を
【００４６】
【数１】
0005570284.tif 000002
【００４７】
仮想カメラの方向を
【００４８】
【数２】
0005570284.tif 000003
【００４９】
仮想カメラの画面上方向を指すベクトルを
【００５０】
【数３】
0005570284.tif 000004
【００５１】
仮想カメラの画面右方向を指すベクトルを
【００５２】
【数４】
0005570284.tif 000005
【００５３】
とする（図１６（ａ）、図１６（ｂ）に図示する）。
【００５４】
【数５】
0005570284.tif 000006
【００５５】
【数６】
0005570284.tif 000007
【００５６】
【数７】
0005570284.tif 000008
【００５７】
は方向を表すだけのベクトルであるため、長さは１とする。これらのベクトルを表す座標系には、前述の、床面をｘ−ｙ平面として、高さ方向をｚ軸とする座標系を用いる。仮想カメラの水平半画角、および、垂直半画角をそれぞれθh,out、θv,outとする。
仮想視点映像生成処理は、仮想視点映像の画素毎に処理を進めていく。ここで、画素値を決定しようとしている注目画素の座標を
【００５８】
【数８】
0005570284.tif 000009
【００５９】
とする。まず、仮想視点映像に仮想カメラに対して設定された歪曲特性（歪曲効果）を反映させるため、ステップＳ１７０１において注目画素の座標に対して歪曲効果の逆変換（歪曲補正）を行い、仮想視点映像の歪曲補正後の画素座標
【００６０】
【数９】
0005570284.tif 000010
【００６１】
を計算する。逆変換の具体的な数式は、どのような歪曲効果を持たせるかに依存するが、例えば、以下の式（１）を用いればよい。
【００６２】
【数１０】
0005570284.tif 000011
【００６３】
ここで、
【００６４】
【数１１】
0005570284.tif 000012
【００６５】
は、任意視点映像の中心の画素位置である。αは歪曲効果の強さをコントロールするパラメータである。
【００６６】
ステップＳ１７０２において、画素
【００６７】
【数１２】
0005570284.tif 000013
【００６８】
に写り、かつ前述の基準面上にある点の、３次元空間上の位置
【００６９】
【数１３】
0005570284.tif 000014
【００７０】
を求める。以下、基準面の高さを
Zbaseとする。位置
【００７１】
【数１４】
0005570284.tif 000015
【００７２】
は、以下の式（２）〜（５）で求められる。
【００７３】
【数１５】
0005570284.tif 000016
【００７４】
【数１６】
0005570284.tif 000017
【００７５】
【数１７】
0005570284.tif 000018
【００７６】
ここで、Xp,zおよびXpixel,zは、それぞれ
【００７７】
【数１８】
0005570284.tif 000019
【００７８】
および
【００７９】
【数１９】
0005570284.tif 000020
【００８０】
のｚ成分である。
【００８１】
ステップＳ１７０３において、ｃ番目のカメラ（以下、カメラｃとする。）において、位置
【００８２】
【数２０】
0005570284.tif 000021
【００８３】
が写っている理想画素位置
【００８４】
【数２１】
0005570284.tif 000022
【００８５】
を求める。
【００８６】
実際の被写体はそれぞれ異なる高さを有しているが、本実施例では被写体の高さを基準面の高さと仮定して処理を簡略化している。
【００８７】
ここで言う理想画素位置（理想座標）とは、カメラｃの映像に歪曲や倍率色収差などの収差が無い場合の画素位置である。理想画素位置
【００８８】
【数２２】
0005570284.tif 000023
【００８９】
は以下の式（６）〜（９）により求められる。
【００９０】
【数２３】
0005570284.tif 000024
【００９１】
【数２４】
0005570284.tif 000025
【００９２】
【数２５】
0005570284.tif 000026
【００９３】
【数２６】
0005570284.tif 000027
【００９４】
ここで、式（６）のXp,c,x、Xp,c,y、Xp,c,zは、それぞれ
【００９５】
【数２７】
0005570284.tif 000028
【００９６】
のｘ、ｙ、ｚ成分であり、θh,c、θv,cはカメラｃの水平半画角と垂直半画角である。式（８）の
【００９７】
【数２８】
0005570284.tif 000029
【００９８】
はカメラｃの位置である。また、式（９）の
【００９９】
【数２９】
0005570284.tif 000030
【０１００】
【数３０】
0005570284.tif 000031
【０１０１】
【数３１】
0005570284.tif 000032
【０１０２】
は、それぞれカメラｃの映像の上方向、右方向、および、カメラｃの向きを表す方向ベクトルである。これらのベクトルの長さは１とする。これら一連の操作は、ビュー変換、射影変換、スクリーン変換と一般に呼ばれる、３つの変換操作をまとめた操作である。
【０１０３】
ステップＳ１７０４において、カメラｃの歪曲および倍率色収差を考慮して、理想画素位置
【０１０４】
【数３２】
0005570284.tif 000033
【０１０５】
を、各色毎に、実際の画素位置（実座標）
【０１０６】
【数３３】
0005570284.tif 000034
【０１０７】
に変換する。ここで、ｉは、色のインデックスを表す。この操作は、形式上、以下の式（１０）で表すことができる。
【０１０８】
【数３４】
0005570284.tif 000035
【０１０９】
この変換の具体的な形は、使用するカメラｃの光学系に依存するもので、一般には、この変換は簡単な関数では表現できない。このため、実測値に基づいて、テーブル参照によってこの変換を行う。
【０１１０】
ステップＳ１７０５において、カメラｃの、画素位置
【０１１１】
【数３５】
0005570284.tif 000036
【０１１２】
での画素値Ip,c,iを求める。画素位置
【０１１３】
【数３６】
0005570284.tif 000037
【０１１４】
は小数部を有するので、バイキュービック補間などを用いて、周辺画素から補間した画素値を取得する。
【０１１５】
ステップＳ１７０６において、カメラｃの周辺光量落ちを補正しつつ、仮想視点映像に周辺光量落ちの効果を付加するためのファクターDp,c,iを計算する。このファクターは、以下の式（１１）のように、仮想視点映像の光量落ち効果の量（仮想カメラの周辺光落ち特性に応じた補正量）Cpと、画素位置
【０１１６】
【数３７】
0005570284.tif 000038
【０１１７】
におけるカメラｃの周辺光量落ちの補正量（カメラｃの周辺光量落ち特性に応じた補正量）Cp,c,iの比として定義する。
【０１１８】
【数３８】
0005570284.tif 000039
【０１１９】
カメラｃの周辺光量落ちの補正量Cp,c,iは、歪曲補正と同様、一般には簡単な関数では表現できない。このため、実測値に基づいて補正テーブルを作成して、テーブル参照によって補正を行う。これを形式的に以下の式（１２）で表す。
【０１２０】
【数３９】
0005570284.tif 000040
【０１２１】
上式のように、周辺光量落ちの画素値依存性をも考慮した補正を行う。
【０１２２】
仮想視点映像に付加する周辺光量落ちの効果は、例えば、以下の式（１３）を用いる。
【０１２３】
【数４０】
0005570284.tif 000041
【０１２４】
そして、仮想視点映像の画素値Iout,iを式（１４）にて計算する。ここでβは、周辺光量落ちの強度をコントロールするパラメータである。
Iout,i＝Dp,c,i・Ip,c,i
ステップＳ１７０６までの処理により、仮想視点映像の画素位置
【０１２５】
【数４１】
0005570284.tif 000042
【０１２６】
における、色ｉでの画素値Iout,iが決定される。仮想視点映像の全ての画素が処理されるまで、ステップＳ１７０１〜ステップＳ１７０７を繰り返す（ステップＳ１７０７）。
【０１２７】
ステップＳ１７０４で算出された画素位置が撮影画像の領域外の座標になる場合がある。これは、後述するカバー率が１００％でない場合に生じる。そこで、ステップＳ１７０８において、算出された画素位置が撮影画像の領域外の部分については、所定画像を表示して対応する。本実施例では、予め用意した床面１０２の画像（テクスチャ画像）を仮想視点に応じてパース変換して合成する。撮影画像の外を参照した場合の画素値を、パース変換後のテクスチャ画像の画素値とすることで違和感の無い出力画像を得ることが可能になる。
【０１２８】
以上の処理により、仮想視点映像を生成することができる。
【０１２９】
なお、本実施例では、仮想視点画像をカメラにより撮影された画像らしくするために、仮想視点映像に対して仮想カメラに対して設定された歪曲特性および周辺光量落ち特性の両方を反映させた。しかしながら、仮想視点映像に対して仮想カメラに対して設定された歪曲特性に応じた処理および周辺光量落ち特性に応じた処理のそれぞれについて実行の可否をユーザ指示に応じて切り替えられるようにしても構わない。
【０１３０】
＜カメラ選択処理＞
カメラ選択処理は、正常に動作している撮影用カメラに関するカバー率に基づいて実行する。図１８は、カバー率を示す図である。カバー率とは、仮想視点映像生成処理によって得る出力画像に対し、カメラによる撮影画像が含まれる割合である。したがって、カバー率の算出は、対象フレームの基準面の高さに基づいて行う。図１８（ａ）は出力画像全ての画素が、撮影画像の画素により得られており、カバー率は１００％となる。一方図１８（ｂ）は出力画像の一部の領域が撮影範囲の外を参照しており、カバー率は１００％未満となる。
【０１３１】
図１９は、カメラ選択処理の流れを示すフローチャートである。まず、撮影用カメラとキャプチャＰＣの組み合わせが正常に動作している、使用可能なカメラのリストである有効カメラリストを取得する（ステップＳ１９０１）。有効カメラリストは、図１４を用いて説明したＰＣやカメラの有効判定処理の過程で得ることができる。次に、図６（ａ）に示すシナリオに記載されている上映開始時刻から上映終了時刻までの各フレームの仮想視点情報に基づき、有効カメラリストに登録されている各カメラのカバー率を算出する（ステップＳ１９０２）。このカバー率が１００％のカメラについて、選択処理１を実行する（ステップＳ１９０３）。そして、選択処理１によりカメラが選択されたか否かを決定する（ステップＳ１９０４）。選択処理１によってカメラが選択されなかった場合、選択処理モード設定に応じて選択処理２を実行する（ステップＳ１９０５、ステップＳ１９０６）。選択処理モード設定とは、カバー率１００％でないカメラを選択対象とするかどうかの設定で、選択対象とする場合には閾値Ｔｘ（％）を指定する。選択処理１、選択処理２の詳細については後述する。選択処理２でもカメラが選択されなかった場合には、エラーを通知して処理を終了する（ステップＳ１９１１）。
【０１３２】
全てのフレームに対してカメラが選択できた場合、各フレームと選択されたカメラの対応関係に基づきカメラの再選択処理を実行する（ステップＳ１９０９）。例えば、１フレーム分の映像データの送信処理が１／３０秒以内に終わらない場合、特定のキャプチャＰＣからの送信処理が長時間連続するとリアルタイム上映できなくなってしまう。また、選択カメラが頻繁に切り替わるとフレーム間の画質も合わせて変化してしまい、上映する映像のちらつきとなって現れてしまう。したがって、できるだけカメラの切り替え頻度を少なくしながらも、その上で特定カメラにリクエストが長時間継続しないようにする必要がある。再選択処理の詳細については後述する。再選択処理でエラーが発生した場合には、エラーを通知して処理を終了する（ステップＳ１９１１）。なお、カメラ選択処理でエラーを通知した場合には通常上映では適切な画質が得られないと判断し、自動的にバックアップ上映に切り替わる（ステップＳ１４１１）。
【０１３３】
図２０は、図１９中の選択処理１の流れを示すフローチャートである。まず、注目フレームｆにおける注視点Ｐｆの物理座標と、図６（ａ）に示すシナリオに記載されている注目フレームｆにおける仮想カメラの仮想視点から注視点ＰｆまでのベクトルＶｆを算出する（ステップＳ２００１、ステップＳ２００２）。また、内積最大値Ｉｍａｘを０に初期化しておく（ステップＳ２００３）。
【０１３４】
次に、有効カメラリストに登録されているカメラのうち、カバー率が１００％のカメラを検出し（ステップＳ２００４）、カバー率が１００％のカメラに対して以下の処理を実行する。まず、カメラｃから注視点Ｐｆまでの単位方向ベクトルＶｃを計算する（ステップＳ２００５）。ベクトルＶｃとベクトルＶｆの内積を計算する（ステップＳ２００６）。そして、内積が最大となるカメラｃを選択する（ステップＳ２００７〜Ｓ２００９）。つまり、注目フレームｆの仮想視点の位置姿勢と視点の位置姿勢が近いカメラを選択する。
【０１３５】
このように、選択処理１では、カバー率が所定の割合（本実施例では１００％）より大きいカメラの中から、フレームの仮想視点情報と複数のカメラの視点情報との位置関係に基づき最適なカメラを選択する。
【０１３６】
図２１は、図１９中の選択処理２の流れを示すフローチャートである。図２０のフローチャートと同一の処理については、同一の番号をつけ、説明を割愛する。選択処理２は、カバー率がＴｘ（％）以上のカメラを検出し、検出されたカメラから、仮想カメラからの視点に最も近い位置のカメラを選択する。
【０１３７】
図２２は、図１９中の再選択処理（ステップＳ１９０９）の流れを示すフローチャートである。本実施例による上映システムでは、仮想視点の移動ルートに沿ってカメラを配置している。したがって、カメラを順次切り替えて使用しながら仮想視点映像を生成することになる。
【０１３８】
まず、注目フレームで選択されているカメラをｃ＿ｓｅｌとする（ステップＳ２２０１）。次に、一つ前に選択されたカメラｃ＿ｐｒｅｖを取得する（ステップＳ２２０２）。一つ前に選択されたカメラとは、直前フレームで選択されたカメラのことではなく、注目フレームより前のフレームで選択されていたカメラであり、かつ、現在選択されているカメラよりも１つ前に選択されていたカメラのことを指す。同様に、二つ前に選択されたカメラｃ＿ｐｒｅｖ２を取得する（ステップＳ２２０３）。注目フレームのカメラが、１つ前のフレーム（直前フレーム）と同じであるか否かをチェックする（ステップＳ２２０４）。直前フレームと同じカメラが選択されているかどうかで処理が異なる。
【０１３９】
（ａ）直前フレームと同じカメラが選択されている場合
この場合は、連続選択回数を考慮したカメラ選択処理を実行する。本実施例では、連続選択回数の上限をＮとする。まず、連続選択回数がＮ回未満であれば、このカメラを選択したままとする（ステップＳ２２０５）。Ｎ回以上連続選択されている場合には、シナリオ上次に選択されることになるカメラｃ＿ｎｅｘｔで代用可能かどうかを確認する（ステップＳ２２０６）。ここで、代用可能かどうかは、カバー率に基づいて判断する。代用可能な場合、現在処理中のフレーム以降でカメラｃ＿ｓｅｌが連続選択されているフレームについて、選択カメラをｃ＿ｎｅｘｔに変更する（ステップＳ２２０７〜Ｓ２２１０）。代用可能でない場合、エラーを通知して処理を終了する（ステップＳ２２２１）。
【０１４０】
（ｂ）直前フレームと異なるカメラが選択されている場合
この場合は、カメラ切り替え頻度を考慮したカメラ選択処理を実行する。まず、選択されているカメラｃ＿ｓｅｌが、２つ前に選択されたカメラｃ＿ｐｒｅｖ２と同じかどうかを判定する（ステップＳ２２１２）。同じ場合、選択カメラがｃ＿ｓｅｌとｃ＿ｐｒｅｖが交互に切り替わっている可能性があるので、これを回避する処理を実行する。
【０１４１】
まず、直前フレームの段階でカメラｃ＿ｐｒｅｖを連続Ｍ回以上使用しているかを確認する（ステップＳ２２１３）。連続Ｍ回以上使用していない場合、カメラ切り替え頻度が高くなっている可能性があるので、ｃ＿ｓｅｌの代わりにｃ＿ｐｒｅｖが使用可能かどうかを確認する（ステップＳ２２１４）。ｃ＿ｐｒｅｖで代用可能な場合、選択カメラをｃ＿ｐｒｅｖに変更する（ステップＳ２２１５）。そうでない場合、直前のフレームに対し、ｃ＿ｐｒｅｖ２での代用を試みる（ステップＳ２２１６）。ｃ＿ｐｒｅｖ２で代用可能な場合、直前フレーム以前でｃ＿ｐｒｅｖを連続選択しているフレーム全ての選択カメラをｃ＿ｐｒｅｖ２に変更する（ステップ２２１７〜Ｓ２２２０）。
【０１４２】
以上の処理を全てのフレームに対して処理するまで繰り返す（Ｓ２２１１）。
【０１４３】
一方、ステップＳ２２１６にて、代用できないと決定された場合、エラーを通知して処理を終了する（ステップＳ２２２１）。再選択処理においてエラーを通知した場合、自動的にバックアップ上映に切り替える（ステップＳ１９１０、ステップＳ１９１１）。
【０１４４】
本実施例で述べたカメラの再選択処理では、（ｂ）の処理を適用した結果、連続選択回数がＮ回以上になる可能性がある。したがって、この処理の後で連続選択回数を確認し、（ａ）と同様の処理によってこの状態を回避しても良いことは言うまでもない。
【０１４５】
以上説明したカメラ選択処理により、撮影用カメラやキャプチャＰＣの一部に障害が発生した場合でも問題なく上映することが可能になる。特に、画質を考慮したカメラ選択処理を実行し、適切な画質が得られない場合には自動的にバックアップ上映に切り替えることで、長期間の上映に耐え得るシステムを構築することができる。
【０１４６】
本実施例の仮想視点映像生成処理では、被写体の高さを基準面の高さと仮定している。したがって、カメラが切り替わると、フレーム間にて被写体の位置が不連続に変化する可能性がある。再選択処理によれば、カメラの切り替えがすくなくなるように、注目フレームのカメラを再選択することができる。よって、滑らかな自由視点映像を生成することが可能になる。
【０１４７】
（実施例２）
実施例１では、撮影用カメラで得た画像データを全て送信していた。しかしながら、撮影用カメラの画角に対してシナリオで指定された画角が狭い場合には、画像データ全てを送信する必要は無い。そこで本実施例では、キャプチャＰＣから画像処理ＰＣへ画像データを送信する前に、撮影画像中のどの部分が必要かを判断し、必要最低限の部分のみを送信する。本実施例におけるキャプチャＰＣの処理の概要を、図２３に示す。実施例１の仮想視点映像生成処理で述べたように、シナリオデータの利用により、撮影画像データ中のどの領域が必要かを決定する（送信領域決定処理）。
【０１４８】
送信領域決定処理は、次のように実行する。仮想視点映像生成処理と同様に、撮影画像の参照画素位置を計算する。ただし、出力画像全ての画素について処理を適用するのではなく、出力画像の４辺に隣接する画素のみを対象として処理を実行する。その結果得られた参照画素のうち、水平方向の座標の最大値と最小値、垂直方向の最大値と最小値で図２４のように定義される範囲を送信領域とする。
【０１４９】
実施例１で説明したように、仮想視点映像生成処理では、撮影画像中の中心位置（光軸中心位置）が必要となる。したがって、送信する画像データが、撮影画像中のどの部分なのか（画像送信範囲）を保持する必要がある。本実施例におけるデータ形式を図２５に示す。本実施例における仮想視点映像生成処理では、この画像送信範囲を考慮して画素位置を計算するが、画素位置を画像送信範囲の左上座標分オフセットするだけで処理内容はほぼ同様なので説明を省略する。
【０１５０】
以上で説明したように、本実施例による画像再生装置を用いれば、データ送信量を適切に設定することが可能になる。その結果、ネットワークの負荷が軽減され、各ＰＣで設定するバッファリング時間を短く設定することが可能になる。このように撮影から上映までのタイムラグを低減することで、ユーザ体験の品質を向上させることが可能になる。
【図１】
0005570284.tif 000043
【図２】
0005570284.tif 000044
【図３】
0005570284.tif 000045
【図４】
0005570284.tif 000046
【図５】
0005570284.tif 000047
【図６】
0005570284.tif 000048
【図７】
0005570284.tif 000049
【図８】
0005570284.tif 000050
【図９】
0005570284.tif 000051
【図１０】
0005570284.tif 000052
【図１１】
0005570284.tif 000053
【図１２】
0005570284.tif 000054
【図１３】
0005570284.tif 000055
【図１４】
0005570284.tif 000056
【図１５】
0005570284.tif 000057
【図１６】
0005570284.tif 000058
【図１７】
0005570284.tif 000059
【図１８】
0005570284.tif 000060
【図１９】
0005570284.tif 000061
【図２０】
0005570284.tif 000062
【図２１】
0005570284.tif 000063
【図２２】
0005570284.tif 000064
【図２３】
0005570284.tif 000065
【図２４】
0005570284.tif 000066
【図２５】
0005570284.tif 000067