(57)【要約】【課題】適切に仮想視点画像を生成することを目的とする。【解決手段】カメラ３１０〜３６０により画像が撮影された際に、撮影された画像に対してカメラパラメータの識別情報を付加し、これらの画像を用いた仮想視点画像の生成の際に、これらの画像に負荷された識別情報に基づいて、カメラ３１０〜３６０のカメラパラメータを特定する。【選択図】図４
2020088639.tif 000002
【特許請求の範囲】
【請求項１】
カメラによる撮影に基づく画像と、仮想視点の位置及び方向を示す情報を取得する取得手段と、
前記画像に対して、前記カメラのカメラパラメータを識別するための識別情報を付加する付加手段と、
前記識別情報に基づいて、前記カメラのカメラパラメータを特定する特定手段と、
前記画像と、前記仮想視点の位置及び方向を示す情報と、特定されたカメラパラメータとに基づいて、仮想視点画像を生成する生成手段と、
を有するシステム。
【請求項２】
前記付加手段は、前記画像に対して、前記カメラを識別する情報を含む前記識別情報を付加する請求項１記載のシステム。
【請求項３】
前記付加手段は、前記画像に対して、前記カメラに行われたキャリブレーションを識別する情報を含む前記識別情報を付加する請求項１又は２記載のシステム。
【請求項４】
前記付加手段は、前記画像に対して、前記カメラに備え付けられた雲台の位置姿勢を識別する情報を含む前記識別情報を付加する請求項１又は２記載のシステム。
【請求項５】
前記付加手段は、前記画像に対して、前記画像の撮影時刻の情報を含む前記識別情報を付加する請求項１又は２記載のシステム。
【請求項６】
前記カメラパラメータは、カメラの位置、姿勢及び焦点距離の少なくとも一つを含む請求項１乃至５何れか１項記載のシステム。
【請求項７】
前記識別情報と前記カメラパラメータとが対応付けられた情報を保持手段に保持させる保持制御手段を、さらに有し、
前記特定手段は、前記識別情報と、前記保持手段に保持された情報に基づいて、前記カメラのカメラパラメータを特定する請求項１乃至６何れか１項記載のシステム。
【請求項８】
システムが実行する情報処理方法であって、
カメラによる撮影に基づく画像と、仮想視点の位置及び方向を示す情報を取得する取得ステップと、
前記画像に対して、前記カメラのカメラパラメータを識別するための識別情報を付加する付加ステップと、
前記識別情報に基づいて、前記カメラのカメラパラメータを特定する特定ステップと、
前記画像と、前記仮想視点の位置及び方向を示す情報と、特定されたカメラパラメータとに基づいて、仮想視点画像を生成する生成ステップと、
を含む情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム及び情報処理方法に関する。
【背景技術】
【０００２】
複数のカメラにより撮影された画像から仮想視点画像を生成することが行われている。仮想視点画像を生成する際には、撮影した画像毎のカメラパラメータを特定する必要がある。
従来、オペレータが、仮想視点画像の生成に用いられる画像とカメラパラメータとの対応関係を管理し、どのようなカメラパラメータを用いるかを入力していた。
画像とその画像に対応する情報との管理を支援する技術には、特許文献１がある。特許文献１には、画像とその画像に対応する撮影場所の情報とを管理する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−１１５０８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
仮想視点画像の生成に用いられるカメラパラメータを、オペレータの入力に基づいて設定する場合、人為的な誤りが生じる可能性がある。画像とその画像を撮影したカメラのカメラパラメータとの対応に誤りが生じると、仮想視点画像が適切に生成できない可能性がある。
本発明では、適切に仮想視点画像を生成することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の一態様に係るシステムは、カメラによる撮影に基づく画像と、仮想視点の位置及び方向を示す情報を取得する取得手段と、前記画像に対して、前記カメラのカメラパラメータを識別するための識別情報を付加する付加手段と、前記識別情報に基づいて、前記カメラのカメラパラメータを特定する特定手段と、前記画像と、前記仮想視点の位置及び方向を示す情報と、特定されたカメラパラメータとに基づいて、仮想視点画像を生成する生成手段と、を有する。
【発明の効果】
【０００６】
本発明によれば、適切に仮想視点画像を生成することができる。
【図面の簡単な説明】
【０００７】
【図１】生成システムのシステム構成の一例を示す図である。
【図２】録画制御装置等のハードウェア構成の一例を示す図である。
【図３】画像録画処理の一例を示すフローチャートである。
【図４】生成システムの処理の一例を説明する図である。
【図５】録画制御装置と録画装置との処理の一例を示すフローチャートである。
【図６】キャリブレーション装置の処理の一例を示すフローチャートである。
【図７】格納装置の機能構成等の一例を示す図である。
【図８】生成装置の処理の一例を示すフローチャートである。
【図９】生成システムの処理の一例を説明する図である。
【図１０】録画制御装置と録画装置との処理の一例を示すフローチャートである。
【図１１】キャリブレーション装置の処理の一例を示すフローチャートである。
【図１２】格納装置の機能構成等の一例を示す図である。
【図１３】格納装置の処理の一例を示すフローチャートである。
【図１４】電動雲台の一例を説明する図である。
【図１５】生成システムの処理の一例を説明する図である。
【図１６】録画制御装置と録画装置との処理の一例を示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下に、本発明の実施の形態の一例を、図面に基づいて詳細に説明する。
【０００９】
＜実施形態１＞
本実施形態では、生成システムは、仮想視点画像を生成するシステムである。
図１は、生成システムのシステム構成の一例を示す図である。生成システムは、録画制御装置１００、録画装置２１０〜２６０、カメラ３１０〜３６０、キャリブレーション装置４００、格納装置４１０、生成装置５００を含む。
録画制御装置１００と録画装置２１０〜２６０それぞれとは、デイジーチェーン型のネットワークを介して、互いに通信可能に接続されている。このため、録画制御装置１００には、録画装置２１０〜２６０で録画された画像が伝送される。なお、録画制御装置１００と録画装置２１０〜２６０それぞれとは、スター型のネットワーク等の他のネットワークを介して、互いに通信可能に接続されることとしてもよい。
また、伝送される画像は、撮影画像であってもよいし、録画装置２１０〜２６０内で処理された画像であってもよい。例えば、処理された画像は、オブジェクトを示す前景画像であってもよいし、オブジェクトとは異なる背景画像であってもよいし、それ以外の画像であってもよい。
また、録画制御装置１００とキャリブレーション装置４００、生成装置５００それぞれとは、互いに通信可能に接続されている。また、格納装置４１０とキャリブレーション装置４００、生成装置５００それぞれとは、互いに通信可能に接続されている。また、録画装置２１０〜２６０それぞれは、カメラ３１０〜３６０それぞれと接続されている。
本実施形態では、生成システムは、６台のカメラ３１０〜３６０と、各カメラに対応する６台の録画装置２１０〜２６０と、を含むこととする。ただし、生成システムは、７台以上のカメラと、各カメラに対応する７台以上の録画装置と、を含むこととしてもよい。また、生成システムは、５台以下のカメラと、各カメラに対応する５台以下の録画装置と、を含むこととしてもよい。つまり、カメラの台数や録画装置の台数は、６台に限られない。また、カメラの台数と録画装置の台数は、同じでなくてもよい。
【００１０】
録画制御装置１００は、録画装置２１０〜２６０に対して録画開始指示や録画停止指示等の各種指示を送信することで、録画装置２１０〜２６０を制御する情報処理装置である。録画制御装置１００は、例えば、パーソナルコンピュータ（ＰＣ）、サーバ装置、タブレット装置等である。
録画装置２１０〜２６０それぞれは、カメラに取り付け可能な情報処理装置である。録画装置２１０〜２６０それぞれは、カメラ３１０〜３６０それぞれを制御する。録画装置２１０〜２６０それぞれは、カメラ３１０〜３６０それぞれにより撮影された画像を取得し、取得した画像を記憶部に記憶することで録画する。カメラ３１０〜３６０それぞれは、撮像素子、レンズ等を含み、画像を撮影する撮影装置である。カメラ３１０〜３６０それぞれは、撮影部の一例である。なお、録画装置とカメラは、一つの装置として構成されていてもよい。録画装置は、カメラで撮影された画像を処理してもよい。
【００１１】
キャリブレーション装置４００は、録画装置２１０〜２６０それぞれにより録画された画像のうち、予め定められたマーカが撮影された画像から、カメラ３１０〜３６０それぞれのカメラパラメータを求める情報処理装置である。キャリブレーション装置４００は、例えば、ＰＣ、サーバ装置、タブレット装置等である。キャリブレーション装置４００は、録画制御装置１００を介して、録画装置２１０〜２６０それぞれにより録画された画像を取得する。より具体的には、録画制御装置１００は、録画装置２１０〜２６０それぞれから、録画装置２１０〜２６０それぞれにより録画された画像を取得し、取得した画像をキャリブレーション装置４００に送信する。そして、キャリブレーション装置４００は、送信された画像を取得し、取得した画像に基づいて、各カメラのカメラパラメータを求める。
仮想視点画像の生成には、カメラ３１０〜３６０それぞれの位置姿勢、焦点距離等のカメラパラメータが用いられる。キャリブレーション装置４００は、カメラ３１０〜３６０それぞれについて、キャリブレーションを行い、カメラパラメータを求める。本実施形態では、キャリブレーションとは、カメラパラメータを調整する処理である。
【００１２】
格納装置４１０は、キャリブレーション装置４００により取得されたカメラパラメータと、カメラパラメータの識別情報と、の対応情報を記憶し、管理するＰＣ、サーバ装置、タブレット装置等の情報処理装置である。ただし、格納装置４１０は、外付けのハードディスクドライブ等の他の装置であることとしてもよい。
生成装置５００は、録画装置２１０〜２６０それぞれから伝送される画像から、仮想視点画像を生成するＰＣ、サーバ装置、タブレット装置等の情報処理装置である。生成装置５００は、録画制御装置１００を介して、録画装置２１０〜２６０それぞれにより録画された画像を取得する。生成装置５００は、仮想視点の位置及び方向を示す仮想視点情報を取得する取得手段を備える。仮想視点情報は、ユーザインターフェースを介してユーザから入力されるようにしてもよいし、例えば格納装置４１０に予め格納されたものでもよい。この取得手段は、録画装置２１０〜２６０それぞれから伝送される画像も取得する。
【００１３】
図２（ａ）は、録画制御装置１００のハードウェア構成の一例を示す図である。
録画制御装置１００は、ＣＰＵ１１０と、主記憶装置１２０と、補助記憶装置１３０と、ネットワークＩ／Ｆ１４０と、を含む。各要素は、システムバス１５０を介して、相互に通信可能に接続されている。
ＣＰＵ１１０は、録画制御装置１００を制御する中央演算装置である。主記憶装置１２０は、ＣＰＵ１１０のワークエリアやデータの一時的な記憶領域として機能するＲａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＡＭ）等の記憶装置である。補助記憶装置１３０は、各種プログラム、各種設定情報、カメラ３１０〜３６０それぞれにより撮影された画像等を記憶する記憶装置である。補助記憶装置１３０は、例えば、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）、ハードディスクドライブ（ＨＤＤ）、ソリッドステートドライブ（ＳＳＤ）等である。ネットワークＩ／Ｆ１４０は、録画装置２１０〜２６０それぞれ、キャリブレーション装置４００、生成装置５００等の外部の装置との間のネットワークを介した接続に用いられるインターフェースである。
ＣＰＵ１１０が、補助記憶装置１３０に記憶されたプログラムにしたがって処理を実行することで、録画制御装置１００の機能、図５、１０、１６で後述するフローチャートにおける録画制御装置１００の処理等が実現される。
【００１４】
本実施形態では、キャリブレーション装置４００、格納装置４１０、生成装置５００それぞれのハードウェア構成は、図２（ａ）で説明した録画制御装置１００のハードウェア構成と同様である。
キャリブレーション装置４００のＣＰＵが、キャリブレーション装置４００の補助記憶装置に記憶されたプログラムにしたがって処理を実行することで、キャリブレーション装置４００の機能、図６、１１で後述するフローチャートの処理等が実現される。
格納装置４１０のＣＰＵが、格納装置４１０の補助記憶装置に記憶されたプログラムにしたがって処理を実行することで、図７、１２で後述する格納装置４１０の機能、図１３で後述するフローチャートの処理等が実現される。
生成装置５００のＣＰＵが、生成装置５００の補助記憶装置に記憶されたプログラムにしたがって処理を実行することで、生成装置５００の機能、図８で後述するフローチャートの処理等が実現される。
【００１５】
図２（ｂ）は、録画装置２１０のハードウェア構成の一例を示す図である。
録画装置２１０は、ＣＰＵ２１１と、主記憶装置２１２と、補助記憶装置２１３と、デバイスＩ／Ｆ２１４と、ネットワークＩ／Ｆ２１５と、を含む。各要素は、システムバス２１６を介して、相互に通信可能に接続されている。
ＣＰＵ２１１は、録画装置２１０を制御する中央演算装置である。主記憶装置２１２は、ＣＰＵ２１１のワークエリアやデータの一時的な記憶領域として機能するＲＡＭ等の記憶装置である。補助記憶装置２１３は、各種プログラム、各種設定情報、対応するカメラ（カメラ３１０）により撮影された画像等を記憶するＲＯＭ、ＨＤＤ、ＳＳＤ等の記憶装置である。
デバイスＩ／Ｆ２１４は、カメラ３１０等の外部のデバイスとの接続に用いられるインターフェースである。ネットワークＩ／Ｆ２１５は、録画制御装置１００、他の録画装置等の外部の装置との間のネットワークを介した接続に用いられるインターフェースである。
【００１６】
ＣＰＵ２１１が、補助記憶装置２１３に記憶されたプログラムにしたがって処理を実行することで、録画装置２１０の機能、図５、１０、１６で後述するフローチャートにおける録画装置２１０の処理等が実現される。
録画装置２２０〜２６０それぞれのハードウェア構成は、図２（ｂ）で説明した録画装置２１０のハードウェア構成と同様である。
録画装置２２０〜２６０それぞれのＣＰＵが、録画装置２２０〜２６０それぞれの補助記憶装置に記憶されたプログラムにしたがって処理を実行することで、以下が実現される。即ち、録画装置２２０〜２６０それぞれの機能、図５、１０、１６で後述するフローチャートにおける録画装置２２０〜２６０それぞれの処理等が実現される。
【００１７】
図３は、生成システムが行う撮影処理の一例を示すフローチャートである。
Ｓ１００において、生成システムは、カメラ３１０〜３６０それぞれを用いて、カメラ３１０〜３６０それぞれのキャリブレーション用の画像を撮影する。より具体的には、生成システムは、カメラ３１０〜３６０それぞれを用いて、予め定められたマーカを撮影し、撮影したマーカの画像をキャリブレーション用の画像として取得する。生成システムは、撮影したキャリブレーション用の画像を用いて、カメラ３１０〜３６０それぞれのキャリブレーションを行い、カメラ３１０〜３６０それぞれのカメラパラメータを求める。
【００１８】
Ｓ１０１において、生成システムは、カメラ３１０〜３６０それぞれを用いて、仮想視点画像の生成に用いられる画像を、予め定められた数ｎ回、同期して撮影する。生成システムは、カメラ３１０〜３６０により同期して撮影された複数の画像と、Ｓ１０１で撮影したキャリブレーション用の画像から求めたカメラ３１０〜３６０それぞれのカメラパラメータと、に基づいて仮想視点画像を生成する。
本実施形態では、生成システムは、カメラ３１０〜３６０それぞれの位置姿勢が変更される度に、カメラ３１０〜３６０それぞれのキャリブレーションを行い、カメラパラメータを求めることとする。そして、生成システムは、仮想視点画像を生成する際には、直前のカメラ３１０〜３６０それぞれのキャリブレーションにより得られたカメラパラメータを用いる。
【００１９】
本実施形態では、生成システムは、カメラ３１０〜３６０それぞれを用いて撮影された画像に対して、画像を撮影したカメラのカメラパラメータの識別情報を付加情報として付加する。そして、生成システムは、仮想視点画像の生成の際に、カメラ３１０〜３６０それぞれにより撮影された画像の付加情報に基づいて、その画像を撮影したカメラのカメラパラメータを特定する。
本実施形態の生成システムの処理の流れを図４に示す。図４が示すように、生成システムは、以下のような処理を行う。
生成システムは、キャリブレーション用の画像が撮影されると、撮影された画像に基づいて行われるキャリブレーションの識別情報であるキャリブレーションＩＤを決定する。そして、生成システムは、撮影されたキャリブレーション用の画像に対して、その画像を撮影したカメラの識別情報であるカメラＩＤと、決定したキャリブレーションＩＤと、を付加情報として付加する。カメラＩＤとキャリブレーションＩＤとの組は、カメラパラメータの識別情報の一例である。
【００２０】
そして、生成システムは、キャリブレーション用の画像に基づいて、カメラ３１０〜３６０それぞれのキャリブレーションを行い、カメラ３１０〜３６０それぞれのカメラパラメータを決定する。生成システムは、決定したカメラ３１０〜３６０のカメラパラメータそれぞれを、カメラ３１０〜３６０それぞれのカメラＩＤと対応付けて、カメラパラメータ群とする。そして、生成システムは、このカメラパラメータ群を、決定したキャリブレーションＩＤと対応付けて格納装置４１０に格納する。
生成システムは、仮想視点画像の生成のためにカメラ３１０〜３６０により同期して撮影された画像それぞれに、その画像を撮影したカメラのカメラＩＤと、決定したキャリブレーションＩＤと、を付加する。
そして、生成システムは、これらの画像を用いて仮想視点画像を生成する際に、格納装置４１０から、これらの画像に付加されたキャリブレーションＩＤと対応付けられたカメラパラメータ群を取得する。生成システムは、取得したカメラパラメータ群から、カメラ３１０〜３６０それぞれのカメラＩＤに対応するカメラパラメータを特定する。そして、生成システムは、特定したカメラ３１０〜３６０それぞれのカメラパラメータに基づいて仮想視点画像を生成する。
【００２１】
図５は、本実施形態の録画制御装置１００と録画装置２１０との処理の一例を示すフローチャートである。図５のＳ２０１〜Ｓ２０４の処理は、録画制御装置１００の処理である。また、図５のＳ３０１〜Ｓ３０６の処理は、録画装置２１０の処理である。
まず、録画制御装置１００の処理について説明する。
Ｓ２０１において、録画制御装置１００のＣＰＵ１１０は、カメラ３１０〜３６０それぞれのカメラＩＤを決定する。本実施形態では、ＣＰＵ１１０は、カメラ３１０〜３６０それぞれのカメラＩＤを、予め定められた値に決定する。そして、ＣＰＵ１１０は、決定したカメラ３１０〜３６０それぞれのカメラＩＤそれぞれを、録画装置２１０〜２６０それぞれに送信する。本実施形態では、録画装置２１０〜２６０それぞれは、固有のＩＰアドレスを有している。ＣＰＵ１１０は、補助記憶装置１３０に予め記憶されたこれらのＩＰアドレスとカメラＩＤとの対応表の情報から、カメラ３１０〜３６０それぞれのカメラＩＤを決定する。
【００２２】
Ｓ２０２において、ＣＰＵ１１０は、オペレータによる録画制御装置１００の入力部への操作に基づいて、キャリブレーション装置４００により実行予定のキャリブレーションのキャリブレーションＩＤを受け付ける。そして、ＣＰＵ１１０は、受け付けたキャリブレーションＩＤを録画装置２１０〜２６０それぞれに送信する。
本実施形態では、ＣＰＵ１１０は、オペレータからの入力に基づいてキャリブレーションＩＤを取得することとする。ただし、ＣＰＵ１１０は、他の方法で、キャリブレーションＩＤを取得してもよい。例えば、ＣＰＵ１１０は、補助記憶装置１３０に記憶された過去に用いられたキャリブレーションＩＤを、実行予定のキャリブレーションのキャリブレーションＩＤとして取得してもよい。その場合、格納装置４１０は、格納しているキャリブレーションＩＤと対応付けられたカメラパラメータの情報を、そのカメラパラメータを用いた仮想視点画像の生成が全て完了した際に、削除することとする。
Ｓ２０３において、ＣＰＵ１１０は、オペレータによる録画制御装置１００の入力部への操作に基づいて、撮影開始の指示を受付け、撮影開始の指示を録画装置２１０〜２６０それぞれに送信する。
Ｓ２０４において、ＣＰＵ１１０は、オペレータによる録画制御装置１００の入力部への操作に基づいて、撮影終了の指示を受付けると、撮影終了の指示を録画装置２１０〜２６０それぞれに送信する。
【００２３】
続いて、録画装置２１０の処理について説明する。
Ｓ３０１において、ＣＰＵ２１１は、Ｓ２０１で送信されたカメラＩＤを受信し、受信したカメラＩＤを、対応するカメラ３１０のカメラＩＤとして設定する。
Ｓ３０２において、ＣＰＵ２１１は、Ｓ２０２で送信されたキャリブレーションＩＤを受信し、受信したキャリブレーションＩＤを、キャリブレーション装置４００により実行予定のキャリブレーションのキャリブレーションＩＤとして設定する。
【００２４】
Ｓ３０３において、ＣＰＵ２１１は、録画制御装置１００から撮影開始の指示を受信するまで待機する。
Ｓ３０４において、ＣＰＵ２１１は、Ｓ２０３で送信された撮影開始の指示を受信し、カメラ３１０を用いて、カメラ３１０〜３６０で同期した撮影を開始する。本実施形態では、ＣＰＵ２１１は、カメラ３１０を用いて、まず、予め定められたマーカの画像をキャリブレーション用の画像として撮影し、その後に、仮想視点画像の生成に用いられる画像を撮影する。
【００２５】
Ｓ３０５において、ＣＰＵ２１１は、カメラ３１０を用いた撮影の度に、撮影された画像に、Ｓ３０１で設定したカメラＩＤと、Ｓ３０２で設定したキャリブレーションＩＤと、を付加情報として付加する。本実施形態では、ＣＰＵ２１１は、画像のＥｘｃｈａｎｇｅａｂｌｅ  ｉｍａｇｅ  ｆｉｌｅ  ｆｏｒｍａｔ（Ｅｘｉｆ）領域に付加情報を付加する。Ｅｘｉｆ領域とは、画像のファイル中の画像のメタデータを格納する領域である。そして、ＣＰＵ２１１は、付加情報を付加した画像を補助記憶装置２１３に記憶することで、録画する。
Ｓ３０６において、ＣＰＵ２１１は、Ｓ２０４で送信される撮影終了の指示を受信したか否かを判定する。ＣＰＵ２１１は、撮影終了の指示を受信したと判定した場合、処理をＳ３０１に進め、撮影終了の指示を受信していないと判定した場合、処理をＳ３０４に進める。
【００２６】
本実施形態では、録画装置２２０〜２６０それぞれの処理は、図５のＳ３０１〜Ｓ３０６で説明した録画装置２１０の処理と同様の処理である。
以上のようにして、生成システムは、録画装置２１０〜２６０で録画される画像に、カメラＩＤとキャリブレーションＩＤとを付加する。
【００２７】
図６は、本実施形態のキャリブレーション装置４００の処理の一例を示すフローチャートである。キャリブレーション装置４００は、Ｓ３０５の処理で録画装置２１０〜２６０それぞれによりキャリブレーション用の画像が録画された際に、図６の処理を実行することで、カメラ３１０〜３６０それぞれのカメラパラメータを求める。そして、録画装置２１０〜２６０それぞれは、キャリブレーション装置４００によるキャリブレーションの後に、仮想視点画像生成用の画像を録画する。
Ｓ４０１において、キャリブレーション装置４００のＣＰＵは、録画制御装置１００を介して、録画装置２１０〜２６０それぞれから、カメラ３１０〜３６０それぞれのキャリブレーション用の画像を取得する。
Ｓ４０２において、キャリブレーション装置４００のＣＰＵは、Ｓ４０１で取得した画像それぞれのＥｘｉｆ領域から、カメラＩＤとカメラキャリブレーションＩＤとを取得する。
Ｓ４０３において、キャリブレーション装置４００のＣＰＵは、Ｓ４０１で取得したカメラ３１０〜３６０それぞれにより撮影された画像それぞれを用いて、カメラ３１０〜３６０それぞれのキャリブレーションを行う。本実施形態では、キャリブレーション装置４００のＣＰＵは、以下の参考文献１に開示された方法で、カメラ３１０〜３６０それぞれのキャリブレーションを行う。
参考文献１：特開２００５−３５１８８３号公報
【００２８】
Ｓ４０４において、キャリブレーション装置４００のＣＰＵは、Ｓ４０３でのキャリブレーションの結果に基づいて、カメラ３１０〜３６０のカメラパラメータを取得する。キャリブレーション装置４００のＣＰＵは、カメラ３１０〜３６０それぞれのカメラＩＤと、カメラ３１０〜３６０それぞれのカメラパラメータと、を対応付けた情報をまとめてカメラパラメータ群とする。そして、キャリブレーション装置４００のＣＰＵは、カメラパラメータ群と、Ｓ４０２で取得したキャリブレーションＩＤと、を対応付ける。
Ｓ４０５において、キャリブレーション装置４００のＣＰＵは、Ｓ４０４でキャリブレーションＩＤと対応付けられたカメラパラメータ群を格納装置４１０に送信する。格納装置４１０のＣＰＵは、Ｓ４０５で送信されたキャリブレーションＩＤと対応付けられたカメラパラメータ群を受信すると、受信したカメラパラメータ群を格納装置４１０の補助記憶装置に記憶する。
以上のようにして、生成システムは、カメラキャリブレーションＩＤと対応付けられたカメラパラメータを、格納装置４１０に格納する。
【００２９】
図７は、本実施形態の格納装置４１０の機能構成等の一例を示す図である。
格納装置４１０は、制御部４１１を含む。
制御部４１１は、キャリブレーションＩＤと対応付けられたカメラパラメータ群を受信すると、受信したカメラパラメータ群と対応するキャリブレーションＩＤとの情報をカメラパラメータ表４１２に追加する。カメラパラメータ表４１２は、格納装置４１０の補助記憶装置に記憶されたキャリブレーションＩＤとカメラパラメータ群とを対応付けて記憶するテーブル型のデータである。格納装置４１０の補助記憶装置は、保持手段の一例である。制御部４１１によるカメラパラメータ表４１２に情報を追加する処理は、保持制御処理の一例である。カメラパラメータ表４１２は、カメラパラメータの識別情報と、カメラパラメータと、の対応を示す対応情報の一例である。
また、制御部４１１は、キャリブレーションＩＤを伴うカメラパラメータ群の要求を受信した場合、カメラパラメータ表４１２から、そのキャリブレーションＩＤに対応するカメラパラメータ群を取得し、取得したカメラパラメータ群を要求元に送信する。
【００３０】
図８は、本実施形態の生成装置５００の処理の一例を示すフローチャートである。
Ｓ５０１において、生成装置５００のＣＰＵは、録画制御装置１００を介して、録画装置２１０〜２６０に録画された仮想視点画像生成用の画像を取得する。
Ｓ５０２において、生成装置５００のＣＰＵは、Ｓ５０１で取得した画像それぞれのＥｘｉｆ領域から、カメラＩＤとキャリブレーションＩＤとを取得する。
Ｓ５０３において、生成装置５００のＣＰＵは、Ｓ５０２で取得したキャリブレーションＩＤを格納装置４１０に通知し、格納装置４１０に通知したキャリブレーションＩＤに対応するカメラパラメータ群を要求する。格納装置４１０の制御部４１１は、この要求に応じて、通知されたキャリブレーションＩＤに対応するカメラパラメータ群をカメラパラメータ表４１２から取得し、生成装置５００に送信する。生成装置５００のＣＰＵは、送信されたカメラパラメータ群を取得する。
【００３１】
Ｓ５０４において、生成装置５００のＣＰＵは、Ｓ５０３で取得したカメラパラメータ群に含まれるカメラパラメータそれぞれに対応するカメラＩＤに基づいて、カメラパラメータ群に含まれる各カメラパラメータがどのカメラのパラメータであるかを特定する。
Ｓ５０５において、生成装置５００のＣＰＵは、Ｓ５０１で取得された画像と、Ｓ５０４で特定した各カメラのカメラパラメータと、に基づいて、仮想視点画像を生成する。
【００３２】
以上、本実施形態の生成システムは、カメラ３１０〜３６０それぞれによる画像の撮影時に、撮影された画像にカメラパラメータの識別情報として、カメラＩＤとキャリブレーションＩＤとを付加する。そして、生成システムは、仮想視点画像の生成の際に、仮想視点画像の生成に用いられる画像に付加されたカメラＩＤとキャリブレーションＩＤとに基づいて、その画像を撮影したカメラのカメラパラメータを特定する。このように、生成システムは、オペレータによる入力を要さずに、仮想視点画像の生成に用いられるカメラパラメータを特定できる。これにより、生成システムは、オペレータによる人為的な誤りが生じる事態を防止できる。また、生成システムは、オペレータによる入力の手間を軽減できる。即ち、生成システムは、仮想視点画像の生成における人為的な誤りの可能性と手間とを軽減できる。
【００３３】
＜実施形態２＞
本実施形態では、生成システムが、キャリブレーションＩＤではなく撮影時刻情報を用いる処理について説明する。
本実施形態の生成システムのシステム構成は、実施形態１と同様である。生成システムの各要素のハードウェア構成は、実施形態１と同様である。
【００３４】
本実施形態の生成システムの処理の流れを図９に示す。図９が示すように、生成システムは、以下のような処理を行う。
生成システムは、キャリブレーション用の画像が撮影されると、撮影時刻を特定する。そして、生成システムは、撮影されたキャリブレーション用の画像に対して、その画像を撮影したカメラの識別情報であるカメラＩＤと、特定した撮影時刻情報と、を付加する。
そして、生成システムは、キャリブレーション用の画像に基づいて、カメラ３１０〜３６０それぞれのキャリブレーションを行い、カメラ３１０〜３６０それぞれのカメラパラメータを決定する。生成システムは、決定したカメラ３１０〜３６０のカメラパラメータを、キャリブレーション用の画像の撮影時刻情報と対応付けて格納装置４１０に格納する。
【００３５】
生成システムは、仮想視点画像の生成のためにカメラ３１０〜３６０により同期して撮影された画像それぞれに、その画像を撮影したカメラのカメラＩＤと、その画像の撮影時刻情報と、を付加する。
そして、生成システムは、これらの画像を用いて仮想視点画像を生成する際に、格納装置４１０から、これらの画像に付加された撮影時刻情報の時刻に最も近い、その時刻よりも過去の時刻を示す撮影時刻情報と対応付けられたカメラパラメータを取得する。そして、生成システムは、取得したカメラパラメータに基づいて仮想視点画像を生成する。
【００３６】
図１０は、本実施形態の録画制御装置１００と録画装置２１０との処理の一例を示すフローチャートである。図１０のＳ２０１Ｂ、Ｓ２０３Ｂ、Ｓ２０４Ｂの処理は、録画制御装置１００の処理である。また、図１０のＳ３０１Ｂ、Ｓ３０３Ｂ〜Ｓ３０６Ｂの処理は、録画装置２１０の処理である。
Ｓ２０１Ｂ、Ｓ２０３Ｂ、Ｓ２０４Ｂそれぞれの処理は、図５のＳ２０１、Ｓ２０３、Ｓ２０４それぞれの処理と同様の処理である。Ｓ３０１Ｂ、Ｓ３０３Ｂ、Ｓ３０４Ｂ、Ｓ３０６Ｂそれぞれの処理は、図５のＳ３０１、Ｓ３０３、Ｓ３０４、Ｓ３０６それぞれの処理と同様の処理である。
Ｓ３０５Ｂにおいて、ＣＰＵ２１１は、カメラ３１０を用いた撮影の度に、撮影された画像に、Ｓ３０１で特定したカメラＩＤと、その画像の撮影時刻情報と、を付加情報として付加する。カメラＩＤと撮影時刻情報との組は、各カメラのカメラパラメータの識別情報の一例である。そして、ＣＰＵ２１１は、付加情報を付加した画像を補助記憶装置２１３に記憶することで、録画する。
本実施形態では、録画装置２２０〜２６０それぞれの処理は、図１０のＳ３０１Ｂ、Ｓ３０３Ｂ〜Ｓ３０６Ｂで説明した録画装置２１０の処理と同様の処理である。
【００３７】
図１１は、本実施形態のキャリブレーション装置４００の処理の一例を示すフローチャートである。
Ｓ４０１Ｂ、Ｓ４０３Ｂそれぞれの処理は、図６のＳ４０１、Ｓ４０３それぞれの処理と同様の処理である。
Ｓ４０２Ｂにおいて、キャリブレーション装置４００のＣＰＵは、Ｓ４０１Ｂで取得した画像それぞれのＥｘｉｆ領域から、カメラＩＤと撮影時刻情報とを取得する。
Ｓ４０４Ｂにおいて、キャリブレーション装置４００のＣＰＵは、Ｓ４０３でのキャリブレーションの結果に基づいて、カメラ３１０〜３６０のカメラパラメータを取得する。キャリブレーション装置４００のＣＰＵは、カメラ３１０〜３６０それぞれのカメラＩＤと、カメラ３１０〜３６０それぞれのカメラパラメータと、を対応付けた情報をまとめてカメラパラメータ群とする。そして、キャリブレーション装置４００のＣＰＵは、カメラパラメータ群と、Ｓ４０２Ｂで取得した撮影時刻情報と、を対応付ける。
Ｓ４０５Ｂにおいて、キャリブレーション装置４００のＣＰＵは、Ｓ４０４Ｂで撮影時刻情報と対応付けられたカメラパラメータ群を格納装置４１０に送信する。格納装置４１０のＣＰＵは、Ｓ４０５で送信された撮影時刻情報と対応付けられたカメラパラメータ群を受信すると、受信したカメラパラメータ群を格納装置４１０の補助記憶装置に記憶する。
【００３８】
図１２は、本実施形態の格納装置４１０の機能構成等の一例を示す図である。
格納装置４１０は、制御部４１１を含む。
制御部４１１は、撮影時刻情報と対応付けられたカメラパラメータ群を受信すると、受信したカメラパラメータ群と対応する撮影時刻情報との情報をカメラパラメータ表４１２に追加する。本実施形態のカメラパラメータ表４１２は、格納装置４１０の補助記憶装置に記憶された撮影時刻情報とカメラパラメータ群とを対応付けて記憶するテーブル型のデータである。
また、制御部４１１は、撮影時刻情報を伴うカメラパラメータ群の要求を受信した場合、カメラパラメータ表４１２から、その撮影時刻情報が示す時刻に最も近く、その時刻よりも過去の時刻を示す撮影時刻情報に対応するカメラパラメータ群を取得する。そして、制御部４１１は、取得したカメラパラメータ群を要求元に送信する。
【００３９】
本実施形態の生成装置５００の処理について説明する。
本実施形態の生成装置５００の処理は、図８の処理と比べるとＳ５０２、Ｓ５０３の処理が異なる。
Ｓ５０２において、生成装置５００のＣＰＵは、Ｓ５０１で取得した画像それぞれのＥｘｉｆ領域から、カメラＩＤと撮影時刻情報とを取得する。
Ｓ５０３において、生成装置５００のＣＰＵは、Ｓ５０２で取得した撮影時刻情報を格納装置４１０に通知し、格納装置４１０に通知した撮影時刻情報に対応するカメラパラメータ群を要求する。格納装置４１０の制御部４１１は、この要求に応じて、通知された撮影時刻情報に対応するカメラパラメータ群をカメラパラメータ表４１２から取得し、生成装置５００に送信する。生成装置５００のＣＰＵは、送信されたカメラパラメータ群を取得する。
【００４０】
図１３は、本実施形態の格納装置４１０の処理の一例を示すフローチャートである。
制御部４１１は、Ｓ５０２で行われた撮影時刻情報を伴うカメラパラメータ群の要求を受信した場合、図１３のフローチャートの処理を実行する。
Ｓ６０１Ｂにおいて、制御部４１１は、カメラパラメータ表４１２内の各行のデータを、対応する撮影時刻情報が示す時刻が遅いものから早いものの順番でソートする。
Ｓ６０２Ｂにおいて、制御部４１１は、カメラパラメータ群の要求に含まれる撮影時刻情報が示す時刻を特定する。
Ｓ６０３Ｂにおいて、制御部４１１は、格納装置４１０の主記憶装置に変数ｎを記憶し、値を１に初期化する。
Ｓ６０４Ｂにおいて、制御部４１１は、カメラパラメータ表４１２Ｂの先頭からｎ番目の行のデータに対応する撮影時刻情報が示す時刻が、カメラパラメータ群の要求に含まれる撮影時刻情報が示す時刻よりも過去であるか否かを判定する。制御部４１１は、カメラパラメータ表４１２Ｂの先頭からｎ番目の行のデータに対応する撮影時刻情報が示す時刻が、カメラパラメータ群の要求に含まれる撮影時刻情報が示す時刻よりも過去であると判定した場合、処理をＳ６０６Ｂに進める。制御部４１１は、カメラパラメータ表４１２Ｂの先頭からｎ番目の行のデータに対応する撮影時刻情報が示す時刻が、カメラパラメータ群の要求に含まれる撮影時刻情報が示す時刻以降であると判定した場合、処理をＳ６０４Ｂに進める。
Ｓ６０５Ｂにおいて、制御部４１１は、変数ｎの値に１を加える。
Ｓ６０６Ｂにおいて、制御部４１１は、カメラパラメータ表４１２Ｂの先頭からｎ番目の行のデータを、要求元に送信する。
【００４１】
以上、本実施形態の処理により、生成システムは、カメラＩＤと画像の撮影時刻情報とをカメラパラメータの識別情報として、実施形態１と同様の処理を実行できる。
【００４２】
＜実施形態３＞
本実施形態では、生成システムが、キャリブレーションＩＤではなく、カメラ３１０〜３６０それぞれに備え付けられた電動雲台６１０〜６６０それぞれの位置姿勢を示すプリセットＩＤを用いる処理について説明する。
本実施形態の生成システムのシステム構成は、実施形態１と同様である。生成システムの各要素のハードウェア構成は、実施形態１と同様である。
本実施形態では、カメラ３１０〜３６０には、それぞれ電動雲台６１０〜６６０が備え付けられている。
【００４３】
図１４は、電動雲台６１０の一例を説明する図である。
電動雲台６１０は、録画制御装置１００からの録画装置２１０を介した向きの変更指示に応じて、カメラ３１０の向きを変更する電動式の雲台である。電動雲台６１０は、予め定められた向きを識別するプリセット値が指定されると、指定されたプリセット値に応じた向きにカメラ３１０の向きを変更する。即ち、録画制御装置１００は、プリセット値を電動雲台６１０に指定することで、カメラ３１０の向きを変更できる。
電動雲台６２０〜６６０それぞれは、電動雲台６１０と同様の雲台である。
本実施形態では、カメラ３１０〜３６０それぞれ及び電動雲台６１０〜６６０それぞれの位置は固定されているとする。そのため、カメラＩＤと電動雲台に指定されたプリセット値とが分かれば、対応するカメラの位置・姿勢のカメラパラメータが分かることとなる。そのため、電動雲台に指定されたプリセット値が変わらない限りこれらのカメラパラメータは、一定となる。
【００４４】
本実施形態では、生成システムは、カメラパラメータの識別情報として、カメラＩＤと電動雲台のプリセット値との組を用いる。
本実施形態の生成システムの処理の流れを図１５に示す。図１５が示すように、生成システムは、以下のような処理を行う。
生成システムは、キャリブレーション用の画像が撮影されると、撮影されたキャリブレーション用の画像に対して、その画像を撮影したカメラのカメラＩＤと、そのカメラに備え付けられた電動雲台に指定されたプリセット値と、を付加する。
そして、生成システムは、キャリブレーション用の画像に基づいて、カメラ３１０〜３６０それぞれのキャリブレーションを行い、カメラ３１０〜３６０それぞれのカメラパラメータを決定する。生成システムは、決定したカメラ３１０〜３６０のカメラパラメータを、キャリブレーション用の画像に付加されたプリセット値と対応付けて格納装置４１０に格納する。
【００４５】
生成システムは、仮想視点画像の生成のためにカメラ３１０〜３６０により同期して撮影された画像それぞれに、その画像を撮影したカメラのカメラＩＤと、そのカメラの電動雲台に指定されたプリセット値と、を付加する。
そして、生成システムは、これらの画像を用いて仮想視点画像を生成する際に、格納装置４１０から、これらの画像に付加されたプリセット値と対応付けられたカメラパラメータを取得する。そして、生成システムは、取得したカメラパラメータに基づいて仮想視点画像を生成する。
【００４６】
図１６は、本実施形態の録画制御装置１００と録画装置２１０との処理の一例を示すフローチャートである。図１６のＳ２０１Ｃ〜Ｓ２０４Ｃの処理は、録画制御装置１００の処理である。また、図１６のＳ３０１Ｃ〜Ｓ３０６Ｃの処理は、録画装置２１０の処理である。
Ｓ２０１Ｃ、Ｓ２０３Ｃ、Ｓ２０４Ｃそれぞれの処理は、図５のＳ２０１、Ｓ２０３、Ｓ２０４それぞれの処理と同様の処理である。Ｓ３０１Ｃ、Ｓ３０３Ｃ、Ｓ３０４Ｃ、Ｓ３０６Ｃそれぞれの処理は、図５のＳ３０１、Ｓ３０３、Ｓ３０４、Ｓ３０６それぞれの処理と同様の処理である。
Ｓ２０２Ｃにおいて、ＣＰＵ１１０は、電動雲台６１０のプリセット値を、録画装置２１０に送信する。
【００４７】
Ｓ３０２Ｃにおいて、ＣＰＵ２１１は、Ｓ２０２で送信されたプリセット値を受信し、受信したプリセット値を、カメラ３１０に備え付けられた電動雲台６１０に対して指定する。これにより、電動雲台６１０は、カメラ３１０の向きを変更する。
Ｓ３０５Ｃにおいて、ＣＰＵ２１１は、カメラ３１０を用いた撮影の度に、撮影された画像に、Ｓ３０１で特定したカメラＩＤと、Ｓ３０２で電動雲台６１０に指定したプリセット値と、を付加情報として付加する。そして、ＣＰＵ２１１は、付加情報を付加した画像を補助記憶装置２１３に記憶することで、録画する。
本実施形態では、録画装置２２０〜２６０それぞれの処理は、図１０のＳ３０１Ｃ〜Ｓ３０６Ｃで説明した録画装置２１０の処理と同様の処理である。
【００４８】
本実施形態のキャリブレーション装置４００の処理について説明する。本実施形態のキャリブレーション装置４００の処理は、図６のフローチャートの処理と比べて、Ｓ４０２、Ｓ４０４、Ｓ４０５それぞれの処理が異なる。本実施形態のＳ４０２、Ｓ４０４、Ｓ４０５それぞれの処理について説明する。
Ｓ４０２において、キャリブレーション装置４００のＣＰＵは、Ｓ４０１で取得した画像それぞれのＥｘｉｆ領域から、カメラＩＤとプリセット値とを取得する。
Ｓ４０４において、キャリブレーション装置４００のＣＰＵは、Ｓ４０３でのキャリブレーションの結果に基づいて、カメラ３１０〜３６０のカメラパラメータを取得する。キャリブレーション装置４００のＣＰＵは、カメラ３１０〜３６０それぞれのカメラＩＤと、カメラ３１０〜３６０それぞれのカメラパラメータと、を対応付けた情報をまとめてカメラパラメータ群とする。そして、キャリブレーション装置４００のＣＰＵは、カメラパラメータ群と、Ｓ４０２で取得したプリセット値と、を対応付ける。
Ｓ４０５において、キャリブレーション装置４００のＣＰＵは、Ｓ４０４でプリセット値と対応付けられたカメラパラメータ群を格納装置４１０に送信する。格納装置４１０のＣＰＵは、Ｓ４０５で送信されたプリセット値と対応付けられたカメラパラメータ群を受信すると、受信したカメラパラメータ群を格納装置４１０の補助記憶装置に記憶する。
【００４９】
本実施形態の格納装置４１０の機能構成について説明する。本実施形態の格納装置４１０は、制御部４１１を含む。
制御部４１１は、プリセット値と対応付けられたカメラパラメータ群を受信すると、受信したカメラパラメータ群と対応する撮影時刻情報との情報をカメラパラメータ表４１２に追加する。本実施形態のカメラパラメータ表４１２は、格納装置４１０の補助記憶装置に記憶されたプリセット値とカメラパラメータ群とを対応付けて記憶するテーブル型のデータである。
また、制御部４１１は、プリセット値を伴うカメラパラメータ群の要求を受信した場合、そのプリセット値に対応するカメラパラメータ群を取得し、取得したカメラパラメータ群を要求元に送信する。
【００５０】
本実施形態の生成装置５００の処理について説明する。
本実施形態の生成装置５００の処理は、図８の処理と比べるとＳ５０２、Ｓ５０３の処理が異なる。
Ｓ５０２において、生成装置５００のＣＰＵは、Ｓ５０１で取得した画像それぞれのＥｘｉｆ領域から、カメラＩＤとプリセット値とを取得する。
Ｓ５０３において、生成装置５００のＣＰＵは、Ｓ５０２で取得したプリセット値を格納装置４１０に通知し、通知したプリセット値に対応するカメラパラメータ群を要求する。格納装置４１０の制御部４１１は、この要求に応じて、通知されたプリセット値に対応するカメラパラメータ群をカメラパラメータ表４１２から取得し、生成装置５００に送信する。生成装置５００のＣＰＵは、送信されたカメラパラメータ群を取得する。
【００５１】
以上、本実施形態の処理により、生成システムは、カメラＩＤと電動雲台のプリセット値とをカメラパラメータの識別情報として、実施形態１と同様の処理を実行できる。
【００５２】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００５３】
例えば、上述した生成システムの機能構成の一部又は全てをハードウェアとして録画制御装置１００、録画装置２１０〜２６０、キャリブレーション装置４００、格納装置４１０、生成装置５００等に実装してもよい。
以上、本発明の実施形態の一例について詳述したが、本発明は係る特定の実施形態に限定されるものではない。例えば、上述した各実施形態を任意に組み合わせる等してもよい。
【符号の説明】
【００５４】
１００  録画制御装置
２１０  録画装置
４００  キャリブレーション装置
【図１】
2020088639.tif 000003
【図２】
2020088639.tif 000004
【図３】
2020088639.tif 000005
【図４】
2020088639.tif 000006
【図５】
2020088639.tif 000007
【図６】
2020088639.tif 000008
【図７】
2020088639.tif 000009
【図８】
2020088639.tif 000010
【図９】
2020088639.tif 000011
【図１０】
2020088639.tif 000012
【図１１】
2020088639.tif 000013
【図１２】
2020088639.tif 000014
【図１３】
2020088639.tif 000015
【図１４】
2020088639.tif 000016
【図１５】
2020088639.tif 000017
【図１６】
2020088639.tif 000018