(57)【要約】【課題】快適性及び楽しさなどの印象を鑑賞者に与える動画像を、人の操作の介在無しに生成することができるカメラワーク制御装置、及びカメラワーク制御プログラムを提供する。【解決手段】カメラワーク制御装置１００は、入力画像に基づく出力画像に予め定められた単位領域毎に、当該出力画像の距離分布を算出する算出部１１０と、距離分布に応じて、動画像としての出力画像におけるカメラワークを制御する制御部１４０とを備える。また、算出部１１０は、入力画像に関連付けられた距離情報に基づいて、距離分布を算出する。また、算出部１１０は、入力画像としてのコンピュータグラフィックスから算出された距離情報に基づいて、距離分布を算出する。【選択図】図１
2014081706.tif 000002
【特許請求の範囲】
【請求項１】
入力画像に基づく出力画像に予め定められた単位領域毎に、当該出力画像の距離分布を算出する算出部と、
前記距離分布に応じて、動画像としての前記出力画像におけるカメラワークを制御する制御部と、
を備えることを特徴とするカメラワーク制御装置。
【請求項２】
前記算出部は、前記入力画像に関連付けられた距離情報に基づいて、前記距離分布を算出することを特徴とする請求項１に記載のカメラワーク制御装置。
【請求項３】
前記算出部は、前記入力画像としてのコンピュータグラフィックスから算出された距離情報に基づいて、前記距離分布を算出することを特徴とする請求項２に記載のカメラワーク制御装置。
【請求項４】
前記制御部は、前記カメラワークとして、カメラアングルを制御することを特徴とする請求項１から請求項３のいずれか一項に記載のカメラワーク制御装置。
【請求項５】
前記制御部は、前記距離分布に応じたオプティカルフローに基づいて、前記カメラワークを制御することを特徴とする請求項１から請求項４のいずれか一項に記載のカメラワーク制御装置。
【請求項６】
前記制御部は、前記オプティカルフローの勾配に基づいて、前記カメラワークを制御することを特徴とする請求項５に記載のカメラワーク制御装置。
【請求項７】
前記算出部は、前記入力画像に予め定められた被写体毎の興味度に応じて、前記出力画像における前記被写体毎の興味度の分布を算出し、
前記制御部は、前記出力画像における前記被写体毎の興味度の分布に基づいて、前記カメラワークを制御することを特徴とする請求項１から請求項６のいずれか一項に記載のカメラワーク制御装置。
【請求項８】
前記制御部は、前記カメラワークとして、カメラパスを制御することを特徴とする請求項１から請求項７のいずれか一項に記載のカメラワーク制御装置。
【請求項９】
コンピュータに、
入力画像に基づく出力画像に予め定められた単位領域毎に、当該出力画像の距離分布を算出する手順と、
前記距離分布に応じて、動画像としての前記出力画像におけるカメラワークを制御する手順と、
を実行させるためのカメラワーク制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラワーク制御装置、及びカメラワーク制御プログラムに関する。
【背景技術】
【０００２】
鑑賞者の視聴環境に最適化されたコンテンツ画像（ユニバーサルコンテンツ画像）を生成することを目的に、動画像が鑑賞者に与える感性的効果（例えば、画像の迫力感）が調査されている。例えば、画像生成装置は、カメラワークを自由に変化させることができるというＶＲ（Ｖｉｒｔｕａｌ Ｒｅａｌｉｔｙ）の特徴を活用し、同一の原カメラワークから、動きの異なる画像を生成する。感性的効果（主観的印象）は、動きの異なる画像を評価者が鑑賞者に提示し、自己の受けた印象の強さを鑑賞者が評価者に報告するという主観評価法により評価される。特許文献１には、鑑賞者の嗜好に応じた動画像を生成することを目的とした画像生成装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２６２３９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示された画像生成装置は、快適さや楽しさなどを強調するためのカメラワーク付加情報を人の操作の介在により予め作成しておく必要があり、快適性及び楽しさなどの印象を鑑賞者に与える動画像を、人の操作の介在無しには生成することができないという問題がある。そのため、特許文献１に開示された画像生成装置は、鑑賞者がカメラを自分で操作する対話型ＶＲなどへの適用が制限される。
【０００５】
本発明は、前記の点に鑑みてなされたものであり、快適性及び楽しさなどの印象を鑑賞者に与える動画像を、人の操作の介在無しに生成することができるカメラワーク制御装置、及びカメラワーク制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一態様は、入力画像に基づく出力画像に予め定められた単位領域毎に、当該出力画像の距離分布を算出する算出部と、前記距離分布に応じて、動画像としての前記出力画像におけるカメラワークを制御する制御部と、を備えることを特徴とするカメラワーク制御装置である。
【０００７】
また、本発明の一態様は、前記算出部が、前記入力画像に関連付けられた距離情報に基づいて、前記距離分布を算出することを特徴とするカメラワーク制御装置である。
【０００８】
また、本発明の一態様は、前記算出部が、前記入力画像としてのコンピュータグラフィックスから算出された距離情報に基づいて、前記距離分布を算出することを特徴とするカメラワーク制御装置である。
【０００９】
また、本発明の一態様は、前記制御部が、前記カメラワークとして、カメラアングルを制御することを特徴とするカメラワーク制御装置である。
【００１０】
また、本発明の一態様は、前記制御部が、前記距離分布に応じたオプティカルフローに基づいて、前記カメラワークを制御することを特徴とするカメラワーク制御装置である。
【００１１】
また、本発明の一態様は、前記制御部が、前記オプティカルフローの勾配に基づいて、前記カメラワークを制御することを特徴とするカメラワーク制御装置である。
【００１２】
また、本発明の一態様は、前記算出部が、前記入力画像に予め定められた被写体毎の興味度に応じて、前記出力画像における前記被写体毎の興味度の分布を算出し、前記制御部が、前記出力画像における前記被写体毎の興味度の分布に基づいて、前記カメラワークを制御することを特徴とするカメラワーク制御装置である。
【００１３】
また、本発明の一態様は、前記制御部が、前記カメラワークとして、カメラパスを制御することを特徴とするカメラワーク制御装置である。
【００１４】
また、本発明の一態様は、コンピュータに、入力画像に基づく出力画像に予め定められた単位領域毎に、当該出力画像の距離分布を算出する手順と、前記距離分布に応じて、動画像としての前記出力画像におけるカメラワークを制御する手順と、を実行させるためのカメラワーク制御プログラムである。
【発明の効果】
【００１５】
本発明によれば、制御部は、距離分布に応じて、動画像としての出力画像におけるカメラワークを制御する。これにより、カメラワーク制御装置、及びカメラワーク制御プログラムは、快適性及び楽しさなどの印象を鑑賞者に与える動画像を、人の操作の介在無しに生成することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態における、カメラワーク制御装置の構成例を示すブロック図である。
【図２】本発明の一実施形態における、コンピュータグラフィックス及びデプス画像の例を示す図である。
【図３】本発明の一実施形態における、透視投影変換を説明するための図である。
【図４】本発明の一実施形態における、カメラパスの例を示す図である。
【図５】本発明の一実施形態における、オプティカルフローを示す出力画像の例を示す図である。
【図６】本発明の一実施形態における、出力画像に予め定められた領域を示す図である。
【図７】本発明の一実施形態における、直線のカメラパスと、オプティカルフローとの関係例を示す図である。
【図８】本発明の一実施形態における、曲線のカメラパスと、オプティカルフローとの関係例を示す図である。
【図９】本発明の一実施形態における、カメラアングルの例を示す図である。
【図１０】本発明の一実施形態における、被写体毎の興味度の分布例を示す図である。
【図１１】本発明の一実施形態における、カメラの位置に応じた興味度の変化例を示す図である。
【図１２】本発明の一実施形態における、カメラパスの終点の例を示す図である。
【図１３】本発明の一実施形態における、オプティカルフローと閾値との関係例を示す図である。
【図１４】本発明の一実施形態における、終点でのカメラアングルの例を示す図である。
【図１５】本発明の一実施形態における、カメラパスの終点を定める動作手順の例を示すフローチャートである。
【図１６】本発明の一実施形態における、直線のカメラパスを定める動作手順の例を示すフローチャートである。
【図１７】本発明の一実施形態における、オプティカルフローを算出する動作手順の例を示すフローチャートである。
【図１８】本発明の一実施形態における、興味度の分布を算出する動作手順の例を示すフローチャートである。
【図１９】本発明の一実施形態における、カメラワークを制御する動作手順の例を示すフローチャートである。
【発明を実施するための形態】
【００１７】
本発明の一実施形態について図面を参照して詳細に説明する。図１には、カメラワーク制御装置の構成例が、ブロック図により示されている。カメラワーク制御装置１００は、快適性及び楽しさなどの印象を鑑賞者に与える動画像を生成する。カメラワーク制御装置１００は、算出部１１０と、記憶部１２０と、操作部１３０と、制御部１４０と、表示部１５０とを備える。
【００１８】
算出部１１０は、入力画像としてのコンピュータグラフィックス（Ｃｏｍｐｕｔｅｒ Ｇｒａｐｈｉｃｓ：ＣＧ）を示す三次元空間データ（シーンデータ）を、記憶部１２０から読み込む。算出部１１０は、この仮想的な三次元空間に定められたカメラパス（移動経路）をカメラが移動した場合における、入力画像に基づく出力画像の距離分布を算出する。また、算出部１１０は、入力画像に基づく出力画像の距離分布に基づいて、入力画像に基づく出力画像のオプティカルフローを算出する。なお、距離分布とオプティカルフローとは、逆数の関係にある。
【００１９】
ここで、オプティカルフローとは、画像における動きの分布を示すベクトルである。入力画像が実写画像である場合、算出部１１０は、ブロックマッチング法などの画像処理により、動画像としての入力画像に含まれるフレーム間の差分に基づいて、入力画像に基づく出力画像のオプティカルフローを算出する。一方、入力画像がコンピュータグラフィックスである場合、入力画像の三次元空間を表す幾何学情報が全て既知であるため、算出部１１０は、画像処理を実行することなく、三次元空間データに含まれるコンピュータグラフィックスモデル、及び、カメラワークに関する数値データに基づいて、入力画像に基づく出力画像のオプティカルフローを算出する。
【００２０】
また、算出部１１０は、入力画像がコンピュータグラフィックスである場合、入力画像の三次元空間に仮想的に置かれたカメラ（視点）から、入力画像の三次元空間に仮想的に置かれた被写体（オブジェクト）の表面までの距離を示すデプス（深度）画像を生成する。例えば、ＯｐｅｎＧＬ（登録商標）を用いる場合、算出部１１０は、レンダリングを実行する過程において、ｇｌＲｅａｄＰｉｘｅｌｓ関数（ｇｌＲｅａｄＰｉｘｅｌｓ(０，０，ｎＷｉｄｔｈ，ｎＨｅｉｇｈｔ，ＧＬ＿ＤＥＰＴＨ＿ＣＯＭＰＯＮＥＮＴ，ＧＬ＿ＦＬＯＡＴ，ｄｅｐｔｈＩｍａｇｅ)）を呼び出すことにより、デプス画像を得る。
【００２１】
図２には、コンピュータグラフィックス及びデプス画像の例が示されている。図２（Ａ）には、入力画像としてのコンピュータグラフィックスが、スクリーン座標系に示されている。このコンピュータグラフィックスには、被写体２００の一例として、神殿が描かれている。また、図２（Ｂ）は、このコンピュータグラフィックスに基づいて生成された、デプス画像である。図２（Ｂ）では、カメラ（視点）から被写体２００の表面までの距離が短いほど黒く表され、長いほど白く表されている。
【００２２】
図３は、透視投影変換を説明するための図である。ＯｐｅｎＧＬ（登録商標）を用いる場合、算出部１１０は、ｇｌＦｒｕｓｔｕｍ関数を呼び出すことにより、入力画像の三次元空間に対して、ビュー座標系からスクリーン座標系に変換する透視投影変換を設定することができる。算出部１１０は、前方クリップ面３１０から後方クリップ面３２０までのＺ座標値（奥行き）を、式（１）に基づいて、−１．０〜１．０の範囲に変換する。
【００２３】
【数１】
2014081706.tif 000003
【００２４】
ここで、ｎｅａｒは、カメラ３００から前方クリップ面３１０までの距離を示す。また、ｆａｒは、カメラ３００から後方クリップ面３２０までの距離を示す。また、ｔｏｐは、前方クリップ面３１０の上（Ｙ軸正方向）端を示す。また、ｂｏｔｔｏｍは、前方クリップ面３１０の下（Ｙ軸負方向）端を示す。また、ｒｉｇｈｔは、前方クリップ面３１０の右（Ｘ軸正方向）端を示す。また、ｌｅｆｔは、前方クリップ面３１０の左（Ｘ軸負方向）端を示す。
【００２５】
デプス画像は、ＧＬ＿ＦＬＯＡＴ形式で読み出された場合、−１．０〜１．０の範囲に透視投影変換された値が、さらに０．０〜１．０の範囲に正規化されている。したがって、算出部１１０は、この逆演算をデプス画像に施すことにより、カメラ３００（視点）から被写体の表面の点までの距離Ｚを、入力画像の画素毎に算出する。
【００２６】
また、算出部１１０は、ビュー座標系における視点の移動速度（Ｖｘ，Ｖｙ，Ｖｚ）と、視点の回転角速度（ωｐ，ωｙ，ωｒ）と、スクリーン座標（Ｓｘ，Ｓｙ）と、視体積（ｒｉｇｈｔ，ｌｅｆｔ，ｔｏｐ，ｂｏｔｔｏｍ，ｆａｒ，ｎｅａｒにより定まる体積）とに基づいて、スクリーン座標系における動きベクトル（Ｆｘ，Ｆｙ）を算出する。ここで、スクリーン座標（Ｓｘ，Ｓｙ）は、−１．０〜１．０の範囲に正規化されていてもよい。
【００２７】
入力画像のスクリーン座標系における動きベクトルは、入力画像の三次元空間を、カメラ３００（図３を参照）が移動等することにより生じる。動きベクトルは、生じる要因に応じて、式（２）〜（６）により算出される。以下、これら動きベクトルの和を、「オプティカルフロー」という。また、算出部１１０は、入力画像に基づく出力画像に予め定められた単位領域毎に、オプティカルフローを算出する。
【００２８】
入力画像の三次元空間で、カメラ３００が被写体に対して平行移動することにより生じる、入力画像のスクリーン座標系における動きベクトルは、式（２）により示される。ここで、Ｄは、被写体距離を示す。このように、距離分布とオプティカルフローとは、逆数の関係にある。なお、ビュー座標系では、Ｄ＝−Ｚである。
【００２９】
【数２】
2014081706.tif 000004
【００３０】
また、入力画像の三次元空間で、カメラ３００が直線移動することにより生じる、入力画像のスクリーン座標系における動きベクトルは、式（３）により示される。ここで、Ｄは、被写体距離を示す。なお、ビュー座標系では、Ｄ＝−Ｚである。
【００３１】
【数３】
2014081706.tif 000005
【００３２】
また、入力画像の三次元空間で、カメラ３００がヨー回転（左右回転）することにより生じる、入力画像のスクリーン座標系における動きベクトルは、式（４）により示される。
【００３３】
【数４】
2014081706.tif 000006
【００３４】
また、入力画像の三次元空間で、カメラ３００がピッチ回転（上下回転）することにより生じる、入力画像のスクリーン座標系における動きベクトルは、式（５）により示される。
【００３５】
【数５】
2014081706.tif 000007
【００３６】
また、入力画像の三次元空間で、カメラ３００がロール回転（ねじり回転）することにより生じる、入力画像のスクリーン座標系における動きベクトルは、式（６）により示される。
【００３７】
【数６】
2014081706.tif 000008
【００３８】
また、算出部１１０は、入力画像の三次元空間に予め定められた被写体毎の興味度に応じて、出力画像における被写体２００毎の興味度の分布を算出する。興味度の分布の詳細については、図１０を用いて後述する。
【００３９】
図４には、カメラパスの例が示されている。図４では、カメラパス４００は、ユーザが指定した目的位置７００に向かう直線の移動経路（破線で示されている）に対して、一例として、曲線の移動経路（実線で示されている）に定められている。
【００４０】
図５には、オプティカルフローを示す出力画像の例が示されている。図５（Ａ）には、カメラ３００（図３を参照）が、被写体２００を向きながら、カメラパス４００（図４を参照）に沿って、被写体２００の周囲を高速旋回している場合における、オプティカルフローの例が、矢印の向き及び大きさにより示されている。
【００４１】
図５（Ａ）において、出力画像の下側領域（図２における、地面が描かれている領域に相当）には、右方向（Ｘ軸正方向）を向く所定値以上のオプティカルフローが示されている。また、出力画像の中央領域（図２における、被写体２００が描かれている領域に相当）には、前記所定値以下のオプティカルフローが示されている。また、出力画像の上側領域（図２における、空が描かれている領域に相当）には、左方向（Ｘ軸負方向）を向くオプティカルフローが示されている。
【００４２】
一方、図５（Ｂ）には、カメラ３００が、被写体２００を向きながら、カメラパス４００に沿って、被写体２００の周囲を低速旋回している場合における、オプティカルフローの例が、矢印の向き及び大きさにより示されている。図５（Ｂ）において、出力画像の右下側領域（図２における、被写体２００の右側の輪郭が描かれている領域に相当）には、１点に向かって集中するオプティカルフローが示されている。ここで、１点に向かって集中するオプティカルフローが示されている理由は、カメラ３００が旋回したことにより、被写体２００の右側の輪郭（図２を参照）から、カメラ３００が離れ始めたからである。
【００４３】
図１に戻り、画像生成装置の構成例の説明を続ける。
記憶部１２０は、入力画像としてのコンピュータグラフィックスを示す三次元空間データ（シーンデータ）を、予め記憶する。また、記憶部１２０は、算出部１１０による算出結果、例えば、オプティカルフローを示す情報を記憶する。また、記憶部１２０は、カメラパス４００（図４を参照）などのカメラワークに関する数値データを、予め記憶する。なお、記憶部１２０は、制御部１４０を動作させるためのプログラムを予め記憶してもよい。
【００４４】
操作部１３０は、ユーザによる操作入力を受け付け、操作入力に応じた信号を制御部１４０に出力する。ここで、操作入力に応じた信号は、例えば、各種の設定条件（閾値など）を示す信号である。
【００４５】
制御部１４０は、動画像としての出力画像のオプティカルフローに応じて、出力画像におけるカメラワークを制御する。ここで、制御部１４０は、カメラワークとして、カメラアングル、カメラパス、及び、ズーム倍率の少なくとも一つを制御する。制御部１４０の詳細については後述する。
【００４６】
表示部１５０は、制御部１４０が制御するカメラワークにより生成された動画像としての出力画像のうち、出力画像に定められた表示領域を表示する。また、表示部１５０は、操作部１３０をユーザが操作するための操作パネル（不図示）を表示する。
【００４７】
次に、出力画像の詳細を説明する。
図６には、出力画像に予め定められた領域が示されている。出力画像は、入力画像の三次元空間に置かれたカメラ３００（図３を参照）から見える画像である。図６では、出力画像は、１６×１６個の単位領域５００−Ｘ−Ｙ（単位領域５００−０−０〜単位領域５００−１５−１５）に分割されている。以下、単位領域５００−Ｘ−Ｙの全てに共通する事項については、符号Ｘ及びＹを省略して、「単位領域５００」と表記する。なお、単位領域５００の境界線は、出力画像に表示されなくてもよい。
【００４８】
また、以下、単位領域５００−０−０、単位領域５００−０−１５、単位領域５００−７−１５、及び、単位領域５００−７−０を頂点する長方形の領域、すなわち、出力画像の左半分の領域を「左領域」という。また、単位領域５００−８−０、単位領域５００−８−１５、単位領域５００−１５−１５、及び、単位領域５００−１５−０を頂点する長方形の領域、すなわち、出力画像の右半分の領域を「右領域」という。
【００４９】
また、以下、単位領域５００−０−７、単位領域５００−０−１５、単位領域５００−１５−１５、及び、単位領域５００−１５−８を頂点する長方形の領域、すなわち、出力画像の上半分の領域を「上領域」という。また、単位領域５００−０−０、単位領域５００−０−７、単位領域５００−１５−７、及び、単位領域５００−１５−０を頂点する長方形の領域、すなわち、出力画像の下半分の領域を「下領域」という。
【００５０】
また、単位領域５００毎に、係数が定められていてもよい。ここで、例えば、出力画像の所定位置（例えば、中央付近）の単位領域５００に定められた係数は、他の位置と比較して、重み付けが相対的に大きく定められてもよい。
【００５１】
次に、制御部の詳細を説明する。
図７には、直線のカメラパスと、オプティカルフローとの関係例が示されている。図７（Ａ）には、入力画像の三次元空間に予め配置された被写体２００及び被写体２１０が示されている。ここで、被写体２１０は、被写体２００に向かう直線のカメラパス４１０（初期カメラパス）の右側に、予め配置されているものとする。直線のカメラパス４１０上には、一例として、制御点４１１、制御点４１２及び制御点４１３が配置されている。
【００５２】
図７（Ｂ）には、出力画像のフレーム毎、すなわち、直線のカメラパス４１０上の位置毎に、出力画像のオプティカルフローが示されている。横軸は、出力画像のフレームを示す。縦軸は、出力画像のオプティカルフローを示す。ここで、オプティカルフローについては、右領域における総和と、左領域における総和と、上領域における総和と、下領域における総和とが示されている。なお、オプティカルフローの総和が算出される際、オプティカルフローには、係数による重み付けが、単位領域５００毎にされてもよい。
【００５３】
直線のカメラパス４１０の右側に、被写体２１０が予め配置されているため、図７（Ｂ）では、出力画像の右領域におけるオプティカルフローの総和の絶対値が、出力画像の左領域におけるオプティカルフローの総和の絶対値よりも大きくなっていることが、示されている。
【００５４】
カメラパス４１０が直線であるため、出力画像のオプティカルフローは、式（３）のみから算出可能である。すなわち、出力画像のオプティカルフローは、カメラ３００（図３を参照）の移動速度とスクリーン座標とに比例し、距離に反比例するので、出力画像の距離分布のみに基づいて近似的に算出可能である。
【００５５】
図８には、曲線のカメラパスと、オプティカルフローとの関係例が示されている。直線のカメラパス４１０上の各制御点の位置が、制御部１４０によって移動されることにより、カメラパス４１０は、直線から曲線に修整される。図８（Ａ）には、入力画像の三次元空間に予め配置された被写体２００及び被写体２１０が示されている。ここで、被写体２００及び被写体２１０は、図７（Ａ）に示された場合と同じ位置に予め配置されている。なお、図７（Ａ）に示された直線のカメラパスは、図８（Ａ）では、破線で示されている。
【００５６】
図７（Ａ）に示された直線のカメラパス上の各制御点の位置は、制御部１４０により移動され、スプライン補間により繋がれる。これにより、カメラパス４１０は、図８（Ａ）に示されているように、直線から曲線に修整される。図８（Ａ）では、各制御点は、図７（Ａ）に示された直線のカメラパス４１０に対して直交する方向に移動されている。また、制御部１４０は、ここで、制御部１４０は、出力画像の右領域におけるオプティカルフローの総和と、出力画像の左領域におけるオプティカルフローの総和との和を、値０に近づけるようにカメラパス４１０を曲げる。被写体２１０からの十分な距離が保たれてカメラパス４１０が曲げられているので、出力画像は、過剰な刺激のない快適な視覚効果を、鑑賞者に与えることができる。
【００５７】
図８（Ｂ）には、出力画像のフレーム毎、すなわち、曲線のカメラパス４１０上の位置毎に、出力画像のオプティカルフローが示されている。横軸は、出力画像のフレームを示す。縦軸は、出力画像のオプティカルフローを示す。ここで、オプティカルフローについては、右領域における総和と、左領域における総和と、上領域における総和と、下領域における総和とが示されている。
【００５８】
被写体２００に向かう曲線のカメラパス４１０の右側に、被写体２１０が予め配置されているため、図８（Ｂ）では、出力画像の右領域におけるオプティカルフローの総和の絶対値が、出力画像の左領域におけるオプティカルフローの総和の絶対値よりも大きくなっていることが示されている。また、制御部１４０によりカメラパス４１０が曲げられたため、図８（Ｂ）では、出力画像の右領域におけるオプティカルフローの総和と、出力画像の左領域におけるオプティカルフローの総和との和は、図７（Ｂ）に示された場合と比較して、値０に近づけられていることが示されている。
【００５９】
なお、制御部１４０は、カメラパス４１０が曲げられたことにより、カメラパス４１０が他の被写体（不図示）にぶつからないよう、すなわち、当該他の被写体とカメラ３００との最短距離以上を保つように、カメラパス４１０の位置を修整してもよい。また、出力画像の上領域及び下領域についても、制御部１４０は、出力画像の上領域におけるオプティカルフローの総和と、出力画像の下領域におけるオプティカルフローの総和との和を、値０に近づけるようにカメラパス４１０を曲げてもよい。
【００６０】
また、左領域及び右領域、又は、上領域及び下領域のオプティカルフローの総和が大きくなるように、カメラパス４１０が曲げられることにより、出力画像は、適度な快適性及び楽しさなどの印象とは逆の視覚効果（例えば、過度な速度感）を、鑑賞者に与えることができる。さらに、出力画像は、カメラパス４１０の曲げ量が調整係数により操作されることにより、適度な快適性及び楽しさなどの印象となる中間的な視覚効果（例えば、適度な速度感）を、鑑賞者に与えることができる。
【００６１】
図９には、カメラアングルの例が示されている。制御部１４０は、出力画像のオプティカルフローに基づいて、カメラ３００（図３を参照）のカメラアングル（カメラパスに対する回転角度）を制御する。図９（Ａ）及び（Ｂ）には、比較のため、直線のカメラパス４１０を移動するカメラ３００のカメラアングルの一例が、制御点４１１、制御点４１２及び制御点４１３について、矢印の向きにより示されている。
【００６２】
図９（Ａ）では、カメラ３００のカメラアングルは、出力画像のオプティカルフローに応じて変更されていない。一方、図９（Ｂ）では、カメラ３００のカメラアングルは、出力画像のオプティカルフローに応じて変更されている。具体的には、制御点４１１では、カメラ３００が被写体２１０の近傍を通過しているので、カメラ３００は、出力画像のオプティカルフローが大きい方向、すなわち、被写体２１０の方向に向けられている。また、制御点４１２では、カメラ３００が被写体２１０を通過しているため、オプティカルフローの勾配が小さくなる。このため、カメラ３００は、出力画像のオプティカルフローが大きい方向、すなわち、被写体２１０の方向と被写体２００の方向との中間（カメラアングルの回転量が減少する方向）に向けられている。また、制御点４１３では、カメラ３００が被写体２００に接近しているため、オプティカルフローの勾配が充分に小さくなる。このため、カメラ３００は、カメラアングルが変化せず、被写体２００の方向に向けられている。
【００６３】
これにより、鑑賞者の興味を引き易い領域、すなわち、出力画像のオプティカルフローが大きい領域、又は、被写体（オブジェクト）が存在する領域に、カメラ３００のカメラアングルが定められるので、出力画像は、鑑賞者の興味を満足させることができる快適な視覚効果を、鑑賞者に与えることができる。あえて、オプティカルフローが小さくなる方向に、カメラ３００のカメラアングルが定められた場合には、出力画像は、適度な快適性及び楽しさなどの印象とは逆の視覚効果（例えば、退屈感）を、鑑賞者に与えることができる。さらに、出力画像は、カメラ３００のカメラアングルの回転量が調整係数により操作されることにより、適度な快適性及び楽しさなどの印象となる中間的な視覚効果（例えば、適度な速度感）を、鑑賞者に与えることができる。
【００６４】
図１０には、被写体毎の興味度の分布例が示されている。入力画像としてのコンピュータグラフィックスを示す三次元空間データに含まれている各被写体（オブジェクト）には、予め定められた興味度を示す情報が、メタデータとして付加されている。ここで、興味度は、鑑賞者が被写体に対して興味を持つ度合いであり、例えば、三次元空間データを作成した作成者により予め定められる。
【００６５】
例えば、被写体への興味度がその被写体の画像特徴量（例えば、輝度、色）に比例すると仮定して、被写体がその画像特徴量に応じてレンダリングされることにより、出力画像における画像特徴量の分布は、出力画像における興味度の分布となる。図１０では、出力画像の左領域の中央に主に描かれている被写体２００の輝度が高いため、被写体毎の興味度は、出力画像の左領域の中央で高くなっている。
【００６６】
図１１には、カメラの位置に応じた興味度の変化例が示されている。横軸は、カメラ３００の位置を示す。図１１では、図９（Ａ）に示した制御点４１１、制御点４１２、及び、制御点４１３が、カメラ３００の位置として示されている。縦軸は、出力画像の所定領域における興味度の総和を示す。ここで、興味度については、一例として、右領域における興味度の総和と、左領域における興味度の総和とが示されている。なお、興味度は、出力画像の画素値として記憶されてもよい。
【００６７】
カメラ３００のカメラアングルは、出力画像における所定領域毎の興味度の分布の差に応じて変更される。すなわち、カメラ３００のカメラアングルは、鑑賞者が見たいと思う方向に、制御部１４０により定められる。なお、興味度の分布の差が算出される際、単位領域５００毎に係数により重み付けがされてもよい。
【００６８】
図９（Ａ）に示した制御点４１１では、被写体２００を向いているカメラ３００が被写体２１０の近傍を通過しているので、図１１に示す制御点４１１では、右領域における興味度の総和が、左領域における興味度の総和と比較して高くなっている。したがって、図９（Ｂ）に示すように、制御点４１１では、カメラ３００は、興味度の総和が高い右方向に向けられる。
【００６９】
また、図９（Ａ）に示した制御点４１２では、カメラ３００が被写体２１０を通過したので、図１１に示す制御点４１２では、右領域における興味度の総和と、左領域における興味度の総和とが、ほぼ同じになっている。したがって、図９（Ｂ）に示すように、制御点４１２では、カメラ３００は、カメラパス４１０とほぼ同じ方向に向けられている。制御点４１３についても同様である。
【００７０】
なお、出力画像の上領域及び下領域についても、制御部１４０は、出力画像の上領域における興味度の総和と、出力画像の下領域における興味度の総和との差に基づいて、鑑賞者が見たいと思う上方向又は下方向に、カメラ３００を向けてもよい。これにより、鑑賞者の興味を引き易い領域、すなわち、出力画像における興味度の総和が大きい領域に、カメラ３００のカメラアングルが定められるので、出力画像は、鑑賞者の興味を満足させることができる快適な視覚効果を、鑑賞者に与えることができる。あえて、左領域及び右領域、又は、上領域及び下領域の興味度の総和が小さくなる方向に、カメラ３００のカメラアングルが定められた場合には、出力画像は、適度な快適性及び楽しさなどの印象とは逆の視覚効果（例えば、退屈感）を、鑑賞者に与えることができる。さらに、出力画像は、カメラ３００のカメラアングルの回転量が調整係数により操作されることにより、適度な快適性及び楽しさなどの印象となる中間的な視覚効果（例えば、適度な速度感）を、鑑賞者に与えることができる。
【００７１】
図１２には、カメラパスの終点の例が示されている。制御部１４０は、鑑賞者が被写体２００を鑑賞するのに適した位置としての終点４１０ａを、ユーザが指定した目的位置７００の手前に定める。ここで、制御部１４０は、目的位置７００から終点４１０ａまでの距離（観察距離）を、オプティカルフロー及び予め定められた閾値に基づいて定める。これにより、カメラ３００（図３を参照）は、終点４１０ａからの視点で、被写体２００の大きさにかかわらず、被写体２００を出力画像に捉えることができる。
【００７２】
図１３には、オプティカルフローと閾値との関係例が示されている。図１３には、出力画像のフレーム毎、すなわち、カメラパス４１０（図１２を参照）上の位置毎に、出力画像のオプティカルフローが示されている。横軸は、出力画像のフレームを示す。縦軸は、出力画像のオプティカルフローを示す。ここで、オプティカルフローについては、右領域における総和と、左領域における総和と、上領域における総和と、下領域における総和とが示されている。
【００７３】
カメラパス４１０（図１２を参照）を移動しているカメラ３００（図３を参照）が被写体２００に接近するほど、出力画像のオプティカルフローは、その絶対値が大きくなる。また、オプティカルフローの絶対値が大きすぎる場合、すなわち、カメラ３００と被写体２００とが接近しすぎている場合、鑑賞者が被写体２００を鑑賞するのに適した位置を、カメラ３００が越えていることになる。そこで、制御部１４０は、出力画像のオプティカルフローが、予め定められた閾値と等しくなる位置に、カメラパス４１０の終点４１０ａを定める。図１３では、出力画像の右領域におけるオプティカルフローが、閾値（破線で示されている）よりも一旦下がってから再び等しくなる位置に、カメラパス４１０の終点４１０ａが定められている。
【００７４】
図１４には、終点でのカメラアングルの例が示されている。図１４（Ａ）では、被写体２００に斜めから接近する軌跡に、カメラパス４１０が定められているため、カメラパス４１０の終点４１０ａに在るカメラ３００（図３を参照）から、カメラアングル４１４により見える被写体２００は、カメラ３００に対して正対していないため、出力画像において鑑賞に適さない構図となっている。
【００７５】
図１４（Ｂ）では、制御部１４０は、カメラパス４１０の終点４１０ａについて、出力画像の左領域におけるオプティカルフローと、出力画像の右領域におけるオプティカルフローとを比較し、より大きなオプティカルフローを生じている右領域の方向に、カメラ３００を向けている。また、制御部１４０は、カメラパス４１０の終点４１０ａの座標も修正する。ここで、制御部１４０は、例えば、被写体２００に対してカメラパス４１０が平行となるように、カメラパス４１０の終点４１０ａの座標を修正する。
【００７６】
次に、カメラワーク制御装置の動作手順例を説明する。
図１５は、カメラパスの終点を定める動作手順の例を示すフローチャートである。
（ステップＳａ１）ユーザは、操作部１３０を操作（例えば、マウスによるクリック操作）することにより、カメラ３００の移動先である目的位置７００を出力画像上で指定したとする。制御部１４０は、操作入力に応じた信号に基づいて、スクリーン座標における目的位置７００の座標（例えば、クリック操作された際のマウスポインタの座標）を取得する。
【００７７】
（ステップＳａ２）算出部１１０は、目的位置７００のデプス値を算出し、算出したデプス値を、記憶部１２０に記憶させる。制御部１４０は、算出部１１０が算出したデプス値を、記憶部１２０から取得する。
【００７８】
（ステップＳａ３）制御部１４０は、スクリーン座標における目的位置７００の座標を、デプス値に基づいてビュー座標系における目的位置７００の座標に変換する。
（ステップＳａ４）制御部１４０は、ビュー座標系に変換した目的位置７００の座標を、ワールド座標系における目的位置７００（ターゲット点）の座標に変換する。
【００７９】
（ステップＳａ５）制御部１４０は、カメラパスを移動するカメラ３００の停止位置を定める。ここで、制御部１４０は、目的位置７００に在る被写体とカメラ３００との観察距離を、その被写体の大きさに応じて定める。例えば、制御部１４０は、予め定められた設定値Ｃ６（終点基準フロー）をオプティカルフローが超えた際に、カメラ３００が停止するよう、カメラパスの終点（ターゲット点）の座標を定める。オプティカルフローは、目的位置７００に在る被写体が大きいほど、その被写体とカメラ３００との接近に応じて増加が急となる。
【００８０】
（ステップＳａ６）制御部１４０は、カメラパスの終点でのカメラアングルを定める。ここで、制御部１４０は、カメラ３００の現在の位置から、カメラパスの終点（ターゲット点）を望むカメラアングル（回転角度）を、カメラパスの終点でのカメラアングルの水平角ＹＹＥＮＤ及び垂直角ＰＰＥＮＤと定める
【００８１】
（ステップＳａ７）制御部１４０は、カメラ３００のカメラアングルを補正する。ここで、制御部１４０は、終点の直前でのオプティカルフローの不均衡量ＦＬＲ及びＦＴＢと、調整係数Ｃ７（終点角度制御量）とに基づいて、終点でのカメラアングルの補正量「ΔＹＹＥＮＤ＝ＦＬＲ×Ｃ７」及び「ΔＰＰＥＮＤ＝ＦＴＢ×Ｃ７」を算出する。
【００８２】
（ステップＳａ８）制御部１４０は、カメラ３００の停止位置を補正する。ここで、制御部１４０は、補正後のカメラアングルで、カメラパスの終点（ターゲット点）を出力画像に捉える位置に、カメラ３００の停止位置を補正する。
【００８３】
図１６は、直線のカメラパスを定める動作手順の例を示すフローチャートである。
（ステップＳｂ１）制御部１４０は、カメラ３００の総移動距離Ｌ（カメラ３００の現在の位置から、終点（ターゲット点）までの距離）、すなわち、直線のカメラパスの長さを定める。
（ステップＳｂ２）制御部１４０は、カメラ３００の総移動距離Ｌを速度Ｖで除算することにより、カメラ３００の総移動時間ＴＴＯＴＡＬを定める。ここで、制御部１４０は、総移動距離Ｌが所定閾値より短い又は長い場合、総移動時間ＴＴＯＴＡＬが極端な値とならないよう、例えば、総移動時間ＴＴＯＴＡＬを最短３秒〜最長２０秒に調整してもよい。
【００８４】
（ステップＳｂ３）制御部１４０は、初期カメラパスとしての直線のカメラパスに配置する制御点の数Ｎを、総移動時間ＴＴＯＴＡＬに応じて定める。ここで、制御点の数Ｎが少ない場合、制御部１４０は、カメラパスを細かく制御することができない。一方、制御点の数Ｎが多い場合、カメラパスは、揺らぎの多い不安定なカメラパスとなってしまう。そこで、制御部１４０は、例えば、「Ｎ＝ＴＴＯＴＡＬ／２＋３」のように、少なくとも３個の制御点、且つ、総移動時間２秒毎に１個の制御点を、カメラパスに追加してもよい。
【００８５】
（ステップＳｂ４）制御部１４０は、初期カメラパスとしての直線のカメラパスに、制御点を配置する。すなわち、制御部１４０は、カメラ３００の現在の位置と、カメラパスの終点（ターゲット点）の座標とを直線補間するように、Ｎ個の制御点を生成する。
【００８６】
図１７は、オプティカルフローを算出する動作手順の例を示すフローチャートである。
（ステップＳｃ１）算出部１１０は、Ｘ方向ＮＸ個及びＹ方向ＮＹ個に、出力画像を格子状に分割する（図６を参照）。以下、各単位領域をＧＸＹ（０≦Ｘ＜ＮＸ，０≦Ｙ＜ＮＹ）と表記する。
（ステップＳｃ２）算出部１１０は、カメラ３００がカメラパスを前進することにより生じるオプティカルフローのＸ成分及びＹ成分を、全ての単位領域ＧＸＹ（０≦Ｘ＜ＮＸ，０≦Ｙ＜ＮＹ）について算出する。
【００８７】
（ステップＳｃ３）算出部１１０は、単位領域ＧＸＹ（０≦Ｘ＜ＮＸ／２，０≦Ｙ＜ＮＹ）におけるオプティカルフローのＸ成分（出力画像の左領域におけるオプティカルフローＦＬ）の総和を算出する。
（ステップＳｃ４）算出部１１０は、単位領域ＧＸＹ（ＮＸ／２≦Ｘ＜ＮＸ，０≦Ｙ＜ＮＹ）におけるオプティカルフローのＸ成分（出力画像の右領域におけるオプティカルフローＦＲ）の総和を算出する。
【００８８】
（ステップＳｃ５）算出部１１０は、単位領域ＧＸＹ（０≦Ｘ＜ＮＸ，０≦Ｙ＜ＮＹ／２）におけるオプティカルフローのＹ成分（出力画像の下領域におけるオプティカルフローＦＢ）の総和を算出する。
（ステップＳｃ６）算出部１１０は、単位領域ＧＸＹ（０≦Ｘ＜ＮＸ，ＮＹ／２≦Ｙ＜ＮＹ）におけるオプティカルフローのＹ成分（出力画像の上領域におけるオプティカルフローＦＴ）の総和を算出する。
【００８９】
（ステップＳｃ７）算出部１１０は、カメラパス上の制御点間を補間する補間位置ＭにおけるオプティカルフローＦＬ（Ｍ）、ＦＲ（Ｍ）、ＦＢ（Ｍ）、及び、ＦＴ（Ｍ）を、記憶部１２０に記憶させる。
【００９０】
図１８は、興味度の分布を算出する動作手順の例を示すフローチャートである。
（ステップＳｄ１）算出部１１０は、Ｘ方向ＮＸ個及びＹ方向ＮＹ個に、出力画像を格子状に分割する（図６を参照）。以下、各単位領域をＧＸＹ（０≦Ｘ＜ＮＸ，０≦Ｙ＜ＮＹ）と表記する。
【００９１】
（ステップＳｄ２）算出部１１０は、単位領域ＧＸＹ（０≦Ｘ＜ＮＸ／２，０≦Ｙ＜ＮＹ）における画素値（出力画像の左領域における興味度ＩＬ）の総和を算出する。
（ステップＳｄ３）算出部１１０は、単位領域ＧＸＹ（ＮＸ／２≦Ｘ＜ＮＸ，０≦Ｙ＜ＮＹ）における画素値（出力画像の右領域における興味度ＩＲ）の総和を算出する。
【００９２】
（ステップＳｄ４）算出部１１０は、単位領域ＧＸＹ（０≦Ｘ＜ＮＸ，０≦Ｙ＜ＮＹ／２）における画素値（出力画像の下領域における興味度ＩＢ）の総和を算出する。
（ステップＳｄ５）算出部１１０は、単位領域ＧＸＹ（０≦Ｘ＜ＮＸ，ＮＹ／２≦Ｙ＜ＮＹ）における画素値（出力画像の上領域における興味度ＩＴ）の総和を算出する。
【００９３】
（ステップＳｄ６）算出部１１０は、カメラパス上の制御点間を補間する補間位置Ｍにおける興味度ＩＬ（Ｍ）、ＩＲ（Ｍ）、ＩＢ（Ｍ）、及び、ＩＴ（Ｍ）を、記憶部１２０に記憶させる。
【００９４】
図１９は、カメラワークを制御する動作手順の例を示すフローチャートである。
（ステップＳ１）算出部１１０は、シーンデータを記憶部１２０から読み込む。
（ステップＳ２）算出部１１０は、カメラ３００（図３を参照）の視点の位置及び向きの初期値を定める。
（ステップＳ３）算出部１１０は、シーンデータに基づいて、レンダリングを実行する。
【００９５】
（ステップＳ４）制御部１４０は、カメラ３００が移動する終点を定める。ここで、制御部１４０は、例えば、操作部１３０を介してユーザが表示部１５０の画面をクリック操作することにより、その位置に表示されている被写体（オブジェクト）の座標を終点に定めてもよい。
（ステップＳ５）制御部１４０は、直線のカメラパス４１０（図７（Ａ）を参照）を生成する。すなわち、制御部１４０は、カメラ３００の現在の位置から終点までを結ぶ直線のカメラパス（初期カメラパス）の座標と、カメラアングルを算出するための補間曲線とを定める。ここで、制御部１４０は、制御点の数Ｎ（例えば、制御点Ｐ０〜ＰＮ−１）と、速度Ｖでカメラパスを移動するカメラ３００の総移動時間ＴＴＯＴＡＬと、カメラアングルとを定める。なお、カメラパス上の制御点間を補間する補間位置Ｓは、整数値０（カメラ３００の現在の位置）から、整数値（Ｎ−1）（終点）の間の実数値で参照される。
【００９６】
（ステップＳ６）制御部１４０は、カメラパス上の制御点間を補間する補間位置Ｓを示すインデックス値を、値０に初期化する。
（ステップＳ７）制御部１４０は、補間位置Ｓにカメラ３００を移動させる。
（ステップＳ８）単位領域５００に対応するＲＧＢ（赤・緑・青）画像及びデプス値（距離情報）を取得するため、算出部１１０は、オフ・スクリーン・レンダリング（非表示状態での試し描画）を縮小状態で実行する。このＲＧＢ画像の画素値は、コンピュータグラフィックスオブジェクト（例えば、被写体２００）毎に付加情報として予め定められた興味度に応じた値となる。
【００９７】
（ステップＳ９）算出部１１０は、オプティカルフローを算出し、算出したオプティカルフローを記憶部１２０に記憶させる。なお、算出部１１０は、算出したオプティカルフローを、記憶部１２０を介さずに、制御部１４０に直接出力してもよい。
（ステップＳ１０）算出部１１０は、出力画像における興味度の分布を算出し、算出した興味度の分布を記憶部１２０に記憶させる。
【００９８】
（ステップＳ１１）制御部１４０は、補間位置（Ｓ＋ΔＳ）にカメラ３００を移動させる。ここで、各制御点を含む区間における平均値を取得するため、制御部１４０は、制御点の中間点についても補間位置Ｓを算出する。制御点間をＫ個に分割する場合、「ΔＳ＝１／Ｋ」である。
【００９９】
（ステップＳ１２）制御部１４０は、補間位置を示すインデックス値Ｓが、制御点の数Ｎから値１を減算した値未満であるか否かを判定する。補間位置を示すインデックス値Ｓが、制御点の数Ｎから値１を減算した値未満である場合（ステップＳ１２：Ｙｅｓ）、制御部１４０は、ステップＳ７に処理を戻す。一方、補間位置を示すインデックス値Ｓが、制御点の数Ｎから値１を減算した値未満でない場合（ステップＳ１２：Ｎｏ）、制御部１４０は、ステップＳ１３に処理を進める。
【０１００】
（ステップＳ１３）制御部１４０は、カメラパスに定められた制御点間を補間する補間位置を示すインデックス値Ｍを、値１に初期化する。これにより、以下のステップＳ１４〜ステップ１７では、制御部１４０は、初期位置における制御点Ｐ０について、カメラパス（各制御点の座標値）及びカメラアングル（各制御点におけるカメラの回転角）を調整することがない。制御部１４０は、制御点Ｐ０と終点の制御点ＰＮ−１との間の各制御点について、カメラパス及びカメラアングルを調整することになる。
【０１０１】
（ステップＳ１４）制御部１４０は、制御点ＰＭを含むカメラパスの前後に亘るＫ枚のフレーム（＝補間位置（Ｍ±０．５）の範囲）について、出力画像の領域（図６を参照）毎のオプティカルフローの平均値の和を算出する。具体的には、制御部１４０は、出力画像の左領域におけるオプティカルフローＦＬの平均値と、出力画像の右領域におけるオプティカルフローＦＲの平均値との和を算出する。また、制御部１４０は、出力画像の上領域におけるオプティカルフローＦＴの平均値と、出力画像の下領域におけるオプティカルフローＦＢの平均値との和を算出する。
【０１０２】
このように、制御部１４０は、着目する制御点ＰＭを含む前後に亘るＫ枚のフレーム（直前の制御点との中間点から、直後の制御点との中間点まで）について、オプティカルフローの平均値を用いた制御を実行する。
【０１０３】
出力画像の上領域及び下領域で画像の動きが対称である場合、オプティカルフロー（動きベクトル）は、その値の正負が上領域及び下領域で逆になるので、オプティカルフローの和が不均衡量となる。左領域及び右領域についても同様である。なお、初期値として定められたカメラパスについて算出されたオプティカルフローが、カメラ３００（図３を参照）の視線方向以外の動き成分を含む場合、制御部１４０は、カメラ３００の視線方向のみの動き成分を用いて、制御を実行する。
【０１０４】
（ステップＳ１５）制御部１４０は、制御点ＰＭを含むカメラパスの前後に亘るＫ枚のフレーム（＝補間位置（Ｍ±０．５）の範囲）について、出力画像の領域（図６を参照）毎の興味度の平均値の差を算出する。具体的には、制御部１４０は、出力画像の左領域における興味度ＩＬの平均値と、出力画像の右領域における興味度ＩＲの平均値との差（不均衡量）を算出する。また、制御部１４０は、出力画像の上領域における興味度ＩＴの平均値と、出力画像の下領域における興味度ＩＢの平均値との差（不均衡量）を算出する。
【０１０５】
（ステップＳ１６）制御部１４０は、カメラパスを調整するため、制御点ＰＭの座標を調整し、調整した位置に制御点ＰＭを移動させる。Ｘ方向（図３を参照）への水平移動量は、「（ＦＸＬ＋ＦＸＲ）×Ｃ０」である。また、Ｙ方向（図３を参照）への垂直移動量は、「（ＦＹＴ＋ＦＹＢ）×Ｃ１」である。ここで、Ｃ０は、水平座標の制御量として定められた調整係数である。また、Ｃ１は、垂直座標の制御量として定められた調整係数である。
【０１０６】
（ステップＳ１７）制御部１４０は、制御点ＰＭでのカメラアングルを調整する。Ｘ方向（図３を参照）についての水平（ヨー）回転は、「ΔＹＹＭ＝（ＦＸＬ＋ＦＸＲ）×Ｃ２＋（ＩＬ―ＩＲ）×Ｃ３」である。また、Ｙ方向（図３を参照）についての垂直（ピッチ）回転は、「ΔＰＰＭ＝（ＦＹＴ＋ＦＹＢ）×Ｃ４＋（ＩＴ―ＩＢ）×Ｃ５」である。ここで、Ｃ２は、水平角度の制御量として定められた調整係数である。また、Ｃ４は、垂直角度の制御量として定められた調整係数である。また、Ｃ３は、水平方向における興味度の制御量として定められた調整係数である。また、Ｃ５は、垂直方向における興味度の制御量として定められた調整係数である。
【０１０７】
（ステップＳ１８）制御部１４０は、カメラパスに定められた制御点間を補間する補間位置を示すインデックス値Ｍに、値１を加算する。
（ステップＳ１９）制御部１４０は、制御部１４０は、カメラパスに定められた制御点間を補間する補間位置を示すインデックス値Ｍが、制御点の数Ｎから値２を減算した値未満であるか否かを判定する。これにより、ステップＳ１４〜ステップ１７では、制御部１４０は、終点の制御点ＰＮ−１について、カメラパス（各制御点の座標値）及びカメラアングル（各制御点におけるカメラの回転角）を調整することがない。制御部１４０は、制御点Ｐ０と終点の制御点ＰＮ−１との間の各制御点について、カメラパス及びカメラアングルを調整することになる。
【０１０８】
カメラパスに定められた制御点間を補間する補間位置を示すインデックス値Ｍが、制御点の数Ｎから値２を減算した値未満である場合（ステップＳ１９：Ｙｅｓ）、制御部１４０は、ステップＳ１４に処理を戻す。一方、カメラパスに定められた制御点間を補間する補間位置を示すインデックス値Ｍが、制御点の数Ｎから値２を減算した値未満でない場合（ステップＳ１９：Ｎｏ）、制御部１４０は、ステップＳ２０に処理を進める。
【０１０９】
（ステップＳ２０）制御部１４０は、タイマー変数Ｔを、値０にリセットする。
（ステップＳ２１）制御部１４０は、タイマー変数Ｔを用いて、計時を開始する。
（ステップＳ２２）制御部１４０は、時刻Ｔにおけるカメラ３００の位置及びカメラアングル（回転角度）を算出し、算出した位置及びカメラアングルに基づいて、出力画像を更新する。
【０１１０】
（ステップＳ２３）算出部１１０は、更新された出力画像に基づいて、レンダリングを実行する。
（ステップＳ２４）制御部１４０は、タイマー変数Ｔに現在時刻を代入する。
（ステップＳ２５）制御部１４０は、タイマー変数Ｔが、カメラ３００の総移動時間ＴＴＯＴＡＬ未満であるか否かを判定する。タイマー変数Ｔが、カメラ３００の総移動時間ＴＴＯＴＡＬ未満である場合（ステップＳ２５：Ｙｅｓ）、制御部１４０は、ステップＳ２２に処理を戻す。一方、タイマー変数Ｔが、カメラ３００の総移動時間ＴＴＯＴＡＬ未満でない場合（ステップＳ２５：Ｎｏ）、制御部１４０は、ステップＳ２６に処理を進める。
【０１１１】
（ステップＳ２６）制御部１４０は、操作を続行するか否かを、操作入力に応じた信号に基づいて判定する。操作を続行する場合（ステップＳ２６：Ｙｅｓ）、制御部１４０は、ステップＳ４に処理を戻す。一方、操作を続行しない場合（ステップＳ２６：Ｎｏ）、制御部１４０は、カメラワークを制御する処理を終了する。
【０１１２】
以上のように、カメラワーク制御装置１００は、入力画像に基づく出力画像に予め定められた単位領域５００毎に（例えば、図６を参照）、当該出力画像の距離分布（距離分布とは逆数の関係にあるオプティカルフローについては、例えば、図５を参照）を算出する算出部１１０と、前記距離分布に応じて、動画像としての前記出力画像におけるカメラワークを制御する制御部１４０と、を備える。
また、カメラワーク制御プログラムは、コンピュータに、入力画像に基づく出力画像に予め定められた単位領域５００毎に、当該出力画像の距離分布を算出する手順と、前記距離分布に応じて、動画像としての前記出力画像におけるカメラワークを制御する手順と、を実行させる。
【０１１３】
この構成により、制御部１４０は、距離分布に応じて、動画像としての出力画像におけるカメラワークを制御する。これにより、カメラワーク制御装置１００及びカメラワーク制御プログラムは、快適性及び楽しさなどの印象を鑑賞者に与える動画像を生成することができる。
【０１１４】
また、算出部１１０は、前記入力画像に関連付けられた距離情報に基づいて、前記距離分布（例えば、デプス画像）を算出する。
また、算出部１１０は、前記入力画像としてのコンピュータグラフィックスから算出された距離情報に基づいて、前記距離分布を算出する。
【０１１５】
また、制御部１４０は、前記カメラワークとして、カメラアングル（例えば、図９（Ｂ）を参照）を制御する。
また、制御部１４０は、前記距離分布に応じたオプティカルフローに基づいて、前記カメラワークを制御する。
また、制御部１４０は、前記オプティカルフロー（例えば、図５を参照）の勾配に基づいて、前記カメラワークを制御する。例えば、制御部１４０は、前記出力画像における左領域及び右領域の前記オプティカルフローの和が小さくなるように、前記カメラワークを制御してもよい。
また、算出部１１０は、前記入力画像に予め定められた被写体毎の興味度に応じて、前記出力画像における前記被写体毎の興味度の分布（例えば、図１０を参照）を算出し、制御部１４０は、前記出力画像における前記被写体毎の興味度の分布に基づいて（例えば、図１１を参照）、前記カメラワーク（例えば、カメラアングル）を制御する。
また、制御部１４０は、前記カメラワークとして、カメラパス（例えば、図８（Ａ）を参照）を制御する。
【０１１６】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【０１１７】
例えば、入力画像が実写画像である場合、制御部１４０は、多視点から撮像された複数の実写画像に基づいて、カメラ３００の無い視点から見た出力画像を生成してもよい。
【０１１８】
また、例えば、制御部１４０は、鑑賞環境（例えば、画面サイズ）に応じて、カメラワークを変更してもよい。制御部１４０は、表示部１５０の画面サイズが小さい場合、視覚効果が強まるように、カメラワークを変更してもよい。また、制御部１４０は、表示部１５０の画面サイズが大きい場合、視覚効果が弱まるように、カメラワークを変更してもよい。また、制御部１４０は、鑑賞者の個人差（例えば、年齢）に応じて、カメラワークを変更してもよい。
【０１１９】
また、上記に説明したカメラワーク制御装置を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、実行処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものであってもよい。
【０１２０】
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【０１２１】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ−ｍｅｍｏｒｙ））のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。
さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【０１２２】
１００…カメラワーク制御装置、１１０…算出部、１２０…記憶部、１３０…操作部、１４０…制御部、１５０…表示部、２００…被写体、２１０…被写体、３００…カメラ、３１０…前方クリップ面、３２０…後方クリップ面、３３０…視錐台、４００…カメラパス、４１０…カメラパス、４１０ａ…終点、４１１…制御点、４１２…制御点、４１３…制御点、４１４…カメラアングル、５００…単位領域、７００…目的位置
【図１】
2014081706.tif 000009
【図３】
2014081706.tif 000010
【図６】
2014081706.tif 000011
【図７】
2014081706.tif 000012
【図８】
2014081706.tif 000013
【図９】
2014081706.tif 000014
【図１１】
2014081706.tif 000015
【図１２】
2014081706.tif 000016
【図１３】
2014081706.tif 000017
【図１４】
2014081706.tif 000018
【図１５】
2014081706.tif 000019
【図１６】
2014081706.tif 000020
【図１７】
2014081706.tif 000021
【図１８】
2014081706.tif 000022
【図１９】
2014081706.tif 000023
【図２】
2014081706.tif 000024
【図４】
2014081706.tif 000025
【図５】
2014081706.tif 000026
【図１０】
2014081706.tif 000027