(57)【特許請求の範囲】
【請求項１】
画像を矩形領域に分割し、分割された矩形領域の画素に対して周波数変換を行い、周波数変換後の前記矩形領域を更に矩形の区画に分割し、分割された区画の係数に基づいてエントロピー符号化された符号を記憶する情報処理装置であって、  前記画像における所定の画像領域を受け付ける受付手段と、  前記受付手段により受け付けた画像領域に対応する、１つ又は複数の前記区画を第１の区画群とし、該第１の区画群の符号を抽出する抽出手段と、  前記第１の区画群の係数を求めるための周波数変換で用いられた画素値の係数を有する区画であり、前記第１の区画群と異なる区画の符号を、前記抽出手段により抽出される符号と共に抽出するか否かを選択可能とする選択手段と  を備える情報処理装置。
【請求項２】
前記受付手段は、  前記第１の区画群と異なる区画の符号を抽出するか否かを示す信号を受け付け、  前記選択手段は、  前記受付手段により受け付けた信号に基づいて、前記第１の区画群と異なる区画の符号を、前記抽出手段により抽出される符号と共に抽出するか否かを選択する請求項１記載の情報処理装置。
【請求項３】
前記第１の区画群と異なる区画は、前記第１の区画群に隣接する区画である請求項１又は２記載の情報処理装置。
【請求項４】
画像を矩形領域に分割し、分割された矩形領域の画素に対して前記矩形領域に隣接した矩形領域の画素を用いてフィルタ演算し、フィルタ演算後の画素に対して周波数変換及び符号化が行なわれた符号を記憶する情報処理装置であって、  前記画像における所定の画像領域を受け付ける受付手段と、  前記受付手段により受け付けた画像領域に対応する、１つ又は複数の前記矩形領域を第１の矩形領域群とし、該第１の矩形領域群の符号を抽出する抽出手段と、  前記第１の矩形領域群の画素をフィルタ演算する際に用いられた画素を有する矩形領域であり、前記第１の矩形領域群と異なる矩形領域の符号を、前記抽出手段により抽出される符号と共に抽出するか否かを選択可能とする選択手段と  を備える情報処理装置。
【請求項５】
前記受付手段は、  前記第１の矩形領域群と異なる矩形領域の符号を抽出するか否かを示す信号を入力し、  前記選択手段は、  前記受付手段により受け付けた信号に基づいて、前記第１の矩形領域群と異なる矩形領域の符号を、前記抽出手段により抽出される符号と共に抽出するか否かを選択する請求項４記載の情報処理装置。
【請求項６】
前記第１の矩形領域群と異なる矩形領域は、前記第１の矩形領域群に隣接する矩形領域である請求項４又は５記載の情報処理装置。
【請求項７】
画像を矩形領域に分割し、分割された矩形領域の画素に対して周波数変換を行い、周波数変換後の前記矩形領域を更に矩形の区画に分割し、分割された区画の係数に基づいてエントロピー符号化された符号を記憶する情報処理装置における情報処理方法であって、  前記画像における所定の画像領域を受け付ける受付ステップと、  前記受付ステップにより受け付けた画像領域に対応する、１つ又は複数の前記区画を第１の区画群とし、該第１の区画群の符号を抽出する抽出ステップと、  前記第１の区画群の係数を求めるための周波数変換で用いられた画素値の係数を有する区画であり、前記第１の区画群と異なる区画の符号を、前記抽出ステップにより抽出される符号と共に抽出するか否かを選択可能とする選択ステップと  を有する情報処理方法。
【請求項８】
画像を矩形領域に分割し、分割された矩形領域の画素に対して前記矩形領域に隣接した矩形領域の画素を用いてフィルタ演算し、フィルタ演算後の画素に対して周波数変換及び符号化が行なわれた符号を記憶する情報処理装置における情報処理方法であって、  前記画像における所定の画像領域を受け付ける受付ステップと、  前記受付ステップにより受け付けた画像領域に対応する、１つ又は複数の前記矩形領域を第１の矩形領域群とし、該第１の矩形領域群の符号を抽出する抽出ステップと、  前記第１の矩形領域群の画素をフィルタ演算する際に用いられた画素を有する矩形領域であり、前記第１の矩形領域群と異なる矩形領域の符号を、前記抽出手段により抽出される符号と共に抽出するか否かを選択可能とする選択ステップと  を有する情報処理方法。
【請求項９】
請求項７または請求項８記載の情報処理方法が記載された、コンピュータにより実行可能なプログラム。
【請求項１０】
請求項９記載のプログラムを記録した、コンピュータにより読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、プログラム及び記録媒体に関する。
【背景技術】
【０００２】
近年、ＪＰＥＧ（Joint  Photographic  Coding  Experts  Group）で採用されているＤＣＴ（離散コサイン変換）に代わる周波数変換として、ウェーブレット変換の採用が増加している。その代表例は、２００１年に国際標準になったＪＰＥＧ後継の画像圧縮伸長方式ＪＰＥＧ２０００である。
【０００３】
このＪＰＥＧ２０００方式で符号化された符号（以下、ＪＰＥＧ２０００符号とも言う）は、パケット単位でのアクセス、あるいはより簡易にはタイルパート単位でのアクセスが可能であり、これは、原符号から必要な符号だけを抜き出して、新たな符号を生成できることを意味する。また、これは、原符号から必要に応じて部分的な符号だけを復号できることをも意味する。
【０００４】
例えば、サーバにある大きな画像をクライアント側で表示する場合に必要な画質だけの符号、必要な解像度だけの符号、見たい場所だけの符号、見たいコンポ−ネントだけの符号をサーバから受信し、復号することができる。
【０００５】
この様に、サーバにあるＪＰＥＧ２０００符号から、必要な符号だけを受信するためのプロトコルをＪＰＩＰ（JPEG2000  Interactive  Protocol）と呼ぶ。このような階層的な画像を部分的にアクセスするためのプロトコルは、画像の多重解像度表現であるＦｌａｓｈＰｉｘ（登録商標）と、それにアクセスするためのプロトコルであるＩＩＰ（Internet  Imaging  Protocol）に見ることができる。
【０００６】
例えば、特開平１１−２０５７８６号公報（特許文献１）には、画像が格納されたサーバから、解像度、表示範囲、フレームレートのうち少なくとも１つを指定して、動画の１フレームに対応する画像を、画素群素片単位でダウンロードできる技術が開示されている。
【０００７】
また、特開２００３−２３６３０号公報（特許文献２）には、ＪＰＩＰにおけるキャッシュモデル等に関する技術が開示されている。
【特許文献１】特開平１１−２０５７８６号公報
【特許文献２】特開２００３−２３６３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
前述したＪＰＩＰを用いる場合、クライアントからサーバには、描画したい解像度と実際に描画するウィンドウサイズを指定することが提案されている。このような指定を受けた場合、サーバは指定された解像度の領域を周波数逆変換するのに十分なプリシンクトのパケットを送信するか、あるいはより簡易には、当該領域をカバーするタイルの符号（あるいはタイルパート）を送信する。
【０００９】
さて、ウェーブレット係数は原画像の位置との対応関係を有し、プリシンクトは場所を示すものである。このことから、ウェーブレット係数を逆変換するに際して、プリシンクト内の係数とプリシンクト外の係数とは独立ではないため、プリシンクト内の係数のみで正確なウェーブレット逆変換はできない。
【００１０】
よって、クライアント側で受信したプリシンクト内のウェーブレット係数を逆変換する際、受信したプリシンクト外の係数も必要となる場合があり、受信したプリシンクトだけでは適切にウェーブレット逆変換することができない場合があるという問題がある。
【００１１】
そこで、本発明は上記問題に鑑みてなされたものであり、所定の画像領域を指定された情報処理装置において、適切なウェーブレット逆変換をするか否かの目的に応じて、所定の画像領域に対応する符号を抽出することができる情報処理装置、情報処理方法、プログラム及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明に係る一局面の情報処理装置は、画像を矩形領域に分割し、分割された矩形領域の画素に対して周波数変換を行い、周波数変換後の前記矩形領域を更に矩形の区画に分割し、分割された区画の係数に基づいてエントロピー符号化された符号を記憶する情報処理装置であって、前記画像における所定の画像領域を受け付ける受付手段と、前記受付手段により受け付けた画像領域に対応する、１つ又は複数の前記区画を第１の区画群とし、該第１の区画群の符号を抽出する抽出手段と、前記第１の区画群の符号の復号化に影響を与える区画の符号を、前記抽出手段により抽出される符号と共に抽出するか否かを選択可能とする選択手段とを備える。
【００１３】
本発明に係る他の局面の情報処理装置は、画像を矩形領域に分割し、分割された矩形領域の画素に対して前記矩形領域に隣接した矩形領域の画素を用いてフィルタ演算し、フィルタ演算後の画素に対して周波数変換及び符号化が行なわれた符号を記憶する情報処理装置であって、前記画像における所定の画像領域を受け付ける受付手段と、前記受付手段により受け付けた画像領域に対応する、１つ又は複数の前記矩形領域を第１の矩形領域群とし、該第１の矩形領域群の符号を抽出する抽出手段と、前記第１の矩形領域群の符号の復号化に影響を与える矩形領域の符号を、前記抽出手段により抽出される符号と共に抽出するか否かを選択可能とする選択手段とを備える。
【００１４】
本発明に係る他の局面の情報処理方法は、画像を矩形領域に分割し、分割された矩形領域の画素に対して周波数変換を行い、周波数変換後の前記矩形領域を更に矩形の区画に分割し、分割された区画の係数に基づいてエントロピー符号化された符号を記憶する情報処理装置における情報処理方法であって、前記画像における所定の画像領域を受け付ける受付ステップと、前記受付ステップにより受け付けた画像領域に対応する、１つ又は複数の前記区画を第１の区画群とし、該第１の区画群の符号を抽出する抽出ステップと、前記第１の区画群の符号の復号化に影響を与える区画の符号を、前記抽出ステップにより抽出される符号と共に抽出するか否かを選択可能とする選択ステップとを有する。
【００１５】
本発明に係る他の局面の情報処理装置は、画像を矩形領域に分割し、分割された矩形領域の画素に対して前記矩形領域に隣接した矩形領域の画素を用いてフィルタ演算し、フィルタ演算後の画素に対して周波数変換及び符号化が行なわれた符号を記憶する情報処理装置における情報処理方法であって、前記画像における所定の画像領域を受け付ける受付ステップと、前記受付ステップにより受け付けた画像領域に対応する、１つ又は複数の前記矩形領域を第１の矩形領域群とし、該第１の矩形領域群の符号を抽出する抽出ステップと、前記第１の矩形領域群の符号の復号化に影響を与える矩形領域の符号を、前記抽出ステップにより抽出される符号と共に抽出するか否かを選択可能とする選択ステップとを有する。
【発明の効果】
【００１６】
本発明によれば、所定の画像領域を指定された情報処理装置において、適切なウェーブレット逆変換をするか否かの目的に応じて、所定の画像領域に対応する符号を抽出することができる。
【発明を実施するための最良の形態】
【００１７】
本発明における実施の形態を図面に基づいて説明する。
【実施例１】
【００１８】
＜ＪＰＥＧ２０００の符号化処理について＞
実施例１に係る情報処理装置を説明する前に、実施例１の符号化処理の前提となるＪＰＥＧ２０００の符号化処理について説明する。図１は、ＪＰＥＧ２０００の符号化処理における概略フローチャートである。
【００１９】
まず、画像は矩形のタイルに分割される（分割数≧１）。次に、各タイルは、例えばＲＧＢの３コンポ−ネントで構成されるカラー画像の圧縮時には、ＤＣレベルシフト後、輝度・色差コンポ−ネントへのコンポ−ネント変換（色変換）が行なわれる。
【００２０】
次に、ウェーブレット変換がなされ、必要に応じて量子化が行われ、ビットプレーンを単位としたエントロピー符号化がなされる。
【００２１】
また伸張処理時には、ビットプレーン単位でのエントロピー復号後、逆量子化を経て得られたコンポ−ネント毎のウェーブレット係数に対して、ウェーブレット逆変換が施され、その後逆色変換がなされてＲＧＢの画素値に戻す。次にそれぞれの処理について説明する。
【００２２】
まず、ＤＣレベルシフトの説明をする。ＪＰＥＧ２０００のＤＣレベルシフトの変換式と逆変換式は次の通りである。
I(x,y)  ←  I(x,y)−２＾Ｓsiz(i)    順変換  ・・・式（１）
I(x,y)  ←  I(x,y)＋２＾Ｓsiz(i)    逆変換  ・・・式（２）
ただし、Ｓsiz(i)は原画像の各コンポーネントｉ（ＲＧＢ画像ならｉ＝０，１，２）のビット深さから１を減じたものである。また，２＾Ｓsiz(i)は２のＳsiz(i)乗を意味し、I(x,y)は座標(x,y)における原信号値（画素値）である。
【００２３】
このＤＣレベルシフトは、ＲＧＢ信号値のような正の数である場合に、順変換では各信号値から信号のダイナミックレンジの半分を減算するレベルシフトを、逆変換では各信号値に信号のダイナミックレンジの半分を加算するレベルシフトを行うものである。ただし、このレベルシフトはＹＣｂＣｒ信号のＣｂ、Ｃｒ信号のような符号付き整数には適用されない。
【００２４】
次に、コンポーネント変換について説明する。ＪＰＥＧ２０００では、コンポ−ネント変換（色変換）として可逆変換（ＲＣＴ）と非可逆変換（ＩＣＴ）が定義されている。
【００２５】
ＲＣＴの順変換と逆変換は次式で表される。
（順変換）
Ｙ0(x,y)＝floor((Ｉ0(x,y)+2×(Ｉ1(x,y)+Ｉ2(x,y))/4)  ・・・式（３）
Ｙ1(x,y)＝Ｉ2(x,y)-Ｉ1(x,y)  ・・・式（４）
Ｙ2(x,y)＝Ｉ0(x,y)-Ｉ1(x,y)  ・・・式（５）
（逆変換）
Ｉ1(x,y)＝Ｙ0(x,y)-floor((Ｙ2(x,y)+Ｙ1(x,y))/4)  ・・・式（６）
Ｉ0(x,y)＝Ｙ2(x,y)+Ｉ1(x,y)  ・・・式（７）
Ｉ2(x,y)＝Ｙ1(x,y)+Ｉ1(x,y)  ・・・式（８）
式中のＩは原信号、Ｙは変換後の信号を示し、IやYに続く０〜２はサフィックスである。ＲＧＢ信号ならばＩ信号においてI０＝Ｒ、I１＝Ｇ、I２＝Ｂ、Ｙ信号においてY０＝Ｙ、Y１＝Ｃｂ、Y２＝Ｃｒと表される。またfloor（Ｘ）は実数Ｘを、Ｘを越えず、かつ、Ｘに最も近い整数に置換する関数である。
【００２６】
ＩＣＴの順変換と逆変換は次式で表される。
（順変換）
Ｙ0(x,y)＝0.299×Ｉ0(x,y)+0.587×Ｉ1(x,y)+0.144×Ｉ2(x,y)  ・・・式（７）
Ｙ1(x,y)＝-0.16875×Ｉ0(x,y)-0.33126×Ｉ1(x,y)+0.5×Ｉ2(x,y)  ・・・式（８）
Ｙ2(x,y)＝0.5×Ｉ0(x,y)-0.41869×Ｉ1(x,y)-0.08131×Ｉ2(x,y)  ・・・式（９）
（逆変換）
Ｉ0(x,y)＝Ｙ0(x,y)+1.402×Ｙ2(x,y)  ・・・式（１０）
Ｉ1(x,y)＝Ｙ0(x,y)-0.34413×Ｙ1(x,y)-0.71414×Ｙ2(x,y)  ・・・式（１１）
Ｉ2(x,y)＝Ｙ0(x,y)+1.772×Ｙ1(x,y)  ・・・式（１２）
式中のＩは原信号、Ｙは変換後の信号を示す。ＲＧＢ信号ならばＩ信号においてI０＝Ｒ、I１＝Ｇ、I２＝Ｂ、Ｙ信号においてY０＝Ｙ、Y１＝Ｃｂ、Y２＝Ｃｒと表される。
【００２７】
次に、ウェーブレット変換について説明する。前述した変換後のコンポ−ネント（タイルコンポ−ネントと呼ばれる）は、ウェーブレット変換によって、LL、HL、LH、HHと略称される４つのサブバンドに分割される。そしてLLサブバンドに対して再帰的にウェーブレット変換（デコンポジション）を繰返すと、最終的に１つのLLサブバンドと複数のHL、LH、HHサブバンドが生成される。
【００２８】
ここで、ＪＰＥＧ２０００で使用される５×３ウェーブレット変換および９×７ウェーブレット変換（いずれか一方を選択して使用する）について説明する。
【００２９】
５×３ウェーブレット変換とは、５画素を用いて１つのローパスフィルタの出力（ローパス係数）が得られ、３画素を用いて１つのハイパスフィルタの出力（ハイパス係数）が得られる変換である。同様に９×７ウェーブレット変換とは、９画素を用いて１つのローパスフィルタの出力（ローパス係数）が得られ、７画素を用いて１つのハイパスフィルタの出力（ハイパス係数）が得られる変換である。主な違いはフィルタの範囲の違いであり、偶数位置中心にローパスフィルタ、奇数位置中心にハイパスフィルタが施されるのは同様である。
【００３０】
５×３ウェーブレット変換の変換式は次の通りである。
（順変換）
[step1]  C(2i+1)=P(2i+1)−floor（(P(2i)+P(2i+2))/2）  ・・・式（１３）
[step2]  C(2i)=P(2i)+floor（((C(2i-1)+C(2i+1)+2)/4）  ・・・式（１４）
（逆変換）
[step3]  P(2i)=C(2i)−floor（(C(2i-1)+C(2i+1)+2)/4）  ・・・式（１５）
[step4]  P(2i+1)=C(2i+1)＋floor（(P(2i)+P(2i+2))/2）  ・・・式（１６）
９×７ウェーブレット変換の変換式は次のとおりである。
（順変換）
[step1]  C(2n+1)=P(2n+1)+α×(P(2n)+P(2n+2))  ・・・式（１７）
[step2]  C(2n)=P(2n)+β×(C(2n-1)+C(2n+1))  ・・・式（１８）
[step3]  C(2n+1)=C(2n+1)+γ×(C(2n)+C(2n+2))  ・・・式（１９）
[step4]  C(2n)=C(2n)+δ×(C(2n-1)+C(2n+1))  ・・・式（２０）
[step5]  C(2n+1)=K×C(2n+1)  ・・・式（２１）
[step6]  C(2n)=(1/K)×C(2n)  ・・・式（２２）
（逆変換）
[step1]  P(2n)=K×C(2n)  ・・・式（２３）
[step2]  P(2n+1)=(1/K)×C(2n+1)  ・・・式（２４）
[step3]  P(2n)=X(2n)-δ×(P(2n-1)+P(2n+1))  ・・・式（２５）
[step4]  P(2n+1)=P(2n+1)-γ×(P(2n)+P(2n+2))  ・・・式（２６）
[step5]  P(2n)=P(2n)-β×(P(2n-1)+P(2n+2))  ・・・式（２７）
[step6]  P(2n)=P(2n+1)-α×(P(2n)+P(2n+2))  ・・・式（２８）
ただし、
α＝-1.586134342059924
β＝-0.052980118572961
γ＝0.882911075530934
δ＝0.443506852043971
Ｋ＝1.230174104914001
次に、ウェーブレット変換の手順およびデコンポジションレベル、解像度レベル、サブバンドの定義について説明する。
【００３１】
図２〜図５は、１６×１６の画像（の輝度コンポ−ネント）に対して、５×３変換と呼ばれるウェーブレット変換を２次元(垂直方向および水平方向)で施す過程の例を示した図である。
【００３２】
図２は、１６×１６の原画像と座標系を示す図である。図２の様にｘｙ座標をとり、あるｘについて、ｙ座標がｙである画素の画素値をP（y）（0≦ｙ≦15）と表す。ＪＰＥＧ２０００では、まず垂直方向（Y座標方向）に、ｙ座標が奇数（y=2i+1）の画素を中心にハイパスフィルタを施して係数C(2i+1)を得、次にｙ座標が偶数（y=2i）の画素を中心にローパスフィルタを施して係数C(2i)を得る(これを全てのｘについて行う)。
【００３３】
ここで、ハイパスフィルタ、ローパスフィルタは、順に前記step１、step２式で表される。なお、画像の端部においては、中心となる画素に対して隣接画素が存在しないことがあり、この場合はミラーリングと呼ばれる方法によって適宜画素値を補うことになる。ミラーリングとは、画像端部の外側に仮想的な画素を想定し、画像端部の画素を対称軸として、端部の内側の画素値を、端部の外側の画素に対して線対称にコピーする周知の手法である。
【００３４】
簡単のため、ハイパスフィルタで得られる係数をH、ローパスフィルタで得られる係数をLと表記する。図３は、垂直方向へのフィルタリング後の係数の配列を示す図である。前述した垂直方向の変換によって、図２の画像は図３のようなL係数、H係数の配列へと変換される。
【００３５】
続いて、今度は図３の係数配列に対して、水平方向に、ｘ座標が奇数（y=2i+1）の係数を中心にハイパスフィルタを施し、次にｘ座標が偶数（ｘ=2i）の係数を中心にローパスフィルタを施す(これを全てのｙについて行う。この場合、step１、２のP(2i)等は係数値を表すものと読み替える)。
【００３６】
簡単のため、
前記L係数を中心にローパスフィルタを施して得られる係数をLL、
前記L係数を中心にハイパスフィルタを施して得られる係数をHL、
前記H係数を中心にローパスフィルタを施して得られる係数をLH、
前記H係数を中心にハイパスフィルタを施して得られる係数をHH、
と表記する。図４は、水平方向へのフィルタリング後の係数の配列を示す図である。図３の係数配列は、図４の様な係数配列へと変換される。ここで同一の記号を付した係数群はサブバンドと呼ばれ、図４は４つのサブバンドで構成される。
【００３７】
以上で垂直・水平の各方向に対して各１回のウェーブレット変換（１回のデコンポジション（分解））が終了する。
【００３８】
図５は、サブバンド毎に並べ替えた係数の配列を示す図である。上記LL係数だけを集めると（図５に示す様にサブバンド毎に集め、LLサブバンドだけ取り出すと）、ちょうど原画像の１／２の解像度の"画像"が得られる（このように、サブバンド毎に分類することをデインターリーブと呼び、図４のような状態に配置することを、インターリーブするという）。
【００３９】
また、２回目のウェーブレット変換は、該LLサブバンドを原画像と見なして、上記と同様の変換を行えばよい。図６は、２回のウェーブレット変換後、並べ替えた係数の配列を示す図である。なお、図５、図６の係数の接頭の１や２は、水平・垂直に関し各何回のウェーブレット変換で該係数が得られたかを示しており、デコンポジションレベルと呼ばれる。
【００４０】
また、デコンポジションレベルとほぼ逆の関係にある、解像度レベルの定義を図７に示す．図７は、デコンポジションレベルと解像度レベルとの関係を示す図である。なお、前述した処理において、１次元のみのウェーブレット変換をしたい場合には、いずれかの方向だけの処理を行えばよく、いずれかの方向に関してウェーブレット変換を行った回数がデコンポジションレベルとなる。
【００４１】
一方、ウェーブレット逆変換は、図４の様なインターリーブされた係数の配列に対して、まず水平方向に、ｘ座標が偶数（ｘ=2i）の係数を中心に逆ローパスフィルタを施し、次にｘ座標が奇数（ｘ=2i+1）の係数を中心に逆ハイパスフィルタを施す（これを全てのｙについて行う）。
【００４２】
ここで逆ローパスフィルタ、逆ハイパスフィルタは、順に前記step３、４式で表される。前述したミラーリング処理同様、画像の端部においては、中心となる係数に対して隣接係数が存在しないことがあり、この場合も前記ミラーリングによって適宜係数値を補うことになる。
【００４３】
これにより、図４に示す係数配列は図３のような係数配列に変換（逆変換）される。続いて同様に、垂直方向に、ｙ座標が偶数（y=2i）の係数を中心に逆ローパスフィルタを施し、次に、ｙ座標が奇数（y=2i+1）の係数を中心に逆ハイパスフィルタを施せば（これを全てのｘについて行う）、１回のウェーブレット逆変換が終了し、図２の画像に戻る（再構成される）。なお、ウェーブレット変換が複数回施されている場合は、図２をLLサブバンドとみなし、HL等の他の係数を利用して同様の逆変換を繰り返せばよい。
【００４４】
次に、各サブバンドはプリシンクトとよばれる矩形の区画に分割される。プリシンクトとは、サブバンドを矩形に分割したもの(をＨＬ、ＬＨ、ＨＨの３つのサブバンドについて集めたもの。プリシンクトは３つで１まとまりであるが、ＬＬサブバンドを分割したプリシンクトは１つで１まとまりである)で、大まかに言えば、画像中の場所（Ｐｏｓｉｔｉｏｎ）を表すものである。
【００４５】
ここで注意すべきは、プリシンクト内のウェーブレット係数を逆変換するには、プリシンクト外の係数も必要になるということである。言い換えれば、ウェーブレット逆変換において、プリシンクト内の係数とプリシンクト外の係数とは独立ではない。ウェーブレット変換が周囲の画素値を用いて行われる以上、ウェーブレット逆変換も周囲の係数値を用いて行われるからである。
【００４６】
逆変換式（１５）、（１６）に示す５×３ウェーブレット逆変換の場合、逆ローパスフィルタを施すためにはフィルタ中心となる係数を含む３つの係数が必要であり、逆ハイパスフィルタを施すためにはフィルタ中心となる係数を含む５つの係数が必要である。
【００４７】
よって、逆ローパスフィルタを施す場合のフィルタ中心となる係数が、プリシンクト境界にちょうど位置する係数であった場合、その境界に隣接するプリシンクトが必要になる。また、逆ハイパスフィルタを施す場合のフィルタ中心となる係数が、プリシンクト境界にちょうど位置する係数またはその１つ内側の係数であった場合、その境界に隣接するプリシンクトが必要になるのである。
【００４８】
前述した逆変換と同様に、９×７ウェーブレット逆変換の場合、逆ローパスフィルタを施すためにはフィルタ中心となる係数を含む７つの係数が必要であり、逆ハイパスフィルタを施すためにはフィルタ中心となる係数を含む９つの係数が必要である。５×３の場合と同様、逆変換時、フィルタのタップが隣接するプリシンクトにかかる場合、当該隣接プリシンクトが必要になる。
【００４９】
以上が注意すべき点であるが、このプリシンクトはサブバンドと同じサイズにもでき、プリシンクトをさらに矩形に分割したものがコードブロックである。図８は、画像、タイル、サブバンド、プリシンクト、コードブロックの関係を示す図である。
【００５０】
よって、物理的な大きさの序列は、画像≧タイル＞サブバンド≧プリシンクト≧コードブロックとなる。なお、デコンポジションレベル（施すウェーブレット変換の回数）と解像度レベルの関係は図７に示す通りである。
【００５１】
以上の分割の後、係数のエントロピー符号化（ビットプレーン符号化）が、コードブロック毎かつビットプレーン順に成される。プリシンクトに含まれる全てのコードブロックから、ビットプレーンの符号の一部を取り出して集める。例えば、全てのコードブロックのＭＳＢから３枚目までのビットプレーンの符号を集める。そして、これら集めたものにヘッダをつけたものをパケットと呼ぶ。
【００５２】
前述したビットプレーンの符号の"一部"は"空"でもいいので、パケットの中身が符号的には"空(から)"ということもある。パケットヘッダには、当該パケットに含まれる符号に関する情報が含まれ、各パケットは独立に扱うことができる。いわばパケットは符号の単位である。
【００５３】
そして全てのプリシンクト（＝全てコードブロック＝全てのサブバンド）のパケットを集めると、画像全域の符号の一部ができる。例えば、画像全域のウェーブレット係数の、ＭＳＢから３枚目までのビットプレーンの符号である。これをレイヤと呼ぶ。
【００５４】
レイヤは、大まかに言えば、画像全体のビットプレーンの符号の一部であるから、復号されるレイヤ数が増えれば画質は上がることになる。すなわち、レイヤは画質の単位である。
【００５５】
すべてのレイヤを集めると，画像全域の全てのビットプレーンの符号になるが、図１は、デコンポジションレベル＝２、プリシンクトサイズ＝サブバンドサイズとしたときのレイヤと、それに含まれるパケットの例である。
【００５６】
パケットは、プリシンクトを単位とするものであるから、プリシンクト＝サブバンドとした場合、ＨＬ〜ＨＨサブバンドをまたいだものとなる。図中、いくつかのパケットを太線で囲んである。
【００５７】
さて，以上で生成されたパケットやレイヤの区切りに従って，パケットを並べることで最終的な符号が形成される．以上の様にパケットは、
どのコンポ−ネント（記号C）に属するか、
どの解像度レベル（記号R）に属するか、
どのプリシンクト（"場所"）（記号P）に属するか、
どのレイヤ（記号L）に属するか、
という４つの属性を有する(本願では、以下これをプログレッション属性という)。
【００５８】
パケットの先頭にはパケットヘッダが存在し、該パケットヘッダの後には、MQ符号（パケットデータ）が続いている。パケットの配列は、（パケットヘッダおよびパケットデータを）どの属性の順に階層的に並べるかを意味し、この順をプログレッションオーダと呼ぶ。図１０は、プログレッションオーダ示す図である。図１０に示すとおり、プログレッションオーダは５通りが規定されている。
【００５９】
ここで、エンコーダがプログレッション順序順にパケットを並べる様子、およびデコーダがプログレッション順にパケットの属性を解釈する様子を以下に示す。
【００６０】
プログレッションオーダがＬＲＣＰの場合、標準書の記載は以下の通りである。
for (レイヤ)｛
for (解像度)｛
for (コンポ−ネント)｛
for (プリシンクト)｛
エンコード時：パケットを配置
デコード時：パケットの属性を解釈
｝
｝
｝
｝
という階層順で、パケットの配列（エンコード時）および解釈（デコード時）がなされる。前述の通り各パケットはパケットヘッダを有するが、パケットヘッダには、
・そのパケットが空かどうか
・そのパケットにどのコードブロックが含まれるか
・そのパケットに含まれる各コードブロックのゼロビットプレーン数
・そのパケットに含まれる各コードブロック符号のコーディングパス数（ビットプレーン数）
・そのパケットに含まれる各コードブロックの符号長
が記載されているが、レイヤ番号や解像度番号等は一切記載されていない。デコード時に、そのパケットがどのレイヤのどの解像度の物かを判別するには、メインヘッダ中のＣＯＤマーカ等に記載されたプログレッションオーダから上記forループを形成し、そのパケットに含まれる各コードブロックの符号長の和からパケットの切れ目を判別し、各パケットがforループ内のどの位置でハンドリングされたかを見ればよい。
【００６１】
これは、パケットヘッダ中の符号長さえ読み出せば、エントロピー符号自体をデコードしなくても、次のパケットを検出できること、すなわち任意のパケットにアクセスできることを意味する。 
図１１は、レイヤがforループの最も外側(以下、最も外側を"最外殻"と呼ぶ)に位置するレイヤプログレッション符号の概念図である。図１２は画像サイズ１００×１００画素、２レイヤ、解像度レベル３（０〜２）、３コンポ−ネント（０〜２）、プリシンクトサイズ３２×３２、ＬＲＣＰプログレッションの場合の３６個のパケットの配列例である。
【００６２】
一方、図１３は、解像度レベルがforループの最外殻である解像度プログレッション符号の概念図である。図１４は、プリシンクトサイズ３２×３２、ＲＰＣＬプログレッションの場合の３６個のパケットの配列例である。
【００６３】
以上、説明したようなＪＰＥＧ２０００の符号化方式において、ウェーブレット係数は原画像の位置との対応関係を有し、プリシンクトは場所を示すものである。ここで、プリシンクト内のウェーブレット係数を逆変換するには、プリシンクト外の係数も必要となる。また、所定の解像度の領域を周波数逆変換するのに十分なプリシンクトのパケットとは、所定の解像度の領域に相当する係数を含む第１のプリシンクト群＋所定の解像度の領域に相当する係数を周波数逆変換するのに必要となる第１のプリシンクト群に隣接する第２のプリシンクト群（以下、隣接プリシンクト群とも言う）のパケットを意味する。
【００６４】
ただし、この領域に相当する係数を周波数逆変換するのに必要となる第１のプリシンクト群に隣接する第２のプリシンクト群は、正しく周波数逆変換しようとしなければ、必ずしも必要なものではない。
【００６５】
前述したように、ミラーリング処理によって、第１のプリシンクト群の係数をコピーすれば、周波数逆変換自体は行えるからである。ただし逆変換後の値は、正規の値ではなくなり、画質的には劣化を招くことになる。そして、第２のプリシンクト群のパケットを送信しなければ、その分符号量が減り、トラフィックが軽減されることになる。以上、説明した内容を踏まえ、本発明に係る情報処理装置について説明する。
【００６６】
＜本発明に係るシステム構成について＞
図１５は、本発明に係る情報処理装置を用いたシステムの構成を示す図である。本発明に係る情報処理装置１００は、ＨＤＤ１０１（Hard  Disk  Drive）、ＲＡＭ（Random  Accesses  Memory）１０２、ＣＰＵ（Central  Processing  Unit）１０３を含み、クライアントＰＣ（Personal  Computer）１０４とデータバスを介して接続されている。
【００６７】
図１５を用いて、情報処理装置１００における本発明の概略処理を説明する。まず、ＨＤＤ１０１上に記憶された原画像の符号が、ＣＰＵ１０３からの命令によって、ＲＡＭ１０２上に読み込まれる。
【００６８】
次に、ＣＰＵ１０３は、ＲＡＭ１０２上の符号を読み込み、符号の抽出処理を適用して第２の符号を選択する。符号の抽出処理についての詳細は後述するが、簡単に言えば隣接プリシンクトの符号を抽出するか否かを選択する処理である。
【００６９】
ＣＰＵ１０３は、第２の符号をＲＡＭ１０２上の別の領域に書き込む。また、ＣＰＵ１０３からの命令によって、第２の符号がＨＤＤ上に記録される。
【００７０】
また、さらにバス上にクライアントＰＣ１０４が接続されている場合、クライアントＰＣ１０４は、所定の画像領域を情報処理装置１００（サーバ）に対して指定し、情報処理装置１００は、指定された画像領域を受け付ける。情報処理装置１００が受け付ける情報は、クライアントＰＣが指定した画像の符号（符号ファイル名）、画像の解像度、表示ウィンドウ（リクエストウィンドウ）のサイズ（roff，rsize）などである。
【００７１】
次に、ＨＤＤ１０１上に記録された原画像の符号が、ＣＰＵ１０３からの命令によってＲＡＭ１０２上に読み込まれる。次に、ＣＰＵ１０３は、ＲＡＭ１０２上の符号を読み込み、符号の抽出処理を適用してクライアントＰＣ１０４が要求する矩形領域に相当する第２の符号を選択する。次に、ＣＰＵ１０３からの命令によって、第２の符号がクライアントＰＣ１０４に送信される。
【００７２】
本願における、クライアントＰＣ１０４から情報処理装置１００（サーバ）へ所望する画像領域の指定は、ＪＰＩＰと同様に、表示したい解像度と領域の両方が指定されることとする。
【００７３】
＜実施例１に係る情報処理装置の主要機能の構成について＞
図１６は、実施例１に係る情報処理装置の主要機能の構成を示す図である。情報処理装置２００は、受付手段２０１、抽出手段２０２、記憶手段２０３、選択手段２０４、送信手段２０５を含む機能構成である。
【００７４】
受付手段２０１は、クライアントＰＣ、又は、情報処理装置が備える入力手段（キーボード、マウスなど）などから所定の画像情報を受け付ける。画像情報は、画像の符号の識別情報（符号ファイル名）、画像の解像度情報、画像の領域情報などである。
【００７５】
抽出手段２０２は、受付手段２０１により受け付けた所定の画像領域を包含する、１つ又は複数のプリシンクトを記憶手段２０３より選定し、選定したプリシンクトを第１のプリシンクト群として、第１のプリシンクト群に対応する符号を記憶手段２０３より抽出する。また、抽出手段２０２は、抽出した符号と選定したプリシンクト群とを選択手段２０４に出力する。
【００７６】
記憶手段２０３は、画像をＪＰＥＧ２０００方式で符号化された符号を記憶する。前述したように、記憶手段２０３が記憶する符号は、所定の画像領域や所定の解像度毎に読み出すことが可能である。
【００７７】
選択手段２０４は、予め設定可能なポリシーの内容、又は、受付手段２０１により受け付ける第１のプリシンクト群の符号の復号化に影響を与える符号も抽出するか否かの信号に基づいて、第１のプリシンクト群の符号の復号化に影響を与える符号を抽出するか否かを選択する。
【００７８】
選択手段２０４は、第１のプリシンクト群の符号の復号化に影響を与える符号を抽出する場合、第１のプリシンクト群の符号に加えて、第１のプリシンクト群に隣接するプリシンクトの符号を抽出し、これらの符号を送信手段２０５に出力する。
【００７９】
選択手段２０４は、第１のプリシンクト群の符号の復号化に影響を与える符号を抽出しない場合、抽出手段２０２により抽出された符号を送信手段２０５に出力する。
【００８０】
送信手段２０５は、選択手段２０５より取得した符号をクライアントＰＣ等に送信する。また、情報処理装置２００自体が、抽出した符号を復号して表示する場合には、送信手段２０５を介さなくてもよい。
【００８１】
なお、抽出手段２０２と選択手段２０４とは、説明しやすくするため分けた構成にしたが、これらをまとめた１つの構成にしてもよい。また、選択手段２０４により、隣接するプリシンクトの符号も抽出するか否かを先に決めてから、抽出手段２０２が、選定されたプリシンクトに対応する符号を抽出するようにしてもよい。
【００８２】
ここで、図１７を用いて、受け付ける画像領域情報（リクエストウィンドウ）と、それに対応するプリシンクトについて説明する。図１７は、リクエストウィンドウと、プリシンクトとの対応を示す図である。
【００８３】
例えば、図１７に示すように３２０×３２０画素の画像に対し、左上を原点として、（１２８，１２８）を頂点とした、大きさ１２８×１２８画素の領域が所定の画像領域としてＪＰＩＰを用いて指定される場合、
fsize＝(fx，fy)＝(320,320)    (解像度の指定)
roff＝(ox，oy)＝(128,128)    (領域オフセットの指定)
rsize＝(rx，ry)＝(128,128)    (領域サイズの指定)
なる指定がなされる。
【００８４】
ここで原画像が、図８に示すように３回ウェーブレット変換され、６４×６４係数サイズのプリシンクトに分割されている場合、所定の画像領域に相当するウェーブレット係数は、図１７に示す太線で囲われる１０個の正方形に対応する係数である。
【００８５】
よって、情報処理装置２００は、これら１０個の正方形を包含するようなプリシンクトの符号をクライアントに対して送信する必要が生じる。３ＬＬは１プリシンクト、３ＨＬ・３ＬＨ・３ＨＨも１プリシンクトなので、これらは各１つのプリシンクトを送信すればよい。
【００８６】
一方、２ＨＬ・２ＬＨ・２ＨＨは４プリシンクトで、一見これらは左上の１つのプリシンクトを送信すればよい。しかし、前述したように、プリシンクト内の係数を正確にウェーブレット逆変換するためには、上下および左右に隣接したプリシンクトが必要になることがある。
【００８７】
実施例１における符号は、５×３ウェーブレット変換が用いられているとした場合、逆ローパスフィルタを施す場合のフィルタ中心となる係数が、プリシンクト境界にちょうど位置する係数であった場合、その境界に隣接するプリシンクトが必要になる。
【００８８】
また、逆ハイパスフィルタを施す場合のフィルタ中心となる係数が、プリシンクト境界にちょうど位置する係数またはその１つプリシンクト境界より内側の係数であった場合、その境界に隣接するプリシンクトが必要になる。
【００８９】
＜実施例１における所定の画像領域に対応する符号の抽出処理について＞
図１８は、実施例１に係る情報処理装置において、所定の画像領域に対応する符号の抽出処理を説明するためのフローチャートである。図１８に示す処理では、抽出手段２０２や選択手段２０４は、プリシンクトを抽出し、送信手段２０５が、プリシンクトに相当するパケットを取得して送信することにする。なお、前述したとおり、抽出手段２０２は、プリシンクトに対応する符号も抽出するようにしてもよい。
【００９０】
ステップ１０１では、受付手段２０１が、指定された所定の画像情報を受け付け、受け付けた画像情報を、抽出手段２０２に出力する。ここで、画像情報とは、前述したとおり、符号ファイル名と、画像の解像度を示す情報と、所定領域のサイズ、所定領域の位置を示す情報などである。
【００９１】
ステップ１０１に続いてステップ１０２に進み、抽出手段２０２が、まず、受付手段２０１より取得した情報をもとに、解像度レベルｒを算出する。解像度レベルｒの算出の仕方については図１９を用いて後述する。
【００９２】
ステップ１０２に続いてステップ１０３に進み、抽出手段２０２が、記憶手段２０３に記憶される符号中のＣＯＤマーカからプリシンクトサイズを読み取り、算出した解像度レベルｒ以下のすべての解像度レベルに関し、受付手段２０１より取得したｒｏｆｆ、ｒｓｉｚｅから、表示領域を包含するプリシンクト群を抽出する。
【００９３】
ステップ１０３に続いてステップ１０４に進み、選択手段２０４が、予め設定されているポリシー（ここでは画質優先のポリシーが設定されていることにする）、又は、受付手段２０１がクライアントＰＣ１０４から受け付けた信号に基づいて、抽出手段２０２が抽出するプリシンクト群に隣接するプリシンクト（隣接プリシンクトともいう）を抽出するか否か判断する。
【００９４】
ステップ１０４の判定結果がＹＥＳである場合、ステップ１０５に進み、選択手段２０４が、解像度レベルｒ以下の隣接プリシンクト群も第１のプリシンクト群に加えて抽出する。ステップ１０４の判定結果がＮＯである場合、選択手段２０４は、隣接プリシンクト群を追加しない。なお、このプリシンクトの追加処理については、図２０を用いて後述する。
【００９５】
ステップ１０５に続いてステップ１０６に進み、送信手段２０５が、抽出されたプリシンクト群に属するパケットをクライアントＰＣ１０４に送信する。
【００９６】
次に、ステップ１０２の解像度レベルｒの算出の仕方について図１９を用いて説明する。図１９は、解像度レベルｒの算出処理を説明するためのフローチャートである。なお、抽出手段２０２は演算部を備えており、図１９に示す処理は全て抽出手段２０２が行なうこととする。
【００９７】
ステップ２０１では、ｆｓｉｚｅのｆｘとｆｙとを受付手段２０１から取得する。ステップ２０１に続いてステップ２０２に進み、指定された符号ファイル名の画像のＳＩＺマーカセグメントから、原画像の横方向画素数（Ｘｓｉｚｅ）、縦方向画素数（Ｙｓｉｚｅ）を検出する。
【００９８】
ステップ２０２に続いてステップ２０３に進み、指定された符号ファイル名の画像のＣＯＤマーカセグメントから、デコンポジションレベル数ｄを検出する。なお、ＳＩＺマーカセグメント、ＣＯＤマーカセグメントは適宜、記憶手段２０３より読み出すことで検出される。
【００９９】
ステップ２０３に続いてステップ２０４に進み、
fx≦Xsize/2^d  ・・・式（２９）
fy≦Ysize/2^d  ・・・式（３０）
式（２９）、（３０）の両方を満たすか否かを判定する。両方を満たす場合はステップ２０５に進み、解像度レベルｒは０とする。式（２９）、（３０）を１つでも満たさない場合はステップ２０６に進み、解像度レベルｒを算出する。
【０１００】
解像度レベルｒは以下の式で算出される。
r=d-min[log2(Xsize/fx),log2(Ysize/fy)]+1  ・・・式（３１）
式（３１）に従って、解像度レベルｒを算出する。
【０１０１】
以上説明した解像度レベルｒに基づいて、ステップ１０３やステップ１０５の処理でプリシンクトが抽出される。
【０１０２】
次に、ステップ１０５のプリシンクトの追加処理について図２０を用いて説明する。図２０は、プリシンクトの追加処理を説明するためのフローチャートである。図２０に示す全ての処理は、選択手段２０４が行なうこととする。このとき、選択手段２０４は、演算部を有し、表示領域の境界の座標とプリシンクト境界の座標との距離を求める。
【０１０３】
ステップ３０１では、表示領域の上端が奇数座標か否か判定する。つまり、表示領域の上端が逆ハイパスフィルタを用いるか否かを判定する。ステップ３０１の判定結果がＹＥＳである場合、ステップ３０２に進み、表示領域の上端から、上方向に存在するプリシンクト境界への距離が２未満であるか否かを判定する。
【０１０４】
ステップ３０２の判定結果がＹＥＳである場合、ステップ３０３に進み、表示領域の上端に隣接するプリシンクトを抽出対象に含める。
【０１０５】
ステップ３０３の処理が完了した場合、ステップ３０１の判定結果がＮＯである場合、又はステップ３０２の判定結果がＮＯである場合、ステップ３０４に進み、表示領域の上端が偶数座標か否か判定する。つまり、表示領域の上端が逆ローパスフィルタを用いるか否かを判定する。
【０１０６】
ステップ３０１の判定結果がＹＥＳである場合、ステップ３０２に進み、表示領域の上端から、上方向に存在するプリシンクト境界への距離が１未満であるか否かを判定する。
【０１０７】
ステップ３０２の判定結果がＹＥＳである場合、ステップ３０３に進み、表示領域の上端に隣接するプリシンクトを抽出対象に含める。なお、ステップ３０３の処理が終了した場合にはステップ３０４に進むようにしたが、ステップ３０３の処理が終了した場合は、上端に隣接するプリシンクトの追加処理自体を終了するようにしてもよい。
【０１０８】
以上、表示領域の上端に関するプリシンクトの追加処理を説明したが、上端を下端、右端、又は左端とすることで、下端、右端、又は左端に関するプリシンクトの追加処理を同様に行うことができる。
【０１０９】
また、図２０に示す処理では５×３のウェーブレット変換（逆変換）について説明したが、９×７のウェーブレット変換（逆変換）の場合は、ステップ３０２の処理の２未満を４未満にし、ステップ３０５の処理の１未満を３未満にすれば同様に処理可能である。
【０１１０】
以上、実施例１に係る情報処理装置によれば、所定の画像領域を指定された情報処理装置において、適切なウェーブレット逆変換をするか否かの目的に応じて、所定の画像領域に対応する符号を抽出することができる。つまり、情報処理装置側で、隣接プリシンクトを含めて画質を優先するか、隣接プリシンクトを含めずにトラフィック低減を優先するかを決めることができる。
【０１１１】
また、画質優先かトラフィック低減優先かをクライアント側で決定し、情報処理装置は、決定された内容を示す信号を受信することでクライアント側の要望に応じて画質優先かトラフィック低減優先かを選択することができる。
【０１１２】
また、第１のプリシンクト群の符号の復号化に影響を与える符号を、第１のプリシンクト群の水平方向、又は垂直方向に接するプリシンクトの符号であることを決めておくことで、表示領域の境界の画質選択に際し、符号抽出を容易に行うことができる。
【実施例２】
【０１１３】
実施例２に係る情報処理装置について説明する。実施例２では、ＪＰＥＧ−ＸＲ方式で符号化された符号を対象とするところが実施例１と異なる。まず、実施例２の前提となるＪＰＥＧ−ＸＲについて説明する。
【０１１４】
＜ＪＰＥＧ−ＸＲの基本的な符号化処理について＞
図２１は、ＪＰＥＧ−ＸＲの基本的な符号化処理を示すフローチャートである。図２１を用いて、ＪＰＥＧ−ＸＲの基本的な符号化処理を説明する。
【０１１５】
ＪＰＥＧ−ＸＲ符号化方式では、まず、原画像をＹＣｇＣｏの各成分に変換する。タイルに分割し、分割されたタイルをさらに４×４画素のブロックに分割する。
【０１１６】
ここで、図２２は、ＪＰＥＧ−ＸＲにおける画像、タイル、マクロブロック、ブロック、画素の関係を示す図である。図２２に示すように、画像はタイルに分割され、タイルはマクロブロックに分割され、マクロブロックは１６個のブロックに分割され、１ブロックは４×４の画素から成る。よって、これらの大小関係は、画像≧タイル≧マクロブロック≧ブロック≧画素となる。なお、図２３は、ＪＰＥＧ−ＸＲ符号化方式での色変換式を示す図である。
【０１１７】
また、ＪＰＥＧ−ＸＲでは、この４×４画素のブロック単位で周波数変換を行うため、圧縮率が高い場合には従来技術のＪＰＥＧ同様のブロックノイズが生じる恐れがある。そこで、ブロックノイズを低減させるため、プレフィルタ処理が行われる。
【０１１８】
図２１に戻り、ブロックをまたぐ４×４画素ごとにプレフィルタ処理が行われる。また、このプレフィルタ処理はタイル境界をまたいで行われる。つまり、このプレフィルタの逆変換を施す場合には注目タイルの上下左右のタイルの画素が必要となる。
図２４は、プレフィルタをかける４×４画素と、周波数変換をする４×４画素の位置関係を示す図である。さらに、図２５は、プレフィルタの式を仮想的なプログラムで表した図である。図２４、図２５に示す「ａ」は、プレフィルタをかける単位の左上の画素を表す。図２５に示すプログラムを実行することにより、プレフィルタ処理を行うことができる。
【０１１９】
図２１に戻り、各タイル内でブロックごとに周波数変換が行なわれる。また、各タイル内で、マクロブロック内のＤＣ成分が集められて、４×４係数の第２のブロックが形成される。この時、集められたＤＣ成分以外の係数は、ハイパス（ＨＰ）係数として扱われる。
【０１２０】
次に、前述した第２のブロックが集められることにより形成される第２の画像(係数群)に対して、第２のブロックをまたぐ４×４係数ごとにプレフィルタ処理が行われる。
【０１２１】
再び各タイル内で、第２のブロックごとに周波数変換が行われる。前回同様に、各タイル内でマクロブロック内のＤＣ成分が集められ、これをＤＣ係数として扱う。また、ＤＣ成分以外の係数は、ローパス（ＬＰ）係数として扱う。
【０１２２】
ここで、図２６は、ＤＣ係数、ＬＰ係数、ＨＰ係数の階層的な位置関係を示す図である。わかりやすく説明するため、１マクロブロックに着目して説明する。図２６に示すＨＰ係数について、１回目の周波数変換後に各ブロックごとにＤＣ成分が集められて（一番上のブロックの場合を例にとって、ＤＣ成分が集められる様子を図２６に示す）、集められなかった係数がＨＰ係数である。
【０１２３】
ＬＰ係数について、１回目の周波数変換後に集められたＤＣ成分に対して２回目の周波数変換を行い、２回目の周波数変換後のＤＣ成分が集められて、集められなかった係数がＬＰ係数である。ＤＣ係数について、２回目の周波数変換後に集められたＤＣ成分がＤＣ係数である。
【０１２４】
さらに、図２７、２８は、周波数変換式を、仮想的なプログラムで表した図である。図２７、２８のプログラムを実行することで周波数変換処理を行うことができる。
【０１２５】
図２１に戻り、量子化処理によって、各タイル毎にＤＣ係数、ＬＰ係数、ＨＰ係数が線形量子化される。最後に、エントロピー符号化処理によって、量子化後の係数に対して所定のエントロピー符号化が行われる。本願では、エントロピー符号化の詳細は詳述しない。なお、ＪＰＥＧ−ＸＲで符号化された符号を伸張する場合は、前述した処理の逆順を辿ればよい。
【０１２６】
以上のように、ＪＰＥＧ−ＸＲで符号化された符号は、プレフィルタ処理の影響を受けているため、あるタイルを正確にデコードするためには、隣接したタイルの符号も必要になる。一方、隣接したタイルの係数が存在しなくても、例えば、隣接したタイルの画素値を０として計算すれば、誤差は生じるが、プレフィルタの逆変換は行うことができる。ただし、この場合、ブロックノイズは生じてしまう。
【０１２７】
よって、ＪＰＥＧ−ＸＲ方式で符号化された符号に、例えば、ネットワーク経由で部分的にアクセスする場合、実施例１と同様の画質と符号量の関係が生じる。なお、実施例２において、情報処理装置側では基本的な構成は実施例１と同様であり、図１６に示す抽出手段２０２がタイルを抽出し、記憶手段２０３は、ＪＰＥＧ−ＸＲで符号化された符号を記憶し、選択手段２０４がタイルを追加可能とするように変更すればよい。
【０１２８】
＜ＪＰＥＧ−ＸＲ符号の構成について＞
図２９は、ＪＰＥＧ−ＸＲの符号構成を示したものであり、画像全体に関するヘッダ、符号化条件等を格納した画像プレーンヘッダ、各タイルのエントロピー符号の位置を示すインデックステーブル、各タイルのエントロピー符号という順で並んでいる。
【０１２９】
図３０は、ＪＰＥＧ−ＸＲの符号構成を仮想的なプログラム（以降の図でも同様）で表した図である。
【０１３０】
図３１は、イメージヘッダをプログラムで表した図である。図３１に示すように、プレフィルタの有無や画像サイズ、タイルサイズ等のパラメータが格納されている。
【０１３１】
図３１に示すように
画像の幅  ＝  WIDTH_MINUS1  ＋１  ・・・式（３２）
画像の高さ  ＝  HEIGHT_MINUS1  ＋１  ・・・式（３３）
で画像の幅と高さが求められる。また、
垂直方向のタイル数  ＝  NUM_VERT_TILES_MINUS1  ＋１  ・・・式（３４）
水平方向のタイル数  ＝  NUM_HORIZ_TILES_MINUS1  ＋１  ・・・式（３５）
で水平、垂直方向のタイル数が求められる。この結果、画像の総タイル数は
N  =（NUM_VERT_TILES_MINUS1  ＋１）×  （NUM_HORIZ_TILES_MINUS1  ＋１）  ・・・式（３６）
で与えられる。実施例１においては、各タイルに対し、左上からラスター順に番号を振ることにする。タイルの番号は１から始まりNで終わる。また本実施例においては、画像の右端や下端では端数サイズのタイルが生じうるが、各タイルのサイズは基本的に同一とする。
【０１３２】
また、
タイルの幅TILEWIDTH  ＝  （TILEWIDTH_INMB_MINUS1＋１）×１６  ・・・式（３７）
タイルの高さTILEHEIGHT  ＝（TILEHEIGHT_INMB_MINUS1＋１）×１６  ・・・式（３８）
で与えられる。
【０１３３】
図３２は、イメージプレーンヘッダをプログラムで表した図である。図３２に示すように、イメージプレーンヘッダには、量子化等の条件が格納されている。
【０１３４】
図３３は、インデックステーブルをプログラムで表した図である。図３３に示すように、インデックステーブルには、インデックステーブルの終端から、各タイルのエントロピー符号へのオフセット値が格納されている（最初のタイルへのオフセット値は０である）。
【０１３５】
図３４は、タイルの符号をプログラムで表した図である。各タイルのエントロピー符号を「マクロブロックの場所→周波数」の順で並べる場合(スペーシャルモード)と、「周波数毎→マクロブロック場所毎」の順で並べる場合（周波数モード）の２通りがあるが、ここではスペーシャルモードを採用している。図３５は、２通り（スペーシャルモードと周波数モード）のタイルの符号の配列を示す図である。
【０１３６】
また、図３６は、スペーシャルモードのタイルの符号の詳細をプログラムで表した図である。図３６に示すように、冒頭にTILE_STARTCODEが位置する。このTILE_STARTCODEは、もともと各タイルのエントロピー符号の始まりを表す所定２４ビットのマーカに過ぎないが、実施例１においては、このTILE_STARTCODEに、各タイルの番号Ｎを入力している。
【０１３７】
＜実施例２における所定の画像領域に対応する符号の抽出処理について＞
図３７は、実施例２に係る情報処理装置において、所定の画像領域に対応する符号の抽出処理を説明するためのフローチャートである。ここでは、抽出手段２０２や選択手段２０４は、タイルを抽出し、送信手段２０５が、タイルに相当するパケットを取得し送信することにする。
【０１３８】
なお、抽出手段２０２は、タイルに対応する符号を抽出するようにしてもよい。また、図３７に示す処理において、図１８に示す処理と同様の処理を行なうものは図１８と同様の符号を付し、その説明を省略する。
【０１３９】
ステップ４０１では、抽出手段２０２が、受付手段２０１より取得した情報をもとに、解像度を算出する。解像度の算出の仕方については図３９を用いて後述する。
【０１４０】
ステップ４０２では、抽出手段２０２が、記憶手段２０３に記憶される符号中のイメージヘッダからタイルサイズを読み取り、算出した解像度以下のすべての解像度に関し、受付手段２０１より取得したｒｏｆｆ、ｒｓｉｚｅから、表示領域を包含するタイルを選定し、抽出する。
【０１４１】
ステップ１０４の判定結果がＹＥＳである場合、ステップ４０３に進み、選択手段２０４が、ステップ４０２で抽出したタイルに隣接するタイルも抽出する。ステップ１０４の判定結果がＮＯである場合、選択手段２０４は、隣接するタイルを追加しない。
【０１４２】
なお、隣接するタイルとは、抽出手段２０２により抽出されたタイルの上端、下端、左端、右端に隣接するタイルだけでなく左上頂点、右上頂点、左下頂点、右下頂点を共有するタイルも含まれる。
【０１４３】
ステップ４０３に続いてステップ４０４に進み、選択手段２０４は、抽出手段２０２、選択手段２０４が抽出したタイル以外のタイルのエントロピー符号を破棄する。
【０１４４】
ステップ４０４に続いてステップ４０５に進み、選択手段２０４が、選択したタイルの符号用にインデックステーブルを書き換える。図３８は、インデックステーブルの書き換えの例を示す図である。図３８に示すように、７番〜１２番までのタイルだけが必要な場合は、これらのタイルのエントロピー符号だけ残し、インデックステーブルは、順にこれらを指すように修正する。これらの処理によって、原符号からエントロピー復号なしに表示に必要な部分符号が生成される。
【０１４５】
ステップ４０５に続いてステップ４０６に進み、送信手段２０５が、生成された部分符号を、クライアントＰＣ１０４に送信する。
【０１４６】
＜解像度算出処理について＞
ステップ４０１において、抽出手段２０２により行なわれる解像度算出について説明する。図３９は、解像度算出処理のフローチャートである。図３９に示す処理で、図１９と同じ処理を行うものは、同じ符号を付し、その説明を省略する。
【０１４７】
ステップ２０２に続いてステップ５０１に進み、解像度判定に用いるｍの値を算出する。解像度判定に用いるｍは、
m = max [ fx / Xsize , fy / Ysize]  ・・・式（３９）
の算出式で求められる。
【０１４８】
ステップ５０１に続いてステップ５０２に進み、ｍが１／１６以下であるか否かを判定する。ステップ５０２の判定結果がＹＥＳである場合、ステップ５０３に進み、必要な解像度はＤＣ符号のみであると決定する。
【０１４９】
ステップ５０２の判定結果がＮＯである場合、ステップ５０４に進み、ｍが１／４以下であるか否かを判定する。ステップ５０４の判定結果がＹＥＳである場合、ステップ５０５に進み、必要な解像度は、ＤＣ符号とＬＰ符号のみであると決定する。
【０１５０】
ステップ５０４の判定結果がＮＯである場合、ステップ５０６に進み、必要な解像度は全ての符号（ＤＣ、ＬＰ、ＨＰ、Ｆｌｅｘｂｉｔｓ全ての符号）であると決定する。
以上の処理により、必要な解像度を求めることができる。
【０１５１】
以上、実施例２における情報処理装置によれば、所定の画像領域を指定された情報処理装置において、適切なポストフィルタ処理をするか否かの目的に応じて、所定の画像領域に対応する符号を抽出することができる。つまり、ＪＰＥＧ−ＸＲで符号化された符号に対して、情報処理装置側で、隣接するタイルを含めることで画質を優先するか、隣接するタイルを含めずトラフィック低減を優先するかを決めるができる。
【０１５２】
また、画質優先かトラフィック低減優先かをクライアント側で決定し、決定された内容を示す信号を受信することでクライアント側の要望に応じて画質優先かトラフィック低減優先かを選択することができる。
【０１５３】
また、タイルの符号の復号化に影響を与える符号を、タイルの水平方向、又は垂直方向に接するタイルの符号であることを決めておくことで、表示領域の境界の画質選択に際し、符号抽出を容易に行うことができる。
【０１５４】
以上、本発明の実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【０１５５】
なお、実施例１又は実施例２において説明した処理内容をプログラムとして記録媒体に記録し、このプログラムが記録された記録媒体をコンピュータに読み取らせて前述した処理を情報処理装置に実行させることも可能である。また、本発明に係る情報処理装置では、クライアントＰＣは必ずしも必要ではなく、自装置で所定の領域を指定し、自装置内に記憶する符号から所定の領域に対応する符号を抽出して復号し、表示するようにしてもよい。
【図面の簡単な説明】
【０１５６】
【図１】ＪＰＥＧ２０００の圧縮・伸張処理のフローチャート。
【図２】原画像と座標系の例を示す図。
【図３】垂直方向へのフィルタリング後の係数の配列を示す図。
【図４】水平方向へのフィルタリング後の係数の配列を示す図。
【図５】並び替えた後の係数の配列を示す図。
【図６】２回の変換後、並び替えた係数の配列を示す図。
【図７】デコンポジションレベルと解像度レベルの関係を示す図。
【図８】画像、タイル、サブバンド、プリシンクト、コードブロックの関係を示す図。
【図９】レイヤとパケットの例を示す図。
【図１０】プログレッションオーダを示す図。
【図１１】レイヤプログレッシブ符号の概要を示す図。
【図１２】ＬＲＣＰのパケット配列を示す図。
【図１３】解像度プログレッシブ符号の概要を示す図。
【図１４】ＲＬＣＰのパケット配列を示す図。
【図１５】本発明に係る情報処理装置の概略構成を示す図。
【図１６】実施例１に係る情報処理装置の主要機能構成を示すブロック図。
【図１７】リクエストウィンドウとそれに対応したプリシンクトの例を示す図。
【図１８】実施例１における全体の処理を示すフローチャート。
【図１９】実施例１における解像度レベル算出処理のフローチャート。
【図２０】プリシンクト追加処理のフローチャート。
【図２１】ＪＰＥＧ−ＸＲの圧縮・伸張処理のフローチャート。
【図２２】ＪＰＥＧ−ＸＲにおける画像、タイル、マクロブロック、ブロック、画素の関係を示す図。
【図２３】ＪＰＥＧ−ＸＲの色変換を示す図。
【図２４】プレフィルタをかける４×４画素と、周波数変換をする４×４画素の位置関係を示す図。
【図２５】プレフィルタの式を仮想的なプログラムで表した図。
【図２６】ＤＣ係数、ＬＰ係数、ＨＰ係数の階層的な位置関係を示す図。
【図２７】周波数係数を仮想的なプログラムで表した図。
【図２８】周波数係数を仮想的なプログラムで表した図。
【図２９】全体画像の符号構成を示す図。
【図３０】ＪＰＥＧ−ＸＲにおける全体画像の符号構成をプログラムで表した図。
【図３１】ＪＰＥＧ−ＸＲにおけるイメージヘッダをプログラムで表した図。
【図３２】ＪＰＥＧ−ＸＲにおけるイメージプレーンヘッダをプログラムで表した図。
【図３３】ＪＰＥＧ−ＸＲにおけるインデックステーブルをプログラムで表した図。
【図３４】ＪＰＥＧ−ＸＲにおける各タイルの符号をプログラムで表した図。
【図３５】ＪＰＥＧ−ＸＲにおける２通りのタイル符号の配列を示す図。
【図３６】ＪＰＥＧ−ＸＲにおけるタイルの符号の詳細をプログラムで表した図。
【図３７】実施例２における符号の抽出処理のフローチャート。
【図３８】インデックステーブルの書き換えの例を示す図。
【図３９】解像度算出処理のフローチャート。
【符号の説明】
【０１５７】
１００、２００  情報処理装置
１０１  ＨＤＤ
１０２  ＲＡＭ
１０３  ＣＰＵ
１０４  クライアントＰＣ
２０１  受付手段
２０２  抽出手段
２０３  記憶手段
２０４  選択手段
２０５  送信手段
【図１】
0005167944.tif 000002
【図２】
0005167944.tif 000003
【図３】
0005167944.tif 000004
【図４】
0005167944.tif 000005
【図５】
0005167944.tif 000006
【図６】
0005167944.tif 000007
【図７】
0005167944.tif 000008
【図８】
0005167944.tif 000009
【図９】
0005167944.tif 000010
【図１０】
0005167944.tif 000011
【図１１】
0005167944.tif 000012
【図１２】
0005167944.tif 000013
【図１３】
0005167944.tif 000014
【図１４】
0005167944.tif 000015
【図１５】
0005167944.tif 000016
【図１６】
0005167944.tif 000017
【図１７】
0005167944.tif 000018
【図１８】
0005167944.tif 000019
【図１９】
0005167944.tif 000020
【図２０】
0005167944.tif 000021
【図２１】
0005167944.tif 000022
【図２２】
0005167944.tif 000023
【図２３】
0005167944.tif 000024
【図２４】
0005167944.tif 000025
【図２５】
0005167944.tif 000026
【図２６】
0005167944.tif 000027
【図２７】
0005167944.tif 000028
【図２８】
0005167944.tif 000029
【図２９】
0005167944.tif 000030
【図３０】
0005167944.tif 000031
【図３１】
0005167944.tif 000032
【図３２】
0005167944.tif 000033
【図３３】
0005167944.tif 000034
【図３４】
0005167944.tif 000035
【図３５】
0005167944.tif 000036
【図３６】
0005167944.tif 000037
【図３７】
0005167944.tif 000038
【図３８】
0005167944.tif 000039
【図３９】
0005167944.tif 000040