(57)【要約】【課題】動いている被写体を撮影した映像から抽出した特徴点の編集作業を、円滑に行うことを可能にすること。【解決手段】アニメーション作成システム1は、動いている被写体を撮影した映像から、被写体の動きを特徴点で抽出し、抽出した特徴点を用いてアニメーションを作成するシステムであり、映像入力部3、特徴点抽出部5、特徴点格納部7、映像合成部９、特徴点編集部11、動作データ作成部13、アニメーション作成部15、および出力部17を含んでいる、特徴点編集部11は、事前に作成された、映像の時間的経過に対応して特徴点の位置を示す関数を用いて、特徴点を編集する。よって、複数のフレーム毎に特徴点の編集を行うことが可能になるため、特徴点の編集作業を円滑に進めることが可能になる。【選択図】図１
2007133573.tif 000002
【特許請求の範囲】
【請求項１】
動いている被写体を撮影した映像が入力され、該映像から、キャラクタの動きを制御するための特徴点を抽出し、該抽出した特徴点を基に該キャラクタが動くアニメーションを作成するアニメーション作成方法において、
該方法は、前記抽出された特徴点を、該特徴点の位置を示す関数を用いて前記映像における複数のフレーム毎に編集する関数使用編集工程と、
該編集された特徴点を基にして前記アニメーションを作成するアニメーション作成工程とを含むことを特徴とするアニメーション作成方法。
【請求項２】
請求項１に記載の方法において、該方法はさらに、前記抽出された特徴点の位置から前記関数を作成する関数作成工程を含むことを特徴とするアニメーション作成方法。
【請求項３】
請求項１または２に記載の方法において、該方法はさらに、前記特徴点に関する規則を用いて該特徴点を編集する規則使用編集工程を含むことを特徴とするアニメーション作成方法。
【請求項４】
請求項３に記載の方法において、前記規則は、前記特徴点の位置を、他の特徴点との相対的な位置関係により定義したものを含むことを特徴とするアニメーション作成方法。
【請求項５】
請求項１ないし４のいずれかに記載の方法において、該方法はさらに、前記フレーム間における前記特徴点のずれを補正するずれ補正工程を含むことを特徴とするアニメーション作成方法。
【請求項６】
請求項１ないし５のいずれかに記載の方法において、前記映像は、顔の動きを撮影した映像であることを特徴とするアニメーション作成方法。
【請求項７】
動いている被写体を撮影した映像が入力され、該映像から、キャラクタの動きを制御するための特徴点を抽出する特徴点抽出手段、および該抽出された特徴点を基に該キャラクタが動くアニメーションを作成するアニメーション作成手段を含むアニメーション作成システムにおいて、
該システムは、前記抽出された特徴点を、該特徴点の位置を示す関数を用いて前記映像における複数のフレーム毎に編集する関数使用編集手段を含み、
前記アニメーション作成手段は、該編集された特徴点を基に前記アニメーションを作成することを特徴とするアニメーション作成システム。
【請求項８】
請求項７に記載のシステムにおいて、該システムはさらに、前記抽出された特徴点の位置から前記関数を作成する関数作成手段を含むことを特徴とするアニメーション作成システム。
【請求項９】
請求項７または８に記載のシステムにおいて、該システムはさらに、前記特徴点に関する規則を用いて該特徴点を編集する規則使用編集手段を含むことを特徴とするアニメーション作成システム。
【請求項１０】
請求項９に記載のシステムにおいて、前記規則は、前記特徴点の位置を、他の特徴点との相対的な位置関係により定義したものを含むことを特徴とするアニメーション作成システム。
【請求項１１】
請求項７ないし１０のいずれかに記載のシステムにおいて、該システムはさらに、前記フレーム間における前記特徴点のずれを補正するずれ補正手段を含むことを特徴とするアニメーション作成システム。
【請求項１２】
請求項７ないし１１に記載のシステムにおいて、前記映像は、顔の動きを撮影した映像であることを特徴とするアニメーション作成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力された映像から抽出された特徴点を基にして、アニメーションを生成する方法およびシステムに関する。
【背景技術】
【０００２】
近年では、例えばテレビ、映画、ゲーム等においてコンピュータグラフィクス ( Computer Graphics : CG ) によるアニメーションがよく用いられるようになった。またこのようなアニメーションは、コミュニケーション分野において、例えばアバタ等のキャラクタに応用されることが増えており、とくに顔の動きを表現するアニメーションのニーズが高まりつつある。
【０００３】
しかし、アニメーションの作成には、多大な費用と時間が必要である。よって、より容易なやり方で、自然な動きに見えるアニメーションを作成する方法およびシステムが求められていた。
【０００４】
特許文献１には、入力映像から人物の頭部、目、口等を検出し、その情報を元にCG を用いてキャラクタの動きを制御したアニメーションを作成する方法が開示されている。しかし特許文献１では、例えばテレビ電話等の通信システムでの利用を想定しているため、例えば人物の頭部や目や口等の検出に失敗した場合や、誤って他の部分を頭部や目や口等として検出してしまった場合等に、これらの検出結果を修正する修正手段がなく、その結果、緻密なアニメーションを作成できないという問題を有していた。
【０００５】
また特許文献２には、マーカが付された被写体を複数の方向から撮影して、被写体が動いている映像を得、この映像から特徴点を抽出し、抽出した特徴点を基にしてアニメーションを作成する際に、抽出した特徴点の位置を補正したり、何かの陰に隠れて抽出されなかった特徴点を補間したりする等の、編集を行う方法が開示されている。しかし特許文献２では、これらの編集作業を補助する手段を含まないため、実際には作業量が膨大となってしまうという問題を有していた。
【０００６】
【特許文献１】特開２００３−８５５８３号公報
【特許文献２】特開平１０−２２２６６８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明はこのような従来技術の欠点を解消し、アニメーションを作成するために抽出した特徴点の編集作業を効率よく行うことが可能であり、またキャラクタの自然な動きを表現することが可能なアニメーション生成方法およびシステムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述の課題を解決するために本発明では、関数を用いて特徴点の位置を自動的に補正したり、抽出されなかった特徴点を自動的に補う。つまり、関数を用いて編集を行う。この関数は、例えば自然な動きと認められた動きから抽出された特徴点の位置から計算により作成されたり、経験や学習等により作成されたものであって、映像の時間的経過に対応する特徴点の位置を示すものである。このような関数を用いるため、複数のフレーム毎に特徴点を編集することが可能になる。よって、特徴点の編集作業を効率よく行うことが可能であり、またキャラクタの自然な動きを表現することが可能になる。
【０００９】
また本発明では、上記関数を、抽出した特徴点を用いて作成する。よって、対応する関数が存在しない場合であっても新たに関数を形成できるため、被写体の任意の動きを編集することが可能である。さらに本発明では、特徴点に関する規則、およびこの規則に反する特徴点が存在する場合にこの特徴点を編集する編集規則を作成しておき、この規則と編集規則とを用いて編集を行う。よって、例えば特徴点を抽出する際に誤って特徴点ではない部分を特徴点として抽出してしまった場合等であっても、その特徴点の位置を本来の位置に補正することが可能になる。また本発明では、例えば手ぶれや被写体がゆれた結果、特徴点がフレーム間でずれた場合に、そのずれを補正する。よって手ぶれや被写体が揺れることにより生じたずれの影響を排除し、動きのみを反映した特徴点を作成することが可能である。
【発明の効果】
【００１０】
本発明によれば、特徴点の位置を示す関数を用いるため、複数のフレーム毎に特徴点を編集することが可能になる。また自然な動きになる特徴点の位置を示す関数を作成することにより、特徴点を自然な動きになるように編集することが可能になり、キャラクタの自然な動きを表現することが可能になる。
【発明を実施するための最良の形態】
【００１１】
次に添付図面を参照して本発明の実施例を詳細に説明する。図１は、本発明のアニメーション作成システムの実施例の構成を概念的に示すブロック図である。図１において、アニメーション作成システム1は、映像入力部3、特徴点抽出部5、特徴点格納部7、映像合成部9、特徴点編集部11、動作データ作成部13、アニメーション作成部15、および出力部17を含んでおり、動いている被写体を撮影した映像19から特徴点を抽出し、抽出された特徴点に基づいてアニメーションを作成し、出力部17に出力するシステムである。
【００１２】
より具体的に説明すると、映像入力部3にはアニメーションで表現したい動きをしている被写体を撮影した映像19が入力される。映像入力部3にこのような映像19が入力されると、特徴点抽出部5がこの映像19から特徴点を抽出する。特徴点は、アニメーションによりキャラクタの動きを制御する際に必要となる点、すなわち、動きを表現するのに必要となる主要な点である。抽出された特徴点は、特徴点格納部7に格納される。特徴点格納部7に特徴点が格納されると、特徴点編集部11が特徴点を編集する。その後、編集された特徴点を動作データ作成部13、アニメーション作成部15で用いてアニメーションが作成される。本発明の理解に直接関係のない部分は、図示を省略し冗長な説明を避ける。なお、本発明は各部の構成を本実施例に限定するわけではなく、アニメーション作成システムに応じて任意の構成を採用することが可能である。
【００１３】
図１において、映像入力部3には、動いている被写体を撮影した映像19が入力される。この被写体の動きは、アニメーションで表現したい動き、すなわち、アニメーションで表現されるキャラクタにさせたい動きである。本実施例では、顔の動き、すなわち表情の変化をアニメーションで表現したいため、顔の各部、例えば、図２に示すような、目、鼻、口、眉等を動かして、表情を変えている人間の顔の映像19が入力される。図２は、特徴点を抽出する処理を概念的に示した図であり、アニメーション作成システム1に入力される映像19のあるフレームを概念的に示した図である。図２において、左から、第１フレーム25、第２フレーム27、第３フレーム29が示されている。なお図２では、３つのフレーム25、27、29しか図示していないが、これは説明をわかりやすくするためであり、映像19には任意の数のフレームを含めることが可能である。また本発明は、顔の表情を撮影した映像19に限定するわけではなく、キャラクタにさせたい動きに応じて、任意の動きを撮影した映像19を採用することが可能であり、また被写体もアニメーションで表現するキャラクタに応じて任意の被写体を採用することが可能である。
【００１４】
映像入力部3は、このような映像19が入力されると、入力された映像19を特徴点抽出部5へ供給する。特徴点抽出部5は、入力された映像19から特徴点を抽出し、抽出した特徴点の位置を算出する。特徴点は、アニメーションによりキャラクタの動きを制御する際に必要となる点であって、動きを表現するのに必要となる主要な点である。なお動きに応じて任意の点を特徴点とすることが可能であり、例えば本実施例では、キャラクタの顔の表情が変化するアニメーションを作成するため、特徴点は、顔の動きを表現する際に必要な点を特徴点としている。具体的には図２に四角で示すように、右の眉毛の実質的に右端を特徴点A、右の眉毛の実質的に左端を特徴点B、左の眉毛の実質的に右端を特徴点C、左の眉毛の実質的に左端を特徴点D、右目の瞳を特徴点E、左眼の瞳を特徴点F、口の実質的に右端を特徴点G、口の実質的に左端を特徴点H、上唇の実質的に中央を特徴点I、および下唇の実質的に中央を特徴点J としている。
【００１５】
これらの特徴点A、B、C、D、E、F、G、H、I、J は、任意のやり方を採用して抽出することが可能である。例えば、映像19を図２に示すようにフレーム毎に分け、各フレームにおける静止画像を画像処理することにより抽出してもよいし、または、被写体の、特徴点として抽出すると定めた部分に予めマーカを付して、このようなマーカが付された被写体を撮影し、特徴点A、B、C、D、E、F、G、H、I、J を抽出する際は、対応するマーカの部分を抽出するようにしてもよい。なお本発明はこれらに限定するわけではない。このようにして特徴点A、B、C、D、E、F、G、H、I、J を抽出すると、特徴点抽出部5は、抽出された特徴点A、B、C、D、E、F、G、H、I、J の位置をそれぞれ算出する。
【００１６】
本実施例では、図２に示すように、各フレームの左下の端点51を原点として、水平方向をx 軸、垂直方向をy 軸とし、各特徴点A、B、C、D、E、F、G、H、I、J の位置を、フレーム毎に座標として算出する。算出された座標の一例を図３に示す。図３において、n は正の整数である。なお本実施例では、すべてのフレームから特徴点A、B、C、D、E、F、G、H、I、J を抽出し、座標を算出している。これは後段の動作データ作成部13で、映像19に含まれているすべてのフレームにおける特徴点A、B、C、D、E、F、G、H、I、J から動作データを作成するためである。しかし本発明はこれに限定するわけではなく、後段の動作データ作成部13で必要となる分、特徴点を抽出して座標を算出すればよい。
【００１７】
特徴点抽出部5により算出された各特徴点A、B、C、D、E、F、G、H、I、J の位置を示す座標、すなわち位置座標は、特徴点格納部7へ送られる。特徴点格納部7は、例えばメモリ等の記憶手段を含んでおり、送られてきた特徴点A、B、C、D、E、F、G、H、I、J の位置座標を記憶する。なお記憶には、任意のやり方を採用して記憶することが可能であり、例えば図3に示すように特徴点毎の表を作成して記憶するようにしてもよい。特徴点格納部7に特徴点A、B、C、D、E、F、G、H、I、J の位置座標が記憶されると、映像合成部9が、特徴点格納部7に格納された特徴点A、B、C、D、E、F、G、H、I、J の位置座標を用いて、映像19に各特徴点A、B、C、D、E、F、G、H、I、J を重ねた合成映像を作成する。作成された合成映像は、出力部17に含まれているディスプレイ等に出力される。このように合成映像を作成することにより、各特徴点A、B、C、D、E、F、G、H、I、J が、特徴点として抽出すると設定した点から抽出されているか否かを判断することが可能であり、また、フレームが変わるごとに各特徴点A、B、C、D、E、F、G、H、I、J がどのように動くかを把握することが可能になるため、後段のアニメーション作成部15で作成されるキャラクタの動きを想定することが可能になる。
【００１８】
特徴点格納部7に特徴点A、B、C、D、E、F、G、H、I、J の位置座標が保存されると、動作データ作成部13がこの保存された特徴点A、B、C、D、E、F、G、H、I、J の位置座標から、キャラクタの動きの時間的変化を定義したデータである動作データを作成する。動作データは、アニメーション作成部15へと供給され、アニメーション作成部15で、キャラクタが動作データに従った動きをするアニメーションが作成される。動作データの作成、および、動作データからアニメーションの作成には、公知の手法を採用することが可能である。作成されたアニメーションは、出力部17へと供給され、出力部17における例えばディスプレイ等に表示される。
【００１９】
以上のようにして動いている被写体を撮影した映像19から動きを抽出し、この抽出した動きに基づいた動きをするキャラクタのアニメーションが作成される。しかし、特徴点抽出部5で抽出された特徴点A、B、C、D、E、F、G、H、I、J の位置座標をそのまま用いて動作データを作成すると、被写体の動きそのものがおかしかったり、映像がうまく撮影されていなかったり、特徴点A、B、C、D、E、F、G、H、I、J の抽出を誤ってしまったりする場合があり、キャラクタの動きが自然な動きにならない動作データが作成され、キャラクタの動きがおかしいアニメーションが作成されてしまうという問題を有している。
【００２０】
そこで本実施例のアニメーション作成システム1は、特徴点編集部11を含んでおり、この特徴点編集部11によって、例えば特徴点格納部7に保存された各特徴点A、B、C、D、E、F、G、H、I、J の位置座標を補正したり、何かの影になって抽出されなかった特徴点を補う、すなわち補間する等の編集作業を行い、編集後の位置座標を再び特徴点格納部7に供給する。動作データ作成部13は、位置の補正や補間が行われた後の特徴点A、B、C、D、E、F、G、H、I、J の位置座標から動作データを作成し、この動作データを基にしてアニメーション作成部15でアニメーションが作成される。つまり、特徴点編集部11では、後段の動作データ作成部13で自然な動きを表現できる動作データが作成されるように、特徴点格納部7に記憶された特徴点A、B、C、D、E、F、G、H、I、J の位置座標が更新される。
【００２１】
特徴点編集部7における編集作業は、例えば、出力部17に出力された合成映像を見ながら、図示しないマウスにより位置座標を動かしたい特徴点を所望の位置までドラッグしたり、図示しないキーボードから動かしたい特徴点の所望の座標を入力するというように、フレーム毎に行うことが可能である。しかし、このようにフレーム毎に編集をするやり方では、フレームの数が多い場合では、作業量が多くなってしまう。そこで本実施例では、特徴点編集部11が、関数使用編集部53を含んでおり、この関数使用編集部53で、特徴点の位置の変化を示す関数を用いて複数のフレームをまとめて編集する。以下、詳細に説明する。
【００２２】
関数使用編集部53は、特徴点編集部11に存在し、特徴点格納部7に保存された各特徴点A、B、C、D、E、F、G、H、I、J の位置座標を、関数を用いて編集し、編集後の各特徴点A、B、C、D、E、F、G、H、I、J の位置座標を再び特徴点格納部7に供給する部分である。この関数使用編集部53で使用される関数は、映像の時間的な経過に伴う特徴点の位置の変化、すなわち、位置座標の変動を示すものである。この関数は、予め作成しておくことが可能であり、例えばよく出現する特徴点の位置座標の変動に合わせて作成しておいたり、自然な動きと認められた動きから抽出された特徴点の位置座標の変動から作成しておくことが可能である。なお作成しておく関数の数や種類は、１つに限定するわけではなく、数種類の関数を複数作成することが可能である。
【００２３】
図４は、事前に作成される関数の一例を概念的に示した図であり、被写体が「こんにちは、いいお天気ですね。」と話している顔の動きを撮影した映像から抽出された特徴点のうち、任意の特徴点の座標位置を、１４フレーム分、点で示したものである。つまり、図４には、特徴点の座標位置が、フレームが変わることでどのように変化するか、すなわち、特徴点の変動が示されている。なお、説明をわかり易くするために、図４では、位置座標x は一定であるとして図示せず、位置座標y のみを図示している。このように特徴点の位置座標を複数のフレーム分示すと、被写体は異なる動きをしているのに、特徴点の変動が似ている部分が存在する。
【００２４】
例えば、図４における、「こんにちは」と話す動きにおけるこの特徴点の変動と、「お天気」と話す動きにおけるこの特徴点の変動とが似ている。これは、顔という限られた動きをするものから特徴点を抽出しているからである。よってこのように話している言葉は異なるのに、特徴点の変動が似ているためによく出現する座標位置の変動を、例えば数式等で表した関数を作成しておけば、再びこのような座標位置の変動が出現した際に、この関数を用いて位置を補正したり、抽出されていない特徴点を補うことが可能になる。
【００２５】
よって本実施例では、この「こんにちは」、「お天気」と話す動きの際等に現れる、緩やかな曲線を描く特徴点の変動を、独立変数をフレーム ( t ) とし、従属変数をy として、数１に示す数式で表し、関数を作成する。数１において、a 、b は正の数である。なお本実施例のように、水平方向の変数x が一定である場合では、x についての式を作成してもよいし、作成しなくてもよい。例えば、x が一定であっても、x = c ( c は定数 ) というように数式を作成し、この数式と数１の両方を、図４の「こんにちは」、および「お天気」と話す動きの際に現れる特徴点の変動のように、緩やかな曲線を描いて変動する特徴点を編集するための関数として記憶しておくことも可能である。
【００２６】
ｙ= - at2  + b ・・・・（数１）
関数の作成に用いる位置座標は、自然な動きと認められる座標位置から作成したほうが、編集後に自然な動きをするアニメーションを作成することが可能になるため好ましいが、本発明はこれに限定するわけではない。またこのように作成された関数は、必要に応じて修正することが可能である。例えば数１では、定数a 、b を修正することが可能である。このように修正することによって、特徴点の位置座標をより自然な動きとなる位置座標にすることが可能な関数を作成できる。なお作成する関数は、数１に限定するわけではなく、特徴点の変動に合わせて任意の関数を作成することが可能である。
【００２７】
またこのような特徴点の時間的な変動を表す関数は、数式で表すことに限定するわけではなく、例えば垂直方向に時間の経過、すなわちフレーム番号を示し、水平方向にそのフレームにおける特徴点の位置座標を示す行列で表すことも可能である。このように、特徴点の時間的な変動を行列で表した関数を作成することにより、複雑な動きのために数式で表すのが困難である場合であっても、特徴点の変動を関数で記憶することが可能になる。また例えば、上記行列において、ある位置座標と、その位置座標の一つ前の位置座標との差分を計算したもの、すなわち、位置座標の変化量を行列で表したものも関数に含まれる。なお本発明は、これらに限定するわけではなく、フレームが変わること、すなわち、時間の経過と特徴点の変動との対応関係を示すものはすべて関数に該当する。
【００２８】
図５は、事前に作成される関数の別の一例を概念的に示した図であり、図４と同様に、「こんにちは、いいお天気ですね。」と話している顔の動きを撮影した映像から抽出された特徴点のうち任意の特徴点における、１４フレーム分の位置座標y の値を示している。図５に示す例では、動きに対応した関数を作成する。つまり図４に示す例では、特徴点の変動に着目して関数を作成しているのに対し、図５に示す例では、被写体の動き、すなわちアニメーションで表現したい動きに着目して関数を作成する。
【００２９】
より具体的に説明すると、よく用いられる動き、例えばコミュニケーションにおける口の動きで説明すれば、「こんにちは」、「さようなら」、「また連絡します」、「いいお天気ですね」等のよく用いられる言葉を話す際の顔の動きにおける特徴点の変動を、例えば独立変数をフレーム ( t ) 、従属変数を位置座標 ( x 、 y ) の数式で表した関数や、また例えば、垂直方向にフレーム番号を示し、水平方向にそのフレームにおける特徴点の位置座標を示す行列等で表した関数にする。例えば、図５に示す例では、「こんにちは」という動きにおける特徴点の変動を示す関数と、「いいお天気ですね」という動きにおける特徴点の変動を示す関数の、２種類の関数が作成される。このように動きに対応した関数、すなわち、動き毎に関数を作成しておくことで、例えばどの関数を用いて編集を行えよいかを即座に判断することが可能になるため、修正作業をより迅速にすることが可能になる。
【００３０】
このような関数の作成は、例えば「こんにちは」であれば、「こんにちは」と話す動きから抽出した特徴点の位置座標を、より自然な動きとなるようにユーザが補正したものから作成することも可能であるし、また例えば、自然な動きで「こんにちは」と話す動きをするアニメーションですでに使用されている特徴点の位置座標から作成することが可能である。このように自然な動きをする座標位置から関数を作成することで、自然な動きをするアニメーションを作成することが可能になるため好ましい。しかし、本発明はこれに限定するわけではない。
【００３１】
なお図４、図５に示す例のように作成することに限定するわけではなく、任意のやり方を採用して、任意の関数を作成することが可能である。例えば、出現頻度は少ないが、編集が複雑な特徴点の変動を示した関数を作成することも可能である。また例えば、出現頻度に関係なく、予想される特徴点の変動を示した関数を複数作成しておき、編集する複数のフレームにおける特徴点の変動に合わせて、任意の関数を選択するようにすることも可能である。
【００３２】
具体的に説明すると、特徴点の直線的な変動を示した関数と、曲線的な変動を示した関数とを数種類ずつ作成しておき、編集作業を行う場合において、複数のフレームにおいて特徴点が直線的に変動する際は、その変動に合う直線的な変動を示した関数を用いて修正し、また、複数のフレームにおいて特徴点が曲線的に変動する際はその変動に合う曲線的な変動を示した関数を用いて修正するということも可能である。
【００３３】
なお関数は、特徴点毎に作成することに限定するわけではなく、例えば動きに応じて関数を作成する場合であれば、動きに関係するすべての特徴点の変動を表した関数を作成してもよい。作成された関数は、例えば特徴点編集部や、関数使用編集部や、図示しない記憶部等に記憶しておいてもよいし、または編集する際に図示しないマウスやキーボード等の入力手段を介してユーザが入力するようにしてもよい。
【００３４】
図６は、図１に示すシステムにおける編集処理の処理手順の一例を示した流れ図である。図１、図６において、特徴点格納部7に特徴点A、B、C、D、E、F、G、H、I、J が保存されると、映像合成部9で各特徴点A、B、C、D、E、F、G、H、I、J が映像19に重ねられた合成映像が作成され、出力部17に出力される。ユーザは出力部17に出力された合成映像を見ながら、変動がおかしい特徴点、例えば、アニメーションを作成した際に自然な動きにならないような特徴点や、抽出されていない特徴点等が存在するか否かを確認し、編集するか否かを任意の数のフレーム毎に判断する(ステップS1)。このとき、例えば図７に示すように、連続する複数のフレームにおける特徴点A、B、C、D、E、F、G、H、I、J の位置座標の変化を、特徴点A、B、C、D、E、F、G、H、I、J 毎に、合成映像とは別に表示部に表示し、これを見ながら判断するようにしてもよい。
【００３５】
図７は、特徴点A、B、C、D、E、F、G、H、I、J のうち、任意の一つの特徴点の位置座標の変化を示したものである。図７において、水平方向71はフレームの番号、すなわち、映像の時間的変化を、また垂直方向73は位置座標のy 座標を示し、第１フレームから第１４フレームまでの任意の一つの特徴点におけるy 座標の値が点で示されている。このようにy 座標の値を複数のフレーム分示すことで、フレームが変わるにつれて、すなわち時間が経過するにつれて特徴点の位置座標がどう変化するか、すなわち特徴点の変動を示すことが可能になる。なお説明をわかりやすくするために、この特徴点の水平方向、すなわちx 座標は各フレームで一定とする。
【００３６】
このように合成映像に加えて、特徴点の変動を示すことにより、変動がおかしい部分や特徴点が正しく抽出されていない部分を見つけやすくすることが可能になる。なお本発明はこれに限定するわけではなく、任意のやり方を採用して編集するか否かの判断を行うことが可能である。例えば、編集するか否かを検討している特徴点のみ色を変えて表示することで、編集するか否かを決めてもよい。なおこれに限定するわけではない。
【００３７】
ユーザは、図７に示すような特徴点の変動や、合成映像を見ながら、変動がおかしい部分や特徴点が抽出されていない部分等を見つけると、その部分を編集すると判断し、編集する際に使用する関数を選択する(ステップS2)。関数の選択は任意のやり方を採用して選択することが可能である。例えば編集すると判断した部分が、よく使用される動きの一部であるために、動きに応じた関数が用意されている場合であれば、用意されている関数を選択すればよい。また例えば、経験等により編集後の特徴点の位置を想定できる場合であれば、この想定した位置に特徴点を動かす関数を選択するようにしてもよい。なおこれらに限定するわけではない。
【００３８】
また、関数は、ユーザが指定することに限定するわけではなく、アニメーション作成システムで自動的に選択するようにすることも可能である。例えば、予めアニメーション作成システムに動き毎の関数を記憶させている場合では、被写体が「こんにちは」と発する音声から自動的に「こんにちは」という表情の動きを編集するための関数を選択するようにすることも可能である。なお本発明はこれに限定するわけではない。
【００３９】
ユーザは関数を選択すると、選択した関数のどこからどこまでを用いて、特徴点のどの範囲を編集するのかを指定する(ステップS3)。本実施例の場合では、図７に示すように、第１フレームから第９フレームまでのy 座標の値を、選択した関数の t = 1 〜 9 までの値にするよう指定する。なお開始点と終了点を選択することに限定するわけではなく、任意のやり方を採用して使用する関数の範囲、および編集する範囲を指定することが可能である。例えば、開始点と終了点とを選択せず、システムが自動的に開始点と終了点を判断するようにすることも可能であるし、また例えば開始点のみ選択し、システムが自動的に終了点を判断するようにすることも可能である。なお本発明はこれに限定するわけではない。
【００４０】
編集する範囲、および使用される関数の範囲が選択されると、関数によりその特徴点の各フレームにおける位置が定まるため、関数使用編集部53は、選択された範囲の特徴点の位置座標を、関数が示す値へと特徴点を移動させたり、また抽出されていない特徴点を新たに形成して、特徴点を編集する(ステップS4)。本実施例では、図７に示すように、特徴点の第１フレーム75から第９フレーム77までのy 座標の値を、図７に三角でそれぞれ示す値にして位置を補正する。また、第７フレーム79ように、うまく抽出されなかった特徴点を新たに形成して特徴点を補間する。なお本実施例では、編集すると判断した範囲に存在するすべての点を編集しているが、本発明はこれに限定するわけではなく、例えば、編集前の位置座標と編集後の位置座標の距離を計算し、距離が一定値よりも離れている場合は位置を補正するというように、編集すると判断した範囲に存在する点のうち任意の点のみを編集するようにすることも可能である。なおこれに限定するわけではない。
【００４１】
編集後、すべてのフレームの編集を終了したかどうかを判断し(ステップS5)、すべてのフレームの編集が終了していれば編集を終了し、終了していなければ、ステップS1に戻って、残りのフレームを編集するか否かを判断する。編集後の位置座標の値は特徴点格納部7へと供給され、特徴点格納部7は、編集後の位置座標を記憶する。動作データ作成部15は、編集後の位置座標から動作データを作成する。
【００４２】
このようにして関数使用編集部53は、関数を用いて、複数のフレームをまとめて編集する。よって、すべてのフレームを1枚1枚編集する場合と比較して、効率よく編集することが可能になる。また、自然な動きとなる位置座標を示す関数を作成することにより、自然な動きを効率よく作成することが可能になる。なお図６に示す例では、特徴点毎に編集しているが、本発明はこれに限定するわけではなく、複数のフレーム毎に、複数の特徴点をまとめて編集するとも可能である。例えば、ある特徴点と特徴点とで、編集するための開始点と終了点とが同じである場合や、ある特徴点と特徴点とで使用する関数が同じである場合等は、まとめて、すなわち並列に編集することが可能である。
【００４３】
なお映像に含まれるすべてのフレームを、関数使用編集部53において関数を用いて編集することに限定するわけではなく、例えば、フレーム毎に編集した方が円滑に作業できる場合は関数を用いずに作業し、逆に関数を用いた方が円滑に作業できる場合は関数を用いて作業する、というように使い分けるようにしてもよい。例えば、位置座標の差分を行列で表した関数、すなわち、位置座標の変化量を行列で表した関数を用いて編集する場合では、開始点の位置座標は正しい位置にある必要がある。よって、このような関数を用いる場合は、開始点の位置座標のみ、人間がマウスやキーボード等を使用して編集し、開始点の次の点から終了点までを関数を用いて編集するというした方が作業を円滑に進めることが可能になるが、本発明はこれに限定するわけではない。
【００４４】
図８は、本発明のアニメーション作成システムの別の実施例の構成を概念的に示したブロック図である。図８において、図１と同じ参照番号は同様の構成を示すため、説明を省略する。図８において、アニメーション作成システム101は、関数作成部103を含んでいる。関数作成部103は、抽出された特徴点の位置座標を用いて、関数使用編集部53で用いる関数を作成する部分である。よって、予め作成していた関数に加えて、新たに関数作成部103で作成した関数も用いて編集することが可能になるため、編集に必要な関数が存在しない場合であっても編集作業を円滑に行うことが可能になる。具体的に説明すると、関数作成部103は、特徴点格納部7および関数使用編集部53の両方と接続して、特徴点格納部7に格納された特徴点の位置座標を用いて関数を作成し、作成した関数を関数使用編集部53へと送る。関数使用編集部53では、この作成された関数を利用して編集処理を行う。
【００４５】
図９は、図８に示すシステムにおける編集処理の処理手順の一例を示した流れ図である。図９において、ステップS1、S3、S6、S7、S8は、図６におけるステップS1、S2、S3、S4、S5とそれぞれ同様の処理であるため説明を省略する。図９において、特徴点格納部7に記憶された特徴点を編集すると判断した場合は、編集に必要な関数が存在するか否かを判断する(ステップS2)。判断は、例えば図７に示すように編集すると判断した特徴点の、複数のフレームにおける変動を見ながらユーザが判断してもよいし、またシステムが判断してもよい。判断の結果、適切な関数が存在した場合は、その関数を用いて編集すると決める(ステップS3)。逆に、適切な関数が存在しなかった場合は、図１０に示すように適切な関数を作成するため基準となる点を、複数選択する(ステップS4)。
【００４６】
図１０は、関数作成部103において関数を作成する処理の一例を概念的に示した図である。図１０において、図７と同じ参照番号は同様の構成を示すため、説明を省略する。図１０では、特徴点格納部7に記憶された特徴点A、B、C、D、E、F、G、H、I、J のうち、ある特徴点の複数のフレームにおける変動を示している。関数を作成する場合は、ユーザは関数を作成するために基準となる点を複数選択する。なお選択する特徴点は、例えば右目の特徴点を編集する場合であれば、右目の、異なるフレームにおける特徴点というように、編集する特徴点の、異なるフレームにおける点である。本実施例では、ある特徴点の、第１フレームにおける特徴点75、第５フレームにおける特徴点105、および第９フレームにおける特徴点79が選択されている。選択は、例えばユーザが図示しないマウスやキーボード等の入力手段を用いて行うことが可能である。また選択される特徴点の数は、編集する部分により適合した関数を作成することが可能になるように、３つ以上であることが好ましいが、本発明はこれに限定するわけではなく、３つより少なくてもよい。
【００４７】
関数作成部103は、このように基準となる点が選択されると、選択された点を基に関数を作成する(ステップS5)。本実施例では、これらの特徴点75、105、79を通る線を形成し、この線を数式で表して関数とする。なお本実例では、選択した特徴点75、105、79を通る線から関数を作成したが、本発明はこれに限定するわけではなく、選択した特徴点75、105、79から任意のやり方で関数を作成することが可能である。例えば、選択した特徴点75、105、79を制御点にして曲線を描き、この曲線を関数とすることも可能である。この場合、曲線は、制御点は通らない。また作成された線を数式で表した関数に限定するわけではなく、作成された線は任意のやり方で表すことが可能である。例えば行列で表してもよいし、また例えば位置座標の差分を算出した行列で表してもよい。さらに数式で表す場合において、数式が複雑になる場合等では、簡単な数式で近似し、近似した数式を関数とすることも可能である。例えば、傾きや切片等が、桁数が多い少数になる場合等では、分数等で近似し、近似した数式をその線の関数とすることが可能である。なお本発明はこれに限定するわけではない。
【００４８】
なお線は、選択される点によって、曲線や直線になったり、傾き等が変わる場合が考えられるため、例えば、選択された特徴点によって形成される線を出力部に表示し、この出力された線を見ながらユーザが選択する特徴点を変更可能にした方が、より適した関数を作成することが可能になるため好ましいが、本発明はこれに限定するわけではない。また選択された特徴点を基準とする線は、複数形成することが可能であるため、例えば、選択された特徴点から形成される線を複数表示部に表示し、ユーザが表示された複数の線の中から最も適した線を選ぶようにした方が、より適した関数を作成することが可能になるが、本発明はこれに限定するわけではない。
【００４９】
このようにして作成された関数は関数使用編集部53へ送られる。関数使用編集部53では、関数が存在する場合は選択された関数を用いて、また関数が存在しない場合は関数作成部103から送られてきた関数を用いて、例えば位置座標を補正したり、また図１０には示していないが抽出されていなかった特徴点の補間をする等の編集を行う(ステップS6、ステップS7)。編集後、すべてのフレームで編集処理が終了したかを判断し(ステップS8)、残りのフレームが存在する場合はステップS1に戻り、すべてのフレームの編集が終了するまで処理を繰り返す。逆に、すべてのフレームで編集処理が終了した場合は、処理を終了する。編集後、作成された関数を、再び同じような特徴点の変動を編集するために、例えば特徴点編集部11や関数使用編集部53や図示しない記憶部等に記憶することも可能であるし、または今後使用する可能性がない場合等は削除してもよい。なお記憶された関数は、必要に応じて修正することが可能である。
【００５０】
以上のようにして図８に示すアニメーション作成システム101では、予め作成されていた関数に加え、新たに関数を作成することが可能であるため、例えば、予め作成しておいた関数が存在しない場合や、また例えば、特徴点を正しく抽出できたフレームが少ないために、どのような関数を使用すればよいのかがわからないような場合であっても、関数を作成して編集することが可能であるため、円滑に補正作業を行うことが可能である。その結果、特徴点の編集作業の負担を大幅に削減することが可能である。また、編集する特徴点が反映している動きが自然な動きになるように関数を作成することで、自然な動きを形成でき、かつ円滑な補正作業を行うことが可能になる。
【００５１】
図１１は、本発明のアニメーション作成システムの別の実施例の構成を概念的に示したブロック図である。図１１において、図１、および図８と同じ参照番号は同様の構成を示すため説明を省略する。図１１に示すアニメーション作成システム201において、特徴点編集部11は、規則使用編集部203を含んでいる。規則使用編集部203は、１つのフレームにおける特徴点A、B、C、D、E、F、G、H、I、J に関する規則と、この規則に反する場合にどのように編集したらよいかを示す編集規則とを含み、これらの規則を用いて特徴点A、B、C、D、E、F、G、H、I、J を編集する部分である。規則は、例えば図１２に示すように、１つのフレームにおける特徴点A、B、C、D、E、F、G、H、I、J の数を示す数規則211や、抽出された特徴点A、B、C、D、E、F、G、H、I、J の相対的な位置関係を定義した位置規則213、215等が存在する。また、編集規則221、223、225は、特徴点がこれらの規則に反する場合に、どのように特徴点を編集したらよいかを定義したものである。
【００５２】
図１２は、規則使用編集部203に含まれている規則と編集規則の一例を概念的に示した図である。図１２において、規則は、特徴点A、B、C、D、E、F、G、H、I、J に関する規則であり、本実施例では、１つのフレームにおける特徴点の数を規定する数規則211や、１つのフレームにおける各特徴点A、B、C、D、E、F、G、H、I、J の相対的な位置を規定する位置規則213、215が定められている。例えば、本実施例では図２に示すように入力される映像19が顔の表情の変化を撮影した映像であるため、数規則211は、１つのフレームにおける特徴点の数を定義した規則、すなわち、左右の眉毛の両端を示す特徴点A、B、C、D、左右の目を示す特徴点E、F、口の左右を示す特徴点G、H、および口の上下を示す特徴点I、J の、「10個の特徴点が存在するか」という規則である。
【００５３】
また位置規則213、215は、１つのフレームにおける顔の各部、例えば目や口や眉の特徴点の相対的な位置を定めたものである。具体的に説明すると、第１の位置規則213は、右目の特徴点E と左目の特徴点F との関係を定義したものであり、「右目の特徴点E は左眼の特徴点F よりも右側にある。」という規則である。なおこの規則は、顔の各部のうち、目における規則であるため、実施例では、第１の位置規則213を「目」というグループで分けている。また、第１の位置規則213は、「目」というグループ内における規則であるため、第１の位置規則213を「グループ内の規則」と分類している。
【００５４】
また、第２の位置規則215は、右目の特徴点E、左目の特徴点F、および口の左右の特徴点G、H、の関係を定義したものであり、「口の右端の特徴点G から左端の特徴点H までの距離は、右目の特徴点E から左目の特徴点F までの距離の半分以下である。」という規定である。この規則215は、顔の各部のうち、目の特徴点E、F と、口の特徴点G、H とにおける規則であるため、実施例では、第２の位置規則215を「目と口」というグループで分けている。また、第２の位置規則215は、「目と口」というグループ間における規則であるため、第２の位置規則215を「グループ間の規則」と分類している。
【００５５】
なお、本実施例では、位置規則213、215を顔の部分毎にグループで分け、また分けられたグループ内の規則なのか、グループ間の規則なのかについても分けている。このよう分けておくことにより、位置規則213、215の検索が簡単になるため好ましいが、本発明はこれに限定するわけではなく、例えば分けないようにすることも可能である。
【００５６】
編集規則221、223、225は、上述した規則、すなわち数規則211や位置規則213、215に対応して定められており、特徴点が規則211、213、215に反している場合にどのように編集するかを定義したものである。例えば数規則211に対応して、編集規則221が定められている。編集規則221は、特徴点の数が数規則211に反する場合、すなわち、特徴点の数が10個よりも少なかったり、多かったりする場合に適用する、「抜けている特徴点を補う、または多い特徴点を削除する」という規則である。
【００５７】
また、第１の位置規則213に対応して、編集規則223が定められている。編集規則223は、第１の位置規則213に反する場合、すなわち、右目の特徴点Eが左目の特徴点Fよりも右側にない場合に適用する、「右目の特徴点Eの位置座標XE の値は、左目の特徴点Fの位置座標XF にEx (Ex は定数)を足した値。」という規則である。ここで、Ex は、予め定められた目幅を表す定数であり、例えば、平均的な人間の目幅の値や、経験的に求められた目幅の値等である。
【００５８】
また、第２の位置規則215に対応して、編集規則225が定められている。編集規則225は、「口幅が目幅の半分以上、2倍以下になるよう、口の右端の特徴点G および左端の特徴点F の位置を補正する。」という規則である。なお本発明は、本実施例に限定するわけではなく、任意の規則、および編集規則を複数用意することが可能である。例えば、位置規則として、口の右端の特徴点G と左端の特徴点H との関係を定義したり、また上唇の中央の特徴点I と口の下唇の中央の特徴点J との関係を定義することも可能である。
【００５９】
このように、規則211、213、215と編集規則221、223、225とを定義しておくことによって、例えば特徴点A、B、C、D、E、F、G、H、I、J を抽出する段階で、本来であれば抽出しなければならない特徴点を抽出しなかったり、また特徴点ではない点を特徴点と認識してしまった結果、特徴点の数が足りなかったり、本来とは異なる位置座標が特徴点となってしまった場合等に、その特徴点の数や位置を自動で編集することが可能になる。図１３、図１４を用いて詳細に説明する。
【００６０】
図１３は、図１２に示すシステムにおける編集処理の処理手順の一例を示した流れ図である。図１３において、ステップS3〜ステップS10は、図９におけるステップS1〜ステップS8とそれぞれ同様の処理であるため説明を省略する。図１３において、特徴点格納部7に特徴点A、B、C、D、E、F、G、H、I、J の位置座標が保存されると、映像合成部9によって抽出した特徴点A、B、C、D、E、F、G、H、I、J を映像に重ねた合成映像が作成され、出力部17に出力される。ユーザは出力部17に出力された合成映像を見ながら、特徴点抽出部5において誤った抽出を行ってしまったフレーム、例えば、特徴点として抽出すると定めた位置であるのに抽出していなかったり、特徴点として抽出すると定めた以外の部分を特徴点として抽出しているフレーム等が存在するか否かを確認し、任意の数のフレームずつ編集するか否かを決定する(ステップS1)。
【００６１】
その結果、その複数のフレームの中に、誤った抽出をしたフレームが存在しなかった場合は、編集しないと判断してステップS3へ進み、今度はその複数のフレームにおいて変動がおかしい特徴点が存在するか否かを再び合成映像を見ながら確認し、関数を用いてこれらのフレームを編集するか否かを判断する(ステップS3)。逆に、その複数のフレームの中に誤った抽出をしたフレームが存在した場合は、規則使用編集部203により、図１４に示すような規則211、213、215および編集規則221、223、225を用いて特徴点の編集を行う(ステップS2)。なお、本実施例では、ユーザが、規則を用いた編集をするか否かを判断しているが、本発明はこれに限定するわけではなく、任意のやり方を採用して判断することが可能である。例えば、規則を用いた編集を行うか否かについてはシステムが自動的に判断するようにし、ユーザは関数を用いて編集するか否かの判断のみをするようにしてもよい。
【００６２】
図１４は、規則使用編集部203における規則および編集規則を用いた編集処理を概念的に示した図であり、合成映像227のあるフレームを概念的に示した図である。図１４において、図２と同じ参照番号は同様の構成を示すため説明を省略する。本実施例では、ユーザが例えばマウスやキーボードから規則を用いて編集するという指示をシステムに提供すると、システムが自動的に規則使用編集部203を制御して特徴点A、B、C、D、E、F、G、H、I、J を編集する。具体的には、規則使用編集部203が自動的に、図１２に示すすべての規則211、213、215をフレーム毎に適用し、規則211、213、215に反する特徴点が存在する場合は、その規則と対応する編集規則221、223、225を用いてその特徴点を編集する。
【００６３】
例えば、図１４に示すフレームでは、全部で11個の点が特徴点として抽出されている。よって、規則使用編集部203は、このフレームが数規則211に反すると判断し、編集規則221により、特徴点を１つ削除する。なお数規則211に反しているか否かの判断は、任意のやり方を採用して行うことが可能であり、例えば、抽出された特徴点の数により判断することが可能である。また編集規則221に基づいて特徴点を1つ削除する場合に、どの特徴点を削除するかについても任意のやり方を採用して削除する特徴点を特定することが可能である。
【００６４】
例えば、この数規則211に反するフレームの前後のフレームにおける特徴点A、B、C、D、E、F、G、H、I、J の位置から、余計な位置にある特徴点231を特定し、この特徴点231を削除するようにしてもよいし、また例えば、予め顔における平均的な特徴点A、B、C、D、E、F、G、H、I、J の位置を登録しておき、この登録された平均的な位置と、数規則211に反するフレームにおける各特徴点の位置とを比較することで、余計な位置にある特徴点231を特定して削除するようにしてもよい。なお本発明はこれらに限定するわけではない。なお、図１４では示していないが、特徴点が１つ少ない場合は、これと逆の処理を行うことで、１つのフレームにおける特徴点の数を正しい数にすることが可能になる。
【００６５】
また、図１４に示すフレームでは、左目の特徴点F よりも左側に位置する部分が右目の特徴点E として抽出されている。よって規則使用編集部203は、この特徴点E は、第１の位置規則213に反すると判断し、第１の編集規則223により、特徴点E を本来の位置に移動する、すなわち特徴点E の位置を補正する。なお、第１の位置規則213に反しているか否かの判断は、任意のやり方を採用して行うことが可能であり、例えば、特徴点E と特徴点F の位置座標を比較することで可能になる。また、第１の編集規則223を用いて特徴点E を移動する際も任意のやり方を採用することが可能である。例えば、特徴点F の位置座標と、移動させる前の特徴点E の位置座標を算出し、次に算出したそれぞれの位置座標により特徴点E から特徴点F までの距離を算出し、次にこの距離と第１の編集規則223に定義されている値Ex、すなわち目幅235により、移動する距離237を算出し、特徴点E を算出した距離237分移動するようにしてもよい。また例えば、まず特徴点E を左目の特徴点F と実質的に重なるように移動し、次に第１の編集規則223に定義されている目幅235分、さらに右方向に移動するようにしてもよい。なお本発明は、これらに限定するわけではない。
【００６６】
また、図１４に示すフレームでは、口幅239が第２の位置規則215に反している。よって同様に、第２の編集規則225により口幅239を構成する特徴点G と特徴点H の位置を補正する。なお、口幅239が第１の位置規則215に反しているか否かの判断は、任意のやり方を採用することが可能であり、例えば、特徴点E から特徴点F までの距離を算出して目幅235を得、次に、特徴点G から特徴点H までの距離を算出して口幅239を得、その後、得られた口幅239が目幅235の半分以上、2倍以下の長さではない場合に、第２の位置規則215に反すると判断するようにしてもよい。なお本発明は、これに限定するわけではない。
【００６７】
また、特徴点G、H の移動にも、第１の編集規則223の場合と同様に、任意のやり方を採用することが可能である。例えば、特徴点G と、特徴点H との実質的に中央の点、すなわち中点241を算出し、次に、この中点241から特徴点G と特徴点H の長さが実質的に等しくなるように、かつ、口幅239が目幅235の半分以上、2倍以下の長さになる点243、245を定め、この点243、245まで特徴点G、H をそれぞれ移動させるようにしてもよい。なお本実施例では、特徴点G、H を移動後の口幅247が目幅235と実質的に同じ幅になるよう、特徴点G、H の位置を補正している。このようにして、図11に示すアニメーション作成システム201では、規則に反する特徴点を編集規則に従って編集するため、誤って他の部分を特徴点として抽出してしまった場合や、特徴点を抽出しなかった場合であっても、自動的に編集することが可能になる。
【００６８】
なお本実施例では、数規則211、第１の位置規則213、第２の位置規則215の順に位置規則を適用している。これは、編集規則221により特徴点の数を正しい数にしてから第１の位置規則213が適用でき、さらに第１の編集規則223により左右の目の位置を正しい位置にしてから第２の位置規則215を適用することができるからである。しかし、どのような順にどのような規則を適用するかは任意に定めることが可能である。また、本実施例では編集すると判断したすべてのフレームにすべての規則を適用しているが、本発明はこれに限定するわけではなく任意のやり方を採用することが可能である。例えば、図示しない入力手段を介して、特徴点の数や、相対的な位置がおかしいフレームのみを選択し、選択されたフレームに規則や編集規則を適用して編集を行うようにしてもよいし、また例えば、すべての規則を適用するのではなく、適用する数規則211や位置規則213、215を選択するようにしてもよい。なおこれらに限定するわけではない。
【００６９】
このような規則211、213、215を用いて編集後、複数のフレーム毎に関数を用いて編集するかどうかを判断する(ステップS3)。このように関数を用いて編集するか否かを判断するのは、規則211、213、215を用いて編集しても、各特徴点を動きに合うように編集できない場合が存在するからである。例えば、図１４に示すフレームでは、口の左右の特徴点G、H が、目の特徴点E、F との関係においては正常な位置に補正されるが、動き合うような位置には補正されていない。そこで関数を用いて、このような特徴点G、H や、その他の特徴点が自然な動きを作成することが可能になるように位置の補正を行う。
【００７０】
なお関数を用いて編集すると判断した場合は、編集する際に必要となる関数が存在するか否かを判断し(ステップS4)、関数が存在する場合は関数を選択する(ステップS5)。逆に関数が存在しない場合は、関数を作成するための基準点を指定し(ステップS6)、関数を作成する(ステップS7)。その後、関数のどこからどこまでを、どの特徴点に適用するかの範囲を選択し(ステップS8)、編集を行う(ステップS9)。編集終了後は、残りのフレームが存在するか否かを判断し(ステップS10)、フレームが存在する場合は、ステップS1に戻り残りのフレームについて同様の処理を行う。また残りフレームが存在しない場合は編集処理を終了する。
【００７１】
以上のようにして、本実施例では、規則を用いて編集を行い、その後、自然な動きになるように特徴点をさらに編集する。本実施例のように規則を用いて、特徴点を相対的に正しい位置に補正したり、正しい数にしてから関数を選択するようにすると、例えば誤った位置を特徴点としていたり、特徴点の数が不足しているために選択する関数がわからなくなる場合等において、使用する関数を見つけやすくすることが可能になるため好ましいが、本発明はこれに限定するわけではなく、任意の順で行うことが可能である。例えば、経験や動きに対応した関数が作成されているために関数をすぐに選択できる場合等は、関数を用いた編集の後に規則を用いた編集を行うようにしてもよいし、さらには規則を用いた編集を行わずに関数を用いた編集のみを行うことも可能である。
【００７２】
また本実施例では、規則を用いて編集するか否かを判断した複数のフレーム毎に、関数を用いて編集するか否かを判断しているが、本発明はこれに限定するわけではなく、任意のやり方を採用することが可能である。例えば、規則を用いて編集する際は、規則に外れているフレームからフレームまでを選択し、関数を用いて編集する際は、関数に応じてフレームの開始点と終了点を選択するようにしてもよい。また例えば、規則を用いて編集するか否かの判断は、入力された映像に含まれるフレーム全体で判断し、規則を用いて映像に含まれるすべてのフレームを編集した後、任意の複数のフレーム毎に関数を用いて編集するか否かを判断することも可能である。なお本発明は、これらに限定するわけではない。
【００７３】
図１５は、本発明のアニメーション作成システムの別の実施例の構成を概念的に示したブロック図である。図１１に示すアニメーション作成システム301おいて、図１、図８、および図１１と同じ参照番号は同様の構成を示すため説明を省略する。図１５において、特徴点編集部11は、ずれ補正部203を含んでいる。ずれ補正部203は、例えば図１６に示すように映像19がぶれている場合、すなわち、被写体やカメラが上下左右に動いて、映像19がゆれている場合に、抽出される特徴点A、B、C、D、E、F、G、H、I、J もフレーム間でずれるようになってしまうため、このようなぶれによるフレーム間のずれを補正する。なお図１５に示す例では、特徴点編集部11には、規則使用編集部201も含まれているが、本発明はこれに限定するわけではなく、例えば、特徴点編集部は、規則使用編集部201を含めずに、関数使用編集部53、およびずれ補正部が含まれるようにすることも可能である。
【００７４】
図１６は、図１５に示すずれ補正部303におけるずれを補正する処理の一例を概念的に示した図であり、合成映像227のあるフレームを概念的に示した図である。図１６において、図２と同じ参照番号は同様の構成を示すため説明を省略する。図１６を用いてずれ補正部303についてより詳細に説明すると、アニメーション作成システム301に入力される映像19の中には、例えば被写体のゆれやカメラのゆれ等により、図１６に示すように被写体がずれているフレームも存在する。このように動きとは別に、被写体がずれている場合では、抽出される特徴点A、B、C、D、E、F、G、H、I、J もフレーム間でずれるようになってしまい、特徴点A、B、C、D、E、F、G、H、I、J が、被写体の動きと、被写体やカメラのゆれによるずれの両方を反映するようになる。その結果、例えば希望する動きをする動作データが得られなくなってしまったり、また例えば誤った編集を行ってしまったり、また例えば関数の選択が困難になったりする問題が生じてしまう。そこで本実施例では、このような被写体のずれをずれ補正部303で補正する。
【００７５】
図１７は、図１５に示すずれ補正部303におけるずれ補正処理の処理手順の一例を示した流れ図である。図１６、図１７において、特徴点格納部7に特徴点A、B、C、D、E、F、G、H、I、J の位置座標が保存されると、映像合成部9よって抽出した特徴点A、B、C、D、E、F、G、H、I、J を映像に重ねた合成映像227が作成され、出力部17に出力される。ユーザは出力部17に出力された合成映像227を見ながら、入力された映像19に被写体がずれて撮影されたフレームが存在するか否かを確認し、特徴点A、B、C、D、E、F、G、H、I、J のずれを補正する必要があるか否かを判断する(ステップS1)。
【００７６】
判断は、例えばフレーム1枚1枚ごとに行ってもよいし、また例えば複数のフレーム毎に行ってもよいし、さらに例えば映像19に含まれるフレーム全体で行ってもよい。なお、本実施例では、ユーザが補正をするかどうかを判断しているが、本発明はこれに限定するわけではなく、任意のやり方を採用して判断することが可能である。例えば、システム301が自動的に判断するようにしてもよい。
【００７７】
その結果、補正する必要がないと判断した場合は、ずれ補正処理を終了する。逆に、補正する必要があると判断した場合は、特徴点A、B、C、D、E、F、G、H、I、J のずれを正常な位置に戻すために必要となる基準フレーム311、および基準点313を選択する(ステップS2)。ここで、基準フレーム311は、基準となるフレームであって、一般的に被写体がぶれずに撮影されている、すなわち被写体が実質的にフレームの中央に位置しているフレームである。
【００７８】
また、基準点313とは、基準フレーム311における特徴点A、B、C、D、E、F、G、H、I、J のうち、変動の少ない特徴点である。本実施例では、基準フレーム311における左目の特徴点F を基準点313としている。このように左目の特徴点F を基準点313としたのは、表情の変化の場合、眉毛や口等の特徴点A、B、C、D、G、H、I、J は上下左右に変動することが考えられるが、目の特徴点E、F は変動しないと考えられるからである。なお、本発明は本実施例に限定するわけではなく、映像19に応じて任意の特徴点を基準点313とすることが可能である。例えば、本実施例の場合、右目の特徴点E を基準点313としてもよい。
【００７９】
基準点313を選択すると、ずれ補正部303は基準点313の位置座標、すなわち基準座標を算出する。次に、被写体がずれて撮影されているフレーム315、すなわち、補正するフレームにおける、基準点313と同じ特徴点、すなわち、左目の特徴点F の位置座標を算出し、この位置座標から、補正するフレーム315における左目の特徴F が、基準点313からどのくらいずれているのか、すなわちずれを算出する(ステップS3)。その後、補正するフレーム315におけるすべての特徴点A、B、C、D、E、F、G、H、I、J の位置座標の値から、算出したずれを減算する(ステップS4)。
【００８０】
このように、基準フレーム311における動きが少ない基準点313から、どれくらいずれているのかを算出し、そのずれを減算するため、例えば手ぶれや被写体のゆれ等による、フレーム間のずれを補正することが可能になる。補正後のフレーム315では、ずれが補正されているため、各特徴点は、図１８に示すように動きの変化のみを反映するようになる。なお図１８において、図１７と同じ参照番号は同様の構成を示す。その後、ずれ補正部303は、補正すると判断したすべてのフレームを補正したかどうかを判断し(ステップS5)、補正すると判断したすべてのフレームを補正した場合は、ずれ補正処理を終了する。逆に残りのフレームが存在する場合は、ステップS3に戻り、そのフレームにおける左目の特徴点F と、基準点313とのずれを算出し、このずれを補正するフレームにおけるすべての特徴点A、B、C、D、E、F、G、H、I、J に減算して、ずれを補正する。
【００８１】
以上のようにして、ずれ補正部303では、基準と定めた位置に特徴点全体を動かす。よって補正後の特徴点A、B、C、D、E、F、G、H、I、J は動きの変化のみを表すようになり、カメラのぶれや被写体のぶれによるずれを解消することが可能になる。このようなずれ補正処理は、任意の段階で実施することが可能であり、例えば、関数や規則を利用する編集処理の前や後に行うことが可能である。
【００８２】
図１９は、図１５に示すシステムにおける編集処理の処理手順の一例を示した流れ図である。図１９において、ステップS3〜ステップS10は、図９におけるステップS1〜ステップS8とそれぞれ同様の処理であるため説明を省略する。図１９において、特徴点格納部7に特徴点A、B、C、D、E、F、G、H、I、J の位置座標が保存されると、映像合成部9によって抽出した特徴点A、B、C、D、E、F、G、H、I、J を映像に重ねた合成映像が作成され、出力部17に出力される。
【００８３】
ユーザは出力部17に出力された合成映像を見ながら、映像のぶれにより特徴点の位置がおかしいフレームや、特徴点抽出部5において誤った抽出を行ってしまったフレーム等が存在するか否かを確認し、編集するか否かを複数のフレームずつ決定する(ステップS1)。つまり、図１３に示す処理のステップS1において、複数のフレームずつ規則を用いて編集するか否かを判断したのに対し、図１９に示す処理のステップS1では、規則を用いて編集するか否かに加えて、ずれを補正するか否かも判断する。
【００８４】
その結果、被写体のぶれや、誤った抽出をしたフレームが存在しなかった場合は、編集しないと判断してステップS3へ進み、今度はその複数のフレームにおいて変動がおかしい特徴点が存在するか否かを再び合成映像を見ながら確認し、関数を用いてこれらのフレームを編集するか否かを判断する(ステップS3)。逆に、被写体がぶれているフレームや、誤った抽出をしたフレームが存在した場合は、規則を用いて編集するのか、ずれを補正するのか、または両方を行うのかを選択し、規則使用編集部203や、ずれ補正部303によって、図１４または図１７に示すような特徴点の編集を行う(ステップS2)。つまり、図１３におけるステップS2においては規則を用いた編集のみを行うのに対し、図１９におけるステップS2では、規則を用いた編集、および/または、ずれの補正を行うようになるだけであり、他の部分は同じである。
【００８５】
なお、誤った抽出がされており、かつ、被写体がぶれているため、規則使用編集部203における規則を使用した編集と、ずれ補正部303におけるずれの補正との、両方が必要な場合に、どちらを先に行うかは任意に決めることが可能である。なお本発明は、被写体のぶれや、誤った抽出がされていた場合に、必ず規則使用編集部203における規則を使用した編集や、ずれ補正部303におけるずれの補正を行うことに限定するわけではなく、例えば、被写体のぶれや、誤った抽出がされていた場合であっても、経験や被写体の動き等により関数を選択または作成することができ、また関数により被写体のぶれによるずれや、誤った抽出による抜け等を編集できる場合等では、規則を使用した編集やずれの補正をしないと判断することも可能である。
【００８６】
図１９に示すステップS2において規則を使用した編集やずれを補正した後は、今度は、関数を用いて編集するか否かを判断する(ステップS3)。その結果、関数を用いて編集すると判断した場合は、関数が存在するか否かを判断し(ステップS4)、関数が存在する場合は関数を選択する(ステップS5)。逆に関数が存在しない場合は、関数を作成するための基準点を指定し(ステップS6)、関数を作成する(ステップS7)。その後、関数のどこからどこまでを、どの特徴点のどの範囲に適用するかを選択し(ステップS8)、編集を行う(ステップS9)。編集終了後は、残りのフレームが存在するか否かを判断し(ステップS10)、フレームが存在する場合は、ステップS1に戻り残りのフレームについて同様の処理を行う。また残りフレームが存在しない場合は編集処理を終了する。
【００８７】
以上のようにして、本実施例では、規則を用いた編集、および/またはずれの補正を行い、その後、自然な動きになるように特徴点をさらに編集する。本実施例のように、特徴点を正しい位置に補正したり正しい数にしてから関数を選択するようにすると、例えば特徴点がずれていたり特徴点の数が不足しているために選択する関数がわからなくなる場合等において使用する関数を見つけやすくすることが可能になるため好ましいが、本発明はこれに限定するわけではなく、規則を用いる編集、ずれの補正、および関数を用いる編集をどの順で行うかは任意に定めることが可能である。例えば、規則を用いる編集、ずれの補正を行うか否かの判断を、関数を用いる編集の後に行うことも可能である。なお本発明はこれに限定するわけではない。
【図面の簡単な説明】
【００８８】
【図１】本発明のアニメーション作成システムの実施例の構成を概念的に示すブロック図である。
【図２】特徴点を抽出する処理を概念的に示した図である。
【図３】算出された各特徴点の位置座標の一例を概念的に示した図である。
【図４】事前に作成される関数の一例を概念的に示した図である。
【図５】事前に作成される関数の別の一例を概念的に示した図である。
【図６】図１に示すシステムにおける編集処理の処理手順の一例を示した流れ図である。
【図７】特徴点抽出部で抽出された特徴点のうち、任意の一つの時間的変化を示したものである。
【図８】本発明のアニメーション作成システムの別の実施例の構成を概念的に示したブロック図である。
【図９】図８に示すシステムにおける編集処理の処理手順の一例を示した流れ図である。
【図１０】関数を作成する処理の一例を概念的に示した図である。
【図１１】本発明のアニメーション作成システムの別の実施例の構成を概念的に示したブロック図である。
【図１２】規則と編集規則の一例を概念的に示した図である。
【図１３】図１２に示すシステムにおける編集処理の処理手順の一例を示した流れ図である。
【図１４】規則および編集規則を用いた編集処理を概念的に示した図である。
【図１５】本発明のアニメーション作成システムの別の実施例の構成を概念的に示したブロック図である。
【図１６】ずれ補正部におけるずれを補正する処理の一例を概念的に示した図である。
【図１７】ずれ補正部におけるずれ補正処理の処理手順の一例を示した流れ図である。
【図１８】ずれを補正した後のフレームを概念的に示した図である。
【図１９】図１５に示すシステムにおける編集処理の処理手順の一例を示した流れ図である。
【符号の説明】
【００８９】
1  アニメーション作成システム
3  映像入力部
5  特徴点抽出部
7  特徴点格納部
9  映像合成部
11  特徴点編集部
【図１】
2007133573.tif 000003
【図２】
2007133573.tif 000004
【図３】
2007133573.tif 000005
【図４】
2007133573.tif 000006
【図５】
2007133573.tif 000007
【図６】
2007133573.tif 000008
【図７】
2007133573.tif 000009
【図８】
2007133573.tif 000010
【図９】
2007133573.tif 000011
【図１０】
2007133573.tif 000012
【図１１】
2007133573.tif 000013
【図１２】
2007133573.tif 000014
【図１３】
2007133573.tif 000015
【図１４】
2007133573.tif 000016
【図１５】
2007133573.tif 000017
【図１６】
2007133573.tif 000018
【図１７】
2007133573.tif 000019
【図１８】
2007133573.tif 000020
【図１９】
2007133573.tif 000021