IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ カシオ計算機株式会社の特許一覧

特許7559810画像処理装置、画像処理方法及びプログラム
<>
  • 特許-画像処理装置、画像処理方法及びプログラム 図1
  • 特許-画像処理装置、画像処理方法及びプログラム 図2
  • 特許-画像処理装置、画像処理方法及びプログラム 図3
  • 特許-画像処理装置、画像処理方法及びプログラム 図4
  • 特許-画像処理装置、画像処理方法及びプログラム 図5
  • 特許-画像処理装置、画像処理方法及びプログラム 図6
  • 特許-画像処理装置、画像処理方法及びプログラム 図7
  • 特許-画像処理装置、画像処理方法及びプログラム 図8
  • 特許-画像処理装置、画像処理方法及びプログラム 図9
  • 特許-画像処理装置、画像処理方法及びプログラム 図10
  • 特許-画像処理装置、画像処理方法及びプログラム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-24
(45)【発行日】2024-10-02
(54)【発明の名称】画像処理装置、画像処理方法及びプログラム
(51)【国際特許分類】
   H04N 23/63 20230101AFI20240925BHJP
   G06T 7/20 20170101ALI20240925BHJP
   H04N 23/60 20230101ALI20240925BHJP
【FI】
H04N23/63 330
G06T7/20
H04N23/60 500
【請求項の数】 14
(21)【出願番号】P 2022127807
(22)【出願日】2022-08-10
(65)【公開番号】P2024024866
(43)【公開日】2024-02-26
【審査請求日】2023-06-07
(73)【特許権者】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】110001254
【氏名又は名称】弁理士法人光陽国際特許事務所
(72)【発明者】
【氏名】伊藤 拓馬
【審査官】門田 宏
(56)【参考文献】
【文献】特開2015-111939(JP,A)
【文献】特開2011-004151(JP,A)
【文献】特開2018-097870(JP,A)
【文献】特開2009-147572(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 5/222- 5/257
H04N 23/00
H04N 23/40-23/76
H04N 23/90-23/959
G06T 7/00
H04N 7/18
G02B 7/28- 7/40
(57)【特許請求の範囲】
【請求項1】
複数のフレーム画像に係るフレーム画像領域の中央部に、画像データが出力される範囲として、前記フレーム画像領域よりも小さい出力対象領域を設定し、
前記フレーム画像領域における前記出力対象領域の枠外の内、前記中央部から所定の方向に偏った位置に、被写体を検知する対象となる枠外モニター領域を設定する、
処理部を備え、
前記処理部は、
前記複数のフレーム画像に含まれる、第1の画像と、前記第1の画像よりも後に生成された第2の画像と、を取得し、
前記第1の画像及び前記第2の画像について、前記出力対象領域内及び前記枠外モニター領域内の被写体を検知するための検知処理を実行し、
前記検知処理により、前記第1の画像のうちの前記出力対象領域内において被写体を検知し、且つ、前記第2の画像のうちの或る前記枠外モニター領域内において前記被写体を検知した場合に、前記第2の画像における前記出力対象領域を、前記或る枠外モニター領域の少なくとも一部を端部に含む領域となるような位置に再設定する、
画像処理装置。
【請求項2】
前記処理部は、
前記出力対象領域の枠内の端部に枠内モニター領域を設定し、
前記検知処理により、前記第1の画像のうちの或る前記枠内モニター領域において前記被写体を検知し、且つ、前記第2の画像のうちの前記或る枠外モニター領域において前記被写体を検知した場合に、前記第2の画像における前記出力対象領域を、前記或る枠外モニター領域の少なくとも一部を端部に含む領域となるような位置に再設定する、
請求項1に記載の画像処理装置。
【請求項3】
前記処理部は、
前記出力対象領域の枠内の端部に枠内モニター領域を設定し、
前記検知処理により、前記第1の画像のうちの或る前記枠内モニター領域において前記被写体を検知し、且つ、前記第2の画像のうちの前記或る枠外モニター領域において前記被写体を検知した場合に、前記第2の画像における前記出力対象領域を再設定し、
再設定後の前記出力対象領域の位置を、前記第1の画像のうちの、再設定前の前記出力対象領域内の前記或る枠内モニター領域における前記被写体の位置と、前記第2の画像のうちの、再設定後の前記出力対象領域内の前記或る枠内モニター領域における前記被写体の位置とが一致するように定める、
請求項1に記載の画像処理装置。
【請求項4】
前記処理部は、前記或る枠外モニター領域が前記フレーム画像領域の外辺に接していた場合には、前記フレーム画像領域の前記外辺に接する位置に前記出力対象領域を再設定する、
請求項1~3のいずれか一項に記載の画像処理装置。
【請求項5】
前記処理部は、前記出力対象領域を再設定する場合に、前記出力対象領域の再設定後の前記出力対象領域と前記枠外モニター領域との位置関係が、前記出力対象領域の再設定前の前記出力対象領域と前記枠外モニター領域との位置関係と同一となるように、前記枠外モニター領域を再設定する、
請求項1~3のいずれか一項に記載の画像処理装置。
【請求項6】
前記処理部は、前記出力対象領域の再設定後の前記出力対象領域と前記枠外モニター領域との位置関係が、前記出力対象領域の再設定前の前記出力対象領域と前記枠外モニター領域との位置関係と同一となるように前記枠外モニター領域を再設定することができない場合には、前記枠外モニター領域を前記フレーム画像領域の外辺に接する位置に再設定する、
請求項5に記載の画像処理装置。
【請求項7】
前記出力対象領域は矩形であり、
前記処理部は、前記枠外モニター領域を、前記出力対象領域の4つの辺のそれぞれに対して1つずつ設定する、
請求項1に記載の画像処理装置。
【請求項8】
前記処理部は、前記枠外モニター領域を、前記フレーム画像領域の外辺に接する位置に設定する、
請求項1に記載の画像処理装置。
【請求項9】
前記処理部は、前記枠外モニター領域を、前記出力対象領域の外周に接しない位置に設定する、
請求項1に記載の画像処理装置。
【請求項10】
前記処理部は、前記枠外モニター領域を、前記出力対象領域の外周に接する位置に設定する、
請求項1に記載の画像処理装置。
【請求項11】
前記処理部は、前記複数のフレーム画像のうち、前記出力対象領域内の部分に係る画像データを出力する、
請求項1に記載の画像処理装置。
【請求項12】
前記複数のフレーム画像を撮像する撮像部を備え、
前記処理部は、前記撮像部によって撮像された前記複数のフレーム画像を取得する、
請求項1に記載の画像処理装置。
【請求項13】
画像処理装置のコンピュータが実行する画像処理方法であって、
複数のフレーム画像に係るフレーム画像領域の中央部に、画像データが出力される範囲として、前記フレーム画像領域よりも小さい出力対象領域を設定し、
前記フレーム画像領域における前記出力対象領域の枠外の内、前記中央部から所定の方向に偏った位置に、被写体を検知する対象となる枠外モニター領域を設定する、
設定処理を含み、
前記設定処理は、
前記複数のフレーム画像に含まれる、第1の画像と、前記第1の画像よりも後に生成された第2の画像と、を取得し、
前記第1の画像及び前記第2の画像について、前記出力対象領域内及び前記枠外モニター領域内の被写体を検知するための検知処理を実行し、
前記検知処理により、前記第1の画像のうちの前記出力対象領域内において被写体を検知し、且つ、前記第2の画像のうちの或る前記枠外モニター領域内において前記被写体を検知した場合に、前記第2の画像における前記出力対象領域を、前記或る枠外モニター領域の少なくとも一部を端部に含む領域となるような位置に再設定する、
画像処理方法。
【請求項14】
画像処理装置のコンピュータを、
複数のフレーム画像に係るフレーム画像領域の中央部に、画像データが出力される範囲として、前記フレーム画像領域よりも小さい出力対象領域を設定し、
前記フレーム画像領域における前記出力対象領域の枠外の内、前記中央部から所定の方向に偏った位置に、被写体を検知する対象となる枠外モニター領域を設定する、
設定手段として機能させ、
前記設定手段は、
前記複数のフレーム画像に含まれる、第1の画像と、前記第1の画像よりも後に生成された第2の画像と、を取得し、
前記第1の画像及び前記第2の画像について、前記出力対象領域内及び前記枠外モニター領域内の被写体を検知するための検知処理を実行し、
前記検知処理により、前記第1の画像のうちの前記出力対象領域内において被写体を検知し、且つ、前記第2の画像のうちの或る前記枠外モニター領域内において前記被写体を検知した場合に、前記第2の画像における前記出力対象領域を、前記或る枠外モニター領域の少なくとも一部を端部に含む領域となるような位置に再設定する、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、画像処理方法及びプログラムに関する。
【背景技術】
【0002】
従来、複数のフレーム画像を含む動画像において検知した被写体を追尾するための種々の技術が提案されている。例えば、特許文献1には、互いに画角の大きさが異なる2つの撮像部により被写体を撮影し、一方の撮像部の画角から被写体が外れた場合に、より広角の撮影が可能な他方の撮像部の撮影範囲において被写体を検知して、被写体の位置に係る報知情報を出力する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2012-29245号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、追尾対象の被写体を検知するために2つの撮像部を設けると、装置が大型化したり、製造コストが上昇したりするという課題がある。
【0005】
この発明の目的は、より簡素な構成で追尾対象の被写体を検知することができる画像処理装置、画像処理方法及びプログラムを提供することにある。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本発明に係る画像処理装置は、複数のフレーム画像に係るフレーム画像領域の中央部に、画像データが出力される範囲として、前記フレーム画像領域よりも小さい出力対象領域を設定し、前記フレーム画像領域における前記出力対象領域の枠外の内、前記中央部から所定の方向に偏った位置に、被写体を検知する対象となる枠外モニター領域を設定する、処理部を備え、前記処理部は、前記複数のフレーム画像に含まれる、第1の画像と、前記第1の画像よりも後に生成された第2の画像と、を取得し、前記第1の画像及び前記第2の画像について、前記出力対象領域内及び前記枠外モニター領域内の被写体を検知するための検知処理を実行し、前記検知処理により、前記第1の画像のうちの前記出力対象領域内において被写体を検知し、且つ、前記第2の画像のうちの或る前記枠外モニター領域内において前記被写体を検知した場合に、前記第2の画像における前記出力対象領域を、前記或る枠外モニター領域の少なくとも一部を端部に含む領域となるような位置に再設定する。
【0007】
上記課題を解決するため、本発明に係る画像処理方法は、画像処理装置のコンピュータが実行する画像処理方法であって、複数のフレーム画像に係るフレーム画像領域の中央部に、画像データが出力される範囲として、前記フレーム画像領域よりも小さい出力対象領域を設定し、前記フレーム画像領域における前記出力対象領域の枠外の内、前記中央部から所定の方向に偏った位置に、被写体を検知する対象となる枠外モニター領域を設定する、設定処理を含み、前記設定処理は、前記複数のフレーム画像に含まれる、第1の画像と、前記第1の画像よりも後に生成された第2の画像と、を取得し、前記第1の画像及び前記第2の画像について、前記出力対象領域内及び前記枠外モニター領域内の被写体を検知するための検知処理を実行し、前記検知処理により、前記第1の画像のうちの前記出力対象領域内において被写体を検知し、且つ、前記第2の画像のうちの或る前記枠外モニター領域内において前記被写体を検知した場合に、前記第2の画像における前記出力対象領域を、前記或る枠外モニター領域の少なくとも一部を端部に含む領域となるような位置に再設定する。
【0008】
上記課題を解決するため、本発明に係るプログラムは、画像処理装置のコンピュータを、複数のフレーム画像に係るフレーム画像領域の中央部に、画像データが出力される範囲として、前記フレーム画像領域よりも小さい出力対象領域を設定し、前記フレーム画像領域における前記出力対象領域の枠外の内、前記中央部から所定の方向に偏った位置に、被写体を検知する対象となる枠外モニター領域を設定する、設定手段として機能させ、前記設定手段は、前記複数のフレーム画像に含まれる、第1の画像と、前記第1の画像よりも後に生成された第2の画像と、を取得し、前記第1の画像及び前記第2の画像について、前記出力対象領域内及び前記枠外モニター領域内の被写体を検知するための検知処理を実行し、前記検知処理により、前記第1の画像のうちの前記出力対象領域内において被写体を検知し、且つ、前記第2の画像のうちの或る前記枠外モニター領域内において前記被写体を検知した場合に、前記第2の画像における前記出力対象領域を、前記或る枠外モニター領域の少なくとも一部を端部に含む領域となるような位置に再設定する。
【発明の効果】
【0009】
本発明によれば、より簡素な構成で追尾対象の被写体を検知することができる。
【図面の簡単な説明】
【0010】
図1】電子機器の機能構成を示すブロック図である。
図2】撮像部により撮影される複数のフレーム画像に係るフレーム画像領域を示す図である。
図3】枠外モニター領域において被写体が検知されたときのフレーム画像領域を示す図である。
図4】枠外モニター領域が再設定された状態のフレーム画像領域を示す図である。
図5】再設定後の枠外モニター領域において被写体が検知されたときのフレーム画像領域を示す図である。
図6】枠外モニター領域が2度目に再設定された状態のフレーム画像領域を示す図である。
図7】フレーム画像領域の外辺に接する位置に枠外モニター領域を設定する例を示す図である。
図8】出力対象領域の外辺に接する位置に枠外モニター領域を設定する例を示す図である。
図9】被写体追尾処理の制御手順を示すフローチャートである。
図10】被写体追尾処理の制御手順を示すフローチャートである。
図11】領域再設定処理の制御手順を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、本発明の実施の形態を図面に基づいて説明する。
【0012】
<電子機器1の構成>
図1は、本実施形態の電子機器1の機能構成を示すブロック図である。
電子機器1(画像処理装置)は、CPU11(Central Processing Unit)と、RAM12(Random Access Memory)と、記憶部13と、撮像部14と、画像処理CPU151(Digital Signal Processor)を有する画像処理部15と、表示部16と、操作部17と、バス18などを備える。電子機器1の各部は、バス18を介して接続されている。本実施形態の電子機器1は、例えば、撮像部14により動画及び静止画の撮影が可能なスマートフォンである。ただし、これに限られず、電子機器1は、動画の撮影が可能な他の機器、例えば、タブレット型端末、デジタルカメラ、ビデオカメラ、ノートPC、据置型PC、又はドライブレコーダなどであってもよい。
【0013】
CPU11は、記憶部13に記憶されている制御プログラム131を読み出して実行し、各種演算処理を行うことで、電子機器1の動作を制御するプロセッサである。なお、電子機器1は、複数のプロセッサ(例えば、複数のCPU)を有していてもよく、本実施形態のCPU11が実行する複数の処理を、当該複数のプロセッサが実行してもよい。この場合において、複数のプロセッサが共通の処理に関与してもよいし、あるいは、複数のプロセッサが独立に異なる処理を並列に実行してもよい。
【0014】
RAM12は、CPU11に作業用のメモリ空間を提供し、一時データを記憶する。RAM12には、後述する被写体追尾処理において参照される検知対象有りフラグ121及び探索中フラグ122が記憶されている。検知対象有りフラグ121及び探索中フラグ122は、「1(オン)」及び「0(オフ)」の2値を取り得る1ビットデータである。
【0015】
記憶部13は、コンピュータとしてのCPU11及び画像処理CPU151により読み取り可能な非一時的な記録媒体であり、制御プログラム131、画像処理プログラム132、及び各種データを記憶する。記憶部13は、例えばフラッシュメモリ等の不揮発性メモリを含む。制御プログラム131及び画像処理プログラム132は、コンピュータが読み取り可能なプログラムコードの形態で記憶部13に格納されている。記憶部13に記憶されるデータとしては、撮像画像データ133、出力画像データ134、被写体データ135、及び領域設定データ136などがある。これらのデータの内容については後述する。
【0016】
撮像部14は、入射光を結像させる光学系と、当該光学系により結像された入射光を検出する撮像素子とを有するカメラを備え、カメラの撮像素子から出力された検出信号に基づいて、カメラによる撮影画像に係る撮像画像データ133を生成する。光学系は、例えばミラー及びレンズ群等により構成される。撮像素子としては、入射光を光電変換することが可能なものであれば特には限られないが、例えばCCD(Charge Coupled Device)又はCMOS(Complementary Metal Oxide Semiconductor)等を用いることができる。撮像部14は、撮像素子からの検出信号の増幅及びA/D変換を行って撮像画像データ133を生成する。また、撮像部14は、CPU11による制御に従ったフレームレートで、動画(動画像)に係る複数のフレーム画像を撮像し、当該複数のフレーム画像に係る複数の撮像画像データ133を生成する。生成された撮像画像データ133は、記憶部13に記憶される。撮像部14により撮影されるフレーム画像の解像度は、カメラが有する撮像素子の数に対応する。例えば、フレーム画像の縦方向及び横方向の画素数は、カメラに配列されている撮像素子の縦方向及び横方向の数と同一である。
【0017】
画像処理部15の画像処理CPU151は、記憶部13に記憶されている画像処理プログラム132を読み出して実行し、各種演算処理を行うことで、撮像画像データ133に対する種々の処理を実行するプロセッサ(1以上の処理部)である。なお、画像処理部15は、複数のプロセッサ(例えば、複数のCPU及び/又はDSP(Digital Signal Processor))を有していてもよく、本実施形態の画像処理CPU151が実行する複数の処理を、当該複数のプロセッサが実行してもよい。この場合には、複数のプロセッサにより「1以上の処理部」が構成される。この場合において、複数のプロセッサが共通の処理に関与してもよいし、あるいは、複数のプロセッサが独立に異なる処理を並列に実行してもよい。上記の複数のプロセッサには、CPU11が含まれていてもよい。
【0018】
画像処理部15の画像処理CPU151は、例えば、フレーム画像に係る撮像画像データ133の一部を抽出して出力画像データ134を生成する。また、画像処理CPU151は、複数のフレーム画像において被写体を追尾するための被写体追尾処理を実行する。被写体追尾処理については、後に詳述する。また、画像処理CPU151は、撮像画像データ133及び/又は出力画像データ134に対して、シェーディング補正や色補正といった各種の画像変換処理を行ってもよい。また、画像処理部15は、RAM12及び記憶部13とは別個の画像処理用記憶部を内部に備えていてもよく、RAM12及び/又は記憶部13に記憶されるプログラムやデータの一部が当該画像処理用記憶部に記憶されてもよい。
【0019】
表示部16は、液晶ディスプレイなどの表示装置を備える。表示部16は、CPU11から送信された出力画像データ134及び制御信号に従って、撮像された動画を再生表示したり、撮像部14が撮像している対象をライブビュー画像(スルー画)としてリアルタイムで表示したりする。
【0020】
操作部17は、表示部16の表示画面に重ねられて設けられたタッチパネル、及び電子機器1の筐体に設けられた操作ボタンなどを有する。操作部17は、タッチパネルに対する指等の接触や、操作ボタンに対する操作を検出して、検出結果に応じた操作信号をCPU11に出力する。
【0021】
<電子機器の動作>
次に、電子機器1の動作について、動画の撮影動作、及び、動画の撮影中における被写体の追尾に係る動作を中心に説明する。
【0022】
図2は、撮像部14により撮影される複数のフレーム画像に係るフレーム画像領域20を示す図である。
以下では、フレーム画像領域20がなす矩形の、図2における左上の頂点を原点とし、フレーム画像領域20の左右方向に延びる外辺と平行、且つ原点から右に向かう方向を正方向とする軸をX軸とし、フレーム画像領域20の上下方向に延びる外辺と平行、且つ原点から下に向かう方向を正方向とする軸をY軸とする。フレーム画像領域20は、各フレーム画像と同一の配列の画素からなる領域である。よって、フレーム画像領域20のX方向及びY方向についての画素数は、各フレーム画像(撮像画像データ133)のX方向及びY方向についての画素数と同一である。また、X座標及びY座標を用いて、フレーム画像領域20内の任意の画素位置を特定することができる。
【0023】
フレーム画像領域20の中央部には、画像データが出力される範囲として、フレーム画像領域20よりも小さい矩形の出力対象領域21が設定されている。本実施形態の画像処理部15の画像処理CPU151は、各フレーム画像(撮像画像データ133)の全体(フレーム画像領域20に相当)のうち、出力対象領域21の範囲内の部分の画像データを抽出し、出力画像データ134としてCPU11に出力する。すなわち、画像処理CPU151は、各フレーム画像から、当該フレーム画像よりも画角の小さい出力画像を抽出してCPU11に出力する。CPU11は、生成された複数の出力画像に係る複数の出力画像データ134を、再生可能な動画データとして記憶部13に記録する。並行して、CPU11は、生成された複数の出力画像データ134をそのまま表示部16に送信することで、撮像部14により撮影されている対象をライブビュー画像としてリアルタイムで表示部16に表示させる。なお、複数の出力画像データ134を、動画データとして記録せずに、単にライブビュー画像として表示部16に表示させてもよい。
【0024】
このように、フレーム画像領域20の一部の出力対象領域21を画像データの出力対象とすることで、読み出す画像データのデータ量を低減することができる。また、画像データの読み出し時間を短縮して高フレームレートを実現したり、読み出し時間を維持しつつ画像データの転送レート(読み出し速度)を下げたりすることができる。
【0025】
出力対象領域21の大きさ(X方向及びY方向についての画素数(解像度))は、出力する出力画像データ134が満たすべき出力規格に応じて設定される。出力規格は、特には限られないが、例えば、HD(1280×720画素)や、フルHD(1920×1080画素)などであってもよい。また、出力対象領域21は、必ずしもフレーム画像領域20と相似形でなくてもよい。
【0026】
フレーム画像領域20のうち、出力対象領域21が設定される中央部は、フレーム画像領域20の中心点(矩形の対角線の交点)を含む。本実施形態では、図2において出力対象領域21が設定されている範囲が出力対象領域21の中央部であるものとする。図2では、フレーム画像領域20の中心点と、出力対象領域21の中心点とが重なる位置に出力対象領域21が設定されている。ただし、これに限られず、出力対象領域21の中心点が、フレーム画像領域20の中心点から若干ずれていてもよい。図2に示す出力対象領域21の位置は、初期位置であり、後述するように、出力対象領域21の位置は、被写体の追尾状況に応じて変更される。フレーム画像領域20における出力対象領域21の設定範囲(例えば、設定範囲がなす矩形の1組の対頂点のX座標及びY座標)は、記憶部13の領域設定データ136に記憶され、変更された場合には更新される。
【0027】
本実施形態では、ユーザーが手に持って固定した電子機器1により、被写体30として、自転車に乗って+X方向に移動する人が撮影される場合を例に挙げて説明する。よって、撮影される複数のフレーム画像には、+X方向に移動する被写体30と、被写体30の背景とが写っている。図2では、被写体30の背景は省略されているが、実際にはフレーム画像領域20の全体に亘って背景が写っている。一方、上述したとおり、撮影中には、フレーム画像領域20のうち出力対象領域21の範囲が表示部16にライブビュー画像として表示される。
【0028】
図2には、複数のフレーム画像のうち、フレーム画像Im1(第1の画像)が示されている。フレーム画像Im1では、被写体30(詳しくは、被写体30に含まれる自転車の先端部)は、出力対象領域21の右端に到達しているものとする。また、図2では、複数のフレーム画像のうち、フレーム画像Im1よりも前に生成された或るフレーム画像における被写体30の位置が、破線で示されている。このように、被写体30は、上記の或るフレーム画像からフレーム画像Im1にかけて、破線の位置から出力対象領域21の右端まで移動している。このような移動経緯から、被写体30は、この後さらに+X方向に移動して出力対象領域21の外部に出る可能性が高い。なお、本実施形態では、「被写体30が出力対象領域21の外部に出ること」は、「被写体30のうちの少なくとも一部(例えば、被写体30に含まれる自転車の先端部)が出力対象領域21の外部に出ること」であるものとする。
【0029】
表示部16にライブビュー画像として表示される出力対象領域21の外部に被写体30が出てしまうと、ユーザーは、表示部16上で被写体30の全体を確認することができなくなる。ユーザーが自身で電子機器1の向きを変えることで、被写体30を再び出力対象領域21の内部に捉えることができればよいが、被写体30の動き方や大きさなどによっては、このような操作を毎回適切に行うのは必ずしも容易でない。
【0030】
そこで、本実施形態の画像処理部15の画像処理CPU151は、被写体30が出力対象領域21の外部に出た場合に、フレーム画像領域20のうち出力対象領域21の枠外の一部において被写体30の検知を試みる。そして、画像処理CPU151は、被写体30を検知した場合には、検知した被写体30が出力対象領域21に入るように出力対象領域21を再設定する(すなわち、フレーム画像領域20における出力対象領域21の位置を変更する)。言い換えると、画像処理CPU151は、被写体30が出力対象領域21の外部に出た場合には、被写体30を追尾するように出力対象領域21を再設定する。以下では、この被写体30の追尾に係る動作について説明する。
【0031】
被写体30を追尾するために、画像処理CPU151は、予め、フレーム画像領域20における出力対象領域21の枠外の内、中央部から所定の方向に偏った位置に、被写体30を検知する対象となる矩形の枠外モニター領域22a~22d(以下、枠外モニター領域22a~22dのうちの任意の1つを指す場合には「枠外モニター領域22」と記す)を設定する。詳しくは、図2に示すように、出力対象領域21から+X方向に偏った位置に枠外モニター領域22aを設定し、出力対象領域21から+Y方向に偏った位置に枠外モニター領域22bを設定し、出力対象領域21から-X方向に偏った位置に枠外モニター領域22cを設定し、出力対象領域21から-Y方向に偏った位置に枠外モニター領域22dを設定する。このように、画像処理CPU151は、 枠外モニター領域22を、出力対象領域21の4つの辺のそれぞれに対して1つずつ設定する。このうち、枠外モニター領域22a、22cのY方向の長さ及び延在範囲は、出力対象領域21のY方向の長さ及び延在範囲と同一である。また、枠外モニター領域22b、22dのX方向の長さ及び延在範囲は、出力対象領域21のX方向の長さ及び延在範囲と同一である。また、枠外モニター領域22a、22cのX方向の幅は、出力対象領域21と、フレーム画像領域20の外辺とのX方向の間隔以下の範囲内で定められる。また、枠外モニター領域22b、22dのY方向の幅は、出力対象領域21と、フレーム画像領域20の外辺とのY方向の間隔以下の範囲内で定められる。なお、枠外モニター領域22a、22cのY方向の長さを、出力対象領域21のY方向の長さよりも長くしてもよい。また、枠外モニター領域22b、22dのX方向の長さを、出力対象領域21のX方向の長さよりも長くしてもよい。図2に示す例では、画像処理CPU151は、枠外モニター領域22を、出力対象領域21の外周に接しない位置に(すなわち、出力対象領域21と枠外モニター領域22との間に隙間が生じる位置に)設定している。
【0032】
また、画像処理CPU151は、出力対象領域21の枠内の端部に、被写体を検知する対象となる矩形の枠内モニター領域23を設定する。図2には、出力対象領域21の、枠外モニター領域22a側(+X方向側)の辺に沿う端部に設定された、1つの枠内モニター領域23が示されている。この枠内モニター領域23のX方向及びY方向についての大きさ(画素数)は、枠外モニター領域22aのX方向及びY方向についての大きさ(画素数)と同一とすることができる。なお、図2では省略されているが、出力対象領域21の枠外モニター領域22b側の辺に沿う端部、枠外モニター領域22c側の辺に沿う端部、及び枠外モニター領域22d側の辺に沿う端部にも、それぞれ枠内モニター領域23が設定される。枠外モニター領域22b側、及び枠外モニター領域22d側に設定される枠内モニター領域23は、枠外モニター領域22b、22dと同一の大きさとすることができる。また、枠外モニター領域22c側に設定される枠内モニター領域23は、枠外モニター領域22cと同一の大きさとすることができる。
【0033】
フレーム画像領域20における枠外モニター領域22及び枠内モニター領域23の設定範囲(例えば、設定範囲がなす矩形の1組の対頂点のX座標及びY座標)は、記憶部13の領域設定データ136に記憶される。
【0034】
画像処理CPU151は、撮像部14による撮像が開始されると、フレーム画像領域20のうちの出力対象領域21において、被写体30を検知するための検知処理を実行する。画像処理CPU151は、検知した被写体30を、追尾対象として決定する。
例えば、検知処理は、或るフレーム画像の撮像画像データ133のうち、出力対象領域21に対応する部分の画像データに対する所定の画像認識処理の結果に基づいて、出力対象領域21に含まれる追尾対象(検知対象)の被写体30を抽出して特定する処理であってもよい。具体的には、パターンマッチング処理により、被写体30の特徴を表す或る画像パターンを、撮像画像データ133のうち出力対象領域21に対応する部分の中から探索し、その探索結果に基づいて被写体30を特定してもよい。あるいは、被写体30の画像を訓練データとして用いて予め機械学習された機械学習モデルに、撮像画像データ133のうち出力対象領域21に対応する部分を入力し、機械学習モデルによる被写体30の認識結果に基づいて被写体30を特定してもよい。
あるいは、検知処理は、ユーザーが表示部16上の点をタップする操作に基づいて、タップされた点の近傍に写っている物体を被写体30として抽出、特定する処理であってもよい。
【0035】
特定された被写体30に係る情報は、記憶部13の被写体データ135に記憶される。被写体データ135に記憶される情報は、以降の検知処理における被写体30の検知に必要な情報であればどのようなものであってもよい。例えば、撮像画像データ133のうち特定された被写体30に対応する部分の画像データであってもよいし、上述の被写体30の抽出及び特定に用いられた被写体30の特徴に係るデータであってもよい。本実施形態では、図2に示す被写体30(自転車に乗った人)の画像が被写体データ135に記憶されるものとする。また、出力対象領域21における検知処理により被写体30が特定されると、検知対象有りフラグ121が「1(オン)」に設定される。
【0036】
出力対象領域21における検知処理により被写体30が特定されると、画像処理CPU151は、以降、フレーム画像を取得するごとに、出力対象領域21の枠内モニター領域23において被写体30を検知するための検知処理を実行する。この検知処理では、画像処理CPU151は、被写体データ135に記憶された情報に基づいて、被写体30の少なくとも一部が枠内モニター領域23に入ったか否かを検知する。そして、画像処理CPU151は、或るフレーム画像において枠内モニター領域23内に被写体30を検知した後、次のフレーム画像において、被写体30が枠内モニター領域23の端部(すなわち、出力対象領域21の端部)に達した場合には、さらにその次のフレーム画像において被写体30が出力対象領域21の外部に出ると判別し、被写体30の追尾を開始する。図2に示すフレーム画像Im1では、被写体30が枠内モニター領域23(出力対象領域21)の端部に到達している。よって、画像処理CPU151は、フレーム画像Im1の次に取得するフレーム画像から、出力対象領域21の外部において被写体30の追尾を開始する。被写体30の追尾が開始されると、探索中フラグ122が「1(オン)」に設定される。
【0037】
出力対象領域21の外部における被写体30の追尾が開始されると、画像処理CPU151は、フレーム画像を取得するごとに、枠外モニター領域22において被写体30を検知するための検知処理を実行する。ここでの検知処理は、上述した枠内モニター領域23における検知処理と同様の方法で行うことができる。また、枠外モニター領域22における検知処理では、被写体データ135に記憶されている被写体30に係る情報のうちの一部の情報であって、追尾開始前の最後のフレーム画像(図2のフレーム画像Im1)における被写体30のうち、枠内モニター領域23内に入っていた部分に係る情報に基づいて被写体30を検知してもよい。例えば、図2における被写体30のうち、枠内モニター領域23に入っている部分(自転車の前輪を含む前方側の部分)に係る画像データに基づいて枠外モニター領域22における被写体30を検知してもよい。また、画像処理CPU151は、4つの枠外モニター領域22a~22dの各々において検知処理を実行してもよい。あるいは、最後に被写体30が検知された枠内モニター領域23に隣り合う枠外モニター領域22(図2では、枠外モニター領域22a)のみを対象に検知処理を実行してもよい。
【0038】
図3は、枠外モニター領域22aにおいて被写体30が検知されたときのフレーム画像領域20を示す図である。
図3には、複数のフレーム画像のうち、フレーム画像Im1よりも後に生成されたフレーム画像Im2(第2の画像)が示されている。フレーム画像Im2は、必ずしもフレーム画像Im1の次の画像でなくてもよく、フレーム画像Im1とフレーム画像Im2との間に1又は2以上の他のフレーム画像が挟まれていてもよい。フレーム画像Im2において、被写体30は、その一部(自転車の前輪を含む前方側の部分)が枠外モニター領域22a内に入っている。このため、画像処理CPU151は、枠外モニター領域22aにおける検知処理によって、被写体30が枠外モニター領域22a内に位置していることを検知する。なお、被写体30は、図2に示す状態から-Y方向にも若干移動しているものとする。
【0039】
このように、フレーム画像Im1のうちの枠内モニター領域23における検知処理により被写体30を検知した後に、フレーム画像Im2のうちの枠外モニター領域22a内における検知処理により被写体30を検知した場合には、画像処理CPU151は、フレーム画像Im2における出力対象領域21を、枠外モニター領域22aの少なくとも一部を端部に含む領域となるような位置に再設定する。
【0040】
図4は、枠外モニター領域22が再設定された状態のフレーム画像領域20を示す図である。
図4に示す再設定後の出力対象領域21は、右端のX座標が、図3に示す再設定前の枠外モニター領域22aの右端のX座標と同一である。すなわち、再設定後の出力対象領域21は、+X方向側の端部に、再設定前の枠外モニター領域22aの少なくとも一部を含むような領域である。言い換えると、画像処理CPU151は、フレーム画像Im2における出力対象領域21を、枠外モニター領域22aの少なくとも一部を端部に含む領域となるような位置に再設定する。
【0041】
ここで、出力対象領域21は、Y方向の位置も、検知された被写体30のY方向の位置に合わせて調整される。すなわち、フレーム画像Im2における被写体30が、再設定後の出力対象領域21のY方向についての略中央に位置するように、出力対象領域21は、図3に示す再設定前の出力対象領域21よりも-Y方向側にずらした位置に再設定される。より詳しくは、画像処理CPU151は、再設定後の出力対象領域21の位置を、フレーム画像Im1のうちの、再設定前の出力対象領域21内の枠内モニター領域23における被写体30の位置と、フレーム画像Im2のうちの、再設定後の出力対象領域21内の枠内モニター領域23における被写体30の位置とが一致するように定める。これにより、被写体30のX方向の移動に加えてY方向の移動についても被写体30を追尾することができる。
なお、Y方向についての追尾を行わない場合には、出力対象領域21を、図3に示す枠外モニター領域22aの全体を端部に含む領域となるような位置に再設定してもよい。
【0042】
フレーム画像Im2においては、再設定後の出力対象領域21に対応する部分の画像データが抽出されて出力画像データ134が生成される。よって、記録される動画、及び表示部16に表示されるプレビュー画像は、フレーム画像Im2のフレームでは、右端に被写体30の全体が写った状態に調整される。言い換えると、フレーム画像Im1のフレームの後に出力対象領域21の外部に出た被写体30が追尾されて、フレーム画像Im2のフレームでは、再び出力対象領域21の内部に入るように調整される。また、枠外モニター領域22において被写体30が検知されて出力対象領域21が再設定されると、一旦、探索中フラグ122が「0(オフ)」に設定される。ただし、後述するように被写体30が再び出力対象領域21の外部に出た場合には、探索中フラグ122が再度「1(オン)」に設定される。
【0043】
また、画像処理CPU151は、出力対象領域21を再設定する場合に、併せて4つの枠外モニター領域22を再設定する。詳しくは、画像処理CPU151は、出力対象領域21の再設定後(図4)の出力対象領域21と枠外モニター領域22a~22dとの位置関係が、出力対象領域21の再設定前(図3)の出力対象領域21と枠外モニター領域22a~22dとの位置関係と同一となるように、枠外モニター領域22a~22dを再設定する。図4では、再設定後の枠外モニター領域22aがフレーム画像領域20の外辺に接しているものとする。
また、画像処理CPU151は、再設定後の出力対象領域21の位置に応じて、枠内モニター領域23も再設定する。
【0044】
出力対象領域21、枠外モニター領域22及び枠内モニター領域23が再設定されると、初回の出力対象領域21の設定後と同様に、枠内モニター領域23において被写体30の検知処理が実行され、被写体30が出力対象領域21の外部に出たか否かが判別される。また、被写体30が出力対象領域21の外部に出たと判別されると、被写体30の追尾が開始され、枠外モニター領域22において被写体30の検知処理が実行される。
【0045】
図5は、再設定後の枠外モニター領域22aにおいて被写体30が検知されたときのフレーム画像領域20を示す図である。
図5には、複数のフレーム画像のうち、フレーム画像Im2よりも後に生成されたフレーム画像Im3が示されている。フレーム画像Im2及びフレーム画像Im3の組み合わせに着目する場合には、フレーム画像Im2が「第1の画像」に相当し、フレーム画像Im3が「第2の画像」に相当する。フレーム画像Im3において、被写体30は、その一部が再設定後の枠外モニター領域22a内に入っている。なお、被写体30は、図4に示す状態からさらに-Y方向にも若干移動しているものとする。
【0046】
このように、図4に示すフレーム画像Im2のうちの枠内モニター領域23における検知処理により被写体30を検知した後に、図5に示すフレーム画像Im3のうちの枠外モニター領域22a内における検知処理により被写体30を検知した場合には、画像処理CPU151は、フレーム画像Im3における出力対象領域21を、図4における枠外モニター領域22aの少なくとも一部を端部に含む領域となるような位置に再設定する。
【0047】
図6は、枠外モニター領域22が2度目に再設定された状態のフレーム画像領域20を示す図である。
図6に示す再設定後の出力対象領域21は、右端のX座標が、図5に示す再設定前の枠外モニター領域22aの右端のX座標と同一である。よって、再設定後の出力対象領域21は、フレーム画像領域20の+X方向側の外辺に接している。このように、画像処理CPU151は、再設定前の枠外モニター領域22aがフレーム画像領域20の外辺に接していた場合には、フレーム画像領域20の外辺に接する位置に出力対象領域21を再設定する。
【0048】
また、フレーム画像Im3における被写体30が出力対象領域21のY方向についての略中央に位置するように、出力対象領域21は、図5に示す再設定前の出力対象領域21よりも-Y方向側にずらした位置に再設定される。より詳しくは、画像処理CPU151は、再設定後の出力対象領域21の位置を、フレーム画像Im2のうちの、再設定前の出力対象領域21内の枠内モニター領域23における被写体30の位置と、フレーム画像Im3のうちの、再設定後の出力対象領域21内の枠内モニター領域23における被写体30の位置とが一致するように定める。
【0049】
また、画像処理CPU151は、出力対象領域21の2度目の再設定に際し、併せて枠外モニター領域22も再設定する。ただし、ここでは、既に出力対象領域21がフレーム画像領域20の+X方向側の外辺に接しているため、出力対象領域21から+X方向に偏った位置に枠外モニター領域22aを設定することはできない。このため、枠外モニター領域22aの再設定は省略される。また、出力対象領域21が2度にわたって-Y方向側に偏移しているため、-Y方向側の枠外モニター領域22dについては、再設定の前後で出力対象領域21との位置関係が同一となるように再設定することができない。このため、図6に示すように、枠外モニター領域22dについては、フレーム画像領域20の-Y方向側の外辺に接する位置に再設定される。
【0050】
なお、上記では、出力対象領域21の外部に出た被写体30が枠外モニター領域22aに向かう前提で説明したが、被写体30が枠外モニター領域22aに入る前に出力対象領域21に戻ることもあり得る。このため、被写体30の追尾が開始された場合には、枠外モニター領域22aにおける検知処理と並行して、枠内モニター領域23(又は、出力対象領域21の全体)においても検知処理が実行される。追尾の開始後に枠内モニター領域23(又は出力対象領域21)において被写体30が検知された場合には、出力対象領域21、枠外モニター領域22及び枠内モニター領域23の再設定は行われず、追尾が終了する。また、探索中フラグ122が「0(オフ)」に設定される。
【0051】
また、被写体30が出力対象領域21の外部に出て被写体30の追尾が開始された後、枠外モニター領域22及び出力対象領域21のいずれにおける検知処理でも被写体30が検出されずに所定の追尾継続時間が経過した場合には、被写体30の追尾を中止してもよい。これにより、被写体30が想定外の方向に移動したり、電子機器1の撮像部14の向きが被写体30とは異なる向きに変更されたりすること等に起因して追尾ができなくなった場合に、不必要な追尾が継続されるのを避けることができる。追尾が中止されると、検知対象有りフラグ121及び探索中フラグ122が「0(オフ)」に設定される。また、出力対象領域21、枠外モニター領域22及び枠内モニター領域23が、図2に示す初期状態の位置に再設定される。上記の追尾継続時間は、予め設定されて記憶部13に記憶されている。追尾継続時間は、操作部17に対するユーザーの操作により変更が可能であってもよい。
【0052】
また、上記では、図2に示す初回の出力対象領域21の設定の際に、出力対象領域21の外辺(外周)、及びフレーム画像領域20の外辺のいずれとも接しない位置に枠外モニター領域22a~22dを設定したが、これに限られない。例えば、図7に示すように、フレーム画像領域20の外辺に接する位置に枠外モニター領域22a~22dを設定してもよい。また、図8に示すように、出力対象領域21の外辺に接する位置に枠外モニター領域22a~22dを設定してもよい。
また、出力対象領域21、枠外モニター領域22及び枠内モニター領域23の初期位置及び/又は大きさは、操作部17に対するユーザーの操作により変更が可能であってもよい。
【0053】
<被写体追尾処理>
次に、被写体30の追尾に係る上述の動作を実現するために画像処理部15の画像処理CPU151が実行する被写体追尾処理について説明する。
図9図11は、被写体追尾処理の制御手順を示すフローチャートである。
被写体追尾処理は、電子機器1の起動後、撮像部14による撮像が開始された場合に開始される。
【0054】
被写体追尾処理が開始されると、画像処理CPU151は、検知対象有りフラグ121及び探索中フラグ122を「0」に設定する(ステップS101)。
【0055】
画像処理CPU151は、フレーム画像領域20のうちの所定の初期位置(図2に示す位置)に、出力対象領域21、枠外モニター領域22及び枠内モニター領域23を設定し、設定内容を領域設定データ136に記憶させる(ステップS102)。
【0056】
画像処理CPU151は、撮像部14により生成された次の(撮影開始直後の場合には、最初の)フレーム画像に係る出力画像データ134を取得する(ステップS103)。本実施形態において、フレーム画像に係る出力画像データ134を取得することが、「画像を取得すること」に相当する。
【0057】
画像処理CPU151は、検知対象有りフラグ121が「1」であるか否かの判別(ステップS104)、及び、探索中フラグ122が「1」であるか否かの判別(ステップS105)を行う。画像処理CPU151は、検知対象有りフラグ121が「0」であると判別され(ステップS104で“NO”)、且つ、探索中フラグ122が「0」であると判別された場合には(ステップS105で“NO”)、出力対象領域21において上述の検知処理を実行する(ステップS106)。
【0058】
画像処理CPU151は、検知処理により、出力対象領域21において検知対象(追尾対象)となる被写体30を特定した場合には(ステップS107で“YES”)、特定した被写体30に係る被写体データ135を生成して記憶部13に記憶させる(ステップS108)。また、画像処理CPU151は、検知対象有りフラグ121を「1」に設定する(ステップS109)。
【0059】
ステップS109が終了した場合、又は、ステップS107において、検知対象となる被写体30が特定されなかった場合には(ステップS107で“NO”)、画像処理CPU151は、撮像画像データ133のうち出力対象領域21に対応する部分の画像データを抽出し、出力画像データ134としてCPU11に出力する(ステップS110)。その後、画像処理CPU151は、次のフレーム画像があるか否かを判別する(ステップS111)。次のフレーム画像があると判別された場合には(ステップS111)、画像処理CPU151は、処理をステップS103に戻し、次のフレーム画像に係る撮像画像データ133を取得する。
【0060】
検知対象有りフラグ121が「1」に設定された後に取得されたフレーム画像に係る処理では、画像処理CPU151は、ステップS105において、検知対象有りフラグ121が「1」であると判別する(ステップS105で“YES”)。この場合には、画像処理CPU151は、枠内モニター領域23において検知処理を実行する(ステップS112)。また、画像処理CPU151は、検知処理により、枠内モニター領域23において被写体30を検知し、かつ、被写体30が枠内モニター領域23の端部に到達したか否かを判別する(ステップS113)。枠内モニター領域23において被写体30を検知し、かつ、被写体30が枠内モニター領域23の端部に到達したと判別された場合には(ステップS113で“YES”)、画像処理CPU151は、次のフレーム画像において被写体30が出力対象領域21の外部に出ると判別し、探索中フラグ122を「1」に設定して被写体30の追尾を開始する(ステップS114)。また、画像処理CPU151は、処理をステップS110に移行させる。
【0061】
一方、枠内モニター領域23において被写体30を検知しなかったか、又は、被写体30は検知したが被写体30が枠内モニター領域23の端部に到達していないと判別された場合には(ステップS113で“NO”)、画像処理CPU151は、探索中フラグ122を「0」のまま維持して、処理をステップS110に移行させる。
【0062】
探索中フラグ122が「1」に設定された後に取得されたフレーム画像に係る処理では、画像処理CPU151は、ステップS104において、探索中フラグ122が「1」であると判別し(ステップS104で“YES”)、処理を図10のステップS115に移行させる。
【0063】
ステップS115では、画像処理CPU151は、枠外モニター領域22において検知処理を実行する。画像処理CPU151は、枠外モニター領域22において被写体30を検知したと判別された場合には(ステップS116で“YES”)、領域再設定処理を実行する(ステップS117)。
【0064】
図11は、領域再設定処理の制御手順を示すフローチャートである。
領域再設定処理が呼び出されると、画像処理CPU151は、出力対象領域21を、被写体30を検知した枠外モニター領域22を端部に含む領域となるように再設定し、再設定の内容に応じて領域設定データ136を更新する(ステップS201)。また、再設定された出力対象領域21の端部に枠内モニター領域23を再設定し、再設定の内容に応じて領域設定データ136を更新する(ステップS202)。
【0065】
画像処理CPU151は、再設定された出力対象領域21に対する所定の位置関係で4つの枠外モニター領域22a~22dを設定することが可能であるか否かを判別し(ステップS203)、可能であると判別された場合には(ステップS203で“YES”)、出力対象領域21に対する所定の位置関係で4つの枠外モニター領域22a~22dを再設定する(ステップS204)。また、画像処理CPU151は、再設定の内容に応じて領域設定データ136を更新する。
【0066】
再設定された出力対象領域21に対する所定の位置関係で4つの枠外モニター領域22a~22dを設定することができないと判別された場合には(ステップS203で“NO”)、画像処理CPU151は、各枠外モニター領域22を設定するスペースがあるか否かを判別する(ステップS205)。各枠外モニター領域22を設定するスペースがあると判別された場合には(ステップS205で“YES”)、画像処理CPU151は、所定の位置関係で設定することができない枠外モニター領域22を、フレーム画像領域20の外辺に接する位置に再設定し、残りの枠外モニター領域22を所定の位置関係で再設定する(ステップS206)。また、画像処理CPU151は、再設定の内容に応じて領域設定データ136を更新する。
【0067】
いずれかの枠外モニター領域22について、設定するスペースがないと判別された場合には(ステップS205で“NO”)、画像処理CPU151は、設定可能な3つ(又は2つ)の枠外モニター領域22の各々を、所定の位置関係で再設定し、所定の位置関係で再設定できない枠外モニター領域22については、フレーム画像領域20の外辺に接する位置に再設定する(ステップS207)。また、画像処理CPU151は、再設定の内容に応じて領域設定データ136を更新する。
【0068】
ステップS204、S206、S207のいずれかが終了すると、画像処理CPU151は、領域再設定処理を終了させて、処理を図10のステップS118に移行させる。画像処理CPU151は、ステップS118において、探索中フラグ122を「0」に設定し、処理を図9のステップS110に移行させる。
【0069】
一方、図10のステップS116において、枠外モニター領域22における検知処理により被写体30を検知しなかったと判別された場合には(ステップS116で“NO”)、画像処理CPU151は、被写体30が枠内モニター領域23に戻ってきているか否かを判別するために、出力対象領域21の枠内モニター領域23において検知処理を実行する(ステップS119)。枠内モニター領域23において被写体30を検知したと判別された場合には(ステップS120で“YES”)、画像処理CPU151は、探索中フラグ122を「0」に設定し(ステップS121)、処理を図9のステップS110に移行させる。
【0070】
枠内モニター領域23において被写体30を検知しなかったと判別された場合には(ステップS120で“NO”)、画像処理CPU151は、所定の追尾継続時間が経過したか否かを判別する(ステップS122)。追尾継続時間が経過していないと判別された場合には(ステップS122で“NO”)、画像処理CPU151は、処理を図9のステップS110に移行させる。また、追尾継続時間が経過したと判別された場合には(ステップS122で“YES”)、画像処理CPU151は、被写体30が枠外モニター領域22に移動することも、出力対象領域21に戻ることもないと判別して(すなわち、被写体30をロストしたと判別して)、被写体30の追尾を中止する。また、画像処理CPU151は、検知対象有りフラグ121及び探索中フラグ122を「0」に設定する(ステップS123)。その後、画像処理CPU151は、処理を図9のステップS102に移行させ、出力対象領域21、枠外モニター領域22及び枠内モニター領域23を初期位置に再設定する。
図9のステップS111において、次のフレーム画像がないと判別された場合には(ステップS111で“NO”)、画像処理CPU151は、被写体追尾処理を終了させる。
【0071】
<効果>
以上のように、本実施形態に係る画像処理装置としての電子機器1は、処理部としての画像処理CPU151を備え、画像処理CPU151は、複数のフレーム画像に係るフレーム画像領域20の中央部に、画像データが出力される範囲として、フレーム画像領域20よりも小さい出力対象領域21を設定し、フレーム画像領域20における出力対象領域21の枠外の内、中央部から所定の方向に偏った位置に、被写体30を検知する対象となる枠外モニター領域22を設定する。
これにより、フレーム画像領域20のうちの枠外モニター領域22において被写体30を検知するための検知処理を実行することで、出力対象領域21の外部に出た被写体30を検知することができる。よって、フレーム画像領域20の全体を対象として被写体30を検知する構成と比較して、画像処理CPU151の処理負荷を軽減でき、また、より短時間で被写体30を検知することができる。
また、フレーム画像領域20の一部の出力対象領域21を画像データの出力対象とすることで、読み出す画像データのデータ量を低減することができる。よって、画像データの読み出し時間を短縮して高フレームレートを実現したり、読み出し時間を維持しつつ画像データの転送レート(読み出し速度)を下げたりすることができる。
また、1つの撮像部14が撮影した複数のフレーム画像を用いて、追尾対象の被写体30を検知することができるので、装置の大型化や製造コストの上昇を避けつつ、追尾対象の被写体30の検知を行うことができる。
【0072】
また、画像処理CPU151は、複数のフレーム画像に含まれる、フレーム画像Im1(第1の画像)と、フレーム画像Im1よりも後に生成されたフレーム画像Im2(第2の画像)と、を取得し、フレーム画像Im1及びフレーム画像Im2について、出力対象領域21内及び枠外モニター領域22内の被写体30を検知するための検知処理を実行し、検知処理により、フレーム画像Im1のうちの出力対象領域21内において被写体30を検知し、且つ、フレーム画像Im2のうちの或る枠外モニター領域22内において被写体30を検知した場合に、フレーム画像Im2における出力対象領域21を、上記の或る枠外モニター領域22の少なくとも一部を端部に含む領域となるような位置に再設定する。これにより、フレーム画像Im2において追尾対象の被写体30が検知された場合に、被写体30が出力対象領域21内に入るように出力対象領域21を再設定することができる。よって、ユーザーが電子機器1の撮影方向を調整しなくても、記録中の動画や、表示部16において表示中のプレビュー画像において、追尾対象の被写体30が自動的に写るようにすることができる。例えば、被写体30が急に動いた場合や、ユーザーが電子機器1の向きを意図せずに変えてしまったような場合などにおいて、被写体30が出力対象領域21の外部に出てしまっても、ユーザーは、特段の操作をしなくても、被写体30を画角内に収めて撮影を続けることができる。
【0073】
また、画像処理CPU151は、出力対象領域21の枠内の端部に枠内モニター領域23を設定し、検知処理により、フレーム画像Im1のうちの或る枠内モニター領域23において被写体30を検知し、且つ、フレーム画像Im2のうちの或る枠外モニター領域22において被写体30を検知した場合に、フレーム画像Im2における出力対象領域21を、上記の或る枠外モニター領域22の少なくとも一部を端部に含む領域となるような位置に再設定する。これにより、出力対象領域21の一部である枠内モニター領域23において被写体30を検知するための検知処理を実行することで、被写体30が出力対象領域21の外部に出たか否かを判別することができる。よって、当該判別のための画像処理CPU151の処理負荷を軽減でき、また、処理時間を短縮することができる。
【0074】
また、画像処理CPU151は、出力対象領域21の枠内の端部に枠内モニター領域23を設定し、検知処理により、フレーム画像Im1のうちの或る枠内モニター領域23において被写体30を検知し、且つ、フレーム画像Im2のうちの或る枠外モニター領域22において被写体30を検知した場合に、フレーム画像Im2における出力対象領域21を再設定し、再設定後の出力対象領域21の位置を、フレーム画像Im1のうちの、再設定前の出力対象領域21内の上記の或る枠内モニター領域23における被写体30の位置と、フレーム画像Im2のうちの、再設定後の出力対象領域21内の上記の或る枠内モニター領域23における被写体30の位置とが一致するように定める。これにより、被写体30が出力対象領域21の外部に出る前後において、出力対象領域21における被写体30の位置が変化しないようにすることができる。よって、出力対象領域21を再設定することによる視覚的な違和感を抑えつつ、追尾対象の被写体30を出力対象領域21に収めることができる。
【0075】
また、画像処理CPU151は、上記の或る枠外モニター領域22がフレーム画像領域20の外辺に接していた場合には、フレーム画像領域20の外辺に接する位置に出力対象領域21を再設定する。このように出力対象領域21がフレーム画像領域20の外辺に接する位置まで移動し得る構成とすることで、フレーム画像領域20の全体を用いて被写体30を追尾し、出力対象領域21に収めることができる。
【0076】
また、画像処理CPU151は、出力対象領域21を再設定する場合に、出力対象領域21の再設定後の出力対象領域21と枠外モニター領域22との位置関係が、出力対象領域21の再設定前の出力対象領域21と枠外モニター領域22との位置関係と同一となるように、枠外モニター領域22を再設定する。これにより、出力対象領域21を再設定した後に、再度被写体30が出力対象領域21の外部に出た場合にも、枠外モニター領域22において検知処理を行うことで、追尾対象の被写体30を検知することができる。
【0077】
また、画像処理CPU151は、出力対象領域21の再設定後の出力対象領域21と枠外モニター領域22との位置関係が、出力対象領域21の再設定前の出力対象領域21と枠外モニター領域22との位置関係と同一となるように枠外モニター領域22を再設定することができない場合には、枠外モニター領域22をフレーム画像領域20の外辺に接する位置に再設定する。これにより、被写体30がフレーム画像領域20の外辺の近傍に移動した場合においても、枠外モニター領域22を適切に設定して追尾対象の被写体30を検知することができる。
【0078】
また、出力対象領域21は矩形であり、画像処理CPU151は、枠外モニター領域22を、出力対象領域21の4つの辺のそれぞれに対して1つずつ設定する。これにより、被写体30が出力対象領域21の4つの辺のいずれから外部に出たとしても、いずれかの枠外モニター領域22における検知処理により被写体30を検知することができる。
【0079】
また、画像処理CPU151は、枠外モニター領域22を、フレーム画像領域20の外辺に接する位置に設定してもよい。これにより、追尾対象の被写体30がフレーム画像領域20の外辺の近傍に移動した場合に被写体30を検出することができる。また、被写体30の検知に伴う出力対象領域21、枠外モニター領域22及び枠内モニター領域23の再設定の頻度を最も低く抑えることができるため、画像処理CPU151の処理負荷を効果的に軽減することができる。
【0080】
また、上記実施形態においては、画像処理CPU151は、枠外モニター領域22を、出力対象領域21の外周に接しない位置に設定する。これにより、追尾対象の被写体30が出力対象領域21の外部に出た後、枠外モニター領域22において検出されるまで一定以上の時間が掛かるようにすることができる。よって、枠外モニター領域22における被写体30の検知に伴う出力対象領域21、枠外モニター領域22及び枠内モニター領域23の再設定の頻度を抑えることができ、画像処理CPU151の処理負荷を軽減することができる。
【0081】
また、画像処理CPU151は、枠外モニター領域22を、出力対象領域21の外周に接する位置に設定してもよい。これにより、追尾処理の被写体30が出力対象領域21の外部に出た場合に、出力対象領域21の外周に接する枠外モニター領域22において直ちに被写体30を検知することができる。このため、被写体30が出力対象領域21から大きく移動する前に出力対象領域21を再設定して被写体30を出力対象領域21に収めることができる。これにより、追尾対象の被写体30を出力対象領域21に収め続けているような視覚効果を得ることができる。すなわち、被写体30をより円滑かつ正確に追尾することができる。
【0082】
また、画像処理CPU151は、複数のフレーム画像のうち、出力対象領域21内の部分に係る画像データとして、出力画像データ134を出力する。これにより、読み出す画像データのデータ量を低減することができる。よって、画像データの読み出し時間を短縮して高フレームレートを実現したり、読み出し時間を維持しつつ画像データの転送レート(読み出し速度)を下げたりすることができる。
【0083】
また、電子機器1は、複数のフレーム画像を撮像する撮像部14を備え、画像処理CPU151は、撮像部14によって撮像された複数のフレーム画像を取得する。これにより、撮像部14が撮影した複数のフレーム画像に写っている被写体30を、リアルタイムで追尾することができる。
【0084】
また、本実施形態に係る電子機器1(画像処理装置)の画像処理CPU151(コンピュータ)が実行する画像処理方法は、複数のフレーム画像に係るフレーム画像領域20の中央部に、画像データが出力される範囲として、フレーム画像領域20よりも小さい出力対象領域21を設定し、フレーム画像領域20における出力対象領域21の枠外の内、中央部から所定の方向に偏った位置に、被写体30を検知する対象となる枠外モニター領域22を設定する。これにより、フレーム画像領域20のうちの枠外モニター領域22において被写体30を検知するための検知処理を実行することで、出力対象領域21の外部に出た被写体30を検知することができる。よって、画像処理CPU151の処理負荷を軽減でき、また、より短時間で被写体30を検知することができる。また、フレーム画像領域20の一部の出力対象領域21を画像データの出力対象とすることで、読み出す画像データのデータ量を低減することができる。また、1つの撮像部14が撮影した複数のフレーム画像を用いて、追尾対象の被写体30を検知することができるので、装置の大型化や製造コストの上昇を避けつつ、追尾対象の被写体30の検知を行うことができる。
【0085】
また、本実施形態に係る画像処理プログラム132(プログラム)は、電子機器1(画像処理装置)の画像処理CPU151(コンピュータ)に、複数のフレーム画像に係るフレーム画像領域20の中央部に、画像データが出力される範囲として、フレーム画像領域20よりも小さい出力対象領域21を設定する処理、フレーム画像領域20における出力対象領域21の枠外の内、中央部から所定の方向に偏った位置に、被写体30を検知する対象となる枠外モニター領域22を設定する処理、を実行させる。これにより、フレーム画像領域20のうちの枠外モニター領域22において被写体30を検知するための検知処理を実行することで、出力対象領域21の外部に出た被写体30を検知することができる。よって、画像処理CPU151の処理負荷を軽減でき、また、より短時間で被写体30を検知することができる。また、フレーム画像領域20の一部の出力対象領域21を画像データの出力対象とすることで、読み出す画像データのデータ量を低減することができる。また、1つの撮像部14が撮影した複数のフレーム画像を用いて、追尾対象の被写体30を検知することができるので、装置の大型化や製造コストの上昇を避けつつ、追尾対象の被写体30の検知を行うことができる。
【0086】
<その他>
なお、上記実施形態における記述は、本発明に係る画像処理装置、画像処理方法及びプログラムの一例であり、これに限定されるものではない。
例えば、上記実施形態では、「1以上の処理部」として画像処理部15の画像処理CPU151を例示したが、これに限られない。例えば、上記実施形態において画像処理CPU151が実行していた処理の一部をCPU11が実行してもよく、この場合には、画像処理CPU151及びCPU11が「1以上の処理部」に対応する。また、上記実施形態において画像処理CPU151が実行していた処理の全部をCPU11が実行してもよく、この場合には、CPU11が「1以上の処理部」に対応する。
【0087】
また、複数のフレーム画像は、撮像部14により撮影されたものに限られない。例えば、複数のフレーム画像は、既存の動画データに含まれるものであってもよい。すなわち、既存の動画データの複数のフレーム画像から、出力対象領域21に対応する画像データを切り出してダウンサイズする場合に本発明の被写体30の追尾技術を適用してもよい。よって、画像処理装置としての電子機器1は、撮像部14を備えていなくてもよく、外部から複数のフレーム画像を取得して画像処理を行ってもよい。
【0088】
また、上記実施形態では、「被写体30が出力対象領域21の外部に出ること」は、「被写体30のうちの少なくとも一部(例えば、被写体30に含まれる自転車の先端部)が出力対象領域21の外部に出ること」であるものとしたが、これに代えて、「被写体30の全体が出力対象領域21の外部に出ること」としてもよい。この場合には、図9のステップS113において、被写体30の全体が枠内モニター領域23の外部に出た場合に“YES”と判別すればよい。
【0089】
また、出力対象領域21は、矩形以外の形状、例えば、矩形以外の多角形、円形、又は楕円形などであってもよい。これらの場合にも、出力対象領域21が設定された中央部から所定の方向に偏った位置に枠外モニター領域22を設定することで、上記実施形態と同様に被写体30の追尾が可能となる。枠外モニター領域22の形状は、出力対象領域21の外周の形状に応じた形状としてもよい。例えば、出力対象領域21の外周が円形である場合には、枠外モニター領域22の外周のうち少なくとも出力対象領域21に対向する部分を円弧状としてもよい。
【0090】
また、以上の説明では、本発明に係るプログラムのコンピュータ読み取り可能な媒体として記憶部13のフラッシュメモリを使用した例を開示したが、この例に限定されない。その他のコンピュータ読み取り可能な媒体として、HDD(Hard Disk Drive)、SSD(Solid State Drive)、CD-ROM等の情報記録媒体を適用することが可能である。また、本発明に係るプログラムのデータを通信回線を介して提供する媒体として、キャリアウエーブ(搬送波)も本発明に適用される。
【0091】
また、上記実施形態における電子機器1(画像処理装置)の各構成要素の細部構成及び細部動作に関しては、本発明の趣旨を逸脱することのない範囲で適宜変更可能であることは勿論である。
【0092】
本発明の実施の形態を説明したが、本発明の範囲は、上述の実施の形態に限定するものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。
【符号の説明】
【0093】
1 電子機器(画像処理装置)
11 CPU
12 RAM
13 記憶部
14 撮像部
15 画像処理部
151 画像処理CPU(処理部)
16 表示部
17 操作部
18 バス
20 フレーム画像領域
21 出力対象領域
22、22a~22d 枠外モニター領域
23 枠内モニター領域
30 被写体
121 検知対象有りフラグ
122 探索中フラグ
131 制御プログラム
132 画像処理プログラム(プログラム)
133 撮像画像データ
134 出力画像データ(画像データ)
135 被写体データ
136 領域設定データ
Im1~Im3 フレーム画像(第1の画像、第2の画像)
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11