ところが、特許文献2において提案されている符号化方式を用いて符号化した圧縮画像を伸長する場合でも、オリジナル画像の大きさに対して描画領域の大きさがかなり小さな表示装置(例えば、PC/PDA/携帯端末などの表示装置)では、表示装置の面積の割に、表示装置に画像が描画されるまで多くの時間を要してしまうため、問題の根本的な解決には至っていない。
本発明は、表示装置の描画領域に対応するブロックの圧縮符号が先に伸長されて描画された後、描画領域に描画される画像を移動させた場合であっても移動に応じた画像を高速に描画することができる画像処理装置、画像表示装置、プログラム、記憶媒体、画像処理方法及び画像表示システムを提供することを目的とする。
本発明は、描画領域に描画される画像を移動させた場合の画像描画の更なる高速化を図ることができる画像処理装置、画像表示装置、プログラム、記憶媒体、画像処理方法及び画像表示システムを提供することを目的とする。
請求項1記載の発明の画像処理装置は、画像データを複数に分割したブロック毎に符号化されている圧縮符号を、前記各ブロック毎に伸長するブロック伸長手段を具備する画像処理装置において、表示装置の描画領域に描画できるブロックに相当する符号を伸長して、前記表示装置に描画させる描画制御手段を備える。
ここで、描画領域とは、画像が描画される全ての領域をいう。例えば、表示装置全体への描画領域(PDA、palmTopPC、LegacyPC等)、マルチウィンドウ時の特定のウィンドウに対する描画領域(通常のパーソナルコンピュータ等)、あるアプリケーションに画像を貼り付ける時の描画領域(アルバムソフトウェアへのサムネール画像の貼り付け等)である。
したがって、表示装置の描画領域に描画できるブロックに相当する符号を伸長して、表示装置に描画させることにより、表示装置の描画領域に対応するブロックの圧縮符号が伸長されて描画されることで、従来の伸長方式よりもあたかも高速に伸長しているようにみせることが可能になるので、画像描画の際の利用者の待ち時間を短縮化することが可能になる。
請求項2記載の発明の画像処理装置は、画像データを複数に分割したブロック毎に符号化されている圧縮符号を、前記各ブロック毎に伸長するブロック伸長手段を具備する画像処理装置において、表示装置の描画領域に描画できるブロックに相当する符号を伸長して、前記表示装置に描画した後、前記表示装置の描画領域に描画されていないブロックに相当する符号を伸長する描画制御手段を備える。
したがって、表示装置の描画領域に描画できるブロックに相当する符号を伸長して、表示装置に描画した後、表示装置の描画領域に描画されていないブロックに相当する符号を伸長することにより、表示装置の描画領域に対応するブロックの圧縮符号が先に伸長されて描画されることで、従来の伸長方式よりもあたかも高速に伸長しているようにみせることが可能になるので、画像描画の際の利用者の待ち時間を短縮化することが可能になる。
請求項3記載の発明の画像処理装置は、画像データを複数に分割したブロック毎に符号化されている圧縮符号を、前記各ブロックについて伸長するブロック伸長手段と、描画領域を指定して表示装置に描画させる描画制御手段と、この描画制御手段から前記表示装置に描画させる描画領域を示す描画領域信号を受け取って当該描画領域に対応する前記ブロックを抽出するブロック抽出手段と、このブロック抽出手段により抽出された前記ブロックの圧縮符号を前記ブロック伸長手段により伸長させる描画領域ブロック伸長手段と、伸長された圧縮符号に応じた画像を記憶する伸長画像記憶手段と、前記描画領域ブロック伸長手段による前記描画領域に係る前記ブロックの圧縮符号の伸長が完了した後、指定された描画領域に対応する伸長が完了したことを示す描画可能信号を前記描画制御手段に対して出力する描画可能信号出力手段と、この描画可能信号出力手段から描画可能信号を受け取って前記伸長画像記憶手段に記憶されている伸長された圧縮符号に応じた画像を前記表示装置の指定された描画領域に描画させる指定領域描画手段と、を備える。
したがって、描画制御手段から渡された描画領域信号が示す描画領域に該当するブロックの圧縮符号が伸長された後、描画制御手段に対して指定された描画領域に対応するブロックの圧縮符号の伸長が完了したことを示す描画可能信号が出力され、表示装置の指定された描画領域に伸長された圧縮符号に応じた画像を描画させる。これにより、全圧縮符号の伸長完了前に、指定された描画領域に対応するブロックの圧縮符号が先に伸長されて描画されることで、従来の伸長方式よりもあたかも高速に伸長しているようにみせることが可能になるので、画像描画の際の利用者の待ち時間を短縮化することが可能になる。
請求項4記載の発明の画像処理装置は、圧縮符号の伸長の際に表示装置の描画領域に対応するブロックの圧縮符号を先に伸長して前記描画領域に描画するようにした画像処理装置において、前記描画領域に描画される描画画像の移動を指示する描画画像移動指示手段と、この描画画像移動指示手段により前記描画領域に描画される描画画像の移動が指示された場合、当該移動指示に基づく移動後の前記描画領域に対応するブロックの圧縮符号を伸長して前記描画領域に描画する移動後画像描画手段と、を備える。
したがって、表示装置の描画領域に対応するブロックの圧縮符号が先に伸長されて描画された後、描画領域に描画される描画画像の移動が指示された場合には、当該移動指示に基づく移動後の描画領域に対応するブロックの圧縮符号が伸長されて描画領域に描画される。これにより、描画領域に描画される画像を移動させた場合であっても移動に応じた画像を高速に描画することが可能になる。
請求項5記載の発明は、請求項4記載の画像処理装置において、前記描画画像移動指示手段による前記描画領域に描画される描画画像の移動を予測し、当該予測に基づく移動後の前記描画領域に対応するブロックの圧縮符号を予め伸長する予測ブロック伸長手段をさらに備え、この予測ブロック伸長手段により予測されて圧縮符号を伸長されたブロックが、前記描画画像移動指示手段による移動指示に基づく移動後の前記描画領域に対応するブロックに一致する場合には、前記移動後画像描画手段は、当該予測伸長したブロックを前記描画領域に描画する。
したがって、描画領域に描画される描画画像の移動に伴って次に伸長されるであろうブロックが予測されて伸長され、当該予測されたブロックが移動後の描画領域に対応するブロックに一致する場合には、改めて伸長することなく描画に移行することが可能になる。これにより、描画領域に描画される画像を移動させた場合の画像描画の更なる高速化を図ることが可能になる。
請求項6記載の発明は、請求項5記載の画像処理装置において、前記予測ブロック伸長手段は、前記描画画像移動指示手段が表示装置の描画領域における画像を移動させる描画位置移動手段に基づく場合には、当該描画位置移動手段の有する特性に応じて描画画像の移動を予測する。
したがって、描画位置移動手段に基づいて表示装置の描画領域における画像が移動される場合には、当該描画位置移動手段の有する特性に応じて描画画像の移動が予測される。これにより、予測精度を高めることが可能になる。
請求項7記載の発明は、請求項6記載の画像処理装置において、前記描画位置移動手段がスクロールバーを用いた画素単位のスクロール移動である場合には、前記予測ブロック伸長手段は、スクロール方向に直交する方向に存在するブロックが、前記描画領域に次に描画されるブロックであると予測する。
したがって、スクロールバーを用いた画素単位のスクロール移動によって表示装置の描画領域における画像が移動される場合には、スクロール方向に直交する方向に存在するブロックが、描画領域に次に描画されるブロックであると予測される。これにより、画素単位のスクロール移動はユーザが関心ある領域まで進んだか否かを確実に確認可能であり、それまでと同じ方向にスクロールする確率は低く、スクロール方向に直交する方向へのスクロールに移行する確率が高いことから、次に描画されるブロックを確実に予測することが可能になる。
請求項8記載の発明は、請求項6記載の画像処理装置において、前記描画位置移動手段がスクロールバーを用いたページ単位のスクロール移動である場合には、前記予測ブロック伸長手段は、スクロール方向の延長上に存在するブロックが、前記描画領域に次に描画されるブロックであると予測する。
ここで、ページ単位とは1描画領域分のことをいう。
したがって、スクロールバーを用いたページ単位のスクロール移動によって表示装置の描画領域における画像が移動される場合には、スクロール方向の延長上に存在するブロックが、描画領域に次に描画されるブロックであると予測される。これにより、ページ単位のスクロール移動は最初に大雑把に移動し、次に同じ方向で細かく調整する確率が高いことから、次に描画されるブロックを確実に予測することが可能になる。
請求項9記載の発明は、請求項6記載の画像処理装置において、前記描画位置移動手段がスクロールバーを用いたページ単位のスクロール移動である場合には、前記予測ブロック伸長手段は、最初の描画位置とスクロール移動先の描画位置の間に存在するブロックが、前記描画領域に次に描画されるブロックであると予測する。
したがって、スクロールバーを用いたページ単位のスクロール移動によって表示装置の描画領域における画像が移動される場合には、スクロール方向の延長上に存在するブロックが、描画領域に次に描画されるブロックであると予測される。これにより、ページ単位のスクロール移動は最初に大雑把に移動し、次に最初の描画位置とスクロール移動先の描画位置の間で細かく調整する確率が高いことから、次に描画されるブロックを確実に予測することが可能になる。
請求項10記載の発明は、請求項6記載の画像処理装置において、前記描画位置移動手段がランダムアクセス手段を用いた移動である場合には、前記予測ブロック伸長手段は、画像の中央付近に存在するブロックが、描画領域に次に描画されるブロックであると予測する。
したがって、ランダムアクセス手段によって表示装置の描画領域における画像が移動される場合には、画像の中央付近に存在するブロックが、描画領域に次に描画されるブロックであると予測される。これにより、例えばデジタルカメラでの使用を想定すると被写体画像の中央を描画領域の中央付近に位置させることが一般的であることから、次に描画されるブロックを確実に予測することが可能になる。
請求項11記載の発明は、請求項6記載の画像処理装置において、前記描画位置移動手段が手のひらツールを用いた移動である場合には、前記予測ブロック伸長手段は、現在描画されている画像を含むブロックに隣接するブロックが、描画領域に次に描画されるブロックであると予測する。
したがって、手のひらツールによって表示装置の描画領域における画像が移動される場合には、現在描画されている画像を含むブロックに隣接するブロックが、描画領域に次に描画されるブロックであると予測される。これにより、手のひらツールは別の部分画像を描画するために現在描画されている部分画像の上、下、左、右、左上、右上、左下、右下の8方向への移動を可能にするものであることから、次に描画されるブロックを確実に予測することが可能になる。
請求項12記載の発明は、請求項6記載の画像処理装置において、前記予測ブロック伸長手段は、前記描画画像移動指示手段が描画画像の特定位置を指定させて画像を移動させる特定位置指定手段に基づく場合には、当該特定位置指定手段により指定される特定位置に係るブロックが、描画領域に次に描画されるブロックであると予測する。
したがって、特定位置指定手段により画像の特定位置が指定される場合には、当該特定位置指定手段により指定される特定位置に応じて描画画像の移動が予測される。これにより、予測精度を高めることが可能になる。
請求項13記載の発明は、請求項12記載の画像処理装置において、前記特定位置指定手段により指定される特定位置は、ユーザにより予め定められる特定位置である。
したがって、例えば、ユーザにより特定位置(例えば、パンチ孔の位置)が予め定められているような場合には、この特定位置に存在するブロックが、描画領域に次に描画されるブロックであると予測される。これにより、次に描画されるブロックを確実に予測することが可能になる。
請求項14記載の発明は、請求項12記載の画像処理装置において、前記特定位置指定手段により指定される特定位置は、ユーザの利用履歴を統計的に分析した結果に応じた特定位置である。
したがって、例えば、ユーザの利用履歴から利用頻度が高い部分を特定位置とするような場合には、この特定位置に存在するブロックが、描画領域に次に描画されるブロックであると予測される。これにより、次に描画されるブロックを確実に予測することが可能になる。
請求項15記載の発明は、請求項12記載の画像処理装置において、前記特定位置指定手段により指定される特定位置は、圧縮符号中の高周波成分の発生頻度に応じた特定位置である。
したがって、例えば、圧縮符号中の高周波成分の発生頻度が高い部分を特定位置とするような場合には、この特定位置に存在するブロックが、描画領域に次に描画されるブロックであると予測される。これにより、次に描画されるブロックを確実に予測することが可能になる。
請求項16記載の発明は、請求項1ないし15のいずれか一記載の画像処理装置において、画像の分割単位であるブロックは、タイルである。
したがって、離散ウェーブレット変換を用いることが可能になる。
請求項17記載の発明は、請求項1ないし15のいずれか一記載の画像処理装置において、画像の分割単位であるブロックは、プレシンクトである。
したがって、タイル分割をしない場合(全画像領域=タイル)にも、タイル単位と同じように、処理の高速化を図ることが可能になる。また、検出単位をタイルよりも小さな画像領域にすることが可能になる。
請求項18記載の発明は、請求項1ないし15のいずれか一記載の画像処理装置において、画像の分割単位であるブロックは、コードブロックである。
したがって、タイル分割をしない場合(全画像領域=タイル)にも、タイル単位と同じように、処理の高速化を図ることが可能になる。また、検出単位をタイルよりも小さな画像領域にすることが可能になる。
請求項19記載の発明は、請求項16ないし18のいずれか一記載の画像処理装置において、画像の分割単位であるブロックを、プロファイルで規定される値と一致させる。
したがって、同じプロファイルを有する機器同士での相互接続性を確保することが可能になる。
請求項20記載の発明の画像表示装置は、表示装置と、画像データを複数に分割したブロック毎に符号化されている圧縮符号を、ネットワークを介して受信する受信手段と、この受信手段により受信した前記圧縮符号を伸長して前記表示装置に描画させる請求項1ないし19の何れか一記載の画像処理装置と、を備える。
したがって、ネットワークを介して受信した画像データを複数に分割したブロック毎に符号化されている圧縮符号の伸長に関し、請求項1ないし17の何れか一記載の発明と同様の作用を奏する画像表示装置が得られる。
請求項21記載の発明の画像表示装置は、表示装置と、画像データを複数のブロックに分割し当該ブロック毎に圧縮符号化する画像圧縮手段と、この画像圧縮手段により圧縮符号化された前記圧縮符号を伸長して前記表示装置に描画させる請求項1ないし19の何れか一記載の画像処理装置と、を備える。
したがって、画像圧縮手段により符号化された圧縮符号の伸長に関し、請求項1ないし19の何れか一記載の発明と同様の作用を奏する画像表示装置が得られる。
請求項22記載の発明のプログラムは、圧縮符号を伸長して表示装置の描画領域に描画させる処理をコンピュータに実行させるコンピュータに読取り可能なプログラムであって、前記コンピュータに、前記表示装置の描画領域に描画できるブロックに相当する符号を伸長して、前記表示装置に描画させる描画制御機能を実行させる。
したがって、表示装置の描画領域に描画できるブロックに相当する符号を伸長して、表示装置に描画させることにより、表示装置の描画領域に対応するブロックの圧縮符号が伸長されて描画されることで、従来の伸長方式よりもあたかも高速に伸長しているようにみせることが可能になるので、画像描画の際の利用者の待ち時間を短縮化することが可能になる。
請求項23記載の発明のプログラムは、圧縮符号を伸長して表示装置の描画領域に描画させる処理をコンピュータに実行させるコンピュータに読取り可能なプログラムであって、前記コンピュータに、前記表示装置の描画領域に描画できるブロックに相当する符号を伸長して、前記表示装置に描画した後、前記表示装置の描画領域に描画されていないブロックに相当する符号を伸長する描画制御機能を実行させる。
したがって、表示装置の描画領域に描画できるブロックに相当する符号を伸長して、表示装置に描画した後、表示装置の描画領域に描画されていないブロックに相当する符号を伸長することにより、表示装置の描画領域に対応するブロックの圧縮符号が先に伸長されて描画されることで、従来の伸長方式よりもあたかも高速に伸長しているようにみせることが可能になるので、画像描画の際の利用者の待ち時間を短縮化することが可能になる。
請求項24記載の発明のプログラムは、圧縮符号を伸長して表示装置の描画領域に描画させる処理をコンピュータに実行させるコンピュータに読取り可能なプログラムであって、前記コンピュータに、前記描画領域に描画される描画画像の移動を指示する描画画像移動指示機能と、この描画画像移動指示機能により前記描画領域に描画される描画画像の移動が指示された場合、当該移動指示に基づく移動後の前記描画領域に対応するブロックの圧縮符号を伸長して前記描画領域に描画する移動後画像描画機能と、を実行させる。
したがって、表示装置の描画領域に対応するブロックの圧縮符号が先に伸長されて描画された後、描画領域に描画される描画画像の移動が指示された場合には、当該移動指示に基づく移動後の描画領域に対応するブロックの圧縮符号が伸長されて描画領域に描画される。これにより、描画領域に描画される画像を移動させた場合であっても移動に応じた画像を高速に描画することが可能になる。
請求項25記載の発明は、請求項24記載のプログラムにおいて、前記描画画像移動指示機能による前記描画領域に描画される描画画像の移動を予測し、当該予測に基づく移動後の前記描画領域に対応するブロックの圧縮符号を予め伸長する予測ブロック伸長機能をさらに前記コンピュータに実行させ、この予測ブロック伸長機能により予測されて圧縮符号を伸長されたブロックが、前記描画画像移動指示機能による移動指示に基づく移動後の前記描画領域に対応するブロックに一致する場合には、前記移動後画像描画機能は、当該予測伸長したブロックを前記描画領域に描画する。
したがって、描画領域に描画される描画画像の移動に伴って次に伸長されるであろうブロックが予測されて伸長され、当該予測されたブロックが移動後の描画領域に対応するブロックに一致する場合には、改めて伸長することなく描画に移行することが可能になる。これにより、描画領域に描画される画像を移動させた場合の画像描画の更なる高速化を図ることが可能になる。
請求項26記載の発明のコンピュータに読取り可能な記憶媒体は、請求項22ないし25の何れか一記載のプログラムを記憶している。
したがって、この記憶媒体に記憶されたプログラムをコンピュータに読み取らせることにより、請求項22ないし25の何れか一記載の発明と同様の作用を得ることが可能になる。
請求項27記載の発明の画像処理方法は、画像データを複数に分割したブロック毎に符号化されている圧縮符号を、前記各ブロック毎に伸長する画像処理方法において、表示装置の描画領域に描画できる前記ブロックに相当する符号を伸長して、前記表示装置に描画させる。
したがって、表示装置の描画領域に描画できるブロックに相当する符号を伸長して、表示装置に描画させることにより、表示装置の描画領域に対応するブロックの圧縮符号が伸長されて描画されることで、従来の伸長方式よりもあたかも高速に伸長しているようにみせることが可能になるので、画像描画の際の利用者の待ち時間を短縮化することが可能になる。
請求項28記載の発明の画像処理方法は、画像データを複数に分割したブロック毎に符号化されている圧縮符号を、前記各ブロック毎に伸長する画像処理方法において、表示装置の描画領域に描画できるブロックに相当する符号を伸長して、前記表示装置に描画した後、前記表示装置の描画領域に描画されていないブロックに相当する符号を伸長する。
したがって、表示装置の描画領域に描画できるブロックに相当する符号を伸長して、表示装置に描画した後、表示装置の描画領域に描画されていないブロックに相当する符号を伸長することにより、表示装置の描画領域に対応するブロックの圧縮符号が先に伸長されて描画されることで、従来の伸長方式よりもあたかも高速に伸長しているようにみせることが可能になるので、画像描画の際の利用者の待ち時間を短縮化することが可能になる。
請求項29記載の発明の画像処理方法は、圧縮符号の伸長の際に表示装置の描画領域に対応するブロックの圧縮符号を先に伸長して前記描画領域に描画するようにした画像処理方法において、前記描画領域に描画される描画画像の移動を指示する描画画像移動指示工程と、この描画画像移動指示手段により前記描画領域に描画される描画画像の移動が指示された場合、当該移動指示に基づく移動後の前記描画領域に対応するブロックの圧縮符号を伸長して前記描画領域に描画する移動後画像描画工程と、を含む。
したがって、表示装置の描画領域に対応するブロックの圧縮符号が先に伸長されて描画された後、描画領域に描画される描画画像の移動が指示された場合には、当該移動指示に基づく移動後の描画領域に対応するブロックの圧縮符号が伸長されて描画領域に描画される。これにより、描画領域に描画される画像を移動させた場合であっても移動に応じた画像を高速に描画することが可能になる。
請求項30記載の発明は、請求項29記載の画像処理方法において、前記描画画像移動指示工程による前記描画領域に描画される描画画像の移動を予測し、当該予測に基づく移動後の前記描画領域に対応するブロックの圧縮符号を予め伸長する予測ブロック伸長工程をさらに含み、この予測ブロック伸長工程により予測されて圧縮符号を伸長されたブロックが、前記描画画像移動指示工程による移動指示に基づく移動後の前記描画領域に対応するブロックに一致する場合には、前記移動後画像描画工程は、当該予測伸長したブロックを前記描画領域に描画する。
したがって、描画領域に描画される描画画像の移動に伴って次に伸長されるであろうブロックが予測されて伸長され、当該予測されたブロックが移動後の描画領域に対応するブロックに一致する場合には、改めて伸長することなく描画に移行することが可能になる。これにより、描画領域に描画される画像を移動させた場合の画像描画の更なる高速化を図ることが可能になる。
請求項31記載の発明の画像表示システムは、サーバコンピュータと、このサーバコンピュータに対してネットワークを介して接続されるクライアントコンピュータとで構成される画像表示システムにおいて、画像データを複数に分割したブロック毎に符号化されている圧縮符号を、前記各ブロックについて伸長するブロック伸長手段と、描画領域を指定して表示装置に描画させる描画制御手段と、この描画制御手段から前記表示装置に描画させる描画領域を示す描画領域信号を受け取って当該描画領域に対応する前記ブロックを抽出するブロック抽出手段と、このブロック抽出手段により抽出された前記ブロックの圧縮符号を前記ブロック伸長手段により伸長させる描画領域ブロック伸長手段と、伸長された圧縮符号に応じた画像を記憶する伸長画像記憶手段と、前記描画領域ブロック伸長手段による前記描画領域に係る前記ブロックの圧縮符号の伸長が完了した後、指定された描画領域に対応する伸長が完了したことを示す描画可能信号を前記描画制御手段に対して出力する描画可能信号出力手段と、この描画可能信号出力手段から描画可能信号を受け取って前記伸長画像記憶手段に記憶されている伸長された圧縮符号に応じた画像を前記表示装置の指定された描画領域に描画させる指定領域描画手段と、を備える。
したがって、描画制御手段から渡された描画領域信号が示す描画領域に該当するブロックの圧縮符号が伸長された後、描画制御手段に対して指定された描画領域に対応するブロックの圧縮符号の伸長が完了したことを示す描画可能信号が出力され、表示装置の指定された描画領域に伸長された圧縮符号に応じた画像を描画させる。これにより、全圧縮符号の伸長完了前に、指定された描画領域に対応するブロックの圧縮符号が先に伸長されて描画されることで、従来の伸長方式よりもあたかも高速に伸長しているようにみせることが可能になるので、画像描画の際の利用者の待ち時間を短縮化することが可能になる。
請求項32記載の発明の画像表示システムは、サーバコンピュータと、このサーバコンピュータに対してネットワークを介して接続されるクライアントコンピュータとで構成され、圧縮符号の伸長の際に表示装置の描画領域に対応するブロックの圧縮符号を先に伸長して前記描画領域に描画する画像表示システムにおいて、前記描画領域に描画される描画画像の移動を指示する描画画像移動指示手段と、この描画画像移動指示手段により前記描画領域に描画される描画画像の移動が指示された場合、当該移動指示に基づく移動後の前記描画領域に対応するブロックの圧縮符号を伸長して前記描画領域に描画する移動後画像描画手段と、を備える。
したがって、表示装置の描画領域に対応するブロックの圧縮符号が先に伸長されて描画された後、描画領域に描画される描画画像の移動が指示された場合には、当該移動指示に基づく移動後の描画領域に対応するブロックの圧縮符号が伸長されて描画領域に描画される。これにより、描画領域に描画される画像を移動させた場合であっても移動に応じた画像を高速に描画することが可能になる。
請求項33記載の発明は、請求項32記載の画像表示システムにおいて、前記描画画像移動指示手段による前記描画領域に描画される描画画像の移動を予測し、当該予測に基づく移動後の前記描画領域に対応するブロックの圧縮符号を予め伸長する予測ブロック伸長手段をさらに備え、この予測ブロック伸長手段により予測されて圧縮符号を伸長されたブロックが、前記描画画像移動指示手段による移動指示に基づく移動後の前記描画領域に対応するブロックに一致する場合には、前記移動後画像描画手段は、当該予測伸長したブロックを前記描画領域に描画する。
したがって、描画領域に描画される描画画像の移動に伴って次に伸長されるであろうブロックが予測されて伸長され、当該予測されたブロックが移動後の描画領域に対応するブロックに一致する場合には、改めて伸長することなく描画に移行することが可能になる。これにより、描画領域に描画される画像を移動させた場合の画像描画の更なる高速化を図ることが可能になる。
請求項34記載の発明の画像表示システムは、表示装置と、画像データを複数に分割したブロック毎に符号化されている圧縮符号を、前記各ブロック毎に伸長するブロック伸長手段と、前記表示装置の描画領域に描画できるブロックに相当する符号を伸長して、前記表示装置に描画させる描画制御手段と、を備える。
したがって、表示装置の描画領域に描画できるブロックに相当する符号を伸長して、表示装置に描画させることにより、表示装置の描画領域に対応するブロックの圧縮符号が伸長されて描画されることで、従来の伸長方式よりもあたかも高速に伸長しているようにみせることが可能になるので、画像描画の際の利用者の待ち時間を短縮化することが可能になる。
請求項35記載の発明の画像表示システムは、表示装置と、画像データを複数に分割したブロック毎に符号化されている圧縮符号を、前記各ブロック毎に伸長するブロック伸長手段と、前記表示装置の描画領域に描画できるブロックに相当する符号を伸長して、前記表示装置に描画した後、前記表示装置の描画領域に描画されていないブロックに相当する符号を伸長する描画制御手段と、を備える。
したがって、表示装置の描画領域に描画できるブロックに相当する符号を伸長して、表示装置に描画した後、表示装置の描画領域に描画されていないブロックに相当する符号を伸長することにより、表示装置の描画領域に対応するブロックの圧縮符号が先に伸長されて描画されることで、従来の伸長方式よりもあたかも高速に伸長しているようにみせることが可能になるので、画像描画の際の利用者の待ち時間を短縮化することが可能になる。
請求項1記載の発明の画像処理装置によれば、画像データを複数に分割したブロック毎に符号化されている圧縮符号を、前記各ブロック毎に伸長するブロック伸長手段を具備する画像処理装置において、表示装置の描画領域に描画できるブロックに相当する符号を伸長して、前記表示装置に描画させる描画制御手段を備え、表示装置の描画領域に描画できるブロックに相当する符号を伸長して、表示装置に描画させることにより、表示装置の描画領域に対応するブロックの圧縮符号が伸長されて描画されることで、従来の伸長方式よりもあたかも高速に伸長しているようにみせることができるので、画像描画の際の利用者の待ち時間を短縮化することができる。
請求項2記載の発明の画像処理装置によれば、画像データを複数に分割したブロック毎に符号化されている圧縮符号を、前記各ブロック毎に伸長するブロック伸長手段を具備する画像処理装置において、表示装置の描画領域に描画できるブロックに相当する符号を伸長して、前記表示装置に描画した後、前記表示装置の描画領域に描画されていないブロックに相当する符号を伸長する描画制御手段を備え、表示装置の描画領域に描画できるブロックに相当する符号を伸長して、表示装置に描画した後、表示装置の描画領域に描画されていないブロックに相当する符号を伸長することにより、表示装置の描画領域に対応するブロックの圧縮符号が先に伸長されて描画されることで、従来の伸長方式よりもあたかも高速に伸長しているようにみせることができるので、画像描画の際の利用者の待ち時間を短縮化することができる。
請求項3記載の発明の画像処理装置によれば、画像データを複数に分割したブロック毎に符号化されている圧縮符号を、前記各ブロックについて伸長するブロック伸長手段と、描画領域を指定して表示装置に描画させる描画制御手段と、この描画制御手段から前記表示装置に描画させる描画領域を示す描画領域信号を受け取って当該描画領域に対応する前記ブロックを抽出するブロック抽出手段と、このブロック抽出手段により抽出された前記ブロックの圧縮符号を前記ブロック伸長手段により伸長させる描画領域ブロック伸長手段と、伸長された圧縮符号に応じた画像を記憶する伸長画像記憶手段と、前記描画領域ブロック伸長手段による前記描画領域に係る前記ブロックの圧縮符号の伸長が完了した後、指定された描画領域に対応する伸長が完了したことを示す描画可能信号を前記描画制御手段に対して出力する描画可能信号出力手段と、この描画可能信号出力手段から描画可能信号を受け取って前記伸長画像記憶手段に記憶されている伸長された圧縮符号に応じた画像を前記表示装置の指定された描画領域に描画させる指定領域描画手段と、を備え、描画制御手段から渡された描画領域信号が示す描画領域に該当するブロックの圧縮符号を伸長した後、描画制御手段に対して指定された描画領域に対応するブロックの圧縮符号の伸長が完了したことを示す描画可能信号を出力し、表示装置の指定された描画領域に伸長された圧縮符号に応じた画像を描画させることにより、全圧縮符号の伸長完了前に、指定された描画領域に対応するブロックの圧縮符号を先に伸長して描画することで、従来の伸長方式よりもあたかも高速に伸長しているようにみせることができるので、画像描画の際の利用者の待ち時間を短縮化することができる。
請求項4記載の発明の画像処理装置によれば、圧縮符号の伸長の際に表示装置の描画領域に対応するブロックの圧縮符号を先に伸長して前記描画領域に描画するようにした画像処理装置において、前記描画領域に描画される描画画像の移動を指示する描画画像移動指示手段と、この描画画像移動指示手段により前記描画領域に描画される描画画像の移動が指示された場合、当該移動指示に基づく移動後の前記描画領域に対応するブロックの圧縮符号を伸長して前記描画領域に描画する移動後画像描画手段と、を備え、表示装置の描画領域に対応するブロックの圧縮符号が先に伸長されて描画された後、描画領域に描画される描画画像の移動が指示された場合には、当該移動指示に基づく移動後の描画領域に対応するブロックの圧縮符号を伸長して描画領域に描画することにより、描画領域に描画される画像を移動させた場合であっても移動に応じた画像を高速に描画することができる。
請求項5記載の発明によれば、請求項4記載の画像処理装置において、前記描画画像移動指示手段による前記描画領域に描画される描画画像の移動を予測し、当該予測に基づく移動後の前記描画領域に対応するブロックの圧縮符号を予め伸長する予測ブロック伸長手段をさらに備え、この予測ブロック伸長手段により予測されて圧縮符号を伸長されたブロックが、前記描画画像移動指示手段による移動指示に基づく移動後の前記描画領域に対応するブロックに一致する場合には、前記移動後画像描画手段は、当該予測伸長したブロックを前記描画領域に描画することにより、描画領域に描画される描画画像の移動に伴って次に伸長されるであろうブロックを予測して伸長することで、当該予測されたブロックが移動後の描画領域に対応するブロックに一致する場合には、改めて伸長することなく描画に移行することができるので、描画領域に描画される画像を移動させた場合の画像描画の更なる高速化を図ることができる。
請求項6記載の発明によれば、請求項5記載の画像処理装置において、前記予測ブロック伸長手段は、前記描画画像移動指示手段が表示装置の描画領域における画像を移動させる描画位置移動手段に基づく場合には、当該描画位置移動手段の有する特性に応じて描画画像の移動を予測することにより、描画位置移動手段に基づいて表示装置の描画領域における画像が移動される場合には、当該描画位置移動手段の有する特性に応じて描画画像の移動を予測するので、予測精度を高めることができる。
請求項7記載の発明によれば、請求項6記載の画像処理装置において、前記描画位置移動手段がスクロールバーを用いた画素単位のスクロール移動である場合には、前記予測ブロック伸長手段は、スクロール方向に直交する方向に存在するブロックが、前記描画領域に次に描画されるブロックであると予測することにより、画素単位のスクロール移動はユーザが関心ある領域まで進んだか否かを確実に確認可能であり、それまでと同じ方向にスクロールする確率は低く、スクロール方向に直交する方向へのスクロールに移行する確率が高いことから、次に描画されるブロックを確実に予測することができる。
請求項8記載の発明によれば、請求項6記載の画像処理装置において、前記描画位置移動手段がスクロールバーを用いたページ単位のスクロール移動である場合には、前記予測ブロック伸長手段は、スクロール方向の延長上に存在するブロックが、前記描画領域に次に描画されるブロックであると予測することにより、ページ単位のスクロール移動は最初に大雑把に移動し、次に同じ方向で細かく調整する確率が高いことから、次に描画されるブロックを確実に予測することができる。
請求項9記載の発明によれば、請求項6記載の画像処理装置において、前記描画位置移動手段がスクロールバーを用いたページ単位のスクロール移動である場合には、前記予測ブロック伸長手段は、最初の描画位置とスクロール移動先の描画位置の間に存在するブロックが、前記描画領域に次に描画されるブロックであると予測することにより、ページ単位のスクロール移動は最初に大雑把に移動し、次に最初の描画位置とスクロール移動先の描画位置の間で細かく調整する確率が高いことから、次に描画されるブロックを確実に予測することができる。
請求項10記載の発明によれば、請求項6記載の画像処理装置において、前記描画位置移動手段がランダムアクセス手段を用いた移動である場合には、前記予測ブロック伸長手段は、画像の中央付近に存在するブロックが、描画領域に次に描画されるブロックであると予測することにより、例えばデジタルカメラでの使用を想定すると被写体画像の中央を描画領域の中央付近に位置させることが一般的であることから、次に描画されるブロックを確実に予測することができる。
請求項11記載の発明によれば、請求項6記載の画像処理装置において、前記描画位置移動手段が手のひらツールを用いた移動である場合には、前記予測ブロック伸長手段は、現在描画されている画像を含むブロックに隣接するブロックが、描画領域に次に描画されるブロックであると予測することにより、手のひらツールは別の部分画像を描画するために現在描画されている部分画像の上、下、左、右、左上、右上、左下、右下の8方向への移動を可能にするものであることから、次に描画されるブロックを確実に予測することができる。
請求項12記載の発明によれば、請求項6記載の画像処理装置において、前記予測ブロック伸長手段は、前記描画画像移動指示手段が描画画像の特定位置を指定させて画像を移動させる特定位置指定手段に基づく場合には、当該特定位置指定手段により指定される特定位置に係るブロックが、描画領域に次に描画されるブロックであると予測することにより、予測精度を高めることができる。
請求項13記載の発明によれば、請求項12記載の画像処理装置において、前記特定位置指定手段により指定される特定位置は、ユーザにより予め定められる特定位置であることにより、例えば、ユーザにより特定位置(例えば、パンチ孔の位置)が予め定められているような場合には、この特定位置に存在するブロックが、描画領域に次に描画されるブロックであると予測されるので、次に描画されるブロックを確実に予測することができる。
請求項14記載の発明によれば、請求項12記載の画像処理装置において、前記特定位置指定手段により指定される特定位置は、ユーザの利用履歴を統計的に分析した結果に応じた特定位置であることにより、例えば、ユーザの利用履歴から利用頻度が高い部分を特定位置とするような場合には、この特定位置に存在するブロックが、描画領域に次に描画されるブロックであると予測されるので、次に描画されるブロックを確実に予測することができる。
請求項15記載の発明によれば、請求項12記載の画像処理装置において、前記特定位置指定手段により指定される特定位置は、圧縮符号中の高周波成分の発生頻度に応じた特定位置であることにより、例えば、圧縮符号中の高周波成分の発生頻度が高い部分を特定位置とするような場合には、この特定位置に存在するブロックが、描画領域に次に描画されるブロックであると予測されるので、次に描画されるブロックを確実に予測することができる。
請求項16記載の発明によれば、請求項1ないし15のいずれか一記載の画像処理装置において、画像の分割単位であるブロックは、タイルであることにより、離散ウェーブレット変換を用いることができる。
請求項17記載の発明によれば、請求項1ないし15のいずれか一記載の画像処理装置において、画像の分割単位であるブロックは、プレシンクトであることにより、タイル分割をしない場合(全画像領域=タイル)にも、タイル単位と同じように、処理の高速化を図ることができ、また、検出単位をタイルよりも小さな画像領域にすることができる。
請求項18記載の発明によれば、請求項1ないし15のいずれか一記載の画像処理装置において、画像の分割単位であるブロックは、コードブロックであることにより、タイル分割をしない場合(全画像領域=タイル)にも、タイル単位と同じように、処理の高速化を図ることができ、また、検出単位をタイルよりも小さな画像領域にすることができる。
請求項19記載の発明によれば、請求項16ないし18のいずれか一記載の画像処理装置において、画像の分割単位であるブロックを、プロファイルで規定される値と一致させることにより、同じプロファイルを有する機器同士での相互接続性を確保することができる。
請求項20記載の発明の画像表示装置によれば、表示装置と、画像データを複数に分割したブロック毎に符号化されている圧縮符号を、ネットワークを介して受信する受信手段と、この受信手段により受信した前記圧縮符号を伸長して前記表示装置に描画させる請求項1ないし19の何れか一記載の画像処理装置と、を備えることにより、ネットワークを介して受信した画像データを複数に分割したブロック毎に符号化されている圧縮符号の伸長に関し、請求項1ないし19の何れか一記載の発明と同様の作用効果を奏する画像表示装置を得ることができる。
請求項21記載の発明の画像表示装置によれば、表示装置と、画像データを複数のブロックに分割し当該ブロック毎に圧縮符号化する画像圧縮手段と、この画像圧縮手段により圧縮符号化された前記圧縮符号を伸長して前記表示装置に描画させる請求項1ないし19の何れか一記載の画像処理装置と、を備えることにより、画像圧縮手段により符号化された圧縮符号の伸長に関し、請求項1ないし19の何れか一記載の発明と同様の作用効果を奏する画像表示装置を得ることができる。
請求項22記載の発明のプログラムによれば、圧縮符号を伸長して表示装置の描画領域に描画させる処理をコンピュータに実行させるコンピュータに読取り可能なプログラムであって、前記コンピュータに、前記表示装置の描画領域に描画できるブロックに相当する符号を伸長して、前記表示装置に描画させる描画制御機能を実行させ、表示装置の描画領域に描画できるブロックに相当する符号を伸長して、表示装置に描画させることにより、表示装置の描画領域に対応するブロックの圧縮符号が伸長されて描画されることで、従来の伸長方式よりもあたかも高速に伸長しているようにみせることができるので、画像描画の際の利用者の待ち時間を短縮化することができる。
請求項23記載の発明のプログラムによれば、圧縮符号を伸長して表示装置の描画領域に描画させる処理をコンピュータに実行させるコンピュータに読取り可能なプログラムであって、前記コンピュータに、前記表示装置の描画領域に描画できるブロックに相当する符号を伸長して、前記表示装置に描画した後、前記表示装置の描画領域に描画されていないブロックに相当する符号を伸長する描画制御機能を実行させ、表示装置の描画領域に描画できるブロックに相当する符号を伸長して、表示装置に描画した後、表示装置の描画領域に描画されていないブロックに相当する符号を伸長することにより、表示装置の描画領域に対応するブロックの圧縮符号が先に伸長されて描画されることで、従来の伸長方式よりもあたかも高速に伸長しているようにみせることができるので、画像描画の際の利用者の待ち時間を短縮化することができる。
請求項24記載の発明のプログラムによれば、圧縮符号を伸長して表示装置の描画領域に描画させる処理をコンピュータに実行させるコンピュータに読取り可能なプログラムであって、前記コンピュータに、前記描画領域に描画される描画画像の移動を指示する描画画像移動指示機能と、この描画画像移動指示機能により前記描画領域に描画される描画画像の移動が指示された場合、当該移動指示に基づく移動後の前記描画領域に対応するブロックの圧縮符号を伸長して前記描画領域に描画する移動後画像描画機能と、を実行させ、表示装置の描画領域に対応するブロックの圧縮符号が先に伸長されて描画された後、描画領域に描画される描画画像の移動が指示された場合には、当該移動指示に基づく移動後の描画領域に対応するブロックの圧縮符号を伸長して描画領域に描画することにより、描画領域に描画される画像を移動させた場合であっても移動に応じた画像を高速に描画することができる。
請求項25記載の発明によれば、請求項24記載のプログラムにおいて、前記描画画像移動指示機能による前記描画領域に描画される描画画像の移動を予測し、当該予測に基づく移動後の前記描画領域に対応するブロックの圧縮符号を予め伸長する予測ブロック伸長機能をさらに前記コンピュータに実行させ、この予測ブロック伸長機能により予測されて圧縮符号を伸長されたブロックが、前記描画画像移動指示機能による移動指示に基づく移動後の前記描画領域に対応するブロックに一致する場合には、前記移動後画像描画機能は、当該予測伸長したブロックを前記描画領域に描画することにより、描画領域に描画される描画画像の移動に伴って次に伸長されるであろうブロックを予測して伸長することで、当該予測されたブロックが移動後の描画領域に対応するブロックに一致する場合には、改めて伸長することなく描画に移行することができるので、描画領域に描画される画像を移動させた場合の画像描画の更なる高速化を図ることができる。
請求項26記載の発明のコンピュータに読取り可能な記憶媒体によれば、請求項22ないし25の何れか一記載のプログラムを記憶していることにより、この記憶媒体に記憶されたプログラムをコンピュータに読み取らせることで、請求項22ないし25の何れか一記載の発明と同様の作用効果を得ることができる。
請求項27記載の発明の画像処理方法によれば、画像データを複数に分割したブロック毎に符号化されている圧縮符号を、前記各ブロック毎に伸長する画像処理方法において、表示装置の描画領域に描画できる前記ブロックに相当する符号を伸長して、前記表示装置に描画させることにより、表示装置の描画領域に対応するブロックの圧縮符号が伸長されて描画されることで、従来の伸長方式よりもあたかも高速に伸長しているようにみせることができるので、画像描画の際の利用者の待ち時間を短縮化することができる。
請求項28記載の発明の画像処理方法によれば、画像データを複数に分割したブロック毎に符号化されている圧縮符号を、前記各ブロック毎に伸長する画像処理方法において、表示装置の描画領域に描画できるブロックに相当する符号を伸長して、前記表示装置に描画した後、前記表示装置の描画領域に描画されていないブロックに相当する符号を伸長することにより、表示装置の描画領域に対応するブロックの圧縮符号が先に伸長されて描画されることで、従来の伸長方式よりもあたかも高速に伸長しているようにみせることができるので、画像描画の際の利用者の待ち時間を短縮化することができる。
請求項29記載の発明の画像処理方法によれば、圧縮符号の伸長の際に表示装置の描画領域に対応するブロックの圧縮符号を先に伸長して前記描画領域に描画するようにした画像処理方法において、前記描画領域に描画される描画画像の移動を指示する描画画像移動指示工程と、この描画画像移動指示手段により前記描画領域に描画される描画画像の移動が指示された場合、当該移動指示に基づく移動後の前記描画領域に対応するブロックの圧縮符号を伸長して前記描画領域に描画する移動後画像描画工程と、を含み、表示装置の描画領域に対応するブロックの圧縮符号が先に伸長されて描画された後、描画領域に描画される描画画像の移動が指示された場合には、当該移動指示に基づく移動後の描画領域に対応するブロックの圧縮符号を伸長して描画領域に描画することにより、描画領域に描画される画像を移動させた場合であっても移動に応じた画像を高速に描画することができる。
請求項30記載の発明によれば、請求項29記載の画像処理方法において、前記描画画像移動指示工程による前記描画領域に描画される描画画像の移動を予測し、当該予測に基づく移動後の前記描画領域に対応するブロックの圧縮符号を予め伸長する予測ブロック伸長工程をさらに含み、この予測ブロック伸長工程により予測されて圧縮符号を伸長されたブロックが、前記描画画像移動指示工程による移動指示に基づく移動後の前記描画領域に対応するブロックに一致する場合には、前記移動後画像描画工程は、当該予測伸長したブロックを前記描画領域に描画することにより、描画領域に描画される描画画像の移動に伴って次に伸長されるであろうブロックを予測して伸長することで、当該予測されたブロックが移動後の描画領域に対応するブロックに一致する場合には、改めて伸長することなく描画に移行することができるので、描画領域に描画される画像を移動させた場合の画像描画の更なる高速化を図ることができる。
請求項31記載の発明の画像表示システムによれば、サーバコンピュータと、このサーバコンピュータに対してネットワークを介して接続されるクライアントコンピュータとで構成される画像表示システムにおいて、画像データを複数に分割したブロック毎に符号化されている圧縮符号を、前記各ブロックについて伸長するブロック伸長手段と、描画領域を指定して表示装置に描画させる描画制御手段と、この描画制御手段から前記表示装置に描画させる描画領域を示す描画領域信号を受け取って当該描画領域に対応する前記ブロックを抽出するブロック抽出手段と、このブロック抽出手段により抽出された前記ブロックの圧縮符号を前記ブロック伸長手段により伸長させる描画領域ブロック伸長手段と、伸長された圧縮符号に応じた画像を記憶する伸長画像記憶手段と、前記描画領域ブロック伸長手段による前記描画領域に係る前記ブロックの圧縮符号の伸長が完了した後、指定された描画領域に対応する伸長が完了したことを示す描画可能信号を前記描画制御手段に対して出力する描画可能信号出力手段と、この描画可能信号出力手段から描画可能信号を受け取って前記伸長画像記憶手段に記憶されている伸長された圧縮符号に応じた画像を前記表示装置の指定された描画領域に描画させる指定領域描画手段と、を備え、描画制御手段から渡された描画領域信号が示す描画領域に該当するブロックの圧縮符号を伸長した後、描画制御手段に対して指定された描画領域に対応するブロックの圧縮符号の伸長が完了したことを示す描画可能信号を出力し、表示装置の指定された描画領域に伸長された圧縮符号に応じた画像を描画させることにより、全圧縮符号の伸長完了前に、指定された描画領域に対応するブロックの圧縮符号を先に伸長して描画することで、従来の伸長方式よりもあたかも高速に伸長しているようにみせることができるので、画像描画の際の利用者の待ち時間を短縮化することができる。
請求項32記載の発明の画像表示システムによれば、サーバコンピュータと、このサーバコンピュータに対してネットワークを介して接続されるクライアントコンピュータとで構成され、圧縮符号の伸長の際に表示装置の描画領域に対応するブロックの圧縮符号を先に伸長して前記描画領域に描画する画像表示システムにおいて、前記描画領域に描画される描画画像の移動を指示する描画画像移動指示手段と、この描画画像移動指示手段により前記描画領域に描画される描画画像の移動が指示された場合、当該移動指示に基づく移動後の前記描画領域に対応するブロックの圧縮符号を伸長して前記描画領域に描画する移動後画像描画手段と、を備え、表示装置の描画領域に対応するブロックの圧縮符号が先に伸長されて描画された後、描画領域に描画される描画画像の移動が指示された場合には、当該移動指示に基づく移動後の描画領域に対応するブロックの圧縮符号を伸長して描画領域に描画することにより、描画領域に描画される画像を移動させた場合であっても移動に応じた画像を高速に描画することができる。
請求項33記載の発明によれば、請求項32記載の画像表示システムにおいて、前記描画画像移動指示手段による前記描画領域に描画される描画画像の移動を予測し、当該予測に基づく移動後の前記描画領域に対応するブロックの圧縮符号を予め伸長する予測ブロック伸長手段をさらに備え、この予測ブロック伸長手段により予測されて圧縮符号を伸長されたブロックが、前記描画画像移動指示手段による移動指示に基づく移動後の前記描画領域に対応するブロックに一致する場合には、前記移動後画像描画手段は、当該予測伸長したブロックを前記描画領域に描画することにより、描画領域に描画される描画画像の移動に伴って次に伸長されるであろうブロックを予測して伸長することで、当該予測されたブロックが移動後の描画領域に対応するブロックに一致する場合には、改めて伸長することなく描画に移行することができるので、描画領域に描画される画像を移動させた場合の画像描画の更なる高速化を図ることができる。
請求項34記載の発明の画像表示システムによれば、表示装置と、画像データを複数に分割したブロック毎に符号化されている圧縮符号を、前記各ブロック毎に伸長するブロック伸長手段と、前記表示装置の描画領域に描画できるブロックに相当する符号を伸長して、前記表示装置に描画させる描画制御手段と、を備え、表示装置の描画領域に描画できるブロックに相当する符号を伸長して、表示装置に描画させることにより、表示装置の描画領域に対応するブロックの圧縮符号が伸長されて描画されることで、従来の伸長方式よりもあたかも高速に伸長しているようにみせることができるので、画像描画の際の利用者の待ち時間を短縮化することができる。
請求項35記載の発明の画像表示システムによれば、表示装置と、画像データを複数に分割したブロック毎に符号化されている圧縮符号を、前記各ブロック毎に伸長するブロック伸長手段と、前記表示装置の描画領域に描画できるブロックに相当する符号を伸長して、前記表示装置に描画した後、前記表示装置の描画領域に描画されていないブロックに相当する符号を伸長する描画制御手段と、を備え、表示装置の描画領域に描画できるブロックに相当する符号を伸長して、表示装置に描画した後、表示装置の描画領域に描画されていないブロックに相当する符号を伸長することにより、表示装置の描画領域に対応するブロックの圧縮符号が先に伸長されて描画されることで、従来の伸長方式よりもあたかも高速に伸長しているようにみせることができるので、画像描画の際の利用者の待ち時間を短縮化することができる。
最初に、本発明の前提となる「階層符号化アルゴリズム」及び「離散ウェーブレット変換に基づく符号化・復号化アルゴリズム」の概要について説明する。なお、「離散ウェーブレット変換に基づく符号化・復号化アルゴリズム」の代表例が「JPEG2000アルゴリズム」である。
図1は、離散ウェーブレット変換に基づく符号化方式の基本となる階層符号化アルゴリズムを実現するシステムの機能ブロック図である。このシステムは、画像圧縮手段として機能するものであって、色空間変換・逆変換部101、2次元ウェーブレット変換・逆変換部102、量子化・逆量子化部103、エントロピー符号化・復号化部104、タグ処理部105の各機能ブロックにより構成されている。
このシステムが従来のJPEGアルゴリズムと比較して最も大きく異なる点の一つは変換方式である。JPEGでは離散コサイン変換(DCT:Discrete Cosine Transform)を用いているのに対し、この階層符号化アルゴリズムでは、2次元ウェーブレット変換・逆変換部102において、離散ウェーブレット変換(DWT:Discrete Wavelet Transform)を用いている。DWTはDCTに比べて、高圧縮領域における画質が良いという長所を有し、この点が、JPEGの後継アルゴリズムであるJPEG2000でDWTが採用された大きな理由の一つとなっている。
また、他の大きな相違点は、この階層符号化アルゴリズムでは、システムの最終段に符号形成を行うために、タグ処理部105の機能ブロックが追加されていることである。このタグ処理部105で、画像の圧縮動作時には圧縮データが符号列データとして生成され、伸長動作時には伸長に必要な符号列データの解釈が行われる。そして、符号列データによって、JPEG2000は様々な便利な機能を実現できるようになった。
原画像の入出力部分には、色空間変換・逆変換部101が接続される。例えば、原色系のR(赤)/G(緑)/B(青)の各コンポーネントからなるRGB表色系や、補色系のY(黄)/M(マゼンタ)/C(シアン)の各コンポーネントからなるYMC表色系から、YUVあるいはYCbCr表色系への変換又は逆変換を行う部分がこれに相当する。
次に、離散ウェーブレット変換に基づく符号化・復号化アルゴリズムについて説明する。
カラー画像は、一般に、図2に示すように、原画像の各コンポーネント111(ここではRGB原色系)が、矩形をした領域によって分割される。この分割された矩形領域は、一般にタイルと呼ばれているものであるが、本実施の形態においては、以下、このような分割された矩形領域を総称としてブロックと記述することにする(図2の例では、各コンポーネント111が縦横4×4、合計16個の矩形のブロック112に分割されている)。このような個々のブロック112(図2の例で、R00,R01,…,R15/G00,G01,…,G15/B00,B01,…,B15)が、画像データの圧縮伸長プロセスを実行する際の基本単位となる。従って、画像データの圧縮伸長動作は、コンポーネントごと、また、ブロック112ごとに、独立に行われる。
画像データの符号化時には、各コンポーネント111の各ブロック112のデータが、図1の色空間変換・逆変換部101に入力され、色空間変換を施された後、2次元ウェーブレット変換部102で2次元ウェーブレット変換(順変換)が施されて、周波数帯に空間分割される。
図3には、デコンポジションレベル数が3の場合の、各デコンポジションレベルにおけるサブバンドを示している。すなわち、原画像のブロック分割によって得られたブロック原画像(0LL)(デコンポジションレベル0)に対して、2次元ウェーブレット変換を施し、デコンポジションレベル1に示すサブバンド(1LL,1HL,1LH,1HH)を分離する。そして引き続き、この階層における低周波成分1LLに対して、2次元ウェーブレット変換を施し、デコンポジションレベル2に示すサブバンド(2LL,2HL,2LH,2HH)を分離する。順次同様に、低周波成分2LLに対しても、2次元ウェーブレット変換を施し、デコンポジションレベル3に示すサブバンド(3LL,3HL,3LH,3HH)を分離する。図3では、各デコンポジションレベルにおいて符号化の対象となるサブバンドを、網掛けで表してある。例えば、デコンポジションレベル数を3としたとき、網掛けで示したサブバンド(3LL,3HL,3LH,3HH,2HL,2LH,2HH,1HL,1LH,1HH)が符号化対象となる。
次いで、指定した符号化の順番で符号化の対象となるビットが定められ、図1に示す量子化・逆量子化部103で注目ビットとその付近のコンテキストを参照して注目ビットに対する符号が生成される。
この量子化の処理が終わったウェーブレット係数は、個々のサブバンド毎に、「プレシンクト」と呼ばれる重複しない矩形に分割される。これは、インプリメンテーションで任意の領域をランダムアクセスできるようにするために導入されたものである。図4に示したように、一つのプレシンクトは、空間的に一致した3つの矩形領域からなっている。更に、個々のプレシンクトは、重複しない矩形の「コードブロック」に分けられる。これは、エントロピー・コーディングを行う際の基本単位となる。プレシンクトは、(0,0)を原点として、水平方向に2のPPxべき乗、垂直方向に2のPPyべき乗の大きさで分割された領域である。コードブロックは符号化を行う単位であって、コードブロックの大きさ(Xc,Yc)は2のべき乗である必要があり、その範囲は、
4≦Xc≦1024
4≦Yc≦1024
Xc*Yc≦4096
にて規定される。このようなコードブロックの大きさは、各階層レベル(縮小レベル)においては、サブバンドによらず同一サイズであるが、プレシンクトの大きさによって制約を受ける。具体的には、階層レベルが深い部分においては、プレシンクトの大きさ(サブバンドの係数ブロックの大きさ)によって、指定したコードブロックの大きさより小さいブロックサイズになる。
図1に示すエントロピー符号化・復号化部104では、コンテキストと対象ビットから確率推定によって、各コンポーネント111のブロック112に対する符号化を行う。こうして、原画像の全てのコンポーネント111について、ブロック112単位で符号化処理が行われる。最後にタグ処理部105は、エントロピー符号化・復号化部104からの全符号化データを1本の符号列データに結合するとともに、それにタグを付加する処理を行う。
図5には、この符号列データの1フレーム分の概略構成を示している。この符号列データの先頭と各ブロックの符号データ(bit stream)の先頭にはヘッダ(header)と呼ばれるタグ情報が付加され、その後に、各ブロックの符号化データが続く。そして、符号列データの終端には、再びタグ(end of codestream)が置かれる。
一方、符号化データの復号化時には、画像データの符号化時とは逆に、各コンポーネント111の各ブロック112の符号列データから画像データを生成する。この場合、タグ処理部105は、外部より入力した符号列データに付加されたタグ情報を解釈し、符号列データを各コンポーネント111の各ブロック112の符号列データに分解し、その各コンポーネント111の各ブロック112の符号列データ毎に復号化処理を行う。このとき、符号列データ内のタグ情報に基づく順番で復号化の対象となるビットの位置が定められるとともに、量子化・逆量子化部103で、その対象ビット位置の周辺ビット(既に復号化を終えている)の並びからコンテキストが生成される。エントロピー符号化・復号化部104で、このコンテキストと符号列データから確率推定によって復号化を行い、対象ビットを生成し、それを対象ビットの位置に書き込む。このようにして復号化されたデータは周波数帯域毎に空間分割されているため、これを2次元ウェーブレット変換・逆変換部102で2次元ウェーブレット逆変換を行うことにより、画像データの各コンポーネントの各ブロックが復元される。復元されたデータは色空間変換・逆変換部101によって元の表色系の画像データに変換される。
以上が、「離散ウェーブレット変換に基づく符号化・復号化アルゴリズム」の概要である。
続いて、本発明の第一の実施の形態について詳細に説明する。図6は、本発明が適用される画像表示装置1を含む画像表示システムを示すシステム構成図である。図6に示すように、本発明が適用されるクライアントコンピュータである画像表示装置1は、例えばパーソナルコンピュータであり、インターネットであるネットワーク9を介して各種画像データを記憶保持するサーバコンピュータSに接続可能とされている。
本実施の形態においては、サーバコンピュータSに記憶保持されている画像データは、「離散ウェーブレット変換に基づく符号化・復号化アルゴリズム」に従って生成された圧縮符号である。より具体的には、圧縮符号は、図7に示すような二次元に分割された分割画像を圧縮符号化して一次元に並べることにより、図8に示すような構成になる。図8において、SOCは、コードストリームの開始を示すマーカセグメントである。また、MHは、メインヘッダであり、コードストリーム全体に共通する値を格納している。コードストリーム全体に共通する値としては、例えばブロック横サイズ、ブロック縦サイズ、画像横サイズ、画像縦サイズなどが記録されている。MHに続くデータは、各ブロックを符号化したデータであり、図8では図7に示すブロックの番号に従って主走査方向/副走査方向に各ブロックを圧縮したデータが並べられている。圧縮符号の最後にあるEOCマーカは、圧縮符号の最後であることを示すマーカセグメントである。
なお、このような圧縮符号を作成するのはブロック分割がされている画像符号化方式であればよく、「離散ウェーブレット変換に基づく符号化・復号化アルゴリズム」に限ることなく、同様な動作をする他の符号化方式でも良いことは言うまでもない。
次に、画像表示装置1について説明する。図9は、画像表示装置1のハードウェア構成を概略的に示すブロック図である。図9に示すように、画像表示装置1は、コンピュータの主要部であって各部を集中的に制御するCPU(Central Processing Unit)2を備えている。このCPU2には、BIOSなどを記憶した読出し専用メモリであるROM(Read Only Memory)3と、各種データを書換え可能に記憶するRAM(Random Access Memory)4とがバス5で接続されている。RAM4は、各種データを書換え可能に記憶する性質を有していることから、CPU2の作業エリアとして機能し、例えば入力バッファ等の役割を果たす。
さらにバス5には、外部記憶装置であるHDD(Hard Disk Drive)6と、配布されたプログラムであるコンピュータソフトウェアを読み取るための機構としてCD(Compact Disc)−ROM7を読み取るCD−ROMドライブ8と、画像表示装置1とネットワーク9との通信を司る通信制御装置10と、キーボードやマウスなどの入力装置11と、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)である表示装置12と、画像読取装置として機能するスキャナなどの画像入力装置13とが、図示しないI/Oを介して接続されている。加えて、バス5には、描画データ等を保持(記憶)するVRAM(Video Random Access Memory)14が接続されている。
そして、ネットワーク9を介してサーバコンピュータSからダウンロードした圧縮符号(図8参照)や画像入力装置13から入力した読取画像に係る圧縮符号(図8参照)は、HDD6に格納されることになる。ここに、圧縮符号をネットワーク9を介して受信する受信手段が実現されている。
また、図9に示すCD−ROM7は、この発明の記憶媒体を実施するものであり、OS(Operating System)や各種コンピュータソフトウェアが記憶されている。CPU2は、CD−ROM7に記憶されているコンピュータソフトウェアをCD−ROMドライブ8で読み取り、HDD6にインストールする。
なお、記憶媒体としては、CD−ROM7のみならず、DVDなどの各種の光ディスク、各種光磁気ディスク、フレキシブル・ディスクなどの各種磁気ディスク等、半導体メモリ等の各種方式のメディアを用いることができる。また、通信制御装置10を介してインターネットなどのネットワーク9からコンピュータソフトウェアをダウンロードし、HDD6にインストールするようにしてもよい。この場合に、送信側のサーバでコンピュータソフトウェアを記憶している記憶装置も、この発明の記憶媒体である。なお、コンピュータソフトウェアは、所定のOS(Operating System)上で動作するものであってもよいし、その場合に後述の各種処理の一部の実行をOSに肩代わりさせるものであってもよいし、所定のアプリケーションソフトやOSなどを構成する一群のプログラムファイルの一部として含まれているものであってもよい。
この装置全体の動作を制御するCPU2は、この画像表示装置1の主記憶として使用されるHDD6上にロードされたコンピュータソフトウェアに基づいて各種処理を実行する。
次に、画像表示装置1のCPU2がコンピュータソフトウェアに基づいて実行する各種処理の内容について説明する。図10は、画像表示装置1の機能ブロック図である。図10に示すように、CPU2はコンピュータソフトウェアに基づいて動作することで、描画制御手段15、ブロック伸長領域制御手段16(描画可能信号出力手段16−1、ブロック抽出手段16−2)、ブロック伸長手段17、伸長画像記憶手段18の各機能を実現する。本実施の形態の画像処理装置は、これらの描画制御手段15、ブロック伸長領域制御手段16、ブロック伸長手段17、伸長画像記憶手段18によって実現されている。
概略的には、例えば画像入力装置13や通信制御装置10を介してインターネット9から入力され、前述した「離散ウェーブレット変換に基づく符号化・復号化アルゴリズム」に従って生成された圧縮符号(図8参照)を描画する場合、この圧縮符号はブロック伸長手段17に渡される。この際、ブロック伸長領域制御手段16には、描画制御手段15から表示装置12の描画領域を示す描画領域信号が渡される。このような表示装置12の描画領域を示す描画領域信号は、表示装置12に描画されるウィンドウの大きさを示すものであり、RAM4に記憶されている。また、ブロック伸長領域制御手段16は、描画制御手段15から渡された描画領域信号が示す表示装置12の描画領域に該当するブロックに対応する圧縮符号をブロック伸長手段17に渡す。そして、ブロック伸長手段17は、まず、描画領域に該当するブロックの圧縮符号を伸長する。
ここで、描画領域とは、画像が描画される全ての領域をいう。例えば、表示装置12全体への描画領域(PDA、palmTopPC、LegacyPC等)、マルチウィンドウ時の特定のウィンドウに対する描画領域(通常のパーソナルコンピュータ等)、あるアプリケーションに画像を貼り付ける時の描画領域(アルバムソフトウェアへのサムネール画像の貼り付け等)である。
ブロック伸長手段17は描画領域に該当するブロックの伸長が完了すると、その旨を示す伸長完了信号をブロック伸長領域制御手段16を渡し、伸長完了信号を渡されたブロック伸長領域制御手段16は指定された描画領域が描画可能であることを示す描画可能信号を描画制御手段15に出力する。なお、この場合、全てのブロックの伸長は完了していないので、伸長されていないブロックについては、ブロック伸長手段17で引き続き伸長される。すなわち、指定された描画領域に対応する伸長が完了して描画可能であることを示す描画可能信号の送出タイミングは、全てのブロックが伸長完了する前のタイミングである。
このようにブロック伸長手段17で伸長された各ブロックは伸長画像記憶手段18によりRAM4に一時的に記憶された後、描画制御手段15からの指示によりVRAM14に展開されて表示装置12に描画される。つまり、所定の描画領域に対応するブロックの伸長が完了した場合には、全てのブロックの伸長の完了を待たずに、当該描画領域が表示装置12において描画されることになる。ここに、指定領域描画手段が実現されている。
ここで、上述したようなブロック伸長領域制御手段16によるブロック伸長領域制御処理の流れについて図11のフローチャートを参照して詳細に説明する。
なお、ここでは、図7に示した画像の内、表示装置12に描画される描画領域に合致する画像の一部(図12参照)を表示装置12に描画する処理を例示的に説明する。図12は、画像の一部(描画領域)とそれを含むブロックとの関係を示した説明図、図13は、圧縮符号における描画領域とブロックとの関係を示した説明図である。図12及び図13に示すように、描画領域を含むブロックは、“00”,“01”,“02”,“10”,“11”,“12”のブロック番号で示されるブロックであることが分かる。ここではブロック番号でブロックを指定するようにしたが、ブロックを一意に識別できるものであれば良く、同様の効果を奏するよう、そのブロックの先頭アドレスとサイズ、あるいは先頭アドレスと終了アドレスなどでも良いことは言うまでもない。
「離散ウェーブレット変換に基づく符号化・復号化アルゴリズム」に従って生成された圧縮符号を取得して処理が開始されると、先ず初期設定を実行する(ステップS1)。初期設定としては、圧縮符号のメインヘッダ情報を読み込み、圧縮符号のメインヘッダ情報よりビット深さ、色成分などを取得する。なお、この際、圧縮符号の最後(EOC)まで読み込むようにしても良い。
次に、描画制御手段15より渡された描画領域信号より、該当ブロック番号の抽出を実行する(ステップS2)。この描画領域信号の値は、圧縮符号を伸長した際に展開される画像の原点を左上、主走査方向をX軸、副走査方向をY軸とした座標系において、画像の被描画領域の左上のx座標(x)とy座標(y)、画像の被描画領域の幅(width)、画像の被描画領域の高さ(height)に基づく描画領域信号(x,y,width,height)である(図12参照)。
なお、この値は、画像の被描画領域の左上のx座標及びy座標、右下のx座標及びy座標に基づいて、(x1,y1,x2,y2)などの等価な値を示す別のパラメータで描画領域信号を与えても良い。
ブロック伸長領域制御手段16は、この値(x,y,width,height)からブロック境界位置への繰り上げを考慮にいれ、
start_i=ceil(x/ブロック幅)
end_i=ceil(width/ブロック幅(t_width))
start_j=ceil(y/ブロック高さ)
end_j=ceil(height/ブロック高さ(t_height))
を計算し、定数として代入する。ちなみに図12に示した例では、描画領域に対応するブロックは、“00”,“01”,“02”,“10”,“11”,“12”のブロック番号となり、
start_i=0
end_i=3
start_j=0
end_j=2
がそれぞれ代入される。
続いて、ブロック抽出手段16−2を実行する。ブロック抽出手段16−2としては、まず、ステップS2で抽出されたブロック番号を頼りに現在のブロックが描画領域に含まれるブロックであるかどうかを判定する。まず、現在のブロック番号を主走査方向i、副走査方向jで表す。現在のブロックが伸長するブロックであるかどうかは、
j<end_j(ステップS4)
i<end_i(ステップS6)
の各式が成立するかどうかにより判定する。すなわち、副走査方向の開始位置としてj=start_j(ステップS3)から開始し、ステップS4に進み、副走査方向で描画領域内の条件“j<end_j”が成立するかどうかを判定する。
成立する場合は(ステップS4のY)、次に主走査方向にも同様に描画領域に含まれるブロックであるかどうかを判定する。具体的には、主走査方向主走査方向の開始位置としてi=start_i(ステップS5)から開始し、ステップS6に進み、主走査方向で描画領域内の条件“i<end_i”が成立するかどうかを判定する。
成立する場合は(ステップS6のY)、現在のブロックは描画領域内のブロックなので、ステップS7に進み、ブロック伸長手段17に対して当該ブロックを伸長するよう指示する信号を出す(描画領域ブロック伸長手段)。
当該ブロックの伸長が完了したら、主走査方向に隣接するブロックが描画領域内かどうかをチェックするために、現在のブロック番号を主走査方向に1増やし(ステップS8)、ステップS6に戻り、ステップS6,S7,S8の手順を繰り返し実行する。
現在ブロックが描画領域の主走査方向の範囲を超えた場合には(ステップS6のN)、その行については描画領域内の全てのブロックを伸長したため、次の行に移ることになる。次の行に移るには、ステップS9において副走査方向の番号を示すjを1増やし(ステップS9)、ステップS4に戻り、ステップS4,S5、S6,S7,S8,S9の手順を繰り返し実行する。
現在ブロックが描画領域の副走査方向の範囲を超えたら(ステップS4のN)、ここではじめて主走査方向、副走査方向とも描画領域内の全てのブロックの伸長は完了したことになり、ステップS10においてブロック伸長領域制御手段16内の描画可能信号出力手段から描画制御手段15に描画可能信号を出力する(ステップS10)。
ここに、ステップS10において本出願のポイントになる描画可能信号出力手段16−1の機能が実行される。すなわち、指定された描画領域に対応するブロックを伸長した後、全てのブロックを伸長する前にブロック伸長領域制御手段16が描画制御手段15に対して、描画可能信号を出力することになる。このようにして、描画制御手段15に対して描画可能信号が送出されると、描画制御手段15は、伸長画像記憶手段18によりRAM4に記憶されている指定された描画領域に対応するブロックを、表示装置12に描画することになる。
なお、描画可能信号を送出するタイミングは、描画領域内のブロックを全て伸長完了した後、すべてのブロックを伸長完了する前のタイミングであればいつであっても良い。この描画可能信号を送出するタイミングは、描画領域内のブロックを全て伸長完了した直後に設定した場合には、最も速く表示装置12に描画ができることになるが、利用者が描画領域を移動させたときに新しく設定された描画領域の応答速度が劣る。また、すべてのブロックを伸長完了する直前に設定した場合には、利用者が描画領域を移動させたときに新しく設定された描画領域の応答速度が向上するが、最初の描画領域が描画されるまでの時間がかかることになる。したがって、描画可能信号を送出するタイミングは、これらを勘案して適切な値に設定すれば良い。
そして、描画制御手段15に対する描画可能信号の出力後、描画領域以外のブロックを伸長して(ステップS11)、処理を終了する。
すなわち、図14に示すように、ブロック伸長手段17は、ブロック伸長領域制御手段16からの制御により指定された描画領域に対応するブロックのみを最初に伸長した後、残りのブロックを伸長することになる。
ここに、描画制御手段15から渡された描画領域信号が示す描画領域に該当するブロックの圧縮符号を伸長した後、描画制御手段15に対して指定された描画領域に対応するブロックの圧縮符号の伸長が完了したことを示す描画可能信号を出力し、表示装置12の指定された描画領域に伸長された圧縮符号に応じた画像を描画させる。これにより、全圧縮符号の伸長完了前に、指定された描画領域に対応するブロックの圧縮符号を先に伸長して描画することで、従来の伸長方式よりもあたかも高速に伸長しているようにみせることができるので、画像描画の際の利用者の待ち時間を短縮化することができる。
このような画像処理装置は、パノラマ画像、天体画像、地図画像など比較的大きなサイズの画像を限られた描画領域の表示装置12で高速にする場合に応用可能である。例えば、全世界の地図をコンピュータを使ってシームレスに経路をたどっていくような場合である。
なお、本実施の形態においては、表示装置12に描画される描画領域に合致する画像の一部を含むブロックを、“00”,“01”,“02”,“10”,“11”,“12”のブロック番号(図12及び図13参照)で示される複数のブロックとしたが、これに限るものではない。
例えば、図15に示すような二次元分割画像を用いた場合における、表示装置12に描画される描画領域に合致する画像の一部を表示装置12に描画する処理を例示的に説明する。図15に示す二次元分割画像は、図7に示した二次元分割画像に比べて各ブロックが大きい。すなわち、図16に示すように、画像の一部(描画領域)が一のブロックに含まれることになり、図17に示すように、描画領域を含むブロックは、“00”のブロック番号で示されるブロックになる。本実施の形態によれば、このように画像の一部(描画領域)が一のブロックに含まれる場合であっても、全圧縮符号の伸長完了前に、指定された描画領域に対応するブロックの圧縮符号を先に伸長して描画することで、従来の伸長方式よりもあたかも高速に伸長しているようにみせることができるので、画像描画の際の利用者の待ち時間を短縮化することができる。
次に、本発明の第二の実施の形態を図18に基づいて説明する。なお、前述した第一の実施の形態と同じ部分は同じ符号で示し説明も省略する。
第一の実施の形態で説明したように、画像の一部(描画領域)が一のブロックに含まれる場合であっても、全圧縮符号の伸長完了前に、指定された描画領域に対応するブロックの圧縮符号を先に伸長して描画することで、従来の伸長方式よりもあたかも高速に伸長しているようにみせることができるので、画像描画の際の利用者の待ち時間を短縮化することができる。
しかしながら、画像の一部(描画領域)がブロックの大きさに比べて極端に小さい場合には、画像の一部(描画領域)以外の部分も伸長することになるので、データの高速伸長という観点からは依然として改良の余地が残る。
そこで、本実施の形態は、画像の一部(描画領域)がブロックの大きさに比べて極端に小さい場合において、画像描画の際の利用者の待ち時間を更に短縮化することができるようにしたものである。
ここで、図18は本実施の形態の画像描画処理における指定ブロックの伸長処理の流れを示すフローチャートである。画像描画処理における指定ブロックの伸長処理は、図11におけるステップS7に該当するものである。なお、ここでは図15に示したような二次元分割画像を用いた場合において、図19に示すように画像の一部(描画領域)がブロックの大きさに比べて極端に小さい場合を想定したものである。
指定ブロックの伸長処理を実行するブロック伸長手段17は、サブバンド分割されたウェーブレット変換係数をビットプレーン毎にエントロピー符号化されたパケットを順次伸長することにより、指定されたブロックを伸長する。伸長する範囲は、
(1)色成分
(2)サブバンドの種類
(3)デコンポジションレベル
(4)コードブロックの副走査方向の範囲
(5)コードブロックの主走査方向の範囲
(6)ビットプレーン数
で特定される。
簡単のため、以下の説明では指定された範囲のコードブロックを可逆で伸長する場合を考え、上記(6)については全てのビットプレーンを伸長する場合の作用を説明するが、この発明は可逆に特定されるわけではないので、図18に示すステップD1「指定コードブロックを伸長」のルーチンにおいて、特定のビットプレーンまでの範囲を併せて指定することで非可逆な伸長にも適用できることは言うまでも無い。
図11で主走査方向i,副走査方向jのブロック番号で示されるブロックを伸長するために、図11におけるステップS7のルーチンは、まず、初期設定として(INIT)、伸長に必要なメモリを確保し、上記範囲の開始位置、終了位置+1の場所を以下に示す表1のように設定する。
そして、ステップC1で現在の色成分を示す値Lをstart_colorの値に設定し、ステップC2に進む。ステップC2では現在の色成分が終了位置以内かどうかをチェックし、範囲内の時は(ステップC2のY)、ステップP0に進む。通常モノクロであれば、
start_color=0
end_color=1
に設定されており、カラー画像であれば、
start_color=0
end_color=4
に設定されている。
色成分で範囲が指定されると、続くステップP0において、描画領域から該当プレシンクト番号の計算を行う。さて、プレシンクトの大きさは先に述べたように水平方向に2のPPxべき乗、垂直方向に2のPPyべき乗の大きさで分割された領域であり、符号化時に決定される。図19において、ブロック00は主走査方向、副走査方向に対してそれぞれ原点から各々2ppx,2ppyの矩形に分けられた各プレシンクト番号の領域に分割される。ここで、描画領域がマッピングされるプレシンクトの番号は0,1,2,5,6,7となる。
なお、図18において、プレシンクトの数分回転するループP1,P2,C3のループは本来は副走査方向、主走査方向の2重ループとなるが、フローチャートが複雑になるので、簡単のために1重ループで示してある。内容的には後述するコードブロックの2重ループJ1,J2,L3より内側の2重ループと同じである。
こうしてステップP0においてプレシンクト番号が確定すると、
start_p=0
end_p=3
として主走査方向のプレシンクトの開始番号、終了番号を代入し、ループを制御する定数を確定する。
次に、ステップP1に進み、現在のプレシンクト番号Pにstart_pの値をセットすることにより、指定されたブロックの左上のプレシンクトから開始する。
続くステップP2は終了条件であり、その後のステップP3においてインクリメントされるプレシンクト番号がステップP0で設定された終了番号を超えていないかどうかチェックするものである。
プレシンクト番号Pが描画領域内にある場合には(ステップP2のY)、ステップSB1に進み、サブバンドを決定する。サブバンドはLL,HL,LH,HHと各ウェーブレット変換係数の値を次々にとる。すなわち、ステップSB1においては、現在のサブバンドを示す変数Sに対して、start_sbを指定する。
続くステップSB2において、伸長の範囲内であると判断された場合には(ステップSB2のY)、ステップL1に進み、デコンポジションレベルを指定する。
ステップL1においては、現在のデコンポジションレベルを示す変数Lに対して、start_levelを指定する。ここで、図20はサブバンド係数からデコンポジションレベル及びコードブロックへの分割例を示す説明図である。図20に示す例では、1階層のデコンポジションレベルなので、
start_level=1
end_level=−1
となる(デコンポジションレベルの上位から順に伸長する)。
続くステップL2において、伸長の範囲内であると判断された場合には(ステップL2のY)、ステップJ1に進み、コードブロックを指定する。
ステップJ1においては、現在のコードブロックの副走査方向の番号をj、主走査方向の番号をiとし、現在の副走査方向の番号を示す変数Jに対して、start_j−1を指定する。
続くステップJ2において、伸長の範囲内であると判断された場合には(ステップJ2のY)、ステップI1に進み、現在の副走査方向の番号を示す変数iに対して、start_i−1を指定する。
続くステップI2において、伸長の範囲内であると判断された場合には(ステップI2のY)、ステップD1に進む。
ステップD1においては、指定コードブロックの伸長が行われる。ここで、サブバンド係数からコードブロックへの分割の様子は図20に示されている。各サブバンドは左上を原点として、横方向に2xcb、y方向に2ycbで示す矩形に分けられ、各々をコードブロックと呼ぶ。この各々の単位が符号化の単位となるので、逆変換である伸長はその単位毎に伸長を行う。
指定コードブロックの伸長が完了すると、ステップI3に進み、隣接する横方向のコードブロックを指定するために主走査方向の番号を1インクリメントし、ステップI2に戻る。ステップI2、D1、I3は、主走査方向のコードブロックが終了するまで(ステップI2のN)、繰り返される。
主走査方向のコードブロックが終了した場合には(ステップI2のN)、ステップJ3に進み、描画領域内の次の副走査方向のコードブロックを指定するために副走査方向の番号を1インクリメントし、ステップJ2に戻る。ステップJ2、I1、J3、I2、D1、I3は、副走査方向のコードブロックが終了するまで(ステップJ2のN)、繰り返される。
次に、現在のデコンポジションレベルより下位のデコンポジションレベルに含まれるコードブロックの伸長に進むため、ステップL3でデコンポジションレベルの番号を1デクリメントし、ステップL2に戻る。ステップL2、J1、L3、J2、I1、J3、I2、D1、I3は、デコンポジションレベルのコードブロックが終了するまで(ステップL2のN)、繰り返される。
次に、現在のサブバンドの次のサブバンドに含まれるコードブロックの伸長に進むため、ステップSB3でサブバンドの種類を次の種類に変更し、ステップSB2に戻る。ステップSB2、L1、SB3、L2、J1、L3、J2、I1、J3、I2、D1、I3は、サブバンドのコードブロックが終了するまで(ステップSB2のN)、繰り返される。
ここまでで圧縮符号内のあるプレシンクトに対するウェーブレット変換係数がすべて伸長されたことになるので、ウェーブレット逆変換が可能となり、ステップW1においてウェーブレット逆変換を行う。
続いて、現在のプレシンクトの次のプレシンクトに含まれるコードブロックの伸長に進むため、ステップP3でプレシンクトの番号を次の番号に変更し、ステップP2に戻る。ステップP2、SB1、P3、W1、SB2、L1、SB3、L2、J1、L3、J2、I1、J3、I2、D1、I3は、サブバンドのコードブロックが終了するまで(ステップP2のN)、繰り返される。
続いて、現在の色成分の次の色成分に含まれるコードブロックの伸長に進むため、ステップC3で色成分の番号を次の番号に変更し、ステップC2に戻る。ステップC2、P1、C3、P2、SB1、P3、W1、SB2、L1、SB3、L2、J1、L3、J2、I1、J3、I2、D1、I3は、サブバンドのコードブロックが終了するまで(ステップP2のN)、繰り返される。
ここまでで圧縮符号内のあるプレシンクトに対する色成分がすべて伸長されたことになるので、逆色変換が可能となり、ステップC4において逆色変換を行う。
以上の動作により、画像描画処理における指定ブロックの伸長処理が終了する。
これにより、描画領域に係るブロックの圧縮符号の伸長が描画領域を含むプレシンクトに対して実行されることにより、描画領域を含まないコードブロックを伸長することはなくなるので、描画領域がブロックの大きさに比べて極端に小さい場合には、画像描画の際の利用者の待ち時間を更に短縮化することができる。
次に、本発明の第三の実施の形態を図21に基づいて説明する。なお、前述した第一の実施の形態または第二の実施の形態と同じ部分は同じ符号で示し説明も省略する。
ここで、図21は本実施の形態の画像表示装置1の機能ブロック図である。図21に示すように、本実施の形態においては、ブロック伸長手段17を複数有している点で、第一の実施の形態と異なるものである。
すなわち、指定ブロックの伸長処理(ステップS9:図11または図18参照)が、複数のブロック伸長手段17において並列処理されることになる。例えば、ブロック伸長手段17か3つ用意されており、描画領域を含むブロックが、“00”,“01”,“02”,“10”,“11”,“12”のブロック番号で示されるブロックである場合には(図12参照)、各ブロック伸長手段17において2つのブロックが伸長処理されることになる。
なお、この場合には、描画領域内のブロックがすべて伸長完了しているか否かを判断する際に(ステップS10:図11または図18参照)、各ブロック伸長手段17での伸長がそれぞれ完了したかどうかの同期判定処理を併せて実行する。
これにより、ブロックの伸長処理を高速化させることが可能になるので、画像描画の際の利用者の待ち時間を更に短縮化することができる。
次に、本発明の第四の実施の形態を図22ないし図38に基づいて説明する。なお、前述した第一の実施の形態ないし第三の実施の形態と同じ部分は同じ符号で示し説明も省略する。
図22は、本発明の第四の実施の形態の画像表示装置1の機能ブロック図である。図22に示すように、CPU2はコンピュータソフトウェアに基づいて動作することで、描画制御手段15、ブロック伸長領域制御手段16、ブロック伸長手段17、伸長画像記憶手段18の各機能を実現する。本実施の形態の画像処理装置は、これらの描画制御手段15、ブロック伸長領域制御手段16(描画可能信号出力手段16−1、ブロック抽出手段16−2)、ブロック伸長手段17、伸長画像記憶手段18によって実現されている。
概略的には、例えば画像入力装置13や通信制御装置10を介してインターネット9から入力され、前述した「離散ウェーブレット変換に基づく符号化・復号化アルゴリズム」に従って生成された圧縮符号(図8参照)を描画する場合、この圧縮符号はブロック伸長手段17に渡される。この際、ブロック伸長領域制御手段16には、描画制御手段15から表示装置12の描画領域を示す描画領域信号が渡される。このような表示装置12の描画領域を示す描画領域信号は、表示装置12に描画されるウィンドウの大きさを示すものであり、RAM4に記憶されている。また、ブロック伸長領域制御手段16は、描画制御手段15から渡された描画領域信号が示す表示装置12の描画領域に該当するブロックの圧縮符号をブロック伸長手段17に渡す。そして、ブロック伸長手段17は、まず、描画領域に該当するブロックの圧縮符号を伸長する。
ここで、描画領域とは、画像が描画される全ての領域をいう。例えば、表示装置12全体への描画領域(PDA、palmTopPC、LegacyPC等)、マルチウィンドウ時の特定のウィンドウに対する描画領域(通常のパーソナルコンピュータ等)、あるアプリケーションに画像を貼り付ける時の描画領域(アルバムソフトウェアへのサムネール画像の貼り付け等)である。
ブロック伸長手段17は描画領域に該当するブロックの伸長が完了すると、その旨を示す伸長完了信号をブロック伸長領域制御手段16を渡し、伸長完了信号を渡されたブロック伸長領域制御手段16は指定された描画領域が描画可能であることを示す描画可能信号を描画制御手段15に出力する。
このようにブロック伸長手段17で伸長された各ブロックは伸長画像記憶手段18によりRAM4に一時的に記憶された後、描画制御手段15からの指示によりVRAM14に展開されて表示装置12に描画される。つまり、所定の描画領域に対応するブロックの伸長が完了した場合には、全てのブロックの伸長の完了を待たずに、当該描画領域が表示装置12において描画されることになる。ここに、指定領域描画手段が実現されている。
また、CPU2はコンピュータソフトウェアに基づいて動作することで、描画位置移動手段19、特定位置指定手段20の各機能を実現する。これらの描画位置移動手段19、特定位置指定手段20は、詳細は後述するが、描画領域に描画される描画画像の移動を指示する描画画像移動指示手段の一態様である。
描画位置移動手段19は、表示装置12の描画領域における画像を移動させるためのものである。描画位置移動手段19としては、描画画面を上下左右にスクロールさせるスクロールバー、1回の操作で任意の場所への移動を可能にするランダムアクセス手段、別の部分画像を描画するために現在描画されている部分画像の上、下、左、右、左上、右上、左下、右下の8方向への移動を可能にする手のひらツールがある。これらのスクロールバー、ランダムアクセス手段、手のひらツールは、ユーザの要求により選択される。
ここでランダムアクセス手段の実装例を2つ挙げる。実装例1は、2つのウィンドウ構成にして、一方のウィンドウには1描画領域内に圧縮符号全てを伸長したときの全体画像を描画し、ユーザが圧縮符号の任意のブロックを指定できるよう、描画領域のサイズに応じて適宜縮小処理を施す一方、他方のウィンドウにはユーザがもう一方のウィンドウで指定した領域に対する伸長画像を描画するように構成する。実装例2は、実装例1の2つのウィンドウを1つの描画領域に同居させることにより、最初は1描画領域内に圧縮符号全てを伸長したときの全体画像を描画しておき、ユーザが領域を任意に指定する度に、描画領域が指定された領域の伸長画像に順次更新されていくような方式あるいはこれに類する同様の実装でも構わない。例えば、現在の携帯情報端末装置(PDA)は単一のウィンドウで構成されるのが一般的なために実装例2が一般的である一方、パーソナルコンピュータの場合はマルチウィンドウが一般的なために実装例1,2のどちらの構成も一般的である。
そして、描画位置移動手段19から画像を移動した旨の信号を渡されたブロック伸長領域制御手段16は、表示装置12の描画領域に該当するブロックの圧縮符号をブロック伸長手段17に渡す。そして、ブロック伸長手段17は、まず、描画領域に該当するブロックの圧縮符号を伸長する。
ブロック伸長手段17は描画領域に該当するブロックの伸長が完了すると、その旨を示す伸長完了信号をブロック伸長領域制御手段16を渡し、伸長完了信号を渡されたブロック伸長領域制御手段16は指定された描画領域が描画可能であることを示す描画可能信号を描画制御手段15に出力する。
また、特定位置指定手段20は、描画画像の特定位置を指定させて画像を移動させるためのものである。特定位置指定手段20としては、各種の態様が考えられる。例えば、描画領域(伸長するブロック)の初期位置やブロック番号を示した値を予め初期設定ファイルに記録しておき、本装置が初期動作するときにその初期設定ファイルから最初の描画領域を示す初期位置や番号を読み込むことにより初期位置を決定する。また、こうした初期設定ファイルを構成することなく、初期位置は伸長画像の左上などと一定のルールを定めて特定位置を指定するように構成しても良い。
そして、特定位置指定手段20から描画画像の特定位置を指定した旨の信号を渡されたブロック伸長領域制御手段16は、表示装置12の描画領域に該当するブロックの圧縮符号をブロック伸長手段17に渡す。そして、ブロック伸長手段17は、まず、描画領域に該当するブロックの圧縮符号を伸長する。
ブロック伸長手段17は描画領域に該当するブロックの伸長が完了すると、その旨を示す伸長完了信号をブロック伸長領域制御手段16を渡し、伸長完了信号を渡されたブロック伸長領域制御手段16は指定された描画領域が描画可能であることを示す描画可能信号を描画制御手段15に出力する。
ここで、上述したようなブロック伸長領域制御手段16によるブロック伸長領域制御処理の流れについて図23のフローチャートを参照して詳細に説明する。
なお、ここでは、図7に示した画像の内、表示装置12に描画される描画領域に合致する画像の一部(図24参照)を表示装置12に描画する処理を例示的に説明する。図24は、画像の一部(描画領域)とそれを含むブロックとの関係を示した説明図、図25は、圧縮符号における描画領域とブロックとの関係を示した説明図である。図24及び図25に示すように、描画領域を含むブロックは、“00”,“01”,“02”,“10”,“11”,“12”のブロック番号で示されるブロックであることが分かる。ここではブロック番号でブロックを指定するようにしたが、ブロックを一意に識別できるものであれば良く、同様の効果を奏するよう、そのブロックの先頭アドレスとサイズ、あるいは先頭アドレスと終了アドレスなどでも良いことは言うまでもない。
「離散ウェーブレット変換に基づく符号化・復号化アルゴリズム」に従って生成された圧縮符号を取得して処理が開始されると、先ず初期設定を実行する(ステップS1)。初期設定としては、圧縮符号のメインヘッダ情報を読み込み、圧縮符号のメインヘッダ情報より画像の縦/横の大きさ、分割された縦/横ブロックの数、大きさ、ビット深さ、色成分、階層数、サブサンプリングレートなどを取得する。また、描画位置移動手段19(スクロールバー、ランダムアクセス手段、手のひらツール)の種別や、特定位置指定手段20の態様も取得する。なお、この際、圧縮符号の最後(EOC)まで読み込むようにしても良い。
次に、描画制御手段15より渡された描画領域信号より、該当ブロック番号の抽出を実行する(ステップS2)。この値は、例えば描画領域の左上のX座標,描画領域の左上のY座標,描画領域の幅,描画領域の高さに基づいて、(x,y,width,height)で示される。勿論、別手段として、左上のX座標,描画領域の左上のY座標,右下のX座標,描画領域の右下のY座標に基づいて、(x1,y1,x2,y2)などの等価な値を示す別のパラメータで与えても良いことは言うまでも無い。ブロック伸長領域制御手段16は、この値(x,y,width,height)からブロック境界位置への繰り上げを考慮にいれ、
start_i=ceil(x/ブロック幅)
end_i=ceil(width/ブロック幅(t_width))
start_j=ceil(y/ブロック高さ)
end_j=ceil(height/ブロック高さ(t_height))
を計算し、定数として代入する。ちなみに図24に示した例では、描画領域に対応するブロックは、“00”,“01”,“02”,“10”,“11”,“12”のブロック番号となり、
start_i=0
end_i=3
start_j=0
end_j=2
がそれぞれ代入される。
続いて、ブロック抽出手段16−2を実行する。ブロック抽出手段16−2としては、まず、ステップS2で抽出されたブロック番号を頼りに現在のブロックが描画領域に含まれるブロックであるかどうかを判定する。まず、現在のブロック番号を主走査方向i、副走査方向jで表す。現在のブロックが伸長するブロックであるかどうかは、
j<end_j(ステップS4)
i<end_i(ステップS6)
の各式が成立するかどうかにより判定する。すなわち、副走査方向の開始位置としてj=start_j(ステップS3)から開始し、ステップS4に進み、副走査方向で描画領域内の条件“j<end_j”が成立するかどうかを判定する。
成立する場合は(ステップS4のY)、次に主走査方向にも同様に描画領域に含まれるブロックであるかどうかを判定する。具体的には、主走査方向主走査方向の開始位置としてi=start_i(ステップS5)から開始し、ステップS6に進み、主走査方向で描画領域内の条件“i<end_i”が成立するかどうかを判定する。
成立する場合は(ステップS6のY)、現在のブロックは描画領域内のブロックなので、ステップS7に進み、ブロック伸長手段17に対して当該ブロックを伸長するよう指示する信号を出す(描画領域ブロック伸長手段)。
当該ブロックの伸長が完了したら、主走査方向に隣接するブロックが描画領域内かどうかをチェックするために、現在のブロック番号を主走査方向に1増やし(ステップS8)、ステップS6に戻り、ステップS6,S7,S8の手順を繰り返し実行する。
現在ブロックが描画領域の主走査方向の範囲を超えた場合には(ステップS6のN)、その行については描画領域内の全てのブロックを伸長したため、次の行に移ることになる。次の行に移るには、ステップS9において副走査方向の番号を示すjを1増やし(ステップS9)、ステップS4に戻り、ステップS4,S5、S6,S7,S8,S9の手順を繰り返し実行する。
現在ブロックが描画領域の副走査方向の範囲を超えたら(ステップS4のN)、ここではじめて主走査方向、副走査方向とも描画領域内の全てのブロックの伸長は完了したことになり、ステップS10においてブロック伸長領域制御手段16内の描画可能信号出力手段から描画制御手段15に描画可能信号を出力する(ステップS10)。
ここに、ステップS10において本出願のポイントになる描画可能信号出力手段16−1の機能が実行される。すなわち、指定された描画領域に対応するブロックを伸長した後、全てのブロックを伸長する前にブロック伸長領域制御手段16が描画制御手段15に対して、描画可能信号を出力することになる。このようにして、描画制御手段15に対して描画可能信号が送出されると、図26に示すように、描画制御手段15は、伸長画像記憶手段18によりRAM4に記憶されている指定された描画領域に対応するブロックを、表示装置12に描画することになる。
また、本実施の形態においては、描画制御手段15に対する描画可能信号の出力後は、次に描画するブロックを予測する描画ブロック予測処理を行う(ステップS12)。
この描画ブロック予測処理は、ユーザにより指定されたブロックが伸長済みである時、ユーザから描画位置の指定があった時、ユーザからの描画位置の指定がない時等により、その内容が異なる。そこで、以下においては、描画ブロック予測処理の詳細な内容について場合分けして説明する。
[スクロールバーを用いた画素単位のスクロール移動が終了した場合]
スクロールバーを用いたユーザによるスクロール移動指示が終了し、かつ、スクロール単位が画素単位のスクロールであった場合には、それまでスクロールしてきた方向と直交する方向に存在するブロックを、描画領域に次に描画されるブロックであると予測する。ここで、図27はスクロール単位が画素単位のスクロールであった場合における予測例を示す説明図である。図27(a)に示すように、横方向の画素単位のスクロールが終了した場合には、その横方向に直交する縦方向に存在するブロックが、描画領域に次に描画されるブロックであると予測される(図27(a)中、斜線部分)。一方、図27(b)に示すように、縦方向の画素単位のスクロールが終了した場合には、その縦方向に直交する横方向に存在するブロックが、描画領域に次に描画されるブロックであると予測される(図27(b)中、斜線部分)。
これは、スクロールバーはその動作特性上、1回の動作で縦方向か横方向にしかスクロールできず、かつ、画素スクロールは、動作は遅いが目的の描画領域に近づいたことを確実に確認できるという特性を有しているからである。すなわち、画素スクロールの場合には、描画領域がユーザの関心のある領域にまで進んだか否かを最も確実に確認することができるので、それまでと同じ方向にスクロールする確率は低く、これまでスクロールしてきた方向に直交する方向へのスクロールに移行する確率が高いことに基づいて予測するものである。
[スクロールバーを用いたページ単位のスクロール移動が終了した場合]
スクロールバーを用いたユーザによるスクロール移動指示が終了し、かつ、スクロール単位がページ単位のスクロールであった場合には、それまでスクロールしてきた方向と同方向に存在するブロックを、描画領域に次に描画されるブロックであると予測する。ここで、図28はスクロール単位がページ単位のスクロールであった場合における第一の予測例を示す説明図、図29はスクロール単位がページ単位のスクロールであった場合における第二の予測例を示す説明図である。図28に示すように、第一の予測例としては、縦方向のページ単位のスクロールが終了した場合には、スクロール移動先の縦方向の延長上に存在するブロックが、描画領域に次に描画されるブロックであると予測される(図28中、斜線部分)。また、図29に示すように、第二の予測例としては、縦方向のページ単位のスクロールが終了した場合には、最初の描画位置とスクロール移動先の描画位置の間に存在するブロックが、描画領域に次に描画されるブロックであると予測される(図17中、斜線部分)。
これは、ページスクロールが、動作は速いが目的の描画領域に対して大雑把な移動にとどまるため、その後隣接する前後のページへの移動や画素スクロールで微調整することが一般的だからである。すなわち、ページストロークの場合には、ユーザが目的とする描画領域まで移動させるのに、同じ方向の中で、最初に大雑把に移動し、次に微調整で細かく移動することにより目的の場所に移動するという特性に基づいて予測するものである。
[ランダムアクセス手段を用いる場合]
ランダムアクセス手段を用いる場合には、画像の中央付近に存在するブロックを、描画領域に次に描画されるブロックであると予測する。ここで、図30はランダムアクセス手段を用いる場合における予測例を示す説明図である。図30に示すように、この場合には、画像の中央付近に存在するブロックが、描画領域に次に描画されるブロックであると予測される(図30中、斜線部分)。
これは、ランダムアクセス手段は、1回の操作で任意の場所への移動を可能にするという特性を有していることから、次にユーザがどの場所を指定するかを予測するのは一般的に困難であるが、デジタルカメラでの使用を想定すると被写体画像の中央を描画領域の中央付近に位置させることが一般的だからである。
[手のひらツールを用いる場合]
手のひらツールを用いる場合には、現在描画されている画像を含むブロックに隣接するブロックを、描画領域に次に描画されるブロックであると予測する。ここで、図31は手のひらツールを用いた場合における予測例を示す説明図である。図31に示すように、この場合には、現在描画されている画像を含むブロックに対して、縦、横、斜め方向で隣接する各ブロックが、描画領域に次に描画されるブロックであると予測される(図31中、斜線部分)。すなわち、ブロック(ブロック群)に対して、上、下、左、右、左上、右上、左下、右下の8方向で隣接する各ブロックが、描画領域に次に描画されるブロックであると予測される。
これは、手のひらツールは、別の部分画像を描画するために現在描画されている部分画像の上、下、左、右、左上、右上、左下、右下の8方向への移動を可能にするという特性に基づいて予測するものである。
[特定位置指定手段を用いる場合]
特定位置指定手段を用いる場合には、当該特定位置指定手段に係る所定の要件に適合するブロックを、描画領域に次に描画されるブロックであると予測する。特定位置指定手段としては、各種の態様が考えられるので、以下において例示的に説明する。
第一には、特定位置指定手段により、ユーザにより特定位置(例えば、パンチ孔の位置)が予め定められているような場合である。ここで、図32は特定位置指定手段を用いた場合における第一の予測例を示す説明図である。図32に示すように、この場合には、特定位置(図32では、パンチ孔の位置)に存在するブロックが、描画領域に次に描画されるブロックであると予測される(図32中、斜線部分)。このようなパンチ孔は、スキューの確認に用いられたり、消去されることが多いためである。
第二には、特定位置指定手段により、ユーザの利用履歴を統計的に分析した結果に応じた特定位置が指定されるような場合である。例えば、ユーザの利用履歴から利用頻度が高い部分を特定位置とすることが考えられる。ここで、図33は特定位置指定手段を用いた場合における第二の予測例を示す説明図である。図33に示すように、この場合には、特定位置(図33では、画像の右下部分の利用頻度が高いユーザの場合を想定した)に存在するブロックが、描画領域に次に描画されるブロックであると予測される(図33中、斜線部分)。画像の右下部分は、文書の末尾であって、この部分には結論が記載されており、ユーザが常にこの部分を見るような場合が考えられるからである。
第三には、特定位置指定手段により、圧縮符号中の高周波成分の発生頻度に応じた特定位置が指定されるような場合である。例えば、圧縮符号中の高周波成分の発生頻度が高い部分を特定位置とすることが考えられる。ここで、図34は特定位置指定手段を用いた場合における第三の予測例を示す説明図である。図34に示すように、この場合には、特定位置(図34では、画像の下部分に高周波成分の発生頻度が高い場合を想定した)に存在するブロックが、描画領域に次に描画されるブロックであると予測される(図34中、斜線部分)。なお、圧縮符号中の高周波成分の発生頻度は、各ブロックのヘッダ部分に記述されているサブバンド毎の符号量を読み取って、各階層毎に高周波サブバンド係数(LH,HL,HH)の符号量を求めるようにすれば良い。これにより、高周波成分の発生頻度が高い部分は画像全体の中で焦点があっている部分と考えられ、ユーザが常にこの部分を見るような場合が考えられるからである。
以上のようにして、描画ブロック予測処理(ステップS12)が実行される。
このようにして描画領域に次に描画されるブロックが予測されると、この予測されたブロックを伸長する(ステップS13)。
すなわち、ステップS12及びステップS13によって予測ブロック伸長手段の機能が実行される。
その後、描画領域に描画される画像の移動に待機し(ステップS14)、描画領域に描画される画像の移動が指示されると(ステップS14のY)、該当するブロックを抽出した後(ステップS15)、予測したブロックを比較する(ステップS16)。
抽出したブロックが予測したブロックと同じであれば(ステップS16のY)、既に伸長処理は完了しているので、ステップS10に戻り、指定された描画領域に対応する伸長が完了して描画可能であることを示す描画可能信号を描画制御手段15に対して送出する。ここに、移動後画像描画手段の機能が実行される。
一方、抽出したブロックが予測したブロックと異なっている場合には(ステップS16のN)、ステップS3に戻り、抽出したブロックについてステップS3〜S10の処理を実行することになる。ここに、移動後画像描画手段の機能が実行される。
ここに、表示装置12の描画領域に対応するブロックの圧縮符号が先に伸長されて描画された後、描画領域に描画される描画画像の移動が指示された場合には、当該移動指示に基づく移動後の描画領域に対応するブロックの圧縮符号を伸長して描画領域に描画する。これにより、描画領域に描画される画像を移動させた場合であっても移動に応じた画像を高速に描画することができる。
また、予測ブロック伸長手段により予測されて圧縮符号を伸長されたブロックが、描画位置移動手段19または特定位置指定手段20による移動指示に基づく移動後の描画領域に対応するブロックに一致する場合には、当該予測伸長したブロックを描画領域に描画する。これにより、描画領域に描画される描画画像の移動に伴って次に伸長されるであろうブロックを予測して伸長することで、当該予測されたブロックが移動後の描画領域に対応するブロックに一致する場合には、改めて伸長することなく描画に移行することができるので、描画領域に描画される画像を移動させた場合の画像描画の更なる高速化を図ることができる。
このような画像処理装置は、パノラマ画像、天体画像、地図画像など比較的大きなサイズの画像を限られた描画領域の表示装置12で高速に描画する場合に応用可能である。例えば、全世界の地図をコンピュータを使ってシームレスに経路をたどっていくような場合である。
なお、本実施の形態においては、表示装置12に描画される描画領域に合致する画像の一部を含むブロックを、“00”,“01”,“02”,“10”,“11”,“12”のブロック番号(図24及び図25参照)で示される複数のブロックとしたが、これに限るものではない。
例えば、図35に示すような二次元分割画像を用いた場合における、表示装置12に描画される描画領域に合致する画像の一部を表示装置12に描画する処理を例示的に説明する。図35に示す二次元分割画像は、図7に示した二次元分割画像に比べて各ブロックが大きい。すなわち、図36に示すように、画像の一部(描画領域)が一のブロックに含まれることになり、図37に示すように、描画領域を含むブロックは、“00”のブロック番号で示されるブロックになる。本実施の形態によれば、このように画像の一部(描画領域)が一のブロックに含まれる場合であっても、全圧縮符号の伸長完了前に、指定された描画領域に対応するブロックの圧縮符号を先に伸長して描画することで、従来の伸長方式よりもあたかも高速に伸長しているようにみせることができるので、画像描画の際の利用者の待ち時間を短縮化することができる。
なお、本実施の形態においては、図7及び図35に示すように画像を二次元方向に分割してブロックを形成したが、これに限るものではない。例えば、画像を一次元方向に分割する(つまり、1つのブロックの横幅を画像の横幅と同じにし、または、1つのブロックの縦幅を画像の縦幅と同じにする)ことによりブロックを形成するようにしても良い。
また、本実施の形態においては、1画素がRGB各8ビットで構成されるカラー画像データを復号して描画するものとして説明したが、これに限るものではない。例えば、4ビット、10ビット、12ビットなど、8ビット以外のビット数で各色の輝度値を表現している場合や、CMYKなど他の色空間により表現されたカラー画像データ、或いは、モノクロ画像を符号化する場合にも適用することも可能である。また、画像領域の各画素の状態を示す多値情報を符号化する場合、例えば、各画素の色についてカラーテーブルへのインデックス値で示し、これを符号化する場合にも適用できる。
さらに、本実施の形態においては、原画像にタイル分割処理を施した場合について説明したが、これに限るものではない。原画像に対してタイル分割を行わない場合でも、JPEG2000アルゴリズムにおけるプレシンクトやコードブロックを矩形領域(ブロック)として利用すれば、タイル分割を行った場合と同様に、従来の伸長方式よりもあたかも高速に伸長しているようにみせることができるので、画像描画の際の利用者の待ち時間を短縮化することができる。また、画像の分割単位であるブロック(タイル、プレシンクト、コードブロック)を、プロファイルで規定される値と一致させることにより、同じプロファイルを有する機器同士での相互接続性を確保することができる。
また、前述の説明では、本発明の画像表示装置1をパーソナルコンピュータに適用した例を説明したが、画像表示装置1を携帯情報端末装置(PDA)、携帯電話などの情報端末装置に適用することもできる。ここで、図38は携帯情報端末装置30を概略的に示す平面図である。図38では、携帯情報端末装置30の表示部31に圧縮符号の一部を描画した例を示している。このような携帯情報端末装置30においては、携帯情報端末装置30に付属しているスタイラスペン32で描画位置を上下左右に移動したり、縮小アイコン、拡大アイコンを操作することによって変倍したり、スクロールアイコン、手のひらツールアイコンを操作するなどして、任意の位置へのアクセスが可能となっている。
さらに、前述の説明では、本発明の画像表示装置1はネットワーク9を介してサーバコンピュータSからダウンロードした圧縮符号をHDD6に格納するようにしたが、これに限るものではない。図39に示すように、スキャナ等の画像入力装置13から入力された画像データを複数のブロックに分割し当該ブロック毎に圧縮符号化する画像圧縮手段40を、画像表示装置1に備えるようにしても良い。
なお、各実施の形態においては、サーバコンピュータSは指定された画像データを全て画像表示装置1に送り、画像表示装置1側において描画領域から対応ブロックやプレシンクトの抽出を行う場合について説明した。しかしながら、画像表示装置1側において抽出された描画領域に対応したブロックやプレシンクトをサーバコンピュータSに伝達し、この描画領域に対応したブロックやプレシンクトに応じた画像データをサーバコンピュータSが画像表示装置1に送るようにしても良い。すなわち、クライアントコンピュータである画像表示装置1が指定した領域に対するブロックやプレシンクトをサーバであるサーバコンピュータSが計算して抽出するようにしても良い。具体的には、図40に示すように、ブロック伸長領域制御手段16が有している描画可能信号出力手段16−1を画像表示装置1に備え、ブロック伸長領域制御手段16が有しているブロック抽出手段16−2を備えるようにする。画像表示装置1は、描画制御手段15より渡された描画領域信号及び画像データ名を通信手段51を介してサーバコンピュータSに送信する。描画領域信号を送信されたサーバコンピュータS側においては、ブロック抽出手段16−2により、画像データから該当ブロック番号の抽出を実行し、通信手段52を介して画像表示装置1に送信する。
また、各実施の形態においては、描画領域として表示装置12全体への描画領域(PDA、palmTopPC、LegacyPC等)を例示的に示したが、これに限るものではなく、図41に示すような通常のパーソナルコンピュータ等におけるマルチウィンドウ時の特定のウィンドウに対する描画領域60や、あるアプリケーションに画像を貼り付ける時の描画領域(アルバムソフトウェアへのサムネール画像の貼り付け等)であっても良い。