JP2024010640A - 撮像システム及びそれを構成する制御装置、撮像装置、制御方法 - Google Patents

撮像システム及びそれを構成する制御装置、撮像装置、制御方法 Download PDF

Info

Publication number
JP2024010640A
JP2024010640A JP2022148289A JP2022148289A JP2024010640A JP 2024010640 A JP2024010640 A JP 2024010640A JP 2022148289 A JP2022148289 A JP 2022148289A JP 2022148289 A JP2022148289 A JP 2022148289A JP 2024010640 A JP2024010640 A JP 2024010640A
Authority
JP
Japan
Prior art keywords
subject
control
unit
detection unit
camera
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022148289A
Other languages
English (en)
Inventor
智章 小宮山
Tomoaki Komiyama
雄貴 山本
Yuki Yamamoto
航陽 佐藤
Katsuaki Sato
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to US18/350,476 priority Critical patent/US20240022821A1/en
Publication of JP2024010640A publication Critical patent/JP2024010640A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Studio Devices (AREA)

Abstract

【課題】 カメラオペレータによる手動操作を主体としつつ、自動追尾機能が補佐的動作を行うことが可能となるカメラ制御装置を提供する。【解決手段】 制御装置は、画像が入力される入力部と、入力部から入力された画像から被写体を検出する第1の検出部と、第1の検出部により検出された被写体の動き出しを検出する第2の検出部と、第2の検出部により動き出しが検出された場合、第1の検出部により検出された当該被写体の位置に基づいて、撮像装置の撮影範囲を制御する制御部と、を有する。第2の検出部により前記被写体の動き出しが検出された場合、制御部は、第1の検出部により検出された当該被写体の位置に基づいて、撮影範囲を所定時間制御する。所定時間経過後は第1の検出部により検出された当該被写体の位置に基づく撮影範囲の制御を停止する。【選択図】 図1

Description

