(57)【要約】【課題】ユーザからの画像変更要求に応じて、スムーズに表示画像を変更することのできる技術を提供する。【解決手段】圧縮形式特定部１３２が、メインメモリ６０に保持された画像データの圧縮形式を特定する。伝達関数決定部１４０は、特定されたタイル画像の圧縮形式に応じて、伝達関数を決定する。畳み込み演算部１４２は、変更要求信号と、決定された伝達関数を畳み込み演算して、変更指示信号を生成する。先読み処理部１５０は、変更要求信号を用いて、メインメモリ６０からタイル画像を読み出してデコードし、バッファメモリ７０に書き込む。表示画像処理部１７０は、変更指示信号を用いて、表示画像を生成する。【選択図】図７
2010067261.tif 000002
【特許請求の範囲】
【請求項１】
画像をディスプレイに表示する画像処理装置であって、
異なる解像度ごとに少なくとも１つの圧縮したタイル画像を含む画像データを保持する記憶装置と、
前記記憶装置に保持された画像データの圧縮形式を特定する特定部と、
特定されたタイル画像の圧縮形式に応じて、伝達関数を決定する伝達関数決定部と、
ディスプレイに表示されている表示画像の変更要求信号を受け付ける受付部と、
前記変更要求信号と、決定された伝達関数を畳み込み演算して、変更指示信号を生成する畳み込み演算部と、
前記変更要求信号を用いて、前記記憶装置からタイル画像を読み出してデコードする先読み処理部と、
前記変更指示信号を用いて、表示画像を生成する表示画像処理部と、
を備えることを特徴とする画像処理装置。
【請求項２】
特定された画像データの圧縮形式に応じて、表示画像を変更する速度の最大値を設定する最大速度設定部とをさらに備えることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記最大速度設定部は、表示画像の縮小方向の速度の最大値を、拡大方向の速度の最大値よりも小さくすることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記伝達関数決定部は、タイル画像の属性情報をもとに、伝達関数を決定することを特徴とする請求項１から３のいずれかに記載の画像処理装置。
【請求項５】
前記記憶装置は、異なる座標系で定義された複数の画像データを保持しており、
前記表示画像処理部が、表示画像の生成に利用するタイル画像を、別の座標系で定義された画像データのタイル画像に切り替えるときに、前記畳み込み演算部は、切り替え前の変更要求信号を、別の座標系で定義された画像データにおける変更要求信号に変換し、変換した変更要求信号を利用して、変更指示信号を生成することを特徴とする請求項１から４のいずれかに記載の画像処理装置。
【請求項６】
コンピュータに、
記憶装置に保持されており、異なる解像度ごとに少なくとも１つの圧縮したタイル画像を含む画像データの圧縮形式を特定する機能と、
特定したタイル画像の圧縮形式に応じて、伝達関数を決定する機能と、
ディスプレイに表示されている表示画像の変更要求信号を受け付ける機能と、
前記変更要求信号と、決定した伝達関数を畳み込み演算して、変更指示信号を生成する機能と、
前記変更要求信号を用いて、前記記憶装置からタイル画像を読み出してデコードする機能と、
前記変更指示信号を用いて、表示画像を生成する機能と、
を実現させるためのプログラム。
【請求項７】
請求項６に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスプレイに表示する画像を拡大／縮小、または上下左右に移動させる画像処理技術に関する。
【背景技術】
【０００２】
ゲームプログラムを実行するだけでなく、動画を再生できる家庭用エンタテインメントシステムが提案されている。この家庭用エンタテインメントシステムでは、ＧＰＵがポリゴンを用いた三次元画像を生成する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許第６５６３９９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来より、高精細な写真などのディジタル画像から生成された複数の解像度のタイル画像を用いて、表示画像の拡大／縮小処理や、上下左右方向の移動処理を行う技術が提案されている。この画像処理技術では、原画像サイズを複数段階に縮小して異なる解像度の画像を生成し、各階層の画像を一又は複数のタイル画像に分割して、原画像を階層構造で表現する。通常、最も解像度の低い画像は１つのタイル画像で構成され、最も解像度の高い原画像は、最も多い数のタイル画像で構成される。画像処理装置は、表示画像の拡大処理または縮小処理時に、使用しているタイル画像を、異なる階層のタイル画像に切り替えることで、拡大表示または縮小表示を迅速に行うようにしている。
【０００５】
このような画像処理装置においては、タイル画像の切替時に、表示画像がなめらかに拡大または縮小されないことがある。なお、表示画像を上下左右方向に移動させるときも同様の事情が存在し、移動方向に位置するタイル画像に切り替える際に、表示画像がなめらかに移動されないことがある。このように表示画像が連続的に変更されない場合、ユーザに違和感を生じさせる。
【０００６】
そこで本発明は、ユーザからの画像変更要求に応じて、スムーズに表示画像を変更することのできる技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明のある態様は、画像をディスプレイに表示する画像処理装置であって、異なる解像度ごとに少なくとも１つの圧縮したタイル画像を含む画像データを保持する記憶装置と、記憶装置に保持された画像データの圧縮形式を特定する特定部と、特定されたタイル画像の圧縮形式に応じて、伝達関数を決定する伝達関数決定部と、ディスプレイに表示されている表示画像の変更要求信号を受け付ける受付部と、変更要求信号と、決定された伝達関数を畳み込み演算して、変更指示信号を生成する畳み込み演算部と、変更要求信号を用いて、記憶装置からタイル画像を読み出してデコードする先読み処理部と、変更指示信号を用いて表示画像を生成する表示画像処理部とを備える。
【０００８】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【０００９】
本発明によると、ユーザからの画像変更要求に応じてスムーズに表示画像を変更する技術を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施例にかかる画像処理システムの使用環境を示す図である。
【図２】入力装置の外観構成を示す図である。
【図３】画像処理システムにおいて使用する画像データの階層構造を示す図である。
【図４】画像処理装置の機能ブロック図を示す図である。
【図５】先読み処理を説明するための説明図である。
【図６】画像データの処理の流れを説明するための図である。
【図７】画像処理装置の構成を示す図である。
【図８】画像変更要求信号と画像変更指示信号との関係を示す図である。
【図９】３つのガウシアン関数を示す図である。
【図１０】本実施例における画像処理のフローチャートを示す図である。
【図１１】関連付けられた複数の階層データの先読み処理をするための説明図である。
【図１２】（ａ）は、グローバル座標系において階層データが切り替わったときの画像変更指示信号を示す図であり、（ｂ）は、２つのローカル座標系において階層データが切り替わったときの画像変更指示信号を示す図である。
【発明を実施するための形態】
【００１１】
図１は、本発明の実施例にかかる画像処理システム１の使用環境を示す。画像処理システム１は、入力装置２０と、画像処理ソフトウェアを実行する画像処理装置１０と、画像処理装置１０による処理結果を出力する表示装置１２とを備える。表示装置１２は、画像を出力するディスプレイおよび音声を出力するスピーカを有するテレビであってよい。また表示装置１２は、コンピュータディスプレイであってもよい。表示装置１２は、画像処理装置１０に有線ケーブルで接続されてよく、また無線ＬＡＮ（Local Area Network）などにより無線接続されてもよい。なお画像処理装置１０、入力装置２０および表示装置１２は、一体に形成されてもよく、たとえば画像処理機能を搭載した携帯端末装置として構成されてもよい。
【００１２】
画像処理システム１において、画像処理装置１０は、ケーブル１４を介してインターネットなどの外部ネットワークに接続し、階層化された圧縮画像データをダウンロードして取得してもよい。なお画像処理装置１０は、無線通信により外部ネットワークに接続してもよい。
【００１３】
画像処理装置１０は、たとえばゲーム装置であって、画像処理用のアプリケーションプログラムをロードすることで画像処理機能を実現する。なお画像処理装置１０は、パーソナルコンピュータであってもよく、画像処理用のアプリケーションプログラムをロードすることで画像処理機能を実現してもよい。
【００１４】
画像処理装置１０は、ユーザから入力装置２０に入力される要求に応じて、表示装置１２のディスプレイに表示する画像の拡大／縮小処理や、上下左右方向への移動処理など、表示画像を変更する処理を行う。ユーザが、ディスプレイに表示された画像を見ながら入力装置２０を操作すると、入力装置２０が、表示画像の変更要求信号を画像処理装置１０に送信する。
【００１５】
図２は、入力装置２０の外観構成を示す。入力装置２０は、ユーザが操作可能な操作手段として、十字キー２１、アナログスティック２７ａ、２７ｂと、４種の操作ボタン２６を備える。４種の操作ボタン２６は、○ボタン２２、×ボタン２３、□ボタン２４および△ボタン２５から構成される。
【００１６】
画像処理システム１において、入力装置２０の操作手段には、表示画像の拡大／縮小要求、および上下左右方向へのスクロール要求を入力するための機能が割り当てられる。たとえば、表示画像の拡大／縮小要求の入力機能は、右側のアナログスティック２７ｂに割り当てられる。ユーザはアナログスティック２７ｂを手前に引くことで、表示画像の縮小要求を入力でき、また手前から押すことで、表示画像の拡大要求を入力できる。また、表示画像のスクロール要求の入力機能は、十字キー２１に割り当てられる。ユーザは十字キー２１を押下することで、十字キー２１を押下した方向のスクロール要求を入力できる。なお、画像変更要求の入力機能は別の操作手段に割り当てられてもよく、たとえばアナログスティック２７ａに、スクロール要求の入力機能が割り当てられてもよい。
【００１７】
入力装置２０は、入力された画像変更要求信号を画像処理装置１０に伝送する機能をもち、本実施例では画像処理装置１０との間で無線通信可能に構成される。入力装置２０と画像処理装置１０は、Bluetooth（ブルートゥース）（登録商標）プロトコルやIEEE802.11プロトコルなどを用いて無線接続を確立してもよい。なお入力装置２０は、画像処理装置１０とケーブルを介して接続して、画像変更要求信号を画像処理装置１０に伝送してもよい。
【００１８】
図３は、画像処理システム１において使用する画像データの階層構造を示す。画像データは、深さ（Ｚ軸）方向に、第０階層３０、第１階層３２、第２階層３４および第３階層３６を含む階層構造を有し、以下、この階層構造をもつ画像データを「階層データ」とよぶ。なお第４階層以上の高階層があってもよい。図３に示す階層データ２８は４分木の階層構造を有し、各階層は、１以上のタイル画像３８で構成される。すべてのタイル画像３８は同じ画素数をもつ同一サイズに形成され、たとえば２５６×２５６画素を有する。各階層の画像データは、一つの画像を異なる解像度で表現しており、最高解像度をもつ第３階層３６の原画像を複数段階に縮小して、第２階層３４、第１階層３２、第０階層３０の画像データが生成される。たとえば第Ｎ階層の解像度（Ｎは０以上の整数）は、左右（Ｘ軸）方向、上下（Ｙ軸）方向ともに、第（Ｎ＋１）階層の解像度の１／２であってよい。
【００１９】
画像処理装置１０において、階層データ２８は、所定の圧縮形式で圧縮された状態で記憶装置に保持されており、ディスプレイに表示される前に記憶装置から読み出されてデコードされる。本実施例の画像処理装置１０は、複数種類の圧縮形式に対応したデコード機能を有し、たとえばＳ３ＴＣ形式、ＪＰＥＧ形式、ＪＰＥＧ２０００形式の圧縮データをデコード可能とする。なおデコード処理により同一サイズの画像をバッファメモリ上に展開する時間は、Ｓ３ＴＣ形式の圧縮画像データが最も短く、ＪＰＥＧ形式、ＪＰＥＧ２０００形式の順に長くなる。階層データにおいて、圧縮処理は、タイル画像単位に行われていてもよく、また同一階層であれば複数のタイル画像単位に行われていてもよい。
【００２０】
階層データ２８の階層構造は、図３に示すように、左右方向をＸ軸、上下方向をＹ軸、深さ方向をＺ軸として設定され、仮想的な３次元空間を構築する。この階層構造において、Ｘ軸およびＹ軸は、原点を等しくする共通の座標系を定義する。画像処理装置１０は、入力装置２０から供給される入力信号から表示画像の変更量を導出すると、その変更量を用いて仮想空間におけるフレーム画像の４隅の座標（フレーム座標）を導出する。仮想空間におけるフレーム座標は、後述する先読み処理および表示画像の生成処理に利用される。なお、仮想空間におけるフレーム座標の代わりに、画像処理装置１０は、階層を特定する情報と、その階層におけるテクスチャ座標（ＵＶ座標）を導出してもよく、また仮想空間におけるフレーム画像の中心座標（Ｘ，Ｙ）と縮尺率ＳＣＡＬＥを導出してもよい。たとえばユーザからの操作要求が、階層データ２８の階層構造において、仮想的なカメラを移動させる要求であると考えるならば、フレーム画像の中心座標と縮尺率情報との組み合わせ（Ｘ，Ｙ，ＳＣＡＬＥ）を、仮想カメラ画像座標と呼んでもよい。以下では、説明の便宜上、（Ｘ，Ｙ，ＳＣＡＬＥ）を仮想カメラ画像座標と呼び、画像変更要求信号を、仮想空間における仮想カメラを移動させて、フレームごとに仮想カメラ画像座標（Ｘ，Ｙ，ＳＣＡＬＥ）を特定するための信号として表現することもある。縮尺率ＳＣＡＬＥは、後述するようにＬ３の表示画像の縮尺率を１としたときのフレーム画像の縮尺率として定められてよい。なお、縮尺率は、Ｘ軸方向の縮尺率Ｘ＿ＳＣＡＬＥおよびＹ軸方向の縮尺率Ｙ＿ＳＣＡＬＥとして定義され、Ｘ＿ＳＣＡＬＥとＹ＿ＳＣＡＬＥとを異ならせて、アスペクト比を変更可能とすることも可能である。その場合、仮想カメラ画像座標は、（Ｘ，Ｙ，Ｘ＿ＳＣＡＬＥ、Ｙ＿ＳＣＡＬＥ）として表現される。
【００２１】
図４は、画像処理装置１０の機能ブロック図を示す。画像処理装置１０は、無線インタフェース４０、スイッチ４２、表示処理部４４、ハードディスクドライブ５０、記録媒体装着部５２、ディスクドライブ５４、メインメモリ６０、バッファメモリ７０および制御部１００を有して構成される。表示処理部４４は、表示装置１２のディスプレイに表示するデータをバッファするフレームメモリを有する。
【００２２】
スイッチ４２は、イーサネットスイッチ（イーサネットは登録商標）であって、外部の機器と有線または無線で接続して、データの送受信を行うデバイスである。スイッチ４２は、ケーブル１４を介して外部ネットワークに接続し、画像サーバから階層化された圧縮画像データを受信してもよい。またスイッチ４２は無線インタフェース４０に接続し、無線インタフェース４０は、所定の無線通信プロトコルで入力装置２０と接続する。入力装置２０においてユーザから入力された画像変更要求信号は、無線インタフェース４０、スイッチ４２を経由して、制御部１００に供給される。
【００２３】
ハードディスクドライブ５０は、データを記憶する補助記憶装置として機能する。スイッチ４２を介して受信された圧縮画像データは、ハードディスクドライブ５０に格納されてもよい。表示処理の実行時、ハードディスクドライブ５０に格納された圧縮画像データは、メインメモリ６０に読み出される。記録媒体装着部５２は、メモリカードなどのリムーバブル記録媒体が装着されると、リムーバブル記録媒体からデータを読み出す。ディスクドライブ５４は、読出専用のＲＯＭディスクが装着されると、ＲＯＭディスクを駆動して認識し、データを読み出す。ＲＯＭディスクは、光ディスクや光磁気ディスクなどであってよい。
【００２４】
制御部１００は、マルチコアＣＰＵを備え、１つのＣＰＵの中に１つの汎用的なプロセッサコアと、複数のシンプルなプロセッサコアを有する。汎用プロセッサコアはＰＰＵ（Power Processing Unit）と呼ばれ、残りのプロセッサコアはＳＰＵ（Synergistic-Processing Unit）と呼ばれる。
【００２５】
制御部１００は、メインメモリ６０およびバッファメモリ７０に接続するメモリコントローラを備える。ＰＰＵはレジスタを有し、演算実行主体としてメインプロセッサを備えて、実行するアプリケーションにおける基本処理単位としてのタスクを各ＳＰＵに効率的に割り当てる。なお、ＰＰＵ自身がタスクを実行してもよい。ＳＰＵはレジスタを有し、演算実行主体としてのサブプロセッサとローカルな記憶領域としてのローカルメモリを備える。ローカルメモリは、バッファメモリ７０として使用されてもよい。メインメモリ６０およびバッファメモリ７０は記憶装置であり、ＲＡＭ（ランダムアクセスメモリ）として構成される。ＳＰＵは制御ユニットとして専用のＤＭＡ（Direct Memory Access）コントローラをもち、メインメモリ６０とバッファメモリ７０の間のデータ転送を高速に行うことができ、また表示処理部４４におけるフレームメモリとバッファメモリ７０の間で高速なデータ転送を実現できる。本実施例の制御部１００は、複数のＳＰＵを並列動作させることで、高速な画像処理機能を実現する。表示処理部４４は、表示装置１２に接続されて、ユーザからの要求に応じた画像処理結果を出力する。
【００２６】
本実施例の画像処理装置１０は、表示画像の拡大／縮小処理や、スクロール処理を行う際に、表示画像をスムーズに変更させるために、ユーザからの画像変更要求をもとに、将来表示させるタイル画像３８を予測し、記憶装置に保持されている階層データからタイル画像３８をデコードして、バッファメモリ７０に展開しておく。これにより、後の必要なタイミングで、表示画像の生成に使用するタイル画像３８を瞬時に切り替えることが可能となる。以下において、将来表示させるタイル画像を予測して、バッファメモリ７０に前もって展開しておく処理を、「先読み処理」とよぶ。
【００２７】
図５は、先読み処理を説明するための説明図を示す。図５は、階層データの構造を示しており、各階層はＬ０（第０階層）、Ｌ１（第１階層）、Ｌ２（第２階層）、Ｌ３（第３階層）と表現されている。図５に示す階層データ構造において、深さ（Ｚ軸）方向における位置は、解像度を示し、Ｌ０に近い位置ほど解像度が低く、Ｌ３に近い位置ほど解像度は高い。なおディスプレイに表示される画像の大きさに注目すると、深さ方向における位置は、縮尺率に対応し、Ｌ３の表示画像の縮尺率を１とすると、Ｌ２における縮尺率は１／４、Ｌ１における縮尺率は１／１６となり、Ｌ０における縮尺率は１／６４となる。したがって深さ方向において、表示画像がＬ０側からＬ３側へ向かう方向に変化する場合、表示画像は拡大していき、Ｌ３側からＬ０側へ向かう方向に変化する場合は、表示画像は縮小していく。矢印８０は、ユーザからの画像変更要求信号が、表示画像の縮小を要求しており、縮尺率１／４（Ｌ２）をまたいだ様子を示している。本実施例の画像処理装置１０では、タイル画像３８として用意しているＬ１、Ｌ２の深さ方向の位置を、深さ方向の先読み境界として設定し、画像変更要求信号が先読み境界をまたぐと、先読み処理が開始される。
【００２８】
表示画像の縮尺率がＬ２の近傍にある場合、表示画像は、Ｌ２（第２階層）のタイル画像を用いて作成される。具体的には、表示する画像の縮尺率が、Ｌ１タイル画像とＬ２タイル画像の切替境界８２と、Ｌ２タイル画像とＬ３タイル画像の切替境界８４の間にある場合に、Ｌ２タイル画像が利用される。したがって、矢印８０に示すように画像の縮小処理が要求されると、Ｌ２のタイル画像が拡大された画像から、縮小された画像に変換されて表示される。本実施例の画像処理装置１０は、入力装置２０からの画像変更要求信号と伝達関数を畳み込み演算して、画像変更要求信号が要求する表示画像の生成を遅延させ、その間に、画像変更要求信号から予測される将来必要なタイル画像３８を特定して、記憶装置から先読みしておく。図５の例では、画像変更要求信号による要求縮尺率がＬ２をまたいだときに、画像処理装置１０が、縮小方向にあるＬ１の対応するタイル画像３８を記憶装置から先読みしてデコードし、バッファメモリ７０に書き込む。なお本実施例では説明を簡略にする目的で、入力装置２０から画像変更要求信号が入力されることとしているが、画像変更要求信号は、入力装置２０からの入力信号を、画像処理装置１０において、たとえばフレームごとの仮想カメラ画像座標（Ｘ，Ｙ，ＳＣＡＬＥ）に変換したものであってよい。
【００２９】
なお以上は深さ方向の先読み処理について説明したが、上下左右方向の先読み処理についても同様に処理される。具体的には、バッファメモリ７０に展開されている画像データに先読み境界を設定しておき、画像変更要求信号による表示位置が先読み境界をまたいだときに、先読み処理が開始されるようにする。
【００３０】
図６は、画像データの処理の流れを説明するための図である。たとえば階層データは、外部ネットワークを介してハードディスクドライブ５０に圧縮された状態で保持されている。なお階層データは、メモリカードなどの外部記憶装置に保持されていてもよく、またＲＯＭなどのディスク記憶装置に保持されていてもよい。
【００３１】
画像処理の開始前に、ハードディスクドライブ５０に保持された階層データは、圧縮された状態のままメインメモリ６０に読み込まれる。このとき階層構造を構成するすべての階層データがメインメモリ６０に読み込まれてもよく、また一部の階層データが読み込まれてもよい。たとえば、表示画像の生成に使用しているタイル画像の周辺のタイル画像が、圧縮された状態でメインメモリ６０に読み込まれてもよい。本実施例の制御部１００は、既述したように複数のＳＰＵを並列に動作させることができ、したがってメインメモリ６０に圧縮保持された階層データを必要に応じて短時間でデコードできる。これにより、メインメモリ６０には、デコード済みの画像データを用意しておく必要がなく、メインメモリ６０のメモリ容量を小さくできる。
【００３２】
画像処理装置１０は、画像処理を実行してディスプレイに初期画像を表示する。画像処理装置１０は、入力装置２０から画像変更要求信号を受けると、メインメモリ６０から将来必要なタイル画像３８を先読みしてデコードし、バッファメモリ７０に書き込む。
【００３３】
バッファメモリ７０は、少なくとも２つのバッファ領域７２、７４を有して構成される。各バッファ領域７２、７４のサイズは、フレームメモリ９０のサイズよりも大きく設定され、入力装置２０からスクロール要求信号や、拡大縮小の要求信号が入力された場合に、ある程度の量の変更要求に対しては、バッファ領域７２、７４に展開した画像データで表示画像を生成できるようにする。
【００３４】
バッファ領域７２、７４の一方は、表示画像の生成に用いるタイル画像３８を保持するために利用され、他方は、階層データの先読み処理により将来必要なタイル画像３８を準備するために利用される。図５を参照して、深さ方向に関していえば、表示画像の要求縮尺率がＬ２を下回った時点でＬ１タイル画像の先読み処理が開始され、要求縮尺率が切替境界８２を超えるまでの間に先読み処理が完了して、デコード済みのタイル画像３８がバッファ領域７２または７４に保持される。これにより、要求縮尺率が切替境界８２に到達した時点で必要なタイル画像３８に切り替えることができ、表示画像をスムーズに表示できるようになる。
【００３５】
図７は、画像処理装置１０の構成を示す。画像処理装置１０は、信号処理部１２０、先読み処理部１５０および表示画像処理部１７０を備える。信号処理部１２０は、信号受付部１２２、情報特定部１３０、伝達関数決定部１４０、畳み込み演算部１４２および最大速度設定部１４４を有し、情報特定部１３０は、圧縮形式特定部１３２およびリソース情報特定部１３４を有する。信号処理部１２０は、入力装置２０から供給される画像変更要求信号を処理する。先読み処理部１５０は、変更量導出部１５２、空間座標決定部１５４、判定部１５６、読出画像決定部１５８、画像データ取得部１６０およびデコード部１６２を有する。先読み処理部１５０は、表示画像処理部１７０による表示画像の生成に先立って、将来必要なタイル画像３８を先読みしてデコードしておく。表示画像処理部１７０は、変更量導出部１７２、空間座標決定部１７４および表示画像生成部１７６を有する。表示画像処理部１７０は、先読み処理部１５０によりデコードされた画像データを用いて、表示画像を生成する。
【００３６】
図７において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、ＣＰＵ（Central Processing Unit）、メモリ、その他のＬＳＩで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。既述したように、制御部１００は１つのＰＰＵと複数のＳＰＵとを有し、ＰＰＵおよびＳＰＵがそれぞれ単独または協同して、各機能ブロックを構成できる。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。特に画像処理装置１０では、複数のＳＰＵが協同してデコード部１６２として機能することで、表示画像の生成に将来必要とされるタイル画像３８を短時間でデコードすることができる。
【００３７】
画像処理装置１０において、信号処理部１２０は、先読み処理部１５０および表示画像処理部１７０の動作に先立って、表示画像を変更する速度の最大値を設定し、また画像変更要求信号と畳み込み演算する伝達関数を決定する。伝達関数は、たとえばガウシアン関数であってもよい。画像変更要求信号は、決定された伝達関数と畳み込み演算されることで遅延させられ、画像処理装置１０は、この遅延時間を利用して、画像データの先読み処理に要する時間を確保する。これにより、ユーザの要求に対応したスムーズな画像表示が可能となる。伝達関数の決定処理および最大変更速度の設定処理は、情報特定部１３０により特定された情報をもとに実行される。
【００３８】
圧縮形式特定部１３２は、メインメモリ６０に保持された画像データの圧縮形式を特定する。圧縮形式特定部１３２は、たとえば画像データの拡張子および／または画像フォーマット中のヘッダ情報を参照して、画像データの圧縮形式を特定する。デコード部１６２がＳ３ＴＣ形式、ＪＰＥＧ形式、ＪＰＥＧ２０００形式の圧縮画像データをデコード可能な場合、圧縮形式特定部１３２は、画像データがいずれの形式で圧縮されているか特定する。
【００３９】
既述したように、Ｓ３ＴＣ形式、ＪＰＥＧ形式、ＪＰＥＧ２０００形式の圧縮画像データは、この順にデコードに要する時間が短い。したがって、画像データがＳ３ＴＣ形式で圧縮されていれば、他の圧縮形式と比較してタイル画像３８を短時間でデコードできるため、先読み処理にかかる時間を短縮でき、また表示画像の変更速度を高速に設定することができる。
【００４０】
最大速度設定部１４４は、圧縮形式特定部１３２により特定された画像データの圧縮形式に応じて、表示画像を変更する速度の最大値を設定する。この最大速度は、１フレームにおいて表示画像が変更される速度の最大値である。表示画像の変更速度は、仮想カメラの移動速度に対応する。具体的に最大速度設定部１４４は、Ｓ３ＴＣ形式の画像データに対しては最大速度をＶ１、ＪＰＥＧ形式の画像データに対しては最大速度をＶ２、ＪＰＥＧ２０００形式の画像データに対しては最大速度をＶ３（ここでＶ１＞Ｖ２＞Ｖ３）となるように設定する。なお、最大速度設定部１４４は、画像を拡大するときの最大速度、縮小するときの最大速度、また上下左右方向にスクロールするときの最大速度をそれぞれ設定する。これらの最大速度は、表示画像の縮尺に応じて適宜定められてもよい。既述したように、それぞれの最大速度は、デコードに要する時間の長い圧縮形式の方がより小さくなるように設定される。
【００４１】
伝達関数決定部１４０は、圧縮形式特定部１３２により特定された画像データの圧縮形式に応じて、畳み込み演算に用いる伝達関数を決定する。伝達関数は、画像変更要求信号を信号受付部１２２で受け付けてから、実際にディスプレイに表示するまでの遅延時間を実質的に設定する。伝達関数決定部１４０は、伝達関数を、たとえばピーク位置の異なる複数のガウシアン関数から選択してもよい。
【００４２】
図８は、仮想カメラの移動要求に対応する画像変更要求信号２００と、画像変更要求信号２００を畳み込み演算した結果である画像変更指示信号２０２とを示す。ここでは画像変更要求信号２００が、矩形波信号である場合を示す。伝達関数決定部１４０が伝達関数を決定し、畳み込み演算部１４２が、入力された画像変更要求信号２００と、決定された伝達関数を畳み込み演算して、画像変更指示信号２０２を生成する。図８に示すように、畳み込み演算することで、画像変更指示信号２０２は、画像変更要求信号２００を遅延した信号となる。なお画像処理装置１０において、階層データは、全ての階層に共通の１つのローカルな座標系で定義されているため、表示に利用するタイル画像３８の階層が切り替わる場合であっても、仮想カメラの移動は１つの座標系の中で行われ、仮想カメラ画像座標（Ｘ，Ｙ，ＳＣＡＬＥ）を特定する画像変更要求信号２００の連続性は担保される。本実施例の画像処理装置１０では、画像変更要求信号２００を伝達関数で畳み込み演算することで、画像変更要求信号２００を遅延させて、先読み処理の時間を確保する。
【００４３】
図９は、３つのガウシアン関数を示す。図９に示す関数曲線は、縦軸を重み、横軸をフレーム数として表現されている。１フレーム期間は、１／６０秒である。ガウシアン関数９２は幅を１６フレーム、ピーク位置を８フレーム目とし、ガウシアン関数９４は幅を３２フレーム、ピーク位置を１６フレーム目とし、ガウシアン関数９６は幅を６４フレーム、ピーク位置を３２フレーム目とする。
【００４４】
ユーザが入力装置２０の操作手段を操作している間、操作量が一定値である場合、入力装置２０は画像変更要求信号を矩形波信号として出力する。したがって画像変更要求信号とガウシアン関数９２を畳み込み演算すると、演算結果は、画像変更要求信号の入力時点から徐々に上昇し、８フレーム目からピーク値を維持する信号となる。またユーザが操作手段の操作を終了し、画像変更要求信号の出力が停止されると、畳み込み演算の結果は、画像変更要求信号の停止時点から徐々に下降し、停止時点から８フレーム目でゼロ値になる信号となる。同様に画像変更要求信号とガウシアン関数９６を畳み込み演算すると、演算結果は、画像変更要求信号の入力時点から緩やかに上昇し、３２フレーム目からピーク値を維持する信号となる。またユーザが操作手段の操作を終了し、画像変更要求信号の出力が停止されると、畳み込み演算の結果は、画像変更要求信号の停止時点から緩やかに下降し、停止時点から３２フレーム目でゼロ値になる信号となる。したがってガウシアン関数９６を用いると、ガウシアン関数９２と比較して遅延時間の大きい畳み込み演算結果を得ることができる。
【００４５】
伝達関数として、図９に示す３つのガウシアン関数がハードディスクドライブ５０に予め用意されている場合、伝達関数決定部１４０は、Ｓ３ＴＣ形式の画像データに対してはガウシアン関数９２を伝達関数として決定し、ＪＰＥＧ形式の画像データに対してはガウシアン関数９４を伝達関数として決定し、ＪＰＥＧ２０００形式の画像データに対してはガウシアン関数９６を伝達関数として決定する。このように伝達関数決定部１４０は、デコードに要する時間の長い圧縮形式の画像データに対して、より遅延時間の長いガウシアン関数を割り当てることで、先読み処理の時間を確保する。
【００４６】
以上のように、表示画像処理部１７０による表示画像の処理、および先読み処理部１５０による画像データの先読み処理に先だって、伝達関数決定部１４０が伝達関数を決定し、また最大速度設定部１４４が表示画像の最大速度を決定する。これにより、表示画像処理部１７０および先読み処理部１５０による各処理が実行される環境が整えられる。
【００４７】
なお最大速度設定部１４４が、画像データの圧縮形式に応じて表示画像の最大速度を設定する場合に、異なる圧縮形式に対して同一の最大速度を設定することも可能である。画像処理システム１では、表示画像処理部１７０が、先読み処理部１５０により先読み処理されたタイル画像３８を、スムーズに切り替えて表示画像を生成できることが必要であり、この条件を満たす限りにおいて、最大速度設定部１４４は、最大速度を任意に設定してもよい。同様に伝達関数決定部１４０は、異なる圧縮形式に対して同一の伝達関数を設定してもよい。この場合も、表示画像処理部１７０が、先読み処理部１５０により先読み処理されたタイル画像３８を、スムーズに切り替えて表示画像を生成できることが必要であり、この条件を満たす限りにおいて、伝達関数決定部１４０は、伝達関数を任意に設定してもよい。
【００４８】
以上は、画像データの圧縮形式に応じて表示画像の最大速度および伝達関数を設定する例を示したが、圧縮率に応じてこれらを設定してもよい。元画像を圧縮する際、より圧縮率を高くすることで、圧縮データ量をより小さくできるため、デコードに要する時間も短くできる。これを利用して、たとえばＪＰＥＧ形式の画像フォーマット中のヘッダ情報に、圧縮率を示す情報が含まれている場合、最大速度設定部１４４が、ヘッダ情報から読み出した圧縮率に応じて表示画像の最大速度を設定し、同様に伝達関数決定部１４０が、圧縮率に応じて伝達関数を設定してもよい。具体的に、圧縮率が所定値以上であれば、最大速度設定部１４４が表示画像の最大速度をＶ１、伝達関数決定部１４０が伝達関数をガウシアン関数９２に設定し、また圧縮率が所定値より小さければ、最大速度設定部１４４が表示画像の最大速度をＶ２（またはＶ３）、伝達関数決定部１４０が伝達関数をガウシアン関数９４（またはガウシアン関数９６）に設定してもよい。
【００４９】
信号受付部１２２は、入力装置２０から送信される画像変更要求信号を受け付ける。なお既述したように、本実施例では説明の簡略化のために、入力装置２０から画像変更要求信号が入力されることとしているが、信号受付部１２２は、入力装置２０からの入力信号を受け付けると、最大速度設定部１４４において設定された上下左右方向の最大速度および深さ方向の最大速度を用いてフレームごとに仮想カメラ画像座標（Ｘ，Ｙ，ＳＣＡＬＥ）を決定して、画像変更要求信号を生成してもよい。畳み込み演算部１４２は、画像変更要求信号と、伝達関数決定部１４０により決定された伝達関数を畳み込み演算して、画像変更指示信号を生成する。先読み処理部１５０は、画像変更要求信号を用いて、メインメモリ６０からタイル画像３８を読み出してデコードする先読み処理を実行する。また表示画像処理部１７０は、畳み込み演算された結果である画像変更指示信号を用いて表示画像を生成する。
【００５０】
先読み処理部１５０において、変更量導出部１５２は、要求される表示画像の変更量を導出する。表示画像の変更量は、１フレームごとの上下左右方向の移動量および深さ方向の移動量である。たとえば信号受付部１２２が、入力装置２０から入力信号を受け付けるが、画像変更要求信号を生成しない場合、変更量導出部１５２が、入力装置２０からの入力信号をもとに、最大速度設定部１４４において設定された上下左右方向の最大速度および深さ方向の最大速度を用いて、表示画像の変更量を導出してもよい。空間座標決定部１５４は、図３に示すデータ階層構造における前回フレームの４隅のフレーム座標から、導出された変更量により移動する今回フレームの４隅のフレーム座標を決定する。なお、信号受付部１２２が画像変更要求信号を生成する場合は、変更量導出部１５２は、表示画像の変更量を導出する必要はなく、空間座標決定部１５４が、信号受付部１２２から画像変更要求信号を受け取り、画像変更要求信号から直接、今回フレームの４隅のフレーム座標を決定する。
【００５１】
判定部１５６は、決定された４隅のフレーム座標で特定されるフレーム画像を表現するためのタイル画像３８が既にデコードされて、バッファメモリ７０のバッファ領域７２またはバッファ領域７４のいずれかに展開されているか判定する。なお判定部１５６は、変更要求信号で特定される仮想カメラ画像座標（Ｘ，Ｙ，ＳＣＡＬＥ）から、フレーム画像を表現するためのタイル画像３８が既にデコードされて、バッファメモリ７０のバッファ領域７２またはバッファ領域７４のいずれかに展開されているか判定してもよい。既にバッファ領域７２またはバッファ領域７４に存在している場合には、表示するフレーム画像の縮尺率が、タイル画像３８の先読み境界位置を超えているか判定する。判定部１５６は、決定された４隅のフレーム座標の画像を表現するためのタイル画像３８がバッファメモリ７０に存在しない場合、および要求される縮尺率が先読み境界位置を超えている場合に、画像データ取得部１６０に対して、必要なタイル画像３８の取得を指示する。画像データ取得部１６０は、指示されたタイル画像３８をメインメモリ６０から取得し、デコード部１６２がデコードして、バッファ領域７２またはバッファ領域７４に保持させる。これにより、表示画像処理部１７０による表示画像の生成前に、先読み処理部１５０が必要なタイル画像３８をバッファメモリ７０に展開することができる。
【００５２】
表示画像処理部１７０において、変更量導出部１７２は、畳み込み演算部１４２で生成された画像変更指示信号をもとに、指示される表示画像の変更量を導出する。画像変更要求信号がフレームごとの仮想カメラ画像座標を特定する情報である場合、画像変更指示信号も、フレームごとの仮想カメラ画像座標を特定する情報となる。既述したように画像変更指示信号は、画像変更要求信号を伝達関数で畳み込み演算して生成された信号であり、伝達関数に応じた遅延を有している。したがって、表示画像処理部１７０が表示画像を生成する前に、先読み処理部１５０は、表示画像の生成に用いるタイル画像３８の先読み処理を完了している。
【００５３】
変更量導出部１７２は、表示画像の変更量を、１フレームごとの上下左右方向の移動量および深さ方向の移動量として導出する。なお上記したように信号受付部１２２が仮想カメラ画像座標（Ｘ，Ｙ，ＳＣＡＬＥ）を特定する画像変更要求信号を生成する場合は、畳み込み演算部１４２が、仮想カメラ画像座標（Ｘ，Ｙ，ＳＣＡＬＥ）を特定する変更指示信号を生成するため、変更量導出部１７２は、表示画像の変更量を導出しなくてもよい。この場合は、空間座標決定部１７４が、画像変更指示信号から直接、今回フレームの４隅のフレーム座標を決定する。なお、変更量導出部１７２において、表示画像の変更量が、最大速度設定部１４４において設定された上下左右方向の最大速度および深さ方向の最大速度を用いて入力装置２０からの入力信号より算出される場合には、空間座標決定部１７４は、図３に示すデータ階層構造における前回フレームの４隅のフレーム座標から、導出された変更量により移動する今回フレームの４隅のフレーム座標を決定する。
【００５４】
表示画像生成部１７６は、バッファメモリ７０に保持された画像データから、フレーム座標で特定されるデータを抽出して表示画像を生成し、フレームメモリ９０に供給する。なお表示画像生成部１７６は、テクスチャ画像として表示画像を生成してもよい。以上により、画像処理装置１０は、画像データの圧縮形式または圧縮率に応じて先読み処理を実行し、また画像変更速度の最大値を導出することで、表示画像の拡縮処理や、スクロール処理をスムーズに実行できる。
【００５５】
上記した実施例においては、画像データの圧縮形式または圧縮率に応じて表示画像の最大速度および畳み込み演算で用いる伝達関数を決定したが、最大速度および伝達関数は、他のリソース情報をもとに決定されてもよい。たとえばリソース情報特定部１３４は、バッファメモリ７０におけるバッファ領域７２、７４のメモリサイズを特定する。バッファ領域７２、７４のメモリサイズは、上下左右方向の変更要求に対する先読み境界を規定するため、メモリサイズが大きければ先読み処理に時間的な余裕ができ、一方でメモリサイズが小さければ先読み処理の時間的な余裕が少なくなる。
【００５６】
したがって最大速度設定部１４４は、表示画像の変更速度の最大値を、バッファ領域７２、７４のメモリサイズに応じて設定する。たとえば最大速度設定部１４４は、バッファ領域７２、７４のメモリサイズがフレームメモリ９０のメモリサイズの２倍未満であれば最大速度をＶ３、フレームメモリ９０のメモリサイズの２倍以上３倍未満であれば最大速度をＶ２、フレームメモリ９０のメモリサイズの３倍以上であれば最大速度をＶ１（ここでＶ１＞Ｖ２＞Ｖ３）となるように設定してもよい。
【００５７】
このとき伝達関数決定部１４０は、リソース情報特定部１３４により特定されたバッファ領域７２、７４のメモリサイズに応じて、畳み込み演算に用いる伝達関数を決定する。伝達関数として、図９に示す３つのガウシアン関数が用意されている場合、伝達関数決定部１４０は、バッファ領域７２、７４のメモリサイズがフレームメモリ９０のメモリサイズの２倍未満であればガウシアン関数９６を伝達関数として決定し、フレームメモリ９０のメモリサイズの２倍以上３倍未満であればガウシアン関数９４を伝達関数として決定し、フレームメモリ９０のメモリサイズの３倍以上であればガウシアン関数９２を伝達関数として決定する。このように伝達関数決定部１４０は、バッファ領域７２、７４のメモリサイズが小さい場合には、より遅延時間の長いガウシアン関数を割り当てることで、先読み処理の時間を確保する。
【００５８】
なお、最大速度設定部１４４は、圧縮形式特定部１３２で特定された圧縮形式と、リソース情報特定部１３４で特定されたリソース情報とを用いて、それぞれに基づいた最大速度を導出し、遅い方の最大速度を採用してもよい。同様に伝達関数決定部１４０は、圧縮形式特定部１３２で特定された圧縮形式と、リソース情報特定部１３４で特定されたリソース情報とを用いて、それぞれに基づいた伝達関数を導出し、遅延時間の長い方の伝達関数を採用してもよい。これにより画像処理装置１０は、安定した表示画像の処理を保証できる。
【００５９】
以上、本実施例の画像処理システム１では、メインメモリ６０が、圧縮階層データのすべてを保持することとしたが、先読み処理により、必要な圧縮階層データだけをメインメモリ６０が保持するようにしてもよい。これにより、メインメモリ６０のメモリ容量をさらに小さく構成できる。
【００６０】
画像処理の開始前に、リソース情報特定部１３４は、圧縮階層データを保持するリソースを特定し、圧縮階層データの保持リソースからメインメモリ６０への転送速度（バス速度）を特定する。画像処理装置１０においては、たとえば圧縮階層データの保持リソースとして、ハードディスクドライブ５０、リムーバブル記録媒体、ＲＯＭディスクの３種類が想定される。リムーバブル記録媒体は、たとえばフラッシュメモリであり、記録媒体装着部５２に装着されて、比較的高速なデータの転送が可能である。またハードディスクドライブ５０とＲＯＭディスクを駆動するディスクドライブ５４のデータ転送速度を比較すると、ハードディスクドライブ５０からの転送速度の方が速い。したがって、データの転送速度は、リムーバブル記録媒体、ハードディスクドライブ５０、ＲＯＭディスクの順で速い。
【００６１】
以上より、圧縮階層データを保持する記憶装置からメインメモリ６０に圧縮階層データを逐次読み出す場合には、最大速度設定部１４４が、表示画像の変更速度の最大値を、圧縮階層データを保持した記憶装置に応じて設定する。表示画像の最大速度は、リムーバブル記録媒体、ハードディスクドライブ５０またはＲＯＭディスクからの転送速度に応じて設定されてよく、相対的には、リムーバブル記録媒体から圧縮データを読み出す場合に、最も大きい変更速度が割り当てられ、ＲＯＭディスクから圧縮データを読み出す場合に、最も小さい変更速度が割り当てられる。
【００６２】
同様に畳み込み演算部１４２は、伝達関数を、圧縮階層データを保持した記憶装置に応じて設定する。具体的に畳み込み演算部１４２は、リムーバブル記録媒体から圧縮データを読み出す場合に、遅延時間の最も小さい伝達関数を採用し、ＲＯＭディスクから圧縮データを読み出す場合に、遅延時間の最も大きい伝達関数を採用する。
【００６３】
図１０は、本実施例における画像処理のフローチャートを示す。まず圧縮形式特定部１３２が、記憶装置に保持された圧縮画像データの圧縮形式を特定する（Ｓ１０）。またリソース情報特定部１３４が、画像処理装置１０のリソース情報を特定する（Ｓ１２）。リソース情報特定部１３４が特定するリソース情報は、圧縮画像データを保持した記憶装置からメインメモリ６０への転送速度や、デコードした画像データを展開するバッファメモリ７０のメモリサイズなどを含む。最大速度設定部１４４は、特定された圧縮形式および／またはリソース情報をもとに、表示画像の変更速度の最大値を決定する（Ｓ１４）。また伝達関数決定部１４０は、特定された圧縮形式および／またはリソース情報をもとに、畳み込み演算に用いる伝達関数を決定する（Ｓ１６）。以上の処理を行った後に、先読み処理部１５０および表示画像処理部１７０が、それぞれ画像データの先読み処理および表示画像の生成処理を実行して、画像をディスプレイに表示する（Ｓ１８）。
【００６４】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００６５】
たとえば最大速度設定部１４４は、表示画像の縮小方向の速度の最大値を、表示画像の拡大方向の速度の最大値よりも小さく設定してもよい。たとえば画像を拡大表示していく場合、表示画像の解像度が粗くなることを許容すれば、表示画像生成部１７６がバッファメモリ７０に展開された画像データをもとに表示画像を生成できる。一方、画像を縮小表示していく場合、表示画像がバッファメモリ７０に展開された画像データを超える場合があるため、先読み処理を確実に実行しておくことが好ましい。そのため、表示画像の縮小方向の最大速度を、拡大方向の最大速度よりも小さく設定しておくことで、縮小方向時の先読み処理を確実に実行できるようにしてもよい。同様に伝達関数決定部１４０は、表示画像の縮小時の伝達関数の遅延時間を、拡大時の伝達関数の遅延時間よりも大きく設定してもよい。
【００６６】
また階層データを構成する各タイル画像には、最大速度および伝達関数を指定する属性情報が割り当てられてもよい。各タイル画像の属性情報は、階層データとは別に、タイル画像の識別情報に対応づけられてテーブルに保持される。この場合、信号処理部１２０が、表示画像の生成に用いるタイル画像３８を特定する機能を有して構成される。信号処理部１２０は、タイル画像３８を特定すると、テーブルから当該タイル画像３８の属性情報を読み出し、属性情報により特定される最大速度および伝達関数を抽出して、それぞれを設定する。これにより、たとえば画像の提供主体が、ある階層において表示画像を緩やかに変化させたい場合には、小さい最大速度の設定情報および遅延時間の大きい伝達関数の設定情報を属性情報に含めることで、画像提供主体の意図に応じた画像表示を実現できる。なお、属性情報は各タイル画像に割り当てられるのではなく、たとえば階層に対して割り当てられてもよい。
【００６７】
また実施例では、画像処理装置１０が、ローカルな座標系で定義される１つの階層データを処理する例について説明したが、複数の階層データを取り扱うことも可能である。このとき、複数の階層データを互いに関連付けることで、様々なアプリケーションを実現することが可能となる。
【００６８】
図１１は、関連付けられた複数の階層データ２８ａ、２８ｂの先読み処理をするための説明図を示す。アプリケーション例として、階層データ２８ａは、世界地図の画像データを構成し、階層データ２８ｂは、世界地図に含まれる日本地図の詳細な画像データを構成する。図中、階層データ２８ａを表現する三角形と階層データ２８ｂを表現する三角形の重複箇所が存在するが、この重複箇所において表示画像を拡大させる（すなわち、画像変更要求信号が矢印方向の画像変更を要求する）場合、切替境界８６で、階層データ２８ａから階層データ２８ｂへの切替が行われ、逆に表示画像を縮小する場合、切替境界８６で階層データ２８ｂから階層データ２８ａへの切替が行われる。
【００６９】
このアプリケーションの初期画像は、メルカトル図法による世界地図の全体を表示装置１２のディスプレイに表示するものであり、階層データ２８ａの画像データにより形成される。ユーザが世界地図に含まれる日本地図の拡大要求を入力装置２０から入力し続けると、画像処理装置１０は、階層データ２８ａを利用して日本地図を拡大表示していき、途中で階層データ２８ｂに切り替えて、日本地図の詳細画像を拡大表示していく。表示画像を拡大する際、画像変更要求信号は図中の矢印方向に生成され、階層データ２８ｂの先読み処理は、画像変更要求信号が切替境界８６の手前（すなわち図中の切替境界８６よりも上方）にある先読み境界（図示せず）をまたいだ時点で行われる。一方、表示画像を縮小する際、画像変更要求信号は図中の矢印とは逆方向に生成され、階層データ２８ａの先読み処理は、画像変更要求信号が切替境界８６の手前（すなわち図中の切替境界８６よりも下方）にある先読み境界（図示せず）をまたいだ時点で行われる。
【００７０】
階層データ２８ａと階層データ２８ｂとの座標系が共通に設定されている場合、すなわち１つのグローバルな座標系で階層データ２８ａと階層データ２８ｂとが生成されている場合、画像変更要求信号は、仮想カメラ画像座標（Ｘ，Ｙ，ＳＣＡＬＥ）の変更要求信号であるため、座標系が共通であれば、階層データが切り替わったとしても、仮想カメラが連続して移動しているものとして扱うことができる。
【００７１】
図１２（ａ）は、グローバル座標系において、時間ｔ１で階層データが切り替わったときの画像変更指示信号２０４を示す。階層データ２８ａから階層データ２８ｂ、または階層データ２８ｂから階層データ２８ａに切り替わった場合であっても、両方の階層データが共通の座標系で定義されていれば、仮想カメラは１つの座標系を移動することになり、畳み込み演算部１４２により畳み込み演算された結果は、階層データの切り替えにかかわらず、そのまま受け継がれる。
【００７２】
しかしながら、上記アプリケーション例において、階層データ２８ａと階層データ２８ｂとを共通のグローバル座標系で表現すると、拡大画像の位置精度を維持するための演算量が膨大となる欠点がある。具体的には、世界地図の全体図から日本のある街の交差点を表示させる場合、グローバル座標系では、この交差点を、世界地図を定義する座標で表現しなければならない。そうすると、交差点の位置精度を高くするために、座標値の桁数が非常に大きくなり、演算量が膨大となる。
【００７３】
そこで、本変形例では、階層データ２８ａと階層データ２８ｂとを、それぞれローカルの異なる座標系で表現する。これにより、グローバル座標系で表現する場合と比較すると、各階層データにおける座標の桁数を少なくでき、演算量を低減できるという利点がある。
【００７４】
図１２（ｂ）は、２つのローカル座標系において、時間ｔ１で階層データが切り替わったときの画像変更指示信号２０６、２０８を示す。ここでは、表示画像の拡大中、階層データ２８ａから階層データ２８ｂに切り替える場合を例に説明するが、表示画像の縮小中に階層データ２８ｂから階層データ２８ａに切り替える場合も同様である。画像変更要求信号２００は、図１２（ａ）に示したものと同じである。
【００７５】
画像変更指示信号２０６は、階層データ２８ａにおける仮想カメラの移動要求であり、図１２（ａ）に示す時間ｔ１までの画像変更指示信号２０４と同じである。一方、表示画像の生成に利用するタイル画像を、階層データ２８ａのものから、別の座標系で定義された階層データ２８ｂのものに切り替えると、仮想カメラ画像座標（Ｘ，Ｙ，ＳＣＡＬＥ）の連続性が途切れる。たとえば畳み込み演算部１４２は、２つの連続するフレームの仮想カメラ画像座標間の距離が、表示画像の最大速度によるフレーム間の最大距離を超えている場合に、仮想カメラ画像座標の連続性が途切れたことを判定する。この場合、畳み込み演算部１４２は、時間ｔ１以降の画像変更要求信号２００を、階層データ２８ｂに対して新たに生成されたものと判断し、時間ｔ１における画像変更要求信号値を最初の入力値として伝達関数との畳み込み演算を行い、画像変更指示信号２０８を生成する。
【００７６】
なお、圧縮形式特定部１３２は、先読み処理されてメインメモリ６０に保持された階層データ２８ｂの圧縮形式を予め特定しておく。最大速度設定部１４４は、圧縮形式特定部１３２により特定された画像データの圧縮形式に応じて、表示画像を変更する速度の最大値を設定する。また伝達関数決定部１４０は、圧縮形式特定部１３２により特定された画像データの圧縮形式に応じて、畳み込み演算に用いる伝達関数を決定する。これらの処理は、階層データ２８ｂを先読み処理したときに実行され、時間ｔ１では、既に完了していることが好ましく、最大速度を用いて、時間ｔ１以降の画像変更要求信号２００が生成されてもよい。なお、階層データ２８ａと階層データ２８ｂとが同じ圧縮形式であれば、階層データ２８ａに対して決定された最大速度および伝達関数が、階層データ２８ｂに対しても適用されてよく、図１２（ａ）および図１２（ｂ）に示す例では、階層データ２８ａ、２８ｂの圧縮形式が同じであることを前提としている。
【００７７】
図１２（ｂ）に示す画像変更指示信号２０８によると、時間ｔ１で、仮想カメラ画像座標の引き継ぎ処理が行われないため、世界地図の全体画像から、たとえば一定速度で拡大していた地図画像が、時間ｔ１で階層データを切り替えたときに一旦拡大が停止し、それからゆっくりと拡大されるように表示される。ユーザは、不連続な表示画像を見ることで、なんらかの理由で画像が切り替わったことを認識する。アプリケーションによっては、不連続性をユーザに見せることが好ましいこともあるが、世界地図から日本のある街の交差点を連続拡大表示で表現するアプリケーションにおいては、連続性が途切れることは好ましくない。
【００７８】
そこで、本変形例では、表示画像生成部１７６が表示画像の生成に利用するタイル画像を、別の座標系で定義された階層データ２８のタイル画像に切り替えるときに、畳み込み演算部１４２が、２つの階層データの座標系をもとに、接続関係を定義する。具体的に畳み込み演算部１４２は、切替前の階層データ２８ａの仮想カメラ画像座標を、切替後の階層データ２８ｂの仮想カメラ画像座標に座標変換して、時間ｔ１以降において、時間ｔ１以前の仮想カメラ画像座標が、あたかも階層データ２８ｂにおける仮想カメラ画像座標であったかのように引き継げるようにする。時間ｔ１以前の階層データ２８ａにおける仮想カメラ画像座標を、階層データ２８ｂにおける仮想カメラ画像座標に座標変換することで、畳み込み演算部１４２は、連続した仮想カメラ画像座標として扱うことができ、画像変更要求信号２００に対して伝達関数を畳み込み演算することで、図１２（ａ）に示す画像変更指示信号２０４を生成することができる。すなわち、時間ｔ１より前の画像変更要求信号を、時間ｔ１以後に利用する階層データ２８ｂにおける画像変更要求信号に変換して、変換した画像変更要求信号を利用することで、同一座標系における画像変更指示信号を生成することが可能となる。
【００７９】
たとえば、図９に示すガウシアン関数の例では、最大の遅延フレーム数が、ガウシアン関数９６の３２フレームであるため、畳み込み演算部１４２は、時間ｔ１より前の３２フレーム分の仮想カメラ画像座標を、座標変換すればよい。これにより、どのガウシアン関数が伝達関数として選択された場合であっても、時間ｔ１より前の仮想カメラ画像座標を、確実に時間ｔ１以降に引き継ぐことが可能となる。
【００８０】
また、座標変換は、図１１に示す階層データ２８ａと階層データ２８ｂの仮想３次元空間上の位置関係を利用して行われる。階層データ２８ａと階層データ２８ｂとは、それぞれ異なる座標系で表現されているが、図１１に示すように、両者は一部において仮想３次元空間上で重なり合っている。そのため、一方の座標は、他方の座標に一義的に変換することが可能であり、たとえば座標変換式を利用するなど、既知の手法を用いることができる。
【００８１】
なお、上記したように、アプリケーションによっては、階層データを切り替える場合に、仮想カメラを連続して移動させない方が好ましいこともある。たとえば階層データ２８ａがショッピングモール（たとえば複数の店舗が存在し、ただ店舗の扉は閉まっているため店舗内は見えない）の画像データを構成し、階層データ２８ｂが１つの店舗内の商品棚の画像データを構成する場合、店舗の扉が閉じていることで、ショッピングモールと店舗内とは空間的に連続していない。このような場合は、表示画像をあえて不連続にすることが好ましく、したがって階層データを切り替えるときに、図１２（ｂ）に示す画像変更指示信号２０８を生成することが好ましい。そこで畳み込み演算部１４２は、階層データを切り替える際に、仮想カメラを連続して移動させるか否かを示す属性情報を、２つの階層データに対して保持するようにしてもよい。畳み込み演算部１４２は、階層データを切り替える際に、この属性情報を参照して、座標変換をするか否かを判定する。
【符号の説明】
【００８２】
１・・・画像処理システム、１０・・・画像処理装置、１２・・・表示装置、２０・・・入力装置、３０・・・第０階層、３２・・・第１階層、３４・・・第２階層、３６・・・第３階層、３８・・・タイル画像、４４・・・表示処理部、５０・・・ハードディスクドライブ、５２・・・記録媒体装着部、５４・・・ディスクドライブ、６０・・・メインメモリ、７０・・・バッファメモリ、７２・・・バッファ領域、７４・・・バッファ領域、９０・・・フレームメモリ、１００・・・制御部、１２０・・・信号処理部、１２２・・・信号受付部、１３０・・・情報特定部、１３２・・・圧縮形式特定部、１３４・・・リソース情報特定部、１４０・・・伝達関数決定部、１４２・・・畳み込み演算部、１４４・・・最大速度設定部、１５０・・・先読み処理部、１５２・・・変更量導出部、１５４・・・空間座標決定部、１５６・・・判定部、１５８・・・読出画像決定部、１６０・・・画像データ取得部、１６２・・・デコード部、１７０・・・表示画像処理部、１７２・・・変更量導出部、１７４・・・空間座標決定部、１７６・・・表示画像生成部。
【図１】
2010067261.tif 000003
【図２】
2010067261.tif 000004
【図３】
2010067261.tif 000005
【図４】
2010067261.tif 000006
【図５】
2010067261.tif 000007
【図６】
2010067261.tif 000008
【図７】
2010067261.tif 000009
【図８】
2010067261.tif 000010
【図９】
2010067261.tif 000011
【図１０】
2010067261.tif 000012
【図１１】
2010067261.tif 000013
【図１２】
2010067261.tif 000014