以下、本発明の実施形態について添付の図面を参照して具体的に説明する。図1は、本発明の実施形態に係る撮像装置(画像処理装置)の構成を示すブロック図である。
本実施形態に係る撮像装置100には、撮影レンズ10、絞り機能を備えるシャッター12、光学像を電気信号に変換する撮像素子14、及びこの撮像素子14のアナログ出力信号をディジタル信号に変換するA/D変換器16が設けられている。更に、撮影レンズ10を含む撮像部を覆い、撮像部の汚れ及び破損を防止するバリア102が設けられている。また、画像表示メモリ24、及びこの画像表示メモリ24を制御するメモリ制御回路22が設けられおり、A/D変換器16の出力データは、例えばメモリ制御回路22を介して画像表示メモリ24に記憶される。更に、A/D変換器16の出力データ及びメモリ制御回路22の出力データに対して所定の画素補間処理及び/又は色変換処理を行う画像処理回路20も設けられている。画像処理回路20は、撮像した画像データを用いて所定の演算処理を行い、得られた演算結果に基づいてTTL(スルー・ザ・レンズ)方式のAWB(オートホワイトバランス)処理を行うことができる。また、メモリ制御回路22の出力データ(ディジタル信号)をアナログ信号に変換するD/A変換器26、及びこのD/A変換器26の出力データを表示する画像表示部28が設けられている。従って、画像表示メモリ24に記憶された表示用の画像データはD/A変換器26を介して画像表示部28により表示される。更にまた、撮像素子14、A/D変換器16、及びD/A変換器26にクロック信号及び制御信号を供給するタイミング発生回路18が設けられている。メモリ制御回路22は、A/D変換器16、タイミング発生回路18、画像処理回路20、及びD/A変換器26の制御も行う。
画像表示部28には、例えばTFT−LCDが設けられている。画像表示部28に表示される内容としては、シングルショット/連写撮影表示、セルフタイマー表示、圧縮率表示、記録画素数表示、記録枚数表示、残撮影可能枚数表示、シャッタースピード表示、絞り値表示、露出補正表示、及びフラッシュ表示等が挙げられる。また、赤目緩和表示、マクロ撮影表示、ブザー設定表示、時計用電池残量表示、電池残量表示、エラー表示、複数桁の数字による情報表示、外部記録媒体の着脱状態表示、通信I/F動作表示、日付・時刻表示、及び外部機器との接続状態を示す表示等も挙げられる。なお、画像表示部28は、例えば、外部から視認しやすい位置に取り付けられており、回転及び開閉可能となっている。また、画像表示部28は電子ファインダとしても機能する。
本実施形態には、光学ファインダ104が設けられている。光学ファインダ104はファインダとして機能すると共に、表示部として機能も有する。光学ファインダ104に表示される内容としては、例えば、合焦表示、撮影準備完了表示、手振れ警告表示、フラッシュ充電表示、フラッシュ充電完了表示、シャッタースピード表示、絞り値表示、露出補正表示、及び記録媒体書き込み動作表示等が挙げられる。
更に、本実施形態には、表示部として、LED及びランプ等(図示せず)が設けられている。LEDに表示される内容としては、例えば、合焦表示、撮影準備完了表示、手振れ警告表示、手振れ警告表示、フラッシュ充電表示、フラッシュ充電完了表示、記録媒体書き込み動作表示、マクロ撮影設定通知表示、及び二次電池充電状態表示等が挙げられる。また、ランプに表示される内容としては、例えば、セルフタイマー通知ランプ等が挙げられる。このセルフタイマー通知ランプは、AF補助光と共用して用いてもよい。
なお、A/D変換器16の出力データが画像処理回路20及びメモリ制御回路22を介して画像表示メモリ24に記憶されることもある。また、撮像した画像データを画像表示部28を用いて逐次表示すれば、電子ファインダ機能を実現することが可能である。また、画像表示部28は、システム制御部50の指示により任意に表示をON/OFFすることが可能であり、表示をOFFにした場合には撮像装置100の電力消費を大幅に低減することができる。
本実施形態には、また、撮影した静止画像及び/又は動画像を記憶するメモリ30が設けられている。メモリ30の容量は大きいほど好ましく、複数枚の静止画像データを連続して撮影する連写撮影及びパノラマ撮影の場合にも、大量の画像データを高速に記憶できる程度であることがより好ましい。メモリ30には、A/D変換器16の出力データが、画像処理回路20及びメモリ制御回路22を介して、又はメモリ制御回路22のみを介して、記憶される。本実施形態には、更に、電気的に消去・記録可能な不揮発性メモリ31、圧縮・伸長回路32、及びリアルタイムクロック(RTC)33が設けられている。不揮発性メモリ31としては、例えばEEPROM又はフラッシュメモリ等が用いられる。圧縮・伸長回路32は、適応離散コサイン変換(ADCT)及びウェーブレット変換等により、メモリ30に記憶されている画像データを読み込んで圧縮処理又は伸長処理を行い、処理後の画像データをメモリ30に記憶させる。リアルタイムクロック33は、日付及び時刻等の実時間を計時する。メモリ制御回路22は、メモリ30及び圧縮・伸長回路32の制御も行う。
本実施形態には、また、シャッター12を制御する露光制御部40、撮影レンズ10のフォーカシングを制御する測距制御部42、撮影レンズ10のズーミングを制御するズーム制御部44、及びバリア102の動作を制御するバリア制御部46が設けられている。更に、電源86のコネクタ84が接続されるコネクタ82が設けられている。電源86としては、例えば、アルカリ電池若しくはリチウム電池等の一次電池、NiCd電池、NiMH電池、Li−ion電池等の二次電池、又はACアダプター等が用いられる。また、コネクタ82には、電源制御部80が接続されている。電源制御部80には、電池検出回路、DC−DCコンバータ、及び通電するブロックを切り替えるスイッチ回路等が含まれている。電源制御部80は、電源86の装着の有無、電源86の種類、電源86の残量の検出を行い、この検出結果等に基づいて、内部のDC−DCコンバータを制御し、必要な電圧を必要な期間、撮像装置100内の所定の部位に供給する。なお、リアルタイムクロック33は、電源86とは独立した電源を備えており、電源86からの電力の供給がない期間でも動作し続ける。また、フラッシュ404のコネクタ402が接続されるコネクタ48も設けられている。露光制御部40及びフラッシュ404により、AF補助光の投光機能、及びフラッシュ調光機能が発揮し得る。
本実施形態には、また、記録部202、インタフェース(I/F)204及びコネクタ206を備えた記録媒体200のコネクタ206が接続されるコネクタ92が設けられている。記録部202としては、例えば半導体メモリ又は磁気ディスク等から構成されている。コネクタ92には、インタフェースとして機能するメディアコントローラ90が接続されている。
本実施形態には、更に、発音部304、アンプ(AMP)303及びコネクタ302を備えたスピーカ300のコネクタ302が接続されるコネクタ91が設けられている。コネクタ91には、インタフェースとして機能するオーディオコントローラ301が接続されている。
そして、本実施形態には、これらの各部を制御するシステム制御部50が設けられている。例えば、タイミング発生回路18は、メモリ制御回路22及びシステム制御部50により制御される。また、画像処理回路20が、撮像した画像データを用いて所定の演算処理を行い、得られた演算結果に基づいてシステム制御部50が露光制御部40及び測距制御部42の制御を行うことがある。このような制御としては、例えば、TTL(スルー・ザ・レンズ)方式のAF(オートフォーカス)処理、AE(自動露出)処理、及びEF(フラッシュプリ発光)処理が挙げられる。なお、システム制御部50は、必要に応じてメモリ30を作業領域としても使用し、メモリ30は、システム制御部50の動作用の定数、変数、プログラム等を記憶することも可能である。
本実施形態には、更に、電源スイッチ(メインスイッチ)68、シャッタースイッチ62及び64、画像表示ON/OFFスイッチ66、操作部70、記録媒体着脱検知部98、通信部110及びコネクタ112が設けられている。電源スイッチ(メインスイッチ)68は、撮像装置100の電源オン、電源オフの各モードをユーザが切り替え設定する際に操作するスイッチである。また、撮像装置100に接続された各種付属装置の電源オン、電源オフの設定も合わせて切り替え設定することができる。シャッタースイッチ62は、シャッターボタン(図示せず)の操作途中でオンとなり、ユーザがAF処理、AE処理、AWB処理、EF(フラッシュプリ発光)処理等の動作開始を指示する際に操作するスイッチである。シャッタースイッチ62がオンになると、信号SW1がオンとなる。シャッタースイッチ64は、シャッターボタン(図示せず)の操作完了でオンとなり、ユーザが露光処理、現像処理及び記録処理を含む一連の処理の動作開始を指示する際に操作するスイッチである。露光処理では、撮像素子14から出力された信号が、A/D変換器16、メモリ制御回路22を介してメモリ30に画像データを書き込まれる。現像処理では、画像処理回路20やメモリ制御回路22での演算を用いた現像が行われる。記録処理では、メモリ30から画像データを読み出し、圧縮・伸長回路32で圧縮を行い、記録媒体200に画像データが書き込まれる。シャッタースイッチ64がオンになると、信号SW2がオンとなる。
画像表示ON/OFFスイッチ66は、画像表示部28のオン/オフをユーザが切り替える際に操作するスイッチである。
操作部70には、例えば、メニューボタン、セットボタン、マクロボタン、マルチ画面再生改ページボタン、フラッシュ設定ボタン、及び単写/連写/セルフタイマー切り替えボタンが設けられている。また、メニュー移動+(プラス)ボタン、メニュー移動−(マイナス)ボタン、再生画像移動+(プラス)ボタン、再生画像−(マイナス)ボタン、撮影画質選択ボタン、露出補正ボタン、日付/時間設定ボタン、及び圧縮モードスイッチが設けられている。撮影直後に撮影した画像データが画像表示部28に自動再生表示されるクイックレビュー機能の設定用のクイックレビュースイッチ、並びに撮影、再生及び/又は通信を実行する際の各種機能の選択及び切り替え用の選択/切り替えスイッチも設けられている。更に、撮影、再生及び/又は通信を実行する際に各種機能の決定及び実行を設定する決定/実行スイッチ等も設けられている。これらは、機械的なボタン又はタッチパネル等から構成されている。
圧縮モードスイッチは、ユーザが、JPEG(Joint Photographic Expert Group)圧縮の圧縮率を選択する際に操作されるスイッチである。また、撮像素子14の信号をそのままディジタル化して記録媒体200に記録するCCDRAWモードを選択する際にも圧縮モードスイッチが操作される。また、本実施形態では、JPEG圧縮モードとして、例えばノーマルモード及びファインモードが用意されている。従って、撮像装置100のユーザは、撮影した画像データのデータサイズを重視する場合はノーマルモードを選択すればよく、撮影した画像データの画質を重視する場合はファインモードを選択すればよい。JPEG圧縮モードにおいては、メモリ30に書き込まれた画像データをシステム制御部50が読み出し、設定された圧縮率で圧縮・伸長回路32が圧縮し、必要に応じて暗号/復号回路(図示せず)が所定の暗号化処理を行った後、記録媒体200に記録される。CCDRAWモードでは、撮像素子14の色フィルタの画素配列に応じて、ライン毎にそのまま画像データを読み出して、メモリ30に書き込まれた画像データをシステム制御部50が読み出す。そして、必要に応じて暗号/復号回路が所定の暗号化処理を行った後、記録媒体200に記録される。
また、記録媒体着脱検知部98は、記録媒体200がコネクタ92に接続されたことを検知する。
通信部110は、Bluetooth等の無線通信機能、又はTDMA(Time Division Multiple Access)方式、CDMA(Code Division Multiple Access)方式、W−CDMA(Wideband Code Division Multiple Access)方式、若しくはPHS(Personal Handyphone System)方式等の携帯電話通信機能を有する。通信部110が、RS232C、USB(Universal Serial Bus)、IEEE(Institute of Electrical and Electronics Engineers)1394、P1284、SCSI(Small Computer System Interface)、モデム、LAN(Local Area Network)等の有線通信、IrDA(Infrared Data Association)等の赤外線通信、又は光通信等の各種通信機能を有していてもよい。
コネクタ112は、通信部110を介してシステム制御部50がパケット網又はネットワークを介して画像情報管理装置(画像ゲートウェイ)と接続する際に信号の送受信を行う。なお、無線通信の場合はコネクタ112に代えて、例えばアンテナが用いられる
本実施形態には、更に、モード選択スイッチ60が設けられている。このモード選択スイッチ60を介して、ユーザが、通常撮影モード、パノラマ撮影モードといった撮影モード、通常再生モード、マルチ画面再生・消去モードといった再生モード等の各動作モードを切り替え設定することができる。
次に、上述のように構成された撮像装置100の動作について説明する。図2は、本発明の実施形態に係る撮像装置100の動作を示すフローチャートである。この動作は、主にシステム制御部50による所定のプログラムに基づく制御により行われる。
先ず、システム制御部50は、コネクタ112の状態を通信部110を介して調査し、他の撮像装置と通信中であるか判断する(ステップS3001)。そして、通信中である場合には、システム制御部50は、所定の通信処理を行う(ステップS3201)。この通信処理の詳細については後述する。
一方、通信中でない場合には、撮影動作が選択されているか再生動作が選択されているか判断する(ステップS3002)。そして、システム制御部50は、撮影動作が選択されている場合にはステップS3003の処理を行い、再生動作が選択されている場合にはステップS3101の処理を行う。
ステップS3003では、システム制御部50が撮像素子14を制御して被写体を撮像し、画像データを生成する処理を行う。画像データの撮像処理は様々な形態で実現され得るが、本実施形態では、前記撮像装置のメモリ30に撮像どのような形態でもよい。次に、システム制御部50が、撮影した画像のデータを、例えばメモリ30に記録する(ステップS3004)。また、任意の圧縮処理、画像処理フラグがたっている場合は、メモリ30に記録された画像データに対する画像処理等が行われ、記録媒体200に記録される(ステップS3004)。
ステップS3101では、記録媒体200に格納されている画像データの再生処理をシステム制御部50が行う。
そして、ステップS3004、S3101及びS3201の後には、システム制御部50が、動作終了が選択されているか判断し(ステップS3005)、動作終了が選択されていれば、処理を終了する。一方、動作終了が選択されていない場合は、システム制御部50は、ステップSS3001に戻って処理を継続する。
次に、ステップS3201の通信処理について説明する。図3は、撮像装置100の通信の一態様を示す模式図である。
図3に示す例では、転送元カメラ2001(送信元)と転送先カメラ2002(送信先)とが通信媒体2003を介して通信を行っている。即ち、転送先カメラ2002から転送元カメラ2001に対して画像データの転送の要求がなされると、転送元カメラ2001が転送先カメラ2002に、要求に沿った画像データの転送を行う。本実施形態における画像の転送方法には2つの方法がある。第1の転送方法は、ユーザに操作により選択された画像データを一枚ずつ転送する方法である。第2の転送方法は、複数の画像データを一括して転送する方法である。この2つの転送方法のどちらを用いるかは、ユーザが操作部70を操作することに応じて決定される。なお、一括して転送する場合でもその転送対象となる画像を選択することが可能である。例えば記録媒体200に記録されているすべての画像データを転送対象としてもよいし、特定のディレクトリを指定し、そのディレクトリに格納されたすべての画像データを転送対象とするなど、特定の条件に合致する画像データを転送対象としてもよい。本実施形態では、転送元カメラ2001及び転送先カメラ2002は、いずれも図1に示す撮像装置100と同様の構成を備えており、図2に示す動作を行う。但し、後述の動作が実行可能であれば、図1に示す各部のいずれかが設けられていなくてもよい。通信媒体2003は、転送元カメラ2001及び転送先カメラ2002間のデータのやり取りを相互に行える媒体である。通信媒体2003の例としては、例えばUSBケーブルなどの有線接続を行うための媒体がある。また、必ずしも有線接続である必要はなく、無線LANなどの無線接続であってもよい。
ここで、転送先カメラ2002の動作について説明する。図4は、転送先カメラ2002における通信処理(ステップS3201)の内容を示すフローチャートである。
転送先カメラ2002では、先ず、システム制御部50が通信初期化処理を行う(ステップS6000)。通信初期化処理の詳細については、図5を参照しながら後述するが、例えば、通信媒体2003経由で、転送元カメラ2001と互いの情報を交換し、メモリ30の任意の領域に転送元カメラ2001の情報を保存し、通信が確立した旨の表示を画像表示部28が行う。
次いで、システム制御部50が、通信部110経由で通信解除要求があるか否かを判断する(ステップS6001)。通信解除要求があれば、この通信処理(ステップS3201)を終了する。通信解除要求としては、例えば有線接続であればコネクタ112に接続されているケーブルの引き抜きが、無線接続であれば無線通信の状態の劣化等が挙げられる。
一方、通信解除要求がない場合、システム制御部50は、通信部110経由で転送元カメラ2001に対して画像転送要求を行う。このとき、システム制御部50は、操作部70からの入力を解釈することにより、ユーザにより一枚毎の個別に転送することが要求されているか、複数の画像を一括して転送する一括転送が要求されているかを判断する(ステップS6002)。そして、一枚毎の画像転送要求が要求されている場合には、ステップS6103の処理を行うこととし、一括転送が要求されている場合には、ステップS6003の処理を行うこととする。
ステップS6103において、システム制御部50は、画像データの送信を転送元カメラ2001に要求する(ステップS6103)。次いで、システム制御部50は、転送元カメラ2001から送信された表示用の画像データを受信し(ステップS6104)、その後、画像表示部28がこの画像データを表示する(ステップS6105)。このとき、画像表示部28は、当該画像データに対して実行することができる画像処理の種類も選択可能に表示する。図5に、ステップS6105において画像表示部28に表示される画像データ及びGUI(Graphical User Interface)の例を示す。この例では、画像データF1201に対してリサイズ処理、赤目補正処理、カラー変換処理及びトリミング処理といった処理が選択可能となっている。そして、これらを選択するためのGUIとしてボタンイメージF1202、F1203、F1204及びF1205が表示されている。また、これらの処理のいずれも実行しないことを意思表示するためのキャンセルのボタンイメージF1206も表示されている。
続いて、システム制御部50は、操作部70から、ステップS6105において表示した画像データに対する画像処理の要求が入力されているか否かを判断する(ステップS6106)。図5に示す例では、ボタンイメージF1202が操作されればリサイズ処理を実施することとし、ボタンイメージF1203が操作されれば赤目補正処理を実施することとし、ボタンイメージF1204が操作されればカラー変換処理を実施することとする。また、ボタンイメージF1205が操作されればトリミング処理を実施することとし、ボタンイメージF1206が押下されれば画像処理を行わないとする。つまり、ステップS6106では、システム制御部50が、図5中のボタンイメージF1202〜F1205のいずれかが操作されているか、それともボタンイメージF1206が操作されているかを判断する。
システム制御部50は、ボタンイメージF1202〜F1205のいずれかが操作されて、画像処理の要求が入力されたと判断した場合、当該画像処理を施した結果の画像データを送信するよう転送元カメラ2001に要求する(ステップS6107)。例えば、トリミングを指示するためのボタンイメージF1205が操作された場合には、図6(a)に示すように、ステップS6105で画像表示部28に表示された画像データ上にトリミング枠1101を表示する。そして、操作部70から、トリミング枠1101の範囲及び場所の指定を受け付ける。そして、ユーザによりOKボタンイメージF1301が選択されると、指定されたトリミング枠及び場所を転送元カメラ2001に通信部110経由で送信する。キャンセルボタンイメージF1302が選択されると、処理を中止する。また、赤目補正を指示するためのボタンイメージF1203が操作された場合には、図6(b)に示すように、ステップS6105で画像表示部28に表示された画像データ上に赤目補正の対象を示す範囲指定枠1102を表示する。そして、操作部70から、範囲指定枠1102の範囲及び場所の指定を受け付ける。そして、ユーザによりOKボタンイメージF1303が選択されると、指定された範囲及び場所を転送元カメラ2001に通信部110経由で送信する。キャンセルボタンイメージF1304が選択されると、処理を中止する。
次いで、システム制御部50は、転送元カメラ2001から送信された画像処理後の画像データを受信し(ステップS6108)、その後、画像表示部28がこの画像データを表示する(ステップS6109)。例えば図6(a)に示すトリミング枠1101の範囲及び場所を送信していた場合には、図6(c)に示すように、画像データの一部が切り出されて表示される。また、図6(b)に示す赤目補正の範囲指定枠1102の範囲及び場所の内容を送信していた場合には、範囲指定枠1102内にある赤目部分1103が補正され、図6(d)に示すような画像データが表示される。
続いて、システム制御部50は、操作部70からの入力信号を調べ、ステップS6109において表示した画像処理済みの画像データを、転送対象として選択されたか否かの判断を行う(ステップS6110)。このステップは、画像処理の結果を見たユーザが、操作部70を操作することに応じて判断される。そして、転送対象として選択されたと判断した場合は、ステップS6112の処理を行うこととし、転送対象として選択されていないと判断した場合は、ステップS6107に戻り、ステップS6107〜ステップS6109の処理を繰り返すこととする。
一方、システム制御部50は、ステップS6106において画像処理の要求が入力されていないと判断した場合、操作部70からの入力信号を調べ、ステップS6105において表示した画像データの転送の要求があるかの判断を行う(ステップS6111)。そして、システム制御部50は、転送の要求がなければ、ステップS6104に戻り、転送の要求があれば、ステップS6112の処理を行うこととする。
ステップS6112において、システム制御部50は、ステップS6105において表示した画像データ又はステップS6109において表示した画像データの転送を転送元カメラ2001に対して要求する(ステップS6112)。次いで、システム制御部50は、転送元カメラ2001から送信された画像データを受信し(ステップS6113)、その後、メディアコントローラ90を介して記録媒体200に保存する(ステップS6114)。
ここまで、ステップS6002において一枚毎の画像括転送が要求された場合について説明した。
次に、ステップS6002において画像データを一括で転送する画像一括転送が要求された場合について説明する。システム制御部50は、ステップS6003において、一括転送条件設定処理を行う。一括転送条件設定処理とは、一括転送にてどの画像データを転送の対象とするかの条件を設定する処理である。一括転送条件設定処理の詳細については後述する。次いで、システム制御部50は、転送元カメラ2001からの画像データの転送が全て終了しているか否かを判断する(ステップS6004)。そして、画像データの転送が終了していれば、ステップS6001に戻り、終了していなければ、ステップS6005の処理を行うこととする。
ステップS6005において、システム制御部50は、通信部110経由で転送元カメラ2001から送信されてきた画像データを受信し、その後、メディアコントローラ90を介して記録媒体200に保存する(ステップS6006)。システム制御部50は、転送の終了を判断(ステップS6004)するまで、ステップS6005〜S6006の処理を繰り返す。
以下、図4のフローチャートの各ステップにおける詳細な処理の内容について説明する。
ステップS6000の通信初期化処理について説明する。図7は、通信初期化処理の内容を詳細に示すフローチャートである。
通信初期化処理において、システム制御部50は、先ず、通信部110、メモリ30等の通信を行うために必要なデバイス回路の初期化を行う(ステップS9000)。
次いで、システム制御部50は、自機が通信においてサーバとして機能するのか、クライアントとして機能するのかを判断する(ステップS9001)。通信する2つのカメラのうち、どちらがサーバとなり、どちらがクライアントとなるかは、種々の方法がある。例えば、通信を始める前、もしくは通信を開始する際にユーザが操作部70を操作して決定してもよいし、先にネットワークに接続した方をサーバとしてもよい。そして、システム制御部50は、自機がサーバと判断した場合には、ステップS9002の処理を行うこととし、自機がクライアントと判断した場合には、ステップS9011の処理を行うこととする。なお、ここでは、通信プロトコルの説明のためサーバ/クライアントという表現を用いているが、厳密なサーバ/クライアントの関係を必要とせず、転送元カメラ2001、転送先カメラ2002のどちらがサーバ、クライアントになっていてもよい。
まず、ステップS9001において自機がサーバ機器であると判断された場合について説明する。
ステップS9002において、システム制御部50は、通信相手である転送元カメラ2001に対して、自機の情報、つまりサーバ情報を送信し、その後、クライアント情報を要求する(ステップS9003)。ここでいうサーバ情報及びクライアント情報には、機器の有する機能を示す情報を含む。例えば、トリミング機能を有するか否か、赤目補正機能を有するか否かといった情報もここに含まれる。
次いで、システム制御部50は、クライアント情報の受信を待ち、受信が完了すると(ステップS9004)、受信したクライアント情報をメモリ30の任意の領域に保存する(ステップS9005)。
次に、ステップS9001において自機がクライアント機器であると判断された場合について説明する。
ステップS9011では、システム制御部50は、サーバ情報の受信を待ち、受信が完了すると、受信したサーバの情報をメモリ30の任意の領域に保存する(ステップS9012)。次いで、システム制御部50は、自機の情報、つまりクライアント情報が要求されているかを判断し(ステップS9013)、情報が要求されていれば、自機の情報を送信する(ステップS9014)。
システム制御部50は、ステップS9005、S9013又はS9014の後、通信が確立した旨の表示と共に、ステップS9005又はS9014において保存した通信相手側カメラの機能の表示を画像表示部28に行わせる(ステップS9006)。図8に、通信相手側カメラの機能の表示の例を示す。この例では、通信中カメラ機能一覧13001の中に、通信相手のカメラである転送元カメラ2001の愛称「CameraA」13006が表示されている。また、実施可能な画像処理機能として、赤目補正機能13002、トリミング機能13003、リサイズ機能13004及びカラー変換機能13005が表示されている。また、この確認が終了したときに操作されるボタンイメージ13011も表示されている。この表示により、ユーザは通信相手のカメラが赤目補正機能、トリミング機能、リサイズ機能、カラー変換機能を備えることを容易に把握できる。
以上、通信初期化処理について説明した。
次に、図4のステップS6003における一括転送条件設定処理について説明する。図9は、一括転送条件設定処理の内容を詳細に示すフローチャートである。
一括転送条件設定処理において、システム制御部50は、先ず、画像表示部28に、転送済条件を設定するためのGUIを表示させ、ユーザからの入力を受け付ける(ステップS7001)。ここで転送済条件とは、画像データが転送された後に、その画像データを転送済みの画像データとして扱うか否かを決定するための条件である。図10に、転送済条件を設定するためのGUIの例を示す。この例では、転送元カメラ2001の愛称「CameraA」F1006が、転送元カメラ2001を特定する項目F1001として表示されている。この表示により、ユーザはどのカメラに対して転送済条件を設定しているかを容易に把握することができる。また、通信初期化処理S6000においてメモリ30に格納された転送元カメラ2001の各画像処理機能に対応する項目が、画像処理機能欄F1002〜F1005に表示されている。更に、画像処理機能欄F1002〜F1005に表示された画像処理機能に対応する画像転送済み条件を設定するフィールドF1007〜F1010も表示されている。ユーザは操作部70を操作することにより、フィールドF1007〜F1010に所望の転送済条件を設定する指示を行うことができる。
ここで、各画像処理機能欄及びフィールドについて説明する。
赤目補正画像欄F1002に対応するフィールドF1007では、転送済条件として「YES」と「NO」とが排他的に選択されるように構成されている。ここで、条件「YES」が設定されている場合は、転送元カメラ2001により赤目補正処理が行われてから転送先カメラ2002に転送された場合には、画像データを転送済みとみなす。つまり、ステップS6004〜S6006において一括転送される画像データから除外することを意味する。一方、「NO」が設定されている場合は、赤目補正処理が行われた画像データについては、その転送が行われているか否かに拘わらず、未転送とみなし、一括転送する画像データに含ませることを意味する。つまり、赤目補正画像欄F1002に対応する転送済条件には、赤目補正処理の有無が含まれている。
このことにより、転送元カメラ2001が転送先カメラ2002に赤目補正された画像データを転送した場合に、転送元カメラ2001に記憶されている赤目補正されていない画像データが転送済データとして扱われることを防ぐことができる。
トリミング画像欄F1003に対応するフィールドF1008は、転送済条件としてトリミング率が入力されるように構成されている。トリミング率とは、トリミング前の画像データのサイズに対する、トリミング後の画像データのサイズの割合である。つまり、トリミング率が小さいほど、元の画像データから小さな領域を切り出していることになる。以下、フィールドF1008で転送済条件として設定されたトリミング率をトリミング基準割合と呼ぶ。このトリミング基準割合よりも大きなトリミング率でトリミングした画像データを転送した場合には、転送元カメラにおいて画像データを転送済みとみなす。つまり、このような画像データを一括転送される画像データから除外することを意味する。逆に、トリミング基準割合未満のトリミング率でトリミングした画像データを転送した場合には、その転送が行われているか否かに拘わらず、未転送とみなし、一括転送する画像データに含ませる。例えばトリミング基準割として「70%」と入力されていれば、70%以上(トリミング基準割合以上)のトリミング率でトリミングされた画像データを転送した場合、その画像データは転送済みとみなされる。これに対し、70%未満のトリミング率で転送された画像データについては、未転送とみなされることとなる。
上記のように、トリミング率に応じて転送済か否かを区別するのは以下の理由による。例えば、トリミング率を小さくして画像データのトリミングを行った場合、トリミング後の画像データはトリミング前の画像データと全く異なる印象の画像データになることが多い。このような場合に、トリミング後の画像データを転送したことをもって元画像データを転送済みとしてしまうと、一括転送においてトリミング前の画像データが転送されないこととなる。すなわち、ユーザにとって異なる印象を有する2つの画像データを転送することができなくなってしまう。また、トリミング率を大きくして画像データのトリミングを行った場合、トリミング後の画像データはトリミング前の画像データとほぼ同様の印象の画像データになることが多い。このような場合にはトリミング後の画像データを転送したことをもって元画像データを転送済みとした方が、似たような画像データが2つ転送されるのを防止することができる。このような理由から、本実施形態ではトリミング率に応じて転送済か否かを区別することで、よりユーザの意図を反映した画像データの転送を行うことが可能となる。
リサイズ画像欄F1004に対応するフィールドF1009は、転送条件としてリサイズ率が入力されるように構成されている。リサイズ率とは、リサイズ前の画像データのサイズに対する、リサイズ後の画像データのサイズの割合である。つまり、リサイズ率が小さいほど、元の画像データから小さな領域を切り出していることになる。以下、フィールドF1008で転送済条件として設定されたトリミング率をトリミング基準割合と呼ぶ。このリサイズ基準割合と転送済条件との関係は、基本的にトリミング基準割合と転送済条件との関係と同様であるから、ここでは説明を省略する。リサイズ処理の場合もトリミング処理の場合と同様、リサイズ率が小さいほど元の画像と異なる印象の画像データとなるため、リサイズ率に応じて転送済か否かを区別することとした。
カラー変換画像欄F1005に対応するフィールドF1010は、転送済条件として「YES」と「NO」とが排他的に選択されるように構成されている。この「YES」と「NO」の取り扱いは、赤目補正処理に対応するフィールドF1007の取り扱いと同様であるから、ここでは詳細な説明は省略する。
図10に示す画面を介して設定された転送済条件は、メモリ30に記憶される。以上が、転送済条件に関する説明である。再び図9の説明に戻り、ステップS7001以下の処理について説明する。
ステップS7001では、システム制御部50が上記のような転送済条件の入力を受け付ける。
次いで、システム制御部50は、転送済条件の入力が終了したか否かの判断を行う(ステップS7002)。図10に示す例では、システム制御部50は、「OK」のボタンイメージF1011又は「キャンセル」のボタンイメージF1012が操作されたか否かの判断を行う。そして、システム制御部50は、入力が終了していないと判断した場合には、ステップS7001に戻り、入力が終了したと判断した場合には、ステップS7003の処理を行うこととする。なお、「OK」のボタンイメージF1011が操作された場合には、転送済条件が存在することとなるが、「キャンセル」のボタンイメージF1012が操作された場合には、特に転送済条件が設定されなかったものとみなす。
ステップS7003において、システム制御部50は、転送済条件が設定されているか否かの判断を行う。そして、転送済条件が設定されていなければ、そのまま一括転送条件設定処理を終了し、転送済条件が設定されている場合には、ステップS7004の処理を行うこととする。
ステップS7004において、システム制御部50は、ステップS7001において設定された転送済条件を転送元カメラ2001に対し送信し、その後、一括転送条件設定処理を終了する。
このようにして、一括転送条件設定処理が行われる。
つまり、図4のステップS6002において一括転送が選択された場合には、転送先カメラ2002において、一括転送の対象とする画像データの条件が転送済条件として設定され、これが転送元カメラ2001に送信される(ステップS6003)。その後、後述のように、転送元カメラ2001から転送済条件に一致する画像データの一括転送が行われるが、ステップS7003において転送済条件が存在していない場合には、無条件で一括転送が行われる。
ここまで、転送先カメラ2002の動作について説明した。次に、転送元カメラ2001の動作について説明する。図11は、転送元カメラ2001における通信処理(ステップS3201)の内容を示すフローチャートである。
転送元カメラ2001では、先ず、システム制御部50が通信初期化処理を行う(ステップS4000)。この通信初期化処理では、転送先カメラ2002の通信初期化処理(ステップS6000)と同様の処理を行う(図7参照)。即ち、例えば、通信媒体2003経由で、転送先カメラ2002と互いの情報を交換し、メモリ30の任意の領域に転送先カメラ2002の情報を保存し、通信が確立した旨の表示を画像表示部28が行う。
次いで、システム制御部50が、通信部110経由で通信解除要求を受信したか否かを判断する(ステップS4001)。通信解除要求を受信したと判断すれば、この通信処理を終了する。通信解除要求としては、コネクタ112に接続されているケーブルの引き抜き、無線通信の状態の劣化等が挙げられる。
一方、通信解除要求がない場合、システム制御部50は、通信部110経由で転送先カメラ2002からの画像転送要求を受信したか否かを判断し、受信した場合にはその内容を確認する(ステップS4002)。システム制御部50は、画像転送要求を受信していないと判断した場合は、ステップS4001に戻る。一枚毎の転送の要求があると判断した場合は、ステップS4104の処理を行う。一括転送の要求があると判断した場合は、ステップS4204の処理を行う。なお、これらの画像転送要求は図4のステップS6002の判断に基づき転送先カメラ2002から送信される。
まず、ステップS4002で一括転送の要求があったと判断した場合について説明する。ステップS4204において、システム制御部50は、通信部110経由で転送先カメラ2002から送信されてきた転送済条件を受信したか否かを判断する。つまり、図9のステップS7004における送信が行われた結果、転送済条件を受信しているかをシステム制御部50が判断する。
そして、システム制御部50は、転送済条件が送信されてきていると判断した場合、転送済条件記憶処理を行う。具体的には、受信した転送済条件をメモリ30内の任意の場所に記憶する(ステップS4205)。その後にステップS4206の処理を行うこととする。一方、転送済条件が送信されてきていないと判断した場合には、ステップS4206の処理を行うこととする。
ステップS4206において、システム制御部50は、画像一括転送処理を行う。この画像一括転送処理の詳細については後述する。
次に、ステップS4002で一枚毎の画像転送の要求があったと判断した場合について説明する。ステップS4104では、システム制御部50が、一枚の画像データの転送を通信部110経由で転送先カメラ2002に対して行う。
次いで、システム制御部50は、ステップS4104において転送した画像データに対する画像処理の要求を、転送先カメラ2002から通信部110を介して受信しているか否かの判断を行う(ステップS4105)。つまり、図4のステップS6106における画像処理の要求を受信しているか否かをシステム制御部50が判断する。そして、システム制御部50は、この要求を受信していないと判断した場合は、ステップS4001へ戻り、この要求を受信していると判断した場合は、ステップS4106の処理を行うこととする。
ステップS4106において、システム制御部50は、通信部110経由で転送先カメラ2002から要求された画像処理を行う。この画像処理の詳細については後述するが、本実施形態における画像処理後の画像データは、画像処理前の画像データ(元画像データ)とは異なる新たな画像データとして生成される。
次いで、システム制御部50は、画像処理後の画像データの表示イメージを通信部110経由で転送先カメラ2002に送信する(ステップS4107)。この送信された画像データの表示イメージは、ステップS6109において、転送先カメラ2002で表示される。
その後、システム制御部50は、ステップS4107において送信した表示イメージに対応する画像データの転送が必要か不要かの確認を転送先カメラ2002に対して行い、その結果を受信し、内容を判断する(ステップS4108)。そして、システム制御部50は、転送が不要である旨の応答があったと判断した場合は、ステップS4105に戻り、転送が必要である旨の応答があったと判断した場合は、ステップS4109の処理を行うこととする。この応答は、転送先カメラ2002が図4のステップS6110の判断結果に基づき、ステップS6112で送信する要求である。
ステップS4109において、システム制御部50は、通信部110経由で転送先カメラ2002に対して画像処理後の画像データを転送する。次いで、システム制御部50は、ステップS4109において転送した画像データに対応する元画像データと、画像処理された画像データが転送された旨を示す履歴情報とを関連付けて、転送先カメラ2002の情報と共にメモリ30に記憶させる履歴記憶処理を行う(ステップS4110)。つまり、システム制御部50は、ステップS4109において転送した画像データの履歴情報をメモリ30に記憶させる。この履歴情報には、画像処理の内容も含まれる。画像処理の内容は、赤目処理、トリミング処理といった画像処理の種類を示す情報の他、トリミング範囲などの画像処理の範囲を示す情報も含まれる。
次に、図11におけるステップS4206の画像一括転送処理について説明する。図12は、画像一括転送処理の内容の詳細を示すフローチャートである。
画像一括転送処理において、システム制御部50は、先ず、一括転送の対象となっている画像データのすべてに対して本フローチャートにおける処理を行ったか否かを判断する(ステップS5001)。そして、システム制御部50は、すべての画像データに対して処理を行っていれば、そのまま画像一括転送処理を終了し、処理を行っていない画像データがある場合には、ステップS5002の処理を行うこととする。最初にこのステップに進んだ場合、まだ画像データに対する本フローチャートにおける処理を行っていないため、処理はステップS5002に進むことになる。
ステップS5002において、システム制御部50は、任意の画像データの情報を読み出し、当該画像データが未転送のものであるか判断する(ステップS5003)。画像データが未転送であるか否かは、画像データに関連づけされた履歴情報が記憶されているか否かで判断できる。そして、システム制御部50は、当該画像データが未転送のものであると判断すれば、ステップS5006の処理を行うこととし、未転送のものでないと判断すれば、ステップS5004の処理を行うこととする。
まず、ステップS5003で未転送でないと判断した場合について説明する。ステップS5004において、システム制御部50は、メモリ30に記憶されている履歴情報を参照し、当該画像データが画像処理を行い転送した画像データであるか否かの判断を行う(ステップS5004)。そして、システム制御部50は、画像処理を行い転送した画像データでないと判断した場合には、ステップS5001に戻る。画像処理を行い転送した画像データであると判断した場合には、ステップS5005の処理を行うこととする。
ステップS5005において、システム制御部50は、履歴情報を参照し、当該画像データに対して行われた画像処理の内容を、ステップS4205においてメモリ30に記憶された転送済条件と照合する。そして、当該画像データを転送済みとみなすか、未転送とみなす、つまり一括転送の対象とするかを判断する。つまり、本実施形態ではシステム制御部50が、照合手段及び決定手段として機能する。そして、システム制御部50は、転送済みとみなすと判断した場合は、ステップS5001に戻り、未転送とみなすと判断した場合は、ステップS5006の処理を行うこととする。
ステップS5006において、システム制御部50は、通信部110を介して当該画像データを転送先カメラ2002に転送する。次いで、システム制御部50は、ステップS5006において転送した画像データに対応する元画像データと画像処理及び転送が行われた旨を示す履歴情報とを関連付けて、転送先カメラ2002の情報と共にメモリ30に記憶させる(ステップS5007)。つまり、システム制御部50は、ステップS5006において転送した画像データの履歴情報をメモリ30に記憶させる。
システム制御部50は、これらの処理を未転送画像データが存在しないと判断するまで繰り返す(ステップS5001)。
このように、画像一括転送処理において、転送済条件が、転送先カメラ2002からの要求により、転送元カメラ2001が行った画像処理後の画像データの転送によって転送した画像データの元画像データを転送済みとするか否かの判断に利用される。
次に、図11のステップS4106の画像処理について説明する。図13は、画像処理の内容を示すフローチャートである。
画像処理では、システム制御部50は、先ず、転送先カメラ2002から要求された画像処理が色変換(カラー変換)であるか否かを判断する(ステップS8001)。そして、色変換であると判断した場合は、ステップS8002の処理を行うこととし、色変換ではないと判断した場合は、ステップS8101の処理を行うこととする。
ステップS8002では、システム制御部50が、要求された色変換の画像処理に顔認識処理が必要であるか否かを判断する。本例では赤目処理が指定された場合に顔認識処理が必要となる。そして、システム制御部50は、顔認識処理が必要であると判断した場合は、ステップS8004の処理を行うこととし、顔認識処理が必要ではないと判断した場合は、ステップS8003の処理を行うこととする。
ステップS8004において、システム制御部50は、処理の対象とする画像内より人顔を検索し、続いて、目部分を抽出する(ステップS8005)。
一方、ステップS8003では、システム制御部50は、色変換を行うエリアを抽出する。
そして、ステップS8003又はS8005の後、システム制御部50は、ステップS8003又はS8005において抽出された部分に対する色変換処理を実行する(ステップS8006)。特に、ステップS8005の後では、赤目軽減処理を行う。
また、ステップS8101では、システム制御部50が、転送先カメラ2002から要求された画像処理がリサイズ処理であるか否かを判断する。そして、リサイズ処理であると判断した場合は、ステップS8201の処理を行うこととし、リサイズ処理ではないと判断した場合は、ステップS8102の処理を行うこととする。
ステップS8102において、システム制御部50は、転送先カメラ2002から要求された画像処理がトリミング処理であるか否かを判断する。そして、トリミング処理であると判断した場合は、ステップS8103の処理を行うこととし、トリミング処理ではないと判断した場合は、そのまま画像処理を終了する。例えば、キャンセルボタンイメージF1302又はF1304(図6参照)が選択された場合に、そのまま画像処理を終了する。
ステップS8103において、システム制御部50は、トリミングの切り出し箇所の指定がされているか否かを判断し、切り出し箇所が指定されている場合は切り出しを行う(ステップS8104)。一方、切り出し箇所が指定されていなければ、そのまま画像処理を終了する。
また、ステップS8201において、システム制御部50は、画像データのリサイズの割合が指定されているか否かを判断し、リサイズの割合が指定されていれば、指定された割合でリサイズ処理を行う(ステップS8202)。一方、リサイズの割合が指定されていない場合は、そのまま画像処理を終了する。
このようにして、画像処理が行われる。
なお、転送済条件の内容は上記のものに限定されない。例えば、トリミング処理などの画像処理を行う前の元画像データに含まれる被写体の顔の数に対する、画像処理を行った後の画像データに含まれる被写体の顔の数の割合を利用してもよい。つまり、システム制御部50は、前述した被写体の数の割合を転送済条件(基準割合)として設定する。また、画像処理の内容として前述の被写体の数の割合を履歴情報として記憶しておく。一括転送の際には、基準割合以上となる画像処理が行われ、かつ既に転送先カメラ2002に転送されている画像データを転送済とみなし、転送の対象から除外することとすればよい。
上記のように被写体数の割合に応じて転送済か否かを区別することにより、以下のような利点がある。例えば、5人の被写体が写っている画像データから、1人の被写体を切り出すようトリミングして送信した場合に、元画像データが転送済みとなることを防ぐことができる。
このような本実施形態によれば、画像処理が施された上で転送された画像データについては、転送済条件との照合を経た上で一括転送の可否が決定される。つまり、ユーザの意思を反映させた転送済条件に基づいて、一括転送の対象が決定される。このため、一括転送の際の重複した送信を抑制することができる。
また、本発明の実施形態は、例えばコンピュータがプログラムを実行することによって実現することができる。また、プログラムをコンピュータに供給するための手段、例えばかかるプログラムを記録したCD−ROM等のコンピュータ読み取り可能な記録媒体又はかかるプログラムを伝送するインターネット等の伝送媒体も本発明の実施形態として適用することができる。また、上記のプログラムも本発明の実施形態として適用することができる。上記のプログラム、記録媒体、伝送媒体及びプログラムプロダクトは、本発明の範疇に含まれる。