本発明は撮像装置を含む撮像システムに関し、特に検出した被写体を追尾するようカメラを制御することが可能な撮像システムに関するものである。
近年の映像制作では、撮影現場に赴くことなく遠隔地からカメラを制御することで撮影・制作を行うリモートプロダクションという手法が普及しつつある。
この手法によればカメラオペレーターはネットワークを介してコントローラ等の装置によりカメラを遠隔制御することで、現地でカメラを操作する場合と同等の映像を撮影することができ、さらに現地に赴く際の移動に掛かるコストを抑制できる効果も得られる。
また、近年はAI(Artificial Intelligence)の進化により所望の被写体を検出し、其の被写体を追尾するようカメラを制御する技術もしばし見受けられる。
これらの技術を組み合わせることで、カメラオペレーターはカメラを遠隔地からパン・チルト等の制御が可能でありながら、AIを搭載したカメラが自身の判断・推論に基づいて被写体を自動追尾することも可能となるシステムが実現される。
具体的な先行技術として、特許文献1には、自動で被写体を追尾できる自動追尾モードと、カメラオペレータが手動でパン・チルト等の制御が可能な手動操作モードとを有し、それぞれのモードをユーザの操作により切り替えることができる技術が記載されている。
さらに特許文献2には、自動追尾モードと、手動操作モードとを有し、検出した被写体が画像上の所定の範囲に入ると、手動操作モードから自動で自動追尾モードへ移行する技術が開示されている。
特開2005-86360号公報 特開2022-2378号公報
カメラオペレータの操作するコントローラとカメラ間の距離が離れるほど、ネットワークのレイテンシー(遅延)は嵩む傾向となる。さらに、ネットワークレイテンシーの他にカメラとコントローラの間に中継機材などが多く介在した場合もレイテンシーが増していく。
レイテンシーが嵩むほど遠隔地から操作を行うカメラオペレータの制御指示は遅延してカメラへ到達することになり、被写体を手動で捉える操作が難しくなり、操作性が低下する。
その状況に対し、特許文献2に示すようなシステムを活用することで、手動で被写体を撮影範囲内に収めることが難しい場合であっても、自動追尾機能がフォローする形で介入することで撮影範囲内に被写体を捉えることができると考えられる。しかしながら、プロカメラマンなど、趣向を凝らした画角コントロールを所望するユーザからは、自身の操作を主体としつつ自動追尾は補佐役として動作する役割分担が望まれると本発明者らは考えた。
そこで本発明は、カメラオペレータによる手動操作を主体としつつ、自動追尾機能が補佐的動作を行うことを可能とするカメラ制御装置を提供することを目的とする。
本発明の一側面としての制御装置は、画像が入力される入力部と、前記入力部から入力された画像から被写体を検出する第1の検出部と、前記第1の検出部により検出された前記被写体の動き出しを検出する第2の検出部と、前記第2の検出部により動き出しが検出された場合、前記第1の検出部により検出された当該被写体の位置に基づいて、撮像装置の撮影範囲を制御する制御部と、を有し、前記第2の検出部により前記被写体の動き出しが検出された場合、前記制御部は、前記第1の検出部により検出された当該被写体の位置に基づいて、前記撮影範囲を所定時間制御し、前記所定時間経過後は前記第1の検出部により検出された当該被写体の位置に基づく前記撮影範囲の制御を停止することを特徴とする。
本発明のその他の側面については、以下で説明する実施の形態で明らかにする。
本発明によれば、カメラオペレータによる手動操作を主体としつつ、自動追尾機能が補佐的動作を行うことが可能となる。
第1~3の実施形態に係るシステム全体の構成例を示す図である。 第1~3の実施形態の各装置のブロック構成を示す図である。 第1の実施形態のワークステーション200とカメラ100の動作フローを示す図である。 第1の実施形態のコントローラ300の動作フローを示す図である。 第1の実施形態のワークステーション200の状態遷移を示す図である。 第1の実施形態のワークステーション200の動作フローを示す図である。 第1の実施形態の通信遅延時間を測定する際のシーケンスを示す図である。 第2の実施形態の撮影処理から駆動処理までのシーケンスを示す図である。 第3の実施形態のワークステーション200とコントローラ300の動作フローを示す図である。 第4の実施形態のワークステーション200とコントローラ300の動作フローを示す図である。 表示部305に表示される画面において追尾状態を示す枠を重畳する図である。
以下に、本発明の好ましい実施形態を添付の図面に基づいて詳細に説明する。なお、各図において、同一の部材については同一の参照番号を付し、重複する説明は省略する。
<第1の実施形態>
以下、本実施形態に係る、撮像装置、第1の制御装置(以下、ワークステーションとも呼ぶ)、第2の制御装置(以下、コントローラーとも呼ぶ)とを備える撮像システムおよび、その制御方法について説明する。第1の制御装置と第2の制御装置のそれぞれは、互いに異なる方法で撮像装置の撮像範囲を制御可能である。
本撮像システムは、映像制作や静止画の撮影に用いることができる。
<撮像システムの説明>
図1は本実施形態のシステムの構成の一例を示す図である。図1において、撮像システムは、撮像装置であるカメラ100と第1の制御装置であるワークステーション200はLAN(Local Area Network)400を介して接続される。また第2の制御装置であるコントローラ300はLAN500に接続されている。LAN400とLAN500はインターネット600を介して接続され、各装置はそれぞれ相互に通信を行うことが可能な構成である。また、カメラ100とワークステーション200は物理的に近い位置にそれぞれ設置されており、コントローラ300はそれらから離れた遠隔地に設置されている。そのため、コントローラ300とカメラ100との間における通信と、コントローラ300とワークステーション200との間における通信は、カメラ100とワークステーション200との間における通信と比較して、レイテンシーが発生する状況下にある。
各装置の基本的な動きとして、先ず、カメラ100は撮像部を備え、各ネットワークや映像ケーブルを介して撮像した映像データを各装置へ配信する。尚、本発明及び本明細書では、映像データを構成する1フレーム毎の画像を撮像画像と呼ぶことがある。さらにカメラ100は、後述する駆動部109を備えており、駆動部が撮像部を回動することで、撮像方向を変更するためのパン・チルト操作が可能な機構を有している。
ワークステーション200はカメラ100から配信された撮像画像から被写体を検出し、検出した被写体の位置に基づいてカメラ100の撮像方向を変更するなど、所謂、被写体追尾するための制御信号を生成し、LAN400を介してカメラ100へ送信する。なお、ワークステーション200はカメラ100と別体ではなく、ワークステーション200が有する機能をカメラ100内部に搭載し、カメラ100とワークステーション200を一体的に構成した形態であっても良い。
コントローラ300は、インターネット600を介して、カメラ100にアクセスしてカメラ100が撮像した映像データの取得および、ユーザ操作に基づくカメラ100の制御を行う。尚、本明細書では、コントローラ300を操作してカメラの撮像範囲を手動で制御するユーザを、カメラオペレータと呼ぶことがある。
この撮像システムでは、カメラ100から取得した撮像映像に基づいてワークステーション200が自動で被写体を追尾するようにカメラ100の撮像方向を制御する。さらに、ユーザは遠隔地からコントローラ300を操作することで、カメラ100の撮像方向を所望の向きへ変更することも可能である。撮像システムをこのような構成とすることで、ユーザによる手動操作中にワークステーション200による自動追尾制御が介入することが可能となる。これにより、通信レイテンシーが発生する遠隔地からユーザがカメラ100を制御したい要求を満たしつつ、通信レイテンシーにより手動操作が遅れることによる影響を低減することができる。
<各装置の説明>
続いて、図2を用いて撮像システムを構成する各装置の構成について説明をする。
まず、カメラ100の構成について詳細に説明する。カメラ100は、CPU101、RAM102、ROM103、映像出力I/F104、ネットワークI/F(Interface)105、画像処理部106、駆動I/F108が内部バス110を介して相互に接続されている構成を有する。
CPU101は、カメラ100の各構成要素を制御することで、カメラ100全体の制御を行う。
RAM102はDRAMなどに代表される揮発性を持った高速な記憶装置で、OSや各種プログラム及び各種データがロードされ、またOSや各種プログラムの作業領域としても使用される。
ROM103はフラッシュメモリ、HDD、SSD、SDカード等に代表される不揮発性を持った記憶装置で、OSや各種プログラム及び各種データの永続的な記憶領域として使用される他に、短期的な各種データの記憶領域としても使用される。
カメラ100のRAM102及びROM103に置かれる各種プログラム等の詳細については後述する。
映像出力I/F104は後述する画像センサ107が撮像した映像を外部に出力するためのインターフェースである。ステップS202で、CPU101は制御コマンドを受信したことをネットワークI/F105より通SDI(Serial Digital Interface)やHDMI(登録商標)(High-Definition Multimedia Interface)で構成される。本実施形態の撮像システムにおいては、映像出力I/F104は後述するワークステーション200の映像入力I/F208に接続されているが、映像出力I/Fは、後述するネットワークI/FやLAN400を介して映像を出力してもよい。
ネットワークI/F105は前述のLAN400と接続するためのI/Fであり、Ethernet(登録商標)等の通信媒体を介してワークステーション200やコントローラ300などの外部装置との通信を担う。尚、カメラ100の遠隔からのカメラ制御は、不図示のシリアル通信I/Fなど別のI/Fを介して行っても構わない。
画像処理部106には画像センサ107が接続され、画像センサ107から取得した画像データを所定のフォーマットに変換し、必要に応じて圧縮してRAM102に転送する。また、画像処理部106は画像センサ107から取得した画像に基づいてズーム・フォーカス、露出制御などの画質調整を行ったり、画像データの所定領域のみを切り出すクロップ処理を行ったりしてもよい。これらは、ワークステーション200、コントローラ300などの外部通信装置から、ネットワークI/F105を経由した指示に従って実施される。
画像センサ107は、CCDやCMOSなどのイメージセンサであり、カメラ100において撮像部として機能する。画像センサ107は、不図示の撮影光学系により結像された被写体像を光電変換することにより画像データを生成する。尚、撮影光学系と画像センサ107とを合わせて撮像部と呼ぶこともある。駆動I/F108は後述する駆動部109との接続部であり、CPU101から受ける指示を駆動部109へ伝える制御信号等を送受信するための通信を担う。
駆動部109はカメラ100の撮像方向(つまり、撮像部の撮像方向)を変更するための回動機構であり、メカ駆動系及び駆動源のモータ等で構成される。本実施形態では、画像センサと撮影光学系を構成するレンズとを一体的に回転駆動させることで、撮像方向を変更する。駆動部109は駆動I/F108を介してCPU101から受ける指示に基づいて水平方向や垂直方向に対する撮像方向を変更するための、パン・チルト動作といった回動駆動を行う。また、撮影光学系が変倍レンズ(ズームレンズとも呼ぶ)を有する場合は、ズームレンズを光軸方向に動かすことで、光学的に撮影画角を変更するためのズーム動作を行う。
続いてワークステーション200について説明する。ワークステーション200は、CPU201、RAM202、ROM203、ネットワークI/F204、映像出力I/F205、ユーザ入力I/F206、推論部207、映像入力I/F208が内部バス110を介して相互に接続されている構成を有する。
CPU201は、ワークステーション200の各構成要素を制御することで、ワークステーション200全体の制御を行う。
RAM202はDRAMなどに代表される揮発性を持った高速な記憶装置で、OSや各種プログラム及び各種データがロードされ、またOSや各種プログラムの作業領域としても使用される。
ROM203はフラッシュメモリ、HDD、SSD、SDカード等に代表される不揮発性を持った記憶装置で、OSや各種プログラム及び各種データの永続的な記憶領域として使用される他に、短期的な各種データの記憶領域としても使用される。
ワークステーション200のRAM202及びROM203に置かれる各種プログラム等の詳細については後述する。
ネットワークI/F204は前述のLAN400と接続するためのI/Fであり、Ethernet(登録商標)等の通信媒体を介してカメラ100やコントローラ300などの外部装置との通信を担う通信部として機能する。
映像出力I/F205はワークステーションの設定情報画面などを制御装置に接続されたディスプレイ(不図示)等に出力するためのインターフェースである。尚、ワークステーション200は、受信した撮影画像に基づいて情報処理装置がカメラ100の制御指示を生成することが可能であるため、ユーザに撮影画像を表示することは必須ではない。
ユーザ入力I/F206はマウス、キーボード、タッチパネルなどのユーザからの操作の入力装置と接続するためのインターフェースであり、USB(Universal Serial Bus)等で構成される。映像出力I/F205とユーザ入力I/F206により、ユーザとワークステーション200との間のユーザインタフェースを構成することになる。
推論部207は後述する映像入力I/F208を介してカメラ100から受信した映像から、所定の被写体の位置や当該被写体の有無を推定するための推論部である。所謂GPU(Graphics Processing Unit)等の画像処理や推論処理に特化した演算装置により構成される。学習処理や学習処理により生成された学習済みモデルを用いた推論処理に利用するのは一般的にはGPUが有効であるが、FPGA(Field-Programmable Gate Array)といった再構成可能な論理回路で同等の機能を実現してもよい。また推論部207の処理をCPU201が担ってもよい。また、GPU、FPGA、CPUなど複数種類の演算装置/回路を組み合わせてもよい。尚、本実施形態では、推論処理を行うことができる推論部207を用いるが、カメラから受信した映像に基づいて被写体検出を行う検出部として機能することができれば、推論処理は必須ではない。推論部207が被写体の種別や過去の移動情報などに基づいて、今後の移動方向・速度を予測できる構成であると、推論処理を用いずに被写体検出を行う構成と比較して、より正確に追尾動作を制御することができるための好ましい。被写体位置の検出を行うのみの場合は、被写体が画像上において移動した後に、画像上の位置を元に戻す制御を行うことになるが、推論ができると、被写体の移動と同時にパンチルト動作を行うことができる。推論部207により推定された所定の被写体の位置を示す情報(位置情報)は内部バス209を介してCPU201へ送信される。
映像入力I/F208は画像が入力される入力部として機能する、カメラ100から映像を受信するためのインターフェースであり、SDIやHDMIで構成される。
続いてコントローラ300について説明する。コントローラ300は、CPU301、RAM302、ROM303、ネットワークI/F304、表示部305、ユーザー入力I/F306が内部バス307を介して相互に接続されている構成を有する。
CPU301は、コントローラ300の各構成要素を制御することで、コントローラ300全体の制御を行う。
RAM302はDRAMなどに代表される揮発性を持った高速な記憶装置で、OSや各種プログラム及び各種データがロードされ、またOSや各種プログラムの作業領域としても使用される。
ROM303はフラッシュメモリ、HDD、SSD、SDカード等に代表される不揮発性を持った記憶装置で、OSや各種プログラム及び各種データの永続的な記憶領域として使用される他に、短期的な各種データの記憶領域としても使用される。
コントローラ300のRAM302及びROM303に置かれる各種プログラム等の詳細については後述する。
ネットワークI/F304は前述のLAN500と接続するためのI/Fであり、Ethernet(登録商標)等の通信媒体を介してカメラ100やワークステーション200などの外部装置との通信を担う通信部として機能する。ここで通信とは、カメラ100やコントローラ300への制御コマンドの送受信、カメラ100からのカメラ映像の受信等が挙げられる。
表示部305はカメラ100の撮像映像やコントローラ300の設定画面の表示を行う。表示部305は例えば液晶パネルや有機ELパネルで構成される。
なお、ここではコントローラ300が表示部を有する例を示しているが、この構成に限ることなく、例えば、撮像映像を表示するのみの表示モニタとコントローラが別体としてそれぞれ存在している構成であっても良い。
ユーザ入力I/F306はコントローラ300に対するユーザからの操作を受け付ける操作受付部として機能するインターフェースであり、ユーザが操作する操作部材としては例えばボタン、ダイヤル、ジョイスティック、タッチパネル等が挙げられる。ユーザ入力I/F306は例えばユーザ操作に基づいてカメラ100をパン・チルト制御するための入力を受け付ける。ユーザ入力I/F306で受け付けた操作を示す情報は内部バス307を介してCPU301へ送信される。
以上が、各装置を構成する各部の説明である。
<自動追尾動作と手動操作動作の基本動作の説明>
続いて、本システムにおける基本動作である、ワークステーション200により検知した被写体を追尾するようカメラ100を制御する動作及び、コントローラ300により受け付けたユーザ操作に基づいてカメラ100を制御する動作について説明する。情報処理装置200により検出した被写体を追尾するようカメラ100を制御する動作は自動追尾動作、コントローラ300により受け付けたユーザ操作に基づいてカメラ100を制御する動作は手動操作動作と呼ぶ。
まず、ワークステーション200による自動追尾動作について、図3を用いて説明をする。
図3(a)はワークステーション200の動作フロー、図3(b)はカメラ100の動作フローをそれぞれ示しており、ワークステーション200が撮像画像から検出した被写体位置に応じてカメラ100を制御する一連の流れを示している。
ワークステーション200の動作について図3(a)を用いて説明する。図3(a)では、ワークステーション200はカメラ100から逐次送信される撮像映像を映像入力I/F208により受信し、映像データを構成する撮影画像から被写体の位置を特定しつつ、被写体を追尾するよう制御するためのループ処理を示している。本フローはワークステーション200のCPU201が、ネットワークI/F204やユーザ入力I/F206を介して自動追尾動作の実行を指示する命令を受信することで開始される。
ステップS101で、ワークステーション200のCPU201は映像入力I/F208を介してカメラ100が撮像した映像データを受信する。CPU201は、受信した映像データを内部のRAM202へ逐次書き出すように映像入力I/F208を制御する。なお、映像データは所定のフレームレートに合わせてカメラ100の映像出力I/F104より順次送信される。
また、映像データはネットワークI/F204を介して受信され、内部のRAM202へ展開されてもよい。
次にステップS102にて、CPU201はRAM202から撮像映像データを読み出して推論部207へ入力し、推論部207は映像データの各フレームにおける被写体の種別と被写体の位置を推論し、推論した結果をRAM202へ書き出す。CPU201は推論部207によりRAM202へ書き出された情報を読み出すことで、今回のフレームにおける被写体情報を取得する。推論部207はディープラーニング等の機械学習手法を用いて作成された学習済みモデルを有し、入力データとして撮像映像データの各フレームに対応する画像を受け、出力データとして人物等の追尾目標物の種別、位置情報、確からしさを示すスコアを出力する。尚、本実施形態において、位置情報は画像内における目標物の重心位置を示す座標として説明する。
次にステップS103にて、CPU201はステップS102にて読み出した推論部207による推論結果に含まれる被写体の位置情報が、前回のフレームに対する推論結果(以下、前回の推論結果)に含まれる被写体の位置情報と一致しているか否かを判断する。これにより、CPU201は、前回のフレームと今回のフレームで撮影画像における被写体位置の移動があったか(被写体動き検知TR1か)、つまり、パン・チルト駆動が必要か否か、を判断する。CPU201が今回のフレームに対する推論結果と前回の推論結果とに含まれる被写体の位置情報が同じであると判断した場合は、当該被写体の動き出しが検出されなかったものと判断してステップS104乃至S107をスキップする。一方、CPU201が今回のフレームに対する推論結果と前回推論結果とに含まれる被写体の位置情報が同じでないと判断した場合はステップS104へ遷移する。
ステップS104にて、CPU201はステップS102にて推論部207から取得した被写体の位置情報と前回の推論結果に含まれる被写体の位置情報との差分を算出し、被写体を追尾するように、その差分に応じたパン・チルト方向の駆動角速度を算出する。
次にステップS105にて、CPU201はステップS104にて算出した結果を、カメラ100を制御する方法として予め取り決めているプロトコルに則って第1の制御コマンドに変換しRAM202へ書き出す。
続いてステップS106にて、CPU201はステップS105にて変換し、RAM202へ書き出した第1の制御コマンドを読み出し、ネットワークI/F204を介してカメラ100へ送信する。これにより、CPU201は、カメラ100の撮像範囲を制御する制御部として機能する。
ステップS107にて、CPU201はステップS102で推論部207から読み出した被写体の位置情報を、次回、前回の推論結果の位置情報として利用するためRAM202へ書き出しておき、ループ処理の先頭に戻る。
なお、ここでは、ステップS104にて算出した情報に基づいてカメラ100のパン・チルト駆動を制御したが、例えば差分が所定範囲内であればカメラ制御を行わないような所謂不感帯を設けてもよい。このような仕組みにより、過敏にカメラ100のパン・チルト駆動が制御されることを回避することができる。
続けて、図3(b)を用いて、ワークステーション200から第1の制御コマンドを受信した際のカメラ100の動作フローについて説明する。本フローは、ネットワークI/F105に対して第1の制御コマンドが到達したことをCPU101が検知することで開始される。
先ず、ステップS201にてCPU101はネットワークI/F105を介して第1の制御コマンドを受信し、ネットワークI/F105に第1の制御コマンドをRAM102へ書き出させる。
ステップS202で、CPU101は制御コマンドを受信したことをネットワークI/F105より通知される。すると、ネットワークI/F105によりRAM102へ書き出されている第1の制御コマンドから、パン方向/チルト方向それぞれの駆動方向及び駆動速度(ベクトル量)を示す値を読み出す。パン方向の駆動方向の値とは、右又は左を示す値であり、チルト方向の駆動方向の値とは上又は下を示す値である。駆動速度が+、-の方向を持つようにし、駆動速度を示す値が駆動方向の情報を含むとしてもよい。
次にステップS203にて、CPU101はステップS202にて読み出した値を元に、所望の方向へ所望の速度でパン・チルト駆動するための駆動パラメータを導出する。駆動パラメータは、駆動部109に含まれるパン方向/チルト方向のそれぞれのモータ(不図示)を制御するためのパラメータであ。パラメータは、例えば、受信した制御コマンドに含まれる駆動速度、予めROM103に保持しておいた変換テーブルを参照して駆動パラメータに変換しても良い。
ステップS204にて、CPU101はステップS203にて導出した駆動パラメータに基づいて、駆動I/F108を介して駆動部109を制御する。駆動部109は該パラメータに基づいて回動することで、カメラ100の撮像方向の変更、即ちパン・チルト動作が成される。
次に、コントローラ300によるユーザの操作に基づいてカメラ100を制御する手動追尾動作について、図4を用いて説明する。手動追尾動作の場合、カメラ100はコントローラ300から送信される第2の制御コマンド(後述詳細)に基づいて制御されるが、カメラ100の動作は図3(b)と同様であるため、ここでは説明を省略する。上述のステップS201~S204の説明における、第1の制御コマンドを第1の制御コマンドに置き換えることで、手動追尾動作におけるカメラ100の制御フローとすることができる。
図4に示したコントローラ300による手動操作動作のフローについて説明をする。本制御フローは、ユーザ入力I/F306に対してユーザによる操作がなされたことをCPU301が検知することで開始される。尚、手動操作では、パン・チルトがユーザの操作応じて行われるため、被写体の追尾が行われるとは限らない。また、本実施形態では、ユーザの操作はジョイスティックにより行われるものとして説明をするが、その他の操作部材を用いてもよい。
ステップS301にて、コントローラ300のCPU301は、ユーザによるジョイスティック操作をユーザ入力I/F306を介して検出する。
ステップS302にて、CPU301はジョイスティックの操作方向及び操作量をユーザ入力I/F306から取得する。ジョイスティックの具体例としては、パン方向/チルト方向のそれぞれに備え付けられた可変抵抗器から出力される電圧を用いるアナログ出力仕様が挙げられる。
CPU301は、ジョイスティックから入力される電圧をA/D変換部(不図示)を介して得られるデジタル値を読み出すことでパン方向/チルト方向それぞれの角速度を把握することが出来る。なお、ここでA/D変換部では、例えば0~1023など所定の範囲の値が操作量に応じてパン方向/チルト方向のそれぞれ成分として角速度に相当する値を読み出すことができる。
ステップS303にて、CPU301はステップS302にて取得したジョイスティックの操作方向及び操作量をパン駆動とチルト駆動の駆動方向と駆動角速度とを示す制御コマンドへ変換する。この変換は、CPU301が、これらの角速度をカメラ100を制御する方法として予め取り決めているプロトコルに則って操作方向と操作量を制御コマンドに変換することで行われ、変換された制御コマンドをRAM102へ書き出す。
続けて、ステップS304にてCPU301はステップS303にて変換し、RAM102へ書き出した制御コマンドを読み出し、第2の制御コマンドとしてネットワークI/F105を介してカメラ100へ送信する。
以上、コントローラ300及びカメラ100の動作フローにより、ユーザ操作に応じたカメラ100の回動制御(手動操作動作)を行うことが可能となる。
<アシスト機能の説明>
上述の、自動追尾動作と手動操作動作では、ワークステーション200、コントローラ300のそれぞれが、単独でカメラ100の撮像処理(パン動作・チルト動作)を制御する方法について説明した。本実施形態におけるワークステーション200は、手動操作動作中であっても、被写体の動き出しを検出してから所定時間は自動追尾動作を実行するアシスト機能を備える。これにより、コントローラ300とカメラ100との間の通信にレイテンシーが生じている場合であっても、手動で被写体を追尾する際の操作性の低下を軽減する。尚、アシスト機能が有効化されたアシストモードで手動操作動作を行うか否か(アシストモードON/OFF)はユーザが選択手段で設定でき、アシスト機能がONに設定されているときにのみ、下記で説明するアシスト動作を行うような形態としてもよい。さらに、ユーザが特定の被写体を選択でき、選択されたときにアシスト機能がONとなり、当該被写体に対してアシスト動作を行うような形態としてもよい。これらの形態の場合、アシストモードがOFFにされている場合は、上述のワークステーション200とコントローラ300のいずれかが単独でカメラ100のパン・チルト動作を制御する動作を行うものとする。
まず、本実施形態における撮像システムの状態遷移を説明する。図5は撮像システムの状態と遷移条件を示す図である。撮像システムは、自動追尾待機状態ST1、自動追尾状態ST2、手動操作待機状態ST3、手動操作中状態ST4の4の3状態の間をTR1乃至TR5に記載の条件に応じて遷移する。
撮像システムは、自動追尾待機状態ST1において、カメラ100から入力された撮像画像上の被写体の動き出しの検知を行う。被写体の動き出しを検知(TR1)すると、撮像システムは自動追尾状態ST2へ遷移し、被写体を自動追尾する状態となる。尚、自動追尾待機状態ST1とは、毎フレーム取得された撮影画像に基づいて被写体の動き出しの有無を検出している状態であり、動き出しが検出されたら自動追尾状態ST2へすぐに遷移できる待機状態である。動き出しとは、前々回入力された撮影画像(フレームn-2)と前回入力された撮影画像(フレームn-1)との間では被写体の移動が検出されず、前回入力された撮影画像と今回入力された撮影画像(フレームn)との間で被写体の移動が検出されたことを指す。本実施形態では、被写体の動き出しの検知はワークステーション200で行うものとするが、撮像システム上のどこで行ってもよく、例えば、カメラ100で動き出し検知を行ってもよい。
自動追尾状態では、ワークステーション200が図3を用いて説明をした自動追尾動作を行う。ワークステーション200以外が動き出し検出をした場合は、動き出しが検知されたこと示す情報(動き出し検出結果の情報)がワークステーション200へ送信されることで、ワークステーション200が自動追尾を開始する。自動追尾状態ST2にて所定時間が経過(TR2)すると、撮像システムは手動操作待機状態ST3へ遷移し、カメラ100はコントローラ300による操作を待ち受ける状態となる。手動操作待機状態ST3においては、ワークステーション200は、第1の制御コマンドの生成や送信を行う必要はなく、更に、被写体検出や被写体の動き出しの検出なども停止してもよい。また、ワークステーション200が第1の制御コマンドをカメラ100へ送信しても、カメラ100がその制御コマンドを採用しないという形態をとることもできる。
手動操作待機状態ST3へ遷移したものの手動操作がないまま所定時間経過すると、自動追尾待機状態ST1へ遷移する。一方、手動操作待機状態ST3においてコントローラ300により手動操作の受け付けが開始(TR4)されると、手動操作中状態ST4へ遷移し、上述の手動操作動作を行う。手動操作中状態ST4において、手動操作が停止(TR5)されると、再度手動操作待機状態ST3へ遷移する。
なお自動追尾待機状態ST1にて被写体の動き出しを検知する前にコントローラ300に対するユーザの操作が検知(TR4)されると、手動操作状態ST3へ遷移する。
アシスト機能では、上述する状態遷移において、自動追尾状態ST2にて所定時間が経過2)すると、手動操作状態ST3へ遷移することで、カメラオペレータによる手動操作を主体としつつ、ワークステーション200が補佐的に動作をする。アシストモードにおけるワークステーション200の動作フローについてTに基づいて詳細に説明する。
図6の動作フローは図3(a)の動作フローと、被写体の動き出しが検知されてから所定時間だけ自動追尾処理を行う点が異なる。本フローはワークステーション200のCPU201が、ネットワークI/F204やユーザ入力I/F206を介してアシストモードの実行を指示する命令を受信することで開始される。このフローの開始時、撮像システムは自動追尾待機状態ST1である。
ステップS401は、ステップS101に対応するステップであり、ワークステーション200のCPU201は、カメラ100が撮像した映像データを受信し、受信した映像データを内部のRAM202へ逐次書き出すように映像入力I/F208を制御する。
ステップS402は、ステップS102に対応するステップであり、CPU201は推論部207に、今回受信したフレームにおける被写体の種別と被写体の位置を推論させ、今回のフレームにおける被写体情報を取得する。
ステップS403は、ステップS103に対応するステップであり、CPU201は推論部207が被写体を検出した位置情報を読み出し、前回の推論結果に含まれる位置情報と比較することで、被写体の動き出しを検出する検出部として機能する。今回の位置情報と前回の位置情報とが一致する場合はステップS401へ戻り、一致しなくなるまでステップS401からステップS403の処理をフレームレートに合わせて繰り返す。つまり、ステップS401~403により、映像入力I/F208がカメラ100から周期的に撮像映像を受信し、受信した映像を元に推論部207が推論した結果を逐次更新しつつ保持し、推論部207の推論結果に基づいて被写体の動きを周期的に判定する。今回の位置情報と前回の位置情報とが一致せず、動きが検出されるとステップS404へ進むため、2回目以降のステップS403は、前回と前々回との位置情報が一致した場合に行われる。よって、ステップS403で被写体の動きが検出されることは、被写体の動き出しが検出されたことを意味する。
ステップS404では、CPU201は不図示のタイマーから時刻情報を読み出し、RAM202へ書き出すことで、動き出し検出からの経過時間の計測を開始する。
次に、被写体追尾処理にあたるステップS405へ遷移する。ステップS405で行う被写体追尾処理は、図3(a)のS101乃至S107に相当する処理であり、前回推論時に検出した被写体の位置と今回推論時に検出した被写体の位置との差分に基づいてカメラ100を制御するCPU201による処理である。この処理は所定時間が経過するまで繰り返し行うが、1回目の被写体追尾処理においては、ステップS103がステップS403と同じ処理の繰り返しになるため、1回目の被写体追尾処理におけるステップS103は省略することが好ましい。
ステップS101乃至107に相当する一連の処理がCPU201により成されると、ステップS406へ遷移し、再度タイマーから時刻情報を読み出し、ステップS406にてRAM202へ書き出した時刻情報との差分を計算することで経過時間を測定する。そして、この経過時間と所定時間との比較を行なうことで、被写体追尾処理開始から、所定時間経過したか否かを判定する。この所定時間とは、予め固定値としてROM203に記憶しておいてもよいし、ユーザ入力I/F206を介してユーザからの時間設定操作を受け付け、受け付けた時間に基づいて決定してもよい。このとき、ユーザ入力I/F206は時間設定受付部として機能する。時間設定の仕方は特に問わず、例えば、x秒等具体的な時間設定を受け付ける形態としてもよいし、「短」、「中」、「長」等、段階的に設けられている中からユーザが選択することができるような形態としてもよい。
ステップS406において判定に用いる所定時間を決定する別の例として、カメラ100とコントローラ300との間で通信を行うのに要する時間である通信時間(通信遅延時間)を所定時間とする形態について説明をする。カメラ100とコントローラ300との間の通信時間は、カメラ100とLAN400で接続され、カメラ100の近傍に配置されたワークステーション200とコントローラ300との間の通信時間とほぼ等しい。そのため、ここでは、カメラ100またはワークステーション200とコントローラ300との間で通信を行うのに要する時間である通信時間を測定することで取得し、測定した通信時間を所定時間として用いる方法を説明する。
ワークステーション200はコントローラ300に対し或るパケットをネットワークI/F204を介して送信し、応答を得るまでの時間を計測することで装置間の通信時間を測定することが可能である。
図7はワークステーション200とコントローラ300間の通信時間を測定する際のシーケンスを示す図である。
ワークステーション200のCPU201はネットワークI/F204を介してコントローラ300に対しPING(Packet Internet Groper)を送信(S501)すると共に内部のタイマーをスタート(S502)する。
コントローラ300のCPU301は、PINGを受信すると、ネットワークI/F304を介してPINGを受信したことを示すACK(ACKnowledgement)をワークステーション200に送信する。
ネットワークI/F204はコントローラから送信されるACKを受信(S503)すると、CPU201はタイマーをストップ(S504)する。このとき、タイマーの時刻に基づいて、通信の往復時間に相当するRTT(Round Trip Time)を算出(S505)し通信時間としてRAM202にて保持する。
この通信時間の測定は、ワークステーション200とコントローラ300とを接続したタイミングで行ってもよいし、定常的に測定して更新してもよい。このように測定した通信時間を予め保持しておき、ステップS406の判定処理における所定時間に用いてもよい。
なお、ワークステーション200とコントローラ300との間の通信時間は、この方法に限定されない。ワークステーション200は通信遅延時間を測定するにあたり、このようにコントローラ300に問い合わせる以外の方法を用いることもできる。
ワークステーション200のCPU201は通信時間を測定する以外の方法で通信時間を取得することもできる。
例えばカメラ100とコントローラ300のいずれかが、カメラ100とコントローラ300との通信に要する通信時間を保持している場合、カメラ100とコントローラ300のいずれかから当該通信時間を受信し、これを所定時間としてもよい。また、カメラ100とコントローラ300のいずれかに、カメラ100とコントローラ300との通信にかかる通信時間の測定を指示してもよい。例えば、コントローラ300へ或るパケットをネットワークI/F105を介して送信し、応答を得るまでの時間を計時するようカメラ100へ指示し、その結果を得ることでカメラ100とコントローラ300との通信にかかる通信時間を取得しても良い。
さらに、コントローラ300と別にカメラ100の映像を確認するモニタ(不図示)を用いている場合、ワークステーション200はそのモニタとの通信時間を測定することで、コントローラ300との通信時間を測定してもよい。すなわち、通信遅延を生じさせている主な原因であるインターネット600を共通に介していれば、コントローラ300の近傍に設置されている別の機材とカメラ100の近傍に設置されている別の機材との間の通信時間を測定する。この通信時間をカメラ100とコントローラ300との通信遅延時間として使用してもよい。
コントローラ300側の機材は、例えば、コントローラ300と同じLANや、同じ事業所内に配置されている機材であればよい。また、カメラ100側の機材も、例えばワークステーション200のように、カメラ100と同じLANや同じ事業所内に配置されている機材であればよい。このように、
上述のように求めたRTTは、インターネット600を介した通信における往復の通信遅延時間に対応する。
即ち、RTTは、カメラ100からコントローラ300に映像が届くための往路の通信遅延時間と、コントローラ300の操作に基づく制御情報がコントローラ300からカメラ100に届くための復路の通信遅延時間との合計に相当する。そのため、上述のように求めたRTTをステップS406の所定時間として用いると、カメラオペレータが被写体の動き出しを目視確認した後に操作を行い、その操作に基づく制御コマンドがカメラ100に到達するまでの時間に略合致する可能性が高い。そのため、アシストモードにおいて被写体の自動追尾動作を停止する所定時間として通信遅延時間を用いることは好適であると言える。
さらに、ユーザ(カメラオペレータ)が映像を確認し、操作を入力するまでの遅延時間(ユーザの反応に要する時間)を考慮し、RTTに所定値を加算した値を所定時間として用いてもよい。また、RTTに加算する所定値も、ユーザによる時間設定操作で変更する形態としてもよい。
また、測定又は通信により取得した通信遅延時間(RTT)に応じて段階的に所定時間を決定してもよい。例えば、通信遅延時間が第1の閾値以上であれば所定時間を第1の時間、第1の閾値未満第2の閾値以上であれば第1の時間よりも短い第2の時間、第2の閾値未満であれば第2の時間よりもさらに短い第3の時間としてもよい。
以上、本実施形態では、アシストモードにおいて、ステップS406にてCPU201は被写体の動き出しが検出されてから所定時間経過したか否かを判定し、所定時間経過するまで被写体追尾処理を続行し所定時間経過すると被写体追尾処理を停止する。言い換えると、被写体の動き出しが検出されると、検出された被写体位置に基づいて撮像範囲を所定時間制御する。
このように、ワークステーション200が撮像映像から被写体の動き出しを検出し、所定時間経過後に被写体追尾処理を停止することで、カメラオペレータによる手動操作を主体としつつ、自動追尾機能が適切なタイミングに補佐的動作を行うことが可能となる。
自動追尾機能により必要以上のフォロー動作がされると、例えばカメラオペレータが追う意思の無い被写体を追尾したとき、レイテンシーが発生する状況下では、その追尾に気付くタイミングが遅れ、意図に沿わない画角コントロールが成される事態が予想される。本実施形態では、このような事態の発生を低減することができる。
<第2の実施形態>
第1の実施形態では被写体の動き出しを検出して被写体追尾動作を開始した後、所定時間経過後に被写体追尾動作を停止する例を説明し、特に所定時間として、予め測定した通信遅延時間を用いる例について説明をした。
本実施形態では、測定した通信遅延時間に加えて、カメラ100内部における内部処理時間も考慮して所定時間を決定する例について説明する。
なお、第1の実施形態との差分は図6のステップS406で用いる所定時間であり、システムの構成、各装置の構成、及び、アシストモード時に行うフロー(ステップS401~S406)等は第1の実施形態と同様であるため、説明を省略する。
図8はカメラ100が被写体を撮像してから、カメラオペレータのパン・チルト等の指示(第2の制御コマンド)に基づき駆動部109を制御するまでのシーケンスを示す図である。
第1の実施形態で通信遅延時間(RTT)としたネットワーク通信によるレイテンシーは図8におけるステップS603及びステップS604の通信に要する時間であり、その他の処理がカメラ100における内部処理に相当する。具体的には、撮像処理S601、映像出力処理S602、駆動処理S605が挙げられ、ステップS601乃至S605は図8に示す動作フローに基づいて実行される。
カメラオペレータはカメラ100が撮像した映像をコントローラ300の表示部305で目視確認した後に、コントローラ300を操作する。これにより、第2の制御コマンドがネットワークを介してカメラ100に送信され、そこで初めてカメラ100は回動を始め、撮像範囲が変化する。
即ちここで示すステップS601が開始してからステップS605が終了するまでの時間が、カメラ内部の処理に要する時間(内部処理時間)も加味した遅延時間である。この総時間をステップS406で用いる所定時間に用いても、カメラオペレータが被写体の動き出しを目視確認した後に操作が入力され、操作に基づく第2の制御信号に基づいてカメラ100の撮像部の回動を行うまでの時間に略合致する可能性が高い。そのため、アシストモードにおいて被写体の自動追尾動作を停止する所定時間としてこの総時間を用いることは好適であると言える。
カメラ100におけるステップS601、S602、S605に要する処理時間はカメラ100の性能や構築されているロジック、撮像フレームレートや映像出力フレームレート等設定されている内部の動作状態等により略一意に決まる。従って、カメラ100はその情報を内部に予め保持しておき、ワークステーション200はカメラ100との接続時にその情報を予め取得しておくことで、ステップS406に用いる所定時間の決定に用いることが可能となる。
なお、ここではカメラ100におけるステップS601、S602、S605の処理時間をワークステーションが取得する方法を示したが、この方法に限らない。例えばカメラオペレータが任意の時間をワークステーション200、またはコントローラ300のユーザ入力I/Fを介して入力できるよう構成してもよい。ワークステーション200が動き出しを検出してから、ユーザのジョイスティック操作がカメラ100又はワークステーション200に到達するまでの時間を測定することで内部処理にかかる時間も考慮した時間としてもよい。また、内部処理に要する時間も考慮した総時間に対し、第1の実施形態のように、ユーザが操作を入力するまでの遅延時間を考慮して、所定値あるいは、ユーザが時間設定操作により設定した時間を加算した時間を所定時間としてもよい。或いは、コントローラ300におけるユーザ入力I/F306での操作検知から、ネットワークI/F304で送信するまでの内部の遅延時間を同様にワークステーションが取得してもよい。
本実施形態によれば、通信に起因する遅延時間だけでなく、構築したシステム固有の他の遅延要因となり得る時間にも、より柔軟に対応することが可能となる。
以上のように、カメラ100の撮像から回動を開始するまでの内部処理に要する時間を加味した時間の経過後に被写体追尾処理を停止することで、カメラオペレータによる手動操作を主体としつつ、自動追尾機能が補佐的動作を行うことを可能となる。
<第3の実施形態>
第1及び第2の実施形態では、被写体の動き出しを検出してから所定時間経過するまで被写体追尾処理(S405)を継続することにより自動追尾動作を行う形態について説明をした。
本実施形態では、被写体の動き出しを検出してから所定時間が経過するまでの間に、カメラオペレータによりカメラ操作が行われた場合、ワークステーション200が自動追尾動作を停止する形態について説明する。
なお、本実施形態において、ワークステーション200は、第1の実施形態における図6の動作フローの代わりに、図9(a)に示す動作フローを実行する。システムの構成、各装置の構成、及び、アシストモード以外の処理は第1の実施形態と同様であるため説明を省略する。
図9(a)におけるステップS701乃至S706は、図6におけるステップS401乃至S406と同様の処理であるため詳細な説明は省略する。本実施形態では、ワークステーション200のCPU201は、ステップS706にて被写体追尾処理開始から所定時間経過したか否かを判定し、所定時間経過していないと判定するとステップS707へ遷移して、カメラ操作が行われたか否かを判定する。
ジョイスティック等の操作部材を介してユーザによりカメラの撮影範囲を変更する操作がコントローラ300へ入力されると、コントローラ300は、第2の制御コマンドを生成し、カメラ100へ送信する。それとともに、その旨を示す情報をワークステーション200へ送信する。ワークステーション200のCPU201は、コントローラ300がカメラ操作を受けて第2の制御コマンドを送信したことを示す情報をネットワークI/F204が受信したか否かを判定することで、ユーザによるカメラ操作を検知する検知部として機能する。
なお、ここではコントローラ300から上述する情報を受信するケースを示したが、カメラ操作の有無を判定する方法はこの方法に限らない。コントローラ300は、第2の制御コマンドをカメラ100へ送信したことを示す情報をコントローラ300に送信する代わりに、ユーザによるカメラ操作を受け付けたことを示す情報をコントローラ300に送信してもよい。また、例えば、ワークステーション200がカメラ100に対しコントローラ300からの第2の制御コマンドの受信の有無を問い合わせる形態としても良い。
ステップS707にて、CPU201がカメラ操作が行われたと判定したときは、ステップS705乃至S706に示す、被写体追尾処理を所定時間継続するフローを抜け、以降はカメラオペレータに撮像範囲の制御を明け渡す形で動作フローを終了する。
なおこのとき、ワークステーション200は被写体の追尾動作フローを停止するが、カメラ100がパン・チルト等の動作を行っている状態を即座に停止する必要はない。停止直前に実行したステップS705による被写体追尾処理に基づいてカメラ100は動作を継続しながらカメラオペレータに制御を明け渡しても良い。
具体的には、ステップS707におけるカメラ100の制御方法として、カメラ100に対してパン・チルトする方向及び速度を指定することで回動指示を出す方法が挙げられる。この方法で回動指示を行うと、カメラ100は次の指示を受けるまで、直前に受け付けたパン・チルトする方向及び速度で回動を続ける動作となる場合がある。ワークステーション200は、この動作を敢えて停止するよう制御せず、継続させておきつつ、カメラオペレータにカメラ制御を明け渡すことで、回動動作は停止する動作を挟むことなく連続的な撮影動作が実現され、カメラワークとしても好適であると言える。このように、ユーザの操作に基づく第2の制御コマンドが到達するまで第1の制御コマンドに基づいて駆動を継続するような形態であっても、ステップS706で用いた所定時間からしばらく時間が経つと、第2の制御コマンドによる制御へ引き継ぐ。よって、このような形態であっても、ユーザの操作がないまま所定時間経過すると被写体位置に基づく(第1の制御コマンドに基づく)制御は停止しているといえる。
ステップS706に戻り、ここでCPU201が被写体追尾処理開始から所定時間経過したと判定した場合は、ステップS708へ進む。所定時間経過してもユーザによる操作が入力されなかった場合、カメラオペレータは、ワークステーション200が所定時間追尾した被写体を追尾する意思が無かったものと見做す。そして、ステップS708にて、該被写体が動き出す前の位置に撮影方向を戻すよう、動き出す前の撮影方向との差分が小さくなる方向にパン・チルト駆動するように指示する第1の制御コマンドを、ネットワークI/F204を介してカメラ100へ送信する。
撮影方向を戻す処理については、CPU201が、ステップS703における被写体の動きを検出する前に予めそのときのカメラ100の撮影方向をRAM202に書き出しておき、ステップS708ではその情報に基づいてカメラ100を制御すればよい。
なお、カメラ100の撮影方向を戻す際に指定する移動速度は、急激な撮影方向を変更する動きを緩和する目的で、被写体を追尾する際の速度、カメラオペレータが操作したときの速度等の通常の速度より低速に指定してもよい。
続いて、図9(b)を用いて、コントローラ300側の動作フローについて説明する。
図9(b)におけるステップS801乃至S804は、図4におけるステップS301乃至S304と同様の処理であるため詳細な説明は省略する。
ステップS804にてコントローラ300のCPU30ワークステーション200は、図9(a)のステップS705における処理をズームアウト処理を実施するようカメラ100を制御し、ステップS706における判定処理後の1がネットワークI/F304を介してカメラ100へ第2の制御コマンドを送信すると、ステップS805へ遷移する。
ステップS805では、CPU301はジョイスティックの操作が行われ、操作に基づく第2の制御コマンドをカメラへ送信したことを示す情報をワークステーション200へネットワークI/F304を介して送信する。
ここで送信する情報は、上述の図9(a)のステップS707の判断に用いられる情報であり、この情報を元にワークステーション200はカメラオペレータによる操作の有無を判断する。
以上のように、ワークステーション200が被写体の動き出しに追尾する処理を開始した後、所定時間内にカメラオペレータによるカメラ操作を検知した場合は自動で追尾する処理を停止する。これにより、カメラオペレータによる手動操作を主体としつつ、自動追尾機能が補佐的動作を行うことが可能となる。
さらに、所定時間内にカメラオペレータによる操作を検知しなかったときは、カメラ100の撮影方向を、動き出しを検出する前の位置に戻すことで、よりカメラオペレータの意思を汲んだ適切な映像を撮影させることが可能となる。尚、撮影方向を戻す場合、完全に元の位置に戻らなくてもよい。
また、本実施形態におけるアシストモードは、第1の実施形態のアシストモードと比較すると、自動追尾状態中に手動操作を検出すると手動操作状態へ遷移する点と、自動追尾状態中に手動操作を検出しなかった場合は撮像方向を戻す点の2点が異なる。しかしながら、この2点はついになるものではなく、自動追尾状態中に手動操作を検出すると手動操作状態へ遷移するが、手動操作を検出しなかった場合であっても撮像範囲を戻さない形態でもよい。
なお、本実施形態では、図9(a)のS703にて被写体のフレームアウトを防ぐカメラ動作として、パン・チルトによる追尾制御を説明したが、この方法に限らない。例えば、被写体の動き出しに応じて撮影画角を広角側に移動させてズームアウトすることでフレームアウトを生じにくくしてもよい。
ワークステーション200は、図9(a)のステップS705における処理をズームアウト処理を実施するようカメラ100を制御してもよい。また、ステップS706における判定処理後のステップS708にてズームアウト処理前のズーム率まで望遠側にズームインするようカメラ100を制御するよう置き換えてもよい。また、パン・チルトとズームアウトとを組み合わせることでフレームアウトを生じにくくしてもよい。
<表示デバイスに対する表示制御>
第1~第3の実施形態において、被写体の動き出しを検出してから所定時間経過するまで被写体追尾処理を継続することにより自動追尾動作を行う形態について説明をした。
ここで、上述した第1~第3の実施形態に適用可能な、カメラオペレータが上述した被写体追尾処理、即ちアシスト動作が行われていることを視認可能とする表示制御について説明する。具体的には、ワークステーション200及びコントローラ300における制御の形態について説明する。
なお、本実施形態において、ワークステーション200及びコントローラ300のハードウェア構成については第1の実施形態と同様であるため説明を省略する。
以下、コントローラ300の表示部305にて表示している撮像映像に対し被写体追尾処理が行われていることを示す情報を表示する制御について、図10(a)(b)に示す動作フロー図を基に説明する。
図10(a)はワークステーション200の動作フローであり、上述する被写体追尾処理が行われていることを示す情報をコントローラ300へ送信する際の動作を示している。
被写体追尾処理が行われていることを視認可能とする制御は、被写体追尾を併せて行われるものであるため、図10(a)に示す動作フローは第1~第3の実施形態で示した各自動追尾動作フローと並行して実行されるものである。
先ずステップS901及びステップS902にて、ワークステーション200はカメラ100が撮像した映像から被写体位置の判定を行う。
本処理は、図3(a)で示すステップS101及びステップS102と同様であるため詳細な説明は省略する。
次にステップS903にて、制御部201は推論部207が推論した被写体の位置を後述するコントローラ300へ送信するための情報としてRAM202へ書き出し、保持する。
具体的には、被写体の位置を示す情報として、被写体を囲う枠の位置を示す情報が実施例として挙げられ、座標情報や映像に対する相対的な位置関係を示す情報などで示される。ここで被写体の位置を示す(報知する)情報としてはこれに限らず、例えば被写体の存在する領域の色を識別可能に異ならせたり、被写体のエッジを強調する処理を行ったりしてもよい。さらに、音声にて被写体の位置を知らせたりしてもよく、被写体の位置を示しうる任意の方法を適用できるものとする。
次にステップS904にて制御部201は、被写体動き検知TR1か否かを判定する。本処理は図3(a)で示すステップS103と同様である。
ステップS904にて、制御部201は自動追尾状態ST2ではなく、被写体動き検知TR1と判定したときはステップS905へ遷移し、追尾状態を示す情報として追尾中である旨を示す情報をRAM202へ書き出す。
ステップS904にて、制御部201は自動追尾状態ST2、または、被写体位置の移動がなかったと判定したときはステップS906へ遷移する。
次にステップS906にて制御部201は自動追尾状態ST2であり、被写体追尾処理が開始された後に所定時間が経過したか否かを判断する。
ステップS906にて制御部201が自動追尾状態ST2であり、被写体の追尾処理開始後所定時間(TR2)経過したときは、ステップS907へ遷移する。このとき追尾状態を示す情報として手動操作待機状態ST3(さらにその先に自動追尾待機状態ST1)である旨を示す情報をRAM202へ書き出す。
ステップS906にて制御部201が自動追尾状態ST2ではない、または、被写体の追尾処理開始後所定時間経過していないと判定したときはステップS908へ遷移する。
次にステップS908にて制御部201がステップS905及びステップS907にてRAM202へ書き出した被写体の位置情報及び撮像システムの状態を示す情報を、ネットワークI/F204を介してコントローラ300に対して送信する。
以上の動作フローによりワークステーション200は被写体の位置情報及び撮像システムの状態を示す情報をコントローラ300へ送信することが可能となる。
続いて図10(b)を基にコントローラ300が上述するワークステーション200が送信する各種情報を元に被写体追尾処理が行われていることを視認可能とする表示制御について説明する。
コントローラ300はカメラ100、またはワークステーション200を介して撮像映像を受信し表示部305にて表示を行っている前提とし、該撮像映像に対し被写体追尾処理が行われていることを視認可能とする制御について以降説明する。
ステップS1001にて、制御部301(取得部)はネットワークI/F304を介してワークステーション200から送信される被写体の位置情報及び追尾状態を示す情報を受信(取得)する。
次にステップS1002にて制御部301はステップS1001にて受信した情報から追尾状態を示す情報が追尾中であるか否かを判定する。
ステップS1002にて、制御部301が撮像システムの状態を示す情報が追尾中である(自動追尾状態ST2)と判定したときは、ステップS1003へ遷移し、後述するステップS1005における被写体枠描画処理にて描画する枠色を示す情報として濃色に対応する情報をRAM302へ書き出す。
ステップS1002にて、制御部301が撮像システムを示す情報が追尾中でない(手動操作待機状態ST3(さらにその先に自動追尾待機状態ST1))と判定したときは、ステップS1004へ遷移する。ステップS1004では、後述するステップS1005における被写体枠描画処理にて描画する枠色を示す情報として淡色に対応する情報をRAM302へ書き出す。
図11は上述する追尾中であること(自動追尾状態ST2)と追尾中でないことを示す表示の例を示している。
401は追尾状態を示す情報(自動追尾状態ST2)が被写体を追尾していない状態を示す場合に表示される枠であり、枠色は淡色で示されている。402は追尾状態を示す情報が被写体を追尾している状態を示す場合に表示される枠であり、枠色は濃色で示されている。
次にステップS1005にて、制御部301はカメラ100から受信している撮像映像に対し枠を表示する。具体的には、被写体の位置情報とRAM302へ書き出した枠色を示す情報を基に所定の色の被写体枠を描画し、表示部305にて表示するよう制御し処理を先頭(ステップS1001)に戻す。
なお、本実施形態においては、枠色を変更することにより区別がつくよう制御する例を示しているが、この形態に限ることなく、枠の形状の変更、追尾状態を示す文字情報を付記する等、各追尾状態を区別可能な表示であれば何れの方法でもよい。
さらに、本実施形態ではワークステーション200は被写体の位置情報と追尾状態を示す情報を送信し、コントローラ300が該情報を元に描画する例を説明した。しかしこの方法に限ることなく、例えばワークステーション200が予め、追尾状態に応じた色の被写体枠を描画した画像を生成し、該画像をコントローラ300へ送信する形態であってもよい。
さらに、ワークステーション200で実施している被写体を検出しその位置情報と追尾状態情報を送信する処理を、カメラ100内部で実施する形態としてもよい。
さらに、本実施形態においては被写体の動き出しを判定し被写体枠の色を変更する例を示した。しかし、被写体が所定の動作や行動、アクションを行ったことを判定し被写体枠の色を変更するなどにも応用することも可能である。
さらに、本実施形態においてコントローラ300の表示部305を用いて撮像映像と被写体枠を表示した。しかし、この他、PC(Personal Computer)やスマートフォンなどのアプリケーションプログラムとして上述したコントローラ300の動作を実現してもよい。
以上、説明したように、アシスト状態を視覚化するなどしてユーザに報知することで、ユーザは、自身の操作以外にパンチルト等のアシスト制御が成されていることを把握できるようになる。このことにより、アシスト状態が把握できないことから起こり得る不要な操作を引き起こす可能性を低減でき、困難な状況下でも高品位なカメラワークを安心して行うことができるようになることは本表示制御を行うことによる特有の効果である。
[変形例]
第1から第4の実施形態では、カメラ100の操作が遠隔操作用のコントローラ300にて手動操作される例を示した。しかし、コントローラ300は一般的なPC(Personal Computer)と、PC上で動作する制御アプリケーションソフト、PCに接続されたジョイスティック搭載コントローラ等で構成されても良い。
また、第1から第3の実施形態では、カメラ100の自動追尾制御をワークステーション200が実施する例を示したがこの構成に限ることなく、例えばワークステーション200が有する機能の一部又は全部をカメラ100に内蔵するよう構成しても良い。
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
101 CPU
102 RAM
103 ROM
104 映像入力I/F
105 ネットワークI/F
106 画像処理部
107 画像センサ
108 駆動I/F
109 駆動部
110 バス
201 CPU
202 RAM
203 ROM
204 ネットワークI/F
205 映像出力I/F
206 ユーザ入力I/F
207 推論部
208 映像入力I/F
209 バス
301 CPU
302 ROM
303 RAM
304 ネットワークI/F
305 表示部
306 ユーザ入力I/F
307 バス

