図1は、本発明の実施の形態の構成例を示すブロック図である。
この図において、テレビカメラ1は、被写体の光画像を対応する電気信号(例えば、NTSC信号)に光電変換し、得られたビデオ信号を出力するようになされている。また、テレビカメラ1は、ワークステーション3からRS232C端子を介して伝送されてきた制御信号に応じて、ズーム、フォーカス、露出、ホワイトバランスなどを適宜設定することが可能とされている。
パンチルタ2は、ビデオカメラ1の光軸を左右方向にパンニング(左右移動)させるとともに、上下方向にチルティング(上下移動)させるようになされている。
ワークステーション3は、パーソナルコンピュータ5から伝送されてきた制御コマンドに基づいてビデオカメラ1およびパンチルタ2を制御するとともに、ビデオカメラ1から出力されたビデオ信号を記録する。また、ワークステーション3は、インターネット4を介して、ビデオ信号や制御コマンドなどをパーソナルコンピュータ5との間で授受するようになされている。
パーソナルコンピュータ5は、ビデオカメラ1により撮像され、ワークステーション3およびインターネット4を介して伝送されてきた画像データをCRTモニタ6に表示するとともに、マウス7(入力手段)などの入力装置から入力された情報に対応する制御コマンドを、インターネット4を介してワークステーション3に伝送するようになされている。
図2は、図1に示すワークステーション3の詳細な構成例を示すブロック図である。
この図において、インタフェース30(設定手段)は、パンチルタ2に対して制御信号を出力してビデオカメラ1をパンニングまたはチルティングさせるとともに、現在のパンチルタ2の状態(パンニングおよびチルティングの状態)を取得するようになされている。CPU31(予測手段、設定手段、検索手段、変換手段、合成手段)は、装置の各部を制御するとともに、各種演算処理を実行するようになされている。
ビデオキャプチャ32は、ビデオカメラ1から出力されるNTSC規格に準拠したビデオ信号をディジタル信号(画像データ)に変換するようになされている。ハードディスクドライブ33(第1の記憶手段、第2の記憶手段)は、ビデオキャプチャ32より入力された画像データを必要に応じて記録するとともに、各種プログラムなどを記録するようになされている。
ROM34は、例えば、IPL(Initial Program Loader)などの基本的なプログラムや各種データなどを格納している。RAM36は、例えば、CPU31が所定の処理を実行する際に、演算途中のデータやプログラム等を格納するようになされている。
ネットワークインターフェース37(受信手段、送信手段)は、ワークステーション3の内部形式のデータをインターネットプロトコルに準じたデータ変換して出力するとともに、インターネット4を介して伝送されてきたデータを、ワークステーション3の内部形式のデータに変換するようになされている。
なお、ワークステーション3は、正確には、イーサネット(登録商標)を介してインターネット4に接続されている。以下では、このワークステーション3を、適宜、サーバと呼ぶことにする。
図3は、図1に示すパーソナルコンピュータ5の詳細な構成例を示すブロック図である。
この図において、ネットワークインタフェース50(送信手段)は、インターネット4を介して伝送されてきたデータをパーソナルコンピュータ5の内部形式のデータに変換するとともに、パーソナルコンピュータ5の内部形式のデータをインターネットプロトコルに準じたデータに変換し、インターネット4に出力するようになされている。
CPU51(予測手段、決定手段、選択手段)は、装置の各部を制御するとともに、各種演算処理を実行するようになされている。ROM52は、例えば、IPLなどの基本的なソフトウエアやデータなどを格納するようになされている。
フレームメモリ55(出力手段)は、ハードディスクドライブ56(第1の記憶手段、第2の記憶手段)に記録されている画像データや、インターネット4を介して伝送されてきた画像データが書き込まれると、これをRGB信号に変換してCRTモニタ6に出力するようになされている。
RAM54は、CPU51が種々の演算を行う際の途中経過のデータやプログラムなどを格納するようになされている。ハードディスクドライブ56は、インターネット4を介して伝送されてきた画像データや各種プログラムなどを記録するようになされている。
インタフェース57は、マウス7などの入力装置から出力されるデータを受信し、CPU51に対して供給するようになされている。
なお、パーソナルコンピュータ5は、ブラウザソフト並びにサーバから送られてくるJAVA(登録商標)言語で記述されたソフトウエアにより、画像表示、操作入力の受け付け、記録または再生、および、通信などの処理を行うようになされている。
次に、以上の実施の形態の動作について、図4に示すフローチャートを参照して説明する。
図4は、図3に示すパーソナルコンピュータ5において実行される処理の一例を説明するフローチャートである。
この処理が実行されると、パーソナルコンピュータ5のCPU51は、ステップS1において、初期化処理を行う。即ち、CPU51は、例えば、公衆回線などを介してインターネット4と接続してワークステーション(サーバ)3との間で情報の授受を開始する。
続くステップS2では、CPU51は、カメラ1が撮影可能な範囲の画像(以下、パノラマ画像と言う)を伝送するように、ワークステーション3に対して要求を行う。その結果、ワークステーション3のCPU31は、ビデオカメラ1によって予め撮像されてハードディスクドライブ33に格納されているパノラマ画像を読み出して、ネットワークインタフェース37を介して送信する。パーソナルコンピュータ5のCPU51は、ワークステーション3から送信されたパノラマ画像をネットワークインタフェース50により受信して、ハードディスクドライブ56に記録させるとともに、CRTモニタ6に表示させる。
図5は、このとき、CRTモニタ6に表示される画像の表示例である。この表示例では、パノラマ画像100が表示され、その中央にビデオカメラ1により現在撮影されている画像が枠101で囲繞されて示されている。この枠101は、CRTモニタ6の画面と同一のアスペクト比となるようにされている。また、枠101内部の画像は、画面の右上部に拡大されて、現在撮影中の画像102として表示される。操作実行前のプレビュー画像(以下、適宜プレビュー画像という)104および枠102に関しては後述する。
なお、長方形の枠を表示する代わりに、枠内部の領域の色調を他の部分とは異なるようにし、この領域が目立つようにしてもよい。
ステップS3において、CPU51は、イベント待ち状態となる。即ち、CPU51は、例えば、マウス7が移動されたり、ボタンが操作されるなどのイベントが発生するまで待機する。そして、イベントが発生した場合には、ステップS4に進む。
ステップS4では、CPU51は、マウス7のボタンが押された(プレスされた)か否かを判定する。その結果、ボタンが押された(YES)と判定した場合には、ステップS5に進む。また、ボタンが押されていない(NO)と判定した場合は、ステップS12に進む。
ステップS4において、マウス7のボタンが押された(YES)と判定された場合には、ステップS5に進む。ステップS5では、マウス7の画面上における位置が取得され、ステップS6に進む。
ステップS6では、CPU51は、マウス7のボタンが押された位置が図4に示す枠101の上(または、枠の近傍)であるか否かを判定する。その結果、マウス7のボタンが押された位置が枠101の上ではない(NO)と判定した場合には、ステップS7に進む。また、枠101の上である(YES)と判定した場合には、ステップS10に進む。
ステップS10では、画角変更のためのドラッグ処理が開始される。即ち、CPU51は、図6に示すように、マウス7の移動距離に応じて枠101を拡大または縮小して新たな枠102として表示する。このとき、枠102は、枠101と同一の中心点とされるとともに、元の枠101と相似形になるように描画される。そして、ステップS9に進む。
ステップS6において、枠101の上ではない(NO)と判定された場合には、ステップS7に進み、枠101の内部でマウス7のボタンが押されたか否かを判定する。その結果、枠101の内部ではない(NO)と判定された場合には、ステップS8に進む。また、枠101の内部である(YES)と判定した場合には、ステップS11に進み、画角を一定に保ったままのドラッグが開始される。即ち、CPU51は、マウス7の移動に応じて、同じ大きさの枠102を新たに描画するとともに、以前の枠102を消去する。その結果、枠102は、マウス7に追従するように移動されることになる。そして、ステップS9に進む。
ステップS7において、枠101の内部ではない(NO)と判定された場合には、ステップS8に進む。ステップS8においては、CPU51は、マウス7のボタンが押された位置を中心として新たな枠102を表示する。そして、マウス7が移動されている場合には、新たに表示された枠102の移動を開始する。即ち、枠101の位置とは無関係に枠102(枠101と同サイズの枠)が描画される。
続くステップS9においては、CPU51は、ハードディスクドライブ56に格納されているパノラマ画像から、枠102により囲繞されている領域に対応する画像データを読み出し、拡大または縮小などの処理を施した後、図5に示すように、画面の左上部に操作実行前のプレビュー画像104として表示する。そして、ステップS3に戻り、前述の場合と同様の処理を繰り返すことになる。
また、ステップS4において、マウス7のボタンが押されていない(NO)とCPU51が判定した場合には、ステップS12に進む。ステップS12では、マウス7のボタンがリリースされた(離された)か否かを判定する。その結果、マウス7のボタンがリリースされた(YES)と判定した場合にはステップS13に進み、また、ボタンがリリースされていない(NO)と判定した場合には、ステップS17に進む。なお、以下では、ステップS18乃至ステップS21の処理をステップS13乃至ステップS16の処理に優先して説明する。
ステップS17では、CPU51は、マウス7が移動されているか否かを判定する。その結果、マウス7が移動されていない(NO)と判定した場合には、ステップS23に進む。また、マウス7が移動されている(YES)と判定した場合には、ステップS18に進む。
ステップS18では、CPU51は、マウス7がドラッグ中(ボタンが押されたまま移動されている状態)であるか否かを判定する。その結果、マウス7がドラッグ中ではない(NO)と判定した場合には、ステップS3の処理に戻り、前述の場合と同様の処理を繰り返す。また、ドラッグ中である(YES)と判定した場合にはステップS19に進む。
ステップS19では、画角の変更処理を現在実行中であるか否かが判定される。即ち、CPU51は、前回の処理のステップS6において、枠101の上でマウス7のボタンが押されたと判定した場合には、YESと判定して、ステップS22に進む。また、その他の場合には、ステップS20に進む。
ステップS20では、CPU51は、マウス7の移動方向に対応して大きさの等しい新たな枠102を描画するとともに、以前の枠102を消去する。その結果、枠102がマウス7に追従して移動することになる。
また、ステップS19において、NOと判定された場合には、ステップS22に進み、CPU51は、マウス7のボタンが押された時点における枠102(または枠101)の大きさを基準とし、マウス7の移動距離に応じて、枠102を縮小または拡大して描画する。そして、ステップS21に進む。
ステップS21では、CPU51は、ステップS20またはステップS22において描画された新たな枠102によって囲繞される領域に対応する画像データを、ハードディスクドライブ56から読み出して、フレームメモリ55の所定の領域に書き込む。その結果、枠102によって指定される領域の画像が、プレビュー画像104として表示されることになる。そして、ステップS3に戻り、前述の場合と同様の処理が繰り返される。
ところで、ステップS12において、マウス7のボタンがリリースされた(YES)と判定された場合には、ステップS13に進むことになる。
ステップS13では、CPU51は、ドラッグ処理を終了する。即ち、新たな枠102の描画処理とプレビュー画像104の表示処理とを中断する。その結果、枠102はパノラマ画像100の所定の位置に表示されたままの状態となり、また、プレビュー画像104としては、枠102により囲繞された領域の画像が表示された状態となる。
続くステップS14では、CPU51は、枠102の位置および大きさから、パンチルタ2の移動させるべき方向と画角をそれぞれ算出する。即ち、枠102の中心位置を算出し、その方向にビデオカメラ1の光軸が向くように、パンチルタ2のパン量とチルト量とを算出する。また、枠102の大きさを元にして、ビデオカメラ1のズーム量を算出する。そして、ステップS15に進む。
ステップS15では、CPU51は、ステップS14において算出したパン量、チルト量、および、ズーム量をネットワークインタフェース37に供給し、インターネット4を介してワークステーション3に伝送させる。
その結果、ワークステーション3では、ネットワークインタフェース37により伝送されてきたデータを受信する。そして、CPU31は、受信したパン量とチルト量とをインタフェース30を介して、パンチルタ2に供給する。その結果、パンチルタ2は、パン量に応じた角度だけビデオカメラ1を左右方向に移動させるとともに、チルト量に応じた角度だけ上下方向にビデオカメラ1を上下方向に移動させる。
更に、CPU31は、ズーム量をインターフェース30を介してビデオカメラ1に対して出力する。その結果、ビデオカメラ1の光学系が制御されて、ズーム量に対応した分だけズーミングが行われることになる。
ビデオカメラ1およびパンチルタ2の設定が終了すると、CPU31は、ビデオカメラ1から出力される画像をビデオキャプチャ32によりディジタルデータ(画像データ)に変換し、ネットワークインタフェース37を介して、パーソナルコンピュータ5に対して送信する。このようにして送信された画像データは、ステップS23以降の処理により受信されて表示されることになる。なお、その詳細については後述する。
図4に戻って、ステップS16では、枠102およびプレビュー画像104が画面上から消去される。即ち、現在撮影されている画像のみが画面上に表示されることになる。そして、ステップS3の処理に戻り、前述の場合と同様の処理を繰り返すことになる。
ところで、ステップS17において、マウス7が移動されていない(NO)と判定された場合には、ステップS23に進むことになる。
ステップS23では、CPU51は、ワークステーション3から伝送されてきた画像データを受信したか否かを判定する。その結果、画像データを受信していない(NO)と判定した場合には、ステップS26に進み、エラーが生じたことを示すメッセージ(例えば、「通信エラーが発生しました。」)をCRTモニタ6に表示し(イベントが発生している場合に、ステップS4,S12,S17,S23の全てにおいてNOと判定されることはあり得ないので)、ステップS3に戻って、前述の場合と同様の処理を繰り返す。また、ステップS23において、画像データを受信した(YES)と判定した場合にはステップS24に進む。
ステップS24においては、CPU51は、ネットワークインタフェース50により受信した画像データを、現在撮影中の画像102として、CRTモニタ6に表示する。そして、ステップS25に進み、CPU51は、次の画像の送信を要求するコマンドを、ネットワークインタフェース50を介して、ワークステーション3に対して送出する。そして、ステップS3に戻り、前述の場合と同様の処理を繰り返すことになる。
次に、以上の処理を更に具体的に説明する。
いま、パーソナルコンピュータ5の電源が投入されたとすると、ステップS1において、初期化が実行されるとともに、ワークステーション3との間に回線が閉結される。そして、ステップS2において、パーソナルコンピュータ5は、ワークステーション3に対してパノラマ画像を伝送するように要求するコマンドを送信し、その結果として受信されたパノラマ画像をCRTモニタ6に表示する(図5参照)とともに、ハードディスクドライブ56に格納する。
ステップS3では、イベント待ちの状態となり、マウスが操作されたり、画像データが受信されるまで待機状態となる。
いま、例えば、図5に示す画面(正確には、プレビュー画像104と枠102とが表示されていない画面)において、枠101の上においてマウス7のボタンが押されたとすると、ステップS3からステップS4に進み、そこでYESと判定されて、ステップS5に進む。
ステップS5では、マウス7の位置が取得され、ステップS6では、この取得された位置により、マウスカーソルが枠101の上に存在しているか否かが判定される。いま、枠101の上に存在しているので、YESと判定されてステップS10に進む。
ステップS10では、枠102が画面上に新たに表示され(枠101と同じ位置に表示され)、マウス7の動きに応じて枠102の画角(大きさ)が適宜変更される処理が開始されることになる。
また、枠101の枠内にマウスカーソルがある場合に、マウス7のボタンが押されたときには、ステップS7においてYESと判定され、ステップS11に進む。ステップS11では、枠102が新たに表示され(枠101と同じ位置に表示され)、画角が一定に保たれたままで、枠102がマウス7に追従して移動される処理が開始されることになる。
更に、枠101とは異なる領域においてマウス7のボタンが押された場合には、ボタンが押された場合のカーソルの位置を中心として、枠101と同様の大きさの枠102が表示される。そして、ステップS9では、プレビュー画像104が生成され、CRTモニタ6の画面上に表示されることになる。
そして、新たな枠102が表示された状態において、マウス7がドラッグされると、ボタンはリリースされていないので、ステップS12ではNOと判定され、ステップS17に進み、そこで、YESと判定され、ステップS18に進む。
ステップS18では、ドラッグ中であるのでYESと判定され、ステップS19に進む。ステップS19では、画角を変更する処理が行われているか否かが判定され、画角を変更する処理を実行中である場合(ドラッグの開始点が枠101の上であった場合)には、ステップS22に進み、枠102の大きさがマウス7移動距離に応じて変更される。また、その他の場合(ドラッグの開始点が枠102の内部または外部である場合)は、枠102をマウス7に応じて移動させる。そして、ステップS21において、プレビュー画像104が画面上に表示されることになる。
従って、マウス7がドラッグされている際には、枠102により囲繞されている領域に対応する画像が、プレビュー画像104として画面上に次々と表示されるので、操作者は、この画像を参照しながら、実際に見たい部分を検索することが可能となる。
そして、実際に見たい部分が決定した場合には、マウス7のドラッグが中止されて、ボタンがリリースされるので、ステップS12においてYESと判定され、ステップS14において、現在の枠102の大きさと位置からズーム量、パン量、および、チルト量が算出され、ワークステーション3に対して送信される。その結果、ビデオカメラ1の光軸の方向が制御されるとともに、ズーミングが行われ、得られた画像データがインターネット4を介して伝送されてくる。
画像データを受信したパーソナルコンピュータ5は、ステップS23において、画像を受信した(YES)と判定し、ステップS24に進み、受信した画像をCRTモニタ6に表示する。そして、ステップS25に進み、次の画像の送信を要求する。以下、同様の処理が繰り返され、ビデオカメラ1により撮像された画像が次々と伝送され、CRT6の画面に現在撮影中の画像102として表示されることになる。
なお、図7に示すように、枠101と枠102の一部が重なっている場合には、重なっている部分の領域の画像は、ビデオカメラ1により現在撮影されて伝送されてきている画像を表示し、また、それ以外の領域は、パノラマ画像から抽出して表示するようにしてもよい。そのような方法によれば、枠102と枠101の領域が重なっている場合には、一部動画を表示することが可能となる。
更に、図8に示すように、現在撮影中の画像の一部の領域を拡大(ズーミング)する場合には、パノラマ画像を用いずに、ビデオカメラ1により撮像されて伝送されて来ている画像データを拡大して表示するようにしてもよい。その場合、元の画像を構成している各画素を所定倍数の画素により表現する処理(アップコンバート処理)を行うようにすれば、画像を動画として表示することも可能である。
更にまた、図9に示すように、ワークステーション3側から複数の画像が既に伝送されきている場合には、パノラマ画像を用いる代わりに、これらの画像を用いてプレビュー画像104を表示させることも可能である。
即ち、パーソナルコンピュータ5において、何回かの操作(ビデオカメラ1を制御する操作)が実行され、ワークステーション3から異なる複数の画像が伝送された場合には、ハードディスクドライブ56には、例えば、図9に示すように画像A乃至Lが格納されている。そのような場合には、パノラマ画像の代わりに最新の画像である画像A乃至Lを用いることができる。
そのような場合の動作について、図10および図11のフローチャートを参照して説明する。
なお、以下の実施の形態においては、ワークステーション3から伝送されてくる画像データには、その画像データの撮影情報を示す付帯情報が付加されおり、パーソナルコンピュータ5のCPU51は、付帯情報が付加された画像データを受信して、ハードディスクドライブ56に格納する。付加情報は、パンチルタの制御量(パン量およびチルト量)、ホワイトバランス値、露出値、ズーム値、フォーカス値、および、撮影がなされた日時などから構成される情報である。
図10に示す処理は、図4に示すステップS9およびステップS21に該当する処理であり、これらの処理を以下に示す処理により置換することにより、パノラマ画像の代わりに最新の画像を用いてプレビュー画像を表示することが可能となる。
図10に示す処理が実行されると、ステップS40において、パーソナルコンピュータ5のCPU51は、生成しようとするプレビュー画像(以下、適宜目的画像と記述する)の設定情報を取得する。即ち、図4のステップS8,S19,S22において取得された枠102の画角および位置を取得する。また、生成しようとする目的画像の撮像条件(例えば、ホワイトバランス値、露出値、ズーム値など)を、例えば、図12に示すような設定画面において入力する。
図12に示す設定画面では、ホワイトバランス値、露出値、および、ズーム値がそれぞれ対応するスライダを適宜上下することにより入力されるようになされている。例えば、画面左端のホワイトバランスでは、スライダ200を上端まで移動させた場合には、ホワイトバランス値は6000゜Kに設定される。また、スライダ200を下端まで移動させた場合には、ホワイトバランス値は、3000゜Kに設定される。
図10に戻って、ステップS41では、CPU51は、ハードディスクドライブ56に格納されている付帯情報を参照し、目的画像を生成する際に必要な画角を含んでいる画像データ(以下、適宜、元画像と記述する)を検索する。即ち、図13に示すように、太枠で示す目的画像を生成する場合には、画像A乃至Dが検索されることになる。
続くステップS42においては、生成しようとする目的画像を、同一の元画像から生成することができる領域に分割する。即ち、図13に示すように、目的画像に対応する領域を領域1乃至領域10に分割する。そして、ステップS43に進む。
ステップS43では、領域1乃至10のそれぞれの領域において最適な元画像を選択し、選択した元画像に対して所定の変換処理を施して合成する。なお、この処理の詳細については図11を参照して後述する。
ステップS44においては、ステップS43において合成された画像がCRTモニタ6に表示されることになる。
次に、図11を参照してステップS43の処理の詳細について説明する。
この処理が実行されるとステップS60において、CPU51は、変数Dに対して分割された領域の数(図13の例では値“10”)を代入する。そして、ステップS61に進む。
ステップS61では、CPU51は、処理回数を格納する変数iを値0に初期設定する。
続くステップS62においては、CPU51は、第i番目の領域において、最適な元画像を選択する。例えば、i=5であるとすると、対象となる領域は領域5となる。この領域5を含む元画像としては、画像Aと画像Bとが存在する。画像Bは画像Aよりも狭い撮像範囲で撮影されているので、例えば、最適な画像としては解像度が高い画像Bの方が選択されることになる。
なお、撮影画像が時事刻々と変化する場合には、例えば、撮影時刻が目標の時刻により近い方を選択するようにしてもよい。
また、元画像が存在しない領域(例えば、図13の領域6)は、例えば、画像を表示しないようにするか、または、この部分だけパノラマ画像から取得するようにしてもよい。
ステップS63においては、CPU51は、ステップS62において選択された元画像の付帯情報を参照して、この選択された画像が、生成しようとする目的画像と同一の倍率の画像となるように、選択された画像に対して拡大または縮小処理を行う。
ステップS64では、CPU51は、ステップS62において選択された元画像が、生成しようとする目的画像の撮影条件と同一になるように、選択された元画像に対して所定の変換処理を施す。なお、この処理の詳細については後述する。
ステップS65では、CPU51は、変換処理が施された元画像をフレームメモリ55の所定の領域に書き込むとともに、既にフレームメモリ55上に格納されている他の元画像との境界面が自然に連接されるようにスムージング処理を施す。
ステップS66では、変数iの値が1だけインクリメントされ、ステップS67において、変数iの値が分割された領域数Dよりも小さいか否かが判定され、その結果、iの値がDの値よりも小さい(YES)と判定された場合には、ステップS62に戻り、前述の場合と同様の処理が繰り返される。また、iの値がDの値以上である(NO)と判定された場合には、ステップS44の処理に復帰(リターン)する。
図14は、ステップS64において実行される変換処理の詳細をブロック図として示したものである。この図では、図の左端から元画像が入力され、種々の変換が施された後、図の右端から変換後の画像(目的画像)が出力される。なお、図14の上部に示されているシグナルフローは、図の下部に示されているブロック図の概要を説明している。
以下では、図14の上部に示されているシグナルフローについて説明した後、図の下部に示されているブロック図を参照して変換処理について詳述する。
この図において、入力された元画像の画素値500は、変換部501に供給される。一方、元画像の撮影条件503は、比較部504に入力される。また、この比較部504には目的画像の撮影条件505も入力されている。比較部504は、元画像の撮影条件503と目的画像の撮影条件505とを比較し、その比較結果を変換部501に対して供給する。
変換部501は、目的画像の撮影条件と同一になるように、入力された元画像の画素値500に対して変換処理を施す。そして、得られた画素値を目的画像の画素値502として出力する。以上の処理の結果、入力された元画像の画素値500は、目的画像と同一の撮影条件の画像に変換されて出力される。従って、全ての領域(図13では領域1乃至10)の画素値に対して同様の処理を繰り返すことにより、異なる撮影条件において撮影された画像から、同一の撮影条件において撮影された1枚の画像を近似的に合成することが可能となる。
次に、図14の下部に示す図について説明する。
R,G,Bの三原色から構成される元画像の画素値400(元画像の画素値500に対応する)は、デガンマ処理部300−1乃至300−3にそれぞれ供給される。デガンマ処理部300−1乃至300−3は、ガンマ補正が施されている画素値に対して逆ガンマ処理を施し、輝度に比例した値を有する画素値に変換する。
乗算部301−1乃至301−3は、デガンマ処理部300−1乃至300−3から出力された画素値に対して露出値較正処理部308の出力を乗算し、得られた画素値を出力する。露出値較正処理部308は、元画像の露出値307と目的画像の露出値311とを比較し、例えば、AGC(Auto Gain Control)と絞りが固定であるならば、電子シャッタの時間の比を乗算部301−1乃至301−3に出力する。その結果、乗算部301−1乃至301−3から出力される画素値は、目的画像と同一の露出値により撮影された場合の想定値に変換される。
飽和処理部302−1乃至302−3は、CCDの各色の画素の飽和特性を考慮した変換を施す。即ち、CCDは所定以上の強度の光が入射されると出力が飽和するので、乗算部301−1乃至301−3から出力された画素値が同様の特性を有するようにクリッピング処理を施す。
色温度デコード処理部309は、元画像のホワイトバランス値306と目的画像のホワイトバランス値310とを比較し、各色毎の補正量を算出し、算出された補正量を乗算部303−1乃至303−3に対して出力する。乗算部303−1乃至303−3は、飽和処理部302−1乃至302−3から出力される画素値に対して色温度デコード処理部309から出力される補正量を乗算して出力する。
色消し処理部304は、画素値が高輝度または低輝度の範囲であることに起因して色の再現が困難である場合には、色を消す処理を行い、得られた画素値を出力する。ガンマ処理部305−1乃至305−3は、色消し処理が施された画素値に対してガンマ処理を施し、R’,G’,B’の画素値(目的画像の画素値)として出力する。
このような処理により、目的画像の撮影条件と元画像の撮影条件に応じて元画像の画素値が変換されて出力されることになる。即ち、以上の処理を要約すると、ビデオカメラ1の内部で行われる信号処理をクライアント側(パーソナルコンピュータ5側)で再度実行し、目的画像の撮影条件と同一の条件で撮影された場合に得られると想定される画像を生成する。従って、以上のような実施の形態によれば撮影条件の異なる複数の元画像から、所定の撮影条件下において撮影されたのと同等の画像(目的画像)に変換することが可能となる。
以上の実施の形態によれば、ビデオカメラ1とパーソナルコンピュータ5が通信回線などにより接続されている場合、操作者側に存在しているパノラマ画像や既に伝送されている画像を用いて操作の結果を予測して表示するようにしたので、所望の画像を得るための試行錯誤が操作者付近ですべて行われることになり、制御を迅速に行うことが可能となる。また、確定された制御信号のみが伝送されることになるので、ビデオカメラ1に余計な負担がかかることを防止することも可能となる。
なお、以上の実施の形態においては、画像データの変換処理と合成処理をパーソナルコンピュータ5において行うようにしたが、例えば、同様の処理をワークステーション3において実行することも可能である。その場合、ワークステーション3のハードディスクドライブ33に格納されている画像から合成処理を行うことから、パーソナルコンピュータ5側に画像が多数伝送されていない場合においても、上述のような処理を実行することができる。
また、以上の実施の形態においては、パーソナルコンピュータ5によりビデオカメラ1を制御するようにしたが、ワークステーション3を画像データベースと見なし、所望の画像データを検索する際に、以上の実施の形態を適用するようにしてもよい。そのような実施の形態によれば、過去に遡って画像を検索したり、実際には撮像していない方向または倍率の画像を生成したり、撮像条件を変えた画像を生成することも可能である。
なお、明細書中において、伝送媒体は、FD,CD−ROMなどの情報記録媒体の他、インターネット、ディジタル衛星などのネットワーク伝送媒体も含まれる。
7 マウス(入力手段), 30 インタフェース(設定手段), 31 CPU(予測手段、設定手段、合成手段), 33 ハードディスクドライブ(第1の記憶手段、第2の記憶手段), 37 ネットワークインタフェース(受信手段、送信手段), 50 ネットワークインタフェース(送信手段), 51 CPU(予測手段、決定手段、選択手段、検索手段、変換手段、合成手段), 55 フレームメモリ(出力手段), 56 ハードディスクドライブ(第1の記憶手段、第2の記憶手段)