(57)【要約】【課題】優先度の高い静止画の検出処理の開始命令が来ると、優先度の低い駒間ライブビューの検出処理が中断またはキャンセルされるため、駒間ライブビューの検出結果が得られる回数が減り、連写間の被写体追尾の性能向上の妨げになる。【解決手段】静止画連写および連写の駒間ライブビューを行う撮像装置において、静止画および駒間ライブビューの画像をそれぞれ取得する画像取得部と、前記画像の中から人物の顔を検出し、顔の個数および位置やサイズ情報を取得し、さらに顔の目や鼻などの器官座標やサイズ情報を取得する検出処理を行う検出部と、前記検出部において、静止画連写における検出処理と、駒間ライブビューにおける検出処理を排他的に実行するためのスケジューリングを行う制御部を有し、前記制御部は、静止画の検出処理の開始指示を受けたタイミングにおいてスケジューリングを実行することを特徴とする。【選択図】図２
2018207416.tif 000002
【特許請求の範囲】
【請求項１】
静止画および静止画連写の駒間ライブビューを行う撮像装置において、
静止画および駒間ライブビューの画像をそれぞれ取得する画像取得部と、
前記画像の中から人物の顔を検出し、顔の個数および位置やサイズ情報を取得し、さらに顔の目や鼻の器官座標やサイズ情報を取得する検出処理を行う検出部と、
前記検出部において、静止画連写における検出処理と、駒間ライブビューにおける検出処理を排他的に実行するためのスケジューリングを行う制御部を有し、
前記制御部は、静止画の検出処理の開始指示を受けたタイミングにおいてスケジューリングを実行することを特徴とする撮像装置。
【請求項２】
前記制御部は、静止画の検出処理の対象となる画像の直近に得られた駒間ライブビューで得られた情報を取得し、前記顔の個数をもとに静止画の検出処理時間を見積もることを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記制御部は、静止画の検出処理の対象となる画像の直近に得られた駒間ライブビューの画像の中から検出した顔の個数を取得し、前記顔の個数をもとに静止画の検出処理時間を見積もることを特徴とする請求項２に記載の撮像装置。
【請求項４】
前記制御部は、静止画の検出結果を必要とするタイミングから、前記静止画の検出処理時間だけ遡ったタイミングまでに、前記静止画の検出処理を開始させるようにスケジューリングすることを特徴とする請求項１又は請求項２に記載の撮像装置。
【請求項５】
前記制御部は、静止画の検出処理は検出された全ての顔に対して検出処理を行い、駒間ライブビューの検出処理は追尾対象となる１つの顔に対してのみ検出処理を行うことを特徴とする請求項１に記載の撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば撮像装置における複数のタスクを実行するマルチタスク実行方法に関する。
【背景技術】
【０００２】
撮像装置を用いて静止画連写で撮影をする際に、連写の駒間の表示をするためのライブビュー（以降、駒間ライブビューと呼ぶ）をする。静止画撮影と駒間ライブビューはどちらとも顔検出および器官検出を行っており、連写中のリアルタイム性を求められている。
【０００３】
静止画における顔検出結果や器官検出結果の用途は、画像処理ソフト等を用いた補正等に用いられる。そのため、顔検出結果や器官検出結果の情報をＪＰＥＧ画像と一緒にファイルに格納し、ＳＤカードに記録することが必須である。
【０００４】
駒間ライブビューにおいては、顔検出結果や器官検出結果を被写体追尾へ利用することにより、連写間の被写体追尾の性能を向上させることができる。
【０００５】
ここで、複数のタスクの処理順を決定する技術が、特許文献１および特許文献２に開示されている。
【０００６】
特許文献１には、遅延保証が必要な各タスクについて、実行の周期、実行に必要とされる要求処理時間及び許容される遅延時間からなるタスク情報を設定し、要求処理時間と許容遅延時間との和が小さい順にタスクの優先度を高く設定する技術が開示されている。
【０００７】
また、特許文献２では、各アプリの処理時間を動的に予測し、その予測した処理時間に基づいて各アプリのスケジューリングを行う。そして、スケジューリングを行った結果、規定周期内に処理が終了しないアプリケーションが存在すると判断した場合に、予め設定された優先順位に基づいて、アプリケーションの打ち切り、もしくはアプリケーションの機能を低下させる処理を行う。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平１０−１７１６６７号公報
【特許文献２】特開２０１１−１００３３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１では、要求処理時間と許容遅延時間との和の大きいタスクの方が機能的な優先度が高い場合、和の小さいタスクの優先度を上げてしまうと、和の大きいタスクを適切に実行できなくなることが予想される。
【００１０】
また、特許文献２では、周期的なアプリケーションの実行について述べられており、アプリケーションの処理開始タイミングが不定期である場合について考慮されていない。
【００１１】
ここで、撮像装置においては、静止画をＳＤカードに記録した後、画像処理ソフト等による補正に用いられるため、記録する画像に写っている人物の顔の数や位置、大きさなどの情報は全て記録されなければならない。このため、駒間ライブビューの顔検出および器官検出に比べ、静止画処理の顔検出および器官検出は優先度が高く設定される。
【００１２】
また、駒間ライブビューの検出開始命令は定期的であるが、静止画の検出開始命令は不定期である。そのため従来は、優先度の高い静止画の検出処理の開始命令が来ると、優先度の低い駒間ライブビューの検出処理を中断していた。または、静止画の検出処理の動作中は、駒間ライブビューの検出処理をキャンセルしていた。
【００１３】
さらに、静止画の検出開始命令のタイミングによっては、実行中の駒間ライブビューの検出処理を中断し、さらに静止画の検出処理が終わらないと次の駒間ライブビューの検出処理もキャンセルしないといけない場合もあった。これにより、駒間ライブビューの検出結果が得られる回数が減り、連写間の被写体追尾の性能向上を妨げていた。
【００１４】
そこで、本発明では、撮像装置を用いた静止画連写において、優先度の高い静止画の検出処理を確実に実行しつつ、優先度の低い駒間ライブビューの検出処理が中断またはキャンセルされる回数を抑え、可能な限り被写体追尾の性能を向上させることを目的とする。
【課題を解決するための手段】
【００１５】
上記の目的を達成するために、本発明に係る撮像装置は、
静止画および静止画連写の駒間ライブビューを行う撮像装置において、
静止画および駒間ライブビューの画像をそれぞれ取得する画像取得部と、
前記画像の中から人物の顔を検出し、顔の個数および位置やサイズ情報を取得し、さらに顔の目や鼻などの器官座標やサイズ情報を取得する検出処理を行う検出部と、
前記検出部において、静止画連写における検出処理と、駒間ライブビューにおける検出処理を排他的に実行するためのスケジューリングを行う制御部を有し、
前記制御部は、静止画の検出処理の開始指示を受けたタイミングにおいてスケジューリングを実行することを特徴とする。
【発明の効果】
【００１６】
本発明に係る撮像装置によれば、駒間ライブビューの検出処理が中断またはキャンセルされる回数を抑えられるため、連写間の被写体追尾の性能向上が可能になる。
【図面の簡単な説明】
【００１７】
【図１】撮像装置１００の構成を示す図
【図２】実施例１における検出処理のタイミングチャート
【図３】撮像装置１００の露光から検出処理開始のタイミングチャート
【図４】検出処理をスケジューリングするためのフローチャート
【図５】実施例２における検出処理のタイミングチャート
【発明を実施するための形態】
【００１８】
以下、本発明の実施形態について図面を参照して説明する。
【実施例１】
【００１９】
本実施例における撮像装置１００は、静止画撮影および駒間ライブビューを切り替えて動作する。また、静止画撮影および駒間ライブビューそれぞれについて、顔検出処理および器官検出処理を行う。また、顔検出処理および器官検出処理を含む一連の処理をまとめて検出処理と呼ぶこととする。
【００２０】
図１を用いて、本発明における撮像装置１００の構成について説明する。
【００２１】
１０１は、レンズである。
【００２２】
１０２は、レンズ１０１より入射した光を露光し、光電変換してアナログ信号を得る撮像素子である。
【００２３】
１０３は、撮像素子１０２によって得られたアナログ信号にＡ／Ｄ変換処理を適用し、デジタルの画像信号を得るＡ／Ｄ変換回路である。
【００２４】
１０４および１０５は、Ａ／Ｄ変換回路１０３によって得られたデジタルの画像信号に対して、補間処理や色変換処理、特定のサイズへ変倍する変倍処理などを施し、画像データを得る信号処理部である。信号処理部１０４は静止画撮影時に用い、信号処理部１０５は駒間ライブビュー時に用いる。
【００２５】
１０６は、信号処理部１０４および信号処理部１０５により得られた画像データに対して、人物の顔を検出する顔検出や、顔の中から目や鼻などを検出する器官検出を行い、顔や器官のサイズ情報や位置座標などを含む位置情報を取得する検出部である。検出部１０６を排他的に用いることにより、静止画の検出処理および駒間ライブビューの検出処理を実行する。
【００２６】
１０７は、信号処理部１０４により得られた画像データに対して、被写体認識を行うことにより、注目被写体を追尾する追尾部である。検出部１０６による検出結果を参照することにより被写体追尾の性能を向上できるが、検出結果がなくとも追尾処理は可能である。
【００２７】
１０８は、ＪＰＥＧ圧縮方式などで画像データを圧縮伸長するための圧縮伸長部である。
【００２８】
１０９は、画像データの一時保存や、圧縮用一時バッファとして用いるためのＤＲＡＭである。
【００２９】
１１０は、圧縮した画像を保存する、例えばＳＤカードなどのＳＤカードである。
【００３０】
１１１は、駒間ライブビュー時に信号処理部１０５において得られた画像データを表示する表示部である。
【００３１】
１１２は、各モジュールを接続するバスである。
【００３２】
１１３は、撮像装置１００の各部を制御するＣＰＵである。特に、静止画の検出処理と駒間ライブビューの検出処理のスケジューリングを行う。スケジューリングについての詳細な説明は後述する。
【００３３】
ここで、図１を用いて、静止画撮影の処理について説明する。
【００３４】
レンズ１０１から入射した光学像は撮像素子１０２に結像する。
【００３５】
撮像素子１０２は結像した光信号を光電変換し、アナログ電気信号としてＡ／Ｄ変換回路１０３へ出力する。Ａ／Ｄ変換回路１０３は、アナログ電気信号をデジタル信号へ変換し、信号処理部１０４へ出力する。信号処理部１０４は、補間処理および色変換処理や、静止画記録サイズへの変倍処理などの画像処理により画像データを生成し、ＤＲＡＭ１０９へ格納する。
【００３６】
ＤＲＡＭ１０９に格納した画像データを読み出し、検出部１０６に入力し、画像データに対して検出処理を施すことにより、検出結果を出力する。
【００３７】
ＤＲＡＭ１０９に格納した画像データを読み出し、圧縮伸長部１０８に入力し、圧縮してＪＰＥＧ画像を生成する。
【００３８】
ＣＰＵ１１３は、圧縮伸長部１０８によって得られたＪＰＥＧ画像と、検出部１０６において得られた検出結果を１つのファイルに格納し、ＳＤカード１１０に記録する。
【００３９】
次に、図１を用いて、駒間ライブビューの処理について説明する。
【００４０】
レンズ１０１から入射した光学像を撮像素子１０２に結像させる。
【００４１】
撮像素子１０２は結像した光信号を光電変換し、アナログ電気信号としてＡ／Ｄ変換回路１０３へ出力する。Ａ／Ｄ変換回路１０３は、アナログ電気信号をデジタル信号へ変換し、信号処理部１０５へ出力する。信号処理部１０５は、補間処理および色変換処理や、表示サイズへの変倍処理などの画像処理により画像データを生成し、ＤＲＡＭ１０９へ格納する。
【００４２】
ＤＲＡＭ１０９に格納した画像データを読み出し、表示部１１１に入力し、表示する。
【００４３】
ＤＲＡＭ１０９に格納した画像データを読み出し、検出部１０６に入力し、画像データに対して検出処理を施すことにより検出結果を追尾部１０７に出力する。
【００４４】
追尾部１０７において追尾処理を行い、被写体追尾情報をＣＰＵ１１３へ出力する。
【００４５】
ＣＰＵ１１３は、被写体追尾情報を信号処理部１０５に送信し、次フレームの処理で使用する。
【００４６】
次に、図２を用いて、ＣＰＵ１１３における、静止画撮影の検出処理と駒間ライブビューの検出処理のスケジューリングについて具体的に説明する。
【００４７】
静止画撮影ではＪＰＥＧファイルに検出結果を保存することが必須であり、一方、駒間ライブビューでは検出結果を用いることにより被写体追尾の精度を向上させることが可能である。静止画での検出処理を必ず行うために、静止画の方が駒間ライブビューよりも、検出処理の優先度を高く設定する必要がある。
【００４８】
図２における、駒間ライブビューの検出開始命令２０１〜２０５は、ＣＰＵ１１３から検出部１０６へ周期的に送信されるタイミングを示している。また、検出部１０６における検出開始命令２０１〜２０５による検出処理期間を検出処理２１１〜２１５に示す。
【００４９】
静止画の検出開始可能指示２０６は、信号処理部１０４の処理が完了し、静止画の検出処理が開始可能になったタイミングを示しており、その時刻をＴ１１とする。また同時に、信号処理部１０４の処理の完了後、ＪＰＥＧ生成２３６を開始する。
【００５０】
時刻Ｔ１１においては、静止画の検出処理の方が駒間ライブビューよりも優先度が高いが、動作中の駒間ライブビューの検出処理２１２を中断しない。また、ＣＰＵ１１３から検出部１０６への検出開始命令を送信せず、検出処理のスケジューリングを開始する。
【００５１】
なお、静止画の検出開始可能指示２０６は、不定期で発生する。
【００５２】
ここで、静止画の検出開始可能指示２０６が不定期で発生する理由について、図３を用いて説明する。静止画撮影では、露光時間よりも信号処理部１０４の処理時間の方が長いため、露光で得られたデータをバッファに溜めておき、信号処理部１０４の処理を後追いで実行していく。一方、駒間ライブビューは連写の駒間の表示をリアルタイムに実行する必要があるため、静止画よりもタスクの優先度を高く設定する。そのため、静止画撮影の信号処理部１０４の開始タイミングや処理時間にばらつきが出てしまい、その結果、静止画の検出開始可能タイミングが不定期になる。
【００５３】
図２において、静止画の検出開始命令２０７は、ＣＰＵ１１３によるスケジューリングの結果、ＣＰＵ１１３から検出部１０６へ送信されるタイミングを示している。また、検出部１０６における検出開始命令２０７による検出処理期間を検出処理２１６に示す。
【００５４】
検出処理時間２２６は、静止画の検出処理２１６の処理時間を示している。なお、静止画の検出処理時間の方が駒間ライブビューの検出処理時間よりも長い理由は、静止画の器官検出は検出された全ての顔に対して実行し、駒間ライブビューの器官検出は追尾対象となる１つの顔のみに対して実行するためである。つまり、静止画の検出処理時間は、顔の数によっても処理時間が変わる。
【００５５】
時刻Ｔ１３は、静止画撮影のＪＰＥＧ画像の生成完了のタイミングを示しており、これは同時に、ＳＤカード１１０にＪＰＥＧ画像を書きこむ開始タイミングであることを示している。静止画の検出結果をＪＰＥＧ画像と１つのファイルに格納してＳＤカードに保存する必要があるため、時刻Ｔ１３までに静止画の検出処理２１６を完了させる必要がある。時刻Ｔ１３は、ＣＰＵ１１３が、圧縮伸長部１０８において処理する画像サイズやエンコーダの処理レートをもとに処理時間を見積もることにより、推定される。
【００５６】
時刻Ｔ１２は、時刻Ｔ１３から検出処理時間２２６の時間を遡った時刻を示している。つまり、時刻Ｔ１２は、時刻Ｔ１３までに静止画の検出処理２１６を完了させることのできる、検出開始命令２０７の限界時刻である。
【００５７】
静止画検出開始可能期間２２１は、時刻Ｔ１１から時刻Ｔ１２の期間を示している。つまり、ＣＰＵ１１３は、静止画検出開始可能期間２２１のあいだに、静止画の検出開始命令２０７を検出部１０６に送信するように検出処理をスケジューリングすることになる。
【００５８】
ここで、図４のフローチャートを用いて、ＣＰＵ１１３による静止画撮影および駒間ライブビューの検出処理のスケジューリングのフローについて説明する。
【００５９】
Ｓ４０１において、ＣＰＵ１１３は、信号処理部１０４の処理完了を以って、時刻Ｔ１１において静止画の検出開始可能指示２０６を受ける。
【００６０】
Ｓ４０２において、ＣＰＵ１１３は、静止画の検出処理時間を求めるために、駒間ライブビューの検出処理結果から顔の個数を取得する。例えば、図３に示すように、静止画露光３０２で得られた信号を、信号処理部１０４の処理３１２において処理した画像データに対する検出処理時間を、検出可能指示３２２のタイミングで求めるとする。静止画露光３０２に含まれる顔の個数と、その直前の駒間ライブビュー露光３０１に含まれる顔の個数は、ほぼ同じと考えられる。そのため、検出可能指示３２２において参照する顔の個数は、駒間ライブビュー露光３０１で得られた信号から信号処理部１０５の処理３１１および検出処理３２１を経て求められた検出結果より取得する。この理由により、参照されるまで、ＣＰＵ１１３もしくはＤＲＡＭ１０９に駒間ライブビューの検出結果を記憶しておく必要がある。
【００６１】
Ｓ４０３において、ＣＰＵ１１３は、顔の個数をもとに静止画の検出処理時間２２６を求める。
【００６２】
Ｓ４０４において、ＣＰＵ１１３は、ＪＰＥＧ画像生成が完了する時刻Ｔ１３を見積もる。
【００６３】
Ｓ４０５において、ＣＰＵ１１３は、時刻Ｔ１３から静止画の検出処理時間２２６を遡った時刻Ｔ１２を求める。
【００６４】
Ｓ４０６において、ＣＰＵ１１３は、駒間ライブビューの検出処理の完了時刻が時刻Ｔ１２を越えない最終の検出処理を特定する。図２においては、検出処理２１３の完了時刻がＴ１２を越えない最終の検出処理となる。
【００６５】
Ｓ４０７において、ＣＰＵ１１３は、Ｓ４０６で特定した駒間ライブビューの最終検出処理の完了後に、静止画の検出開始命令２０７を発行するよう設定する。
【００６６】
Ｓ４０８において、ＣＰＵ１１３は、静止画の検出処理２１６と重なる駒間ライブビューの検出処理をキャンセルするよう設定する。図２においては、検出処理２１４をキャンセルする。
【００６７】
以上、実施例１において述べたように、駒間ライブビューの最終の検出処理の完了後に静止画の検出処理２１６を開始するようスケジューリングした。これにより、時刻Ｔ１３までに静止画の検出処理２１６が完了でき、且つ、時刻Ｔ１１において動作中の駒間ライブビューの検出処理２１２を中断することなく検出結果を得ることができるようになった。また、実行しない検出処理を検出処理２１４の１フレーム分だけに抑えることが可能となった。
【実施例２】
【００６８】
図５を用いて、ＣＰＵ１１３における、静止画の検出処理と駒間ライブビューの検出処理のスケジューリングについて具体的に説明する。駒間ライブビューに関する部品については実施例１と同じ番号を付してある。
【００６９】
図５における、静止画の検出開始可能指示５０６は、静止画の検出処理が開始可能になったタイミングを示しており、その時刻をＴ２１とする。また、時刻Ｔ２１よりＪＰＥＧ生成５３６を開始する。
【００７０】
時刻Ｔ２１の直後に駒間ライブビューの検出開始命令２０２を受けるが、検出処理２１２をキャンセルすることなく実行する。また、時刻Ｔ２１においては、ＣＰＵ１１３から検出部１０６への検出開始命令を送信せず、検出処理のスケジューリングを開始する。
【００７１】
検出開始可能指示５０６の静止画撮影の露光が行われた直近の駒間ライブビューの検出処理結果から顔の個数を取得し、検出処理時間５２６を見積もる。
【００７２】
ＪＰＥＧ生成５３６の完了時刻である時刻Ｔ２３を見積もり、時刻Ｔ２３から静止画の検出処理時間５２６を遡った時刻Ｔ２２を求める。
【００７３】
駒間ライブビューの検出処理の完了時刻が時刻Ｔ２２を越えない最終検出処理が検出処理２１２であると特定し、検出処理２１２の完了後に検出開始命令５０７を発行するよう設定する。また、静止画の検出処理５１６と重なる駒間ライブビューの検出処理２１３をキャンセルするよう設定する。
【００７４】
以上、実施例２において述べたように、駒間ライブビューの最終の検出処理の完了後に静止画の検出処理５１６を開始するようスケジューリングした。これにより、時刻Ｔ２３までに静止画の検出処理５１６が完了でき、且つ、時刻Ｔ２１の直後に開始する駒間ライブビューの検出処理２１２をキャンセルすることなく、検出結果を得ることができるようになった。また、実行しない検出処理を検出処理２１３の１フレーム分だけに抑えることが可能となった。
【００７５】
以上、実施例１および実施例２に述べたように、駒間ライブビューの検出処理が中断またはキャンセルされる回数を抑えられるため、連写間の被写体追尾の性能向上が可能になる。
【符号の説明】
【００７６】
１０１  レンズ、１０２  撮像素子、１０３  Ａ／Ｄ変換回路、
１０４  信号処理部、１０５  信号処理部、１０６  検出部、１０７  追尾部、
１０８  圧縮伸長部、１０９  ＤＲＡＭ、１１０  ＳＤカード、１１１  表示部、
１１２  バス、１１３  ＣＰＵ
【図１】
2018207416.tif 000003
【図２】
2018207416.tif 000004
【図３】
2018207416.tif 000005
【図４】
2018207416.tif 000006
【図５】
2018207416.tif 000007