(57)【要約】      （修正有）【課題】中割画像を作成する方法及びプログラムを提供する。【解決手段】画像Ａと、画像Ａの表示時刻ｔＡよりも後の時刻ｔＣの画像Ｃとから、時刻ｔＡと時刻ｔＣとの間の時刻ｔＢの表示画像Ｂを生成するように、画像Ａに含まれる領域ａと、画像Ｃに含まれかつ領域ａに対応する領域ｃに対して、コンピュータに第１の推定手順を実行させる方法であって、対応関係が、画像に略垂直の方向の軸を中心とした領域の回転を含む。領域ａの回転の中心座標Ｏａと、領域ｃの回転の中心座標Ｏｃとを取得する中心座標取得ステップと、回転の方向と角度とを認識する回転認識ステップと、時刻ｔＡと時刻ｔＢと時刻ｔＣと中心座標Ｏａと中心座標Ｏｃと回転の方向と角度とに基づいて、領域ａの形状と領域ｃの形状とを補間することで画像Ｂに含まれる領域であって領域ａに対応する領域である領域ｂの形状を形成する領域形成ステップと、を有する。【選択図】なし【特許請求の範囲】
【請求項１】
既知の画像Ａと、前記画像Ａが表示される時刻ｔＡよりも後の時刻ｔＣに表示される既知の画像Ｃとから、前記時刻ｔＡと前記時刻ｔＣとの間の時刻ｔＢに表示される画像Ｂを生成するように、前記画像Ａに含まれる領域ａと、前記画像Ｃに含まれかつ前記領域ａと対応関係を有する領域ｃとに対して、コンピュータに第１の推定手順を実行させる方法であって、
前記第１の推定手順は、
前記対応関係が、画像に略垂直の方向の軸を中心とした領域の回転を含み、前記領域ａの回転の中心座標Ｏａと、前記領域ｃの回転の中心座標Ｏｃとを取得する、中心座標取得ステップと、
前記回転の方向と前記回転の角度とを認識する回転認識ステップと、
前記時刻ｔＡと前記時刻ｔＢと前記時刻ｔＣと前記中心座標Ｏａと前記中心座標Ｏｃと前記回転の方向と前記回転の角度とに基づいて、前記領域ａの形状と前記領域ｃの形状とを補間することで前記画像Ｂに含まれる領域であって前記領域ａに対応する領域である領域ｂの形状を形成する領域形成ステップと、
を有する方法。
【請求項２】
前記領域形成ステップは、
前記回転の方向と前記回転の角度とに応じて、前記中心座標Ｏａを中心とした前記領域ａの回転及び前記中心座標Ｏｃを中心とした前記領域ｃの回転のいずれか又は両者を行い、前記領域ａと前記領域ｃとの領域の向きを合わせることで、それぞれ領域ａ１と領域ｃ１とを形成するステップと、
前記時刻ｔＡと前記時刻ｔＢと前記時刻ｔＣとに基づいて、前記領域ａ１の形状と前記領域ｃ１の形状とを用いて補間された領域ｘの形状を形成する補間ステップと、
前記時刻ｔＡと前記時刻ｔＢと前記時刻ｔＣとに基づいて、
前記中心座標Ｏａと前記中心座標Ｏｃとから補間して得られた前記画像Ｂにおける中心座標Ｏｂを中心に、
前記回転の角度を按分して得られた角度に、
前記補間された領域ｘが向くように回転させることで、
前記領域ｂの形状を取得するステップと、
を含む請求項１に記載の方法。
【請求項３】
前記回転認識ステップは、
前記領域ａの重心Ｇａと、前記領域ｃの重心Ｇｃとを求めるステップと、
前記中心座標Ｏａから前記重心Ｇａに向かうベクトルと、前記中心座標Ｏｃから前記重心Ｇｃに向かうベクトルとから、前記回転の方向と前記回転の角度とを推定するステップと、
を含む請求項１又は２に記載の方法。
【請求項４】
前記回転認識ステップは、
オペレータから前記領域ａの特徴点Ｆａと、前記領域cに存在し前記特徴点Ｆａに対応する特徴点Ｆｃとを取得するステップと、
前記中心座標Ｏａから前記特徴点Ｆａに向かうベクトルと、前記中心座標Ｏｃから前記特徴点Ｆｃに向かうベクトルとから、前記回転の方向と前記回転の角度とを推定するステップと、
を含む請求項１又は２に記載の方法。
【請求項５】
前記回転認識ステップは、
オペレータから前記回転の方向と前記回転の角度とを取得するステップ
を含む請求項１又は２に記載の方法。
【請求項６】
前記画像Ａにおいて前記領域ａに関節点Ｊａで接続し前記関節点Ｊａが回転の中心座標となっている既知の領域ｐと、前記画像Ｃにおいて前記領域ｃに関節点Ｊｃで接続し前記関節点Ｊｃが回転の中心座標となっている既知の領域ｒが存在する場合、
前記領域ｐと前記領域ｒと前記関節点Ｊａ及び前記関節点Ｊｃのそれぞれの座標とを更に前記第１の推定手順に与えることで、前記画像Ｂにおいて補間された領域ｑを更に形成し、かつ前記領域ｂにおいて前記関節点Ｊａ及び前記関節点Ｊｃに対応する関節点Ｊｂを特定し、かつ前記領域ｑにおいて前記関節点Ｊａ及び前記関節点Ｊｃに対応する関節点Ｊｑを特定するステップと、
前記関節点Ｊｂの座標と前記関節点Ｊｑの座標とが一致しない場合は、前記関節点Ｊｂの座標と前記関節点Ｊｑの座標とを一致するように、前記領域ｂ及び前記領域ｑのいずれか一方又は両方を平行移動させるステップと、
を含む第２の推定手順を更にコンピュータに実行させる、請求項１ないし５のうちいずれか１項に記載の方法。
【請求項７】
請求項１ないし６のうちいずれか１項に記載の方法をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の画像を補間した画像を生成する方法及びプログラムに関する。
【背景技術】
【０００２】
複数の二次元画像を作成し、複数の二次元画像の各々を時系列的に順次表示することによって、二次元アニメーションを作成することが一般に行われている。二次元アニメーションは、手書きなどで作成された静止画像を時間軸上の各フレームに対応づけて再生することで、動画を構成する表現技法である。
【０００３】
古くは、手書きの画像を複数枚作成し、複数枚の画像を順次映画フィルムに撮影し、映画フィルムを投影することによって、テレビや映画などの漫画（二次元アニメーション）を制作することが行われてきた。複数の画像は、それぞれ、キャラクタなどの動きを少しずつ変えた画像となっているため、複数の画像を連続的に表示することによって、動きのあるキャラクタの動画が生成できる。また、より原始的な技法として、複数の紙に描かれた複数毎の画像を、指によってパラパラとめくることによって、動きのあるキャラクタを表現するパラパラ漫画などが存在していた。
【０００４】
一般的な、二次元アニメーションは、以下の工程で作成されることが多い。
【０００５】
・行程（１）原画の作成：一連の動画の画像のうちの所定のタイミングに散在する要のフレームであるキーフレームに含まれる画像を原画と呼ぶ。主にデザイナーが原画を作成する。
【０００６】
・行程（２）中割り画像の作成：時間軸上、あるキーフレームと次のキーフレームとの間に位置し、前後の原画をなめらかに補間した画像（この画像を「中割り画像」という）を作成する。
・行程（３）彩色：原画と中割り画像の中に存在する複数の閉領域の着色を行う。
・行程（４）撮影：原画と背景との合成、及び中割り画像と背景との合成を行い各々のフレームを作成する。
【０００７】
上記行程（１）の原画については、デザイナーが作成するのが基本である。原画は、動きのあるキャラクタの特徴的な動作部分をデザイナーが手書き又は、コンピュータグラフィクスのソフトウエア等を用いて作成する。通常、デザイナーは、動画の全てのフレームを作成することはなく、キーフレームのための原画を描く。幾つかのフレームを隔てて原画が描かれる。
【０００８】
上記行程（２）は、中割り画像の作成である。１つの原画と、時間的にその次に位置する原画との間は、デザイナー以外の者が中割り画像を作成する場合が多い。中割り画像は、時間軸上で隣り合う原画の間に位置する空白のフレームに用いられる画像である。中割り画像を作成する目的は、なめらかな動画を作成するために、時間軸上で隣り合う原画を含むキーフレームを補間した画像を作成することで、空白のフレームを埋めることである。
【０００９】
したがって、中割り画像は、動画全体がスムーズなものとなるように描かれる。中割り画像は、手書きで作成されていることが多いが、原画に比べて、作成する枚数が多くなるため、多くのリソースが必要となる。また、自動的に中割り画像を作成することも試みられているが、自然な動画を作成する上で、自動的な中割り画像の作成には困難を伴う。
【００１０】
上記行程（３）は、彩色である。原画及び中割り画像は、共に、線画で描かれていることが多いため、線画によって形成されたそれぞれの閉領域を、適切な色で着色する作業（彩色）が行われる。彩色についても、ディジタル化された処理が普及している。
【００１１】
上記工程（４）は、撮影である。古くは、各フレームが銀塩フィルムに撮影されていた。撮影工程（４）は、ディジタル化された処理が普及しており、ディジタルの動画が生成される。
【００１２】
上記工程（２）及び工程（３）については、手作業を必要とする部分が多く、繁雑な作業をオペレータが行う割合が多い。これは、原画に存在する複数のオブジェクトの画像が重なり合っていたり、変形していたりするためである。すなわち、２つの原画における対応する閉領域が変形し、又は対応する交点（閉領域の境界線が交わる交点など）が移動してしまうため、自動的な対応付けが困難となることなどに起因している。
【００１３】
２つの画像に存在する対応する交点を発見する技術としては以下の技術が存在する。
【００１４】
２枚のキーフレームとなるビットマップイメージのそれぞれに、双方のビットマップイメージの対応し合う位置関係を示すためのコントロールポイントを指定し、その対応するコントロールポイント間を結んだ直線上に決定された内分点にコントロールポイントを変更することにより補間フレームを生成する技術が存在する（例えば、特許文献１）。
【００１５】
また、効率よくマッチング処理を行うため、マッチング部が、動的計画法を用いて、第１形状データの輪郭点とマッチングする第２形状データの輪郭点を求める技術が存在する（例えば、特許文献２）。
２つの画像に存在する対応する閉領域を発見する技術としては以下の技術が存在する。
【００１６】
例えば、頭や手などの閉領域をチェーンとしてリスト化して記憶しておき、閉領域の特徴をトラッキングする技術が存在する（例えば、非特許文献１参照）。
【００１７】
また、輪郭のマッチングを行い、似ている画像閉領域を対応づける技術が存在する（例えば、非特許文献２参照）。
【先行技術文献】
【特許文献】
【００１８】
【特許文献１】特開平１１−７５３９号公報
【特許文献２】特開２０１５−１１５０４７号公報
【非特許文献】
【００１９】
【非特許文献１】P.  Garcia  Trigo，H.  Johan，T.  Imagire，and  T.  Nishita．  Interactive  Region  Matching  for  2D  Animation  Coloring  Based  on  Feature’s  Variation．  IEICE  ransactions(E92-D)，No.6，pp.1289-1295  (2009)．
【非特許文献２】J.  S.  Madeira，A.  Stork，and  M.  H.  Gross．  An  approach  to  computer-supported  cartooning．The  Visual  Computer，Vol.12，No.1，pp.1-17  (1996)．
【発明の概要】
【発明が解決しようとする課題】
【００２０】
上述のように、中割り画像の作成工程（２）では、中割り画像の作成に多くのリソースを必要とする。また、彩色工程（３）には、手作業を伴う彩色の行程が存在する。この彩色の工程では、原画及び中割り画像の各々に対して、対応する閉領域に同じ彩色を施す必要がある。したがって、彩色を行う場合には、複数の原画及び複数の中割り画像の各々のフレームに存在する対応する閉領域を特定する作業が必要である。通常、対応する閉領域の判断は、オペレータによる目視の作業が必要とされる。
【００２１】
以下に開示する実施形態は、特に中割り画像の作成工程及び彩色行程等における、オペレータの作業の軽減を図ることにより、二次元アニメーションの作成をよりスムーズに行うことができるようにすることを目的とする。
【課題を解決するための手段】
【００２２】
一実施形態は、既知の画像Ａと、前記画像Ａが表示される時刻ｔＡよりも後の時刻ｔＣに表示される既知の画像Ｃとから、前記時刻ｔＡと前記時刻ｔＣとの間の時刻ｔＢに表示される画像Ｂを生成するように、前記画像Ａに含まれる領域ａと、前記画像Ｃに含まれかつ前記領域ａと対応関係を有する領域ｃとに対して、コンピュータに第１の推定手順を実行させる方法であって、前記第１の推定手順は、前記対応関係が、画像に略垂直の方向の軸を中心とした領域の回転を含み、前記領域ａの回転の中心座標Ｏａと、前記領域ｃの回転の中心座標Ｏｃとを取得する、中心座標取得ステップと、前記回転の方向と前記回転の角度とを認識する回転認識ステップと、前記時刻ｔＡと前記時刻ｔＢと前記時刻ｔＣと前記中心座標Ｏａと前記中心座標Ｏｃと前記回転の方向と前記回転の角度とに基づいて、前記領域ａの形状と前記領域ｃの形状とを補間することで前記画像Ｂに含まれる領域であって前記領域ａに対応する領域である領域ｂの形状を形成する領域形成ステップと、を有する方法を提供する。
【発明の効果】
【００２３】
複数の画像を補間した画像を生成することで、アニメーションの作成工程における人的作業負担を軽減させることにより、アニメーションの作成をよりスムーズに行うことができる。
【図面の簡単な説明】
【００２４】
【図１】原画及び中割り画像を含む複数のフレームにより二次元アニメーションを構成する例を示す図である。
【図２】原画を構成する各画素の特徴抽出の例を示す図である。
【図３】原画を構成する各閉領域を管理する表の例を示す図である。
【図４】複数の閉領域を含む２つの画像のそれぞれの閉領域を対応づける手法の例を示す図である。
【図５】複数の閉領域を含む２つの画像のそれぞれの閉領域の対応づけの結果を示す図である。
【図６】領域の対応付けの例を示すフローチャートである。
【図７】複数の閉領域を含む２つの画像のそれぞれに存在する交点の対応付けの例を示す図である。
【図８】複数の閉領域を含む２つの画像のそれぞれの交点の対応づけの結果を示す図である。
【図９】複数の閉領域を含む２つの画像のそれぞれに存在する交点の対応付けの際に発生する第１の課題の例を示す図である。
【図１０】複数の閉領域を含む画像に存在する交点及び境界線を修正する処理の例を示す図である。
【図１１】複数の閉領域を含む画像に存在する交点及び境界線を修正する処理の結果に基づいて、交点の対応付けの例を示す図である。
【図１２】２つの交点をまとまりとして捉えた場合に、それらの周囲に存在する複数の閉領域のパターンが同一である場合を発見するフローチャートである。
【図１３】交点の対応付けを行う処理を示すフローチャートである。
【図１４】中割り画像を自動的に作成する第１の例を示す図である。
【図１５】複数の中割り画像を生成する例を示す図である。
【図１６】孤立した閉路上に交点が無い場合に交点を付与する例を示す図である。
【図１７】２つの原画の片方が孤立した閉路を持つ場合の交点の処理の例を示す図である。
【図１８】原画をレイヤーに分ける処理を行う例、閉領域の一部が対応している場合の処理の例を示す図である。
【図１９】本実施形態のハードウエア構成の例を示す図である。
【図２０】領域が回転を伴う場合に、補間を用いて中割画像を生成する例を示す図である。
【図２１】中割画像の領域を生成する例を概念的に示す図である。
【図２２】中割画像の領域を生成する他の例を概念的に示す図である。
【図２３】中割画像の領域を生成する手順の例を示す図である。
【図２４】２つの領域が関節で連結している場合に領域の一の修正をする例を示す図である。
【図２５】２つの領域が関節で連結している２つの画像の例を示す図である。
【図２６】領域を分割して、レイヤーの別の層に分ける例を示す図である。
【図２７】２つのレイヤーのそれぞれから中割画像を形成したときの中割画像における領域のずれを示す図である。
【図２８】関節点を与えることによって、中割画像における２つの領域のずれを解消する例を示す図である。
【発明を実施するための形態】
【００２５】
図１は、原画及び中割り画像を含む複数のフレームにより二次元アニメーションを構成する例を示す図である。
【００２６】
図１には、時間軸ｔが示されている。デザイナーが、原画１と原画２とを描く。時刻ｔ１からｔ２までの間、原画１を含むフレームが表示される。そして、時刻ｔ３から原画２を含むフレームが表示される。この場合、時刻ｔ２からｔ３のフレームを空白の画像とすることはできないため、中割り画像Ｎを作成して、中割り画像Ｎを含むフレームを時刻ｔ２からｔ３までの間表示することで、動画がスムーズに表示されるようにすることができる。図１の例では、中割り画像Ｎを１つ追加する場合を例示しているが、実際には、原画１と原画２との間に、２つ以上の中割り画像を作成する場合もある。図１は、説明を簡略化するために、１つの中割り画像Ｎが図示されている。
【００２７】
原画１と原画２との中間の動きを表現する画像を生成することができれば、中割り画像Ｎを自動的に描くことができる。中割り画像Ｎを描くためには、例えば原画１と原画２における主要な交点の対応関係がわかっていれば、例えば、対応する交点どうしの位置を補間した交点（例えば中点）を求めることによって、中割り画像において対応する交点を求めてもよい。例えば、原画１の交点１１と原画２の交点２１は、対応する交点であることがわかる。したがって、例えば、交点１１の座標と、交点２１の座標を補間した交点（例えば中点）の座標）（例えばフレームの画素位置）を求めることによって、中割り画像Ｎの交点Ｎ１の座標を求めることができる。
【００２８】
原画１と原画２における各交点の対応関係は以下のとおりである。すなわち、原画１における交点１１、交点１２、交点１３、交点１４は、それぞれ原画２における交点２１、交点２２、交点２３、交点２４に対応している。原画１及び原画２におけるこれらの複数の交点の対応付けを発見することができれば、中割り画像Ｎの複数の交点Ｎ１、交点Ｎ２、交点Ｎ３、交点Ｎ４の座標は、例えば、原画１と原画２との対応する交点を補間することで、求めることができる。
【００２９】
上記の処理では、原画１の各交点と原画２の各交点の対応関係が既知であることを前提として説明した。しかしながら、現実には、原画１の各交点と原画２の各交点の対応関係をオペレータの指示に頼ることは、オペレータに多くの労力を強いることとなる。したがって、原画１の各交点と原画２の各交点の対応関係を自動的に推定することが求められる。
【００３０】
図７に移る。図７は、原画１の交点１３と原画２の交点２３が対応関係にあることを推定するために、複数の閉領域を含む２つの画像のそれぞれに存在する交点の対応付けの例を示す図である。
【００３１】
図７（Ａ）の交点１３の周辺を拡大した図が図７（Ｃ）である。また、図７（Ｂ）の交点２３の周辺を拡大した図が図７（Ｄ）である。
【００３２】
図７（Ｃ）に示されるように、交点１３は、背景Ｙと、閉領域１Ｂと、閉領域１Ｃとで作られる境界線上の交点であることがわかる。図７（Ｄ）に示されるように、交点２３は、背景Ｙと、閉領域２Ｂと、閉領域２Ｃとで作られる境界線上の交点であることがわかる。
【００３３】
ここで、閉領域２Ｂが閉領域１Ｂと対応関係にあること、及び閉領域１Ｃと閉領域２Ｃとが対応関係にあることが既知であると仮定する。なお、背景Ｙは、原画１と原画２とで同種の背景であり対応関係にあることが既知であると仮定する。図７（Ｃ）における交点１３の周囲に存在する複数の閉領域は、左回りに閉領域１Ｂ、背景Ｙ、閉領域１Ｃの順に存在しており、同様に図７（Ｄ）における交点２３の周囲に存在する複数の閉領域は、左回りに閉領域１Ｂに対応する閉領域２Ｂ、背景Ｙ、閉領域１Ｃに対応する閉領域２Ｃの順に存在している。このことから、交点１３と交点２３は、対応関係にあることを自動的に推定することが可能である。
【００３４】
上記の推定においては、原画１の交点１３の周りに存在する複数の閉領域と、原画２の周りに存在する複数の閉領域同士の対応関係が既知であることを前提とした。しかしながら、原画１の複数の閉領域と原画２の複数の閉領域のそれぞれの対応関係を、オペレータの指示に頼ることは、オペレータに多くの労力を強いることとなる。したがって、原画１の各交点と原画２の各交点との対応関係を、可能な限り自動的に推定することが求められる。
【００３５】
図１に戻ると、上記のことは、原画１の閉領域１Ａ、閉領域１Ｂ及び閉領域１Ｃが、それぞれ原画２の閉領域２Ａ、閉領域２Ｂ及び閉領域２Ｃと対応することを、自動的に推定することが求められる。
【００３６】
以上のことから、時間的に連続する２つの原画１及び原画２の時間軸上の中間に位置する中割り画像Ｎを自動的に生成するためには、上記の手順と逆の推定の処理を以下のとおり実行することが求められる。
（ａ）原画１と原画２とにおいて、それぞれに存在する閉領域の対応づけを推定すること。
（ｂ）閉領域の対応付けの情報を用いて、原画１と原画２とにおいて、それぞれに存在する閉領域を分ける境界線の交点の対応づけを推定すること。
（ｃ）対応づけられた交点を補間する交点の座標を求めること。
（ｄ）原画１と原画２の対応する閉領域の形状及び補間された交点の座標を用いて、中割り画像を生成すること。
【００３７】
なお、上記（ａ）の行程において、閉領域の対応付けが行われるため、例えば原画１の彩色の指定を行えば、略自動的に原画２における対応する閉領域の彩色が行える。更に、上記工程（ｄ）において生成された中割り画像においても、原画における閉領域と対応する閉領域がわかるため、中割り画像の閉領域の彩色も略自動で行うことができることとなる。
【００３８】
したがって、上述の従来技術の説明では、中割り画像の作成の工程の後に彩色の工程が位置していたが、本実施形態では、中割り画像の作成工程と、彩色の工程が逆の順序になってもよいことがわかる。
【００３９】
以下、順に、詳細な実施形態を説明する。
【００４０】
＜１＞実施形態１：閉領域の対応付け
＜１−１＞  用語の定義
【００４１】
実施形態１では、２つの原画に存在する複数の閉領域の対応付けを自動的に行うための処理の例を示す。なお、以下の実施形態１は、処理の一例であって、この例に限られるものではない。
【００４２】
図２は、原画を構成する各画素の特徴抽出の例を示す図である。
【００４３】
ここで、図２（Ａ）を用いて、以下の定義を行う。
【００４４】
「閉領域」：画像において、線で閉じられた領域を「閉領域」と呼ぶ。たとえば、図２（Ａ）において、閉領域１Ａ、閉領域１Ｃ及び閉領域１Ｂは、それぞれ線で閉じられた「閉領域」である。原画の背景は、閉領域ではない。また、直線及び点も画像も閉領域ではない。
【００４５】
「境界線」：閉領域を囲む線を境界線という。境界線を隔てて閉領域と閉領域又は背景とが隣接することになる。
【００４６】
「隣接」：閉領域Ａと閉領域Ｂとが、境界線Ｘで接している場合、閉領域Ａと閉領域Ｂとは、境界線Ｘで隣接しているという。
【００４７】
「交点」：境界線が交わっている点、あるいは境界線の端点（端の点）を交点と呼ぶ。
【００４８】
「画素」：画像に存在する二次元平面に等間隔にメッシュを定義して、メッシュの各交点の座標位置に存在する画像の構成要素を画素と呼ぶ。画素は、ディジタル画像を構成する各画素に対応させてもよい。
【００４９】
「方位」：図２（Ａ）において、画素Ｐ１から例えば上下左右の４つの方向を「方位」という。そして上下左右のそれぞれの方位に伸びる半直線Ｕ、Ｄ、Ｌ、Ｒを定義する。半直線Ｕ、Ｄ、Ｌ、Ｒは、画素Ｐ１からそれぞれ上、下、左、右に伸びる半直線である。なお、図２（Ａ）の例では、上下左右の４つの方位にそれぞれ半直線を定義したが、方位の数は、４つに限られるものではない。
【００５０】
「交差回数」：図２（Ａ）において、例えば、画素Ｐ１から上の方位に伸びる半直線Ｕが、原画１を構成する閉領域１Ａとの境界線において、Ｕ１１で交差している。この場合、画素Ｐ１の上方位の交差回数は１であると定義される。同様に画素Ｐ１の左の方位に伸びる半直線Ｌが、原画１を構成する閉領域１Ａ、１Ｃ、１Ｂとの境界線とＬ１１、Ｌ１２、Ｌ１３で交差している。この場合、画素Ｐ１の左方位の交差回数は３であると定義される。同様に画素Ｐ１の下の方位に伸びる半直線Ｄが、原画１を構成する閉領域Ａ１との境界線と、Ｄ１１で交差している。この場合、画素Ｐ１の下方位の交差回数は１であると定義される。同様に画素Ｐ１の右の方位に伸びる半直線Ｒが、原画１を構成する閉領域１Ａとの境界線と、Ｒ１１で交差している。この場合、画素Ｐ１の右方位の交差回数は１であると定義される。
【００５１】
「境界線までの距離」：図２（Ａ）において、例えば、画素Ｐ１から、画素Ｐ１を含む閉領域と、初めて交差するまでの距離を「境界線までの距離」と定義する。図２（Ａ）において、画素Ｐ１の上方位の境界線までの距離は、α１である。境界線までの距離の単位は、たとえば、画素数であってもよい。
【００５２】
たとえば、画素が、ある閉領域に属している場合には、その画素は、いずれの方位においても、必ずその閉領域の境界線と交差することとなるため、交差回数は１以上となる。画素が、背景に属している場合には、交差回数がゼロの場合があり得る。
【００５３】
＜１−２＞  原画の構成要素
図１及び図１８などに示す原画は、多くの場合線画であり、例えば以下のような要素で構成されている。
（ａ）閉領域（境界線で閉じた領域）
（ｂ）閉領域から分岐する線分（分岐線分）
（ｃ）閉領域に包含され孤立する線分（孤立線分）
【００５４】
２つの原画の間に存在する分岐線分と孤立線分は、閉領域の境界線との相対座標を比較することにより、対応付けが可能である。したがって、まず、２つの原画の間の閉領域の対応付けを行うことが望ましい。実施形態１では、閉領域の対応付けの例を示す。
【００５５】
＜１−３＞  彩色と中割り画像の生成の順序
【００５６】
上述の、従来技術の例においては、中割り画像を作成した後に、原画と中割り画像の彩色が行われる手順を示した。しかしながら、本実施形態１では、原画の各閉領域の対応付けをまず行うため、この段階で、原画の対応する閉領域に彩色を施すことが可能である。まず、原画間で閉領域の対応付けを行う。そして、複数の原画で、対応する閉領域には、彩色において同じ色が塗られることになる。このようにすれば、彩色を原画毎に行う手間を省くことができる。
【００５７】
加えて、２つの原画の間に閉領域の対応付けが既になされていれば、時間軸上で２つの原画の間に位置する中割り画像をその後生成した場合にも、その中割り画像に含まれる閉領域と２つの原画の閉領域との対応付けが容易に行える。
【００５８】
したがって、まず原画における閉領域の対応付けを行った後、彩色を行い、その後に生成された中割り画像に含まれる閉領域に、略自動的彩色を行うことができる。
【００５９】
＜１−４ａ＞  原画の画素の特徴ベクトルの定義
本実施形態では、原画に存在する画素Ｐの特徴Ｖ（Ｐ）を、８次元ベクトルで以下のように定義する。
【００６０】
Ｖ（Ｐ）＝（ｃ０，ｃ１，ｃ２，ｃ３，ｃ４，ｃ５，ｃ６，ｃ７）      （式１）
ここで、ｃ０乃至ｃ７を、以下のように定義する。なお、βは、定数である。
画素Ｐから上下左右の境界線までの距離を、それぞれαｕ、αｄ、αｌ、αｒとすると、
ｃ０＝１／（αｕ＋β）  ただし、上方位の交差回数が１である場合。その他の場合ｃ０＝０
ｃ１＝１／（αｒ＋β）  ただし、右方位の交差回数が１である場合。その他の場合ｃ１＝０
ｃ２＝１／（αｄ＋β）  ただし、下方位の交差回数が１である場合。その他の場合ｃ２＝０
ｃ３＝１／（αｌ＋β）  ただし、左方位の交差回数が１である場合。その他の場合ｃ３＝０
【００６１】
ｃ４＝１／（αｕ＋β）  ただし、上下左右の４つの方位の交差回数がいずれも２以上であり、かつ上方位の交差回数が上下左右の４つの方位の交差回数のうち最小である場合。その他の場合ｃ４＝０
【００６２】
ｃ５＝１／（αｒ＋β）  ただし、上下左右の４つの方位の交差回数がいずれも２以上であり、かつ右方位の交差回数が上下左右の４つの方位の交差回数のうち最小である場合。その他の場合ｃ５＝０
【００６３】
ｃ６＝１／（αｄ＋β）  ただし、上下左右の４つの方位の交差回数がいずれも２以上であり、かつ下方位の交差回数が上下左右の４つの方位の交差回数のうち最小である場合。その他の場合ｃ６＝０
【００６４】
ｃ７＝１／（αｌ＋β）  ただし、上下左右の４つの方位の交差回数がいずれも２以上であり、かつ左方位の交差回数が上下左右の４つの方位の交差回数のうち最小である場合。その他の場合ｃ７＝０
【００６５】
なお、ｃ０，ｃ１，ｃ２，ｃ３については、交差回数が１の方位が複数ある場合は、交差回数が１の方位に対応する特徴ベクトルの要素に値を持つことになる。また、ｃ４，ｃ５，ｃ６，ｃ７については、交差回数が２以上で最小の値の方位が複数ある場合は、その最小の交差回数の複数の方位に対応する特徴ベクトルの要素に値を持つことになる。
【００６６】
画素Ｐが背景又は境界線に属する画素である場合には、ｃ０＝ｃ１＝ｃ２＝ｃ３＝ｃ４＝ｃ５＝ｃ６＝ｃ７＝０とする。
【００６７】
なお、上述の規則は例示に過ぎず、これに限定されるものではない。特徴ベクトルのその他の要素の決定方法としては、たとえば、以下のような規則（ａ）又は（ｂ）が挙げられる。
【００６８】
（ａ）上記規則においては、同じ交差回数が複数ある場合には、その複数の方位のすべてに、特徴ベクトルの要素を持つように定めた。しかしながらそのようにせずに、上下左右の方位にあらかじめ優先順位を設けておき、同じ交差回数の方位が複数ある場合には、同じ交差回数を持つ方位のうちで、優先順位の一番高い方位における境界線までの距離のみを採用してもよい。そして、特徴ベクトルのその他の要素は、ゼロとしてもよい。
【００６９】
（ｂ）特徴ベクトルのうちｃ０，ｃ１，ｃ２及びｃ３の成分は、交差回数が１となる方位が存在するときに、交差回数が１となる方位のうち、境界線までの距離が一番小さいαを用いた特徴量１／（α＋β）を、境界線までの距離が一番小さいαの方位の要素に持つように定めてもよい。そして、特徴ベクトルのうちｃ４，ｃ５，ｃ６及びｃ７の成分は、交差回数として１となる方位が存在せずかつ全ての方位で交差回数が２以上となるときに、４つの方位のうちで、境界線までの距離が一番小さいαを用いた特徴量１／（α＋β）を、境界線までの距離が一番小さいαの方位の要素に持つようにしてもよい。そして、それ以外の方位の特徴ベクトルの要素はゼロとしてもよい。
【００７０】
上述の例は、いずれもｃ０及びｃ４は上方位の成分を表す。ｃ１及びｃ５は右方位の成分を表す。ｃ２及びｃ６は下方位の成分を表す。ｃ０３及びｃ７は左方位の成分を表す。
【００７１】
背景に存在する画素の特徴ベクトルの成分は、全てが零であるとしてもよい。
【００７２】
なお、上記の特徴ベクトルは、すでに指摘したように一例であって、課題を達成するための特徴ベクトルは他の形式であってもよい。更に、例えば、特徴ベクトルは、上下左右の４つの方位を次元とする４次元ベクトルであってもよい。４つの方位において最も交差回数の少ない方位の境界線までの距離に基づく関数を、対応する方位の次元の要素として、その他の次元の要素の値を零としてもよい。
【００７３】
＜１−４ｂ＞  特徴ベクトルの性質
上記の特徴ベクトルは、以下の性質を持つ。
【００７４】
本実施形態１では、原画は、線で構成された線画であると仮定している。原画が描かれる対象をオブジェクトと呼ぶ。オブジェクトは、複数の線画で描かれており、複数の閉領域を含む。
【００７５】
オブジェクトと背景との境界線は、オブジェクト内に存在する閉領域間の境界線よりも、識別性が高い。これは、背景と接している境界線は、オブジェクトのシルエットを構成する輪郭とも呼べる線であり、オブジェクトの内部に存在する線よりも、オブジェクトの特徴をより強く現している境界線であることが経験則上わかっているためである。
【００７６】
上記の交差回数が１である場合は、その方位に存在する境界線が背景との境にあることを示している。これに対して、交差回数が２以上である方位に存在する境界線は、オブジェクト内に入り込んだ境界線であり、背景とは接していない境界線である。
【００７７】
上記に定義した各画素が持つ特徴ベクトルは、少なくとも１つでも、交差回数が１の方位があれば、その方位における、境界線までの距離を優先して利用する。交差回数が１の方位が複数存在する場合には、その複数の方位のうち一番短い、境界線までの距離を用いて特徴ベクトルの成分を生成する。交差回数が１の方位がなければ、交差回数が２以上の方位のうち、最も値の小さい境界線までの距離を採用する。
【００７８】
このように、交差回数が１である境界線までの距離を優先して用いる理由は、背景と接している境界線を重要視するためである。
【００７９】
そして、採用された境界線までの距離をαとすると、１／（α＋β）を計算し、上記８次元ベクトルの所定のベクトル成分の値とし、その他のベクトル成分の値はゼロとする。ここで、βは、定数である。定数βをαに足す理由は、境界線上でαがゼロとなるため、ベクトル成分の値が無限大になるのを避けるために設定する。また、どの程度の閉領域の大きさを対象とするか、どの程度、境界線の近辺で大きな値の成分を特徴として持たせるかにも依存する。境界線までの距離αが分母に存在するため、ベクトルの成分１／（α＋β）は、閉領域内において境界線に近い画素であればあるほど、大きな値をとること（増加関数）になる。このようにαを分母に置くことによって、閉領域のうち、境界線に近い部分に対して、より大きな特徴量を持たせることができる。このように、境界線に近い部分に対して、より大きな特徴量を持たせることは、境界線の形状をより重視するように特徴を持たせることができる。これは、オブジェクトの閉領域の中央付近よりも、境界線に近い部分にその形状の特徴が現れるため、この特徴ベクトルを用いることにより、後述するコスト関数を用いて、原画同士の閉領域の対応付けを高い確率で推定できるようにするためである。なお、特徴量１／（α＋β）は、一例であって、この特徴量に限定されるものではない。特徴量は、閉領域の内部において、境界線付近で大きな値をとるような関数を選ぶことにより、閉領域の境界線付近を強調する関数であることが望ましい。
【００８０】
＜１−５＞  画素の特徴ベクトルの例
（１）画素Ｐ１の特徴ベクトル（図２（Ａ））
画素Ｐ１の４つの方位の交差回数は以下のとおりである。
【００８１】
上方位において画素Ｐ１は、Ｕ１１で交差しているため、上方位の交差回数は１である。
【００８２】
右方位において画素Ｐ１は、Ｒ１１で交差しているため、右方位の交差回数は１である。
【００８３】
下方位において画素Ｐ１は、Ｄ１１で交差しているため、下方位の交差回数は１である。
【００８４】
左方位において画素Ｐ１は、Ｌ１１、Ｌ１２、Ｌ１３で交差しているため、左方位の交差回数は３である。
【００８５】
そして、画素Ｐ１は、交差回数１回の方位が上方位、右方位、下方位に存在する。上方位の境界からの距離がα１Ｕである。右方位の境界からの距離がα１Ｒである。下方位の境界からの距離がα１Ｄである。したがって、画素Ｐ１の特徴ベクトルＶ（Ｐ１）は、以下のとおりである。
Ｖ（Ｐ１）＝（１／（α１Ｕ＋β），１／（α１Ｒ＋β），１／（α１Ｄ＋β），０，０，０，０，０）
（２）画素Ｐ２の特徴ベクトル（図２（Ｂ））
画素Ｐ２の４つの方位の交差回数は以下のとおりである。
【００８６】
上方位において画素Ｐ２は、Ｕ２１、Ｕ２２で交差しているため、上方位の交差回数は２である。
【００８７】
右方位において画素Ｐ２は、Ｒ２１、Ｒ２２で交差しているため、右方位の交差回数は２である。
【００８８】
下方位において画素Ｐ２は、Ｄ２１、Ｄ２２で交差しているため、下方位の交差回数は２である。
【００８９】
左方位において画素Ｐ２は、Ｌ２１、Ｌ２２で交差しているため、左方位の交差回数は２である。
【００９０】
そして、図２（Ｂ）においては、交差回数が１である方位は存在せず、画素Ｐ２は、交差回数２以上の方位のうち最も小さい交差回数の値は２であり、その方位は、４つの方位全てである。上方位の境界線からの距離がα２Ｕである。右方位の境界線からの距離がα２Ｒである。下方位の境界線からの距離がα２Ｄである。左方位の境界線からの距離がα２Ｌである。したがって、画素Ｐ２の特徴ベクトルＶ（Ｐ２）は、以下のとおりである。
Ｖ（Ｐ２）＝（０，０，０，０，１／（α２Ｕ＋β），１／（α２Ｒ＋β），１／（α２Ｄ＋β），１／（α２Ｌ＋β））
（３）画素Ｐ３の特徴ベクトル（図２（Ｃ））
画素Ｐ３の４つの方位の交差回数は以下のとおりである。
【００９１】
上方位において画素Ｐ３は、Ｕ３１、Ｕ３２で交差しているため、上方位の交差回数は２である。
【００９２】
右方位において画素Ｐ３は、Ｒ３１、Ｒ３２で交差しているため、右方位の交差回数は２である。
【００９３】
下方位において画素Ｐ３は、Ｄ３１で交差しているため、下方位の交差回数は１である。
【００９４】
左方位において画素Ｐ３は、Ｌ３１、Ｌ３２で交差しているため、左方位の交差回数は２である。
【００９５】
そして、図２（Ｃ）においては、交差回数が１である方位が存在するため、画素Ｐ３の特徴を計算する場合には、下方位の境界線からの距離が、交差回数１の方位のα３Ｄを採用する。したがって、画素Ｐ３の特徴ベクトルＶ（Ｐ３）は、以下のとおりである。
Ｖ（Ｐ３）＝（０，０，１／（α３Ｄ＋β），０，０，０，０，０）
＜１−６＞  ２つの原画を構成する閉領域を大きい順に並べた管理表の作成
【００９６】
図１に示す原画１と原画２とに含まれる複数の閉領域を対応づける前処理として、各原画に存在する複数の閉領域を、面積の大きい順に並べた表を作ってもよい。この表を作ることによって、面積の大きい閉領域から対応付けの評価を行うことができる。このような表を作る理由は、面積が大きい閉領域について、対応関係を早期に確定させて、対応候補から除いておく方が、面積の小さい閉領域の対応関係を先に確定してゆくよりも、閉領域の対応関係が見つけやすく、その対応関係の確度も高くなるという経験則があるからである。したがって、対応する可能性の高い順番に対応関係をチェックするようにするために、このような表を作る意味がある。
【００９７】
図３（Ａ）は、図１の原画１の３つの閉領域（閉領域１Ａ、閉領域１Ｂ、閉領域１Ｃ）を、面積の大きい順に並べた管理表である。Ｎｏ．は閉領域の大きい順を示し、閉領域インデックスは、閉領域にラベリングされたインデックス（例えば１Ａ）が付される。インデックスは、閉領域毎にユニークな識別を自動的に付与してもよい。画素数は、それぞれの閉領域に含まれる画素の数を表し、面積に比例した数値となるため、面積を現す数として代用してもよい。なお、画素数は、例えば、閉領域の面積が大きい順にソートする場合に用いてもよい。「対応付け」の欄は、全て零（０）が初期値として記憶されている。後述する閉領域の対応付けが終了した閉領域には、例えば１を記憶させるようにする。そして、１が記憶された閉領域は、対応付けの処理が終了したことを示すため、以後の対応付けの処理の対象から除いてもよい。また、後述するように、対応付けが一部分しか完了していない閉領域は、「対応付け」を１に変更せず、０のままとして、その後の対応付けの処理の対象となるようにしてもよい。この処理の例は後述する。
【００９８】
図３（Ｂ）は、図１の原画２における各閉領域を、面積の大きい順に並べた管理表である。
【００９９】
＜１−７＞  閉領域の対応付け
原画１と原画２とにそれぞれ存在する閉領域の対応を推定する例を以下に示す。
【０１００】
閉領域の対応付けを行う際には、すでに述べたように、経験則として、一方の原画（例えば原画１）の閉領域の面積が大きい閉領域は、他方の原画の対応している可能性の高い閉領域を見つけやすくかつその対応関係の確度も高いといえる。したがって、以下では、まず原画１で一番大きい面積の閉領域から順に取り出し、取り出された閉領域を以下に例示するコスト関数Ｅを用いて近似度を計算する。例えば、コスト関数Ｅが小さいほど近似していると判断し、コスト関数Ｅを最小にする移動ベクトル（最適な移動ベクトル）を求め、更に最適な移動ベクトルを用いて、原画１から取り出された閉領域と最も重なりの大きな原画２の閉領域を見つけて、この組み合わせを、対応する閉領域のペアと推定してもよい。或いは、このようにして見つけた閉領域のペアを表示して、オペレータに確認を促してもよい。この際に、オペレータが、対応付けの推定が誤っていることを入力させるようにして、このペアの対応付けをキャンセルさせてもよい。この場合には、次に重なりの大きな対応する閉領域をみつけて、ペアの候補として表示してもよい。あるいは、次に最適なベクトルを用いて、原画１の閉領域と最も重なりの大きな原画２の閉領域を見つけて、次のペアの候補として表示してもよい。
【０１０１】
例えば、図３（Ａ）の原画１に存在するｉ個の閉領域Ｄｉ（３個の閉領域１Ａ、１Ｂ、１Ｃ）のうちで一番大きな閉領域を占める閉領域１Ａをまず取り出し、閉領域１Ａに含まれる画素ｐ全てに対して、図３（Ｂ）の原画２に重ねて、移動ベクトルδを動かしながら閉領域Ａ１に対するコスト関数Ｅ（Ｄｉ，δ）を式２によって計算してもよい。
【０１０２】
【数１】
2019046213.tif 000002
【０１０３】
ここで、ｐ＋δは、原画２とその背景とを移動ベクトルδだけずらし、閉領域Ｄｉ（例えば閉領域１Ａ）と重ねたときの、閉領域Ｄｉ（例えば閉領域１Ａ）内の画素ｐの位置に重なる原画２又は背景の位置である。Ｖ１（ｐ）は、原画１の閉領域Ｄｉ（例えば閉領域１Ａ）の画素位置ｐにおける画素の特徴ベクトルである。そして、Ｖ２（ｐ＋δ）は、原画２及びその背景の画素位置ｐ＋δにおける画素の特徴ベクトルである。原画１の閉領域Ｄｉ（例えば閉領域１Ａ）の画素位置ｐに重なる原画２が閉領域内部である場合（例えば閉領域２Ａ内部）には、原画１と原画２の特徴ベクトルの差の二乗を計算し積算する（式２上段）。原画１の閉領域Ｄｉ（例えば閉領域１Ａ）の画素位置ｐに重なる原画２が閉領域内部でない場合（例えば背景や境界線）には、式２の下段の計算を行い、定数γを積算する。γを積算する意味は、背景部分との重なりについては、比較的大きな定数γを加えることにより、コスト関数が大きくなり、ペナルティを与えるためである。γは、原画の全体のピクセル数あるいは、閉領域のピクセル数によって妥当な値を選択する。たとえば、γ＝２などの定数を設定すればよい。
【０１０４】
なお、原画２のp+δの位置が閉領域内部でない場合、式２の下段の計算を行うこととしたが、たとえば、すでに対応付けがなされた原画２における閉領域は、背景等と同じ扱いとして、式２の下段の計算を行ってもよい。
【０１０５】
なお、特徴ベクトルは、既に式１に示した。
【０１０６】
移動ベクトルδは、例えば画素を単位とする二次元の移動ベクトルであり、原画１の閉領域Ｄｉ（例えば閉領域１Ａ）を取り出し、原画２及びその背景を移動ベクトルδだけ移動させて両者を重ね合わせるために用いるベクトルである。そして、上記式２のコスト関数Ｅを最小にする二次元の移動ベクトルδ＊ｉを求める。例えば、閉領域１Ａと原画２及びその背景とをδの値を変化させながら、コスト関数Ｅが最小となるδ＊ｉを以下の式のように求める。
δ＊ｉ＝argminδＥ（Ｄｉ，δ）                      （式３）
ここで、argminδＥ（Ｄｉ，δ）とは、Ｅ（Ｄｉ，δ）の値を最小とする引数δを求めることを意味する。
【０１０７】
そして、例えば原画１の１つの閉領域Ｄｉ（例えば閉領域１Ａ）に対して、網羅的にδを変化させて原画２及び背景を重ねてコスト関数Ｅを計算し、コスト関数Ｅを最小にするように、上記式３を満足するδ＊ｉを求める。あるいは、コスト関数Ｅの網羅的な計算の途中において、コスト関数Ｅの最小値（計算途中の極小値）が所定の計算回数の中で更新されなくなった場合には、網羅的なδの計算を途中で打ち切って、それまでに得られたコスト関数の最小値を採用してもよい。あるいは、大きな面積の閉領域に対してのコスト関数Ｅの計算においては、例えば、原画１の閉領域の１つおきの画素に限定して、コスト関数Ｅを計算し計算量を減少させることで、計算速度を速めてもよい。
【０１０８】
この移動ベクトルδ＊ｉを用いたときに、閉領域Ｄｉ（例えば閉領域１Ａ）と原画２との間で、閉領域の重なる面積（例えば画素数）が最大となる原画２の閉領域が原画１の閉領域Ｄｉに対応する原画２の閉領域であると推定することができる。
【０１０９】
以下、図４を用いて、対応関係の推定の一例を具体的に示す。
【０１１０】
説明をわかりやすくするために、原画１の閉領域１Ｃに対応する原画２の閉領域を求める例を、図４を用いて示す。
【０１１１】
図４（Ａ）において、原画１の閉領域１Ｃを取り出し、原画２にそのまま重ねる。そして、この状態で、閉領域Ｃ１についてコスト関数Ｅ（Ｃ１，δ）を求める。δの初期値はゼロベクトルである。なお、移動ベクトルδは、図４では、１Ｃを動かすように描かれているが、式２では、原画２の項の座標位置に足されている。移動ベクトルδは、相対的な重ね合わせの位置関係を規定するベクトルであるから、図においては、直感的にわかりやすくするために、原画１から取り出した閉領域を移動させるベクトルとして描いている点に留意すべきである。式２と図４の記載は、相対的な表現に関して、同義である。
【０１１２】
その後、移動ベクトルδを網羅的に変化させて、コスト関数Ｅ（Ｃ１，δ）を最小にするδ＊を図４（Ｂ）に示されているように求める。
【０１１３】
図４（Ｂ）に示されるように、原画２の閉領域のうち、閉領域Ｃ１との重なりの面積が一番大きな、原画２の閉領域を求める。この場合、閉領域２Ｃと閉領域１Ｃとは、領域Ｓ１において重なっている。そして、閉領域２Ａと閉領域１Ｃとは、領域Ｓ２において重なっている。これらの重なりのうち、一番大きな重なりは、Ｓ２であることがわかる。したがって、一番大きな重なりの領域を共有する閉領域１Ｃと閉領域２Ｃとが対応することが推定される。
【０１１４】
このようにして、原画１の閉領域１Ｃと原画２の閉領域２Ｃとの対応付けの推定がなされた。この推定を表示して、オペレータに確認を促してもよい。あるいは、オペレータの確認を得ずに、対応付けを確定させてもよい。仮に、オペレータが、対応付けの推定が間違っている旨を入力した場合には、次に重なりの面積が大きい領域（図４（Ｂ））の場合には、閉領域１Ｃと閉領域２Ａとのペアを表示して、次の候補の対応を推定し表示してもよい。
【０１１５】
あるいは、オペレータが、対応付けの推定が間違っている旨を入力した場合には、コスト関数が移動ベクトルδ＊の次に小さくなった移動ベクトルδを用いて、Ｃ１との重なりの面積が一番大きな原画２の閉領域を、閉領域Ｃ１に対応する次の閉領域の候補として、推定し、表示して、オペレータに確認を促してもよい。
【０１１６】
図５は、閉領域の対応表が示されている。以上の結果によって、原画１と原画２にそれぞれ存在する閉領域の対応関係が確定し、図５の対応表が記憶される。この対応表を用いて、原画１において、彩色を行えば、原画２における彩色は自動的に行うことができる。
【０１１７】
＜１−８＞  領域の対応付けの動作
図６は、領域の対応付けの例を示すフローチャートである。
【０１１８】
ステップＳ１００でパラメータｉ及びｊを初期化する。パラメータｉは、例えば図３（Ａ）に示すように原画１の閉領域を面積の大きい順に並べた際の順番（Ｎｏ）であってもよい。ｉは、原画１の各閉領域を一意に特定できる番号であればよい。パラメータｊは、例えば図３（Ｂ）に示すように原画２の閉領域を面積の大きい順に並べた際の順番（Ｎｏ）であってもよい。ｊは、原画２の各閉領域を一意に特定できる番号であればよい。
【０１１９】
ステップＳ１０２で、一方の画像（原画１）から１つの閉領域ｉ（例えば閉領域１Ａ）を抽出する。
【０１２０】
ステップＳ１０４で、閉領域Ｄｉと他方の原画とからコスト関数Ｅ（Ｄｉ，δ）を算出する。
【０１２１】
ステップＳ１０６で、δを網羅的に変化させたかがチェックされる。チェックが「いいえ」であれば、ステップＳ１３２に移る。チェックが「はい」であれば、ステップＳ１０８に移る。
【０１２２】
ステップＳ１３２でδを所定の値だけ変化させる。
【０１２３】
ステップＳ１０８で、コスト関数Ｅ（Ｄｉ，δ）が最小となる場合の移動ベクトルδ＊１を保存する。
【０１２４】
ステップＳ１１０で、δ＊１を用いて、閉領域Ｄｉと重なる面積が最大の他方の原画の閉領域Ｄｊを閉領域Ｄｉに対応する領域と推定する。
【０１２５】
ステップＳ１５２で、閉領域の対応を表示し、オペレータに確認を促してもよい。対応が間違っていると入力された場合には、次のペアの候補を表示させてもよい。また、オペレータの指示により、閉領域の正しい対応関係が入力されてもよい。この時に、彩色の指示を促してもよい。
【０１２６】
ステップＳ１５４で、対応関係が確定された原画１の閉領域Ｄｉと原画２の閉領域Ｄｊとを、その後の対応関係の処理の対象から除いてもよい。この操作は、図３の対応付けフラグを用いてもよい。
【０１２７】
ステップＳ１１２で、ｉ＝Ｉとなったかがチェックされる。すなわち、原画１における閉領域全てに対して、対応付けの処理が完了したかがチェックされる。このチェックが「いいえ」であれば、ステップＳ１３４に移る。このチェックが「はい」であれば、全体の処理を終了させてもよい。
【０１２８】
ステップＳ１３４でｉをインクリメントする。この操作によって、原画１の次の閉領域をステップＳ１０２で抽出できる。
【０１２９】
実施形態１の処理フローの概要は以上のとおりである。
【０１３０】
＜２＞  実施形態２：交点の対応付け
＜２−１＞  交点の対応付けの処理の詳細
【０１３１】
以下に、原画１と原画２のそれぞれに存在する交点の対応付けについて説明する。交点の対応付けの情報は、原画１と原画２とを補間した画像の生成に利用することができる。
【０１３２】
図７は、複数の閉領域を含む２つの画像のそれぞれに存在する交点の対応付けの例を示す図である。
【０１３３】
すでに説明した処理によって、原画１と原画２との間の各閉領域の対応付けが完了していることを前提とする。図７（Ａ）の原画１の丸で囲んだ閉領域の拡大図が図７（Ｃ）に示されている。そして、図７（Ｂ）の原画２の丸で囲んだ閉領域の拡大図が図７（Ｄ）に示されている。既に、閉領域２Ｂは閉領域１Ｂと対応していることがわかっており、閉領域２Ｃは閉領域１Ｃと対応していることがわかっている。また、原画１及び原画２には、同じ背景Ｙが存在している。
【０１３４】
既に説明したように、図７（Ｃ）における交点１３の周囲に存在する複数の閉領域は、左回りに閉領域１Ｂ、背景Ｙ、閉領域１Ｃの順に存在しており、同様に図７（Ｄ）における交点２３の周囲に存在する複数の閉領域は、左回りに閉領域１Ｂに対応する閉領域２Ｂ、背景Ｙ、閉領域１Ｃに対応する閉領域２Ｃの順に存在している。したがって、交点１３に接する閉領域の位置関係のパターンは、交点２３に接する閉領域の位置関係のパターンと一致していることがわかる。このことから、交点１３と交点２３とが対応関係にあることを自動的に推定することが可能である。このようにして、対応付けされた閉領域の情報を用いることによって、対応する交点の対応付けを自動的に推定することができる。この推定結果を画面に表示して、オペレータに最終的な対応関係の確定を促してもよい。或いは、推定された交点の対応関係を、自動的に確定させてもよい。
【０１３５】
図８は、複数の閉領域を含む２つの画像のそれぞれの交点の対応づけの結果を示す図である。対応づけられた交点の情報は、図８に示す交点の対応表によって、記憶することができる。
【０１３６】
図９は、複数の閉領域を含む２つの画像のそれぞれに存在する交点の対応付けの際に発生する第１の課題の例を示す図である。図９においては、前提として、閉領域１Ａと２Ａ、閉領域１Ｂと２Ｂ、閉領域１Ｃと２Ｃ、閉領域１Ｄと２Ｄ、がそれぞれ対応する閉領域であると仮定する。
【０１３７】
この場合、図９（Ａ）の原画１においては、交点Ｐ１１の周囲に、左回りに閉領域１Ａ、１Ｄ、１Ｂが存在する。これに対して、図９（Ｂ）の原画２においては、交点Ｐ２１に閉領域２Ａ、２Ｄ、２Ｃが存在する。この例では、交点Ｐ１１と交点Ｐ２１とは、周囲に同じパターンで対応する閉領域が存在しないため、対応する交点ではないと判断される。原画１の交点Ｐ１１に対応する交点が原画２には存在しない。
【０１３８】
しかしながら、図９（Ａ）の２つの交点（交点Ｐ１１及び交点Ｐ１２）及び図９（Ｂ）（交点Ｐ２１及び交点Ｐ２２）をまとまりとして捉えた場合には、原画１の交点Ｐ１１と交点Ｐ１２の周りに左回りに閉領域１Ａ、１Ｄ、１Ｃ，１Ｂが存在し、原画２の交点Ｐ２１と交点Ｐ２２の周りに左回りに閉領域２Ａ、２Ｄ、２Ｃ，２Ｂが存在し、閉領域の対応関係を考慮すると、同一のパターンで閉領域が存在していることがわかる。
【０１３９】
図９の例においても、以下の処理を行うことにより、交点どうしの対応付けを行うことができる。
【０１４０】
図１０は、複数の閉領域を含む画像に存在する交点及び境界線を修正する処理の例を示す図である。
【０１４１】
図９（Ａ）において原画１を選択する、原画１の代わりに原画２を選択してもよい。図１０（Ａ）に示されるように選択された原画１に存在する２つの交点（交点Ｐ１１、交点Ｐ１２）のうち、１つを削除する。図１０（Ａ）の場合には、交点Ｐ１２を消去する。削除する交点は、いずれの交点であってもよい。これによって、閉領域の境界線Ｌｄｂ、Ｌｂｃ、Ｌｃｄが残る。なお、交点のうち、交点の角度が小さい方の交点（すなわち交点Ｐ１２でＬｃｄとＬｂｃが領域１Ｃ側でなす角度の方が、交点Ｐ１１でＬａｄとＬａｂが領域１Ａ側でなす角度より小さいため、この場合は、交点Ｐ１２）を優先して削除するようにしてもよい。
【０１４２】
図１０（Ｂ）に示すように、境界線ＬｂｃをＬｄｂに沿って交点Ｐ１１まで延ばす。延長されたＬｂｃの交点Ｐ１１の位置の交点を交点Ｐ１１１とする。
【０１４３】
図１０（Ｃ）に示すように、境界線ＬｃｄをＬｄｂに沿って交点Ｐ１１まで延ばす。延長されたＬｃｄの交点Ｐ１１の位置の交点を交点Ｐ１１２とする。
【０１４４】
なお、上記操作の後、Ｌｄｂは削除してもよい。なお、Ｌｄｂの削除のタイミングはこの時に限られるものではなく、他のタイミングで削除してもよい。
【０１４５】
図１０（Ｄ）に示すように、この結果、交点Ｐ１２が削除され、境界線Ｌｂｃが延長され、交点Ｐ１１の位置に交点Ｐ１１１が設定された。境界線Ｌｂｃが延長され、交点Ｐ１１の位置に交点Ｐ１１２が設定された。このため、交点Ｐ１１は、交点Ｐ１１１と交点Ｐ１１２の２つに分割されたと考えることができる。なお、延長された境界線Ｌｂｃと、延長された境界線Ｌｃｄとは、離れて描かれているが、図を分かりやすくするために離れて描かれているのであって、実際は、同一線上に存在する。その他の図においても同様である。
【０１４６】
図１１は、複数の閉領域を含む画像に存在する交点及び境界線を修正する処理の結果に基づいて、交点の対応付けの例を示す図である。
【０１４７】
先に示した図１０の処理によって、図１１（Ａ）では、交点Ｐ１２が削除され、境界線Ｌｂｃが延長され、交点Ｐ１１の位置に交点Ｐ１１１が設定された。境界線Ｌｂｃが延長され、交点Ｐ１１の位置に交点Ｐ１１２が設定された。このため、交点Ｐ１１は、交点Ｐ１１１と交点Ｐ１１２の２つに分割された。
【０１４８】
図１１（Ｂ）に示すように、原画２は、そのまま２つの交点Ｐ２１及び交点Ｐ２２が存在している。図１１（Ｃ）の交点の対応表に示されるように、原画１の交点Ｐ１１１と原画２の交点Ｐ２１とを対応づける。そして、原画１の交点Ｐ１１２と原画２の交点２２とを対応づける。そして、図１１（Ａ）の交点Ｐ１１１と交点Ｐ１１２との間は、長さ零の境界線が存在していることとする。また、交点Ｐ１１１は、境界線Ｌａｂと接続させ、交点Ｐ１１２は境界線Ｌａｄと接続させる。交点Ｐ１１は削除してもよい。なお、交点Ｐ１１の削除のタイミングは、この時に限られるものではなく、他のタイミングで削除してもよい。
【０１４９】
以上の処理を行うことにより、図９のように対応付けが行えなかった交点に対しても、いずれかの原画の１つの交点を削除し、上記の処理を施すことによって、交点の対応付けが行える。
【０１５０】
［交点の対応付けの動作］
【０１５１】
図１２は、図９に示したように、原画１と原画２のそれぞれの１つの交点どうしでは対応付けができない場合であって、２つの交点をまとまりとして捉えた場合に、それらの周囲に存在する複数の閉領域のパターンが同一である場合を発見するフローチャートである。理解を助けるために、図１２のフローチャート及び下記の説明において、括弧書きで図９に示した符号を例示として示す。なお、図１２のフローチャートは、図９の例に限定されるものではない。
【０１５２】
ステップＳ３００において、一方の原画（原画１）において点の対応付けが行えなかった複数の点のうち、２つの閉領域（１Ｄ，１Ｂ）の境界線上（Ｌｄｂ）に存在する隣り合う２つの交点（Ｐ１１，Ｐ１２）の組ｑの集合Ｑを抽出する。
【０１５３】
ステップＳ３０２において、他方の原画（原画２）において点の対応付けが行えなかった複数の点のうち、２つの閉領域（２Ａ，２Ｃ）の境界線（Ｌａｃ）上に存在する隣り合う２つの交点（Ｐ２１，Ｐ２２）の組ｒの集合Ｒを抽出する。
【０１５４】
ステップＳ３０４は、ステップＳ３１４との間で、集合Ｑに含まれる要素ｑを、１つずつ取り出して処理を行う繰り返しの処理を示す。
【０１５５】
ステップＳ３０６は、ステップＳ３１２との間で、集合Ｒに含まれる要素ｒを、１つずつ取り出して処理を行う繰り返しの処理を示す。
【０１５６】
ステップＳ３０８で、ｑに含まれる２つの交点（Ｐ１１，Ｐ１２）の少なくとも１つに接する複数の閉領域の並びのパターン（左回りに１Ａ，１Ｄ，１Ｃ，１Ｂ）が、ｒに含まれる２つの交点（Ｐ２１，Ｐ２２）の少なくとも１つに接する複数の閉領域（２Ａ，２Ｄ，２Ｃ，２Ｂ）のそれぞれに対応する一方の原画の閉領域の並びのパターン（左回りに１Ａ，１Ｄ，１Ｃ，１Ｂ）と一致するか否かをチェックする。
【０１５７】
ステップＳ３１０は、ステップＳ３０８におけるチェックが一致しているか否かを判断する。チェックが一致していればステップＳ３２０に進む。チェックが一致していなければ、ステップＳ３１２に進む。
【０１５８】
ステップＳ３２０で、ｒとｑとが対応すると認識し、ｓ＝（ｒ，ｑ）として、要素ｓを集合Ｓに加え、記憶する。
【０１５９】
以上の処理を行うことにより、図９に示すような、２つの交点どうしの対応関係を抽出することができる。
【０１６０】
図１３は、図１２で抽出した２つの交点の組を要素ｓとする集合から、要素ｓを１つずつ取り出して、交点の対応付けを行う処理を示すフローチャートである。理解を助けるために、図１２のフローチャート及び下記の説明において、括弧書きで図９に示した符号を例示として示す。
【０１６１】
ステップＳ４００は、集合Ｓから１つずつ要素ｓを取り出して、ステップＳ４１２との間で処理を繰り返すことを示している。
【０１６２】
ステップＳ４０２で、１つの交点の削除を行う。なお、図１２のフローチャートは、図９の例に限定されるものではない。なお、以下に示すように、集合を定義する。
ｓ∈Ｓ
ｓ＝（ｑ，ｒ）
ｑ∈交点Ｐ１１，交点Ｐ１２  （一方の原画（原画１）に含まれる交点）
ｒ∈交点Ｐ２１，交点Ｐ２２  （他方の原画（原画２）に含まれる交点）
このステップＳ４０２においては、一方の原画の交点の組（ｑ）に含まれる２つの交点（Ｐ１１，Ｐ１２）のうちいずれか１つの交点（Ｐ１２）を削除する。
【０１６３】
ステップＳ４０４で、削除された交点（Ｐ１２）に接続されており、残された交点（Ｐ１２）に接続されていない２つの境界線（Ｌｂｃ，Ｌｃｄ）を特定する。
【０１６４】
Ｓ４０６で、特定された２つの境界線（Ｌｂｃ，Ｌｃｄ）の各々を、削除された交点（Ｐ１２）と残された交点（Ｐ１１）とを結ぶ境界線（Ｌｄｂ）に沿って、残された交点（Ｐ１１）まで延長する。
【０１６５】
ステップＳ４０８で、延長された２つの境界線（Ｌｂｃ，Ｌｃｄ）の一方の境界線（Ｌｂｃ）の延長された端に第１の交点（Ｐ１１１）を生成し、前記一方の境界線（Ｌｂｃ）を境に隣接する２つの閉領域（１Ｂ，１Ｃ）に対応する他方の原画（原画２）の閉領域（２Ｂ，２Ｃ）の境界線（Ｌ２ｂｃ）上の点（Ｐ２１）を、生成された前記第１の交点（Ｐ１１１）に対応させる。交点Ｐ１１１は、境界線Ｌａｂに接続させる。同様に、延長された２つの境界線（Ｌｂｃ，Ｌｃｄ）の他方の境界線（Ｌｃｄ）の延長された端に第２の交点（Ｐ１１２）を生成し、前記一方の境界線（Ｌｄｃ）を境に隣接する２つの閉領域（１Ｄ，１Ｃ）に対応する他方の原画（原画２）の閉領域（２Ｄ，２Ｃ）の境界線（Ｌ２ｃｄ）上の点（Ｐ２２）を、生成された前記第２の交点（Ｐ１１２）に対応させる。交点Ｐ１１２は、境界線Ｌａｄに接続させる。
【０１６６】
ステップＳ４１０で、残された交点（Ｐ１１）を削除する。生成された２つの交点（Ｐ１１１，Ｐ１１２）は、長さ零の境界線で結ばれているとする。境界線Ｌｄｂを削除してもよい。交点Ｐ１１を消去してもよい。
【０１６７】
以上の処理を行うことによって、図９のパターンに対して、交点の対応付けの処理を行うことができる。
【０１６８】
図１４は、図１１、図１２及び図１３の処理が適用された２つの原画に対する中割り画像Ｎを生成する例を示している。
【０１６９】
図１４の中割り画像Ｎに示されるように、原画１の交点Ｐ１１１が中割り画像の交点ＮＰ１１１に対応し、原画１の交点Ｐ１１２が中割り画像の交点ＮＰ１１２に対応する。そして、原画１では長さが零であった境界線が、中割り画像Ｎにおける交点ＮＰ１１１と交点ＮＰ１１２との間に境界線Ｌａｃとして表示されていることがわかる。このようにして、交点の対応付けを行うことにより、中割り画像を自動的に生成することが可能である。
【０１７０】
なお、中割り画像Ｎを生成する場合には、各境界線の形状についても補間を行い、なめらかな中割り画像が生成されるようにしてもよい。或いは、対応する交点、対応する境界線、対応する閉領域の情報等を用いて、モーフィングの技術により、中割り画像Ｎを生成するようにしてもよい。また、２つの原画にそれぞれ存在する閉領域を構成しない線及び点等については、閉領域及び交点の対応関係から、それらの対応関係を推測することが可能である場合が多い。なお、２つの原画に存在する閉領域、線、点などのうち、対応関係が推測不可能であるものについては、オペレータに対して、対応関係の指定を行うよう促してもよい。最終的に、オペレータの指示もなされておらず、対応関係が不明である閉領域、線、点などについては、周囲の閉領域、線、点など補間の位置関係から、中割り画像における位置関係を決定してもよい。モーフィングの技術に見られるように、２つの原画に存在する全ての構成要素の対応関係が判明していなくても、モーフィングの技術等を利用することにより、中割り画像を生成することは可能である。
【０１７１】
図１５は、図１４に示した例と同様の例であって、中割り画像を複数生成した場合の例を示している。原画５と原画６との間に、時間軸に沿ってＮ０１からＮ１０までの１０個の中割り画像が生成されている。原画及び中割り画像は、それぞれ、動画の１フレームに対応する。図１５の場合には、原画５、１０個の中割り画像、原画６の１２のフレームが連続して表示され、スムーズな動画が再生されることとなる。
【０１７２】
図１６は、交点の無い閉領域の境界線に端点を付与することで交点を作る例を示す図である。この例の場合には、原画７と原画８とにそれぞれ１つずつの交点（交点Ｐ５１及び交点Ｐ６１）が図示されている。それぞれの原画における閉領域の交点の数は、複数であってもよい。この場合には、まず、２つの閉領域を１つの平面上に置く。これら２つの閉領域の間のハウスドルフ距離を求める。次に一方の閉領域の境界線上の全ての点について、他方の閉領域の境界線上の点からの距離が最小となるそれぞれの点を求め、一方の閉領域の点と他方の閉領域の点とを対応づけた２点の組の集合を作る。それぞれの組において、２点間の距離がハウスドルフ距離と等しい組を、対応のついた交点としてそれぞれの閉領域に付与する。なお、２点間の距離がハウスドルフ距離と等しい点の組が複数ある場合は任意の組を選択して対応のついた交点としてもよい。
【０１７３】
ハウスドルフ距離ｄＨは、一般に、２つの集合Ａと集合Ｂがある場合に、集合Ａのどの点であっても少なくとも距離ｄＨだけ進めば集合Ｂのどれかの点に到達できる。同じく、集合Ｂのどの点であっても少なくとも距離ｄＨだけ進めば集合Ａのどれかの点に到達できる。このような距離ｄＨをハウスドルフ距離と言う。図１６の場合には、同一平面上に置いた、原画７と原画８において、原画７に含まれる複数の画素が集合Ａに対応し、原画８に含まれる画素が集合Ｂに対応する。
【０１７４】
なお、必ずしもハウスドルフ距離を採用する必要はなく、閉領域で、形状の似ている位置の点を、対応する交点として採用してもよい。また、パターン認識などの手法を用いて、類似するパターン上に存在する点どうしを対応する交点としてもよい。
【０１７５】
図１７は、２つの原画の片方が孤立した閉路を持つ場合の交点の処理の例を示す図である。原画９は、孤立した閉路と直線が存在している。原画１０Ａでは、直線と円が接触しており、交点Ｐ１０１及び交点Ｐ１０２が存在している。
【０１７６】
この場合には、原画９と原画１０Ａとで、交点の対応付けが行えない。したがって、以下のようにすることが望ましい。
【０１７７】
すなわち、原画１０Ｂに示されるように、交点Ｐ１０１及び交点Ｐ１０２を削除する。そして、交点Ｐ１０１に接続していた直線と、交点Ｐ１０２に接続していた直線を延長して、一つの直線にする。さらに、交点Ｐ１０１に接続していた円の端点と、交点Ｐ１０２に接続していた円の端点とを接続して、一つの円形状の図を作る。次に、原画９及び原画１０Ｂに、図１６で示した手法を用いて新たな交点を設ける。例えば、交点Ｐ０９３と、交点Ｐ１０３を設ける。この場合、図１６を用いて説明したように、平面上に２つの円形状の図を置いた場合に、これらの２つの円の間のハウスドルフ距離を用いて、交点を付与してもよい。
【０１７８】
図１８は、原画をレイヤーに分けて、処理を行う例を示す図である。原画１１には、笛の上部１１Ａと笛の下部１１Ｂが存在している。そして、原画１２にも、笛の上部１２Ａと笛の下部１２Ｂが存在している。このような笛の部分の画像の周辺では、２つの原画における交点の対応付けが単純に行えないことがある。すなわち、図７及び図９に関連して例示した交点の対応付けの処理によっても、なお、対応付けが行えない交点を含む閉領域が存在することがある。このような閉領域に対しては、その閉領域を切り出し、別のレイヤー（層）に移動させ、交点の対応付けの処理をレイヤー毎に別個に行うことが有効である。
【０１７９】
すなわち、原画１１及び原画１２の笛の部分をそれぞれ別のレイヤーにコピーし、基の原画からは、笛の画像部分を削除する。この操作を行うと、人間の部分のレイヤーと笛の部分のレイヤーに原画を分けて、交点の対応付けの処理をすることができる。レイヤーに分けるか否かの判断手法としては、図９のパターンが周辺に多く発生する閉領域を他のレイヤーに移すことが有効である。
【０１８０】
なお、一部の閉領域を他のレイヤーに移し、他のレイヤーに移した画像を原画から削除することが望ましい。この際に、削除された部分の周辺が空白となってしまい、閉領域が存在しない部分が発生する場合がある。すなわち、一部の閉領域を他のレイヤーに移動させた残りの画像の空白部分には、閉領域が存在せず、閉領域が開いた形の分岐線が存在する場合がある。この場合には、分岐線をそのまま残して、分岐線の端の点（端点）を特定し、一方の原画と他方の原画とで、端点どうしの対応付けを行ってもよい。あるいは、対応付けが行えない交点が残ってしまう場合には、オペレータに対して指示を行うよう促してもよい。
【０１８１】
あるいは、上記の場合には、閉領域を削除した部分の周辺に存在する線分を延長して、つなぎ合わせる処理を行うことにより、閉領域を形成することが可能である。原画をレイヤーに分けて、交点の対応付けを行う際には、新たに生成された閉領域の対応付けの処理を行うことが必要となる場合がある。この場合には、レイヤーに移す前に存在した閉領域を結合させることにより、多くの場合対処することができる。なお、対処することができない場合には、再度、閉領域の対応付けを部分的に再度行うことも有効である。
＜３＞  実施形態３：中割り画像の形成の変形例
以上のようにして、２つの原画の閉領域の対応付け、交点の対応付けを順番に行うことにより、２つの原画の各部の対応付けが行える。
【０１８２】
中割り画像は、２つの原画の交点の位置を補間することで行えるが、閉領域の対応関係、閉領域の境界線の形状、対応する交点を結んだ境界線の対応関係等をも勘案して、総合的に原画の補間を行うことがより自然な中割り画像を作成する上で有利である。
【０１８３】
また、閉領域の画像の対応付けの際に、オペレータに彩色の指示を促すことで、彩色の処理と、閉領域の確認とをまとめてオペレータに促すことができる。
【０１８４】
例えば原画１と原画２との閉領域の対応付けを行い、次に原画２と原画３の閉領域の対応付けを行うように、順番に対応付けを行うようにしてもよい。この場合、原画１と原画２との閉領域の対応付けの際に彩色の指示をオペレータが行えば、原画２と原画３との閉領域の対応付けの際の彩色は、略自動で行えることとなる。しかも、中割り画像の彩色は、原画の彩色から容易に推定できるので、中割り画像の彩色も略自動で行えることとなる。
【０１８５】
＜４＞  実施形態４（閉領域の対応付けの変形例）
図１８を用いて、一方の原画の２つの閉領域が、他方の原画における１つの閉領域に対応する場合の処理の例を以下に説明する。
【０１８６】
図１８において、原画１１における閉領域１１０及び閉領域１１１は、原画１２における閉領域１２１に対応している。この場合には、閉領域の対応付けが多対１の形式になっている。このような状況は、閉領域の前側に、多のオブジェクトが重なっている原画の場合に発生しやすい。このような場合にも対処するためには、例えば、以下のような処理を行えばよい。
【０１８７】
まず、原画１１の閉領域１１０に対応する原画１２の閉領域を、上述の実施形態１で推定する。この推定によって、閉領域１１０に対応する閉領域として１２１が推定される。この時点で、対応する閉領域１１０と閉領域１２１とを画面に表示して、オペレータに確認を促す。オペレータは、閉領域の対応付けとして、原画１１の閉領域１１１が残っていることがわかる。このため、推定は、部分的に正しいことを入力する。この入力においては、原画１１の領域１１０は、以後の閉領域の対応の対象から除外し、閉領域１２１は、以後の閉領域の対象から除外しないように、オペレータが指示を行えばよい。この指示は、図３に示した表の対応付けの欄におけるフラグの処理で実現できる。すなわち、領域１１０の対応付けのフラグを１として、以後の対応付けの対象から除外する。これに対して、領域１２１の対応付けの欄は、フラグを０のままとし、以後の対応付けにおいても、考慮されるようにすればよい。オペレータは、この時、併せて、彩色の指示を行ってもよい。オペレータの彩色の指示によって、閉領域１１０と閉領域１２１が同じ色で彩色されるが、閉領域１２１は、閉領域の推定対象としての状態を保持することができる。
【０１８８】
その後、原画１１の閉領域１１１の対応付けの処理の際に、再度、原画１２の閉領域１２１が、対応する旨の推定がなされることとなるので、この対応付けが表示され、オペレータへの指示の入力が促された際に、オペレータは、対応付けが正しいことを入力する。このオペレータの指示によって、図３に示す閉領域１１１の対応付けのフラグと、閉領域１２１の対応付けのフラグが、いずれも０から１に置き換えられ、これらの閉領域は、以後の閉領域の対応付けの推定の処理の対象から除かれることとなる。
【０１８９】
なお、図３の対応付けの欄を使わないこととすれば、閉領域の対応付けとして、１対多、多対１、多対多の閉領域の対応付けを許容することができる。この場合にも、対応付けが正しいか否かの指示をオペレータが入力するように促してもよい。
【０１９０】
＜５＞  ハードウエア構成
図１９は、各実施形態のハードウエア構成１７００を示す図である。
【０１９１】
ハードウエア構成１７００は、ＣＰＵ１７１０、メモリ１７２０、通信制御部１７３０、入出力インタフェース１７４０、表示制御部１７５０、ドライブ制御部１７６０、及び印刷制御部１７７０を有する。
【０１９２】
そして、通信制御部１７３０には、インターネットなどのネットワークが接続される。入出力インタフェース１７４０には、入出力装置１７４２が接続される。表示制御部１７５０には、表示装置１７５２が接続される。ドライブ制御部１７６０は、記憶媒体１７６２を読み書きすることができる。印刷制御部１７７０には、プリンタ１７７２が接続される。
【０１９３】
記憶媒体１７６２は、ＲＡＭ、ＲＯＭ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク、メモリーカード等であってもよい。
【０１９４】
以上説明した実施形態の方法は，コンピュータにより実行され得る。また，実施形態の方法は，コンピュータに実行させるプログラムとして，インプリメントされてもよい。プログラムの一部又は前部は、オペレーティングシステムにより実行されてもよい。また、プログラムの一部がハードウエアにより実現されてもよい。プログラムは記憶媒体１７６２に記憶されてもよい。
【０１９５】
なお，上述の実施形態において，方法のステップ又はプログラムのステップは、矛盾のない限り，同時に，又は順序を入れ替えて実行されてもよい。
【０１９６】
以上の実施形態は，ハードウエアの装置としてインプリメントされ得る。
【０１９７】
以上の実施形態は，請求項に記載された発明を限定するものではなく，例示として取り扱われることは言うまでもない。
【０１９８】
なお、原画及び中割り画像に含まれる閉領域並びに背景は、領域の一例である。原画、中割り画像、背景は、画像を構成する要素の例である。境界線は、閉領域の輪郭の一部を構成する要素となり得る。
【０１９９】
＜６＞実施形態５
実施形態５は、領域が回転を伴う場合における領域の補間の手法の例を示している。
【０２００】
なお、以下に詳述する実施形態５においては、処理の対象となる画像が必ずしも輪郭線でとじられた閉領域である必要はないため、「領域」の語を用いることとする。例えば、「領域」とは、「閉領域」の集合、「閉領域」の一部分、或いは輪郭線でとじられていない領域であってもよい。なお、以下の実施形態では、「領域」を「画像」と表現する場合もある。
【０２０１】
図２０は、領域が回転を伴う場合に、補間を用いて中割画像を生成する例を示す図である。なお、各ペットボトルの画像は、複数の領域の集合で示されている。以下、複数の領域の集合体であるペットボトルに注目して説明する。なお、以下の説明は、ペットボトルに含まれる複数の領域の各々にも当てはまる。
【０２０２】
図２０（Ａ）は、時刻ｔＡにおけるペットボトル２００１の画像と、時刻ｔＣにおけるペットボトルの画像２００３とが与えられた場合に、時刻ｔＢにおける中割画像２００２を生成する例を示している。図２０（Ａ）では、中割画像２００２が、適切な大きさで形成されており、理想的な中割画像の例を示している。
【０２０３】
図２０（Ｂ）は、時刻ｔＡにおける画像２０１１と、時刻ｔＣにける画像２０１３において、対応する点を線形的に補間する手法を用いた場合の中割画像２０１２を示している。ペットボトルのキャップの位置を直線２０２２で結び、ペットボトル２０１１の画像のキャップの位置とペットボトル２０１３の画像のキャップの位置の中間点に中割画像のペットボトル２０１２のキャップを描いている。同様に、ペットボトルの底についても、直線２０２１を用いて、中割画像のペットボトル２０１２の底を描いている。
上記のような単純な線形補間を、回転する画像（領域）に適用すると、中割画像（領域）が、不自然に小さく描かれてしまうという不都合が生じる。
【０２０４】
本実施形態は、このような回転を伴う画像における中割画像を自然な画像に（図２０（Ａ）における中割画像２００２のように）生成する手法の例を示している。その詳細は、以下に詳述する。
図２１は、中割画像の領域を生成する例を概念的に示す図である。
【０２０５】
図２１（Ａ）は、ペットボトル２１０１とペットボトル２１０３の回転の中心が、それぞれ回転の中心Ｏａ、回転の中心Ｏｃであることが、オペレータによって指定されている。また、ベクトルＶａは、ペットボトル２１０１の向きを示すベクトルであり、ベクトルＶｃ１は、ペットボトル２１０３の向きを示すベクトルである。これらのベクトルは、回転の中心が与えられれば、画像認識によって、特徴点Ｆａ及び特徴点Ｆｃを認識することによって、コンピュータなどの機械が認識することもできる。あるいは、ペットボトルの特徴点に向かうベクトルではなく、ペットボトル２１０１の面積重心Ｇａ及びペットボトル２１０３の面積重心Ｇｃを求め、回転の中心Ｏａ及び中心Ｏｃからペットボトルの面積重心Ｇａ及びＧｃに向かうベクトルをそれぞれ求めることによって、それぞれのペットボトルの向き（領域の向き）を認識してもよい。あるいは、それぞれのペットボトルの向きは、オペレータの指示によって与えられてもよい。この操作によって、時間とともに回転する向きと、角度θが求まる。
【０２０６】
いずれにしても、ペットボトルの向きを表すベクトルＶａとベクトルＶｃ１とが認識されることによって、図２１０１（Ａ）に示される角度θが求まる。
【０２０７】
図２１（Ｂ）は、認識された角度θを使って、ペットボトル２０１３をペットボトル２１０３ｃに示されるように、逆の向きに（反時計回りに）角度θだけ回転させる。この操作によって、ペットボトル２１０１とペットボトル２１０３ｃとの向き（領域の向き）が一致する。ペットボトル２１０３ｃのベクトルＶｃ２は、ベクトルＶａと同じ向きを向くことになる。このように、ペットボトル２１０１とペットボトル２１０３ｃの向きを一致させることによって、ペットボトルの回転の影響を取り除いた状態が得られる。なお、ペットボトルの回転は、ペットボトル２１０３ではなく、ペットボトル２１０１に対して行われてもよい。この場合には、ペットボトル２１０１の回転の方向は、時計回りに角度θだけ回転させればよい。この操作によっても、ペットボトルの向きを合わせることができる。あるいは、ペットボトル２１０１とペットボトル２１０３の両者を回転させ、両者の向きが合うようにしてもよい。この場合の操作については、図２２を用いて後述する。
【０２０８】
図２１（Ｃ）は、ペットボトル２１０１とペットボトル２１０３ｃとを補間した画像のペットボトル２１０２ｂを生成したことを示した図である。この場合、説明を単純化するために、補間して生成されたペットボトル２１０２ｂは、ペットボトル２１０１とペットボトル２１０３ｃと同じ形状となっているが、補間された画像は、元となった２つの画像を補間したものとなるため、与えられた２つの画像とは別の画像となることが通例である。
【０２０９】
補間されたペットボトル２１０２ｂは、回転の中心Ｏｂ及び特徴点Ｆｂが補間により特定されている。そして、補間して得られた中心Ｏｂから特徴点Ｆｂへ向かうベクトルＶｂ１が特定される。補間は、中割画像の表示される時刻に基づいて、線形補間を行うのが一般的であるが、線形補間に限られるものではない。与えられた２つの画像にそれぞれ対応する点の対が与えられれば、中割画像の表示される時間的な位置に基づいて、中割画像の中に、これらの点の対に対応する点が特定される。
【０２１０】
図２１（Ｄ）は、補間された画像２１０２ｂを中割画像の時間的な位置に応じて、角度を戻す向きに（時計回りに）角度φだけ回転させて、中割画像を形成する例を示した図である。ペットボトル２１０２ｂを回転させるには、例えば、回転の中心Ｏｂから延びるベクトルＶｂ１をφだけ回転させてベクトルＶｂ２となるようにペットボトル２１０２ｄを得ればよい。φの値は、画像２１０１の時刻をｔＡ、画像２１０３の時刻をｔＣ、中割画像２１０２ｄの時刻をｔＢとすれば、角度φは、
φ＝θ×（ｔＢ−ｔＡ）／（ｔＣ−ｔＡ）
によって求めることができる。
【０２１１】
以上の処理を行えば、図２１（Ｄ）の中割画像のペットボトル２１０２ｄは、図２０（Ｂ）に示した中割画像のペットボトル２０１２よりも自然な中割画像となる。以上の説明では、複数の領域を含むペットボトルの例を示したが、ペットボトルに含まれる複数の領域の各々に対して、上記の処理を施してもよいことはすでに述べたとおりである。
図２２は、中割画像に含まれる領域を生成する他の例を概念的に示す図である。
【０２１２】
図２２（Ａ）には、時刻ｔＡ（不図示）に表示される既知の画像の領域２２５１と、時刻ｔＣ（不図示）に表示される既知の画像の領域２２５３が示されている。
【０２１３】
領域２２５１には、領域２２５１の回転の中心座標Ｏａ１から、特徴点Ｆａ１に向かうベクトルＶａ１が存在する。そして、領域２２５３には、領域２２５３の回転の中心座標Ｏｃ１から、特徴点Ｆｃ１に向かうベクトルＶｃ１が存在する。回転の中心座標Ｏａ１及びＯｃ１はオペレータにより与えられるのが一般的であるが、与えられた２つの領域２２５１及び領域２２５３の形状が近似しており、かつ周囲の画像の位置関係を考慮して、パターン認識により、回転の中心座標を推定してもよい。なお、回転の中心座標は、必ずしも、領域内に存在するとは限らない点に留意すべきである。
以下に、時刻ｔＢ（不図示）における中割画像の中の対応する領域を求める他の例を説明する。
【０２１４】
図２２（Ｂ）に示されるように、例えば、ベクトルＶａ１とベクトルＶｃ１とをそれぞれ垂直に上向き方向にすることで、領域２２５１と領域２２５３との向きを一致させ、それぞれ領域２２６１及び２２６３を得ている。なお、このように垂直に上向きするのは一例であって、他の方向に２つのベクトルの向きを一致させてもよい。ここでは、ベクトルＶａ１をδ１だけ時計回りに回転させてベクトルＶａ２を得ている。またベクトルＶｃ１を反時計回りにδ２だけ回転させてＶｃ２を得ている。
【０２１５】
図２２（Ｃ）は、向きを一致させた領域２２６１と領域２２６３とを用いて、時刻ｔＢ（不図示）における中割画像に含まれる領域２２６２を得たことを示している。領域２２６２は、時刻ｔＢを基にして、線形補間を用いることで生成することができる。例えば、特徴点Ｆａと対応する特徴点Ｆｃとの線形補間により、特徴点Ｆａ及び特徴点Ｆｃに対応する中割画像における特徴点Ｆｂ２を得ることができる。中割画像におけるその他の特徴点、閉領域の形状、ベクトルなども、同様に線形補間によって生成することができる。あるいは特徴点Ｆｂ２を使わずに、ベクトルＶａ２またはベクトルＶｃ２と平行にベクトルＶｂ２を作ってもよい。ベクトルＶｂ２は、ベクトルＶａ２及びベクトルＶｃ２に対応し、領域２２６２の向きを特徴づけるものである。
【０２１６】
図２２（Ｄ）は、中割画像における最終的な領域２２７２を求める処理を示している。すなわち、ベクトルＶｂ２を角度γ１だけ反時計回りに回転させることにより、ベクトルＶｂ３を得る。加えて、特徴点Ｆａ１及びＦｃ１に対応する特徴点Ｆｂ３を得ることができる。その他の特徴点、閉領域の形状、なども、ベクトルＶｂ３の回転に伴って取得することができる。このようにして得られた領域２２７２は、時刻ｔＢにおける中割画像に含まれ、領域２２５１及び領域２２５３に対応する領域である。
【０２１７】
図２２（Ｄ）には、ベクトルの回転角度の関係が示されている。ベクトルＶａ１とベクトルＶｃ１との角度をθ１とすれば、ベクトルＶａ１とベクトルＶｂ３とのなす角度φ１は、以下の計算により求められる。
φ１＝θ１×（ｔＢ−ｔＡ）／（ｔＣ−ｔＡ）
そして、ベクトルＶｂ２とベクトルＶｂ３とのなす角度γ１は以下の計算により求めることができる。
γ１＝δ１−φ１  又は
γ１＝θ１−φ１−δ２
ただし、θ１＝δ１＋δ２
【０２１８】
図２３は、中割画像の領域を生成する手順の例を示す図である。回転を含む領域に対して、本実施形態を適用する手順を以下に説明する。
［ステップＳ２２００］オペレータの指示に基づき、中割画像を作成するための元となる２つの画像を取得する。次にステップＳ２２０２に進む。
【０２１９】
［ステップＳ２２０２］オペレータの指示に基づき、２つの画像の各々から、回転する領域を、画像の他の部分の領域と異なるレイヤーに、それぞれ配置する。このステップＳ２２０２は、回転する領域を画像の他の部分と分離して処理を行うために行うものである。画像に含まれる各領域の重なりの順番を考慮して、適切なレイヤーに、回転する領域を配置する。この場合、２つの画像の対応する領域を配置するレイヤーが対応付けられるように、２つの画像の対応する領域の各々のレイヤーの順番をそろえるか、レイヤーが対応していることがわかるようにすることが望ましい。なお、対応する領域のペアを求める手法については、すでに述べたとおりである。もちろん、オペレータにより、対応する領域が特定されてもよい。
【０２２０】
なお、上記のようにレイヤーに分けるのは、回転する領域と他の画像の部分とを別々に処理する一例である。したがって、回転する領域を他の画像の部分と別個に処理できるように、グループ分けをするなどの操作を行って、回転する領域が他の画像の領域と区別できるようにする他の方式を採用してもよいことは言うまでもない。次にステップＳ２２０４に進む。
【０２２１】
［ステップＳ２２０４］オペレータの指示に基づき、回転する領域の回転の中心の位置をそれぞれ特定する。
【０２２２】
２つの画像の領域における対応する領域は、例えば画像に描かれた同一のオブジェクトの一部の領域である場合がほとんどである。この場合、回転の中心については、ほとんどの場合、オブジェクトに対する相対位置は変化しないが、オブジェクト自体が移動していたり、視点が移動していたりする場合もあるため、必ずしも２つの画像に存在する対応する領域の回転の中心座標は一致するとは限らない。したがって、２つの対応する領域のそれぞれの中心座標は、オペレータの指示により取得することが望ましい。
【０２２３】
なお、２つの対応する領域のうち一方の回転の中心座標Ｏｃをオペレータから取得しない実施形態も存在し得る。例えば、図２１を例にすれば、領域２１０１と領域２１０３が十分に似た形状をしている場合、中心座標Ｏａを元にしてプログラムで中心座標Ｏｃを求めることができる。あるいは、例えば領域２１０１と領域２１０３が似た形状ではない場合、領域２１０１と領域２１０３との対応点の組（１組または複数組）をユーザに指定して貰い、この対応点を元にしてプログラムで中心座標Ｏｃを求めることもできる。また、画像認識を用いて、２つの領域の位置関係を調べることにより、一方の領域の回転の中心を元にして、他方領域の回転の中心を求めてもよい。なお、領域の回転の中心は、領域の外に存在する場合もあることに留意すべきである。次にステップＳ２２０６に進む。
【０２２４】
［ステップＳ２２０６］オペレータの指示に基づき、回転の角度θと回転方向を特定するか、回転する領域の重心又は特徴的な位置と回転の中心との位置関係から、回転の角度θと回転方向を特定する。
【０２２５】
領域の回転の角度は、例えば、２つの対応する領域の回転の中心から、領域の面積重心の位置へのベクトルを求めることで、ベクトルの回転角度と、回転方向を求めてもよい。なお、面積重心は一例であって、面積重心ではなく、２つの対応する領域に存在する対応する特徴点を認識して、２つの領域のそれぞれにおいて、回転の中心から特徴点までのベクトルを求めて、求まった２つのベクトルを用いるようにしてもよい。次にステップＳ２２０８に進む。
【０２２６】
［ステップＳ２２０８］２つの回転する領域のうちの一方又は両方を、適切な角度だけ回転させることで、２つの回転する領域の向きを一致させる。２つの領域の向きが一致するように適切な角度を計算すればよい。
【０２２７】
例えば、時刻ｔＡに表示される画像Ａとその後の時刻ｔＣに表示される画像Ｃがある場合であって、領域が時間とともに時計回りにθだけ回転する場合を例にする。画像Ｃの領域の回転の中心の周りに、画像Ｃの領域を−θだけ、回転させる。この回転によって、２つの領域の向きが一致する。なお、上記の例とは逆に、画像Ａの領域をθだけ回転させて、両者の領域の向きを合わせてもよい。次にステップＳ２２１０に進む。
【０２２８】
［ステップＳ２２１０］向きが一致した２つの領域を補間して、ｍ番目の中割画像の領域を生成する。ステップＳ２２０８で、領域の向きを一致させているため、例えば線形的な補間を用いても、領域の回転の影響を受けずに、ｍ番目の中割画像の領域の補間の処理が行える。次にステップＳ２２１２に移る。
【０２２９】
［ステップＳ２２１２］なお、ステップＳ２２１０で補間された領域は、回転の影響を排除しているため、ステップＳ２２１２で、回転を適切な量だけ戻す操作を行う。回転を戻す回転角度φは、以下の式に従って計算する。
φ＝θ×ｍ／（ｎ＋１）
ただし、ｎは中割画像の枚数
【０２３０】
また、回転する２つの領域の両方を回転させて、２つの領域の向きを揃えて、補間された領域を形成した場合には、補間された領域が、上記の回転角度φを使った操作による向きと同じ向きに向くように、補間された領域を向ければよい。
【０２３１】
なお、中割画像を形成する元となった両端の既知の画像の領域は、最終的な動画を生成する際には、最初に与えられた画像を用いればよく、中割画像の領域を求めるために回転させているが、回転を元に戻す操作は不要である。
【０２３２】
例えば、画像Ｃを‐θだけ回転させた場合には、生成された中割画像の領域は、φだけ回転させる。この操作によって、ｎ枚の中割画像のうちのｍ番目の中割画像に含まれる補間された領域が適切な角度に回転される。なお、画像Ａをθだけ回転させた場合には、補間された中割画像を、−θ＋φだけ回転させることになる。
以上が、回転を含む中割画像の補間処理の一例である。
【０２３３】
図２４は、２つの領域が関節で連結している場合に、領域の位置の修正をする例を示す図である。なお、関節とは、２つの領域が、その関節において連結しており、かつ２つの領域の各々が、その関節を軸として回転することができる連結点をいう。
【０２３４】
回転する領域が各画像に２つ存在する場合を例にして説明する。このような領域が各画像に３つ以上存在する場合にも、２つ存在する例を順に組み合わせることにより、同様の処理が行える。
【０２３５】
領域どうしの関節点は、離れることはないため、以下の手順によって、関節点の位置を一致させる処理を行う。以下にその手順について図２４を用いて説明するが、詳細な具体例は、図２５以降に説明する。
【０２３６】
［ステップＳ２３０２］回転を含む領域がそれぞれ別のレイヤーに配置される。この操作は、各領域を別個に操作するために行われる。すなわち、領域ごとに回転の中心及び回転の角度は異なるからである。なお、必ずしも、レイヤーを用いる必要はなく、各領域が別個に操作できるようになっていればよい。次にステップＳ２３０４に進む。
【０２３７】
［ステップＳ２３０４］レイヤーの階層の順番と関節点Ｏが指定される。関節点Ｏについては、オペレータにより指定されてもよい。通常、レイヤーの階層は、画像の前面に表示されるレイヤーを上に位置させるユーザインタフェースが採用されている場合が多いが、これに限られるものではない。なお、関節点は、例えば２つの領域を関節点で連結する機能を有するため、２つの領域の各々に関節点が指定されるが、画像においては、これらの２つの関節点は重なって見えることとなる。次にステップＳ２３０６に進む。２つの画像のそれぞれに存在する対応する領域は、レイヤーの階層の順番を合わせるか、２つの画像のレイヤーの階層うち対応する領域については、レイヤーの階層に対応関係を設定させて、領域の対応関係がわかるようにすることが望ましい。
［ステップＳ２３０６］階層ごとの補間された領域を作成し、補間後の関節点Ｏｍｉを求める。（ｍ：補間画像のインデックス，ｉ：階層番号）
【０２３８】
このステップＳ２３０６では、階層の順番が同じであれば対応関係を有する領域であるとしている。階層ごとに、すでに述べた図２３に示した領域の補間処理を施す。次にステップＳ２３０８に進む。
【０２３９】
［ステップＳ２３０８］階層ｉ，階層ｊの関節点の位置の差ｖ＝Ｏｍｉ−Ｏｍｊを求める。この場合、階層ｉの領域と階層ｊの領域が関節点Ｏで連結されていることを前提としている。階層ｉの補間された領域の関節点をＯｍｉで表している。そして階層ｊの補間された領域の関節点をＯｍｊで表している。補間画像においても、本来であれば、関節点は一致するはずであるが、レイヤーの階層毎に補間の処理を施しているため、補間された領域の関節点の位置ＯｍｉとＯｍｊとは、一致しない場合がある。処理はステップＳ２３１０に進む。
【０２４０】
［ステップＳ２３１０］階層ｊの補間された領域をｖだけ平行移動させる。補間された領域の関節点の位置ＯｍｉとＯｍｊとが一致しない場合には、その差Ｖ＝Ｏｍｉ−Ｏｍｊだけ階層ｊの領域を移動させて、関節位置ＯｍｉとＯｍｊとの位置を一致させる。
【０２４１】
なお、どちらの補間された領域を移動させるかは、画像全体が不自然にならないように取り決めておくことが望ましい。例えば、人間であれば、身体から一番近い骨の関節は固定し、身体から離れている骨の関節を移動させて、両者の関節を一致させるようにすることが自然になる場合が多い。関節が２つ以上ある場合は、身体から近い関節から順番に、補間された領域の関節を一致させるようにすればよい。
【０２４２】
別の例として、人物の歩行のアニメーションでは、前記の例とは逆に、接地している足を固定して、「足，脛，腿，腰」の順番で補間された領域の関節を一致させるようにすればよい。
【０２４３】
図２５は、２つの領域が関節で連結している２つの画像の例を示す図である。左から右に時間軸が設定されており、時刻ｔＡで、腕２４２０を振り上げ、太鼓２４００をたたこうとしている。時刻ｔＣで、腕２４４０は、太鼓２４００をたたいている。
【０２４４】
時刻ｔＡにおける腕２４２０の状態を以下に説明する。まず、上腕２４２４には、回転の中心Ｐ２ａが存在しベクトルＶ２ａの方向を向いている。前腕２４２２には、回転の中心Ｐ１ａが存在し、ベクトルＶ１ａの方向を向いている。
【０２４５】
時刻ｔＣにおける腕２４４０の状態を以下に説明する。まず、上腕２４４４には、回転の中心Ｐ２ｂが存在しベクトルＶ２ｂの方向を向いている。前腕２４４２には、回転の中心Ｐ１ｂが存在し、ベクトルＶ１ｂの方向を向いている。
【０２４６】
したがって、時刻ｔＡの上腕２４２４は、時刻ｔＣの上腕２４４４に至るまでにθ２だけ時計回りに回転している。時刻ｔＡの前腕２４２２は、時刻ｔＣの前腕２４４２に至るまでにθ１だけ時計回りに回転している。
【０２４７】
図２６は、領域を分割して、レイヤーの別の層に分ける例を示す図である。時刻ｔＡにおける腕２５２０を上腕２５２２と前腕２５２４との２つの領域に分ける。そしてそれぞれを別のレイヤーの層に配置する。なお、レイヤーは図示されていないが、２つの領域が別個に操作できるようになっていればよく、必ずしもレイヤーの階層というユーザインタフェースを用いなければならないわけではない。
時刻ｔＣにおける腕２５４０を上腕２５４２と前腕２５４４との２つの領域に分ける。そしてそれぞれを別のレイヤーの階層に配置する。
【０２４８】
図２７は、２つのレイヤーのそれぞれから中割画像を形成したときの中割画像における領域のずれを示す図である。時刻ｔＡの腕２６２０と時刻ｔＣの腕２６４０とを、図２６のようにレイヤーの別の階層に分け、対応するそれぞれの領域を補間して時刻ｔＢにおける腕２６３０を作成した。腕２６３０は、補間された領域である上腕２６３２と前腕２６３４が合成されたものとなるが、ひじの部分で、ずれが生じていることがわかる。このずれの原因は、レイヤーの層に分けてそれぞれの対応する層の領域を補間したことによって生じたものである。
【０２４９】
図２８は、関節点を与えることによって、中割画像における２つの領域のずれを解消する例を示す図である。上述のように図２７の補間された領域の合成の際に生じたひじの部分のずれを解消するために、以下に示すような処理を行う。なお、この処理のフローについては、図２４で説明している。
【０２５０】
時刻ｔＡの腕２７２０の画像について、上腕２７２４と前腕２７２２の関節部分をオペレータに指定させる。図示されるように、上腕の関節位置２７２５と前腕の関節位置２７２３が示されている。関節の座標は一致しているので、上腕２７２４の関節位置２７２５と前腕２７２２の関節位置２７２３は同じ位置に示されている。オペレータは、ひじの関節位置を指定することにより、上腕２７２４の関節位置２７２５と前腕２７２２の関節位置２７２３が取得される。
【０２５１】
時刻ｔＣの腕２７４０の画像について、上腕２７４４と前腕２７４２の関節部分をオペレータに指定させる。図示されるように、上腕２７４４の関節位置２７４５と前腕２７４２の関節位置２７４３が示されている。関節の座標は一致しているので、上腕２７４４の関節位置２７４５と前腕２７４２の関節位置２７４３は同じ位置に示されている。オペレータは、ひじの関節位置を指定することにより、上腕２７４４の関節位置２７４５と前腕２７４２の関節位置２７４３が取得される。
【０２５２】
それぞれのレイヤーの層に対して、補間を適用し、補間画像２７３０ａを得る。この場合、上腕２７３４ａの関節位置２７３５ａと、前腕２７３２ａの関節位置２７３３ａとはずれが生じている。このずれを解消するために、前腕２７３２ａをベクトル２７３８の方向に平行移動させる。
【０２５３】
その結果が腕２７３０ｂに示されている。上腕２７３４ｂの関節位置２７３５ｂと、前腕２７３２ｂの関節位置２７３３ｂとの位置が一致している。この場合には、体からより離れている前腕２７３２ｂを平行移動させることが望ましい。
以上の処理によって、関節位置が一致した。補間された領域である上腕２７３４ｂと前腕２７３２ｂとは、ずれのない望ましいつながり方になる。
以上の処理は、領域が３つ以上の場合も同様にして順次処理することによって行うことができる。
なお、特徴点及び関節点は、領域の外に存在していてもよい。
特徴点は、任意の点の一例である。関節位置及び関節の座標は、関節点の一例である。
【０２５４】
なお、請求項においては、主要な要素に符号を付している。これは、請求項の理解を助けるための符号であり、必ずしも図面の符号を正確に反映したものではない点に留意すべきである。また、請求項に記載された符号は、請求項に記載された発明の要旨及び発明の技術的範囲を図面の記載の内容に限定するためのものではない。
【符号の説明】
【０２５５】
Ｌａｂ  境界線
Ｌａｃ  境界線
Ｌｂｃ  境界線
Ｌｃｄ  境界線
Ｌｄｂ  境界線
Ｌｄｅ  境界線
Ｐ１２  削除する交点
Ｐ１１１  Ｐ１１の位置に設定される交点
Ｐ１１２  Ｐ１１の位置に設定される交点
【図１】
2019046213.tif 000003
【図２】
2019046213.tif 000004
【図３】
2019046213.tif 000005
【図４】
2019046213.tif 000006
【図５】
2019046213.tif 000007
【図６】
2019046213.tif 000008
【図７】
2019046213.tif 000009
【図８】
2019046213.tif 000010
【図９】
2019046213.tif 000011
【図１０】
2019046213.tif 000012
【図１１】
2019046213.tif 000013
【図１２】
2019046213.tif 000014
【図１３】
2019046213.tif 000015
【図１４】
2019046213.tif 000016
【図１５】
2019046213.tif 000017
【図１６】
2019046213.tif 000018
【図１７】
2019046213.tif 000019
【図１８】
2019046213.tif 000020
【図１９】
2019046213.tif 000021
【図２０】
2019046213.tif 000022
【図２１】
2019046213.tif 000023
【図２２】
2019046213.tif 000024
【図２３】
2019046213.tif 000025
【図２４】
2019046213.tif 000026
【図２５】
2019046213.tif 000027
【図２６】
2019046213.tif 000028
【図２７】
2019046213.tif 000029
【図２８】
2019046213.tif 000030
【手続補正書】
【提出日】平成31年1月21日(2019.1.21)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０２０６
【補正方法】変更
【補正の内容】
【０２０６】
いずれにしても、ペットボトルの向きを表すベクトルＶａとベクトルＶｃ１とが認識されることによって、図２１（Ａ）に示される角度θが求まる。  
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
既知の画像Ａと、前記画像Ａが表示される時刻ｔＡよりも後の時刻ｔＣに表示される既知の画像Ｃとから、前記時刻ｔＡと前記時刻ｔＣとの間の時刻ｔＢに表示される画像Ｂを生成するように、前記画像Ａに含まれる領域ａと、前記画像Ｃに含まれかつ前記領域ａと対応関係を有する領域ｃとに対して、コンピュータに第１の推定手順を実行させる方法であって、
前記第１の推定手順は、
前記対応関係が、画像に略垂直の方向の軸を中心とした領域の回転を含み、前記領域ａの回転の中心座標Ｏａと、前記領域ｃの回転の中心座標Ｏｃとを取得する、中心座標取得ステップと、
前記回転の方向と前記回転の角度とを認識する回転認識ステップと、
前記時刻ｔＡと前記時刻ｔＢと前記時刻ｔＣと前記中心座標Ｏａと前記中心座標Ｏｃと前記回転の方向と前記回転の角度とに基づいて、前記領域ａの形状と前記領域ｃの形状とを補間することで前記画像Ｂに含まれる領域であって前記領域ａに対応する領域である領域ｂの形状を形成する領域形成ステップと、
を有する方法。
【請求項２】
前記領域形成ステップは、
前記回転の方向と前記回転の角度とに応じて、前記中心座標Ｏａを中心とした前記領域ａの回転及び前記中心座標Ｏｃを中心とした前記領域ｃの回転のいずれか又は両者を行い、前記領域ａと前記領域ｃとの領域の向きを合わせることで、それぞれ領域ａ１と領域ｃ１とを形成するステップと、
前記時刻ｔＡと前記時刻ｔＢと前記時刻ｔＣとに基づいて、前記領域ａ１の形状と前記領域ｃ１の形状とを用いて補間された領域ｘの形状を形成する補間ステップと、
前記時刻ｔＡと前記時刻ｔＢと前記時刻ｔＣとに基づいて、
前記中心座標Ｏａと前記中心座標Ｏｃとから補間して得られた前記画像Ｂにおける中心座標Ｏｂを中心に、
前記回転の角度を、（ｔＢ−ｔＡ）の値と（ｔＣ−ｔＢ）の値とで按分して得られた角度に、
前記補間された領域ｘが向くように回転させることで、
前記領域ｂの形状を取得するステップと、
を含む請求項１に記載の方法。
【請求項３】
前記回転認識ステップは、
前記領域ａの重心Ｇａと、前記領域ｃの重心Ｇｃとを求めるステップと、
前記中心座標Ｏａから前記重心Ｇａに向かうベクトルと、前記中心座標Ｏｃから前記重心Ｇｃに向かうベクトルとから、前記回転の方向と前記回転の角度とを推定するステップと、
を含む請求項１又は２に記載の方法。
【請求項４】
前記回転認識ステップは、
オペレータから前記領域ａの特徴点Ｆａと、前記領域cに存在し前記特徴点Ｆａに対応する特徴点Ｆｃとを取得するステップと、
前記中心座標Ｏａから前記特徴点Ｆａに向かうベクトルと、前記中心座標Ｏｃから前記特徴点Ｆｃに向かうベクトルとから、前記回転の方向と前記回転の角度とを推定するステップと、
を含む請求項１又は２に記載の方法。
【請求項５】
前記回転認識ステップは、
オペレータから前記回転の方向と前記回転の角度とを取得するステップ
を含む請求項１又は２に記載の方法。
【請求項６】
前記画像Ａにおいて前記領域ａに関節点Ｊａで接続し前記関節点Ｊａが回転の中心座標となっている既知の領域ｐと、前記画像Ｃにおいて前記領域ｃに関節点Ｊｃで接続し前記関節点Ｊｃが回転の中心座標となっている既知の領域ｒが存在する場合、
前記領域ｐと前記領域ｒと前記関節点Ｊａ及び前記関節点Ｊｃのそれぞれの座標とを更に前記第１の推定手順に与えることで、前記画像Ｂにおいて補間された領域ｑを更に形成し、かつ前記領域ｂにおいて前記関節点Ｊａ及び前記関節点Ｊｃに対応する関節点Ｊｂを特定し、かつ前記領域ｑにおいて前記関節点Ｊａ及び前記関節点Ｊｃに対応する関節点Ｊｑを特定するステップと、
前記関節点Ｊｂの座標と前記関節点Ｊｑの座標とが一致しない場合は、前記関節点Ｊｂの座標と前記関節点Ｊｑの座標とを一致するように、前記領域ｂ及び前記領域ｑのいずれか一方又は両方を平行移動させるステップと、
を含む第２の推定手順を更にコンピュータに実行させる、請求項１ないし５のうちいずれか１項に記載の方法。
【請求項７】
請求項１ないし６のうちいずれか１項に記載の方法をコンピュータに実行させるプログラム。