競技場(スタジアム)やコンサートホールなどの施設に複数のカメラ及びマイクを設置し撮影及び集音を行うシステムについて、図1のシステム構成図を用いて説明する。画像処理システム100は、センサシステム110a―センサシステム110z、画像コンピューティングサーバ200、コントローラ300、スイッチングハブ180、及びエンドユーザ端末190を有する。
A system for installing a plurality of cameras and microphones in a facility such as a stadium (a stadium) or a concert hall and performing photography and sound collection will be described using the system configuration diagram of FIG. The image processing system 100 includes a sensor system 110a-sensor system 110z, an image computing server 200, a controller 300, a switching hub 180, and an end user terminal 190.
コントローラ300は制御ステーション310と仮想カメラ操作UI330を有する。制御ステーション310は画像処理システム100を構成するそれぞれのブロックに対してネットワーク310a―310c、180a、180b、及び170a―170yを通じて動作状態の管理及びパラメータ設定制御などを行う。ここで、ネットワークはEthernet(登録商標、以下省略)であるIEEE標準準拠のGbE(ギガビットイーサーネット)や10GbEでもよいし、インターコネクトInfiniband、産業用イーサーネット等を組合せて構成されてもよい。また、これらに限定されず、他の種別のネットワークであってもよい。
The controller 300 has a control station 310 and a virtual camera operation UI 330. The control station 310 performs operation state management, parameter setting control, and the like on the respective blocks constituting the image processing system 100 through the networks 310a to 310c, 180a, 180b, and 170a to 170y. Here, the network may be Ethernet (registered trademark, hereinafter abbreviated) IEEE standard compliant GbE (Gigabit Ethernet) or 10 GbE, or may be configured by combining an interconnect Infiniband, industrial Ethernet, or the like. Moreover, it is not limited to these, It may be another type of network.
最初に、センサシステム110a―センサシステム110zの26セットの画像及び音声をセンサシステム110zから画像コンピューティングサーバ200へ送信する動作を説明する。本実施形態の画像処理システム100は、センサシステム110a―センサシステム110zがデイジーチェーンにより接続される。
First, an operation of transmitting 26 sets of images and sounds of the sensor system 110a-sensor system 110z from the sensor system 110z to the image computing server 200 will be described. In the image processing system 100 of this embodiment, a sensor system 110a-a sensor system 110z are connected by a daisy chain.
本実施形態において、特別な説明がない場合は、センサシステム110aからセンサシステム110zまでの26セットのシステムを区別せずセンサシステム110と記載する。各センサシステム110内の装置についても同様に、特別な説明がない場合は区別せず、マイク111、カメラ112、雲台113、外部センサ114、及びカメラアダプタ120と記載する。なお、センサシステムの台数として26セットと記載しているが、あくまでも一例であり、台数をこれに限定するものではない。また、複数のセンサシステム110は同一の構成でなくてもよく、例えばそれぞれが異なる機種の装置で構成されていてもよい。なお、本実施形態では、特に断りがない限り、画像という文言が、動画と静止画の概念を含むものとして説明する。すなわち、本実施形態の画像処理システム100は、静止画及び動画の何れについても処理可能である。また、本実施形態では、画像処理システム100により提供される仮想視点コンテンツには、仮想視点画像と仮想視点音声が含まれる例を中心に説明するが、これに限らない。例えば、仮想視点コンテンツに音声が含まれていなくても良い。また例えば、仮想視点コンテンツに含まれる音声が、仮想視点に最も近いマイクにより集音された音声であっても良い。また、本実施形態では、説明の簡略化のため、部分的に音声についての記載を省略しているが、基本的に画像と音声は共に処理されるものとする。
In the present embodiment, 26 sets of systems from the sensor system 110 a to the sensor system 110 z will be referred to as the sensor system 110 without distinction unless specifically described. Similarly, the devices in each sensor system 110 are described as the microphone 111, the camera 112, the camera platform 113, the external sensor 114, and the camera adapter 120 without distinction unless otherwise described. Although 26 sets are described as the number of sensor systems, this is merely an example, and the number is not limited to this. Further, the plurality of sensor systems 110 may not have the same configuration, and may be configured by, for example, different types of devices. In the present embodiment, unless otherwise noted, the term “image” is described as including the concept of a moving image and a still image. That is, the image processing system 100 of the present embodiment can process both still images and moving images. Further, in the present embodiment, the virtual viewpoint content provided by the image processing system 100 will be described focusing on an example in which a virtual viewpoint image and a virtual viewpoint sound are included, but the present invention is not limited thereto. For example, the audio may not be included in the virtual viewpoint content. Also, for example, the sound included in the virtual viewpoint content may be the sound collected by the microphone closest to the virtual viewpoint. Further, in the present embodiment, although the description of the voice is partially omitted for simplification of the description, basically both the image and the voice are processed.
センサシステム110a―センサシステム110zは、それぞれ1台ずつのカメラ112a―カメラ112zを有する。即ち、画像処理システム100は、被写体を複数の方向から撮影するための複数のカメラ112を有する。なお、複数のカメラ112は同一符号を用いて説明するが、性能や機種が異なっていてもよい。複数のセンサシステム110同士はデイジーチェーンにより接続される。この接続形態により、撮影画像の4Kや8Kなどへの高解像度化及び高フレームレート化に伴う画像データの大容量化において、接続ケーブル数の削減や配線作業の省力化ができる効果があることをここに明記しておく。
The sensor system 110a-The sensor system 110z has one camera 112a-one camera 112z respectively. That is, the image processing system 100 has a plurality of cameras 112 for photographing a subject from a plurality of directions. Although the plurality of cameras 112 are described using the same reference numerals, they may have different performances or models. The plurality of sensor systems 110 are connected by a daisy chain. With this connection form, it is possible to reduce the number of connection cables and save labor for wiring work in increasing the resolution of the captured image to 4K, 8K, etc. and increasing the capacity of image data accompanying the increase in frame rate. I will specify it here.
なおこれに限らず、接続形態として、各センサシステム110a−110zがスイッチングハブ180に接続されて、スイッチングハブ180を経由してセンサシステム110間のデータ送受信を行うスター型のネットワーク構成としてもよい。
The present invention is not limited to this. As a connection form, a star type network configuration may be used in which each sensor system 110a to 110z is connected to the switching hub 180 and data is transmitted and received between the sensor systems 110 via the switching hub 180.
また、図1では、デイジーチェーンとなるようセンサシステム110a−110zの全てがカスケード接続されている構成を示したがこれに限定するものではない。例えば、複数のセンサシステム110をいくつかのグループに分割して、分割したグループ単位でセンサシステム110間をデイジーチェーン接続してもよい。そして、分割単位の終端となるカメラアダプタ120がスイッチングハブに接続されて画像コンピューティングサーバ200へ画像の入力を行うようにしてもよい。このような構成は、スタジアムにおいてとくに有効である。例えば、スタジアムが複数階で構成され、フロア毎にセンサシステム110を配備する場合が考えられる。この場合に、フロア毎、あるいはスタジアムの半周毎に画像コンピューティングサーバ200への入力を行うことができ、全センサシステム110を1つのデイジーチェーンで接続する配線が困難な場所でも設置の簡便化及びシステムの柔軟化を図ることができる。
Further, although FIG. 1 shows a configuration in which all of the sensor systems 110a to 110z are cascaded to form a daisy chain, the present invention is not limited to this. For example, the plurality of sensor systems 110 may be divided into several groups, and the sensor systems 110 may be daisy-chained among the divided group units. Then, the camera adapter 120 serving as the end of the division unit may be connected to the switching hub to input an image to the image computing server 200. Such an arrangement is particularly effective in stadiums. For example, there may be a case where a stadium is composed of a plurality of floors and the sensor system 110 is deployed on each floor. In this case, the input to the image computing server 200 can be performed every floor or every half cycle of the stadium, and installation is simplified even in a place where it is difficult to connect all the sensor systems 110 by one daisy chain and System flexibility can be achieved.
また、デイジーチェーン接続されて画像コンピューティングサーバ200へ画像入力を行うカメラアダプタ120が1つであるか2つ以上であるかに応じて、画像コンピューティングサーバ200での画像処理の制御が切り替えられる。すなわち、センサシステム110が複数のグループに分割されているかどうかに応じて制御が切り替えられる。画像入力を行うカメラアダプタ120が1つの場合は、デイジーチェーン接続で画像伝送を行いながら競技場全周画像が生成されるため、画像コンピューティングサーバ200において全周の画像データが揃うタイミングは同期がとられている。すなわち、センサシステム110がグループに分割されていなければ、同期はとれる。
Further, control of image processing in the image computing server 200 can be switched depending on whether there is one or two or more camera adapters 120 connected in a daisy chain and performing image input to the image computing server 200. . That is, the control is switched depending on whether the sensor system 110 is divided into a plurality of groups. When there is one camera adapter 120 that performs image input, images are generated all around the stadium while performing image transmission by daisy chain connection, so the image computing server 200 is synchronized when the image data of all the circumferences are aligned It is taken. That is, if the sensor system 110 is not divided into groups, synchronization can be achieved.
しかし、画像入力を行うカメラアダプタ120が複数になる場合は、画像が撮影されてから画像コンピューティングサーバ200に入力されるまでの遅延がデイジーチェーンのレーン(経路)ごとに異なる場合が考えられる。すなわち、センサシステム110がグループに分割される場合は、画像コンピューティングサーバ200に全周の画像データが入力されるタイミングは同期がとられないことがある。そのため、画像コンピューティングサーバ200において、全周の画像データが揃うまで待って同期をとる同期制御によって、画像データの集結をチェックしながら後段の画像処理を行う必要があることを明記しておく。
However, in the case where there are a plurality of camera adapters 120 that perform image input, it is conceivable that the delay from when an image is taken until it is input to the image computing server 200 may differ for each lane (path) of the daisy chain. That is, when the sensor system 110 is divided into groups, the timing at which the image data of the entire circumference is input to the image computing server 200 may not be synchronized. Therefore, in the image computing server 200, it should be clearly stated that it is necessary to perform image processing in the latter stage while checking the concentration of image data by synchronous control in which synchronization is performed by waiting until image data of all the circumferences are complete.
本実施形態では、センサシステム110aはマイク111a、カメラ112a、雲台113a、外部センサ114a、及びカメラアダプタ120aを有する。なお、この構成に限定するものではなく、少なくとも1台のカメラアダプタ120aと、1台のカメラ112aまたは1台のマイク111aを有していれば良い。また例えば、センサシステム110aは1台のカメラアダプタ120aと、複数のカメラ112aで構成されてもよいし、1台のカメラ112aと複数のカメラアダプタ120aで構成されてもよい。即ち、画像処理システム100内の複数のカメラ112と複数のカメラアダプタ120はN対M(NとMは共に1以上の整数)で対応する。また、センサシステム110は、マイク111a、カメラ112a、雲台113a、及びカメラアダプタ120a以外の装置を含んでいてもよい。また、カメラ112とカメラアダプタ120が一体となって構成されていてもよい。さらに、カメラアダプタ120の機能の少なくとも一部をフロントエンドサーバ230が有していてもよい。本実施形態では、センサシステム110b―110zについては、センサシステム110aと同様の構成なので省略する。なお、センサシステム110aと同じ構成に限定されるものではなく、其々のセンサシステム110が異なる構成でもよい。
In the present embodiment, the sensor system 110a includes a microphone 111a, a camera 112a, a camera platform 113a, an external sensor 114a, and a camera adapter 120a. The present invention is not limited to this configuration, as long as at least one camera adapter 120a and one camera 112a or one microphone 111a are included. Further, for example, the sensor system 110a may be configured by one camera adapter 120a and a plurality of cameras 112a, or may be configured by a single camera 112a and a plurality of camera adapters 120a. That is, the plurality of cameras 112 and the plurality of camera adapters 120 in the image processing system 100 correspond to each other by N pairs M (N and M are both integers of 1 or more). The sensor system 110 may also include devices other than the microphone 111a, the camera 112a, the camera platform 113a, and the camera adapter 120a. Also, the camera 112 and the camera adapter 120 may be integrally configured. Furthermore, the front end server 230 may have at least a part of the functions of the camera adapter 120. In the present embodiment, the sensor systems 110b to 110z are omitted because they have the same configuration as the sensor system 110a. The configuration is not limited to the same as that of the sensor system 110a, and each sensor system 110 may have a different configuration.
マイク111aにて集音された音声と、カメラ112aにて撮影された画像は、カメラアダプタ120aにおいて後述の画像処理が施された後、デイジーチェーン170aを通してセンサシステム110bのカメラアダプタ120bに伝送される。同様にセンサシステム110bは、集音された音声と撮影された画像を、センサシステム110aから取得した画像及び音声と合わせてセンサシステム110cに伝送する。
The sound collected by the microphone 111a and the image captured by the camera 112a are subjected to image processing described later in the camera adapter 120a, and then transmitted to the camera adapter 120b of the sensor system 110b through the daisy chain 170a. . Similarly, the sensor system 110b transmits the collected voice and the captured image to the sensor system 110c along with the image and voice acquired from the sensor system 110a.
前述した動作を続けることにより、センサシステム110a―センサシステム110zが取得した画像及び音声は、センサシステム110zから180bを用いてスイッチングハブ180に伝わり、その後、画像コンピューティングサーバ200へ伝送される。
By continuing the above-described operation, the images and sounds acquired by the sensor system 110a and the sensor system 110z are transmitted to the switching hub 180 using the sensor systems 110z and 180b, and then transmitted to the image computing server 200.
なお、本実施形態では、カメラ112a−112zとカメラアダプタ120a−120zが分離された構成にしているが、同一筺体で一体化されていてもよい。その場合、マイク111a−111zは一体化されたカメラ112に内蔵されてもよいし、カメラ112の外部に接続されていてもよい。
In the present embodiment, the cameras 112a to 112z and the camera adapters 120a to 120z are separated, but may be integrated by the same housing. In that case, the microphones 111a to 111z may be built in the integrated camera 112 or may be connected to the outside of the camera 112.
次に、画像コンピューティングサーバ200の構成及び動作について説明する。本実施形態の画像コンピューティングサーバ200は、センサシステム110zから取得したデータの処理を行う。画像コンピューティングサーバ200はフロントエンドサーバ230、データベース250(以下、DBとも記載する。)、バックエンドサーバ270、タイムサーバ290を有する。
Next, the configuration and operation of the image computing server 200 will be described. The image computing server 200 of the present embodiment processes data acquired from the sensor system 110 z. The image computing server 200 includes a front end server 230, a database 250 (hereinafter also referred to as DB), a back end server 270, and a time server 290.
タイムサーバ290は時刻及び同期信号を配信する機能を有し、スイッチングハブ180を介してセンサシステム110a―センサシステム110zに時刻及び同期信号を配信する。時刻と同期信号を受信したカメラアダプタ120a―120zは、カメラ112a―112zを時刻と同期信号をもとにGenlockさせ画像フレーム同期を行う。即ち、タイムサーバ290は、複数のカメラ112の撮影タイミングを同期させる。これにより、画像処理システム100は同じタイミングで撮影された複数の撮影画像に基づいて仮想視点画像を生成できるため、撮影タイミングのずれによる仮想視点画像の品質低下を抑制できる。なお、本実施形態ではタイムサーバ290が複数のカメラ112の時刻同期を管理するものとするが、これに限らず、時刻同期のための処理を各カメラ112又は各カメラアダプタ120が独立して行ってもよい。
The time server 290 has a function of distributing time and synchronization signals, and distributes the time and synchronization signals to the sensor system 110a and the sensor system 110z through the switching hub 180. The camera adapters 120a to 120z having received the time and synchronization signal perform Genlock on the cameras 112a to 112z based on the time and synchronization signal to perform image frame synchronization. That is, the time server 290 synchronizes the imaging timings of the plurality of cameras 112. As a result, the image processing system 100 can generate a virtual viewpoint image based on a plurality of captured images captured at the same timing, so that it is possible to suppress the degradation of the quality of the virtual viewpoint image due to the shift of the capturing timing. In the present embodiment, the time server 290 manages time synchronization of a plurality of cameras 112. However, the present invention is not limited to this. Each camera 112 or each camera adapter 120 independently performs processing for time synchronization. May be
フロントエンドサーバ230は、センサシステム110zから取得した画像及び音声から、セグメント化された伝送パケットを再構成してデータ形式を変換した後に、カメラの識別子やデータ種別、フレーム番号に応じてデータベース250に書き込む。
The front end server 230 reconstructs a segmented transmission packet from the image and sound acquired from the sensor system 110 z and converts the data format, and then converts it into the database 250 according to the camera identifier, data type, and frame number. Write.
次に、バックエンドサーバ270では、仮想カメラ操作UI330から視点の指定を受け付け、受け付けられた視点に基づいて、データベース250から対応する画像及び音声データを読み出し、レンダリング処理を行って仮想視点画像を生成する。
Next, the back end server 270 receives specification of a viewpoint from the virtual camera operation UI 330, reads out the corresponding image and audio data from the database 250 based on the received viewpoint, and performs rendering processing to generate a virtual viewpoint image Do.
なお、画像コンピューティングサーバ200の構成はこれに限らない。例えば、フロントエンドサーバ230、データベース250、及びバックエンドサーバ270のうち少なくとも2つが一体となって構成されていてもよい。また、フロントエンドサーバ230、データベース250、及びバックエンドサーバ270の少なくとも何れかが複数含まれていてもよい。また、画像コンピューティングサーバ200内の任意の位置に上記の装置以外の装置が含まれていてもよい。さらに、画像コンピューティングサーバ200の機能の少なくとも一部をエンドユーザ端末190や仮想カメラ操作UI330が有していてもよい。
The configuration of the image computing server 200 is not limited to this. For example, at least two of the front end server 230, the database 250, and the back end server 270 may be integrally configured. Also, a plurality of at least one of the front end server 230, the database 250, and the back end server 270 may be included. In addition, devices other than the above-described devices may be included at any position in the image computing server 200. Furthermore, the end user terminal 190 or the virtual camera operation UI 330 may have at least a part of the functions of the image computing server 200.
レンダリング処理された画像は、バックエンドサーバ270からエンドユーザ端末190に送信され、エンドユーザ端末190を操作するユーザは視点の指定に応じた画像閲覧及び音声視聴が出来る。すなわち、バックエンドサーバ270は、複数のカメラ112により撮影された撮影画像(複数視点画像)と視点情報とに基づく仮想視点コンテンツを生成する。より具体的には、バックエンドサーバ270は、例えば複数のカメラアダプタ120により複数のカメラ112による撮影画像から抽出された所定領域の画像データと、ユーザ操作により指定された視点に基づいて、仮想視点コンテンツを生成する。そしてバックエンドサーバ270は、生成した仮想視点コンテンツをエンドユーザ端末190に提供する。カメラアダプタ120による所定領域の抽出の詳細については後述する。なお、本実施形態において仮想視点コンテンツは画像コンピューティングサーバ200により生成されるものであり、特にバックエンドサーバ270により生成される場合を中心に説明する。ただしこれに限らず、仮想視点コンテンツは、画像コンピューティングサーバ200に含まれるバックエンドサーバ270以外の装置により生成されてもよいし、コントローラ300やエンドユーザ端末190により生成されてもよい。
The image subjected to the rendering process is transmitted from the back end server 270 to the end user terminal 190, and the user operating the end user terminal 190 can view and listen to images according to the designation of the viewpoint. That is, the back-end server 270 generates virtual viewpoint content based on the captured images (multi-viewpoint images) captured by the plurality of cameras 112 and the viewpoint information. More specifically, the back-end server 270 is a virtual viewpoint based on, for example, image data of a predetermined area extracted from images captured by the plurality of cameras 112 by the plurality of camera adapters 120 and a viewpoint designated by the user operation. Generate content. Then, the back end server 270 provides the end user terminal 190 with the generated virtual viewpoint content. Details of extraction of the predetermined area by the camera adapter 120 will be described later. In the present embodiment, the virtual viewpoint content is generated by the image computing server 200, and in particular, the case of generation by the back end server 270 will be mainly described. However, the present invention is not limited to this, and virtual viewpoint content may be generated by a device other than the back end server 270 included in the image computing server 200, or may be generated by the controller 300 or the end user terminal 190.
本実施形態における仮想視点コンテンツは、仮想的な視点から被写体を撮影した場合に得られる画像としての仮想視点画像を含むコンテンツである。言い換えると、仮想視点画像は、指定された視点における見えを表す画像であるとも言える。仮想的な視点(仮想視点)は、ユーザにより指定されても良いし、画像解析の結果等に基づいて自動的に指定されても良い。すなわち仮想視点画像には、ユーザが任意に指定した視点に対応する任意視点画像(自由視点画像)が含まれる。また、複数の候補からユーザが指定した視点に対応する画像や、装置が自動で指定した視点に対応する画像も、仮想視点画像に含まれる。なお、本実施形態では、仮想視点コンテンツに音声データ(オーディオデータ)が含まれる場合の例を中心に説明するが、必ずしも音声データが含まれていなくても良い。また、バックエンドサーバ270は、仮想視点画像を例えばH.264やHEVCなどの符号化方式に従って圧縮符号化したうえで、MPEG−DASHプロトコルを使ってエンドユーザ端末190へ送信してもよい。また、仮想視点画像は、非圧縮でエンドユーザ端末190へ送信されてもよい。とくに圧縮符号化を行う前者はエンドユーザ端末190としてスマートフォンやタブレットを想定しており、後者は非圧縮画像を表示可能なディスプレイを想定している。すなわち、エンドユーザ端末190の種別に応じて画像フォーマットが切り替え可能であることを明記しておく。また、画像の送信プロトコルはMPEG−DASHに限らず、例えば、HLS(HTTP Live Streaming)やその他の送信方法を用いても良い。
The virtual viewpoint content in the present embodiment is content including a virtual viewpoint image as an image obtained when the subject is photographed from a virtual viewpoint. In other words, it can be said that the virtual viewpoint image is an image representing the appearance at the designated viewpoint. The virtual viewpoint (virtual viewpoint) may be designated by the user, or may be automatically designated based on the result of image analysis or the like. That is, the virtual viewpoint image includes an arbitrary viewpoint image (free viewpoint image) corresponding to a viewpoint arbitrarily specified by the user. Further, an image corresponding to a viewpoint specified by the user from a plurality of candidates and an image corresponding to a viewpoint automatically specified by the apparatus are also included in the virtual viewpoint image. In the present embodiment, an example in which audio data (audio data) is included in virtual viewpoint content is mainly described. However, audio data may not necessarily be included. Also, the back end server 270 may use, for example, H.264 virtual viewpoint images. H.264 and HEVC may be compressed and encoded according to an encoding scheme such as H.264 and HEVC, and then transmitted to the end user terminal 190 using the MPEG-DASH protocol. Also, the virtual viewpoint image may be transmitted to the end user terminal 190 uncompressed. In particular, the former that performs compression coding assumes a smartphone or a tablet as the end user terminal 190, and the latter assumes a display capable of displaying uncompressed images. That is, it is specified that the image format can be switched according to the type of the end user terminal 190. Further, the transmission protocol of the image is not limited to the MPEG-DASH, and for example, HLS (HTTP Live Streaming) or another transmission method may be used.
この様に、画像処理システム100は、映像収集ドメイン、データ保存ドメイン、及び映像生成ドメインという3つの機能ドメインを有する。映像収集ドメインはセンサシステム110−110zを含み、データ保存ドメインはデータベース250、フロントエンドサーバ230及びバックエンドサーバ270を含み、映像生成ドメインは仮想カメラ操作UI330及びエンドユーザ端末190を含む。なお本構成に限らず、例えば、仮想カメラ操作UI330が直接センサシステム110a−110zから画像を取得する事も可能である。しかしながら、本実施形態では、センサシステム110a−110zから直接画像を取得する方法ではなくデータ保存機能を中間に配置する方法をとる。具体的には、フロントエンドサーバ230がセンサシステム110a−110zが生成した画像データや音声データ及びそれらのデータのメタ情報をデータベース250の共通スキーマ及びデータ型に変換している。これにより、センサシステム110a−110zのカメラ112が他機種のカメラに変化しても、変化した差分をフロントエンドサーバ230が吸収し、データベース250に登録することができる。このことによって、カメラ112が他機種カメラに変わった場合に、仮想カメラ操作UI330が適切に動作しない虞を低減できる。
Thus, the image processing system 100 has three functional domains: a video acquisition domain, a data storage domain, and a video generation domain. The image acquisition domain includes a sensor system 110-110 z, the data storage domain includes a database 250, a front end server 230 and a back end server 270, and the image generation domain includes a virtual camera operation UI 330 and an end user terminal 190. Note that the present invention is not limited to this configuration, and for example, the virtual camera operation UI 330 can also obtain an image directly from the sensor system 110 a-110 z. However, in the present embodiment, not the method of acquiring an image directly from the sensor system 110 a-110 z but the method of arranging the data storage function in the middle is adopted. Specifically, the front end server 230 converts the image data and audio data generated by the sensor systems 110a to 110z and the meta information of those data into the common schema and data type of the database 250. Thereby, even if the cameras 112 of the sensor systems 110a to 110z change to cameras of other types, the front end server 230 can absorb the changed difference and register it in the database 250. This can reduce the possibility that the virtual camera operation UI 330 does not operate properly when the camera 112 is changed to another model camera.
また、仮想カメラ操作UI330は、直接データベース250にアクセスせずにバックエンドサーバ270を介してアクセスする構成である。バックエンドサーバ270で画像生成処理に係わる共通処理を行い、操作UIに係わるアプリケーションの差分部分を仮想カメラ操作UI330で行っている。このことにより、仮想カメラ操作UI330の開発において、UI操作デバイスや、生成したい仮想視点画像を操作するUIの機能要求に対する開発に注力する事ができる。また、バックエンドサーバ270は、仮想カメラ操作UI330の要求に応じて画像生成処理に係わる共通処理を追加又は削除する事も可能である。このことによって仮想カメラ操作UI330の要求に柔軟に対応する事ができる。
Also, the virtual camera operation UI 330 is configured to access via the back end server 270 without directly accessing the database 250. The back-end server 270 performs common processing related to image generation processing, and the difference part of the application related to the operation UI is performed using the virtual camera operation UI 330. As a result, in the development of the virtual camera operation UI 330, it is possible to focus on the development for the function request of the UI operation device and the UI for operating the virtual viewpoint image to be generated. The back-end server 270 can also add or delete common processing related to image generation processing in response to a request from the virtual camera operation UI 330. By this, it is possible to flexibly cope with the request of the virtual camera operation UI 330.
このように、画像処理システム100においては、被写体を複数の方向から撮影するための複数のカメラ112による撮影に基づく画像データに基づいて、バックエンドサーバ270により仮想視点画像が生成される。なお、本実施形態における画像処理システム100は、上記で説明した物理的な構成に限定される訳ではなく、論理的に構成されていてもよい。また、本実施形態ではカメラ112による撮影画像に基づいて仮想視点画像を生成する技術について説明するが、例えば撮影画像を用いずコンピュータグラフィックスなどにより生成された画像に基づいて仮想視点画像を生成する場合にも本実施形態を適用できる。
As described above, in the image processing system 100, the virtual viewpoint image is generated by the back end server 270 based on the image data based on the photographing by the plurality of cameras 112 for photographing the subject from a plurality of directions. The image processing system 100 in the present embodiment is not limited to the physical configuration described above, and may be logically configured. Further, in the present embodiment, a technology for generating a virtual viewpoint image based on an image captured by the camera 112 will be described. However, for example, a virtual viewpoint image is generated based on an image generated by computer graphics without using captured images. This embodiment can be applied to the case as well.
次に図1に記載のシステムにおける各ノード(カメラアダプタ120、フロントエンドサーバ230、データベース250、バックエンドサーバ270、仮想カメラ操作UI330、エンドユーザ端末190)の機能ブロック図を説明する。
Next, a functional block diagram of each node (camera adapter 120, front end server 230, database 250, back end server 270, virtual camera operation UI 330, end user terminal 190) in the system shown in FIG. 1 will be described.
本実施形態におけるカメラアダプタ120の機能ブロックについて図2を利用して説明する。なお、カメラアダプタ120の機能ブロック間でのデータの流れの詳細は図29を用いて後述する。
The functional blocks of the camera adapter 120 in the present embodiment will be described using FIG. The details of the flow of data among the functional blocks of the camera adapter 120 will be described later with reference to FIG.
カメラアダプタ120は、ネットワークアダプタ06110、伝送部06120、画像処理部06130及び、外部機器制御部06140から構成されている。ネットワークアダプタ06110は、データ送受信部06111及び時刻制御部06112から構成されている。
The camera adapter 120 includes a network adapter 06110, a transmission unit 06120, an image processing unit 06130, and an external device control unit 06140. The network adapter 06110 includes a data transmission / reception unit 06111 and a time control unit 06112.
データ送受信部06111は、デイジーチェーン170、ネットワーク291、及びネットワーク310aを介し他のカメラアダプタ120、フロントエンドサーバ230、タイムサーバ290、及び制御ステーション310とデータ通信を行う。例えばデータ送受信部06111は、カメラ112による撮影画像から前景背景分離部06131により分離された前景画像と背景画像とを、別のカメラアダプタ120に対して出力する。出力先のカメラアダプタ120は、画像処理システム100内のカメラアダプタ120のうち、データルーティング処理部06122の処理に応じて予め定められた順序において次のカメラアダプタ120である。各カメラアダプタ120が前景画像と背景画像とを出力することで、複数の視点から撮影された前景画像と背景画像に基づいて仮想視点画像が生成される。なお、撮影画像から分離した前景画像を出力して背景画像は出力しないカメラアダプタ120が存在してもよい。
The data transmission / reception unit 06111 performs data communication with the other camera adapter 120, the front end server 230, the time server 290, and the control station 310 via the daisy chain 170, the network 291, and the network 310a. For example, the data transmission / reception unit 06111 outputs the foreground image and the background image separated by the foreground / background separation unit 06131 from the image captured by the camera 112 to another camera adapter 120. The camera adapter 120 of the output destination is the next camera adapter 120 among the camera adapters 120 in the image processing system 100 in the order predetermined according to the processing of the data routing processing unit 06122. Each camera adapter 120 outputs a foreground image and a background image, so that a virtual viewpoint image is generated based on the foreground image and the background image captured from a plurality of viewpoints. Note that there may be a camera adapter 120 that outputs a foreground image separated from a captured image and does not output a background image.
時刻制御部06112は、例えばIEEE1588規格のOrdinay Clockに準拠し、タイムサーバ290との間で送受信したデータのタイムスタンプを保存する機能と、タイムサーバ290と時刻同期を行う。なお、IEEE1588に限定する訳ではなく、他のEtherAVB規格や、独自プロトコルによってタイムサーバとの時刻同期を実現してもよい。本実施形態では、ネットワークアダプタ06110としてNIC(Network Interface Card)を利用するが、NICに限定するものではなく、同様の他のInterfaceを利用してもよい。また、IEEE1588はIEEE1588−2002、IEEE1588−2008のように標準規格として更新されており、後者については、PTPv2(Precision Time Protocol Version2)とも呼ばれる。
The time control unit 06112 conforms to, for example, the Ordinay Clock of the IEEE 1588 standard, performs a function of storing a time stamp of data transmitted and received with the time server 290, and performs time synchronization with the time server 290. The present invention is not limited to the IEEE 1588, and time synchronization with the time server may be realized by another EtherAVB standard or a unique protocol. In the present embodiment, a NIC (Network Interface Card) is used as the network adapter 06110. However, the present invention is not limited to the NIC, and the same other interface may be used. Also, IEEE 1588 is updated as a standard such as IEEE 1588-2002 and IEEE 1588-2008, and the latter is also called PTPv2 (Precision Time Protocol Version 2).
伝送部06120は、ネットワークアダプタ06110を介してスイッチングハブ180等に対するデータの伝送を制御する機能を有し、以下の機能部から構成されている。
The transmission unit 06120 has a function of controlling transmission of data to the switching hub 180 and the like via the network adapter 06110, and includes the following functional units.
データ圧縮・伸張部06121は、データ送受信部06111を介して送受信されるデータに対して所定の圧縮方式、圧縮率、及びフレームレートを適用した圧縮を行う機能と、圧縮されたデータを伸張する機能を有している。
The data compression / decompression unit 06121 has a function of performing compression to which data is transmitted and received via the data transmission / reception unit 06111 using a predetermined compression method, compression ratio, and frame rate, and a function of decompressing compressed data. have.
データルーティング処理部06122は、後述するデータルーティング情報保持部06125が保持するデータを利用し、データ送受信部06111が受信したデータ及び画像処理部06130で処理されたデータのルーティング先を決定する。さらに、決定したルーティング先へデータを送信する機能を有している。ルーティング先としては、同一の注視点にフォーカスされたカメラ112に対応するカメラアダプタ120とするのが、それぞれのカメラ112同士の画像フレーム相関が高いため画像処理を行う上で好適である。複数のカメラアダプタ120それぞれのデータルーティング処理部06122による決定に応じて、画像処理システム100内において前景画像や背景画像をリレー形式で出力するカメラアダプタ120の順序が定まる。
The data routing processing unit 06122 determines the routing destination of the data received by the data transmitting / receiving unit 06111 and the data processed by the image processing unit 06130 using the data held by the data routing information holding unit 06125 described later. Furthermore, it has a function of transmitting data to the determined routing destination. As a routing destination, it is preferable to use a camera adapter 120 corresponding to the cameras 112 focused on the same fixation point in order to perform image processing because the image frame correlation between the cameras 112 is high. According to the determination by the data routing processing unit 06122 of each of the plurality of camera adapters 120, the order of the camera adapters 120 that outputs the foreground image and the background image in a relay format in the image processing system 100 is determined.
時刻同期制御部06123は、IEEE1588規格のPTP(Precision Time Protocol)に準拠し、タイムサーバ290と時刻同期に係わる処理を行う機能を有している。なお、PTPに限定するのではなく他の同様のプロトコルを利用して時刻同期してもよい。
The time synchronization control unit 06123 conforms to PTP (Precision Time Protocol) of the IEEE 1588 standard, and has a function of performing processing relating to time synchronization with the time server 290. Note that time synchronization may be performed using another similar protocol instead of PTP.
画像・音声伝送処理部06124は、画像データ又は音声データを、データ送受信部06111を介して他のカメラアダプタ120またはフロントエンドサーバ230へ転送するためのメッセージを作成する機能を有している。メッセージには画像データ又は音声データ、及び各データのメタ情報が含まる。本実施形態のメタ情報には画像の撮影または音声のサンプリングをした時のタイムコードまたはシーケンス番号、データ種別、及びカメラ112やマイク111の個体を示す識別子などが含まれる。なお送信する画像データまたは音声データはデータ圧縮・伸張部06121でデータ圧縮されていてもよい。また、画像・音声伝送処理部06124は、他のカメラアダプタ120からデータ送受信部06111を介してメッセージを受取る。そして、メッセージに含まれるデータ種別に応じて、伝送プロトコル規定のパケットサイズにフラグメントされたデータ情報を画像データまたは音声データに復元する。なお、データを復元した際にデータが圧縮されている場合は、データ圧縮・伸張部06121が伸張処理を行う。
The image / sound transmission processing unit 06124 has a function of creating a message for transferring image data or sound data to another camera adapter 120 or the front end server 230 via the data transmission / reception unit 06111. The message includes image data or audio data, and meta information of each data. The meta information of the present embodiment includes a time code or sequence number when shooting an image or sampling an audio, a data type, an identifier indicating an individual of the camera 112 or the microphone 111, and the like. The image data or audio data to be transmitted may be compressed by the data compression / decompression unit 06121. Also, the image / voice transmission processing unit 06124 receives a message from another camera adapter 120 via the data transmission / reception unit 06111. Then, in accordance with the data type included in the message, the data information fragmented in the packet size specified in the transmission protocol is restored into image data or audio data. If the data is compressed when the data is restored, the data compression / decompression unit 06121 performs decompression processing.
データルーティング情報保持部06125は、データ送受信部06111で送受信されるデータの送信先を決定するためのアドレス情報を保持する機能を有する。ルーティング方法については後述する。
The data routing information holding unit 06125 has a function of holding address information for determining a transmission destination of data transmitted and received by the data transmission / reception unit 06111. The routing method will be described later.
画像処理部06130は、カメラ制御部06141の制御によりカメラ112が撮影した画像データ及び他のカメラアダプタ120から受取った画像データに対して処理を行う機能を有し、以下の機能部から構成されている。
The image processing unit 06130 has a function of performing processing on image data captured by the camera 112 under control of the camera control unit 06141 and image data received from another camera adapter 120, and includes the following functional units: There is.
前景背景分離部06131は、カメラ112が撮影した画像データを前景画像と背景画像に分離する機能を有している。すなわち、複数のカメラアダプタ120のそれぞれは、複数のカメラ112のうち対応するカメラ112による撮影画像から所定領域を抽出する画像処理装置として動作する。所定領域は例えば撮影画像に対するオブジェクト検出の結果得られる前景画像であり、この抽出により前景背景分離部06131は、撮影画像を前景画像と背景画像に分離する。なお、オブジェクトとは、例えば人物である。ただし、オブジェクトが特定人物(選手、監督、及び/又は審判など)であっても良いし、ボールやゴールなど、画像パターンが予め定められている物体であっても良い。また、オブジェクトとして、動体が検出されるようにしても良い。人物等の重要なオブジェクトを含む前景画像とそのようなオブジェクトを含まない背景領域を分離して処理することで、画像処理システム100において生成される仮想視点画像の上記のオブジェクトに該当する部分の画像の品質を向上できる。また、前景と背景の分離を複数のカメラアダプタ120それぞれが行うことで、複数のカメラ112を備えた画像処理システム100における負荷を分散させることができる。なお、所定領域は前景画像に限らず、例えば背景画像であってもよい。
The foreground / background separation unit 06131 has a function of separating image data captured by the camera 112 into a foreground image and a background image. That is, each of the plurality of camera adapters 120 operates as an image processing apparatus that extracts a predetermined area from an image captured by the corresponding camera 112 among the plurality of cameras 112. The predetermined area is, for example, a foreground image obtained as a result of object detection on the photographed image, and the foreground / background separation unit 06131 separates the photographed image into a foreground image and a background image by this extraction. The object is, for example, a person. However, the object may be a specific person (such as a player, a director, and / or an umpire), or an object such as a ball or a goal, for which an image pattern is predetermined. Also, a moving body may be detected as an object. An image of a portion corresponding to the above object of the virtual viewpoint image generated in the image processing system 100 by separating and processing the foreground image including important objects such as a person and the background region not including such objects Can improve the quality of In addition, by separating the foreground and the background from each other by the plurality of camera adapters 120, it is possible to disperse the load in the image processing system 100 provided with the plurality of cameras 112. The predetermined area is not limited to the foreground image, and may be, for example, a background image.
三次元モデル情報生成部06132は、前景背景分離部06131で分離された前景画像及び他のカメラアダプタ120から受取った前景画像を利用し、例えばステレオカメラの原理を用いて三次元モデルに係わる画像情報を生成する機能を有している。
The three-dimensional model information generation unit 06132 uses the foreground image separated by the foreground / background separation unit 06131 and the foreground image received from the other camera adapter 120, and uses, for example, the principle of a stereo camera to generate image information related to a three-dimensional model. Have the ability to generate
キャリブレーション制御部06133は、キャリブレーションに必要な画像データを、カメラ制御部06141を介してカメラ112から取得し、キャリブレーションに係わる演算処理を行うフロントエンドサーバ230に送信する機能を有している。本実施形態におけるキャリブレーションは、複数のカメラ112それぞれに関するパラメータを対応付けて整合をとる処理である。キャリブレーションとして例えば、設置された各カメラ112が保持する世界座標系が一致するように調整する処理や、カメラ112ごとの色のばらつきを抑えるための色補正処理などが行われる。なお、キャリブレーションの具体的な処理内容はこれに限定されない。また本実施形態ではキャリブレーションに係わる演算処理をフロントエンドサーバ230で行っているが、演算処理を行うノードはフロントエンドサーバ230に限定されない。例えば、制御ステーション310やカメラアダプタ120(他のカメラアダプタ120を含む)など他のノードで演算処理が行われてもよい。またキャリブレーション制御部06133は、カメラ制御部06141を介してカメラ112から取得した画像データに対して、予め設定されたパラメータに応じて撮影中のキャリブレーション(動的キャリブレーション)を行う機能を有している。
The calibration control unit 06133 has a function of acquiring image data necessary for calibration from the camera 112 via the camera control unit 06141 and transmitting the image data to the front end server 230 that performs calculation processing related to calibration. . The calibration in the present embodiment is processing for matching parameters associated with each of the plurality of cameras 112 for matching. As calibration, for example, processing is performed to adjust so that the world coordinate system held by each of the installed cameras 112 matches, and color correction processing for suppressing color variation among the cameras 112 is performed. The specific processing content of the calibration is not limited to this. Further, in the present embodiment, the front end server 230 performs calculation processing related to calibration, but the node performing the calculation processing is not limited to the front end server 230. For example, the computing process may be performed at another node such as the control station 310 or the camera adapter 120 (including the other camera adapter 120). Further, the calibration control unit 06133 has a function of performing calibration (dynamic calibration) during shooting according to a preset parameter on image data acquired from the camera 112 via the camera control unit 06141. doing.
外部機器制御部06140は、カメラアダプタ120に接続する機器を制御する機能を有し、下記機能ブロックから構成されている。
The external device control unit 06140 has a function of controlling devices connected to the camera adapter 120, and is configured of the following functional blocks.
カメラ制御部06141は、カメラ112と接続し、カメラ112の制御、撮影画像取得、同期信号提供、及び時刻設定などを行う機能を有している。カメラ112の制御には、例えば撮影パラメータ(画素数、色深度、フレームレート、及びホワイトバランスの設定など)の設定及び参照、カメラ112の状態(撮影中、停止中、同期中、及びエラーなど)の取得、撮影の開始及び停止や、ピント調整などがある。なお、本実施形態ではカメラ112を介してピント調整を行っているが、取り外し可能なレンズがカメラ112に装着されている場合は、カメラアダプタ120がレンズに接続し、直接レンズの調整を行ってもよい。また、カメラアダプタ120がカメラ112を介してズーム等のレンズ調整を行ってもよい。同期信号提供は、時刻同期制御部06123がタイムサーバ290と同期した時刻を利用し、撮影タイミング(制御クロック)をカメラ112に提供することで行われる。時刻設定は、時刻同期制御部06123がタイムサーバ290と同期した時刻を例えばSMPTE12Mのフォーマットに準拠したタイムコードで提供することで行われる。これにより、カメラ112から受取る画像データに提供したタイムコードが付与されることになる。なおタイムコードのフォーマットはSMPTE12Mに限定されるわけではなく、他のフォーマットであってもよい。また、カメラ制御部06141は、カメラ112に対するタイムコードの提供はせず、カメラ112から受取った画像データに自身がタイムコードを付与してもよい。
The camera control unit 06141 is connected to the camera 112 and has a function of controlling the camera 112, acquiring a captured image, providing a synchronization signal, setting a time, and the like. For control of the camera 112, for example, setting and reference of shooting parameters (number of pixels, color depth, frame rate, setting of white balance, etc.), status of the camera 112 (during shooting, stopping, synchronizing, error etc.) Acquisition, start and stop of shooting, and focus adjustment. In the present embodiment, focus adjustment is performed via the camera 112. However, when a removable lens is attached to the camera 112, the camera adapter 120 is connected to the lens to directly adjust the lens. It is also good. In addition, the camera adapter 120 may perform lens adjustment such as zooming via the camera 112. The synchronization signal is provided by the time synchronization control unit 06123 using the time synchronized with the time server 290 and providing a photographing timing (control clock) to the camera 112. The time setting is performed by providing the time synchronized with the time server 290 by the time synchronization control unit 06123, for example, with a time code conforming to the format of SMPTE 12M. As a result, the time code provided to the image data received from the camera 112 is given. The format of the time code is not limited to SMPTE 12M, and may be another format. In addition, the camera control unit 06141 may not provide a time code to the camera 112, and may assign a time code to image data received from the camera 112.
マイク制御部06142は、マイク111と接続し、マイク111の制御、収音の開始及び停止や収音された音声データの取得などを行う機能を有している。マイク111の制御は例えば、ゲイン調整や、状態取得などである。またカメラ制御部06141と同様にマイク111に対して音声サンプリングするタイミングとタイムコードを提供する。音声サンプリングのタイミングとなるクロック情報としては、タイムサーバ290からの時刻情報が例えば48KHzのワードクロックに変換されてマイク111に供給される。
The microphone control unit 06142 is connected to the microphone 111, and has a function of controlling the microphone 111, starting and stopping sound collection, and acquiring collected sound data. The control of the microphone 111 is, for example, gain adjustment, state acquisition, or the like. Further, as in the camera control unit 06141, the timing of audio sampling and time code are provided to the microphone 111. As clock information for audio sampling timing, time information from the time server 290 is converted to, for example, a 48 KHz word clock and supplied to the microphone 111.
雲台制御部06143は雲台113と接続し、雲台113の制御を行う機能を有している。雲台113の制御は例えば、パン・チルト制御や、状態取得などがある。
A pan head control unit 06143 is connected to the pan head 113 and has a function of controlling the pan head 113. The control of the pan head 113 includes, for example, pan / tilt control, state acquisition, and the like.
センサ制御部06144は、外部センサ114と接続し、外部センサ114がセンシングしたセンサ情報を取得する機能を有する。例えば、外部センサ114としてジャイロセンサが利用される場合は、振動を表す情報を取得することができる。そして、センサ制御部06144が取得した振動情報を用いて、画像処理部06130は、前景背景分離部06131での処理に先立って、カメラ112の振動による影響を低減させた画像を生成することができる。振動情報は例えば、8Kカメラの画像データを、振動情報を考慮して、元の8Kサイズよりも小さいサイズで切り出して、隣接設置されたカメラ112の画像との位置合わせを行う場合に利用される。これにより、建造物の躯体振動が各カメラに異なる周波数で伝搬しても、カメラアダプタ120に配備された本機能で位置合わせを行う。その結果、振動の影響が画像処理により低減された(電子的に防振された)画像データを生成でき、画像コンピューティングサーバ200におけるカメラ112の台数分の位置合わせの処理負荷を軽減する効果が得られる。なお、センサシステム110のセンサは外部センサ114に限定するわけではなく、カメラアダプタ120に内蔵されたセンサであっても同様の効果が得られる。
The sensor control unit 06144 is connected to the external sensor 114, and has a function of acquiring sensor information sensed by the external sensor 114. For example, when a gyro sensor is used as the external sensor 114, information representing vibration can be acquired. Then, using the vibration information acquired by the sensor control unit 06144, the image processing unit 06130 can generate an image in which the influence of the vibration of the camera 112 is reduced prior to the processing by the foreground / background separation unit 06131. . The vibration information is used, for example, in the case where image data of an 8K camera is cut out in a size smaller than the original 8K size in consideration of the vibration information, and alignment with the image of the camera 112 installed adjacently is performed. . Thereby, even if the casing vibration of the building propagates to each camera at different frequencies, alignment is performed using this function provided in the camera adapter 120. As a result, it is possible to generate image data in which the influence of vibration is reduced (electronically damped) by image processing, and the processing load on alignment for the number of cameras 112 in the image computing server 200 is reduced. can get. In addition, the sensor of the sensor system 110 is not necessarily limited to the external sensor 114, and even if it is a sensor incorporated in the camera adapter 120, the same effect is acquired.
図3は、カメラアダプタ120内部の画像処理部06130の機能ブロック図である。キャリブレーション制御部06133は、入力された画像に対して、カメラ毎の色のばらつきを抑えるための色補正処理や、カメラの振動に起因する画像のブレを低減させて画像を安定させるためのブレ補正処理(電子防振処理)などを行う。
FIG. 3 is a functional block diagram of the image processing unit 06130 in the camera adapter 120. The calibration control unit 06133 performs, for the input image, color correction processing for suppressing variation in color for each camera, and blurring for reducing image blurring due to camera vibration to stabilize the image. Perform correction processing (electronic anti-vibration processing) and the like.
前景背景分離部06131の機能ブロックについて説明する。前景分離部05001は、カメラ112の画像に関して位置合わせが行われた画像データに対して、背景画像05002との比較により前景画像の分離処理を行う。
The functional blocks of the foreground / background separation unit 06131 will be described. The foreground separation unit 05001 performs separation processing of the foreground image on the image data, which has been aligned with respect to the image of the camera 112, by comparison with the background image 05002.
背景更新部05003は、背景画像05002とカメラ112の位置合わせが行われた画像を用いて新しい背景画像を生成し、背景画像05002を新しい背景画像に更新する。
The background updating unit 05003 generates a new background image using the image in which the background image 05002 and the camera 112 are aligned, and updates the background image 05002 to a new background image.
背景切出部05004は、背景画像05002の一部を切り出す制御を行う。
The background cutting out unit 05004 controls to cut out a part of the background image 05002.
ここで、三次元モデル情報生成部06132の機能について説明する。
三次元モデル処理部05005は、前景分離部05001で分離された前景画像と、伝送部06120を介して受信した他のカメラ112の前景画像を用いて、例えばステレオカメラの原理等から三次元モデルに関わる画像情報を逐次生成する。
他カメラ前景受信部05006は、他のカメラアダプタ120で前景背景分離された前景画像を受信する。
Here, the function of the three-dimensional model information generation unit 06132 will be described.
The three-dimensional model processing unit 05005 uses the foreground image separated by the foreground separation unit 05001 and the foreground image of the other camera 112 received via the transmission unit 06120, for example, based on the principle of a stereo camera etc. It sequentially generates related image information.
The other camera foreground reception unit 05006 receives a foreground image separated in foreground / background by the other camera adapter 120.
カメラパラメータ受信部05007は、カメラ固有の内部パラメータ(焦点距離、画像中心、及びレンズ歪みパラメータ等)と、カメラの位置姿勢を表す外部パラメータ(回転行列及び位置ベクトル等)を受信する。これらのパラメータは、後述のキャリブレーション処理で得られる情報であり、制御ステーション310から対象となるカメラアダプタ120に対して送信及び設定される。つぎに、三次元モデル処理部05005は、カメラパラメータ受信部05007と他カメラ前景受信部05006によって三次元モデル情報を生成する。
The camera parameter reception unit 05007 receives internal parameters specific to the camera (focal length, image center, lens distortion parameter, etc.), and external parameters (rotation matrix, position vector, etc.) representing the position and orientation of the camera. These parameters are information obtained by the calibration processing described later, and are transmitted and set from the control station 310 to the target camera adapter 120. Next, the three-dimensional model processing unit 05005 generates three-dimensional model information by the camera parameter reception unit 05007 and the other camera foreground reception unit 05006.
図4はフロントエンドサーバ230の機能ブロックを示した図である。制御部02110はCPUやDRAM、プログラムデータや各種データを記憶したHDDやNANDメモリなどの記憶媒体、Ethernet等のハードウェアで構成される。そして、フロントエンドサーバ230の各機能ブロック及びフロントエンドサーバ230のシステム全体の制御を行う。また、モード制御を行って、キャリブレーション動作や撮影前の準備動作、及び撮影中動作などの動作モードを切り替える。また、Ethernetを通じて制御ステーション310からの制御指示を受信し、各モードの切り替えやデータの入出力などを行う。また、同じくネットワークを通じて制御ステーション310からスタジアムCADデータ(スタジアム形状データ)を取得し、スタジアムCADデータをCADデータ記憶部02135と撮影データファイル生成部02180に送信する。なお、本実施形態におけるスタジアムCADデータ(スタジアム形状データ)はスタジアムの形状を示す三次元データであり、メッシュモデルやその他の三次元形状を表すデータであればよく、CAD形式に限定されない。
FIG. 4 is a diagram showing functional blocks of the front end server 230. As shown in FIG. The control unit 02110 is configured by a CPU, a DRAM, a storage medium such as an HDD or a NAND memory storing program data and various data, and hardware such as Ethernet. Then, each functional block of the front end server 230 and the entire system of the front end server 230 are controlled. In addition, mode control is performed to switch operation modes such as a calibration operation, a preparation operation before shooting, and an operation during shooting. Also, the control instruction from the control station 310 is received through Ethernet, and switching of each mode, data input / output, etc. are performed. Similarly, stadium CAD data (stadium shape data) is acquired from the control station 310 through the network, and stadium CAD data is transmitted to the CAD data storage unit 02135 and the imaging data file generation unit 02180. The stadium CAD data (stadium shape data) in the present embodiment is three-dimensional data indicating the shape of the stadium, and may be a mesh model or data representing another three-dimensional shape, and is not limited to the CAD format.
データ入力制御部02120は、Ethernet等の通信路とスイッチングハブ180を介して、カメラアダプタ120とネットワーク接続されている。そしてデータ入力制御部02120は、ネットワークを通してカメラアダプタ120から前景画像、背景画像、被写体の三次元モデル、音声データ、及びカメラキャリブレーション撮影画像データを取得する。ここで、前景画像は仮想視点画像の生成のための撮影画像の前景領域に基づく画像データであり、背景画像は当該撮影画像の背景領域に基づく画像データである。カメラアダプタ120は、カメラ112による撮影画像に対する所定のオブジェクトの検出処理の結果に応じて、前景領域及び背景領域を特定し、前景画像及び背景画像を生成する。所定のオブジェクトとは、例えば人物である。なお、所定のオブジェクトは特定の人物(選手、監督、及び/又は審判など)であっても良い。また、所定のオブジェクトには、ボールやゴールなど、画像パターンが予め定められている物体が含まれていてもよい。また、所定のオブジェクトとして、動体が検出されるようにしても良い。
The data input control unit 02120 is network-connected to the camera adapter 120 via a communication path such as Ethernet and the switching hub 180. Then, the data input control unit 02120 acquires the foreground image, the background image, the three-dimensional model of the subject, the audio data, and the camera calibration captured image data from the camera adapter 120 through the network. Here, the foreground image is image data based on the foreground area of the captured image for generation of a virtual viewpoint image, and the background image is image data based on the background area of the captured image. The camera adapter 120 specifies a foreground area and a background area according to the result of detection processing of a predetermined object on a captured image by the camera 112, and generates a foreground image and a background image. The predetermined object is, for example, a person. The predetermined object may be a specific person (such as a player, a manager, and / or an umpire). Further, the predetermined object may include an object such as a ball or a goal, for which an image pattern is predetermined. In addition, a moving object may be detected as a predetermined object.
また、データ入力制御部02120は、取得した前景画像及び背景画像をデータ同期部02130に送信し、カメラキャリブレーション撮影画像データをキャリブレーション部02140に送信する。また、データ入力制御部02120は受信したデータの圧縮伸張やデータルーティング処理等を行う機能を有する。また、制御部02110とデータ入力制御部02120は共にEthernet等のネットワークによる通信機能を有しているが、通信機能はこれらで共有されていてもよい。その場合は、制御ステーション310からの制御コマンドによる指示やスタジアムCADデータをデータ入力制御部02120で受けて、制御部02110に対して送る方法を用いてもよい。
Further, the data input control unit 02120 transmits the acquired foreground image and background image to the data synchronization unit 02130, and transmits camera calibration captured image data to the calibration unit 02140. Further, the data input control unit 02120 has a function of performing compression / decompression of received data, data routing processing, and the like. Moreover, although both the control unit 02110 and the data input control unit 02120 have a communication function by a network such as Ethernet, the communication function may be shared by these. In that case, a method may be used in which the data input control unit 02120 receives an instruction by a control command from the control station 310 or stadium CAD data and sends it to the control unit 02110.
データ同期部02130は、カメラアダプタ120から取得したデータをDRAM上に一次的に記憶し、前景画像、背景画像、音声データ及び三次元モデルデータが揃うまでバッファする。なお、前景画像、背景画像、音声データ及び三次元モデルデータをまとめて、以降では撮影データと称する。撮影データにはルーティング情報やタイムコード情報(時間情報)、カメラ識別子等のメタ情報が付与されており、データ同期部02130はこのメタ情報を元にデータの属性を確認する。これによりデータ同期部02130は、同一時刻のデータであることなどを判断してデータがそろったことを確認する。これは、ネットワークによって各カメラアダプタ120から転送されたデータについて、ネットワークパケットの受信順序は保証されず、ファイル生成に必要なデータが揃うまでバッファする必要があるためである。データがそろったら、データ同期部02130は、前景画像及び背景画像を画像処理部02150に、三次元モデルデータを三次元モデル結合部02160に、音声データを撮影データファイル生成部02180にそれぞれ送信する。なお、ここで揃えるデータは、後述される撮影データファイル生成部02180に於いてファイル生成を行うために必要なデータである。また、背景画像は前景画像とは異なるフレームレートで撮影されてもよい。例えば、背景画像のフレームレートが1fpsである場合、1秒毎に1つの背景画像が取得されるため、背景画像が取得されない時間については、背景画像が無い状態で全てのデータがそろったとしてよい。また、データ同期部02130は、所定時間を経過しデータが揃っていない場合には、データが揃わないことを示す情報をデータベース250に通知する。そして、後段のデータベース250が、データを格納する際に、カメラ番号やフレーム番号とともにデータの欠落を示す情報を格納する。これにより、データベース250に集められたカメラ112の撮影画像から所望の画像が形成できるか否かを、仮想カメラ操作UI330からバックエンドサーバ270への視点指示に応じてレンダリング前に自動通知することが可能となる。その結果、仮想カメラ操作UI330のオペレータの目視負荷を軽減できる。
The data synchronization unit 02130 temporarily stores the data acquired from the camera adapter 120 on the DRAM, and buffers the foreground image, the background image, the audio data, and the three-dimensional model data until they are aligned. The foreground image, the background image, the sound data, and the three-dimensional model data are collectively referred to as shooting data hereinafter. The shooting data is attached with meta information such as routing information, time code information (time information), and a camera identifier, and the data synchronization unit 02130 confirms the attribute of the data based on the meta information. Thus, the data synchronization unit 02130 determines that the data is identical by determining that the data is the same at the same time. This is because, for the data transferred from each camera adapter 120 by the network, the reception order of the network packets is not guaranteed, and it is necessary to buffer until the data necessary for file generation is complete. When the data are prepared, the data synchronization unit 02130 transmits the foreground image and the background image to the image processing unit 02150, the three-dimensional model data to the three-dimensional model combination unit 02160, and the audio data to the photographed data file generation unit 02180. Note that the data to be prepared here is data necessary for file generation in a photographed data file generation unit 02180 described later. Also, the background image may be taken at a different frame rate than the foreground image. For example, when the frame rate of the background image is 1 fps, one background image is acquired every one second, and therefore, it may be assumed that all the data are prepared without the background image for the time when the background image is not acquired. . Further, the data synchronization unit 02130 notifies the database 250 of information indicating that the data is not collected, when the predetermined time has elapsed and the data is not collected. Then, when storing the data, the database 250 at the subsequent stage stores information indicating a missing data together with the camera number and the frame number. Thus, whether or not a desired image can be formed from the photographed image of the camera 112 collected in the database 250 can be automatically notified before rendering according to a viewpoint instruction from the virtual camera operation UI 330 to the back end server 270. It becomes possible. As a result, the visual load on the operator of the virtual camera operation UI 330 can be reduced.
CADデータ記憶部02135は制御部02110から受け取ったスタジアム形状を示す三次元データをDRAMまたはHDDやNANDメモリ等の記憶媒体に保存する。そして、画像結合部02170に対して、スタジアム形状データの要求を受け取った際に保存されたスタジアム形状データを送信する。
The CAD data storage unit 02135 stores the three-dimensional data indicating the stadium shape received from the control unit 02110 in a storage medium such as a DRAM, an HDD, or a NAND memory. Then, the stadium shape data stored when the stadium shape data request is received is transmitted to the image combining unit 02170.
キャリブレーション部02140はカメラのキャリブレーション動作を行い、キャリブレーションによって得られたカメラパラメータを後述する非撮影データファイル生成部02185に送る。また同時に、自身の記憶領域にもカメラパラメータを保持し、後述する三次元モデル結合部02160にカメラパラメータ情報を提供する。
The calibration unit 02140 performs a calibration operation of the camera, and sends camera parameters obtained by the calibration to a non-photographing data file generation unit 02185 described later. At the same time, camera parameters are held in its own storage area, and camera parameter information is provided to a three-dimensional model combining unit 02160 described later.
画像処理部02150は前景画像や背景画像に対して、カメラ間の色や輝度値の合わせこみ、RAW画像データが入力される場合には現像処理、及びカメラのレンズ歪みの補正等の処理を行う。そして、画像処理を行った前景画像は撮影データファイル生成部02180に、背景画像は02170にそれぞれ送信する。
The image processing unit 02150 performs processing such as matching of colors and brightness values between cameras with a foreground image or background image, development processing, correction of lens distortion of the camera, and the like when RAW image data is input. . Then, the foreground image subjected to the image processing is transmitted to the photographed data file generation unit 02180, and the background image is transmitted to 02170.
三次元モデル結合部02160は、カメラアダプタ120から取得した同一時刻の三次元モデルデータをキャリブレーション部02140が生成したカメラパラメータを用いて結合する。そして、VisualHullと呼ばれる方法を用いて、スタジアム全体における前景画像の三次元モデルデータを生成する。生成した三次元モデルは撮影データファイル生成部02180に送信される。
The three-dimensional model combining unit 02160 combines the three-dimensional model data of the same time acquired from the camera adapter 120 using the camera parameters generated by the calibration unit 02140. Then, using a method called Visual Hull, three-dimensional model data of the foreground image in the entire stadium is generated. The generated three-dimensional model is transmitted to the imaging data file generation unit 02180.
画像結合部02170は画像処理部02150から背景画像を取得し、CADデータ記憶部02135からスタジアムの三次元形状データ(スタジアム形状データ)を取得し、取得したスタジアムの三次元形状データの座標に対する背景画像の位置を特定する。背景画像の各々についてスタジアムの三次元形状データの座標に対する位置が特定できると、背景画像を結合して1つの背景画像とする。なお、本背景画像の三次元形状データの作成については、バックエンドサーバ270が実施してもよい。
The image combining unit 02170 obtains a background image from the image processing unit 02150, obtains three-dimensional shape data (stadium shape data) of a stadium from the CAD data storage unit 02135, and obtains a background image with respect to coordinates of the obtained three-dimensional shape data of the stadium. Identify the location of When the position with respect to the coordinates of the three-dimensional shape data of the stadium can be specified for each of the background images, the background images are combined into one background image. The back-end server 270 may perform the creation of three-dimensional shape data of the present background image.
撮影データファイル生成部02180はデータ同期部02130から音声データを、画像処理部02150から前景画像を、三次元モデル結合部02160から三次元モデルデータを、画像結合部02170から三次元形状に結合された背景画像を取得する。そして、取得したこれらのデータをDBアクセス制御部02190に対して出力する。ここで、撮影データファイル生成部02180は、これらのデータをそれぞれの時間情報に基づいて対応付けて出力する。ただし、これらのデータの一部を対応付けて出力してもよい。例えば、撮影データファイル生成部02180は、前景画像と背景画像とを、前景画像の時間情報及び背景画像の時間情報に基づいて対応付けて出力する。また例えば、撮影データファイル生成部02180は、前景画像、背景画像、及び三次元モデルデータを、前景画像の時間情報、背景画像の時間情報、及び三次元モデルデータの時間情報に基づいて対応付けて出力する。なお、撮影データファイル生成部02180は、対応付けられたデータをデータの種類別にファイル化して出力してもよいし、複数種類のデータを時間情報が示す時刻ごとにまとめてファイル化して出力してもよい。このように対応付けられた撮影データが、対応付けを行う情報処理装置としてのフロントエンドサーバ230からデータベース250に出力されることで、バックエンドサーバ270は時間情報が対応する前景画像と背景画像とから仮想視点画像を生成できる。
The photographed data file generation unit 02180 combines audio data from the data synchronization unit 02130, a foreground image from the image processing unit 02150, three-dimensional model data from the three-dimensional model combining unit 02160, and a three-dimensional shape from the image combining unit 02170. Get background image. Then, the acquired data is output to the DB access control unit 02190. Here, the shooting data file generation unit 02180 associates these data based on their respective time information and outputs them. However, part of these data may be associated and output. For example, the photographed data file generation unit 02180 associates and outputs the foreground image and the background image based on the time information of the foreground image and the time information of the background image. Also, for example, the shooting data file generation unit 02180 associates the foreground image, the background image, and the three-dimensional model data with the time information of the foreground image, the time information of the background image, and the time information of the three-dimensional model data. Output. Note that the shooting data file generation unit 02180 may file and output the correlated data according to the type of data, or may group and output a plurality of types of data at every time indicated by the time information. It is also good. By the imaging data associated in this way being output from the front end server 230 as an information processing apparatus that performs the association to the database 250, the back end server 270 can compare the foreground image and the background image to which the time information corresponds. Virtual viewpoint images can be generated from
なお、データ入力制御部02120により取得される前景画像と背景画像のフレームレートが異なる場合、撮影データファイル生成部02180は、常に同時刻の前景画像と背景画像を対応付けて出力することは難しい。そこで、撮影データファイル生成部02180は、前景画像の時間情報と所定の規則に基づく関係にある時間情報を有する背景画像とを対応付けて出力する。ここで、前景画像の時間情報と所定の規則に基づく関係にある時間情報を有する背景画像は、例えば、撮影データファイル生成部02180が取得した背景画像のうち前景画像の時間情報に最も近い時間情報を有する背景画像である。このように、所定の規則に基づいて前景画像と背景画像を対応付けることにより、前景画像と背景画像のフレームレートが異なる場合でも、近い時刻に撮影された前景画像と背景画像とから仮想視点画像を生成することができる。なお、前景画像と背景画像の対応付けの方法は上記のものに限らない。例えば、前景画像の時間情報と所定の規則に基づく関係にある時間情報を有する背景画像は、取得された背景画像であって前景画像より前の時刻に対応する時間情報を有する背景画像のうち、前景画像の時間情報に最も近い時間情報を有する背景画像であってよい。この方法によれば、前景画像よりフレームレートの低い背景画像の取得を待つことなく、対応付けられた前景画像と背景画像とを低遅延で出力することができる。また、前景画像の時間情報と所定の規則に基づく関係にある時間情報を有する背景画像は、取得された背景画像であって前景画像より後の時刻に対応する時間情報を有する背景画像のうち、前景画像の時間情報に最も近い時間情報を有する背景画像でもよい。
When the frame rates of the foreground image and the background image acquired by the data input control unit 02120 are different, it is difficult for the imaging data file generation unit 02180 to always associate the foreground image and the background image at the same time and output. Therefore, the photographed data file generation unit 02180 associates the time information of the foreground image with the background image having the time information in a relationship based on a predetermined rule, and outputs it. Here, the background image having time information in a relationship based on the time information of the foreground image and the predetermined rule is, for example, time information closest to the time information of the foreground image among the background images acquired by the imaging data file generation unit 02180. Background image. As described above, by associating the foreground image with the background image based on a predetermined rule, even when the frame rates of the foreground image and the background image are different, a virtual viewpoint image is generated from the foreground image and the background image captured at a near time. Can be generated. The method of associating the foreground image with the background image is not limited to the above. For example, a background image having temporal information having a relationship based on predetermined time and temporal information of a foreground image is an acquired background image, and among background images having temporal information corresponding to a time before the foreground image, It may be a background image having temporal information closest to temporal information of the foreground image. According to this method, it is possible to output the associated foreground image and background image with low delay, without waiting for acquisition of a background image having a frame rate lower than that of the foreground image. In addition, a background image having time information in a relationship based on predetermined time rules with time information on a foreground image is an acquired background image, and among background images having time information corresponding to a time later than the foreground image, It may be a background image having temporal information closest to temporal information of the foreground image.
非撮影データファイル生成部02185は、キャリブレーション部02140からカメラパラメータ、制御部02110からスタジアムの三次元形状データを取得し、ファイル形式に応じて成形した後にDBアクセス制御部02190に送信する。なお、非撮影データファイル生成部02185に入力されるデータであるカメラパラメータまたはスタジアム形状データは、個別にファイル形式に応じて成形される。すなわち、非撮影データファイル生成部02185は、どちらか一方のデータを受信した場合、それらを個別にDBアクセス制御部02190に送信する。
The non-shooting data file generation unit 02185 acquires camera parameters from the calibration unit 02140 and three-dimensional shape data of the stadium from the control unit 02110, and shapes the data according to the file format, and then transmits the data to the DB access control unit 02190. Note that camera parameters or stadium shape data, which are data input to the non-shooting data file generation unit 02185, are individually formed according to the file format. That is, when one of the data is received, the non-shooting data file generation unit 02185 individually transmits them to the DB access control unit 02190.
DBアクセス制御部02190は、InfiniBandなどにより高速な通信が可能となるようにデータベース250と接続される。そして、撮影データファイル生成部02180及び非撮影データファイル生成部02185から受信したファイルをデータベース250に対して送信する。本実施形態では、撮影データファイル生成部02180が時間情報に基づいて対応付けた撮影データは、フロントエンドサーバ230とネットワークを介して接続される記憶装置であるデータベース250へDBアクセス制御部02190を介して出力される。ただし、対応付けられた撮影データの出力先はこれに限らない。例えば、フロントエンドサーバ230は、時間情報に基づいて対応付けられた撮影データを、フロントエンドサーバ230とネットワークを介して接続され仮想視点画像を生成する画像生成装置であるバックエンドサーバ270に出力してもよい。また、データベース250とバックエンドサーバ270の両方に出力してもよい。
The DB access control unit 02190 is connected to the database 250 so that high-speed communication can be performed by InfiniBand or the like. Then, the file received from the photographed data file generation unit 02180 and the non-photographed data file generation unit 02185 is transmitted to the database 250. In this embodiment, the shooting data associated with the shooting data file generation unit 02180 based on the time information is transferred to the database 250, which is a storage device connected to the front end server 230 via the network, via the DB access control unit 02190. Output. However, the output destination of the associated imaging data is not limited to this. For example, the front end server 230 outputs shooting data associated based on time information to the back end server 270, which is an image generation device that is connected to the front end server 230 via a network and generates a virtual viewpoint image. May be Also, it may be output to both the database 250 and the back end server 270.
また、本実施形態ではフロントエンドサーバ230が前景画像と背景画像の対応付けを行うものとするが、これに限らず、データベース250が対応付けを行ってもよい。例えば、データベース250はフロントエンドサーバ230から時間情報を有する前景画像及び背景画像を取得する。そしてデータベース250は、前景画像と背景画像とを前景画像の時間情報及び背景画像の時間情報に基づいて対応付けて、データベース250が備える記憶部に出力してもよい。
Further, in the present embodiment, the front end server 230 associates the foreground image with the background image. However, the present invention is not limited to this, and the database 250 may perform the association. For example, database 250 may obtain foreground and background images with temporal information from front end server 230. Then, the database 250 may associate the foreground image with the background image based on the time information of the foreground image and the time information of the background image, and may output the same to the storage unit included in the database 250.
フロントエンドサーバ230のデータ入力制御部02120の機能ブロック図について図5を利用して説明する。
A functional block diagram of the data input control unit 02120 of the front end server 230 will be described with reference to FIG.
データ入力制御部02120は、サーバネットワークアダプタ06210、サーバ伝送部06220、及びサーバ画像処理部06230を有する。
The data input control unit 02120 includes a server network adapter 06210, a server transmission unit 06220, and a server image processing unit 06230.
サーバネットワークアダプタ06210は、サーバデータ受信部06211を有し、カメラアダプタ120から送信されるデータを受信する機能を有する。
The server network adapter 06210 includes a server data receiving unit 06211 and has a function of receiving data transmitted from the camera adapter 120.
サーバ伝送部06220は、サーバデータ受信部06211から受取ったデータに対する処理を行う機能を有しており、以下の機能部から構成されている。
The server transmission unit 06220 has a function of processing data received from the server data reception unit 06211, and is configured by the following function units.
サーバデータ伸張部06221は、圧縮されたデータを伸張する機能を有している。
The server data decompression unit 06221 has a function of decompressing compressed data.
サーバデータルーティング処理部06222は、後述するサーバデータルーティング情報保持部06224が保持するアドレス等のルーティング情報に基づきデータの転送先を決定し、サーバデータ受信部06211から受取ったデータを転送する。
The server data routing processing unit 06222 determines a transfer destination of data based on routing information such as an address held by a server data routing information holding unit 06224 described later, and transfers data received from the server data reception unit 06211.
サーバ画像伝送処理部06223は、カメラアダプタ120からサーバデータ受信部06211を介してメッセージを受取り、メッセージに含まれるデータ種別に応じて、フラグメント化されたデータを画像データまたは音声データに復元する。なお、復元後の画像データや音声データが圧縮されている場合は、サーバデータ伸張部06221で伸張処理が行われる。
The server image transmission processing unit 06223 receives a message from the camera adapter 120 via the server data reception unit 06211, and restores fragmented data into image data or audio data according to the data type included in the message. When the image data and audio data after restoration are compressed, the server data expansion unit 06221 performs expansion processing.
サーバデータルーティング情報保持部06224は、サーバデータ受信部06211が受信したデータの送信先を決定するためのアドレス情報を保持する機能を有する。なお、ルーティング方法については後述する。
The server data routing information holding unit 06224 has a function of holding address information for determining a transmission destination of data received by the server data receiving unit 06211. The routing method will be described later.
サーバ画像処理部06230は、カメラアダプタ120から受信した画像データまたは音声データに係わる処理を行う機能を有している。処理内容は、例えば、画像データのデータ実体(前景画像、背景画像、及び三次元モデル情報)に応じた、カメラ番号や画像フレームの撮影時刻、画像サイズ、画像フォーマット、及び画像の座標の属性情報などが付与されたフォーマットへの整形処理などである。
The server image processing unit 06230 has a function of performing processing relating to image data or audio data received from the camera adapter 120. The processing content is, for example, the camera number, the shooting time of the image frame, the image size, the image format, and the attribute information of the coordinates of the image according to the data entity of the image data (foreground image, background image, and 3D model information) And so on.
図6はデータベース250の機能ブロックを示した図である。制御部02410はCPUやDRAM、プログラムデータや各種データを記憶したHDDやNANDメモリなどの記憶媒体、及びEthernet等のハードウェアで構成される。そして、データベース250の各機能ブロック及びデータベース250のシステム全体の制御を行う。
データ入力部02420はInfiniBand等の高速な通信によって、フロントエンドサーバ230から撮影データや非撮影データのファイルを受信する。受信したファイルはキャッシュ02440に送られる。また、受信した撮影データのメタ情報を読み出し、メタ情報に記録されたタイムコード情報やルーティング情報、カメラ識別子等の情報を元に、取得したデータへのアクセスが可能になるようにデータベーステーブルを作成する。
FIG. 6 is a diagram showing functional blocks of the database 250. The control unit 02410 is configured of a CPU, a DRAM, a storage medium such as an HDD or NAND memory storing program data and various data, and hardware such as Ethernet. Then, control of each functional block of the database 250 and the entire system of the database 250 is performed.
The data input unit 02420 receives a file of shooting data or non-shooting data from the front end server 230 by high-speed communication such as InfiniBand. The received file is sent to the cache 02440. Also, it reads meta information of the received shooting data, and creates a database table to enable access to the acquired data based on information such as time code information, routing information, and camera identifier recorded in the meta information. Do.
データ出力部02430は、バックエンドサーバ270から要求されたデータが後述するキャッシュ02440、一次ストレージ02450、二次ストレージ02460のいずれに保存されているか判断する。そして、InfiniBand等の高速な通信によって、保存された先からデータを読み出してバックエンドサーバ270に送信する。
The data output unit 02430 determines which of the cache 02440, the primary storage 02450, and the secondary storage 02460, which will be described later, the data requested by the back end server 270 is stored. Then, by high-speed communication such as InfiniBand, data is read from the stored destination and transmitted to the back end server 270.
キャッシュ02440は高速な入出力スループットを実現可能なDRAM等の記憶装置を有しており、データ入力部02420から取得した撮影データや非撮影データを記憶装置に格納する。格納されたデータは一定量保持され、それを超えるデータが入力される場合に、古いデータから随時一次ストレージ02450へと書き出され、書き出し済みのデータは新たなデータによって上書きされる。ここでキャッシュ02440に一定量保存されるデータは少なくとも1フレーム分の撮影データである。それによって、バックエンドサーバ270に於いて画像のレンダリング処理を行う際に、データベース250内でのスループットを最小限に抑え、最新の画像フレームを低遅延かつ連続的にレンダリングすることが可能となる。ここで、前述の目的を達成するためにはキャッシュされているデータの中に背景画像が含まれている必要がある。そのため、背景画像を有さないフレームの撮影データがキャッシュされる場合、キャッシュ上の背景画像は更新されず、そのままキャッシュ上に保持される。キャッシュ可能なDRAMの容量は、予めシステムに設定されたキャッシュフレームサイズ、または制御ステーションからの指示によって決められる。なお、非撮影データについては、入出力の頻度が少なく、また、試合前などにおいては高速なスループットを要求されないため、すぐに一次ストレージへとコピーされる。キャッシュされたデータはデータ出力部02430によって読み出される。
The cache 02440 has a storage device such as a DRAM that can realize high-speed input / output throughput, and stores the imaging data and non-imaging data acquired from the data input unit 02420 in the storage device. The stored data is held in a fixed amount, and when more data is input, the old data is written to the primary storage 02450 at any time, and the written data is overwritten by the new data. Here, the data stored in the cache 02440 by a fixed amount is shooting data for at least one frame. This makes it possible to minimize the throughput in the database 250 and render the latest image frame continuously with low delay when rendering the image in the back end server 270. Here, in order to achieve the above-mentioned purpose, it is necessary to include a background image in cached data. Therefore, when shooting data of a frame having no background image is cached, the background image on the cache is not updated, and is held on the cache as it is. The capacity of the cacheable DRAM is determined by a cache frame size preset in the system or an instruction from the control station. The non-shooting data is copied to the primary storage immediately because the frequency of input and output is low and high throughput is not required before the game. The cached data is read by the data output unit 02430.
一次ストレージ02450はSSD等のストレージメディアを並列につなぐなどして構成されデータ入力部02420からの大量のデータの書き込み及びデータ出力部02430からのデータ読み出しが同時に実現できるなど高速化される。そして、一次ストレージ02450には、キャッシュ02440上に格納されたデータの古いものから順に書き出される。
The primary storage 02450 is configured by connecting storage media such as SSDs in parallel, etc., and high speed operation can be realized such that writing of a large amount of data from the data input unit 02420 and data reading from the data output unit 02430 can be realized simultaneously. Then, the primary storage 02450 is written out in order from the oldest data stored on the cache 02440.
二次ストレージ02460はHDDやテープメディア等で構成され、高速性よりも大容量が重視され、一次ストレージと比較して安価で長期間の保存に適するメディアであることが求められる。二次ストレージ02460には、撮影が完了した後、データのバックアップとして一次ストレージ02450に格納されたデータが書き出される。
The secondary storage 02 460 is composed of an HDD, a tape medium, etc., and a large capacity is more important than high speed, and it is required to be a medium that is inexpensive and suitable for long-term storage as compared to primary storage. After the imaging is completed, data stored in the primary storage 02450 is written to the secondary storage 02460 as a backup of the data.
図7は、本実施形態にかかるバックエンドサーバ270の構成を示している。バックエンドサーバ270は、データ受信部03001、背景テクスチャ貼り付け部03002、前景テクスチャ決定部03003、テクスチャ境界色合わせ部03004、仮想視点前景画像生成部03005、及びレンダリング部03006を有する。さらに、仮想視点音声生成部03007、合成部03008、画像出力部03009、前景オブジェクト決定部03010、要求リスト生成部03011、要求データ出力部03012、及びレンダリングモード管理部03014を有する。
FIG. 7 shows the configuration of the back end server 270 according to the present embodiment. The back-end server 270 includes a data receiving unit 03001, a background texture pasting unit 03002, a foreground texture determining unit 03003, a texture boundary color matching unit 03004, a virtual viewpoint foreground image generating unit 03005, and a rendering unit 03006. Furthermore, it has a virtual viewpoint voice generation unit 03007, a synthesis unit 03008, an image output unit 03009, a foreground object determination unit 03010, a request list generation unit 0301, a request data output unit 03012, and a rendering mode management unit 03014.
データ受信部03001は、データベース250およびコントローラ300から送信されるデータを受信する。またデータベース250からは、スタジアムの形状を示す三次元データ(スタジアム形状データ)、前景画像、背景画像、前景画像の三次元モデル(以降、前景三次元モデルと称する)、及び音声を受信する。
The data receiving unit 03001 receives data transmitted from the database 250 and the controller 300. Also, from the database 250, three-dimensional data (stadium shape data) indicating the shape of a stadium, a foreground image, a background image, a three-dimensional model of the foreground image (hereinafter referred to as a foreground three-dimensional model), and voice are received.
また、データ受信部03001は、仮想視点画像の生成に係る視点を指定する指定装置としてのコントローラ300から出力される仮想カメラパラメータを受信する。仮想カメラパラメータとは、仮想視点の位置や姿勢などを表すデータであり、例えば、外部パラメータの行列と内部パラメータの行列が用いられる。
Further, the data receiving unit 03001 receives virtual camera parameters output from the controller 300 as a specifying device for specifying a viewpoint related to generation of a virtual viewpoint image. The virtual camera parameter is data representing the position, orientation, and the like of the virtual viewpoint, and, for example, a matrix of external parameters and a matrix of internal parameters are used.
なお、データ受信部03001がコントローラ300から取得するデータは仮想カメラパラメータに限らない。例えばコントローラ300から出力される情報は、視点の指定方法、コントローラが動作させているアプリケーションを特定する情報、コントローラ300の識別情報、及びコントローラ300を使用するユーザの識別情報の少なくとも何れかを含んでいてよい。また、データ受信部03001は、コントローラ300から出力される上記の情報と同様の情報を、エンドユーザ端末190から取得してもよい。さらに、データ受信部03001は、データベース250やコントローラ300などの外部の装置から、複数のカメラ112に関する情報を取得してもよい。複数のカメラ112に関する情報は、例えば、複数のカメラ112の数に関する情報や複数のカメラ112の動作状態に関する情報などである。カメラ112の動作状態には、例えば、カメラ112の正常状態、故障状態、待機状態、起動状態、及び再起動状態の少なくとも何れかが含まれる。
The data acquired by the data reception unit 03001 from the controller 300 is not limited to the virtual camera parameters. For example, the information output from the controller 300 includes at least one of a method of specifying a viewpoint, information specifying an application operated by the controller, identification information of the controller 300, and identification information of a user who uses the controller 300. You may Also, the data receiving unit 03001 may obtain, from the end user terminal 190, information similar to the above information output from the controller 300. Furthermore, the data reception unit 03001 may acquire information related to the plurality of cameras 112 from an external device such as the database 250 or the controller 300. The information on the plurality of cameras 112 is, for example, information on the number of the plurality of cameras 112 or information on the operation state of the plurality of cameras 112. The operation state of the camera 112 includes, for example, at least one of a normal state, a failure state, a standby state, an activation state, and a restart state of the camera 112.
背景テクスチャ貼り付け部03002は、背景メッシュモデル管理部03013から取得する背景メッシュモデル(スタジアム形状データ)で示される三次元空間形状に対して背景画像をテクスチャとして貼り付ける。これにより背景テクスチャ貼り付け部03002は、テクスチャ付き背景メッシュモデルを生成する。メッシュモデルとは、例えばCADデータなど三次元の空間形状を面の集合で表現したデータのことである。テクスチャとは、物体の表面の質感を表現するために貼り付ける画像のことである。
前景テクスチャ決定部03003は、前景画像及び前景三次元モデル群より前景三次元モデルのテクスチャ情報を決定する。
The background texture pasting unit 03002 pastes the background image as a texture to the three-dimensional space shape indicated by the background mesh model (stadium shape data) acquired from the background mesh model management unit 03013. Thus, the background texture attaching unit 03002 generates a textured background mesh model. The mesh model is, for example, data representing a three-dimensional space shape such as CAD data as a set of faces. A texture is an image pasted to express the texture of the surface of an object.
The foreground texture determination unit 03003 determines texture information of the foreground three-dimensional model from the foreground image and the foreground three-dimensional model group.
前景テクスチャ境界色合わせ部03004は、各前景三次元モデルのテクスチャ情報と各三次元モデル群からテクスチャの境界の色合わせを行い、前景オブジェクト毎に色付き前景三次元モデル群を生成する。
A foreground texture boundary color matching unit 03004 performs color matching of texture boundaries from the texture information of each foreground three-dimensional model and each three-dimensional model group, and generates a colored foreground three-dimensional model group for each foreground object.
仮想視点前景画像生成部03005は、仮想カメラパラメータに基づいて、前景画像群を仮想視点からの見た目となるように透視変換する。レンダリング部03006は、レンダリングモード管理部03014で決定された、仮想視点画像の生成に用いられる生成方式に基づいて、背景画像と前景画像をレンダリングして全景の仮想視点画像を生成する。
The virtual viewpoint foreground image generation unit 03005 perspective-transforms the foreground image group so as to look like a virtual viewpoint based on the virtual camera parameters. The rendering unit 03006 renders a background image and a foreground image to generate a virtual viewpoint image of a full view based on the generation method used for generating a virtual viewpoint image determined by the rendering mode management unit 03014.
本実施形態では仮想視点画像の生成方式として、モデルベースレンダリング(Model−Based Rendering:MBR)とイメージベース(Image−Based Rendering:IBR)の2つのレンダリングモードが用いられる。
In this embodiment, two rendering modes, model-based rendering (MBR) and image-based rendering (IBR), are used as a virtual viewpoint image generation method.
MBRとは、被写体を複数の方向から撮影した複数の撮影画像に基づいて生成される三次元モデルを用いて仮想視点画像を生成する方式である。具体的には、視体積交差法、Multi−View−Stereo(MVS)などの三次元形状復元手法により得られた対象シーンの三次元形状(モデル)を利用し,仮想視点からのシーンの見えを画像として生成する技術である。
The MBR is a method of generating a virtual viewpoint image using a three-dimensional model generated based on a plurality of photographed images obtained by photographing a subject from a plurality of directions. Specifically, using the three-dimensional shape (model) of the target scene obtained by the three-dimensional shape restoration method such as the visual volume intersection method or Multi-View-Stereo (MVS), the appearance of the scene from the virtual viewpoint is It is a technology to generate as an image.
IBRとは、対象のシーンを複数視点から撮影した入力画像群を変形、合成することによって仮想視点からの見えを再現した仮想視点画像を生成する技術である。本実施形態では、IBRを用いる場合、MBRを用いて三次元モデルを生成するための複数の撮影画像より少ない1又は複数の撮影画像に基づいて仮想視点画像が生成される。
The IBR is a technology for generating a virtual viewpoint image in which the appearance from a virtual viewpoint is reproduced by transforming and combining an input image group obtained by photographing a target scene from a plurality of viewpoints. In the present embodiment, in the case of using IBR, a virtual viewpoint image is generated based on one or a plurality of photographed images smaller than the plurality of photographed images for generating a three-dimensional model using MBR.
レンダリングモードがMBRの場合、背景メッシュモデルと前景テクスチャ境界色合わせ部03004で生成した前景三次元モデル群を合成することで全景モデルが生成され、その全景モデルから仮想視点画像が生成される。
When the rendering mode is MBR, a panoramic model is generated by combining the background mesh model and the foreground three-dimensional model group generated by the foreground texture boundary color matching unit 03004, and a virtual viewpoint image is generated from the panoramic model.
レンダリングモードがIBRの場合、背景テクスチャモデルに基づいて仮想視点から見た背景画像が生成され、そこに仮想視点前景画像生成部03005で生成された前景画像を合成することで仮想視点画像が生成される。
When the rendering mode is IBR, a background image viewed from a virtual viewpoint is generated based on the background texture model, and a virtual viewpoint image is generated by combining the foreground image generated by the virtual viewpoint foreground image generation unit 03005 with this. Ru.
なお、レンダリング部03006はMBRとIBR以外のレンダリング手法を用いてもよい。また、レンダリングモード管理部03014が決定する仮想視点画像の生成方式はレンダリングの方式に限らず、レンダリングモード管理部03014は仮想視点画像を生成するためのレンダリング以外の処理の方式を決定してもよい。レンダリングモード管理部03014は、仮想視点画像の生成に用いられる生成方式としてのレンダリングモードを決定し、決定結果を保持する。
The rendering unit 03006 may use a rendering method other than MBR and IBR. Further, the method of generating a virtual viewpoint image determined by the rendering mode management unit 03014 is not limited to the method of rendering, and the rendering mode management unit 03014 may determine a method of processing other than rendering for generating a virtual viewpoint image. . The rendering mode management unit 03014 determines a rendering mode as a generation method used to generate a virtual viewpoint image, and holds the determination result.
本実施形態では、レンダリングモード管理部03014は、複数のレンダリングモードから使用するレンダリングモードを決定する。この決定は、データ受信部03001が取得した情報に基づいて行われる。例えば、レンダリングモード管理部03014は、取得された情報から特定されるカメラの数が閾値以下である場合に、仮想視点画像の生成に用いられる生成方式をIBRに決定する。一方、カメラ数が閾値より多い場合は生成方式をMBRに決定する。これにより、カメラ数が多い場合にはMBRを用いて仮想視点画像を生成することで視点の指定可能範囲が広くなる。また、カメラ数が少ない場合には、IBRを用いることで、MBRを用いた場合の三次元モデルの精度の低下による仮想視点画像の画質低下を回避することができる。また例えば、撮影から画像出力までの許容される処理遅延時間の長短に基づいて生成方式を決めてもよい。遅延時間が長くても視点の自由度を優先する場合はMBR、遅延時間が短いことを要求する場合はIBRを用いる。また例えば、コントローラ300やエンドユーザ端末190が視点の高さを指定可能であることを示す情報をデータ受信部03001が取得した場合には、仮想視点画像の生成に用いられる生成方式をMBRに決定する。これにより、生成方式がIBRであることによってユーザによる視点の高さの変更要求が受け入れられなくなることを防ぐことができる。このように、状況に応じて仮想視点画像の生成方式を決定することで、適切に決定された生成方式で仮想視点画像を生成できる。また、複数のレンダリングモードを要求に応じて切り替え可能な構成にすることで、柔軟にシステムを構成することが可能になり、本実施形態をスタジアム以外の被写体にも適用可能となることを明記しておく。
In the present embodiment, the rendering mode management unit 03014 determines the rendering mode to be used from a plurality of rendering modes. This determination is performed based on the information acquired by the data reception unit 03001. For example, when the number of cameras specified from the acquired information is equal to or less than a threshold, the rendering mode management unit 03014 determines, as IBR, a generation method to be used for generating a virtual viewpoint image. On the other hand, when the number of cameras is larger than the threshold value, the generation method is determined to be MBR. As a result, when the number of cameras is large, the specifiable range of viewpoints is widened by generating the virtual viewpoint image using the MBR. Further, when the number of cameras is small, it is possible to avoid the image quality degradation of the virtual viewpoint image due to the degradation of the accuracy of the three-dimensional model when using the MBR by using the IBR. Also, for example, the generation method may be determined based on the length of an allowable processing delay time from imaging to image output. Even if the delay time is long, the MBR is used if priority is given to the degree of freedom of the viewpoint, and the IBR is used to require the delay time to be short. Also, for example, when the data receiving unit 03001 acquires information indicating that the controller 300 or the end user terminal 190 can specify the height of the viewpoint, the generation method used for generating the virtual viewpoint image is determined to be MBR. Do. This makes it possible to prevent the user's request for changing the height of the viewpoint from becoming unacceptable due to the generation method being IBR. As described above, by determining the generation method of the virtual viewpoint image according to the situation, the virtual viewpoint image can be generated by the generation method appropriately determined. In addition, by making it possible to switch between multiple rendering modes as required, the system can be flexibly configured, and it is clearly stated that this embodiment can be applied to subjects other than stadiums. Keep it.
なお、レンダリングモード管理部03014が保持するレンダリングモードは、システムに予め設定された方式であってもよい。また、仮想カメラ操作UI330やエンドユーザ端末190を操作するユーザがレンダリングモードを任意に設定できてもよい。
The rendering mode held by the rendering mode management unit 03014 may be a method preset in the system. Also, the user operating the virtual camera operation UI 330 or the end user terminal 190 may be able to arbitrarily set the rendering mode.
仮想視点音声生成部03007は、仮想カメラパラメータに基づいて、仮想視点において聞こえる音声(音声群)を生成する。合成部03008は、レンダリング部03006で生成された画像群と仮想視点音声生成部03007で生成された音声を合成して仮想視点コンテンツを生成する。
The virtual viewpoint audio generation unit 03007 generates audio (audio group) that can be heard in the virtual viewpoint based on the virtual camera parameters. The synthesizing unit 03008 synthesizes the image group generated by the rendering unit 03006 and the voice generated by the virtual viewpoint sound generating unit 03007 to generate virtual viewpoint content.
画像出力部03009は、コントローラ300とエンドユーザ端末190へEthernetを用いて仮想視点コンテンツを出力する。ただし、外部への伝送手段はEthernetに限定されるものではなく、SDI、DisplayPort、及びHDMI(登録商標)などの信号伝送手段を用いてもよい。なお、バックエンドサーバ270は、レンダリング部03006で生成された、音声を含まない仮想視点画像を出力してもよい。
The image output unit 03009 outputs virtual viewpoint content to the controller 300 and the end user terminal 190 using Ethernet. However, the transmission means to the outside is not limited to Ethernet, and signal transmission means such as SDI, DisplayPort, and HDMI (registered trademark) may be used. The back-end server 270 may output a virtual viewpoint image generated by the rendering unit 03006 and not including audio.
前景オブジェクト決定部03010は、仮想カメラパラメータと前景三次元モデルに含まれる前景オブジェクトの空間上の位置を示す前景オブジェクトの位置情報から、表示される前景オブジェクト群を決定して、前景オブジェクトリストを出力する。つまり、前景オブジェクト決定部03010は、仮想視点の画像情報を物理的なカメラ112にマッピングする処理を実施する。本仮想視点は、レンダリングモード管理部03014で決定されるレンダリングモードに応じてマッピング結果が異なる。そのため、複数の前景オブジェクトを決定する制御部が前景オブジェクト決定部03010に配備されレンダリングモードと連動して制御を行うことを明記しておく。
The foreground object determination unit 03010 determines the displayed foreground object group from the position information of the foreground object indicating the spatial position of the foreground object included in the virtual camera parameter and the foreground three-dimensional model, and outputs the foreground object list Do. That is, the foreground object determination unit 03010 performs processing for mapping the image information of the virtual viewpoint to the physical camera 112. The present virtual viewpoint has different mapping results depending on the rendering mode determined by the rendering mode management unit 03014. Therefore, it is specified that the control unit for determining a plurality of foreground objects is disposed in the foreground object determining unit 03010 and performs control in conjunction with the rendering mode.
要求リスト生成部03011は、指定時間の前景オブジェクトリストに対応する前景画像群と前景三次元モデル群、及び背景画像と音声データをデータベース250に要求するための、要求リストを生成する。前景オブジェクトについては仮想視点を考慮して選択されたデータがデータベース250に要求されるが、背景画像と音声データについてはそのフレームに関する全てのデータが要求される。バックエンドサーバ270の起動後、背景メッシュモデルが取得されるまで背景メッシュモデルの要求リストが生成される。
The request list generation unit 03011 generates a request list for requesting the foreground image group and the foreground three-dimensional model group corresponding to the foreground object list of the designated time, the background image and the audio data from the database 250. For foreground objects, data selected in consideration of virtual viewpoints is required in the database 250, while for background images and audio data, all data for that frame is required. After the back-end server 270 is launched, a request list of background mesh models is generated until a background mesh model is obtained.
要求データ出力部03012は、入力された要求リストを元にデータベース250に対してデータ要求のコマンドを出力する。背景メッシュモデル管理部03013は、データベース250から受信した背景メッシュモデルを記憶する。
The request data output unit 03012 outputs a data request command to the database 250 based on the input request list. The background mesh model management unit 03013 stores the background mesh model received from the database 250.
なお、本実施形態ではバックエンドサーバ270が仮想視点画像の生成方式の決定と仮想視点画像の生成の両方を行う場合を中心に説明するが、これに限らない。即ち、生成方式を決定した情報処理装置がその決定結果に応じたデータを出力すればよい。例えば、フロントエンドサーバ230が、複数のカメラ112に関する情報や仮想視点画像の生成に係る視点を指定する装置から出力される情報などに基づいて、仮想視点画像の生成に用いられる生成方式を決定してもよい。そしてフロントエンドサーバ230は、カメラ112による撮影に基づく画像データと決定された生成方式を示す情報とを、データベース250などの記憶装置及びバックエンドサーバ270などの画像生成装置の少なくとも何れかに出力してもよい。この場合には、例えばフロントエンドサーバ230が出力した生成方式を示す情報に基づいてバックエンドサーバ270が仮想視点画像を生成する。フロントエンドサーバ230が生成方式を決定することで、決定された方式とは別の方式での画像生成のためのデータをデータベース250やバックエンドサーバ270が処理することによる処理負荷を低減できる。一方、本実施形態のようにバックエンドサーバ270が生成方式を決定する場合、データベース250は複数の生成方式に対応可能なデータを保持するため、複数の生成方式それぞれに対応する複数の仮想視点画像の生成が可能となる。
In the present embodiment, although the case is mainly described where the back end server 270 determines both the generation method of the virtual viewpoint image and the generation of the virtual viewpoint image, the present invention is not limited thereto. That is, the information processing apparatus that has determined the generation method may output data according to the determination result. For example, the front end server 230 determines the generation method to be used for generating the virtual viewpoint image based on the information related to the plurality of cameras 112 and the information output from the device for specifying the viewpoints related to the generation of the virtual viewpoint image. May be Then, the front end server 230 outputs the image data based on the photographing by the camera 112 and the information indicating the determined generation method to at least one of the storage device such as the database 250 and the image generation device such as the back end server 270. May be In this case, for example, the back end server 270 generates a virtual viewpoint image based on the information indicating the generation method output by the front end server 230. By the front end server 230 determining the generation method, it is possible to reduce the processing load due to the database 250 and the back end server 270 processing data for image generation in a method different from the determined method. On the other hand, when the back end server 270 determines the generation method as in the present embodiment, the database 250 holds data compatible with the plurality of generation methods, and thus, a plurality of virtual viewpoint images corresponding to the plurality of generation methods. Can be generated.
図8は、仮想カメラ操作UI330の機能構成を説明するブロック図である。仮想カメラ08001について図37(a)を用いて説明する。仮想カメラ08001は、設置されたどのカメラ112とも異なる視点において撮影を行うことができる仮想的なカメラである。即ち、画像処理システム100において生成される仮想視点画像が、仮想カメラ08001による撮影画像である。図37(a)において、円周上に配置された複数のセンサシステム110それぞれがカメラ112を有している。例えば、仮想視点画像を生成することにより、あたかもサッカーゴールの近くの仮想カメラ08001で撮影されたかのような画像を生成することができる。仮想カメラ08001の撮影画像である仮想視点画像は、設置された複数のカメラ112の画像を画像処理することで生成される。オペレータ(ユーザ)は仮想カメラ08001の位置等操作することで、自由な視点からの撮影画像を得ることができる。
FIG. 8 is a block diagram for explaining the functional configuration of the virtual camera operation UI 330. As shown in FIG. The virtual camera 08001 will be described with reference to FIG. The virtual camera 08001 is a virtual camera that can perform shooting at a viewpoint different from that of any installed camera 112. That is, the virtual viewpoint image generated in the image processing system 100 is a captured image by the virtual camera 08001. In FIG. 37A, each of the plurality of sensor systems 110 arranged on the circumference has a camera 112. For example, by generating a virtual viewpoint image, it is possible to generate an image as if taken by a virtual camera 08001 near the soccer goal. A virtual viewpoint image which is a captured image of the virtual camera 08001 is generated by performing image processing on the images of the plurality of installed cameras 112. The operator (user) can obtain a photographed image from a free viewpoint by operating the position of the virtual camera 08001 and the like.
仮想カメラ操作UI330は、仮想カメラ管理部08130および操作UI部08120を有する。これらは同一機器上に実装されてもよいし、それぞれサーバとなる装置とクライアントとなる装置に別々に実装されてもよい。例えば、放送局が使用する仮想カメラ操作UI330においては、中継車内のワークステーションに仮想カメラ管理部08130と操作UI部08120が実装されてもよい。また例えば、仮想カメラ管理部08130をwebサーバに実装し、エンドユーザ端末190に操作UI部08120を実装することで、同様の機能を実現してもよい。
The virtual camera operation UI 330 has a virtual camera management unit 08130 and an operation UI unit 08120. These may be implemented on the same device, or may be implemented separately on the device serving as the server and the device serving as the client. For example, in a virtual camera operation UI 330 used by a broadcast station, a virtual camera management unit 08130 and an operation UI unit 08120 may be mounted on a workstation in a relay vehicle. Further, for example, the virtual camera management unit 08130 may be mounted on a web server, and the operation UI unit 08120 may be mounted on the end user terminal 190 to realize the same function.
仮想カメラ操作部08101は、オペレータの仮想カメラ08001に対する操作、すなわち仮想視点画像の生成に係る視点を指定するためのユーザによる指示を受け付けて処理する。オペレータの操作内容は、例えば、位置の変更(移動)、姿勢の変更(回転)、及びズーム倍率の変更などである。オペレータは、仮想カメラ08001を操作するために、例えば、ジョイスティック、ジョグダイヤル、タッチパネル、キーボード、及びマウスなどの入力装置を使う。各入力装置による入力と仮想カメラ08001の操作との対応は予め決められる。例えば、キーボードの「W」キーを、仮想カメラ08001を前方へ1メートル移動する操作に対応付ける。また、オペレータは軌跡を指定して仮想カメラ08001を操作することができる。例えばオペレータは、ゴールポストを中心とする円周上を仮想カメラ08001が回るという軌跡を、タッチパッド上に円を描くように触れることで指定する。仮想カメラ08001は、指定された軌跡に沿ってゴールポストの回りを移動する。このとき、仮想カメラ08001が常にゴールポストの方を向くように自動で姿勢を変更してもよい。仮想カメラ操作部08101は、ライブ画像およびリプレイ画像の生成に利用することができる。リプレイ画像を生成する際は、カメラの位置及び姿勢の他に時間を指定する操作が行われる。リプレイ画像では、例えば、時間を止めて仮想カメラ08001を移動させることも可能である。
The virtual camera operation unit 08101 receives and processes an operation of the operator on the virtual camera 08001, that is, an instruction by the user for specifying a viewpoint related to generation of a virtual viewpoint image. The operation content of the operator is, for example, change of position (movement), change of posture (rotation), and change of zoom magnification. The operator uses input devices such as a joystick, a jog dial, a touch panel, a keyboard, and a mouse to operate the virtual camera 08001. The correspondence between the input by each input device and the operation of the virtual camera 08001 is determined in advance. For example, the “W” key of the keyboard is associated with an operation of moving the virtual camera 08001 one meter forward. Also, the operator can operate the virtual camera 08001 by designating a trajectory. For example, the operator designates a trajectory of the virtual camera 08001 rotating on a circumference centered on the goal post by touching a touch pad in a circle. The virtual camera 08001 moves around the goalpost along a designated trajectory. At this time, the posture may be changed automatically so that the virtual camera 08001 always faces the goalpost. The virtual camera operation unit 08101 can be used to generate a live image and a replay image. When generating a replay image, an operation is performed to specify time in addition to the position and orientation of the camera. In the replay image, for example, it is also possible to stop the time and move the virtual camera 08001.
仮想カメラパラメータ導出部08102は、仮想カメラ08001の位置や姿勢などを表す仮想カメラパラメータを導出する。仮想パラメータは、演算によって導出されてもよいし、ルックアップテーブルの参照などによって導出されてもよい。仮想カメラパラメータとして、例えば、外部パラメータを表す行列と内部パラメータを表す行列が用いられる。ここで、仮想カメラ08001の位置と姿勢は外部パラメータに含まれ、ズーム値は内部パラメータに含まれる。
The virtual camera parameter derivation unit 08102 derives virtual camera parameters that represent the position, orientation, and the like of the virtual camera 08001. The virtual parameters may be derived by operation or may be derived by reference to a look-up table or the like. As virtual camera parameters, for example, a matrix representing external parameters and a matrix representing internal parameters are used. Here, the position and orientation of the virtual camera 08001 are included in the external parameters, and the zoom value is included in the internal parameters.
仮想カメラ制約管理部08103は、仮想カメラ操作部08101により受け付けられる指示に基づく視点の指定が制限される制限領域を特定するための情報を取得し管理する。この情報は例えば、仮想カメラ08001の位置や姿勢、ズーム値などに関する制約である。仮想カメラ08001は、カメラ112と異なり、自由に視点を移動して撮影を行うことができるが、常にあらゆる視点からの画像を生成できるとは限らない。例えば、どのカメラ112にも映っていない対象物が映る向きに仮想カメラ08001を向けても、その撮影画像を取得することはできない。また、仮想カメラ08001のズーム倍率を上げると、解像度の制約により画質が劣化する。そこで、一定基準の画質を保つ範囲のズーム倍率などを仮想カメラ制約としてよい。仮想カメラ制約は、例えば、カメラの配置などから事前に導出しておいてもよい。また、伝送部06120がネットワークの負荷に応じて伝送データ量の削減を図ることがある。このデータ量削減により、撮影画像に関するパラメータが変化し、画像を生成できる範囲や画質を保つことができる範囲が動的に変わる。仮想カメラ制約管理部08103は、伝送部06120から出力データのデータ量の削減に用いた方法を示す情報を受け取り、その情報に応じて仮想カメラ制約を動的に更新する構成であってもよい。これにより、伝送部06120によりデータ量削減が図られても、仮想視点画像の画質を一定基準に保つことが可能となる。
The virtual camera restriction management unit 08103 acquires and manages information for specifying a restricted area in which designation of a viewpoint based on an instruction received by the virtual camera operation unit 08101 is restricted. This information is, for example, a constraint on the position and orientation of the virtual camera 08001, the zoom value, and the like. Unlike the camera 112, the virtual camera 08001 can freely move the viewpoint and shoot, but it can not always generate images from all viewpoints. For example, even if the virtual camera 08001 is directed to a direction in which an object that is not seen by any camera 112 is shown, it is not possible to acquire the captured image. In addition, when the zoom magnification of the virtual camera 08001 is increased, the image quality is degraded due to the restriction of the resolution. Therefore, a zoom magnification in a range that maintains a certain standard image quality may be used as the virtual camera restriction. The virtual camera constraints may be derived in advance, for example, from the arrangement of cameras. Also, the transmission unit 06120 may reduce the amount of transmission data according to the load on the network. By this data amount reduction, parameters relating to the photographed image change, and the range in which the image can be generated and the range in which the image quality can be maintained change dynamically. The virtual camera restriction management unit 08103 may be configured to receive information indicating the method used to reduce the data amount of the output data from the transmission unit 06120, and dynamically update the virtual camera restriction according to the information. As a result, even if the amount of data is reduced by the transmission unit 06120, it is possible to maintain the image quality of the virtual viewpoint image at a constant reference.
また、仮想カメラに関する制約は上記の物に限定されない。本実施形態では、視点の指定が制限される制限領域(仮想カメラ制約を満たさない領域)は、画像処理システム100に含まれる装置の動作状態及び仮想視点画像を生成するための画像データに関するパラメータの少なくとも何れかに応じて変化する。例えば、制限領域は、画像処理システム100において伝送される画像データのデータ量が所定範囲内となるように制御されるパラメータに応じて変化する。当該パラメータは、画像データのフレームレート、解像度、量子化ステップ、及び撮影範囲などのうち少なくとも何れかを含む。例えば、伝送データ量削減のために画像データの解像度が低減されると、所定の画質を維持可能なズーム倍率の範囲が変化する。このような場合に、仮想カメラ制約管理部08103がパラメータに応じて変化する制限領域を特定する情報を取得することで、仮想カメラ操作UI330はパラメータの変化に応じた範囲でユーザによる視点の指定がなされるよう制御できる。なお、パラメータの内容は上記のものに限定されない。また、本実施形態において上記のデータ量が制御される画像データは複数のカメラ112による複数の撮影画像の差分に基づいて生成されるデータであるものとするが、これに限らず、例えば撮影画像そのものでもよい。
In addition, restrictions on the virtual camera are not limited to the above. In the present embodiment, the restricted area (area not satisfying the virtual camera restriction) in which the designation of the viewpoint is restricted is an operation state of a device included in the image processing system 100 and a parameter related to image data for generating a virtual viewpoint image. It changes according to at least one of them. For example, the restricted area changes in accordance with a parameter controlled such that the data amount of image data transmitted in the image processing system 100 falls within a predetermined range. The parameters include at least one of a frame rate of image data, a resolution, a quantization step, and an imaging range. For example, when the resolution of image data is reduced to reduce the amount of transmission data, the range of zoom magnifications that can maintain a predetermined image quality changes. In such a case, the virtual camera operation control unit 08103 acquires information specifying the restricted area that changes in accordance with the parameter, whereby the virtual camera operation UI 330 allows the user to specify a viewpoint in a range according to the change in parameter. It can be controlled to be done. The contents of the parameters are not limited to the above. Further, in the present embodiment, the image data whose data amount is controlled is data generated based on the difference between a plurality of photographed images by the plurality of cameras 112, but the present invention is not limited to this. It may be itself.
また例えば、制限領域は、画像処理システム100に含まれる装置の動作状態に応じて変化する。ここで画像処理システム100に含まれる装置には、例えばカメラ112及びカメラ112による撮影画像に対する画像処理を行って画像データを生成するカメラアダプタ120の少なくとも何れかが含まれる。そして装置の動作状態には、例えば当該装置の正常状態、故障状態、起動準備状態、及び再起動状態の少なくとも何れかが含まれる。例えば、何れかのカメラ112が故障状態や再起動状態にある場合、そのカメラの周辺位置に視点を指定することができなくなる場合が考えられる。このような場合に、仮想カメラ制約管理部08103が装置の動作状態に応じて変化する制限領域を特定する情報を取得することで、仮想カメラ操作UI330は装置の動作状態の変化に応じた範囲でユーザによる視点の指定がなされるよう制御できる。なお、制限領域の変化に関係する装置及びその動作状態は上記のものに限定されない。
Further, for example, the restricted area changes in accordance with the operation state of the apparatus included in the image processing system 100. Here, the apparatus included in the image processing system 100 includes, for example, at least one of a camera 112 and a camera adapter 120 that performs image processing on a captured image by the camera 112 to generate image data. The operation state of the device includes, for example, at least one of a normal state, a failure state, a start preparation state, and a restart state of the device. For example, when any of the cameras 112 is in a failure state or in a restart state, it may be possible that the viewpoint can not be specified at the peripheral position of the camera. In such a case, the virtual camera operation control unit 08103 acquires the information for specifying the restricted area that changes in accordance with the operation state of the device, whereby the virtual camera operation UI 330 is in a range corresponding to the change in the operation state of the device. Control can be performed so that the user can specify the viewpoint. The apparatus related to the change of the restricted area and the operation state thereof are not limited to the above.
衝突判定部08104は、仮想カメラパラメータ導出部08102で導出された仮想カメラパラメータが仮想カメラ制約を満たしているかを判定する。制約を満たしていない場合は、例えば、オペレータによる操作入力をキャンセルし、制約を満たす位置から仮想カメラ08001が動かないよう制御したり、制約を満たす位置に仮想カメラ08001を戻したりする。
The collision determination unit 08104 determines whether the virtual camera parameters derived by the virtual camera parameter derivation unit 08102 satisfy the virtual camera constraints. When the constraint is not satisfied, for example, the operation input by the operator is canceled, and the virtual camera 08001 is controlled not to move from the position satisfying the constraint, or the virtual camera 08001 is returned to the position satisfying the constraint.
フィードバック出力部08105は、衝突判定部08104の判定結果をオペレータにフィードバックする。例えば、オペレータの操作により、仮想カメラ制約が満たされなくなる場合に、そのことをオペレータに通知する。例えば、オペレータが仮想カメラ08001を上方に移動しようと操作したが、移動先が仮想カメラ制約を満たさないとする。その場合、オペレータに、これ以上上方に仮想カメラ08001を移動できないことを通知する。通知方法としては、音、メッセージ出力、画面の色変化、及び仮想カメラ操作部08101をロックする等の方法がある。さらには、制約を満たす位置まで仮想カメラの位置を自動で戻してもよく、これによりオペレータの操作簡便性につながる効果がある。フィードバックが画像表示により行われる場合、フィードバック出力部08105は、仮想カメラ制約管理部08103が取得した情報に基づいて、制限領域に応じた表示制御に基づく画像を表示部に表示させる。例えば、フィードバック出力部08105は、仮想カメラ操作部08101により受け付けられた指示に応じて、当該指示に対応する視点が制限領域内であることを表す画像を表示部に表示させる。これにより、オペレータは指定している視点が制限領域内であって所望の仮想視点画像を生成できない虞があることを認識でき、制限領域外の位置(制約を満たす位置)に視点を指定し直すことができる。即ち、仮想視点画像の生成において、状況に応じて変化する範囲内で視点を指定できるようになる。なお、制限領域に応じた表示制御を行う制御装置として仮想カメラ操作UI330が表示部に表示させる内容はこれに限定されない。例えば、視点の指定の対象となる領域(スタジアムの内部など)のうち制限領域に当たる部分を所定の色で塗りつぶした画像が表示されてもよい。本実施形態では表示部が仮想カメラ操作UI330と接続される外部のディスプレイであるものとするが、これに限らず、表示部が仮想カメラ操作UI330の内部に存在してもよい。
The feedback output unit 08105 feeds back the determination result of the collision determination unit 08104 to the operator. For example, when the virtual camera constraint is not satisfied by the operation of the operator, the operator is notified of that. For example, it is assumed that the operator operates to move the virtual camera 08001 upward, but the destination does not satisfy the virtual camera constraint. In that case, the operator is notified that the virtual camera 08001 can not be moved further upward. As a notification method, there are methods such as sound, message output, screen color change, and lock of the virtual camera operation unit 08101. Furthermore, the position of the virtual camera may be automatically returned to a position that satisfies the constraints, which has the effect of leading to the operator's ease of operation. When feedback is performed by image display, the feedback output unit 08105 causes the display unit to display an image based on display control according to the restricted area based on the information acquired by the virtual camera restriction management unit 08103. For example, in accordance with the instruction received by the virtual camera operation unit 08101, the feedback output unit 08105 causes the display unit to display an image indicating that the viewpoint corresponding to the instruction is within the restricted area. As a result, the operator can recognize that the specified viewpoint is within the restricted area and there is a possibility that the desired virtual viewpoint image can not be generated, and the viewpoint is respecified to the position outside the restricted area (the position satisfying the constraint). be able to. That is, in the generation of the virtual viewpoint image, it is possible to specify a viewpoint within a range which changes according to the situation. The content displayed on the display unit by the virtual camera operation UI 330 as a control device that performs display control according to the restricted area is not limited to this. For example, an image may be displayed in which a portion corresponding to a restricted area in an area (for example, inside a stadium) which is a target of designation of a viewpoint is filled with a predetermined color. In the present embodiment, the display unit is an external display connected to the virtual camera operation UI 330. However, the present invention is not limited to this, and the display unit may exist inside the virtual camera operation UI 330.
仮想カメラパス管理部08106は、オペレータの操作に応じた仮想カメラ08001のパス(仮想カメラパス08002)を管理する。仮想カメラパス08002とは、仮想カメラ08001の1フレームごと位置や姿勢を表す情報の列である。図37(b)を参照して説明する。例えば、仮想カメラ08001の位置や姿勢を表す情報として仮想カメラパラメータが用いられる。例えば、60フレーム/秒のフレームレートの設定における1秒分の情報は、60個の仮想カメラパラメータの列となる。仮想カメラパス管理部08106は、衝突判定部08104で判定済みの仮想カメラパラメータを、バックエンドサーバ270に送信する。バックエンドサーバ270は、受信した仮想カメラパラメータを用いて、仮想視点画像及び仮想視点音声を生成する。また、仮想カメラパス管理部08106は、仮想カメラパラメータを仮想カメラパス08002に付加して保持する機能も有する。例えば、仮想カメラ操作UI330を用いて、1時間分の仮想視点画像及び仮想視点音声を生成した場合、1時間分の仮想カメラパラメータが仮想カメラパス08002として保存される。本仮想カメラパスを保存しておくことによって、データベースの二次ストレージ02460に蓄積された画像情報と仮想カメラパスを後から参照することで、仮想視点画像及び仮想視点音声を再度生成することが可能になる。つまり、高度な仮想カメラ操作を行うオペレータが生成した仮想カメラパスと二次ストレージ02460に蓄積された画像情報を他のユーザが再利用できる。なお、複数の仮想カメラパスに対応する複数のシーンを選択可能となるように仮想カメラ管理部08130に蓄積することもできる。複数の仮想カメラパスを仮想カメラ管理部08130に蓄積する際には、各仮想カメラパスに対応するシーンのスクリプトや試合の経過時間、シーンの前後指定時間、及びプレーヤ情報等のメタ情報もあわせて入力及び蓄積することができる。仮想カメラ操作UI330は、これらの仮想カメラパスを仮想カメラパラメータとして、バックエンドサーバ270に通知する。
The virtual camera path management unit 08106 manages the path (virtual camera path 08002) of the virtual camera 08001 according to the operation of the operator. The virtual camera path 08002 is a sequence of information indicating the position and orientation of each frame of the virtual camera 08001. This will be described with reference to FIG. For example, virtual camera parameters are used as information representing the position and orientation of the virtual camera 08001. For example, one second's worth of information in the setting of the frame rate of 60 frames per second is a series of 60 virtual camera parameters. The virtual camera path management unit 08106 transmits the virtual camera parameters determined by the collision determination unit 08104 to the back end server 270. The back end server 270 generates a virtual viewpoint image and a virtual viewpoint sound using the received virtual camera parameters. The virtual camera path management unit 08106 also has a function of adding and holding virtual camera parameters to the virtual camera path 08002. For example, when a virtual viewpoint image and virtual viewpoint sound for one hour are generated using the virtual camera operation UI 330, virtual camera parameters for one hour are stored as a virtual camera path 08002. By storing this virtual camera path, it is possible to generate virtual viewpoint images and virtual viewpoint sound again by referring to the image information and virtual camera path stored in the secondary storage 02460 of the database later. become. That is, other users can reuse the virtual camera path generated by the operator who performs advanced virtual camera operation and the image information stored in the secondary storage 02460. A plurality of scenes corresponding to a plurality of virtual camera paths can also be stored in the virtual camera management unit 08130 so as to be selectable. When storing a plurality of virtual camera paths in the virtual camera management unit 08130, the script of the scene corresponding to each virtual camera path, the elapsed time of the game, the specified time before and after the scene, and meta information such as player information are also included. It can be input and stored. The virtual camera operation UI 330 notifies the back end server 270 of these virtual camera paths as virtual camera parameters.
エンドユーザ端末190は、バックエンドサーバ270に仮想カメラパスを選択するための選択情報を要求することで、シーン名やプレーヤ、及び試合経過時間などから、仮想カメラパスを選択できる。バックエンドサーバ270はエンドユーザ端末190に選択可能な仮想カメラパスの候補を通知し、エンドユーザはエンドユーザ端末190を操作して、複数の候補の中から希望の仮想カメラパスを選択する。そして、エンドユーザ端末190は選択された仮想カメラパスに応じた画像生成をバックエンドサーバ270に要求することで、画像配信サービスをインタラクティブに享受することができる。
The end user terminal 190 can select the virtual camera path from the scene name, the player, the game elapsed time, and the like by requesting the back end server 270 for selection information for selecting the virtual camera path. The back end server 270 notifies the end user terminal 190 of selectable virtual camera path candidates, and the end user operates the end user terminal 190 to select a desired virtual camera path from a plurality of candidates. The end user terminal 190 can interactively enjoy the image distribution service by requesting the back end server 270 to generate an image according to the selected virtual camera path.
オーサリング部08107は、オペレータがリプレイ画像を生成する際の編集機能を提供する。オーサリング部08107は、ユーザ操作に応じて、リプレイ画像用の仮想カメラパス08002の初期値として、仮想カメラパス管理部08106が保持する仮想カメラパス08002の一部を取り出す。前述したように、仮想カメラパス管理部08106には、仮想カメラパス08002と対応付けてシーン名、プレーヤ、経過時間、及びシーンの前後指定時間などのメタ情報が保持されている。例えば、シーン名がゴールシーン、シーンの前後指定時間が前後合わせて10秒分である仮想カメラパス08002が取り出される。また、オーサリング部08107は、編集したカメラパスに再生速度を設定する。例えば、ボールがゴールに飛んで行く間の仮想カメラパス08002にスロー再生を設定する。なお、異なる視点からの画像に変更する場合、つまり仮想カメラパス08002を変更する場合は、ユーザは仮想カメラ操作部08101を用いて再度、仮想カメラ08001を操作する。
The authoring unit 08107 provides an editing function when the operator generates a replay image. The authoring unit 08107 takes out part of the virtual camera path 08002 held by the virtual camera path management unit 08106 as an initial value of the virtual camera path 08002 for replay image according to the user operation. As described above, the virtual camera path management unit 08106 holds meta information such as a scene name, a player, an elapsed time, and a designated time before and after a scene in association with the virtual camera path 08002. For example, a virtual camera path 08002 in which the scene name is a goal scene and the designated time before and after the scene is 10 seconds is extracted. In addition, the authoring unit 08107 sets the playback speed to the edited camera path. For example, the virtual camera path 08002 is set to slow playback while the ball flies to the goal. When changing to an image from a different viewpoint, that is, when changing the virtual camera path 08002, the user operates the virtual camera 08001 again using the virtual camera operation unit 08101.
仮想カメラ画像・音声出力部08108は、バックエンドサーバ270から受け取った仮想カメラ画像・音声を出力する。オペレータは出力された画像及び音声を確認しながら仮想カメラ08001を操作する。なお、フィードバック出力部08105によるフィードバックの内容によっては、仮想カメラ画像・音声出力部08108は、制限領域に応じた表示制御に基づく画像を表示部に表示させる。例えば、仮想カメラ画像・音声出力部08108は、オペレータが指定した視点の位置が制限領域に含まれる場合に、指定された位置の近辺であり且つ制限領域外である位置を視点とした仮想視点画像を表示させてもよい。これにより、オペレータが制限領域外に視点を指定し直す手間が削減される。
The virtual camera image / sound output unit 08108 outputs the virtual camera image / sound received from the back end server 270. The operator operates the virtual camera 08001 while confirming the output image and sound. Note that, depending on the content of feedback by the feedback output unit 08105, the virtual camera image / sound output unit 08108 causes the display unit to display an image based on display control according to the restricted area. For example, when the position of the viewpoint designated by the operator is included in the restricted area, the virtual camera image / voice output unit 08108 is a virtual viewpoint image in which the position which is near the designated position and outside the restricted area is the viewpoint May be displayed. This reduces the need for the operator to respecify the viewpoint outside the restricted area.
次に、視聴者(ユーザ)が使用するエンドユーザ端末190について、説明する。図9は、エンドユーザ端末190の構成図である。
Next, an end user terminal 190 used by a viewer (user) will be described. FIG. 9 is a block diagram of the end user terminal 190. As shown in FIG.
サービスアプリケーションが動作するエンドユーザ端末190は、例えばPC(Personal Computer)である。なお、エンドユーザ端末190は、PCに限らず、スマートフォンやタブレット端末、高精細な大型ディスプレイでもよいものとする。
The end user terminal 190 on which the service application operates is, for example, a PC (Personal Computer). The end user terminal 190 is not limited to a PC, and may be a smartphone, a tablet terminal, or a high-definition large display.
エンドユーザ端末190は、インターネット回線9001を介して、画像を配信するバックエンドサーバ270と接続されている。例えば、エンドユーザ端末190(PC)は、LAN(Local Area Network)ケーブルや、無線LANを介してルータおよびインターネット回線9001に接続されている。
The end user terminal 190 is connected to a back end server 270 that delivers an image via the Internet connection 9001. For example, the end user terminal 190 (PC) is connected to a router and an Internet circuit 9001 via a LAN (Local Area Network) cable or a wireless LAN.
また、エンドユーザ端末190には、視聴者がスポーツ放送画像等の仮想視点画像を視聴するためのディスプレイ9003と、視聴者による視点変更などの操作を受け付けるユーザ入力機器9002とが、接続されている。例えば、ディスプレイ9003は液晶ディスプレイであり、PCとDisplay Portケーブルを介して接続されている。
ユーザ入力機器9002はマウスやキーボードであり、PCとUSB(Universal Serial Bus)ケーブルを介して接続されている。
In addition, a display 9003 for the viewer to view a virtual viewpoint image such as a sports broadcast image and a user input device 9002 for receiving an operation such as a viewpoint change by the viewer are connected to the end user terminal 190. . For example, the display 9003 is a liquid crystal display, and is connected to a PC via a Display Port cable.
A user input device 9002 is a mouse or a keyboard, and is connected to a PC via a USB (Universal Serial Bus) cable.
エンドユーザ端末190の内部機能について説明する。図10はエンドユーザ端末190の機能ブロック図である。
The internal function of the end user terminal 190 will be described. FIG. 10 is a functional block diagram of the end user terminal 190.
アプリケーション管理部10001は、後述する基本ソフト部10002から入力されたユーザ入力情報を、バックエンドサーバ270のバックエンドサーバコマンドに変換して、基本ソフト部10002へ出力する。また、アプリケーション管理部10001は、基本ソフト部10002から入力された画像を、所定の表示領域に描画するための画像描画指示を、基本ソフト部10002へ出力する。
The application management unit 10001 converts user input information input from a basic software unit 10002 described later into a back end server command of the back end server 270 and outputs the back end server command to the basic software unit 10002. In addition, the application management unit 10001 outputs, to the basic software unit 10002, an image drawing instruction for drawing the image input from the basic software unit 10002 in a predetermined display area.
基本ソフト部10002は、例えばOS(Operating System)であり、後述するユーザ入力部10004から入力されたユーザ入力情報を、アプリケーション管理部10001へ出力する。また、後述するネットワーク通信部10003から入力された画像や音声をアプリケーション管理部10001へ出力したり、アプリケーション管理部10001から入力されたバックエンドサーバコマンドをネットワーク通信部10003へ出力したりする。さらに、アプリケーション管理部10001から入力された画像描画指示を、画像出力部10005へ出力する。
The basic software unit 10002 is, for example, an OS (Operating System), and outputs user input information input from a user input unit 10004 described later to the application management unit 10001. Also, it outputs an image and voice input from a network communication unit 10003 to be described later to the application management unit 10001 and outputs a back end server command input from the application management unit 10001 to the network communication unit 10003. Furthermore, the image drawing instruction input from the application management unit 10001 is output to the image output unit 10005.
ネットワーク通信部10003は、基本ソフト部10002から入力されたバックエンドサーバコマンドを、LANケーブル上で通信可能なLAN通信信号に変換して、バックエンドサーバ270へ出力する。そして、バックエンドサーバ270から受信した画像や音声データが加工可能となるように、基本ソフト部10002へデータを渡す。
The network communication unit 10003 converts the back end server command input from the basic software unit 10002 into a LAN communication signal that can be communicated on a LAN cable, and outputs the LAN communication signal to the back end server 270. Then, the data is passed to the basic software unit 10002 so that the image and audio data received from the back end server 270 can be processed.
ユーザ入力部10004は、キーボード入力(物理キーボード又はソフトキーボード)やボタン入力に基づくユーザ入力情報や、ユーザ入力機器からUSBケーブルを介して入力されたユーザ入力情報を取得し、基本ソフト部10002へ出力する。
The user input unit 10004 acquires user input information based on keyboard input (physical keyboard or soft keyboard) or button input, or user input information input from a user input device via a USB cable, and outputs it to the basic software unit 10002 Do.
画像出力部10005は、基本ソフト部10002から出力された画像表示指示に基づく画像を画像信号に変換して、外部ディスプレイや一体型のディスプレイなどに出力する。
An image output unit 10005 converts an image based on an image display instruction output from the basic software unit 10002 into an image signal, and outputs the image signal to an external display, an integral display, or the like.
音声出力部10006は、基本ソフト部10002から出力された音声出力指示に基づく音声データを外部スピーカあるいは一体型スピーカに出力する。
The audio output unit 10006 outputs audio data based on the audio output instruction output from the basic software unit 10002 to an external speaker or an integrated speaker.
端末属性管理部10007は、端末の表示解像度、画像符号化コーデック種別、及び端末種別(スマートフォンなのか、大型ディスプレイなのかなど)を管理する。
The terminal attribute management unit 10007 manages the display resolution of the terminal, the image encoding codec type, and the terminal type (smart phone, large display, etc.).
サービス属性管理部10008は、エンドユーザ端末190に提供するサービス種別に関する情報を管理する。例えば、エンドユーザ端末190に搭載されるアプリケーションの種別や利用可能な画像配信サービスなどが管理される。
The service attribute management unit 10008 manages information on the service type provided to the end user terminal 190. For example, the types of applications installed in the end user terminal 190 and available image distribution services are managed.
課金管理部10009では、ユーザの画像配信サービスへの登録決済状況や課金金額に応じた、受信可能な画像配信シーン数の管理などが行われる。
The charge management unit 10009 manages the number of image distribution scenes that can be received, etc., according to the user's registered payment status to the image distribution service and the charge amount.
次に本実施の形態におけるワークフローについて説明する。競技場やコンサートホールなどの施設に複数のカメラ112やマイク111を設置し撮影を行う場合のワークフローについて説明する。
Next, the workflow in the present embodiment will be described. A workflow in the case where a plurality of cameras 112 and microphones 111 are installed in a facility such as a stadium or a concert hall to perform photographing will be described.
図11はワークフローの全体像を記したフローチャートである。なお、以下で説明するワークフローの処理は、特に明示の記述がない場合、コントローラ300の制御により実現される。すなわち、コントローラ300が、画像処理システム100内の他の装置(例えばバックエンドサーバ270やデータベース250等)を制御することにより、ワークフローの制御が実現される。
FIG. 11 is a flowchart showing an overview of the workflow. The process of the workflow described below is realized by the control of the controller 300 unless there is a specific description. That is, control of the workflow is realized by the controller 300 controlling another device (for example, the back end server 270, the database 250, etc.) in the image processing system 100.
図11の処理開始前において、画像処理システム100の設置や操作を行う操作者(ユーザ)は設置前に必要な情報(事前情報)を収集し計画の立案を行う。また、操作者は、図11の処理開始前において、対象となる施設に機材を設置しているものとする。
Before the process shown in FIG. 11 is started, an operator (user) who installs or operates the image processing system 100 collects necessary information (prior information) before installation and draws up a plan. In addition, it is assumed that the operator installs equipment in the target facility before the start of the process of FIG.
S1100において、コントローラ300の制御ステーション310は、ユーザから事前情報に基づく設定を受け付ける。S1100の詳細は図12を用いて後述する。つぎに、ステップS1101において画像処理システム100の各装置は、ユーザからの操作に基づいてコントローラ300から発行されたコマンドに従って、システムの動作確認のための処理を実行する。ステップS1101の詳細は図13を用いて後述する。
In S1100, the control station 310 of the controller 300 receives the setting based on the prior information from the user. Details of S1100 will be described later with reference to FIG. Next, in step S1101, each device of the image processing system 100 executes a process for confirming the operation of the system in accordance with a command issued from the controller 300 based on an operation from the user. Details of step S1101 will be described later using FIG.
つぎに、ステップS1102において、仮想カメラ操作UI330は、競技等のための撮影開始前に画像や音声を出力する。これにより、ユーザは、競技等の前に、マイク111により集音された音声やカメラ112により撮影された画像を確認できる。ステップS1102の詳細は図14を用いて後述する。
Next, in step S1102, the virtual camera operation UI 330 outputs an image or sound before the start of shooting for a game or the like. Thereby, the user can confirm the sound collected by the microphone 111 and the image photographed by the camera 112 before the competition and the like. Details of step S1102 will be described later using FIG.
そして、S1103において、コントローラ300の制御ステーション310は、各マイク111に集音を実施させ、各カメラ112に撮影を実施させる。本ステップにおける撮影はマイク111を用いた集音を含むものとするがこれに限らず、画像の撮影だけであってもよい。S1103の詳細は図15及び図16を用いて後述する。そして、ステップS1101で行った設定を変更する場合、または撮影を終了する場合はステップS1104に進む。つぎに、S1104において、S1101で行われた設定を変更して撮影を継続する場合はS1105に進み、撮影を完了する場合はS1106に進む。S1104における判定は、典型的には、ユーザからコントローラ300への入力に基づいて行われる。ただしこの例に限らない。S1105において、コントローラ300は、S1101で行われた設定を変更する。変更内容は、典型的には、S1104にて取得されたユーザ入力に基づいて決定される。本ステップにおける設定の変更において撮影を停止する必要がある場合は、一度撮影を停止し、設定を変更した後に撮影を再開する。また、撮影を停止する必要がない場合は、撮影と並行して設定の変更を実施する。
Then, in step S1103, the control station 310 of the controller 300 causes each microphone 111 to collect sound and causes each camera 112 to shoot. The shooting in this step includes sound collection using the microphone 111, but the invention is not limited thereto, and may be only shooting of an image. Details of S1103 will be described later with reference to FIGS. 15 and 16. Then, in the case of changing the setting made in step S1101 or in the case of ending the photographing, the process proceeds to step S1104. Next, in S1104, if the setting made in S1101 is changed and shooting is continued, the process proceeds to S1105, and if shooting is completed, the process proceeds to S1106. The determination in S1104 is typically performed based on an input from the user to the controller 300. However, it is not limited to this example. In S1105, the controller 300 changes the setting made in S1101. The content of the change is typically determined based on the user input acquired in S1104. If it is necessary to stop the shooting in the setting change in this step, the shooting is once stopped, and the shooting is restarted after changing the setting. In addition, when it is not necessary to stop shooting, the setting is changed in parallel with shooting.
S1106において、コントローラ300は、複数のカメラ112により撮影された画像及び複数のマイク111により集音された音声の編集を実施する。当該編集は、典型的には、仮想カメラ操作UI330を介して入力されたユーザ操作に基づいて行われる。
In S1106, the controller 300 edits the images captured by the plurality of cameras 112 and the sound collected by the plurality of microphones 111. The editing is typically performed based on a user operation input via the virtual camera operation UI 330.
なお、S1106とS1103の処理は並行して行われるようにしても良い。例えば、スポーツ競技やコンサートなどがリアルタイムに配信される(例えば競技中に競技の画像が配信される)場合は、S1103の撮影とS1106の編集が同時に実施される。また、スポーツ競技におけるハイライト画像が競技後に配信される場合は、S1104において撮影を終了した後に編集が実施される。
The processes of S1106 and S1103 may be performed in parallel. For example, when a sports competition or a concert is distributed in real time (for example, the image of the competition is distributed during the competition), the shooting in S1103 and the editing in S1106 are performed simultaneously. In addition, when the highlight image in the sports competition is distributed after the competition, the editing is performed after the photographing is finished in S1104.
次に、前述したS1100(設置前処理)の詳細を、図12を用いて説明する。まず、S1200において制御ステーション310は撮影の対象となる施設に関する情報(スタジアム情報)に関するユーザからの入力を受け付ける。
Next, the details of the above-described S1100 (pre-installation processing) will be described with reference to FIG. First, in S1200, the control station 310 receives an input from the user regarding information (stadium information) related to the facility to be imaged.
本ステップにおけるスタジアム情報とは、スタジアムの形状、音響、照明、電源、伝送環境、及びスタジアムの三次元モデルデータなどを指す。つまりスタジアム情報には、上述のスタジアム形状データが含まれる。なお本実施形態では撮影対象となる施設がスタジアムである場合に関して記述している。これは、競技場で開催されるスポーツ競技の画像生成を想定したものである。ただし、室内で開催されるスポーツ競技もあるため、撮影対象の施設はスタジアムに限定されるものではない。また、コンサートホールにおけるコンサートの仮想視点画像を生成する場合もあるし、スタジアムでの野外コンサートの画像を生成する場合もあるため、撮影対象のイベントは競技に限定されるものではないことを明記しておく。
Stadium information in this step refers to stadium shape, sound, lighting, power source, transmission environment, and three-dimensional model data of the stadium. That is, the stadium information includes the above-mentioned stadium shape data. In the present embodiment, the case where the facility to be imaged is a stadium is described. This is assumed to be image generation of a sports competition held at the stadium. However, because there are sports competitions held indoors, the facilities to be photographed are not limited to the stadium. In addition, it is clearly stated that the event to be photographed is not limited to competitions, as a virtual viewpoint image of a concert in a concert hall may be generated or an image of an outdoor concert in a stadium may be generated. Keep it.
つぎに、ステップS1201において制御ステーション310は、機器情報に関するユーザからの入力を受け付ける。本ステップにおける機器情報とは、カメラ、雲台、レンズ、及びマイク等の撮影機材、LAN、PC、サーバ、及びケーブル等の情報機器、及び中継車に関する情報を指す。ただし必ずしもこれらすべての情報を入力しなければならないわけではない。
Next, in step S1201, the control station 310 receives an input from the user regarding device information. The device information in this step refers to information related to shooting equipment such as a camera, camera platform, lens, and microphone, information devices such as a LAN, a PC, a server, and a cable, and a relay vehicle. However, it is not necessary to input all the information.
つぎに、S1202において制御ステーション310は、S1201で機器情報が入力された撮影機材のうち、カメラ、雲台、及びマイクの配置情報に関する入力を受けつける。配置情報は、先述のスタジアムの三次元モデルデータを利用して入力することができる。
Next, in step S1202, the control station 310 receives an input regarding arrangement information of the camera, the pan head, and the microphone among the photographing equipment to which the device information is input in step S1201. The arrangement information can be input using the aforementioned three-dimensional model data of the stadium.
つぎに、S1203において制御ステーション310は、画像処理システム100の運用情報に関するユーザ入力を受け付ける。本ステップにおける運用情報とは、撮影対象、撮影時間、カメラワーク、及び注視点などを指す。例えば、撮影対象が、撮影画像において選手等の前景画像が試合と比較して圧倒的に多い開会式などである場合には、画像生成の手法をその状況に適した手法に変更しうる。また、陸上競技であるかフィールドを使うサッカー競技等であるかなどの競技種別に応じて、注視点の変更と、カメラワークの制約条件変更が行われうる。これらの運用情報の組み合わせで構成される設定情報のテーブルが制御ステーション310で管理、変更、及び指示される。本制御については後述する。前述したS1200からS1203により、システム設置前のワークフローを完了する。
Next, in step S <b> 1203, the control station 310 receives a user input regarding operation information of the image processing system 100. The operation information in this step indicates a shooting target, shooting time, camera work, a gaze point, and the like. For example, in the case where the shooting target is an opening ceremony or the like in which the foreground image of a player or the like in the shot image is overwhelmingly more than the game, the image generation method may be changed to a method suitable for the situation. Also, depending on the type of competition, such as athletics or a football competition using a field, the change of the gaze point and the restriction change of the camera work may be performed. A table of setting information configured by a combination of the operation information is managed, changed, and instructed by the control station 310. This control will be described later. The workflow before the installation of the system is completed by the above-described S1200 to S1203.
次に、前述したS1101(設置時処理)の詳細を、図13を用いて説明する。まず、S1300において、制御ステーション310は、設置機材の過不足の有無に関するユーザ入力を受け付ける。ユーザは、S1201で入力された機器情報と設置する機材を比較し過不足の有無を確認することで、設置機材の過不足の有無を判定できる。つぎに、S1301において制御ステーション310は、S1300で不足すると判定された機材の設置確認処理を実行する。つまり、ユーザは、S1300とS1301との間に、不足機材を設置することができ、制御ステーション310は、ユーザにより不足機材が設置されたことを確認する。
Next, the details of the above-described S1101 (processing at installation) will be described with reference to FIG. First, in S1300, control station 310 receives a user input regarding the presence or absence of excess or deficiency of installed equipment. The user can determine the presence or absence of the installed equipment by checking the presence or absence of the equipment information input in S1201 and the installed equipment. Next, in step S1301, the control station 310 executes installation confirmation processing of equipment determined to be insufficient in step S1300. That is, the user can install the lacking equipment between S1300 and S1301, and the control station 310 confirms that the insufficient equipment has been installed by the user.
つぎに、S1302において、制御ステーション310は、S1301で設置された機材を起動し正常に動作するかの調整前システム動作確認を行う。なお、S1302の処理は、ユーザがシステム動作確認を実施し、その確認結果を制御ステーション310に対してユーザが入力するようにしても良い。
Next, in step S1302, the control station 310 checks the pre-adjustment system operation whether the equipment installed in step S1301 is activated and operates normally. In the process of S1302, the user may check the system operation, and the user may input the check result to the control station 310.
ここで、機材の過不足や動作にエラーが発生した場合には、制御ステーション310に対して、エラー通知が行われる(S1303)。制御ステーション310は、エラーが解除されるまで次のステップには進まないロック状態となる。エラー状態が解除された場合には、制御ステーション310に正常通知が行われ(S1304)、次のステップに進む。これにより、初期段階でエラーを検知することができる。確認の後、カメラ112に関する処理についてはS1305へ、マイク111に関する処理についてはS1308に進む。
Here, if an error occurs in the excess or deficiency of equipment or operation, an error notification is sent to the control station 310 (S1303). The control station 310 is in a locked state which does not advance to the next step until the error is released. When the error state is released, the control station 310 is notified of normality (S1304), and the process proceeds to the next step. This makes it possible to detect an error at an early stage. After the confirmation, the process proceeds to step S1305 for the process related to the camera 112, and proceeds to step S1308 for the process related to the microphone 111.
最初に、カメラ112について述べる。S1305において、制御ステーション310は、設置されたカメラ112の調整を実施する。本ステップのカメラ112の調整とは、画角合わせと色合わせを指し、設置されたカメラ112全てについて実施される。S1305の調整は、ユーザ操作に基づいて行われるようにしても良いし、自動調整機能により実現されても良い。
First, the camera 112 will be described. In S1305, the control station 310 performs adjustment of the installed camera 112. The adjustment of the camera 112 in this step refers to angle of view alignment and color alignment, and is performed for all the installed cameras 112. The adjustment in S1305 may be performed based on a user operation or may be realized by an automatic adjustment function.
また、画角合わせでは、ズーム、パン、チルト、及びフォーカスの調整が並行して実施され、それらの調整結果が制御ステーション310に保存される。そして、色合わせでは、IRIS、ISO/ゲイン、ホワイトバランス、シャープネス、及びシャッタースピードの調整が同時に実施され、それらの調整結果が制御ステーション310に保存される。
In the field angle alignment, adjustments of zoom, pan, tilt, and focus are performed in parallel, and the adjustment results are stored in the control station 310. In color matching, adjustments of IRIS, ISO / gain, white balance, sharpness, and shutter speed are simultaneously performed, and the adjustment results are stored in the control station 310.
つぎに、S1306において、制御ステーション310は、設置されたカメラ全てが同期する様に調整する。S1306における同期の調整は、ユーザ操作に基づいて行われるようにしても良いし、自動調整機能により実現されても良い。さらに、S1307において、制御ステーション310は、カメラ設置時キャリブレーションを行う。より具体的には、制御ステーション310は、設置されたカメラ全ての座標が世界座標に一致する様に調整を行う。詳細なキャリブレーションについては図17において説明する。なお、カメラ112の制御コマンドやタイムサーバとの同期に関するネットワーク経路の疎通確認もあわせて実施される。そして、マイク調整が進むまで調整後システム動作正常確認処理で待つ(S1311)。
Next, in step S1306, the control station 310 adjusts all the installed cameras to synchronize. The adjustment of synchronization in S1306 may be performed based on a user operation or may be realized by an automatic adjustment function. Furthermore, in step S1307, the control station 310 performs calibration at the time of camera installation. More specifically, the control station 310 adjusts so that the coordinates of all the installed cameras match the world coordinates. Detailed calibration will be described in FIG. It should be noted that the communication check of the network path regarding synchronization with the control command of the camera 112 and the time server is also carried out. Then, it waits in the post-adjustment system operation normality confirmation process until the microphone adjustment proceeds (S1311).
次に、マイク111に関する処理について述べる。まず、S1308において、制御ステーション310は、設置されたマイク111の調整を実施する。本ステップのマイク111の調整とは、ゲイン調整を指し、設置したマイク全てについて実施される。S1308におけるマイク111の調整は、ユーザ操作に基づいて行われても良いし、自動調整機能により実現されても良い。
Next, the process related to the microphone 111 will be described. First, in S1308, the control station 310 performs adjustment of the installed microphone 111. The adjustment of the microphone 111 in this step refers to gain adjustment, and is performed for all the installed microphones. The adjustment of the microphone 111 in S1308 may be performed based on a user operation or may be realized by an automatic adjustment function.
つぎに、S1309において、制御ステーション310は、設置されたマイク全てが同期する様に調整する。具体的には、同期クロックの確認を実施する。S1309における同期の調整は、ユーザ操作に基づいて行われるようにしても良いし、自動調整機能により実現されても良い。
Next, in step S1309, the control station 310 adjusts all the installed microphones in synchronization. Specifically, confirmation of the synchronization clock is performed. The adjustment of synchronization in S1309 may be performed based on a user operation or may be realized by an automatic adjustment function.
つぎに、S1310において、制御ステーション310は、設置されたマイク111のうち、フィールドに設置されたマイク111について位置の調整を実施する。S1310におけるマイク111の位置の調整は、ユーザ操作に基づいて行われても良いし、自動調整機能により実現されても良い。なお、マイク111の制御コマンドやタイムサーバとの同期に関するネットワーク経路の疎通確認もあわせて実施される。
Next, in S1310, the control station 310 adjusts the position of the microphone 111 installed in the field among the installed microphones 111. The adjustment of the position of the microphone 111 in S1310 may be performed based on a user operation or may be realized by an automatic adjustment function. Note that the communication check of the network path regarding synchronization with the control command of the microphone 111 and the time server is also implemented.
つぎに、S1311において、制御ステーション310は、カメラ112a−112z、およびマイク111a−111zが正しく調整できたかを確認することを目的として調整後システム動作確認を実施する。S1311の処理は、ユーザ指示に基づいて実行されうる。カメラ112、マイク111ともに調整後システム動作正常確認がとれた場合には、S1313において、制御ステーション310へ正常通知が行われる。一方、エラーが発生した場合には、カメラ112あるいはマイク111の種別及び個体番号と共に制御ステーション310へエラー通知が行われる(S1312)。制御ステーション310は、エラーが発生した機器の種別と個体番号をもとに再調整の指示を出す。
Next, in step S1311, the control station 310 performs post-adjustment system operation confirmation for the purpose of confirming whether the cameras 112a to 112z and the microphones 111a to 111z have been correctly adjusted. The process of S1311 may be performed based on a user instruction. If the camera 112 and the microphone 111 both confirm the system operation after adjustment, in step S1313, a normal notification is issued to the control station 310. On the other hand, when an error occurs, an error notification is sent to the control station 310 together with the type and individual number of the camera 112 or the microphone 111 (S1312). The control station 310 issues a readjustment instruction based on the type of the device in which the error has occurred and the individual number.
次に、前述したS1102(撮影前処理)の詳細を、図14を用いて説明する。S1400において、仮想カメラ操作UI330は、バックエンドサーバ270が処理を施した画像を表示する。コントローラ300の操作者(ユーザ)は、仮想カメラ操作UI330の画面を確認することで、バックエンドサーバ270による処理結果を確認できる。
Next, details of the above-described S1102 (pre-shooting processing) will be described using FIG. In S1400, the virtual camera operation UI 330 displays the image processed by the back end server 270. The operator (user) of the controller 300 can confirm the processing result of the back end server 270 by confirming the screen of the virtual camera operation UI 330.
また、S1400と並行してS1401の動作が行われる。S1401において、仮想カメラ操作UI330は、バックエンドサーバ270が処理を施した音声を出力する。コントローラ300の操作者(ユーザ)は、仮想カメラ操作UI330による音声出力を確認することで、バックエンドサーバ270による処理結果を確認できる。
In addition, the operation of S1401 is performed in parallel with S1400. In S1401, the virtual camera operation UI 330 outputs the sound processed by the back end server 270. The operator (user) of the controller 300 can confirm the processing result by the back end server 270 by confirming the audio output by the virtual camera operation UI 330.
つぎに、S1402において、仮想カメラ操作UI330は、バックエンドサーバ270が処理を施した画像及び音声が結合され、配信信号に変換された結果を出力する。コントローラ300の操作者(ユーザ)は、仮想カメラ操作UI330による配信信号の出力を確認することで、バックエンドサーバ270による処理済みの画像及び音声を確認できる。
Next, in S1402, the virtual camera operation UI 330 combines the image and audio processed by the back-end server 270, and outputs the result converted into the distribution signal. The operator (user) of the controller 300 can confirm the processed image and sound by the back end server 270 by confirming the output of the distribution signal by the virtual camera operation UI 330.
つぎに、前述したS1103(撮影時処理)の詳細を図15及び図16を用いて説明する。
Next, the details of the above-described S1103 (processing at the time of shooting) will be described with reference to FIGS.
S1103では、制御ステーション310においてシステムの制御及び確認動作が行われ、且つ、仮想カメラ操作UI330において画像及び音声を生成する動作が行われる。
In S1103, control and confirmation operations of the system are performed in the control station 310, and an operation of generating an image and sound in the virtual camera operation UI 330 is performed.
図15ではシステムの制御及び確認動作を説明し、図16では画像及び音声を生成する動作を説明する。最初に図15を用いて説明する。前述した制御ステーション310で行われるシステムの制御及び確認動作では、画像と音声の制御及び確認動作が独立且つ同時に実施される。
FIG. 15 explains the control and confirmation operation of the system, and FIG. 16 explains the operation of generating an image and sound. First, it will be described using FIG. In the control and verification operations of the system performed in the control station 310 described above, the control and verification operations of image and sound are performed independently and simultaneously.
先ず、画像に関する動作を説明する。S1500において、仮想カメラ操作UI330は、バックエンドサーバ270が生成した仮想視点画像を表示する。つぎに、S1501において、仮想カメラ操作UI330は、S1500で表示された画像のユーザによる確認結果に関する入力を受け付ける。そして、S1502において、撮影を終了すると判定された場合はS1508に進み、撮影を継続すると判定された場合はS1500に戻る。つまり、撮影を続ける間、S1500とS1501が繰り返される。なお、撮影を終了するか継続するかについては、例えばユーザ入力に応じて制御ステーション310が判定できる。
First, the operation regarding an image will be described. In S1500, the virtual camera operation UI 330 displays the virtual viewpoint image generated by the back end server 270. Next, in S1501, the virtual camera operation UI 330 receives an input regarding the confirmation result by the user of the image displayed in S1500. If it is determined in S1502 that the shooting is to be ended, the process proceeds to S1508, and if it is determined that the shooting is to be continued, the process returns to S1500. That is, S1500 and S1501 are repeated while shooting is continued. Note that the control station 310 can determine whether to end or continue the imaging, for example, according to a user input.
次に、音声に関する動作を説明する。S1503において、仮想カメラ操作UI330は、マイク111の選択結果に関するユーザ操作を受け付ける。なお、マイク111が所定の順序で1つずつ選択される場合には、ユーザ操作は必ずしも必要ない。S1504において、仮想カメラ操作UI330は、S1503で選択されたマイク111の音声を再生する。S1505において、仮想カメラ操作UI330は、S1504で再生された音声のノイズ有無を確認する。S1505におけるノイズ有無の判定は、コントローラ300の操作者(ユーザ)が行っても良いし、音声解析処理によって自動で判定されるようにしても良いし、その両方が実行されるようにしても良い。ユーザがノイズ有無を判定する場合は、S1505において、仮想カメラ操作UI330は、ユーザによるノイズ判定結果に関する入力を受け付ける。S1505でノイズが確認された場合には、S1506において、仮想カメラ操作UI330は、マイクゲインの調整を実施する。S1506におけるマイクゲインの調整は、ユーザ操作に基づいて行われるようにしても良いし、自動調整が行われるようにしても良い。なお、ユーザ操作に基づいてマイクゲインの調整が行われる場合には、S1506において、仮想カメラ操作UI330は、マイクゲインの調整に関するユーザ入力を受け付け、当該ユーザ入力に基づいてマイクゲインの調整を実施する。なお、ノイズの状態に依っては選択したマイク111の停止を行っても良い。S1507において、集音を終了すると判定された場合はS1508に進み、集音を継続すると判定された場合はS1503に戻る。つまり、集音を続ける間、S1503、S1504、S1505、及びS1506の動作が繰り返される。集音を終了するか継続するかについては、例えば、ユーザ入力に応じて制御ステーション310が判定できる。なお、集音を終了するか継続するかについては、例えば、ユーザ入力に応じて制御ステーション310が判定できる。
Next, the operation regarding voice will be described. In S1503, the virtual camera operation UI 330 receives a user operation related to the selection result of the microphone 111. When the microphones 111 are selected one by one in a predetermined order, the user operation is not necessarily required. In S1504, the virtual camera operation UI 330 reproduces the sound of the microphone 111 selected in S1503. In S1505, the virtual camera operation UI 330 confirms the presence or absence of noise in the sound reproduced in S1504. The determination of the presence or absence of noise in S1505 may be made by the operator (user) of the controller 300, may be automatically determined by voice analysis processing, or both may be performed. . If the user determines the presence or absence of noise, in S1505, the virtual camera operation UI 330 receives an input regarding the noise determination result by the user. If noise is confirmed in step S1505, the virtual camera operation UI 330 performs microphone gain adjustment in step S1506. The adjustment of the microphone gain in S1506 may be performed based on the user's operation, or automatic adjustment may be performed. When the microphone gain adjustment is performed based on the user operation, in S1506, the virtual camera operation UI 330 receives a user input related to the microphone gain adjustment, and performs the microphone gain adjustment based on the user input. . Note that depending on the state of noise, the selected microphone 111 may be stopped. If it is determined in S1507 that the sound collection is to be ended, the process proceeds to S1508, and if it is determined that the sound collection is continued, the process returns to S1503. That is, while the sound collection is continued, the operations of S1503, S1504, S1505, and S1506 are repeated. The control station 310 can determine whether to end or continue the sound collection, for example, according to user input. Note that the control station 310 can determine whether to end or continue the sound collection, for example, according to a user input.
S1508において、システムを終了すると判定された場合はS1509に進み、システムを継続すると判定された場合はS1500及びS1503に進む。S1508の判定は、ユーザ操作に基づいて行われ得る。S1509において、画像処理システム100で取得されたログが制御ステーション310へ集められる。
If it is determined in S1508 that the system is to be ended, the process proceeds to S1509, and if it is determined that the system is to be continued, the process proceeds to S1500 and S1503. The determination of S1508 may be performed based on a user operation. At S1509, the log acquired by the image processing system 100 is collected to the control station 310.
次に図16を用いて画像及び音声を生成する動作を説明する。前述した仮想カメラ操作UI330で行われる画像及び音声を生成する動作では、画像と音声が独立且つ並行して生成される。
Next, an operation of generating an image and a sound will be described with reference to FIG. In the operation of generating the image and the sound performed by the virtual camera operation UI 330 described above, the image and the sound are generated independently and in parallel.
先ず、画像に関する動作を説明する。S1600において、仮想カメラ操作UI330は、バックエンドサーバ270に対して仮想視点画像の生成のための指示を発行する。そしてS1600において、バックエンドサーバ270は、仮想カメラ操作UI330からの指示に従って仮想視点画像を生成する。S1601において、画像生成を終了すると判定された場合はS1604に進み、画像生成を継続すると判定された場合はS1600に戻る。S1601の判定は、ユーザ操作に応じて実行されうる。
First, the operation regarding an image will be described. In S1600, the virtual camera operation UI 330 issues an instruction for generating a virtual viewpoint image to the back end server 270. Then, in step S1600, the back-end server 270 generates a virtual viewpoint image in accordance with the instruction from the virtual camera operation UI 330. If it is determined in S1601 that the image generation is to be ended, the process proceeds to S1604. If it is determined that the image generation is to be continued, the process returns to S1600. The determination of S1601 may be performed in response to a user operation.
次に、音声に関する動作を説明する。S1602において、仮想カメラ操作UI330は、バックエンドサーバ270に対して仮想視点音声の生成のための指示を発行する。そしてS1602において、バックエンドサーバ270は、仮想カメラ操作UI330からの指示に従って仮想視点音声を生成する。S1603において、音声生成を終了すると判定された場合はS1604に進み、音声生成を継続すると判定された場合はS1602に戻る。なお、S1603の判定は、S1601の判定と連動して行われるようにしても良い。
Next, the operation regarding voice will be described. In S1602, the virtual camera operation UI 330 issues, to the back end server 270, an instruction for generating a virtual viewpoint sound. Then, in step S1602, the back-end server 270 generates virtual viewpoint sound in accordance with the instruction from the virtual camera operation UI 330. If it is determined in S1603 that the voice generation is to be ended, the process proceeds to S1604. If it is determined that the voice generation is to be continued, the process returns to S1602. The determination of S1603 may be performed in conjunction with the determination of S1601.
次に設置時及び撮影前ワークフローについて説明する。画像処理システム100は、設置時キャリブレーションを行う状態と通常の撮影を行う状態を動作モード変更により切替制御できる。なお、撮影中にある特定カメラのキャリブレーションが必要になるケースもあり、この場合には撮影とキャリブレーションという二種類の動作が両立する。
Next, the installation and pre-shooting workflow will be described. The image processing system 100 can switch and control the state of calibration at the time of installation and the state of normal imaging by changing the operation mode. In some cases, calibration of a specific camera is required during shooting, and in this case, two types of operations, shooting and calibration, are compatible.
設置時キャリブレーション処理について、図17に示すフローチャートを用いて説明する。図17においては、装置間で行われる指示に対するデータの受信完了や処理完了の通知についての記載は省略するが、指示に対して何らかのレスポンスが返却されるものとする。
The installation calibration process will be described using the flowchart shown in FIG. In FIG. 17, although description of notification of completion of reception of data and completion of processing in response to an instruction performed between devices is omitted, it is assumed that some response is returned in response to the instruction.
まず、カメラ112の設置が完了すると、ユーザは制御ステーション310に対して、設置時キャリブレーションの実行を指示する。すると、制御ステーション310は、フロントエンドサーバ230およびカメラアダプタ120に対して、キャリブレーション開始を指示する(S04100)。
First, when the installation of the camera 112 is completed, the user instructs the control station 310 to perform calibration at installation. Then, the control station 310 instructs the front end server 230 and the camera adapter 120 to start calibration (S04100).
フロントエンドサーバ230は、キャリブレーション開始指示を受けると、それ以降に受信した画像データをキャリブレーション用データと判定し、キャリブレーション部02140が処理できるように制御モードを変更する(S04102a)。また、カメラアダプタ120は、キャリブレーション開始指示を受けると、前景背景分離等の画像処理を行わず非圧縮のフレーム画像を扱う制御モードに移行する(S04102b)。さらに、カメラアダプタ120は、カメラ112に対してカメラモード変更を指示する(S04101)。これを受けたカメラ112は、例えば、フレームレートを1fpsに設定する。あるいは、カメラ112が動画でなく静止画を伝送するモードに設定してもよい(S04102c)。また、カメラアダプタ120によってフレームレートが制御されてキャリブレーション画像が伝送されるモードに設定してもよい。
When the front end server 230 receives the calibration start instruction, the front end server 230 determines the image data received thereafter as calibration data, and changes the control mode so that the calibration unit 02140 can process it (S04102 a). In addition, when receiving the calibration start instruction, the camera adapter 120 does not perform image processing such as foreground / background separation, and shifts to a control mode for handling an uncompressed frame image (S04102 b). Furthermore, the camera adapter 120 instructs the camera 112 to change the camera mode (S04101). The camera 112 having received this sets, for example, the frame rate to 1 fps. Alternatively, the camera 112 may be set to a mode for transmitting a still image instead of a moving image (S04102 c). In addition, the frame rate may be controlled by the camera adapter 120 and a mode may be set in which a calibration image is transmitted.
制御ステーション310は、カメラアダプタ120に対して、カメラのズーム値とフォーカス値の取得を指示し(S04103)、カメラアダプタ120は、制御ステーション310に、カメラ112のズーム値とフォーカス値を送信する(S04104)。
The control station 310 instructs the camera adapter 120 to acquire the zoom value and the focus value of the camera (S04103), and the camera adapter 120 transmits the zoom value and the focus value of the camera 112 to the control station 310 (S04103) S04104).
なお図17においては、カメラアダプタ120及びカメラ112はそれぞれ1つしか記載しないが、カメラアダプタ120及びカメラ112に関する制御は、画像処理システム100内の全カメラアダプタ120及び全カメラ112に対してそれぞれ実行される。そのため、S04103及びS04104はカメラ台数分実行され、全カメラ112に対するS04103及びS04104の処理が完了した時点で、制御ステーション310は、全カメラ分のズーム値とフォーカス値を受信できている状態となる。
Although only one camera adapter 120 and one camera 112 are described in FIG. 17, control relating to the camera adapter 120 and the camera 112 is performed for all the camera adapters 120 and all the cameras 112 in the image processing system 100. Be done. Therefore, S04103 and S04104 are executed by the number of cameras, and when the processing of S04103 and S04104 for all the cameras 112 is completed, the control station 310 can receive zoom values and focus values for all the cameras.
制御ステーション310は、フロントエンドサーバ230に、S04104で受信した全カメラ分のズーム値とフォーカス値を送信する(S04105)。
The control station 310 transmits the zoom values and focus values for all the cameras received in S04104 to the front end server 230 (S04105).
次いで、制御ステーション310は、フロントエンドサーバ230に、設置時キャリブレーション用撮影の撮影パターンを通知する(S04106)。
Next, the control station 310 notifies the front end server 230 of a shooting pattern of shooting for calibration at installation (S04106).
ここで撮影パターンには、画像特徴点となるマーカ等をグラウンド内で動かして複数回撮影する場合の、別タイミングで撮影された画像を区別するためのパターン名(例えばパターン1―10)の属性が付加される。つまり、フロントエンドサーバ230は、S04106以降に受信したキャリブレーション用の画像データを、S04106で受信した撮影パターンにおける撮影画像であると判定する。そして、制御ステーション310は、カメラアダプタ120に対して同期静止画撮影を指示し(S04107)、カメラアダプタ120は、全カメラで同期した静止画撮影をカメラ112に指示する(S04108)。そして、カメラ112は撮影画像をカメラアダプタ120に送信する(S04109)。
Here, in the shooting pattern, an attribute of a pattern name (for example, patterns 1 to 10) for distinguishing an image captured at another timing when a marker or the like serving as an image feature point is moved within the ground and captured a plurality of times Is added. That is, the front end server 230 determines that the calibration image data received after S04106 is a photographed image in the photographing pattern received in S04106. Then, the control station 310 instructs the camera adapter 120 to perform synchronous still image shooting (S04107), and the camera adapter 120 instructs the camera 112 to perform still image shooting synchronized with all cameras (S04108). Then, the camera 112 transmits the photographed image to the camera adapter 120 (S04109).
なお、注視点のグループが複数ある場合には、注視点グループ毎にS04106からS04111のキャリブレーション用画像撮影を行っても良い。
In addition, when there are a plurality of groups of fixation points, the calibration image shooting of S04106 to S04111 may be performed for each fixation point group.
そして、制御ステーション310は、カメラアダプタ120に対して、S04107で撮影指示した画像をフロントエンドサーバ230に伝送するように指示する(S04110)。さらに、カメラアダプタ120は、伝送先として指定されたフロントエンドサーバ230にS04109で受信した画像を伝送する(S04111)。
Then, the control station 310 instructs the camera adapter 120 to transmit the image instructed to be shot in S04107 to the front end server 230 (S04110). Furthermore, the camera adapter 120 transmits the image received in S04109 to the front end server 230 specified as the transmission destination (S04111).
S04111で伝送するキャリブレーション用画像については、前景背景分離等の画像処理が行われず、撮影された画像が圧縮せずにそのまま伝送されるものとする。そのため、全カメラが高解像度で撮影を行う場合や、カメラ台数が多くなった場合、伝送帯域の制約上、全ての非圧縮画像を同時に送信することができなくなることが発生する虞がある。その結果、ワークフローの中でキャリブレーションに要する時間が長くなる虞がある。その場合、S04110の画像伝送指示において、カメラアダプタ120の1台ずつに対して、キャリブレーションのパターン属性に応じた非圧縮画像の伝送指示が順番に行われる。さらにこのような場合、マーカのパターン属性に応じたより多くの特徴点を撮影する必要があるため、複数マーカを用いたキャリブレーション用の画像撮影が行われる。この場合、負荷分散の観点から、画像撮影と非圧縮画像伝送を非同期に行ってもよい。また、キャリブレーション用の画像撮影で取得した非圧縮画像を、カメラアダプタ120にパターン属性ごとに逐次蓄積し、並行して非圧縮画像の伝送をS04110の画像伝送指示に応じて行う。これにより、ワークフローの処理時間やヒューマンエラーの削減を図ることができる効果がある。
It is assumed that no image processing such as foreground / background separation is performed on the calibration image transmitted in S04111, and the captured image is transmitted as it is without compression. Therefore, when all the cameras shoot at high resolution, or when the number of cameras increases, it may occur that all uncompressed images can not be transmitted simultaneously due to the limitation of the transmission band. As a result, the time required for calibration in the workflow may be long. In that case, in the image transmission instruction of S04110, the transmission instruction of the non-compressed image according to the pattern attribute of the calibration is sequentially issued to each camera adapter 120 one by one. Furthermore, in such a case, it is necessary to capture more feature points in accordance with the pattern attribute of the marker, so that calibration image capture is performed using a plurality of markers. In this case, image capture and non-compression image transmission may be performed asynchronously from the viewpoint of load distribution. In addition, the non-compressed image acquired by image capturing for calibration is sequentially accumulated in the camera adapter 120 for each pattern attribute, and transmission of the non-compressed image is performed in parallel in accordance with the image transmission instruction of S04110. This has the effect of being able to reduce workflow processing time and human errors.
全カメラ112においてS04111の処理が完了した時点で、フロントエンドサーバ230は、全カメラ分の撮影画像を受信できている状態となる。
When the process of S04111 is completed in all the cameras 112, the front end server 230 is in a state in which the photographed images for all the cameras can be received.
前述したように、撮影パターンが複数ある場合には、S04106からS04111の処理をパターン数分繰り返す。
As described above, when there are a plurality of shooting patterns, the processing of S04106 to S04111 is repeated for the number of patterns.
次いで、全てのキャリブレーション用撮影が完了すると、制御ステーション310は、フロントエンドサーバ230に対して、カメラパラメータ推定処理を指示する(S04112)。
Next, when all calibration imaging has been completed, the control station 310 instructs the front end server 230 to perform camera parameter estimation processing (S04112).
フロントエンドサーバ230は、カメラパラメータ推定処理指示を受けると、S04105で受信した全カメラ分のズーム値とフォーカス値、及びS04111で受信した全カメラ分の撮影画像を用いて、カメラパラメータ推定処理を行う(S04113)。S04113におけるカメラパラメータ推定処理の詳細については後述する。なお、注視点が複数ある場合には、注視点グループ毎にS04113のカメラパラメータ推定処理を行うものとする。
When receiving the camera parameter estimation processing instruction, the front end server 230 performs camera parameter estimation processing using the zoom values and focus values for all cameras received in S04105 and the photographed images for all cameras received in S04111. (S04113). Details of the camera parameter estimation process in S04113 will be described later. When there are a plurality of fixation points, the camera parameter estimation process of S04113 is performed for each fixation point group.
そして、フロントエンドサーバ230は、S04113のカメラパラメータ推定処理の結果として導出された全カメラ分のカメラパラメータをデータベース250に送信して保存する(S04114)。
Then, the front end server 230 transmits the camera parameters for all the cameras derived as a result of the camera parameter estimation process of S04113 to the database 250 for storage (S04114).
また、フロントエンドサーバ230は、制御ステーション310に対しても同様に全カメラ分のカメラパラメータを送信(S04115)する。制御ステーション310は、カメラアダプタ120に対して、各カメラ112に対応するカメラパラメータを送信し(S04116)、カメラアダプタ120は、受信した自カメラ112のカメラパラメータを保存する(S04117)。
The front end server 230 similarly transmits camera parameters for all cameras to the control station 310 (S04115). The control station 310 transmits camera parameters corresponding to each camera 112 to the camera adapter 120 (S04116), and the camera adapter 120 stores the received camera parameters of the own camera 112 (S04117).
そして、制御ステーション310は、キャリブレーション結果を確認する(S04118)。確認方法としては、導出されたカメラパラメータの数値を確認しても良いし、S04114のカメラパラメータ推定処理の演算過程を確認しても良いし、カメラパラメータを用いて画像生成を行い、生成された画像を確認するようにしても良い。そして、制御ステーション310は、フロントエンドサーバ230に対して、キャリブレーション終了を指示する(S04119)。
Then, the control station 310 confirms the calibration result (S04118). As a confirmation method, the numerical value of the derived camera parameter may be confirmed, or the calculation process of the camera parameter estimation process of S04114 may be confirmed, or an image is generated using the camera parameter. The image may be confirmed. Then, the control station 310 instructs the front end server 230 to finish the calibration (S04119).
フロントエンドサーバ230はキャリブレーション終了指示を受けると、S04101で実行したキャリブレーション開始処理とは逆に、それ以降に受信した画像データをキャリブレーション用データでないと判定するよう制御モードを変更する(S04120)。
When the front end server 230 receives the calibration end instruction, the control mode is changed to determine that the image data received after that is not the calibration data, contrary to the calibration start processing executed in S04101 (S04120) ).
以上の処理により、設置時キャリブレーション処理として、全カメラ分のカメラパラメータを導出し、導出されたカメラパラメータをカメラアダプタ120及びデータベース250に保存することができる。
By the above-described processing, as installation calibration processing, camera parameters for all cameras can be derived, and the derived camera parameters can be stored in the camera adapter 120 and the database 250.
また、上述した設置時キャリブレーション処理は、カメラ設置後及び撮影前に実施され、カメラが動かされなければ再度処理する必要はないが、カメラを動かす場合(例えば、試合の前半と後半とで注視点を変更するなど)には、再度同様の処理が行われる。
Also, the above-mentioned installation calibration process is performed after camera installation and before shooting, and there is no need to process it again if the camera is not moved, but when moving the camera (for example, note in the first half and the second half of the game) The same processing is performed again to change the viewpoint).
また、撮影中にボールがぶつかる等のアクシデントにより所定の閾値以上にカメラ112が動いてしまった場合に、当該カメラ112を撮影状態からキャリブレーション開始状態に遷移させ上述の設置時キャリブレーションを行っても良い。その場合、システムとしては通常の撮影状態を維持し、当該カメラ112のみがキャリブレーション用画像を伝送している旨をフロントエンドサーバ230に通知することで、システム全体をキャリブレーションモードにする必要はなく撮影の継続性を図れる。さらには、本システムのデイジーチェーンでの伝送においては、通常の撮影における画像データの伝送帯域にキャリブレーション用の非圧縮画像を送ると、伝送帯域制限を超過する場合が考えられる。この場合、非圧縮画像の伝送優先度を下げたり、非圧縮画像を分割して送信したりすることで対応する。さらには、カメラアダプタ120間の接続が10GbEなどの場合は、全二重の特徴を使うことで、通常の撮影の画像データ伝送とは逆向きに非圧縮画像を伝送することで帯域確保が図れるという効果がある。
In addition, when the camera 112 moves above a predetermined threshold due to an accident such as ball collision during shooting, the camera 112 is transitioned from the shooting state to the calibration start state, and the above-described calibration is performed at the time of installation. Also good. In that case, it is necessary to keep the entire system in the calibration mode by maintaining the normal shooting state as the system and notifying the front end server 230 that only the camera 112 is transmitting the calibration image. It is possible to achieve the continuity of shooting. Furthermore, in the daisy chain transmission of the present system, when the uncompressed image for calibration is sent to the transmission band of the image data in normal imaging, the transmission band limit may be exceeded. In this case, the transmission priority of the non-compressed image is lowered or the non-compressed image is divided and transmitted. Furthermore, when the connection between the camera adapters 120 is 10 GbE or the like, by using the full-duplex feature, it is possible to secure a band by transmitting an uncompressed image in the opposite direction to the image data transmission of normal shooting. It has the effect of
また、複数の注視点のうちの1つの注視点を変更したい場合など、1つの注視点グループのカメラ112のみ、上述した設置時キャリブレーション処理を再度行うようにしても良い。その場合、キャリブレーション処理中は、対象の注視点グループのカメラ112については、通常の画像撮影及び仮想視点画像生成を行うことができない。そのため、キャリブレーション処理中であることが制御ステーション310に通知され、制御ステーション310が仮想カメラ操作UI330に対して視点操作の制限をかけるなどの処理を要求する。フロントエンドサーバ230では、仮想視点画像生成の処理に影響が出ないよう制御してカメラパラメータ推定処理を行うものとする。
Further, when it is desired to change one of the plurality of fixation points, only the camera 112 of one fixation point group may perform the above-mentioned calibration process at the time of installation again. In that case, normal imaging and virtual viewpoint image generation can not be performed for the camera 112 of the target gaze point group during the calibration process. Therefore, the control station 310 is notified that the calibration process is in progress, and the control station 310 requests the virtual camera operation UI 330 to perform processing such as restriction of the viewpoint operation. The front end server 230 performs camera parameter estimation processing by performing control so as not to affect the processing of virtual viewpoint image generation.
図18のフローチャートに従って、設置前ワークフローのS1200及び設置時ワークフローS1305におけるフロントエンドサーバ230の動作について説明する。
設置前ワークフローのS1200に於いて、フロントエンドサーバ230の制御部02110は制御ステーション310からCADデータの入力モードに切り替える指示を受信し、CADデータ入力モードに切り替えを行う(S02210)。
The operation of the front end server 230 in S1200 of the pre-installation workflow and the workflow S1305 upon installation will be described according to the flowchart of FIG.
In step S1200 of the pre-installation workflow, the control unit 02110 of the front end server 230 receives an instruction to switch to the CAD data input mode from the control station 310, and switches to the CAD data input mode (S02210).
データ入力制御部02120は制御ステーション310からスタジアムCADデータ(スタジアム形状データ)を受信する(S02220)。データ入力制御部02120は受信したデータを非撮影データファイル生成部02185とCADデータ記憶部02135に送信する。CADデータ記憶部02135はデータ入力制御部02120から受信したスタジアム形状データを記憶媒体に保存する(S02230)。
The data input control unit 02120 receives stadium CAD data (stadium shape data) from the control station 310 (S02220). The data input control unit 02120 transmits the received data to the non-imaging data file generation unit 02185 and the CAD data storage unit 02135. The CAD data storage unit 02135 stores the stadium shape data received from the data input control unit 02120 in a storage medium (S02230).
設置時ワークフローのS1305に於いて、制御部02110は制御ステーション310からキャリブレーションモードに切り替える指示を受信し、キャリブレーションモードに切り替えを行う(S02240)。
In step S1305 of the installation workflow, the control unit 02110 receives an instruction to switch to the calibration mode from the control station 310, and switches to the calibration mode (S02240).
データ入力制御部02120はカメラアダプタ120からキャリブレーション撮影画像を受信し、キャリブレーション部02140にキャリブレーション撮影画像を送信する(S02250)。
The data input control unit 02120 receives the calibration photographed image from the camera adapter 120, and transmits the calibration photographed image to the calibration unit 02140 (S02250).
キャリブレーション部02140はキャリブレーションを行い、カメラパラメータを導出する(S02260)。キャリブレーション部02140は導出されたカメラパラメータを記憶領域へ保存し、非撮影データファイル生成部02185及びDBアクセス制御部02190を介してデータベース250にカメラパラメータを送信する(S02270)。
The calibration unit 02140 performs calibration to derive camera parameters (S02260). The calibration unit 02140 stores the derived camera parameter in the storage area, and transmits the camera parameter to the database 250 via the non-photographing data file generation unit 02185 and the DB access control unit 02190 (S02270).
図19のフローチャートに従って、設置前ワークフローのS1200におけるデータベース250の動作について説明する。データベース250は、コントローラ300からの指示に基づいて以下に説明する図19及び図20の処理を実行する。
The operation of the database 250 in S1200 of the pre-installation workflow will be described according to the flowchart of FIG. The database 250 executes the processing of FIGS. 19 and 20 described below based on an instruction from the controller 300.
設置前ワークフローのS1200に於いて、データ入力部02420はフロントエンドサーバ230からスタジアムCADデータ(スタジアム形状データ)を受信し、キャッシュ02440上にデータを保存する(S02510)。キャッシュ02440は保存されたスタジアムCADデータを一次ストレージ02450に移動して格納する(S02520)。
In S1200 of the pre-installation workflow, the data input unit 02420 receives stadium CAD data (stadium shape data) from the front end server 230, and stores the data on the cache 02440 (S02510). The cache 02440 moves and stores the stored stadium CAD data to the primary storage 02450 (S02520).
図20のフローチャートに従って、設置時ワークフローのS1305におけるデータベース250の動作について説明する。
The operation of the database 250 in step S1305 of the installation workflow will be described according to the flowchart of FIG.
設置時ワークフローのS1305に於いて、データ入力部02420はフロントエンドサーバ230からカメラパラメータを受信し、キャッシュ02440上にデータを保存する(S02530)。
In S1305 of the installation workflow, the data input unit 02420 receives the camera parameters from the front end server 230, and stores the data on the cache 02440 (S02530).
キャッシュ02440は保存されたカメラパラメータを一次ストレージ02450に移動して格納する(S02540)。制御ステーション310からの指示、またはキャッシュ02440の容量に応じて、制御部02410はキャッシュするフレーム数Nを設定する(S02550)。
The cache 02440 moves and stores the stored camera parameter to the primary storage 02450 (S02540). In accordance with the instruction from the control station 310 or the capacity of the cache 02440, the control unit 02410 sets the number N of frames to be cached (S02550).
続いて、フロントエンドサーバ230のキャリブレーション部02140における、カメラパラメータ推定処理について、図21に示すフローチャートを用いて説明する。なお、キャリブレーション部02140は、制御ステーション310からの指示に基づいて、カメラパラメータ推定処理を実行する。本シーケンスを開始する時点で、内部パラメータマップ、スタジアムデータ、全カメラ分のズーム値とフォーカス値、及び全カメラ分のキャリブレーション用撮影画像は、キャリブレーション部02140が既に保持しているものとする。
Subsequently, camera parameter estimation processing in the calibration unit 02140 of the front end server 230 will be described using the flowchart shown in FIG. The calibration unit 02140 executes camera parameter estimation processing based on an instruction from the control station 310. At the time of starting this sequence, it is assumed that the calibration unit 02140 already holds the internal parameter map, stadium data, zoom values and focus values for all cameras, and calibration photographed images for all cameras. .
まずキャリブレーション部02140は、カメラ112を特定し(S04201)、対応するズーム値とフォーカス値を特定し、特定したズーム値とフォーカス値より、内部パラメータマップを用いて内部パラメータ初期値を導出する(S04202)。S04202における内部パラメータ初期値の導出が全カメラ分完了するまで、S04201とS04202の処理が繰り返される(S04203)。
First, the calibration unit 02140 identifies the camera 112 (S04201), identifies the corresponding zoom value and focus value, and derives an internal parameter initial value using the internal parameter map from the identified zoom value and focus value ( S04202). The processes of S04201 and S04202 are repeated until the derivation of the internal parameter initial value in S04202 is completed for all the cameras (S04203).
次いでキャリブレーション部02140は、再度カメラ112を特定し、対応するキャリブレーション用撮影画像を特定し(S04204)、画像内の特徴点(画像特徴点)を検出する(S04205)。
Next, the calibration unit 02140 identifies the camera 112 again, identifies the corresponding calibration pickup image (S04204), and detects a feature point (image feature point) in the image (S04205).
画像特徴点としては、例えば、キャリブレーション用に用意したマーカや、予めスタジアムの地面に描かれているピッチラインや、予め置かれている物(例えば、サッカーゴールや選手控えベンチなど)のエッジ部分などが挙げられる。
As image feature points, for example, markers prepared for calibration, pitch lines drawn in advance on the ground of the stadium, and edge portions of objects placed in advance (for example, soccer goals, player benches, etc.) Etc.
S04205における画像特徴点検出が全カメラ分完了するまで、S04205とS04205の処理が繰り返される(S04206)。
The processing of S04205 and S04205 is repeated until the detection of the image feature point in S04205 for all the cameras is completed (S04206).
次いでキャリブレーション部02140は、S04205で検出した各カメラ112におけるキャリブレーション用撮影画像の画像特徴点のマッチングを行う(S04207)。そして、カメラ112間でマッチングされた使用特徴点数が閾値以下であるかを判定する(S04208)。S04208で用いる使用特徴点数の閾値については予め設定しておいても良いし、カメラ台数や画角などの撮影条件によって自動で導出するようにしても良く、外部パラメータ推定を行うために最低限必要である値が用いられる。
Next, the calibration unit 02140 performs matching of the image feature points of the photographed image for calibration in each camera 112 detected in S04205 (S04207). Then, it is determined whether the use feature score matched between the cameras 112 is equal to or less than a threshold (S04208). The threshold value of the feature number to be used in S04208 may be set in advance, or may be automatically derived according to the shooting conditions such as the number of cameras and the angle of view, and is at least necessary for external parameter estimation. The value is used.
S04208でキャリブレーション部02140は、使用特徴点数が閾値以下でない場合、各カメラ112の外部パラメータ推定処理を行う(S04209)。そして、S04209の外部パラメータ推定処理の結果、再投影誤差が閾値以下であるかを判定する(S04210)。S04210で用いる再投影誤差の閾値については予め設定しておいても良いし、カメラ台数などの撮影条件によって自動で導出するようにしても良く、生成する仮想視点画像の精度に応じた値が用いられる。
If the used feature score is not equal to or less than the threshold in S04208, the calibration unit 02140 performs external parameter estimation processing for each camera 112 (S04209). Then, as a result of the external parameter estimation process of S04209, it is determined whether the reprojection error is equal to or less than the threshold (S04210). The threshold of the reprojection error used in S04210 may be set in advance, or may be automatically derived according to the shooting conditions such as the number of cameras, and a value corresponding to the accuracy of the virtual viewpoint image to be generated is used. Be
S04210の判定において、再投影誤差が閾値以下でない場合、キャリブレーション部02140は誤差が大きいと判断し、S04205における画像特徴点の誤検出、及びS04207における画像特徴点の誤マッチングの削除処理を行う(S04211)。
If it is determined in S04210 that the reprojection error is not equal to or less than the threshold, the calibration unit 02140 determines that the error is large, and performs processing for deleting the image feature point erroneously in S04205 and erroneously matching the image feature point in S04207 ( S04211).
S04211の誤検出及び誤マッチングの判定方法としては、例えばキャリブレーション部02140が再投影誤差の大きい特徴点を自動で削除するようにしても良いし、ユーザが再投影誤差及び画像を見ながら手作業で削除するようにしても良い。
For example, the calibration unit 02140 may automatically delete a feature point with a large reprojection error as a method of determining a false detection and a false matching in S04211. Alternatively, the user may manually perform a manual operation while viewing the reprojection error and the image. You may delete it by.
そしてキャリブレーション部02140は、S04202で導出した内部パラメータ初期値に対して、内部パラメータの補正を行う(S04212)。
Then, the calibration unit 02140 corrects the internal parameter with respect to the initial value of the internal parameter derived in S04202 (S04212).
そして、S04208において使用特徴点数が閾値以下にならない範囲で、S04210において再投影誤差が閾値以下になるまで、S04208からS04212の処理を繰り返す。
Then, the processing of S04208 to S04212 is repeated until the reprojection error becomes equal to or less than the threshold in S04210 within the range where the number of used feature points does not become equal to or less than the threshold in S04208.
S04208の判定においてキャリブレーション部02140は、使用特徴点数が閾値以下であればキャリブレーション失敗と判断する(S04213)。キャリブレーション失敗の場合、キャリブレーション用撮影からやり直すなどの対応が行われる。成功又は失敗の判断結果は、逐次制御ステーション310に対して通知され、失敗時点以降のキャリブレーション処理を実施するなどの対応が、一元的に制御ステーション310で管理される。
If it is determined in S04208 that the used feature score is equal to or less than the threshold value, the calibration unit 02140 determines that the calibration has failed (S04213). In the case of calibration failure, measures such as starting again from calibration imaging are performed. The determination result of success or failure is notified to the control station 310 one by one, and the control station 310 centrally manages correspondence such as performing calibration processing after the failure time point.
S04210の判定において、再投影誤差が閾値以下であれば、キャリブレーション部02140は、スタジアムデータを用いて、S04209で推定された外部パラメータ座標について、カメラ座標系から世界座標系へ剛体変換を行う(S04214)。
If it is determined in S04210 that the reprojection error is equal to or less than the threshold value, calibration unit 02140 performs rigid body transformation from the camera coordinate system to the world coordinate system for the external parameter coordinates estimated in S04209 using stadium data ( S04214).
ここで用いるスタジアムデータとしては、X/Y/Z軸それぞれの原点(例えばピッチ上のセンターサークルの中心点など)、及びスタジアム内の複数の特徴点(例えばピッチラインの交差点など)の座標値など、剛体変換を行うための座標値が定義される。
As stadium data used here, the origin of each of X / Y / Z axes (for example, the center point of the center circle on the pitch) and coordinate values of a plurality of feature points in the stadium (for example, the intersection of pitch lines) , Coordinate values for performing rigid body transformation are defined.
ただし、スタジアムデータが存在しない、もしくはデータの精度が低い場合などは、剛体変換を行うための世界座標の入力を手動で行うようにしても良いし、世界座標を示すためのデータがキャリブレーション部02140に別途与えられるようにしても良い。
However, if there is no stadium data, or if the accuracy of the data is low, etc., world coordinates may be manually input to perform rigid body conversion, and the data for indicating world coordinates may be a calibration unit. It may be separately provided to 02140.
また、S04214の処理を行うことでキャリブレーション用撮影画像内の世界座標が導出されるため、導出結果を用いて、予めスタジアムデータに記録されているスタジアム内の特徴点の座標をより精度が高くなるよう更新しても良い。
Moreover, since the world coordinates in the captured image for calibration are derived by performing the processing of S04214, the coordinates of the feature points in the stadium that are recorded in the stadium data in advance are more highly accurate using the derivation result. It may be updated to become
以上の処理により、カメラパラメータ推定処理フローとして、全カメラ分のカメラパラメータが導出され、導出されたカメラパラメータをカメラアダプタ120及びデータベース250に保存することができる。
By the above processing, camera parameters for all cameras can be derived as the camera parameter estimation processing flow, and the derived camera parameters can be stored in the camera adapter 120 and the database 250.
なお、複数カメラの撮影画像を用いて仮想視点画像生成を行うシステムにおいては、カメラ112設置時に各カメラ112の位置姿勢推定を行うキャリブレーション処理(設置時キャリブレーション)が必要である。
Note that, in a system that generates virtual viewpoint images using captured images of a plurality of cameras, calibration processing (calibration at the time of installation) is necessary to estimate the position and orientation of each camera 112 when the camera 112 is installed.
設置時キャリブレーションでは、各カメラのカメラパラメータを求める処理が行われる。カメラパラメータとは、カメラ固有の内部パラメータ(焦点距離、画像中心、及びレンズ歪みパラメータ等)と、カメラの位置姿勢を表す外部パラメータ(回転行列及び位置ベクトル等)から成る。設置時キャリブレーション処理が完了すると、各カメラのカメラパラメータが導出された状態となる。
In the installation calibration, a process of obtaining camera parameters of each camera is performed. The camera parameters are composed of camera-specific internal parameters (focal length, image center, lens distortion parameter, etc.) and external parameters (rotation matrix, position vector, etc.) representing the position and orientation of the camera. When the installation calibration process is completed, the camera parameters of each camera are derived.
カメラパラメータのうち、内部パラメータは、カメラ112及びレンズが定まっている場合、ズーム値とフォーカス値に応じて変わるパラメータである。そのため、本システムにおいては、カメラ112をスタジアムに設置する以前に、同カメラ112及びレンズを用いて、内部パラメータ導出に必要な撮影を行うことで内部パラメータの導出を行っておく。そして、カメラ112をスタジアムに設置した際にズーム値とフォーカス値が決まると、自動的に内部パラメータを導出することができるようにしておく。これを本明細書では内部パラメータをマップ化すると表現し、マップ化の結果を内部パラメータマップと記載する。
Among the camera parameters, the internal parameter is a parameter that changes according to the zoom value and the focus value when the camera 112 and the lens are determined. Therefore, in the present system, before installing the camera 112 in the stadium, the internal parameters are derived by performing photographing necessary for deriving the internal parameters using the camera 112 and the lens. Then, when the zoom value and the focus value are determined when the camera 112 is installed in the stadium, internal parameters can be automatically derived. This is referred to herein as mapping internal parameters, and the result of the mapping is referred to as an internal parameter map.
内部パラメータマップの形式としては、ズーム値とフォーカス値に応じた内部パラメータを複数パターン記録しておく形式としても良いし、内部パラメータ値を算出できる演算式の形式としても良い。即ち、内部パラメータマップは、ズーム値とフォーカス値に応じて一意に内部パラメータが求まるものであればよい。
As the format of the internal parameter map, a plurality of patterns of internal parameters corresponding to the zoom value and the focus value may be recorded, or a formula of an operational expression capable of calculating the internal parameter value may be used. That is, the internal parameter map may be any one that can uniquely obtain the internal parameter according to the zoom value and the focus value.
また、内部パラメータマップによって求められたパラメータ値は、内部パラメータの初期値として用いられるものとする。そして、カメラパラメータ推定処理結果としての内部パラメータは、カメラ112をスタジアムに設置した後にキャリブレーション用として撮影した画像を用いたカメラパラメータ推定処理の過程で補正された値となる。
Further, parameter values obtained by the internal parameter map are used as initial values of the internal parameters. The internal parameter as the result of the camera parameter estimation process is a value corrected in the process of the camera parameter estimation process using the image captured for calibration after the camera 112 is installed in the stadium.
また、本実施形態では、設置されるカメラ112及びレンズは何れも同機種であり、同ズーム値及び同フォーカス値であれば内部パラメータも同じであるものとする。ただしこれに限らず、複数機種のカメラ112及びレンズを用いる場合など、同ズーム値及び同フォーカス値であっても内部パラメータに個体差がある場合は、機種毎及びカメラ112毎に内部パラメータマップを保持するようにしても良い。
Further, in the present embodiment, both the camera 112 and the lens to be installed are of the same model, and if the zoom value and the focus value are the same, the internal parameters are also the same. However, the present invention is not limited to this, and when there are individual differences in internal parameters even when the zoom value and the focus value are used, such as when using cameras 112 and lenses of multiple models, an internal parameter map for each model and camera 112 is used. You may hold it.
次に、カメラ112による撮影、マイク111による収音、及び、撮影又は収音されたデータをカメラアダプタ120及びフロントエンドサーバ230を介してデータベース250へ蓄積する処理について説明する。
Next, a process of storing a picture taken by the camera 112, a sound collection by the microphone 111, and data photographed or picked up in the database 250 via the camera adapter 120 and the front end server 230 will be described.
図22a及び図22bを使用して、カメラ112の撮影開始処理シーケンスについて説明する。図22a及び図22bはそれぞれ内容が異なる処理シーケンスを示しているが、何れのシーケンスに従っても同様の結果を得ることができる。カメラアダプタ120は、図22aに示した処理を行うか図22bに示した処理を行うかを、カメラ112の仕様に応じて選択する。
The imaging start processing sequence of the camera 112 will be described using FIGS. 22 a and 22 b. Although FIGS. 22a and 22b show different processing sequences, the same result can be obtained according to any sequence. The camera adapter 120 selects whether to perform the process shown in FIG. 22 a or the process shown in FIG. 22 b according to the specifications of the camera 112.
まず図22aについて説明する。タイムサーバ290は例えばGPS2201などと時刻同期を行い、タイムサーバ内で管理される時刻の設定を行う(06801)。なおGPS2201を用いた方法に限定されるものではなく、NTP(Network Time Protocol)など他の方法で時刻を設定してもよい。
First, FIG. 22a will be described. The time server 290 performs time synchronization with, for example, the GPS 2201 and the like, and sets the time managed in the time server (06801). In addition, it is not limited to the method using GPS2201, You may set time by other methods, such as NTP (Network Time Protocol).
次にカメラアダプタ120はタイムサーバ290との間でPTP(Precision Time Protocol)を使用した通信を行い、カメラアダプタ120内で管理される時刻を補正しタイムサーバ290と時刻同期を行う(06802)。
Next, the camera adapter 120 communicates with the time server 290 using PTP (Precision Time Protocol), corrects the time managed in the camera adapter 120, and synchronizes with the time server 290 (06802).
カメラアダプタ120はカメラ112に対して、Genlock信号や3値同期信号等の同期撮影信号及びタイムコード信号を、撮影フレームに同期して提供し始める(06803)。なお提供される情報はタイムコードに限定されるものではなく、撮影フレームを識別できる識別子であれば他の情報でもよい。
The camera adapter 120 starts to provide synchronized shooting signals such as a Genlock signal and a ternary synchronization signal and a time code signal to the camera 112 in synchronization with the shooting frame (06803). The information to be provided is not limited to the time code, and may be other information as long as it is an identifier that can identify the shooting frame.
次に、カメラアダプタ120はカメラ112に対して撮影開始指示を行う(06804)。
Next, the camera adapter 120 instructs the camera 112 to start photographing (06804).
カメラ112は撮影開始指示を受けると、Genlock信号に同期して撮影を行う(06805)。
When the camera 112 receives the imaging start instruction, the imaging is performed in synchronization with the Genlock signal (06805).
次に、カメラ112は撮影した画像にタイムコード信号を含めてカメラアダプタ120へ送信する(06806)。カメラ112が撮影を停止するまでGenlock信号に同期した撮影が行われる。
Next, the camera 112 includes a time code signal in the captured image and transmits it to the camera adapter 120 (06806). Shooting synchronized with the Genlock signal is performed until the camera 112 stops shooting.
カメラアダプタ120は撮影途中にタイムサーバ290との間でのPTP時刻補正処理を行い、Genlock信号の発生タイミングを補正する(06807)。必要な補正量が大きくなる場合は、予め設定された変更量に応じた補正を適用してもよい。
The camera adapter 120 performs PTP time correction processing with the time server 290 during photographing to correct the generation timing of the Genlock signal (06807). When the required correction amount becomes large, the correction according to the preset change amount may be applied.
以上により、システム内の複数のカメラアダプタ120に接続する複数のカメラ112の同期撮影を実現する事ができる。
By the above, synchronous photography of a plurality of cameras 112 connected to a plurality of camera adapters 120 in the system can be realized.
次に図22bについて説明する。まず図22aの場合と同様に、カメラアダプタ120、タイムサーバ290及びGPS2201の間で時刻同期処理が行われる(06801、06802)。次に、カメラアダプタ120は撮影開始指示を行う(06853)。撮影開始指示の中には撮影期間やフレーム数を指定する情報が含まれる。カメラ112は撮影開始指示に従い撮影を行う(06854)。
Next, FIG. 22 b will be described. First, time synchronization processing is performed among the camera adapter 120, the time server 290, and the GPS 2201 as in the case of FIG. 22a (06801, 06802). Next, the camera adapter 120 issues a shooting start instruction (06853). The shooting start instruction includes information for specifying a shooting period and the number of frames. The camera 112 shoots according to the shooting start instruction (06854).
次にカメラ112は撮影した画像データをカメラアダプタ120へ送信する(06855)。
Next, the camera 112 transmits the photographed image data to the camera adapter 120 (06855).
画像データを受取ったカメラアダプタ120は画像データのメタ情報にタイムコードを付与する(06856)。
The camera adapter 120 that has received the image data adds a time code to the meta information of the image data (06856).
カメラアダプタ120は撮影途中にタイムサーバ290との間でのPTP時刻補正処理を行い、カメラ112に対して撮影タイミングの補正を行う。必要な補正量が大きくなる場合は、予め設定された変更量に応じた補正を適用してもよい。例えば、1フレーム毎など短いタイミングで撮影開始指示が繰返し行われる。
The camera adapter 120 performs PTP time correction processing with the time server 290 during photographing, and corrects the photographing timing of the camera 112. When the required correction amount becomes large, the correction according to the preset change amount may be applied. For example, the imaging start instruction is repeatedly performed at a short timing such as every one frame.
なお、図22a及び図22bではカメラ112の撮影開始処理シーケンスについて説明したが、マイク111もカメラ112の同期撮影と同様の処理を行い、同期集音を行う。一方、カメラ画像の高解像度化にともない、各カメラ112の画像フレームを伝送した際にデータ伝送量がネットワーク伝送帯域制限を超過する虞がある。この虞を低減する方法について、以下の実施形態で説明する。
Although the shooting start processing sequence of the camera 112 has been described with reference to FIGS. 22a and 22b, the microphone 111 performs the same processing as synchronous shooting of the camera 112 and performs synchronous sound collection. On the other hand, there is a possibility that the amount of data transmission may exceed the network transmission band limitation when transmitting the image frame of each camera 112 as the resolution of the camera image is increased. A method for reducing this fear will be described in the following embodiment.
まず、本実施形態における複数のカメラアダプタ120(120a、120b、120c、及び120d)が連動して三次元モデル情報を生成する処理シーケンスについて図23を用いて説明する。なお、処理の順番は図に示したものに限定される訳ではない。
First, a processing sequence in which a plurality of camera adapters 120 (120a, 120b, 120c, and 120d) in the present embodiment interlock to generate three-dimensional model information will be described with reference to FIG. The order of processing is not limited to that shown in the figure.
なお、本実施形態の画像処理システム100には26台のカメラ112とカメラアダプタ120が含まれるが、ここでは2台のカメラ112bと112c、及び、4台のカメラアダプタ120a、120b、120c、及び120dに注目して説明する。カメラ112bとカメラアダプタ120b、及びカメラ112cとカメラアダプタ120cは、其々接続されている。なおカメラアダプタ120aおよびカメラアダプタ120dに接続するカメラ112や、各カメラアダプタ120に接続するマイク111、雲台113、及び外部センサ114については省略する。
Although the image processing system 100 according to the present embodiment includes 26 cameras 112 and camera adapters 120, here, two cameras 112b and 112c, and four camera adapters 120a, 120b, 120c, and The description will be made focusing on 120d. The camera 112 b and the camera adapter 120 b, and the camera 112 c and the camera adapter 120 c are often connected. The camera 112 connected to the camera adapter 120a and the camera adapter 120d, the microphone 111 connected to each camera adapter 120, the camera platform 113, and the external sensor 114 are omitted.
また、カメラアダプタ120a―120dはタイムサーバ290と時刻同期が完了し、撮影状態となっているものとする。
Further, it is assumed that the camera adapters 120a to 120d have completed time synchronization with the time server 290 and are in a shooting state.
カメラ112bおよびカメラ112cは其々カメラアダプタ120b及び120cに対して撮影画像(1)及び撮影画像(2)を送信する(F06301、F06302)。
The camera 112b and the camera 112c transmit the photographed image (1) and the photographed image (2) to the camera adapters 120b and 120c, respectively (F06301, F06302).
カメラアダプタ120b及び120cは、受信した撮影画像(1)または撮影画像(2)に対して、キャリブレーション制御部06133においてキャリブレーション処理を行う(F06303、F06304)。キャリブレーション処理は例えば色補正やブレ補正等である。なお、本実施形態ではキャリブレーション処理が実施されているが、必ずしも実施しなくてもよい。
The camera adapters 120b and 120c perform calibration processing in the calibration control unit 06133 on the received captured image (1) or the received captured image (2) (F06303, F06304). The calibration process is, for example, color correction or shake correction. Although the calibration process is performed in the present embodiment, it may not be necessarily performed.
次に、キャリブレーション処理済の撮影画像(1)または撮影画像(2)に対して、前景背景分離部06131によって前景背景分離処理が行われる(F06305、F06306)。
Next, foreground / background separation processing is performed by the foreground / background separation unit 06131 on the captured image (1) or the captured image (2) on which calibration processing has been performed (F06305, F06306).
次に、分離された前景画像及び背景画像其々に対してデータ圧縮・伸張部06121において圧縮が行われる(F06307、F06308)。なお分離した前景画像及び背景画像の其々の重要度に応じて圧縮率が変更されてもよい。また、場合によっては圧縮を行わなくてもよい。例えば、カメラアダプタ120は、背景画像よりも前景画像の圧縮率が低くなるように、前景画像と背景画像とのうち少なくとも背景画像を圧縮して次のカメラアダプタ120に対して出力する。前景画像も背景画像も圧縮する場合、重要な撮影対象を含む前景画像はロスレス圧縮を行い、撮影対象を含まない背景画像に対してはロスあり圧縮を行う。これにより、この後に次のカメラアダプタ120cまたはカメラアダプタ120dに伝送されるデータ量を効率的に削減する事ができる。例えばサッカー、ラグビー及び野球等が開催されるスタジアムのフィールドを撮影した場合には、画像の大半が背景画像で構成され、プレーヤ等の前景画像の領域が小さいという特徴があるため、伝送データ量を大きく削減できることをここに明記しておく。
Next, compression is performed in the data compression / decompression unit 06121 for each of the separated foreground image and background image (F06307, F06308). The compression rate may be changed according to the degree of importance of the separated foreground image and background image. Also, in some cases, compression may not be performed. For example, the camera adapter 120 compresses at least the background image of the foreground image and the background image and outputs the compressed image to the next camera adapter 120 so that the compression ratio of the foreground image is lower than that of the background image. When the foreground image and the background image are both compressed, the foreground image including the important imaging target is subjected to lossless compression, and the background image not including the imaging target is subjected to lossy compression. As a result, it is possible to efficiently reduce the amount of data to be transmitted to the next camera adapter 120c or camera adapter 120d after this. For example, when shooting a field of a stadium where soccer, rugby, baseball, etc. are held, most of the image is composed of a background image, and the area of the foreground image of the player etc. is small. It is clearly stated here that significant reductions can be made.
さらには、カメラアダプタ120b又はカメラアダプタ120cは、重要度に応じて、次のカメラアダプタ120cまたはカメラアダプタ120dに対して出力する画像のフレームレートを変更してもよい。例えば、前景画像よりも背景画像の出力フレームレートが低くなるように、重要な撮影対象を含む前景画像は高フレームレートで出力し、撮影対象を含まない背景画像は低フレームレートで出力してもよい。この事によって更に次のカメラアダプタ120cまたはカメラアダプタ120dに伝送されるデータ量を削減する事ができる。またカメラ112の設置場所、撮影場所、及び/又はカメラ112の性能などに応じて、カメラアダプタ120毎に圧縮率や伝送フレームレートを変更してもよい。また、スタジアムの観客席等の三次元構造は図面を用いて事前に確認することができるため、カメラアダプタ120は背景画像から観客席の部分を除いた画像を伝送してもよい。これにより、後述のレンダリングの時点で、事前に生成したスタジアム三次元構造を利用することで試合中のプレーヤに重点化した画像レンダリングを実施し、システム全体で伝送及び記憶されるデータ量の削減ができるという効果が生まれる。
Furthermore, the camera adapter 120b or the camera adapter 120c may change the frame rate of the image to be output to the next camera adapter 120c or 120d depending on the importance. For example, even if the foreground image including the important imaging target is output at a high frame rate and the background image not including the imaging target is output at a low frame rate so that the output frame rate of the background image is lower than the foreground image. Good. This can further reduce the amount of data to be transmitted to the next camera adapter 120c or camera adapter 120d. Also, the compression rate and the transmission frame rate may be changed for each camera adapter 120 according to the installation location of the camera 112, the imaging location, and / or the performance of the camera 112, and the like. In addition, since a three-dimensional structure such as a spectator seat of the stadium can be confirmed in advance using a drawing, the camera adapter 120 may transmit an image obtained by removing the portion of the spectator seat from the background image. As a result, at the time of rendering, which will be described later, the image rendering focused on players in the game can be performed by utilizing the stadium three-dimensional structure generated in advance, and the amount of data transmitted and stored throughout the system can be reduced. The effect of being able to
次にカメラアダプタ120は、圧縮した前景画像及び背景画像を隣接するカメラアダプタ120に転送する(F06310、F06311、F06312)。なお、本実施形態では前景画像及び背景画像は同時に転送されているが、其々が個別に転送されてもよい。
Next, the camera adapter 120 transfers the compressed foreground image and background image to the adjacent camera adapter 120 (F06310, F06311, F06312). Although the foreground image and the background image are simultaneously transferred in the present embodiment, each may be separately transferred.
次に、カメラアダプタ120bは、カメラアダプタ120aから受信した前景画像と前景背景分離処理F06305で分離した前景画像とを使用して三次元モデル情報を作成する(F06313)。同様にカメラアダプタ120cも三次元モデル情報を作成する(F06314)。
Next, the camera adapter 120b creates three-dimensional model information using the foreground image received from the camera adapter 120a and the foreground image separated in the foreground / background separation processing F06305 (F06313). Similarly, the camera adapter 120c also creates three-dimensional model information (F06314).
次に、カメラアダプタ120bはカメラアダプタ120aから受信した前景画像及び背景画像をカメラアダプタ120cへ転送する(F06315)。カメラアダプタ120cも同様にカメラアダプタ120dへ前景画像及び背景画像を転送する。なお、本実施形態では前景画像及び背景画像は同時に転送されているが、其々が個別に転送されてもよい。
Next, the camera adapter 120b transfers the foreground image and the background image received from the camera adapter 120a to the camera adapter 120c (F06315). The camera adapter 120c similarly transfers the foreground image and the background image to the camera adapter 120d. Although the foreground image and the background image are simultaneously transferred in the present embodiment, each may be separately transferred.
さらに、カメラアダプタ120cは、カメラアダプタ120aが作成し、カメラアダプタ120bから受信した前景画像及び背景画像をカメラアダプタ120dへ転送する(F06317)。
Furthermore, the camera adapter 120c transfers the foreground image and the background image, which are created by the camera adapter 120a and received from the camera adapter 120b, to the camera adapter 120d (F06317).
次に、各カメラアダプタ120a―120cは、作成した三次元モデル情報を其々次のカメラアダプタ120b―120dへ転送する(F06318、F06319、F06320)。
Next, each camera adapter 120a-120c transfers the created three-dimensional model information to the next camera adapter 120b-120d, respectively (F06318, F06319, F06320).
さらに、カメラアダプタ120b及び120cは、逐次受信した三次元モデル情報を次のカメラアダプタ120c及び120dへ転送する(F06321、F06322)。さらに、カメラアダプタ120cは、カメラアダプタ120aが作成し、カメラアダプタ120bから受信した三次元モデル情報をカメラアダプタ120dへ転送する(F06323)。
Further, the camera adapters 120b and 120c transfer the sequentially received three-dimensional model information to the next camera adapters 120c and 120d (F06321, F06322). Furthermore, the camera adapter 120c transfers the three-dimensional model information created by the camera adapter 120a and received from the camera adapter 120b to the camera adapter 120d (F06323).
最終的に、カメラアダプタ120a―120dが作成した前景画像、背景画像、及び三次元モデル情報は、ネットワーク接続されたカメラアダプタ120間を逐次伝送され、フロントエンドサーバ230に伝送される。
Finally, the foreground image, the background image, and the three-dimensional model information created by the camera adapters 120a to 120d are sequentially transmitted between the networked camera adapters 120 and transmitted to the front end server 230.
なお、本シーケンス図ではカメラアダプタ120a及びカメラアダプタ120dのキャリブレーション処理、前景背景分離処理、圧縮処理、及び三次元モデル情報作成処理については記載を省略している。しかし実際には、カメラアダプタ120a及びカメラアダプタ120dも、カメラアダプタ120bやカメラアダプタ120cと同様の処理を行い、前景画像、背景画像及び三次元モデル情報を作成している。また、ここでは4台のカメラアダプタ120間のデータ転送シーケンスについて説明したが、カメラアダプタ120の数が増えても同様の処理が行われる。
In the sequence diagram, the description of calibration processing of the camera adapter 120a and the camera adapter 120d, foreground / background separation processing, compression processing, and three-dimensional model information creation processing is omitted. However, in practice, the camera adapter 120a and the camera adapter 120d also perform the same processing as the camera adapter 120b and the camera adapter 120c, and create a foreground image, a background image, and three-dimensional model information. Further, although the data transfer sequence between the four camera adapters 120 has been described here, the same processing is performed even if the number of camera adapters 120 increases.
ここまで説明したように、複数のカメラアダプタ120のうち、予め定められた順序において最後のカメラアダプタ120以外のカメラアダプタ120は、対応するカメラ112による撮影画像から所定領域を抽出する。そしてその抽出結果に基づく画像データを、上記の予め定められた順序において次のカメラアダプタ120へ出力する。一方、上記の予め定められた順序において最後のカメラアダプタ120は、抽出結果に基づく画像データを画像コンピューティングサーバ200へ出力する。すなわち、複数のカメラアダプタ120はデイジーチェーンで接続され、各カメラアダプタ120が撮影画像から所定領域を抽出した結果に基づく画像データは、予め定められたカメラアダプタ120によって画像コンピューティングサーバ200へ入力される。このようなデータの伝送方式を用いることで、画像処理システム100内におけるセンサシステム110の数が変動した場合の、画像コンピューティングサーバ200における処理負荷やネットワークの伝送負荷の変動を抑制することができる。また、カメラアダプタ120が出力する画像データは、上記の抽出結果に基づく画像データと、予め定められた順序において前のカメラアダプタ120による所定領域の抽出結果に基づく画像データとを用いて生成されるデータであってもよい。例えば、各カメラアダプタ120が自身による抽出結果と前のカメラアダプタ120による抽出結果の差分に基づく画像データを出力することで、システム内の伝送データ量を低減することができる。上記の順序において最後のカメラアダプタ120は、他のカメラ112による撮影画像から他のカメラアダプタ120により抽出された所定領域の画像データに基づく抽出画像データを上記の他のカメラアダプタ120から取得する。そして、自身が抽出した所定領域の抽出結果と、他のカメラアダプタ120から取得した抽出画像データとに応じた画像データを、仮想視点画像を生成するための画像コンピューティングサーバ200に対して出力する。
As described above, among the plurality of camera adapters 120, the camera adapters 120 other than the last camera adapter 120 in the predetermined order extract a predetermined area from the image captured by the corresponding camera 112. Then, image data based on the extraction result is output to the next camera adapter 120 in the above-described predetermined order. On the other hand, the last camera adapter 120 outputs the image data based on the extraction result to the image computing server 200 in the above-described predetermined order. That is, a plurality of camera adapters 120 are connected in a daisy chain, and image data based on the result of each camera adapter 120 extracting a predetermined area from a captured image is input to the image computing server 200 by the predetermined camera adapter 120. Ru. By using such a data transmission method, fluctuations in processing load on the image computing server 200 and transmission load in the network can be suppressed when the number of sensor systems 110 in the image processing system 100 changes. . The image data output from the camera adapter 120 is generated using the image data based on the above extraction result and the image data based on the extraction result of the predetermined area by the previous camera adapter 120 in a predetermined order. It may be data. For example, when each camera adapter 120 outputs image data based on the difference between the extraction result by itself and the extraction result by the previous camera adapter 120, it is possible to reduce the amount of transmission data in the system. In the above order, the last camera adapter 120 acquires extracted image data from the other camera adapter 120 based on the image data of the predetermined area extracted by the other camera adapter 120 from the image taken by the other camera 112. Then, image data corresponding to the extraction result of the predetermined area extracted by itself and the extracted image data acquired from another camera adapter 120 is output to the image computing server 200 for generating a virtual viewpoint image. .
また、カメラアダプタ120は、カメラ112が撮影した画像を前景部分と背景部分に分け、例えばそれぞれの重要度に応じて圧縮率や伝送するフレームレートを変える。このことにより、カメラ112が撮影したデータの全てをフロントエンドサーバ230に伝送する場合よりも伝送量を低減する事ができる。また、三次元モデル生成に必要な三次元モデル情報を各カメラアダプタ120が逐次作成する。この事により、全てのデータをフロントエンドサーバ230に集結させ、サーバで全ての三次元モデル生成処理を行う場合と比較し、サーバの処理負荷を低減させる事ができ、よりリアルタイムに三次元モデル生成を可能とする事ができる。
In addition, the camera adapter 120 divides the image captured by the camera 112 into a foreground portion and a background portion, and changes the compression rate and the frame rate to be transmitted according to, for example, the respective degrees of importance. As a result, it is possible to reduce the amount of transmission compared to the case of transmitting all the data captured by the camera 112 to the front end server 230. Also, each camera adapter 120 sequentially creates three-dimensional model information necessary for three-dimensional model generation. By this, it is possible to reduce the processing load of the server as compared to the case where all data are collected in the front end server 230 and all three dimensional model generation processing is performed by the server, and three dimensional model generation in more real time Can be made possible.
次に、カメラアダプタ120における逐次三次元モデル情報生成における、前景画像及び背景画像を生成し次のカメラアダプタ120へ転送する処理のフローついて図24を使用して説明する。
Next, a flow of processing for generating a foreground image and a background image and transferring the same to the next camera adapter 120 in sequential three-dimensional model information generation in the camera adapter 120 will be described using FIG.
カメラアダプタ120は、自身に接続されているカメラ112から撮影画像を取得する(06501)。
The camera adapter 120 acquires a captured image from the camera 112 connected to the camera adapter 120 (06501).
次に、取得した撮影画像を前景画像及び背景画像に分離する処理を実施する(06502)。なお、本実施形態における前景画像は、カメラ112から取得した撮影画像に対する所定オブジェクトの検出結果に基づいて決定される画像である。所定オブジェクトとは、例えば人物である。ただし、オブジェクトが特定人物(選手、監督、及び/又は審判など)であっても良いし、ボールやゴールなど、画像パターンが予め定められている物体であっても良い。また、オブジェクトとして、動体が検出されるようにしても良い。
Next, a process of separating the acquired captured image into a foreground image and a background image is performed (06502). The foreground image in the present embodiment is an image that is determined based on the detection result of a predetermined object with respect to the captured image acquired from the camera 112. The predetermined object is, for example, a person. However, the object may be a specific person (such as a player, a director, and / or an umpire), or an object such as a ball or a goal, for which an image pattern is predetermined. Also, a moving body may be detected as an object.
次に、分離した前景画像及び背景画像の圧縮処理を行う。前景画像に対してはロスレス圧縮が行われ、前景画像は高画質を維持する。背景画像に対してはロスあり圧縮が行われ、伝送データ量が削減される(06503)。
Next, compression processing of the separated foreground image and background image is performed. Lossless compression is performed on the foreground image, and the foreground image maintains high image quality. Lossy compression is performed on the background image to reduce the amount of transmission data (06503).
次にカメラアダプタ120は、圧縮した前景画像と背景画像を次のカメラアダプタ120へ転送する(06504)。なお背景画像に関しては毎フレーム転送するのではなく転送フレームを間引いて転送してもよい。例えば、撮影画像が60fpsである場合に、前景画像は毎フレーム伝送されるが、背景画像は1秒間の60フレーム中1フレームのみが伝送される。これにより伝送データ量の削減を行う事ができる特有の効果がある。
Next, the camera adapter 120 transfers the compressed foreground image and background image to the next camera adapter 120 (06504). As for the background image, transfer frames may be thinned out and transferred instead of transferring each frame. For example, when the captured image is 60 fps, the foreground image is transmitted every frame, but the background image is transmitted only one frame out of 60 frames per second. As a result, there are special effects that can reduce the amount of transmission data.
またカメラアダプタ120は、次のカメラアダプタ120へ前景画像及び背景画像を転送する際に、メタ情報を付与してもよい。例えば、カメラアダプタ120またはカメラ112の識別子や、フレーム内の前景画像の位置(xy座標)や、データサイズ、フレーム番号、及び撮影時刻などがメタ情報として付与される。また注視点を識別するための注視点グループ情報や、前景画像及び背景画像を識別するデータ種別情報などが付与されてもよい。但し付与されるデータの内容はこれらに限定される訳ではなく、他のデータが付与してもよい。
Also, the camera adapter 120 may add meta information when transferring the foreground image and the background image to the next camera adapter 120. For example, the identifier of the camera adapter 120 or the camera 112, the position (xy coordinates) of the foreground image in the frame, the data size, the frame number, the photographing time, and the like are given as meta information. Also, gaze point group information for identifying a gaze point, data type information for identifying a foreground image and a background image, and the like may be added. However, the contents of the data to be given are not limited to these, and other data may be given.
なお、カメラアダプタ120がデイジーチェーンを通じてデータを伝送する際に、自身に接続されたカメラ112と相関の高いカメラ112の撮影画像のみを選択的に処理することで、カメラアダプタ120における伝送処理負荷を軽減することができる。また、デイジーチェーン伝送において、何れかのカメラアダプタ120において故障が発生してもカメラアダプタ120間のデータ伝送が停止しないようにシステムを構成することで、ロバスト性を確保できる。
In addition, when the camera adapter 120 transmits data through the daisy chain, the transmission processing load on the camera adapter 120 can be reduced by selectively processing only the photographed image of the camera 112 highly correlated with the camera 112 connected to the camera adapter 120. It can be reduced. Further, in the daisy chain transmission, robustness can be ensured by configuring the system so that data transmission between the camera adapters 120 does not stop even if a failure occurs in any of the camera adapters 120.
次に、カメラアダプタ120における三次元モデル情報生成処理フローにおける、隣のカメラアダプタ120からデータを受信した時の処理のフローについて図25を使用して説明する。
Next, the flow of processing when data is received from the adjacent camera adapter 120 in the flow of three-dimensional model information generation processing in the camera adapter 120 will be described using FIG.
まずカメラアダプタ120は隣接するカメラアダプタ120からデータを受信する(S06601)。カメラアダプタ120は自身の転送モードがバイパス制御モードか否かを判断する(S06602)。なおバイパス制御については図28で説明する。
First, the camera adapter 120 receives data from the adjacent camera adapter 120 (S06601). The camera adapter 120 determines whether its own transfer mode is the bypass control mode (S06602). The bypass control will be described with reference to FIG.
バイパス制御モードの場合は、カメラアダプタ120は、次のカメラアダプタ120へデータを転送する(S06611)。バイパス制御モードでない場合は、受信したデータのパケットを解析する(S06603)。
In the bypass control mode, the camera adapter 120 transfers data to the next camera adapter 120 (S06611). If the bypass control mode is not in effect, the received data packet is analyzed (S06603).
カメラアダプタ120は、パケットを解析した結果、バイパス伝送制御対象のパケットであると判断した場合は(S06604のYes)、次のカメラアダプタ120へデータを転送する(S06610)。バイパス伝送制御対象のパケットは、例えば三次元モデル情報生成に利用しない画像データまたは後述する制御メッセージや時刻補正に係わるメッセージである。なおバイパス伝送制御については図27で説明する。
As a result of analyzing the packet, if the camera adapter 120 determines that the packet is a bypass transmission control target packet (Yes in S06604), the camera adapter 120 transfers data to the next camera adapter 120 (S06610). The packet subjected to bypass transmission control is, for example, image data not used for three-dimensional model information generation, a control message described later, or a message related to time correction. The bypass transmission control will be described with reference to FIG.
カメラアダプタ120は、バイパス伝送制御対象ではないと判断した場合は、データ種別を判別し(S06605)、データの種別に応じた処理を行う。
When it is determined that the camera adapter 120 is not the bypass transmission control target, the camera adapter 120 determines the data type (S06605), and performs processing according to the data type.
データの種別が、制御ステーション310から自身のカメラアダプタ120宛ての制御メッセージパケットである場合、制御メッセージを解析し、解析結果に基づき処理を行う(S06606)。制御メッセージの送信元が制御ステーション310でなく他のノードである場合も同様である。また、パケットが自身のカメラアダプタ120宛ての場合だけではなく、カメラアダプタ120が属する注視点グループ宛てである場合も同様である。また、カメラアダプタ120が行う処理の例としては、カメラアダプタ120に接続されるマイク111、カメラ112及び雲台113の制御や、カメラアダプタ120自身の制御がある。カメラアダプタ120は、制御メッセージの内容に応じて制御結果を送信元もしくは指示されたノードに対して返送する。またパケットがグループ宛ての制御メッセージの場合は次のカメラアダプタ120へ制御メッセージを転送する。
If the type of data is a control message packet addressed to the camera adapter 120 from the control station 310, the control message is analyzed and processing is performed based on the analysis result (S06606). The same applies when the source of the control message is not the control station 310 but another node. In addition, not only when the packet is addressed to its own camera adapter 120 but also when addressed to a fixation point group to which the camera adapter 120 belongs. Further, examples of processing performed by the camera adapter 120 include control of the microphone 111 connected to the camera adapter 120, control of the camera 112 and camera platform 113, and control of the camera adapter 120 itself. The camera adapter 120 returns the control result to the sender or designated node according to the content of the control message. If the packet is a control message addressed to a group, the control message is transferred to the next camera adapter 120.
次にカメラアダプタ120は、データ種別が時刻補正に係わる場合は時刻補正処理を行う(S06607)。例えばタイムサーバ290との間でのPTP処理に基づき自身の時刻補正を行う。そして補正した時刻に基づきマイク111及びカメラ112へ供給するワードクロックの補正を行う。なお時刻の補正量が大きい場合にワードクロックのタイミングを一度に変更すると音声や画像品質に影響が出るため、予め設定された変更量に基づき徐々に時刻を補正する処理を行ってもよい。またカメラアダプタ120は、作成した三次元モデル情報及び三次元モデル情報作成に使用した前景画像などを、フロントエンドサーバ230に送信するために次のカメラアダプタ120へ転送する。
Next, the camera adapter 120 performs time correction processing when the data type relates to time correction (S06607). For example, based on PTP processing with the time server 290, it performs its own time correction. Then, the word clock supplied to the microphone 111 and the camera 112 is corrected based on the corrected time. If the timing of the word clock is changed at one time when the correction amount of time is large, the voice and the image quality are affected. Therefore, the time may be gradually corrected based on the change amount set in advance. Also, the camera adapter 120 transfers the created three-dimensional model information and the foreground image used for creating the three-dimensional model information to the next camera adapter 120 for transmission to the front end server 230.
次にカメラアダプタ120は、データ種別が前景画像または背景画像の場合に三次元モデル情報作成処理を行う(S06608)。
Next, the camera adapter 120 performs three-dimensional model information creation processing when the data type is a foreground image or a background image (S06608).
次に、注視点グループに応じた制御について説明する。図26は、注視点グループを説明する図である。各カメラ112は光軸が特定の注視点06302を向くように設置される。同じ注視点グループ06301に分類されるカメラ112は、同じ注視点06302を向くように設置される。
Next, control according to the gaze point group will be described. FIG. 26 is a diagram for explaining a gaze point group. Each camera 112 is installed such that the optical axis is directed to a particular gaze point 06302. The cameras 112 classified into the same gaze point group 06301 are installed to face the same gaze point 06302.
図26は、注視点A(06302A)と注視点B(06302B)の2つの注視点06302が設定され、9台のカメラ(112a―112i)が設置された場合の例である。4台のカメラ(112a、112c、112e及び112g)は、同じ注視点A(06302A)を向いており、注視点グループA(06301A)に属する。また、残りの5台のカメラ(112b、112d、112f、112h及び112i)は、同じ注視点B(06302B)を向いており、注視点グループB(06301B)に属する。
FIG. 26 shows an example in which two fixation points 06302 of fixation point A (06302A) and fixation point B (06302B) are set, and nine cameras (112a to 112i) are installed. Four cameras (112a, 112c, 112e and 112g) face the same fixation point A (06302A), and belong to the fixation point group A (06301A). The remaining five cameras (112b, 112d, 112f, 112h and 112i) face the same fixation point B (06302B) and belong to the fixation point group B (06301B).
ここでは、同じ注視点グループ06301に属するカメラ112の中で最も近い(接続ホップ数が小さい)カメラ112の組を論理的に隣接していると表現する。例えば、カメラ112aとカメラ112bは、物理的には隣接しているが、異なる注視点グループ06301に属するため論理的には隣接していない。カメラ112aと論理的に隣接しているのは、カメラ112cである。一方、カメラ112hとカメラ112iは、物理的に隣接しているだけでなく、論理的にも隣接している。
Here, among the cameras 112 belonging to the same gaze point group 06301, the set of cameras 112 (the number of connected hops is small) is expressed as being logically adjacent. For example, the camera 112a and the camera 112b are physically adjacent but not logically adjacent because they belong to different gaze point groups 06301. Logically adjacent to the camera 112a is a camera 112c. On the other hand, the camera 112 h and the camera 112 i are not only physically adjacent but also logically adjacent.
物理的に隣接するカメラ112が論理的にも隣接しているか否かにより、カメラアダプタ120で異なる処理が行われる。以下で具体的な処理について説明する。
Depending on whether or not the physically adjacent cameras 112 are logically adjacent, different processes are performed in the camera adapter 120. Specific processing will be described below.
バイパス伝送制御について図27を使用して説明する。バイパス伝送制御は、各カメラアダプタ120が属する注視点グループに応じて伝送データがバイパスされる機能である。外部機器制御部06140、各画像処理部06130、伝送部06120、及びネットワークアダプタ06110を構成する機能部の記載は省略している。
Bypass transmission control will be described using FIG. The bypass transmission control is a function in which transmission data is bypassed according to the gaze point group to which each camera adapter 120 belongs. Descriptions of functional units constituting the external device control unit 06140, the respective image processing units 06130, the transmission unit 06120, and the network adapter 06110 are omitted.
画像処理システム100において、カメラアダプタ120の台数や、どのカメラアダプタ120がどの注視点グループに属するかの設定は変更可能である。図27では、注視点グループAにカメラアダプタ120g、カメラアダプタ120h及びカメラアダプタ120nが属し、注視点グループBにカメラアダプタ120iが属していることとする。
In the image processing system 100, the number of camera adapters 120 and the setting of which camera adapter 120 belongs to which gaze point group can be changed. In FIG. 27, it is assumed that the camera adapter 120g, the camera adapter 120h, and the camera adapter 120n belong to the fixation point group A, and the camera adapter 120i belongs to the fixation point group B.
ルート06450はカメラアダプタ120gが作成した前景画像の伝送ルートを示しており、前景画像は最終的にフロントエンドサーバ230へ伝送される。本図では、背景画像、三次元モデル情報、及び制御メッセージや、カメラアダプタ120h、カメラアダプタ120i及びカメラアダプタ120nが作成した前景画像の記載は省略している。
A route 06450 indicates a transmission route of the foreground image created by the camera adapter 120g, and the foreground image is finally transmitted to the front end server 230. In the drawing, the description of the background image, the three-dimensional model information, the control message, and the foreground image created by the camera adapter 120h, the camera adapter 120i and the camera adapter 120n is omitted.
カメラアダプタ120hは、カメラアダプタ120gが作成した前景画像を、ネットワークアダプタ06110hを介して受信し、伝送部06120hによってルーティング先を決定する。伝送部06120hは、受信した前景画像の作成元のカメラアダプタ120gが同じ注視点グループ(ここではグループA)に属していると判断すると、受信した前景画像を画像処理部06130hへ転送する。画像処理部06130hにおいて、カメラアダプタ120gが作成し送信した前景画像に基づいて三次元モデル情報を生成されると、カメラアダプタ120gの前景画像は次のカメラアダプタ120iに転送される。
The camera adapter 120 h receives the foreground image created by the camera adapter 120 g via the network adapter 06110 h, and determines the routing destination by the transmission unit 06120 h. The transmission unit 06120 h transfers the received foreground image to the image processing unit 06130 h when determining that the camera adapter 120 g as the creation source of the received foreground image belongs to the same gaze point group (here, group A). When three-dimensional model information is generated in the image processing unit 06130 h based on the foreground image generated and transmitted by the camera adapter 120 g, the foreground image of the camera adapter 120 g is transferred to the next camera adapter 120 i.
次にカメラアダプタ120iは、カメラアダプタ120hからカメラアダプタ120gが作成した前景画像を受信する。カメラアダプタ120iの伝送部06120iはカメラアダプタ120gと自身が属する注視点グループが異なる事を判断すると、画像処理部06130iには転送せず次のカメラアダプタ120に転送する。
Next, the camera adapter 120i receives the foreground image created by the camera adapter 120g from the camera adapter 120h. If the transmission unit 06120i of the camera adapter 120i determines that the fixation point group to which the camera adapter 120g belongs differs, the transmission unit 06120i does not transfer it to the image processing unit 06130i, but transfers it to the next camera adapter 120.
次にカメラアダプタ120nは、カメラアダプタ120gが作成した前景画像を、ネットワークアダプタ06110nを介して受信し、伝送部06120nによってルーティング先を決定する。伝送部06120nは、カメラアダプタ120nがカメラアダプタ120gと同じ注視点グループであると判断する。しかし、画像処理部06130nによりカメラアダプタ120gの前景画像が三次元モデル情報生成に必要な前景画像ではないと判断されると、前景画像はそのまま次のカメラアダプタ120にデイジーチェーンのネットワークを介して転送される。
Next, the camera adapter 120 n receives the foreground image created by the camera adapter 120 g via the network adapter 06110 n, and the transmission unit 06120 n determines the routing destination. The transmission unit 06120 n determines that the camera adapter 120 n is the same gaze point group as the camera adapter 120 g. However, when it is determined by the image processing unit 06130 n that the foreground image of the camera adapter 120 g is not a foreground image necessary for generating three-dimensional model information, the foreground image is directly transferred to the next camera adapter 120 via the daisy chain network. Be done.
このように各カメラアダプタ120の伝送部06120は、受信したデータが画像処理部06130における画像処理による三次元モデル情報の作成に必要なデータか否かを判断する。画像処理に必要なデータではない、つまり自身のカメラアダプタ120との相関が低いデータであると判断すると、画像処理部06130へデータを転送することなく、次のカメラアダプタ120に伝送する。つまり、デイジーチェーン170を介したデータの伝送において、各カメラアダプタ120で必要なデータが選択されて逐次三次元モデル情報を生成する処理が実施される。これによりカメラアダプタ120内でデータ受信してから転送するまでのデータ転送に係わる処理負荷及び処理時間を短縮する事ができる。
As described above, the transmission unit 06120 of each camera adapter 120 determines whether the received data is data necessary for creating three-dimensional model information by image processing in the image processing unit 06130. If it is determined that the data is not data necessary for image processing, that is, data having a low correlation with its own camera adapter 120, the data is transmitted to the next camera adapter 120 without being transferred to the image processing unit 06130. That is, in the data transmission via the daisy chain 170, necessary data is selected in each camera adapter 120, and processing of sequentially generating three-dimensional model information is performed. As a result, processing load and processing time related to data transfer from data reception to transfer in the camera adapter 120 can be shortened.
次にカメラアダプタ120bのバイパス制御について図28を使用してさらに詳しく説明する。なお外部機器制御部06140、各画像処理部06130、伝送部06120、及びネットワークアダプタ06110を構成する機能部の記載は省略している。
Next, bypass control of the camera adapter 120b will be described in more detail using FIG. Note that descriptions of functional units constituting the external device control unit 06140, the respective image processing units 06130, the transmission unit 06120, and the network adapter 06110 are omitted.
バイパス制御とは、カメラアダプタ120bが、カメラアダプタ120cから受信したデータを、伝送部06120のデータルーティング処理部06122によるルーティング制御を行わずに次のカメラアダプタ120aへ転送する機能である。
The bypass control is a function of transferring data received from the camera adapter 120c to the next camera adapter 120a without performing routing control by the data routing processing unit 06122 of the transmission unit 06120.
例えばカメラアダプタ120bは、カメラ112bの状態が撮影停止中やキャリブレーション中、又はエラー処理中である場合に、ネットワークアダプタ06110に対してバイパス制御を起動させる。また例えば、伝送部06120または画像処理部06130などの動作不良などが発生した場合にも、バイパス制御を起動させる。また、ネットワークアダプタ06110が伝送部06120の状態を検知し、能動的にバイパス制御モードに遷移してもよい。なお、伝送部06120又は画像処理部06130がエラー状態や停止状態にあることを検知するサブCPUをカメラアダプタ120bに配備し、サブCPUがエラー検知を行った場合にネットワークアダプタ06110をバイパス制御にする処理を加えてもよい。これにより、各機能ブロックのフォールト状態とバイパス制御を独立して制御できる効果がある。
For example, the camera adapter 120b causes the network adapter 06110 to start bypass control when the state of the camera 112b is in the state of shooting stop, calibration or error processing. Further, for example, even when an operation failure or the like of the transmission unit 06120 or the image processing unit 06130 occurs, the bypass control is activated. Also, the network adapter 06110 may detect the state of the transmission unit 06120 and actively transition to the bypass control mode. Note that a sub CPU that detects that the transmission unit 06120 or the image processing unit 06130 is in an error state or a stop state is disposed in the camera adapter 120b, and the network adapter 06110 is subjected to bypass control when an error is detected by the sub CPU. Processing may be added. This has the effect of being able to independently control the fault state and bypass control of each functional block.
また、カメラアダプタ120は、カメラ112の状態がキャリブレーション状態から撮影状態に遷移した場合や、伝送部06120などが動作不良から復旧した場合に、バイパス制御モードから通常の通信モードに遷移してもよい。
Also, even if the camera adapter 120 transitions from the bypass control mode to the normal communication mode when the state of the camera 112 transitions from the calibration state to the imaging state, or when the transmission unit 06120 or the like recovers from an operation failure. Good.
このバイパス制御機能により、カメラアダプタ120はデータ転送を高速に行う事ができ、また不慮の故障などが発生しデータルーティングに係わる判断ができない場合でも次のカメラアダプタ120aへデータを転送する事ができる。
With this bypass control function, the camera adapter 120 can perform data transfer at high speed, and can transfer data to the next camera adapter 120 a even if an unexpected failure or the like occurs and it is not possible to make a determination related to data routing. .
本システムにおいては、前景画像、背景画像、および三次元モデル情報が、デイジーチェーンで接続された複数のカメラアダプタ120間を伝送されてフロントエンドサーバ230へ入力される。ここで、撮影画像内で前景領域が極端に多くなるイベント、例えば全選手が集う開会式などが撮影される場合には、伝送される前景画像のデータ量が通常の競技を撮影する場合よりも膨大になる。そこで、デイジーチェーンで伝送されるデータ量が伝送帯域を超過しないように制御するための方法を以下に示す。
In the present system, foreground images, background images, and three-dimensional model information are transmitted between a plurality of camera adapters 120 connected in a daisy chain and input to the front end server 230. Here, when an event in which the foreground area becomes extremely large in the photographed image, for example, an opening ceremony or the like in which all players gather is photographed, the data amount of the foreground image to be transmitted is more than when photographing a regular competition. It will be huge. Therefore, a method for controlling so that the amount of data transmitted by the daisy chain does not exceed the transmission band will be shown below.
図29および図30を使用して、カメラアダプタ120において伝送部06120がデータを出力する処理のフローについて説明する。図29はカメラアダプタ120a、120b及び120c間のデータの流れを表している。カメラアダプタ120aとカメラアダプタ120b、及びカメラアダプタ120bとカメラアダプタ120cが其々接続されている。また、カメラアダプタ120bにはカメラ112bが接続されており、カメラアダプタ120cはフロントエンドサーバ230と接続されている。カメラアダプタ120bの伝送部06120のデータ出力処理フローについて説明する。
The flow of processing in which the transmission unit 06120 outputs data in the camera adapter 120 will be described using FIG. 29 and FIG. FIG. 29 shows the flow of data between camera adapters 120a, 120b and 120c. The camera adapter 120a and the camera adapter 120b, and the camera adapter 120b and the camera adapter 120c are often connected. Further, a camera 112 b is connected to the camera adapter 120 b, and the camera adapter 120 c is connected to the front end server 230. A data output processing flow of the transmission unit 06120 of the camera adapter 120b will be described.
カメラアダプタ120bの伝送部06120には、カメラ112bから撮影データ06720が入力され、カメラアダプタ120aから画像処理された入力データ06721及び06722が入力される。また伝送部06120は、入力されたデータに対して、画像処理部06130への出力、圧縮、フレームレートの設定、およびパケット化等の処理を行って、そのデータをネットワークアダプタ06110に出力している。
Photographed data 06720 is input from the camera 112 b to the transmission unit 06120 of the camera adapter 120 b, and input data 06721 and 06722 subjected to image processing are input from the camera adapter 120 a. The transmission unit 06120 performs processing such as output to the image processing unit 06130, compression, setting of a frame rate, and packetization on the input data, and outputs the data to the network adapter 06110. .
次に図30を使用して伝送部06120による出力処理フローについて説明する。伝送部06120は、画像処理部06130からの入力データ06721及び06720の各々について画像処理結果のデータ量を取得するステップ(S06701)を実行する。
Next, the output processing flow by the transmission unit 06120 will be described using FIG. The transmission unit 06120 executes the step (S06701) of acquiring the data amount of the image processing result for each of the input data 06721 and 06720 from the image processing unit 06130.
次に、カメラアダプタ120aからの入力データ06722のデータ量を取得するステップ(S06702)を実行する。次に、カメラアダプタ120cへの出力データ量導出について、入力データのデータ種別に応じて導出するステップ(S06703)を実行する。
Next, the step (S06702) of acquiring the data amount of the input data 06722 from the camera adapter 120a is executed. Next, for the output data amount derivation to the camera adapter 120c, the step (S06703) of deriving according to the data type of the input data is executed.
次に伝送部06120は、出力データ量と所定の伝送帯域制約量を比較し、伝送可能性を確認する。具体的には、ネットワークアダプタ06110へ出力するデータ量が予め指定された出力データ量の閾値を超えるか否かを判断する(S06704)。なお閾値はデータ種別(ここでは、前景画像、背景画像、全景フレームデータ、及び三次元モデル情報等があげられる)ごとに設けられてもよい。また出力するデータ量については、伝送部06120でデータを圧縮する場合は圧縮結果に基づいて導出される。なお出力データ量の閾値はパケット化する際のヘッダ情報やエラー訂正情報等のオーバヘッドを考慮して設定されることが望ましい。
Next, the transmission unit 06120 compares the amount of output data with a predetermined transmission band restriction amount to confirm the transmission possibility. Specifically, it is determined whether the amount of data to be output to the network adapter 06110 exceeds a threshold of the amount of output data specified in advance (S06704). The threshold may be provided for each data type (here, a foreground image, a background image, whole scene frame data, three-dimensional model information, and the like can be mentioned). Further, the amount of data to be output is derived based on the compression result when the transmission unit 06120 compresses the data. The threshold value of the amount of output data is preferably set in consideration of overhead such as header information and error correction information at the time of packetization.
伝送部06120が、出力データ量が閾値を超えないと判断した場合は、入力データをネットワークアダプタ06110へ出力する通常転送を行う(S06712)。出力データ量が閾値を超えたと判断された場合(S6704のYes)、伝送部06120に入力されたデータが画像データの場合は出力データ量オーバ時のポリシーを取得する(S06705)。そして、取得したポリシーに基づいて、以下で説明する複数の処理(S06707−S06711)の少なくとも何れかを選択して(S06706)実行する。なお伝送部06120は、画像データ以外の時刻補正に係わるデータや制御メッセージ係わるデータについては通常転送を行ってもよい。また、メッセージの種別や優先度に応じてメッセージをドロップしてもよい。出力データのデータ量を減らすことによってデータ転送のオーバーフローを抑止することができる。
If the transmission unit 06120 determines that the amount of output data does not exceed the threshold value, it performs normal transfer to output input data to the network adapter 06110 (S06712). If it is determined that the output data amount exceeds the threshold (Yes in S6704), if the data input to the transmission unit 06120 is image data, a policy for when the output data amount is over is acquired (S06705). Then, based on the acquired policy, at least one of a plurality of processes (S06707-S06711) described below is selected (S06706) and executed. The transmission unit 06120 may normally transfer data other than image data related to time correction and data related to a control message. Also, the message may be dropped according to the type and priority of the message. Overflow of data transfer can be suppressed by reducing the amount of output data.
伝送部06120が実行する処理の1つとして、画像データのフレームレートを落としてネットワークアダプタ06110へ出力する(S06707)。フレームを間引いて伝送することによりデータ量が削減される。ただし、動きの速いオブジェクトを追従する際には高フレームレートで出力する場合と比較し画質面で劣る虞があるため、対象となる撮影シーンに応じて本手法の適用可否が判断される。
As one of the processes executed by the transmission unit 06120, the frame rate of the image data is dropped and output to the network adapter 06110 (S06707). By decimating and transmitting frames, the amount of data is reduced. However, when following fast-moving objects, there is a possibility that the image quality may be inferior as compared with the case of outputting at a high frame rate, so the applicability of this method is determined according to the target shooting scene.
また別の処理として、伝送部06120は、画像データの解像度を落としてネットワークアダプタ06110へ出力する(S06708)。この処理は出力画像の画質に影響するため、エンドユーザ端末の種別に応じてポリシー設定がされる。例えば、スマートフォンへ出力する場合は解像度を大きく落としてデータ量削減を行い、高解像度ディスプレイ等へ出力する場合は解像度を小さく落とす等の適応的な解像度変換に関するポリシー設定がされる。
As another process, the transmission unit 06120 lowers the resolution of the image data and outputs it to the network adapter 06110 (S06708). Since this process affects the image quality of the output image, a policy is set according to the type of end user terminal. For example, when outputting to a smart phone, the resolution is greatly reduced to reduce the data amount, and when outputting to a high resolution display or the like, policy setting regarding adaptive resolution conversion such as decreasing the resolution is set.
また別の処理として、伝送部06120は、画像データの圧縮率を上げてネットワークアダプタ06110へ出力する(S06709)。ここでは、入力画像データに対して、ロスレス圧縮、あるいはロッシー圧縮等の復元性能要求、つまり、画像品質の要求に応じてデータ量削減が図られる。
As another process, the transmission unit 06120 increases the compression rate of the image data and outputs the image data to the network adapter 06110 (S06709). Here, with respect to the input image data, data amount reduction is achieved according to the restoration performance request such as lossless compression or lossy compression, that is, the image quality request.
また別の処理として、伝送部06120は、画像処理部06130からの撮影データ06720の出力を停止する(S06710)。ここでは、画像処理を施した画像データの出力を停止してデータ量削減を図る。十分な台数のカメラ112が配備されている場合は、仮想視点画像の生成において、同一注視点グループのカメラ112がすべて必須ではない場合がある。例えばスタジアムのフィールド全体を撮影する上でカメラ112を削減しても死角が発生しないことを事前に把握できている場合に本制御が適用される。つまり、後工程での画像の破綻が起きないことを条件とし、画像データの送信を行わないカメラを選定することで伝送帯域を確保することができる。
As another process, the transmission unit 06120 stops the output of the shooting data 06720 from the image processing unit 06130 (S06710). Here, the output of the image data subjected to the image processing is stopped to reduce the data amount. When a sufficient number of cameras 112 are deployed, there may be cases where not all the cameras 112 of the same gaze point group are required in the generation of virtual viewpoint images. For example, the present control is applied when it is known in advance that no blind spot will occur even if the camera 112 is reduced in photographing the entire field of the stadium. That is, it is possible to secure a transmission band by selecting a camera that does not transmit image data on condition that failure of the image in a post process does not occur.
また別の処理として、伝送部06120は、画像処理部06130からの入力データ06721の出力を停止するかまたはそのうちの一部のカメラアダプタ120の画像の出力のみ停止する(S06711)。上記に加えて、他のカメラアダプタ120からの入力画像を利用して三次元モデル情報を生成できた場合は、他のカメラアダプタ120からの前景画像や背景画像の出力を停止して、三次元モデル情報のみを出力制御することでデータ量削減を図ってもよい。
Further, as another process, the transmission unit 06120 stops the output of the input data 06721 from the image processing unit 06130, or stops the output of only an image of a part of the camera adapters 120 (S06711). In addition to the above, when three-dimensional model information can be generated using an input image from another camera adapter 120, the output of the foreground image or the background image from the other camera adapter 120 is stopped, and the three-dimensional image is generated. The data volume may be reduced by controlling only the model information.
出力データのデータ量を減らすのに使用された方法は後段のフロントエンドサーバ230を介してバックエンドサーバ270、仮想カメラ操作UI330、制御ステーション310へ通知される(S06713)。本実施形態では、ポリシーに応じてフレームレート、解像度、圧縮率、及びデータ停止等の制御処理の何れかが行われるようにフローが分岐しているがこれに限定されるものではない。これらの制御のうち複数を組み合わせで実行することでさらなるデータ量削減効果が得られることを明記しておく。また、S06713において本制御処理の通知が行われる。この通知により、仮想カメラ操作UI330において、例えば、圧縮率を上げた結果、画像品質面で十分な解像度が得られない場合はズーム操作に制約を設けることができる。さらに、伝送帯域制約量オーバ処理後も、逐次出力データ量の超過をチェックし、データ量が安定したら伝送処理のポリシーを元の設定値に戻すことができることをここに示す。
The method used to reduce the amount of output data is notified to the back end server 270, the virtual camera operation UI 330, and the control station 310 via the front end server 230 at a later stage (S06713). In the present embodiment, the flow is branched so that any of control processing such as frame rate, resolution, compression rate, and data stop is performed according to the policy, but the present invention is not limited to this. It should be clearly stated that the effect of reducing the amount of data can be obtained by executing a combination of two or more of these controls. Further, notification of this control process is performed in S06713. By this notification, in the virtual camera operation UI 330, for example, when a sufficient resolution can not be obtained in terms of image quality as a result of increasing the compression rate, it is possible to place a restriction on the zoom operation. Furthermore, it is shown here that even after the transmission band constraint amount over processing, the excess of the output data amount is checked successively, and if the data amount is stabilized, the transmission processing policy can be returned to the original set value.
このように、デイジーチェーンの伝送帯域を超過するという課題に対して、状態に応じた伝送制御処理を行うことで、伝送帯域制約を満たす伝送を実現できるという効果がある。
Thus, there is an effect that transmission satisfying the transmission band constraint can be realized by performing the transmission control processing according to the state with respect to the problem of exceeding the transmission band of the daisy chain.
次に図31のフローチャートに従って、撮影時ワークフローのS1500及びS1600におけるフロントエンドサーバ230の動作について説明する。
Next, the operation of the front end server 230 in S1500 and S1600 of the shooting workflow will be described according to the flowchart of FIG.
制御部02110は、制御ステーション310から撮影モードに切り替える指示を受信し、撮影モードに切り替える(S02300)。撮影が開始されると、データ入力制御部02120はカメラアダプタ120からの撮影データの受信を開始する(S02310)。
The control unit 02110 receives an instruction to switch to the imaging mode from the control station 310, and switches to the imaging mode (S02300). When imaging is started, the data input control unit 02120 starts receiving imaging data from the camera adapter 120 (S02310).
撮影データは、データ同期部02130によってファイル作成に必要な撮影データが全て揃うまでバッファされる(S02320)。フローチャート上は明記していないが、ここでは撮影データに付与されている時間情報が一致するかどうかや、所定台数のカメラが充足しているかどうかが判定される。またカメラ112の状態によっては、キャリブレーション中やエラー処理中であることによって画像データが送られない場合がある。この場合は、所定のカメラ番号の画像が抜けていることが後段のデータベース250転送(S2370)の中で通知される。ここで、所定カメラ台数の充足を判定するために、撮影データの到着を所定時間待つ方法がある。しかし本実施形他では、システム一連の処理の遅延を抑制するために、各カメラアダプタ120がデイジーチェーンによってデータを伝送する際に、各カメラ番号に対応する画像データの有無を示す情報を付与する。これにより、フロントエンドサーバ230の制御部02110において即時判断が可能となる。これによって、撮影データの到着待ち時間を設定する必要がなくなる効果が得られることをここに明記しておく。
The photographed data is buffered by the data synchronization unit 02130 until all the photographed data necessary for file creation are collected (S02320). Although not described on the flowchart, it is determined whether the time information given to the shooting data matches or whether a predetermined number of cameras are satisfied. Further, depending on the state of the camera 112, image data may not be sent due to calibration or error processing. In this case, it is notified in the database 250 transfer (S2370) that the image of the predetermined camera number is missing. Here, there is a method of waiting for arrival of photographing data for a predetermined time in order to determine whether the predetermined number of cameras is sufficient. However, in the present embodiment and the like, when each camera adapter 120 transmits data through a daisy chain, information indicating the presence or absence of the image data corresponding to each camera number is added in order to suppress the delay of the system series of processing. . Thereby, the control unit 02110 of the front end server 230 can make an immediate determination. It should be noted here that the effect of eliminating the need to set the arrival waiting time of the imaging data is obtained.
データ同期部02130によってファイル作成に必要なデータがバッファリングされた後、RAW画像データの現像処理やレンズ歪み補正、前景画像及び背景画像の各カメラで撮影された画像間の色や輝度値を合わせるなどの各種変換処理が行われる(S02330)。
After data necessary for file creation is buffered by the data synchronization unit 02130, development processing and lens distortion correction of RAW image data, colors and luminance values between images captured by each camera of the foreground image and the background image are adjusted. Etc. are performed (S02330).
データ同期部02130によってバッファリングされたデータが背景画像を含む場合は背景画像の結合処理(S02340)が行われ、背景画像を含まない場合は三次元モデルの結合処理(S02350)が行われる(S02335)。
When the data buffered by the data synchronization unit 02130 includes the background image, the combining process (S02340) of the background image is performed, and when the data does not include the background image, the combining process (S02350) of the three-dimensional model is performed (S02335) ).
S02330に於いて画像処理部02150が処理した背景画像を画像結合部02170が取得する。そして、S02230でCADデータ記憶部02135が保存したスタジアム形状データの座標に合わせて背景画像をつなぎ合わせて、結合した背景画像を撮影データファイル生成部に送る(S02340)。
In step S02330, the image combining unit 02170 acquires the background image processed by the image processing unit 02150. Then, the background image is connected in accordance with the coordinates of the stadium shape data stored by the CAD data storage unit 02135 in S02230, and the combined background image is sent to the photographed data file generation unit (S02340).
データ同期部02130から三次元モデルを取得した三次元モデル結合部02160は三次元モデルデータとカメラパラメータを使って前景画像の三次元モデルを生成する(S02350)。
The three-dimensional model combining unit 02160 that has acquired the three-dimensional model from the data synchronization unit 02130 generates a three-dimensional model of the foreground image using the three-dimensional model data and the camera parameters (S02350).
S02350までの処理によって作成された撮影データを受け取った撮影データファイル生成部02180は、撮影データをファイル形式に応じて成形してからパッキングする。その後、DBアクセス制御部02190に作成したファイルを送る(S02360)。DBアクセス制御部02190は、S02360で撮影データファイル生成部02180から受け取った撮影データファイルを、データベース250に送信する(S02370)。
The photographed data file generation unit 02180 that has received the photographed data created by the processing up to S02350 shapes the photographed data according to the file format and then packs the photographed data. Thereafter, the created file is sent to the DB access control unit 02190 (S02360). The DB access control unit 02190 transmits the shooting data file received from the shooting data file generation unit 02180 in S02360 to the database 250 (S02370).
次に、撮影時ワークフローのS1500及びS1600の仮想視点画像生成におけるデータベース250の動作に関して、図32のフローチャートに従って特にデータの書き込みの動作について説明する。
Next, with regard to the operation of the database 250 in the virtual viewpoint image generation in S1500 and S1600 of the workflow at the time of shooting, the operation of writing of data will be particularly described according to the flowchart of FIG.
フロントエンドサーバ230から撮影データがデータベース250のデータ入力部02420に入力される。データ入力部02420は入力された撮影データにメタ情報として紐づいている時刻情報あるいはタイムコード情報を抽出し、入力された撮影データが時刻t1の撮影データであることを検出する(S2810)。
Photographed data is input from the front end server 230 to the data input unit 02420 of the database 250. The data input unit 02420 extracts time information or time code information linked as meta information from the input imaging data, and detects that the input imaging data is imaging data at time t1 (S2810).
データ入力部02420は入力された時刻t1の撮影データをキャッシュ02440に送り、キャッシュ02440は時刻t1の撮影データをキャッシュする(S02820)。
The data input unit 02420 sends the input shooting data at time t1 to the cache 02440, and the cache 02440 caches the shooting data at time t1 (S02820).
データ入力部02420は時刻t1のNフレーム前の撮影データ、すなわち時刻t1−Nの撮影データがキャッシュされているか否かを判断し、キャッシュ済みであればS02830、キャッシュされていなければ処理を終了する(S02825)。なお、Nはフレームレートによって可変となる。ここで記載されるt1−Nは、t1からフレーム単位時間のN倍だけ前の時間であってもよいし、時刻t1のフレームよりNフレームだけ前のタイムコードであってもよい。
The data input unit 02420 determines whether or not imaging data N frames before time t1, that is, imaging data at time t1-N, is cached, and if it is already cached, the process is ended if it is not cached. (S02825). Note that N is variable depending on the frame rate. T1-N described here may be a time N times the frame unit time from t1 or may be a time code N frames before the frame at time t1.
キャッシュ02440は時刻t1の撮影データをキャッシュすると、キャッシュ済みの時刻t1−Nの撮影データを一次ストレージ上に転送し、一次ストレージ02450はキャッシュ02440から送られた時刻t1−Nの撮影データを記録する(S02830)。これにより、高速アクセス可能なキャッシュの容量制限に応じて、所定時刻よりも前のフレームが一次ストレージに逐次保管されていく。これは例えば、キャッシュ02440をリングバッファ構造にすることで実現することができる。
When the cache 02440 caches shooting data at time t1, the cached shooting data at time t1-N is transferred onto the primary storage, and the primary storage 02450 records the shooting data at time t1-N sent from the cache 02440 (S02830). Thus, frames earlier than a predetermined time are sequentially stored in the primary storage according to the capacity limitation of the cache that can be accessed at high speed. This can be realized, for example, by making cache 02440 into a ring buffer structure.
続いて、撮影時ワークフローのS1500及びS1600の仮想視点画像生成におけるデータベース250の動作に関して、図33のフローチャートに従って特にデータの読み出しの動作について説明する。
Subsequently, with regard to the operation of the database 250 in the virtual viewpoint image generation in S1500 and S1600 of the workflow at the time of photographing, an operation of reading out data in particular will be described according to the flowchart of FIG.
バックエンドサーバ270はデータ出力部02430に対して、タイムコードが時刻tに対応するデータを要求する(S02810)。データ出力部02430は時刻tのデータをキャッシュ02440が保持しているか一次ストレージ02450が保持しているか判断し、どちらからデータを読み出すかを決定する(S02820)。例えば、先に説明した図32と同じく、時刻t1がデータ入力部02420に撮影データが入力された時刻であった場合、時刻tが時刻t1−Nより前の時刻であれば一次ストレージからデータが読み出される(S02830)。時刻tが時刻t1−Nとt1の間の時刻であればキャッシュ上から読み出される(S02840)。時刻tが時刻t1より後の時刻である場合はデータ出力部02430はバックエンドサーバ270に対してエラー通知を行う(S02850)。
The back end server 270 requests the data output unit 02430 for data whose time code corresponds to the time t (S02810). The data output unit 02430 determines whether the cache 02440 holds the data at time t or the primary storage 02450 holds it, and determines from which of the data is to be read (S02820). For example, as in the case of FIG. 32 described above, if time t1 is the time when shooting data is input to the data input unit 02420, if time t is a time before time t1-N, data is from the primary storage It is read out (S02830). If time t is a time between time t1-N and t1, the data is read from the cache (S02840). If the time t is a time after the time t1, the data output unit 02430 sends an error notification to the back end server 270 (S 02850).
つぎに、カメラアダプタ120の画像処理部06130の処理フローについて、図35(a)、図35(b)、図35(c)、図35(d)、及び図35(e)の各フローチャートを用いて説明する。
Next, the processing flow of the image processing unit 06130 of the camera adapter 120 will be described with reference to the flowcharts of FIGS. 35 (a), 35 (b), 35 (c), 35 (d) and 35 (e). It demonstrates using.
図35(a)の処理に先だち、キャリブレーション制御部06133は入力された画像に対して、カメラ毎の色のばらつきを抑えるための色補正処理やカメラの振動に起因する画像のブレを低減させて画像を安定させるブレ補正処理(電子防振処理)などを行う。色補正処理では、フロントエンドサーバ230から受信したパラメータに基づいて、入力画像の画素値にオフセット値を加算するなどの処理が行われる。またブレ補正処理では、カメラに内蔵された加速度センサあるいはジャイロセンサなどのセンサからの出力データに基づき画像のブレ量が推定される。そして推定されたブレ量に基づいて入力画像に対する画像位置のシフトや画像の回転処理が行われることで、フレーム画像間のブレが抑制される。なおブレ補正の手法としてはその他の方法を用いてもよい。例えば、時間的に連続した複数のフレーム画像を比較することで画像の移動量を推定し補正するような画像処理による方法や、レンズシフト方式及びセンサシフト方式などのカメラの内部で実現する方法等でもよい。
Prior to the process of FIG. 35A, the calibration control unit 06133 reduces the blurring of the image due to the color correction process for suppressing the variation in color for each camera or the vibration of the camera with respect to the input image. Shake correction processing (electronic image stabilization processing) for stabilizing the image. In the color correction processing, processing such as adding an offset value to the pixel value of the input image is performed based on the parameters received from the front end server 230. In the shake correction process, the shake amount of the image is estimated based on output data from a sensor such as an acceleration sensor or a gyro sensor built in the camera. Then, shift of the image position with respect to the input image and rotation processing of the image are performed based on the estimated blur amount, thereby suppressing blur between frame images. Note that other methods may be used as the blur correction method. For example, a method based on image processing that estimates and corrects a moving amount of an image by comparing a plurality of temporally consecutive frame images, a method realized inside a camera such as a lens shift method and a sensor shift method, etc. May be.
背景更新部05003は、入力画像と、メモリに保存されている背景画像とを用いて、背景画像05002を更新する処理を行う。背景画像の一例を図34(a)に示す。更新処理は各画素に対して行われる。その処理フローを図35(a)に示す。
The background updating unit 05003 performs processing of updating the background image 05002 using the input image and the background image stored in the memory. An example of the background image is shown in FIG. The update process is performed on each pixel. The processing flow is shown in FIG.
まず背景更新部05003は、S05001で、入力画像の各画素に対して、背景画像内の対応する位置にある画素との差分を導出する。つぎに、S05002で、差分が定められた閾値Kより小さいかどうか判定する。差分がKより小さい場合にはその画素は背景であるという判断がされる(S5002のYES)。つぎに背景更新部05003は、S05003で、入力画像の画素値と背景画像の画素値とを一定の比率で混合した値を導出する。そしてS05004で、背景画像内の画素値を導出した値で更新する。
First, the background updating unit 05003 derives the difference between each pixel of the input image and the pixel at the corresponding position in the background image at S05001. Next, in S05002, it is determined whether the difference is smaller than a predetermined threshold K. If the difference is smaller than K, it is determined that the pixel is a background (YES in S5002). Next, in step S05003, the background updating unit 05003 derives a value obtained by mixing the pixel value of the input image and the pixel value of the background image at a constant ratio. Then, in S05004, the pixel value in the background image is updated with the derived value.
一方、背景画像である図34(a)に対して人物が映っている例を図34(b)に示す。このような場合には、人物が位置している画素に着目すると、背景に対して画素値の差分が大きくなり、S05002において差分がK以上となる。その場合には画素値の変化が大きいので背景以外の何らかのオブジェクトが映っているという判断がされて、背景画像05002の更新は行われない(S05002のNO)。なお背景更新処理については他にも様々な手法が考えられる。
On the other hand, FIG. 34 (b) shows an example in which a person appears in FIG. 34 (a) which is a background image. In such a case, focusing on the pixel at which the person is located, the difference in pixel value with respect to the background is large, and the difference becomes K or more in S50002. In that case, since the change in pixel value is large, it is determined that an object other than the background is displayed, and the background image 05002 is not updated (NO in S05002). Various other methods can be considered for the background updating process.
次に背景切出部05004は、背景画像05002からその一部を読み出し、伝送部06120へ送信する。スタジアム等でサッカーなどの競技を撮影する際に、フィールド全体を死角なく撮影できるようカメラ112を複数配置した場合、カメラ112間で背景情報の大部分が重複するという特徴がある。背景情報は膨大なため、伝送帯域制約の面から重複した部分は削除して伝送することで伝送量を削減することができる。その処理の流れを図35(d)に示す。S05010で、背景切出部05004は、例えば図34(c)に示した点線で囲まれた部分領域3401のように、背景画像の中央部分を設定する。つまり、本部分領域3401は自カメラ112が伝送を担当する背景領域であり、それ以外の背景領域は、他のカメラ112によって伝送を担当される。S05011で背景切出部05004は、設定された背景画像の部分領域3401を読み出す。そしてS05012で伝送部06120へ出力する。出力された背景画像は画像コンピューティングサーバ200に集められ、背景モデルのテクスチャとして利用される。各カメラアダプタ120において背景画像05002を切出す位置は、背景モデルに対するテクスチャ情報が不足しないように、予め決められたパラメータ値に応じて設定されている。通常は伝送データ量をより少なくするため、切出す領域は必要最小限となるように設定される。これにより、膨大な背景情報の伝送量を削減できるという効果があり、高解像度化にも対応できるシステムにすることができる。
Next, the background cutout unit 05004 reads a part of the background image 05002 and transmits the part to the transmission unit 06120. When shooting a game such as soccer on a stadium or the like, when a plurality of cameras 112 are arranged so that the entire field can be shot without blind spots, most of the background information overlaps between the cameras 112. Since the background information is huge, it is possible to reduce the amount of transmission by deleting and transmitting the overlapping part in terms of transmission band constraints. The flow of the process is shown in FIG. In step S05010, the background cutout unit 05004 sets the central portion of the background image, for example, as in a partial region 3401 surrounded by a dotted line illustrated in FIG. That is, the partial area 3401 is a background area in which the own camera 112 takes charge of transmission, and the other background areas are in charge of transmission by the other cameras 112. In step S05011, the background cutout unit 05004 reads out the partial area 3401 of the set background image. Then, in S05012, the data is output to the transmission unit 06120. The output background image is collected by the image computing server 200 and used as a texture of the background model. The position from which the background image 05002 is cut out in each camera adapter 120 is set according to a predetermined parameter value so that there is no shortage of texture information for the background model. Usually, in order to reduce the amount of transmission data, the area to be cut out is set to be the minimum necessary. This has the effect of being able to reduce the amount of transmission of a vast amount of background information, and a system capable of coping with high resolution can be achieved.
次に前景分離部05001では、前景領域(人物などのオブジェクト)を検出する処理が行われる。画素毎に実行される前景領域検出処理の流れを図35(b)に示す。前景の検出については、背景差分情報を用いる方法が用いられる。まずS05005で、前景分離部05001は、新たに入力された画像の各画素と、背景画像05002内の対応する位置にある画素との差分を導出する。そしてS05006で差分が閾値Lより大きいかどうか判定する。ここで、図34(a)に示した背景画像05002に対して、新たに入力された画像が例えば図34(b)のようになっているものとすると、人物が映っている領域の各画素においては差分が大きくなる。差分が閾値Lより大きい場合にはS05007で、その画素が前景として設定される。なお背景差分情報を用いる前景の検出方法においては、前景をより高精度に検出するための様々な工夫が考えられている。また前景検出についてはその他にも、特徴量や機械学習を用いる手法などさまざまな手法がある。
Next, the foreground separation unit 05001 performs processing for detecting a foreground area (an object such as a person). The flow of foreground area detection processing performed for each pixel is shown in FIG. For foreground detection, a method using background difference information is used. First, in step S05005, the foreground separation unit 05001 derives the difference between each pixel of the newly input image and the pixel at the corresponding position in the background image 05002. Then, it is determined whether or not the difference is larger than the threshold L in S05006. Here, assuming that the newly input image is as shown in, for example, FIG. 34 (b) with respect to the background image 05002 shown in FIG. 34 (a), each pixel of the area in which the person appears The difference becomes large in. If the difference is larger than the threshold L, the pixel is set as the foreground in S05007. In the foreground detection method using background difference information, various devices for detecting the foreground with higher accuracy are considered. In addition, there are various methods, such as methods using feature quantities and machine learning, for foreground detection.
前景分離部05001は、以上図35(b)で説明した処理を入力された画像の画素毎に実行した後、前景領域をブロックとして決定して出力する処理を行う。処理の流れを図35(c)に示す。S05008においては、前景領域を検出した画像に対して、複数の画素が連結した前景領域を1つの前景画像として設定する。画素が連結した領域を検出する処理としては例えば領域成長法を用いる。領域成長法は公知のアルゴリズムであるため詳細な説明は省く。S05008で前景領域がそれぞれ前景画像としてまとめられた後、S05009で順次各前景画像が読み出されて伝送部06120へ出力される。
The foreground separation unit 05001 executes the processing described above with reference to FIG. 35B for each pixel of the input image, and then performs processing for determining and outputting the foreground region as a block. The flow of processing is shown in FIG. In S05008, the foreground area in which a plurality of pixels are connected is set as one foreground image for the image in which the foreground area is detected. For example, a region growing method is used as a process of detecting a region in which pixels are connected. Since the region growing method is a known algorithm, the detailed description is omitted. After the foreground regions are grouped as foreground images in S05008, the foreground images are sequentially read out in S05009 and output to the transmission unit 06120.
次に三次元モデル情報生成部06132では、前景画像を用いて三次元モデル情報の生成を行う。カメラアダプタが隣のカメラからの前景画像を受信すると、伝送部06120を介して他カメラ前景受信部05006にその前景画像が入力される。前景画像が入力されたときに三次元モデル処理部05005が実行する処理の流れを図35(e)に示す。ここで、画像コンピューティングサーバ200がカメラ112の撮影画像データが集め、画像処理を開始し仮想視点画像を生成する場合に、計算量が多く画像生成に係る時間が長くなる場合が考えられる。とくに三次元モデル生成における計算量が顕著に大きくなる虞がある。そこで図35(e)では、画像コンピューティングサーバ200における処理量を低減するために、カメラアダプタ120間をデイジーチェーンつないでデータを伝送する中で逐次三次元モデル情報を生成する方法について説明する。
Next, the three-dimensional model information generation unit 06132 generates three-dimensional model information using the foreground image. When the camera adapter receives the foreground image from the adjacent camera, the foreground image is input to the other camera foreground reception unit 05006 via the transmission unit 06120. The flow of processing executed by the three-dimensional model processing unit 05005 when a foreground image is input is shown in FIG. Here, when the image computing server 200 collects captured image data of the camera 112, starts image processing, and generates a virtual viewpoint image, there may be a large amount of calculation and a long time for image generation. In particular, the amount of calculation in three-dimensional model generation may be significantly increased. Therefore, in FIG. 35E, a method of sequentially generating three-dimensional model information while transmitting data by daisy-chaining the camera adapters 120 in order to reduce the amount of processing in the image computing server 200 will be described.
まずS05013で三次元モデル情報生成部06132は、他のカメラ112により撮影された前景画像を受信する。つぎに三次元モデル情報生成部06132は、05014では、受信した前景画像を撮影したカメラ112が自カメラ112と同一注視点のグループに属し、且つ、隣接カメラであるかどうかを確認する。S05014がYESの場合はS05015に進む。NOの場合は、当該他カメラ112の前景画像との相関がないと判断し、処理を行わず終了する。また、S05014において、隣接カメラであるかどうかの確認が行われているが、カメラ112間の相関の判断方法はこれに限らない。例えば、三次元モデル情報生成部06132が事前に相関のあるカメラ112のカメラ番号を入手及び設定し、そのカメラ112の画像データが伝送された場合のみ画像データを取り込んで処理する方法でも、同様の効果が得られる。
First, in step S05013, the three-dimensional model information generation unit 06132 receives the foreground image captured by another camera 112. Next, in 05014, the three-dimensional model information generation unit 06132 checks whether the camera 112 that has captured the received foreground image belongs to the same gaze point group as the subject camera 112 and is an adjacent camera. If S05014 is YES, the process proceeds to S05015. In the case of NO, it is determined that there is no correlation with the foreground image of the other camera 112, and the process ends without performing processing. In addition, although it is confirmed in S05014 whether or not the camera is an adjacent camera, the method of determining the correlation between the cameras 112 is not limited to this. For example, the method is similar to the method in which the three-dimensional model information generation unit 06132 obtains and sets the camera number of the correlated camera 112 in advance, and acquires and processes the image data only when the image data of the camera 112 is transmitted. An effect is obtained.
次にS05015では、三次元モデル情報生成部06132は、前景画像のデプス情報の導出を行う。具体的には、まず前景分離部05001から受信した前景画像と他のカメラ112の前景画像との対応付けを行い、次に対応付けされた各画素の座標値とカメラパラメータに基づいて、各前景画像上の各画素のデプス情報を導出する。ここで画像の対応付けの手法としては例えばブロックマッチング法が用いられる。ブロックマッチング法は良く知られた方法であるので詳細な説明は省く。また対応付けの方法としてはその他にも、特徴点検出、特徴量算出、及びマッチング処理などを組み合わせて性能を向上させるようなさまざまな手法があり、どの手法を用いてもよい。
Next, in S05015, the three-dimensional model information generation unit 06132 derives depth information of the foreground image. Specifically, first, the foreground image received from the foreground separation unit 05001 is associated with the foreground image of another camera 112, and then each foreground is matched based on the coordinate value of each pixel and the camera parameter. The depth information of each pixel on the image is derived. Here, for example, a block matching method is used as a method of associating images. Since the block matching method is a well-known method, the detailed description is omitted. Further, there are various methods for improving the performance by combining feature point detection, feature amount calculation, matching processing and the like as a method of association, and any method may be used.
次にS05016で、三次元モデル情報生成部06132は、前景画像の三次元モデル情報を導出する。具体的には、前景画像の各画素について、S05015で導出したデプス情報とカメラパラメータ受信部05007に格納されたカメラパラメータに基づいて画素の世界座標値を導出する。そして世界座標値と画素値をセットとして、点群として構成される三次元モデルの1つの点データを設定する。以上の処理により、前景分離部05001から受信した前景画像から得られた三次元モデルの一部の点群情報と、他のカメラ112の前景画像から得られた三次元モデルの一部の点群情報とが得られる。そしてS05017で、三次元モデル情報生成部06132は、得られた三次元モデル情報にカメラ番号およびフレーム番号をメタ情報として付加し(メタ情報は例えば、タイムコードや絶対時刻でもよい。)伝送部06120へ出力する。
Next, in S05016, the three-dimensional model information generation unit 06132 derives three-dimensional model information of the foreground image. Specifically, for each pixel of the foreground image, the world coordinate value of the pixel is derived based on the depth information derived in S05015 and the camera parameter stored in the camera parameter receiving unit 05007. Then, one set of point data of the three-dimensional model configured as a point group is set by setting the world coordinate value and the pixel value as a set. According to the above processing, part of point cloud information of the three-dimensional model obtained from the foreground image received from the foreground separation unit 05001 and part of point cloud of the three-dimensional model obtained from the foreground image of the other camera 112 Information is obtained. Then, in S05017, the three-dimensional model information generation unit 06132 adds the camera number and the frame number to the obtained three-dimensional model information as meta information (the meta information may be, for example, a time code or an absolute time) transmission unit 06120 Output to
これにより、カメラアダプタ120間がデイジーチェーンで接続され且つ複数の注視点が設定される場合でも、デイジーチェーンによってデータを伝送しながら、カメラ112間の相関に応じて画像処理を行い、三次元モデル情報を逐次生成することができる。その結果、処理が高速化される効果がある。
Thereby, even when the camera adapters 120 are connected by a daisy chain and a plurality of fixation points are set, image processing is performed according to the correlation between the cameras 112 while data is transmitted by the daisy chain, and a three-dimensional model Information can be generated sequentially. As a result, the processing can be speeded up.
なお本実施形態では、以上に説明した各処理はカメラアダプタ120に実装されたFPGAまたはASICなどのハードウェアによって実行されるが、例えばCPU、GPU、DSPなどを用いてソフトウェア処理によって実行してもよい。また本実施形態ではカメラアダプタ120内で三次元モデル情報生成を実行したが、各カメラ112からの全ての前景画像が集められる画像コンピューティングサーバ200が三次元モデル情報の生成を行ってもよい。
In the present embodiment, each processing described above is executed by hardware such as FPGA or ASIC mounted on the camera adapter 120, but may be executed by software processing using, for example, a CPU, GPU, DSP, etc. Good. Although three-dimensional model information generation is executed in the camera adapter 120 in the present embodiment, the image computing server 200 in which all foreground images from each camera 112 are collected may generate three-dimensional model information.
次に、データベース250に蓄積されたデータに基づいてバックエンドサーバ270が、ライブ画像生成及びリプレイ画像生成を行い、生成された画像をエンドユーザ端末190に表示させる処理について説明する。なお、本実施形態のバックエンドサーバ270は、ライブ画像及びリプレイ画像として、仮想視点コンテンツを生成する。本実施形態において、仮想視点コンテンツとは、複数のカメラ112による撮影画像を複数視点画像として用いて生成されるコンテンツである。すなわち、バックエンドサーバ270は、例えば、ユーザ操作に基づいて指定された視点情報に基づいて、仮想視点コンテンツを生成する。また、本実施形態では仮想視点コンテンツに音声データ(オーディオデータ)が含まれる場合の例を中心に説明しているが、必ずしも音声データが含まれていなくても良い。
Next, the back end server 270 performs live image generation and replay image generation based on the data stored in the database 250, and the process of causing the end user terminal 190 to display the generated image will be described. The back-end server 270 of the present embodiment generates virtual viewpoint content as a live image and a replay image. In the present embodiment, virtual viewpoint content is content generated using images captured by a plurality of cameras 112 as a plurality of viewpoint images. That is, the back-end server 270 generates virtual viewpoint content based on the viewpoint information specified based on the user operation, for example. Further, in the present embodiment, an example in which audio data (audio data) is included in virtual viewpoint content is mainly described, but audio data may not necessarily be included.
ユーザが仮想カメラ操作UI330を操作して視点を指定した場合に、指定された視点位置(仮想カメラの位置)に対応する画像を生成するためのカメラ112による撮影画像がない、あるいは解像度が十分でない、あるいは画質が低い場合が考えられる。その際に、ユーザへの画像提供の条件を満たせないことが画像生成の段階まで判定できないと、オペレータの操作性が損なわれる虞がある。以下ではこの虞を低減する方法について説明する。
When the user operates the virtual camera operation UI 330 to specify a viewpoint, there is no image captured by the camera 112 for generating an image corresponding to the specified viewpoint position (the position of the virtual camera) or the resolution is not sufficient Or, the image quality may be low. At this time, if it can not be determined that the condition for providing the image to the user can not be satisfied up to the stage of image generation, the operability of the operator may be impaired. Below, the method to reduce this fear is demonstrated.
図36は、オペレータ(ユーザ)による入力装置への操作が行われてから仮想視点画像が表示されるまでの仮想カメラ操作UI330、バックエンドサーバ270及びデータベース250の処理フローを示す。
FIG. 36 shows the processing flow of the virtual camera operation UI 330, the back end server 270 and the database 250 from when the operator (user) performs an operation on the input device until the virtual viewpoint image is displayed.
まず、オペレータが仮想カメラを操作するために入力装置を操作する(S03300)。
入力装置として例えば、ジョイスティック、ジョグダイヤル、タッチパネル、キーボード、及びマウスなどが用いられる。
First, the operator operates the input device to operate the virtual camera (S03300).
For example, a joystick, a jog dial, a touch panel, a keyboard, and a mouse are used as the input device.
仮想カメラ操作UI330において、入力された仮想カメラの位置や姿勢を表す仮想カメラパラメータが導出される(S03301)。
仮想カメラパラメータには、仮想カメラの位置と姿勢などを示す外部パラメータ、および仮想カメラのズーム倍率などを示す内部パラメータが含まれる。
仮想カメラ操作UI330は、導出した仮想カメラパラメータをバックエンドサーバ270に送信する。
In virtual camera operation UI 330, virtual camera parameters representing the position and attitude of the input virtual camera are derived (S03301).
The virtual camera parameters include external parameters indicating the position and orientation of the virtual camera and the like, and internal parameters indicating the zoom magnification of the virtual camera and the like.
The virtual camera operation UI 330 transmits the derived virtual camera parameter to the back end server 270.
バックエンドサーバ270は、仮想カメラパラメータを受信するとデータベース250に対して前景三次元モデル群を要求する(S03303)。データベース250は、要求に応じて前景オブジェクトの位置情報を含む前景三次元モデル群をバックエンドサーバ270に送信する(S03304)。
The back-end server 270 requests the database 250 for the foreground three-dimensional model group when the virtual camera parameters are received (S03303). The database 250 transmits the foreground three-dimensional model group including the position information of the foreground object to the back end server 270 in response to the request (S03304).
バックエンドサーバ270は、仮想カメラパラメータと前景三次元モデルに含まれる前景オブジェクトの位置情報に基づいて仮想カメラの視野に入る前景オブジェクト群を幾何学的に導出する(S03305)。
The back-end server 270 geometrically derives a foreground object group that falls within the field of view of the virtual camera based on the virtual camera parameters and the position information of the foreground object included in the foreground three-dimensional model (S03305).
バックエンドサーバ270は、導出した前景オブジェクト群の前景画像、前景三次元モデル、背景画像及び音声データ群をデータベース250に要求する(S03306)。
データベース250は、要求に応じてデータをバックエンドサーバ270に送信する(S03307)。
The back end server 270 requests the database 250 for the foreground image, foreground three-dimensional model, background image and audio data group of the derived foreground object group (S03306).
The database 250 transmits data to the back end server 270 in response to the request (S03307).
バックエンドサーバ270は、受信した前景画像、前景三次元モデル及び背景画像から仮想視点の前景画像及び背景画像を生成し、それらを合成して仮想視点の全景画像を生成する。
The back end server 270 generates a foreground image and a background image of a virtual viewpoint from the received foreground image, foreground 3D model and background image, and combines them to generate a panoramic image of the virtual viewpoint.
また、音声データ群に基づいて仮想カメラの位置に応じた音声データの合成を行い、仮想視点の全景画像と統合して仮想視点の画像及び音声を生成する(S03308)。
Also, voice data is synthesized according to the position of the virtual camera based on the voice data group, and integrated with the panoramic image of the virtual viewpoint to generate an image and voice of the virtual viewpoint (S03308).
バックエンドサーバ270は、生成した仮想視点の画像及び音声を仮想カメラ操作UI330に送信する(S03309)。仮想カメラ操作UI330は受信した画像を表示することで仮想カメラの撮影画像の表示を実現する。
The back end server 270 transmits the generated image and sound of the virtual viewpoint to the virtual camera operation UI 330 (S03309). The virtual camera operation UI 330 realizes the display of the captured image of the virtual camera by displaying the received image.
図38(a)は、仮想カメラ操作UI330がライブ画像を生成する際の処理手順を説明するフローチャートである。
FIG. 38A is a flowchart for describing a processing procedure when the virtual camera operation UI 330 generates a live image.
S08201で、オペレータが仮想カメラ08001を操作するために入力装置に対して入力された操作情報を取得する。S08202で、仮想カメラ操作部08101が、オペレータの操作が仮想カメラ08001の移動や回転であるか否かを判定する。ここでの移動や回転は1フレームごとに行われる。移動や回転であると判定された場合はS08203へ進む。そうでないと判定された場合はS08205へ進む。ここで、移動操作及び回転操作と軌跡選択操作とで処理が分岐する。これにより、時間を停止させて視点位置を回転させる画像表現と連続的な動きを表現する画像表現とを簡便な操作で切り替えることが可能になるという効果がある。
In S08201, the operator acquires operation information input to the input device in order to operate the virtual camera 08001. In S08202, the virtual camera operation unit 08101 determines whether the operator's operation is movement or rotation of the virtual camera 08001. The movement and rotation here are performed for each frame. If it is determined to be movement or rotation, the process advances to step S08203. If it is determined not, the process proceeds to S08205. Here, the processing branches in the movement operation, the rotation operation, and the trajectory selection operation. As a result, there is an effect that it is possible to switch between the image representation in which the time point position is rotated by stopping the time and the image representation representing the continuous motion with a simple operation.
S08203で、図38(b)で説明する1フレーム分の処理を行う。S08204で、仮想カメラ操作UI330はオペレータが終了操作を入力したか否かを判定する。終了操作が入力された場合は処理を終了する。終了しなかった場合はS08201へ戻る。
In S08203, the processing for one frame described in FIG. 38B is performed. In step S08204, the virtual camera operation UI 330 determines whether the operator has input an end operation. If the end operation is input, the process ends. If not ended, the process returns to S08201.
つぎにS08205で、仮想カメラ操作部08101は、オペレータによって軌跡(仮想カメラパス)の選択操作が入力されたか否かを判定する。例えば、軌跡は複数フレーム分の仮想カメラ08001の操作情報の列で表すことができる。軌跡の選択操作が入力されたと判定された場合はS08206へ進む。そうでないと判定された場合はS08201へ戻る。
Next, in S08205, the virtual camera operation unit 08101 determines whether or not an operation for selecting a trajectory (virtual camera path) has been input by the operator. For example, the trajectory can be represented by a sequence of operation information of the virtual camera 08001 for a plurality of frames. If it is determined that the trajectory selection operation has been input, the process advances to step S08206. If it is determined not, the process returns to S08201.
S08206で、仮想カメラ操作UI330は、選択された軌跡から次のフレームの操作を取得する。S08207で、図38(b)で説明する1フレーム分の処理を行う。S08208で、選択された軌跡のすべてのフレームに対する処理が終了したか否かを判定する。終了した場合はS08204へ進む。終了していない場合はS08206へ戻る。
In S08206, the virtual camera operation UI 330 acquires the operation of the next frame from the selected trajectory. In S08207, the processing for one frame described in FIG. 38B is performed. In step S08208, it is determined whether the processing for all the frames of the selected trajectory has ended. If completed, the process advances to step S08204. If it has not ended, the process returns to S08206.
図38(b)は、S08203およびS08206における1フレーム分の処理を説明するフローチャートである。
FIG. 38 (b) is a flow chart for explaining the processing for one frame in S08203 and S08206.
S08209で、仮想カメラパラメータ導出部08102が、位置や姿勢が変更された後の、仮想カメラパラメータを導出する。S08210で、衝突判定部08104が、衝突判定を行う。衝突した、つまり、仮想カメラ制約が満たされていない場合はS08214へ進む。衝突していない、つまり、仮想カメラ制約が満たされている場合はS08211へ進む。
In S08209, the virtual camera parameter derivation unit 08102 derives virtual camera parameters after the position and orientation have been changed. In S08210, the collision determination unit 08104 performs collision determination. If a collision has occurred, that is, the virtual camera constraint is not satisfied, the process advances to step S08214. If there is no collision, that is, if the virtual camera constraint is satisfied, the processing proceeds to step S08211.
このように、仮想カメラ操作UI330において、衝突判定が行われる。そして判定結果に応じて、例えば操作部をロックする、あるいは色が異なるメッセージ表示をして警告する等の処理が行われることで、オペレータに対するフィードバックの即時性を高めることができる。これにより、結果的にオペレータの操作性向上につながるという効果があることを明記しておく。
Thus, collision determination is performed in the virtual camera operation UI 330. Then, according to the determination result, the immediacy of the feedback to the operator can be enhanced by performing processing such as locking the operation unit or displaying a warning by displaying a different color message. It should be clearly stated that this has the effect of improving the operability of the operator as a result.
S08211で、仮想カメラパス管理部08106が、仮想カメラパラメータをバックエンドサーバ270へ送信する。S08212で、仮想カメラ画像・音声出力部08108が、バックエンドサーバ270から受信した画像を出力する。
In step S08211, the virtual camera path management unit 08106 transmits virtual camera parameters to the back end server 270. In S08212, the virtual camera image / sound output unit 08108 outputs the image received from the back end server 270.
S08214で、仮想カメラ制約を満たすように仮想カメラ08001の位置や姿勢が修正される。例えば、ユーザによる最新の操作入力がキャンセルされ、仮想カメラパラメータが1フレーム前の状態に戻される。これによりオペレータは、例えば軌跡入力が行われて衝突が発生した場合などに、最初から操作入力をやり直さずに、衝突が発生したところからインタラクティブに操作入力を補正することが可能となり、操作性が向上される効果がある。
In S08214, the position and orientation of the virtual camera 08001 are corrected so as to satisfy the virtual camera constraints. For example, the latest operation input by the user is canceled, and the virtual camera parameter is returned to the state one frame before. This enables the operator to interactively correct the operation input from the place where the collision occurs without performing the operation input again from the beginning, for example, when a trajectory input occurs and a collision occurs, operability is improved. There is an effect to be improved.
S08215で、フィードバック出力部08105が、仮想カメラ制約を満たさないことを、オペレータに通知する。通知は音、メッセージ、及び仮想カメラ操作UI330をロックさせる等の方法により行う。また、通知方法はこれに限定するものではない。
In S08215, the feedback output unit 08105 notifies the operator that the virtual camera constraint is not satisfied. The notification is performed by a sound, a message, and a method of locking the virtual camera operation UI 330 or the like. Also, the notification method is not limited to this.
図39は、仮想カメラ操作UI330がリプレイ画像を生成する際の処理手順を説明するフローチャートである。
FIG. 39 is a flowchart for describing a processing procedure when the virtual camera operation UI 330 generates a replay image.
S08301で、仮想カメラパス管理部08106が、ライブ画像の仮想カメラパス08002を取得する。S08302で、仮想カメラパス管理部08106は、ライブ画像の仮想カメラパス08002から、開始点と終了点を選択するためのオペレータの操作を受け付ける。例えば、ゴールシーン前後の10秒分の仮想カメラパス08002が選択されうる。ライブ画像が60フレーム/秒の場合は、10秒分の仮想カメラパス08002に、600個の仮想カメラパラメータが含まれる。このようにフレーム毎に仮想カメラパラメータ情報が紐づけられて管理される。
In step S08301, the virtual camera path management unit 08106 acquires a virtual camera path 08002 of a live image. In S08302, the virtual camera path management unit 08106 receives an operation of the operator for selecting the start point and the end point from the virtual camera path 08002 of the live image. For example, a virtual camera path 08002 for 10 seconds before and after the goal scene may be selected. If the live image is 60 frames per second, the virtual camera path 08002 for 10 seconds includes 600 virtual camera parameters. Thus, virtual camera parameter information is linked and managed for each frame.
S08303で、選択された10秒分の仮想カメラパス08002が、リプレイ画像の仮想カメラパス08002の初期値として保存される。また、S08307からS08309の処理により、仮想カメラパス08002が編集された場合は、編集した結果が上書き保存される。
In S08303, the selected virtual camera path 08002 for 10 seconds is stored as an initial value of the virtual camera path 08002 of the replay image. Also, when the virtual camera path 08002 is edited by the processing of S08307 to S08309, the edited result is overwritten and saved.
S08304で、仮想カメラ操作UI330は、オペレータにより入力された操作が再生操作であるか否かを判定する。再生操作の場合はS08305へ進む。再生操作でない場合はS08307へ進む。
In S08304, the virtual camera operation UI 330 determines whether the operation input by the operator is a reproduction operation. In the case of the reproduction operation, the process proceeds to S08305. If it is not the reproduction operation, the process proceeds to S08307.
S08305で、再生する範囲の選択に関するオペレータ入力を受け付ける。S08306で、オペレータにより選択された範囲の画像及び音声が再生される。具体的には、仮想カメラパス管理部08106が、選択された範囲の仮想カメラパス08002をバックエンドサーバ270へ送信する。すなわち、仮想カメラパス08002に含まれる仮想カメラパラメータを順に送信する。そして仮想カメラ画像・音声出力部08108が、バックエンドサーバ270から受信した仮想視点画像及び仮想視点音声を出力する。
In S08305, an operator input regarding selection of a reproduction range is received. At S08306, the image and sound in the range selected by the operator are reproduced. Specifically, the virtual camera path management unit 08106 transmits the virtual camera path 08002 in the selected range to the back end server 270. That is, virtual camera parameters included in the virtual camera path 08002 are sequentially transmitted. Then, the virtual camera image / voice output unit 08108 outputs the virtual viewpoint image and the virtual viewpoint voice received from the back end server 270.
S08307で、仮想カメラ操作UI330は、オペレータにより入力された操作が編集操作であるか否かを判定する。編集の場合はS08308へ進む。編集でない場合はS08310へ進む。
In step S08307, the virtual camera operation UI 330 determines whether the operation input by the operator is an editing operation. In the case of editing, the processing proceeds to S08308. If it is not editing, the processing proceeds to step S08310.
S08308で、仮想カメラ操作UI330は、編集範囲としてオペレータにより選択された範囲を特定する。S08309で、S08306と同様の処理により、選択された編集範囲の画像及び音声が再生される。ただし、その際に仮想カメラ操作部08101を用いて仮想カメラ08001が操作された場合、その結果を反映する。つまり、ライブ画像とは異なる視点の画像となるように、リプレイ画像を編集することが可能である。また、スロー再生や停止を行うようにリプレイ画像を編集してもよい。例えば、時間を停止し、視点を動かすという編集も可能である。
In step S08308, the virtual camera operation UI 330 specifies the range selected by the operator as the editing range. In S08309, the image and sound in the selected editing range are reproduced by the same processing as S08306. However, when the virtual camera 08001 is operated using the virtual camera operation unit 08101 at that time, the result is reflected. That is, it is possible to edit the replay image so as to be an image of a viewpoint different from that of the live image. Also, the replay image may be edited to perform slow playback or stop. For example, it is possible to edit to stop time and move the viewpoint.
S08310で、仮想カメラ操作UI330は、オペレータにより入力された操作が終了操作であるか否かを判定する。終了の場合はS08311へ進む。終了でない場合はS08304へ進む。
In step S08310, the virtual camera operation UI 330 determines whether the operation input by the operator is an end operation. In the case of completion, the processing proceeds to S08311. If it is not the end, the process proceeds to S08304.
S08311で、編集が終わった仮想カメラパス08002がバックエンドサーバ270へ送信される。
In S08311, the virtual camera path 08002 that has been edited is transmitted to the back end server 270.
図40は、仮想カメラ操作UI330を用いて生成された複数の仮想カメラ画像の中から所望の仮想カメラ画像をユーザが選択して鑑賞するための処理手順を説明するフローチャートである。例えば、ユーザはエンドユーザ端末190を用いて、仮想カメラ画像を鑑賞する。なお、仮想カメラパス08002は画像コンピューティングサーバ200に蓄積されていてもよいし、それとは異なるWebサーバ(不図示)に蓄積されていてもよい。
FIG. 40 is a flowchart for describing a processing procedure for the user to select and view a desired virtual camera image from among a plurality of virtual camera images generated using the virtual camera operation UI 330. For example, the user uses the end user terminal 190 to view a virtual camera image. The virtual camera path 08002 may be stored in the image computing server 200, or may be stored in a different web server (not shown).
S08401で、エンドユーザ端末190は、仮想カメラパス08002のリストを取得する。各仮想カメラパス08002には、サムネイルやユーザの評価などが付加されていてもよい。また、S08401において、エンドユーザ端末190には、仮想カメラパス08002のリストが表示される。
In S08401, the end user terminal 190 acquires a list of virtual camera paths 08002. Each virtual camera path 08002 may be added with a thumbnail, an evaluation of the user, or the like. In S08401, the end user terminal 190 displays a list of virtual camera paths 08002.
S08402で、エンドユーザ端末190は、ユーザによりリストの中から選択された仮想カメラパス08002に関する指定情報を取得する。
In S08402, the end user terminal 190 acquires specification information on the virtual camera path 08002 selected from the list by the user.
S08403で、エンドユーザ端末190は、ユーザにより選択された仮想カメラパス08002をバックエンドサーバ270に送信する。バックエンドサーバ270は受信した仮想カメラパス08002から仮想視点画像及び仮想視点音声を生成し、エンドユーザ端末190へ送信する。
In S 08403, the end user terminal 190 transmits the virtual camera path 08002 selected by the user to the back end server 270. The back end server 270 generates a virtual viewpoint image and a virtual viewpoint sound from the received virtual camera path 08002 and transmits it to the end user terminal 190.
S08404で、エンドユーザ端末190は、バックエンドサーバ270から受信した仮想視点画像及び仮想視点音声を出力する。
In S08404, the end user terminal 190 outputs the virtual viewpoint image and the virtual viewpoint sound received from the back end server 270.
このように、仮想カメラパスのリストを蓄積し、後から仮想カメラパスを使って画像を再現可能にすることによって、仮想視点画像を常に蓄積し続ける必要がなくなり、蓄積装置コストを削減することが可能になる。さらに、優先度の高い仮想カメラパスの画像生成を要求された場合に、優先度の低い仮想カメラパス画像生成の順序を後にして対応することもできる。また、仮想カメラパスをWebサーバで公開する場合には、Webに接続されるエンドユーザに対して、仮想視点画像を提供したり、共有させたりすることが可能になり、ユーザに対するサービス性を向上させる効果があることをここに明記しておく。
As described above, by accumulating the virtual camera path list and enabling the image to be reproduced later using the virtual camera path, it is not necessary to constantly store the virtual viewpoint image, thereby reducing the cost of the storage device. It will be possible. Furthermore, when it is required to generate an image of a virtual camera path with high priority, the order of virtual camera path image generation with low priority can be dealt with later. In addition, when the virtual camera path is disclosed on the Web server, it is possible to provide and share virtual viewpoint images to end users connected to the Web, thereby improving serviceability to users. It is clearly stated here that the effect is
エンドユーザ端末190で表示される画面について説明する。図41は、エンドユーザ端末190が表示する表示画面41001の一例である。
The screen displayed on the end user terminal 190 will be described. FIG. 41 is an example of a display screen 41001 displayed by the end user terminal 190.
エンドユーザ端末190が、画像が表示される領域41002に、バックエンドサーバ270から入力された画像を順次表示することで、視聴者(ユーザ)は、サッカーの試合などの仮想視点画像を視聴可能となる。視聴者は、この表示画像に応じてユーザ入力機器を操作することにより、画像の視点の切り替えを行う。例えば、ユーザがマウスを左方向に移動させると、表示される画像における左の方向に視点が向いた画像が表示される。マウスを上方向に移動させると、表示される画像における上の方向を見上げた画像が表示される。
The end user terminal 190 sequentially displays the image input from the back end server 270 in the area 41002 where the image is displayed, so that the viewer (user) can view the virtual viewpoint image such as a soccer game. Become. The viewer switches the viewpoint of the image by operating the user input device according to the display image. For example, when the user moves the mouse to the left, an image in which the viewpoint is directed to the left in the displayed image is displayed. When the mouse is moved upward, an image looking up upward in the displayed image is displayed.
画像表示の領域41002とは別の領域には、手動操縦と自動操縦を切り換えることが可能なGUI(Graphic User Interface)のボタン41003及びボタン41004が設けられる。これに対する操作を行うことで、視聴者自身が視点の変更を行い視聴するか、予め設定された視点で視聴するかを視聴者が選択できる。
In an area different from the area for image display 41002, a button 41003 and a button 41004 of graphic user interface (GUI) which can switch between manual operation and automatic operation are provided. By performing an operation on this, the viewer can select whether the viewer himself / herself changes the viewpoint and performs viewing or viewing from a preset viewpoint.
例えば、あるエンドユーザ端末190がユーザの手動操縦による視点の切り替え結果を表す視点操作情報を画像コンピューティングサーバ200やWebサーバ(不図示)に逐次アップロードする。そして、別のエンドユーザ端末190を操作するユーザがその視点操作情報を入手して、それに応じた仮想視点画像を視聴することも可能である。また、アップロードされる視点操作情報に対するレーティングを可能とすることで、ユーザは例えば人気の高い視点操作情報に応じた画像を選択して視聴することができ、操作に不慣れなユーザでも本サービスを簡便に利用できるという特有の効果がある。
For example, an end user terminal 190 sequentially uploads viewpoint operation information representing the result of switching the viewpoint by the user's manual operation to the image computing server 200 or a web server (not shown). Then, it is also possible for a user operating another end user terminal 190 to obtain the viewpoint operation information and view a virtual viewpoint image corresponding thereto. In addition, by enabling rating for uploaded view point operation information, the user can, for example, select and view an image according to popular view point operation information, and even users who are not familiar with the operation can simplify the service. There are special effects that can be used for
次に、視聴者が手動操縦を選択し、手動操縦しているときの、アプリケーション管理部10001の動作について説明する。図42は、アプリケーション管理部10001の手動操縦処理を表すフローチャートである。
Next, the operation of the application management unit 10001 when the viewer selects manual operation and performs manual operation will be described. FIG. 42 is a flowchart showing the manual operation process of the application management unit 10001.
アプリケーション管理部10001は、ユーザによる入力があるかを判定する(S10010)。
The application management unit 10001 determines whether there is an input by the user (S10010).
ユーザによる入力がある場合(S10010のYes)、アプリケーション管理部10001は、ユーザ入力情報をバックエンドサーバ270が認識可能なバックエンドサーバコマンドに変換する(S10011)。
When there is an input by the user (Yes in S10010), the application management unit 10001 converts the user input information into a back-end server command that can be recognized by the back-end server 270 (S10011).
一方、ユーザによる入力がない場合(S10010のNo)、S10013へ進む。
On the other hand, when there is no input by the user (No in S10010), the process advances to S10013.
次に、アプリケーション管理部10001は、バックエンドサーバコマンドを、基本ソフト部10002及びネットワーク通信部10003を介して送信する(S10012)。
Next, the application management unit 10001 transmits a back-end server command via the basic software unit 10002 and the network communication unit 10003 (S10012).
バックエンドサーバ270がユーザ入力情報に基づいて視点変更した画像を生成した後、アプリケーション管理部10001は、ネットワーク通信部10003及び基本ソフト部10002を介してバックエンドサーバ270から画像を受信する(S10013)。そして、アプリケーション管理部10001は、受信した画像を所定の画像表示領域41002に表示する(S10014)。以上の処理を行うことで、手動操縦により、画像の視点が変更される。
After the back-end server 270 generates an image whose viewpoint has been changed based on user input information, the application management unit 10001 receives an image from the back-end server 270 via the network communication unit 10003 and the basic software unit 10002 (S10013) . Then, the application management unit 10001 displays the received image in a predetermined image display area 41002 (S10014). By performing the above processing, the viewpoint of the image is changed by manual operation.
続いて、視聴者(ユーザ)が自動操縦を選択したときの、アプリケーション管理部10001の動作について説明する。図43は、アプリケーション管理部10001の自動操縦処理を表すフローチャートである。
Subsequently, an operation of the application management unit 10001 when the viewer (user) selects the autopilot will be described. FIG. 43 is a flowchart showing the autopilot processing of the application management unit 10001.
アプリケーション管理部10001は、自動操縦用入力情報がある場合(S10020)、自動操縦用入力情報を読み出す(S10021)。
When there is input information for automatic steering (S10020), the application management unit 10001 reads out input information for automatic steering (S10021).
アプリケーション管理部10001は、読みだした自動操縦用入力情報を、バックエンドサーバ270が認識可能なバックエンドサーバコマンドに変換する(S10022)。
The application management unit 10001 converts the read autopilot input information into a back-end server command that can be recognized by the back-end server 270 (S10022).
次に、バックエンドサーバコマンドを、基本ソフト部10002及びネットワーク通信部10003を介して送信する(S10023)。
Next, the back end server command is transmitted via the basic software unit 10002 and the network communication unit 10003 (S10023).
バックエンドサーバ270がユーザ入力情報に基づいて視点変更した画像を生成した後、アプリケーション管理部10001は、ネットワーク通信部10003及び基本ソフト部10002を介してバックエンドサーバ270から画像を受信する(S10024)。最後に、アプリケーション管理部10001は、受信した画像を所定の画像表示領域に表示する(S10025)。以上の処理を、自動操縦用入力情報がある限り繰り返し行うことで、自動操縦により、画像の視点が変更される。
After the back-end server 270 generates an image whose viewpoint has been changed based on user input information, the application management unit 10001 receives the image from the back-end server 270 via the network communication unit 10003 and the basic software unit 10002 (S10024) . Finally, the application management unit 10001 displays the received image in a predetermined image display area (S10025). By repeating the above process as long as there is input information for automatic steering, the viewpoint of the image is changed by automatic steering.
図44は、バックエンドサーバ270において1フレームの仮想視点画像を生成する処理フローを示す。
FIG. 44 shows a processing flow of generating a virtual viewpoint image of one frame in the back end server 270.
まず、データ受信部03001は、コントローラ300から仮想カメラパラメータを受信する(S03100)。前述の通り、仮想カメラパラメータは、仮想視点の位置や姿勢などを表すデータのことである。
First, the data receiving unit 03001 receives virtual camera parameters from the controller 300 (S03100). As described above, the virtual camera parameter is data representing the position, orientation, and the like of the virtual viewpoint.
前景オブジェクト決定部03010は、受信した仮想カメラパラメータと前景オブジェクトの位置を元に仮想視点画像の生成で必要となる前景オブジェクトを決定する(S03101)。仮想視点から見た場合に視野に入る前景オブジェクトを三次元幾何学的に求める。要求リスト生成部03011は、決定した前景オブジェクトの前景画像、前景三次元モデル群、背景画像及び音声データ群の要求リストを生成し、要求データ出力部03012からデータベース250に要求を行う(S03102)。要求リストとはデータベース250に対してリクエストするデータの内容である。
The foreground object determination unit 03010 determines a foreground object necessary for generating a virtual viewpoint image based on the received virtual camera parameters and the position of the foreground object (S03101). Foreground objects that come into view when viewed from a virtual viewpoint are determined three-dimensionally geometrically. The request list generation unit 03011 generates a request list of the foreground image, foreground three-dimensional model group, background image and audio data group of the determined foreground object, and requests the database 250 from the request data output unit 03012 (S03102). The request list is the content of data requested to the database 250.
データ受信部03001は、要求した情報をデータベース250から受信する(S03103)。データ受信部03001は、データベース250から受信した情報にエラーを示す情報が含まれるか判定する(S03104)。
The data receiving unit 03001 receives the requested information from the database 250 (S03103). The data receiving unit 03001 determines whether the information received from the database 250 includes information indicating an error (S03104).
ここで、エラーを示す情報としては例えば画像転送量オーバーフロー、画像撮影失敗及び画像のデータベース保存失敗などが挙げられる。このエラー情報はデータベース250に格納されているものである。
S03104においてエラーを示す情報が含まれる場合、データ受信部03001は、仮想視点画像の生成は不可であると判断し、データを出力せず処理を終了する。
Here, as the information indicating an error, for example, an image transfer amount overflow, an image photographing failure, an image database storage failure, and the like can be mentioned. This error information is stored in the database 250.
If the information indicating the error is included in S03104, the data receiving unit 03001 determines that the generation of the virtual viewpoint image is not possible, and ends the process without outputting the data.
S03104においてエラーを示す情報が含まれない場合、バックエンドサーバ270、仮想視点における背景画像の生成、前景画像の生成、及び視点に応じた音声の生成を行う。背景テクスチャ貼り付け部03002は、システムの起動後に取得され背景メッシュモデル管理部03013で保持されている背景メッシュモデルとデータベース250から取得した背景画像から、テクスチャ付き背景メッシュモデルを生成する(S03105)。
If the information indicating the error is not included in S03104, the back end server 270 generates the background image in the virtual viewpoint, generates the foreground image, and generates the audio according to the viewpoint. The background texture pasting unit 03002 generates a textured background mesh model from the background mesh model acquired after activation of the system and held by the background mesh model management unit 03013 and the background image acquired from the database 250 (S03105).
またバックエンドサーバ270は、レンダリングモードに応じて前景画像を生成する(S03106)。またバックエンドサーバ270は、仮想視点での音の聞こえ方を模擬するように音声データ群を合成して音声を生成する(S03107)。音声データ群の合成においては、仮想視点と音声データの取得位置を元に合成する各音声データの大きさが調整される。
The back-end server 270 also generates a foreground image according to the rendering mode (S03106). Also, the back end server 270 synthesizes the voice data group to generate voice so as to simulate how the sound is heard in the virtual viewpoint (S03107). In the synthesis of the audio data group, the size of each audio data to be synthesized is adjusted based on the virtual viewpoint and the acquisition position of the audio data.
レンダリング部03006は、S3105で生成したテクスチャ付き背景メッシュモデルを仮想視点から見た視野にトリミングし、そこに前景画像を合成することで仮想視点の全景画像を生成する(S03108)。
The rendering unit 03006 trims the textured background mesh model generated in S3105 to a field of view as viewed from a virtual viewpoint, and combines the foreground image with this to generate a panoramic image of the virtual viewpoint (S03108).
合成部03008は、仮想視点音声生成(S03107)で生成された仮想音声とレンダリングされた仮想視点の全景画像を統合し(S03109)、1フレームの仮想視点コンテンツを生成する。
画像出力部03009は、生成された1フレームの仮想視点コンテンツを外部のコントローラ300およびエンドユーザ端末190へ出力する(S03110)。
The synthesizing unit 03008 integrates the virtual voice generated by the virtual viewpoint sound generation (S03107) and the panoramic image of the rendered virtual viewpoint (S03109), and generates one frame of virtual viewpoint content.
The image output unit 03009 outputs the generated virtual viewpoint content of one frame to the external controller 300 and the end user terminal 190 (S03110).
つぎに、本システムを適用可能なユースケースを増大するために、さまざまな仮想視点画像生成の要求に対応できる柔軟な制御判定を行うことについて説明する。
Next, in order to increase the use cases to which the present system can be applied, it will be described to perform flexible control determination capable of responding to various virtual viewpoint image generation requests.
図45に前景画像生成のフローを示す。ここでは、仮想視点画像生成において、画像の出力先に応じた要求に対応するため、複数のレンダリングアルゴリズムから何れかを選択する選択指針の一例について説明する。
FIG. 45 shows a flow of foreground image generation. Here, in virtual viewpoint image generation, an example of a selection guideline for selecting any one of a plurality of rendering algorithms will be described in order to respond to the request according to the output destination of the image.
まず、バックエンドサーバ270のレンダリングモード管理部03014は、レンダリング手法の決定を行う。レンダリング手法を決定するための要求事項は、制御ステーション310からバックエンドサーバ270に対して設定される。レンダリングモード管理部03014は、要求事項に従ってレンダリング手法を決定する。レンダリングモード管理部03014は、カメラ112による撮影に基づくバックエンドサーバ270での仮想視点画像生成において高速性を優先する要求が行われたか確認する(S03200)。高速性を優先する要求とは、低遅延の画像生成の要求と等価である。S03200でYESの場合、レンダリングとしてIBRを有効にする(S03201)。つぎに、仮想視点画像生成に係る視点の指定の自由度を優先する要求が行われたかどうか確認する(S03202)。S03202でYESの場合、レンダリングとしてMBRを有効にする(S03203)。つぎに、仮想視点画像生成において計算処理軽量化を優先する要求が行われたかどうか確認する(S03204)。計算処理軽量化を優先する要求は、例えば、コンピュータ資源をあまり使わずに低コストでシステムを構成する場合などに行われる。S03204でYESの場合、レンダリングとしてIBRを有効にする(S03205)。つぎに、レンダリングモード管理部03014は、仮想視点画像生成のために使用されるカメラ112の台数が閾値以上であるかどうか確認する(S03206)。S03206でYESの場合、レンダリングとしてMBRを有効にする(S03207)。
First, the rendering mode management unit 03014 of the back end server 270 determines the rendering method. Requirements for determining the rendering scheme are set from the control station 310 to the back end server 270. The rendering mode management unit 03014 determines the rendering method according to the requirements. The rendering mode management unit 03014 checks whether a request to prioritize high speed has been made in virtual viewpoint image generation in the back end server 270 based on shooting by the camera 112 (S03200). A request that prioritizes high speed is equivalent to a request for low delay image generation. If YES in S03200, IBR is enabled as rendering (S03201). Next, it is checked whether a request has been made to prioritize the degree of freedom of designation of a viewpoint related to virtual viewpoint image generation (S03202). In the case of YES in S03202, the MBR is enabled as rendering (S03203). Next, it is checked whether a request for giving priority to calculation processing weight reduction in virtual viewpoint image generation has been made (S03204). A request to prioritize calculation processing weight reduction is made, for example, when configuring a system at low cost without using much computer resources. In the case of YES in S03204, IBR is enabled as rendering (S03205). Next, the rendering mode management unit 03014 checks whether the number of cameras 112 used for virtual viewpoint image generation is equal to or greater than a threshold (S03206). In the case of YES in S03206, the MBR is enabled as rendering (S03207).
バックエンドサーバ270は、レンダリングモード管理部03014で管理されているモード情報から、レンダリング方式がMBRあるいはIBRのどちらであるか判定する(S03208)。なお、S03201、S03203、S03205、及びS03207の何れの処理も行われていない場合には、システム稼働時に予め決められているデフォルトのレンダリング方式が用いられるものとする。
The back end server 270 determines whether the rendering method is MBR or IBR from the mode information managed by the rendering mode management unit 03014 (S03208). If none of the processes in S03201, S03203, S03205, and S03207 is performed, it is assumed that a default rendering method predetermined at the time of system operation is used.
S03208において、レンダリング方式がモデルベース(MBR)であると判定された場合、前景テクスチャ決定部03003は、前景三次元モデルと前景画像群を元に前景のテクスチャを決定する(S03209)。そして、前景テクスチャ境界色合わせ部03004は、決定した前景のテクスチャの境界の色合わせを行う(S03210)。前景三次元モデルのテクスチャは複数の前景画像群から抽出されるため、各前景画像の撮影状態の違いによるテクスチャの色が異なることへの対応として、この色合わせが行われる。
If it is determined in S03208 that the rendering method is model-based (MBR), the foreground texture determination unit 03003 determines the foreground texture based on the foreground three-dimensional model and the foreground image group (S03209). Then, the foreground texture boundary color matching unit 03004 performs color matching of the determined boundary of the foreground texture (S03210). Since the texture of the foreground three-dimensional model is extracted from a plurality of foreground image groups, this color matching is performed as a response to the difference in the color of the texture due to the difference in the photographing state of each foreground image.
S03208において、レンダリング方式がIBRと判定された場合、仮想視点前景画像生成部03005は、仮想カメラパラメータと前景画像群に基づいて透視変換など幾何変換を各前景画像に行い、仮想視点からの前景画像を生成する(S03211)。
If it is determined in S03208 that the rendering method is IBR, the virtual viewpoint foreground image generation unit 03005 performs geometric transformation such as perspective transformation on each foreground image based on the virtual camera parameters and the foreground image group, and the foreground image from the virtual viewpoint Are generated (S03211).
なお、ユーザがシステム稼働中に任意にレンダリング方式を変更したり、仮想視点の状態に応じてシステムがレンダリング方式を変更したりしてもよい。また、候補となるレンダリング方式をシステム稼働中に変更してもよい。
Note that the user may arbitrarily change the rendering method while the system is operating, or the system may change the rendering method according to the state of the virtual viewpoint. In addition, candidate rendering methods may be changed during system operation.
これにより、仮想視点画像の生成に係るレンダリングアルゴリズムを、起動時に設定するだけでなく、状況に応じて変更できるため、さまざまな要求にこたえることができる。つまり、画像出力先が異なる要件(例えば各パラメータの優先度)を要求しても、柔軟に対応できるという効果がある。なお、本実施形態ではレンダリング方式としてIBRとMBRの何れかを用いることを前提としたが、これに限らず双方の方式を用いたハイブリッド方式などを用いてもよい。ハイブリッド方式を用いる場合、レンダリングモード管理部03014は、データ受信部03001が取得した情報に基づいて、仮想視点画像を分割した複数の分割領域それぞれの生成に用いられる複数の生成方式を決定する。即ち、1フレームの仮想視点画像の一部の領域はMBRに基づいて生成され、他の一部の領域はIBRに基づいて生成されてもよい。例えば、光沢がある、テクスチャがない、非凸面などのオブジェクトはIBRを用いることで三次元モデルの精度の低下を回避したり、仮想視点に近いオブジェクトはMBRを用いることで画像が平面的になってしまうことを回避したりするなどの方法がある。また例えば、画面の中心付近のオブジェクトは綺麗に表示したいのでMBRで画像を生成し、端のほうのオブジェクトはIBRで画像を生成することで処理負荷を下げることもできる。これにより、仮想視点画像の生成に係る処理負荷と仮想視点画像の画質をより詳細に制御することができる。
As a result, the rendering algorithm relating to the generation of the virtual viewpoint image can be changed according to the situation as well as set at the time of activation, so that various requests can be met. That is, even if the image output destination requires different requirements (for example, the priority of each parameter), there is an effect that it can flexibly cope. Although it is assumed in the present embodiment that either IBR or MBR is used as the rendering method, the present invention is not limited to this, and a hybrid method using both methods may be used. When using the hybrid method, the rendering mode management unit 03014 determines, based on the information acquired by the data reception unit 03001, a plurality of generation methods used to generate each of a plurality of divided areas obtained by dividing the virtual viewpoint image. That is, a partial region of a virtual viewpoint image of one frame may be generated based on the MBR, and another partial region may be generated based on the IBR. For example, objects such as shiny, textureless, and non-convex surfaces use IBR to avoid a decrease in the accuracy of the 3D model, or objects close to a virtual viewpoint use an MBR to make the image flat. There are methods such as avoiding the problem. Also, for example, it is possible to reduce the processing load by creating an image with MBR and creating an image with IBR at the end, since objects in the vicinity of the center of the screen are desired to be displayed beautifully. Thus, the processing load relating to the generation of the virtual viewpoint image and the image quality of the virtual viewpoint image can be controlled in more detail.
また、競技に応じて、注視点、カメラワーク、及び伝送制御等のシステムの適切な設定が異なる場合があるが、競技が開催されるたびにシステムの設定を操作者が手動で行うと操作者の手間が大きくなる虞があるため、設定の簡単化が求められる。そこで、画像処理システム100は、設定変更の対象となる機器の設定を自動で更新することで、仮想視点画像を生成するためのシステムの設定を行う操作者の手間を低減する仕組みを提供する。この仕組みについて、以下で説明する。
In addition, depending on the competition, the appropriate settings of the system such as gaze point, camera work, and transmission control may differ, but if the operator manually configures the system each time the competition is held, the operator Because there is a possibility that the time and effort of the will increase, simplification of the setting is required. Therefore, the image processing system 100 provides a mechanism for reducing the time and effort of the operator who performs setting of the system for generating the virtual viewpoint image by automatically updating the setting of the device which is the target of setting change. This mechanism is described below.
図46は前述の設置後ワークフローにおいて生成され、撮影前ワークフローにおいてシステムを構成する装置に設定される運用に関する情報リストである。制御ステーション310は、複数のカメラ112による撮影の対象となる競技に関する競技情報をユーザによる入力操作に基づいて取得する。なお、競技情報の取得方法はこれに限らず、例えば制御ステーション310は競技情報を他の装置から取得してもよい。そして制御ステーション310は、取得した競技情報と画像処理システム100の設定情報とを対応付けて上記の情報リストとして保持する。以下運用に関する情報リストを設定リストと言う。制御ステーション310が、保持している設定リストに基づいてシステムの設定処理を行う制御装置として動作することで、システムの設定を行う操作者の手間が低減される。
FIG. 46 is an information list related to operations that are generated in the post-installation workflow described above and set in the devices that configure the system in the pre-shooting workflow. The control station 310 acquires competition information on a competition to be photographed by the plurality of cameras 112 based on an input operation by the user. In addition, the acquisition method of competition information is not restricted to this, for example, control station 310 may acquire competition information from another apparatus. Then, the control station 310 associates the acquired competition information with the setting information of the image processing system 100 and holds the information as the information list. The information list on operation below is called the setting list. Since the control station 310 operates as a control device that performs system setting processing based on the held setting list, the time and effort of the operator who performs system setting is reduced.
制御ステーション310が取得する競技情報は、例えば撮影の対象となる競技の種別及び開始時刻の少なくとも何れかを含む。ただし競技情報はこれに限らず、競技に関するその他の情報であってもよい。
The competition information acquired by the control station 310 includes, for example, at least one of the type of competition to be photographed and the start time. However, the competition information is not limited to this, and may be other information related to the competition.
撮影番号46101は撮影される各競技に対応するシーンを表し、予定時間46103は各競技の開始予定時刻および終了予定時刻である。各シーンの開始時刻前には、制御ステーション310から各機器に対して設定リストに応じた変更要求が行われる。
The shooting number 46101 represents a scene corresponding to each competition to be photographed, and the scheduled time 46103 is a scheduled start time and a scheduled end time of each competition. Before the start time of each scene, a change request corresponding to the setting list is issued from the control station 310 to each device.
競技名称46102は競技種別の名称である。注視点(座標指定)46104は、カメラ112a−112zの注視点の数、各注視点の座標位置、および各注視点に対応するカメラ番号から構成される。注視点の位置に応じて、各カメラ112の撮影方向が定まる。
The competition name 46102 is the name of the competition type. A fixation point (coordinate specification) 46104 includes the number of fixation points of the cameras 112a to 112z, the coordinate position of each fixation point, and the camera number corresponding to each fixation point. The shooting direction of each camera 112 is determined according to the position of the fixation point.
カメラワーク46105は、仮想カメラ操作UI330およびバックエンドサーバ270によって仮想視点が操作され画像が生成される際のカメラパスの範囲を表す。カメラワーク46105に基づいて、仮想視点画像の生成に係る視点の指定可能範囲が定まる。
A camera work 46105 represents the range of camera paths when the virtual viewpoint is manipulated by the virtual camera operation UI 330 and the back end server 270 to generate an image. Based on the camera work 46105, a specifiable range of viewpoints related to generation of a virtual viewpoint image is determined.
キャリブレーションファイル46106は、図17で説明した設置時キャリブレーションにおいて導出された、仮想視点画像の生成に係る複数のカメラ112の位置合わせに関するカメラパラメータの値を格納したファイルであり、注視点毎に生成される。
The calibration file 46106 is a file storing values of camera parameters related to the alignment of the plurality of cameras 112 involved in generation of a virtual viewpoint image, derived in the installation calibration described with reference to FIG. It is generated.
画像生成アルゴリズム46107は、撮影画像に基づく仮想視点画像の生成に係るレンダリング方式としてIBR、MBR、及び両者を使うハイブリッド方式の何れが用いられるかの設定を示す。レンダリング方式は制御ステーション310からバックエンドサーバ270に対して設定される。例えば、撮影番号=3の砲丸投げや走り高跳びのように閾値以下の数の選手に対応する競技の種別を示す競技情報と、撮影画像に基づいて生成される三次元モデルを用いて仮想視点画像を生成するMBR方式を示す設定情報とが対応付けられる。これにより、参加選手が少ない競技の仮想視点画像における視点の指定の自由度が高くなる。一方で、撮影番号=1の開会式のように参加選手の数が多い競技では、MBR方式で仮想視点画像を生成しようとすると処理負荷が大きくなるため、より小さい処理負荷で仮想視点画像を生成できるIBR方式が対応付けられる。
The image generation algorithm 46107 indicates which of IBR, MBR, and a hybrid method using both as a rendering method relating to generation of a virtual viewpoint image based on a captured image. The rendering scheme is set from the control station 310 to the back end server 270. For example, a virtual viewpoint image is generated using competition information indicating the type of competition corresponding to the number of players below the threshold, such as shot number with shot number = 3 and high jump, and a three-dimensional model generated based on the captured image It is associated with setting information indicating the MBR method to be performed. As a result, the degree of freedom in specifying the viewpoint in the virtual viewpoint image of the competition with few participating players is increased. On the other hand, in competitions where the number of participating players is large, as in the opening ceremony with shooting number = 1, creating a virtual viewpoint image with the MBR method increases the processing load, so a virtual viewpoint image is generated with a smaller processing load. Possible IBR methods are associated.
前景背景伝送46108は、撮影画像から分離される前景画像(FGと表す)及び背景画像(BGと表す)それぞれに対する圧縮割合とフレームレート(単位はfps)の設定を表す。なお、前景画像は仮想視点画像の生成のために撮影画像から抽出される前景領域に基づいて生成され画像処理システム100内で伝送される前景画像であり、背景画像は同様に撮影画像から抽出される背景領域に基づいて生成及び伝送される背景画像である。
The foreground / background transmission 46108 represents the setting of the compression rate and the frame rate (unit: fps) for the foreground image (denoted as FG) and the background image (denoted as BG) separated from the captured image. The foreground image is a foreground image generated based on the foreground area extracted from the captured image for generation of a virtual viewpoint image and transmitted in the image processing system 100, and the background image is similarly extracted from the captured image. Background image generated and transmitted based on the background area.
図47は制御ステーション310による撮影前ワークフローにおいてシステムを構成する装置に設定リストの撮影番号=2に関する情報が設定される場合の動作シーケンスである。
FIG. 47 shows an operation sequence in the case where information relating to shooting number = 2 in the setting list is set in an apparatus constituting the system in the workflow before shooting by the control station 310.
制御ステーション310は、システム動作開始後、保持している設定リストから特定される撮影の対象となる競技の開始予定時刻を確認する(F47101)。そして制御ステーション310は、開始予定時刻の所定時間前になっている場合に、撮影番号=2に対応する設定処理を開始する(F47102)。上記の所定時間は例えば設定処理に要する時間である。このように、競技開始の所定時間前に自動で設定処理を開始することで、操作者が設定開始の指示を行わなくても競技の開始時に設定を完了することができる。なお、ユーザにより設定開始の指示が行われた場合には、制御ステーション310は競技の開始時刻に関わらず設定処理を開始してもよい。
After starting the system operation, the control station 310 confirms the scheduled start time of the competition to be the target of shooting specified from the held setting list (F47101). Then, the control station 310 starts the setting process corresponding to the photographing number = 2 when it is a predetermined time before the scheduled start time (F47102). The above predetermined time is, for example, the time required for the setting process. As described above, by automatically starting the setting process before a predetermined time of the competition start, the setting can be completed at the start of the competition without the operator instructing the setting start. When the user issues an instruction to start setting, the control station 310 may start the setting process regardless of the competition start time.
制御ステーション310による設定処理は、例えば仮想視点画像を生成する装置の画像処理に関するパラメータを設定する処理や、複数のカメラ112の撮影に関するパラメータを設定する処理などを含む。ただし、設定処理の内容はこれらに限らず、例えば画像処理システム100に含まれる装置を起動させる処理などであってもよい。
The setting process by the control station 310 includes, for example, a process of setting parameters related to image processing of an apparatus that generates a virtual viewpoint image, and a process of setting parameters related to imaging of a plurality of cameras 112. However, the contents of the setting process are not limited to these, and may be, for example, a process of activating an apparatus included in the image processing system 100.
まず制御ステーション310は、注視点設定を行う(F47103)。そして、カメラアダプタ120に対して、カメラ毎の注視点座標設定の要求を行う(F47104)。ここで、カメラ112は注視点に応じてグループ化され、各注視点グループ内のカメラ112には同一座標の注視点が設定される。カメラ毎の注視点座標設定の要求を受けたカメラアダプタ120は、雲台113に対するパン・チルト(PTと表す)の設定指示と、カメラ112およびレンズに対するレンズ煽り等の設定指示とを含む、雲台PT指示要求を送信する(F47105)。F47104とF47105の処理はセンサシステム110の台数分繰り返し実行される。さらに、制御ステーション310は、フロントエンドサーバ230およびデータベース250に対してカメラ毎の注視点グループ情報の設定を行う(F47106)。
First, the control station 310 performs gaze point setting (F47103). Then, the camera adapter 120 is requested to set gaze point coordinates for each camera (F47104). Here, the cameras 112 are grouped according to the fixation points, and fixation points of the same coordinates are set to the cameras 112 in each fixation point group. The camera adapter 120 that has received a request for setting gaze point coordinates for each camera has a cloud including a setting instruction of pan / tilt (represented as PT) for the camera platform 113 and a setting instruction such as lens tilt for the camera 112 and the lens. The table PT instruction request is transmitted (F47105). The processes of F47104 and F47105 are repeatedly executed by the number of sensor systems 110. Further, the control station 310 sets up gaze point group information for each camera in the front end server 230 and the database 250 (F47106).
つぎに、制御ステーション310は、キャリブレーションで取得した値の設定を行う(F47107)。すなわち、キャリブレーションファイルの情報をセンサシステム110の全数分設定する。そして制御ステーション310は、各カメラアダプタ120に対してキャリブレーション設定要求を送信する(F47108)。これを受信したカメラアダプタ120は、カメラ112レンズ、及び雲台113に対して、撮影パラメータやピント及びズームの設定を行う(F47109)。また制御ステーション310は、キャリブレーション設定要求をフロントエンドサーバ230に対しても実施する(F47110)。
Next, the control station 310 sets the value acquired by calibration (F47107). That is, the information of the calibration file is set for all the sensor systems 110. Then, the control station 310 transmits a calibration setting request to each camera adapter 120 (F47108). The camera adapter 120 that has received this performs setting of shooting parameters, focus and zoom for the camera 112 lens and the camera platform 113 (F47109). The control station 310 also carries out a calibration setting request to the front end server 230 (F47110).
つぎに制御ステーション310は、カメラワークの設定を行う(F47111)。そして制御ステーション310は、注視点に応じてグループ化されるカメラグループ、各カメラ112の撮影範囲、及び仮想カメラパスの範囲等の設定要求をバックエンドサーバ270に対して実施する(F47112)。バックエンドサーバ270では、仮想カメラ操作UI330からの仮想カメラ08001の視点パスを物理的なカメラ112にマッピングして画像をレンダリングするためにカメラワークに関連する情報が必要になる。バックエンドサーバ270は、仮想カメラの移動可能範囲を確認するために、仮想カメラ操作UI330に対して、仮想カメラの試行要求を行う(F47113)。そしてバックエンドサーバ270は、仮想カメラ操作UI330から仮想カメラ操作通知を受信する(F47114)。ここで、バックエンドサーバ270は、受信した仮想カメラ操作通知に応じた視点位置に対応する有効な画像がないことを判断する(F47115)。そしてバックエンドサーバ270は仮想カメラ操作UI330に対してエラー通知を行う(F47116)。仮想カメラ操作UI330はエラー通知に応じてこれ以上の視点移動ができないことを判断し、あらためて別の視点への仮想カメラ操作を行い、バックエンドサーバ270に通知を行う(F47117)。バックエンドサーバ270は、通知に応じた視点に対応する有効画像があることを確認し(F47118)、対応する画像応答を仮想カメラ操作UI330に対して送信する(F47119)。
Next, the control station 310 sets the camera work (F47111). Then, the control station 310 requests the back end server 270 to set the camera group grouped according to the fixation point, the shooting range of each camera 112, the range of the virtual camera path, and the like (F47112). The back-end server 270 needs camera work related information in order to map the viewpoint path of the virtual camera 08001 from the virtual camera operation UI 330 to the physical camera 112 and render the image. The back-end server 270 issues a virtual camera trial request to the virtual camera operation UI 330 in order to confirm the movable range of the virtual camera (F47113). Then, the back end server 270 receives a virtual camera operation notification from the virtual camera operation UI 330 (F47114). Here, the back end server 270 determines that there is no valid image corresponding to the viewpoint position according to the received virtual camera operation notification (F47115). Then, the back end server 270 notifies the virtual camera operation UI 330 of an error (F47116). In response to the error notification, the virtual camera operation UI 330 determines that no more viewpoint movement can be performed, performs again the virtual camera operation to another viewpoint, and notifies the back end server 270 (F47117). The back-end server 270 confirms that there is an effective image corresponding to the viewpoint according to the notification (F47118), and transmits a corresponding image response to the virtual camera operation UI 330 (F47119).
つぎに、制御ステーション310は、画像生成アルゴリズムの設定を行う(F47120)。そしてIBR、MBR及びハイブリッドのいずれのアルゴリズム方式を使うかをバックエンドサーバに指示する(F47121)。
Next, the control station 310 sets an image generation algorithm (F47120). Then, the back end server is instructed which of IBR, MBR and hybrid algorithm is to be used (F47121).
つぎに制御ステーション310は、前景画像及び背景画像の伝送方法について設定を行う(F47112)。そして制御ステーション310は、設定リストに基づいて、前景画像(FG)及び背景画像(BG)の圧縮割合、ならびにフレームレート(1秒あたりのフレーム数:fps)の設定をカメラアダプタ120に対して行う。本図では、FGの圧縮割合を1/3圧縮とし、FGのフレームレートを60fpsとし、BGを送信しないことがカメラアダプタ120に対して指示されている(F47123)。この場合、カメラアダプタ120から背景画像が送られないことから、バックエンドサーバ270はレンダリング時に背景のテクスチャを得られない。そのため制御ステーション310は、バックエンドサーバ270に対して、背景三次元モデルの利用指示、つまりスタジアム形状のワイヤフレームに基づいた背景画像生成の指示を行う(F47124)。
Next, the control station 310 sets the transmission method of the foreground image and the background image (F47112). Then, the control station 310 sets the compression ratio of the foreground image (FG) and the background image (BG) and the frame rate (the number of frames per second: fps) to the camera adapter 120 based on the setting list. . In this figure, the camera adapter 120 is instructed that the compression ratio of the FG is 1/3 compression, the frame rate of the FG is 60 fps, and the BG is not transmitted (F47123). In this case, since the background image is not sent from the camera adapter 120, the back end server 270 can not obtain the texture of the background at the time of rendering. Therefore, the control station 310 instructs the back end server 270 to use the background three-dimensional model, that is, instructs to generate a background image based on the stadium-shaped wire frame (F47124).
以上の処理が行われた状態で、競技の終了時刻まで撮影が行われる。なお、競技時間の延長も考えられるので、オペレータが撮影停止の最終的な決定をしてもよい。
With the above processing performed, shooting is performed until the competition end time. In addition, since extension of competition time is also considered, the operator may make a final decision on stopping imaging.
撮影の終了後、あらためて、制御ステーション310は、次のシーンの開始予定時刻に先立ちシステムの開始処理を行う。即ち、制御ステーション310は、撮影番号=3のシーンの開始予定時刻を確認し(F47125)、撮影番号=3に関する設定を、システムを構成する各装置に対して実施する(F47126)。以降、設定リストにしたがって上記述べた処理が繰り返し実施される。
After the end of shooting, again, the control station 310 performs system start processing prior to the scheduled start time of the next scene. That is, the control station 310 confirms the scheduled start time of the scene with the shooting number = 3 (F47125), and implements the setting for the shooting number = 3 for each device constituting the system (F47126). Thereafter, the above-described processing is repeatedly performed according to the setting list.
このように制御ステーション310が自動で各装置の設定を行うことで、オペレータはシステムの開始操作や確認操作などを行うだけでよく、複雑な撮影制御に関するオペレータの作業を簡単化することができるという効果がある。
As described above, since the control station 310 automatically sets each device, the operator only needs to perform the start operation and the confirmation operation of the system, and the operator's work relating to complicated imaging control can be simplified. effective.
図48は、フロントエンドサーバ230がデイジーチェーンのレーンを介してカメラアダプタ120から受信するカメラ同期画像フレームmの受信制御を表すフローである。デイジーチェーンがスタジアムの半周ごとに構成される場合や、複数フロアにまたがるなどの場合には、フロントエンドサーバ230が全カメラ112の画像データの受信を終えるまで待機すると、低遅延な仮想視点画像生成の実現が難しくなる虞がある。以下ではこの虞を低減するための制御について説明する。
FIG. 48 is a flow showing reception control of the camera-synchronized image frame m that the front end server 230 receives from the camera adapter 120 via the lanes of the daisy chain. When the daisy chain is configured every half cycle of the stadium, or straddles a plurality of floors, if the front end server 230 waits until the reception of the image data of all the cameras 112 is finished, low delay virtual viewpoint image generation May be difficult to realize. The control for reducing this fear will be described below.
まずフロントエンドサーバ230は、デイジーチェーンのカメラレーン毎に画像データパケットを受信する(S48100)。そして、カメラ同期画像フレームmの逐次蓄積を行う(S48101)。つぎに、注視点グループが1つかどうか確認する(S48102)。S48102でNO、つまり注視点グループが複数の場合、複数の注視点グループにカメラの画像フレームを分類する(S48103)。つぎにフロントエンドサーバ230は、注視点毎のカメラ群112のうち画像フレームmの受信が完了した注視点グループがあるかどうか調べる(S48104)。受信が完了した注視点グループがある場合は、その注視点グループ毎に画像処理部02150、三次元モデル結合部02160、画像結合部2170および撮影データファイル生成部02180における画像処理が行われる(S48105)。つぎにフロントエンドサーバ230は、全注視点グループに関して画像処理が完了したか判定し、完了していなければ(S48106のNO)、画像フレーム待ちのタイムアウトが発生したかどうか調べる(S48107)。タイムアウトの閾値は1フレームあたりの単位時間に応じて定まってもよい。S48107でYESの場合、フロントエンドサーバ230は、ロストした画像フレームを検知し、ロストが発生したカメラ112の対象フレームにロストを示す情報をマーキングして(S48108)データベース250へ画像データを書き込む。これにより、バックエンドサーバ270は画像フレームのロストがわかるため、レンダリング処理を行う上で有効である。つまり、仮想カメラ操作UI330から指定された仮想カメラと実カメラ112のマッピングをバックエンドサーバ270で行う場合に、バックエンドサーバ270はロストが発生したカメラ112の画像をすぐに判断できる。そのため、生成される仮想視点画像が破綻する虞がある場合などに、オペレータの目視に頼ることなく、画像出力に対して自動で補正処理等をすることができるという効果がある。
First, the front end server 230 receives an image data packet for each camera lane of the daisy chain (S48100). Then, the camera synchronization image frame m is sequentially stored (S48101). Next, it is confirmed whether there is one gaze point group (S48102). If the result of S48102 is NO, that is, if there are a plurality of fixation point groups, image frames of the camera are classified into a plurality of fixation point groups (S48103). Next, the front end server 230 checks whether there is a fixation point group in which reception of the image frame m has been completed among the camera groups 112 for each fixation point (S48104). When there is a fixation point group for which reception has been completed, image processing is performed in the image processing unit 02150, the three-dimensional model combination unit 02160, the image combination unit 2170, and the photographing data file generation unit 02180 for each fixation point group (S48105) . Next, the front end server 230 determines whether the image processing has been completed for all the gaze point groups, and if it is not completed (NO in S48106), it is checked whether a timeout for image frame waiting has occurred (S48107). The timeout threshold may be determined according to the unit time per frame. In the case of YES in S48107, the front end server 230 detects the lost image frame, marks information indicating the loss in the target frame of the camera 112 in which the loss has occurred (S48108), and writes the image data in the database 250. As a result, the back end server 270 knows that an image frame has been lost, which is effective in performing rendering processing. That is, when the back-end server 270 maps the virtual camera specified by the virtual camera operation UI 330 to the real camera 112, the back-end server 270 can immediately determine the image of the camera 112 in which the loss has occurred. Therefore, when there is a possibility that the virtual viewpoint image to be generated may be broken, there is an effect that correction processing can be automatically performed on the image output without relying on visual observation by the operator.
続いて、本実施形態を構成する各装置のハードウェア構成について、より詳細に説明する。上述の通り、本実施形態では、カメラアダプタ120がFPGA及び/又はASICなどのハードウェアを実装し、これらのハードウェアによって、上述した各処理を実行する場合の例を中心に説明した。それはセンサシステム110内の各種装置や、フロントエンドサーバ230、データベース250、バックエンドサーバ270、及びコントローラ300についても同様である。しかしながら、上記装置のうち、少なくとも何れかが、例えばCPU、GPU、DSPなどを用い、ソフトウェア処理によって本実施形態の処理を実行するようにしても良い。
Subsequently, the hardware configuration of each device constituting the present embodiment will be described in more detail. As described above, in the present embodiment, the camera adapter 120 implements hardware such as FPGA and / or ASIC, and the hardware described above is mainly used to execute each process described above. The same applies to various devices in the sensor system 110, the front end server 230, the database 250, the back end server 270, and the controller 300. However, at least one of the above-described devices may execute the processing of the present embodiment by software processing using, for example, a CPU, a GPU, a DSP, and the like.
図49は、図2に示した機能構成をソフトウェア処理によって実現するための、カメラアダプタ120のハードウェア構成を示すブロック図である。なお、フロントエンドサーバ230、データベース250、バックエンドサーバ270、制御ステーション310、仮想カメラ操作UI330、及びエンドユーザ端末190などの装置も、図49のハードウェア構成となりうる。カメラアダプタ120は、CPU1201、ROM1202、RAM1203、補助記憶装置1204、表示部1205、操作部1206、通信部1207、及びバス1208を有する。
FIG. 49 is a block diagram showing a hardware configuration of the camera adapter 120 for realizing the functional configuration shown in FIG. 2 by software processing. Note that devices such as the front end server 230, the database 250, the back end server 270, the control station 310, the virtual camera operation UI 330, and the end user terminal 190 can also have the hardware configuration shown in FIG. The camera adapter 120 includes a CPU 1201, a ROM 1202, a RAM 1203, an auxiliary storage device 1204, a display unit 1205, an operation unit 1206, a communication unit 1207, and a bus 1208.
CPU1201は、ROM1202やRAM1203に格納されているコンピュータプログラムやデータを用いてカメラアダプタ120の全体を制御する。ROM1202は、変更を必要としないプログラムやパラメータを格納する。RAM1203は、補助記憶装置1204から供給されるプログラムやデータ、及び通信部1207を介して外部から供給されるデータなどを一時記憶する。補助記憶装置1204は、例えばハードディスクドライブ等で構成され、静止画や動画などのコンテンツデータを記憶する。
The CPU 1201 controls the entire camera adapter 120 using computer programs and data stored in the ROM 1202 and the RAM 1203. The ROM 1202 stores programs and parameters that do not need to be changed. The RAM 1203 temporarily stores programs and data supplied from the auxiliary storage device 1204, data supplied from the outside via the communication unit 1207, and the like. The auxiliary storage device 1204 is configured by, for example, a hard disk drive and stores content data such as still images and moving images.
表示部1205は、例えば液晶ディスプレイ等で構成され、ユーザがカメラアダプタ120を操作するためのGUI(Graphical User Interface)などを表示する。操作部1206は、例えばキーボードやマウス等で構成され、ユーザによる操作を受けて各種の指示をCPU1201に入力する。通信部1207は、カメラ112やフロントエンドサーバ230などの外部の装置と通信を行う。例えば、カメラアダプタ120が外部の装置と有線で接続される場合には、LANケーブル等が通信部1207に接続される。なお、カメラアダプタ120が外部の装置と無線通信する機能を有する場合、通信部1207はアンテナを備える。バス1208は、カメラアダプタ120の各部を繋いで情報を伝達する。
The display unit 1205 is configured of, for example, a liquid crystal display, and displays a GUI (Graphical User Interface) or the like for the user to operate the camera adapter 120. The operation unit 1206 includes, for example, a keyboard and a mouse, and receives various operations from the user and inputs various instructions to the CPU 1201. A communication unit 1207 communicates with external devices such as the camera 112 and the front end server 230. For example, when the camera adapter 120 is connected to an external device by wire, a LAN cable or the like is connected to the communication unit 1207. When the camera adapter 120 has a function of performing wireless communication with an external device, the communication unit 1207 includes an antenna. A bus 1208 connects each unit of the camera adapter 120 to transmit information.
なお、例えばカメラアダプタ120の処理のうち一部をFPGAで行い、別の一部の処理を、CPUを用いたソフトウェア処理によって実現するようにしても良い。また、図49に示したカメラアダプタ120の各構成要素は、単一の電子回路で構成されていてもよいし、複数の電子回路で構成されていてもよい。例えば、カメラアダプタ120は、CPU1201として動作する電子回路を複数備えていてもよい。これら複数の電子回路がCPU1201としての処理を並行して行うことで、カメラアダプタの処理速度を向上することができる。
For example, a part of the processing of the camera adapter 120 may be performed by an FPGA, and another part of the processing may be realized by software processing using a CPU. Further, each component of the camera adapter 120 shown in FIG. 49 may be configured by a single electronic circuit or may be configured by a plurality of electronic circuits. For example, the camera adapter 120 may include a plurality of electronic circuits operating as the CPU 1201. The processing speed of the camera adapter can be improved by performing processing of the CPU 1201 in parallel by the plurality of electronic circuits.
また、本実施形態では表示部1205と操作部1206はカメラアダプタ120の内部に存在するが、カメラアダプタ120は表示部1205及び操作部1206の少なくとも一方を備えていなくてもよい。また、表示部1205及び操作部1206の少なくとも一方がカメラアダプタ120の外部に別の装置として存在していて、CPU1201が、表示部1205を制御する表示制御部、及び操作部1206を制御する操作制御部として動作してもよい。
In the present embodiment, the display unit 1205 and the operation unit 1206 exist inside the camera adapter 120, but the camera adapter 120 may not include at least one of the display unit 1205 and the operation unit 1206. In addition, at least one of the display unit 1205 and the operation unit 1206 exists as another device outside the camera adapter 120, and the CPU 1201 controls the display control unit that controls the display unit 1205, and operation control that controls the operation unit 1206. It may operate as a part.
画像処理システム100内の他の装置についても同様である。また例えば、フロントエンドサーバ230、データベース250及びバックエンドサーバ270は表示部1205を備えず、制御ステーション310、仮想カメラ操作UI330及びエンドユーザ端末190は表示部1205を備えていてもよい。また、上述の実施形態は、画像処理システム100が競技場やコンサートホールなどの施設に設置される場合の例を中心に説明した。施設の他の例としては、例えば、遊園地、公園、競馬場、競輪場、カジノ、プール、スケートリンク、スキー場、ライブハウスなどがある。また、各種施設で行われるイベントは、屋内で行われるものであっても屋外で行われるものであっても良い。また、本実施形態における施設は、一時的に(期間限定で)建設される施設も含む。
The same applies to other devices in the image processing system 100. For example, the front end server 230, the database 250, and the back end server 270 may not include the display unit 1205, and the control station 310, the virtual camera operation UI 330, and the end user terminal 190 may include the display unit 1205. Moreover, the above-mentioned embodiment was explained focusing on the example in case image processing system 100 is installed in facilities, such as a stadium and a concert hall. Other examples of the facility include, for example, an amusement park, a park, a racetrack, a bicycle race track, a casino, a pool, a skating rink, a ski resort, a live house and the like. In addition, events performed in various facilities may be performed indoors or outdoor. Further, the facilities in the present embodiment also include facilities temporarily (limitedly) built.
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
The present invention supplies a program that implements one or more functions of the above-described embodiments to a system or apparatus via a network or storage medium, and one or more processors in a computer of the system or apparatus read and execute the program. Can also be realized. It can also be implemented by a circuit (eg, an ASIC) that implements one or more functions.
以上、上述した実施形態によれば、カメラ112の台数などのシステムを構成する装置の規模、及び撮影画像の出力解像度や出力フレームレートなどに依らず、仮想視点画像を簡便に生成することが出来る。以上、本発明の実施形態について詳述したが、本発明は上述の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形及び変更が可能である。
As described above, according to the above-described embodiment, the virtual viewpoint image can be easily generated regardless of the size of the devices configuring the system, such as the number of cameras 112, and the output resolution and output frame rate of the captured image. . As mentioned above, although the embodiment of the present invention was explained in full detail, the present invention is not limited to the above-mentioned embodiment, and various modification and change within the range of the gist of the present invention described in the claim are included. Is possible.