説明

画像処理装置、画像データ生成装置、画像処理方法、画像データ生成方法、および画像ファイルのデータ構造

【課題】画像表示時の表示領域の変化に対し画質と応答性を両立させる。
【解決手段】合成して表示画像となる構成画像221a、221bをそれぞれタイル画像に分割し、異なる圧縮形式でタイル画像ごとに圧縮する(S12)。また構成画像221a、221bをそれぞれ縮小し(S14)、それぞれをタイル画像に分割して各圧縮形式で圧縮する(S16)。さらに画像222の2つの構成画像を合成したうえで縮小し(S18)、タイル画像に分割して圧縮する(S20)。さらに、画像224を縮小して最上層の画像226を生成し(S22)、それをタイル画像に分割して同様に圧縮する(S24)。このようにして生成した階層データのうち、副階層を有するデータ群228、およびデータ群230の階層については、同じ領域を表すタイル画像の複数の圧縮データ(例えばデータ236)をまとめて1つのタイル画像のデータとする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、表示領域の移動要求に対し表示領域を変化させて画像を表示する画像表示技術に関する。
【背景技術】
【0002】
ゲームプログラムを実行するだけでなく、動画を再生できる家庭用エンタテインメントシステムが提案されている。この家庭用エンタテインメントシステムでは、GPUがポリゴンを用いた三次元画像を生成する(例えば特許文献1参照)。
【0003】
動画、静止画に関わらず、画像をいかに効率よく表示するかは常に重要な問題となる。そのため画像データの圧縮技術、伝送技術、画像処理技術、表示技術など多方面で様々な技術が開発、実用化され、高精細な画像を多様な場面で身近に楽しめるようになってきた。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】米国特許第6563999号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
高精細な画像をユーザの要求に従い応答性よく表示させたい、という要求は常に存在する。例えば表示させた全体画像のうちユーザが着目したい領域を拡大して表示させたり別の領域に移動したり、といった、ユーザの視点に対し自由度のある画像表示を応答性よく実現するためには、サイズの大きな画像データを短時間で処理しつつランダムアクセスをも可能にしなければならず、さらなる技術の進歩が求められている。
【0006】
本発明はこのような課題に鑑みてなされたものであり、その目的はユーザによる表示領域に係る操作入力に対し応答性よく高精細な画像を表示することのできる画像処理技術を提供することにある。
【課題を解決するための手段】
【0007】
本発明のある態様は画像処理装置に関する。この画像処理装置は、入力された表示領域移動要求に応じて表示領域を変化させて画像を表示する画像処理装置であって、重ね合わせて表示することにより表示画像となる複数の構成画像のデータを、それぞれ所定のサイズで分割してなるタイル画像ごとに圧縮した圧縮データを格納する画像データ記憶部と、画像データ記憶部に格納された圧縮データのうち、表示領域に対応するタイル画像の圧縮データを、構成画像のそれぞれについて読み出しデコードするデコード部と、デコード部がデコードした複数の構成画像のタイル画像を重ね合わせて合成し、表示領域の画像を生成して表示装置に表示する表示画像処理部と、を備えたことを特徴とする。
【0008】
本発明の別の態様は画像データ生成装置に関する。この画像データ生成装置は、重ね合わせて表示することにより表示画像となる複数の構成画像の指定を受け付け、各構成画像のデータを、それぞれ所定のサイズで分割してなるタイル画像ごとに圧縮するタイルデータ生成部と、タイルデータ生成部が生成した圧縮データのうち、表示画像上で同じ領域を表す、各構成画像のタイル画像の圧縮データをつなげて複合データを生成し、表示画像上の位置と対応づけることにより、表示画像の画像データとして記憶装置に出力する複合データ生成部と、を備えたことを特徴とする。
【0009】
本発明のさらに別の態様は画像処理方法に関する。この画像処理方法は、画像処理装置が、入力された表示領域移動要求に応じて表示領域を変化させて画像を表示する画像処理方法であって、重ね合わせて表示することにより表示画像となる複数の構成画像のデータを、それぞれ所定のサイズで分割してなるタイル画像ごとに圧縮した圧縮データを格納する記憶装置から、表示領域に対応するタイル画像の圧縮データを、構成画像のそれぞれについて読み出すステップと、読み出した各構成画像の圧縮データをデコードするステップと、デコードした複数の構成画像のタイル画像を重ね合わせて合成し、表示領域の画像を生成して表示装置に表示するステップと、を含むことを特徴とする。
【0010】
本発明のさらに別の態様は画像データ生成方法に関する。この画像データ生成方法は、画像データ生成装置が画像データを生成する方法であって、重ね合わせて表示することにより表示画像となる複数の構成画像の指定を受け付けるステップと、メモリより各構成画像のデータを読み出し、それぞれ所定のサイズで分割してなるタイル画像ごとに圧縮するステップと、生成した圧縮データのうち、表示画像上で同じ領域を表す、各構成画像のタイル画像の圧縮データをつなげて複合データを生成し、表示画像上の位置と対応づけることにより、表示画像の画像データとして記憶装置に出力するステップと、を含むことを特徴とする。
【0011】
本発明のさらに別の態様は画像ファイルのデータ構造に関する。このデータ構造は、画像処理装置において入力された表示領域移動要求に応じて表示領域を変化させて表示される画像ファイルのデータ構造であって、重ね合わせて表示することにより表示画像となる複数の構成画像のデータを、それぞれ所定のサイズで分割してなるタイル画像ごとに圧縮した圧縮データのうち、表示画像上で同じ領域を表す、各構成画像のタイル画像の圧縮データをつなげた複合データと、表示画像上の位置とを対応づけることにより、画像処理装置において、表示領域に対応する複合データが特定され、当該複合データに含まれる圧縮データがそれぞれデコードされ合成されて表示されることを特徴とする。
【0012】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0013】
本発明によると、要求される画質を維持しつつユーザの指示に対し応答性よく画像を表示できる。
【図面の簡単な説明】
【0014】
【図1】本実施の形態に適用できる画像処理システムの使用環境を示す図である。
【図2】図1の画像処理システムに適用できる入力装置の外観構成例を示す図である。
【図3】本実施の形態における画像処理装置の構成を示す図である。
【図4】本実施の形態において使用する画像データの階層構造の概念図である。
【図5】本実施の形態において、副階層とする画像と最終的な表示画像の関係を説明するための図である。
【図6】本実施の形態における画像データ生成装置の構成を詳細に示す図である。
【図7】本実施の形態における画像データ生成装置による画像データ生成処理の手順を模式的に示す図である。
【図8】本実施の形態における複合データの構造を模式的に示す図である。
【図9】本実施の形態における画像処理装置の制御部の構成を詳細に示す図である。
【図10】本実施の形態において画像処理装置がユーザからの表示領域移動要求に応じて画像を表示する処理手順を示すフローチャートである。
【発明を実施するための形態】
【0015】
本実施の形態において処理対象とする画像のデータは、原画像を複数段階に縮小して生成した異なる解像度の画像からなる階層構造を有する。各階層の画像は一又は複数のタイル画像に分割する。たとえば最も解像度の低い画像は1つのタイル画像で構成し、最も解像度の高い原画像は、最も多い数のタイル画像で構成する。画像表示時は、描画に使用しているタイル画像を、表示画像が所定の解像度になったときに異なる階層のタイル画像に切り替えることで、拡大表示または縮小表示を迅速に行う。
【0016】
まず、このような階層構造を有する画像の基本的な表示態様について説明する。図1は、本発明の実施の形態を適用できる画像処理システムの使用環境を示す。画像処理システム1は、画像処理を含むアプリケーションプログラムを実行する画像処理装置10と、画像処理装置10による処理結果を出力する表示装置12とを備える。表示装置12は、画像を出力するディスプレイおよび音声を出力するスピーカを有するテレビであってよい。
【0017】
表示装置12は、画像処理装置10に有線ケーブルで接続されてよく、また無線LAN(Local Area Network)などにより無線接続されてもよい。画像処理システム1において、画像処理装置10は、ケーブル14を介してインターネットなどの外部ネットワークに接続し、階層化された圧縮画像データを含むコンテンツなどをダウンロードして取得してもよい。なお画像処理装置10は、無線通信により外部ネットワークに接続してもよい。
【0018】
画像処理装置10は、ユーザからの要求に応じて、表示装置12のディスプレイに表示する画像の拡大/縮小処理や、上下左右方向へのスクロール処理など、表示領域を変更する処理を行う。ユーザが、ディスプレイに表示された画像を見ながら入力装置を操作すると、入力装置が、表示領域の移動要求信号を画像処理装置10に送信する。
【0019】
図2は、入力装置20の外観構成例を示す。入力装置20は、ユーザが操作可能な操作手段として、十字キー21、アナログスティック27a、27bと、4種の操作ボタン26を備える。4種の操作ボタン26は、○ボタン22、×ボタン23、□ボタン24および△ボタン25から構成される。
【0020】
画像処理システム1において、入力装置20の操作手段には、表示画像の拡大/縮小要求、および上下左右方向へのスクロール要求を入力するための機能が割り当てられる。たとえば、表示画像の拡大/縮小要求の入力機能は、右側のアナログスティック27bに割り当てられる。ユーザはアナログスティック27bを手前に引くことで、表示画像の縮小要求を入力でき、また手前から押すことで、表示画像の拡大要求を入力できる。
【0021】
また、上下左右方向へのスクロール要求の入力機能は、十字キー21に割り当てられる。ユーザは十字キー21を押下することで、十字キー21を押下した方向への移動要求を入力できる。なおこれらの要求の入力機能は別の操作手段に割り当てられてもよく、たとえばアナログスティック27aに、スクロール要求の入力機能が割り当てられてもよい。以後、表示画像の拡大/縮小、および上下左右方向へのスクロールをまとめて「表示領域の移動」と呼ぶ場合もある。
【0022】
入力装置20は、入力された表示領域移動要求信号などを画像処理装置10に伝送する機能をもち、本実施の形態では画像処理装置10との間で無線通信可能に構成される。入力装置20と画像処理装置10は、Bluetooth(ブルートゥース)(登録商標)プロトコルやIEEE802.11プロトコルなどを用いて無線接続を確立してもよい。なお入力装置20は、画像処理装置10とケーブルを介して接続して、表示領域移動要求信号などを画像処理装置10に伝送してもよい。
【0023】
図3は画像処理装置10の構成を示している。画像処理装置10は、無線インタフェース40、スイッチ42、表示処理部44、ハードディスクドライブ50、記録媒体装着部52、ディスクドライブ54、メインメモリ60、バッファメモリ70および制御部100を有して構成される。表示処理部44は、表示装置12のディスプレイに表示するデータをバッファするフレームメモリ(図示せず)を有する。
【0024】
スイッチ42は、イーサネットスイッチ(イーサネットは登録商標)であって、外部の機器と有線または無線で接続して、データの送受信を行うデバイスである。スイッチ42は、ケーブル14を介して外部ネットワークに接続し、サーバから画像データを受信できるように構成される。またスイッチ42は無線インタフェース40に接続し、無線インタフェース40は、所定の無線通信プロトコルで入力装置20と接続する。入力装置20においてユーザから入力された信号は、無線インタフェース40、スイッチ42を経由して、制御部100に供給される。
【0025】
ハードディスクドライブ50は、データを記憶する記憶装置として機能する。スイッチ42を介して受信された画像データは、ハードディスクドライブ50に格納される。記録媒体装着部52は、メモリカードなどのリムーバブル記録媒体が装着されると、リムーバブル記録媒体からデータを読み出す。ディスクドライブ54は、読み出し専用のROMディスクが装着されると、ROMディスクを駆動して認識し、データを読み出す。ROMディスクは、光ディスクや光磁気ディスクなどであってよい。画像データはこれらの記録媒体に格納されていてもよい。
【0026】
制御部100は、マルチコアCPUを備え、1つのCPUの中に1つの汎用的なプロセッサコアと、複数のシンプルなプロセッサコアを有する。汎用プロセッサコアはPPU(PowerPC Processor Unit)と呼ばれ、残りのプロセッサコアはSPU(Synergistic Processor Unit)と呼ばれる。
【0027】
制御部100は、メインメモリ60およびバッファメモリ70に接続するメモリコントローラを備える。PPUはレジスタを有し、演算実行主体としてメインプロセッサを備えて、実行するアプリケーションにおける基本処理単位としてのタスクを各SPUに効率的に割り当てる。なお、PPU自身がタスクを実行してもよい。SPUはレジスタを有し、演算実行主体としてのサブプロセッサとローカルな記憶領域としてのローカルメモリを備える。ローカルメモリは、バッファメモリ70として使用されてもよい。
【0028】
メインメモリ60およびバッファメモリ70は記憶装置であり、RAM(ランダムアクセスメモリ)として構成される。SPUは制御ユニットとして専用のDMA(Direct Memory Access)コントローラをもち、メインメモリ60とバッファメモリ70の間のデータ転送を高速に行うことができ、また表示処理部44におけるフレームメモリとバッファメモリ70の間で高速なデータ転送を実現できる。本実施の形態の制御部100は、複数のSPUを並列動作させることで、高速な画像処理機能を実現する。表示処理部44は、表示装置12に接続されて、ユーザからの要求に応じた画像処理結果を出力する。
【0029】
本実施の形態の画像処理装置10は、表示画像の拡大/縮小処理やスクロール処理を行う際に表示画像をスムーズに変更させるために、圧縮された画像データの一部をハードディスクドライブ50からメインメモリ60にロードしておく。また、メインメモリ60にロードした圧縮画像データのさらに一部をデコードしてバッファメモリ70に格納しておく。これにより、後の必要なタイミングで、表示画像の生成に使用する画像を瞬時に切り替えることが可能となる。
【0030】
図4は、本実施の形態において使用する画像データの階層構造の概念図を示す。画像データは、深さ(Z軸)方向に、第0階層30、第1階層32、第2階層34および第3階層36からなる階層構造を有する。なお同図においては4階層のみ示しているが、階層数はこれに限定されない。以下、このような階層構造をもつ画像データを「階層データ」と呼ぶ。
【0031】
図4に示す階層データは4分木の階層構造を有し、各階層は1以上のタイル画像38で構成される。すべてのタイル画像38は同じ画素数をもつ同一サイズに形成され、たとえば256×256画素を有する。各階層の画像データは、一つの画像を異なる解像度で表現しており、最高解像度をもつ第3階層36の原画像を複数段階に縮小して、第2階層34、第1階層32、第0階層30の画像データが生成される。たとえば第N階層の解像度(Nは0以上の整数)は、左右(X軸)方向、上下(Y軸)方向ともに、第(N+1)階層の解像度の1/2であってよい。
【0032】
画像処理装置10において、階層データは、所定の圧縮形式で圧縮された状態でタイル画像38ごとに記憶装置に保持されており、ディスプレイに表示される前に記憶装置から読み出されてデコードされる。本実施の形態の画像処理装置10は、複数種類の圧縮形式に対応したデコード機能を有し、たとえばJPEG形式、JPEG2000形式、PNG形式、S3TC形式の圧縮データをデコード可能とする。
【0033】
階層データの階層構造は、図4に示すように、左右方向をX軸、上下方向をY軸、深さ方向をZ軸として設定され、仮想的な3次元空間を構築する。画像処理装置10は、入力装置20から供給される表示領域移動要求信号から表示領域の移動量を導出すると、その移動量を用いて仮想空間におけるフレームの4隅の座標(フレーム座標)を導出する。仮想空間におけるフレーム座標は、メインメモリへの圧縮データのロードおよび表示画像の生成処理に利用される。
【0034】
例えば表示画像の解像度の変更に対しては、Z軸上で各階層の間に切り替え境界を設定しておく。そして表示領域移動要求信号によりフレームのZ座標が当該切り替え境界を越えたときに、表示画像の描画に使用する階層を切り替える。そして必要に応じてロードおよびデコードを行い、要求された解像度に合わせて拡大/縮小することにより表示画像を生成する。なお、仮想空間におけるフレーム座標の代わりに、画像処理装置10は、階層を特定する情報と、その階層におけるテクスチャ座標(UV座標)を導出してもよい。以下、階層特定情報およびテクスチャ座標の組み合わせも、フレーム座標と呼ぶ。
【0035】
本実施の形態では、上述のような階層データの少なくともいずれかの階層の画像全体、またはその一部の領域をさらに階層化して個別の圧縮データとする。以後、このようにしてなる階層を副階層と呼ぶ。同一階層を構成する副階層の画像は同じ解像度を有し、重ね合わせて合成することにより最終的な画像となるように作成されたものである。すなわち画像処理装置10は、複数の副階層の圧縮データを個別にデコードしたうえ、デコード後の画像を合成して表示画像を生成する。このようにすることで、副階層ごとに適した圧縮形式を選択することができる。
【0036】
図4では、第2階層34全体が第1副階層35a、第2副階層35bで構成され、第3階層36全体が第1副階層37a、第2副階層37bで構成される様子が示されている。第2階層34の第1副階層35aは第3階層36の第1副階層37aを縮小した画像であり、第2階層34の第2副階層35bは第3階層36の第2副階層37bを縮小した画像である。第0階層30および第1階層32の画像は、第3階層36の副階層を合成した後の画像を縮小したものであり、1つの圧縮形式により圧縮される。なお副階層を設ける階層は、同図では第2階層34、第3階層36の2階層であるが、その数は限定されない。また同一階層を構成する副階層の数は3層以上でもよい。
【0037】
図5は副階層とする画像と最終的な表示画像の関係を説明するための図である。画像作成者は例えば、写真画像80上に画像82に表されるようなレタリングを施し最終的な画像84を作成するとする。このような場合、一般的には最終的な画像84を一つの圧縮形式で圧縮する。ここでJPEGを採用した場合、JPEGは不可逆圧縮のため、圧縮率を高くするほど失われるデータが増え、結果として表示画像にブロックノイズが発生するなど画質が劣化していく傾向にある。
【0038】
この画質の劣化は画像を拡大するほど、また文字やイラストが画像に含まれるほど目立つようになる。このため高い拡大率でも文字やイラストの画質を維持するためには圧縮率を下げる必要があるが、この場合は当然、データサイズが大きくなり、データ転送やデコードに要する時間が増加する。結果として表示領域移動要求から画像表示までの応答性が悪化する。
【0039】
一方、PNGを用いた場合、可逆圧縮のため画質の劣化はないが、自然画など画像の複雑度が上がると圧縮率が低下する。このように画像の性質によって、圧縮率と画質のバランスを良好とするのに適した圧縮形式が異なる。そこで、作成したい画像を性質の違いによって複数の画像に分別してそれぞれに適した圧縮形式で圧縮し、上述の副階層とする。
【0040】
図5の例では、JPEGで圧縮率を高くしても表示時の見た目への影響が小さい写真画像80に対しては比較的高い圧縮率でJPEGにより圧縮し、レタリングされた文字のみからなる画像82についてはPNGにより圧縮する。画像82のような文字やイラストのみからなる画像は一般的に、局所的かつ複雑度が低いため、圧縮データのサイズが大きくなる可能性が低い。なおこの例では、画像82の文字列以外の背景は透明とするようにアルファ値を設定する。
【0041】
上述のような副階層の構成は、階層データのうち、高い拡大率での画像表示に用いられる高い解像度の階層では特に有効である。一方、表示画像の拡大率が低い場合、文字列も小さく表示されるため、劣化が認識されにくい。また解像度の低い画像は高い解像度の画像と比較し、単位面積あたりの複雑度が上がるため、PNGで圧縮すると圧縮率が低くなりやすい。そこで低い解像度の階層は副階層を設けず、合成後の画像84を高い圧縮率でJPEGにより圧縮してデータサイズを小さくする。
【0042】
なおJPEGで圧縮する際の圧縮率については表示時の画質を考慮し画像作成者が適宜設定してよい。このように階層データにおける階層によって副階層の有無を変化させ、それぞれに適した圧縮形式で圧縮することにより、データサイズを抑えつつズームアップにも耐えうる画質を維持できる。結果として、解像度によらず高画質の画像を応答性よく表示できる。
【0043】
次に上述のような階層データを生成する態様について説明する。この態様を実現する画像データ生成装置は、図3で示した画像処理装置10と同様の構成で実現できる。以後、画像データ生成に係る構成に主眼を置いて説明し、その他の構成については図示および説明を適宜省略する。また図1および図3で示した構成と重複するものには同じ符号を付す。
【0044】
図6は画像データ生成装置の構成を詳細に示している。画像データ生成装置90の制御部100aは、画像作成者が行う指示入力を取得する入力情報取得部91、指示入力に従った画像処理、画像表示を行い、画像作成を支援する画像作成支援部92、作成された画像を複数の解像度で表した画像データを生成し、さらに分割してタイル画像のデータを生成するタイルデータ生成部94、および、副階層のデータをタイル画像の領域ごとにまとめて1つのタイル画像のデータとする複合データ生成部96を含む。
【0045】
図6および後述の図9において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、CPU(Central Processing Unit)、メモリ、その他のLSIで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。既述したように、制御部100、100aは1つのPPUと複数のSPUとを有し、PPUおよびSPUがそれぞれ単独または協同して、各機能ブロックを構成できる。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【0046】
入力情報取得部91は、画像作成者が行った指示入力の情報を入力装置20を介して取得する。指示入力は具体的には、画像作成開始および終了、画像ファイルの読み出し、画像の描画および編集、確定、圧縮形式の指定などである。なお入力装置20は図2で示した外観を有するもののほか、キーボード、マウス、タッチペン、タッチパネル、ボタンなど一般的に用いられる入力装置のいずれでもよい。
【0047】
画像作成支援部92は、画像作成画面を表示装置12に表示させ、入力情報取得部91が取得したユーザからの指示入力に応じて当該画面に表示させた作成中の画像を変化させる。画像作成支援部92が表示させる画面や機能は、一般的な画像作成装置で提供されているものを適用できる。そして画像作成者が画像を確定する指示入力を行った際、その時点での画像のデータをメインメモリ60に格納する。このときの画像が複数の層からなり、当該複数の層を副階層とする指示入力がなされた場合は、各層の画像のデータをそれぞれ格納する。このとき、各層の圧縮形式の指定を画像作成者より受け付け、各画像のデータに対応づけて記録しておく。
【0048】
タイルデータ生成部94は、メインメモリ60に格納された画像データを元に、階層データの各階層に対応する複数の解像度の画像データを生成する。このとき、副階層を設ける階層、すなわち図4の例では第2階層34および第3階層36については、副階層の画像ごとに複数の解像度の画像データを生成する。それ以外の階層、すなわち図4の例では第0階層30および第1階層32については、副階層の画像を合成した画像から複数の解像度の画像データを生成する。どの階層に副階層を設けるかは、あらかじめ装置内部で設定しておいてもよいし、画像作成者が指定してもよい。
【0049】
そしてタイルデータ生成部94は、各画像を画像平面における所定のサイズごとに分割してタイル画像とし、ユーザから指定された圧縮形式で圧縮したうえ、メインメモリ60に格納する。このとき、階層データにおける階層および階層内での位置を表す番号をタイル画像の識別番号とし、当該識別番号とタイル画像の圧縮データの格納領域とを対応づけるデータをインデックスとして生成する。副階層を有する領域については、同じ識別番号に対し、副階層に対応する複数のタイル画像の圧縮データが対応づけられることになる。
【0050】
複合データ生成部96は、インデックスにおいて同じ識別番号に対応づけられている複数の圧縮データをまとめて連続したデータとする。この際、当該データには、副階層に対応する複数の画像データからなる複合データであることを表すタグを付加する。そして当該複合データを新たなタイル画像の圧縮データとしてインデックスを更新する。このようにして生成したタイル画像の圧縮データとインデックスのセットは、最終的な階層データとして、ハードディスクドライブ50内の圧縮データ記憶部98に格納する。
【0051】
図7は画像データ生成装置90による画像データ生成処理の手順を模式的に示している。まず、画像データ生成装置90を用いて画像作成者が、素材となる画像ファイルの読み出し、描画、編集などの作業を行うと、入力情報取得部91および画像作成支援部92は、画像作成者の指示入力に従い一般的な手順で作成対象の画像を変化させていく。そして画像作成者が確定の指示入力を行うと、画像作成支援部92は当該画像のデータをメインメモリ60に格納する。
【0052】
図7の画像220はそのようにして作成されたものであり、構成画像221a、構成画像221bなる2つの層で構成される。例えば画像作成支援部92は、第1、第2の描画領域(レイアウト枠)を表示装置12に表示し、画像作成者がそれぞれの描画領域に構成画像221a、221bを作成する。これらの構成画像は重ね合わせて合成されることを前提に作成する画像であり、重ねる順序、アルファ値などの設定も行う。
【0053】
第1の描画領域上に第2の描画領域を重ね合わせておき、構成画像221a上に直接、構成画像221bの内容を描き込むようにしてもよい。このように1つの画像を複数の層によって作成する手法は、一般的な画像作成装置で提供されているのと同様である。画像作成者は画像確定時、各構成画像221a、221bを副階層とするときのそれぞれの圧縮形式も指定する。
【0054】
タイルデータ生成部94は、このようにしてメインメモリ60に格納された画像データを元に、階層データの階層に対応する複数の解像度の画像データを作成し、それぞれを所定サイズのタイル画像に分割して圧縮する。図7の例では元の画像220を階層データの最下層とし、4階層からなる階層データを生成する。また最下層およびその上の階層は副階層によって構成する設定がなされているとする。
【0055】
このときタイルデータ生成部94はまず、構成画像221a、221bをそれぞれタイル画像に分割し、画像作成者が指定した圧縮形式でタイル画像ごとに圧縮する(S12)。各圧縮データの画像上の位置関係は、上述のようにインデックスを作成することによって明らかにしておく。次にタイルデータ生成部94は、構成画像221a、221bをそれぞれ縮小し、1つ上の階層の画像222のデータを生成する(S14)。したがって画像222も、構成画像221a、221bに対応する2つの構成画像からなる。そしてそれぞれをタイル画像に分割し、指定された圧縮形式でタイル画像ごとに圧縮する(S16)。
【0056】
次にタイルデータ生成部94は、さらに1つ上の階層の画像224を生成するが、当該階層は副階層を持たない設定がなされているため、画像222の2つの構成画像を合成したうえで縮小する(S18)。そして合成後の画像をタイル画像に分割し、所定の圧縮形式でタイル画像ごとに圧縮する(S20)。さらに、画像224を縮小して最上層の画像226を生成し(S22)、それをタイル画像に分割して同様に圧縮する(S24)。
【0057】
このようにして生成した階層データのうち、副階層を有するデータ群228、およびデータ群230の階層については、複合データ生成部96が、同じ領域を表すタイル画像の複数の圧縮データ(例えばデータ236)をまとめて1つのタイル画像のデータとする。なお図7の例では画像の全領域に対し副階層を設けているが、画像データはこのようにタイル画像単位で扱うため、上述の通り一部のタイル画像のみ副階層で構成してもよい。
【0058】
図8は副階層を有するタイル画像の圧縮データ、すなわち複合データの構造を模式的に示している。この例は、図7のように一つの階層を2つの副階層で構成する場合を示しているが、副階層の数を限定するものではない。複合データ140はタグ部142、第1オフセット部144、第2オフセット部146、第1画像データ部148、第2画像データ部150を含む。タグ部142には、このデータが複合データである旨を示す情報を格納する。同図の例では「combine」なる文字列が格納されている。含まれる圧縮データの数を表す数字を格納してもよい。
【0059】
第1オフセット部144には、複合データ140の先頭アドレスを0としたときの、1番目の圧縮データの格納領域の先頭アドレス、同図の例では「offset1」を格納する。同様に第2オフセット部146には、2番目の圧縮データの格納領域の先頭アドレス、同図の例では「offset2」を格納する。そして第1画像データ部148、第2画像データ部150には、副階層となるタイル画像の圧縮データ本体(それぞれ「第1画像データ」、「第2画像データ」と図示)を格納する。例えば「第1画像データ」、「第2画像データ」はそれぞれ、図7の構成画像221a、221bの一部の領域の圧縮データである。圧縮データ本体の構造は、圧縮形式ごとに標準化されているものをそのまま用いる。
【0060】
次に上述のような階層データを用いて画像を表示する態様について説明する。この態様は、図1および図3で示した画像処理装置10によって実現される。図9は画像処理装置10における制御部100の構成を詳細に示している。制御部100は、入力装置20からユーザ、すなわち画像鑑賞者が入力した情報を取得する入力情報取得部102、次に表示すべきフレームのフレーム座標を決定するフレーム座標決定部110、新たにロードすべきタイル画像を決定しハードディスクドライブ50から圧縮データをロードするロード部108を含む。制御部100はさらに、圧縮データをデコードするデコード部112、および、フレームの画像を描画する表示画像処理部114を含む。
【0061】
入力情報取得部102は、ユーザが入力装置20に対して入力した、画像表示の開始/終了、画像ファイルの選択、表示領域の移動などの指示内容を取得する。フレーム座標決定部110は、現在の表示領域のフレーム座標とユーザが入力した表示領域移動要求の情報に従い、フレームレートで決定される各時刻のフレーム座標を決定する。当該フレーム座標の情報は、ロード部108、デコード部112、表示画像処理部114にそれぞれ通知される。
【0062】
ロード部108は、フレーム座標決定部110からの情報に基づき、メインメモリ60にロードしておくべきタイル画像を決定したうえ、まだロードされていないタイル画像がある場合に、当該タイル画像のデータをハードディスクドライブ50からメインメモリ60へロードする。メインメモリ60にロードしておくべきタイル画像とは、フレーム座標決定部110から通知されたフレームに含まれるタイル画像のほか、その周囲の所定範囲内のタイル画像、および、過去のフレーム座標の推移から今後必要と予測される領域のタイル画像などである。直後の表示画像の描画に必要なデータ以外のデータについては、例えば所定の時間間隔で定常的にロードしてもよい。
【0063】
デコード部112は解析部120、および、第1デコード部122a、第2デコード部122b、・・・など複数のデコード手段を含む。デコード部112は基本的に、フレーム座標決定部110から取得したフレーム座標の情報に基づき、メインメモリ60からタイル画像のデータを読み出してデコードし、バッファメモリ70に格納する。このとき、直後に表示すべきフレームのデータのうちバッファメモリ70に未格納のものを優先してデコードし、さらにその周囲や、今後表示すると予測される領域などを、所定の規則に則りデコードする。
【0064】
デコード部112の解析部120は、メインメモリ60から読み出したデータが複合データであるか否かをタグ部142の情報の有無によって判断する。第1デコード部122a、第2デコード部122b、・・・など複数のデコード手段は、タイル画像単位で並列に圧縮データをデコードする。
【0065】
メインメモリ60から読み出したデータが複合データであった場合、解析部120は、第1オフセット部144、第2オフセット部146に格納された情報に基づき、第1画像データ部148、第2画像データ部150に格納されたデータを分離する。そしてそれぞれを個別の圧縮データとして別のデコード手段に割り当てる。これにより分離した圧縮データは並列にデコードされる。
【0066】
このように1つのタイル画像を副階層で構成し、各圧縮データを並列にデコードすると、副階層を設けず1つの長い圧縮データをシーケンシャルにデコードする場合と比較してデコード時間を短縮できる。例えば後者のデータが、画質を維持するために低い圧縮率でJPEG圧縮したものであった場合、その差は顕著になる。メインメモリ60から読み出したデータにおいて、タグ部142の領域、すなわちデータのヘッダ部に、複合データである旨の情報がない場合は、解析部120は当該データを複数のデコード手段のいずれかに割り当てればよい。
【0067】
元のデータが複合データであったか否かにかかわらず、第1デコード部122a、第2デコード部122b、・・・は、割り当てられたデータを通常の圧縮データと同様、データ内で示された圧縮形式に則りデコードする。ただし元のデータが複合データであった場合は、上述のインデックスで用いた同じ識別番号で管理することにより、各タイル画像の副階層のデータを対応付けておく。
【0068】
表示画像処理部114は合成部126および描画部128を含む。描画部128は、フレーム座標決定部110から取得した、次に表示すべきフレームのフレーム座標に基づき、バッファメモリ70から対応する画像データを読み出し、表示処理部44のフレームメモリにフレームの画像を描画する。このとき副階層で構成される領域がフレームに含まれていた場合、合成部126はそれらの画像を重ね合わせて合成し一つの画像とする。画像の合成処理は、一般的なアルファブレンディングの手法を用いればよい。
【0069】
次に画像処理装置10の動作について説明する。図10は画像処理装置がユーザからの表示領域移動要求に応じて画像を表示する処理手順を示すフローチャートである。まずユーザが画像表示の開始を指示する入力を行うと、画像処理装置10は初期画像を表示する(S30)。詳細には、入力情報取得部102からの表示開始情報によりロード部108が初期画像データのロードを行い、デコード部112がデコード、表示画像処理部114がフレームメモリに描画したものを、表示処理部44が表示装置12に表示する。
【0070】
この状態でユーザが入力装置20を介し、表示領域移動要求を入力すると(S32)、フレーム座標決定部110が移動先のフレーム座標を決定し、各ブロックに通知する(S34)。ロード部108は、通知されたフレーム座標に基づきロードすべきタイル画像を特定し、当該タイル画像の圧縮データをハードディスクドライブ50からメインメモリ60にロードする(S36)。詳細には、まず仮想空間において今後の画像描画に必要な範囲を決定し、当該範囲内のタイル画像の圧縮データを、インデックスを参照して特定し読み出す。
【0071】
デコード部112は通知されたフレーム座標に基づき、メインメモリ60に格納されたタイル画像の圧縮データのうち必要な圧縮データを読み出し、当該データが複合データであるか否かを判断する(S38)。複合データであった場合は(S38のY)、それに含まれる複数の圧縮データを分離し、別々のデコード手段により並列にデコードする(S40)。複合データでなかった場合は(S38のN)、いずれかのデコード手段によりデコードする(S44)。
【0072】
そして表示画像処理部114は通知されたフレーム座標に基づき、デコード後のデータを用いてフレームの画像を描画する(S42、S46)。このときデコード後のデータが副階層のデータであった場合は、それらを合成してから最終的な画像を描画する(S42)。このようにして描画されたフレームの画像を表示処理部44が表示装置12に表示することにより、移動先の領域の画像が表示される(S48)。
【0073】
以上述べた本実施の形態によれば、ユーザからの表示領域の移動要求を受け付ける画像表示技術において、表示時に合成することを前提として、1つの画像を複数の層によって構成し、個別に圧縮する。例えば写真などの自然画とレタリング画像など、画像の性質によって層を分離することにより、それぞれの性質に適した圧縮形式を選択することができ、表示時に要求される画質の維持と、データサイズやデコード処理コストの軽減を両立できる。
【0074】
自然画とその上に配置された文字列やイラストなどで構成される画像の場合、文字やイラストの画質を維持するために、表示時にその部分のみをリアルタイムで描画していくことも考えられる。しかしながらこの場合、表示装置側でフォントを準備したりシェーダ機能を設けたりする必要があるため、携帯端末などリソースが潤沢でない装置では実現が困難である。また代替フォントを使用する必要なども生じ、画像作成者が意図する画像が再現されないことも考えられる。
【0075】
本実施の形態では、劣化が目立ちにくい自然画に対しては比較的高圧縮率でJPGによって圧縮し、劣化が目立ちやすい文字列やイラストに対してはPNGで圧縮するなど適宜選択した圧縮形式で個別に圧縮して表示時に合成することにより、比較的貧弱なリソースでも画質劣化が認識されにくい画像を応答性よく表示することができる。また、1つの画像を複数の解像度で表して階層化した階層データにおいて、上記のように複数の層(副階層)に分離して圧縮する階層と、分離しないで圧縮する階層とを混在させる。
【0076】
特に画像をズームアップし、文字列やイラストを大きく表示させる場合に用いる高解像度の階層の画像を副階層で構成し、劣化を認識しづらい低解像度の画像は合成後の画像で構成して高圧縮率で圧縮すると、解像度を大きく変化させても画質上の変化が小さく、かつ全体的なデータサイズを抑えることができる。
【0077】
さらに、タイル画像を副階層で構成する場合、それらを個別に圧縮してつなげることにより1つのタイル画像のデータとする。これにより画像表示時には、容易に副階層を構成するデータの特定およびその分離ができ、それぞれを独立かつ並列にデコードすることができる。高解像度の画像を表示する場合、一度に表示される領域は局所的であるため、タイル画像ごとに圧縮データを生成し、かつ並列にデコードすることにより、より効率的に表示に必要なデータのみをデコードできる。結果としてデコード処理に要する時間を短縮できるうえ、画質も維持することができる。
【0078】
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0079】
例えば実施の形態では副階層を画像の性質に応じて異なる圧縮形式で圧縮したが、同じ圧縮形式で圧縮してもよい。例えば自然画からなる副階層は高圧縮率のJPEG、文字列などからなる副階層は低圧縮率のJPEGなど、圧縮形式は同じとして圧縮率を異ならせてもよいし、その他の圧縮条件を異ならせてもよい。JPEG同士で圧縮する場合、複合データには図8で示した情報のほか、アルファ値を格納する領域を設けてもよい。
【0080】
また実施の形態は静止画で構成される階層データを処理対象としたが、階層データに限らず1つの画像を複数の副階層で構成し、個別の圧縮データとしてもよい。また複数のフレーム画像からなる動画像とそれに重畳して表示する字幕などの文字情報をそれぞれ個別に圧縮し、表示時にフレームごとに合成してもよい。これらの場合もそれぞれの画像に適した条件で圧縮することにより、画質の維持と表示処理コストの軽減を両立させることができる。
【符号の説明】
【0081】
1 画像処理システム、 10 画像処理装置、 12 表示装置、 20 入力装置、 30 第0階層、 32 第1階層、 34 第2階層、 35a 第1副階層、 35b 第2副階層、 36 第3階層、 37a 第1副階層、 37b 第2副階層、 44 表示処理部、 50 ハードディスクドライブ、 60 メインメモリ、 70 バッファメモリ、 90 画像データ生成装置、 91 入力情報取得部、 92 画像作成支援部、 94 タイルデータ生成部、 96 複合データ生成部、 98 圧縮データ記憶部、 100 制御部、 102 入力情報取得部、 108 ロード部、 110 フレーム座標決定部、 112 デコード部、 114 表示画像処理部、 120 解析部、 122a 第1デコード部、 122b 第2デコード部、 126 合成部、 128 描画部、 142 タグ部、 144 第1オフセット部、 146 第2オフセット部、 148 第1画像データ部、 150 第2画像データ部。

