(57)【要約】【課題】精度の高い形状フィッティング処理を行う。【解決手段】画像処理装置において、１フレームあたり複数の３次元形状データを含むフレーム単位のデータを、Ｎフレーム（Ｎは２以上の整数）分取得する。そして、該取得したＮフレーム分の３次元形状データについての、フレーム間での３次元形状データ同士の対応関係を示す情報を用いて、形状フィッティング処理を行う。【選択図】  図２
2020136943.tif 000002
【特許請求の範囲】
【請求項１】
複数の３次元形状データを含むフレーム単位のデータを、Ｎフレーム（Ｎは２以上の整数）分取得する取得手段と、
前記取得手段で取得した前記Ｎフレーム分の３次元形状データについて、フレーム間での３次元形状データ同士の対応関係を示す情報に基づいて、前記フレーム間で対応付けされている３次元形状データ同士に対して形状フィッティング処理を行う処理手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記対応関係を示す情報は、前記Ｎフレームのうちの第１フレームにおいて２つ以上のオブジェクトがそれぞれ独立した３次元モデルで表現されており、前記第１フレームよりも時間的に進んだ第２フレームでは前記２つ以上のオブジェクトが１つの３次元モデルで表現されている場合において、前記第１フレームにおける独立した２つ以上の３次元モデルと、前記第２フレームにおける１つの３次元モデルとが対応付けられていることを示す情報である、ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記対応関係を示す情報は、前記Ｎフレームのうちの第１フレームにおいて２つ以上のオブジェクトが１つの３次元モデルで表現されており、前記第１フレームよりも時間的に進んだ第２フレームでは前記２つ以上のオブジェクトがそれぞれ独立した３次元モデルで表現されている場合において、前記第１フレームにおける１つの３次元モデルと、前記第２フレームにおける独立した２つ以上の３次元モデルとが対応付けられていることを示す情報である、ことを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記対応関係を示す情報を、前記取得手段で取得した前記Ｎフレーム分の３次元モデルに基づき導出する導出手段をさらに備え、
前記処理手段は、前記導出手段で導出した前記対応関係を示す情報に基づき前記形状フィッティング処理を行う、
ことを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記導出手段は、前記Ｎフレーム分の３次元モデルに対し、３次元空間における距離、３次元モデルの形状又は大きさ、テクスチャデータ、オブジェクトの進行方向のうち少なくとも１つに基づいて前記対応関係を示す情報を導出する、ことを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記取得手段は、さらに前記対応関係を示す情報を取得する、ことを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項７】
前記処理手段における前記形状フィッティング処理の結果に基づいて、前記取得手段で取得した前記Ｎフレーム分の３次元モデルのうち着目する３次元モデルに対して形状フィッティング処理を行なう処理手段をさらに備えることを特徴とする請求項１に記載の画像処理装置。
【請求項８】
前記処理手段における前記形状フィッティング処理の結果に基づいて、前記取得手段で取得した前記Ｎフレーム分の３次元モデルのうち着目する３次元モデルに対して運動解析処理を行う処理手段をさらに備えることを特徴とする請求項１に記載の画像処理装置。
【請求項９】
前記処理手段における前記形状フィッティング処理の結果に基づいて、前記取得手段で取得した前記Ｎフレーム分の３次元モデルに対して時間差分符号化を行う符号化手段をさらに備えることを特徴とする請求項１乃至６のいずれか１項に記載の画像処理装置。
【請求項１０】
前記符号化手段は、対応付いている３次元モデル間の頂点座標の差分値を、前記Ｎフレームの先頭フレームから順に算出し、得られた差分値を符号化することを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
前記Ｎフレームにおいて、２つ以上のオブジェクトを表現した１つの３次元モデルを含むフレームと、当該１つの３次元モデルから分離した２つ以上の３次元モデルを含むフレームとがある場合、フレーム間で対応付いている３次元モデル同士を１つのグループにまとめるグループ化手段をさらに備え、
前記処理手段は、前記１つのグループにまとめられた３次元モデルの集合の単位で形状フィッティング処理を行う
ことを特徴とする請求項１に記載の画像処理装置。
【請求項１２】
前記処理手段は、前記グループごとに基準フレームを選定し、当該基準フレームに存在する３次元モデルを基準として形状フィッティング処理を行うことを特徴とする請求項１１に記載の画像処理装置。
【請求項１３】
前記処理手段は、フレーム内に存在する３次元モデルの表面積、フレーム内に存在する３次元モデルの形状、フレーム内に存在する３次元モデルの数、のうち少なくとも１つの条件に従って、前記基準フレームを選定することを特徴とする請求項１２に記載の画像処理装置。
【請求項１４】
複数の３次元形状データを含むフレーム単位のデータを、Ｎフレーム（Ｎは２以上の整数）分取得する取得ステップと、
前記取得ステップにて取得した前記Ｎフレーム分の３次元形状データについて、フレーム間での３次元形状データ同士の対応関係を示す情報に基づいて、前記フレーム間で対応付けされている３次元モデル同士に対して形状フィッティング処理を行う処理ステップと、
を含むことを特徴とする画像処理方法。
【請求項１５】
コンピュータが読み込み実行することで、前記コンピュータに、請求項１４に記載の方法が有する各ステップを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元形状データの形状フィッティング技術に関する。
【背景技術】
【０００２】
従来、複数カメラで撮影した映像から仮想視点映像を生成する技術に関し、撮影シーンにおける人や物（オブジェクト）の３次元形状データの送信時に時間差分符号化を行うことでコンパクトなデータストリームを実現する技術が提案されている（非特許文献１）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Alvaro Collet、他８名、「High-Quality Streamable Free-Viewpoint Video」、［online］、［平成３０年５月３０日検索］、インターネット＜URL：http://hhoppe.com/fvv.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【０００４】
サッカーやバスケットボールといったスポーツの試合を撮影シーンとする場合には、複数の選手やボールが撮影対象空間内を自由に移動するような状況が発生する。このようなスポーツシーンの撮影画像（動画像）から生成された複数フレームに亘る３次元形状データのデータにおいては、各フレームに含まれる個々の３次元形状データのフレーム間の対応関係が未定である。このようにフレーム間の対応関係が未定の３次元形状データの形状フィッティング処理を行う場合、精度の高い形状フィッティングができなくなる可能性がある。
【０００５】
そこで本発明では、精度の高い形状フィッティング処理を行うことを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る画像処理装置は、複数の３次元形状データを含むフレーム単位のデータを、Ｎフレーム（Ｎは２以上の整数）分取得する取得手段と、前記取得手段で取得した前記Ｎフレーム分の３次元形状データについて、フレーム間での３次元形状データ同士の対応関係を示す情報に基づいて、前記フレーム間で対応付けされている３次元形状データ同士に対して形状フィッティング処理を行う処理手段と、を備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、精度の高い形状フィッティング処理を行うことが可能となる。
【図面の簡単な説明】
【０００８】
【図１】３次元形状データの形状フィッティングを行う画像処理装置のハードウェア構成の一例を示す図
【図２】実施形態１に係る、画像処理装置の形状フィッティング処理に関わるソフトウェア構成を示す機能ブロック図
【図３】頂点座標情報とメッシュ接続情報の一例を示す図
【図４】実施形態１に係る、画像処理装置における処理の流れを示すフローチャート
【図５】（ａ）〜（ｃ）はフレーム間の対応関係の導出を説明する図
【図６】形状フィッティング処理を行った結果の一例
【図７】実施形態２に係る、画像処理装置の形状フィッティング処理に関わるソフトウェア構成を示す機能ブロック図
【図８】オブジェクト追跡処理の詳細を示すフローチャート
【図９】実施形態２の効果を説明する図
【図１０】グルーピング処理を説明する図
【図１１】グルーピング処理の結果の一例を示す図
【図１２】実施形態３に係る、画像処理装置の形状フィッティング処理に関わるソフトウェア構成を示す機能ブロック図
【図１３】形状フィッティングの結果の一例を模式的に示した図
【図１４】（ａ）及び（ｂ）は頂点座標の差分値を説明する概念図
【図１５】符号列のデータ構造を説明する図
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について、図面を参照して説明する。なお、以下の実施形態は本発明を限定するものではなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成については、同じ符号を付して説明する。
【００１０】
［実施形態１］
本実施形態では、入力される複数フレーム分の３次元モデルについてフレーム間の対応関係を求め、得られた対応関係に基づいて３次元モデル同士の形状フィッティングを行う態様を説明する。また、本明細書において「オブジェクト」とは、撮影シーンに存在する様々なオブジェクトのうち、人物やボールなど対象３次元空間内を移動する動的オブジェクト（前景オブジェクト）を指すものとする。そして、本明細書において「３次元モデル」とは、そのような動的オブジェクトの３次元形状を表すデータ（３次元形状データ）を意味するものとし、以下では３Ｄモデルと表現する場合がある。
【００１１】
（画像処理装置のハードウェア構成）
図１は、本実施形態に係る、３次元モデルの形状フィッティングを行う画像処理装置のハードウェア構成の一例を示す図である。画像処理装置１００は、ＣＰＵ１０１、ＲＡＭ１０２、ＲＯＭ１０３、ＨＤＤ１０４、通信Ｉ／Ｆ１０５、入力デバイスＩ／Ｆ１０６、出力デバイスＩ／Ｆ１０７を有する。ＣＰＵ１０１は、ＲＡＭ１０２をワークメモリとして、ＲＯＭ１０３に格納された各種プログラムを実行し、画像処理装置１００の各部を統括的に制御するプロセッサである。ＣＰＵ１０１が、各種プログラムを実行することによって、後述の図２に示す各部の機能が実現される。なお、画像処理装置１００がＣＰＵ１０１とは異なる専用の１又は複数のハードウェアあるいはＧＰＵを有し、ＣＰＵ１０１による処理の少なくとも一部をＧＰＵあるいは専用のハードウェアが行うようにしても良い。専用のハードウェアの例としては、ＡＳＩＣ（特定用途向け集積回路）、及びＤＳＰ（デジタルシグナルプロセッサ）等がある。ＲＡＭ１０２は、ＲＯＭ１０３から読み出されたプログラムや演算結果など、通信Ｉ／Ｆ１０５を介して外部から供給されるデータなどを一時的に記憶する。ＲＯＭ１０３は、変更を必要としないＯＳなどのプログラムやデータを保持する。ＨＤＤ１０４は、外部の情報処理装置から入力される３次元モデルなどの各種データを格納する大容量記憶装置であり、例えばＳＳＤなどでもよい。通信Ｉ／Ｆ１０５は、３次元モデルなどの各種データを受信するためのインタフェースである。入力デバイスＩ／Ｆ１０６は、ユーザが入力操作を行うためのキーボード１０４やマウス１０５を接続するインタフェースである。出力デバイスＩ／Ｆ１０７は、ユーザに必要な情報を表示する液晶ディスプレイ等の表示デバイスと接続するインタフェースである。
【００１２】
（画像処理装置のソフトウェア構成）
図２は、本実施形態に係る、画像処理装置１００の形状フィッティング処理に関わるソフトウェア構成を示す機能ブロック図である。本実施形態の画像処理装置１００は、３Ｄモデル取得部２０１、対応関係導出部２０２、位置合わせ部２０３を有する。以下、各部の概要を説明する。
【００１３】
３Ｄモデル取得部２０１は、外部の情報処理装置（不図示）で生成された３次元モデルのデータをフレーム単位で複数フレーム分取得する。例えば、競技場（スタジアム）でサッカーなどの試合を行っている場面を複数のカメラを用いて動画モードで同期撮影し、外部の情報処理装置にて、各フレームについて、選手やボールなどの複数のオブジェクトの形状を推定する。そうして得られた複数フレーム分の３次元モデルのデータが入力されるものとする。なお、３Ｄモデル取得部２０１は、複数のカメラの撮影に基づき取得された画像データを取得し、その画像データに基づいて３次元モデルを生成してもよい。また、本実施形態は、スポーツシーン以外、例えばコンサートや演劇などにも適用することができる。
【００１４】
複数カメラによる同期撮影で得られた複数枚の画像（同フレームの画像群）に含まれるオブジェクトについて、その輪郭から該オブジェクトの３次元形状を推定する技術については視体積交差法など公知の技術を適用すればよい。また、３次元モデルの表現形式としては、点群形式、ボクセル形式、メッシュ形式などが存在する。本実施形態で扱う３次元モデルはどの表現形式でも構わないが、以下ではメッシュ形式の場合を例に説明を行うものとする。また、各フレームには複数のオブジェクトが写っており、かつ、フレーム間でその数は変化せずに一定であることを前提とする。ただし、必ずしも１つのオブジェクトに対して１つの３次元モデルが生成されるとは限らない。近接した位置に存在する複数のオブジェクトについて、１つの３次元モデルが生成される場合もある。その例として、選手同士が接触する場合が挙げられる。
【００１５】
オブジェクトの３次元形状をメッシュ形式で表現する場合、各頂点の３次元座標（ｘ，ｙ，ｚ）と頂点同士を結ぶ接続情報によってオブジェクト形状を定義するため、対象３次元空間上の基準となる点（原点）を決定する必要がある。本実施形態においては、競技場のフィールドの中心位置を原点（０，０，０）と定義する。そして、各オブジェクトの３次元形状を表現する各メッシュの頂点座標（ｘ、ｙ、ｚ）と頂点同士の接続情報が、３次元モデルとして入力されるものとする。図３に、オブジェクトの表面形状を三角形メッシュで表現した場合の、頂点座標情報とメッシュ接続情報の一例を示す。図３（ａ）において、Ｔ０〜Ｔ２が三角形メッシュを、Ｖ０〜Ｖ４が頂点をそれぞれ表している。メッシュＴ０の頂点はＶ０とＶ１とＶ２、メッシュＴ１の頂点はＶ１とＶ２とＶ３、メッシュＴ２の頂点はＶ０とＶ２とＶ４である。この場合、頂点Ｖ１とＶ２が、メッシュＴ０とメッシュＴ１で共通するため、両メッシュが隣接していることが分かる。同様に、頂点Ｖ０とＶ２が、メッシュＴ２とメッシュＴ０で共通するため、両メッシュが隣接していることが分かる。このような頂点同士の接続関係を規定する情報によって、各メッシュがどのように構成されているのかを把握でき、オブジェクトの表面形状を特定できる。具体的なデータ構成としては、例えば図３（ｂ）に示す表のように、各三角形メッシュＴを構成する頂点Ｖと各頂点Ｖの三次元座標（ｘ，ｙ，ｚ）をリスト形式で持てばよい。もちろん、リスト形式以外のデータ構成であってもよい。
【００１６】
対応関係導出部２０２は、入力された複数フレーム分の３次元モデルについてオブジェクト追跡処理を行って、フレーム間での対応関係を導出する。そして、導出結果に基づき、入力された複数フレームのうち注目フレームと次フレームとの間で、同じオブジェクトを表現した３次元モデルであることを把握可能な情報（以下、「対応関係情報」と呼ぶ。）が生成される。対応関係情報は、例えば、フィールド内を移動している選手が、前後のフレームでどこからどこに移動したかが分かるような情報であればよい。オブジェクト追跡には、例えばテンプレートマッチングや特徴点マッチングといった公知の手法を用いればよい。オブジェクト追跡によって、前フレームに存在する複数のオブジェクトの３次元モデルそれぞれが、後フレームに存在する複数のオブジェクトの３次元モデルのどれに対応するのかを特定し、その特定結果に基づき対応関係情報が生成される。生成された各３次元モデルのフレーム間の対応関係情報は、位置合わせ部２０３での形状フィッティング処理に用いられる。
【００１７】
位置合わせ部２０３は、着目フレームとそこから時間的に進んだ次フレームとの間における、３次元モデルの対応関係情報に基づいて、形状フィッティングを行う。ここで、形状フィッティングとは、フレーム間で３次元モデル同士の対応する位置を合わせることを意味し、「非線形位置合わせ」或いは「形状位置合わせ」と同義である。本実施形態での具体的な処理内容としては、着目する３次元モデルの形状を表すメッシュの頂点の座標位置を、当該着目３次元モデルと対応付いている３次元モデルの形状に近くなるよう移動させるための移動量を求める処理を行う。なお、この移動量は、向きと大きさの２成分から成るベクトル量である。この形状フィッティングにて得られた移動量に従って着目３次元モデルの形状を表すメッシュの頂点座標位置を移動させることで、当該着目３次元モデルに対応付いている３次元モデルと同等の３次元形状データを生成できることになる。つまり、基準フレームにおける３次元モデルが頂点座標情報とメッシュ接続情報を有していれば、後は各頂点の移動量を用いることで、それと対応付いている次フレームにおける３次元モデルを再構成することが可能となる。これは、オブジェクトの３次元形状を特定するのに必要な頂点座標情報とメッシュ接続情報をすべてのフレームにおいて持つ必要がなくなり、結果としてデータ量の削減が可能なことを意味する。形状フィッティングには、例えばＩＣＰ（Iterative Closest Point）アルゴリズムのような公知の技術を用いればよい。ＩＣＰアルゴリズムは、３次元形状を表す各点について、その移動先となる対応点との間の移動量の二乗和によりコスト関数を定義し、当該コスト関数を最小化するように形状のフィッティングを行う手法である。
【００１８】
なお、本実施形態では、画像処理装置１００内に設けた対応関係導出部２０２において、３次元モデルのフレーム間の対応関係導出処理を実行するものとするが、これに限定されない。例えば、対応関係導出処理の実行を外部装置で行ない、その処理結果である対応関係情報を画像処理装置１００に入力して、位置合わせ部２０３で用いるようにしてもよい。さらには、複数フレームに亘る３次元モデルのデータを外部装置から取得してそれらの対応関係を導出しているが、複数の視点の画像データを取得して自装置内で３次元モデルの生成を行った上で、それらの対応関係を導出するようにしてもよい。
【００１９】
（画像処理の流れ）
図４は、本実施形態に係る、画像処理装置１００における処理の流れを示すフローチャートである。このフローチャートは、ＲＯＭ１０３に格納された制御プログラムがＲＡＭ１０２に読み出され、ＣＰＵ１０１がこれを実行することによって実現される。なお、以下の説明において「Ｓ」はステップを意味する。
【００２０】
Ｓ４０１では、３Ｄモデル取得部２０１が、仮想視点映像の生成対象となるＮフレーム（Ｎは２以上の整数）分の３次元モデルのデータを、外部装置或いはＨＤＤ１０４から取得する。例えば、６０ｆｐｓで撮影された１０ｓｅｃ分の動画を対象に仮想視点映像を生成する場合においては、６００フレーム分の３次元モデルが入力されることになる。前述のとおり、各フレームには２つ以上のオブジェクトに対応する複数の３次元モデルが含まれている。入力されたＮフレーム分の３次元モデルのデータはＲＡＭ２０２に格納される。
【００２１】
Ｓ４０２では、対応関係導出部２０２が、処理対象とする２枚のフレーム（着目フレームとそこから時間的に進んだ次フレーム）を決定し、両フレーム間における３次元モデル同士の対応関係を導出する。具体的には、入力されたＮフレーム分の３次元モデルのデータのうち、処理対象として決定された２フレーム分の３次元モデルのデータをＲＡＭ２０２から読み出してオブジェクト追跡処理を行ない、両フレーム間の対応関係情報を生成する。例えば、６００フレーム分の３次元モデルがＳ４０１で入力されていた場合において、すべてのフレーム間における対応関係を導出する場合は、（Ｎ−１）組＝５９９組のフレーム間について処理することになる。ただし、着目フレームと次フレームとは必ずしも連続している必要はなく、例えば着目フレームを１フレーム目とした場合に次フレームを３フレームや４フレーム目にするなど、フレームを間引いて次フレームを決定してもよい。
【００２２】
図５の（ａ）〜（ｃ）は、フレーム間の対応関係の導出を説明する図である。ここでは、入力されたＮフレームのうち、ある時刻ｔにおけるフレームを着目フレーム、時刻（ｔ＋１）におけるフレームを次フレームとして説明を行う。また、各フレームに存在するそれぞれの３次元モデルを、Ｍ（１）、Ｍ（２）、・・・、Ｍ（Ｉ）と表記するものとする。このとき“Ｉ”は、各フレームに含まれる３次元モデルの総数を表す。いま、図５（ａ）が着目フレーム、同（ｂ）が次フレームであり、いずれのフレームにも３つのオブジェクト（選手Ａ、選手Ｂ及びボール）それぞれに対応する３次元モデルが存在している。つまり、Ｉ＝３となる。そして、Ｍ（ｔ，１）とＭ（ｔ＋１，１）は選手Ａの３次元モデルを、Ｍ（ｔ、２）とＭ（ｔ＋１，２）はボールの３次元モデルを、Ｍ（ｔ，３）とＭ（ｔ＋１，３）は選手Ｂの３次元モデルをそれぞれ表しており、この対応関係が図５（ｃ）の表に示されている。すなわち、着目フレームのＭ（ｔ，１）は次フレームのＭ（ｔ＋１，１）と、着目フレームのＭ（ｔ，２）は次フレームのＭ（ｔ＋１，２）と、着目フレームのＭ（ｔ，３）は次フレームのＭ（ｔ＋１，３）と、それぞれ対応付いている。こうして、着目フレームと次フレームとの間における、３次元モデル同士の対応関係を示す情報が得られる。なお、本実施形態では、Ｎ個のフレームのそれぞれには同一個数（Ｉ個）の３次元モデルが含まれ、その数は変化することなく一定であるものとする。
【００２３】
Ｓ４０３では、位置合わせ部２０３が、着目フレームに存在する３次元モデルＭ（ｔ，１）〜Ｍ（ｔ，Ｉ）の中の１つの３次元モデルを識別するための変数ｉを初期化（ｉ＝１に設定）する。この変数ｉにより、以降の処理において着目する１つの３次元モデルＭ（ｔ、ｉ）が決まる。
【００２４】
Ｓ４０４では、位置合わせ部２０３が、Ｓ４０２で得られた対応関係情報に基づいて、着目フレームにおける着目３次元モデルＭ（ｔ，ｉ）と、次フレームにおける着目３次元モデルＭ（ｔ＋１，ｉ）との形状フィッティング処理を行う。本実施形態の形状フィッティング処理では、着目３次元モデルを表すメッシュの頂点が、着目フレームから次フレームへと時間的に進む間に、どの向きにどれくらい移動するのかを表す移動量（以下、「移動ベクトル」と表記）を求める。図６は、前述の図５（ａ）〜（ｃ）の具体例において形状フィッティング処理を行った結果を示している。図６において、網掛け有りの部分が着目フレームの３次元モデルを表し、網掛け無しの部分が次フレームの３次元モデルを表している。そして、網掛け有りの３次元モデルから網掛け無しの３次元モデルへと向かう複数の矢印が、着目フレームにおける３次元モデルの頂点毎の移動ベクトルを表している。なお、頂点は図示したものより多くあるが、ここでは代表的な頂点について図示する。
【００２５】
このように、着目フレームの３次元モデルが保有する各頂点についての移動ベクトルが、形状フィッティングによって求められる。なお、たとえオブジェクト形状がフレーム間で変化がなくほぼ同じであっても、３次元モデルは都度生成されるため、メッシュの頂点の位置や個数は３次元モデル毎に異なることになる。例えば、図６の例において、着目フレームから次フレームへと遷移する間に選手Ａの足だけが動いていたとしても、頭や胴体といった動きのない部分の頂点の位置や個数がフレーム間で一致している可能性は極めて低い。すなわち、形状フィッティングによって得られる頂点毎の移動ベクトルは、着目フレームにおける３次元モデルの各頂点と次フレームにおける対応する３次元モデルの各頂点との差分ベクトルではないことに留意が必要である。こうして、着目フレームにおける着目３次元モデルの頂点座標が次フレームにおいてどのように移動するのかを表す移動ベクトルが、形状フィッティング処理の結果として出力されることになる。
【００２６】
Ｓ４０５では、着目フレームに存在する３次元モデルの中に未処理の３次元モデルが存在するかどうかが判定される。すべての３次元モデルについて形状フィッティング処理が完了していればＳ４０７に進む。一方、形状フィッティング処理が済んでいない３次元モデルがある場合はＳ４０６に進んで変数ｉがインクリメント（＋１）され、次の着目３次元モデルが決定される。そして、変数ｉのインクリメント後はＳ４０４に戻り、次の着目３次元モデルを対象として同様の処理が続行される。
【００２７】
Ｓ４０７では、入力されたＮフレーム分の３次元モデルに関し、未処理の組合せが存在するかどうかが判定される。すべての組合せについて対応関係の導出と形状フィッティング処理が完了していれば本処理は終了となる。
【００２８】
以上が、本実施形態に係る画像処理装置１００の処理内容である。なお、位置合わせ部２０３の出力結果は移動ベクトルに限定されず、例えば移動後の頂点の座標情報でもよい。さらには、出力された移動ベクトルや移動後の頂点座標を用いて、運動解析処理を行ない、その結果を出力してもよい。例えば、出力された移動ベクトルを利用して、特定区間（特定フレーム間）におけるボールや選手の動き（移動した方向や速度）、或いは特定選手の手や足の動き、さらには選手やボールの将来的な動きの予測といった分析を行ない、その結果を出力してもよい。
【００２９】
＜変形例＞
さらに、形状精度の向上を目的として、上述の対応関係情報に基づく形状フィッティングの結果を用いて、特定の３次元モデルについて欠損を補うことができる。例えば、オブジェクトの姿勢や位置、撮影条件、生成方法等に起因して、生成対象の３次元モデルの形状に欠損が生じるなどし、単独のフレームではオブジェクト形状を正しく推定できない場合がある。このような場合でも、その前後フレームにおける対応付いている３次元モデルでは正しくオブジェクトの形状を再現できている可能性がある。そこで、着目する３次元モデルに対応付いている他フレームにおける各３次元モデルとの間で形状フィッティングを行うようにする。例えば、着目３次元モデルが含まれるフレームの前後フレームにおいて対応付いている２つの３次元モデルを用いて、着目３次元モデルとの形状フィッティングを行う。これにより、着目３次元モデルの形状に例えば欠損が存在していても、対応付いている前後フレームの３次元モデルの形状を参照することで当該欠損を補うことができる。このように他フレームの３次元モデルとの形状フィッティングを行うことで、各フレームで独立して生成したものよりも、より高精度の３次元モデルを得ることが可能になる。
【００３０】
本実施形態によれば、形状フィッティングを行う際に、フレーム間での３次元モデルの対応関係を規定した情報を利用することで、形状フィッティング処理を高精度で実現することができる。
【００３１】
［実施形態２］
実施形態１では、入力されたＮフレームのすべてにおいて同一個数の３次元モデルが含まれていることを前提とし、対象２フレーム間で３次元モデル同士の対応関係を導出して形状フィッティングを行う例について説明した。次に、各フレームに含まれる３次元モデルの数が変わり得ることを前提とし、連続するフレーム間で３次元モデルの対応関係を導出して形状フィッティングを行う態様を、実施形態２として説明する。なお、実施形態１と共通する内容については説明を省略ないしは簡略化し、以下では差異点を中心に説明を行うものとする。
【００３２】
図７は、本実施形態に係る、画像処理装置１００の形状フィッティング処理に関わるソフトウェア構成を示す機能ブロック図である。実施形態１との大きな違いは、グルーピング部７０１が設けられている点である。グルーピング部７０１にて３次元モデルのグループ化処理を行うことによって、３次元モデルの結合・分離が発生してフレーム間で３次元モデルの数が変化する場合においても、正確な形状フィッティングが可能となる。
【００３３】
（３次元モデルの結合・分離）
例えば、サッカーなどの競技において、フィールド上（対象３次元空間内）の離れた位置に選手やボールなどのオブジェクトが存在している場合には、各オブジェクトはそれぞれ単独の３次元モデルとして表現される。しかしながら、競技中に常に個々のオブジェクトが離れた位置に存在していることはなく、例えばボールを奪い合うシーンやドリブルをしているシーンなどでは選手同士或いは選手とボールが接近し、場合によっては接触していることもある。このような場合には、２人以上の選手或いは選手とボールなどが合わさって１つの３次元モデルとして表現される。このように２つ以上のオブジェクトが１つの３次元モデルで表現されることを「３次元モデルの結合」と呼ぶものとする。また、あるフレームでは近接あるいは接触する位置にあったオブジェクト同士が離れることによって、結合していた１つの３次元モデルが次フレームでは別々の３次元モデルで表現されるような場合を、「３次元モデルの分離」と呼ぶものとする。
【００３４】
（対応関係導出部の詳細）
グルーピング部７０１の説明に入る前に、まず、本実施形態の対応関係導出部２０２’について説明する。図８は、本実施形態の対応関係導出部２０２’が行うオブジェクト追跡処理の詳細を示すフローチャートである。以下では、処理対象となる入力Ｎフレームのうち、着目するフレームを「ｎフレーム目」と表現することとする。この場合において“ｎ”は１以上に整数であり、“Ｎ”は２以上の整数であって、Ｎ≧ｎである。また、前述のとおり、本実施形態ではフレーム毎に含まれる３次元モデルの数は変わり得る。そこで、ｎフレーム目に含まれる３次元モデルの数をＩ（ｎ）と定義する。そして、ｎフレーム目に含まれる番号ｉの３次元モデルをＭ（ｎ、ｉ）と定義する。この場合において“ｉ”は１以上の整数であり、Ｉ≧ｉである。なお、以下の説明において「Ｓ」はステップを意味する。なお、３次元モデルの番号は重複なく付けられるものとする。
【００３５】
まず、Ｓ８０１では、入力されたＮフレーム分の３次元モデルのデータがＲＡＭ２０２から読み出され、各フレームにおける３次元モデルＭ（ｎ，ｉ）の位置Ｐ（ｎ，ｉ）が求められる。この位置Ｐ（ｎ，ｉ）としては各３次元モデルの重心位置が挙げられる。重心位置は、３次元モデルを構成するメッシュの全頂点座標の平均値を求めることで得ることができる。なお、各３次元モデルの位置が特定できればよく、位置Ｐ（ｎ，ｉ）は重心位置に限定されない。Ｎフレーム分の各３次元モデルＭ（ｎ，ｉ）の位置Ｐ（ｎ，ｉ）が求め終われば、Ｓ８０２に進む。
【００３６】
Ｓ８０２では、着目するフレームの番号を表す変数ｎが初期化（ｎ＝１に設定）される。そして、続くＳ８０３では、着目フレームであるｎフレーム目に存在する各３次元モデルと、（ｎ＋１）フレーム目に存在する各３次元モデルとの類似度が求められる。本実施形態では、ｎフレーム目の各３次元モデルの位置Ｐ（ｎ，１）〜Ｐ（ｎ，Ｉ）と、（ｎ＋１）フレーム目の各３次元モデルの位置Ｐ（ｎ＋１，１）〜Ｐ（ｎ＋１，Ｉ）との距離Ｄが、類似度を表す指標として算出される。例えば、両フレームに含まれる３次元モデルの数がいずれも３個（Ｉ＝３）であった場合、以下の組み合わせについて重心位置間の距離（２点間距離）がそれぞれ求められることになる。
【００３７】
・位置Ｐ（ｎ，１）と位置Ｐ（ｎ＋１，１）
・位置Ｐ（ｎ，１）と位置Ｐ（ｎ＋１，２）
・位置Ｐ（ｎ，１）と位置Ｐ（ｎ＋１，３）
・位置Ｐ（ｎ，２）と位置Ｐ（ｎ＋１，１）
・位置Ｐ（ｎ，２）と位置Ｐ（ｎ＋１，２）
・位置Ｐ（ｎ，２）と位置Ｐ（ｎ＋１，３）
・位置Ｐ（ｎ，３）と位置Ｐ（ｎ＋１，１）
・位置Ｐ（ｎ，３）と位置Ｐ（ｎ＋１，２）
・位置Ｐ（ｎ，３）と位置Ｐ（ｎ＋１，３）
【００３８】
なお、本実施形態においては、３次元モデル同士の対象３次元空間上の位置関係を基準とし、着目３次元モデルとの距離が短い（より近い位置にある）３次元モデルほど、類似度が高いと評価することとする。なお、類似度の評価指標は、３次元モデル同士の距離の近さに限定されない。例えば、距離以外の要素として、３次元モデルの形状や大きさ、テクスチャデータ、オブジェクトの進行方向などをさらに考慮することで、より精度の高い類似度を得ることができる。
【００３９】
Ｓ８０４では、Ｓ８０３で算出された類似度に基づき、ｎフレーム目に含まれる各３次元モデルと、（ｎ＋１）フレーム目に含まれる３次元モデルとの対応付けがなされる。具体的には、一方のフレームに含まれる各３次元モデルに対し、他方のフレームに含まれる３次元モデルのうち類似度が最も高かった３次元モデルを対応付ける処理がなされる。上述のとおり、類似度として重心位置間の距離の近さを用いる本実施形態の場合、Ｓ８０３にて算出された距離Ｄの値が一番小さかった３次元モデル同士が相互に対応付けられることになる。その際、対応付けられた双方の３次元モデルに対して同じ識別子（ＩＤ）を付与する。ＩＤはオブジェクトを識別できるものであればどのようなものでも構わないが、本実施形態では整数値を用いる。例えば、３次元モデルＭ（ｎ，３）のＩＤとして“２”が付与されているとする。そして、（ｎ＋１）フレーム目における３次元モデルＭ（ｎ＋１、５）が最も近い距離に存在した場合、当該３次元モデルＭ（ｎ＋１、５）に対して同じ“２”のＩＤを付与するといった具合である。
【００４０】
Ｓ８０５では、ｎフレーム目又は（ｎ＋１）フレーム目のいずれか一方において、どの３次元モデルとも対応付いていない３次元モデルがあるか否かが判定される。これは、ｎフレーム目と（ｎ＋１）フレーム目とで含まれている３次元モデルの数が異なり得る本実施形態の場合、類似度が高いものから順に３次元モデル同士を対応付ける結果、対応付ける相手が他方のフレームに残っていない場合があり得るためである。いずれか一方のフレームにどの３次元モデルとも対応付いていない３次元モデルが残っている場合はＳ８０６に進み、残っていない場合はＳ８０７に進む。
【００４１】
Ｓ８０６では、どの３次元モデルとも対応付いていない３次元モデルに対し、他方のフレームに含まれる３次元モデルのうち、自身と最も近い位置に存在する３次元モデルとを対応付ける処理が行われる。
【００４２】
Ｓ８０７では、現時点における（ｎ＋１）フレーム目が、入力されたＮフレームの最終フレームであるか否かが判定される。判定の結果、現時点の（ｎ＋１）フレーム目が最終フレームでない場合には、Ｓ８０８に進んで変数ｎがインクリメント（＋１）され、次の着目フレームが決定される。そして、変数ｎのインクリメント後はＳ８０３に戻り、次のｎフレームと（ｎ＋１）フレーム目の３次元モデルを対象として同様の処理が続行される。一方、現時点の（ｎ＋１）フレーム目が最終フレームである場合は、本処理を終了する。
【００４３】
以上が、本実施形態に係る、対応関係導出部２０２’が行うオブジェクト追跡処理の内容である。
【００４４】
上述のようにして得られる本実施形態のオブジェクト追跡の結果においては、各３次元モデルにＩＤが付与されており、相互に対応付けられている３次元モデル同士はＮフレーム分の撮影シーンを通じて同じＩＤを持っていることになる。本実施形態によって得られる効果を、図９を参照して説明する。図９は、３枚のフレーム（Ｎ＝３）を処理対象として、各フレームに含まれるそれぞれの３次元モデルのフレーム間の対応付けを行った結果を模式的に示した図である。いま、各フレームには、Ｍ（ｎ，１）、Ｍ（ｎ，２）、Ｍ（ｎ，３）の３つの３次元モデルが存在する。そして、図１０において、３次元モデル同士を結ぶ線が、それぞれ対応関係を表している。例えば、１フレーム目の３次元モデルＭ（１，１）は、２フレーム目の３次元モデルＭ（２，２）と対応付いており、さらに、当該Ｍ（２，２）が３フレーム目の３次元モデルＭ（３，３）と対応付いていることを表している。この場合、Ｍ（１，１）、Ｍ（２，２）、Ｍ（３，３）の各３次元モデルは、同じＩＤを持つことになる。このとき、先頭フレームに存在するＭ（１，１）〜Ｍ（１，Ｉ）に対し、ＩＤの値として“１〜Ｉ（１）”を割り振っておき、次フレーム以降の３次元モデルに対して、対応付いた３次元モデルが持つＩＤを付与すればよい。図９の例では、Ｍ（１，１）、Ｍ（２，２）、Ｍ（３，３）はＩＤ＝１、Ｍ（１，２）、Ｍ（２，１）、Ｍ（３，２）はＩＤ＝２、Ｍ（１，３）、Ｍ（２，３）、Ｍ（３，１）はＩＤ＝３が付与されている。なお、図９に示す例では、１つの３次元モデルに対して必ず１つの３次元モデルが対応付いている。しかしながら、前述のとおり、１つの３次元モデルに対して２つ以上の３次元モデルが対応付く場合もある。例えば、ｎフレーム目に存在する１つの３次元モデルに対して、（ｎ＋１）フレーム目の複数の３次元モデルが対応付いた場合には、ｎフレーム目に存在する３次元モデルの有しているＩＤを、当該複数の３次元モデルのそれぞれに付与することになる。同様に、ｎフレーム目に存在する複数の３次元モデルが、（ｎ＋１）フレーム目の１つの３次元モデルと対応付いた場合には、ｎフレーム目の複数の３次元モデルがそれぞれ有するＩＤを全て、当該１つの３次元モデルに付与する。また、ｎフレーム目に存在する複数のＩＤを有している３次元モデルが、（ｎ＋１）フレーム目の複数の３次元モデルと対応付いた場合には、ｎフレーム目に存在する３次元モデルの有している複数のＩＤを全て、当該複数の３次元モデルのそれぞれに付与する。このように、本実施形態においては、オブジェクト追跡の結果として付与されるＩＤ（以下、「追跡結果ＩＤ」と表記）は、３次元モデルに対して少なくとも１つは付与されることになる。なお、各３次元モデルに付与される追跡結果ＩＤは、頂点座標情報と共に、３次元モデルのデータの一部を構成するものとする。追跡結果ＩＤの持ち方はこれに限らず、各３次元モデルに付与されているＩＤを記載したリストを、３次元モデルとは別に生成してもよい。
【００４５】
（グルーピング部の詳細）
続いて、グルーピング部４０１について説明する。例えば、あるフレームでは独立していた２つの３次元モデルが、次フレームでは結合して１つの３次元モデルになった場合に、一方の３次元モデルのみから結合後の３次元モデルの形状にフィッティングさせようとしても、正しく形状フィッティングができない。つまり、３次元モデルの結合や分離が発生した場合には、それを考慮して形状フィッティングを行わなければ、処理が破綻しかねない。そこで、グルーピング部７０１において、対応関係導出部２０２’で得た対応関係情報に基づいて上述した３次元モデルの結合や分離を判断し、対応している３次元モデル同士を１つにまとめて組分けする処理（グルーピング処理）を行う。なお、説明を簡単にするため、撮影シーンの途中で新規オブジェクトの出現や、オブジェクトの消滅は発生しない（Ｎフレームの間でオブジェクトの増減はない）ものとする。
【００４６】
図１０は、ある撮影シーンにおけるグルーピング処理を表した図である。図１０において楕円は各フレームに存在する３次元モデルを示し、楕円の中の数値は当該３次元モデルの有している追跡結果ＩＤを示している。グルーピング処理は、最終フレームに存在する３次元モデルに付与されている追跡結果ＩＤを基準として行う。図１０の例では、入力されたＮフレーム（Ｎ＝３）の最終フレームである３フレーム目の３次元モデル3_1〜3_7の追跡結果ＩＤが、グループ化の際の基準となる。なお、グルーピング処理によって生じたグループのそれぞれに対しては他のグループと識別するためのＩＤ（ここではアルファベット）が付与される。
【００４７】
例えば、３フレーム目の３次元モデル3_1（追跡結果ＩＤ＝１）に着目すると、当該３フレーム目において他に同じＩＤを有する３次元モデルが存在しない。そのため、撮影シーンを通して３次元モデルの分離や結合が発生しなかったと判断できる。この場合、同じ“１”の追跡結果ＩＤを有する３つの３次元モデル（1_1、2_1、3_1）により１つのグループ（グループＡ）を構成する。
【００４８】
次に、３フレーム目の３次元モデル3_2に着目すると、その追跡結果ＩＤとして“２”と“３”を有している。この場合、撮影シーンの途中でＩＤ＝２を有する３次元モデルとＩＤ＝３を有する３次元モデルとが結合したと判断できる。実際、１フレーム目では独立して存在した３次元モデル1_2と３次元モデル1_3とが２フレーム目で結合し、１つの３次元モデル2_2となっている。そして、３フレーム目において他にＩＤ＝２やＩＤ＝３を有する３次元モデルは存在しない。そのため、ＩＤ＝２またはＩＤ＝３を有する４つの３次元モデル（1_2、1_3、2_2、2_3）を同じグループ（グループＢ）とする。
【００４９】
次に、３フレーム目の３次元モデル3_3と3_4に着目すると、共に追跡結果ＩＤは“４”である。この場合、撮影シーンの途中でＩＤ＝４を有する３次元モデルが分離したと判断できる。実際、１フレーム目で１つであった３次元モデル1_4が、２フレーム目において別々の３次元モデル2_3及び2_4に分離している。そのため、ＩＤ＝４を有する５つの３次元モデル（1_4、2_3、2_4、3_3、3_4）で１つのグループ（グループＣ）を構成する。
【００５０】
次に、３フレーム目の３次元モデル3_5に着目すると、その追跡結果ＩＤとして“５”と“６”を有している。この場合、撮影シーンの途中でＩＤ＝５を有する３次元モデルとＩＤ＝６を有する３次元モデルとが結合したと判断できる。実際、１フレーム目では独立して存在した３次元モデル1_5と３次元モデル1_6とが２フレーム目で結合し、１つの３次元モデル2_5となっている。そして、３フレーム目において、ＩＤ＝５またはＩＤ＝６を有している３次元モデルが他にも存在しているため、撮影シーンの途中で分離も発生していると判断できる。実際、２フレーム目の３次元モデル2_5が、３フレーム目では３次元モデル3_5と3次元モデル3_6とに分離している。また、３次元モデル3_6は、その追跡結果ＩＤとして“５”と“６”に加えて“７”も有している。そのため、３次元モデル3_6は、ＩＤ＝７を有する３次元モデルとの結合によって生じたと判断できる。そのため、ＩＤ＝５〜７を有している８つの３次元モデル（1_5、1_6、1_7、2_5、2_6、3_5、3_6、3_7）で１つのグループ（グループＤ）を構成する。
【００５１】
以上のとおり、図１０の例の場合、４つのグループＡ〜Ｄにグループ化される。なお、上述したグループ化の手法は一例に過ぎず、フレーム間で分離・結合がなされた相互に関連する３次元モデル同士を１つのグループにまとめられることができればどのような手法でも構わない。また、グルーピング処理の結果は、各グループがどの３次元モデルで構成されているかが分かればどのようなデータ形式で出力してもよい。例えば、グループに属する３次元モデルのＩＤを示したリストをグループ単位で生成してもよいし、３次元モデルそれぞれに対し自身が属するグループのＩＤ（アルファベットや番号）を付与してもよい。
【００５２】
（位置合わせ部の詳細）
次に、本実施形態の位置合わせ部２０３’について説明する。位置合わせ部２０３’は、グルーピング部７０１の処理結果であるグループ単位（３次元モデルの集合の単位）で形状フィッティング処理を行う。具体的には、まず、ｎフレーム目の着目３次元モデルＭ（ｎ，ｉ）から、それと対応付いている（ｎ＋１）フレーム目の３次元モデルＭ（ｎ＋１，ｉ）への形状フィッティングを行なう。ここで、着目３次元モデルの頂点座標を移動することによって得られる、対応付いている３次元モデルの近似形状データのことを「推定３次元モデル」と呼ぶこととする。そして、得られた推定３次元モデルから、（ｎ＋１）フレーム目の３次元モデルＭ（ｎ＋１，ｉ）と対応付いている（ｎ＋２）フレーム目の３次元モデルＭ（ｎ＋２，ｉ）への形状フィッティングを行う、というようにグループ内で同様の処理を繰り返す。ここで、“ｉ”は、フレーム毎に変わり得る値であり、すべてのフレームで同じ値であるとは限らない。位置合わせ部２０３’は、その処理結果として、グループ内で基準となる３次元モデル（着目３次元モデル）と、形状フィッティングの繰り返しによって得られた各推定３次元モデルの頂点座標情報とを出力する。本実施形態の場合、各グループにおいて基準となる３次元モデルのメッシュ接続情報を保持しておけば足りる（グループに属するすべての３次元モデルについてメッシュ接続情報を保持する必要がない）。したがって、メッシュ接続情報の共通化によるデータ量の削減を図ることができる。
【００５３】
図１１は、グルーピング処理の結果の一例を示す図である。図１１を用いて、本実施形態に係る、グループ単位での形状フィッティングについて説明する。
【００５４】
太枠１２０１が示すグループは、結合や分離が発生していない３次元モデルで構成されるグループである。このグループ１２０１の場合、まず、１フレーム目の３次元モデルＭ（１，１）から、２フレーム目の３次元モデルＭ（２，２）への形状フィッティングを行う。この形状フィッティングにより生成された推定３次元モデルを「Ｍ’（ｎ，ｉ）」で表す。つまり、最初の形状フィッティングで、推定３次元モデルＭ’（２，２）が生成される。そして、生成された推定３次元モデルＭ’（２，２）と、３フレーム目の３次元モデルＭ（３，３）との形状フィッティングを行い、推定３次元モデルＭ’（３，３）が生成される。この場合において、推定３次元モデルＭ’（３，３）は、Ｍ（２，２）からではなく、Ｍ’（２，２）から生成されることに注意されたい。このように、グループ１２０１に属する２フレーム目と３フレーム目の３次元モデルＭ（２，２）とＭ（３，３）は、１フレーム目の３次元モデルＭ（１，１）のデータ（ここでは、頂点情報とメッシュ接続情報）があれば、その頂点移動による変形により近似できる。
【００５５】
太枠１２０２が示すグループは、３次元モデルの結合が発生しているグループである。このグループ１２０２の場合、まず、１フレーム目の２つの３次元モデルＭ（１，２）とＭ（１，３）から、２フレーム目の１つの３次元モデルＭ（２，１）への形状フィッティングを行う。そして、当該形状フィッティングにより得られた推定３次元モデルＭ’（２，１）と、３フレーム目のＭ（３，２）との形状フィッティングを行ない、推定３次元モデルＭ’（３，２）が生成される。このように、グループ１２０２に属する２フレーム目と３フレーム目の３次元モデルＭ（２，１）とＭ（３，２）も、１フレーム目の３次元モデルＭ（１，２）及びＭ（１，３）のデータがあれば、その頂点移動による変形により近似できる。
【００５６】
太枠１２０３が示すグループは、３次元モデルの結合と分離が発生しているグループである。グループ１２０３の場合はグループ１２０２の場合と同様に、１フレーム目の２つの３次元モデルＭ（１，４）とＭ（１，５）から、２フレーム目の１つの３次元モデルＭ（２，３）への形状フィッティングを行なう。そして、当該形状フィッティングにより得られた推定３次元モデルＭ’（２，３）と、３フレーム目の２つの３次元モデルＭ（３，１）とＭ（３，４）との形状フィッティングを行ない、推定３次元モデルＭ’（３，１）とＭ’（３，４）が生成される。このように、グループ１２０３に属する２フレーム目と３フレーム目の３次元モデルＭ（２，３）、Ｍ（３，１）及びＭ（３，４）は、１フレーム目の３次元モデルＭ（１，４）及びＭ（１，５）のデータがあれば、その頂点移動による変形により近似できる。
【００５７】
以上のとおり本実施形態によれば、グルーピング処理結果を踏まえた形状フィッティングを行うことで、３次元モデルの結合や分離が発生した場合にも、正しく形状フィッティングすることが可能となる。
【００５８】
［実施形態３］
次に、位置合わせ部からの出力結果の時間差分を求めてこれを符号化することで、時系列の３次元モデルのデータ量を圧縮する態様について、実施形態３として説明する。なお、実施形態１及び２と共通する内容については説明を省略ないしは簡略化し、以下では差異点を中心に説明を行うものとする。
【００５９】
図１２は、本実施形態に係る、画像処理装置１００の形状フィッティング処理に関わるソフトウェア構成を示す機能ブロック図である。実施形態２との大きな違いは、時間差分符号化部１３０１が設けられている点である。時間差分符号化部１３０１は、位置合わせ部２０３”での形状フィッティング処理の結果を入力として時間差分符号化を行う。以下、詳しく説明する。
【００６０】
（位置合わせ部の詳細）
まず、時間差分符号化を行うための前処理として、本実施形態の位置合わせ部２０３”は、グループ毎に形状フィッティングを行う際の基準フレームを選定する。実施形態２においては、入力されたＮフレームにおける先頭フレームを基準フレームとして形状フィッティングを行っていたが、本実施形態では以下の条件に従って基準フレームがまず選定される。基準フレームに存在する３次元モデルがオブジェクトの形状を正確に再現できていなかったり、２つ以上のオブジェクトが接触した状態であったりすると、形状フィッティングの精度が低下してしまう。そこで、基準フレームとしてより相応しいフレームを選定することで精度低下を抑制する。
【００６１】
＜基準フレームの選定条件＞
・フレーム内に存在する３次元モデルの表面積が、他フレームよりも広い
・フレーム内に存在する３次元モデルの形状に輪（穴）が含まれない（或いは他フレームよりも少ない）
・フレーム内に存在する３次元モデルの数が他フレームよりも多い
【００６２】
まず、１つ目は３次元モデルの表面積に関する条件である。同じオブジェクトを表現している他の３次元モデルと比較したときにその表面積が小さい場合には、表している３次元形状に欠損があるなどオブジェクト形状を精度良く再現できていない可能性がある。そのため、より広い表面積の３次元モデルが存在するフレームを優先する。２つ目は３次元モデルが表している形状に関する条件である。３次元モデルに輪或いは穴が含まれている場合、本来、オブジェクトの先端となるべき部分の形状が隠れてしまっている可能性が高い。例えば、人物が腰に手を当てている状態の３次元モデルでは、体と腕によって「輪」が作られている。つまり、オブジェクトの一部である「手」が他の一部である「腰」と接触した状態となっていることから、「手」の形状が取得できないことになる。このような３次元モデルを含むフレームを基準フレームとしてしまうと、通常であれば接触していない箇所が接触してしまった状態の３次元モデルから形状フィッティングを行うことになり、形状精度が低下してしまう。そのため、形状に輪（穴）が含まれない３次元モデルが存在するフレームを優先する。また、３つ目は３次元モデルの数に関する条件である。フレームに存在する３次元モデルの数が少ない場合には、２つ以上のオブジェクトが接触して１つの３次元モデルで表現されている可能性がある。そのため、存在する３次元モデルの数が多いフレームを優先する。これら３つの条件に照らして最も基準フレームに相応しいフレームを選定し、当該フレームに存在する３次元モデルを基準として形状フィッティングを行うことで、より高精度の推定３次元モデルを得ることができる。
【００６３】
図１３は、本実施形態における形状フィッティングの結果の一例を模式的に示した図である。図１３の例では、処理対象シーンが５枚のフレーム（Ｎ＝５）で構成されている。各フレームには太枠で示す３次元モデルが２個（１フレーム目と５フレーム目）又は３個（２〜４フレーム目）含まれ、２つのグループ１４０１及び１４０２にグループ化されている。そして、グループ１４０１及び１４０２のそれぞれにおいて、上記３つの条件に基づき、それぞれ３フレーム目と２フレーム目が基準フレームとして選定されている。この場合、位置合わせ部２０３”は、グループ１４０１については、３フレーム目に存在する３次元モデルを基準として形状フィッティングを行なう。その結果、図１３の上段に示されるように、基準となる３フレーム目の３次元モデル以外の３次元モデルについては、メッシュ接続情報を持たない推定３次元モデルが生成される。同様に、グループ１４０２についても、形状フィッティングの結果、基準となる２フレーム目の２つの３次元モデル以外の３次元モデルについては、頂点座標情報を有するがメッシュ接続情報を持たない推定３次元モデルが生成される。そして、位置合わせ部２０３”は、基準フレームに存在する３次元モデルについては頂点座標情報とメッシュ接続情報の双方を、非基準フレームに存在する推定３次元モデルについては頂点座標情報のみを出力することになる。
【００６４】
（時間差分符号化部の詳細）
時間差分符号化部１３０１は、位置合わせ部２０３”にて得られたグループ毎の形状フィッティングの結果を用いて、時間差分符号化処理を行う。具体的には、グループ毎に、対応付いている３次元モデル間の頂点座標の差分値を先頭フレームから順に算出し、得られた差分値について量子化して符号化する処理を行う。図１４の（ａ）及び（ｂ）は、頂点座標の差分値を説明する概念図である。図１４（ａ）には、ｔ＝0〜3までの４フレーム分の人物の３次元モデルが存在している。そして、各３次元モデルにおける右肘付近の頂点座標が黒丸で示されており、時間経過が矢印で表されている。図１４（ａ）に示されるとおり、ｔ＝０のフレームにおける黒丸の頂点座標Ｖ０と、ｔ＝１のフレームにおける黒丸の頂点座標Ｖ１との差分値ｐは、ｐ＝Ｖ０−Ｖ１となる。図１４（ｂ）は、この差分値ｐを三次元的に表現した図である。差分値ｐは方向と距離の２成分を持つベクトルで表すなど、どのようなデータ形式でもよい。
【００６５】
図１５は、時間差分符号化処理の結果として出力される符号列のデータ構造を説明する図である。符号列の先頭には、符号化データを復号するために必要なヘッダ情報、例えば、フレーム数やグループ数などの情報が付加される。ヘッダ情報の後には、グループ毎の符号化データが続く。そして、グループ毎の符号化データ内は、以下のように細分化されている。まず、先頭には、グループを構成する３次元モデルを復号するために必要な基準フレームの情報などのグループヘッダ情報が存在する。そして、グループ内で共通化されているメッシュ接続情報が続き、さらに、先頭フレームに存在する３次元モデルの頂点座標情報、２フレーム目から最終フレームまでの時間差分符号化データの順に続く。なお、図１５に示す符号列のデータ構造は一例であり、撮影シーンを構成する各フレームの３次元モデルが復号可能なデータ構造であればどのような形式でもよい。また、符号化の手法については、ゴロム符号化のようなエントロピー符号化であれば、どのような方法を用いても構わない。また、本実施形態においては、グループ毎に、先頭フレームに含まれる３次元モデルの頂点座標を基準として順に差分値を算出して時間差分符号化を行う例を説明したが、符号化の手法はこれに限定されない。例えば、中央フレームや最終フレームの頂点座標を基準とするなど符号化のスタート位置を変えてもよいし、ＧＯＰ（Group of Pictures）と呼ばれるフレームセットを用いたフレーム間予測を行ってもよい。また、本実施形態では、メッシュ接続情報や、先頭フレームに存在する３次元モデルの頂点座標情報については符号化の対象外としたが、これらについても符号化の対象としてもよい。
【００６６】
以上のとおり本実施形態によれば、グループ毎の形状フィッティングの結果を用いて時間差分符号化処理を行うことで、データ量の削減と各３次元モデルの正確な形状再現とを両立することが可能となる。
【００６７】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６８】
２０１  ３Ｄモデル取得部
２０２  対応関係導出部
２０３  位置合わせ部
【図１】
2020136943.tif 000003
【図２】
2020136943.tif 000004
【図３】
2020136943.tif 000005
【図４】
2020136943.tif 000006
【図５】
2020136943.tif 000007
【図６】
2020136943.tif 000008
【図７】
2020136943.tif 000009
【図８】
2020136943.tif 000010
【図９】
2020136943.tif 000011
【図１０】
2020136943.tif 000012
【図１１】
2020136943.tif 000013
【図１２】
2020136943.tif 000014
【図１３】
2020136943.tif 000015
【図１４】
2020136943.tif 000016
【図１５】
2020136943.tif 000017