(57)【要約】【課題】複数の撮像手段で撮影された複数の画像の中から特定の時刻に撮影されたフレームを短時間に読み出すことを課題とする。【解決手段】画像処理システムは、被写体に対して複数の方向から複数の画像をそれぞれ撮影する複数の撮像手段（１１２）と、複数の撮像手段により撮影された複数の画像の各フレームに重畳される時間情報及び録画指示を基に、複数の撮像手段により撮影された複数の画像の各フレームに付加する制御情報を生成する制御情報生成手段（１２０）と、制御情報を基に、複数の撮像手段により撮影された複数の画像の各フレームを記憶手段に書き込む書き込み制御手段（２３０）と、制御情報を基に、記憶手段から複数の画像のフレームを読み出す読み出し制御手段（２７０）と、読み出し制御手段により読み出された複数の画像のフレームを用いて、仮想視点画像を生成する仮想視点画像生成手段（２７０）を有する。【選択図】図１
2019050463.tif 000002
【特許請求の範囲】
【請求項１】
被写体に対して複数の方向から複数の画像をそれぞれ撮影する複数の撮像手段と、
前記複数の撮像手段により撮影された複数の画像の各フレームに重畳される時間情報及び録画指示を基に、前記複数の撮像手段により撮影された複数の画像の各フレームに付加する制御情報を生成する制御情報生成手段と、
前記制御情報を基に、前記複数の撮像手段により撮影された複数の画像の各フレームを記憶手段に書き込む書き込み制御手段と、
前記制御情報を基に、前記記憶手段から前記複数の画像のフレームを読み出す読み出し制御手段と、
前記読み出し制御手段により読み出された前記複数の画像のフレームを用いて、仮想視点画像を生成する仮想視点画像生成手段と
を有することを特徴とする画像処理システム。
【請求項２】
前記制御情報は、録画状態、フレーム番号及び前記撮像手段の識別子を含み、
前記書き込み制御手段は、前記録画状態が録画中を示すフレームを前記フレーム番号及び前記撮像手段の識別子に応じた前記記憶手段のアドレスに書き込み、前記撮像手段の識別子毎に前記録画の開始フレームの書き込みアドレスを登録し、
前記読み出し制御手段は、前記撮像手段の識別子毎に登録された書き込みアドレスを基に、前記記憶手段から前記複数の画像のフレームを読み出すことを特徴とする請求項１に記載の画像処理システム。
【請求項３】
前記制御情報は、前記時間情報を含み、
前記制御情報生成手段は、録画開始時刻に一致する時間情報が付加されたフレーム以降のフレームの前記録画状態を録画中にすることを特徴とする請求項２に記載の画像処理システム。
【請求項４】
前記制御情報生成手段は、録画停止指示を入力した場合には、前記複数の画像のフレームに付加される前記録画状態を録画停止中にすることを特徴とする請求項３に記載の画像処理システム。
【請求項５】
前記書き込み制御手段は、前記撮像手段の識別子毎に前記録画の開始フレームに付加されている前記時間情報を登録し、
前記読み出し制御手段は、前記撮像手段の識別子毎に登録されている録画の開始フレームに付加されている時間情報と読み出し指示の開始時刻との差分に応じたアドレスを基に、前記記憶手段から前記複数の画像の前記読み出し指示の開始時刻以降のフレームを読み出すことを特徴とする請求項３又は４に記載の画像処理システム。
【請求項６】
前記各フレームに重畳する時間情報として、外部同期により時間情報を生成する同期制御手段と、
前記同期制御手段により生成された時間情報のエラーが検出された場合には、内部で生成した時間情報を前記制御情報生成手段に出力する時間情報生成手段とをさらに有することを特徴とする請求項３〜５のいずれか１項に記載の画像処理システム。
【請求項７】
前記フレームは、複数のデータ種別のデータを含み、
前記制御情報は、前記データ種別を含み、
前記制御情報生成手段は、前記各フレームの複数のデータ種別のデータ毎に付加される前記制御情報を生成し、
前記書き込み制御手段は、前記データ種別に応じた前記記憶手段のアドレスに前記フレームの複数のデータ種別のデータを書き込み、
前記読み出し制御手段は、前記撮像手段の識別子毎に登録された書き込みアドレスと前記データ種別に応じたアドレスを基に、前記記憶手段から前記フレームの複数のデータ種別のデータを読み出すことを特徴とする請求項２〜６のいずれか１項に記載の画像処理システム。
【請求項８】
前記複数のデータ種別のデータは、前景画像、背景画像、三次元モデル及び音声データのうちの２以上のデータであることを特徴とする請求項７に記載の画像処理システム。
【請求項９】
前記制御情報は、録画シーケンス番号を含み、
前記書き込み制御手段は、前記録画シーケンス番号を基に、前記撮像手段の識別子毎に前記録画の開始フレームの書き込みアドレスを登録し、
前記読み出し制御手段は、読み出し指示の録画シーケンス番号に対応する前記撮像手段の識別子毎に登録された書き込みアドレスを基に、前記記憶手段から前記複数の画像のフレームを読み出すことを特徴とする請求項２〜８のいずれか１項に記載の画像処理システム。
【請求項１０】
被写体に対して複数の方向から複数の画像をそれぞれ撮影する複数の撮像手段を有する画像を有する画像処理システムの制御方法であって、
制御情報生成手段により、前記複数の撮像手段により撮影された複数の画像の各フレームに重畳される時間情報及び録画指示を基に、前記複数の撮像手段により撮影された複数の画像の各フレームに付加する制御情報を生成する制御情報生成ステップと、
書き込み制御手段により、前記制御情報を基に、前記複数の撮像手段により撮影された複数の画像の各フレームを記憶手段に書き込む書き込みステップと、
読み出し制御手段により、前記制御情報を基に、前記記憶手段から前記複数の画像のフレームを読み出す読み出しステップと、
仮想視点画像生成手段により、前記読み出された前記複数の画像のフレームを用いて、仮想視点画像を生成する仮想視点画像生成ステップと
を有することを特徴とする画像処理システムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理システム及び画像処理システムの制御方法に関する。
【背景技術】
【０００２】
昨今、複数のカメラを異なる位置に設置して多視点で同期撮影し、撮影により得られた複数視点画像を用いて仮想視点コンテンツを生成する技術が注目されている。上記の技術によれば、例えば、サッカーやバスケットボールなどの特定シーン（例えばゴールシーンなど）を様々な角度から視聴することができるため、通常の画像と比較してユーザに高臨場感を与えることができる。複数のカメラは、画像を撮影する。サーバなどの画像処理部は、複数のカメラが撮影した画像を集約し、三次元モデル生成及びレンダリングなどの処理を施し、ユーザ端末に伝送を行う。これにより、複数視点画像に基づく仮想視点コンテンツの生成及び閲覧を実現できる。
【０００３】
このとき、サーバに集約される画像枚数は、膨大である。サーバは、同時刻に撮影された画像を複数のカメラで撮影された画像群の中から抽出するのに長時間を要してしまう。その抽出時間は、仮想視点コンテンツが閲覧可能になるまでの時間に影響を与える。例えば、カメラ台数が１００台、映像フレームレートが６０ｆｐｓである場合、サッカーの試合の９０分間の撮影では、約３２４０万枚の画像がサーバに集約される。また、画像解析部が、選手などの前景と背景を分離し、それぞれの画像を別々に管理する場合、更に画像枚数が膨れ上がる。このような状況下で、仮想視点コンテンツを短時間で生成し閲覧できるようにすることが重要となる。
【０００４】
特許文献１には、複数のカメラで撮影した画像に対してタイムコードを付加し、同一タイムコードの画像を抽出し繋ぎ合せてパノラマ画像を生成する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−２０９２０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１の技術は、タイムコードを用いた画像検索として、画像一枚ずつに対してタイムコード比較を行うため、処理時間が非常に長くなる。
【０００７】
本発明の目的は、複数の撮像手段で撮影された複数の画像の中から特定の時刻に撮影されたフレームを短時間に読み出すことができる方法を提供することである。
【課題を解決するための手段】
【０００８】
本発明の画像処理システムは、被写体に対して複数の方向から複数の画像をそれぞれ撮影する複数の撮像手段と、前記複数の撮像手段により撮影された複数の画像の各フレームに重畳される時間情報及び録画指示を基に、前記複数の撮像手段により撮影された複数の画像の各フレームに付加する制御情報を生成する制御情報生成手段と、前記制御情報を基に、前記複数の撮像手段により撮影された複数の画像の各フレームを記憶手段に書き込む書き込み制御手段と、前記制御情報を基に、前記記憶手段から前記複数の画像のフレームを読み出す読み出し制御手段と、前記読み出し制御手段により読み出された前記複数の画像のフレームを用いて、仮想視点画像を生成する仮想視点画像生成手段とを有する。
【発明の効果】
【０００９】
本発明によれば、複数の撮像手段で撮影された複数の画像の中から特定の時刻に撮影されたフレームを短時間に読み出すことができる。
【図面の簡単な説明】
【００１０】
【図１】画像処理システムの構成例を示す図である。
【図２】カメラアダプタの構成例を示す図である。
【図３】画像コンピューティングサーバの構成例を示す図である。
【図４】タイムコード抽出部の動作例を示すフローチャートである。
【図５】画像付加情報の構造例を示す図である。
【図６】録画指示に基づいた画像付加情報の生成方法を説明するための図である。
【図７】メモリ構造パラメータを説明するための図である。
【図８】書き込み制御部の動作例を示すフローチャートである。
【図９】ＳＱテーブル情報の構造例を示す図である。
【図１０】読み出し制御部の動作例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
図１は、本発明の実施形態による画像処理システム１００の構成例を示す図である。画像処理システム１００は、競技場（スタジアム）又はコンサートホールなどの施設に複数のカメラ及びマイクを設置し、撮影及び集音を行う。画像処理システム１００は、複数のセンサシステム１１０ａ〜１１０ｚ、画像コンピューティングサーバ２００、コントローラ３００、スイッチングハブ１８０、及びエンドユーザ端末１９０を有する。
【００１２】
コントローラ３００は、制御ステーション３１０及び仮想カメラ操作ＵＩ３３０を有する。制御ステーション３１０は、画像処理システム１００を構成するそれぞれのブロックに対して、ネットワーク３１０ａ〜３１０ｃ、１８０ａ、１８０ｂ、及び１７０ａ〜１７０ｙを介して、動作状態の管理及びパラメータ設定制御などを行う。ここで、ネットワークは、ＩＥＥＥ標準準拠のＧｂＥ（ギガビットイーサーネット）又は１０ＧｂＥでもよいし、インターコネクトＩｎｆｉｎｉｂａｎｄ、産業用イーサーネット等を組み合せてもよい。また、ネットワークは、これらに限定されず、他の種別のネットワークであってもよい。
【００１３】
センサシステム１１０ａ〜１１０ｚは、ネットワーク１７０ａ〜１７０ｙのデイジーチェーンにより接続される。センサシステム１１０ｚは、２６セットのセンサシステム１１０ａ〜１１０ｚの２６セットの画像及び音声を画像コンピューティングサーバ２００へ送信する。本実施形態では、特別な説明がない場合は、２６セットのセンサシステム１１０ａ〜１１０ｚを区別せず、センサシステム１１０と記載する。センサシステム１１０ａは、マイク１１１ａ、カメラ１１２ａ、雲台１１３ａ、外部センサ１１４ａ及びカメラアダプタ１２０ａを有する。センサシステム１１０ｂ〜１１０ｚは、センサシステム１１０ａと同様の構成を有する。各センサシステム１１０内の装置についても、特別な説明がない場合は区別しない。なお、センサシステム１１０の台数は２６に限定されない。また、例えばカメラ１１２とカメラアダプタ１２０が一体の装置として構成されていても良いし、外部センサ１１４が存在しなくても良いなど、種々の変形例が存在する。
【００１４】
本実施形態では、特に断りがない限り、画像は、動画と静止画を含むものとして説明する。すなわち、画像処理システム１００は、静止画及び動画の何れについても処理可能である。また、画像処理システム１００により提供される仮想視点コンテンツには、仮想視点画像と仮想視点音声が含まれる例を説明するが、これに限らない。例えば、仮想視点コンテンツに音声が含まれていなくてもよい。また、例えば、仮想視点コンテンツに含まれる音声が、仮想視点に最も近いマイクにより集音された音声であってもよい。また、本実施形態では、説明の簡略化のため、部分的に音声についての記載を省略しているが、基本的に画像と音声は共に処理される。
【００１５】
センサシステム１１０ａ〜１１０ｚは、それぞれ、１台のカメラ１１２ａ〜１１２ｚを有する。すなわち、画像処理システム１００は、被写体に対して複数の方向から複数の画像をそれぞれ撮影するための複数のカメラ（撮像手段）１１２ａ〜１１２ｚを有する。複数のセンサシステム１１０同士は、ネットワーク１７０ａ〜１７０ｙのデイジーチェーンにより接続される。なお、接続形態は、各センサシステム１１０ａ〜１１０ｚが、スイッチングハブ１８０に接続され、スイッチングハブ１８０を経由して相互にデータ送受信を行うスター型のネットワーク構成でもよい。
【００１６】
マイク１１１ａは、音声を集音する。カメラ１１２ａは、画像を撮影する。カメラアダプタ１２０ａは、マイク１１１ａにより集音された音声と、カメラ１１２ａにより撮影された画像に対して、処理を行う。そして、カメラアダプタ１２０ａは、処理後の音声及び画像を、デイジーチェーンのネットワーク１７０ａを介して、センサシステム１１０ｂのカメラアダプタ１２０ｂに伝送する。同様に、センサシステム１１０ｂは、集音された音声と撮影された画像を、センサシステム１１０ａから取得した画像及び音声と合わせてセンサシステム１１０ｃに伝送する。前述した動作を続けることにより、センサシステム１１０ｚは、センサシステム１１０ａ〜１１０ｚが取得した画像及び音声を、ネットワーク１８０ｂ及びスイッチングハブ１８０を介して、画像コンピューティングサーバ２００へ伝送する。
【００１７】
次に、画像コンピューティングサーバ２００の構成及び動作について説明する。画像コンピューティングサーバ２００は、センサシステム１１０ｚから取得したデータの処理を行う。画像コンピューティングサーバ２００は、フロントエンドサーバ２３０、データベース（以下、ＤＢとも記載する。）２５０、バックエンドサーバ２７０、及びタイムサーバ２９０を有する。
【００１８】
タイムサーバ２９０は、複数のカメラ１１２の撮影タイミングを同期させる。これにより、画像処理システム１００は、同じタイミングで撮影された複数の撮影画像に基づいて仮想視点画像を生成できるため、撮影タイミングのずれによる仮想視点画像の品質低下を抑制できる。なお、タイムサーバ２９０が複数のカメラ１１２の時刻同期を管理する場合に限定されず、各カメラ１１２又は各カメラアダプタ１２０が時刻同期のための処理を独立して行ってもよい。
【００１９】
フロントエンドサーバ２３０は、センサシステム１１０ｚから取得した画像及び音声を基に、セグメント化された伝送パケットを再構成してデータ形式を変換した後に、カメラの識別子、データ種別、及びフレーム番号に応じて、データベース２５０に書き込む。
【００２０】
次に、バックエンドサーバ２７０は、仮想カメラ操作ＵＩ３３０から視点の指定を受け付け、受け付けられた視点に基づいて、データベース２５０から対応する画像及び音声データを読み出し、レンダリング処理を行って仮想視点画像を生成する。より具体的には、バックエンドサーバ２７０は、例えば複数のカメラ１１２による撮影画像から抽出された前景領域の画像データと、ユーザ操作により指定された視点に基づいて、仮想視点コンテンツを生成する。カメラアダプタ１２０が前景領域を抽出する方法については後述する。
【００２１】
バックエンドサーバ２７０は、レンダリング処理された画像及び音声を、エンドユーザ端末１９０に出力する。エンドユーザ端末１９０は、ユーザの操作に応じて、視点の指定に応じた画像閲覧及び音声視聴を行うことができる。
【００２２】
なお、画像コンピューティングサーバ２００の構成は、これに限らない。例えば、フロントエンドサーバ２３０、データベース２５０、及びバックエンドサーバ２７０のうち少なくとも２つが一体となって構成されていてもよい。また、画像コンピューティングサーバ２００は、フロントエンドサーバ２３０、データベース２５０、及びバックエンドサーバ２７０の少なくとも何れかを複数有していてもよい。また、画像コンピューティングサーバ２００内の任意の位置に上記の装置以外の装置が含まれていてもよい。さらに、画像コンピューティングサーバ２００の機能の少なくとも一部をエンドユーザ端末１９０又は仮想カメラ操作ＵＩ３３０が有していてもよい。
【００２３】
また、画像処理システム１００の構成は上記の構成に限らない。例えば、仮想カメラ操作ＵＩ３３０が直接センサシステム１１０ａ〜１１０ｚから画像を取得するようにしても良い。また、仮想カメラ操作ＵＩ３３０が、直接データベース２５０にアクセスするような構成であっても良い。また、画像処理システム１００は、上記で説明した物理的な構成に限定されず、論理的に構成されていてもよい。
【００２４】
また、仮想視点画像は、仮想的な視点から被写体を撮影した場合に得られる画像である。言い換えると、仮想視点画像は、指定された視点における見えを表す画像である。仮想的な視点（仮想視点）は、ユーザにより指定されてもよいし、画像解析の結果等に基づいて自動的に指定されてもよい。
【００２５】
図２は、図１のカメラアダプタ１２０の構成例を示す図である。カメラアダプタ１２０は、カメラ制御部１２１、マイク制御部１２２、データ送受信部１２３、時刻同期制御部１２４、前景背景分離部１２５、三次元モデル情報生成部１２６、タイムコード抽出部１２７、及び画像付加情報生成部１２８を有する。
【００２６】
カメラ制御部１２１は、カメラ１１２に接続され、カメラ１１２の制御、撮影画像取得、同期信号提供、及び時刻設定などを行う機能を有する。カメラ１１２の制御は、例えば、撮影パラメータ（画素数、色深度、フレームレート、及びホワイトバランスの設定など）の設定及び参照、カメラ１１２の状態（撮影中、停止中、同期中、及びエラーなど）の取得、撮影の開始及び停止、又はピント調整などである。なお、カメラ制御部１２１が、カメラ１１２に対してピント調整を行う場合に限定されない。取り外し可能なレンズがカメラ１１２に装着されている場合、カメラアダプタ１２０が、レンズに接続され、直接レンズの調整を行ってもよい。また、カメラアダプタ１２０がカメラ１１２を介してズーム等のレンズ調整を行ってもよい。同期信号提供は、時刻同期制御部１２４がタイムサーバ２９０と外部同期した時刻を利用し、撮影タイミング（制御クロック）をカメラ１１２に提供することで行われる。時刻設定は、時刻同期制御部１２４がタイムサーバ２９０と同期した時刻を例えばＳＭＰＴＥ１２Ｍのフォーマットに準拠したタイムコード（時間情報）で提供することで行われる。時刻同期制御部１２４は、カメラ１１２から受け取る画像データの各フレームに重畳されタイムコードとして、外部同期によりタイムコードを生成する。なお、タイムコードのフォーマットは、ＳＭＰＴＥ１２Ｍに限定されるわけではなく、他のフォーマットであってもよい。また、カメラ制御部１２１は、カメラ１１２に対するタイムコードの提供をせず、カメラ１１２から受け取った画像データに自身がタイムコードを付与してもよい。
【００２７】
マイク制御部１２２は、マイク１１１に接続され、マイク１１１の制御、収音の開始及び停止、収音された音声データの取得などを行う機能を有する。マイク１１１の制御は、例えば、ゲイン調整、及び状態取得などである。また、マイク制御部１２２は、カメラ制御部１２１と同様に、マイク１１１に対して音声サンプリングするタイミングとタイムコードを提供する。音声サンプリングのタイミングとなるクロック情報としては、タイムサーバ２９０からの時刻情報が例えば４８ＫＨｚのワードクロックに変換されてマイク１１１に供給される。
【００２８】
データ送受信部１２３は、ネットワーク１７０ａ〜１７０ｙ、１８０ａ、１８０ｂ、２９１及び３１０ａを介して、他のカメラアダプタ１２０、フロントエンドサーバ２３０、タイムサーバ２９０、及び制御ステーション３１０とデータ通信を行う。
【００２９】
時刻同期制御部１２４は、ＩＥＥＥ１５８８規格のＰＴＰ（Ｐｒｅｃｉｓｉｏｎ Ｔｉｍｅ Ｐｒｏｔｏｃｏｌ）に準拠し、タイムサーバ２９０と時刻同期に係わる処理を行う機能を有する。なお、時刻同期制御部１２４は、ＰＴＰに限定されず、他の同様のプロトコルを利用して時刻同期してもよい。
【００３０】
前景背景分離部１２５は、カメラ１１２が撮影した画像データを前景画像と背景画像に分離する。すなわち、各カメラアダプタ１２０に含まれる前景背景分離部１２５は、複数のカメラ１１２のうちの対応するカメラ１１２による撮影画像から所定領域を抽出する。所定領域は、例えば撮影画像に対応するオブジェクト検出の結果により得られる前景画像である。この抽出により、前景背景分離部１２５は、撮影画像を前景画像と背景画像に分離する。なお、オブジェクトは、例えば人物である。ただし、オブジェクトが特定人物（選手、監督、及び／又は審判など）であってもよいし、ボールやゴールなどの画像パターンが予め定められている物体であってもよい。また、オブジェクトとして動体が検出されるようにしてもよい。前景背景分離部１２５は、人物等の重要なオブジェクトを含む前景画像とそのようなオブジェクトを含まない背景領域を分離して処理する。
【００３１】
三次元モデル情報生成部１２６は、前景背景分離部１２５で分離された前景画像及び他のカメラアダプタ１２０から入力した前景画像を利用し、例えばステレオカメラの原理を用いて三次元モデルに関わる画像情報を生成する。
【００３２】
タイムコード抽出部１２７は、カメラ１１２が撮影した画像データに重畳される補助データを抽出する。補助データは、ズーム率、露出、色温度などのカメラパラメータ、及びタイムコード（以後、外部タイムコードと呼ぶ）などを含む。タイムコード抽出部１２７は、外部タイムコードが破綻しているか否かを判定した上で、正常なタイムコードを画像付加情報生成部１２８へ送信する。なお、外部タイムコードが破綻していた場合、タイムコード抽出部１２７は、内部で常時生成している予測タイムコードを画像付加情報生成部１２８へ送信する。予測タイムコードは、ひとつ前の外部タイムコード又は予測タイムコードを用いて算出される。その際、タイムコード抽出部１２７は、ドロップフレームを考慮して算出するのが望ましい。
【００３３】
画像付加情報生成部１２８は、画像データ（前景画像、背景画像、三次元モデルなどのデータ）又は音声データに付加させる情報（以後、画像付加情報と呼ぶ）を生成する。画像付加情報は、画像データに重畳されるタイムコード、録画シーケンス番号、録画フラグ、フレーム番号、カメラアダプタ番号、及びデータ識別子などを含む。また、画像付加情報に含まれるパラメータの一部は、制御ステーション３１０から入力した録画指示に基づいて生成される。画像データ又は音声データに付加された画像付加情報は、データ送受信部１２３を介して、他のカメラアダプタ１２０又はフロントエンドサーバ２３０へ転送され、制御情報として使用される。
【００３４】
図３は、図１の画像コンピューティングサーバ２００の構成例を示す図である。画像コンピューティングサーバ２００は、フロントエンドサーバ２３０、データベース２５０、及びバックエンドサーバ２７０を有する。フロントエンドサーバ２３０は、データ入力制御部２０２及び書き込み制御部２０３を有する。データベース２５０は、通信部２０１、ＳＱ情報管理部２０４、及び記憶部２０５を有する。バックエンドサーバ２７０は、読み出し制御部２０６及び仮想視点画像生成部２０７を有する。
【００３５】
通信部２０１は、通信路を介して、制御ステーション３１０に接続され、制御ステーション３１０から受信した制御指示などを画像コンピューティングサーバ２００の少なくとも１つ以上の機能ブロックへ転送する。
【００３６】
データ入力制御部２０２は、ネットワークとスイッチングハブ１８０を介して、カメラアダプタ１２０に接続されている。データ入力制御部２０２は、カメラアダプタ１２０から前景画像、背景画像、三次元モデル、及び音声データを取得する。また、データ入力制御部２０２は、順次送られてくるデータを後段の書き込み制御部２０３へ転送する。その際、データ入力制御部２０２は、画像データ又は音声データに付加されている画像付加情報についても、書き込み制御部２０３へ転送する。
【００３７】
書き込み制御部２０３は、前段のデータ入力制御部２０２から受信したデータを記憶部２０５へ書き込む。書き込み制御部２０３は、制御ステーション３１０によって予め設定されたパラメータと画像付加情報に基づいて書き込みアドレスを生成し、書き込みアドレスが示す記憶部２０５の領域にデータを書き込む。その際、書き込み制御部２０３は、画像付加情報に含まれる録画フラグの状態に応じて、書き込みをするか否かを判断する。すなわち書き込み制御部２０３は、録画フラグが１（録画中）の場合は画像データを記憶部２０５に書き込み、録画フラグが０（録画停止中）の場合は画像データを記憶部２０５に書き込まない。また、書き込み制御部２０３は、画像付加情報をモニタリングし、録画開始位置を検出した時のタイムコード、録画シーケンス番号、カメラアダプタ番号、データ識別子、及び書き込みアドレスをひと塊にした録画開始情報をＳＱ情報管理部２０４へ転送する。
【００３８】
ＳＱ情報管理部２０４は、書き込み制御部２０３から受信した録画開始情報を、録画シーケンス番号ごとに用意されたＳＱテーブルに振り分けて管理する。ＳＱ情報管理部２０４は、読み出し制御部２０６からＳＱテーブル読み出し要求を受け付けた場合、要求と共に受信した録画シーケンス番号に該当するＳＱテーブルからすべての録画開始情報（ＳＱテーブル情報）を読み出し、読み出し制御部２０６へ送信する。
【００３９】
記憶部２０５は、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等のストレージメディアである。記憶部２０５は、ＳＳＤを並列に接続した構成であり、大量データの読み出し及び書き込みを高速化できる。
【００４０】
読み出し制御部２０６は、前景画像、背景画像、三次元モデル、及び音声データを記憶部２０５から読み出して仮想視点画像生成部２０７へ転送する。読み出し制御部２０６は、通信部２０１を介して制御ステーション３１０から受信した指示及びパラメータとＳＱ情報管理部２０４から受信したＳＱテーブル情報に基づいて読み出しアドレスを生成する。そして、読み出し制御部２０６は、読み出しアドレスが示す記憶部２０５の領域から画像データ又は音声データを読み出す。
【００４１】
仮想視点画像生成部２０７は、読み出し制御部２０６から受信した前景画像、背景画像、三次元モデル、及び音声データを用いて、仮想視点画像を生成する。その際、仮想視点画像生成部２０７は、通信部２０１を介して制御ステーション３１０から受信した仮想視点の座標や視点方向などのパラメータに基づいて、仮想視点画像を生成する。仮想視点画像生成部２０７は、生成した仮想視点画像をエンドユーザ端末１９０へ出力する。以下、画像処理システム１００の制御方法を説明する。
【００４２】
図４は、図２のタイムコード抽出部１２７の動作例を示すフローチャートである。タイムコード抽出部１２７は、画像データに重畳される補助データの中からタイムコードが含まれるデータパケットを抽出した際に、図４の処理を行う。データパケットは、ＳＤＩ（Ｓｅｒｉａｌ  Ｄｉｇｉｔａｌ  Ｉｎｔｅｒｆａｃｅ）のＨＡＮＣ（Ｈｏｒｉｚｏｎｔａｌ  Ａｎｃｉｌｌａｒｙ  Ｄａｔａ）に重畳されるＶＩＴＣ（Ｖｅｒｔｉｃａｌ  Ｉｎｔｅｒｖａｌ  Ｔｉｍｅ  Ｃｏｄｅ）データパケットである。
【００４３】
ステップＳ４０１では、タイムコード抽出部１２７は、データパケットに含まれる誤り検出符号を検出する。誤り検出符号は、例えばパリティビット（Ｐａｒｉｔｙ  Ｂｉｔ）又はチェックサム（Ｃｈｅｃｋ  Ｓｕｍ）などである。また、ステップＳ４０１では、タイムコード抽出部１２７は、受信したデータパケットに含まれるデータ値に基づいて誤り検出符号を算出する。
【００４４】
次に、ステップＳ４０２では、タイムコード抽出部１２７は、ステップＳ４０１で検出した誤り検出符号と算出した誤り検出符号を比較し、補助データが破損しているか否かを判定する。タイムコード抽出部１２７は、両者の誤り検出符号が一致した場合（Ｓ４０２のＹｅｓ）には、データパケットのエラーが検出されないので、外部タイムコードを用いた処理ステップＳ４０３に処理を進める。タイムコード抽出部１２７は、両者の誤り検出符号が一致しない場合（Ｓ４０２のＮｏ）には、データパケットのエラーが検出されたので、予測タイムコードを用いた処理ステップＳ４０４に処理を進める。
【００４５】
ステップＳ４０３では、タイムコード抽出部１２７は、データパケットから外部タイムコードを抽出し、その外部タイムコードを画像付加情報生成部１２８へ出力するタイムコード（以後、出力タイムコードと呼ぶ）として決定する。その後、タイムコード抽出部１２７は、ステップＳ４０５に処理を進める。
【００４６】
ステップＳ４０４では、タイムコード抽出部１２７は、内部で常時生成している予測タイムコードを出力タイムコードとして決定し、ステップＳ４０５に処理を進める。予測タイムコードは、ひとつ前の出力タイムコードのフレーム数に対して１加算した値である。ただし、タイムコード抽出部１２７は、ドロップフレームを考慮して、予測タイムコードを算出する必要がある。例えば、フレームレートが５９．９４ｆｐｓの場合、タイムコード抽出部１２７は、予測タイムコードを００：００：００：５９から００：００：０１：０４へスキップさせるように、分の単位が繰り上がる度に４フレームだけスキップさせる必要がある。ただし、タイムコード抽出部１２７は、予測タイムコードが００：００：０９：５９から００：００：１０：００へ繰り上がるように、分の単位が０、１０、２０、３０、４０、５０の何れかへ繰り上がる場合はスキップさせる必要がない。
【００４７】
ステップＳ４０５では、タイムコード抽出部１２７は、決定された出力タイムコードを画像付加情報生成部１２８へ出力する。
【００４８】
図５は、図２の画像付加情報生成部１２８が生成する画像付加情報５００の構造例を示す図である。画像付加情報５００は、タイムコード５０１、録画シーケンス番号５０２、録画フラグ５０３、フレーム番号５０４、カメラアダプタ番号５０５、及びデータ識別子５０６などを有する。
【００４９】
タイムコード５０１は、ＨＨ（時間）：ＭＭ（分）：ＳＳ（秒）：ＦＦ（フレーム）で構成された時間情報である。録画シーケンス番号５０２は、録画回数を示す情報であり、０以上の整数である。なお、録画シーケンス番号５０２が０の場合、カメラアダプタ１２０は、制御ステーション３１０から録画開始指示を一度も受け付けていないことを意味する。
【００５０】
録画フラグ５０３は、録画状態を示す情報である。録画フラグ５０３が１の場合、録画中を示し、録画フラグ５０３が０の場合、録画停止中を示す。フレーム番号５０４は、録画中のフレーム数を示す情報であり、０以上の整数である。
【００５１】
カメラアダプタ番号５０５は、カメラアダプタ１２０又はカメラ１１２を識別するための識別子であり、０以上の整数である。例えば、カメラアダプタ番号５０５は、すべてのカメラアダプタ１２０に対して０から始まる連番が割り振られている。
【００５２】
データ識別子５０６は、前景画像、背景画像、三次元データ、及び音声データを識別するための情報である。データ識別子５０６は、アルファベット一文字（前景画像＝Ｆ、背景画像＝Ｂ、３次元モデル＝Ｍ、音声データ＝Ａ）である。なお、データ識別子５０６の構成は、これに限定されるものではなく、別の構成でもよい。
【００５３】
図６は、図２の画像付加情報生成部１２８の録画指示に基づいた画像付加情報５００の生成方法を説明するための図である。画像付加情報生成部１２８は、録画指示及びパラメータに基づいて、画像付加情報５００に含まれる録画シーケンス番号５０２、録画フラグ５０３、フレーム番号５０４を生成する。なお、タイムコード５０１は、録画指示に関係なく、タイムコード抽出部１２７から受信したタイムコードをそのまま用いる。画像付加情報生成部１２８は、制御情報生成手段であり、複数のカメラ１１２により撮影された複数の画像の各フレームに付加する画像付加情報（制御情報）５００を生成する。
【００５４】
まず、時刻Ｔ１では、画像付加情報生成部１２８は、制御ステーション３１０から録画開始指示と録画開始時刻（０９：２０：４５：００）を受け付ける。画像付加情報生成部１２８は、これを起点として、タイムコード抽出部１２７から受信するタイムコードのモニタリングを開始し、録画開始時刻と一致するタイムコードを検索する。なお、録画開始時指示によって、録画シーケンス番号５０２、録画フラグ５０３、及びフレーム番号５０４の状態が変化することはない。
【００５５】
次に、時刻Ｔ２では、画像付加情報生成部１２８は、タイムコード抽出部１２７から受信したタイムコードの中から録画開始時刻と一致するタイムコードを検出する。画像付加情報生成部１２８は、一致するタイムコードを検出した場合、録画シーケンス番号５０２をインクリメントし、録画フラグ５０３を０（Ｌｏｗ）から１（Ｈｉｇｈ）へ変更し、フレーム番号５０４を０に初期化する。その後、画像付加情報生成部１２８は、制御ステーション３１０から録画停止指示を受け付けるまで、録画シーケンス番号５０２及び録画フラグ５０３の値を保持する。また、画像付加情報生成部１２８は、タイムコード抽出部１２７からタイムコードを受け付ける度にフレーム番号５０４をインクリメントする。
【００５６】
次に、時刻Ｔ３では、画像付加情報生成部１２８は、制御ステーション３１０から録画停止指示を受け付ける。画像付加情報生成部１２８は、録画停止指示を受け付けた場合、録画フラグ５０３を１（Ｈｉｇｈ）から０（Ｌｏｗ）へ変更し、録画シーケンス番号５０２とフレーム番号５０４の値を保持する。その後、画像付加情報生成部１２８は、次の録画開始指示を受け付けるまで、録画シーケンス番号５０２、録画フラグ５０３、及びフレーム番号５０４の値を保持する。
【００５７】
画像付加情報生成部１２８は、録画開始時刻に一致するタイムコード５０１が付加されたフレーム以降のフレームの録画フラグ５０３を１にする。そして、画像付加情報生成部１２８は、録画停止指示を入力した場合には、複数のカメラ１１２のフレーム付加される録画フラグ５０３を０にする。
【００５８】
図７は、メモリ構造パラメータ７００を説明するための図である。制御ステーション３１０は、通信部２０１を介して、書き込み制御部２０３又は読み出し制御部２０６へメモリ構造パラメータ７００を送信する。メモリ構造パラメータ７００は、ＢＡＳＥ＿ＡＤＤＲ７０１、ＣＡＭ＿ＯＦＳＴ＿ＡＤＤＲ７０２、ＢＧ＿ＯＦＳＴ＿ＡＤＤＲ７０３、ＭＬ＿ＯＦＳＴ＿ＡＤＤＲ７０４、及びＡＤ＿ＯＦＳＴ＿ＡＤＤＲ７０５を有する。さらに、メモリ構造パラメータ７００は、ＰＲＩＭ＿ＦＧ＿ＯＦＳＴ＿ＡＤＤＲ７０６、ＰＲＩＭ＿ＢＧ＿ＯＦＳＴ＿ＡＤＤＲ７０７、ＰＲＩＭ＿ＭＬ＿ＯＦＳＴ＿ＡＤＤＲ７０８、及びＰＲＩＭ＿ＡＤ＿ＯＦＳＴ＿ＡＤＤＲ７０９等を有する。メモリ構造パラメータ７００は、画像データ又は音声データを記憶部２０５の予め決められた領域へ書き込むために使用される。
【００５９】
ＢＡＳＥ＿ＡＤＤＲ７０１は、すべてのカメラ１１２が撮影した画像データ及びすべてのマイク１１１が収音した音声データを記録するために確保された領域の先頭アドレスである。
【００６０】
ＣＡＭ＿ＯＦＳＴ＿ＡＤＤＲ７０２は、格納領域Ａ（７２０ａ〜７２０ｚ）の各々の先頭位置を特定するための相対アドレスである。ＣＡＭ＿ＯＦＳＴ＿ＡＤＤＲ７０２は、記憶部２０５の全領域をカメラ１１２の台数で均等に分割し、それぞれの格納領域Ａ（７２０ａ〜７２０ｚ）の先頭位置を特定するために用いられる。また、ＣＡＭ＿ＯＦＳＴ＿ＡＤＤＲ７０２は、前景画像を格納する格納領域Ｂ（７３０）の先頭位置を特定するためにも用いられる。
【００６１】
ＢＧ＿ＯＦＳＴ＿ＡＤＤＲ７０３は、背景画像を格納する格納領域Ｃ（７４０）の先頭位置を特定するための相対アドレスである。ＢＧ＿ＯＦＳＴ＿ＡＤＤＲ７０３は、前景画像、背景画像、三次元モデル、及び音声データのデータ種別ごとに格納領域Ａ（７２０ａ〜７２０ｚ）の各々を分割し、その中で背景画像を格納する格納領域Ｃ（７４０）の先頭位置を特定するために用いられる。
【００６２】
ＭＬ＿ＯＦＳＴ＿ＡＤＤＲ７０４は、三次元モデルを格納する格納領域Ｄ（７５０）の先頭位置を特定するための相対アドレスである。ＭＬ＿ＯＦＳＴ＿ＡＤＤＲ７０４は、前景画像、背景画像、三次元モデル、及び音声データのデータ種別ごとに格納領域Ａ（７２０ａ〜７２０ｚ）の各々を分割し、その中で三次元モデルを格納する格納領域Ｄ（７５０）の先頭位置を特定するために用いられる。
【００６３】
ＡＤ＿ＯＦＳＴ＿ＡＤＤＲ７０５は、音声データを格納する格納領域Ｅ（７６０）の先頭位置を特定するための相対アドレスである。ＡＤ＿ＯＦＳＴ＿ＡＤＤＲ７０５は、前景画像、背景画像、三次元モデル、及び音声データのデータ種別ごとに格納領域Ａ（７２０ａ〜７２０ｚ）の各々を分割し、その中で音声データを格納する格納領域Ｅ（７６０）の先頭位置を特定するために用いられる。
【００６４】
ＰＲＩＭ＿ＦＧ＿ＯＦＳＴ＿ＡＤＤＲ７０６は、１フレームの前景画像を格納する格納領域Ｆ（７３１ａ〜７３１ｚ）の各々の先頭位置を特定するための相対アドレスである。ＰＲＩＭ＿ＦＧ＿ＯＦＳＴ＿ＡＤＤＲ７０６は、格納領域Ｂ（７３０）の先頭位置から順次書き込まれた各前景画像フレームの先頭位置を特定するために用いられる。
【００６５】
ＰＲＩＭ＿ＢＧ＿ＯＦＳＴ＿ＡＤＤＲ７０７は、１フレームの背景画像を格納する格納領域Ｇ（７４１ａ〜７４１ｚ）の各々の先頭位置を特定するための相対アドレスである。ＰＲＩＭ＿ＢＧ＿ＯＦＳＴ＿ＡＤＤＲ７０７は、格納領域Ｃ（７４０）の先頭位置から順次書き込まれた各背景画像フレームの先頭位置を特定するために用いられる。
【００６６】
ＰＲＩＭ＿ＭＬ＿ＯＦＳＴ＿ＡＤＤＲ７０８は、１フレームの三次元モデルを格納する格納領域Ｈ（７５１ａ〜７５１ｚ）の各々の先頭位置を特定するための相対アドレスである。ＰＲＩＭ＿ＭＬ＿ＯＦＳＴ＿ＡＤＤＲ７０８は、格納領域Ｄ（７５０）の先頭位置から順次書き込まれた各三次元モデルフレームの先頭位置を特定するために用いられる。
【００６７】
ＰＲＩＭ＿ＡＤ＿ＯＦＳＴ＿ＡＤＤＲ７０９は、１フレームの音声データを格納する格納領域Ｉ（７６１ａ〜７６１ｚ）の各々の先頭位置を特定するための相対アドレスである。ＰＲＩＭ＿ＡＤ＿ＯＦＳＴ＿ＡＤＤＲ７０９は、格納領域Ｅ（７６０）の先頭位置から順次書き込まれた各音声データフレームの先頭位置を特定するために用いられる。
【００６８】
フレームは、複数のデータ種別のデータを含み、例えば、前景画像、背景画像、三次元モデル及び音声データのうちの２以上のデータである。画像付加情報生成部１２８は、各フレームの複数のデータ種別のデータ毎に、画像付加情報５００を付加する。
【００６９】
図８は、図３の書き込み制御部２０３の動作例を示すフローチャートである。書き込み制御部２０３は、前段のデータ入力制御部２０２から１フレーム分の画像データ又は音声データを受信するたびに、図８の処理を行う。ただしこの例に限らず、例えば、ＧＯＰ（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅ）に対応する画像データが入力されるたびに図８の処理が行われるようにしても良いし、１秒分の画像データや音声データが入力されるたびに図８の処理が行われるようにしても良い。
【００７０】
ステップＳ８０１では、書き込み制御部２０３は、データ入力制御部２０２から受信した画像データ又は音声データに付加されている画像付加情報５００を取得する。次に、ステップＳ８０２では、書き込み制御部２０３は、画像付加情報５００に含まれる録画フラグ５０３の状態に応じて、画像データを記憶部２０５へ書き込むか否かを判断する。書き込み制御部２０３は、録画フラグ５０３が１（録画中）の場合（Ｓ８０２のＹｅｓ）、画像データ及び音声データを記憶部２０５へ書き込む必要があるため、ステップＳ８０３に処理を進める。書き込み制御部２０３は、録画フラグ５０３が０（録画停止中）の場合（Ｓ８０２のＮｏ）、画像データ及び音声データを記憶部２０５へ書き込む必要がないため、処理を終了する。
【００７１】
ステップＳ８０３では、書き込み制御部２０３は、メモリ構造パラメータ７００と画像付加情報５００に基づいて、書き込みアドレスＷＲＩＴＥ＿ＡＤＤＲを生成する。すなわち、書き込み制御部２０３は、入力された画像データに付加された録画フラグ５０３が１である場合、当該画像データを格納するための記憶部２０５の記憶領域を示すアドレスＷＲＩＴＥ＿ＡＤＤＲを生成する。書き込み制御部２０３は、式（１）、（２）、（３）を用いて、書き込みアドレスＷＲＩＴＥ＿ＡＤＤＲを生成する。
【００７２】
【数１】
2019050463.tif 000003
【００７３】
まず、式（１）のＯＦＳＴ＿ＡＤＤＲを説明する。書き込み制御部２０３は、データ識別子５０６がＦである場合、ＯＦＳＴ＿ＡＤＤＲとして０を設定する。書き込み制御部２０３は、データ識別子５０６がＢである場合、ＯＦＳＴ＿ＡＤＤＲとしてＢＧ＿ＯＦＳＴ＿ＡＤＤＲ７０３を設定する。書き込み制御部２０３は、データ識別子５０６がＭである場合、ＯＦＳＴ＿ＡＤＤＲとしてＭＬ＿ＯＦＳＴ＿ＡＤＤＲ７０４を設定する。書き込み制御部２０３は、データ識別子５０６がＡである場合、ＯＦＳＴ＿ＡＤＤＲとしてＡＤ＿ＯＦＳＴ＿ＡＤＤＲ７０５を設定する。
【００７４】
次に、式（２）のＰＲＩＭ＿ＯＦＳＴ＿ＡＤＤＲを説明する。書き込み制御部２０３は、データ識別子５０６がＦである場合、ＰＲＩＭ＿ＯＦＳＴ＿ＡＤＤＲとしてＰＲＩＭ＿ＦＲ＿ＯＦＳＴ＿ＡＤＤＲ７０６を設定する。書き込み制御部２０３は、データ識別子５０６がＢである場合、ＰＲＩＭ＿ＯＦＳＴ＿ＡＤＤＲとしてＰＲＩＭ＿ＢＧ＿ＯＦＳＴ＿ＡＤＤＲ７０７を設定する。書き込み制御部２０３は、データ識別子５０６がＭである場合、ＰＲＩＭ＿ＯＦＳＴ＿ＡＤＤＲとしてＰＲＩＭ＿ＭＬ＿ＯＦＳＴ＿ＡＤＤＲ７０８を設定する。書き込み制御部２０３は、データ識別子５０６がＡである場合、ＰＲＩＭ＿ＯＦＳＴ＿ＡＤＤＲとしてＰＲＩＭ＿ＡＤ＿ＯＦＳＴ＿ＡＤＤＲ７０９を設定する。
【００７５】
その後、書き込み制御部２０３は、式（３）により、書き込みアドレスＷＲＩＴＥ＿ＡＤＤＲを生成する。
【００７６】
次に、ステップＳ８０４では、書き込み制御部２０３は、画像付加情報５００をモニタリングし、対象フレームの画像データ又は音声データが録画開始位置であるか否かを判定する。書き込み制御部２０３は、対象フレームが録画開始位置である場合（Ｓ８０４のＹｅｓ）には、録画開始情報をＳＱ情報管理部２０４へ送る必要があるため、ステップＳ８０５に処理を進める。書き込み制御部２０３は、対象フレームが録画開始位置でない場合（Ｓ８０４のＮｏ）には、録画開始情報をＳＱ情報管理部２０４へ送る必要がないため、ステップＳ８０６に処理を進める。書き込み制御部２０３は、録画フラグ５０３が１（録画中）であり、かつフレーム番号５０４が０のときに、対象フレームが録画開始位置であると判定する。ただし、書き込み制御部２０３は、録画フラグ５０３を用いた判定については、ステップＳ８０２で既に行っているため、ステップＳ８０４では、フレーム番号５０４のみを用いて判定すればよい。
【００７７】
ステップＳ８０５では、書き込み制御部２０３は、録画開始位置を検出した際のタイムコード５０１、録画シーケンス番号５０２、カメラアダプタ番号５０５、データ識別子５０６及び書き込みアドレスを一塊にした録画開始情報をＳＱ情報管理部２０４へ送信する。なお、書き込み制御部２０３がＳＱ情報管理部２０４へ送信する録画開始情報の内容は、図７を用いて説明したメモリ構造等に応じて異なる。また、例えば、録画開始情報にデータ識別子５０６が含まれていなかったとしても、従来技術より高速にデータ読み出しが可能になるという効果は得られる。
【００７８】
次に、ステップＳ８０６では、書き込み制御部２０３は、ステップＳ８０３において生成された書き込みアドレスＷＲＩＴＥ＿ＡＤＤＲが示す記憶部２０５の領域へ、画像データ又は音声データのフレームを書き込む。書き込み制御部２０３は、複数のカメラ１１２の各フレームの複数のデータ種別のデータ（前景画像、背景画像、三次元モデル及び音声データ）を書き込む。
【００７９】
図９は、図３のＳＱ情報管理部２０４のＳＱテーブルで管理するＳＱテーブル情報９００の構造を示す図である。ＳＱテーブル情報９００は、カメラ番号９０１、録画開始時刻９０２、及びベースアドレス９０３を有する。
【００８０】
カメラ番号９０１は、カメラアダプタ１２０に割り振られた番号である。カメラ番号９０１には、書き込み制御部２０３から受信した録画開始情報に含まれるカメラアダプタ番号５０５が設定される。
【００８１】
録画開始時刻９０２は、ＨＨ（時間）：ＭＭ（分）：ＳＳ（秒）：ＦＦ（フレーム）で構成された時間情報である。録画開始時刻９０２には、書き込み制御部２０３から受信した録画開始情報に含まれる録画開始フレームのタイムコード５０１が設定される。
【００８２】
ベースアドレス９０３は、記憶部２０５に書き込まれた録画シーケンスの先頭画像のアドレスである。ベースアドレス９０３には、書き込み制御部２０３から受信した録画開始情報に含まれる録画開始フレームの書き込みアドレスが設定される。
【００８３】
ＳＱテーブル情報９００は、ひとつの録画シーケンス番号５０２につき、前景画像、背景画像、三次元モデル、及び音声データのそれぞれのＳＱテーブル情報９００が生成される。したがって、録画シーケンス数とデータ種別の組み合わせに応じた数のＳＱテーブル情報９００が存在する。ＳＱ情報管理部２０４は、書き込み制御部２０３から受信した録画開始情報をＳＱテーブル情報９００へエントリする場合、録画開始情報に含まれる録画シーケンス番号５０２とデータ識別子５０６に基づいて、エントリ先となるＳＱテーブル情報９００を選択する。ＳＱ情報管理部２０４は、録画シーケンス番号５０２とデータ識別子５０６を基に、カメラ番号９０１毎（カメラ識別子毎）に、録画開始時刻９０２及びベースアドレス９０３を登録する。
【００８４】
図１０は、図３の読み出し制御部２０６の動作例を示すフローチャートである。読み出し制御部２０６は、通信部２０１を介して制御ステーション３１０から読み出し指示を受信した際に、図１０の処理を行う。
【００８５】
ステップＳ１００１では、読み出し制御部２０６は、読み出し指示と共に受信した読み出しパラメータとメモリ構造パラメータ７００を取得する。読み出しパラメータは、特定シーン（例えば、サッカーのゴールシーン）に該当する画像データ又は音声データを記憶部２０５から読み出すためのパラメータである。読み出しパラメータには、特定シーンに該当する画像データ又は音声データが含まれる録画シーケンス番号、特定シーンの開始時刻及び終了時刻などのうち、少なくとも何れか１つが含まれる。つまり読み出しパラメータは、録画シーケンス番号を特定するための情報であれば良い。
【００８６】
次に、ステップＳ１００２では、読み出し制御部２０６は、読み出しパラメータから特定される録画シーケンス番号を基に、ＳＱ情報管理部２０４からＳＱテーブル情報９００を取得する。読み出し制御部２０６は、ＳＱ情報管理部２０４へ録画シーケンス番号を送信することにより、該当する録画シーケンス番号に対応する前景画像、背景画像、三次元モデル、及び音声データのそれぞれのＳＱテーブル情報９００を順次取得する。
【００８７】
次に、ステップＳ１００３では、読み出し制御部２０６は、読み出しパラメータに含まれる特定シーンの開始時刻、メモリ構造パラメータ７００、及びＳＱテーブル情報９００に基づいて、読み出しベースアドレスを生成する。読み出しベースアドレスは、記憶部２０５上のカメラごとに設けられた前景画像、背景画像、三次元モデル、及び音声データのそれぞれの格納領域に対して生成される。したがって、データ種別（前景画像、背景画像、三次元モデル、音声データ）の数とカメラアダプタ１２０の台数を掛け合わせた数の読み出しベースアドレスが生成される。例えば、カメラアダプタ１２０が１００台設置されている場合、４００個の読み出しベースアドレスが生成される。読み出し制御部２０６は、式（４）、（５）、（６）により、読み出しベースアドレスＲＥＡＤ＿ＢＡＳＥ＿ＡＤＤＲを算出する。式（５）及び（６）中の録画開始時刻９０２とベースアドレス９０３は、処理対象となるカメラ番号９０１に応じて、ＳＱテーブル情報９００から該当するデータが読み出される。
【００８８】
【数２】
2019050463.tif 000004
【００８９】
まず、式（４）のＰＲＩＭ＿ＯＦＳＴ＿ＡＤＤＲを説明する。読み出し制御部２０６は、データ種別が前景画像である場合、ＰＲＩＭ＿ＯＦＳＴ＿ＡＤＤＲとしてＰＲＩＭ＿ＦＲ＿ＯＦＳＴ＿ＡＤＤＲ７０６を設定する。読み出し制御部２０６は、データ種別が背景画像である場合、ＰＲＩＭ＿ＯＦＳＴ＿ＡＤＤＲとしてＰＲＩＭ＿ＢＧ＿ＯＦＳＴ＿ＡＤＤＲ７０７を設定する。読み出し制御部２０６は、データ種別が三次元モデルである場合、ＰＲＩＭ＿ＯＦＳＴ＿ＡＤＤＲとしてＰＲＩＭ＿ＭＬ＿ＯＦＳＴ＿ＡＤＤＲ７０８を設定する。読み出し制御部２０６は、データ種別が音声データである場合、ＰＲＩＭ＿ＯＦＳＴ＿ＡＤＤＲとしてＰＲＩＭ＿ＡＤ＿ＯＦＳＴ＿ＡＤＤＲ７０９を設定する。
【００９０】
また、読み出し制御部２０６は、ドロップフレームを考慮し、式（５）により、特定シーンの開始時刻と録画開始時刻９０２との差分を、差分フレーム数ＤＩＦＦ＿ＦＲＡＭＥ＿ＮＵＭとして算出する。その後、読み出し制御部２０６は、式（６）により、読み出しベースアドレスＲＥＡＤ＿ＢＡＳＥ＿ＡＤＤＲを算出する。
【００９１】
次に、ステップＳ１００４では、読み出し制御部２０６は、特定シーンのフレーム総数を算出する。具体的には、読み出し制御部２０６は、特定シーンの終了時刻から開始時刻を減算し、特定シーンのフレーム総数を算出する。ただし、読み出し制御部２０６は、ドロップフレームを考慮し、フレーム総数を算出する。
【００９２】
次に、ステップＳ１００５では、読み出し制御部２０６は、変数Ｎを０で初期化する。変数Ｎは、処理中のフレーム番号を示す。
【００９３】
次に、ステップＳ１００６では、読み出し制御部２０６は、メモリ構造パラメータ７００と変数Ｎに基づいて、読み出しオフセットアドレスＲＥＡＤ＿ＯＦＳＴ＿ＡＤＤＲを生成する。読み出しオフセットアドレスは、記憶部２０５上に設けられた前景画像、背景画像、三次元モデル、及び音声データのそれぞれの格納領域に対して生成される。したがって、データ種別（前景画像、背景画像、三次元モデル、音声データ）の数だけ読み出しオフセットアドレスが生成される。読み出し制御部２０６は、式（７）により、読み出しオフセットアドレスＲＥＡＤ＿ＯＦＳＴ＿ＡＤＤＲを算出する。
【００９４】
【数３】
2019050463.tif 000005
【００９５】
次に、ステップＳ１００７では、読み出し制御部２０６は、式（６）の読み出しベースアドレスＲＥＡＤ＿ＢＡＳＥ＿ＡＤＤＲと、式（７）の読み出しオフセットアドレスＲＥＡＤ＿ＯＦＳＴ＿ＡＤＤＲを用いて、読み出しアドレスを生成する。読み出しアドレスは、ステップＳ１００３で生成された各読み出しベースアドレスＲＥＡＤ＿ＢＡＳＥ＿ＡＤＤＲに対し、読み出しオフセットアドレスＲＥＡＤ＿ＯＦＳＴ＿ＡＤＤＲを加算して生成される。読み出しアドレスは、読み出しベースアドレスＲＥＡＤ＿ＢＡＳＥ＿ＡＤＤＲの数だけ生成される。読み出しオフセットアドレスＲＥＡＤ＿ＯＦＳＴ＿ＡＤＤＲは、読み出しベースアドレスＲＥＡＤ＿ＢＡＳＥ＿ＡＤＤＲと同一データ種別のオフセットアドレスが選択される。読み出し制御部２０６は、式（８）により、読み出しアドレスＲＥＡＤ＿ＡＤＤＲを算出する。
【００９６】
【数４】
2019050463.tif 000006
【００９７】
次に、ステップＳ１００８では、読み出し制御部２０６は、読み出しアドレスＲＥＡＤ＿ＡＤＤＲが示す記憶部２０５の領域から画像データ又は音声データを読み出す。読み出し制御部２０６は、読み出しアドレスＲＥＡＤ＿ＡＤＤＲを用いて、記憶部２０５上のカメラ１１２ごとに設けられた前景画像、背景画像、三次元モデル、及び音声データのそれぞれの格納領域から１フレーム単位のデータを読み出す。
【００９８】
次に、ステップＳ１００９では、読み出し制御部２０６は、変数Ｎをインクリメントする。次に、ステップＳ１０１０では、読み出し制御部２０６は、変数Ｎがフレーム総数より小さいか否かを判定する。読み出し制御部２０６は、変数Ｎがフレーム総数より小さい場合には、すべてのフレームを記憶部２０５から読み出していないので、ステップＳ１００６に処理を戻し、次のフレームの処理を行う。読み出し制御部２０６は、変数Ｎがフレーム総数より小さくない場合には、すべてのフレームを記憶部２０５から読み出しているので、図１０の処理を終了する。
【００９９】
読み出し制御部２０６は、記憶部２０５から複数のカメラ１１２の特定シーンの開始時刻以降のフレームを読み出す。読み出し制御部２０６は、複数のカメラ１１２の各フレームの複数のデータ種別のデータ（前景画像、背景画像、三次元モデル及び音声データ）を読み出す。仮想視点画像生成部２０７は、読み出し制御部２０６により読み出された複数のカメラ１１２のフレームを用いて、仮想視点画像を生成する。
【０１００】
以上述べたように、書き込み制御部２０３及び読み出し制御部２０６は、カメラアダプタ１２０が生成した画像付加情報５００に基づいて、記憶部２０５の書き込み制御及び読み出し制御を行う。これにより、画像コンピューティングサーバ２００は、複数のカメラ１１２で撮影された画像群の中から同時刻に撮影された画像を短時間に抽出し、仮想視点コンテンツを閲覧するまでの時間を短縮することができる。
【０１０１】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【０１０２】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０１０３】
１２１  カメラ制御部、１２２  マイク制御部、１２３  データ送受信部、１２４  時刻同期制御部、１２５  前景背景分離部、１２６  三次元モデル情報生成部、１２７  タイムコード抽出部、１２８  画像付加情報生成部、２０２  データ入力部、２０３  書き込み制御部、２０４  ＳＱ情報管理部、２０５  記憶部、２０６  読み出し制御部、２０７  仮想視点画像生成部
【図１】
2019050463.tif 000007
【図２】
2019050463.tif 000008
【図３】
2019050463.tif 000009
【図４】
2019050463.tif 000010
【図５】
2019050463.tif 000011
【図６】
2019050463.tif 000012
【図７】
2019050463.tif 000013
【図８】
2019050463.tif 000014
【図９】
2019050463.tif 000015
【図１０】
2019050463.tif 000016