JP2015212876A - Video reproduction system - Google Patents
Video reproduction system Download PDFInfo
- Publication number
- JP2015212876A JP2015212876A JP2014095213A JP2014095213A JP2015212876A JP 2015212876 A JP2015212876 A JP 2015212876A JP 2014095213 A JP2014095213 A JP 2014095213A JP 2014095213 A JP2014095213 A JP 2014095213A JP 2015212876 A JP2015212876 A JP 2015212876A
- Authority
- JP
- Japan
- Prior art keywords
- video
- imaging
- camera
- failure
- virtual viewpoint
- 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
Images
Landscapes
- Processing Or Creating Images (AREA)
- Closed-Circuit Television Systems (AREA)
- Studio Devices (AREA)
Abstract
Description
本発明は、複数のカメラの映像を利用して仮想視点映像を生成して再生する映像再生システムに関するものである。より詳細には、映像再生システムにおいて障害が発生した場合の再起動に関するものである。 The present invention relates to a video playback system that generates and plays back a virtual viewpoint video using videos from a plurality of cameras. More specifically, the present invention relates to restart when a failure occurs in the video reproduction system.
複数台のカメラで同一シーンを撮像し、移動する仮想視点から見た映像(仮想視点映像)を表現する映像再生システムが提案されている。このような映像再生システムでは多数のカメラや制御PCが必要となる。このような多数の機器を用いるシステムを長期間安定して稼動させる方法として、特許文献1に記載されているように障害が発生した機器の処理を他の機器で代替する方法がある。
There has been proposed a video playback system that captures the same scene with a plurality of cameras and expresses a video viewed from a moving virtual viewpoint (virtual viewpoint video). Such a video reproduction system requires a large number of cameras and control PCs. As a method for stably operating such a system using a large number of devices for a long period of time, there is a method of replacing the processing of a device in which a failure has occurred with another device as described in
仮想視点映像を生成して再生するシステムにおいては、個々のカメラがシナリオに応じてそれぞれ意味のある映像を撮像するので、別のカメラでの代替が困難な場合がある。このようなシステムにおいて、単純に障害が発生したデバイスを再起動したり、障害が発生したデバイスを取り除く処理は、生成される仮想視点映像の劣化につながったり、映像自体の再生の停止にもつながる恐れがある。 In a system that generates and reproduces a virtual viewpoint video, each camera captures a meaningful video in accordance with a scenario, so that replacement with another camera may be difficult. In such a system, simply restarting the failed device or removing the failed device will lead to degradation of the generated virtual viewpoint video or to stop playback of the video itself. There is a fear.
本発明に係る映像再生システムは、複数の撮像手段によって撮像された画像データから生成された仮想視点映像を再生する映像再生システムであって、
前記撮像手段の障害の発生を検知する検知手段と、前記障害の発生した撮像手段を、該撮像手段を除く他の撮像手段によって撮像された画像データから得られる仮想視点映像の再生の開始後に再起動する制御手段とを有することを特徴とする。
A video playback system according to the present invention is a video playback system that plays back a virtual viewpoint video generated from image data captured by a plurality of imaging means,
The detection means for detecting the occurrence of a fault in the imaging means and the imaging means in which the fault has occurred are re-established after the start of reproduction of a virtual viewpoint video obtained from image data taken by other imaging means other than the imaging means. And a control means for starting.
本発明によれば、障害の発生した機器を検知し、上映シナリオの状況に応じて当該機器を再起動することで長期間安定して仮想視点映像を再生することが可能になる。 According to the present invention, it is possible to stably reproduce a virtual viewpoint video for a long period of time by detecting a failed device and restarting the device according to the state of a screening scenario.
以下、添付の図面を参照して、本発明を好適な実施例に基づいて詳細に説明する。なお、以下の実施例において示す構成は一例にすぎず、本発明は図示された構成に限定されるものではない。 Hereinafter, the present invention will be described in detail based on preferred embodiments with reference to the accompanying drawings. In addition, the structure shown in the following Examples is only an example, and this invention is not limited to the structure shown in figure.
図1は、本実施例における、固定された複数の撮像用カメラを用いて仮想視点映像を生成し、これをリアルタイム上映する映像再生システムを示す図である。図1(a)に示したように、本実施例における固定カメラは仮想視点の移動ルートに沿ってカメラの撮像領域が重複するように配置する。図1(a)において、カメラ101は床102上に図示しない金属製の枠によって宙吊りの状態で固定されている。仮想視点105は、床102をx−y平面上に含み、高さ方向をz軸とする座標系上にマッピングされる。また、図1(b)は図1(a)を2次元平面に投影したものであり、複数の人がいる場合を想定したものである。図1(b)においては、被写体となる人104を表している。
FIG. 1 is a diagram showing a video playback system that generates a virtual viewpoint video using a plurality of fixed imaging cameras and shows the video in real time in the present embodiment. As shown in FIG. 1A, the fixed cameras in the present embodiment are arranged so that the imaging areas of the cameras overlap along the virtual viewpoint movement route. In FIG. 1A, a
図2は、本実施例におけるシナリオデータの一例を示す図である。シナリオデータとは仮想視点映像を生成し、再生する際に、どの仮想視点の画像データをどの時間軸のフレームにおいて用いるかを規定するデータのことである。本実施例では、例えば5分程度の短時間のシナリオを一つのシナリオとして用いる。図2(a)は、一つのシナリオを表すシナリオデータの例を示している。シナリオデータには、上映時間中の各フレームについて、仮想視点の位置を表現するための仮想視点座標、仮想視点の方向を表現するための仮想視点方向、仮想視点の姿勢を表現するための仮想視点上方向ベクトルを記述する。仮想視点座標と仮想視点方向は、この座標系における仮想視点の位置と向きである。仮想視点上方向ベクトルとは、仮想視点の向きに対して視界がどの程度傾いているかを指定するためのパラメータで、仮想視点方向と仮想視点上方向ベクトルは直交する。これに画角を加えることで、仮想視点からの視界を表現することが出来る。本実施例では、さらにレンズ効果パラメータ(歪曲強度α、周辺光量落ち強度β。詳細は後述)を加えることで、あたかも実際にカメラを移動しながら撮像したかのような自然な映像を生成する。 FIG. 2 is a diagram illustrating an example of scenario data in the present embodiment. Scenario data is data that defines which virtual viewpoint image data is used in which time-axis frame when a virtual viewpoint video is generated and reproduced. In this embodiment, for example, a short-time scenario of about 5 minutes is used as one scenario. FIG. 2A shows an example of scenario data representing one scenario. Scenario data includes virtual viewpoint coordinates for expressing the position of the virtual viewpoint, virtual viewpoint direction for expressing the direction of the virtual viewpoint, and virtual viewpoint for expressing the attitude of the virtual viewpoint for each frame during the screening time. Describes the upward vector. The virtual viewpoint coordinates and the virtual viewpoint direction are the position and orientation of the virtual viewpoint in this coordinate system. The virtual viewpoint upward vector is a parameter for designating how much the field of view is inclined with respect to the direction of the virtual viewpoint, and the virtual viewpoint direction and the virtual viewpoint upward vector are orthogonal to each other. By adding an angle of view to this, it is possible to express the field of view from a virtual viewpoint. In this embodiment, by adding lens effect parameters (distortion strength α, peripheral light amount drop strength β, details will be described later), a natural video image as if it was actually captured while moving the camera is generated.
また、シナリオデータは、仮想視点映像生成処理で用いる画像処理パラメータである、基準面の高さを保持する。基準面の高さは、使用カメラの切り替え時の滑らかさに影響する。例えば本実施例において、ほぼ無人の状態の場合、基準面を床に取るのが望ましいが、図1(b)のように、撮像領域に多数の人が居る場合には、平均身長程度の高さに基準面を取った方が滑らかな映像になる。シナリオデータに基準面の高さを保持することで、被写体の状態に応じて基準面の高さを補正することが可能になる。基準面の高さの補正は、各カメラによる撮像画像データから自動生成しても良いし、マニュアル指定しても良い。 The scenario data holds the height of the reference plane, which is an image processing parameter used in the virtual viewpoint video generation process. The height of the reference plane affects the smoothness when the camera used is switched. For example, in the present embodiment, it is desirable to take the reference plane on the floor in the almost unmanned state. However, when there are a large number of people in the imaging area as shown in FIG. If the reference plane is taken, the video will be smoother. By holding the height of the reference plane in the scenario data, it is possible to correct the height of the reference plane according to the state of the subject. The correction of the height of the reference plane may be automatically generated from captured image data obtained by each camera, or may be manually designated.
図3は、本実施例を実現するためのシステムの構成を示す図である。本システムは、複数のカメラ101と管理サーバPC301と複数のキャプチャPC302と複数の画像処理PC303と画像表示PC304とHUB305と電源コントローラ306とを含む。
FIG. 3 is a diagram illustrating a configuration of a system for realizing the present embodiment. This system includes a plurality of
管理サーバPC301は、システム全体を管理するPCであり、システムを操作するため、コンソール画面とキーボード、マウスなどの操作デバイスが接続されている。 The management server PC 301 is a PC that manages the entire system, and a console screen and operation devices such as a keyboard and a mouse are connected to operate the system.
キャプチャPC302は、カメラ101と同数分用意されている。キャプチャPC302は各カメラ101とHD−SDI(High Definition Serial Digital Interface)ケーブルで接続される。カメラ101で撮像した映像はキャプチャPC302を介して画像処理PC303へ送信される。ここで、カメラ101の出力解像度がフルHD解像度(1920×1080画素、秒30コマ)の場合、非常にデータ量が大きくなる。そのため、全てのカメラ101の映像を一斉に送信すると、通信経路の帯域を使い切ってしまうという問題が発生する。そこで、予め定められたシナリオを現在使用可能なカメラや画像処理PCを用いて再現するための上映コントロール情報を生成し、これに従って映像を伝送する。
The same number of
図2(b)及び図2(c)は上映コントロール情報の一例を示す図である。上映コントロール情報にはカメラ制御情報とPC制御情報とが含まれる。図2(b)はカメラ制御情報の例を示しており、カメラIDと各フレームとが対応付けられている。図2(c)はPC制御情報の例を示しており、画像処理PCIDと各フレームとが対応付けられている。上映コントロール情報には、上映開始時刻から終了時刻までの各フレームについて、どのカメラの映像をどの画像処理PCで処理するかを記載する。例えば本実施例では、上映コントロール情報のうち、カメラ制御情報(図2(b))の値は、0は対応するカメラの映像データの送信が不要、1は対応するカメラの映像データの送信、2は対応するカメラのヘッダ情報のみの送信を意味する。また、PC制御情報(図2(c))の値は、1が対応する画像処理PCを使用することを、0は使用しないことを意味する。尚、図2中に示したように、上映コントロール情報に含まれる時刻は、上映開始時刻を0:00:00.00fとした相対時刻で記述する。 FIGS. 2B and 2C are diagrams showing an example of the screening control information. The screening control information includes camera control information and PC control information. FIG. 2B shows an example of camera control information, in which a camera ID is associated with each frame. FIG. 2C shows an example of PC control information, in which an image processing PCID is associated with each frame. The screening control information describes which camera video is processed by which image processing PC for each frame from the screening start time to the end time. For example, in the present embodiment, of the screening control information, the value of the camera control information (FIG. 2 (b)) is 0, the transmission of the video data of the corresponding camera is unnecessary, 1 is the transmission of the video data of the corresponding camera, 2 means transmission of only the header information of the corresponding camera. Further, the value of the PC control information (FIG. 2C) means that 1 uses the corresponding image processing PC, and 0 means not use it. As shown in FIG. 2, the time included in the screening control information is described as a relative time with the screening start time set to 0: 00: 00.00f.
画像処理PC303は、キャプチャPC302から送信された映像を受信・加工して画像表示PC304へ送信する。
The
画像表示PC304は、画像処理PC303から送信された映像を受信してバッファリングし、管理サーバPC301から指定されたタイミングで上映する。尚、各キャプチャPCと各画像処理PCと管理サーバPCと画像表示PCとはネットワークHUB305によってLAN接続されており、データの送受信はTCP/IPを用いて行う。
The
電源コントローラ306は、管理サーバPC301、カメラ101、キャプチャPC302の電源に個別接続されている。電源コントローラ306は、キャプチャエラーを検出した場合など、何らかの障害が発生したカメラ101やキャプチャPC302を選択的に再起動することが可能である。
The
各PCの機能の詳細は後述する。また、カメラ101は全て、同期を取る必要があるので、同期信号(ジェネロック、GenLock)が供給されている。
Details of the functions of each PC will be described later. Since all the
<キャプチャPC>
キャプチャPC302は、カメラ101からの映像をキャプチャし、画像処理PC303へ送信する。
<Capture PC>
The
図4は、キャプチャPC302の構成の例を示す図である。図4を用いてキャプチャPCの動作を説明する。キャプチャPC302は、管理サーバPC301から受け取った上映コントロール情報408に記載のカメラ制御情報に従ってカメラを制御するカメラ制御部411を備える。なお、画像処理PC303で適用する仮想視点映像生成処理には、撮像時のレンズ特性データが必要となる。しかしながら、レンズ特性データはカメラの撮像時設定(例えば、f値、画角、撮像距離)によって変化することが知られているので、キャプチャPC302は、レンズ補正データを取得するレンズ補正データ取得処理部402を備える。本実施例では、レンズ補正値データベース403を備えることで、撮像時設定に応じたレンズ補正データを得る。取得したレンズ補正データは、映像データにヘッダ情報として付加して送信する。レンズ補正データには、歪曲、周辺光量、倍率色収差などの様々な補正データが考えられるが、簡単のため本実施例では歪曲と周辺光量の補正データを格納する。また、仮想視点映像を生成するためには、カメラ101の位置、方向、姿勢や画角などのカメラ位置・姿勢情報404が必要となる。そこで、画像データにカメラ位置・姿勢情報もヘッダ情報として付加する。このほか、ヘッダ情報には、レンズ補正データやカメラ位置・姿勢情報のほか、キャプチャ時刻、画像サイズ、画像データタイプなどが含まれる。
FIG. 4 is a diagram illustrating an example of the configuration of the
映像データをキャプチャPC302から画像処理PC303へ送る送信処理は前述のようにTCP/IPで行う。データを送信する度に画像処理PC303と再接続するのは効率が良くないので、送信処理部405を画像処理PC303の台数分用意して対応する。本実施例では、送信処理部として送信スレッドを用いる。すなわち、送信スレッドを画像処理PCの台数分用意して対応する。また、送信経路の帯域の問題で受信したデータを遅延無く送ることができない場合があるので、予め指定された秒数分だけバッファリングする送信バッファ401を有する。
Transmission processing for sending video data from the
尚、キャプチャPCには、送信処理部405の他に、カメラから映像を受け取りヘッダやレンズ補正データを付加して送信用データを作成する送信データ生成部406、および送信処理部405の管理を行う管理部407がある。
In addition to the
図5は、キャプチャPC302での処理を示すフローチャート図である。ステップS501において送信データ生成部406はまず管理部407に対してどの送信処理部405を使用するかを確認する。
FIG. 5 is a flowchart showing processing in the
ステップS502において管理部407は、後述する管理サーバPC301から受け取った上映コントロール情報408に含まれるPC制御情報に従って送信先の画像処理PC303を選択する。そして、選択された画像処理PC303に対応する送信処理部405を送信データ生成部406に通知する。
In step S502, the
ステップS503において送信データ生成部406は、まず管理部407から指示された送信処理部405の送信バッファ401内の送信データ領域を取得する。
In step S503, the transmission
次に、ステップS504において送信データ生成部406は、取得した送信データ領域に、キャプチャした映像を含む送信データを生成する。
Next, in step S504, the transmission
そして、ステップS505において送信データ生成部406は生成した送信データを送信バッファ401に出力し、管理部407にデータ出力完了を通知する。
In step S505, the transmission
ステップS506において管理部407はデータ出力完了通知を受け取ったデータを送信キュー409に追加して、送信処理を実行する。送信処理においては、管理部407は自身が備える送信キューに格納されているデータが有効かどうかを判定する。この判定は、対象データのキャプチャ時間T0と、上映開始時間T1との差が予め定められた時間TLを超えたかどうかで判定する。有効で無い場合には送信処理をスキップする。有効な場合には管理部407は送信処理部405に送信指示を出し送信処理を実行する。
In step S506, the
送信データに含まれる画像データは、設定ファイルによって圧縮するかどうかを指定できる。ここで、ヘッダ情報に含まれる画像データタイプは、圧縮する場合には1、しない場合には0を指定する。また、ヘッダだけを送信する場合には2を指定する。映像データの圧縮はフレーム単位で行う必要がある。圧縮はJPEG(Joint Photographic Experts Group)形式を用いてもよいし、DXTC(DirectX Texture Compression)形式を用いてもよい。DXTCはGPUの利用により非常に高速に画像データを圧縮できる。 Whether the image data included in the transmission data is to be compressed can be specified by the setting file. Here, as the image data type included in the header information, 1 is specified when compression is performed, and 0 is specified when it is not compressed. Also, 2 is specified when only the header is transmitted. It is necessary to compress video data in units of frames. For the compression, a JPEG (Joint Photographic Experts Group) format or a DXTC (DirectX Texture Compression) format may be used. DXTC can compress image data at a very high speed by using a GPU.
なお、送信データ生成部406はカメラからの映像をキャプチャする際、キャプチャエラーが発生した割合をカウントし、後述する管理サーバPCからの有効判定応答時にキャプチャエラー情報410として状態を返せるようにする。キャプチャエラーは、カメラとキャプチャPCとの距離が長く(例えば、100m超)、映像が秒30コマ正しく取得できない、などの内容で発生する可能性がある。あるいは、キャプチャエラーはカメラ側またはキャプチャPC側の不具合で生じる可能性がある。本実施例では、キャプチャエラーによって取得できなかったフレーム数が、例えばキャプチャ対象フレーム数の10%を超えた時点で、「キャプチャエラーが多い」と判定する。
Note that the transmission
<画像処理PC>
画像処理PC303は、キャプチャPC302から受信した映像を加工し、画像表示PC304へ送信する。
<Image processing PC>
The
図6は、画像処理PC303の構成の例を示す図である。図6を用いて画像処理PC303の動作を説明する。キャプチャPC302と同様に、全てのキャプチャPC302と接続した状態を維持するため、キャプチャPC302の台数分の受信処理部601を起動する。受信処理部601は、キャプチャPC302の送信処理部と対応してスレッドとして起動させることができる。
FIG. 6 is a diagram illustrating an example of the configuration of the
図7は、画像処理PC303の処理を示すフローチャートである。まず、ステップS701において受信処理部601は、受信したデータは画像データタイプに応じた処理が必要なデータであるか否かを判定する。処理が必要なデータである場合、ステップS702に進み、受信処理部601は、受信したデータに対して画像データタイプに応じた画像処理を適用し、ステップS703で受信バッファ602に格納する。本実施例では、画像データタイプに応じた処理として、画像データタイプが1の場合、圧縮データの解凍処理を適用して非圧縮データ(画像データタイプ=0)に変換する。
FIG. 7 is a flowchart showing the processing of the
ステップS704において受信処理部601は、受信したデータを受信バッファ602に格納した後、管理部603にデータ受信完了を通知する。
In step S704, the
次にステップS705において管理部603は、上映コントロール情報604に従って仮想視点映像生成用のフレーム画像データを選択する。そして、ステップS706において管理部603は、仮想視点映像生成処理部605に映像生成指示を出す。ただし、映像生成指示後、仮想視点映像生成処理部605からデータ出力完了通知を受け取っていない場合には、出力完了通知を受信するまで映像生成指示をブロックする。これは、同時に複数の仮想視点映像生成処理を実行すると、既に実行中の映像生成処理のスループットが低下してしまい、リアルタイム再生が出来なくなる可能性が高くなるからである。そのため、管理部603は処理キュー609にデータ出力完了通知の確認と取得を行い、通知を取得してから処理を継続する。
In step S <b> 705, the
ステップS707において、映像生成指示を受けた仮想視点映像生成処理部605は、管理部603によって選択された映像と上映時刻を用いて、シナリオデータ606に沿った仮想視点映像データを生成する。処理の詳細については後述する。
In step S707, the virtual viewpoint video
ステップS708において仮想視点映像生成処理部605は、生成した仮想視点映像データを送信バッファ607に出力する。そして、ステップS709において仮想視点映像生成処理部605は、管理部603と送信処理部608にデータ出力完了を通知する。
In step S708, the virtual viewpoint video
ステップS710において送信処理部608は、データ出力完了通知を受け、生成した仮想視点映像データを画像表示PC304へ送信する。送信する仮想視点映像データには、キャプチャ時刻、および画像解像度をヘッダとして付加する。
In step S710, the
<画像表示PC>
画像表示PC304は、次の機能を持つ。
(a)画像処理PCから受信したデータの再生(通常上映)
(b)バックアップ映像の上映(バックアップ上映)
画像表示PC304は、通常、画像処理PC303から受信したデータを再生する。但し、複数のカメラやPCの故障によって、正常に上映できない場合が考えられる。このような場合には、後述する管理サーバPC301上での判定処理によりバックアップ上映への切り替えを行う。以下では、画像表示PC304の通常上映時及び、バックアップ上映時の処理の詳細について説明する。
<Image display PC>
The
(A) Reproduction of data received from image processing PC (normal screening)
(B) Backup video screening (backup screening)
The
図8は、画像表示PC304の構成の例を示す図である。図8を用いて画像表示PC304の動作を説明する。画像表示PC304は、画像処理PC303と同様に、画像処理PC303の台数分の受信処理部801を持ち、受信したデータを受信バッファ802にバッファリングする。本PCには大容量のメモリを搭載し、上映対象となる全ての映像をバッファリングできるようにする。これは、バックアップ映像を生成するために必要である。受信処理部801はスレッドとして構成できる。
FIG. 8 is a diagram illustrating an example of the configuration of the
図9は、画像表示PC304における通常上映処理を示すフローチャートである。ステップS901において受信処理部801は、画像処理PC303において生成された映像データを受信し、受信バッファ802に格納する。ステップS902において受信処理部801は、映像1フレーム分の受信が完了する度に、管理部803にデータ受信完了通知を送信する。
FIG. 9 is a flowchart showing normal screening processing in the
ステップS903において管理部803は、データ受信完了通知を受信したら受信映像管理領域804内の受信映像管理情報を更新する。ここで受信映像管理情報は、受信した映像データのキャプチャ時刻、受信処理部801の識別IDを含むものである。ステップS904において管理部803は、上映開始時刻まで待機し、上映開始時刻から上映終了時刻までの間、ステップS905以降の上映管理処理を行う。
In step S903, the
ステップS905において管理部803は、再生対象となる映像データを受信バッファ802内から選択する。映像データの選択は、受信映像管理領域内の各映像データのキャプチャ時刻や受信処理部801の識別IDを利用して行う。ここで、上映コントロール情報806は上映開始時刻を基準とした相対時刻で記述されているため、キャプチャ開始時刻を用いて再生対象となるキャプチャ時刻を計算し、この時刻に対応したフレーム画像データを得る。ステップS906において管理部803は、このようにして選択した映像データを画像表示部805に通知する。
In step S905, the
ステップS907において画像表示部805は、指定された映像データを表示する。以後、全てのフレームについて再生処理を適用し、ステップS908において全てのフレーム画像を表示したと判定した場合、ステップS909において管理部は終了処理を実行する。なお、処理の遅延などで対応する映像データが存在しない場合には表示を更新せず、直前に表示した映像をそのまま表示した状態にする。このような処理により、フレームの欠落により上映時間が極端に短くなったり上映した映像が不自然になったりすることを回避できる。
In step S907, the
本実施例におけるステップS909の終了処理は、全てのフレームデータをファイルに格納する処理である。このファイルは、バックアップ映像として使用する。複数回上映する場合には、上映した全ての映像を保存しても良いし、フレームの欠落が無い場合だけ保存しても良い。 In the present embodiment, the end process of step S909 is a process of storing all the frame data in a file. This file is used as a backup video. In the case of multiple screenings, all the displayed videos may be stored, or only when there are no missing frames.
次に、バックアップ上映時の処理について説明する。本実施例では、バックアップ上映する映像として、通常上映の結果保存されたファイルのうち最新のものを用いる。予め指定したファイルを上映しても良いことは言うまでも無い。バックアップ上映時の処理も基本的に図9に示す処理と同様であり、異なる部分のみ説明する。バックアップ上映では、ステップ901の受信処理を行う代わりにバックアップデータ読込み処理部808を介してバックアップ映像データ809をメモリ上に読み込む。その後は通常上映と同様に上映処理を実行するため詳細な説明は省略する。尚、バックアップ上映の場合には、上映データのファイル出力、即ちステップS909の終了処理に相当する処理は行わない。
Next, processing at the time of backup screening will be described. In the present embodiment, the latest one of the files saved as a result of the normal screening is used as the video to be backed up. Needless to say, a file designated in advance may be screened. The processing at the time of backup screening is basically the same as the processing shown in FIG. 9, and only different parts will be described. In the backup screening, the
<管理サーバPC>
管理サーバPCは、システム全体を管理する。具体的には、次のような機能を持つ。
(a)システムを構成するPCやカメラの有効判定
(b)各PCにおける映像バッファリング時間の変更
(c)上記のa、bに基づいた上映コントロール情報の生成
(d)シナリオデータ、上映コントロール情報の配布
(e)キャプチャPC、画像処理PCの設定ファイルの配布
ここで、有効判定処理について図10のフローチャート図を参照して説明する。ステップS1001において管理サーバPCは、まず、画像表示PC304に対して問い合わせを行う。ステップS1002において管理サーバPCは、予め定めた時間TA以内に画像表示PCから応答が返ってくるかどうかを確認する。ここで、画像表示PC304は正常に動作している場合、問い合わせに対して0を返す。画像表示PC304が応答を返せない場合、上映ができなくなるので、ステップS1003において管理サーバPCはアラート表示をして機材の交換を促して処理を終了する。ステップS1003のアラート表示は、例えば画像表示PCに障害が発生したので上映が実行できない旨を表示することができる。
<Management server PC>
The management server PC manages the entire system. Specifically, it has the following functions.
(A) Validity determination of PC or camera constituting system (b) Change of video buffering time in each PC (c) Generation of screening control information based on above a and b (d) Scenario data and screening control information (E) Distribution of setting files of capture PC and image processing PC Here, the validity determination process will be described with reference to the flowchart of FIG. In step S1001, the management server PC first makes an inquiry to the
ステップS1002において画像表示PC304から応答があった場合、すなわち、画像表示PC304に問題が無い場合には、ステップS1004に進む。ステップS1004において管理サーバPCは、引き続き各画像処理PC303に対しても同様に問い合わせを行い、正常に動作しているか否かを確認する。画像処理PC303は正常に動作している場合、問い合わせに対して0を返す。ステップS1005において管理サーバPCは、1台でも応答が無い画像処理PC303があった場合には、ステップS1011に進みアラート表示をする。そして、ステップS1012において管理サーバPCは画像表示PC304に対してバックアップ上映を指示して処理を終了する。ここでのアラート表示の例としては、どの画像処理PCから応答がないかを通知したり、バックアップ上映に切替える旨を通知することが挙げられる。
If there is a response from the
ステップS1005において画像処理PCから応答があった場合、すなわち画像処理PC303にも問題が無い場合、ステップS1006に進み、キャプチャPC302に対して問い合わせを行う。キャプチャPC302は、例えばカメラが認識できない場合は1、カメラは認識できるがキャプチャエラーが多く発生した場合は2、それ以外は0を返す。本実施例では、説明の簡便化のため、上記のケースを例に挙げているが、もちろん、これ以外にも細かい障害要因の種別を特定するための値を返してもよい。キャプチャPC302への問い合わせ結果は図4で示したキャプチャエラー情報410によって検知することができる。すなわち、キャプチャエラー情報は検知結果を示す情報である。
If there is a response from the image processing PC in step S1005, that is, if there is no problem with the
ステップS1007において管理サーバPCは、問い合わせの結果得られたカメラ及びキャプチャPCの状態から、有効カメラリストを生成する。有効カメラリストとは、カメラ及びキャプチャPCの状態が正常である組を含むリストのことである。有効カメラリストには、カメラ及びキャプチャPCの各組毎に上記のキャプチャエラー情報が関連付けられている。従って、上記のキャプチャエラー情報が0である組が、状態が正常である組を表している。また、上記のキャプチャエラー情報が0以外の値の場合には、その組のカメラ及びキャプチャPCの少なくとも一方に障害が発生していることを表している。 In step S1007, the management server PC generates a valid camera list from the camera and capture PC states obtained as a result of the inquiry. The effective camera list is a list including a pair in which the state of the camera and the capture PC is normal. In the valid camera list, the above-described capture error information is associated with each set of camera and capture PC. Therefore, a pair whose capture error information is 0 represents a pair whose state is normal. Further, when the capture error information is a value other than 0, it indicates that a failure has occurred in at least one of the camera and the capture PC of the set.
ステップS1008において管理サーバPCは、全てのキャプチャPCが正常であるかを判定する。キャプチャPC302からの応答が不能である場合、あるいは返された値が0以外の個体が存在する場合、ステップS1009に進みカメラ選択処理を実行する。カメラ選択処理は、使用不能なカメラを除いた構成で、シナリオに沿った上映をするための上映コントロール情報を生成する処理である。カメラ選択処理の詳細については後述する。
In step S1008, the management server PC determines whether all capture PCs are normal. If the response from the
ステップS1010において管理サーバPCは、カメラ選択処理でエラーが発生したか否かを判定する。つまり、使用不能なカメラを除いた構成ではシナリオに沿った上映ができないか否かを判定する。エラーが発生した場合には、ステップS1011、S1012に進み、アラート表示を行った上で、画像表示PC304に対してバックアップ上映を指示して処理を終了する。ここでのアラート表示の例としては、障害が発生しているキャプチャPCを通知し、バックアップ上映に切替える旨を通知することが挙げられる。
In step S1010, the management server PC determines whether an error has occurred in the camera selection process. That is, it is determined whether or not the screening according to the scenario cannot be performed with the configuration excluding the unusable camera. If an error has occurred, the process proceeds to steps S1011 and S1012 to display an alert, and then instruct backup display to the
なお、本実施例では、上映システムを構成する全てのPCで実行するアプリの設定ファイルは、各PC上に公開された共有フォルダに配置する。したがって、管理サーバから各PCの共有フォルダにアクセスすることで、設定を変更することができる。例えば、各PCにおける映像バッファリング時間や、画像表示PCでのバックアップ上映指示などは、このような共有フォルダの設定ファイルを変更することによって行うことができる。 In the present embodiment, the setting file of the application executed on all PCs constituting the screening system is placed in a shared folder disclosed on each PC. Therefore, the setting can be changed by accessing the shared folder of each PC from the management server. For example, the video buffering time in each PC, the backup screening instruction on the image display PC, and the like can be performed by changing such a shared folder setting file.
<電源コントローラ>
図11は、電源コントローラ306の構成例を示す図である。図11を用いて電源コントローラ306の動作を説明する。電源コントローラ306は管理サーバPC301から有効カメラリスト1102と上映コントロール情報1103とを取得し、その情報に応じてカメラ101及びキャプチャPC302の電源を制御する。
<Power controller>
FIG. 11 is a diagram illustrating a configuration example of the
図12は、電源コントローラ306において、障害が発生した機器を再起動する処理を示すフローチャートである。ステップS1201においてまず、管理部1101は、管理サーバPC301から有効カメラリスト1102を取得する。先に説明したように有効カメラリストとは、カメラ及びキャプチャPCの状態を示すリストのことである。つまり、有効カメラリストは障害が発生しているカメラ及びキャプチャPCの組を表すリストとも言える。
FIG. 12 is a flowchart showing processing for restarting a device in which a failure has occurred in the
ステップS1202において管理部1101は、上映コントロール情報1103を取得し、処理キューに上映開始時間を格納する保持する。ステップS1203において管理部1101は処理キューに格納されている上映開時刻を参照して上映開始時間まで待機する。上映開始時間まで待機する理由は、上映開始までの間に有効カメラリスト及び上映コントロール情報が更新される可能性があるからである。本実施例ではシステムの安定性を高めるために、データ更新等の影響が少ない上映開始時刻経過後(このとき有効カメラリスト及び上映コントロール情報は確定している)に再起動を行なう。つまり、本実施例では、障害が発生したデバイスを無条件で再起動するのではなく、上映シナリオの状況に応じて再起動をする。すなわち、上映開始後にはその上映シナリオにおいて使用しておらず、かつ障害が発生しているデバイスが確定する。そこで、上映シナリオに影響がないことが確定した時点で障害の発生しているデバイスを個別に自動的に再起動する。なお、上映時間中に再起動を行うのは、次回の上映コントロール情報生成までに再起動を終了させておき、次回の上映コントロール情報生成時において有効カメラリストに有効な組として含めるためである。なお、再起動は必ずしも上映開始後に行う必要はなく、上映する仮想視点映像の生成に用いられる有効カメラリストおよび上映コントロール情報が確定していれば、どのようなタイミングで再起動を行うようにしてもよい。すなわち、仮想視点映像を生成するために用いる画像データの設定後に再起動するようにしてもよい。
In step S1202, the
上映が開始されると、ステップS1204において管理部1101は、有効カメラリスト1102を参照して障害が発生しているデバイスの再起動を電源処理部1103に指示する。先に説明したように、有効カメラリストには、カメラとキャプチャPCの組に対応付けてステータスを示す値が含まれている。ステータスはカメラとキャプチャPCの状態を示している。例えば、ステータスが1の場合は、キャプチャPCがカメラを認識できない状態を示している。そこで、電源処理部1103は該当するキャプチャPC電源管理部1105に再起動を指示する。ステータスが2の場合は、キャプチャエラーが多いことを示している。そこで、電源処理部1103は該当するカメラ監視部1104に再起動を指示する。ステータスが0の場合はキャプチャPCとカメラが正常に動作しているため再起動は行わない。このように、ステータスに応じてキャプチャPCとカメラの電源を個別に管理可能である。尚、システムのとり得るステータスはこれに限られるものではなく、他のステータスも取り得る。また、ステータスによってはキャプチャPCとカメラを同時に再起動させることも可能である。
When the screening starts, in step S1204, the
ステップS1205において電源処理部1103は、ステップS1204で指示した全ての機器の再起動が完了したことを確認し、管理部1101に再起動完了を通知する。
In step S1205, the power
なお、上記の例では、電源コントローラ306が有効カメラリストと上映コントロール情報を取得して再起動指示を行なう例を説明した。しかしながら、例えば管理サーバPC301が有効カメラリストと上映コントロール情報を取得して再起動を行なう対象とタイミングを決定して電源コントローラ306に通知してもよい。そして、電源コントローラ306はこの通知された内容に従って再起動指示を行なってもよい。
In the above example, the example in which the
<仮想視点映像生成処理>
次に、本実施形態のステップS707における仮想視点映像生成処理を説明する。仮想視点映像生成処理では、ある高さ一定の面を基準面として、この基準面にある物体が、カメラ切り替え時にスムーズに接続されるように映像を生成する。この仮想視点映像生成処理では、以下に挙げる映像補正、変換、映像効果付加を一貫して行う。
<Virtual viewpoint video generation processing>
Next, the virtual viewpoint video generation processing in step S707 of this embodiment will be described. In the virtual viewpoint video generation process, a video with a constant height is used as a reference plane, and an image is generated so that objects on the reference plane are smoothly connected when the camera is switched. In this virtual viewpoint video generation process, the following video correction, conversion, and video effect addition are performed consistently.
(1)カメラ映像の歪曲、および、倍率色収差補正
(2)周辺光量落ち補正
(3)仮想視点映像とカメラ映像の間のパース変換
(4)仮想視点映像に対する周辺光量落ち効果の付加
(5)歪曲効果の付加
この仮想視点映像生成処理は、上記操作を一貫して行うため効率が良く、リアルタイム性に適した処理である。尚、仮想視点映像生成処理の処理時間が画像表示PC304でフレームを再生する間隔(例えば、秒30コマ表示の場合、1/30秒)よりも長い場合、リアルタイム再生できなくなってしまう。そこで本実施例では、画像処理PC303を複数台用意してインターリーブすることで対応する。例えば画像処理PC303を10台用意した場合、仮想視点映像生成処理は1/3秒未満で処理すれば良い。
(1) Camera image distortion and magnification chromatic aberration correction (2) Peripheral light amount correction (3) Perspective conversion between virtual viewpoint image and camera image (4) Addition of peripheral light amount drop effect to virtual viewpoint image (5) Addition of Distortion Effect This virtual viewpoint video generation process is efficient because it performs the above operations consistently, and is a process suitable for real-time performance. Note that if the processing time of the virtual viewpoint video generation processing is longer than the interval at which frames are reproduced on the image display PC 304 (for example, 1/30 seconds in the case of displaying 30 frames per second), real-time reproduction becomes impossible. In this embodiment, a plurality of
図13は画像処理PC303の仮想視点映像生成処理部605において行われる仮想視点映像生成処理を示すフローチャートである。以下、仮想視点映像生成処理の詳細について数式を用いて説明する。
FIG. 13 is a flowchart showing virtual viewpoint video generation processing performed in the virtual viewpoint video
まず、仮想カメラの物理的な位置を First, the physical position of the virtual camera
仮想カメラの方向を The direction of the virtual camera
仮想カメラの画面上方向を指すベクトルを A vector pointing up on the virtual camera screen
仮想カメラの画面右方向を指すベクトルを A vector pointing to the right direction of the virtual camera screen
とする。図14は仮想視点映像生成処理で用いられる各パラメータを説明するための図である。図14も併せて参照されたい。 And FIG. 14 is a diagram for explaining each parameter used in the virtual viewpoint video generation processing. Please also refer to FIG.
は方向を表すだけのベクトルであるため、長さは1とする。これらのベクトルを表す座標系には、前述の、床面をx-y平面として、高さ方向をz軸とする座標系を用いる。仮想カメラの水平半画角、および、垂直半画角をそれぞれθh,out、θv,outとする。 Is a vector that only represents the direction, so the length is 1. As the coordinate system representing these vectors, the above-described coordinate system having the floor surface as the xy plane and the height direction as the z axis is used. The horizontal half field angle and the vertical half field angle of the virtual camera are θ h, out and θ v, out , respectively.
仮想視点映像生成処理は、仮想視点映像の画素毎に処理を進めていく。ここで、
画素値を決定しようとしている画素の座標を
The virtual viewpoint video generation process proceeds for each pixel of the virtual viewpoint video. here,
The coordinates of the pixel whose pixel value is to be determined
とする。まず、仮想視点映像に歪曲効果を持たせるため、ステップS1301において歪曲効果の逆変換(歪曲補正)を行い、 And First, in order to give a distortion effect to the virtual viewpoint video, in step S1301, reverse transformation (distortion correction) of the distortion effect is performed.
仮想視点映像の歪曲補正後の画素座標 Pixel coordinates after distortion correction of virtual viewpoint video
を計算する。逆変換の具体的な数式は、どのような歪曲効果を持たせるかに依存するが、例えば、以下の式(1)を用いればよい。 Calculate A specific mathematical formula for the inverse transformation depends on what kind of distortion effect is given, but for example, the following formula (1) may be used.
ここで、 here,
は、任意視点映像の中心の画素位置である。 Is the center pixel position of the arbitrary viewpoint video.
は歪曲効果の強さをコントロールするパラメータである。 Is a parameter that controls the strength of the distortion effect.
ステップS1302は、 Step S1302
画素 Pixel
位置 position
は、以下の式(2)〜(5)で求められる。 Is obtained by the following formulas (2) to (5).
ここで、Xp,zおよびXpixel,zは、それぞれ Where X p, z and X pixel, z are respectively
および and
のz成分である。 Z component.
ステップS1303は、c番目のカメラ(以下、カメラcとする)において、 In step S1303, in the c-th camera (hereinafter referred to as camera c),
位置 position
が写っている Is reflected
理想画素位置 Ideal pixel position
を求めるステップである。ここで言う理想画素位置とは、カメラcの映像に歪曲や倍率色収差などの収差が無い場合の画素位置である。 This is a step for obtaining. The ideal pixel position mentioned here is a pixel position when there is no aberration such as distortion or lateral chromatic aberration in the image of the camera c.
理想画素位置 Ideal pixel position
ここで、式(6)のXp,c,x、Xp,c,y、Xp,c,zは、それぞれ Here, X p, c, x , X p, c, y , X p, c, z in equation (6) are respectively
のx、y、z成分であり、θh,c、θv,cはカメラcの水平半画角と垂直半画角である。式(8)の X, y, and z components, and θ h, c , θ v, c are the horizontal and vertical half angles of view of the camera c. Of formula (8)
はカメラcの位置である。また、式(9)の Is the position of the camera c. Further, the equation (9)
は、それぞれカメラcの映像の右方向、上方向、および、カメラcの向きを表す方向ベクトルである。これらのベクトルの長さは1とする。これら一連の操作は、ビュー変換、射影変換、スクリーン変換と一般に呼ばれる、3つの変換操作をまとめた操作である。 Are direction vectors representing the right direction, the upward direction, and the direction of the camera c, respectively. The length of these vectors is 1. These series of operations are operations in which three conversion operations generally called view conversion, projective conversion, and screen conversion are combined.
ステップS1304では、カメラcの歪曲および倍率色収差を考慮して、 In step S1304, taking into account the distortion and lateral chromatic aberration of the camera c,
理想画素位置 Ideal pixel position
を、各色毎に、 For each color,
実際の画素位置 Actual pixel position
に変換する。ここで、iは、色のインデックスを表す。この操作は、形式上、以下の式(10)で表すことができる。 Convert to Here, i represents a color index. This operation can be represented by the following formula (10) in terms of form.
この変換の具体的な形は、使用するカメラcの光学系に依存するもので、一般には、この変換は簡単な関数では表現できない。このため、実測値に基づいて、テーブル参照によってこの変換を行う。 The specific form of this conversion depends on the optical system of the camera c to be used. In general, this conversion cannot be expressed by a simple function. For this reason, this conversion is performed by referring to the table based on the actual measurement value.
ステップS1305では、カメラcの、 In step S1305, the camera c
画素位置 Pixel position
での画素値Ip,c,iを求める。 The pixel values I p, c, i at are obtained.
画素位置 Pixel position
は小数であるため、バイキュービック補間などを用いて、周辺画素から補間した画素値を取得する。 Since is a decimal, pixel values interpolated from surrounding pixels are obtained using bicubic interpolation or the like.
ステップS1306では、カメラcの周辺光量落ちを補正しつつ、仮想視点映像に周辺光量落ちの効果を付加するためのファクターDp,c,iを計算する。このファクターは、以下の式(11)のように、仮想始点映像の光量落ち効果の量Cpと、 In step S1306, factors D p, c, i for adding a peripheral light amount drop effect to the virtual viewpoint image are calculated while correcting the peripheral light amount drop of the camera c. This factor is expressed by the following formula (11): the amount of light drop effect C p of the virtual start image,
画素位置 Pixel position
におけるカメラcの周辺光量落ちの補正量Cp,c,iとの比として定義する。 Is defined as a ratio to the correction amount C p, c, i of the peripheral light amount drop of the camera c.
カメラcの周辺光量落ちの補正量Cp,c,iは、歪曲補正と同様、一般には簡単な関数では表現できない。このため、実測値に基づいて補正テーブルを作成して、テーブル参照によって補正を行う。これを形式的に以下の式(12)で表す。 The correction amount C p, c, i for the peripheral light amount drop of the camera c cannot be generally expressed by a simple function, like the distortion correction. For this reason, a correction table is created based on the actually measured values, and correction is performed by referring to the table. This is formally expressed by the following formula (12).
上式のように、周辺光量落ちの画素値依存性をも考慮した補正を行う。 As shown in the above equation, correction is performed in consideration of the dependency of the peripheral light amount drop on the pixel value.
仮想視点映像に付加する周辺光量落ちの効果は、例えば、以下の式(13)を用いる。ここでβは、周辺光量落ちの強度をコントロールするパラメータである。 For example, the following expression (13) is used for the effect of the decrease in the amount of peripheral light added to the virtual viewpoint video. Here, β is a parameter for controlling the intensity of the peripheral light amount drop.
ステップS1307までの処理により、 Through the processing up to step S1307,
仮想視点映像の画素位置 Pixel position of virtual viewpoint video
における、色iでの画素値Iout,iが決定される。ステップS1308にて、仮想視点映像の全ての画素が処理されるまで、ステップS1301〜ステップS1307を繰り返す。これにより、仮想視点映像が生成される。 The pixel value I out, i for color i is determined. Steps S1301 to S1307 are repeated until all the pixels of the virtual viewpoint video are processed in step S1308. Thereby, a virtual viewpoint video is generated.
ここで、仮想視点映像生成処理において、撮像画像の外の座標を参照する場合がある。このような領域については、所定画像を表示して対応する。例えば本実施例では、予め用意した床テクスチャ画像を仮想視点に応じてパース変換して使用する。撮像画像の外を参照した場合の画素値を、パース変換後の床テクスチャ画像の画素値とすることで違和感の無い出力画像を得ることが可能になる。 Here, in the virtual viewpoint video generation process, coordinates outside the captured image may be referred to. Such a region is dealt with by displaying a predetermined image. For example, in this embodiment, a floor texture image prepared in advance is used after being parse-converted according to a virtual viewpoint. By setting the pixel value when referring to the outside of the captured image as the pixel value of the floor texture image after the perspective conversion, it is possible to obtain an output image without a sense of incongruity.
<カメラ選択処理>
ステップS1009における管理サーバPCでのカメラ選択処理は、正常に動作しているカメラ101に関するカバー率に基づいて実行する。図15は、カバー率を示す図である。カバー率とは、仮想視点映像生成処理によって得る出力画像に対し、カメラによる撮像画像が含まれる割合である。したがって、カバー率の算出は、対象フレームの基準面の高さに基づいて行う。図15(a)は出力画像全ての画素が、撮像画像の画素により得られており、カバー率は100%となる。一方図15(b)は出力画像の一部の領域が撮像範囲の外を参照しており、カバー率は100%未満となる。仮想視点映像の生成処理においては、カバー率が100%であるカメラを用いることが好ましい。カバー率が100%でない場合、そのカメラでは撮像できていない領域が含まれるので、仮想視点映像の画質劣化につながるからである。そこで、本実施例では、カバー率が100%のカメラを選択する。
<Camera selection process>
The camera selection process in the management server PC in step S1009 is executed based on the coverage ratio regarding the
図16は、管理サーバPCにおけるカメラ選択処理を示すフローチャートである。ステップS1601において管理サーバPCは、カメラ101とキャプチャPC302との組み合わせが正常に動作しているか否かを確認する。本実施例では有効カメラリストを取得する。有効カメラリストは、ステップS1006で生成したリストを利用する。
FIG. 16 is a flowchart showing camera selection processing in the management server PC. In step S1601, the management server PC confirms whether the combination of the
次に、ステップS1602において管理サーバPCは、上映コントロール情報を参照して上映開始時刻から上映終了時刻までの各フレームについて、有効カメラリストに登録されている各カメラのカバー率を算出する。すなわち、上映コントロール情報と有効カメラリストとを用いて各カメラのカバー率を算出する。 Next, in step S1602, the management server PC calculates the coverage of each camera registered in the valid camera list for each frame from the screening start time to the screening end time with reference to the screening control information. That is, the coverage rate of each camera is calculated using the screening control information and the valid camera list.
次に、ステップS1603において管理サーバPCは、ステップS1602で算出したカバー率が100%のカメラについて、選択処理を実行する。選択処理については後述する。ステップS1604において選択されたカメラが存在するかを判定する。選択処理によってカメラが選択されなかった場合、ステップS1605に進み選択処理モード設定を読み込んで判定を行う。選択処理モード設定とは、カバー率100%でないカメラを選択対象とするかどうかの設定で、選択対象とする場合には閾値Tx(%)を指定する。 Next, in step S1603, the management server PC executes a selection process for the camera with the 100% coverage calculated in step S1602. The selection process will be described later. It is determined whether the camera selected in step S1604 exists. If no camera has been selected by the selection process, the process advances to step S1605 to perform determination by reading the selection process mode setting. The selection processing mode setting is a setting as to whether or not a camera with a coverage rate of 100% is to be selected. When the selection processing mode is to be selected, a threshold Tx (%) is designated.
ステップS1605においてカバー率100%でないカメラを選択対象とすると判定した場合、ステップS1606にすすみ、カバー率がTx%以上のカメラを対象として選択処理を実行する。ステップS1605における判定がカバー率100%でないカメラを対象としない場合、及びステップS1606の選択処理でもカメラが選択されなかった場合(S1607のNo)は、ステップS1611でエラーを通知して処理を終了する。ステップS1611のエラーは、カメラが選択できなかったことを示す通知である。 If it is determined in step S1605 that a camera whose cover rate is not 100% is to be selected, the process proceeds to step S1606, and selection processing is executed for a camera whose cover rate is equal to or higher than Tx%. If the determination in step S1605 does not target a camera whose coverage is not 100%, and if no camera is selected in the selection process in step S1606 (No in S1607), an error is notified in step S1611 and the process ends. . The error in step S1611 is a notification indicating that the camera could not be selected.
ステップS1608では、全てのフレームを選択したかを判定し、全てのフレームを選択した場合はステップS1609に進み、そうでない場合はステップS1602に進む。 In step S1608, it is determined whether all frames have been selected. If all frames have been selected, the process proceeds to step S1609; otherwise, the process proceeds to step S1602.
上映コントロール情報によって全てのフレームに対してカメラが選択できた場合、ステップS1609において管理サーバPCは、カメラの再選択処理を実行する。例えば、1フレーム分の映像データの送信処理が1/30秒以内に終わらない場合、特定のキャプチャPCからの送信処理が長時間連続するとリアルタイム上映できなくなってしまう。また、選択カメラが頻繁に切り替わるとフレーム間の画質も合わせて変化してしまい、上映する映像のちらつきとなって現れてしまう。したがって、できるだけカメラの切り替え頻度を少なくしながらも、その上で特定カメラにリクエストが長時間継続しないようにする必要がある。再選択処理の詳細については後述する。 If the camera can be selected for all frames according to the screening control information, the management server PC executes a camera reselection process in step S1609. For example, when the transmission processing of video data for one frame does not end within 1/30 seconds, real-time screening cannot be performed if transmission processing from a specific capture PC continues for a long time. In addition, if the selected camera is frequently switched, the image quality between frames also changes and appears as flickering of the screened video. Therefore, it is necessary to make the request to the specific camera not continue for a long time while reducing the switching frequency of the camera as much as possible. Details of the reselection processing will be described later.
ステップS1610において管理サーバPCは再選択処理が正常終了したかを判定する。再選択処理でエラーが発生した場合には、ステップS1611に進み、エラーを通知して処理を終了する。尚、カメラ選択処理でエラーを通知した場合には通常上映では適切な画質が得られないと判断し、ステップS1011で説明したように自動的にバックアップ上映に切り替わる。 In step S1610, the management server PC determines whether or not the reselection process has been completed normally. If an error has occurred in the reselection process, the process advances to step S1611 to notify the error and end the process. When an error is notified in the camera selection process, it is determined that an appropriate image quality cannot be obtained by normal screening, and the screen is automatically switched to backup screening as described in step S1011.
<選択処理>
次に、ステップS1603とS1606の選択処理について説明する。選択処理では、まず、対象となるフレームfにおける注視点Pfの物理座標と、仮想カメラから注視点PfまでのベクトルVfとを算出する。また、内積最大値Imaxを0に初期化しておく。次に、ステップS1603の選択処理においては、有効カメラリストに登録されているカメラのうち、カバー率が100%のカメラについて以下で述べる処理を実行する。一方、ステップS1606の選択処理においてはカバー率がTx%以上のカメラについて以下で述べる処理を実行する。
<Selection process>
Next, the selection processing in steps S1603 and S1606 will be described. In the selection process, first, the physical coordinates of the gazing point Pf in the target frame f and the vector Vf from the virtual camera to the gazing point Pf are calculated. The inner product maximum value Imax is initialized to zero. Next, in the selection process of step S1603, the process described below is executed for a camera with a coverage rate of 100% among the cameras registered in the valid camera list. On the other hand, in the selection process in step S1606, the process described below is executed for a camera having a coverage ratio of Tx% or more.
まず、カメラcから注視点Pfまでの単位方向ベクトルVcを計算する。このベクトルVcとベクトルVfの内積をとり、内積が最大となるカメラcを選択する。このような処理を行うことで、仮想カメラからの視点に最も近い位置のカメラを選択することが出来る。 First, a unit direction vector Vc from the camera c to the gazing point Pf is calculated. The inner product of the vector Vc and the vector Vf is taken, and the camera c having the maximum inner product is selected. By performing such processing, the camera closest to the viewpoint from the virtual camera can be selected.
<再選択処理>
次に、ステップS1609の再選択処理を説明する。本実施例による上映システムでは、仮想視点の移動ルートに沿ってカメラを配置している。したがって、カメラを順次切り替えて使用しながら仮想視点映像を生成することになる。
<Reselection process>
Next, the reselection process in step S1609 will be described. In the screening system according to the present embodiment, cameras are arranged along the movement route of the virtual viewpoint. Therefore, the virtual viewpoint video is generated while sequentially switching and using the cameras.
まず、ある時点で選択されているカメラをc_selとする。次に、その一つ前に選択されたカメラc_prevを取得する。一つ前に選択されたカメラとは、直前フレームで選択されたカメラのことではなく、現在選択されているカメラよりも直前に選択されていたカメラのことを指す。同様に、二つ前に選択されたカメラc_prev2を取得する。 First, let c_sel be the camera selected at a certain time. Next, the camera c_prev selected immediately before is acquired. The camera selected immediately before refers not to the camera selected in the previous frame but to the camera selected immediately before the currently selected camera. Similarly, the camera c_prev2 selected two times before is acquired.
続いて、直前フレームと同じカメラが選択された状態かどうかをチェックする。直前フレームと同じカメラが選択されているかどうかで処理が異なる。
(a)直前フレームと同じカメラが選択されている場合
この場合は、連続選択回数を考慮したカメラ選択処理を実行する。本実施例では、連続選択回数の上限をNとする。まず、連続選択回数がN回未満であれば、このカメラを選択したままとする。N回以上連続選択されている場合には、特定カメラにリクエストが長時間継続しないようにシナリオ上次に選択されることになるカメラc_nextで代用可能かどうかを確認する。ここで、代用可能かどうかは、カバー率に基づいて判断する。代用可能な場合、現在処理中のフレーム以降でカメラc_selが連続選択されているフレームについて、選択カメラをc_nextに変更する。代用可能でない場合、エラーを通知して処理を終了する。
(b)直前フレームと異なるカメラが選択されている場合
この場合は、カメラ切り替え頻度を考慮したカメラ選択処理を実行する。まず、選択されているカメラc_selが、2つ前に選択されたカメラc_prev2と同じかどうかを判定する。同じ場合、選択カメラがc_selとc_prevとで交互に切り替わっている可能性があるので、これを回避する処理を実行する。
Subsequently, it is checked whether or not the same camera as the previous frame is selected. Processing differs depending on whether the same camera as the previous frame is selected.
(A) When the same camera as the previous frame is selected In this case, camera selection processing is performed in consideration of the number of continuous selections. In this embodiment, the upper limit of the number of continuous selections is N. First, if the number of continuous selections is less than N, this camera remains selected. If the request is continuously selected N times or more, it is confirmed whether the camera c_next to be selected next in the scenario can be substituted so that the request to the specific camera does not continue for a long time. Here, whether or not substitution is possible is determined based on the coverage. When the substitution is possible, the selected camera is changed to c_next for frames in which the camera c_sel is continuously selected after the currently processed frame. If the substitution is not possible, an error is notified and the process is terminated.
(B) When a camera different from the previous frame is selected In this case, camera selection processing is performed in consideration of the camera switching frequency. First, it is determined whether the selected camera c_sel is the same as the camera c_prev2 selected two times before. In the same case, there is a possibility that the selected camera is alternately switched between c_sel and c_prev, and therefore processing for avoiding this is executed.
まず、直前フレームの段階でカメラc_prevを連続M回以上使用しているかを確認する。連続M回以上使用していない場合、カメラ切り替え頻度が高くなっている可能性があるので、c_selの代わりにc_prevが使用可能かどうかを確認する。c_prevで代用可能な場合、選択カメラをc_prevに変更する。 First, it is confirmed whether the camera c_prev is used continuously M times or more at the stage of the immediately preceding frame. If the camera has not been used more than M times consecutively, the camera switching frequency may be high, so it is confirmed whether c_prev can be used instead of c_sel. If c_prev can be substituted, the selected camera is changed to c_prev.
そうでない場合、直前のフレームに対し、c_prev2での代用を試みる。c_prev2で代用可能な場合、直前フレーム以前でc_prevを連続選択しているフレーム全ての選択カメラをc_prev2に変更する。代用できない場合、エラーを通知して処理を終了する。 Otherwise, it tries to substitute c_prev2 for the previous frame. When c_prev2 can be substituted, the selected cameras of all frames in which c_prev is continuously selected before the previous frame are changed to c_prev2. If it cannot be substituted, an error is notified and the process is terminated.
これらの処理を全てのカメラの処理が終了するまで繰り返す。尚、再選択処理においてエラーを通知した場合、自動的にバックアップ上映に切り替える。 These processes are repeated until all the cameras have been processed. When an error is notified in the reselection process, the screen is automatically switched to the backup screening.
本実施例で述べたカメラの再選択処理では、(b)の処理を適用した結果、連続選択回数がN回以上になる可能性がある。したがって、この処理の後で連続選択回数を確認し、(a)と同様の処理によってこの状態を回避しても良いことは言うまでもない。 In the camera reselection process described in the present embodiment, as a result of applying the process (b), there is a possibility that the number of continuous selections is N or more. Therefore, it goes without saying that the number of continuous selections may be confirmed after this processing, and this state may be avoided by processing similar to (a).
説明した本実施例により、カメラやキャプチャPCの一部に障害が発生した場合、それらの機器を用いていないシナリオを上映中に当該機器を再起動して次回上映時に利用することが可能になる。その結果、長期間に渡って安定して仮想視点映像を生成することが可能なシステムを構築することが可能になる。 According to the present embodiment described above, when a failure occurs in a part of the camera or the capture PC, it becomes possible to restart the device during a scenario in which those devices are not used and use it at the next screening. . As a result, it is possible to construct a system capable of generating a virtual viewpoint video stably over a long period of time.
実施例1では、シナリオ上映中に障害が発生した機器を再起動する例を説明した。ここで、機器の障害が映像の上映に与える影響が少ない場合などは特定の再起動条件を満たす場合にのみ再起動を指示することにしても良い。図17は再起動条件に応じて電源コントローラ306における処理を切り替える例を示すフローチャート図である。ステップS1701、S1702
S1703、S1705、S1706は、図12のステップS1201〜S1205と同様である。本実施例では、ステップS1704において所望の条件で機器の再起動を指示するか否かを判定する。再起動条件は例えば、有効カメラ台数が90%以下の場合や、キャプチャエラーが10%以上の場合など任意に設定可能である。また、障害の度合いによっては再起動のみでは障害が解消されないことも考えられる。そこで、ステップS1704では障害要因の解消を確認したか否かを再起動条件として設定してもよい。尚、ステップS1705の判定処理以外は図12で説明したフローチャートと同様の処理のため説明は省略する。
In the first embodiment, an example has been described in which a device in which a failure has occurred during scenario presentation is restarted. Here, when the influence of the device failure has little influence on the video presentation, the restart may be instructed only when a specific restart condition is satisfied. FIG. 17 is a flowchart showing an example of switching processing in the
S1703, S1705, and S1706 are the same as steps S1201 to S1205 in FIG. In this embodiment, in step S1704, it is determined whether or not an instruction to restart the device is given under a desired condition. The restart condition can be arbitrarily set, for example, when the number of effective cameras is 90% or less, or when the capture error is 10% or more. In addition, depending on the degree of failure, it may be possible that the failure cannot be resolved only by restarting. Therefore, in step S1704, whether or not the failure factor has been confirmed may be set as a restart condition. Since the processing other than the determination processing in step S1705 is the same as the flowchart described with reference to FIG.
<その他の実施例>
実施例1及び実施例2では、規模の大きな映像再生システムの例を説明したが、多眼カメラのようなデバイスにも適用可能である。図18は多眼カメラの構成を示す模式図である。図18において、レンズ1801を通って撮像センサ1802で受光した光はA/D変換部1808を介してデジタル信号に変換される。変換されたデータはバス1807を通ってメモリ1804に記録される。記録されたデータはプロセッサ1803で処理されプレビューモニタ1805に表示される。このような、多眼カメラの構成において、センサ電源コントローラ1806を備えることで、カメラ全体を初期化する必要がなくなる。
<Other examples>
In the first and second embodiments, an example of a large-scale video reproduction system has been described. However, the present invention can also be applied to a device such as a multi-view camera. FIG. 18 is a schematic diagram showing the configuration of a multi-view camera. In FIG. 18, light received by the
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。 The present invention can also be realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiments is supplied to a system or apparatus via a network or various storage media, and a computer (or CPU, MPU, or the like) of the system or apparatus reads the program. It is a process to be executed.
また、本実施形態の機能を実現するためのプログラムコードを、1つのコンピュータ(CPU、MPU)で実行する場合であってもよいし、複数のコンピュータが協働することによって実行する場合であってもよい。さらに、プログラムコードをコンピュータが実行する場合であってもよいし、プログラムコードの機能を実現するための回路等のハードウェアを設けてもよい。またはプログラムコードの一部をハードウェアで実現し、残りの部分をコンピュータが実行する場合であってもよい。 Further, the program code for realizing the function of the present embodiment may be executed by one computer (CPU, MPU), or may be executed by a plurality of computers cooperating. Also good. Further, the program code may be executed by a computer, or hardware such as a circuit for realizing the function of the program code may be provided. Alternatively, a part of the program code may be realized by hardware and the remaining part may be executed by a computer.
Claims (17)
前記撮像手段における障害の発生を検知する検知手段と、
前記複数の撮像手段のうち、前記検知手段により障害の発生が検知された撮像手段を再起動する制御手段とを有し、
前記制御手段は、前記障害の発生が検知された撮像手段を、前記障害の発生が検知された撮像手段を除く他の撮像手段によって撮像された画像データから生成された仮想視点映像の再生の開始後に再起動することを特徴とする映像再生システム。 A video playback system for playing back a virtual viewpoint video generated from image data captured by a plurality of imaging means,
Detecting means for detecting occurrence of a failure in the imaging means;
A control unit that restarts the imaging unit in which the occurrence of the failure is detected by the detection unit among the plurality of imaging units;
The control means starts the reproduction of the virtual viewpoint video generated from the image data picked up by the image pickup means other than the image pickup means other than the image pickup means in which the occurrence of the failure is detected. A video playback system that is restarted later.
前記制御手段は、前記障害の発生した撮像手段を、該撮像手段を除く他の撮像手段によって得られた画像データから得られる仮想視点映像の再生の開始後であり、かつ前記判定手段で条件を満たすと判定された場合に再起動することを特徴とする請求項1から6のいずれか一項に記載の映像再生システム。 A determination unit for determining a condition necessary for restarting the imaging unit;
The control unit is configured to set the imaging unit in which the failure has occurred after the start of reproduction of a virtual viewpoint video obtained from image data obtained by another imaging unit excluding the imaging unit, and to determine a condition in the determination unit. The video reproduction system according to any one of claims 1 to 6, wherein the video reproduction system is restarted when it is determined that it is satisfied.
前記選択手段で選択された撮像手段により撮像された画像データを用いて生成された前記仮想視点映像を再生する再生手段と
をさらに有することを特徴とする請求項1から7のいずれか一項に記載の映像再生システム。 Imaging corresponding to image data used for generation of the virtual viewpoint video based on screening control information indicating imaging means corresponding to image data used for generation of each frame of the virtual viewpoint video and a detection result by the detection means The apparatus further comprises: selection means for selecting means; and playback means for playing back the virtual viewpoint video generated using the image data picked up by the image pickup means selected by the selection means. The video reproduction system according to any one of claims 7 to 9.
前記制御手段は、前記バックアップ上映の開始後に前記障害の発生した撮像手段を再起動することを特徴とする請求項8に記載の映像再生システム。 When an effective imaging unit is not selected by the selection unit, the reproduction unit performs a backup screening,
9. The video reproduction system according to claim 8, wherein the control unit restarts the imaging unit in which the failure has occurred after the backup screening is started.
前記システムは、多眼カメラを備える撮像装置であることを特徴とする請求項1から9のいずれか一項に記載の映像再生システム。 The imaging means is a camera having a lens and an imaging sensor,
The video reproduction system according to claim 1, wherein the system is an imaging device including a multi-view camera.
前記撮像手段における障害の発生を検知する検知手段と、
前記検知手段により障害の発生が検知された撮像手段を、前記シナリオに規定された前記撮像のタイミングを外して再起動する制御手段と、
を有することを特徴とする映像再生システム。 A plurality of image capturing means for capturing each image at a timing defined in a video playback scenario;
Detecting means for detecting occurrence of a failure in the imaging means;
A control unit that restarts the imaging unit in which the occurrence of the failure is detected by the detection unit, removing the timing of the imaging defined in the scenario;
A video playback system comprising:
前記撮像手段における障害の発生を検知する検知手段と、
前記複数の撮像手段によって撮像された画像データのうち、前記障害の発生が検知された撮像手段を除く撮像手段により撮像された画像データの中から、前記仮想視点映像を生成するために用いる画像データを設定する設定手段と、
前記検知手段により障害の発生が検知された撮像手段を、前記設定手段による前記仮想視点映像を生成するために用いる画像データの設定後に再起動する制御手段とを有することを特徴とする映像再生システム。 A video playback system for playing back a virtual viewpoint video generated from image data captured by a plurality of imaging means,
Detecting means for detecting occurrence of a failure in the imaging means;
Image data used to generate the virtual viewpoint video from among the image data captured by the imaging unit excluding the imaging unit in which the occurrence of the failure is detected, among the image data captured by the plurality of imaging units. A setting means for setting
And a control unit that restarts the imaging unit in which the occurrence of the failure is detected by the detection unit after setting of the image data used for generating the virtual viewpoint video by the setting unit. .
障害の発生した撮像手段を示す情報と、前記仮想視点映像の上映開始時刻を示す情報とを取得する取得手段と、
前記障害の発生した撮像手段の電源を、前記仮想視点映像の上映開始時刻の後に再起動する制御手段と
を有することを特徴とする電源管理装置。 A power management device in a video playback system for playing back a virtual viewpoint video generated from image data captured by a plurality of imaging means,
An acquisition unit that acquires information indicating an imaging unit in which a failure has occurred and information indicating a display start time of the virtual viewpoint video;
A power management apparatus, comprising: a control unit that restarts the power of the imaging unit in which the failure has occurred after the presentation start time of the virtual viewpoint video.
前記撮像手段における障害の発生を検知する検知ステップと、
前記複数の撮像手段のうち、前記検知手段により障害の発生が検知された撮像手段を再起動する制御ステップとを含み、
前記制御ステップは、前記障害の発生が検知された撮像手段を、前記障害の発生が検知された撮像手段を除く他の撮像手段によって撮像された画像データから生成された仮想視点映像の再生の開始後に再起動するステップであることを特徴とする制御方法。 A control method in a video playback system for playing back a virtual viewpoint video generated from image data captured by a plurality of imaging means,
A detection step of detecting the occurrence of a failure in the imaging means;
A control step of restarting the imaging unit in which the occurrence of the failure is detected by the detection unit among the plurality of imaging units,
The control step starts the reproduction of the virtual viewpoint video generated from the image data captured by the other imaging unit excluding the imaging unit in which the occurrence of the failure is detected. A control method which is a step of restarting later.
前記撮像手段の障害の発生を検知する検知ステップと、
前記検知ステップで障害の発生が検知された撮像手段を、前記シナリオに規定されたタイミングを外して再起動するステップと、
を有することを特徴とする制御方法。 A control method in a video playback system having a plurality of imaging means for capturing images at a timing specified in a video playback scenario,
A detection step of detecting the occurrence of a failure of the imaging means;
Re-starting the imaging means in which the occurrence of a failure is detected in the detection step, removing the timing defined in the scenario;
A control method characterized by comprising:
障害の発生した撮像手段を示す情報と、前記仮想視点映像の上映開始時刻を示す情報とを取得する取得ステップと、
前記障害の発生した撮像手段の電源を、前記仮想視点映像の上映開始時刻の経過後に再起動するステップと
を有することを特徴とする電源管理方法。 A power management device in a video playback system for playing back a virtual viewpoint video generated from image data captured by a plurality of imaging means,
An acquisition step of acquiring information indicating an imaging unit in which a failure has occurred and information indicating a start time of the virtual viewpoint video;
And a step of restarting the power supply of the imaging means in which the failure has occurred after the elapse of the presentation start time of the virtual viewpoint video.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014095213A JP2015212876A (en) | 2014-05-02 | 2014-05-02 | Video reproduction system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014095213A JP2015212876A (en) | 2014-05-02 | 2014-05-02 | Video reproduction system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015212876A true JP2015212876A (en) | 2015-11-26 |
Family
ID=54697107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014095213A Pending JP2015212876A (en) | 2014-05-02 | 2014-05-02 | Video reproduction system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015212876A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017212592A (en) * | 2016-05-25 | 2017-11-30 | キヤノン株式会社 | Controller, control method, and program |
CN109803072A (en) * | 2017-11-17 | 2019-05-24 | 群光电子股份有限公司 | Image capture unit with power supply function of reset |
JP2019134428A (en) * | 2019-02-13 | 2019-08-08 | キヤノン株式会社 | Control device, control method, and program |
EP3574963A1 (en) * | 2018-03-23 | 2019-12-04 | Canon Kabushiki Kaisha | Information processing apparatus and control method thereof |
-
2014
- 2014-05-02 JP JP2014095213A patent/JP2015212876A/en active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017212592A (en) * | 2016-05-25 | 2017-11-30 | キヤノン株式会社 | Controller, control method, and program |
CN109644265A (en) * | 2016-05-25 | 2019-04-16 | 佳能株式会社 | Control device, control method and storage medium |
CN109803072A (en) * | 2017-11-17 | 2019-05-24 | 群光电子股份有限公司 | Image capture unit with power supply function of reset |
CN109803072B (en) * | 2017-11-17 | 2021-01-22 | 群光电子股份有限公司 | Image pick-up device with power supply reset function |
EP3574963A1 (en) * | 2018-03-23 | 2019-12-04 | Canon Kabushiki Kaisha | Information processing apparatus and control method thereof |
US10834477B2 (en) | 2018-03-23 | 2020-11-10 | Canon Kabushiki Kaisha | Information processing apparatus and control method thereof |
JP2019134428A (en) * | 2019-02-13 | 2019-08-08 | キヤノン株式会社 | Control device, control method, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5562103B2 (en) | Image processing apparatus and method | |
JP5570284B2 (en) | Image processing apparatus and method | |
CN110073414B (en) | Image processing apparatus, method, and non-transitory computer readable storage medium | |
JP6496093B1 (en) | Exposure control of 3D 360 degree virtual reality camera | |
US20180204381A1 (en) | Image processing apparatus for generating virtual viewpoint image and method therefor | |
JP6894687B2 (en) | Image processing system, image processing device, control method, and program | |
US20190310472A1 (en) | Streaming virtual reality video | |
US11463624B2 (en) | Imaging device, imaging method, display device, and display method that capture a particular capturing region corresponding to a selected cutout image | |
US20160037068A1 (en) | System and method of stitching together video streams to generate a wide field video stream | |
WO2018100928A1 (en) | Image processing device and method | |
JP6497965B2 (en) | Image processing apparatus and image processing method | |
JP7042571B2 (en) | Image processing device and its control method, program | |
JP2015212876A (en) | Video reproduction system | |
JP2019050451A (en) | Image processing apparatus and method for controlling the same, and program, and image processing system | |
JP2019057891A (en) | Information processing apparatus, imaging apparatus, information processing method, and program | |
US20130342712A1 (en) | Photographing control apparatus and photographing control method | |
JP6971624B2 (en) | Information processing equipment, control methods, and programs | |
JP2015171042A (en) | Picture processing system and picture imaging apparatus | |
US11622099B2 (en) | Information-processing apparatus, method of processing information, and program | |
JP6952456B2 (en) | Information processing equipment, control methods, and programs | |
JP7458713B2 (en) | Image processing device, image processing system, control method, and program | |
US20230162435A1 (en) | Information processing apparatus, information processing method, and storage medium | |
JP6157220B2 (en) | Output device and method | |
JP6261191B2 (en) | Display control apparatus, display control method, and program | |
JP2008301191A (en) | Video monitoring system, video monitoring control device, video monitoring control method, and video monitor controlling program |