JP5141886B2 - 画像処理装置、画像処理方法、プログラム及び記録媒体 - Google Patents

画像処理装置、画像処理方法、プログラム及び記録媒体 Download PDF

Info

Publication number
JP5141886B2
JP5141886B2 JP2008047665A JP2008047665A JP5141886B2 JP 5141886 B2 JP5141886 B2 JP 5141886B2 JP 2008047665 A JP2008047665 A JP 2008047665A JP 2008047665 A JP2008047665 A JP 2008047665A JP 5141886 B2 JP5141886 B2 JP 5141886B2
Authority
JP
Japan
Prior art keywords
image
code
raster image
cache
display
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.)
Expired - Fee Related
Application number
JP2008047665A
Other languages
English (en)
Other versions
JP2009206884A (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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2008047665A priority Critical patent/JP5141886B2/ja
Publication of JP2009206884A publication Critical patent/JP2009206884A/ja
Application granted granted Critical
Publication of JP5141886B2 publication Critical patent/JP5141886B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Television Signal Processing For Recording (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

本発明は、画像の閲覧に利用される画像処理装置に係り、より詳しくは、指定した領域及び解像度レベルについての部分的復号が可能な構造の画像符号を処理する画像処理装置に関する。
画像は、それを圧縮した符号(画像符号)として保存したり転送したりすることが多い。画像符号の中には、指定した領域の指定した解像度レベルについての部分的復号が可能な構造のものがあり、その代表的な例がJPEG2000(ISO/IEC 15444-1)の符号である。また、サーバからクライアントへのJPEG2000符号の転送に関するプロトコルとして、JPIP(JPEG2000 Interactive Protocol;ISO/IEC 15444-9)が制定されている。
特許文献1に、JPEG2000の符号を対象にした画像復号装置が開示されている。ここに開示された画像復号装置においては、復号処理の最終段階としてウェーブレット逆変換を行うが、このウェーブレット逆変換の過程で生じる中間解像度レベルのLL係数を中間画像として、最終的な復号画像と別に保存しておき、ユーザが必要に応じて中間画像を利用できるようにしている。
特許文献2に、サーバからクライアントへ、JPEG2000の符号を低い解像レベルの符号から高い解像度レベルの符号へと順次送信し、クライアント側で画像をプログレッシブ表示するシステムが開示されている。ここに開示されたクライアントにおいては、最初に受信した低い解像度レベルの符号の復号処理過程で生成されたLL係数を一時的に保存する。次に1つ上の解像度レベルのLH,HL,HH符号を受信し、その復号処理において、当該解像度レベルのLH,HL,HH係数と保存されている直前解像度レベルのLL係数とを用いてウェーブレット逆変換を行い、生成されたLL係数を一時的に保存する。次に1つ上の解像度レベルのLH,HL,HH符号を受信し、その復号処理において、当該解像度レベルのLH,HL,HH係数と保存していた直前解像度レベルのLL係数とを用いてウェーブレット逆変換を行い、生成されたLL係数を一時的に保存する。同様の処理を最終の解像度レベルまで繰り返す。このような特殊な復号処理を行うが、各解像度レベルについて、ウェーブレット逆変換後のコンポーネント変換とDCレベルシフトを行うことは通常のJPEG2000の復号処理と同様である。
特開2002−247580号公報 特開2004−40674号公報
パーソナルコンピュータで、ローカルなファイルに格納されているJPEG2000の符号を復号して閲覧するような場合、図16に模式的に示すようなズームイン操作やズームアウト操作を行ったり、図17に模式的に示すようなスクロール操作を行ったりする。ズームインを行うと、例えば2倍の解像度のビューに変わる。ズームアウトを行うと、例えば1/2の解像度のビューに変わる。この時、表示領域を越える大きさに拡大された場合は、画像の一部のみが表示される。また、例えば、解像度が高いビューで画像の一部のみが表示されている状態でスクロールを行うと、表示領域の空間位置が変わる。従来、このようなズームやスクロールの操作が行われる都度、復号処理を実行して必要な領域の必要な解像度レベルのラスタ画像を生成し表示するのが通常であった。
JPIPサーバから必要な符号のみを受信するJPIPクライアントにおいても、スクロール操作等が行われる都度、復号処理を実行して必要な領域の必要な解像度レベルのラスタ画像を生成し表示するのが通常であった。
上に述べたようにスクロールやズームの操作時に毎回、復号処理を実行するのは効率的でない。特に、JPEG2000の復号アルゴリズムは複雑で処理負荷が重いため、パーソナルコンピュータやクライアントの処理能力が不十分な場合、ユーザがスクロール操作やズーム操作を行ってから実際に画像がスクロール又はズームされるまでの時間が長いという問題があった。
よって、本発明の目的は、ローカルなファイルやサーバから符号の全体を一括して取り込む画像処理装置、又は、サーバから必要な符号を順次受信する画像処理装置において、処理の効率化及び閲覧画像のズームやスクロールの迅速化を図ることにある。
なお、現在はカラー画像を扱う場合が圧倒的に多いが、前記特許文献1の技術はカラー画像への適用が困難である。すなわち、カラー画像の場合、JPEG2000の復号処理において、通常、ウェーブレット逆変換後にコンポーネント逆変換を(多くはDCレベル逆シフトも)行う必要がある。したがって、通常、ウェーブレット逆変換の過程で生成される中間解像度レベルのLL係数をそのまま中間画像として利用することはできない。仮に、1回の復号処理で、中間解像度レベルのLL係数にコンポーネント逆変換やDCレベル逆シフトを施してカラーの中間画像を生成しようとすると、JPEG2000の標準的なデコーダを利用することはできず、特殊なデコーダを用意しなければならない。
同様に、前記特許文献2の技術も特殊なデコーダを必要とするものであり、JPEG2000の標準的なデコーダを利用することはできない。
よって、標準的なデコーダを利用して、上に述べたような画像処理装置における処理の効率化及び閲覧画像のスクロールやズームの迅速化を達成することが、本発明のもう1つの目的である。
請求項1記載の発明は、画像の閲覧に利用される画像処理装置に係り、当該画像処理装置は、
符号バッファと、
画像を圧縮した符号の全体をローカルなファイル又はサーバより取り込み前記符号バッファに保存する手段と、
ラスタ画像を貼り付けるための解像度レベル別のラスタ画像キャッシュと、
前記符号バッファ内の符号の復号処理を行ってラスタ画像を生成する復号手段と、
前記復号手段により生成されたラスタ画像を前記ラスタ画像キャッシュに貼り付ける画像貼り付け手段と、
ラスタ画像を表示する画像表示手段と、
前記ラスタ画像キャッシュに貼り付けられたラスタ画像から必要な領域のラスタ画像を切り出す画像切り出し手段とを有し、
ユーザによりスクロール操作又はズーム操作が行われた時に、
(a)表示領域が含まれる画像領域の全部についての表示解像度レベルのラスタ画像が前記ラスタ画像キャッシュに貼り付けられている場合には、前記画像切り出し手段により当該表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて前記画像表示手段に表示させ、
(b)表示領域が含まれる画像領域の全部又は一部についての表示解像度レベルのラスタ画像が前記ラスタ画像キャッシュに貼り付けられていない場合には、当該画像領域の全部又は一部についての表示解像度レベルのラスタ画像を生成するための、前記符号バッファ内の符号の復号処理を前記復号手段に行わせ、生成されたラスタ画像を前記画像貼り付け手段により前記ラスタ画像キャッシュに貼り付けさせ、その後に前記画像切り出し手段により前記ラスタ画像キャッシュに貼り付けられた表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて前記画像表示手段に表示させる制御を行うことを特徴とする。
請求項2記載の発明は、画像の閲覧に利用される画像処理装置に係り、当該画像処理装置は、
画像を圧縮した符号を保有するサーバに対し、画像表示に必要な領域及び解像度レベルの符号を要求する符号要求を送信する符号要求送信手段と、
符号キャッシュと、
前記サーバから受信した前記符号要求に対するレスポンスに含まれている符号と前記符号キャッシュに保存されている符号とを合成し、合成後の符号を前記符号キャッシュに保存する符号保存手段と、
ラスタ画像を貼り付けるための解像度レベル別のラスタ画像キャッシュと、
前記符号キャッシュ内の符号の復号処理を行ってラスタ画像を生成する復号手段と、
前記復号手段により生成されたラスタ画像を一時的に保存する復号バッファと、
前記復号手段により生成されて前記復号バッファに一時的に保存されているラスタ画像を前記ラスタ画像キャッシュに貼り付ける画像貼り付け手段と、
前記ラスタ画像キャッシュに貼り付けられたラスタ画像から必要な領域のラスタ画像を切り出す画像切り出し手段と、
ラスタ画像の縮小処理を行う縮小処理手段と、
ラスタ画像を表示する画像表示手段とを有し、
ユーザによりスクロール操作又はズーム操作が行われた時に、
(a)前記ラスタ画像キャッシュに表示解像度レベルのラスタ画像が貼り付けられている場合には、前記画像切り出し手段により当該表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて前記画像表示手段に表示させ、
(b)前記ラスタ画像キャッシュに、表示解像度レベルのラスタ画像は貼り付けられていないが、それより高い解像度レベルのラスタ画像が貼り付けられている場合には、前記画像切り出し手段により当該高い解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させ、当該切り出されたラスタ画像を前記縮小処理手段により表示解像度レベルに対応したサイズに縮小させる縮小処理を行わせ、当該縮小処理後のラスタ画像を前記画像表示手段に表示させ、
(c)前記ラスタ画像キャッシュに表示解像度レベルのラスタ画像もそれより高い解像度レベルのラスタ画像も貼り付けられていない場合には、前記符号要求送信手段により符号要求を送信させ、前記符号保存手段により当該符号要求に対し受信したレスポンスに含まれている符号と前記符号キャッシュに保存されている符号とを合成させて、合成後の符号を前記符号キャッシュに保存させた後、前記復号手段により表示領域が含まれる画像領域の表示解像度レベルのラスタ画像を生成させるための、前記符号キャッシュ内の符号の復号処理を行わせ、(c1)表示領域が画像全体ならば、当該復号処理により生成されて前記復号バッファに保持されているラスタ画像を前記画像貼り付け手段により前記ラスタ画像キャッシュに貼り付けさせた後、前記画像切り出し手段により前記ラスタ画像キャッシュに貼り付けられた表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて前記画像表示手段に表示させ、(c2)表示領域が画像全体でないならば、前記画像切り出し手段により当該復号バッファに保持されているラスタ画像から表示領域のラスタ画像を切り出させて前記画像表示手段に表示させる制御を行うことを特徴とする。
請求項3記載の発明は、画像の閲覧に利用される画像処理装置に係り、当該画像処理装置は、
画像を圧縮した符号を保有するサーバに対し、画像表示に必要な領域及び解像度レベルの符号を要求する符号要求を送信する符号要求送信手段と、
符号キャッシュと、
前記サーバから受信した前記符号要求に対するレスポンスに含まれている符号と前記符号キャッシュに保存されている符号とを合成し、合成後の符号を前記符号キャッシュに保存する符号保存手段と、
ラスタ画像を貼り付けるための解像度レベル別のラスタ画像キャッシュと、
前記符号キャッシュ内の符号の復号処理を行ってラスタ画像を生成する復号手段と、
前記復号手段により生成されたラスタ画像を一時的に保存する復号バッファと、
ラスタ画像を前記ラスタ画像キャッシュに貼り付ける画像貼り付け手段と、
ラスタ画像の縮小処理を行う縮小処理手段と、
ラスタ画像を表示する画像表示手段と、
前記ラスタ画像キャッシュに貼り付けられたラスタ画像から必要な領域のラスタ画像を切り出す画像切り出し手段とを有し、
ユーザによりスクロール操作又はズーム操作が行われた時に、前記符号要求送信手段により符号要求を前記サーバへ送信させ、
(a)前記サーバより受信した当該符号要求に対するレスポンスに符号が含まれていない場合には、前記画像切り出し手段により前記ラスタ画像キャッシュに貼り付けられている表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて前記画像表示手段に表示させ、
(b)前記サーバより受信した当該符号要求に対するレスポンスに符号が含まれている場合には、(b1)前記符号保存手段により当該レスポンスに含まれている符号と前記符号キャッシュに保存されている符号とを合成させて、合成後の符号を前記符号キャッシュに保存させた後、前記復号手段により表示領域が含まれる画像領域の表示解像度レベルのラスタ画像を生成させるための、前記符号キャッシュ内の符号の復号処理を行わせ、当該復号処理により生成されて前記復号バッファに保存されているラスタ画像を前記画像貼り付け手段により前記ラスタ画像キャッシュに貼り付けさせ、(b2)表示解像度レベルが最低画像度レベルでないならば前記縮小処理手段により前記復号バッファに保存されているラスタ画像の縮小処理を行わせて表示解像度レベルより低い解像度レベルのラスタ画像を生成させ、当該ラスタ画像を前記画像貼り付け手段により前記ラスタ画像キャッシュに貼り付けさせ、(b3)前記画像切り出し手段により前記ラスタ画像キャッシュに貼り付けられている表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出せて前記画像表示手段に表示させる制御を行うことを特徴とする。
請求項4記載の発明は、画像の閲覧に利用される画像処理装置に係り、当該画像処理装置は、
画像を圧縮した符号を保有するサーバに対し、画像表示に必要な領域及び解像度レベルの符号を要求する符号要求を送信する符号要求送信手段と、
符号キャッシュと、
前記サーバから受信した前記符号要求に対するレスポンスに含まれている符号と前記符号キャッシュに保存されている符号とを合成し、合成後の符号を前記符号キャッシュに保存する符号保存手段と、
ラスタ画像を貼り付けるための解像度レベル別のラスタ画像キャッシュと、
前記符号キャッシュ内の符号の復号処理を行ってラスタ画像を生成する復号手段と、
前記復号手段により生成されたラスタ画像を一時的に保存する復号バッファと、
ラスタ画像を前記ラスタ画像キャッシュに貼り付ける画像貼り付け手段と、
ラスタ画像を表示する画像表示手段と、
前記ラスタ画像キャッシュに貼り付けられたラスタ画像から必要な領域のラスタ画像を切り出す画像切り出し手段とを有し、
ユーザによりスクロール操作又はズーム操作が行われた時に、前記符号要求送信手段により符号要求を前記サーバへ送信させ、
(a)前記サーバより受信した当該符号要求に対するレスポンスに符号が含まれていない場合には、前記画像切り出し手段により前記ラスタ画像キャッシュに貼り付けられている表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて前記画像表示手段に表示させ、
(b)前記サーバより受信した当該符号要求に対するレスポンスに符号が含まれている場合には、(b1)前記符号保存手段により当該レスポンスに含まれている符号と前記符号キャッシュに保存されている符号とを合成させて、合成後の符号を前記符号キャッシュに保存させた後、前記復号手段により表示領域が含まれる画像領域の表示解像度レベルのラスタ画像を生成させるための、前記符号キャッシュ内の符号の復号処理を行わせ、当該復号処理により生成されて前記復号バッファに保存されているラスタ画像を前記画像貼り付け手段により前記ラスタ画像キャッシュに貼り付けさせ、(b2)表示解像度レベルが最低画像度レベルでないならば前記復号手段により表示領域が含まれる画像領域の表示解像度レベルより低い解像度レベルのラスタ画像を生成させるための、前記符号キャッシュ内の符号の復号処理を行わせ、当該復号処理により生成されて前記復号バッファに保存されているラスタ画像を前記画像貼り付け手段により前記ラスタ画像キャッシュに貼り付けさせ、(b3)前記画像切り出し手段により前記ラスタ画像キャッシュに貼り付けられている表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出せて前記画像表示手段に表示させる制御を行うことを特徴とする。
請求項5記載の発明は、画像の閲覧に利用される画像処理装置における画像処理方法に係り、当該画像処理方法は、
画像を圧縮した符号の全体をローカルなファイル又はサーバより取り込み符号バッファに保存する工程と、
前記符号バッファ内の符号の復号処理を行ってラスタ画像を生成する復号工程と、
前記復号工程により生成されたラスタ画像を、解像度レベル別のラスタ画像キャッシュに貼り付ける画像貼り付け工程と、
前記ラスタ画像キャッシュに貼り付けられたラスタ画像から必要な領域のラスタ画像を切り出す画像切り出し工程とを有し、
ユーザによりスクロール操作又はズーム操作が行われた時に、
(a)表示領域が含まれる画像領域の全部についての表示解像度レベルのラスタ画像が前記ラスタ画像キャッシュに貼り付けられている場合には、前記画像切り出し工程により当該表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて画像表示手段に表示させ、
(b)表示領域が含まれる画像領域の全部又は一部についての表示解像度レベルのラスタ画像が前記ラスタ画像キャッシュに貼り付けられていない場合には、前記復号工程により当該画像領域の全部又は一部についての表示解像度レベルのラスタ画像を生成するための、前記符号バッファ内の符号の復号処理を行わせ、生成されたラスタ画像を前記画像貼り付け工程により前記ラスタ画像キャッシュに貼り付けさせ、その後に前記画像切り出し工程により前記ラスタ画像キャッシュに貼り付けられた表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて前記画像表示手段に表示させる制御を行うことを特徴とする。
請求項6記載の発明は、画像の閲覧に利用される画像処理装置における画像処理方法に係り、当該画像処理方法は、
画像を圧縮した符号を保有するサーバに対し、画像表示に必要な領域及び解像度レベルの符号を要求する符号要求を送信する符号要求送信工程と、
前記サーバから受信した前記符号要求に対するレスポンスに含まれている符号と符号キャッシュに保存されている符号とを合成し、合成後の符号を前記符号キャッシュに保存する符号保存工程と、
前記符号キャッシュ内の符号の復号処理を行ってラスタ画像を生成する復号工程と、
前記復号工程により生成されて復号バッファに一時的に保存されているラスタ画像を、解像度レベル別のラスタ画像キャッシュに貼り付ける画像貼り付け工程と、
前記ラスタ画像キャッシュに貼り付けられたラスタ画像から必要な領域のラスタ画像を切り出す画像切り出し工程と、
ラスタ画像の縮小処理を行う縮小処理工程とを有し、
ユーザによりスクロール操作又はズーム操作が行われた時に、
(a)前記ラスタ画像キャッシュに表示解像度レベルのラスタ画像が貼り付けられている場合には、前記画像切り出し工程により当該表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて画像表示手段に表示させ、
(b)前記ラスタ画像キャッシュに、表示解像度レベルのラスタ画像は貼り付けられていないが、それより高い解像度レベルのラスタ画像が貼り付けられている場合には、前記画像切り出し工程により当該高い解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させ、前記縮小処理工程により、当該切り出されたラスタ画像を表示解像度レベルに対応したサイズに縮小させる縮小処理を行わせ、当該縮小処理後のラスタ画像を前記画像表示手段に表示させ、
(c)前記ラスタ画像キャッシュに表示解像度レベルのラスタ画像もそれより高い解像度レベルのラスタ画像も貼り付けられていない場合には、前記符号要求送信工程により符号要求を送信させ、前記符号保存工程により当該符号要求に対し受信したレスポンスに含まれている符号と前記符号キャッシュに保存されている符号とを合成させて、合成後の符号を前記符号キャッシュに保存させた後、前記復号工程により表示領域が含まれる画像領域の表示解像度レベルのラスタ画像を生成させるための、前記符号キャッシュ内の符号の復号処理を行わせ、(c1)表示領域が画像全体ならば、当該復号処理により生成されて前記復号バッファに保持されているラスタ画像を前記画像貼り付け工程により前記ラスタ画像キャッシュに貼り付けさせた後、前記画像切り出し工程により前記ラスタ画像キャッシュに貼り付けられた表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて前記画像表示手段に表示させ、(c2)表示領域が画像全体でないならば、前記画像切り出し工程により当該復号バッファに保持されているラスタ画像から表示領域のラスタ画像を切り出させて前記画像表示手段に表示させる制御を行うことを特徴とする。
請求項7記載の発明は、画像の閲覧に利用される画像処理装置における画像処理方法に係り、当該画像処理方法は、
画像を圧縮した符号を保有するサーバに対し、画像表示に必要な領域及び解像度レベルの符号を要求する符号要求を送信する符号要求送信工程と、
前記サーバから受信した前記符号要求に対するレスポンスに含まれている符号と符号キャッシュに保存されている符号とを合成し、合成後の符号を前記符号キャッシュに保存する符号保存工程と、
前記符号キャッシュ内の符号の復号処理を行ってラスタ画像を生成する復号工程と、
ラスタ画像を解像度レベル別のラスタ画像キャッシュに貼り付ける画像貼り付け工程と、
ラスタ画像の縮小処理を行う縮小処理工程と、
前記ラスタ画像キャッシュに貼り付けられたラスタ画像から必要な領域のラスタ画像を切り出す画像切り出し工程とを有し、
ユーザによりスクロール操作又はズーム操作が行われた時に、前記符号要求送信工程により符号要求を前記サーバへ送信させ、
(a)前記サーバより受信した当該符号要求に対するレスポンスに符号が含まれていない場合には、前記画像切り出し工程により前記ラスタ画像キャッシュに貼り付けられている表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて画像表示手段に表示させ、
(b)前記サーバより受信した当該符号要求に対するレスポンスに符号が含まれている場合には、(b1)前記符号保存工程により当該レスポンスに含まれている符号と前記符号キャッシュに保存されている符号とを合成させて、合成後の符号を前記符号キャッシュに保存させた後、前記復号工程により表示領域が含まれる画像領域の表示解像度レベルのラスタ画像を生成させるための、前記符号キャッシュ内の符号の復号処理を行わせ、当該復号処理により生成されて復号バッファに保存されているラスタ画像を前記画像貼り付け工程により前記ラスタ画像キャッシュに貼り付けさせ、(b2)表示解像度レベルが最低画像度レベルでないならば前記縮小処理工程により前記復号バッファに保存されているラスタ画像の縮小処理を行わせて表示解像度レベルより低い解像度レベルのラスタ画像を生成させ、当該ラスタ画像を前記画像貼り付け工程により前記ラスタ画像キャッシュに貼り付けさせ、(b3)前記画像切り出し工程により前記ラスタ画像キャッシュに貼り付けられている表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出せて前記画像表示手段に表示させる制御を行うことを特徴とする。
請求項8記載の発明は、画像の閲覧に利用される画像処理装置における画像処理方法に係り、当該画像処理方法は、
画像を圧縮した符号を保有するサーバに対し、画像表示に必要な領域及び解像度レベルの符号を要求する符号要求を送信する符号要求送信工程と、
前記サーバから受信した前記符号要求に対するレスポンスに含まれている符号と符号キャッシュに保存されている符号とを合成し、合成後の符号を前記符号キャッシュに保存する符号保存工程と、
前記符号キャッシュ内の符号の復号処理を行ってラスタ画像を生成する復号工程と、
解像度レベル別のラスタ画像キャッシュに、ラスタ画像を貼り付ける画像貼り付け工程と、
前記ラスタ画像キャッシュに貼り付けられたラスタ画像から必要な領域のラスタ画像を切り出す画像切り出し工程とを有し、
ユーザによりスクロール操作又はズーム操作が行われた時に、前記符号要求送信工程により符号要求を前記サーバへ送信させ、
(a)前記サーバより受信した当該符号要求に対するレスポンスに符号が含まれていない場合には、前記画像切り出し工程により前記ラスタ画像キャッシュに貼り付けられている表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて画像表示手段に表示させ、
(b)前記サーバより受信した当該符号要求に対するレスポンスに符号が含まれている場合には、(b1)前記符号保存工程により当該レスポンスに含まれている符号と前記符号キャッシュに保存されている符号とを合成させて、合成後の符号を前記符号キャッシュに保存させた後、前記復号工程により表示領域が含まれる画像領域の表示解像度レベルのラスタ画像を生成させるための、前記符号キャッシュ内の符号の復号処理を行わせ、当該復号処理により生成されて復号バッファに保存されているラスタ画像を前記画像貼り付け工程により前記ラスタ画像キャッシュに貼り付けさせ、(b2)表示解像度レベルが最低画像度レベルでないならば前記復号工程により表示領域が含まれる画像領域の表示解像度レベルより低い解像度レベルのラスタ画像を生成させるための、前記符号キャッシュ内の符号の復号処理を行わせ、当該復号処理により生成されて前記復号バッファに保存されているラスタ画像を前記画像貼り付け工程により前記ラスタ画像キャッシュに貼り付けさせ、(b3)前記画像切り出し工程により前記ラスタ画像キャッシュに貼り付けられている表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出せて前記画像表示手段に表示させる制御を行うことを特徴とする。
請求項記載の発明は、請求項1乃至のいずれか1項に記載の発明に係る画像処理装置としてコンピュータを機能させるプログラムを提供する。
請求項10記載の発明は、請求項1乃至のいずれか1項に記載の発明に係る画像処理装置としてコンピュータを機能させるプログラムが記録されたコンピュータ読み取り可能な記録媒体を提供する。
本発明によれば、画像処理装置において、ユーザがスクロール操作又はズーム操作を行った際の復号処理等を減らして処理効率を向上させ、かつ、閲覧画像のズームやスクロールの動作を高速化することができる。特殊な復号処理を必要としないため、復号手段として標準的なデコーダを利用することができる等の効果を得られる。
以下、本発明の実施の形態について図面を参照し詳細に説明する。
[第1の実施形態]
本実施形態は、ローカルなファイルに格納されているJPEG2000の符号の全体を一括して読み込み、あるいは、サーバよりをJPEG2000の符号の全体を一括して読み込む画像処理装置の一実施形態である。
なお、ここではJPEG2000の符号を対象としているが、領域別及び解像度レベル別に部分的復号処理が可能な構造の符号であれば、他の符号化方式による符号に対しても同様に本実施形態を適用可能である。
本実施形態に係る画像処理装置は、例えば図1に示すようなCPU100、メインメモリ101、ハードディスク装置102、ディスプレイ装置103、ユーザ入力デバイス(マウス、その他のポインティングデバイスやキーボード等)104、ネットワーク・インターフェース105を備える一般的な構成のコンピュータを利用して実現される。
コンピュータを本実施形態に係る画像処理装置として動作させるためのプログラムとして、画面表示とそれに関連したユーザとの対話のための処理を担うビューアプログラム110と、画像閲覧に関連した後述の本発明に特有の制御のための処理を担う閲覧制御プログラム111が、ハードディスク装置102から読み出されてメインメモリ101にロードされ、CPU100により実行される。このビューアプログラム110及び閲覧制御プログラム111は通常、所定のオペレーティングシステム上で動作するものである。ビューアプログラム110と閲覧制御プログラム111を統合してもよい。ここに示す例では、復号処理のためのプログラム(ソフトウェア・デコーダ)が閲覧制御プログラム111に含まれるものとするが、ハードウェア・デコーダを備え、これを閲覧制御プログラム111で利用するようにしてもよい。このソフトウェア・エンコーダもしくはハードウェア・デコーダは、JPEG2000の標準的なデコーダでよい。
図2に示すフローチャートに沿って、本実施形態に係る画像処理装置の動作について説明する。
<ステップS100> ユーザは、ビューアプログラム110により提供されるディスプレイ装置103の対話画面上で閲覧したい画像を指定することができる。例えば、ハードディスク装置102のあるディレクトリのファイル名一覧を表示させ、ユーザ入力デバイス104に含まれるマウスで希望するファイル名を指定することができる。ビューアプログラム110は、指定されたファイルに格納されている画像符号の全体を一括して読み込んでメインメモリ101上の符号バッファ112に保存する。当該画像処理装置とLANやインターネット等のネットワークの回線を通じて接続されるサーバ120の保有するファイルを指定し、そのファイルに格納されている符号全体を一括してダウンロードし符号バッファ112に保存することもできる。
<ステップS101> 閲覧制御プログラム111は、符号バッファ112内の符号のメインヘッダを解析し必要な情報を取得する。メインヘッダのSIZマーカセグメントから、リファレンスグリッドの水平,垂直方向のサイズXsiz,Ysiz、リファレンスグリッド原点からの画像の水平,垂直方向のオフセットXOsiz,YOsiz、タイルの水平,垂直方向のサイズXTsiz,YTsiz、リファレンスグリッド原点からタイルの水平,垂直方向のオフセットXTOsiz,YTOsizを取得する。また、メインヘッダのCODマーカセグメントからデコンポジションレベル数を取得することにより、解像度レベル数を知る。そして、閲覧制御プログラム111は取得した情報に基づいて以下の値を計算する。
画像の水平方向サイズ=Xsiz−XOsiz
画像の垂直方向サイズ=Ysiz−YOsiz
水平方向タイル数=(Xsiz−XTOsiz)/XTsiz
垂直方向タイル数=(Ysiz−YTOsiz)/YTsiz
総タイル数=水平方向タイル数×垂直方向タイル数
ただし、各方向タイル数は整数に丸められる。
閲覧制御プログラム111は、以上の取得情報に基づいて、ラスタ画像を貼り付けるための解像度レベル別のラスタ画像キャッシュ113をメインメモリ101上作成し、解像度レベル別に各タイルが復号済みであるか否かを管理するための(換言すれば、各解像度レベルのラスタ画像キャッシュにラスタ画像が貼り付け済みであるか否かをタイル毎に管理するための)管理情報114をメインメモリ101上に作成する。
ここでは例えば、デコンポジションレベル数=3、水平方向タイル数=垂直方向タイル数=2の画像符号であるとすると、図3に示すような解像度レベル1,2,3に対応した3枚のラスタ画像キャッシュと、図4に示すような各解像度の各タイルに対応した復号済みフラグの配列からなる管理情報を作成する。各解像度レベルのラスタ画像キャッシュは全タイルのラスタ画像を貼り付け可能なキャンバスのようなものであり、図3には破線でタイル分割線が示されている。作成直後のラスタ画像キャッシュは空白状態であり、作成直後の管理情報では全ての復号済みフラグがオフ(未復号)の状態である。
<ステップS102> 閲覧制御プログラム111において、画像表示のために、どの解像度レベルのどのタイルのラスタ画像が必要であるか決定する。
まず、必要とする解像度レベルであるが、ビューアプログラム110より与えられる画像表示の拡大率が1/2の場合、ここでは最高解像度レベルが3であるから、必要な解像度レベルを2に決定する。拡大率が1/4の場合、必要な解像度レベルを1に決定する。拡大率が2のべき乗の逆数ではない場合、その拡大率を挟むような2つの解像度レベルのいずれか一方の解像度レベルに決定する。
別の方法として、画像全体を表示できるとした場合の画像サイズ(フレームサイズ)と最高解像度レベルでの画像サイズ(オリジナルのサイズ)とから、必要な解像度レベルを計算してもよい。例えば、最高解像度レベル3の画像サイズが1024画素×1024画素の場合、これを画面に256画素×256画素の大きさで表示するとすると、必要な解像度レベルを1に決定する。
次に、閲覧制御プログラム111は、画像表示のために必要とするタイルを決定する。ビューアプログラム110より与えられる表示領域の大きさとオフセット、先に決定した必要な解像度レベルに変換したタイルのサイズに基づいて、表示領域全体をカバーするためのタイルのセットを容易に決定することができる。
図5は、必要な解像度レベルでの画像全体及びタイルに表示領域を重ねて示しているが、ここでは便宜上、水平・垂直方向のタイル数=3としている。この例では、タイルT0,T1,T2,T3,T4,T5が画像表示に必要なタイルとされる。
<ステップS103> 閲覧制御プログラム111は、管理情報114を参照し、上記ステップS102で決定した必要な解像度レベルの必要なタイルに対応した復号済みフラグが全てオン(復号済み)であるか調べる。それら復号済みフラグの全てがオンであるならば(判定結果Yes)、必要な解像度レベルの必要なタイルのラスタ画像が当該解像度レベルに対応したラスタ画像キャッシュに貼り付け済みであるはずであるので、処理はステップS107に進む。一方、必要なタイルの1つでも復号済みでないときには(判定結果No)、少なくとも復号済みでないタイルについての復号を行う必要があるので、処理は次のステップS104に進む。
<ステップS104> 閲覧制御プログラム111は、符号バッファ112内の符号に対し、復号済みのタイルを含め必要な全てのタイルからなる矩形領域について必要な解像度レベルまでの部分的復号処理を行う(処理方法1)。あるいは、必要なタイルの中の復号済みでないタイルのみについて、タイル単位で必要な解像度レベルまでの部分的復号処理を行う(処理方法2)。処理方法1と処理方法2のいずれを用いるかは、閲覧制御プログラム111に含まれるソフトウェア・デコーダの設計による。
<ステップS105> 閲覧制御プログラム111は、上記ステップS104で復号されたラスタ画像をその解像度レベルのラスタ画像キャッシュ113に貼り付ける。上記ステップS104で処理方法1が用いられる場合には、復号された矩形領域のラスタ画像をその解像度レベルのラスタ画像キャッシュ113の対応領域にそのまま貼り付ければよいが、上記ステップS104でタイル単位の処理方法2が用いられる場合には、タイル単位で復号されたラスタ画像の貼り付け処理を復号されたタイル数だけ行うことになる。
図6に、解像度レベル別のラスタ画像キャッシュにラスタ画像が貼り付けられた様子を模式的に示す。この例では、解像度レベル1については全タイルのラスタ画像が貼り付け済みであり、解像度レベル2については右側の2つのタイルのラスタ画像が貼り付け済みであり、また、解像度レベル3については右下のタイルのみラスタ画像が貼り付け済みである。
<ステップS106> 閲覧制御プログラム111は、管理情報114に対し、上記ステップS104で復号した解像度レベルのタイルに対応した復号済みフラグをオン(復号済み)にセットする処理を行う。
<ステップS107> 閲覧制御プログラム111は、上記ステップS102で決定した画像表示のために必要なタイル及び解像度レベルのラスタ画像を当該解像度レベルに対応したラスタ画像キャッシュ113に貼り付けられたラスタ画像より切り出し、切り出したラスタ画像をメインメモリ101上の表示メモリ115に書き込む。表示メモリ115に書き込まれたラスタ画像は、ビューアプログラム110の制御によりディスプレイ装置103の画面に表示される。
<ステップS108> ユーザは、ユーザ入力デバイス104に含まれるマウス等を利用して、画面上でスクロール操作やズーム操作(ズームイン又はズームアウト)を行うことができる。このような操作に関する情報はビューアプログラム101から閲覧制御プログラム111に伝えられる。閲覧制御プログラム111はスクロール操作等が行われたか監視する(ステップS108)。スクロール操作等が行われると(ステップS108,Yes)、閲覧制御プログラム111は処理をステップS102に戻し、ビューアプログラム110より与えられた拡大率、表示領域の大きさ及びオフセットに応じて画像表示のために必要な解像度レベルとタイルを改めて決定し、ステップS103以降の処理を再度実行する。
以上の説明から理解されるように、本実施形態に係る画像処理装置は請求項に係る発明の一実施例に相当する。また、本実施形態に係る画像処理装置における処理内容は、請求項に係る発明の一実施例に相当する。
[第2の実施形態]
本発明の画像処理装置を、JPIPサーバ上に存在するJPEG2000の符号をJPIPプロトコルにより受信しながら画像閲覧を行うJPIPクライアントとして実現する形態について説明する。
図7は、本実施形態を説明するためのブロック図である。図7において、220はJPIPクライアントであり、221はJPIPサーバである。JPIPクライアント220とJPIPサーバ221は、LANやインターネット等のネットワークの回線を通じて接続され、JPIP通信を行う。
JPIPクライアント220は、例えば図7に示すようなCPU200、メインメモリ201、ハードディスク装置202、ディスプレイ装置203、ユーザ入力デバイス(マウス、その他のポインティングデバイスやキーボード等)204、ネットワーク・インターフェース205を備えるような一般的な構成のコンピュータを利用して実現される。
このコンピュータを本実施形態に係る画像処理装置として動作させるためのプログラムとして、画面表示とそれに関連したユーザとの対話のための処理を担うビューアプログラム210と、JPIPクライアントとしての処理を担うクライアントプログラム211が、ハードディスク装置202から読み出されてメインメモリ201にロードされ、CPU200により実行される。本実施形態に特有の制御のための機能はクライアントプログラム211に実装される。ビューアプログラム210とクライアントプログラム211は通常、所定のオペレーティングシステム上で動作するものである。ビューアプログラム210とクライアントプログラム211を統合してもよい。ここに示す例では、符号の復号処理のためのプログラム(ソフトウェア・デコーダ)がクライアントプログラム211に含まれるものとするが、ハードウェア・デコーダを備え、これをクライアントプログラム211で利用するようにしてもよい。このソフトウェア・デコーダ又はハードウェア・デコーダとして、JPEG2000の標準的なデコーダを用いることができる。
さて、JPIPにはセッション管理という仕組みがある。サーバ側で、クライアント側の符号キャッシュをシミュレートしたキャッシュモデルをセッションの間保持しておくことにより、クライアントが既に受信して符号キャッシュに保持している符号の情報をサーバ側で管理し、クライアントから送信済みの符号を再度要求されたとしても同じ符号を再送信しないように制御する。
したがって、クライアント側では、符号を受信したら必ずそれを復号するようにすれば、どの符号を復号済みであるか否かを管理する必要がない。なぜならば、表示に必要な符号をサーバに要求すると、サーバは、その要求された符号が全て送信済みの場合には符号の含まれないレスポンスを返してくるからである。つまり、レスポンス中に符号が無ければ、復号の必要性はない判断することができる。
しかし、前記第1の実施形態の場合と同様に復号したラスタ画像をラスタ画像キャッシュに貼り付け、ラスタ画像キャッシュから必要な解像度レベルの必要な領域のラスタ画像を切り出して表示するものとすると、レスポンスに符号が含まれないことをもって単純に復号を行う必要がないと判断すると不都合が生じる場合がある。これは、例えば図8に示すようなリクエスト/レスポンス・シーケンスの場合である。
図8において、左側にはクライアント側で受信した符号をサブバンドに分けて示し、右側には、クライアント側で受信した符号を復号したラスタ画像を貼り付けたラスタ画像キャッシュの様子を示している。ここでは、画像は4タイルに分割されているものとしている。以下、このシーケンス例について順に説明する。
図8(a): まず、クライアントは、画像の4タイルに跨る領域を解像度レベル1で表示するための符号要求をサーバに送信する。この符号要求のレスポンスとしてサーバから解像度レベル1の4タイルの符号を受信して復号し、それを復号したラスタ画像を解像度レベル1のラスタ画像キャッシュに貼り付ける。このラスタ画像キャッシュは全体が埋まったことになるので、画像のどの領域についても解像度レベル1のラスタ画像を切り出して表示することができる。
図8(b): 次に、クライアントは、画像の上側の2タイルに跨る領域を解像度レベル2で表示するための符号要求をサーバに送信する。この符号要求のレスポンスとして、サーバから解像度レベル2の上側2タイルの符号を受信して復号し、復号したラスタ画像を解像度レベル2のラスタ画像キャッシュに貼り付ける。このラスタ画像キャッシュは、上半分の領域が埋まったことになる。したがって、画像の上半分のどの領域についても解像度レベル2のラスタ画像を切り出して表示することができる。
図8(c): 次に、クライアントは、画像の下側2タイルに跨る領域を解像度レベル3で表示するための符号要求をサーバに送信する。この符号要求のレスポンスとして、サーバから解像度レベル1〜3の下側2タイルの符号を受信して復号し、復号したラスタ画像を解像度レベル3のラスタ画像キャッシュに貼り付ける。このラスタ画像キャッシュの下側2タイルの領域は埋まったことになる。したがって、画像の下半分のどの領域についても解像度レベル3のラスタ画像を切り出して表示することができる。
図8(d): 次に、クライアントは、画像の4タイルに跨る領域を解像度レベル2で表示するための符号要求をサーバに送信する。この符号要求に対し、サーバから返されるレスポンスには符号が含まれていない。なぜならば、図8(b)の段階で上半分の2タイルの解像度レベル1,2の符号を送信済みであり、また図8(c)の段階で下半分の2タイルの解像度レベル2の符号を送信済みであるためである。しかしながら、解像度レベル1,2のラスタ画像キャッシュは半分のみが埋まった不完全なものであるから、4タイルに跨る領域の解像度レベル2のラスタ画像を切り出して表示することは不可能である。
このように、レスポンスに符号が含まれていないからといって復号の必要性がないと判断したのでは、画像を正常に表示することができない場合がある。なお、この場合、クライアント側の符号キャッシュに必要な符号は全て蓄積されているから、例えば、4タイルについて解像度レベル2までの復号処理を行えば、あるいは、下側2タイルについて解像度レベル2までの復号処理を行えば、必要な領域の解像度レベル2のラスタ画像の表示は可能である。
次に、本実施形態に係る画像処理装置であるJPIPクライアント220の動作を、2つの実施例について説明する。実施例1と実施例2とでは上に述べた問題の解決手法に違いがある。
本実施例におけるJPIPクライアント220の動作を、図9及び図10に示すフローチャートに沿って説明する。
JPIPクライアント220のユーザは、ビューアプログラム210により提供されるディスプレイ装置203の対話画面上で閲覧したい画像を指定することができる。
<ステップS251> ユーザにより画像が指定されると、クライアントプログラム211は、ビューアプログラム210より与えられるリソース名(ファイル名)、表示の拡大率、表示領域の大きさ及びオフセットの情報に基づいて符号要求を作成しJPIPサーバ221へ送信する。この符号要求には、画像のリソース名(ファイル名)と、ビューウィンドウリクエストが含まれる。ビューウィンドウリクエストは、解像度レベルを与えるフレームサイズ(fx,fy)、フレーム中の表示領域の大きさ(sx,sy)、表示領域のオフセット(ox,oy)をパラメータとして含むものである(図11参照)。
JPIPサーバ221側では、受信した符号要求に含まれるリソース名から送信対象の画像の符号を特定し、その符号のメインヘッダから、原画像のサイズやタイルサイズ、水平方向及び垂直方向のタイル数、解像度レベル数等の情報を把握し(前記第1の実施形態に係るステップS101参照)、この情報に基づきキャッシュモデルを作成する。
次に、JPIPサーバ221側では、原画像のサイズとビューウィンドウリクエストで指定されたフレームサイズとから、JPIPクライアント220側で表示したい解像度レベル(表示解像度レベルと記す)を判断する。例えば、原画像のサイズが512画素×512画素でフレームサイズが256画素×256画素であるならば、表示解像度レベルを最高解像度レベルより1つ下の解像度レベルとする。また、先に取得した情報と、ビューウィンドウで指定された表示領域の大きさ及びオフセットに基づいて、表示領域をカバーするタイルを特定する。そして、送信対象の符号から必要な符号(表示解像度レベル以下の特定したタイルの符号(そのタイルパートヘッダを含む)を抽出し、その符号及びメインヘッダをレスポンスに含めてJPIPクライアント220へ送信し、それら符号を送信済みであることをキャッシュモデルに反映させる。
<ステップS252> JPIPクライアント220において、クライアントプログラム211は受信したレスポンスに含まれる符号(メインヘッダ及びタイルパートヘッダを含む)を、メインメモリ201上の符号キャッシュ212に保存する。
<ステップS253> クライアントプログラム211は、符号キャッシュ212に保存されているメインヘッダから原画像サイズや解像度レベル数を取得し、メインメモリ201上に解像度レベル別のラスタ画像キャッシュ213を作成し、また、メインメモリ201上に、解像度レベル別のラスタ画像キャッシュにラスタ画像が貼り付け済みであるか否かを管理するための管理情報214を作成する。ラスタ画像キャッシュは図3に示したようなものであり、この時点では各解像度レベルのラスタ画像キャッシュは空白状態である。管理情報は、図12に示すような解像度レベルに対応したフラグの配列であり、この時点では全てのフラグはオフ状態にセットされている。
<ステップS254> クライアントプログラム211は、ソフトウェア・デコーダにより、符号キャッシュ212に保存されている符号を表示解像度レベルまで復号する。復号されたラスタ画像はメインメモリ210上の復号バッファ216に一時的に保存される。
<ステップS255> クライアントプログラム211は、表示領域が画像全体であるか否か判定する。具体的には、送信したビューウィンドウリクエスト中のフレームサイズ(fx,fy)と表示領域サイズ(sx,sy)とが一致し、かつ、表示領域のオフセット(ox,oy)が(0,0)のときに、表示領域が画像全体であると判定する。なお、これらのパラメータ値がJPIPサーバ221側で修正される場合があるが、この場合はJPIPサーバからのレスポンス中のメッセージヘッダに書き換えられたパラメータ値が含まれているため、修正後のパラメータ値に基づいて上記判定を行う。表示領域が画像全体であるとき判定したときは(判定結果Yes)ステップS257の処理に進み、そうでないときは(判定結果No)ステップS256の処理に進む。
<ステップS256> 表示領域が画像全体ではない場合、クライアントプログラム211は、ステップS254で復号されて復号バッファ216に一時的に保存されているラスタ画像から表示領域のラスタ画像を切り出し、切り出したラスタ画像をメインメモリ201上の表示メモリ215に書き込む。表示メモリ215に書き込まれたラスタ画像は、ビューアプログラム210の制御によりディスプレイ装置103の画面に表示される。
<ステップS257> 表示領域が画像全体である場合、クライアントプログラム211は、ステップS254で復号されて復号バッファ216に一時的に保存されているラスタ画像(表示解像度レベルの画像全体)を、表示解像度レベルに対応したラスタ画像キャッシュ213に貼り付ける。
<ステップS258> クライアントプログラム211は、管理情報214中の当該表示解像度レベルに対応したフラグをオンにセットする。
<ステップS259> クライアントプログラム211は、表示解像度レベルのラスタ画像キャッシュから表示領域のラスタ画像を切り出して表示メモリ215に書き込む。このラスタ画像は、ビューアプログラム210の制御によりディスプレイ装置203の画面に表示される。
<ステップS260> ユーザは、ユーザ入力デバイス204に含まれるマウス等を利用し、画面上でスクロール操作やズーム操作(ズームイン又はズームアウト)を行うことができる。クライアントプログラム211は、スクロール操作等が行われたか監視し、操作が行われるとステップS261に進む。
<ステップS261> ユーザによりスクロール等の操作が行われると、クライアントプログラム211は、ビューアプログラム210より与えられる表示の拡大率により決まる表示解像度レベルに対応した、管理情報214中のフラグがオンにセットされているか判定する。当該フラグがオンにセットされているならば(判定結果Yes)、表示解像度レベルのラスタ画像はラスタ画像キャッシュ上に存在するのでステップS262の処理に進む。そうでなければ(判定結果No)ステップS263の処理に進む。
<ステップS262> クライアントプログラム211は、ビューアプログラム210より与えられた表示領域の大きさ及びオフセットに基づいて、表示解像度レベルに対応したラスタ画像キャッシュ213から表示領域のラスタ画像を切り出し、切り出したラスタ画像を表示メモリ215に書き込んだ後、ステップS260に戻る。表示メモリ215に書き込まれたラスタ画像は、ビューアプログラム210の制御によりディスプレイ装置203の画面に表示される。
<ステップS263> ステップS261の判定結果がNoの場合、クライアントプログラム211は、管理情報214を参照し、表示解像度レベルより上の解像度レベルに対応したフラグの中でオンに設定されているものがあるか調べる。オンに設定されているフラグがあるならば(判定結果Yes)ステップS264の処理に進み、そうでないならば(判定結果No)ステップS266の処理に進む。
<ステップS264,S265> クライアントプログラム211は、ステップS263でフラグがオンに設定されていると判定された解像度レベル(オンに設定されていると判定されたフラグが複数ある場合は、その中で表示解像度レベルに最も近い解像度レベル)に対応したラスタ画像キャッシュ213より表示領域のラスタ画像を切り出し(ステップS262)、切り出したラスタ画像を表示解像度レベルに対応したサイズに縮小処理を施してから表示メモリ領域215に書き込む(ステップS265)。表示メモリ215に書き込まれたラスタ画像はビューアプログラム210の制御により画面に表示される。
<ステップS266> ステップS263の判定結果がNoの場合、クライアントプログラム211は、ビューアプログラム210から与えられる拡大率、表示領域の大きさ及びオフセットの情報に基づいて作成したビューウィンドウリクエストを含む符号要求をJPIPサーバ221へ送信する。
JPIPサーバ221側では、符号要求に含まれるビューウィンドウリクエストのパラメータ値及び符号のメインヘッダから取得した情報に基づいて、JPIPクライアント側での表示解像度レベル及び表示領域をカバーするタイルを特定する。そして、キャッシュモデルを参照し、送信対象の画像の符号から、表示解像度レベル以下の特定したタイルの符号(タイルパートヘッダを含む)の中で未送信の符号を抽出し、抽出した符号を含むレスポンスをJPIPクライアント220へ送信する。そして、キャッシュモデルを更新する。
<ステップS267,S268> JPIPクライアント220において、クライアントプログラム211は、JPIPサーバ221から返されたレスポンスを受信し(ステップS267)、レスポンスに含まれている符号と符号キャッシュ域212に保存されている符号と合成し、合成後の符号を符号キャッシュ212に保存する(ステップS268)。なお、レスポンスに符号が含まれていない場合もあり、この場合はステップS268をスキップする。
<ステップS269> クライアントプログラム211は、ソフトウェア・デコーダにより、符号キャッシュ212内の符号を表示解像度レベルまで復号する。復号されたラスタ画像は復号バッファ216に一時的に保存される。
<ステップS270> クライアントプログラム211は、表示領域が画像全体であるか否かの判定を行う。送信したビューウィンドウリクエスト中のフレームサイズ(fx,fy)と表示領域サイズ(sx,sy)とが一致し、かつ、表示領域のオフセット(ox,oy)が(0,0)のときに、表示領域が画像全体であると判定する。これらのパラメータ値がJPIPサーバ221側で修正される場合があるが、この場合はJPIPサーバからのレスポンス中のメッセージヘッダに書き換えられたパラメータ値が含まれているため、修正後のパラメータ値に基づいて上記判定を行う。表示領域が画像全体であるとき判定したときには(判定結果Yes)ステップS272の処理に進み、そうでないときには(判定結果No)ステップS271の処理に進む。
<ステップS271> 表示領域が画像全体ではない場合、クライアントプログラム211は、ステップS269で復号されて復号バッファ216に一時的に保存されているラスタ画像から表示領域のラスタ画像を切り出し、切り出したラスタ画像を表示メモリ215に書き込む。書き込まれたラスタ画像は、ビューアプログラム210の制御によりディスプレイ装置103の画面に表示される。
<ステップS272,S273,S274> 表示領域が画像全体である場合、クライアントプログラム211は、ステップS269で復号され復号バッファ216に一時的に保存されているラスタ画像(復号解像度レベルの画像全領域のラスタ画像)を、表示解像度レベルに対応したラスタ画像キャッシュ213に貼り付け(ステップS272)、管理情報214中の当該表示解像度レベルに対応したフラグをオンにセットする(ステップS273)。次にクライアントプログラム211は、表示解像度レベルのラスタ画像キャッシュから表示領域のラスタ画像を切り出して表示メモリ215に書き込み(ステップS274)、ステップS260に戻る。表示メモリ215に書き込まれたラスタ画像は、ビューアプログラム210の制御により画面に表示される。
以上に説明したように、本実施例においては、符号要求に対するレスポンスに符号が含まれているか否で復号の必要性を判断するのではない。表示したい解像度レベル又はそれより高い解像度レベルのラスタ画像がラスタ画像キャッシュ上に存在する場合に、復号及び符号要求の必要性がないと判断する。また、各解像度レベルのラスタ画像キャッシュ213には画像全体が貼り付けられるため、復号が必要でないと判断した場合に、どのような表示領域であっても必要なラスタ画像をラスタ画像キャッシュから切り出し、必要に応じて縮小処理することにより表示することができる。
以上の説明から明らかなように、本実施例に係るJPIPクライアントは、請求項に係る発明の一実施例に相当する。また、本実施例に係るJPIPクライアントにおける処理内容は、請求項に係る発明の一実施例に相当する。
本実施例によるJPIPクライアント220の動作を、図13及び図14に示すフローチャートに沿って説明する。
JPIPクライアント220のユーザは、ビューアプログラム210により提供されるディスプレイ装置203の対話画面上で閲覧したい画像を指定することができる。
<ステップS301> ユーザにより画像が指定されると、クライアントプログラム211は、ビューアプログラム210より与えられるリソース名(ファイル名)、表示の拡大率、表示領域の大きさ及びオフセットの情報に基づいて符号要求を作成しJPIPサーバ221へ送信する。この符号要求には、画像のリソース名(ファイル名)と、ビューウィンドウリクエストが含まれる。既に説明したように、ビューウィンドウリクエストは、解像度レベルを与えるフレームサイズ(fx,fy)、フレーム中の表示領域の大きさ(sx,sy)、表示領域のオフセット(ox,oy)をパラメータとして含むものである(図11参照)。
JPIPサーバ221側では、受信した符号要求に含まれるリソース名から送信対象の画像の符号を特定し、その符号のメインヘッダから、原画像のサイズやタイルサイズ、水平方向及び垂直方向のタイル数、解像度レベル数等の情報を把握し(前記第1の実施形態に係るステップS101参照)、この情報に基づきキャッシュモデルを作成する。
また、原画像のサイズとビューウィンドウリクエストで指定されたフレームサイズとから、JPIPクライアント220側で必要としている表示解像度レベルを求める。例えば、原画像のサイズが512画素×512画素でフレームサイズが256画素×256画素であるならば、表示解像度レベルを最高解像度レベルより1つ下の解像度レベルとする。また、先に取得した情報と、ビューウィンドウで指定された表示領域の大きさ及びオフセットに基づいて、表示領域をカバーするタイルを特定する。そして、送信対象の画像符号から必要な符号(表示解像度レベル以下の特定したタイルの符号(そのタイルパートヘッダ及びメインヘッダを含む)を抽出し、これをレスポンスに含めてJPIPクライアント220へ送信し、それら符号が送信済みであることをキャッシュモデルに反映させる。
<ステップS302> JPIPクライアント220において、クライアントプログラム211は受信したレスポンスに含まれている符号(タイルパートヘッダ及びメインヘッダを含む)をメインメモリ201上の符号キャッシュ212に保存する。
<ステップS303> クライアントプログラム211は、キャッシュしたメインヘッダから原画像サイズや解像度レベル数を取得し、メインメモリ201上に解像度レベル別のラスタ画像キャッシュ213を作成する。前記実施例1で作成した管理情報214のような管理情報は作成しない。ラスタ画像キャッシュ213は図3に示したようなものであり、この時点では各解像度レベルのラスタ画像キャッシュは空白状態である。
<ステップS304> クライアントプログラム211は、符号キャッシュ212内の符号をソフトウェア・デコーダにより表示解像度レベルまで復号する。復号されたラスタ画像はメインメモリ210上の復号バッファ216に一時的に保存される。
<ステップS305> クライアントプログラム211は、復号バッファ216に一時的に保存されているラスタ画像を表示解像度レベルに対応したラスタ画像キャッシュ213に貼り付ける。
<ステップS306> クライアントプログラム211は、表示解像度レベルが最低解像度レベル1ならば(ステップS306,Yes)ステップS308の処理に進むが、表示解像度レベルが最低解像度レベル1でないならば、すなわち表示解像度レベルより低い解像度レベルが存在するならば(ステップS306,No)ステップS307の処理を実行する。
<ステップS307> クライアントプログラム211は、ステップS304における表示解像度レベルの復号の対象となったタイルについて、表示解像度レベルより低い各解像度レベルのラスタ画像を生成し、それら各解像度レベルのラスタ画像キャッシュ213に貼り付ける。貼り付けるラスタ画像は2つの方法で生成することができる。
1つの方法は、符号キャッシュ212内の符号データに対し、表示解像度レベルより低い各解像度レベルまでの復号処理(縮小デコード)を行って生成する方法である。もう1つの方法は、ステップS305で表示解像度レベルのラスタ画像キャッシュ213に貼り付けられたラスタ画像の縮小処理によって生成する方法である。なお、縮小デコードの場合、可能であれば、表示解像度レベルでの復号対象となったタイル以外のタイル(例えば全タイル)について復号し、復号されたラスタ画像をそのままラスタ画像キャッシュに貼り付けるようにしてもよい。
<ステップS308> クライアントプログラム211は、表示解像度レベルのラスタ画像キャッシュ213から表示領域のラスタ画像を切り出して表示メモリ215に書き込む。このラスタ画像はビューアプログラム210の制御により画面に表示される。
<ステップS309> ユーザは、ユーザ入力デバイス204に含まれるマウス等を利用し、画面上でスクロール操作やズーム操作(ズームイン又はズームアウト)を行うことができる。クライアントプログラム211は、スクロール操作等が行われたか監視し、操作が行われるとステップS310に進む。
<ステップS310> ユーザによりスクロール等の操作が行われると、クライアントプログラム211は、ビューアプログラム210より与えられた拡大率、表示領域の大きさ及びオフセットの情報に基づいて作成したビューウィンドウリクエストを含む符号要求をJPIPサーバ221へ送信する。
JPIPサーバ221側では、符号要求に含まれるビューウィンドウリクエスト中のパラメータ値及び符号のメインヘッダから取得した情報に基づいて、JPIPクライアント側での表示解像度レベルと表示領域をカバーするタイルを特定する。キャッシュモデルを参照し、送信対象の符号から、表示解像度レベル以下の特定したタイルの符号(タイルパートヘッダを含む)の中で未送信の符号を抽出し、その符号を含むレスポンスをJPIPクライアント220へ送信する。そして、キャッシュモデルを更新する。
<ステップS311,S312,S313> JPIPクライアント220において、クライアントプログラム211は、JPIPサーバ221から返されたレスポンスを受信し(ステップS311)、レスポンスに符号が含まれているならば(ステップS312,Yes)、その符号を符号キャッシュ212内の符号と合成し、合成後の符号を符号キャッシュ212に保存し(ステップS313)ステップS314の処理に進む。レスポンスに符号が含まれていない場合(ステップS312,No)、表示に必要なラスタ画像はラスタ画像キャッシュ213に貼り付けられており復号の必要がないのでステップS318の処理に進む。
<ステップS314> クライアントプログラム211は、ソフトウェア・エンコーダにより、符号キャッシュ212内の符号を表示解像度レベルまで復号する。復号されたラスタ画像は復号バッファ216に一時的に保存される。
<ステップS315> クライアントプログラム211は、復号バッファ216に一時的に保存されているラスタ画像を表示解像度レベルに対応したラスタ画像キャッシュ213に貼り付ける。
<ステップS316,S317> クライアントプログラム211は、表示解像度レベルが最低解像度レベル1ならば(ステップS316,Yes)ステップS318の処理に進むが、表示解像度レベルが最低解像度レベル1でないならば(ステップS316,No)ステップS317の処理を実行する。このステップS317の処理内容はステップS307の処理内容と同一である。
<ステップS318> クライアントプログラム211は、表示解像度レベルのラスタ画像キャッシュ213から表示領域のラスタ画像を切り出して表示メモリ215に書き込む。このラスタ画像はビューアプログラム210の制御により画面に表示される。クライアントプログラム211の処理はステップS309に戻る。
本実施例におけるラスタ画像キャッシュの貼り付け等について図15により説明する。図15において、左側にはクライアント側で受信済みの符号が模式的に示され、また、右側に、解像度レベル別のラスタ画像キャッシュへのラスタ画像の貼り付け状態が模式的に示されている。なお、解像度レベル数=3,水平・垂直方向タイル分割数=2の符号を想定している。
図15(a): 最初に、全タイルに跨る表示領域の解像度レベル1の画像を表示するための符号要求を送信したとする。この符号要求に対するレスポンスで全タイルの解像度レベル1の符号を受信し、それを復号することにより解像度レベル1のラスタ画像キャッシュに4タイル全部のラスタ画像を貼り付ける。
図15(b): 次に、上側2タイルに跨る表示領域の解像度レベル2の画像を表示するための符号要求を送信したとする。この符号要求に対するレスポンスで上側2タイルの解像度レベル2の符号を受信し、その符号とキャッシュされている符号との合成符号を復号することにより上側2タイルの解像度レベル2のラスタ画像を生成し、これを解像度レベル2のラスタ画像キャッシュに貼り付ける。この時、縮小処理又は縮小デコードにより解像度レベルの上側2タイルのラスタ画像も生成し、これを解像度レベルのラスタ画像キャッシュに貼り付ける。
図15(c):次に、下側2タイルに跨る表示領域の解像度レベル3の画像を表示するための符号要求を受信したとする。このレスポンスとしては、下側2タイルの解像度レベルの符号は既に受信しキャッシュされているので、下側2タイルの解像度レベル2,3の符号のみを受信する。この受信した符号とキャッシュしている符号との合成符号を復号することにより下側2タイルの解像度レベル3のラスタ画像を生成し、これを解像度レベル3のラスタ画像キャッシュに貼り付ける。この時、縮小処理又は縮小デコードにより解像度レベル1,2の下側2タイルのラスタ画像も生成し、これを解像度レベル1,2のラスタ画像キャッシュに貼り付ける。なお、解像度レベル1,2では全タイルの符号がキャッシュされているので、縮小デコードにより解像度レベル1,2の全タイルのラスタ画像を生成し、これをラスタ画像キャッシュに貼り付けるようにしてもよい。
このように、下側2タイルについては解像度レベル2の画像表示のための符号要求は送信していないが、解像度レベル2のラスタ画像キャッシュには画像全体が貼り付け済みの状態となる。
その後、下側2タイルに跨る表示領域の解像度レベル2の画像表示のための符号要求を送信すると、解像度レベル2の符号は全て送信済みであるため符号の含まれないレスポンスが返される。この場合、復号を必要でないと判断するが、表示に必要なラスタ画像を解像度レベル2のラスタ画像キャッシュから切り出して表示することができる。
以上の説明から明らかなように、本実施例に係るJPIPクライアントは請求項3又は4に係る発明の一実施例に相当する。また、本実施例に係るJPIPクライアントにおける処理内容は請求項又はに係る発明の一実施例に相当する。
また、前記第1と第2の実施形態に係る画像処理装置としてコンピュータを機能させるプログラムは、請求項に係る発明の実施例に相当する。そのようなプログラムが記録された半導体記憶素子、磁気ディスク、光ディスク、光磁気ディスク等のコンピュータが読み取り可能な各種記録(記憶)媒体は、請求項10に係る発明の実施例に相当する。
なお、本発明は、以上に説明した実施形態のみに限定されるものではなく、様々な実施形態をとり得るものである。例えば、前記各実施形態においては領域の単位としてタイルを用いたが、プレシンクトもしくはコードブロックを領域の単位として用いることもできる。
第1の実施形態を説明するためのブロック図である。 第1の実施形態に係る画像処理装置の動作を説明するためのフローチャートである。 解像度レベル別のラスタ画像キャッシュの説明図である。 管理情報の説明図である。 表示領域とそれをカバーするタイルの説明図である。 解像度レベル別のラスタ画像キャッシュにラスタ画像が貼り付けられた様子を示す図である。 第2の実施形態を説明するためのブロック図である。 リクエスト/レスポンスのシーケンス例を説明するための図である。 第2の実施形態の実施例1に係るJPIPクライアントの動作を説明するためのフローチャートである。 図9に続くフローチャートである。 ウィンドウリクエストの説明図である。 ラスタ画像キャッシュへのラスタ画像の貼付の有無を解像度レベル毎に管理するための管理情報の説明図である。 第2の実施形態の実施例2に係るJPIPクライアントの動作を説明するためのフローチャートである。 図13に続くフローチャートである。 ラスタ画像キャッシュへのラスタ画像貼り付けの説明図である。 閲覧画像のズーム操作の説明図である。 閲覧画像のスクロール操作の説明図である。
符号の説明
100 CPU
101 メインメモリ
102 ハードディスク装置
103 ディプレイ装置
104 ユーザ入力装置
105 ネットワーク・インターフェース
110 ビューアプログラム
111 閲覧制御プログラム
112 符号バッファ
113 ラスタ画像キャッシュ
114 管理情報
115 表示メモリ
120 サーバ
200 CPU
201 メインメモリ
202 ハードディスク装置
203 ディプレイ装置
204 ユーザ入力装置
205 ネットワーク・インターフェース
210 ビューアプログラム
211 クライアントプログラム
212 符号キャッシュ
213 ラスタ画像キャッシュ
214 管理情報
215 表示メモリ
216 復号バッファ
220 JPIPクライアント
221 JPIPサーバ

Claims (10)

  1. 画像の閲覧に利用される画像処理装置であって、
    符号バッファと、
    画像を圧縮した符号の全体をローカルなファイル又はサーバより取り込み前記符号バッファに保存する手段と、
    ラスタ画像を貼り付けるための解像度レベル別のラスタ画像キャッシュと、
    前記符号バッファ内の符号の復号処理を行ってラスタ画像を生成する復号手段と、
    前記復号手段により生成されたラスタ画像を前記ラスタ画像キャッシュに貼り付ける画像貼り付け手段と、
    ラスタ画像を表示する画像表示手段と、
    前記ラスタ画像キャッシュに貼り付けられたラスタ画像から必要な領域のラスタ画像を切り出す画像切り出し手段とを有し、
    ユーザによりスクロール操作又はズーム操作が行われた時に、
    (a)表示領域が含まれる画像領域の全部についての表示解像度レベルのラスタ画像が前記ラスタ画像キャッシュに貼り付けられている場合には、前記画像切り出し手段により当該表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて前記画像表示手段に表示させ、
    (b)表示領域が含まれる画像領域の全部又は一部についての表示解像度レベルのラスタ画像が前記ラスタ画像キャッシュに貼り付けられていない場合には、当該画像領域の全部又は一部についての表示解像度レベルのラスタ画像を生成するための、前記符号バッファ内の符号の復号処理を前記復号手段に行わせ、生成されたラスタ画像を前記画像貼り付け手段により前記ラスタ画像キャッシュに貼り付けさせ、その後に前記画像切り出し手段により前記ラスタ画像キャッシュに貼り付けられた表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて前記画像表示手段に表示させる制御を行うことを特徴とする画像処理装置。
  2. 画像の閲覧に利用される画像処理装置であって、
    画像を圧縮した符号を保有するサーバに対し、画像表示に必要な領域及び解像度レベルの符号を要求する符号要求を送信する符号要求送信手段と、
    符号キャッシュと、
    前記サーバから受信した前記符号要求に対するレスポンスに含まれている符号と前記符号キャッシュに保存されている符号とを合成し、合成後の符号を前記符号キャッシュに保存する符号保存手段と、
    ラスタ画像を貼り付けるための解像度レベル別のラスタ画像キャッシュと、
    前記符号キャッシュ内の符号の復号処理を行ってラスタ画像を生成する復号手段と、
    前記復号手段により生成されたラスタ画像を一時的に保存する復号バッファと、
    前記復号手段により生成されて前記復号バッファに一時的に保存されているラスタ画像を前記ラスタ画像キャッシュに貼り付ける画像貼り付け手段と、
    前記ラスタ画像キャッシュに貼り付けられたラスタ画像から必要な領域のラスタ画像を切り出す画像切り出し手段と、
    ラスタ画像の縮小処理を行う縮小処理手段と、
    ラスタ画像を表示する画像表示手段とを有し、
    ユーザによりスクロール操作又はズーム操作が行われた時に、
    (a)前記ラスタ画像キャッシュに表示解像度レベルのラスタ画像が貼り付けられている場合には、前記画像切り出し手段により当該表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて前記画像表示手段に表示させ、
    (b)前記ラスタ画像キャッシュに、表示解像度レベルのラスタ画像は貼り付けられていないが、それより高い解像度レベルのラスタ画像が貼り付けられている場合には、前記画像切り出し手段により当該高い解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させ、当該切り出されたラスタ画像を前記縮小処理手段により表示解像度レベルに対応したサイズに縮小させる縮小処理を行わせ、当該縮小処理後のラスタ画像を前記画像表示手段に表示させ、
    (c)前記ラスタ画像キャッシュに表示解像度レベルのラスタ画像もそれより高い解像度レベルのラスタ画像も貼り付けられていない場合には、前記符号要求送信手段により符号要求を送信させ、前記符号保存手段により当該符号要求に対し受信したレスポンスに含まれている符号と前記符号キャッシュに保存されている符号とを合成させて、合成後の符号を前記符号キャッシュに保存させた後、前記復号手段により表示領域が含まれる画像領域の表示解像度レベルのラスタ画像を生成させるための、前記符号キャッシュ内の符号の復号処理を行わせ、(c1)表示領域が画像全体ならば、当該復号処理により生成されて前記復号バッファに保持されているラスタ画像を前記画像貼り付け手段により前記ラスタ画像キャッシュに貼り付けさせた後、前記画像切り出し手段により前記ラスタ画像キャッシュに貼り付けられた表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて前記画像表示手段に表示させ、(c2)表示領域が画像全体でないならば、前記画像切り出し手段により当該復号バッファに保持されているラスタ画像から表示領域のラスタ画像を切り出させて前記画像表示手段に表示させる制御を行うことを特徴とする画像処理装置。
  3. 画像の閲覧に利用される画像処理装置であって、
    画像を圧縮した符号を保有するサーバに対し、画像表示に必要な領域及び解像度レベルの符号を要求する符号要求を送信する符号要求送信手段と、
    符号キャッシュと、
    前記サーバから受信した前記符号要求に対するレスポンスに含まれている符号と前記符号キャッシュに保存されている符号とを合成し、合成後の符号を前記符号キャッシュに保存する符号保存手段と、
    ラスタ画像を貼り付けるための解像度レベル別のラスタ画像キャッシュと、
    前記符号キャッシュ内の符号の復号処理を行ってラスタ画像を生成する復号手段と、
    前記復号手段により生成されたラスタ画像を一時的に保存する復号バッファと、
    ラスタ画像を前記ラスタ画像キャッシュに貼り付ける画像貼り付け手段と、
    ラスタ画像の縮小処理を行う縮小処理手段と、
    ラスタ画像を表示する画像表示手段と、
    前記ラスタ画像キャッシュに貼り付けられたラスタ画像から必要な領域のラスタ画像を切り出す画像切り出し手段とを有し、
    ユーザによりスクロール操作又はズーム操作が行われた時に、前記符号要求送信手段により符号要求を前記サーバへ送信させ、
    (a)前記サーバより受信した当該符号要求に対するレスポンスに符号が含まれていない場合には、前記画像切り出し手段により前記ラスタ画像キャッシュに貼り付けられている表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて前記画像表示手段に表示させ、
    (b)前記サーバより受信した当該符号要求に対するレスポンスに符号が含まれている場合には、(b1)前記符号保存手段により当該レスポンスに含まれている符号と前記符号キャッシュに保存されている符号とを合成させて、合成後の符号を前記符号キャッシュに保存させた後、前記復号手段により表示領域が含まれる画像領域の表示解像度レベルのラスタ画像を生成させるための、前記符号キャッシュ内の符号の復号処理を行わせ、当該復号処理により生成されて前記復号バッファに保存されているラスタ画像を前記画像貼り付け手段により前記ラスタ画像キャッシュに貼り付けさせ、(b2)表示解像度レベルが最低画像度レベルでないならば前記縮小処理手段により前記復号バッファに保存されているラスタ画像の縮小処理を行わせて表示解像度レベルより低い解像度レベルのラスタ画像を生成させ、当該ラスタ画像を前記画像貼り付け手段により前記ラスタ画像キャッシュに貼り付けさせ、(b3)前記画像切り出し手段により前記ラスタ画像キャッシュに貼り付けられている表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出せて前記画像表示手段に表示させる制御を行うことを特徴とする画像処理装置。
  4. 画像の閲覧に利用される画像処理装置であって、
    画像を圧縮した符号を保有するサーバに対し、画像表示に必要な領域及び解像度レベルの符号を要求する符号要求を送信する符号要求送信手段と、
    符号キャッシュと、
    前記サーバから受信した前記符号要求に対するレスポンスに含まれている符号と前記符号キャッシュに保存されている符号とを合成し、合成後の符号を前記符号キャッシュに保存する符号保存手段と、
    ラスタ画像を貼り付けるための解像度レベル別のラスタ画像キャッシュと、
    前記符号キャッシュ内の符号の復号処理を行ってラスタ画像を生成する復号手段と、
    前記復号手段により生成されたラスタ画像を一時的に保存する復号バッファと、
    ラスタ画像を前記ラスタ画像キャッシュに貼り付ける画像貼り付け手段と、
    ラスタ画像を表示する画像表示手段と、
    前記ラスタ画像キャッシュに貼り付けられたラスタ画像から必要な領域のラスタ画像を切り出す画像切り出し手段とを有し、
    ユーザによりスクロール操作又はズーム操作が行われた時に、前記符号要求送信手段により符号要求を前記サーバへ送信させ、
    (a)前記サーバより受信した当該符号要求に対するレスポンスに符号が含まれていない場合には、前記画像切り出し手段により前記ラスタ画像キャッシュに貼り付けられている表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて前記画像表示手段に表示させ、
    (b)前記サーバより受信した当該符号要求に対するレスポンスに符号が含まれている場合には、(b1)前記符号保存手段により当該レスポンスに含まれている符号と前記符号キャッシュに保存されている符号とを合成させて、合成後の符号を前記符号キャッシュに保存させた後、前記復号手段により表示領域が含まれる画像領域の表示解像度レベルのラスタ画像を生成させるための、前記符号キャッシュ内の符号の復号処理を行わせ、当該復号処理により生成されて前記復号バッファに保存されているラスタ画像を前記画像貼り付け手段により前記ラスタ画像キャッシュに貼り付けさせ、(b2)表示解像度レベルが最低画像度レベルでないならば前記復号手段により表示領域が含まれる画像領域の表示解像度レベルより低い解像度レベルのラスタ画像を生成させるための、前記符号キャッシュ内の符号の復号処理を行わせ、当該復号処理により生成されて前記復号バッファに保存されているラスタ画像を前記画像貼り付け手段により前記ラスタ画像キャッシュに貼り付けさせ、(b3)前記画像切り出し手段により前記ラスタ画像キャッシュに貼り付けられている表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出せて前記画像表示手段に表示させる制御を行うことを特徴とする画像処理装置。
  5. 画像の閲覧に利用される画像処理装置における画像処理方法であって、
    画像を圧縮した符号の全体をローカルなファイル又はサーバより取り込み符号バッファに保存する工程と、
    前記符号バッファ内の符号の復号処理を行ってラスタ画像を生成する復号工程と、
    前記復号工程により生成されたラスタ画像を、解像度レベル別のラスタ画像キャッシュに貼り付ける画像貼り付け工程と、
    前記ラスタ画像キャッシュに貼り付けられたラスタ画像から必要な領域のラスタ画像を切り出す画像切り出し工程とを有し、
    ユーザによりスクロール操作又はズーム操作が行われた時に、
    (a)表示領域が含まれる画像領域の全部についての表示解像度レベルのラスタ画像が前記ラスタ画像キャッシュに貼り付けられている場合には、前記画像切り出し工程により当該表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて画像表示手段に表示させ、
    (b)表示領域が含まれる画像領域の全部又は一部についての表示解像度レベルのラスタ画像が前記ラスタ画像キャッシュに貼り付けられていない場合には、前記復号工程により当該画像領域の全部又は一部についての表示解像度レベルのラスタ画像を生成するための、前記符号バッファ内の符号の復号処理を行わせ、生成されたラスタ画像を前記画像貼り付け工程により前記ラスタ画像キャッシュに貼り付けさせ、その後に前記画像切り出し工程により前記ラスタ画像キャッシュに貼り付けられた表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて前記画像表示手段に表示させる制御を行うことを特徴とする画像処理方法。
  6. 画像の閲覧に利用される画像処理装置における画像処理方法であって、
    画像を圧縮した符号を保有するサーバに対し、画像表示に必要な領域及び解像度レベルの符号を要求する符号要求を送信する符号要求送信工程と、
    前記サーバから受信した前記符号要求に対するレスポンスに含まれている符号と符号キャッシュに保存されている符号とを合成し、合成後の符号を前記符号キャッシュに保存する符号保存工程と、
    前記符号キャッシュ内の符号の復号処理を行ってラスタ画像を生成する復号工程と、
    前記復号工程により生成されて復号バッファに一時的に保存されているラスタ画像を、解像度レベル別のラスタ画像キャッシュに貼り付ける画像貼り付け工程と、
    前記ラスタ画像キャッシュに貼り付けられたラスタ画像から必要な領域のラスタ画像を切り出す画像切り出し工程と、
    ラスタ画像の縮小処理を行う縮小処理工程とを有し、
    ユーザによりスクロール操作又はズーム操作が行われた時に、
    (a)前記ラスタ画像キャッシュに表示解像度レベルのラスタ画像が貼り付けられている場合には、前記画像切り出し工程により当該表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて画像表示手段に表示させ、
    (b)前記ラスタ画像キャッシュに、表示解像度レベルのラスタ画像は貼り付けられていないが、それより高い解像度レベルのラスタ画像が貼り付けられている場合には、前記画像切り出し工程により当該高い解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させ、前記縮小処理工程により、当該切り出されたラスタ画像を表示解像度レベルに対応したサイズに縮小させる縮小処理を行わせ、当該縮小処理後のラスタ画像を前記画像表示手段に表示させ、
    (c)前記ラスタ画像キャッシュに表示解像度レベルのラスタ画像もそれより高い解像度レベルのラスタ画像も貼り付けられていない場合には、前記符号要求送信工程により符号要求を送信させ、前記符号保存工程により当該符号要求に対し受信したレスポンスに含まれている符号と前記符号キャッシュに保存されている符号とを合成させて、合成後の符号を前記符号キャッシュに保存させた後、前記復号工程により表示領域が含まれる画像領域の表示解像度レベルのラスタ画像を生成させるための、前記符号キャッシュ内の符号の復号処理を行わせ、(c1)表示領域が画像全体ならば、当該復号処理により生成されて前記復号バッファに保持されているラスタ画像を前記画像貼り付け工程により前記ラスタ画像キャッシュに貼り付けさせた後、前記画像切り出し工程により前記ラスタ画像キャッシュに貼り付けられた表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて前記画像表示手段に表示させ、(c2)表示領域が画像全体でないならば、前記画像切り出し工程により当該復号バッファに保持されているラスタ画像から表示領域のラスタ画像を切り出させて前記画像表示手段に表示させる制御を行うことを特徴とする画像処理方法。
  7. 画像の閲覧に利用される画像処理装置における画像処理方法であって、
    画像を圧縮した符号を保有するサーバに対し、画像表示に必要な領域及び解像度レベル
    の符号を要求する符号要求を送信する符号要求送信工程と、
    前記サーバから受信した前記符号要求に対するレスポンスに含まれている符号と符号キャッシュに保存されている符号とを合成し、合成後の符号を前記符号キャッシュに保存する符号保存工程と、
    前記符号キャッシュ内の符号の復号処理を行ってラスタ画像を生成する復号工程と、
    ラスタ画像を解像度レベル別のラスタ画像キャッシュに貼り付ける画像貼り付け工程と、
    ラスタ画像の縮小処理を行う縮小処理工程と、
    前記ラスタ画像キャッシュに貼り付けられたラスタ画像から必要な領域のラスタ画像を切り出す画像切り出し工程とを有し、
    ユーザによりスクロール操作又はズーム操作が行われた時に、前記符号要求送信工程により符号要求を前記サーバへ送信させ、
    (a)前記サーバより受信した当該符号要求に対するレスポンスに符号が含まれていない場合には、前記画像切り出し工程により前記ラスタ画像キャッシュに貼り付けられている表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて画像表示手段に表示させ、
    (b)前記サーバより受信した当該符号要求に対するレスポンスに符号が含まれている場合には、(b1)前記符号保存工程により当該レスポンスに含まれている符号と前記符号キャッシュに保存されている符号とを合成させて、合成後の符号を前記符号キャッシュに保存させた後、前記復号工程により表示領域が含まれる画像領域の表示解像度レベルのラスタ画像を生成させるための、前記符号キャッシュ内の符号の復号処理を行わせ、当該復号処理により生成されて復号バッファに保存されているラスタ画像を前記画像貼り付け工程により前記ラスタ画像キャッシュに貼り付けさせ、(b2)表示解像度レベルが最低画像度レベルでないならば前記縮小処理工程により前記復号バッファに保存されているラスタ画像の縮小処理を行わせて表示解像度レベルより低い解像度レベルのラスタ画像を生成させ、当該ラスタ画像を前記画像貼り付け工程により前記ラスタ画像キャッシュに貼り付けさせ、(b3)前記画像切り出し工程により前記ラスタ画像キャッシュに貼り付けられている表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出せて前記画像表示手段に表示させる制御を行うことを特徴とする画像処理方法。
  8. 画像の閲覧に利用される画像処理装置における画像処理方法であって、
    画像を圧縮した符号を保有するサーバに対し、画像表示に必要な領域及び解像度レベルの符号を要求する符号要求を送信する符号要求送信工程と、
    前記サーバから受信した前記符号要求に対するレスポンスに含まれている符号と符号キャッシュに保存されている符号とを合成し、合成後の符号を前記符号キャッシュに保存する符号保存工程と、
    前記符号キャッシュ内の符号の復号処理を行ってラスタ画像を生成する復号工程と、
    解像度レベル別のラスタ画像キャッシュに、ラスタ画像を貼り付ける画像貼り付け工程と、
    前記ラスタ画像キャッシュに貼り付けられたラスタ画像から必要な領域のラスタ画像を切り出す画像切り出し工程とを有し、
    ユーザによりスクロール操作又はズーム操作が行われた時に、前記符号要求送信工程により符号要求を前記サーバへ送信させ、
    (a)前記サーバより受信した当該符号要求に対するレスポンスに符号が含まれていない場合には、前記画像切り出し工程により前記ラスタ画像キャッシュに貼り付けられている表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて画像表示手段に表示させ、
    (b)前記サーバより受信した当該符号要求に対するレスポンスに符号が含まれている場合には、(b1)前記符号保存工程により当該レスポンスに含まれている符号と前記符号キャッシュに保存されている符号とを合成させて、合成後の符号を前記符号キャッシュに保存させた後、前記復号工程により表示領域が含まれる画像領域の表示解像度レベルのラスタ画像を生成させるための、前記符号キャッシュ内の符号の復号処理を行わせ、当該復号処理により生成されて復号バッファに保存されているラスタ画像を前記画像貼り付け工程により前記ラスタ画像キャッシュに貼り付けさせ、(b2)表示解像度レベルが最低画像度レベルでないならば前記復号工程により表示領域が含まれる画像領域の表示解像度レベルより低い解像度レベルのラスタ画像を生成させるための、前記符号キャッシュ内の符号の復号処理を行わせ、当該復号処理により生成されて前記復号バッファに保存されているラスタ画像を前記画像貼り付け工程により前記ラスタ画像キャッシュに貼り付けさせ、(b3)前記画像切り出し工程により前記ラスタ画像キャッシュに貼り付けられている表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出せて前記画像表示手段に表示させる制御を行うことを特徴とする画像処理方法。
  9. 請求項1乃至4のいずれか1項に記載の画像処理装置としてコンピュータを機能させるプログラム。
  10. 請求項1乃至4のいずれか1項に記載の画像処理装置としてコンピュータを機能させるプログラムが記録されたコンピュータ読み取り可能な記録媒体。
JP2008047665A 2008-02-28 2008-02-28 画像処理装置、画像処理方法、プログラム及び記録媒体 Expired - Fee Related JP5141886B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008047665A JP5141886B2 (ja) 2008-02-28 2008-02-28 画像処理装置、画像処理方法、プログラム及び記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008047665A JP5141886B2 (ja) 2008-02-28 2008-02-28 画像処理装置、画像処理方法、プログラム及び記録媒体

Publications (2)

Publication Number Publication Date
JP2009206884A JP2009206884A (ja) 2009-09-10
JP5141886B2 true JP5141886B2 (ja) 2013-02-13

Family

ID=41148710

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008047665A Expired - Fee Related JP5141886B2 (ja) 2008-02-28 2008-02-28 画像処理装置、画像処理方法、プログラム及び記録媒体

Country Status (1)

Country Link
JP (1) JP5141886B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4109963B2 (ja) * 2002-10-30 2008-07-02 キヤノン株式会社 画像処理方法及び装置
JP3987425B2 (ja) * 2002-12-12 2007-10-10 株式会社リコー 画像伸長装置、プログラム、記憶媒体及び画像伸長方法
JP3897691B2 (ja) * 2002-12-17 2007-03-28 キヤノン株式会社 スクロール表示方法及び装置
JP4274415B2 (ja) * 2003-07-24 2009-06-10 株式会社Kddi研究所 画像復号装置
JP4371982B2 (ja) * 2004-11-08 2009-11-25 キヤノン株式会社 画像処理装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体

Also Published As

Publication number Publication date
JP2009206884A (ja) 2009-09-10

Similar Documents

Publication Publication Date Title
JP4538430B2 (ja) サーバクライアント環境におけるシステム及び方法
EP1335561B1 (en) Method for document viewing
JP4121958B2 (ja) 対象領域を含む低帯域幅のための画像送信
US20110276653A1 (en) Information processing device, image transmission program, image display program, and image display method
MXPA01000893A (es) Acceso remoto a computadora.
US20090016622A1 (en) Image transmitting apparatus, image transmitting method, receiving apparatus, and image transmitting system
JP2009009334A (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP2009118148A (ja) 画像表示装置、画像表示方法、画像表示プログラム及び記憶媒体
US20060053233A1 (en) Method and system for implementing a remote overlay cursor
WO2011077550A1 (ja) 画面中継装置
JP5188051B2 (ja) 表示制御装置及び表示装置
JP4222982B2 (ja) 画像復号縮小装置および方法
JP4450322B2 (ja) 画像処理装置、画像処理方法、プログラム及び情報記録媒体
KR101751807B1 (ko) 이미지 처리 방법 및 그 시스템
JP5141886B2 (ja) 画像処理装置、画像処理方法、プログラム及び記録媒体
JP5196181B2 (ja) 画像処理システム及び記憶媒体
CN107318021B (zh) 一种远程显示的数据处理方法及系统
JP2008160404A (ja) 画像処理装置、画像処理方法、コンピュータプログラム、及び、情報記憶媒体
JP4874941B2 (ja) 画像処理装置及び画像処理方法
JP5631832B2 (ja) 画像中継装置、画像中継方法及び画像中継プログラム
JP2006339972A (ja) 画像処理装置及びその制御方法、コンピュータプログラム、記憶媒体
US20090058874A1 (en) Image display device
JP3958198B2 (ja) 画像処理方法
JP2001142453A (ja) 動画像の全体あるいはその一部についての内容に関連する画像を表示する表示制御方法及び表示制御装置、情報提供サーバ、並びに、動画像の全体あるいはその一部についての内容に関連する画像
JP2008147893A (ja) クライアントサーバシステム及び遠隔操作システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101014

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120208

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120406

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: 20121024

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: 20121106

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

Free format text: PAYMENT UNTIL: 20151130

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 5141886

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees