(57)【要約】【課題】高度化する情報を、表示装置操作の容易性を保持しつつ表示させることは困難である。【解決手段】画像１５６、１５８、１６０なる３つの階層データを表示対象とする。そして画像１５６の領域１６２と画像１５８の領域１６３、および画像１５６の領域１６４と画像１６０の領域１６５にリンク情報を設定する。画像１５６の階層データを用いて表示画像を生成中、ユーザの表示画像移動要求により表示画像が領域１６２に重なった際、画像１５６から画像１５８へ表示に用いる階層データを切り替え、画像１５８の領域１６３を表示画像とする（矢印Ａ）。その後、画像１５８で表示画像を縮小し、当該表示画像が再びリンク領域１６３に重なったとき、画像１５８から画像１５６へ表示に用いる階層データを切り替え、画像１５６内の領域１６２を表示画像とする（矢印Ｂ）。【選択図】図８
2010117447.tif 000002
【特許請求の範囲】
【請求項１】
画像の少なくとも一部をディスプレイに表示する画像処理装置であって、
一の画像で異なる解像度の画像データを解像度順に階層化して構成される階層データを保持する記憶装置と、
画像平面および解像度の軸によって定義される仮想空間において、異なる階層データ内の所定の領域を対応づけたリンク設定ファイルを保持するメモリと、
ディスプレイに表示されている表示画像の前記仮想空間における移動要求をユーザから受け付ける入力情報取得部と、
ユーザからの表示画像の移動要求の結果、前記リンク設定ファイルにおいて設定された、表示中の階層データにおける領域の所定範囲内に表示画像が入ったとき、当該領域に対応づけられた別の階層データの領域へ表示画像を切り替える表示画像処理部と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記リンク設定ファイルに設定される階層データ内の領域は、所定の縦横比率を有する矩形であることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記リンク設定ファイルは、対応付けられた領域の組ごとに、元の表示画像が拡縮いずれの方向に移動した場合に表示画像の切り替えを有効とするかを記録し、
前記表示画像処理部は、ユーザからの表示画像の移動要求に基づき、表示画像の切り替えが有効と判定された場合に表示画像を切り替えることを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記入力情報取得部が受け付けたユーザからの表示画像移動要求に基づき、以後の表示画像の移動を予測する先読み処理部をさらに備え、
前記表示画像処理部は、前記リンク設定ファイルにおいて設定された、表示中の階層データにおける領域の所定範囲内に表示画像が入ることが前記先読み処理部によって予測されたとき、当該領域に対応付けられた別の階層データの領域のデコードを開始することを特徴とする請求項１または２に記載の画像処理装置。
【請求項５】
前記記憶装置に保持された階層データは所定の規則で分割した画像ブロックで構成され、表示中の階層データのうち、表示画像から前記仮想空間において所定の距離にあるポイントを含む画像ブロックを、前記記憶装置から前記メモリにロードするロード部をさらに備え、
前記ポイントが、前記リンク設定ファイルにおいて設定された、表示中の階層データにおける領域の所定範囲内にあるとき、前記ロード部は、前記ポイントの座標を、当該領域に対応付けられた別の階層データの座標に変換したうえ、当該ポイントを含む前記別の階層データの画像ブロックをロードすることを特徴とする請求項１または２に記載の画像処理装置。
【請求項６】
前記リンク設定ファイルに設定される階層データは、一の階層からなる動画像データを含むことを特徴とする請求項１に記載の画像処理装置。
【請求項７】
前記記憶装置が保持する階層データは、当該階層データの視聴を制御するための属性情報が付加され、
前記表示画像処理部は、表示画像を切り替える際、対象となる階層データの前記属性情報を読み出し、当該情報に基づき所定の規則により表示態様を変化させることを特徴とする請求項１に記載の画像処理装置。
【請求項８】
画像の少なくとも一部をディスプレイに表示する画像処理方法であって、
記憶装置から画像データを読み出して表示装置に描画するステップと、
現在表示中の画像における表示領域の移動および拡大縮小を含む表示画像の移動要求をユーザより受け付けるステップと、
表示画像があらかじめメモリに設定された領域および解像度に達したとき、当該設定において対応付けられた別の画像の所定の領域へ表示を切り替えるステップと、
を含むことを特徴とする画像処理方法。
【請求項９】
前記別の画像の所定の領域は、動画像の表示領域を含むことを特徴とする請求項８に記載の画像処理方法。
【請求項１０】
コンピュータに、画像の少なくとも一部をディスプレイに表示する機能を実現させるコンピュータプログラムであって、
記憶装置から画像データを読み出して表示装置に描画する機能と、
現在表示中の画像における表示領域の移動および拡大縮小を含む表示画像の移動要求をユーザより受け付ける機能と、
表示画像があらかじめメモリに設定された領域および解像度に達したとき、当該設定において対応付けられた別の画像の所定の領域へ表示を切り替える機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラム。
【請求項１１】
コンピュータに、画像の少なくとも一部をディスプレイに表示する機能を実現させるコンピュータプログラムを記録した記録媒体であって、
記憶装置から画像データを読み出して表示装置に描画する機能と、
現在表示中の画像における表示領域の移動および拡大縮小を含む表示画像の移動要求をユーザより受け付ける機能と、
表示画像があらかじめメモリに設定された領域および解像度に達したとき、当該設定において対応付けられた別の画像の所定の領域へ表示を切り替える機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラムを記録した記録媒体。
【請求項１２】
一の画像で異なる解像度の画像データを解像度順に階層化して構成される階層データのうち複数の階層データ内の所定の領域を、画像平面および解像度の軸によって定義される仮想空間において対応づけ、画像表示時に階層データ間で切り替えを行うためのリンク設定ファイルと、
当該リンク設定ファイルによって対応づけられた前記複数の階層データと、
当該階層データの視聴を制御する属性情報と、
を対応づけたことを特徴とするコンテンツのデータ構造。
【請求項１３】
請求項１２に記載のコンテンツのデータ構造を記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスプレイに表示する画像を拡大／縮小、または上下左右に移動させる画像処理技術に関する。
【背景技術】
【０００２】
ゲームプログラムを実行するだけでなく、動画を再生できる家庭用エンタテインメント
システムが提案されている。この家庭用エンタテインメントシステムでは、ＧＰＵがポリ
ゴンを用いた三次元画像を生成する（例えば特許文献１参照）。
【０００３】
一方、高精細な写真などのディジタル画像から生成された複数の解像度のタイル画像を用いて、表示画像の拡大／縮小処理や、上下左右方向の移動処理を行う技術が提案されている。この画像処理技術では、原画像サイズを複数段階に縮小して異なる解像度の画像を生成し、各階層の画像を一又は複数のタイル画像に分割して、原画像を階層構造で表現する。通常、最も解像度の低い画像は１つのタイル画像で構成され、最も解像度の高い原画像は、最も多い数のタイル画像で構成される。画像処理装置は、表示画像の拡大処理または縮小処理時に、使用しているタイル画像を、異なる階層のタイル画像に切り替えることで、拡大表示または縮小表示を迅速に行うようにしている。
【特許文献１】米国特許第６５６３９９９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
一方、近年は携帯端末などでも表示画面のサイズが拡大し、情報処理装置の種類によらず高精細画像を表示することが可能となってきている。そのため視覚に訴える様々なコンテンツがより身近なものとなった。しかし表示すべき情報が複雑化、高度化すると、それを使いこなすためには様々な知識が必要となってくる。このため、情報の質と操作の容易性とはトレードオフの関係にある場合が多い。また画像を含む複雑なコンテンツを作成するためにはさらに専門的な知識が必要となってくる。
【０００５】
本発明はこのような課題に鑑みてなされたものであり、その目的は、情報の質を維持しつつ容易に所望の情報を表示することのできる技術を提供することにある。
【課題を解決するための手段】
【０００６】
本発明のある態様は画像処理装置に関する。この画像処理装置は、画像の少なくとも一部をディスプレイに表示する画像処理装置であって、一の画像で異なる解像度の画像データを解像度順に階層化して構成される階層データを保持する記憶装置と、画像平面および解像度の軸によって定義される仮想空間において、異なる階層データ内の所定の領域を対応づけたリンク設定ファイルを保持するメモリと、ディスプレイに表示されている表示画像の仮想空間における移動要求をユーザから受け付ける入力情報取得部と、ユーザからの表示画像の移動要求の結果、リンク設定ファイルにおいて設定された、表示中の階層データにおける領域の所定範囲内に表示画像が入ったとき、当該領域に対応付けられた別の階層データの領域へ表示画像を切り替える表示画像処理部と、を備えることを特徴とする。
【０００７】
本発明の別の態様は画像処理方法に関する。この画像処理方法は、画像の少なくとも一部をディスプレイに表示する画像処理方法であって、記憶装置から画像データを読み出して表示装置に描画するステップと、現在表示中の画像における表示領域の移動および拡大縮小を含む表示画像の移動要求をユーザより受け付けるステップと、表示画像があらかじめメモリに設定された領域および解像度に達したとき、当該設定において対応付けられた別の画像の所定の領域へ表示を切り替えるステップと、を含むことを特徴とする。
【０００８】
本発明のさらに別の態様はコンテンツのデータ構造に関する。このデータ構造は、一の画像で異なる解像度の画像データを解像度順に階層化して構成される階層データのうち複数の階層データ内の所定の領域を、画像平面および解像度の軸によって定義される仮想空間において対応づけ、画像表示時に階層データ間で切り替えを行うためのリンク設定ファイルと、当該リンク設定ファイルによって対応づけられた複数の階層データと、当該階層データの視聴を制御する属性情報と、を対応づけたことを特徴とする。
【０００９】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１０】
本発明によると、情報の高度化に際しても容易な操作での情報表示が可能となる。
【発明を実施するための最良の形態】
【００１１】
図１は、本発明の実施の形態にかかる画像処理システム１の使用環境を示す。画像処理システム１は、画像処理ソフトウェアを実行する画像処理装置１０と、画像処理装置１０による処理結果を出力する表示装置１２とを備える。表示装置１２は、画像を出力するディスプレイおよび音声を出力するスピーカを有するテレビであってよい。表示装置１２は、画像処理装置１０に有線ケーブルで接続されてよく、また無線ＬＡＮ（Local Area Network）などにより無線接続されてもよい。画像処理システム１において、画像処理装置１０は、ケーブル１４を介してインターネットなどの外部ネットワークに接続し、階層化された圧縮画像データをダウンロードして取得してもよい。なお画像処理装置１０は、無線通信により外部ネットワークに接続してもよい。
【００１２】
画像処理装置１０は、たとえばゲーム装置であってよく、画像処理用のアプリケーションプログラムをロードすることで画像処理機能を実現してもよい。なお画像処理装置１０は、パーソナルコンピュータであってもよく、画像処理用のアプリケーションプログラムをロードすることで画像処理機能を実現してもよい。
【００１３】
画像処理装置１０は、ユーザからの要求に応じて、表示装置１２のディスプレイに表示する画像の拡大／縮小処理や、上下左右方向への移動処理などを行う。以後、これらの処理を総じて「表示画像の移動処理」と呼ぶ。ユーザが、ディスプレイに表示された画像を見ながら入力装置を操作すると、入力装置が、表示画像の移動要求信号を画像処理装置１０に送信する。
【００１４】
図２は、入力装置２０の外観構成を示す。入力装置２０は、ユーザが操作可能な操作手段として、十字キー２１、アナログスティック２７ａ、２７ｂと、４種の操作ボタン２６を備える。４種の操作ボタン２６は、○ボタン２２、×ボタン２３、□ボタン２４および△ボタン２５から構成される。
【００１５】
画像処理システム１において、入力装置２０の操作手段には、表示画像の拡大／縮小要求、および上下左右方向へのスクロール要求を入力するための機能が割り当てられる。たとえば、表示画像の拡大／縮小要求の入力機能は、右側のアナログスティック２７ｂに割り当てられる。ユーザはアナログスティック２７ｂを手前に引くことで、表示画像の縮小要求を入力でき、また手前から押すことで、表示画像の拡大要求を入力できる。また、表示領域の移動要求の入力機能は、十字キー２１に割り当てられる。ユーザは十字キー２１を押下することで、十字キー２１を押下した方向への移動要求を入力できる。なお、画像移動要求の入力機能は別の操作手段に割り当てられてもよく、たとえばアナログスティック２７ａに、スクロール要求の入力機能が割り当てられてもよい。
【００１６】
入力装置２０は、入力された画像移動要求信号を画像処理装置１０に伝送する機能をもち、本実施の形態では画像処理装置１０との間で無線通信可能に構成される。入力装置２０と画像処理装置１０は、Bluetooth（ブルートゥース）（登録商標）プロトコルやIEEE802.11プロトコルなどを用いて無線接続を確立してもよい。なお入力装置２０は、画像処理装置１０とケーブルを介して接続して、画像移動要求信号を画像処理装置１０に伝送してもよい。
【００１７】
図３は、本実施の形態において使用する画像データの階層構造例を示す。画像データは、深さ（Ｚ軸）方向に、第０階層３０、第１階層３２、第２階層３４および第３階層３６からなる階層構造を有する。なお同図においては４階層のみ示しているが、階層数はこれに限定されない。以下、このような階層構造をもつ画像データを「階層データ」とよぶ。
【００１８】
図３に示す階層データは４分木の階層構造を有し、各階層は、１以上のタイル画像３８で構成される。すべてのタイル画像３８は同じ画素数をもつ同一サイズに形成され、たとえば２５６×２５６画素を有する。各階層の画像データは、一つの画像を異なる解像度で表現しており、最高解像度をもつ第３階層３６の原画像を複数段階に縮小して、第２階層３４、第１階層３２、第０階層３０の画像データが生成される。たとえば第Ｎ階層の解像度（Ｎは０以上の整数）は、左右（Ｘ軸）方向、上下（Ｙ軸）方向ともに、第（Ｎ＋１）階層の解像度の１／２であってよい。
【００１９】
画像処理装置１０において、階層データは、所定の圧縮形式で圧縮された状態で記憶装置に保持されており、ディスプレイに表示される前に記憶装置から読み出されてデコードされる。本実施の形態の画像処理装置１０は、複数種類の圧縮形式に対応したデコード機能を有し、たとえばＳ３ＴＣ形式、ＪＰＥＧ形式、ＪＰＥＧ２０００形式の圧縮データをデコード可能とする。階層データにおいて、圧縮処理は、タイル画像単位に行われていてもよく、また同一階層または複数の階層に含まれる複数のタイル画像単位に行われていてもよい。
【００２０】
階層データの階層構造は、図３に示すように、左右方向をＸ軸、上下方向をＹ軸、深さ方向をＺ軸として設定され、仮想的な３次元空間を構築する。画像処理装置１０は、入力装置２０から供給される画像移動要求信号から表示画像の移動量を導出すると、その移動量を用いて仮想空間におけるフレームの４隅の座標（フレーム座標）を導出する。仮想空間におけるフレーム座標は、後述する表示画像の生成処理に利用される。なお、仮想空間におけるフレーム座標の代わりに、画像処理装置１０は、階層を特定する情報と、その階層におけるテクスチャ座標（ＵＶ座標）を導出してもよい。以下、階層特定情報およびテクスチャ座標の組み合わせも、フレーム座標と呼ぶ。
【００２１】
図４は画像処理装置１０の構成を示している。画像処理装置１０は、無線インタフェース４０、スイッチ４２、表示処理部４４、ハードディスクドライブ５０、記録媒体装着部５２、ディスクドライブ５４、メインメモリ６０、バッファメモリ７０および制御部１００を有して構成される。表示処理部４４は、表示装置１２のディスプレイに表示するデータをバッファするフレームメモリを有する。
【００２２】
スイッチ４２は、イーサネットスイッチ（イーサネットは登録商標）であって、外部の機器と有線または無線で接続して、データの送受信を行うデバイスである。スイッチ４２は、ケーブル１４を介して外部ネットワークに接続し、画像サーバから階層化された圧縮画像データを受信してもよい。またスイッチ４２は無線インタフェース４０に接続し、無線インタフェース４０は、所定の無線通信プロトコルで入力装置２０と接続する。入力装置２０においてユーザから入力された画像移動要求信号は、無線インタフェース４０、スイッチ４２を経由して、制御部１００に供給される。
【００２３】
ハードディスクドライブ５０は、データを記憶する記憶装置として機能する。スイッチ４２を介して受信された圧縮画像データは、ハードディスクドライブ５０に格納される。記録媒体装着部５２は、メモリカードなどのリムーバブル記録媒体が装着されると、リムーバブル記録媒体からデータを読み出す。ディスクドライブ５４は、読出専用のＲＯＭディスクが装着されると、ＲＯＭディスクを駆動して認識し、データを読み出す。ＲＯＭディスクは、光ディスクや光磁気ディスクなどであってよい。圧縮画像データはこれらの記録媒体に格納されていてもよい。
【００２４】
制御部１００は、マルチコアＣＰＵを備え、１つのＣＰＵの中に１つの汎用的なプロセッサコアと、複数のシンプルなプロセッサコアを有する。汎用プロセッサコアはＰＰＵ（Power Processing Unit）と呼ばれ、残りのプロセッサコアはＳＰＵ（Synergistic-Processing Unit）と呼ばれる。
【００２５】
制御部１００は、メインメモリ６０およびバッファメモリ７０に接続するメモリコントローラを備える。ＰＰＵはレジスタを有し、演算実行主体としてメインプロセッサを備えて、実行するアプリケーションにおける基本処理単位としてのタスクを各ＳＰＵに効率的に割り当てる。なお、ＰＰＵ自身がタスクを実行してもよい。ＳＰＵはレジスタを有し、演算実行主体としてのサブプロセッサとローカルな記憶領域としてのローカルメモリを備える。ローカルメモリは、バッファメモリ７０として使用されてもよい。
【００２６】
メインメモリ６０およびバッファメモリ７０は記憶装置であり、ＲＡＭ（ランダムアクセスメモリ）として構成される。ＳＰＵは制御ユニットとして専用のＤＭＡ（Direct Memory Access）コントローラをもち、メインメモリ６０とバッファメモリ７０の間のデータ転送を高速に行うことができ、また表示処理部４４におけるフレームメモリとバッファメモリ７０の間で高速なデータ転送を実現できる。本実施の形態の制御部１００は、複数のＳＰＵを並列動作させることで、高速な画像処理機能を実現する。表示処理部４４は、表示装置１２に接続されて、ユーザからの要求に応じた画像処理結果を出力する。
【００２７】
本実施の形態の画像処理装置１０は、表示画像の拡大／縮小処理や表示領域の移動処理を行う際に表示画像を円滑に変更させるために、後述する規則によって決定した圧縮画像データの一部をハードディスクドライブ５０からメインメモリ６０にロードしておく。また、ユーザからの画像移動要求をもとに、将来表示させる画像を予測し、メインメモリ６０にロードした圧縮画像データのさらに一部をデコードしてバッファメモリ７０に格納しておく。これにより、後の必要なタイミングで、表示画像の生成に使用する画像を瞬時に切り替えることが可能となる。以下において、将来表示させるタイル画像を予測して、バッファメモリ７０に前もって展開しておく処理を、「先読み処理」とよぶ。
【００２８】
図５は、先読み処理を説明するための図を示す。図５は、階層データの構造を示しており、各階層はＬ０（第０階層）、Ｌ１（第１階層）、Ｌ２（第２階層）、Ｌ３（第３階層）と表現されている。図５に示す階層データ構造において、深さ（Ｚ軸）方向における位置は、解像度を示し、Ｌ０に近い位置ほど解像度が低く、Ｌ３に近い位置ほど解像度は高い。なおディスプレイに表示される画像の大きさに注目すると、深さ方向における位置は、縮尺率に対応し、Ｌ３の表示画像の縮尺率を１とすると、Ｌ２における縮尺率は１／４、Ｌ１における縮尺率は１／１６となり、Ｌ０における縮尺率は１／６４となる。
【００２９】
したがって深さ方向において、表示画像がＬ０側からＬ３側へ向かう方向に変化する場合、表示画像は拡大していき、Ｌ３側からＬ０側へ向かう方向に変化する場合は、表示画像は縮小していく。矢印８０は、ユーザからの画像移動要求信号が、表示画像の縮小を要求しており、縮尺率１／４（Ｌ２）をまたいだ様子を示している。本実施例の画像処理装置１０では、タイル画像３８として用意しているＬ１、Ｌ２の深さ方向の位置を、深さ方向の先読み境界として設定し、画像変更要求信号が先読み境界をまたぐと、先読み処理が開始される。
【００３０】
表示画像の縮尺率がＬ２の近傍にある場合、表示画像は、Ｌ２（第２階層）のタイル画像を用いて作成される。具体的には、表示する画像の縮尺率が、Ｌ１タイル画像とＬ２タイル画像の切替境界８２と、Ｌ２タイル画像とＬ３タイル画像の切替境界８４の間にある場合に、Ｌ２タイル画像が利用される。したがって、矢印８０に示すように画像の縮小処理が要求されると、Ｌ２のタイル画像が拡大された画像から、縮小された画像に変換されて表示される。画像処理装置１０は、入力装置２０からの画像移動要求信号と伝達関数を畳み込み演算して、画像移動要求信号が要求する表示画像の生成を遅延させ、その間に、画像移動要求信号から予測される将来必要なタイル画像３８を特定して、メインメモリ６０から先読みしておく。図５の例では、画像移動要求信号による要求縮尺率がＬ２をまたいだときに、画像処理装置１０が、縮小方向にあるＬ１の対応するタイル画像３８をメインメモリ６０から先読みしてデコードし、バッファメモリ７０に書き込む。
【００３１】
なお以上は深さ方向の先読み処理について説明したが、上下左右方向の先読み処理についても同様に処理される。具体的には、バッファメモリ７０に展開されている画像データに先読み境界を設定しておき、画像変更要求信号による表示位置が先読み境界をまたいだときに、先読み処理が開始されるようにする。
【００３２】
図６は本実施の形態における画像データの流れを模式的に示している。まず階層データはハードディスクドライブ５０に格納されている。ハードディスクドライブ５０に代わり、記録媒体装着部５２やディスクドライブ５４に装着された記録媒体が保持していてもよい。あるいは、画像処理装置１０がネットワークを介して接続した画像サーバから階層データをダウンロードするようにしてもよい。ここでの階層データは上述のとおり、Ｓ３ＴＣ形式などによる固定長圧縮、あるいはＪＰＥＧ形式などによる可変長圧縮がなされている。
【００３３】
この階層データのうち、一部の画像データを圧縮した状態のままメインメモリ６０にロードする（Ｓ１０）。ここでロードする領域は、現在の表示画像の仮想空間における近傍や、画像の内容、ユーザの閲覧履歴等に基づいて、高頻度で表示要求がなされると予測される領域など、あらかじめ定めた規則によって決定する。ロードは、画像変更要求がなされたときのみならず、例えば所定の時間間隔で随時行う。これによりロード処理が一時期に集中しないようにする。
【００３４】
また、ロードする圧縮画像データはおよそ一定のサイズを有するブロック単位とする。そのためハードディスクドライブ５０が保持する階層データは所定の規則でブロックに分割しておく。このようにすることでメインメモリ６０におけるデータ管理が効率よく行える。すなわち、圧縮画像データが可変長圧縮されたものであっても、ブロック（以後、「画像ブロック」と呼ぶ）単位であればロードするデータサイズがほぼ等しいため、基本的にメインメモリ６０にそれまで格納されていたブロックのいずれかを上書きすることによって新たなロードが完了する。そのためフラグメンテーションが発生しにくく、メモリを効率的に使用できるうえ、アドレス管理も容易になる。
【００３５】
次に、メインメモリ６０に格納されている圧縮画像データのうち、表示に必要な領域の画像、または必要と予測される領域の画像のデータをデコードし、バッファメモリ７０に格納する（Ｓ１２）。バッファメモリ７０は、少なくとも２つのバッファ領域７２、７４を含む。各バッファ領域７２、７４のサイズは、フレームメモリ９０のサイズよりも大きく設定され、入力装置２０から画像移動要求信号が入力された場合に、ある程度の量の変更要求に対しては、バッファ領域７２、７４に展開した画像データで表示画像を生成できるようにする。
【００３６】
バッファ領域７２、７４の一方は、表示画像の生成に用いる画像を保持するために利用される表示用バッファであり、他方は、以後、必要と予測される画像を準備するために利用されるデコード用バッファである。図６の例では、バッファ領域７２が表示用バッファ、バッファ領域７４がデコード用バッファで、表示領域６８が表示されているものとする。先読み処理によってデコード用バッファに格納する画像は、表示用バッファに格納されている画像と同一階層の画像でもよいし、縮尺の異なる別階層の画像でもよい。
【００３７】
次に、表示用バッファであるバッファ領域７２に格納された画像のうち表示領域６８の画像を、フレームメモリ９０に描画する（Ｓ１４）。この間に、新たな領域の画像が必要に応じてデコードされ、バッファ領域７４に格納される。格納が完了したタイミングや表示領域６８の移動量などに応じて、表示用バッファとデコード用バッファを切り替える（Ｓ１６）。これにより、表示領域の移動や縮尺率の変更などに対し表示画像をスムーズに切り替えることができる。
【００３８】
これまで述べた処理は、ある画像の表示領域の移動、拡大縮小を行うために、図５で示したような一つの階層データによって構成される仮想空間において、ユーザからの画像移動要求に従いフレーム座標を移動させる態様であった。本実施の形態ではさらに、複数の階層データを表示対象として用意し、表示画像が階層データ間を行き来することを可能にする。図７はそのような態様において表示対象となる複数の階層データの関係を模式的に示している。
【００３９】
図中、２つの三角形は異なる階層データ１５０および１５２を示している。それぞれの階層データ１５０、１５２は実際には、図３に示すように解像度の異なる複数の画像データが図のＺ軸方向に離散的に存在する構成を有する。図５で説明したのと同様に、ユーザが画像移動要求信号により表示画像の拡大縮小を指示すると、表示画像は図のＺ軸方向に移動することになる。一方、表示領域を上下左右に移動させる場合は、図の水平面を移動することになる。本実施の形態では、このような仮想空間において、２つの階層データ１５０および１５２が図のように重なり合った状態を生成する。
【００４０】
このような状態で、階層データ１５０の画像を表示中、ユーザが拡大指示を行い、表示画像が矢印ａのように移動した場合、当該表示画像は階層データ１５２の領域に入る、すなわち階層データ間を移動することになる。仮想空間での当該移動をこれまでに述べた階層データの表示手順に含めることにより、異なる階層データの画像をシームレスにつないだ表示を行うことができる。階層データ１５０と１５２の画像は同じ対象物を異なる解像度の範囲で表すデータでもよいし、全く異なる対象物を表すデータでもよい。例えば階層データ１５０を世界地図のデータ、階層データ１５２を日本地図のデータとすると、ユーザが世界地図の日本の領域を拡大していくことにより、階層データ１５０から階層データ１５２への遷移が起こり、日本地図のさらに詳細な表示が行える。また、階層データ１５０をメニュー画面のデータ、階層データ１５２をメニュー画面に表示された各アイコンについて説明したマニュアルのデータとすると、ユーザがメニュー画面の所望のアイコンを拡大することにより、当該アイコンに対応する機能について説明したマニュアル画像に切り替わる、といったことが可能になる。
【００４１】
このように本実施の形態では、仮想空間における表示画像の移動、すなわち拡大、縮小を含む表示画像移動要求の入力をきっかけとして、描画に用いる階層データを切り替える。このような切り替えを、現在表示中の画像に対する基本操作のみで行えるため、切り替えのためのメニュー画面を表示させたり選択したりするなどの段階を経ることがなく、操作性のよいユーザインターフェースを提供できる。また、例えば世界地図の画像から建物や道路が確認できるような高解像度の画像まで連続して拡大できるコンテンツを作成する場合、解像度の範囲に応じて階層データを別に保持することにより、海洋領域など拡大の必要の少ない領域のデータを省くことができ、一つの巨大な階層データを構築するよりデータサイズを格段に削減できる。また、全く異なる画像を連続的に表示することが容易であり、さまざまな画像表現への応用、コンテンツの作成が容易になる。
【００４２】
表示中の画像のどの領域およびどの解像度で別の階層データへ切り替えるかは、図７中、線１５４で表される「リンク情報」としてあらかじめ設定しておく。同図の例では、Ｚ軸がｚ１なる解像度、線１５４が表す水平面（図３参照）上の位置において、階層データ１５０から階層データ１５２への切り替えが行われる。以後、このような階層データ間の切り替えを「リンク」と呼ぶ。
【００４３】
図８は階層データ間にリンクを設定したときの表示画像の様子を例示している。同図では、画像１５６、１５８、１６０なる３つの階層データを表示対象としている。そして画像１５６の領域１６２と画像１５８の領域１６３にリンクが設定されており、画像１５６の領域１６４と画像１６０の領域１６５にリンクが設定されているとする。このような領域を以後、「リンク領域」と呼ぶ。リンク領域は、図７の線１５４に相当する。画像１５６の階層データを用いて表示画像を生成中、ユーザの表示画像移動要求により表示画像がリンク領域１６２に重なると、画像１５６から画像１５８へ表示に用いる階層データが切り替わり、画像１５８内のリンク領域１６３が表示画像となる（矢印Ａ）。
【００４４】
図８の例では、画像１５６のうち主に５角形を中心とする領域についてさらに解像度を上げた画像を別の画像１５８の階層データとしてハードディスクドライブ５０に保持している。そしてリンク領域１６２とリンク領域１６３は同じ視野角を有するように設定する。すると、画像１５６の階層データでもっとも高い解像度の画像よりさらに高解像度の画像を、画像１５８の階層データを用いて連続的に表示することができる。このとき外観上は五角形にズームインしていくのみで、図７の矢印ａの遷移が起こるため、階層データの切り替わりが行われたことをユーザが意識することはない。
【００４５】
またリンク領域１６２とリンク領域１６３は、図に示すように矢印Ａと逆方向のリンク、矢印Ｂも設定されている。この場合、矢印Ａの遷移後、画像１５８の所望の領域を拡大表示などしたユーザが、表示画像を縮小し、当該表示画像が再びリンク領域１６３に重なったとき、画像１５８から画像１５６へ表示に用いる階層データが切り替わり、画像１５６内のリンク領域１６２が表示画像となる（矢印Ｂ）。この場合も、画像１５８における表示画像を縮小していくのみで、階層データの切り替わりを意識することなく、連続的な縮小が可能となる。
【００４６】
リンク領域１６４からリンク領域１６５への遷移（矢印Ｃ）も同様に、画像１５６を表示中、楕円形をズームインしていき表示画像がリンク領域１６４と重なったときに、階層データが切り替わり、画像１６０のリンク領域１６５が表示画像となる。これにより、画像１５６より高解像度の画像表示が可能となる。なお表示画像がリンク領域に「重なる」という状態は、厳密に重なっていなくてもよいため、表示画像がリンク領域から所定の範囲内に入ったときを重なったと見なす、といった規則をあらかじめ設定しておけばよい。
【００４７】
図９は制御部１００の構成を詳細に示している。制御部１００は入力装置２０からユーザが入力した情報を取得する入力情報取得部１０２、階層データを画像ブロックに分割する圧縮データ分割部１０４、新たにロードすべき画像ブロックを決定するロードブロック決定部１０６、必要な画像ブロックをハードディスクドライブ５０からロードするロード部１０８を含む。制御部１００はさらに、先読み処理を行う先読み処理部１１０、ロードすべきデータ、あるいはデコードすべきデータがリンク先の階層データ内にあるか否かを判定するリンク判定部１１６、圧縮画像データをデコードするデコード部１１２、および表示画像を描画する表示画像処理部１１４を含む。制御部１００はさらに、設定されたシナリオ情報を解釈してリンク判定部１１６、ロード部１０８、表示画像処理部１１４を制御するシナリオ解釈部１１７を含む。
【００４８】
図９において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、ＣＰＵ（Central Processing Unit）、メモリ、その他のＬＳＩで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。既述したように、制御部１００は１つのＰＰＵと複数のＳＰＵとを有し、ＰＰＵおよびＳＰＵがそれぞれ単独または協同して、各機能ブロックを構成できる。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００４９】
まずハードディスクドライブ５０にはリンクが設定された複数の階層データ１０１を格納しておく。またメインメモリ６０には、ハードディスクドライブ５０からロードした画像ブロックを格納する領域１２０のほか、リンク設定ファイル１１８をあらかじめ格納しておく。リンク設定ファイル１１８は、設定されたリンク情報を記録したファイルであり、階層データ１０１本体に付加されたものをハードディスクドライブ５０からロードしてもよい。なおメインメモリ６０に格納されたシナリオ設定ファイル１１９については後に説明する。
【００５０】
入力情報取得部１０２は、ユーザが入力装置２０に対して入力した、画像表示の開始／終了、表示領域の移動、表示画像の拡大、縮小などの指示情報を取得する。入力情報取得部１０２はさらに、あらかじめ設定した表示画像を移動する速度の最大値、画像移動要求信号と畳み込み演算する伝達関数などに基づき、画像移動要求信号を遅延させてもよい。伝達関数は、たとえばガウシアン関数であってもよい。画像処理装置１０は、この遅延時間を利用して、画像データの先読み処理に要する時間、後述するリンク先の画像や動画再生、アプリケーションの起動に要する時間を確保する。これにより、ユーザの要求に対応したスムーズな画像表示が可能となる。
【００５１】
圧縮データ分割部１０４は、ハードディスクドライブ５０などから階層データを読み出し、所定の規則により分割して画像ブロックを生成し、ハードディスクドライブ５０に格納する。例えばユーザが入力装置２０に対し、ハードディスクドライブ５０に格納されている階層データのいずれかを選択すると、入力情報取得部１０２から当該情報を取得し、分割処理を開始する。または元から画像ブロックに分割された階層データをハードディスクドライブ５０に格納してもよい。このような階層データを表示対象とする場合には、圧縮データ分割部１０４は動作しなくてよい。
【００５２】
ロードブロック決定部１０６は、ハードディスクドライブ５０からメインメモリ６０へ新たにロードすべき画像ブロックの有無の確認、および次にロードする画像ブロックの決定を行い、ロード部１０８にロード要求を発行する。ロードブロック決定部１０６はその際、ロードすべき画像ブロックに、リンク先の別の階層データの画像ブロックが含まれていないかをリンク判定部１１６に問い合わせる。ロードブロック決定部１０６は、ロード部１０８がロード処理中でない状態において、例えば所定の時間間隔、あるいは、ユーザが画像の移動要求を行った際など、所定のタイミングで上記確認、決定の処理を行う。ロード部１０８は、ロードブロック決定部１０６からの要求に従い、実際のロード処理を行う。
【００５３】
ユーザが表示画像の移動要求を行った際、もし移動先の画像領域を含む画像ブロックがメインメモリ６０に格納されていなかったら、ハードディスクドライブ５０からの画像ブロックのロード、必要領域のデコード、表示画像の描画、といった処理を一度に行う必要がある。この場合、ロード処理がボトルネックとなり、ユーザの要求に対する応答性が損なわれることが考えられる。本実施の形態では、（１）今後表示される可能性の高い領域を網羅するように画像ブロックをロードしておく、（２）ロード処理が一時期に集中しないように随時ロードしていく、というポリシーの元でロードを行う。これによりロード処理が表示画像の変更処理の妨げになることが少なくなる。
【００５４】
先読み処理部１１０は、現在の表示画像のフレーム座標とユーザが入力した表示画像移動要求の情報に従い、将来表示画像の描画に必要とされるであろう画像領域を予測し、その情報をデコード部１１２に供給する。ただし画像表示開始直後や、バッファメモリ７０に格納済みの画像では変更先の画像が描画できない場合などは、予測をせずに、その時点の表示画像の描画に必要な画像を含む所定領域の情報をデコード部１１２に供給する。また先読み処理部１１０は、予測した画像領域や現在表示画像の描画に必要な画像領域がリンク先の別の階層データに含まれていないかをリンク判定部１１６に問い合わせる。
【００５５】
リンク判定部は、メインメモリ６０にあらかじめ格納したリンク設定ファイル１１８を参照し、ロードブロック決定部１０６の問い合わせに応じて、ロードすべき画像ブロックにリンク先の階層データの画像ブロックが含まれているか否かを判定する。含まれている場合は、現在表示中の階層データにおけるロードすべきポイントの座標を、リンク先の階層データにおける座標に変換し、変換前の座標、リンク先の階層データのファイル名とともにロードブロック決定部１０６に返す。また先読み処理部１１０の問い合わせに応じて、描画に必要な領域にリンク先の階層データの領域が含まれているか否かを判定する。含まれていたら、リンク先のリンク領域の座標に係る情報を返す。リンクの設定例は後に示す。
【００５６】
デコード部１１２は、先読み処理部１１０から取得した画像領域の情報に基づき、メインメモリ６０から圧縮画像データの一部を読み出しデコードし、デコード用バッファまたは表示用バッファにデコード後のデータを格納する。表示画像処理部１１４は、ユーザが入力した表示画像移動要求に従い新たな表示画像のフレーム座標を決定し、バッファメモリ７０の表示用バッファから対応する画像データを読み出し、表示処理部４４のフレームメモリ９０に描画する。シナリオ解釈部１１７は、メインメモリ６０に格納したシナリオ設定ファイル１１９を解釈して、表示画像の連続的な誘導を行うために表示画像の制御を行う。詳細は後に述べる。
【００５７】
次にリンクの設定例について説明する。図１０〜１３は画像内の領域（フレーム）の定義方法を説明する図である。図１０は基準となるフレームと画像の位置関係を示している。図１０で画像１５６に対する基準フレーム２６４は、画像１５６の中心と同一の中心を有し、画像１５６に外接する、縦横比が所定の値の矩形とする。ここで縦横比は所定の値でよく、例えば、表示するディスプレイあるいはディスプレイ上の表示領域の縦横比と同一とする。表示画像を拡大、縮小しても、フレームは常に当該比率を保持するとする。このようなフレームを基準としたときの、横方向オフセット、縦方向オフセット、拡大率、回転角、の４つのパラメータでフレームを指定する。基準フレーム２６４は、（横方向オフセット，縦方向オフセット，拡大率，回転角）＝（０，０，１．０，０）である。
【００５８】
図１１は基準フレームを平行移動させた場合のフレームの定義を説明する図であるこの場合、縦方向オフセットおよび横方向オフセットのパラメータに値が代入される。具体的にはフレームの中心２７２から画像１５６の中心、すなわち基準フレームの中心２７０への距離の横方向成分offset_x、縦方向成分offset_yが横方向オフセット、縦方向オフセットの値となる。したがってフレーム２６２は（offset_x, offset_y，１．０，０）と表現される。
【００５９】
図１２は基準フレームを平行移動させずに拡大率を変化させた場合のフレームの定義を説明する図である。この場合、フレーム２６６の基準フレームに対する比率が拡大率のパラメータに代入される。図１２のフレーム２６６が図１０の基準フレームの０．５倍であれば、フレーム２６６は（０，０，０．５，０）と表現される。
【００６０】
図１３は基準フレームを平行移動させずに回転させた場合のフレームの定義を説明する図である。この場合、フレーム２８０の基準フレームからの回転角２８２が回転角のパラメータに代入される。例えば回転角２８２が０．２５pであれば、フレーム２８０は（０，０，１．０，０．２５）と表現される。図１１〜１３のオフセット、拡大率、回転角を組み合わせることにより、表示画像のフレームはいずれも、４つのパラメータで表現できる。以後、この４つのパラメータセットを「フレーム定義パラメータ」と呼ぶ。
【００６１】
図１４はリンク設定ファイル１１８のデータ構造例を示している。リンク設定ファイル１１８は、一行が一つのリンク、すなわちある階層データから別の階層データへの切り替えの記述に対応し、リンク元画像フレームフィールド３０２、有効スケール範囲フィールド３０４、リンク先ファイルフィールド３０６、およびリンク先画像フレームフィールド３０８、の４種類のフィールドによって構成される。リンク元画像フレームフィールド３０２は表示中の画像において、階層データの切り替えが発生するときの表示画像、すなわちリンク領域のフレームを上述のフレーム定義パラメータで指定する。当該フレームは、例えば図８における矢印Ｂのリンクにおけるリンク領域１６３のフレームに相当する。
【００６２】
有効スケール範囲フィールド３０４は、リンク元画像フレームフィールド３０２における拡大率を始点としてリンクが有効となる拡大率の幅を指定する。図１４の１行目では、リンク元画像フレームフィールド３０２に示されたリンク領域の拡大率が「２．０」であり、有効スケール範囲フィールド３０４の値が「９８．０」であるため、拡大率が２．０〜１００．０までの表示画像であればリンクを有効とし、階層データを切り替える、という設定となる。
【００６３】
例えば図８における矢印Ｂのリンクは、表示画像をズームアウト、すなわち画像１５８のリンク領域１６３より小さいフレームから、フレームの拡大率を上げていき、リンク領域１６３と重なったときに画像１５６へと切り替わる。したがって、拡大率が「２．０」以上となったときにリンクを有効とするために、有効スケール範囲フィールド３０４の値を正の値とする。これにより、画像１５８の表示において拡大率を十分上げた後にリンク領域１６３の近傍に移動させたとしてもリンクを有効とすることができる。
【００６４】
一方、図８における矢印Ａのリンクは、表示画像をズームイン、すなわち画像１５６のリンク領域１６２より大きいフレームから、フレームの拡大率を下げていき、リンク領域１６２と重なったときに画像１５８へと切り替わる。したがって、図１４の２行目のように、有効スケール範囲フィールド３０４を「ー１．０」など負の値とする。リンク先ファイルフィールド３０６は、リンク先の階層データのファイル名を指定する。図８における矢印Ｂのリンクの例では、画像１５６の階層データのファイル名に相当する。リンク先画像フレームフィールド３０８は、階層データの切り替え後の表示画像、すなわちリンク先のリンク領域のフレームのフレーム定義パラメータを指定する。
【００６５】
リンク設定ファイルはリンク元の階層データごとに作成する。すなわち図８における矢印ＡおよびＣのリンクの情報は画像１５６の階層データのリンク設定ファイル、矢印Ｂのリンク情報は画像１５８の階層データのリンク設定ファイルに、それぞれ記述される。各ファイルは対応する階層データと関連づけて保存する。このようにすることで、双方向にリンクが設定されていてもその動きは独立とすることができる。例えば図８において矢印Ａの遷移におけるリンク領域Ａ、Ｂと、矢印Ｂの遷移におけるリンク領域Ａ、Ｂは領域や解像度を異ならせることができる。図８の例では画像１６０にリンク設定ファイルが付加されていないため、画像１６０へ遷移した後はその中で画像表示その他で楽しむことになる。
【００６６】
このようなリンク設定ファイルをあらかじめ作成しておくことにより、リンク判定部１１６は、先読み処理部１１０からの問い合わせに応じて、先読み処理によって予測された領域が、リンク設定ファイルにおいて設定されたリンク領域を含むか否かを確認する。含む場合はリンク先の階層データのファイル名、リンク先のリンク領域のフレーム定義パラメータを返す。先読み処理部１１０はリンク領域を含まない場合と同様に当該情報をデコード部１１２に渡す。デコード部１１２はリンク先のリンク領域のデータをメインメモリ６０より読み込みデコードする。
【００６７】
同様にリンク判定部１１６は、ロードブロック決定部１０６からの問い合わせに応じて、ロードすべきポイントがリンク領域に含まれるか否かを確認する。含まれる場合はリンク先の階層データのファイル名を返す。この際、ロードすべきポイントのリンク元の画像における座標をリンク先の画像における座標に変換して当該情報も返信する。ロードブロック決定部１０６は、リンク先画像の階層データのうち、座標変換されたロードすべきポイントを含む画像ブロックをハードディスクドライブ５０からメインメモリ６０にロードする。
【００６８】
ここで、ロードブロック決定部１０６およびリンク判定部１１６が行う、画像ブロックのロード処理について説明する。図１５は２つの階層データにリンクが設定されているときのロードすべきポイントを模式的に示している。メインメモリ６０には、基本的には現在表示されている表示画像の周辺の画像の圧縮データがロードされていることが望ましい。ここで「周辺」とは、同一階層の画像における上下左右（Ｘ軸、Ｙ軸）方向と、階層構造の深さ（Ｚ軸）方向の周辺を含んでよい。Ｚ軸方向の周辺とは、表示画像およびその近傍を含む拡大画像および縮小画像を意味する。
【００６９】
図１５において、２つの三角形は図７と同様、階層データ１８４および１８６を表している。またこれらの階層データ１８４、１８６には線１８８のようなリンクが設定されている。現在の表示画像を線１９０とすると、例えば同図の白丸１９２および黒丸１９４のポイントを含む画像ブロックをメインメモリ６０にロードするようにする。すなわち、表示中の階層を中心とした上下の所定数の階層において、現在の表示画像の領域から所定の範囲内にある数ポイントをロードすべきポイントとして決定する。
【００７０】
図１５の例では、表示画像と同一階層では５つのポイント、それより１つ上、または下の階層では３つのポイント、２つ上、または２つ下の階層では１つのポイントが白丸１９２および黒丸１９４で表されている。実際には図の水平面上にさらにポイントが存在する。ここで図のように線１８８でリンクが設定されている場合、現在の表示画像が階層データ１８４のものであっても、一つ下の階層において決定したポイントがリンク領域に含まれるため、階層データ１８６のうち、階層データ１８４の当該ポイントに対応するポイントを含む画像ブロックをロードする。２つ下の階層のロードすべきポイントも同様である。同図では、現在表示中の階層データ１８４におけるロードすべきポイントを白丸１９２、上述のようにリンク先の階層データ１８６の座標へ変換されたポイントを黒丸１９４で示している。
【００７１】
ロードすべきポイントの決定および当該ポイントを含む画像ブロックのロードは、所定の時間間隔で随時行ってよい。必要な領域のデータをロードするために、ハードディスクドライブ５０に画像ブロックを格納する際、各画像ブロックの画像上の領域と画像ブロックの格納領域とを対応付けた情報もハードディスクドライブ５０に格納しておく。同様に、ロードされた画像ブロックも、各画像ブロックの画像上の領域と画像ブロックの格納領域とを対応付けた情報をメインメモリ６０に格納しておく。ロードブロック決定部１０６は定期的に、ロードすべきポイントを含む画像ブロックがメインメモリ６０に格納されているか否かを確認し、格納されていなければ当該画像ブロックをロード対象として決定する。このように画像ブロックの単位でのロードを随時行うことにより、ロード処理による表示の待ち時間発生を抑制できる。
【００７２】
また、図１５のように、ロードすべきポイントがリンク先の画像の階層データ１８６に新たに含まれる場合は、現在表示中の階層データ１８４のデータより優先して当該リンク先のデータをロードするようにしてもよい。これにより、すぐにリンク先への移行が発生しても、リンク先の新たな画像を円滑に表示させることができる。
【００７３】
次にリンク元の階層データにおけるロードすべきポイントの座標を、リンク先の階層データにおけ座標に変換する手法について説明する。図１６はリンク元画像からリンク先画像へのＸＹ座標の変換手法を説明するための図である。同図において、画像１５６のリンク領域２００が画像１５８のリンク領域２０４に切り替わるようにリンクが設定されており、画像１５６のポイント１９６は、画像１５８のポイント１９８に対応するとする。ここでポイント１９６の座標を（Ｐａ＿ｘ，Ｐａ＿ｙ）、リンク領域２００の辺の長さを（Ｌａ＿ｓｘ，Ｌａ＿ｓｙ）、当該領域の中心座標を（Ｌａ＿ｘ，Ｌａ＿ｙ）とし、ポイント１９８の座標を（Ｐｂ＿ｘ，Ｐｂ＿ｙ）、リンク領域２０４の辺の長さを（Ｌｂ＿ｓｘ，Ｌｂ＿ｓｙ）、当該領域の中心座標を（Ｌｂ＿ｘ，Ｌｂ＿ｙ）とすると、次のような式が成り立つ。
【００７４】
Ｌａ＿ｓｘ：（Ｐａ＿ｘ−Ｌａ＿ｘ）＝Ｌｂ＿ｓｘ：（Ｐｂ＿ｘ−Ｌｂ＿ｘ）  （式１）
Ｌａ＿ｓｙ：（Ｐａ＿ｙ−Ｌａ＿ｙ）＝Ｌｂ＿ｓｙ：（Ｐｂ＿ｙ−Ｌｂ＿ｙ）  （式２）
よってポイント１９８の座標は次のように求められる。
Ｐｂ＿ｘ＝（Ｌｂ＿ｓｘ／Ｌａ＿ｓｘ）×（Ｐａ＿ｘ−Ｌａ＿ｘ）＋Ｌｂ＿ｘ  （式３）
Ｐｂ＿ｙ＝（Ｌｂ＿ｓｙ／Ｌａ＿ｓｙ）×（Ｐａ＿ｙ−Ｌａ＿ｙ）＋Ｌｂ＿ｙ  （式４）
【００７５】
図１７はリンク元画像からリンク先画像へのＺ座標の変換手法を説明するための図である。階層データ１８４と階層データ１８６は線２０８においてリンクが設定されているとする。すなわち線２０８の位置は、階層データ１８４のリンク領域および階層データ１８６のリンク領域を示している。ここで変数「ｌｏｄ」を次のように定義する。
ｌｏｄ＝ｌｏｇ２Ｎｐ
ここでＮｐは、対象となる解像度の画像の１画素の幅に含まれる、各階層データにおいて最も下層の画像、すなわち最も解像度の高い画像の画素数である。したがって変数ｌｏｄは、階層データを表す三角形において底辺からの隔たりを表す指標であり、各階層データに含まれる階層の数などに依存しない、Ｚ軸方向の共通の軸を有する。
【００７６】
一方、線２０８で表されるリンク領域の拡大縮小率から、変換したいポイントの拡大縮小率までの隔たりは、階層データに依存しない。ここでリンク領域のｌｏｄの値は、当該領域を画面いっぱいに表示した時のものとする。図１７において、階層データ１８４、１８６双方における、リンク領域のｌｏｄの値をＬａ＿ｌｏｄ、Ｌｂ＿ｌｏｄとし、変換したいポイント２１０のｌｏｄの値をＰａ＿ｌｏｄ、Ｐｂ＿ｌｏｄとすると、上記の性質によって次の式が成り立つ。
Ｐａ＿ｌｏｄ−Ｌａ＿ｌｏｄ＝Ｐｂ＿ｌｏｄ−Ｌｂ＿ｌｏｄ  （式５）
したがって、
Ｐｂ＿ｌｏｄ＝Ｌｂ＿ｌｏｄ＋（Ｐａ＿ｌｏｄ−Ｌａ＿ｌｏｄ）  （式６）
となる。
【００７７】
式３、４、および６により、現在表示中の画像の階層データにおけるロードすべきポイントの座標を、リンク先の階層データにおける座標に置き換えることができる。ただし得られたＰｂ＿ｌｏｄは階層データ１８６のうち画像データを有する階層上にあるとは限らないため、実際にはＰｂ＿ｌｏｄから得られる位置に最も近い階層のデータをロードすることになる。
【００７８】
これまで述べた例では、２つの階層データ表示対象として扱い、一方の画像においてあらかじめ設定された領域および拡大率に表示画像が到達すると、他方の画像が表示された。すなわち他方の画像によって表示されている物をさらに拡大したり、全く別のコンテンツを表示させたり、といったことを、表示画像移動の指示入力をきっかけとして行うことができる。ここで同時に表示対象とする階層データは３つ以上としてもよく、また、拡大率を変化させていくと元の画像に戻るなど、循環させるようにリンクを設定してもよい。この場合、リンクが設定された複数の階層データを順に拡大していくと元の階層データに戻ったり、ある階層データで拡大していくと、当該階層データの縮小画像に戻ったり、といった表示ができる。後者の場合、自らのリンク設定ファイルのリンク先ファイルフィールドで自らのファイル名を指定すればよい。
【００７９】
このような機構を用いて例えば以下のような表示を行うことができる。
１．世界地図を拡大していくことにより、日本、県、市、町、建物へ表示を移行させるなど、同一の対象物であるがスケールが著しく異なる画像の連続移行
２．情報処理装置、ゲーム装置などのメニュー画面において表示された選択肢たるアイコンを拡大していくと、説明書など当該アイコンに関連する情報表示に移行
３．雑誌のバックナンバーなど書籍の表紙一覧画面からある表紙を拡大していくと、書籍の内容表示に移行
４．人物の瞳など画像中の対象物を拡大していくと、当該対象物の中や写っている風景などに表示が移行、移行先の画像を縮小していくと元の画像とは異なる画像へと移行
【００８０】
本実施の形態では、上記の先読み処理によりリンク領域へ表示画像が変更されることを予測する。さらに現在の表示画像の仮想空間における周囲を、階層データに関わらずメモリにロードしておく。これらの機構により、異なる階層データの画像へ表示を移行する場合であっても、ロード処理、デコード処理による表示の遅れが発生しにくく、連続的な移行が可能となる。
【００８１】
また、上述のようにユーザからの画像変更要求信号と伝達関数を畳み込み演算することにより表示画像の生成を遅延させる場合、伝達関数を調整することにより、画像の切り替えをより円滑に行うように見せることができる。さらにマニュアル表示など、リンク元の画像とリンク先の画像が異なる内容の場合は特に、それらの画像をクロスフェード、ディゾルブ、ワイプ、ポリゴンメッシュを用いたページめくり状表現など、動画のスイッチャーに一般的に用いられる効果のいずれかを施すことにより円滑な切り替えを表現するようにしてもよい。
【００８２】
またリンク先として動画データを設定してもよい。この場合リンク先を、１階層の動画のデータからなる階層データ、と捉えることができる。例えばある静止画像の一領域に動画データへのリンクを設定しておく。リンク設定ファイルは図１４で示したデータ構造を利用することができる。リンク先ファイルフィールド３０６には動画ファイルのファイル名を指定する。リンク先画像フレームフィールド３０８は、動画の解像度や表示領域を固定とする場合は無効としてもよい。このようにリンクを設定しておき、上述の先読み処理により表示中の画像のリンク領域に表示画像が移ると予測された際に、指定しておいた動画ファイルのエンコードを開始する。または予測とは関係なくエンコード処理のみ継続させておいてもよい。
【００８３】
例えば画面中にいくつかの静止画像、例えばグラビア写真などを表示し、ある静止画像をズームインしていくと当該画像中の動物が動き出す、などの演出を行うことができる。同様に、リンク情報のリンク先ファイルフィールド３０６にアプリケーションファイルを指定しておき、画像中のある領域をズームインすると当該アプリケーションが起動するようにしてもよい。
【００８４】
図１８はリンク領域が設定されている画像の例を示している。画像３５０にはリンク領域３５２ａ、３５２ｂ、３５２ｃなど複数のリンク領域が設定されている。例えばリンク領域３５２ａへズームインしていくと、上述のような機構により、当該領域のより詳細な画像や関連情報、あるいは動画再生やアプリケーション起動が行われる。画像３５０のようにリンク領域が限定的な場合、ユーザの位置合わせの手間を削減するために表示画像の移動を誘導してもよい。この機能はリンク領域が限定的でない場合でも、表示画像を意図的に誘導したい場合などに有効である。
【００８５】
この誘導機能を提供するため、上述のリンク情報で用いたフレーム定義パラメータを利用する。すなわち誘導したい領域（以後、誘導領域と呼ぶ）ごとに、（横方向オフセット，縦方向オフセット，拡大率，回転角）で表されるフレーム定義パラメータを、リンク情報と同様にファイルとして作成しておく。当該ファイルは図９のメインメモリ６０においてシナリオ設定ファイル１１９として格納されている。そして表示領域がシナリオ設定ファイルで設定されたフレームに対し仮想空間において所定の範囲内に入ったら誘導領域へ表示画像を誘導する。当該処理は、仮想的に誘導領域への画像移動要求信号を発生させれば上述と同様の処理によって実現できる。また「所定の範囲」もフレーム定義パラメータでシナリオ設定ファイルに定義しておく。
【００８６】
これによりユーザが表示画像をリンク領域３５２ａ近傍に近づけるのみで、表示画像がリンク領域へ誘導され、その結果、設定されたリンク先へ容易に移行することができ、操作性が向上する。本実施の形態では、表示画像の仮想空間内での移動をきっかけとして、リンク先である別の画像への移行、動画再生、アプリケーションの起動などを行うため、上述のような移動の先読み処理により、あらかじめユーザの意向を予測することができる。したがって、別の画像データのデコード、動画データのデコード、アプリケーションの起動処理を、実際にリンク先へ表示を切り替える前に投機的に実行しておくことが可能である。これにより、ポインタなどによってアイコンを選択してから処理を開始する従来の手法に比べ、実際の画像の切り替え指示から出力までに要する時間を格段に削減することができる。
【００８７】
上記の例はリンク先へ移行したいというユーザの意図を検知して表示画像をリンク領域へ誘導するものであった。一方、同様の機構により、リンク領域か否かに関わらず表示画像を誘導するようにしてもよい。図１９は一つの階層データにおいて表示画像を誘導しながら、表示する階層を移行していく様子を示している。同図において階層データ３６０は画像３６２に対応する。そして上述のフレーム定義パラメータによって、線３６８および線３７０で表される誘導領域３７４および３７６がシナリオ設定ファイル１１９に設定されており、現在表示中の領域３７２が線３６６に対応するとする。
【００８８】
ユーザが領域３７２から表示画像を拡大していき、誘導領域３７４から所定の範囲に表示画像が入った際、表示画像を誘導領域３７４に誘導する（矢印Ｄ）。さらに拡大していき、誘導領域３７６から所定の範囲に表示画像が入った際、表示画像を誘導領域３７６に誘導する（矢印Ｅ）。この態様は、表示する画像の内容によって様々な目的で利用することができる。
【００８９】
例えば風景写真やボートレートなどでは、ユーザが拡大したい領域は限定的である場合が多い。ところが画面を拡大縮小する従来の技術では、所望の領域を拡大したつもりが表示画像がずれており、そのときの拡大率では所望の領域を探すことが困難な場合がある。本実施の形態で拡大が予測される領域についてはあらかじめシナリオ設定ファイルに登録しておけば、ユーザが表示画像を当該領域におよそ移動させて拡大指示を入力することにより、当該領域を正確に拡大することができる。なお表示画像の誘導領域への誘導は、表示画像が誘導領域の近傍にある場合ばかりでなく、例えば所定のボタンを押下すると現在の表示画像の位置に関わらず誘導領域へ移動するようにしてもよい。
【００９０】
上述の誘導は必ずしも異なる階層への誘導でなくてもよく、例えば同一階層内で表示順序を誘導するようにすることもできる。図２０は異なる階層への誘導と同一階層における別領域への誘導を組み合わせた場合の表示画像の移行の様子を示している。例えば新聞記事や雑誌などの１ページを階層データ３８０を用いて表示する場合を考える。このとき、拡大して閲読されるであろう文字の領域を、記事ごとに誘導領域として設定しておく。同図では線３８６で表される誘導領域３９２がそれにあたる。さらにその下の階層、すなわち文字を判読できる程度の解像度を有する階層において、記事の最初から最後までを追えるように複数の誘導領域を設定しておく。線３８８で表される誘導領域３９４と、線３９０で表される誘導領域３９６がそれにあたる。
【００９１】
ユーザはまず線３８４で表されるページ全体の領域３８２を表示した後、所望の記事へ表示画像を近づけつつ拡大していく。すると当該記事の誘導領域３９２へ誘導される（矢印Ｆ）。そこでさらに拡大していくと当該記事の文頭の誘導領域３９４へ誘導される（矢印Ｇ）。誘導領域３９４内の文章を読んだユーザが方向指示や所定のボタンを押下する入力を行うことにより、続きの文章が記載された誘導領域３９６へ誘導される（矢印Ｈ）。
【００９２】
同一階層内での表示領域の移行では、フレーム定義パラメータとともに表示順序も設定する。また上述のように表示領域の移動を指示するための操作キーも定義しておく。例えば新聞記事など段組で記載されている文章は、表示領域を右から左に移動させた後、その下方を再度右から左に移動させる必要がある。このような場合に表示領域と順序とをあらかじめ設定しておけば、拡大画像において次にどの位置へ表示画像を移動させればよいかユーザが探す必要がなくなる。また同一階層内の移動であっても、上述のとおり現在の表示画像が誘導領域の所定範囲に入ったときに誘導するようにしてもよい。
【００９３】
なお図１９、２０では、簡単のために一つの階層データにおける表示画像の移行を示したが、移行の途中に別の階層データへのリンクが設定されている場合は、当然当該別の階層データへ表示を移行させてよい。また上記の例は、ユーザが拡大縮小を含む画像移動要求を行った際に表示画像を誘導するものであった。本実施の形態ではさらに、所定時間ごとにあらかじめ登録しておいた誘導領域へ表示画像を移行する機能を設ける。この場合ユーザは、そのようなモードを実行する旨の指示入力を行うのみでよい。この機能により、雑誌の販売促進用画像や写真の連続閲覧など、静止画からなる素材を利用した動画に近い新たな表現手法を提供することができる。
【００９４】
このように自動的に表示画像を移行する場合は、フレーム定義パラメータ、表示順序、および各画像の表示時間などをシナリオ設定ファイル１１９として作成する。この場合のシナリオ設定ファイル１１９は、より細かく画像の移行を制御する処理をＸＭＬなどのマークアップ言語で記述してもよい。このとき、シナリオ解釈部１１７は、当該記述をメインメモリ６０より読み出し解釈したうえ、表示画像処理部１１４、リンク判定部１１６、ロード部１０８に適宜処理要求を行うことにより、表示画像を制御する。図２１はこのとき記述される処理の流れを示すフローチャートである。
【００９５】
まず階層データを指定する（Ｓ２０）。ここで指定する階層データは一つの画像を表す一つの階層データでもよいし、リンクが設定された複数の階層データのまとまりでもよい。次に、表示する画像をフレーム定義パラメータで指定する（Ｓ２２）。さらに当該画像を表示する際のエフェクト処理を適宜指定する（Ｓ２４）。それ以前に別の画像が表示されていれば、例えばクロスフェードの処理を指定したり、前の画像を徐々に小さくしつつ今回の画像を大きくしていく処理を指定したりする。そして、次の画像へ表示を移行するまでの時間、およびその時間における今回の画像と次の画像の補完処理を指定する（Ｓ２６）。ここで「次の画像」は例えば今回の画像の拡大画像や縮小画像など、同一の階層データにおいて階層の異なる画像やリンク先の画像であってもよいし別の階層データ内の画像でもよい。
【００９６】
画像の補完手法は、今回の画像と次の画像をキーフレームとした場合にアニメーション技術などで一般的に用いられる手法を適用することができる。Ｓ２０からＳ２６までの処理を一単位として、異なる階層データで連続して表示したい画像があればそれを繰り返すように記述する。このように記述したシナリオ設定ファイル１１９を先読み処理部１１０が読み込むことにより、ユーザが画像移動要求を入力した場合と同様に仮想の画像移動要求を生成して、リンク判定部１１６に問い合わせつつデコード部１１２にデコード処理を依頼する。これによって、指定した画像が表示画像として次々変化する態様が容易に実現できる。なお、このときのシナリオ設定ファイルには、フレーム定義パラメータと別に、画像描画に用いる階層データの階層数を指定するようにしてもよい。
【００９７】
以下にＸＭＬで記述されたシナリオ設定ファイル１１９の例を示す。
（１）<?xml version="1.0" encoding="utf-8"?>
（２）<Viewer>
（３） <FileList>
（４）    <File name="INDEX"/>
（５）    <File name="hyoshi"/>
（６）    <File name="ichiran"/>
（７）  </FileList>
（８）  <InitCameraPosition x="-0.219" y="0.32" scale="0.28"/>
（９）    <Section>
（１０）        <Event type="change" name="INDEX" wait="0.0">
（１１）        <CameraPosition x="-0.219" y="0.32" scale="0.28"/>
（１２）        </Event>
（１３）   </Section> 
（１４）    <Section>
（１５）      <Event type="camera" name="camera1" wait="0.0">
（１６）        <Interpolator
（１７）           duration='4.0'
（１８）           type='linear'
（１９）           key='0 0.5 1.0'
（２０）           keyValue='
（２１）                     -0.219 0.32 0.28
（２２）                     -0.115955 0.29424 0.2 
（２３）                     -0.115955 0.29424 0.155553 
（２４）                    '/>
（２５）      </Event>
（２６）    </Section> 
（２７）    <Section>
（２８）      <Event type="change" name="hyoshi" wait="0.0">
（２９）        <CameraPosition x="0.01257207987839" y="-0.00214762229374" 
scale="0.94793879664622"/>
（３０）      </Event>
（３１）    </Section>
（３２）   <Section>
（３３）      <Event type="change" name="09france-ichiran" wait="2.0">
（３４）        <CameraPosition x="-0.007705" y="-0.008650" scale="0.508980"/>
（３５）        <VideoPosition name="video:sample.m2v" x="0.135605" y="-0.035605" 
scale="0.061268"/>
（３６）        <Effect type="fade0"/>
（３７）      </Event>
（３８）    </Section>
（３９）    <Section>
（４０）      <Event type="image" name="tbs01.png" wait="0.0">
（４１）        <Position x="0.971875" y="-0.95" alpha="0.0" layer="1003" 
cardinal="rightbottom"/>
（４２）      </Event>
（４３）    </Section>
（４４）  </Story>
（４５）</Viewer>
【００９８】
上記記述において、（３）〜（７）はコンテンツ中で使用する階層データを指定している。（８）は画像の初期位置を指定している。（９）〜（１３）は最初に使用する画像をインデックス表示した階層データの画像としており、表示する階層データの画像とその表示位置を指定している。（１４）〜（３１）は、本の表紙の階層データの画像にカメラアニメーションしながらズームしていきデータを移り変わらせている。そのうち（１４）〜（２６）はキーフレーム表記にてカメラアニメーションを指定している。（２７）〜（３１）は表示する階層データの画像とその表示位置を指定し、当該表示位置を利用してリンクを張っている。（３２）〜（３８）は、動画像へのリンクを含んだ階層データの画像に切り替わり動画をアップで写している。そのうち（３２）〜（３５）は階層データの画像へのリンクと同様に動画像へのリンクを張っている。（３６）は画面切り換え時の描画効果を指定している。（３９）〜（４３）は動画像表示中に動画像の著作権表示画像を表示している。そのうち（４０）〜（４１）は、 階層構造を持たない普通の画像の表示を指定している。
【００９９】
本実施の形態は、上述のようなリンク設定ファイルやシナリオ設定ファイルを作成することにより、複数の階層データを素材として様々な画像表現を容易に実現することができる。したがって一般的なユーザが、ネットワーク上や記録媒体などでコンテンツとして提供された階層データを用いて、独自のコンテンツを作成することも考えられる。また、そのようにして作成したコンテンツ自体が流通する場合も考えられる。
【０１００】
図２２は本実施の形態を実現する際のデータの流通態様の例を模式的に示している。この例では、サーバ４００、４０２、および４０４がネットワーク４２０を介して接続している。各サーバはコンテンツ制作業者のサーバでもよいし、一般ユーザの情報端末などでもよい。またサーバに代わりＣＤ−ＲＯＭやＤＶＤなどの記録媒体でもよい。サーバ４００は、階層データ４０６ａとそれに付加した属性ファイル４０８ａからなるコンテンツを提供する。属性ファイル４０８ａについては後に述べる。サーバ４０２は複数の階層データからなる階層データ４０６ｂと、それらのリンク情報を設定したリンク設定ファイル４１０ｂ、４１０ｃ、シナリオ設定ファイル４１２ｂ、属性ファイル４０８ｂを付加したコンテンツを提供する。
【０１０１】
なお同図のように、階層データ４０６ｂにリンクが設定されている場合、上述のようにリンク設定ファイル４１０ｂ、４１０ｃは階層データごとに付加される。一方、シナリオ設定ファイルは当該リンクを前提に階層データを跨いだ設定が可能であるためリンクが設定されている階層データ全体に対して付加される。
【０１０２】
サーバ４０４は、シナリオ設定ファイル４１２ｃのみを提供する。なお同図のデータ構造はあくまで例示であり、例えばリンクが設定されていない単独の階層データにシナリオ設定ファイルが付加されていてもよいし、逆にシナリオ設定ファイルが付加されずにリンク設定ファイルが付加されていてもよい。サーバ４００やサーバ４０２が保持するコンテンツは、それのみでも表示が可能であるが、サーバ４０４のシナリオ設定ファイル４１２ｃにおける設定に含まれていれば、当該シナリオ設定ファイル４１２ｃと、それにより指定された階層データ４０６ａや４０６ｂとを入手することにより、ひとつのコンテンツが生成されることになる。したがって図２２で表されたデータ構造はそのいずれもが一つのコンテンツとして流通の単位になり得る。
【０１０３】
このような場合を考慮し、階層データには属性ファイルを付加しておく。属性ファイルに記録する情報としては例えば、当該コンテンツの内容に係る情報、例えばコンテンツの名称、作者、発行者、協賛者、作成日、修正日、版、記述言語などの基本情報、コンテンツや素材データの権利者、課金の還元のための情報、二次利用の際の制御のための情報、有効期限、コピー可能回数、譲渡可能回数などの所有権・著作権情報、レイティングなどが挙げられる。
【０１０４】
また、当該コンテンツの制御属性、例えば接続やデータ利用の許可、暗号化の方式、署名などの認証制御情報、従量課金か否か、上限を設定するか、無料とするか、仮想通貨か否かを含む通貨の指定、チャージか引き落としか小切手方式かといった決済方法といった課金に係る情報、プラットフォーム、ＯＳ、推奨リソースなどの動作環境、対象利用者、有効地域、国などのアクセス制御情報などを付加してもよい。さらに、属性情報の領域と階層データの領域、外部参照リンク情報などコンテンツの構造、コンテンツの名称、代表画像、課金案内、属性のサマリーなどを表したサムネイルの情報、フレーム情報の格納場所の情報、といったデータ構造情報を付加してもよい。
【０１０５】
これらの属性を個々の階層データに付加しておくことにより、例えばその階層データをリンク先とした複数の階層データからなるコンテンツを作成して表示する際、リンク先ごとに適切な処置を講じることができる。例えば著作権の対象であるコンテンツをリンク先として移行する場合はその旨の表示を必ず行うようにしたり、認証の必要が設定されているコンテンツはまず認証のためのダイアログを表示したりする。またレイティングと閲覧者のプロフィールなどによって表示の可、不可を決定し、不可であれば当該画像は表示しないようにしてもよい。表示を不可とする場合は、リンク領域に表示画像があってもリンク先への遷移はせず、元の階層データの画像が単に拡縮されるのみとしてもよい。属性情報に従った各種処理は、一般的なコンテンツの表示における処理と同様の機構により実施することができる。
【０１０６】
なお、リンクを設定した複数の階層データは全体として一つのコンテンツを形成するため、属性ファイルは個々の階層データに付加するほか、当該複数の階層データ全体にも付加する。
【０１０７】
次に、これまで述べた実施形態を含む、階層データを利用したコンテンツをユーザが制作するための支援技術について説明する。図２３は、本実施の形態におけるコンテンツ制作支援機能を有する画像処理装置の構成を示している。なお同図に示す画像処理装置５００は、実際には図４に示した画像処理装置１０と同じ構成を有していてよいが、ここでは本実施の形態を実現するために備える機能ブロックのみを示している。したがって図２１の制御部５０２は、図９に示した制御部１００と同一のプロセッサで実現してもよい。あるいは別個の装置としてもよい。
【０１０８】
画像処理装置５００は、以下に述べる機能のいずれかまたは組み合わせを有する。
１．誘導領域の設定を受け付け、シナリオ設定ファイルを生成、更新する
２．リンク領域の設定を受け付け、リンク設定ファイルを生成、更新する
３．複数の画像選択を受け付け、それらの画像を選択できるインデックス画像を、リンクを設定したうえで生成する
【０１０９】
画像処理装置５００は、入力装置５２０、制御部５０２、ハードディスクドライブ５５０、およびメインメモリ５６０を備える。ハードディスクドライブ５５０には、既存の階層データ５５１が格納されている。階層データ同士にリンクが設定されていてもよい。入力装置５２０は、上述した機能の選択、画像領域の選択、各種設定の指示をユーザが入力するためのインターフェースであり、例えば図２に示した外観構成を有していていよい。制御部５０２は、入力情報取得部５０４、設定画像表示部５０６、設定情報登録部５０８を含む。入力情報取得部５０４は、ユーザが入力装置５２０へ入力した情報を取得し、その内容に応じて設定画像表示部５０６および設定情報登録部５０８へ適宜処理要求を行う。
【０１１０】
設定画像表示部５０６は、ユーザが誘導領域、あるいはリンク領域を設定したい旨の入力を行った場合に、ユーザが選択した画像の階層データをハードディスクドライブ５５０から読み出し、表示する。またユーザからの画面移動要求に従い表示画像を移動させたり、領域を指定するための矩形をポインタの位置情報に合わせて表示したりする。設定情報登録部５０８は、ユーザが画像内の領域を指定してリンク領域あるいは誘導領域の設定指示を行った場合に、当該領域のフレーム定義パラメータを取得し、リンク設定ファイル５６２またはシナリオ設定ファイル５６４を生成してメインメモリ５６０に格納する。
【０１１１】
設定情報登録部５０８はまた、ユーザが複数の画像を選択した場合に、当該画像の解像度を適宜選択して所定のフォーマットに並べたインデックス画像データ５６６を例えば階層データとして生成してメインメモリ５６０に格納する。このとき、生成したインデックス画像の階層データとそれに含まれる個々の画像（以後、「個別画像」と呼ぶ）の階層データとの間にリンクを設定したリンク設定ファイル５６２も同時に生成してメインメモリ５６０に格納する。なお上述のように、リンク設定ファイル５６２、シナリオ設定ファイル５６４、インデックス画像データ５６６はメインメモリ５６０に格納して画像の表示に用いるばかりでなく、ハードディスクドライブ５５０や別の記録媒体に記録してもよい。このとき、設定対象の階層データ本体とまとめて一つのコンテンツとしてもよい。
【０１１２】
図２４は上記１の、誘導領域の設定を受け付け、シナリオ設定ファイルを生成、更新する処理の手順例を説明する図である。まずユーザは入力装置５２０に対し対象となる画像の階層データを選択する。入力情報取得部５０４から当該情報を得た設定画像表示部５０６は、ハードディスクドライブ５５０から階層データを読み出して表示する。図２４の画像５７０は選択された画像の全体を表している。ユーザは設定画像表示部５０６の表示を確認しながら画像移動要求を入力装置５２０に対して行い、例えば誘導領域として設定したい領域５７２が画面いっぱいに表示されるようにしたあと所定の設定用ボタンを押下する。この処理に代わりポインタ操作により領域を囲む矩形を描画させて設定用ボタンを押下するようにしてもよい。
【０１１３】
すると設定情報登録部５０８は、当該領域のフレーム定義パラメータを取得し、シナリオ設定ファイル５６４に記録する。ユーザは必要に応じてまた別の領域５７４を選択し設定用ボタンを押下する。すると設定情報登録部５０８は、当該領域のフレーム定義パラメータをシナリオ設定ファイル５６４の次の行に追加する。これを繰り返すことにより、所望の領域を全てシナリオ設定ファイル５６４に記録する。このようにして生成されたシナリオ設定ファイル５６４によって、上述のように、表示したい領域を、領域５７２、５７４、・・・といった順序で、所望の解像度で順次表示していくことができる。
【０１１４】
また、上述のように各領域の表示時間、画像を補間するアニメーション処理、エフェクト処理など表示を制御する処理を記述したマークアップ言語を生成するようにしてもよい。そのためにあらかじめ、サンプル画像による画像処理のバリエーションを表示して、ユーザにより所望の処理を選択させるようにしてもよい。選択された処理は、誘導領域のフレーム定義パラメータとともにシナリオ設定ファイル５６４に記録する。
【０１１５】
図２５は上記２の、リンク領域の設定を受け付け、リンク設定ファイルを生成、更新する処理の手順例を説明する図である。まずユーザは入力装置５２０に対し、リンクを設定する対象となる２つの画像の２つの階層データを選択する入力を行う。入力情報取得部５０４から当該情報を得た設定画像表示部５０６は、ハードディスクドライブ５５０から当該階層データを読み出して２画面表示する。図２５の画像５８２および画像５８４は、選択された画像を表している。ユーザは設定画像表示部５０６の表示を確認しながら画像５８２の画像移動要求を入力装置５２０に対して行い、リンク領域として設定したい領域５８６を含む画像を表示させる。そしてポインタ操作により領域を囲む矩形を描画させて領域選択を行う。画像５８４についても同様に領域５８８を選択する。その後、所定の設定用ボタンを押下する。
【０１１６】
すると設定情報登録部５０８は、領域５８６、５８８のフレーム定義パラメータを取得し、図１４に示したようなデータ構造でリンク設定ファイル５６２に記録する。例えばリンク元画像を設定画像表示部５０６の左側、リンク先画像を設定画像表示部５０６の右側に表示するように規則づける、当該リンクが画像の拡大方向か縮小方向かをユーザに選択させる、などの措置により、有効スケール範囲フィールド３０４およびリンク先ファイルフィールド３０６に指定する情報も取得して記録する。このようにして生成されたリンク設定ファイル５６２によって、画像５８２と画像５８４間にリンクが設定され、上述のように領域５８６にズームインしていくと、画像５８４の階層データへ画像表示に用いるデータが移行し、さらなる拡大率の画像を表示することができる。
【０１１７】
なお上述の例は画像のデータ同士にリンクを設定する場合を示したが、リンク先は画像に限らず、動画、アプリケーション、音声、音楽、テキストなどのデータでもよい。この場合はリンク元の画像を画像５８２のように表示し、リンク先となり得るデータを表すアイコンなどを画像５８４に代わり表示してユーザに選択させるようにしてもよい。このときリンク設定ファイル５６２には上述のように、選択されたアイコンに対応するデータのファイル名がリンク先ファイルフィールド３０６に記録され、リンク先画像フレームフィールド３０８は無効でよい。
【０１１８】
また、領域５８６および５８８がユーザより選択された際、各領域に表示されている対象物の特徴点を抽出しマッチングを行うことにより、対象物が２つの画像で完全に重なるようにフレーム定義パラメータを仮想空間上で微調整するようにしてもよい。これにより、リンクによる画像移行時に対象物にずれが生じ、切り替え処理が明らかになるのを防止できる。この処理は、２つの画像の対象物が同一の場合に限らず、ある対象物が変化していくように２つの画像をクロスフェードしてつなげる場合にも有効である。また、図２５では２つの画像からそれぞれ１つずつ領域を選択してリンクを設定したが、画像の数は３つ以上でもよく、１つの画像内でリンク領域を複数個設定するようにしてもよい。この場合も上述の処理を繰り返せば実現できる。
【０１１９】
さらに、リンク設定対象の階層データに上述のように属性情報が付加されている場合は、当該情報のうち必要なものをどこで表示するか、といった情報をユーザに入力させるためのダイアログを表示するようにしてもよい。ユーザにより当該情報が入力されたら、この情報もリンク設定ファイル５６２に記録しておき、リンク先への表示画像の移行の際には適宜表示するようにしてもよい。
【０１２０】
図２６は上記３の、複数の画像選択を受け付け、それらの画像を選択できるインデックス画像を、リンクを設定したうえで生成する処理態様を説明する図である。このときユーザは入力装置５２０に対しインデックスを生成したい複数の個別画像の階層データを選択する。すると設定情報登録部５０８は、例えば選択された階層データの最も解像度の低い画像など、インデックスとして適当な解像度の個別画像を埋め込んだインデックス画像、例えば図１８で示した画像３５０の如き画像をインデックス画像データ５６６として生成し、メインメモリ５６０に格納する。同図において領域３５２ａ、３５２ｂ、３５２ｃなどはユーザが選択した個別画像である。
【０１２１】
階層データ５９０は既存のものをユーザが選択するようにしてもよい。例えば美術館の壁の画像を階層データ５９０として選択し、個別画像を壁の額縁内に配置するようにすれば、美術館の壁に個別画像が飾られている画像が生成されることになる。インデックス画像のどこに個別画像を配置するか、各画像のサイズといった情報も、さらにユーザから受け付けてもよい。この場合、設定情報登録部５０８は、ユーザの指定に応じた位置、サイズで個別画像を埋め込んだインデックス画像データを生成する。
【０１２２】
設定情報登録部５０８はさらに、生成したインデックス画像の階層データ５９０において個別画像を埋め込んだ位置に、各個別画像の階層データ５９２ａ、５９２ｂ、・・・、５９２ｎへのリンクを設定したリンク設定ファイル５６２を生成してメインメモリ５６０に格納する。このようにして生成されたインデックス画像データ５６６およびリンク設定ファイル５６２によって、インデックス画像内のある個別画像へズームインしていくと、当該個別画像の階層データ５９２ａなどへ表示が移行し、さらなる拡大率の画像を表示したり、動画を再生したりすることができる。インデックス画像データ５６６、リンク設定ファイル５６２、および個別画像の階層データを１つのコンテンツとしてハードディスクドライブ５５０に格納してもよい。
【０１２３】
なお、個別画像の階層データ５９２ａなどとインデックス画像の階層データ５９０との間にリンクを設定せず、個別画像の階層データを全て包含したインデックス画像の階層データを生成するようにしてもよい。また、既存の複数のインデックス画像を埋め込んだインデックス画像を生成してもよい。この場合の処理も、個別画像の代わりにインデックス画像を選択可能とすることにより同様に実現できる。
【０１２４】
以上述べた本実施の形態によれば、２つの画像の階層データにリンクを設定し、平行移動、拡大、縮小の指示入力のみで、表示画像の描画に用いる階層データを移行する。このようにすることで、拡大すると無意味になってしまう領域の高解像度画像など余分なデータを省くことができるためデータサイズを縮小することができる。また世界地図と、あるビルの周辺の地図、といったスケールの著しく異なる画像を別の階層データとすることにより、階層ごとに表示画像の位置制御用の数値を設定しなおすことができ、位置の精度を保持しやすい。
【０１２５】
一方、メニューの画像と、当該メニュー上の各アイコンのマニュアルなど、全く異なる画像にリンクを設定した場合などは、拡大、縮小の操作のみで画像の相互移行を実現できることにより、切り替え前の画像における位置情報を念頭に置いたまま別の画像を見ることができる。例えばあるアイコンの機能を調べようと、ヘルプ画面などを表示させ、アイコンの表示と関係のありそうな記述を探し出して読む、といった従来の手法では、アイコンの表示からヘルプ内の記述の表示までにすべき処理が煩雑で、ユーザの思考が途切れやすい。その結果、結局最初に目的としていたことを失念してしまう、といったことも発生する。しかし本実施の形態では、アイコンとマニュアルとが直接結びつくため、直感的な把握が可能となり、作業の効率が向上する。
【０１２６】
さらに、拡大、縮小、平行移動などのユーザの操作は、以後の動きを予測できるため、本実施の形態ではそれを先読みすることにより、前もってリンク先の画像のデコードを行う。これにより実際に画像の切り替えが指示されたときには円滑にリンク先の画像の描画が行え、デコード処理待ち時間を削減することができる。このことは、リンク先を動画再生やアプリケーション起動としても同様に有効である。すなわち先読み処理によって、動画再生やアプリケーション起動を前もって行っておくことにより、実際にユーザがリンク先への移行を指示した時点で円滑に出力を行うことができる。このことは、アイコンをクリックすることによって起動を行う従来の手法と比較して格段に処理待ち時間が減り、ユーザのストレスを軽減する効果がある。
【０１２７】
また、ユーザの表示画像変更要求信号の入力から画像表示までの時間を、畳み込み演算によって遅延させたり、クロスフェードさせるなど切り替え時に適切な画像エフェクト処理を施すことにより、画像の切り替えが円滑に行われているように演出することができる。結果的に、静止画、動画を問わず、また、画像に限らず音楽やテキストデータなどでも、表示画像の移動操作を利用した新たな入力ツールを提供することができる。
【０１２８】
リンクの設定はリンク元およびリンク先の階層データ内のリンク領域を、仮想空間上において定義することによって行うため、一見複雑に見えるリンク構造であっても容易に設定でき、一般ユーザが手軽にコンテンツを制作することができる。当該定義を利用して、階層データ内の領域をいくつか記憶させておくことにより、表示画像を当該領域へ誘導することができる。例えば、表示画像をおよそ位置合わせするのみで、設定されたリンク領域へ誘導することができるため、リンク先への画像の切り替えを短時間に行うことができる。また画像内で見せたい部分などを複数記録したシナリオ設定ファイルを作成することにより、そのような部分を連続表示させることができ、プロモーションやプレゼンテーションなどに効果的なコンテンツを制作することができる。あるいは、段組の記事や閲覧順序が決まっている雑誌のページなどにおいて、文字を判読できる程度に拡大したままで次の領域へ移動することができる。
【０１２９】
このようにして制作した、リンク設定がなされた階層データや、シナリオ設定ファイルなど誘導領域の設定がなされた階層データは、それを一つのパッケージとして流通させることができる。一方で、階層データのみ、あるいはシナリオ設定ファイルのみ、といったモジュール単位で流通させることもできる。階層データやコンテンツには、内容に係る情報、制御に係る情報、データの構造情報などの属性情報を各単位ごとに付加しておく。これにより、コンテンツ内に別の著作者による階層データやコンテンツが含まれていた場合に、リンク先への移行を制限したり課金したりすることができる。また各単位で統一的な属性情報のフォーマットを決めておくことにより、それを利用した二次的なコンテンツの作成を効率的に行うことができる。
【０１３０】
さらに、コンテンツの制作を支援するために、リンク領域や誘導領域を、実際の画面を表示したうえで選択できるようにし、当該選択によってリンク設定ファイルやシナリオ設定ファイルを所定のフォーマットで生成する。このようにすることで、ユーザは実際の画像を確認しながらイメージをふくらませたうえで設定を容易に行うことができる。リンク領域の設定にあたっては、特徴点の抽出やマッチング処理により２つの画像のリンク領域の位置を微調整する。これにより、画像切り替え時に位置ずれなどを起こさず連続的な移行が可能となり、見る者に画像の切り替わりを気づかせることが少なくなる。
【０１３１】
また、ユーザが選択した複数の個別画像を埋め込んだインデックス画像を生成する。そしてインデックス画像と個別画像とのリンク設定ファイルを生成する。これにより、雑誌のバックナンバーの中味を確認しながら所望の一冊を選択するコンテンツ、様々なアプリケーション、動画を起動できるメニュー画面のあるコンテンツ、絵画、小説、人物写真などの解説対象とその解説が切り替わるコンテンツなど、様々なコンテンツを、画像を選択するのみで容易に制作することができる。
【０１３２】
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【図面の簡単な説明】
【０１３３】
【図１】本発明の実施の形態にかかる画像処理システムの使用環境を示す図である。
【図２】図１の画像処理システムに適用できる入力装置の外観構成を示す図である。
【図３】本実施の形態において使用する画像データの階層構造例を示す図である。
【図４】本実施の形態における画像処理装置の構成を示す図である。
【図５】本実施の形態における先読み処理を説明するための図である。
【図６】本実施の形態における画像データの流れを模式的に示す図である。
【図７】本実施の形態において表示対象となる複数の階層データの関係を模式的に示す図である。
【図８】本実施の形態において階層データ間にリンクを設定したときの表示画像の様子を例示する図である。
【図９】本実施の形態における制御部の構成を詳細に示す図である。
【図１０】本実施の形態において基準となるフレームと画像の位置関係を示す図である。
【図１１】本実施の形態において基準フレームを平行移動させた場合のフレームの定義を説明する図である
【図１２】本実施の形態において基準フレームを平行移動させずに拡大率を変化させた場合のフレームの定義を説明する図である。
【図１３】本実施の形態において基準フレームを平行移動させずに回転させた場合のフレームの定義を説明する図である。
【図１４】本実施の形態におけるリンク設定ファイルのデータ構造例を示す図である。
【図１５】本実施の形態において２つの階層データにリンクが設定されているときのロードすべきポイントを模式的に示す図である。
【図１６】本実施の形態においてリンク元画像からリンク先画像へのＸＹ座標の変換手法を説明するための図である。
【図１７】本実施の形態においてリンク元画像からリンク先画像へのＺ座標の変換手法を説明するための図である。
【図１８】本実施の形態においてリンク領域が設定されている画像の例を示す図である。
【図１９】本実施の形態において、一つの階層データにおいて表示画像を誘導しながら、表示する階層を移行していく様子を示す図である。
【図２０】本実施の形態において、異なる階層への誘導と同一階層における別領域への誘導を組み合わせた場合の表示画像の移行の様子を示す図である。
【図２１】本実施の形態のシナリオ設定ファイルにおいて、より細かく画像の移行を制御する処理を記述したときの処理の流れを示すフローチャートである。
【図２２】本実施の形態を実現する際のデータの流通態様の例を模式的に示す図である。
【図２３】本実施の形態におけるコンテンツ制作支援機能を有する画像処理装置の構成を示す図である。
【図２４】本実施の形態において誘導領域の設定を受け付け、シナリオ設定ファイルを生成、更新する処理の手順例を説明する図である。
【図２５】本実施の形態においてリンク領域の設定を受け付け、リンク設定ファイルを生成、更新する処理の手順例を説明する図である。
【図２６】本実施の形態において複数の画像選択を受け付け、それらの画像を選択できるインデックス画像を、リンクを設定したうえで生成する処理態様を説明する図である。
【符号の説明】
【０１３４】
１  画像処理システム、  １０  画像処理装置、  １２  表示装置、  ２０  入力装置、  ３０  第０階層、  ３２  第１階層、  ３４  第２階層、  ３６  第３階層、  ３８  タイル画像、  ４４  表示処理部、  ５０  ハードディスクドライブ、  ６０  メインメモリ、  ７０  バッファメモリ、  ９０  フレームメモリ、  １００  制御部、  １０２  入力情報取得部、  １０４  圧縮データ分割部、  １０６  ロードブロック決定部、  １０８  ロード部、  １１０  先読み処理部、  １１２  デコード部、  １１４  表示画像処理部、  １１６  リンク判定部、  １１７  シナリオ解釈部、  １１８  リンク設定ファイル、  １１９  シナリオ設定ファイル、  ４０８ａ  属性ファイル、  ５００  画像処理装置、  ５０２  制御部、  ５０４  入力情報取得部、  ５０６  設定画像表示部、  ５０８  設定情報登録部、  ５２０  入力装置、  ５５０  ハードディスクドライブ、  ５６０  メインメモリ、  ５６２  リンク設定ファイル、  ５６４  シナリオ設定ファイル、  ５６６  インデックス画像データ。
【図１】
2010117447.tif 000003
【図２】
2010117447.tif 000004
【図３】
2010117447.tif 000005
【図４】
2010117447.tif 000006
【図５】
2010117447.tif 000007
【図６】
2010117447.tif 000008
【図７】
2010117447.tif 000009
【図８】
2010117447.tif 000010
【図９】
2010117447.tif 000011
【図１０】
2010117447.tif 000012
【図１１】
2010117447.tif 000013
【図１２】
2010117447.tif 000014
【図１３】
2010117447.tif 000015
【図１４】
2010117447.tif 000016
【図１５】
2010117447.tif 000017
【図１６】
2010117447.tif 000018
【図１７】
2010117447.tif 000019
【図１８】
2010117447.tif 000020
【図１９】
2010117447.tif 000021
【図２０】
2010117447.tif 000022
【図２１】
2010117447.tif 000023
【図２２】
2010117447.tif 000024
【図２３】
2010117447.tif 000025
【図２４】
2010117447.tif 000026
【図２５】
2010117447.tif 000027
【図２６】
2010117447.tif 000028