動画像処理方法、動画像処理装置及び動画像処理プログラム
【課題】動画像をベクトルデータで表現する。
【解決手段】動画像データの開始フレーム画像内の類似した色値を持つ閉領域を四角形の曲面パッチに分割し、曲面パッチの頂点、制御点を動画像データのフレームを参照して時系列順に追跡し、頂点、制御点の時間軸方向の軌跡をパラメトリック曲線で近似し、パラメトリック曲線の頂点および制御点に対応する色値を動画像データのフレーム画像から取得して、パラメトリック曲線の頂点および制御点の時空間座標値と対応する色値を出力する。これにより、動画像データをベクトルデータで表現することが可能となる。
【解決手段】動画像データの開始フレーム画像内の類似した色値を持つ閉領域を四角形の曲面パッチに分割し、曲面パッチの頂点、制御点を動画像データのフレームを参照して時系列順に追跡し、頂点、制御点の時間軸方向の軌跡をパラメトリック曲線で近似し、パラメトリック曲線の頂点および制御点に対応する色値を動画像データのフレーム画像から取得して、パラメトリック曲線の頂点および制御点の時空間座標値と対応する色値を出力する。これにより、動画像データをベクトルデータで表現することが可能となる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、動画像をベクトルデータで表現する技術に関する。
【背景技術】
【0002】
デジタルカメラやビデオカメラ等で撮影された画像は、一般に、ビットマップ形式で保存されて利用されることが多い。ビットマップ形式では、画像を画素に分割し、画像を様々な色の画素の集合として取り扱うため写実性に優れている。しかしながら、画像に写されているオブジェクト単位で編集することは容易ではなく、画像を拡大表示した際に、画質が劣化するという問題がある。図形をベースとするベクトル形式のデータは、ベクトルデータが関数的な数値で表され、オブジェクト自体が数式に基づいて描画されるため、オブジェクト単位での編集が容易であり、拡大表示しても一定の画質が保持される。なお、オブジェクトとは、画像内に撮影された意味のあるまとまりを意味し、例えば、人物、頭部、机、車両などの像に代表される。
【0003】
このような背景のもと、ビットマップ形式の画像をベクトル形式のデータに変換する手法が提案されている(非特許文献1−3参照)。これらの手法は、できるだけ元のビットマップ形式の画像が持つ画質(写実性)を損なわないようにして、できるだけ少ない数の図形要素を持つベクトル形式のデータに変換することを特徴としている。具体的には、ビットマップ形式の画像内のオブジェクトを閉領域とみなし、閉領域の輪郭及び内部を類似した色値を持つ領域毎に「辺がパラメトリック曲線で構成される三角形」や「辺がパラメトリック曲線で構成される四角形」などのパラメトリック曲面パッチに分割して、閉領域の輪郭をパラメトリック曲線で近似するとともに、パラメトリック曲面パッチの内部の色を補間して生成する。以降ではパラメトリック曲面パッチを「三角形パッチ」、「四角形パッチ」、「曲面パッチ」、あるいは単に「パッチ」と称することもある。
【0004】
図13に、ビットマップ形式の画像をベクトル形式のデータに変換する様子を示す。図13(a)は、各画素がそれぞれ色値を持っているビットマップ形式の画像を示す。図13(b)は、四角形パッチで近似した例を示し、図13(c)は三角形パッチで近似した例を示す。このとき、四角形パッチや三角形パッチは幾何学的には画像面に垂直な方向の高さを持つことができるが、この「高さ」に相当する値を「色値」として表現することで、パッチ内部の色を補間することができる。非特許文献3においては、領域の輪郭のみにパラメトリック曲線を用い、内部の色の補間は薄板スプライン(Thin Plate Spline)補間を用いている。
【0005】
ここで、四角形パッチ、三角形パッチの例について説明する。
【0006】
双3次ベジエ四角形パッチは、3次元空間に格子状に配置された4×4の制御点の座標値Pij(i=0,1,2,3; j=0,1,2,3)を用いて、4頂点P00,P03,P30,P33で囲まれた領域内部の点Pを次式(1)と表す。
【数1】
【0007】
Bi3(u),Bj3(v)はそれぞれ3次の Bernstein 基底関数である。u,v(0≦u≦1,0≦v≦1)はパラメトリック空間のパラメータである。
【0008】
パラメータsに対する1変数3次の Bernstein 基底関数は次式(2)となる。
【数2】
【0009】
すなわち、四角形を構成する4つの頂点を含む16個の制御点の3次元座標値を用いて、四角形を構成する4つの頂点を通過する曲面を構成することができる。パラメータu,vについて3次であるが、それぞれ次数がひとつ増えると制御点がひとつ増える。
【0010】
また、双3次ベジエ三角形パッチは、3つの頂点と、それぞれの辺を構成するベジエ曲線の制御点が2つずつと、三角形パッチ内部にある制御点が1つの合計10個の制御点Pijk(i=0,1,2,3; j=0,1,2,3; k=0,1,2,3; i+j+k=3)を用いて次式(3)と表すことができる。
【数3】
【0011】
Bijk3(u,v)は2変数の3次 Bernstein 基底関数である。u,v(0≦u≦1,0≦v≦1)はパラメトリック空間のパラメータである。
【0012】
パラメータu,vに対する2変数3次 Bernstein 基底関数は次式(4)となる。
【数4】
【0013】
一方、コンピュータグラフィクスによって表現された3次元物体の形状を変形させることを目的としてパラメトリック立体が提案されている。3次元物体をパラメトリック立体で覆い、3次元物体を構成する各点の座標値をパラメトリック立体を生成するパラメータに対応付け、パラメトリック立体の制御点を変形させることで、3次元物体の形状もそれに応じて変形させる技術である。例えば、非特許文献4では、パラメトリック立体として、立体の各辺や面がベジエ曲線やベジエパッチで表されるベジエ立体を用いている。
【0014】
3次ベジエ立体は、3次元空間に立体格子状に配置された4×4×4の制御点の座標値Pijk(i=0,1,2,3; j=0,1,2,3; k=0,1,2,3)とパラメータu,v,wを用いて、立体内部の点Pを次式(5)と表すことができる。
【数5】
【0015】
Bi3(u),Bj3(v),Bk3(w)は、それぞれ式(2)で表される3次の Bernstein 基底関数である。u,v,w(0≦u≦1,0≦v≦1,0≦w≦1)はパラメトリック空間のパラメータである。
【0016】
同様に、式(3)で表されるベジエ三角パッチを底面とみなし、面が曲面で構成される三角柱を10×4の制御点の座標値Pijk,m(i=0,1,2,3; j=0,1,2,3; k=0,1,2,3; m=0,1,2,3; i+j+k=3)とパラメータu,v,wを用いて、立体内部の点Pを次式(6)と表すことができる。
【数6】
【0017】
Bm3(w)は式(2)で表される1変数3次 Bernstein 基底関数、Bijk3(u,v)は式(4)で表される2変数3次 Bernstein 基底関数である。
【先行技術文献】
【特許文献】
【0018】
【特許文献1】特許第4189276号公報
【特許文献2】特許第2834790号公報
【非特許文献】
【0019】
【非特許文献1】Brian Price and William Barrett,“Object-Based Vectorization for Interactive Image Editing”, Visual Computer, 22, 2006年8月, p.661-670
【非特許文献2】Yu-Kun Lai, Shi-Min Hu and Ralph R. Martin,“Automatic and Topology-Preserving Gradient Mesh Generation for Image Vectorization”, ACM Transactions on Graphics, Vol. 28, No. 3(SIGGRAPH 2009), 2009年8月, Article 85:1-8
【非特許文献3】Tian Xia, Binbin Liao, Yizhou Yu,“Patch-based Image Vectorization with Aut omatic Curvilinear Feature Alignment”, ACM Transactions on Graphics, Vol. 28, No. 5(SIGGRAPH Asia 2009), 2009年12月, Article 115:1-10
【非特許文献4】Thomas W. Sederberg and Scott R. Parry,“Free-Form Deformation of Solid Geometric Models”, Computer Graphics, Vol. 20, No. 4(Proceedings of SIGGRAPH 1986), 1986年, p.151-160
【非特許文献5】Jue Wang, Yingqing Xu, Heugn-Yeung Shum and Michael F. Cohen,“Video tooning”, ACM Transactions on Graphics, Vol. 23, No. 3(SIGGRAPH 2004), 2004年8月, p.574-583
【発明の概要】
【発明が解決しようとする課題】
【0020】
動画像のベクトルデータについては、例えば、円や四角形などの図形要素の運動を、時間軸方向に沿った軌跡や運動方程式で表現すること、すなわち、アニメーションとして表現することが考えられる。しかしながら、ビデオカメラ等で撮影された実写動画像をこのようなアニメーションとして表現することは容易ではない。被写体となるオブジェクトは形状の変化を伴ったり隠蔽されたりして、動画像に撮影されている全ての被写体の形状と運動とを数式として復元することが困難だからである。
【0021】
これに対し、動画像内のオブジェクトではなく画素に着目し、初期フレームの全ての画素の色情報と、その画素の時間変化を直線近似する手法が開示されている。例えば、特許文献1には、初期フレームと終了フレームの対応する画素を直線で結んで途中の任意の時刻での画像を生成する手法が開示されている。特許文献2には、静止剛体を等速直線運動するカメラで撮影した動画像を対象に、先頭フレームの画素を以降のフレームにわたって追跡し、直線で近似する手法が開示されている。
【0022】
しかしながら、これらの手法では被写体が動いたり変形する場合への適用が困難であるという問題がある。被写体が動いたり変形したりする動画像に対し、非特許文献5では、画素や被写体の境界を滑らかな曲線で近似し、さらに時間軸方向にも滑らかにつなぎ、イラスト調の画像を生成する手法が開示されているが、もとの画像を写実的に再構成することは困難である。
【0023】
本発明は、上記に鑑みてなされたものであり、動画像をベクトルデータで表現することを目的とする。
【課題を解決するための手段】
【0024】
第1の本発明に係る動画像処理装置は、動画像データを読み込み蓄積手段に蓄積する読込手段と、前記蓄積手段から前記動画像データの指定されたフレーム画像を読み出し、当該フレーム画像内の類似した色値を持つ閉領域を曲面パッチに分割し、曲面パッチの辺の端を頂点として頂点リストに登録し、その辺を構成するための点を制御点として制御点リストに登録するベクトル化手段と、前記動画像データから時系列順にフレーム画像を読み出し、前記曲面パッチ毎に、読み出したフレーム画像から前記頂点リストに登録された頂点に対応する対応点を検出してそのフレーム画像における頂点として頂点リストに登録する頂点追跡手段と、時系列順に読み出したフレーム画像毎に、前記曲面パッチそれぞれについて、前記頂点リストに登録された頂点を前記曲面パッチの辺の端としたときに前記曲面パッチの辺を構成するための制御点の位置を、その頂点の位置関係に基づいて推定してそのフレーム画像における制御点として制御点リストに登録する制御点追跡手段と、前記頂点リストおよび前記制御点リストを参照し、前記ベクトル化手段により登録された頂点および制御点それぞれの時間軸方向の軌跡をパラメトリック曲線で近似する曲線近似手段と、前記曲線近似手段が近似したパラメトリック曲線の頂点および制御点に対応する色値を前記動画像データのフレーム画像から取得する色値取得手段と、前記パラメトリック曲線の頂点および制御点の時空間座標値と対応する色値を出力する出力手段と、を有することを特徴とする。
【0025】
第2の本発明に係る動画像処理方法は、読込手段による、動画像データを読み込み蓄積手段に蓄積するステップと、ベクトル化手段による、前記蓄積手段から前記動画像データの指定されたフレーム画像を読み出し、当該フレーム画像内の類似した色値を持つ閉領域を曲面パッチに分割し、曲面パッチの辺の端を頂点として頂点リストに登録し、その辺を構成するための点を制御点として制御点リストに登録するステップと、頂点追跡手段による、前記動画像データから時系列順にフレーム画像を読み出し、前記曲面パッチ毎に、読み出したフレーム画像から前記頂点リストに登録された頂点に対応する対応点を検出してそのフレーム画像における頂点として頂点リストに登録するステップと、制御点追跡手段による、時系列順に読み出したフレーム画像毎に、前記曲面パッチそれぞれについて、前記頂点リストに登録された頂点を前記曲面パッチの辺の端としたときに前記曲面パッチの辺を構成するための制御点の位置を、その頂点の位置関係に基づいて推定してそのフレーム画像における制御点として制御点リストに登録するステップと、曲線近似手段による、前記頂点リストおよび前記制御点リストを参照し、前記ベクトル化手段により登録された頂点および制御点それぞれの時間軸方向の軌跡をパラメトリック曲線で近似するステップと、色値取得手段による、前記曲線近似手段が近似したパラメトリック曲線の頂点および制御点に対応する色値を前記動画像データのフレーム画像から取得するステップと、出力手段による、前記パラメトリック曲線の頂点および制御点の時空間座標値と対応する色値を出力するステップと、を有することを特徴とする。
【0026】
第3の本発明に係る動画像処理プログラムは、上記動画像処理装置としてコンピュータを機能させることを特徴とする。
【発明の効果】
【0027】
本発明によれば、動画像をベクトルデータで表現することができる。
【図面の簡単な説明】
【0028】
【図1】本実施の形態における動画像処理装置の構成を示す機能ブロック図である。
【図2】開始フレーム画像の静止画像をベクトル化する処理の流れを示すフローチャートである。
【図3】ベクトル化したデータの時間軸方向の軌跡を追跡する処理の流れを示すフローチャートである。
【図4】ベクトル化したデータの動きをパラメトリック立体で表す処理の流れを示すフローチャートである。
【図5】頂点を追跡する様子を示す図である。
【図6】頂点と制御点の位置関係の変化を示す図である。
【図7】制御点の評価を説明する図である。
【図8】四角形ベジエパッチを時間軸方向に追跡したベジエ6面体の例を示す図である。
【図9】三角形ベジエパッチを時間軸方向に追跡したベシエ三角柱の例を示す図である。
【図10】ベジエ曲線の分割を説明する図である。
【図11】パッチの辺を色々な方法で近似した際のパッチの辺と制御点の位置を示す図である。
【図12】色値を補間する様子を示す図である。
【図13】ビットマップ形式の画像をベクトル形式のデータに変換する様子を示す図である。
【発明を実施するための形態】
【0029】
以下、本発明の実施の形態について図面を用いて説明する。
【0030】
図1は、本実施の形態における動画像処理装置の構成を示す機能ブロック図である。同図に示す動画像処理装置は、動画像読込部11、静止画像ベクトル化部12、頂点追跡部13、制御点追跡部14、パラメトリック立体化部15、色値取得部16、出力部17、および蓄積部18を備える。動画像処理装置が備える各部は、演算処理装置、記憶装置等を備えたコンピュータにより構成して、各部の処理がプログラムによって実行されるものとしてもよい。このプログラムは動画像処理装置が備える記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリ等の記録媒体に記録することも、ネットワークを通して提供することも可能である。以下、各部について説明する。
【0031】
動画像読込部11は、動画像ファイルを読み込み動画像データを蓄積部18に蓄積する。
【0032】
静止画像ベクトル化部12は、蓄積部18から動画像データの開始フレーム画像を読み出して、開始フレーム画像内の類似した色値を持つ閉領域を三角形あるいは四角形の曲面パッチに分割し、閉領域の輪郭をパラメトリック曲線で近似する。分割した曲面パッチをパッチリストに、曲面パッチの辺の両端を頂点、曲面パッチの辺を構成するために必要な点を制御点として、頂点リスト、制御点リストに登録する。
【0033】
頂点追跡部13は、データリスト処理部131、頂点追跡判定部132、時間長判定部133を備え、蓄積部18に蓄積された動画像データから時系列順にフレーム画像を読み出して、フレーム画像内の閉領域の角などの特徴点を頂点に対応する対応点として検出し、検出した対応点を対応する頂点に関連付けて対応点リストに登録する。データリスト処理部131は対応点をフレーム画像から対応点を検出し、頂点追跡判定部132は対応点が見つかったか否か判定して対応点の存在を示す存在フラグを設定するとともに、対応点が見つからない場合は、前フレームを参照し、対応点を決定する、あるいは、対応点が消失したと判定する。時間長判定部133は、対応点が消失した場合、その対応点を有する曲面パッチの持続時間を設定するとともにパッチリストから削除する。パッチリストから削除された曲面パッチについては以降のフレームで処理しない。
【0034】
制御点追跡部14は、一次結合近似部141、制御点評価補正部142を備え、前のフレームにおける頂点(対応点)、制御点間の位置関係と、頂点追跡部13が現在処理対象のフレームから検出した対応点の位置関係から、各パッチの辺を構成するために必要な制御点の位置を求めて制御点リストに登録する。一次結合近似部141は、前のフレームにおける頂点と制御点の位置関係を一次結合で表して結合係数を求め、頂点追跡部13が検出した対応点と求めた結合係数により制御点の位置を推定する。制御点評価補正部142は、一次結合近似部141が推定した制御点により構成される曲面パッチの辺とフレーム画像から抽出したエッジを構成する点との距離に基づいて制御点の位置を補正する。
【0035】
パラメトリック立体化部15は、曲線近似部151、誤差評価分割部152を備え、頂点追跡部13、制御点追跡部14が求めた頂点、制御点を時間軸方向に追跡して動画像をパラメトリック立体で表現する。曲線近似部151は、頂点、制御点の時間軸方向の軌跡をベジエ曲線で近似する。誤差評価分割部152は、曲線近似部151が近似した曲線と近似対象の頂点、制御点の対応点列との最大距離を評価し、最大距離が所定の閾値よりも大きい場合は近似した曲線を分割する。なお、本実施の形態におけるパラメトリック立体は、底面がパラメトリック曲面パッチである多角形であり、側面がパラメトリック曲面パッチである四角形から構成される立体を指す。
【0036】
色値取得部16は、生成したパラメトリック立体の頂点、制御点の色値を動画像データのフレーム画像から取得する。フレーム画像から色値が直接取得できない制御点については、取得できる色値を補間して決定する。
【0037】
出力部17は、全てのパラメトリック立体について、頂点、制御点の時空間座標値、その座標値における色値(x,y,t,c)のデータをファイルとして出力する。
【0038】
次に、本実施の形態における動画像処理装置の処理の流れについて説明する。
【0039】
図2〜4は、本実施の形態における動画像処理装置の処理の流れを示すフローチャートである。図2に示す処理で開始フレーム画像の静止画像をベクトル化し、図3に示す処理でベクトル化したデータの時間軸方向の軌跡を追跡し、図4に示す処理でベクトル化したデータの動きをパラメトリック立体で表している。以下、図2に示す処理から順に説明する。
【0040】
まず、図2に示す静止画像のベクトル化処理について説明する。
【0041】
動画像読込部11が、動画像ファイルを読み込んで動画像データを蓄積部18に蓄積する(ステップS101)。このときに、利用者からベクトル化の対象とする時間的範囲(開始フレームと終了フレーム)の指定を受け付けてもよい(ステップS102)。
【0042】
続いて、静止画像ベクトル化部12が、蓄積部18から動画像データの開始フレーム画像を読み出し、開始フレーム画像のベクトル化を実施する(ステップS103)。開始フレーム画像はビットマップ形式の画像であり、ビットマップ形式の画像のベクトル化は、非特許文献1,2,ないし3に記載された手法、あるいは他の手法を用いることができる。開始フレーム画像のベクトル化の際に、利用者からベクトル化の対象とする被写体の指定を受け付けてもよい(ステップS104)。
【0043】
静止画像ベクトル化部12により、開始フレーム画像内の閉領域が三角形あるいは四角形の曲面パッチにより分割され、曲面パッチの辺で被写体オブジェクトの輪郭が良好に近似される。ベクトル化により、画像を四角形ベジエパッチで近似する場合は、ひとつのパッチあたり、4個の頂点と12個の制御点が生成される。画像を三角形ベジエパッチで近似する場合は、ひとつのパッチあたり、3個の頂点と7個の制御点が生成される。なお、本実施の形態では、曲面の「高さ」に相当する変数を、「色値」に置き換えている。カラー画像の場合、例えばRGB表示系であれば、R(赤)、G(緑)、B(青)の各色ごとに曲面パッチを生成してもよい。ここでは、色成分の数や表示系については言及しないが、応用する状況に応じてカラー画像もグレー画像も用いることができる。
【0044】
生成された各曲面パッチの頂点、制御点の各リストは蓄積部18に蓄積される(ステップS105)。このとき、各頂点がどの曲面パッチに属するかを記憶させる。例えば、曲面パッチ、頂点それぞれに識別子を付与し、曲面パッチを指定するとその曲面パッチを構成する頂点の識別子を取得でき、または、頂点を指定するとその頂点を含む曲面パッチ(ひとつではない場合もある)の識別子を取得できるようにしておく。同様に、頂点と制御点も関連付けておく。
【0045】
次に、図3に示す、ベクトル化したデータの時間軸方向の軌跡を追跡する処理について説明する。
【0046】
データリスト処理部131は、動画像ファイルの次フレーム画像を蓄積部18から読み出し、読み出したフレーム画像における各曲面パッチの各頂点に対応する対応点を検出する(ステップS201)。また、各曲面パッチに対して読み出したフレーム画像のフレーム番号あるいは持続時間を付与する。曲面パッチの辺はフレーム画像の閉領域のエッジを近似しており、曲面パッチの頂点は曲面パッチの辺(曲線)の両端であるので、各頂点は、フレーム画像内の閉領域の角などの特徴点となり、検出しやすい。そこで、データリスト処理部131は、読み出したフレーム画像の閉領域の角を頂点の対応点として検出する。
【0047】
図5は、頂点を追跡する様子を示す図である。フレームT1→T2→T3→T4と変化するものとする。同図では、わかりやすくするため、曲面パッチの辺も記載している。同図の頂点P1,P2,P3で構成される三角形パッチにおいて、フレームT2では、頂点P1,P2,P3の対応点が見つかっており、フレームT3では、頂点P2または頂点P3の対応点が見つからず、フレームT4では、再び頂点P1,P2,P3の対応点が見つかっている。
【0048】
フレーム画像を読み出して対応点を検出した後、各曲面パッチについて、以下に示す頂点の追跡処理を行う。
【0049】
頂点追跡判定部132は、曲面パッチから1つの頂点を選択し、その頂点の対応点が存在するか否か判定する(ステップS202)。
【0050】
対応点が存在する場合は、その頂点に対する対応点として対応点リストに座標値を追加し、頂点に対応する対応点の存在を示す存在フラグをオンとする(ステップS203)。
【0051】
曲面パッチのすべての頂点について対応点の存在を判定する処理が終了した場合は次の曲面パッチについての処理へ進み、曲面パッチ内にまだ処理していない頂点が存在する場合はステップS202に戻る(ステップS204)。なお、隣接する曲面パッチでは頂点を共有しているため、すでに対応点が存在していることが明らかな頂点については処理済みとする。
【0052】
一方、対応点が存在しない場合は、前フレームではその頂点の対応点が存在していたか否か判定する(ステップS205)。頂点に対応する存在フラグを評価することで対応点が存在していたか否か判定できる。
【0053】
前フレームで対応点が存在していた場合は、頂点を含む曲面パッチの前フレームにおける面積を計算し(ステップS206)、計算した面積が所定の閾値より大きいか否か判定する(ステップS207)。本実施の形態では、曲面パッチの面積として、図5の点線で示される各頂点P1,P2,P3を結んだ三角形の面積を計算する。
【0054】
計算した面積が所定の閾値よりも大きい場合は、頂点に対応する対応点として前フレームにおける対応点の座標値を現在処理対象のフレームの対応点として対応点リストに追加する(ステップS208)。
【0055】
計算した面積が所定の閾値以下の場合は、現在のフレームで曲面パッチが消失したと判定する。消失した曲面パッチについては、パッチリストから削除し、時間長判定部133が、消失した曲面パッチは、開始フレームから前フレームまで持続したとし、フレーム数あるいはフレーム番号をその曲面パッチのデータとして付与し、以降のフレームではその曲面パッチについての処理を行わない(ステップS209)。
【0056】
一方、ステップS205において前フレームにも対応点が存在していなかった、つまり、2フレーム連続で対応点が存在していなかったと判定された頂点を含む曲面パッチも消失したと判定する。時間長判定部133は、消失した曲面パッチは、2つ前のフレームまで持続したとし、フレーム数あるいはフレーム番号をその曲面パッチのデータとして付与する。なお、本実施の形態では、2フレーム続けて対応点が見つからない場合に曲面パッチが消失したと判定しているが、このフレーム数は2に限るものではない。
【0057】
図5に示す例では、フレームT3において、頂点P1,P2の対応点は見つかったが、頂点P3の対応点が見つかっていないので、フレームT2における三角形P1/P2/P3の面積を計算して、頂点P3の追跡処理を続行するか否か判定する。計算した面積が所定の閾値より大きければ、フレームT2の頂点P3の対応点の座標値をフレームT3における頂点P3の対応点(P3’)として対応点リストに追加する。同図に示す例では、フレームT4において頂点P3の対応点が見つかったので、フレームT3の頂点P3の対応点をP3’とみなしてフレームT4以降も頂点P3の追跡処理を行う。なお、フレームT4においても頂点P3の対応点が見つからなかった場合は、フレームT3において頂点P1,P2,P3で構成される曲面パッチは消失したと判定される。
【0058】
以上ステップS202からステップS209までの処理を全ての曲面パッチについて行う。まだ処理していない曲面パッチが存在する場合はステップS202に戻り(ステップS210)、その曲面パッチの各頂点について処理を行う。
【0059】
全ての曲面パッチについて頂点の追跡処理が終了したら、制御点追跡部14が、各曲面パッチの辺の曲線を生成するための制御点の追跡処理を行う。3次ベジエ曲線においては、1つの曲線セグメントを生成するために2つの端点と2つの制御点が必要となる。2つの端点は、曲面パッチの2つの頂点に該当する。また、3次ベジエ曲線において一般に生成される曲線は制御点を通過しないため、制御点はフレーム画像内の閉領域のエッジやコーナーなどの特徴点となるとは限らない。
【0060】
各フレームごとに被写体オブジェクトのエッジを抽出し、エッジを近似するベジエ曲線を生成するように制御点を決定する方法もあるが、本実施の形態では、フレーム間で曲面パッチの辺を形成する頂点(端点)と制御点の相互の位置関係が大きく変化しないと仮定し、前フレームにおける各頂点と各制御点の位置関係と現在のフレームの各頂点の位置関係に基づいて制御点を推定する。
【0061】
まず、一次結合近似部141が、ある頂点に対する制御点の位置ベクトルをある頂点に対する曲面パッチの辺を構成する2つの頂点の位置ベクトルの一次結合で表す(ステップS211)。具体的には、次式(7)に示すように、前フレームにおける、頂点P1,P2を結ぶ曲線の制御点C1,C2それぞれを、その曲線を構成しない同じ曲面パッチの別の頂点P3対する頂点P1,P2の位置ベクトルで表す。
【数7】
【0062】
図6に示すように、現在のフレームにおいても前フレームにおける頂点と制御点の位置関係が大きく変化しないと仮定し、式(7)の一次結合係数a,b,c,dが保存されるとして、次式(8)に示すように、一次結合係数a,b,c,dを用いて、現在のフレームにおける制御点C1’,C2’それぞれを頂点P3’に対する頂点P1’,P2’の位置ベクトルで表す。
【数8】
【0063】
なお、パッチ形状が四角形の場合は、辺を構成する頂点以外に2つの頂点が存在するが、いずれか一方を位置ベクトルの始点と定めればよい。
【0064】
続いて、制御点評価補正部142が、頂点P1’,P2’と制御点C1’,C2’で生成されるベジエ曲線と、現在処理対象のフレーム画像内の閉領域のエッジとの差分を評価して制御点C1’,C2’の位置を補正する(ステップS212)。エッジを構成する画素とベジエ曲線との差分を計算すると計算量が多くなるため、本実施の形態では、エッジ上の2点とベジエ曲線との距離で評価する。
【0065】
具体的には、図7に示すように、制御点C1’とベジエ曲線との距離が最小となるベジエ曲線上の点をB1、直線C1’B1とエッジとの交点をE1として、点B1,E1間の距離が所定の閾値よりも小さければ制御点C1’の位置を補正せず、点B1,E1間の距離が所定の閾値以上で、点C1’,B1間の距離≦点C1’,E1間の距離であれば、制御点C1’を点C1’から点B1の方向に所定の距離移動させて新たな制御点C1’とし、点C1’,B1間の距離≧点C1’,E1間の距離であれば、制御点C1’を点B1から点C1’の方向に所定の距離移動させて新たな制御点C1’とする。制御点C1’を移動させる距離は、例えば、点C1’B1間の距離に適当な実数(例えば、0.5)を乗じた値とする。制御点C2’についても同様の処理を行い、頂点P1’,P2’と新たな制御点C1’,C2’で生成されるベジエ曲線について、点B1,E1間、点B2,E2間の距離が所定の閾値よりも小さくなるまで上記の補正処理を繰り返す。
【0066】
任意の点とベジエ曲線との最短距離を計算し、最短距離となるベジエ曲線上の点を求める方法は、例えば、Philip J. Schneider,“Solving the Nearest-point-on-curve Problem”, Graphics Gems, Morgan Kaufmann Publishers(参考文献1)や Philip J. Schneider,“An Algorithm for Automatically Fitting Digitized Curves”, Graphics Gems, Morgan Kaufmann Publishers(参考文献2)に解説されている。
【0067】
以上の制御点の追跡処理を全ての制御点について行う(ステップS213)。なお、三角形ベジエパッチの場合はさらに三角形内部にひとつの制御点があり、四角形ベシエパッチの場合は内部に4つの制御点がある。これらの制御点は、上記ステップS211の一次結合係数の保存のみで評価してもよい。
【0068】
すべての制御点の追跡処理が終了したら、ステップS201に戻り次のフレーム画像を読み込んでそのフレーム画像の頂点、制御点を求め、全フレームについて処理が終了した場合、あるいは、全ての曲面パッチが消失した場合は、ベクトル化したデータの動きをパラメトリック立体で表現する処理に進む(ステップS214)。
【0069】
次に、図4に示す、ベクトル化したデータの動きをパラメトリック立体で表現する処理について説明する。図4に示す処理では、頂点、制御点の時間軸方向の軌跡をベジエ曲線で近似し、その結果生成される制御点を用いてパラメトリック立体を生成する。
【0070】
曲線近似部151は、各曲面パッチについて、曲面パッチを構成する全ての頂点、制御点の時間軸方向の軌跡をベジエ曲線で近似する(ステップS301)。例えば、参考文献2で解説されている手法により、3次の区分的ベジエ曲線により近似する。
【0071】
図8に、四角形ベジエパッチを時間軸方向に追跡したベジエ6面体の例を示す。図8(a)は、頂点追跡部13で追跡した頂点の時間軸方向の軌跡を図示した図であり、図8(b)は、図8(a)の軌跡を近似するベジエ曲線を構成する制御点を図示した図である。図8(c)には、図8(a)に示すベジエ立体における各パラメータの定義域を示している。また、同様に、図9に、三角形ベジエパッチを時間軸方向に追跡したベシエ三角柱の例を示しておく。
【0072】
頂点、制御点の軌跡を近似したベジエ曲線の開始フレーム、終了フレームにおける端(頂点、制御点)は、(x,y,t)空間において同じtを持つ。軌跡を近似したベジエ曲線を構成する各曲面パッチの頂点、制御点のうち、時間軸方向の添字が等しいもの、例えば、図8(b)におけるPij1となる16点は、(x,y,t)空間において同じtを持つとよい。同様に、Pij2となる16点についても同じtを持つと良い。また、図8(b)におけるPijk,1となる10点、およびPijk,2となる10点も(x,y,t)空間においてそれぞれ同じtを持つと良い。これにより、図8,9に示すパラメトリック立体において、パラメータ(u,v,w)のwの値を一つ決めると、tが一意に決まり、あとの計算処理が容易になる。
【0073】
続いて、誤差評価分割部152が、頂点、制御点の時間軸方向の軌跡を近似した曲線と近似対象の頂点、制御点の対応点列との最大距離を評価する(ステップS302)。そして、ひとつの曲面パッチを構成する頂点、制御点の時間軸方向の軌跡を近似した曲線のうち、もっとも誤差が大きいものを選び、その誤差と所定の閾値と比較する(ステップS303)。
【0074】
最大誤差が所定の閾値よりも大きい場合、誤差評価分割部152は、もっとも誤差が大きい曲線を分割する(ステップS304)。曲線の分割方法は、2次元平面上の曲線について、参考文献2に記載されている。3次元曲線についても本質的に同様の処理で実現できる。図10に2次元平面上のベジエ曲線を分割する例を示す。例えば、図10の点線で示す頂点P1から頂点P2までの追跡点列を図10の実線で示すベジエ曲線で近似しようとしても誤差が大きくなる場合、追跡点列とベジエ曲線の距離が最も大きくなる点P12を分割点として選び、新たに分割点の前後それぞれにおいてベジエ曲線で近似する。図10に示すように、ベジエ曲線を分割した場合、ベジエ曲線上の分割点が新たな頂点P12となり、頂点P1,P12を結ぶベジエ曲線の2つの制御点C11,C12、頂点P12,P2を結ぶベジエ曲線の2つの制御点C21,C22が新たに追加される。
【0075】
さらに、同じ曲面パッチを構成する他の頂点、制御点の時間軸方向の軌跡を近似した曲線も分割し(ステップS305)、分割で生じた新たな立体に対応する曲面パッチをパッチリストに追加する(ステップS306)。他の曲線を分割する際には、ステップS304で曲線の分割に用いたパラメータ値Wに対応する時間変数Tを求め、時間変数Tに相当するパラメータ値で分割する。この分割処理は、図7(a),8(a)で示した立体を時間軸に垂直な面で切断することに相当する。なお、隣接するパッチにおいて、頂点、制御点を共有する場合もあるが、片方のパッチでは分割が行われ、他方のパッチでは分割が行われないという場合も生じる。
【0076】
一方、最大誤差が所定の閾値以下の場合は、色値取得部16が、パッチを時間軸方向に追跡して生成されたベジエ立体の頂点、制御点の色値を確定させる(ステップS307)。具体的には、パッチの開始フレーム、終了フレームにおける色値は、パッチの各頂点、制御点の座標値における色値をそのフレームから取得することで得られる。制御点がパッチの内部にある場合は、該当座標値の色値を用い、制御点がパッチの外部にある場合は、適当な初期値、例えば、制御点に最も近いパッチの辺上の点の色値を与える。あるいは、数式(5),(6)で時間変数tを初期値または終了値に固定した際のP(u,v,w)の各画素位置に該当する値を計算し、色値の最大誤差が所定の値より小さくなるように色値を変化させながら非線形最小二乗法、例えば、Levenberg−Marquardt法を用いて色値を求めてもよい。このとき、計算を容易化するために、オブジェクトの境界となるパッチの辺は曲線で表し、オブジェクトの内部は辺が線分となる三角形で表現してもよい。例えば、開始フレームや終了フレームにおいて、図11(a)では全ての辺が曲線から構成されるパッチを用いて近似し、図11(b)ではオブジェクトの輪郭のみを曲線で表し、内部の辺は線分となるパッチを用いて近似し、図11(c)ではオブジェクトの輪郭も含めて全ての辺が線分となるパッチを用いて近似している。辺が線分で構成される三角形では、制御点は辺上にあるため、辺を3分割する点を制御点とみなしてその座標値での色値を用いる。図11(a)のように辺が曲線で構成されるパッチを用いる場合でも、図11(c)のように頂点を結んだ線分を3分割する点の位置の色値を用いてもよい。また、頂点の色値を初期値として非線形最小二乗法で反復計算して求めてもよい。
【0077】
パッチの開始フレーム、終了フレーム以外の制御点の色値、および、分割された場合の頂点、制御点の色値については、対応する頂点、制御点の開始フレームにおける色値を用いてもよいし、図12に示すように補間してもよい。図12に示す例では、分割をした際の時間変数Tの前後のフレームをTf,Tb(Tf<Tb)として、Tfでの色値をCf、Tbでの色値をCbとおき、Tにおける色値C(T)を次式(9)で補間する。
【0078】
C(T)=((T−Tb)Cf + (Tf−T)Cb)/Tb−Tf (9)
以上ステップS301からステップS307までの処理を全てのパッチについて行う。まだ処理していないパッチが存在する場合はステップS301に戻り(ステップS308)、そのパッチの動きをパラメトリック立体で表現する。
【0079】
全てのパッチについて、頂点、制御点の時空間座標値およびその座標値における色値(x,y,t,c)を決定し、データをファイルとして出力する(S309)。出力するデータは、パッチ毎に、パッチID、パッチの開始時刻、パッチの終了時刻、ベジエ三角柱の場合は40個の頂点および制御点のx座標値、y座標値、t座標値、色値を有している。ベジエ6面体を利用する場合は64個の頂点および制御点のデータとなる。
【0080】
次に、出力されたベクトルデータから動画像を生成する手順について説明する。
【0081】
座標(x,y)を指定し、ベクトルデータがベジエ6面体の場合は式(5)、ベジエ三角形の場合は式(6)を用いて、時空間座標値(x,y,t)となるパラメータ(u,v,w)を Newton-Raphson を用いて求め、パラメータ(u,v,w)を用いて式(5)または式(6)に代入し、(x,y,t)における色値を計算する。座標値(x,y)をディジタル画像における画素の中心位置、tをディジタル画像のおけるフレーム位置と解釈すれば、ベクトルデータからディジタル動画像を生成することが可能となる。
【0082】
以上説明したように、本実施の形態によれば、動画像データの開始フレーム画像内の類似した色値を持つ閉領域を四角形の曲面パッチに分割し、曲面パッチの頂点、制御点を動画像データのフレームを参照して時系列順に追跡し、頂点、制御点の時間軸方向の軌跡をパラメトリック曲線で近似し、パラメトリック曲線の頂点および制御点に対応する色値を動画像データのフレーム画像から取得して、パラメトリック曲線の頂点および制御点の時空間座標値と対応する色値を出力することにより、動画像データをベクトルデータで表現することが可能となり、より少ないデータ量で、拡大縮小しても画質を損なわず表現することができる。また、オブジェクトあるいはパッチレベルでの内容の編集や修正を行うことができる。
【0083】
なお、本実施の形態では、パラメトリック曲線や曲面、立体において、ベジエ曲線、ベジエ曲面、ベジエ立体を念頭に説明したが、本質的にはどのようなパラメトリック曲線/曲面/立体を用いてもよい。例えば、有理ベジエ立体やBスプライン立体としても適用可能である。また、従来手法においては、パラメトリック曲面パッチの次数として3次で表現されることが多い。これについても、本質的には2次以上であれば次数はいくつでもよいが、処理の容易さから次数3のものが用いられることが多い。
【符号の説明】
【0084】
11…動画像読込部
12…静止画像ベクトル化部
13…頂点追跡部
131…データリスト処理部
132…頂点追跡判定部
133…時間長判定部
14…制御点追跡部
141…一次結合近似部
142…制御点評価補正部
15…パラメトリック立体化部
151…曲線近似部
152…誤差評価分割部
16…色値取得部
17…出力部
18…蓄積部
【技術分野】
【0001】
本発明は、動画像をベクトルデータで表現する技術に関する。
【背景技術】
【0002】
デジタルカメラやビデオカメラ等で撮影された画像は、一般に、ビットマップ形式で保存されて利用されることが多い。ビットマップ形式では、画像を画素に分割し、画像を様々な色の画素の集合として取り扱うため写実性に優れている。しかしながら、画像に写されているオブジェクト単位で編集することは容易ではなく、画像を拡大表示した際に、画質が劣化するという問題がある。図形をベースとするベクトル形式のデータは、ベクトルデータが関数的な数値で表され、オブジェクト自体が数式に基づいて描画されるため、オブジェクト単位での編集が容易であり、拡大表示しても一定の画質が保持される。なお、オブジェクトとは、画像内に撮影された意味のあるまとまりを意味し、例えば、人物、頭部、机、車両などの像に代表される。
【0003】
このような背景のもと、ビットマップ形式の画像をベクトル形式のデータに変換する手法が提案されている(非特許文献1−3参照)。これらの手法は、できるだけ元のビットマップ形式の画像が持つ画質(写実性)を損なわないようにして、できるだけ少ない数の図形要素を持つベクトル形式のデータに変換することを特徴としている。具体的には、ビットマップ形式の画像内のオブジェクトを閉領域とみなし、閉領域の輪郭及び内部を類似した色値を持つ領域毎に「辺がパラメトリック曲線で構成される三角形」や「辺がパラメトリック曲線で構成される四角形」などのパラメトリック曲面パッチに分割して、閉領域の輪郭をパラメトリック曲線で近似するとともに、パラメトリック曲面パッチの内部の色を補間して生成する。以降ではパラメトリック曲面パッチを「三角形パッチ」、「四角形パッチ」、「曲面パッチ」、あるいは単に「パッチ」と称することもある。
【0004】
図13に、ビットマップ形式の画像をベクトル形式のデータに変換する様子を示す。図13(a)は、各画素がそれぞれ色値を持っているビットマップ形式の画像を示す。図13(b)は、四角形パッチで近似した例を示し、図13(c)は三角形パッチで近似した例を示す。このとき、四角形パッチや三角形パッチは幾何学的には画像面に垂直な方向の高さを持つことができるが、この「高さ」に相当する値を「色値」として表現することで、パッチ内部の色を補間することができる。非特許文献3においては、領域の輪郭のみにパラメトリック曲線を用い、内部の色の補間は薄板スプライン(Thin Plate Spline)補間を用いている。
【0005】
ここで、四角形パッチ、三角形パッチの例について説明する。
【0006】
双3次ベジエ四角形パッチは、3次元空間に格子状に配置された4×4の制御点の座標値Pij(i=0,1,2,3; j=0,1,2,3)を用いて、4頂点P00,P03,P30,P33で囲まれた領域内部の点Pを次式(1)と表す。
【数1】
【0007】
Bi3(u),Bj3(v)はそれぞれ3次の Bernstein 基底関数である。u,v(0≦u≦1,0≦v≦1)はパラメトリック空間のパラメータである。
【0008】
パラメータsに対する1変数3次の Bernstein 基底関数は次式(2)となる。
【数2】
【0009】
すなわち、四角形を構成する4つの頂点を含む16個の制御点の3次元座標値を用いて、四角形を構成する4つの頂点を通過する曲面を構成することができる。パラメータu,vについて3次であるが、それぞれ次数がひとつ増えると制御点がひとつ増える。
【0010】
また、双3次ベジエ三角形パッチは、3つの頂点と、それぞれの辺を構成するベジエ曲線の制御点が2つずつと、三角形パッチ内部にある制御点が1つの合計10個の制御点Pijk(i=0,1,2,3; j=0,1,2,3; k=0,1,2,3; i+j+k=3)を用いて次式(3)と表すことができる。
【数3】
【0011】
Bijk3(u,v)は2変数の3次 Bernstein 基底関数である。u,v(0≦u≦1,0≦v≦1)はパラメトリック空間のパラメータである。
【0012】
パラメータu,vに対する2変数3次 Bernstein 基底関数は次式(4)となる。
【数4】
【0013】
一方、コンピュータグラフィクスによって表現された3次元物体の形状を変形させることを目的としてパラメトリック立体が提案されている。3次元物体をパラメトリック立体で覆い、3次元物体を構成する各点の座標値をパラメトリック立体を生成するパラメータに対応付け、パラメトリック立体の制御点を変形させることで、3次元物体の形状もそれに応じて変形させる技術である。例えば、非特許文献4では、パラメトリック立体として、立体の各辺や面がベジエ曲線やベジエパッチで表されるベジエ立体を用いている。
【0014】
3次ベジエ立体は、3次元空間に立体格子状に配置された4×4×4の制御点の座標値Pijk(i=0,1,2,3; j=0,1,2,3; k=0,1,2,3)とパラメータu,v,wを用いて、立体内部の点Pを次式(5)と表すことができる。
【数5】
【0015】
Bi3(u),Bj3(v),Bk3(w)は、それぞれ式(2)で表される3次の Bernstein 基底関数である。u,v,w(0≦u≦1,0≦v≦1,0≦w≦1)はパラメトリック空間のパラメータである。
【0016】
同様に、式(3)で表されるベジエ三角パッチを底面とみなし、面が曲面で構成される三角柱を10×4の制御点の座標値Pijk,m(i=0,1,2,3; j=0,1,2,3; k=0,1,2,3; m=0,1,2,3; i+j+k=3)とパラメータu,v,wを用いて、立体内部の点Pを次式(6)と表すことができる。
【数6】
【0017】
Bm3(w)は式(2)で表される1変数3次 Bernstein 基底関数、Bijk3(u,v)は式(4)で表される2変数3次 Bernstein 基底関数である。
【先行技術文献】
【特許文献】
【0018】
【特許文献1】特許第4189276号公報
【特許文献2】特許第2834790号公報
【非特許文献】
【0019】
【非特許文献1】Brian Price and William Barrett,“Object-Based Vectorization for Interactive Image Editing”, Visual Computer, 22, 2006年8月, p.661-670
【非特許文献2】Yu-Kun Lai, Shi-Min Hu and Ralph R. Martin,“Automatic and Topology-Preserving Gradient Mesh Generation for Image Vectorization”, ACM Transactions on Graphics, Vol. 28, No. 3(SIGGRAPH 2009), 2009年8月, Article 85:1-8
【非特許文献3】Tian Xia, Binbin Liao, Yizhou Yu,“Patch-based Image Vectorization with Aut omatic Curvilinear Feature Alignment”, ACM Transactions on Graphics, Vol. 28, No. 5(SIGGRAPH Asia 2009), 2009年12月, Article 115:1-10
【非特許文献4】Thomas W. Sederberg and Scott R. Parry,“Free-Form Deformation of Solid Geometric Models”, Computer Graphics, Vol. 20, No. 4(Proceedings of SIGGRAPH 1986), 1986年, p.151-160
【非特許文献5】Jue Wang, Yingqing Xu, Heugn-Yeung Shum and Michael F. Cohen,“Video tooning”, ACM Transactions on Graphics, Vol. 23, No. 3(SIGGRAPH 2004), 2004年8月, p.574-583
【発明の概要】
【発明が解決しようとする課題】
【0020】
動画像のベクトルデータについては、例えば、円や四角形などの図形要素の運動を、時間軸方向に沿った軌跡や運動方程式で表現すること、すなわち、アニメーションとして表現することが考えられる。しかしながら、ビデオカメラ等で撮影された実写動画像をこのようなアニメーションとして表現することは容易ではない。被写体となるオブジェクトは形状の変化を伴ったり隠蔽されたりして、動画像に撮影されている全ての被写体の形状と運動とを数式として復元することが困難だからである。
【0021】
これに対し、動画像内のオブジェクトではなく画素に着目し、初期フレームの全ての画素の色情報と、その画素の時間変化を直線近似する手法が開示されている。例えば、特許文献1には、初期フレームと終了フレームの対応する画素を直線で結んで途中の任意の時刻での画像を生成する手法が開示されている。特許文献2には、静止剛体を等速直線運動するカメラで撮影した動画像を対象に、先頭フレームの画素を以降のフレームにわたって追跡し、直線で近似する手法が開示されている。
【0022】
しかしながら、これらの手法では被写体が動いたり変形する場合への適用が困難であるという問題がある。被写体が動いたり変形したりする動画像に対し、非特許文献5では、画素や被写体の境界を滑らかな曲線で近似し、さらに時間軸方向にも滑らかにつなぎ、イラスト調の画像を生成する手法が開示されているが、もとの画像を写実的に再構成することは困難である。
【0023】
本発明は、上記に鑑みてなされたものであり、動画像をベクトルデータで表現することを目的とする。
【課題を解決するための手段】
【0024】
第1の本発明に係る動画像処理装置は、動画像データを読み込み蓄積手段に蓄積する読込手段と、前記蓄積手段から前記動画像データの指定されたフレーム画像を読み出し、当該フレーム画像内の類似した色値を持つ閉領域を曲面パッチに分割し、曲面パッチの辺の端を頂点として頂点リストに登録し、その辺を構成するための点を制御点として制御点リストに登録するベクトル化手段と、前記動画像データから時系列順にフレーム画像を読み出し、前記曲面パッチ毎に、読み出したフレーム画像から前記頂点リストに登録された頂点に対応する対応点を検出してそのフレーム画像における頂点として頂点リストに登録する頂点追跡手段と、時系列順に読み出したフレーム画像毎に、前記曲面パッチそれぞれについて、前記頂点リストに登録された頂点を前記曲面パッチの辺の端としたときに前記曲面パッチの辺を構成するための制御点の位置を、その頂点の位置関係に基づいて推定してそのフレーム画像における制御点として制御点リストに登録する制御点追跡手段と、前記頂点リストおよび前記制御点リストを参照し、前記ベクトル化手段により登録された頂点および制御点それぞれの時間軸方向の軌跡をパラメトリック曲線で近似する曲線近似手段と、前記曲線近似手段が近似したパラメトリック曲線の頂点および制御点に対応する色値を前記動画像データのフレーム画像から取得する色値取得手段と、前記パラメトリック曲線の頂点および制御点の時空間座標値と対応する色値を出力する出力手段と、を有することを特徴とする。
【0025】
第2の本発明に係る動画像処理方法は、読込手段による、動画像データを読み込み蓄積手段に蓄積するステップと、ベクトル化手段による、前記蓄積手段から前記動画像データの指定されたフレーム画像を読み出し、当該フレーム画像内の類似した色値を持つ閉領域を曲面パッチに分割し、曲面パッチの辺の端を頂点として頂点リストに登録し、その辺を構成するための点を制御点として制御点リストに登録するステップと、頂点追跡手段による、前記動画像データから時系列順にフレーム画像を読み出し、前記曲面パッチ毎に、読み出したフレーム画像から前記頂点リストに登録された頂点に対応する対応点を検出してそのフレーム画像における頂点として頂点リストに登録するステップと、制御点追跡手段による、時系列順に読み出したフレーム画像毎に、前記曲面パッチそれぞれについて、前記頂点リストに登録された頂点を前記曲面パッチの辺の端としたときに前記曲面パッチの辺を構成するための制御点の位置を、その頂点の位置関係に基づいて推定してそのフレーム画像における制御点として制御点リストに登録するステップと、曲線近似手段による、前記頂点リストおよび前記制御点リストを参照し、前記ベクトル化手段により登録された頂点および制御点それぞれの時間軸方向の軌跡をパラメトリック曲線で近似するステップと、色値取得手段による、前記曲線近似手段が近似したパラメトリック曲線の頂点および制御点に対応する色値を前記動画像データのフレーム画像から取得するステップと、出力手段による、前記パラメトリック曲線の頂点および制御点の時空間座標値と対応する色値を出力するステップと、を有することを特徴とする。
【0026】
第3の本発明に係る動画像処理プログラムは、上記動画像処理装置としてコンピュータを機能させることを特徴とする。
【発明の効果】
【0027】
本発明によれば、動画像をベクトルデータで表現することができる。
【図面の簡単な説明】
【0028】
【図1】本実施の形態における動画像処理装置の構成を示す機能ブロック図である。
【図2】開始フレーム画像の静止画像をベクトル化する処理の流れを示すフローチャートである。
【図3】ベクトル化したデータの時間軸方向の軌跡を追跡する処理の流れを示すフローチャートである。
【図4】ベクトル化したデータの動きをパラメトリック立体で表す処理の流れを示すフローチャートである。
【図5】頂点を追跡する様子を示す図である。
【図6】頂点と制御点の位置関係の変化を示す図である。
【図7】制御点の評価を説明する図である。
【図8】四角形ベジエパッチを時間軸方向に追跡したベジエ6面体の例を示す図である。
【図9】三角形ベジエパッチを時間軸方向に追跡したベシエ三角柱の例を示す図である。
【図10】ベジエ曲線の分割を説明する図である。
【図11】パッチの辺を色々な方法で近似した際のパッチの辺と制御点の位置を示す図である。
【図12】色値を補間する様子を示す図である。
【図13】ビットマップ形式の画像をベクトル形式のデータに変換する様子を示す図である。
【発明を実施するための形態】
【0029】
以下、本発明の実施の形態について図面を用いて説明する。
【0030】
図1は、本実施の形態における動画像処理装置の構成を示す機能ブロック図である。同図に示す動画像処理装置は、動画像読込部11、静止画像ベクトル化部12、頂点追跡部13、制御点追跡部14、パラメトリック立体化部15、色値取得部16、出力部17、および蓄積部18を備える。動画像処理装置が備える各部は、演算処理装置、記憶装置等を備えたコンピュータにより構成して、各部の処理がプログラムによって実行されるものとしてもよい。このプログラムは動画像処理装置が備える記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリ等の記録媒体に記録することも、ネットワークを通して提供することも可能である。以下、各部について説明する。
【0031】
動画像読込部11は、動画像ファイルを読み込み動画像データを蓄積部18に蓄積する。
【0032】
静止画像ベクトル化部12は、蓄積部18から動画像データの開始フレーム画像を読み出して、開始フレーム画像内の類似した色値を持つ閉領域を三角形あるいは四角形の曲面パッチに分割し、閉領域の輪郭をパラメトリック曲線で近似する。分割した曲面パッチをパッチリストに、曲面パッチの辺の両端を頂点、曲面パッチの辺を構成するために必要な点を制御点として、頂点リスト、制御点リストに登録する。
【0033】
頂点追跡部13は、データリスト処理部131、頂点追跡判定部132、時間長判定部133を備え、蓄積部18に蓄積された動画像データから時系列順にフレーム画像を読み出して、フレーム画像内の閉領域の角などの特徴点を頂点に対応する対応点として検出し、検出した対応点を対応する頂点に関連付けて対応点リストに登録する。データリスト処理部131は対応点をフレーム画像から対応点を検出し、頂点追跡判定部132は対応点が見つかったか否か判定して対応点の存在を示す存在フラグを設定するとともに、対応点が見つからない場合は、前フレームを参照し、対応点を決定する、あるいは、対応点が消失したと判定する。時間長判定部133は、対応点が消失した場合、その対応点を有する曲面パッチの持続時間を設定するとともにパッチリストから削除する。パッチリストから削除された曲面パッチについては以降のフレームで処理しない。
【0034】
制御点追跡部14は、一次結合近似部141、制御点評価補正部142を備え、前のフレームにおける頂点(対応点)、制御点間の位置関係と、頂点追跡部13が現在処理対象のフレームから検出した対応点の位置関係から、各パッチの辺を構成するために必要な制御点の位置を求めて制御点リストに登録する。一次結合近似部141は、前のフレームにおける頂点と制御点の位置関係を一次結合で表して結合係数を求め、頂点追跡部13が検出した対応点と求めた結合係数により制御点の位置を推定する。制御点評価補正部142は、一次結合近似部141が推定した制御点により構成される曲面パッチの辺とフレーム画像から抽出したエッジを構成する点との距離に基づいて制御点の位置を補正する。
【0035】
パラメトリック立体化部15は、曲線近似部151、誤差評価分割部152を備え、頂点追跡部13、制御点追跡部14が求めた頂点、制御点を時間軸方向に追跡して動画像をパラメトリック立体で表現する。曲線近似部151は、頂点、制御点の時間軸方向の軌跡をベジエ曲線で近似する。誤差評価分割部152は、曲線近似部151が近似した曲線と近似対象の頂点、制御点の対応点列との最大距離を評価し、最大距離が所定の閾値よりも大きい場合は近似した曲線を分割する。なお、本実施の形態におけるパラメトリック立体は、底面がパラメトリック曲面パッチである多角形であり、側面がパラメトリック曲面パッチである四角形から構成される立体を指す。
【0036】
色値取得部16は、生成したパラメトリック立体の頂点、制御点の色値を動画像データのフレーム画像から取得する。フレーム画像から色値が直接取得できない制御点については、取得できる色値を補間して決定する。
【0037】
出力部17は、全てのパラメトリック立体について、頂点、制御点の時空間座標値、その座標値における色値(x,y,t,c)のデータをファイルとして出力する。
【0038】
次に、本実施の形態における動画像処理装置の処理の流れについて説明する。
【0039】
図2〜4は、本実施の形態における動画像処理装置の処理の流れを示すフローチャートである。図2に示す処理で開始フレーム画像の静止画像をベクトル化し、図3に示す処理でベクトル化したデータの時間軸方向の軌跡を追跡し、図4に示す処理でベクトル化したデータの動きをパラメトリック立体で表している。以下、図2に示す処理から順に説明する。
【0040】
まず、図2に示す静止画像のベクトル化処理について説明する。
【0041】
動画像読込部11が、動画像ファイルを読み込んで動画像データを蓄積部18に蓄積する(ステップS101)。このときに、利用者からベクトル化の対象とする時間的範囲(開始フレームと終了フレーム)の指定を受け付けてもよい(ステップS102)。
【0042】
続いて、静止画像ベクトル化部12が、蓄積部18から動画像データの開始フレーム画像を読み出し、開始フレーム画像のベクトル化を実施する(ステップS103)。開始フレーム画像はビットマップ形式の画像であり、ビットマップ形式の画像のベクトル化は、非特許文献1,2,ないし3に記載された手法、あるいは他の手法を用いることができる。開始フレーム画像のベクトル化の際に、利用者からベクトル化の対象とする被写体の指定を受け付けてもよい(ステップS104)。
【0043】
静止画像ベクトル化部12により、開始フレーム画像内の閉領域が三角形あるいは四角形の曲面パッチにより分割され、曲面パッチの辺で被写体オブジェクトの輪郭が良好に近似される。ベクトル化により、画像を四角形ベジエパッチで近似する場合は、ひとつのパッチあたり、4個の頂点と12個の制御点が生成される。画像を三角形ベジエパッチで近似する場合は、ひとつのパッチあたり、3個の頂点と7個の制御点が生成される。なお、本実施の形態では、曲面の「高さ」に相当する変数を、「色値」に置き換えている。カラー画像の場合、例えばRGB表示系であれば、R(赤)、G(緑)、B(青)の各色ごとに曲面パッチを生成してもよい。ここでは、色成分の数や表示系については言及しないが、応用する状況に応じてカラー画像もグレー画像も用いることができる。
【0044】
生成された各曲面パッチの頂点、制御点の各リストは蓄積部18に蓄積される(ステップS105)。このとき、各頂点がどの曲面パッチに属するかを記憶させる。例えば、曲面パッチ、頂点それぞれに識別子を付与し、曲面パッチを指定するとその曲面パッチを構成する頂点の識別子を取得でき、または、頂点を指定するとその頂点を含む曲面パッチ(ひとつではない場合もある)の識別子を取得できるようにしておく。同様に、頂点と制御点も関連付けておく。
【0045】
次に、図3に示す、ベクトル化したデータの時間軸方向の軌跡を追跡する処理について説明する。
【0046】
データリスト処理部131は、動画像ファイルの次フレーム画像を蓄積部18から読み出し、読み出したフレーム画像における各曲面パッチの各頂点に対応する対応点を検出する(ステップS201)。また、各曲面パッチに対して読み出したフレーム画像のフレーム番号あるいは持続時間を付与する。曲面パッチの辺はフレーム画像の閉領域のエッジを近似しており、曲面パッチの頂点は曲面パッチの辺(曲線)の両端であるので、各頂点は、フレーム画像内の閉領域の角などの特徴点となり、検出しやすい。そこで、データリスト処理部131は、読み出したフレーム画像の閉領域の角を頂点の対応点として検出する。
【0047】
図5は、頂点を追跡する様子を示す図である。フレームT1→T2→T3→T4と変化するものとする。同図では、わかりやすくするため、曲面パッチの辺も記載している。同図の頂点P1,P2,P3で構成される三角形パッチにおいて、フレームT2では、頂点P1,P2,P3の対応点が見つかっており、フレームT3では、頂点P2または頂点P3の対応点が見つからず、フレームT4では、再び頂点P1,P2,P3の対応点が見つかっている。
【0048】
フレーム画像を読み出して対応点を検出した後、各曲面パッチについて、以下に示す頂点の追跡処理を行う。
【0049】
頂点追跡判定部132は、曲面パッチから1つの頂点を選択し、その頂点の対応点が存在するか否か判定する(ステップS202)。
【0050】
対応点が存在する場合は、その頂点に対する対応点として対応点リストに座標値を追加し、頂点に対応する対応点の存在を示す存在フラグをオンとする(ステップS203)。
【0051】
曲面パッチのすべての頂点について対応点の存在を判定する処理が終了した場合は次の曲面パッチについての処理へ進み、曲面パッチ内にまだ処理していない頂点が存在する場合はステップS202に戻る(ステップS204)。なお、隣接する曲面パッチでは頂点を共有しているため、すでに対応点が存在していることが明らかな頂点については処理済みとする。
【0052】
一方、対応点が存在しない場合は、前フレームではその頂点の対応点が存在していたか否か判定する(ステップS205)。頂点に対応する存在フラグを評価することで対応点が存在していたか否か判定できる。
【0053】
前フレームで対応点が存在していた場合は、頂点を含む曲面パッチの前フレームにおける面積を計算し(ステップS206)、計算した面積が所定の閾値より大きいか否か判定する(ステップS207)。本実施の形態では、曲面パッチの面積として、図5の点線で示される各頂点P1,P2,P3を結んだ三角形の面積を計算する。
【0054】
計算した面積が所定の閾値よりも大きい場合は、頂点に対応する対応点として前フレームにおける対応点の座標値を現在処理対象のフレームの対応点として対応点リストに追加する(ステップS208)。
【0055】
計算した面積が所定の閾値以下の場合は、現在のフレームで曲面パッチが消失したと判定する。消失した曲面パッチについては、パッチリストから削除し、時間長判定部133が、消失した曲面パッチは、開始フレームから前フレームまで持続したとし、フレーム数あるいはフレーム番号をその曲面パッチのデータとして付与し、以降のフレームではその曲面パッチについての処理を行わない(ステップS209)。
【0056】
一方、ステップS205において前フレームにも対応点が存在していなかった、つまり、2フレーム連続で対応点が存在していなかったと判定された頂点を含む曲面パッチも消失したと判定する。時間長判定部133は、消失した曲面パッチは、2つ前のフレームまで持続したとし、フレーム数あるいはフレーム番号をその曲面パッチのデータとして付与する。なお、本実施の形態では、2フレーム続けて対応点が見つからない場合に曲面パッチが消失したと判定しているが、このフレーム数は2に限るものではない。
【0057】
図5に示す例では、フレームT3において、頂点P1,P2の対応点は見つかったが、頂点P3の対応点が見つかっていないので、フレームT2における三角形P1/P2/P3の面積を計算して、頂点P3の追跡処理を続行するか否か判定する。計算した面積が所定の閾値より大きければ、フレームT2の頂点P3の対応点の座標値をフレームT3における頂点P3の対応点(P3’)として対応点リストに追加する。同図に示す例では、フレームT4において頂点P3の対応点が見つかったので、フレームT3の頂点P3の対応点をP3’とみなしてフレームT4以降も頂点P3の追跡処理を行う。なお、フレームT4においても頂点P3の対応点が見つからなかった場合は、フレームT3において頂点P1,P2,P3で構成される曲面パッチは消失したと判定される。
【0058】
以上ステップS202からステップS209までの処理を全ての曲面パッチについて行う。まだ処理していない曲面パッチが存在する場合はステップS202に戻り(ステップS210)、その曲面パッチの各頂点について処理を行う。
【0059】
全ての曲面パッチについて頂点の追跡処理が終了したら、制御点追跡部14が、各曲面パッチの辺の曲線を生成するための制御点の追跡処理を行う。3次ベジエ曲線においては、1つの曲線セグメントを生成するために2つの端点と2つの制御点が必要となる。2つの端点は、曲面パッチの2つの頂点に該当する。また、3次ベジエ曲線において一般に生成される曲線は制御点を通過しないため、制御点はフレーム画像内の閉領域のエッジやコーナーなどの特徴点となるとは限らない。
【0060】
各フレームごとに被写体オブジェクトのエッジを抽出し、エッジを近似するベジエ曲線を生成するように制御点を決定する方法もあるが、本実施の形態では、フレーム間で曲面パッチの辺を形成する頂点(端点)と制御点の相互の位置関係が大きく変化しないと仮定し、前フレームにおける各頂点と各制御点の位置関係と現在のフレームの各頂点の位置関係に基づいて制御点を推定する。
【0061】
まず、一次結合近似部141が、ある頂点に対する制御点の位置ベクトルをある頂点に対する曲面パッチの辺を構成する2つの頂点の位置ベクトルの一次結合で表す(ステップS211)。具体的には、次式(7)に示すように、前フレームにおける、頂点P1,P2を結ぶ曲線の制御点C1,C2それぞれを、その曲線を構成しない同じ曲面パッチの別の頂点P3対する頂点P1,P2の位置ベクトルで表す。
【数7】
【0062】
図6に示すように、現在のフレームにおいても前フレームにおける頂点と制御点の位置関係が大きく変化しないと仮定し、式(7)の一次結合係数a,b,c,dが保存されるとして、次式(8)に示すように、一次結合係数a,b,c,dを用いて、現在のフレームにおける制御点C1’,C2’それぞれを頂点P3’に対する頂点P1’,P2’の位置ベクトルで表す。
【数8】
【0063】
なお、パッチ形状が四角形の場合は、辺を構成する頂点以外に2つの頂点が存在するが、いずれか一方を位置ベクトルの始点と定めればよい。
【0064】
続いて、制御点評価補正部142が、頂点P1’,P2’と制御点C1’,C2’で生成されるベジエ曲線と、現在処理対象のフレーム画像内の閉領域のエッジとの差分を評価して制御点C1’,C2’の位置を補正する(ステップS212)。エッジを構成する画素とベジエ曲線との差分を計算すると計算量が多くなるため、本実施の形態では、エッジ上の2点とベジエ曲線との距離で評価する。
【0065】
具体的には、図7に示すように、制御点C1’とベジエ曲線との距離が最小となるベジエ曲線上の点をB1、直線C1’B1とエッジとの交点をE1として、点B1,E1間の距離が所定の閾値よりも小さければ制御点C1’の位置を補正せず、点B1,E1間の距離が所定の閾値以上で、点C1’,B1間の距離≦点C1’,E1間の距離であれば、制御点C1’を点C1’から点B1の方向に所定の距離移動させて新たな制御点C1’とし、点C1’,B1間の距離≧点C1’,E1間の距離であれば、制御点C1’を点B1から点C1’の方向に所定の距離移動させて新たな制御点C1’とする。制御点C1’を移動させる距離は、例えば、点C1’B1間の距離に適当な実数(例えば、0.5)を乗じた値とする。制御点C2’についても同様の処理を行い、頂点P1’,P2’と新たな制御点C1’,C2’で生成されるベジエ曲線について、点B1,E1間、点B2,E2間の距離が所定の閾値よりも小さくなるまで上記の補正処理を繰り返す。
【0066】
任意の点とベジエ曲線との最短距離を計算し、最短距離となるベジエ曲線上の点を求める方法は、例えば、Philip J. Schneider,“Solving the Nearest-point-on-curve Problem”, Graphics Gems, Morgan Kaufmann Publishers(参考文献1)や Philip J. Schneider,“An Algorithm for Automatically Fitting Digitized Curves”, Graphics Gems, Morgan Kaufmann Publishers(参考文献2)に解説されている。
【0067】
以上の制御点の追跡処理を全ての制御点について行う(ステップS213)。なお、三角形ベジエパッチの場合はさらに三角形内部にひとつの制御点があり、四角形ベシエパッチの場合は内部に4つの制御点がある。これらの制御点は、上記ステップS211の一次結合係数の保存のみで評価してもよい。
【0068】
すべての制御点の追跡処理が終了したら、ステップS201に戻り次のフレーム画像を読み込んでそのフレーム画像の頂点、制御点を求め、全フレームについて処理が終了した場合、あるいは、全ての曲面パッチが消失した場合は、ベクトル化したデータの動きをパラメトリック立体で表現する処理に進む(ステップS214)。
【0069】
次に、図4に示す、ベクトル化したデータの動きをパラメトリック立体で表現する処理について説明する。図4に示す処理では、頂点、制御点の時間軸方向の軌跡をベジエ曲線で近似し、その結果生成される制御点を用いてパラメトリック立体を生成する。
【0070】
曲線近似部151は、各曲面パッチについて、曲面パッチを構成する全ての頂点、制御点の時間軸方向の軌跡をベジエ曲線で近似する(ステップS301)。例えば、参考文献2で解説されている手法により、3次の区分的ベジエ曲線により近似する。
【0071】
図8に、四角形ベジエパッチを時間軸方向に追跡したベジエ6面体の例を示す。図8(a)は、頂点追跡部13で追跡した頂点の時間軸方向の軌跡を図示した図であり、図8(b)は、図8(a)の軌跡を近似するベジエ曲線を構成する制御点を図示した図である。図8(c)には、図8(a)に示すベジエ立体における各パラメータの定義域を示している。また、同様に、図9に、三角形ベジエパッチを時間軸方向に追跡したベシエ三角柱の例を示しておく。
【0072】
頂点、制御点の軌跡を近似したベジエ曲線の開始フレーム、終了フレームにおける端(頂点、制御点)は、(x,y,t)空間において同じtを持つ。軌跡を近似したベジエ曲線を構成する各曲面パッチの頂点、制御点のうち、時間軸方向の添字が等しいもの、例えば、図8(b)におけるPij1となる16点は、(x,y,t)空間において同じtを持つとよい。同様に、Pij2となる16点についても同じtを持つと良い。また、図8(b)におけるPijk,1となる10点、およびPijk,2となる10点も(x,y,t)空間においてそれぞれ同じtを持つと良い。これにより、図8,9に示すパラメトリック立体において、パラメータ(u,v,w)のwの値を一つ決めると、tが一意に決まり、あとの計算処理が容易になる。
【0073】
続いて、誤差評価分割部152が、頂点、制御点の時間軸方向の軌跡を近似した曲線と近似対象の頂点、制御点の対応点列との最大距離を評価する(ステップS302)。そして、ひとつの曲面パッチを構成する頂点、制御点の時間軸方向の軌跡を近似した曲線のうち、もっとも誤差が大きいものを選び、その誤差と所定の閾値と比較する(ステップS303)。
【0074】
最大誤差が所定の閾値よりも大きい場合、誤差評価分割部152は、もっとも誤差が大きい曲線を分割する(ステップS304)。曲線の分割方法は、2次元平面上の曲線について、参考文献2に記載されている。3次元曲線についても本質的に同様の処理で実現できる。図10に2次元平面上のベジエ曲線を分割する例を示す。例えば、図10の点線で示す頂点P1から頂点P2までの追跡点列を図10の実線で示すベジエ曲線で近似しようとしても誤差が大きくなる場合、追跡点列とベジエ曲線の距離が最も大きくなる点P12を分割点として選び、新たに分割点の前後それぞれにおいてベジエ曲線で近似する。図10に示すように、ベジエ曲線を分割した場合、ベジエ曲線上の分割点が新たな頂点P12となり、頂点P1,P12を結ぶベジエ曲線の2つの制御点C11,C12、頂点P12,P2を結ぶベジエ曲線の2つの制御点C21,C22が新たに追加される。
【0075】
さらに、同じ曲面パッチを構成する他の頂点、制御点の時間軸方向の軌跡を近似した曲線も分割し(ステップS305)、分割で生じた新たな立体に対応する曲面パッチをパッチリストに追加する(ステップS306)。他の曲線を分割する際には、ステップS304で曲線の分割に用いたパラメータ値Wに対応する時間変数Tを求め、時間変数Tに相当するパラメータ値で分割する。この分割処理は、図7(a),8(a)で示した立体を時間軸に垂直な面で切断することに相当する。なお、隣接するパッチにおいて、頂点、制御点を共有する場合もあるが、片方のパッチでは分割が行われ、他方のパッチでは分割が行われないという場合も生じる。
【0076】
一方、最大誤差が所定の閾値以下の場合は、色値取得部16が、パッチを時間軸方向に追跡して生成されたベジエ立体の頂点、制御点の色値を確定させる(ステップS307)。具体的には、パッチの開始フレーム、終了フレームにおける色値は、パッチの各頂点、制御点の座標値における色値をそのフレームから取得することで得られる。制御点がパッチの内部にある場合は、該当座標値の色値を用い、制御点がパッチの外部にある場合は、適当な初期値、例えば、制御点に最も近いパッチの辺上の点の色値を与える。あるいは、数式(5),(6)で時間変数tを初期値または終了値に固定した際のP(u,v,w)の各画素位置に該当する値を計算し、色値の最大誤差が所定の値より小さくなるように色値を変化させながら非線形最小二乗法、例えば、Levenberg−Marquardt法を用いて色値を求めてもよい。このとき、計算を容易化するために、オブジェクトの境界となるパッチの辺は曲線で表し、オブジェクトの内部は辺が線分となる三角形で表現してもよい。例えば、開始フレームや終了フレームにおいて、図11(a)では全ての辺が曲線から構成されるパッチを用いて近似し、図11(b)ではオブジェクトの輪郭のみを曲線で表し、内部の辺は線分となるパッチを用いて近似し、図11(c)ではオブジェクトの輪郭も含めて全ての辺が線分となるパッチを用いて近似している。辺が線分で構成される三角形では、制御点は辺上にあるため、辺を3分割する点を制御点とみなしてその座標値での色値を用いる。図11(a)のように辺が曲線で構成されるパッチを用いる場合でも、図11(c)のように頂点を結んだ線分を3分割する点の位置の色値を用いてもよい。また、頂点の色値を初期値として非線形最小二乗法で反復計算して求めてもよい。
【0077】
パッチの開始フレーム、終了フレーム以外の制御点の色値、および、分割された場合の頂点、制御点の色値については、対応する頂点、制御点の開始フレームにおける色値を用いてもよいし、図12に示すように補間してもよい。図12に示す例では、分割をした際の時間変数Tの前後のフレームをTf,Tb(Tf<Tb)として、Tfでの色値をCf、Tbでの色値をCbとおき、Tにおける色値C(T)を次式(9)で補間する。
【0078】
C(T)=((T−Tb)Cf + (Tf−T)Cb)/Tb−Tf (9)
以上ステップS301からステップS307までの処理を全てのパッチについて行う。まだ処理していないパッチが存在する場合はステップS301に戻り(ステップS308)、そのパッチの動きをパラメトリック立体で表現する。
【0079】
全てのパッチについて、頂点、制御点の時空間座標値およびその座標値における色値(x,y,t,c)を決定し、データをファイルとして出力する(S309)。出力するデータは、パッチ毎に、パッチID、パッチの開始時刻、パッチの終了時刻、ベジエ三角柱の場合は40個の頂点および制御点のx座標値、y座標値、t座標値、色値を有している。ベジエ6面体を利用する場合は64個の頂点および制御点のデータとなる。
【0080】
次に、出力されたベクトルデータから動画像を生成する手順について説明する。
【0081】
座標(x,y)を指定し、ベクトルデータがベジエ6面体の場合は式(5)、ベジエ三角形の場合は式(6)を用いて、時空間座標値(x,y,t)となるパラメータ(u,v,w)を Newton-Raphson を用いて求め、パラメータ(u,v,w)を用いて式(5)または式(6)に代入し、(x,y,t)における色値を計算する。座標値(x,y)をディジタル画像における画素の中心位置、tをディジタル画像のおけるフレーム位置と解釈すれば、ベクトルデータからディジタル動画像を生成することが可能となる。
【0082】
以上説明したように、本実施の形態によれば、動画像データの開始フレーム画像内の類似した色値を持つ閉領域を四角形の曲面パッチに分割し、曲面パッチの頂点、制御点を動画像データのフレームを参照して時系列順に追跡し、頂点、制御点の時間軸方向の軌跡をパラメトリック曲線で近似し、パラメトリック曲線の頂点および制御点に対応する色値を動画像データのフレーム画像から取得して、パラメトリック曲線の頂点および制御点の時空間座標値と対応する色値を出力することにより、動画像データをベクトルデータで表現することが可能となり、より少ないデータ量で、拡大縮小しても画質を損なわず表現することができる。また、オブジェクトあるいはパッチレベルでの内容の編集や修正を行うことができる。
【0083】
なお、本実施の形態では、パラメトリック曲線や曲面、立体において、ベジエ曲線、ベジエ曲面、ベジエ立体を念頭に説明したが、本質的にはどのようなパラメトリック曲線/曲面/立体を用いてもよい。例えば、有理ベジエ立体やBスプライン立体としても適用可能である。また、従来手法においては、パラメトリック曲面パッチの次数として3次で表現されることが多い。これについても、本質的には2次以上であれば次数はいくつでもよいが、処理の容易さから次数3のものが用いられることが多い。
【符号の説明】
【0084】
11…動画像読込部
12…静止画像ベクトル化部
13…頂点追跡部
131…データリスト処理部
132…頂点追跡判定部
133…時間長判定部
14…制御点追跡部
141…一次結合近似部
142…制御点評価補正部
15…パラメトリック立体化部
151…曲線近似部
152…誤差評価分割部
16…色値取得部
17…出力部
18…蓄積部
【特許請求の範囲】
【請求項1】
動画像データを読み込み蓄積手段に蓄積する読込手段と、
前記蓄積手段から前記動画像データの指定されたフレーム画像を読み出し、当該フレーム画像内の類似した色値を持つ閉領域を曲面パッチに分割し、曲面パッチの辺の端を頂点として頂点リストに登録し、その辺を構成するための点を制御点として制御点リストに登録するベクトル化手段と、
前記動画像データから時系列順にフレーム画像を読み出し、前記曲面パッチ毎に、読み出したフレーム画像から前記頂点リストに登録された頂点に対応する対応点を検出してそのフレーム画像における頂点として頂点リストに登録する頂点追跡手段と、
時系列順に読み出したフレーム画像毎に、前記曲面パッチそれぞれについて、前記頂点リストに登録された頂点を前記曲面パッチの辺の端としたときに前記曲面パッチの辺を構成するための制御点の位置を、その頂点の位置関係に基づいて推定してそのフレーム画像における制御点として制御点リストに登録する制御点追跡手段と、
前記頂点リストおよび前記制御点リストを参照し、前記ベクトル化手段により登録された頂点および制御点それぞれの時間軸方向の軌跡をパラメトリック曲線で近似する曲線近似手段と、
前記曲線近似手段が近似したパラメトリック曲線の頂点および制御点に対応する色値を前記動画像データのフレーム画像から取得する色値取得手段と、
前記パラメトリック曲線の頂点および制御点の時空間座標値と対応する色値を出力する出力手段と、
を有することを特徴とする動画像処理装置。
【請求項2】
前記制御点追跡手段は、
前のフレームにおける前記頂点と前記制御点の位置関係を当該制御点により構成される曲面パッチの辺の両端の頂点と別の頂点の一次結合で表して結合係数を求め、前記制御点の位置を求めるフレームにおける前記頂点と前記結合係数により前記制御点の位置を推定する一次結合近似手段と、
推定した前記制御点により構成される曲面パッチの辺とフレーム画像から抽出したエッジを構成する点との距離に基づいて前記制御点の位置を補正する補正手段と、
を有することを特徴とする請求項1記載の動画像処理装置。
【請求項3】
前記頂点追跡手段は、
前記対応点が検出できない場合に、当該対応点を含む前のフレームにおける曲面パッチの各頂点を結んで構成される図形の面積を計算し、当該面積が所定の閾値よりも小さい場合は対応点なしと判定し、当該面積が所定の閾値以上の場合は前のフレームにおける対応点の位置を今のフレームにおける対応点の位置とする判定手段と、
前記判定手段が所定の数のフレームに渡って対応点なし判定した場合に、当該対応点を含む前記曲面パッチについて以降のフレームについて処理を行わないとする消失手段と、
を有することを特徴とする請求項1又は2記載の動画像処理装置。
【請求項4】
読込手段による、動画像データを読み込み蓄積手段に蓄積するステップと、
ベクトル化手段による、前記蓄積手段から前記動画像データの指定されたフレーム画像を読み出し、当該フレーム画像内の類似した色値を持つ閉領域を曲面パッチに分割し、曲面パッチの辺の端を頂点として頂点リストに登録し、その辺を構成するための点を制御点として制御点リストに登録するステップと、
頂点追跡手段による、前記動画像データから時系列順にフレーム画像を読み出し、前記曲面パッチ毎に、読み出したフレーム画像から前記頂点リストに登録された頂点に対応する対応点を検出してそのフレーム画像における頂点として頂点リストに登録するステップと、
制御点追跡手段による、時系列順に読み出したフレーム画像毎に、前記曲面パッチそれぞれについて、前記頂点リストに登録された頂点を前記曲面パッチの辺の端としたときに前記曲面パッチの辺を構成するための制御点の位置を、その頂点の位置関係に基づいて推定してそのフレーム画像における制御点として制御点リストに登録するステップと、
曲線近似手段による、前記頂点リストおよび前記制御点リストを参照し、前記ベクトル化手段により登録された頂点および制御点それぞれの時間軸方向の軌跡をパラメトリック曲線で近似するステップと、
色値取得手段による、前記曲線近似手段が近似したパラメトリック曲線の頂点および制御点に対応する色値を前記動画像データのフレーム画像から取得するステップと、
出力手段による、前記パラメトリック曲線の頂点および制御点の時空間座標値と対応する色値を出力するステップと、
を有することを特徴とする動画像処理方法。
【請求項5】
前記制御点追跡手段による前記制御点リストに登録するステップは、
一次結合近似手段による、前のフレームにおける前記頂点と前記制御点の位置関係を当該制御点により構成される曲面パッチの辺の両端の頂点と別の頂点の一次結合で表して結合係数を求め、前記制御点の位置を求めるフレームにおける前記頂点と前記結合係数により前記制御点の位置を推定するステップと、
補正手段による、推定した前記制御点により構成される曲面パッチの辺とフレーム画像から抽出したエッジを構成する点との距離に基づいて前記制御点の位置を補正するステップと、
を有することを特徴とする請求項4記載の動画像処理方法。
【請求項6】
前記頂点追跡手段による前記頂点リストに登録するステップは、
判定手段による、前記対応点が検出できない場合に、当該対応点を含む前のフレームにおける曲面パッチの各頂点を結んで構成される図形の面積を計算し、当該面積が所定の閾値よりも小さい場合は対応点なしと判定し、当該面積が所定の閾値以上の場合は前のフレームにおける対応点の位置を今のフレームにおける対応点の位置とするステップと、
消失手段による、前記判定手段が所定の数のフレームに渡って対応点なし判定した場合に、当該対応点を含む前記曲面パッチについて以降のフレームについて処理を行わないとするステップと、
を有することを特徴とする請求項4又は5記載の動画像処理方法。
【請求項7】
請求項1乃至3のいずれかに記載の動画像処理装置としてコンピュータを機能させることを特徴とする動画像処理プログラム。
【請求項1】
動画像データを読み込み蓄積手段に蓄積する読込手段と、
前記蓄積手段から前記動画像データの指定されたフレーム画像を読み出し、当該フレーム画像内の類似した色値を持つ閉領域を曲面パッチに分割し、曲面パッチの辺の端を頂点として頂点リストに登録し、その辺を構成するための点を制御点として制御点リストに登録するベクトル化手段と、
前記動画像データから時系列順にフレーム画像を読み出し、前記曲面パッチ毎に、読み出したフレーム画像から前記頂点リストに登録された頂点に対応する対応点を検出してそのフレーム画像における頂点として頂点リストに登録する頂点追跡手段と、
時系列順に読み出したフレーム画像毎に、前記曲面パッチそれぞれについて、前記頂点リストに登録された頂点を前記曲面パッチの辺の端としたときに前記曲面パッチの辺を構成するための制御点の位置を、その頂点の位置関係に基づいて推定してそのフレーム画像における制御点として制御点リストに登録する制御点追跡手段と、
前記頂点リストおよび前記制御点リストを参照し、前記ベクトル化手段により登録された頂点および制御点それぞれの時間軸方向の軌跡をパラメトリック曲線で近似する曲線近似手段と、
前記曲線近似手段が近似したパラメトリック曲線の頂点および制御点に対応する色値を前記動画像データのフレーム画像から取得する色値取得手段と、
前記パラメトリック曲線の頂点および制御点の時空間座標値と対応する色値を出力する出力手段と、
を有することを特徴とする動画像処理装置。
【請求項2】
前記制御点追跡手段は、
前のフレームにおける前記頂点と前記制御点の位置関係を当該制御点により構成される曲面パッチの辺の両端の頂点と別の頂点の一次結合で表して結合係数を求め、前記制御点の位置を求めるフレームにおける前記頂点と前記結合係数により前記制御点の位置を推定する一次結合近似手段と、
推定した前記制御点により構成される曲面パッチの辺とフレーム画像から抽出したエッジを構成する点との距離に基づいて前記制御点の位置を補正する補正手段と、
を有することを特徴とする請求項1記載の動画像処理装置。
【請求項3】
前記頂点追跡手段は、
前記対応点が検出できない場合に、当該対応点を含む前のフレームにおける曲面パッチの各頂点を結んで構成される図形の面積を計算し、当該面積が所定の閾値よりも小さい場合は対応点なしと判定し、当該面積が所定の閾値以上の場合は前のフレームにおける対応点の位置を今のフレームにおける対応点の位置とする判定手段と、
前記判定手段が所定の数のフレームに渡って対応点なし判定した場合に、当該対応点を含む前記曲面パッチについて以降のフレームについて処理を行わないとする消失手段と、
を有することを特徴とする請求項1又は2記載の動画像処理装置。
【請求項4】
読込手段による、動画像データを読み込み蓄積手段に蓄積するステップと、
ベクトル化手段による、前記蓄積手段から前記動画像データの指定されたフレーム画像を読み出し、当該フレーム画像内の類似した色値を持つ閉領域を曲面パッチに分割し、曲面パッチの辺の端を頂点として頂点リストに登録し、その辺を構成するための点を制御点として制御点リストに登録するステップと、
頂点追跡手段による、前記動画像データから時系列順にフレーム画像を読み出し、前記曲面パッチ毎に、読み出したフレーム画像から前記頂点リストに登録された頂点に対応する対応点を検出してそのフレーム画像における頂点として頂点リストに登録するステップと、
制御点追跡手段による、時系列順に読み出したフレーム画像毎に、前記曲面パッチそれぞれについて、前記頂点リストに登録された頂点を前記曲面パッチの辺の端としたときに前記曲面パッチの辺を構成するための制御点の位置を、その頂点の位置関係に基づいて推定してそのフレーム画像における制御点として制御点リストに登録するステップと、
曲線近似手段による、前記頂点リストおよび前記制御点リストを参照し、前記ベクトル化手段により登録された頂点および制御点それぞれの時間軸方向の軌跡をパラメトリック曲線で近似するステップと、
色値取得手段による、前記曲線近似手段が近似したパラメトリック曲線の頂点および制御点に対応する色値を前記動画像データのフレーム画像から取得するステップと、
出力手段による、前記パラメトリック曲線の頂点および制御点の時空間座標値と対応する色値を出力するステップと、
を有することを特徴とする動画像処理方法。
【請求項5】
前記制御点追跡手段による前記制御点リストに登録するステップは、
一次結合近似手段による、前のフレームにおける前記頂点と前記制御点の位置関係を当該制御点により構成される曲面パッチの辺の両端の頂点と別の頂点の一次結合で表して結合係数を求め、前記制御点の位置を求めるフレームにおける前記頂点と前記結合係数により前記制御点の位置を推定するステップと、
補正手段による、推定した前記制御点により構成される曲面パッチの辺とフレーム画像から抽出したエッジを構成する点との距離に基づいて前記制御点の位置を補正するステップと、
を有することを特徴とする請求項4記載の動画像処理方法。
【請求項6】
前記頂点追跡手段による前記頂点リストに登録するステップは、
判定手段による、前記対応点が検出できない場合に、当該対応点を含む前のフレームにおける曲面パッチの各頂点を結んで構成される図形の面積を計算し、当該面積が所定の閾値よりも小さい場合は対応点なしと判定し、当該面積が所定の閾値以上の場合は前のフレームにおける対応点の位置を今のフレームにおける対応点の位置とするステップと、
消失手段による、前記判定手段が所定の数のフレームに渡って対応点なし判定した場合に、当該対応点を含む前記曲面パッチについて以降のフレームについて処理を行わないとするステップと、
を有することを特徴とする請求項4又は5記載の動画像処理方法。
【請求項7】
請求項1乃至3のいずれかに記載の動画像処理装置としてコンピュータを機能させることを特徴とする動画像処理プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2012−256280(P2012−256280A)
【公開日】平成24年12月27日(2012.12.27)
【国際特許分類】
【出願番号】特願2011−130010(P2011−130010)
【出願日】平成23年6月10日(2011.6.10)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
【公開日】平成24年12月27日(2012.12.27)
【国際特許分類】
【出願日】平成23年6月10日(2011.6.10)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
[ Back to top ]