(57)【要約】【課題】JPEG2000の原符号から、クライアントより指定された画質要求に従って高精度に画質が制御された出力符号を生成するサーバ。【解決手段】  サーバにおいて、原符号の圧縮率もしくは量子化誤差に応じた観察距離のVisual  Weightを選択し（ｓｔｅｐ１０１）、原符号の最上レイヤから最下位レイヤへ向かって、各レイヤのパケットに、選択されたVisual  Weightに基づいて序列を付け（ｓｔｅｐ１０２）、原符号より出力符号に含めるべきパケットを序列の順に選択し（ｓｔｅｐ１０３）、選択されたパケットからなる出力符号を形成し（ｓｔｅｐ１０４）、その出力符号をクライアントへ送信する（ｓｔｅｐ１０５）。【選択図】図１０
2006196968.tif 000002
【特許請求の範囲】
【請求項１】
画質属性及び解像度属性を持つ部分符号の集合からなる原符号から、画質指定値に対応した画質の出力符号を生成する符号処理装置であって、
前記原符号の部分符号に対し、異なる画質レベルの画質属性を持つ部分符号間では低い画質レベルの画質属性を持つ部分符号を優先し、かつ、同一の画質レベルの画質属性を持つ部分符号間では低い解像度レベルの解像度属性を持つ部分符号を優先して序列を付ける序列付け手段と、
前記原符号より、前記出力符号に含めるべき部分符号を前記序列付け手段により付けられた序列の順に選択する部分符号選択手段と、
前記部分符号選択手段により選択された部分符号からなる前記出力符号を形成する符号形成手段とを有することを特徴とする符号処理装置。
【請求項２】
画質属性及び解像度属性を持つ部分符号の集合からなる原符号から、画質指定値に対応した画質の出力符号を生成する符号処理装置であって、
前記原符号の、前記画質指定値により決まる特定の画質レベルの高画質側の次画質レベルの画質属性を持つ部分符号に対し、低い解像度レベルの解像度属性を持つ部分符号を優先して序列を付ける序列付け手段と、
前記原符号より、前記出力符号に含めるべき部分符号として、前記特定の画質レベル以下の画質属性を持つ全ての部分符号を選択するとともに、前記次画質レベルの画質属性を持つ部分符号を前記序列付け手段により付けられた序列の順に選択する部分符号選択手段と、
前記部分符号選択手段により選択された部分符号からなる前記出力符号を形成する符号形成手段とを有することを特徴とする符号処理装置。
【請求項３】
前記原符号が複数のコンポーネントで構成される場合、
前記序列付け手段は、解像度属性による部分符号の序列付けに各コンポーネントの視覚周波数特性を反映させることを特徴とする請求項１又は２記載の符号処理装置。
【請求項４】
前記序列付け手段は、解像度属性による部分符号の序列付けに反映させる各コンポーネントの視覚周波数特性を前記原符号の圧縮率もしくは量子化誤差に応じて切り替えることを特徴とする請求項３記載の符号処理装置。
【請求項５】
前記序列付け手段は、解像度属性による部分符号の序列付けに反映させる各コンポーネントの視覚周波数特性を前記画質指定値に応じて切り替えることを特徴とする請求項３記載の符号処理装置。
【請求項６】
前記序列付け手段は、解像度属性による部分符号の序列付けに反映させる各コンポーネントの視覚周波数特性を前記画質指定値と前記原符号の圧縮率もしくは量子化誤差とに応じて切り替えることを特徴とする請求項３記載の符号処理装置。
【請求項７】
複数コンポーネントからなるJPEG2000の原符号から、画質指定値に対応した画質の出力符号を生成する符号処理装置であって、
前記原符号の最上位レイヤより最下位レイヤへ向かって、各レイヤのパケットに、前記原符号の圧縮率もしくは量子化誤差に応じて選択したVisual  Weightに基づいて序列を付ける序列付け手段と、
前記原符号より、前記出力符号に含めるべきパケットを、前記序列付け手段により付けられた序列の順に選択するパケット選択手段と、
前記パケット選択手段により選択されたパケットからなる前記出力符号を形成する符号形成手段とを有することを特徴とする符号処理装置。
【請求項８】
複数コンポーネントからなるJPEG2000の原符号から、画質指定値に対応した画質の出力符号を生成する符号処理装置であって、
前記原符号の最上位レイヤより最下位レイヤへ向かって、各レイヤのパケットに、前記画質指定値に応じて選択したVisual  Weightに基づいて序列を付ける序列付け手段と、
前記原符号より、前記出力符号に含めるべきパケットを、前記序列付け手段により付けられた序列の順に選択するパケット選択手段と、
前記パケット選択手段により選択されたパケットからなる前記出力符号を形成する符号形成手段とを有することを特徴とする符号処理装置。
【請求項９】
複数コンポーネントからなるJPEG2000の原符号から、画質指定値に対応した画質の出力符号を生成する符号処理装置であって、
前記原符号の最上位レイヤより最下位レイヤへ向かって、各レイヤのパケットに、前記原符号の圧縮率もしくは量子化誤差と前記画質指定値とに応じて選択したVisual  Weightに基づいて序列を付ける序列付け手段と、
前記原符号より、前記出力符号に含めるべきパケットを前記序列付け手段により付けられた序列の順に選択するパケット選択手段と、
前記パケット選択手段により選択されたパケットからなる前記出力符号を形成する符号形成手段とを有することを特徴とする符号処理装置。
【請求項１０】
複数コンポーネントからなるJPEG2000の原符号から、画質指定値に対応した画質の出力符号を生成する符号処理装置であって、
前記画質指定値により決まる前記原符号の特定のレイヤの下位側の次位レイヤのパケットに、前記原符号の圧縮率もしくは量子化誤差に応じて選択したVisual  Weightに基づき序列を付ける序列付け手段と、
前記原符号より、前記出力符号に含めるべきパケットとして、前記特定レイヤ及びそれより上位のレイヤの全てのパケットを選択するとともに、前記次位レイヤのパケットを前記序列付け手段により付けられた序列の順に選択するパケット選択手段と、
前記パケット選択手段により選択されたパケットからなる前記出力符号を形成する符号形成手段とを有することを特徴とする符号処理装置。
【請求項１１】
複数コンポーネントからなるJPEG2000の原符号から、画質指定値に対応した画質の出力符号を生成する符号処理装置であって、
前記画質指定値により決まる前記原符号の特定のレイヤの下位側の次位レイヤのパケットに、前記画質指定値に応じて選択したVisual  Weightに基づき序列を付ける序列付け手段と、
前記原符号より、前記出力符号に含めるべきパケットとして、前記特定レイヤ及びそれより上位のレイヤの全てのパケットを選択するとともに、前記次位レイヤのパケットを前記序列付け手段により付けられた序列の順に選択するパケット選択手段と、
前記パケット選択手段により選択されたパケットからなる前記出力符号を形成する符号形成手段とを有することを特徴とする符号処理装置。
【請求項１２】
複数コンポーネントからなるJPEG2000の原符号から、画質指定値に対応した画質の出力符号を生成する符号処理装置であって、
前記画質指定値により決まる前記原符号の特定のレイヤの下位側の次位レイヤのパケットに、前記原符号の圧縮率もしくは量子化誤差と前記画質指定値とに応じて選択したVisual  Weightに基づき序列を付ける序列付け手段と、
前記原符号より、前記出力符号に含めるべきパケットとして、前記特定レイヤ及びそれより上位のレイヤの全てのパケットを選択するとともに、前記次位レイヤのパケットを前記序列付け手段により付けられた序列の順に選択するパケット選択手段と、
前記パケット選択手段により選択されたパケットからなる前記出力符号を形成する符号形成手段とを有することを特徴とする符号処理装置。
【請求項１３】
外部装置より前記画質指定値を受信し、かつ、前記符号形成手段により形成された前記出力符号を前記外部装置へ送信する通信手段を有することを特徴とする請求項１乃至１２のいずれか１項記載の符号処理装置。
【請求項１４】
複数コンポーネントからなるJPEG2000の原符号から、画質指定値に対応した画質の出力符号を生成する符号処理方法であって、
前記原符号の圧縮率もしくは量子化誤差に応じてVisual  Weightを選択する第１の工程と、
前記原符号の最上レイヤから最下位レイヤへ向かって、各レイヤのパケットに、前記第１の工程によって選択されたVisual  Weightに基づいて序列を付ける第２の工程と、
前記原符号より、前記出力符号に含めるべきパケットを前記第２の工程により付けられた序列の順に選択する第３の工程と、
前記第３の工程により選択されたパケットからなる前記出力符号を形成する第４の工程とを有することを特徴とする符号処理方法。
【請求項１５】
複数コンポーネントからなるJPEG2000の原符号から、画質指定値に対応した画質の出力符号を生成する符号処理方法であって、
前記画質指定値に応じてVisual  Weightを選択する第１の工程と、
前記原符号の最上位レイヤから最下位レイヤへ向かって、各レイヤのパケットに、前記第１の工程によって選択されたVisual  Weightに基づいて序列を付ける第２の工程と、
前記原符号より、前記出力符号に含めるべきパケットを前記第２の工程により付けられた序列の順に選択する第３の工程と、
前記第３の工程により選択されたパケットからなる前記出力符号を形成する第４の工程とを有することを特徴とする符号処理方法。
【請求項１６】
複数コンポーネントからなるJPEG2000の原符号から、画質指定値に対応した画質の出力符号を生成する符号処理方法であって、
前記原符号の圧縮率もしくは量子化誤差と前記画質指定値とに応じてVisual  Weightを選択する第１の工程と、
前記原符号の最上レイヤから最下位レイヤへ向かって、各レイヤのパケットに、前記第１の工程によって選択されたVisual  Weightに基づいて序列を付ける第２の工程と、
前記原符号より、前記出力符号に含めるべきパケットを前記第２の工程により付けられた序列の順に選択する第３の工程と、
前記第３の工程により選択されたパケットからなる前記出力符号を形成する第４の工程とを有することを特徴とする符号処理方法。
【請求項１７】
複数コンポーネントからなるJPEG2000の原符号から、画質指定値に対応した画質の出力符号を生成する符号処理方法であって、
前記画質指定値に従ってレイヤを選択する第１の工程と、
前記原符号の圧縮率もしくは量子化誤差に応じてVisual  Weightを選択する第２の工程と、
前記原符号の前記第１の工程により選択されたレイヤの下位側の次位レイヤのパケットに、前記第２の工程によって選択されたVisual  Weightに基づいて序列を付ける第３の工程と、
前記原符号より、前記出力符号に含めるべきパケットとして、前記第１の工程により選択されたレイヤの全てのパケットを選択するとともに、前記第１の工程により選択されレイヤの下位側の次位レイヤのパケットを前記第３の工程により付けられた序列の順に選択する第４の工程と、
前記第４の工程により選択されたパケットからなる前記出力符号を形成する第５の工程とを有することを特徴とする符号処理方法。
【請求項１８】
複数コンポーネントからなるJPEG2000の原符号から、画質指定値に対応した画質の出力符号を生成する符号処理方法であって、
前記原符号の画質指定値に従ってレイヤを選択する第１の工程と、
前記画質指定値に応じてVisual  Weightを選択する第２の工程と、
前記原符号の前記第１の工程により選択されたレイヤの下位側の次位レイヤのパケットに、前記第２の工程によって決定されたVisual  Weightに基づいて序列を付ける第３の工程と、
前記原符号より、前記出力符号に含めるべきパケットとして、前記第１の工程により選択されたレイヤの全てのパケットを選択するとともに、前記第１の工程により選択されレイヤの下位側の次位レイヤのパケットを前記第３の工程により付けられた序列の順に選択する第４の工程と、
前記第４の工程により選択されたパケットからなる前記出力符号を形成する第５の工程とを有することを特徴とする符号処理方法。
【請求項１９】
複数コンポーネントからなるJPEG2000の原符号から、画質指定値に対応した画質の出力符号を生成する符号処理方法であって、
前記原符号の画質指定値に従ってレイヤを選択する第１の工程と、
前記原符号の圧縮率もしくは量子化誤差と前記画質指定値とに応じてVisual  Weightを選択する第２の工程と、
前記原符号の前記第１の工程により選択されたレイヤの下位側の次位レイヤのパケットに、前記第２の工程によって選択されたVisual  Weightに基づいて序列を付ける第３の工程と、
前記原符号より、前記出力符号に含めるべきパケットとして、前記第１の工程により選択されたレイヤの全てのパケットを選択するとともに、前記第１の工程により選択されレイヤの下位側の次位レイヤのパケットを前記第３の工程により付けられた序列の順に選択する第４の工程と、
前記第４の工程により選択されたパケットからなる前記出力符号を形成する第５の工程とを有することを特徴とする符号処理方法。
【請求項２０】
コンピュータの記憶装置に記憶されている原符号から画質指定値に応じた画質の出力符号を生成するために、請求項１４乃至１９のいずれか１項記載の各工程を前記コンピュータに実行させるプログラム。
【請求項２１】
請求項２０記載のプログラムが記録された、コンピュータが読み取り可能な情報記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像を符号化した原符号から画質指定値に応じた画質を持つ別の符号を生成する符号処理装置及び符号処理方法に関し、JPIP等のサーバ・クライアントシステムに効果的に応用可能である。
【背景技術】
【０００２】
JPEG（Joint  Photographic  Coding  Experts  Group）で採用されているDCT（離散コサイン変換）に代わる周波数変換として、近年ウェーブレット変換の採用が増加している。その代表例は、2001年に国際標準になったJPEG後継の画像圧縮伸長方式JPEG2000である。
【０００３】
JPEG2000の符号化処理は、概ね図１に示すような流れで行われる。まず、画像は矩形のタイルに分割され(分割数≧１)、各タイルは、輝度・色差等のコンポ−ネントへ色変換される。変換後のコンポ−ネント（タイルコンポ−ネントと呼ばれる）は、ウェーブレット変換によって、LL、HL、LH、HHと略称される４つのサブバンドに分割される。そしてLLサブバンドに対して再帰的にウェーブレット変換（デコンポジション）を繰返すと、最終的に１つのLLサブバンドと複数のHL、LH、HHサブバンドが生成される。
【０００４】
なお、JPEG2000では、9x7変換と呼ばれる非可逆ウェーブレット変換と5x3変換と呼ばれる可逆ウェーブレット変換が用いられる。また、色変換として、9x7変換用の非可逆色変換ICTと、5x3変換用の可逆色変換RCTが規定されている。
【０００５】
次に各サブバンドはプリシンクトとよばれる矩形に分割される。プリシンクトとは、サブバンドを矩形に分割したものをＨＬ、ＬＨ、ＨＨの３つのサブバンドについて集めたもので、プリシンクトは３つで１まとまりである（図２参照）。ただし、ＬＬサブバンドを分割したプリシンクトは１つで１まとまりである。プリシンクトは大まかには画像中の場所（Position）を表すものである。プリシンクトはサブバンドと同じサイズにできる。プリシンクトをさらに矩形に分割したものがコードブロックである(図２参照)。よって、物理的な大きさの序列は、画像≧タイル＞サブバンド≧プリシンクト≧コードブロックとなる。尚、後の説明のため、デコンポジションレベル（施すウェーブレット変換の回数）と解像度レベルの関係を図３に示す。
【０００６】
以上の分割の後、ウェーブレット係数のエントロピー符号化（ビットプレーン符号化）が、コードブロック毎かつビットプレーン順に成される。プリシンクトに含まれる全てのコードブロックから、ビットプレーンの符号の一部を取り出して集めたもの（例えば、全てのコードブロックのMSBから３枚目までのビットプレーンの符号を集めたもの）に、ヘッダをつけたものをパケットと呼ぶ。上記“一部”は“空”でもいいので、パケットの中身が符号的には“空(から)”ということもある。パケットヘッダには、当該パケットに含まれる符号に関する情報が含まれ、各パケットは独立に扱うことができる。いわばパケットは符号の単位である。
【０００７】
そして、全てのプリシンクト（＝全てコードブロック＝全てのサブバンド）のパケットを集めると、画像全域の符号の一部（例えば、.画像全域のウェーブレット係数の、MSBから３枚目までのビットプレーンの符号）ができるが、これをレイヤと呼ぶ。レイヤは、大まかには画像全体のビットプレーンの符号の一部であるから、復号されるレイヤ数が増えれば画質は上がることになる。すなわち。レイヤはビット深さ方向に形成された画質の単位である。すべてのレイヤーを集めると、画像全域の全てのビットプレーンの符号になる。
【０００８】
図４の上側の図はデコンポジションレベル数＝２、プリシンクトサイズ＝サブバンドサイズとしたときのレイヤの例を示す。図４の下側の図に、レイヤに含まれるパケットの一部を太線で囲んで示す。
【０００９】
さて、生成されたパケットやレイヤの区切りに従い、パケットを並べる作業を符号形成と呼ぶ。以上の様にJPEG2000の符号を構成する部分符号であるパケットは
どのコンポ−ネント（記号C）に属するか、
どの解像度レベル（記号R）に属するか、
どのプリシンクト（場所）（記号P）に属するか、
どのレイヤ（画質レベル）（記号L）に属するか
という４つの属性を有する。パケットの配列とは、どの属性の順に階層的に並べるかを意味する。この配列順をプログレッションオーダと呼び、図５に示すLRCP,RLCP,RPCL,PCRL,CPRLの５通りのプログレッションオーダが規定されている。
【００１０】
ここで、エンコーダがプログレッションオーダに従ってパケットを並べる様子、および、デコーダがプログレッションオーダに従ってパケットの属性を解釈する様子を、LRCPプログレッションを例に説明する。
【００１１】
ＬＲＣＰプログレッションの場合、ネストされたforループ
for(レイヤ)｛
for(解像度)｛
for(コンポ−ネント)｛
for(プリシンクト)｛
エンコード時：パケットを配置
デコード時：パケットの属性を解釈
｝
｝
｝
｝
に従って、パケットの配列（エンコード時）、解釈（デコード時）がなされる。各パケットはパケットヘッダを有し、パケットヘッダには、
・そのパケットが空かどうか
・そのパケットにどのコードブロックが含まれるか
・そのパケットに含まれる各コードブロックのゼロビットプレーン数
・そのパケットに含まれる各コードブロック符号のコーディングパス数（ビットプレーン数）
・そのパケットに含まれる各コードブロックの符号長
が記載されている。しかし、パケットヘッダにはレイヤ番号や解像度レベル等の属性値それ自体は記載されていない。デコード時に、符号のメインヘッダ中のＣＯＤマーカに記載されたプログレッションオーダから上記のようなforループを形成し、そのパケットに含まれる各コードブロックの符号長の和からパケットの切れ目を判別し、各パケットがforループ内のどの位置でハンドリングされたかによって、各パケットがどのレイヤのどの解像度レベルのものであるかが分かる。これは、パケットヘッダ中の符号長さえ読み出せば、エントロピー符号自体をデコードしなくても次のパケットを検出できること、すなわち任意のパケットにアクセスできることを意味する。
【００１２】
図６はLRCPの様な、レイヤがforループの最も外側に位置するレイヤープログレッシブ符号の概念図であり、図７は画像サイズ１００×１００画素、２レイヤ、解像度レベル３（０〜２）、３コンポ−ネント、プリシンクトサイズ３２×３２、LRCPプログレッションの場合の３６個のパケットの配列例である。
【００１３】
さて、以上の様にJPEG2000の符号はパケット単位でのアクセスが可能であり、これは、原符号から必要な部分符号すなわちパケットだけを抜き出して、新たな符号を生成できることを意味する。またこれは、必要に応じて原符号を部分的に復号できることをも意味する。例えば、サーバにある大きな画像をクライアント側で表示する場合に、必要な画質だけの符号、必要な解像度だけの符号、見たい場所だけの符号、見たいコンポ−ネントだけの符号をサーバから受信し、復号することができるのである。
【００１４】
この様に、サーバにあるJPEG2000の原符号から必要な一部符号だけを受信するためのプロトコルJPIP（JPEG2000  Interactive  Protocol）が現在標準化の途上にある。JPIPにおけるキャッシュモデル等に関する公知文献としては例えば特許文献１がある。
【００１５】
同様の階層的な画像の部分的アクセスのためのプロトコルは、古くは、画像の多重解像度表現であるFlashPix（登録商標）と、それにアクセスするためのプロトコルIIP（Internet  Imaging  Protocol）に見ることができ、これに関する公知文献としては例えば特許文献２がある。
【００１６】
【特許文献１】特開2003−23630号公報
【特許文献２】特開平11-205786号公報
【特許文献３】特開2001-298366号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
さて、JPIPの場合、クライアントからサーバに、描画したい領域と画質を指定することが提案されている。領域が指定された場合、サーバは当該領域をカバーするプリシンクトのパケットを送信する。つまり
for(プリシンクト)｛
パケットを解釈
｝
において、必要なプリシンクトのパケットのみを送信することができる。また、これと同時に画質が指定された場合、
for(レイヤ)｛
‥‥
for(プリシンク)｛
パケットを解釈
｝
‥‥
｝
において、必要なレイヤのパケットのみを送信することができる。
【００１８】
現在、画質指定(-qualityリクエスト)としては0から100の画質指定値を指定可能にすることが提案されており、この画質指定値が大きい程、送信する符号のレイヤ数を多くすることが想定可能である。例えば、サーバ内の符号が50レイヤで構成され、画質指定値が50である場合、25レイヤ分の符号を送信することができる。すなわち
for(レイヤ＝０  to  ２４)｛
‥‥
｝
としてパケットを送信することができる。レイヤは画質の単位だからである。
【００１９】
しかし、例えば、サーバ内の符号が１レイヤで構成されている場合に、画質指定値として50が指定されたときに、どのパケットを送信すべきかは検討すべき課題である。画質単位としては１つしかないからである。同様に、サーバ内の符号が例えば３レイヤで構成されている場合に、画質指定値として50が指定されたときに、最上位レイヤのパケットは当然に送信するとしても、次位レイヤについては、どのパケットを送信すべきかは検討すべき課題である。
【００２０】
本発明の直接的な目的は、JPIPにおける上述の如き課題を解決することにある。本発明のより一般的な目的は、JPEG2000の符号や、同様の画質属性と解像度属性を持つ部分符号の集合からなる符号から、画質指定値に対応した画質の出力符号を生成するための新規な装置及び方法を提供することにある。
【課題を解決するための手段】
【００２１】
JPIPに関連して述べたように、レイヤはビット深さ方向に形成された画質単位であるが、解像度レベルが複数ある場合、解像度も画質に密接に関係するので、画質単位であるレイヤによりパケットを選択するほかに、解像度的観点からパケットを選択することにより画質指定要求に応えることが可能である。より一般的には、画質属性と解像度属性を持つ部分符号からなる原符号から部分符号を選択する場合に、画質属性のみならず解像度属性をも考慮して部分符号を選択することにより、画質指定要求に対し、画質的観点に加え解像度的観点からも応えることが可能である。
【００２２】
請求項１記載の発明は、かかる考察に基づいたもので、画質属性及び解像度属性を持つ部分符号の集合からなる原符号から、画質指定値に対応した画質の出力符号を生成する符号処理装置であって、前記原符号の部分符号に対し、異なる画質レベルの画質属性を持つ部分符号間では低い画質レベルの画質属性を持つ部分符号を優先し、かつ、同一の画質レベルの画質属性を持つ部分符号間では低い解像度レベルの解像度属性を持つ部分符号を優先して序列を付ける序列付け手段と、前記原符号より、前記出力符号に含めるべき部分符号を前記序列付け手段により付けられた序列の順に選択する部分符号選択手段と、前記部分符号選択手段により選択された部分符号からなる前記出力符号を形成する符号形成手段とを有することを特徴とする符号処理装置である。
【００２３】
原符号が例えば２レイヤ構成のJPEG2000の符号で、画質指定値として指定可能範囲0〜100の中間値50よりやや高画質の60が指定された場合を想定する。この場合、請求項１記載の発明をそのまま適用することも可能であるが、例えば、最も低画質の最上位レイヤ（レイヤ０）のパケットを全て選択し、それより高画質側の次位レイヤ（レイヤ１）のパケットについて解像度レベルにより序列付けし、その序列の順序に従ってパケットを選択するような処理が効率的であろう。
【００２４】
かかる考察に基づき、請求項２記載の発明は、画質属性及び解像度属性を持つ部分符号の集合からなる原符号から、画質指定値に対応した画質の出力符号を生成する符号処理装置であって、前記原符号の、前記画質指定値により決まる特定の画質レベルの高画質側の次画質レベルの画質属性を持つ部分符号に対し、低い解像度レベルの解像度属性を持つ部分符号を優先して序列を付ける序列付け手段と、前記原符号より、前記出力符号に含めるべき部分符号として、前記特定の画質レベル以下の画質属性を持つ全ての部分符号を選択するとともに、前記次画質レベルの画質属性を持つ部分符号を前記序列付け手段により付けられた序列の順に選択する部分符号選択手段と、前記部分符号選択手段により選択された部分符号からなる前記出力符号を形成する符号形成手段とを有することを特徴とする符号処理装置である。
【００２５】
例えば、カラー画像のJPEG2000の符号は、通常、輝度成分Ｙと色差成分Ｃｂ，Ｃｒの３コンポーネントから構成されるが、人の視覚特性上、輝度成分の符号に比べ、色差成分（特に青成分Ｃｂ）の符号は低解像度でも復号画像の劣化は視認されにくい。
【００２６】
かかる考察に鑑み、請求項３記載の発明は、請求項１又は２記載の発明に係る符号処理装置であって、前記原符号が複数のコンポーネントで構成される場合、前記序列付け手段は、解像度属性による部分符号の序列付けに各コンポーネントの視覚周波数特性を反映させることを特徴とする符号処理装置である。
【００２７】
コンポ−ネント毎の視覚周波数特性の例として、JPEG2000ではVisual  Weightという重みを定義している。この重みは、簡単に言えば、サブバンドごとの符号の重要度を意味するものである。そしてJPEG2000では、前記重みは観察距離の異なる３通りが例示されているが、これらを符号の圧縮率（＝所望の符号量）もしくは符号に生じた量子化誤差に応じて使い分けると高画質が得られる（例えば特許文献３参照）。すなわち、例えば原符号がロスレスの場合、目的の出力符号の圧縮率もしくは量子化誤差に応じて、したがって画質指定値に応じて、重みを切り替えるのが望ましいことを意味する。このことはまた、画質指定値が同じ値であっても、原符号の圧縮率もしくは量子化誤差に応じて重みを切り替えるのが望ましいことを意味する。このような視覚周波数特性の切り替えを行うことにより、画質指定要求により精密に応えようとするのが請求項４，５，６記載の発明である。
【００２８】
すなわち、請求項４記載の発明は、請求項３記載の発明に係る符号処理装置であって、前記序列付け手段は、解像度属性による部分符号の序列付けに反映させる各コンポーネントの視覚周波数特性を前記原符号の圧縮率もしくは量子化誤差に応じて切り替えることを特徴とする符号処理装置である。請求項５記載の発明は、請求項３記載の発明に係る符号処理装置であって、前記序列付け手段は、解像度属性による部分符号の序列付けに反映させる各コンポーネントの視覚周波数特性を前記画質指定値に応じて切り替えることを特徴とする符号処理装置である。また、請求項６記載の発明は、請求項３記載の発明に係る符号処理装置であって、前記序列付け手段は、解像度属性による部分符号の序列付けに反映させる各コンポーネントの視覚周波数特性を前記画質指定値と前記原符号の圧縮率もしくは量子化誤差とに応じて切り替えることを特徴とする符号処理装置である。
【００２９】
請求項７〜１２記載の発明は、JPEG2000の原符号を前提とした請求項１〜６記載の発明の下位発明である。
【００３０】
すなわち、請求項７記載の発明は、複数コンポーネントからなるJPEG2000の原符号から、画質指定値に対応した画質の出力符号を生成する符号処理装置であって、前記原符号の最上位レイヤより最下位レイヤへ向かって、各レイヤのパケットに、前記原符号の圧縮率もしくは量子化誤差に応じて選択したVisual  Weightに基づいて序列を付ける序列付け手段と、前記原符号より、前記出力符号に含めるべきパケットを、前記序列付け手段により付けられた序列の順に選択するパケット選択手段と、前記パケット選択手段により選択されたパケットからなる前記出力符号を形成する符号形成手段とを有することを特徴とする符号処理装置である。
【００３１】
請求項８記載の発明は、複数コンポーネントからなるJPEG2000の原符号から、画質指定値に対応した画質の出力符号を生成する符号処理装置であって、前記原符号の最上位レイヤより最下位レイヤへ向かって、各レイヤのパケットに、前記画質指定値に応じて選択したVisual  Weightに基づいて序列を付ける序列付け手段と、前記原符号より、前記出力符号に含めるべきパケットを、前記序列付け手段により付けられた序列の順に選択するパケット選択手段と、前記パケット選択手段により選択されたパケットからなる前記出力符号を形成する符号形成手段とを有することを特徴とする符号処理装置である。
【００３２】
請求項９記載の発明は、複数コンポーネントからなるJPEG2000の原符号から、画質指定値に対応した画質の出力符号を生成する符号処理装置であって、前記原符号の最上位レイヤより最下位レイヤへ向かって、各レイヤのパケットに、前記原符号の圧縮率もしくは量子化誤差と前記画質指定値とに応じて選択したVisual  Weightに基づいて序列を付ける序列付け手段と、前記原符号より、前記出力符号に含めるべきパケットを前記序列付け手段により付けられた序列の順に選択するパケット選択手段と、前記パケット選択手段により選択されたパケットからなる前記出力符号を形成する符号形成手段とを有することを特徴とする符号処理装置である。
【００３３】
請求項１０記載の発明は、複数コンポーネントからなるJPEG2000の原符号から、画質指定値に対応した画質の出力符号を生成する符号処理装置であって、前記画質指定値により決まる前記原符号の特定のレイヤの下位側の次位レイヤのパケットに、前記原符号の圧縮率もしくは量子化誤差に応じて選択したVisual  Weightに基づき序列を付ける序列付け手段と、前記原符号より、前記出力符号に含めるべきパケットとして、前記特定レイヤ及びそれより上位のレイヤの全てのパケットを選択するとともに、前記次位レイヤのパケットを前記序列付け手段により付けられた序列の順に選択するパケット選択手段と、前記パケット選択手段により選択されたパケットからなる前記出力符号を形成する符号形成手段とを有することを特徴とする符号処理装置である。
【００３４】
請求項１１記載の発明は、複数コンポーネントからなるJPEG2000の原符号から、画質指定値に対応した画質の出力符号を生成する符号処理装置であって、前記画質指定値により決まる前記原符号の特定のレイヤの下位側の次位レイヤのパケットに、前記画質指定値に応じて選択したVisual  Weightに基づき序列を付ける序列付け手段と、前記原符号より、前記出力符号に含めるべきパケットとして、前記特定レイヤ及びそれより上位のレイヤの全てのパケットを選択するとともに、前記次位レイヤのパケットを前記序列付け手段により付けられた序列の順に選択するパケット選択手段と、前記パケット選択手段により選択されたパケットからなる前記出力符号を形成する符号形成手段とを有することを特徴とする符号処理装置である。
【００３５】
請求項１２記載の発明は、複数コンポーネントからなるJPEG2000の原符号から、画質指定値に対応した画質の出力符号を生成する符号処理装置であって、前記画質指定値により決まる前記原符号の特定のレイヤの下位側の次位レイヤのパケットに、前記原符号の圧縮率もしくは量子化誤差と前記画質指定値とに応じて選択したVisual  Weightに基づき序列を付ける序列付け手段と、前記原符号より、前記出力符号に含めるべきパケットとして、前記特定レイヤ及びそれより上位のレイヤの全てのパケットを選択するとともに、前記次位レイヤのパケットを前記序列付け手段により付けられた序列の順に選択するパケット選択手段と、前記パケット選択手段により選択されたパケットからなる前記出力符号を形成する符号形成手段とを有することを特徴とする符号処理装置である。
【００３６】
また、請求項１３記載の発明は、例えばJPIPのサーバ・クライアントシステムのサーバを想定したものであり、請求項１乃至１２のいずれか１項記載の発明に係る符号処理装置であって、外部装置より前記画質指定値を受信し、かつ、前記符号形成手段により形成された前記出力符号を前記外部装置へ送信する通信手段を有することを特徴とする符号処理装置である。
【００３７】
また、請求項１４〜１９記載の発明は、請求項７〜１２記載の発明に対応する符号処理方法の発明である。
【００３８】
すなわち、請求項１４記載の発明は、複数コンポーネントからなるJPEG2000の原符号から、画質指定値に対応した画質の出力符号を生成する符号処理方法であって、前記原符号の圧縮率もしくは量子化誤差に応じてVisual  Weightを選択する第１の工程と、前記原符号の最上レイヤから最下位レイヤへ向かって、各レイヤのパケットに、前記第１の工程によって選択されたVisual  Weightに基づいて序列を付ける第２の工程と、前記原符号より、前記出力符号に含めるべきパケットを前記第２の工程により付けられた序列の順に選択する第３の工程と、前記第３の工程により選択されたパケットからなる前記出力符号を形成する第４の工程とを有することを特徴とする符号処理方法である。
【００３９】
請求項１５記載の発明は、複数コンポーネントからなるJPEG2000の原符号から、画質指定値に対応した画質の出力符号を生成する符号処理方法であって、前記画質指定値に応じてVisual  Weightを選択する第１の工程と、前記原符号の最上位レイヤから最下位レイヤへ向かって、各レイヤのパケットに、前記第１の工程によって選択されたVisual  Weightに基づいて序列を付ける第２の工程と、前記原符号より、前記出力符号に含めるべきパケットを前記第２の工程により付けられた序列の順に選択する第３の工程と、前記第３の工程により選択されたパケットからなる前記出力符号を形成する第４の工程とを有することを特徴とする符号処理方法である。
【００４０】
請求項１６記載の発明は、複数コンポーネントからなるJPEG2000の原符号から、画質指定値に対応した画質の出力符号を生成する符号処理方法であって、前記原符号の圧縮率もしくは量子化誤差と前記画質指定値とに応じてVisual  Weightを選択する第１の工程と、前記原符号の最上レイヤから最下位レイヤへ向かって、各レイヤのパケットに、前記第１の工程によって選択されたVisual  Weightに基づいて序列を付ける第２の工程と、前記原符号より、前記出力符号に含めるべきパケットを前記第２の工程により付けられた序列の順に選択する第３の工程と、前記第３の工程により選択されたパケットからなる前記出力符号を形成する第４の工程とを有することを特徴とする符号処理方法である。
【００４１】
請求項１７記載の発明は、複数コンポーネントからなるJPEG2000の原符号から、画質指定値に対応した画質の出力符号を生成する符号処理方法であって、前記画質指定値に従ってレイヤを選択する第１の工程と、前記原符号の圧縮率もしくは量子化誤差に応じてVisual  Weightを選択する第２の工程と、前記原符号の前記第１の工程により選択されたレイヤの下位側の次位レイヤのパケットに、前記第２の工程によって選択されたVisual  Weightに基づいて序列を付ける第３の工程と、前記原符号より、前記出力符号に含めるべきパケットとして、前記第１の工程により選択されたレイヤの全てのパケットを選択するとともに、前記第１の工程により選択されレイヤの下位側の次位レイヤのパケットを前記第３の工程により付けられた序列の順に選択する第４の工程と、前記第４の工程により選択されたパケットからなる前記出力符号を形成する第５の工程とを有することを特徴とする符号処理方法である。
【００４２】
請求項１８記載の発明は、複数コンポーネントからなるJPEG2000の原符号から、画質指定値に対応した画質の出力符号を生成する符号処理方法であって、前記原符号の画質指定値に従ってレイヤを選択する第１の工程と、前記画質指定値に応じてVisual  Weightを選択する第２の工程と、前記原符号の前記第１の工程により選択されたレイヤの下位側の次位レイヤのパケットに、前記第２の工程によって決定されたVisual  Weightに基づいて序列を付ける第３の工程と、前記原符号より、前記出力符号に含めるべきパケットとして、前記第１の工程により選択されたレイヤの全てのパケットを選択するとともに、前記第１の工程により選択されレイヤの下位側の次位レイヤのパケットを前記第３の工程により付けられた序列の順に選択する第４の工程と、前記第４の工程により選択されたパケットからなる前記出力符号を形成する第５の工程とを有することを特徴とする符号処理方法である。
【００４３】
請求項１９記載の発明は、複数コンポーネントからなるJPEG2000の原符号から、画質指定値に対応した画質の出力符号を生成する符号処理方法であって、前記原符号の画質指定値に従ってレイヤを選択する第１の工程と、前記原符号の圧縮率もしくは量子化誤差と前記画質指定値とに応じてVisual  Weightを選択する第２の工程と、前記原符号の前記第１の工程により選択されたレイヤの下位側の次位レイヤのパケットに、前記第２の工程によって選択されたVisual  Weightに基づいて序列を付ける第３の工程と、前記原符号より、前記出力符号に含めるべきパケットとして、前記第１の工程により選択されたレイヤの全てのパケットを選択するとともに、前記第１の工程により選択されレイヤの下位側の次位レイヤのパケットを前記第３の工程により付けられた序列の順に選択する第４の工程と、前記第４の工程により選択されたパケットからなる前記出力符号を形成する第５の工程とを有することを特徴とする符号処理方法である。
【００４４】
また、請求項２０，２１記載の発明は、請求項１４〜１９記載の発明に係る符号処理方法をコンピュータにより実施するためのプログラムと、それが記録された情報記録媒体である。
【発明の効果】
【００４５】
請求項１〜１９記載の発明によれば、画像属性と解像度属性の両方に基づいて部分符号の選択を制御することにより、画質指定値に高精度に対応した画質の出力符号を生成することができる。また、請求項２〜１９記載の発明によれば、部分符号の序列付けにコンポーネント毎の視覚周波数特性を反映させることにより、人の視覚特性をも考慮して高精度に画質が制御された出力符号を生成することができる。また、請求項３〜１９記載の発明によれば、序列付けに反映させるコンポーネント毎の視覚周波数特性を原画像の圧縮率もしくは量子化誤差、画質指定値、又は、その両方に応じて切り替えることにより、より高精度に画質が制御された出力符号を生成することができる。請求項２，１０〜１２，１７〜１９記載の発明によれば、序列付けの対象となる部分符号を減らし、より効率的な処理が可能となる。請求項１３記載の発明によれば、外部装置からの画質指定要求に従って画質が高精度に制御された符号を生成して外部装置へ送信することができる。請求項２０，２１記載の発明によれば、請求項１４〜１９記載の発明による符号処理を、コンピュータを利用し容易に実行することができる、等々の効果を得られる。
【発明を実施するための最良の形態】
【００４６】
図８は本発明の実施の形態を説明するためのブロック図である。図８において、１００は本発明に係る符号処理装置であり、通信路１０４（例えばインターネットやＬＡＮ等）を通じて接続されるクライアント１０５とともにサーバ・クライアントシステムを構成する。すなわち、符号処理装置１００はサーバ・クライアントシステムのサーバとして動作する。ただし、符号処理装置１００はクライアント１０５から独立して動作することも可能である。
【００４７】
符号処理装置１００は、原符号（ここではJPEG2000の符号）が記憶されている原符号記憶部１０１と、原符号から画質指定値に応じた画質の出力符号を生成する処理を行う処理部１０２と、クライアント１０５からの送信要求（符号の指定のほか、領域の指定、画質の指定を含む）を受信したり出力符号をクライアント１０５へ送信する等の通信処理を行う通信部１０３を含む構成である。処理部１０２には、請求項１〜１２記載の発明の各手段が含まれる。通信部１０３は請求項１４記載の発明の通信手段に相当する。
【００４８】
このような符号処理装置１００は、例えば、図９に示すようなＣＰＵ２００、メモリ２０１、ハードディスク装置（ＨＤＤ）２０２、通信インターフェース２０３などがバス２０４で接続された構成のコンピュータ上でプログラムによって実現される。すなわち、１以上のプログラムによってコンピュータは、処理部１０２（を構成する手段）及び通信部１０３（通信手段）として機能させられる。このようなプログラム、及び、同プログラムが記録されたコンピュータが読み取り可能な各種の情報記録（記憶）媒体も本発明に包含される。
【００４９】
処理部１０２は請求項１４〜１９記載の発明の各工程を実行するものでもあり、これら工程がコンピュータ上でプログラムにより実行される。このようなプログラムと、同プログラムが記録されたコンピュータが読み取り可能な各種情報記録（記憶）媒体も本発明に包含される。
【００５０】
上に述べたようなプログラムは、例えばハードディスク装置２０２に記憶されており、必要に応じてハードディスク装置２０２よりメモリ２０１へロードされてＣＰＵ２００により実行されることによって、コンピュータは符号処理装置１００として動作する。原符号記憶部１０１としてハードディスク装置２０２が利用される。
【００５１】
符号処理装置１００がクライアント１０５から独立して動作する場合の処理の流れは次の通りである。ハードディスク装置２０２に記憶されている原符号が、ＣＰＵ２００からの命令によってメモリ２０１に読み込まれる。ＣＰＵ２００は、メモリ上の原符号を読み込んで出力符号を生成する処理を実行し、生成した出力符号をメモリ２０１の別の領域に書き込む。この際、必要に応じて出力符号のヘッダ情報を修正したり、空のパケットを追加したり、ＩＤの付与等を行う。そして、ＣＰＵ２００からの命令により、メモリ２０１上の出力符号がハードディスク装置２０２に記録される。
【００５２】
符号処理装置１００がサーバとして動作する場合の処理の流れは次の通りである。通信インターフェース２０３を介してクライアント１０５より符号送信要求が受信されると、ハードディスク装置２０２に記憶されている原符号が、ＣＰＵ２００からの命令によってメモリ２０１に読み込まれる。ＣＰＵ２００はメモリ２０１の原符号を読み込んで出力符号を生成する処理を実行し、生成した出力符号をメモリ２０１の別の領域に書き込む。この際、必要に応じて出力符号のヘッダ情報を修正したり、空のパケットを追加したり、ＩＤの付与等を行う。そして、ＣＰＵ２００からの命令により、メモリ２０１上の出力符号が通信インターフェース２０３を通じてクライアント１０５へ送信される。
【００５３】
以下、本発明に係る符号処理装置１００のいくつか実施例について説明する。なお、以下の説明において、原符号としてJPEG2000の符号を想定し、また、符号処理装置１００はサーバとして動作する場合を想定する。
【実施例１】
【００５４】
本実施例に係る符号処理装置１００の動作の概略を、図１０のフローチャートに沿って説明する。
【００５５】
まず、クライアント１０５より送信要求を受信する（step100）。送信要求には、符号の指定、領域の指定、画質の指定が含まれる。符号の指定はどの画像の符号を要求するのかの指定である。領域の指定は、画像のどの領域の符号を要求するのかの指定であり、ここでは画像全域を指定されたものとする。画像の一部領域が指定された場合には、その領域に対応したプレシンクトの符号のみを対象にして以下に説明するようなパケットの選択が行われる。画質の指定は、どのような画質の符号を要求するかを指定するもので、ここでは０〜100の範囲の値をとり得る画質指定値（quality値）が指定されるものとする。以上は後記の各実施例についても同様とする。
【００５６】
本実施例においては、異なる画質レベルの画質属性を持つ部分符号、すなわち、ここでは異なるレイヤのパケットについては、上位（低画質側）のレイヤのパケットほど優先させるようにパケットの序列付けが行われる。同じ画質レベルの画質属性を持つ部分符号、すなわち、ここでは同一レイヤ内のパケットについては、基本的に低い解像度レベルの解像度属性を持つパケットほど優先させるように序列付けが行われる。
【００５７】
本実施例においては、パケットの序列付けにコンポーネント毎の視覚周波数特性を反映させるため、JPEG2000で規定されているVisual  Weight（サブバンド毎の符号の重要度を表す量）を用いる。Visual  Weightは画像に対する観察距離ごとに算出され、JPEG2000の標準書には３つの観察距離（1000、1700、3000）のVisual  Weightが例示されている（これらのweightは9x7変換用の非可逆色変換ICTを対象として規定されたものであるが、適宜換算することにより5x3変換用の可逆色変換RCTに流用することも可能である）。
【００５８】
本実施例では、まず序列付けにどの観察距離のVisual  Weightを用いるかを決定する（step101）。その詳細は後述する。
【００５９】
次に、前ステップで選ばれたVisual  Weightに基づいてパケットの序列付けを行う（step102）。その詳細は後述する。
【００６０】
次に、quality値（画質指定値）に対応した出力符号に含めるべきパケットを序列に従って選択する（step103）。その詳細は後述する。
【００６１】
次に、前ステップで選択された原符号のパケットからなる出力符号を形成する（step104）。その詳細は後述する。
【００６２】
最後に、形成された出力符号を、通信のためのヘッダ情報等とともにクライアント１０５へ送信する（step105）。これで一連の動作が終了する。
【００６３】
ステップstep101についてさらに説明する。実験的には、符号の圧縮率や量子化誤差が小さいほど観察距離の小さいVisual  Weightを適用し、圧縮率や量子化誤差が大きいほど観察距離の大きいVisual  Weightを適用すると、主観画質が向上することが確認されている。原符号の量子化誤差が小さければ、原符号の一部パケットから構成される出力符号の量子化誤差も相対的に小さいと言える。そこで、本実施例においては、原符号の圧縮率に応じて、例えば図１１に示すような対応関係に従って、使用するVisual  Weightを選択する。すなわち、原符号の圧縮率が２０未満ならば観察距離1000のものを、圧縮率が２０以上で４０未満ならば観察距離1700のもの、圧縮率が４０以上ならば観察距離3000のものを選択する。なお、原符号の量子化誤差に応じてVisual  Weightを選択するようにしてもよく、かかる態様も本発明に包含される。ただし、圧縮率は原符号のメインヘッダ情報のみから容易に把握することができるため、圧縮率に応じてVisual  Weightを選ぶ方法のほうが一般に有利であろう。
【００６４】
ここで、原符号のデコンポジションレベル数を２と想定すると、コンポーネント毎の観察距離1000，1700，1000のVisual  Weightの概略値は図１２，図１３及び図１４の左列にそれぞれ示すような値となる。
【００６５】
次に、ステップstep102についてさらに説明する。例えば図１２の左列に示す各コンポーネントのVisual  Weightについて見ると、LLサブバンドのVisual  WeightはＹ，Ｃｂ，Ｃｒとも差はない。しかし、LL以外のサブバンドについては、全体としてVisual  WeightはＹ＞Ｃｒ＞Ｃｂの大小関係が認められるため、図１２の右列に示すように、LLサブバンドのパケット（解像度レベル０）については、Ｙコンポーネントのパケットを優先順１、Ｃｒコンポーネントのパケットを優先順２，Ｃｂコンポーネントのパケットの優先順３と序列付けする。
【００６６】
解像度レベル１以上のパケットについては、それを構成するHL、LH、HHサブバンドのVisual  Weightの平均値や最大値による比較、あるいはHL,LHサブバンドのVisual  Weightだけをを用いた比較により序列付けを行うことができる。ここでは、パケットを構成するHL、LH、HHサブバンドのVisual  Weightの平均値によって、図１２の右列に示すように序列付けするものとする。
【００６７】
観察距離1700，3000のVisual  Weightに基づいて同様に決定された序列を図１３及び図１４の右列にそれぞれ示す。
【００６８】
なお、原符号が複数レイヤからなる場合には、低画質側から高画質側へ向かって、すなわち、最上位レイヤから下位レイヤに向かって、各レイヤのパケットに対して上に述べたような優先順による序列付けを順次行う。当然、上位レイヤのパケットに対し下位レイヤのパケットの序列は劣後したものとなる。また、言うまでもないことであるが、解像度レベル３以上のパケットを含む符号の場合には、デコンポジションレベル３以上のvisual  Weightも序列付けに利用される。
【００６９】
次にステップstep103についてさらに説明する。ここでは、図１６に示すようなデコンポジションレベル数２の１レイヤ構成の原符号を想定する。この原符号は、RGB画像に対して非可逆色変換を適用してY、Cb、Crの３つのコンポ−ネントを得て、各コンポ−ネントに9x7変換を適用し、僅かな線形量子化の後、全てのビットプレーンをトランケートすることなく符号形成したものであり、非常に量子化誤差の小さい（圧縮率が２０未満の）符号である。なお、図４に示した例と同様、プリシンクトサイズ＝サブバンドサイズである。図１６において、便宜のためパケットに０から８の番号が付してある。
【００７０】
ステップstep103では、quality値に対応した画質の出力符号に含めるべきパケットを選択するが、本実施例では、図１５に示すようなquality値と選択すべきパケットの序列の対応関係に基づいて、序列の順に従ってパケットを選択する。当然のことながら、quality値が大きいほど（指定された画質が高いほど）選択されるパケット数は増加する。なお、図１５は図１６の原符号を想定したもので、原符号のデコンポジション数やレイヤ数が異なれば、quality値と選択すべきパケットの関係は異なったものとなる。
【００７１】
ここで想定している図１６の原符号の場合、圧縮率が２０未満であるので、ステップstep101で観察距離1000のVisual  Weightが選択される。したがって、ステップstep102の序列付け処理によって各パケットの優先順は図１６に記したようなものとなる。個々のコンポーネントのパケットについて見れば、低い解像度レベルのパケットほど優先順は早い。しかし、コンポーネント間で比較すると、同じ解像度レベルのパケットでも、Ｙ，Ｃｒ，Ｃｂの順に序列付けされ、また、例えばＣｂ，Ｃｒのパケット４，７は、それより高い解像度レベルのＹのパケット２に劣後した序列が付けられている。これは、コンポーネント毎の視覚周波数特性が序列付けに反映されたからである。
【００７２】
quality値が６０の場合、図１５より優先順１〜６のパケットが選択される。すなわち、本例の場合には、ステップstep103により図１７に示すパケットが選択されることになる。なお、先に言及したように、原符号が複数レイヤの符号である場合には、上位レイヤ（低画質側）のパケットより、序列に従ってパケットが順に選択されることになる。
【００７３】
ステップstep104についてさらに説明する。このステップでは、前ステップで選択されたパケットから出力符号を形成するが、JPEG2000の符号フォーマットに準拠した形に出力符号を整形する必要があるときには、パケットの欠けた位置に空のパケット(具体的にはビット0)を付加し、パケットに先だって付してあるタイルパートヘッダ中のパケット長に関するマーカ(PLTマーカ)を修正する。符号のメインヘッダ自体は通常そのまま使用可能である。例えば図１７に示したパケットが選択された場合には、図１８に示すように空のパケット（４，５，８）を付加する。
【００７４】
なお、出力符号は必ずしもJPEG2000の符号フォーマットに準拠した整った符号（所謂タイルパート）にしなくともよい。JPIPの場合、整った符号フォーマットを送る場合だけでなく、パケットに適宜ID情報を付してパケット単位で送信する場合もあるからである。このような場合、ステップstep104では、空パケットは付加せず、出力符号中の各パケットに当該パケット（プリシンクト）を特定するためのIDを付ける。
【００７５】
以上の説明から明らかなように、本実施例は請求項７記載の発明の一実施例であり、ステップstep101,step102が序列付け手段に対応し、ステップstep103がパケット選択手段に対応し、ステップstep104が符号形成手段に対応する。また、本実施例は請求項１，４記載の発明の一実施例でもあることは明らかであり、ステップstep101,step102が序列付け手段に対応し、ステップstep103が部分符号選択手段に対応し、ステップstep104が符号形成手段に対応する。また、本実施例は請求項１４記載の発明の一実施例でもあり、ステップstep101〜step104が第１〜第４の工程に対応する。
【実施例２】
【００７６】
本実施例に係る符号処理装置１００の動作は図１０のフローチャートに示す通りであり、ステップstep101における動作が前記実施例１と異なる。他のステップの動作は前記実施例１と同様である。
【００７７】
本実施例に係る符号処理装置１００は、ステップstep101で、図１９に示すquality値と選択するvisual  weightとの対応関係に従い、quality値に応じた観察距離のVisual  Weightを選択する。すなわち、quality値が３４以下ならば観察距離3000のVisual  Weightを選択し、quality値が３５〜６９ならば観察距離1700のVisual  Weightを選択し、またquality値が７０以上ならば観察距離1000のVisual  Weightを選択する。
【００７８】
本実施例は８記載の一実施例であり、ステップstep101,step102が序列付け手段に対応し、ステップstep103がパケット選択手段に対応し、ステップstep104が符号形成手段に対応する。また、本実施例は請求項１，５記載の発明の一実施例でもあることは明らかであり、ステップstep101,step102が序列付け手段に対応し、ステップstep103が部分符号選択手段に対応し、ステップstep104が符号形成手段に対応する。また、本実施例は請求項１５記載の発明の一実施例でもあり、ステップstep101〜step104が第１〜第４の工程に対応する。
【実施例３】
【００７９】
本実施例に係る符号処理装置１００の動作は図１０のフローチャートに示す通りであり、ステップ101における動作が前記実施例１と異なる。他のステップの動作は前記実施例１と同様である。
【００８０】
本実施例に係る符号処理装置１００は、ステップstep101で、図２０に示すquality値及び原符号の圧縮率と選択するvisual  weightとの対応関係に従い、quality値及び圧縮率に応じた観察距離のVisual  Weightを選択する。
【００８１】
なお、原符号の圧縮率に代えて量子化誤差を用いることも可能であり、かかる態様も本発明に包含される。
【００８２】
本実施例は請求項９記載の発明の一実施例であり、ステップstep101,step102が序列付け手段に対応し、ステップstep103がパケット選択手段に対応し、ステップstep104が符号形成手段に対応する。また、本実施例は請求項１，６記載の発明の一実施例でもあることは明らかであり、ステップstep101,step102が序列付け手段に対応し、ステップstep103が部分符号選択手段に対応し、ステップstep104が符号形成手段に対応する。また、本実施例は請求項１６記載の発明の一実施例でもあり、ステップstep101〜step104が第１〜第４の工程に対応する。
【実施例４】
【００８３】
本実施例に係る符号処理装置１００の動作を、図２１のフローチャートに沿って説明する。
【００８４】
まず、クライアント１０５より送信要求を受信する（step200）。送信要求には、符号の指定、領域の指定、画質の指定が含まれる。前記実施例１の場合と同様に、領域の指定は画像全域を指定するものとし、また、画質の指定は０〜100の範囲の値をとり得る画質指定値（quality値）が指定されるものとする。
【００８５】
なお、本実施例では、図２４に示すようなデコンポジション数２、４レイヤ構成の原符号を想定するものとする。
【００８６】
本実施例においては、全てのレイヤを対象にしてパケットの序列付けを行うのではなく、quality値に応じて決まる特定のレイヤの下位側（高画質側）の次位レイヤのパケットに対してのみ、コンポーネント毎の視覚周波数特性を反映させた序列付けを行う。
【００８７】
まず、図２２に示すquality値と選択すべきレイヤの関係に従い、quality値に応じてレイヤを選択する（step201）。図２２では、quality値が０〜２５の区間ならばレイヤは選択しない、quality値が２６〜５０の区間ならレイヤ０を選択する、等々である。なお、図２２に示す関係は、原符号のレイヤ数などが異なれば違ったものとなる。
【００８８】
次に、序列付けに用いるVisual  Weightを選択する（step202）。本実施例では、前記実施例１と同様に、図１１に示す関係に従い、原符号の圧縮率に応じた観察距離のvisual  Weightを選択する。なお、原符号の圧縮率に代えて量子化誤差を用いることも可能であり、かかる態様も本発明に包含される。
【００８９】
次に、ステップstep201で選択されたレイヤの次位レイヤ（選択されなかったレイヤ中の最も上位のレイヤ）のパケットについて、ステップstep202で選択されたVisual  Weightを用いた前記実施例１と同様の序列付けを行う（step203）。
【００９０】
例えば、quality値＝６０が指定された場合、図２２に従って、レイヤ０，１が選択され、次位のレイヤ２のパケットに対しVisual  weightに基づいた序列付けが行われる。この序列付けの結果を図２５に示す。
【００９１】
序列付けが終わると、出力符号に含めるべきパケットを選択する（step204）。このステップでは、まず、ステップstep201で選択されたレイヤの全パケットが選択される。
【００９２】
次に、ステップstep201で選択されたレイヤの次位レイヤのパケットの中から序列の順に必要数のパケットが選択される。本実施例では、指定されたquality値と、当該quality値の属する区間の下限値との差分
quality_rest=quality-int(quality/25)*25
が算出され、このquality_rest値に応じて図２３に示す関係により決まる優先順までのパケットが選択される。例えばquality値が６０の場合、guality_rest値は１０となり、図２３より優先順１〜４のパケットが選択される。
【００９３】
したがって、quality値＝６０の場合、図２６に示すように、レイヤ０，１の全パケットと、レイヤ２のパケット６，７（Ｙ）、パケット１８（Ｃｂ）、パケット３０（Ｃｒ）が出力符号に含めるべきパケットとして選択される。
【００９４】
以上のように、本実施例では、quality値に対応した画質を超えない範囲でレイヤ単位（画質単位）でパケットを選択し、次位のレイヤよりquality値に対応した画質を得るために必要な数のパケットを序列の順に選択するわけである。
【００９５】
次に、ステップstep204で選択された原符号のパケットからなる出力符号を形成する（step205）。この処理の詳細は図１０のステップstep104に関連して述べた通りである。最後に、形成された出力符号を、通信のためのヘッダ情報等とともにクライアント１０５へ送信する（step206）。これで一連の動作が終了する。
【００９６】
本実施例は請求項１０記載の発明の一実施例であり、ステップstep201〜203は序列付け手段に対応し、ステップstep204はパケット選択手段に対応し、ステップstep205は符号形成手段に対応する。本実施例は請求項２，４記載の発明の一実施例でもあり、ステップstep201〜203は序列付け手段に対応し、ステップstep204は部分符号選択手段に対応し、ステップ205は符号形成手段に対応する。また、本実施例は請求項１７記載の発明の一実施例でもあり、ステップstep201〜205は第１〜第５の工程に対応する。
【実施例５】
【００９７】
本実施例に係る符号処理装置１００の動作は図２１のフローチャートに示す通りであり、ステップstep202における動作が前記実施例４と異なる。他のステップの動作は前記実施例４と同様である。
【００９８】
本実施例に係る符号処理装置１００は、ステップstep202で、図１９に示すquality値と選択するvisual  weightとの対応関係に従い、quality値に応じた観察距離のVisual  Weightを選択する。
【００９９】
本実施例は請求項１１記載の発明の一実施例であり、ステップstep201〜203は序列付け手段に対応し、ステップstep204はパケット選択手段に対応し、ステップstep205は符号形成手段に対応する。本実施例は請求項２，５記載の発明の一実施例でもあり、ステップstep201〜203は序列付け手段に対応し、ステップstep204は部分符号選択手段に対応し、ステップ205は符号形成手段に対応する。また、本実施例は請求項１８記載の発明の一実施例でもあり、ステップstep201〜205は第１〜第５の工程に対応する。
【実施例６】
【０１００】
本実施例に係る符号処理装置１００の動作は図２１のフローチャートに示す通りであり、ステップstep202における動作が前記実施例１と異なる。他のステップの動作は前記実施例４と同様である。
【０１０１】
本実施例に係る符号処理装置１００は、ステップstep202で、図２０に示すquality値及び原符号の圧縮率と選択するvisual  weightとの対応関係に従い、quality値及び圧縮率に応じた観察距離のVisual  Weightを選択する。
【０１０２】
なお、原符号の圧縮率に代えて量子化誤差を用いることも可能であり、かかる態様も本発明に包含される。
【０１０３】
本実施例は請求項１２記載の発明の一実施例であり、ステップstep201〜203は序列付け手段に対応し、ステップstep204はパケット選択手段に対応し、ステップstep205は符号形成手段に対応する。本実施例は請求項２，６記載の発明の一実施例でもあり、ステップstep201〜203は序列付け手段に対応し、ステップstep204は部分符号選択手段に対応し、ステップ205は符号形成手段に対応する。また、本実施例は請求項１９記載の発明の一実施例でもあり、ステップstep201〜205は第１〜第５の工程に対応する。
【０１０４】
以上に説明した本発明の実施の形態では原符号としてJPEG2000の符号が用いられたが、一例にすぎないものである。原符号は、画質属性及び解像度属性を持つ部分符号の集合からなり、一部の部分符号を取り出して別の符号を形成可能な形式の符号であるならば、JPEG2000以外の符号化フォーマットの符号であってもよい。
【図面の簡単な説明】
【０１０５】
【図１】JPEG2000の符号処理を説明するためのブロック図である。
【図２】画像、タイル、サブバンド、プリシンクト、コードブロックの関係を示す図である。
【図３】デコンポジションレベルと解像度レベルの関係を示す図である。
【図４】レイヤとパケットの例を示す図である。
【図５】JPEG2000のプログレッションオーダの説明図である。
【図６】レイヤプログレッシブ符号の概要を示す図である。
【図７】LRCPプログレッションのパケット配列例を示す図である。
【図８】本発明の実施の形態を説明するためのブロック図である。
【図９】符号処理装置を実現するためのコンピュータのブロック図である。
【図１０】実施例１〜３の説明のためのフローチャートである。
【図１１】圧縮率と選択されるVisual  Weightの対応関係の例を示す図である。
【図１２】観察距離1000のVisual  Weightの概略値とパケットの優先順の例を示す図である。
【図１３】観察距離1700のVisual  Weightの概略値とパケットの優先順の例を示す図である。
【図１４】観察距離3000のVisual  Weightの概略値とパケットの優先順の例を示す図である。
【図１５】quality値と選択すべきパケットの優先順の対応関係の例を示す図である。
【図１６】原符号の一例を示す図である。
【図１７】パケット選択の例を示す図である。
【図１８】整形された出力符号の例を示す図である。
【図１９】quality値と選択されるVisual  Weightの対応関係の例を示す図である。
【図２０】quality値及び原符号の圧縮率と選択されるvisual  Weightの対応関係の例を示す図である。
【図２１】実施例４〜６の説明のためのフローチャートである。
【図２２】quality値と選択されるレイヤの対応関係の例を示す図である。
【図２３】quality_restと選択すべきパケットの優先順の対応関係の例を示す図である。
【図２４】原符号の一例を示す図である。
【図２５】図２４の原符号のレイヤ２のパケットに対する序列付けの例を示す図である。
【図２６】図２４の原符号のパケット選択の例を示す図である。
【符号の説明】
【０１０６】
１００    符号処理装置（サーバ）
１０１    原符号記憶部
１０２    処理部
１０３    通信部
１０４    通信路
１０５    クライアント
【図１】
2006196968.tif 000003
【図２】
2006196968.tif 000004
【図３】
2006196968.tif 000005
【図４】
2006196968.tif 000006
【図５】
2006196968.tif 000007
【図６】
2006196968.tif 000008
【図７】
2006196968.tif 000009
【図８】
2006196968.tif 000010
【図９】
2006196968.tif 000011
【図１０】
2006196968.tif 000012
【図１１】
2006196968.tif 000013
【図１２】
2006196968.tif 000014
【図１３】
2006196968.tif 000015
【図１４】
2006196968.tif 000016
【図１５】
2006196968.tif 000017
【図１６】
2006196968.tif 000018
【図１７】
2006196968.tif 000019
【図１８】
2006196968.tif 000020
【図１９】
2006196968.tif 000021
【図２０】
2006196968.tif 000022
【図２１】
2006196968.tif 000023
【図２２】
2006196968.tif 000024
【図２３】
2006196968.tif 000025
【図２４】
2006196968.tif 000026
【図２５】
2006196968.tif 000027
【図２６】
2006196968.tif 000028