以下、本発明の実施形態について説明する。なお、いずれの実施形態においても、説明を簡単にするため、映像の調整は1つのパラメタのみについて実施するものとした。実際の実施に際しては、例えば、各映像投映装置のR、G、Bの各色の特性を予め揃えた上でR、G、Bのうちのいずれか1色について本発明の方法で調整を実施してもよいし、また、例えば、R、G、Bの各々の色に対してそれぞれ本発明の方法で調整を実施してもよい。その際、R、G、Bの各色成分を含む白やグレーのパターンを用いることで、実際にはR、G、Bの各色を同時に調整するようにしてもよい。
以降、各カメラの担当領域に対する画像補正パラメタを得る方法の一例として特願2006−24627に記載の技術を用いた例について説明するが、本発明の趣旨に合う方法であれば、各カメラの担当領域に対する画像補正パラメタを得る方法として他の方法を用いることを制限するものではない。
[第1の実施形態]
以下、図1〜図28を用いて、第1の実施形態について説明する。なお、それぞれの図において同じ符号は同じものを示している。
図1は、本実施形態における映像表示装置の調整システムを説明する図である。この装置では、図2で詳細に説明するように、上下方向2台、左右方向6台の合計12台の映像投映装置がスクリーンに映像を投映する装置において、上下方向2台、左右方向2台の、合計4台の映像投映装置の調整を1台の撮影装置が担当し、合計3台の映像投映装置で12台の映像投映装置を調整する。前記台数や配置、撮影装置の担当の方法はこれに限られないことはもちろんである。
図1において、映像生成装置100は、制御信号送受信部103を経由して全体制御装置110から受信した制御信号に基づいて、あらかじめ静的画像データ記憶部104に記憶しておいた画像データを、映像出力部101A〜映像出力部101Lから出力する。その際、映像出力部101A〜映像出力部101Lのすべてから同一の画像データを出力するとは限らず、それぞれの映像出力部から異なる画像データを出力する場合もある。それらの各動作に関しては、動作制御部102によって制御を行う。ここで、静的画像データ記憶部104は例えば不揮発性メモリやDVD等のデータ記録媒体として構成し、制御信号送受信部103は例えばRS−232Cインタフェースやネットワークインタフェースとして構成すればよい。
全体制御装置110は、映像出力部101A〜映像出力部101Lのそれぞれから出力された映像データを補正して出力するための映像補正装置111A〜映像補正装置111Lを備え、さらに、撮影装置140Aを制御するための撮影装置制御装置112A、撮影装置140Eを制御するための撮影装置制御装置112E、撮影装置140Iを制御するための撮影装置制御装置112I、および映像生成装置100を制御するための映像生成装置制御装置113を備える。全体制御装置110の構成については図3において、また、各映像補正装置の構成については図10においてそれぞれ詳細に説明する。
映像投映装置121A〜映像投映装置121Lは、それぞれ映像補正装置111A〜映像補正装置111Lが出力した映像データをスクリーン130に投映する。具体的には、液晶プロジェクタやDLPプロジェクタなどを使って実施することができる。スクリーン130上で投映領域が隣接する映像投映装置同士には、互いに投映領域が重なり合うように設置しておき、スクリーン130上の映像が12個の映像としてではなく、滑らかにつながった1つの映像として鑑賞されるようにする。このため、各々の映像補正装置は各々独立に、映像生成装置100から入力された入力画像データに対して幾何補正処理および画素値変換処理を施した上で各々の映像投映装置に出力するように構成する。なお、スクリーン130の形状としては、平面、円筒、半球面など、任意のものを使用することができる。また、フロント投射用とリア投射用のいずれをも使用することもできる。
撮影装置140A、撮影装置140E、および撮影装置140Lは、全体制御装置110により露出と撮影タイミングの制御を行うことができる。また、撮影した画像データは全体制御装置110に転送することができる。撮影装置は、シャッタースピードあるいは絞りの制御が可能なデジタルスチルカメラ等を用いて構成すればよい。なお、全体制御装置110との間のインタフェースとしては、例えばIEEE1394インタフェース、あるいはUSBインタフェースを用いるとよい。なお、撮影装置140Aはスクリーン130上の映像投映装置A〜映像投映装置Dの投映領域を、撮影装置140Eはスクリーン130上の映像投映装置E〜映像投映装置Hの投映領域を、撮影装置140Iはスクリーン130上の映像投映装置I〜映像投映装置Lの投映領域をそれぞれ包含する領域が撮影できるように設置し、位置や姿勢が変わらないように固定しておく。
なお、撮影装置制御装置112A、撮影装置制御装置112E、撮影装置制御装置112Iおよび撮影装置140A、撮影装置140E、撮影装置140Eは、映像表示システムを調整する時にだけ必要な構成要素であり、映像表示システムの運用時、すなわち、実際の映像コンテンツを本システムで表示して鑑賞する場合には不要な構成要素である。
図2は、本実施形態における映像投映装置の投映領域と撮影装置の撮影領域の関係を説明する図である。この例では、スクリーンはリア投射用であり、撮影装置は背面から投射した映像を正面から撮影する。また、簡単のため、映像投映装置のいくつかを省略して記載している。
映像投映装置121A〜映像投映装置121Lは、それぞれの投映領域221A〜投映領域221Lが、図2のように上下2面、左右6面の並びとなり、隣り合う投映領域が重複部を持つように設置されている。また、撮影装置140A、撮影装置140E、撮影装置140Iは、撮影装置140Aの撮影領域222Aが投映領域221A〜投映領域221Dを全て含むように、撮影装置140Eの撮影領域222Eが投映領域221E〜投映領域221Hを全て含むように、また撮影装置140Iの撮影領域222Iが投映領域221I〜投映領域221Lを全て含むように、そして、隣り合う撮影領域が重複部を持つように設置されている。これは、ひとつの撮影領域には必ず、包含する4つの投映領域の外に、その包含投映領域と隣り合う投映領域の一部が含まれていることを意味している。
この条件を満たしていれば、各々の映像投映装置および各々の撮影装置の設置精度には厳密さは必要ない。
図3は、全体制御装置110の構成を説明する図である。簡単のため、映像補正装置および撮影装置制御装置は一部のみを示してある。
全体制御装置110は、映像補正装置111A〜映像補正装置111D、撮影装置制御装置112A、映像生成装置制御装置113、演算処理装置300、主記憶装置310、コマンド入力装置320、および外部記憶装置330とを備える。
撮影装置制御装置112Aは、撮影装置140A側のインタフェースに合わせて、例えばIEEE1394インタフェースやUSBインタフェースを備えるとよい。また、映像出力装置制御装置113は、映像生成装置100側のインタフェースに合わせて、例えばRS232Cインタフェースやネットワークインタフェースを備えるとよい。
全体制御装置110の各種処理は、各々に必要となるプログラムやデータを外部記憶装置330から主記憶装置310に読み込み、演算処理装置300によって処理することで実施する。外部記憶装置330は、ハードディスクやフラッシュメモリとして実施すればよい。また、コマンド入力装置320は「調整開始」などのユーザコマンドを入力するためのものであり、例えばキーボードやマウスにより構成する。
主記憶装置310に記憶するプログラムやデータは、その役割や用途に応じていくつかに分類することができる。理解の便を図るため、以降、分類した上で説明を行うことにする。ドライバ記憶部311に記憶するプログラムについては図4を用いて、プログラム記憶部312に記憶するプログラムについては図5を用いて、静的データ記憶部313に記憶するデータについては図6を用いて、動的データ記憶部314に記憶するデータについては図7を用いて、中間データ記憶部315に記憶するデータについては図8を用いて、それぞれ説明する。
図4は、本実施形態のシステムにおいてドライバ記憶部311に格納するプログラムの説明図である。
ドライバ記憶部311には、幾何補正パラメタ設定プログラム400、画素値変換パラメタ設定プログラム401、撮影装置制御プログラム402、および映像生成装置制御プログラム403を記憶する。
幾何補正パラメタ設定プログラム400は、図7で説明する各面幾何補正パラメタ700を、映像補正装置111A〜映像補正装置111Lの各々に、図10で説明する幾何補正パラメタ1006として設定するためのプログラムであり、各々のパラメタの間のフォーマット変換や、映像補正装置111A〜映像補正装置111Lへのパラメタ入力インタフェースの制御を担当する。
画素値変換パラメタ設定プログラム401は、図7で説明する各面画素値変換パラメタ701を、映像補正装置111A〜映像補正装置111Lの各々に、図10で説明する画素値変換パラメタ1008として設定するためのプログラムであり、各々のパラメタの間のフォーマット変換や、映像補正装置111A〜映像補正装置111Lへのパラメタ入力インタフェースの制御を担当する。
撮影装置制御プログラム402は、撮影装置制御装置112Aを介して撮影装置140Aを制御し、撮影装置制御装置112Eを介して撮影装置140Eを制御し、また撮影装置制御装置112Iを介して撮影装置140Iを制御するためのプログラムであり、撮影装置140A、撮影装置140E、撮影装置140Iの露出、および撮影タイミングの制御、並びに撮影装置140A、撮影装置140E、撮影装置140Iとの間のデータ授受のためのインタフェースの制御を担当する。
映像生成装置制御プログラム403は、映像生成装置制御装置113を介して映像生成装置100を制御するためのプログラムであり、映像生成装置100の静的画像データ記憶部104に記憶されている画像データのうちからどの画像データを選択して出力させるかの識別子を送信し、出力させる。
図5は、プログラム記憶部312に格納するプログラムの説明図である。プログラム記憶部312には、全体調整プログラム500、最小入力レベル目標値決定プログラム501、最大入力レベル目標値決定プログラム502、中間入力レベル目標値決定プログラム503、最小入力レベルフィードバック調整プログラム504、最大入力レベルフィードバック調整プログラム505、中間入力レベルフィードバック調整プログラム506、基準領域対応目標値決定プログラム507、基準領域対応フィードバック調整プログラム508、撮像素子異常検出補正プログラム509、パラメタ平滑化プログラム510、および映像表示領域外パラメタ修正プログラム511を記憶する。
全体調整プログラム500は、コマンド入力装置320から「調整開始」コマンドが入力されると開始されるプログラムであり、スクリーン130上に投映される映像の調整を撮影装置140などを制御して行って、図7で説明する各面画素値変換パラメタ701を更新するためのプログラムである。全体調整プログラム500の実施する全体調整処理の詳細は、図14を用いて説明する。
詳細な説明は図14を用いて行うが、図10で説明する画素値変換部1003に入力される画素値を入力レベル、画素値変換部1003から出力する画素値を出力レベルと定義すると、本発明の画素値変換パラメタ調整方法の概略は、(1)最初に、複数台の撮影装置のうちの1台(本実施形態では撮影装置140E)の撮影領域(222E)を調整する。まず、画素ごとに複数の入力レベルに対して各々最適な出力レベルを、例えば前記特願2006−24627に記載のフィードバック方式によって決定し、(2)それらの結果を包括的に眺めて最終結果の画素値変換パラメタを生成する。(3)次に、調整が終わった撮影領域と隣り合う撮影領域(222A、222I)を、それぞれ対応する撮影装置(140A、140I)を用いて、最初に調整した撮影領域の結果と滑らかに繋がるように、(1)、(2)の通りに調整する、ということになる。 本発明では、前記フィードバック方式による調整において、フィードバック調整の際の目標値を決める方法、および実際のフィードバック調整の方法は、最小入力レベル(本実施形態では0)、最大入力レベル(本実施形態では255)、中間入力レベル(本実施形態では64と128と192)、2つ目以降の撮影領域の場合、のそれぞれに対して異なる処理を行うようにした。目標値を決める方法に関して、最小入力レベル目標値決定プログラム501の実施する最小入力レベル目標値決定処理の詳細を図16を用いて、最大入力レベル目標値決定プログラム502の実施する最大入力レベル目標値決定処理の詳細を図18を用いて、中間入力レベル目標値決定プログラム503の実施する中間入力レベル目標値決定処理の詳細を図20を用いて、基準領域対応目標値決定プログラム507の実施する2つ目以降の撮影領域調整時の目標値決定処理の詳細を図25を用いて、それぞれ説明する。また、フィードバック調整の方法に関して、最小入力レベルフィードバック調整プログラム504の実施する最小入力レベルフィードバック調整処理の詳細を図17を用いて、最大入力レベルフィードバック調整プログラム505の実施する最大入力レベルフィードバック調整処理の詳細を図19を用いて、中間入力レベルフィードバック調整プログラム506の実施する中間入力レベルフィードバック調整処理の詳細を図21を用いて、基準領域対応フィードバック調整プログラム508の実施する2つ目以降の撮影領域のフィードバック調整処理の詳細を図26を用いて、それぞれ説明する。
撮像素子異常検出補正プログラム509は、撮影画像において撮影装置140Aなどの撮像素子面上のゴミなどの影響がある領域を検出し、近くの画素の特性を用いて補正するプログラムであるが、詳細は省略する。
パラメタ平滑化プログラム510は、撮影装置の有する撮像素子の画素数がスクリーン上に投映される映像全体の画素数に較べて少ない場合に投映画像の複数画素が撮影画像の1画素として扱われる影響や、スクリーンゲインやホットスポットなど環境の影響などにより近似誤差などがノイズとしてフィードバック処理後の画素値変換パラメタに含まれるため、該ノイズを緩和するための平滑化を施すプログラムであるが詳細は省略する。
映像表示領域外パラメタ修正プログラム511は、各映像投映装置の投映領域のうち、実際に映像を表示している領域以外の領域に対応する画素値変換パラメタに外挿などの修正を行うプログラムであるが、詳細は省略する。
図6は、静的データ記憶部313に格納するデータを説明する図である。静的データ記憶部313に記憶するデータ群は、設計値から決定することのできるデータ群である。
本実施形態においては、説明を簡単にするため、図10で説明する映像補正装置において幾何補正部に入力される画像データと幾何補正部から出力される画像データとは同一の解像度を有するものとする。なお、幾何補正部において解像度変換が為される場合、それに合わせた座標変換を行うことにより本発明を実施することは容易である。
静的データ記憶部313には、中間入力レベル集合データ600、調整回数設定データ601、調整順序設定データ602、恒等変換幾何補正パラメタ603、および恒等変換画素値変換パラメタ604を記憶する。
中間入力レベル集合データ600は、調整を実施する中間レベルの集合を定義したデータであり、本実施形態では(64、128、192)である。調整回数設定データ601は、ある1つの撮影領域の調整が終わり、その調整結果と滑らかに繋がるように2つ目以降の撮影領域を調整する際に、調整回数を何回に分けて行うかを設定するデータであり、本実施形態では2回である。調整順序設定データ602は、2つ目以降の撮影領域を調整する際に、次にどの調整領域を調整するのかの順番を設定するデータであり、本実施形態では、撮影領域222Eを最初に調整し、次に撮影領域222Aと撮影領域222Iを同時に調整する。調整回数設定データ601と調整順序設定データ602は、調整回数設定データが0のときは撮影領域222Eを調整し、調整回数設定データが1のときは撮影領域222Aと撮影領域222Iを同時に調整する、というような、ルックアップテーブルのような関係にするとよい。恒等変換幾何補正パラメタ604は、図10で説明する幾何補正部1002において入力された画像データと同一の画像データを出力するためのパラメタであり、同様に、恒等変換画素値変換パラメタ605は、図10で説明する画素値変換部1003において入力された画像データと同一の画像データを出力するためのパラメタである。
なお、恒等変換幾何補正パラメタ604および恒等変換画素値変換パラメタ605はシステムにおいて一意に定まるパラメタであるため、データとしては保持せずに、その都度、それぞれ幾何補正パラメタ設定プログラム400および画素値変換パラメタ設定プログラム401によって生成して映像補正装置111A〜映像補正装置111Lに設定するようにしてもよい。また、映像補正装置111A〜映像補正装置111Lの機能として、幾何補正部1002および画素値変換部1003の処理を省略するように構成してもよい。
図7は、動的データ記憶部314に格納するデータを説明する図である。動的データ記憶部314に記憶されるデータ群は、実際の映像表示システムに関係して決定されるデータ群である。
動的データ記憶部314には、各面幾何補正パラメタ700、各面画素値変換パラメタ701、各面撮影座標対応画像データ702、各面ブレンド重み画像データ703、全体重複投映度数画像データ704、および全体2値化画像データ705を記憶する。
各面幾何補正パラメタ700は、映像補正装置111A〜映像補正装置111Lごとに保持するパラメタであり、映像補正装置111A〜映像補正装置111Lからそれに対応する映像投映装置121A〜映像投映装置121Lに出力する画像データの解像度と等しい解像度を有するパラメタである。例えば、ある映像補正装置からそれに対応する映像投映装置に出力する画像データの解像度が1024×768である場合には、各面幾何補正パラメタ700のうち、前記映像補正装置に対応するパラメタは1024×768だけの数の画素を備えたパラメタとなる。各面幾何補正パラメタ700の画素値の詳細は、図11を用いて説明する。なお、本実施形態を含むすべての実施形態において、各面幾何補正パラメタ700は、当該パラメタを幾何補正パラメタ設定プログラム400を用いて各々対応する映像補正装置111A〜映像補正装置111Lに設定した場合に、スクリーン130上の映像が幾何学的には滑らかにつながった1つの映像を形成するようなパラメタである、すなわち従来の方法を用いてすでに調整が完了しているものとする。
各面画素値変換パラメタ701は、映像補正装置111A〜映像補正装置111Lごとに保持するパラメタであり、映像補正装置111A〜映像補正装置111Lからそれに対応する映像投映装置121A〜映像投映装置121Lに出力する画像データの解像度と等しい解像度を有するパラメタである。各面画素値変換パラメタの画素値の詳細は、図12を用いて説明する。なお、本実施形態では、各面画素値変換パラメタ701の初期値は、恒等変換画素値変換パラメタ604と同一のものにしておく。
各面撮影座標対応画像データ702は、映像補正装置111A〜映像補正装置111Lごとに保持するパラメタであり、映像補正装置111A〜映像補正装置111Lに入力される画像データの解像度と等しい解像度を有する画像データである。各面撮影座標対応画像データ702の画素値の詳細は、図11を用いて説明する。なお、本実施形態を含むすべての実施形態において、各面撮影座標対応画像データ702は、グレイコードを使った方法などの公知の方法を用いてあらかじめ生成されているものとする。
各面ブレンド重み画像データ703は、映像補正装置111A〜映像補正装置111Lごとに保持するパラメタであり、映像補正装置111A〜映像補正装置111Lに入力される画像データの解像度と等しい解像度を有する画像データである。各画素位置に対応するスクリーン上の映像位置において、対応する映像投映装置121A〜映像投映装置121Lが担当すべき明るさの割合を定義したデータであり、画素値としては0以上1以下の値を有する。従来の映像表示システムにおいてエッジブレンドと呼ばれる効果を実施するために生成していたものと同様に、映像表示領域の境界に近づくにしたがって担当する割合が少なくなるように生成すればよい。なお、本発明の調整方法では、各面ブレンド重み画像データ703の各画素値を単なる参考値として用いているため、従来の調整方法とは異なり、明るさの担当割合は各面ブレンド重み画像データ703の画素値とは厳密には対応しない。
全体重複投映度数画像データ704は、撮影装置140A、撮影装置140E、および撮影装置140Iごとに保持するパラメタであり、撮影装置140A、撮影装置140E、撮影装置140Iの撮影画像と等しい解像度を有する画像データである。個々の撮影装置の撮影画像に含まれる各映像投映装置の投映画像の重複度数が画素値として設定されているデータであり、本実施形態では、画素値は0、1、2、3、4のいずれかとなる。本データも、従来技術によって既に得られているものとする。
全体2値化画像データ705は、映像補正装置111A〜映像補正装置111Lごとに保持するパラメタであり、撮影装置140A、撮影装置140E、撮影装置140Iの撮影画像と等しい解像度を有する画像データである。個々の画像投映装置の各撮影装置における投映領域に1、その他に0が画素値として設定されているデータであり、複数の撮影装置の撮影画像にその投映領域が含まれている場合は、ひとつの映像補正装置に対して複数の全体2値化画像データが対応する。本データも従来技術によって既に得られているものとする。
図8は、中間データ記憶部315に格納するデータを説明する図である。中間データ記憶部315に記憶されるデータ群は、各プログラムによって生成されるデータ群である。
中間データ記憶部315には、目標値設定用基準画素位置データ800、基準オフセット入力レベル換算データ801、全体目標値データ802、全体振幅値データ803、全体反復回数データ804、全体撮影画像データ805、各面撮影画像データ806、各面明暗画像データ807、および各面目標値画像データ808を記憶する。このうち全体目標値データ802の内容の詳細は、図9を用いて説明する。その他の各データの内容の詳細は、各々のデータを生成する処理を説明する際に、合わせて説明する。
なお、目標値設定用基準画素位置データ800は、撮影装置140A、撮影装置140E、撮影装置140Iごとに保持するパラメタであり、2次元座標を表すデータである。また、全体撮影画像データ805は、撮影装置140A、撮影装置140E、撮影装置140Iごとに保持するパラメタであり、撮影装置140A、撮影装置140E、撮影装置140Iの撮影画像と等しい解像度を有するデータである。また、最大オフセット入力レベル換算データ801と全体振幅値データ803と全体反復回数データ804は、撮影装置140A、撮影装置140E、撮影装置140Iごとに保持するパラメタであり、スカラー値である。また、各面撮影画像データ806と各面明暗画像データ807と各面目標値画像データ808は、映像補正装置111A〜映像補正装置111Lごとに保持するパラメタであり、映像補正装置111A〜映像補正装置111Lに入力される画像データの解像度と等しい解像度を有する画像データである。なお、各面明暗画像データ805の画素値(明暗値とも呼ぶ)は、−1か0か+1のいずれかの値をとる。
図9は、全体目標値データ802を説明する図である。全体目標値データ802は、調整すべき入力レベルごとの個別目標値データ900の集合として保持する。また、撮影装置140A、撮影装置140E、撮影装置140Iごとに保持するパラメタである。
ここで、個別目標値データ900は、「入力レベル901に対応する画素値変換パラメタの調整にあたっては、全画素について入力レベルが表示レベル902となるような画像データを画素値変換部に入力したときにスクリーン130に表示される映像に基づいて露出値903と目標撮影画像データ904とを決定し、その後の調整では、全画素について入力レベルが入力レベル901となるような画像データを画素値変換部に入力したときにスクリーン130に表示される映像を、撮影装置140Aまたは撮影装置140Eまたは撮影装置140I、の露出を露出値903に設定して撮影した場合の撮影画像が目標撮影画像904になるように、画素値変換パラメタの入出力特性を決定する」という意味のデータの組である。目標撮影画像データ904は勿論、撮影装置140A、撮影装置140E、撮影装置140Iの撮影画像と等しい解像度を有するデータであり、また、投映領域以外の画素値は0または任意で構わない。
図10は、映像補正装置111Aの構成を説明する図である。映像補正装置111A〜映像補正装置111Lは、いずれも図10に示す構成を備える。
映像補正装置111Aに入力された映像データは、映像入力部1000を介して、デジタル画像データとしてフレームメモリ1001に格納される。映像入力部1000としては既存の映像入力インタフェースを使用することができる。例えば、入力される映像データがアナログ信号の場合には、映像入力部1000としてA/D変換器を具備するように構成する。
幾何補正部1002では、所定の処理クロックに基づいて、フレームメモリ1001に格納された画像データを読み込み、幾何補正パラメタ記憶部1005から読み出した幾何補正パラメタ1006に基づく幾何補正処理を施して、画素値変換部1003に出力する。
画素値変換部1003では、入力された画像データに対して、画素値変換パラメタ記憶部1007から読み出した画素値変換パラメタ1008に基づく画素値変換処理を施して、映像出力部1004に出力する。
映像出力部1004は、入力された画像データを外部機器に向けて出力するものであり、既存の映像出力インタフェースを使用することができる。例えば、出力すべき映像がアナログ信号の場合には、映像出力部1004としてD/A変換器を具備するように構成する。
幾何補正パラメタ記憶部1005に格納される幾何補正パラメタ1006、および画素値変換パラメタ記憶部1007に格納される画素値変換パラメタ1008は、パラメタ設定部1009を介して外部から設定される。
具体的な実施形態としては、例えば、幾何補正部1002および画素値変換部1003をFPGAなどの論理回路で構成し、幾何補正パラメタ記憶部1005および画素値変換パラメタ記憶部1007を各々のパラメタの容量に見合ったサイズのメモリで構成し、パラメタ設定部1009にはPCIなどのインタフェースを使用すればよい。
なお、映像入力部1000にA/D変換器を使用した場合には、該A/D変換器の特性によっては映像補正装置に入力されたときの画素値とフレームメモリ1001に書き込まれたときの画素値の間で不一致が起こる可能性があるが、これは前記A/D変換器の特性をあらかじめ計測してルックアップテーブルとして持っていることにより容易に対応できる。このため、本実施形態を含むすべての実施形態においては、映像補正装置に入力されたときの画素値とフレームメモリ1001に書き込まれたときの画素値とは一致することを前提として説明を行う。
図11は、各面幾何補正パラメタ700、および各面撮影座標対応画像データ702を説明する図である。
図11は、各面幾何補正パラメタ700のうち、スクリーン130の右下部分に投映する映像投映装置に対応する映像補正装置に対応する幾何補正パラメタ1100について記載したものである。幾何補正パラメタ1100において、幾何補正後に入力画像が表示される領域である映像表示領域に対応する領域1101の内部の画素位置1102に関しては、その画素位置として、フレームメモリ1001上の画像データ1110における画素位置1111を格納する。また、映像表示領域に対応する領域1101の外部の画素位置1103に関しては、その画素値としてN/A値(例えば0)を格納する。このような画素値を格納しておくことにより、図10の幾何補正部1002を、画素位置1102に対してはフレームメモリ1001上の画像データ1110の画素位置1111に対応する画素値をサンプリングして出力し、画素位置1103に対しては黒、すなわち「0」を出力するように構成することができる。
同様にして、フレームメモリ1001上の画像データ1110における画素位置1111に対して、撮影画像データ1120上の画素位置1121を画素値として格納するようにしたデータが撮影座標対応画像データであり、各々の映像補正装置に対応する撮影座標対応画像データを集めたデータが各面撮影座標対応画像データ702である。
なお、各面幾何補正パラメタ700および各面撮影座標対応画像データ702の各画素値に関しては、従来から、X座標、Y座標とも整数値ではなく実数値を使用するのが普通である。これは、各々のデータの精度を向上させることを目的としたものである。このように格子点以外の座標が対応付けられている場合であっても、双線形補間など既存の方法を使うことによって、参照先の座標に対応する画素値を算出することができるため、本発明の実施においても特に問題は発生しない。
図12は、各面画素値変換パラメタ701の説明図である。図12は各面画素値変換パラメタ701のうち、ある1つの映像補正装置に対応する画素値変換パラメタのさらにある1つの画素について記載したものである。
画素値変換パラメタの画素値としては、当該画素における変換特性を示す特性関数1200を構成できるものであればよく、例えば、複数の入力レベルLm,L1,L2,L3,LMにそれぞれ対応する出力レベルSm,S1,S2,S3,SMを設定するような構成とすればよい。本実施形態では、出力レベルの取り得る値の範囲は、0以上255以下の整数値であるとする。
実際に映像補正装置111Aに画素値変換パラメタ1008として設定されるパラメタは、各面画素値変換パラメタ701に基づいて画素値変換パラメタ設定プログラム401によって生成されたものである。したがって、本発明の調整方法で調整する入力レベルに関しては、実際に映像補正装置111Aに設定可能な画素値変換パラメタ1008に関連する制約にとらわれることなく、自由に決めることができる。例えば、実際に映像補正装置111Aに画素値変換パラメタ1008として設定可能な自由度よりも、より多くの入力レベルに対して調整を行って、それらの結果に基づいて画素値変換パラメタ設定プログラム401において映像補正装置111Aの性能に合わせた最適化を施すことにより、よりよい画素値変換パラメタを得るような構成とすることもできる。また、例えば、実際に映像補正装置111Aに画素値変換パラメタ1008として設定可能な自由度よりも、より少ない入力レベルに対して調整を行って、それらの結果に基づいて画素値変換パラメタ設定プログラム401において補間処理を施すことにより、調整時間をより短くするような構成とすることもできる。
図13は、本実施形態における基準領域1301について説明する図である。(A)は撮影装置140Eを用いて撮影画像222Eに含まれる投映領域221E〜投映領域221Hおよび投映領域221Bの一部、投映領域221Dの一部、投映領域221Iの一部、投映領域221Kの一部、からなる調整対象領域1300Eが滑らかに繋がるように色調補正が完了し、その調整結果を各映像投映装置で表示している図である。(B)はこのときの撮影装置140Aの撮影画像222Aを抜き出したものであるが、この右端に撮影されている調整対象領域1300Eの一部1301が撮影装置140Aに対する基準領域となる。撮影装置140Aによる撮影画像222Aに対応する投映領域221A〜投映領域221Dの調整における目標値は前記基準領域と滑らかに繋がるように設定する。
図14は、全体調整処理を説明するフローチャートである。ステップS1400で全体調整処理が開始されると、まず、ステップS1401において、初期設定処理を行う。これは、具体的には、映像補正装置111A〜映像補正装置111Lに恒等変換幾何補正パラメタ603と恒等変換画素値変換パラメタ604を設定する処理である。
次に、ステップS1402においてループ変数Nを0に初期化し、ステップS1403において図15で説明する初期基準領域調整処理を行い、ステップS1404においてループ変数Nを1にする。本実施形態では、初期基準領域は撮影装置140Eに対応し、ステップS1403によって、映像補正装置111E〜映像補正装置111Hに対応する色調補正パラメタが生成され、映像補正装置111B、映像補正装置111D、映像補正装置111I、映像補正装置111Kに対応する色調補正パラメタも、撮影画像222Eに含まれる部分に対してのみ生成される。
次に、ステップS1405において図24で説明する周辺領域調整処理を行う。ここでは、調整回数設定データ601がNの時に対応する調整順序設定データ602が指定する撮影装置による調整を、ステップS1403の調整結果と滑らかに繋がるように行う。本実施形態では、Nが1の時には撮影装置140Aに対応する撮影領域222Aと撮影装置140Iに対応する撮影領域222Iを同時に調整する。勿論先に前者を調整し、次に後者を調整してもいいが、本実施形態でのシステム構成では両者同時に行うことができる。このように、システム構成に応じて、調整時間を短縮できるように調整回数設定データ601と調整順序設定データ602を設定することができる。このステップS1405によって、映像補正装置111A〜映像補正装置111Dおよび映像補正装置111I〜映像補正装置111Lに対応する色調補正パラメタが生成される。
次に、ステップS1406で、Nが調整回数設定データ601に設定される規定の調整回数に達していれば、ステップS1407に進み、全体調整処理は終了する。本実施形態では、N=1の調整処理が終了した時点で全ての映像補正装置に対応する色調補正パラメタが得られているため、終了する。しかし、更に画像投映装置が多いシステムなど、未調整領域が残っている場合はステップS1408に進み、Nを1だけ増加させてステップS1405においてNに対応する周辺領域調整処理を行う。
図15は、図14に示す初期基準領域調整処理(S403)を説明するフローチャートである。どの撮影装置を用いた調整となるかは、調整順序設定データ602で設定されており、本実施形態では撮影装置140Eの撮影画像222Eに対応する領域が初期基準領域である。また、この初期基準領域調整処理は、本実施形態が用いる特開2006−24627記載の技術でなくても、初期基準領域に対応する画像補正装置の色調補正パラメタが得られれるのであれば、他の方法を用いても構わない。
まず、ステップS1500で初期基準領域調整処理が開始されると、ステップS1501において図16で説明する最小入力レベル目標値決定処理を行い、続いてステップS1502において図17で説明する最小入力レベルフィードバック調整処理を行い、さらに続いてステップS1503において図18で説明する最大入力レベル目標値決定処理を行い、さらに続いてステップS1504において図19で説明する最大入力レベルフィードバック調整処理を行う。続いて、ステップS1505において、最小入力レベルフィードバック調整処理と最大入力レベルフィードバック調整処理の結果に基づいて、図20で説明する中間入力レベル目標値決定処理を行う。中間入力レベル集合データ600に登録されているすべての中間入力レベルに対して目標値が決定されたところで、ステップS1506において図21で説明する中間入力レベルフィードバック調整処理を行う。以上、ステップS1506までの処理によって、個々の入力レベルに対する調整は完了である。その後、ステップS1507において、ステップS1506までに得られた情報から最終的な各面画素値変換パラメタ701を求め、各面幾何補正パラメタ700と合わせて各々の映像補正装置に設定する。ステップS1507のパラメタ修正登録処理の詳細は、図22を用いて説明する。ステップS1507のパラメタ修正登録処理の終了後、ステップS1508において初期基準領域調整処理を終了する。
図16は、図15に示す最小入力レベル目標値決定処理(ステップS1501)を説明するフローチャートである。すなわち図15に示す初期基準領域調整処理における最小入力レベル目標値決定処理として説明する。
ステップS1600で最小入力レベル目標値決定処理が開始されると、まず、ステップS1601において最小入力レベルで全面一様パターンを表示する。すなわち、映像生成装置100を制御して、すべての映像出力部101A〜映像出力部101L(撮影装置Eの撮影画像に関わらない映像出力部101A、映像出力部101C、映像出力部101J、映像出力部101Lは任意ではあるが、露出調整への影響から全ての映像出力部を推奨)から、すべての画素の画素値が(0,0,0)であるような映像データを出力する。
次に、ステップS1602において、撮影装置140Aを制御して、露出調整および撮影処理を行う。露出の調整は、全体重複投映度数画像データ704において重複投映度数が最大、すなわち本実施形態であれば重複投映度数が4の領域を基準に、撮影画像データ上で該領域に含まれる画素の画素値の例えば平均値が画素値の取り得る範囲の中央付近、例えば128〜192程度の値となるように調整する。そのような条件を満たす露出値は一般に複数存在し得るが、ここでの調整結果としては、そのうちのどれを選んで決定してもよい。決定した露出値は、全体目標値データ802の最小入力レベルに対応する露出値903として登録し、また、該露出で撮影した撮影画像データを、全体撮影画像データ805として登録する。
次に、ステップS1603において、有効最大画素値選出処理を行う。これは、全体撮影画像データ805のうち、全体重複投映度数画像データ704において重複投映度数が1以上であるような領域の中から、最大の画素値を選択し、全体目標値データ802の最小入力レベルに対応する目標撮影画像データ904の全画素に登録する処理である。なお、以降全ての目標撮影画像データに言えることであるが、通常は全画素に同じ画素値を登録すればよいが、撮影装置のレンズなどの影響による周辺沈みや、スクリーンゲインなどの影響により、人が目視した通りに撮影装置で撮影できるわけではないため、それらを考慮して、全画素一様な目標撮影画像データではなく、各画素が前記影響を相殺するような滑らかな画素値を持つ目標撮影画像データとすることで更なる画質の向上が得られる。また、図25で説明する基準領域対応目標値決定処理においては滑らかな目標撮影画像データを登録することの効果は大きい。
最小入力レベルに関しては、画素値変換部1003の処理によって重複して投映している部分を暗くすることは不可能であるため、映像が投映されている部分のうち一番明るい部分を基準として、残りの部分を明るく変換することで全体として滑らかな映像を得るという方法を取る。ステップS1602およびステップS1603の処理は、そのような方法で調整をする場合に適した露出値および目標撮影画素値を決めるための処理である。
ステップS1603の終了後、ステップS1604において、最小入力レベル目標値決定処理を終了する。
図17は、図15に示す最小入力レベルフィードバック調整処理(ステップS1502)を説明するフローチャートである。すなわち、図15に示す初期基準領域調整処理における最小入力レベルフィードバック調整処理として説明する。
ステップS1700において最小入力レベルフィードバック調整処理が開始されると、まず、ステップS1701において最小入力レベル調整用初期化処理を行う。この処理は、全体振幅値データ803および全体反復回数データ804を初期値に設定し、最小入力レベルで全面一様パターンを表示する処理である。全体振幅値データ803とは、計測値が目標値より高いあるいは低い場合に、パラメタから減算あるいはパラメタに加算するための値であり、全体反復回数データ804とは、フィードバック調整におけるフィードバックループの回数を定義する値である。具体的には、全体振幅値データ803として「128」を設定し、全体反復回数データ804として「8」を設定する。本実施形態では探索方法として2分探索を行うため、全体振幅値データ803の初期値を128としておくことにより、0から255までのどの出力レベルが最適値であっても、探索可能となる。また、フィードバックループが1回実施されるごとに、全体振幅値データ803を半分(端数は切り上げ)にしていくため、必要な反復回数は全体振幅値データ804が「1」となるまで、すなわち「128,64,32,16,8,4,2,1」の8回となる。なお、ノイズに対するマージンを持たせたい場合などでは、全体振幅値データ803の初期値として128より大きめの値を設定するようにしてもよいし、フィードバックループが1回実施されるごとに、全体振幅値データ803を半分(端数は切り上げ)とするのではなく、0.5以上1.0未満の係数kを掛けることによって全体振幅値データ803の更新を行うようにしてもよい。それらの実施形態を取る場合には、全体反復回数データ804もそれに合わせて変更するようにする。なお、具体的な値は異なるが、図19で説明する最大入力レベルフィードバック調整処理や、図21で示す中間入力レベルフィードバック処理においても、同様の実施形態をとることができるのは言うまでもない。
次に、ステップS1702において、撮影露出設定処理を行う。これは、最小入力レベルに対応する全体目標値データ802を参照し、撮影装置140Aの露出を露出値903に設定する処理である。
次に、ステップS1703において、ループ回数Nを0に初期化する。
次に、ステップS1704において、全体撮影画像データ生成処理を行う。この処理は、撮影装置140Aで画像データを撮影し、全体撮影画像データ805として登録する処理である。
次に、ステップS1705において、各面撮影画像データ生成処理を行う。この処理は、全体撮影画像データ805と各面撮影座標対応画像データ702とを参照して、各面撮影画像データ806を生成する処理である。各面撮影画像データ806とは、各面画素値変換パラメタ701の各画素位置に対応する映像が、撮影画像データ上でどのような画素値として撮影されているかを表すデータである。
次に、ステップS1706において、各面目標画像データ生成処理を行う。この処理は、全体目標値データ802の目標撮影画像データ904と各面撮影座標対応画像データ702とを参照して、各面目標画像データ808を生成する処理である。各面目標画像データ808とは、各面画素値変換パラメタ701の各画素位置に対応する映像が、撮影画像データ上でどのような画素値を目標値としているかを表すデータである。
次に、ステップS1707において、各面明暗画像データ生成処理を行う。この処理は、全体目標値データ802の目標撮影画像データ904を参照し、各面撮影画像データ806の各画素の画素値が、各面目標画像データ808の対応する画素値より小さい場合には各面明暗画像データ807の対応する画素の画素値として「+1」を設定し、各面目標画像データ808より大きい場合には各面明暗画像データ807の対応する画素の画素値として「−1」を設定し、いずれでもない場合には各面明暗画像データ807の対応する画素の画素値として「0」を設定する処理である。
次に、ステップS1708において、最小入力レベルに対する画素値変換パラメタ更新処理を行う。画素値変換パラメタ更新処理の詳細は、図23を用いて説明する。
次に、ステップS1709において、全体反復回数データ804とループ回数Nとを比較して、所定回数の反復を完了したか否かを判定する。所定回数の反復を完了している場合には、ステップS1710に進んで最小入力レベルフィードバック調整処理を終了する。
所定回数の反復を完了していないと判定された場合には、ステップS1711において全体振幅値データ更新処理を行う。この処理は、全体振幅値データ803に0.5を掛け、端数が出た場合には切り上げる処理である。
ステップS1711における全体振幅値データ更新処理の終了後、ステップS1712においてループ回数Nを1つ増加させ、ステップS1704に戻って処理を続ける。
図18は、図15における最大入力レベル目標値決定処理(ステップS1503)を説名するフローチャートである。すなわち、図15に示す初期基準領域調整処理における最大入力レベル目標値決定処理として説明する。
ステップS1800で最大入力レベル目標値決定処理が開始されると、まず、ステップS1801において最大入力レベルで全面一様パターンを表示する。すなわち、映像生成装置100を制御して、すべての映像出力部101A〜映像出力部101L(撮影装置Eの撮影画像に関わらない映像出力部101A、映像出力部101C、映像出力部101J、映像出力部101Lは任意)から、すべての画素の画素値が(255,255,255)であるような映像データを出力する。
次に、ステップS1802において、撮影装置140Eを制御して、露出調整および撮影処理を行う。露出の調整は、全体重複投映度数画像データ704において重複投映度数が1の領域を基準に、撮影装置140Eで撮影した撮影画像データ上で該領域に含まれる画素の画素値の例えば平均値が画素値の取り得る範囲の中央付近、例えば128〜192程度の値となるように調整する。そのような条件を満たす露出値は一般に複数存在し得るが、ここでの調整結果としては、そのうちのどれを選んで決定してもよい。決定した露出値は、全体目標値データ802の最大入力レベルに対応する露出値903として登録し、また、該露出で撮影した撮影画像データを、全体撮影画像データ805として登録する。 なお、ステップS1801において1つの映像出力部、例えば映像出力部101Eからだけ(255,255,255)を出力し、他の映像出力部からは(0,0,0)を出力するようにすれば、全ての投映領域が重複投映度数1となるので、そのようにしてもよい。
次に、ステップS1803において、目標値設定用基準画素位置決定処理を行う。これは、全体撮影画像データ805のうち、全体重複投映度数画像データ704において重複投映度数が1以上であるような領域の中から、最小の画素値を有する画素位置を選択し、その位置を目標値決定用基準画素位置データ800として登録し、また、該最小の画素値を全体目標値データ802の最大入力レベルに対応する目標撮影画像データ904の全画素に登録する処理である。
最大入力レベルに関しては、画素値変換部1003の処理によって暗い部分を明るくすることは不可能であるため、映像が投映されている部分のうち一番暗い部分を基準として、残りの部分を暗く変換することで全体として一様な映像を得るという方法を取る。ステップS1802およびステップS1803の処理は、そのような方法で調整をする場合に適した露出値および目標撮影画素値を決めるための処理である。また、ステップS1803において、目標値決定用基準画素位置データ800を求めたが、該データは中間入力レベルに対応する目標値を決定する際に使用するデータである。
ステップS1803の終了後、ステップS1804において、最大入力レベル目標値決定処理を終了する。
図19は、図15に示す最大入力レベルフィードバック調整処理を説明するフローチャートである。図19において図17と同じ符号は図17と同じ処理を表す。図19では、図15に示す初期基準領域調整処理における最大入力レベルフィードバック調整処理(ステップS1504)として説明する。
ステップS1900において最大入力レベルフィードバック調整処理が開始されると、まず、ステップS1901において最大入力レベル調整用初期化処理を行う。この処理は、全体振幅値データ803および全体反復回数データ804を初期値に設定し、最大入力レベルに対応する各面画素値変換パラメタ701の値を最小入力レベルに対応する各面画素値変換パラメタ701の値で初期化し、最大入力レベルで全面一様パターンを表示する処理である。具体的には、全体振幅値データ803として「128」を設定し、全体反復回数データ804として「8」を設定する。全体振幅値データ803の値をこのように決定した場合には、各面画素値変換パラメタ701の更新時に出力レベルが設定可能な値の範囲の外に出てしまう可能性があるが、その場合には、設定可能な値の範囲の最大値あるいは最小値のうち近い方の値に設定すればよい。また、全体振幅値データ803の決定をする際に、図21で説明する中間入力レベルフィードバック調整処理における中間入力レベル調整用初期化処理のように、全体振幅値データ803を各面画素値変換パラメタ701の更新時に決して飽和しないような値に設定するという実施形態をとることもできる。
次に、ステップS1902において、撮影露出設定処理を行う。これは、最大入力レベルに対応する全体目標値データ802を参照し、撮影装置140Eの露出を露出値903に設定する処理である。
次に、ステップS1703においてループ回数Nの初期化を行った後、ステップS1704〜ステップS1707の処理を行い、ステップS1907に進む。
ステップS1907では、最大入力レベルに対する画素値変換パラメタ更新処理を行う。画素値変換パラメタ更新処理の詳細は、図23を用いて説明する。
次に、ステップS1908において、全体反復回数データ804とループ回数Nとを比較して、所定回数の反復を完了したか否かを判定する。所定回数の反復を完了している場合には、ステップS1909に進んで最大入力レベルフィードバック調整処理を終了する。
所定回数の反復を完了していないと判定された場合には、ステップS1711、ステップS1712と進み、ステップS1704に戻って処理を続ける。
図20は、図15に示す中間入力レベル目標値決定処理(ステップS1505)を説明するフローチャートである。すなわち、図15に示す初期基準領域調整処理における中間入力レベル目標値決定処理として説明する。
ステップS2000において中間入力レベル目標値決定処理が開始されると、まず、ステップS2001において基準オフセット入力レベル換算データ生成処理を行う。この処理は、最小入力レベルに対応する各面画素値変換パラメタ701(この段階ですでにフィードバック調整が完了しているはずである)のうち目標値設定用基準画素位置データ800で与えられる位置の画素値(「基準オフセット」と呼ぶ)を探索し、各面画素値変換パラメタ701が恒等変換画素値変換パラメタ604に等しいときに該画素位置で基準オフセットと同一の出力レベルを得るための入力レベルを算出して基準オフセット入力レベル換算データ801として登録する処理である。基準オフセット入力レベル換算データ生成処理は、必要に応じて各面画素値変換パラメタ701のフォーマットやA/D変換器の特性を考慮することで、本実施形態のように単純化した場合でなくとも容易に実施することができる。
次に、ステップS2002において、表示レベル決定処理を行う。この処理は、図27で説明するように、所与の方針に基づいて、中間入力レベルの目標値決定に用いる表示レベルを決定する処理である。例えば、基準オフセット入力レベル換算データ801と最大入力レベルとの間を、フィードバック調整を実施する中間入力レベルの値に関して線形に写像するような形で表示レベルを決定すればよい。また、最大入力レベルではなく、最大入力レベルの調整結果を用いても良い。また、線形ではなくとも、単調増加の関数にしたがって写像してもよい。
次に、ステップS2003において、処理対象の中間入力レベルのシリアル番号Nを0に初期化する。
次に、ステップS2004において、第N番目の中間入力レベルに対応する全体目標値データ802を参照し、対応する表示レベル902で全面一様パターンを表示する。
次に、ステップS2005において、撮影装置140Eを制御して、露出調整および撮影処理を行う。露出の調整は、撮影装置140Eで撮影した撮影画像データ上において、目標値設定用基準画素位置データ800で与えられる位置の画素値が、画素値の取り得る範囲の中央付近、例えば128〜192程度の値となるように調整する。そのような条件を満たす露出値は一般に複数存在し得るが、ここでの調整結果としては、そのうちのどれを選んで決定してもよい。露出調整と撮影とが完了した後、第N番目の中間入力レベルに対応する全体目標値データ805に対して、決定した露出値を露出値903として登録し、撮影した撮影画像データ上の目標値設定用基準画素位置データ800で与えられる位置の画素値を目標撮影画像データ904の全画素として登録する。
次に、ステップS2006において、中間入力レベル集合データ600に登録されているすべての中間入力レベルに対して処理が完了したか否かを判定する。処理が完了している場合にはステップS2007に進んで中間入力レベル目標値決定処理を終了し、まだ処理を行っていない中間入力レベルが存在する場合にはステップS2008において処理対象の中間入力レベルのシリアル番号Nの値を1つ増加させた後、ステップS2004に戻って処理を続ける。
図27は、前記目標値の決定のしかたを説明するための図である。まず、図13に示す撮影装置140Iの撮影領域222Iについて説明する。
図27において、領域2701、領域2702、領域2703、領域2704は、それぞれ、映像投映装置121I、映像投映装置121J、映像投映装置121K、映像投映装置121Lの映像投映領域であり、また、画素位置2710は図16で説明した最小入力レベル目標値決定処理において画素値が最大であった画素位置、画素位置2711は図18で説明した最大入力レベル目標値決定処理において画素値が最小であった画素位置、すなわち目標値決定用基準画素位置データ800として登録されている画素位置である。
最小入力レベルに対しては画素位置2710を基準として目標値を決定し、最大入力レベルに対しては画素位置2711を基準として目標値を決定した。ここで、図20で説明する中間入力レベル目標値決定処理においては、目標値の決定が済んでいない中間入力レベル群に対して、画素位置2711を基準として目標値を決定する。
このとき、撮影装置140Iの露出を変えながら目標値を決めているため、異なる基準位置で定めた目標値は、入力レベルに対して明るさとして単調増加になっている保証はない。すなわち、画素位置2710を基準として決定した入力レベル0に対応する目標値を明るさに換算した場合、画素位置2711を基準として決定した入力レベル64に対応する目標値を明るさに換算したものよりも、明るくなっている可能性がある。
そこで本発明では、中間入力レベルの目標値を決定する前に最小入力レベルに対するフィードバック調整を実施しておき、画素位置2710を基準として決定した入力レベル0に対応する目標値を達成するときの、映像生成装置100から出力する画像データの画素位置2711の画素値を先に決定しておくという方法をとった。その上で、例えば、該画素値が55であるとするなら、入力レベル64、128、192に対して、目標値を決定する際に表示する全面一様パターンの画素値である表示レベルを、例えば、105、155、205とした上で目標値を決定する。このような方法とすることで、最終的に映像が滑らかにつながった際の画素位置2711における入力レベル0、64、128、192、255に対する特性は、恒等変換画素値変換パラメタ604を用いて表示レベル55、105、155、205、255の全面一様パターンを表示した場合と同一になり、すでに調整を完了している最小入力レベルに関しては滑らかにつながることを保証したまま、最小入力レベルを含めたすべての入力レベルにおいて同一の基準位置において目標値を決定することができる。
なお、表示レベルの決定に関しては、映像投映装置121I〜映像投映装置121Lや撮影装置140Iにおける画素値と明るさとの関係を示す変換特性を考慮してもよい。なお、前記変換特性を考慮する場合であっても、前記変換特性そのものは映像が滑らかにつながることとは無関係であるため、実測値ではなく設計値、すなわち厳密な値ではなく概略値、を用いて表示レベルを決定することができる。
図21は、図15に示す中間入力レベルフィードバック調整処理(ステップS1505)を説明するフローチャートである。図21において図17と同じ符号は図17と同じ処理を表す。すなわち図15の初期基準領域調整処理における中間入力レベルフィードバック調整処理として説明する。
ステップS2100において中間入力レベルフィードバック調整処理が開始されると、まず、ステップS2101において中間入力レベル調整用初期化処理を行う。この処理は、全体振幅値データ803および全体反復回数データ804を初期値に設定し、現在処理対象となっている中間入力レベルに対応する各面画素値変換パラメタ701の値を、フィードバック調整を実施する入力レベルのうち現在処理対象となっている中間入力レベルよりも1つ小さな入力レベル(この段階ですでにフィードバック調整が完了しているはずである)に対応する各面画素値変換パラメタ701の値で初期化し、現在処理対象となっている中間入力レベルで全面一様パターンを表示する処理である。全体振幅値データ803の決定方法については、図28を用いて説明する。全体反復回数データ804の決定方法については、全体振幅値データ803の決定後、図17で説明した最小入力レベルフィードバック調整処理や図19で説明した最大入力レベルフィードバック調整処理と同様に、容易に決定することができる。
次に、ステップS2102において、撮影露出設定処理を行う。これは、現在処理対象となっている中間入力レベルに対応する全体目標値データ802を参照し、撮影装置140Eの露出を露出値903に設定する処理である。
次に、ステップS1703においてループ回数Nの初期化を行った後、ステップS1704〜ステップS1707の処理を行い、ステップS2107に進む。
ステップS2107では、現在処理対象となっている中間入力レベルに対する画素値変換パラメタ更新処理を行う。画素値変換パラメタ更新処理の詳細は、図23を用いて説明する。
次に、ステップS2108において、全体反復回数データ804とループ回数Nとを比較して、所定回数の反復を完了したか否かを判定する。所定回数の反復を完了している場合には、ステップS2109に進んで中間入力レベルフィードバック調整処理を終了する。
所定回数の反復を完了していないと判定された場合には、ステップS1711、ステップS1712と進み、ステップS1704に戻って処理を続ける。
図28は、中間入力レベルフィードバック調整処理において、全体振幅値データの初期値の決定方法を説明する図である。
図28は、最小入力レベルLmに対する出力レベル2800、最大入力レベルLMに対する出力レベル2801、中間入力レベルL1に対する出力レベル2802、中間入力レベルL2に対する出力レベル2803、がすでにフィードバック調整処理によって決定されており、入力レベルL3に対する出力レベルをフィードバック調整処理によって決定する段階での状況を示している。
このとき、目標値を故意に特異な値としていない限り、入力レベルL3に対応する出力レベルは、出力レベル2803以上、出力レベル2801以下となるのが自然である。したがって、探索方法として2分探索を採用していることを考えると、全体振幅値データ803として探索範囲D3の半分(端数は切り上げ)の値を設定することにより、必要十分な範囲の探索を実施可能である。そのため、入力レベルL3に対する出力レベルを決定する場合には、全体振幅値データ803の初期値としては探索範囲D3の半分(端数は切り上げ)の値を設定する。
図22は、図15に示すパラメタ修正登録処理(ステップS1507)を説明するフローチャートである。すなわち図15に示す初期基準領域調整処理におけるパラメタ修正登録処理として説明する。
ステップS2200でパラメタ修正登録処理が開始されると、まず、ステップS2201において、撮像素子異常検出補正処理を行う。詳細は説明しないが、従来技術により、撮影装置の撮像素子の汚れや映像投映装置の輝点による各面画素値変換パラメタ701のノイズを検出し、周囲の画素値で内挿や外挿するなどして該ノイズを消去する。次に、ステップS2202において、パラメタ平滑化処理を行う。前記したが、撮影装置の撮像素子の画素数がスクリーン上の投映画像の画素数よりも少ないことの影響や、スクリーンゲインやホットスポットなどの環境の影響により、各面画素値変換パラメタ701には細かいノイズが乗ることがある。詳細は説明しないが、中央値フィルタや平均値フィルタなど従来技術を用いて、該ノイズを滑らかにすることにより、更なる画質向上が図られる。次に、ステップS2203において、映像表示領域外パラメタ修正処理を行う。詳細は説明しないが、幾何補正によって黒レベル(0,0,0)が表示されている画素にも表示領域からの外挿を行うことでより広い画像表示領域が得られるようになる。
次に、ステップS2204において、パラメタ登録処理を行う。パラメタ登録処理は、各面幾何補正パラメタ700および各面画素値変換パラメタ701を幾何補正パラメタ設定プログラム400および画素値変換パラメタ設定プログラム401を用いて各々対応する映像補正装置111E〜映像補正装置111Hに登録する処理である。
ステップS2204までの処理を終了後、ステップS2205においてパラメタ修正登録処理を終了する。
図23は、入力レベルLiに対応する画素値変換パラメタ更新処理を説明するフローチャートである。
ステップS2300において画素値変換パラメタ更新処理が開始されると、まず、ステップS2301において、処理対象とする映像補正装置のシリアル番号Pと処理対象とする画素のシリアル番号Qとを0に初期化する。
次に、ステップS2302において、各面明暗画像データ807のP番目の映像補正装置のQ番目の画素に対応する明暗値sを取得する。
次に、ステップS2303において、各面ブレンド重み画像データ703のP番目の映像補正装置のQ番目の画素に対応する重み値wを取得する。
次に、ステップS2304において、各面画素値変換パラメタ701のP番目の映像補正装置のQ番目の画素の入力レベルLiに対応するパラメタの値pを、全体振幅値データ803として登録されている値aを用いて、「p+s×w×a」という値に更新する。
続いてステップS2305において、P番目の映像補正装置に関するすべての画素の更新が完了したか否かを判定し、まだ完了していない場合には、ステップS2306において処理対象とする画素のシリアル番号Qを1つ増加させた後、ステップS2302に戻って処理を続ける。P番目の映像補正装置に関するすべての画素の更新が完了している場合には、ステップS2307へ進む。
ステップS2307では、P番目の映像補正装置に対応する各面画素値変換パラメタ701を、P番目の映像補正装置に登録し、続いてステップS2308において、すべての映像補正装置に対する処理が完了したか否かを判定する。すべての映像補正装置に対する処理が完了している場合には、ステップS2309に進んで画素値変換パラメタ更新処理を終了し、処理が完了していない映像補正装置がある場合には、ステップS2310において処理対象とする映像補正装置のシリアル番号Pを1つ増加させ、処理対象とする画素のシリアル番号を0に初期化しなおした後、ステップS2302に戻って処理を続ける。
図24は、図14に示す周辺領域調整処理を説明するフローチャートである。本実施形態においては、撮影領域222Eを基準領域とし、該領域の調整結果と滑らかに繋がるように、周辺領域である、撮影領域222Aと撮影領域222Iを同時に調整する。以下では、簡単のため、撮影領域222Aの調整処理について説明する。
まず、ステップS2400で周辺領域調整処理が開始されると、ステップS2410で初期設定処理を行う。具体的には、映像補正装置111A〜映像補正装置111Dおよび映像補正装置111I〜映像補正装置111Lに恒等変換幾何補正パラメタ603と恒等変換画素値変換パラメタ604を設定する。
ステップS2402において最小レベルに対して図25で説明する基準領域対応目標値決定処理を行い、続いてステップS2403において最小レベルに対して図26で説明する基準領域対応フィードバック調整処理を行い、さらに続いてステップS2404において最大レベルに対して図25で説明する基準領域対応目標値決定処理を行い、さらに続いてステップS2405において最大レベルに対して図26で説明する基準領域対応フィードバック調整処理を行う。続いて、ステップS2406において、最小レベルに対する基準領域対応フィードバック調整処理と最大レベルに対する基準領域対応フィードバック調整処理の結果に基づいて、中間レベルに対して図25で説明する基準領域対応目標値決定処理を行う。中間入力レベル集合データ600に登録されているすべての中間入力レベルに対して目標値が決定されたところで、ステップS2407において中間レベルに対して図26で説明する基準領域対応フィードバック調整処理を行う。以上、ステップS2407までの処理によって、個々の入力レベルに対する調整は完了である。その後、ステップS2408において、ステップS2407までに得られた情報から最終的な各面画素値変換パラメタ701を求め、各面幾何補正パラメタ700と合わせて各々の映像補正装置に設定する。ステップS2408のパラメタ修正登録処理の詳細は、図22で説明したものと同様である。
ステップS2408のパラメタ修正登録処理の終了後、ステップS2409において初期基準領域調整処理を終了する。
図25は、基準領域対応目標値決定処理を説明するフローチャートである。本実施形態においては、撮影領域222Eを基準領域とし、該領域の調整結果と滑らかに繋がるように、周辺領域である、撮影領域222Aと撮影領域222Iを同時に調整する。以下では、簡単のため、撮影領域222Aにおける目標値の決定処理について説明する。最小レベルの目標値決定、最大レベルの目標値決定、中間レベルの目標値決定、の全てが以下のステップに従ってそれぞれ行われる。中間レベルの目標値決定に関しては、中間レベルのある1レベルごとが以下のステップに従うと考える。
まず、ステップS2500で基準領域対応目標値決定処理が開始されると、まず、ステップS2501において基準領域である撮影領域222Eの、調整対象レベルに対応する調整結果を表示する。すなわち、撮影領域222Eに対応する投映領域221E〜投映領域221Hにそれぞれ対応する画像補正装置111E〜画像補正装置111Hに図15で説明した初期基準領域調整処理で得られた画像補正パラメタを設定し、映像投映装置121E〜映像投映装置121Hから映像を投映する。初期基準領域調整処理において一部分のみ調整された投映領域221B、投映領域221D、投映領域221I、投映領域221Kの画像補正パラメタをそれぞれに対応する画像補正装置111B、画像補正装置111D、画像補正装置111I、画像補正装置111K、に設定するかどうかは任意である。
次に、ステップS2502において、撮影装置140Aを制御して、露出調整および撮影処理を行う。露出の調整は、基準領域1301を撮影装置140Eで撮影した撮影画像データ上で該領域に含まれる画素の画素値の例えば平均値が画素値の取り得る範囲の中央付近、例えば128〜192程度の値となるように調整する。そのような条件を満たす露出値は一般に複数存在し得るが、ここでの調整結果としては、そのうちのどれを選んで決定してもよい。決定した露出値は、全体目標値データ802の調整対象レベルに対応する露出値903として登録し、また、該露出で撮影した撮影画像データを、全体撮影画像データ805として登録する。この処理は、基準領域1301内のある画素値またはある範囲の平均値などを全画素に登録してもよいが、初期基準領域調整処理とは異なり、基準領域1301は完全に一様な値となっているわけではないため、滑らかな画像データを生成する方が画質は向上する。
次に、ステップS2503において、目標撮影画像データ決定処理を行う。これは、全体撮影画像データ805のうち、基準領域1301と滑らかに繋がるような画像を内挿や外挿など従来技術を用いて決定し、全体目標値データ802の調整対象レベルに対応する目標撮影画像データ904として登録する処理である。
周辺領域の調整においては、基準領域の調整結果において、最小レベルに対応する各面画素値補正パラメタ701は画素値にして0よりも大きい値となっており、最大レベルに対応する各面画素値補正パラメタ701は画素値にして255よりも小さい値となっているため、基準領域1301に滑らかに繋がるような目標撮影画像データを決定すれば、それは実現可能な目標値であると言える。
ステップS2503の終了後、ステップS2504において、基準領域対応目標値決定処理を終了する。
図26は、基準領域対応フィードバック調整処理を説明するフローチャートである。本実施形態においては、撮影領域222Eを基準領域とし、該領域の調整結果と滑らかに繋がるように、周辺領域である、撮影領域222Aと撮影領域222Iを同時に調整する。以下では、簡単のため、撮影領域222Aにおけるフィードバック調整処理について説明する。最小レベルのフィードバック処理、最大レベルのフィードバック処理、および中間レベルのフィードバック処理の全てが以下のステップに従ってそれぞれ行われる。中間レベルのフィードバック処理に関しては、中間レベルのある1レベルごとが以下のステップに従うと考える。
ステップS2600において基準領域対応フィードバック調整処理が開始されると、まず、ステップS2601において基準領域対応調整用初期化処理を行う。この処理は、全体振幅値データ803および全体反復回数データ804を初期値に設定し、現在処理対象となっている調整対象レベルに対応する各面画素値変換パラメタ701の値を、フィードバック調整を実施する入力レベルのうち現在処理対象となっている中間入力レベルよりも1つ小さな入力レベル(この段階ですでにフィードバック調整が完了しているはずである)に対応する各面画素値変換パラメタ701の値で初期化し、現在処理対象となっている調整対象レベルで全面一様パターンを表示する処理である。なお、調整対象レベルが最小レベルの時は、(0,0,0)を表示し、最大レベルの時は(255,255,255)を表示する。全体振幅値データ803の決定方法については、図28を用いて説明した通りである。全体反復回数データ804の決定方法については、全体振幅値データ803の決定後、図17で説明した最小入力レベルフィードバック調整処理や図19で説明した最大入力レベルフィードバック調整処理と同様に、容易に決定することができる。
次に、ステップS2602において、撮影露出設定処理を行う。これは、現在処理対象となっている調整対象レベルに対応する全体目標値データ802を参照し、撮影装置140Aの露出を露出値903に設定する処理である。
次に、ステップS1703においてループ回数Nの初期化を行った後、ステップS1704〜ステップS1707の処理を行い、ステップS2607に進む。
ステップS2607では、現在処理対象となっている調整対象レベルに対する画素値変換パラメタ更新処理を行う。画素値変換パラメタ更新処理の詳細は、図23を用いて説明した通りである。
次に、ステップS2608において、全体反復回数データ804とループ回数Nとを比較して、所定回数の反復を完了したか否かを判定する。所定回数の反復を完了している場合には、ステップS2609に進んで基準領域対応フィードバック調整処理を終了する。
所定回数の反復を完了していないと判定された場合には、ステップS1711、ステップS1712と進み、ステップS1704に戻って処理を続ける。
以上、本実施形態によれば、映像投映装置121A〜映像投映装置121Lおよび撮影装置140A、撮影装置140E、撮影装置140I、の入出力特性データを使用せずに、調整用のパターンごとに適切な露出値を用い、基準調整領域の調整結果と滑らかに繋がるように周辺領域を調整することで、従来の技術に較べ、撮影装置1台の1方向の撮影では調整できないようなシステム構成においても、より高品質な調整結果をより安定して得ることができる。
[第2の実施形態]
以下、図29、図30を用いて、第2の実施の形態について説明する。
図29は、本実施形態における映像表示装置の調整システムを説明する図である。第1の実施形態に示すシステムと異なるのは、撮影装置および撮影装置制御装置が1台ずつである点と撮影装置移動装置2901および撮影装置移動装置制御装置2902を設置した点であり、他の要素は全て共通である。撮影装置移動装置制御装置2902はIEEE1394インタフェース、USBインタフェース、RS232Cインタフェース、ネットワークインタフェースなどを通して、全体制御装置110により制御されている。
図30は、本実施形態における映像投映装置の投映領域と撮影装置の撮影領域の関係を説明する図である。ここではスクリーンはリア投射用とし、背面から投射した映像を正面から撮影する。また、簡単のため、映像投映装置のいくつかを省略している。第1の実施形態における配置関係と異なるのは、撮影装置140E1台の位置および向きを、移動機構および首振り機構を持つ撮影装置移動装置2901によって変更できる点であり、他の要素は全て共通である。このような構成とすることで、撮影装置1台であっても、第1の実施形態で撮影装置3台を用いて撮影していた領域を、撮影位置を変更することで調整することができる。
具体的な調整方法としては、まず、ある1つの撮影領域222Eを実施形態1に記載の初期基準領域調整処理に従って調整し、次に、撮影領域222Eと重複するひとつの撮影領域222Aを撮影できるように撮影装置140Eを移動および首振りさせ、撮影領域222Aを、撮影領域222Eの調整結果と滑らかに繋がるように、第1の実施形態に記載の周辺領域調整処理に従って調整し、次に、撮影領域222Eと重複するもうひとつの撮影領域222Iを撮影できるように撮影装置140Eを移動および首振りさせ、撮影領域222Iを、撮影領域222Eの調整結果と滑らかに繋がるように、第1の実施形態に記載の周辺領域調整処理に従って調整する。以上の処理により、撮影装置が1台の場合にも移動および首振りをすることで、撮影装置の個体差および撮影方向による明るさなどの環境の変化によらず、全ての投映領域が滑らかに繋がるように調整することができる。
以上のような調整システムを実現するため、および調整順序を変更するためには、調整回数設定データ601と調整順序設定データ602を変更するだけでよい。
以上、本実施形態によれば、映像投映装置121A〜映像投映装置121Lおよび撮影装置140Aの入出力特性データを使用せずに、また、撮影装置140Aの撮影方向が変わっても、調整用のパターンごとに適切な露出値を用い、基準調整領域の調整結果と滑らかに繋がるように周辺領域を調整することで、従来の技術に較べ、撮影装置1台の1方向の撮影では調整できないようなシステム構成においても、より高品質な調整結果をより安定して得ることができる。