JP2004040674A - Restoration method for jpeg2000 code data and restoration system for jpeg2000 code data - Google Patents
Restoration method for jpeg2000 code data and restoration system for jpeg2000 code data Download PDFInfo
- Publication number
- JP2004040674A JP2004040674A JP2002198068A JP2002198068A JP2004040674A JP 2004040674 A JP2004040674 A JP 2004040674A JP 2002198068 A JP2002198068 A JP 2002198068A JP 2002198068 A JP2002198068 A JP 2002198068A JP 2004040674 A JP2004040674 A JP 2004040674A
- Authority
- JP
- Japan
- Prior art keywords
- code data
- image
- jpeg2000
- data
- decoded
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 58
- 230000005540 biological transmission Effects 0.000 claims abstract description 9
- MTHSVFCYNBDYFN-UHFFFAOYSA-N diethylene glycol Chemical compound OCCOCCO MTHSVFCYNBDYFN-UHFFFAOYSA-N 0.000 claims 1
- 238000011084 recovery Methods 0.000 claims 1
- 239000000284 extract Substances 0.000 abstract description 4
- 230000009466 transformation Effects 0.000 abstract 1
- 230000000750 progressive effect Effects 0.000 description 25
- 238000004891 communication Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000000354 decomposition reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000003550 marker Substances 0.000 description 2
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
本発明はJPEG2000符号データの復元方法及びJPEG2000符号データの復元システムに関し、特にJPEG2000符号データをインターネットなどの回線を通して受信しプログレッシブ表示をおこなう場合に、従来よりも高速に画像を表示でき、さらに指定した任意の範囲を高速に表示可能なJPEG2000符号データの復元方法及びJPEG2000符号データの復元システムに関する。
【0002】
【従来の技術】
一般に、記憶媒体に記録されたJPEG2000符号データは、媒体に記録された順番でサーバからクライアントに送信されプログレッシブ表示される。
【0003】
JPEG2000符号化ではウェーブレット変換技術が採用されている。サーバでは、画像をタイル分割して、タイル毎に多重ウェーブレット変換で分離された画像の係数データをサブバンドとし、さらにサブバンドを2のべき乗毎に並べたビットプレーンに変換し、2値符号化して記憶媒体に保存していた。そして、クライアントから表示タイルの範囲とその解像度レベルを指定されると、指定されたタイルについて記憶媒体に保存していたJPEG2000符号データの内最低レベルの解像度の符号データから指定された解像度レベルの符号データまでを取りだして送っていた。
【0004】
クライアントでのJPEG2000符号データの復号化の過程で得られる画像データは、復号化が進むにつれてプログレッシブオーダー順に詳細になっていく。この復号化途中の画像を表示することにより、プログレッシブ表示が行われる。
【0005】
即ち、クライアントは、オペレータから入力されたタイル範囲について入力された解像度レベルの画像が表示されるまで、解像度レベルを最低レベルから1段づつあげながらサーバからその解像度のJPEG2000符号データを受信し、復号化し、画像表示する。
【0006】
この復号化時のウェーブレット逆変換で得られる低周波成分の係数となるサブバンドLLは元画像におけるコンポーネントの低解像度画像となるので、JPEG2000でのプログレッシブ表示では多重ウェーブレット逆変換処理の解像度レベルが切り替わるタイミングで、それまでに復号化されたサブバンドLL係数を用いて表示する。
【0007】
尚、プログレッシブオーダーの選択により輝度コンポーネントの詳細表示後に色差コンポーネントを表示するといったことや、画像の左上から右下へのラスター順で画像を表示することも可能である。
【0008】
【発明が解決しようとする課題】
しかし、上述した従来技術では、次のような問題があった。
【0009】
第1の問題点は、クライアントが、オペレータから入力されたタイル範囲について入力された解像度レベルの画像が表示されるまで、解像度レベルを最低レベルから1段づつあげながらサーバからその解像度のJPEG2000符号データを受信する場合、サーバ側では受信要求を受ける度に、JPEG2000符号データの先頭から指定された解像度までの符号データを取り出して送信していた為、JPEG2000符号データの送信や復号化に1つ前の解像度レベルのJPEG2000符号データの送信や復号化と重複している部分が生じ、その部分の送信や復号化処理に余計な時間がかかることである。
【0010】
例えば、送信する符号データにおいて、解像度レベルが一段あがった符号データの約1/4の部分が前解像度レベルの符号データと重複する。この符号データを復号化する処理では、約1/4の符号データを処理する部分が重複する。
【0011】
第2の問題点は、クライアント側が指示した注目箇所のみをサーバ側がJPEG2000符号データから取り出して送信し、クライアント側ではその注目箇所の符号データのみを復号化した部分の画像データをそれまでに復号化して表示しているプログレッシブ画像に合成して表示するといった手段がなかった為、画像の任意の範囲を高速に表示出来ないことである。
【0012】
本発明の目的は、JPEG2000符号データをインターネット等の回線等を通して受信してプログレッシブ表示を行う場合に、従来技術よりも高速に画像を表示できるシステムを提供することにある。
【0013】
本発明の他の目的は、画像を表示する側が指定した任意の範囲を高速に表示可能なシステムを提供することにある。
【0014】
【課題を解決するための手段】
本願の第1の発明は、サーバ側のファイルに予め画像のJPEG2000符号データを格納しておき、クライアントは前記サーバの前記ファイルから前記JPEG2000符号データを取り出してプログレッシブ表示する場合のJPEG2000符号データの復元方法において、前記サーバは前記画像の前記クライアントから指定された解像度レベルのサブバンドのみの符号データを前記ファイルから取り出して前記クライアントに送信し、前記クライアントは現在表示している前記画像の前記解像度レベルから順番に前記解像度レベルを上げていきその際前記解像度レベル毎に該解像度レベルに対応する前記サブバンドの符号データを前記サーバから受信して復号化し該復号化した前記サブバンドの符号データを予め用意した係数保存部に保存するとともに該復号化した前記サブバンドの符号データと前記係数保存部における前記復号化以前の前記解像度レベルで復号化した前記サブバンドの符号データとを用いてウェーブレット逆変換を行って画像データを復元することを特徴とする。
【0015】
本願の第2の発明は、第1の発明の前記クライアントは最初は解像度レベルが一番低い低周波成分係数LLのサブバンドの符号データを前記サーバから受信して復号化し該復号化したLLのサブバンドの符号データのウェーブレット逆変換を行って画像データを復元するとともに該復号化した前記LLのサブバンドの係数を予め用意した係数保存部に保存し、次から解像度レベルを上げる度に上げられた前記解像度レベルに対応する係数HL、LH、HHの3つのサブバンドの符号データを前記サーバから受信して復号化し前記係数保存部に保存している係数と復号化した前記係数HL、LH、HHとで前記ウェーブレット逆変換を行って前記画像データを復元するとともに前記復号化した前記係数HL、LH、HHを前記係数保存部に保存することを特徴とする。
【0016】
本願の第3の発明は、第1の発明の前記サーバから前記クライアントへ送られる前記サブバンドの前記符号データは、JPEG2000フォーマットであることを特徴とする。
【0017】
本願の第4の発明は、第1の発明の前記サブバンドが前記画像の任意に指定された部分の前記サブバンドであることを特徴とする。
【0018】
本願の第5の発明は、第4の発明にて前記画像の任意の前記部分の指定は、予め複数のタイルに分割され、各々の前記タイルには番号が振られた前記画像における前記タイルの番号によって指定されることを特徴とする。
【0019】
本願の第6の発明は、サーバ側のファイルに予め画像のJPEG2000符号データを格納しておき、クライアントは前記サーバの前記ファイルから前記JPEG2000符号データを取り出してプログレッシブ表示する場合のJPEG2000符号データの復元システムにおいて、前記画像の前記クライアントから指定された解像度レベルのサブバンドのみの符号データを前記ファイルから取り出す再構成部と取り出された前記符号データをクライアントに送信する送信部とを含む前記サーバと、現在表示している前記画像の前記解像度レベルから順番に前記解像度レベルを上げていきその際前記解像度レベル毎に前記解像度レベルに対応する画像データを要求する表示部と前記要求を受けて前記解像度レベルに対応する前記サブバンドの符号データを前記サーバから受信して復号化し該復号化した前記サブバンドの符号データを予め用意した係数保存部に保存するとともに該復号化した前記サブバンドの符号データと前記係数保存部における前記復号化以前の前記解像度レベルで復号化した前記サブバンドの符号データとを用いてウェーブレット逆変換を行って前記画像データを復元する受信部とを含む
前記クライアントとから構成されることを特徴とする。
【0020】
本願の第7の発明は、第6の発明の前記受信部は最初は解像度レベルが一番低い低周波成分係数LLのサブバンドの符号データを前記サーバから受信して復号化し該復号化したLLのサブバンドの符号データのウェーブレット逆変換を行って画像データを復元するとともに該復号化した前記LLのサブバンドの係数を予め用意した係数保存部に保存し、次から解像度レベルが上がる度に上げられた前記解像度レベルに対応する係数HL、LH、HHの3つのサブバンドの符号データを前記サーバから受信して復号化し前記係数保存部に保存している係数と復号化した前記係数HL、LH、HHとで前記ウェーブレット逆変換を行って前記画像データを復元するとともに前記復号化した前記係数HL、LH、HHを前記係数保存部に保存することを特徴とする。
【0021】
本願の第8の発明は、第6の発明の前記サーバの前記再構成部から前記クライアントへ送られる前記サブバンドの前記符号データは、JPEG2000フォーマットであることを特徴とする。
【0022】
本願の第9の発明は、第6の発明の前記サブバンドが前記画像の任意に指定された部分の前記サブバンドであることを特徴とする。
【0023】
本願の第10の発明は、第9の発明にて前記画像の任意の前記部分の指定は、予め複数のタイルに分割され、各々の前記タイルには番号が振られた前記画像における前記タイルの番号によって指定されることを特徴とする。
【0024】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【0025】
図1を参照すると、本発明のJPEG2000通信システムはサーバとクライアントとから構成されている。
【0026】
クライアントは、画像データを表示する表示部101と、サーバから符号データを受信する受信部102と、符号データを復号化して画像データを得る復号化器103と、係数保存部104とから構成されている。
【0027】
サーバは、クライアントに符号データを送信する送信部105と、JPEG2000ファイルからクライアントが要求した画像範囲や解像度に対応する符号データを切り出してJPEG2000フォーマットに再構成する再構成部106と符号化データを格納するJPEG2000ファイル107から構成されている。
【0028】
これらの手段はそれぞれ概略つぎのように動作する。
【0029】
クライアントの表示部101は、表示画像の種類、表示範囲、及び解像度のパラメータを有し、受信部102にパラメータで画像データを要求し、応答として受けた画像データを表示する。
【0030】
受信部102は、表示部101からの要求に基づき通信手段を用いてサーバの送信部105に要求を発行し、応答として送信部105から符号データを受信した後、復号化器103へパラメータと符号データとを渡す。
【0031】
復号化器103は、受信部102から受けた符号データを復号化し、必要なら係数保存部104から係数を読込んで復号化したデータとウェーブレット逆変換して解像度の1段階高い画像データを作成し、受信部102へ渡す。
【0032】
また、受信部102は係数保存部104へ作成した画像データの係数を保存する。
【0033】
係数保存部104は、復号化器103による係数の保存場所である。
【0034】
サーバの送信部105は、伝送路を通して受信部102から要求を受け、再構成部106に要求を発行し、応答として再構成部106から再構築されたJPEG2000符号データを得て、通信手段を用いて受信部102へ符号データを渡す。
【0035】
再構成部106は送信部105から要求を受け、パラメータで指示された表示画像の種類、表示範囲、及び解像度に対応する符号化データをJPEG2000ファイルから切りだし再構築してJPEG2000データとし、送信部105へ渡す。
【0036】
JPEG2000ファイル107は、システムで扱う画像の全ての解像度に対応する符号化データを保持する。
【0037】
次に、図2のフローチャートを参照して、本実施例のサーバの再構成部106の動作を説明する。
【0038】
まず、ステップS201で、再構成部106は送信部105からファイル名Fileと、対象となる指定タイルの数Tnと、タイル番号が格納されているエリアへのポインタTpと、解像度レベルRxと、再構成したJPEG2000符号データの出力先outをパラメータとして入力する。次に、ステップS202でファイル名FileからSOC〜SOD(後述、図11を参照)を取り出して編集し、出力先outに出力する。次に、ステップS203でタイル数Tn回処理を繰り返すためのカウンタIを初期化する。ステップS204では、指定されたタイル数の回数の処理を行ったかを判定する。ステップS205は、処理タイル番号が格納されているエリアからこれから取り出すタイル番号Txを得る処理である。次のステップS206では、指定Fileからタイル番号Tx解像度レベルRxに対応するパケットをサーチして取り出し、出力先outに出力する。次のステップS207はカウンタの更新を行う。その後、再度判定処理S204へ移行する。判定処理S204で、指定された最終タイルの処理の判定後はステップS208へ進み、最後にEOCを出力先outへ出力し終了する。
【0039】
このようにして再構成されたJPEG2000符号データは送信部105によってクライアントへ送信される。
【0040】
次に、図3のフローチャートを参照して、本実施例のクライアントの表示部101の動作を説明する。
【0041】
起動後、ステップS301で、表示部の初期化と受信部の初期化などを行う。次にステップS302でイベントの発生を待つ。何らかのイベントは発生したらステップS302の処理は終了する。ステップS303は、新規の画像表示の要求があった場合に発生するイベントの判別を行う。このプログレッシブ要求があった場合、ステップS304でプログレッシブ表示処理を行い、再度イベント待ちステップS302へ移行する。
【0042】
ステップS305は、ある部分のみを詳細に表示する要求が発生したときのイベントを判別する。この部分詳細表示要求があった場合、ステップS306で部分詳細表示処理を行う。この後、画像全体のプログレッシブ表示処理を続けるので、ステップS307でプログレッシブ処理を行い、再度イベント待ちステップS302へ移行する。
【0043】
次に、図4のフローチャートを参照して、ステップS304のプログレッシブ処理の動作を説明する。
【0044】
まず、ステップS401で、現在表示している画像全体の解像度レベルDRxと復号化を要求する画像全体の解像度レベルRxとをパラメータとして入力する。次にステップS402で受信部102へ復号化要求を発行する。このとき、表示対象となるファイル名と全タイルに対する要求であることと、要求する画像全体の解像度レベルRxとをパラメータとして与える。その後、復号化完了を待ち合わせる為、ステップS403でイベントの発生を待つ。何らかのイベントは発生したらステップS403の処理は終了する。ステップS404は、指定した画像全体の解像度レベルRxがすでに復号化済みである場合に発生するイベントの判別を行う。すでに復号化済みである場合は、指定した解像度レベルの符号データを受信と復号化が完了したときに発生するイベントを判別するステップS405の処理を行わない。ステップS406は、受信部の動作が完了したときに行う処理で、現在表示している画像全体の解像度レベルDRxと復号化を要求する画像全体の解像度レベルRxとをそれぞれ一段高いレベルに変更する。その後、ステップS407で受信部102へ復号化要求を発行する。このとき、復号化を要求する画像全体の解像度レベルRx は前回よりも1段回高くなっている。
【0045】
次に、ステップS408は、復号化が完了してステップS408でイベントの発生が確認された画像全体の解像度レベルDRxの画像をディスプレィ等に表示する処理を行う。必要なら復号化した画像を拡大して現画像と同じ大きさとする。その後は、ステップS407で発行した受信部102への復号化要求に対する応答イベントを待ち合わせるために、ステップS403へ移行する。ステップS405において、受信復号化完了イベントではないと判断された場合は、他のイベントが発生したことになるので、プログレッシブ処理を終了する。その際、受信部が動作中であった場合はその動作を停止されるため、プログレッシブ処理終了の前にステップS409で復号化停止要求を発行する。この要求に対する応答イベントは発生しないように設計される。
【0046】
次に、図5のフローチャートを参照して、ステップS306の部分詳細表示処理の動作を説明する。
【0047】
ステップS306の部分詳細表示処理は、ステップS304のプログレッシブ処理の動作に近い動作を行う。異なる点は、ステップS502とステップS507とで行う受信部への復号化要求のパラメータが指定された範囲のタイルであることと、ステップS508において、復号化された表示解像度レベルPDRxの部分画像を画像全体を示すプログレッシブ画像に合成する点である。
【0048】
次に、図6のフローチャートを参照して、受信部102の動作を説明する。
【0049】
まず、起動後はステップS601で、受信部102の初期化と係数保存部104の初期化を行う。次にステップS602でイベントの発生を待つ。何らかのイベントは発生したらステップS602の処理は終了する。ステップS603は、表示部101から画像の受信復号化の要求イベントを判別する。この要求があった場合、ステップS604で受信要求処理を行う。このとき、パラメータとして、要求されたタイル番号や解像度レベルなどが与えられる。受信要求処理の後は、受信完了イベントを待ち合わせるために、再度イベント待ちステップS602へ移行する。
【0050】
ステップS605は、ステップS604の受信要求処理の応答があったときのイベントを判別する。受信要求処理の応答イベントがあった場合、ステップS606で受信した符号データを復号化要求を発行する処理を行い、再度イベント待ちステップS602へ移行する。
【0051】
ステップS607は、ステップS606の復号化要求処理要求の応答があったときのイベントを判別する。復号化要求処理要求の応答イベントがあった場合、ステップS608で復号化したときの係数を保存する係数更新処理を行い、再度イベント待ちステップS302へ移行する。
【0052】
ステップS609は、表示部101から復号化停止要求があったときのイベントを判別する。復号化停止要求があった場合、ステップS610で受信停止要求を発行し、再度イベント待ちステップS602へ移行する。
【0053】
ステップS611は、ステップ610の受信停止要求の応答で受信が実際に停止したときのイベントを判別する。受信が停止した後は再度イベント待ちステップS602へ移行する。
【0054】
ステップS611で受信停止イベントではないと判断された場合は終了イベントなので、受信部は終了する。
【0055】
次に、図7のフローチャートを参照して、受信部102のステップS604の動作を説明する。
【0056】
まず、ステップS701で表示する画像のファイル名File、受信を要求するタイルの数Tn、要求されたタイル番号が格納されているポインタrTp、これからサーバに要求するタイル番号を格納するポインタTp、要求する解像度レベルRx、およびサーバに要求するタイル番号かどうかを判定するのに使用する係数保存部104の解像度レベル保存エリアなどを入力する。
【0057】
次にステップS702では、係数保存部に格納されている係数データが要求されたファイルFileと同じかを判別し、異なる場合はステップS703で参照フラグFを0にする。また、要求されたFileと同じであった場合でも、画像全体の最低解像度レベルの画像の要求である場合はステップS703で参照フラグFを0にする。その他の場合は、参照フラグFを1にする。
【0058】
次にステップS704で、要求されたタイル数の回数を処理するカウンタIと受信要求を発行するタイルの数を管理するカウンタnを初期化する。
次に、ステップS705で、要求されたタイル数の回数を処理していないかを判別する。要求されたタイル数の回数を処理していない場合はステップS706で要求されたタイル番号のひとつを処理するタイル番号Txに格納する。そして、ステップS707では、参照フラグFが1でかつ、係数保存部に保存されている指定タイル番号の解像度レベルsRx[Tx]が要求された解像度レベルよりも大きいかを判別する。これは、部分詳細表示ステップS306で、特定タイルのみが最高解像度まで復号化表示されている場合に、その部分のタイルの受信と復号化を避けるためである。ステップS707でタイル番号Txが受信するタイルであると判別された場合は、ステップS708でこれからサーバに要求するタイル番号を格納するポインタTp にタイル番号Txを格納し、受信要求を発行するタイルの数を管理するカウンタnをカウントアップする。
【0059】
次に要求されたタイル数の回数を処理するカウンタIをステップS709でカウントアップし、再度ステップS705を行う。
【0060】
ステップS705で、要求されたタイル数の回数を処理したと判別した場合は、ステップS710に移行し、要求するファイル名File、解像度レベルRx、およびサーバに要求するタイル番号の格納ポインタTpのパラメータでサーバに受信要求を発行し、処理を終了する。
【0061】
次に、図8のフローチャートを参照して、受信部102のステップS606の動作を説明する。
【0062】
まず、ステップS801で、復号化するタイルの数Tn、タイル番号が格納されているポインタTp、復号化する解像度レベルRx,、受信した符号データが格納されているポインタin、および復号化した画像データを格納するエリアへのポインタoutなどを入力する。
【0063】
次にステップS802で、係数保存部104に格納されているタイル番号別の係数データへのアドレスを格納する係数保存部アドレス格納エリアKpを準備する。
【0064】
次にステップS803で、受信したタイル数の回数を処理するカウンタIを初期化する。
【0065】
次に、ステップS804で、受信したタイル数の回数を処理していないかを判別する。タイル数の回数を処理していない場合はステップS805で復号化するタイル番号のひとつをTxに取り出し、ステップS806でタイル番号Txを復号化するときに参照する係数へのアドレスをKp[Tx]に格納する。次にカウンタIをステップS807でカウントアップし、再度ステップS804を行う。
【0066】
ステップS804で受信したタイル数の回数を処理した場合、受信した符号データのタイルの各々にそれぞれ対応した係数保存部104の係数が全てそろったので、ステップS808で受信した符号データin、保存している係数Kpなどのパラメータとともに復号化器103へ復号化要求を発行し、処理を終える。
【0067】
次に、図9のフローチャートを参照して、受信部102のステップS608の動作を説明する。
【0068】
まず、ステップS901で、復号化したファイル名File、復号化したタイルの数Tn、タイル番号が格納されているポインタTp、復号化した解像度レベルRx,、復号化器が復号化して得られるタイル別の係数へのポインタiKp、係数保存部104のタイル番号別の係数保存エリアsKp、および係数保存部104のタイル番号別の解像度レベル保存エリアsRxなどを入力する。
【0069】
次にステップS902で、復号化したファイル名Fileと係数保存部のファイル名Kfileとを比較する。一致しない場合は係数保存部104に格納されているデータは、新規ファイルのものなので、ステップS903で係数保存部104を初期化する。また、ステップS902において最低線密度の全タイルが復号化された場合も係数保存部104を初期化する。
【0070】
次にステップS904で、復号化したタイル数の回数を処理するカウンタIを初期化する。
【0071】
次に、ステップS905で、復号化したタイル数の回数を処理していないかを判別する。タイル数の回数を処理していない場合はステップS906で復号化したタイル番号のひとつをTxに取り出し、ステップS907でタイル番号Txの復号化解像度レベルRxと係数iKp[Tx]とを係数保存部に格納する。次にカウンタIをステップS908でカウントアップし、再度ステップS905を行う。
【0072】
ステップS905で復号化したタイル数の回数を処理したと判断された場合、復号化したタイルに対する全ての係数を保存したので、処理を終える。
【0073】
次に、図10、図11、図12および図13を参照して本実施例のJPEG2000符号の再構築方法と、復号化処理における係数について詳細に説明する。
【0074】
図10はひとつのコンポーネントの1タイルにおいて解像度分解レベル3の場合のウェーブレット多重解像度変換後の係数を示しており、この係数は予測算術符号で符号化される。係数を符号化する順番は(1)から(10)である。係数(1)の復号データを復号化してウェーブレット逆変換を実施すると、一番低い解像度の画像が得られる。この画像の解像度をrとした場合、解像度2rの画像データは(1)、(2)、(3)及び(4)の係数復号データを復号化してウェーブレット逆変換を行うと得ることができる。同様に、解像度4rの画像データは(1)〜(7)の係数符号データから得ることができる。同様に、解像度8r(最高画質)の画像は(1)〜(10)から得ることができる。
【0075】
図11は解像度分解レベル3で、タイル数が1の場合におけるJPEG2000フォーマットの例を示している。図11の係数符号データ(1)〜(10)は、図10のそれぞれ(1)〜(10)の係数符号化データに対応する。本JPEG2000フォーマットでは各解像度別に符号データを取り出すときにSOPマーカを検出して符号データを取り出している。JPEG2000符号データでは、さらにEOPマーカが使用されてもよい。
【0076】
図12は図1のJPEG2000通信システムのサーバ再構成部106が再構成するJPEG2000符号データの例を示している。
【0077】
解像度分解レベル4でタイル数が1の場合は、A(解像度r)からD(解像度8r)の4本のJPEG2000符号データに分割再構成され、クライアントの要求に従って、A、B,C,Dの順番で送信される。
【0078】
図13はクライアントがプログレッシブ表示を行う場合に入力する符号データと保持する係数LLとの関係を示したものである。
【0079】
まず、図13のJPEG2000符号データAを復号化器に入力する。復号化器は、符号データAに対して算術符号の復号化を行い、ウェーブレット逆変換を行い係数LL(NL=0)を生成する。
【0080】
1画素が単色の場合は係数LLが表示用画像データとなるが、RGBの24bitで表される画像を色空間変換して符号化した場合はウェーブレット逆変換後の係数LLは1つの輝度コンポーネントと2つの色差コンポーネントとで構成されているので、これらのコンポーネントを色空間変換して表示用のRGB画像データを得る。
【0081】
次に、解像度2rの画像が必要な場合は、符号データBと先に出力した係数LL(NL=0)とを入力し、符号データBに対して算術符号の復号化を行ったデータと係数LL(NL=0)とを用いてウェーブレット逆変換すると、係数LL(NL=1)と解像度2rの画像とを得る。
【0082】
解像度4rの画像及び解像度8rの画像を得る場合も同様に、受信した符号データに対して復号化を行い、前の解像度の係数とともにウェーブレット逆変換を行うことによって得ることができる。最高解像度の係数データは破棄する。
【0083】
次に、図14、図15及び図16を用いて、本システムにおけるJPEG2000符号化データの一部分を取り出して再構成する方法について説明する。
【0084】
図14は、画像に縦横がそれぞれ256画素、256ラインのタイルを設定した場合の画像とタイルとの関係を示している。図14では画像サイズが1024画素、1024ラインであるので、タイル数は16となる。JPEG2000符号化ではタイル単位に符号化が行われるので、本システムではこれを利用してタイル単位で符号化データを切り出す。画像サイズとタイルサイズとが同じ大きさの場合はタイル数が1となるので符号データを切り出すことができない。よって、本システムでは図14の例に示すような、固定サイズのタイルを設定する。
【0085】
図14において、詳細に表示したい範囲として図のクライアント要求範囲を指定した場合、タイル11、タイル12、タイル15およびタイル16が指定範囲に含まれるので、サーバはこの指定タイルの符号データを切り出してJPEG2000符号を再構築し、クライアントへ送信する。クライアントは受信した符号データを復号化し、タイル11、タイル12、タイル15およびタイル16の画像データを得た後、必要な画像部分のみをマスクして表示する画像とする。
【0086】
図15は、タイル数が16である単一コンポーネント画像のJPEG2000符号化フォーマットの例である。
【0087】
図16は、図15のJPEG2000符号化フォーマットからクライアントが要求したタイル11、タイル12、タイル15およびタイル16のタイルを切り出して、JPEG2000符号化フォーマットに再構築したJPEG2000符号化フォーマットの例である。尚、図15および図16におけるBit Streamは、タイル内のサブバンドを符号化したデータのことで、図11では最初のSOPからEOCの前までの符号データに対応する。また、クライアントへ送信する場合は、図12に示すように、解像度別に再構成して出力する。
【0088】
画像が輝度(Y)空間、色差1(Cb)空間、色差2(Cr)空間の合わせて3つのコンポーネントで構成されている場合、Bit Streamは図17に示す構成となる。
【0089】
本JPEG2000通信システムでは、以上に説明した解像度単位のJPEG2000符号化フォーマットの再構築処理と、クライアントが指定した範囲を含むタイルを切りだしてJPEG2000符号化フォーマットを再構築する機能とを有する。
【0090】
本実施の形態では、プログレッシブ表示の各解像度の符号データをJPEG2000符号データの最初から処理するのではなく、それまでの処理で発生した係数とその解像度の符号データのみを取りだして再構築したJPEG2000符号データとを用いて高解像度の画像データを復元するので、データ転送量や復号化の処理量を従来処理の約3/4とすることができる。
【0091】
また、本実施の形態では、さらに、任意の矩形部分に相当する符号データのみを元のJPEG2000符号データから取り出してJPEG2000符号データを再構築し送信および復号化を行うというように構成されているため、任意の部分のみを高速に表示することができる。
【0092】
図18はJPEG2000符号データのプログレッシブ表示中に、マウスである箇所を指定すると、その箇所を中心として順次外側に向かって詳細に表示されていく過程の画像表示の例である。本発明のJPEG2000通信システムはJPEG2000符号化データをタイル単位で切り出してプログレッシブ表示をすることが可能であるので、マウスで指示した部分のタイルから順次外側の画像をタイル単位にプログレッシブ表示または、最高画質で表示するよう動作する。
【0093】
本実施の形態は画像サイズが大きなJPEG2000符号データに対して特に有効で、まず画像全体のプログレッシブ表示を行って、ある程度画像が判明した際に高解像度で表示したい個所を指定すると、その部分を中心に高解像度画像を表示することが実現するといった利点がある。
【0094】
【発明の効果】
以上説明したように、本発明は、通信回線を通してJPEG2000符号データを受信して表示する際に、表示する画像の解像度レベルを上げていく各段階での低周波成分の係数を保存し、通信回線からは保存した係数に相当する符号データを含まないJPEG2000符号データを受信するので、通信データ量と復号化処理量とを削減し、従来技術よりも高速にプログレッシブ表示できる効果がある。
【0095】
また、JPEG2000符号データから、指定した範囲にあるタイルの符号データを取り出してJPEG2000フォーマットに再構築し転送して復号化する手段を有しているため、画像の任意の範囲を早く表示することができる効果がある。
【図面の簡単な説明】
【図1】本発明のJPEG2000通信システムの構成図である。
【図2】本発明のサーバの再構成部106の動作を示すフローチャートである。
【図3】本発明のクライアントの表示部101の動作を示すフローチャートである。
【図4】本発明のプログレッシブ処理の動作を説明するフローチャートである。
【図5】本発明の部分詳細表示処理の動作を説明するフローチャートである。
【図6】本発明の受信部の動作を説明するフローチャートである。
【図7】本発明の受信部の受信要求処理の動作を説明するフローチャートである。
【図8】本発明の受信部の復号化要求処理要求の動作を説明するフローチャートである。
【図9】本発明の受信部の係数更新処理の動作を説明するフローチャートである。
【図10】ひとつのコンポーネントの1タイルにおいて解像度分解レベル3の場合のウェーブレット多重解像度変換後の係数を示す図である。
【図11】解像度分解レベル3で、タイル数が1の場合におけるJPEG2000フォーマットの例を示す図である。
【図12】JPEG2000通信システムのサーバ再構成部が再構成するJPEG2000符号データの例を示す図である。
【図13】クライアントがプログレッシブ表示を行う場合に入力する符号データと保持する係数LLとの関係を示す図である。
【図14】JPEG2000符号データの画像とタイルとの関係と、本発明のJPEG2000通信システムのクライアントが指定した範囲の例を示す図である。
【図15】図14に示した画像のタイル単位になっているJPEG2000フォーマットを説明する図である。
【図16】図15に示したタイル単位のJPEG2000フォーマットの画像から図14に示した範囲を取り出してJPEG2000フォーマットに再構成したときのJPEG2000フォーマットを説明する図である。
【図17】図14が3コンポーネントで構成されている場合に、図15に示したタイル単位のJPEG2000フォーマットの画像から図14に示した範囲を取り出してJPEG2000フォーマットに再構成したときのJPEG2000フォーマットを説明する図である。
【図18】本発明の実施例を説明する図である。
【符号の説明】
101 表示部
102 受信部
103 復号化器
104 係数保存部
105 送信部
106 再構成部
107 JPEG2000ファイル[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a method for restoring JPEG2000 code data and a system for restoring JPEG2000 code data, and in particular, when receiving JPEG2000 code data through a line such as the Internet and performing progressive display, an image can be displayed at higher speed than in the past, and a designated image can be displayed. The present invention relates to a JPEG2000 code data restoration method and a JPEG2000 code data restoration system capable of displaying an arbitrary range at high speed.
[0002]
[Prior art]
Generally, JPEG2000 encoded data recorded on a storage medium is transmitted from a server to a client in the order recorded on the medium, and is progressively displayed.
[0003]
In JPEG2000 encoding, a wavelet transform technique is employed. The server divides the image into tiles, converts the coefficient data of the image separated by the multiple wavelet transform into tiles into subbands, and further converts the subbands into bit planes arranged in powers of two, and performs binary coding. Was stored in a storage medium. When the display tile range and its resolution level are specified by the client, the code of the specified resolution level is selected from the code data of the lowest level of the JPEG2000 code data stored in the storage medium for the specified tile. I was taking out the data and sending it.
[0004]
The image data obtained in the process of decoding the JPEG2000 encoded data at the client becomes more detailed in the progressive order as the decoding progresses. The progressive display is performed by displaying the image in the middle of the decoding.
[0005]
That is, the client receives the JPEG2000 code data of the resolution from the server while increasing the resolution level by one step from the lowest level until an image of the resolution level input for the tile range input by the operator is displayed, and decodes the data. And display the image.
[0006]
Since the sub-band LL, which is a low-frequency component coefficient obtained by the inverse wavelet transform at the time of decoding, is a low-resolution image of the component in the original image, the resolution level of the multiple inverse wavelet transform process is switched in the progressive display in JPEG2000. At the timing, it is displayed by using the sub-band LL coefficient decoded so far.
[0007]
It is also possible to display the chrominance component after the detailed display of the luminance component by selecting the progressive order, or to display the images in a raster order from the upper left to the lower right of the image.
[0008]
[Problems to be solved by the invention]
However, the above-described related art has the following problems.
[0009]
The first problem is that the client raises the resolution level one by one from the lowest level until the image of the resolution level input for the tile range input by the operator is displayed from the server. When the server receives a request, the server extracts code data from the beginning of the JPEG2000 code data to the specified resolution every time a reception request is received and transmits the data. In some cases, transmission and decoding of JPEG2000 code data having the resolution level described above overlap with each other, and extra time is required for transmission and decoding of the portion.
[0010]
For example, in the coded data to be transmitted, about one-fourth of the coded data whose resolution level has increased by one level overlaps the coded data of the previous resolution level. In the process of decoding the code data, a portion for processing about 1/4 of the code data overlaps.
[0011]
The second problem is that the server extracts only the point of interest designated by the client from the JPEG2000 code data and transmits it, and the client decodes the image data of the part obtained by decoding only the code data of the point of interest by then. That is, there is no means for combining and displaying a progressive image that is being displayed, and an arbitrary range of the image cannot be displayed at high speed.
[0012]
An object of the present invention is to provide a system capable of displaying an image at a higher speed than that of the related art when progressive display is performed by receiving JPEG2000 code data through a line such as the Internet.
[0013]
It is another object of the present invention to provide a system capable of displaying an arbitrary range specified by a side displaying an image at a high speed.
[0014]
[Means for Solving the Problems]
According to a first aspect of the present invention, JPEG2000 encoded data of an image is stored in a file on a server in advance, and a client retrieves the JPEG2000 encoded data from the file on the server and restores the JPEG2000 encoded data when progressively displaying the JPEG2000 encoded data. The method wherein the server retrieves code data of only subbands of a resolution level specified by the client of the image from the file and transmits the code data to the client, wherein the client performs the resolution level of the image currently displayed. The resolution level is sequentially increased from this time, and at that time, the code data of the sub-band corresponding to the resolution level is received from the server and decoded for each of the resolution levels, and the decoded code data of the sub-band is decoded in advance. In the prepared coefficient storage Image data by performing inverse wavelet transform using the decoded code data of the sub-band and the code data of the sub-band decoded at the resolution level before the decoding in the coefficient storage unit. It is characterized by doing.
[0015]
According to a second aspect of the present invention, in the first aspect, the client first receives and decodes the code data of the sub-band of the low-frequency component coefficient LL having the lowest resolution level from the server and decodes the decoded LL. The image data is restored by performing the inverse wavelet transform of the code data of the sub-band, and the decoded LL sub-band coefficients are stored in a coefficient storage unit prepared in advance, and are increased each time the resolution level is increased from the next time. The code data of the three sub-bands HL, LH, and HH corresponding to the resolution level are received from the server and decoded, and the coefficients stored in the coefficient storage unit and the decoded coefficients HL, LH, HH performs the inverse wavelet transform to restore the image data, and stores the decoded coefficients HL, LH, HH in the coefficient storage unit. And wherein the Rukoto.
[0016]
A third invention of the present application is characterized in that the code data of the subband transmitted from the server to the client according to the first invention is in a JPEG2000 format.
[0017]
A fourth invention of the present application is characterized in that the sub-band of the first invention is the sub-band of an arbitrarily designated portion of the image.
[0018]
According to a fifth aspect of the present invention, in the fourth aspect, the designation of any part of the image is divided into a plurality of tiles in advance, and each tile is assigned a number. It is specified by a number.
[0019]
According to a sixth aspect of the present invention, JPEG2000 encoded data of an image is stored in a file on a server side in advance, and a client retrieves the JPEG2000 encoded data from the file on the server and restores the JPEG2000 encoded data when progressively displaying the JPEG2000 encoded data. In the system, the server including: a reconstructing unit that retrieves code data of only the subband of the resolution level specified by the client of the image from the file; and a transmission unit that transmits the retrieved code data to the client. A display unit for requesting image data corresponding to the resolution level for each of the resolution levels, and the resolution level in response to the request; Of the subband corresponding to Receiving the decoded data from the server, storing the decoded code data of the sub-band in a coefficient storage unit prepared in advance, and decoding the decoded code data of the sub-band and the decoding in the coefficient storage unit. And a receiving unit that performs inverse wavelet transform using the code data of the sub-band decoded at the resolution level before the conversion and restores the image data.
And the client.
[0020]
According to a seventh aspect of the present invention, in the sixth aspect, the receiving section first receives and decodes the code data of the sub-band of the low frequency component coefficient LL having the lowest resolution level from the server and decodes the decoded LL. The image data is restored by performing the inverse wavelet transform of the code data of the sub-band, and the decoded LL sub-band coefficients are stored in a coefficient storage unit prepared in advance, and are increased each time the resolution level increases. The coefficient data of the three sub-bands HL, LH, and HH corresponding to the obtained resolution level are received from the server and decoded, and the coefficients stored in the coefficient storage unit and the decoded coefficients HL and LH , HH to perform the inverse wavelet transform to restore the image data, and store the decoded coefficients HL, LH, HH in the coefficient storage unit. The features.
[0021]
According to an eighth invention of the present application, the code data of the subband transmitted from the reconfiguration unit of the server to the client of the sixth invention is in a JPEG2000 format.
[0022]
A ninth aspect of the present invention is characterized in that the sub-band of the sixth aspect is the sub-band of an arbitrarily designated portion of the image.
[0023]
In a tenth aspect of the present invention, in the ninth aspect, the designation of any part of the image is divided into a plurality of tiles in advance, and each tile is assigned a number. It is specified by a number.
[0024]
BEST MODE FOR CARRYING OUT THE INVENTION
Next, embodiments of the present invention will be described in detail with reference to the drawings.
[0025]
Referring to FIG. 1, the JPEG2000 communication system of the present invention includes a server and a client.
[0026]
The client includes a
[0027]
The server stores the transmitting
[0028]
Each of these means operates as follows.
[0029]
The
[0030]
The receiving
[0031]
The
[0032]
Further, the receiving
[0033]
The
[0034]
The transmitting
[0035]
Upon receiving a request from the transmitting
[0036]
The
[0037]
Next, the operation of the
[0038]
First, in step S201, the reconstructing
[0039]
The reconstructed JPEG2000 code data is transmitted to the client by the
[0040]
Next, the operation of the
[0041]
After startup, in step S301, initialization of the display unit, initialization of the reception unit, and the like are performed. Next, in step S302, occurrence of an event is waited. If any event occurs, the process of step S302 ends. In step S303, an event that occurs when a new image display request is made is determined. If this progressive request has been made, a progressive display process is performed in step S304, and the process returns to the event waiting step S302.
[0042]
A step S305 determines an event when a request for displaying only a certain portion in detail is generated. If there is a partial detail display request, partial detail display processing is performed in step S306. Thereafter, since the progressive display process of the entire image is continued, the progressive process is performed in step S307, and the process returns to the event waiting step S302.
[0043]
Next, the operation of the progressive processing in step S304 will be described with reference to the flowchart in FIG.
[0044]
First, in step S401, the resolution level DRx of the entire image currently displayed and the resolution level Rx of the entire image requested to be decoded are input as parameters. Next, a decryption request is issued to the receiving
[0045]
Next, in step S408, a process of displaying, on a display or the like, an image of the resolution level DRx of the entire image for which decoding has been completed and occurrence of an event has been confirmed in step S408. If necessary, the decoded image is enlarged to have the same size as the current image. Thereafter, the process proceeds to step S403 in order to wait for a response event to the decryption request to the receiving
[0046]
Next, the operation of the partial detail display process in step S306 will be described with reference to the flowchart in FIG.
[0047]
The partial detail display processing in step S306 performs an operation similar to the operation of the progressive processing in step S304. The difference is that the parameters of the decoding request to the receiving unit performed in step S502 and step S507 are tiles in the specified range, and in step S508 the decoded partial image of the display resolution level PDRx is The point is that the image is synthesized with a progressive image showing the entire image.
[0048]
Next, the operation of the receiving
[0049]
First, after startup, in step S601, initialization of the
[0050]
A step S605 determines an event when there is a response to the reception request processing in the step S604. If there is a response event of the reception request process, a process of issuing a request to decode the coded data received in step S606 is performed, and the process returns to the event waiting step S602.
[0051]
A step S607 determines an event when a response to the decryption request processing request of the step S606 is received. If there is a response event of the decryption request processing request, a coefficient update process for storing the decrypted coefficient is performed in step S608, and the process returns to the event waiting step S302.
[0052]
A step S609 discriminates an event when there is a decoding stop request from the
[0053]
In step S611, an event when reception has actually stopped in response to the reception stop request in
[0054]
If it is determined in step S611 that the event is not the reception stop event, it is an end event, and the receiving unit ends.
[0055]
Next, the operation of the receiving
[0056]
First, in step S701, the file name File of the image to be displayed, the number Tn of tiles requested to be received, the pointer rTp storing the requested tile number, the pointer Tp storing the tile number requested from the server, and the request are requested. The user inputs a resolution level Rx and a resolution level storage area of the
[0057]
Next, in step S702, it is determined whether the coefficient data stored in the coefficient storage unit is the same as the requested file, and if different, the reference flag F is set to 0 in step S703. Even if the requested file is the same as the requested file, if the request is for an image of the lowest resolution level of the entire image, the reference flag F is set to 0 in step S703. Otherwise, the reference flag F is set to 1.
[0058]
Next, in step S704, a counter I for processing the number of requested tiles and a counter n for managing the number of tiles for which a reception request is issued are initialized.
Next, in step S705, it is determined whether the requested number of tiles has been processed. If the number of requested tiles has not been processed, one of the requested tile numbers is stored in the tile number Tx to be processed in step S706. In step S707, it is determined whether the reference flag F is 1 and the resolution level sRx [Tx] of the designated tile number stored in the coefficient storage unit is higher than the requested resolution level. This is to avoid receiving and decoding the tile of the specific tile when only the specific tile is decoded and displayed to the highest resolution in the partial detail display step S306. If it is determined in step S707 that the tile number Tx is the tile to be received, the tile number Tx is stored in the pointer Tp for storing the tile number to be requested from the server in step S708, and the number of tiles for which the reception request is issued Is counted up.
[0059]
Next, the counter I for processing the requested number of tiles is counted up in step S709, and step S705 is performed again.
[0060]
If it is determined in step S705 that the number of times of the requested number of tiles has been processed, the process proceeds to step S710, and the parameters of the storage pointer Tp of the requested file name File, the resolution level Rx, and the tile number requested of the server are used. A reception request is issued to the server, and the process ends.
[0061]
Next, the operation of step S606 of the receiving
[0062]
First, in step S801, the number Tn of tiles to be decoded, the pointer Tp storing the tile number, the resolution level Rx to be decoded, the pointer in storing the received code data, and the decoded image data Is input, such as a pointer out to an area for storing.
[0063]
Next, in step S802, a coefficient storage unit address storage area Kp for storing an address to coefficient data for each tile number stored in the
[0064]
Next, in step S803, a counter I for processing the number of received tiles is initialized.
[0065]
Next, in step S804, it is determined whether the number of received tiles has been processed. If the number of tiles has not been processed, one of the tile numbers to be decoded is extracted to Tx in step S805, and the address of the coefficient to be referred to when decoding the tile number Tx in step S806 is set to Kp [Tx]. Store. Next, the counter I is counted up in step S807, and step S804 is performed again.
[0066]
When the number of tiles received in step S804 has been processed, all of the coefficients of the
[0067]
Next, the operation of the receiving
[0068]
First, in step S901, the decrypted file name File, the number of decrypted tiles Tn, the pointer Tp storing the tile number, the decrypted resolution level Rx, and the tiles obtained by the decryption by the decryptor , A coefficient storage area sKp for each tile number of the
[0069]
Next, in step S902, the decrypted file name File is compared with the file name Kfile of the coefficient storage unit. If they do not match, the data stored in the
[0070]
Next, in step S904, a counter I for processing the number of times of decoding of the number of tiles is initialized.
[0071]
Next, in step S905, it is determined whether the number of times of decoding the number of tiles has been processed. If the number of tiles has not been processed, one of the tile numbers decoded in step S906 is taken out as Tx, and in step S907, the decoded resolution level Rx of the tile number Tx and the coefficient iKp [Tx] are stored in the coefficient storage unit. Store. Next, the counter I is counted up in step S908, and step S905 is performed again.
[0072]
If it is determined in step S905 that the number of times of decoding the number of tiles has been processed, all the coefficients for the decoded tile have been saved, and the process ends.
[0073]
Next, with reference to FIGS. 10, 11, 12, and 13, a method of reconstructing a JPEG2000 code according to the present embodiment and coefficients in a decoding process will be described in detail.
[0074]
FIG. 10 shows coefficients after wavelet multi-resolution conversion in the case of
[0075]
FIG. 11 shows an example of the JPEG2000 format in the case where the resolution decomposition level is 3 and the number of tiles is 1. The coefficient code data (1) to (10) in FIG. 11 correspond to the coefficient code data (1) to (10) in FIG. In this JPEG2000 format, when extracting code data for each resolution, an SOP marker is detected and code data is extracted. In JPEG2000 code data, an EOP marker may be further used.
[0076]
FIG. 12 shows an example of the JPEG2000 code data reconfigured by the
[0077]
When the number of tiles is 1 at
[0078]
FIG. 13 shows the relationship between the code data input when the client performs the progressive display and the held coefficient LL.
[0079]
First, the JPEG2000 coded data A of FIG. 13 is input to the decoder. The decoder performs arithmetic code decoding on the code data A and performs inverse wavelet transform to generate a coefficient LL (NL = 0).
[0080]
When one pixel is a single color, the coefficient LL becomes display image data. However, when an image represented by RGB 24 bits is subjected to color space conversion and encoded, the coefficient LL after the inverse wavelet transform has one luminance component. Since it is composed of two color difference components, these components are subjected to color space conversion to obtain RGB image data for display.
[0081]
Next, when an image having a resolution of 2r is required, the code data B and the previously output coefficient LL (NL = 0) are input, and the data and coefficient obtained by performing arithmetic code decoding on the code data B are input. When the inverse wavelet transform is performed using LL (NL = 0), a coefficient LL (NL = 1) and an image having a resolution of 2r are obtained.
[0082]
Similarly, when obtaining an image with a resolution of 4r and an image with a resolution of 8r, it can be obtained by decoding received code data and performing inverse wavelet transform together with coefficients of the previous resolution. The highest resolution coefficient data is discarded.
[0083]
Next, a method of extracting and reconstructing a part of the JPEG2000 encoded data in the present system will be described with reference to FIGS.
[0084]
FIG. 14 shows the relationship between an image and a tile in the case where tiles each having 256 pixels in length and width and 256 lines in the image are set. In FIG. 14, since the image size is 1024 pixels and 1024 lines, the number of tiles is 16. In JPEG2000 encoding, encoding is performed in tile units, and the present system uses this to cut out encoded data in tile units. If the image size and the tile size are the same size, the number of tiles is 1, so that code data cannot be cut out. Therefore, in this system, fixed-size tiles are set as shown in the example of FIG.
[0085]
In FIG. 14, when the client request range shown in the figure is designated as the range to be displayed in detail, the tile 11,
[0086]
FIG. 15 is an example of a JPEG2000 encoding format of a single component image having 16 tiles.
[0087]
FIG. 16 is an example of the JPEG2000 encoding format in which the tiles of tile 11,
[0088]
When the image is composed of a total of three components, that is, a luminance (Y) space, a color difference 1 (Cb) space, and a color difference 2 (Cr) space, the Bit Stream has the structure shown in FIG.
[0089]
The JPEG2000 communication system has a function of reconstructing the JPEG2000 encoding format in units of resolution described above and a function of reconstructing the JPEG2000 encoding format by cutting out a tile including a range designated by the client.
[0090]
In this embodiment, instead of processing the code data of each resolution of the progressive display from the beginning of the JPEG2000 code data, the JPEG2000 code obtained by retrieving only the coefficients generated in the processing up to that point and the code data of the resolution is reconstructed. Since the high-resolution image data is restored using the data, the data transfer amount and the decoding processing amount can be reduced to about / of the conventional processing.
[0091]
Further, in the present embodiment, since only the code data corresponding to an arbitrary rectangular portion is extracted from the original JPEG2000 code data, the JPEG2000 code data is reconstructed, and transmission and decoding are performed. , Only an arbitrary portion can be displayed at high speed.
[0092]
FIG. 18 shows an example of an image display in a process where, when a mouse is designated during progressive display of JPEG2000 code data, a portion is sequentially displayed in detail outward from the designated portion. Since the JPEG2000 communication system of the present invention is capable of cutting out JPEG2000 encoded data in tile units and performing progressive display, the outer images are sequentially displayed in tile units from the tile indicated by the mouse in order of progressive display or highest image quality. It works to display.
[0093]
The present embodiment is particularly effective for JPEG2000 code data having a large image size. First, progressive display of the entire image is performed, and when a part to be displayed at a high resolution is specified when an image has been identified to some extent, that part is centered. There is an advantage that the display of a high-resolution image is realized.
[0094]
【The invention's effect】
As described above, according to the present invention, when receiving and displaying JPEG2000 code data through a communication line, the coefficient of a low frequency component at each stage of increasing the resolution level of an image to be displayed is stored. Since JPEG2000 code data that does not include code data corresponding to the stored coefficients is received from, the amount of communication data and the amount of decoding processing are reduced, and there is an effect that progressive display can be performed faster than in the related art.
[0095]
In addition, since it has means for extracting code data of tiles within a specified range from JPEG2000 code data, reconstructing the data in the JPEG2000 format, transferring the data, and decoding the data, an arbitrary range of the image can be displayed quickly. There is an effect that can be done.
[Brief description of the drawings]
FIG. 1 is a configuration diagram of a JPEG2000 communication system of the present invention.
FIG. 2 is a flowchart showing the operation of the
FIG. 3 is a flowchart showing an operation of the
FIG. 4 is a flowchart illustrating an operation of a progressive process according to the present invention.
FIG. 5 is a flowchart illustrating an operation of a partial detail display process according to the present invention.
FIG. 6 is a flowchart illustrating an operation of a receiving unit according to the present invention.
FIG. 7 is a flowchart illustrating an operation of a reception request process of a reception unit according to the present invention.
FIG. 8 is a flowchart illustrating the operation of a decryption request processing request of the receiving unit according to the present invention.
FIG. 9 is a flowchart illustrating an operation of a coefficient update process of the receiving unit according to the present invention.
FIG. 10 is a diagram illustrating coefficients after wavelet multi-resolution conversion in a case where the resolution decomposition level is 3 in one tile of one component.
FIG. 11 is a diagram illustrating an example of a JPEG2000 format in the case where the number of tiles is 1 at
FIG. 12 is a diagram illustrating an example of JPEG2000 encoded data reconfigured by a server reconfiguration unit of the JPEG2000 communication system.
FIG. 13 is a diagram illustrating a relationship between code data input when a client performs progressive display and a held coefficient LL.
FIG. 14 is a diagram showing an example of a relationship between an image of JPEG2000 code data and a tile and a range specified by a client of the JPEG2000 communication system of the present invention.
FIG. 15 is a diagram illustrating a JPEG2000 format in tile units of the image shown in FIG. 14;
16 is a diagram illustrating the JPEG2000 format when the range illustrated in FIG. 14 is extracted from the image in the JPEG2000 format in units of tiles illustrated in FIG. 15 and reconstructed into the JPEG2000 format.
17 shows a JPEG2000 format when the range shown in FIG. 14 is extracted from the JPEG2000 format image in tile units shown in FIG. 15 and reconstructed into the JPEG2000 format when FIG. FIG.
FIG. 18 is a diagram illustrating an example of the present invention.
[Explanation of symbols]
101 Display
102 Receiver
103 Decoder
104 Coefficient storage unit
105 transmission unit
106 Reconstruction unit
107 JPEG2000 file
Claims (10)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002198068A JP2004040674A (en) | 2002-07-08 | 2002-07-08 | Restoration method for jpeg2000 code data and restoration system for jpeg2000 code data |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002198068A JP2004040674A (en) | 2002-07-08 | 2002-07-08 | Restoration method for jpeg2000 code data and restoration system for jpeg2000 code data |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2004040674A true JP2004040674A (en) | 2004-02-05 |
Family
ID=31705628
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2002198068A Pending JP2004040674A (en) | 2002-07-08 | 2002-07-08 | Restoration method for jpeg2000 code data and restoration system for jpeg2000 code data |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2004040674A (en) |
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006101482A (en) * | 2004-09-03 | 2006-04-13 | Canon Inc | Image communication system, server apparatus, and image communication method |
| JP2006196969A (en) * | 2005-01-11 | 2006-07-27 | Ricoh Co Ltd | Image processing apparatus, image processing method, program, and information recording medium |
| JP2006295386A (en) * | 2005-04-07 | 2006-10-26 | Ricoh Co Ltd | Image transmission method, image transmission program, recording medium, and image transmission apparatus |
| JP2008123511A (en) * | 2006-11-10 | 2008-05-29 | Samsung Electronics Co Ltd | Image output apparatus and method for portable terminal |
| US7558430B2 (en) | 2004-11-08 | 2009-07-07 | Canon Kabushiki Kaisha | Apparatus method and computer-readable medium for processing hierarchical encoded image data |
| US7660476B2 (en) | 2004-12-28 | 2010-02-09 | Canon Kabushiki Kaisha | Image processing method and image processing apparatus |
| US7721971B2 (en) | 2005-03-16 | 2010-05-25 | Ricoh Company, Ltd. | Image processing system, image processing method and computer readable information recording medium |
| JP2011228785A (en) * | 2010-04-15 | 2011-11-10 | Nippon Telegr & Teleph Corp <Ntt> | Format conversion device, video distribution apparatus, multiplexer, format conversion method, video distribution method and program |
-
2002
- 2002-07-08 JP JP2002198068A patent/JP2004040674A/en active Pending
Cited By (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006101482A (en) * | 2004-09-03 | 2006-04-13 | Canon Inc | Image communication system, server apparatus, and image communication method |
| US7603383B2 (en) | 2004-09-03 | 2009-10-13 | Canon Kabushiki Kaisha | Image communication system, server apparatus, and image communication method |
| US7558430B2 (en) | 2004-11-08 | 2009-07-07 | Canon Kabushiki Kaisha | Apparatus method and computer-readable medium for processing hierarchical encoded image data |
| US7660476B2 (en) | 2004-12-28 | 2010-02-09 | Canon Kabushiki Kaisha | Image processing method and image processing apparatus |
| JP2006196969A (en) * | 2005-01-11 | 2006-07-27 | Ricoh Co Ltd | Image processing apparatus, image processing method, program, and information recording medium |
| US7721971B2 (en) | 2005-03-16 | 2010-05-25 | Ricoh Company, Ltd. | Image processing system, image processing method and computer readable information recording medium |
| JP2006295386A (en) * | 2005-04-07 | 2006-10-26 | Ricoh Co Ltd | Image transmission method, image transmission program, recording medium, and image transmission apparatus |
| US7456844B2 (en) | 2005-04-07 | 2008-11-25 | Ricoh Company, Ltd. | Image transmission method, computer-readable image transmission program, recording medium, and image transmission apparatus |
| JP2008123511A (en) * | 2006-11-10 | 2008-05-29 | Samsung Electronics Co Ltd | Image output apparatus and method for portable terminal |
| US8839143B2 (en) | 2006-11-10 | 2014-09-16 | Samsung Electronics Co., Ltd | Apparatus and method for displaying image in portable terminal |
| JP2011228785A (en) * | 2010-04-15 | 2011-11-10 | Nippon Telegr & Teleph Corp <Ntt> | Format conversion device, video distribution apparatus, multiplexer, format conversion method, video distribution method and program |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4377103B2 (en) | Image processing for JPEG2000 in a server client environment | |
| JP4612782B2 (en) | Image processing apparatus, method thereof, program, and storage medium | |
| US7362860B2 (en) | Image data encryption method, image data transform method, apparatus for the methods, computer program, and computer-readable storage medium | |
| US5966465A (en) | Compression/decompression using reversible embedded wavelets | |
| Norcen et al. | Confidential storage and transmission of medical image data | |
| JP5579760B2 (en) | Method and apparatus for coding the location of coefficients | |
| US5881176A (en) | Compression and decompression with wavelet style and binary style including quantization by device-dependent parser | |
| JP3988990B2 (en) | Code conversion apparatus, code conversion method, program, and recording medium | |
| US6757437B1 (en) | Compression/decompression using reversible embedded wavelets | |
| US20120042048A1 (en) | Method and Apparatus for Scalable Compression of Video | |
| JP4128438B2 (en) | Image processing apparatus, program, storage medium, and image editing method | |
| JP2004194146A (en) | Thumbnail image display method, server computer, client computer, and program | |
| JP2002511686A (en) | Multi-resolution compressed image management system and method | |
| JP2004221836A (en) | Image processing apparatus, program, storage medium, and code decompression method | |
| US20030068089A1 (en) | Image processing system processing code data | |
| RU2504102C2 (en) | Methods and apparatus for efficient distribution of image data | |
| JP2004242290A (en) | Image processing apparatus and image processing method, image editing processing system, image processing program, and storage medium | |
| JP2004221633A (en) | Image processing apparatus, image processing program, and storage medium | |
| JP2004040674A (en) | Restoration method for jpeg2000 code data and restoration system for jpeg2000 code data | |
| Taubman | Software architectures for JPEG2000 | |
| JP4111367B2 (en) | Hierarchical encoding method and hierarchical transmission decoding method of 3D image | |
| JP2006086579A (en) | Image processing apparatus, program, and storage medium | |
| JP4323178B2 (en) | Search object restriction device, image processing apparatus, program, storage medium, and search object restriction method | |
| JP3961966B2 (en) | Unnecessary part removing apparatus, image processing apparatus, program, storage medium, and unnecessary part removing method | |
| JP3989801B2 (en) | Image processing apparatus, image processing program, and storage medium |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20050330 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050616 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060815 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070130 |