Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4748672B2 - 符号処理装置、プログラム及び情報記録媒体 - Google Patents
[go: Go Back, main page]

JP4748672B2 - 符号処理装置、プログラム及び情報記録媒体 - Google Patents

符号処理装置、プログラム及び情報記録媒体 Download PDF

Info

Publication number
JP4748672B2
JP4748672B2 JP2006077206A JP2006077206A JP4748672B2 JP 4748672 B2 JP4748672 B2 JP 4748672B2 JP 2006077206 A JP2006077206 A JP 2006077206A JP 2006077206 A JP2006077206 A JP 2006077206A JP 4748672 B2 JP4748672 B2 JP 4748672B2
Authority
JP
Japan
Prior art keywords
code
tile
jpeg2000
file
tile part
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006077206A
Other languages
English (en)
Other versions
JP2007258807A (ja
Inventor
宏幸 作山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2006077206A priority Critical patent/JP4748672B2/ja
Publication of JP2007258807A publication Critical patent/JP2007258807A/ja
Application granted granted Critical
Publication of JP4748672B2 publication Critical patent/JP4748672B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

本発明は、JPEG2000の符号又はそれを含むJPEG2000ファミリーフォーマットのファイルの生成と処理に関する。本発明はJPIPサーバ等に好適に応用できるものである。
近年、画像圧縮の分野において、JPEG(Joint Photographic Coding Experts Group)で採用されたDCT(離散コサイン変換)に代わる周波数変換として、ウェーブレット変換の採用が増加している。その代表例は、2001年に国際標準になったJPEG2000である。
JPEG2000の符号化処理は概ね図14のブロック図に示す流れで行われる。画像は矩形のタイルに分割され(分割数≧1)、タイル毎に処理される。
まず、各タイルは、輝度・色差等のコンポ−ネントへ色変換される(ブロック1)。RBGデータのような正数で表されるデータの場合、ダイナミックレンジの半分を減じるDCレベルシフトも施される。変換後のコンポ−ネント(タイルコンポ−ネントと呼ばれる)はウェーブレット変換を適用されてサブバンドに分割される(ブロック2)。1回のウェーブレット変換(デコンポジション)によってLL,HL,LH,HHと略称される4つのサブバンドに分割される。そして、LLサブバンドに対して再帰的にウェーブレット変換を繰返すと、最終的に1つのLLサブバンドと複数のHL,LH,HHサブバンドが生成される。
3回のウェーブレット変換(デコンポジション)を行った場合のサブバンドを図16に示す。図16中の各サブバンド名の接頭の数字(例えば”3LL”の”3”)は、デコンポジションレベル(施されたウェーブレット変換の回数)を示す。また、後の説明のため、デコンポジションレベルと解像度レベルの関係を図16に示した。
9×7変換と呼ばれる非可逆ウェーブレット変換が用いられる場合には、ウェーブレット係数は、サブバンド毎に線形量子化(正規化を含む)を施され(ブロック3)、次にエントロピー符号化される(ブロッ4)。このエントロピー符号化では、各サブバンドはプリシンクトとよばれる矩形に分割される。プリシンクトとは、サブバンドを矩形に分割したもので、HL,LH,HHの3つのサブバンドの対応したプリシンクトは3つで1まとまりとして扱われる。ただし、LLサブバンドを分割したプリシンクトは1つで1まとまりとして扱われる。プリシンクトは、大まかには画像中の場所(Position)を表すものである。プリシンクトはサブバンドと同じサイズにできる。プリシンクトをさらに矩形に分割したものがコードブロックである。図15にタイル、サブバンド、プリシンクト、コードブロックの関係を示す。よって、物理的な大きさの序列は、画像≧タイル>サブバンド≧プリシンクト≧コードブロックとなる。以上の分割の後、係数のエントロピー符号化(ビットプレーン符号化)が、コードブロック毎かつビットプレーン順に行われる。
次に必要なエントロピー符号をまとめてパケットを生成する(ブロック5)。パケットとは、プリシンクトに含まれる全てのコードブロックから、ビットプレーンの符号の一部(例えば全てのコードブロックのMSBから3枚目までのビットプレーンの符号)を集めたものにヘッダ(パケットヘッダ)をつけたものである。上記”一部”は”空”(から)でもよいので、パケットの中身が符号的には”空)”ということもある。パケットヘッダには、当該パケットに含まれる符号に関する情報が含まれる。各パケットは独立に扱うことができる。いわばパケットは符号の単位である。
そして、全てのプリシンクト(=全てのコードブロック=全てのサブバンド)のパケットを集めると、画像全域の符号の一部(例えば、画像全域のウェーブレット係数の、MSBから3枚目までのビットプレーンの符号)ができるが、これをレイヤーと呼ぶ。レイヤーは、大まかには画像全体のビットプレーンの符号の一部であるから、復号されるレイヤー数が増えれば画質は上がることになる。すなわち、レイヤーは画質の単位である。すべてのレイヤーを集めると、画像全域の全てのビットプレーンの符号になる。
デコンポジションレベル数=2、プリシンクトサイズ=サブバンドサイズ、としたときのレイヤーの例を図17の上段に示す。いくつかのレイヤーに含まれるパケットを図17の下段に太枠で囲んで示す。
以上のようにして生成されたパケットやレイヤーの区切りに従って、パケットを配列するとともに必要なタグやタグ情報を付加することにより、最終的なJPEG2000の符号(コードストリーム)が形成される(ブロック6)。
以上の説明から理解されるように、パケットは
・どのコンポ−ネント(記号C)に属するか、
・どの解像度レベル(記号R)に属するか、
・どのプリシンクト(“場所”,記号P)に属するか、
・どのレイヤー(記号L)に属するか、
という4つの属性(本願では、これら属性を”プログレッション属性”と呼ぶ)を有する。ただし、このような属性自体はパケットヘッダには記述されていない。
パケットの配列とは、パケット(パケットヘッダおよびパケットデータ)を、どの属性の順に階層的に並べるかを意味する。この配列順をプログレッションオーダと呼び、図18に示す5通りが規定されている。
ここで、エンコーダがプログレッションオーダの順にパケットを並べる様子と、デコーダがプログレッションオーダの順にパケットの属性を解釈する様子を以下に示す。
例えば、LRCPプログレッションオーダの場合、次のようなforループ
for(レイヤ){
for(解像度){
for(コンポ−ネント){
for(プリシンクト){
エンコード時:パケットを配置
デコード時:パケットの属性を解釈




により、パケットの配列(エンコード時)又は解釈(デコード時)がなされる。
各パケットのパケットヘッダには、
・そのパケットが空かどうか、
・そのパケットにどのコードブロックが含まれるか、
・そのパケットに含まれる各コードブロックのゼロビットプレーン数、
・そのパケットに含まれる各コードブロック符号のコーディングパス数(ビットプレーン数)、
・そのパケットに含まれる各コードブロックの符号長、
が記載されている。しかし、レイヤー番号や解像度レベル等はパケットヘッダには一切記載されていない。デコード時に、そのパケットがどのレイヤーのどの解像度レベルのものかを判別するには、メインヘッダ中のCODマーカセグメント(図30)等に記載されたプログレッションオーダから上記のようなforループを形成し、そのパケットに含まれる各コードブロックの符号長の和からパケットの切れ目を判別し、各パケットがforループ内のどの位置でハンドリングされたかを見ればよい。これは、パケットヘッダ中の符号長さえ読み出せば、パケットデータ(エントロピー符号)をデコードしなくても、次のパケットを検出できること、すなわち任意のパケットにアクセス可能であることを意味する。
なお、本願においては、上記のようなforループのネストの一番外側を”プログレッションオーダの最上位”と呼ぶ。
図19は、LRCPプログレッションオーダの符号の様な、レイヤー(L)がプログレッションオーダの最上位にあるレイヤープログレッシブ符号の概念図である。ただし、タイルパート(後述)の数は1としている。
図20に、画像サイズ=100×100画素、タイル分割無し(1タイル)、2レイヤ、解像度レベル数=3(0〜2)、3コンポ−ネント(0〜2)、プリシンクトサイズ=32×32の場合のLRCPプログレッションオーダの符号における36個のパケットの配列例を示す。ただし、タイルパート(後述)の数は1としている。
図21は、RLCPプログレッションオーダの符号の様な、解像度レベルがプログレッションオーダの最上位にある解像度プログレッシブ符号の概念図である。ただし、タイルパート数は1としている。
図22に、画像サイズ=100×100画素、タイル分割無し(1タイル)、2レイヤ、解像度レベル数=3(0〜2)、3コンポ−ネント(0〜2)、プリシンクトサイズ=32×32の場合のRLCPプログレッションオーダの符号における36個のパケットの配列例を示す。ただし、タイルパート(後述)の数は1としている。
さて、各タイルを構成する符号を、パケットの切れ目でさらに複数の部分に分割することができ、分割した部分をタイルパートと呼ぶ。なお、先に言及したように、図20と図22はタイルパート数=1の場合である。
各タイルパートは、パケットのほかに、SOT(start of tile-part)マーカセグメントで始まりSOD(start of data)マーカで終わるヘッダを有し、このヘッダをタイルパートヘッダと呼ぶ(図19,図21参照)。
図23に、SOTマーカセグメントの構成を示す。なお、マーカ(この例ではSOTマーカ)とそれに関連したパラメータから構成されるものをマーカセグメントと呼ぶ。SOTマーカセグメントのパラメータの内容を図24に示す。図24から理解されるように、SOTマーカセグメント中のパラメータPsotの内容を読めば当該タイルパートの長さを知ることができる。したがって、SOTマーカセグメントを読み込めば、パケットヘッダをデコードすることなく、タイルパート単位で符号にアクセスすることができる。すなわち、何番目かのタイルパートを探す場合、先頭のSOTマーカセグメントを探し、SOTマーカセグメントからタイルパート長を検出して符号中をシークして次のタイルパートにたどり着く、という手順を繰返すことにより所望のタイルパートに到達できる。
パケットヘッダのデコードを省略したい場合には、タイルパートヘッダ中のPLTマーカセグメントやメインヘッダ中のPLMマーカセグメントに、各パケットの長さを記録しておくこともできる。
さらに、何番目かのタイルパートを探す際にSOTマーカセグメントを逐次探すプロセスを省きたい場合には、メインヘッダ中のTLMマーカセグメントに各タイルパートの長さを記録しておくこともできる。TLMマーカセグメントは図25に示すような構成であり、そのパラメータの内容は図26に示す通りである。TLMマーカセグメント中のPtml(i)を読めば、i番目のタイルパートの長さを知ることができる。すなわち、TLMマーカセグメントからタイルパート長を検出して積算する手順を繰返し、所定個数のタイルパート数に達した時点で、所望のタイルパートへのシーク長(すなわち最初のタイルパートからのオフセット)が得られ、このシーク長をもとに所望のタイルパートに高速にアクセスすることが可能である。
さて、以上に説明したように、JPEG2000の符号は、パケット単位でのアクセスが可能であるとともに、より簡易には、タイルパート単位でのアクセスが可能である。これは、原符号から、それをデコードすることなく、必要なパケットやタイルパートだけを抜き出して新たな符号を生成できることを意味する。また、原符号の必要なパケット又はタイルパートだけを復号することができることをも意味する。
例えば、サーバに保存されている大きな画像をクライアント側で表示しようとする場合に、必要な画質だけの符号、必要な解像度だけの符号、見たい場所だけの符号、見たいコンポ−ネントだけの符号をサーバから受信して復号するような事が可能である。
この様に、サーバにあるJPEG2000の符号の必要な部分だけを受信するためのプロトコルをJPIP(JPEG2000 Interactive Protocol)と呼び、現在、標準化の途上にある。このような階層的な画像を部分的にアクセスするためのプロトコルは、古くは、画像の多重解像度表現であるFlashPixと、それにアクセスするためのプロトコルであるIIP(Internet Imaging Protocol)に見ることができる(例えば特許文献1参照)。なお、webサイトhttp://www.i3a.org/i_iip.htmlでIIPの標準書を提供している。また、JPIPに関連した先行技術文献としては、例えばJPIPのキャッシュモデル等に関する特許文献2がある。
特開平11−205786号公報 特開2003−23630号公報
さて、JPIPにおいては、クライアントからサーバへ、描画したい解像度と実際に描画するウィンドウサイズを指定することが提案されている。このような指定を受けた場合、サーバ側では当該解像度の当該領域をカバーするプリシンクトのパケットを送信するか、あるいは、より簡易に、当該領域をカバーするタイルパートを送信する。
以下に、後者のタイルパートを送信するJPIPシステム(これをJPTシステムという)を例に説明する。
JPTシステムの場合、画像全体を構成するタイルパート中から、当該領域をカバーするタイルパートを抽出する手順は以下の通りである。サーバは、自分が管理する符号が、どのようにタイルパートに分割されているかを知っていることが前提となる。
今、図22に示した1タイル、2レイヤのRLCPプログレッションオーダ符号のパケットを、解像度レベルの全ての境界位置(解像度レベルの切り替わり位置)でタイルパートに分割した場合、図27に示したような3つのタイルパート(0,1,2)ができる。また、同じRLCPプログレッションオーダ符号のパケットを、解像度レベルの全ての境界位置およびレイヤーの全ての境界位置でタイルパートに分割した場合、図28に示したような6つのタイルパート(0〜5)ができる。また、同じRLCPプログレッションオーダ符号のパケットを、解像度レベルの全ての境界位置、レイヤーの全ての境界位置及びコンポ−ネントの全ての境界位置でタイルパートに分割した場合、図29示したような18個のタイルパート(0〜17)ができる。
ここで、クライアントからサーバへ、「25×25画素に相当する解像度部分を、20×20のウィンドウサイズで表示したい」というリクエストが来たとする。図22の例では、25×25画素に相当する解像度とは解像度レベル0の部分を指し、20×20のウィンドウとは解像度レベル0の画素のうちの20×20の部分だけを表示するということを意味する。
したがって、サーバは、自分の持っている符号から、解像度レベル0をカバーするタイルパート(図27の例ならタイルパート0)を抽出し、それをメインヘッダの情報とともにクライアントへ送信すればよい。タイルパートの先頭には必ずSOTマーカセグメントがあり、タイルパートの長さもわかるため、タイルパートの境界自体は常に判別可能である。
しかし、図27、図28、図29の例を見れば明らかなように、(何番目から)何番目までのタイルパートを送信すればよいかは、符号のプログレッションオーダ及びタイルパートへの分割方法(分割位置)という2つのパラメータに依存するのである。
前者のプログレッションオーダは、メインヘッダやタイルパートヘッダのCODマーカセグメントに記述されているため直ち知ることができる。
しかし、後者のタイルパートへの分割方法は、JPEG2000符号やJPEG2000ファミリーフォーマットのファイルに記録されているわけではない。したがって、従来は、タイルパートへの分割方法が既知の符号でないかぎり、所望のタイルパートを選ぶには、符号のパケットを1つ1つ数えていかざるを得ず、効率が極めて悪いという問題があった(問題点1)。
さて、以上のようにJPTサーバは、
・各タイルパートの位置を算出する
・そのタイルパートが必要な場合は送信する
という2つのステップを実行し,その代表的な構成は、
(i)(送信の必要性に関わらず)全てのタイルパートの位置を算出する(SOTマーカセグメントをスキャンする)
(ii)そのタイルパートが必要な場合は送信する
である。したがって、このような通常のJPTサーバの構成では、上記(i)として、
for(全てのタイルパートについて){
次のSOTマーカセグメントをスキャンしてタイルパートの位置と長さを記録

というステップ(これを便宜上、”ステップA”と呼ぶ)が実行されるのが通常である。
このような構成とるのは、送信する必要のあるタイルパートが、クライアント側ユーザのウィンドウ選択等によって時系列で変わるため、送信要否の判断の前に全タイルパートの位置を予め算出して保持しておくのが実装が簡易になるということも理由の一つである。しかし、一番の理由は、符号中のタイルパートの並び方に関するものである。以下、これについて述べる。
JPTにとって、符号中にタイルパートがどのような順番で並んでいるかということが重要な要素である。例えば、2つのタイルからなり、各タイルとも「最高解像度レベル=2、レイヤ数=1、解像度レベルの境界位置でタイルパートへ分割されている」モノクロ画像の符号(図36参照)を例に、タイルパートの並び方(配列方法)について考える。
この場合、プログレッション属性R,L,C,Pのほかに「タイル番号(タイルindex)」という要素が加わり、タイルパートの配列方法として、
(1)図37に示すような「タイル順→解像度レベル順」(以下、このようなプログレッションオーダの最上位にタイル番号があるかの様なタイルパートの配列方法を”タイル順最上位”と呼ぶ)、又は
(2)図38に示すような「解像度レベル順→タイル順」
をとり得る。
さて、JPTで要求されるタイルパートが例えば解像度レベル0のものだけの場合、図37のようなタイルパート配列方法の符号ならば、図中に示した”タイルパートA”までの位置と長さがわかればよいため、合計4個のタイルパートをスキャンすれば足りる(要求されるタイルパートが変わらない限り)。そして、この例の場合、前記”ステップA”のような構成(全タイルパートをスキャンする)であっても、スキャンされるタイルパートは合計6個にすぎず、それほど余分なSOTスキャンが行われるわけではない。
一方、図38のようなタイルパート配列方法の場合、図中に示した”タイルパートB”までの位置と長さがわかればよいため、合計2個のタイルパートをスキャンすれば足りる(要求されるタイルパートが変わらない限り)。そして、この例の場合、前記”ステップA”のような構成であると、SOTスキャンの3分の2は無駄なスキャンである。
しかし、図38に示すようなタイルパート配列方法であることが既知である場合には、「解像度レベル順→タイル順」というforループを構成し、
for(解像度レベル=0){
for(0≦タイルindex≦1){
次のSOTマーカセグメントをスキャンしてタイルパートの位置と長さを記録


という手順をとることにより、必要な2個のタイルパートのスキャンのみ行い、無駄なスキャンを排除することが可能になる。このようなforループを構成するためには(あるいは最初から必要なタイルパート数を算出しておき、SOTマーカセグメントをスキャンする回数自体を制限するためには)、その前提として、そのようなタイルパートの配列方法であることが分からなければならない。
しかしながら、タイルパートの配列方法がJPEG2000の符号やJPEG2000ファミリーフォーマットのファイルに記録されているわけではないという問題がある(問題点2)。
本発明は、JPEG2000の符号やJPEG2000ファミリーフォーマットのファイルに関する上記問題点1,2に鑑みてなされたものであり、その主たる目的は、JPTサーバなどにおいて、JPEG2000の符号の所要のタイルパートを効率的に選択可能にすることにあり、また、そのようなタイルパートの効率的な選択もしくはアクセスが可能なJPEG2000符号又はそれを含むJPEG2000ファミリーフォーマットのファイルを生成することにある。
JPEG2000においては、符号のタイルパートへの分割方法やタイルパートの配列方法を入れるように最初から規定されているマーカセグメントはない。しかし、JPEG2000の符号フォーマットやJPEG2000ファミリーのファイルフォーマットには、ベンダー情報等の自由な情報を記述することが許されたマーカセグメントやBox情報がある。
そのようなマーカセグメントとしては、JPEG2000の符号のメインヘッダ等に用いることができるCOMマーカセグメントがある。COMマーカセグメントは図31に示すような構成であり、任意のコメントデータをバイト単位でCcom(i)に記録することができる。
JPEG2000ファミリーのファイルフォーマットとはJP2、JPX、JPMである。図32にJP2フォーマットのファイル構造を示す。図中のUUIDBoxとXMLBoxに任意の情報を記録可能である。図33にBoxの構造を、図34にBox情報の内容を示す。UUIDBoxのDATAフィールドとXMLBoxのDBox位置に任意の情報を記録できる。
JPXはJP2の拡張ファイルフォーマットであり、その構造は示さないが、UUIDBoxとXMLBoxに関してはJP2フォーマットと同様である。
また、図35に、JPM(JPEG2000 Multi Layer)フォーマットのファイル構造を示す。図中の”C.2”で示されたMetadataBoxに、図33と同様なUUIDBox、XMLBoxが含まれており、ここに任意の情報を記録可能である。
さて、以上では、タイルパートの並び方として図37、図38の例を取り上げてきたが、JPEG2000の仕様上は図39のような混在した並びも許容されている。
しかし、JPTでは、前述のように、用途に応じた属性位置でタイルパートに分割し、該用途にあったようにタイルパートを並べるべきである。図37,図38,図39の例では、解像度レベル位置でタイルパートに分割されている以上、タイルパートも図38のように「解像度レベル順」に並ぶべきなのである。このようにすることにより、タイルパートの送信に先だって、全てのタイルパートの位置及び長さを検出する必要がなくなるのである。
より詳しく述べれば、JPTにおいては、用途に応じた属性をプログレションオーダの最上位に位置させるのが典型である。例えば、縮小表示が主な用途であればプログレッションオーダの最上位は解像度レベル(R)であり、カラー画像の白黒表示が主な用途であれば最上位はコンポーネント(C)である。そして、JPTでは、該用途に応じた属性位置でタイルパートに分割するのが典型である。
これを一般的に言えば、例えば、タイルパート分割位置として用いられているプログレッション属性のうち、プログレッションオーダの最上位側に位置する属性(プログレッションオーダの最上位の属性の位置で常にタイルパート分割されているとは限らないため、タイルパート分割に利用されている属性のうちの最も上位側のもの、という意味である)の各値に関し、該値を持つ全てのタイルパートを、タイル番号及びタイルパート番号の昇順に連続配置すべき、ということである。そして、このようなタイルパート配列であるかどうかを検出するには、タイルパート分割位置として用いられているプログレッション属性のうち、プログレッションオーダの最上位側に位置する属性の最小値に関し、異なるタイル番号のタイルパートが連続配置されているかどうかを検出すればよい。
本発明は以上のような考察に基づいており、以下に記載するような特徴を有するものである。
請求項1記載の発明は、JPEG2000の符号又は該符号を含むJPEG2000ファミリーフォーマットのファイルを生成する符号処理装置であって、
該符号のタイルパートへの分割方法及びタイルパートの配列方法を示す所定形式のタイルパート分割・配列情報を生成する手段と、該タイルパート分割・配列情報を該符号中のCOMマーカセグメントあるいは該ファイルのUUIDBox又はXMLBoxに記録する手段とを有することを特徴する符号処理装置である。なお、タイルパートへの分割方法とは、具体的には、どのプログレッション属性のどの境界位置(属性値の切り替わり位置)でタイルパートへ分割されるかである。また、タイルパートの配列方法とは、符号中のタイルパートがどのように並んでいるかである。
請求項2記載の発明は、JPEG2000の符号又は該符号を含むJPEG2000ファミリーフォーマットのファイルを生成する符号処理装置であって、
該符号のタイルパートへの分割方法及びタイルパートの配列方法を示す所定形式のタイルパート分割・配列情報を生成する手段と、該タイルパート分割・配列情報を、該符号又は該ファイルと関連付けて外部データベースに記録する手段とを有することを特徴する符号処理装置である。
請求項3記載の発明は、請求項1又は2記載の発明に係る符号処理装置であって、該符号は、タイルパート分割位置として用いられているプログレッション属性のうち、プログレッションオーダの最上位側に位置する属性の各値に関し、該値を持つ全てのタイルパートが、タイル番号及びタイルパート番号の昇順に連続配置された符号であることを特徴とする符号処理装置である。
請求項4記載の発明は、請求項3記載の発明に係る符号処理装置であって、前記プログレッションオーダの最上位側に位置する属性は解像度レベルであることを特徴とする符号処理装置である。
請求項5記載の発明は、JPEG2000の符号(以下、入力符号と記す)又は該入力符号を含むJPEG2000ファミリーフォーマットのファイル(以下、入力ファイルと記す)を入力とし、該入力符号と別のJPEG2000の符号(以下、出力符号と記す)又は該出力符号を含むJPEG2000ファミリーフォーマットのファイル(以下、出力ファイルと記す)を生成する符号処理装置であって、
該入力符号を、タイルパート分割位置として用いられたプログレッション属性のうち、プログレッションオーダの最上位側に位置する属性の各値に関し、該値を持つ全てのタイルパートが、タイル番号及びタイルパート番号の昇順に連続配置された該出力符号へ変換する手段と、該出力符号のタイルパートへの分割方法及びタイルパートの配列方法を示す所定形式のタイルパート分割・配列情報を生成する手段と、該タイルパート分割・配列情報を該出力符号中のCOMマーカセグメントあるいは該出力ファイルのUUIDBox又はXMLBoxに記録する手段とを有することを特徴とする符号処理装置である。
請求項6記載の発明は、JPEG2000の符号(以下、入力符号と記す)又は該入力符号を含むJPEG2000ファミリーフォーマットのファイル(以下、入力ファイルと記す)を入力とし、該入力符号と別のJPEG2000の符号(以下、出力符号と記す)又は該出力符号を含むJPEG2000ファミリーフォーマットのファイル(以下、出力ファイルと記す)を生成する符号処理装置であって、
該入力符号を、タイルパート分割位置として用いられたプログレッション属性のうち、プログレッションオーダの最上位側に位置する属性の各値に関し、該値を持つ全てのタイルパートが、タイル番号及びタイルパート番号の昇順に連続配置された該出力符号へ変換する手段と、該出力符号のタイルパートへの分割方法及びタイルパートの配列方法を示す所定形式のタイルパート分割・配列情報を生成する手段と、該タイルパート分割・配列情報を該出力符号又は該出力ファイルと関連付けて外部データベースに記録する手段とを有することを特徴とする符号処理装置である。
請求項7記載の発明は、請求項5又は6記載の発明に係る符号処理装置であって、前記プログレッションオーダの最上位側に位置する属性は解像度レベルであることを特徴とする符号処理装置である。
請求項8記載の発明は、JPEG2000の符号又は該符号を含むJPEG2000ファミリーフォーマットのファイルを入力とし、該符号の所要のタイルパートを選択する符号処理装置であって、
該符号のCOMマーカセグメントあるいは該ファイルのUUIDBox又はXMLBoxに記録されたタイルパート分割・配列情報を参照することにより、該符号においてタイルパート分割位置として用いられたプログレッション属性のうち、プログレッションオーダの最上位側に位置する属性の各値に関し、該値を持つ全てのタイルパートが、タイル番号及びタイルパート番号の昇順に連続配置されているか判定する手段を有することを特徴とする符号処理装置である。
請求項9記載の発明は、JPEG2000の符号又は該符号を含むJPEG2000ファミリーフォーマットのファイルを入力とし、該符号の所要のタイルパートを選択する符号処理装置であって、
該符号又は該ファイルに関連付けられて外部データベースに記録されているタイルパート分割・配列情報を参照することにより、該符号においてタイルパート分割位置として用いられたプログレッション属性のうち、プログレッションオーダの最上位側に位置する属性の各値に関し、該値を持つ全てのタイルパートが、タイル番号及びタイルパート番号の昇順に連続配置されているか判定する手段を有することを特徴とする符号処理装置である。
請求項10記載の発明は、JPEG2000の符号又は該符号を含むJPEG2000ファミリーフォーマットのファイルを入力とし、該符号の所要のタイルパートを選択する符号処理装置であって、
該符号においてタイルパート分割位置として用いられたプログレッション属性のうち、プログレッションオーダの最上位側に位置する属性の最小値に関し、異なるタイル番号のタイル番号のタイルパートが連続配置されていか否かを調べることにより、該最上位側に位置する属性の各値に関し、該値を持つ全てのタイルパートが、タイル番号及びタイルパート番号の昇順に連続配置されているか判定する手段を有することを特徴とする符号処理装置である。
請求項11記載の発明は、コンピュータに、JPEG2000の符号又は該符号を含むJPEG2000ファミリーフォーマットのファイルを生成する処理を行わせるプログラムであって、コンピュータに、
該符号のタイルパートへの分割方法及びタイルパートの配列方法を示す所定形式のタイルパート分割・配列情報をメモリ上に生成する工程、該タイルパート分割・配列情報をメモリ上の該符号中のCOMマーカセグメントあるいは該ファイルのUUIDBox又はXMLBoxに記録する工程を実行させることを特徴とするプログラムである。
請求項12記載の発明は、コンピュータに、JPEG2000の符号又は該符号を含むJPEG2000ファミリーフォーマットのファイルを生成する処理を行わせるプログラムであって、コンピュータに、
該符号のタイルパートへの分割方法及びタイルパートの配列方法を示す所定形式のタイルパート分割・配列情報をメモリ上に生成する工程、該タイルパート分割・配列情報を、該符号又は該ファイルと関連付けて外部データベースに記録する工程を実行させることを特徴とするプログラムである。
請求項13記載の発明は、コンピュータに、JPEG2000の符号(以下、入力符号と記す)又は該入力符号を含むJPEG2000ファミリーフォーマットのファイル(以下、入力ファイルと記す)を入力とし、該入力符号と別のJPEG2000の符号(以下、出力符号と記す)又は該出力符号を含むJPEG2000ファミリーフォーマットのファイル(以下、出力ファイルと記す)を生成する処理を行わせるプログラムであって、コンピュータに、
メモリ上の該入力符号を、タイルパート分割位置として用いられたプログレッション属性のうち、プログレッションオーダの最上位側に位置する属性の各値に関し、該値を持つ全てのタイルパートが、タイル番号及びタイルパート番号の昇順に連続配置された該出力符号へ変換する工程、該出力符号のタイルパートへの分割方法及びタイルパートの配列方法を示す所定形式のタイルパート分割・配列情報をメモリ上に生成する工程、該タイルパート分割・配列情報をメモリ上の該出力符号中のCOMマーカセグメントあるいはメモリ上の該出力ファイルのUUIDBox又はXMLBoxに記録する工程を実行させることを特徴とするプログラムである。
請求項14記載の発明は、コンピュータに、JPEG2000の符号(以下、入力符号と記す)又は該入力符号を含むJPEG2000ファミリーフォーマットのファイル(以下、入力ファイルと記す)を入力とし、該入力符号と別のJPEG2000の符号(以下、出力符号と記す)又は該出力符号を含むJPEG2000ファミリーフォーマットのファイル(以下、出力ファイルと記す)を生成する処理を行わせるプログラムであって、コンピュータに、
メモリ上の該入力符号を、タイルパート分割位置として用いられたプログレッション属性のうち、プログレッションオーダの最上位側に位置する属性の各値に関し、該値を持つ全てのタイルパートが、タイル番号及びタイルパート番号の昇順に連続配置された該出力符号へ変換する工程、該出力符号のタイルパートへの分割方法及びタイルパートの配列方法を示す所定形式のタイルパート分割・配列情報をメモリ上に生成する工程、該タイルパート分割・配列情報を該出力符号又は該出力ファイルと関連付けて外部データベースに記録する工程を実行させることを特徴とするプログラムである。
請求項15記載の発明は、コンピュータに、JPEG2000の符号又は該符号を含むJPEG2000ファミリーフォーマットのファイルを入力とし、該符号の所要のタイルパートを選択する処理を行わせるプログラムであって、コンピュータに、
メモリ上の該符号のCOMマーカセグメントあるいは該ファイルのUUIDBox又はXMLBoxに記録されたタイルパート分割・配列情報を参照することにより、該符号においてタイルパート分割位置として用いられたプログレッション属性のうち、プログレッションオーダの最上位側に位置する属性の各値に関し、該値を持つ全てのタイルパートが、タイル番号及びタイルパート番号の昇順に連続配置されているか判定する工程を実行させることを特徴とするプログラムである。
請求項16記載の発明は、コンピュータに、JPEG2000の符号又は該符号を含むJPEG2000ファミリーフォーマットのファイルを入力とし、該符号の所要のタイルパートを選択する処理を行わせるプログラムであって、コンピュータに、
メモリ上の該符号又は該ファイルに関連付けられて外部データベースに記録されているタイルパート分割・配列情報を参照することにより、該符号においてタイルパート分割位置として用いられたプログレッション属性のうち、プログレッションオーダの最上位側に位置する属性の各値に関し、該値を持つ全てのタイルパートが、タイル番号及びタイルパート番号の昇順に連続配置されているか判定する工程を実行させることを特徴とするプログラムである。
請求項17記載の発明は、請求項11乃至16のいずれか1項記載の発明に係るプログラムが記録された、コンピュータが読み取り可能な情報記録媒体である。
請求項18記載の発明は、JPEG2000の符号又は該符号を含むJPEG2000ファミリーフォーマットのファイルが記録された、コンピュータが読み取り可能な情報記録媒体であって、該符号のタイルパートへの分割方法及びタイルパートの配列方法を示す所定形式のタイルパート分割・配列情報が該符号のCOMマーカセグメント又は該ファイルのUUIDBox又はXMLBoxに記録されていることを特徴とする情報記録媒体である。
(1)請求項1〜7記載の発明に係る符号処理装置、請求項11〜14記載の発明に係るプログラムによれば、COMマーカセグメント、UUIDBox又はXMLBox、あるいは外部データベースに記録されているタイルパート分割・配列情報を参照することにより、タイルパートがどのように分割され、どのように配列されているかを容易に確認でき、所要のタイルパートへのアクセス等を効率的に行うことが可能なJPEG2000符号又はJPEG2000ファミリーフォーマットのファイルを生成することができる。特に、請求項3〜7,13,14記載の発明に係る符号処理装置又はプログラムによれば、タイルパート分割位置として用いられているプログレッション属性のうち、プログレッションオーダの最上位側に位置する属性の各値に関し、該値を持つ全てのタイルパートが、タイル番号及びタイルパート番号の昇順に連続配置された、JPIPサーバでの高速レスポンスに適したJPEG2000の符号又はそれを含むJPEG2000ファミリーフォーマットのファイルを生成することができる。
(2)請求項8〜10記載の発明に係る符号処理装置、請求項15,16記載の発明に係るプログラムによれば、タイルパート分割位置として用いらているプログレッション属性のうち、プログレッションオーダの最上位側に位置する属性の各値に関し、該値を持つ全てのタイルパートが、タイル番号及びタイルパート番号の昇順に連続配置されているか判定するため、その判定結果が肯定の場合に、符号の先頭から連続したタイルパートを順次アクセスして所要のタイルパートを選択するという極めて効率的な処理方法を選ぶことができる。したがって、当該符号処理装置又はプログラムをJPIPサーバに適用するならば、JPIPクライアントからの要求に対し極めて高速なレスポンスが可能となる。特に、請求項8,9記載の発明に係る符号処理装置,請求項11,12記載の発明に係るプログラムでは、タイルパート分割・配列情報を参照することにより上記判定を簡易効率的に行うことができる。
(3)請求項18記載の発明に係る情報記録媒体によれば、上記(1)に記載したような利点を有するJPEG2000符号又はそれを含むJPEG2000ファミリーフォーマットのファイルをコンピュータに入力し、所要のタイルパートへのアクセスを効率的に行わせることが可能になる、等々の効果を得られる。
以下、本発明の実施の形態について説明する。
本発明は、例えば図1に示すようなシステムで実施することができる。図1において、100と101はパーソナルコンピュータ(PC)であり、ネットワーク(LAN、イントラネット、インターネット等)102を経由して通信可能である。
PC100はCPU110、RAM111、ハードディスク装置112、表示装置113、キーボード、マウス等の入力装置114、ネットワーク・インターフェース115等がバス116に接続された一般的な構成である。PC101も同様の構成で構わない。
本発明は、各PC100,101がそれぞれ単独で実施する形態、あるいは、例えばPC101をクライアント、PC100をサーバとしたクライアント・サーバシステム上で実施する形態をとり得る。また、単独のPC100又は101上でクライアント・ソフトウェアとサーバ・ソフトウェアを走らせてクライアント・サーバシステムを構築することも可能であり、かかるシステム上で本発明を実施する形態もとり得る。なお、後述する各実施例を専用のハードウェアで実施することも可能であり、かかる実施形態も本発明に当然に包含される。
図2は、本発明の実施例1を説明するためのフローチャートである。このフローチャートに示す手順は、JPEG2000の符号化処理も含めて、図1に示したPC100(又は101)上でソフトウェアによって実行されるものとする。そのためのプログラムは、ハードディスク装置112に保存されており、RAM(メインメモリ)111へロードされてCPU110により実行されるものとする。ただし、JPEG2000のハードウェア・エンコーダをPC100が備えている場合には、JPEG2000の符号化処理そのものは同エンコーダにより実行させることも可能であり、そのような態様も本実施例に含まれる。以上は、下記の実施例2,3においても同様である。
処理の対象となる画像データはハードディスク装置112に蓄積されており、これがRAM111へ転送されて処理されものとする。その処理結果であるJPEG2000の符号(コードストリーム)を格納したJP2ファイルはRAM111上に生成され、これはハードディスク装置112に転送され保存されるものとして説明する。このことは下記の実施例2においても同様である。
図2を参照する。まず、ユーザによってタイルパートの配列方法とタイルパートへの分割方法が入力され(step1,step2)、PC100において入力された配列方法及び分割方法に対応したタイルパート分割・配列情報をRAM111上に生成する(step3)。
本実施例(及び下記の実施例2,3)では、図3に示すようなフォーマットのタイルパート分割・配列情報を生成するものとする。また、本実施例(及び下記の各実施例)においては、便宜上、すべてのタイルに関してタイルパートへの分割方法及びタイルパートの配列方法を同一とし、同じタイルパート分割・配列情報を全てのタイルに共通に適用するものとする。また、解像度レベルの最大値を15、レイヤ数を最大で32、コンポ−ネント数を最大で16としているが、通常、これで実用上は充分である。
図3に示すタイルパート分割・配列情報は9バイトの固定長フォーマットであり、先頭の1ビットがタイルパートの配列方法に関するものであり、それ以降のビットがタイルパートへの分割方法(どの属性のどの境界位置でタイルパートへ分割するか)に関するものである。以下、各ビットの示す内容を説明する。
(1)先頭の1ビットが”0”のときは、タイルパートの配列方法が”タイル順上位”であることを意味する(図37,図5参照)。このビットが”1”のときは、タイルパートの配列方法が、「タイルパート分割位置として用いられるプログレッション属性のうち、プログレッションオーダの最上位側に位置する属性(解像度レベル)の各値に関し、該値を持つ全てのタイルパートが、タイル番号及びタイルパート番号の昇順に連続配置される方法」(便宜、この配列方法を便宜”タイルパート順”と呼ぶ)であることを意味する(図38,図6参照)。図5は上記”タイル順上位”によるタイルパート配列の例を、図6は上記”タイルパート順”によるタイルパート配列の例をそれぞれ示す。ただし、いずれもタイル数=2,解像度レベル数=3,レイヤ数=2,コンポ−ネンント数=3,プリシンクト数=1(マキシマムプリシンクト)、プログレッションオーダはRLCPで、解像度レベル,レイヤ、コンポ−ネンント、プリシンクト(ポジション)の全ての属性の境界位置(切り替わり位置)でタイルパートへ分割される符号の場合である。
(2)次の4ビット(”分割位置(R,L,C)”)は、パケットの属性である解像度レベルR,レイヤーL,コンポーネントCそれぞれの境界位置(切り替わり位置)でタイルパートを分割するか否かを示す。
(3)次の4ビット(”全位置か否か”)は、前の”分割位置(R,L,C)”によって、ある属性の境界位置で分割すると指定されている場合に、当該属性の全ての境界位置で分割するのか、そうでないのか(一部の境界位置でのみ分割するのか)」を示す。
(4)次の16ビット(”解像度位置”)は、”全位置か否か”により解像度レベルの全ての境界位置では分割しないと指定されている場合に、解像度レベルのどの境界位置で分割するかを示す。
(5)次の32ビット(”レイヤ位置”)は、”全位置か否か”によりレイヤーの全ての境界位置では分割しないと指定されている場合に、レイヤーのどの境界位置で分割するかを示す。ただし、この16ビットについての説明例は16進数表示である。
(6)次の16ビット(”コンポーネント位置”)は、”全位置か否か”によりコンポーネントの全ての境界位置では分割しないと指定されている場合に、コンポーネントのどの境界位置で分割するかを示す。
step1及びstep2では、例えば図4に示すような分割方法・配列方法の入力画面が表示装置113の画面に表示され、該画面内のラジオボタン(丸印)を入力装置114のマウス等を用いてユーザが選択することによって、タイルパートの配列方法及びタイルパートへの分割方法が入力される。この入力情報はRAM111に記憶される。
入力画面内のラジオボタンとタイルパート分割・配列情報との関連は次の通りである。最上段の2つのラジオボタンはタイルパート分割・配列方法の先頭の1ビットすなわちタイルパート配列方法を指定するためのもので、左側のラジオボタンを選択すると当該ビットが”1”(上記”タイルパート順”)に設定され、右側のラジオボタンを選択する当該ビットが”0”(上記”タイル順上位”)に設定される。2段目の3つのラジオボタンは、タイルパート分割・配列情報中の”分割位置(R,L,C)”の4ビットを指定するためのものである。3段目のラジオボタンはタイルパート分割・配列情報中の”全位置か否か”の4ビットを指定するためのものである。4段目のラジオボタンはタイルパート分割・配列情報中の”解像度位置”の16ビットを指定するためのものである。5段目のラジオボタンはタイルパート分割・配列情報中の”レイヤ位置”の36ビットを指定するためのものである。6段目のラジオボタンはタイルパート分割・配列情報中の”コンポーネント位置”の16ビットを指定するためのものである。
なお、図4の例では示されていないが、デフォルトの分割方法を入力するためのラジオボタンを設け、これを選択することによってデフォルトの分割方法に対応したタイルパート分割・配列情報を生成させ、あるいは、step2のスキップ操作によって、デフォルトの分割方法に対応したタイルパート分割・配列情報を生成させることも可能であり、かかる態様も本実施例に包含される。
次に、PC100はメインヘッダのCOMマーカセグメントにstep3で生成したタイルパート分割・配列情報を記録する(step4)。具体的には例えば、RAM111上に確保されたメインヘッダ領域にタイルパート分割・配列情報を記述したCOMマーカセグメントを書き込む。COMマーカセグメントは図31に示す構造であるが、タイルパート分割・位置情報はバイナリデータであるためRcom=0に設定され、9バイトのタイルパート分割・配列情報が1バイト単位の9個のコメントデータ(Ccom(0)〜Ccom(8))として書き込まれる。COMマーカ自体を除いたマーカセグメントの長さは13バイト(=2+2+9)であるので、Lcom=13に設定される。
次に、PC100は、ハードディスク装置112より画像データをRAM111に読み込み、この画像データに対しJPEG2000のパケット生成までの符号化処理(図14中のブロック1〜5の処理)を実行することにより、RAM111上にパケットを生成する(step5)。
次に、PC100は、指定された分割方法に従って分割されたタイルパート(タイルパートヘッダ及びパケット列)をRAM111上に生成する(step6)。
次に、PC100は、それらタイルパートを指定された配列方法に従って配列し(step7)、上記COMマーカセグメントを含むメインヘッダ等を付加した最終的なJPEG2000の符号(コードストリーム)をRAM111上に生成する(step8)。このstep6〜step8は図149中のブロック6の処理に相当する。最後に、この符号を格納したJP2フォーマットのファイルをRAM111上に生成し(step9)、これをハードディスク装置112へ転送し保存する(step10)。なお、生成したJPEG2000の符号をファイル化せず、そのまま例えばPC101へ送信するようなことも可能であり、かかる態様も本実施例に包含される。
以上の説明から明らかなように、本実施例は、コンピュータを利用した請求項1記載の発明の一実施例に相当するものであり、step3がタイルパート分割・配列情報を生成する手段に、step4がタイルパート分割情報をCOMマーカセグメントに記録する手段にそれぞれ対応する。本実施例により生成される符号又はファイルが記録された、コンピュータが読み取り可能な各種の情報記録媒体は、請求項18記載の発明の一実施例に相当する。また、本実施例のためのプログラムは、請求項11記載の発明の一実施例に相当する。また、図6に示すような”タイルパート順”の符号を生成する場合には、本実施例は請求項3,4記載の発明の一実施例に相当する。
図7は、本発明の実施例2を説明するためのフローチャートである。図中のstep11,12,13,14,15,16,17はそれぞれ前記実施例1に係る図2におけるstep1,2,3,5,6,7,8に対応するステップであるので、その説明は省略する。なお、step17で生成されたJPEG2000符号のメインヘッダ中のCOMマーカセグメントにはタイルパート分割・配列情報は記録されない(ただし、記録してもよく、かかる態様も本実施形態に含まれる)。
次に、PC100は、RAM111上にJP2ファイルフォーマットの新規なファイルを開き、該ファイルのUUIDBoxのDATAフィールド又はXMLBoxのDBox位置にstep13で生成した9バイトの分割情報を所定のタグ形式で記録する(step18)。さらに、該ファイルにstep17で生成したJPEG2000符号を格納し、その他の必要なBox情報を記録して最終的なJP2フォーマットのファイルを生成し(step19)、これをハードディスク装置112へ転送してに保存する(step20)。
以上の説明から明らかなように、本実施例は、コンピュータを利用した請求項1記載の発明の一実施例に相当するものであり、step18がタイルパート分割情報をUUIDBox又はXMLBoxに記録する手段に対応する。本実施例により生成される符号又はファイルが記録された、コンピュータが読み取り可能な各種の情報記録媒体は、請求項18記載の発明の一実施例に相当する。また、本実施例のためのプログラムは、請求項11記載の発明の一実施例に相当する。また、図6に示すような”タイルパート順”の符号を生成する場合には本実施例は請求項3,4記載の発明の一実施例に相当する。
本発明の実施例3について、前記実施例2に関する図7を便宜用い説明する。本実施例における処理内容は、図7中のstep18の処理を除き、前記実施例2と同様である。本実施例において、step18では、step13により生成されたタイルパート分割・配列情報を、例えばハードディスク装置112上のデータベースに、図10に示すようにファイル名(生成しようとしているファイルのファイル名)と対応付けた形で記録される。したがって、生成されたファイルのファイル名で該データベースを参照することにより、当該ファイル内の符号に関するタイルパート分割・配列情報を取得可能となる。
なお、生成したJPEG2000の符号をファイル化せずに保存する態様も可能であり、かかる場合、外部データベースには当該符号と関連付けられてタイルパート分割・配列情報が記録されることになる。
以上の説明から明らかなように、本実施例は、コンピュータを利用した請求項2記載の発明の一実施例に相当するものであり、step18がタイルパート分割情報を外部データベースに記録する手段に対応する。本実施例により生成される符号又はファイルが記録された、コンピュータが読み取り可能な各種の情報記録媒体は、請求項18記載の発明の一実施例に相当する。また、本実施例のためのプログラムは、請求項12記載の発明の一実施例に相当する。また、図6に示すような”タイルパート順”の符号を生成する場合には、本実施例は請求項3,4記載の発明の一実施例に相当する。
図8は、本発明の実施例4を説明するためのフローチャートである。本実施例においては、PC100がJPTサーバとして動作し、PC101がJPTクライアントとして動作する場合を想定している。また、図8に示す手順はJPTサーバとしてのPC100側で実行されるものである。
処理の対象となるファイルは、前記実施例1又は2に係る処理によって生成されたJP2フォーマットのファイルであり、これはPC100内のハードディスク装置112に保存されているものとする。ただし、そのJP2フォーマットファイルが、JPTサーバにより管理されている外部のハードディスク装置等に保存されている態様も本実施例に包含される。また、タイルパート分割・配列情報が、該ファイルに格納されている符号のCOMマーカセグメント、あるいは該ファイルのUUIDBox又はXMLBoxのいずれに記録されているかは既知とする。
JPTでは、クライアントからサーバへ、表示したいファイル名のほか解像度指定と表示ウインドウ指定が送信される。解像度指定はx方向のサイズfx、y方向のサイズfy等からなるfsizというパラメータによって指定され、表示ウインドウはrsizというパラメータによって指定される。例えば
fsiz="fsiz" "=" x方向のサイズ "," y方向のサイズ ["," "closest"]
rsiz="rsiz" "=" x方向のウインドウサイズ "," x方向のウインドウサイズ
の様に表現される。
ただし、ここでは、クライアントが要求する解像度レベル(の画像サイズ)と表示ウインドウウサイズとは一致しているものとする。また、ファイルに格納されているJPEG2000の符号は、図5及び図6に示した例と同様に、タイル数=2、解像度レベル数=3、レイヤ数=2、コンポ−ネンント数=3、プリシンクト数=1(マキシマムプリシンクト)のRLPCプログレッションであり、またタイルサイズは縦横ともに2のべき乗であるものとする。
まずJPTサーバであるPC100は、JPTクライアントであるPC101から表示すべきファイル名と解像度レベル(fsizとして)から受信する(step31)。
PC100において、指定されたJP2フォーマットファイルを開き(step32)、fsizのx方向サイズ(fx),y方向サイズ(fy)から送信の必要な解像度レベルrを算出する(step33)。
図9は、このstep33の処理内容を示すフローチャートである。まず、fsizのfx,fyを取り込み(step51)、指定ファイル内のJPEG2000符号のメインヘッダ中のSIZマーカセグメントから原画像の横方向サイズ(Xziz)と縦方向サイズ(Ysiz)を検出し(step52)、メインヘッダ中のCODマーカセグメントからデコンポジションレベル数dを検出する(step53)。そして、2のd乗でXsizを除した値がfx以下であり、かつ、2のd乗でYsizを除した値がfy以下であるという条件の判定を行い(step54)、条件が成立するならば(step54,Yes)、解像度レベルr=0とする(step55)。条件が不成立ならば(step54,No)、
解像度レベルr=d−min[log2(Xsiz/fx),log2(Ysiz/yx)]+1
とする(step55)。ここで、log2()は2を底とする対数であり、mim[a,b]はa,bのうちの大きくない値を与える関数である。
再び図8を参照する。PC100は、step33の処理後、符号のメインヘッダ中のSIZマーカセグメントやCODマーカセグメントから、該符号の符号化条件すなわちタイル数、プログレッションオーダ、デコンポジションレベル数、レイヤ数、コンポーネント数、プリシンクト分割数を検出する(step34)。
次にPC100は、符号のタイルパートの分割方法及び配列方法を検知し(step35)、符号が「R,L,C,Pの各境界位置でタイルパートへ分割され」、かつ、「プログレッションオーダの最上位に位置する属性である解像度レベルRの各値に関し、タイルパートがタイル番号及びタイルパート番号の昇順に連続配置されている(すなわちタイルパートの配列方法が図6に示すような”タイルパート順”である)」ことを確認する(step36)。ここでは、符号のメインヘッダ中のCOMマーカセグメントあるいはファイルのUUIDBox又はXMLBoxに図3に示したタイルパート分割・配列情報が記録されているため、step35では、このタイルパート分割・配列情報を参照することにより分割方法と配列方法を検知することができ、したがってstep36で”タイルパート順”であるか否かも直ちに確認することができる。
そして、step36の判定結果がYesならば、step37以降の効率的なタイルパート選択と送信処理が可能となり、これが本実施例の大きな特徴である。なお、step36の判定結果がNoの場合は別の処理手順となるがその説明は省略する。
以下、step37以降の処理について説明する。PC100は、まず、符号のメインヘッダに関する情報をメインヘッダデータビンとしてクライアントPC101へ送信する(step37)。
次にPC100は、送信すべき総タイルパート数Nを次式
N=タイル数×必要な解像度レベルr×レイヤ数×コンポーネント数×プリシンクト分 割数
により算出する(step38)。そして、符号の先頭のタイルパートからN個目までのタイルパートを順に選択してPC101へ送信する処理を実行する。
すなわち、符号をシークして最初のSOTマーカセグメントを探し(step39)、該SOTマーカセグメントからタイルパート長Lを検出し、このタイルパート長Lをもとに1つ目のタイルパートを選択してPC101へ送信する(step40)。直前に検出されて保持されているタイルパート長Lをもとに符号をシークして次のSOTマーカセグメントを探し(step42)、このSOTマーカセグメントからタイルパート長Lを連出し、このタイルパート長Lをもとに1つのタイルパートを選択してPC101へ送信する(step40)。同様にしてタイルパートを1つずつ順に選択してPC101へ送信する。同様のタイルパートのスキャンと送信はN個目のタイルパートが送信されるまで繰り返される。N個目のタイルパートが送信されると(step41,Yes)、PC100は、そのようなタイルパートのサーチと送信の処理を打ち切る。そして、ファイルを閉じ(step43)、一連の処理を終了する。
なお、ここではJP2フォーマットのファイルが指定され処理されるものとして説明したが、ファイル化されない裸のJPEG2000符号に対しても同様の処理が可能であることは当然である(ただし、タイルパート分割・配列情報は符号のメインヘッダのCOMマーカセグメントにのみ記録されていることになる)。
なお、タイルパート分割・配列情報の先頭ビットが存在しない場合には、setp36における「タイルパート分割位置として用いられているプログレッション属性のうち、プログレッションオーダの最上位側に位置する属性(プログレッションオーダの最上位の属性について,常にタイルパート分割されているとは限らないため、タイルパート分割に利用されている属性のうちの最も上位側のもの、という意味である)の各値に関し、タイルパートがタイル番号及びタイルパート番号の昇順に連続配置されているか」は、「タイルパート分割位置として用いられているプログレッション属性のうち、プログレッションオーダの最上位側に位置する属性(解像度レベル)の最小値に関し、異なるタイル番号のタイルパートが連続配置されているか」を調べることによって確認することができる。
また、以上では説明を簡単にするため、クライアントが要求する解像度レベル(の画像サイズ)と表示ウインドウサイズとが一致するものとした。もし要求解像度レベルの画像サイズよりも表示ウインドウサイズが小さい場合には、要求解像度レベルにおいて表示ウインドウに含まれる位置に存在するタイル群のみに関し送信すればよい。
以上の説明から明らかなように、本実施例は、コンピュータを利用した請求項8記載の発明の一実施例に相当するものであり、step35,38が判定手段に対応する。そして、この判定手段による判定結果が肯定の場合には、step39〜42で、符号の先頭から連続したタイルパートを効率的にアクセスし、所要のタイルパートのみを送信するわけである。また、本実施例のためのプログラムは、請求項15記載の発明の一実施例に相当する。また、このプログラムが記録された情報記録媒体は請求項17記載の発明の一実施例に相当する。
本発明の実施例5によれば、前記実施例3によって生成されたようなファイル内の符号のタイルパート単位の選択と送信を効率的に実行可能である。
本実施例について、前記実施例4に関する図8を用いて説明する。本実施例によれば、図8のstep35において、指定ファイルのファイル名を用い、図10に示すような外部データベースに記録されている該指定ファイル内の符号に関するタイルパート分割・配列情報を参照することにより、該符号のタイルパートへの分割方法及びタイルパートの配列方法を検知する。これ以外は前記実施例4と同様である。
以上の説明から明らかなように、本実施例は、コンピュータを利用した請求項10記載の発明の一実施例に相当するものである。また、本実施例のためのプログラムは、請求項16記載の発明の一実施例に相当する。また、このプログラムが記録された情報記録媒体は請求項17記載の発明の一実施例に相当する。
本発明の実施例6について図11乃至図13を用いて説明する。本実施例では、図5に示したようなタイルパート分割方法・配列方法のJPEG2000符号を格納したJP2フォーマットのファイルから、図6に示したようなタイルパート分割方法・配列方法のJPEG2000符号を格納したJP2フォーマットのファイルを生成する。
図11と図12は本実施例における処理を説明するためのフローチャートである。ここに示す処理は例えばサーバとしてのPC100において実行される。以下、処理内容について順を追って説明する。
PC100において、入力装置114又はクライアントPC101よりファイル名が入力されることによりファイルが指定され(step61)、この指定されたファイルが開かれる(step62)。
該ファイル内の符号のメインヘッダ中のSIZマーカセグメントやCODマーカセグメントから、該符号の符号化条件すなわちタイル数、プログレッションオーダ、デコンポジションレベル数、レイヤ数、コンポーネント数、プリシンクト分割数が検出される(step63)。
次に、符号のタイルパートの分割方法及び配列方法が検知され(step64)、図5に示すような”タイル順上位”の符号であるか確認される(step65)。本実施例では、符号のメインヘッダ中のCOMマーカセグメントに図3に示したタイルパート分割・配列情報が記録されているものとし、このタイルパート分割・配列情報を参照することにより分割方法と配列方法が検知され、その先頭ビットが”0”であることで”タイル順上位”の符号であると直ちに確認される。
図5に示すような”タイル順上位”の符号であると確認されると(step65,Yes)、step66以降の処理に進む。しかし、”タイル順上位”でないと確認されたとき、すなわち符号が”タイルパート順”であると確認されたときには(step66,No)、指定されたファイルは変換処理が不要であるため、メッセージ等を表示装置113に表示して処理を中止することになるが、これ以上の説明は省略する。
以下、step66以降の処理について説明する。PC100は、まず、符号のメインヘッダ中のCOMマーカセグメントに記録されているタイルパート分割・配列情報の先頭ビットが”1”に更新される(step66)。新規のファイルAを開き、前ステップで更新されたCOMマーカセグメントを含むメインヘッダをファイルAへ出力する(step67)。次に、図13に示すタイルパートの位置と長さメンバに持つtp構造体の5次元配列をアロケートする(step68)。そして、指定ファイル内の符号をシークして最初のSOTマーカセグメントを探し(step69)、step70に進む。
このstep70では、指定ファイル内の符号でタイルパート分割位置として用いられているプログレッション属性のうち、プログレッションオーダの最上位に位置する解像度レベルの前に「タイル数」をいれた”TRLCP”というようなプログレッション順に対応したforループ(step70の内部に示した)を構成し、このforループで、先頭のタイルパートから順に、全てのタイルパートの位置と長さLを求めてtp構造体に格納する。
次にstep71(図12)に進む。このstep71では、図6に示すような”タイルパート順”に対応した”RTLCP”というようなプログレッション順に対応したforループ(step71の内部に示した)を構成し、このforループで、tp構造体に格納されている全てのタイルパートを順次にファイルAにはき出すことにより、”タイルパート順”に従ってタイルパートが配列されたJPEG2000フォーマットの符号をファイルAに格納する。そして、最終的なJP2フォーマットのファイルAを生成し(step72)、これをハードディスク装置112に保存する(step73)。最後に指定ファイルを閉じ(step74)、処理を終了する。
なお、ここではJP2フォーマットのファイルが指定されたが、ファイル化されない裸のJPEG2000符号を指定し、同様の処理によって”タイルパート順”に従ったJPEG2000符号を格納したJP2フォーマットのファイルを生成することも可能であることは明らかである。また、同様の処理によって、ファイル化されない裸のJPEG2000符号を生成することも可能である。
なお、指定ファイル内の符号のメインヘッダ中のCOMマーカセグメントにタイルパート分割・配列情報が記録されていず、指定ファイルのUUIDBox又はXMLBoxにタイルパート分割・配列情報が記録されている場合も同様の処理が可能である。この場合、指定ファイルのUUIDBox又はXMLBoxに記録されているタイルパート分割・配列情報を参照することによってタイルパート分割・配列方法を検知、確認することになる。そして、符号のメインヘッダのCOMマーカセグメントの更新に変えて、指定ファイルのUUIDBox又はXMLBoxに記録されているタイルパート分割・配列情報の先頭ビットが”1”に更新され、更新されたUUIDBox又はXMLBoxの情報が新規ファイルAに出力されることになる。これ以上の詳細な説明は割愛するが、かかる態様も本実施例に包含されるものである。
また、指定ファイルにタイルパート分割・配列情報が記録されていないが、外部のデータベースにファイル名に関連付けられてタイルパート分割・配列情報が記録されている場合も同様の処理が可能である。この場合、指定ファイルのファイル名を用いてデータベースに記録されたタイルパート分割・配列情報を参照することによってタイルパート分割・配列方法を検知、確認することになる。そして、そのタイルパート分割・配列情報の先頭ビットが”1”に更新され、更新されたタイルパート分割・配列情報が、新規ファイルAのファイル名と関連付けてデータベースに記録されることになる。これ以上の詳細な説明は割愛するが、かかる態様も本実施形態に包含されるものである。
以上の説明から明らかなように、本実施例は、コンピュータを利用した請求項5,6記載の発明の一実施例に相当するものである。また、本実施例のためのプログラムは、請求項13,14記載の発明の一実施例に相当する。また、このプログラムが記録された情報記録媒体は請求項17記載の発明の一実施例に相当する。また、本実施例により生成される符号又はファイルが記録された情報記録媒体は請求項18記載の発明の一実施例に相当する。
本発明の実施形態に係るシステム構成例を示すブロック図である。 本発明の実施例1を説明するためのフローチャートである。 タイルパート分割・配列情報のフォーマット例を示す図である。 ユーザがタイルパートへの分割方法を指定するための画面例を示す模式図である。 ”タイル順上位”のタイルパート配列例を示す図である。 ”タイルパート順”のタイルパート配列例を示す図である。 本発明の実施例2,3を説明するためのフローチャートである。 本発明の実施例4,5を説明するためのフローチャートである。 図9中のstep33のフローチャートである。 ファイル名に関連付けてタイルパート分割・配列情報が記録されたデータベースの説明図である。 本発明の実施例6を説明するためのフローチャートである。 図12に続くフローチャートである。 tp構造体呼び及びその5次元配列の説明図である。 JPEG2000の符号化アルゴリズムの説明のためのブロック図である。 画像、タイル、サブバンド、プリシンクト、コードブロックの関係を示す図である。 サブバンド分割の例と、デコンポジションレベルと解像度レベルの関係を示す図である。 レイヤー分割例を示す図である。 JPEG2000規定のプログレッションオーダを示す図である。 レイヤープログレッシブ符号の概要図である。 LRCPプログレッションオーダの符号におけるパケット配列例を示す図である。 解像度プログレッシブ符号の概要図である。 RLCPプログレッションオーダの符号におけるパケット配列例を示す図である。 SOTマーカセグメントの構成図である。 SOTマーカセグメントの内容説明図である。 TLMマーカセグメントの構成図である。 TLMマーカセグメントの内容説明図である。 全ての解像度レベルの境界位置でタイルパートへ分割した例を示す図である。 全ての解像度レベルの境界位置及び全てのレイヤーの境界位置でタイルパートへ分割した例を示す図である。 全ての解像度レベルの境界位置、全てのレイヤーの境界位置及び全てのコンポーネントの境界位置でタイルパートへ分割した例を示す図である。 CODマーカセグメントの構成図である。 COMマーカセグメントの構成図である。 JP2ファイルの構造を示す図である。 Boxの情報構造を示す図である。 Boxの情報内容の説明図である。 JPMファイルの構造を示す図である。 2タイルのモノクロ画像の符号の説明図である。 図36のモノクロ画像の符号のタイルパート配列の一例を示す図である。 図36のモノクロ画像の符号のタイルパート配列の一例を示す図である。 図36のモノクロ画像の符号のタイルパート配列の一例を示す図である。
符号の説明
100 パーソナルコンピュータ(JPTサーバ)
101 パーソナルコンピュータ(JPTクライアント)
102 ネットワーク
110 CPU
111 RAM
112 ハードディスク装置
113 表示装置
114 入力装置
115 ネットワーク・インターフェース

Claims (18)

  1. JPEG2000の符号又は該符号を含むJPEG2000ファミリーフォーマットのファイルを生成する符号処理装置であって、
    該符号のタイルパートへの分割方法及びタイルパートの配列方法を示す所定形式のタイルパート分割・配列情報を生成する手段と、該タイルパート分割・配列情報を該符号中のCOMマーカセグメントあるいは該ファイルのUUIDBox又はXMLBoxに記録する手段とを有することを特徴する符号処理装置。
  2. JPEG2000の符号又は該符号を含むJPEG2000ファミリーフォーマットのファイルを生成する符号処理装置であって、
    該符号のタイルパートへの分割方法及びタイルパートの配列方法を示す所定形式のタイルパート分割・配列情報を生成する手段と、該タイルパート分割・配列情報を、該符号又は該ファイルと関連付けて外部データベースに記録する手段とを有することを特徴する符号処理装置。
  3. 前記符号は、タイルパート分割位置として用いられているプログレッション属性のうち、プログレッションオーダの最上位側に位置する属性の各値に関し、該値を持つ全てのタイルパートが、タイル番号及びタイルパート番号の昇順に連続配置された符号であることを特徴とする請求項1又は2記載の符号処理装置。
  4. 前記プログレッションオーダの最上位側に位置する属性は解像度レベルであることを特徴とする請求項3記載の符号処理装置。
  5. JPEG2000の符号(以下、入力符号と記す)又は該入力符号を含むJPEG2000ファミリーフォーマットのファイル(以下、入力ファイルと記す)を入力とし、該入力符号と別のJPEG2000の符号(以下、出力符号と記す)又は該出力符号を含むJPEG2000ファミリーフォーマットのファイル(以下、出力ファイルと記す)を生成する符号処理装置であって、
    該入力符号を、タイルパート分割位置として用いられたプログレッション属性のうち、プログレッションオーダの最上位側に位置する属性の各値に関し、該値を持つ全てのタイルパートが、タイル番号及びタイルパート番号の昇順に連続配置された該出力符号へ変換する手段と、該出力符号のタイルパートへの分割方法及びタイルパートの配列方法を示す所定形式のタイルパート分割・配列情報を生成する手段と、該タイルパート分割・配列情報を該出力符号中のCOMマーカセグメントあるいは該出力ファイルのUUIDBox又はXMLBoxに記録する手段とを有することを特徴とする符号処理装置。
  6. JPEG2000の符号(以下、入力符号と記す)又は該入力符号を含むJPEG2000ファミリーフォーマットのファイル(以下、入力ファイルと記す)を入力とし、該入力符号と別のJPEG2000の符号(以下、出力符号と記す)又は該出力符号を含むJPEG2000ファミリーフォーマットのファイル(以下、出力ファイルと記す)を生成する符号処理装置であって、
    該入力符号を、タイルパート分割位置として用いられたプログレッション属性のうち、プログレッションオーダの最上位側に位置する属性の各値に関し、該値を持つ全てのタイルパートが、タイル番号及びタイルパート番号の昇順に連続配置された該出力符号へ変換する手段と、該出力符号のタイルパートへの分割方法及びタイルパートの配列方法を示す所定形式のタイルパート分割・配列情報を生成する手段と、該タイルパート分割・配列情報を該出力符号又は該出力ファイルと関連付けて外部データベースに記録する手段とを有することを特徴とする符号処理装置。
  7. 前記プログレッションオーダの最上位側に位置する属性は解像度レベルであることを特徴とする請求項5又は6記載の符号処理装置。
  8. JPEG2000の符号又は該符号を含むJPEG2000ファミリーフォーマットのファイルを入力とし、該符号の所要のタイルパートを選択する符号処理装置であって、
    該符号のCOMマーカセグメントあるいは該ファイルのUUIDBox又はXMLBoxに記録されたタイルパート分割・配列情報を参照することにより、該符号においてタイルパート分割位置として用いられたプログレッション属性のうち、プログレッションオーダの最上位側に位置する属性の各値に関し、該値を持つ全てのタイルパートが、タイル番号及びタイルパート番号の昇順に連続配置されているか判定する手段を有することを特徴とする符号処理装置。
  9. JPEG2000の符号又は該符号を含むJPEG2000ファミリーフォーマットのファイルを入力とし、該符号の所要のタイルパートを選択する符号処理装置であって、
    該符号又は該ファイルに関連付けられて外部データベースに記録されているタイルパート分割・配列情報を参照することにより、該符号においてタイルパート分割位置として用いられたプログレッション属性のうち、プログレッションオーダの最上位側に位置する属性の各値に関し、該値を持つ全てのタイルパートが、タイル番号及びタイルパート番号の昇順に連続配置されているか判定する手段を有することを特徴とする符号処理装置。
  10. JPEG2000の符号又は該符号を含むJPEG2000ファミリーフォーマットのファイルを入力とし、該符号の所要のタイルパートを選択する符号処理装置であって、
    該符号においてタイルパート分割位置として用いられたプログレッション属性のうち、プログレッションオーダの最上位側に位置する属性の最小値に関し、異なるタイル番号のタイル番号のタイルパートが連続配置されていか否かを調べることにより、該最上位側に位置する属性の各値に関し、該値を持つ全てのタイルパートが、タイル番号及びタイルパート番号の昇順に連続配置されているか判定する手段を有することを特徴とする符号処理装置。
  11. コンピュータに、JPEG2000の符号又は該符号を含むJPEG2000ファミリーフォーマットのファイルを生成する処理を行わせるプログラムであって、コンピュータに、
    該符号のタイルパートへの分割方法及びタイルパートの配列方法を示す所定形式のタイルパート分割・配列情報をメモリ上に生成する工程、該タイルパート分割・配列情報をメモリ上の該符号中のCOMマーカセグメントあるいは該ファイルのUUIDBox又はXMLBoxに記録する工程を実行させることを特徴とするプログラム。
  12. コンピュータに、JPEG2000の符号又は該符号を含むJPEG2000ファミリーフォーマットのファイルを生成する処理を行わせるプログラムであって、コンピュータに、
    該符号のタイルパートへの分割方法及びタイルパートの配列方法を示す所定形式のタイルパート分割・配列情報をメモリ上に生成する工程、該タイルパート分割・配列情報を、該符号又は該ファイルと関連付けて外部データベースに記録する工程を実行させることを特徴とするプログラム。
  13. コンピュータに、JPEG2000の符号(以下、入力符号と記す)又は該入力符号を含むJPEG2000ファミリーフォーマットのファイル(以下、入力ファイルと記す)を入力とし、該入力符号と別のJPEG2000の符号(以下、出力符号と記す)又は該出力符号を含むJPEG2000ファミリーフォーマットのファイル(以下、出力ファイルと記す)を生成する処理を行わせるプログラムであって、コンピュータに、
    メモリ上の該入力符号を、タイルパート分割位置として用いられたプログレッション属性のうち、プログレッションオーダの最上位側に位置する属性の各値に関し、該値を持つ全てのタイルパートが、タイル番号及びタイルパート番号の昇順に連続配置された該出力符号へ変換する工程、該出力符号のタイルパートへの分割方法及びタイルパートの配列方法を示す所定形式のタイルパート分割・配列情報をメモリ上に生成する工程、該タイルパート分割・配列情報をメモリ上の該出力符号中のCOMマーカセグメントあるいはメモリ上の該出力ファイルのUUIDBox又はXMLBoxに記録する工程を実行させることを特徴とするプログラム。
  14. コンピュータに、JPEG2000の符号(以下、入力符号と記す)又は該入力符号を含むJPEG2000ファミリーフォーマットのファイル(以下、入力ファイルと記す)を入力とし、該入力符号と別のJPEG2000の符号(以下、出力符号と記す)又は該出力符号を含むJPEG2000ファミリーフォーマットのファイル(以下、出力ファイルと記す)を生成する処理を行わせるプログラムであって、コンピュータに、
    メモリ上の該入力符号を、タイルパート分割位置として用いられたプログレッション属性のうち、プログレッションオーダの最上位側に位置する属性の各値に関し、該値を持つ全てのタイルパートが、タイル番号及びタイルパート番号の昇順に連続配置された該出力符号へ変換する工程、該出力符号のタイルパートへの分割方法及びタイルパートの配列方法を示す所定形式のタイルパート分割・配列情報をメモリ上に生成する工程、該タイルパート分割・配列情報を該出力符号又は該出力ファイルと関連付けて外部データベースに記録する工程を実行させることを特徴とするプログラム。
  15. コンピュータに、JPEG2000の符号又は該符号を含むJPEG2000ファミリーフォーマットのファイルを入力とし、該符号の所要のタイルパートを選択する処理を行わせるプログラムであって、コンピュータに、
    メモリ上の該符号のCOMマーカセグメントあるいは該ファイルのUUIDBox又はXMLBoxに記録されたタイルパート分割・配列情報を参照することにより、該符号においてタイルパート分割位置として用いられたプログレッション属性のうち、プログレッションオーダの最上位側に位置する属性の各値に関し、該値を持つ全てのタイルパートが、タイル番号及びタイルパート番号の昇順に連続配置されているか判定する工程を実行させることを特徴とするプログラム。
  16. コンピュータに、JPEG2000の符号又は該符号を含むJPEG2000ファミリーフォーマットのファイルを入力とし、該符号の所要のタイルパートを選択する処理を行わせるプログラムであって、コンピュータに、
    メモリ上の該符号又は該ファイルに関連付けられて外部データベースに記録されているタイルパート分割・配列情報を参照することにより、該符号においてタイルパート分割位置として用いられたプログレッション属性のうち、プログレッションオーダの最上位側に位置する属性の各値に関し、該値を持つ全てのタイルパートが、タイル番号及びタイルパート番号の昇順に連続配置されているか判定する工程を実行させることを特徴とするプログラム。
  17. 請求項11乃至16のいずれか1項記載のプログラムが記録された、コンピュータが読み取り可能な情報記録媒体。
  18. JPEG2000の符号又は該符号を含むJPEG2000ファミリーフォーマットのファイルが記録された、コンピュータが読み取り可能な情報記録媒体であって、該符号のタイルパートへの分割方法及びタイルパートの配列方法を示す所定形式のタイルパート分割・配列情報が該符号のCOMマーカセグメント又は該ファイルのUUIDBox又はXMLBoxに記録されていることを特徴とする情報記録媒体。
JP2006077206A 2006-03-20 2006-03-20 符号処理装置、プログラム及び情報記録媒体 Expired - Fee Related JP4748672B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006077206A JP4748672B2 (ja) 2006-03-20 2006-03-20 符号処理装置、プログラム及び情報記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006077206A JP4748672B2 (ja) 2006-03-20 2006-03-20 符号処理装置、プログラム及び情報記録媒体

Publications (2)

Publication Number Publication Date
JP2007258807A JP2007258807A (ja) 2007-10-04
JP4748672B2 true JP4748672B2 (ja) 2011-08-17

Family

ID=38632652

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006077206A Expired - Fee Related JP4748672B2 (ja) 2006-03-20 2006-03-20 符号処理装置、プログラム及び情報記録媒体

Country Status (1)

Country Link
JP (1) JP4748672B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4047152B2 (ja) * 2002-12-03 2008-02-13 キヤノン株式会社 画像処理装置
US7447369B2 (en) * 2003-03-07 2008-11-04 Ricoh Co., Ltd. Communication of compressed digital images
US7460724B2 (en) * 2003-03-07 2008-12-02 Ricoh Co., Ltd. JPP-stream to JPEG 2000 codestream conversion

Also Published As

Publication number Publication date
JP2007258807A (ja) 2007-10-04

Similar Documents

Publication Publication Date Title
JP4377103B2 (ja) サーバクライアント環境におけるjpeg2000のための画像処理
US7580577B2 (en) Methods, apparatus and computer products for generating JPEG2000 encoded data in a client
CN101464882B (zh) 信息显示系统和信息显示方法
JP4709493B2 (ja) 圧縮されたディジタル画像を通信する方法及び製造物
US7646927B2 (en) Image processing and display scheme for rendering an image at high speed
US20050201624A1 (en) Method, program and apparatus for image processing capable of effectively performing image transmission, and a medium storing the program
US7349585B2 (en) Image processing system that internally transmits lowest-resolution image suitable for image processing
JP2009009334A (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP4530274B2 (ja) 符号処理装置、符号処理方法、プログラム及び情報記録媒体
JP2004274758A (ja) Jpp−ストリームからjpeg2000符号ストリームへの変換方法及び変換装置
JP2004274759A (ja) 制限されたアクセスとサーバ/クライアント受け渡しを有する圧縮されたディジタル画像の通信方法及び装置
JP5167944B2 (ja) 情報処理装置、情報処理方法、プログラム及び記録媒体
US7865028B2 (en) Code processing apparatus and code processing method
JP4609918B2 (ja) 画像処理システム、画像処理方法、プログラム及び情報記録媒体
JP4748672B2 (ja) 符号処理装置、プログラム及び情報記録媒体
JP4743613B2 (ja) 符号生成装置、ファイル生成装置、符号処理装置、プログラム、情報記録媒体
JP5081663B2 (ja) 符号化装置、符号変換装置、符号伸張装置、符号化方法、符号変換方法及び符号伸張方法
JP4874170B2 (ja) 画像処理装置及び画像処理方法
JP5146145B2 (ja) 画像処理装置、画像処理方法、コンピュータプログラム、及び、情報記録媒体
JP2006086579A (ja) 画像処理装置、プログラム、及び記憶媒体
JP4773770B2 (ja) 画像処理システム、画像処理方法、プログラムおよび記録媒体
JP4789197B2 (ja) 符号処理装置、符号処理方法、プログラム及び情報記録媒体
JP4721258B2 (ja) 画像処理装置、画像処理方法、プログラム及び情報記録媒体
JP4442893B2 (ja) 画像検索装置及びその制御方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
Gormish JPEG 2000: Get the Bit You Want

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090212

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110511

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110512

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

Free format text: PAYMENT UNTIL: 20140527

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees