(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0016】
以下に添付図面を参照して開示技術の好適な実施の形態を詳細に説明する。
【0017】
(実施の形態1)
本発明の全体像の一例として、画像処理装置100と撮影装置200を同一の筐体内に収納したPC10のハード構成図の一例を
図1に示す。PC10は、アプリケーションの実行や処理を行う画像処理装置100と画像を撮影する撮影装置200を備える。
【0018】
まず、画像処理装置100について説明する。画像処理装置100は、チップセット(Chipset)11、CPU(Central Processing Unit)12、HDD(Hard Disk Drive)13、メモリ14、マウス/キーボード15、通信インタフェース16、ディスプレイ17を備える。
【0019】
チップセット11は、集積回路であり、画像処理装置100の各機能を接続する内部バスの役割を備える。
【0020】
CPU12は、画像処理装置100の各機能について制御を行う。
【0021】
HDD13は、OS(Operating System)、アプリケーション、ドライバ等のソフトフェアやデータを格納している。
【0022】
メモリ14は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子等の記憶装置で構成される。また、メモリ14は、CPU12の動作時にワークスペースとして用いられる。
【0023】
マウス/キーボード15は、例えば、アプリケーションに対してのデータの入力、実行の指示を行う。
【0024】
通信インタフェース16は、例えば、情報機器に周辺機器を接続するためのシリアルバス規格のUSB(Universal Serial Bus)や、モバイル機器のカメラ装置やディスプレイとのインタフェース規格のMIPI(Mobile Industry Processor Interface)である。
【0025】
通信インタフェース16は、撮影装置200の通信インタフェース26と例えば、通信用ケーブルで接続して、撮影装置200と画像データに関する情報のやり取りを行う。
【0026】
なお、画像データとは、静止画や動画等の撮影装置200で撮影した画像を基にしたデータである。
【0027】
ディスプレイ17は、例えば、アプリケーションの実行中に画像等の情報を表示する。
【0028】
なお、ディスプレイ17に表示されているアプリケーションに対応する例えば、アイコンをマウス/キーボード15で選択することでアプリケーションの実行や停止の指示を行うことができる。
【0029】
次に撮影装置200について説明する。撮影装置200は、レンズ21、イメージセンサ22、CPU23、ASIC(Application Specific Integrated Circuit)/FPGA(Field Programmable Gate Array)24、メモリ25、通信インタフェース26を備える。
【0030】
レンズ21は、広い画角のレンズを用いて広範囲の画像を結像する。
【0031】
イメージセンサ22は、例えば、CCD(Charge Coupled Device;電荷結合素子)等の回路素子を用いたCCDイメージセンサやMOS(Metal Oxide Semiconductor;金属酸化膜半導体)等を用いたMOS型イメージセンサ等の固体撮影素子である光電変換素子が適用される。レンズ21で撮影可能な範囲の画像を撮影し、イメージセンサ22で撮影した画像をRAW(Raw image format)画像データとして生成する。なお、RAW画像とは、加工される前の画像を示す。
【0032】
CPU23は、通信インタフェース26が画像処理装置100から送られてきた制御情報を基に撮影装置200の各機能を制御する。
【0033】
ASIC/FPGA24は、例えば、集積回路であり、DSP(Digital Signal Processing)等の処理が行われる。
【0034】
なお、ASIC/FPGA24の処理であるDSPをCPU23で制御し、RAW画像データに対して例えば、JPEG(Joint Photographic Experts Group)やMPEG(Moving Picture coding Experts Group)、Motion JPEG等の圧縮処理、色補正、解像度の変更、階調変換等の画像処理を行う。なお、DSPとCPUの圧縮や画像処理に関する制御をまとめてイメージプロセッサとしても良い。
【0035】
メモリ25は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子で構成される。
【0036】
メモリ25には、RAW画像データ等の画像データを蓄積する。
【0037】
通信インタフェース26は、例えば、情報機器に周辺機器を接続するためのシリアルバス規格であるUSBやモバイル機器のカメラやディスプレイとのインタフェース規格であるMIPIである。
【0038】
通信インタフェース26は、画像処理装置100の通信インタフェース16と例えば、通信用ケーブルで接続して、PC10と画像データに関する情報のやり取りを行う。
【0039】
本実施の形態1にかかる画像処理装置100の機能ブロック構成図の一例を
図2に示す。
図2の画像処理装置100は、制御部110、検出部120、転送部130、画像処理部140、情報記憶部150、入力部160を備える。
【0040】
制御部110は、入力部160でアプリケーションが実行されると、アプリケーションに必要な画像データを提供するために情報記憶部150から対応するアプリケーションの情報を基に画像処理装置100内の各機能を制御する。
【0041】
制御部110は、例えば、CPU12がHDD13に格納しているOSやドライバ等のソフトフェアを制御することで実現される。
【0042】
検出部120は、撮影装置200から送られてきたRAW画像データを低解像度に変換して、圧縮した画像データから例えば、実行中のアプリケーションに必要な範囲や実行中のアプリケーションに対応した画像の中心を検出して、実行中のアプリケーションに用いる画像データの情報として要求画像情報を制御部110に送る。なお、以降、RAW画像データを低解像度に変換し、圧縮した画像データのことを低解‐圧縮画像データと記載する。
【0043】
検出部120は、例えば、CPU12により実行される検出用のアプリケーションを用いてメモリ14のワークスペースで実行中のアプリケーションに対応した画像の情報を検出する。
【0044】
転送部130は、制御部110により、撮影装置200と画像データに関する情報のやり取りを行う。また、撮影装置200から低解‐圧縮画像データや要求画像データ等の画像データを受信すると、制御部110に受信した画像データを送る。なお、要求画像データとは、撮影装置200で要求画像情報をもとにRAW画像データから生成されたアプリケーションに用いる画像データを示す。
【0045】
転送部130は、例えば、通信インタフェース16で撮影装置200と接続して通信することにより実現される。
【0046】
画像処理部140は、要求画像データを実行中のアプリケーションに使用するための処理を行い、実行中のアプリケーションに処理をした要求画像データを用いる。
【0047】
画像処理部140での処理は、例えば、画面サイズに合わせた画像データの補正、解像度の調整、アプリケーションに対応してアプリケーションに不要な情報に対してぼかしの挿入、アプリケーションに用いるまでの遅延等の処理である。なお、画像処理部140では、撮影装置200での画像処理において不十分な部分の補正処理を行う。
【0048】
画像処理部140は、例えば、実行されているアプリケーションに対応した画像処理をCPU12の制御に従ってメモリ14のワークスペースで行い、アプリケーションに処理をした要求画像データを用いることで実現される。
【0049】
情報記憶部150は、複数のアプリケーションそれぞれに対応した情報を備える。例えば、指定部位、画像抽出範囲、画像抽出範囲における指定部位の大きさ等のアプリケーション毎に対応する画像の情報である。
【0050】
情報記憶部150は、例えば、メモリ14に対応する。
【0051】
画像処理装置100が、撮影装置200にアプリケーションに対応した要求画像情報を送るまでのフローチャートの一例を
図3に示す。なお、
図3のフローチャートは画像処理装置100のCPU12がプログラムに基づき動作し、後述する
図5の処理シーケンスに対応した動作を実行する。
【0052】
入力部160がアプリケーションを実行すると、転送部130を介して撮影装置200に画像データを要求する(ステップS12)。制御部110は、情報記憶部150から実行したアプリケーションに関する情報を取り出し、画像処理装置100の各機能を実行したアプリケーションに対応した設定に変更する(ステップS13)。その後、要求した画像データを受信したかを判断し(ステップS18)、受信していない場合(ステップS18:No)は、待機する。要するに、画像データを受信するまで次の処理(ステップS19)に移らない。
【0053】
なお、実際に受信する画像データは、RAW画像データの解像度を低くして圧縮した低解‐圧縮画像データである。これは、後述する解像度と伝送容量等の関係に基づいており、画像処理装置100と伝送装置200間の伝送容量や画像処理装置100での処理負荷を減少させるためである。また、画像データを要求する際に予めわかっている撮影装置200が変換可能な画像フォーマットを選択して画像データを要求する。なお、画像処理装置100は、予め、撮影装置200から選択可能な画像フォーマットが通知されている。
【0054】
撮影装置200から、低解‐圧縮画像データを受信する(ステップS18:Yes)と低解‐圧縮画像データを取り込み(ステップS19)、検出部120でアプリケーションに要求される部位が検出できるかを調べる(ステップS201)。例えば、ビデオチャットのアプリケーションが実行された場合は、要求される部位(顔)が撮影した画像に映っているかを調べる。なお、低解‐圧縮画像データは、連続的に送られてくる(例えば、1秒間に30フレームまたは、60フレーム)のでそれぞれの低解‐圧縮画像データに対して処理を行う。これは、撮影された画像毎のRAW画像データに対して処理を行っていくので撮影が終わるまで連続的に送られる。
【0055】
アプリケーションで要求される部位が検出できなかった場合(ステップS201:No)は、当該低解‐圧縮画像データからの検出を終了する。なお、検出部120で要求部位が未検出の場合でも転送部130を介して撮影装置200にアプリケーションで用いる大きさや解像度等に合わせた所定の要求画像情報を送信するようにしても良い。つまり、所定部位が検出されなかった時でも画像を必要とする場合には、指定する要求情報なしで要求画像情報を送信し、撮影装置200から要求画像データ(指定範囲なし)を受信できるようにする。
【0056】
アプリケーションで要求される部位が検出できた場合(ステップS201:Yes)は、要求した部位に合わせて、アプリケーションに用いる画像データの中心を決定する(ステップS202)。
【0057】
実行中のアプリケーションに用いる画像データの中心が決まると、低解‐圧縮画像データから抽出範囲を決め(ステップS203)、転送部130から撮影装置200にアプリケーションで用いる画像の中心、抽出範囲等の情報を含む要求画像情報を送り(ステップS21)、終了する。なお、抽出範囲及び指定部位は、情報記憶部150でアプリケーション毎に蓄積している情報を基に設定する。
【0058】
以上のようにして、撮影装置200から送られてきた低解‐圧縮画像データから、実行中のアプリケーションに用いる部位等のアプリケーションで用いる画像データに関する情報を検出部120で検出して、撮影装置200に要求画像情報として転送部130から送る。
【0059】
さらに、撮影装置200からRAW画像データを要求画像情報に基づいて画像処理して生成した要求画像データを受信すると、画像処理部140で実行中のアプリケーションに対応した処理を行い実行中のアプリケーションに用いる。
【0060】
次に、本実施の形態1の撮影装置200の機能ブロック構成図の一例を
図4に示す。撮影措置200は、撮影部210、画像処理部220、制御部230、転送部240、蓄積部250を備える。
【0061】
撮影部210は、全体画像を撮影し、撮影した全体画像をRAW画像データにして画像処理部220に送る。
【0062】
撮影部210は、例えば、レンズ21とイメージセンサ22等の部品で構成される。
【0063】
画像処理部220は、撮影部210で撮影されたRAW画像データに対して例えば、JPEGやMPEG等でのデータ圧縮や、解像度の変更、を行う。また、RAW画像データを蓄積部250に送る。なお、蓄積部250に送る画像データは、RAW画像データを圧縮した圧縮画像データでも良い。圧縮画像データを送ることで蓄積部250の容量を削減することが出来る。
【0064】
なお、画像処理部220は、RAW画像データに対して例えば、CPU23の制御によりASIC/FPGA24で解像度の変換、階調変換、歪み補正、画像の切り出し等の画像処理を行い、圧縮画像データ、低解‐圧縮画像データ、要求画像データ等の画像データを生成する。
【0065】
また、画像処理部220は、生成した画像データを転送部240に送る。
【0066】
制御部230は、転送部240を介して画像データを要求されると、撮影部210を実行させる。また、画像データを要求されると、指定される画像フォーマットになるように各機能を制御する。要求がなくなると撮影部210の実行中の撮影動作を終了する。
【0067】
さらに、要求画像情報を受信すると、要求画像情報に基づいて蓄積部250に蓄積しているRAW画像データから要求画像データを生成するように画像処理部220を制御する。なお、要求画像情報に対応する蓄積部250のRAW画像データは、例えば、シーケンス番号を用いて識別する。
【0068】
制御部230は、例えば、撮影装置200の各機能をCPU23で制御することにより実現される。
【0069】
転送部240は、画像処理装置100と要求画像情報等の画像データに関わる情報をやり取りする。また、画像処理装置100から送られてきた情報を制御部230に送る。また、画像処理部220で生成した低解‐圧縮画像データや要求画像データ等の画像データを画像処理装置100に送る。
【0070】
転送部240は、例えば、通信インタフェース26を用いて、画像処理装置100と接続して通信することにより実現される。
【0071】
蓄積部250は、RAW画像データを蓄積する。なお、画像処理部220で圧縮した圧縮画像データや低解‐圧縮画像データを蓄積しても良い。圧縮画像データを用いることで蓄積部250の容量を削減することが出来る。
【0072】
蓄積部250は、例えば、メモリ25である。
【0073】
撮影装置200の起動から、要求画像情報に基づいた要求画像データを画像処理装置100に送るまでの動作の一例を示す。
【0074】
アプリケーションが実行され、画像処理装置100から画像フォーマットが指定された画像データを要求されると、制御部230が撮影部210を実行させ、撮影を開始する。撮影部210が撮影して生成したRAW画像データを蓄積部250に保存する。また、画像処理部220は、RAW画像データを例えば、ダウン・サンプリング法や平均操作法を用いて解像度を低減し、圧縮した低解‐圧縮画像データに変換し、転送部240から画像処理装置100に低解‐圧縮画像データを送る。
【0075】
なお、後で互換性をとるために、蓄積部250に蓄積されているRAW画像データと低解‐圧縮画像データにシーケンス番号等を用いて印をつけるようにしても良い。
【0076】
なお、解像度とデータ転送容量や各機能における処理の負荷の関係は、解像度が高いほど画像データのデータ容量が増える。データ容量が増えることでデータ転送容量や各機能における処理の負荷が大きくなる関係がある。
【0077】
この関係は、画像データのデータ容量が画素数により変化し、画素数が高いほどデータ容量が多くなる関係と解像度が高いほど画素数が高くなる関係とから、解像度が高いとデータ容量が多くなる関係が成り立つ。
【0078】
転送部240は、画像処理装置100から要求画像情報を受信すると、画像処理部220に要求画像情報を送る。
【0079】
画像処理部220は、要求画像情報を検出した低解‐圧縮画像データに該当するRAW画像データを蓄積部250から取り出し、要求画像情報に基づいて、画像処理を行う。
【0080】
画像処理が完了すると、転送部240を介して要求画像データとして、画像処理装置100に送る。
【0081】
ここで、アプリケーションが実行されてからアプリケーションに要求画像データを用いるまでの全体の動作の一例として
図5の処理シーケンスを用いて説明する。なお、
図5の処理シーケンスは、アプリ1または、アプリ2のどちらか一方を起動する。
【0082】
なお、撮影装置200の撮影部210で撮影した全体画像30を
図6に示す。また、
図6には、被写体31の画像が撮影されている。
【0083】
なお、入力部160から実行するアプリケーションとなるアプリ1とアプリ2は、それぞれ顔が中心の画像データが必要なビデオチャット(アプリ1)と手の動作を捉える画像データが必要なハンドジェスチャ(アプリ2)とする。
【0084】
入力部160によりアプリ1(ビデオチャット)のアプリケーションの実行指示がされた場合(ステップS11a)、画像処理装置100は、転送部130から撮影装置200に全体画像30の低解‐圧縮画像データを要求する(ステップS12)。なお、画像データの要求と同時に必要に合わせて画像フォーマットを指定する。また、検出部120や画像処理部140等の各機能をアプリ1(ビデオチャット)に対応した要求画像データを生成するために情報記憶部150からアプリ1(ビデオチャット)のアプリケーションに関する情報を取り出して各機能を設定する(ステップS13)。
【0085】
撮影装置200は、画像データが要求されると、撮影部210を実行させて全体画像30を撮影し(ステップS14)、RAW画像データを蓄積部250に蓄積する(ステップS15)。また、画像処理部220でRAW画像データの解像度を低解像度に変換し(ステップS16)圧縮して生成した低解‐圧縮画像データを転送部240から画像処理装置100に送る(ステップS17)。
【0086】
画像処理装置100は、撮影装置200から低解‐圧縮画像データを受信すると、低解‐圧縮画像データを取り込み、検出部120でアプリケーションに必要な情報を検出する(ステップS20)。なお、全体画像30からの検出は、
図3で示した、ステップS201〜ステップS203に該当する。具体的には、全体画像30から被写体31を検出し、アプリ1(ビデオチャット)に対応した画像にするために
図7のように、全体画像30からアプリ1(ビデオチャット)で用いる画像の中心32aと画像抽出範囲33aを検出する。なお、画像抽出範囲33aは、指定部位の大きさに基づいて設定しても良い。
【0087】
検出部120において、中心32aと画像抽出範囲33aを検出すると、中心32aと画像抽出範囲33aの情報を含んだ要求画像情報を撮影装置200に送る(ステップS21)。なお、ステップS21は、
図3で示したステップS204に該当する。
【0088】
なお、要求画像情報は、例えば、全体画像30に対して、中心32aと画像抽出範囲33aの座標情報または、中心32aの座標情報と中心32aからの抽出範囲情報または、画像抽出範囲33aの座標情報である。また、要求画像情報には、アプリ1(ビデオチャット)に用いる解像度や画像の大きさ等のアプリケーションにおいて要求される画像の他の情報も含まれている。
【0089】
要求画像情報を受信した撮影装置200の制御部230は、要求画像情報に基づいて画像処理に関する情報(中心や抽出範囲等)を更新する(ステップS22)。なお、画像処理に関する情報は、例えば、メモリ25に格納している。
【0090】
また、画像処理部220は、対応するRAW画像データを蓄積部250から取り出して、画像処理に関する情報に基づいて、RAW画像データから中心32a、画像抽出範囲33aの要求画像データを生成する(ステップS23)。なお、解像度も要求される解像度に変更する。
【0091】
要求画像データを生成すると転送部240から要求画像データを画像処理装置100に送る(ステップS24)。
【0092】
画像処理装置100は、要求画像データを受信すると、画像処理部140でアプリ1(ビデオチャット)に対応した処理を行い(ステップS25)、アプリ1(ビデオチャット)のアプリケーションに用いる(ステップS26a)。対応した処理は、例えば、表示サイズに合わせて画像の拡大縮小である。なお、撮影装置200から受信した要求画像データがそのままアプリケーションに用いることができる場合は、画像処理部140で画像処理をせずにそのまま用いても良い。
【0093】
また、解像度の変換は、撮影装置200で行うのが好ましいが画像処理装置100で行っても良い。画像処理装置100で解像度の変換を行う際は、画像処理部140で行う。
【0094】
また、入力部160によりアプリ2(ハンドジェスチャ)のアプリケーションが実行指示された場合(ステップS11b)、画像処理装置100は、転送部130から撮影装置200に全体画像30の低解‐圧縮画像データを要求する(ステップS12)。なお、画像データの要求と同時に必要に合わせて画像フォーマットを指定する。また、検出部120や画像処理部140等の各機能をアプリ2(ハンドジェスチャ)に対応した要求画像データを生成するために情報記憶部150からアプリ2(ハンドジェスチャ)のアプリケーションに関する情報を取り出して各機能を設定する(ステップS13)。
【0095】
撮影装置200は、画像データが要求されると撮影部210を実行して全体画像30を撮影し(ステップS14)、RAW画像データを蓄積部250に蓄積する(ステップS15)。また、画像処理部220でRAW画像データの解像度を低解像度に変換し(ステップS16)、圧縮して生成した低解‐圧縮画像データを転送部240から画像処理装置100に送る(ステップS17)。
【0096】
画像処理装置100は、撮影装置200から低解‐圧縮画像データを受信すると、低解‐圧縮画像データを取り込み、検出部120で検出する(ステップS20)。具体的には、全体画像30から被写体31を検出し、アプリ2(ハンドジェスチャ)に合わせた画像にするために
図8のように、全体画像30から、アプリ2(ハンドジャスチャ)で用いる画像の中心32bと画像抽出範囲33bを検出する。なお、画像抽出範囲33bは、動作を捉える事が可能な範囲とする。
【0097】
なお、アプリ2(ハンドジェスチャ)の対象の手は、例えば、連続して送られてくる低解‐圧縮画像データから、先に手のひらを認識した手を対象にする。
【0098】
検出部120で低解‐圧縮画像データから中心32bと画像抽出範囲33bを検出すると、中心32bと画像抽出範囲33bを含んだ情報を要求画像情報として撮影装置200に送る(ステップS21)。また、要求画像情報には、アプリ2(ハンドジェスチャ)に用いる解像度等の他の情報も含まれている。
【0099】
要求画像情報を受信した撮影装置200の制御部230は、要求画像情報に基づいて画像処理に関する情報(例えば、中心32bや抽出範囲33b)を更新し(ステップS22)、画像処理部220で対象のRAW画像データを蓄積部250から取り出して、画像処理に関する情報に基づいて、RAW画像データから中心32b、画像抽出範囲33bの要求画像データを生成する(ステップS23)。なお、解像度も要求される解像度に変更する。
【0100】
要求画像データを生成すると転送部240から要求画像データを画像処理装置100に送る(ステップS24)。
【0101】
画像処理装置100は、要求画像データを受信すると、画像処理部140でアプリ2(ハンドジェスチャ)に対応した画像処理を行い(ステップS25)、アプリ2(ハンドジェスチャ)のアプリケーションに用いる(ステップS26b)。画像処理は、例えば、表示サイズに合わせた画像の拡大縮小である。なお、撮影装置200から受信した要求画像データがそのままアプリケーションに用いることができる場合は、そのまま用いても良い。
【0102】
また、アプリ2(ハンドジェスチャ)の場合は、顔の部分の情報が無くてもよいので、顔の部分が撮影されている場合に、顔にぼかしをいれて人が見た時に認識ができないようにしても良い。
【0103】
また、解像度の変換は、撮影装置200で行うのが好ましいが画像処理装置100で行っても良い。画像処理装置100で解像度の変換を行う際は、画像処理部140で行う。
【0104】
以上のようにすることで、実行中のアプリケーションに対応した画像データを用いることができる。
【0105】
なお、中心32a、32b、画像抽出範囲33a、33bは、アプリケーションによって分けて記載したが、以降、区別しない場合は、中心32、画像抽出範囲33と記載する。また、ステップS11a、S11b等のステップもアプリケーションに応じて分けて記載したが、以降、区別しない場合は、単にステップS11のように数字のみを記載する。
【0106】
また、ハンドジェスチャ等の中心32を固定するアプリケーションの場合は、連続して送られてくる低解‐圧縮画像データに対して中心32を固定する。
【0107】
また、一定期間変更せずに、期間内で同一の要求画像情報を用いて、期間内のRAW画像データに対して処理を行うようにしても良い。また、その期間内における低解‐圧縮画像データの生成は、要求画像情報を送られてくるまでとしても良い。
【0108】
なお、検出を行わない場合は、ステップS16の後にステップS23の処理を行う。このようにすることで画像処理装置100における負荷やデータ伝送容量がさらに削減できる。
【0109】
また、低解‐圧縮画像データからアプリケーションに対応した情報の検出ができなかった時の動作について説明する。
【0110】
ステップS20において、アプリケーションに対応した情報が未検出となると、要求画像情報に要求の範囲がないとして撮影装置200に送る(ステップS21)。
【0111】
撮影装置200は、要求範囲が無い要求画像情報を受信すると、RAW画像データの中心から所定の範囲を抽出して対象画像となるように画像処理を行い(ステップS23)、画像処理装置100に対象画像の要求画像データを送る(ステップS24)。
【0112】
画像処理装置100は、要求画像データを表示できるように画像処理をする(ステップS25)。
【0113】
なお、ステップS26の実行時に対象物が検出されていない画像データを表示する時に認識ができていないことを明記するようにしても良い。なお、そのような表示を行うときは、ステップS25で処理する。
【0114】
また、入力部160から対応のアプリケーションを停止の指示があるまでステップS14〜S26までの処理を繰り返し行う。なお、各ステップで繰り返し行われているので、例えば、検出(ステップS20)と画像処理(ステップS25)が同時に行われていることもある。但し、処理を行う画像データが異なる。
【0115】
また、情報記憶部150を基に画像処理装置100の設定を変更したが、処理毎に対応の機能が情報記憶部150から必要な情報を取るようにしても良い。
【0116】
以上のように、実施の形態1では、RAW画像データから実行中のアプリケーションに対応した要求画像データを提供するまでに、画像処理における負荷を低減することができる。
【0117】
(実施の形態2)
実施の形態1では、低解‐圧縮画像データから画像処理装置100が中心32等の要求画像データに関する情報を検出して、撮影装置200でアプリケーションに対応した要求画像データの生成のための処理を行った。実施の形態2では、画像処理装置100で行った中心32等の要求画像データに関する情報の検出を撮影装置200で行う。
【0118】
図9に本実施の形態2にかかる画像処理装置100の機能ブロック構成図の一例を示す。
図9の画像処理装置100は、制御部110、転送部130、画像処理部140、情報記憶部150、入力部160を備える。なお、実施の形態1から検出部120を除いた構成となるため、構成要件の説明を省略する。
【0119】
実施の形態2の画像処理装置100は、アプリケーションが実行すると、実行したアプリケーションに対応した要求画像データを撮影装置200に要求する。なお、要求の際に情報記憶部150から起動したアプリケーションに対応する情報を取り出して送る。また、必要に応じて画像フォーマットを指定する。
【0120】
要求画像データを撮影装置200から受け取ると、画像処理部140がアプリケーションに対応した処理を行いアプリケーションに用いる。
【0121】
図10に本実施の形態2にかかる撮影装置200の機能ブロック構成図の一例を示す。撮影装置200は、撮影部210、画像処理部220、制御部230、転送部240、蓄積部250、検出部260を備える。なお、実施の形態1と同一の構成要件については、説明を省略する。
【0122】
検出部260は、撮影部210で撮影した全体画像30のRAM画像データからアプリケーションに対応した画像情報となる中心32や画像抽出範囲33を検出する。
【0123】
検出部260は、例えば、CPU23の制御によりASIC/FPGA24で、中心32や画像抽出範囲33等のアプリケーションに用いる画像の情報を検出する。
【0124】
実施の形態2にかかる撮影装置200は、画像処理装置100から要求画像データを要求されると、撮影部210を起動し、全体画像30の撮影をしてRAM画像データを生成する。
【0125】
実施の形態2における撮影装置200が要求画像データを画像処理装置100に送るまでの動作の一例を示す。
【0126】
要求画像データを要求されると、制御部230が撮影部210を起動させて撮影を開始する。また、要求された時に送られてくるアプリケーションに対応する情報を基に検出部260の設定を行う。
【0127】
撮影部210が撮影した全体画像30のRAM画像データを蓄積部250に保存する。また、検出部260で全体画像30からアプリケーションに対応した要求画像データを生成するために中心32と画像抽出範囲33を検出する。
【0128】
なお、検出部260の検出に用いるRAM画像データは、RAM画像データで行ってもいいし、画像処理部220で解像度を低減させた画像データを用いても良い。なお、RAW画像データを低解像度に変換して検出する際は、検出部260の前に、画像処理部220で解像度を変換する。
【0129】
検出部260で中心32や画像抽出範囲33を検出すると、画像処理部220に検出した要求画像情報を送る。
【0130】
画像処理部220は、要求画像情報を検出したRAM画像データを蓄積部250から取り出し、要求画像情報に基づいた画像処理をする。また、アプリケーションに応じて求められる解像度に変換する。
【0131】
画像処理が完了すると転送部240を介して要求画像データとして画像処理装置100に送る。
【0132】
以上のように、実施の形態2では、撮影装置200でアプリケーションに対応した要求画像データを生成することが可能になり、実施の形態1よりも装置間の情報のやり取りを減らすことが可能になる。
【0133】
(実施の形態3)
実施の形態1、2は、1つのアプリケーションの実行から運用について説明した。実施の形態3では、アプリケーションを切り替えるときの処理について説明する。なお、実施の形態3では、実施の形態1の画像処理装置100と撮影装置200を用いるとするがこれに限定するわけではない。
【0134】
また、アプリケーションの数は、複数で切り替えが起こる状況であれば良い。
【0135】
アプリケーションの切り替えは、入力部160が新しいアプリケーションを実行すると切り替えるが行われるとする。
【0136】
入力部160により切り替えを行うと、情報記憶部150から切り替え先アプリケーションに対応した画像の情報を取り出し、画像処理装置100内の各機能の設定を変更して、切り替え先のアプリケーションに対応した画像処理を行うようにする。
【0137】
また、撮影部210での撮影は、継続して撮影を続け、切り替え操作が行った後に送られてくる低解‐圧縮画像データから切り替え先のアプリケーションに対応した画像処理を行う。但し、アプリケーションで用いる画像フォーマットが異なる場合は、別途、新たにアプリケーションに対応した画像フォーマットの画像データを要求する。
【0138】
また、一定期間を同一の中心32等にして低解‐圧縮画像データを受信していない場合は、画像処理装置100が撮影装置200に画像フォーマットを指定し、画像データを要求する。
【0139】
以上のように、実施の形態3では、アプリケーションが実行中に別のアプリケーションに切り替えを行っても対応が可能になる。
【0140】
(実施の形態4)
実施の形態3では、アプリケーションの切り替え時の説明を行った。実施の形態4では、複数のアプリケーションを同時に実行する場合について説明する。なお、実施の形態4では、実施の形態1の画像処理装置100と撮影装置200を用いるとするがこれに限定するわけではない。
【0141】
2つのアプリケーションが同時に実行されている一例として
図11の処理シーケンスを用いて説明する。なお、
図11のアプリ1とアプリ2は、それぞれビデオチャットとハンドジェスチャとする。また、
図11の処理シーケンスは、アプリ1(ビデオチャット)が実行中にアプリ2(ハンドジェスチャ)が実行される例として記載されているが限定するわけではない。
【0142】
また、撮影装置200のアプリ1(ビデオチャット)とアプリ2(ハンドジェスチャ)は、それぞれのアプリケーションに対応する処理として別々に記載しているが同一の撮影装置200で処理されている。また、アプリ1(ビデオチャット)とアプリ2(ハンドジェスチャ)で用いる画像フォーマットは、同一とする。
【0143】
なお、
図11において
図5と同様な処理については、同一の符号を付与している。また、アプリ1(ビデオチャット)のみ実行している状態の記載は、
図5と同様になるため省略している。なお、一部の処理ステップは、アプリ1(ビデオチャット)が実行してから継続して行われている。
【0144】
アプリ1(ビデオチャット)のアプリケーションが実行中にアプリ2(ハンドジェスチャ)のアプリケーションが入力部160から実行指示する(ステップS11b)と、画像処理装置100は、情報記憶部150からアプリ2(ハンドジェスチャ)に対応する画像の情報を取り出し、検出部120等の画像処理装置100内の各機能の設定を変更する(ステップS13)。
【0145】
低解‐圧縮画像データを受信している場合は、設定を切り替えた時に受信している低解‐圧縮画像データからアプリ2(ハンドジェスチャ)に対応した情報(例えば、中心32b、画像抽出範囲33b)を検出(ステップS20)して、アプリ2(ハンドジェスチャ)の要求画像情報として撮影装置200に送る(ステップS21)。
【0146】
なお、低解‐圧縮画像データを受信していない場合、撮影装置200に画像データを要求し、低解‐圧縮画像データを受信してから同様の処理を行う。
【0147】
撮影装置200は、アプリ2(ハンドジェスチャ)用の要求画像情報を受信すると、要求画像情報に基づいてアプリ2(ハンドジェスチャ)用の画像処理に関する情報を更新する(ステップS22)。なお、アプリ2(ハンドジェスチャ)用とアプリ1(ビデオチャット)用の画像処理に関する情報は、別々に更新する。
【0148】
アプリケーションの区別は、例えば、画像処理装置100が検出における設定を変更する毎に変更した設定に対応したアプリケーションを通知し、次の通知まで、通知されたアプリケーションに対応した画像処理に関する情報を更新し、保持する。
【0149】
更新したアプリ2(ハンドジェスチャ)に対応した画像処理に関する情報に基づいて画像処理を行い(ステップS23b)、画像処理を行った画像を要求画像データとして画像処理装置100に送る(ステップS24b)。
【0150】
画像処理装置100は、要求画像データをアプリケーションに合わせた画像処理(ステップS25b)を行い、アプリ2(ハンドジェスチャ)のアプリケーションに用いる(ステップS26b)。
【0151】
また、アプリ1(ビデオチャット)のアプリケーションに対応する検出処理を行わないので、アプリ2(ハンドジェスチャ)のアプリケーションが実行する前に更新した画像処理に関する情報に基づいてアプリ1(ビデオチャット)に対応した画像処理(ステップS23a)をステップS23bよりも先に行う。画像処理が終わると、画像処理装置100にアプリ1(ビデオチャット)の要求画像データとして送る(ステップS24a)。
【0152】
画像処理装置100は、要求画像データをアプリケーションに合わせた画像処理(ステップS25a)を行い、アプリ1(ビデオチャット)のアプリケーションに用いる(ステップS26a)。
【0153】
なお、連続的に撮影を行っているのでアプリ1(ビデオチャット)とアプリ2(ハンドジャスチャ)の画像処理を別々の全体画像30のRAW画像データに対して同時に行い、一緒に画像処理装置100に送るようにしても良い。
【0154】
以上のように処理を行うことで、2つのアプリケーションを同時に実行する場合においてもそれぞれのアプリケーションに対応した画像処理が可能となる。また、撮影装置200や画像処理装置100において、アプリ1(ビデオチャット)とアプリ2(ハンドジェスチャ)のアプリケーションに対して同一のRAW画像データに対する画像処理を別のタイミングで行うことが可能になる。
【0155】
なお、2つのアプリケーションは、同じRAW画像データから生成した要求画像データを用いるまでにずれが生じるがアプリケーションが連動していない場合は問題ない。
【0156】
また、2つのアプリケーションが連動している場合は、例えば、画像処理装置100の画像処理(ステップS25a)でステップS25bにおける画像処理まで遅延させ、同時に実行する。
【0157】
また、検出部120の検出は、所定の条件に基づいてアプリ1(ビデオチャット)又は、アプリ2(ハンドジェスチャ)のどちらかの検出を行うように切り替えても良い。
【0158】
なお、所定の条件は、例えば、規定回数や規定時間である。
【0159】
また、画像処理部140で各画像抽出範囲33に所定の対象物(部位)の有無を調べて、対象物がないアプリケーションや中心がずれているアプリケーションに対応して検出と更新を行うようにしても良い。
【0160】
また、アプリ1(ビデオチャット)とアプリ2(ハンドジェスチャ)で画像フォーマットが異なる場合は、検出を行う低解−圧縮画像データは、検出対象のアプリの画像フォーマットであり、各要求画像データは、それぞれに対応した画像フォーマットである。
【0161】
この場合、RAW画像データから2種類の画像フォーマットのデータを生成する。
【0162】
以上のように、実施の形態4では、RAW画像データから複数のアプリケーションに対応した複数の要求画像データを生成することが可能になる。
【0163】
(実施の形態5)
実施の形態4では、複数のアプリケーションが同時に動作した時に、各々の画像処理に関する情報に基づいた処理について説明した。実施の形態5では、要求画像情報を1つにまとめて撮影装置200に送り、画像処理装置100が要求画像情報に基づいた対象画像データからそれぞれのアプリケーションに対応した要求画像データを生成する方法を説明する。なお、実施の形態4では、実施の形態1の画像処理装置100と撮影装置200を用いるとするがこれに限定するわけではない。また、実施の形態5では、画像フォーマットがアプリケーションで同一の場合に用いることが可能な方法である。
【0164】
入力部160によりアプリケーションの実行から画像データの要求までは、実施の形態1と同様であるが、情報記憶部150から取り出す情報は、複数のアプリケーションに対応できる抽出範囲や複数のアプリケーション全ての指定部位の情報となる。
【0165】
図12を用いて検出について説明する。RAW画像データをからアプリ1(ビデオチャット)とアプリ2(ハンドジェスチャ)の画像抽出範囲33a、33bが全て含まれる抽出範囲34を検出する。
【0166】
画像処理装置100は、抽出範囲34を含む要求画像情報を撮影装置200に送る。撮影装置200は、全体画像30のRAW画像データから抽出範囲34の画像を切り出し、対象画像データを生成し、画像処理装置100に送る。
【0167】
画像処理装置100は、対象画像データを読み込み、読み込んだ画像から情報記憶部150の情報を元に各アプリケーションに対応した要求画像データを生成し、生成した各要求画像データを対象の各アプリケーションに用いる。
【0168】
なお、検出部120で、複数のアプリケーションそれぞれに対して検出した後に抽出範囲34を出すようにしても良い。その場合は、全体画像30のRAW画像データに対して複数回の検出が必要となり、検出毎に情報記憶部150から必要な情報を取り出す。
【0169】
以上のような処理を行うことで、画像抽出範囲33に重なりがある場合、画像処理装置100と撮影装置200間での通信帯域を重なり分だけ少なくすることが可能である。
【0170】
以上説明したように、本発明において最も好ましい実施の形態等について説明したが、本発明は上記記載に限定されるものではなく、特許請求の範囲に記載され、又は発明を実施するための形態に開示された発明の要旨に基づき、当業者において様々な変形や変更が可能であることは勿論であり、斯かる変形や変更が、本発明の範囲に含まれることは言うまでもない。