【特許請求の範囲】
【請求項1】
入力された表示領域移動要求に応じて表示領域を変化させて画像を表示する画像処理装置であって、
重ね合わせて表示することにより表示画像となる複数の構成画像のデータを、それぞれ所定のサイズで分割してなるタイル画像ごとに圧縮した圧縮データを格納する画像データ記憶部と、
前記画像データ記憶部に格納された圧縮データのうち、表示領域に対応するタイル画像の圧縮データを、前記構成画像のそれぞれについて読み出しデコードするデコード部と、
前記デコード部がデコードした複数の構成画像のタイル画像を重ね合わせて合成し、表示領域の画像を生成して表示装置に表示する表示画像処理部と、
を備えたことを特徴とする画像処理装置。
【請求項2】
前記画像データ記憶部は、表示対象の画像を異なる解像度で表した複数の画像データを解像度順に階層化してなる階層データを格納し、
前記階層データは、前記複数の構成画像のデータにより構成される階層と、前記複数の構成画像を合成した画像のデータにより構成される階層と、を含み、
前記デコード部は、要求される解像度に応じてデコード対象の階層を切り替えたうえ、当該階層が前記構成画像のデータにより構成されるか否かによって構成画像をそれぞれデコードするか否かを切り替えることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記画像データ記憶部は、表示画像上で同じ領域を表す、各構成画像のタイル画像の圧縮データをつなげてなる複合データを、当該領域と対応づけて格納し、
前記デコード部は、表示領域に対応する複合データを前記画像データ記憶部から読み出し、構成画像ごとに分離してデコードすることを特徴とする請求項1または2に記載の画像処理装置。
【請求項4】
前記画像データ記憶部が格納する圧縮データは構成画像ごとに異なる圧縮形式で圧縮されたデータであり、
前記デコード部は、各構成画像の圧縮形式に従って、それぞれの圧縮データをデコードすることを特徴とする請求項1から3のいずれかに記載の画像処理装置。
【請求項5】
重ね合わせて表示することにより表示画像となる複数の構成画像の指定を受け付け、各構成画像のデータを、それぞれ所定のサイズで分割してなるタイル画像ごとに圧縮するタイルデータ生成部と、
前記タイルデータ生成部が生成した圧縮データのうち、表示画像上で同じ領域を表す、各構成画像のタイル画像の圧縮データをつなげて複合データを生成し、表示画像上の位置と対応づけることにより、表示画像の画像データとして記憶装置に出力する複合データ生成部と、
を備えたことを特徴とする画像データ生成装置。
【請求項6】
前記タイルデータ生成部は、表示画像を異なる解像度で表した複数の画像データを解像度順に階層化してなる階層データであって、前記複数の構成画像のデータにより構成される階層と、前記複数の構成画像を合成した画像のデータにより構成される階層と、を含む階層データを生成することを特徴とする請求項5に記載の画像データ生成装置。
【請求項7】
前記タイルデータ生成部は、前記タイル画像を、構成画像ごとに異なる圧縮形式で圧縮することを特徴とする請求項5または6に記載の画像データ生成装置。
【請求項8】
前記表示画像のデータは、当該表示画像上の領域によって、前記複合データと、単一の画像のタイル画像の圧縮データとを含むことを特徴とする請求項5から7のいずれかに記載の画像データ生成装置。
【請求項9】
画像処理装置が、入力された表示領域移動要求に応じて表示領域を変化させて画像を表示する画像処理方法であって、
重ね合わせて表示することにより表示画像となる複数の構成画像のデータを、それぞれ所定のサイズで分割してなるタイル画像ごとに圧縮した圧縮データを格納する記憶装置から、表示領域に対応するタイル画像の圧縮データを、前記構成画像のそれぞれについて読み出すステップと、
読み出した各構成画像の圧縮データをデコードするステップと、
デコードした複数の構成画像のタイル画像を重ね合わせて合成し、表示領域の画像を生成して表示装置に表示するステップと、
を含むことを特徴とする画像処理方法。
【請求項10】
画像データ生成装置が画像データを生成する方法であって、
重ね合わせて表示することにより表示画像となる複数の構成画像の指定を受け付けるステップと、
メモリより各構成画像のデータを読み出し、それぞれ所定のサイズで分割してなるタイル画像ごとに圧縮するステップと、
生成した圧縮データのうち、表示画像上で同じ領域を表す、各構成画像のタイル画像の圧縮データをつなげて複合データを生成し、表示画像上の位置と対応づけることにより、表示画像の画像データとして記憶装置に出力するステップと、
を含むことを特徴とする画像データ生成方法。
【請求項11】
入力された表示領域移動要求に応じて表示領域を変化させて画像を表示する機能をコンピュータに実現させるコンピュータプログラムであって、
重ね合わせて表示することにより表示画像となる複数の構成画像のデータを、それぞれ所定のサイズで分割してなるタイル画像ごとに圧縮した圧縮データを格納する記憶装置から、表示領域に対応するタイル画像の圧縮データを、前記構成画像のそれぞれについて読み出す機能と、
読み出した各構成画像の圧縮データをデコードする機能と、
デコードした複数の構成画像のタイル画像を重ね合わせて合成し、表示領域の画像を生成して表示装置に表示する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラム。
【請求項12】
重ね合わせて表示することにより表示画像となる複数の構成画像の指定を受け付ける機能と、
メモリより各構成画像のデータを読み出し、それぞれ所定のサイズで分割してなるタイル画像ごとに圧縮する機能と、
生成した圧縮データのうち、表示画像上で同じ領域を表す、各構成画像のタイル画像の圧縮データをつなげて複合データを生成し、表示画像上の位置と対応づけることにより、表示画像の画像データとして記憶装置に出力する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラム。
【請求項13】
入力された表示領域移動要求に応じて表示領域を変化させて画像を表示する機能をコンピュータに実現させるコンピュータプログラムを記録した記録媒体であって、
重ね合わせて表示することにより表示画像となる複数の構成画像のデータを、それぞれ所定のサイズで分割してなるタイル画像ごとに圧縮した圧縮データを格納する記憶装置から、表示領域に対応するタイル画像の圧縮データを、前記構成画像のそれぞれについて読み出す機能と、
読み出した各構成画像の圧縮データをデコードする機能と、
デコードした複数の構成画像のタイル画像を重ね合わせて合成し、表示領域の画像を生成して表示装置に表示する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラムを記録した記録媒体。
【請求項14】
重ね合わせて表示することにより表示画像となる複数の構成画像の指定を受け付ける機能と、
メモリより各構成画像のデータを読み出し、それぞれ所定のサイズで分割してなるタイル画像ごとに圧縮する機能と、
生成した圧縮データのうち、表示画像上で同じ領域を表す、各構成画像のタイル画像の圧縮データをつなげて複合データを生成し、表示画像上の位置と対応づけることにより、表示画像の画像データとして記憶装置に出力する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラムを記録した記録媒体。
【請求項15】
画像処理装置において入力された表示領域移動要求に応じて表示領域を変化させて表示される画像ファイルのデータ構造であって、
重ね合わせて表示することにより表示画像となる複数の構成画像のデータを、それぞれ所定のサイズで分割してなるタイル画像ごとに圧縮した圧縮データのうち、表示画像上で同じ領域を表す、各構成画像のタイル画像の圧縮データをつなげた複合データと、表示画像上の位置とを対応づけることにより、
前記画像処理装置において、表示領域に対応する複合データが特定され、当該複合データに含まれる圧縮データがそれぞれデコードされ合成されて表示されることを特徴とする画像ファイルのデータ構造。
【請求項16】
前記画像ファイルは、表示画像を異なる解像度で表した複数の画像データと、解像度とをさらに対応づけ、
前記複数の画像データは解像度によって、前記複数の構成画像のデータにより構成される画像データと、前記複数の構成画像を合成した画像のデータとを含み、
前記画像処理装置において、要求される解像度によって決定されるデコード対象の画像データが、前記構成画像のデータにより構成されるか否かによって、前記構成画像をそれぞれデコードするか否かが切り替えられることを特徴とする請求項15に記載の画像ファイルのデータ構造。
【請求項17】
請求項15または請求項16に記載のデータ構造を有する画像ファイルを記録した記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate