(57)【要約】【課題】  画像データの種類を判別し、判別結果に基づいて重要性の高い部分から順に画像データを転送する技術を提供する。【解決手段】  本発明によれば、１以上のタイルから構成された画像データを記憶する記憶手段であって、該タイルは当該タイルの符号化についての符号化情報を含むヘッダを少なくとも含む、記憶手段と、前記符号化情報に基づいて前記タイル毎の画像種類を判別する判別手段と、前記画像データについて画像種類の指定を受け付ける受付手段と、前記判別手段において前記画像種類が判別された前記タイルのそれぞれを、受け付けた前記画像種類の指定に従って配列する配列手段と、前記タイルを、前記配列に従って外部装置へ送出する送出手段と、を備え、前記タイルは複数の周波数成分毎に分割されていることを特徴とするサーバ装置が提供される。【選択図】  図２
2007019744.tif 000002
【特許請求の範囲】
【請求項１】
１以上のタイルから構成された画像データを記憶する記憶手段であって、該タイルは当該タイルの符号化についての符号化情報を含むヘッダを少なくとも含む、記憶手段と、
前記符号化情報に基づいて前記タイル毎の画像種類を判別する判別手段と、
前記画像データについて画像種類の指定を受け付ける受付手段と、
前記判別手段において前記画像種類が判別された前記タイルのそれぞれを、受け付けた前記画像種類の指定に従って配列する配列手段と、
前記タイルを、前記配列に従って外部装置へ送出する送出手段と、を備え、
前記タイルは複数の周波数成分毎に分割されていることを特徴とするサーバ装置。
【請求項２】
前記受付手段は前記外部装置から前記指定を受け付けることを特徴とする請求項１に記載のサーバ装置。
【請求項３】
前記符号化情報は、前記タイルを構成する前記複数の周波数成分のうち、低周波成分における第１のコーディングパス数と、高周波成分における第２のコーディングパス数と、を含み、
前記判別手段は、前記第１のコーディングパス数と前記第２のコーディングパス数との比率に基づいて前記判別を行うことを特徴とする請求項１又は２に記載のサーバ装置。
【請求項４】
前記符号化情報は、前記タイルを構成する前記複数の周波数成分のうち、低周波成分における第１の圧縮画像データ長と、高周波成分における第２の圧縮画像データ長と、を含み、
前記判別手段は、前記第１の圧縮画像データ長と前記第２の圧縮画像データ長との比率に基づいて前記判別を行うことを特徴とする請求項１又は２に記載のサーバ装置。
【請求項５】
前記符号化情報は、前記タイルを構成する前記複数の周波数成分のうち、高周波成分におけるゼロビットプレーン数であり、
前記判別手段は、前記ゼロビットプレーン数の大きさに基づいて前記判別を行うことを特徴とする請求項１又は２に記載のサーバ装置。
【請求項６】
前記画像種類は、少なくとも文字画像及びグラフィック画像のいずれかと、自然画と、の少なくともいずれかであることを特徴とする請求項１乃至５のいずれか１項に記載のサーバ装置。
【請求項７】
前記画像データは、ＪＰＥＧ２０００方式に基づく符号化データであることを特徴とする請求項１乃至６のいずれか１項に記載のサーバ装置。
【請求項８】
請求項１乃至７のいずれか１項に記載のサーバ装置に、前記画像データの送信要求と、前記画像種類を指定する情報と、を送信する送信手段と、
前記送出手段により送出された前記送信要求に対応する前記画像データを構成するタイルを受信する受信手段と、
前記受信手段において受信した前記タイルについて、表示手段への表示、及び、画像の比較の、少なくともいずれかに利用する制御手段と、を備えることを特徴とするクライアント装置。
【請求項９】
１以上のタイルから構成された画像データを記憶する記憶手段であって、該タイルは当該タイルの符号化についての符号化情報を含むヘッダを少なくとも含む、記憶手段を備えたサーバ装置の制御方法であって、
前記符号化情報に基づいて前記タイル毎の画像種類を判別する判別工程と、
前記画像データについて画像種類の指定を受け付ける受付工程と、
前記判別工程において前記画像種類が判別された前記タイルのそれぞれを、受け付けた前記画像種類の指定に従って配列する配列工程と、
前記タイルを、前記配列に従って外部装置へ送出する送出工程と、を備え、
前記タイルは複数の周波数成分毎に分割されていることを特徴とするサーバ装置の制御方法。
【請求項１０】
請求項１乃至７のいずれか１項に記載のサーバ装置に、前記画像データの送信要求と、前記画像種類を指定する情報と、を送信する送信工程と、
前記送出工程において送出された前記送信要求に対応する前記画像データを構成するタイルを受信する受信工程と、
前記受信工程において受信した前記タイルについて、表示手段への表示、及び、画像の比較の、少なくともいずれかに利用する制御工程と、を備えることを特徴とするクライアント装置の制御方法。
【請求項１１】
コンピュータを、請求項１乃至７のいずれかに記載のサーバ装置、又は、請求項８に記載のクライアント装置として機能させるためのコンピュータプログラム。
【請求項１２】
請求項１１に記載のコンピュータプログラムを格納したコンピュータで読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は階層符号化された画像データを送信する技術に関する。
【背景技術】
【０００２】
近年のコンピュータの高性能化、ハードディスクドライブ（ＨＤＤ）等の記憶装置やメモリの大容量化、デジタルカメラ、デジタルビデオ、スキャナ、プリンタ、複合機（ＭＦＰ）、デジタル複写機といった画像を入出力する装置の普及および高性能化に伴い、デジタル画像を扱う機会が多くなっている。また、高速インターネット回線の普及により、それらの画像を送受信することも稀ではなくなっている。ＨＤＤを備えるＭＦＰやデジタル複写機、コンピュータ等は、画像サーバとして使用されていることもある。
【０００３】
そのような背景により、扱っているデジタル画像は、高精細化かつ大量化の一途をたどっている。高精細化により、１つ１つのデータサイズは大きくなる傾向にあり、ＪＰＥＧやＪＰＥＧ２０００といった高画質を保ったまま高い圧縮率を備えた画像圧縮伸張アルゴリズムが必須となり、標準化されている。また、大量化に伴う問題を解決するために、画像検索アルゴリズムが提案されている。
【０００４】
また、画像をネットワークを介してサーバとクライアント間で送受信する手法が知られている。特許文献１では、クライアントがサーバに対し、階層符号化データのデータ態様を示すデータ態様識別情報を含む要求データを送信し、サーバはデータ態様識別情報に対応するデータを抽出、生成しクライアントに送信する技術が開示されている。
【０００５】
また、画像をネットワークを介してサーバとクライアント間で送受信する際に、画像の種類の判別を行う手法が知られている。特許文献２では、画像データのヒストグラムを作成し、その頻度の分布に偏りがある場合には２値画像と判別し、偏りが無い場合には自然画像と判別する手法が開示されている。また、特許文献３では、注目画素とその近傍の周辺画素との相関が強い場合にはコンピュータグラフィックス画像と判別し、注目画素と周辺画素との相関が弱い場合には自然画像と判別する手法が開示されている。また、特許文献４では、画像データの色数が１つの場合には単色画像と判別し、色数が少ない場合にはパレット画像と判別し、色数が多い場合には自然画像と判別する手法が開示されている。
【特許文献１】特開２００４−１９２１４０号公報
【特許文献２】特開２０００−２２２５６４号公報
【特許文献３】特開２００２−１５３２７号公報
【特許文献４】特開平１１−８８７００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献１に開示された技術においては、データ態様識別情報が示すデータ態様は、画像の内容に基づいたものではなく、画像のデータ構造に基づいていた。このため、画像の内容に基づいた要求、例えば、画像中のグラフィック部分のデータを先に表示するため、その部分を先に受信したい、というような要求に応えることができなかった。
【０００７】
また、上記特許文献２乃至４に開示された画像判別の手法では、いずれも画像の画素値を読み込み、解析して、画像の種類を判別していたため、画像データを読み込むためのメモリを要し、かつ、画像データを解析するための時間を要していた。
【０００８】
本発明は上記の問題点に鑑みてなされたものであり、画像データの種類を判別し、判別結果に基づいて重要性の高い部分から順に画像データを転送する技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明によれば、
１以上のタイルから構成された画像データを記憶する記憶手段であって、該タイルは当該タイルの符号化についての符号化情報を含むヘッダを少なくとも含む、記憶手段と、
前記符号化情報に基づいて前記タイル毎の画像種類を判別する判別手段と、
前記画像データについて画像種類の指定を受け付ける受付手段と、
前記判別手段において前記画像種類が判別された前記タイルのそれぞれを、受け付けた前記画像種類の指定に従って配列する配列手段と、
前記タイルを、前記配列に従って外部装置へ送出する送出手段と、を備え、
前記タイルは複数の周波数成分毎に分割されていることを特徴とするサーバ装置が提供される。
【発明の効果】
【００１０】
本発明によれば、画像データの種類を判別し、判別結果に基づいて重要性の高い部分から順に画像データを転送する技術を提供することができる。
【発明を実施するための最良の形態】
【００１１】
以下、添付図面を参照して本発明に係る実施の形態を詳細に説明する。ただし、この実施の形態に記載されている構成要素はあくまでも例示であり、本発明の範囲をそれらのみに限定する趣旨のものではない。
【００１２】
〔ＪＰＥＧ２０００フォーマットについて〕
本実施の形態は、階層化アルゴリズムにしたがって圧縮符号化された画像ファイルフォーマットの一つとして、ＪＰＥＧ２０００アルゴリズムを利用するものである。このため、まず、ＪＰＥＧ２０００フォーマットについて説明する。ＪＰＥＧ２０００アルゴリズムは各種文献により周知のものであるため、ここでは、本実施形態に関係のある部分の概要についてのみ説明する。
【００１３】
画像をＪＰＥＧ２０００フォーマットで保存する際は、タイルと呼ばれる同サイズの長方形に画像を分割できる。図３は、ＪＰＥＧ２０００画像のタイル分割を模式的に示した図である。
【００１４】
それぞれのタイルについて、図４に示すように、色変換、離散ウェーブレット変換、量子化、エントロピー符号化、ビットストリーム形成の順で圧縮符号化が行われる。図４は、ＪＰＥＧ２０００アルゴリズムに係るエンコード処理手順を示した図である。
【００１５】
図４において、４０１の色変換は、Ｒ（赤）、Ｇ（緑）、Ｂ（青）からなるＲＧＢ等の表色系から、ＹＣｂＣｒ等の表色系へコンポーネントの変換を行う処理である。
【００１６】
４０２の離散ウェーブレット変換は、４０１において色変換が行われた画像を、離散ウェーブレット変換を用いて周波数空間に分解する処理である。図５は、ＪＰＥＧ２０００方式に係る離散ウェーブレット変換を示した模式図である。（ａ）のタイル画像（０ＬＬ）に対して、離散ウェーブレット変換を施し、サブバンド１ＬＬ、１ＨＬ、１ＬＨ、１ＨＨに分解する（ｂ）。引き続き、低周波成分１ＬＬに対し、離散ウェーブレット変換を施し、サブバンド２ＬＬ、２ＨＬ、２ＬＨ、２ＨＨに分解する（ｃ）。本例では、２レベルの変換を行っているが、離散ウェーブレット変換の回数は特に制限されるものではない。
【００１７】
４０３の量子化は、離散ウェーブレット変換の変換係数を線形量子化する処理である。
【００１８】
４０４のエントロピー符号化は、図６に示すように、プレシンクト分割、コードブロック分割、ビットプレーン分割、コーディングパスへの分割、二値算術符号化の順で符号化を行う処理である。図６は、ＪＰＥＧ２０００方式に係るエントロピー符号化手順を示した図である。
【００１９】
図６に置いて、６０１のプレシンクト分割は、２ＨＬ、２ＬＨといったサブバンドの係数を、プレシンクトと呼ばれる領域に分割する部分である。図７はＪＰＥＧ２０００方式に係るプレシンクト分割を模式的に表した図である。図７において、７０１の部分は、元の画像において同領域の部分を周波数変換したものであり、これらの部分は同じプレシンクトに属しているという。
【００２０】
６０２のコードブロック分割は、プレシンクトをコードブロックと呼ばれるさらに小さな領域に分割する処理である。図８はＪＰＥＧ２０００方式に係るコードブロック分割を表した模式図である。このコードブロック単位がエントロピー符号化を行う際の基本単位である。
【００２１】
６０３のビットプレーン分割は、各コードブロックについて、線形量子化された離散ウェーブレット変換の変換係数をビットごとに展開する処理である。図９はＪＰＥＧ２０００方式に係るビットプレーン分割を表した模式図である。
【００２２】
図９において、９０１は、あるコードブロックにおける、線形量子化された離散ウェーブレット変換の変換係数を例示したものである。９０２は、変換係数９０１の符号を表すビット列であり、値０は正値、値１は負値を意味する。９０３は、変換係数９０１の絶対値をＭＳＢ（Most Significant Bit）からＬＳＢ（Least Significant Bit）に２値展開したビットプレーンである。
【００２３】
例えば、値が＋１２の変換係数（９０４）は正値であるため、対応する符号ビットは０（９０５）である。また、＋１２の絶対値１２の２進数表現は（１１００）であるため、ビットプレーンの対応する箇所９０６ａ乃至９０６ｄの値はそれぞれ「１」「１」「０」「０」となる。同様に、値が−６の変換係数（９０７）は負値であるため、対応する符号ビットは１（９０８）である。また、−６の絶対値６の２進数表現は（０１１０）であるため、ビットプレーンの対応する箇所９０９ａ乃至９０９ｄの値はそれぞれ「０」「１」「１」「０」となる。
【００２４】
ＭＳＢ側ですべて０であるビットプレーンをゼロビットプレーンといい、データは保存されない一方、コードブロック毎に、後述のゼロビットプレーン枚数がカウントされる。
【００２５】
６０４のコーディングパスへの分割は、ビットプレーンをさらにｓｉｇｎｉｇｉｃａｎｃｅ  ｐｒｏｐａｇａｔｉｏｎパスと、ｍａｇｎｉｔｕｄｅ  ｒｅｆｉｎｅｍｅｎｔパスと、ｃｌｅａｎｕｐパスに分割する処理である。図１０はＪＰＥＧ２０００方式に係るコーディングパスへの分割を表した模式図である。
【００２６】
図１０のように、各ビットプレーン１００１ａ乃至１００１ｄ（以下、これらをまとめて１００１と称する）は、コーディングパスへの分割により、それぞれｓｉｇｎｉｆｉｃａｎｃｅ  ｐｒｏｐａｇａｔｉｏｎパス１００２ｂ乃至１００２ｄ（以下、これらをまとめて１００２と称する）、ｍａｇｎｉｔｕｄｅ  ｒｅｆｉｎｅｍｅｎｔパス１００３ｂ乃至１００３ｄ（以下、これらをまとめて１００３と称する）、ｃｌｅａｎｕｐパス（１００４ｂ乃至１００４ｄ）のコーディングパスに分割される。ただし、最上位ビット（ＭＳＢ側）のビットプレーン１００１ａは、ｃｌｅａｎｕｐパス（１００４ａ）にのみ対応させる。以下、ｃｌｅａｎｕｐパス１００４ａ乃至１００４ｄをまとめて１００４と称する。
【００２７】
各ビットプレーン１００１、及び、各コーディングパス１００２乃至１００４は、すべて縦横方向の座標長によるサイズが等しい。また、各コーディングパス１００２乃至１００４にはビット値が定義された位置と定義されていない位置とが存在する。図１０においては、例えば、１００６、１００７のように、ビット値が定義された位置には網掛け（斜線）が施されている。そして、コーディングパス１００２乃至１００４（例えば、１００２ｂ乃至１００４ｂ）の網掛けの部分に定義されたビット値は、分割前のビットプレーン１００１（例えば１００１ｂ）上の対応する位置におけるビット値と等しい。
【００２８】
ビットプレーンをコーディングパスに分割する処理は、以下の（処理１）（処理２）に基づいて実行する。
【００２９】
（処理１）最上位ビット（ＭＳＢ側）のビットプレーンについて、対応するｃｌｅａｎｕｐパスを生成する。最上位ビットのビットプレーンに対応するｃｌｅａｎｕｐパスは、全ての位置において最上位ビットのビットプレーンと同じビット値が定義されている。例えば、ビットプレーン１００１ａについて、全ての位置においてビットプレーン１００１ａと同じビット値が定義されたｃｌｅａｎｕｐパス１００４ａを生成する。
【００３０】
（処理２）２番目に上位のビットプレーンから順に、２番目以降の全てのビットプレーンについて以下の（処理ａ）乃至（処理ｃ）の処理を行う。
【００３１】
（処理ａ）ｓｉｇｎｉｆｉｃａｎｃｅ  ｐｒｏｐａｇａｔｉｏｎパスの生成
処理対象のビットプレーンよりも上位のビットプレーンのいずれかにおいて、ビット値１が定義されている位置の、周囲に対応する位置にビット値が定義された、ｓｉｇｎｉｆｉｃａｎｃｅ  ｐｒｏｐａｇａｔｉｏｎパスを生成する。例えば、ビットプレーン１００１ｂについて（処理ａ）を行う場合、ビットプレーン１００１ｂよりも上位であるビットプレーン１００１ａにおいて、１００５の位置にビット値１が定義されているため、１００５の周囲に対応する位置１００６にビット値を定義したｓｉｇｎｉｆｉｃａｎｃｅ  ｐｒｏｐａｇａｔｉｏｎパス１００２ｂを生成する。位置１００６に定義されるビット値は、ビットプレーン１００１ｂにおける同じ位置のビット値と等しい。
【００３２】
（処理ｂ）ｍａｇｎｉｔｕｄｅ  ｒｅｆｉｎｅｍｅｎｔパスの生成
処理対象のビットプレーンよりも上位のビットプレーンのいずれかにおいて、ビット値１が定義されている位置に対応する位置にビット値が定義された、ｍａｇｎｉｔｕｄｅ  ｒｅｆｉｎｅｍｅｎｔパスを生成する。例えば、ビットプレーン１００１ｂについて（処理ｂ）を行う場合、ビットプレーン１００１ｂよりも上位であるビットプレーン１００１ａにおいて、１００５の位置にビット値１が定義されているため、１００５に対応する位置１００７にビット値を定義したｍａｇｎｉｔｕｄｅ  ｒｅｆｉｎｅｍｅｎｔパス１００３ｂを生成する。位置１００７に定義されるビット値は、ビットプレーン１００１ｂにおける同じ位置のビット値と等しい。
【００３３】
（処理ｃ）ｃｌｅａｎｕｐパスの生成
ｓｉｇｎｉｆｉｃａｎｃｅ  ｐｒｏｐａｇａｔｉｏｎパス、及び、ｍａｇｎｉｔｕｄｅ  ｒｅｆｉｎｅｍｅｎｔパスにおいて、ビット値が定義された位置以外の全ての位置にビット値が定義された、ｃｌｅａｎｕｐパスを生成する。例えば、ビットプレーン１００１ｂについて（処理ｃ）を行う場合、１００２ｂにおいてビット値が定義された位置１００６、及び、１００３ｂにおいてビット値が定義された位置１００７以外の全ての位置にビット値が定義された、ｃｌｅａｎｕｐパス１００４ｂを生成する。ｃｌｅａｎｕｐパス１００４ｂにおいて定義されるビット値は、ビットプレーン１００１ｂにおける同じ位置のビット値と等しい。
【００３４】
図１０の例において、ビットプレーン１００１ｃ、１００１ｄも（処理２）を繰り返すことによってコーディングパスに分割する。
【００３５】
コーディングパスは１個以上のレイヤに分配される。図１１はＪＰＥＧ２０００方式に係るレイヤ分割を表した模式図である。図１１で示すように、レイヤは各コードブロックの各コーディングパスの境界で分割分配される。各コーディングパスを伝送した場合の符号量増加と画質改善度から効率を判断してレイヤ分割分配されるのが一般的である。
【００３６】
６０５の二値算術符号化は、コーディングパス分割後のデータを算術符号化する処理である。
【００３７】
以上のようにして、エントロピー符号化４０４を行った後、４０５にてファイルにデータを書き込むためのビットストリームの形成を行う。レイヤ階層、解像度レベル（離散ウェーブレット変換の分解レベル）、コンポーネント、位置（プレシンクト）が同じデータがまとまって、一つのパケットを構成する。更に、パケットには、パケット長がゼロ（空のパケット）か否かを表すゼロ長パケット、現コードブロックがすでにそれ以前のレイヤ内のパケットに包含されているかを表すコードブロックの包含、ゼロビットプレーンの数、コーディングパスの数、コードブロックの圧縮画像データの長さからなるパケットヘッダが含まれる。
【００３８】
レイヤ階層数×解像度レベル数×コンポーネント数×プレシンクト数個のパケットが集まることによって、一つのタイルの画像が表現される。それらのパケットを図１２（ａ）のようにすべてまとめて一つのタイルパートとしてもよいし、図１２（ｂ）のように複数のタイルパートに分割してもよい。図１２のようにタイルパートの先頭にはタイルパートヘッダが付く。
【００３９】
さらに図１３で示すように、タイルパートを並べることによって、一つの画像を表現する。図１３はＪＰＥＧ２０００方式に係るタイルパートの並びを示した模式図である。タイルパートは、図１３（ａ）のように画像のタイルの順序で並べてもよいし、図１３（ｂ）のように優先したいタイルから順に並べてもよい。また、タイルを複数のタイルパートに分割した場合は、タイルパートは図１３（ｃ）のように並べられる。
【００４０】
〔情報処理装置のハードウェア構成〕
本実施形態に係るサーバ・クライアントシステムにおいて、サーバ、クライアントは、それぞれパーソナルコンピュータ（ＰＣ）やワークステーション（ＷＳ）、或いは、携帯情報端末（ＰＤＡ）等の情報処理装置で実現される。次に、サーバ、クライアントとして動作する情報処理装置のハードウェア構成について、図１を参照して説明する。図１は本実施形態に係る情報処理装置のハードウェア構成を示したブロック図である。
【００４１】
図１において、１０１はＣＰＵであり、本実施形態に係る情報処理装置の各種制御を実行する。１０２はＲＯＭであり、情報処理装置の立ち上げ時に実行されるブートプログラムや各種データを格納する。１０３はＲＡＭであり、ＣＰＵ１０１が処理するための制御プログラムを格納するとともに、ＣＰＵ１０１が各種制御を実行する際の作業領域を提供する。
【００４２】
１０４はキーボード、１０５はマウスであり、ユーザによる各種入力操作環境を提供する。１０６は外部記憶装置であり、ハードディスクやフロッピー（登録商標）ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等で構成される。
【００４３】
１０７は表示器であり、処理の内容や処理結果を表示してユーザに伝達する。１０８はネットワークインターフェースであり、ネットワーク上の各機器（不図示）との通信を可能とする。１０９はＩＥＥＥ１３９４、ＵＳＢなどのインターフェース（Ｉ／Ｆ）であり、スキャナ１１０やデジタルカメラ１１１などの機器と通信を行う。また、１１２は上記の各構成を接続するバスである。以上のようなシステムがネットワークを介して複数接続され、サーバ・クライアントシステムが構成される。
【００４４】
尚、以上の各装置と同等の機能を実現するソフトウェアにより、ハードウェア装置の代替として構成することもできる。
【００４５】
本実施形態では、外部記憶装置１０６から本実施形態に係るプログラム及び関連データを直接ＲＡＭ１０３にロードして実行させる例を示すが、これに限られない。例えば、本実施形態に係るプログラムをＲＯＭ１０２に記録しておき、これをメモリマップの一部をなすように構成し、直接ＣＰＵ１０１で実行することも可能である。
【００４６】
また、本実施形態では、説明の便宜のため、本実施形態に係る情報処理装置（サーバ、クライアント）をそれぞれ１つの装置で実現した構成について述べるが、複数の装置にリソースを分散した構成によって実現してもよい。例えば、記憶や演算のリソースを複数の装置に分散した形に構成してもよい。或いは、情報処理装置上で仮想的に実現される構成要素毎にリソースを分散し、並列処理を行うようにしてもよい。
【００４７】
〔サーバ・クライアントシステムの機能構成〕
図２は本実施形態に係るサーバ・クライアントシステムの機能構成を示したブロック図である。図２に示される各機能ブロックは、図１を参照して上述した情報処理装置のＣＰＵ１０１がＲＡＭ１０３にロードされたプログラムを実行し、図１に示される各ハードウェアと協働することによって実現される。もちろん機能ブロックの一部或いは全てが専用のハードウェアで実現されてもよい。
【００４８】
図２において、２０１はクライアントに備えられた画像指定部であり、送信要求を行う階層符号化された画像の指定をユーザから受け付け、受け付けた対象画像指定をサーバへ送出する。
【００４９】
２０２はサーバに備えられた画像蓄積部であり、サーバの外部記憶装置１０６上に存在し、画像データを格納して記憶する。
【００５０】
２０３はサーバに備えられた画像データ読込部であり、クライアントの画像指定部２０１から送出された対象画像指定を受信し、指定された対象画像を画像蓄積部２０２から読み込む。
【００５１】
２０４はサーバに備えられた画像ヘッダ読込部であり、画像データ読込部２０３で読み込まれた画像データのヘッダ部の読込を行う。
【００５２】
２０５はサーバに備えられた画像種類判別部であり、画像ヘッダ読込部２０４で読み込まれた画像ヘッダ部を解析し、画像の種類を判別する。画像の種類を判別する処理の詳細は後述する。
【００５３】
２０６はクライアントに備えられた画像種類優先度指定部であり、画像種類の優先度の指定をユーザから受け付け、受け付けた画像種類優先度指定をサーバへ送出する。画像種類の優先度とは、どのような種類の画像を優先的に送受信するかを指定する情報であり、サーバは優先度の高い種類の画像を優先的に送出する。
【００５４】
２０７はサーバに備えられた画像データ変換部であり、クライアントの画像種類優先度指定部２０６にから指定された画像種類優先度に従って、画像種類判別部２０５の判別結果に基づいた画像データの並べ替えを行う。この処理の詳細は後述する。
【００５５】
２０８はサーバに備えられた画像データ送信部であり、画像データ変換部２０７により配列が変換された画像データを順次クライアントへ送信する。
【００５６】
２０９はクライアントに備えられた画像データ受信部であり、画像データ送信部２０８から送信された画像データを順次受信する。
【００５７】
２１０はクライアントに備えられた画像データ逆符号化部であり、画像データ受信部２０９により受信された画像データを順次逆符号化、即ち、画像データを復号化する処理を行う。
【００５８】
２１１はクライアントに備えられた画像表示部であり、画像データ逆符号化部２１０により逆符号化された画像データを表示器１０７に順次表示する。
【００５９】
２１２はクライアントに備えられたデータ送信中止要求部であり、ユーザからデータ送信中止が指示された場合、サーバに対しデータ送信中止要求を送信する。
【００６０】
２１３はサーバに備えられたデータ送信中止要求受信部であり、データ送信中止要求部２１２からデータ送信中止要求を受信した場合、画像データ変換部２０７および画像データ送信部２０８に対し、データ変換・送信中止指定を出し、データの変換および送信を中止するように制御する。
【００６１】
以上のような構成を備えた本実施形態のサーバ・クライアントシステムの動作例を以下に説明する。
【００６２】
〔画像送受信処理〕
次に、サーバ及びクライアントが実行する、画像送受信処理について図１４を参照して説明する。図１４は、本実施形態の構成に係る画像送受信処理の流れを示したフローチャートである。
【００６３】
まず、ステップＳ１４０１において、クライアント側で、ユーザによる対象画像の指定を受け付ける。クライアントは、選択しうる対象画像の識別情報を表示器１０７に表示し、キーボード１０４、マウス１０５等からの入力を受け付ける。ユーザにより対象画像の指定が行われると、クライアントはサーバへ対象画像指定を送出する。
【００６４】
次に、ステップＳ１４０２において、サーバはクライアントから送出された対象画像指定を受信し、画像蓄積部２０２から対象画像の読み込みを行う。
【００６５】
次に、ステップＳ１４０３において、サーバはステップＳ１４０２で読み込んだ対象画像について、画像ヘッダの読み込みを行う。
【００６６】
次に、ステップＳ１４０４において、サーバはステップＳ１４０２により読み込まれた画像ヘッダの解析を行い、画像種類判別を行う。画像種類判別処理の詳細は後述する。
【００６７】
次に、ステップＳ１４０５にて、クライアントは、ユーザから画像種類優先度の指定を受け付ける。本実施形態では、画像種類優先度は、「写真画像領域優先」もしくは「文字画像・グラフィック画像優先」のいずれかが指定されるものとする。クライアントはユーザから画像種類優先度の指定を受け付けると、指定された画像種類優先度指定をサーバへ送出する。
【００６８】
次に、ステップＳ１４０６では、サーバは、クライアントから受信した画像種類優先度指定と、ステップＳ１４０３の画像種類判別の結果に基づいて、画像データ並べ替えのプランを作成する。図１５は本実施形態の構成に係る画像データ並び替えプラン作成について説明する図である。
【００６９】
図１５（ａ）は、元画像データにおけるタイル並びの順にタイルパートが並んでいる画像データの例である。この図では、タイルパートが６種類あり、タイルパート１、２、５、６の画像種類判別結果が文字画像・グラフィック画像であり、タイルパート３、４の画像種類判別結果が写真画像である。「写真画像優先」が指定された場合は、図１５（ｂ）で示すように、写真画像と判別されたタイルパート３、４を先に送信するようプランする。「文字画像・グラフィック画像優先」が指定された場合は、図１５（ｃ）で示すように、文字画像・グラフィック画像と判別されたタイルパート１、２、５、６を先に送信するようプランする。
【００７０】
次に、ステップＳ１４０７では、サーバは、画像データ並び替えプランの最初のタイルパートを着目タイルパートに設定する。例えば、図１５（ａ）の画像データについて、「写真画像優先」が指定された場合は、図１５（ｂ）の先頭タイルである、タイルパート３を注目タイルパートに設定する。「文字画像・グラフィック画像優先」が指定された場合は、タイルパート１を注目タイルパートに設定する。
【００７１】
次に、ステップＳ１４０８において、サーバは、データ送信中止指令がクライアントから受信しているか否かを判定する。送信中止指令を受信している場合（ステップＳ１４０８でＹＥＳ）は処理を終了し、受信していない場合（ステップＳ１４０８でＮＯ）はステップＳ１４０９に進む。
【００７２】
ステップＳ１４０９において、サーバは、着目タイルパートを画像データから抽出する。
【００７３】
次に、ステップＳ１４１０において、サーバは、ステップＳ１４０９において抽出した着目タイルパートをクライアントに送信する。
【００７４】
次に、ステップＳ１４１１において、クライアントは受信した着目タイルパートを逆符号化する。
【００７５】
次に、ステップＳ１４１２において、クライアントは、ステップＳ１４１１において逆符号化したタイルパートを表示器１０７に表示する。
【００７６】
次に、ステップＳ１４１３にて、サーバは、次のタイルパートを着目タイルパートに設定する。例えば、図１５（ａ）の画像データを、「写真画像優先」の指定に基づいて送出する場合は、タイルパート３の次にタイルパート４を注目タイルパートに設定する。同様に、「文字画像・グラフィック画像優先」の指定に基づいて送出する場合は、タイルパート１の次にタイルパート２を注目タイルパートに設定する。
【００７７】
次に、ステップＳ１４１４にて、全タイルパートの送信が終了していれば処理を終了し、終了していない場合はステップＳ１４０８に戻る。
【００７８】
以上のように、サーバは、画像ファイルの画像データ全域を読み取ることなく、ヘッダ部分に書かれている情報のみを読み込み、ヘッダ情報のみを解析するため、少ないメモリ使用量で高速に画像種類判別を行うことができる。また、画像種類判別の結果に基づいて、必要とする画像の種類の部分から順に画像データを転送することができる。
【００７９】
〔画像種類判別処理〕
次に、ステップＳ１４０４においてサーバが実行する画像種類判別処理について説明する。
【００８０】
画像種類判別処理は、画像が保存されたときに分割されたタイル単位で、画像の種類（本実施形態の例では、写真（自然）画像であるか、文字画像・グラフィック画像であるか）を判別する処理である。画像種類は、パケットヘッダに書かれている、コーディングパスの数、コードブロックの圧縮画像データの長さ、ゼロビットプレーンの数等の符号化情報のうち、少なくともいずれかの情報に基づいて判断する。
【００８１】
コーディングパスの数により画像種類判別する場合は、低周波成分（図５（ｃ）の２ＬＬ）におけるコーディングパスの総数と高周波成分（図５（ｃ）の１ＨＬ、１ＬＨ、１ＨＨ）におけるコーディングパスの総数を比較する。低周波成分におけるコーディングパスの総数に対する、高周波成分におけるコーディングパスの総数の割合が所定の値を超えている場合は文字画像・グラフィック画像であり、低周波成分におけるコーディングパスの総数に対する、高周波成分におけるコーディングパスの総数の割合が所定の値を下回っている場合は自然画像であると判別する。
【００８２】
ビットプレーンのレイヤ枚数が複数枚である場合は、レイヤごとにコーディングパスの数を算出し、判別してもよい。その場合は、最上位レイヤのコーディングパスの数を利用することによって、より精度の高い判別が可能となる。
【００８３】
コードブロックの圧縮画像データの長さ（圧縮画像データ長）により画像種類判別する場合は、低周波成分（図５（ｃ）の２ＬＬ）におけるコードブロックの圧縮画像データの長さと高周波成分（図５（ｃ）の１ＨＬ、１ＬＨ、１ＨＨ）におけるコードブロックの圧縮画像データの長さを比較する。低周波成分におけるコードブロックの圧縮画像データの長さに対する、高周波成分におけるコードブロックの圧縮画像データの長さの割合が所定の値を超えている場合は自然画像であり、低周波成分におけるコードブロックの圧縮画像データの長さに対する、高周波成分におけるコードブロックの圧縮画像データの長さの割合が所定の値を下回っている場合は文字画像・グラフィック画像であると判別する。
【００８４】
ゼロビットプレーンの数により画像種類判別する場合は、高周波成分（図５（ｃ）の１ＨＬ、１ＬＨ、１ＨＨ）におけるゼロビットプレーンの数が所定の値を超えている場合は自然画像であり、高周波成分（図５（ｃ）の１ＨＬ、１ＬＨ、１ＨＨ）におけるゼロビットプレーンの数が所定の値を下回っている場合は文字画像・グラフィック画像であると判別する。
【００８５】
上記の、コーディングパスの数、コードブロックの圧縮画像データの長さ、ゼロビットプレーンの数等の符号化情報のうち、少なくともいずれかの情報に基づく手法は、一定の精度で画像種類を判別することが可能であることが経験的に知られている。
【００８６】
〔その他の実施の形態〕
上記の実施形態では、画像をタイルパートごとに受信し、その表示中にユーザ操作により受信の中止をしていたが、写真画像部分、もしくは、文字画像・グラフィック画像部分のみを送信した時点で自動的に送信を中断するということも可能であり、複数の画像の写真画像部分のみを画面に表示させたり、必要な画像のみ文字画像・グラフィック画像部分も含めたすべてを表示させたりすることも可能である。
【００８７】
また、上記の実施形態は、表示についての例であるが、これを画像検索に応用し、写真画像部分のみを受信してマッチングを行い、所定の類似度を越えた場合にのみ文字画像・グラフィック画像部分のマッチングを行うということも可能である。
【００８８】
なお、本発明は、例えばホストコンピュータ，インタフェイス機器，リーダ，プリンタなどの複数の機器から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用してもよい。
【００８９】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【００９０】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００９１】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００９２】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９３】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００９４】
【図１】本実施形態に係る情報処理装置のハードウェア構成を示したブロック図である。
【図２】本実施形態に係るサーバ・クライアントシステムの機能構成を示したブロック図である。
【図３】ＪＰＥＧ２０００画像のタイル分割を模式的に示した図である。
【図４】ＪＰＥＧ２０００方式に係るエンコード処理手順を示した図である。
【図５】ＪＰＥＧ２０００方式に係る離散ウェーブレット変換を示した模式図である。
【図６】ＪＰＥＧ２０００方式に係るエントロピー符号化手順を示した図である。
【図７】ＪＰＥＧ２０００方式に係るプレシンクト分割を模式的に表した図である。
【図８】ＪＰＥＧ２０００方式に係るコードブロック分割を表した模式図である。
【図９】ＪＰＥＧ２０００方式に係るビットプレーン分割を表した模式図である。
【図１０】ＪＰＥＧ２０００方式に係るコーディングパスへの分割を表した模式図である。
【図１１】ＪＰＥＧ２０００方式に係るレイヤ分割を表した模式図である。
【図１２】ＪＰＥＧ２０００方式に係るタイルパートの構成を示した模式図である。
【図１３】ＪＰＥＧ２０００方式に係るタイルパートの並びを示した模式図である。
【図１４】本実施形態の構成に係る画像送受信処理の流れを示したフローチャートである。
【図１５】本実施形態の構成に係る画像データ並び替えプラン作成について説明する図である。
【図１】
2007019744.tif 000003
【図２】
2007019744.tif 000004
【図３】
2007019744.tif 000005
【図４】
2007019744.tif 000006
【図５】
2007019744.tif 000007
【図６】
2007019744.tif 000008
【図７】
2007019744.tif 000009
【図８】
2007019744.tif 000010
【図９】
2007019744.tif 000011
【図１０】
2007019744.tif 000012
【図１１】
2007019744.tif 000013
【図１２】
2007019744.tif 000014
【図１３】
2007019744.tif 000015
【図１４】
2007019744.tif 000016
【図１５】
2007019744.tif 000017