(57)【要約】【課題】仮想視点映像を再生するためのデータを効率的に配信する。【解決手段】外部装置ごとに割り当てられたデータ通信に用いる通信回線の利用可能な帯域幅に基づき、仮想視点映像データを生成するために用いられるオブジェクト単位の要素から構成されたモデルデータを、第１のモデルデータと第１のモデルデータと異なる第２のモデルデータとに分類する分類手段と、第２のモデルデータをレンダリングした映像データを生成する生成手段と、第１のモデルデータと映像データとを外部装置に配信する配信手段と、を備える。【選択図】図８
2020187706.tif 000002
【特許請求の範囲】
【請求項１】
外部装置ごとに割り当てられたデータ通信に用いる通信回線の利用可能な帯域幅に基づき、仮想視点映像データを生成するために用いられるオブジェクト単位の要素から構成されたモデルデータを、第１のモデルデータと前記第１のモデルデータと異なる第２のモデルデータとに分類する分類手段と、
前記第２のモデルデータをレンダリングした映像データを生成する生成手段と、
前記第１のモデルデータと前記映像データとを前記外部装置に配信する配信手段と、
を備える
ことを特徴とする画像処理装置。
【請求項２】
前記分類手段は、前記外部装置の数と前記通信回線の帯域幅とに基づき、前記モデルデータを前記第１のモデルデータと前記第２のモデルデータとに分類することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記分類手段は、前記第１のモデルデータが前記外部装置の数と前記通信回線の帯域幅とに基づき設定したデータ量よりも小さくなるように、前記モデルデータを前記第１のモデルデータと前記第２のモデルデータとに分類することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記分類手段は、オブジェクトの特性に基づき、前記第１のモデルデータに含める前記モデルデータにおけるオブジェクトを決定することを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記オブジェクトの特性は、前記モデルデータにおけるオブジェクト間の距離であることを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記オブジェクトの特性は、前記モデルデータにおけるオブジェクトと前記映像データを生成するために用いる仮想視点との距離であることを特徴とする請求項４に記載の画像処理装置。
【請求項７】
前記外部装置におけるユーザの注視点の位置情報を取得する取得手段
をさらに備え、
前記オブジェクトの特性は、前記位置情報に基づく前記ユーザの注視点と前記モデルデータにおけるオブジェクトとの距離であることを特徴とする請求項４に記載の画像処理装置。
【請求項８】
前記第１のモデルデータのデータ量である第１のデータ量を算出し、前記第１のモデルデータをレンダリングした映像データの可逆エンコードの後のデータ量である第２のデータ量を算出する算出手段、
をさらに備え、
前記配信手段は、前記第２のデータ量が前記第１のデータ量よりも少ない場合、前記第１のモデルデータに代えて、前記第１のモデルデータをレンダリングした映像データを可逆エンコードしたデータを配信する
ことを特徴とする請求項１乃至７のいずれか１項に記載の画像処理装置。
【請求項９】
サーバから配信される、仮想視点映像データを生成するために用いられるオブジェクト単位の要素から構成されたモデルデータと第１の映像データとを取得する取得手段と、
前記モデルデータを所定の仮想視点に基づきレンダリングして第２の映像データを生成する第１の生成手段と、
前記第１の映像データと前記第２の映像データとを合成した合成映像データを生成する合成手段と、
前記合成映像データを表示する表示手段と、
を備えたことを特徴とする画像処理装置。
【請求項１０】
前記所定の仮想視点を変更する変更手段と、
前記変更手段において変更された前記所定の仮想視点に関する情報を、前記第２の映像データをレンダリングする装置に送信する送信手段と、
をさらに備えたことを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
前記第１の映像データにぼかし処理を施した第３の映像データを生成する第２の生成手段
をさらに備え、
前記変更手段が前記所定の仮想視点を変更してから所定の期間、前記合成手段は、前記第１の映像データに代えて、前記第３の映像データを前記第１の映像データと合成する
ことを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
前記第３の映像データのフレーム画像データは、合成される前記第２の映像データのフレーム画像データよりもフレーム番号が小さい
ことを特徴とする請求項１１に記載の画像処理装置。
【請求項１３】
前記第１の生成手段は、前記第１の映像データにおける仮想視点からの各オブジェクトまでの距離に関する距離情報を生成し、
前記取得手段は、前記第２の映像データにおける前記仮想視点からの各オブジェクトまでの距離に関する距離情報を取得し、
前記合成手段は、前記距離情報に基づき前記仮想視点からの距離が小さいオブジェクトを前面に配置するように合成を行う
ことを特徴とする請求項９乃至１２のいずれか１項に記載の画像処理装置。
【請求項１４】
前記オブジェクト単位の要素は、複数のカメラを用いて得られた複数の画像データから生成された３次元形状データおよびテクスチャデータで構成されることを特徴とする請求項１乃至１３のいずれか１項に記載の画像処理装置。
【請求項１５】
外部装置ごとに割り当てられたデータ通信に用いる通信回線の利用可能な帯域幅に基づき、仮想視点映像データを生成するために用いられるオブジェクト単位の要素から構成されたモデルデータを、第１のモデルデータと第２のモデルデータとに分類する分類手段、および
前記第２のモデルデータをレンダリングした第１の映像データを生成する生成手段と、
前記第１のモデルデータと前記第１の映像データとを前記外部装置に配信する配信手段、
を含むサーバ装置と、
前記サーバ装置から配信される、前記第１のモデルデータと前記第１の映像データとを取得する取得手段、
前記第１のモデルデータを所定の仮想視点に基づきレンダリングして第２の映像データを生成する生成手段、
前記第１の映像データと前記第２の映像データとを合成した合成映像データを生成する合成手段、および
前記合成映像データを表示する表示手段、
を含む端末装置と、
を備える
ことを特徴とする画像処理システム。
【請求項１６】
外部装置ごとに割り当てられたデータ通信に用いる通信回線の利用可能な帯域幅に基づき、仮想視点映像データを生成するために用いられるオブジェクト単位の要素から構成されたモデルデータを、第１のモデルデータと第２のモデルデータとに分類する分類ステップと、
前記第２のモデルデータをレンダリングした映像データを生成する生成ステップと、
前記第１のモデルデータと前記映像データとを前記外部装置に配信する配信ステップと、
を有する
ことを特徴とする画像処理方法。
【請求項１７】
サーバから配信される、仮想視点映像データを生成するために用いられるオブジェクト単位の要素から構成されたモデルデータと第１の映像データとを取得する取得ステップと、
前記モデルデータを所定の仮想視点に基づきレンダリングして第２の映像データを生成する第１の生成ステップと、
前記第１の映像データと前記第２の映像データとを合成した合成映像データを生成する合成ステップと、
前記合成映像データを表示する表示ステップと、
を備えたことを特徴とする画像処理方法。
【請求項１８】
外部装置ごとに割り当てられたデータ通信に用いる通信回線の利用可能な帯域幅に基づき、仮想視点映像データを生成するために用いられるオブジェクト単位の要素から構成されたモデルデータを、第１のモデルデータと第２のモデルデータとに分類する分類ステップと、
前記第２のモデルデータをレンダリングした第１の映像データを生成する生成ステップと、
前記第１のモデルデータと前記第１の映像データとを前記外部装置に配信する配信ステップと、
前記配信ステップにより配信される、前記第１のモデルデータと前記第１の映像データとを取得する取得ステップと、
前記第１のモデルデータを所定の仮想視点に基づきレンダリングして第２の映像データを生成する生成ステップと、
前記第１の映像データと前記第２の映像データとを合成した合成映像データを生成する合成ステップと、
前記合成映像データを表示する表示ステップと、
を有する
ことを特徴とする画像処理方法。
【請求項１９】
コンピュータを請求項１乃至１４のいずれか１項に記載の画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の技術は、３次元コンピュータグラフィックスを利用した映像データを配信する技術に関する。
【背景技術】
【０００２】
複数台のカメラで撮像して得られた実カメラ映像データを用いて、３次元空間内に設定した仮想視点（仮想カメラ）からの見えを表す映像データを再現する技術として、仮想視点映像技術がある。仮想視点映像データを生成するたには、まず画像処理サーバにおいて実カメラ映像データからオブジェクト（被写体）の３次元形状を推定することにより、オブジェクトのモデルデータ（３次元形状データとテクスチャデータ）を生成する。そして、生成したモデルデータに対して仮想カメラを設定してＣＧレンダリングを施すことにより、任意の仮想カメラの位置・方向からの見え方を表す映像データを生成することができる。
【０００３】
仮想カメラの位置・方向を設定するユーザ端末に画像処理サーバからオブジェクトのモデルデータを配信し、端末側でＣＧレンダリングを実行することで、仮想カメラを制御するためのユーザ操作に対する遅延を小さくすることができる。これにより、インタラクティブな仮想視点映像データの生成が可能になる。
【０００４】
しかし、モデルデータはデータ量が膨大であるため、例えば無線通信を用いて配信する際、同一セル内に存在する多数のユーザ端末にモデルデータを配信しようとすると、通信回線の帯域を圧迫して各ユーザ端末の通信速度の低下が起きる。その結果、モデルデータの送信に係る遅延が大きくなることで、仮想視点映像が再生されるまでのユーザの待ち時間が長くなってしまうという課題がある。
【０００５】
一方、画像処理サーバがユーザ端末から仮想カメラの制御情報を取得してレンダリングを行い、圧縮した映像データをユーザ端末に送信するという配信形態をとることで、通信データ量を低減できる。しかしこの配信形態では、圧縮ノイズによる画質劣化や、仮想カメラの制御情報の通信遅延の影響による映像配信までのレイテンシ（遅延）の増加、及び画像処理サーバの処理負荷増加等の課題もある。
【０００６】
特許文献１には、ゲームシステムにおいて、コンテンツに含まれる複数のオブジェクトのうちの一部をサーバ装置でレンダリングし、その他のオブジェクトを端末装置でレンダリングすることで、レンダリングの処理負荷を分散させることが開示されている。ただし、特許文献１の技術においては、端末装置が予めレンダリングのためのオブジェクトのモデルデータを保持しておく必要がある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１８−７７５５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
仮想視点映像を再生するためのデータを配信するシステムにおいては、例えばユーザ端末の性能に応じた画質の映像の再生や、通信環境に応じた配信遅延の抑制などを実現するための、効率的なデータ配信が求められる。
【０００９】
本開示の技術は上記の課題に鑑み、仮想視点映像を再生するためのデータを効率的に配信することを目的とする。
【課題を解決するための手段】
【００１０】
本開示の技術は、外部装置ごとに割り当てられたデータ通信に用いる通信回線の利用可能な帯域幅に基づき、仮想視点映像データを生成するために用いられるオブジェクト単位の要素から構成されたモデルデータを、第１のモデルデータと前記第１のモデルデータと異なる第２のモデルデータとに分類する分類手段と、前記第２のモデルデータをレンダリングした映像データを生成する生成手段と、前記第１のモデルデータと前記映像データとを前記外部装置に配信する配信手段と、を備える。
【発明の効果】
【００１１】
本開示の技術により、仮想視点映像を再生するためのデータを効率的に配信することができる。
【図面の簡単な説明】
【００１２】
【図１】画像処理サーバ、カメラ、ユーザ端末の構成を示すブロック図。
【図２】カメラの配置を示す概要図。
【図３】モデルデータ生成処理を示すフローチャート。
【図４】ＣＧレンダリング処理を示すフローチャート。
【図５】モデルデータの概要を示した図。
【図６】ユーザ端末の概要を示した図。
【図７】オブジェクト分類の概要を示した図。
【図８】モデルデータ配信処理を示すフローチャート。
【図９】レイテンシを抑制するモデルデータ配信処理を示すフローチャート。
【図１０】レイテンシを抑制するモデルデータ配信の概要を示した図。
【図１１】ストリーミングの効率化を示すフローチャート。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態について、図面を参照して説明する。なお、以下の実施形態は本発明を限定するものではなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成については、同じ符号を付して説明する。
【実施形態１】
【００１４】
本実施形態では、画像処理サーバからユーザ端末に向けてインターネット回線（以降ＷＡＮ回線）を通じて、インタラクティブな仮想視点映像データを配信する手法を説明する。ここでは、説明を簡易にするため、配信元である画像処理サーバが単一で、受信先であるユーザ端末が複数存在するケースを用いる。また、画像処理サーバはデータセンター等に設置されており、ユーザは自宅や外出先等でユーザ端末（スマートフォンやＰＣ、タブレットなど）を操作し、仮想視点映像データを受信・視聴するものとする。ただし、画像処理サーバが複数存在し、ユーザ端末はそれらの画像処理サーバのうちの１以上のサーバと接続してデータの通信を行ってもよい。また、ユーザ端末と画像処理サーバとの間の接続はＷＡＮ回線に限らず、ＬＡＮ回線などであってもよいし、無線接続でも有線接続でもよい。
【００１５】
図１は、本発明の実施形態における、画像処理サーバ、撮像システム（カメラ）、ユーザ端末のシステム構成を示すブロック図である。
【００１６】
画像処理サーバ１００は、ＣＰＵ１０１、メインメモリ１０２、記憶部１０３、外部Ｉ／Ｆ部１０４、バス１０５を備える。ＣＰＵ１０１は、演算処理や各種プログラムの実行を行う。メインメモリ１０２は、処理に必要なプログラム、データ、作業領域などをＣＰＵ１０１に提供する。記憶部１０３は、画像処理プログラムに必要な各種データを蓄積する装置で、例えばハードディスクやシリコンディスク等の不揮発性メモリが用いられる。外部Ｉ／Ｆ部１０４は、カメラ１２０やユーザ端末１１０などの外部装置と接続され、接続された外部装置との間での映像データや制御信号データ、モデルデータなどの送受信をＷＡＮ１０６やＬＡＮ１０８などの伝送路経由で行う。バス１０５は上述の各部を接続し、データ転送を行う。
【００１７】
カメラ１２０は複数存在し、カメラ１２０で撮像した映像データをＬＡＮ１０８経由で画像処理サーバ１００に転送する。ＬＡＮ１０８はローカルエリアネットワークであり、イーサネット（登録商標）ケーブルとＬ２およびＬ３スイッチにて構成する。
【００１８】
ユーザ端末１１０は、画像処理サーバ１００と同様に、ＣＰＵ１１１、メインメモリ１１２、記憶部１１３、外部Ｉ／Ｆ部１１４を備える。また、ユーザからの操作受付や仮想視点映像表示のため、タッチパネルである表示／操作部１１５も備える。ユーザ端末１１０と画像処理サーバ１００とは各種ルータを介してＷＡＮ１０６に接続されており、それらの間で映像データや制御信号データ、モデルデータなどの送信を行うことができる。ＷＡＮ１０６は、ワイドエリアネットワークである。本実施形態では、ＷＡＮ１０６は、画像処理サーバ１００には光ファイバなどのデータ通信に用いる有線通信規格の伝送路にて接続され、ユーザ端末１１０にはＷｉ−ｆｉや４Ｇ、５Ｇと呼ばれる無線通信規格の伝送路にて接続される。
【００１９】
なお、システム構成については、上記以外にも、様々な構成要素が存在するが、本発明の主眼ではないので、その説明は省略する。
【００２０】
図３は、仮想視点映像データの基となる、オブジェクト単位の要素で構成されたモデルデータ生成の処理過程を示したフローチャート図である。モデルデータの生成は、画像処理サーバ１００で行ってもよいし、他の装置で行ってもよい。
【００２１】
Ｓ３０１では、複数のカメラ１２０を用いて、オブジェクトを多視点撮像、すなわち複数の異なる視点から撮像して、複数の映像データを生成する。図２（ａ）に、撮像の概要を示す。サッカーやラグビーなどのフィールド１１上にオブジェクト１０が複数存在し、競技を行っている。それを取り囲むようにカメラ１２０を数十台規模で配置し、全方位からオブジェクト１０を撮像する（図２（ｂ））。
【００２２】
Ｓ３０２では、複数のカメラ１２０で撮像して得られた映像データをＬＡＮ経由で画像処理サーバ１００に送信する。
【００２３】
Ｓ３０３では、画像処理サーバ１００がモデルデータ生成処理の初期化を行う。具体的には、生成する仮想視点映像データのフレーム画像データのフレーム番号を表す変数Ｆを作成し、０に初期化する。
【００２４】
Ｓ３０４では、オブジェクト抽出と認識処理を行う（図２（ｃ））。オブジェクトのみを抽出した映像データは、オブジェクト１０の存在しないフィールド１１のみの映像データと、オブジェクト１０を含む映像データとの差分値を基に生成する。フィールド１１のみの映像データは、オブジェクト１０がフィールド１１上に存在しないときにフィールド１１のみを撮像した映像データを使用しても良い。または、ィールド１１のみの映像データは、オブジェクト１０を含む映像データから複数のフレームを抜き出し、それらに中間値フィルタをかけて生成しても良い。認識処理は、オブジェクト１０の種別を識別するもので、ここでは、ボールと人間を識別する。認識処理は、機械学習を用いても良いし、オブジェクト抽出結果から円形のものをボールと判断するような手法でも構わない。
【００２５】
Ｓ３０５では、オブジェクト１０の３次元形状を点群やボクセルとして算出する（図２（ｄ））。これは複数のオブジェクト抽出結果を基に、Ｓｈａｐｅ  Ｆｒｏｍ  Ｓｉｌｈｏｕｅｔｔｅ（ＳＦＳ）又はＶｉｓｕａｌ  Ｈｕｌｌ（ＶＨ）等の手法を用いて算出する。
【００２６】
Ｓ３０６では、点群やボクセルとして算出した３次元形状を三角形の面から構成するメッシュに変換する（図２（ｅ））。メッシュ変換はＢａｌｌ  ＰｉｖｏｔｉｎｇやＶＣＧ等を用いるが、各オブジェクトのデータ量が均等となるように、メッシュを構成する三角形の個数は一定となるようにメッシュ変換時のパラメータを調整しておく。
【００２７】
また、このとき、メッシュに張り付ける（マッピングする）テクスチャ生成も同時に行う。テクスチャは撮像した多視点映像データから切り出して生成する。その際、テクスチャの生成単位毎にメッシュの近似平面を算出し、その近似平面の法線方向に近いカメラの映像データを用いるのが一般的である。ここで、オブジェクト１０の位置を重心位置から算出しておく。このように、モデルデータは、３次元形状データとテクスチャデータとから構成されるオブジェクト単位の要素からなる。
【００２８】
Ｓ３０７では、処理を完了するか否か（試合が終了したか否か）をシステム管理者が判断する。
【００２９】
Ｓ３０７でＮｏの場合はＳ３０８に進み、次のフレームを処理対象として処理を続行する。
【００３０】
Ｓ３０７でＹｅｓの場合は、Ｓ３０９に進み、オブジェクト認識結果やオブジェクト位置をメタデータとして生成し、フレーム番号と関連付け、一連の処理を完了する。また、このとき、外部装置において手動・自動で生成されたメタデータ（プレー分析、時刻など）もＷＡＮ１０６経由で取り込んでおく。
【００３１】
図５（ａ）は、仮想視点映像データの生成に必要なモデルデータを表したものである。オブジェクトメッシュデータとオブジェクトテクスチャデータは、図３のフローチャートに沿って、実カメラ映像データの全フレームに対して生成する。ここで、オブジェクトメッシュデータとオブジェクトテクスチャデータを合わせてオブジェクトモデルデータと定義する。
【００３２】
背景メッシュデータは、背景領域である競技場（スタジアム）やフィールド、サッカーゴール、観客席等のメッシュデータである。これらは、形状が変化しないため、試合毎あるいは競技場毎に３Ｄレーザースキャナ等を用いて生成し、フレーム毎には生成しなくてもよい。ただし、定期的に背景メッシュデータが更新されてもよい。背景テクスチャは背景メッシュに張り付けるテクスチャデータで、実カメラ映像データから切り出してフレーム毎に生成する。これは、日照変動等による影などを再現するためである。ここで、背景メッシュデータと背景テクスチャデータを合わせて背景モデルデータと定義する。
【００３３】
図４は、モデルデータを用いて仮想視点映像データを生成（以降、レンダリング）する処理過程を示したフローチャートである。本処理は画像処理サーバ１００もしくはユーザ端末１１０にて実行される。
【００３４】
Ｓ４０１では、背景メッシュデータをメモリに読み込む。
【００３５】
Ｓ４０２では、生成する仮想視点映像データのフレーム番号を保持する変数Ｆを生成し、０に初期化しておく。
【００３６】
Ｓ４０３では、図３で生成したＦフレーム目のオブジェクトモデルデータ、および背景テクスチャデータをメモリに読み込む。
【００３７】
Ｓ４０４では、仮想カメラ（仮想視点）情報を読み込む。仮想カメラの位置情報は、仮想カメラの位置、方向、画角（焦点距離）を含む。これらはユーザの端末操作によって決定されるが、例えば画角など一部の情報には既定値が用いられてもよい。
【００３８】
Ｓ４０５では、仮想カメラからの映像データを、一般的なＣＧレンダリングの手法を用いてオブジェクトモデルデータ、および背景モデルデータから生成する。このとき、ＣＧレンダリング時の副産物として生成する、仮想カメラから各オブジェクト／背景までの距離に関する距離情報を距離マップとして出力しておく。なお、距離マップは、ＣＧレンダリングを行わなくても仮想カメラ情報、オブジェクトメッシュデータ、背景メッシュデータから生成することができる。
【００３９】
Ｓ４０６では、生成したレンダリング結果（仮想視点映像データ）および距離マップを対応付けて保存する。
【００４０】
Ｓ４０７では、仮想視点映像データの生成処理を終了するか否かを判断する。
【００４１】
Ｓ４０７でＮｏの場合は、Ｓ４０８に進み、次のフレームのレンダリング処理を続行する。
【００４２】
Ｓ４０７でＹｅｓの場合は、レンダリング処理を終了する。
【００４３】
図５（ｂ）、図５（ｃ）は、仮想視点映像データのストリーミングの概要を表した図である。なお、ストリーミングとは、データを細分化し、細分化した少量のデータを順次配信することである。モデルデータをストリーミングする手法を、以降モデルストリーミングと呼び、映像データをストリーミングする手法を、以降映像ストリーミングと呼ぶ。
【００４４】
図５（ｂ）はモデルストリーミングを説明した図で、画像処理サーバ１００に蓄積されたモデルデータ５０２を通信回線経由で、随時ユーザ端末１１０に送信し、ユーザ端末１１０においてレンダリング処理を実行する。モデルストリーミングの利点は画質劣化が発生しない点、ユーザ操作に対するレイテンシが少ない点が挙げられる。一方、課題としてはデータ量が１００Ｍｂｐｓ〜５００Ｍｂｐｓと大きく、通信回線であるＷＡＮ１０６の帯域を圧迫するため、同時に配信可能なユーザ数に制約がある点となる。
【００４５】
図５（ｃ）は映像ストリーミングを説明した図で、画像処理サーバ１００内で、モデルデータ５０２を基にレンダリングを行い、映像データ５０４を生成する。生成した映像データ５０４を通信回線経由で、随時ユーザ端末１１０に送信し、ユーザ端末１１０において再生を行う。映像ストリーミングの利点は、データ量が５Ｍｂｐｓ程度と少なく、モデルストリーミングに比べ通信回線を圧迫し難いため、より多数のユーザに配信可能な点である。一方、課題としては、映像データをエンコード（圧縮）して送信するため、画質劣化が発生する点と、ユーザ操作に対するレイテンシが発生する点である。
【００４６】
図８は、モデルストリーミングと映像ストリーミングとを使用することで、画質劣化を抑えつつ、多数のユーザに仮想視点映像データを配信する画像処理システムの処理過程を説明したフローチャートである。図８の左側のＳ８０１〜Ｓ８１４が画像処理サーバ１００の処理、右側のＳ８２１〜Ｓ８３３がユーザ端末１１０の処理である。前提として、画像処理サーバ１００にてモデルデータは生成済であり、画像処理サーバ１００とユーザ端末１１０間の通信はＷＡＮ１０６経由で行われる。また、既に画像処理サーバ１００と接続済で、コンテンツを選択済のユーザ端末１１０がＴｎ個存在するものとする。
【００４７】
Ｓ８０１では、画像処理サーバ１００が、ユーザ端末１１０からのリクエスト待機状態に移行する。
【００４８】
Ｓ８２１では、ユーザ端末１１０がユーザ操作に基づき仮想視点映像視聴用アプリケーションを起動する。
【００４９】
Ｓ８２２では、ユーザ端末１１０が、画像処理サーバ１００にコンテンツリストをリクエストする。
【００５０】
Ｓ８０２では、画像処理サーバが、コンテンツリストのリクエストを受信する。
【００５１】
Ｓ８０３では、画像処理サーバが、コンテンツリストをユーザ端末１１０に送信する。
【００５２】
Ｓ８２３では、ユーザ端末１１０が、リクエストしたコンテンツリストを画像処理サーバ１００から受信する。
【００５３】
Ｓ８２４では、コンテンツリストを受信後、ユーザ端末１１０が、図６（ａ）のシーン選択６０１画面を表示／操作部１１５に表示し、ユーザが選択するまで待機する。ここでは、ユーザ端末１１０の表示／操作部１１５に試合の映像データのサムネイル画像およびメタデータが表示される。ユーザは、表示／操作部１１５に表示されたサムネイル画像およびメタデータの中から所望のコンテンツを選択する。例えばユーザは、サムネイル画像を指６１０でタッチするなどによりコンテンツを選択することができる。なお、表示しているメタデータは、Ｓ３０９で生成されたオブジェクト認識結果やオブジェクト位置に関するデータである。
【００５４】
Ｓ８２５では、ユーザによりコンテンツが選択されると、ユーザ端末１１０が画像処理サーバ１００にコンテンツの選択情報を送信する。
【００５５】
Ｓ８０４では、画像処理サーバ１００が、コンテンツの選択情報を受信する。
【００５６】
Ｓ８０５では、画像処理サーバ１００が、コンテンツの選択情報を受信し、配信が確定したユーザ端末数をＴｎ＝Ｔｎ＋１として１増やし、現状のＷＡＮ１０６の利用可能な帯域幅Ｂｗと配信確定端末数Ｔｎを更新する。
【００５７】
Ｓ８０６では、画像処理サーバ１００が、ＷＡＮ１０６の帯域幅Ｂｗとユーザ端末数Ｔｎとに基づき、モデルストリーミングと映像ストリーミングの使用比率（配分）を決定する。具体的には、ユーザ端末１台ごとの、単位時間あたりに送信可能な最大オブジェクトモデルデータ数Ｍｎを算出する。式（１）に、最大オブジェクトモデルデータ数Ｍｎの算出式を示す。
Ｍｎ＝（Ｂｗ／Ｔｎ−Ｓｖ−Ｓｂ）／Ｓｍ      （１）
【００５８】
ここで、Ｓｖは映像ストリーミングに必要な帯域幅、Ｓｂは後述する背景テクスチャの単位時間あたりのデータ量、Ｓｍはオブジェクト１体分のモデルデータの単位時間あたりのデータ量である。最大オブジェクトモデルデータ数Ｍｎが１未満の場合は、モデルストリーミングは実施せず、全て映像ストリーミングで配信を行う。逆に最大オブジェクトモデルデータ数Ｍｎが全オブジェクト数よりも大きい場合、全てモデルストリーミングで配信を行う。
【００５９】
Ｓ８２５では、ユーザ端末１１０が、画像処理サーバ１００に仮想カメラ情報を送信する。仮想カメラ情報は、Ｓ４０４と同等であるが、ユーザ端末１１０におけるユーザ操作によってその値を変更することが可能である。例えば、仮想カメラ情報は、初期設定とし、図６（ｂ）のようにフィールドを俯瞰するような仮想カメラ位置・方向が設定されているが、ユーザが表示／操作部１１５に対して操作を行うことで、図６（ｃ）のような仮想カメラ位置・方向に再設定される。そのため、ユーザ端末１１０において仮想カメラ情報が再設定されるごとに、ユーザ端末１１０は画像処理サーバ１００に仮想カメラ情報を送信する。
【００６０】
Ｓ８０７では画像処理サーバ１００が仮想カメラ情報を受信する。
【００６１】
Ｓ８０８では、仮想カメラ情報と最大オブジェクトモデルデータ数Ｍｎとに基づき、オブジェクトごとにモデルデータを、モデルストリーミングでの配信対象のモデルデータと、映像ストリーミングでの配信対象のモデルデータとに分類する。オブジェクトには選手とボールの種別が存在し、種別を用いて分類する手法の一例を図７（ａ）、図７（ｂ）を用いて説明する。
【００６２】
図７（ａ）は、あるフレームにおける選手やボール、仮想カメラ７０１の位置を示したものである。選手やボールのオブジェクト位置は予めＳ３０９で生成したメタデータに保持されているため、各オブジェクトと仮想カメラ７０１との距離Ｌｃ、各オブジェクトとボールとの距離Ｌｂを算出可能である。
【００６３】
図７（ｂ）に、算出されたオブジェクトと、仮想カメラ又はボールとの距離とが格納されたモデル選択テーブルを示す。左列のオブジェクトＩＤは各オブジェクトを識別するためのＩＤであり、「選手Ｎ」、「ボール」等のコードを割り当てる。中央列は仮想カメラ７０１とオブジェクトとの距離Ｌｃであり、右列はボールとオブジェクトとの距離Ｌｂである。
【００６４】
ここで、オブジェクトの特性に基づく分類手法として、「仮想カメラ７０１に近いオブジェクトが仮想カメラに大きく写る」という前提から、仮想カメラ７０１に近い一部のオブジェクトのみをモデルストリーミング対象とするケースを考える。この場合、仮想カメラ７０１に近い、すなわちより大きく表示されるオブジェクトの画質劣化が抑制される。ユーザ端末１台あたりに送信可能な最大オブジェクトモデルデータ数Ｍｎは算出済であるので、オブジェクトのうち、仮想カメラ７０１との距離Ｌｃの値が小さい順にＭｎ個までをモデルストリーミング対象とする。
【００６５】
その他の分類手法としては、「主要オブジェクトであるボールに近いオブジェクトがユーザの注目点になりやすい」という前提から、ボールに近いオブジェクトのみをモデルストリーミング対象とするケースもある。この場合、ボールに近いオブジェクトの画質劣化が抑制される。ここでも、最大オブジェクトモデルデータ数Ｍｎは算出済であるので、ボールを除くオブジェクトのうち、ボールとの距離Ｌｂの値が小さい順にＭｎ個までをモデルストリーミング対象とすれば良い。
【００６６】
一方で背景テクスチャの一部もモデルストリーミング対象とする必要がある。これは芝生模様の画質劣化による損失を防止するためである。対象領域は、図７（ａ）のテクスチャ送信エリア７０２に示すように、仮想カメラ７０１の画角内かつ所定の距離内となる扇形を対象とする。
【００６７】
分類手法としては上記手法に限定されない。例えば、ユーザの視線をユーザ端末１１０の前面に搭載されたカメラでキャプチャし、ユーザの注目領域（注視点）近辺をモデルストリーミング対象とする手法などを用いても良い。
【００６８】
Ｓ８０９では、画像処理サーバ１００が、ユーザ端末１１０に向けて、モデルストリーミング対象となったモデルデータのストリーミング配信を開始する。
【００６９】
Ｓ８１０では、映像ストリーミングが必要な場合、Ｓ８０９のモデルストリーミングと並行して、画像処理サーバ１００が、別スレッドを用いて映像ストリーミング対象のオブジェクトおよび背景のモデルデータに基づきＣＧレンダリングを実行する。画像処理サーバ１００でレンダリングした映像データをＣＧレンダリング映像データＢｖとし、非可逆エンコードを実施後、映像ストリーミングデータを生成する。なお、後述するオクルージョンの設定を行う場合、映像ストリーミングデータには、画像処理サーバ１００がＳ４０５で生成した距離マップＢｄも含める。
【００７０】
Ｓ８１１では、画像処理サーバ１００が、ユーザ端末１１０に向けて、生成した映像ストリーミングデータのストリーミング配信を開始する。
【００７１】
一方、Ｓ８２６では、ユーザ端末１１０が、モデルストリーミングを受信し、モデルデータを取得する。
【００７２】
Ｓ８２７では、ユーザ端末１１０が、取得したモデルデータに基づきＣＧレンダリングを実行する。ユーザ端末１１０がレンダリングした映像データをＣＧレンダリング映像データＡｖ、距離マップＡｄとする。
【００７３】
Ｓ８２８では、映像ストリーミングが行われる場合、Ｓ８２６、８２７と並行して、ユーザ端末１１０が、別スレッドを用いて映像ストリーミングを受信して映像ストリーミングデータを取得し、取得した映像ストリーミングデータのデコード処理を行う。
【００７４】
Ｓ８２９では、ユーザ端末１１０が、デコードされた映像ストリーミングデータから映像データＢｖ、距離マップＢｄを取得する。
【００７５】
ここで、映像ストリーミングの開始は、モデルデータに基づく映像データのレンダリング処理と映像データのエンコード処理とにかかる時間だけ、モデルストリーミングの開始に対して遅延が発生する。そのため、Ｓ８２７のレンダリング処理は、Ｓ８２８のデコード処理が完了し、Ｓ８２９で映像データＢｖ、距離マップＢｄを取得するまで待機する。
【００７６】
Ｓ８３０では、ユーザ端末１１０が、データストリーミングと映像ストリーミングとの両方を受信した場合、ＣＧレンダリング映像データＡｖ、Ｂｖを合成し、合成映像データを表示／操作部１１１に表示する。図７（ｃ）に、この合成処理の概要を説明する模式図を示す。ユーザ端末１１０は、ＣＧレンダリング映像データＡｖとＣＧレンダリング映像データＢｖを重ね合わせることで合成映像データを生成する。その際、仮想カメラからみて同一方向に並んだ複数のオブジェクトに対し、手前のオブジェクトによってその背後のオブジェクトを遮って見えなくするオクルージョンを設定するが、そのためにはオブジェクト間の前後関係を示す情報が必要となる。そこで、ユーザ端末１１０は、ＣＧレンダリング映像データＡｖのオブジェクトとＣＧレンダリング映像データＢｖのオブジェクトとが重なる場合、距離マップＡｄ、距離マップＢｄの距離の小さいオブジェクトを前面に配置してオクルージョンを設定する。なお、データストリーミングと映像ストリーミングとのどちらか一方のみを受信した場合は、合成処理は行わず、映像データをそのまま表示／操作部１１１に表示する。
【００７７】
なお、Ｓ８３０の合成処理は、モデルストリーミングのみを行って、映像ストリーミングが行われない場合には実施されない。
【００７８】
Ｓ８３１では、ユーザ端末１１０が、仮想カメラ位置・方向に関するユーザ操作を受け付けた場合、仮想カメラ情報を更新してＳ８２５に戻る。仮想カメラ位置・方向に関するユーザ操作がない場合は、コンテンツの配信終了後、Ｓ８３２に移行する。
【００７９】
Ｓ８３２では、コンテンツの終了後、ユーザがアプリを終了する操作を行ったか判定する。ユーザがアプリの終了する操作を行わない場合、Ｓ８２４に戻ってシーン選択６０１画面を表示／操作部１１５に表示し、ユーザが選択するまで待機する。ユーザがアプリの終了する操作を行った場合は、ユーザ端末１１０はアプリを終了する。
【００８０】
Ｓ８１２では、画像処理サーバ１００が、コンテンツの配信を終了すると、配信確定端末数ＴｎをＴｎ＝Ｔｎ−１として１減らして現状の配信確定端末数Ｔｎを更新する。
【００８１】
Ｓ８１３では、画像処理サーバ１００が、ストリーミング配信を終了する操作を受け付けない場合はＳ８０４に戻り、ストリーミング配信を終了する操作を受け付けた場合は画像処理サーバの処理を終了する。
【００８２】
以上説明したように、モデルストリーミングと映像ストリーミングを回線の帯域等の状況に応じた比率で併用することで、画質劣化が少ない仮想視点映像データのストリーミングが可能となる。なお、モデルストリーミングと映像ストリーミングの比率の決め方は上記の例に限定されない。例えば回線の種類（Ｗｉ−ｆｉか４Ｇか、もしくは無線か有線かなど）に基づいて比率が決定されてもよいし、ユーザ操作による入力に基づいて比率が決定されてもよいし、予め定められた比率が用いられてもよい。
【実施形態２】
【００８３】
本実施形態では、モデルストリーミングと映像ストリーミング併用時に発生する映像ストリーミング側のレイテンシを抑制する手法に関して説明する。なお、実施形態１と重複するシステム（画像処理サーバ）、一部処理の説明は省略する。
【００８４】
図９は、映像ストリーミング側のレイテンシを抑制するための、仮想視点映像ストリーミング手法の処理過程を説明したフローチャートである。なお、画像処理サーバ１００の処理（Ｓ８０１〜Ｓ８１３）、ユーザ端末１１０の処理（Ｓ８２１〜Ｓ８２４）は図８と同等であるため、説明を省略する。なお、ここではｎフレーム目のフレームを処理対象としている。
【００８５】
Ｓ８２５では、ユーザ端末１１０が、仮想カメラ情報を画像処理サーバ１００に送信する。
【００８６】
Ｓ８２６では、ユーザ端末１１０が、モデルストリーミングにより配信されたモデルデータを受信する。
【００８７】
Ｓ８２７では、ユーザ端末１１０が、受信したモデルデータに基づきＣＧレンダリングを実行する。ユーザ端末１１０でレンダリングされた映像データのｎ番目のフレームをＣＧレンダリング映像データＡｖ（ｎ）、その距離マップを距離マップＡｄ（ｎ）とする。
【００８８】
この後、処理を分岐させ、Ｓ９０４とＳ９０８を別スレッドにて並列して実行する。
【００８９】
Ｓ９２１では、ユーザ端末１１０が、現在ユーザ端末１１０においてキャッシュ（保持）している映像データＢｖの中で最もｎフレームに近い、ｌフレーム前のＣＧレンダリング映像データＢｖ（ｎ−ｌ）、距離マップＢｄ（ｎ−ｌ）をメモリに読み込む。ＣＧレンダリング映像データＢｖ（ｎ−ｌ）に対してぼかし処理を実行し、ぼかし映像データＢｖ’（ｎ−ｌ）を生成する。ぼかし処理はガウシアンフィルタ等を用いる。図１０に、この結果の一例であるレンダリングされたぼかし映像データＢｖ’（ｎ−ｌ）および距離マップＢｄ（ｎ−ｌ）の模式図を示す。なお、通常、ｌは０＜ｌ＜５程度である。
【００９０】
Ｓ９２２では、ユーザ端末１１０が、ＣＧレンダリング映像データＡｖ（ｎ）とレンダリングぼかし映像データを合成し、表示／操作部に表示する。この合成結果の一例の模式図を、図１０の合成映像（１）に示す。このように、レイテンシの発生するＣＧレンダリング映像データＢｖについては数フレーム前のデータを使用することで、レイテンシの抑制が可能となる。さらに、ユーザが操作中であれば、ユーザはＣＧレンダリング映像データＢｖ（ｎ−ｌ）のぼかし処理による画質の劣化には気づきにくい。
【００９１】
Ｓ９２３では、ユーザ端末１１０が、仮想カメラ位置・方向に関するユーザ操作を受け付けた場合はＳ９２５に戻り処理を続行し、ユーザ操作がなかった場合はＳ８３０に進む。
【００９２】
Ｓ８２６〜Ｓ９２３と並行して実行されるＳ８２８では、ユーザ端末１１０が、ｎフレーム目の映像ストリーミングを受信する。
【００９３】
Ｓ８２９では、受信した映像ストリーミングデータをデコードしてＣＧレンダリング映像データＢｖ（ｎ）を取得する。
【００９４】
Ｓ８３０では、ＣＧレンダリング映像データＡｖ（ｎ）とＳ９２９で取得したＣＧレンダリング映像データＢｖ（ｎ）を合成し、表示／操作部に表示する。この合成結果の一例を、図１０の合成映像（２）に示す。これにより、ユーザ操作がなされてから一定の期間経って落ち着いたタイミングでＣＧレンダリング映像データＢｖのぼかし処理された画質劣化領域の補正を実施する。
【００９５】
Ｓ８３２では、コンテンツの終了後、ユーザがアプリを終了する操作を行ったか判定する。ユーザがアプリの終了する操作を行わない場合、Ｓ８２４に戻ってシーン選択６０１画面を表示／操作部１１５に表示し、ユーザが選択するまで待機する。ユーザがアプリの終了する操作を行った場合は、ユーザ端末１１０はアプリを終了する。
【００９６】
以上説明したように、既に保持している映像ストリーミングで配信された映像データＢｖをぼかして仮の合成映像を表示することによりレイテンシを抑制し、かつ画質劣化の目立ち難い仮想視点映像データのストリーミングが可能となる。
【実施形態３】
【００９７】
本実施形態では、可逆エンコードを選択的に用いることによって、伝送効率を高める手法に関して説明する。なお、実施形態１、２と重複するシステム、処理の説明は省略する。
【００９８】
図１１は、図８のＳ８０６、Ｓ８１０の別手法を説明したフローチャート図である。Ｓ１１０１〜Ｓ１１０６がＳ８０６の処理を代替するものであり、Ｓ１１０７〜Ｓ１１１０がＳ８１０の処理を代替するものである。
【００９９】
Ｓ１１０１では、画像処理サーバ１００が、ユーザ端末１台ごとの、単位時間あたりに送信可能な最大オブジェクトモデルデータ数Ｍｎを算出する。
【０１００】
Ｓ１１０２では、画像処理サーバ１００が、モデルストリーミングの配信対象となるオブジェクトを選出する。
【０１０１】
Ｓ１１０３では、画像処理サーバ１００が、最大オブジェクトモデルデータ数Ｍｎからモデルストリーミングを実施した際のデータ量Ｄａを算出する。
【０１０２】
Ｓ１１０４では、画像処理サーバ１００が、モデルストリーミングの配信対象となったオブジェクトをＣＧレンダリングして映像ストリーミングを実施した際のデータ量Ｄｂを算出する。データ量Ｄｂの算出は、仮想カメラ情報が大きく変化しないため、直前に処理を行ったフレーム情報を流用する。またここで算出するデータ量Ｄｂは、ＣＧレンダリングした映像データに可逆エンコードを行った後のデータ量とする。
【０１０３】
Ｓ１１０５では、画像処理サーバ１００が、データ量ＤａとＤｂのサイズを比較する。データ量Ｄｂがデータ量Ｄａより小さい場合、Ｓ１１０６に進み、データ量Ｄｂがデータ量Ｄａより大きい場合、処理を終了する。データ量Ｄｂは、ユーザ端末１１０に表示させる画像の解像度に比例するため、高解像度の場合はデータ量Ｄｂが大きくなる可能性が高いが、低解像度の場合はデータ量Ｄｂが小さくなる可能性が高い。
【０１０４】
Ｓ１１０６では、画像処理サーバ１００が、モデルストリーミングの配信対象となるオブジェクトを画像処理サーバ１００でＣＧレンダリングするためのフラグを立てておく。
【０１０５】
Ｓ１１０７では、画像処理サーバ１００が、映像ストリーミングの配信対象となるオブジェクトをＣＧレンダリングし、ＣＧレンダリング映像データＢｖ０を得る。
【０１０６】
Ｓ１１０８では、画像処理サーバ１００が、ＣＧレンダリング映像データＢｖ０に対して圧縮効率は高いが画質劣化の伴う不可逆エンコードを実施する。
【０１０７】
Ｓ１１０９では、画像処理サーバ１００が、Ｓ１１０６でフラグを立てられたオブジェクトをレンダリングし、ＣＧレンダリング映像データＢｖ１を得る。
【０１０８】
Ｓ１１１０では、画像処理サーバ１００が、ＣＧレンダリング映像データＢｖ１に対して、圧縮効率は低いが画質劣化の発生しない可逆エンコードを実施する。ユーザ端末１１０に配信する際は、このＣＧレンダリング映像データＢｖ０、Ｂｖ１を配信することで、モデルストリーミングで配信するよりも配信するデータ量を減少させることができる。
【０１０９】
以上説明したように、本実施形態における画像処理サーバ１００は、モデルストリーミングおよび不可逆エンコードした映像データの映像ストリーミングに加え、可逆エンコードした映像データの映像ストリーミングを併用する。具体的には、画像処理装置１００は、画質の高さが重要でないオブジェクトについては、不可逆エンコードした映像データＢｖ０を配信する。そして、画質の高さが重要なオブジェクトについては、モデルストリーミングよりも可逆エンコードによる映像ストリーミングの方がデータ量を小さくできる場合には、可逆エンコードした映像データＢｖ１を配信する。一方、画質の高さが重要なオブジェクトについて、モデルストリーミングの方が可逆エンコードによる映像ストリーミングよりもデータ量を小さくできる場合には、モデルストリーミングを行う。これにより、伝送効率の良い仮想視点映像データのストリーミング配信が可能となる。
【その他の実施形態】
【０１１０】
実施形態１〜３では、全てのユーザ端末１１０を同等に処理したが、端末毎に優先順位をつける方法もある。ユーザ端末１１０のアプリケーションで課金を行っているユーザに対しては、モデルデータストリーミングを優先的に割り当て、余った通信回線の帯域を他のユーザに分配しても良い。また、ユーザ端末１１０によっては、処理性能が低く、レンダリングを実行できないユーザ端末１１０も存在する。そのようなユーザ端末１１０には映像ストリーミングのみで配信しても良い。
【０１１１】
このような構成は、ユーザ端末１１０の各々が有する条件に応じて、最大オブジェクトモデルデータ数Ｍｎを個別に設定することで実現可能である。
【０１１２】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１１３】
１００  画像処理サーバ
１１０  ユーザ端末
【図１】
2020187706.tif 000003
【図２】
2020187706.tif 000004
【図３】
2020187706.tif 000005
【図４】
2020187706.tif 000006
【図５】
2020187706.tif 000007
【図６】
2020187706.tif 000008
【図７】
2020187706.tif 000009
【図８】
2020187706.tif 000010
【図９】
2020187706.tif 000011
【図１０】
2020187706.tif 000012
【図１１】
2020187706.tif 000013