Nothing Special   »   [go: up one dir, main page]

JP5037574B2 - 画像ファイル生成装置、画像処理装置、画像ファイル生成方法、および画像処理方法 - Google Patents

画像ファイル生成装置、画像処理装置、画像ファイル生成方法、および画像処理方法 Download PDF

Info

Publication number
JP5037574B2
JP5037574B2 JP2009175807A JP2009175807A JP5037574B2 JP 5037574 B2 JP5037574 B2 JP 5037574B2 JP 2009175807 A JP2009175807 A JP 2009175807A JP 2009175807 A JP2009175807 A JP 2009175807A JP 5037574 B2 JP5037574 B2 JP 5037574B2
Authority
JP
Japan
Prior art keywords
image
tile
data
area
tile image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2009175807A
Other languages
English (en)
Other versions
JP2011028653A (ja
Inventor
徹悟 稲田
章男 大場
博之 勢川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Interactive Entertainment Inc
Sony Computer Entertainment Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Interactive Entertainment Inc, Sony Computer Entertainment Inc filed Critical Sony Interactive Entertainment Inc
Priority to JP2009175807A priority Critical patent/JP5037574B2/ja
Priority to PCT/JP2010/001795 priority patent/WO2011013263A1/ja
Priority to KR1020127004839A priority patent/KR101286148B1/ko
Priority to US13/384,880 priority patent/US8571338B2/en
Priority to MX2012000786A priority patent/MX2012000786A/es
Priority to EP10804016.3A priority patent/EP2464093B1/en
Publication of JP2011028653A publication Critical patent/JP2011028653A/ja
Application granted granted Critical
Publication of JP5037574B2 publication Critical patent/JP5037574B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/02Handling of images in compressed format, e.g. JPEG, MPEG
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0407Resolution change, inclusive of the use of different resolutions for different screen areas
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2350/00Solving problems of bandwidth in display systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Digital Computer Display Output (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、ディスプレイに表示する画像を拡大/縮小、または上下左右に移動させる画像処理技術に関する。
ゲームプログラムを実行するだけでなく、動画を再生できる家庭用エンタテインメントシステムが提案されている。この家庭用エンタテインメントシステムでは、GPUがポリゴンを用いた三次元画像を生成する(例えば特許文献1参照)。
画像表示の目的に関わらず、画像をいかに効率よく表示するかは常に重要な問題となる。特に高精細な画像を高速に描画するためには様々な工夫が必要となり、例えばテクスチャデータを別に保持しマッピングを効率的に行う手法について提案がなされている(例えば非特許文献1および2参照)。
米国特許第6563999号公報
Sylvain Fefebvre, et. al., Unified Texture Management for Arbitrary Meshes, Repport de recherche, N5210, May 2004, Institut National De Recherche En Informatique Et En Automatique Martin Kraus, et. al., Adaptive Texture Maps, Graphics Hardware (2002), pp1-10, The Eurographics Association
画像が高精細化しても、データサイズを小さく抑えること、高速に描画することは、画像を応答性良く表示するためには常に重要な課題である。また、上述のテクスチャマッピングなどデータ構造を工夫する技術を適用した場合、表示画像のデータを一度構築してしまうと、画像の一部などを更新する必要が生じた場合に処理が煩雑になりやすいという問題があった。
本発明はこのような課題に鑑みてなされたものであり、その目的は、圧縮効率が高い画像データの生成、表示を行う画像処理技術を提供することにある。
本発明のある態様は画像ファイル生成装置に関する。この画像ファイル生成装置は、入力された画像データから、異なる解像度の複数の画像データを生成し、解像度順に階層化して構成される階層データを生成する画像階層生成部と、階層データを構成する各階層の画像データを所定サイズのタイル画像に分割する画像分割部と、階層データを構成する各階層の画像データの分割後の各領域と、当該領域を描画する際に用いるタイル画像のデータとを対応づけたタイル画像参照テーブルを作成するタイル画像参照テーブル作成部と、タイル画像のデータとタイル画像参照テーブルとを含む画像ファイルを生成する画像ファイル生成部と、を備えたことを特徴とする。
本発明の別の態様は画像処理装置に関する。この画像処理装置は、一の画像で異なる解像度の画像データを所定サイズに分割してなるタイル画像のデータと、画像データを解像度順に階層化した階層構造における各画像データの分割後の各領域と当該領域を描画する際に用いるタイル画像のデータとを対応づけたタイル画像参照テーブルを含む画像ファイルを保持する記憶装置と、画像平面上の移動および解像度の変更を含む表示領域変更要求をユーザから受け付ける入力情報取得部と、表示領域変更要求に応じて新たに表示すべき領域を描画するのに必要なタイル画像のデータを、タイル画像参照テーブルを参照することによって特定するタイル画像特定部と、特定したタイル画像のデータを記憶装置より読み出し、新たに表示すべき領域を描画する表示画像処理部と、を備えたことを特徴とする。
本発明のさらに別の態様は画像ファイル生成方法に関する。この画像ファイル生成方法は、画像データをメモリより読み出して異なる解像度の複数の画像データを生成し、解像度順に階層化して構成される階層データを生成するステップと、階層データを構成する各階層の画像データを所定サイズのタイル画像に分割するステップと、階層データを構成する各階層の画像データの分割後の各領域と、当該領域を描画する際に用いるタイル画像のデータとを対応づけたタイル画像参照テーブルを作成するステップと、タイル画像のデータとタイル画像参照テーブルとを含む画像ファイルを生成してメモリに出力するステップと、を含むことを特徴とする。
本発明のさらに別の態様は画像処理方法に関する。この画像処理方法は、一の画像で異なる解像度の画像データを所定サイズに分割してなるタイル画像のデータと、画像データを解像度順に階層化した階層構造における各画像データの分割後の各領域と当該領域を描画する際に用いるタイル画像のデータとを対応づけたタイル画像参照テーブルを含む画像ファイルをメモリより読み出すステップと、画像平面上の移動および解像度の変更を含む表示領域変更要求をユーザから受け付けるステップと、表示領域変更要求に応じて新たに表示すべき領域を描画するのに必要なタイル画像のデータを、タイル画像参照テーブルを参照することによって特定するステップと、特定したタイル画像のデータに基づき、新たに表示すべき領域を描画するステップと、を含むことを特徴とする。
本発明のさらに別の態様は画像ファイルのデータ構造に関する。このデータ構造は、画像の少なくとも一部をディスプレイに表示するために記憶装置から読み出される画像ファイルのデータ構造であって、一の画像で異なる解像度の画像データを所定サイズに分割してなるタイル画像のデータと、画像データを解像度順に階層化した階層構造における各画像データの分割後の各領域と当該領域を描画する際に用いる前記タイル画像のデータとを対応づけたタイル画像参照テーブルと、を対応づけ、タイル画像参照テーブルは、一のタイル画像のデータを複数の領域に対応づけ、画像ファイルはタイル画像参照テーブルにおいて対応づけられていないタイル画像のデータを含まないことを特徴とする。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
本発明によると、幅広い解像度で画像を表示するための画像データを効率的に構築できる画像処理装置を提供することができる。
実施の形態1の形態にかかる画像処理システムの使用環境を示す図である。 図1の画像処理システムに適用できる入力装置の外観構成を示す図である。 実施の形態1において使用する画像データの階層構造を示す図である。 実施の形態1における画像処理装置の構成を示す図である。 実施の形態1における画像データの流れを模式的に示すである。 実施の形態1における画像データの先読み処理を説明するための図である。 実施の形態1において階層データを表示する機能を有する制御部の構成を詳細に示す図である。 実施の形態1で用いる階層データにおける各階層の画像を模式的に示す図である。 図8の階層データから生成される画像ブロックを模式的に示す図である。 実施の形態1において表示対象の画像ファイルを生成する機能を有する制御部の構成を示す図である。 実施の形態1において画像に冗長性がある場合に構築する、領域番号とタイル画像のデータの対応関係の例を模式的に示す図である。 実施の形態1において画像に冗長性がある場合に構築する、領域番号とタイル画像のデータの対応関係の別の例を模式的に示す図である。 図11および図12で説明した領域番号とタイル番号の対応関係を記載したタイル画像参照テーブルの例を示す図である。 実施の形態1において制御部が画像ファイルを生成する処理手順を示すフローチャートである。 実施の形態1において制御部が画像ファイルを表示するための処理手順を示すフローチャートである。 実施の形態1におけるタイル画像参照テーブルの冗長性について説明する図である。 実施の形態2において画像を修正する機能を有する制御部の構成を示図である。 本実施の形態2においてユーザが画像を修正する際の処理手順を示すフローチャートである。 本実施の形態3において画像作成作業前後の、表示画像、階層データ、タイル画像データの変化を模式的に示す図である。
実施の形態1
本実施の形態において処理対象とする画像のデータは、原画像を複数段階に縮小して生成した異なる解像度の画像からなる階層構造を有する。各階層の画像は一又は複数のタイル画像に分割する。たとえば最も解像度の低い画像は1つのタイル画像で構成し、最も解像度の高い原画像は、最も多い数のタイル画像で構成する。画像表示時は、描画に使用しているタイル画像を、表示画像が所定の解像度になったときに、異なる階層のタイル画像に切り替えることで、拡大表示または縮小表示を迅速に行う。
まず、このような階層構造を有する画像の基本的な表示態様について説明する。図1は、本発明の実施の形態を適用できる画像処理システム1の使用環境を示す。画像処理システム1は、画像処理ソフトウェアを実行する画像処理装置10と、画像処理装置10による処理結果を出力する表示装置12とを備える。表示装置12は、画像を出力するディスプレイおよび音声を出力するスピーカを有するテレビであってよい。表示装置12は、画像処理装置10に有線ケーブルで接続されてよく、また無線LAN(Local Area Network)などにより無線接続されてもよい。画像処理システム1において、画像処理装置10は、ケーブル14を介してインターネットなどの外部ネットワークに接続し、階層化された圧縮画像データをダウンロードして取得してもよい。なお画像処理装置10は、無線通信により外部ネットワークに接続してもよい。
画像処理装置10は、たとえばゲーム装置であってよく、画像処理用のアプリケーションプログラムをロードすることで画像処理機能を実現してもよい。なお画像処理装置10は、パーソナルコンピュータであってもよく、画像処理用のアプリケーションプログラムをロードすることで画像処理機能を実現してもよい。
画像処理装置10は、ユーザからの要求に応じて、表示装置12のディスプレイに表示する画像の拡大/縮小処理や、上下左右方向への移動処理など、表示領域を変更する処理を行う。ユーザが、ディスプレイに表示された画像を見ながら入力装置を操作すると、入力装置が、表示領域の変更要求信号を画像処理装置10に送信する。
図2は、入力装置20の外観構成を示す。入力装置20は、ユーザが操作可能な操作手段として、十字キー21、アナログスティック27a、27bと、4種の操作ボタン26を備える。4種の操作ボタン26は、○ボタン22、×ボタン23、□ボタン24および△ボタン25から構成される。
画像処理システム1において、入力装置20の操作手段には、表示画像の拡大/縮小要求、および上下左右方向へのスクロール要求を入力するための機能が割り当てられる。たとえば、表示画像の拡大/縮小要求の入力機能は、右側のアナログスティック27bに割り当てられる。ユーザはアナログスティック27bを手前に引くことで、表示画像の縮小要求を入力でき、また手前から押すことで、表示画像の拡大要求を入力できる。また、表示領域の移動要求の入力機能は、十字キー21に割り当てられる。ユーザは十字キー21を押下することで、十字キー21を押下した方向への移動要求を入力できる。なお、画像変更要求の入力機能は別の操作手段に割り当てられてもよく、たとえばアナログスティック27aに、スクロール要求の入力機能が割り当てられてもよい。
入力装置20は、入力された表示領域変更要求信号を画像処理装置10に伝送する機能をもち、本実施の形態では画像処理装置10との間で無線通信可能に構成される。入力装置20と画像処理装置10は、Bluetooth(ブルートゥース)(登録商標)プロトコルやIEEE802.11プロトコルなどを用いて無線接続を確立してもよい。なお入力装置20は、画像処理装置10とケーブルを介して接続して、表示領域変更要求信号を画像処理装置10に伝送してもよい。
図3は、本実施の形態において使用する画像データの階層構造を示す。画像データは、深さ(Z軸)方向に、第0階層30、第1階層32、第2階層34および第3階層36からなる階層構造を有する。なお同図においては4階層のみ示しているが、階層数はこれに限定されない。以下、このような階層構造をもつ画像データを「階層データ」とよぶ。
図3に示す階層データは4分木の階層構造を有し、各階層は、1以上のタイル画像38で構成される。すべてのタイル画像38は同じ画素数をもつ同一サイズに形成され、たとえば256×256画素を有する。各階層の画像データは、一つの画像を異なる解像度で表現しており、最高解像度をもつ第3階層36の原画像を複数段階に縮小して、第2階層34、第1階層32、第0階層30の画像データが生成される。たとえば第N階層の解像度(Nは0以上の整数)は、左右(X軸)方向、上下(Y軸)方向ともに、第(N+1)階層の解像度の1/2であってよい。
画像処理装置10において、階層データは、所定の圧縮形式で圧縮された状態で記憶装置に保持されており、ディスプレイに表示される前に記憶装置から読み出されてデコードされる。本実施の形態の画像処理装置10は、複数種類の圧縮形式に対応したデコード機能を有し、たとえばS3TC形式、JPEG形式、JPEG2000形式の圧縮データをデコード可能とする。階層データにおいて、圧縮処理は、タイル画像単位に行われていてもよく、また同一階層または複数の階層に含まれる複数のタイル画像単位に行われていてもよい。
階層データの階層構造は、図3に示すように、左右方向をX軸、上下方向をY軸、深さ方向をZ軸として設定され、仮想的な3次元空間を構築する。画像処理装置10は、入力装置20から供給される表示領域変更要求信号から表示画像の変更量を導出すると、その変更量を用いて仮想空間におけるフレームの4隅の座標(フレーム座標)を導出する。仮想空間におけるフレーム座標は、後述するメインメモリへの圧縮データのロードおよび表示画像の生成処理に利用される。なお、仮想空間におけるフレーム座標の代わりに、画像処理装置10は、階層を特定する情報と、その階層におけるテクスチャ座標(UV座標)を導出してもよい。以下、階層特定情報およびテクスチャ座標の組み合わせも、フレーム座標と呼ぶ。
図4は画像処理装置10の構成を示している。画像処理装置10は、無線インタフェース40、スイッチ42、表示処理部44、ハードディスクドライブ50、記録媒体装着部52、ディスクドライブ54、メインメモリ60、バッファメモリ70および制御部100を有して構成される。表示処理部44は、表示装置12のディスプレイに表示するデータをバッファするフレームメモリを有する。
スイッチ42は、イーサネットスイッチ(イーサネットは登録商標)であって、外部の機器と有線または無線で接続して、データの送受信を行うデバイスである。スイッチ42は、ケーブル14を介して外部ネットワークに接続し、画像サーバから階層化された圧縮画像データを受信できるように構成される。またスイッチ42は無線インタフェース40に接続し、無線インタフェース40は、所定の無線通信プロトコルで入力装置20と接続する。入力装置20においてユーザから入力された表示領域変更要求信号は、無線インタフェース40、スイッチ42を経由して、制御部100に供給される。
ハードディスクドライブ50は、データを記憶する記憶装置として機能する。スイッチ42を介して受信された圧縮画像データは、ハードディスクドライブ50に格納される。記録媒体装着部52は、メモリカードなどのリムーバブル記録媒体が装着されると、リムーバブル記録媒体からデータを読み出す。ディスクドライブ54は、読出専用のROMディスクが装着されると、ROMディスクを駆動して認識し、データを読み出す。ROMディスクは、光ディスクや光磁気ディスクなどであってよい。圧縮画像データはこれらの記録媒体に格納されていてもよい。
制御部100は、マルチコアCPUを備え、1つのCPUの中に1つの汎用的なプロセッサコアと、複数のシンプルなプロセッサコアを有する。汎用プロセッサコアはPPU(Power Processing Unit)と呼ばれ、残りのプロセッサコアはSPU(Synergistic-Processing Unit)と呼ばれる。
制御部100は、メインメモリ60およびバッファメモリ70に接続するメモリコントローラを備える。PPUはレジスタを有し、演算実行主体としてメインプロセッサを備えて、実行するアプリケーションにおける基本処理単位としてのタスクを各SPUに効率的に割り当てる。なお、PPU自身がタスクを実行してもよい。SPUはレジスタを有し、演算実行主体としてのサブプロセッサとローカルな記憶領域としてのローカルメモリを備える。ローカルメモリは、バッファメモリ70として使用されてもよい。
メインメモリ60およびバッファメモリ70は記憶装置であり、RAM(ランダムアクセスメモリ)として構成される。SPUは制御ユニットとして専用のDMA(Direct Memory Access)コントローラをもち、メインメモリ60とバッファメモリ70の間のデータ転送を高速に行うことができ、また表示処理部44におけるフレームメモリとバッファメモリ70の間で高速なデータ転送を実現できる。本実施の形態の制御部100は、複数のSPUを並列動作させることで、高速な画像処理機能を実現する。表示処理部44は、表示装置12に接続されて、ユーザからの要求に応じた画像処理結果を出力する。
本実施の形態の画像処理装置10は、表示画像の拡大/縮小処理や表示領域の移動処理を行う際に表示画像をスムーズに変更させるために、圧縮画像データの一部をハードディスクドライブ50からメインメモリ60にロードしておく。また、メインメモリ60にロードした圧縮画像データのさらに一部をデコードしてバッファメモリ70に格納しておく。これにより、後の必要なタイミングで、表示画像の生成に使用する画像を瞬時に切り替えることが可能となる。
図5は本実施の形態における画像データの流れを模式的に示している。まず階層データはハードディスクドライブ50に格納されている。ハードディスクドライブ50に代わり、記録媒体装着部52やディスクドライブ54に装着された記録媒体が保持していてもよい。あるいは、画像処理装置10がネットワークを介して接続した画像サーバから階層データをダウンロードするようにしてもよい。ここでの階層データは上述のとおり、S3TC形式などによる固定長圧縮、あるいはJPEG形式などによる可変長圧縮がなされている。
この階層データのうち、一部の画像データを圧縮した状態のままメインメモリ60にロードする(S10)。ここでロードする領域は、現在の表示画像の仮想空間における近傍や、画像の内容、ユーザの閲覧履歴等に基づいて、高頻度で表示要求がなされると予測される領域など、あらかじめ定めた規則によって決定する。ロードは、画像変更要求がなされたときのみならず、例えば所定の時間間隔で随時行う。これによりロード処理が一時期に集中しないようにする。
また、ロードする圧縮画像データはおよそ一定のサイズを有するブロック単位とする。そのためハードディスクドライブ50が保持する階層データは所定の規則でブロックに分割しておく。このようにすることでメインメモリ60におけるデータ管理が効率よく行える。すなわち、圧縮画像データが可変長圧縮されたものであっても、ブロック(以後、「画像ブロック」と呼ぶ)単位であればロードするデータサイズがほぼ等しいため、基本的にメインメモリ60にそれまで格納されていたブロックのいずれかを上書きすることによって新たなロードが完了する。そのためフラグメンテーションが発生しにくく、メモリを効率的に使用できるうえ、アドレス管理も容易になる。
次に、メインメモリ60に格納されている圧縮画像データのうち、表示に必要な領域のタイル画像、または必要と予測される領域のタイル画像のデータをデコードし、バッファメモリ70に格納する(S12)。バッファメモリ70は、少なくとも2つのバッファ領域72、74を含む。各バッファ領域72、74のサイズは、フレームメモリ90のサイズよりも大きく設定され、入力装置20から表示領域変更要求信号が入力された場合に、ある程度の量の変更要求に対しては、バッファ領域72、74に展開した画像データで表示画像を生成できるようにする。
バッファ領域72、74の一方は、表示画像の生成に用いる画像を保持するために利用され、他方は、以後、必要と予測される画像を準備するために利用される。以後、前者を「表示用バッファ」、後者を「デコード用バッファ」と呼ぶ。図5の例では、バッファ領域72が表示用バッファ、バッファ領域74がデコード用バッファで、表示領域68が表示されているものとする。後述する先読み処理によってデコード用バッファに格納する画像は、表示用バッファに格納されている画像と同一階層の画像でもよいし、縮尺の異なる別階層の画像でもよい。
次に、表示用バッファであるバッファ領域72に格納された画像のうち表示領域68の画像を、フレームメモリ90に描画する(S14)。この間に、新たな領域の画像が必要に応じてデコードされ、バッファ領域74に格納される。格納が完了したタイミングや表示領域68の変更量などに応じて、表示用バッファとデコード用バッファを切り替える(S16)。これにより、表示領域の移動や縮尺率の変更などに対し表示画像をスムーズに切り替えることができる。
図6は、先読み処理を説明するための図である。図6は、階層データの構造を示しており、各階層はL0(第0階層)、L1(第1階層)、L2(第2階層)、L3(第3階層)と表現されている。図6に示す階層データ構造において、深さ(Z軸)方向における位置は、解像度を示し、L0に近い位置ほど解像度が低く、L3に近い位置ほど解像度は高い。なおディスプレイに表示される画像の大きさに注目すると、深さ方向における位置は、縮尺率に対応し、L3の表示画像の縮尺率を1とすると、L2における縮尺率は1/4、L1における縮尺率は1/16となり、L0における縮尺率は1/64となる。
したがって深さ方向において、表示画像がL0側からL3側へ向かう方向に変化する場合、表示画像は拡大していき、L3側からL0側へ向かう方向に変化する場合は、表示画像は縮小していく。矢印80は、ユーザからの表示領域変更要求信号が、表示画像の縮小を要求しており、縮尺率1/4(L2)をまたいだ様子を示している。画像処理装置10では、タイル画像38として用意しているL1、L2の深さ方向の位置を、深さ方向の先読み境界として設定し、画像変更要求信号が先読み境界をまたぐと、先読み処理を開始する。
表示画像の縮尺率がL2の近傍にある場合、表示画像は、L2(第2階層)のタイル画像を用いて作成される。具体的には、表示する画像の縮尺率が、L1タイル画像とL2タイル画像の切替境界82と、L2タイル画像とL3タイル画像の切替境界84の間にある場合に、L2タイル画像が利用される。したがって、矢印80に示すように画像の縮小処理が要求されると、L2のタイル画像が拡大された画像から、縮小された画像に変換されて表示される。一方、画像変更要求信号から予測される将来必要なタイル画像38を特定して、デコードしておく。図6の例では、表示領域変更要求信号による要求縮尺率がL2をまたいだときに、画像処理装置10は、縮小方向にあるL1の対応するタイル画像38をハードディスクドライブ50またはメインメモリ60から先読みしてデコードし、バッファメモリ70に書き込む。
なお以上は深さ方向の先読み処理について説明したが、上下左右方向の先読み処理についても同様に処理される。具体的には、バッファメモリ70に展開されている画像データに先読み境界を設定しておき、画像変更要求信号による表示位置が先読み境界をまたいだときに、先読み処理が開始されるようにする。
図7は本実施の形態において、上述の階層データを表示する機能を有する制御部100aの構成を詳細に示している。制御部100aは、入力装置20からユーザが入力した情報を取得する入力情報取得部102、新たに表示すべき領域を含むタイル画像を特定するタイル画像特定部110、新たにロードすべき画像ブロックを決定するロードブロック決定部106、必要な画像ブロックをハードディスクドライブ50からロードするロード部108を含む。制御部100aはさらに、圧縮画像データをデコードするデコード部112、および表示画像を描画する表示画像処理部114を含む。
図7において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、CPU(Central Processing Unit)、メモリ、その他のLSIで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。既述したように、制御部100は1つのPPUと複数のSPUとを有し、PPUおよびSPUがそれぞれ単独または協同して、各機能ブロックを構成できる。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
入力情報取得部102は、ユーザが入力装置20に対して入力した、画像表示の開始/終了、表示領域の移動、表示画像の拡大、縮小などの指示内容を取得する。タイル画像特定部110は、現在の表示領域のフレーム座標とユーザが入力した表示領域変更要求の情報に従い、新たに表示すべき領域を含むタイル画像を特定する。そして当該タイル画像が既にメインメモリ60にロードされていれば、デコード部112に、ロードされていなければロードブロック決定部106に、当該情報を供給する。タイル画像特定部110はその時点の表示画像の描画に必要な画像の他、以後必要と予測されるタイル画像も特定してよい。
ロードブロック決定部106は、タイル画像特定部110からの情報に基づき、ハードディスクドライブ50からメインメモリ60へ新たにロードすべき画像ブロックを特定し、ロード部108にロード要求を発行する。ロードブロック決定部106は、ロード部108がロード処理中でない状態において、例えば所定の時間間隔、あるいは、ユーザが表示領域変更要求を行った際など、所定のタイミングでロード要求を行ってもよい。ロード部108は、ロードブロック決定部106からの要求に従い、実際のロード処理を行う。
デコード部112は、タイル画像特定部110から取得したタイル画像の情報に基づき、メインメモリ60からタイル画像のデータを読み出しデコードし、デコード用バッファまたは表示用バッファにデコード後のデータを格納する。表示画像処理部114は、新たな表示画像のフレーム座標に基づき、バッファメモリ70の表示用バッファから対応する画像データを読み出し、表示処理部44のフレームメモリに描画する。
次に、階層データにおけるタイル画像および画像ブロックの構成について説明する。図8は、階層データにおける各階層の画像を模式的に示している。同図におてい階層データは、第0階層30a、第1階層32a、第2階層34aの画像からなるとする。そして各階層の画像のうち実線で区切られた区画のひとつひとつがタイル画像である。同図に示すように、各タイル画像にはタイル画像への分割時に識別番号(以後、「タイル番号」と呼ぶ)を付与しておく。例えば第0階層30aの画像は、1つのタイル画像で構成され、タイル番号を「0」とする。第1階層32a、第2階層34aのタイル画像はそれぞれ、「1」〜「4」、「5」〜「20」のタイル番号を付与する。
図9は図8の階層データから生成される画像ブロックを模式的に示している。画像ブロックは、所定のデータサイズを超えない最大数のタイル画像で構成されるように、タイル番号の小さい方からタイル画像を区切っていくことにより生成する。同図では、このときの「所定のデータサイズ」を「基本ブロックサイズ」として矢印の範囲で表している。
同図の例では、タイル番号「0」から「5」のタイル画像が画像ブロック2、「6」から「8」のタイル画像が画像ブロック4、というようにそれぞれ画像ブロックにまとめられていき、「17」から「20」のタイル画像が最終の画像ブロック6となっている。各画像ブロックは、先頭のタイル画像のタイル番号と含まれるタイル画像の数で識別する。したがって画像ブロック2は「(0,6)」、画像ブロック4は「(6,3)」、画像ブロック6は「(17,4)」なる識別情報を有する。このように識別情報を定義すると、あるタイル画像のデータがある画像ブロックに含まれるか否かを容易に判定することができる。なお画像データは実際には、全ての画像ブロックが連なった状態で画像ファイルとして形成される。
画像ブロックの識別情報は、対応する圧縮画像データのハードディスクドライブ50における格納領域の情報と対応づけて、ハードディスクドライブ50に格納しておく。このように、圧縮画像データをおよそ同じサイズの画像ブロックに分割しておけば、上述のとおり、ロードした画像ブロックをメインメモリ60内の連続した領域に格納しても、一つの画像ブロックをその後にロードされた画像ブロックで上書きしていくことにより格納が可能であり、フラグメンテーションの発生を抑制できるとともに、メインメモリ60を効率的に使用できる。
次に、これまで述べた階層構造を有する画像データの表示技術において、画像データをより効率的に構築し出力するための実施の形態について説明する。上述の基本的な画像表示の手法では、表示領域変更要求に従って得られる変更後のフレーム座標から、表示に必要なタイル画像のタイル番号が一意に決定される。この手順においてタイル番号は、図8に示すように、各階層の画像上の位置を示すパラメータと等価であるため、フレーム座標から直接、タイル画像のデータを識別する。
一方、本実施の形態では、画像上の位置を示すパラメータとタイル画像のデータとを分離することにより、タイル画像のデータ指定に自由度を持たせ、それによってデータ構造そのものや画像更新の効率化を実現する。そのために、画像上の位置とタイル画像のデータとの対応関係を記述したテーブルを画像データに付加する。このように構築した画像データを表示する際は、表示領域変更後のフレーム座標から画像上の位置を示すパラメータを取得し、それに基づき上述のテーブルを参照することにより、タイル画像のデータの識別番号、すなわちタイル番号を取得する。ここで「画像上の位置を示すパラメータ」は、図8のように、画像をタイル画像に分割した際にそれぞれの領域に割り振られる識別番号であるが、本実施の形態ではタイル番号とは必ずしも一致しなくてよい。以後、このように領域に対して割り振った識別番号を、タイル番号と区別するために「領域番号」と呼ぶ。
図10は、本実施の形態において表示対象の画像ファイルを生成する機能を有する制御部100bの構成を示している。なお制御部100bは図7の制御部100aに示した、画像表示を行うための機能を備えていてもよいが、ここでは図示を省略している。一方、図10に示した機能のみを有する制御部100bを備えた画像処理装置10を、表示機能を発揮する画像処理装置とは別に設けてもよい。
制御部100bは、ハードディスクドライブ50に格納された画像データを読み出し階層化する画像階層生成部120、各階層の画像をタイル画像に分割する画像分割部122、各階層の画像を解析し冗長性を検出する冗長性検出部124、冗長性を考慮して、領域番号とタイル番号とを対応づけたタイル画像参照テーブルを作成するタイル画像参照テーブル作成部126、および最終的に出力する、画像データおよびタイル画像参照テーブルを含む画像ファイルを生成する画像ファイル生成部128を含む。
画像階層生成部120は、ハードディスクドライブ50から、ファイル作成対象の画像のデータを読み出す。この画像データはある解像度を有する一枚の画像のデータでよい。処理対象の画像データは、図に示すように入力装置20を介してユーザが指定してもよいし、原画像を取得した別の機能ブロック(図示せず)からの要求を受け付けてもよい。画像階層生成部は120はさらに、読み出した画像のデータを所定の解像度へ段階的に縮小した画像のデータを生成することにより、元の画像を含めた階層構造の画像データを生成する。
画像分割部122は、各階層の画像を所定のサイズに分割してタイル画像のデータを生成する。生成したタイル画像のデータにはそれぞれタイル番号を付与し、いったんメインメモリ60に保存したうえ、各格納領域を当該タイル番号で管理する。ここで付与するタイル番号は、図8に示すように画像上の位置を反映させた順であってもよく、例えば領域番号と一致していてもよい。
冗長性検出部124は各階層のタイル画像を解析することにより、同一階層内、および異なる階層間で画像の冗長性を検出する。同一階層内での冗長性としては例えば、複数のタイル画像に渡って同じ画像データを用いることができる場合が考えられる。また、異なる階層間での冗長性としては、低解像度の階層の画像を拡大した画像と高解像度の階層の画像とで見た目の差が大きくない場合が考えられる。このように冗長性がある領域は、個々にタイル画像のデータを持たずとも、あるタイル画像のデータを流用することで表示が可能である。このようにすることで、画像データの圧縮を実現する。具体的な手法は後に述べる。
タイル画像参照テーブル作成部126は、階層データにおける各階層の画像の領域番号と、各領域を表示する際に用いるタイル画像のタイル番号とを対応づけたタイル画像参照テーブルを作成する。冗長性が検出されない画像では、領域番号とタイル画像の識別番号は一対一に対応し、例えば同じ数値同士を対応させる。一方、冗長性を有する画像領域については、タイル画像のデータを共有するように、複数の領域番号に対し一つのタイル番号を対応づける。
画像ファイル生成部128は、タイル画像参照テーブルにおいて参照先となっているタイル画像のデータを読み出し、順につなげることによって、最終的な画像データを生成する。この際、上述のように、所定のサイズごとにタイル画像をまとめていくことにより画像ブロックを形成し、画像ブロックの識別情報と画像データの先頭アドレスからのオフセット値とを対応付けることによって画像ブロックごとにデータを管理する。そして画像データ、タイル画像参照テーブルを含む画像ファイルを生成して、最終的な出力データとする。
このように、画像の冗長性を検出して、複数の領域の描画に一つのタイル画像のデータを用いるようにすることにより、画像データのサイズを効率的に圧縮することができる。本実施の形態では、解像度の異なる同一の画像を画像データに含むため、異なる階層の画像であっても同じタイル画像のデータを利用することによってデータの高率圧縮が可能である。
図11は画像に冗長性がある場合に構築する、領域番号とタイル画像のデータの対応関係の例を模式的に示している。同図において画像32bおよび画像34bは、ある階層データに含まれる第1階層、第2階層の2つの階層の画像である。すなわち画像32bは画像34bを縮小して得られる。画像32bおよび画像34b上に示した格子はタイル画像に分割する際の境界線であり、境界線で区切られた各領域にはあらかじめ図に示すように領域番号が付与されている。この領域番号は画像によらず固定値としてよい。また番号の付与順は図に示したものに限らない。
同図において画像32bおよび画像34bには、楕円形136と三角形138の図形が描かれ、それ以外の領域は背景として単色に塗りつぶされているとする。そのような画像の各領域から切り出されたタイル画像のデータ240は、本来の画像上の並びと独立してメインメモリ60などに保持しておく。タイル画像のデータ240にもそれぞれタイル番号を付与する。タイル画像参照テーブルは、画像32b、34b上の領域番号とタイル番号とを対応づけたテーブルであり、図中、矢印で表す対応関係を記載する。
ここで、画像32bにおいて単色の塗りつぶし領域である領域番号「4」は、そこから切り出されたタイル画像のデータ、すなわちタイル番号「4」に対応づけられている。画像34bは、画像32bの拡大画像であるから、2つの画像の領域番号の対応関係は拡大率によって容易に導出できる。同図では、画像32bの領域番号「4」と、画像34bの領域番号「15」、「16」、「19」、「20」が対応する。したがって、画像34bの当該領域番号の領域は、自ずと単色の塗りつぶし領域であることが判明する。このとき、これらの画像領域を、領域番号「4」に対応づけられているタイル番号「4」に対応づけることにより、本来の領域から切り出したタイル画像のデータ(例えばタイル番号「15」、「16」、「19」、「20」のデータ)を、最終的な画像データから除外することができる。
同様に、画像34bまで拡大したときに塗りつぶし領域となる領域を、画像32bを走査することによって判別すると、領域番号「3」の下半分の領域、すなわち画像34bの領域番号「17」、「18」が塗りつぶし領域であることがわかる。したがってこれらの領域もタイル番号「4」のタイル画像に対応づけることにより、本来の領域から切り出したタイル画像のデータ(例えばタイル番号「17」、「18」のデータ)を、最終的な画像データから除外することができる。
本実施の形態で用いる画像データは、複数の解像度の同一の画像を処理対象とするため、上記の原理を最も小さい解像度の画像から順に繰り返すことにより、高解像度の大きなサイズの画像についても、計算負荷を抑えて冗長性を有する領域を特定することができる。さらに上述のように、低解像度の画像データを流用することにより、多くの領域において、元の画像データを破棄できる可能性があるため、高圧縮率が見込める。なお上述の説明では単色の塗り潰し領域を検出して、同じ塗りつぶし領域で構成されるタイル画像のデータを共有することとしたが、同様の処理は、およそ単色の領域、ランダムな模様や繰り返しの模様のみの領域などでも有効である。これらの領域の検出は、領域ごとのカラーヒストグラムや周波数解析などによって低解像度の画像から実施していく。
図12は画像に冗長性がある場合に構築する、領域番号とタイル画像のデータの対応関係の別の例を模式的に示している。画像32bおよび画像34bは図11で示したのと同様である。同図において画像32bの領域番号「2」の領域は、画像34bの領域番号「7」、」「8」、「11」、「12」の領域に対応する。画像34bは画像32bより高解像度の画像であるため、これらの領域の4つのタイル画像は領域番号「2」の領域から切り出したタイル画像(タイル番号「2」)を単に拡大した画像より多くの情報を含むのが一般的である。
しかし元の画像が写真などで、画像34bの領域番号「7」、」「8」、「11」、「12」の領域にピントが合っていない場合など、タイル番号「2」のタイル画像を拡大した画像と大きな差がない場合がある。このような場合には、タイル画像参照テーブルにおいて、高解像度の画像34bの4つの領域の領域番号を、低解像度の画像32bの対応する領域から切り出したタイル番号「2」に、まとめて対応づける。このとき、画像34bから表示画像を生成する際に、タイル番号「2」のタイル画像のデータをそのまま用いるのでなく、当該データを拡大したうえ一部の領域のみを用いるように、拡大率および領域の対応関係を、タイル画像参照テーブルに付記しておく。このような階層間の冗長性は、低解像度画像を拡大した画像と高解像度の画像との差分がしきい値以下である場合や、高解像度の画像を周波数解析したとき、しきい値以下の周波数帯のみ含む場合などに検出される。
図13は、図11および図12で説明した領域番号とタイル番号の対応関係を記載したタイル画像参照テーブルの例を示している。タイル画像参照テーブル200は、領域番号欄202、タイル番号欄204、および拡大情報欄206を含む。領域番号欄202には、階層データにおける画像の領域番号を記載する。なお同図は図11および図12で示した2階層の画像に付与された、領域番号「1」から「20」までの値を記載しているが、実際には階層データを構成する全階層の領域番号を記載する。そしてタイル番号欄204には、各領域の表示画像を生成する際に参照するタイル画像のタイル番号を記載する。拡大情報欄206には、参照先のタイル画像のデータを拡大する必要がある場合に、その拡大率と、該当領域が拡大後の画像のどの位置に対応するかを示す情報を記載する。
図11で説明した例では、画像34bに含まれる、領域番号「15」〜「20」の領域は、タイル番号「4」のタイル画像のデータを利用して描画することができるため、これらの領域番号に対して、タイル番号欄204にはタイル番号「4」が記載されている。また図12で説明した例では、画像34bに含まれる領域番号「7」、「8」、「11」、「12」の領域は、タイル番号「2」のタイル画像を拡大することによって描画できるため、これらの領域番号に対して、タイル番号欄204にはタイル番号「2」が記載されている。さらにそれらの領域は、タイル番号「2」の画像を4倍に拡大した画像から得られることと、拡大後の画像を4分割した際の左上、右上、左下、右下の領域を表す識別番号を「0」、「1」、「2」、「3」としたときの領域の対応関係が「4倍:0」といった表現で記載されている。
図11、12の例では、参照先のタイル画像は、画像32bから切り出したタイル画像であったが、参照先は元の階層データの画像から切り出したものに限らない。例えば元の画像によらず単色のタイル画像を用意しておいてもよい。そして画像上で単色の領域がある場合に、用意しておいたタイル画像を参照するようにしてもよい。また図12の態様を応用し、複数の色を寄せ集めたタイル画像を用意しておき、画像上で単色の領域がある場合に、当該色を寄せ集めたタイル画像のうちの該当する色の領域を拡大して描画に用いるようにしてもよい。例えば256×256画素のタイル画像の場合、全画素が異なる色のタイル画像を用意しておけば、256×256=65536色の塗りつぶし領域を一つのタイル画像の画素を拡大することによって表現することができる。
次に、画像ファイルを生成する機能を有する制御部100bの動作を説明する。図14は図10で示した制御部100bが画像ファイルを生成する処理手順を示すフローチャートである。まずユーザまたは別の処理モジュールによって画像データを指定する入力がなされたら、画像階層生成部120は、ハードディスクドライブ50から指定された画像データを読み出す(S50)。そして一般的な縮小処理を施すことによって所定の解像度を有する画像データを生成して、複数の解像度の画像データからなる階層データを生成する(S52)。次に画像分割部122は、各階層の画像をタイル画像に分割したうえ、タイル画像の識別番号であるタイル番号と、タイル画像のデータとの対応づけを行う(S54)。実際にはタイル画像のデータはメインメモリ60に格納し、タイル番号とメモリ上のアドレスとを対応づけておく。
タイル番号は、それを切り出した画像上の領域番号と同一の番号でもよいが、本実施の形態のタイル画像のデータは位置の情報から独立しているため、タイル番号も独立して付与してもよい。図10〜図12は前者の例を示している。するとタイル画像参照テーブル作成部126は、その段階におけるタイル画像参照テーブルを作成する(S56)。この段階でのタイル画像参照テーブルは、画像上の領域番号と、そこから切り出したタイル画像のデータとが対応するように作成される。
次に冗長性検出部124は、上述のように、同一の階層画像内での冗長性、および異なる階層間での冗長性について確認する(S58)。具体的には、N階層の画像を走査して、N+1階層の画像のタイル画像の大きさに対応する大きさの領域に単色で構成される領域があるか否かを確認する。これを解像度が高い階層の方向へ繰り返していく。冗長性検出部124はそのほか、N階層の画像をN+1階層の画像の大きさまで拡大した画像とN+1階層の画像との差分画像や、N+1階層の画像の周波数解析により、N+1階層の画像であってもN階層の画像と同程度の情報しか含まない領域があるか否かを確認する。確認手法は画像処理の分野で一般的に行われている手法を適宜適用してよい。
冗長性検出部124によって冗長性を有する領域が検出されたら(S58のY)、タイル画像参照テーブル作成部126は、図10、11に示すように、一つのタイル画像、またはタイル画像の一部のデータを、複数の画像上の領域表示に用いることができるよう、タイル画像参照テーブルを更新する(S60)。このとき、低階層の画像を拡大することによって高階層の画像を表示する場合は、上述のような拡大情報をも記載する。
次に画像ファイル生成部128は、最終的に出力するための画像ファイルを作成する(S62)。ここで冗長性検出部124がS58で冗長性を検出しなかった場合は(S58のN)、S54で分割して生成されたタイル画像のデータを全てメインメモリ60より読み出してタイル番号順に並べ、先頭から画像ブロックに分割していき、各画像ブロックに識別情報を与える。そしてS56で生成したタイル画像参照テーブルとともに画像ファイルとする。
冗長性が検出された場合は(S58のY)、S60で更新した最終的なタイル画像参照テーブルにおいてタイル番号欄204に記載されているタイル番号のタイル画像のデータのみをメインメモリ60より読み出し、タイル番号順に並べ、やはり先頭から画像ブロックに分割して各画像ブロックに識別情報を与える。そしてS60で生成したタイル画像参照テーブルとともに画像ファイルとする。
次に、このようにして生成した画像ファイルに基づき、画像を表示するときの動作を説明する。図15は、本実施の形態における画像ファイルを表示するための処理手順を示すフローチャートである。本処理手順は、図7に示した制御部100aによって実現できる。同フローチャートは、表示領域変更要求によって画像ファイルから必要なデータを読み出しデコードして表示する処理を主に記載しているが、ハードディスクからのロード、必要なデータの先読み処理、バッファメモリへの書き出しなど基本的な流れは図5で示したのと同様である。
まず表示装置12に画像の一部が表示された状態で、ユーザが入力装置20を介して表示領域の変更要求を入力すると、入力情報取得部102はそれを受け付ける(S70)。するとタイル画像特定部110は、要求される表示画像の変更量を導出し、それに基づき新たに表示すべきフレーム座標を決定する(S72)。表示画像の変更量は、仮想空間における上下左右方向の移動量および深さ方向の移動量であり、表示すべきフレーム座標は、それまでに表示されていた表示領域のフレーム座標と導出した変更量により決定できる。
次にタイル画像特定部110は、フレーム座標が示す変更後の表示画像を含む領域の領域番号を取得する(S74)。そしてタイル画像参照テーブルを参照して、取得した領域番号に対応づけられたタイル番号を取得する(S76)。バッファメモリ70に、当該タイル画像のデコードされたデータが格納されていない場合は(S78のN)、デコード部112がタイル番号に基づきタイル画像のデータをメインメモリ60から読み出し、デコードする(S80、S82)。
ここで図11に示すように、表示すべき画像を低解像度のタイル画像を拡大して描画するよう、タイル画像参照テーブルに記載してある場合、デコード部112はタイル画像特定部110からの指示に従い、該当タイル画像を拡大したうえ、必要な領域をバッファメモリ70に格納する(S84のY、S86)。この処理は、該当タイル画像がデコード済み(S78のY)であっても同様に行う。そして拡大処理の有無に関わらず(S84のY、S84のN)、表示画像処理部114は、当該タイル画像のうち新たに表示すべき領域をフレームメモリに描画する(S88)。描画処理には、要求される解像度に応じて、バッファメモリ70に格納されたデータを拡大、縮小する処理も含まれる。
これまで述べたように本実施の形態では、同一階層内のみならず別階層の画像間でも冗長性を確認し、タイル画像のデータを共有することによりデータを効率的に圧縮した。この手法は、一つの画像から作成された解像度の異なる画像データを処理対象としている、という本実施の形態の特徴を活かしている。この特徴をさらに利用すると、タイル画像参照テーブルもまた効率的に圧縮できる可能性が高くなる。
図16はタイル画像参照テーブルの冗長性について説明する図である。同図に示した3つの画像32c、34c、36cはある階層データを構成する画像のうち、第1階層、第2階層、第3階層の画像である。第1階層の画像32cにおける領域250aは、第2階層の画像34cにおける領域252a、第3階層の画像36cにおける領域254aにそれぞれ対応する。ここで例えば領域250aのタイル画像が単色の塗り潰し領域であった場合、原則として、領域252aの4つのタイル画像および領域254aの16個のタイル画像も全て塗りつぶし領域となる。
このような階層データにおいて冗長性を考慮してタイル画像参照テーブルを作成した場合、領域250a、領域252a、領域254aに含まれる全ての領域の領域番号が、同一のタイル番号に対応づけられることになる。図12で例示したタイル画像参照テーブル200においても、同一のタイル番号「4」を参照先とする領域が続いている(領域番号「15」〜{20」)。そこで、タイル画像参照テーブルにおいて、領域番号をグルーピングし、グループごとにタイル画像参照テーブルのデータ自体を圧縮する。圧縮手法は一般的に用いられる技術を適用することができる。
領域のグルーピングに当たっては、番号順に並べた領域番号を適当な箇所で区切るより、異なる階層の複数の画像内の対応する領域が一つのグループに含まれるようにすることが望ましい。これは上述の理由により、このような領域はタイル画像を共有できる可能性が高いためである。
図16の例で、各階層の画像データのうち領域250a、252a、254aを、階層データの側面図260の線250b、252b、254bで表すと、例えば網掛けで示した領域262をグルーピングすれば、当該グループに含まれる領域は全て一つのタイル画像で描画できる、ということになるため、グループの識別番号および参照先のタイル画像の識別番号、という対応づけのデータで十分となり、圧縮効率が高くなる。このように、階層をまたがる領域でグルーピングしてタイル画像参照テーブルを構築することにより、さらにデータの圧縮率を向上させることができる。グルーピングする際の境界は、画像の内容や種類などに鑑み、高い圧縮率が見込める位置をあらかじめ決定しておく。
なおこれまでの説明では、塗りつぶし領域などを低解像度側から特定していくことにより、高解像度の画像は低解像度のタイル画像を参照して描画するようにした。一方、低解像度画像では青空などほぼ塗りつぶし領域であったものが、高解像度画像では小さい鳥が写っていたなど、高解像度の画像が低解像度の画像を継承していない場合がある。
そのため図11で説明したように、参照先の候補となる低解像度のタイル画像を拡大して高解像度の対応する領域と比較することにより、高解像度画像でのみ表れている物の有無を確認するようにしてもよい。そしてもしそのような物が認められたら、その解像度以上の画像は、最も解像度の高いタイル画像を縮小することによって描画するようにしてもよい。この場合もタイル画像参照テーブルは図12で示したのと同様であるが、一の領域番号に対し、高解像度画像の対応領域である複数のタイル画像の識別番号が対応づけられる。
また上述の例では、画像に冗長性がある場合に、複数の領域を一つのタイル画像のデータで表すようにしたが、冗長性がなくとも、ユーザが指定する領域について、一つのタイル画像のデータを参照するようにしてもよい。例えば上述のように、高解像度の画像において写っていた物を、故意に表示しないようにするため、低解像度のタイル画像で代用すべき領域をユーザから受け付け、当該領域の表示には常に低解像度のタイル画像を用いるようにする。あるいは画像の背景など、拡大して表示する必要のない領域は、高解像度の表示であっても低解像度のタイル画像を利用して描画することにより、データサイズをさらに小さくする。いずれの場合も、タイル画像参照データは図12に示したのと同様である。
以上述べた本実施の形態によれば、同一の画像で解像度の異なる画像データで構成される階層データから画像ファイルを生成する際、画像データの本体であるタイル画像のデータを、画像上の位置の情報から独立させる。そのために、画像上の位置を表す領域番号とタイル画像のデータを識別するタイル番号とを対応づけたタイル画像参照テーブルを用意する。このようにすることで、一つの画像データを複数の領域の描画に流用することができるため、元の画像データの一部を破棄し、画像データを圧縮することができる。
元の階層データは、解像度が異なるのみで同一の画像であるため、タイル画像を流用できる場合が多く、高い圧縮効率が見込める。さらに塗りつぶし領域など、タイル画像を流用できる領域は、低解像度画像から容易に特定できるため、それぞれの画像を独立して走査する場合に比べ処理の負荷が抑えられる。
さらに、一つのタイル画像を流用できる領域は空間局所性がある場合が多いため、領域をグルーピングしてタイル画像参照テーブルそのものをデータ圧縮することによりさらにデータサイズを抑えることができる。このとき、画像平面および解像度の軸で構成する仮想空間において領域をグルーピングすることにより、解像度の異なる画像をまたいだ効率のよい圧縮が可能である。
実施の形態2
実施の形態1では、一の画像を入力データとし、タイル画像参照テーブルを含む画像ファイルを生成する機能、および当該画像ファイルを持ちいて画像を表示する機能について説明した。本実施の形態では、実施の形態1で生成した、タイル画像参照テーブルを含む画像ファイルを修正、改変する機能について説明する。本実施の形態は図1で示した画像処理システム1および図4で示した画像処理装置10によって実現することができる。ここでは実施の形態1と異なる点に着目して説明する。
図17は、本実施の形態において画像を修正する機能を有する制御部100cの構成を示している。制御部100cは、修正対象の画像ファイルを取得する画像ファイル取得部318、修正によって更新される領域と更新部分の画像データからなる更新情報を取得する更新情報取得部320、更新後のタイル画像を生成するタイル画像生成部322、タイル画像参照テーブルにおいて参照先を新たなタイル画像のデータとするタイル画像参照テーブル更新部324、修正中の画像を表示する表示画像制御部326、および修正後の画像ファイルを生成する画像ファイル生成部328を含む。
画像ファイル取得部318は、ユーザによる修正対象の画像の指定入力を受け付け、該当する画像ファイルをハードディスクドライブ50から読み出してメインメモリ60に格納する。この画像ファイルは実施の形態1で説明したように画像データとタイル画像参照テーブルを含む。更新情報取得部320は、ユーザが表示装置12に表示された修正対象の画像を見ながら、入力装置20を介して入力した更新情報を取得する。更新情報には上述のとおり、更新すべき領域とその領域における更新後の画像データが含まれる。
タイル画像生成部322は、更新すべき領域に更新後の画像を当てはめた際に更新する必要が生じたタイル画像を特定し、新たなタイル画像を生成する。ここで、更新すべき領域があるタイル画像の一部にのみかかっている場合は、元のタイル画像をメインメモリ60から読み出し、更新すべき領域のみ上書きすることにより新たなタイル画像を生成する。あるタイル画像が全て更新すべき領域に含まれている場合は、更新後の画像を切り出すことによって新たなタイル画像を生成する。生成したタイル画像にはタイル番号を付与する。このときのタイル番号は、元の画像のタイル画像に対して付与済みの番号以外の番号を用いる。
そしてタイル画像生成部322は、生成したタイル画像のデータをメインメモリ60に格納する。この際、画像ファイル取得部318がメインメモリ60に格納した元の画像データはそのままにしておき、新たに生成したタイル画像は別の記憶領域に格納する。このように追加で格納したタイル画像のデータは、追加分のみで画像ブロックを形成する。次にタイル画像参照テーブル更新部324は、メインメモリ60に格納されたタイル画像参照テーブルにおいて、更新すべき領域に含まれる領域番号に対応づけられたタイル番号を、新たに生成したタイル画像のタイル番号に書き換える。
表示画像制御部326は、実施の形態1の図7で示した制御部100aに含まれる機能ブロックで構成してよいが、ここでは図示を省略している。表示画像制御部326は、実施の形態1の図15で説明したのと同様の処理手順により修正対象の画像を表示するが、本実施の形態ではユーザの入力によってタイル画像参照テーブルが更新されていく。それに応じて、画像を描画する際に用いるタイル画像が新たなものに変化する。このようにすることで、表示画像を確認しながら画像を修正、改変することが可能になる。
画像ファイルに含まれる画像データは上述のように、タイル画像のデータをつなげたものである。そして表示時にハードディスクドライブ50から効率よくロードするために、当該一連のデータを区切って画像ブロックとしている。通常、このような画像データに対し画像の一部を更新する場合、既存の画像ブロックの該当タイル画像を上書きすることが考えられる。しかし、更新前後のタイル画像のサイズが等しいとは限らないため、タイル画像の更新には次のような処理が必要となる。
例えば図9の画像ブロックにおいてタイル番号「4」のタイル画像を更新する場合、まずタイル番号「5」以後のタイル画像のデータを別の記憶領域に退避させる。そしてタイル番号「4」のタイル画像を更新した後、退避させたタイル番号「5」以後のタイル画像のデータを更新後のタイル画像「4」のデータの後につなげる。さらに各画像ブロックが基本ブロックサイズを超えないように、タイル番号「0」のタイル画像から再び画像ブロックを形成していく。このような処理を、ユーザが更新情報を入力するたびに行っていては、更新後の画像表示の応答性が悪くなり、修正作業が滞ってしまう可能性が高い。
一方、本実施の形態では、元の画像データを更新せず別の記憶領域に新たに生成したタイル画像を追加するとともにタイル画像参照テーブルを更新する。これにより、上述の更新処理より格段に少ない手順で表示画像を更新することができるため、修正をスムーズに行うことができる。
画像ファイル生成部328は、ユーザが修正を終えたときなどに、新たに生成したタイル画像のデータで元のタイル画像のデータを上書きする。このときは上述のように、後に続くタイル画像の退避、更新するタイル画像の上書き、退避させたタイル画像の復元、といった、データの再構築を行うことにより、無駄な領域がない一連の画像データを生成する。そして更新されたタイル画像参照テーブルを付加して画像ファイルとする。
次に上記の構成によって実現できる動作を説明する。図18は画像処理装置においてユーザが画像を修正、改変する際の処理手順を示すフローチャートである。まずユーザが修正対象の画像ファイルを指定すると、画像ファイル取得部318はハードディスクドライブ50から該当する画像ファイルを読み出しメインメモリ60に格納する(S110)。すると表示画像制御部326は当該画像ファイルの画像を表示装置12に表示する(S112)。なお実施の形態1で説明したのと同様、画像データを全てメインメモリ60に読み出さず、表示に必要な画像ブロックのみを読み出して表示画像の生成に用いるようにしてもよい。
この状態でユーザが表示装置12に表示された画像を見ながら更新情報を入力すると(S114のY)、更新情報取得部320はそれを受け付け、タイル画像生成部322が更新部分の新たなタイル画像を生成してタイル番号を付与したうえメインメモリ60に格納する(S116)。ユーザが行う更新情報の入力は、例えば表示装置12に表示した画像の近傍に、新たに貼り付けたい画像をさらに表示し、ユーザがポインティングデバイスで所望の領域までドラッグさせるなどの操作によってなされる。あるいはポインティングデバイスによって文字や絵を直接描き込む等でもよい。
次にタイル画像参照テーブル更新部324は、タイル画像参照テーブルのうち新たに作成したタイル画像に対応する領域の参照先を、新たなタイル番号に変更する(S118)。すると表示画像制御部326は、新たな参照先となったタイル画像のデータを読み出し、デコードすることによって表示装置12の表示を更新する(S120)。S114からS120までの処理を、修正が終了し更新情報が得られなくなるまで繰り返す。
ここで、S116において前にメインメモリ60に格納したタイル画像のデータと同じ領域のタイル画像を再度更新する場合は、前に作成して格納したタイル画像を上書きするようにして、一時的にメインメモリ60が圧迫されるのを防止する。そのため、前に格納したタイル画像のデータより上書きするデータのサイズが大きいときに備え、新たに作成した異なる領域のタイル画像をメインメモリ60に格納する場合は、格納済みのタイル画像のデータの格納領域から所定の間隔を空けたアドレスに格納するようにする。
修正が終了したことをユーザからの入力などにより検知したら(S114のN)、画像ファイル生成部328は、メインメモリ60に格納しておいた、新たに作成したタイル画像を、元の画像ファイルの画像データに組み込んで、画像データを再構築する(S122)。具体的には上述のとおり、更新前のタイル画像のデータを破棄して同じ位置に新たなタイル画像のデータを挿入したうえで全てのタイル画像のデータをつなげていく。そして、そのように再構築された画像データと、S118で更新された最終的なタイル画像参照テーブルを、画像ファイルとして生成する(S124)。
S122では、新たなタイル画像データを組み入れた後の画像データに対し、実施の形態1で説明したのと同様の手法により冗長性の確認、およびタイル画像参照テーブルのさらなる更新を行うことにより、データを圧縮するようにしてもよい。またタイル画像参照テーブルも実施の形態1と同様に圧縮してよい。
修正中、ユーザが、直前の画像の更新を取り消す操作(Undo)を行った場合は、タイル画像参照テーブル更新部324がタイル画像参照テーブルにおいて、当該領域に対応づけた参照先を更新前のタイル番号に戻す。タイル画像のデータそのものは更新していないため、画像を前の状態に戻すことが容易にできる。操作の再履行(Redo)でも同様に、タイル画像参照テーブルの参照先を変更する。
なお同じタイル画像の領域が複数回修正された場合、前述のように前に生成してメインメモリ60に格納されたタイル画像を上書きせずに、新たに生成したデータは別のメモリ領域に格納するようにしてもよい。このようにすることで、同じタイル画像の領域を複数回修正した場合に、タイル画像参照テーブルの参照先を変更するのみで、修正順を踏襲してUndo、Redoを多段階で行うことができる。
なお、修正操作において画像に別の画像を拡大して貼り付ける場合、拡大した画像データを生成せず、貼り付ける画像の元のデータを参照するようにタイル画像参照テーブルを更新してもよい。すなわち、実施の形態1の図11で説明したように、貼り付ける画像を拡大したタイル画像のデータの情報量は元の画像のそれと差がないため、画像データとして元から用意せずとも、表示時に拡大することで同じ表示画像が得られる。このようにしてデータサイズの増大を防止できる。
実施の形態3
本実施の形態では、実施の形態2で示した画像の修正機能を応用した画像作成機能について説明する。本実施の形態は図1で示した画像処理システム1、図4で示した画像処理装置10、図17で示した制御部100cと同様の構成によって実現することができる。ここでは実施の形態2と異なる点に着目して説明する。
実施の形態2では、元から階層データが存在する画像ファイルを修正したが、本実施の形態では初めから画像作成を行うため、階層データは存在しない。ユーザは白い表示画面をキャンバスとしてポインティングデバイスによって絵を描くなどして画像を作成する。あらかじめ用意した写真や絵のデータを貼り付けるなどでもよい。
図19は画像作成作業前後の、表示画像、階層データ、タイル画像データの変化を模式的に示している。画像作成作業前、すなわち初期の状態では、表示画像350はキャンバスを表すため、白い塗りつぶし画像となる。このときは拡大、縮小の概念が存在しないため、階層データは画像352一層のみでよい。その領域は、タイル画像参照テーブルにおいて、一つの白い塗りつぶし画像からなるタイル画像データ354に対応づけておく。
ユーザが表示画像350のキャンバスに何らかの描画を行い、表示画像が表示画像356のようになると、その時点で拡大、縮小の概念が発生し、階層データとして最下層の画像358に解像度の高い階層の画像360を追加する。追加する階層は2つ以上でもよく、許容される最高解像度などに応じてあらかじめ定めておいてもよいし、ユーザが行った描画の内容によって適応的に決定してもよい。
このように描画によって階層データにおける階層を増加させても、手が加えられていない領域については白い塗りつぶしのままである。そのため、描画された部分のみ、新たにタイル画像のデータを生成して追加する。図19では、最低階層の画像358のタイル画像データ364、および、新たに追加した階層の画像360のうち描画された領域のタイル画像データ366のみを生成する。そして、当該画像360のうち描画されていない領域は、キャンバスとして元から準備した白い塗りつぶしのタイル画像データ354を参照して描画を行う。階層データにおける領域とタイル画像データの対応づけは、タイル画像参照テーブルで設定する。
本実施の形態の画像作成機能を有する制御部100の動作は、実施の形態2において図18を用いて示したのと同様である。ただし上述のように、描画されていない領域は常に最初に用意した白い塗りつぶしのタイル画像を参照し、描画が進むにつれ階層やタイル画像のデータを追加していく点が特徴的である。本実施の形態では、タイル画像参照テーブルによってタイル画像のデータを階層データ上の位置から独立させているため、このように、最低限のデータの変更で、拡大、縮小しながらユーザ自身が画像を作成していく機能を実現することができる。
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
例えば、実施の形態1では基本的に、領域番号からタイル番号のデータが一つに決まるように、タイル画像参照テーブルを構成し、そのタイル画像のデータを用いて得られる一つの画像を必要な領域に当てはめた。一方、タイル画像参照テーブルにおいて一の領域番号を複数のタイル画像のデータに対応させ、当該領域を表示する際は対応する複数のタイル画像を順に表示することによりアニメーションを表示できるようにしてもよい。この態様を画像上の一部の領域のみに適用すれば、例えば画像内で新たに更新された箇所や重要な箇所のマークが点滅するように表示することにより、ユーザに当該箇所を注目させることができる。
また複数の画像の階層データを用意し、全ての領域番号に、当該複数の画像を構成するタイル画像のうち、同じ領域を表す複数のタイル画像のデータを対応づけることにより、画像全体に渡って表示される画像が切り替わるようにしてもよい。例えば、屋上にある固定カメラで撮影した朝、昼、夜の3つの風景画像の階層データを用意し、上述のような対応をタイル画像参照テーブルに設定する。表示を切り替える際はクロスフェードさせるなどして滑らかにつなぐことにより、拡大、縮小を可能とした状態で一日の風景の変化を表示することができる。
一般的に、ゲーム装置などで表示されるポリゴンモデルでは、一つのモデルに対して複数のテクスチャを用意し、それをシェーダーで処理して最終画像を生成する。このように複数のテクスチャデータによって一つの画像を生成する場合に、これらの複数のテクスチャデータを各領域番号に対応づけることにより、容易に最終画像を生成することができる。例えば、油絵の画像ファイルを生成する場合、平面的な絵のタイル画像と、凹凸情報を表すバンプマップのタイル画像とを各領域番号に対応づける。ここで絵のタイル画像とバンプマップのタイル画像はそれぞれ階層構造をなしている。このような対応づけに基づき領域ごとにシェーダーによって画像を生成していけば、拡大、縮小が可能な画像においてバンプマッピングを容易に実現できる。また階層データをテクスチャとしてポリゴンモデルに適用することが容易になる。
さらに、各領域番号に対応づけた複数のタイル画像を、画像の奥行き方向の変化を表現する画像とすることで、ボクセルデータを形成することができる。ボクセルデータでは一般的に、ボックスの端の領域などで情報量が少なく、表示時は実施の形態1のようにタイル画像を共有できることが多いため、データ圧縮効果が顕著になる。さらに、各領域番号に対応づけた奥行き方向を表現する複数のタイル画像のそれぞれを、さらに複数のタイル画像とすることにより、ボクセル表示におけるアニメーションやCGエフェクトが可能となる。
また、画像を表示中、ネットワークなどを介してデータを取得したら、リアルタイムでタイル画像参照テーブルにおける参照先を変更するようにしてもよい。例えば、ニュース画像やスポーツの点数画像などをネットワークを介して取得するたびに、画像の一部の領域に対応づけるタイル画像を、当該新たに取得したデータに更新する。すると画像を表示中にリアルタイムな情報を追加で表示することが容易にできる。
1 画像処理システム、 10 画像処理装置、 12 表示装置、 20 入力装置、 30 第0階層、 32 第1階層、 34 第2階層、 36 第3階層、 38 タイル画像、 44 表示処理部、 50 ハードディスクドライブ、 60 メインメモリ、 70 バッファメモリ、 72 バッファ領域、 74 バッファ領域、 90 フレームメモリ、 100 制御部、 102 入力情報取得部、 106 ロードブロック決定部、 108 ロード部、 110 タイル画像特定部、 112 デコード部、 114 表示画像処理部、 120 画像階層生成部、 122 画像分割部、 124 冗長性検出部、 126 タイル画像参照テーブル作成部、 128 画像ファイル生成部、 200 タイル画像参照テーブル、 318 画像ファイル取得部、 320 更新情報取得部、 322 タイル画像生成部、 324 タイル画像参照テーブル更新部、 326 表示画像制御部、 328 画像ファイル生成部。

Claims (19)

  1. 入力された画像データから、異なる解像度の複数の画像データを生成し、解像度順に階層化して構成される階層データを生成する画像階層生成部と、
    前記階層データを構成する各階層の画像データを所定サイズのタイル画像に分割する画像分割部と、
    前記階層データを構成する各階層の画像データの分割後の各領域と、当該領域を描画する際に用いる前記タイル画像のデータとを対応づけたタイル画像参照テーブルを作成するタイル画像参照テーブル作成部と、
    前記タイル画像のデータと前記タイル画像参照テーブルとを含む画像ファイルを生成する画像ファイル生成部と、を備えたことを特徴とする画像ファイル生成装置。
  2. 前記タイル画像参照テーブルは、一のタイル画像のデータを複数の領域に対応づけ、前記画像ファイルは、前記タイル画像参照テーブルにおいて対応づけられていないタイル画像のデータを含まないことを特徴とする請求項1に記載の画像ファイル生成装置。
  3. ある解像度の階層の画像を解析することによって、当該解像度の画像に含まれるタイル画像のデータを流用して描画できる、当該解像度より高解像度の階層の画像の領域を特定する冗長性検出部をさらに備え、
    前記タイル画像参照テーブル作成部は、前記冗長性検出部が特定した領域を、流用するタイル画像のデータに対応づけることを特徴とする請求項1または2に記載の画像ファイル生成装置。
  4. 前記冗長性検出部は、解析対象の画像を構成するタイル画像のうち、単色で構成されるタイル画像を特定し、前記高解像度の階層の画像のうち、特定したタイル画像の領域に対応する領域を、当該タイル画像のデータを流用して描画できる領域として特定することを特徴とする請求項3に記載の画像ファイル生成装置。
  5. 前記冗長性検出部は、解析対象の画像を、前記高解像度の階層の画像サイズまで拡大した画像と、前記高解像度の階層の画像とを比較し、その差分がしきい値以下である前記高解像度の階層の画像内の領域を、解析対象の画像のタイル画像のデータを流用して描画できる領域として特定することを特徴とする請求項3または4に記載の画像ファイル生成装置。
  6. 前記タイル画像参照テーブル作成部は、前記分割後の各領域を、異なる階層の画像にまたがるようにグループに分け、当該グループごとに、各領域と当該領域を描画する際に用いる前記タイル画像のデータとを対応づけたデータを圧縮することを特徴とする請求項1から5のいずれかに記載の画像ファイル生成装置。
  7. 一の画像で異なる解像度の画像データを所定サイズに分割してなるタイル画像のデータと、前記画像データを解像度順に階層化した階層構造における各画像データの分割後の各領域と当該領域を描画する際に用いる前記タイル画像のデータとを対応づけたタイル画像参照テーブルを含む画像ファイルを保持する記憶装置と、
    画像平面上の移動および解像度の変更を含む表示領域変更要求をユーザから受け付ける入力情報取得部と、
    前記表示領域変更要求に応じて新たに表示すべき領域を描画するのに必要なタイル画像のデータを、前記タイル画像参照テーブルを参照することによって特定するタイル画像特定部と、
    特定したタイル画像のデータを前記記憶装置より読み出し、新たに表示すべき領域を描画する表示画像処理部と、
    を備えたことを特徴とする画像処理装置。
  8. 前記画像ファイルは、前記タイル画像参照テーブルにおいて対応づけられていないタイル画像のデータを含まないことを特徴とする請求項7に記載の画像処理装置。
  9. 前記タイル画像参照テーブルは、ある解像度の画像の一領域と、当該領域を描画する際に流用できる、当該解像度より低解像度の画像に含まれるタイル画像のデータとを対応づけることを特徴とする請求項7または8に記載の画像処理装置。
  10. 前記タイル画像参照テーブルは、ある解像度の領域の一領域と、前記低解像度の画像に含まれるタイル画像のデータとを対応づけるとともに、前記タイル画像を用いて前記領域を描画する際の拡大率をさらに記載し、
    前記表示画像処理部は、前記タイル画像を前記拡大率で拡大することにより前記領域を描画することを特徴とする請求項9に記載の画像処理装置。
  11. 前記入力情報取得部は、表示対象の画像の一部を更新する要求をユーザより受け付け、
    更新すべき領域の前記タイル画像のデータを新たに生成し、前記記憶装置のうち、前記画像ファイルに含まれる更新前のタイル画像のデータと異なる記憶領域に格納するタイル画像生成部と、
    前記タイル画像参照テーブルのうち、更新すべき領域に対応づけられているタイル画像のデータを、新たに生成したタイル画像のデータに更新するタイル画像参照テーブル更新部と、をさらに備え、
    前記表示画像処理部は、タイル画像参照テーブルの更新に応じて、新たに生成したタイル画像のデータを読み出し、表示画像を描画し直すことを特徴とする請求項7から10のいずれかに記載の画像処理装置。
  12. 画像データをメモリより読み出して異なる解像度の複数の画像データを生成し、解像度順に階層化して構成される階層データを生成するステップと、
    前記階層データを構成する各階層の画像データを所定サイズのタイル画像に分割するステップと、
    前記階層データを構成する各階層の画像データの分割後の各領域と、当該領域を描画する際に用いる前記タイル画像のデータとを対応づけたタイル画像参照テーブルを作成するステップと、
    前記タイル画像のデータと前記タイル画像参照テーブルとを含む画像ファイルを生成してメモリに出力するステップと、を含むことを特徴とする画像ファイル生成方法。
  13. 前記タイル画像参照テーブルは、一のタイル画像のデータを複数の領域に対応づけ、前記画像ファイルは、前記タイル画像参照テーブルにおいて対応づけられていないタイル画像のデータを含まないことを特徴とする請求項12に記載の画像ファイル生成方法。
  14. 一の画像で異なる解像度の画像データを所定サイズに分割してなるタイル画像のデータと、前記画像データを解像度順に階層化した階層構造における各画像データの分割後の各領域と当該領域を描画する際に用いる前記タイル画像のデータとを対応づけたタイル画像参照テーブルを含む画像ファイルをメモリより読み出すステップと、
    画像平面上の移動および解像度の変更を含む表示領域変更要求をユーザから受け付けるステップと、
    前記表示領域変更要求に応じて新たに表示すべき領域を描画するのに必要なタイル画像のデータを、前記タイル画像参照テーブルを参照することによって特定するステップと、
    特定したタイル画像のデータに基づき、新たに表示すべき領域を描画するステップと、を含むことを特徴とする画像処理方法。
  15. 前記画像ファイルは、前記タイル画像参照テーブルにおいて対応づけられていないタイル画像のデータを含まないことを特徴とする請求項14に記載の画像処理方法。
  16. 表示対象の画像の一部を更新する要求をユーザより受け付けるステップと、
    更新すべき領域の前記タイル画像のデータを新たに生成し、前記メモリのうち前記画像ファイルに含まれる更新前のタイル画像のデータと異なる記憶領域に格納するステップと、
    前記タイル画像参照テーブルのうち、更新すべき領域に対応づけられているタイル画像のデータを、新たに生成したタイル画像のデータに更新するステップと、
    タイル画像参照テーブルの更新に応じて、新たに生成したタイル画像のデータをメモリより読み出し、表示画像を描画し直すステップと、
    をさらに含むことを特徴とする請求項14または15に記載の画像処理方法。
  17. 画像データをメモリより読み出して異なる解像度の複数の画像データを生成し、解像度順に階層化して構成される階層データを生成する機能と、
    前記階層データを構成する各階層の画像データを所定サイズのタイル画像に分割する機能と、
    前記階層データを構成する各階層の画像データの分割後の各領域と、当該領域を描画する際に用いる前記タイル画像のデータとを対応づけたタイル画像参照テーブルを作成する機能と、
    前記タイル画像のデータと前記タイル画像参照テーブルとを含む画像ファイルを生成してメモリに出力する機能と、
    をコンピュータに実現させることを特徴とするコンピュータプログラム。
  18. 一の画像で異なる解像度の画像データを所定サイズに分割してなるタイル画像のデータと、前記画像データを解像度順に階層化した階層構造における各画像データの分割後の各領域と当該領域を描画する際に用いる前記タイル画像のデータとを対応づけたタイル画像参照テーブルを含む画像ファイルをメモリより読み出す機能と、
    画像平面上の移動および解像度の変更を含む表示領域変更要求をユーザから受け付ける機能と、
    前記表示領域変更要求に応じて新たに表示すべき領域を描画するのに必要なタイル画像のデータを、前記タイル画像参照テーブルを参照することによって特定する機能と、
    特定したタイル画像のデータに基づき、新たに表示すべき領域を描画する機能と、
    をコンピュータに実現させることを特徴とするコンピュータプログラム。
  19. 画像の少なくとも一部をディスプレイに表示するために記憶装置から読み出される画像ファイルのデータ構造であって、
    一の画像で異なる解像度の画像データを所定サイズに分割してなるタイル画像のデータと、
    前記画像データを解像度順に階層化した階層構造における各画像データの分割後の各領域と当該領域を描画する際に用いる前記タイル画像のデータとを対応づけ、表示領域変更要求に応じて新たに表示すべき領域を描画するのに必要なタイル画像のデータを特定するために参照されるタイル画像参照テーブルと、を対応づけ、
    前記タイル画像参照テーブルは、一のタイル画像のデータを複数の領域に対応づけ、前記画像ファイルは前記タイル画像参照テーブルにおいて対応づけられていないタイル画像のデータを含まないことを特徴とする画像ファイルのデータ構造。
JP2009175807A 2009-07-28 2009-07-28 画像ファイル生成装置、画像処理装置、画像ファイル生成方法、および画像処理方法 Active JP5037574B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2009175807A JP5037574B2 (ja) 2009-07-28 2009-07-28 画像ファイル生成装置、画像処理装置、画像ファイル生成方法、および画像処理方法
PCT/JP2010/001795 WO2011013263A1 (ja) 2009-07-28 2010-03-12 画像ファイル生成装置、画像処理装置、画像ファイル生成方法、および画像処理方法
KR1020127004839A KR101286148B1 (ko) 2009-07-28 2010-03-12 화상파일 생성장치, 화상처리장치, 화상파일 생성방법, 및 화상처리방법
US13/384,880 US8571338B2 (en) 2009-07-28 2010-03-12 Image file generation device, image processing device, image file generation method, and image processing method
MX2012000786A MX2012000786A (es) 2009-07-28 2010-03-12 Dispositivo de generacion de archivo de imagen, dispositivo de procesamiento de imagenes, metodo de generacion de archivo de imagen, y metodo de procesamiento de imagenes.
EP10804016.3A EP2464093B1 (en) 2009-07-28 2010-03-12 Image file generation device, image processing device, image file generation method, and image processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009175807A JP5037574B2 (ja) 2009-07-28 2009-07-28 画像ファイル生成装置、画像処理装置、画像ファイル生成方法、および画像処理方法

Publications (2)

Publication Number Publication Date
JP2011028653A JP2011028653A (ja) 2011-02-10
JP5037574B2 true JP5037574B2 (ja) 2012-09-26

Family

ID=43528938

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009175807A Active JP5037574B2 (ja) 2009-07-28 2009-07-28 画像ファイル生成装置、画像処理装置、画像ファイル生成方法、および画像処理方法

Country Status (6)

Country Link
US (1) US8571338B2 (ja)
EP (1) EP2464093B1 (ja)
JP (1) JP5037574B2 (ja)
KR (1) KR101286148B1 (ja)
MX (1) MX2012000786A (ja)
WO (1) WO2011013263A1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5520890B2 (ja) * 2011-07-04 2014-06-11 株式会社ソニー・コンピュータエンタテインメント 画像処理装置、画像データ生成装置、画像処理方法、画像データ生成方法、および画像ファイルのデータ構造
JP5474887B2 (ja) * 2011-08-01 2014-04-16 株式会社ソニー・コンピュータエンタテインメント 動画データ生成装置、動画像表示装置、動画データ生成方法、動画像表示方法、および動画像ファイルのデータ構造
US8612491B2 (en) * 2011-10-25 2013-12-17 The United States Of America, As Represented By The Secretary Of The Navy System and method for storing a dataset of image tiles
JP5548671B2 (ja) * 2011-12-27 2014-07-16 株式会社ソニー・コンピュータエンタテインメント 画像処理システム、画像提供サーバ、情報処理装置、および画像処理方法
US8773463B2 (en) 2012-01-20 2014-07-08 Nephosity, Inc. Systems and methods for image data management
KR20130139622A (ko) * 2012-06-13 2013-12-23 한국전자통신연구원 융합보안 관제 시스템 및 방법
US10245446B2 (en) 2013-03-14 2019-04-02 University Of Iowa Research Foundation Marker-flange for MRI-guided brachytherapy
KR102048885B1 (ko) 2013-05-09 2019-11-26 삼성전자 주식회사 그래픽 프로세싱 유닛, 이를 포함하는 그래픽 프로세싱 시스템, 및 이를 이용한 렌더링 방법
EP3013065B1 (en) * 2013-07-19 2019-10-16 Sony Corporation Information processing device and method
JP6692087B2 (ja) * 2013-12-27 2020-05-13 サン パテント トラスト 配信方法、およびシステム
US10019969B2 (en) 2014-03-14 2018-07-10 Apple Inc. Presenting digital images with render-tiles
KR102111740B1 (ko) * 2014-04-03 2020-05-15 삼성전자주식회사 영상 데이터를 처리하는 방법 및 디바이스.
US10229478B2 (en) * 2014-09-26 2019-03-12 Samsung Electronics Co., Ltd. Image processing apparatus and image processing method
JP6197840B2 (ja) * 2015-08-24 2017-09-20 コニカミノルタ株式会社 画像処理装置、電子ファイル生成方法及びプログラム
KR101861929B1 (ko) * 2016-09-28 2018-05-28 가천대학교 산학협력단 관심 영역을 고려한 가상 현실 서비스 제공
JP6693893B2 (ja) 2017-01-16 2020-05-13 株式会社Soken 走路認識装置
CN109388448B (zh) * 2017-08-09 2020-08-04 京东方科技集团股份有限公司 图像显示方法、显示系统以及计算机可读存储介质
US20220138901A1 (en) * 2017-08-09 2022-05-05 Beijing Boe Optoelectronics Technology Co., Ltd. Image display method, image processing method, image processing device, display system and computer-readable storage medium
CN109542573B (zh) * 2018-11-28 2021-12-07 北京龙创悦动网络科技有限公司 一种场景显示方法和装置
US20210329348A1 (en) * 2020-04-16 2021-10-21 Sony Corporation Memory management in advanced television systems committee (atsc) 3.0 system
CN111985430A (zh) * 2020-08-27 2020-11-24 深圳前海微众银行股份有限公司 图像数据标注方法、装置、设备及可读存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07131658A (ja) * 1993-10-29 1995-05-19 Canon Inc 画像通信装置
SG64486A1 (en) 1997-03-27 1999-04-27 Sony Corp Method and apparatus for information processing computer readable medium and authoring system
US6763139B1 (en) * 1998-07-03 2004-07-13 Canon Kabushiki Kaisha Image coding method and apparatus for localized decoding at multiple resolutions
KR100405060B1 (ko) * 2000-08-24 2003-11-07 휴먼드림 주식회사 데이터 통신망을 통한 디지털 확대 이미지 제공방법,디지털 확대 이미지 제공장치
JP2006042117A (ja) * 2004-07-29 2006-02-09 Ricoh Co Ltd 画像処理装置、画像処理方法、画像検索システム及びプログラム
JP4050777B1 (ja) 2007-04-06 2008-02-20 株式会社デジタルマックス 画像表示システム

Also Published As

Publication number Publication date
MX2012000786A (es) 2012-02-28
US8571338B2 (en) 2013-10-29
EP2464093A4 (en) 2012-12-19
EP2464093A1 (en) 2012-06-13
JP2011028653A (ja) 2011-02-10
EP2464093B1 (en) 2016-09-21
WO2011013263A1 (ja) 2011-02-03
KR20120041769A (ko) 2012-05-02
KR101286148B1 (ko) 2013-07-15
US20120189221A1 (en) 2012-07-26

Similar Documents

Publication Publication Date Title
JP5037574B2 (ja) 画像ファイル生成装置、画像処理装置、画像ファイル生成方法、および画像処理方法
WO2011052117A1 (ja) 画像ファイル生成装置、画像処理装置、画像ファイル生成方法、画像処理方法、および画像ファイルのデータ構造
JP5368254B2 (ja) 画像ファイル生成装置、画像処理装置、画像ファイル生成方法、画像処理方法、および画像ファイルのデータ構造
EP2330587B1 (en) Image processing device and image processing method
JP5419822B2 (ja) 画像処理装置、画像表示装置、画像処理方法、および画像ファイルのデータ構造
US8947448B2 (en) Image processing device, image data generation device, image processing method, image data generation method, and data structure of image file
US9202440B2 (en) Information processing apparatus, information processing method, and data structure of content file
JP5296656B2 (ja) 画像処理装置および画像処理方法
JP2005514711A (ja) ゾーン・レンダリングのための効率的なグラフィックス状態管理
KR20150081638A (ko) 전자장치 및 전자장치에서의 웹 플랫폼 동작방법
US9697638B2 (en) Image processing apparatus, image processing method, and data structure of image file
KR20170038525A (ko) 그래픽 프로세싱 장치 및 그래픽 프로세싱 장치의 동작 방법
US9047680B2 (en) Information processing apparatus, information processing method, and data structure of content files
JP2011134101A (ja) 画像処理装置、画像データ生成装置、画像処理方法、画像データ生成方法、および画像ファイルのデータ構造
JP5331432B2 (ja) 画像処理装置および画像処理方法
JP5520890B2 (ja) 画像処理装置、画像データ生成装置、画像処理方法、画像データ生成方法、および画像ファイルのデータ構造
JP5061177B2 (ja) 画像処理装置、画像データ生成装置、画像処理方法、画像データ生成方法、および画像ファイルのデータ構造

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20101125

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111011

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120619

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120704

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150713

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5037574

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250