(57)【特許請求の範囲】
【請求項１】
画像の閲覧に利用される画像処理装置であって、
符号バッファと、
画像を圧縮した符号の全体をローカルなファイル又はサーバより取り込み前記符号バッファに保存する手段と、
ラスタ画像を貼り付けるための解像度レベル別のラスタ画像キャッシュと、
前記符号バッファ内の符号の復号処理を行ってラスタ画像を生成する復号手段と、
前記復号手段により生成されたラスタ画像を前記ラスタ画像キャッシュに貼り付ける画像貼り付け手段と、
ラスタ画像を表示する画像表示手段と、
前記ラスタ画像キャッシュに貼り付けられたラスタ画像から必要な領域のラスタ画像を切り出す画像切り出し手段とを有し、
ユーザによりスクロール操作又はズーム操作が行われた時に、
（ａ）表示領域が含まれる画像領域の全部についての表示解像度レベルのラスタ画像が前記ラスタ画像キャッシュに貼り付けられている場合には、前記画像切り出し手段により当該表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて前記画像表示手段に表示させ、
（ｂ）表示領域が含まれる画像領域の全部又は一部についての表示解像度レベルのラスタ画像が前記ラスタ画像キャッシュに貼り付けられていない場合には、当該画像領域の全部又は一部についての表示解像度レベルのラスタ画像を生成するための、前記符号バッファ内の符号の復号処理を前記復号手段に行わせ、生成されたラスタ画像を前記画像貼り付け手段により前記ラスタ画像キャッシュに貼り付けさせ、その後に前記画像切り出し手段により前記ラスタ画像キャッシュに貼り付けられた表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて前記画像表示手段に表示させる制御を行うことを特徴とする画像処理装置。
【請求項２】
画像の閲覧に利用される画像処理装置であって、
画像を圧縮した符号を保有するサーバに対し、画像表示に必要な領域及び解像度レベルの符号を要求する符号要求を送信する符号要求送信手段と、
符号キャッシュと、
前記サーバから受信した前記符号要求に対するレスポンスに含まれている符号と前記符号キャッシュに保存されている符号とを合成し、合成後の符号を前記符号キャッシュに保存する符号保存手段と、
ラスタ画像を貼り付けるための解像度レベル別のラスタ画像キャッシュと、
前記符号キャッシュ内の符号の復号処理を行ってラスタ画像を生成する復号手段と、
前記復号手段により生成されたラスタ画像を一時的に保存する復号バッファと、
前記復号手段により生成されて前記復号バッファに一時的に保存されているラスタ画像を前記ラスタ画像キャッシュに貼り付ける画像貼り付け手段と、
前記ラスタ画像キャッシュに貼り付けられたラスタ画像から必要な領域のラスタ画像を切り出す画像切り出し手段と、
ラスタ画像の縮小処理を行う縮小処理手段と、
ラスタ画像を表示する画像表示手段とを有し、
ユーザによりスクロール操作又はズーム操作が行われた時に、
（ａ）前記ラスタ画像キャッシュに表示解像度レベルのラスタ画像が貼り付けられている場合には、前記画像切り出し手段により当該表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて前記画像表示手段に表示させ、
（ｂ）前記ラスタ画像キャッシュに、表示解像度レベルのラスタ画像は貼り付けられていないが、それより高い解像度レベルのラスタ画像が貼り付けられている場合には、前記画像切り出し手段により当該高い解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させ、当該切り出されたラスタ画像を前記縮小処理手段により表示解像度レベルに対応したサイズに縮小させる縮小処理を行わせ、当該縮小処理後のラスタ画像を前記画像表示手段に表示させ、
（ｃ）前記ラスタ画像キャッシュに表示解像度レベルのラスタ画像もそれより高い解像度レベルのラスタ画像も貼り付けられていない場合には、前記符号要求送信手段により符号要求を送信させ、前記符号保存手段により当該符号要求に対し受信したレスポンスに含まれている符号と前記符号キャッシュに保存されている符号とを合成させて、合成後の符号を前記符号キャッシュに保存させた後、前記復号手段により表示領域が含まれる画像領域の表示解像度レベルのラスタ画像を生成させるための、前記符号キャッシュ内の符号の復号処理を行わせ、（ｃ１）表示領域が画像全体ならば、当該復号処理により生成されて前記復号バッファに保持されているラスタ画像を前記画像貼り付け手段により前記ラスタ画像キャッシュに貼り付けさせた後、前記画像切り出し手段により前記ラスタ画像キャッシュに貼り付けられた表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて前記画像表示手段に表示させ、（ｃ２）表示領域が画像全体でないならば、前記画像切り出し手段により当該復号バッファに保持されているラスタ画像から表示領域のラスタ画像を切り出させて前記画像表示手段に表示させる制御を行うことを特徴とする画像処理装置。
【請求項３】
画像の閲覧に利用される画像処理装置であって、
画像を圧縮した符号を保有するサーバに対し、画像表示に必要な領域及び解像度レベルの符号を要求する符号要求を送信する符号要求送信手段と、
符号キャッシュと、
前記サーバから受信した前記符号要求に対するレスポンスに含まれている符号と前記符号キャッシュに保存されている符号とを合成し、合成後の符号を前記符号キャッシュに保存する符号保存手段と、
ラスタ画像を貼り付けるための解像度レベル別のラスタ画像キャッシュと、
前記符号キャッシュ内の符号の復号処理を行ってラスタ画像を生成する復号手段と、
前記復号手段により生成されたラスタ画像を一時的に保存する復号バッファと、
ラスタ画像を前記ラスタ画像キャッシュに貼り付ける画像貼り付け手段と、
ラスタ画像の縮小処理を行う縮小処理手段と、
ラスタ画像を表示する画像表示手段と、
前記ラスタ画像キャッシュに貼り付けられたラスタ画像から必要な領域のラスタ画像を切り出す画像切り出し手段とを有し、
ユーザによりスクロール操作又はズーム操作が行われた時に、前記符号要求送信手段により符号要求を前記サーバへ送信させ、
（ａ）前記サーバより受信した当該符号要求に対するレスポンスに符号が含まれていない場合には、前記画像切り出し手段により前記ラスタ画像キャッシュに貼り付けられている表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて前記画像表示手段に表示させ、
（ｂ）前記サーバより受信した当該符号要求に対するレスポンスに符号が含まれている場合には、（ｂ１）前記符号保存手段により当該レスポンスに含まれている符号と前記符号キャッシュに保存されている符号とを合成させて、合成後の符号を前記符号キャッシュに保存させた後、前記復号手段により表示領域が含まれる画像領域の表示解像度レベルのラスタ画像を生成させるための、前記符号キャッシュ内の符号の復号処理を行わせ、当該復号処理により生成されて前記復号バッファに保存されているラスタ画像を前記画像貼り付け手段により前記ラスタ画像キャッシュに貼り付けさせ、（ｂ２）表示解像度レベルが最低画像度レベルでないならば前記縮小処理手段により前記復号バッファに保存されているラスタ画像の縮小処理を行わせて表示解像度レベルより低い解像度レベルのラスタ画像を生成させ、当該ラスタ画像を前記画像貼り付け手段により前記ラスタ画像キャッシュに貼り付けさせ、（ｂ３）前記画像切り出し手段により前記ラスタ画像キャッシュに貼り付けられている表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出せて前記画像表示手段に表示させる制御を行うことを特徴とする画像処理装置。
【請求項４】
画像の閲覧に利用される画像処理装置であって、
画像を圧縮した符号を保有するサーバに対し、画像表示に必要な領域及び解像度レベルの符号を要求する符号要求を送信する符号要求送信手段と、
符号キャッシュと、
前記サーバから受信した前記符号要求に対するレスポンスに含まれている符号と前記符号キャッシュに保存されている符号とを合成し、合成後の符号を前記符号キャッシュに保存する符号保存手段と、
ラスタ画像を貼り付けるための解像度レベル別のラスタ画像キャッシュと、
前記符号キャッシュ内の符号の復号処理を行ってラスタ画像を生成する復号手段と、
前記復号手段により生成されたラスタ画像を一時的に保存する復号バッファと、
ラスタ画像を前記ラスタ画像キャッシュに貼り付ける画像貼り付け手段と、
ラスタ画像を表示する画像表示手段と、
前記ラスタ画像キャッシュに貼り付けられたラスタ画像から必要な領域のラスタ画像を切り出す画像切り出し手段とを有し、
ユーザによりスクロール操作又はズーム操作が行われた時に、前記符号要求送信手段により符号要求を前記サーバへ送信させ、
（ａ）前記サーバより受信した当該符号要求に対するレスポンスに符号が含まれていない場合には、前記画像切り出し手段により前記ラスタ画像キャッシュに貼り付けられている表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて前記画像表示手段に表示させ、
（ｂ）前記サーバより受信した当該符号要求に対するレスポンスに符号が含まれている場合には、（ｂ１）前記符号保存手段により当該レスポンスに含まれている符号と前記符号キャッシュに保存されている符号とを合成させて、合成後の符号を前記符号キャッシュに保存させた後、前記復号手段により表示領域が含まれる画像領域の表示解像度レベルのラスタ画像を生成させるための、前記符号キャッシュ内の符号の復号処理を行わせ、当該復号処理により生成されて前記復号バッファに保存されているラスタ画像を前記画像貼り付け手段により前記ラスタ画像キャッシュに貼り付けさせ、（ｂ２）表示解像度レベルが最低画像度レベルでないならば前記復号手段により表示領域が含まれる画像領域の表示解像度レベルより低い解像度レベルのラスタ画像を生成させるための、前記符号キャッシュ内の符号の復号処理を行わせ、当該復号処理により生成されて前記復号バッファに保存されているラスタ画像を前記画像貼り付け手段により前記ラスタ画像キャッシュに貼り付けさせ、（ｂ３）前記画像切り出し手段により前記ラスタ画像キャッシュに貼り付けられている表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出せて前記画像表示手段に表示させる制御を行うことを特徴とする画像処理装置。
【請求項５】
画像の閲覧に利用される画像処理装置における画像処理方法であって、
画像を圧縮した符号の全体をローカルなファイル又はサーバより取り込み符号バッファに保存する工程と、
前記符号バッファ内の符号の復号処理を行ってラスタ画像を生成する復号工程と、
前記復号工程により生成されたラスタ画像を、解像度レベル別のラスタ画像キャッシュに貼り付ける画像貼り付け工程と、
前記ラスタ画像キャッシュに貼り付けられたラスタ画像から必要な領域のラスタ画像を切り出す画像切り出し工程とを有し、
ユーザによりスクロール操作又はズーム操作が行われた時に、
（ａ）表示領域が含まれる画像領域の全部についての表示解像度レベルのラスタ画像が前記ラスタ画像キャッシュに貼り付けられている場合には、前記画像切り出し工程により当該表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて画像表示手段に表示させ、
（ｂ）表示領域が含まれる画像領域の全部又は一部についての表示解像度レベルのラスタ画像が前記ラスタ画像キャッシュに貼り付けられていない場合には、前記復号工程により当該画像領域の全部又は一部についての表示解像度レベルのラスタ画像を生成するための、前記符号バッファ内の符号の復号処理を行わせ、生成されたラスタ画像を前記画像貼り付け工程により前記ラスタ画像キャッシュに貼り付けさせ、その後に前記画像切り出し工程により前記ラスタ画像キャッシュに貼り付けられた表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて前記画像表示手段に表示させる制御を行うことを特徴とする画像処理方法。
【請求項６】
画像の閲覧に利用される画像処理装置における画像処理方法であって、
画像を圧縮した符号を保有するサーバに対し、画像表示に必要な領域及び解像度レベルの符号を要求する符号要求を送信する符号要求送信工程と、
前記サーバから受信した前記符号要求に対するレスポンスに含まれている符号と符号キャッシュに保存されている符号とを合成し、合成後の符号を前記符号キャッシュに保存する符号保存工程と、
前記符号キャッシュ内の符号の復号処理を行ってラスタ画像を生成する復号工程と、
前記復号工程により生成されて復号バッファに一時的に保存されているラスタ画像を、解像度レベル別のラスタ画像キャッシュに貼り付ける画像貼り付け工程と、
前記ラスタ画像キャッシュに貼り付けられたラスタ画像から必要な領域のラスタ画像を切り出す画像切り出し工程と、
ラスタ画像の縮小処理を行う縮小処理工程とを有し、
ユーザによりスクロール操作又はズーム操作が行われた時に、
（ａ）前記ラスタ画像キャッシュに表示解像度レベルのラスタ画像が貼り付けられている場合には、前記画像切り出し工程により当該表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて画像表示手段に表示させ、
（ｂ）前記ラスタ画像キャッシュに、表示解像度レベルのラスタ画像は貼り付けられていないが、それより高い解像度レベルのラスタ画像が貼り付けられている場合には、前記画像切り出し工程により当該高い解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させ、前記縮小処理工程により、当該切り出されたラスタ画像を表示解像度レベルに対応したサイズに縮小させる縮小処理を行わせ、当該縮小処理後のラスタ画像を前記画像表示手段に表示させ、
（ｃ）前記ラスタ画像キャッシュに表示解像度レベルのラスタ画像もそれより高い解像度レベルのラスタ画像も貼り付けられていない場合には、前記符号要求送信工程により符号要求を送信させ、前記符号保存工程により当該符号要求に対し受信したレスポンスに含まれている符号と前記符号キャッシュに保存されている符号とを合成させて、合成後の符号を前記符号キャッシュに保存させた後、前記復号工程により表示領域が含まれる画像領域の表示解像度レベルのラスタ画像を生成させるための、前記符号キャッシュ内の符号の復号処理を行わせ、（ｃ１）表示領域が画像全体ならば、当該復号処理により生成されて前記復号バッファに保持されているラスタ画像を前記画像貼り付け工程により前記ラスタ画像キャッシュに貼り付けさせた後、前記画像切り出し工程により前記ラスタ画像キャッシュに貼り付けられた表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて前記画像表示手段に表示させ、（ｃ２）表示領域が画像全体でないならば、前記画像切り出し工程により当該復号バッファに保持されているラスタ画像から表示領域のラスタ画像を切り出させて前記画像表示手段に表示させる制御を行うことを特徴とする画像処理方法。
【請求項７】
画像の閲覧に利用される画像処理装置における画像処理方法であって、
画像を圧縮した符号を保有するサーバに対し、画像表示に必要な領域及び解像度レベル
の符号を要求する符号要求を送信する符号要求送信工程と、
前記サーバから受信した前記符号要求に対するレスポンスに含まれている符号と符号キャッシュに保存されている符号とを合成し、合成後の符号を前記符号キャッシュに保存する符号保存工程と、
前記符号キャッシュ内の符号の復号処理を行ってラスタ画像を生成する復号工程と、
ラスタ画像を解像度レベル別のラスタ画像キャッシュに貼り付ける画像貼り付け工程と、
ラスタ画像の縮小処理を行う縮小処理工程と、
前記ラスタ画像キャッシュに貼り付けられたラスタ画像から必要な領域のラスタ画像を切り出す画像切り出し工程とを有し、
ユーザによりスクロール操作又はズーム操作が行われた時に、前記符号要求送信工程により符号要求を前記サーバへ送信させ、
（ａ）前記サーバより受信した当該符号要求に対するレスポンスに符号が含まれていない場合には、前記画像切り出し工程により前記ラスタ画像キャッシュに貼り付けられている表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて画像表示手段に表示させ、
（ｂ）前記サーバより受信した当該符号要求に対するレスポンスに符号が含まれている場合には、（ｂ１）前記符号保存工程により当該レスポンスに含まれている符号と前記符号キャッシュに保存されている符号とを合成させて、合成後の符号を前記符号キャッシュに保存させた後、前記復号工程により表示領域が含まれる画像領域の表示解像度レベルのラスタ画像を生成させるための、前記符号キャッシュ内の符号の復号処理を行わせ、当該復号処理により生成されて復号バッファに保存されているラスタ画像を前記画像貼り付け工程により前記ラスタ画像キャッシュに貼り付けさせ、（ｂ２）表示解像度レベルが最低画像度レベルでないならば前記縮小処理工程により前記復号バッファに保存されているラスタ画像の縮小処理を行わせて表示解像度レベルより低い解像度レベルのラスタ画像を生成させ、当該ラスタ画像を前記画像貼り付け工程により前記ラスタ画像キャッシュに貼り付けさせ、（ｂ３）前記画像切り出し工程により前記ラスタ画像キャッシュに貼り付けられている表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出せて前記画像表示手段に表示させる制御を行うことを特徴とする画像処理方法。
【請求項８】
画像の閲覧に利用される画像処理装置における画像処理方法であって、
画像を圧縮した符号を保有するサーバに対し、画像表示に必要な領域及び解像度レベルの符号を要求する符号要求を送信する符号要求送信工程と、
前記サーバから受信した前記符号要求に対するレスポンスに含まれている符号と符号キャッシュに保存されている符号とを合成し、合成後の符号を前記符号キャッシュに保存する符号保存工程と、
前記符号キャッシュ内の符号の復号処理を行ってラスタ画像を生成する復号工程と、
解像度レベル別のラスタ画像キャッシュに、ラスタ画像を貼り付ける画像貼り付け工程と、
前記ラスタ画像キャッシュに貼り付けられたラスタ画像から必要な領域のラスタ画像を切り出す画像切り出し工程とを有し、
ユーザによりスクロール操作又はズーム操作が行われた時に、前記符号要求送信工程により符号要求を前記サーバへ送信させ、
（ａ）前記サーバより受信した当該符号要求に対するレスポンスに符号が含まれていない場合には、前記画像切り出し工程により前記ラスタ画像キャッシュに貼り付けられている表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて画像表示手段に表示させ、
（ｂ）前記サーバより受信した当該符号要求に対するレスポンスに符号が含まれている場合には、（ｂ１）前記符号保存工程により当該レスポンスに含まれている符号と前記符号キャッシュに保存されている符号とを合成させて、合成後の符号を前記符号キャッシュに保存させた後、前記復号工程により表示領域が含まれる画像領域の表示解像度レベルのラスタ画像を生成させるための、前記符号キャッシュ内の符号の復号処理を行わせ、当該復号処理により生成されて復号バッファに保存されているラスタ画像を前記画像貼り付け工程により前記ラスタ画像キャッシュに貼り付けさせ、（ｂ２）表示解像度レベルが最低画像度レベルでないならば前記復号工程により表示領域が含まれる画像領域の表示解像度レベルより低い解像度レベルのラスタ画像を生成させるための、前記符号キャッシュ内の符号の復号処理を行わせ、当該復号処理により生成されて前記復号バッファに保存されているラスタ画像を前記画像貼り付け工程により前記ラスタ画像キャッシュに貼り付けさせ、（ｂ３）前記画像切り出し工程により前記ラスタ画像キャッシュに貼り付けられている表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出せて前記画像表示手段に表示させる制御を行うことを特徴とする画像処理方法。
【請求項９】
請求項１乃至４のいずれか１項に記載の画像処理装置としてコンピュータを機能させるプログラム。
【請求項１０】
請求項１乃至４のいずれか１項に記載の画像処理装置としてコンピュータを機能させるプログラムが記録されたコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像の閲覧に利用される画像処理装置に係り、より詳しくは、指定した領域及び解像度レベルについての部分的復号が可能な構造の画像符号を処理する画像処理装置に関する。
【背景技術】
【０００２】
画像は、それを圧縮した符号（画像符号）として保存したり転送したりすることが多い。画像符号の中には、指定した領域の指定した解像度レベルについての部分的復号が可能な構造のものがあり、その代表的な例がＪＰＥＧ２０００（ISO/IEC  15444-1）の符号である。また、サーバからクライアントへのＪＰＥＧ２０００符号の転送に関するプロトコルとして、ＪＰＩＰ（JPEG2000  Interactive  Protocol；ISO/IEC  15444-9）が制定されている。
【０００３】
特許文献１に、ＪＰＥＧ２０００の符号を対象にした画像復号装置が開示されている。ここに開示された画像復号装置においては、復号処理の最終段階としてウェーブレット逆変換を行うが、このウェーブレット逆変換の過程で生じる中間解像度レベルのＬＬ係数を中間画像として、最終的な復号画像と別に保存しておき、ユーザが必要に応じて中間画像を利用できるようにしている。
【０００４】
特許文献２に、サーバからクライアントへ、ＪＰＥＧ２０００の符号を低い解像レベルの符号から高い解像度レベルの符号へと順次送信し、クライアント側で画像をプログレッシブ表示するシステムが開示されている。ここに開示されたクライアントにおいては、最初に受信した低い解像度レベルの符号の復号処理過程で生成されたＬＬ係数を一時的に保存する。次に１つ上の解像度レベルのＬＨ，ＨＬ，ＨＨ符号を受信し、その復号処理において、当該解像度レベルのＬＨ，ＨＬ，ＨＨ係数と保存されている直前解像度レベルのＬＬ係数とを用いてウェーブレット逆変換を行い、生成されたＬＬ係数を一時的に保存する。次に１つ上の解像度レベルのＬＨ，ＨＬ，ＨＨ符号を受信し、その復号処理において、当該解像度レベルのＬＨ，ＨＬ，ＨＨ係数と保存していた直前解像度レベルのＬＬ係数とを用いてウェーブレット逆変換を行い、生成されたＬＬ係数を一時的に保存する。同様の処理を最終の解像度レベルまで繰り返す。このような特殊な復号処理を行うが、各解像度レベルについて、ウェーブレット逆変換後のコンポーネント変換とＤＣレベルシフトを行うことは通常のＪＰＥＧ２０００の復号処理と同様である。
【０００５】
【特許文献１】特開２００２−２４７５８０号公報
【特許文献２】特開２００４−４０６７４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
パーソナルコンピュータで、ローカルなファイルに格納されているＪＰＥＧ２０００の符号を復号して閲覧するような場合、図１６に模式的に示すようなズームイン操作やズームアウト操作を行ったり、図１７に模式的に示すようなスクロール操作を行ったりする。ズームインを行うと、例えば２倍の解像度のビューに変わる。ズームアウトを行うと、例えば１／２の解像度のビューに変わる。この時、表示領域を越える大きさに拡大された場合は、画像の一部のみが表示される。また、例えば、解像度が高いビューで画像の一部のみが表示されている状態でスクロールを行うと、表示領域の空間位置が変わる。従来、このようなズームやスクロールの操作が行われる都度、復号処理を実行して必要な領域の必要な解像度レベルのラスタ画像を生成し表示するのが通常であった。
【０００７】
ＪＰＩＰサーバから必要な符号のみを受信するＪＰＩＰクライアントにおいても、スクロール操作等が行われる都度、復号処理を実行して必要な領域の必要な解像度レベルのラスタ画像を生成し表示するのが通常であった。
【０００８】
上に述べたようにスクロールやズームの操作時に毎回、復号処理を実行するのは効率的でない。特に、ＪＰＥＧ２０００の復号アルゴリズムは複雑で処理負荷が重いため、パーソナルコンピュータやクライアントの処理能力が不十分な場合、ユーザがスクロール操作やズーム操作を行ってから実際に画像がスクロール又はズームされるまでの時間が長いという問題があった。
【０００９】
よって、本発明の目的は、ローカルなファイルやサーバから符号の全体を一括して取り込む画像処理装置、又は、サーバから必要な符号を順次受信する画像処理装置において、処理の効率化及び閲覧画像のズームやスクロールの迅速化を図ることにある。
【００１０】
なお、現在はカラー画像を扱う場合が圧倒的に多いが、前記特許文献１の技術はカラー画像への適用が困難である。すなわち、カラー画像の場合、ＪＰＥＧ２０００の復号処理において、通常、ウェーブレット逆変換後にコンポーネント逆変換を（多くはＤＣレベル逆シフトも）行う必要がある。したがって、通常、ウェーブレット逆変換の過程で生成される中間解像度レベルのＬＬ係数をそのまま中間画像として利用することはできない。仮に、１回の復号処理で、中間解像度レベルのＬＬ係数にコンポーネント逆変換やＤＣレベル逆シフトを施してカラーの中間画像を生成しようとすると、ＪＰＥＧ２０００の標準的なデコーダを利用することはできず、特殊なデコーダを用意しなければならない。
【００１１】
同様に、前記特許文献２の技術も特殊なデコーダを必要とするものであり、ＪＰＥＧ２０００の標準的なデコーダを利用することはできない。
【００１２】
よって、標準的なデコーダを利用して、上に述べたような画像処理装置における処理の効率化及び閲覧画像のスクロールやズームの迅速化を達成することが、本発明のもう１つの目的である。
【課題を解決するための手段】
【００１４】
請求項１記載の発明は、画像の閲覧に利用される画像処理装置に係り、当該画像処理装置は、
符号バッファと、
画像を圧縮した符号の全体をローカルなファイル又はサーバより取り込み前記符号バッファに保存する手段と、
ラスタ画像を貼り付けるための解像度レベル別のラスタ画像キャッシュと、
前記符号バッファ内の符号の復号処理を行ってラスタ画像を生成する復号手段と、
前記復号手段により生成されたラスタ画像を前記ラスタ画像キャッシュに貼り付ける画像貼り付け手段と、
ラスタ画像を表示する画像表示手段と、
前記ラスタ画像キャッシュに貼り付けられたラスタ画像から必要な領域のラスタ画像を切り出す画像切り出し手段とを有し、
ユーザによりスクロール操作又はズーム操作が行われた時に、
（ａ）表示領域が含まれる画像領域の全部についての表示解像度レベルのラスタ画像が前記ラスタ画像キャッシュに貼り付けられている場合には、前記画像切り出し手段により当該表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて前記画像表示手段に表示させ、
（ｂ）表示領域が含まれる画像領域の全部又は一部についての表示解像度レベルのラスタ画像が前記ラスタ画像キャッシュに貼り付けられていない場合には、当該画像領域の全部又は一部についての表示解像度レベルのラスタ画像を生成するための、前記符号バッファ内の符号の復号処理を前記復号手段に行わせ、生成されたラスタ画像を前記画像貼り付け手段により前記ラスタ画像キャッシュに貼り付けさせ、その後に前記画像切り出し手段により前記ラスタ画像キャッシュに貼り付けられた表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて前記画像表示手段に表示させる制御を行うことを特徴とする。
【００１５】
請求項２記載の発明は、画像の閲覧に利用される画像処理装置に係り、当該画像処理装置は、
画像を圧縮した符号を保有するサーバに対し、画像表示に必要な領域及び解像度レベルの符号を要求する符号要求を送信する符号要求送信手段と、
符号キャッシュと、
前記サーバから受信した前記符号要求に対するレスポンスに含まれている符号と前記符号キャッシュに保存されている符号とを合成し、合成後の符号を前記符号キャッシュに保存する符号保存手段と、
ラスタ画像を貼り付けるための解像度レベル別のラスタ画像キャッシュと、
前記符号キャッシュ内の符号の復号処理を行ってラスタ画像を生成する復号手段と、
前記復号手段により生成されたラスタ画像を一時的に保存する復号バッファと、
前記復号手段により生成されて前記復号バッファに一時的に保存されているラスタ画像を前記ラスタ画像キャッシュに貼り付ける画像貼り付け手段と、
前記ラスタ画像キャッシュに貼り付けられたラスタ画像から必要な領域のラスタ画像を切り出す画像切り出し手段と、
ラスタ画像の縮小処理を行う縮小処理手段と、
ラスタ画像を表示する画像表示手段とを有し、
ユーザによりスクロール操作又はズーム操作が行われた時に、
（ａ）前記ラスタ画像キャッシュに表示解像度レベルのラスタ画像が貼り付けられている場合には、前記画像切り出し手段により当該表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて前記画像表示手段に表示させ、
（ｂ）前記ラスタ画像キャッシュに、表示解像度レベルのラスタ画像は貼り付けられていないが、それより高い解像度レベルのラスタ画像が貼り付けられている場合には、前記画像切り出し手段により当該高い解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させ、当該切り出されたラスタ画像を前記縮小処理手段により表示解像度レベルに対応したサイズに縮小させる縮小処理を行わせ、当該縮小処理後のラスタ画像を前記画像表示手段に表示させ、
（ｃ）前記ラスタ画像キャッシュに表示解像度レベルのラスタ画像もそれより高い解像度レベルのラスタ画像も貼り付けられていない場合には、前記符号要求送信手段により符号要求を送信させ、前記符号保存手段により当該符号要求に対し受信したレスポンスに含まれている符号と前記符号キャッシュに保存されている符号とを合成させて、合成後の符号を前記符号キャッシュに保存させた後、前記復号手段により表示領域が含まれる画像領域の表示解像度レベルのラスタ画像を生成させるための、前記符号キャッシュ内の符号の復号処理を行わせ、（ｃ１）表示領域が画像全体ならば、当該復号処理により生成されて前記復号バッファに保持されているラスタ画像を前記画像貼り付け手段により前記ラスタ画像キャッシュに貼り付けさせた後、前記画像切り出し手段により前記ラスタ画像キャッシュに貼り付けられた表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて前記画像表示手段に表示させ、（ｃ２）表示領域が画像全体でないならば、前記画像切り出し手段により当該復号バッファに保持されているラスタ画像から表示領域のラスタ画像を切り出させて前記画像表示手段に表示させる制御を行うことを特徴とする。
【００１６】
請求項３記載の発明は、画像の閲覧に利用される画像処理装置に係り、当該画像処理装置は、
画像を圧縮した符号を保有するサーバに対し、画像表示に必要な領域及び解像度レベルの符号を要求する符号要求を送信する符号要求送信手段と、
符号キャッシュと、
前記サーバから受信した前記符号要求に対するレスポンスに含まれている符号と前記符号キャッシュに保存されている符号とを合成し、合成後の符号を前記符号キャッシュに保存する符号保存手段と、
ラスタ画像を貼り付けるための解像度レベル別のラスタ画像キャッシュと、
前記符号キャッシュ内の符号の復号処理を行ってラスタ画像を生成する復号手段と、
前記復号手段により生成されたラスタ画像を一時的に保存する復号バッファと、
ラスタ画像を前記ラスタ画像キャッシュに貼り付ける画像貼り付け手段と、
ラスタ画像の縮小処理を行う縮小処理手段と、
ラスタ画像を表示する画像表示手段と、
前記ラスタ画像キャッシュに貼り付けられたラスタ画像から必要な領域のラスタ画像を切り出す画像切り出し手段とを有し、
ユーザによりスクロール操作又はズーム操作が行われた時に、前記符号要求送信手段により符号要求を前記サーバへ送信させ、
（ａ）前記サーバより受信した当該符号要求に対するレスポンスに符号が含まれていない場合には、前記画像切り出し手段により前記ラスタ画像キャッシュに貼り付けられている表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて前記画像表示手段に表示させ、
（ｂ）前記サーバより受信した当該符号要求に対するレスポンスに符号が含まれている場合には、（ｂ１）前記符号保存手段により当該レスポンスに含まれている符号と前記符号キャッシュに保存されている符号とを合成させて、合成後の符号を前記符号キャッシュに保存させた後、前記復号手段により表示領域が含まれる画像領域の表示解像度レベルのラスタ画像を生成させるための、前記符号キャッシュ内の符号の復号処理を行わせ、当該復号処理により生成されて前記復号バッファに保存されているラスタ画像を前記画像貼り付け手段により前記ラスタ画像キャッシュに貼り付けさせ、（ｂ２）表示解像度レベルが最低画像度レベルでないならば前記縮小処理手段により前記復号バッファに保存されているラスタ画像の縮小処理を行わせて表示解像度レベルより低い解像度レベルのラスタ画像を生成させ、当該ラスタ画像を前記画像貼り付け手段により前記ラスタ画像キャッシュに貼り付けさせ、（ｂ３）前記画像切り出し手段により前記ラスタ画像キャッシュに貼り付けられている表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出せて前記画像表示手段に表示させる制御を行うことを特徴とする。
【００１７】
請求項４記載の発明は、画像の閲覧に利用される画像処理装置に係り、当該画像処理装置は、
画像を圧縮した符号を保有するサーバに対し、画像表示に必要な領域及び解像度レベルの符号を要求する符号要求を送信する符号要求送信手段と、
符号キャッシュと、
前記サーバから受信した前記符号要求に対するレスポンスに含まれている符号と前記符号キャッシュに保存されている符号とを合成し、合成後の符号を前記符号キャッシュに保存する符号保存手段と、
ラスタ画像を貼り付けるための解像度レベル別のラスタ画像キャッシュと、
前記符号キャッシュ内の符号の復号処理を行ってラスタ画像を生成する復号手段と、
前記復号手段により生成されたラスタ画像を一時的に保存する復号バッファと、
ラスタ画像を前記ラスタ画像キャッシュに貼り付ける画像貼り付け手段と、
ラスタ画像を表示する画像表示手段と、
前記ラスタ画像キャッシュに貼り付けられたラスタ画像から必要な領域のラスタ画像を切り出す画像切り出し手段とを有し、
ユーザによりスクロール操作又はズーム操作が行われた時に、前記符号要求送信手段により符号要求を前記サーバへ送信させ、
（ａ）前記サーバより受信した当該符号要求に対するレスポンスに符号が含まれていない場合には、前記画像切り出し手段により前記ラスタ画像キャッシュに貼り付けられている表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて前記画像表示手段に表示させ、
（ｂ）前記サーバより受信した当該符号要求に対するレスポンスに符号が含まれている場合には、（ｂ１）前記符号保存手段により当該レスポンスに含まれている符号と前記符号キャッシュに保存されている符号とを合成させて、合成後の符号を前記符号キャッシュに保存させた後、前記復号手段により表示領域が含まれる画像領域の表示解像度レベルのラスタ画像を生成させるための、前記符号キャッシュ内の符号の復号処理を行わせ、当該復号処理により生成されて前記復号バッファに保存されているラスタ画像を前記画像貼り付け手段により前記ラスタ画像キャッシュに貼り付けさせ、（ｂ２）表示解像度レベルが最低画像度レベルでないならば前記復号手段により表示領域が含まれる画像領域の表示解像度レベルより低い解像度レベルのラスタ画像を生成させるための、前記符号キャッシュ内の符号の復号処理を行わせ、当該復号処理により生成されて前記復号バッファに保存されているラスタ画像を前記画像貼り付け手段により前記ラスタ画像キャッシュに貼り付けさせ、（ｂ３）前記画像切り出し手段により前記ラスタ画像キャッシュに貼り付けられている表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出せて前記画像表示手段に表示させる制御を行うことを特徴とする。
【００１９】
請求項５記載の発明は、画像の閲覧に利用される画像処理装置における画像処理方法に係り、当該画像処理方法は、
画像を圧縮した符号の全体をローカルなファイル又はサーバより取り込み符号バッファに保存する工程と、
前記符号バッファ内の符号の復号処理を行ってラスタ画像を生成する復号工程と、
前記復号工程により生成されたラスタ画像を、解像度レベル別のラスタ画像キャッシュに貼り付ける画像貼り付け工程と、
前記ラスタ画像キャッシュに貼り付けられたラスタ画像から必要な領域のラスタ画像を切り出す画像切り出し工程とを有し、
ユーザによりスクロール操作又はズーム操作が行われた時に、
（ａ）表示領域が含まれる画像領域の全部についての表示解像度レベルのラスタ画像が前記ラスタ画像キャッシュに貼り付けられている場合には、前記画像切り出し工程により当該表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて画像表示手段に表示させ、
（ｂ）表示領域が含まれる画像領域の全部又は一部についての表示解像度レベルのラスタ画像が前記ラスタ画像キャッシュに貼り付けられていない場合には、前記復号工程により当該画像領域の全部又は一部についての表示解像度レベルのラスタ画像を生成するための、前記符号バッファ内の符号の復号処理を行わせ、生成されたラスタ画像を前記画像貼り付け工程により前記ラスタ画像キャッシュに貼り付けさせ、その後に前記画像切り出し工程により前記ラスタ画像キャッシュに貼り付けられた表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて前記画像表示手段に表示させる制御を行うことを特徴とする。
【００２０】
請求項６記載の発明は、画像の閲覧に利用される画像処理装置における画像処理方法に係り、当該画像処理方法は、
画像を圧縮した符号を保有するサーバに対し、画像表示に必要な領域及び解像度レベルの符号を要求する符号要求を送信する符号要求送信工程と、
前記サーバから受信した前記符号要求に対するレスポンスに含まれている符号と符号キャッシュに保存されている符号とを合成し、合成後の符号を前記符号キャッシュに保存する符号保存工程と、
前記符号キャッシュ内の符号の復号処理を行ってラスタ画像を生成する復号工程と、
前記復号工程により生成されて復号バッファに一時的に保存されているラスタ画像を、解像度レベル別のラスタ画像キャッシュに貼り付ける画像貼り付け工程と、
前記ラスタ画像キャッシュに貼り付けられたラスタ画像から必要な領域のラスタ画像を切り出す画像切り出し工程と、
ラスタ画像の縮小処理を行う縮小処理工程とを有し、
ユーザによりスクロール操作又はズーム操作が行われた時に、
（ａ）前記ラスタ画像キャッシュに表示解像度レベルのラスタ画像が貼り付けられている場合には、前記画像切り出し工程により当該表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて画像表示手段に表示させ、
（ｂ）前記ラスタ画像キャッシュに、表示解像度レベルのラスタ画像は貼り付けられていないが、それより高い解像度レベルのラスタ画像が貼り付けられている場合には、前記画像切り出し工程により当該高い解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させ、前記縮小処理工程により、当該切り出されたラスタ画像を表示解像度レベルに対応したサイズに縮小させる縮小処理を行わせ、当該縮小処理後のラスタ画像を前記画像表示手段に表示させ、
（ｃ）前記ラスタ画像キャッシュに表示解像度レベルのラスタ画像もそれより高い解像度レベルのラスタ画像も貼り付けられていない場合には、前記符号要求送信工程により符号要求を送信させ、前記符号保存工程により当該符号要求に対し受信したレスポンスに含まれている符号と前記符号キャッシュに保存されている符号とを合成させて、合成後の符号を前記符号キャッシュに保存させた後、前記復号工程により表示領域が含まれる画像領域の表示解像度レベルのラスタ画像を生成させるための、前記符号キャッシュ内の符号の復号処理を行わせ、（ｃ１）表示領域が画像全体ならば、当該復号処理により生成されて前記復号バッファに保持されているラスタ画像を前記画像貼り付け工程により前記ラスタ画像キャッシュに貼り付けさせた後、前記画像切り出し工程により前記ラスタ画像キャッシュに貼り付けられた表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて前記画像表示手段に表示させ、（ｃ２）表示領域が画像全体でないならば、前記画像切り出し工程により当該復号バッファに保持されているラスタ画像から表示領域のラスタ画像を切り出させて前記画像表示手段に表示させる制御を行うことを特徴とする。
【００２１】
請求項７記載の発明は、画像の閲覧に利用される画像処理装置における画像処理方法に係り、当該画像処理方法は、
画像を圧縮した符号を保有するサーバに対し、画像表示に必要な領域及び解像度レベルの符号を要求する符号要求を送信する符号要求送信工程と、
前記サーバから受信した前記符号要求に対するレスポンスに含まれている符号と符号キャッシュに保存されている符号とを合成し、合成後の符号を前記符号キャッシュに保存する符号保存工程と、
前記符号キャッシュ内の符号の復号処理を行ってラスタ画像を生成する復号工程と、
ラスタ画像を解像度レベル別のラスタ画像キャッシュに貼り付ける画像貼り付け工程と、
ラスタ画像の縮小処理を行う縮小処理工程と、
前記ラスタ画像キャッシュに貼り付けられたラスタ画像から必要な領域のラスタ画像を切り出す画像切り出し工程とを有し、
ユーザによりスクロール操作又はズーム操作が行われた時に、前記符号要求送信工程により符号要求を前記サーバへ送信させ、
（ａ）前記サーバより受信した当該符号要求に対するレスポンスに符号が含まれていない場合には、前記画像切り出し工程により前記ラスタ画像キャッシュに貼り付けられている表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて画像表示手段に表示させ、
（ｂ）前記サーバより受信した当該符号要求に対するレスポンスに符号が含まれている場合には、（ｂ１）前記符号保存工程により当該レスポンスに含まれている符号と前記符号キャッシュに保存されている符号とを合成させて、合成後の符号を前記符号キャッシュに保存させた後、前記復号工程により表示領域が含まれる画像領域の表示解像度レベルのラスタ画像を生成させるための、前記符号キャッシュ内の符号の復号処理を行わせ、当該復号処理により生成されて復号バッファに保存されているラスタ画像を前記画像貼り付け工程により前記ラスタ画像キャッシュに貼り付けさせ、（ｂ２）表示解像度レベルが最低画像度レベルでないならば前記縮小処理工程により前記復号バッファに保存されているラスタ画像の縮小処理を行わせて表示解像度レベルより低い解像度レベルのラスタ画像を生成させ、当該ラスタ画像を前記画像貼り付け工程により前記ラスタ画像キャッシュに貼り付けさせ、（ｂ３）前記画像切り出し工程により前記ラスタ画像キャッシュに貼り付けられている表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出せて前記画像表示手段に表示させる制御を行うことを特徴とする。
【００２２】
請求項８記載の発明は、画像の閲覧に利用される画像処理装置における画像処理方法に係り、当該画像処理方法は、
画像を圧縮した符号を保有するサーバに対し、画像表示に必要な領域及び解像度レベルの符号を要求する符号要求を送信する符号要求送信工程と、
前記サーバから受信した前記符号要求に対するレスポンスに含まれている符号と符号キャッシュに保存されている符号とを合成し、合成後の符号を前記符号キャッシュに保存する符号保存工程と、
前記符号キャッシュ内の符号の復号処理を行ってラスタ画像を生成する復号工程と、
解像度レベル別のラスタ画像キャッシュに、ラスタ画像を貼り付ける画像貼り付け工程と、
前記ラスタ画像キャッシュに貼り付けられたラスタ画像から必要な領域のラスタ画像を切り出す画像切り出し工程とを有し、
ユーザによりスクロール操作又はズーム操作が行われた時に、前記符号要求送信工程により符号要求を前記サーバへ送信させ、
（ａ）前記サーバより受信した当該符号要求に対するレスポンスに符号が含まれていない場合には、前記画像切り出し工程により前記ラスタ画像キャッシュに貼り付けられている表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出させて画像表示手段に表示させ、
（ｂ）前記サーバより受信した当該符号要求に対するレスポンスに符号が含まれている場合には、（ｂ１）前記符号保存工程により当該レスポンスに含まれている符号と前記符号キャッシュに保存されている符号とを合成させて、合成後の符号を前記符号キャッシュに保存させた後、前記復号工程により表示領域が含まれる画像領域の表示解像度レベルのラスタ画像を生成させるための、前記符号キャッシュ内の符号の復号処理を行わせ、当該復号処理により生成されて復号バッファに保存されているラスタ画像を前記画像貼り付け工程により前記ラスタ画像キャッシュに貼り付けさせ、（ｂ２）表示解像度レベルが最低画像度レベルでないならば前記復号工程により表示領域が含まれる画像領域の表示解像度レベルより低い解像度レベルのラスタ画像を生成させるための、前記符号キャッシュ内の符号の復号処理を行わせ、当該復号処理により生成されて前記復号バッファに保存されているラスタ画像を前記画像貼り付け工程により前記ラスタ画像キャッシュに貼り付けさせ、（ｂ３）前記画像切り出し工程により前記ラスタ画像キャッシュに貼り付けられている表示解像度レベルのラスタ画像から表示領域のラスタ画像を切り出せて前記画像表示手段に表示させる制御を行うことを特徴とする。
【００２３】
請求項９記載の発明は、請求項１乃至４のいずれか１項に記載の発明に係る画像処理装置としてコンピュータを機能させるプログラムを提供する。
【００２４】
請求項１０記載の発明は、請求項１乃至４のいずれか１項に記載の発明に係る画像処理装置としてコンピュータを機能させるプログラムが記録されたコンピュータ読み取り可能な記録媒体を提供する。
【発明の効果】
【００２５】
本発明によれば、画像処理装置において、ユーザがスクロール操作又はズーム操作を行った際の復号処理等を減らして処理効率を向上させ、かつ、閲覧画像のズームやスクロールの動作を高速化することができる。特殊な復号処理を必要としないため、復号手段として標準的なデコーダを利用することができる等の効果を得られる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明の実施の形態について図面を参照し詳細に説明する。
【００２７】
［第１の実施形態］
本実施形態は、ローカルなファイルに格納されているＪＰＥＧ２０００の符号の全体を一括して読み込み、あるいは、サーバよりをＪＰＥＧ２０００の符号の全体を一括して読み込む画像処理装置の一実施形態である。
【００２８】
なお、ここではＪＰＥＧ２０００の符号を対象としているが、領域別及び解像度レベル別に部分的復号処理が可能な構造の符号であれば、他の符号化方式による符号に対しても同様に本実施形態を適用可能である。
【００２９】
本実施形態に係る画像処理装置は、例えば図１に示すようなＣＰＵ１００、メインメモリ１０１、ハードディスク装置１０２、ディスプレイ装置１０３、ユーザ入力デバイス（マウス、その他のポインティングデバイスやキーボード等）１０４、ネットワーク・インターフェース１０５を備える一般的な構成のコンピュータを利用して実現される。
【００３０】
コンピュータを本実施形態に係る画像処理装置として動作させるためのプログラムとして、画面表示とそれに関連したユーザとの対話のための処理を担うビューアプログラム１１０と、画像閲覧に関連した後述の本発明に特有の制御のための処理を担う閲覧制御プログラム１１１が、ハードディスク装置１０２から読み出されてメインメモリ１０１にロードされ、ＣＰＵ１００により実行される。このビューアプログラム１１０及び閲覧制御プログラム１１１は通常、所定のオペレーティングシステム上で動作するものである。ビューアプログラム１１０と閲覧制御プログラム１１１を統合してもよい。ここに示す例では、復号処理のためのプログラム（ソフトウェア・デコーダ）が閲覧制御プログラム１１１に含まれるものとするが、ハードウェア・デコーダを備え、これを閲覧制御プログラム１１１で利用するようにしてもよい。このソフトウェア・エンコーダもしくはハードウェア・デコーダは、ＪＰＥＧ２０００の標準的なデコーダでよい。
【００３１】
図２に示すフローチャートに沿って、本実施形態に係る画像処理装置の動作について説明する。
【００３２】
＜ステップＳ１００＞  ユーザは、ビューアプログラム１１０により提供されるディスプレイ装置１０３の対話画面上で閲覧したい画像を指定することができる。例えば、ハードディスク装置１０２のあるディレクトリのファイル名一覧を表示させ、ユーザ入力デバイス１０４に含まれるマウスで希望するファイル名を指定することができる。ビューアプログラム１１０は、指定されたファイルに格納されている画像符号の全体を一括して読み込んでメインメモリ１０１上の符号バッファ１１２に保存する。当該画像処理装置とＬＡＮやインターネット等のネットワークの回線を通じて接続されるサーバ１２０の保有するファイルを指定し、そのファイルに格納されている符号全体を一括してダウンロードし符号バッファ１１２に保存することもできる。
【００３３】
＜ステップＳ１０１＞  閲覧制御プログラム１１１は、符号バッファ１１２内の符号のメインヘッダを解析し必要な情報を取得する。メインヘッダのＳＩＺマーカセグメントから、リファレンスグリッドの水平，垂直方向のサイズＸｓｉｚ，Ｙｓｉｚ、リファレンスグリッド原点からの画像の水平，垂直方向のオフセットＸＯｓｉｚ，ＹＯｓｉｚ、タイルの水平，垂直方向のサイズＸＴｓｉｚ，ＹＴｓｉｚ、リファレンスグリッド原点からタイルの水平，垂直方向のオフセットＸＴＯｓｉｚ，ＹＴＯｓｉｚを取得する。また、メインヘッダのＣＯＤマーカセグメントからデコンポジションレベル数を取得することにより、解像度レベル数を知る。そして、閲覧制御プログラム１１１は取得した情報に基づいて以下の値を計算する。
画像の水平方向サイズ＝Ｘｓｉｚ−ＸＯｓｉｚ
画像の垂直方向サイズ＝Ｙｓｉｚ−ＹＯｓｉｚ
水平方向タイル数＝（Ｘｓｉｚ−ＸＴＯｓｉｚ）／ＸＴｓｉｚ
垂直方向タイル数＝（Ｙｓｉｚ−ＹＴＯｓｉｚ）／ＹＴｓｉｚ
総タイル数＝水平方向タイル数×垂直方向タイル数
ただし、各方向タイル数は整数に丸められる。
【００３４】
閲覧制御プログラム１１１は、以上の取得情報に基づいて、ラスタ画像を貼り付けるための解像度レベル別のラスタ画像キャッシュ１１３をメインメモリ１０１上作成し、解像度レベル別に各タイルが復号済みであるか否かを管理するための（換言すれば、各解像度レベルのラスタ画像キャッシュにラスタ画像が貼り付け済みであるか否かをタイル毎に管理するための）管理情報１１４をメインメモリ１０１上に作成する。
【００３５】
ここでは例えば、デコンポジションレベル数＝３、水平方向タイル数＝垂直方向タイル数＝２の画像符号であるとすると、図３に示すような解像度レベル１，２，３に対応した３枚のラスタ画像キャッシュと、図４に示すような各解像度の各タイルに対応した復号済みフラグの配列からなる管理情報を作成する。各解像度レベルのラスタ画像キャッシュは全タイルのラスタ画像を貼り付け可能なキャンバスのようなものであり、図３には破線でタイル分割線が示されている。作成直後のラスタ画像キャッシュは空白状態であり、作成直後の管理情報では全ての復号済みフラグがオフ（未復号）の状態である。
【００３６】
＜ステップＳ１０２＞  閲覧制御プログラム１１１において、画像表示のために、どの解像度レベルのどのタイルのラスタ画像が必要であるか決定する。
【００３７】
まず、必要とする解像度レベルであるが、ビューアプログラム１１０より与えられる画像表示の拡大率が１／２の場合、ここでは最高解像度レベルが３であるから、必要な解像度レベルを２に決定する。拡大率が１／４の場合、必要な解像度レベルを１に決定する。拡大率が２のべき乗の逆数ではない場合、その拡大率を挟むような２つの解像度レベルのいずれか一方の解像度レベルに決定する。
【００３８】
別の方法として、画像全体を表示できるとした場合の画像サイズ（フレームサイズ）と最高解像度レベルでの画像サイズ（オリジナルのサイズ）とから、必要な解像度レベルを計算してもよい。例えば、最高解像度レベル３の画像サイズが１０２４画素×１０２４画素の場合、これを画面に２５６画素×２５６画素の大きさで表示するとすると、必要な解像度レベルを１に決定する。
【００３９】
次に、閲覧制御プログラム１１１は、画像表示のために必要とするタイルを決定する。ビューアプログラム１１０より与えられる表示領域の大きさとオフセット、先に決定した必要な解像度レベルに変換したタイルのサイズに基づいて、表示領域全体をカバーするためのタイルのセットを容易に決定することができる。
【００４０】
図５は、必要な解像度レベルでの画像全体及びタイルに表示領域を重ねて示しているが、ここでは便宜上、水平・垂直方向のタイル数＝３としている。この例では、タイルＴ０，Ｔ１，Ｔ２，Ｔ３，Ｔ４，Ｔ５が画像表示に必要なタイルとされる。
【００４１】
＜ステップＳ１０３＞  閲覧制御プログラム１１１は、管理情報１１４を参照し、上記ステップＳ１０２で決定した必要な解像度レベルの必要なタイルに対応した復号済みフラグが全てオン（復号済み）であるか調べる。それら復号済みフラグの全てがオンであるならば（判定結果Ｙｅｓ）、必要な解像度レベルの必要なタイルのラスタ画像が当該解像度レベルに対応したラスタ画像キャッシュに貼り付け済みであるはずであるので、処理はステップＳ１０７に進む。一方、必要なタイルの１つでも復号済みでないときには（判定結果Ｎｏ）、少なくとも復号済みでないタイルについての復号を行う必要があるので、処理は次のステップＳ１０４に進む。
【００４２】
＜ステップＳ１０４＞  閲覧制御プログラム１１１は、符号バッファ１１２内の符号に対し、復号済みのタイルを含め必要な全てのタイルからなる矩形領域について必要な解像度レベルまでの部分的復号処理を行う（処理方法１）。あるいは、必要なタイルの中の復号済みでないタイルのみについて、タイル単位で必要な解像度レベルまでの部分的復号処理を行う（処理方法２）。処理方法１と処理方法２のいずれを用いるかは、閲覧制御プログラム１１１に含まれるソフトウェア・デコーダの設計による。
【００４３】
＜ステップＳ１０５＞  閲覧制御プログラム１１１は、上記ステップＳ１０４で復号されたラスタ画像をその解像度レベルのラスタ画像キャッシュ１１３に貼り付ける。上記ステップＳ１０４で処理方法１が用いられる場合には、復号された矩形領域のラスタ画像をその解像度レベルのラスタ画像キャッシュ１１３の対応領域にそのまま貼り付ければよいが、上記ステップＳ１０４でタイル単位の処理方法２が用いられる場合には、タイル単位で復号されたラスタ画像の貼り付け処理を復号されたタイル数だけ行うことになる。
【００４４】
図６に、解像度レベル別のラスタ画像キャッシュにラスタ画像が貼り付けられた様子を模式的に示す。この例では、解像度レベル１については全タイルのラスタ画像が貼り付け済みであり、解像度レベル２については右側の２つのタイルのラスタ画像が貼り付け済みであり、また、解像度レベル３については右下のタイルのみラスタ画像が貼り付け済みである。
【００４５】
＜ステップＳ１０６＞  閲覧制御プログラム１１１は、管理情報１１４に対し、上記ステップＳ１０４で復号した解像度レベルのタイルに対応した復号済みフラグをオン（復号済み）にセットする処理を行う。
【００４６】
＜ステップＳ１０７＞  閲覧制御プログラム１１１は、上記ステップＳ１０２で決定した画像表示のために必要なタイル及び解像度レベルのラスタ画像を当該解像度レベルに対応したラスタ画像キャッシュ１１３に貼り付けられたラスタ画像より切り出し、切り出したラスタ画像をメインメモリ１０１上の表示メモリ１１５に書き込む。表示メモリ１１５に書き込まれたラスタ画像は、ビューアプログラム１１０の制御によりディスプレイ装置１０３の画面に表示される。
【００４７】
＜ステップＳ１０８＞  ユーザは、ユーザ入力デバイス１０４に含まれるマウス等を利用して、画面上でスクロール操作やズーム操作（ズームイン又はズームアウト）を行うことができる。このような操作に関する情報はビューアプログラム１０１から閲覧制御プログラム１１１に伝えられる。閲覧制御プログラム１１１はスクロール操作等が行われたか監視する（ステップＳ１０８）。スクロール操作等が行われると（ステップＳ１０８，Ｙｅｓ）、閲覧制御プログラム１１１は処理をステップＳ１０２に戻し、ビューアプログラム１１０より与えられた拡大率、表示領域の大きさ及びオフセットに応じて画像表示のために必要な解像度レベルとタイルを改めて決定し、ステップＳ１０３以降の処理を再度実行する。
【００４８】
以上の説明から理解されるように、本実施形態に係る画像処理装置は請求項１に係る発明の一実施例に相当する。また、本実施形態に係る画像処理装置における処理内容は、請求項５に係る発明の一実施例に相当する。
【００４９】
［第２の実施形態］
本発明の画像処理装置を、ＪＰＩＰサーバ上に存在するＪＰＥＧ２０００の符号をＪＰＩＰプロトコルにより受信しながら画像閲覧を行うＪＰＩＰクライアントとして実現する形態について説明する。
【００５０】
図７は、本実施形態を説明するためのブロック図である。図７において、２２０はＪＰＩＰクライアントであり、２２１はＪＰＩＰサーバである。ＪＰＩＰクライアント２２０とＪＰＩＰサーバ２２１は、ＬＡＮやインターネット等のネットワークの回線を通じて接続され、ＪＰＩＰ通信を行う。
【００５１】
ＪＰＩＰクライアント２２０は、例えば図７に示すようなＣＰＵ２００、メインメモリ２０１、ハードディスク装置２０２、ディスプレイ装置２０３、ユーザ入力デバイス（マウス、その他のポインティングデバイスやキーボード等）２０４、ネットワーク・インターフェース２０５を備えるような一般的な構成のコンピュータを利用して実現される。
【００５２】
このコンピュータを本実施形態に係る画像処理装置として動作させるためのプログラムとして、画面表示とそれに関連したユーザとの対話のための処理を担うビューアプログラム２１０と、ＪＰＩＰクライアントとしての処理を担うクライアントプログラム２１１が、ハードディスク装置２０２から読み出されてメインメモリ２０１にロードされ、ＣＰＵ２００により実行される。本実施形態に特有の制御のための機能はクライアントプログラム２１１に実装される。ビューアプログラム２１０とクライアントプログラム２１１は通常、所定のオペレーティングシステム上で動作するものである。ビューアプログラム２１０とクライアントプログラム２１１を統合してもよい。ここに示す例では、符号の復号処理のためのプログラム（ソフトウェア・デコーダ）がクライアントプログラム２１１に含まれるものとするが、ハードウェア・デコーダを備え、これをクライアントプログラム２１１で利用するようにしてもよい。このソフトウェア・デコーダ又はハードウェア・デコーダとして、ＪＰＥＧ２０００の標準的なデコーダを用いることができる。
【００５３】
さて、ＪＰＩＰにはセッション管理という仕組みがある。サーバ側で、クライアント側の符号キャッシュをシミュレートしたキャッシュモデルをセッションの間保持しておくことにより、クライアントが既に受信して符号キャッシュに保持している符号の情報をサーバ側で管理し、クライアントから送信済みの符号を再度要求されたとしても同じ符号を再送信しないように制御する。
【００５４】
したがって、クライアント側では、符号を受信したら必ずそれを復号するようにすれば、どの符号を復号済みであるか否かを管理する必要がない。なぜならば、表示に必要な符号をサーバに要求すると、サーバは、その要求された符号が全て送信済みの場合には符号の含まれないレスポンスを返してくるからである。つまり、レスポンス中に符号が無ければ、復号の必要性はない判断することができる。
【００５５】
しかし、前記第１の実施形態の場合と同様に復号したラスタ画像をラスタ画像キャッシュに貼り付け、ラスタ画像キャッシュから必要な解像度レベルの必要な領域のラスタ画像を切り出して表示するものとすると、レスポンスに符号が含まれないことをもって単純に復号を行う必要がないと判断すると不都合が生じる場合がある。これは、例えば図８に示すようなリクエスト／レスポンス・シーケンスの場合である。
【００５６】
図８において、左側にはクライアント側で受信した符号をサブバンドに分けて示し、右側には、クライアント側で受信した符号を復号したラスタ画像を貼り付けたラスタ画像キャッシュの様子を示している。ここでは、画像は４タイルに分割されているものとしている。以下、このシーケンス例について順に説明する。
【００５７】
図８（ａ）：  まず、クライアントは、画像の４タイルに跨る領域を解像度レベル１で表示するための符号要求をサーバに送信する。この符号要求のレスポンスとしてサーバから解像度レベル１の４タイルの符号を受信して復号し、それを復号したラスタ画像を解像度レベル１のラスタ画像キャッシュに貼り付ける。このラスタ画像キャッシュは全体が埋まったことになるので、画像のどの領域についても解像度レベル１のラスタ画像を切り出して表示することができる。
【００５８】
図８（ｂ）：  次に、クライアントは、画像の上側の２タイルに跨る領域を解像度レベル２で表示するための符号要求をサーバに送信する。この符号要求のレスポンスとして、サーバから解像度レベル２の上側２タイルの符号を受信して復号し、復号したラスタ画像を解像度レベル２のラスタ画像キャッシュに貼り付ける。このラスタ画像キャッシュは、上半分の領域が埋まったことになる。したがって、画像の上半分のどの領域についても解像度レベル２のラスタ画像を切り出して表示することができる。
【００５９】
図８（ｃ）：  次に、クライアントは、画像の下側２タイルに跨る領域を解像度レベル３で表示するための符号要求をサーバに送信する。この符号要求のレスポンスとして、サーバから解像度レベル１〜３の下側２タイルの符号を受信して復号し、復号したラスタ画像を解像度レベル３のラスタ画像キャッシュに貼り付ける。このラスタ画像キャッシュの下側２タイルの領域は埋まったことになる。したがって、画像の下半分のどの領域についても解像度レベル３のラスタ画像を切り出して表示することができる。
【００６０】
図８（ｄ）：  次に、クライアントは、画像の４タイルに跨る領域を解像度レベル２で表示するための符号要求をサーバに送信する。この符号要求に対し、サーバから返されるレスポンスには符号が含まれていない。なぜならば、図８（ｂ）の段階で上半分の２タイルの解像度レベル１，２の符号を送信済みであり、また図８（ｃ）の段階で下半分の２タイルの解像度レベル２の符号を送信済みであるためである。しかしながら、解像度レベル１，２のラスタ画像キャッシュは上半分のみが埋まった不完全なものであるから、４タイルに跨る領域の解像度レベル２のラスタ画像を切り出して表示することは不可能である。
【００６１】
このように、レスポンスに符号が含まれていないからといって復号の必要性がないと判断したのでは、画像を正常に表示することができない場合がある。なお、この場合、クライアント側の符号キャッシュに必要な符号は全て蓄積されているから、例えば、４タイルについて解像度レベル２までの復号処理を行えば、あるいは、下側２タイルについて解像度レベル２までの復号処理を行えば、必要な領域の解像度レベル２のラスタ画像の表示は可能である。
【００６２】
次に、本実施形態に係る画像処理装置であるＪＰＩＰクライアント２２０の動作を、２つの実施例について説明する。実施例１と実施例２とでは上に述べた問題の解決手法に違いがある。
【実施例１】
【００６３】
本実施例におけるＪＰＩＰクライアント２２０の動作を、図９及び図１０に示すフローチャートに沿って説明する。
【００６４】
ＪＰＩＰクライアント２２０のユーザは、ビューアプログラム２１０により提供されるディスプレイ装置２０３の対話画面上で閲覧したい画像を指定することができる。
【００６５】
＜ステップＳ２５１＞  ユーザにより画像が指定されると、クライアントプログラム２１１は、ビューアプログラム２１０より与えられるリソース名（ファイル名）、表示の拡大率、表示領域の大きさ及びオフセットの情報に基づいて符号要求を作成しＪＰＩＰサーバ２２１へ送信する。この符号要求には、画像のリソース名（ファイル名）と、ビューウィンドウリクエストが含まれる。ビューウィンドウリクエストは、解像度レベルを与えるフレームサイズ（ｆｘ，ｆｙ）、フレーム中の表示領域の大きさ（ｓｘ，ｓｙ）、表示領域のオフセット（ｏｘ，ｏｙ）をパラメータとして含むものである（図１１参照）。
【００６６】
ＪＰＩＰサーバ２２１側では、受信した符号要求に含まれるリソース名から送信対象の画像の符号を特定し、その符号のメインヘッダから、原画像のサイズやタイルサイズ、水平方向及び垂直方向のタイル数、解像度レベル数等の情報を把握し（前記第１の実施形態に係るステップＳ１０１参照）、この情報に基づきキャッシュモデルを作成する。
【００６７】
次に、ＪＰＩＰサーバ２２１側では、原画像のサイズとビューウィンドウリクエストで指定されたフレームサイズとから、ＪＰＩＰクライアント２２０側で表示したい解像度レベル（表示解像度レベルと記す）を判断する。例えば、原画像のサイズが５１２画素×５１２画素でフレームサイズが２５６画素×２５６画素であるならば、表示解像度レベルを最高解像度レベルより１つ下の解像度レベルとする。また、先に取得した情報と、ビューウィンドウで指定された表示領域の大きさ及びオフセットに基づいて、表示領域をカバーするタイルを特定する。そして、送信対象の符号から必要な符号（表示解像度レベル以下の特定したタイルの符号（そのタイルパートヘッダを含む）を抽出し、その符号及びメインヘッダをレスポンスに含めてＪＰＩＰクライアント２２０へ送信し、それら符号を送信済みであることをキャッシュモデルに反映させる。
【００６８】
＜ステップＳ２５２＞  ＪＰＩＰクライアント２２０において、クライアントプログラム２１１は受信したレスポンスに含まれる符号（メインヘッダ及びタイルパートヘッダを含む）を、メインメモリ２０１上の符号キャッシュ２１２に保存する。
【００６９】
＜ステップＳ２５３＞  クライアントプログラム２１１は、符号キャッシュ２１２に保存されているメインヘッダから原画像サイズや解像度レベル数を取得し、メインメモリ２０１上に解像度レベル別のラスタ画像キャッシュ２１３を作成し、また、メインメモリ２０１上に、解像度レベル別のラスタ画像キャッシュにラスタ画像が貼り付け済みであるか否かを管理するための管理情報２１４を作成する。ラスタ画像キャッシュは図３に示したようなものであり、この時点では各解像度レベルのラスタ画像キャッシュは空白状態である。管理情報は、図１２に示すような解像度レベルに対応したフラグの配列であり、この時点では全てのフラグはオフ状態にセットされている。
【００７０】
＜ステップＳ２５４＞  クライアントプログラム２１１は、ソフトウェア・デコーダにより、符号キャッシュ２１２に保存されている符号を表示解像度レベルまで復号する。復号されたラスタ画像はメインメモリ２１０上の復号バッファ２１６に一時的に保存される。
【００７１】
＜ステップＳ２５５＞  クライアントプログラム２１１は、表示領域が画像全体であるか否か判定する。具体的には、送信したビューウィンドウリクエスト中のフレームサイズ（ｆｘ，ｆｙ）と表示領域サイズ（ｓｘ，ｓｙ）とが一致し、かつ、表示領域のオフセット（ｏｘ，ｏｙ）が（０，０）のときに、表示領域が画像全体であると判定する。なお、これらのパラメータ値がＪＰＩＰサーバ２２１側で修正される場合があるが、この場合はＪＰＩＰサーバからのレスポンス中のメッセージヘッダに書き換えられたパラメータ値が含まれているため、修正後のパラメータ値に基づいて上記判定を行う。表示領域が画像全体であるとき判定したときは（判定結果Ｙｅｓ）ステップＳ２５７の処理に進み、そうでないときは（判定結果Ｎｏ）ステップＳ２５６の処理に進む。
【００７２】
＜ステップＳ２５６＞  表示領域が画像全体ではない場合、クライアントプログラム２１１は、ステップＳ２５４で復号されて復号バッファ２１６に一時的に保存されているラスタ画像から表示領域のラスタ画像を切り出し、切り出したラスタ画像をメインメモリ２０１上の表示メモリ２１５に書き込む。表示メモリ２１５に書き込まれたラスタ画像は、ビューアプログラム２１０の制御によりディスプレイ装置１０３の画面に表示される。
【００７３】
＜ステップＳ２５７＞  表示領域が画像全体である場合、クライアントプログラム２１１は、ステップＳ２５４で復号されて復号バッファ２１６に一時的に保存されているラスタ画像（表示解像度レベルの画像全体）を、表示解像度レベルに対応したラスタ画像キャッシュ２１３に貼り付ける。
【００７４】
＜ステップＳ２５８＞  クライアントプログラム２１１は、管理情報２１４中の当該表示解像度レベルに対応したフラグをオンにセットする。
【００７５】
＜ステップＳ２５９＞  クライアントプログラム２１１は、表示解像度レベルのラスタ画像キャッシュから表示領域のラスタ画像を切り出して表示メモリ２１５に書き込む。このラスタ画像は、ビューアプログラム２１０の制御によりディスプレイ装置２０３の画面に表示される。
【００７６】
＜ステップＳ２６０＞  ユーザは、ユーザ入力デバイス２０４に含まれるマウス等を利用し、画面上でスクロール操作やズーム操作（ズームイン又はズームアウト）を行うことができる。クライアントプログラム２１１は、スクロール操作等が行われたか監視し、操作が行われるとステップＳ２６１に進む。
【００７７】
＜ステップＳ２６１＞  ユーザによりスクロール等の操作が行われると、クライアントプログラム２１１は、ビューアプログラム２１０より与えられる表示の拡大率により決まる表示解像度レベルに対応した、管理情報２１４中のフラグがオンにセットされているか判定する。当該フラグがオンにセットされているならば（判定結果Ｙｅｓ）、表示解像度レベルのラスタ画像はラスタ画像キャッシュ上に存在するのでステップＳ２６２の処理に進む。そうでなければ（判定結果Ｎｏ）ステップＳ２６３の処理に進む。
【００７８】
＜ステップＳ２６２＞  クライアントプログラム２１１は、ビューアプログラム２１０より与えられた表示領域の大きさ及びオフセットに基づいて、表示解像度レベルに対応したラスタ画像キャッシュ２１３から表示領域のラスタ画像を切り出し、切り出したラスタ画像を表示メモリ２１５に書き込んだ後、ステップＳ２６０に戻る。表示メモリ２１５に書き込まれたラスタ画像は、ビューアプログラム２１０の制御によりディスプレイ装置２０３の画面に表示される。
【００７９】
＜ステップＳ２６３＞  ステップＳ２６１の判定結果がＮｏの場合、クライアントプログラム２１１は、管理情報２１４を参照し、表示解像度レベルより上の解像度レベルに対応したフラグの中でオンに設定されているものがあるか調べる。オンに設定されているフラグがあるならば（判定結果Ｙｅｓ）ステップＳ２６４の処理に進み、そうでないならば（判定結果Ｎｏ）ステップＳ２６６の処理に進む。
【００８０】
＜ステップＳ２６４，Ｓ２６５＞  クライアントプログラム２１１は、ステップＳ２６３でフラグがオンに設定されていると判定された解像度レベル（オンに設定されていると判定されたフラグが複数ある場合は、その中で表示解像度レベルに最も近い解像度レベル）に対応したラスタ画像キャッシュ２１３より表示領域のラスタ画像を切り出し（ステップＳ２６２）、切り出したラスタ画像を表示解像度レベルに対応したサイズに縮小処理を施してから表示メモリ領域２１５に書き込む（ステップＳ２６５）。表示メモリ２１５に書き込まれたラスタ画像はビューアプログラム２１０の制御により画面に表示される。
【００８１】
＜ステップＳ２６６＞  ステップＳ２６３の判定結果がＮｏの場合、クライアントプログラム２１１は、ビューアプログラム２１０から与えられる拡大率、表示領域の大きさ及びオフセットの情報に基づいて作成したビューウィンドウリクエストを含む符号要求をＪＰＩＰサーバ２２１へ送信する。
【００８２】
ＪＰＩＰサーバ２２１側では、符号要求に含まれるビューウィンドウリクエストのパラメータ値及び符号のメインヘッダから取得した情報に基づいて、ＪＰＩＰクライアント側での表示解像度レベル及び表示領域をカバーするタイルを特定する。そして、キャッシュモデルを参照し、送信対象の画像の符号から、表示解像度レベル以下の特定したタイルの符号（タイルパートヘッダを含む）の中で未送信の符号を抽出し、抽出した符号を含むレスポンスをＪＰＩＰクライアント２２０へ送信する。そして、キャッシュモデルを更新する。
【００８３】
＜ステップＳ２６７，Ｓ２６８＞  ＪＰＩＰクライアント２２０において、クライアントプログラム２１１は、ＪＰＩＰサーバ２２１から返されたレスポンスを受信し（ステップＳ２６７）、レスポンスに含まれている符号と符号キャッシュ域２１２に保存されている符号と合成し、合成後の符号を符号キャッシュ２１２に保存する（ステップＳ２６８）。なお、レスポンスに符号が含まれていない場合もあり、この場合はステップＳ２６８をスキップする。
【００８４】
＜ステップＳ２６９＞  クライアントプログラム２１１は、ソフトウェア・デコーダにより、符号キャッシュ２１２内の符号を表示解像度レベルまで復号する。復号されたラスタ画像は復号バッファ２１６に一時的に保存される。
【００８５】
＜ステップＳ２７０＞  クライアントプログラム２１１は、表示領域が画像全体であるか否かの判定を行う。送信したビューウィンドウリクエスト中のフレームサイズ（ｆｘ，ｆｙ）と表示領域サイズ（ｓｘ，ｓｙ）とが一致し、かつ、表示領域のオフセット（ｏｘ，ｏｙ）が（０，０）のときに、表示領域が画像全体であると判定する。これらのパラメータ値がＪＰＩＰサーバ２２１側で修正される場合があるが、この場合はＪＰＩＰサーバからのレスポンス中のメッセージヘッダに書き換えられたパラメータ値が含まれているため、修正後のパラメータ値に基づいて上記判定を行う。表示領域が画像全体であるとき判定したときには（判定結果Ｙｅｓ）ステップＳ２７２の処理に進み、そうでないときには（判定結果Ｎｏ）ステップＳ２７１の処理に進む。
【００８６】
＜ステップＳ２７１＞  表示領域が画像全体ではない場合、クライアントプログラム２１１は、ステップＳ２６９で復号されて復号バッファ２１６に一時的に保存されているラスタ画像から表示領域のラスタ画像を切り出し、切り出したラスタ画像を表示メモリ２１５に書き込む。書き込まれたラスタ画像は、ビューアプログラム２１０の制御によりディスプレイ装置１０３の画面に表示される。
【００８７】
＜ステップＳ２７２，Ｓ２７３，Ｓ２７４＞  表示領域が画像全体である場合、クライアントプログラム２１１は、ステップＳ２６９で復号され復号バッファ２１６に一時的に保存されているラスタ画像（復号解像度レベルの画像全領域のラスタ画像）を、表示解像度レベルに対応したラスタ画像キャッシュ２１３に貼り付け（ステップＳ２７２）、管理情報２１４中の当該表示解像度レベルに対応したフラグをオンにセットする（ステップＳ２７３）。次にクライアントプログラム２１１は、表示解像度レベルのラスタ画像キャッシュから表示領域のラスタ画像を切り出して表示メモリ２１５に書き込み（ステップＳ２７４）、ステップＳ２６０に戻る。表示メモリ２１５に書き込まれたラスタ画像は、ビューアプログラム２１０の制御により画面に表示される。
【００８８】
以上に説明したように、本実施例においては、符号要求に対するレスポンスに符号が含まれているか否で復号の必要性を判断するのではない。表示したい解像度レベル又はそれより高い解像度レベルのラスタ画像がラスタ画像キャッシュ上に存在する場合に、復号及び符号要求の必要性がないと判断する。また、各解像度レベルのラスタ画像キャッシュ２１３には画像全体が貼り付けられるため、復号が必要でないと判断した場合に、どのような表示領域であっても必要なラスタ画像をラスタ画像キャッシュから切り出し、必要に応じて縮小処理することにより表示することができる。
【００８９】
以上の説明から明らかなように、本実施例に係るＪＰＩＰクライアントは、請求項２に係る発明の一実施例に相当する。また、本実施例に係るＪＰＩＰクライアントにおける処理内容は、請求項６に係る発明の一実施例に相当する。
【実施例２】
【００９０】
本実施例によるＪＰＩＰクライアント２２０の動作を、図１３及び図１４に示すフローチャートに沿って説明する。
【００９１】
ＪＰＩＰクライアント２２０のユーザは、ビューアプログラム２１０により提供されるディスプレイ装置２０３の対話画面上で閲覧したい画像を指定することができる。
【００９２】
＜ステップＳ３０１＞  ユーザにより画像が指定されると、クライアントプログラム２１１は、ビューアプログラム２１０より与えられるリソース名（ファイル名）、表示の拡大率、表示領域の大きさ及びオフセットの情報に基づいて符号要求を作成しＪＰＩＰサーバ２２１へ送信する。この符号要求には、画像のリソース名（ファイル名）と、ビューウィンドウリクエストが含まれる。既に説明したように、ビューウィンドウリクエストは、解像度レベルを与えるフレームサイズ（ｆｘ，ｆｙ）、フレーム中の表示領域の大きさ（ｓｘ，ｓｙ）、表示領域のオフセット（ｏｘ，ｏｙ）をパラメータとして含むものである（図１１参照）。
【００９３】
ＪＰＩＰサーバ２２１側では、受信した符号要求に含まれるリソース名から送信対象の画像の符号を特定し、その符号のメインヘッダから、原画像のサイズやタイルサイズ、水平方向及び垂直方向のタイル数、解像度レベル数等の情報を把握し（前記第１の実施形態に係るステップＳ１０１参照）、この情報に基づきキャッシュモデルを作成する。
【００９４】
また、原画像のサイズとビューウィンドウリクエストで指定されたフレームサイズとから、ＪＰＩＰクライアント２２０側で必要としている表示解像度レベルを求める。例えば、原画像のサイズが５１２画素×５１２画素でフレームサイズが２５６画素×２５６画素であるならば、表示解像度レベルを最高解像度レベルより１つ下の解像度レベルとする。また、先に取得した情報と、ビューウィンドウで指定された表示領域の大きさ及びオフセットに基づいて、表示領域をカバーするタイルを特定する。そして、送信対象の画像符号から必要な符号（表示解像度レベル以下の特定したタイルの符号（そのタイルパートヘッダ及びメインヘッダを含む）を抽出し、これをレスポンスに含めてＪＰＩＰクライアント２２０へ送信し、それら符号が送信済みであることをキャッシュモデルに反映させる。
【００９５】
＜ステップＳ３０２＞  ＪＰＩＰクライアント２２０において、クライアントプログラム２１１は受信したレスポンスに含まれている符号（タイルパートヘッダ及びメインヘッダを含む）をメインメモリ２０１上の符号キャッシュ２１２に保存する。
【００９６】
＜ステップＳ３０３＞  クライアントプログラム２１１は、キャッシュしたメインヘッダから原画像サイズや解像度レベル数を取得し、メインメモリ２０１上に解像度レベル別のラスタ画像キャッシュ２１３を作成する。前記実施例１で作成した管理情報２１４のような管理情報は作成しない。ラスタ画像キャッシュ２１３は図３に示したようなものであり、この時点では各解像度レベルのラスタ画像キャッシュは空白状態である。
【００９７】
＜ステップＳ３０４＞  クライアントプログラム２１１は、符号キャッシュ２１２内の符号をソフトウェア・デコーダにより表示解像度レベルまで復号する。復号されたラスタ画像はメインメモリ２１０上の復号バッファ２１６に一時的に保存される。
【００９８】
＜ステップＳ３０５＞  クライアントプログラム２１１は、復号バッファ２１６に一時的に保存されているラスタ画像を表示解像度レベルに対応したラスタ画像キャッシュ２１３に貼り付ける。
【００９９】
＜ステップＳ３０６＞  クライアントプログラム２１１は、表示解像度レベルが最低解像度レベル１ならば（ステップＳ３０６，Ｙｅｓ）ステップＳ３０８の処理に進むが、表示解像度レベルが最低解像度レベル１でないならば、すなわち表示解像度レベルより低い解像度レベルが存在するならば（ステップＳ３０６，Ｎｏ）ステップＳ３０７の処理を実行する。
【０１００】
＜ステップＳ３０７＞  クライアントプログラム２１１は、ステップＳ３０４における表示解像度レベルの復号の対象となったタイルについて、表示解像度レベルより低い各解像度レベルのラスタ画像を生成し、それら各解像度レベルのラスタ画像キャッシュ２１３に貼り付ける。貼り付けるラスタ画像は２つの方法で生成することができる。
【０１０１】
１つの方法は、符号キャッシュ２１２内の符号データに対し、表示解像度レベルより低い各解像度レベルまでの復号処理（縮小デコード）を行って生成する方法である。もう１つの方法は、ステップＳ３０５で表示解像度レベルのラスタ画像キャッシュ２１３に貼り付けられたラスタ画像の縮小処理によって生成する方法である。なお、縮小デコードの場合、可能であれば、表示解像度レベルでの復号対象となったタイル以外のタイル（例えば全タイル）について復号し、復号されたラスタ画像をそのままラスタ画像キャッシュに貼り付けるようにしてもよい。
【０１０２】
＜ステップＳ３０８＞  クライアントプログラム２１１は、表示解像度レベルのラスタ画像キャッシュ２１３から表示領域のラスタ画像を切り出して表示メモリ２１５に書き込む。このラスタ画像はビューアプログラム２１０の制御により画面に表示される。
【０１０３】
＜ステップＳ３０９＞  ユーザは、ユーザ入力デバイス２０４に含まれるマウス等を利用し、画面上でスクロール操作やズーム操作（ズームイン又はズームアウト）を行うことができる。クライアントプログラム２１１は、スクロール操作等が行われたか監視し、操作が行われるとステップＳ３１０に進む。
【０１０４】
＜ステップＳ３１０＞  ユーザによりスクロール等の操作が行われると、クライアントプログラム２１１は、ビューアプログラム２１０より与えられた拡大率、表示領域の大きさ及びオフセットの情報に基づいて作成したビューウィンドウリクエストを含む符号要求をＪＰＩＰサーバ２２１へ送信する。
【０１０５】
ＪＰＩＰサーバ２２１側では、符号要求に含まれるビューウィンドウリクエスト中のパラメータ値及び符号のメインヘッダから取得した情報に基づいて、ＪＰＩＰクライアント側での表示解像度レベルと表示領域をカバーするタイルを特定する。キャッシュモデルを参照し、送信対象の符号から、表示解像度レベル以下の特定したタイルの符号（タイルパートヘッダを含む）の中で未送信の符号を抽出し、その符号を含むレスポンスをＪＰＩＰクライアント２２０へ送信する。そして、キャッシュモデルを更新する。
【０１０６】
＜ステップＳ３１１，Ｓ３１２，Ｓ３１３＞  ＪＰＩＰクライアント２２０において、クライアントプログラム２１１は、ＪＰＩＰサーバ２２１から返されたレスポンスを受信し（ステップＳ３１１）、レスポンスに符号が含まれているならば（ステップＳ３１２，Ｙｅｓ）、その符号を符号キャッシュ２１２内の符号と合成し、合成後の符号を符号キャッシュ２１２に保存し（ステップＳ３１３）ステップＳ３１４の処理に進む。レスポンスに符号が含まれていない場合（ステップＳ３１２，Ｎｏ）、表示に必要なラスタ画像はラスタ画像キャッシュ２１３に貼り付けられており復号の必要がないのでステップＳ３１８の処理に進む。
【０１０７】
＜ステップＳ３１４＞  クライアントプログラム２１１は、ソフトウェア・エンコーダにより、符号キャッシュ２１２内の符号を表示解像度レベルまで復号する。復号されたラスタ画像は復号バッファ２１６に一時的に保存される。
【０１０８】
＜ステップＳ３１５＞  クライアントプログラム２１１は、復号バッファ２１６に一時的に保存されているラスタ画像を表示解像度レベルに対応したラスタ画像キャッシュ２１３に貼り付ける。
【０１０９】
＜ステップＳ３１６，Ｓ３１７＞  クライアントプログラム２１１は、表示解像度レベルが最低解像度レベル１ならば（ステップＳ３１６，Ｙｅｓ）ステップＳ３１８の処理に進むが、表示解像度レベルが最低解像度レベル１でないならば（ステップＳ３１６，Ｎｏ）ステップＳ３１７の処理を実行する。このステップＳ３１７の処理内容はステップＳ３０７の処理内容と同一である。
【０１１０】
＜ステップＳ３１８＞  クライアントプログラム２１１は、表示解像度レベルのラスタ画像キャッシュ２１３から表示領域のラスタ画像を切り出して表示メモリ２１５に書き込む。このラスタ画像はビューアプログラム２１０の制御により画面に表示される。クライアントプログラム２１１の処理はステップＳ３０９に戻る。
【０１１１】
本実施例におけるラスタ画像キャッシュの貼り付け等について図１５により説明する。図１５において、左側にはクライアント側で受信済みの符号が模式的に示され、また、右側に、解像度レベル別のラスタ画像キャッシュへのラスタ画像の貼り付け状態が模式的に示されている。なお、解像度レベル数＝３，水平・垂直方向タイル分割数＝２の符号を想定している。
【０１１２】
図１５（ａ）：  最初に、全タイルに跨る表示領域の解像度レベル１の画像を表示するための符号要求を送信したとする。この符号要求に対するレスポンスで全タイルの解像度レベル１の符号を受信し、それを復号することにより解像度レベル１のラスタ画像キャッシュに４タイル全部のラスタ画像を貼り付ける。
【０１１３】
図１５（ｂ）：  次に、上側２タイルに跨る表示領域の解像度レベル２の画像を表示するための符号要求を送信したとする。この符号要求に対するレスポンスで上側２タイルの解像度レベル２の符号を受信し、その符号とキャッシュされている符号との合成符号を復号することにより上側２タイルの解像度レベル２のラスタ画像を生成し、これを解像度レベル２のラスタ画像キャッシュに貼り付ける。この時、縮小処理又は縮小デコードにより解像度レベル１の上側２タイルのラスタ画像も生成し、これを解像度レベル１のラスタ画像キャッシュに貼り付ける。
【０１１４】
図１５（ｃ）：次に、下側２タイルに跨る表示領域の解像度レベル３の画像を表示するための符号要求を受信したとする。このレスポンスとしては、下側２タイルの解像度レベル１の符号は既に受信しキャッシュされているので、下側２タイルの解像度レベル２，３の符号のみを受信する。この受信した符号とキャッシュしている符号との合成符号を復号することにより下側２タイルの解像度レベル３のラスタ画像を生成し、これを解像度レベル３のラスタ画像キャッシュに貼り付ける。この時、縮小処理又は縮小デコードにより解像度レベル１，２の下側２タイルのラスタ画像も生成し、これを解像度レベル１，２のラスタ画像キャッシュに貼り付ける。なお、解像度レベル１，２では全タイルの符号がキャッシュされているので、縮小デコードにより解像度レベル１，２の全タイルのラスタ画像を生成し、これをラスタ画像キャッシュに貼り付けるようにしてもよい。
【０１１５】
このように、下側２タイルについては解像度レベル２の画像表示のための符号要求は送信していないが、解像度レベル２のラスタ画像キャッシュには画像全体が貼り付け済みの状態となる。
【０１１６】
その後、下側２タイルに跨る表示領域の解像度レベル２の画像表示のための符号要求を送信すると、解像度レベル２の符号は全て送信済みであるため符号の含まれないレスポンスが返される。この場合、復号を必要でないと判断するが、表示に必要なラスタ画像を解像度レベル２のラスタ画像キャッシュから切り出して表示することができる。
【０１１７】
以上の説明から明らかなように、本実施例に係るＪＰＩＰクライアントは請求項３又は４に係る発明の一実施例に相当する。また、本実施例に係るＪＰＩＰクライアントにおける処理内容は請求項７又は８に係る発明の一実施例に相当する。
【０１１８】
また、前記第１と第２の実施形態に係る画像処理装置としてコンピュータを機能させるプログラムは、請求項９に係る発明の実施例に相当する。そのようなプログラムが記録された半導体記憶素子、磁気ディスク、光ディスク、光磁気ディスク等のコンピュータが読み取り可能な各種記録（記憶）媒体は、請求項１０に係る発明の実施例に相当する。
【０１１９】
なお、本発明は、以上に説明した実施形態のみに限定されるものではなく、様々な実施形態をとり得るものである。例えば、前記各実施形態においては領域の単位としてタイルを用いたが、プレシンクトもしくはコードブロックを領域の単位として用いることもできる。
【図面の簡単な説明】
【０１２０】
【図１】第１の実施形態を説明するためのブロック図である。
【図２】第１の実施形態に係る画像処理装置の動作を説明するためのフローチャートである。
【図３】解像度レベル別のラスタ画像キャッシュの説明図である。
【図４】管理情報の説明図である。
【図５】表示領域とそれをカバーするタイルの説明図である。
【図６】解像度レベル別のラスタ画像キャッシュにラスタ画像が貼り付けられた様子を示す図である。
【図７】第２の実施形態を説明するためのブロック図である。
【図８】リクエスト／レスポンスのシーケンス例を説明するための図である。
【図９】第２の実施形態の実施例１に係るＪＰＩＰクライアントの動作を説明するためのフローチャートである。
【図１０】図９に続くフローチャートである。
【図１１】ウィンドウリクエストの説明図である。
【図１２】ラスタ画像キャッシュへのラスタ画像の貼付の有無を解像度レベル毎に管理するための管理情報の説明図である。
【図１３】第２の実施形態の実施例２に係るＪＰＩＰクライアントの動作を説明するためのフローチャートである。
【図１４】図１３に続くフローチャートである。
【図１５】ラスタ画像キャッシュへのラスタ画像貼り付けの説明図である。
【図１６】閲覧画像のズーム操作の説明図である。
【図１７】閲覧画像のスクロール操作の説明図である。
【符号の説明】
【０１２１】
１００  ＣＰＵ
１０１  メインメモリ
１０２  ハードディスク装置
１０３  ディプレイ装置
１０４  ユーザ入力装置
１０５  ネットワーク・インターフェース
１１０  ビューアプログラム
１１１  閲覧制御プログラム
１１２  符号バッファ
１１３  ラスタ画像キャッシュ
１１４  管理情報
１１５  表示メモリ
１２０  サーバ
２００  ＣＰＵ
２０１  メインメモリ
２０２  ハードディスク装置
２０３  ディプレイ装置
２０４  ユーザ入力装置
２０５  ネットワーク・インターフェース
２１０  ビューアプログラム
２１１  クライアントプログラム
２１２  符号キャッシュ
２１３  ラスタ画像キャッシュ
２１４  管理情報
２１５  表示メモリ
２１６  復号バッファ
２２０  ＪＰＩＰクライアント
２２１  ＪＰＩＰサーバ
【図１】
0005141886.tif 000002
【図２】
0005141886.tif 000003
【図３】
0005141886.tif 000004
【図４】
0005141886.tif 000005
【図５】
0005141886.tif 000006
【図６】
0005141886.tif 000007
【図７】
0005141886.tif 000008
【図８】
0005141886.tif 000009
【図９】
0005141886.tif 000010
【図１０】
0005141886.tif 000011
【図１１】
0005141886.tif 000012
【図１２】
0005141886.tif 000013
【図１３】
0005141886.tif 000014
【図１４】
0005141886.tif 000015
【図１５】
0005141886.tif 000016
【図１６】
0005141886.tif 000017
【図１７】
0005141886.tif 000018