(57)【特許請求の範囲】
【請求項１】
コンピュータを、
記憶部から、顔の表面形状が多数の多角形の集合で表現され、顔の各部位に前記多角形の頂点の位置を制御する１又は２以上の制御点とその制御点を直接的にあるいは間接的に移動させるための１又は２以上の第１の操作点が設定された標準の顔画像を読み出して表示部に表示させる第１の顔画像表示制御手段と、
操作部から前記表示部に表示された顔画像の前記第１の操作点に対して当該第１の操作点の移動に関する操作情報が入力されると、その操作情報に基づき当該第１の操作点の移動位置を含む第１の移動情報を算出する第１の移動情報算出手段と、
前記表示部に表示された前記標準の顔画像において、前記操作情報が入力された第１の操作点を前記第１の移動情報に含まれる移動位置に移動させる第１の操作点移動手段と、
前記第１の操作点を移動させる場合、当該第１の操作点の移動に連動させる制御点として予め設定された１又は２以上の前記制御点について、前記第１の操作点に対して算出される前記第１の移動情報と各制御点に予め設定されている連動条件とに基づき、各制御点の移動位置を含む第２の移動情報をそれぞれ算出する第２の移動情報算出手段と、
前記制御点を移動させる場合、当該制御点の移動に連動させる多角形の頂点として予め設定された１又は２以上の多角形の頂点について、前記制御点に対して算出される前記第２の移動情報と各多角形の頂点に予め設定されている連動条件とに基づき、各多角形の頂点の移動位置を含む第３の移動情報をそれぞれ算出する第３の移動情報算出手段と、
前記表示部に表示された前記標準の顔画像において、前記第３の移動情報が算出される１又は２以上の多角形の頂点を当該第３の移動情報に含まれる移動位置に移動させて前記顔画像を変形させる第１の顔画像変形手段と、
して機能させることを特徴とする、顔画像編集用プログラム。
【請求項２】
前記標準の顔画像に設定された複数の前記第１の操作点には、一方が移動すると、その移動に他方が連動するように互いに関連付けられた第１の操作点が含まれ、
前記第１の移動情報算出手段は、前記操作部からの操作情報に基づいて移動させる第１の操作点に連動させる他の第１の操作点についても、当該第１の操作点に対して算出する前記第１の移動情報と当該他の第１の操作点に予め設定されている連動条件とに基づき、当該他の第１の操作点の移動位置を含む第１の移動情報を算出し、
前記第１の操作点移動手段は、前記表示部に表示された前記標準の顔画像において、前記第１の移動情報が算出された前記他の第１の操作点を当該第１の移動情報に含まれる移動位置に移動させる、請求項１に記載の顔画像編集用プログラム。
【請求項３】
前記顔画像には、部位毎に、前記第１の操作点を移動させるための１又は２以上の第２の操作点が更に設定されており、
前記第１の移動情報算出手段は、前記操作部から前記第２の操作点に対する操作情報が入力されると、当該第２の操作点により移動が制御される１又は２以上の前記第１の操作点について、前記操作情報と各第１の操作点に予め設定されている移動条件とに基づき、前記第１の移動情報をそれぞれ算出し、
前記第１の操作点移動手段は、前記表示部に表示された前記標準の顔画像において、前記操作情報が入力された前記第２の操作点により移動が制御される前記第１の操作点を前記第１の移動情報算出手段で算出される前記第１の移動情報に含まれる移動位置に移動させる、
請求項１又は２に記載の顔画像編集用プログラム。
【請求項４】
前記第２の操作点は、当該第２の操作点が設定された部位を移動させるための部位移動用操作点であり、
前記第１の移動情報算出手段は、
前記操作部から前記部位移動用操作点に対して当該部位移動用操作点を移動させる操作情報が入力されたときには、当該部位に設定されている１又は２以上の前記第１の操作点について、前記部位移動用操作点の移動方向及び移動量に基づき各第１の操作点を標準の位置から前記部位移動用操作点と同一の方向に同一の移動量だけ移動させた移動位置をそれぞれ算出する、
請求項３に記載の顔画像編集用プログラム。
【請求項５】
前記第２の操作点は、当該第２の操作点が設定された部位の大きさを変更するための部位拡縮用操作点であり、
前記第１の移動情報算出手段は、
前記操作部から前記部位拡縮用操作点に対して当該部位拡縮用操作点が設定された部位を拡大又は縮小させる倍率の操作情報が入力されたときには、当該部位に設定されている１又は２以上の前記第１の操作点について、各第１の操作点と前記部位拡縮用操作点を結ぶ線上で各第１の操作点の前記部位拡縮用操作点からの標準の距離を前記倍率で変化させた距離にある移動位置をそれぞれ算出する、
請求項３に記載の顔画像編集用プログラム。
【請求項６】
前記第２の操作点は、当該第２の操作点が設定された部位を回転させる部位回転用操作点であり、
前記第１の移動位置算出手段は、
前記操作部から前記部位回転用操作点に対して当該部位回転用操作点を回転させる操作情報が入力されたときには、当該部位に設定されている１又は２以上の前記第１の操作点について、前記部位回転用操作点の回転方向及び回転量と各第１の操作点に予め設定された移動条件に基づき、移動位置をそれぞれ算出する、
請求項３に記載の顔画像編集用プログラム。
【請求項７】
前記記憶部には、更に前記標準の顔画像の所定の部位を変化させた複数コマ分の顔画像を含み、前記標準の顔に所定の表情をさせるアニメーション編集用の顔画像が記憶されており、
前記コンピュータを、
前記標準の顔画像に対して前記制御点及びその制御点により位置が制御される前記多角形の頂点を移動させて顔の表面形状を変形させる編集が行われると、編集後の顔画像を前記アニメーション編集用の顔画像に変更する画像変更手段と、
して更に機能させることを特徴とする、請求項３乃至６のいずれかに記載の顔画像編集用プログラム。
【請求項８】
前記アニメーション編集用の各コマの顔画像には、前記第１の操作点と同一の機能を果たす第３の操作点と前記制御点と同一の機能を果たす第２の制御点が設定されており、
前記コンピュータを、
前記記憶部から、前記アニメーション編集用の顔画像のうち前記操作部で指定されたコマの顔画像を読み出して前記表示部に表示させる第２の顔画像表示制御手段と、
前記操作部から前記表示部に表示された顔画像の前記第３の操作点に対して当該第３の操作点の移動に関する操作情報が入力されると、その操作情報に基づき当該第３の操作点の移動位置を含む第４の移動情報を算出する第４の移動情報算出手段と、
前記表示部に表示された前記顔画像において、前記操作情報が入力された第３の操作点を前記第３の移動情報に含まれる移動位置に移動させる第２の操作点移動手段と、
前記第３の操作点を移動させる場合、当該第３の操作点の移動に連動させる制御点として予め設定された１又は２以上の前記第２の制御点について、前記第３の操作点に対して算出される前記第４の移動情報と各第２の制御点に予め設定されている連動条件とに基づき、各第２の制御点の移動位置を含む第５の移動情報をそれぞれ算出する第５の移動情報算出手段と、
前記第２の制御点を移動させる場合、当該第２の制御点の移動に連動させる多角形の頂点として予め設定された１又は２以上の多角形の頂点について、前記第２の制御点に対して算出される前記第５の移動情報と各多角形の頂点に予め設定されている連動条件とに基づき、各多角形の頂点の移動位置を含む第６の移動情報をそれぞれ算出する第６の移動情報算出手段と、
前記表示部に表示された顔画像において、前記第６の移動情報が算出される１又は２以上の多角形の頂点を当該第６の移動情報に含まれる移動位置に移動させて前記顔画像を変形させる第２の顔画像変形手段と、
して更に機能させる、請求項７に記載の顔画像編集用プログラム。
【請求項９】
前記アニメーション編集用の各コマの顔画像には、部位毎に、前記第２の操作点と同一の機能を果たす１又は２以上の第４の操作点が設定されており、
前記第４の操作点の数は、前記顔画像編集用の顔画像に設定されている前記第２の操作点の数よりも少なく設定されている、請求項８に記載の顔画像編集用プログラム。
【請求項１０】
請求項１乃至９のいずれかに記載の顔画像編集用プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１１】
請求項１乃至９のいずれかに記載の顔画像編集用プログラムを記録したプログラム記憶部と、
前記プログラム記憶部に記憶された顔画像編集用プログラムを実行するコンピュータと、
を備えた顔画像編集システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、顔の三次元画像に設けられた「ボーン」と呼ばれる複数の操作ポイントを移動させることにより顔の表面形状を構成する複数の格子点（例えば、ポリゴンモデルで表現された顔形状のポリゴンの頂点）を連動移動させて顔形状の編集を行うための顔画像編集用プログラム、その顔画像編集用プログラムを記録した記録媒体及び顔画像編集システムに関するものである。
【背景技術】
【０００２】
従来、プレイヤが制御する人型のキャラクタの画像を予め複数個用意しておき、プレイヤに所望のキャラクタを選択させ、そのキャラクタをゲーム空間に登場させてゲーム進行を行うゲームソフトにおいて、プレイヤが選択したキャラクタの顔の形状を所望の形状に編集する機能が設けられているゲームソフトが知られている。
【０００３】
このようなゲームソフトでは、標準のキャラクタの顔画像（ポリゴンモデリングによるサーフェスモデルの三次元形状画像）の顔の輪郭や目、鼻、耳、口、髪型などの各部位の形状を変形させることによって顔形状の編集ができるようになっている。
【０００４】
そして、顔形状を編集するための基本的な技術としては、従来、予め部位毎に形状の異なる複数種類の標準の顔画像を用意しておき、ユーザが部位毎に所望の標準の顔画像を選択し、各部位の画像のサイズを調整して組み合わせる方法と、顔画像の部位毎に部位内の所定の位置に「ボーン」と呼ばれるマーカを複数個設け、各部位のボーンを移動することによりそのボーンに関連付けられた複数のポリゴンを連動移動させて顔の形状を変化させる方法とが知られている。
【０００５】
前者の方法は、一般にモンフターゲットと呼ばれる方法（以下、この方法の編集を「モンフターゲット編集」という。）で、プレイヤは所望の部位を選択し、選択した部位について所望の形状とサイズを指定する操作をすればよいので、顔形状の編集操作が簡単であるという特徴がある。一方、後者の方法（以下、この方法の編集を「マーカ編集」という。）は、部位毎に各ボーンの移動量を調整することにより顔形状を木目細かく編集できるという特徴がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−２２９４００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
モンフターゲット編集は、部位毎に形状の異なる複数種類の標準の顔画像を用意しておく必要があるので、顔画像編集用の画像データを作成する作業負担が大きいという欠点がある。また、笑った表情などのようにアニメーションで種々の表情をさせようとすると、キャラクタの標準の顔画像だけでなくキャラクタに笑った表情をさせるアニメーション画像（所定枚数のコマ画像）も用意しなければならないが、部位の組合せによって多数の顔が作られるとすれば、少なくとも組み合わされる代表的な顔毎にアニメーション画像を用意しなければならず、アニメータの作業負担は著しく増大することになる。また、部位毎の形状の異なる複数種類の標準の顔画像と多種多様な表情をさせるためのアニメーション画像のデータによって画像データが膨大になるという欠点もある。
【０００８】
一方、マーカ編集は、顔形状の木目細かい編集ができる利点はあるが、ユーザインターフェースとの関係で編集内容が制限され、その利点を十分に生かすことが難しいという不利がある。マーカ編集では一般に顔画像に１００個以上のボーンが設定されるが、ボーンを一個ずつ移動して顔の形状を所望の形状に変形させる作業は編集の専門家でも容易ではないから、一般のプレイヤに対する編集用のインターフェースを、全てのボーンを直接操作させるような形式にすることは好ましくない。
【０００９】
従って、プレイヤに対しては、ボーンを直接操作させる場合は操作できるボーンやそのボーンの操作範囲をある程度制限したり、部位の形状の変形内容（例えば、「大きくする」、「小さくする」、「移動する」、「回転する」など）に応じた複数のボーンの移動内容を予め設定しておき、ユーザが部位毎に所望の変形内容を選択すると、各部位のボーンを選択された変形内容に応じた移動内容で変化させたりするなどして、操作できるボーンやそのボーンの操作範囲を制限することが必要になる。
【００１０】
しかしながら、操作可能なボーンやボーンの操作範囲を制限する場合、過度に制限をすると、プレイヤがカスタマイズできる顔の変形範囲が狭くなり、可能な限り制限を抑えると、例えば、目の大きさが顔の中でのバランスを著しく欠く大きさになるなどといった、多くの選択されることのない部位の形状の選択肢が増えて編集作業が困難になるから、制限内容を適正にすることは容易でない。
【００１１】
また、従来の編集方法では、プレイヤが任意に編集したキャラクタの顔形状に対して多種多様の表情をさせるためのアニメーション画像を作成することができないという不都合がある。すなわち、ゲームソフトでは、標準の顔画像に対して笑った顔や怒った顔などの種々のアニメーション画像が用意されるが、例えば、プレイヤが目や口の大きさを大きくしたときにその顔画像に標準の顔画像で作成したアニメーション画像を適用すると、目を閉じて眠るアニメーション画像や口を「へ」の字に結んで怒るアニメーション画像で目や口が完全に閉じないという状態が生じ、眠った表情や怒った表情が不自然になる。これは、目を閉じる場合、標準の顔画像で上瞼を上下に移動させる量を目を大きくした上瞼に適用すると、移動量が足りず、上瞼が下瞼に重なる位置まで移動する動作をしないからである。口を閉じる場合についても同様である。
【００１２】
これを解消するには、プレイヤが編集した顔画像の編集内容を標準の顔画像に対して作成されたアニメーション画像に反映するようにしなければならないが、従来のマーカ編集でそのような機能を備えたものはない。
【００１３】
本発明は、上記の事情に鑑みて考え出されたものであって、コンピュータにボーン編集方式による顔形状の編集処理を行わせる顔画像編集用プログラムにおいて、部位毎に当該部位の全体的な移動、回転、拡大／縮小などを行うための複数のマーカ（操作点）を設定し、各マーカ（操作点）を操作することによって各マーカ（操作点）に関連付けられた複数のボーンを連動移動させることにより顔形状の編集を容易に行うことができる顔画像編集用プログラム、その顔画像編集用プログラムを記録した記録媒体及び顔画像編集システムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記課題を解決するため、本発明では、次の技術的手段を講じている。
【００１５】
請求項１に記載の発明は、コンピュータを、記憶部から、顔の表面形状が多数の多角形の集合で表現され、顔の各部位に前記多角形の頂点の位置を制御する１又は２以上の制御点とその制御点を直接的にあるいは間接的に移動させるための１又は２以上の第１の操作点が設定された標準の顔画像を読み出して表示部に表示させる第１の顔画像表示制御手段と、操作部から前記表示部に表示された顔画像の前記第１の操作点に対して当該第１の操作点の移動に関する操作情報が入力されると、その操作情報に基づき当該第１の操作点の移動位置を含む第１の移動情報を算出する第１の移動情報算出手段と、前記表示部に表示された前記標準の顔画像において、前記操作情報が入力された第１の操作点を前記第１の移動情報に含まれる移動位置に移動させる第１の操作点移動手段と、前記第１の操作点を移動させる場合、当該第１の操作点の移動に連動させる制御点として予め設定された１又は２以上の制御点について、前記第１の操作点に対して算出される前記第１の移動情報と各制御点に予め設定されている連動条件とに基づき、各制御点の移動位置を含む第２の移動情報をそれぞれ算出する第２の移動情報算出手段と、前記制御点を移動させる場合、当該制御点の移動に連動させる多角形の頂点として予め設定された１又は２以上の多角形の頂点について、前記制御点に対して算出される前記第２の移動情報と各多角形の頂点に予め設定されている連動条件とに基づき、各多角形の頂点の移動位置を含む第３の移動情報をそれぞれ算出する第３の移動情報算出手段と、前記表示部に表示された前記標準の顔画像において、前記第３の移動情報が算出される１又は２以上の多角形の頂点を当該第３の移動情報に含まれる移動位置に移動させて前記顔画像を変形させる第１の顔画像変形手段と、して機能させることを特徴とする。
【００１６】
請求項２に記載の発明は、請求項１に記載の顔画像編集用プログラムにおいて、前記標準の顔画像に設定された複数の前記第１の操作点には、一方が移動すると、その移動に他方が連動するように互いに関連付けられた第１の操作点が含まれ、前記第１の移動情報算出手段は、前記操作部からの操作情報に基づいて移動させる第１の操作点に連動させる他の第１の操作点についても、当該第１の操作点に対して算出する前記第１の移動情報と当該他の第１の操作点に予め設定されている連動条件とに基づき、当該他の第１の操作点の移動位置を含む第１の移動情報を算出し、前記第１の操作点移動手段は、前記表示部に表示された前記標準の顔画像において、前記第１の移動情報が算出された前記他の第１の操作点を当該第１の移動情報に含まれる移動位置に移動させることを特徴とする。
【００１７】
請求項３に記載の発明は、請求項１又は２に記載の顔画像編集用プログラムにおいて、前記顔画像には、部位毎に、前記第１の操作点を移動させるための１又は２以上の第２の操作点が更に設定されており、前記第１の移動情報算出手段は、前記操作部から前記第２の操作点に対する操作情報が入力されると、当該第２の操作点により移動が制御される１又は２以上の前記第１の操作点について、前記操作情報と各第１の操作点に予め設定されている移動条件とに基づき、前記第１の移動情報をそれぞれ算出し、前記第１の操作点移動手段は、前記表示部に表示された前記標準の顔画像において、前記操作情報が入力された前記第２の操作点により移動が制御される前記第１の操作点を前記第１の移動情報算出手段で算出される前記第１の移動情報に含まれる移動位置に移動させることを特徴とする。
【００１８】
請求項４に記載の発明は、請求項３に記載の顔形状編集プログラにおいて、前記第２の操作点は、当該第２の操作点が設定された部位を移動させるための部位移動用操作点であり、前記第１の移動情報算出手段は、前記操作部から前記部位移動用操作点に対して当該部位移動用操作点を移動させる操作情報が入力されたときには、当該部位に設定されている１又は２以上の前記第１の操作点について、前記部位移動用操作点の移動方向及び移動量に基づき各第１の操作点を標準の位置から前記部位移動用操作点と同一の方向に同一の移動量だけ移動させた移動位置をそれぞれ算出することを特徴とする。
【００１９】
請求項５に記載の発明は、請求項３に記載の顔形状編集プログラにおいて、前記第２の操作点は、当該第２の操作点が設定された部位の大きさを変更するための部位拡縮用操作点であり、前記第１の移動情報算出手段は、前記操作部から前記部位拡縮用操作点に対して当該部位拡縮用操作点が設定された部位を拡大又は縮小させる倍率の操作情報が入力されたときには、当該部位に設定されている１又は２以上の前記第１の操作点について、各第１の操作点と前記部位拡縮用操作点を結ぶ線上で各第１の操作点の前記部位拡縮用操作点からの標準の距離を前記倍率で変化させた距離にある移動位置をそれぞれ算出することを特徴とする。
【００２０】
請求項６に記載の発明は、請求項３に記載の顔形状編集プログラにおいて、前記第２の操作点は、当該第２の操作点が設定された部位を回転させる部位回転用操作点であり、前記第１の移動位置算出手段は、前記操作部から前記部位回転用操作点に対して当該部位回転用操作点を回転させる操作情報が入力されたときには、当該部位に設定されている１又は２以上の前記第１の操作点について、前記部位回転用操作点の回転方向及び回転量と各第１の操作点に予め設定された移動条件に基づき、移動位置をそれぞれ算出することを特徴とする。
【００２１】
請求項７に記載の発明は、請求項３乃至６のいずれかに記載の顔画像編集用プログラムにおいて、前記記憶部には、更に前記標準の顔画像の所定の部位を変化させた複数コマ分の顔画像を含み、前記標準の顔に所定の表情をさせるアニメーション編集用の顔画像が記憶されており、前記コンピュータを、前記標準の顔画像に対して前記制御点及びその制御点により位置が制御される前記多角形の頂点を移動させて顔の表面形状を変形させる編集が行われると、編集後の顔画像を前記アニメーション編集用の顔画像に変更する画像変更手段と、して更に機能させることを特徴とする。
【００２２】
請求項８に記載の発明は、請求項７に記載の顔画像編集用プログラムにおいて、前記アニメーション編集用の各コマの顔画像には、前記第１の操作点と同一の機能を果たす第３の操作点と前記制御点と同一の機能を果たす第２の制御点が設定されており、前記コンピュータを、前記記憶部から、前記アニメーション編集用の顔画像のうち前記操作部で指定されたコマの顔画像を読み出して前記表示部に表示させる第２の顔画像表示制御手段と、前記操作部から前記表示部に表示された顔画像の前記第３の操作点に対して当該第３の操作点の移動に関する操作情報が入力されると、その操作情報に基づき当該第３の操作点の移動位置を含む第４の移動情報を算出する第４の移動情報算出手段と、前記表示部に表示された前記顔画像において、前記操作情報が入力された第３の操作点を前記第３の移動情報に含まれる移動位置に移動させる第２の操作点移動手段と、前記第３の操作点を移動させる場合、当該第３の操作点の移動に連動させる制御点として予め設定された１又は２以上の前記第２の制御点について、前記第３の操作点に対して算出される前記第４の移動情報と各第２の制御点に予め設定されている連動条件とに基づき、各第２の制御点の移動位置を含む第５の移動情報をそれぞれ算出する第５の移動情報算出手段と、前記第２の制御点を移動させる場合、当該第２の制御点の移動に連動させる多角形の頂点として予め設定された１又は２以上の多角形の頂点について、前記第２の制御点に対して算出される前記第５の移動情報と各多角形の頂点に予め設定されている連動条件とに基づき、各多角形の頂点の移動位置を含む第６の移動情報をそれぞれ算出する第６の移動情報算出手段と、前記表示部に表示された顔画像において、前記第６の移動情報が算出される１又は２以上の多角形の頂点を当該第６の移動情報に含まれる移動位置に移動させて前記顔画像を変形させる第２の顔画像変形手段と、して更に機能させることを特徴とする。
【００２３】
請求項９に記載の発明は、請求項８に記載の顔画像編集用プログラムにおいて、前記アニメーション編集用の各コマの顔画像には、部位毎に、前記第２の操作点と同一の機能を果たす１又は２以上の第４の操作点が設定されており、前記第４の操作点の数は、前記顔画像編集用の顔画像に設定されている前記第２の操作点の数よりも少なく設定されていることを特徴とする。
【００２４】
請求項１０に記載の発明は、請求項１乃至９のいずれかに記載の顔画像編集用プログラムを記録したコンピュータ読み取り可能な記録媒体である。
【００２５】
請求項１１に記載の発明は、請求項１乃至９のいずれかに記載の顔画像編集用プログラムを記録したプログラム記憶部と、前記プログラム記憶部に記憶された顔画像編集用プログラムを実行するコンピュータと、を備えた顔画像編集システムである。
【発明の効果】
【００２６】
本発明によれば、作業者が顔画像の編集を行うとき、表示部に顔の表面形状が多数の多角形の集合で表現される標準の顔画像（例えば、ポリゴンモデルで表現される顔画像）が表示され、その顔の目、鼻、口などの各部位には、各部位に設定されている１又は２以上の制御点（例えば、「ボーン」と呼ばれるポリゴンの頂点の位置を制御する制御点）を移動させるための１又は２以上の第１の操作点が表示される。顔画像編集を行う作業者が操作部を操作して第１の操作点を指定し、その第１の操作点を移動させる操作を行うと、その操作情報に基づいて、当該第１の操作点の移動方向と移動位置を含む第１の移動情報が算出される。
【００２７】
また、操作部で指定された第１の操作点の移動に連動させる１又は２以上の制御点について、当該第１の操作点に対して算出される第１の移動情報と各制御点に予め設定されている連動条件とに基づいて、各制御点の移動位置を含む第２の移動情報が算出される。また、制御点の移動に連動させる多角形の頂点として予め設定された１又は２以上の多角形の頂点について、制御点に対して算出される第２の移動情報と各多角形の頂点に予め設定されている連動条件とに基づき、各多角形の頂点の移動位置を含む第３の移動情報が算出される。
【００２８】
そして、表示部に表示された標準の顔画像において、操作部で指定された第１の操作点が第１の移動情報に含まれる移動位置に移動されるとともに、第３の移動情報が算出された１又は２以上の多角形の頂点が当該第３の移動情報に含まれる移動位置に移動され、これにより標準の顔画像が変化する。
【００２９】
上記のように、本発明によれば、作業者は第１の操作点を移動させることによって１又は２以上の制御点を連動させることができるので、従来の制御点を移動させる方法に比べて、顔画像の編集作業の効率を向上させることができ、編集時間を短縮することができる。
【００３０】
また、第１の操作点には他の第１の操作点と連動関係にあるものが設けられているので、例えば、目に設けられた第１の操作点と眉毛に設けられた第１の操作点とが連動関係に設定されていると、作業者は目の第１の操作点を移動させて当該目の形状を変形させた場合、眉毛の第１の操作点が目の第１の操作点に連動して眉毛の形状も変化する。これにより、目と眉毛の形状をバランス良く変化させることができる。
【００３１】
また、各部位の形状を全体的に拡大又は縮小させたり、移動させたり、回転させたりするために、各部位に設定されている１又は２以上の第１の操作点を移動させるための第２の操作点が表示される。作業者が操作部を操作して第２の操作点を指定し、その第２の操作点に対する所定の操作を行うと、その第２の操作点が設定された部位に設定されている１又は２以上の第１の操作点について、当該第１の操作点に設定されている移動条件と操作部から入力される操作情報に基づいて、第１の移動情報が算出されるとともに、当該第１の操作点に連動させる複数の制御点について、その第１の移動情報と当該制御点に設定されている移動条件に基づいて、第２の移動情報が算出される。また、制御点の移動に連動させる多角形の頂点について、制御点に対して算出される第２の移動情報と各多角形の頂点に予め設定されている連動条件とに基づき、第３の移動情報が算出される。
【００３２】
そして、表示部に表示された標準の顔画像において、操作部で指定された第２の操作点に連動する第１の操作点が第１の移動情報に含まれる移動位置に移動されるとともに、第３の移動情報が算出された１又は２以上の多角形の頂点が当該第３の移動情報に含まれる移動位置に移動され、これにより標準の顔画像が変化する。
【００３３】
例えば、目に第２の操作点として部位移動用操作点が表示されている場合、作業者が部位移動用操作点を指定し、その部位移動用操作点を移動させると、目に設定されている複数の第１の操作点について、部位移動用操作点の移動方向及び移動量に基づき各第１の操作点を標準の位置から部位移動用操作点と同一の方向に同一の移動量だけ移動させた移動位置が算出される。また、第１の操作点に連動する制御点やその制御点に連動する多角形の頂点についてもそれぞれ移動位置が算出される。
【００３４】
そして、表示部に表示された標準の顔画像において、第１，第２の操作点が移動するとともにこれに連動して多角形の頂点が移動し、目の位置が変化する。従って、作業者は部位移動用操作点を操作するだけで、アンバランスを招くことなく目を簡単に所望の形に編集することができる。
【００３５】
また、目に第２の操作点として部位拡縮用操作点が表示されている場合、作業者が部位拡縮用操作点を指定して拡大または縮小の倍率を入力すると、目に設定されている複数の第１の操作点について、各第１の操作点と部位拡縮用操作点を結ぶ線上で各第１の操作点の部位拡縮用操作点からの標準の距離を入力された倍率で変化させた距離にある移動位置がそれぞれ算出される。また、第１の操作点に連動する制御点やその制御点に連動する多角形の頂点についてもそれぞれ移動位置が算出される。
【００３６】
そして、表示部に表示された標準の顔画像において、第１の操作点が移動するとともにこれに連動して多角形の頂点が移動し、目全体が拡大または縮小する。従って、作業者は、部位拡縮用操作点を操作するだけで簡単に目を大きい目や小さい目に編集することができる。
【００３７】
また、目に第２の操作点として部位回転操作点が表示されている場合、作業者が部位回転用操作点を指定し、その部位回転用操作点を回転させると、目に設定されている複数の第１の操作点について、部位回転用操作点の回転方向及び回転量と各第１の操作点に予め設定された移動条件に基づき、移動方向と移動位置がそれぞれ算出される。また、第１の操作点に連動する制御点やその制御点に連動する多角形の頂点についてもそれぞれ移動位置が算出される。
【００３８】
そして、表示部に表示された標準の顔画像において、第１の操作点が移動するとともにこれに連動して多角形の頂点が移動し、目全体が回転する。従って、作業者は部位回転用操作点を操作するだけで簡単に目を吊り上った形や垂れ下がった形に編集することができる。
【００３９】
また、記憶部に、顔画像編集用の標準の顔画像に加えて、その標準の顔画像の所定の部位を変化させて標準の顔に所定の表情をさせる複数コマ分の顔画像を含むアニメーション編集用の顔画像が含まれ、標準の顔画像に対して編集が行われた場合、自動的に編集後の顔画像がアニメーション編集用の顔画像に変更される。従って、アニメーション編集用の顔画像を再生すると、編集後の顔画像に対して所定の表情をさせることができるので、作業者は、アニメーション編集用の顔画像に対して標準の顔画像に対する編集と同様の編集を改めてする必要がなく、アニメーションの編集作業を低減し、編集効率を向上させることができる。
【００４０】
また、顔画像編集で編集した顔画像に対するアニメーションの動きが不自然な場合や違和感がある場合に、アニメーション編集の複数コマの顔画像のうちのその部分のコマの顔画像を編集する場合でも、アニメーション編集用の顔画像に顔画像編集の第１の操作点及び第２の操作点と同様の機能を果たす第３の操作点及び第４の操作点が設けられているので、アニメーション編集を容易に行うことができる。
【図面の簡単な説明】
【００４１】
【図１】本発明に係る顔画像編集用プログラムが実行される顔画像編集装置の基本構成を示すブロック図である。
【図２】作業者が所望のゲームキャラクタの標準の顔画像を選択し、その顔画像に対する編集処理を指令したときに表示装置に表示される顔画像の一例を示す図である。
【図３】ボーンに関連付けられたポリゴン頂点に設定される連動用のパラメータを説明するための図で、（ａ）はポリゴン頂点に連動用のパラメータとして設定される移動方向の角度と移動割合を示す図であり、（ｂ）はボーンの移動に連動して４個のポリゴン頂点を移動させた状態の一例を示す図である。
【図４】目と眉毛の部位に設けられた部位変形用マーカの一例を示し、（ａ）は目の部位変形用マーカを移動させる前の目及び眉毛の状態を示す図、（ｂ）は同部位変形用マーカを移動させた後の目及び眉毛の状態を示す図である。
【図５】顔画像に設けられている部位変形用マーカ、部位変形用マーカに関連付けられたボーン及びボーンに関連付けられたポリゴン頂点の相互のデータ構造関係の一例を示す図である。
【図６】目の部位に設けられた部位移動用マーカの一例を示し、（ａ）は目の部位移動用マーカによって目を移動させる前の状態を示す図、（ｂ）は同部位移動用マーカＭによって目全体を鼻筋側に移動させた状態を示す図である。
【図７】目の部位移動用マーカに関連付けられた６つの部位変形用マーカに連動用のパラメータとして設定される移動方向と移動割合を説明するための図である。
【図８】部位拡縮マーカを指定して部位のサイズを拡大又は縮小するときの入力インターフェースとして表示画面に表示される倍率線の一例を示す図である。
【図９】目の部位に設けられた部位拡縮用マーカの一例を示し、（ａ）は目の部位拡縮用マーカによって目を拡大する前の状態を示す図、（ｂ）は同部位拡縮用マーカによって目を拡大した状態を示す図である。
【図１０】目の部位拡縮用マーカに関連付けられた６つの部位変形用マーカに連動用のパラメータとして設定される移動方向と移動割合を説明するための図である。
【図１１】目の部位に設けられた部位回転用マーカの一例を示し、（ａ）は目の部位回転マーカによって目を回転する前の状態を示す図、（ｂ）は同部位回転用マーカによって目を回転した状態を示す図である。
【図１２】目の部位回転用マーカに関連付けられた６つの部位変形用マーカに連動用のパラメータとして設定される移動方向と移動割合を説明するための図である。
【図１３】目と眉毛の部位に設けられたアニメーション編集用の部位変形用マーカの一例を示す図である。
【図１４】顔画像編集における顔の表面形状の編集の処理手順を示すフローチャートである。
【発明を実施するための形態】
【００４２】
以下、本発明の好ましい実施の形態として、ゲームに登場させる人型のキャラクタ（以下、「ゲームキャラクタ」という。）の顔の表面形状を編集する場合を例に図面を参照して具体的に説明する。
【００４３】
図１は、本発明に係る顔画像編集用プログラムが実行される顔画像編集装置の基本構成を示すブロック図である。
【００４４】
顔画像編集装置１は、ＣＰＵ（Central Processing Unit）２、ＲＯＭ（Read Only Memory）３、ＲＡＭ（Random Access Memory）４、外部記憶装置５、入力装置６及び表示装置７を含むコンピュータシステムによって構成される。ＲＯＭ３にはオペレーションプログラムと、本発明に係る顔画像編集用プログラムが記憶されている。顔画像編集用プログラムには、標準の顔の表面形状を所望の形状に編集するための標準顔編集用プログラムとゲームキャラクタのアニメーション用の顔の表情を所望の表情に編集するためのアニメーション編集用プログラムが含まれる。
【００４５】
外部記憶装置５には，ＣＰＵ２が標準顔編集用プログラムを実行することによって行われる編集処理の対象となるゲームキャラクタの標準の顔の表面形状を表すデータ（以下、このデータを「標準顔画像データ」という。）と、ＣＰＵ２がアニメーション編集用プログラムを実行することによって行われる編集処理の対象となるアニメーションデータ（ゲームキャラクタの標準の顔画像の目や口などの部位を変化させて「笑う」、「怒る」、「泣く」などの各種の特定の表情をさせる複数コマ分の表面形状の画像で構成されるデータ）とが記憶されている。外部記憶装置５には編集後の顔画像データとアニメーションデータをそれぞれ所定数分だけ保存する記憶領域が設けられており、顔画像データ又はアニメーションデータに対して編集処理が行われると、その編集後の顔画像データ及びアニメーションデータが外部記憶装置５に保存される。
【００４６】
なお、標準顔画像データは、表示装置７に表示される顔画像そのもののデータではなく、顔の表面形状をポリゴンモデリングによるサーフェスモデルで表現し、ＸＹＺ座標系にそのサーフェスモデルを置いて各ポリゴン（多角形。図２では三角形で示される部分）の頂点（以下、「ポリゴン頂点」という。）の位置座標を求めた、多数のポリゴン頂点の位置データの集合で構成されている。本実施形態では、後述するように、顔画像の編集機能として、顔の各部位に複数のボーンを設定し、各ボーンの移動に複数のポリゴン頂点を連動して移動させる構成と、各部位に作業者がボーン及びポリゴン頂点を移動させるための操作点として複数のマーカを設定し、各マーカに対する操作内容に応じて１又は２以上のボーンを移動させる構成を設けているので、標準顔画像データには複数のボーンと複数のマーカの各位置データも含まれている。
【００４７】
従って、表示装置７にゲームキャラクタの標準の顔画像を表示するときには、標準顔画像データと、各ポリゴンに張り付ける無地のテクスチャとに基づいて、顔の表面形状を表す三次元形状画像を生成する処理が行われ、その処理結果である三次元形状画像が表示装置７に表示される。
【００４８】
アニメーションデータも同様で、各コマの顔画像は多数のポリゴン頂点と複数のボーンと複数のマーカの各位置データの集合となっている。アニメーション画像は顔画像の特定の部位の動きを表現する画像であるから、各コマの顔画像のデータは、特定の部位を構成するポリゴン頂点とその部位に設けられたボーン及びマーカの位置が最初のコマの顔画像における位置に対して移動したデータとなっている。従って、表示装置７にアニメーション画像を表示するときには、所定の周期（例えば、１／３０秒）で各コマの顔画像データと各ポリゴンに張り付ける無地のテクスチャとに基づいて顔の三次元形状画像を生成する処理（アニメーションデータの再生処理）が行われ、その処理結果である各コマの三次元形状画像が表示装置７に順次表示される。
【００４９】
予め用意されているアニメーション画像は標準の顔画像を基に作成されているので、標準の顔を編集により変形した場合、アニメーション画像の最初のコマの顔画像のデータを変形後の顔画像のデータに変更すれば、アニメーションデータの再生処理により変形後の顔画像に対して目や口などの部位を予め設定されている動きと同様の動きをさせることができる。
【００５０】
従って、本実施形態では、標準の顔画像を変形させる編集をした場合、自動的にアニメーションデータの最初のコマの顔画像のデータを変形後の顔画像のデータに変更したり、動きのある部位のマーカやボーンのコマ毎の移動量を標準の顔画像の編集内容に応じて変更したりするだけで標準の顔画像の編集内容をアニメーション画像に反映できるようにしている。
【００５１】
その一方、標準の顔画像の編集内容を反映したアニメーション画像が常に適切であるとは限らず、不自然な動きになる場合もある。そのような場合には不自然な動きとなる部分のコマの顔画像の編集が必要になる。アニメーション編集用プログラムは、アニメーションデータに対してこのような編集をするためのもので、主としてアニメーションのクリエータ用に設けられている。
【００５２】
入力装置６は、作業者がＣＰＵ２に実行させる処理に必要な情報を入力するための装置で、例えば、キーボードやマウスなどで構成される。表示装置７は、ＣＰＵ２が実行している処理に関する情報を表示するための装置であり、ＣＲＴや液晶ディスプレイなどで構成される。なお、入力装置６及び表示装置７をタッチパネルで構成してもよい。
【００５３】
ＣＰＵ２は、作業者の操作によって入力装置６からゲームキャラクタの顔の編集処理が指令されると、ＲＯＭ３から標準顔編集用プログラムをＲＡＭ４に読み出すとともに、外部記憶装置５からゲームキャラクタの標準顔画像データをＲＡＭ４に読み出す。また、ＣＰＵ２は、ＲＡＭ４に読み出した標準顔画像データとポリゴンに張り付けるテクスチャとに基づいて顔の表面形状を表す三次元形状画像を生成し、その三次元形状画像を表示装置７に表示させる。その後、ＣＰＵ２は、作業者の操作によって入力装置６から入力される操作情報に基づき標準顔編集用プログラムに従って顔の表面形状を変形させる処理を行い、その処理結果を表示装置７に出力し、表示装置７に表示されるゲームキャラクタの顔の表面形状を変化させる。そして、ＣＰＵ２は、作業者の操作によって入力装置６からゲームキャラクタの顔の編集処理終了が指令されると、ＲＡＭ４に記憶されている編集処理の処理結果を外部記憶装置５に保存する。
【００５４】
ＣＰＵ２は、作業者の操作によって入力装置６からアニメーション用の顔の編集処理が指令されると、ＲＯＭ３からアニメーション編集用プログラムをＲＡＭ４に読み出すとともに、外部記憶装置５からアニメーションデータをＲＡＭ４に読み出す。また、ＣＰＵ２は、ＲＡＭ４に読み出したアニメーションデータのうち、作業者の操作によって入力装置６から入力されるコマの顔の表面形状のデータとポリゴンに張り付けるテクスチャとに基づいて当該コマの顔の表面形状を表す三次元形状画像を生成し、その三次元形状画像を表示装置７に表示させる。その後、ＣＰＵ２は、作業者の操作によって入力装置６から入力される操作情報に基づきアニメーション編集用プログラムに従って顔の表面形状を変形させる処理を行い、その処理結果を表示装置７に出力し、表示装置７に表示されるゲームキャラクタの顔の表面形状を変化させる。そして、ＣＰＵ２は、作業者の操作によって入力装置６からゲームキャラクタのアニメーション編集用の顔の編集処理終了が指令されると、ＲＡＭ４に記憶されている編集処理の処理結果を外部記憶装置５に保存する。
【００５５】
次に、本発明に係る顔画像編集用プログラムによって実行されるゲームキャラクタの顔画像編集方法について説明する。
【００５６】
本発明に係る顔形状編集には、ゲームキャラクタの標準モデルの顔の表面形状を編集するモード（顔画像編集モード）と、アニメーション画像の指定されたコマの顔の表面形状を編集するモード（アニメーション編集モード）とがある。顔画像編集モードは、外部記憶装置５に記憶されたゲームキャラクタの標準顔画像データを用いて行う編集モードであり、アニメーション編集モードは、外部記憶装置５に記憶されたアニメーションデータを用いて行う編集モードである。
【００５７】
上述したように、本実施形態では、顔画像編集モードで標準の顔画像の編集を行うと、その編集内容が標準の顔画像で作成されたアニメーションデータに自動的に反映されるので、アニメーションデータを再生した場合には編集後の顔画像に対するアニメーション画像を表示装置７に表示させることができる。従って、編集後の顔画像に対するアニメーション画像に特に問題がない場合にはアニメーションデータに対して顔画像編集モードで行った編集作業と同様の編集作業をする必要はなく、例えば、部位のサイズを変更したことによって動きに不自然さが生じたり、動いたときの部位の形状に違和感が生じたりした場合にその部分のコマについて改めて編集が行われる。この場合の各コマの顔画像に対する編集作業は基本的に顔画像編集モードで行う編集作業と同様である。
【００５８】
図２は、作業者が入力装置６を操作して外部記憶装置５に記憶されている複数種類のゲームキャラクタの標準の顔画像から所望の顔画像を選択し、当該顔画像に対して編集処理を指令したときに表示装置７に表示される顔画像の一例を示す図である。
【００５９】
まず、顔画像編集モードにおける編集処理の内容について説明する。
【００６０】
図２に示すように、顔画像編集用のゲームキャラクタの顔画像は、ポリゴンモデリングによるサーフェスモデルの三次元形状画像で表現されている。顔の表面形状の変更はポリゴン頂点を移動させることによって行われる。このため、顔の表面形状の編集空間には同図の左下に示されるように、ＸＹＺの直交座標系が設定されている。ＸＹＺ座標系は、ゲームキャラクタの顔を正面から見て左右方向をＸ軸、上下方向をＹ軸、前後方向をＺ軸とする座標系である。なお、Ｘ軸、Ｙ軸、Ｚ軸はそれぞれ右方向、上方向、後方向が＋方向となっている。表示装置７の表示画面７ａに正面視の顔画像が表示されている場合は、表示画面７ａの横方向がＸ軸、縦方向がＹ軸、画面に垂直な方向がＺ軸となる。
【００６１】
顔の表面形状を構成する多数のポリゴン頂点にはそれぞれ識別用のポリゴン番号とＸＹＺ座標系の座標が設定されている。なお、以下の説明では、ポリゴン頂点の符号を「Ｐ」とし、ポリゴン番号ｊによって複数のポリゴン頂点Ｐを識別する場合には「Ｐ(j)」の表記をする。また、ＸＹＺ座標系における位置座標は（Ｘ，Ｙ，Ｚ）で表わすが、各座標には何の位置座標であるかを示す添え字を付して表記する。従って、ポリゴン頂点Ｐの位置座標は「（Ｘp，Ｙp，Ｚp）」（添え字「ｐ」はポリゴン頂点Ｐを示す）と表記し、複数のポリゴン頂点Ｐの位置座標をポリゴン番号ｊで識別する場合は「（Ｘpj，Ｙpj，Ｚpj）」（添え字「ｊ」はポリゴン番号を示す）と表記する。この表記方法は、後述するボーンやマーカの位置座標についても同様である。
【００６２】
顔画像編集では膨大なポリゴン頂点Ｐを個々に移動させて顔画像の表面形状を所望の形状に変形させることは困難であるので、図４（ａ）に示すように、顔画像内に多数の「ボーン」と呼ばれるポリゴン頂点Ｐの位置を制御する制御点が設けられている。図４（ａ）は、図２に示す顔画像の左側の目の部分を拡大した図であるが、同図では、ボーンの符号を「Ｂ」とし、ボーン番号ｉのボーンＢを「Ｂ(i)」と表記している。各ボーンＢ(i)（ｉ＝１，２，…８）は、ボーンＢ(i)の移動に連動して当該ボーンＢ(i)に関連付けられた１又は２以上のポリゴン頂点Ｐ(j)を移動させる機能を果すものである。各ボーンＢ(i)にもそれぞれＸＹＺ座標系の位置座標（Ｘbi，Ｙbi，Ｚbi)が設定されている。なお、各位置座標の添え字の「ｂ」はボーンＢの位置座標であることを示し、「ｉ」はボーン番号を示している。
【００６３】
ボーンＢ(i)に関連付けられたポリゴン頂点Ｐ(j)には、図３（ａ）に示すように、ボーンＢ(i)が移動したときに当該ボーンＢ(i)の移動方向Ｎbiを基準とした移動方向θpjbi（角度）と、当該ボーンＢ(i)の移動量Ｄbiに対するポリゴン頂点Ｐ(j)の移動量の倍率Ｋpjbiが連動用のパラメータとして設定されている。
【００６４】
なお、符号「Ｎbi」，「Ｄbi」の添え字「ｂ」と「ｉ」はそれぞれ「ボーン」と「ボーン番号」を示し、「ｂｉ」でボーン番号ｉのボーンＢに関するものであることを示している。また、符号「θpjbi」，「Ｋpjbi」の添え字「ｐ」、「ｊ」、「ｂ」、「ｉ」はそれぞれ「ポリゴン頂点」、「ポリゴン番号」、「ボーン」、「ボーン番号」を示し、ボーン番号ｉのボーンＢ(i)に関連付けられたポリゴン番号ｊのポリゴン頂点Ｐ(j)に関するパラメータであることを示している。この添え字の表記方法は、後述する部位変形用のマーカの移動方向や移動量の倍率（以下、「移動倍率」という。）についても同様である。
【００６５】
従って、図３（ｂ）に示すように、４つのポリゴン頂点Ｐ(j)，Ｐ(j+１)，Ｐ(j+2)，Ｐ(j+3)がそれらに囲まれたボーンＢ(i)に関連付けられている場合、例えば、ボーンＢ(i)をＮbi方向（図３（ｂ）で右方向）に距離Ｄbiだけ移動させると、ポリゴン頂点Ｐ(j)は、Ｎbi方向に対して、例えば、左側に角度θpjbiだけ開いた方向に距離Ｄpjbi＝Ｄbi×Ｋpjbiだけ移動する。他のポリゴン頂点Ｐ(j+1)，Ｐ(j+2)，Ｐ(j+3)についても同様で、例えば、ポリゴン頂点Ｐ(j+1)は、Ｎbi方向に対して左側に角度θp(j+1)biだけ開いた方向に距離Ｄp(j+1)bi＝Ｄbi(i)×Ｋp(j+1)biだけ移動し、ポリゴン頂点Ｐ(j+2)は、Ｎbi方向に対して右側に角度θp(j+2)biだけ開いた方向に距離Ｄp(j+2)bi＝Ｄbi×Ｋp(j+2)biだけ移動し、ポリゴン頂点Ｐ(j+3)は、Ｎbi方向に対して右側に角度θp(j+3)biだけ開いた方向に距離Ｄp(j+3)bi＝Ｄbi×Ｋp(j+3)biだけ移動する。図３（ｂ）において、Ｐ(j)’、Ｐ(j+1)’、Ｐ(j+2)’、Ｐ(j+3)’はポリゴン頂点Ｐ(j)、Ｐ(j+1)、Ｐ(j+2)、Ｐ(j+3)の移動した位置である。
【００６６】
なお、ボーンＢ(i)の移動に伴う４つのポリゴン頂点Ｐ(j)，Ｐ(j+1)，Ｐ(j+2)，Ｐ(j+3）の移動方向θpjbi，θp(j+1)bi，θp(j+2)bi，θp(j+3)biと移動倍率Ｋpjbi，Ｋp(j+1)bi，Ｋp(j+2)bi，Ｋp(j+3)biは、ボーンＢ(i)が含まれる部位全体の形状の変化が不自然とならないように、標準顔画像データを作成するプログラマーによって予め設定されている。また、ポリゴン頂点Ｐ(j)，Ｐ(j+1)，Ｐ(j+2)，Ｐ(j+3）の移動位置の演算ではＸ，Ｙ，Ｚの各座標軸の成分に分けて演算が行われる。従って、ポリゴン頂点Ｐ(j)の移動前の位置座標を（Ｘpj，Ｙpj，Ｚpj）、移動後の位置座標を（Ｘpj’，Ｙpj’，Ｚpj’）とすると、Ｄpjbi＝Ｄbi×Ｋpjbi＝√｛（Ｘpj’−Ｘpj）2＋（Ｙpj’−Ｙpj）2＋（Ｚpj’−Ｚpj）2｝となる。他のポリゴン頂点Ｐ(j+1)，Ｐ(j+2)，Ｐ(j+3）についても同様である。
【００６７】
各ボーンＢ(i)は、上記の座標データ（Ｘbi，Ｙbi，Ｚbi)とともに、関連付けられたポリゴン頂点Ｐ(j)のポリゴン番号ｊ及びそのポリゴン頂点Ｐ(j)の連動用のパラメータ（θpjbi,Ｋpjbi）のデータを有している。従って、外部記憶装置５やＲＡＭ４のボーンＢのデータ記憶領域には、各ボーンＢ(i)の位置座標（Ｘbi，Ｙbi，Ｚbi)，（Ｘbi’，Ｙbi’，Ｚbi’）と、関連付けられたポリゴン頂点Ｐ(j)のポリゴン番号ｊ及びそのポリゴン頂点Ｐ(j)の連動用のパラメータ（θpjbi,Ｋpjbi）のデータが格納されている。
【００６８】
上述した顔画像内に多数のボーンＢを設定した顔画像のデータ構造は、従来のボーン編集による顔画像編集方法の基本となるデータ構造と同じである。従来は各ボーンＢが複数個のポリゴン頂点Ｐを纏めて移動させる操作点として設定されていたが、本発明に係る顔画像編集では、ボーンＢの上位に複数種類のマーカを設け、各マーカを１又は２以上のボーンＢを移動させる操作点として機能させる構成としている。
【００６９】
従って、本発明に係る顔画像編集では、作業者が入力装置６からマーカ（本発明に係る第１，第２の操作点に相当）に対してボーンＢの移動に関する所定の操作情報を入力すると、当該操作情報に基づいてマーカに関連付けられた１又は２以上のボーンＢ（本発明に係る「制御点」に相当）を自動的に移動させるとともに、各ボーンＢに関連付けられた複数のポリゴン頂点Ｐ（本発明に係る「多角形の頂点」に相当）の位置を自動的に制御する構成を基本構成としている。
【００７０】
なお、マーカは隣接する部位に設けられた他のマーカに関連付けられ、他のマーカが移動すると、その移動に連動して移動するものもある。これは、例えば、目に設けられたマーカが移動することによって目の形状が変化する場合、その目の上にある眉毛の形状も目の形状変化に応じて変化させなければ、目と眉毛の形状がアンバランスになり、眉毛のマーカを単独で移動して眉毛の形状を目の形状変化に合わせることは容易でないから、眉毛に設けられるマーカを目に設けられるマーカに関連付け、目のマーカが移動するのに応じて眉毛のマーカを連動して移動させるものである。
【００７１】
同様の事情は、例えば、口の下唇に設けられるマーカと顎に設けられるマーカや、口の上唇に設けられるマーカと鼻に設けられるマーカなどについても言える。従って、本発明に係る顔画像編集では、隣接する部位で一方の部位の形状が変化すると、それに伴い他の部位の形状も連動して変化するような複数の部位については、各部位の部位変形用のマーカ同士を互いに連携させ、一方の部位の部位変形用のマーカの移動に連動して他方の部位の部位変形用のマーカを移動させる構成も有している。
【００７２】
本実施形態では、部位毎に顔画像編集用の４種類のマーカが設定されている。以下の説明では、４種類のマーカの符号を「Ｈ」，「Ｍ」，「Ｅ」，「Ｒ」とし、例えば、マーカＨについて、マーカ番号ｉのマーカＨを「Ｈ(i)」と表記する。マーカＭ，Ｅ，Ｒについても同様で、マーカ番号ｉのマーカＭ，Ｅ，Ｒを「Ｍ(i)」，「Ｅ(i)」，「Ｒ(i)」と表記する。４種類のマーカＨ，Ｍ，Ｅ，Ｒは、その種類が識別できるように、形や大きさの異なるマークで表示される。例えば、マーカＨは円形、マーカＭはマーカＨとは異なる大きさと色の円形、マーカＥは四角形、マーカＲは三角形などである。
【００７３】
４種類のマーカＨ，Ｍ，Ｅ，Ｒのうち、マーカＨは、部位の形状を部分的に変形させるために部位内の１又は２以上のボーンＢの一部を任意の方向に移動させる編集操作をするためのマーカ（本発明に係る「第１の操作点」に相当。以下、「部位変形用マーカ」という。）である。部位変形用マーカＨは、当該部位変形用マーカＨに関連付けられた１又は２以上のボーンＢを当該部位変形用マーカＨの移動に連動して移動させることにより部位の一部の形状を変化させる機能を果す。部位変形用マーカＨ(i)にもＸＹＺ座標系の位置座標（Ｘhi，Ｙhi，Ｚhi)が設定されている。なお、各座標の添え字の「ｈ」は部位変形用マーカＨを示し、「ｉ」は部位変形用マーカＨのマーカ番号を示している。
【００７４】
図４は、目と眉毛の部位に設けられた部位変形用マーカＨの一例を示し、（ａ）は目の部位変形用マーカＨを移動させる前の目と眉毛の状態を示す図、（ｂ）は同部位変形用マーカＨを移動させた後の目と眉毛の状態を示す図である。なお、図面の煩雑さを避けるために、図４ではポリゴンは省略し、ボーンＢと部位変形用マーカＨのみを描いている。
【００７５】
図４の例では、目には目頭と、目尻と、上瞼の２箇所と、下瞼の２箇所の計６箇所に円形の部位変形用マーカＨ(1)，Ｈ(2)，Ｈ(3)，Ｈ(4)，Ｈ(5)，Ｈ(6)が設けられている。部位変形用マーカＨ(2)，Ｈ(3)は、上瞼の部位変形用マーカＨ(1)と部位変形用マーカＨ(4)の間をほぼ３等分する位置に設けられ、部位変形用マーカＨ(5)，Ｈ(6)は、下瞼の部位変形用マーカＨ(1)と部位変形用マーカＨ(4)の間をほぼ３等分する位置に設けられている。６個の部位変形用マーカＨ(i)（ｉ＝１，２，…，６）は、それぞれ図３に示した６個のボーンＢ(i)（ｉ＝１，２，…，６）の位置と同じ位置に設けられている。
【００７６】
また、各ボーンＢ(i)（ｉ＝１，２，…，６）は同じ位置に設けられた部位変形用マーカＨ(i)だけに関連付けられており、各ボーンＢ(i)には部位変形用マーカＨ(i)の移動に応じて同じ位置に移動するように連動用のパラメータが設定されている。すなわち、ボーン番号ｊのボーンＢ(j)に設定された部位変形用マーカＨ(i)に対する移動方向をθbjhi、移動倍率をＫbjhiとすると、ボーンＢ(i)には連動用のパラメータとして移動方向θbihi＝０°と倍率Ｋbihi＝１．０が設定されている。なお、「θbjhi」、「Ｋbjhi」の添え字「ｂ」、「ｉ」、「ｈ」、「ｉ」はそれぞれ「ボーン」、「ボーン番号」、「部位変形用マーカ」、「マーカ番号」を示している。
【００７７】
眉毛には２個の部位変形用マーカＨ(7)，Ｈ(8)が設けられている。眉毛には眉頭の部分にボーンＨ(7)が設けられ、目の部位変形用マーカＨ(3)に対して略上方の位置にボーンＨ(8)が設けられているが、部位変形用マーカＨ(7)はボーンＢ(7)と同じ位置に設けられ、部位変形用マーカＨ(8)はボーンＢ(8)と同じ位置に設けられている。また、ボーンＢ(7)は部位変形用マーカＨ(7)にだけ関連付けられ、ボーンＢ(8)は部位変形用マーカＨ(8)にだけ関連付けられている。従って、ボーンＢ(7)，Ｂ(8)には連動用のパラメータとして「０°」の移動方向θb7h7，θb8h8と「１．０」の移動倍率Ｋb7h7，Ｋb8h8が設定されている。
【００７８】
外部記憶装置５やＲＡＭ４のボーンＢ(i)（ｉ＝１，２，…８）が関連付けられた部位変形用マーカＨ(i)（ｉ＝１，２，…８）のデータ記憶領域には、各部位変形用マーカＨ(i)の移動前と移動後の位置座標（Ｘhi，Ｙhi，Ｚhi)，（Ｘhi’，Ｙhi’，Ｚhi’)と、関連付けられたボーンＢ(i)のボーン番号ｉ及びそのボーンＢ(i)の連動用のパラメータ（θbihi，Ｋbihi）のデータが格納されている。
【００７９】
なお、ボーンＢ(j)に部位変形用マーカＨ(i)に対する連動用のパラメータとして設定される移動方向θbjhiと移動倍率Ｋbjhiの内容は、それぞれ図３に示した移動方向θpjbiと倍率Ｋpjbiと同じであるので、ここでは詳細な説明は省略する。
【００８０】
図４に示す目及び眉毛の例は、部位変形用マーカＨ(i)（ｉ＝１，２，…８）を移動させると、ボーンＢ(i)だけが部位変形用マーカＨ(i)と共に移動するので、部位変形用マーカＨ(i)を移動させる操作は実質的に従来のボーンＢ(i)を直接的に移動させる操作と変わらないが、例えば、目に設ける部位変形用マーカＨの数を減らし、一部の部位変形用マーカＨには複数のボーンＢを関連付け、当該部位変形用マーカＨに移動に応じて複数のボーンＢを同時に移動させるようにしてもよい。
【００８１】
例えば、上瞼の２個の部位変形用マーカＨ(2)，Ｈ(3)を上瞼の略中央に設けた部位変形用マーカＨ(9)（図４（ａ）の点線で示すマーカＨ(9)参照）に置き換えるとともに、下瞼の２個の部位変形用マーカＨ(4)，Ｈ(5)を下瞼の略中央に設けた部位変形用マーカＨ(10) （図４（ａ）の点線で示すマーカＨ(10)参照）に置き換え、ボーンＢ(2)，Ｂ(3)を部位変形用マーカＨ(9)に関連付け、ボーンＢ(5)，Ｂ(6)を部位変形用マーカＨ(10)に関連付けるようにしてもよい。この場合は、ボーンＢ(2)，Ｂ(3)には連動する部位変形用マーカＨ(9)に対する連動用のパラメータとしてそれぞれ移動方向θb2h9、移動倍率Ｋb2h9と移動方向θb3h9、移動倍率Ｋb3h9が設定され、ボーンＢ(5)，Ｂ(6)には連動する部位変形用マーカＨ(10)に対する連動用のパラメータとしてそれぞれ移動方向θb5h10、倍率Ｋb5h10と移動方向θb6h10、倍率Ｋb6h10が設定される。なお、移動方向θb2h9，θb3h9，θb5h10，θb6h10はいずれも「０°」でない適切な値が設定され、移動倍率Ｋb2h9，Ｋb3h9，Ｋb5h10，Ｋb6h10はいずれも「１．０」でない適切な値が設定される。
【００８２】
そして、この場合は、ボーンＢ(1)とボーンＢ(4)はそれぞれ部位変形用マーカＨ(1)と部位変形用マーカＨ(4)にだけ関連付けられるので、部位変形用マーカＨ(1)又は部位変形用マーカＨ(4)を移動させると、目頭のボーンＢ(1)又は目尻のボーンＢ(4)だけが移動するが、部位変形用マーカＨ(9)を移動させると、上瞼に設けられたボーンＢ(2)及びボーンＢ(3)が連動して移動し、部位変形用マーカＨ(10)を移動させると、下瞼に設けられたボーンＢ(5)及びボーンＢ(6)が連動して移動することになる。
【００８３】
図４に戻り、部位変形用マーカＨ(1)〜Ｈ(6)によって目の形状を変形する編集では、目の上の眉毛も目の形状変化に伴って形状が変化しなければ、変形後の顔が不自然になる。部位変形用マーカＨ(1)〜Ｈ(6)による目の編集と部位変形用マーカＨ(7)，Ｈ(8)による眉毛の編集を独立して行わせると、目と眉毛を不自然さのないように変形することは容易でないので、本実施形態では、例えば、眉毛に設定される２個の部位変形用マーカＨ(7)，Ｈ(8)をそれぞれ目の部位変形用マーカＨ(2)，Ｈ(3)に関連付け、目の部位変形用マーカＨ(2),Ｈ(3)が移動すると、その移動に連動して眉毛の部位変形用マーカＨ(7)，Ｈ(8)を移動させるようにしている。
【００８４】
従って、部位変形用マーカＨ(7)には部位変形用マーカＨ(2)に対する連動用のパラメータとして移動方向θh7h2と移動倍率Ｋh7h2が設定され、部位変形用マーカＨ(8)には部位変形用マーカＨ(3)に対する連動用のパラメータとして移動方向θh8h3と移動倍率Ｋh8h3とが設定されている。なお、「θh7h2」、「Ｋh7h2」の添え字「ｈ」、「７」、「ｈ」、「２」はそれぞれ「眉毛に設けられた部位変形用マーカ」、「眉毛に設けられた部位変形用マーカのマーカ番号」、「目に設けられた部位変形用マーカ」、「目に設けられた部位変形用マーカのマーカ番号」を示している。「θh8h3」、「Ｋh8h3」の添え字「ｈ」、「８」、「ｈ」、「３」も「θh7h2」、「Ｋh7h2」の添え字「ｈ」、「７」、「ｈ」、「２」と同様の意味を有している。
【００８５】
外部記憶装置５やＲＡＭ４の部位変形用マーカＨ(2)，Ｈ(3)のデータ記憶領域には、各部位変形用マーカＨ(2)，Ｈ(3)の移動前の位置座標（Ｘh2，Ｙh2，Ｚh2)，（Ｘh3，Ｙh3，Ｚh3)と、移動後の位置座標（Ｘh2’，Ｙh2’，Ｚh2’)，（Ｘh3’，Ｙh3’，Ｚh3’)と、それぞれに関連付けられた部位変形用マーカＨ(7)，Ｈ(8)のマーカ番号７，８及び部位変形用マーカＨ(7)，Ｈ(8)の連動用のパラメータ（θh7h2,Ｋh7h2），（θh8h3,Ｋh8h3）が格納されている。
【００８６】
部位変形用マーカＨ(7)に部位変形用マーカＨ(2)に対する連動用のパラメータとして設定される移動方向θh7h2と移動倍率Ｋh7h2や部位変形用マーカＨ(8)に部位変形用マーカＨ(2)に対する連動用のパラメータとして設定される移動方向θh8h3と移動倍率Ｋh8h3の内容も、それぞれ図３に示した移動方向θpjbiと倍率Ｋpjbiと同じであるので、ここでは詳細な説明は省略する。
【００８７】
なお、部位変形用マーカＨ(7)を目の部位変形用マーカＨ(1)，Ｈ(2)の両方に関連付け、部位変形用マーカＨ(8)を目の部位変形用マーカＨ(3)，Ｈ(4)の両方に関連付けるようにしてもよい。
【００８８】
図５は、顔画像に設けられている部位変形用マーカＨ、部位変形用マーカＨに関連付けられたボーンＢ及びボーンＢに関連付けられたポリゴン頂点Ｐの相互のデータ構造関係の一例を示す図である。同図は、図４に示す目と眉毛に設けられた部位変形用マーカＨ(1)〜Ｈ(8)のうち、部位変形用マーカＨ(3)と、その部位変形用マーカＨ(3)に関連付けられたボーンＢ(3)及び部位変形用マーカＨ(8)と、そのボーンＢ(3)及び部位変形用マーカＨ(8)にそれぞれ関連付けられたポリゴン頂点Ｐの相互のデータ構造関係を示している。
【００８９】
図５に示すように、部位変形用マーカＨ(3)に関連付けられたボーンＢ(3)及び部位変形用マーカＨ(8)は、部位変形用マーカＨ(3)の下にツリー構造で配置され、ボーンＢ(3)に関連付けられた複数のポリゴン頂点Ｐ(t)，Ｐ(t+1)，…,Ｐ(t+n)（ｔ，ｔ＋１，…ｔ＋ｎはポリゴン番号）はボーンＢ(3)の下にツリー構造で配置されている。また、部位変形用マーカＨ(8)にはボーンＢ(8)が関連付けられているので、部位変形用マーカＨ(3)の下にボーンＢ(8)がツリー構造で配置され、その下にボーンＢ(8)に関連付けられた複数のポリゴン頂点Ｐ(s)，Ｐ(s+1)，…,Ｐ(s+m)（ｓ，ｓ＋１，…ｓ＋ｍはポリゴン番号）がツリー構造で配置されている。
【００９０】
部位変形用マーカＨ(3)，Ｈ(8)、ボーンＢ(3)，Ｂ(8)、ポリゴン頂点Ｐ(s)，Ｐ(s+1)，…,Ｐ(s+m)及びポリゴン頂点Ｐ(t)，Ｐ(t+1)，…,Ｐ(t+n)はそれぞれ現在位置を示す位置座標を有している。作業者が入力装置６を操作して表示装置７に表示された部位変形用マーカＨ(3)の位置を移動させると、部位変形用マーカＨ(3)の位置座標が変化し、その変化に連動して部位変形用マーカＨ(8)とボーンＢ(3)，Ｂ(8)の位置座標が変化する。
【００９１】
例えば、部位変形用マーカＨ(3)の現在の位置座標を（Ｘh3，Ｙh3，Ｚh3)とし、部位変形用マーカＨ(8)の現在の位置座標を（Ｘh8，Ｙh8，Ｚh8)とすると、ボーンＢ(3)は部位変形用マーカＨ(3)と同じ位置にあり、ボーンＢ(8)は部位変形用マーカＨ(8)と同じ位置にあるから、ボーンＢ(3)，Ｂ(8)の現在の座標データはそれぞれ（Ｘh3，Ｙh3，Ｚh3)、（Ｘh8，Ｙh8，Ｚh8)となっている。
【００９２】
作業者が入力装置６を操作して部位変形用マーカＨ(3)を現在位置からＹ軸の下方向に移動させると、ＣＰＵ２は入力装置６から入力される操作情報（例えば、入力装置６がマウスの場合、マウスの移動量の情報）に基づいて表示画面７ａ上における移動量Ｄh3を算出し、部位変形用マーカＨ(3)，Ｈ(8)の位置座標をそれぞれ（Ｘh3，Ｙh3−Ｄh3，Ｚh3）と（Ｘh8，Ｙh8−Ｄh3，Ｚh8）に変更する。また、ＣＰＵ２はボーンＢ(3)，Ｂ(8)の位置座標をそれぞれ（Ｘb3，Ｙb3−Ｄh3，Ｚb3)と（Ｘb8，Ｙb8−Ｄh3，Ｚb8)に変更する。これにより、部位変形用マーカＨ(3)，Ｈ(8)及びボーンＢ(3)，Ｂ(8)の表示装置７における表示位置が変化する。なお、移動量Ｄh3の添え字「ｈ」は、部位変形用マーカＨを示し、添え字「３」は、部位変形用マーカＨのマーカ番号を示している。
【００９３】
更に、ＣＰＵ２は、ボーンＢ(3)に関連付けられている複数のポリゴン頂点Ｐ(t+k)（ｋ＝０，１，…，ｎ）に対して各ポリゴン頂点Ｐ(t+k)の連動用のパラメータとボーンＢ(3)の移動方向Ｎb3及び移動量Ｄb3を用いて各ポリゴン頂点Ｐ(t+k)の移動位置を算出し、その算出結果を用いて位置座標を変更する。同様に、ボーンＢ(8)に関連付けられている複数のポリゴン頂点Ｐ(s+k)（ｋ＝０，１，…，ｍ）に対して各ポリゴン頂点Ｐ(s+k)の連動用のパラメータとボーンＢ(8)の移動方向Ｎb8及び移動量Ｄb8を用いて各ポリゴン頂点Ｐ(s+k)の移動位置を算出し、その算出結果を用いて位置座標を変更する。これにより、ポリゴン頂点Ｐ(t+k)及びポリゴン頂点Ｐ(s+k)の表示装置７における表示位置が変化し、目と眉毛の形状が変化する。
【００９４】
図４に戻り、部位変形用マーカＨを用いた目の編集操作について説明する。
【００９５】
図４には記載されていないが、表示装置７の表示画面７ａにはカーソルが表示されており、作業者は入力装置６を操作してカーソルを所望の部位変形用マーカＨ(i)の位置に移動させ、所定の操作を行うと、カーソルによって部位変形用マーカＨ(i)を所望の位置に移動させることができる。例えば、入力装置６がマウスの場合、作業者はカーソルを所望の部位変形用マーカＨ(i)の位置に移動させた後、左クリックを行い、そのクリック状態を保持してマウスを所望の方向に移動させることによりカーソルとともに部位変形用マーカＨ(i)を所望の方向に移動させることができる。そして、作業者は所望の位置で左クリックの操作を解除すると、その位置に部位変形用マーカＨ(i)を固定することができる。
【００９６】
なお、入力装置６によって部位変形用マーカＨ(i)を指定し、その部位変形用マーカＨ(i)の移動方向Ｎhiや移動量Ｄhiをキー操作によって入力させるようにしてもよい。
【００９７】
図４（ｂ）は、作業者が図４（ａ）の状態から目の部位変形用マーカＨ(3)，Ｈ(4)，Ｈ(5)をそれぞれＹ軸の下方向に移動量Ｄｈずつ移動させた場合（部位変形用マーカＨ(3)，Ｈ(4)，Ｈ(5)の移動方向Ｎh3，Ｎh4，Ｎh5をＹ軸の下方向とし、移動量Ｄh3，Ｄh4，Ｄh5をＤh3＝Ｄh4＝Ｄh5＝Ｄｈとした場合）の目と眉毛の形状の変化を示している。３個の部位変形用マーカＨ(3)，Ｈ(4)，Ｈ(5)の位置が下に移動するのに応じて３個のボーンＢ(3)，Ｂ(4)，Ｂ(5)の位置も下に移動するので、これにより各ボーンＢ(3)，Ｂ(4)，Ｂ(5)にそれぞれ関連付けられた複数のポリゴン頂点Ｐの位置が変化して目が目尻の部分が下側に垂れた形状に変化している。
【００９８】
また、眉毛に設定された部位変形用マーカＨ(8)は、目に設定された部位変形用マーカＨ(3)に関連付けられているので、部位変形用マーカＨ(3)が下方向に移動すると、それに連動して眉毛に設定された部位変形用マーカＨ(8)も下方向に移動する。そして、部位変形用マーカＨ(8)が下方向に移動すると、部位変形用マーカＨ(8)に関連付けられたボーンＢ(8)も部位変形用マーカＨ(8)と同じ位置に移動し、これによりボーンＢ(8)に関連付けられた複数のポリゴン頂点Ｐの位置が変化して眉毛も目尻の部分が下側に垂れた形状に変化している。
【００９９】
図４（ｂ）の例では、部位変形用マーカＨ(3)に関連付けられた部位変形用マーカＨ(8)の移動倍率Ｋh8h3を「０．５」に設定しているので、部位変形用マーカＨ(8)は部位変形用マーカＨ(3)の移動量Ｄｈに対して移動量Ｄｈ×０．５だけ下方向に移動している。図４（ｂ）の例では、部位変形用マーカＨ(3)に部位変形用マーカＨ(8)だけを連動させているので、目の形状が過度に三角形になり、不自然感を与える場合もあるが、部位変形用マーカＨ(3)に部位変形用マーカＨ(7)も連動させ、両部位変形用マーカＨ(7)，Ｈ(8)の移動倍率Ｋh7h3，Ｋh8h3を調整すれば、不自然な形状変化を緩和することができる。
【０１００】
上記のように、６個の部位変形用マーカＨ(i)（ｉ＝１，２，…６）のいずれかを移動させると、その部位変形用マーカＨ(i)に関連付けられている１又は２以上のボーンＢ(j)を当該部位変形用マーカＨ(i)の移動に連動して移動させることができるので、目の形状を容易に変形させることができる。
【０１０１】
また、眉毛に設定された部位変形用マーカＨ(7)，Ｈ(8)をそれぞれ目の部位変形用マーカＨ(2），Ｈ(3）に関連付け、目の部位変形用マーカＨ(2)，Ｈ(3)の移動に連動して眉毛の部位変形用マーカＨ(7)，Ｈ(8)を移動させるようにしているので、目の位置と密接に関係する眉毛の位置をバランスよく移動させることができる。
【０１０２】
マーカＭは、部位全体を移動させる編集操作をするためのマーカ（本発明に係る「第２の操作点」に相当。以下、「部位移動用マーカ」という。）である。部位移動用マーカＭは、部位に設定された複数の部位変形用マーカＨを一括して移動させることにより部位全体を移動させる機能を果す。各部位移動用マーカＭ(i)にもＸＹＺ座標系の位置座標（Ｘmi，Ｙmi，Ｚmi)が設定されている。なお、各座標の添え字の「ｍ」は部位移動用マーカＭを示し、「ｉ」は部位移動用マーカＭのマーカ番号を示している。
【０１０３】
部位移動用マーカＭは、部位を代表する位置（通常は、部位の画像の中心位置）に１個だけ設けられ、当該部位に設けられる複数の部位変形用マーカＨが部位移動用マーカＭに関連付けられている。部位移動用マーカＭの位置を移動させると、部位に設定された複数の部位変形用マーカＨが連動して部位移動用マーカＭの移動方向にそれぞれ移動し、これにより部位全体が移動する。
【０１０４】
図６は、目の部位に設けられた部位移動用マーカＭの一例を示し、（ａ）は目の部位移動用マーカＭによって目全体を移動させる前の状態を示す図、（ｂ）は同部位移動用マーカＭによって目全体を鼻筋側に移動させた状態を示す図である。なお、同図もポリゴンは省略し、ボーンＢと部位移動用マーカＭのみを描いている。
【０１０５】
図６の例では、目を全体的に移動させるので、目の瞳孔の位置に部位移動用マーカＭが１つだけ設けられている。図６の例では、部位移動用マーカＭ(1)も部位変形用マーカＨ(1)〜Ｈ(6)と同様に円形のマークで表示されているが、部位移動用マーカＭ(1)は部位変形用マーカＨ(1)〜Ｈ(6)より大きく、色も異なっている。そして、６つの部位変形用マーカＨ(1)〜Ｈ(6)は部位移動用マーカＭ(1)に関連付けられている。
【０１０６】
部位移動用マーカＭ(1)は目を全体的に移動させる機能を果すので、６つの部位変形用マーカＨ(i)（ｉ＝１，２，…６）に部位移動用マーカＭ(1)に対する連動用のパラメータとして設けられる移動方向θhim1（ｉ＝１，２，…６）には、図７に示すように、それぞれ「０°」若しくは「０°」に近い値が設定され、移動倍率Ｋhim1（ｉ＝１，２，…６）にはそれぞれ「１．０」若しくは「１．０」に近い値が設定されている。すなわち、部位移動用マーカＭ(1)の移動方向θm1及び移動量Ｄm1で６つの部位変形用マーカＨ(1）〜Ｈ(6)がほぼ同じ方向にほぼ同じ量だけ移動するように、各部位変形用マーカＨ(1）〜Ｈ(6)の連動用のパラメータが設定されている。図７において、Ｍ(1)’、Ｈ(1)’〜Ｈ(6)’はそれぞれ部位移動用マーカＭ(1)と部位変形用マーカＨ(1)〜Ｈ(6)の移動した位置である。
【０１０７】
なお、「θm1」、「Ｄm1」の添え字「ｍ」、「１」はそれぞれ「部位移動用マーカＭ」と「部位移動用マーカＭのマーカ番号」を示している。また、「θhim1」、「Ｋhim1」の添え字「ｈ」、「ｉ」、「ｍ」、「１」はそれぞれ「部位変形用マーカＨ」、「部位変形用マーカＨのマーカ番号」、「部位移動用マーカＭ」、「部位移動用マーカＭのマーカ番号」を示している。
【０１０８】
外部記憶装置５やＲＡＭ４の部位移動用マーカＭ(1)のデータ記憶領域には、部位移動用マーカＭ(1)の移動前の位置座標（Ｘm1，Ｙm1，Ｚm1)と、移動後の位置座標（Ｘm1’，Ｙm1’，Ｚm1’)と、関連付けられた部位変形用マーカＨ(i)のマーカ番号ｉと部位変形用マーカＨ(i)の連動用のパラメータ（θhim1，Ｋhim1）（ｉ＝１，２，…６）のデータが格納されている。
【０１０９】
部位移動用マーカＭ(1)と６つの部位変形用マーカＨ(1)〜Ｈ(6)のデータ構造の関係は、図５に示すデータ構造において、部位変形用マーカＨ(3)と部位変形マーカＨ(8)のツリー構造の関係と同じであるので、その説明は省略する。
【０１１０】
図６（ａ）の状態で、作業者が入力操作６を操作して部位移動用マーカＭ(1)を右方向（Ｘ軸に沿って顔の鼻筋に近づける方向）に移動量Ｄm1だけ移動させると、６つの部位変形用マーカＨ(1)〜Ｈ(6)が連動してそれぞれ標準の位置（図６（ａ）の位置）からほぼ移動量Ｄm1だけほぼ右方向に移動する。６つの部位変形用マーカＨ(1)〜Ｈ(6)が移動することにより各部位変形用マーカＨ(1)〜Ｈ(6)にそれぞれ関連付けられたボーンＢ(1)〜Ｂ(6)が移動するとともに、各ボーンＢ(1)〜Ｂ(6)に関連付けられた複数のポリゴン頂点Ｐもそれぞれ連動して移動する。この結果、目は、図６（ｂ）に示すように、全体的に鼻筋に近づくことになる。
【０１１１】
なお、図６の例では、眉毛に設けられた部位変形用マーカＨ(7)と部位変形用マーカＨ(8)をそれぞれ目の部位変形用マーカＨ(2)と部位変形用マーカＨ(3)に連携させ、部位変形用マーカＨ(7)と部位変形用マーカＨ(8)の連動用のパラメータの移動方向θh7h2，θh8h3を「０°」、倍率Ｋh7h2，Ｋh8h3を「１．０」に設定しているので、部位変形用マーカＨ(2)と部位変形用マーカＨ(3)の右方向の移動に連動して眉毛の部位変形用マーカＨ(7)と部位変形用マーカＨ(8)も右方向に同じ移動量だけ移動している。
【０１１２】
従って、作業者は、鼻筋の右側にある目に対して部位移動用マーカＭを鼻筋側に移動させる操作を行うことにより、簡単に顔画像の両目を鼻筋に近づける(両目の距離を短くする）ことができる。なお、部位移動用マーカＭ(1)の標準の位置（図６（ａ）の位置）と移動後の位置（図６（ｂ）の位置）の情報（位置座標の情報）は保存されるので、作業者は両位置の座標から部位移動用マーカＭ(1)の操作情報（移動方向θm1と移動量Ｄm1の情報)を確認することができる。
【０１１３】
マーカＥは、部位全体を拡大又は縮小させる編集操作をするためのマーカ（本発明に係る「第２の操作点」に相当。以下、「部位拡縮用マーカ」という。）である。部位拡縮用マーカＥは、部位に設定された複数の部位変形用マーカＨを当該部位拡縮用マーカＥに対して放射状に移動させることにより部位の形状を拡大又は縮小する機能を果す。各部位拡縮用マーカＥ(i)にもＸＹＺ座標系の位置座標（Ｘei，Ｙei，Ｚei)が設定されている。なお、各座標の添え字「ｅ」は部位拡縮用マーカＥを示し、「ｉ」は部位拡縮用マーカＥのマーカ番号を示している。
【０１１４】
部位拡縮用マーカＥは、部位に設定された複数の部位変形用マーカＨの内側に１個だけ設けられ、その複数の部位変形用マーカＨが部位拡縮用マーカＥに関連付けられている。部位拡縮用マーカＥには標準画像における部位のサイズ（標準サイズ）に対して変化させる割合（拡縮倍率）が設定可能になされ、ディフォルトでは「１.０」が設定されている。本実施形態では、部位拡縮用マーカＥに予め複数の拡縮倍率（例えば、０．３、０．５、０．７、１．０、１．３、１.５、１.７、２．０の８種類の拡縮倍率）を用意しておき、作業者が部位拡縮用マーカＥにカーソルを合わせてクリック操作をすると、クリック操作毎に部位拡縮用マーカＥに設定される拡縮倍率が循環的に変化し、部位拡縮用マーカＥに設定される拡縮倍率を所望の値に変更することができるようにしている。作業者が部位拡縮マーカＥを操作して拡縮倍率を変化させると、その拡縮倍率の変化に応じて各部位変形用マーカＨの部位拡縮用マーカＥからの距離が変化して表示装置７に表示される部位のサイズが拡大又は縮小される。
【０１１５】
なお、部位拡縮マーカＥに設定される拡縮倍率を変化させる操作としては、部位拡縮用マーカＥに複数の拡縮倍率を用意せず、作業者が部位拡縮用マーカＥにカーソルを合わせてクリック操作をすることにより当該部位拡縮用マーカＥを指定し、数字キーにより所望の拡縮倍率を入力させるようにしてもよい。この方法では、部位拡縮用マーカＥに任意の拡縮倍率を設定できる利点がある。
【０１１６】
また、任意の拡縮倍率の入力インターフェースとして、作業者がカーソルによって部位拡縮用マーカＥを指定したとき、例えば、図８に示すように、ＸＹＺ座標の各軸方向に延びる３本の拡縮倍率の大きさを示す倍率線Ｑｘ，Ｑｙ，Ｑｚを表示させ、いずれかの倍率線Ｑｑ（ｑ＝ｘ，ｙ，ｚ）をカーソルで指定し、その倍率線Ｑｑの長さを伸縮させることができる入力インターフェースを設けることができる。この入力インターフェースでは、各倍率線Ｑｘ，Ｑｙ，Ｑｚに表示されている数値は拡縮倍率を示しており、ディフォルト値は「１．０」である。作業者がカーソルでいずれかの倍率線Ｑｑ（ｑ＝ｘ，ｙ，ｚ）を指定し、その長さを伸縮させる操作をすると、その長さの伸縮に連動して表示されている数値が変化する。
【０１１７】
従って、例えば、作業者がカーソルでＸ方向の倍率線Ｑｘを指定し、表示されている数値が「１．３」に変化するまでその長さを伸長させる操作をすると、表示画面７ａに表示されている目のＸ方向のサイズ（寸法）を標準サイズの１．３倍に設定することができる。表示画面７ａ上では、Ｘ方向の倍率線Ｑｘの長さ（Ｘ方向の拡縮倍率の値）の変化に連動して目の形状変化処理が行われるので、作業者は、目のＸ方向のサイズを変更したい場合に視覚的に所望のサイズの入力と変更後の目の形状を確認することができる。目のＹ方向やＺ方向のサイズ変更の操作についても同様である。この入力インターフェースによれば、作業者による顔の各部位の形状を所望のサイズに変更する操作が容易で、作業効率を高めることができる。
【０１１８】
図９は、目の部位に設けられた部位拡縮用マーカＥの一例を示し、（ａ）は目の部位拡縮用マーカＥによって目を拡大する前の状態を示す図、（ｂ）は同部位拡縮用マーカＥによって目を拡大した状態を示す図である。なお、同図もポリゴンは省略し、ボーンＢと部位拡縮用マーカＥのみを描いている。
【０１１９】
図９の例では、目に設定された６つのボーンＢ(1)〜Ｂ(6)を放射状に移動させることによって目を全体的に拡大したり、縮小したりするので、その放射状の移動の基準となる位置に部位拡縮用マーカＥが１つだけ設けられている。図９の例では、目の瞳孔の位置に部位拡縮用マーカＥ(1)が設定されている。この設定位置は部位移動用マーカＭ(1)の設定位置と同じ位置であるが、部位拡縮用マーカＥ(1)のマークを四角形とすることによって部位移動用マーカＭ(1)と識別できるようにしている。
【０１２０】
６つのボーンＢ(1)〜Ｂ(6)にそれぞれ直結されている部位変形用マーカＨ(1)〜Ｈ(6)は部位拡縮用マーカＥ(1)にも関連付けられている。また、目の大きさが変化すると、それに伴い眉毛の位置や大きさも影響するので、目の形状の変化に応じて眉毛の形状を変形させるために、眉毛に設けられている部位変形用マーカＨ(7)，Ｈ(8)が目の部位変形用マーカＨ(2)，Ｈ(3)にそれぞれ関連付けられている。
【０１２１】
各部位変形用マーカＨ(i)（ｉ＝１，２，…６）には部位拡縮用マーカＥ(1)に対する連動用のパラメータとして移動方向φhie1と拡縮倍率Ｋhie1が設定されている。符号「φhie1」，「Ｋhie1」の添え字「ｈ」、「ｉ」、「ｅ」、「１」はそれぞれ「部位変形用マーカＨ」、「部位変形用マーカＨのマーカ番号」、「部位拡縮用マーカＥ」、「部位拡縮用マーカＥのマーカ番号」を示している。移動方向φhie1は、図１０に示すように、部位拡縮用マーカＥ(1)の位置と部位変形用マーカＨ(i）の標準の位置（図９（ａ）の位置）とを結ぶ線の方向である。部位拡縮用マーカＥ(1)の位置と各部位変形用マーカＨ(i）の標準の位置は変化しないので、各部位変形用マーカＨ(i）の移動方向φhie1は固定値となっている。
【０１２２】
一方、拡縮倍率Ｋhie1は、部位拡縮用マーカＥ(1）の位置から部位変形用マーカＨ(i)の標準の位置までの距離（以下、「標準距離」という。）に対する、部位拡縮用マーカＥ(1)の位置から部位変形用マーカＨ(i)の移動した位置までの距離の割合である。すなわち、拡縮倍率Ｋhie1は、移動方向φhie1の直線上における部位変形用マーカＨ(i)の移動した位置を標準距離に対する割合で示すものである。
【０１２３】
例えば、部位変形用マーカＨ(1)の場合、図１０に示すように、標準距離をＬ(1)、部位変形用マーカＨ(1)の移動した位置の部位拡縮用マーカＥ(1)の距離をＬ(1)’とすると、拡縮倍率Ｋh1e1は、Ｋh1e1＝Ｌ(1)’／Ｌ(1)である。他の部位変形用マーカＨ(2)〜Ｈ(6)についても同様である。なお、拡縮倍率Ｋhie1のディフォルト値は「１．０」である。また、Ｌ(1)＝√｛（Ｘh1−Ｘe1）2＋（Ｙh1−Ｙe1）2＋（Ｚh1−Ｚe1）2｝、Ｌ(1)’＝√｛（Ｘh1’−Ｘe1）2＋（Ｙh1’−Ｙe1）2＋（Ｚh1’−Ｚe1）2｝である。
【０１２４】
外部記憶装置５やＲＡＭ４の部位拡縮用マーカＥ(1)のデータ記憶領域には、部位拡縮用マーカＥ(1)の位置座標（Ｘe1，Ｙe1，Ｚe1)と、移動後の位置座標（Ｘe1’，Ｙe1’，Ｚe1’)と、関連付けられた部位変形用マーカＨ(i)のマーカ番号ｉと部位変形用マーカＨ(i)の連動用のパラメータ（φhie1,Ｋhie1）（ｉ＝１，２，…６）のデータが格納されている。
【０１２５】
部位拡縮用マーカＥ(1)と各部位変形用マーカＨ(i)のデータ構造の関係は、図５に示した部位移動用マーカＭ(1)と部位変形用マーカＨ(i)のデータ構造がツリー構造となる関係と基本的に同じであるので、その説明は省略する。
【０１２６】
図９（ｂ）は、目に設定された部位拡縮用マーカＥ(1)によって目の大きさを約１．３倍にした例を示している。作業者が目に設定された部位拡縮用マーカＥ(1)を操作して当該部位拡縮用マーカＥ(1)の拡縮倍率Ｋe1を「１．３」に設定すると、各部位変形用マーカＨ(i)の拡縮倍率Ｋhie1が「１．３」に変更され、目の部位変形用マーカＨ(1)〜Ｈ(6)がそれぞれ移動方向φh1e1〜φh6e1の方向に移動する。また、部位変形用マーカＨ(2)，Ｈ(3)の移動に伴いこれらに関連付けられている眉毛の部位変形用マーカＨ(7)，Ｈ(8)も連動用のパラメータに基づいて移動する。
【０１２７】
各部位変形用マーカＨ(i)（ｉ＝１，２，…６）の移動位置の部位拡縮用マーカＥ(1)からの距離Ｌ(i)’（ｉ＝１，２，…６）は、部位拡縮用マーカＭ(1)から各部位変形用マーカＨ(1)〜Ｈ(6)の標準の位置（図９（ａ）の位置）までの標準距離をＬ(i)とすると、Ｌ(i)’＝Ｋhie1×Ｌ(i)＝Ｋhie1×√｛（Ｘhi’−Ｘe1）2＋（Ｙhi’−Ｙe1）2＋（Ｚhi’−Ｚe1）2｝となっている。
【０１２８】
目の部位では、６つの部位変形用マーカＨ(1)〜Ｈ(6)が部位拡縮用マーカＥ(1)から離れる方向に移動することにより各部位変形用マーカＨ(1)〜Ｈ(6)に関連付けられたボーンＢ(1)〜Ｂ(6)が連動して移動し、それに伴い各ボーン(1)〜Ｂ(6)に関連付けられた複数のポリゴン頂点Ｐの位置が連動して移動する。この結果、目の形状は、図９（ｂ）に示すように、全体的に大きくなる。また、眉毛の部位も、部位変形用マーカＨ(2)，Ｈ(3)に連動して部位変形用マーカＨ(7)，Ｈ(8)が移動することにより各部位変形用マーカＨ(7)，Ｈ(8)に関連付けられたボーンＢ(7)，Ｂ(8)が連動して移動し、それに伴い各ボーンＢ(7)，Ｂ(8)にそれぞれ関連付けられた複数のポリゴン頂点Ｐの位置が連動して移動するので、眉毛の形状も、図９（ｂ）に示すように、全体的に大きくなる。
【０１２９】
従って、作業者は、鼻筋の右側にある目に対して部位拡縮用マーカＥを用いて目の拡大操作を行うことにより顔画像の両目と両眉毛を簡単に大きくすることができる。なお、部位拡縮用マーカＥ(1)に設定された拡縮倍率Ｋe1や各部位変形用マーカＨ(i)に設定された拡縮倍率Ｋhie1（ｉ＝１，２，…６）の情報は保存されるので、作業者は部位拡縮用マーカＥ(1)の操作情報（部位の拡大または縮小の割合の情報)や各部位変形用マーカＨ(i)の連動用のパラメータを確認することができる。
【０１３０】
マーカＲは、部位全体を回転させる編集操作をするためのマーカ（本発明に係る「第２の操作点」に相当。以下、「部位回転用マーカ」という。）である。部位回転用マーカＲは、例えば、部位に設定された複数の部位変形用マーカＨを左側と右側に分け、部位回転用マーカＲの回転に連動して左側の部位変形用マーカＨを上側に移動させる一方、右側の部位変形用マーカＨを下側に移動させることにより、部位を見かけ上、回転させた形状に変化させる機能を果す。各部位回転用マーカＲ(i)にも位置座標「（Ｘri，Ｙri，Ｚri)」が設定されている。なお、各座標の添え字の「ｒ」は部位回転用マーカＲを示し、「ｉ」は部位回転用マーカＲのマーカ番号を示している。
【０１３１】
部位回転用マーカＲも、部位拡縮用マーカＥと同様、部位を代表する位置（通常は、部位の画像の中心位置）に１個だけ設けられ、当該部位に設けられる複数の部位変形用マーカＨが部位回転用マーカＲに関連付けられている。部位回転用マーカＲを回転させることにより、当該部位回転用マーカＲに関連付けられた複数の部位変形用マーカＨの一部と残りが互いに逆方向に連動して移動し、これにより部位の形状が全体的に回転した形状に変化する。
【０１３２】
図１１は、目の部位に設けられた部位回転用マーカＲの一例を示し、（ａ）は目の部位回転用マーカＲによって目を回転する前の状態を示す図、（ｂ）は同部位回転用マーカＲによって目を回転した状態を示す図である。なお、同図もポリゴンは省略し、ボーンＢと部位回転用マーカＲのみを描いている。
【０１３３】
図１１の例では、目の瞳孔の位置に部位回転用マーカＲ(1)が１つだけ設けられている。この設定位置は部位拡縮用マーカＥ(1)の設定位置と同じ位置であるが、部位回転用マーカＲ(1)のマークを三角形とすることによって部位拡縮用マーカＥ(1)や部位移動用マーカＭ(1)などと識別できるようにしている。
【０１３４】
部位回転用マーカＲ(1)は、部位回転用マーカＲ(1)を時計回りに回転させると、これに連動して部位回転用マーカＲ(1)よりも左側の３個の部位変形用マーカＨ(3)，Ｈ(4)，Ｈ(5)を上側に移動させるとともに、右側の３個の部位変形用マーカＨ(1)，Ｈ(2)，Ｈ(6)を下側に移動させ、逆に部位回転用マーカＲ(1)を反時計回りに回転させると、これに連動して左側の３個の部位変形用マーカＨ(3)，Ｈ(4)，Ｈ(5)を下側に移動させるとともに、右側の３個の部位変形用マーカＨ(1)，Ｈ(2)，Ｈ(6)を上側に移動させて目が全体的に右側又は左側に傾いた形状に変化させる機能を果す。
【０１３５】
このため、６つの部位変形用マーカＨ(1)〜Ｈ(6)は部位回転用マーカＲ(1)にも関連付けられている。また、目の形状が変化すると、それに伴い眉毛の形状も影響するので、眉毛に設けられている部位変形用マーカＨ(7)，Ｈ(8)も部位回転用マーカＲ(1)に関連付けられている。
【０１３６】
６つの部位変形用マーカＨ(1)〜Ｈ(6)には、図１２に示すように、部位回転用マーカＲ(1)の回転量ψに基づいてＹ軸方向の移動量Ｄｙ(1)〜Ｄｙ(6)を算出する関数Ｆ１（ψ）〜Ｆ６（ψ）が連動用のパラメータとして設定されている。移動量Ｄｙ(i)(ｉは部位変形用マーカＨのマーカ番号。ｉ＝１，２,…６)を算出する関数Ｆｉ（ψ）（ｉ＝１，２,…６）は、部位回転用マーカＲ(1)の回転方向に目全体が回転するように見せるために、部位回転用マーカＲ(1)が時計回りに回転したときには左側の３個の部位変形用マーカＨ(3)，Ｈ(4)，Ｈ(5)の移動量Ｄｙ(3)，Ｄｙ(4)，Ｄｙ(5)が「正」の値（Ｙ軸の上方向移動に相当）で算出され、右側の３個の部位変形用マーカＨ(1)，Ｈ(2)，Ｈ(6)の移動量Ｄｙ(1)，Ｄｙ(2)，Ｄｙ(6)が「負」の値（Ｙ軸の下方向移動に相当）で算出される。
【０１３７】
逆に部位回転用マーカＲ(1)が反時計回りに回転したときには左側の３個の部位変形用マーカＨ(i)（ｉ＝３，４，５）の移動量Ｄｙ(i)が「負」の値で算出され、右側の３個の部位変形用マーカＨ(i)（ｉ＝１，２，６）の移動量Ｄｙ(i)が「正」の値で算出されるように設定されている。なお、部位回転用マーカＲ(1)の回転に連動して部位変形用マーカＨ(1)〜Ｈ(6)を移動させる方向はＹ軸方向だけであるので、各部位変形用マーカＨ(1)〜Ｈ(6)には移動方向のパラメータは設定されていない。外部記憶装置５やＲＡＭ４の部位回転用マーカＲ(1)のデータ記憶領域には、部位拡縮用マーカＲ(1)の移動前の位置座標（Ｘr1，Ｙr1，Ｚr1)と、移動後の位置座標（Ｘr1’，Ｙr1’，Ｚr1’)と、関連付けられた部位変形用マーカＨ(i)のマーカ番号ｉと部位変形用マーカＨ(i)の連動用のパラメータ（Ｄｙ(i)）（ｉ＝１，２，…６）のデータが格納されている。
【０１３８】
部位回転用マーカＲ(1)と６つの部位変形用マーカＨ(1)〜Ｈ(6)のデータ構造の関係は、図５に示した部位移動用マーカＭ(1)と部位変形用マーカＨ(i)のデータ構造がツリー構造となる関係と基本的に同じであるので、その説明は省略する。
【０１３９】
図１１（ｂ）は、作業者が目に設定された部位回転用マーカＲ(1)を指定し、画面上で時計回りに回転させた場合の目の形状の変化を示したものである。
【０１４０】
作業者が、入力装置６によって部位回転用マーカＲ(1)を時計回りに回転させる操作を行うと、部位回転用マーカＲ(1)がその操作に応じて回転し、その回転量ψが算出され、その算出結果と部位変形用マーカＨ(1)〜Ｈ(6)に連動用のパラメータとして設定された関数Ｆ１（ψ）〜Ｆ６（ψ）を用いて部位変形用マーカＨ(1)〜Ｈ(6)に移動量Ｄｙ(1)〜Ｄｙ(6)が設定される。なお、部位回転用マーカＲ(1)に対する操作としては、部位拡縮用マーカＥ(1)と同様に、作業者がカーソルで部位回転用マーカＲ(1)を指定し、数値キーによって回転角を入力するようにしてもよい。
【０１４１】
図１１（ｂ）の例は、６つの部位変形用マーカＨ(1)〜Ｈ(6)に対してそれぞれＤｙ(1)＝−０．１×ψ、Ｄｙ(2)＝−０．０１×ψ、Ｄｙ(3)＝＋０．０１×ψ、Ｄｙ(4)＝＋０．１×ψ、Ｄｙ(5)＝＋０．０１×ψ、Ｄｙ(6)＝−０．０１×ψの移動量が算出され、部位回転用マーカＲ(1)よりも左側の３つの部位変形用マーカＨ(3)，Ｈ(4)，Ｈ(5)がそれぞれ「＋０．０１×ψ」、「＋０．１×ψ」、「＋０．０１×ψ」だけ上側に移動し、部位回転用マーカＲ(1)よりも右側の３つの部位変形用マーカＨ(2)，Ｈ(1)，Ｈ(6)がそれぞれ「−０．０１×ψ」「−０．１×ψ」、「−０．０１×ψ」だけ下側に移動した状態を示している。
【０１４２】
６つの部位変形用マーカＨ(1)〜Ｈ(6)が上記のように移動することによって各部位変形用マーカＨ(1)〜Ｈ(6)にそれぞれ関連付けられたボーンＢ(1)〜Ｂ(6)も移動し、ボーンＢ(1)〜Ｂ(6)の移動により各ボーンＢ(1)〜Ｂ(6)にそれぞれ関連付けられた複数のポリゴン頂点Ｐが連動して移動するので、図１１（ｂ）では、目尻が吊り上り、目頭が垂れ下がった形状に変化している。
【０１４３】
また、部位変形用マーカＨ(2)，Ｈ(3)の移動に伴いこれらに関連付けられている眉毛の部位変形用マーカＨ(7)，Ｈ(8)も連動用のパラメータに基づいて移動する。これにより、各部位変形用マーカＨ(7)，Ｈ(8)に関連付けられたボーンＢ(7)，Ｂ(8)が連動して移動し、それに伴い各ボーンＢ(7)，Ｂ(8)にそれぞれ関連付けられた複数のポリゴン頂点Ｐの位置が連動して移動するので、眉毛の形状も、図１１（ｂ）に示すように、眉尻が吊り上り、眉頭が垂れ下がった形状に変化する。
【０１４４】
部位回転用マーカＲ(1)を反時計回りに同じように回転させた場合は、部位変形用マーカＨ(3)，Ｈ(4)，Ｈ(5)がそれぞれ「−０．０１×ψ」だけ下側に移動し、部位変形用マーカＨ(2)，Ｈ(1)，Ｈ(6)がそれぞれ「＋０．０１×ψ」だけ上側に移動するから、表示装置７のディスプレイには、図１１（ｂ）とは逆に、目及び眉毛は、目頭及び眉頭が吊り上り、目尻及び眉尻が垂れ下がった形状に変化した顔画像が表示されることになる。
【０１４５】
従って、作業者は、鼻筋の右側にある目に対して部位回転用マーカＲを用いて目の回転操作を行うことにより顔画像の両目と両眉毛の形状を簡単に回転させることができる。なお、部位回転用マーカＲ(1)に設定された回転量ψと６つの部位変形用マーカＨ(1)〜Ｈ(6)に設定された移動量Ｄｙ(1)〜Ｄｙ(6)の情報は保存されるので、作業者は部位回転用マーカＲ(1)の操作情報や各部位変形用マーカＨ(1)〜Ｈ(6)の連動用のパラメータ（移動量Ｄｙ(1)〜Ｄｙ(6)）を確認することができる。
【０１４６】
次に、アニメーション編集について説明する。
【０１４７】
アニメーション画像は、標準の顔画像に対して顔の特定の部位を構成するポリゴン頂点Ｐとその部位に設けられたボーンＢ及びマーカＨ，Ｍ，Ｅ，Ｒの位置を少しずつ移動させた複数コマの顔画像の集合である。従って、アニメーションデータは、コマ毎に作成された顔の表面形状を表すデータで構成されている。各コマの顔の表面形状を表すデータは、多数のポリゴン頂点Ｐ、ボーンＢ及びマーカＨ，Ｍ，Ｅ，Ｒの位置座標で構成されるが、２コマ目以降の顔画像を構成する各ポリゴン頂点Ｐ、各ボーンＢ及び各マーカＨ，Ｍ，Ｅ，Ｒの位置座標は１コマ目の顔画像における位置座標に対して移動方向及び移動量の移動条件が与えられると算出できるので、２コマ目以降のコマの顔の表面形状を表すデータは、各ポリゴン頂点Ｐ、各ボーンＢ及び各マーカＨ，Ｍ，Ｅ，Ｒの初期位置（１コマ目の顔画像における位置）からの移動位置を予め設定された移動条件に基づいて算出するプログラムデータで構成されている。従って、１コマ目の顔の表面形状を表すデータだけが標準の顔画像の多数のポリゴン頂点Ｐ、ボーンＢ及びマーカＨ，Ｍ，Ｅ，Ｒの位置座標（初期位置の座標）で構成されている。
【０１４８】
アニメーションデータでは、アニメーション画像を再生する際、最初のコマは標準画像データと各ポリゴンに張り付けるテクスチャとに基づいて顔の表面形状を表す三次元形状画像が生成され、その三次元形状画像が表示装置７に表示されるが、２コマ目以降のコマは顔画像に含まれる各ポリゴン頂点Ｐ、各ボーンＢ及び各マーカＨ，Ｍ，Ｅ，Ｒの初期位置からの移動位置が算出され、その算出結果と各ポリゴンに張り付けるテクスチャとに基づいて顔の表面形状を表す三次元形状画像が生成されて表示装置７に表示される。
【０１４９】
本実施形態では、標準画像編集モードでゲームキャラクタの標準の顔の表面形状を変形させる編集を行うと、その編集結果がアニメーションデータに反映されるようになされている。すなわち、標準顔編集用プログラムには、作業者の操作によって入力装置６から編集処理終了の指令が入力されると、ＲＡＭ４に一次保存されている編集処理の処理結果（編集処理によって変化したポリゴン頂点Ｐ、ボーンＢ及びマーカＨ，Ｍ，Ｅ，Ｒの位置座標を含む顔画像データ）を外部記憶装置５の編集後の顔画像データの記憶領域に保存する処理と、外部記憶装置５に保存されている標準のアニメーションデータに含まれる標準の顔画像データや移動条件のデータを顔画像編集モードで変更された顔画像データや移動条件に変更する処理と、が含まれている。
【０１５０】
後者の処理は、具体的には顔画像編集処理で標準の顔画像内のいずれかの部位変形用マーカＨの位置が変更され、その部位変位用マーカＨに関連付けられたボーンＢやそのボーンＢに関連付けられたポリゴン頂点Ｐの位置が変更されると、アニメーションデータの１コマ目の顔画像内の当該部位変形用マーカＨ、当該ボーンＢ及び当該ポリゴン頂点Ｐにそれぞれ対応する部位変形用マーカＡＨ、当該ボーンＡＢ及び当該ポリゴン頂点ＡＰを同じ位置に変更するものである。なお、符号「ＡＨ」，「ＡＢ」，「ＡＰ」の「Ａ」はアニメーションデータのものであることを示している。
【０１５１】
１コマ目の顔画像内の部位変形用マーカＡＨ、ボーンＡＢ及びポリゴン頂点ＡＰの位置を自動的に変更することにより、当該部位変形用マーカＡＨの設けられた部位が大きさを変更するものではなく、単に形を変形するだけのものである場合は当該部位を構成する多数のポリゴン頂点ＡＰは、２コマ目以降の各コマでは標準の顔画像の場合と同様の移動条件で位置が変化するから、アニメーションデータを再生すると、変更後の部位の形状に対して標準の顔画像と同様の動きをさせることができる。
【０１５２】
例えば、アニメーションデータが目を閉じる動作（上瞼を上下する動作）を含む画像のデータで、顔画像編集処理で図４に示した目の目尻を下げる編集が行われた場合、アニメーションデータを再生すると、図４（ｂ）に示す目尻の下がった目に対して上瞼が標準の顔画像の場合と同様の移動量で上下に動く動作をする。顔画像編集処理で図６に示した目全体を鼻筋側に移動させる編集が行われた場合や図１１に示した目尻を吊り上げる編集が行われた場合も同様である。
【０１５３】
一方、顔画像編集処理で図９に示した目全体を拡大する編集が行われた場合は、１コマ目の顔画像内の目の部位変形用マーカＡＨ、ボーンＡＢ及びポリゴン頂点ＡＰの位置を変更するだけでなく、各コマの部位変形用マーカＡＨ、ボーンＡＢ及びポリゴン頂点ＡＰの初期位置からの移動量に拡縮倍率が反映される。
【０１５４】
例えば、図９の例で、部位変形用マーカＨ(3)に対応するアニメーションデータの部位変形用マーカＡＨ(3)が、標準の顔画像（図９（ａ）の目の大きさ）では最初のコマから第ｎコマまでの間でＹ軸の下方向に移動量Ｄnyだけ移動するように設定されているとすると、第ｎコマの部位変形用マーカＡＨ(3)の位置座標のＹ成分を決定する式は移動量Ｄnyに部位変形用マーカＡＨ(3)の拡縮倍率Ｋh3e1を乗じた（Ｄny×Ｋh3e1）に設定されている。部位変形用マーカＡＨ(3)に関連付けられているボーンＢ(j)やそのボーンＢ(j)に関連付けられているポリゴン頂点Ｐの第ｎコマにおける位置座標のＹ成分を決定する式も同様で、予め設定された移動量に拡縮倍率Ｋh3e1を乗じた式に設定されている。
【０１５５】
拡縮倍率Ｋh3e1のディフォルト値は「１．０」に設定されているので、標準の顔画像に対するアニメーション画像では、部位変形用マーカＡＨ(3)、部位変形用マーカＡＨ(3)に関連付けられているボーンＢ(j)及びそのボーンＢ(j)に関連付けられているポリゴン頂点Ｐは、それぞれ予め設定されている標準の移動量でＹ軸の下方向に移動するが、顔画像編集処理で目のサイズが、例えば、標準のサイズに対して拡縮倍率Ｋh3e1＝１．３で拡大された場合は、顔画像に対するアニメーション画像では、部位変形用マーカＡＨ(3)、部位変形用マーカＡＨ(3)に関連付けられているボーンＢ(j)及びそのボーンＢ(j)に関連付けられているポリゴン頂点Ｐは、標準の移動量を１．３倍した移動量でＹ軸の下方向に移動することになる。すなわち、目のサイズの拡縮倍率Ｋh3e1に応じて各コマのポリゴン頂点Ｐの初期位置からの移動量も連動して拡大又は縮小される。
【０１５６】
従って、本実施形態では、標準画像編集モードでゲームキャラクタの標準の顔画像を変形させる編集を行うと、自動的にその編集結果がアニメーションデータに反映されるので、標準画像編集の後で標準の顔画像を用いて作成されているアニメーションデータを用いて標準画像編集と同様の編集を行い、変形後の顔画像に対するアニメーションデータを作成することは基本的に必要とされない。しかしながら、標準顔画像の編集結果を反映したアニメーションデータを再生したとき、部位の変形量が大きすぎたりしてその部位の動きが不自然になったり、顔全体の表情として違和感が生じたりする場合があるので、その場合には標準顔画像の編集結果を反映したアニメーションデータに対して修正をする必要がある。
【０１５７】
本実施形態におけるアニメーション編集モードは、主としてそのようなアニメーションデータの修正をするためのモードである。本実施形態に係る顔画像編集プログラムは、アニメータがゲームソフトにおけるゲームキャラクタの標準画像やアニメーション画像を作成する場合に利用されるが、ゲームソフトに搭載することによってプレイヤがゲームキャラクタの標準の顔を好みの顔に編集する場合にも利用することができる。この場合は、顔画像の編集によって生じるアニメーション画像の不自然感や違和感などは顔画像の編集の仕方で緩和することができるので、プレイヤの編集作業の容易性や簡易性、ゲームソフトのデータ容量などを考慮し、標準顔編集用プログラムのみをゲームソフトに搭載するとよい。
【０１５８】
顔画像編集は１枚の標準モデルの顔画像について表面形状を変化させる編集であるが、アニメーション編集は、標準モデルの顔画像の口や目などの部位をコマ送りで変化させて「笑う」、「怒る」などの特定の顔の表情を示す一群のコマ画像について、コマ毎に顔画像の表面形状を変化させる編集である。従って、顔画像編集は１枚の顔画像に対する編集作業となるのに対し、アニメーション編集は多数の同一の顔画像に対する編集作業となる点が異なる。
【０１５９】
アニメーション編集は、前のコマの顔の所定の部位を微小変化させて各コマの顔の表面形状を作成するという作業を繰り返す編集であるから、コマ毎の顔の表面形状の編集でみれば、その編集作業は顔画像編集と基本的に同じである。従って、上述した顔画像編集用に設けた４種類の部位変形用マーカＨ、部位移動用マーカＭ、部位拡縮用マーカＥ及び部位回転用マーカＲをアニメーション編集にも適用することができる。
【０１６０】
しかしながら、顔画像編集では、木目細かい編集作業を可能にするために、各部位に各種類のマーカＨ，Ｍ，Ｅ，Ｒが比較的多く設定されているが、アニメーション編集では、主として前のコマの顔に付された部位の変化部分に対して微小な変化を付する作業となるので、顔画像編集用に設定されたマーカＨ，Ｍ，Ｅ，Ｒが全て必要になるということは少ない。そこで、本実施形態では、アニメーション編集における作業や編集データの管理の負担を軽減するために、アニメーション編集用の４種類の部位変形用マーカＨ、部位移動用マーカＭ、部位拡縮用マーカＥ及び部位回転用マーカＲの数を顔画像編集用よりも少なくしている。
【０１６１】
図１３は、目と眉毛の部位に設けられたアニメーション編集用の部位変形用マーカの一例を示す図である。
【０１６２】
例えば、目と眉毛には、図４（ａ）に示すように、顔画像編集用の部位変形用マーカＨとして目頭、目尻、上瞼の２箇所、下瞼の２箇所に合計６個の部位変形用マーカＨ(1)〜Ｈ(6)を設定していたが、アニメーション編集では、図１３に示すように、上瞼の２箇所と下瞼の１箇所の合計３箇所にそれぞれ部位変形用マーカＡＨ(2)，ＡＨ(3)，ＡＨ(5)が設けられ、目頭と目尻と下瞼の他の１箇所の３箇所には部位変形用マーカＡＨは設けられていない。すなわち、顔画像編集用の部位変形用マーカＨ(1)，Ｈ(4)，Ｈ(6)に対応する部位変形用マーカＡＨは設けられていない。
【０１６３】
なお、部位変形用マーカＡＨの符号「Ａ」は、アニメーション編集用であることを示している。後述する部位変形用マーカＡＨの移動量ＡＤや部位変形用マーカＡＨに関連付けられたボーンＡＢやそのボーンＡＢに設定される倍率ＡＫの符号「Ａ」についても同様である。
【０１６４】
顔画像編集用では、部位変形用マーカＨ(1)〜Ｈ(6)はボーンＢ(1)〜Ｂ(6)と同じ位置に設けられ、目頭のボーンＢ(1)と目尻のボーンＢ(4)は目頭の部位変形用マーカＨ(1)と目尻の部位変形用マーカＨ(4)とでそれぞれ移動させることができたが、アニメーション編集用では、目頭の部位変形用マーカＨ(1)と目尻の部位変形用マーカＨ(4)と下瞼の部位変形用マーカＨ(6)に対応する部位変形用マーカＡＨを設けていないので、ボーンＡＢ(1)，ＡＢ(4)，ＡＢ(6)をそれぞれ部位変形用マーカＡＨ(2)，ＡＨ(3)，ＡＨ(5)で移動させる必要がある。
【０１６５】
そこで、本実施形態では、目尻のボーンＡＢ(4)を部位変形用マーカＡＨ(3)と部位変形用マーカＡＨ(5)とに関連付け、部位変形用マーカＡＨ(3)又は部位変形用マーカＡＨ(5)が移動すると、それに連動してボーンＡＢ(4)を移動させるようにしている。ボーンＡＢ(4)には、連動用のパラメータとして部位変形用マーカＡＨ(3)の移動量ＡＤh3と部位変形用マーカＡＨ(5)の移動量ＡＤh5に対してそれぞれ所定の倍率ＡＫb4h3，ＡＫb4h5（例えば、いずれも０．２５）を乗じた移動量が設定される関数が設定されている。
【０１６６】
なお、「ＡＫb4h3」の添え字の各符号「ｂ」，「４」,「ｈ」，「３」は、それぞれ「アニメーション編集用のボーン」、「アニメーション編集用のボーンのボーン番号」、「アニメーション編集用の部位変形用マーカ」、「アニメーション編集用の部位変形用マーカのマーカ番号」を示している。「ＡＫb4h5」の添え字についても同様である。
【０１６７】
部位変形用マーカＡＨ(3)及び部位変形用マーカＡＨ(5)が移動すると、ボーンＡＢ(4)は、部位変形用マーカＡＨ(3)の移動ベクトルと部位変形用マーカＡＨ(5)の移動ベクトルを合成した方向に移動する。部位変形用マーカＡＨ(3)，ＡＨ(5)の移動前の位置座標をそれぞれ（ＡＸh3，ＡＹh3，ＡＺh3），（ＡＸh5，ＡＹh5，ＡＺh5）とし、移動後の位置座標をそれぞれ（ＡＸh3’，ＡＹh3’，ＡＺh3’），（ＡＸh5’，ＡＹh5’，ＡＺh5’）とすると、部位変形用マーカＡＨ(3)，ＡＨ(5)の各移動ベクトルのＸ，Ｙ，Ｚ成分（ΔＸh3，ΔＹh3，ΔＺh3），（ΔＸh5，ΔＹh5，ΔＺh5）は、
（ΔＸh3，ΔＹh3，ΔＺh3）＝（ＡＸh3’−ＡＸh3，ＡＹh3’−ＡＹh3，ＡＺh3’−ＡＺh3）
（ΔＸh5，ΔＹh3，ΔＺh3）＝（ＡＸh5’−ＡＸh5，ＡＹh5’−ＡＹh5，ＡＺh5’−ＡＺh5）
である。
【０１６８】
ボーンＡＢ(4)の移動前後の位置座標をそれぞれ（ＡＸb4，ＡＹb4，ＡＺb4），（ＡＸb4’，ＡＹb4’，ＡＺb4’）とすると、ボーンＡＢ(4)の移動ベクトルのＸ，Ｙ，Ｚ成分（ΔＸb4，ΔＹb4，ΔＺb4）は、（ΔＸb4，ΔＹb4，ΔＺb4）＝（ＡＸb4’−ＡＸb4，ＡＹb4’−ＡＹb4，ＡＺb4’−ＡＺb4）である。ボーンＡＢ(4)の移動ベクトルは、部位変形用マーカＡＨ(3)の移動ベクトルと部位変形用マーカＡＨ(5)の移動ベクトルを合成したものであるから、ボーンＡＢ(4)の移動ベクトルのＸ，Ｙ，Ｚ成分、すなわち、Ｘ，Ｙ，Ｚの各軸方向の移動量（ΔＸb4，ΔＹb4，ΔＺb4）は、ΔＸb4＝ΔＸh3×ＡＫb4＋ΔＸh5×ＡＫb5、ΔＹb4＝ΔＹh3×ＡＫb4＋ΔＹh5×ＡＫb5、ΔＺb4＝ΔＺh3×ＡＫb4＋ΔＺh5×ＡＫb5である。図１３の例で、ＡＫb4＝ＡＫb5＝０．２５に設定していると、部位変形用マーカＡＨ(3)及び部位変形用マーカＡＨ(5)が移動すれば、ボーンＡＢ(4)は、Ｘ，Ｙ，Ｚの各軸方向にそれぞれ（ΔＸh3＋ΔＸh5）×０．２５、（ΔＹh3＋ΔＹh5）×０．２５、（ΔＺh3＋ΔＺh5）×０．２５だけ移動する。
【０１６９】
また、下瞼のボーンＢ(6)を部位変形用マーカＡＨ(2)と部位変形用マーカＡＨ(5)とに関連付け、部位変形用マーカＡＨ(2)又は部位変形用マーカＡＨ(5)が移動すると、それに連動してボーンＡＢ(6)を移動させるようにしている。この場合は、ボーンＡＢ(6)が横方向に部位変形用マーカＡＨ(5)と並んでいるので、部位変形用マーカＡＨ(5)のＹ軸方向の移動に対してはボーンＡＢ(6)を部位変形用マーカＡＨ(5)と同じ移動量で移動させ、部位変形用マーカＨ(5)のＸ軸方向やＺ軸方向の移動に対して部位変形用マーカＨ(5)の移動量に対して所定の倍率ＡＫのb6h5（例えば、０．２５）を乗じた移動量で移動させるようにしている。
【０１７０】
なお、眉毛については数が少ないので、眉頭用と眉尻用の２個の部位変形用マーカＡＨ(7)，ＡＨ(8)がアニメーション編集用にも設定されている。また、顔画像編集用では、眉毛の部位変形用マーカＨ(7)，Ｈ(8)をそれぞれ目の部位変形用マーカＨ(2)，Ｈ(3)に連携させ、目の編集で部位変形用マーカＨ(2)，Ｈ(3)が移動すると、それに連動して眉毛の部位変形用マーカＨ(7)，Ｈ(8)を連動させるようにしていたが、その構成はアニメーション編集用でも同様に適用され、眉毛の部位変形用マーカＡＨ(7)，ＡＨ(8)はそれぞれ目の部位変形用マーカＡＨ(2)，ＡＨ(3)に連携するように関連付けられている。従って、アニメーション編集でも顔画像編集と同様に目の変形に連動して眉毛をバランス良く移動させることができる。
【０１７１】
一方、顔画像編集用の顔の表面形状に設定されている部位移動用マーカＭ、部位拡縮用マーカＥ及び部位回転用マーカＲは、アニメーション用の各コマの顔の表面形状にも同様に設定されている。すなわち、目の瞳孔の位置に部位移動用マーカＡＭ(1)、部位拡縮用マーカＡＥ(1)、部位回転用マーカＡＲ(1)が１つだけ設けられている。部位移動用マーカＡＭ(1)、部位拡縮用マーカＡＥ(1)及び部位回転用マーカＡＲ(1)の各マーカを用いて、部位を全体的に移動させたり、部位を全体的に拡縮したり、部位を全体的に回転させたりする編集操作は、上述した顔画像編集の場合と同様であるので、ここではその説明を省略する。
【０１７２】
次に、顔画像編集における顔の表面形状の編集処理について、図１４のフローチャートに従って説明する。なお、以下の説明では、顔の目の部位の編集作業を例に説明する。
【０１７３】
作業者が入力装置６を操作して顔画像編集モードを選択すると、ＣＰＵ２はＲＯＭ３に記憶されている標準顔編集用プログラムと標準顔画像データをＲＡＭ４に読み出し、その標準顔編集用プログラムを実行する。図１４に示すフローチャートは、ＣＰＵ２が標準顔編集用プログラムを実行したときの処理内容のアルゴリズムを示すものである。
【０１７４】
ＣＰＵ２は、まず、ＲＡＭ４に読み出した顔画像編集用のキャラクタの顔画像のリストを表示装置７に表示し、作業者に編集対象の顔画像を選択させる（Ｓ１）。この編集対象の顔画像には、標準の顔の表面形状（ディフォルトの表面形状）と標準の顔の表面形状に対して既に編集が行われた表面形状の画像が含まれている。
【０１７５】
作業者の操作により入力装置６から編集対象の顔画像が選択されると、ＣＰＵ２は、その顔画像のデータとテクスチャデータを用いて図２に示す三次元形状画像を生成する（Ｓ２）。この場合、標準の顔の表面形状が選択されていれば、ＣＰＵ２は、標準顔画像データとテクスチャデータを用いて三次元形状画像を生成し、標準の顔の三次元形状画像を表示装置７の表示画面７ａに表示する（Ｓ３、図２、図４（ａ）参照)。
【０１７６】
一方、編集後の顔画像が選択されていれば、ＣＰＵ２は、編集後の顔画像のデータとテクスチャデータを用いて図２に示す三次元形状画像を生成し（Ｓ２）、編集後の顔の三次元形状画像を表示装置７の表示画面７ａに表示する（Ｓ３)。
【０１７７】
表示画面７ａには顔画像がポリゴンモデルで表示されるが、その表面形状には部位の形状を変形させる操作点として部位変形用マーカＨが表示されている（図４（ａ）参照）。なお、本実施形態では部位の形状を変形させる操作点として部位移動用マーカＭ、部位拡縮用マーカＥ及び部位回転用マーカＲを用意しているが、標準の編集画面ではこれらのマーカは表示されておらず、作業者の選択操作によって表示されるようになっている（Ｓ９，Ｓ１０参照）。これは、同一の位置に部位移動用マーカＭ、部位拡縮用マーカＥ及び部位回転用マーカＲが重複して表示される場合があり（図６（ａ），図９（ａ），図１１（ａ）参照）、全てのマーカを表示させると、却って操作点の表示が煩雑になり、操作がし難くなるからである。
【０１７８】
作業者が入力装置６を操作して所望の部位変形用マーカＨ(i)（ｉは部位変形用マーカＨのマーカ番号）を指定し、その部位変形用マーカＨ(i)を所望の位置に移動させる操作を行うと（Ｓ４：ＹＥＳ）、ＣＰＵ２は、ＸＹＺ座標系におけるその部位変形用マーカＨ(i)の移動前の位置座標と移動後の位置座標を算出し、その算出結果から移動方向Ｎhiと移動量Ｄhiを算出する（Ｓ５）。更に、ＣＰＵ２は、移動操作があった部位変形用マーカＨ(i)に連動対象として関連付けられている１又は２以上のボーンＢ(j)（ｊはボーン番号）を検索し、部位変形用マーカＨ(i)の移動内容とそのボーンＢ(j)に設定されている連動用のパラメータ（θbjhi,Ｋbjhi）とに基づいて各ボーンＢ(j)の移動後の位置座標を算出する（Ｓ６）。また、ＣＰＵ２は、各ボーンＢ(j)に連動対象として関連付けられている複数のポリゴン頂点Ｐ(t)（ｔはポリゴン番号）の移動後の位置座標を算出する（Ｓ７）。ポリゴン頂点Ｐ(t)の移動後の位置座標もボーンＢ(j)の移動後の位置座標の算出と同様に、ボーンＢ(j)の移動内容と各ポリゴン頂点Ｐ(t)に設定されている連動用のパラメータ（θptbj,Ｋbjhi）とに基づいて算出される。
【０１７９】
そして、ＣＰＵ２は、部位変形用マーカＨ(i)と当該部位変形用マーカＨ(i)に連動する１又は２以上のボーンＢ(j)及び複数のポリゴン頂点Ｐ(t)の位置座標のデータを、算出した移動後の位置座標のデータに変化させるとともに、表示画面７ａに表示された顔画像における表示位置を移動後の位置に変化させる（Ｓ８、図４（ｂ）の例参照）。
【０１８０】
続いて、ＣＰＵ２は、入力装置６から編集作業終了の操作が入力されたか否かを判断し（Ｓ１６）、編集作業終了の操作がなければ（Ｓ１６：ＮＯ）、ステップＳ４に戻り、編集作業終了の操作があれば（Ｓ１６：ＹＥＳ）、ＣＰＵ２は、部位変形用マーカＨ(i)に対して行われた操作内容とその操作内容に基づくボーンＢ(j)及びポリゴン頂点Ｐ(t)の移動内容の演算結果を顔画像のデータとともに外部記憶装置５に記憶した後（Ｓ１７）、編集処理を終了する。
【０１８１】
ステップＳ４で作業者が部位変形用マーカＨの操作をせず（Ｓ４：ＮＯ）、入力装置６を操作して部位移動用マーカＭ、部位拡縮用マーカＥ及び部位回転用マーカＲのいずれかを指定し、そのマーカの表示を指定すると（Ｓ９：ＹＥＳ）、ＣＰＵ２は、表示画面７ａに表示されている顔画像に指定されたマーカを表示させる（Ｓ１０、図６（ａ），図９（ａ）、図１１（ａ）の例参照）。
【０１８２】
作業者が入力装置６を操作して所望の部位移動用マーカＭ、部位拡縮用マーカＥ又は部位回転用マーカＲを指定し、そのマーカに対して所定の操作情報を入力すると（Ｓ１１：ＹＥＳ）、ＣＰＵ２は、指定されたマーカの設定されている部位に設けられている複数の部位変形用マーカＨ(i)に対して、入力装置６から入力された操作情報と各部位変形用マーカＨ(i)に設定されている連動用のパラメータに基づいてＸＹＺ座標系における移動位置を算出し、その算出結果から移動方向と移動量を算出する（Ｓ１２）。
【０１８３】
例えば、作業者が部位移動用マーカＭを表示させ、目の部位移動用マーカＭ(1)に対して移動操作を行うと、ＣＰＵ２は、ＸＹＺ座標系におけるその部位移動用マーカＭ(１)の移動前の位置（（Ｘm1，Ｙm1，Ｚm1）と移動後の位置（Ｘm1’，Ｙm1’，Ｚm1’)を算出し、その算出結果から移動方向θm1と移動量Ｄm1を算出する。そして、ＣＰＵ２は、目に設定されている６つの部位変形用マーカＨ(i)（ｉ＝１〜６）の移動位置（Ｘhi’，Ｙhi’，Ｚhi’)及びこれらに直結されているボーンＢ(i)の移動位置（Ｘbi’，Ｙbi’，Ｚbi’)を算出する（図６，図７の例参照）。
【０１８４】
また、作業者が部位拡縮用マーカＥを表示させ、例えば、目の部位拡縮用マーカＥ(1)に対して拡大又は縮小の倍率ｘを入力すると、ＣＰＵ２は、目に設定されている６つの部位変形用マーカＨ(i)（ｉ＝１〜６）に対して、それぞれ移動方向φhie1と移動距離Ｌ(i)’＝Ｋhie1×Ｌ(i)を算出する（図９，図１０の例参照）。
【０１８５】
また、作業者が部位回転用マーカＲを表示させ、例えば、目の部位拡縮用マーカＲ(1)に対して回転操作を行うと、ＣＰＵ２は、目に設定されている６つの部位変形用マーカＨ(i)（ｉ＝１〜６）に対してそれぞれ移動量Ｄｙ(i)＝Ｆｉ（ψ)（ｉ＝１〜６）を算出する（図１１，図１２の例参照）。
【０１８６】
更に、ＣＰＵ２は、移動した部位変形用マーカＨに関連付けられている１又は２以上のボーンＢ(j)（ｊはボーンの番号）を検索し、部位変形用マーカＨの移動内容とそのボーンＢ(j)に設定されている連動用のパラメータとに基づいて各ボーンＢ(j)の移動後の位置座標（Ｘbj’，Ｙbj’，Ｚbj’)を算出する（Ｓ１３）。また、ＣＰＵ２は、各ボーンＢ(j)に関連付けられている複数のポリゴン頂点Ｐ(k)（ｋはポリゴン頂点の番号）の移動後の位置座標（Ｘpk’，Ｙpk’，Ｚpk’)を算出する（Ｓ１４）。
【０１８７】
そして、ＣＰＵ２は、部位変形用マーカＨと当該部位変形用マーカＨに連動する１又は２以上のボーンＢ(j)及び複数のポリゴン頂点Ｐ(k)の位置座標のデータを、算出した移動後の位置座標のデータに変化させるとともに、表示画面７ａに表示された顔画像における表示位置を移動後の位置座標に変化させる（Ｓ１５、図６（ｂ），図９（ｂ），図１１（ｂ）の例参照）。
【０１８８】
続いて、ＣＰＵ２は、入力装置６から編集作業終了の操作が入力されたか否かを判断し（Ｓ１６）、編集作業終了の操作がなければ（Ｓ１６：ＮＯ）、ステップＳ４に戻って上述した編集処理を行い、編集作業終了の操作があれば（Ｓ１６：ＹＥＳ）、ＣＰＵ２は、各マーカに対して行われた操作内容とその操作内容に基づくボーンＢ及びポリゴン頂点Ｐの移動内容の演算結果を顔の表面形状のデータとともに外部記憶装置５に記憶した後（Ｓ１７）、編集処理を終了する。
【０１８９】
なお、アニメーション編集は、作業者が修正したい動きの部分で指定したコマの顔画像に対して上述した顔画像編集における編集処理を行うことになるから、指定したコマの顔画像に対する編集作業は基本的に顔画像編集の顔画像に対する編集作業と同じである。
【０１９０】
従って、図１４に示すフローチャートにおいて、作業者が修正したい動きの部分で指定したコマの顔画像の編集作業が終了した場合、その編集内容を外部記憶装置５に記憶する（Ｓ１６）。なお、他に修正したいコマがある場合には、そのコマの顔画像の編集をするために、ステップＳ１に戻る内容に修正すれば、アニメーション編集における編集処理を示すフローチャートにすることができる。
【０１９１】
以上のように、本実施形態によれば、従来の顔画像に設けられたボーンＢとは別に、１又は２以上のボーンＢを移動させるためのマーカＨ，Ｍ，Ｅ，Ｒを設け、それらのマーカＨ，Ｍ，Ｅ，Ｒに対する操作に基づいて１又は２以上のボーンＢを移動させるようにしているので、ボーンＢを変位させて顔の表面形状を変化させる編集作業が容易になる。
【０１９２】
特に、部位毎に、各部位に設定されている複数のボーンＢを纏めて同じ方向に移動させる部位移動用マーカＭや、複数のボーンＢを纏めて放射状に移動させる部位拡縮用マーカＥや、複数のボーンＢを纏めて同じ方向に回転移動させる部位回転用マーカＲを設けているので、これらのマーカＭ，Ｅ，Ｒを操作することにより顔面における部位の位置や大きさや向きなどを簡単に変更することができる。
【０１９３】
また、各部位に設定された部位変形用マーカＨと近接若しくは隣接している部位に設定された部位変形用マーカＨ（例えば、目に設定された部位変形用マーカＨと眉毛に設定された部位変形用マーカＨなど）を連携させ、一方の部位変形用マーカＨを操作して一方の部位を変形させたとき、他の部位変形用マーカＨも連動して移動させるようにしているので、一方の部位の変形の影響を他の部位の変形にも好適に反映することができる。
【０１９４】
また、標準画像編集モードでゲームキャラクタの標準の顔画像を変形させる編集を行うと、自動的にその編集結果がアニメーションデータに反映され、アニメーションデータを再生すると、編集後の顔画像に対して所定の動作をさせることができる。従って、編集後の顔画像に対する動きが不自然であったり、違和感があったりして部分的に修正が必要な場合は別として、基本的に標準の顔画像を用いて作成されているアニメーションデータに対して改めて標準画像編集と同様の編集を行う必要がないので、アニメーションデータに対する編集効率が向上する。
【０１９５】
編集後の顔画像に対するアニメーションに対して部分的に編集をする場合でも、標準画像編集と同様に部位変形用マーカＡＨ、部位移動用マーカＡＭ、部位拡縮マーカＡＥ及び部位回転用マーカＡＲの操作によって所望のコマの顔の表面形状を簡単に変形できるので、アニメーションデータの編集作業を大幅に低減することができる。
【０１９６】
なお、上記実施形態では、顔の目の部位を例に本発明に係る顔形状編集方法を説明したが、目以外の口や鼻などの部位や顔の輪郭や髪形や髭などについても同様の方法が適用できることは言うまでもない。また、人の顔の表面形状だけでなく、動物や他の生き物の顔の表面形状の編集についても適用することができる。
【０１９７】
また、上記実施形態では、主としてゲームキャラクタの顔画像を作成する際の標準の顔画像の編集やアニメーション画像の編集をするための顔画像編集装置として説明したが、本発明に係る標準顔編集用プログラムをゲームソフトに搭載すれば、ゲームソフトに設けられたキャラクタの標準の顔画像をプレイヤに好みの顔に編集させることができる。すなわち、ゲームソフトにプレイヤによるキャラクタの顔画像の編集機能を持たせることができる。
【０１９８】
本発明に係る標準顔編集用プログラムでは、従来のボーンとは別に、そのボーンを個々に若しくは複数個を纏めて一定の纏まりを持った移動させるための部位変形用マーカＨ、部位移動用マーカＭ、部位拡縮用マーカＥ及び部位回転用マーカＲを設けているので、顔画像の編集経験の少ないプレイヤであっても比較的容易にキャラクタの顔画像を所望の形状に編集することができる。
【０１９９】
また、プレイヤがキャラクタの標準の顔画像に対して好みの修正をした場合、修正後の顔画像のデータ（移動させたボーンＢやポリゴン頂点Ｐの位置座標のデータなど）がアニメーションデータに反映され、そのアニメーションデータを再生すると、修正後の顔画像に対して所定の動きをさせることができるので、プレイヤはアニメーションデータを修正することなく、顔画像を修正したキャラクタをゲーム空間に登場させてゲームを楽しむことができる。
【０２００】
すなわち、ゲーム画面にはゲーム装置内のＲＡＭからアニメーションデータとして作成されている各コマの画像が所定の周期でＶＲＡＭに読み出されてキャラクタの動画が再生されるが、アニメーションデータは、標準サイズの画像を元に作成されているので、例えば、キャラクタがまばたきをするアニメーションデータを再生した場合は、その顔の画像は、標準の顔画像の上瞼を上下に動かした画像となる。
【０２０１】
しかしながら、例えば、プレイヤが部位拡縮用マーカＥを用いてキャラクタの標準の顔画像の目のサイズを倍率Ｍで拡大する編集をした場合、上述したように、編集後の顔画像がアニメーションの１コマ目の顔画像に変更され、目に設定された部位拡縮用マーカＥに入力された倍率Ｍはコマ間のボーンＢの移動量に乗じられるように設定されているので、キャラクタのまばたきをする顔のアニメーションデータとして作成されている各コマの顔画像をＶＲＡＭに読み出す処理を行うと、コマ間でのキャラクタの目の上瞼の移動量は標準の移動量のＭ倍の移動量となるから、再生されるアニメーション画像は、編集後の顔画像の上瞼を上下に動かした画像となる。
【０２０２】
このように、ＶＲＡＭにアニメーションデータの各コマの顔画像を読み出すときに、目の上瞼が動く量を目に設定されている部位拡縮用マーカＥに入力された倍率Ｍで変化させることで、プレイヤが編集したキャラクタの顔画像についてまばたきをさせたアニメーション画像をゲーム画面に表示することができる。従って、例えば、編集したキャラクタの顔画像について編集前の顔画像と同様の上瞼の動きをさせた場合には、上瞼が下瞼に完全に閉じないという不都合が生じる場合があるが、上記のようにアニメーションデータの再生時に顔画像編集で部位拡縮用マーカＥに入力された倍率Ｍが反映されるので、プレイヤは上記の不都合を感じることなく顔画像を修正したキャラクタでゲームを楽しむことができる。
【０２０３】
なお、上記の例では目の部位について説明したが、口や鼻などの他の部位についても同様である。また、部位拡縮用マーカＥだけでなく、部位移動用マーカＭや部位回転用マーカＲについても顔画像編集で入力された操作情報をアニメーションデータの再生時に反映して各コマの顔画像を変化させることで、上記の効果を奏することができる。
【０２０４】
また、上記実施形態では、ポリゴンモデルによって顔の表面形状が表現される場合について説明したが、本発明は、顔の表面形状が多数の点で表現され、それらの点の位置を移動させて表面形状を変形させる編集方法に広く適用することができる。例えば、本発明は、ＮＵＲＢＳ（Non-Uniform Rational B-Spline）曲線によって表現させる表面形状の形状編集にも適用することができる。
【０２０５】
また、上記実施形態では、ゲームソフトに登場する人型のキャラクタの顔の表面形状の編集方法について説明したが、本発明がゲームソフトに登場するキャラクタの顔画像の編集に限定されないことは言うまでもない。
【符号の説明】
【０２０６】
１  顔画像編集装置
２  ＣＰＵ
３  ＲＯＭ
４  ＲＡＭ
５  外部記憶装置
６  入力装置
７  表示装置
７ａ  表示画面
Ｐ  ポリゴン頂点（多角形の頂点）
Ｂ  ボーン（制御点）
ＡＢ  アニメーション画像におけるボーン（第２の制御点）
Ｈ  標準顔画像における部位変形用マーカ（第１の操作点）
ＡＨ  アニメーション画像における部位変形用マーカ（第３の操作点）
Ｍ  標準顔画像における部位移動用マーカ（第２の操作点）
Ｅ  標準顔画像における部位拡縮用マーカ（第２の操作点）
Ｒ  標準顔画像における部位回転用マーカ（第２の操作点）
【図１】
0005620743.tif 000002
【図３】
0005620743.tif 000003
【図４】
0005620743.tif 000004
【図５】
0005620743.tif 000005
【図６】
0005620743.tif 000006
【図７】
0005620743.tif 000007
【図８】
0005620743.tif 000008
【図９】
0005620743.tif 000009
【図１０】
0005620743.tif 000010
【図１１】
0005620743.tif 000011
【図１２】
0005620743.tif 000012
【図１３】
0005620743.tif 000013
【図１４】
0005620743.tif 000014
【図２】
0005620743.tif 000015