JP3897691B2 - Scroll display method and apparatus - Google Patents
Scroll display method and apparatus Download PDFInfo
- Publication number
- JP3897691B2 JP3897691B2 JP2002365828A JP2002365828A JP3897691B2 JP 3897691 B2 JP3897691 B2 JP 3897691B2 JP 2002365828 A JP2002365828 A JP 2002365828A JP 2002365828 A JP2002365828 A JP 2002365828A JP 3897691 B2 JP3897691 B2 JP 3897691B2
- Authority
- JP
- Japan
- Prior art keywords
- decoding
- encoded data
- display
- image data
- resolution
- 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
- Digital Computer Display Output (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Controls And Circuits For Display Device (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、ネットワークを介して断片的なデータを受信しながらデコードされた画像をスクロール表示することに関する。
【0002】
【従来の技術】
インターネット上では、WWWサーバにWeb(ウエブ)ブラウザからアクセスして文書データや画像データ等を閲覧することが盛んに行われている。このように、インターネット上に情報を公開するWWWサーバと、その情報を閲覧するためのクライアントとを含むシステム環境において、各クライアントではウエブブラウザを使用して、WWWサーバによって公開された情報を閲覧することができる。
【0003】
WWWサーバには、通常、ホームページといわれる公開するための情報をHTMLで記述した文書が保存されており、それにクライアント側のウエブブラウザがアクセスしてクライアント側のコンピュータに表示する。また、クライアント側のウエブブラウザは、表示しているページ内のリンクを辿っていくことにより、自分が必要な情報を得ることができる。さらに、WWWサーバが管理しているファイルをダウンロードする方法として、File Transfer Protocol(以下、「FTP」と略す。)という方法がある。このFTPとは、ネットワークを通して、WWWサーバ上にあるファイルを一度にクライアント側のコンピュータに転送する仕組みのことである。
【0004】
また、画像ファイルへ断片的にアクセスして表示するためのプロトコルとしてFlashpix/IIPがある。このインターネット・イメージング・プロトコル(IIP)は、Flashpix画像データファイルのフォーマットに最適なプロトコルになっており、ネットワークを通して画像データの一部分を要求できるものである。この時のアクセスは、Flashpixのタイル単位に行われる。
【0005】
一方、このFlashpix/IIPをそのままJPEG2000に適用した場合を考えると、JPEG2000では、各スケーラビリティ(Scalability)の符号化データは、そのスケーラビリティより1つ下のスケーラビリティのデータとの差分データで構成されている。そこで、クライアント側で受信した断片的な符号化データをキャッシュしておき、全符号化データをデコーダに引き渡して最初から再デコードする方法と、デコーダを途中で止めておいて今回受信した符号化データをデコーダに渡し、前回の続きからデコードする方法とがある。
【0006】
このような方法のうち、マルチ解像度データを有する画像符号化データの中から必要な部分のデータのみの断片化されたデータをサーバに要求し、そのデータを受信して表示するシステムにおいて、クライアント側のコンピュータでの画像データの表示、特にスクロール表示方法として、従来から様々な方法が提案されている。
【0007】
例えば、下地画像から切り出した画像と下地画像を表示する画像編集装置に関する技術では、特に、上記2種類の画像を同期させて、拡大/縮小/スクロール処理を高速に行い、高速表示するような技術が提案されている(例えば、特許文献1参照)。
【0008】
また、画像メモリに対するリード/ライトや、画像処理のため画像処理プロセッサに対する制御信号等が、ローカルバス上でバス競合が起きないようにするようなハードウェア構成及び制御を行う静止画再生装置に関する技術も提案されている(例えば、特許文献2)。
【0009】
さらに、ランレングス符号データをデコードし、スクロール表示するための装置であって、画面1面分のメモリの代わりに、ラインメモリで処理を行う画像スクロール装置に関する技術も提案されている(例えば、特許文献3)。
【0010】
さらにまた、表示用のメモリから表示制御手段にデータを転送する時に、あらかじめ表示しない部分を設定しておき、表示しない部分のデータをメモリから読み出さないように制御する描画表示制御装置及び描画表示制御装置を備えた描画表示装置に関する技術も提案されている。
【0011】
【特許文献1】
特開平05−054111号公報
【0012】
【特許文献2】
特開平06−004067号公報
【0013】
【特許文献3】
特開平06−019452号公報
【0014】
【特許文献4】
特開平11−052942号公報
【0015】
【発明が解決しようとする課題】
しかしながら、ユーザの要求に従って、画面上で表示領域をスクロールする毎に、最終的に必要な解像度とSN比(SNR)で表示させようとして、新規に表示が必要になった部分の符号データをサーバに要求発行していると、符号データの通信時間が発生して、表示までの時間がかかるという問題点がある。このような場合、画像データのスクロール表示中のユーザレスポンスが悪くなる。
【0016】
一方、Flashpix/IIPの場合は、タイル単位で独立した符号データになっているため、1度受信したタイルのデータをクライアント側でキャッシュする必要はない。しかし、スクロール表示によって低解像度のデータを表示するためには、低解像度の符号データを新たにサーバに要求する必要があり、再度通信することによって、通信時間やトラフィックが増大するという問題点がある。また、1度表示した画像データをキャッシュしておくような場合には、画像データをキャッシュするためのメモリ容量がさらに必要になるという問題点がある。
【0017】
また、Flahspix/IIPで符号データをキャッシュしていた場合は、符号方式がJPEG方式であるため、画質を調整しながらデコードすることが不可能である。そのため、低解像度の符号データをデコードするために、タイルの数に比例したデコード時間が固定的に必要になるという問題点がある。
【0018】
さらに、クライアント上でキャッシュしている、既に受信済みのJPEG2000方式によって圧縮符号化された符号データのみを使って、新規に表示に必要になった部分をデコードして表示する場合、符号データが存在しない部分については、離散ウェーブレット変換(DWT)係数に0を仮定してデコードし、表示することも考えられるが、この場合はデコードに時間がかかるという問題点がある。
【0019】
さらにまた、未受信部分の符号データを補う方法として、zero length packetを使う方法もあるが、この場合も前述と同様に、最終的に必要な解像度とSNRで画像データをデコードするために時間がかかるという問題点がある。
【0020】
ここで、上述したように、特許文献1に記載の「画像編集装置」は、下地画像から切り出した画像と下地画像の2種類の画像を同期させて、拡大/縮小/スクロール処理を高速に行うものである。したがって、切り出した画像データ部分を管理するための情報を持ち制御するものであって、表示している領域全体をスクロールするものである。すなわち、JPEG2000をデコードしながら高速にスクロール表示するものであって、全画像データを保持してからスクロールするものではなく、上記問題点を解決することはできない。
【0021】
また、上述した特許文献2に記載の「静止画再生装置」は、画像メモリに対するリード/ライトや画像処理のため画像処理プロセッサに対する制御信号等が、ローカルバス上でバス競合が起きないようにするハードウェア構成及び制御を行うものである。すなわち、表示装置(ハードウェア)に関する技術ではなく、JPEG2000デコーダとIIP2k(画像通信)とを合わせた構成に関する技術であって、上記問題点を解決することはできない。
【0022】
さらに、上述した特許文献3に記載の「画像スクロール装置」は、ランレングス符号データをデコードし、スクロール表示するための技術であり、特に画面1面分のメモリの変わりに、ラインメモリで処理を行うものである。すなわち、表示領域より大きい画像データをデコードし、画面をスクロールする時に、現在表示している解像度の符号データを全てデコードしてからスクロール表示するのではなく、デコードしながらスクロール表示するものである。したがって、JPEG2000のデコードをどこまで行うかを制御してデコード時間を短縮するものであって、上記問題点を解決することはできない。
【0023】
さらにまた、上記特許文献4に記載の「描画表示制御装置及び該描画表示制御装置を備えた描画表示装置」は、上述したように、表示用のメモリから表示制御手段にデータを転送する時に、あらかじめ表示しない部分を設定しておき、この表示しない部分のデータはメモリから読み出しを行わないように制御するための技術である。しかし、以下に示す本発明の実施形態では、この表示しない部分に相当する領域は特に無く、表示領域全てに対して表示可能とするものであり、特許文献4に記載の発明のように2画面の画像データの重畳等の処理の必要はない。
【0024】
本発明は、このような事情を考慮してなされたものであり、サーバとクライアント間の通信トラフィックを少なくして、画像データのスクロール表示中のユーザレスポンスを向上させることができるスクロール表示方法を提供することを目的とする。
【0025】
【課題を解決するための手段】
上記課題を解決するために、本発明は、サーバに格納されている符号化データの一部分をネットワークを介して断片的に受信し、デコードした画像データをスクロール表示するクライアントにおけるスクロール表示方法であって、
前記クライアントが受信した断片的な前記符号化データをキャッシュするキャッシュ工程と、
スクロール操作中に、前記キャッシュ工程でキャッシュされた前記符号化データのみをデコードする第1のデコード工程と、
前記第1のデコード工程でデコードされた前記画像データを拡大表示する第1の表示工程と、
スクロール操作終了後に、前記キャッシュ工程でキャッシュされた前記符号化データを前記第1のデコード工程よりも高解像度かつ高Layerでデコードする第2のデコード工程と、
前記第2のデコード工程でデコードされた画像データを拡大表示する第2の表示工程と、
前記第2の表示工程の後、キャッシュされた符号化データを用いて最高解像度かつ最高Layerで該符号化データの表示が可能か否かを判定する判定工程と、
前記判定の結果、最高解像度かつ最高 Layer で前記符号化データの表示が可能でない場合には、前記サーバに対して、不足している前記符号化データの送信を新たに要求する要求工程と、
前記キャッシュ工程でキャッシュされた前記符号化データと前記サーバから新たに送信された符号化データとをデコードする第3のデコード工程と、
前記第3のデコード工程でデコードされた画像データを表示する第3の表示工程と
を有することを特徴とする。
また、本発明は、サーバに格納されている符号化データの一部分をネットワークを介して断片的に受信し、デコードした画像データをスクロール表示するクライアントにおけるスクロール表示装置であって、
前記クライアントが受信した断片的な前記符号化データをキャッシュするキャッシュ手段と、
スクロール操作中に、前記キャッシュ手段でキャッシュされた前記符号化データのみをデコードする第1のデコード手段と、
前記第1のデコード手段でデコードされた前記画像データを拡大表示する第1の表示手段と、
スクロール操作終了後に、前記キャッシュ手段でキャッシュされた前記符号化データを前記第1のデコード手段よりも高解像度かつ高Layerでデコードする第2のデコード手段と、
前記第2のデコード手段でデコードされた画像データを拡大表示する第2の表示手段と
前記第2の表示手段による表示の後、キャッシュされた符号化データを用いて最高解像度かつ最高Layerで該符号化データの表示が可能か否かを判定する判定手段と、
前記判定の結果、最高解像度かつ最高 Layer で前記符号化データの表示が可能でない場合には、前記サーバに対して、不足している前記符号化データの送信を新たに要求する要求手段と、
前記キャッシュ手段でキャッシュされた前記符号化データと前記サーバから新たに送信された符号化データとをデコードする第3のデコード手段と、
前記第3のデコード手段でデコードされた画像データを表示する第3の表示手段と
を備えることを特徴とする。
【0026】
すなわち、以下の実施形態で説明するように、クライアントで画像データを表示する際に、画像データのある一部分を表示し、ユーザの要求により表示領域を変更する。ここで、画面をスクロール表示する場合は、クライアントにおいて既に受信済のJPEG2000符号データのみを使用し、本来表示されるべき解像度よりも低い解像度で符号化データの低いSNR部分のみを高速にデコードして表示する。
【0027】
そして、スクロール終了の時点で手元にある符号化データでデコードできる最終的に表示しなければならない解像度とSNRに最も近い符号データをデコードして表示する。これと同時に、この時点で表示された画像データが最終的に必要な全符号化データではない場合は、サーバに対して不足している部分の符号化データをさらに要求して、受信後最終的な画像データをデコードし、表示する。これによって、スクロール終了の段階でも一旦手元にある符号化データで最終的に表示しなければならない画像データに最も近い画像を表示しておき、全符号化データが送信された後に再表示させる。
【0028】
【発明の実施形態】
以下、図面を参照して、本発明の好適な実施形態について詳細に説明する。
【0029】
以下に示す本実施形態は、ネットワークを介して断片的な符号データを受信しながら、画像データをスクロール表示する方法に関するものである。そして、特にISO/IEC−15444に準拠したJPEG2000符号化データをインターネット・イメージング・プロトコル(IIP)等の通信プロトコルを使用することによって、クライアントはサーバから画像符号データの断片的な領域、或いは、断片的な符号化データを受信し、クライアントでのスクロール処理の体感スピードを向上させるものである。
【0030】
<第1の実施形態>
図1は、本発明の第1の実施形態に係るサーバ及びクライアントを含むネットワークシステムの構成を示す概念図である。すなわち、インターネットに代表されるネットワーク上にサーバ・コンピュータやクライアント・コンピュータを含む複数のコンピュータが接続されている様子を示す概念図である。
【0031】
図1において、100はインターネットに代表されるネットワークを示す。また、101、103はサーバ・コンピュータであり、それぞれ画像データを送信するためのJPEG2000用のIIPサーバをはじめ、WWWサーバ機能に必要なソフトウェアを備えている。また、サーバ101、103には、それぞれ大容量のハードディスク101a、103aが接続されており、それぞれのハードディスクに大量の画像データが格納されている。また、102a、102bはクライアント・コンピュータであり、それぞれ、ウエブ(Web)ブラウザ、JPEG2000デコーダ等のクライアント側で必要なソフトウェアを備えている。
【0032】
図2は、本発明の第1の実施形態に係るサーバ・コンピュータ101、103及びクライアント・コンピュータ102a、102b等の各コンピュータのハードウェア構成を示すブロック図である。
【0033】
図2において、201はCPUであり、それぞれのコンピュータ等の装置全体の制御を行う。202はキーボードであり、マウス202aとともに当該装置に各種データやコマンド等を入力するために使用される。203は表示部であり、例えばCRTや液晶ディスプレイ等を備えている。204はROM、205はRAMであって、当該装置における記憶部を構成するものであり、この装置が実行するプログラムや、この装置が利用するデータ等を記憶する。
【0034】
206はハードディスクであり、当該装置で使用される外部記憶装置を構成している。また、207はフレキシブルディスクであり、当該装置で使用される外部記憶装置として当該装置のインタフェースを介して着脱可能な構成をしている。さらに、208はプリンタである。さらにまた、209はネットワークを制御するネットワークインタフェース(I/F)であり、ここからインターネット等のネットワーク100に接続されているサーバ・コンピュータ等のネットワーク上の資源にアクセスしたり(クライアントの場合)、クライアントからの要求に応じて符号化された画像や文書データを送信する(サーバの場合)ことができる。
【0035】
本実施形態では、既に生成済みのJPEG2000符号ファイルがサーバ・コンピュータ101、103で管理されている。一方、クライアント・コンピュータ102a、102bは、画像表示/印刷アプリケーション等のJPEG2000符号ファイル内の必要な部分のみを、JPEG2000用のIIPを使用してサーバ・コンピュータ101、103に要求する。そして、それに応答して送られてくる符号化データを断片的に受信し、この受信した断片的な符号化データを、例えば、ハードディスク206等にキャッシュする。
【0036】
クライアント・コンピュータ102a、102bでは、このハードディスク206等にキャッシュされた断片的なJPEG2000符号データを直接JPEG2000のデコーダで処理しても良いし、あるいは一旦このキャッシュされた符号データをJPEG2000準拠のJPEG2000符号データに変換してJPEG2000デコーダに渡しても良い。以下に示す本実施形態では、説明を簡単にするために、直接キャッシュされているJPEG2000符号データをデコーダで処理するものとして説明する。
【0037】
クライアント・コンピュータ102a、102bのユーザは、例えばウィンドウズ(登録商標)マシンを使用してホームページを開き、そこに書かれているJPEG2000の画像へのリンクをクリックする。これにより、JPEG2000の画像が、クライアント102a、102bの用途に適した画像サイズや解像度で表示するために必要な断片的なデータとして取得され、キャッシュされて、必要な部分のデコードを行った後に表示される。
【0038】
以下では、その後ユーザの要求により、表示する部分をスクロールしながら変更するという場合を想定する。
【0039】
ここで、図3を参照して、一般的なJPEG2000の符号データを説明する。図3は、第1の実施形態におけるLayer-resolution level-component-position progression(SNR Progression)に沿って記録されたJPEG2000符号ファイルの構成を示す概念図である。このSNR Progressionに準じた場合、Layer(レイヤ)/Resolution(解像度)/Component(成分)/Position(位置)の順に記録される。
【0040】
図4は、第1の実施形態におけるJPEG2000の解像度スケーラビリティを説明する図である。すなわち、解像度(画像サイズ)とResolution番号との関係が示される。図4において、最も小さい解像度の画像の解像度番号(resolution level)を「0」とし、Resolution番号が1つ増加するごとにデコードされた画像の幅と高さが共に2倍になっていく。また、各レイヤ(Layer)は、各解像度毎に、Layer番号の小さい順に割り当てられている。Layer番号は、復元する画像の原画に対するS/N比に対応し、Layer番号が小さいほどS/N比が悪くなる。
【0041】
1つのJPEG2000符号ファイル内でのResolution番号、Layer番号及びComponent番号の最大値は、エンコーダによって予め設定され、そのパラメータに従ってエンコードされており、その情報は符号化データの中に格納されている。また、各パケット(packet)は、そのパケットに格納されているコードブロック(code-block)の情報を管理しているパケットヘッダ(packet header)部と、各コードブロックの符号化データから構成されている。
【0042】
このようなJPEG2000符号データを使えば、クライアント102a、102bは、サーバ101に格納されている全ての画像データを取得することなく、必要な部分のデータのみをサーバ101から受信することが可能である。尚、以下に示す実施形態では、一例としてサーバ101の場合で説明するが、サーバ103の場合も同様にして実行可能である。
【0043】
また、クライアントの受信データの単位としては、JPEG2000符号データのパケット(packet)、或いは、パケットよりもさらに小さい符号化単位であるコードブロック単位が考えられる。尚、本実施形態では、クライアントがサーバから受信するデータ単位としてパケット単位を想定するが、コードブロック単位においても本実施形態と同様にして実行可能である。
【0044】
すなわち、本実施形態に係るスクロール表示方法では、符号化データが、サーバからネットワークを介してパケット単位、或いは、コードブロック単位で送信されることを特徴とする。
【0045】
図5は、第1の実施形態におけるサーバ、クライアント間でのパケット単位でのデータのリクエスト及びレスポンスを説明するための概念図である。
【0046】
図5において、クライアント102aは、サーバ101に格納されている画像のタイル番号(Tile)と解像度番号(resolution level)とレイヤ(Layer)、component、position番号を指定してデータを要求する。図5に示す例では、タイル番号(Tile)は「1」、解像度「0」、レイヤ「0」、Component「0」、そしてPosition番号「0」である。これによりサーバ101は、画像503のコードストリームを解析して、その指定されたタイル番号、Resolution levelとLayer、component、position番号に相当するパケット(packet)データを抜き出し、パケット0としてクライアント102aに送り返す。
【0047】
図6は、第1の実施形態におけるタイル分割の概念図である。図6に示す例は、画像データをX方向、Y方向ともに8個分のタイル、すなわち画像全体で64個のタイルに分割した場合である。尚、図中の数字は、タイル番号を示す。また、本実施形態では、画像データの最大解像度の画像サイズを1024×1024画素とする。この場合、最大解像度での各タイルの画素数は128×128画素となる。
【0048】
図7は、第1の実施形態で使用されるサーバ101で管理(格納)されているJPEG2000符号ファイルの一例を示す図である。
【0049】
図7において、700は、SNR Progressionでエンコードされている例の符号データ全体の構成である。図7に示す符号ファイルは、図6に示した64個のタイルに分割された場合の符号を示している。図7において、701は、各タイルの符号データの例である。タイルの符号データを構成するものとして、タイルパートヘッダ702とパケットデータ703がある。
【0050】
図7に示す例では、Layerは「0」〜「2」の3種類、Resolution levelは「0」〜「5」の6種類、ComponentとPositionは各1種類である。また、説明を簡単にするために、サーバ101で管理しているJPEG2000の最大解像度の画像サイズを前述のとおり、1024×1024画素とする。すなわち、6種類のResolution levelがある場合、各解像度での画像サイズは、解像度番号5が1024×1024、以下順に512×512、256×256、128×128、64×64、となり最低解像度の解像度番号0が32×32画素となる。
【0051】
図8は、第1の実施形態に係るクライアント102aにおけるアプリケーションによる処理概要を説明するためのフローチャートである。このフローチャートでは、クライアント102aでJPEG2000アプリケーションが起動され、表示したいJPEG2000ファイルが別の手段で指定された後の画像データの表示処理手順が示されている。尚、他のクライアント(例えば、クライアント102b)においても同様の処理が行われる。
【0052】
まず、クライアント・アプリケーションにより、指定されたファイルのサムネイル画像が表示される(ステップS800)。その後、拡大表示され(ステップS801)、スクロール表示される(ステップS802)。
【0053】
具体的には、クライアント・アプリケーションでの画像表示領域のサイズを128×128画素とすると、ステップS800でのサムネイル画像の表示では、全タイルの解像度番号2の最大SNRの符号データまでをデコードして表示する。次に、ステップS801での拡大表示は、例えばステップS800で表示した画像よりも2段階拡大すると、解像度は解像度番号4になる。この場合、表示領域のサイズが128×128画素であるため、画像全体を表示することはできない。従って、例えばステップS800で表示している画像の中心を固定して拡大するとすると、図6の600で示されるタイル番号27、28、35、36の4タイルを表示することになる。
【0054】
図9は、図8のステップS800におけるサムネイル表示のための通信プロトコルと受信した符号データを説明するための図である。すなわち、図9では、ステップS800の処理を実行後のキャッシュ状態が示されている。図9において、図7と同じ内容の符号データには同一の番号を付している。また、ステップS800では、全タイルに対して同一の要求を発行しているため、同一のキャッシュの状態になっている。
【0055】
図9において、901は各タイルのキャッシュを示したものである。本実施形態では、解像度番号2までのすべての符号データを受信しているため、受信している符号データの部分には、「Layer数値/Reso数値/Comp数値/Pos数値」の表現で記述し、まだ受信していない部分は、「ZLP(Zero Length Packet)」の表現を使用している。
【0056】
また、図10は、図8のステップS800からステップS801に移った後の通信プロトコルと受信した符号データを説明するための図である。ステップS801では、図6におけるタイル番号27、28、35、36の4タイルのみ足りない部分「Layer[0-2]/Reso[3-4]/Comp0/Pos0」で示す6つの符号データをサーバに要求したため、この部分のデータが充填されている。上記以外のタイルについては、図9に示したものと同一の状態である。
【0057】
次に、ステップS802のスクロール表示の処理について説明する。本実施形態におけるスクロール表示では、タイル番号27、28、35、36の4つのタイルの解像度番号4、最大SNRが表示されていた状態から、図6の602で示す領域(タイル番号36、37、44、45の領域)を経て、601で示す領域(タイル番号45、46、53、54の領域)まで連続スクロールして表示した場合について説明する。図11は、第1の実施形態に係るスクロール処理(ステップS802)を詳細に説明するためのフローチャートである。
【0058】
まず、ユーザのマウスなどのポインティング・デバイスにより、スクロールの操作が開始され、その移動量に応じて該当する位置の画像データを表示する時の、マウスの移動量が計算される(ステップS802a)。次に、ステップS802aで求められた移動量に基づいて、表示する画像データの領域を特定する(ステップS802b)。ここでは、特に該当するタイル群を計算する。すなわち、本実施形態に係るスクロール表示方法では、デコードされた画像データが表示された表示画面中のポインタに移動量に基づいて、当該表示画面にスクロール表示させる画像データの領域を特定することを特徴とする。
【0059】
その後、ステップS802bで求めたタイル群を最低解像度かつ最低Layerでデコードする(ステップS802c)。そして、ステップS802cでデコードして得られた画像データを必要に応じて拡大処理を行って表示する(ステップS802d)。その後、ユーザからのスクロール要求が連続しているか否かを判断する(ステップS802e)。この判断方法は、例えばスクロールの指示方法がマウスの左ボタンを押しながら移動させるような方法の場合であれば、マウスのボタンの状態を判断して、ボタンが押し続けられている状態か否かを判断する。その結果、ボタンが押し続けられている場合は終了と判断されてステップS802aに戻る。一方、マウスのボタンが離されている場合はステップS802fに移動する。
【0060】
すなわち、本実施形態で説明するスクロール表示方法は、サーバに格納されている符号化データの一部分をネットワークを介して断片的に受信し、デコードした画像データをスクロール表示するクライアントにおけるスクロール表示方法である。そして、本スクロール表示方法は、まず、クライアントが受信した断片的な符号化データをキャッシュする(キャッシュ工程)。次いで、キャッシュ工程でキャッシュされた符号化データのみをスクロール操作中にデコードし(第1のデコード工程)、デコードされた画像データを拡大表示する(第1の表示工程)。そして、キャッシュ工程でキャッシュされた符号化データをスクロール操作終了後に、第1のデコード工程よりも高解像度かつ高Layerでデコードする(第2のデコード工程)。そして、第2のデコード工程でデコードされた画像データを拡大表示する(第2の表示工程)ことを特徴とする。
【0061】
また、本実施形態に係るスクロール表示方法は、上記第1の表示工程が、第1のデコード工程における符号化データの解像度及びLayerから画像データの拡大率を求め、当該画像データを拡大表示することを特徴とする。さらに、本実施形態に係るスクロール表示方法は、上記第2の表示工程が、第2のデコード工程における符号化データの解像度及びLayerから画像データの拡大率を求め、当該画像データを拡大表示することを特徴とする。
【0062】
ステップS802aからS802eまでの具体的な例について示す。例えば、ステップS802aでマウスが図6の602に移動したとする。この場合、ステップS802a、ステップS802bによって、今回表示する領域がタイル番号36、37、44、45で示される領域であることを判断する。そして、ステップS802cでタイル番号36、37、44、45の4つのタイル群の解像度番号0、Layerの番号0をデコードするようにJPEG2000のデコーダに指示を与える。
【0063】
その後、ステップS802dでは、ステップS802cでデコードして得られた粗い画像データを表示する。本実施形態の場合は、最低解像度のデコードを行っているため、最終的に表示しなければならない解像度まで拡大する必要があり、今回は16倍の拡大処理を行いながら表示するものとする。また、本実施形態の場合は、その後もスクロールするため、ステップS802eで終了していない場合はステップS802aに戻る。
【0064】
その後、ユーザの指定で更にスクロールされ、タイル番号45、46、53、54で示される領域を表示するようになる。この判断をステップS802bで行い、ステップS802cで上記4つのタイル(タイル番号45、46、53、54)を前述した手順と同様に解像度番号0、Layer番号0でデコードし、ステップS802dでタイル番号45、46、53、54の領域の画像データを拡大しながら表示する。その後、本実施形態では、ユーザがマウスの左ボタンを離すため、ステップS802eでは、終了したとしてステップS802fに移動する。すなわち、本実施形態では、上記第1のデコード工程が、符号化データを最低解像度かつ最低Layerでデコードすることを特徴とする。
【0065】
次に、ステップS802f以降のスクロール終了の場合の処理について詳述する。まず、手元にあるキャッシュされている符号データで再現することができる、最終的に表示しなければならない解像度とSNRに最も近いところまでのデコードを行う(ステップS802f)。そして、ステップS802fでデコードした結果の画像データを拡大しながら表示する(ステップS802g)。さらに、ステップS802fでデコードした画像データが、最終的に表示しなければならない解像度であってかつSNRであったか否かを判断する(ステップS802)。
【0066】
その結果、最終的な解像度であってSNRであった場合(すなわち、新規要求ではなかった場合)(No)は終了する。一方、異なった場合(すなわち、新規要求である場合)(Yes)は、現状手元にある既に受信済みの符号データと最終的に表示しなければならない解像度、SNRの画像を再現するために必要な符号データとの差分の符号データをサーバに要求する(ステップS802i)。そして、ステップS802iで要求した符号データを受信する(ステップS802j)。さらに、最終表示のためのデコードを行い(ステップS802k)、最終表示を行う(ステップS802l)。尚、この場合はデコードされた画像データの拡大処理は不要である。
【0067】
すなわち、本実施形態に係るスクロール表示方法は、上述した手順に加えて、さらに、キャッシュされた符号化データを用いて最高解像度かつ最高Layerで該符号化データの表示が可能か否かを判定する(判定工程)。そして、サーバに対して、不足している符号化データの送信を新たに要求し(要求工程)、キャッシュ工程でキャッシュされた符号化データとサーバから新たに送信された符号化データとをデコードする(第3のデコード工程)。そして、第3のデコード工程でデコードされた画像データを表示する(第3の表示工程)ことを特徴とする。
【0068】
ここで、具体的な数値を用いて、ステップS802f以降の処理について説明する。まず、ステップS802fでは、タイル番号45、46、53、54の符号データがどこまで充填されているかを判断する。本実施形態の場合、スクロールする前に表示していた解像度とLayerは、それぞれ解像度番号4、Layer番号2であり、タイル番号45、46、53、54が現在持っている符号データは、解像度番号2、SNR番号2である。そのため、上記4つのタイルを解像度番号2、Layer番号2でデコードする。そして、ステップS802gでは、解像度番号2から解像度番号4までの拡大、すなわち4倍の拡大を行いながら表示を行う。これにより、ステップS802dで表示された画像データよりは、高解像度の画像データを表示することができる。
【0069】
次に、ステップS802h及びS802iでは、上記4つのタイル(タイル番号45、46、53、54)の「Layer[0-2]/Reso[3-4]/Comp0/Pos0」部分の符号データをサーバに要求する。そして、ステップS802jでは、要求した符号データを受信し、ステップS802kでは、上記4つのタイルを解像度番号4、Layer番号2までをデコードする。そして、ステップS802lでは、ステップS802kでデコードした結果の画像データをそのまま拡大しないで表示して、本スクロール表示処理を終了する。
【0070】
以上説明したように、第1の実施形態におけるサーバ・クライアントシステムにおけるスクロール表示方法によれば、スクロール処理の途中では、スクロール処理に入るまでに既に受信している符号データのみ(クライアントにキャッシュされている符号データのみ)を使用する。すなわち、スクロールの途中では、最低解像度及び最低SNRで表示を繰り返し、スクロール終了時に、手元にある符号データで再現でき得る限りの最高の解像度で画像データを表示し、最終的に表示する部分(最終表示領域)の符号データのみをさらにサーバに要求して表示する。従って、サーバとクライアント間の通信のトラフィックを最小限にすることが可能となる。
【0071】
また、スクロール終了時に、最終表示される画像データがない場合であっても、手元にある符号データで再現でき得る最終表示に最も近い画像データを一旦表示することにより、ユーザの体感スピードを向上させることができる。
【0072】
さらに、スクロール中に表示する画像の画質等をダイナミックに制御することにより、ユーザの感性にあった表示が可能になる。さらにまた、各ステップにおいては、画像データを小刻みに表示するため、ユーザはストレスを感じることなく、画像表示の操作を行うことができる。
【0073】
尚、本実施形態では、JPEG2000符号化データのデコードは、キャッシュされている符号データから直接デコードするようにしたが、本発明の適用はこれに限られるものではなく、キャッシュからJPEG2000準拠の符号化データファイルを作成し、これをデコードするような方法をとっても良い。
【0074】
<第2の実施形態>
上述した第1の実施形態では、スクロールの途中において最低解像度及び最低SNRでのデコードを行い、拡大表示が行われた。第2の実施形態では、解像度は最低解像度とは限らずに既に受信されている符号データ内で、最終的に表示しなければならない解像度に最も近い解像度で表示する場合について説明する。
【0075】
すなわち、この場合は、図11のステップS802cでの処理が第1の実施形態とは異なる。具体的には、一例として解像度番号0ではなく、解像度番号2をデコードするようにする。尚、SNRに関しては第1の実施形態と同じである。
【0076】
本実施形態では、ステップS802cでデコードする解像度が変わるため、次のステップS802dで表示する際の拡大率が第1の実施形態の場合は16倍であったが、本実施形態の場合には4倍となる。尚、その他の処理については、第1の実施形態と同じである。
【0077】
<第3の実施形態>
第1及び第2の実施形態では、図11内のステップS802cでデコードする際に、SNR方向のスケーラビリティはLayerで制御を行っていた。このような場合は、サーバにある符号データに依存することになる。すなわち、エンコード条件であらかじめLayerを指定していなければ使えない。
【0078】
そこで、本実施形態では、SNR方向の制御にcoding-pathを用いる。これを用いることにより、Layerを切っていない符号データであってもSNRを制御することができる。
【0079】
具体的には、図11のステップS802cでデコードする時に、JPEG2000のデコーダに対して、Layer番号の代わりにcoding-pathをどこまで処理するかのパラメータを与えるようにする。例えば、coding-pathを3まで指定すると、JPEG2000デコーダは、DWT係数を復元する時にMSB(最上位ビット)のみをデコードする。これにより、Layerよりも細かなSNRの制御を行うことができる。尚、これ以外の処理については、第1及び第2の実施形態と同様である。
【0080】
<その他の実施形態>
これまでの実施形態では、JPEG2000、IIPを用いたスクロール表示の基本的な処理手順について説明した。ここでは、その他の実施形態として、ユーザがスクロール表示を操作する時のマウスの動かすスピードに応じた表示方法について説明する。これは、例えば、早くマウスを移動させた場合には、SNRの低い画像を表示し、逆にゆっくり移動させている場合は、SNRの高い画像を表示することである。すなわち、本実施形態では、画像データが表示された表示画面中のポインタの移動速度に基づいて、当該表示画面にスクロール表示させる画像データのSNRを特定することを特徴とする。
【0081】
上記動作を行うためには、図11のステップS802bからS802dまでの処理(以下、ステップS802mとする。)を図12に示すように変更すればよい。
【0082】
すなわち、図12は、他の実施形態における処理手順の一例を説明するためのフローチャートである。尚、図中において、前述した実施形態と同じ動作をする部分については、同じ番号を付している。以下では、新たに追加されている部分について説明する。
【0083】
まず、今回表示している画像の各タイルの最大(Max)coding-pathを取得する(ステップS1200)。そして、ステップS802aで移動量を計算すると同時に、移動したスピード(移動速度)を計算する(ステップS1201)。これは、ある単位時当たりにどれだけ移動したか等タイマを使うことによって計算可能である。次に、今回表示するタイル郡を求め(ステップS802b)、ステップS1201で計算された移動スピードと、ステップS1200で求めたMax coding-pathからデコードすべきSNRをcoding-pathで計算する(ステップS1202)。
【0084】
さらに、ステップS1202で計算したcoding-pathと解像度を指定してデコードする(ステップS1203)。そして、ステップS1203でデコードした画像をデコードした解像度から計算した倍率に従って拡大しながら表示する(ステップS802d)。
【0085】
ここで、具体的な数値を用いて上述した動作フローを詳細に説明する。まず、ステップS1200で、今回の符号データの全タイルについて各タイル毎にMax coding-pathの値を符号データから取得する。これは、クライアントにキャッシュされている符号データからは取得できないので、サーバに対して要求することになる。
【0086】
その後、ユーザによるマウス等の操作によりスクロール表示が始まり、ステップS802aではマウスの移動量を計算する。次に、ステップS1201では、ステップS802aでの移動量と単位時間との関係で、例えば、図13(a)に示す表に示すように、「高速」「中速」「低速」の種類に分類する。図13は、マウススピードの判定とそれに対応したcoding-pathを示す図である。図13に示される分類方法は、今回の表示領域の画像サイズが128x128画素であるため、1秒間にマウスが移動した画素数から、「高速」は「128画素以上」、「中速」は「64〜128画素」、「低速」は「64画素以下」とすることによって判定している。従って、このステップで3種類のスピードに分類する。
【0087】
次に、ステップS802bでスクロールされ表示すべき領域に該当するタイル郡を特定する。その後各タイルに対してステップS1202を行う。このステップS1202では、ステップS1201で求めたスピードからSNRを決定するためのcoding-pathを計算する。ここで、例えば、図13(b)に示すように、3種類のスピードに対するデコードするcoding-pathを対応付ける。
【0088】
図13(b)の例は、ステップS1200で取得したMax coding-pathが「26」の場合、「高速」は「4」、「中速」は「10」、「低速」は「19」というように、高速になるほどSNRを下げて、デコード時間の短縮を図っている。そして、ステップS1203では、ステップS1202で求めたcoding-pathと解像度、例えば解像度番号2をデコードする。
【0089】
また、ステップS802dでは、ステップS1203でデコードした解像度と現在表示しなければならない解像度から拡大率を求める。尚、本実施形態の場合は4倍である。そして、この拡大率で拡大しながら表示を行う。次いで、ステップS802eでは、マウスのボタンが放されたか否かを判断し、放されていない場合(No)はステップS802aに戻り、放された場合(Yes)は次のステップに進む。また、以下のステップについては、前述した実施形態と同じである。
【0090】
本実施形態の場合は、ユーザのマウスを移動させるスピードによりも表示するSNRを変える。特に、高速にマウスを移動させるほど、表示される画像のSNRが下がるように制御する。すなわち、JPEG2000のデコーダは、SNRを下げてデコードするほど高速なデコードができるため、ユーザのマウスの移動に応じたスクロール表示を行うことができる。
【0091】
尚、マウス移動に関するスピードの分類方法及び分類する数、これに対するデコードするcoding-path数は上述したものだけに限られるものではない。また、デコードする解像度もこれに限られるものではない。
【0092】
さらに、スクロール中のデコード方法として、SNRや解像度を下げてデコードすることについて説明したが、これに限るものではなく、例えばフルカラーの場合は、色成分数を下げる、すなわち白黒でデコードするようにしてもよい。
【0093】
尚、本発明は、複数の機器(例えば、ホストコンピュータ、インタフェース機器、リーダ、プリンタ等)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置等)に適用してもよい。
【0094】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0095】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0096】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【0097】
尚、本発明をプログラムで実行する場合は、上述した実施形態で説明した処理フローのみに限定されることはなく、マルチスレッド等を有効に使って、ユーザレスポンスをさらに向上させることも容易に推察することができる。
【0098】
【発明の効果】
以上説明したように、本発明によれば、サーバとクライアント間の通信トラフィックを短くして、画像データのスクロール表示中のユーザレスポンスを向上させることができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係るサーバ及びクライアントを含むネットワークシステムの構成を示す概念図である。
【図2】本発明の第1の実施形態に係るサーバ・コンピュータ101、103及びクライアント・コンピュータ102a、102b等の各コンピュータのハードウェア構成を示すブロック図である。
【図3】第1の実施形態におけるLayer-resolution level-component-position progression(SNR Progression)に沿って記録されたJPEG2000符号ファイルの構成を示す概念図である。
【図4】第1の実施形態におけるJPEG2000の解像度スケーラビリティを説明する図である。
【図5】第1の実施形態におけるサーバ、クライアント間でのパケット単位でのデータのリクエスト及びレスポンスを説明するための概念図である。
【図6】第1の実施形態におけるタイル分割の概念図である。
【図7】第1の実施形態で使用されるサーバ101で管理(格納)されているJPEG2000符号ファイルの一例を示す図である。
【図8】第1の実施形態に係るクライアント102aにおけるアプリケーションによる処理概要を説明するためのフローチャートである。
【図9】図8のステップS800におけるサムネイル表示のための通信プロトコルと受信した符号データを説明するための図である。
【図10】図8のステップS800からステップS801に移った後の通信プロトコルと受信した符号データを説明するための図である。
【図11】図11は、第1の実施形態に係るスクロール処理(ステップS802)を詳細に説明するためのフローチャートである。
【図12】他の実施形態における処理手順の一例を説明するためのフローチャートである。
【図13】マウススピードの判定とそれに対応したcoding-pathを示す図である。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to scrolling display of decoded images while receiving fragmentary data via a network.
[0002]
[Prior art]
On the Internet, browsing a document data or image data by accessing a WWW server from a Web (web) browser is actively performed. As described above, in a system environment including a WWW server for publishing information on the Internet and a client for browsing the information, each client uses a web browser to browse the information published by the WWW server. be able to.
[0003]
The WWW server normally stores a document describing information to be disclosed, which is called a home page, in HTML, which is accessed by a client-side web browser and displayed on a client-side computer. Also, the client-side web browser can obtain necessary information by following the links in the displayed page. Furthermore, as a method for downloading a file managed by the WWW server, there is a method called File Transfer Protocol (hereinafter abbreviated as “FTP”). FTP is a mechanism for transferring files on a WWW server to a client computer at once through a network.
[0004]
Further, there is Flashpix / IIP as a protocol for accessing and displaying an image file in pieces. The Internet Imaging Protocol (IIP) is an optimal protocol for the format of a Flashpix image data file, and can request a part of image data through a network. Access at this time is performed in units of Flashpix tiles.
[0005]
On the other hand, considering the case where this Flashpix / IIP is applied to JPEG2000 as it is, in JPEG2000, the encoded data of each scalability is composed of differential data with the data of scalability one level lower than the scalability. . Therefore, a method of caching the fragmented encoded data received on the client side, delivering all the encoded data to the decoder and re-decoding from the beginning, and the encoded data received this time while stopping the decoder halfway. To the decoder and decode from the previous continuation.
[0006]
Among such methods, in the system that requests the server for fragmented data of only the necessary data from the encoded image data having multi-resolution data, and receives and displays the data, the client side Conventionally, various methods have been proposed for displaying image data on such computers, particularly as a scroll display method.
[0007]
For example, in a technique related to an image editing apparatus that displays an image cut out from a background image and the background image, in particular, a technique for performing high-speed display by performing high-speed enlargement / reduction / scroll processing by synchronizing the two types of images. Has been proposed (see, for example, Patent Document 1).
[0008]
In addition, a technology related to a still image reproducing apparatus that performs hardware configuration and control so that read / write to an image memory, a control signal to an image processor for image processing, and the like does not cause bus contention on a local bus. Has also been proposed (for example, Patent Document 2).
[0009]
In addition, a technique related to an image scrolling apparatus that decodes run-length code data and performs scroll display and performs processing using a line memory instead of a memory for one screen (for example, patents) has been proposed. Reference 3).
[0010]
Further, when data is transferred from the display memory to the display control means, a drawing display control device and drawing display control for setting a portion not to be displayed in advance and controlling the data not to be displayed to be read from the memory. A technique related to a drawing display device including the device has also been proposed.
[0011]
[Patent Document 1]
Japanese Patent Laid-Open No. 05-054111
[0012]
[Patent Document 2]
Japanese Patent Laid-Open No. 06-004067
[0013]
[Patent Document 3]
Japanese Patent Laid-Open No. 06-019452
[0014]
[Patent Document 4]
JP 11-052942 A
[0015]
[Problems to be solved by the invention]
However, every time the display area is scrolled on the screen in accordance with the user's request, the code data of the part that is newly required to be displayed is finally stored in the server in order to display at the necessary resolution and SN ratio (SNR). If the request is issued, the communication time of the code data occurs, and there is a problem that it takes time until display. In such a case, the user response during scroll display of image data becomes poor.
[0016]
On the other hand, in the case of Flashpix / IIP, since the code data is independent for each tile, it is not necessary to cache the tile data received once on the client side. However, in order to display low-resolution data by scroll display, it is necessary to newly request the server for low-resolution code data, and there is a problem that communication time and traffic increase due to communication again. . Further, when the image data displayed once is cached, there is a problem that a memory capacity for caching the image data is further required.
[0017]
In addition, when code data is cached by Flahspix / IIP, since the encoding method is the JPEG method, it is impossible to decode while adjusting the image quality. For this reason, in order to decode low-resolution code data, there is a problem that a decoding time proportional to the number of tiles is fixedly required.
[0018]
Furthermore, if only the code data that has already been received and is compressed and encoded by the JPEG2000 method that is cached on the client is used, the part that is newly required for display is decoded and displayed. It is conceivable that the portion not to be decoded is displayed assuming that the discrete wavelet transform (DWT) coefficient is 0, but in this case, there is a problem that it takes time to decode.
[0019]
Furthermore, as a method of supplementing the code data of the unreceived part, there is a method of using zero length packet. In this case as well, in the same way as described above, it takes time to finally decode the image data with the necessary resolution and SNR. There is a problem that it takes.
[0020]
Here, as described above, the “image editing apparatus” described in
[0021]
In addition, the “still image reproducing device” described in
[0022]
Further, the “image scroll device” described in
[0023]
Furthermore, as described above, the “drawing display control device and the drawing display device including the drawing display control device” described in
[0024]
The present invention has been made in view of such circumstances, and provides a scroll display method that can reduce communication traffic between a server and a client and improve user response during scroll display of image data. The purpose is to do.
[0025]
[Means for Solving the Problems]
In order to solve the above-described problems, the present invention provides a scroll display method in a client that receives a part of encoded data stored in a server via a network and displays the decoded image data in a scrolling manner. ,
Caching the fragmented encoded data received by the client;
A first decoding step of decoding only the encoded data cached in the cache step during a scroll operation;
A first display step of enlarging and displaying the image data decoded in the first decoding step;
A second decoding step of decoding the encoded data cached in the cache step at a higher resolution and a higher layer than the first decoding step after the scroll operation is completed;
A second display step for enlarging and displaying the image data decoded in the second decoding step;
After the second display step,A determination step of determining whether or not the encoded data can be displayed at the highest resolution and highest layer using the cached encoded data;
As a result of the judgment, the highest resolution and the highest Layer If the display of the encoded data is not possible,A request step for newly requesting the server to transmit the encoded data that is insufficient;
A third decoding step for decoding the encoded data cached in the cache step and the encoded data newly transmitted from the server;
A third display step for displaying the image data decoded in the third decoding step;
It is characterized by having.
Further, the present invention is a scroll display device in a client that receives a part of encoded data stored in a server in a fragmented manner via a network and scrolls and displays decoded image data.
Caching means for caching the fragmented encoded data received by the client;
First decoding means for decoding only the encoded data cached by the cache means during a scroll operation;
First display means for enlarging and displaying the image data decoded by the first decoding means;
A second decoding means for decoding the encoded data cached by the cache means at a higher resolution and higher layer than the first decoding means after the scroll operation is completed;
Second display means for enlarging and displaying the image data decoded by the second decoding means;
After display by the second display means,A determination means for determining whether the encoded data can be displayed at the highest resolution and highest layer using the cached encoded data;
As a result of the judgment, the highest resolution and the highest Layer If the display of the encoded data is not possible,Request means for newly requesting the server to transmit the encoded data that is insufficient;
Third decoding means for decoding the encoded data cached by the cache means and the encoded data newly transmitted from the server;
Third display means for displaying the image data decoded by the third decoding means;
It is characterized by providing.
[0026]
That is, as will be described in the following embodiment, when displaying image data on the client, a certain part of the image data is displayed, and the display area is changed according to a user's request. Here, when scrolling the screen, only the JPEG2000 code data already received at the client is used, and only the SNR portion of the encoded data with a resolution lower than the resolution to be originally displayed is decoded at high speed. indicate.
[0027]
Then, the code data closest to the resolution and SNR that must be finally displayed that can be decoded with the encoded data at hand at the end of scrolling is decoded and displayed. At the same time, if the image data displayed at this time is not all the necessary encoded data finally, the server further requests the encoded data for the missing part and finally receives it after reception. Decodes and displays the correct image data. As a result, even at the end of scrolling, the image closest to the image data that should be finally displayed is once displayed with the encoded data at hand, and is displayed again after all the encoded data is transmitted.
[0028]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the drawings.
[0029]
The following embodiment relates to a method of scrolling and displaying image data while receiving fragmented code data via a network. In particular, by using a communication protocol such as the Internet Imaging Protocol (IIP) for JPEG2000 encoded data compliant with ISO / IEC-15444, the client can obtain a fragmented area or fragment of image encoded data from the server. The encoded data is received, and the experience speed of scroll processing at the client is improved.
[0030]
<First Embodiment>
FIG. 1 is a conceptual diagram showing a configuration of a network system including a server and a client according to the first embodiment of the present invention. That is, it is a conceptual diagram showing a state in which a plurality of computers including a server computer and a client computer are connected to a network represented by the Internet.
[0031]
In FIG. 1,
[0032]
FIG. 2 is a block diagram showing a hardware configuration of each computer such as the
[0033]
In FIG. 2,
[0034]
A
[0035]
In the present embodiment, already generated JPEG2000 code files are managed by the
[0036]
In the
[0037]
The user of the
[0038]
In the following, it is assumed that the displayed part is changed while scrolling in response to a user request.
[0039]
Here, with reference to FIG. 3, general JPEG2000 code data will be described. FIG. 3 is a conceptual diagram showing a configuration of a JPEG2000 code file recorded along the layer-resolution level-component-position progression (SNR Progression) in the first embodiment. When conforming to this SNR Progression, recording is performed in the order of Layer / Resolution (resolution) / Component (component) / Position (position).
[0040]
FIG. 4 is a diagram for explaining the resolution scalability of JPEG 2000 in the first embodiment. That is, the relationship between the resolution (image size) and the Resolution number is shown. In FIG. 4, the resolution number of the image with the smallest resolution is set to “0”, and the width and height of the decoded image are both doubled as the Resolution number increases by one. Each layer (Layer) is assigned to each resolution in ascending order of Layer number. The layer number corresponds to the S / N ratio with respect to the original image of the image to be restored. The smaller the layer number, the worse the S / N ratio.
[0041]
The maximum values of the Resolution number, Layer number, and Component number in one JPEG2000 code file are preset by the encoder, encoded according to the parameters, and the information is stored in the encoded data. Each packet is composed of a packet header section that manages information of a code block (code-block) stored in the packet, and encoded data of each code block. Yes.
[0042]
Using such JPEG2000 code data, the
[0043]
As a unit of data received by the client, a JPEG2000 code data packet or a code block unit which is an encoding unit smaller than the packet can be considered. In this embodiment, a packet unit is assumed as a data unit received by the client from the server. However, the data unit can be executed in the same manner as in this embodiment in the code block unit.
[0044]
That is, the scroll display method according to the present embodiment is characterized in that the encoded data is transmitted from the server via the network in units of packets or code blocks.
[0045]
FIG. 5 is a conceptual diagram for explaining a data request and a response in a packet unit between the server and the client in the first embodiment.
[0046]
In FIG. 5, the
[0047]
FIG. 6 is a conceptual diagram of tile division in the first embodiment. The example shown in FIG. 6 is a case where the image data is divided into eight tiles in the X direction and the Y direction, that is, the entire image is divided into 64 tiles. In addition, the number in a figure shows a tile number. In the present embodiment, the maximum resolution image size of the image data is 1024 × 1024 pixels. In this case, the number of pixels of each tile at the maximum resolution is 128 × 128 pixels.
[0048]
FIG. 7 is a diagram illustrating an example of a JPEG2000 code file managed (stored) by the
[0049]
In FIG. 7,
[0050]
In the example illustrated in FIG. 7, there are three types of Layers “0” to “2”, six types of Resolution levels “0” to “5”, and one type of Component and Position. In order to simplify the description, the image size of the maximum resolution of JPEG 2000 managed by the
[0051]
FIG. 8 is a flowchart for explaining an outline of processing by an application in the
[0052]
First, the thumbnail image of the designated file is displayed by the client application (step S800). Thereafter, the display is enlarged (step S801) and scrolled (step S802).
[0053]
Specifically, if the size of the image display area in the client application is 128 × 128 pixels, the display of thumbnail images in step S800 decodes up to the maximum SNR code data of
[0054]
FIG. 9 is a diagram for explaining a communication protocol for thumbnail display and received code data in step S800 of FIG. That is, FIG. 9 shows the cache state after execution of the process of step S800. In FIG. 9, the same number is attached | subjected to the code data of the same content as FIG. In step S800, since the same request is issued for all tiles, the cache is in the same state.
[0055]
In FIG. 9,
[0056]
FIG. 10 is a diagram for explaining the communication protocol and the received code data after moving from step S800 of FIG. 8 to step S801. In step S801, six code data indicated by a part “Layer [0-2] / Reso [3-4] / Comp0 / Pos0” in which only four tiles of
[0057]
Next, the scroll display process in step S802 will be described. In the scroll display in this embodiment, the
[0058]
First, a scrolling operation is started by a pointing device such as a user's mouse, and the amount of movement of the mouse when image data at a corresponding position is displayed according to the amount of movement is calculated (step S802a). Next, an area of image data to be displayed is specified based on the movement amount obtained in step S802a (step S802b). Here, the corresponding tile group is calculated. That is, in the scroll display method according to the present embodiment, the area of the image data to be scroll-displayed on the display screen is specified based on the amount of movement of the pointer in the display screen on which the decoded image data is displayed. And
[0059]
Thereafter, the tile group obtained in step S802b is decoded with the lowest resolution and the lowest layer (step S802c). Then, the image data obtained by decoding in step S802c is enlarged and displayed as necessary (step S802d). Thereafter, it is determined whether scroll requests from the user are continuous (step S802e). This determination method is, for example, when the scroll instruction method is a method of moving while pressing the left button of the mouse, determining the state of the button of the mouse and whether or not the button is kept pressed. Judging. As a result, when the button is kept pressed, it is determined that the process is finished and the process returns to step S802a. On the other hand, if the mouse button is released, the process moves to step S802f.
[0060]
In other words, the scroll display method described in the present embodiment is a scroll display method in a client that receives a part of encoded data stored in a server in a fragmented manner via a network and scrolls and displays decoded image data. . In this scroll display method, first, fragmented encoded data received by the client is cached (cache process). Next, only the encoded data cached in the cache process is decoded during the scroll operation (first decoding process), and the decoded image data is enlarged and displayed (first display process). Then, the encoded data cached in the cache process is decoded at a higher resolution and higher layer than the first decode process after the scroll operation is finished (second decode process). The image data decoded in the second decoding step is enlarged and displayed (second display step).
[0061]
In the scroll display method according to the present embodiment, the first display step obtains the enlargement ratio of the image data from the resolution and the layer of the encoded data in the first decoding step, and enlarges and displays the image data. It is characterized by. Furthermore, in the scroll display method according to the present embodiment, the second display step obtains the enlargement ratio of the image data from the resolution and layer of the encoded data in the second decoding step, and enlarges and displays the image data. It is characterized by.
[0062]
A specific example from steps S802a to S802e will be described. For example, assume that the mouse moves to 602 in FIG. 6 in step S802a. In this case, it is determined in steps S802a and S802b that the area to be displayed this time is an area indicated by
[0063]
Thereafter, in step S802d, the coarse image data obtained by decoding in step S802c is displayed. In the case of the present embodiment, since the resolution of the lowest resolution is being performed, it is necessary to enlarge to the resolution that should be finally displayed, and this time, the display is performed while performing the 16-times enlargement process. In the case of the present embodiment, since scrolling is continued thereafter, the process returns to step S802a if the process is not ended in step S802e.
[0064]
Thereafter, it is further scrolled by the user's designation, and the areas indicated by
[0065]
Next, the process in the case of the scroll end after step S802f will be described in detail. First, decoding is performed up to the point closest to the resolution and SNR that must be displayed, which can be reproduced with the cached code data at hand (step S802f). Then, the image data obtained as a result of decoding in step S802f is displayed while being enlarged (step S802g). Further, it is determined whether or not the image data decoded in step S802f has a resolution and SNR that should be finally displayed (step S802).
[0066]
As a result, when the resolution is final and SNR (that is, when it is not a new request) (No), the processing ends. On the other hand, if it is different (ie, if it is a new request) (Yes), it is necessary to reproduce the already received code data currently in hand and the image of the resolution and SNR that must be finally displayed. The server is requested for code data of a difference from the code data (step S802i). Then, the code data requested in step S802i is received (step S802j). Further, decoding for final display is performed (step S802k), and final display is performed (step S802l). In this case, it is not necessary to enlarge the decoded image data.
[0067]
That is, in addition to the above-described procedure, the scroll display method according to the present embodiment further determines whether the encoded data can be displayed at the highest resolution and the highest layer using the cached encoded data. (Determination step). Then, the server is newly requested to transmit the encoded data that is insufficient (request process), and the encoded data cached in the cache process and the encoded data newly transmitted from the server are decoded. (Third decoding step). Then, the image data decoded in the third decoding step is displayed (third display step).
[0068]
Here, the processing after step S802f will be described using specific numerical values. First, in step S802f, it is determined to what extent code data of
[0069]
Next, in steps S802h and S802i, the encoded data of the “Layer [0-2] / Reso [3-4] / Comp0 / Pos0” portion of the four tiles (
[0070]
As described above, according to the scroll display method in the server / client system in the first embodiment, during the scroll process, only the code data that has already been received before entering the scroll process (cached in the client). Code data only). That is, during scrolling, display is repeated at the lowest resolution and lowest SNR, and at the end of scrolling, the image data is displayed at the highest resolution that can be reproduced with the code data at hand, and the final display portion (final display) Only the code data in the display area) is further requested from the server and displayed. Accordingly, it is possible to minimize communication traffic between the server and the client.
[0071]
In addition, even when there is no image data to be finally displayed at the end of scrolling, the image speed closest to the final display that can be reproduced with the code data at hand is temporarily displayed, thereby improving the user's sensation speed. be able to.
[0072]
Furthermore, by dynamically controlling the image quality and the like of the image displayed during scrolling, it is possible to display according to the sensitivity of the user. Furthermore, in each step, since the image data is displayed in small increments, the user can perform an image display operation without feeling stress.
[0073]
In this embodiment, JPEG2000 encoded data is decoded directly from cached code data. However, the application of the present invention is not limited to this, and JPEG2000-compliant encoding is performed from a cache. A method may be used in which a data file is created and decoded.
[0074]
<Second Embodiment>
In the first embodiment described above, decoding is performed with the lowest resolution and the lowest SNR in the middle of scrolling, and enlarged display is performed. In the second embodiment, a case will be described in which the resolution is not limited to the minimum resolution, but is displayed at the resolution closest to the resolution that should be finally displayed in the already received code data.
[0075]
That is, in this case, the process in step S802c in FIG. 11 is different from that in the first embodiment. Specifically, as an example,
[0076]
In this embodiment, since the resolution to be decoded in step S802c changes, the enlargement ratio at the time of display in the next step S802d was 16 times in the first embodiment, but in the case of this embodiment, it is 4 times. Doubled. Other processes are the same as those in the first embodiment.
[0077]
<Third Embodiment>
In the first and second embodiments, when decoding is performed in step S802c in FIG. 11, the scalability in the SNR direction is controlled by layer. In such a case, it depends on the code data in the server. That is, it cannot be used unless Layer is specified in advance in the encoding condition.
[0078]
Therefore, in this embodiment, coding-path is used for control in the SNR direction. By using this, it is possible to control the SNR even for code data that is not cut into layers.
[0079]
Specifically, when decoding in step S802c of FIG. 11, a parameter indicating how far the coding-path is processed instead of the layer number is given to the JPEG2000 decoder. For example, if coding-path is specified up to 3, the JPEG2000 decoder decodes only the MSB (most significant bit) when restoring the DWT coefficient. As a result, the SNR can be controlled more finely than the Layer. Other processes are the same as those in the first and second embodiments.
[0080]
<Other embodiments>
In the embodiments so far, the basic processing procedure of scroll display using JPEG2000 and IIP has been described. Here, as another embodiment, a display method according to the speed at which the user moves the mouse when operating the scroll display will be described. For example, when the mouse is moved quickly, an image with a low SNR is displayed. Conversely, when the mouse is moved slowly, an image with a high SNR is displayed. That is, the present embodiment is characterized in that the SNR of the image data to be scroll-displayed on the display screen is specified based on the moving speed of the pointer in the display screen on which the image data is displayed.
[0081]
In order to perform the above operation, the processing from step S802b to S802d in FIG. 11 (hereinafter referred to as step S802m) may be changed as shown in FIG.
[0082]
That is, FIG. 12 is a flowchart for explaining an example of a processing procedure in another embodiment. In the figure, the same reference numerals are given to portions that perform the same operations as those of the above-described embodiment. Below, the newly added part is demonstrated.
[0083]
First, the maximum (Max) coding-path of each tile of the image currently displayed is acquired (step S1200). In step S802a, the moving amount is calculated, and at the same time, the moving speed (moving speed) is calculated (step S1201). This can be calculated by using a timer such as how much has moved per unit time. Next, the tile group to be displayed this time is obtained (step S802b), and the SNR to be decoded from the moving speed calculated in step S1201 and the Max coding-path obtained in step S1200 is calculated with the coding-path (step S1202). .
[0084]
Further, the coding-path and resolution calculated in step S1202 are designated and decoded (step S1203). Then, the image decoded in step S1203 is displayed while being enlarged according to the magnification calculated from the decoded resolution (step S802d).
[0085]
Here, the above-described operation flow will be described in detail using specific numerical values. First, in step S1200, the value of Max coding-path is acquired from the code data for each tile of all the tiles of the current code data. Since this cannot be obtained from the code data cached in the client, it is requested from the server.
[0086]
Thereafter, scroll display starts by the user's operation of the mouse or the like, and the amount of movement of the mouse is calculated in step S802a. Next, in step S1201, the relationship between the movement amount in step S802a and unit time is classified into the types of “high speed”, “medium speed”, and “low speed” as shown in the table of FIG. 13A, for example. To do. FIG. 13 is a diagram showing determination of mouse speed and coding-path corresponding to it. In the classification method shown in FIG. 13, since the image size of the current display area is 128 × 128 pixels, “high speed” is “128 pixels or more” and “medium speed” is “ “64 to 128 pixels” and “low speed” are determined by “64 pixels or less”. Therefore, in this step, the speed is classified into three types.
[0087]
Next, the tile group corresponding to the area to be scrolled and displayed in step S802b is specified. Thereafter, step S1202 is performed for each tile. In step S1202, a coding-path for determining the SNR is calculated from the speed obtained in step S1201. Here, for example, as shown in FIG. 13B, coding-paths to be decoded for three types of speeds are associated.
[0088]
In the example of FIG. 13B, when the Max coding-path acquired in step S1200 is “26”, “high speed” is “4”, “medium speed” is “10”, and “low speed” is “19”. As described above, the SNR is lowered as the speed increases, and the decoding time is shortened. In step S1203, the coding-path and resolution obtained in step S1202 are decoded, for example,
[0089]
In step S802d, the enlargement ratio is obtained from the resolution decoded in step S1203 and the resolution that should be displayed at present. In the case of this embodiment, it is four times. Then, display is performed while enlarging at this enlargement rate. Next, in step S802e, it is determined whether or not the mouse button has been released. If not released (No), the process returns to step S802a, and if released (Yes), the process proceeds to the next step. The following steps are the same as those in the above-described embodiment.
[0090]
In the present embodiment, the SNR to be displayed is changed depending on the speed at which the user's mouse is moved. In particular, control is performed so that the SNR of the displayed image decreases as the mouse is moved faster. In other words, the JPEG2000 decoder can perform a higher-speed decoding as the SNR is lowered and can perform a scroll display according to the movement of the user's mouse.
[0091]
Note that the speed classification method and the number of classifications relating to mouse movement and the number of coding-paths to be decoded are not limited to those described above. Further, the resolution for decoding is not limited to this.
[0092]
Furthermore, although the description has been made with respect to the decoding method in which the SNR and the resolution are lowered as the decoding method during scrolling, the present invention is not limited to this. Also good.
[0093]
Note that the present invention can be applied to a system composed of a plurality of devices (for example, a host computer, an interface device, a reader, a printer, etc.), but a device (for example, a copier, a facsimile machine, etc.) composed of a single device. You may apply to.
[0094]
Also, an object of the present invention is to supply a recording medium (or storage medium) in which a program code of software that realizes the functions of the above-described embodiments is recorded to a system or apparatus, and the computer (or CPU or Needless to say, this can also be achieved when the MPU) reads and executes the program code stored in the recording medium. In this case, the program code itself read from the recording medium realizes the functions of the above-described embodiment, and the recording medium on which the program code is recorded constitutes the present invention. Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an operating system (OS) running on the computer based on the instruction of the program code. It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the actual processing and the processing is included.
[0095]
Further, after the program code read from the recording medium is written into a memory provided in a function expansion card inserted into the computer or a function expansion unit connected to the computer, the function expansion is performed based on the instruction of the program code. It goes without saying that the CPU or the like provided in the card or the function expansion unit performs part or all of the actual processing, and the functions of the above-described embodiments are realized by the processing.
[0096]
When the present invention is applied to the recording medium, program code corresponding to the flowchart described above is stored in the recording medium.
[0097]
When the present invention is executed by a program, it is not limited to the processing flow described in the above-described embodiment, and it is easily guessed that user response can be further improved by effectively using multi-threading or the like. can do.
[0098]
【The invention's effect】
As described above, according to the present invention, it is possible to shorten the communication traffic between the server and the client and improve the user response during the scroll display of the image data.
[Brief description of the drawings]
FIG. 1 is a conceptual diagram showing a configuration of a network system including a server and a client according to a first embodiment of the present invention.
FIG. 2 is a block diagram showing a hardware configuration of each computer such as
FIG. 3 is a conceptual diagram showing a configuration of a JPEG2000 code file recorded along a layer-resolution level-component-position progression (SNR Progression) in the first embodiment.
FIG. 4 is a diagram for explaining resolution scalability of JPEG2000 in the first embodiment.
FIG. 5 is a conceptual diagram for explaining a data request and a response in a packet unit between a server and a client in the first embodiment.
FIG. 6 is a conceptual diagram of tile division in the first embodiment.
FIG. 7 is a diagram showing an example of a JPEG2000 code file managed (stored) by the
FIG. 8 is a flowchart for explaining an outline of processing by an application in the
9 is a diagram for explaining a communication protocol for displaying thumbnails and received code data in step S800 of FIG.
10 is a diagram for explaining a communication protocol and received code data after moving from step S800 to step S801 in FIG. 8;
FIG. 11 is a flowchart for explaining in detail scroll processing (step S802) according to the first embodiment;
FIG. 12 is a flowchart for explaining an example of a processing procedure in another embodiment.
FIG. 13 is a diagram showing determination of mouse speed and coding-path corresponding to the determination.
Claims (11)
前記クライアントが受信した断片的な前記符号化データをキャッシュするキャッシュ工程と、
スクロール操作中に、前記キャッシュ工程でキャッシュされた前記符号化データのみをデコードする第1のデコード工程と、
前記第1のデコード工程でデコードされた前記画像データを拡大表示する第1の表示工程と、
スクロール操作終了後に、前記キャッシュ工程でキャッシュされた前記符号化データを前記第1のデコード工程よりも高解像度かつ高Layerでデコードする第2のデコード工程と、
前記第2のデコード工程でデコードされた画像データを拡大表示する第2の表示工程と、
前記第2の表示工程の後、キャッシュされた符号化データを用いて最高解像度かつ最高Layerで該符号化データの表示が可能か否かを判定する判定工程と、
前記判定の結果、最高解像度かつ最高 Layer で前記符号化データの表示が可能でない場合には、前記サーバに対して、不足している前記符号化データの送信を新たに要求する要求工程と、
前記キャッシュ工程でキャッシュされた前記符号化データと前記サーバから新たに送信された符号化データとをデコードする第3のデコード工程と、
前記第3のデコード工程でデコードされた画像データを表示する第3の表示工程と
を有することを特徴とするスクロール表示方法。A scroll display method in a client that receives a part of encoded data stored in a server in a fragmented manner via a network and scrolls and displays decoded image data.
Caching the fragmented encoded data received by the client;
A first decoding step of decoding only the encoded data cached in the cache step during a scroll operation;
A first display step of enlarging and displaying the image data decoded in the first decoding step;
A second decoding step of decoding the encoded data cached in the cache step at a higher resolution and a higher layer than the first decoding step after the scroll operation is completed;
A second display step for enlarging and displaying the image data decoded in the second decoding step;
After the second display step , a determination step of determining whether the encoded data can be displayed at the highest resolution and highest layer using the cached encoded data;
As a result of the determination, if the encoded data cannot be displayed at the highest resolution and highest layer , a request step for newly requesting the server to transmit the encoded data that is insufficient,
A third decoding step for decoding the encoded data cached in the cache step and the encoded data newly transmitted from the server;
And a third display step for displaying the image data decoded in the third decoding step.
前記クライアントが受信した断片的な前記符号化データをキャッシュするキャッシュ手段と、
スクロール操作中に、前記キャッシュ手段でキャッシュされた前記符号化データのみをデコードする第1のデコード手段と、
前記第1のデコード手段でデコードされた前記画像データを拡大表示する第1の表示手段と、
スクロール操作終了後に、前記キャッシュ手段でキャッシュされた前記符号化データを前記第1のデコード手段よりも高解像度かつ高Layerでデコードする第2のデコード手段と、
前記第2のデコード手段でデコードされた画像データを拡大表示する第2の表示手段と
前記第2の表示手段による表示の後、キャッシュされた符号化データを用いて最高解像度かつ最高Layerで該符号化データの表示が可能か否かを判定する判定手段と、
前記判定の結果、最高解像度かつ最高 Layer で前記符号化データの表示が可能でない場合には、前記サーバに対して、不足している前記符号化データの送信を新たに要求する要求手段と、
前記キャッシュ手段でキャッシュされた前記符号化データと前記サーバから新たに送信された符号化データとをデコードする第3のデコード手段と、
前記第3のデコード手段でデコードされた画像データを表示する第3の表示手段と
を備えることを特徴とするスクロール表示装置。A scroll display device in a client that receives a part of encoded data stored in a server in a fragmented manner via a network and scrolls and displays decoded image data.
Caching means for caching the fragmented encoded data received by the client;
First decoding means for decoding only the encoded data cached by the cache means during a scroll operation;
First display means for enlarging and displaying the image data decoded by the first decoding means;
A second decoding means for decoding the encoded data cached by the cache means at a higher resolution and higher layer than the first decoding means after the scroll operation is completed;
Second display means for enlarging and displaying the image data decoded by the second decoding means;
Determination means for determining whether or not the encoded data can be displayed at the highest resolution and highest layer using the cached encoded data after the display by the second display means ;
As a result of the determination, when the encoded data cannot be displayed at the highest resolution and highest layer , request means for newly requesting the server to transmit the encoded data that is insufficient;
Third decoding means for decoding the encoded data cached by the cache means and the encoded data newly transmitted from the server;
And a third display unit for displaying the image data decoded by the third decoding unit.
前記クライアントが受信した断片的な前記符号化データをキャッシュするキャッシュ手順と、
スクロール操作中に、前記キャッシュ手順でキャッシュされた前記符号化データのみをデコードする第1のデコード手順と、
前記第1のデコード手順でデコードされた前記画像データを拡大表示する第1の表示手順と、
スクロール操作終了後に、前記キャッシュ手順でキャッシュされた前記符号化データを前記第1のデコード手順よりも高解像度かつ高Layerでデコードする第2のデコード手順と、
前記第2のデコード手順でデコードされた画像データを拡大表示する第2の表示手順と
前記第2の表示手順の後、キャッシュされた符号化データを用いて最高解像度かつ最高Layerで該符号化データの表示が可能か否かを判定する判定手順と、
前記判定の結果、最高解像度かつ最高Layerで前記符号化データの表示が可能でない場合には、前記サーバに対して、不足している前記符号化データの送信を新たに要求する要求手順と、
前記キャッシュ手順でキャッシュされた前記符号化データと前記サーバから新たに送信された符号化データとをデコードする第3のデコード手順と、
前記第3のデコード手順でデコードされた画像データを表示する第3の表示手順と
を実行させるためのプログラム。A computer that receives a part of the encoded data stored in the server in a fragmented manner via a network and scrolls and displays the decoded image data.
A caching procedure for caching the fragmented encoded data received by the client;
A first decoding procedure for decoding only the encoded data cached in the cache procedure during a scroll operation;
A first display procedure for enlarging and displaying the image data decoded in the first decoding procedure;
A second decoding procedure for decoding the encoded data cached in the cache procedure at a higher resolution and higher layer than the first decoding procedure after the scroll operation is completed;
A second display procedure for enlarging and displaying the image data decoded in the second decoding procedure; and the encoded data at the highest resolution and highest layer using the cached encoded data after the second display procedure. A determination procedure for determining whether or not display is possible,
As a result of the determination, if the encoded data cannot be displayed at the highest resolution and the highest layer, a request procedure for newly requesting the server to transmit the encoded data that is insufficient;
A third decoding procedure for decoding the encoded data cached in the cache procedure and the encoded data newly transmitted from the server;
And a third display procedure for displaying the image data decoded by the third decoding procedure.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002365828A JP3897691B2 (en) | 2002-12-17 | 2002-12-17 | Scroll display method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002365828A JP3897691B2 (en) | 2002-12-17 | 2002-12-17 | Scroll display method and apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004199291A JP2004199291A (en) | 2004-07-15 |
JP3897691B2 true JP3897691B2 (en) | 2007-03-28 |
Family
ID=32763265
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002365828A Expired - Fee Related JP3897691B2 (en) | 2002-12-17 | 2002-12-17 | Scroll display method and apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3897691B2 (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2006332488A1 (en) * | 2005-12-30 | 2007-07-12 | Apple Inc. | Portable electronic device with multi-touch input |
JP2007304247A (en) * | 2006-05-10 | 2007-11-22 | Sharp Corp | Image processing apparatus, image processing method, image processing program, and computer readable recording medium |
JP5141886B2 (en) * | 2008-02-28 | 2013-02-13 | 株式会社リコー | Image processing apparatus, image processing method, program, and recording medium |
JP5188209B2 (en) * | 2008-03-03 | 2013-04-24 | キヤノン株式会社 | Display control apparatus, method, and program |
JP5315862B2 (en) * | 2008-08-29 | 2013-10-16 | カシオ計算機株式会社 | Server device, client device, and program |
CN102387091B (en) * | 2010-08-31 | 2014-12-10 | 腾讯科技(深圳)有限公司 | Data transmission method and device based on sliding detection |
JP6526051B2 (en) | 2014-12-12 | 2019-06-05 | キヤノン株式会社 | Image processing apparatus, image processing method and program |
-
2002
- 2002-12-17 JP JP2002365828A patent/JP3897691B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004199291A (en) | 2004-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5764235A (en) | Computer implemented method and system for transmitting graphical images from server to client at user selectable resolution | |
US8176428B2 (en) | Portable internet access device back page cache | |
JP4377103B2 (en) | Image processing for JPEG2000 in a server client environment | |
US7660476B2 (en) | Image processing method and image processing apparatus | |
US6874131B2 (en) | Method and system for client-less viewing of scalable documents | |
US7191211B2 (en) | Portable high speed internet access device priority protocol | |
US7529755B2 (en) | Method for document viewing | |
US6182127B1 (en) | Network image view server using efficent client-server tilting and caching architecture | |
US5838927A (en) | Method and apparatus for compressing a continuous, indistinct data stream | |
US7580577B2 (en) | Methods, apparatus and computer products for generating JPEG2000 encoded data in a client | |
KR100405060B1 (en) | Enlarged Digital Image Providing Method and Apparatus Using Data Communication Networks | |
JP4934462B2 (en) | Method, server and computer program for accessing partial document images | |
US7558430B2 (en) | Apparatus method and computer-readable medium for processing hierarchical encoded image data | |
EP1531393A2 (en) | Apparatus and method for remote controlling of Windows in Client-Server environment | |
WO1998037487A1 (en) | Method and system for accessing and rendering an image for transmission over a network | |
JP3897691B2 (en) | Scroll display method and apparatus | |
US20040036912A1 (en) | Method and system for accessing documents in environments with limited connection speed, storage, and screen space | |
JP3958198B2 (en) | Image processing method | |
JP2002503900A (en) | Network image view server using a highly efficient client server, tiling and caching architecture | |
JP4065535B2 (en) | Code data creation method and apparatus | |
JP4250401B2 (en) | Image processing apparatus and cache control method in the apparatus | |
JP4109963B2 (en) | Image processing method and apparatus | |
JP2006339972A (en) | Image processing apparatus and its control method, computer program, and storage medium | |
JP4125087B2 (en) | Image processing method | |
JP2001306214A (en) | Image display device and system and method for the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060725 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060731 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060911 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061006 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061020 |
|
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: 20061205 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061219 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 3897691 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110105 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120105 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130105 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140105 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |