JP2007019744A - サーバ装置及びその制御方法、クライアント装置及びその制御方法、コンピュータプログラム、記憶媒体 - Google Patents
サーバ装置及びその制御方法、クライアント装置及びその制御方法、コンピュータプログラム、記憶媒体 Download PDFInfo
- Publication number
- JP2007019744A JP2007019744A JP2005197823A JP2005197823A JP2007019744A JP 2007019744 A JP2007019744 A JP 2007019744A JP 2005197823 A JP2005197823 A JP 2005197823A JP 2005197823 A JP2005197823 A JP 2005197823A JP 2007019744 A JP2007019744 A JP 2007019744A
- Authority
- JP
- Japan
- Prior art keywords
- image
- tile
- image data
- tiles
- server
- 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.)
- Withdrawn
Links
Images
Landscapes
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
【課題】 画像データの種類を判別し、判別結果に基づいて重要性の高い部分から順に画像データを転送する技術を提供する。
【解決手段】 本発明によれば、1以上のタイルから構成された画像データを記憶する記憶手段であって、該タイルは当該タイルの符号化についての符号化情報を含むヘッダを少なくとも含む、記憶手段と、前記符号化情報に基づいて前記タイル毎の画像種類を判別する判別手段と、前記画像データについて画像種類の指定を受け付ける受付手段と、前記判別手段において前記画像種類が判別された前記タイルのそれぞれを、受け付けた前記画像種類の指定に従って配列する配列手段と、前記タイルを、前記配列に従って外部装置へ送出する送出手段と、を備え、前記タイルは複数の周波数成分毎に分割されていることを特徴とするサーバ装置が提供される。
【選択図】 図2
【解決手段】 本発明によれば、1以上のタイルから構成された画像データを記憶する記憶手段であって、該タイルは当該タイルの符号化についての符号化情報を含むヘッダを少なくとも含む、記憶手段と、前記符号化情報に基づいて前記タイル毎の画像種類を判別する判別手段と、前記画像データについて画像種類の指定を受け付ける受付手段と、前記判別手段において前記画像種類が判別された前記タイルのそれぞれを、受け付けた前記画像種類の指定に従って配列する配列手段と、前記タイルを、前記配列に従って外部装置へ送出する送出手段と、を備え、前記タイルは複数の周波数成分毎に分割されていることを特徴とするサーバ装置が提供される。
【選択図】 図2
Description
本発明は階層符号化された画像データを送信する技術に関する。
近年のコンピュータの高性能化、ハードディスクドライブ(HDD)等の記憶装置やメモリの大容量化、デジタルカメラ、デジタルビデオ、スキャナ、プリンタ、複合機(MFP)、デジタル複写機といった画像を入出力する装置の普及および高性能化に伴い、デジタル画像を扱う機会が多くなっている。また、高速インターネット回線の普及により、それらの画像を送受信することも稀ではなくなっている。HDDを備えるMFPやデジタル複写機、コンピュータ等は、画像サーバとして使用されていることもある。
そのような背景により、扱っているデジタル画像は、高精細化かつ大量化の一途をたどっている。高精細化により、1つ1つのデータサイズは大きくなる傾向にあり、JPEGやJPEG2000といった高画質を保ったまま高い圧縮率を備えた画像圧縮伸張アルゴリズムが必須となり、標準化されている。また、大量化に伴う問題を解決するために、画像検索アルゴリズムが提案されている。
また、画像をネットワークを介してサーバとクライアント間で送受信する手法が知られている。特許文献1では、クライアントがサーバに対し、階層符号化データのデータ態様を示すデータ態様識別情報を含む要求データを送信し、サーバはデータ態様識別情報に対応するデータを抽出、生成しクライアントに送信する技術が開示されている。
また、画像をネットワークを介してサーバとクライアント間で送受信する際に、画像の種類の判別を行う手法が知られている。特許文献2では、画像データのヒストグラムを作成し、その頻度の分布に偏りがある場合には2値画像と判別し、偏りが無い場合には自然画像と判別する手法が開示されている。また、特許文献3では、注目画素とその近傍の周辺画素との相関が強い場合にはコンピュータグラフィックス画像と判別し、注目画素と周辺画素との相関が弱い場合には自然画像と判別する手法が開示されている。また、特許文献4では、画像データの色数が1つの場合には単色画像と判別し、色数が少ない場合にはパレット画像と判別し、色数が多い場合には自然画像と判別する手法が開示されている。
特開2004−192140号公報
特開2000−222564号公報
特開2002−15327号公報
特開平11−88700号公報
しかしながら、上記特許文献1に開示された技術においては、データ態様識別情報が示すデータ態様は、画像の内容に基づいたものではなく、画像のデータ構造に基づいていた。このため、画像の内容に基づいた要求、例えば、画像中のグラフィック部分のデータを先に表示するため、その部分を先に受信したい、というような要求に応えることができなかった。
また、上記特許文献2乃至4に開示された画像判別の手法では、いずれも画像の画素値を読み込み、解析して、画像の種類を判別していたため、画像データを読み込むためのメモリを要し、かつ、画像データを解析するための時間を要していた。
本発明は上記の問題点に鑑みてなされたものであり、画像データの種類を判別し、判別結果に基づいて重要性の高い部分から順に画像データを転送する技術を提供することを目的とする。
本発明によれば、
1以上のタイルから構成された画像データを記憶する記憶手段であって、該タイルは当該タイルの符号化についての符号化情報を含むヘッダを少なくとも含む、記憶手段と、
前記符号化情報に基づいて前記タイル毎の画像種類を判別する判別手段と、
前記画像データについて画像種類の指定を受け付ける受付手段と、
前記判別手段において前記画像種類が判別された前記タイルのそれぞれを、受け付けた前記画像種類の指定に従って配列する配列手段と、
前記タイルを、前記配列に従って外部装置へ送出する送出手段と、を備え、
前記タイルは複数の周波数成分毎に分割されていることを特徴とするサーバ装置が提供される。
1以上のタイルから構成された画像データを記憶する記憶手段であって、該タイルは当該タイルの符号化についての符号化情報を含むヘッダを少なくとも含む、記憶手段と、
前記符号化情報に基づいて前記タイル毎の画像種類を判別する判別手段と、
前記画像データについて画像種類の指定を受け付ける受付手段と、
前記判別手段において前記画像種類が判別された前記タイルのそれぞれを、受け付けた前記画像種類の指定に従って配列する配列手段と、
前記タイルを、前記配列に従って外部装置へ送出する送出手段と、を備え、
前記タイルは複数の周波数成分毎に分割されていることを特徴とするサーバ装置が提供される。
本発明によれば、画像データの種類を判別し、判別結果に基づいて重要性の高い部分から順に画像データを転送する技術を提供することができる。
以下、添付図面を参照して本発明に係る実施の形態を詳細に説明する。ただし、この実施の形態に記載されている構成要素はあくまでも例示であり、本発明の範囲をそれらのみに限定する趣旨のものではない。
〔JPEG2000フォーマットについて〕
本実施の形態は、階層化アルゴリズムにしたがって圧縮符号化された画像ファイルフォーマットの一つとして、JPEG2000アルゴリズムを利用するものである。このため、まず、JPEG2000フォーマットについて説明する。JPEG2000アルゴリズムは各種文献により周知のものであるため、ここでは、本実施形態に関係のある部分の概要についてのみ説明する。
本実施の形態は、階層化アルゴリズムにしたがって圧縮符号化された画像ファイルフォーマットの一つとして、JPEG2000アルゴリズムを利用するものである。このため、まず、JPEG2000フォーマットについて説明する。JPEG2000アルゴリズムは各種文献により周知のものであるため、ここでは、本実施形態に関係のある部分の概要についてのみ説明する。
画像をJPEG2000フォーマットで保存する際は、タイルと呼ばれる同サイズの長方形に画像を分割できる。図3は、JPEG2000画像のタイル分割を模式的に示した図である。
それぞれのタイルについて、図4に示すように、色変換、離散ウェーブレット変換、量子化、エントロピー符号化、ビットストリーム形成の順で圧縮符号化が行われる。図4は、JPEG2000アルゴリズムに係るエンコード処理手順を示した図である。
図4において、401の色変換は、R(赤)、G(緑)、B(青)からなるRGB等の表色系から、YCbCr等の表色系へコンポーネントの変換を行う処理である。
402の離散ウェーブレット変換は、401において色変換が行われた画像を、離散ウェーブレット変換を用いて周波数空間に分解する処理である。図5は、JPEG2000方式に係る離散ウェーブレット変換を示した模式図である。(a)のタイル画像(0LL)に対して、離散ウェーブレット変換を施し、サブバンド1LL、1HL、1LH、1HHに分解する(b)。引き続き、低周波成分1LLに対し、離散ウェーブレット変換を施し、サブバンド2LL、2HL、2LH、2HHに分解する(c)。本例では、2レベルの変換を行っているが、離散ウェーブレット変換の回数は特に制限されるものではない。
403の量子化は、離散ウェーブレット変換の変換係数を線形量子化する処理である。
404のエントロピー符号化は、図6に示すように、プレシンクト分割、コードブロック分割、ビットプレーン分割、コーディングパスへの分割、二値算術符号化の順で符号化を行う処理である。図6は、JPEG2000方式に係るエントロピー符号化手順を示した図である。
図6に置いて、601のプレシンクト分割は、2HL、2LHといったサブバンドの係数を、プレシンクトと呼ばれる領域に分割する部分である。図7はJPEG2000方式に係るプレシンクト分割を模式的に表した図である。図7において、701の部分は、元の画像において同領域の部分を周波数変換したものであり、これらの部分は同じプレシンクトに属しているという。
602のコードブロック分割は、プレシンクトをコードブロックと呼ばれるさらに小さな領域に分割する処理である。図8はJPEG2000方式に係るコードブロック分割を表した模式図である。このコードブロック単位がエントロピー符号化を行う際の基本単位である。
603のビットプレーン分割は、各コードブロックについて、線形量子化された離散ウェーブレット変換の変換係数をビットごとに展開する処理である。図9はJPEG2000方式に係るビットプレーン分割を表した模式図である。
図9において、901は、あるコードブロックにおける、線形量子化された離散ウェーブレット変換の変換係数を例示したものである。902は、変換係数901の符号を表すビット列であり、値0は正値、値1は負値を意味する。903は、変換係数901の絶対値をMSB(Most Significant Bit)からLSB(Least Significant Bit)に2値展開したビットプレーンである。
例えば、値が+12の変換係数(904)は正値であるため、対応する符号ビットは0(905)である。また、+12の絶対値12の2進数表現は(1100)であるため、ビットプレーンの対応する箇所906a乃至906dの値はそれぞれ「1」「1」「0」「0」となる。同様に、値が−6の変換係数(907)は負値であるため、対応する符号ビットは1(908)である。また、−6の絶対値6の2進数表現は(0110)であるため、ビットプレーンの対応する箇所909a乃至909dの値はそれぞれ「0」「1」「1」「0」となる。
MSB側ですべて0であるビットプレーンをゼロビットプレーンといい、データは保存されない一方、コードブロック毎に、後述のゼロビットプレーン枚数がカウントされる。
604のコーディングパスへの分割は、ビットプレーンをさらにsignigicance propagationパスと、magnitude refinementパスと、cleanupパスに分割する処理である。図10はJPEG2000方式に係るコーディングパスへの分割を表した模式図である。
図10のように、各ビットプレーン1001a乃至1001d(以下、これらをまとめて1001と称する)は、コーディングパスへの分割により、それぞれsignificance propagationパス1002b乃至1002d(以下、これらをまとめて1002と称する)、magnitude refinementパス1003b乃至1003d(以下、これらをまとめて1003と称する)、cleanupパス(1004b乃至1004d)のコーディングパスに分割される。ただし、最上位ビット(MSB側)のビットプレーン1001aは、cleanupパス(1004a)にのみ対応させる。以下、cleanupパス1004a乃至1004dをまとめて1004と称する。
各ビットプレーン1001、及び、各コーディングパス1002乃至1004は、すべて縦横方向の座標長によるサイズが等しい。また、各コーディングパス1002乃至1004にはビット値が定義された位置と定義されていない位置とが存在する。図10においては、例えば、1006、1007のように、ビット値が定義された位置には網掛け(斜線)が施されている。そして、コーディングパス1002乃至1004(例えば、1002b乃至1004b)の網掛けの部分に定義されたビット値は、分割前のビットプレーン1001(例えば1001b)上の対応する位置におけるビット値と等しい。
ビットプレーンをコーディングパスに分割する処理は、以下の(処理1)(処理2)に基づいて実行する。
(処理1)最上位ビット(MSB側)のビットプレーンについて、対応するcleanupパスを生成する。最上位ビットのビットプレーンに対応するcleanupパスは、全ての位置において最上位ビットのビットプレーンと同じビット値が定義されている。例えば、ビットプレーン1001aについて、全ての位置においてビットプレーン1001aと同じビット値が定義されたcleanupパス1004aを生成する。
(処理2)2番目に上位のビットプレーンから順に、2番目以降の全てのビットプレーンについて以下の(処理a)乃至(処理c)の処理を行う。
(処理a)significance propagationパスの生成
処理対象のビットプレーンよりも上位のビットプレーンのいずれかにおいて、ビット値1が定義されている位置の、周囲に対応する位置にビット値が定義された、significance propagationパスを生成する。例えば、ビットプレーン1001bについて(処理a)を行う場合、ビットプレーン1001bよりも上位であるビットプレーン1001aにおいて、1005の位置にビット値1が定義されているため、1005の周囲に対応する位置1006にビット値を定義したsignificance propagationパス1002bを生成する。位置1006に定義されるビット値は、ビットプレーン1001bにおける同じ位置のビット値と等しい。
処理対象のビットプレーンよりも上位のビットプレーンのいずれかにおいて、ビット値1が定義されている位置の、周囲に対応する位置にビット値が定義された、significance propagationパスを生成する。例えば、ビットプレーン1001bについて(処理a)を行う場合、ビットプレーン1001bよりも上位であるビットプレーン1001aにおいて、1005の位置にビット値1が定義されているため、1005の周囲に対応する位置1006にビット値を定義したsignificance propagationパス1002bを生成する。位置1006に定義されるビット値は、ビットプレーン1001bにおける同じ位置のビット値と等しい。
(処理b)magnitude refinementパスの生成
処理対象のビットプレーンよりも上位のビットプレーンのいずれかにおいて、ビット値1が定義されている位置に対応する位置にビット値が定義された、magnitude refinementパスを生成する。例えば、ビットプレーン1001bについて(処理b)を行う場合、ビットプレーン1001bよりも上位であるビットプレーン1001aにおいて、1005の位置にビット値1が定義されているため、1005に対応する位置1007にビット値を定義したmagnitude refinementパス1003bを生成する。位置1007に定義されるビット値は、ビットプレーン1001bにおける同じ位置のビット値と等しい。
処理対象のビットプレーンよりも上位のビットプレーンのいずれかにおいて、ビット値1が定義されている位置に対応する位置にビット値が定義された、magnitude refinementパスを生成する。例えば、ビットプレーン1001bについて(処理b)を行う場合、ビットプレーン1001bよりも上位であるビットプレーン1001aにおいて、1005の位置にビット値1が定義されているため、1005に対応する位置1007にビット値を定義したmagnitude refinementパス1003bを生成する。位置1007に定義されるビット値は、ビットプレーン1001bにおける同じ位置のビット値と等しい。
(処理c)cleanupパスの生成
significance propagationパス、及び、magnitude refinementパスにおいて、ビット値が定義された位置以外の全ての位置にビット値が定義された、cleanupパスを生成する。例えば、ビットプレーン1001bについて(処理c)を行う場合、1002bにおいてビット値が定義された位置1006、及び、1003bにおいてビット値が定義された位置1007以外の全ての位置にビット値が定義された、cleanupパス1004bを生成する。cleanupパス1004bにおいて定義されるビット値は、ビットプレーン1001bにおける同じ位置のビット値と等しい。
significance propagationパス、及び、magnitude refinementパスにおいて、ビット値が定義された位置以外の全ての位置にビット値が定義された、cleanupパスを生成する。例えば、ビットプレーン1001bについて(処理c)を行う場合、1002bにおいてビット値が定義された位置1006、及び、1003bにおいてビット値が定義された位置1007以外の全ての位置にビット値が定義された、cleanupパス1004bを生成する。cleanupパス1004bにおいて定義されるビット値は、ビットプレーン1001bにおける同じ位置のビット値と等しい。
図10の例において、ビットプレーン1001c、1001dも(処理2)を繰り返すことによってコーディングパスに分割する。
コーディングパスは1個以上のレイヤに分配される。図11はJPEG2000方式に係るレイヤ分割を表した模式図である。図11で示すように、レイヤは各コードブロックの各コーディングパスの境界で分割分配される。各コーディングパスを伝送した場合の符号量増加と画質改善度から効率を判断してレイヤ分割分配されるのが一般的である。
605の二値算術符号化は、コーディングパス分割後のデータを算術符号化する処理である。
以上のようにして、エントロピー符号化404を行った後、405にてファイルにデータを書き込むためのビットストリームの形成を行う。レイヤ階層、解像度レベル(離散ウェーブレット変換の分解レベル)、コンポーネント、位置(プレシンクト)が同じデータがまとまって、一つのパケットを構成する。更に、パケットには、パケット長がゼロ(空のパケット)か否かを表すゼロ長パケット、現コードブロックがすでにそれ以前のレイヤ内のパケットに包含されているかを表すコードブロックの包含、ゼロビットプレーンの数、コーディングパスの数、コードブロックの圧縮画像データの長さからなるパケットヘッダが含まれる。
レイヤ階層数×解像度レベル数×コンポーネント数×プレシンクト数個のパケットが集まることによって、一つのタイルの画像が表現される。それらのパケットを図12(a)のようにすべてまとめて一つのタイルパートとしてもよいし、図12(b)のように複数のタイルパートに分割してもよい。図12のようにタイルパートの先頭にはタイルパートヘッダが付く。
さらに図13で示すように、タイルパートを並べることによって、一つの画像を表現する。図13はJPEG2000方式に係るタイルパートの並びを示した模式図である。タイルパートは、図13(a)のように画像のタイルの順序で並べてもよいし、図13(b)のように優先したいタイルから順に並べてもよい。また、タイルを複数のタイルパートに分割した場合は、タイルパートは図13(c)のように並べられる。
〔情報処理装置のハードウェア構成〕
本実施形態に係るサーバ・クライアントシステムにおいて、サーバ、クライアントは、それぞれパーソナルコンピュータ(PC)やワークステーション(WS)、或いは、携帯情報端末(PDA)等の情報処理装置で実現される。次に、サーバ、クライアントとして動作する情報処理装置のハードウェア構成について、図1を参照して説明する。図1は本実施形態に係る情報処理装置のハードウェア構成を示したブロック図である。
本実施形態に係るサーバ・クライアントシステムにおいて、サーバ、クライアントは、それぞれパーソナルコンピュータ(PC)やワークステーション(WS)、或いは、携帯情報端末(PDA)等の情報処理装置で実現される。次に、サーバ、クライアントとして動作する情報処理装置のハードウェア構成について、図1を参照して説明する。図1は本実施形態に係る情報処理装置のハードウェア構成を示したブロック図である。
図1において、101はCPUであり、本実施形態に係る情報処理装置の各種制御を実行する。102はROMであり、情報処理装置の立ち上げ時に実行されるブートプログラムや各種データを格納する。103はRAMであり、CPU101が処理するための制御プログラムを格納するとともに、CPU101が各種制御を実行する際の作業領域を提供する。
104はキーボード、105はマウスであり、ユーザによる各種入力操作環境を提供する。106は外部記憶装置であり、ハードディスクやフロッピー(登録商標)ディスク、CD−ROM、DVD−ROM等で構成される。
107は表示器であり、処理の内容や処理結果を表示してユーザに伝達する。108はネットワークインターフェースであり、ネットワーク上の各機器(不図示)との通信を可能とする。109はIEEE1394、USBなどのインターフェース(I/F)であり、スキャナ110やデジタルカメラ111などの機器と通信を行う。また、112は上記の各構成を接続するバスである。以上のようなシステムがネットワークを介して複数接続され、サーバ・クライアントシステムが構成される。
尚、以上の各装置と同等の機能を実現するソフトウェアにより、ハードウェア装置の代替として構成することもできる。
本実施形態では、外部記憶装置106から本実施形態に係るプログラム及び関連データを直接RAM103にロードして実行させる例を示すが、これに限られない。例えば、本実施形態に係るプログラムをROM102に記録しておき、これをメモリマップの一部をなすように構成し、直接CPU101で実行することも可能である。
また、本実施形態では、説明の便宜のため、本実施形態に係る情報処理装置(サーバ、クライアント)をそれぞれ1つの装置で実現した構成について述べるが、複数の装置にリソースを分散した構成によって実現してもよい。例えば、記憶や演算のリソースを複数の装置に分散した形に構成してもよい。或いは、情報処理装置上で仮想的に実現される構成要素毎にリソースを分散し、並列処理を行うようにしてもよい。
〔サーバ・クライアントシステムの機能構成〕
図2は本実施形態に係るサーバ・クライアントシステムの機能構成を示したブロック図である。図2に示される各機能ブロックは、図1を参照して上述した情報処理装置のCPU101がRAM103にロードされたプログラムを実行し、図1に示される各ハードウェアと協働することによって実現される。もちろん機能ブロックの一部或いは全てが専用のハードウェアで実現されてもよい。
図2は本実施形態に係るサーバ・クライアントシステムの機能構成を示したブロック図である。図2に示される各機能ブロックは、図1を参照して上述した情報処理装置のCPU101がRAM103にロードされたプログラムを実行し、図1に示される各ハードウェアと協働することによって実現される。もちろん機能ブロックの一部或いは全てが専用のハードウェアで実現されてもよい。
図2において、201はクライアントに備えられた画像指定部であり、送信要求を行う階層符号化された画像の指定をユーザから受け付け、受け付けた対象画像指定をサーバへ送出する。
202はサーバに備えられた画像蓄積部であり、サーバの外部記憶装置106上に存在し、画像データを格納して記憶する。
203はサーバに備えられた画像データ読込部であり、クライアントの画像指定部201から送出された対象画像指定を受信し、指定された対象画像を画像蓄積部202から読み込む。
204はサーバに備えられた画像ヘッダ読込部であり、画像データ読込部203で読み込まれた画像データのヘッダ部の読込を行う。
205はサーバに備えられた画像種類判別部であり、画像ヘッダ読込部204で読み込まれた画像ヘッダ部を解析し、画像の種類を判別する。画像の種類を判別する処理の詳細は後述する。
206はクライアントに備えられた画像種類優先度指定部であり、画像種類の優先度の指定をユーザから受け付け、受け付けた画像種類優先度指定をサーバへ送出する。画像種類の優先度とは、どのような種類の画像を優先的に送受信するかを指定する情報であり、サーバは優先度の高い種類の画像を優先的に送出する。
207はサーバに備えられた画像データ変換部であり、クライアントの画像種類優先度指定部206にから指定された画像種類優先度に従って、画像種類判別部205の判別結果に基づいた画像データの並べ替えを行う。この処理の詳細は後述する。
208はサーバに備えられた画像データ送信部であり、画像データ変換部207により配列が変換された画像データを順次クライアントへ送信する。
209はクライアントに備えられた画像データ受信部であり、画像データ送信部208から送信された画像データを順次受信する。
210はクライアントに備えられた画像データ逆符号化部であり、画像データ受信部209により受信された画像データを順次逆符号化、即ち、画像データを復号化する処理を行う。
211はクライアントに備えられた画像表示部であり、画像データ逆符号化部210により逆符号化された画像データを表示器107に順次表示する。
212はクライアントに備えられたデータ送信中止要求部であり、ユーザからデータ送信中止が指示された場合、サーバに対しデータ送信中止要求を送信する。
213はサーバに備えられたデータ送信中止要求受信部であり、データ送信中止要求部212からデータ送信中止要求を受信した場合、画像データ変換部207および画像データ送信部208に対し、データ変換・送信中止指定を出し、データの変換および送信を中止するように制御する。
以上のような構成を備えた本実施形態のサーバ・クライアントシステムの動作例を以下に説明する。
〔画像送受信処理〕
次に、サーバ及びクライアントが実行する、画像送受信処理について図14を参照して説明する。図14は、本実施形態の構成に係る画像送受信処理の流れを示したフローチャートである。
次に、サーバ及びクライアントが実行する、画像送受信処理について図14を参照して説明する。図14は、本実施形態の構成に係る画像送受信処理の流れを示したフローチャートである。
まず、ステップS1401において、クライアント側で、ユーザによる対象画像の指定を受け付ける。クライアントは、選択しうる対象画像の識別情報を表示器107に表示し、キーボード104、マウス105等からの入力を受け付ける。ユーザにより対象画像の指定が行われると、クライアントはサーバへ対象画像指定を送出する。
次に、ステップS1402において、サーバはクライアントから送出された対象画像指定を受信し、画像蓄積部202から対象画像の読み込みを行う。
次に、ステップS1403において、サーバはステップS1402で読み込んだ対象画像について、画像ヘッダの読み込みを行う。
次に、ステップS1404において、サーバはステップS1402により読み込まれた画像ヘッダの解析を行い、画像種類判別を行う。画像種類判別処理の詳細は後述する。
次に、ステップS1405にて、クライアントは、ユーザから画像種類優先度の指定を受け付ける。本実施形態では、画像種類優先度は、「写真画像領域優先」もしくは「文字画像・グラフィック画像優先」のいずれかが指定されるものとする。クライアントはユーザから画像種類優先度の指定を受け付けると、指定された画像種類優先度指定をサーバへ送出する。
次に、ステップS1406では、サーバは、クライアントから受信した画像種類優先度指定と、ステップS1403の画像種類判別の結果に基づいて、画像データ並べ替えのプランを作成する。図15は本実施形態の構成に係る画像データ並び替えプラン作成について説明する図である。
図15(a)は、元画像データにおけるタイル並びの順にタイルパートが並んでいる画像データの例である。この図では、タイルパートが6種類あり、タイルパート1、2、5、6の画像種類判別結果が文字画像・グラフィック画像であり、タイルパート3、4の画像種類判別結果が写真画像である。「写真画像優先」が指定された場合は、図15(b)で示すように、写真画像と判別されたタイルパート3、4を先に送信するようプランする。「文字画像・グラフィック画像優先」が指定された場合は、図15(c)で示すように、文字画像・グラフィック画像と判別されたタイルパート1、2、5、6を先に送信するようプランする。
次に、ステップS1407では、サーバは、画像データ並び替えプランの最初のタイルパートを着目タイルパートに設定する。例えば、図15(a)の画像データについて、「写真画像優先」が指定された場合は、図15(b)の先頭タイルである、タイルパート3を注目タイルパートに設定する。「文字画像・グラフィック画像優先」が指定された場合は、タイルパート1を注目タイルパートに設定する。
次に、ステップS1408において、サーバは、データ送信中止指令がクライアントから受信しているか否かを判定する。送信中止指令を受信している場合(ステップS1408でYES)は処理を終了し、受信していない場合(ステップS1408でNO)はステップS1409に進む。
ステップS1409において、サーバは、着目タイルパートを画像データから抽出する。
次に、ステップS1410において、サーバは、ステップS1409において抽出した着目タイルパートをクライアントに送信する。
次に、ステップS1411において、クライアントは受信した着目タイルパートを逆符号化する。
次に、ステップS1412において、クライアントは、ステップS1411において逆符号化したタイルパートを表示器107に表示する。
次に、ステップS1413にて、サーバは、次のタイルパートを着目タイルパートに設定する。例えば、図15(a)の画像データを、「写真画像優先」の指定に基づいて送出する場合は、タイルパート3の次にタイルパート4を注目タイルパートに設定する。同様に、「文字画像・グラフィック画像優先」の指定に基づいて送出する場合は、タイルパート1の次にタイルパート2を注目タイルパートに設定する。
次に、ステップS1414にて、全タイルパートの送信が終了していれば処理を終了し、終了していない場合はステップS1408に戻る。
以上のように、サーバは、画像ファイルの画像データ全域を読み取ることなく、ヘッダ部分に書かれている情報のみを読み込み、ヘッダ情報のみを解析するため、少ないメモリ使用量で高速に画像種類判別を行うことができる。また、画像種類判別の結果に基づいて、必要とする画像の種類の部分から順に画像データを転送することができる。
〔画像種類判別処理〕
次に、ステップS1404においてサーバが実行する画像種類判別処理について説明する。
次に、ステップS1404においてサーバが実行する画像種類判別処理について説明する。
画像種類判別処理は、画像が保存されたときに分割されたタイル単位で、画像の種類(本実施形態の例では、写真(自然)画像であるか、文字画像・グラフィック画像であるか)を判別する処理である。画像種類は、パケットヘッダに書かれている、コーディングパスの数、コードブロックの圧縮画像データの長さ、ゼロビットプレーンの数等の符号化情報のうち、少なくともいずれかの情報に基づいて判断する。
コーディングパスの数により画像種類判別する場合は、低周波成分(図5(c)の2LL)におけるコーディングパスの総数と高周波成分(図5(c)の1HL、1LH、1HH)におけるコーディングパスの総数を比較する。低周波成分におけるコーディングパスの総数に対する、高周波成分におけるコーディングパスの総数の割合が所定の値を超えている場合は文字画像・グラフィック画像であり、低周波成分におけるコーディングパスの総数に対する、高周波成分におけるコーディングパスの総数の割合が所定の値を下回っている場合は自然画像であると判別する。
ビットプレーンのレイヤ枚数が複数枚である場合は、レイヤごとにコーディングパスの数を算出し、判別してもよい。その場合は、最上位レイヤのコーディングパスの数を利用することによって、より精度の高い判別が可能となる。
コードブロックの圧縮画像データの長さ(圧縮画像データ長)により画像種類判別する場合は、低周波成分(図5(c)の2LL)におけるコードブロックの圧縮画像データの長さと高周波成分(図5(c)の1HL、1LH、1HH)におけるコードブロックの圧縮画像データの長さを比較する。低周波成分におけるコードブロックの圧縮画像データの長さに対する、高周波成分におけるコードブロックの圧縮画像データの長さの割合が所定の値を超えている場合は自然画像であり、低周波成分におけるコードブロックの圧縮画像データの長さに対する、高周波成分におけるコードブロックの圧縮画像データの長さの割合が所定の値を下回っている場合は文字画像・グラフィック画像であると判別する。
ゼロビットプレーンの数により画像種類判別する場合は、高周波成分(図5(c)の1HL、1LH、1HH)におけるゼロビットプレーンの数が所定の値を超えている場合は自然画像であり、高周波成分(図5(c)の1HL、1LH、1HH)におけるゼロビットプレーンの数が所定の値を下回っている場合は文字画像・グラフィック画像であると判別する。
上記の、コーディングパスの数、コードブロックの圧縮画像データの長さ、ゼロビットプレーンの数等の符号化情報のうち、少なくともいずれかの情報に基づく手法は、一定の精度で画像種類を判別することが可能であることが経験的に知られている。
〔その他の実施の形態〕
上記の実施形態では、画像をタイルパートごとに受信し、その表示中にユーザ操作により受信の中止をしていたが、写真画像部分、もしくは、文字画像・グラフィック画像部分のみを送信した時点で自動的に送信を中断するということも可能であり、複数の画像の写真画像部分のみを画面に表示させたり、必要な画像のみ文字画像・グラフィック画像部分も含めたすべてを表示させたりすることも可能である。
上記の実施形態では、画像をタイルパートごとに受信し、その表示中にユーザ操作により受信の中止をしていたが、写真画像部分、もしくは、文字画像・グラフィック画像部分のみを送信した時点で自動的に送信を中断するということも可能であり、複数の画像の写真画像部分のみを画面に表示させたり、必要な画像のみ文字画像・グラフィック画像部分も含めたすべてを表示させたりすることも可能である。
また、上記の実施形態は、表示についての例であるが、これを画像検索に応用し、写真画像部分のみを受信してマッチングを行い、所定の類似度を越えた場合にのみ文字画像・グラフィック画像部分のマッチングを行うということも可能である。
なお、本発明は、例えばホストコンピュータ,インタフェイス機器,リーダ,プリンタなどの複数の機器から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機,ファクシミリ装置など)に適用してもよい。
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
Claims (12)
- 1以上のタイルから構成された画像データを記憶する記憶手段であって、該タイルは当該タイルの符号化についての符号化情報を含むヘッダを少なくとも含む、記憶手段と、
前記符号化情報に基づいて前記タイル毎の画像種類を判別する判別手段と、
前記画像データについて画像種類の指定を受け付ける受付手段と、
前記判別手段において前記画像種類が判別された前記タイルのそれぞれを、受け付けた前記画像種類の指定に従って配列する配列手段と、
前記タイルを、前記配列に従って外部装置へ送出する送出手段と、を備え、
前記タイルは複数の周波数成分毎に分割されていることを特徴とするサーバ装置。 - 前記受付手段は前記外部装置から前記指定を受け付けることを特徴とする請求項1に記載のサーバ装置。
- 前記符号化情報は、前記タイルを構成する前記複数の周波数成分のうち、低周波成分における第1のコーディングパス数と、高周波成分における第2のコーディングパス数と、を含み、
前記判別手段は、前記第1のコーディングパス数と前記第2のコーディングパス数との比率に基づいて前記判別を行うことを特徴とする請求項1又は2に記載のサーバ装置。 - 前記符号化情報は、前記タイルを構成する前記複数の周波数成分のうち、低周波成分における第1の圧縮画像データ長と、高周波成分における第2の圧縮画像データ長と、を含み、
前記判別手段は、前記第1の圧縮画像データ長と前記第2の圧縮画像データ長との比率に基づいて前記判別を行うことを特徴とする請求項1又は2に記載のサーバ装置。 - 前記符号化情報は、前記タイルを構成する前記複数の周波数成分のうち、高周波成分におけるゼロビットプレーン数であり、
前記判別手段は、前記ゼロビットプレーン数の大きさに基づいて前記判別を行うことを特徴とする請求項1又は2に記載のサーバ装置。 - 前記画像種類は、少なくとも文字画像及びグラフィック画像のいずれかと、自然画と、の少なくともいずれかであることを特徴とする請求項1乃至5のいずれか1項に記載のサーバ装置。
- 前記画像データは、JPEG2000方式に基づく符号化データであることを特徴とする請求項1乃至6のいずれか1項に記載のサーバ装置。
- 請求項1乃至7のいずれか1項に記載のサーバ装置に、前記画像データの送信要求と、前記画像種類を指定する情報と、を送信する送信手段と、
前記送出手段により送出された前記送信要求に対応する前記画像データを構成するタイルを受信する受信手段と、
前記受信手段において受信した前記タイルについて、表示手段への表示、及び、画像の比較の、少なくともいずれかに利用する制御手段と、を備えることを特徴とするクライアント装置。 - 1以上のタイルから構成された画像データを記憶する記憶手段であって、該タイルは当該タイルの符号化についての符号化情報を含むヘッダを少なくとも含む、記憶手段を備えたサーバ装置の制御方法であって、
前記符号化情報に基づいて前記タイル毎の画像種類を判別する判別工程と、
前記画像データについて画像種類の指定を受け付ける受付工程と、
前記判別工程において前記画像種類が判別された前記タイルのそれぞれを、受け付けた前記画像種類の指定に従って配列する配列工程と、
前記タイルを、前記配列に従って外部装置へ送出する送出工程と、を備え、
前記タイルは複数の周波数成分毎に分割されていることを特徴とするサーバ装置の制御方法。 - 請求項1乃至7のいずれか1項に記載のサーバ装置に、前記画像データの送信要求と、前記画像種類を指定する情報と、を送信する送信工程と、
前記送出工程において送出された前記送信要求に対応する前記画像データを構成するタイルを受信する受信工程と、
前記受信工程において受信した前記タイルについて、表示手段への表示、及び、画像の比較の、少なくともいずれかに利用する制御工程と、を備えることを特徴とするクライアント装置の制御方法。 - コンピュータを、請求項1乃至7のいずれかに記載のサーバ装置、又は、請求項8に記載のクライアント装置として機能させるためのコンピュータプログラム。
- 請求項11に記載のコンピュータプログラムを格納したコンピュータで読み取り可能な記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005197823A JP2007019744A (ja) | 2005-07-06 | 2005-07-06 | サーバ装置及びその制御方法、クライアント装置及びその制御方法、コンピュータプログラム、記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005197823A JP2007019744A (ja) | 2005-07-06 | 2005-07-06 | サーバ装置及びその制御方法、クライアント装置及びその制御方法、コンピュータプログラム、記憶媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007019744A true JP2007019744A (ja) | 2007-01-25 |
Family
ID=37756521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005197823A Withdrawn JP2007019744A (ja) | 2005-07-06 | 2005-07-06 | サーバ装置及びその制御方法、クライアント装置及びその制御方法、コンピュータプログラム、記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007019744A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008244539A (ja) * | 2007-03-26 | 2008-10-09 | Ricoh Co Ltd | クライアント・サーバシステム |
JP2011147120A (ja) * | 2010-01-18 | 2011-07-28 | Ntt Docomo Inc | スケーラブル映像を優先度に応じて伝送する方法及びその装置 |
-
2005
- 2005-07-06 JP JP2005197823A patent/JP2007019744A/ja not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008244539A (ja) * | 2007-03-26 | 2008-10-09 | Ricoh Co Ltd | クライアント・サーバシステム |
JP2011147120A (ja) * | 2010-01-18 | 2011-07-28 | Ntt Docomo Inc | スケーラブル映像を優先度に応じて伝送する方法及びその装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4111926B2 (ja) | 画像処理装置、プログラム、記憶媒体及び画像送信方法 | |
US8150179B2 (en) | Image processing apparatus | |
JP4064196B2 (ja) | クライアントコンピュータ、サーバコンピュータ、プログラム、記憶媒体、画像データ処理システム及び画像データ処理方法 | |
JP4111268B2 (ja) | サムネイル画像の表示方法、サーバコンピュータ、クライアントコンピュータ及びプログラム | |
US7602973B2 (en) | Image processing apparatus, program, recording medium, and image editing method | |
US20080134070A1 (en) | Image processing apparatus and image processing method | |
JP2008140361A (ja) | 画像処理装置、または画像処理方法 | |
JP4089905B2 (ja) | 画像処理装置、画像処理方法、プログラム及び情報記録媒体 | |
US7733511B2 (en) | Image processing system | |
JP2007005844A (ja) | 符号化処理装置、符号化処理方法、プログラム及び情報記録媒体 | |
JP2007019744A (ja) | サーバ装置及びその制御方法、クライアント装置及びその制御方法、コンピュータプログラム、記憶媒体 | |
US20100202025A1 (en) | Image processing apparatus, image processing method, program, and storage medium | |
US7373000B2 (en) | Image processing apparatus | |
JP2004227406A (ja) | 画像処理装置、プログラム及び記憶媒体 | |
JP4052952B2 (ja) | 画像処理装置、画像処理方法、プログラム及び記憶媒体 | |
AU2009212933A1 (en) | Methods of storing and retrieving images | |
JP4732251B2 (ja) | 符号変換装置およびプログラム | |
JP4323178B2 (ja) | 検索対象制限装置、画像処理装置、プログラム、記憶媒体及び検索対象制限方法 | |
JP2007018174A (ja) | 情報処理装置及びその制御方法、コンピュータプログラム、記憶媒体 | |
JP2006086579A (ja) | 画像処理装置、プログラム、及び記憶媒体 | |
JP3961966B2 (ja) | 不要部除去装置、画像処理装置、プログラム、記憶媒体及び不要部除去方法 | |
JP2006195817A (ja) | 画像検索装置及びその制御方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体 | |
JP2004236230A (ja) | 画像処理装置、プログラム及び記憶媒体 | |
JP4520499B2 (ja) | 画像処理装置、画像処理用プログラム及び記憶媒体 | |
JP2007228418A (ja) | 情報処理装置及びその制御方法、画像処理システム、コンピュータプログラム、記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20081007 |