Claims (19)

  1. 画像が入力される入力部と、
    前記入力部から入力された画像から被写体を検出する第1の検出部と、
    前記第1の検出部により検出された前記被写体の動き出しを検出する第2の検出部と、
    前記第2の検出部により動き出しが検出された場合、前記第1の検出部により検出された当該被写体の位置に基づいて、撮像装置の撮影範囲を制御する制御部と、
    を有し、
    前記第2の検出部により前記被写体の動き出しが検出された場合、前記制御部は、
    前記第1の検出部により検出された当該被写体の位置に基づいて、前記撮影範囲を所定時間制御し、前記所定時間経過後は前記第1の検出部により検出された当該被写体の位置に基づく前記撮影範囲の制御を停止することを特徴とする制御装置。
  2. 前記撮像装置と外部装置との通信時間を取得し、前記通信時間に基づいて前記所定時間を決定することを特徴とする請求項1に記載の制御装置。
  3. 時間設定を受け付ける設定受付部を有し、
    前記通信時間と、前記設定受付部において受け付けた時間とに基づいて前記所定時間を決定することを特徴とする請求項2に記載の制御装置。
  4. 前記撮像装置の撮像範囲を制御可能な外部装置と接続されている場合に前記外部装置との通信時間を取得し、前記通信時間に基づいて前記所定時間を決定することを特徴とする請求項1に記載の制御装置。
  5. 時間設定を受け付ける設定受付部を有し、
    前記通信時間と、前記設定受付部において受け付けた時間とに基づいて前記所定時間を決定することを特徴とする請求項3に記載の制御装置。
  6. 前記撮像装置の撮影範囲を制御可能な外部装置と接続されている場合、当該外部装置から前記撮像装置へ制御指示が出力されたことを検知する検知部を有し、
    前記所定時間が経過する前に、前記検知部により前記外部装置から前記制御指示が出力されたことが検知された場合、前記第1の検出部により検出された当該被写体の位置に基づく前記撮影範囲の制御を停止することを特徴とする請求項1に記載の制御装置。
  7. 前記外部装置と通信するための通信部を有し、
    前記検知部は、前記通信部を介して、前記外部装置から前記撮像装置へ制御指示が出力されたか否かを示す情報を問い合わせ、受信した前記情報に基づいて検知を行うことを特徴とする請求項6の記載の制御装置。
  8. ユーザからの操作に基づいて前記撮影範囲を制御可能な外部装置と接続されている場合、前記外部装置に対して前記ユーザからの操作が入力されたことを検知する検知部を有し、
    前記検知部により、
    前記所定時間が経過する前に、前記検知部により前記ユーザからの操作の入力が検知された場合、前記第1の検出部により検出された当該被写体の位置に基づく前記撮影範囲の制御を停止することを特徴とする請求項1に記載の制御装置。
  9. 前記外部装置と通信するための通信部を有し、
    前記検知部は、前記通信部を介して、前記外部装置に対してユーザによる撮像範囲を変更するための操作が入力されたか否か示す情報を受信し、前記情報に基づいて検知を行うことを特徴とする請求項8に記載の制御装置。
  10. 外部装置と通信するための通信部を有し、
    前記検知部は、前記通信部を介して、外部装置にてカメラ操作が成されたか否か示す情報の送信を前記外部装置に対して要求することを特徴とする請求項9に記載のカメラ制御装置。
  11. 前記入力部から入力された画像が第1の範囲に対応する画像であるタイミングで前記第2の検出部により前記被写体の動き出しが検出され、
    前記制御部が、前記第1の検出部により検出された当該被写体の位置に基づいて前記所定時間が経過するまで前記撮影範囲の制御を行った場合、前記制御部は、前記所定時間経過後、前記第1の検出部により検出された当該被写体の位置に基づく前記撮影範囲の制御を停止し、前記撮影範囲が前記第1の範囲に近づくように前記撮影範囲を制御することを特徴とする請求項1に記載の制御装置。
  12. 前記制御部は、
    前記撮像装置の撮影方向をパン方向またはチルト方向に制御する撮影方向の制御、または撮影画角を広角側又は望遠側に制御する画角の制御の少なくともいずれか1つ以上を行うことで前記撮影範囲の制御を行うことを特徴とする請求項1に記載の制御装置。
  13. 被写体を撮影する撮像部と、
    前記撮像部が撮影する方向を変更する駆動部と、
    前記請求項1に記載の制御装置と、を備えることを特徴とする撮像装置。
  14. 撮像装置と、第1の制御装置と第2の制御装置とを有する撮像システムであって、
    前記第1の制御装置は、
    撮像装置で撮影された画像が入力される入力部と、
    前記入力部から入力された前記画像から被写体を検出する第1の検出部と、
    前記第1の検出部により検出された前記被写体の動き出しを検出する第2の検出部と、
    前記第2の検出部により動き出しが検出された場合、前記第1の検出部により検出された当該被写体の位置に基づいて、撮像装置の撮影範囲を制御する制御部と、
    を有し、
    前記第2の制御装置は、
    前記撮像装置に対するユーザの操作を受け付ける操作受付部と、を有し、
    前記第2の検出部により前記被写体の動き出しが検出された場合、前記制御部は、所定時間が経過したタイミングと前記操作受付部によりユーザの操作を受け付けたタイミングとのうちの早い方のタイミングである第1のタイミングまで、前記第1の検出部により検出された当該被写体の位置に基づいて前記撮影範囲を所定時間制御し、前記第1のタイミングの後、前記第1の検出部により検出された当該被写体の位置に基づく前記撮影範囲の制御を停止することを特徴とする撮像システム。
  15. 前記第1の制御装置は、ユーザの操作を検知する検知部を有し、
    前記第1の制御装置と前記第2の制御装置とは互いに通信が可能であり、
    前記操作受付部にてユーザの操作を受け付けると、前記検知部に前記ユーザの操作を受け付けたことを示す情報が送信されることを特徴とする請求項14に記載の撮像システム。
  16. 前記撮像装置と前記第1の制御装置が一体的に構成されていることを特徴とする請求項14に記載の撮像システム。
  17. 画像が入力される入力工程と、
    前記入力工程で入力された画像から被写体を検出する第1の検出工程と、
    前記第1の検出工程により検出された前記被写体の動き出しを検出する第2の検出工程と、
    前記第2の検出工程により動き出しが検出された場合、前記第1の検出工程により検出された当該被写体の位置に基づいて、撮像装置の撮影範囲を制御する制御工程と、を有し、
    前記被写体の動き出しが検出された場合、前記制御工程において、
    前記第1の検出工程により検出された当該被写体の位置に基づいて前記撮影範囲を所定時間制御し、前記所定時間経過後は前記第1の検出工程により検出された当該被写体の位置に基づく前記撮影範囲の制御を停止することを特徴とする制御装置の制御方法。
  18. 撮像装置と、第1の制御装置と第2の制御装置とを有する撮像システムの制御方法であって、
    第1の制御装置は、
    撮像装置で撮影された画像が入力される入力工程と、
    前記入力工程で入力された前記画像から被写体を検出する第1の検出工程と、
    前記第1の検出工程により検出された前記被写体の動き出しを検出する第2の検出工程と、
    前記第2の検出工程により動き出しが検出された場合、前記第1の検出工程により検出された当該被写体の位置に基づいて、撮像装置の撮影範囲を制御する制御工程と、
    を行い、
    前記第2の制御装置は、
    前記撮像装置に対するユーザの操作を受け付ける操作受付工程を行い、
    前記第2の検出工程により前記被写体の動き出しが検出された場合、前記制御工程において、所定時間が経過したタイミングと前記操作受付工程によりユーザの操作を受け付けたタイミングとのうちの早い方のタイミングである第1のタイミングまで、前記第1の検出工程により検出された当該被写体の位置に基づいて前記撮影範囲を所定時間制御し、前記第1のタイミングの後、前記第1の検出工程により検出された当該被写体の位置に基づく前記撮影範囲の制御を停止することを特徴とする制御方法。
  19. 外部装置と通信するための通信部と、
    前記第1の検出部が検出した前記被写体の位置情報を取得する第1の取得部と、
    前記第2の検出部が検出した前記被写体の動き出し検出結果を取得する第2の取得部と、
    を有し、
    前記通信部を介して、前記第1及び第2の取得部が取得した情報を外部装置へ送信することを特徴とする請求項1に記載の制御装置。
