JP4125087B2 - 画像処理方法 - Google Patents
画像処理方法 Download PDFInfo
- Publication number
- JP4125087B2 JP4125087B2 JP2002304496A JP2002304496A JP4125087B2 JP 4125087 B2 JP4125087 B2 JP 4125087B2 JP 2002304496 A JP2002304496 A JP 2002304496A JP 2002304496 A JP2002304496 A JP 2002304496A JP 4125087 B2 JP4125087 B2 JP 4125087B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- tile
- image
- input
- encoded data
- 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
Links
Images
Landscapes
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storing Facsimile Image Data (AREA)
- Editing Of Facsimile Originals (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
【発明の属する技術分野】
本発明は、入力した符号化データを復号して表示する技術に関し、例えばISO/IEC-15444に準拠しタイル分割されたJPEG2000符号化データを入力して処理することに関する。
【0002】
【従来技術】
インターネット上では、WWWサーバにWebブラウザからアクセスして、文書データや画像データ等を閲覧することが盛んに行われている。この仕組みは、インターネット上に情報を公開するWWWサーバと、その情報を閲覧するクライアントがインターネットを介して接続されており、クライアントはWebブラウザを使用してサーバ上の情報を閲覧することにより実現されている。このWWWサーバには、ホームページといわれる公開したい情報をHTMLで記述した文書があり、クライアント側のWebブラウザがそれにアクセスしてクライアントコンピュータに表示する。クライアント側のWebブラウザは、表示しているページ内のリンクを辿ってゆき自分が必要な情報を得ることができる。
【0003】
更に、サーバが管理しているファイルをダウンロードする方法として、File Transfer Protocol(以下、FTPと略す)という方法がある。このFTPとは、ネットワークを通して、サーバ上にあるファイルを一度にクライアントコンピュータに転送する仕組みである。また画像データファイルへ断片的にアクセスして表示するためのプロトコルとして、Flashpix/IIPがある。このIIPは、Flashpixという画像データファイルのフォーマットに最適なプロトコルになっており、画像データの部分アクセスの単位はFlashpixのタイル単位に行うものである。
【0004】
一方、このIIPをそのままJPEG2000に適用した場合、JPEG2000の各スケーラビリティの符号化データは、そのスケーラビリティより1つ下のスケーラビリティのデータからの差分データであるため、クライアント側で受信した断片的な符号化データをキャッシュしておく必要がある。
【0005】
【発明が解決しようとする課題】
しかし、これら断片的な符号化データをクライアント側で全て保存しておくと、最終的にクライアントが最高解像度、最高SNRで画像全体をブラウズした場合に、サーバ上のJPEG2000ビットストリームの全データがクライアント側にキャッシュされることとなる。このことは、メモリ容量が小さいクライアントの端末では、画像を閲覧している途中にメモリ容量が溢れ、ユーザの要求に応じた画像表示が不可能になってしまうという問題がある。
【0006】
更に、JPEG2000は差分データであるので、メモリ容量が飽和し、新たに受信したデータが既にキャッシュされていたデータの上に上書きされるような事態が生じると、正確な画像表示(ユーザが望む表示)ができなくなることも起こり得る。
【0007】
本発明は上記従来例に鑑みてなされたもので、断片的に入力される符号化データを効率良くメモリに格納して処理することを目的とする。
【0008】
また本発明の目的は、入力した符号化データをメモリに格納できないと判断すると、既にメモリに格納されている符号化データの内画像表示の点で削除可能な領域の符号化データを優先的に削除することにより、画像表示への影響を少なくして、入力した符号化データをメモリに格納することにある。
【0009】
【課題を解決するための手段】
上記目的を達成するために本発明の画像処理方法は以下のような工程を備える。即ち、
画像を分割したタイル単位でJPEG2000符号化されて断片化された符号化データであって、各タイルの前記符号化データが解像度とレイヤの階層とを有する前記符号化データを断片的に入力する入力工程と、
前記符号化データを格納するためのメモリに格納するデータ量の上限値、及び前記メモリに格納されているデータ量、及び前記入力工程で入力した前記符号化データのデータ量を基に、前記入力工程で入力した前記符号化データを前記メモリに格納可能かどうかを判定する判定工程と、
前記タイル単位に予め割り当てられた削除の優先度及び前記画像の注目領域に基づいて、当該注目領域が削除対象から除外されるように削除対象となるタイルを決定する領域決定工程と、
前記判定工程で格納不能と判定された場合、前記メモリに格納されているデータの内、前記領域決定工程で決定された前記削除対象となるタイルの符号化データに含まれる、解像度レベル0、レイヤ1を除くJPEG2000の符号化データを前記タイル単位で削除する削除工程と、
前記判定工程で前記メモリに格納可能と判定された場合、或は前記削除工程で符号化データが削除された後、前記入力工程により入力された前記符号化データを前記メモリに格納させる制御工程と、を有することを特徴とする。
【0010】
【発明の実施の形態】
以下、添付図面を参照して本発明の好適な実施の形態を詳細に説明する。
【0011】
[実施の形態1]
図1は、本実施の形態を実現するシステムの概略を示した図である。
【0012】
図において、CPU101は、システム全体の動作を制御し、一次記憶102に格納されたプログラムの実行などを行う。一次記憶102は、主にメモリ(RAM)であり、二次記憶103に記憶されたプログラムなどを読み込んで格納する。二次記憶103は例えば、ハードディスクなどがこれに該当する。一般に一次記憶102の容量は二次記憶103の記憶容量よりも小さく、一次記憶102に格納しきれないプログラムやデータなどは二次記憶103に格納される。また、長時間記憶しなければならないデータなども二次記憶103に格納される。本実施の形態では、プログラムを二次記憶103に格納し、そのプログラムの実行時に一次記憶102に読み込んでCPU101が実行して処理を行う。
【0013】
104は入力デバイスで、例えば、ポインティングデバイスであるマウスやキーボードなどがこれに該当する。この入力デバイス104は、プログラムなどに割り込み信号を送ったりするのに用いられる。出力デバイス105は例えば、モニタ(表示部)やプリンタなどが考えられる。この装置の構成方法は他にも様々な形態が考えられるが、これらは本実施の形態における主眼ではないので、ここではそれらの説明を省略する。
【0014】
図2は、本実施の形態を実現するネットワークシステムの概略を説明する概念図である。
【0015】
ユーザ201、ユーザ202はそれぞれ各ユーザの端末を表わしており、それぞれ図1で説明した構成を備えている。ユーザ201又は202のような複数のユーザが、有線、無線を問わず、ネットワーク203を介してサーバ204と通信することが可能である。サーバ204は画像ファイルを蓄積する大容量の記憶装置205を持っている。この大容量の記憶装置205は、例えばハードディスクや磁気ディスク、磁気テープなどがこれに該当する。この記憶装置205には、JPEG2000符号化方式により符号化された画像データが数多く格納されている。この様な構成において、ユーザ201,202(クライアント)は、サーバ204が格納しているJPEG2000の符号化データから断片化されたデータを受信し、保存することができる。
【0016】
本実施の形態では、クライアントが、既に生成済みのJPEG2000符号化データファイルのデータを断片的に受信してそれをキャッシュし、それらキャッシュした符号化データを削除する方法について説明する。
【0017】
ユーザ(クライアント)は、ウインドウズ(Windows:登録商標)マシンを使用してホームページを開き、そこに書かれているJPEG2000の画像へのリンクをクリックする。これにより、JPEG2000の画像を、ユーザの用途に適した画像サイズや解像度で表示するために必要な断片的なデータを取得し、それらのデータをキャッシュする。そして、キャッシュしたデータ量が、ユーザのキャッシュ容量に応じて設定されたある制限値を越えると、キャッシュマネージャのような働きを持つプログラムが動作して、ユーザのキャッシュデータを削除する場合で説明する。
【0018】
まず、図3を用いて一般的なJPEG2000の符号化データを説明する。
【0019】
図3は、Layer-resolution level-component-position progression(以下、LRCPと記す)に沿って記録されたJPEG2000ファイルの構成を示す図である。
【0020】
LRCPに準じた場合、layer(レイヤ)/resolution(解像度)/component(コンポーネント)/position(位置)の順に記録される。このようなデータの並び方はプログレッションオーダ(progression order)と呼ばれる。解像度(画像サイズ)とResolution番号との関係を図4に示す。
【0021】
図4に示すように、最も小さい解像度の画像のresolution番号を「0」とし、resolution番号が一つ増加するごとに画像の幅と高さが倍になっている。また、各レイヤ(layer)内は、resolution番号の小さい順にデータが格納されている。レイヤ番号は復元する画像の原画に対するS/N比に対応し、レイヤ番号が小さいほどS/N比が悪くなる。一つのJPEG2000ファイル内でのresolution番号とレイヤ番号、コンポーネント番号の最大値は、エンコーダによって予め設定され、そのパラメータに従ってエンコードされており、その情報は符号化データの中に格納されている。
【0022】
各パケット(packet)は、そのパケットに格納されているコードブロック(code-block)の情報を管理しているパケットヘッダ(packet header)部と、各コードブロックの符号化データから構成されている。
【0023】
このようなJPEG2000符号化データを使えば、ユーザはサーバにある全ての画像データを取得せずに、必要な部分の画像データのみをサーバから受信することが可能である。ここで、ユーザが受信できるデータの単位としては、JPEG2000のパケット、或はパケットよりも更に小さい符号化単位であるコードブロック単位が考えられる。本実施の形態では、ユーザがサーバから受信するデータ単位として、パケットを想定する。
【0024】
図5は、ユーザとサーバ間における、パケット単位でのリクエストおよびレスポンスを説明する概念図である。
【0025】
ユーザ501は、サーバ502に画像のタイル番号と解像度番号(resolution level)とレイヤ、コンポーネント、ポジションの番号を指定して、データを要求する。図5の例では、この要求は、タイル番号「1」、解像度番号「0」、レイヤ「1」、コンポーネント「0」、そしてポジション「0」を含んでいる。
【0026】
これに対しサーバ502は、その指示された画像503のコードストリームを解析して、指定されたタイル番号、resolution levelとレイヤ、コンポーネント、ポジション番号に相当するパケットデータ(タイル1のパケット0のデータ)を抜き出してユーザ501に送り返す。
【0027】
本実施の形態では、サーバ502にあるオリジナル画像は、最大解像度サイズ2048×2048[画素]で、8×8からなる64個のタイルに分割されており、コンポーネント数が「3」で、解像度レベル3(resolution level 3)、即ち、4つの画像サイズ方向の階層を持っており、二つのレイヤに分けられていると仮定する(図7参照)。それぞれのタイルには図6(A)に示すように、左上のタイルからシーケンスな番号が振ってある。従って、サーバ502側には、図7の701で示すようなデータが保存されている。
【0028】
図6(A)〜(D)は、各解像度レベル(0〜3)に対応したタイルの分割例を示す図、図7は、サーバ502におけるJPEG2000符号化データの構成を説明する図である。
【0029】
[タイル単位でのデータの削除]
クライアント501では、受信した符号化データのキャッシュに利用できるキャッシュメモリのメモリ容量を予め把握しておき、サーバ502から送られてきた断片的なJPEG2000ビットストリームのキャッシュデータのデータ量が、キャッシュメモリの容量を越える前にビットストリームを消去する。
【0030】
この動作を図8のフローチャートを用いて説明する。図8は、クライアント501における受信データのキャッシュ処理を示すフローチャートである。
【0031】
まずステップS801で、画像の種類を特定し、その画像の内の優先的にデータを消去する領域Rをタイルを単位で決定する。例えば、カタログなどの画像である場合は、その画像の中心部に商品が配されていることが多い。従って、そのような画像の場合には、その画像の中心部の領域を優先的にキャッシュして保存する領域とし、例えば図9(A)の斜線部分901で示すような周辺領域を、優先的にデータを消去する領域として設定する。
【0032】
図9(A)乃至(C)は、画像内において優先的にデータを消去する領域の一例を示す図である。
【0033】
画像の種類によっては、図9(B)の両サイド902や、或は図9(C)の上下サイド903に示すように、画像の両脇部分、或は上部及び下部が優先的なデータ削除領域として設定されることもあり得る。尚、画像の種類を特定する方法としては、サイトの情報やサーバ502からの通知など様々考えられるが、本件の趣旨ではないので省略する。
【0034】
次にステップS802に進み、クライアント501の端末のメモリ容量を取得し、キャッシュデータの削除を行うか否かを判断するためのスレッショルド値(容量)を決める。つまり、受信したJPEG2000のパケットデータのキャッシュに利用するメモリ容量を決定する。キャッシュ可能なメモリ容量の100%を利用する場合には、スレッショルド値とキャッシュメモリの容量が等しくなる。しかし、そのメモリ内に、JPEG2000の断片的な符号データ以外も保存する場合や、同じシステムで複数のJPEG2000の符号データを扱う場合には、使用できるメモリ容量よりも小さな値に設定するのが望ましい。例えば、3Mバイトのメモリ容量に対して、この画像に対するキャッシュ容量のスレッショルド値として2Mバイトの値を設定する。このキャッシュ容量のスレッショルド値を決める場合、ハードディスクなどの2次記憶媒体でもよいが、本実施の形態では、説明を簡単にするために、一次記憶102のメモリサイズを基準としてスレッショルドを決めるものとする。
【0035】
次にステップS803に進み、受信した断片化されたJPEG2000符号化データのバイト数を取得する。次にステップS804に進み、ステップS803で取得した、受信したバイト数をキャッシュすると、ステップS802で設定されたスレッショルド値を越えるかどうかを判断する。つまり、スレッショルド値から現在のキャッシュされているデータ量を引いた値よりも、ステップS803で取得したデータ量の方が大きければスレッショルド値を越えると判断し、そうでなければスレッショルド値を越えないと判断する。スレッショルド値を越えるようであればステップS805に進み、越えないようであればステップS806へ進む。
【0036】
ここでは例えば、既にキャッシュされているJPEG2000のパケットデータのデータ量が1.95Mバイトで、ステップS803において今回受信した符号化データの量が120kバイトであれば、その合計値がスレッショルド値(2Mバイト)を越えるのでステップS805へ進む。ステップS805では、キャッシュデータの中から、JPEG2000のタイル(Tile)単位でデータを削除し、ステップS803で受信した符号化データを全てキャッシュしても、キャッシュデータの容量をスレッショルド値以下に抑えるようにしている。
【0037】
例えば、ステップS803で受信した符号化データの量が120kバイトで、スレッショルド値が2Mバイトであれば、ステップS805では、キャッシュデータの量が2−0.12=1.88[kバイト]以下になるまで、キャッシュしている符号化データをタイル単位で削除する。尚、ここでは、優先的にデータを消去するタイルから消去していく。次にステップS806に進み、ステップS803で受信した符号化データをキャッシュする。そしてステップS807に進み、この画像に対する要求が終了したか否かを判断する。終了していなければステップS803へ戻り、次の符号化データの受信を待つ。要求が終了していればこのキャッシュルーチンを終了する。
【0038】
図10は、図8のステップS805のキャッシュデータの削除処理を示すフローチャートである。以下、この処理を説明する。
【0039】
まずステップS1001で、削除すべきデータ量Yを取得する。例えば、ユーザが既に、画像全体をresolution level 1の最大SNRで表示していたとすると、全タイルのresolution level 0,resolution level 1を構成するパケットデータがキャッシュの中に入っていることになる。つまり、図7に示すヘッダ部分701、各タイルのヘッダデータ707、resolution level 0を構成するパケット群704、及びresolution level 1を構成するパケット群705が、クライアント側のキャッシュメモリには保存されていることになる。今、これらのデータを合わせた合計のデータ量が1.95Mバイトであり、スレッショルド値が2Mバイトで、受信した符号化データ量が120kバイトであった場合、削除すべきデータ量Yは、Y=1.95+0.12−2.0=0.07[Mバイト]=70[kバイト]として求められる。つまり、70kバイト以上のキャッシュデータを削除する必要があることになる。
【0040】
そこで次にステップS1002に進み、図8のステップS801で得られた画像情報より、データ削除領域Rを取得する。ここでは例えば、ステップS801で得られた情報により、図9(A)の901で示すように、画像の最も外側のタイル部分をデータ削除領域Rとして指定する。
【0041】
次にステップS1011に進み、現在の注目領域Fを取得する。つまり、現在出力デバイス105の表示部に表示されている領域を注目している領域として、取得する。次にステップS1003に進み、ステップS1002で求めたデータ削除領域Rに含まれるタイルに対して、そのタイルデータを削除する順番を決定する。但し、注目領域Fとデータ削除領域Rが重なっている場合には、その重なっている部分のタイルは削除対象領域から外す。この決定方法は、本実施の形態の場合、ステップS801により得られた画像の種類に基づいて決定される。
【0042】
いま、図6(A)に示す四隅のタイル番号が「18」,「21」,「42」,「45」のタイルで囲まれる16個のタイルで構成される領域601が現在の注目領域Fであり、その外側の各タイルが、図9(A)の901で示す矢印の方向に時計回りで削除されると決定されたとする。図6(A)において、タイル番号「0」〜「7」,「15」,「23」,「31」,「39」,「47」,「55」,「63」〜「56」,「48」,「40」,「32」,「24」,「16」,「8」というタイルの順番に、X=1,2,…,28という番号を付す。ここでもし、注目領域Fが図6(A)に示す四隅のタイル番号が「2」,「5」,「26」,「29」で囲まれる領域604であれば、タイルデータを削除する順番は、タイル「2」〜「5」を除いて、タイル番号「0」,「1」,「6」,「7」,「15」,「23」,「31」,「39」,「47」,「55」,「63」〜「56」,「48」,「40」,「32」,「24」,「16」,「8」という順番に、X=1,2,…,24という番号を付すことになる。
【0043】
次にステップS1004に進み、データの削除順を示す変数Xに「1」を代入し、更に、削除されたデータサイズを計算する変数Delに「0」を入れて初期化する。次にステップS1005に進み、Xの番号が振られているタイルのデータをresolution level 0,レイヤ1の各コンポーネントに対応するパケットデータを除いて全て削除する。例えば、番号「0」のタイル(タイル0)のキャッシュデータが図11の1101で表されるとき、X=1であれば、タイル0のキャッシュデータの中からresolution level 0,レイヤ1を構成する3つのパケット1102を除く、1103と1104で示す9個のパケットを削除することになる。次にステップS1006に進み、ステップS1005で削除したパケットのデータ容量を変数Delに足す。例えば、図11に示すような、タイル0を削除した9個のパケットデータのデータ量が55kバイトであれば、変数Delの値は、Del=0+55=55kバイトに更新される。
【0044】
次にステップS1007に進み、削除すべきデータ量Yと、削除されたデータ量である変数Delの値とを比較し、データ量Yよりも削除されたデータ量Delの値が大きければ、このデータ削除処理を終了する。
【0045】
一方、ステップS1007で、削除すべきデータ量Yに対して削除したデータ量Delの値が小さければステップS1008へ進む。即ち、例えば、削除すべきデータ量Yが70kバイトで、削除されたデータ量(Del)が55kバイトである場合には、まだ、削除しなくてはならないのでステップS1008へ進むことになる。ここでは例えば、次の削除対象タイル1に対して上記の処理を行い、その結果、削除したデータ量が50kバイトであった場合は、変数Delの値が、Del=55+50=105kバイトとなる。これによりY=70kバイト以上の値になり、このデータ削除の処理を終了することになる。
【0046】
ステップS1008では、削除番号を示す変数Xと削除領域Rのタイル数Nとを比較し、タイル数Nよりも変数Xの方が小さければステップS1009に進んで変数Xを+1し、そうでなければステップS1010へ進む。つまり、ステップS1008では、設定されたデータ削除領域Rのタイルの符号化データが全てresolution level 0,レイヤ1のデータのみになってしまったかを判断し、まだデータ削除の順番が来ていないタイルがあればステップS1009へ進み、ステップS1008で、領域R内の全てのタイルデータを削除していたらステップS1010へ進む。ステップS1009では、変数Xに1を加えて削除領域R内の次のデータ削除対象のタイルを特定する。一方、ステップS1010では、新たな削除領域Rを設定し直す。例えば、最初に設定された削除領域Rが図9(A)の901で示されたように一番外側のタイルで構成されていた場合は、その内側のタイル、つまり、図6(A)の枠601と枠603で囲まれるタイルで構成される領域を新たな削除領域Rとして設定する。
【0047】
このようなキャッシュデータの削除方法を採用することにより、画像の種類に基づいて、予め分かっている重要なデータ領域のタイルデータが保持され、必要の度合いが低いタイルデータだけを削除できる。また、タイル毎に一番データ量の少ないresolution level 0,レイヤ1のデータ以外のパケットデータを一度に削除するため、一度で大きなキャッシュ容量を空けることが可能になり、削除データ量の計算による負荷が軽減される。
【0048】
また、各タイルのresolution level 0,レイヤ1のデータを削除せずに保持しておくことで、全くデータが存在しないタイルがなくなる。これにより、より高解像度の画像が要求されても、保持している符号化データからデコードされた画像を一時的に拡大して表示でき、その部分の画像表示の要求後、しばらく、そのタイルの部分の画像が全く表示されないということがない。またいつでも、画像全体を把握できる画像をすぐに表示できる。例えば、削除領域Rに、番号が「0」〜「5」のタイルが含まれており、図13(A),(B)に示すように各タイルデータのresolution level 2までのデータを保存していたとする。
【0049】
図13(A)は、各タイル番号に対応した符号化データのデータ量を、解像度レベルとレイヤに分けて示した図であり、図13(B)は、各解像度レベル、レイヤに対応する、1つのタイルデータのキャッシュデータ量と、削除したいデータ量を説明する図である。
【0050】
番号「0」〜「5」のタイルに関しては、この順番にキャッシュデータが削除されるとき、120Kバイトのデータを削減するためには、図14(A)に示すように、番号が「0」〜「2」の3個のタイルのデータ1401を削除するため、165kバイト(=55×3)を削除することになる。
【0051】
尚、タイルデータを削除する順番は、上記実施の形態で示したものに限るものではなく、それ以外の順番で行ってもよいことはもちろんである。
【0052】
この構成は、入力した符号化データを復号して表示する画像処理装置であって、画像データを構成する断片化された符号化データを入力する入力手段と、符号化データを格納するためのメモリに格納するデータ量の上限値を設定する上限値設定手段と、前記メモリに格納されているデータ量と前記上限値及び前記入力手段で入力した符号化データのデータ量を基に、前記入力手段により入力した符号化データを前記メモリに格納可能かどうかを判定する判定手段と、前記画像データにおける削除対象領域を決定する領域決定手段と、前記判定手段により格納不能と判定されると、前記メモリに格納されているデータの内、前記領域決定手段により決定された前記削除対象領域に含まれるデータを前記断片化されたデータの単位で削除する削除手段と、前記判定手段により前記メモリに格納可能と判定された場合、或は前記削除手段により前記データが削除された後、前記入力手段により入力された前記符号化データを前記メモリに格納するように制御する制御手段とを有する画像処理装置により特徴付けられる。
【0053】
またメモリは、キャッシュメモリである。
【0054】
また入力手段は、サーバより送信される断片化された符号化データを受信して入力する。
【0055】
[実施の形態2]
[特定したタイルのパケット単位でのデータ削除]
前述の実施の形態1では、予め取得した画像の種類の情報から、必要の度合いが低い領域を予測し、その領域内からタイルを1枚ずつ選び出し、その選んだタイルの中のresolution level 0,レイヤ1のデータを除いた全てのパケットデータを削除した。しかし、特定のタイルに含まれるresolution level 0,レイヤ1を除く全てのパケット単位ではなく、領域内に含まれる全てのタイルに対して全体的なSNRや解像度を低くし、データ量を削減する方法も考えられる。この場合に前述の実施の形態1と異なるのは、図10で示したキャッシュデータの削除処理におけるステップS1003以下である。
【0056】
以下、本実施の形態2に係るキャッシュデータの削除処理について図12を参照して説明する。尚、この図12において、図10と同じ動作をするステップには図10と同じ番号を付して、その説明を省略する。
【0057】
ステップS1001、ステップS1002は、前述の実施の形態1と同様の動作をする。ステップS1201において、削除されたデータサイズを計算する変数Delに「0」を入れて初期化する。次にステップS1003では、前述の実施の形態1と同様に、データ削除領域R内の各タイルにデータを削除する順番を付ける。
【0058】
次にステップS1202に進み、削除領域Rで最も解像度の高いタイル群TRを特定する。例えば、ユーザが既に、画像全体をresolution level 1の最大SNRで表示していたとすると、全タイルのresolution level 0,resolution level 1を構成するパケットデータがキャッシュの中に入っている。つまり、図7に示すヘッダ部分701、各タイルのヘッダデータ707、resolution level 0を構成するパケット群704、及びresolution level 1を構成するパケット群705がクライアント501のキャッシュメモリには保存されていることになる。尚、ここでも、データ削除領域Rとして、図9(A)の901に示すように、画像の最も外側のタイル部分が指定されているとする。データ削除領域Rに含まれるタイルは全て同じresolution level 1の解像度までのデータがキャッシュされているので、ステップS1202で特定されるタイル群TRと領域Rは同じになり、タイル群TRは、番号「0」〜「8」,「15」,「16」,「23」,「24」,「31」,「32」,「39」,「40」,「47」,「48」,「55」〜「63」の28枚のタイルで構成される。
【0059】
次にステップS1203に進み、タイル群TRの中で、最初に削除されるタイル番号TXを特定する。例えば、図6(A)に示す番号「18」,「21」,「42」,「45」のタイルで囲まれる領域601が現在の注目領域であり、図9(A)の901で示す矢印の方向でデータの削除を行う順番をつけた場合を説明する。
【0060】
図6(A)では、タイル番号「0」〜「7」,「15」,「23」,「31」,「39」,「47」,「55」,「63」〜「56」,「48」,「40」,「32」,「24」,「16」,「8」という順番にデータを削除すると、最初に削除するタイル番号TXとして番号「0」が特定される。もし反対に、タイルデータを削除する順番が、タイル番号「8」,「16」,「24」,…というように反時計回りであれば、タイル番号TXとして「8」が特定される。
【0061】
次にステップS1204に進み、ステップS1203で特定されたタイル番号TXで指示されるタイルの最高解像度のデータを削除する。例えば、タイル番号TXが「0」であり、この番号「0」のタイルデータとして、図11の1101で示すように、resolution level 0及びresolution level 1を構成するデータが保存されている場合には、その中の1103で示されるresolution level 1を構成する6個のパケットを削除する。もし、タイル番号TXに対応するタイルに含まれるデータがresolution level 0を構成するデータのみであれば、resolution level 0,レイヤ1を構成する3個のパケット、つまり、パケット1102を除いたパケットデータを削除する。
【0062】
次にステップS1006に進み、前述の実施の形態1と同様に、削除したデータ容量を変数Delに足す。そしてステップS1007では、実施の形態1と同様に、削除すべきデータ量Y以上のデータを削除したかどうかを判断する。Y<Delで、十分なデータ量を削除したと判断すると処理を終了し、まだデータを削除する必要があればステップS1205へ進む。ステップS1205では、ステップS1203で特定されたタイル群TRから、ステップS1204で特定された番号TXのタイルを除き、直前にキャッシュデータを削除したTXに対応するタイルを優先的なデータ削除候補のタイル群TRから除外する。例えば、上述した28枚のタイルから構成されるタイル群TRの中から、番号「0」のタイルデータがステップS1204で削除された場合、そのタイル群TRから番号「0」のタイルが外されてタイル群TRに含まれるタイル数は27枚に減少する。
【0063】
次にステップS1206に進み、優先的なデータ削除候補のタイル群TRに、削除候補のタイルがまだ残っているかどうか判断する。まだ、タイル群TRに優先的に削除する候補のタイルが残っていればステップS1203へ戻り、残っていなければステップS1207へ進む。
【0064】
この処理を具体的に説明すると、例えば、最初に優先的にデータを削除する候補のタイル群TRが、上述したように28枚のタイルで構成されていれば、そのタイル群TRに対して、ステップS1205を28回実行すると、タイル群TRにの残存するタイル数が「0」となり、削除領域Rの最高resolution level数が一つ低下することになる。
【0065】
次にステップS1207では、削除領域Rに含まれる全てのタイルのキャッシュデータがresolution level 0,レイヤ1を構成するパケットデータのみになったのかどうかを判断する。全てのタイルがresolution level 0,レイヤ1となっている場合は、もうその領域Rでは、削除できるタイルデータが存在しないので新たな削除領域Rを設定する必要がある。そこで、このステップS1207で新たな削除領域Rの設定が必要な場合はステップS1010へ進む。一方、ステップS1207で、まだ削除できるデータが削除領域Rに残っていればステップS1202へ戻る。
【0066】
この処理を具体的に説明すると、例えば、削除領域Rに番号「0」〜「5」のタイルが含まれており、図13(A),(B)に示すように、各タイルデータとして、resolution level 2までのデータを保存していたとする。
【0067】
番号「0」〜「5」のタイルに関しては、このタイル番号の順番にキャッシュデータが削除されるとき、120kバイトのデータを削減するためには、番号「0」〜「3」までのタイルのresolution level 2のデータ1402(図14(B))の120kバイトを削除することになる。
【0068】
本実施の形態2では、削除領域Rに含まれる全てのタイルから、解像度の高いほうから少しずつデータを削除する。従って、削除領域Rに含まれる領域を閲覧しても、その領域に含まれるタイルのデータが多く残っている可能性が高くなり、サーバ502に要求するパケットデータの数を削減することも可能になる。
【0069】
また、本実施の形態2では、削除領域R内のデータを解像度の高いほうから削減する場合で説明したが、SNR方向に削減する方法でも本質的には同様である。その場合、ステップS1202において特定されるタイル群TRは、最もSNRが高い、即ち、キャッシュされているレイヤが多いタイルの集合である。またステップS1204で削除されるデータは、TXの中で最高SNRのタイルデータが削除される。例えば、番号TXのタイルのキャッシュデータとして、図11の1101で示すような12個のパケットが保存されているとすると、キャッシュデータの中で最も高いSNRのデータが削除されるので、1105で示すresolution level 1,レイヤ2を構成する3個のパケットと、1104で示すresolution level 0,レイヤ2を構成する3個のパケットの合せて6個のパケットが削除されることになる。
【0070】
また或は、解像度の高いほうからタイルデータを削除する場合の削除するデータ量と、SNRの高いほうからデータを削除する場合における削除するデータ量とを比較し、削除するデータ量がより多い方の方法により削除する方法でも本質的には同様である。例えば、図11の1101で示すような12個のパケットが保存されているとすると、解像度の高いほうからタイルデータを削除する場合には、1103で表される6個のパケットデータを削除し、SNRの高いほうからデータを削除する場合には、1104で表される3個のパケットと、1105で表される3個のパケットとを合わせた6個のパケットを削除することになる。そこで、この場合には、解像度に応じた場合に削除される1103で示す6個のパケットのデータ量と、SNRに応じた場合に削除される1104と1105とを合わせた6個のパケットのデータ量とを比較し、削除されるデータ量が多い方の方式でパケットを削除することとなる。
【0071】
これにより、前述の削除手段は、メモリに既に記憶されているデータ量と、上限値及び前記入力手段により入力した符号化データのデータ量を基に、削除すべきデータ量を算出することを特徴とするものである。
【0072】
[実施の形態3]
[JPEG2000画像のROIを考慮した削除方法]
前述の実施の形態1及び2では、画像の種類を取得し、その種類に基づいて、画像データの削除領域Rを決定していた。この方法は、特別な計算も必要とせず、自動的に削除領域Rの決定が行える利点がある。しかし、画像の種類だけから自動的に削除領域Rを決めることができる画像は、カタログ用の画像など非常に限定されてしまい、一般の画像に当て嵌めることは難しい。それに対して、予めJPEG2000ビットストリームにおいて、領域ROIが指定されている領域を重要な領域と位置付け、それ以外の領域を削除領域Rと決めることも可能である。この場合のクライアントにおける処理の流れを図15のフローチャートを用いて説明する。
【0073】
本実施の形態3では、前述の実施の形態1、2と同様に、サーバ502にあるオリジナル画像は、最大解像度サイズ2048×2048[画素]、8×8の64タイルに分割されており、コンポーネント数が「3」で、resolution level 0〜resolution level 3、即ち、4つの解像度レベル(画像サイズ)に対応する階層を持っており、2つのレイヤに分けられていると仮定する。それぞれのタイルには図6(A)に示すように、左上のタイルからシーケンスな番号が振ってある。従って、サーバ502には、図7の701で示すようなデータが保存されている。
【0074】
この実施の形態3が前述の実施の形態1或は2と異なるのは、削除領域Rを決定するために、デコーダからROI領域を取得する部分のみである。従って、本実施の形態3のクライアント501の動作を示す図15のフローチャートにおいて、前述の図8のフローチャートと同様の処理を行う部分には同じ番号を付して、その説明を省略する。
【0075】
まずステップS1501で、実施の形態1及び2のステップS802と同様に、クライアント501のメモリ容量を取得し、キャッシュデータの削除を行うか否かを判断するスレッショルド値を決める。つまり、今回のJPEG2000の受信したパケットデータのキャッシュに利用するメモリ容量を決定する。例えば、メモリ容量が3Mバイトの場合に、この画像に対するキャッシュのスレッショルド値として2Mバイトを設定する。ステップS1502では、クライアント501の画像の表示領域の大きさを取得する。ステップS1503では、表示領域に納まる画像サイズをもつ解像度の画像を構成するデータを、サーバ502に要求する。例えば、ステップ1502で取得した画像の表示領域が512×512[画素]であれば、図6(C)のresolution level 1の画像605がちょうど納まるので、resolution level 1を構成するデータを要求する。次にステップS1504に進み、ステップS1503の要求に応答して、サーバ502から送られた画像データを受信して保存する。従って、resolution level 1の最大SNRであるレイヤ2の画像を要求した場合には、図7に示す画像のヘッダ部分703と各タイルのタイルヘッダ707と各タイルのresolution level 0、レイヤ2の画像データ、及びresolution level 1、レイヤ2の画像データがキャッシュされる。
【0076】
次にステップS1505に進み、ステップS1503の要求により得られたデータから画像をデコードして表示すると共に、ROI領域がどこであるかを特定する。これは、ROIの領域情報は符号化データの中に独立した情報として格納されていないため、実際にJPEG2000のデコーダ使って復号してみないと判断できないためである。このような復号処理をタイル単位で実行することにより、このタイル内にROI領域があったかどうかを判断できる。ちょうどステップS1503では、画像全体が表示領域に表示されるような解像度データを要求しているので、画像全体を一度デコードすることになり、ROI領域がどこであるか、その時点で特定できる。
【0077】
例えば、図16(A)に示すように、ROI領域として、番号「27」、「29」、「43」、「45」で囲まれる9枚のタイルで構成される領域1603が特定される。ステップS1506では、キャッシュデータの削除領域Rを設定する。本実施の形態3では、ROI領域のキャッシュデータを残し、それ以外のデータを削除するので、ステップS1505で得られたROI領域を含むタイル以外のタイル部分が削除領域Rとして設定される。但し、ROI領域以外の部分が、ユーザの注目領域である場合には、その領域は削除領域Rから外される。例えば、図16(A)のresolution level 3の画像の左上の4個のタイル1604で示される部分をユーザが拡大して見ている場合には、番号「0」,「1」,「8」,「9」の4個のタイルは、削除領域Rから除外される。
【0078】
更に、ユーザのスクロール操作を考慮した場合、注目領域1604、或はROI領域1603の外側のタイル部分を含む1605、或は1606の領域までをキャッシュデータに保存する領域とし、それら領域を除いたタイル部分を削除領域Rとして設定する。次にステップS1507では、この画像に対する閲覧をクライアント501が終えたかどうかを判断する。この画像に対する閲覧が終わったなら、このフローを終了する。ここでまだ閲覧要求がある場合にはステップS803へ進む。ステップS803以降は実施の形態1と同様の動作をする。
【0079】
また、ROI領域を取得する方法は、このフローに限るものではない。例えば本実施の形態3では、ステップS1503において、クライアント501の表示部に画像全体を表示するように要求しているので、結果的にステップS1505において、画像全体を一度デコードすることで、ROI領域が画像全体のどのタイルの部分に存在するのか判断している。しかし、最初に表示するのは画像の部分領域でも良い。この場合、部分領域をタイル単位でデコードすることで、表示する部分領域の各タイルにROI領域が含まれているか判断することができ、この情報を利用してキャッシュデータを削除することも可能である。
【0080】
またデータの削除単位としては、前述の実施の形態1のように、タイル単位でresolution level 0,レイヤ1を構成するパケットデータ以外のデータを削除していく方法と、前述の実施の形態2のように、削除領域Rのデータを解像度の高いほうから、又はSNRの高いほうから少しずつデータを落していく方法のどちらも実現できる。
【0081】
また、前述の実施の形態1、2及び3におけるキャッシュ方法については、キャッシュされている各パケットデータを個別に削除できるような方法であれば、どのような方法でキャッシュされていても構わない。しかし、どのようなキャッシュ方法であっても、キャッシュ容量を制限以内に抑えることが目的であるため、物理的にデータをメモリ上から削除する必要がある。
【0082】
このような構成により、領域決定手段は、画像データに基づいて表される画像の注目領域を特定する注目領域特定手段を有し、画像の前記注目領域以外の領域を前記削除対象領域とすることを特徴とする。
【0083】
又上記各実施の形態において、符号化データはJPEG2000の断片化された符号化データであることを特徴とする。
【0084】
更には、注目領域特定手段は、入力手段により入力される符号化データの示す画像の種類を取得する種類取得手段を有し、前記画像の種類に応じて前記注目領域を特定することを特徴とする。
【0085】
更には、注目領域特定手段は、入力手段により入力される符号化データに基づいて注目領域を特定することを特徴とする。
【0086】
また、削除手段は、符号化データをJPEG2000のパケット単位に削除することを特徴とする。
【0087】
更には、削除手段は、タイル単位でデータを削除し、削除するJPEG2000のパケットは、解像度レベル0、レイヤ1のパケットを除くパケットデータであることを特徴とする。
【0088】
尚、このような構成は手段だけでなく、方法を構成する工程においても同様にして実現される。
【0089】
図17は、削除単位毎にキャッシュデータファイルを作成した場合の例を説明する図である。
【0090】
ここで、例えば図17に示すように、タイル、パケット、コードブックといった、それぞれのデータの削除単位毎に一つのファイルを作成し、更に、それらを管理する管理ファイル1700を作成する。そして、データを削除する際には、削除対象のデータをキャッシュしているファイルを削除し、更に管理ファイル1700を更新するといった方法が考えられる。このようなキャッシュ方法の場合、物理的にデータをメモリから容易に削除することが可能になる。
【0091】
図18(A)(B)は、一つのキャッシュファイル内に複数の削除単位データをキャッシュした場合の例を説明する図で、図18(A)は「Tile N」,「Packet K」のデータの削除前、(B)は削除後の状態を示している。
【0092】
図において、2201,2202はそれぞれキャッシュファイルを示し、2204は、キャッシュファイル2201のキャッシュ管理データ、2205はそのキャッシュデータを示している。ここでは、タイル、パケット、コードブックといった、削除するデータ単位を複数まとめて一つのキャッシュファイルとして保存している。この場合は、一つのキャッシュファイルでキャッシュデータを管理するため、データの管理が簡単になる反面、削除対象となるデータを消去するために、例えば図18(B)の2202の2203で示すように、キャッシュデータを消去した後に物理的に残ってしまうスペースを埋める工夫が必要になる。即ち、図18(B)の例では、タイルN(Tile N), パケットK(Packet K)が保存されていたスペース2203に該当するYバイト分だけ、それ以降のデータを前方に移動させる必要がある。
【0093】
図19は、図18のようなキャッシュファイルにおけるキャッシュデータの削除処理を説明するフローチャートである。
【0094】
まずステップS1901で、データを削除するキャッシュのファイル名を保存する。ここでは例えば、データを削除するキャッシュファイル名が「abc.iip2k」であれば、その名称を保存しておく。次にステップS1902に進み、Tempファイルを作成する。このファイルが最終的には、キャッシュデータ削除後のファイルとなるのだが、同一の名前を避けるために、「temp.iip2k」や「abc_tmp.iip2k」といった仮の名前を付けたファイルを作成する。ここでは「temp.iip2k」とする。次にステップS1903に進み、データを削除したいキャッシュファイルをオープンする。次にステップS1904に進み、削除データまでのオフセット値Vと削除データの長さLを取得する。これは図18の例では、「Tile N」,「Packet K」のデータを削除したいので、VはX(バイト)、LはY(バイト)となる。次にステップS1905に進み、キャッシュファイルの先頭からVバイトのデータを、Tempファイルの先頭からTempファイルにコピーする。従って、キャッシュ管理データ2204を含めたデータがTempファイルにコピーされることになる。次にステップS1906に進み、キャッシュファイルの先頭から(V+L)バイト目のデータからキャッシュファイルの終わりまでのデータをTempファイルの後ろにコピーする。そしてステップS1907に進み、Tempファイル、キャッシュファイル共にファイルをクローズする。そしてステップS1908に進み、キャッシュファイルを削除する。従って、この時点ではファイル「abc.iip2k」が削除され、「temp.iip2k」が保存されている。ッそしてステップS1909に進み、Tempファイルの名前をステップS1901で保存したキャッシュファイル名に変更する。本実施の形態では、これにより「temp.iip2k」が「abc.iip2k」に変更される。これにより、物理的にファイルサイズを小さくすることが可能である。
【0095】
但し、この方法を採る場合には、ステップS1907において、一時的にでもほぼ同じサイズのファイルが2つキャッシュメモリの中に存在することになる。従って、図8のステップS802で、キャッシュ用メモリ容量からスレッショルド値を決定する際に、この点を考慮し、スレッショルド値として、使用可能なメモリ容量の約半分の値を設定する必要がある。この他にも様々なキャッシュ作成方法が考えられるが、本件の主願ではないので省略する。
【0096】
(その他の実施の形態)
本発明の目的は前述したように、実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体をシステムあるいは装置に提供し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フロッピィディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM,CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
【0097】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれている。
【0098】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含む。
【0099】
以上説明したように本実施の形態によれば、キャッシュされた断片的な符号データを効率よく削除することができ、サーバにあるオリジナル画像を閲覧する際に、クライアントにおいてオリジナル画像と同じ大きさのメモリ容量を必要としない。
【0100】
また、画像の種類や注目領域ROIに応じて、画像のどの領域に重要なデータが配されているかを判断することにより、複雑な計算をすることなくタイル単位でデータを削除できる領域を特定できる。
【0101】
さらに、画像データのデータ削除の際に、resolution level 0、レイヤ1のデータを残しておくことにより、クライアントの要求がキャッシュされているデータよりも高解像度、高SNRであり、不足分のデータをサーバからダウンロードする場合にも、キャッシュされているデータを利用して低解像度、低SNRの画像を一時的に表示することも可能になる。
【0102】
さらに、一度キャッシュされたデータが削除された後、ユーザが再び、そのデータを必要とする表示要求を行った場合でも、少なくてもresolution level 0, layer 1のデータが削除されずに保持されているので、再度、削除されたデータを要求している間に、一時的にキャッシュ内に保持されているデータをデコードし表示することができる。
【0103】
また、再要求により受信したデータは、キャッシュに再書き込みすることが可能である。
【0104】
以上の説明した構成を画像処理方法を実現する工程で表わすと以下のようになる。
【0105】
[実施態様1] 入力した符号化データを復号して表示する画像処理方法であって、画像データを構成する断片化された符号化データを入力する入力工程と、符号化データを格納するためのメモリに格納するデータ量の上限値を設定する上限値設定工程と、前記メモリに格納されているデータ量と前記上限値及び前記入力工程で入力した符号化データのデータ量を基に、前記入力工程で入力した符号化データを前記メモリに格納可能かどうかを判定する判定工程と、前記画像データにおける削除対象領域を決定する領域決定工程と、前記判定工程で格納不能と判定されると、前記メモリに格納されているデータの内、前記領域決定工程で決定された前記削除対象領域に含まれるデータを前記断片化されたデータの単位で削除する削除工程と、前記判定工程で前記メモリに格納可能と判定された場合、或は前記削除工程で前記データが削除された後、前記入力工程により入力された前記符号化データを前記メモリに格納するように制御する制御工程と、を有することを特徴とする画像処理方法。
【0106】
[実施態様2] 前記メモリはキャッシュメモリであることを特徴とする実施形態1に記載の画像処理方法。
【0107】
[実施形態3] 前記入力工程はサーバより送信される断片化された符号化データを受信して入力することを特徴とする実施形態1又は2に記載の画像処理方法。
【0108】
[実施形態4] 前記削除工程では、前記メモリに既に記憶されているデータ量と、前記上限値及び前記前記入力工程で入力した符号化データのデータ量を基に、削除すべきデータ量を算出する工程を備えることを特徴とする実施形態1乃至3のいずれかに記載の画像処理方法。
【0109】
[実施形態5] 前記領域決定工程では、前記画像データに基づいて表される画像の注目領域を特定し、前記画像の前記注目領域以外の領域を前記削除対象領域とすることを特徴とする実施形態1に記載の画像処理方法。
【0110】
[実施形態6] 前記符号化データはJPEG2000の断片化された符号化データであることを特徴とする実施形態1乃至5のいずれかに記載の画像処理方法。
【0111】
[実施形態7] 前記注目領域特定工程では、前記入力工程により入力される符号化データの示す画像の種類を取得し、前記画像の種類に応じて前記注目領域を特定することを特徴とする実施形態5に記載の画像処理方法。
【0112】
[実施形態8] 前記注目領域特定工程では、前記入力工程により入力される符号化データに基づいて前記注目領域を特定することを特徴とする実施形態5に記載の画像処理方法。
【0113】
[実施形態9] 前記削除工程では、前記符号化データをJPEG2000のパケット単位に削除することを特徴とする実施形態6に記載の画像処理方法。
【0114】
[実施形態10] 前記削除工程では、タイル単位でデータを削除し、削除するJPEG2000のパケットは、解像度レベル0、レイヤ1のパケットを除くパケットデータであることを特徴とする実施形態6又は19に記載の画像処理方法。
【0115】
[実施形態11] 実施形態1乃至10のいずれか1項に記載の画像処理方法を実行することを特徴とするプログラム。
【0116】
[実施形態12] 実施形態12に記載のプログラムを記憶したことを特徴とする、コンピュータにより読み取り可能な記憶媒体。
【0117】
【発明の効果】
以上説明したように本発明によれば、断片的に入力される符号化データを効率良くメモリに格納して処理できる。
【0118】
また本発明によれば、入力した符号化データをメモリに格納できないと判断すると、既にメモリに格納されている符号化データの内画像表示の点で削除可能な領域の符号化データを優先的に削除することにより、画像表示への影響を少なくして、入力した符号化データをメモリに格納できるという効果がある。
【図面の簡単な説明】
【図1】本発明の実施の形態に係るクライアント及びサーバの概略構成を示すブロック図である。
【図2】本実施の形態に係るサーバ及びクライアントのネットワークとの接続形態を説明する図である。
【図3】JPEG2000符号化データの構成を示す図である。
【図4】JPEG2000の解像度スケーラビリティを説明する図である。
【図5】本実施の形態に係るサーバ・クライアント間での通信プロトコル例を説明する図である。
【図6】JPEG2000の解像度スケーラビリティとタイル分割の一例を示す図である。
【図7】サーバにおけるJPEG2000符号化データの構成を説明する図である。
【図8】本発明の実施の形態1に係るクライアントにおけるキャッシュ処理を示すフローチャートである。
【図9】画像の削除領域Rの設定方法を説明する図である。
【図10】図8のステップS805におけるキャッシュデータの削除処理を示すフローチャートである。
【図11】本実施の形態のクライアントにおけるタイルTのキャッシュデータの一例を示す図である。
【図12】本発明の実施の形態2に係るキャッシュデータの削除処理を示すフローチャートである。
【図13】本実施の形態における削除領域Rにおけるキャッシュデータの削除前のキャッシュデータの一例を示す図である。
【図14】削除領域Rにおけるキャッシュデータの削除例を説明する図である。
【図15】本発明の実施の形態3に係るクライアントにおける処理を説明するフローチャートである。
【図16】実施の形態に係るJPEG2000の解像度スケーラビリティと注目領域と削除領域の一例を示す図である。
【図17】本実施の形態において、削除するキャッシュデータ単位毎にキャッシュデータファイルを作成した場合の例を説明する図である。
【図18】一つのキャッシュファイル内に複数の削除単位データをキャッシュした場合の例を説明する図である。
【図19】複数の削除単位データを保存しているキャッシュファイルからキャッシュデータを削除する処理を説明するフローチャートである。
Claims (8)
- 画像を分割したタイル単位でJPEG2000符号化されて断片化された符号化データであって、各タイルの前記符号化データが解像度とレイヤの階層とを有する前記符号化データを断片的に入力する入力工程と、
前記符号化データを格納するためのメモリに格納するデータ量の上限値、及び前記メモリに格納されているデータ量、及び前記入力工程で入力した前記符号化データのデータ量を基に、前記入力工程で入力した前記符号化データを前記メモリに格納可能かどうかを判定する判定工程と、
前記タイル単位に予め割り当てられた削除の優先度及び前記画像の注目領域に基づいて、当該注目領域が削除対象から除外されるように削除対象となるタイルを決定する領域決定工程と、
前記判定工程で格納不能と判定された場合、前記メモリに格納されているデータの内、前記領域決定工程で決定された前記削除対象となるタイルの符号化データに含まれる、解像度レベル0、レイヤ1を除くJPEG2000の符号化データを前記タイル単位で削除する削除工程と、
前記判定工程で前記メモリに格納可能と判定された場合、或は前記削除工程で符号化データが削除された後、前記入力工程により入力された前記符号化データを前記メモリに格納させる制御工程と、
を有することを特徴とする画像処理方法。 - 前記メモリはキャッシュメモリであることを特徴とする請求項1に記載の画像処理方法。
- 前記入力工程は、サーバより送信される前記JPEG2000の断片化された符号化データを受信して入力することを特徴とする請求項1又は2に記載の画像処理方法。
- 前記削除工程では、前記上限値、及び前記メモリに既に記憶されているデータ量、及び前記入力工程で入力した前記符号化データのデータ量を基に、削除すべきデータ量を算出する工程を備えることを特徴とする請求項1乃至3のいずれか1項に記載の画像処理方法。
- 前記領域特定工程では、前記入力工程により入力される前記符号化データの示す画像の種類を取得し、前記画像の種類に応じて前記注目領域を特定することを特徴とする請求項1に記載の画像処理方法。
- 前記領域特定工程では、前記入力工程により入力される前記符号化データに基づいて前記注目領域を特定することを特徴とする請求項1に記載の画像処理方法。
- 請求項1乃至6のいずれか1項に記載の画像処理方法をコンピュータに実行させることを特徴とするプログラム。
- 請求項7に記載のプログラムを記憶したことを特徴とする、コンピュータにより読み取り可能な記憶媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002304496A JP4125087B2 (ja) | 2002-01-31 | 2002-10-18 | 画像処理方法 |
US10/353,026 US7200272B2 (en) | 2002-01-31 | 2003-01-29 | Image processing method storing input encoded data into a memory |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002023951 | 2002-01-31 | ||
JP2002-23951 | 2002-01-31 | ||
JP2002304496A JP4125087B2 (ja) | 2002-01-31 | 2002-10-18 | 画像処理方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2003298847A JP2003298847A (ja) | 2003-10-17 |
JP2003298847A5 JP2003298847A5 (ja) | 2005-12-15 |
JP4125087B2 true JP4125087B2 (ja) | 2008-07-23 |
Family
ID=29404790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002304496A Expired - Fee Related JP4125087B2 (ja) | 2002-01-31 | 2002-10-18 | 画像処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4125087B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4738869B2 (ja) * | 2005-04-07 | 2011-08-03 | 株式会社リコー | 画像送信方法、画像送信プログラム、記録媒体及び画像送信装置 |
JP4773770B2 (ja) * | 2005-08-18 | 2011-09-14 | 株式会社リコー | 画像処理システム、画像処理方法、プログラムおよび記録媒体 |
-
2002
- 2002-10-18 JP JP2002304496A patent/JP4125087B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003298847A (ja) | 2003-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8131927B2 (en) | Fast accessible compressed thin provisioning volume | |
US6978283B1 (en) | File system defragmentation technique via write allocation | |
US7257625B2 (en) | Cache on demand | |
JP5400889B2 (ja) | ファイルサーバ装置、及びストレージシステムの管理方法、並びにプログラム | |
WO1999004331A1 (fr) | Afficheur a haute definition et support d'enregistrement de programmes associe | |
JP7176209B2 (ja) | 情報処理装置 | |
JP4220174B2 (ja) | ストレージシステムのコンテンツ更新方法 | |
JPH1185710A (ja) | サーバ装置およびファイル管理方法 | |
CN102591944A (zh) | 去重复的文件的部分召回 | |
US20170010824A1 (en) | Previewing File Information Over a Network | |
JP3493091B2 (ja) | 情報表示システム、情報提供装置及び情報表示装置 | |
JP2005012685A (ja) | 画像処理方法、画像処理装置 | |
JP4125087B2 (ja) | 画像処理方法 | |
JP3897691B2 (ja) | スクロール表示方法及び装置 | |
JP4065535B2 (ja) | 符号データ作成方法及び装置 | |
JP3768934B2 (ja) | 画像処理装置及びそのデータキャッシュ方法 | |
JP2011191856A (ja) | ファイルキャッシュの管理方法、ファイルキャッシュ装置、及び、プログラム | |
JP3768866B2 (ja) | 符号化データの作成方法及びその装置 | |
JP2003196144A (ja) | キャッシュサーバのキャッシュ制御方法 | |
JP4250401B2 (ja) | 画像処理装置及び前記装置におけるキャッシュ制御方法 | |
JP2005100005A (ja) | コンテンツ管理システムおよびコンテンツ管理方法ならびにそのためのプログラム | |
JP3958198B2 (ja) | 画像処理方法 | |
US8849940B1 (en) | Wide area network file system with low latency write command processing | |
JP4109963B2 (ja) | 画像処理方法及び装置 | |
JP2009176085A (ja) | コンテンツ閲覧装置およびコンテンツ閲覧プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051017 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051017 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071025 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071029 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071221 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080201 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080326 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20080409 |
|
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: 20080428 |
|
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: 20080507 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4125087 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110516 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120516 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120516 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130516 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140516 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |