説明

画像処理装置、コンテンツ作成支援装置、画像処理方法、コンテンツ作成支援方法、および画像ファイルのデータ構造

【課題】画像中の表示領域の移動を円滑に表現する。
【解決手段】ハードディスクドライブ50には、画像の階層データ116、画像を所定の大きさに区分けしてなるタイル画像を描画するのに要する処理時間の指標をタイル画像ごとに保持するスピードマップ118、および視点の移動を規定するシナリオデータ119を格納しておく。画像を表示する機能を有する情報処理装置の制御部100aのうち、入力情報取得部102は入力装置20に対しユーザが行った操作に係る情報を取得する。ロード部108は画像表示に必要なデータをハードディスクドライブ50からロードする。移動条件調整部104はスピードマップに基づき視点の移動速度を調整する。フレーム座標決定部105は表示領域のフレーム座標を逐次決定する。デコード部106は圧縮画像データをデコードする。表示画像処理部114は表示画像を描画する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ディスプレイに表示する画像を拡大/縮小、または上下左右に移動させる画像処理技術に関する。
【背景技術】
【0002】
ゲームプログラムを実行するだけでなく、動画を再生できる家庭用エンタテインメントシステムが提案されている。この家庭用エンタテインメントシステムでは、GPUがポリゴンを用いた三次元画像を生成する(例えば特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】米国特許第6563999号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
このような画像表示技術において、表示対象の画像の拡大、縮小、スクロールによる視点の移動を可能とするような表示態様を実現する場合、視点が連続的かつ円滑に変化することが望ましい。しかしながら画像のデータサイズや表示システムの処理能力など様々な要因によって、視点を移動させている期間における連続的な表示の更新処理が間に合わず、コマ落ちするなど鑑賞者に違和感を与える場合がある。
【0005】
本発明はこのような課題に鑑みてなされたものであり、その目的は、視点の移動を円滑に行うことのできる画像処理技術を提供することにある。
【課題を解決するための手段】
【0006】
本発明のある態様は画像処理装置に関する。この画像処理装置は、表示対象の画像に対する視点を移動させる入力情報を取得する入力情報取得部と、画像を部分的に描画するのに要する処理時間の指標の分布を保持するスピードマップを記憶したスピードマップ記憶部と、入力情報に応じた視点の移動速度を、スピードマップが保持する、移動経路に対応する指標に基づき調整する移動条件調整部と、調整後の移動速度に基づき表示すべきフレームのフレーム座標を決定するフレーム座標決定部と、フレーム座標に対応する画像データを処理して表示画像を描画する表示画像処理部と、を備えたことを特徴とする。
【0007】
本発明の別の態様はコンテンツ作成支援装置に関する。このコンテンツ作成支援装置は、視点を移動させながら画像を表示するコンテンツにおいて視点の移動を規定するシナリオデータの作成を支援するコンテンツ作成支援装置であって、ユーザが視点の移動を規定するために設定した、フレームの通過点である複数のキーフレームの座標とキーフレーム間の移動時間の情報を取得する設定情報取得部と、画像を部分的に描画するのに要する処理時間の指標の分布を保持するスピードマップを記憶したスピードマップ記憶部と、設定情報に応じた視点の移動速度が処理時間の指標から取得される移動経路上の制限速度を超えるか否かを判定する移動速度検証部と、移動速度が移動経路上の制限速度を超える場合、設定情報を修正する設定情報修正部と、設定情報修正部が行った修正の結果に応じて最終的なシナリオデータを作成するシナリオデータ生成部と、を備えたことを特徴とする。
【0008】
本発明のさらに別の態様は画像処理方法に関する。この画像処理方法は、表示対象の画像に対する視点を移動させる入力情報を取得するステップと、画像を部分的に描画するのに要する処理時間の指標の分布を保持するスピードマップをメモリより読み出すステップと、入力情報に応じた視点の移動速度を、スピードマップが保持する、移動経路に対応する指標に基づき調整するステップと、調整後の移動速度に基づき表示すべきフレームのフレーム座標を決定するステップと、フレーム座標に対応する画像データを処理して表示画像をフレームメモリに描画するステップと、を含むことを特徴とする。
【0009】
本発明のさらに別の態様はコンテンツ作成支援方法に関する。このコンテンツ作成支援方法は、視点を移動させながら画像を表示するコンテンツにおいて視点の移動を規定するシナリオデータの作成を支援するコンテンツ作成支援方法であって、ユーザが視点の移動を規定するために設定した、フレームの通過点である複数のキーフレームの座標とキーフレーム間の移動時間の設定情報を取得するステップと、画像を部分的に描画するのに要する処理時間の指標の分布を保持するスピードマップをメモリより読み出すステップと、設定情報に応じた視点の移動速度が処理時間の指標から取得される移動経路上の制限速度を超えるか否かを判定するステップと、移動速度が移動経路上の制限速度を超える場合、設定情報を修正するステップと、修正するステップにおける修正結果に応じて最終的なシナリオデータを作成してメモリに格納するステップと、を含むことを特徴とする。
【0010】
本発明のさらに別の態様は画像ファイルのデータ構造に関する。このデータ構造は、視点を移動させながら画像を表示するために記憶装置から読み出される画像ファイルのデータ構造であって、表示対象の画像のデータと、画像を部分的に描画するのに要する処理時間の指標の分布を保持し、視点の移動速度の上限を定めるために参照されるスピードマップと、を対応づけたことを特徴とする。
【0011】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0012】
本発明によると、表示条件によらず、視点を円滑に移動させる表示が可能となる。
【図面の簡単な説明】
【0013】
【図1】本実施の形態に適用できる情報処理システムの使用環境を示す図である。
【図2】図1の情報処理システムに適用できる入力装置の外観構成を示す図である。
【図3】本実施の形態において使用する画像データの階層構造の概念図である。
【図4】本実施の形態における情報処理装置の構成を示す図である。
【図5】本実施の形態における画像データの先読み処理を説明するための図である。
【図6】本実施の形態におけるシナリオデータの概念図である。
【図7】本実施の形態において画像を表示する機能を有する制御部の構成を詳細に示す図である。
【図8】本実施の形態において伝達関数としてガウス関数を採用した場合の、関数の最大値の変化に対する移動速度の変化を説明するための図である。
【図9】本実施の形態においてシナリオデータの作成を支援する機能を有する制御部の構成を詳細に示す図である。
【図10】本実施の形態における設定情報修正部が経路を修正する場合の具体例を説明するための図である。
【図11】本実施の形態においてシナリオデータの作成を支援する手順を示すフローチャートである。
【発明を実施するための形態】
【0014】
本実施の形態において処理対象とする画像のデータは、原画像を複数段階に縮小して生成した異なる解像度の画像からなる階層構造を有する。各階層の画像は一又は複数のタイル画像に分割する。たとえば最も解像度の低い画像は1つのタイル画像で構成し、最も解像度の高い原画像は、最も多い数のタイル画像で構成する。画像表示時は、描画に使用しているタイル画像を、表示画像が所定の解像度になったときに異なる階層のタイル画像に切り替えることで、拡大表示または縮小表示を迅速に行う。
【0015】
まず、このような階層構造を有する画像の基本的な表示態様について説明する。図1は、本発明の実施の形態を適用できる情報処理システム1の使用環境を示す。情報処理システム1は、画像処理を含むプログラムを実行する情報処理装置10と、情報処理装置10による処理結果を出力する表示装置12とを備える。表示装置12は、画像を出力するディスプレイおよび音声を出力するスピーカを有するテレビであってよい。
【0016】
表示装置12は、情報処理装置10に有線ケーブルで接続されてよく、また無線LAN(Local Area Network)などにより無線接続されてもよい。情報処理システム1において、情報処理装置10は、ケーブル14を介してインターネットなどの外部ネットワークに接続し、階層化された圧縮画像データを含むコンテンツファイルなどをダウンロードして取得してもよい。なお情報処理装置10は、無線通信により外部ネットワークに接続してもよい。
【0017】
情報処理装置10は、ユーザからの要求に応じて、表示装置12のディスプレイに表示する画像の拡大/縮小処理や、上下左右方向への移動処理など、表示領域を変更する処理を行う。このような表示領域の移動および拡大縮小は、ユーザの仮想的な視点の移動とも捉えることができる。ユーザが、ディスプレイに表示された画像を見ながら入力装置を操作して視点移動要求を行うと、入力装置が、当該視点移動要求信号を情報処理装置10に送信する。情報処理装置10はさらに、画像表示コンテンツとして画像データとともに提供される、視点の変化をあらかじめ規定したデータによって、自動的に表示領域を変更する処理を行う。
【0018】
図2は、入力装置20の外観構成を示す。入力装置20は、ユーザが操作可能な操作手段として、十字キー21、アナログスティック27a、27bと、4種の操作ボタン26、持ち手部分28a、28bを備える。4種の操作ボタン26は、○ボタン22、×ボタン23、□ボタン24および△ボタン25から構成される。
【0019】
情報処理システム1において、入力装置20の操作手段には、コンテンツの起動/終了要求、コンテンツに応じた各種機能の実行要求のほか、表示領域の拡大/縮小要求、および上下左右方向へのスクロール要求を入力するための機能が割り当てられる。たとえば、画像の拡大/縮小要求の入力機能は、右側のアナログスティック27bに割り当てられる。ユーザはアナログスティック27bを手前に引くことで、表示画像の縮小要求を入力でき、また手前から押すことで、表示画像の拡大要求を入力できる。このとき、アナログスティック27bを傾ける角度によって拡大率の変更速度を調節できるようにしてもよい。
【0020】
また、表示領域のスクロールの入力機能は、アナログスティック27aに割り当てられる。ユーザはアナログスティック27aをいずれかの方向に傾けることで、当該方向へのスクロール要求を入力できる。このとき、傾ける角度によってスクロールの速度を調節できるようにしてもよい。なお、表示領域移動の要求を入力する機能は別の操作手段に割り当てられてもよく、たとえば十字キー21にスクロール要求の入力機能が割り当てられてもよい。
【0021】
また後に述べる各種機能を実現するため、入力装置20にはさらに、画像に表示されたカーソルを移動させたり、ファイルやコマンドを選択したりする機能も割り当てる。あるいは入力装置20は、ポインティングデバイス、マウス、キーボード、タッチパネルなど一般的な入力装置で実現してもよい。上述したような機能の割り当ては、入力装置20の種類によって適宜決定してよい。
【0022】
入力装置20は、入力された視点移動要求信号などを情報処理装置10に伝送する機能をもち、本実施の形態では情報処理装置10との間で無線通信可能に構成される。入力装置20と情報処理装置10は、Bluetooth(ブルートゥース)(登録商標)プロトコルやIEEE802.11プロトコルなどを用いて無線接続を確立してもよい。なお入力装置20は、情報処理装置10とケーブルを介して接続して、視点移動要求信号などを情報処理装置10に伝送してもよい。
【0023】
図3は、本実施の形態において使用する画像データの階層構造の概念図を示す。画像データは、深さ(Z軸)方向に、第0階層30、第1階層32、第2階層34および第3階層36からなる階層構造を有する。なお同図においては4階層のみ示しているが、階層数はこれに限定されない。以下、このような階層構造をもつ画像データを「階層データ」とよぶ。
【0024】
図3に示す階層データは4分木の階層構造を有し、各階層は1以上のタイル画像38で構成される。すべてのタイル画像38は同じ画素数をもつ同一サイズに形成され、たとえば256×256画素を有する。各階層の画像データは、一つの画像を異なる解像度で表現しており、最高解像度をもつ第3階層36の原画像を複数段階に縮小して、第2階層34、第1階層32、第0階層30の画像データが生成される。たとえば第N階層の解像度(Nは0以上の整数)は、左右(X軸)方向、上下(Y軸)方向ともに、第(N+1)階層の解像度の1/2であってよい。
【0025】
情報処理装置10において、階層データは、所定の圧縮形式で圧縮された状態で記憶装置に保持されており、ディスプレイに表示される前に記憶装置から読み出されてデコードされる。本実施の形態の情報処理装置10は、複数種類の圧縮形式に対応したデコード機能を有し、たとえばS3TC形式、JPEG形式、JPEG2000形式の圧縮データをデコード可能とする。
【0026】
階層データの階層構造は、図3に示すように、左右方向をX軸、上下方向をY軸、深さ方向をZ軸として設定され、仮想的な3次元空間を構築する。情報処理装置10は、入力装置20から供給される視点移動要求信号から表示画像の変更量を導出すると、その変更量を用いて仮想空間におけるフレームの4隅の座標(フレーム座標)を導出する。あるいはあらかじめコンテンツにおいて規定された、表示すべき領域のフレーム座標を逐次読み出す。
【0027】
仮想空間におけるフレーム座標は、後述するメインメモリへの圧縮データのロードおよび表示画像の生成処理に利用される。なお、仮想空間におけるフレーム座標の代わりに、情報処理装置10は、階層を特定する情報と、その階層におけるテクスチャ座標(UV座標)を導出してもよい。以下、階層特定情報およびテクスチャ座標の組み合わせも、フレーム座標と呼ぶ。
【0028】
次に本実施の形態の情報処理装置の基本構成を説明する。図4は情報処理装置10の構成を示している。情報処理装置10は、無線インタフェース40、スイッチ42、表示処理部44、ハードディスクドライブ50、記録媒体装着部52、ディスクドライブ54、メインメモリ60、バッファメモリ70および制御部100を有して構成される。表示処理部44は、表示装置12のディスプレイに表示するデータをバッファするフレームメモリを有する。
【0029】
スイッチ42は、イーサネットスイッチ(イーサネットは登録商標)であって、外部の機器と有線または無線で接続して、データの送受信を行うデバイスである。スイッチ42は、ケーブル14を介して外部ネットワークに接続し、サーバからコンテンツファイルなどを受信できるように構成される。またスイッチ42は無線インタフェース40に接続し、無線インタフェース40は、所定の無線通信プロトコルで入力装置20と接続する。入力装置20においてユーザから入力された信号は、無線インタフェース40、スイッチ42を経由して、制御部100に供給される。
【0030】
ハードディスクドライブ50は、データを記憶する記憶装置として機能する。スイッチ42を介して受信されたコンテンツファイルなどのデータは、ハードディスクドライブ50に格納される。記録媒体装着部52は、メモリカードなどのリムーバブル記録媒体が装着されると、リムーバブル記録媒体からデータを読み出す。ディスクドライブ54は、読み出し専用のROMディスクが装着されると、ROMディスクを駆動して認識し、データを読み出す。ROMディスクは、光ディスクや光磁気ディスクなどであってよい。画像データやコンテンツファイルはこれらの記録媒体に格納されていてもよい。
【0031】
制御部100は、マルチコアCPUを備え、1つのCPUの中に1つの汎用的なプロセッサコアと、複数のシンプルなプロセッサコアを有する。汎用プロセッサコアはPPU(PowerPC Processor Unit)と呼ばれ、残りのプロセッサコアはSPU(Synergistic Processor Unit)と呼ばれる。
【0032】
制御部100は、メインメモリ60およびバッファメモリ70に接続するメモリコントローラを備える。PPUはレジスタを有し、演算実行主体としてメインプロセッサを備えて、実行するアプリケーションにおける基本処理単位としてのタスクを各SPUに効率的に割り当てる。なお、PPU自身がタスクを実行してもよい。SPUはレジスタを有し、演算実行主体としてのサブプロセッサとローカルな記憶領域としてのローカルメモリを備える。ローカルメモリは、バッファメモリ70として使用されてもよい。
【0033】
メインメモリ60およびバッファメモリ70は記憶装置であり、RAM(ランダムアクセスメモリ)として構成される。SPUは制御ユニットとして専用のDMA(Direct Memory Access)コントローラをもち、メインメモリ60とバッファメモリ70の間のデータ転送を高速に行うことができ、また表示処理部44におけるフレームメモリとバッファメモリ70の間で高速なデータ転送を実現できる。本実施の形態の制御部100は、複数のSPUを並列動作させることで、高速な画像処理機能を実現する。表示処理部44は、表示装置12に接続されて、ユーザからの要求に応じた画像処理結果を出力する。
【0034】
情報処理装置10は、表示画像の拡大/縮小処理やスクロール処理を行う際に表示をスムーズに更新するために、圧縮画像データの一部をハードディスクドライブ50からメインメモリ60にロードしておく。またそれまでの視点の移動方向をもとに、将来表示するであろう領域を先読みし、メインメモリ60にロードした画像データのさらに一部をデコードしてバッファメモリ70に格納してもよい。これにより、後の必要なタイミングで、表示画像の生成に使用する画像を瞬時に切り替えることが可能となる。
【0035】
図5は、先読み処理を説明するための図である。図5は、階層データの構造を示しており、各階層はL0(第0階層)、L1(第1階層)、L2(第2階層)、L3(第3階層)と表現されている。図5に示す階層データ構造において、深さ(Z軸)方向における位置は解像度を示し、L0に近い位置ほど解像度が低く、L3に近い位置ほど解像度は高い。なおディスプレイに表示される画像の大きさに注目すると、深さ方向における位置は、縮尺率に対応し、L3の表示画像の縮尺率を1とすると、L2における縮尺率は1/4、L1における縮尺率は1/16となり、L0における縮尺率は1/64となる。
【0036】
したがって深さ方向において、表示画像がL0側からL3側へ向かう方向に変化する場合、表示画像は拡大していき、L3側からL0側へ向かう方向に変化する場合は、表示画像は縮小していく。矢印80は、ユーザからの視点移動要求信号が、表示画像の縮小を要求しており、縮尺率1/4(L2)をまたいだ様子を示している。情報処理装置10では、タイル画像38として用意しているL1、L2の深さ方向の位置を、深さ方向の先読み境界として設定し、画像変更要求信号が先読み境界をまたぐと、先読み処理を開始する。
【0037】
表示画像の縮尺率がL2の近傍にある場合、表示画像は、L2(第2階層)のタイル画像を用いて作成される。具体的には、表示する画像の縮尺率が、L1タイル画像とL2タイル画像の切替境界82と、L2タイル画像とL3タイル画像の切替境界84の間にある場合に、L2タイル画像が利用される。したがって、矢印80に示すように画像の縮小処理が要求されると、L2のタイル画像が拡大された画像から、縮小された画像に変換されて表示される。一方、画像変更要求信号から予測される将来必要なタイル画像38を特定して、デコードしておく。図5の例では、視点移動要求信号による要求縮尺率がL2をまたいだときに、情報処理装置10は、縮小方向にあるL1の対応するタイル画像38をハードディスクドライブ50またはメインメモリ60から先読みしてデコードし、バッファメモリ70に書き込む。
【0038】
なお以上は深さ方向の先読み処理について説明したが、上下左右方向の先読み処理についても同様に処理される。具体的には、バッファメモリ70に展開されている画像データに先読み境界を設定しておき、画像変更要求信号による表示位置が先読み境界をまたいだときに、先読み処理が開始されるようにする。
【0039】
情報処理装置10は、上述したように入力装置20に対するユーザからの視点移動要求に対して逐次、表示領域を移動させて画像を表示するほか、あらかじめ規定した動きで表示領域を移動させることを可能とする。この場合、フレーム座標の経時変化を規定するデータ(以後、「シナリオデータ」と呼ぶ)をあらかじめ作成し、階層データの付加データとすることによりコンテンツファイルを形成する。情報処理装置10はメインメモリ60にロードしたシナリオデータを参照することにより、規定されたタイミングで規定されたフレームが表示されるように視点を移動させる。これにより表示対象の画像中、コンテンツ作成者が見せたいと考える領域へ表示が次々に移動する表現態様を実現できる。
【0040】
図6はシナリオデータの概念図である。同図に示す階層データ300に対し、シナリオデータは矢印302のように規定される。ここで各階層上に示した点線の矩形はシナリオデータで規定するフレーム、すなわちキーフレームを示している。すなわちこの例では、第0階層30上のキーフレーム304、第1階層32上のキーフレーム306、第2階層34上のキーフレーム308、第3階層36上のキーフレーム310をこの順で表示するような視点の移動を規定している。
【0041】
シナリオデータは表示対象の階層データの識別情報、キーフレームのフレーム座標、次のキーフレームへ到達するまでの時間間隔などを設定したファイルである。シナリオデータは情報処理装置10が解釈可能なXMLなどのマークアップ言語で記述してもよい。このとき情報処理装置10は、シナリオデータをメインメモリ60より読み出し、キーフレームを線形補間やスプライン補間などで補間するように、フレームレートに基づく各時刻のフレームのフレームパラメータを算出する。それに応じてデコード、描画を実行することにより、フレームが逐次表示される。
【0042】
次にXMLで記述されたシナリオデータの例を示す。なおこの例では、あらかじめフレーム座標が既知の基準フレームに対する(X方向オフセット、Y方向オフセット、拡大率比)からなるフレームパラメータをフレーム座標に代えて用いている。
【0043】
【表1】

【0044】
上記記述において、(7)〜(11)行目は、画像データ名「INDEX」を表示対象とし、当該画像のうちフレームパラメータが(−0.2,−0.2,0.6)のフレームを初期画像として表示することが設定されている。次に(12)〜(24)において、視点を移動させていく設定がなされている。具体的には、4秒間かけて(15行目)、線形に(16行目)、始点の時刻を0、終点の時刻を1.0としたときに0、0.5、1.0の各時刻で(17行目)、フレームパラメータが(−0.2,−0.2,0.6)、(−0.1,−0.1,0.5)、(−0.1,−0.1,0.25)なるフレームが表示されるように(19〜21行目)、視点を移動させる、という設定である。このように、視点を移動させていくうえで、通過点としてシナリオデータに記述されるフレームがキーフレームである。
【0045】
このように、複数のフレーム座標とその表示タイミングをシナリオデータで規定することにより、ユーザがコンテンツを開始させる入力を行うのみで、動画コンテンツの如く表示が変化していく態様を実現できる。一方、シナリオデータにおいて、入力装置20に対するユーザの操作、または視点の位置などと、それによって表示されるフレームの座標とを対応づけてもよい。
【0046】
例えばある領域が表示されている状態で入力装置20の○ボタン22を押下すると、シナリオデータに記述したフレームのうち最近傍のフレームに表示を移動させる。あるいは入力装置20の十字キー21などによって先送り/後戻りの操作を行った場合に、シナリオデータに記述したフレームの順で表示領域を移動させる。このようにすることで、例えば表示対象が新聞や雑誌の内容であった場合に、記事単位で表示対象を移動させたり、注目させたい領域に表示を誘導したりすることができる。
【0047】
また表示対象の画像中、あらかじめ定めたリンク領域に表示領域が重なると、別の画像の階層データへ表示を切り替えるような態様において、リンク領域を含む所定範囲内に入ったら表示領域をリンク領域へ誘導する。例えば電化製品などの装置が有する各種機能を表すアイコンを配列した画像のデータにおいて、各アイコンの領域をリンク領域とし、アイコンが表す機能の説明文書の画像データとそれぞれ対応づけておく。すると、アイコンを配列した画像を表示中、ユーザがあるアイコンへ表示領域を近づけると、当該アイコンが表す機能の説明文書が表示される、といった態様を実現できる。
【0048】
ユーザによる視点移動要求の入力やシナリオデータなど、視点移動のきっかけとなる入力手段がいずれの場合でも、本実施の形態における画像表示技術は、階層データが形成する仮想的な三次元空間を視点が連続的に移動していく、という表現態様をとる。このような態様では、複数のフレームを次々表示していく動画表示とは異なり、視点が自然に移動していくように見せることが重要となる。
【0049】
視点の移動中は、表示装置の垂直同期周波数などに依存したフレームレートで連続的に、位置をずらしながら表示領域の新たな画像をデコードし描画していく必要がある。このとき、移動に追随させて円滑に表示を更新することができるようにするため、先読み処理や、フレームより十分大きいサイズのバッファメモリ70に周辺領域をデコードしておく、といった手法が有効となる。
【0050】
しかしながら要求される移動速度が大きくなるほど移動範囲は広大となり、新たな圧縮画像データのロードやデコードなど、表示の更新までに必要な処理が増える傾向となるため、表示の更新が間に合わなくなる可能性が高くなる。すると、移動途中で表示が一時停止したり断続的に表示されたりすることになる。移動速度の許容値は、表示システムの処理能力や画像の圧縮形式などによって様々であり、さらに、画像の粗密によって画像内でも変化する。そのため画像表示コンテンツを作成する段階で、表示システムや画像データの条件などを考慮して移動の制御条件を様々作り替える必要があった。
【0051】
そこで本実施の形態では、視点の移動速度の上限の分布を画像平面上の位置に対応するマップとしてあらかじめ準備し、画像の階層データの付加データとする。当該マップは階層データの各階層に対して準備し、例えば各階層を形成するタイル画像ごとに制限速度の指標となる値を保持する階層構造を有する。以後、このデータを「スピードマップ」と呼ぶ。スピードマップは例えば、画像の階層データを作成する際などに、各タイル画像のデータサイズ、および想定する表示システムの処理能力に基づき作成する。この場合、当該表示システムについて後述する処理能力を取得しておく。なお指標はタイル画像ごとでなく、複数のタイル画像ごと、画像を所定の規則で区切って得られた区画ごと、画像上の素材画像の領域ごとなどでもよい。
【0052】
スピードマップを参照することにより、画像を表示する段階において、ある視点から別の視点へ移動する際の最大移動速度を調整する。また、シナリオデータを作成する段階において、シナリオデータで規定するキーフレーム間の移動時間、または経路を調整する。以後、スピードマップを参照して画像表示を行う装置、およびスピードマップを参照してシナリオデータ作成を支援する装置について説明する。いずれの装置も、図4で説明した情報処理装置10と同様の構成によって実現できる。以後、それぞれの機能を有する情報処理装置10の制御部100の構成を区別して説明するが、それらは同一の情報処理装置10に設けられていてもよい。
【0053】
図7は画像を表示する機能を有する制御部100aの構成を詳細に示している。このときハードディスクドライブ50には、階層データ116、スピードマップ118、およびシナリオデータ119が格納されている。ユーザからの視点移動要求に対し逐次表示領域を移動させる態様のみで画像表示を行う場合はシナリオデータ119はなくてもよい。
【0054】
制御部100aは、入力装置20に対しユーザが行った操作に係る情報を取得する入力情報取得部102、画像表示に必要なデータをハードディスクドライブ50からロードするロード部108、スピードマップに基づき移動速度を調整する移動条件調整部104、表示領域のフレーム座標を逐次決定するフレーム座標決定部105、圧縮画像データをデコードするデコード部106、表示画像を描画する表示画像処理部114を含む。
【0055】
図7および後述の図9において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、CPU(Central Processing Unit)、メモリ、その他のLSIで構成することができ、ソフトウェア的には、メインメモリ60にロードされたプログラムなどによって実現される。既述したように、制御部100、100a、100bは1つのPPUと複数のSPUとを有し、PPUおよびSPUがそれぞれ単独または協同して、各機能ブロックを構成できる。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【0056】
入力情報取得部102は、入力装置20のユーザによる操作に従い、コンテンツの起動/終了、視点移動などの要求信号を入力装置20より取得し、当該情報を必要に応じて移動条件調整部104、フレーム座標決定部105、ロード部108に通知する。ロード部108は、入力情報取得部102からコンテンツの起動要求がなされたことを通知されたら、階層データ116に含まれる初期画像の画像データ、スピードマップ118、シナリオデータ119など画像表示に必要なデータをハードディスクドライブ50から読み出しメインメモリ60に格納する。初期画像は適宜、デコード部106がデコードし、表示画像処理部114が表示処理部44のフレームメモリに描画することにより表示装置12に表示される。
【0057】
ユーザが入力装置20に対し、シナリオデータによる視点の移動開始を指示する入力を行った場合、フレーム座標決定部105はその旨の通知を入力情報取得部102から受け付け、メインメモリ60に格納されたシナリオデータ119を読み出す。そして規定されたキーフレームを補間するように、所定のフレームレートから定まる次の表示更新時刻におけるフレーム座標を算出する。具体的にはシナリオデータに記述された次の移動先であるフレーム座標とそこに至るまでの移動時間とから、各表示更新時刻のフレーム座標を所定の補間手法により決定する。
【0058】
シナリオデータ作成時に、後述する手法で時間調整または経路調整がなされている場合は、表示段階で速度調整を行う必要がない。一方、シナリオデータ作成時に調整がなされていない場合は、次に述べる、ユーザの入力による視点移動と同様に移動速度を調整する。
【0059】
入力装置20に割り当てられた、画像の拡大/縮小やスクロールのための手段をユーザが操作している場合、フレーム座標決定部105は、その操作状況を表す信号を入力情報取得部102から受け付け、それに基づき次の表示更新時刻のフレーム座標を決定する。例えばアナログスティック27aが操作されている場合は、その傾斜方向や傾き角度に応じた速度ベクトルに基づき新たなフレーム座標を算出する。または十字キー21などによって先送り/後戻りの操作が行われた場合や表示を誘導すべき状況が発生した場合は、シナリオデータに規定された、次に表示すべきキーフレームの座標を読み出し、現在の表示領域との間を補間することにより、次の表示更新時刻のフレーム座標を算出する。
【0060】
アナログスティック27aの傾斜方向や傾き角度など、入力装置20に対するユーザの操作量を、その時点における視点の速度ベクトルに直接換算すると、移動に緩急がつきすぎて見づらくなったり、不連続な動きになってしまったりすることが考えられる。そこでフレーム座標決定部105は、入力装置20から得られる、要求された移動量を表す矩形波信号と所定の伝達関数とを畳み込み演算することにより速度ベクトルを緩やかに変化させる。ここで伝達関数はガウス関数としてもよい。1回のボタン操作でシナリオデータに規定されたキーフレームへ移動する場合も、同様の矩形波信号を発生させ伝達関数と畳み込み演算を行うことによって唐突感のない移動を表現できる。詳細は後に述べる。
【0061】
移動条件調整部104は、フレーム座標決定部105が速度ベクトルを求めたり次のキーフレームまでのフレームを補間したりするのに先んじて、経路上のどの区間においてもスピードマップ118から取得される制限速度を超えないように、視点の移動速度を調整する。フレーム座標決定部105は、移動条件調整部104の調整結果に従い、速度ベクトルを求めたりフレームを補間したりする。移動条件調整部104は速度の値を直接調整してもよいし、例えば伝達関数の最大値を調整するなど、間接的に速度を調整してもよい。具体例は後述する。
【0062】
デコード部106は、メインメモリ60から画像データの一部を読み出しデコードし、バッファメモリ70にデコード後のデータを格納する。デコード部106がデコードするデータは、表示領域を含む所定サイズの画像データでよい。あらかじめ広範囲の画像データをデコードし、バッファメモリ70に格納しておくことにより、メインメモリ60からの読み出し回数を削減でき、円滑な視点移動を実現できる。表示画像処理部114は、フレーム座標決定部105が決定した、新たに表示すべき領域のフレーム座標を取得し、バッファメモリ70から対応する画像データを読み出して、表示処理部44のフレームメモリに描画する。
【0063】
次にスピードマップの具体例を説明する。上述したように表示領域が実際に表示されるまでに要する時間は、画像を表示するシステムの処理能力、主にデコード処理能力SD[i]と表示装置12へのデータ転送能力ST、および、画像データのデータサイズmに依存する。ここで変数iはデコード部106でデコードできる圧縮形式を識別する識別番号である。またデータサイズmは本実施の形態においてはタイル画像ごとの値である。
【0064】
このときデコード処理時間Td、データ転送時間Ttはそれぞれ、
Td=m/SD[i]、
Tt=m/ST
となるため、これらの処理時間の合計Tは
T=m(1/SD[i]+1/ST)
と表すことができる。
【0065】
ここで基準となるシステムにおいて基準データサイズMの画像データを処理した場合の基準処理時間Tstに対する、スピードマップを求めたい表示システムにおける同じ画像データの処理時間Tの割合をL[i]とする。このとき、当該システムにおいてデータサイズmの画像データを処理する時間Tの、基準処理時間Tstに対する比Rは、
R=T/Tst=L[i]m/M
となる。この変数Rは、タイル画像のデータサイズ、表示システムの処理能力、およびデータの圧縮形式に依存する変数であり、処理時間係数と呼ぶ。
【0066】
変数L[i]を表示システムごと、圧縮形式ごとに求めておけば、階層データ作成時などにタイル画像のデータサイズmを取得すれば、タイル画像ごとに処理時間係数Rを一意に決定できる。この処理時間係数Rは、移動時に許容できる速度の上限、すなわち制限速度の逆数を標準処理に対して正規化した値である。本実施の形態では処理時間係数Rを、制限速度を表す指標としてタイル画像ごとに保持する階層構造のデータをスピードマップとする。スピードマップを用いて移動速度を調整する手法としては様々考えられる。最も単純には、現在の視点の制限速度をスピードマップから算出し、それを後の微小時間の移動における制限速度とすることが考えられる。この場合、微小時間ごとに速度調整を繰り返すことになる。
【0067】
一方、畳み込み演算に用いる伝達関数を調整することによって間接的に速度を調整することが考えられる。図8は伝達関数としてガウス関数を採用した場合の、関数の最大値の変化に対する移動速度の変化を説明するための図である。同図において位置の時間変化202は入力情報を表し、視点を位置Aから位置Bまで移動させる、という入力がなされた場合を示している。例えばユーザが入力装置20の十字キー21を操作して、シナリオデータに規定された次のキーフレームまで移動する場合に、このような入力情報が得られる。この場合、移動時間については特に定まっていない。
【0068】
この入力情報に対し、ガウス関数204で畳み込み演算を行うと、位置の時間変化208が得られる。すなわち位置Aから緩やかに移動し中間地点で最大速度となってまた緩やかに位置Bに至る移動を実現できる。ここで最大速度を規定するのはガウス関数204の最大値Faである。したがって最大値がFaより小さいFbのガウス関数206で畳み込み演算を行うと、最大速度が遅くなり位置Bに到達するまでの時間が長くなる、位置の時間変化210のような移動となる。
【0069】
そこで、スピードマップに表される処理時間係数Rの変化に応じてガウス関数の最大値を調整することにより、位置Aから位置Bまでの全期間で移動速度が制限速度を超えないようにすることができる。具体的には、位置Aから位置Bへ至る経路上の各フレームに含まれるタイル画像に対応する処理時間係数Rの逆数を、各フレームに含まれる面積に応じて重みづけ平均した値を、当該フレーム位置における制限速度を表す指標、すなわち制限速度指標として算出する。
【0070】
そして経路上で最も小さい制限速度指標を特定し、それに応じてガウス関数の最大値を増減する。経路上で制限速度指標が最も小さい領域は、データサイズが最大である。このため、移動の最大速度を制限速度指標の最小値に合わせるように調整することにより、データサイズが最大の領域が経路上のどこにあろうと当該領域を滞りなく移動でき、結果として移動中の全期間においてコマ落ちなどの状態が発生するのを回避できることになる。
【0071】
このとき例えば、上述の基準処理を行った場合の最適なガウス関数の最大値などを基準値として求めておけば、制限速度指標の比からガウス関数の最大値を相対的に調整することができる。この例は、移動先の視点の位置Bがユーザの操作によって判明する場合であるが、ユーザの入力によって視点を逐次移動させる場合であっても、上述の先読み処理によって予測される移動先を位置Bとすれば、同様の調整が可能である。
【0072】
次にシナリオデータの作成を支援する装置について説明する。図9はシナリオデータの作成を支援する機能を有する制御部100bの構成を詳細に示している。このときハードディスクドライブ50には階層データ116、スピードマップ118が格納されており、ユーザによるシナリオデータ作成を開始する指示入力に従いメインメモリ60にロードされる。スピードマップ118は処理能力の異なる表示システムごとに複数格納されていてもよい。この場合は次に述べる設定情報の修正をスピードマップごとに行い、結果としてシナリオデータが表示システムごとに作成される。
【0073】
制御部100bは、シナリオデータ作成者によるシナリオデータの設定情報を取得する設定情報取得部120、設定情報に従って視点を移動させた場合の移動速度の是非を検証する移動速度検証部122、設定情報に従う移動で速度が超過している場合にその旨をシナリオデータ作成者に通知する速度超過通知部126、設定情報に従う移動で速度が超過している場合に当該設定情報を修正する設定情報修正部124、速度超過のない最終的なシナリオデータを作成するシナリオデータ生成部128を含む。
【0074】
設定情報取得部120は、入力装置20に対してシナリオデータ作成者が入力した、複数のキーフレームの座標と、キーフレーム間の移動時間などを取得してメインメモリ60に格納する。例えばシナリオデータ作成用のGUI(Graphical User Interface)を表示装置12に表示させ、キーフレームの指定と、前のキーフレームからそのキーフレームに至るまでの移動時間の設定をシナリオデータ作成者に促す。
【0075】
例えば図7で示した表示機能を有する制御部100aと同様の構成を設定情報取得部120に備える。そしてシナリオデータ作成者は表示装置12に表示させた画像を確認しながら入力装置20を用いて視点を移動させ、所望のフレームを表示させた状態で入力装置20の所定のボタンを押下するなどしてキーフレームのフレーム座標を指定する。それとともに移動時間の入力を入力装置20のテンキー(不図示)などによって行う。設定情報取得部120は必要に応じて、指定された複数のキーフレーム座標を直線または所定の曲線で補間することにより、経路上に追加でキーフレームを挿入する。
【0076】
あるいは設定情報取得部120は、テキスト編集画面を表示装置12に表示させ、シナリオデータ作成者が入力装置20のキーボード(不図示)などを用いて文字列を入力していくことによりキーフレームの情報を登録するようにしてもよい。例えばXML文書などのマークアップ言語で、キーフレームの座標とその表示時間、次のキーフレームへ到達するまでの移動時間といった項目をシナリオデータ作成者に設定させる。
【0077】
移動速度検証部122は、設定情報取得部120が取得した、フレーム座標と移動時間の情報を参照し、移動速度を取得する。一方、メインメモリ60にロードしておいたスピードマップ118を参照し、設定された経路に含まれるタイル画像の処理時間係数Rから経路上の制限速度指標を取得する。そしてそれらを比較することにより、速度超過の有無を判定する。
【0078】
例えばキーフレーム間をガウス関数状の速度変化で移動させる場合、上述のようにガウス関数の最大値を、経路における制限速度指標の最小値から求める。そして求めたガウス関数で定まる、キーフレーム間の移動に要する時間と、設定情報で設定されたキーフレーム間の移動時間とを比較する。設定された移動時間が、移動に要する時間より短い場合、設定された移動時間では速度が速すぎ、コマ落ちなどの危険性があると判断できる。なお隣合うキーフレームの位置の時間変化を線形に結んで得られる速度を、制限速度指標を実際の制限速度に換算した値と比較するなどでもよい。
【0079】
速度超過通知部126は、移動速度検証部122において、設定された移動時間では速度が速すぎると判断された場合に、表示装置12などを介してその旨をシナリオデータ作成者に通知する。このときシナリオデータ作成者は、移動時間を長くするなど設定値の調整を行うことができる。
【0080】
設定情報修正部124は、移動速度検証部122において、設定された移動時間では速度が速すぎると判断された場合に、設定情報を修正する。具体的には、速度が超過しなくなるまでキーフレーム間の移動時間を長くする。あるいは、移動時間はそのままとし移動経路を修正する。このとき例えば、シナリオ作成者が設定したキーフレーム間に、修正した経路上にあるフレームをキーフレームとして挿入することにより、表示システムにおける画像表示時には、修正した経路で視点を移動させることができる。経路変更の具体例は後に述べる。
【0081】
いずれの場合も、修正した結果、速度が超過しなくなったか否かの検証は、移動速度検証部122が上述と同様に行ってもよい。修正にあたっては、速度超過通知部126がシナリオデータ作成者に修正の是非を確認するための通知を行い、シナリオデータ作成者が許可した場合にのみ実際の修正をおこなってもよい。また修正結果の是非をシナリオデータ作成者にさらに確認してもよい。
【0082】
シナリオデータ生成部128は、最終的に決定したキーフレームの座標と移動時間に、画像の階層データ116の識別情報など必要な情報を記述したシナリオデータを作成し、メインメモリ60などに出力する。さらに画像の階層データ116とまとめて一つのファイルとすることにより、コンテンツファイルを作成してもよい。
【0083】
図10は設定情報修正部124が経路を修正する場合の具体例を説明するための図である。同図に示す階層データ400において、経路402(一点鎖線)では速度超過と判定されたとする。この場合、移動中のいずれかの期間において、修正前の経路402を表示するのに用いていた階層の1つ上の階層の画像データを用いるように、階層データ400が形成する仮想空間のZ軸方向で経路を変更する。同図では、第3階層36上を移動する経路の一部を、第2階層34上を移動するように変更し、修正後の経路404(実線)としている。
【0084】
画像データの階層を1つ上げることにより、画像の解像度は設定されたものより低下するが、処理するデータサイズを小さくできるため処理時間係数Rが減少し、結果として制限速度指標が増加する。そのため同様の移動でも経路における速度制限が緩くなり、キーフレーム間の移動時間を変更せずに移動先のキーフレームに到達することができる。実際の修正は上述のとおり、修正後の経路におけるフレーム、図10の例では第2階層34上のフレームを1つ以上、キーフレームとして挿入することによって実現できる。
【0085】
なお2つ以上上の階層の画像データを用いるように経路を変更してもよい。経路の変更手法は、速度超過の状況に応じてあらかじめ定めた規則に従うか、少しずつ変更していき速度が超過しなくなった時点の経路を最終的な修正結果とする手法などでもよい。また図10は用いる階層を変化させる例であったが、階層は変化させずに速度制限の緩い経路を、スピードマップを用いて探索するようにしてもよい。
【0086】
次にシナリオデータの作成を支援する情報処理装置10の動作を説明する。図11はシナリオデータの作成を支援する手順を示すフローチャートである。図11に示すフローチャートにおいては、各部の処理手順を、ステップを意味するS(Stepの頭文字)と数字との組み合わせによって表示する。また、Sと数字との組み合わせによって表示した処理で何らかの判断処理が実行され、その判断結果が肯定的であった場合は、Y(Yesの頭文字)を付加して、例えば、(S10のY)と表示し、逆にその判断結果が否定的であった場合は、N(Noの頭文字)を付加して、(S10のN)と表示する。
【0087】
図11のフローチャートにおける処理は、シナリオデータ作成者がシナリオデータ作成開始の指示を入力したときに開始する。まずシナリオデータ作成者がシナリオデータの作成を開始する指示入力を行うと(S30)、設定情報取得部120は、対象となる画像上にキーフレームを指定するための矩形をオーバーレイさせた画面や移動時間設定画面を表示装置12に表示するなどしてシナリオデータ作成者からの入力を受け付けることにより設定情報を取得する(S32)。
【0088】
このとき必要に応じて、あらかじめ定めた補間手法でキーフレームを補間する。次に移動速度検証部122はスピードマップを参照し、設定情報におけるキーフレーム間の各移動のうち、速度が超過する移動箇所がないか検証する(S34)。速度超過がみられる場合は(S34のN)、速度超過通知部126がその旨をシナリオデータ作成者に通知するなどしたうえ、設定情報修正部124が設定情報を修正する(S38またはS40)。
【0089】
このとき、速度超過通知部126がシナリオデータ作成者に、速度を優先させるか画像の品質を優先させるかの指定入力を促す。あるいはあらかじめ設定された、どちらを優先するかの情報を読み出す。そして当該優先情報に応じて、経路の修正または移動時間の修正のいずれかへ処理を分岐する。すなわち速度を優先させる場合は、1つまたはそれ以上、上の階層へ経路の一部を変更するなどして移動時間は設定通りとする(S36のY、S38)。一方、速度を優先させずに画質を優先させる場合は、移動時間の設定値を延長する(S36のN、S40)。このとき移動速度検証部122による修正結果の検証を同時に行うことにより速度超過がないことを確認したうえで、修正後の経路、または移動時間を最終決定する。
【0090】
そしてシナリオデータ生成部128は、最終決定したキーフレームとその間の移動時間、および画像の階層データの識別情報など必要なデータを所定のフォーマットに記述することによりシナリオデータを生成して出力する(S42)。S34において速度超過がないと判定された場合も同様である(S34のY、S42)。なおS38およびS40の修正処理を行わず、速度超過通知部126がシナリオデータ作成者に速度超過の通知を行うのみでもよい。この場合、シナリオデータ作成者は、自分の考えるように設定情報を修正して入力し、移動速度検証部122がそれを再度検証し、速度超過があれば通知する、という処理を繰り返すことにより、最終的な設定をシナリオデータ作成者自信が決めてもよい。
【0091】
以上述べた本実施の形態によれば、表示対象の画像を複数の解像度で用意した画像データに対応させて、視点を移動させるときの制限速度の指標を導出できるスピードマップを作成する。スピードマップは、各解像度の画像を区分けしてなるタイル画像など領域ごとに処理時間係数を保持するデータである。処理時間係数は、タイル画像のデータサイズ、画像を表示するシステムの処理能力、画像の圧縮形式に依存する値であり、タイル画像のデコードや転送にかかる時間の大小を表す。
【0092】
このようなスピードマップを作成しておくことにより、移動速度を許容範囲内に調整することができ、対応する画像を表示する際、視点の移動が速すぎてコマ落ちするなどの不具合を防止できる。スピードマップは表示システムごとに作成できるため、例えば複数の表示システムのそれぞれに対応させて作成した複数のスピードマップを画像データとともにコンテンツファイルに含めることにより、表示システムにおける表示時は、自機に対応するスピードマップを選択して読み出すことによって適応的な速度調整が可能となる。
【0093】
視点の移動において、始点から終点までの速度を畳み込み演算で決定する場合、演算に用いるガウス関数などの関数を、スピードマップに基づき変化させることにより、速度の調整を行う。これにより、滑らかかつ速度超過のない視点移動を実現できる。このとき、経路上で最も厳しい制限速度に合わせて最高速度を決定することにより、確実に速度超過をなくすことができる。
【0094】
また、あらかじめシナリオデータにて設定しておいた経路で視点を移動させる態様においては、シナリオデータ作成者が設定したキーフレームの動きで速度超過が発生しないかどうかをスピードマップによって確認できる。これにより、適切なシナリオデータ作成のための支援が可能となる。速度超過が発生している場合は、設定されているキーフレーム間の移動時間を修正するか、解像度の低い画像データを用いるように経路の一部を修正する。速度を優先させるか画像の品質を優先させるかをシナリオデータ作成者が指定できるようにすることにより、シナリオデータ作成者の意図に近く、速度超過のないシナリオデータを決定することができる。
【0095】
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0096】
例えば本実施の形態ではシナリオデータ作成時に、スピードマップに従い経路の修正を行った。一方、表示システムにおける画像表示時に、同様の手法で経路の修正を行ってもよい。シナリオデータに従い視点を移動させていく場合や、ユーザによる入力によって所望のキーフレームへ表示領域を移動させる場合に、移動条件調整部は伝達関数の最大値は変化させずに、階層データにおける経路の階層を上げることにより速度超過がなくなるようにする。あるいはあらかじめ定めた規則で速度調整と経路調整を組み合わせてもよい。どのような調整を行うかは、コンテンツ作成者や鑑賞者が選択できるようにしてもよい。
【0097】
また本実施の形態では、制限速度を表す指標の分布を画像平面上の位置に対して表したスピードマップを準備し、視点移動にともない移動する表示領域の経路における指標を参照することにより移動速度を調整した。一方、スピードマップを視点の位置に対する分布としてもよい。例えば、画像平面と当該平面からの距離からなる3次元空間における視点座標を所定の粒度でサンプリングし、各視点座標に対応する表示領域の処理時間係数Rの分布を視点座標に対応づけることによりスピードマップとする。この場合も、例えば視点経路の周囲における指標の値を、経路からの距離に応じて重みづけ平均することによって経路上の制限速度指標を算出するなど、実施の形態と同様の処理で移動速度を調整できる。
【符号の説明】
【0098】
1 情報処理システム、 10 情報処理装置、 12 表示装置、 20 入力装置、 38 タイル画像、 50 ハードディスクドライブ、 60 メインメモリ、 100 制御部、 102 入力情報取得部、 104 移動条件調整部、 105 フレーム座標決定部、 106 デコード部、 108 ロード部、 114 表示画像処理部、 116 階層データ、 118 スピードマップ、 119 シナリオデータ、 120 設定情報取得部、 122 移動速度検証部、 124 設定情報修正部、 126 速度超過通知部、 128 シナリオデータ生成部。

【特許請求の範囲】
【請求項1】
表示対象の画像に対する視点を移動させる入力情報を取得する入力情報取得部と、
前記画像を部分的に描画するのに要する処理時間の指標の分布を保持するスピードマップを記憶したスピードマップ記憶部と、
前記入力情報に応じた視点の移動速度を、前記スピードマップが保持する、移動経路に対応する指標に基づき調整する移動条件調整部と、
調整後の移動速度に基づき表示すべきフレームのフレーム座標を決定するフレーム座標決定部と、
前記フレーム座標に対応する画像データを処理して表示画像を描画する表示画像処理部と、
を備えたことを特徴とする画像処理装置。
【請求項2】
前記スピードマップは、画像を区分けしてなる各領域を描画するのに要する処理時間の指標の、画像上の位置に対する分布を表し、前記移動条件調整部は、視点の移動によって定まるフレームの移動経路上の前記指標を参照することにより視点の移動速度を調整することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記スピードマップは、視点の位置によって定まるフレームを描画するのに要する処理時間の指標の、視点の位置に対する分布を表し、前記移動条件調整部は、視点の移動経路上の前記指標を参照することにより視点の移動速度を調整することを特徴とする請求項1に記載の画像処理装置。
【請求項4】
前記フレーム座標決定部は、前記入力情報取得部が入力情報として取得した、視点の移動量を表す矩形波信号と所定の形状を有する伝達関数とを畳み込み演算することによりフレーム間の移動量を算出して前記フレーム座標を決定し、
前記移動条件調整部は、前記伝達関数の最大値を、前記移動経路に対応する指標に基づき調整することを特徴とする請求項1から3のいずれかに記載の画像処理装置。
【請求項5】
前記表示対象の画像のデータは、異なる解像度の複数の画像データを解像度順に階層化して構成される階層構造を有し、前記スピードマップは、前記画像のデータにおける各階層の画像ごとに前記指標の分布を保持する階層構造を有することを特徴とする請求項1から4のいずれかに記載の画像処理装置。
【請求項6】
前記移動条件調整部はさらに、前記入力情報に応じた視点の移動速度が前記処理時間の指標から取得される移動経路上の制限速度を超えないように、当該移動経路のいずれかの区間について経路を変更することを特徴とする請求項1から5のいずれかに記載の画像処理装置。
【請求項7】
前記スピードマップ記憶部は、異なる処理能力を有する装置ごとに作成された前記スピードマップを記憶し、
前記移動条件調整部は、自機の処理能力に対応して作成された前記スピードマップを選択して参照することを特徴とする請求項1から6のいずれかに記載の画像処理装置。
【請求項8】
視点を移動させながら画像を表示するコンテンツにおいて視点の移動を規定するシナリオデータの作成を支援するコンテンツ作成支援装置であって、
ユーザが視点の移動を規定するために設定した、フレームの通過点である複数のキーフレームの座標とキーフレーム間の移動時間の設定情報を取得する設定情報取得部と、
前記画像を部分的に描画するのに要する処理時間の指標の分布を保持するスピードマップを記憶したスピードマップ記憶部と、
前記設定情報に応じた視点の移動速度が前記処理時間の指標から取得される移動経路上の制限速度を超えるか否かを判定する移動速度検証部と、
前記移動速度が前記移動経路上の制限速度を超える場合、前記設定情報を修正する設定情報修正部と、
前記設定情報修正部が行った修正の結果に応じて最終的なシナリオデータを作成するシナリオデータ生成部と、
を備えたことを特徴とするコンテンツ作成支援装置。
【請求項9】
前記設定情報修正部は、前記移動速度が前記移動経路上の制限速度を超えないように、前記設定情報のうちキーフレーム間の移動時間を延長することを特徴とする請求項8に記載のコンテンツ作成支援装置。
【請求項10】
前記設定情報修正部は、前記移動速度が前記移動経路上の制限速度を超えないように、前記設定情報のうちキーフレーム間の移動経路を変更するように、新たなキーフレームを挿入することを特徴とする請求項8に記載のコンテンツ作成支援装置。
【請求項11】
表示対象の画像のデータは、異なる解像度の複数の画像データを解像度順に階層化して構成される階層構造を有し、
前記設定情報修正部は、前記階層構造の画像平面とそれに垂直な解像度の軸によって定義される仮想空間において移動経路を変更することを特徴とする請求項10に記載のコンテンツ作成支援装置。
【請求項12】
前記スピードマップ記憶部は、異なる処理能力を有するコンテンツ実行システムごとに作成された前記スピードマップを記憶し、
前記シナリオデータ生成部は、前記コンテンツ実行システムごとに修正された前記設定情報に応じて、最終的なシナリオデータを前記コンテンツ実行システムごとに作成することを特徴とする請求項8から11のいずれかに記載のコンテンツ作成支援装置。
【請求項13】
表示対象の画像に対する視点を移動させる入力情報を取得するステップと、
前記画像を部分的に描画するのに要する処理時間の指標の分布を保持するスピードマップをメモリより読み出すステップと、
前記入力情報に応じた視点の移動速度を、前記スピードマップが保持する、移動経路に対応する指標に基づき調整するステップと、
調整後の移動速度に基づき表示すべきフレームのフレーム座標を決定するステップと、
前記フレーム座標に対応する画像データを処理して表示画像をフレームメモリに描画するステップと、
を含むことを特徴とする画像処理方法。
【請求項14】
視点を移動させながら画像を表示するコンテンツにおいて視点の移動を規定するシナリオデータの作成を支援するコンテンツ作成支援方法であって、
ユーザが視点の移動を規定するために設定した、フレームの通過点である複数のキーフレームの座標とキーフレーム間の移動時間の設定情報を取得するステップと、
前記画像を部分的に描画するのに要する処理時間の指標の分布を保持するスピードマップをメモリより読み出すステップと、
前記設定情報に応じた視点の移動速度が前記処理時間の指標から取得される移動経路上の制限速度を超えるか否かを判定するステップと、
前記移動速度が前記移動経路上の制限速度を超える場合、前記設定情報を修正するステップと、
前記修正するステップにおける修正結果に応じて最終的なシナリオデータを作成してメモリに格納するステップと、
を含むことを特徴とするコンテンツ作成支援方法。
【請求項15】
表示対象の画像に対する視点を移動させる入力情報を取得する機能と、
前記画像を部分的に描画するのに要する処理時間の指標の分布を保持するスピードマップをメモリより読み出す機能と、
前記入力情報に応じた視点の移動速度を、前記スピードマップが保持する、移動経路に対応する指標に基づき調整する機能と、
調整後の移動速度に基づき表示すべきフレームのフレーム座標を決定する機能と、
前記フレーム座標に対応する画像データを処理して表示画像をフレームメモリに描画する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラム。
【請求項16】
視点を移動させながら画像を表示するコンテンツにおいて視点の移動を規定するシナリオデータの作成を支援する機能をコンピュータに実現させるコンピュータプログラムであって、
ユーザが視点の移動を規定するために設定した、フレームの通過点である複数のキーフレームの座標とキーフレーム間の移動時間の設定情報を取得する機能と、
前記画像を部分的に描画するのに要する処理時間の指標の分布を保持するスピードマップをメモリより読み出す機能と、
前記設定情報に応じた視点の移動速度が前記処理時間の指標から取得される移動経路上の制限速度を超えるか否かを判定する機能と、
前記移動速度が前記移動経路上の制限速度を超える場合、前記設定情報を修正する機能と、
前記修正する機能における修正結果に応じて最終的なシナリオデータを作成してメモリに格納する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラム。
【請求項17】
表示対象の画像に対する視点を移動させる入力情報を取得する機能と、
前記画像を部分的に描画するのに要する処理時間の指標の分布を保持するスピードマップをメモリより読み出す機能と、
前記入力情報に応じた視点の移動速度を、前記スピードマップが保持する、移動経路に対応する指標に基づき調整する機能と、
調整後の移動速度に基づき表示すべきフレームのフレーム座標を決定する機能と、
前記フレーム座標に対応する画像データを処理して表示画像をフレームメモリに描画する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラムを記録した記録媒体。
【請求項18】
視点を移動させながら画像を表示するコンテンツにおいて視点の移動を規定するシナリオデータの作成を支援する機能をコンピュータに実現させるコンピュータプログラムであって、
ユーザが視点の移動を規定するために設定した、フレームの通過点である複数のキーフレームの座標とキーフレーム間の移動時間の設定情報を取得する機能と、
前記画像を部分的に描画するのに要する処理時間の指標の分布を保持するスピードマップをメモリより読み出す機能と、
前記設定情報に応じた視点の移動速度が前記処理時間の指標から取得される移動経路上の制限速度を超えるか否かを判定する機能と、
前記移動速度が前記移動経路上の制限速度を超える場合、前記設定情報を修正する機能と、
前記修正する機能における修正結果に応じて最終的なシナリオデータを作成してメモリに格納する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラムを記録した記録媒体。
【請求項19】
視点を移動させながら画像を表示するために記憶装置から読み出される画像ファイルのデータ構造であって、
表示対象の画像のデータと、
前記画像を部分的に描画するのに要する処理時間の指標の分布を保持し、視点の移動速度の上限を定めるために参照されるスピードマップと、
を対応づけたことを特徴とする画像ファイルのデータ構造。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2012−8803(P2012−8803A)
【公開日】平成24年1月12日(2012.1.12)
【国際特許分類】
【出願番号】特願2010−144171(P2010−144171)
【出願日】平成22年6月24日(2010.6.24)
【出願人】(310021766)株式会社ソニー・コンピュータエンタテインメント (417)
【Fターム(参考)】