(57)【特許請求の範囲】
【請求項１】
表示対象の画像を異なる解像度で表した複数の画像データを解像度順に階層化してなる階層データを格納する画像データ記憶部と、
前記階層データのうち、表示装置の画面に発生させた複数のビューポートのそれぞれに表示させる画像の描画に用いる階層および領域を決定するビューポート制御部と、
前記複数のビューポートのうち、指定されたビューポートに対して入力された表示領域移動要求信号に従い、当該ビューポートの画像の描画に用いる階層および領域を他のビューポートと独立に更新する表示領域決定部と、
前記ビューポート制御部または前記表示領域決定部が決定した階層および領域のデータを前記画像データ記憶部より読み出し、それを用いて各ビューポートの画像を描画して表示装置に表示させる表示画像処理部と、
を備えたことを特徴とする画像処理装置。
【請求項２】
前記ビューポート制御部は、入力されたビューポートサイズ変更要求信号に従い、対象となるビューポートのサイズを変化させ、ビューポートのサイズを変化させている間は、当該ビューポートに表示させる画像の描画に用いる階層を、ビューポートのサイズおよび表示させる画像のサイズから定まる適正な階層より低い解像度の階層とすることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記ビューポート制御部は、ビューポートのサイズを増加させるサイズ変更要求信号の入力が停止した時点で、当該ビューポートの画像の描画に用いる階層を前記適正な階層に切り替えるとともに、当該ビューポートとの重なりにより隠蔽された他のビューポート内の領域の描画に用いていたメモリ内のデータを無効化することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記ビューポート制御部は、入力されたビューポートサイズ変更要求信号に従い、対象となるビューポートのサイズを変化させ、画面を構成するビューポートのうち他のビューポートとの重なりにより隠蔽される領域の描画に用いていたメモリ内のデータを、重なり面積の増加とともに無効化していくことを特徴とする請求項１に記載の画像処理装置。
【請求項５】
ユーザによる、画面端に表示したタグを画面中央へ向けて引き出す操作を受け付ける入力部をさらに備え、
前記ビューポート制御部は、前記引き出す操作が開始された際、前記タグを新たなビューポートに変化させ、操作が進むとともに当該ビューポートのサイズを広げていくことを特徴とする請求項１から４のいずれかに記載の画像処理装置。
【請求項６】
前記ビューポート制御部は、サイズを変化させているビューポートに表示させる画像の描画に用いる階層を前記低い解像度の階層としている間、当該画像の背景を透明または半透明とすることを特徴とする請求項２または３に記載の画像処理装置。
【請求項７】
前記ビューポート制御部は、あるビューポートの画像内の領域を指定した拡大要求信号に従い、当該領域の拡大画像を表示する新たなビューポートを発生させ、元のビューポートの画像の表示領域を、新たなビューポートによる隠蔽面積が小さくなる方向に移動させることを特徴とする請求項１から５のいずれかに記載の画像処理装置。
【請求項８】
前記表示領域決定部は、あるビューポートの画像のスクロール要求信号に従い、当該画像がスクロールするように描画に用いる領域を更新するとともに、他のビューポートの画像を、スクロール後の表示領域に対応づけられた画像へ切り替えることを特徴とする請求項１から５のいずれかに記載の画像処理装置。
【請求項９】
画像処理装置において、表示対象の画像を異なる解像度で表した複数の画像データを解像度順に階層化してなる階層データのうち、表示装置の画面に発生させた複数のビューポートのそれぞれに表示させる画像の描画に用いる階層および領域を決定するステップと、
決定した階層および領域のデータを記憶装置より読み出し、それを用いて各ビューポートの画像を描画して表示装置に表示させるステップと、
前記複数のビューポートのうち、指定されたビューポートに対して入力された表示領域移動要求信号に従い、当該ビューポートの画像の描画に用いる階層および領域を他のビューポートと独立に更新するステップと、
更新後の階層および領域のデータを記憶装置より読み出し、それを用いて対象となるビューポートの画像を独立に更新するステップと、
を含むことを特徴とする画像処理方法。
【請求項１０】
表示対象の画像を異なる解像度で表した複数の画像データを解像度順に階層化してなる階層データのうち、表示装置の画面に発生させた複数のビューポートのそれぞれに表示させる画像の描画に用いる階層および領域を決定する機能と、
決定した階層および領域のデータを記憶装置より読み出し、それを用いて各ビューポートの画像を描画して表示装置に表示させる機能と、
前記複数のビューポートのうち、指定されたビューポートに対して入力された表示領域移動要求信号に従い、当該ビューポートの画像の描画に用いる階層および領域を他のビューポートと独立に更新する機能と、
更新後の階層および領域のデータを記憶装置より読み出し、それを用いて対象となるビューポートの画像を独立に更新する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラム。
【請求項１１】
表示対象の画像を異なる解像度で表した複数の画像データを解像度順に階層化してなる階層データのうち、表示装置の画面に発生させた複数のビューポートのそれぞれに表示させる画像の描画に用いる階層および領域を決定する機能と、
決定した階層および領域のデータを記憶装置より読み出し、それを用いて各ビューポートの画像を描画して表示装置に表示させる機能と、
前記複数のビューポートのうち、指定されたビューポートに対して入力された表示領域移動要求信号に従い、当該ビューポートの画像の描画に用いる階層および領域を他のビューポートと独立に更新する機能と、
更新後の階層および領域のデータを記憶装置より読み出し、それを用いて対象となるビューポートの画像を独立に更新する機能と、
をコンピュータに実現させるコンピュータプログラムを記録したことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像の表示領域を変化させてディスプレイに表示する画像処理技術に関する。
【背景技術】
【０００２】
ゲームプログラムを実行するだけでなく、動画を再生できる家庭用エンタテインメントシステムが提案されている。この家庭用エンタテインメントシステムでは、ＧＰＵがポリゴンを用いた三次元画像を生成する（例えば特許文献１参照）。
【０００３】
動画、静止画に関わらず、画像をいかに効率よく表示するかは常に重要な問題となる。そのため画像データの圧縮技術、伝送技術、画像処理技術、表示技術など多方面で様々な技術が開発、実用化され、高精細な画像を多様な場面で身近に楽しめるようになってきた。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許第６５６３９９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
高精細な画像をユーザの要求に従い応答性よく表示させたい、という要求は常に存在する。例えば表示させた全体画像のうちユーザが着目する領域を拡大して表示したり別の領域に表示を移動させたり、といった自由度のある視点移動要求に対し、応答性よく表示画像を更新するためには、限られた時間内でランダムな領域の画像データの転送、デコード、描画を完了させる必要がある。そのため装置が有する処理性能やリソースの範囲内で画像の品質と応答性を両立させることは常に大きな課題となる。
【０００６】
本発明はこのような課題に鑑みてなされたものであり、その目的は表示領域に係る操作に対し応答性よく高精細な画像を表示することのできる画像処理技術を提供することにある。
【課題を解決するための手段】
【０００７】
本発明のある態様は画像処理装置に関する。この画像処理装置は、表示対象の画像を異なる解像度で表した複数の画像データを解像度順に階層化してなる階層データを格納する画像データ記憶部と、階層データのうち、表示装置の画面に発生させた複数のビューポートのそれぞれに表示させる画像の描画に用いる階層および領域を決定するビューポート制御部と、入力された表示領域移動要求信号に従い、対象となるビューポートの画像の描画に用いる階層および領域を独立に更新する表示領域決定部と、ビューポート制御部または表示領域決定部が決定した階層および領域のデータを画像データ記憶部より読み出し、それを用いて各ビューポートの画像を描画して表示装置に表示させる表示画像処理部と、を備えたことを特徴とする。
【０００８】
本発明の別の態様は画像処理方法に関する。この画像処理方法は、画像処理装置において、表示対象の画像を異なる解像度で表した複数の画像データを解像度順に階層化してなる階層データのうち、表示装置の画面に発生させた複数のビューポートのそれぞれに表示させる画像の描画に用いる階層および領域を決定するステップと、決定した階層および領域のデータを記憶装置より読み出し、それを用いて各ビューポートの画像を描画して表示装置に表示させるステップと、入力された表示領域移動要求信号に従い、対象となるビューポートの画像の描画に用いる階層および領域を独立に更新するステップと、更新後の階層および領域のデータを記憶装置より読み出し、それを用いて対象となるビューポートの画像を更新するステップと、を含むことを特徴とする。
【０００９】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１０】
本発明によると、要求される画質を維持しつつユーザの指示に対し応答性よく画像を表示できる。
【図面の簡単な説明】
【００１１】
【図１】本実施の形態の画像処理装置の構成を示す図である。
【図２】本実施の形態において使用する画像データの階層構造の概念図である。
【図３】本実施の形態における、描画に用いるタイル画像のデータと表示画面の関係を模式的に示す図である。
【図４】本実施の形態における画像処理装置のうち主に制御部の構成をより詳細に示す図である。
【図５】本実施の形態において、ビューポート制御部がビューポートを制御するために生成するパラメータを模式的に示す図である。
【図６】本実施の形態において画像処理装置が画像を表示する処理手順を示すフローチャートである。
【図７】本実施の形態の装置構成によって実現できる表示画面の例を示す図である。
【図８】本実施の形態においてビューポートの合計面積を不変とする手法を説明するための図である。
【図９】本実施の形態においてビューポートの合計面積を不変としたときの別の画面例を示す図である。
【図１０】本実施の形態において描画に用いる階層を調整する手法を説明するための図である。
【図１１】本実施の形態において描画に用いる階層を調整する手法を説明するための図である。
【図１２】本実施の形態において描画に用いる階層を調整したときの別の画面例を示す図である。
【発明を実施するための形態】
【００１２】
図１は本実施の形態の画像処理装置の構成を示している。画像処理装置１０は、無線インタフェース４０、入力装置２０、表示処理部４４、表示装置１２、ハードディスクドライブ５０、記録媒体装着部５２、ディスクドライブ５４、メインメモリ６０、バッファメモリ７０および制御部１００を有して構成される。
【００１３】
表示装置１２は液晶ディスプレイ、ＥＬ（Electronic Luminescence）ディスプレイ、プラズマディスプレイなど一般的なディスプレイのいずれかを備えており、画像処理装置１０のその他のモジュールと一体的に設けられてもよいし、有線ケーブルや無線ＬＡＮ（Local Area Network）などにより有線接続または無線接続されてもよい。表示処理部４４は、表示装置１２のディスプレイに表示するデータをバッファするフレームメモリ（図示せず）を有する。
【００１４】
無線インタフェース４０は、所定の無線通信プロトコルで外部の機器やネットワークと無線で接続することによりサーバから画像データなど各種データを受信できるように構成される。入力装置２０はジョイスティック、タッチパネル、マウス、キーボード、ボタンなど一般的な入力装置で構成される。入力装置２０は少なくとも、表示装置１２に表示された画像の拡大／縮小、上下左右方向へのスクロールなどの表示領域移動要求、および後述するビューポートの発生／消去、サイズ変更、移動などの要求をユーザが入力するための入力手段を備える。
【００１５】
これらの入力を行うための具体的な操作手法は入力装置２０の種類や、それに含まれる操作手段への機能の割り付け方によって様々考えられる。例えば入力装置２０としてタッチパネルを用いた場合、タッチパネルに接触させた指をずらすことにより表示画像を同方向へスクロールさせたり、２本の指を開いたり閉じたりすることで拡大、縮小させたりする態様を実現できる。このような操作に係る処理は一般的な技術を適用できるため、適宜説明を省略する。入力装置２０においてユーザから入力された各種要求信号は、制御部１００に供給される。
【００１６】
ハードディスクドライブ５０は、データを記憶する記憶装置として機能する。サーバから受信した各種データは、一旦、ハードディスクドライブ５０に格納される。記録媒体装着部５２は、メモリカードなどのリムーバブル記録媒体が装着されると、リムーバブル記録媒体からデータを読み出す。ディスクドライブ５４は、読み出し専用のＲＯＭディスクが装着されると、ＲＯＭディスクを駆動して認識し、データを読み出す。ＲＯＭディスクは、光ディスクや光磁気ディスクなどであってよい。画像データなど各種データはこれらの記録媒体に格納されていてもよい。
【００１７】
制御部１００は、マルチコアＣＰＵを備え、１つのＣＰＵの中に１つの汎用的なプロセッサコアと、複数のシンプルなプロセッサコアを有する。汎用プロセッサコアはＰＰＵ（PowerPC Processor Unit）と呼ばれ、残りのプロセッサコアはＳＰＵ（Synergistic Processor Unit）と呼ばれる。
【００１８】
制御部１００は、メインメモリ６０およびバッファメモリ７０に接続するメモリコントローラを備える。ＰＰＵはレジスタを有し、演算実行主体としてメインプロセッサを備えて、実行するアプリケーションにおける基本処理単位としてのタスクを各ＳＰＵに効率的に割り当てる。なお、ＰＰＵ自身がタスクを実行してもよい。ＳＰＵはレジスタを有し、演算実行主体としてのサブプロセッサとローカルな記憶領域としてのローカルメモリを備える。ローカルメモリは、バッファメモリ７０として使用されてもよい。
【００１９】
メインメモリ６０およびバッファメモリ７０は記憶装置であり、ＲＡＭ（ランダムアクセスメモリ）として構成される。ＳＰＵは制御ユニットとして専用のＤＭＡ（Direct Memory Access）コントローラをもち、メインメモリ６０とバッファメモリ７０の間のデータ転送を高速に行うことができ、また表示処理部４４におけるフレームメモリとバッファメモリ７０の間で高速なデータ転送を実現できる。本実施の形態の制御部１００は、複数のＳＰＵを並列動作させることで、高速な画像処理機能を実現する。表示処理部４４は、表示装置１２に接続されて、ユーザからの要求に応じた画像処理結果を出力する。
【００２０】
本実施の形態の画像処理装置１０は、表示画像の拡大／縮小処理やスクロール処理を行う際に表示画像をスムーズに変更させるために、圧縮された画像データの一部をハードディスクドライブ５０からメインメモリ６０にロードしておく。また、メインメモリ６０にロードした圧縮画像データのさらに一部をデコードしてバッファメモリ７０に格納しておく。これにより、後の必要なタイミングで、表示画像の生成に使用する画像を瞬時に切り替えることが可能となる。
【００２１】
本実施の形態において処理対象とする画像のデータ構造は特に限定されないが、ここでは階層構造を有する画像データを例に説明する。この画像データは、原画像を複数段階に縮小して生成した異なる解像度の画像からなる階層構造を有する。各階層の画像は一又は複数のタイル画像に分割する。たとえば最も解像度の低い画像は１つのタイル画像で構成し、最も解像度の高い原画像は、最も多い数のタイル画像で構成する。画像表示時は、描画に使用しているタイル画像を、表示画像が所定の解像度になったときに異なる階層のタイル画像に切り替えることで、拡大表示または縮小表示を迅速に行う。
【００２２】
図２は画像データの階層構造の概念図を示す。画像データは、深さ（Ｚ軸）方向に、第０階層３０、第１階層３２、第２階層３４および第３階層３６からなる階層構造を有する。なお同図においては４階層のみ示しているが、階層数はこれに限定されない。以下、このような階層構造をもつ画像データを「階層データ」と呼ぶ。
【００２３】
図２に示す階層データは４分木の階層構造を有し、各階層は１以上のタイル画像３８で構成される。すべてのタイル画像３８は同じ画素数をもつ同一サイズに形成され、たとえば２５６×２５６画素を有する。各階層の画像データは、一つの画像を異なる解像度で表現しており、最高解像度をもつ第３階層３６の原画像を複数段階に縮小して、第２階層３４、第１階層３２、第０階層３０の画像データが生成される。たとえば第Ｎ階層の解像度（Ｎは０以上の整数）は、左右（Ｘ軸）方向、上下（Ｙ軸）方向ともに、第（Ｎ＋１）階層の解像度の１／２であってよい。
【００２４】
画像処理装置１０において、階層データは、所定の圧縮形式で圧縮された状態でタイル画像３８ごとに記憶装置に保持されており、ディスプレイに表示される前に記憶装置から読み出されてデコードされる。本実施の形態の画像処理装置１０は、複数種類の圧縮形式に対応したデコード機能を有し、たとえばＪＰＥＧ形式、ＪＰＥＧ２０００形式、ＰＮＧ形式、Ｓ３ＴＣ形式の圧縮データをデコード可能とする。
【００２５】
階層データの階層構造は、図２に示すように、左右方向をＸ軸、上下方向をＹ軸、深さ方向をＺ軸として設定され、仮想的な３次元空間を構築する。制御部１００は、入力装置２０から供給される表示領域移動要求信号から表示領域の移動量を導出すると、その移動量を用いて仮想空間におけるフレームの４隅の座標（フレーム座標）を導出する。仮想空間におけるフレーム座標は、メインメモリ６０への圧縮データのロードおよび表示画像の生成処理に利用される。
【００２６】
例えば表示画像の解像度の変更に対しては、Ｚ軸上で各階層の間に切り替え境界を設定しておく。そして表示領域移動要求信号によりフレームのＺ座標が当該切り替え境界を越えたときに、表示画像の描画に使用する階層を切り替える。そして必要に応じてロードおよびデコードを行い、要求された解像度に合わせて拡大／縮小することにより表示画像を生成する。なお、仮想空間におけるフレーム座標の代わりに、画像処理装置１０は、階層を特定する情報と、その階層におけるテクスチャ座標（ＵＶ座標）を導出してもよい。以下、階層特定情報およびテクスチャ座標の組み合わせも、フレーム座標と呼ぶ。
【００２７】
本実施の形態では、１つの画像を画面全面に表示させる態様に加え、独立して操作可能な複数の画像を同時に表示させる態様を実現する。以後、１つか複数かによらず画像を表示するための画面内の区画を「ビューポート」と呼ぶ。図３は画像データとして階層データを用いた場合に描画に用いるタイル画像のデータと表示画面の関係を模式的に示している。
【００２８】
この例では、風景写真の画像を第０階層２２０ａ、第１階層２２０ｂ、第２階層２２０ｃ、第３階層２２０ｄに階層化した風景画像データ２２０、および、風景写真に重ね合わせて表示したい文字情報を含む画像を第０階層２２２ａ、第１階層２２２ｂ、第２階層２２２ｃに階層化したインポーズ画像データ２２２を準備している。これらの階層データを用いて２つのビューポートで構成される画面例が画面２１０、２１２、２１４である。
【００２９】
まず画面２１０は、風景写真全体を画面全面に表示した第１のビューポート２１０ａと、文字情報の一部を画面右上に重ねて表示した第２のビューポート２１０ｂとからなる。第１のビューポート２１０ａの画像は、風景画像データ２２０のうち第１階層２２０ｂのタイル画像のデータを用いて描画する。第２のビューポート２１０ｂの画像は、インポーズ画像データ２２２のうち、第１階層２２２ｂの一部のタイル画像のデータを用いて描画する。ここで用いる階層は、各ビューポートのサイズと画像上の表示領域のサイズによって定まる解像度の最適値によって決定される。
【００３０】
画面２１２は、風景写真全体を画面全面に表示した第１のビューポート２１２ａと、風景写真の一部を拡大して重ねて表示した第２のビューポート２１２ｂとからなる。第１のビューポート２１２ａの画像は、画面２１０と同様、風景画像データ２２０のうち第１階層２２０ｂのタイル画像のデータを用いて描画する。第２のビューポート２１２ｂの画像は、同じ風景画像データ２２０のうち、より解像度の高い第２階層２２０ｃの一部のタイル画像のデータを用いて描画する。
【００３１】
画面２１４は、風景写真の一部を画面２１２よりさらに拡大して画面全面に表示した第１のビューポート２１４ａと、画面２１０より広範囲の文字情報をより拡大して画面左上に重ねて表示した第２のビューポート２１４ｂとからなる。第１のビューポート２１４ａの画像は、風景画像データ２２０のうち、最も解像度の高い第３階層２２０ｄの一部のタイル画像のデータを用いて描画する。第２のビューポート２１４ｂの画像は、インポーズ画像データ２２２のうち、解像度の高い第２階層２２２ｃの一部のタイル画像のデータを用いて描画する。
【００３２】
このように本実施の形態では１つまたは複数のビューポートを表示可能に構成し、ビューポート単位で独立して画像を描画する。そしてビューポートごとに拡大、縮小、スクロールといった表示領域移動要求を受け付ける。またビューポートの発生、消去、配置やサイズの変更要求も受け付ける。例えば画面２１０においての第１のビューポート２１０ａ内の部分領域２１１をユーザが指定し、それを拡大させる指示入力を行ったら、当該領域を表示した第２のビューポート２１２ｂを発生させる。そして拡大量に応じて第２のビューポート２１２ｂのサイズを広げていくことで画面２１２を表示できる。
【００３３】
このようにビューポートを複数設けることにより、臨機応変で自由な画像表現を実現できる。特に画像データを階層データとすると、画面２１２のように、同じ画像であっても解像度が大きく異なる複数の画像を同時に表示することができる。また風景画像とインポーズ画像など合成することを想定した異なる種類の画像であっても、それらを個別の階層データとすると、元から合成した画像データを準備するのと比較して表示態様のバリエーションを格段に増加させることができる。階層データやビューポートを複数としても、タイル画像単位での処理という観点では基本的な処理手順は変化しないため、データ制御が容易である。
【００３４】
図４は本実施の形態における画像処理装置１０のうち、主に制御部１００の構成をより詳細に示している。制御部１００は、入力装置２０からユーザが入力した情報を取得する入力情報取得部１０２、ユーザの入力に応じてビューポートを制御するビューポート制御部１０４、各ビューポートにおいて次に表示すべき画像の領域を決定する表示領域決定部１０６、新たにロードすべきタイル画像を決定しハードディスクドライブ５０から圧縮データをロードするロード部１０８を含む。制御部１００はさらに、圧縮データをデコードするデコード部１１０、および表示画像を描画する表示画像処理部１１４を含む。
【００３５】
図４において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、ＣＰＵ（Central Processing Unit）、メモリ、その他のＬＳＩで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。既述したように、制御部１００は１つのＰＰＵと複数のＳＰＵとを有し、ＰＰＵおよびＳＰＵがそれぞれ単独または協同して、各機能ブロックを構成できる。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００３６】
入力情報取得部１０２は、ユーザが入力装置２０に対して入力した、画像表示の開始／終了、画像ファイルの選択、表示領域の移動、ビューポートの操作などの指示内容を取得する。ビューポート制御部１０４は、入力情報取得部１０２から通知されたユーザの入力情報に従い、画面を構成するビューポートの数、配置、サイズを逐次決定する。例えば図３の画面２１０において部分領域２１１を指定して拡大する指示入力がなされたら、当該領域の拡大画像を表すビューポートを新たに生成し、元の画像の対応する領域に重ねて配置したうえ、拡大速度に応じて各時刻における当該ビューポートのサイズを決定する。このようにビューポート制御部１０４は、ユーザからの指示入力によってビューポートを変化させるほか、画像データとともに準備された設定に従いビューポートの配置やサイズを決定してもよい。
【００３７】
さらにビューポート制御部１０４は、入力情報取得部１０２から通知された表示領域移動要求の対象であるビューポートを、その配置に基づき特定することで、表示画像更新に係る後段の処理をビューポートごとに独立して行えるようにする。具体的には拡大、縮小、スクロール、といった操作内容と、その対象となったビューポートの識別情報とを対応づけて表示領域決定部１０６に通知する。表示領域決定部１０６、ロード部１０８、デコード部１１０、および表示画像処理部１１４がそれぞれ、ビューポートの識別情報に対応づけて各自の処理を行うことにより、ビューポートごとの表示画像制御が実現できる。
【００３８】
表示領域決定部１０６は、各ビューポートにおける現在の表示領域のフレーム座標とユーザが入力した表示領域移動要求の情報に従い、フレームレートで決定される各時刻のフレーム座標を決定する。またビューポートのサイズ変更に伴ってフレーム座標が変化する場合は、各時刻のフレーム座標の情報をビューポート制御部１０４から取得する。これらのフレーム座標の情報は、ロード部１０８、デコード部１１０、表示画像処理部１１４にそれぞれ通知される。
【００３９】
ロード部１０８は、表示領域決定部１０６からの情報に基づき、メインメモリ６０にロードしておくべきタイル画像を決定したうえ、まだロードされていないタイル画像がある場合に、当該タイル画像のデータをハードディスクドライブ５０からメインメモリ６０へロードする。メインメモリ６０にロードしておくべきタイル画像とは、表示領域決定部１０６から通知された表示領域に含まれるタイル画像のほか、その周囲の所定範囲内のタイル画像、および、過去のフレーム座標の推移から今後必要と予測される領域のタイル画像などである。直後の表示画像の描画に必要なタイル画像以外のデータについては、例えば所定の時間間隔で定期的にロードしてもよい。
【００４０】
同図ではメインメモリ６０に複数のタイル画像群６２のデータがロードされている様子を模式的に示している。ただしロード処理はタイル画像単位でもよいしタイル画像を複数個まとめた画像ブロック単位でもよい。各タイル画像のデータの識別情報を、ハードディスクドライブ５０に格納された元の階層データ、そのうちの階層、およびその画像上の位置に対応付けたインデックスデータ（図示せず）を別途準備しておくことにより、フレーム座標に基づいて描画に必要なタイル画像のデータを特定できる。したがってメインメモリ６０における格納順は特に限定されない。また階層データやビューポートの数によらず全ての画像データをタイル画像単位で一律に扱うことができる。
【００４１】
デコード部１１０は表示領域決定部１０６から取得したビューポートごとのフレーム座標の情報に基づき、メインメモリ６０から必要なタイル画像のデータを読み出してデコードし、バッファメモリ７０に格納する。同図ではバッファメモリに格納されたデータとして、２つのビューポートに対応する２枚分の表示画像のデータ７２ａ、７２ｂを模式的に示している。ただし実際には、表示するビューポートとの対応づけがなされていれば、データの格納順はメインメモリ６０同様、特に限定されない。
【００４２】
またビューポートの数によって対応する表示画像のデータの数も異なる。表示画像のデータ７２ａ、７２ｂは少なくとも、それぞれのビューポートにおける表示領域の画像を含む１つまたは複数のタイル画像のデータで構成される。好適には、各ビューポートに対し表示領域の周囲のタイル画像をより多くデコードしておくことにより、ユーザのスクロール要求に対し円滑な表示画像の更新を行える。また同じ領域を表す別の階層のタイル画像をデコードしておくことにより、拡大、縮小要求に対しても表示画像を円滑に更新できる。
【００４３】
表示画像処理部１１４は配置部１２０および描画部１２２を含む。配置部１２０はビューポート制御部１０４から通知されている各ビューポートの画面における配置およびサイズと、表示領域決定部１０６から通知されたフレーム座標に基づき、画面上の更新領域と、その更新に必要なタイル画像のデータとの対応づけを行う。描画部１２２は当該対応づけに従い、バッファメモリ７０からタイル画像のデータを読み出し、通知されたフレーム座標に基づき更新対象のビューポート内の表示画像を更新するように表示処理部４４のフレームメモリに表示画像を描画する。
【００４４】
図５はビューポート制御部１０４がビューポートを制御するために生成するパラメータを模式的に示している。図５において矩形１５０は表示装置１２のディスプレイ画面を表している。当該画面に対応するビューポートの識別番号を「０」、その上に重ねて表示する２つのビューポート１５２、１５４の識別番号をそれぞれ「１」、「２」とする。ビューポート制御部１０４は、各ビューポートの識別番号と、配置およびサイズ、例えば、左上の座標および横／縦の長さによってビューポートを管理する。
【００４５】
例えば図５に示すように、識別番号「０」のビューポート（矩形１５０）の左上の座標を（０，０）、横および縦の長さをそれぞれｗ０、ｈ０とすると、（０，（０，０），（ｗ０，ｈ０））なるデータセットを生成することによりビューポートを発生させる。同様に、ビューポート１５２に対し、（１，（ｘ１，ｙ１），（ｗ１，ｈ１））、ビューポート１５４に対し（２，（ｘ２，ｙ２），（ｗ２，ｈ２））なるパラメータが生成される。ユーザの操作などによりビューポートの配置およびサイズを変化させる必要が生じたら、識別情報以外の対応するパラメータを更新する。
【００４６】
ビューポート制御部１０４はさらに、各ビューポートの識別番号に、当該ビューポートに最初に表示する画像のフレーム座標を対応づける。図５の例は、表示対象として画像１５６および画像１６０が準備されており、画像１５６の全体領域のフレーム座標、画像１５６の一部の領域１５８のフレーム座標、画像１６０の一部の領域１６２のフレーム座標が、識別番号「０」、「１」、「２」のビューポートにそれぞれ対応づけられている様子を示している。ユーザのビューポート操作などによってビューポートのサイズが変化している間は、ビューポート制御部１０４が当該サイズの変化に応じて表示領域の範囲を増減させ各時刻のフレーム座標を決定する。
【００４７】
次に画像処理装置１０の基本的な動作について説明する。図６は画像処理装置１０が画像を表示する処理手順を示すフローチャートである。まずユーザによる画像データの選択、表示開始などの指示入力により初期画像を表示する（Ｓ１０）。この処理は、初期画像として定められた画像のデータをロードし、デコード、描画することによってなされる。ユーザが新たなビューポートを生成させたり、元からあるビューポートの配置やサイズを変化させるなど、ビューポートの領域を変更する操作を行ったら（Ｓ１２のＹ）、ビューポート制御部１０４は、当該操作に従いビューポートの配置・サイズを算出する（Ｓ１４）。
【００４８】
さらにビューポート制御部１０４は、当該ビューポートに表示すべき表示領域のフレーム座標を算出する（Ｓ１６）。ビューポートを徐々に変化させていく場合、Ｓ１４とＳ１６の処理を各時刻に対して行う。ビューポートの配置とサイズの情報はビューポートの識別番号と対応づけて表示画像処理部１１４に、フレーム座標の情報はビューポートの識別番号と対応づけて表示領域決定部１０６に通知する。これにより、ロード部１０８、デコード部１１０がロード、デコードしたタイル画像のデータを用いて、表示画像処理部１１４が適切な位置にビューポートを配置し表示画像を更新する（Ｓ２２）
【００４９】
一方、ビューポートの領域を変更する操作が行われず、その内部の表示領域を移動させる操作が行われたら（Ｓ１２のＮ、Ｓ１８のＹ）、ビューポート制御部１０４は、対象となるビューポートの識別番号を対応づけて当該表示領域移動要求信号をそのまま表示領域決定部１０６に通知する。これを受けて表示領域決定部１０６は、対象となるビューポートのそれまでのフレーム座標に表示領域移動要求信号による移動分を加算した新たなフレーム座標を算出する（Ｓ２０）。
【００５０】
そしてロード部１０８、デコード部１１０、表示画像処理部１１４の協働により、対象となるビューポートの表示画像が更新される（Ｓ２２）。ユーザが画像表示を終了させる指示入力を行わない間は（Ｓ２４のＮ）、Ｓ１２からＳ２２までの処理を繰り返し、終了させる指示入力がなされたら処理を終了する（Ｓ２４のＹ）。なお入力装置２０には、Ｓ１２とＳ１８の分岐判定、すなわちビューポートの領域を変更するか、その内部の表示領域を移動させるかを決定づける操作手段を設けておく。あるいはタッチパネルなどに対する操作手順に規則を設け、実際になされた操作手順と比較することにより判定してもよい。
【００５１】
図７は上記の装置構成によって実現できる表示画面の例を示す。同図の例は旅行ガイドの電子書籍を想定しており、画面２３０はその目次の１ページを俯瞰した画像を表示している。このときビューポートは画面全面からなる第１のビューポート１つである。画面２３０において、ユーザが興味のある項目の領域２３２を指定したうえ拡大操作を行うと、ビューポート制御部１０４は指定された領域の拡大画像を表示するための第２のビューポートを新たに発生させる。そして拡大操作に応じて第２のビューポートの面積を増加させるとともにフレーム座標を拡大方向に変化させる。第２のビューポートの配置はユーザが移動させることにより決定してもよいし、あらかじめ定めた規則に従い決定してもよい。
【００５２】
これに従いロード部１０８が必要に応じて階層を変化させたタイル画像のデータをロードし、デコード部１１０がデコードする。それを用いて表示画像処理部１１４が第２のビューポートの内部に表示領域の画像を描画することにより、第１のビューポートに、第２のビューポート２３６を重ねた画面２３４が表示される。第２のビューポート２３６に表示される画像を、第１のビューポートの画像より解像度の高い階層のデータを用いて描画することにより、より鮮明な拡大画像を表示できる。
【００５３】
画面２３０における領域２３２の指定は、あらかじめ元の画像の項目ごとに設定した領域のうちいずれかを入力装置２０を用いて選択するようにしてもよいし、入力装置２０を構成するポインティングデバイスやタッチパネルなどを用いてユーザが自由に領域指定を行えるようにしてもよい。本実施の形態は表示画像の任意の領域について、描画に用いる階層を切り替えて拡大、縮小を行えるため、後者のような自由な領域指定にも対応できる。
【００５４】
画面２３４において、第１のビューポートに表示されていた目次画像は、画面２３０より右側にずれた状態で表示されている。このようなスクロールは、ユーザにより行われてもよいし、第２のビューポート２３６の配置を決定する際、重複領域が小さくなる方向へ画像をずらすなどの規則をあらかじめ設定しておいてもよい。この場合、ビューポート制御部１０４が、第１のビューポートの表示画像のフレーム座標を新たに決定して表示領域決定部１０６に通知する。
【００５５】
画面２３４において第２のビューポート２３６のうち写真が表示されている領域２３７を指定したうえでさらに拡大操作がなされると、ビューポート制御部１０４は、例えばビューポートを１つに戻し、指定された領域の拡大画像のみからなる画面２４０を表示させる。例えば拡大要求に合わせてビューポート自体のサイズを広げていき、画面のサイズと同一になったときに元から存在した第１のビューポートを消去する。あるいは拡大率にしきい値を設け、拡大要求によって拡大率が所定のしきい値を超えたら拡大画像が画面全体に表示されるようにしてもよい。
【００５６】
このとき、元の目次画像の階層データのうち、さらに解像度の高い階層のデータを用いて指定領域の拡大画像を描画してもよいし、電子書籍の本文ページのうち指定された項目に対応するページの画像へ表示を切り替えてもよい。後者の場合、ビューポート制御部１０４が、切り替え後の画像の階層データの識別情報をフレーム座標とともに表示領域決定部１０６に通知する。それに従いロード部１０８が、当該階層データのタイル画像をハードディスクドライブ５０からロードすれば、その後の処理は階層データによらず同様となる。
【００５７】
一方、画面２３４において、第１のビューポートの別の領域２３８を指定したうえで拡大操作がなされたら、ビューポート制御部１０４は、画面２３４に表示されていた第２のビューポート２３６を消去したうえ、指定された領域の拡大画像を表示する第３のビューポート２４４を発生させる。その結果、第１のビューポートに、新たな拡大画像が表示された第３のビューポート２４４を重ねた画面２４２が表示される。あるいは画面２３４の第２のビューポート２３６を消去せずに、その表示画像を、新たに指定された領域２３８の画像へ更新するようにしてもよい。
【００５８】
図７の例は、指定した領域を拡大する操作に対して実現される画面の遷移例であったが、上述のとおり本実施の形態はビューポートごとに独立して拡大、縮小、スクロールが行えるため、表示できる画面はこれらに限らない。例えば第２のビューポート２３６における画像をスクロールさせ、隣接する項目を表示させることもできる。
【００５９】
また入力装置２０の入力手段に適宜割り付けを行うことにより、画面２３４や画面２４２に表示されている第２、第３のビューポートを消去したり、画面２４０において元の目次画像を表示するビューポートを新たに表示させたりできるようにする。これらの構成により、同じ画像でも領域ごとに拡大率を変化させたり異なる画像を重ねて表示したり、といった画像表現を自由に行えるうえ、所望の情報へ到達しやすいコンテンツを実現できる。
【００６０】
図７に示した例では、複数のビューポートを画面上で重ね合わせることにより様々な画像表現を行った。この場合、ビューポートの数や面積が増えるほど、描画に必要なタイル画像の数が増えることになる。処理対象のタイル画像の数が増加すると、データのロード処理やデコード処理の負荷が増えるとともに、データ転送に要する帯域幅、メインメモリ６０やバッファメモリ７０におけるデータ格納領域など、必要なリソースが増加することになる。
【００６１】
一方、表示対象の画像を階層データで準備すると、どのような装置で表示を行っても、ディスプレイの面積に応じた階層を処理対象として適宜選択することにより、各装置のリソースに相応かつ定常的な数のタイル画像の処理のみで画像を同様に表示できるという利点がある。上述のようにビューポートの数や面積を可変とすると、必要なリソース量が安定しないため、場合によっては階層データの上記利点を損なう可能性が生じる。そこで、階層データの利点を維持しつつ、複数のビューポートを利用した自由な画像表現を実現するための手法について次に説明する。なお以後に説明する手法は、これまで説明した態様と適宜組み合わせることができる。
【００６２】
図８はビューポートの数によらずリソース消費量を一定とするために、ビューポートの合計面積を不変とする手法を説明するための図である。同図において画面２６０は、例えば図７の画面２４０のように、目次画像に含まれる写真を拡大した画像を表示する第１のビューポート２６２のみからなる。すなわち目次画像の階層データ２７０を処理対象とし、そのうち第３階層の一部の領域２７２のタイル画像のデータを用いて表示画像が描画されている。
【００６３】
画面２６０には第１のビューポート２６２のほか、画面左端に帯状に示されたタグ２６４を表示する。タグ２６４は、画像全体、図８の例では目次画像の全体を表示する第２のビューポートを発生させるためのＧＵＩ（Graphical User Interface）である。ただし形状や位置はこれに限定されない。画面２６０において、ユーザが入力装置２０を介してタグ２６４を指示したら、タグ２６４が第２のビューポート２６８へ替わり、右方向へのスクロール操作に応じて第２のビューポート２６８を徐々に出現させる（画面２６６、２６９）。好適には入力装置２０を画面上のタッチパネルとし、指で第２のビューポート２６８を引き出すようにすると直感的な操作を実現できる。
【００６４】
この表示変化により、第２のビューポート２６８の面積が増えていくことになる。このとき、第１のビューポート２６２の表示画像のうち、第２のビューポート２６８の重なりによって隠蔽される領域を描画対象から外していくことにより、第１、第２のビューポートの面積の合計を一定にする。図８に示すように第２のビューポート２６８の表示画像を階層データ２７０の第１階層で描画するとすると、画面２６６では、第１階層の画像のうち画面に表出している右半分の領域２７４のタイル画像のデータを用いて第２のビューポート２６８が描画される。
【００６５】
また目次画像全体が表示されている画面２６９では、第１階層の画像全体の領域２７８のタイル画像のデータを用いて第２のビューポート２６８が描画される。一方、第１のビューポート２６２は、画面２６０、２６６、２６９と変化するにしたがい、隠蔽部分を描画対象から外すことにより、第３階層の領域２７２、２７６、２８０と、描画に必要なタイル画像の数が減少していく。結果として図８の例ではどの画面の状態でも、全てのビューポートの画像の描画に必要なタイル画像の数の合計は６つとなる。
【００６６】
実際には、表示領域の境界線とタイル画像の区切りとの位置関係や、投機的にデコードしておくべき表示領域の周囲のタイル画像の数によって、処理対象のタイル画像の数には多少の増減が生じる。しかし当該増減を考慮しても、このように隠蔽領域を描画対象から外すことにより、必要なリソース量をおよそ定常的にすることができる。例えばメインメモリ６０やバッファメモリ７０において、不必要となったタイル画像のデータを無効化することにより、新たなビューポートのためのタイル画像のデータを上書きでき、必要なメモリ容量が増加しない。
【００６７】
なお図８の例は１つの階層データを用いて２つのビューポートを表現していたが、それぞれのビューポートの表示画像を別の階層データを用いて描画してもよい。また表示対象の画像データには、階層データのみならず１つの解像度からなる画像データが含まれていてもよい。
【００６８】
また上述したように、各ビューポートはそれぞれ独立に表示画像を制御可能に構成されるため、例えば画面２６６において第１のビューポート２６２の表示画像を拡大、縮小、スクロールさせたり、第２のビューポート２６８を逆方向にスクロールさせてしまい込むようにすることもできる。また画面２６９の第２のビューポート２６８において目次画像のいずれかの項目や写真の領域を指定すると、第１のビューポート２６２に、指定された領域の画像が拡大表示されたり、対応する本文ページの画像が表示されたりするようにしてもよい。
【００６９】
図９はビューポートの合計面積を不変としたときの別の画面例を示している。この例の表示対象は文章と写真が混在するページの画像を想定している。まず画面２８２は、ページ全体を表示する１つのビューポートからなる。この画面２８２においてユーザが、文章の領域２８４を指定する入力を行うと、画面２８６に示すように、文章をより見やすく拡大した第２のビューポート２９０を画面下から出現させる。例えば入力装置２０を画面上のタッチパネルとし、画面２８２において文章の領域２８４内に所定時間以上触れると、第２のビューポート２９０の上端が画面下端に表れるようにする。
【００７０】
そして第２のビューポート２９０を上側にスクロール操作することにより、ユーザが文章を読み進めることができるようにする（画面２８８）。第２のビューポート２９０の面積には上限を設け、当該上限に到達した後は、ビューポートの面積を変化させずスクロール操作によって内部の文章のみがスクロールするようにしてもよい。
【００７１】
図９の左側に示すように、第２のビューポート２９０に表示させる画像として、文章のみを抽出した画像２９２のデータを、元のページ画像２９４と別に準備してもよい。このとき、元のページ画像２９４における文章と写真の対応関係に基づき、同図矢印のように、文章のみの画像２９２の領域と元のページ画像２９４における写真領域とを対応づけた情報を準備しておき、第２のビューポート２９０における文章のスクロールに伴い、対応する写真が第１のビューポートに表示されるようにしてもよい。なお文章の領域と写真の領域が元からコラム状に分離しているページ画像の場合は、同一の画像データで同様の態様を実現できる。
【００７２】
図１０、１１はビューポートの数によらずリソース消費量を一定とするために、描画に用いる階層を調整する手法を説明するための図である。図１０の画面３００は、図８の画面２６０と同様、目次画像の階層データ３１０のうち第３階層の一部の領域３１４のタイル画像のデータを用いて、第１のビューポート３０２に写真を拡大した画像を表示している。そして画面左端にはタグ３０４が表示されている。
【００７３】
画面３００においてユーザがタグ３０４を指示し、それを右方向に移動させるスクロール操作を行うと、画面３０６に示すように、目次画像の全体を表示する第２のビューポート３０８がタグ３０４の位置から引き出されるように出現する。この点は図８の場合と同様である。しかし図１０、１１においては、第１のビューポート３０２の表示画像をそのまま残し、その代わりに第２のビューポート３０８の描画に用いる階層を本来用いるべき階層より低い解像度のものとする。
【００７４】
図８で示したように、第２のビューポート３０８のサイズで画像全体を表示させるのに適正な階層が第１階層であったとすると、図１０、１１の手法では、第２のビューポート３０８を、それより解像度の低い第０階層のデータを用いて描画する。この例では第０階層は１つのタイル画像３１６で構成されているため表示領域の変化によってタイル画像数は変化しない。表示画像処理部１１４は、タイル画像３１６を第２のビューポート３０８のサイズまで拡大する。
【００７５】
第１のビューポート３０２は、階層データ３１０のうち画面３００の描画に用いたのと同じ、第３階層の領域３１４のタイル画像のデータを用いて描画する。図１０に示すように、画面３０６において、第２のビューポート３０８の画像全体、または背景のみを半透明とすることにより、それに重なっている第１のビューポート３０２の領域が見えるようにしてもよい。
【００７６】
第２のビューポート３０８を継続してスクロールしていくと、図１１の画面３１２に示すように、第２のビューポート３０８の目次画像全体が表れた状態となる。このときも、階層データ３１０のうち、第２のビューポート３０８は第０階層のタイル画像３１６のデータを用いて、第１のビューポート３０２は第３階層の領域３１４のタイル画像のデータを用いて、それぞれ描画される。
【００７７】
そしてユーザがスクロール操作を停止させた時点で、第２のビューポート３０８の描画に用いる階層を適正なものとし、第１のビューポート３０２の表示画像のうち、第２のビューポート３０８の重なりによって隠蔽される領域を描画対象から外す。その結果表示される画面３２０は図８の画面２６９と同様である。つまり第１のビューポート３０２は第３階層の小さい領域３１８、第２のビューポート３０８は第１階層の領域３１９のタイル画像のデータを用いてそれぞれ描画される。なお画面３１２から３２０への切り替えは、第２のビューポート３０８の目次画像全体が表示されたときに限らず、ユーザがスクロール操作を停止させた時点であればよい。
【００７８】
一般的に、スクロール中の画像の詳細にまで注意が払われることは少なく、スクロールを停止させた時点で初めて当該画像が注目されることが多い。画面上のタッチパネルを用い、画面が指で隠れる状態でスクロール操作を行う場合は特にその傾向が強くなる。つまりスクロール途中では、多少、粗い画質の画像としてもユーザに与えるストレスは小さいと考えられる。
【００７９】
この特性を利用し、スクロール途中のビューポートについては、解像度の低い階層のタイル画像を拡大して表示画像を生成し、スクロールが停止した時点で適正な階層の画像データを用いるようにする。このようにユーザの注目度を推定し、それに応じて描画に用いる階層を切り替えてタイル画像の数を調整することにより、ビューポートがどのような状態にあっても処理すべきタイル画像の数の変動を抑えられ、必要なリソース量をおよそ定常的にすることができる。
【００８０】
図１０、１１の例は新たに出現させた第２のビューポート３０８のスクロールが停止するまで解像度の低い階層のデータを用いた例であったが、元から表示されていたビューポート内の表示画像をスクロールする場合も同様の処理を行うことで、処理すべきタイル画像数の変動を抑えられる。例えばユーザがスクロールを高速で行った場合、円滑な画像遷移のためには上述のとおり、以後の表示領域の移動先を予測し、より広範囲のタイル画像のデータを投機的にロード、デコードしておく必要がある。
【００８１】
結果としてスクロール速度に応じて処理すべきタイル画像数が変動することになる。そこでスクロール速度が所定のしきい値を超えている期間は、描画に用いる階層を解像度の低い階層に切り替え、それを拡大表示する。スクロールが速い期間、ユーザがスクロール中の画像を詳細に確認している可能性は低いため、このようにしても画像の閲覧に支障をきたすことがない。結果として常に同程度の数のタイル画像を処理すればよくなり、リソース消費量の変動を抑えられる。
【００８２】
図１２は描画に用いる階層を調整したときの別の画面例を示している。この例は風景写真の画像の階層データ３５０と、風景写真に重ね合わせて表示したい文字情報を含むインポーズ画像の階層データ３５２を用いた場合に表示できる様々な画面を示している。まず画面３３０は、風景画像の全体を、ディスプレイのサイズに適した解像度である第２階層３５３のタイル画像を用いて描画した第１のビューポート３３１のみからなる。ここでユーザが領域３３２を指定して拡大指示を入力すると、画面３３４に示すように、当該領域の拡大画像を表示する第２のビューポート３３６が発生する。
【００８３】
第２のビューポート３３６の画像は、そのサイズで当該領域を表示するのに適切な解像度を有する第３階層の領域３５４のタイル画像のデータを用いて描画する。このときユーザの注目は第２のビューポート３３６にあると推測されるため、第１のビューポート３３１の描画に用いる階層を第２階層３５３から第１階層３５６に切り替えることにより、処理対象のタイル画像の数を減らす。
【００８４】
なお画面３３０から画面３３４への遷移途上において、第２のビューポート３３６を拡大している期間は、第２のビューポート３３６の表示に用いる階層をより低解像度の階層としてもよい。これは上述のスクロール操作の場合と同様、タッチパネルを用いて指により拡大操作を行うときは特に、拡大中の画像への注目度が低いと考えられるためである。
【００８５】
画面３３４において、第２のビューポート３３６のサイズを広げる操作がなされ、その範囲がディスプレイ全面に及んだら、画面３３８に示すように、元の第１のビューポート３３１を消去する。このようにビューポートのサイズを広げる操作を受け付ける機能を、例えば画像処理装置１０の背面に別途設けたタッチパネルに割り付けると、前面すなわち画面上のタッチパネルにおける表示画像の拡大操作と切り分けることができる。この場合、表示画像が指で隠れることがないため、遷移途上においても第２のビューポート３３６は同じ高解像度の第３階層のデータで描画する。
【００８６】
なお同様の理由により、背面に設けたタッチパネルを高品質な画像のままの低速な拡大操作、前面に設けたタッチパネルを粗い画質の高速な拡大操作に用いるようにしてもよい。画面３３８ではさらに、インポーズ画像の一部を表示した第３のビューポート３４０を画面右端から出現させる。これは図８などで示したタグを操作することによってスクロール操作により表示させてもよいし、入力装置２０の入力手段のいずれかにそのような機能を割り当ててもよい。
【００８７】
画面３３８の第２のビューポート３３６の画像は、風景画像の階層データ３５０のうち、画面３３４を表示するのに用いた第３階層の領域３５４をさらに広げた領域３５８のタイル画像のデータを用いて描画する。一方、第３のビューポート３４０の画像は、インポーズ画像の階層データ３５２のうち、適切な解像度を有する第２階層より低い解像度である第１階層の領域３６０のタイル画像のデータを用いて描画する。これは上述したのと同様、スクロール途中の画像への注目度が低いと推測されるためである。このとき第３のビューポート３４０の画像の背景を透明や半透明とする。
【００８８】
そして第３のビューポート３４０のスクロール操作が停止したら（画面３４２）、第３のビューポート３４０の描画に用いるデータを適正な解像度を有する第２階層の領域３６４に切り替えるとともに、第２のビューポート３３６のうち第３のビューポート３４０により隠蔽される領域を描画対象から外す。結果として、風景画像の階層データ３５０のうち描画に用いるタイル画像は、画面３３８で用いた領域より小さい領域３６２となる。画面３４２は図９で示した態様と同様の状態であるため、例えば第３のビューポート３４０内の文字情報のスクロールにより、第２のビューポート３３６の画像を、表示中の文字情報に対応づけた画像へ切り替えるなどの処理を同様に行うことができる。
【００８９】
このようにビューポートのスクロール以外にも、指定された領域を拡大させたビューポートを発生させたり、複数の階層データによってそれぞれのビューポートを生成したりする場合でも、推定される注目度などに応じて適宜用いる階層を切り替えることにより、処理対象となるタイル画像の数の変動を抑え、リソース消費量を定常的にすることができる。
【００９０】
以上述べた本実施の形態によれば、ユーザによる操作やあらかじめ設定した規則によって、表示画面を構成するビューポートの数や配置を可変とし、ビューポートに対応づけてフレーム座標を決定することにより、ビューポートごとに独立した表示領域移動を行えるようにする。これにより写真と文字など複数の画像を合成して表示する場合に、どちらか一方のみをスクロールさせたり拡大、縮小させたりすることができ、自由な画像表現を実現できる。
【００９１】
ここで画像データを、異なる解像度のデータを階層化した階層構造とすると、拡大、縮小をよりダイナミックに表現できるとともに、１つの画像でも解像度の著しく異なる画像を別のビューポートで同時に表示することもできる。さらに全ての画像データを所定のサイズで区切ったタイル画像単位で扱うことにより、複数の画像を表示対象としてもロード処理やデコード処理を同様に行うことができ、簡易な装置構成でも複雑な画像表現が実現できる。
【００９２】
さらに複数のビューポートを重ねて表示する状況においては重なりにより隠蔽される部分を描画対象から外す。あるいはスクロール途中のビューポートなどユーザによる注目度が低いと予測されるビューポートの画像は、低い解像度の画像データを用いて描画する。これらの措置によって、ビューポートの数や面積を可変としても、描画に用いるデータの量をおよそ一定に保つことができ、リソース消費量の変動を抑えることができる。このことは、汎用性のある階層データを利用して多様な装置で同様の画像表示を実現する技術においては特に有効である。
【００９３】
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【符号の説明】
【００９４】
例えば本実施の形態では、処理対象として主に階層データを用いた場合を説明したが、１つの解像度からなる画像データを用いてもよい。例えばそのような画像データを本実施の形態と同様にタイル画像に分割して処理すれば、画像データの数やビューポートの数によらずタイル画像単位の同様の処理により、自由な画像表現を実現できる。また重なり合うビューポートに対し本実施の形態と同様の調整を行うことにより、処理対象のタイル画像の数をおよそ一定にすることができるなど同様の効果が得られる。
【００９５】
階層データとするか否かに関わらず、処理対象の画像は静止画でも動画でもよい。ウェブブラウザの表示画面を画像化したものなどでもよい。このような場合、装置において各種言語や多くのサイズのフォントデータを準備することなく、拡大、縮小など自由な画像操作を行っても正確かつ鮮明な画像を常に表示させることができる。
【００９６】
１０  画像処理装置、  １２  表示装置、  ２０  入力装置、  ３０  第０階層、  ３２  第１階層、  ３４  第２階層、  ３６  第３階層、  ４４  表示処理部、  ５０  ハードディスクドライブ、  ６０  メインメモリ、  ７０  バッファメモリ、  １００  制御部、  １０２  入力情報取得部、  １０４  ビューポート制御部、  １０６  表示領域決定部、  １０８  ロード部、  １１０  デコード部、  １１４  表示画像処理部、  １２０  配置部、  １２２  描画部。
【図１】
0005792607.tif 000002
【図２】
0005792607.tif 000003
【図３】
0005792607.tif 000004
【図４】
0005792607.tif 000005
【図５】
0005792607.tif 000006
【図６】
0005792607.tif 000007
【図７】
0005792607.tif 000008
【図８】
0005792607.tif 000009
【図９】
0005792607.tif 000010
【図１２】
0005792607.tif 000011
【図１０】
0005792607.tif 000012
【図１１】
0005792607.tif 000013