添付図面に従って本開示の技術に係る実施形態の一例について説明する。
先ず、以下の説明で使用される文言について説明する。
CPUとは、“Central Processing Unit”の略称を指す。RAMとは、“Random Access Memory”の略称を指す。DRAMとは、“Dynamic Random Access Memory”の略称を指す。SRAMとは、“Static Random Access Memory”の略称を指す。ROMとは、“Read Only Memory”の略称を指す。SSDとは、“Solid State Drive”の略称を指す。HDDとは、“Hard Disk Drive”の略称を指す。EEPROMとは、“Electrically Erasable and Programmable Read Only Memory”の略称を指す。I/Fとは、“Interface”の略称を指す。ICとは、“Integrated Circuit”の略称を指す。ASICとは、“Application Specific Integrated Circuit”の略称を指す。PLDとは、“Programmable Logic Device”の略称を指す。FPGAとは、“Field-Programmable Gate Array”の略称を指す。SoCとは、“System-on-a-chip”の略称を指す。CMOSとは、“Complementary Metal Oxide Semiconductor”の略称を指す。CCDとは、“Charge Coupled Device”の略称を指す。ELとは、“Electro-Luminescence”の略称を指す。GPUとは、“Graphics Processing Unit”の略称を指す。LANとは、“Local Area Network”の略称を指す。3Dとは、“3 Dimension”の略称を指す。USBとは、“Universal Serial Bus”の略称を指す。“HMD”とは、“Head Mounted Display”の略称を指す。GUIとは、“Graphical User Interface”の略称を指す。LTEとは、“Long Term Evolution”の略称を指す。5Gとは、“5th generation (wireless technology for digital cellular networks)”の略称を指す。TDMとは“Time-Division Multiplexing”の略称を指す。また、本明細書の説明において、「一致」の意味には、完全な一致の意味の他に、設計上及び製造上において許容される誤差を含む略一致の意味も含まれる。
一例として図1に示すように、情報処理システム10は、情報処理装置12、スマートデバイス14、複数の撮像装置16、撮像装置18、無線通信基地局(以下、単に「基地局」と称する)20、及び受像機34を備えている。なお、ここで、「スマートデバイス14」とは、例えば、スマートフォン、タブレット端末、スマートウォッチ(時計型多機能端末)、およびHMD型多機能端末等の携帯型の多機能端末を指す。なお、ここでは、受像機34を例示しているが、本開示の技術はこれに限定されず、ディスプレイ付きの電子機器(例えば、スマートデバイス)であってもよい。また、基地局20は1ヵ所に限らず複数存在していてもよい。さらに、基地局で使用する通信規格には、5G規格、LTE規格等を含む無線通信規格と、WiFi(802.11)規格及び/又はBluetooth(登録商標)規格を含む無線通信規格と、TDM規格及び/又はイーサネット(登録商標)規格を含む有線通信規格が含まれる。
撮像装置16及び18は、CMOSイメージセンサを有する撮像用のデバイスであり、光学式ズーム機能及び/又はデジタルズーム機能が搭載されている。なお、CMOSイメージセンサに代えてCCDイメージセンサ等の他種類のイメージセンサを採用してもよい。
複数の撮像装置16は、サッカー競技場22内に設置されている。複数の撮像装置16の各々は、サッカーフィールド24を取り囲むように配置されており、サッカーフィールド24を含む領域を撮像対象領域として撮像する。ここでは、複数の撮像装置16の各々がサッカーフィールド24を取り囲むように配置されている形態例を挙げているが、本開示の技術はこれに限定されず、複数の撮像装置16の配置は、視聴者28等によって生成されることが要求された仮想視点映像に応じて決定される。サッカーフィールド24の全部を取り囲むように複数の撮像装置16を配置してもよいし、特定の一部を取り囲むように複数の撮像装置16を配置してもよい。撮像装置18は、無人航空機(例えば、マルチ回転翼型無人航空機)に設置されており、サッカーフィールド24を含む領域を撮像対象領域として上空から俯瞰した状態で撮像する。サッカーフィールド24を含む領域を上空から俯瞰した状態の撮像対象領域とは、サッカーフィールド24に対する撮像装置18による撮像面を指す。
情報処理装置12は、管制室32に設置されている。詳しくは後述するが、情報処理装置12は、コンピュータ50と、ディスプレイ53と、受付デバイス52とを有しており、ディスプレイ53には動画編集用画面53Aが表示される。複数の撮像装置16及び情報処理装置12は、LANケーブル30を介して接続されており、情報処理装置12は、複数の撮像装置16を制御し、かつ、複数の撮像装置16の各々によって撮像されることで得られた画像を取得する。なお、ここでは、LANケーブル30による有線通信方式を用いた接続を例示しているが、これに限らず、無線通信方式を用いた接続であってもよい。
サッカー競技場22には、サッカーフィールド24を取り囲むように観戦席26が設けられており、観戦席26には視聴者28が着座している。視聴者28は、スマートデバイス14を所持しており、スマートデバイス14は、視聴者28によって用いられる。なお、ここでは、サッカー競技場22内に視聴者28が存在している形態例を挙げて説明しているが、本開示の技術はこれに限定されず、視聴者28は、サッカー競技場22外に存在していてもよい。
基地局20は、情報処理装置12及び無人航空機27と電波を介して各種情報の送受信を行う。すなわち、情報処理装置12は、基地局20を介して、無人航空機27と無線通信可能に接続されている。情報処理装置12は、基地局20を介して無人航空機27と無線通信を行うことにより、無人航空機27を制御したり、撮像装置18によって撮像されることで得られた画像を無人航空機27から取得したりする。
基地局20は、受像機34に対して無線通信を介して各種情報を送信する。情報処理装置12は、基地局20を介して、各種映像を受像機34に送信し、受像機34は、情報処理装置12から送信された各種映像を受信し、受信した各種映像を画面34Aに表示する。なお、受像機34は、例えば、不特定多数の観戦者等の視聴に使用される。受像機34の設置個所は、サッカー競技場22内であってもよいし、サッカー競技場22外(例えば、パブリックビューイング会場)等であってもよい。なお、ここでは、情報処理装置12が受像機34に対して無線通信を介して各種情報を送信する形態例を挙げているが、本開示の技術はこれに限定されず、例えば、情報処理装置12が受像機34に対して有線通信を介して各種情報を送信する形態であってもよい。
情報処理装置12はサーバに相当するデバイスであり、スマートデバイス14は、情報処理装置12に対するクライアント端末に相当するデバイスである。情報処理装置12及びスマートデバイス14が、基地局20を介して互いに無線通信を行うことにより、スマートデバイス14は、情報処理装置12に対して各種サービスの提供を要求し、情報処理装置12は、スマートデバイス14からの要求に応じたサービスをスマートデバイス14に提供する。
一例として図2に示すように、情報処理装置12は、上空から観察した場合のサッカーフィールド24を含む領域を示す俯瞰映像46Aを無人航空機27から取得する。俯瞰映像46Aは、サッカーフィールド24を含む領域が撮像対象領域として上空から俯瞰した状態で無人航空機27の撮像装置18によって撮像されることで得られた動画像である。
情報処理装置12は、複数の撮像装置16の各々の位置から観察した場合の撮像対象領域を示す撮像映像46Bを複数の撮像装置16の各々から取得する。撮像映像46Bは、撮像対象領域が複数の撮像装置16の各々によって撮像されることで得られた動画像である。なお、撮像装置16で撮像することにより得られた撮像映像46Bは、本開示の技術に係る「画像」の一例である。
使用者は、ディスプレイ53にGUI表示される動画編集用画面53Aに基づいて受付デバイス52を操作することにより、配信用映像を生成することができる。
一例として図3に示すように、情報処理装置12は、コンピュータ50、受付デバイス52、ディスプレイ53、第1通信I/F54、及び第2通信I/F56を備えている。コンピュータ50は、CPU58、ストレージ60、及びメモリ62を備えており、CPU58、ストレージ60、及びメモリ62は、バス64を介して接続されている。図3に示す例では、図示の都合上、バス64として1本のバスが図示されているが、複数のバスであってもよい。また、バス64には、シリアルバス、又は、データバス、アドレスバス、及びコントロールバス等で構成されるパラレルバスが含まれていてもよい。
CPU58は、情報処理装置12の全体を制御する。ストレージ60は、各種パラメータ及び各種プログラムを記憶している。ストレージ60は、不揮発性の記憶装置である。ここでは、ストレージ60の一例として、フラッシュメモリが採用されているが、これに限らず、EEPROM、HDD、又はSSD等であってもよい。メモリ62は、記憶装置である。メモリ62には、各種情報が一時的に記憶される。メモリ62は、CPU58によってワークメモリとして用いられる。ここでは、メモリ62の一例として、DRAMが採用されているが、これに限らず、他の種類の記憶装置であってもよい。なお、CPU58は、本開示の技術に係る「プロセッサ」の一例である。また、ストレージ60及びメモリ62は、本開示の技術に係る「メモリ」の一例である。
受付デバイス52は、情報処理装置12の使用者等からの指示を受け付ける。受付デバイス52の一例としては、キーボード、タッチパネル、及びマウス等が挙げられる。受付デバイス52は、バス64等に接続されており、受付デバイス52によって受け付けられた指示は、CPU58によって取得される。
ディスプレイ53は、バス64に接続されており、CPU58の制御下で、各種情報を表示する。ディスプレイ53の一例としては、液晶ディスプレイが挙げられる。なお、液晶ディプレイに限らず、有機ELディスプレイ等の他の種類のディスプレイがディスプレイ53として採用されてもよい。
第1通信I/F54は、LANケーブル30に接続されている。第1通信I/F54は、例えば、FPGAを有するデバイスによって実現される。第1通信I/F54は、バス64に接続されており、CPU58と複数の撮像装置16との間で各種情報の授受を司る。例えば、第1通信I/F54は、CPU58の要求に従って複数の撮像装置16を制御する。また、第1通信I/F54は、複数の撮像装置16の各々によって撮像されることで得られた撮像映像46B(図2参照)をCPU58に出力する。なお、ここでは、第1通信I/F54は有線通信I/Fとして例示されているが、高速無線LAN等の無線通信I/Fであってもよい。
第2通信I/F56は、基地局20に対して無線通信可能に接続されている。第2通信I/F56は、例えば、FPGAを有するデバイスによって実現される。第2通信I/F56は、バス64に接続されている。第2通信I/F56は、基地局20を介して、無線通信方式で、CPU58と無人航空機27との間で各種情報の授受を司る。また、第2通信I/F56は、基地局20を介して、無線通信方式で、CPU58とスマートデバイス14との間で各種情報の授受を司る。また、第2通信I/F56は、基地局20を介して、無線通信方式で、CPU58による受像機34に対する各種映像の送信を司る。なお、第1通信I/F54及び第2通信I/F56の少なくとも一方は、FPGAの代わりに固定回路で構成することも可能である。また、第1通信I/F54及び第2通信I/F56の少なくとも一方は、ASIC、FPGA、及び/又はPLD等で構成された回路であってもよい。
一例として図4に示すように、スマートデバイス14は、コンピュータ70、受付デバイス76、ディスプレイ78、マイクロフォン80、スピーカ82、撮像装置84、及び通信I/F86を備えている。コンピュータ70は、CPU88、ストレージ90、及びメモリ92を備えており、CPU88、ストレージ90、及びメモリ92は、バス94を介して接続されている。図4に示す例では、図示の都合上、バス94として1本のバスが図示されているが、バス94は、複数本のバスであってもよい。バス94は、シリアルバスであってもよいし、データバス、アドレスバス、及びコントロールバス等を含むパラレルバスであってもよい。
CPU88は、スマートデバイス14の全体を制御する。ストレージ90は、各種パラメータ及び各種プログラムを記憶している。ストレージ90は、不揮発性の記憶装置である。ここでは、ストレージ90の一例として、フラッシュメモリが採用されている。フラッシュメモリはあくまでも一例に過ぎず、ストレージ90としては、例えば、フラッシュメモリに代えて、又は、フラッシュメモリと併せて、磁気抵抗メモリ及び/又は強誘電体メモリなどの各種の不揮発性メモリが挙げられる。また、不揮発性の記憶装置は、EEPROM、HDD、及び/又はSSD等であってもよい。メモリ92は、各種情報を一時的に記憶し、CPU88によってワークメモリとして用いられる。メモリ92の一例としては、RAMが挙げられるが、これに限らず、他の種類の記憶装置であってもよい。
受付デバイス76は、スマートデバイス14の使用者等(ここでは、一例として、視聴者28)からの指示を受け付ける。受付デバイス76の一例としては、タッチパネル76A及びハードキー等が挙げられる。受付デバイス76は、バス94に接続されており、受付デバイス76によって受け付けられた指示は、CPU88によって取得される。
ディスプレイ78は、バス94に接続されており、CPU88の制御下で、各種情報を表示する。ディスプレイ78の一例としては、液晶ディスプレイが挙げられる。なお、液晶ディプレイに限らず、有機ELディスプレイ等の他の種類のディスプレイがディスプレイ78として採用されてもよい。
スマートデバイス14は、タッチパネル・ディスプレイを備えており、タッチパネル・ディスプレイは、タッチパネル76A及びディスプレイ78によって実現される。すなわち、ディスプレイ78の表示領域に対してタッチパネル76Aを重ね合わせることによって、あるいはディスプレイ78の内部にタッチパネル機能を内蔵(「インセル」型)することでタッチパネル・ディスプレイが形成される。
マイクロフォン80は、収集した音を電気信号に変換する。マイクロフォン80は、バス94に接続されている。マイクロフォン80によって収集された音が変換されて得られた電気信号は、バス94を介してCPU88によって取得される。
スピーカ82は、電気信号を音に変換する。スピーカ82は、バス94に接続されている。スピーカ82は、CPU88から出力された電気信号を、バス94を介して受信し、受信した電気信号を音に変換し、電気信号を変換して得た音をスマートデバイス14の外部に出力する。
撮像装置84は、被写体を撮像することで、被写体を示す画像を取得する。撮像装置84は、バス94に接続されている。撮像装置84によって被写体が撮像されることで得られた画像は、バス94を介してCPU88によって取得される。
通信I/F86は、基地局20に対して無線通信可能に接続されている。通信I/F86は、例えば、回路(例えば、ASIC、FPGA、及び/又はPLD等)で構成されたデバイスによって実現される。通信I/F86は、バス94に接続されている。通信I/F86は、基地局20を介して、無線通信方式で、CPU88と外部装置との間で各種情報の授受を司る。ここで、「外部装置」としては、例えば、情報処理装置12が挙げられる。
一例として図5に示すように、情報処理装置12において、ストレージ60には、編集用プログラム60Aが記憶されている。CPU58は、ストレージ60から編集用プログラム60Aを読み出し、読み出した編集用プログラム60Aをメモリ62上で実行する。CPU58は、メモリ62上で実行する編集用プログラム60Aに従って、スマートデバイス14、撮像装置16、及び無人航空機27との間で各種情報の授受を行い、かつ、受像機34に対する各種映像の送信を行う。なお、編集用プログラム60Aは、コンピュータ50に処理を実行させるためのプログラムであって、本開示の技術に係る「プログラム」の一例である。
CPU58は、ストレージ60から編集用プログラム60Aを読み出し、読み出した編集用プログラム60Aをメモリ62上で実行する。CPU58は、メモリ62上で実行する編集用プログラム60Aに従って、シーン判定部100、点数表選択部101、視線方向決定部102、位置及び画角決定部103、配信用映像生成部104、及び点数表編集制御部105として動作することで、後述の各種情報処理を実行する。
一例として図6に示すように、情報処理装置12では、シーン判定部100によりシーン判定処理が行われる。シーン判定部100は、撮像装置18から俯瞰映像46Aを取得する。そして、シーン判定部100は、取得した俯瞰映像46Aを解析することにより、俯瞰映像46Aが表すシーンを判定する。例えば、サッカーフィールド24を撮像対象領域としている場合、シーンには「試合中」、「ハーフタイム」、及び「入場」等が含まれる。「試合中」は、両チームの選手が試合を継続していることに対応するシーンである。「ハーフタイム」は、両チームの選手が試合を中断していることに対応するシーンである。「入場」は、選手がサッカーフィールド24に入場するシーンである。
シーン判定部100は、例えば一定時間ごとに周期的にシーン判定処理を行うことにより、俯瞰映像46Aがいずれのシーンを表しているかを判定し、判定結果(以下、「シーン判定結果」という。)をメモリ62に記憶させる。なお、シーンは、「試合中」、「ハーフタイム」、及び「入場」に限られず、シーンの種類及び数は、撮像対象に応じて適宜変更可能である。
一例として図7に示すように、情報処理装置12では、点数表選択部101により点数表選択処理が行われる。点数表は、複数の撮像装置16で撮像することにより得られた複数の撮像映像46Bを用い、複数の視線方向から撮像対象領域を評価するために用いられる。
点数表選択部101は、シーン判定部100により判定されたシーン判定結果をメモリ62から読み出し、読み出したシーン判定結果が表すシーンに対応する点数表を、対応表106を用いて選択する。対応表106には、シーンに対応する点数表が対応付けられている。例えば、「試合中」のシーンには点数表T1が対応付けられている。「ハーフタイム」のシーンには点数表T2が対応付けられている。「入場」のシーンには点数表T3が対応付けられている。
ストレージ60には複数の点数表が記憶されている。点数表選択部101は、対応表106に基づいてシーン判定結果に対応する点数表を、ストレージ60に記憶された複数の点数表から選択してメモリ62に記憶させる。なお、対応表106の内容は、シーンの種類及び数に応じて適宜変更される。
図8は、ストレージ60に記憶される複数の点数表の一例を示している。点数表には、1以上の評価項目が含まれ、評価項目ごとに点数が設定されている。点数は、評価項目に該当する要因が存在する場合に付与される数値であって、正の値及び/又は負の値を含む。例えば、「試合中」のシーンに対応する点数表T1は、5つの評価項目A~Eが設定されている。また、一例として、評価項目Aには点数「+10」が設定され、評価項目Bには点数「+8」が設定され、評価項目Cには点数「+4」が設定され、評価項目Dには点数「-5」が設定され、評価項目Eには点数「-2」が設定されている。
図8に示す点数表T1の例では、評価項目Aに該当する要因として「ボール」が設定されている。すなわち、評価対象の画像内に「ボール」が含まれる場合には、評価項目Aに該当する要因が存在すると判定して、点数「+10」が付与される。また、評価項目Bに該当する要因として「ボールに最も近い選手の顔及び手足」が設定されている。すなわち、評価対象の画像内に「ボールに最も近い選手の顔及び手足」が含まれる場合には、評価項目Bに該当する要因が存在すると判定して、点数「+8」が付与される。また、評価項目Cに該当する要因として「その他の選手の顔及び手足」が設定されている。すなわち、評価対象の画像内に「その他の選手の顔及び手足」が含まれる場合には、評価項目Cに該当する要因が存在すると判定して、点数「+4」が付与される。
また、評価項目Dに該当する要因として「審判」が設定されている。すなわち、評価対象の画像内に「審判」が含まれる場合には、評価項目Dに該当する要因が存在すると判定して、点数「-5」が付与される。すなわち5点減点される。さらに、評価項目Eに該当する要因として「観客の顔」が設定されている。すなわち、評価対象の画像内に「観客の顔」が含まれる場合には、評価項目Eに該当する要因が存在すると判定して、点数「-2」が付与される。すなわち2点減点される。
一例として図9に示すように、複数の撮像装置16は、撮像対象領域としてのサッカーフィールド24を取り囲むように2次元平面内に配置されている。例えば、複数の撮像装置16は、サッカーフィールド24を取り囲む矩形状の各辺に沿って配置されており、撮像方向、すなわち視線方向がそれぞれ異なる。
一例として図10に示すように、情報処理装置12では、視線方向決定部102により視線方向決定処理が行われる。視線方向決定部102は、複数の撮像装置16のそれぞれから撮像映像46Bを取得する。視線方向決定部102は、点数表選択部101により選択された点数表をメモリ62から読み出し、読み出した点数表に基づいて各撮像映像46Bを評価する。詳しくは後述するが、視線方向決定部102は、点数表に基づき、撮像映像46Bのそれぞれについて合計点を算出する合計点算出処理を行う。
視線方向決定部102は、算出した複数の合計点と、撮像装置16の撮像方向(すなわち視線方向)との関係に基づいて、合計点が最大となる視線方向を推定する。例えば、視線方向決定部102は、算出した複数の合計点と視線方向との関係を表す補完曲線を生成し、生成した補完曲線において合計点が最大となる視線方向を推定する。視線方向決定部102は、推定により得られた視線方向を、仮想視点の視線方向Dとして決定する。なお、視線方向決定部102により決定された仮想視点の視線方向Dは、例えば、複数の撮像装置16が配置された矩形状の一辺に仮想的に配置された仮想カメラ16Aの視線方向である。
一例として図11に示すように、視線方向決定部102は、上述した合計点算出処理を行う。視線方向決定部102は、点数表を参照し、評価対象の撮像映像46B内に各評価項目に該当する要因が存在するか否かを判定し、要因が存在する場合には、各評価項目に設定された点数を付与する。そして、視線方向決定部102は、付与した点数の和を求めることにより合計点を算出する。
図11に示す例では、撮像映像46B内に、評価項目Aに該当する要因である「ボール」と、評価項目Bに該当する要因である「ボールに最も近い選手の顔及び手足」と、評価項目Cに該当する要因である「その他の選手の顔及び手足」が存在する。この結果、評価項目Aに対して点数「+10」が付与され、評価項目Bに対して点数「+8」が付与され、評価項目Cに対して点数「+4」が付与されるので、視線方向決定部102により算出される合計点は「22点」となる。
本実施形態では、評価項目を撮像対象領域に含まれるオブジェクトの種類(例えば、「ボール」、「ボールに最も近い選手の顔及び手足」、「審判」、及び「観客の顔」など)としている。このため、視線方向決定部102は、例えば、機械学習等の手法を用いて、撮像映像46B内から評価項目に該当するオブジェクトの検出を行う。視線方向決定部102は、検出したオブジェクトを含む矩形領域に対して1つの点数を付与してもよいし、検出したオブジェクトの各画素に対して点数を付与してもよい。
一例として図12及び図13に示すように、情報処理装置12では、位置及び画角決定部103により位置及び画角決定処理が行われる。図12に示すように、位置及び画角決定部103は、視線方向決定部102により決定された視線方向Dを有する仮想カメラ16Aにより撮像される仮想視点映像47を取得する。そして、位置及び画角決定部103は、仮想視点映像47に基づいて、点数表に基づく点数の分布(以下、「点数分布」という。)を生成する。この点数分布は、視線方向Dに対して垂直な仮想平面を想定し、想定した仮想平面に、撮像映像46Bを用いて求めた点数を転写した分布に相当する。
本実施形態では、位置及び画角決定部103は、一例として、前述の合計点算出処理と同様に、仮想視点映像47内から評価項目に該当するオブジェクトの検出を行い、検出したオブジェクトに点数を付与することにより、点数分布を生成する。図12は、例えば検出したオブジェクトの各画素に対して点数を付与する例を示している。図12に示す例では、点数の密度が濃度で表されており、濃度が高いほど点数の密度が高い。
図13に示すように、位置及び画角決定部103は、撮像対象領域内における点数分布に基づいて仮想視点の位置及び画角を決定する。まず、位置及び画角決定部103は、視線方向決定部102により決定された仮想視点の視線方向Dを、点数分布に基づいて移動させる。具体的には、位置及び画角決定部103は、点数の密度が最も高い領域に位置するように、視線方向Dを平行移動させる。次に、位置及び画角決定部103は、移動後の視線方向Dを基準として、仮想視点の位置P及び画角Aを決定する。例えば、位置及び画角決定部103は、視野領域内の点数の密度が最も高くなるように画角Aを決定する。
位置及び画角決定部103は、決定した仮想視点の視線方向D、位置P、及び画角Aを含む視点情報をメモリ62に記憶させる。仮想視点は、上述のシーン判定処理、点数表選択処理、視線方向決定処理、及び位置及び画角決定処理が繰り返し行われることにより、周期的に更新される。すなわち、視点情報には、仮想視点の時間的な変化が含まれる。
一例として図14に示すように、情報処理装置12では、配信用映像生成部104により配信用映像生成処理が行われる。配信用映像生成部104は、位置及び画角決定部103により決定された視点情報をメモリ62から読み出す。また、配信用映像生成部104は、複数の撮像装置16のそれぞれから撮像映像46Bを取得する。配信用映像生成部104は、複数の撮像映像46Bに基づいて3Dポリゴンを生成することにより、視点情報を基準とした仮想視点映像を生成する。この仮想視点映像は、仮想視点の位置Pから視線方向Dに向かって、画角Aで撮像対象領域を観察した場合における仮想的な映像である。配信用映像生成部104は、時間的に変化する仮想視点を基準として仮想視点映像を生成することにより、動画データとしての配信用映像を生成する。配信用映像生成部104は、生成した配信用映像をストレージ60に記憶させる。
また、配信用映像生成部104は、一例として図15に示すように、生成した配信用映像を動画編集用画面53Aに表示させる。動画編集用画面53Aには、配信用映像をプレビュー表示するための第1表示部110が設けられている。また、動画編集用画面53Aには、第1表示部110に隣接して、再生操作部111が設けられている。使用者は、再生操作部111を、受付デバイス52の一例としてのマウスを用いて操作することにより、配信用映像の再生、停止、及び再生速度の変更などを行うことができる。使用者は、第1表示部110により配信用映像をプレビュー表示させることにより、配信用映像をスマートデバイス14及び受像機34等に配信する前に、事前に配信用映像の良否を確認することができる。
同様に、動画編集用画面53Aには、シーン判定処理に用いられた俯瞰映像を表示するための第2表示部112が設けられている。また、動画編集用画面53Aには、第2表示部112に隣接して、再生操作部113が設けられている。使用者は、再生操作部113を、上記マウスを用いて操作することにより、俯瞰映像の再生、停止、及び再生速度の変更などを行うことができる。例えば、俯瞰映像には、シーンに対応する点数表に基づいて決定された仮想視点の視線方向D、位置P、及び画角Aを含む視点情報が表示される。使用者は、第2表示部112により、点数表に基づいて決定された仮想視点の視点情報を確認することができる。
また、動画編集用画面53Aには、シーン判定部100により判定されたシーンと、点数表選択部101により選択された点数表とが対応付けられて表示される。これにより、使用者は、適切なシーン及び点数表が決定されているか否かを確認することができる。また、動画編集用画面53Aには、配信用映像又は俯瞰映像の再生位置を示す指標114が表示されている。指標114は、第1表示部110において配信用映像が再生されている場合には配信用映像の再生位置を示す。また、指標114は、第2表示部112において俯瞰映像が再生されている場合には俯瞰映像の再生位置を示す。
また、動画編集用画面53Aには、配信実行ボタン115、点数表編集ボタン116、及び再生成ボタン117が表示されている。使用者は、動画編集用画面53Aに表示されるカーソル118を、マウスの操作により配信実行ボタン115上に位置させた状態でクリック操作を行うことにより、配信用映像の配信を指示することができる。また、使用者は、カーソル118を、マウスの操作により点数表編集ボタン116上に位置させた状態でクリック操作を行うことにより、点数表を編集することができる。
情報処理装置12では、点数表編集制御部105により、点数表の編集に係る制御が行われる。一例として図16に示すように、点数表編集制御部105は、ディスプレイ53に、点数表編集画面200をGUI表示させる。点数表編集制御部105は、動画編集用画面53Aにおいて点数表編集ボタン116がクリック操作されたことに応じて点数表編集画面200を表示させる。点数表編集画面200には、点数表選択部201、適用シーン選択部202、評価項目設定部203、及び点数入力部204が表示される。
使用者は、点数表選択部201を、マウス等を用いて操作することにより、編集対象とする点数表を選択することができる。また、使用者は、適用シーン選択部202を、マウス等を用いて操作することにより、点数表選択部201において選択した点数表に適用するシーンを選択することができる。また、使用者は、評価項目設定部203を、マウス及びキーボード等を用いて入力操作を行うことにより、適用シーン選択部202において選択したシーンに適した評価項目を設定することができる。さらに、使用者は、点数入力部204を、マウス及びキーボード等を用いて入力操作を行うことにより、評価項目設定部203において設定した評価項目に対応する点数を設定することができる。
また、点数表編集画面200には、評価項目追加ボタン205、評価項目削除ボタン206、OKボタン207、及びキャンセルボタン208が表示されている。使用者は、評価項目追加ボタン205をクリック操作することにより、新たな評価項目を追加することができる。また、使用者は、マウスの操作により、評価項目設定部203から設定済みの評価項目を選択し、評価項目削除ボタン206をクリック操作することにより、当該評価項目を削除することができる。また、使用者は、OKボタン207をクリック操作することにより、点数表の編集内容を確定することができる。また、使用者は、キャンセルボタン208をクリック操作することにより、点数表の編集内容をキャンセルすることができる。
点数表編集制御部105は、使用者がOKボタン207をクリック操作することにより、点数表の編集内容が確定されると、新たな点数表を生成してストレージ60に記憶させるとともに、点数表選択部101が用いる対応表106を更新する(図7参照)。また、使用者は、再生成ボタン117をクリック操作することにより、情報処理装置12に、更新された点数表に基づいて、配信用映像を再度生成させることができる。
次に、情報処理システム10の作用について説明する。
まず、情報処理装置12のCPU58によって実行される全体の処理の流れの一例について図17を参照しながら説明する。
図17に示す全体処理では、まず、ステップST100で、シーン判定部100は、撮像装置18から俯瞰映像46Aを取得する(図6参照)。次のステップST101で、シーン判定部100は、俯瞰映像46Aが表すシーンを判定する。次のステップST102で、点数表選択部101は、シーン判定部100により判定されたシーン判定結果に対応する点数表を、シーンと点数表とが対応付けられた対応表106を用いて選択する(図7参照)。
次のステップST103で、視線方向決定部102は、複数の撮像装置16のそれぞれから撮像映像46Bを取得する。次のステップST104で、視線方向決定部102は、点数表選択部101により選択された点数表を用い、各撮像映像46Bについて合計点を算出する。そして、視線方向決定部102は、合計点の視線方向に関する変化に基づき、合計点が最も高い視線方向を推定することにより、仮想視点の視線方向Dを決定する(図10参照)。
次のステップST105で、位置及び画角決定部103は、視線方向決定部102により決定された仮想視点の視線方向Dを基準として、撮像対象領域内における点数の分布に基づいて仮想視点の位置及び画角を決定する(図12及び図13参照)。
次のステップST106で、CPU58は、全体処理を終了する条件(以下、「終了条件」という。)を満足したか否かを判定する。終了条件としては、例えば、編集対象である複数の撮像映像46Bの撮像時間が経過した、という条件が挙げられる。ステップST106において、終了条件を満足していない場合には、判定が否定されて、全体処理はステップST100へ移行する。ステップST106において、終了条件を満足した場合には、判定が肯定されて、全体処理はステップST107へ移行する。すなわち、ステップST100~ステップST105は、編集対象である複数の撮像映像46Bの撮像時間が経過するまでの間、周期的に繰り返し行われる。
ステップST107で、配信用映像生成部104は、位置及び画角決定部103により決定された視点情報と、複数の撮像映像46Bとに基づいて、視点情報を基準とした仮想視点映像を生成する(図14参照)。配信用映像生成部104は、生成した仮想視点映像に基づいて、動画データとしての配信用映像を生成する。配信用映像生成部104は、生成した配信用映像をストレージ60に記憶させる。
次に、ステップST104において視線方向決定部102により行われる視線方向決定処理の流れの一例について図18を参照しながら説明する。
まず、ステップST200で、視線方向決定部102は、複数の撮像映像46Bのそれぞれについて、点数表に基づいて合計点を算出する(図11参照)。次のステップST201で、視線方向決定部102は、算出した複数の合計点と視線方向との関係を表す補完曲線を生成し、生成した補完曲線において合計点が最大となる視線方向を推定する(図10参照)。次のステップST202で、視線方向決定部102は、合計点が最大となる視線方向を、仮想視点の視線方向Dとして決定する。
次に、ステップST105において位置及び画角決定部103により行われる位置及び画角決定処理の流れの一例について図19を参照しながら説明する。
まず、ステップST300で、位置及び画角決定部103は、視線方向決定部102により決定された視線方向Dを基準とした撮像対象領域内における点数分布を生成する(図12参照)。次のステップST301で、位置及び画角決定部103は、点数分布に応じて視線方向Dを移動させる。例えば、位置及び画角決定部103は、点数の密度が最も高い領域に位置するように、視線方向Dを平行移動させる(図13参照)。
次のステップST302で、位置及び画角決定部103は、点数分布に応じて仮想視点の位置P及び画角Aを決定する。例えば、位置及び画角決定部103は、視野領域内の点数の密度が最も高くなるように画角Aを決定する(図13参照)。
以上説明したように、情報処理装置12では、CPU58によって、撮像対象領域を視点の異なる複数の撮像装置16で撮像することにより得られた複数の画像(上記実施形態では撮像映像46B)を用い、1以上の評価項目に基づいて複数の視線方向から撮像対象領域の評価が行われる。そして、評価結果に基づいて、CPU58により、仮想視点映像の生成に用いられる仮想視点の視線方向が決定される。従って、手間をかけずに仮想視点の視線方向を決定することができる。
また、情報処理装置12では、CPU58によって、撮像対象領域の評価値を数値として算出することにより得られた評価結果に基づいて、視線方向が決定される。従って、手間をかけずに仮想視点の視線方向を決定することができる。
また、情報処理装置12では、評価項目ごとに点数が設定された点数表であって、点数は評価項目に該当する要因が存在する場合に付与される点数表がCPU58によって用いられる。そして、CPU58により、撮像対象領域について点数の合計点が最も高い視線方向が、仮想視点の視線方向として決定される。従って、手間をかけずに仮想視点の視線方向を決定することができる。
また、情報処理装置12では、CPU58によって、複数の画像のそれぞれについて算出される合計点の視線方向に関する変化に基づき、合計点が最も高い視線方向を推定することにより、仮想視点の視線方向が決定される。従って、撮像装置で取得された複数の実画像のみを用いて仮想視点の視線方向を決定することができるので、視線方向を決定する処理の短縮化が図られる。
また、情報処理装置12では、CPU58によって、仮想視点の視線方向を決定した後、仮想視点の視線方向を基準として、撮像対象領域内における点数の分布に基づいて仮想視点の位置及び画角が決定される。従って、仮想視点の視線方向に加えて、仮想視点の位置及び画角を、手間をかけずに決定することができる。
また、情報処理装置12では、CPU58によって、撮像対象領域内において点数の密度が最も高い領域を基準として仮想視点の位置及び画角が決定される。従って、仮想視点の位置及び画角を精度よく決定することができる。
また、情報処理装置12では、CPU58によって、評価項目及び点数のうちの少なくともいずれか一方が異なる複数の点数表を切り替え、切り替えた点数表を用いて仮想視点の視線方向が決定される。従って、種々の点数表に基づいて仮想視点を決定することができる。
また、情報処理装置12では、CPU58によって、シーン判定処理が行われ、点数表が撮像対象領域のシーンに応じて切り替えられる。従って、シーンに応じて最適な仮想視点を決定することができる。
また、情報処理装置12では、CPU58によって、周期的に仮想視点の視線方向、位置、及び画角が決定される。従って、仮想視点を周期的に更新することができ、撮像対象領域内の状態変化に応じて仮想視点を変更ことができる。
また、情報処理装置12では、CPU58によって、決定された仮想視点の視線方向を含む仮想視点情報に基づいて、仮想視点映像が生成される。従って、手間をかけずに仮想視点映像を生成することができる。
なお、上記実施形態では、CPU58は、複数の画像及び点数表に基づいて仮想視点を決定しているが、決定した仮想視点が、複数の撮像装置16の視点のいずれかと一致する可能性がある。仮想視点を基準として生成される仮想視点映像と、撮像装置16により得られる撮像映像46Bとは画質が異なる。このため、決定された仮想視点が複数の撮像装置16の視点のいずれかと一致することにより、配信用映像が、仮想視点映像から撮像映像46Bに切り替わると、視聴者に違和感を与える可能性がある。
そこで、CPU58は、複数の撮像装置の視点のいずれかと仮想視点とが一致している場合に、当該仮想視点に対する点数を下げることにより、当該仮想視点が決定されることを抑制してもよい。この場合、CPU58は、一例として図20に示す全体処理を行う。図20に示す全体処理は、ステップST105とステップST106の間にステップST400及びステップST401が追加されている点のみが、図17に示される全体処理と異なる。
CPU58は、ステップST105で、仮想視点の位置及び画角を決定した後、ステップST400で、決定した仮想視点が、複数の撮像装置16の視点のいずれかと一致する条件(以下、「一致条件」という。)を満足したか否かを判定する。一致条件としては、例えば、仮想視点と撮像装置16の視点との視線方向、位置、及び画角が一致した、という条件が挙げられる。
ステップST400において、一致条件を満足していない場合には、判定が否定されて、全体処理はステップST106へ移行する。ステップST400において、一致条件を満足した場合には、判定が肯定されて、全体処理はステップST401へ移行する。ステップST401で、CPU58は、複数の撮像装置16の視点のいずれかと一致した仮想視点に対する合計点を下げ、この後、全体処理をステップST104に移行させる。
ステップST104では、視線方向決定部102により、合計点に基づいて再び仮想視点の視線方向の決定が行われる。しかし、複数の撮像装置16の視点のいずれかと一致した仮想視点は、ステップST401で合計点が下げられているので、当該仮想視点の視線方向が再びステップST104で決定されることが抑制される。このように、撮像装置16の視点と一致する仮想視点が決定されることにより、視聴者に与える違和感を抑制することができる。
また、上記実施形態では、CPU58は、点数表選択部201によりシーンに応じた点数表の選択を行っているが、1つの点数表を選択し続けると、決定される仮想視点の時間的な変化が少なく、視聴者が飽きてしまう可能性がある。このため、CPU58は、点数表選択部201により点数表を選択した後、既定時間が経過したことを条件に点数表を切り替える処理を行ってもよい。このように、点数表を切り替えた後、既定時間が経過したことを条件として点数表を切り替えることにより、仮想視点の時間的な変化が大きくなるので、視聴者が飽きることを抑制することができる。
また、上記実施形態では、評価項目には、撮像対象領域に含まれるオブジェクトの種類が含まれる。従って、オブジェクトの種類に応じて仮想視点を決定することができる。評価項目は、オブジェクトの種類に限定されず、オブジェクト以外の項目であってもよい。一例として、撮像対象領域内又はその近傍に設置されたマイクロフォンにより集音される音情報の種類を評価項目に含めてもよい。一例として図21に示すように、サッカーフィールド24の周囲に配置したマイクロフォン40によって、観客の歓声、又は審判が吹く笛の音等を集音してもよい。この場合、CPU58は、観客の歓声、又は審判が吹く笛の音等の種類を評価項目とする。このように、CPU58は、オブジェクト以外の音情報等を用いて仮想視点を決定することができる。
また、マイクロフォン40を設ける場合には、マイクロフォン40により集音される音情報をシーン判定処理に用いることができる。この場合、例えば、シーン判定部100は、マイクロフォン40により集音される音情報と俯瞰映像46Aとに基づいてシーンを判定する。これにより、シーン判定部100によるシーンの判定精度が向上する。
また、上記実施形態では、CPU58は、視線方向決定部102と位置及び画角決定部103とにより、点数表を用いて周期的に仮想視点を決定している。しかし、同一の点数表を用いた場合であっても、決定した仮想視点の視線方向、位置、又は画角が、過去に決定した仮想視点群の視線方向、位置、又は画角から大きく異なる可能性がある。このように、過去に決定した仮想視点群の履歴と大きく異なる視線方向、位置、又は画角を有する仮想視点が決定されると、視聴者に違和感を与えてしまう。
そこで、CPU58は、視線方向決定部102と位置及び画角決定部103とにより仮想視点が決定された場合に、過去に決定した仮想視点の履歴情報を参照して、仮想視点の視線方向、位置、及び画角を決定してもよい。一例として図22に示すように、CPU58は、視線方向決定部102と位置及び画角決定部103とにより仮想視点が決定されたとき、過去に決定した仮想視点群の位置を参照し、今回決定された仮想視点の位置Pが閾値以上離れているか否かを判定する。閾値以上離れている場合には、仮想視点の位置Pを、過去に決定した仮想視点群の位置へ近づける。視線方向及び画角についても同様である。これにより、過去の履歴と大きく異なる仮想視点が決定されることを抑制し、視聴者に与える違和感を抑制することができる。
さらに、CPU58は、仮想視点の視線方向、位置、及び画角のそれぞれの時間的な変化率を既定値以下とする制限下で、仮想視点の視線方向、位置、及び画角を決定してもよい。一例として図23に示すように、CPU58は、視線方向決定部102と位置及び画角決定部103とにより決定される仮想視点の位置の変化率を監視する。CPU58は、仮想視点の位置の変化率が既定値を超えた場合に、仮想視点の位置を既定値以下とするように抑制する。視線方向及び画角についても同様である。これにより、仮想視点の視線方向、位置、及び画角が変化することにより視聴者に与える違和感を抑制することができる。
なお、図23に示す既定値は、固定値でなくともよい。既定値は、仮想視点から撮像対象までの距離に応じて決定される値であってもよい。一例として図24に示すように、CPU58は、仮想視点から撮像対象までの距離が大きいほど、既定値を小さくしてもよい。これは、仮想視点から撮像対象までの距離が大きいほど、視聴者は、仮想視点の視線方向、位置、及び画角のそれぞれの時間的な変化が気にならなくなるためである。これにより、仮想視点の視線方向、位置、及び画角が変化することにより視聴者に与える違和感を抑制することができる。
また、上記実施形態では、CPU58は、視線方向決定部102により、複数の撮像装置16により得られた視線方向の異なる複数の撮像映像46B(すなわち複数の実画像)のそれぞれについて合計点を算出している。これに限られず、CPU58は、視線方向の異なる仮想視点映像を生成した後、視線方向決定部102により、各仮想視点映像について点数を算出してもよい。
なお、上記実施形態では、サッカー競技場22を例示したが、これはあくまでも一例に過ぎず、野球場、ラグビー場、カーリング場、陸上競技場、競泳場、コンサートホール、野外音楽場、及び演劇会場等のように、複数の撮像装置が設置可能であれば、如何なる場所であってもよい。
また、上記実施形態では、基地局20を用いた無線通信方式を例示したが、これはあくまでも一例に過ぎず、ケーブルを用いた有線通信方式であっても本開示の技術は成立する。
また、上記実施形態では、無人航空機27を例示したが、本開示の技術はこれに限定されず、ワイヤで吊るされた撮像装置18(例えば、ワイヤを伝って移動可能な自走式の撮像装置)によって撮像対象領域が撮像されるようにしてもよい。
また、上記実施形態では、コンピュータ50及び70を例示したが、本開示の技術はこれに限定されない。例えば、コンピュータ50及び/又は70に代えて、ASIC、FPGA、及び/又はPLDを含むデバイスを適用してもよい。また、コンピュータ50及び/又は70に代えて、ハードウェア構成及びソフトウェア構成の組み合わせを用いてもよい。
また、上記実施形態では、ストレージ60に編集用プログラム60Aが記憶されているが、本開示の技術はこれに限定されず、一例として図25に示すように、SSD又はUSBメモリなどの任意の可搬型の記憶媒体500に編集用プログラム60Aが記憶されていてもよい。この場合、記憶媒体500に記憶されている編集用プログラム60Aがコンピュータ50にインストールされ、CPU58は、編集用プログラム60Aに従って情報処理(例えば、シーン判定処理、点数表選択処理、視線方向決定処理、位置及び画角決定処理、及び配信用映像生成処理)を実行する。
また、通信網(図示省略)を介してコンピュータ50に接続される他のコンピュータ又はサーバ装置等の記憶部に編集用プログラム60Aを記憶させておき、情報処理装置12の要求に応じて編集用プログラム60Aが情報処理装置12にダウンロードされるようにしてもよい。この場合、ダウンロードされた編集用プログラム60Aに基づく情報処理がコンピュータ50のCPU58によって実行される。
また、上記実施形態では、CPU58を例示したが、本開示の技術はこれに限定されず、GPUを採用してもよい。また、CPU58に代えて、複数のCPU、又はCPUとGPUの組み合わせを採用してもよい。つまり、1つのプロセッサ、又は、物理的に離れている複数のプロセッサによって情報処理が実行されるようにしてもよい。また、CPU88に代えて、GPUを採用してもよいし、複数のCPU、又はCPUとGPUの組み合わせを採用してもよく、1つのプロセッサ、又は、物理的に離れている複数のプロセッサによって各種処理が実行されるようにしてもよい。
情報処理を実行するハードウェア資源としては、次に示す各種のプロセッサを用いることができる。プロセッサとしては、例えば、上述したように、ソフトウェア、すなわち、プログラムに従って情報処理を実行するハードウェア資源として機能する汎用的なプロセッサであるCPUが挙げられる。また、他のプロセッサとしては、例えば、FPGA、PLD、又はASICなどの特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路が挙げられる。何れのプロセッサにもメモリが接続又は内蔵されており、何れのプロセッサもメモリを使用することで情報処理を実行する。
情報処理を実行するハードウェア資源は、これらの各種のプロセッサのうちの1つで構成されてもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGAの組み合わせ、又はCPUとFPGAとの組み合わせ)で構成されてもよい。また、情報処理を実行するハードウェア資源は1つのプロセッサであってもよい。
1つのプロセッサで構成する例としては、第1に、クライアント及びサーバなどのコンピュータに代表されるように、1つ以上のCPUとソフトウェアの組み合わせで1つのプロセッサを構成し、このプロセッサが、情報処理を実行するハードウェア資源として機能する形態がある。第2に、SoCなどに代表されるように、情報処理を実行する複数のハードウェア資源を含むシステム全体の機能を1つのICチップで実現するプロセッサを使用する形態がある。このように、情報処理は、ハードウェア資源として、上記各種のプロセッサの1つ以上を用いて実現される。
更に、これらの各種のプロセッサのハードウェア的な構造としては、より具体的には、半導体素子などの回路素子を組み合わせた電気回路を用いることができる。更に、本開示の技術は、プログラムに加えて、プログラムを非一時的に記憶する記憶媒体にもおよぶ。
また、上述した情報処理はあくまでも一例である。従って、主旨を逸脱しない範囲内において不要なステップを削除したり、新たなステップを追加したり、処理順序を入れ替えたりしてもよいことは言うまでもない。
以上に示した記載内容及び図示内容は、本開示の技術に係る部分についての詳細な説明であり、本開示の技術の一例に過ぎない。例えば、上記の構成、機能、作用、及び効果に関する説明は、本開示の技術に係る部分の構成、機能、作用、及び効果の一例に関する説明である。よって、本開示の技術の主旨を逸脱しない範囲内において、以上に示した記載内容及び図示内容に対して、不要な部分を削除したり、新たな要素を追加したり、置き換えたりしてもよいことは言うまでもない。また、錯綜を回避し、本開示の技術に係る部分の理解を容易にするために、以上に示した記載内容及び図示内容では、本開示の技術の実施を可能にする上で特に説明を要しない技術常識等に関する説明は省略されている。
本明細書において、「A及び/又はB」は、「A及びBのうちの少なくとも1つ」と同義である。つまり、「A及び/又はB」は、Aだけであってもよいし、Bだけであってもよいし、A及びBの組み合わせであってもよい、という意味である。また、本明細書において、3つ以上の事柄を「及び/又は」で結び付けて表現する場合も、「A及び/又はB」と同様の考え方が適用される。
本明細書に記載された全ての文献、特許出願及び技術規格は、個々の文献、特許出願及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。