JP2022148289A 2022-07-12 2022-09-16 撮像システム及びそれを構成する制御装置、撮像装置、制御方法 Pending JP2024010640A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/350,476 US20240022821A1 (en) 2022-07-12 2023-07-11 Imaging system, and control apparatus and imaging apparatus constituting same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022111883 2022-07-12
JP2022111883 2022-07-12

Publications (1)

Publication Number Publication Date
JP2024010640A true JP2024010640A (ja) 2024-01-24

Family

ID=89620936

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022148289A Pending JP2024010640A (ja) 2022-07-12 2022-09-16 撮像システム及びそれを構成する制御装置、撮像装置、制御方法

Country Status (1)

Country Link
JP (1) JP2024010640A (ja)

Similar Documents

Publication Publication Date Title
US8085300B2 (en) Surveillance camera system, remote-controlled monitoring device, control method, and their control program
JP5809538B2 (ja) 自動追尾カメラシステム
JP2012227737A (ja) カメラ装置の自動追尾制御装置及びそれを有する自動追尾カメラシステム
WO2018191969A1 (zh) 云台的控制方法及装置
JP5554438B2 (ja) 画像取込装置の改良された制御
JP2008301191A (ja) 映像監視システム、映像監視制御装置、映像監視制御方法、及び映像監視制御用プログラム
JP2024010640A (ja) 撮像システム及びそれを構成する制御装置、撮像装置、制御方法
EP0989747A2 (en) Television lens apparatus adapted for a virtual studio
JP6702737B2 (ja) 像ブレ補正装置、および、像ブレ補正装置の制御方法
US20240022821A1 (en) Imaging system, and control apparatus and imaging apparatus constituting same
US20240022812A1 (en) Image capturing system, control apparatus, image capturing apparatus, and display apparatus constituting the system, control method, and display method
JP6001140B2 (ja) 情報処理装置、情報処理方法
JP2024033741A (ja) 制御装置、撮像装置、制御方法、及びプログラム
EP4333447A1 (en) Imaging control apparatus, image pickup apparatus, imaging control method, and program
JP2024010639A (ja) 撮像システム及びそれを構成する制御装置、撮像装置、表示装置、制御方法、表示方法
JP5769527B2 (ja) 情報処理装置、情報処理方法
JP2023170173A (ja) 情報処理装置、制御方法ならびにプログラム
JP2008228039A (ja) ネットワークカメラ装置及びその制御方法
JP4384522B2 (ja) 監視カメラの遠隔制御システム
JP2012257124A (ja) 制御装置、制御装置の制御方法
JP2022097165A (ja) 情報処理装置、情報処理方法、及びプログラム
JP2023176536A (ja) 情報処理装置、その制御方法ならびにプログラム
JP2022175854A (ja) 情報処理装置およびその制御方法ならびにプログラム
JP2023064275A (ja) 情報処理装置、情報処理方法、及びプログラム
JP2011040984A (ja) 撮影システム

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20231213