(57)【特許請求の範囲】
【請求項１】
表示対象の画像に対する視点を移動させる入力情報を取得する入力情報取得部と、
前記画像を部分的に描画するのに要する処理時間の指標の分布を保持するスピードマップを記憶したスピードマップ記憶部と、
前記入力情報に応じた視点の移動速度を、前記スピードマップが保持する、移動経路に対応する指標に基づき調整する移動条件調整部と、
調整後の移動速度に基づき表示すべきフレームのフレーム座標を決定するフレーム座標決定部と、
前記フレーム座標に対応する画像データを処理して表示画像を描画する表示画像処理部と、
を備えたことを特徴とする画像処理装置。
【請求項２】
前記スピードマップは、画像を区分けしてなる各領域を描画するのに要する処理時間の指標の、画像上の位置に対する分布を表し、前記移動条件調整部は、視点の移動によって定まるフレームの移動経路上の前記指標を参照することにより視点の移動速度を調整することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記スピードマップは、視点の位置によって定まるフレームを描画するのに要する処理時間の指標の、視点の位置に対する分布を表し、前記移動条件調整部は、視点の移動経路上の前記指標を参照することにより視点の移動速度を調整することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記フレーム座標決定部は、前記入力情報取得部が入力情報として取得した、視点の移動量を表す矩形波信号と所定の形状を有する伝達関数とを畳み込み演算することによりフレーム間の移動量を算出して前記フレーム座標を決定し、
前記移動条件調整部は、前記伝達関数の最大値を、前記移動経路に対応する指標に基づき調整することを特徴とする請求項１から３のいずれかに記載の画像処理装置。
【請求項５】
前記表示対象の画像のデータは、異なる解像度の複数の画像データを解像度順に階層化して構成される階層構造を有し、前記スピードマップは、前記画像のデータにおける各階層の画像ごとに前記指標の分布を保持する階層構造を有することを特徴とする請求項１から４のいずれかに記載の画像処理装置。
【請求項６】
前記移動条件調整部はさらに、前記入力情報に応じた視点の移動速度が前記処理時間の指標から取得される移動経路上の制限速度を超えないように、当該移動経路のいずれかの区間について経路を変更することを特徴とする請求項１から５のいずれかに記載の画像処理装置。
【請求項７】
前記スピードマップ記憶部は、異なる処理能力を有する装置ごとに作成された前記スピードマップを記憶し、
前記移動条件調整部は、自機の処理能力に対応して作成された前記スピードマップを選択して参照することを特徴とする請求項１から６のいずれかに記載の画像処理装置。
【請求項８】
視点を移動させながら画像を表示するコンテンツにおいて視点の移動を規定するシナリオデータの作成を支援するコンテンツ作成支援装置であって、
ユーザが視点の移動を規定するために設定した、フレームの通過点である複数のキーフレームの座標とキーフレーム間の移動時間の設定情報を取得する設定情報取得部と、
前記画像を部分的に描画するのに要する処理時間の指標の分布を保持するスピードマップを記憶したスピードマップ記憶部と、
前記設定情報に応じた視点の移動速度が前記処理時間の指標から取得される移動経路上の制限速度を超えるか否かを判定する移動速度検証部と、
前記移動速度が前記移動経路上の制限速度を超える場合、前記設定情報を修正する設定情報修正部と、
前記設定情報修正部が行った修正の結果に応じて最終的なシナリオデータを作成するシナリオデータ生成部と、
を備えたことを特徴とするコンテンツ作成支援装置。
【請求項９】
前記設定情報修正部は、前記移動速度が前記移動経路上の制限速度を超えないように、前記設定情報のうちキーフレーム間の移動時間を延長することを特徴とする請求項８に記載のコンテンツ作成支援装置。
【請求項１０】
前記設定情報修正部は、前記移動速度が前記移動経路上の制限速度を超えないように、前記設定情報のうちキーフレーム間の移動経路を変更するように、新たなキーフレームを挿入することを特徴とする請求項８に記載のコンテンツ作成支援装置。
【請求項１１】
表示対象の画像のデータは、異なる解像度の複数の画像データを解像度順に階層化して構成される階層構造を有し、
前記設定情報修正部は、前記階層構造の画像平面とそれに垂直な解像度の軸によって定義される仮想空間において移動経路を変更することを特徴とする請求項１０に記載のコンテンツ作成支援装置。
【請求項１２】
前記スピードマップ記憶部は、異なる処理能力を有するコンテンツ実行システムごとに作成された前記スピードマップを記憶し、
前記シナリオデータ生成部は、前記コンテンツ実行システムごとに修正された前記設定情報に応じて、最終的なシナリオデータを前記コンテンツ実行システムごとに作成することを特徴とする請求項８から１１のいずれかに記載のコンテンツ作成支援装置。
【請求項１３】
表示対象の画像に対する視点を移動させる入力情報を取得するステップと、
前記画像を部分的に描画するのに要する処理時間の指標の分布を保持するスピードマップをメモリより読み出すステップと、
前記入力情報に応じた視点の移動速度を、前記スピードマップが保持する、移動経路に対応する指標に基づき調整するステップと、
調整後の移動速度に基づき表示すべきフレームのフレーム座標を決定するステップと、
前記フレーム座標に対応する画像データを処理して表示画像をフレームメモリに描画するステップと、
を含むことを特徴とする画像処理方法。
【請求項１４】
視点を移動させながら画像を表示するコンテンツにおいて視点の移動を規定するシナリオデータの作成を支援するコンテンツ作成支援方法であって、
ユーザが視点の移動を規定するために設定した、フレームの通過点である複数のキーフレームの座標とキーフレーム間の移動時間の設定情報を取得するステップと、
前記画像を部分的に描画するのに要する処理時間の指標の分布を保持するスピードマップをメモリより読み出すステップと、
前記設定情報に応じた視点の移動速度が前記処理時間の指標から取得される移動経路上の制限速度を超えるか否かを判定するステップと、
前記移動速度が前記移動経路上の制限速度を超える場合、前記設定情報を修正するステップと、
前記修正するステップにおける修正結果に応じて最終的なシナリオデータを作成してメモリに格納するステップと、
を含むことを特徴とするコンテンツ作成支援方法。
【請求項１５】
表示対象の画像に対する視点を移動させる入力情報を取得する機能と、
前記画像を部分的に描画するのに要する処理時間の指標の分布を保持するスピードマップをメモリより読み出す機能と、
前記入力情報に応じた視点の移動速度を、前記スピードマップが保持する、移動経路に対応する指標に基づき調整する機能と、
調整後の移動速度に基づき表示すべきフレームのフレーム座標を決定する機能と、
前記フレーム座標に対応する画像データを処理して表示画像をフレームメモリに描画する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラム。
【請求項１６】
視点を移動させながら画像を表示するコンテンツにおいて視点の移動を規定するシナリオデータの作成を支援する機能をコンピュータに実現させるコンピュータプログラムであって、
ユーザが視点の移動を規定するために設定した、フレームの通過点である複数のキーフレームの座標とキーフレーム間の移動時間の設定情報を取得する機能と、
前記画像を部分的に描画するのに要する処理時間の指標の分布を保持するスピードマップをメモリより読み出す機能と、
前記設定情報に応じた視点の移動速度が前記処理時間の指標から取得される移動経路上の制限速度を超えるか否かを判定する機能と、
前記移動速度が前記移動経路上の制限速度を超える場合、前記設定情報を修正する機能と、
前記修正する機能における修正結果に応じて最終的なシナリオデータを作成してメモリに格納する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラム。
【請求項１７】
表示対象の画像に対する視点を移動させる入力情報を取得する機能と、
前記画像を部分的に描画するのに要する処理時間の指標の分布を保持するスピードマップをメモリより読み出す機能と、
前記入力情報に応じた視点の移動速度を、前記スピードマップが保持する、移動経路に対応する指標に基づき調整する機能と、
調整後の移動速度に基づき表示すべきフレームのフレーム座標を決定する機能と、
前記フレーム座標に対応する画像データを処理して表示画像をフレームメモリに描画する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラムを記録した記録媒体。
【請求項１８】
視点を移動させながら画像を表示するコンテンツにおいて視点の移動を規定するシナリオデータの作成を支援する機能をコンピュータに実現させるコンピュータプログラムであって、
ユーザが視点の移動を規定するために設定した、フレームの通過点である複数のキーフレームの座標とキーフレーム間の移動時間の設定情報を取得する機能と、
前記画像を部分的に描画するのに要する処理時間の指標の分布を保持するスピードマップをメモリより読み出す機能と、
前記設定情報に応じた視点の移動速度が前記処理時間の指標から取得される移動経路上の制限速度を超えるか否かを判定する機能と、
前記移動速度が前記移動経路上の制限速度を超える場合、前記設定情報を修正する機能と、
前記修正する機能における修正結果に応じて最終的なシナリオデータを作成してメモリに格納する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラムを記録した記録媒体。
【請求項１９】
視点を移動させながら画像を表示するために記憶装置から読み出される画像ファイルのデータ構造であって、
表示対象の画像のデータと、
前記画像を部分的に描画するのに要する処理時間の指標の分布を保持し、視点の移動速度の上限を定めるために参照されるスピードマップと、
を対応づけたことを特徴とする画像ファイルのデータ構造。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスプレイに表示する画像を拡大／縮小、または上下左右に移動させる画像処理技術に関する。
【背景技術】
【０００２】
ゲームプログラムを実行するだけでなく、動画を再生できる家庭用エンタテインメントシステムが提案されている。この家庭用エンタテインメントシステムでは、ＧＰＵがポリゴンを用いた三次元画像を生成する（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許第６５６３９９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このような画像表示技術において、表示対象の画像の拡大、縮小、スクロールによる視点の移動を可能とするような表示態様を実現する場合、視点が連続的かつ円滑に変化することが望ましい。しかしながら画像のデータサイズや表示システムの処理能力など様々な要因によって、視点を移動させている期間における連続的な表示の更新処理が間に合わず、コマ落ちするなど鑑賞者に違和感を与える場合がある。
【０００５】
本発明はこのような課題に鑑みてなされたものであり、その目的は、視点の移動を円滑に行うことのできる画像処理技術を提供することにある。
【課題を解決するための手段】
【０００６】
本発明のある態様は画像処理装置に関する。この画像処理装置は、表示対象の画像に対する視点を移動させる入力情報を取得する入力情報取得部と、画像を部分的に描画するのに要する処理時間の指標の分布を保持するスピードマップを記憶したスピードマップ記憶部と、入力情報に応じた視点の移動速度を、スピードマップが保持する、移動経路に対応する指標に基づき調整する移動条件調整部と、調整後の移動速度に基づき表示すべきフレームのフレーム座標を決定するフレーム座標決定部と、フレーム座標に対応する画像データを処理して表示画像を描画する表示画像処理部と、を備えたことを特徴とする。
【０００７】
本発明の別の態様はコンテンツ作成支援装置に関する。このコンテンツ作成支援装置は、視点を移動させながら画像を表示するコンテンツにおいて視点の移動を規定するシナリオデータの作成を支援するコンテンツ作成支援装置であって、ユーザが視点の移動を規定するために設定した、フレームの通過点である複数のキーフレームの座標とキーフレーム間の移動時間の情報を取得する設定情報取得部と、画像を部分的に描画するのに要する処理時間の指標の分布を保持するスピードマップを記憶したスピードマップ記憶部と、設定情報に応じた視点の移動速度が処理時間の指標から取得される移動経路上の制限速度を超えるか否かを判定する移動速度検証部と、移動速度が移動経路上の制限速度を超える場合、設定情報を修正する設定情報修正部と、設定情報修正部が行った修正の結果に応じて最終的なシナリオデータを作成するシナリオデータ生成部と、を備えたことを特徴とする。
【０００８】
本発明のさらに別の態様は画像処理方法に関する。この画像処理方法は、表示対象の画像に対する視点を移動させる入力情報を取得するステップと、画像を部分的に描画するのに要する処理時間の指標の分布を保持するスピードマップをメモリより読み出すステップと、入力情報に応じた視点の移動速度を、スピードマップが保持する、移動経路に対応する指標に基づき調整するステップと、調整後の移動速度に基づき表示すべきフレームのフレーム座標を決定するステップと、フレーム座標に対応する画像データを処理して表示画像をフレームメモリに描画するステップと、を含むことを特徴とする。
【０００９】
本発明のさらに別の態様はコンテンツ作成支援方法に関する。このコンテンツ作成支援方法は、視点を移動させながら画像を表示するコンテンツにおいて視点の移動を規定するシナリオデータの作成を支援するコンテンツ作成支援方法であって、ユーザが視点の移動を規定するために設定した、フレームの通過点である複数のキーフレームの座標とキーフレーム間の移動時間の設定情報を取得するステップと、画像を部分的に描画するのに要する処理時間の指標の分布を保持するスピードマップをメモリより読み出すステップと、設定情報に応じた視点の移動速度が処理時間の指標から取得される移動経路上の制限速度を超えるか否かを判定するステップと、移動速度が移動経路上の制限速度を超える場合、設定情報を修正するステップと、修正するステップにおける修正結果に応じて最終的なシナリオデータを作成してメモリに格納するステップと、を含むことを特徴とする。
【００１０】
本発明のさらに別の態様は画像ファイルのデータ構造に関する。このデータ構造は、視点を移動させながら画像を表示するために記憶装置から読み出される画像ファイルのデータ構造であって、表示対象の画像のデータと、画像を部分的に描画するのに要する処理時間の指標の分布を保持し、視点の移動速度の上限を定めるために参照されるスピードマップと、を対応づけたことを特徴とする。
【００１１】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１２】
本発明によると、表示条件によらず、視点を円滑に移動させる表示が可能となる。
【図面の簡単な説明】
【００１３】
【図１】本実施の形態に適用できる情報処理システムの使用環境を示す図である。
【図２】図１の情報処理システムに適用できる入力装置の外観構成を示す図である。
【図３】本実施の形態において使用する画像データの階層構造の概念図である。
【図４】本実施の形態における情報処理装置の構成を示す図である。
【図５】本実施の形態における画像データの先読み処理を説明するための図である。
【図６】本実施の形態におけるシナリオデータの概念図である。
【図７】本実施の形態において画像を表示する機能を有する制御部の構成を詳細に示す図である。
【図８】本実施の形態において伝達関数としてガウス関数を採用した場合の、関数の最大値の変化に対する移動速度の変化を説明するための図である。
【図９】本実施の形態においてシナリオデータの作成を支援する機能を有する制御部の構成を詳細に示す図である。
【図１０】本実施の形態における設定情報修正部が経路を修正する場合の具体例を説明するための図である。
【図１１】本実施の形態においてシナリオデータの作成を支援する手順を示すフローチャートである。
【発明を実施するための形態】
【００１４】
本実施の形態において処理対象とする画像のデータは、原画像を複数段階に縮小して生成した異なる解像度の画像からなる階層構造を有する。各階層の画像は一又は複数のタイル画像に分割する。たとえば最も解像度の低い画像は１つのタイル画像で構成し、最も解像度の高い原画像は、最も多い数のタイル画像で構成する。画像表示時は、描画に使用しているタイル画像を、表示画像が所定の解像度になったときに異なる階層のタイル画像に切り替えることで、拡大表示または縮小表示を迅速に行う。
【００１５】
まず、このような階層構造を有する画像の基本的な表示態様について説明する。図１は、本発明の実施の形態を適用できる情報処理システム１の使用環境を示す。情報処理システム１は、画像処理を含むプログラムを実行する情報処理装置１０と、情報処理装置１０による処理結果を出力する表示装置１２とを備える。表示装置１２は、画像を出力するディスプレイおよび音声を出力するスピーカを有するテレビであってよい。
【００１６】
表示装置１２は、情報処理装置１０に有線ケーブルで接続されてよく、また無線ＬＡＮ（Local Area Network）などにより無線接続されてもよい。情報処理システム１において、情報処理装置１０は、ケーブル１４を介してインターネットなどの外部ネットワークに接続し、階層化された圧縮画像データを含むコンテンツファイルなどをダウンロードして取得してもよい。なお情報処理装置１０は、無線通信により外部ネットワークに接続してもよい。
【００１７】
情報処理装置１０は、ユーザからの要求に応じて、表示装置１２のディスプレイに表示する画像の拡大／縮小処理や、上下左右方向への移動処理など、表示領域を変更する処理を行う。このような表示領域の移動および拡大縮小は、ユーザの仮想的な視点の移動とも捉えることができる。ユーザが、ディスプレイに表示された画像を見ながら入力装置を操作して視点移動要求を行うと、入力装置が、当該視点移動要求信号を情報処理装置１０に送信する。情報処理装置１０はさらに、画像表示コンテンツとして画像データとともに提供される、視点の変化をあらかじめ規定したデータによって、自動的に表示領域を変更する処理を行う。
【００１８】
図２は、入力装置２０の外観構成を示す。入力装置２０は、ユーザが操作可能な操作手段として、十字キー２１、アナログスティック２７ａ、２７ｂと、４種の操作ボタン２６、持ち手部分２８ａ、２８ｂを備える。４種の操作ボタン２６は、○ボタン２２、×ボタン２３、□ボタン２４および△ボタン２５から構成される。
【００１９】
情報処理システム１において、入力装置２０の操作手段には、コンテンツの起動／終了要求、コンテンツに応じた各種機能の実行要求のほか、表示領域の拡大／縮小要求、および上下左右方向へのスクロール要求を入力するための機能が割り当てられる。たとえば、画像の拡大／縮小要求の入力機能は、右側のアナログスティック２７ｂに割り当てられる。ユーザはアナログスティック２７ｂを手前に引くことで、表示画像の縮小要求を入力でき、また手前から押すことで、表示画像の拡大要求を入力できる。このとき、アナログスティック２７ｂを傾ける角度によって拡大率の変更速度を調節できるようにしてもよい。
【００２０】
また、表示領域のスクロールの入力機能は、アナログスティック２７ａに割り当てられる。ユーザはアナログスティック２７ａをいずれかの方向に傾けることで、当該方向へのスクロール要求を入力できる。このとき、傾ける角度によってスクロールの速度を調節できるようにしてもよい。なお、表示領域移動の要求を入力する機能は別の操作手段に割り当てられてもよく、たとえば十字キー２１にスクロール要求の入力機能が割り当てられてもよい。
【００２１】
また後に述べる各種機能を実現するため、入力装置２０にはさらに、画像に表示されたカーソルを移動させたり、ファイルやコマンドを選択したりする機能も割り当てる。あるいは入力装置２０は、ポインティングデバイス、マウス、キーボード、タッチパネルなど一般的な入力装置で実現してもよい。上述したような機能の割り当ては、入力装置２０の種類によって適宜決定してよい。
【００２２】
入力装置２０は、入力された視点移動要求信号などを情報処理装置１０に伝送する機能をもち、本実施の形態では情報処理装置１０との間で無線通信可能に構成される。入力装置２０と情報処理装置１０は、Bluetooth（ブルートゥース）（登録商標）プロトコルやIEEE802.11プロトコルなどを用いて無線接続を確立してもよい。なお入力装置２０は、情報処理装置１０とケーブルを介して接続して、視点移動要求信号などを情報処理装置１０に伝送してもよい。
【００２３】
図３は、本実施の形態において使用する画像データの階層構造の概念図を示す。画像データは、深さ（Ｚ軸）方向に、第０階層３０、第１階層３２、第２階層３４および第３階層３６からなる階層構造を有する。なお同図においては４階層のみ示しているが、階層数はこれに限定されない。以下、このような階層構造をもつ画像データを「階層データ」とよぶ。
【００２４】
図３に示す階層データは４分木の階層構造を有し、各階層は１以上のタイル画像３８で構成される。すべてのタイル画像３８は同じ画素数をもつ同一サイズに形成され、たとえば２５６×２５６画素を有する。各階層の画像データは、一つの画像を異なる解像度で表現しており、最高解像度をもつ第３階層３６の原画像を複数段階に縮小して、第２階層３４、第１階層３２、第０階層３０の画像データが生成される。たとえば第Ｎ階層の解像度（Ｎは０以上の整数）は、左右（Ｘ軸）方向、上下（Ｙ軸）方向ともに、第（Ｎ＋１）階層の解像度の１／２であってよい。
【００２５】
情報処理装置１０において、階層データは、所定の圧縮形式で圧縮された状態で記憶装置に保持されており、ディスプレイに表示される前に記憶装置から読み出されてデコードされる。本実施の形態の情報処理装置１０は、複数種類の圧縮形式に対応したデコード機能を有し、たとえばＳ３ＴＣ形式、ＪＰＥＧ形式、ＪＰＥＧ２０００形式の圧縮データをデコード可能とする。
【００２６】
階層データの階層構造は、図３に示すように、左右方向をＸ軸、上下方向をＹ軸、深さ方向をＺ軸として設定され、仮想的な３次元空間を構築する。情報処理装置１０は、入力装置２０から供給される視点移動要求信号から表示画像の変更量を導出すると、その変更量を用いて仮想空間におけるフレームの４隅の座標（フレーム座標）を導出する。あるいはあらかじめコンテンツにおいて規定された、表示すべき領域のフレーム座標を逐次読み出す。
【００２７】
仮想空間におけるフレーム座標は、後述するメインメモリへの圧縮データのロードおよび表示画像の生成処理に利用される。なお、仮想空間におけるフレーム座標の代わりに、情報処理装置１０は、階層を特定する情報と、その階層におけるテクスチャ座標（ＵＶ座標）を導出してもよい。以下、階層特定情報およびテクスチャ座標の組み合わせも、フレーム座標と呼ぶ。
【００２８】
次に本実施の形態の情報処理装置の基本構成を説明する。図４は情報処理装置１０の構成を示している。情報処理装置１０は、無線インタフェース４０、スイッチ４２、表示処理部４４、ハードディスクドライブ５０、記録媒体装着部５２、ディスクドライブ５４、メインメモリ６０、バッファメモリ７０および制御部１００を有して構成される。表示処理部４４は、表示装置１２のディスプレイに表示するデータをバッファするフレームメモリを有する。
【００２９】
スイッチ４２は、イーサネットスイッチ（イーサネットは登録商標）であって、外部の機器と有線または無線で接続して、データの送受信を行うデバイスである。スイッチ４２は、ケーブル１４を介して外部ネットワークに接続し、サーバからコンテンツファイルなどを受信できるように構成される。またスイッチ４２は無線インタフェース４０に接続し、無線インタフェース４０は、所定の無線通信プロトコルで入力装置２０と接続する。入力装置２０においてユーザから入力された信号は、無線インタフェース４０、スイッチ４２を経由して、制御部１００に供給される。
【００３０】
ハードディスクドライブ５０は、データを記憶する記憶装置として機能する。スイッチ４２を介して受信されたコンテンツファイルなどのデータは、ハードディスクドライブ５０に格納される。記録媒体装着部５２は、メモリカードなどのリムーバブル記録媒体が装着されると、リムーバブル記録媒体からデータを読み出す。ディスクドライブ５４は、読み出し専用のＲＯＭディスクが装着されると、ＲＯＭディスクを駆動して認識し、データを読み出す。ＲＯＭディスクは、光ディスクや光磁気ディスクなどであってよい。画像データやコンテンツファイルはこれらの記録媒体に格納されていてもよい。
【００３１】
制御部１００は、マルチコアＣＰＵを備え、１つのＣＰＵの中に１つの汎用的なプロセッサコアと、複数のシンプルなプロセッサコアを有する。汎用プロセッサコアはＰＰＵ（PowerPC Processor Unit）と呼ばれ、残りのプロセッサコアはＳＰＵ（Synergistic Processor Unit）と呼ばれる。
【００３２】
制御部１００は、メインメモリ６０およびバッファメモリ７０に接続するメモリコントローラを備える。ＰＰＵはレジスタを有し、演算実行主体としてメインプロセッサを備えて、実行するアプリケーションにおける基本処理単位としてのタスクを各ＳＰＵに効率的に割り当てる。なお、ＰＰＵ自身がタスクを実行してもよい。ＳＰＵはレジスタを有し、演算実行主体としてのサブプロセッサとローカルな記憶領域としてのローカルメモリを備える。ローカルメモリは、バッファメモリ７０として使用されてもよい。
【００３３】
メインメモリ６０およびバッファメモリ７０は記憶装置であり、ＲＡＭ（ランダムアクセスメモリ）として構成される。ＳＰＵは制御ユニットとして専用のＤＭＡ（Direct Memory Access）コントローラをもち、メインメモリ６０とバッファメモリ７０の間のデータ転送を高速に行うことができ、また表示処理部４４におけるフレームメモリとバッファメモリ７０の間で高速なデータ転送を実現できる。本実施の形態の制御部１００は、複数のＳＰＵを並列動作させることで、高速な画像処理機能を実現する。表示処理部４４は、表示装置１２に接続されて、ユーザからの要求に応じた画像処理結果を出力する。
【００３４】
情報処理装置１０は、表示画像の拡大／縮小処理やスクロール処理を行う際に表示をスムーズに更新するために、圧縮画像データの一部をハードディスクドライブ５０からメインメモリ６０にロードしておく。またそれまでの視点の移動方向をもとに、将来表示するであろう領域を先読みし、メインメモリ６０にロードした画像データのさらに一部をデコードしてバッファメモリ７０に格納してもよい。これにより、後の必要なタイミングで、表示画像の生成に使用する画像を瞬時に切り替えることが可能となる。
【００３５】
図５は、先読み処理を説明するための図である。図５は、階層データの構造を示しており、各階層はＬ０（第０階層）、Ｌ１（第１階層）、Ｌ２（第２階層）、Ｌ３（第３階層）と表現されている。図５に示す階層データ構造において、深さ（Ｚ軸）方向における位置は解像度を示し、Ｌ０に近い位置ほど解像度が低く、Ｌ３に近い位置ほど解像度は高い。なおディスプレイに表示される画像の大きさに注目すると、深さ方向における位置は、縮尺率に対応し、Ｌ３の表示画像の縮尺率を１とすると、Ｌ２における縮尺率は１／４、Ｌ１における縮尺率は１／１６となり、Ｌ０における縮尺率は１／６４となる。
【００３６】
したがって深さ方向において、表示画像がＬ０側からＬ３側へ向かう方向に変化する場合、表示画像は拡大していき、Ｌ３側からＬ０側へ向かう方向に変化する場合は、表示画像は縮小していく。矢印８０は、ユーザからの視点移動要求信号が、表示画像の縮小を要求しており、縮尺率１／４（Ｌ２）をまたいだ様子を示している。情報処理装置１０では、タイル画像３８として用意しているＬ１、Ｌ２の深さ方向の位置を、深さ方向の先読み境界として設定し、画像変更要求信号が先読み境界をまたぐと、先読み処理を開始する。
【００３７】
表示画像の縮尺率がＬ２の近傍にある場合、表示画像は、Ｌ２（第２階層）のタイル画像を用いて作成される。具体的には、表示する画像の縮尺率が、Ｌ１タイル画像とＬ２タイル画像の切替境界８２と、Ｌ２タイル画像とＬ３タイル画像の切替境界８４の間にある場合に、Ｌ２タイル画像が利用される。したがって、矢印８０に示すように画像の縮小処理が要求されると、Ｌ２のタイル画像が拡大された画像から、縮小された画像に変換されて表示される。一方、画像変更要求信号から予測される将来必要なタイル画像３８を特定して、デコードしておく。図５の例では、視点移動要求信号による要求縮尺率がＬ２をまたいだときに、情報処理装置１０は、縮小方向にあるＬ１の対応するタイル画像３８をハードディスクドライブ５０またはメインメモリ６０から先読みしてデコードし、バッファメモリ７０に書き込む。
【００３８】
なお以上は深さ方向の先読み処理について説明したが、上下左右方向の先読み処理についても同様に処理される。具体的には、バッファメモリ７０に展開されている画像データに先読み境界を設定しておき、画像変更要求信号による表示位置が先読み境界をまたいだときに、先読み処理が開始されるようにする。
【００３９】
情報処理装置１０は、上述したように入力装置２０に対するユーザからの視点移動要求に対して逐次、表示領域を移動させて画像を表示するほか、あらかじめ規定した動きで表示領域を移動させることを可能とする。この場合、フレーム座標の経時変化を規定するデータ（以後、「シナリオデータ」と呼ぶ）をあらかじめ作成し、階層データの付加データとすることによりコンテンツファイルを形成する。情報処理装置１０はメインメモリ６０にロードしたシナリオデータを参照することにより、規定されたタイミングで規定されたフレームが表示されるように視点を移動させる。これにより表示対象の画像中、コンテンツ作成者が見せたいと考える領域へ表示が次々に移動する表現態様を実現できる。
【００４０】
図６はシナリオデータの概念図である。同図に示す階層データ３００に対し、シナリオデータは矢印３０２のように規定される。ここで各階層上に示した点線の矩形はシナリオデータで規定するフレーム、すなわちキーフレームを示している。すなわちこの例では、第０階層３０上のキーフレーム３０４、第１階層３２上のキーフレーム３０６、第２階層３４上のキーフレーム３０８、第３階層３６上のキーフレーム３１０をこの順で表示するような視点の移動を規定している。
【００４１】
シナリオデータは表示対象の階層データの識別情報、キーフレームのフレーム座標、次のキーフレームへ到達するまでの時間間隔などを設定したファイルである。シナリオデータは情報処理装置１０が解釈可能なＸＭＬなどのマークアップ言語で記述してもよい。このとき情報処理装置１０は、シナリオデータをメインメモリ６０より読み出し、キーフレームを線形補間やスプライン補間などで補間するように、フレームレートに基づく各時刻のフレームのフレームパラメータを算出する。それに応じてデコード、描画を実行することにより、フレームが逐次表示される。
【００４２】
次にＸＭＬで記述されたシナリオデータの例を示す。なおこの例では、あらかじめフレーム座標が既知の基準フレームに対する（Ｘ方向オフセット、Ｙ方向オフセット、拡大率比）からなるフレームパラメータをフレーム座標に代えて用いている。
【００４３】
【表１】
0005202584.tif 000002
【００４４】
上記記述において、（７）〜（１１）行目は、画像データ名「ＩＮＤＥＸ」を表示対象とし、当該画像のうちフレームパラメータが（−０．２，−０．２，０．６）のフレームを初期画像として表示することが設定されている。次に（１２）〜（２４）において、視点を移動させていく設定がなされている。具体的には、４秒間かけて（１５行目）、線形に（１６行目）、始点の時刻を０、終点の時刻を１．０としたときに０、０．５、１．０の各時刻で（１７行目）、フレームパラメータが（−０．２，−０．２，０．６）、（−０．１，−０．１，０．５）、（−０．１，−０．１，０．２５）なるフレームが表示されるように（１９〜２１行目）、視点を移動させる、という設定である。このように、視点を移動させていくうえで、通過点としてシナリオデータに記述されるフレームがキーフレームである。
【００４５】
このように、複数のフレーム座標とその表示タイミングをシナリオデータで規定することにより、ユーザがコンテンツを開始させる入力を行うのみで、動画コンテンツの如く表示が変化していく態様を実現できる。一方、シナリオデータにおいて、入力装置２０に対するユーザの操作、または視点の位置などと、それによって表示されるフレームの座標とを対応づけてもよい。
【００４６】
例えばある領域が表示されている状態で入力装置２０の○ボタン２２を押下すると、シナリオデータに記述したフレームのうち最近傍のフレームに表示を移動させる。あるいは入力装置２０の十字キー２１などによって先送り／後戻りの操作を行った場合に、シナリオデータに記述したフレームの順で表示領域を移動させる。このようにすることで、例えば表示対象が新聞や雑誌の内容であった場合に、記事単位で表示対象を移動させたり、注目させたい領域に表示を誘導したりすることができる。
【００４７】
また表示対象の画像中、あらかじめ定めたリンク領域に表示領域が重なると、別の画像の階層データへ表示を切り替えるような態様において、リンク領域を含む所定範囲内に入ったら表示領域をリンク領域へ誘導する。例えば電化製品などの装置が有する各種機能を表すアイコンを配列した画像のデータにおいて、各アイコンの領域をリンク領域とし、アイコンが表す機能の説明文書の画像データとそれぞれ対応づけておく。すると、アイコンを配列した画像を表示中、ユーザがあるアイコンへ表示領域を近づけると、当該アイコンが表す機能の説明文書が表示される、といった態様を実現できる。
【００４８】
ユーザによる視点移動要求の入力やシナリオデータなど、視点移動のきっかけとなる入力手段がいずれの場合でも、本実施の形態における画像表示技術は、階層データが形成する仮想的な三次元空間を視点が連続的に移動していく、という表現態様をとる。このような態様では、複数のフレームを次々表示していく動画表示とは異なり、視点が自然に移動していくように見せることが重要となる。
【００４９】
視点の移動中は、表示装置の垂直同期周波数などに依存したフレームレートで連続的に、位置をずらしながら表示領域の新たな画像をデコードし描画していく必要がある。このとき、移動に追随させて円滑に表示を更新することができるようにするため、先読み処理や、フレームより十分大きいサイズのバッファメモリ７０に周辺領域をデコードしておく、といった手法が有効となる。
【００５０】
しかしながら要求される移動速度が大きくなるほど移動範囲は広大となり、新たな圧縮画像データのロードやデコードなど、表示の更新までに必要な処理が増える傾向となるため、表示の更新が間に合わなくなる可能性が高くなる。すると、移動途中で表示が一時停止したり断続的に表示されたりすることになる。移動速度の許容値は、表示システムの処理能力や画像の圧縮形式などによって様々であり、さらに、画像の粗密によって画像内でも変化する。そのため画像表示コンテンツを作成する段階で、表示システムや画像データの条件などを考慮して移動の制御条件を様々作り替える必要があった。
【００５１】
そこで本実施の形態では、視点の移動速度の上限の分布を画像平面上の位置に対応するマップとしてあらかじめ準備し、画像の階層データの付加データとする。当該マップは階層データの各階層に対して準備し、例えば各階層を形成するタイル画像ごとに制限速度の指標となる値を保持する階層構造を有する。以後、このデータを「スピードマップ」と呼ぶ。スピードマップは例えば、画像の階層データを作成する際などに、各タイル画像のデータサイズ、および想定する表示システムの処理能力に基づき作成する。この場合、当該表示システムについて後述する処理能力を取得しておく。なお指標はタイル画像ごとでなく、複数のタイル画像ごと、画像を所定の規則で区切って得られた区画ごと、画像上の素材画像の領域ごとなどでもよい。
【００５２】
スピードマップを参照することにより、画像を表示する段階において、ある視点から別の視点へ移動する際の最大移動速度を調整する。また、シナリオデータを作成する段階において、シナリオデータで規定するキーフレーム間の移動時間、または経路を調整する。以後、スピードマップを参照して画像表示を行う装置、およびスピードマップを参照してシナリオデータ作成を支援する装置について説明する。いずれの装置も、図４で説明した情報処理装置１０と同様の構成によって実現できる。以後、それぞれの機能を有する情報処理装置１０の制御部１００の構成を区別して説明するが、それらは同一の情報処理装置１０に設けられていてもよい。
【００５３】
図７は画像を表示する機能を有する制御部１００ａの構成を詳細に示している。このときハードディスクドライブ５０には、階層データ１１６、スピードマップ１１８、およびシナリオデータ１１９が格納されている。ユーザからの視点移動要求に対し逐次表示領域を移動させる態様のみで画像表示を行う場合はシナリオデータ１１９はなくてもよい。
【００５４】
制御部１００ａは、入力装置２０に対しユーザが行った操作に係る情報を取得する入力情報取得部１０２、画像表示に必要なデータをハードディスクドライブ５０からロードするロード部１０８、スピードマップに基づき移動速度を調整する移動条件調整部１０４、表示領域のフレーム座標を逐次決定するフレーム座標決定部１０５、圧縮画像データをデコードするデコード部１０６、表示画像を描画する表示画像処理部１１４を含む。
【００５５】
図７および後述の図９において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、ＣＰＵ（Central Processing Unit）、メモリ、その他のＬＳＩで構成することができ、ソフトウェア的には、メインメモリ６０にロードされたプログラムなどによって実現される。既述したように、制御部１００、１００ａ、１００ｂは１つのＰＰＵと複数のＳＰＵとを有し、ＰＰＵおよびＳＰＵがそれぞれ単独または協同して、各機能ブロックを構成できる。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００５６】
入力情報取得部１０２は、入力装置２０のユーザによる操作に従い、コンテンツの起動／終了、視点移動などの要求信号を入力装置２０より取得し、当該情報を必要に応じて移動条件調整部１０４、フレーム座標決定部１０５、ロード部１０８に通知する。ロード部１０８は、入力情報取得部１０２からコンテンツの起動要求がなされたことを通知されたら、階層データ１１６に含まれる初期画像の画像データ、スピードマップ１１８、シナリオデータ１１９など画像表示に必要なデータをハードディスクドライブ５０から読み出しメインメモリ６０に格納する。初期画像は適宜、デコード部１０６がデコードし、表示画像処理部１１４が表示処理部４４のフレームメモリに描画することにより表示装置１２に表示される。
【００５７】
ユーザが入力装置２０に対し、シナリオデータによる視点の移動開始を指示する入力を行った場合、フレーム座標決定部１０５はその旨の通知を入力情報取得部１０２から受け付け、メインメモリ６０に格納されたシナリオデータ１１９を読み出す。そして規定されたキーフレームを補間するように、所定のフレームレートから定まる次の表示更新時刻におけるフレーム座標を算出する。具体的にはシナリオデータに記述された次の移動先であるフレーム座標とそこに至るまでの移動時間とから、各表示更新時刻のフレーム座標を所定の補間手法により決定する。
【００５８】
シナリオデータ作成時に、後述する手法で時間調整または経路調整がなされている場合は、表示段階で速度調整を行う必要がない。一方、シナリオデータ作成時に調整がなされていない場合は、次に述べる、ユーザの入力による視点移動と同様に移動速度を調整する。
【００５９】
入力装置２０に割り当てられた、画像の拡大／縮小やスクロールのための手段をユーザが操作している場合、フレーム座標決定部１０５は、その操作状況を表す信号を入力情報取得部１０２から受け付け、それに基づき次の表示更新時刻のフレーム座標を決定する。例えばアナログスティック２７ａが操作されている場合は、その傾斜方向や傾き角度に応じた速度ベクトルに基づき新たなフレーム座標を算出する。または十字キー２１などによって先送り／後戻りの操作が行われた場合や表示を誘導すべき状況が発生した場合は、シナリオデータに規定された、次に表示すべきキーフレームの座標を読み出し、現在の表示領域との間を補間することにより、次の表示更新時刻のフレーム座標を算出する。
【００６０】
アナログスティック２７ａの傾斜方向や傾き角度など、入力装置２０に対するユーザの操作量を、その時点における視点の速度ベクトルに直接換算すると、移動に緩急がつきすぎて見づらくなったり、不連続な動きになってしまったりすることが考えられる。そこでフレーム座標決定部１０５は、入力装置２０から得られる、要求された移動量を表す矩形波信号と所定の伝達関数とを畳み込み演算することにより速度ベクトルを緩やかに変化させる。ここで伝達関数はガウス関数としてもよい。１回のボタン操作でシナリオデータに規定されたキーフレームへ移動する場合も、同様の矩形波信号を発生させ伝達関数と畳み込み演算を行うことによって唐突感のない移動を表現できる。詳細は後に述べる。
【００６１】
移動条件調整部１０４は、フレーム座標決定部１０５が速度ベクトルを求めたり次のキーフレームまでのフレームを補間したりするのに先んじて、経路上のどの区間においてもスピードマップ１１８から取得される制限速度を超えないように、視点の移動速度を調整する。フレーム座標決定部１０５は、移動条件調整部１０４の調整結果に従い、速度ベクトルを求めたりフレームを補間したりする。移動条件調整部１０４は速度の値を直接調整してもよいし、例えば伝達関数の最大値を調整するなど、間接的に速度を調整してもよい。具体例は後述する。
【００６２】
デコード部１０６は、メインメモリ６０から画像データの一部を読み出しデコードし、バッファメモリ７０にデコード後のデータを格納する。デコード部１０６がデコードするデータは、表示領域を含む所定サイズの画像データでよい。あらかじめ広範囲の画像データをデコードし、バッファメモリ７０に格納しておくことにより、メインメモリ６０からの読み出し回数を削減でき、円滑な視点移動を実現できる。表示画像処理部１１４は、フレーム座標決定部１０５が決定した、新たに表示すべき領域のフレーム座標を取得し、バッファメモリ７０から対応する画像データを読み出して、表示処理部４４のフレームメモリに描画する。
【００６３】
次にスピードマップの具体例を説明する。上述したように表示領域が実際に表示されるまでに要する時間は、画像を表示するシステムの処理能力、主にデコード処理能力ＳＤ［ｉ］と表示装置１２へのデータ転送能力ＳＴ、および、画像データのデータサイズｍに依存する。ここで変数ｉはデコード部１０６でデコードできる圧縮形式を識別する識別番号である。またデータサイズｍは本実施の形態においてはタイル画像ごとの値である。
【００６４】
このときデコード処理時間Ｔｄ、データ転送時間Ｔｔはそれぞれ、
Ｔｄ＝ｍ／ＳＤ［ｉ］、
Ｔｔ＝ｍ／ＳＴ
となるため、これらの処理時間の合計Ｔは
Ｔ＝ｍ（１／ＳＤ［ｉ］＋１／ＳＴ）
と表すことができる。
【００６５】
ここで基準となるシステムにおいて基準データサイズＭの画像データを処理した場合の基準処理時間Ｔｓｔに対する、スピードマップを求めたい表示システムにおける同じ画像データの処理時間Ｔの割合をＬ［ｉ］とする。このとき、当該システムにおいてデータサイズｍの画像データを処理する時間Ｔの、基準処理時間Ｔｓｔに対する比Ｒは、
Ｒ＝Ｔ／Ｔｓｔ＝Ｌ［ｉ］ｍ／Ｍ
となる。この変数Ｒは、タイル画像のデータサイズ、表示システムの処理能力、およびデータの圧縮形式に依存する変数であり、処理時間係数と呼ぶ。
【００６６】
変数Ｌ［ｉ］を表示システムごと、圧縮形式ごとに求めておけば、階層データ作成時などにタイル画像のデータサイズｍを取得すれば、タイル画像ごとに処理時間係数Ｒを一意に決定できる。この処理時間係数Ｒは、移動時に許容できる速度の上限、すなわち制限速度の逆数を標準処理に対して正規化した値である。本実施の形態では処理時間係数Ｒを、制限速度を表す指標としてタイル画像ごとに保持する階層構造のデータをスピードマップとする。スピードマップを用いて移動速度を調整する手法としては様々考えられる。最も単純には、現在の視点の制限速度をスピードマップから算出し、それを後の微小時間の移動における制限速度とすることが考えられる。この場合、微小時間ごとに速度調整を繰り返すことになる。
【００６７】
一方、畳み込み演算に用いる伝達関数を調整することによって間接的に速度を調整することが考えられる。図８は伝達関数としてガウス関数を採用した場合の、関数の最大値の変化に対する移動速度の変化を説明するための図である。同図において位置の時間変化２０２は入力情報を表し、視点を位置Ａから位置Ｂまで移動させる、という入力がなされた場合を示している。例えばユーザが入力装置２０の十字キー２１を操作して、シナリオデータに規定された次のキーフレームまで移動する場合に、このような入力情報が得られる。この場合、移動時間については特に定まっていない。
【００６８】
この入力情報に対し、ガウス関数２０４で畳み込み演算を行うと、位置の時間変化２０８が得られる。すなわち位置Ａから緩やかに移動し中間地点で最大速度となってまた緩やかに位置Ｂに至る移動を実現できる。ここで最大速度を規定するのはガウス関数２０４の最大値Ｆａである。したがって最大値がＦａより小さいＦｂのガウス関数２０６で畳み込み演算を行うと、最大速度が遅くなり位置Ｂに到達するまでの時間が長くなる、位置の時間変化２１０のような移動となる。
【００６９】
そこで、スピードマップに表される処理時間係数Ｒの変化に応じてガウス関数の最大値を調整することにより、位置Ａから位置Ｂまでの全期間で移動速度が制限速度を超えないようにすることができる。具体的には、位置Ａから位置Ｂへ至る経路上の各フレームに含まれるタイル画像に対応する処理時間係数Ｒの逆数を、各フレームに含まれる面積に応じて重みづけ平均した値を、当該フレーム位置における制限速度を表す指標、すなわち制限速度指標として算出する。
【００７０】
そして経路上で最も小さい制限速度指標を特定し、それに応じてガウス関数の最大値を増減する。経路上で制限速度指標が最も小さい領域は、データサイズが最大である。このため、移動の最大速度を制限速度指標の最小値に合わせるように調整することにより、データサイズが最大の領域が経路上のどこにあろうと当該領域を滞りなく移動でき、結果として移動中の全期間においてコマ落ちなどの状態が発生するのを回避できることになる。
【００７１】
このとき例えば、上述の基準処理を行った場合の最適なガウス関数の最大値などを基準値として求めておけば、制限速度指標の比からガウス関数の最大値を相対的に調整することができる。この例は、移動先の視点の位置Ｂがユーザの操作によって判明する場合であるが、ユーザの入力によって視点を逐次移動させる場合であっても、上述の先読み処理によって予測される移動先を位置Ｂとすれば、同様の調整が可能である。
【００７２】
次にシナリオデータの作成を支援する装置について説明する。図９はシナリオデータの作成を支援する機能を有する制御部１００ｂの構成を詳細に示している。このときハードディスクドライブ５０には階層データ１１６、スピードマップ１１８が格納されており、ユーザによるシナリオデータ作成を開始する指示入力に従いメインメモリ６０にロードされる。スピードマップ１１８は処理能力の異なる表示システムごとに複数格納されていてもよい。この場合は次に述べる設定情報の修正をスピードマップごとに行い、結果としてシナリオデータが表示システムごとに作成される。
【００７３】
制御部１００ｂは、シナリオデータ作成者によるシナリオデータの設定情報を取得する設定情報取得部１２０、設定情報に従って視点を移動させた場合の移動速度の是非を検証する移動速度検証部１２２、設定情報に従う移動で速度が超過している場合にその旨をシナリオデータ作成者に通知する速度超過通知部１２６、設定情報に従う移動で速度が超過している場合に当該設定情報を修正する設定情報修正部１２４、速度超過のない最終的なシナリオデータを作成するシナリオデータ生成部１２８を含む。
【００７４】
設定情報取得部１２０は、入力装置２０に対してシナリオデータ作成者が入力した、複数のキーフレームの座標と、キーフレーム間の移動時間などを取得してメインメモリ６０に格納する。例えばシナリオデータ作成用のＧＵＩ（Graphical User Interface）を表示装置１２に表示させ、キーフレームの指定と、前のキーフレームからそのキーフレームに至るまでの移動時間の設定をシナリオデータ作成者に促す。
【００７５】
例えば図７で示した表示機能を有する制御部１００ａと同様の構成を設定情報取得部１２０に備える。そしてシナリオデータ作成者は表示装置１２に表示させた画像を確認しながら入力装置２０を用いて視点を移動させ、所望のフレームを表示させた状態で入力装置２０の所定のボタンを押下するなどしてキーフレームのフレーム座標を指定する。それとともに移動時間の入力を入力装置２０のテンキー（不図示）などによって行う。設定情報取得部１２０は必要に応じて、指定された複数のキーフレーム座標を直線または所定の曲線で補間することにより、経路上に追加でキーフレームを挿入する。
【００７６】
あるいは設定情報取得部１２０は、テキスト編集画面を表示装置１２に表示させ、シナリオデータ作成者が入力装置２０のキーボード（不図示）などを用いて文字列を入力していくことによりキーフレームの情報を登録するようにしてもよい。例えばＸＭＬ文書などのマークアップ言語で、キーフレームの座標とその表示時間、次のキーフレームへ到達するまでの移動時間といった項目をシナリオデータ作成者に設定させる。
【００７７】
移動速度検証部１２２は、設定情報取得部１２０が取得した、フレーム座標と移動時間の情報を参照し、移動速度を取得する。一方、メインメモリ６０にロードしておいたスピードマップ１１８を参照し、設定された経路に含まれるタイル画像の処理時間係数Ｒから経路上の制限速度指標を取得する。そしてそれらを比較することにより、速度超過の有無を判定する。
【００７８】
例えばキーフレーム間をガウス関数状の速度変化で移動させる場合、上述のようにガウス関数の最大値を、経路における制限速度指標の最小値から求める。そして求めたガウス関数で定まる、キーフレーム間の移動に要する時間と、設定情報で設定されたキーフレーム間の移動時間とを比較する。設定された移動時間が、移動に要する時間より短い場合、設定された移動時間では速度が速すぎ、コマ落ちなどの危険性があると判断できる。なお隣合うキーフレームの位置の時間変化を線形に結んで得られる速度を、制限速度指標を実際の制限速度に換算した値と比較するなどでもよい。
【００７９】
速度超過通知部１２６は、移動速度検証部１２２において、設定された移動時間では速度が速すぎると判断された場合に、表示装置１２などを介してその旨をシナリオデータ作成者に通知する。このときシナリオデータ作成者は、移動時間を長くするなど設定値の調整を行うことができる。
【００８０】
設定情報修正部１２４は、移動速度検証部１２２において、設定された移動時間では速度が速すぎると判断された場合に、設定情報を修正する。具体的には、速度が超過しなくなるまでキーフレーム間の移動時間を長くする。あるいは、移動時間はそのままとし移動経路を修正する。このとき例えば、シナリオ作成者が設定したキーフレーム間に、修正した経路上にあるフレームをキーフレームとして挿入することにより、表示システムにおける画像表示時には、修正した経路で視点を移動させることができる。経路変更の具体例は後に述べる。
【００８１】
いずれの場合も、修正した結果、速度が超過しなくなったか否かの検証は、移動速度検証部１２２が上述と同様に行ってもよい。修正にあたっては、速度超過通知部１２６がシナリオデータ作成者に修正の是非を確認するための通知を行い、シナリオデータ作成者が許可した場合にのみ実際の修正をおこなってもよい。また修正結果の是非をシナリオデータ作成者にさらに確認してもよい。
【００８２】
シナリオデータ生成部１２８は、最終的に決定したキーフレームの座標と移動時間に、画像の階層データ１１６の識別情報など必要な情報を記述したシナリオデータを作成し、メインメモリ６０などに出力する。さらに画像の階層データ１１６とまとめて一つのファイルとすることにより、コンテンツファイルを作成してもよい。
【００８３】
図１０は設定情報修正部１２４が経路を修正する場合の具体例を説明するための図である。同図に示す階層データ４００において、経路４０２（一点鎖線）では速度超過と判定されたとする。この場合、移動中のいずれかの期間において、修正前の経路４０２を表示するのに用いていた階層の１つ上の階層の画像データを用いるように、階層データ４００が形成する仮想空間のＺ軸方向で経路を変更する。同図では、第３階層３６上を移動する経路の一部を、第２階層３４上を移動するように変更し、修正後の経路４０４（実線）としている。
【００８４】
画像データの階層を１つ上げることにより、画像の解像度は設定されたものより低下するが、処理するデータサイズを小さくできるため処理時間係数Ｒが減少し、結果として制限速度指標が増加する。そのため同様の移動でも経路における速度制限が緩くなり、キーフレーム間の移動時間を変更せずに移動先のキーフレームに到達することができる。実際の修正は上述のとおり、修正後の経路におけるフレーム、図１０の例では第２階層３４上のフレームを１つ以上、キーフレームとして挿入することによって実現できる。
【００８５】
なお２つ以上上の階層の画像データを用いるように経路を変更してもよい。経路の変更手法は、速度超過の状況に応じてあらかじめ定めた規則に従うか、少しずつ変更していき速度が超過しなくなった時点の経路を最終的な修正結果とする手法などでもよい。また図１０は用いる階層を変化させる例であったが、階層は変化させずに速度制限の緩い経路を、スピードマップを用いて探索するようにしてもよい。
【００８６】
次にシナリオデータの作成を支援する情報処理装置１０の動作を説明する。図１１はシナリオデータの作成を支援する手順を示すフローチャートである。図１１に示すフローチャートにおいては、各部の処理手順を、ステップを意味するＳ（Ｓｔｅｐの頭文字）と数字との組み合わせによって表示する。また、Ｓと数字との組み合わせによって表示した処理で何らかの判断処理が実行され、その判断結果が肯定的であった場合は、Ｙ（Ｙｅｓの頭文字）を付加して、例えば、（Ｓ１０のＹ）と表示し、逆にその判断結果が否定的であった場合は、Ｎ（Ｎｏの頭文字）を付加して、（Ｓ１０のＮ）と表示する。
【００８７】
図１１のフローチャートにおける処理は、シナリオデータ作成者がシナリオデータ作成開始の指示を入力したときに開始する。まずシナリオデータ作成者がシナリオデータの作成を開始する指示入力を行うと（Ｓ３０）、設定情報取得部１２０は、対象となる画像上にキーフレームを指定するための矩形をオーバーレイさせた画面や移動時間設定画面を表示装置１２に表示するなどしてシナリオデータ作成者からの入力を受け付けることにより設定情報を取得する（Ｓ３２）。
【００８８】
このとき必要に応じて、あらかじめ定めた補間手法でキーフレームを補間する。次に移動速度検証部１２２はスピードマップを参照し、設定情報におけるキーフレーム間の各移動のうち、速度が超過する移動箇所がないか検証する（Ｓ３４）。速度超過がみられる場合は（Ｓ３４のＮ）、速度超過通知部１２６がその旨をシナリオデータ作成者に通知するなどしたうえ、設定情報修正部１２４が設定情報を修正する（Ｓ３８またはＳ４０）。
【００８９】
このとき、速度超過通知部１２６がシナリオデータ作成者に、速度を優先させるか画像の品質を優先させるかの指定入力を促す。あるいはあらかじめ設定された、どちらを優先するかの情報を読み出す。そして当該優先情報に応じて、経路の修正または移動時間の修正のいずれかへ処理を分岐する。すなわち速度を優先させる場合は、１つまたはそれ以上、上の階層へ経路の一部を変更するなどして移動時間は設定通りとする（Ｓ３６のＹ、Ｓ３８）。一方、速度を優先させずに画質を優先させる場合は、移動時間の設定値を延長する（Ｓ３６のＮ、Ｓ４０）。このとき移動速度検証部１２２による修正結果の検証を同時に行うことにより速度超過がないことを確認したうえで、修正後の経路、または移動時間を最終決定する。
【００９０】
そしてシナリオデータ生成部１２８は、最終決定したキーフレームとその間の移動時間、および画像の階層データの識別情報など必要なデータを所定のフォーマットに記述することによりシナリオデータを生成して出力する（Ｓ４２）。Ｓ３４において速度超過がないと判定された場合も同様である（Ｓ３４のＹ、Ｓ４２）。なおＳ３８およびＳ４０の修正処理を行わず、速度超過通知部１２６がシナリオデータ作成者に速度超過の通知を行うのみでもよい。この場合、シナリオデータ作成者は、自分の考えるように設定情報を修正して入力し、移動速度検証部１２２がそれを再度検証し、速度超過があれば通知する、という処理を繰り返すことにより、最終的な設定をシナリオデータ作成者自信が決めてもよい。
【００９１】
以上述べた本実施の形態によれば、表示対象の画像を複数の解像度で用意した画像データに対応させて、視点を移動させるときの制限速度の指標を導出できるスピードマップを作成する。スピードマップは、各解像度の画像を区分けしてなるタイル画像など領域ごとに処理時間係数を保持するデータである。処理時間係数は、タイル画像のデータサイズ、画像を表示するシステムの処理能力、画像の圧縮形式に依存する値であり、タイル画像のデコードや転送にかかる時間の大小を表す。
【００９２】
このようなスピードマップを作成しておくことにより、移動速度を許容範囲内に調整することができ、対応する画像を表示する際、視点の移動が速すぎてコマ落ちするなどの不具合を防止できる。スピードマップは表示システムごとに作成できるため、例えば複数の表示システムのそれぞれに対応させて作成した複数のスピードマップを画像データとともにコンテンツファイルに含めることにより、表示システムにおける表示時は、自機に対応するスピードマップを選択して読み出すことによって適応的な速度調整が可能となる。
【００９３】
視点の移動において、始点から終点までの速度を畳み込み演算で決定する場合、演算に用いるガウス関数などの関数を、スピードマップに基づき変化させることにより、速度の調整を行う。これにより、滑らかかつ速度超過のない視点移動を実現できる。このとき、経路上で最も厳しい制限速度に合わせて最高速度を決定することにより、確実に速度超過をなくすことができる。
【００９４】
また、あらかじめシナリオデータにて設定しておいた経路で視点を移動させる態様においては、シナリオデータ作成者が設定したキーフレームの動きで速度超過が発生しないかどうかをスピードマップによって確認できる。これにより、適切なシナリオデータ作成のための支援が可能となる。速度超過が発生している場合は、設定されているキーフレーム間の移動時間を修正するか、解像度の低い画像データを用いるように経路の一部を修正する。速度を優先させるか画像の品質を優先させるかをシナリオデータ作成者が指定できるようにすることにより、シナリオデータ作成者の意図に近く、速度超過のないシナリオデータを決定することができる。
【００９５】
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００９６】
例えば本実施の形態ではシナリオデータ作成時に、スピードマップに従い経路の修正を行った。一方、表示システムにおける画像表示時に、同様の手法で経路の修正を行ってもよい。シナリオデータに従い視点を移動させていく場合や、ユーザによる入力によって所望のキーフレームへ表示領域を移動させる場合に、移動条件調整部は伝達関数の最大値は変化させずに、階層データにおける経路の階層を上げることにより速度超過がなくなるようにする。あるいはあらかじめ定めた規則で速度調整と経路調整を組み合わせてもよい。どのような調整を行うかは、コンテンツ作成者や鑑賞者が選択できるようにしてもよい。
【００９７】
また本実施の形態では、制限速度を表す指標の分布を画像平面上の位置に対して表したスピードマップを準備し、視点移動にともない移動する表示領域の経路における指標を参照することにより移動速度を調整した。一方、スピードマップを視点の位置に対する分布としてもよい。例えば、画像平面と当該平面からの距離からなる３次元空間における視点座標を所定の粒度でサンプリングし、各視点座標に対応する表示領域の処理時間係数Ｒの分布を視点座標に対応づけることによりスピードマップとする。この場合も、例えば視点経路の周囲における指標の値を、経路からの距離に応じて重みづけ平均することによって経路上の制限速度指標を算出するなど、実施の形態と同様の処理で移動速度を調整できる。
【符号の説明】
【００９８】
１  情報処理システム、  １０  情報処理装置、  １２  表示装置、  ２０  入力装置、  ３８  タイル画像、  ５０  ハードディスクドライブ、  ６０  メインメモリ、  １００  制御部、  １０２  入力情報取得部、  １０４  移動条件調整部、  １０５  フレーム座標決定部、  １０６ デコード部、  １０８ ロード部、  １１４ 表示画像処理部、  １１６  階層データ、  １１８  スピードマップ、  １１９  シナリオデータ、  １２０  設定情報取得部、  １２２  移動速度検証部、  １２４  設定情報修正部、  １２６  速度超過通知部、  １２８  シナリオデータ生成部。
【図１】
0005202584.tif 000003
【図２】
0005202584.tif 000004
【図３】
0005202584.tif 000005
【図４】
0005202584.tif 000006
【図５】
0005202584.tif 000007
【図６】
0005202584.tif 000008
【図７】
0005202584.tif 000009
【図８】
0005202584.tif 000010
【図９】
0005202584.tif 000011
【図１０】
0005202584.tif 000012
【図１１】
0005202584.tif 000013