(57)【特許請求の範囲】
【請求項１】
異なる視点位置から撮影する複数の撮像部からの複数の撮影画像から、指示された視点情報に応じて選択された撮影画像を取得する取得手段と、
前記選択された撮影画像の視点情報と前記指示された視点情報とを用いて、前記選択された撮影画像から前記指示された視点情報に応じた画像を生成する生成手段と、
前記生成された画像に対してブラー処理を行うブラー処理手段とを有し、
前記ブラー処理手段は、注目フレームに対して取得される撮影画像に対応する撮像部と、該注目フレームの周辺のフレームに対して取得される撮影画像に対応する撮像部とが異なる場合に、該注目フレームと該注目フレームの周辺のフレームとの間における同一被写体の動き方向に応じて、該注目フレームに対応する前記生成された画像に対して前記ブラー処理を行うことを特徴とする画像処理装置。
【請求項２】
前記生成手段は、前記選択された撮影画像の視点情報、前記指示された視点情報および基準面の情報とを用いて、該基準面の情報により示される基準面を介して前記選択された撮影画像の画素と前記指示された視点情報に応じた画像の画素とを対応づけることにより、前記選択された撮影画像から前記指示された視点情報に応じた画像を生成することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記ブラー処理手段は注目フレームと前記注目フレームの周辺のフレームとの間における同一被写体の動き方向を、前記同一被写体における注視点の動きベクトルにより算出し、該動きベクトルに応じてブラー処理の方向と度合いを制御すること特徴とする請求項１または２記載の画像処理装置。
【請求項４】
前記ブラー処理手段は、注目フレームに対して取得される撮影画像に対応する撮像部と、該注目フレームの周辺のフレームに対して取得される撮影画像に対応する撮像部とが同一である場合は、該注目フレームに対応する前記生成された画像に対して前記ブラー処理を行わないことを特徴とする請求項１乃至３のいずれかに記載の画像処理装置。
【請求項５】
さらに、前記生成された画像に対してシャープネス処理を行うシャープネス処理手段を有し、
前記シャープネス処理手段は、前記ブラー処理手段において、前記生成された画像に対して前記ブラー処理を行った場合は、該生成された画像に対して前記シャープネス処理を行わないことを特徴とする請求項１乃至４のいずれかに記載の画像処理装置。
【請求項６】
請求項１乃至５のいずれかに記載の画像処理装置をコンピュータを用いて実現するためのコンピュータが読み取り可能なプログラム。
【請求項７】
異なる視点位置から撮影する複数の撮像部からの複数の撮影画像から、指示された視点情報に応じて選択された撮影画像を取得する取得工程と、
前記選択された撮影画像の視点情報と前記指示された視点情報とを用いて、前記選択された撮影画像から前記指示された視点情報に応じた画像を生成する生成工程と、
前記生成された画像に対してブラー処理を行うブラー処理工程とを有し、
前記ブラー処理工程は、注目フレームに対して取得される撮影画像に対応する撮像部と、該注目フレームの周辺のフレームに対して取得される撮影画像に対応する撮像部とが異なる場合に、該注目フレームと該注目フレームの周辺のフレームとの間における同一被写体の動き方向に応じて、該注目フレームに対応する前記生成された画像に対して前記ブラー処理を行うことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のカメラの画像を利用して仮想視点映像を生成するものである。
【背景技術】
【０００２】
移動する仮想視点から見た映像を表現する場合に、複数台のカメラで同一シーンを撮影し、様々な方法でそれらの映像を再生して見せる見せ方がある。例えば、異なる視点に多数のカメラを設置し、設置されたカメラにより撮影された異なる視点からの映像（多視点映像）データを切り替えながら連続して再生することが考えられる。このような画像再生において、異なるカメラ間の明るさや色味を調整し、滑らかな映像再生を行う方法が提案されている（特許文献１参照）。また実際のカメラで撮影した映像だけでなく、複数のカメラにより撮影された映像から補間した中間視点映像も用いて連続性を高めることも提案されている（特許文献２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−０８８２４７号公報
【特許文献２】特開２００８−２１７２４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の手法では以下のような問題がある。特許文献１の手法ではカメラが切り替わる際に、映像跳びが生じる。
【０００５】
一方特許文献２の手法では中間視点画像を挿入することによって、映像跳びを緩和することができる。しかし、この手法では中間視点映像の生成を失敗した場合に、画像が不連続になってしまうと言う問題点がある。
【０００６】
本発明はブラー処理を用いることにより、映像における跳びを低減し、滑らかな仮想視点映像を生成することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明は、異なる視点位置から撮影する複数の撮像部からの複数の撮影画像から、指示された視点情報に応じて選択された撮影画像を取得する取得手段と、前記選択された撮影画像の視点情報と前記指示された視点情報とを用いて、前記選択された撮影画像から前記指示された視点情報に応じた画像を生成する生成手段と、前記生成された画像に対してブラー処理を行うブラー処理手段とを有し、前記ブラー処理手段は、注目フレームに対して取得される撮影画像に対応する撮像部と、該注目フレーム周辺のフレームに対して取得される撮影画像に対応する撮像部とが異なる場合に、該注目フレームに対応する前記生成された画像に対して前記ブラー処理を行うことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、映像における跳びが低減された、滑らかな仮想視点映像を生成することができる。
【図面の簡単な説明】
【０００９】
【図１】実施例１の概念図である。
【図２】実施例１の画像処理方法を示すブロック図である。
【図３】ブラー画像生成部２０８のブロック図である。
【図４】カメラの属性情報を表す図である。
【図５】実施例１の動作を示すフローチャートである。
【図６】仮想スクリーン上の座標と実際の物理座標の対応を表す図である。
【図７】カメラが切り替わった場合の仮想視点画像を表した図である。
【図８】動きベクトルの算出過程を表した図である。
【図９】ブラー画像の効果を示した図である。
【図１０】実施例２の画像処理方法を示すブロック図である。
【図１１】仮想視点画像の領域分割を示す概念図である。
【図１２】実施例３の画像処理方法を示すブロック図である。
【発明を実施するための形態】
【００１０】
（実施例１）
本実施例では固定された複数カメラ（撮像部）を用いて、仮想視点から見た場合の滑らかな動画を生成する画像処理装置について説明する。例えば本実施例では天頂に固定カメラを複数台配置し、複数の人がいるシーンを上から撮影する状況を想定している。概念図を図１に示す。図１（ａ）はカメラの配置の例を立体的に図示したものである。図１（ａ）において、１０１はカメラ、１０２は床面、１０３は天井を表している。また図１（ｂ）は図１（ａ）を２次元平面に投影したものであり、複数の人がいる場合を想定している。図１（ｂ）において、１０４は被写体となる人を表している。１０５は仮想的な仮想視点を表している。本実施例では、予め設定されたシナリオに応じて仮想視点の視点情報が決められている。そして、固定された複数のカメラによりリアルタイムに撮影された映像を用いて、シナリオに応じた仮想視点の映像を生成する。
【００１１】
図２は、本実施例にかかる画像処理装置の一形態を示すブロック図である。
【００１２】
視点管理部２２０は、シナリオに対応する動画のフレームごと（ｍ＝１〜Ｍ）に、使用するカメラのＩＤ情報と仮想視点の属性情報を格納する。そして、フレーム番号に基づき、順次、使用するカメラのＩＤ情報と仮想視点の属性情報を出力する。
【００１３】
撮像データ入力端子２０１は、カメラ１０１によって撮影された撮像データを入力する。基準面高さ情報入力端子２０２は基準面高さ情報を入力する。本実施例では、基準面を床面１０２とし、床面の高さ（Ｈｆｌｏｏｒ）をＺ＝０と設定る。仮想視点情報入力端子２０３は、視点管理部から仮想視点の属性情報を入力する。注視点高さ情報入力端子２０４は注視点の高さ情報を入力する。本実施例では注視点は人の頭部であるとし、標準的な人の身長を注視点の高さＨｈｅａｄと設定する。カメラＩＤ情報入力端子２０５は処理対象フレーム（ｍ）における使用カメラＩＤ情報（ＩＤ（ｍ））を入力する。カメラ情報データベース２０６はカメラ１０１それぞれのカメラＩＤと各カメラ１０１の属性情報（位置姿勢および画角）とを対応付けて格納する。そして、視点管理部２２０から入力される処理対象フレーム（ｍ）における使用カメラＩＤ情報と、使用カメラＩＤ情報に対応するカメラの属性情報を出力する。仮想視点画像生成部２０７は、カメラ情報データベース２０６から入力した使用カメラＩＤ情報に対応するカメラの撮像データを入力し、基準面高さ情報と仮想視点の属性情報とに基づき入力した撮像データから仮想視点の画像データを生成する。ブラー処理部２０８はカメラ情報データベース２０６から入力したカメラの属性情報、注視点高さ情報および視点管理部２２０から入力した仮想視点の属性情報に基づき、生成された仮想視点の画像データにブラー処理を施す。
【００１４】
画像処理部２００は、各フレームに対して上記処理を行い、動画フレームデータ出力部２１０からシナリオに応じた仮想視点の映像データを出力する。
【００１５】
図３はブラー処理部２０８のブロック図である。仮想視点画像データ入力端子３０１は仮想視点画像生成部２０７によって生成された仮想視点の画像データを入力する。カメラ切り換え判断部３０２は、カメラ情報データベース２０６から端子３０３を介して順次入力されるカメラＩＤを用いて、注目フレームｍと次時刻のフレーム  ｍ＋１で使用するカメラが切り替わるか否を判断し、判断結果を動きベクトル算出部３０４に出力する。本実施例では、カメラが切り替わる場合はＹｅｓの信号を、切り替わらない場合はＮｏの信号を送る。
【００１６】
動きベクトル算出部３０４は、注視点高さ情報、仮想視点情報およびカメラの属性情報を用いて、仮想視点画像における注視点の跳びを表す動きベクトルを算出する。動きベクトル算出部３０４はカメラ切り替え判断部３０２からＹｅｓの信号を受けた場合に、動きベクトルを算出する。
【００１７】
ブレ生成判断部３０５は動きベクトルのノルムがある閾値Ｔｈ以上の場合はＹｅｓを、Ｔｈ未満の場合はＮｏの信号を送る。ブレ画像生成部３０６は、動きベクトル算出部３０４からＹｅｓを入力した場合は、仮想視点の画像データに対して動きベクトルに対応したぶれフィルタを用いてブラー処理を行う。一方、動きベクトル算出部３０４からＮｏを入力した場合は、仮想視点の画像データをそのまま出力する。３０８はブレ画像生成部によって生成されたブラー画像データを出力するブラー画像データ出力端子である。
【００１８】
カメラ情報データベース２０６に格納されているカメラの属性情報について説明する。
【００１９】
図４はあるＩＤ番号（カメラＩＤ情報）のカメラの特性を表した図である。図４（ａ）はＹ＝ｃｏｎｓｔ．の平面に投影した図を表している。図４（ｂ）はＺ＝ｃｏｎｓｔ．の平面に投影した図を表している。
【００２０】
図４（ａ）において、カメラ４０１はあるＩＤ番号のカメラである。点４０２はカメラ４０１の重心である。ベクトル４０３はカメラ４０１のレンズの姿勢を示す単位法線ベクトルである。角度４０４はカメラ４０１の画角に対応した角度である。図４（ｂ）において、ベクトル４０５はカメラの上方向を表す単位ベクトルである。
【００２１】
カメラ情報データベース２０６にはカメラのＩＤ番号とそのＩＤのカメラの属性情報が格納されている。カメラの属性情報は、重心４０２の位置ベクトル、レンズの姿勢を示す単位法線ベクトル４０３、画角に対応する角度４０４をθとしたときのｔａｎθの値、カメラの上方向を表す単位ベクトル４０５を示す。
【００２２】
なお、視点管理部２２０が保持している仮想視点の属性情報も、カメラの属性情報と同様に、仮想視点における仮想カメラの重心４０２の位置ベクトル、レンズの姿勢を示す単位法線ベクトル４０３、画角に対応する角度４０４をθとしたときのｔａｎθの値、カメラの上方向を表す単位ベクトル４０５を有する。
【００２３】
＜仮想視点の画像データの生成＞
仮想視点画像生成部２０７にて行われる仮想視点の画像データの生成処理について説明する。
【００２４】
まず、注目フレームｍの仮想視点画像の画像座標を物理座標へ変換する。次に、この物理座標からＩＤ（ｍ）のカメラの撮像画像の画像座標に変換する。これらの処理により、仮想視点の画像の画像座標とＩＤ（ｍ）のカメラの撮像画像の画像座標とを対応づける。そして、仮想視点の画像の各画像座標に対して対応づけれらたＩＤ（ｍ）のカメラの撮像画像の画像座標の画素値を取得することにより、仮想視点の画像データを生成する。
【００２５】
●画像座標から物理座標への変換
ある視点の画像の画像座標を物理座標に変換する式について説明する。以下、図４において、カメラ４０１の重心４０２の位置ベクトルをＣ、単位法線ベクトル４０３をｎ、カメラの上方向の単位ベクトル４０５をｔ、画角４０４をγ＝ｔａｎθと置くことにする。
【００２６】
図６はカメラ４０１の視点に応じた画像上に被写体がどのように射影されるかを表した図である。図６において、６０１はカメラ４０１の仮想スクリーン、６０２は被写体、６０３は被写体が存在する基準面とする。点６０４は被写体６０２を仮想スクリーン６０１上に投影した点である。また重心４０２から仮想スクリーン６０１までの距離をｆとし、点６０４の仮想スクリーン６０１上での座標を（ｘ，ｙ）とし、被写体の物理座標を（Ｘ，Ｙ，Ｚ）とする。本実施例では、物理座標を規定するＸＹＺ座標のＸ−Ｙ平面が平面である床面を含むようにＸ軸とＹ軸を設定し、Ｚ軸を高さ方向に設定する。そして、本実施例では基準面として床面を設定しているので、基準面である床面の高さＨｆｌｏｏｒのＺ値が０になるように設定する。
【００２７】
仮想スクリーンは単位ベクトルｔと単位ベクトルｕ≡ｔ×ｎで張られる平面である。また画角γを用いると、画像の縦の幅（ｐｉｘｅｌ）をｗとしたとき、
【００２８】
【数１】
0005645450.tif 000002
【００２９】
と表される。
【００３０】
この時、点６０４の物理ベクトルｘ（カメラの重心４０１から点６０４へのベクトル）は
【００３１】
【数２】
0005645450.tif 000003
【００３２】
と示すことができる。
【００３３】
被写体６０２は物理ベクトルｘの延長線上に存在する。したがって、被写体６０２の物理ベクトルＸ（カメラの重心４０１から被写体６０２へのベクトル）は、ある定数ａを用いて、
【００３４】
【数３】
0005645450.tif 000004
【００３５】
と示すことができる。被写体の高さＺは既知であるので、式（３）のＺ成分に着目することにより、
【００３６】
【数４】
0005645450.tif 000005
【００３７】
となり、
【００３８】
【数５】
0005645450.tif 000006
【００３９】
となる。
【００４０】
これを式（３）に代入して、
【００４１】
【数６】
0005645450.tif 000007
【００４２】
となる。これが、画像上の点（ｘ，ｙ）から被写体の物理座標を求める変換式である。
【００４３】
これを以下簡単のため、
【００４４】
【数７】
0005645450.tif 000008
【００４５】
と表すことにする。
【００４６】
●物理座標から画像座標への変換
次に、被写体の物理座標をある視点からカメラで撮影した場合の画像上の座標に変換する変換式について説明する。
【００４７】
上述の式（３）に示したように、被写体６０２の物理ベクトルＸは以下の式で示すことができる。
【００４８】
【数８】
0005645450.tif 000009
【００４９】
この式の両辺とｕの内積をとり、ｕ，ｔ，ｎの正規直交性を用いると式（７）となる。
【００５０】
【数９】
0005645450.tif 000010
【００５１】
同様にして、ｔｔ，ｎｔを作用させてまとめると式（８）となる。
【００５２】
【数１０】
0005645450.tif 000011
【００５３】
この式の３行目に着目すると、
【００５４】
【数１１】
0005645450.tif 000012
【００５５】
となるので、
【００５６】
【数１２】
0005645450.tif 000013
【００５７】
となる。これば、物理ベクトルＸから画像上の座標（ｘ，ｙ）を求める式である。
【００５８】
これを以下簡単のため、
【００５９】
【数１３】
0005645450.tif 000014
【００６０】
と表すことにする。
【００６１】
●仮想視点画像生成部２０７における処理
ｍフレーム目の仮想視点画像を生成する場合について説明する。ここでは基準面高さを床面としその高さをＨｆｌｏｏｒとする。本実施例ではＨｆｌｏｏｒはＺ＝０である。ＩＤ（ｍ）のカメラで撮影した画像をｍ番目の仮想視点から見た画像に変換する手法を概説する。
【００６２】
仮想視点画像生成部２０７では、全ての被写体の高さがＨｆｌｏｏｒであると仮定し、画像上の座標を物理座標に変換する。つまり、本実施例では全ての被写体が床面上に存在すると仮定する。
【００６３】
仮想視点情報入力端子２０３から仮想視点の属性情報を入力する。以下、仮想視点に関する情報については添え字ｆを付けて表す。またｍフレーム目に関する情報については引数ｍをつけて表す。
【００６４】
ｍフレーム目の仮想視点の画像上の座標（ｘｆ，ｙｆ）を物理座標へ変換する変換式は、式（６）より、
【００６５】
【数１４】
0005645450.tif 000015
【００６６】
となる。ここで、説明を簡単にするために画角は仮想視点およびフレームに依らず一定とした。
【００６７】
次にこの求めれた物理座標をＩＤ（ｍ）のカメラの画像上の座標に変換する変換式は、式（１１）より、
【００６８】
【数１５】
0005645450.tif 000016
【００６９】
となる。式（１２）、式（１３）より仮想視点画像の座標（ｘｆ，ｙｆ）とＩＤ（ｍ）のカメラにより撮影された画像の座標（ｘ（ｍ），ｙ（ｍ））を対応付けることができる。したがって、仮想視点画像の各画素について、ＩＤ（ｍ）のカメラにより撮影された画像データから対応する画素値を取得する。これにより、ＩＤ（ｍ）のカメラで撮像した画像データから仮想視点の画像を生成することができる。
【００７０】
＜動きベクトル算出部３０４＞
仮想視点画像変換部２０７は被写体の高さが全てＨｆｌｏｏｒ（Ｚ＝０）である仮定して変換を行った。つまり、被写体が全て床面に存在すると仮定して変換を行なった。しかし、実際の被写体はＨｆｌｏｏｒとは異なる高さにある場合がある。
【００７１】
ｍフレーム目の撮影画像とｍ＋１フレーム目の撮影画像が同一のカメラの撮影画像である場合（ＩＤ（ｍ）＝ＩＤ（ｍ＋１））は、Ｈｆｌｏｏｒとは異なる高さの被写体でも、ｍフレーム目の仮想視点画像とｍ＋１フレーム目の仮想視点画像において跳びは発生しない。これは、ｍフレームとｍ＋１フレームとで、物理座標から画像座標への変換式（式（１１））が同一であるからである。
【００７２】
これに対して、ｍフレーム目の撮影画像とｍ＋１フレーム目の撮影画像が異なるカメラの撮影画像である場合（ＩＤ（ｍ）≠ＩＤ（ｍ＋１））は、Ｈｆｌｏｏｒの高さにある被写体（例えば靴）はスムーズに動くように見えるが、Ｈｆｌｏｏｒの高さと異なる高さにある被写体（例えば人間の頭部）は図７に示すように跳びが発生する。式（３）から式（４）を求める際に被写体の高さＺが既知であるとしている。そして、本実施例では被写体の高さとして被写体にかかわらず基準面高さを床面としその高さをＨｆｌｏｏｒとしている。したがって、被写体の高さが基準面高さと異なる場合、画像座標から物理座標への変換式に誤差が生じてしまう。したがって、フレーム内では画像が不適切になることはないが、撮影したカメラがことなるフレーム間において跳びが発生する。
【００７３】
図７において、画像７０１はＩＤ（ｍ）のカメラで撮影した画像をｍフレーム目の仮想視点に変換した画像であり、画像７０２はＩＤ（ｍ＋１）のカメラで撮影した画像をｍ＋１フレーム目の仮想視点に変換した画像である。７０３は被写体となる人間の頭部であり、７０４は靴である。本実施例では、複数の人がいるシーンを上から仮想視点で撮影する状況を想定している。そこで、床面（Ｈｆｌｏｏｒ）から最も離れた部位であると考えられる頭部の高さを用いて、カメラが切り替わることにより、被写体の頭部が画像において動く量を求める。つまり、人間の標準的な身長をＨｈｅａｄとして、仮想視点画像の座標（ｘ０，ｙ０）に頭部があると仮定したときの仮想視点画像上での頭部の動きベクトルを求める。本実施例では、仮想視点画像の座標（ｘ０，ｙ０）として、画像の中心の位置の座標を使用する。そして、この中心位置に頭部が存在した際に生じる動き量に応じてｍ＋１フレーム目に対するぶれ量を制御する。
【００７４】
図８に頭部の動きベクトルを求める概念図を示す。図８（ａ）において、８０１はｍフレーム目の仮想視点、８０２はｍ＋１フレーム目の仮想視点である。カメラ８０３はＩＤ（ｍ）のカメラ、カメラ８０４はＩＤ（ｍ＋１）のカメラである。８０５は仮想視点８０１の仮想スクリーン、８０６は仮想視点８０２の仮想スクリーンである。点８０７は注目フレームであるｍフレームに対応する仮想スクリーン８０５上の点（ｘ０，ｙ０）である。８０８は点８０７を床面６０３に射影した点である。８０９は頭部７０３をカメラ８０４から床面６０３に射影した点である。８１０は点８０９を仮想スクリーン８０６に射影した点である。８１１は靴７０４を仮想スクリーン８０５上に射影した点である。８１２は靴７０４を仮想スクリーン８０６上に射影した点である。
【００７５】
図８（ｂ）は頭部７０３と靴７０４をｍ番目の仮想視点の画像とｍ＋１番目の仮想視点の画像を表したものである。８２０は画像７０１と画像７０２において、頭部７０３の跳びを表す動きベクトルである。動きベクトル算出部３０４は点８１０の画像座標と点８０７の画像座標（ｘ０，ｙ０）の差分ベクトル８２０を算出する。
【００７６】
以下に点８１０の座標の求め方を示す。まず、ｍ番目の仮想視点における画像座標（ｘ０，ｙ０）から、注視点の高さＨｈｅａｄを有する頭部７０３の物理座標Ｘｈｅａｄを算出する。算出された頭部７０３の物理座標をＩＤ（ｍ＋１）のカメラ８０４から床面６０３に射影した点８０９の物理座標Ｘｆｌｏｏｒを算出する。そして、この点８０９の物理座標Ｘｆｌｏｏｒをｍ＋１番目の仮想スクリーン８０６の画像座標に変換し、点８１０の座標を取得する。
【００７７】
以下、点８１０の座標の求め方を詳細に説明する。
【００７８】
動きベクトル算出部３０４は、ｍフレーム目の仮想スクリーン８０５における代表点の座標（ｘ０，ｙ０）（ｍフレーム目の仮想視点の画像の座標）から、式（６）に応じた式（１４）を用いて、点８０８の物理座標を求める。
【００７９】
【数１６】
0005645450.tif 000017
【００８０】
頭部７０３の物理座標Ｘｈｅａｄは、ＩＤ（ｍ）のカメラの視点位置と点８０８とのベクトル上に存在する。したがって、物理座標Ｘｈｅａｄは定数ｂを用いて、式（１３）のように示すことができる。
【００８１】
【数１７】
0005645450.tif 000018
【００８２】
ここで、物理座標Ｘｈｅａｄのｚ成分はＨｈｅａｄであるので、式（１６）のようになる。
【００８３】
【数１８】
0005645450.tif 000019
【００８４】
式（１６）をｂについて解くことにより、
【００８５】
【数１９】
0005645450.tif 000020
【００８６】
となる。動きベクトル算出部３０４は、式（１７）を用いて、頭部７０３の物理座標Ｘｈｅａｄを算出する。
【００８７】
次に、点８０９の物理座標Ｘｆｌｏｏｒを求める。点８０９は、ＩＤ（ｍ＋１）のカメラ８０４の視点位置と頭部７０３の物理座標Ｘｈｅａｄとのベクトルの延長線上に存在する。したがって、動きベクトル算出部３０４は、点８０９は頭部７０３の物理座標を求めた場合と同様の考え方から導き出される式（１８）を用いて、点８０９の物理座標Ｘｆｌｏｏｒを求める。
【００８８】
【数２０】
0005645450.tif 000021
【００８９】
そして、動きベクトル算出部３０４は、式（１１）に応じた式（１９）を用いて、点８０９の物理座標Ｘｆｌｏｏｒをｍ＋１番目の仮想スクリーン８０６の画像座標（ｘ，ｙ）に変換する。
【００９０】
【数２１】
0005645450.tif 000022
【００９１】
動きベクトル８２０は、代表点に想定した被写体頭部の画像における位置変化を示すものである。よって、動きベクトル算出部３０４は、算出された画像座標（ｘ，ｙ）と代表点の画像座標（ｘ０，ｙ０）とから、（ｘ−ｘ０，ｙ−ｙ０）を動きベクトルｖとして算出する。
【００９２】
＜ブレ画像生成部＞
ブレ画像生成部３０６は、動きベクトル算出３０４が算出した動きベクトルｖを元に、ｍ＋１フレーム目の画像に式（２０）に従って動きベクトルと逆方向にブラーをかける。
【００９３】
【数２２】
0005645450.tif 000023
【００９４】
ここで、Ｉｍ＋１（ｘ，ｙ）はｍ＋１フレーム目の仮想視点画像データであり、αは重み係数であり、βは適当な係数である。例えばここではβ＝１とし、α＝ｅｘｐ（−ｔ２／２）と言うＧａｕｓｓｉａｎの重みにする。このように、ぶれ画像生成部３０６は、動きベクトルに基づく方向に、ベクトルに応じた度合いのブラー処理を行う。
【００９５】
概念図を図９に示す。図９において、９０１は７０２に式（２０）に表されるブラーを作用させた画像である。９０１には映像跳びに対応したブラーがかかっているので、７０１と９０１を連続再生することにより、滑らかな動画を得ることができる。
【００９６】
ここではｍ＋１フレームの画像データに動きベクトルｖと逆方向にブラーをかけたが、ｍフレームの画像データに動きベクトル方向にブラーをかけても構わない。さらに、動きベクトルｖを複数のベクトルｖｉに分割し、複数フレームにまたがってｖｉに対応するブラーをかけても構わない。目視による実験ではｍ＋１フレーム目に動きベクトルｖと逆方向にブラーをかけると良好な画像が得られることが分かっている。
【００９７】
また、本実施例では、隣接する２つのフレームを用いて動きベクトルを算出したが、注目フレームとその前後の２つのフレームや、注目フレームとその後の複数のフレームなど、注目フレームと周辺のフレームを用いて動きベクトルを算出しても構わない。
【００９８】
＜画像処理装置の動作＞
図２の画像処理装置の動作について図５のフローチャートを用いて説明する。
【００９９】
仮想視点動画のフレーム番号をｍ＝１にセットする（Ｓ５０１）。ｍフレームを撮影するのに使用するカメラＩＤ（ＩＤ（ｍ））と次のフレームで使用するカメラＩＤ（ＩＤ（ｍ＋１））を取得する（Ｓ５０２）。次にＩＤ（ｍ）のカメラの撮像データ、基準面高さ情報、仮想視点情報がそれぞれの入力端子２０１、２０２、２０３から入力される（Ｓ５０３）。視点画像変換部２０７がカメラ情報データベース２０６からＩＤ（ｍ）のカメラの属性情報を受け取る。そして、カメラの属性情報、仮想視点情報、基準面高さ情報を用いて、ＩＤ（ｍ）のカメラの撮像データから仮想視点の画像データを生成する（Ｓ５０４）。次にブレ生成判断部３０５の出力信号（以下ブレフラグ）がＹｅｓかどうかを判断する（Ｓ５０５）。なお初期状態（ｍ＝１）ではブレフラグはＮｏであるとする。ブレフラグがＹｅｓの場合は、ｍ−１フレームとｍフレーム間の動きベクトルｖ（ｍ−１）に対応したブラーをかける（Ｓ５０６）。カメラ切り替え判断部３０２がＩＤ（ｍ）とＩＤ（ｍ＋１）が異なるか否かを判断し、異なる場合はＹｅｓの信号を、同じ場合はＮｏの信号を出力する（Ｓ５０７）。Ｙｅｓの信号が出力された場合は、動きベクトル算出部３０４がＩＤ（ｍ）とＩＤ（ｍ＋１）のカメラ情報をカメラ情報データベース２０６から受け取り、注視点高さ情報、仮想視点情報を元に仮想視点画像上の動きベクトルｖ（ｍ）を算出する（Ｓ５０８）。ブレ生成判断部３０５が動きベクトルのノルムが閾値を超えたか判断し（Ｓ５０９）、閾値以上の場合はブレフラグをＹｅｓにする（Ｓ５１１）。以下Ｓ５０９でＹｅｓの分岐を通った場合を説明する。仮想視点画像もしくはブラー画像を動画フレームデータ出力端子２１０から出力する（Ｓ５１２）。着目フレームをｍからｍ＋１に更新する（Ｓ５１３）。
【０１００】
Ｓ５０７若しくはＳ５０９でＮｏの分岐を通った場合はブレフラグをＮｏにする（Ｓ５１０）。
【０１０１】
ｍが全フレーム数Ｍに対し、Ｍ以下の場合はＳ５０２に戻り、Ｍより大きい場合は動作を終了する（Ｓ５１４）。
【０１０２】
以上説明したように第１の実施形態によれば、使用するカメラが切り替わるフレーム間で注視点の動きベクトルを算出することにより、それに応じたブラーをかける。このことにより滑らかな仮想視点画像を生成することができる。
【０１０３】
（実施例２）
実施例１ではブレ画像生成部３０６が画面全体に一様なブラーをかけたが、本実施例では仮想視点画像の領域を分割し、各領域毎の動きベクトルを算出する。そして各領域毎に、その領域の動きベクトルに対応したブラーをかける。図１０に、実施例２にかかる画像処理装置のブロック図を示す。
【０１０４】
図１０において、図２に示す画像処理装置と同一の構成については同一の符号をつけ、説明を割愛する。
【０１０５】
１００１は仮想視点画像を領域に分割する画像分割部である。１００２はブラー生成部２０８で生成されたブラー画像を合成する画像合成部である。本来は全てのブラー画像生成部２０８が仮想視点情報と注視点高さ情報を受け取るが、図示の関係上割愛した。
【０１０６】
以下図１０の画像処理装置の動作について説明する。画像合成部１００１は仮想視点画像変換部２０７のデータを受け取り、画像を指定領域に分割する。
【０１０７】
次に領域の代表点、分割画像データ、カメラ情報をブラー画像生成部２０８が受け取り、各領域の動きベクトルを算出し、領域毎にブラーをかける。この時の動きベクトルの概念図を図１１に示す。図１１において、１１００は仮想視点画像である。１１０１は分割した各領域である。図１１では長方形に分割しているが、分割形状は長方形に限らない。点１１０２は各領域の代表点である。１１０３は各領域の動きベクトルｖである。ブラー画像生成部２０８のそれぞれは、対応する領域の動きベクトルｖを用いてブラー処理を行う。そして、画像合成部１００２が複数のブラー画像生成部２０８から出力された画像データを合成する。
【０１０８】
以上説明したように実施例２によれば、画像における各領域毎に適切なブラー処理を行うことができ、滑らかな仮想視点映像を得ることができる。
【０１０９】
（実施例３）
本実施例では仮想視点画像にシャープネスをかける場合について説明する。カメラによって撮影された画像から、仮想視点画像を生成する際に画像データに対して拡大処理する場合がある。このような場合、拡大処理で行われる補間処理によって画像がボケてしまうという弊害が発生する。本実施例では、この画像がぼけるという弊害を低減するために、仮想視点画像に拡大倍率に応じてシャープネスをかける。
【０１１０】
図１２に本実施例のブロック図を示す。図１２の画像処理装置において、図２の画像処理装置と同一の構成については同一の番号をつけて説明を割愛する。シャープネス補正部１２０１は、仮想視点画像変換部における拡大倍率情報に応じてシャープネス処理を行う。
【０１１１】
以下、図１２の画像処理装置の動作について説明する。シャープネス補正部１２０１は仮想視点画像部２０７から仮想視点画像を生成における倍率情報を受け取り、倍率情報に応じたシャープネス補正を生成された仮想視点の画像データに対して行う。ここで、ブラー画像生成部２０８がブラー処理を行う場合は、シャープネス補正を行わない。これはブラー処理を行う場合は、シャープネス補正を行っても効果が得られないからである。このようにブラー処理とシャープネス処理を排他的にすることで、システムの負荷を分散させることができる。
【０１１２】
倍率情報は以下のようにして求める。仮想視点の画像上の代表点を２点選択する。ここでは例えば、（ｘ０，ｙ０）、（ｘ１，ｙ０）とする。これを式（１２）、式（１３）を用いて、ＩＤ（ｍ）のカメラの画像上の点（ｘ０（ｍ），ｙ０（ｍ））、（ｘ１（ｍ），ｙ０（ｍ））に変換する。そして、この時の変換倍率αを例えば以下の式を用いて算出する。
【０１１３】
【数２３】
0005645450.tif 000024
【０１１４】
本実施例によれば、シャープネス処理を適応的にかけることにより、効率よく良好な仮想視点画像を得ることが可能になる。
【０１１５】
なお、実施例１〜３では、仮想視点はシナリオに基づき予め決定されているが、ユーザ指示に応じてリアルタイムに仮想視点を制御するようにしても構わない。また、動きベクトルを画像の中心位置で算出したが、他の位置にしても構わない。また、複数箇所について動きベクトルを求め、平均値などの統計値を算出しても構わない。また、実施例１〜３では、画像から主被写体の位置を検出し、検出された位置について動きベクトルを求めても構わない。
【０１１６】
また、上記実施例１〜３では、フレーム間の跳びを目立たなくするためにブラー処理を掛けたが、ノイズ除去などの他の目的のためにブラー処理を掛けてもかまわない。この場合は、跳びを目立たなくするためのフィルタと他の目的のためのフィルタとを合成し、合成により得られたフィルタを用いてブラー処理を行う。
【０１１７】
また、本発明は、上述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給することによっても実現できる。この場合、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ）がコンピュータが読み取り可能に記憶媒体に格納されたプログラムコードを読み出し実行することにより、上述した実施例の機能を実現する。
【図１】
0005645450.tif 000025
【図２】
0005645450.tif 000026
【図３】
0005645450.tif 000027
【図４】
0005645450.tif 000028
【図５】
0005645450.tif 000029
【図６】
0005645450.tif 000030
【図７】
0005645450.tif 000031
【図８】
0005645450.tif 000032
【図９】
0005645450.tif 000033
【図１０】
0005645450.tif 000034
【図１１】
0005645450.tif 000035
【図１２】
0005645450.tif 000036