JP2023139725A - 画像処理システム、画像処理システムの制御方法、及びプログラム。 - Google Patents
画像処理システム、画像処理システムの制御方法、及びプログラム。 Download PDFInfo
- Publication number
- JP2023139725A JP2023139725A JP2022045409A JP2022045409A JP2023139725A JP 2023139725 A JP2023139725 A JP 2023139725A JP 2022045409 A JP2022045409 A JP 2022045409A JP 2022045409 A JP2022045409 A JP 2022045409A JP 2023139725 A JP2023139725 A JP 2023139725A
- Authority
- JP
- Japan
- Prior art keywords
- image
- crop
- area
- cropped
- areas
- 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
Links
- 238000000034 method Methods 0.000 title claims description 47
- 238000003384 imaging method Methods 0.000 claims abstract description 145
- 239000002131 composite material Substances 0.000 claims description 31
- 230000010354 integration Effects 0.000 claims description 18
- 238000005520 cutting process Methods 0.000 claims description 8
- 230000002194 synthesizing effect Effects 0.000 claims description 4
- 239000000203 mixture Substances 0.000 claims 2
- 238000004891 communication Methods 0.000 description 62
- 230000008569 process Effects 0.000 description 31
- 230000004044 response Effects 0.000 description 12
- 238000003860 storage Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 238000009826 distribution Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Landscapes
- Studio Devices (AREA)
- Closed-Circuit Television Systems (AREA)
Abstract
【課題】被写体の状況に応じてより好適な態様で撮像画像の一部を切り出した画像を生成可能とする。【解決手段】画像処理システムは、撮像装置100と、制御装置200とを含む。制御装置200は、撮像装置100による撮像結果に応じた画像中に複数のクロップ領域を設定し、当該複数のクロップ領域のうちの少なくとも一部のクロップ領域中の被写体を追尾対象として設定する。また、制御装置200は、画像中に設定された複数のクロップ領域または複数の追尾対象の重なりに応じて、当該画像中に設定されたクロップ領域を更新する。【選択図】図8
Description
本開示は、撮像装置及び制御装置を含む画像処理システム、制御装置、画像処理システムの制御方法、制御装置の制御方法、及びプログラムに関する。
近年では、映像制作の分野において、インターネット等のようなIP(Internet Protocol)ネットワークを利用した動画編集・配信システムが各種提案されている。また、近年では、撮像装置の画質設定をPCやコントローラ等を利用してIPネットワークを介して遠隔から制御可能とするシステムや、撮像装置による撮像結果に応じた画像を他の装置にIPネットワークを介して転送可能とするシステムも提案されている。
加えて、撮像装置の動作を制御するシステムとして、撮像結果に応じた画像のうち一部の領域を切り出して出力する機能を有したものも提案されている。特許文献1には、撮像結果に応じた画像中の複数の領域をクロップしたうえで、複数のクロップ画像を合成して出力する技術について開示されている。また、特許文献2には、撮像対象の被写体を自動でトラッキングしながら、当該被写体を含む領域をクロップする技術について開示されている。
一方で、少なくとも一部が互いに重なる複数のクロップ領域から切り出した複数のクロップ画像が合成されるような状況下では、当該複数のクロップ領域に共通で含まれる被写体が個別に複数表示された合成画像が生成される場合がある。このような合成画像は、必ずしも見映えが良いとは言えない場合があり、当該合成画像を視聴する視聴者にとって好ましいものではない場合もある。
本発明は上記の問題を鑑み、被写体の状況に応じてより好適な態様で撮像画像の一部を切り出した画像を生成可能とすることを目的とする。
本発明に係る画像処理システムは、撮像装置と、当該撮像装置の動作を制御する制御装置と、を含む画像処理システムであって、前記制御装置は、前記撮像装置による撮像結果に応じた画像中に複数のクロップ領域を設定し、当該複数のクロップ領域のうちの少なくとも一部のクロップ領域中の被写体を追尾対象として設定するクロップ領域設定手段を有し、前記クロップ領域設定手段は、前記画像中に設定された複数のクロップ領域または複数の追尾対象の重なりに応じて、当該画像中に設定されたクロップ領域を更新することを特徴とする。
本発明によれば、被写体の状況に応じてより好適な態様で撮像画像の一部を切り出た画像を生成することが可能となる。
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
また、本開示では、動画像と静止画像とを特に区別しない場合には、便宜上、「画像」と称する場合がある。すなわち、画像と記載した場合には、特に制約が無い限り、動画像と静止画像との双方を含み得るものとする。
また、本開示では、動画像と静止画像とを特に区別しない場合には、便宜上、「画像」と称する場合がある。すなわち、画像と記載した場合には、特に制約が無い限り、動画像と静止画像との双方を含み得るものとする。
<はじめに>
近年、映像制作の分野において、インターネット等のようなIPネットワークを利用した動画編集・配信システムが各種提案されている。一般的なシステムでは、IPネットワークに接続されたデジタルビデオカメラ等のような撮像装置が出力する画像や音声等のデータは、スイッチャー等の画像編集機器で受信され、必要に応じて放送用映像として編集されてから配信や出力が行われる。
また、近年では、撮像装置の画質設定をPCやコントローラ等を利用してIPネットワークを介して遠隔から制御可能とするシステムや、撮像装置による撮像結果に応じた画像を他の装置にIPネットワークを介して転送可能とするシステムも提案されている。このようなシステムが導入されることで、例えば、撮影現場にカメラマンがいないような状況下においても、撮像装置をリモートコントロールすることで撮影が可能となる。
加えて、撮像装置の動作を制御するシステムとして、撮像結果に応じた画像のうち一部の領域を切り出して出力する機能を有したものも提案されている。
近年、映像制作の分野において、インターネット等のようなIPネットワークを利用した動画編集・配信システムが各種提案されている。一般的なシステムでは、IPネットワークに接続されたデジタルビデオカメラ等のような撮像装置が出力する画像や音声等のデータは、スイッチャー等の画像編集機器で受信され、必要に応じて放送用映像として編集されてから配信や出力が行われる。
また、近年では、撮像装置の画質設定をPCやコントローラ等を利用してIPネットワークを介して遠隔から制御可能とするシステムや、撮像装置による撮像結果に応じた画像を他の装置にIPネットワークを介して転送可能とするシステムも提案されている。このようなシステムが導入されることで、例えば、撮影現場にカメラマンがいないような状況下においても、撮像装置をリモートコントロールすることで撮影が可能となる。
加えて、撮像装置の動作を制御するシステムとして、撮像結果に応じた画像のうち一部の領域を切り出して出力する機能を有したものも提案されている。
また、スイッチャーは、複数の画像を指定されたレイアウトで1つの画像として合成したうえで、当該画像(以下、合成画像とも称する)を出力する機能を有するものもある。これにより、例えば、複数台の撮像装置それぞれによる撮像結果に応じた画像を合成したり、1台または複数台の撮像装置による撮像結果に応じた画像から切り出された複数のクロップ画像を合成したりすることも可能となる。
例えば、図1(a)は、ネットワークを介して接続された撮像装置を遠隔操作し、当該撮像装置による撮像結果に応じた画像を、ネットワークを介して配信または出力する画像処理システムのシステム構成の一例を示している。図1(a)に示す画像処理システムは、撮像装置100と、制御装置200と、スイッチャー300と含み、これらの構成要素がネットワーク600(例えば、IPネットワーク)を介して相互に情報を送受信可能に接続されて構成されている。
制御装置200は、撮像装置100による撮像結果に応じた画像のデータを受信し、当該データに基づく画像500を所定の表示領域に表示する。そのうえで、制御装置200は、画像500中に切り出しの対象となるクロップ領域を設定する。例えば、510及び520は、画像500中に設定されたクロップ領域の一例を示している。
スイッチャー300は、撮像装置100による撮像結果に応じた画像から、制御装置200により指定されたクロップ領域を切り出し、切り出されたクロップ画像を所定のレイアウトで合成したうえで、合成画像を所定の出力先に出力する。例えば、図1(a)に示す例では、スイッチャー300は、クロップ領域510及び520それぞれを切り出した複数のクロップ画像を合成したうえで、合成画像をディスプレイとして構成された出力装置400に出力している。
制御装置200は、撮像装置100による撮像結果に応じた画像のデータを受信し、当該データに基づく画像500を所定の表示領域に表示する。そのうえで、制御装置200は、画像500中に切り出しの対象となるクロップ領域を設定する。例えば、510及び520は、画像500中に設定されたクロップ領域の一例を示している。
スイッチャー300は、撮像装置100による撮像結果に応じた画像から、制御装置200により指定されたクロップ領域を切り出し、切り出されたクロップ画像を所定のレイアウトで合成したうえで、合成画像を所定の出力先に出力する。例えば、図1(a)に示す例では、スイッチャー300は、クロップ領域510及び520それぞれを切り出した複数のクロップ画像を合成したうえで、合成画像をディスプレイとして構成された出力装置400に出力している。
一方で、少なくとも一部が互いに重なる複数のクロップ領域から切り出された複数のクロップ画像が合成されるような状況下では、当該複数のクロップ領域に共通で含まれる被写体が個別に複数表示された合成画像が生成される場合もある。
例えば、図1(b)は、図1(a)に示す状態から、複数の被写体が互いに近づくように移動することで、クロップ領域510の一部とクロップ領域520の一部とが重なった状況を模式的に示している。図1(b)に示す例では、出力装置400に表示される合成画像には、クロップ領域510及び520それぞれに対応する領域に、これらのクロップ領域が互いに重なりあった部分の画像が個別に表示されている。このような合成画像は、必ずしも見映えが良いとは言えない場合があり、当該合成画像を視聴する視聴者にとって好ましいものではない場合もある。
このような事態の発生を回避する手法の一例として、互いに近接した複数の被写体が含まれるように1つの新たなクロップ領域を再設定することで、当該新たなクロップ領域を切り出したクロップ画像を出力装置400に表示させる手法が挙げられる。しかしながら、時々刻々と変化する被写体の状況に応じて、その都度、上記に例示したようにクロップ領域を再設定するような操作は、ユーザにとって非常に煩わしいものである。
例えば、図1(b)は、図1(a)に示す状態から、複数の被写体が互いに近づくように移動することで、クロップ領域510の一部とクロップ領域520の一部とが重なった状況を模式的に示している。図1(b)に示す例では、出力装置400に表示される合成画像には、クロップ領域510及び520それぞれに対応する領域に、これらのクロップ領域が互いに重なりあった部分の画像が個別に表示されている。このような合成画像は、必ずしも見映えが良いとは言えない場合があり、当該合成画像を視聴する視聴者にとって好ましいものではない場合もある。
このような事態の発生を回避する手法の一例として、互いに近接した複数の被写体が含まれるように1つの新たなクロップ領域を再設定することで、当該新たなクロップ領域を切り出したクロップ画像を出力装置400に表示させる手法が挙げられる。しかしながら、時々刻々と変化する被写体の状況に応じて、その都度、上記に例示したようにクロップ領域を再設定するような操作は、ユーザにとって非常に煩わしいものである。
以上のような状況を鑑み、本開示では、被写体の状況に応じてより好適な態様で撮像画像の一部を切り出した画像を生成可能とする技術の一例について提案する。
<システム構成>
図2を参照して、本実施形態に係る画像処理システムのシステム構成の一例について説明する。本実施形態に係る画像処理システムは、撮像装置100と、制御装置200と、スイッチャー300とを含む。撮像装置100と、制御装置200と、スイッチャー300とは、ネットワーク600を介して相互の情報を送受信可能に接続されている。
なお、撮像装置100と、制御装置200と、スイッチャー300とを相互に接続することが可能であれば、ネットワーク600の種別は特に限定はされない。具体的な一例として、ネットワーク600は、前述したように、インターネット等のようなIPネットワークにより構成されていてもよい。また、他の一例として、ネットワーク600は、専用線、LAN(Local Area Network)、または、WAN(Wide Area Network)等により構成されていてもよい。また、ネットワーク600は、有線のネットワークにより構成されていてもよいし、無線のネットワークにより構成されていてもよい。
図2を参照して、本実施形態に係る画像処理システムのシステム構成の一例について説明する。本実施形態に係る画像処理システムは、撮像装置100と、制御装置200と、スイッチャー300とを含む。撮像装置100と、制御装置200と、スイッチャー300とは、ネットワーク600を介して相互の情報を送受信可能に接続されている。
なお、撮像装置100と、制御装置200と、スイッチャー300とを相互に接続することが可能であれば、ネットワーク600の種別は特に限定はされない。具体的な一例として、ネットワーク600は、前述したように、インターネット等のようなIPネットワークにより構成されていてもよい。また、他の一例として、ネットワーク600は、専用線、LAN(Local Area Network)、または、WAN(Wide Area Network)等により構成されていてもよい。また、ネットワーク600は、有線のネットワークにより構成されていてもよいし、無線のネットワークにより構成されていてもよい。
撮像装置100は、所謂画像センサー等を含む撮像部を備え、撮像結果に応じた画像のデータ(以下、画像データとも称する)を、ネットワーク600を介して他の装置(例えば、制御装置200やスイッチャー300等)に送信する。
制御装置200は、ネットワーク600を介して撮像装置100及びスイッチャー300それぞれの動作を制御する。例えば、制御装置200は、ネットワーク600を介して撮像装置100から画像データを取得して、当該画像データに基づき当該撮像装置100による撮像結果に応じた画像を所定の出力装置に表示させることで、当該画像をユーザに提示する。また、制御装置200は、所定の入力装置を介したユーザからの指示に応じて、ネットワーク600を介して撮像装置100の動作の制御(例えば、撮像条件の制御等)を行う。また、制御装置200は、撮像装置100の動作の制御に伴い、ネットワーク600を介してスイッチャー300の動作の制御をあわせて行ってもよい。
スイッチャー300は、ネットワーク600を介して撮像装置100から画像データを取得して、当該画像データが示す画像に対して、レイアウト変更、エフェクト追加等のような画像処理を施したうえで、所定の出力先(例えば、出力装置400)に出力する。
制御装置200は、ネットワーク600を介して撮像装置100及びスイッチャー300それぞれの動作を制御する。例えば、制御装置200は、ネットワーク600を介して撮像装置100から画像データを取得して、当該画像データに基づき当該撮像装置100による撮像結果に応じた画像を所定の出力装置に表示させることで、当該画像をユーザに提示する。また、制御装置200は、所定の入力装置を介したユーザからの指示に応じて、ネットワーク600を介して撮像装置100の動作の制御(例えば、撮像条件の制御等)を行う。また、制御装置200は、撮像装置100の動作の制御に伴い、ネットワーク600を介してスイッチャー300の動作の制御をあわせて行ってもよい。
スイッチャー300は、ネットワーク600を介して撮像装置100から画像データを取得して、当該画像データが示す画像に対して、レイアウト変更、エフェクト追加等のような画像処理を施したうえで、所定の出力先(例えば、出力装置400)に出力する。
なお、図2に示す構成はあくまで一例であり、必ずしも本実施形態に係る画像処理システムのシステム構成を限定するものではない。具体的な一例として、図2に示す例では、撮像装置100が1台の場合について示しているが、複数の撮像装置100を1つの制御装置200により制御する構成とすることも可能である。また、この場合には、スイッチャー300が複数の撮像装置100それぞれから画像データを受信し、各画像データが示す画像を適宜切り替えて所定の出力先に出力する構成とすることも可能である。また、スイッチャー300が、複数の撮像装置100それぞれから受信した画像データが示す画像(例えば、クロップ画像)を合成したうえで、合成画像を所定の出力先に出力する構成とすることも可能である。
続いて、撮像装置100の構成の一例について詳細に説明する。撮像装置100は、CPU(Central Processing Unit)110と、RAM(Random Access Memory)120と、ROM(Read Only Memory)130とを含む。また、撮像装置100は、画像センサー170と、画像キャプチャI/F(Interface)140と、ネットワークI/F150とを含む。CPU110、RAM120、ROM130、画像キャプチャI/F140、及びネットワークI/F150は、内部バス160を介して相互の接続されている。
CPU110は、撮像装置100全体の動作を制御する。ROM130は、CPU110により実行されるOSや各種プログラムが記憶されている。RAM120は、CPU110の主記憶メモリであり、ワークエリアや各種プログラムを展開するための一時記憶領域として用いられる。また、RAM120は、後述する画像センサー170による撮像結果に応じた画像データ等のような各種データを一時的に保持するための記憶領域として使用されてもよい。CPU110は、ROM130に記憶されたOSや各種プログラム読み出したうえで、RAM120に展開して実行することで、撮像装置100の各種制御を実現する。また、図2では図示を省略しているが、撮像装置100は、後述する画像センサー170による撮像結果に応じた画像データ等の各種データや、CPU110により実行されるプログラム等を記憶するための補助記憶装置を含んでもよい。当該補助記憶装置は、例えば、HDD(Hard Disk Drive)や、SSD(Solid State Drive)等の不揮発性メモリ等により実現され得る。
画像センサー170は、撮像範囲内の被写体を撮像し、撮像結果に応じた映像信号を出力する。画像センサー170は、例えば、CMOS(Complementary Metal Oxide Semiconductor)や、CCD(Charge Coupled Device)により実現され得る。
画像キャプチャI/F140は、画像センサー170に接続されており、当該画像センサー170から出力される映像信号を所定のフォーマットの画像データに変換したうえで、必要に応じて圧縮処理等を施してRAM120に転送する。また、画像キャプチャI/F140は、画像センサー170が撮像を行う際のズーム、フォーカス、及び露出制御等のような撮像条件の調整(換言すると、撮像画像の画質調整に係る制御)や、撮像画像中の一部の領域を切り出すクロップ処理等を行ってもよい。これらの処理については、例えば、制御装置200等のような外部装置からのネットワークI/F150を介した指示に基づき実行されてもよい。
画像キャプチャI/F140は、画像センサー170に接続されており、当該画像センサー170から出力される映像信号を所定のフォーマットの画像データに変換したうえで、必要に応じて圧縮処理等を施してRAM120に転送する。また、画像キャプチャI/F140は、画像センサー170が撮像を行う際のズーム、フォーカス、及び露出制御等のような撮像条件の調整(換言すると、撮像画像の画質調整に係る制御)や、撮像画像中の一部の領域を切り出すクロップ処理等を行ってもよい。これらの処理については、例えば、制御装置200等のような外部装置からのネットワークI/F150を介した指示に基づき実行されてもよい。
ネットワークI/F150は、撮像装置100をネットワーク600に接続させるためのネットワークI/Fである。ネットワークI/F150は、例えば、Ethernet(登録商標)等のような通信媒体を介して制御装置200やスイッチャー300等のようなネットワーク600に接続された外部装置との通信を行う。これにより、撮像装置100は、制御装置200との間でのカメラ制御コマンドの送受信や、制御装置200やスイッチャー300への画像センサー170による撮像結果に応じた画像データの送信(換言すると、カメラ映像の配信)が可能となる。
なお、説明を簡単にするために、撮像装置100の遠隔制御がネットワークI/F150を介して行われる場合について説明したが、必ずしも本実施形態に係る画像形成システムの構成を限定するものではない。具体的な一例として、撮像装置100が不図示のシリアル通信I/F等のようなネットワークI/F150以外の他のI/Fを備えていてもよく、当該他のI/Fを介して当該撮像装置100の遠隔制御が行われてもよい。また、撮像装置100から外部装置への画像データの送信についても、ネットワークI/F150を介した送信に限らず、不図示の映像出力I/Fのような他のI/Fを介して行われてもよい。当該映像出力I/Fとしては、例えば、HDMI(登録商標)(High-Definition Multimedia Interface)やSDI(Serial Digital Interface)等が挙げられる。
続いて、制御装置200の構成について説明する。制御装置200は、CPU210と、RAM220と、ROM230と、ユーザ入出力I/F240と、ネットワークI/F250とを含む。CPU210、RAM220、ROM230、ユーザ入出力I/F240、及びネットワークI/F250は、内部バス260を介して相互の接続されている。
CPU210は、制御装置200全体の動作を制御する。ROM230は、CPU210により実行されるOSや各種プログラムが記憶されている。RAM220は、CPU210の主記憶メモリであり、ワークエリアや各種プログラムを展開するための一時記憶領域として用いられる。CPU210は、ROM230に記憶されたOSや各種プログラム読み出したうえで、RAM220に展開して実行することで、制御装置200の各種制御を実現する。また、図2では図示を省略しているが、制御装置200は、画像データ等の各種データや、CPU210により実行されるプログラム等を記憶するための補助記憶装置を含んでもよい。当該補助記憶装置は、例えば、HDDや、SSD等の不揮発性メモリ等により実現され得る。
ユーザ入出力I/F240は、制御装置200に対するユーザからの指示の受け付けや、ユーザに対する各種情報(例えば、撮像装置100による撮像結果に応じた画像等)の提示を行うためのI/Fである。ユーザ入出力I/F240の一例として、ボタン、ダイヤル、ジョイスティック、ディスプレイ、及びタッチパネル等が挙げられる。また、タッチパネルとディスプレイとは、画面上に対する指等のような操作体によるタッチ操作の位置が検出可能なタッチパネル搭載型ディスプレイとして一体的に構成されていてもよい。ユーザは、上記に例示したユーザ入出力I/F240を介して制御装置200を操作することで、例えば、当該制御装置200にネットワーク600を介して接続された撮像装置100やスイッチャー300の動作を制御することが可能となる。また、ユーザは、制御装置200にネットワーク600を介して接続された撮像装置100による撮像結果に応じた画像を、ディスプレイとして構成されたユーザ入出力I/F240を介して確認することも可能となる。
ネットワークI/F250は、制御装置200をネットワーク600に接続させるためのネットワークI/Fである。ネットワークI/F250は、例えば、Ethernet(登録商標)等のような通信媒体を介して撮像装置100やスイッチャー300等のようなネットワーク600に接続された外部装置との通信を行う。これにより、制御装置200は、撮像装置100やスイッチャー300との間の制御コマンドの送受信や、撮像装置100からの撮像結果に応じた画像データの受信が可能となる。
なお、説明を簡単にするために、制御装置200による撮像装置100やスイッチャー300の遠隔制御がネットワークI/F250を介して行われる場合について説明したが、必ずしも本実施形態に係る画像形成システムの構成を限定するものではない。具体的な一例として、制御装置200が不図示のシリアル通信I/F等のようなネットワークI/F150以外の他のI/Fを備えていてもよく、当該他のI/Fを介して撮像装置100やスイッチャー300の遠隔制御が行われてもよい。また、撮像装置100から送信される画像データの受信についても、ネットワークI/F150を介した受信に限らず、不図示の映像入力I/Fのような他のI/Fを介して行われてもよい。当該映像入力I/Fとしては、例えば、HDMIやSDI等が挙げられる。
続いて、スイッチャー300の構成について説明する。スイッチャー300は、CPU310と、RAM320と、ROM330と、ユーザ入出力I/F340と、映像出力I/F350と、ネットワークI/F360とを含む。CPU310、RAM320、ROM330、ユーザ入出力I/F340、映像出力I/F350、及びネットワークI/F360は、内部バス370を介して相互の接続されている。
CPU310は、スイッチャー300全体の動作を制御する。ROM330は、CPU310により実行されるOSや各種プログラムが記憶されている。RAM320は、CPU310の主記憶メモリであり、ワークエリアや各種プログラムを展開するための一時記憶領域として用いられる。CPU310は、ROM330に記憶されたOSや各種プログラム読み出したうえで、RAM320に展開して実行することで、スイッチャー300の各種制御を実現する。また、図2では図示を省略しているが、スイッチャー300は、画像データ等の各種データや、CPU310により実行されるプログラム等を記憶するための補助記憶装置を含んでもよい。当該補助記憶装置は、例えば、HDDや、SSD等の不揮発性メモリ等により実現され得る。
ユーザ入出力I/F340は、スイッチャー300に対するユーザからの指示を受け付けるためのI/Fである。ユーザ入出力I/F340の一例として、ボタン及びダイヤル等が挙げられる。ユーザは、上記に例示したユーザ入出力I/F240を介した操作により、例えば、スイッチャー300に配信された複数の画像データそれぞれに対応する複数の画像のうちのいずれを出力の対象とするかを切り替えることが可能となる。また、ユーザ入出力I/F240を介した操作により、出力対象となる画像を切り替える際のエフェクト設定や、複数の画像を合成する際のレイアウト設定等が可能であってもよい。
映像出力I/F350は、スイッチャー300が外部装置から受信した画像データに基づく画像を、例えば、SDI端子、HDMI端子、DisplayPort端子等の映像端子から外部に映像信号として出力するための映像出力I/Fである。映像出力I/F350と外部装置とをケーブル等により接続することで、上記映像信号を当該外部装置に出力することが可能となる。図2に示す例では、映像出力I/F350は、ディスプレイとして構成された出力装置400に映像信号を出力するものとする。
ネットワークI/F360は、スイッチャー300をネットワーク600に接続させるためのネットワークI/Fである。ネットワークI/F360は、例えば、Ethernet(登録商標)等のような通信媒体を介して撮像装置100や制御装置200等のようなネットワーク600に接続された外部装置との通信を行う。これにより、スイッチャー300は、撮像装置100からの撮像結果に応じた画像データの受信や、制御装置200との間の制御コマンドの送受信が可能となる。
なお、説明を簡単にするために、スイッチャー300の遠隔制御がネットワークI/F150を介して行われる場合について説明したが、必ずしも本実施形態に係る画像形成システムの構成を限定するものではない。具体的な一例として、スイッチャー300が不図示のシリアル通信I/F等のようなネットワークI/F150以外の他のI/Fを備えていてもよく、当該他のI/Fを介して当該スイッチャー300の遠隔制御が行われてもよい。また、撮像装置100からの画像データの受信についても、ネットワークI/F150を介した受信に限らず、不図示の映像出力I/Fのような他のI/Fを介して行われてもよい。当該映像出力I/Fとしては、例えば、HDMIやSDI等が挙げられる。
また、図2に示す構成はあくまで一例であり、必ずしも本開示の一実施形態に係る画像処理システムの構成を限定するものではない。例えば、図2に例示した各装置のうち、一部の装置が、他の装置の役割をも担ってもよい。具体的な一例として、制御装置200が、スイッチャー300の役割を担ってもよい。この場合には、例えば、制御装置200とスイッチャー300とが一体的に構成されていてもよい。また、他の一例として、スイッチャー300の一部の機能(例えば、合成画像の生成に係る機能等)が、制御装置200側に設けられていてもよい。また、図2に例示した各装置のうち、少なくとも一部の装置の機能が、複数の装置が協働することで実現されてもよい。このように、本開示に係る技術を実現することが可能であれば、そのための構成については特に限定はされない。
<ソフトウェア構成>
図3を参照して、撮像装置100、制御装置200、及びスイッチャー300それぞれのソフトウェア構成の一例について説明する。
図3を参照して、撮像装置100、制御装置200、及びスイッチャー300それぞれのソフトウェア構成の一例について説明する。
まず、図3(a)を参照して、撮像装置100のソフトウェア構成の一例について説明する。撮像装置100のソフトウェアとしては、主に、基本ソフトウェアとして動作するOS(Operating System)701と、当該OS701上で動作する画像処理プログラム702及び通信制御プログラム703とを含む。OS701、画像処理プログラム702、及び通信制御プログラム703は、RAM120に展開されたうえで、CPU110により実行される。
OS701は、撮像装置100全体の動作を制御する。また、画像処理プログラム702及び通信制御プログラム703の動作は、OS701により制御される。
画像処理プログラム702は、画像キャプチャI/F140を制御し、外部装置からのリクエストや他のプログラムからの指示に応じて、画像センサー170から出力される映像信号に基づき画像データを生成する。また、画像処理プログラム702は、外部装置や他のプログラムからの指示に応じて、生成した画像データに対して各種画像処理を行ってもよい。当該画像処理としては、例えば、画像の明るさ、色味、サイズ等の変更や、画像中の一部の領域の切り出し、JPEG等の静止画像のデータやH.264等の動画像のデータへの変換等に係る処理が挙げられる。画像処理プログラム702は、画像処理が施された画像データや当該画像処理の結果を示す情報を通信制御プログラム703に出力してもよい。
通信制御プログラム703は、ネットワークI/F150を制御し、ネットワーク600を介して制御装置200やスイッチャー300等の外部装置と通信を行う。具体的な一例として、通信制御プログラム703は、画像センサー170による撮像結果に応じた画像データの取得リクエストや、撮像画像に対する画像処理リクエストを外部装置から受信してもよい。この場合には、通信制御プログラム703は、受信した上記リクエストを画像処理プログラム702に転送する。また、通信制御プログラム703は、画像処理プログラム702から出力される画像処理が施された画像データや当該画像処理の結果を示す情報を、画像処理リクエストに対するレスポンスやカメラ情報の更新通知として外部装置に送信する。
なお、上記に例示したネットワーク600を介したリクエストの送受信については、例えば、http(Hypertext Transfer Protocol)等のような、一般的な通信プロトコルが使用されてもよい。
なお、上記に例示したネットワーク600を介したリクエストの送受信については、例えば、http(Hypertext Transfer Protocol)等のような、一般的な通信プロトコルが使用されてもよい。
次いで、図3(b)を参照して、制御装置200のソフトウェア構成の一例について説明する。制御装置200のソフトウェアとしては、主に、基本ソフトウェアとして動作するOS711と、当該OS711上で動作する入力制御プログラム712、表示制御プログラム713、外部装置制御プログラム714、及び通信制御プログラム715とを含む。OS711、入力制御プログラム712、表示制御プログラム713、外部装置制御プログラム714、及び通信制御プログラム715は、RAM220に展開されたうえで、CPU210により実行される。
OS711は、制御装置200全体の動作を制御する。また、入力制御プログラム712、表示制御プログラム713、外部装置制御プログラム714、及び通信制御プログラム715の動作は、OS711により制御される。
入力制御プログラム712は、ユーザ入出力I/F240を制御し、ボタン、ダイヤル、ジョイスティック、タッチパネル等からのユーザ入力操作を受け付ける。そのうえで、入力制御プログラム712は、当該ユーザ入力操作に対応するカメラ制御コマンドを生成して通信制御プログラム715に出力する。また、入力制御プログラム712は、受け付けたユーザ入力操作に応じて、ユーザにより指定された設定を示すユーザ設定情報を生成して表示制御プログラム713や外部装置制御プログラム714に出力してもよい。
表示制御プログラム713は、撮像装置100から送信された画像データやカメラ情報を後述する通信制御プログラム715を介して取得する。表示制御プログラム713は、取得した当該画像データに基づく画像や当該カメラ情報に基づく撮像装置100の状態を、タッチパネルやディスプレイ等の表示装置にOSD(On-Screen Display)表示させる。また、表示制御プログラム713は、入力制御プログラム712から、ユーザにより指定された設定を示すユーザ設定情報を取得してもよい。この場合には、表示制御プログラム713は、取得したユーザ設定情報を上記表示装置にOSD表示させてもよい。
ここで、図4を参照して、ユーザが制御装置200の入出力I/F240を介してクロップ領域の設定を行った際に、入力制御プログラム712及び表示制御プログラム713によりユーザ設定情報として保持されるクロップ領域設定情報の一例について説明する。図4には、入出力I/F240を構成するディスプレイに表示されるUIの一例が示されている。
入力制御プログラム712は、入出力I/F240を介してユーザからクロップ領域の設定の開始に係る指示を受け付けると、表示制御プログラム713に対してクロップ領域設定のためのOSD表示を依頼する。
表示制御プログラム713は、まず図4(a)に示すように、対象となる画像中に設定されたクロップ領域が切り出されたクロップ画像が表示される際のレイアウトを設定するためのレイアウト設定画面を表示させる。レイアウト設定画面では、スイッチャー300から出力される複数のクロップ画像を合成した合成画像の解像度(合成解像度)、合成画像を構成するクロップ画像の個数(レイアウト数)、クロップ画像の配置(レイアウト領域情報)等を指定することが可能である。なお、表示制御プログラム713は、合成解像度に関する情報を、スイッチャー300との通信によって取得してもよい。ユーザは、このレイアウト設定画面を確認しながら、ユーザ入出力I/F240を介して、上記に例示した各種設定情報を指定することとなる。
表示制御プログラム713は、上記に例示したレイアウトに関する各種の設定情報(以下、レイアウト設定情報とも称する)に基づきレイアウトの設定に係るレイアウト設定コマンドを生成する。そして、表示制御プログラム713は、生成したレイアウト設定コマンドを外部装置制御プログラム714に出力する。外部装置制御プログラム714は、表示制御プログラム713から出力されたレイアウト設定コマンドを、ネットワーク600を介してスイッチャー300にリクエストとして送信する。
図4(a)に示す例では、合成解像度として「1920×1200」が設定され、レイアウト数として「3」が設定されている。また、レイアウト領域情報として、合成解像度のサイズを横方向に表示領域A1、A2、及びA3として三分割するように設定がなされている。
なお、説明の簡単化のために、スイッチャー300側では、表示領域A1、A2、及びA3に対して、後述するクロップ領域C1、C2,及びC3がそれぞれ対応付けられているものとする。すなわち、表示領域A1には対象となる画像中のクロップ領域C1が切り出されたクロップ画像が表示されるものとする。同様に、表示領域A2には対象となる画像中のクロップ領域C2が切り出されたクロップ画像が表示され、表示領域A3には対象となる画像中のクロップ領域C3が切り出されたクロップ画像が表示されるものとする。
以上説明したように、レイアウト設定コマンドには、「合成解像度」、「レイアウト数」、及び「レイアウト領域情報」として指定された情報が含まれる。また、レイアウト領域情報には各表示領域の配置を決定するための「座標」、「領域サイズ」、及び「各領域に紐付けられた撮像画像(例えば、クロップ画像)」等の情報が含まれる。
なお、説明の簡単化のために、スイッチャー300側では、表示領域A1、A2、及びA3に対して、後述するクロップ領域C1、C2,及びC3がそれぞれ対応付けられているものとする。すなわち、表示領域A1には対象となる画像中のクロップ領域C1が切り出されたクロップ画像が表示されるものとする。同様に、表示領域A2には対象となる画像中のクロップ領域C2が切り出されたクロップ画像が表示され、表示領域A3には対象となる画像中のクロップ領域C3が切り出されたクロップ画像が表示されるものとする。
以上説明したように、レイアウト設定コマンドには、「合成解像度」、「レイアウト数」、及び「レイアウト領域情報」として指定された情報が含まれる。また、レイアウト領域情報には各表示領域の配置を決定するための「座標」、「領域サイズ」、及び「各領域に紐付けられた撮像画像(例えば、クロップ画像)」等の情報が含まれる。
続いて、表示制御プログラム713は、図4(b)に示すように、撮像装置100から受信した画像データに基づき、当該撮像装置100による撮像結果に応じた画像が提示された設定画面を表示させる。また、この際に表示制御プログラム713は、クロップ領域が設定されている場合には、上記設定画面に中に表示された画像上に、当該クロップ領域が識別可能に提示された情報を重畳表示させる。
例えば、図4(b)に示す例では、クロップ領域C1、C2、及びC3が設定されており、これらのクロップ領域それぞれを示す枠(図中において破線で示された枠)状の表示情報が表示されている。ユーザは、入出力I/F240を介して上記枠状の表示情報それぞれを移動させたりサイズを拡縮させたりする操作を行うことで、当該表示情報に対応するクロップ領域の位置やサイズを変更することが可能である。
なお、クロップ領域C1、C2、及びC3のアスペクト比が、レイアウト情報に応じて固定されるような制御が適用されてもよい。図4に示す例の場合には、表示領域A1、A2、及びA3それぞれのサイズとして「630×1080」が設定されているため、クロップ領域C1、C2、及びC3それぞれについて、16:27のアスペクト比が維持されるように制御されてもよい。このような制御が適用されることで、各クロップ領域が切り出されたクロップ画像が合成された際に、対応付けられた表示領域が隙間なく使われた合成画像をスイッチャー300側で合成することが可能となる。
また、クロップ領域の設定方法については特に限定はされない。具体的な一例として、ユーザからの指示に応じてクロップ領域が設定されてもよい。具体的な一例として、対象となる画像中においてユーザにより指定された領域を対象としてクロップ領域が設定されてもよい。また、他の一例として、対象となる画像の解析結果に応じて、当該画像中にクロップ領域が設定されてもよい。具体的な一例として、対象となる画像に対する画像解析の結果に基づき所定の条件を満たす被写体(例えば、人物等)が検出された場合に、当該被写体を含む領域を対象としてクロップ領域が自動で設定されてもよい。
例えば、図4(b)に示す例では、クロップ領域C1、C2、及びC3が設定されており、これらのクロップ領域それぞれを示す枠(図中において破線で示された枠)状の表示情報が表示されている。ユーザは、入出力I/F240を介して上記枠状の表示情報それぞれを移動させたりサイズを拡縮させたりする操作を行うことで、当該表示情報に対応するクロップ領域の位置やサイズを変更することが可能である。
なお、クロップ領域C1、C2、及びC3のアスペクト比が、レイアウト情報に応じて固定されるような制御が適用されてもよい。図4に示す例の場合には、表示領域A1、A2、及びA3それぞれのサイズとして「630×1080」が設定されているため、クロップ領域C1、C2、及びC3それぞれについて、16:27のアスペクト比が維持されるように制御されてもよい。このような制御が適用されることで、各クロップ領域が切り出されたクロップ画像が合成された際に、対応付けられた表示領域が隙間なく使われた合成画像をスイッチャー300側で合成することが可能となる。
また、クロップ領域の設定方法については特に限定はされない。具体的な一例として、ユーザからの指示に応じてクロップ領域が設定されてもよい。具体的な一例として、対象となる画像中においてユーザにより指定された領域を対象としてクロップ領域が設定されてもよい。また、他の一例として、対象となる画像の解析結果に応じて、当該画像中にクロップ領域が設定されてもよい。具体的な一例として、対象となる画像に対する画像解析の結果に基づき所定の条件を満たす被写体(例えば、人物等)が検出された場合に、当該被写体を含む領域を対象としてクロップ領域が自動で設定されてもよい。
また、本実施形態では、図中において太線の枠として示したように、対象となる画像中に設定された一連のクロップ領域のうちの少なくとも一部のクロップ領域内の被写体を追尾対象として当該クロップ領域に関連付けることが可能である。例えば、T1及びT3で示された被写体は、追尾対象として設定された被写体を示している。すなわち、図4(b)に示す例では、クロップ領域C1に対して当該クロップ領域C1中の被写体T1が追尾対象として関連付けられており、クロップ領域C3に対して当該クロップ領域C3中の被写体T3が追尾対象として関連付けられている。また、クロップ領域C2のように、追尾対象が関連付けられていないクロップ領域が設定されてもよい。以上のようにして、ユーザからの指示に応じて、クロップ領域設定情報が決定される。
クロップ領域設定情報には、対象となる画像中に設定された一連のクロップ領域それぞれに関する情報として、例えば、「座標(クロップ領域の位置)」、「幅及び高さ(クロップ領域のサイズ)」、及び「関連付けられた被写体に関する情報」等が含まれる。
また、各クロップ領域に対して、「優先度」が設定されてもよい。なお、当該優先度の設定方法については特に限定されず、例えば、ユーザからの指示に応じて設定されてもよいし、各種条件に応じて自動で設定されてよい。例えば、図4(b)に示す例では、クロップ領域C2に対して優先度3(Priority3)が設定されている。同様に、クロップ領域C1に対して優先度2(Priority2)が設定されており、クロップ領域C3に対して優先度1(Priority1)が設定されている。なお、図4(b)に示す例では、優先度として指定された数値が高いほど、より優先度が高いものとする。すなわち、図4(b)に示す例では、クロップ領域C1~C3のうち、クロップ領域C2の優先度が最も高く、クロップ領域C3の優先度が最も低いこととなる。
また、各クロップ領域に対して、「優先度」が設定されてもよい。なお、当該優先度の設定方法については特に限定されず、例えば、ユーザからの指示に応じて設定されてもよいし、各種条件に応じて自動で設定されてよい。例えば、図4(b)に示す例では、クロップ領域C2に対して優先度3(Priority3)が設定されている。同様に、クロップ領域C1に対して優先度2(Priority2)が設定されており、クロップ領域C3に対して優先度1(Priority1)が設定されている。なお、図4(b)に示す例では、優先度として指定された数値が高いほど、より優先度が高いものとする。すなわち、図4(b)に示す例では、クロップ領域C1~C3のうち、クロップ領域C2の優先度が最も高く、クロップ領域C3の優先度が最も低いこととなる。
そして、入力制御プログラム712及び表示制御プログラム713は、図4(b)に例示した設定画面を介した操作に基づき決定されたクロップ領域設定情報を、前述した通り、外部装置制御プログラム714と共有する。また、外部装置制御プログラム714は、クロップ領域設定情報に基づきクロップ領域設定コマンドを生成し、当該クロップ領域設定コマンドを通信制御プログラム715に出力する。通信制御プログラム715は、外部装置制御プログラム714から出力されたクロップ領域設定コマンドを、撮像装置100にリクエスト送信する。
ここで、改めて図3(b)を参照する。外部装置制御プログラム714は、撮像装置100から送信された画像データ及びカメラ情報を、通信制御プログラム715から取得する。また、外部装置制御プログラム714は、ユーザからの指示に基づき決定されたユーザ設定情報を、入力制御プログラム712から取得する。そのうえで、外部装置制御プログラム714は、上記に例示した各種情報に応じて、新たなカメラ制御コマンドやスイッチャー制御コマンド等を生成し、生成したコマンドを通信制御プログラム715に出力する。
具体的な一例として、外部装置制御プログラム714は、取得した画像データが示す画像を解析し、白飛びが検知された場合に、撮像装置100に対してNDフィルタの適用を指示するためのカメラ制御コマンドを生成してもよい。そのうえで、外部装置制御プログラム714は、生成した当該カメラ制御コマンドを通信制御プログラム715に出力することで、通信制御プログラム715を介して当該カメラ制御コマンドを撮像装置100に送信してもよい。このような制御が適用されることで、撮像装置100のその時々の状態に応じて、当該撮像装置100の状態を自動で制御することも可能となる。
また、他の一例として、外部装置制御プログラム714は、複数の撮像装置100それぞれによる撮像結果に応じた画像を解析することで、主たる被写体(例えば、注目対象として指定された被写体)が撮像された画像を特定してもよい。また、外部装置制御プログラム714は、主たる被写体が撮像された画像がスイッチャー300から出力されるように、出力対象となる画像を切り替えるためのスイッチャー制御コマンドを生成してもよい。そのうえで、外部装置制御プログラム714は、生成した当該スイッチャー制御コマンドを通信制御プログラム715に出力することで、通信制御プログラム715を介して当該スイッチャー制御コマンドをスイッチャー300に送信してもよい。このような制御が適用されることで、時々刻々と被写体の状態が変化したとしても、その時々の状況に応じて主たる被写体が撮像された画像が出力されるように、スイッチャー300の動作を制御することが可能となる。
通信制御プログラム715は、ネットワークI/F250を制御し、撮像装置100やスイッチャー300等の外部装置に対するリクエスト送信や、当該外部装置からのレスポンス受信等のような、ネットワーク600を介した当該外部装置との通信を行う。
具体的な一例として、通信制御プログラム715は、撮像装置100に対する撮像画像の取得リクエストやカメラ制御リクエストの送信や、これらのリクエストに対するレスポンスの受信を行ってもよい。また、制御装置200以外の他の装置により撮像装置100の動作が制御された場合においても、当該撮像装置100が制御装置200に対してカメラ情報の更新通知を行ってもよい。この場合には、通信制御プログラム715は、撮像装置100から当該更新通知を受信し、当該更新通知を表示制御プログラム713に出力してもよい。
また、前述したクロップ領域設定コマンドについても同様に、通信制御プログラム715により撮像装置100に送信される。
なお、上記に例示したネットワーク600を介したリクエスト及びレスポンスの送受信については、例えば、http等のような一般的な通信プロトコルが使用されてもよい。
具体的な一例として、通信制御プログラム715は、撮像装置100に対する撮像画像の取得リクエストやカメラ制御リクエストの送信や、これらのリクエストに対するレスポンスの受信を行ってもよい。また、制御装置200以外の他の装置により撮像装置100の動作が制御された場合においても、当該撮像装置100が制御装置200に対してカメラ情報の更新通知を行ってもよい。この場合には、通信制御プログラム715は、撮像装置100から当該更新通知を受信し、当該更新通知を表示制御プログラム713に出力してもよい。
また、前述したクロップ領域設定コマンドについても同様に、通信制御プログラム715により撮像装置100に送信される。
なお、上記に例示したネットワーク600を介したリクエスト及びレスポンスの送受信については、例えば、http等のような一般的な通信プロトコルが使用されてもよい。
次いで、図3(c)を参照して、スイッチャー300のソフトウェア構成の一例について説明する。スイッチャー300のソフトウェアとしては、主に、基本ソフトウェアとして動作するOS721と、当該OS721上で動作する入力制御プログラム722、出力制御プログラム723、及び通信制御プログラム724とを含む。OS721、入力制御プログラム722、出力制御プログラム723、及び通信制御プログラム724は、RAM320に展開されたうえで、CPU310により実行される。
OS721は、スイッチャー300全体の動作を制御する。また、入力制御プログラム722、出力制御プログラム723、及び通信制御プログラム724の動作は、OS721により制御される。
入力制御プログラム722は、ユーザ入出力I/F340を制御し、ボタン、ダイヤル、ジョイスティック、タッチパネル等からのユーザ入力操作を受け付ける。そのうえで、入力制御プログラム722は、当該ユーザ入力操作に対応するスイッチャー制御コマンドを生成して出力制御プログラム723に出力する。
スイッチャー制御コマンドとしては、例えば、後述する通信制御プログラム724が撮像装置100から受信した1以上の画像データそれぞれに対応する画像のうち、いずれを出力対象とするかを指示するためのコマンドが挙げられる。また、他の一例として、スイッチャー制御コマンドとして、出力対象とする画像を切り替える際のエフェクトを指示するためのコマンドや、複数の画像を合成する際のレイアウトの指示に係るコマンドが適用されてもよい。
スイッチャー制御コマンドとしては、例えば、後述する通信制御プログラム724が撮像装置100から受信した1以上の画像データそれぞれに対応する画像のうち、いずれを出力対象とするかを指示するためのコマンドが挙げられる。また、他の一例として、スイッチャー制御コマンドとして、出力対象とする画像を切り替える際のエフェクトを指示するためのコマンドや、複数の画像を合成する際のレイアウトの指示に係るコマンドが適用されてもよい。
出力制御プログラム723は、入力制御プログラム722から上記スイッチャー制御コマンドを受信して、映像出力I/F350を制御して、当該コマンドに従いスイッチャー300が外部装置から受信する画像データに対して画像処理を施す。具体的な一例として、出力制御プログラム723は、上記画像処理として、複数の画像データそれぞれが示す画像のうち出力対象とする画像を切り替える処理や、出力する画像のレイアウトを変更する処理等を適用してもよい。また、出力制御プログラム723は、通信制御プログラム724からスイッチャー制御コマンドを受信した場合においても、上記と同様の処理を適用してもよい。
通信制御プログラム724は、ネットワークI/F360を制御し、ネットワーク600を介して撮像装置100や制御装置200等の外部装置と通信を行う。
具体的な一例として、通信制御プログラム724は、撮像装置100から撮像結果に応じた画像データを受信してもよい。この場合には、通信制御プログラム724は、受信した当該画像データを出力制御プログラム723に出力する。また、通信制御プログラム724は、制御装置200からスイッチャー制御コマンドを受信してもよい。この場合には、通信制御プログラム724は、受信したスイッチャー制御コマンドを出力制御プログラム723に出力する。
なお、上記に例示したネットワーク600を介したリクエストの送受信については、例えば、http等のような、一般的な通信プロトコルが使用されてもよい。
具体的な一例として、通信制御プログラム724は、撮像装置100から撮像結果に応じた画像データを受信してもよい。この場合には、通信制御プログラム724は、受信した当該画像データを出力制御プログラム723に出力する。また、通信制御プログラム724は、制御装置200からスイッチャー制御コマンドを受信してもよい。この場合には、通信制御プログラム724は、受信したスイッチャー制御コマンドを出力制御プログラム723に出力する。
なお、上記に例示したネットワーク600を介したリクエストの送受信については、例えば、http等のような、一般的な通信プロトコルが使用されてもよい。
以上、図3を参照して、撮像装置100、制御装置200、及びスイッチャー300それぞれのソフトウェア構成の一例について説明した。
<処理>
図5~図7を参照して、本実施形態に係る画像処理システムの処理の一例について、特に、被写体の移動に応じてクロップ領域の設定やスイッチャー300による出力画像のレイアウトの設定を制御する場合に着目して説明する。図5~図7に示す処理は、撮像装置100の画像処理プログラム702と、制御装置200の外部装置制御プログラム714と、スイッチャー300の出力制御プログラム723とが連動して動作することで実現される。
図5~図7を参照して、本実施形態に係る画像処理システムの処理の一例について、特に、被写体の移動に応じてクロップ領域の設定やスイッチャー300による出力画像のレイアウトの設定を制御する場合に着目して説明する。図5~図7に示す処理は、撮像装置100の画像処理プログラム702と、制御装置200の外部装置制御プログラム714と、スイッチャー300の出力制御プログラム723とが連動して動作することで実現される。
まず、図5を参照して、撮像装置100のCPU110により画像処理プログラム702が実行されることで実現される処理の一例について説明する。なお、図5に示す一連の処理は、例えば、撮像装置100が電源投入に伴い起動されることで開始される。
S801において、CPU110は、イベントの発生を待ち受ける。当該イベントは、例えば、各種のプログラムが処理を実行した結果に応じて発生し得る。CPU110は、イベントを受信すると、処理をS802に進める。
S802において、CPU110は、S801において受信したイベントの種別を判別し、当該判別の結果に応じて以降の処理を切り替える。
CPU110は、S802において、発生したイベントが外部装置(例えば、制御装置200、スイッチャー300等)からの画像取得リクエストに応じた画像データに関するイベントであると判定した場合には、処理をS804に進める。
また、CPU110は、S802において、発生したイベントが制御装置200からのクロップ領域設定コマンドに応じたイベントであると判定した場合には、処理をS803に進める。
一方で、CPU110は、S802において、発生したイベントが撮像装置100の電源OFF等に伴う終了イベントであると判定した場合には、図5に示す一連の処理を終了する。
S802において、CPU110は、S801において受信したイベントの種別を判別し、当該判別の結果に応じて以降の処理を切り替える。
CPU110は、S802において、発生したイベントが外部装置(例えば、制御装置200、スイッチャー300等)からの画像取得リクエストに応じた画像データに関するイベントであると判定した場合には、処理をS804に進める。
また、CPU110は、S802において、発生したイベントが制御装置200からのクロップ領域設定コマンドに応じたイベントであると判定した場合には、処理をS803に進める。
一方で、CPU110は、S802において、発生したイベントが撮像装置100の電源OFF等に伴う終了イベントであると判定した場合には、図5に示す一連の処理を終了する。
S803において、CPU110は、クロップ領域設定コマンドに含まれる情報に基づき、クロップ領域設定情報の更新を行う。クロップ領域設定コマンドには、設定された1つ以上のクロップ領域の座標情報(すなわち、画像中の位置を示す情報)が少なくとも含まれている。
なお、クロップ領域の座標情報は、例えば、対象となるクロップ領域の位置を規定するための当該クロップ領域中の一部の位置の座標を示す情報として規定され得る。本開示では、説明をより分かりやすくするために、便宜上、クロップ領域の形状が矩形であるものとし、クロップ領域の座標情報が、当該クロップ領域の左上の端点の座標として規定されるものとする。ただし、同規定は、本開示に係る画像形成システムの構成や処理を限定するものではない。具体的な一例として、クロップ領域の形状は矩形以外であってもよいし、座標情報についても必ずしもクロップ領域の端点には限定されない。
S804において、CPU110は、クロップ領域設定情報に基づき、画像キャプチャI/F140を制御し、画像センサー170から出力される映像信号が示す撮像画像に対して、設定されたクロップ領域のクロップ処理を施す。そのうえで、CPU110は、当該クロップ処理の結果として得られるクロップ画像の画像データ(以下、クロップ画像データとも称する)を生成する。なお、CPU110は、クロップ領域が複数設定されている場合には、当該複数のクロップ領域それぞれに対応するクロップ画像データを生成する。生成されたクロップ画像データは、宛先としてスイッチャー300が指定されたうえで通信制御プログラム703に出力される。これにより、当該クロップ画像データは、CPU110により通信制御プログラム703が実行されることで、ネットワークI/F150が制御されて、宛先として指定されたスイッチャー300に送信される。
S805において、CPU110は、画像キャプチャI/F140を制御し、画像センサー170から出力される映像信号に基づき、撮像範囲全体が示された撮像画像の画像データ(以下、全体画像データとも称する)を生成する。生成された全体画像データは、宛先として制御装置200が指定されたうえで通信制御プログラム703に出力される。これにより、当該全体画像データは、CPU110により通信制御プログラム703が実行されることで、ネットワークI/F150が制御されて、宛先として指定された制御装置200に送信される。
CPU110は、S802~S805の処理が完了すると、処理をS801に進める。これにより、S801以降の処理が改めて実行されることとなる。
なお、クロップ領域の座標情報は、例えば、対象となるクロップ領域の位置を規定するための当該クロップ領域中の一部の位置の座標を示す情報として規定され得る。本開示では、説明をより分かりやすくするために、便宜上、クロップ領域の形状が矩形であるものとし、クロップ領域の座標情報が、当該クロップ領域の左上の端点の座標として規定されるものとする。ただし、同規定は、本開示に係る画像形成システムの構成や処理を限定するものではない。具体的な一例として、クロップ領域の形状は矩形以外であってもよいし、座標情報についても必ずしもクロップ領域の端点には限定されない。
S804において、CPU110は、クロップ領域設定情報に基づき、画像キャプチャI/F140を制御し、画像センサー170から出力される映像信号が示す撮像画像に対して、設定されたクロップ領域のクロップ処理を施す。そのうえで、CPU110は、当該クロップ処理の結果として得られるクロップ画像の画像データ(以下、クロップ画像データとも称する)を生成する。なお、CPU110は、クロップ領域が複数設定されている場合には、当該複数のクロップ領域それぞれに対応するクロップ画像データを生成する。生成されたクロップ画像データは、宛先としてスイッチャー300が指定されたうえで通信制御プログラム703に出力される。これにより、当該クロップ画像データは、CPU110により通信制御プログラム703が実行されることで、ネットワークI/F150が制御されて、宛先として指定されたスイッチャー300に送信される。
S805において、CPU110は、画像キャプチャI/F140を制御し、画像センサー170から出力される映像信号に基づき、撮像範囲全体が示された撮像画像の画像データ(以下、全体画像データとも称する)を生成する。生成された全体画像データは、宛先として制御装置200が指定されたうえで通信制御プログラム703に出力される。これにより、当該全体画像データは、CPU110により通信制御プログラム703が実行されることで、ネットワークI/F150が制御されて、宛先として指定された制御装置200に送信される。
CPU110は、S802~S805の処理が完了すると、処理をS801に進める。これにより、S801以降の処理が改めて実行されることとなる。
次いで、図6を参照して、制御装置200のCPU210により外部装置制御プログラム714が実行されることで実現される処理の一例について説明する。なお、図6に示す一連の処理は、例えば、制御装置200が電源投入に伴い起動されることで開始される。
S811において、CPU210は、イベントの発生を待ち受ける。当該イベントは、例えば、各種のプログラムが処理を実行した結果に応じて発生し得る。CPU210は、イベントを受信すると、処理をS812に進める。
S812において、CPU210は、S811において受信したイベントの種別を判別し、当該判別の結果に応じて以降の処理を切り替える。
CPU210は、S812において、発生したイベントが外部装置(例えば、撮像装置100等)から送信された画像データを通信制御プログラム715が受信することで発生するイベントであると判定した場合には、処理をS813に進める。なお、ここでは、通信制御プログラム715は、撮像装置100から全体画像データを受信したものとする。
一方で、CPU210は、S812において、発生したイベントが制御装置200の電源OFF等に伴う終了イベントであると判定した場合には、図6に示す一連の処理を終了する。
S812において、CPU210は、S811において受信したイベントの種別を判別し、当該判別の結果に応じて以降の処理を切り替える。
CPU210は、S812において、発生したイベントが外部装置(例えば、撮像装置100等)から送信された画像データを通信制御プログラム715が受信することで発生するイベントであると判定した場合には、処理をS813に進める。なお、ここでは、通信制御プログラム715は、撮像装置100から全体画像データを受信したものとする。
一方で、CPU210は、S812において、発生したイベントが制御装置200の電源OFF等に伴う終了イベントであると判定した場合には、図6に示す一連の処理を終了する。
S813において、CPU210は、受信された画像データ(例えば、全体画像データ)を解析し、従前に入力制御プログラム712が実行されることで設定されたクロップ領域設定情報において追尾対象として指定された被写体が移動しているか否かを判定する。
CPU210は、S813において、追尾対象として指定された被写体が移動していると判定した場合には、処理をS814に進める。
一方で、CPU210は、S813において、追尾対象として指定された被写体が移動していないと判定した場合には、処理をS811に進める。この場合には、S811以降の処理が改めて実行されることとなる。
CPU210は、S813において、追尾対象として指定された被写体が移動していると判定した場合には、処理をS814に進める。
一方で、CPU210は、S813において、追尾対象として指定された被写体が移動していないと判定した場合には、処理をS811に進める。この場合には、S811以降の処理が改めて実行されることとなる。
S814において、CPU210は、追尾対象として指定された被写体の位置に応じて、クロップ領域設定情報中の当該被写体に関連付けられクロップ領域の座標を更新する。
なお、以降では、適宜図8をあわせて参照することで各処理の説明を行う。
ここでは、図8(a)及び図8(b)を参照して、追尾対象となる被写体の位置に応じて、クロップ領域設定情報中の当該被写体に関連付けられたクロップ領域の座標を更新する処理について、具体的な例を挙げてより詳しく説明する。図8(a)~図8(e)は、表示制御プログラム713が、入出力I/F240を介して、撮像装置100による撮像結果に応じた画像に対してクロップ領域設定情報に基づきクロップ領域が提示された状態でOSD表示される画像の一例を示している。
図8(a)に示す状態から、追尾対象として設定された被写体T1の移動に伴い、図8(b)に示す状態に遷移した場合には、当該被写体T1に関連付けられたクロップ領域C1の座標(x1,y1)が更新される。
なお、以降では、適宜図8をあわせて参照することで各処理の説明を行う。
ここでは、図8(a)及び図8(b)を参照して、追尾対象となる被写体の位置に応じて、クロップ領域設定情報中の当該被写体に関連付けられたクロップ領域の座標を更新する処理について、具体的な例を挙げてより詳しく説明する。図8(a)~図8(e)は、表示制御プログラム713が、入出力I/F240を介して、撮像装置100による撮像結果に応じた画像に対してクロップ領域設定情報に基づきクロップ領域が提示された状態でOSD表示される画像の一例を示している。
図8(a)に示す状態から、追尾対象として設定された被写体T1の移動に伴い、図8(b)に示す状態に遷移した場合には、当該被写体T1に関連付けられたクロップ領域C1の座標(x1,y1)が更新される。
S815において、CPU210は、クロップ領域設定情報に各種情報が含まれる一連のクロップ領域の位置関係に応じて、複数のクロップ領域の重なりの有無を判定し、当該判定の結果に応じて以降の処理を切り替える。また、この際に、CPU210は、複数のクロップ領域が重なる部分領域の大きさ(面積)に応じて、以降の処理をさらに切り替えてもよい。
例えば、図8(b)に示す例では、クロップ領域C1及びC2が重なった状態となっている。この際に、CPU210は、クロップ領域C1及びC2が重なる部分領域の大きさが閾値以上の場合(例えば、いずれかのクロップ領域に対する部分領域の面積の割合が閾値以上の場合)に、当該クロップ領域C1及びC2が重なっていると判定してもよい。また、CPU210は、クロップ領域C1及びC2が重なった状態が所定の期間以上継続した場合に、当該クロップ領域C1及びC2が重なっていると判定してもよい。
例えば、図8(b)に示す例では、クロップ領域C1及びC2が重なった状態となっている。この際に、CPU210は、クロップ領域C1及びC2が重なる部分領域の大きさが閾値以上の場合(例えば、いずれかのクロップ領域に対する部分領域の面積の割合が閾値以上の場合)に、当該クロップ領域C1及びC2が重なっていると判定してもよい。また、CPU210は、クロップ領域C1及びC2が重なった状態が所定の期間以上継続した場合に、当該クロップ領域C1及びC2が重なっていると判定してもよい。
CPU210は、S815において、複数のクロップ領域の重なりが閾値以上となったことを検知した場合には、処理をS816に進める。具体的な一例として、CPU210は、複数のクロップ領域の少なくともいずれかに対する、当該複数のクロップ領域が重なる部分領域の大きさの割合が閾値以上となった場合に、処理をS816に進めてもよい。なお、ここでは、S816以降の処理についてまず説明を行い、S815における他の判定結果に応じて遷移する処理ついては別途後述する。
S816において、CPU210は、重なりが検知された複数のクロップ領域を統合して新たなクロップ領域を設定する。なお、統合される前の複数のクロップ領域それぞれが「第1のクロップ領域」の一例に相当し、当該クロップ領域が統合されることで設定された新たなクロップ領域が「第2のクロップ領域」の一例に相当する。なお、この際に、CPU210は、より高い優先度が設定されたクロップ領域を基準として、複数のクロップ領域の統合を行ってもよい。
例えば、図8(b)に示す例において、クロップ領域C2に対して優先度3(Priority3)が設定されており、クロップ領域C1に対して優先度1(Priority1)が設定されているものとする。この場合には、CPU210は、図8(c)に示すように、より高い優先度が設定されたクロップ領域C2を基準として、クロップ領域C1及びC2の統合を行う。具体的には、CPU210は、統合前のクロップ領域C1及びC2それぞれが含まれるように当該クロップ領域C2を拡張したうえで、クロップ領域C1を削除している。
また、この際にCPU210は、クロップ領域C2の幅w2及び高さh2のアスペクト比を、クロップ領域C1及びC2に対応付けられた表示領域A1及びA2を足し合わせた領域のアスペクト比が維持されるように設定してもよい。具体的な一例として、表示領域A1及びA2それぞれのサイズとして「640×1080」が設定されている場合には、当該表示領域A1及びA2を足し合わせた領域のサイズは「1280×1080」となる。そのため、この場合には、CPU210は、統合後のクロップ領域C2の幅w2及び高さh2のアスペクト比を、表示領域A1及びA2を足し合わせた領域の上記サイズに合わせたアスペクト比「32:27」が維持されるように設定することとなる。
そのうえで、CPU210は、複数のクロップ領域の統合結果に応じて、クロップ領域設定情報を更新する。
また、この際に、CPU210は、複数のクロップ領域の重なりが閾値以上となったことを検知されたと判定されてから所定の期間が経過した後に、当該複数の領域を統合してもよい。
そして、S818において、CPU210は、S816におけるクロップ領域の統合の結果に応じた新たなクロップ領域設定情報に基づき、クロップ領域設定コマンドを生成する。生成されたクロップ領域設定コマンドは、宛先として撮像装置100が指定されたうえで通信制御プログラム715に出力される。これにより、CPU210により通信制御プログラム715が実行されることで、当該クロップ領域設定コマンドが撮像装置100に送信される。
例えば、図8(b)に示す例において、クロップ領域C2に対して優先度3(Priority3)が設定されており、クロップ領域C1に対して優先度1(Priority1)が設定されているものとする。この場合には、CPU210は、図8(c)に示すように、より高い優先度が設定されたクロップ領域C2を基準として、クロップ領域C1及びC2の統合を行う。具体的には、CPU210は、統合前のクロップ領域C1及びC2それぞれが含まれるように当該クロップ領域C2を拡張したうえで、クロップ領域C1を削除している。
また、この際にCPU210は、クロップ領域C2の幅w2及び高さh2のアスペクト比を、クロップ領域C1及びC2に対応付けられた表示領域A1及びA2を足し合わせた領域のアスペクト比が維持されるように設定してもよい。具体的な一例として、表示領域A1及びA2それぞれのサイズとして「640×1080」が設定されている場合には、当該表示領域A1及びA2を足し合わせた領域のサイズは「1280×1080」となる。そのため、この場合には、CPU210は、統合後のクロップ領域C2の幅w2及び高さh2のアスペクト比を、表示領域A1及びA2を足し合わせた領域の上記サイズに合わせたアスペクト比「32:27」が維持されるように設定することとなる。
そのうえで、CPU210は、複数のクロップ領域の統合結果に応じて、クロップ領域設定情報を更新する。
また、この際に、CPU210は、複数のクロップ領域の重なりが閾値以上となったことを検知されたと判定されてから所定の期間が経過した後に、当該複数の領域を統合してもよい。
そして、S818において、CPU210は、S816におけるクロップ領域の統合の結果に応じた新たなクロップ領域設定情報に基づき、クロップ領域設定コマンドを生成する。生成されたクロップ領域設定コマンドは、宛先として撮像装置100が指定されたうえで通信制御プログラム715に出力される。これにより、CPU210により通信制御プログラム715が実行されることで、当該クロップ領域設定コマンドが撮像装置100に送信される。
次いで、S815において上記とは異なる判定結果に応じて遷移する処理ついて説明する。図8(c)を参照して説明したように、複数のクロップ領域を統合して新たなクロップ領域が設定される場合がある。このような場合には、S815において、CPU210は、当該新たなクロップ領域への統合対象とされた元の複数のクロップ領域が互いに離間することで、当該元の複数のクロップ領域間の重なりが解消されたか否かを判定する。そのうえで、CPU210は、S815において、上記新たなクロップ領域への統合対象とされた元の複数のクロップ領域が重なる部分領域の大きさが閾値未満となったことを検知した場合には、処理をS817に進める。具体的な一例として、CPU210は、上記新たなクロップ領域への統合対象とされた元の複数のクロップ領域の少なくともいずれかに対する、当該複数のクロップ領域が重なる部分領域の大きさの割合が閾値未満となった場合に、処理をS817に進めてもよい。
より具体的な一例として、図8(d)において破線で示されたクロップ領域は、クロップ領域C2に統合される前の元の2つのクロップ領域を示している。すなわち、図8(d)に示す例では、図8(c)に示す状態から被写体T1の移動に伴い、クロップ領域C2に統合される前の元の2つのクロップ領域が重なっていない状態となっている。このような場合に、CPU210は、複数のクロップ領域が統合されることで設定された新たなクロップ領域への統合対象とされた元の複数のクロップ領域の重なりが解消されたと判定してもよい。なお、図8(d)に示す例では、破線で示された2つのクロップ領域が重なっていない状態となっているが、当該2つのクロップ領域それぞれの一部が重なっていたとしても、重なった部分の大きさが閾値未満の場合には重なりが解消されたと判定されてもよい。
また、CPU210は、上記新たなクロップ領域への統合対象とされた元の複数のクロップ領域が重なる部分領域の大きさが閾値未満となった状態が所定の期間以上継続した場合に、当該複数のクロップ領域の重なりが解消されたと判定してもよい。
より具体的な一例として、図8(d)において破線で示されたクロップ領域は、クロップ領域C2に統合される前の元の2つのクロップ領域を示している。すなわち、図8(d)に示す例では、図8(c)に示す状態から被写体T1の移動に伴い、クロップ領域C2に統合される前の元の2つのクロップ領域が重なっていない状態となっている。このような場合に、CPU210は、複数のクロップ領域が統合されることで設定された新たなクロップ領域への統合対象とされた元の複数のクロップ領域の重なりが解消されたと判定してもよい。なお、図8(d)に示す例では、破線で示された2つのクロップ領域が重なっていない状態となっているが、当該2つのクロップ領域それぞれの一部が重なっていたとしても、重なった部分の大きさが閾値未満の場合には重なりが解消されたと判定されてもよい。
また、CPU210は、上記新たなクロップ領域への統合対象とされた元の複数のクロップ領域が重なる部分領域の大きさが閾値未満となった状態が所定の期間以上継続した場合に、当該複数のクロップ領域の重なりが解消されたと判定してもよい。
S817において、CPU210は、統合される前の元の複数のクロップ領域の重なりが解消されたと判定された統合後の新たなクロップ領域の当該統合を解消し、当該元の複数のクロップ領域に分割する。
例えば、図8(e)に示す例では、図8(d)に示す状態となった結果、統合結果に応じたクロップ領域C2が、統合前の元となるクロップ領域C1及びC2に分割されている。
そのうえで、CPU210は、統合前の元となる複数のクロップ領域への分割結果に応じて、クロップ領域設定情報を更新する。
なお、この際に、CPU210は、統合される前の元の複数のクロップ領域の重なりが解消されたと判定されてから所定の期間が経過した後に、当該統合を解消し、当該元の複数のクロップ領域に分割してもよい。
そして、S818において、CPU210は、S817におけるクロップ領域の分割の結果に応じた新たなクロップ領域設定情報に基づき、クロップ領域設定コマンドを生成する。生成されたクロップ領域設定コマンドは、宛先として撮像装置100が指定されたうえで通信制御プログラム715に出力される。これにより、CPU210により通信制御プログラム715が実行されることで、当該クロップ領域設定コマンドが撮像装置100に送信される。
例えば、図8(e)に示す例では、図8(d)に示す状態となった結果、統合結果に応じたクロップ領域C2が、統合前の元となるクロップ領域C1及びC2に分割されている。
そのうえで、CPU210は、統合前の元となる複数のクロップ領域への分割結果に応じて、クロップ領域設定情報を更新する。
なお、この際に、CPU210は、統合される前の元の複数のクロップ領域の重なりが解消されたと判定されてから所定の期間が経過した後に、当該統合を解消し、当該元の複数のクロップ領域に分割してもよい。
そして、S818において、CPU210は、S817におけるクロップ領域の分割の結果に応じた新たなクロップ領域設定情報に基づき、クロップ領域設定コマンドを生成する。生成されたクロップ領域設定コマンドは、宛先として撮像装置100が指定されたうえで通信制御プログラム715に出力される。これにより、CPU210により通信制御プログラム715が実行されることで、当該クロップ領域設定コマンドが撮像装置100に送信される。
S819において、CPU210は、S816またはS817の処理の結果を踏まえて、スイッチャー300によりクロップ画像が表示される際のレイアウトに関するレイアウト設定情報を更新する。そのうえで、CPU210は、更新後のレイアウト設定情報に基づき、レイアウト設定コマンドを生成する。生成されたレイアウト設定コマンドは、宛先としてスイッチャー300が指定されたうえで通信制御プログラム715に出力される。これにより、CPU210により通信制御プログラム715が実行されることで、当該レイアウト設定コマンドがスイッチャー300に送信される。
ここで、図8(f)~図8(j)を参照して、スイッチャー300から出力される画像のレイアウト制御について具体的な例を挙げて説明する。図8(f)~図8(j)は、図8(a)~図8(e)それぞれに示す状態において、スイッチャー300から出力される画像(すなわち、複数のクロップ画像が合成された合成画像)の一例を示している。
例えば、図8(c)を参照して説明したように、図8(b)に示すクロップ領域C1及びC2が、図8(c)に示すクロップ領域C2に統合されたものとする。この場合には、CPU210は、クロップ領域C1に対応する表示領域A1を削除し、クロップ領域C2に対応する表示領域A2のサイズが当該表示領域A1及びA2を足し合わせたサイズ(1280×1080)に拡張されるようにレイアウト設定情報を更新する。そのうえで、CPU210は、更新後の当該レイアウト設定情報に基づきレイアウト設定コマンドを生成し、当該レイアウト設定コマンドがスイッチャー300に送信されるように制御する。
これにより、図8(b)に示す状態から図8(c)に示す状態への遷移に伴い、スイッチャー300から出力される合成画像が、図8(g)に例示したような状態から、図8(h)に例示したような状態となるように制御される。すなわち、スイッチャー300から出力される合成画像のレイアウトが、図8(f)及び図8(g)として示した3分割レイアウトから、図8(h)に示すようにクロップ領域C2に対応する表示領域A2が拡張された2分割レイアウトに変更される。
これにより、図8(b)に示す状態から図8(c)に示す状態への遷移に伴い、スイッチャー300から出力される合成画像が、図8(g)に例示したような状態から、図8(h)に例示したような状態となるように制御される。すなわち、スイッチャー300から出力される合成画像のレイアウトが、図8(f)及び図8(g)として示した3分割レイアウトから、図8(h)に示すようにクロップ領域C2に対応する表示領域A2が拡張された2分割レイアウトに変更される。
また、他の一例として、図8(d)を参照して説明したように、図8(d)に示す統合後のクロップ領域C2が、図8(e)に示す統合前のクロップ領域C1及びC2に分割されたものとする。この場合には、CPU210は、クロップ領域C1に対応する表示領域A1を改めて設定し、表示領域A1及びA2それぞれのサイズが、図8(g)に例示するような統合前の元のサイズ(640×1080)に変更されるようにレイアウト設定情報を更新する。そのうえで、CPU210は、更新後の当該レイアウト設定情報に基づきレイアウト設定コマンドを生成し、当該レイアウト設定コマンドがスイッチャー300に送信されるように制御する。
これにより、図8(d)に示す状態から図8(e)に示す状態への遷移に伴い、スイッチャー300から出力される合成画像が、図8(i)に例示したような状態から、図8(j)に例示したような状態となるように制御される。すなわち、スイッチャー300から出力される合成画像のレイアウトが、図8(h)及び図8(i)として示したクロップ領域C2に対応する表示領域A2が拡張された2分割レイアウトから、図8(j)として示した3分割レイアウトに変更される。
これにより、図8(d)に示す状態から図8(e)に示す状態への遷移に伴い、スイッチャー300から出力される合成画像が、図8(i)に例示したような状態から、図8(j)に例示したような状態となるように制御される。すなわち、スイッチャー300から出力される合成画像のレイアウトが、図8(h)及び図8(i)として示したクロップ領域C2に対応する表示領域A2が拡張された2分割レイアウトから、図8(j)として示した3分割レイアウトに変更される。
次いで、S815において上記とは異なる判定結果に応じて遷移する処理ついて説明する。CPU210は、S815において、複数のクロップ領域の重なりが検出されず、かつ統合されたクロップ領域への統合対象とされた元の複数のクロップ領域の重なりの解消が検出されていない場合には、処理をS820に進める。
S820において、CPU210は、S814におけるクロップ領域情報の更新結果に基づきクロップ領域設定コマンを生成する。生成されたクロップ領域設定コマンドは、宛先として撮像装置100が指定されたうえで通信制御プログラム715に出力される。これにより、CPU210により通信制御プログラム715が実行されることで、当該クロップ領域設定コマンドが撮像装置100に送信される。
S820において、CPU210は、S814におけるクロップ領域情報の更新結果に基づきクロップ領域設定コマンを生成する。生成されたクロップ領域設定コマンドは、宛先として撮像装置100が指定されたうえで通信制御プログラム715に出力される。これにより、CPU210により通信制御プログラム715が実行されることで、当該クロップ領域設定コマンドが撮像装置100に送信される。
以上のようにして、CPU210は、S812において終了条件を満たすまで、図6に示す一連の処理を繰り返し実行する。
次いで、図7を参照して、スイッチャー300のCPU310により出力制御プログラム723が実行されることで実現される処理の一例について説明する。なお、図7に示す一連の処理は、例えば、スイッチャー300が電源投入に伴い起動されることで開始される。
S821において、CPU310は、イベントの発生を待ち受ける。当該イベントは、例えば、各種のプログラムが処理を実行した結果に応じて発生し得る。CPU310は、イベントを受信すると、処理をS822に進める。
S822において、CPU310は、S821において受信したイベントの種別を判別し、当該判別の結果に応じて以降の処理を切り替える。
CPU310は、S822において、発生したイベントが外部装置(例えば、制御装置200等)から送信されたレイアウト設定コマンドを通信制御プログラム724が受信することで発生するイベントであると判定した場合には、処理をS823に進める。
また、CPU310は、S822において、発生したイベントが外部装置(例えば、撮像装置100等)から送信された画像データを通信制御プログラム724が受信することで発生するイベントであると判定した場合には、処理をS824に進める。
一方で、CPU310は、S822において、発生したイベントがスイッチャー300の電源OFF等に伴う終了イベントであると判定した場合には、図7に示す一連の処理を終了する。
S822において、CPU310は、S821において受信したイベントの種別を判別し、当該判別の結果に応じて以降の処理を切り替える。
CPU310は、S822において、発生したイベントが外部装置(例えば、制御装置200等)から送信されたレイアウト設定コマンドを通信制御プログラム724が受信することで発生するイベントであると判定した場合には、処理をS823に進める。
また、CPU310は、S822において、発生したイベントが外部装置(例えば、撮像装置100等)から送信された画像データを通信制御プログラム724が受信することで発生するイベントであると判定した場合には、処理をS824に進める。
一方で、CPU310は、S822において、発生したイベントがスイッチャー300の電源OFF等に伴う終了イベントであると判定した場合には、図7に示す一連の処理を終了する。
S823において、CPU310は、外部装置から受信されたレイアウト設定コマンドに含まれる情報に基づき、クロップ画像を合成して合成画像を生成する際のレイアウトを変更する。
S824において、CPU310は、外部装置から受信された画像データに基づくクロップ画像を合成することで合成画像を生成し、当該合成画像を所定の出力先(例えば、出力装置400)に出力する。また、この際に、CPU310は、S823において決定されたレイアウトに従ってクロップ画像を合成することで、合成画像を生成してもよい。
なお、レイアウト設定コマンドに応じた出力画像の変化(特に、クロップ画像のレイアウトの変化)については、図8(f)~図8(j)を参照して説明した通りである。
なお、レイアウト設定コマンドに応じた出力画像の変化(特に、クロップ画像のレイアウトの変化)については、図8(f)~図8(j)を参照して説明した通りである。
以上のようにして、CPU310は、S822において終了条件を満たすまで、図7に示す一連の処理を繰り返し実行する。
なお、上記では、図8を参照して説明したように、クロップ領域C1に対して追尾対象として関連付けられた被写体T1の位置の変化に応じて、クロップ領域C1及びC2の統合が行われる場合の実施例について説明した。一方で、本開示に係る技術の適用対象は、必ずしも図8に示す例のみには限定されない。例えば、追尾対象となる被写体の数は1つには限定されず、統合に係る判定の対象とされるクロップ領域の数も2つには限定されない。
そこで、図9を参照して、本実施形態に係る画像形成システムの他の実施例について説明する。図9は、本実施形態に係る画像処理システムの他の実施例について示しており、それぞれが追尾対象として設定された被写体T1及びT3の移動に伴い、クロップ領域の統合や分割が行われる場合の一例について示している。
そこで、図9を参照して、本実施形態に係る画像形成システムの他の実施例について説明する。図9は、本実施形態に係る画像処理システムの他の実施例について示しており、それぞれが追尾対象として設定された被写体T1及びT3の移動に伴い、クロップ領域の統合や分割が行われる場合の一例について示している。
具体的な一例として、図9(a)は、被写体T1及びT3それぞれの移動に伴い、被写体T1に関連付けられたクロップ領域C1と、被写体T3に関連付けられたクロップ領域C3とが、クロップ領域C2に近接した状況を模式的に示している。この場合には、CPU210は、図9(b)に示すように、クロップ領域C1、C2、及びC3を統合することで、当該統合前のクロップ領域C1及びC3が含まれるように新たなクロップ領域C2を設定する。そのうえで、CPU210は、図9(c)に示すように、図9(b)に示すクロップ領域C2を切り出したクロップ画像がスイッチャー300から出力されるように、当該スイッチャー300がクロップ画像を出力画像として出力する際のレイアウトを制御する。
また、他の一例として、図9(d)は、被写体T1及びT3それぞれの移動に伴い、クロップ領域C1とクロップ領域C3とが、クロップ領域C2とは離隔した位置で互いに近接した状況を模式的に示している。なお、クロップ領域C1には優先度2(Priority2)が設定されており、クロップ領域C3には優先度1(Priority1)が設定されているものとする。この場合には、CPU210は、図9(e)に示すように、クロップ領域C1及びC3を統合することで、より優先度の低い当該統合前のクロップ領域C3が含まれるように新たなクロップ領域C1を設定する。そのうえで、CPU210は、図9(f)に示すように、クロップ領域C1に対応する表示領域A1が拡張された合成画像がスイッチャー300から出力されるように、当該スイッチャー300がクロップ画像を出力画像として出力する際のレイアウトを制御する。
また、前述した実施形態では、複数のクロップ領域の重なりに応じて、複数のクロップ領域を統合するか否かの判定や、統合されたクロップ領域を統合対象となる元の複数のクロップ画像に分割するか否かの判定が行われていた。一方で、同判定に係る処理は、必ずしも本実施形態に係る画像処理システムの処理を限定するものではない。すなわち、実質的に同様の結果を得ることが可能であれば、複数のクロップ領域を統合するか否かの判定や、統合されたクロップ領域を統合対象となる元の複数のクロップ画像に分割するか否かの判定に係る条件については特に限定はされない。
具体的な一例として、撮像画像中における複数の被写体の重なりに応じて、複数のクロップ領域を統合するか否かの判定や、統合されたクロップ領域を統合対象となる元の複数のクロップ画像に分割するか否かの判定が行われてもよい。また、この場合には、追尾対象として設定された被写体が当該判定の対象として適用されてもよく、当該被写体に関連付けられたクロップ領域が統合や分割の対象とされてもよい。
また、上記については、スイッチャー300がクロップ画像を合成して合成画像を生成する際のレイアウトの制御についても同様に適用することが可能である。
具体的な一例として、撮像画像中における複数の被写体の重なりに応じて、複数のクロップ領域を統合するか否かの判定や、統合されたクロップ領域を統合対象となる元の複数のクロップ画像に分割するか否かの判定が行われてもよい。また、この場合には、追尾対象として設定された被写体が当該判定の対象として適用されてもよく、当該被写体に関連付けられたクロップ領域が統合や分割の対象とされてもよい。
また、上記については、スイッチャー300がクロップ画像を合成して合成画像を生成する際のレイアウトの制御についても同様に適用することが可能である。
以上、図5~図9を参照して、本実施形態に係る画像処理システムの処理の一例について説明した。このように、本実施形態に係る画像処理システムに依れば、その時々の被写体の状況に応じて、撮像画像に対するクロップ領域の設定(例えば、クロップ領域の数、位置、及びサイズ等)をより好適な態様で適宜更新することが可能となる。また、本実施形態に係る画像処理システムに依れば、撮像画像に対するクロップ領域の設定の更新結果に応じて、一連のクロップ領域を合成して出力画像(合成画像)を生成する際のレイアウトを適宜変更することが可能となる。これにより、複数のクロップ画像が合成された合成画像が出力画像として出力されるような状況間おいても、その時々の被写体の状況に応じて、より好適な態様で(例えば、より見映えの良い状態で)、出力画像を出力することが可能となる。
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
100 撮像装置
200 制御装置
300 スイッチャー
702 画像処理プログラム
714 外部装置制御プログラム
723 出力制御プログラム
200 制御装置
300 スイッチャー
702 画像処理プログラム
714 外部装置制御プログラム
723 出力制御プログラム
Claims (15)
- 撮像装置と、当該撮像装置の動作を制御する制御装置と、を含む画像処理システムであって、
前記制御装置は、
前記撮像装置による撮像結果に応じた画像中に複数のクロップ領域を設定し、当該複数のクロップ領域のうちの少なくとも一部のクロップ領域中の被写体を追尾対象として設定するクロップ領域設定手段を有し、
前記クロップ領域設定手段は、前記画像中に設定された複数のクロップ領域または複数の追尾対象の重なりに応じて、当該画像中に設定されたクロップ領域を更新する
ことを特徴とする、画像処理システム。 - 前記クロップ領域設定手段は、前記画像中に設定された複数のクロップ領域または複数の追尾対象の重なりに応じて、少なくとも一部のクロップ領域のサイズと、クロップ領域の数と、のうち少なくともいずれかを更新することを特徴とする、請求項1に記載の画像処理システム。
- 前記クロップ領域設定手段は、
前記画像中に設定された複数のクロップ領域それぞれに対して優先度を設定し、
前記画像中に設定された複数のクロップ領域または複数の追尾対象の重なりと、前記優先度と、に応じて、当該画像中に設定されたクロップ領域を更新する
ことを特徴とする、請求項1または2に記載の画像処理システム。 - 前記クロップ領域設定手段は、複数の第1のクロップ領域または複数の追尾対象が重なる部分領域の大きさが閾値以上である場合に、当該部分領域を含む複数の第1のクロップ領域を1つの第2のクロップ領域に統合することを特徴とする、請求項1乃至3のいずれか1項に記載の画像処理システム。
- 前記クロップ領域設定手段は、前記複数の第1のクロップ領域または前記複数の追尾対象が重なる部分領域の大きさが閾値以上であることを検知してから所定の期間が経過した後に、当該部分領域を含む前記複数の第1のクロップ領域を1つの前記第2のクロップ領域に統合することを特徴とする、請求項4に記載の画像処理システム。
- 前記クロップ領域設定手段は、統合された前記第2のクロップ領域中の前記複数の追尾対象または当該第2のクロップ領域への統合対象となる前記複数の第1のクロップ領域が重なる部分領域の大きさが閾値未満である場合に、前記第2のクロップ領域への統合を解消して前記複数の第2のクロップ領域に分割することを特徴とする、請求項4または5に記載の画像処理システム。
- 前記クロップ領域設定手段は、統合された前記第2のクロップ領域中の前記複数の追尾対象または当該第2のクロップ領域への統合対象となる前記複数の第1のクロップ領域が重なる部分領域の大きさが閾値未満であることを検知してから所定の期間が経過した後に、前記第2のクロップ領域への統合を解消して前記複数の第2のクロップ領域に分割することを特徴とする、請求項6に記載の画像処理システム。
- 前記クロップ領域設定手段は、前記追尾対象の移動に応じて、当該追尾対象の設定が行われた前記クロップ領域の位置を制御することを特徴とする、請求項1乃至7のいずれか1項に記載の画像処理システム。
- 前記画像中に設定された複数のクロップ領域それぞれを切り出した複数のクロップ画像を合成して合成画像を生成する合成手段と、
前記画像中に設定された複数のクロップ領域または複数の追尾対象の重なりに応じて、前記合成画像が生成される際の複数のクロップ画像の合成に係るレイアウトを制御するレイアウト制御手段と、
を有することを特徴とする、請求項1乃至8のいずれか1項に記載の画像処理システム。 - 前記クロップ領域設定手段は、前記画像中に設定された複数のクロップ領域それぞれに対して優先度を設定し、
前記レイアウト制御手段は、前記画像中に設定された複数のクロップ領域または複数の追尾対象の重なりと、前記優先度と、に応じて、前記合成画像が生成される際の複数のクロップ画像の合成に係るレイアウトを制御する
ことを特徴とする、請求項9に記載の画像処理システム。 - 前記合成手段を有し、所定の出力先に前記合成画像を出力する映像出力装置を含み、
前記制御装置が、前記レイアウト制御手段を有する
ことを特徴とする、請求項9または10に記載の画像処理システム。 - 撮像装置の動作を制御する制御装置であって、
前記撮像装置による撮像結果に応じた画像中に複数のクロップ領域を設定し、当該複数のクロップ領域のうちの少なくとも一部のクロップ領域中の被写体を追尾対象として設定するクロップ領域設定手段を有し、
前記クロップ領域設定手段は、前記画像中に設定された複数のクロップ領域または複数の追尾対象の重なりに応じて、当該画像中に設定されたクロップ領域を更新する
ことを特徴とする、制御装置。 - 撮像装置と、当該撮像装置の動作を制御する制御装置と、を含む画像処理システムの制御方法であって、
前記制御装置が、前記撮像装置による撮像結果に応じた画像中に複数のクロップ領域を設定し、当該複数のクロップ領域のうちの少なくとも一部のクロップ領域中の被写体を追尾対象として設定するクロップ領域設定ステップを含み、
前記クロップ領域設定ステップは、前記画像中に設定された複数のクロップ領域または複数の追尾対象の重なりに応じて、当該画像中に設定されたクロップ領域を更新する
ことを特徴とする、画像処理システムの制御方法。 - 撮像装置の動作を制御する制御装置の制御方法であって、
前記撮像装置による撮像結果に応じた画像中に複数のクロップ領域を設定し、当該複数のクロップ領域のうちの少なくとも一部のクロップ領域中の被写体を追尾対象として設定するクロップ領域設定ステップを含み、
前記クロップ領域設定ステップは、前記画像中に設定された複数のクロップ領域または複数の追尾対象の重なりに応じて、当該画像中に設定されたクロップ領域を更新する
ことを特徴とする、制御装置の制御方法。 - コンピュータを、請求項12に記載の制御装置の各手段として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022045409A JP2023139725A (ja) | 2022-03-22 | 2022-03-22 | 画像処理システム、画像処理システムの制御方法、及びプログラム。 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022045409A JP2023139725A (ja) | 2022-03-22 | 2022-03-22 | 画像処理システム、画像処理システムの制御方法、及びプログラム。 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023139725A true JP2023139725A (ja) | 2023-10-04 |
Family
ID=88204828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022045409A Pending JP2023139725A (ja) | 2022-03-22 | 2022-03-22 | 画像処理システム、画像処理システムの制御方法、及びプログラム。 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023139725A (ja) |
-
2022
- 2022-03-22 JP JP2022045409A patent/JP2023139725A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110022431B (zh) | 摄像装置、摄像方法、显示装置和显示方法 | |
JP4932660B2 (ja) | 画像記録装置及び画像記録方法 | |
US20140244858A1 (en) | Communication system and relaying device | |
JP2009021880A (ja) | 遠隔撮影システム | |
JP5312256B2 (ja) | 撮像装置および撮像システム | |
JP2008003335A (ja) | 撮像装置、フォーカス制御方法、およびフォーカス制御プログラム | |
JP2019012881A (ja) | 撮像制御装置及びその制御方法 | |
JP5877329B2 (ja) | 撮像装置および画像処理装置 | |
US20110018978A1 (en) | 3d image display apparatus and 3d image display method | |
US9263001B2 (en) | Display control device | |
JP2007036339A (ja) | 画像配信システム | |
JP7210188B2 (ja) | 情報処理システム、制御装置及び情報処理方法 | |
EP2942945B1 (en) | System and method of precision remote ptz control of ip cameras | |
JP2023139725A (ja) | 画像処理システム、画像処理システムの制御方法、及びプログラム。 | |
JP6445831B2 (ja) | 撮像装置及びその制御方法ならびにプログラム | |
TW202322632A (zh) | 用於傳輸視訊串流之方法及系統 | |
JP2016096482A (ja) | 画像処理装置、画像処理方法、及びプログラム | |
JP2008301191A (ja) | 映像監視システム、映像監視制御装置、映像監視制御方法、及び映像監視制御用プログラム | |
JP6943151B2 (ja) | 表示制御装置及び表示制御システム | |
CN110351477B (zh) | 用于在存在延迟的环境中远程控制相机的方法和系统 | |
JP2010062834A (ja) | 撮影システム並びに当該撮影システムを構成する撮影装置及び操作装置 | |
JP6153339B2 (ja) | 撮影システム及びこれに用いられる撮影機器 | |
JP6949534B2 (ja) | 表示装置、画像出力装置及び表示方法 | |
JP2002354324A (ja) | 画像撮影装置、その操作装置、および画像撮影システム | |
JP2006222617A (ja) | 遠隔撮影システム、遠隔表示制御装置及び遠隔撮影装置 |