(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025038772
(43)【公開日】2025-03-19
(54)【発明の名称】撮影制御装置および撮影制御方法、ならびに撮像システム
(51)【国際特許分類】
H04N 23/60 20230101AFI20250312BHJP
H04N 23/63 20230101ALI20250312BHJP
H04N 23/69 20230101ALI20250312BHJP
H04N 23/695 20230101ALI20250312BHJP
H04N 23/661 20230101ALI20250312BHJP
H04N 7/18 20060101ALI20250312BHJP
G03B 15/00 20210101ALI20250312BHJP
G03B 17/00 20210101ALI20250312BHJP
G03B 17/18 20210101ALI20250312BHJP
【FI】
H04N23/60 100
H04N23/63 300
H04N23/69
H04N23/695
H04N23/60 300
H04N23/661
H04N7/18 F
G03B15/00 F
G03B15/00 P
G03B15/00 Q
G03B15/00 H
G03B17/00 B
G03B17/18
【審査請求】未請求
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2023145576
(22)【出願日】2023-09-07
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】堀 卓也
【テーマコード(参考)】
2H102
5C054
5C122
【Fターム(参考)】
2H102AA41
2H102BB08
2H102CA06
5C054CA04
5C054CC02
5C054CF06
5C054CF07
5C054CH08
5C054EA01
5C054EA05
5C054EA07
5C054FC12
5C054FC15
5C054FD03
5C054FD07
5C054FE05
5C054FE12
5C054FF02
5C054GB01
5C054HA31
5C122DA02
5C122EA42
5C122EA65
5C122EA66
5C122FA18
5C122FD00
5C122FF00
5C122FH04
5C122FH10
5C122FH11
5C122FH14
5C122FK37
5C122FK41
5C122GC07
5C122GC52
5C122GD06
5C122HA13
5C122HA35
5C122HA88
5C122HB01
5C122HB05
5C122HB09
5C122HB10
(57)【要約】
【課題】複数のカメラの動作を自動制御する撮影制御装置において、ユーザの意図しないカメラ動作を抑制することが可能な撮影制御装置を提供すること。
【解決手段】撮影制御装置は、撮影範囲内の特定の被写体を追尾被写体として決定する。また、撮影制御装置は、追尾被写体を追尾して撮影するようにカメラの撮影方向を制御する。撮影制御装置は、カメラの撮影した映像が外部の選択装置によって特定の映像として選択されている場合、カメラが追尾すべき追尾被写体を変更しない。
【選択図】
図1
【特許請求の範囲】
【請求項1】
撮影範囲内の特定の被写体を追尾被写体として決定する決定手段と、
前記追尾被写体を追尾して撮影するようにカメラの撮影方向を制御する制御手段と、を有する撮影制御装置であって、
前記決定手段は、前記カメラの撮影した映像が外部の選択装置によって特定の映像として選択されている場合、前記カメラが追尾すべき前記追尾被写体を変更しない、
ことを特徴とする撮影制御装置。
【請求項2】
前記特定の映像が、前記選択装置が出力する映像であることを特徴とする請求項1に記載の撮影制御装置。
【請求項3】
前記特定の映像が、前記選択装置が出力する映像または前記選択装置が次に出力する予定の映像であることを特徴とする請求項1に記載の撮影制御装置。
【請求項4】
前記決定手段は、前記カメラの撮影した映像が前記選択装置によって前記特定の映像として選択されていない場合、前記カメラが追尾すべき前記追尾被写体の変更を可能とする、ことを特徴とする請求項1に記載の撮影制御装置。
【請求項5】
前記決定手段は、前記撮影範囲を撮影する、前記カメラとは別のカメラの追尾被写体に応じて前記カメラの前記追尾被写体を決定することを特徴とする請求項1に記載の撮影制御装置。
【請求項6】
前記制御手段は、前記撮影範囲を撮影する、前記カメラとは別のカメラの画角に応じて前記カメラの画角を制御することを特徴とする請求項5に記載の撮影制御装置。
【請求項7】
前記カメラに設定されている役割の種類に応じて、前記別のカメラの追尾被写体および画角を前記カメラの制御にどのように利用するかが異なることを特徴とする請求項6に記載の撮影制御装置。
【請求項8】
前記撮影範囲を撮影した映像から、前記撮影範囲内の被写体を識別する識別手段をさらに有し、
前記決定手段は、前記識別された被写体のうち、注目被写体として決定された被写体を前記追尾被写体として決定する、
ことを特徴とする請求項1に記載の撮影制御装置。
【請求項9】
前記注目被写体が、前記撮影制御装置のユーザによって決定されることを特徴とする請求項8に記載の撮影制御装置。
【請求項10】
前記注目被写体が、前記撮影制御装置によって決定されることを特徴とする請求項8に記載の撮影制御装置。
【請求項11】
前記撮影範囲を撮影した映像が、前記撮影範囲の全体を固定の方向および画角で撮影した映像であることを特徴とする請求項8に記載の撮影制御装置。
【請求項12】
前記撮影範囲を撮影した映像が、前記カメラとは別の、前記撮影制御装置が撮影を制御しないカメラで撮影した映像であることを特徴とする請求項8に記載の撮影制御装置。
【請求項13】
前記撮影範囲を撮影した画像に前記注目被写体と前記追尾被写体とを示す指標を重畳した画像を表示装置に表示させることを特徴とする請求項8に記載の撮影制御装置。
【請求項14】
前記注目被写体と前記追尾被写体が同一の場合と異なる場合とで、前記指標を視覚的に異ならせることを特徴とする請求項13に記載の撮影制御装置。
【請求項15】
前記決定手段は、前記注目被写体が変化した際、前記カメラの撮影した映像が前記選択装置によって前記特定の映像として選択されていたことによって前記追尾被写体を変更しなかった場合、前記カメラの撮影した映像が前記選択装置によって前記特定の映像として選択されなくなった後、最新の前記注目被写体を前記追尾被写体として決定する、ことを特徴とする請求項8に記載の撮影制御装置。
【請求項16】
外部から、前記カメラの映像に影響を与える変更の指示を受信した場合、前記制御手段は、前記カメラの撮影した映像が前記選択装置によって前記特定の映像として選択されている場合、前記変更が許可されていなければ前記指示を実行しない、ことを特徴とする請求項1に記載の撮影制御装置。
【請求項17】
前記カメラの映像に影響を与える変更が、前記カメラの画角、合焦距離、および露出条件のいずれかの変更であることを特徴とする請求項16に記載の撮影制御装置。
【請求項18】
撮影制御装置が実行する撮影制御方法であって、
撮影範囲内の特定の被写体を追尾被写体として決定することと、
前記追尾被写体を追尾して撮影するようにカメラの撮影方向を制御することと、を有し、
前記決定することは、前記カメラの撮影した映像が外部の選択装置によって特定の映像として選択されている場合、前記カメラが追尾すべき前記追尾被写体を変更しないことを含む、
ことを特徴とする撮影制御方法。
【請求項19】
請求項1から17のいずれか1項に記載の撮影制御装置と、
前記撮影制御装置が撮影を制御する1つ以上のカメラと、
前記選択装置と、
前記撮影制御装置と、前記カメラと、前記選択装置とを通信可能に接続する通信ネットワークと、を有することを特徴とする撮像システム。
【請求項20】
コンピュータを、請求項1から17のいずれか1項に記載の撮影制御装置が有する各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は撮影制御装置および撮影制御方法、ならびに撮像システムに関し、特には複数の撮像装置を制御する技術に関する。
【背景技術】
【0002】
ライブ配信や収録では、複数のカメラで並行して撮像された映像から、放送や収録に用いる映像(本線映像)を、ビデオスイッチャを用いて動的に選択または切り替えて出力するマルチカメラ撮像システムが用いられる(特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
このような撮像システムにおいて、カメラの動作を集中制御する撮影制御装置を導入することにより、省力化が実現できる。例えば、撮影制御装置が、特定の1台のカメラから得られる情報に基づいて他のカメラの動作を自動制御すれば、少人数でも多彩な撮影が可能になる。
【0005】
一方で、本線映像を動的に選択するユーザ(ビデオスイッチャの操作者)の意図に沿わない自動制御が実行されないような工夫が必要となる。したがって本発明はその一態様において、複数のカメラの動作を自動制御する撮影制御装置において、ユーザの意図しないカメラ動作を抑制することが可能な撮影制御装置および撮影制御方法を提供する。
【課題を解決するための手段】
【0006】
本発明はその一態様において、撮影範囲内の特定の被写体を追尾被写体として決定する決定手段と、追尾被写体を追尾して撮影するようにカメラの撮影方向を制御する制御手段と、を有する撮影制御装置であって、決定手段は、カメラの撮影した映像が外部の選択装置によって特定の映像として選択されている場合、カメラが追尾すべき追尾被写体を変更しない、ことを特徴とする撮影制御装置を提供する。
【発明の効果】
【0007】
本発明によれば、複数のカメラの動作を自動制御する撮影制御装置において、ユーザの意図しないカメラ動作を抑制することが可能な撮影制御装置および撮影制御方法を提供することができる。
【図面の簡単な説明】
【0008】
【
図2】実施形態に係る撮像システムの各装置の機能構成例を示すブロック図
【
図3】実施形態に係る撮影制御装置を主要な動作と信号の流れに着目して表した図
【
図4】実施形態に係る撮像システムの各装置の動作に関するフローチャート
【
図5】実施形態における座標変換を説明するための図
【
図6】実施形態における被写体検出と座標変換に関する図
【
図7】実施形態におけるパン値算出を説明するための図
【
図8】実施形態におけるチルト値算出を説明するための図
【
図9】第1実施形態における撮影制御装置の動作に関するフローチャート
【
図10】第1実施形態の外接矩形枠の表示例を示す図である。
【
図11】第2実施形態における撮影制御装置の動作に関するフローチャート
【
図12】第2実施形態における撮影制御装置の動作に関するフローチャート
【
図13】第3実施形態における撮影制御装置の動作に関するフローチャート
【
図14】実施形態においてサブカメラに設定可能な役割の例を示す図
【発明を実施するための形態】
【0009】
以下、添付図面を参照して本発明をその例示的な実施形態に基づいて詳細に説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定しない。また、実施形態には複数の特徴が記載されているが、その全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0010】
<第1実施形態>
(マルチカメラ撮像システムの概要)
図1は、本実施形態に係るマルチカメラ撮像システム10(以下、単に撮像システムという)の構成例を示す模式図である。撮像システム10は、複数のカメラ300、400a~400cと、撮影制御装置100と、ビデオスイッチャ(以下、単にスイッチャという)1000とを有する。複数のカメラ300、400a~400c、撮影制御装置100、およびスイッチャ1000は、通信ネットワーク600を通じて通信可能に接続されている。
【0011】
ここで、スイッチャ1000には操作者が存在する。また、撮影制御装置100にも操作者(ユーザ)が存在してもよいが、必須ではない。スイッチャ1000の操作者が撮影制御装置100のユーザであってもよい。サブカメラ400a~400cの撮影は撮影制御装置100が制御するため、撮影者は不要である。俯瞰カメラ300についても撮影者は不要である。
【0012】
通信ネットワーク600は、IEEE802.3シリーズ、1EEE802.11シリーズなど公知の有線または無線通信規格に準拠している。また、複数のカメラ300、400a~400cのそれぞれと、撮影制御装置100と、スイッチャ1000とは、通信ネットワーク600の規格に準拠した通信インタフェースを有する。
【0013】
なお、
図1では通信ネットワーク600ですべての信号が通信されるように記載しているが、例えば映像信号と制御信号とは別の方法で通信されてもよい。例えば、複数のカメラ300、400a~400cのそれぞれは、映像信号をケーブルで撮影制御装置100またはスイッチャ1000に直接供給してもよい。
【0014】
複数のカメラ300、400a~400cのうち、カメラ300は予め定められた撮影範囲20の全体を撮影する。撮影範囲20は例えばスタジオにおいて撮影対象の被写体が存在しうる範囲として設定されている。したがって、カメラ300の映像には、撮影範囲内の被写体がすべて撮影されている。
【0015】
カメラ300の目的は、撮影範囲内に存在する撮影対象の被写体を検出するための画像を撮影することである。したがって、カメラ300の撮影方向および画角はカメラ300の位置と撮影範囲20とに応じて定まり、撮影中は基本的に固定である。また、カメラ300は、撮影範囲20の全体を、撮影範囲20外の物体で隠されないように撮影することが好ましい。そのため、ここではカメラ300を撮影範囲20の全体を俯瞰する位置に設けている。撮影中の撮影方向や画角が基本的に固定でない他のカメラ400a~400cと区別するため、以下ではカメラ300を俯瞰カメラと呼ぶ。ただし、カメラ300の設置位置は、撮影範囲を俯瞰する位置に限定されない。俯瞰カメラ300の動作は撮影制御装置100から制御可能である。
【0016】
カメラ400a~400cは、例えばPTZカメラであり、撮影方向(パンおよびチルト角度)、画角(ズーム)を含む動作を撮影制御装置100によって制御可能である。また、カメラ400a~400cは、カメラ本体を雲台に取り付けることで撮影方向(パンおよびチルト角度)を制御可能にした構成であってもよい。また、カメラ400a~400cは、カメラ本体にズーム可能な交換レンズを装着した構成であってもよい。以下では、カメラ400a~400cをサブカメラと呼ぶ。また、以下ではサブカメラ400a~400cをまとめてサブカメラ400と呼ぶ。サブカメラ400の台数は3台に限定されず、2台以下であっても4台以上であってもよい。
【0017】
スイッチャ1000は、サブカメラ400a~400cのそれぞれから映像信号を受信し、ユーザが指定した1台のサブカメラからの映像を選択して本線映像として出力する選択装置である。
【0018】
撮影制御装置100は、俯瞰カメラ300から受信した映像信号から被写体を検出する。撮影制御装置100は、検出結果に基づいて、サブカメラ400a~400cのそれぞれが追尾すべき被写体を決定する。そして、撮影制御装置100は、サブカメラ400a~400cのそれぞれが決定した被写体を撮影するよう、サブカメラ400a~400cのそれぞれの目標撮影方向(必要に応じてさらに目標画角)を決定する。撮影制御装置100は、決定した目標撮影方向を含んだ制御コマンドをサブカメラ400a~400cに送信する。撮影制御装置100が被写体検出、目標撮影方向の決定、および制御コマンドの送信を継続して実行することにより、特定の被写体を追尾して撮影するようにサブカメラ400a~400cのそれぞれを制御することができる。
【0019】
(各装置の機能構成例)
図2は、
図1に示したマルチカメラ撮像システムを構成する各機器の機能構成例を示すブロック図である。なお、図面において機能ブロックとして表現されている構成は、ASICやFPGAのような集積回路によって、ディスクリート回路によって、あるいはメモリと、メモリに格納されたプログラムを実行するプロセッサとの組み合わせによって実現されうる。また、1つの機能ブロックが複数の集積回路パッケージによって実現されてもよいし、複数の機能ブロックが1つの集積回路パッケージによって実現されてもよい。また、同一の機能ブロックが、動作環境や要求される能力などに応じて異なる構成で実施されてもよい。
【0020】
(撮影制御装置100)
まず、撮影制御装置100の機能構成例について説明する。撮影制御装置100は、例えばパーソナルコンピュータやワークステーションといった汎用コンピュータ機器であってよい。撮影制御装置100は、CPU101、RAM102、ROM103、推論部104、ネットワークインタフェース(I/F)105、ユーザ入力I/F106、映像入力部107、表示部108が内部バス110を介して相互に接続された構成を有する。
【0021】
CPU101は、プログラムされた命令を実行可能なマイクロプロセッサである。CPU101は、例えば、ROM103に記憶されたプログラムをRAM102に読み込んで実行することにより、後述する撮影制御装置100の機能を実現する。CPU101は、例えば、基本ソフト(OS)上で稼働する撮影制御アプリケーションを実行することにより、撮影制御装置100の機能を実現することができる。
【0022】
RAM102は、CPU101が実行するプログラムをロードしたり、CPU101が処理するデータ、処理中のデータなどを一時的に格納したりするために用いられる。また、RAM102の一部は表示部108のビデオメモリとして用いられてもよい。
【0023】
ROM103は書き換え可能な不揮発性メモリであり、CPU101が実行するプログラム(OSおよびアプリケーション)、ユーザデータなどを記憶する。
【0024】
推論部104は、俯瞰カメラ300の映像に対して、機械学習モデルを用いた被写体領域の検出処理を実行する。推論部104は例えばGPU(Graphics Processing Unit)、NPU(Neural network Processing Unit)など、機械学習モデルの演算を高速に実行可能なハードウェア回路を用いて実施することができる。あるいは推論部104はFPGA(Field-Programmable Gate Array)といった再構成可能な論理回路を用いて実施してもよい。CPU101がプログラムを実行して推論部104の機能を実現してもよい。
【0025】
機械学習モデルは、検出する被写体の種類に応じて学習した畳み込みニューラルネットワーク(CNN)であってよい。ここでは推論部104が、入力画像から人体領域または人間の顔領域を被写体領域として検出するものとする。また、推論部104は、検出した被写体領域ごとに、被写体領域が内接する矩形領域の位置および大きさ、検出信頼度を出力するものとする。なお、複数種の機械学習モデルを用い、同一の入力画像に対して種類の異なる被写体領域の検出処理を実行してもよい。なお、推論部104は、機械学習モデルを使用しない公知の方法で被写体領域の検出処理を実施してもよい。推論部104は、例えば、SIFTやSURFといった局所特徴量を用いる方法や、パターンマッチングを用いる方法などを用いて被写体領域を検出することができる。
【0026】
ネットワークI/F105は撮影制御装置100を通信ネットワーク600に接続するためのインタフェースである。撮影制御装置100(CPU101)は、ネットワークI/F105を通じて、俯瞰カメラ300、サブカメラ400a~400c、スイッチャ1000など、通信ネットワーク600上の外部装置と通信することができる。なお、撮影制御装置100は、不図示の他の通信インタフェース(USB、Bluetooth(登録商標)など)を通じて外部装置と通信してもよい。
【0027】
CPU101は、通信ネットワーク600上の各装置(俯瞰カメラ300、サブカメラ400a~400c、スイッチャ1000)と通信するため、各装置のネットワークアドレスを任意のタイミングで取得し、RAM102に記憶する。また、CPU101は、各装置の情報(装置の種類、機種名など)も、任意のタイミング(例えば最初の通信時)に取得し、RAM102に記憶する。このように、CPU101は、俯瞰カメラ300、サブカメラ400a~400c、スイッチャ1000について、少なくとも識別情報と装置の種類について既知であるものとする。なお、ユーザが個々の装置に任意の名称を付与できるようにしてもよい。
【0028】
ユーザ入力I/F106は、マウス、キーボード、タッチパネルなどの入力デバイス(不図示)を接続するインタフェースである。撮影制御装置100は、ユーザ入力I/F106を通じてユーザの指示を受け付ける。
【0029】
映像入力部107は、映像信号の入力インタフェースである。映像入力部107は例えばSDI(Serial Digital Interface)規格やHDMI(High-Definition Multimedia Interface)(登録商標)規格に準拠したレシーバであってよい。映像入力部107は俯瞰カメラ300からの映像信号を受信する。
【0030】
表示部108は、液晶ディスプレイ(LCD)などの表示装置である。表示部108は、OSや撮影制御アプリケーションなどが提供するGUI画面を表示する。
【0031】
(スイッチャ1000)
次に、スイッチャ1000の機能構成例について説明する。
CPU1001は、プログラムされた命令を実行可能なマイクロプロセッサである。CPU1001は、例えば、ROM1008に記憶されたプログラムをRAM1002に読み込んで実行することにより、各機能ブロックの動作を制御し、後述するスイッチャ1000の機能を実現する。
【0032】
RAM1002は、CPU1001が実行するプログラムをロードしたり、CPU1001が処理するデータ、処理中のデータなどを一時的に格納したりするために用いられる。また、RAM1002はサブカメラ400から受信した映像信号のバッファとして用いられてもよい。
【0033】
ROM1008は書き換え可能な不揮発性メモリであり、CPU1001が実行するプログラム、スイッチャ1000の設定値、ユーザデータなどを記憶する。
【0034】
映像入力部1003a~1003cは、映像信号の入力インタフェースである。映像入力部1003a~1003cは、例えばSDI規格やHDMI規格に準拠したレシーバであってよい。映像入力部1003aはサブカメラ400aからの映像信号を、映像入力部1003bはサブカメラ400bからの映像信号を、映像入力部1003cはサブカメラ400cからの映像信号を、それぞれ受信する。なお、映像入力部1003の数はサブカメラ400の数以上であればよい。
【0035】
図2では映像入力部1003とサブカメラ400とが1対1で接続されている構成を示している。しかし、サブカメラ400a~400cの1つ以上からの映像信号が、通信ネットワーク600を通じてスイッチャ1000に供給されてもよい。この場合スイッチャ1000はネットワークI/F1007を通じて映像信号を受信する。なお、映像入力部1003に映像信号を供給するサブカメラ400と、通信ネットワーク600を通じて映像信号を供給するサブカメラ400が混在していてもよい。
【0036】
映像スイッチ制御部1004は、映像入力部1003a~1003cに入力されている複数の映像信号のうち、ユーザ入力I/F1006を通じて選択された映像信号を特定の映像として選択する。ここで映像スイッチ制御部1004は、特定の映像として、本線映像およびプレビュー映像を選択可能である。また、映像スイッチ制御部1004は、本線映像として選択した映像信号を映像出力部1005に出力する。プレビュー映像は、次に本線映像とする予定の映像である。
【0037】
映像出力部1005は、映像スイッチ制御部1004で選択された映像信号を外部(例えばライブ配信機器や番組録画装置)に出力するインタフェースである。映像出力部1005は例えばSDI規格やHDMI規格に準拠したトランスミッタであってよい。
【0038】
モニタ出力部1009は、映像入力部1003またはネットワークI/F1007を通じて受信したサブカメラ400a~400cからの映像信号を並べて表示する画面の映像を生成し、図示しない外部表示装置に出力する。また、モニタ出力部1009は、スイッチャ1000の設定画面の映像も外部表示装置に出力する。
【0039】
ユーザ入力I/F1006は、例えばボタン、ダイヤル、ジョイスティック、タッチパネルなどの入力デバイス(不図示)を接続するインタフェースである。スイッチャ1000は、ユーザ入力I/F1006を通じて、本線映像およびプレビュー映像の選択やスイッチャ1000の設定に関するユーザの指示を受け付ける。プレビュー映像は、次に本線映像とする予定の映像である。
【0040】
CPU1001は、ユーザ入力I/F106を通じたユーザ指示に基づいて、サブカメラ400a~400cのそれぞれの状態を、配信中、プレビュー中、待機中のいずれかに分類する。そして、CPU1001は、サブカメラ400a~400cのそれぞれの識別情報と、決定した状態を関連付けてRAM1002に記憶する。以下、各サブカメラの状態を示す情報を、カメラ状態情報STREAMINGと呼ぶ。CPU1001は、例えば映像信号の選択が変更される都度、カメラ状態情報STREAMINGを更新する。
【0041】
CPU1001は、具体的には映像出力部1005から出力中の映像(本線映像)を撮影しているサブカメラの状態を「配信中」と決定する。また、CPU1001は、プレビュー映像を撮影しているサブカメラの状態を「プレビュー中」と決定する。さらにCPU1001は、残りの映像を撮影しているサブカメラの状態を「待機中」と決定する。サブカメラ400の識別情報は、ユーザが付けた固有名称、製造番号、ネットワークアドレスなど、個々のサブカメラを識別可能な任意の情報であってよい。
【0042】
CPU1001は、カメラ状態情報STREAMINGに基づいて、配信中およびプレビュー中のサブカメラに対し、タリー表示を行うための制御信号(タリー情報)を、ネットワークI/F1007を通じて送信する。
【0043】
ネットワークI/F1007は、スイッチャ1000を通信ネットワーク600に接続するためのインタフェースである。スイッチャ1000(CPU1001)は、ネットワークI/F1007を通じて、俯瞰カメラ300、サブカメラ400a~400c、撮影制御装置100など、通信ネットワーク600上の外部装置と通信することができる。なお、スイッチャ1000は、不図示の他の通信インタフェース(USB、Bluetoothなど)を通じて外部装置と通信してもよい。
【0044】
(俯瞰カメラ300)
次に、俯瞰カメラ300の機能構成例について説明する。
CPU301は、プログラムされた命令を実行可能なマイクロプロセッサである。CPU301は、例えば、ROM303に記憶されたプログラムをRAM302に読み込んで実行することにより、各機能ブロックの動作を制御し、後述する俯瞰カメラ300の機能を実現する。
【0045】
RAM302は、CPU301が実行するプログラムをロードしたり、CPU301が処理するデータ、処理中のデータなどを一時的に格納したりするために用いられる。また、RAM302は撮影で得られた映像信号のバッファとして用いられてもよい。
【0046】
ROM308は書き換え可能な不揮発性メモリである。ROM308は、CPU301が実行するプログラム、俯瞰カメラ300の設定値、ユーザデータなどを記憶する。なお、ROM308は、映像信号の記録先としても用いることができる。ROM308は、内蔵メモリと着脱可能なメモリカードとを含んでもよい。
【0047】
画像センサ307は、撮影光学系と撮像素子とを有する。撮像素子は例えば原色ベイヤ配列のカラーフィルタを有する公知のCCDもしくはCMOSカラーイメージセンサであってよい。撮像素子は複数の画素が2次元配列された画素アレイと、各画素から信号を読み出すための周辺回路とを有する。各画素は光電変換によって入射光量に応じた電荷を蓄積する。露光期間に蓄積された電荷量に応じた電圧を有する信号を各画素から読み出すことにより、撮像面に形成された被写体像を表す画素信号群(アナログ画像信号)が得られる。
【0048】
画像処理部306は、画像センサ307が出力するアナログ画像信号に対して予め定められた信号処理および画像処理を適用し、用途に応じた信号や画像データを生成したり、各種の情報を取得および/または生成したりする。
【0049】
画像処理部306が適用する処理には、例えば、前処理、色補間処理、補正処理、検出処理、データ加工処理、評価値算出処理、特殊効果処理などが含まれうる。
前処理には、A/D変換、信号増幅、基準レベル調整、欠陥画素補正などが含まれうる。
色補間処理は、画像センサ307にカラーフィルタが設けられている場合に行われ、画像データを構成する個々の画素データに含まれていない色成分の値を補間する処理である。色補間処理はデモザイク処理とも呼ばれる。
補正処理には、ホワイトバランス調整、階調補正、撮像光学系の光学収差に起因する画像劣化の補正(画像回復)、撮像光学系の周辺減光の影響の補正、色補正などの処理が含まれうる。
データ加工処理には、領域の切り出し(トリミング)、合成、スケーリング、符号化および復号、ヘッダ情報生成(データファイル生成)などの処理が含まれうる。スイッチャ000に出力する映像信号や、ROM308に記録する映像データの生成もデータ加工処理に含まれる。
評価値算出処理には、自動焦点検出(AF)に用いる信号や評価値の生成、自動露出制御(AE)に用いる評価値の生成などの処理が含まれうる。AFやAEはCPU301が実行する。
特殊効果処理には、ボケ効果の付加、色調の変更、リライティングなどの処理などが含まれうる。
なお、これらは画像処理部306が適用可能な処理の例示であり、画像処理部306が適用する処理を限定するものではない。
画像処理部306は、取得もしくは生成した情報やデータを、用途に応じてCPU301、RAM302、映像出力部311などに出力する。
【0050】
なお、画像処理部306で適用する処理の種類や設定は、撮影制御装置100から俯瞰カメラ300にコマンドを送信することによって制御可能である。
【0051】
ネットワークI/F305は、俯瞰カメラ300を通信ネットワーク600に接続するためのインタフェースである。俯瞰カメラ300(CPU301)は、ネットワークI/F305を通じて、撮影制御装置100、スイッチャ1000、サブカメラ400a~400cなど、通信ネットワーク600上の外部装置と通信することができる。なお、俯瞰カメラ300は、不図示の他の通信インタフェース(USB、Bluetoothなど)を通じて外部装置と通信してもよい。
【0052】
映像出力部311は画像センサ307を用いた撮像した映像信号を外部装置(ここでは撮影制御装置100)に出力するためのインタフェースである。映像出力部311は例えばSDI規格やHDMI規格に準拠したトランスミッタであってよい。
【0053】
モニタ出力部312は、モニタ出力が有効に設定され、かつ俯瞰カメラ300に図示しない外部表示装置が接続されている場合、撮像によって得られた映像信号を表示する画面の映像を生成し、外部表示装置に出力する。
【0054】
(サブカメラ400)
次に、サブカメラ400a~cの機能構成例について説明する。なお、ここではサブカメラ400a~400cの機能構成が同一であるものとし、代表してサブカメラ400aの機能構成例について説明する。
【0055】
サブカメラ400aと俯瞰カメラ300とで同じ名称の機能ブロックは同じ機能を有するものとし、説明を省略する。ただし、映像出力部411は映像信号をスイッチャ1000に出力する。
【0056】
上述の通り、サブカメラ400はPTZカメラであり、撮影の方向および画角を外部から制御可能である。そのため、サブカメラ400は、パンおよびチルト動作とズーム動作が可能な駆動部409と、駆動I/F408とを有している。駆動I/F408は駆動部409とCPU401との通信インタフェースである。
【0057】
駆動部409は、サブカメラ400をパンおよびチルト可能に支持するパン/チルト機構と、撮影光学系の画角を変化させるズーム機構と、これらの機構を駆動するモータなどを有する。ズーム機構は画像処理部406による画像の拡大・縮小を用いてもよい。駆動部409は駆動I/F408を通じてCPU401から受信する指示に従ってモータを駆動し、撮影光学系の光軸方向および画角を調整する。
【0058】
また、状態表示部412はいわゆるタリーランプである。ここでは状態表示部412が赤と緑のLEDを有するものとする。状態表示部412の2つのLEDは、いずれも点灯しないか、一方だけが点灯し、両方点灯することはない。CPU401は、撮影制御装置100から受信したタリー情報に基づいて、状態表示部412の表示を制御する。ここでは、受信したタリー情報が「配信中」を示す場合には赤のLEDを点灯し、「プレビュー中」を示す場合には緑のLEDを点灯するよう、CPU401が状態表示部412を制御する。また、受信したタリー情報が「待機中」を示す場合には、赤および緑のLEDが点灯しないようにCPU401が状態表示部412を制御する。
【0059】
なお、状態表示部412が有するLEDの数は1つでも3つ以上でもよい。また、色に関しても、同じ色が2つ以上含まれなければどのような色を用いてもよい。ただし、タリー情報と状態表示部412の表示状態との関係がすべてのサブカメラ400で統一されるようにする。
【0060】
<各装置の動作の説明>
続いて、マルチカメラ撮像システムにおいて、撮影制御装置100が俯瞰カメラ300の映像に基づいてサブカメラ400a~400cの撮影動作を自動制御する場合の、各装置の動作について、
図3および
図4を用いて説明する。
【0061】
図3は、撮影制御装置100がサブカメラ400a~400cの動作を制御する際に実施する一連の処理を、主要な動作と信号の流れに着目して表した図である。撮影制御装置100内に示される機能ブロックは主要な動作を模式的に示しており、撮影制御アプリケーションが提供する主要な機能に相当する。
図3における各機能ブロックは、撮影制御アプリケーションを実行するCPU101と、
図2に示した撮影制御装置100の機能ブロックの1つ以上との組み合わせによって実現される。
【0062】
また、
図4(a)~
図4(d)はそれぞれ、撮影制御装置100、俯瞰カメラ300、サブカメラ400、およびスイッチャ1000の動作に関するフローチャートである。サブカメラ400a~400cの動作は基本的に共通であるため、まとめて説明する。
【0063】
以下の説明において、俯瞰カメラ300の視点位置の3次元座標値および撮影方向(光軸方向)が撮影制御装置100に既知であるものとする。また、サブカメラ400a~400cの視点位置の3次元座標値、撮影範囲20に配置されたマーカの座標値など、既知の位置情報は、既定位置情報REF_POSIとしてROM103に予め格納されているものとする。なお、位置の座標系は位置の種類によって予め定められているものとする。
【0064】
(撮影制御装置100の動作)
まず、撮影制御装置100の動作について、
図3および
図4(a)を参照して説明する。以下に説明する動作は、CPU101が撮影制御アプリケーションを実行することによって実現される。
【0065】
S101でCPU101は、ネットワークI/F105を通じて、俯瞰カメラ300に、予め定められたプロトコルで撮影指示コマンドを送信する。このコマンドに応答して、俯瞰カメラ300から、映像入力部107に対する映像信号(動画データ)IMGの供給が開始される。CPU101は映像入力部107で受信した映像信号のRAM102への格納を開始したのち、S102を実行する。
【0066】
S102で、認識部121は以下の処理を実行する。
(1)入力されたフレーム画像に対して被写体領域の検出処理を適用し、検出結果を記憶する
(2)検出された被写体領域ごとに、位置情報(画像座標)を座標変換する
(3)検出された被写体領域ごとに識別処理を適用し、識別情報を特定する(新たな被写体の場合には識別処理用の情報を追加する)
(4)検出された被写体領域ごとに識別情報ID[n]と位置情報POSITION[n]とを関連付けて記憶する
【0067】
認識部121は、主にCPU101と推論部104とによって実現される。CPU101は、俯瞰カメラ300から受信した映像の1フレームをRAM102から読みだして推論部104に入力する。
【0068】
以下、認識部121の動作を順を追って説明する。
(1)まず、推論部104は、フレーム画像を機械学習モデルに入力し、被写体領域を検出する。推論部104は、検出結果として機械学習モデルが出力する、検出された被写体領域ごとの位置および大きさと、検出信頼度とをRAM102に記憶する。被写体領域の位置および大きさは、被写体領域が内接する矩形領域の位置と大きさを特定可能な任意の情報であってよい。ここでは、矩形領域の下辺の中央座標と、幅および高さを、被写体領域の位置および大きさとして用いる。
【0069】
また、推論部104は、最初のフレーム画像に対する検出結果については、被写体の識別情報ID[n]と関連付けてRAM102に記憶する。ここで、nは被写体の番号であり、1から、検出した被写体領域の総数までの値を取る整数である。さらに、推論部104は、最初のフレーム画像から検出された被写体領域を、個々の被写体を識別するためのテンプレートとして、被写体の識別情報ID[n]と関連付けてRAM102に記憶する。被写体の識別にテンプレートマッチングを用いない場合は、テンプレートを記憶しなくてもよい。
【0070】
図6(a)は、
図5(a)に示す俯瞰カメラ300の映像に対する推論部104による被写体検出処理の結果の一例を示している。ここでは、撮影範囲20内に存在する人物被写体A~Cの領域が検出され、被写体領域が内接する矩形領域の下辺の中央の座標(足元座標)が位置として出力される。
【0071】
なお、後述する座標変換のために、例えば
図5(b)に示すように撮影範囲20内の既知の位置にマーカ(Mark)を配置している場合、CPU101はフレーム画像(
図5(a))に含まれるマーカの画像を検出し、位置をRAM102に記憶する。マーカ画像の検出も推論部104が実行するように構成してもよい。マーカ画像の検出は、マーカのテンプレートを用いたパターンマッチングなど、任意の公知の方法で実施することができる。予め記憶したマーカ検出用の機械学習モデルを用いてマーカ画像を検出してもよい。
【0072】
(2)次に、推論部104が実行する座標変換について説明する。
図5(a)は俯瞰カメラ300の映像を、
図5(b)は撮影範囲20をその中心直上から見た状態をそれぞれ模式的に示している。推論部104は、俯瞰カメラの座標系における被写体領域の位置を、撮影範囲20をその中心直上から見た際の座標系(平面座標系)の値に座標変換する。
【0073】
ここで、平面座標系の値に座標変換するのは、サブカメラ400a~400cに特定の被写体を撮影させるためのパン値(水平面内の移動角度)を算出する上で都合がよいためである。なお、ここでは、駆動部409が撮影範囲20の床と平行した水平面内でパン動作をするようにサブカメラ400が設置されていることを前提としている。
【0074】
座標変換は様々な方法で実行可能であるが、ここでは、撮影範囲20の床の既知の複数の位置にマーカを配置し、俯瞰カメラ300で得られた映像中のマーカ位置に基づいて、俯瞰カメラ座標系から平面座標系に座標変換する。なお、俯瞰カメラ300の視点位置と撮影方向を用いるなど、マーカを用いずに座標変換してもよい。
【0075】
座標変換は、ホモグラフィー変換行列Hを用いて、以下の式1に従って実行することができる。
【数1】
式1において、右辺のx、yは俯瞰カメラ座標系における水平座標および垂直座標であり、左辺のX、Yは平面座標系の水平座標および垂直座標である。
【0076】
ホモグラフィー変換行列は、映像から検出された4つのマーカの座標と、撮影範囲20に配置された4つのマーカの座標(既知)とを、式1に代入し、連立方程式を解くことにより、算出することができる。撮影範囲20と俯瞰カメラ300との位置関係が固定である場合、予めテスト撮影時にホモグラフィー変換行列Hを算出しておき、例えばROM103に保存しておくことができる。
【0077】
CPU101は、RAM102から被写体領域の位置を順次読み出し、平面座標系の値に座標変換する。
図6(b)は、
図6(a)に示す俯瞰カメラ300映像で検出された各被写体領域の足元座標(x, y)を、式1とROM103に保存したホモグラフィー変換行列Hを用いて平面座標系の座標値(X, Y)に座標変換した状態を模式的に示している。CPU101は、座標変換した足元座標をPOSITION[n]としてRAM102に記憶する。
【0078】
(3)次に、推論部104が被写体の識別情報ID[n]を特定する動作について説明する。ここでは、テンプレートマッチングを用いて被写体を識別するものとする。被写体の識別は、2回目以降の被写体検出の処理結果に対して実施する。最初の処理結果については、被写体領域に対して識別情報ID[n]を新規に割り当てればよい。
【0079】
推論部104は、RAM102に記憶されたテンプレートを用いたテンプレートマッチングにより、検出された被写体領域の識別情報ID[n]を特定する。これにより、撮影範囲内の被写体が識別される。推論部104は例えば、検出された被写体領域ごとに、個々のテンプレートの相関を表す評価値を算出する。そして、推論部104は、一定以上の相関を有し、かつ最も相関が高いテンプレートに対応する識別情報ID[n]を、被写体領域の識別情報ID[n]として特定する。評価値は例えば画素値の差分絶対値和など、公知の値を用いることができる。
【0080】
なお、推論部104は、すべてのテンプレートに対して一定以上の相関を有しない被写体領域については、新たな識別情報ID[n]を割り当て、被写体領域の画像をテンプレートに追加する。
【0081】
また、推論部104は、直近のフレーム画像で検出された被写体領域を用いて既存のテンプレートを更新したり、一定以上の相関を有する被写体領域が一定期間存在しないテンプレートを削除したりしてもよい。さらに、推論部104は、頻繁に登場する識別情報ID[n]に対応したテンプレートについてはROM103に記憶してもよい。
【0082】
なお、テンプレートマッチング以外の方法で被写体を識別してもよい。例えば直前の検出位置および大きさの少なくとも一方が最も近い被写体領域と同じ識別情報ID[n]と特定してもよい。また、同一の識別情報に関連付けられた過去複数回の検出結果における位置の推移から現在のフレーム画像における位置をカルマンフィルタ等により予測し、予測位置に最も近い被写体領域に同じ識別情報IDを特定してもよい。また、これらの方法を組み合わせてもよい。テンプレートマッチングを用いないことで、見た目が似ている異なる被写体の識別精度を高めることができる。
【0083】
(4)推論部104は、特定した識別情報ID[n]と、対応する被写体領域の位置(平面座標系)POSITION[n]とを関連付けて、RAM102に記憶する。
【0084】
なお、(1)~(4)の処理のうち、被写体検出以外の処理については、推論部104の代わりにCPU101が実行してもよい。
【0085】
ここでは、俯瞰カメラ300の映像を用いて、撮影範囲20内の被写体に関する識別情報ID[n]と位置POSITION[n]を求めた。しかし、サブカメラ400の映像を用いてもよい。この場合、CPU101は、サブカメラごとに
図4(a)のフローチャートに示した動作を実行する。被写体領域の位置はサブカメラ400ごとの座標系における値で出力する。このように、俯瞰カメラ300は必須ではないが、俯瞰カメラ300を用いた方が被写体の検出精度はよいと考えられる。
【0086】
図4(a)の説明に戻り、S103では、
図3の注目被写体決定部122としてのCPU101が、注目被写体を決定する。CPU101は、ユーザが指定する被写体もしくは予め定められた条件に基づいて選択された被写体を注目被写体として決定することができる。
【0087】
注目被写体をユーザに選択させる場合、CPU101は、表示部108または外部表示装置に、S102で被写体検出処理を適用したフレーム画像を、検出された被写体領域を示す指標と共に表示させる。指標は、例えば
図6(a)に示すような被写体領域の外縁を示す矩形枠であってよいが、他の指標であってもよい。また、CPU101は、画像内の注目被写体を選択するように促すメッセージなども表示部108に表示させてもよい。
【0088】
ユーザは、ユーザ入力I/F106に接続された入力デバイスを操作して、所望の注目被写体に対応する被写体領域を選択することができる。選択方法に特に制限はないが、マウスやキーボードを操作して、所望の被写体領域を指定する操作であってよい。
【0089】
CPU101は、いずれかの被写体領域を指定するユーザ操作を検出すると、指定された被写体領域に対応する識別情報ID[n]を、注目被写体の識別情報MAIN_SUBJECTとしてRAM102に記憶する。あるいは、CPU101は、予め定められた条件に合致する1つの被写体領域に対応する識別情報を自動的に注目被写体の識別情報としてRAM102に記憶する。CPU101は例えば、画面の中心に最も近い被写体領域、または、画面の中心からの距離が閾値以下の被写体領域のうちサイズが最も大きな被写体領域に対応する識別情報ID[n]を識別情報MAIN_SUBJECTとしてRAM102に記憶する。
【0090】
あるいは、CPU101は、サブカメラ400a~400cのうち、予め定められた1台が撮影している被写体を注目被写体として決定してもよい。この場合、予め定められた1台のサブカメラからの映像を撮影制御装置100に通信ネットワーク600を通じて、あるいは映像入力部107を通じて供給する。
【0091】
また、CPU101は、追尾被写体の識別情報MAIN_SUBJECTに対応する位置情報POSITION_OHをRAM102に記憶する。
【0092】
その後、CPU101はS104を実行する。S104で、
図3の追尾被写体決定部123としてのCPU101は、サブカメラ400a~400cのそれぞれに追尾撮影させる被写体を決定する。
【0093】
ここでは、すべてのサブカメラに注目被写体を追尾撮影させるものとする。したがって、CPU101は、追尾被写体の識別情報SUBJECT_IDを、S103で決定した注目被写体の識別情報MAIN_SUBJECTとする。
【0094】
なお、注目被写体以外の被写体を撮影させるサブカメラがあってもよい。例えば
図6(b)に示すように撮影範囲20に3人の被写体が存在する場合、サブカメラ400a~400cに対してそれぞれ異なる追尾被写体を決定してもよい。
【0095】
CPU101は、決定した追尾被写体の識別情報SUBJECT_IDを、RAM102に書き出す。サブカメラによって追尾被写体が異なり得る場合、CPU101は、追尾被写体の識別情報SUBJECT_IDをサブカメラの識別情報と関連付けて記憶する。なお、追尾被写体が変化した場合、CPU101は、以前の追尾被写体の情報は消去せずにRAM102に保持しておく。
【0096】
次に、S105で、パン・チルト算出部124としてのCPU101は、サブカメラがS104で決定された追尾被写体を追尾撮影するために必要なパン角およびチルト角の変更量を算出する。
【0097】
ここでは、サブカメラ400a~400cのそれぞれについて、以下の情報が既定位置情報REF_POSIとしてROM103に予め格納されているものとする。
・設置位置の3次元座標(平面座標系での値)
・駆動部のパン角度およびチルト角度の初期値に対応する撮影方向
・パンおよびチルト角の制御可能範囲
【0098】
CPU101は、追尾被写体の識別情報SUBJECT_IDに対応する位置情報POSITION_OHをRAM102から読み出す。そして、CPU101は、位置情報POSITION_OHとサブカメラの設置位置とから、まずパン角度を決定する。
【0099】
図7は、1台のサブカメラと追尾被写体との位置関係の一例を平面座標系で示した図である。ここでは、サブカメラの光軸方向を被写体位置に向けるパン角度θを決定するものとする。CPU101は、パン角度θを以下の式2を用いて算出する。
【数2】
【0100】
式2におけるpx、pyは、追尾被写体の識別情報SUBJECT_IDに対応する位置情報POSITION_OHの水平座標および垂直座標である。また、subx、subyはサブカメラの設置位置の水平座標および垂直座標である。ここでは、現在のパン角が初期値0°であり、光軸方向が垂直方向(Y軸方向)であるものとする。現在の光軸方向が垂直方向でない場合、式2で得られた角度に、現在の光軸方向と垂直方向との角度差を反映させればよい。また、パンの方向はsubx>pxであれば反時計方向、subx<pxであれば時計方向である。
【0101】
次に、
図8を用いて、チルト角の決定方法について説明する。
図8は、サブカメラと追尾被写体とを側方から見た状態を示している。サブカメラ400の現在の光軸が水平方向であり高さがh1であり、光軸を向ける追尾被写体の顔の高さがh2であるものとする。現在の光軸方向と目標の光軸方向との高さ方向の角度差(チルト角)をρとする。CPU101はチルト角ρを以下の式3および式4を用いて算出する。
【数3】
【0102】
式4に用いる座標値は、式2に用いる座標値と同じである。h1およびh2は、予め撮影制御アプリケーションに入力され、RAM102に記憶されているものとする。この場合、被写体ごとのh2に関連付ける識別番号と、被写体検出処理で割り当てる識別番号とが等しくなるようにする。あるいは、h2は不図示のセンサを用いてリアルタイムに測定した値を用いてもよい。
【0103】
ここでは、現在のチルト角が初期値0°であり、光軸方向が水平方向(高さが一定)であるものとする。現在の光軸方向が水平方向でない場合、式4で得られた角度に、現在の光軸方向と水平方向との角度差を反映させればよい。また、チルトの方向はh1>h2であれば下方向、h1<h2であれば上方向である。
【0104】
CPU101は、サブカメラ400のそれぞれと通信ネットワーク600を通じて周期的に通信し、現在の光軸方向(駆動部のパン角およびチルト角)を取得してRAM102に記憶する。なお、通信周期は例えばフレームレートの逆数以下とすることができる。あるいは、CPU101が、サブカメラ400のそれぞれについて、初期状態から制御したパン角およびチルト角の合計値をRAM102に保持しておき、現在の光軸方向として用いてもよい。
【0105】
CPU101は、このようにしてサブカメラ400のそれぞれについてパン角およびチルト角の変更量を算出し、RAM102に記憶する。
【0106】
パン角およびチルト角の変更量は、サブカメラ400が追尾被写体の方向に回動するための角速度としてもよい。例えば、CPU101は、通信ネットワーク600を通じてサブカメラ400のそれぞれから現在のパン角およびチルト角を取得する。そして、CPU101は、RAM102から読み出したパン角θと、現在のパン角との差に比例したパンの角速度を求める。また、CPU101は、RAM102から読み出したチルト角ρと現在のチルト角との差に比例したチルトの角速度を求める。このように算出した角速度を、CPU101はRAM102に記憶する。
【0107】
なお、俯瞰カメラ300の映像の代わりにサブカメラ400の映像を用いてパン角およびチルト角の変更量を算出してもよい。この場合CPU101は、サブカメラ400の座標系における現在の光軸方向と追尾被写体方向との水平方向の差からパン角の変化量を算出し、垂直方向の差からチルト角の変化量を算出してもよい。また、追尾被写体を追尾撮影するための撮影方向の変更をパン方向及びチルト方向の一方だけで行う撮像システムであってもよく、そのような撮像システムではパン角およびチルト角の一方の変更量だけを算出するようにしてもよい。
【0108】
次に、S106でCPU101は、RAM102からS105で算出したパンおよびチルト角の変更量を読み出す。そして、CPU101は、個々のサブカメラについて、これらの変更量に相当するパン角およびチルト角の変更を指示する制御コマンドPT_VALUEを生成する。制御コマンドの形式は予め定められているものとする。CPU101は、生成した制御コマンドPT_VALUEをRAM102に記憶する。
【0109】
次に、S107でCPU101は、S106で生成した制御コマンドPT_VALUEをRAM102から読み出し、ネットワークI/F105を通じて通信ネットワーク600に送信する。サブカメラ400a~400cは、ネットワーク1/F405を通じて自身宛の制御コマンドPT_VALUEを受信する。
【0110】
CPU101は、俯瞰カメラ300の映像の次のフレーム画像について、S101からの処理を実行する。なお、
図4(a)に示した処理は、必ずしも毎フレーム実行しなくてもよい。
【0111】
(俯瞰カメラ300の動作)
次に、俯瞰カメラ300の動作について、
図4(b)を参照して説明する。以下に説明する動作は、CPU301がプログラムを実行することによって実現される。
【0112】
俯瞰カメラ300の電源が投入されると、CPU301により各機能ブロックが初期化されたのち、撮影スタンバイ状態となる。撮影スタンバイ状態でCPU301は、ライブビュー表示用の動画撮影処理を開始する。画像処理部306で生成された表示用画像データは、モニタ出力部312を通じて出力される。
【0113】
撮影スタンバイ状態においてCPU301は、ネットワークI/F305を通じた制御コマンドの受信を待機する。CPU301は、制御コマンドを受信すると、制御コマンドに応じた動作を実行する。ここでは、撮影制御装置100から制御コマンドとして撮影コマンドを受信した場合の動作について説明する。
【0114】
S201でCPU301はネットワークI/F305を通じて撮影制御装置100から撮影コマンドを受信する。
【0115】
なお、撮影コマンドにはフレームレートや解像度などの撮影パラメータが指定されていてもよい。また、画像処理部306で適用する処理に関する設定が含まれていてもよい。
【0116】
S202でCPU301は、撮影コマンドの受信に応答して、撮影制御装置100に供給するための動画撮影処理を開始する。この動画撮影処理では、ライブビュー表示用の動画撮影処理よりも高画質な動画を撮影する。例えば、動画の解像度および撮影フレームレートの少なくとも一方がライブビュー表示用の動画よりも高い。画像処理部306は、撮影制御装置100に供給する動画用の設定に基づいて画像に処理を適用する。画像処理部306は、生成した動画データをRAM302に順次格納する。
【0117】
S203でCPU101は、動画データをRAM302から読み出し、映像出力部311から映像信号として撮影制御装置100の映像入力部107に供給する。
【0118】
以降、撮影停止の制御コマンドを受信するまで、撮影から映像信号の供給までの処理を継続する。
【0119】
(サブカメラ400の動作)
次に、サブカメラ400の動作について、
図4(c)を参照して説明する。以下に説明する動作は、CPU401がプログラムを実行することによって実現される。なお、サブカメラ400a~400cは同じ動作を実行するため、ここではサブカメラ400の動作として説明する。
【0120】
サブカメラ400の電源が投入されると、CPU401により各機能ブロックが初期化されたのち、スイッチャ1000に供給するための動画撮影処理を開始する。画像処理部406は、画像センサ407から得られるアナログ画像信号に対して、スイッチャ1000に供給する動画用の設定に基づいて処理を適用する。画像処理部406は、生成した動画データをRAM402に順次格納する。CPU401は、動画データをRAM402から読み出し、映像出力部411から映像信号としてスイッチャ1000の映像入力部1003に供給する。
【0121】
CPU401は、映像信号をスイッチャ1000に供給しながら、ネットワークI/F305を通じた制御コマンドの受信を待機する。CPU401は、制御コマンドを受信すると、制御コマンドに応じた動作を実行する。ここでは、制御コマンドとして撮影制御装置100からのパン・チルト操作コマンド、またはスイッチャ1000からの状態通知コマンドを受信した場合の動作について説明する。
【0122】
S301でCPU401はネットワークI/F405を通じて撮影制御装置100またはスイッチャ1000から制御コマンドを受信する。
【0123】
S302でCPU401は、受信した制御コマンドが、パン・チルト操作コマンドまたは状態通知コマンドであるか判定する。CPU401は、パン・チルト操作コマンドであると判定されればS303を、状態通知コマンドであると判定されればS306を実行する。他の制御コマンドに対する動作については説明を省略する。
【0124】
S303でCPU401は、制御コマンドから、操作方向(パンおよび/またはチルトの方向)と、対応する操作量(角度)とを読み出し、RAM302に記憶する。
【0125】
S304でCPU401は、S303で読み出した操作方向および操作量に基づいて、駆動部409の駆動パラメータを生成する。CPU401は例えば操作方向と操作量との組み合わせに応じた駆動パラメータを、予めROM403に保持されたテーブルを用いて取得してもよい。なお、操作量が目標値(例えば目標角度)で与えられる場合、CPU410は現在の値との差分から駆動パラメータを取得する。
【0126】
S305でCPU401は、S304にて取得した駆動パラメータに基づいて、駆動I/F408を通じて駆動部409を制御する。これにより、駆動部409が、制御コマンドで指定された操作方向に、指定された操作量駆動される。
【0127】
S306でCPU401は、状態通知コマンドに含まれる状態情報を読み出し、RAM402に記憶する。
【0128】
S307でCPU401は、RAM402に記憶した状態情報を判別する。ここで、状態情報は「配信中」、「プレビュー中」、「待機中」のいずれかであるものとする。そして、CPU401は、判別された状態情報に応じて、状態表示部412を制御する。
【0129】
ここでは一例として、CPU401は、状態情報が「配信中」の場合は赤のLEDを点灯、緑のLEDを消灯させる。また、CPU401は、状態情報が「プレビュー中」の場合は緑のLEDを点灯、赤のLEDを消灯させる。さらに、CPU401は、状態情報が「待機中」の場合は赤および緑のLEDを消灯させる。
【0130】
なお、状態通知コマンドは、ネットワークI/F405を通じた受信に限らず、他の通信インタフェースを通じて受信してもよい。
【0131】
(スイッチャ1000の動作)
次に、スイッチャ1000の動作について、
図4(d)を参照して説明する。以下に説明する動作は、CPU1001がプログラムを実行することによって実現される。ここでは、スイッチャ1000がユーザ入力I/F1006を通じて本線映像またはプレビュー映像の変更(切り替え)指示を検出した場合、あるいはネットワークI/F1007を通じて状態情報要求コマンドを受信した場合の動作について説明する。
【0132】
S401でCPU1001は、ユーザ入力I/F1006またはネットワークI/F1007を通じてユーザ指示または制御コマンドを検出する。
【0133】
S402でCPU1001は、S401で検出した内容を判別する。CPU401は、ユーザ入力I/F1006を通じて映像切替指示を検出したと判定された場合はS403を、ネットワークI/F1007を通じて状態情報要求コマンドを受信したと判定された場合はS406を実行する。
【0134】
映像切替指示は、映像入力部1003a~1003cにサブカメラ400a~400cから供給されている映像のうち、本線映像(映像出力部1005から出力する映像)またはプレビュー映像(次に本線映像とする予定の映像)を変更する指示である。なお、本線映像およびプレビュー映像は選択されなくてもよい。例えばユーザ入力I/F1006に接続されたマウスまたはキーボードを通じた入力映像の表示画面に対する操作として、本線映像またはプレビュー映像を変更する指示が入力される。
【0135】
S403でCPU1001は、本線映像の変更指示であれば、映像スイッチ制御部1004を制御し、本線映像として映像出力部1005に供給する映像を切り替える。
【0136】
そして、S404でCPU1001は、少なくとも、状態が変更されたサブカメラに対して、変更後の状態情報を通知する。状態に変更がないサブカメラには状態情報を通知しなくてもよい。状態情報はネットワークI/F1007通じて通信ネットワーク600に送信される。
【0137】
なお、状態情報を通知する代わりに、サブカメラ400の状態表示部412の状態をスイッチャ1000から直接制御してもよい。この場合、サブカメラ400のそれぞれの状態表示部412がスイッチャ1000に接続されていることが必要である。サブカメラ400に対して状態情報を通知できれば、その手段については制限されない。
【0138】
S405でCPU1001は、サブカメラごとに識別情報と状態とを関連付けた状態情報STREAMINGをRAM1002に記憶する。
【0139】
S406でCPU1001は、RAM1002に記憶されている状態情報STREAMINGを読み出す。
【0140】
S407でCPU1001は、ネットワークI/F1007を通じて状態情報STREAMINGを撮影制御装置100に送信する。
【0141】
なお、ユーザ入力I/F1006を通じて状態情報の確認指示が検出された場合、CPU401は、RAM1002に記憶されている状態情報STREAMINGを読み出し、モニタ出力部1009を通じて外部表示装置に状態情報の一覧画面を出力する。
【0142】
(サブカメラの状態を考慮した追尾被写体決定動作)
次に、サブカメラ400の状態を考慮した撮影制御装置100の追尾被写体決定動作について、
図9に示すフローチャートを用いて説明する。
図9に示す動作は、例えば
図4(a)のS104の代わりに実施することができる。
【0143】
S501でCPU101は、S103の処理の結果、注目被写体が変更されたか否かを判定し、変更されたと判定されればS502を実行し、判定されなければ
図9に示すフローチャートの処理を終了する。
【0144】
CPU101は、少なくとも直近に決定した注目被写体の識別情報MAIN_SUBJECTをRAM102に記憶しておく。そして、CPU101は、S103で決定した注目被写体が直近に判定した注目被写体と異なる場合に、注目被写体が変更されたと判定する。
【0145】
S502~S506は撮影制御装置100が通信可能なサブカメラごとに実行する。通信可能なサブカメラ400の情報は、例えば撮影制御装置100の起動時にCPU101がネットワークI/F105を通じて各サブカメラ400a~400cから取得することができる。あるいは、CPU101は、各サブカメラ400a~400cの情報をスイッチャ1000から取得してもよい。CPU101は、取得したサブカメラの情報をRAM102に記憶する。
【0146】
ネットワークI/F105を通じて取得する代わりに、制御対象のサブカメラとして、識別情報(例えばネットワークアドレス、シリアル番号など)をユーザが撮影制御アプリケーションに登録するようにしてもよい。いずれにしても、CPU101は、制御対象のサブカメラの識別情報を知っており、S502~S506の処理を、対象とするサブカメラを順次変更しながら実行する。
【0147】
S502でCPU101は、ネットワークI/F105を通じてスイッチャ1000に状態情報要求コマンドを送信する。CPU101は、状態情報要求コマンドに応答してスイッチャ1000から状態情報STREAMINGを受信し、RAM102に記憶する。なお、ここではサブカメラ400a~400cの状態をスイッチャ1000からまとめて取得しているが、サブカメラ400a~400cから個別に状態を取得してもよい。この場合、スイッチャ1000と撮影制御装置100との間の通信量を低減させることができる。
【0148】
S503でCPU101は、RAM102に記憶した状態情報STREAMINGを参照し、処理の対象としているサブカメラ400の状態を取得する。そして、CPU101は、状態が「配信中」か否かを判定する。CPU101は、状態が「配信中」と判定されればS504を、判定されなければS505を実行する。
【0149】
なお、CPU101は、状態が「配信中」と判定されない場合、状態が「プレビュー中」か否かをさらに判定し、「プレビュー中」と判定されない場合にS505を実行してもよい。これにより、スイッチャ1000の操作者が次に本線映像とすることを予定している映像の被写体が意図せず変更されることを防止することができる。
【0150】
S504でCPU101は、処理対象のサブカメラの識別情報とともに、注目被写体の変更の拒否(あるいは、注目被写体を変更しないこと)を通知する。通知は例えば表示部108に対するメッセージ表示であってよい。
【0151】
また、CPU101は、通知を外部に送信してもよい。例えば、CPU101は、ネットワークI/F105を通じて俯瞰カメラ300に通知を送信することができる。俯瞰カメラ300はネットワークI/F305を通じて通知を受信すると、モニタ出力部312に接続された外部表示装置に注目被写体の変更が拒否された旨を表示する。
【0152】
さらに、CPU101は認識部121における被写体検出結果、注目被写体の識別情報MAIN_SUBJECT、追尾被写体の識別情報SUBJECT_ID、処理対象のサブカメラの識別情報を通知とともに俯瞰カメラ300に送信してもよい。
【0153】
そして、俯瞰カメラ300のCPU301は、被写体検出結果に基づいて、ライブビュー表示画像に、処理対象のサブカメラの識別情報と、検出された被写体を示す指標(例えば矩形枠)を重畳した画像をモニタ出力部312から出力することができる。また、CPU301は、検出された被写体のうち、注目被写体と追尾被写体については、他の被写体と指標を視覚的に異ならせることができる。
【0154】
例えば、注目被写体と追尾被写体が同じ場合は指標を青色とし、異なる場合は注目被写体の指標を緑色、追尾被写体の指標を赤色とする。また他の被写体の指標は表示しないか、白色など他の色とする。なお、色は単なる例示であり、また色以外の視覚的要素を異ならせてもよい。青色の指標が表示されず、緑色および赤色の指標が表示されている場合、処理対象のサブカメラについて追尾被写体の変更が拒否されていることが分かる。
【0155】
あるサブカメラについて、注目被写体と追尾被写体がともに被写体Aである場合は、被写体Aに青色の指標が表示される(
図10(a))。ここでは、注目被写体でも追尾被写体でもない被写体には指標を表示しないものとする。この状態で注目被写体が被写体Bに変更された場合、サブカメラの状態が「配信中」(あるいは「プレビュー中」でない場合、新たな注目被写体が追尾被写体となる。したがって、被写体Aの指標が消え、新たに被写体Bに青色の指標が表示される(
図10(b-1))。しかし、サブカメラの状態が「配信中」(あるいは「プレビュー中」の場合、追尾被写体は変更されない。そのため、被写体Aの指標が赤に変わり、新たに被写体Bに緑色の指標が表示される(
図10(b-2))。
【0156】
なお、CPU101は、被写体検出結果と、注目被写体の識別情報MAIN_SUBJECTおよびサブカメラごとの追尾被写体の識別情報SUBJECT_IDを、注目被写体の変化にかかわらず俯瞰カメラ300に送信してもよい。これにより、俯瞰カメラ300に接続された外部表示装置で、継続的に上述した表示を行うことができる。また、表示対象のサブカメラを例えば一定周期で順次変更してもよい。これにより、サブカメラが複数存在する場合、サブカメラごとの追尾被写体と注目被写体を把握することができる。また、表示部108においても、俯瞰カメラ300と同様の表示を行ってもよい。
【0157】
なお、追尾被写体の変更拒否の通知は必ずしも実行する必要はなく、また実行の要否をユーザがユーザ入力I/F106を通じて設定可能としてもよい。サブカメラ400が複数ある場合はカメラごとに設定可能としてもよい。
【0158】
S505でCPU101は、RAM102に記憶されている、処理対象のサブカメラの追尾被写体の識別情報SUBJET_IDを、変更後の注目被写体の識別情報MAIN_SUBJECTに変更する。すなわち、CPU101は、処理対象のサブカメラの追尾被写体を変更する。
【0159】
S506でCPU101は、注目被写体の識別情報MAIN_SUBJECTをRAM102に記憶する。
【0160】
制御対象のサブカメラ400a~400cのそれぞれについてS502~S506の処理を実行すると、CPU101は
図9のフローチャートに示した処理を終了する。次に、CPU101は、
図4(a)のS105を実行する。
【0161】
なお、追尾被写体の変更が拒否されたサブカメラについて、
図4(a)のS104の次回以降の実行時に追尾被写体を変更できる状態に変化していれば、注目被写体を追尾被写体とするように変更してもよい。具体的には、CPU101は、追尾被写体を変更できる状態で、追尾被写体が注目被写体と異なるサブカメラについては、注目被写体を追尾被写体とするように変更することができる。
【0162】
このように、本実施形態の撮影制御装置100は、特定の被写体を追尾撮影するように自動制御するサブカメラの状態が「配信中」の場合(すなわち、スイッチャ1000で選択されている場合)には、特定の被写体が変更されても追尾被写体を変更しない。そのため、本線映像の被写体がスイッチャ1000の操作者の意図しない被写体に変更されることを防止できる。また、状態が「プレビュー中」のサブカメラについても特定の被写体が変更されても追尾被写体を変更しないようにすることで、次に本線映像とする予定の被写体がスイッチャ1000の操作者の意図しない被写体に変更されることも防止できる。
【0163】
本実施形態の撮影制御装置100によれば、複数のサブカメラを用いた撮影を少ない人員で簡便に実施することを可能にしつつ、本線映像の被写体が意図せずに変化することを防止できるという効果を実現できる。
【0164】
(変形例)
なお、
図4のS104において、追尾被写体決定部123(CPU101)は、対象のサブカメラ400の追尾被写体を、サブカメラ400に設定されている役割に基づいて決定してもよい。
【0165】
サブカメラ400に設定可能な役割とは、メインカメラが設けられる場合、メインカメラから得られる情報をサブカメラ400の動作制御にどのように利用するかを予め定めたものである。ここでは一例として、サブカメラ400の追尾被写体およびズーム動作の制御にメインカメラの情報を利用するものとする。なお、メインカメラは俯瞰カメラ300とは別のカメラであり、サブカメラとは別に設けられてもよいし、複数のサブカメラの1台をメインカメラに割り当ててもよい。メインカメラをサブカメラとは別に設ける場合、メインカメラは撮影制御装置100が撮影を制御しない(撮影者が操作する)カメラであってよい。メインカメラを設ける場合、例えばユーザがユーザ入力I/F106を通じて撮影制御アプリケーションにメインカメラの識別情報と、サブカメラのそれぞれについて設定する役割とを登録する。
【0166】
メインカメラの追尾被写体は、撮影制御装置100が決定してもよいし、俯瞰カメラ300と同様にメインカメラの映像を撮影制御装置100に入力し、映像からメインカメラにおける追尾被写体を判定してもよい。CPU101は例えば公知の主被写体判定方法を用いて、メインカメラの追尾被写体を判定することができる。例えばCPU101は、画像の中心に最も近い被写体領域を識別して、追尾被写体の識別情報を特定することができる。
【0167】
また、CPU101は、メインカメラのズーム操作およびその位相を、例えばメインカメラの映像の画角変化を検出することによって判定することができる。例えば、被写体領域の大きさや間隔の経時変化などから画角の変化を検出してもよい。あるいは、CPU101は、メインカメラから画角の情報を周期的に取得することにより、メインカメラのズーム操作およびその位相を検出してもよい。
【0168】
図14に、サブカメラ400に設定可能な役割の種類と、対応する制御内容の例を示す。ここでは役割ROLEとして、「メインフォロー」、「メインカウンター」、「アシストフォロー」、「アシストカウンター」のいずれかを設定可能であるものとする。
【0169】
役割ROLEが「メインフォロー」のサブカメラ400について、撮影制御装置100(CPU101)は、メインカメラと同じ追尾被写体を設定し、かつメインカメラがズーム操作された際には、サブカメラ400にも同位相のズーム制御を行う。ここで、同位相とはズームの方向(望遠方向または広角方向)が等しいこと、すなわち画角変化の方向が等しいことを示す。一方、逆位相とはズームの方向(望遠方向または広角方向)が反対方向であること、すなわち画角変化の方向が反対方向であることを示す。なお、ズームの方向が同位相であっても画角はメインカメラ500と等しくなくてもよいし、同位相および逆位相のいずれでもズームの変化度合(変化速度や変化率など)はメインカメラ500と等しくなくてもよい。
【0170】
役割ROLEが「メインカウンター」のサブカメラについて、撮影制御装置100(CPU101)は、メインカメラと同じ追尾被写体を設定し、かつメインカメラがズーム操作された際には、サブカメラには逆位相のズーム制御を行う。したがって、撮影制御装置100(CPU101)は、メインカメラでズームアップ操作された場合、この役割のサブカメラについてはズームダウンするように制御する。なお、ズームアップするとは望遠方向(テレ端方向)へズームを変化させることを示し、ズームダウンするとは広角方向(ワイド端方向)へズームを変化させることを示す。画像処理部406によるズーム制御を行う場合、ズームアップするとは画像から切り出す領域を小さくし切り出した領域の拡大率を領域変更前より大きくすることを示す。一方、ズームダウンするとは画像から切り出す領域を大きくし切り出した領域の拡大率を領域変更前より小さくすることを示す。
【0171】
役割ROLEが「アシストフォロー」のサブカメラについて、撮影制御装置100(CPU101)は、メインカメラと別の追尾被写体を設定し、かつメインカメラがズーム操作された際には、サブカメラにも同位相のズーム制御を行う。
【0172】
役割ROLEが「アシストカウンター」のサブカメラについて、撮影制御装置100(CPU101)は、メインカメラと別の追尾被写体を設定し、かつメインカメラがズーム操作された際には、サブカメラには逆位相のズーム制御を行う。
【0173】
ここでは、役割ROLEが「アシストフォロー」および「アシストカウンター」のサブカメラ400には、画像中、メインカメラの追尾被写体とは別の被写体のうち、左側に存在する被写体を、サブカメラ400の追尾被写体として設定する。なお、サブカメラ400の追尾被写体は別の条件に従って設定してもよい。例えば、画像中、メインカメラの追尾被写体とは別の被写体のうち、右側、上側、または下側に存在する被写体をサブカメラの追尾被写体としてもよい。あるいは、メインカメラの追尾被写体とは別の被写体のうち、最も手前または奥に存在する被写体をサブカメラ400の追尾被写体としてもよい。
【0174】
また、追尾被写体の設定とズーム制御の一方のみを実行したり、さらに別の制御項目を追加してもよい。
【0175】
●<第2実施形態>
次に、本発明の第2実施形態について説明する。本実施形態では、撮影制御装置100の追尾被写体決定動作以外は第1実施形態と同様であってよい。したがって、第1実施形態と共通する装置の構成や動作についての説明は省略する。
【0176】
本実施形態における撮影制御装置100の追尾被写体決定動作について
図11に示すフローチャートを用いて説明する。
図11に示す動作は、例えば
図4(a)のS104の代わりに実施することができる。また、第1実施形態と共通する工程については
図9と同じ参照数字を付して説明を省略する。
【0177】
S501でCPU101は、S103の処理の結果、注目被写体が変更されたか否かを判定し、変更されたと判定されればS602を、判定されなければS601を実行する。
【0178】
S601でCPU101は、追尾被写体の変更予約処理を実行する。この処理の詳細は後述する。CPU101は、追尾被写体の変更予約処理を終了すると、
図11に示すフローチャートの処理を終了する。
【0179】
S602でCPU101はRAM102に被写体変更予約が記憶されているか否かを判定する。被写体変更予約については後述する。CPU101は、被写体変更予約がRAM102に記憶されていると判定されればS603を、判定されなければS502を実行する。
【0180】
S603でCPU101は、RAM102に記憶されている被写体変更予約を削除する。これは、予約が記憶された時点から注目被写体が変わっているからである。その後CPU101はS502を実行する。
【0181】
その後CPU101は、S503で処理対象のサブカメラの状態が「配信中」であると判定された場合にS504に代えてS606を実行することを除き、第1実施形態と同様の処理を行う。本実施形態でも、状態「プレビュー中」の場合に状態「配信中」と同様に処理してもよい。
【0182】
S606でCPU101は、S103で決定した注目被写体の識別情報MAIN_SUBJECTを、追尾被写体の変更予約に含めてRAM102に記憶する。
【0183】
次に、
図12に示すフローチャートを用いて、
図11のS601で行う追尾被写体の変更予約処理の詳細について説明する。
図12において、第1実施形態と共通する工程については
図9と同じ参照数字を付して説明を省略する。なお、追尾被写体の変更予約処理は、
図3のS104を実行するタイミングとは別の任意のタイミングで実行してもよい。追尾被写体の変更予約処理は、サブカメラごとに実行する。
【0184】
S701でCPU101はRAM102に追尾被写体の変更予約が記憶されているか否かを判定する。被写体変更予約については後述する。CPU101は、被写体変更予約がRAM102に記憶されていると判定されればS502を実行し、判定されなければ処理対象のサブカメラを変更してS701を実行する。S701を実行していないサブカメラがなければ、CPU101は
図12のフローチャートに示す処理を終了する。
【0185】
S502でCPU101は、処理対象のサブカメラの状態情報を取得する。状態情報は、サブカメラから直接取得してもよいし、スイッチャ1000から状態情報STREAMINGを取得してもよい。スイッチャ1000から状態情報STREAMINGを取得した場合、すべてのサブカメラの状態情報が含まれているため、残りのサブカメラについてはS502を実行しなくてもよい。
【0186】
S503、S505、S506は第1実施形態と同様である。S505において、注目被写体が前回変更された際に追尾被写体の変更が拒否されたサブカメラについて、状態が「配信中」から変わった(スイッチャ1000で選択されなくなった)ことで、追尾被写体が最新の注目被写体に変更される。S506の後、CPU101はS706を実行する。
【0187】
S706でCPU101は、RAM102に記憶された被写体変更予約を削除する。そして、CPU101は、対象のサブカメラを変更してS701を実行する。S701を実行していないサブカメラがなければ、CPU101は
図12のフローチャートに示す処理を終了する。
【0188】
本実施形態によれば、第1実施形態と同様の効果に加え、追尾被写体の変更が拒否されたサブカメラについて、追尾被写体が変更可能な状態になれば自動的に追尾被写体が変更されるため、使い勝手がよいという効果が実現できる。
【0189】
●<第3実施形態>
次に、本発明の第3実施形態について説明する。本実施形態は、撮影制御装置100によるサブカメラ400の画角制御に関する。撮影制御装置100は、サブカメラ400に制御コマンドを送信することにより、画角を変更することが可能である。例えば、通信ネットワーク600上の図示しない外部装置から、サブカメラ400の画角変更指示を受信した場合、スイッチャ1000の操作者の意図しない画角変更がなされる恐れがある。
【0190】
本実施形態における撮影制御装置100は、本線映像を撮影中のサブカメラについて、スイッチャ1000の操作者の意図しない画角変更がなされないようにする。
【0191】
撮影制御装置100のCPU101は、ネットワークI/F105を通じてズームコマンドを受信すると、
図13のフローチャートに示す処理を実行する。
【0192】
S801でCPU101は、受信したズームコマンドをRAM102に記憶する。ここでは、ズームコマンドに、対象とするサブカメラの識別情報とズーム位置情報とが含まれるものとする。そして、CPU101は、ズームコマンドからズーム位置情報を取得する。
【0193】
ズーム位置は広角端と望遠端との間で変化し、画角を変更することができる。例えば、ズーム位置情報は、ズームレンズを駆動するステッピングモータのステップ数を示し、ズーム位置は”0”から”300”ステップの間で変化する。ここで、ズーム位置情報は例えば35mmフルサイズの撮像素子に対応した撮影光学系の焦点距離(mm)であってもよく、その場合は望遠側のズーム位置情報であるズーム値は広角側のズーム位置情報であるズーム値よりも大きくなる。なお、画角を一意に示すズーム位置情報の代わりに、ズームアップまたはダウンの指示がズームコマンドに含まれてもよい。ズームアップまたはダウン指示は、現在の画角に対して一定量の画角を変化させる指示である。一定量は、例えば駆動部におけるズーム駆動単位や、デジタルズームの倍率制御単位に基づいて予め定められているものとする。
【0194】
S803でCPU101はスイッチャ1000から状態情報STREAMINGを取得し、RAM102に 記憶する。なお、状態情報はサブカメラ400から個別に取得してもよい。
【0195】
S804でCPU101は、RAM102に記憶した状態情報STREAMINGを参照し、ズームコマンドで指定されたサブカメラ400の状態を取得する。そして、CPU101は、状態が「配信中」か否かを判定する。CPU101は、状態が「配信中」と判定されればS805を、判定されなければS807を実行する。
【0196】
S805でCPU101は、RAM102から、本線映像(スイッチャ1000が出力中の映像)を撮影中のサブカメラの画角変更(あるいは、本線映像の画角変更)が許可されているか否かを示す設定値(許可設定値)を読み出す。許可設定値は予め設定されているものとする。
【0197】
なお、許可設定値はズームコマンドを受信した際、スイッチャ1000に対して設定画面のデータを送信し、スイッチャ1000の操作者に設定させてもよい。CPU101は、ネットワークI/F105を通じてスイッチャ1000から許可設定値を受信すると、許可設定値をRAM102に記憶する。
【0198】
CPU101は、許可設定値を参照し、本線映像の画角変更が許可されていると判定されればS807を、判定されなければ
図13のフローチャートに示した処理を終了する。このように、本線映像の画角変更が許可されていると判定されなければ、ズームコマンドは実行されない。この場合、CPU101は、ズームコマンドを送信した外部装置に対し、ズームが許可されないことを通知してもよい。
【0199】
S807でCPU101は、ズーム位置情報に基づいて、指定されたサブカメラ400に対する制御コマンドを生成し、RAM102に記憶する。
【0200】
S808でCPU101は、RAM102から制御コマンドを読み出し、ネットワークI/F105を通じて、指定されたサブカメラ400に送信する。
【0201】
本実施形態の撮影制御装置100は、本線映像を撮影しているサブカメラに対する画角変更(あるいは本線映像の画角変更)を許可するか否かを制御可能である。そして、撮影制御装置100は、本線映像を撮影しているサブカメラに対する画角変更指示を受信した場合、画角変更が許可されている場合のみ、画角変更を実行する。そのため、スイッチャの操作者が意図しない本線映像の画角変更を防止することができる。
【0202】
なお、画角変更に限らず、サブカメラ400の映像に影響を与え、かつ撮影制御装置100が制御可能なパラメータ(例えば合焦距離や露出条件など)についても、画角変更と同様に制御することができる。また、許可設定値はパラメータごとに設定することができる。
【0203】
(その他の実施形態)
上述した実施形態では、撮影制御装置100が独立した装置である構成について説明した。しかしながら、他の装置(例えばスイッチャ1000またはサブカメラ400)に撮影制御装置100と同様の機能を持たせてもよい。
【0204】
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0205】
本実施形態の開示は、以下の撮影制御装置、撮影制御方法、撮像システム、およびプログラムを含む。
(項目1)
撮影範囲内の特定の被写体を追尾被写体として決定する決定手段と、
前記追尾被写体を追尾して撮影するようにカメラの撮影方向を制御する制御手段と、を有する撮影制御装置であって、
前記決定手段は、前記カメラの撮影した映像が外部の選択装置によって特定の映像として選択されている場合、前記カメラが追尾すべき前記追尾被写体を変更しない、
ことを特徴とする撮影制御装置。
(項目2)
前記特定の映像が、前記選択装置が出力する映像であることを特徴とする項目1に記載の撮影制御装置。
(項目3)
前記特定の映像が、前記選択装置が出力する映像または前記選択装置が次に出力する予定の映像であることを特徴とする項目1に記載の撮影制御装置。
(項目4)
前記決定手段は、前記カメラの撮影した映像が前記選択装置によって前記特定の映像として選択されていない場合、前記カメラが追尾すべき前記追尾被写体の変更を可能とする、ことを特徴とする項目1から3のいずれか1項に記載の撮影制御装置。
(項目5)
前記決定手段は、前記撮影範囲を撮影する、前記カメラとは別のカメラの追尾被写体に応じて前記カメラの前記追尾被写体を決定することを特徴とする項目1から4のいずれか1項に記載の撮影制御装置。
(項目6)
前記制御手段は、前記撮影範囲を撮影する、前記カメラとは別のカメラの画角に応じて前記カメラの画角を制御することを特徴とする項目5に記載の撮影制御装置。
(項目7)
前記カメラに設定されている役割の種類に応じて、前記別のカメラの追尾被写体および画角を前記カメラの制御にどのように利用するかが異なることを特徴とする項目6に記載の撮影制御装置。
(項目8)
前記撮影範囲を撮影した映像から、前記撮影範囲内の被写体を識別する識別手段をさらに有し、
前記決定手段は、前記識別された被写体のうち、注目被写体として決定された被写体を前記追尾被写体として決定する、
ことを特徴とする項目1から7のいずれか1項に記載の撮影制御装置。
(項目9)
前記注目被写体が、前記撮影制御装置のユーザによって決定されることを特徴とする項目8に記載の撮影制御装置。
(項目10)
前記注目被写体が、前記撮影制御装置によって決定されることを特徴とする項目8に記載の撮影制御装置。
(項目11)
前記撮影範囲を撮影した映像が、前記撮影範囲の全体を固定の方向および画角で撮影した映像であることを特徴とする項目8から10のいずれか1項に記載の撮影制御装置。
(項目12)
前記撮影範囲を撮影した映像が、前記カメラとは別の、前記撮影制御装置が撮影を制御しないカメラで撮影した映像であることを特徴とする項目8から10のいずれか1項に記載の撮影制御装置。
(項目13)
前記撮影範囲を撮影した画像に前記注目被写体と前記追尾被写体とを示す指標を重畳した画像を表示装置に表示させることを特徴とする項目8から12のいずれか1項に記載の撮影制御装置。
(項目14)
前記注目被写体と前記追尾被写体が同一の場合と異なる場合とで、前記指標を視覚的に異ならせることを特徴とする項目13に記載の撮影制御装置。
(項目15)
前記決定手段は、前記注目被写体が変化した際、前記カメラの撮影した映像が前記選択装置によって前記特定の映像として選択されていたことによって前記追尾被写体を変更しなかった場合、前記カメラの撮影した映像が前記選択装置によって前記特定の映像として選択されなくなった後、最新の前記注目被写体を前記追尾被写体として決定する、ことを特徴とする項目8から14のいずれか1項に記載の撮影制御装置。
(項目16)
外部から、前記カメラの映像に影響を与える変更の指示を受信した場合、前記制御手段は、前記カメラの撮影した映像が前記選択装置によって前記特定の映像として選択されている場合、前記変更が許可されていなければ前記指示を実行しない、ことを特徴とする項目1から15のいずれか1項に記載の撮影制御装置。
(項目17)
前記カメラの映像に影響を与える変更が、前記カメラの画角、合焦距離、および露出条件のいずれかの変更であることを特徴とする項目16に記載の撮影制御装置。
(項目18)
撮影制御装置が実行する撮影制御方法であって、
撮影範囲内の特定の被写体を追尾被写体として決定することと、
前記追尾被写体を追尾して撮影するようにカメラの撮影方向を制御することと、を有し、
前記決定することは、前記カメラの撮影した映像が外部の選択装置によって特定の映像として選択されている場合、前記カメラが追尾すべき前記追尾被写体を変更しないことを含む、
ことを特徴とする撮影制御方法。
(項目19)
項目1から17のいずれか1項に記載の撮影制御装置と、
前記撮影制御装置が撮影を制御する1つ以上のカメラと、
前記選択装置と、
前記撮影制御装置と、前記カメラと、前記選択装置とを通信可能に接続する通信ネットワークと、を有することを特徴とする撮像システム。
(項目20)
コンピュータを、項目1から17のいずれか1項に記載の撮影制御装置が有する各手段として機能させるためのプログラム。
【0206】
本発明は上述した実施形態の内容に制限されず、発明の精神および範囲から離脱することなく様々な変更及び変形が可能である。したがって、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0207】
100…制御装置、300…俯瞰カメラ、400…サブカメラ、1000…スイッチャ、101…CPU、102…RAM、103…ROM、104…推論部、105…ネットワークI/F、106…ユーザー入力I/F