(57)【要約】【課題】書類画像を処理するための方法及び装置を提供すること。【解決手段】一形態では、本方法は、２以上のコードストリームを含むファイルから、１以上のオブジェクトに対応する１以上の特徴の少なくとも１つをデコードせずに抽出するステップと、  アプリケーションで実行されるタスクに及び抽出された１以上の特徴に基づいて書類オブジェクトをランキングするステップと、ランク及び少なくとも１つの制約に基づいて一群の書類オブジェクトを選択するステップとを有する方法である。【選択図】図１
2007235961.tif 000002
【特許請求の範囲】
【請求項１】
２以上のコードストリームを含むファイルから、１以上のオブジェクトに対応する１以上の特徴の少なくとも１つをデコードせずに抽出するステップと、
アプリケーションで実行されるタスクに及び抽出された１以上の特徴に基づいて書類オブジェクトをランキングするステップと、
ランク及び少なくとも１つの制約に基づいて一群の書類オブジェクトを選択するステップと、
を有する方法。
【請求項２】
１以上の特徴を抽出するステップが、複数の圧縮タイプを有する前記ファイルの空間ビット割当を決定するステップを有し、書類オブジェクトのランキングは前記空間ビット割当に基づく請求項１記載の方法。
【請求項３】
前記ファイルがJPM又はPDFファイルで構成される請求項２記載の方法。
【請求項４】
１以上の特徴を抽出するステップが、どのコードストリームもデコードせずに、圧縮されたファイル中の複数のオブジェクトの各々について圧縮タイプ及びオブジェクトロケーションを決定するステップを有する請求項１記載の方法。
【請求項５】
複数のオブジェクトの各々について圧縮タイプ及びオブジェクトロケーションを決定するステップが、前記ファイル中のヘッダデータに基づく請求項４記載の方法。
【請求項６】
複数の圧縮タイプの少なくとも２つについてビット割当を別様に重み付けするステップを更に有する請求項４記載の方法。
【請求項７】
前記ファイルが或るページの各オブジェクトについて座標変換行列と共にPDFファイルで構成され、境界ボックスの各々についてビット割当を作成するステップを更に有する請求項１記載の方法。
【請求項８】
境界ボックスの各々についてビット割当を作成するステップが、或るページの個々のオブジェクトを表現するための平均バイト数を表す指標を生成するステップを有する請求項７記載の方法。
【請求項９】
前記ファイルがJPMファイルであり、１以上の特徴を抽出する前記ステップが、
前記JPMファイルから構造情報を読み取り、
解像度を選択し、
各ページの全オブジェクトのマスク及び画像コードストリームの影響を受ける領域で、前記ビット割当マップについて選択された解像度のビット割当を決定することで、
前記JPMファイルのビット割当マップを生成するステップを有する請求項１記載の方法。
【請求項１０】
前記構造情報が、ページ幅、ページ高さ、圧縮タイプ、境界ボックス()、レンダリング順序、コードストリーム長、レイアウトオブジェクト数、オブジェクトタイプ(マスク、イメージ又は双方)、ノーコードストリームフラグ、データリファレンス番号、及びファイル先頭からの対応するコードストリームボックスのオフセットの内の１つ以上を含む請求項９記載の方法。
【請求項１１】
１以上の特徴を抽出するステップが、圧縮タイプに基づいてオブジェクトを分類するステップを更に有する請求項９記載の方法。
【請求項１２】
１以上の特徴を抽出するステップが、レンダリング中にオブジェクトがスキップされた場合に、再構築されるページへの視覚的影響の指標を抽出するステップを有し、オブジェクトのランキングが前記指標に基づく請求項９記載の方法。
【請求項１３】
前記書類オブジェクトのランキングが、表示されるべき表示領域とオブジェクトとの重複に基づく請求項１記載の方法。
【請求項１４】
前記書類オブジェクトのランキングが、各オブジェクトの二乗平均誤差(MSE)指標に基づき、前記MSE指標は、表示されるべき前記表示領域と重複するオブジェクトの部分についてだけ重み付けされたMSEである請求項１記載の方法。
【請求項１５】
前記書類オブジェクトのランキングが、特定の内容に関心のあることを指定するキーワードに基づく請求項１記載の方法。
【請求項１６】
前記書類オブジェクトのランキングが、オブジェクトについての或るタイプのメタデータの存在に基づく請求項１記載の方法。
【請求項１７】
前記書類オブジェクトのランキングが前記ファイルのメタデータに基づき、該メタデータは、クライアントにとって関心のあるオブジェクトを示すメタデータ、MSE情報、現在の表示ウインドウまでのオブジェクトの近接度を含む群中の１以上を有する請求項１記載の方法。
【請求項１８】
前記書類オブジェクトのランキングが、読み取り順序に基づく請求項１記載の方法。
【請求項１９】
前記書類オブジェクトのランキングが、表示されるべき表示領域の中で１以上のオブジェクトが前記ファイル中の１以上の他のオブジェクトと重複するか否かに基づく請求項１記載の方法。
【請求項２０】
一群のオブジェクト中のオブジェクトのコードストリームを要求に応答して品質を最大にする順序で配信するステップを更に有する請求項１記載の方法。
【請求項２１】
一群の書類オブジェクトを選択するステップが、前記少なくとも１つの制約に適合するまで、最高ランクのオブジェクトを選択するステップを有する請求項１記載の方法。
【請求項２２】
前記一群の書類オブジェクトを新たなアプリケーション固有の圧縮ファイルとして格納するステップを更に有する請求項１記載の方法。
【請求項２３】
前記一群のオブジェクトをデコードするステップと、
デコードした一群のオブジェクトをレンダリングするステップと、
を更に有する請求項１記載の方法。
【請求項２４】
２以上のコードストリームを含むファイルから、１以上のオブジェクトに対応する１以上の特徴の少なくとも１つをデコードせずに抽出する手段と、
アプリケーションで実行されるタスクに及び抽出された１以上の特徴に基づいて書類オブジェクトをランキングする手段と、
ランク及び少なくとも１つの制約に基づいて一群の書類オブジェクトを選択する手段と、
を有する情報処理装置。
【請求項２５】
１以上の特徴を抽出する手段が、複数の圧縮タイプを有する前記ファイルの空間ビット割当を決定する手段を有し、書類オブジェクトのランキングは前記空間ビット割当に基づく請求項２４記載の情報処理装置。
【請求項２６】
前記ファイルがJPM又はPDFファイルで構成される請求項２５記載の情報処理装置。
【請求項２７】
１以上の特徴を抽出する手段が、どのコードストリームもデコードせずに、圧縮されたファイル中の複数のオブジェクトの各々について圧縮タイプ及びオブジェクトロケーションを決定する手段を有する請求項２４記載の情報処理装置。
【請求項２８】
複数のオブジェクトの各々について圧縮タイプ及びオブジェクトロケーションを決定する手段が、前記ファイル中のヘッダデータに基づく請求項２７記載の情報処理装置。
【請求項２９】
複数の圧縮タイプの少なくとも２つについてビット割当を別様に重み付けする手段を更に有する請求項２７記載の情報処理装置。
【請求項３０】
前記ファイルが或るページの各オブジェクトについて座標変換行列と共にPDFファイルで構成され、境界ボックスの各々についてビット割当を作成する手段を更に有する請求項２４記載の情報処理装置。
【請求項３１】
境界ボックスの各々についてビット割当を作成する手段が、或るページの個々のオブジェクトを表現するための平均バイト数を表す指標を生成する手段を有する請求項３０記載の情報処理装置。
【請求項３２】
前記ファイルがJPMファイルであり、１以上の特徴を抽出する前記手段が、
前記JPMファイルから構造情報を読み取り、
解像度を選択し、
各ページの全オブジェクトのマスク及び画像コードストリームの影響を受ける領域で、前記ビット割当マップについて選択された解像度のビット割当を決定することで、
前記JPMファイルのビット割当マップを生成する手段を有する請求項２４記載の情報処理装置。
【請求項３３】
前記構造情報が、ページ幅、ページ高さ、圧縮タイプ、境界ボックス()、レンダリング順序、コードストリーム長、レイアウトオブジェクト数、オブジェクトタイプ(マスク、イメージ又は双方)、ノーコードストリームフラグ、データリファレンス番号、及びファイル先頭からの対応するコードストリームボックスのオフセットの内の１つ以上を含む請求項３２記載の情報処理装置。
【請求項３４】
１以上の特徴を抽出する手段が、圧縮タイプに基づいてオブジェクトを分類する手段を更に有する請求項３２記載の情報処理装置。
【請求項３５】
１以上の特徴を抽出する手段が、レンダリング中にオブジェクトがスキップされた場合に、再構築されるページへの視覚的影響の指標を抽出する手段を有し、オブジェクトのランキングが前記指標に基づく請求項３２記載の情報処理装置。
【請求項３６】
前記書類オブジェクトのランキングが、表示されるべき表示領域とオブジェクトとの重複に基づく請求項２４記載の情報処理装置。
【請求項３７】
前記書類オブジェクトのランキングが、各オブジェクトの二乗平均誤差(MSE)指標に基づき、前記MSE指標は、表示されるべき前記表示領域と重複するオブジェクトの部分についてだけ重み付けされたMSEである請求項２４記載の情報処理装置。
【請求項３８】
前記書類オブジェクトのランキングが、特定の内容に関心のあることを指定するキーワードに基づく請求項２４記載の情報処理装置。
【請求項３９】
前記書類オブジェクトのランキングが、オブジェクトについての或るタイプのメタデータの存在に基づく請求項２４記載の情報処理装置。
【請求項４０】
前記書類オブジェクトのランキングが前記ファイルのメタデータに基づき、該メタデータは、クライアントにとって関心のあるオブジェクトを示すメタデータ、MSE情報、現在の表示ウインドウまでのオブジェクトの近接度を含む群中の１以上を有する請求項２４記載の情報処理装置。
【請求項４１】
前記書類オブジェクトのランキングが、読み取り順序に基づく請求項２４記載の情報処理装置。
【請求項４２】
前記書類オブジェクトのランキングが、表示されるべき表示領域の中で１以上のオブジェクトが前記ファイル中の１以上の他のオブジェクトと重複するか否かに基づく請求項２４記載の情報処理装置。
【請求項４３】
一群のオブジェクト中のオブジェクトのコードストリームを要求に応答して品質を最大にする順序で配信する手段を更に有する請求項２４記載の情報処理装置。
【請求項４４】
一群の書類オブジェクトを選択する手段が、前記少なくとも１つの制約に適合するまで、最高ランクのオブジェクトを選択する手段を有する請求項２４記載の情報処理装置。
【請求項４５】
前記一群の書類オブジェクトを新たなアプリケーション固有の圧縮ファイルとして格納する手段を更に有する請求項２４記載の情報処理装置。
【請求項４６】
前記一群のオブジェクトをデコードする手段と、
デコードした一群のオブジェクトをレンダリングする手段と、
を更に有する請求項２４記載の情報処理装置。
【請求項４７】
２以上のコードストリームを含むファイルから、１以上のオブジェクトに対応する１以上の特徴の少なくとも１つをデコードせずに抽出するステップと、
アプリケーションで実行されるタスクに及び抽出された１以上の特徴に基づいて書類オブジェクトをランキングするステップと、
ランク及び少なくとも１つの制約に基づいて一群の書類オブジェクトを選択するステップと、
をコンピュータに実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に画像処理に関連し、特に本発明は圧縮データ画像オブジェクトの特徴を抽出すること、オブジェクトを並べ替えること及び圧縮された表現の一部を配信することに関連する。
【背景技術】
【０００２】
JPEG2000は最新技術による連続階調画像コーディングシステムである。ビットプレーンコーディングが続くウェーブレット変換技術により、JPEG2000は一般に離散コサイン変換ベースのJPEGコーディングシステムよりも優れたレート歪パフォーマンスをもたらす。しかしながらJPEG2000の実際的な利点は様々な解像度によるアクセス、損失の多いものから損失のないものへ進展すること、関心のある領域へのアクセス及び有色コンポーネントへのアクセスのような特徴である。
【０００３】
JPM規格は「情報技術−JPEG2000画像コーディングシステム−パート6:複合画像ファイルフォーマット，ISO/IEC15444-6:2002」に記載されており、ISOから入手可能である。JPEG2000パート6(JPM)は書類の視覚的外観を表現するよう意図されたファイルフォーマットである。JPMは混合したラスタコンテンツ(MRC:  Mixed  Raster  Content)データを格納するのに効率的な手法をもたらす。JPMは適切な圧縮器を用いることで優れた圧縮を行うことができる。JPMは複数ページを１つのファイルに格納することを可能にする。JPMは外部ファイルに対するリファレンスも許容する。ファイルは、何百ページにもなるかもしれないし或いは非常に高い解像度の画像かもしれないので大きくなる可能性がある。かくてJPMフォーマットの効率的な利用には、ファイルの一部を抽出する機能や特定の制約の下で再収集できることを要する。例えば、500ページの書類の最初の数ページの画像解像度形式を抽出することや、クライアントの関心に応じてファイルの一部を抽出ることが有用であるかもしれない。コンピュータネットワーク及びパーソナルコンピュータ装置の進歩により、書類データベースへのネットワークアクセスは益々重要になっている。
【０００４】
JPEG2000パート9(JPIP)はJPEG2000画像のインタラクティブ通信用の規格である。それはISO規格で定められている(情報技術−JPEG2000画像コーディングシステム−パート9:インタラクティブツール、API及びプロトコル、ISO/IEC15444-9:2004)。JPIPはクライアントにより要求される解像度で領域がネットワークを介して伝送されることを許容する。以前に送信されたデータは反復されない点で、データの追加要求は効率的である。JPIPはJPEG委員会によりJPMファイル(及び以前にサポートされていたJP2,MJ2ファイルフォーマット)と共に使用されることに拡張されつつある。この拡張はJPIP規格に対する改訂になるであろう(情報技術−JPEG2000画像コーディングシステム−パート9:インタラクティブツール、API及びプロトコル、改訂1:API、メタデータ及び編集)。
【０００５】
TRUEW(JPEG2000画像へのインタラクティブアクセス)はJPEG2000及び他の圧縮ファイルで使用する画像処理技術を含む。TRUEWでは画像オブジェクトは一般的にはオリジナル画像のタイルであり、圧縮ファイルのタイル部分として格納される。クライアントにより要求される閲覧ウインドウと共に空間的な区分けに基づいてタイル部分はJPEG2000圧縮ファイルから選択される。選択の際、ユーザの要求を満たすのに必要な全てのオブジェクトが届けられるまで又は新たな閲覧ウインドウ要求がクライアントから受信されるまで、オブジェクトはトランスコーディング(コード変換)なしに特定の圧縮フォーマットで配分される。TRUEWについての更なる情報については、例えば、10/18/2002に出願された“Transport  of  Reversible  and  Unreversible  Embedded  Wavelets”と題する米国特許出願第10/273,734号；3/7/2003に出願された“Communication  of  Compressed  Digital  Images”と題する米国特許出願第10/384,277号；7/7/2003に出願された“Network  Access  to  Partial  Document  Images”と題する米国特許出願第10/614,877号等に説明されている(本願出願人に譲渡済)。
【０００６】
スマートネイル(SmartNail)は画像又は書類の小型の表現であり、サムネイルやアイコンのようでもあるが、より多くの関連情報を備える。スマートネイル法はJPEG2000コードストリームのヘッダからデータを抽出することを含む。これは演算処理負担が非常に大きく、動作を遅くするおそれがあるピクセル単位の処理を行わずにJPEG2000画像の領域を選択可能にする。スマートネイル法はJPEG2000画像の小さな部分について処理を行う。スマートネイル法についての更なる情報については、例えば1/11/2002に出願された“Content  and  Display  Device  Dependent  Creation  of  Smaller  Representations  of  Images”と題する米国特許出願第10/044,603号  (本願出願人に譲渡済)  等に説明されている。書類画像のサムネイルを作成するために、JPEG2000ヘッダのスマートネイル分析はテキストフォーカスOCR分析と組み合わせられる。より詳細な情報については、1/29/2003に出願された“Reformatting  Documents  Using  Document  Analysis  Information”と題する米国特許出願第10/354,811号及び12/22/2004に出願された“Semantic  Document  SmartNails”と題する米国特許出願第11/023,142号(本願出願人に譲渡済)並びに非特許文献１等に説明されている。
【０００７】
完全なデコード処理によらず情報はJPEG2000ファイルから抽出可能である。ビット割当及び或るウェーブレット係数情報の双方がパケットヘッダから利用可能である。この情報は、何らかの検索又は分類処理を行うためにページ画像がJPEG2000により単独で圧縮される場合に利用可能である。より詳細な情報については、1/10/2002に出願された“Header-based  Processing  of  Images  Compressed  Using  Multi-scale  Transforms”と題する米国特許出願第10/044,420号(本願出願人に譲渡済)等で説明されている。
【０００８】
ウェブブラウザはHTMLリンク又はHTTPヘッダラインに基づいて長い書類を先取りすることができる。この場合、ブラウザは現在の書類内容に基づいておそらくは異なるサーバに対して追加的な条件を生成する。
【０００９】
現在maps.google.comは非常に大きなデータセット(即ち、世界の大部分の街路地図及び航空写真)を見る機能を提供する。このデータはウェブブラウザで提示され、パン及びズームする制御機能をユーザに提供する。つまり、ユーザは現在の表示をマウスで「ドラッグ(drag)」し、新たな領域が視野に入るように表示できる。グーグルの地図サービスの場合には、エンドユーザに示される画像は独立にアクセス可能な複数の画像の組み合わせであり、それらは隣接するものに次々に変えられる。HTMLの場合のように、ブラウザはそのマップの現在の表示領域近辺にマップ画像に関する付加的な条件を用意することができる。
【非特許文献１】Berkner,  Schwartz  ＆  Marle,  “SmarNails-display  and  image  dependent  thumbnails”,  Proceedings  of  SPIE  Vol.5296,Jan.21-22,2004
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明の課題は書類画像を処理するための方法及び装置を提供することである。
【課題を解決するための手段】
【００１１】
一形態では、本方法は、２以上のコードストリームを含むファイルから、１以上のオブジェクトに対応する１以上の特徴の少なくとも１つをデコードせずに抽出するステップと、  アプリケーションで実行されるタスクに及び抽出された１以上の特徴に基づいて書類オブジェクトをランキングするステップと、ランク及び少なくとも１つの制約に基づいて一群の書類オブジェクトを選択するステップとを有する方法である。
【発明を実施するための最良の形態】
【００１２】
本発明は以下の詳細な説明により及び様々な本願実施例の添付図面により更に十分に理解されるであろう。しかしながら本発明は特定の実施例には限定されず、実施例は単なる説明及び理解のためのものに過ぎない。
【００１３】
圧縮されたデータオブジェクトから特徴を抽出すること、抽出された特徴を順序付けること及び抽出され順序付けられた特徴を配分することに関する方法及び装置がもたらされる。そのような処理は画像又は書類の小さな表現を生成すること(例えば、スマートネイル)に加えて、圧縮画像形式(例えば、JPEG2000)又は他の画像形式のものをパン及びズームして閲覧するのに有用である。圧縮された画像を閲覧する場合には、ここで説明される技法は、解凍された書類ではなく、圧縮された書類の部分について操作を行う。ここで説明される技法は、ネットワークを介して表示するために画像成分をプリフェッチすることに、圧縮されたヘッダ情報に基づく書類分類に及び他のアプリケーションにも有用である。
【００１４】
一実施例では、ここで説明される技法は、オブジェクトランキング、選択、ネットワークを介するJPEG2000パート6(JPM)ファイルへの効率的なアクセスのためのプリフェッチ、JPM及びPDFファイルのタイプマップ及びビット割当、並びに書類オブジェクト分析及びネットワーク書類アクセスの何らかの具体的なアプリケーションを含む。
【００１５】
以下の説明では、本発明の更に充実した説明をもたらすために多くの詳細が説明される。しかしながら本発明はそれらの具体的で詳細な事項なしに実現されてもよいことは当業者に明白であろう。本発明を不明瞭化するのを防ぐために、場合によっては周知の構造及び装置は、詳細を示さずにブロック図形式で示される。
【００１６】
以下の詳細な説明の一部は、コンピュータメモリ内のデータビットに関する処理のシンボル表現及びアルゴリズムの観点からなされる。これらのアルゴリズム的な記述及び表現は、当業者が他の当業者に彼らの業務内容を最も効果的に伝えるのに使用される手段である。ここで、アルゴリズムは、所望の結果に至る一貫した一連の手順として一般的に考えられる。手順(ステップ)は物理量の物理的な処理を要するものである。必須ではないが、通常的には、これらの量は、格納されること、伝送されること、結合されること、比較されること及び他の処理がなされることの可能な電気的な又は磁気的な信号の形式をとる。それらの信号をビット、値、シンボル、キャラクタ、期間、数等で言及することは、主に通常的に使用されるという理由で、しばしば便利であることが分かる。
【００１７】
しかしながら、これら及び類義語の全ては適切な物理量に関連するものであり且つそれらの量に適用される便宜的ラベルに過ぎないことに留意を要する。以下の説明から明らかなように具体的に別様に説明されない限り、本説明を通じて、「処理」、「演算」、「計算」、「決定」、「表示」等のような用語を用いる説明は、コンピュータシステム又は同様な電子コンピュータ装置の動作及び処理に関連するものであることが理解されるべきであり、及びそれらはコンピュータシステムのレジスタ及びメモリ内で物理量(電気的な量)として表現されたデータを、コンピュータシステムメモリ、レジスタ又は他の情報格納、伝送若しくは表示装置内で物理量として同様に表現される他のデータに変換及び処理することも理解されるべきである。
【００１８】
本発明は上記の処理を実行する装置にも関連する。この装置は、要求される目的に備えて特別に構築されてもよいし、コンピュータに格納されたコンピュータプログラムで選択的に起動される又は再構築される汎用コンピュータで構成されてもよい。そのようなコンピュータプログラムは、限定ではないが、フロップディスク、光ディスク、CD-ROM、磁気光ディスク、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気的な若しくは光学的なカード、電子的な命令を格納するのに相応しい何らかのタイプの媒体を含む如何なるタイプのコンピュータ読み取り可能な記憶媒体(それらはコンピュータシステムバスにそれぞれ結合される)に格納されてもよい。
【００１９】
ここで提示されるアルゴリズム及び表示は何らかの特定のコンピュータにも他の装置にも固有に関連するものではない。様々な汎用システムがここで教示されるものに従うプログラムと共に使用されてよいし、或いは必要な方法ステップを実行するのに更に特化した装置を構築するのが有用かもしれない。これらの様々なシステムに必要な構造が以下の説明から明らかになる。更に本発明は特定の如何なるプログラミング言語に関連するようにも説明されない。ここで説明されるような本発明の教示内容を実現するのに様々なプログラミング言語が使用されてよいことが理解されるであろう。
【００２０】
マシン読み取り可能な媒体は、マシン(例えば、コンピュータ)で読み取り可能な形式で情報を格納及び伝送する何らかの手段を含む。例えば、マシン読み取り可能な媒体は読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク格納媒体、光格納媒体、フラッシュメモリ装置、電気的な、光学的な、音響的な若しくは他の形式で伝搬する信号(例えば、搬送波、赤外線信号、ディジタル信号等)等を含む。
【実施例１】
【００２１】
［概要］
図１は画像処理システムのブロック図である。図１を参照するに、特徴抽出部１０２は,圧縮されたファイル１０１を受信し、１以上の特徴群を抽出する。一実施例では圧縮ファイル１０１はJPEG2000ファイルで構成される。別の実施例では圧縮ファイルはJPMファイルである。更に別の実施例では圧縮ファイル１０１はPDFファイル、SVG、SMIL、FLASH、PPML、XML-FO又は他のファイルタイプで構成される。
【００２２】
一実施例では、１以上の特徴が書類オブジェクトに関連付けられる。抽出は全ての利用可能なソースからの情報を利用して入力ファイルについて実行される。一実施例では抽出は圧縮されたコードストリームをデコードせずに実行される。そのような場合、特徴抽出後に、一群の画像オブジェクト及び特徴１０３が利用可能である。別の実施例では、特徴はそのオブジェクトの影響を受けるページ中の全ての領域に関連付けられる。ヘッダデータから取得可能な典型的な特徴は、オブジェクトの位置及びサイズ、コードストリームのバイト数、コードストリームに使用される圧縮形式を含む。コードストリームを解凍せずに(圧縮解除せずに)コードストリームのヘッダデータから或る情報が取得可能である。画像サイズは典型的にはヘッダ情報中にあり、色空間、ある形式のエンコードパラメータ(例えば、量子化テーブル)及び画像のビット深度のようなものである。別の情報はメタデータ中のオブジェクトに関連付けられるかもしれない。例えば、光学的文字認識(OCR)プロセスから得られたワード又はキーワードは、ページ中の或る領域に又は或るオブジェクトに関連付けられてもよい。例えば、オブジェクトの読み取り順序、二乗平均誤差推定値、オブジェクトの視覚的インパクト又は顔の位置等のような他のメタデータは、圧縮ファイルと共にファイルに圧縮及び格納される前に処理されてもよい。しばしば−JPEG2000コードストリーム又はファイルでは特に−情報はコードストリームの一部分（例えば、タイル、区域、空間位置、解像度又は色平面）に位置付けられるかもしれない。
【００２３】
オブジェクトランク及び選択部１０４は、一群の画像オブジェクト及び特徴１０３を受信し、それらをアプリケーション条件１１０に基づいて格付け(ランク付け)する。一実施例では、書類オブジェクトはアプリケーション、そのアプリケーションで実行されるタスク及び抽出された特徴に基づいて格付けされる。あるアプリケーション条件の具体例は、限定された帯域、ファイルサイズ、色の制約(例えば、白黒だけ)、表示分解能又は必要とされる最少品質を含む。オブジェクトランク及び選択部１０４は１以上の制約に基づいて画像オブジェクト及び特徴１０３の部分集合(サブセット)を作成する。一実施例では、画像オブジェクトの選択は、制限に至るまでは最高に格付けされたオブジェクトを選択することでなされる。これらの制限は表示サイズ、伝送時間、ファイルサイズ、推定される回答時間及び総画像領域を含む。
【００２４】
画像処理システムは、圧縮されたデータについての新たな形式を出力する。一実施例ではその新たな形式は、圧縮されたフォーマット又はストリーミングフォーマットで新たに圧縮されたファイル又はストリームである。或いは、画像処理システムはデコード、表示又はレンダリングのための圧縮データを出力する。そのような場合には表示出力及び／又はレンダリングに必要な処理は、1/11/2002に出願された“Content  and  Display  Device  Dependent  Creation  of  Smaller  Representations  of  Images”と題する米国特許出願第10/044,603号、1/29/2003に出願された“Reformatting  Documents  Using  Document  Analysis  Information”と題する米国特許出願第10/354,811号及び12/22/2004に出願された“Semantic  Document  SmartNails”と題する米国特許出願第11/023,142号で説明されているように実行されてもよい（これら全ての出願は本出願人に譲渡されている。）。
【００２５】
上述の図１の画像処理システムは、移動体アプリケーション、処理電力やメモリに制約のある他の装置アプリケーションに特に有用であり、そのアプリケーションでは書類(例えば、JPM書類)へのネットワークアクセスがなされる。（JPM書類へのネットワークアクセスの主な特徴は、ネットワーク帯域条件及び装置プロファイルの観点からはクライアント毎に異なってよいことに留意を要する。）例えば、モバイルクライアントは限られた無線コネクション及び小さなサイズの画面しか持たない。従って、何らかの制限に達するまでは、サーバーはある種の品質を最大化する順序で要求オブジェクトを配信することが望ましい。例えば、サーバーは、クライアントの表示域(ビューポート)を最短時間で「満たす」順序でオブジェクトを配信してもよい。クライアントがサーバーへの少ない帯域接続しか有していなかった場合、サーバーは次の要求を予測し、チャネルがアイドルになった場合にそのデータを送信する。そしてクライアントはローカルキャッシュからデータを取得でき、それはクライアントの待ち時間を節約する。
【００２６】
［圧縮ファイルフォーマット及び特徴抽出］
様々なファイルフォーマットから抽出されてよい多くの特徴が存在する。例えば、JPEG2000ファイルの場合、ビット割当マップ、OCR結果及びタイルパートが抽出されるかもしれない。
【００２７】
JPM及びPDFファイルでは、「ページ」は、単独のJPEG2000ファイルの場合のように「コードブック」及び「タイル」に一貫して分割されない。しかしながら、JPEG2000コードストリームを含むJPM又はPDFの領域についてビット割当マップ及びタイルパート情報を生成することは可能である。JPM及びPDFファイルはコードストリームを含んでもよく、そのコードストリームはJPEG、JBIG及びG4を含むJPEG2000以外のコーデックで圧縮される。これらの圧縮システムは、JPEG2000コードストリームの場合よりも少ない情報(ヘッダで利用可能な情報)を有する（即ち、デコードしない）。にもかかわらず、コードストリームがそのコードストリームの制約区域(bounding  box)で均等に分散されているように仮定することで、「ビット割当」マップは依然として作成可能である。JPEG2000コードストリームに関連するこの情報をスケーリングするために経験的な重み付けがなされてもよい。メタデータは重みを作成するのに使用可能である（例えば、写真の中で人が存在する場所により多くの重みを付加してもよい。）。
【００２８】
圧縮されたコードストリームに加えて、PDFファイルは、テキストレンダリングを含む描画コマンドと共に「コンテンツ」ストリームを含むことが可能である。コンテンツストリーム及び境界ボックスのサイズはPDFヘッダから判定可能である。
【００２９】
ワードプロセシングアプリケーションで、文字、連続階調画像及び少数の簡易な図形を含む書類ページが作成されるかもしれない。その書類はPDFファイルで、JPMファイルで又は他のファイル形式で書類作成アプリケーションから直接的に保存されてもよい、或いはポストスクリプトファイルが後にこれらのフォーマットの１つに変換されてもよい。或いは、この書類は、JPEG2000ファイル、JPMファイル、PDFファイル又は何らかの他のフォーマットで保存されるスキャン形式と共に、印刷された後にスキャンされる。
【００３０】
書類がJPEG2000ファイルとして格納される場合、ビット割当マップが作成され、その作成は1/11/2002に出願された“Content  and  Display  Device  Dependent  Creation  of  Smaller  Representations  of  Images”と題する米国特許出願第10/044,603号(本願出願人に譲渡済)に説明されているようになされ、ヘッダデータが書類属性を判定するために使用可能であり、その判定は1/10/2002に出願された“Header-based  processing  of  images  compressed  using  multi-scale  transforms”と題する米国特許出願第10/044,420号(本願出願人に譲渡済)に説明されているようになされる。書類がオブジェクトベースフォーマットに格納される場合、ビット割当マップを作成するために追加的な技術が必要になるが、何らかの代替情報が利用可能である。
【００３１】
図２はそのような書類の画像表現である。図２を参照するに、書類ページ200は一群のオブジェクト201-208を含み、その一群のオブジェクトは、テキストオブジェクト201,206,207,208、画像オブジェクト202,203,205及びオブジェクト204(描画コマンドと共に画像化されなければならない)を含む。オブジェクト201-208は図２に示されるようにオーバーラップしてよく、テキストオブジェクト201は画像オブジェクト202,203,205に及び描画オブジェクト204にページの上半分で重なっている。
【００３２】
同じ画像を複数オブジェクトとして表現可能な他の多くの手法があり、或る方法はオブジェクト分割を行うが、他の方法は行わない。例えば画像はJPM又はPDFファイル中で１つの大きなJPEG2000ファイルとして表現可能である。画像を表現する方法は、その画像が作成された方法に及びファイルフォーマットが作成される前の処理ステップに依存するかもしれない。例えばスキャンした書類の表現物は、ワードプロセッシングフォーマットから変換されたオリジナルのものとは非常に異なるかもしれないが、双方とも同じファイルフォーマットを使用するかもしれない。
【００３３】
使用されたファイルフォーマットに依存して、オブジェクトはテキスト、画像及び描画オブジェクトタイプに正確には分割されないかもしれない。例えば、JPMフォーマットでは、オブジェクトは単に「マスク」及び「イメージ」であり、マスク及びイメージは或る画像コンプレッサ(JPEG,JPEG2000,JBIG,JBIG2,G4等でもよい)で圧縮される。そして図２の書類はJPMファイルとして格納されると、図３に示されるように現れ、オブジェクトには使用されたコンプレッサのタイプでラベルが付けられている。典型的には、G4,JBIG又はJBIG2のようなバイナリコンプレッサがテキストや簡易な描画コマンドを圧縮するのに使用される。JPEGやJPEG2000のような連続階調コンプレッサはグラデーションを伴う複雑な描画コマンドや画像を圧縮するのに使用される。図３を参照するに、JBIGオブジェクト301,304、JBIG2オブジェクト306,307,308及びJPEG2000オブジェクト302,303,305は、図２のテキストオブジェクト201,206,207,208、画像オブジェクト202,203,205及び描画オブジェクト204にそれぞれ対応する。
【００３４】
一実施例では、圧縮タイプ及びオブジェクト位置は、どのコードストリームをもデコードせずにJPMファイルのヘッダデータから確認される。かくて典型的にはオブジェクトのタイプ及びロケーションを確認するのにファイル全体の１パーセントしか使用されないことがある。
【００３５】
或いは、図２の画像中のオブジェクトは図４に示されるようにPDFファイルに格納されるかもしれない。PDFでは、ページに描かれた全てのオブジェクトは、ページ全体のコンテンツストリームを介して参照される。従って何らかの描画及びテキストコマンドはそのページ上で特定の領域に位置付けられず、ページのどこかにあるように知らされる。しかしながら更に構造化されたPDFファイルはページ上の各オブジェクトについて明確な境界ボックスを備えてよい。これは特に“COG”で構成されるPDFファイルの場合に該当し、COGについては、Bagley  et.al,  “Creating  Reusable  Well-structured  PDF  as  a  Sequence  of  Component  Object  Graphic(COG)  Elements”,  Proceedings  of  the  ACM  Symposium  on  Document  Engineering(DocEng’03),p.58-67,ACM  Press,20-22  November  2003  に説明されている。
【００３６】
各オブジェクトについて境界ボックスが利用可能な場合、図４に示されるようなオブジェクトの説明を作成することが可能である。PDFでは、オブジェクトがテキストであることだけでなく、そのテキストのフォント情報をも知ることができる。描画コマンドとラスタイメージを区別することもできる。ラスタイメージは、JP2及びJPXイメージ(双方とも特定のJPEG2000ファイルフォーマット)、JPEG、JBIG2、G4及び他の多く(非画像データにも使用されるフラット(Flate)のような一般的ストリームコンプレッサで圧縮されたイメージを含む）を含む様々な手法で格納可能である。オブジェクトに関する情報のソースによらず、全ての情報を様々なマップに合成することができる。そのようなマップの１つは「ビット割当」(bit-allocation)マップである。一実施例では、ビット割当マップは、ページの所与の領域を表現するためにソースファイルで使用される平均バイト数を示すかもしれない。
【００３７】
図５は図２の書類に関するビット割当マップの例を示し、異なる線影(ハッチング)は単位領域当たりのビット数が異なることを示す。一実施例では、ビット割当マップは、各オブジェクトに使用されるバイト数を加算することで、JPMファイルのヘッダ情報から生成される。例えば、JBIGコードストリームが2000バイトであって20,000ピクセルの領域をカバーする場合、それはピクセル毎に平均0.1バイトの寄与になる。或るピクセルが別のオブジェクトの領域にもあった場合、そのオブジェクトからの平均バイトも加算される。JPEG2000コードストリームでは、全オブジェクトより小さい領域に対するバイト数を限定することができる。1/11/2002に出願された“Content  and  Display  Device  Dependent  Creation  of  Smaller  Representations  of  Images”と題する米国特許出願第10/044,603号(本願出願人に譲渡済)で説明されているように、JPEG2000コードストリームと共に、各コードブロックについてバイト数を決定することができる。コードブロックにより影響を受けるページ領域は判別可能であり、そのコードブロックからのバイトがその領域のピクセルにのみ付加可能である。図５の左上の領域に見受けられるように、JPEG2000コードストリームのバイトが局部化可能なので、１つのオブジェクトが様々なオブジェクトについて異なるビット割当を導出できる。かくて１つのオブジェクトに３つの領域が存在し、その領域では図５でより多くのバイトが使用され、これらの領域はオリジナル書類の中でよりアクティブな部分である。
【００３８】
画像コンプレッサは同じデータについてでさえ異なる圧縮率を得るので、ある領域について「ピクセル毎にビット」を単に追加しても、そのイメージの十分に正確な「アクティビティ(activity)」マップを導出しないかもしれない。例えば、JPEG2000でなくJPEGでオブジェクトが圧縮される場合、視覚的な影響が同じ場合でさえ、JPEGコードストリームは10又は20％多いバイトを有するかもしれない。同様に、あるアプリケーションでは、バイナリ領域は、バイト数で示されるよりも重要であるかもしれない。従って、ピクセル毎にビットを単に付加することで得られるビット割当マップを様々な圧縮形式の中で調整することが有益である。一実施例では、テキスト領域は例えばG4やJBIG等のようなバイナリコンプレッサで圧縮されるので、これらのコンプレッサのバイトはより重要に重み付けされる。かくてビット割当マップを作成する際に、コンプレッサに依存して異なる量だけビット割当を重み付けることが有用である。例えば、JPEGコードストリームは1で、JPEG2000コードストリームは1.2で、G4コードストリームは1.5で、JBIGコードストリームは2.5で特定のアプリケーションについて重み付けされてもよい。
【００３９】
あるページで完全な解像度でビット割当マップを計算する必要のないことが間々あることに留意を要する。コードストリームのバイト数はそのコードストリームの影響を受ける領域に渡って等しく分散されるので、その近似は低い解像度でしか正確でない。更に、低解像度のビット割当マップを確定する処理は非常に高速である。
【００４０】
図６はJPMファイルからビット割当マップを作成するプロセス例のフローチャートを示す。本プロセスは処理ロジック(論理装置)で実行され、処理ロジックはハードウエア(回路、専用ロジック等)、ソフトウエア(汎用コンピュータシステム又は専用マシンで動作するようなソフトウエア)又はそれら双方の組み合わせでもよい。
【００４１】
図６を参照するに、JPMファイルから構造情報ボックスを読み取る論理を処理することでプロセスが始まる(処理ブロック601)。構造情報ボックスを読み取った後に、処理ロジックは或る解像度を選択し、そのサイズのバッファを初期化し(処理ブロック602)、ビット割当バッファとして用意する。以後、処理ロジックは、ページの全オブジェクトのイメージ及び各マスクについて、これらのコードストリームの影響を受ける領域におけるビット割当マップを更新する(処理ブロック603)。
【００４２】
一実施例では、これらのビット割当マップは選択アルゴリズムと共に使用され、JPM又はPDFファイルの小型表現を生成する。それらは分類に使用可能である。例えば、ビット割当データのヒストグラムに基づいて、コードストリームをデコードせずに、２列の書類が１列の書類と区別可能である。更なる情報については、11/10/2003に出願された“Features  for  Retrieval  and  Similarity  Matching  of  Documents  From  the  JPEG2000-Compressed  Domain”と題する米国特許出願第10/705,544号(本願出願人に譲渡済)等を参照されたい。
【００４３】
一実施例では、ビット割当マップに加えて、書類の或る領域はJBIGで圧縮されたが別の領域はJPEG2000で圧縮されたという事実が分類又はインタラクティブ配信に使用される。ページの各ロケーションで使用されるオブジェクトタイプのマップは、コードストリームの長さの判定さえ行わずになされる。そのようなタイプのマップの各ピクセルは、そのピクセルに使用されたコンプレッサのタイプ、１より多くのコンプレッサが使用された場合には「マルチコンプレッサ」タイプ、又はレンダリング順序で最後に来たコードストリームのタイプの何れかに設定されてよい。
【００４４】
JPM、PDF及び他のファイルフォーマットは、ビット割当又は分類マップにも使用可能なメタデータを含んでよい。JPMの場合、フォントレンダリングコマンドは一切無いので、メタデータの共通フォームはシンボリックテキストになり、シンボリックテキストは光学文字認識(OCR)プログラムにより又は電子的に生成可能である。この情報は分類及びネットワーク配信に使用可能である。メタデータがページ中の境界ボックスに関連付けられる場合、そのデータは、まさに圧縮タイプマップの場合のように、「タイプ」マップを作成するのに使用可能である。メタデータがJPMオブジェクトに関連付けられる場合、そのオブジェクトについての境界ボックスはメタデータにも使用可能である。
【００４５】
JPMファイルで常に利用可能な情報は次のものを含む：ページ幅、ページ高さ、圧縮タイプ、境界ボックス(オブジェクトの水平オフセット、オブジェクトの垂直オフセット、オブジェクト幅、オブジェクト高さ)、レンダリング順序、コードストリーム長、レイアウトオブジェクトの数、オブジェクトタイプ(マスク、イメージ又は双方)、ノーコードストリームフラグ(NoCodestream  flag)、データリファレンスの数及びファイルの先頭からの対応するコードストリームボックスのオフセット。ページ幅及びページ高さはJPMファイルのページボックス内のページヘッダボックスに格納される。境界ボックスは、レイアウトオブジェクトの高さ及び幅並びにページの左上からのオフセットで用意され：JPMファイルのページボックスのレイアウトオブジェクトボックスのレイアウトオブジェクトヘッダボックスに「L高さ(LHeight)」、「L幅(LWidth)」、「LVoff」及び「LHoff」が格納されている。レイアウトオブジェクトヘッダボックスは、レイアウトオブジェクトが「イメージ」、「マスク」又は双方であるか否かをも示す。オブジェクトのレンダリング順序は、ページボックス内のレイアウトオブジェクトボックスの順序から確認される。この順序は、各レイアウトオブジェクトについてのID番号である「LObjID」によっても与えられる。コードストリームは、「連続コードストリーム」として又は複数の断片(フラグメント)として格納可能である。連続コードストリームの場合、その長さはオブジェクトヘッダボックスの「LEN」ファイルによって与えられ、コードストリームの位置は同じボックスの「OFF」フィールドで与えられる。フラグメントコードストリームの場合、「LEN」フィールドは、フラグメントテーブルの長さであり、コードストリームの実際の長さを確認するために、「OFF」フィールドによって示されるフラグメントテーブルボックスがアクセスされ、その長さは、フラグメントテーブルボックス内のフラグメントリストボックスの「LEN」フィールドの合計である。この場合におけるコードストリームの場所は、フラグメントリストボックスの「OFF」フィールドによって指定されるような複数の場所である。
【００４６】
場合によっては、コードストリームはヘッダ情報とは異なるファイルに格納されてもよい。これは非ゼロのデータリファレンス値を利用することで示され、その場所(ロケーション)はデータリファレンスボックスで指定される。
【００４７】
オブジェクトの圧縮タイプは、コードストリームがオブジェクトに関連する場合には、オブジェクトボックスのJP2ヘッダボックスのイメージヘッダボックスに格納される。エンコーダは各オブジェクトについて特定のコンプレッサを使用するので、しばしば圧縮タイプは格納される情報タイプに関連する。かくて圧縮タイプはページのタイプマップ又はビット割当を作成するのに使用可能である。構成要素数及び各構成要素に使用されるビットもイメージヘッダボックスに格納され、同じ目的に使用可能である。JP2ヘッダボックスはビットパーコンポーネントボックス(Bits  Per  Component  box)又はカラー仕様ボックスも含み、カラー仕様ボックスの場合、色空間のような情報がタイプ又はビット割当マップに影響を及ぼすのに使用可能である。しかしながら、「ビットパーコンポーネント」又は「カラー仕様」情報は常に有るわけではなく、従ってその場合(ない場合)アプリケーションは必要な情報を確認するための別の手段を有する。
【００４８】
JPMファイル中の或るオブジェクトはコードストリームを含まない。これはオブジェクトヘッダボックスの「ノーコードストリーム」フラグにより示される。この場合、ビット割当マップのコードストリームに一切バイトが無く、オブジェクトのイメージ部分又はマスクからのバイトのみがビット割当マップに寄与している。マスクもイメージもコードストリームを有しなかった場合には、そのオブジェクトは無地の(べた一色の)四角形である。この場合のビット割当マップに或る少数のバイトが代替的に使用可能である。「タイプ」マップでは、これは特殊タイプとなり得る。なぜなら、それは非常に簡易なオブジェクトに対応するからである或いは他の利用可能なタイプの何れかと組み合わせられるかもしれないからである。
【００４９】
或るファイルはページを画像化するのに必要な命令の他に情報を含む。JPMファイルでは、この情報はXMLボックスに格納可能であり、非常に簡潔な情報はラベルボックスに格納されてもよく、情報はメディアデータボックス又はUUIDボックスにも格納可能である。格納する１つの共通項目は光文字認識(OCR)プログラムの実行結果である。これは特にスキャンされた画像に共通する。OCR結果は一般的には、その情報の場所と共にページ上の文字に関するシンボル表現を含む。OCR結果はしばしば追加的な情報(パラグラフ、ライン、ワードの境界ボックス、又はテキストや画像の特性でさえよい)を含む。テキスト領域に関し、しばしばOCR情報は、例えば名称又はサイズのようなフォントに関する情報を含む。OCR結果はビット割当及びタイプマップ双方のコードストリーム長に加えて使用可能である。ビット割当マップでは、OCRで記述された領域に基づいて追加がなされてよい。例えば、大きなフォントは、大きなフォントを画像化するのに必要なコードストリームを格納するのに必要なビット数を上回る重要度を示すかもしれないので、ビット割当マップはこれらの領域の中で上方に調整可能である。
【００５０】
JPMファイルはデフォルトではページ数を明示的に含まない。その情報はメタデータボックス(例えば、XMLボックス、ラベルボックス又はUUIDボックス)に追加可能であるが、一実施例では、ページ数はページコレクションツリーを深さ優先順にウォーキング(walking)し、ページボックスに遭遇するとページ数を増やすことで判定可能である。図１８には加わったページ数と共にページコレクションツリーが示されている。ページ数が確認されると、ツリーウォーキングにより又はメタデータにより、それらはページに基づいてオブジェクトの重要度を変えるのに使用されてもよい。例えば、書類中の初めのページにはより大きな重要度が与えられ、ビット割当マップで高い値が与えられてもよい。
【００５１】
一実施例では、レンダリングプロセスでオブジェクトがスキップされたことで生じる再構成ページの劣化の指標が、ランキングオブジェクトで使用される。JPMファイルは、ページ画像をデコードするのに使用されるボックス中にそのような指標を含まず、典型的なエンコーダはそのような情報を生成しない。ページ中のオブジェクトの歪に関する情報又はその「視覚的影響」に関する情報さえも、JPMファイルのメタデータボックスの１つに格納されてよい。格納される或る簡易な項目は、オブジェクトが画像化された場合に生じる二乗平均誤差の変化である。一実施例では、そのような値はファイルが作成された場合に決定又は評価され、例えば、圧縮される場合に背景中のオブジェクトの二乗誤差を測定することで決定等される。或いは、コードストリームをデコードすること及びそれらの影響を計算することによるファイルの初期生成後に情報が決定される。より良い推定はオブジェクト間の重なりを考慮に入れることである。明らかに、オブジェクトは互いに邪魔し合う場合に視覚的効果が薄れる。オブジェクトを失うことに起因する歪は、画像分析法で判定されてもよく、画像分析法は書類構造及び構造間の「編集距離」又は「距離」を、計算可能なオブジェクトと共に又はそれなしに判定する。
【００５２】
PDFファイルでは、PDFオブジェクトの場所は「クロスリファレンスセクション」で用意され、クロスリファレンスセクションはPDFファイルの末尾部分を読み取ることで特定できる。PDFオブジェクトはデータ又は命令を格納するための構造である。ファイル中の命令群又はコードストリームにしばしば対応する一般に視覚的に重要な部分である点で、PDFオブジェクトはここで議論される他の「オブジェクト」と異なる。コードストリームはPDFストリームオブジェクトに格納される。ストリームはそれらに関連する辞書を有し、その辞書はフィルタを示す。各圧縮タイプは特定の「フィルタ」又はデコーダをそのストリームについて利用することで示される。例えば、「JPXデコード」フィルタはJPEG2000コードストリームを含むストリームと共に使用され、「DCTデコード」フィルタはJPEGベースラインコードストリームに使用され、「JBIG2デコード」フィルタはJBIG2コードストリームに使用される。
【００５３】
PDF画像Xオブジェクトと共にJPEG2000コードストリームを利用する場合、幅及び高さがイメージ辞書から取得されてもよい。更に、色空間がイメージ辞書に存在してもよく、その場合JPEG2000ファイル内の色空間は無視される。例えば量子化テーブルのような追加的な情報は、ストリーム内のコードストリームのヘッダを読み取ることを要するが、エントロピーエンコードデータをデコードせずに取得可能である。ページ上の圧縮コードストリームの配置に関する情報は、そのページのコンテンツストリームから至る。キーワードは「隠されたテキスト」から取得されてもよく、それはページコンテンツストリームの一部であるが表示されない。
【００５４】
分類情報はページのコンテンツストリームのマークコンテンツ(Marked  Content)からPDFファイルで取得可能である。マークコンテンツは必要とされないが、マークコマンドが何らかの特徴を有することを示すために様々なアプリケーションで使用可能であり、例えばマークコマンドは特定のバージョンに付加される又は何らかの外部データベースエントリに対応する。PDFファイルから画像化される画像の空間的範囲は「現在の変換マトリックス」に依存し、現在の変換マトリックスはそのページに関するコンテンツストリームで設定可能である。かくてビット割当マトリクスの生成は、コンテンツストリームを分析すること、画像が描かれる前に適用する変換を決定することを要する。
【００５５】
［オブジェクトランキング］
オブジェクトはある種の品質又は重要度に基づいて分類(ランキング)される。受信した又は表示された書類又は書類の一部の品質が利用可能なオブジェクトに依存するならば、その品質は個々のオブジェクトについて判定可能である。この品質はオブジェクトの特性と書類中のオブジェクトの役割に関する特性との双方に依存し得る。一実施例では品質は個々のイメージオブジェクト又はコードストリームについて決定される。この品質は、オブジェクトの特徴から又は以前に格納されていた情報から決定されてもよく、そのオブジェクトはコードストリームの完全なデコードによらず抽出可能である。一実施例では品質は利用可能なヘッダ情報から推定される。品質は他の方法で推定されてもよい。
【００５６】
多くの場合、あるオブジェクトに対する品質寄与に加えて、そのオブジェクトを含めるためのコストが存在する。最も典型的なコストはファイルサイズ又は伝送時間であり、それらは共にコードストリームのサイズに直接的に関連する。一実施例では、コストはレンダリングの際にオブジェクトにより満たされる空間を含む。他の実施例では、コストはオブジェクトをデコードする複雑さ(コードストリームの長さに関連する)を含むが、使用されるコンプレッサのタイプに及びコンプレッサで使用される選択肢に強く影響されるかもしれない。オブジェクトの品質が他のオブジェクトといくらか独立であるアプリケーションでは、含めることのコストも(独立的に)追加的であり、オブジェクトはコストが増える毎に品質も増えて最大に向かう順にランク付けされてもよい。オブジェクトがイメージに付加する品質は、(そのオブジェクトを有するイメージの品質)マイナス(そのオブジェクトのないイメージの品質)によって与えられる。あるオブジェクトｉに関する追加的な品質をΔQiと呼ぶ。ネットワーク配信システムでは、オブジェクトは一度に送信を開始し、後に終了し、それらの時間の間の差分がそのオブジェクトを送信するためのコストになり、Δtiと呼ばれる。これはオブジェクトi,Oiのランクを導出し、そのランクはレンダリングされる画像品質変化を伝送時間で割ったものである：
Rank(Oi)=ΔQi／Δti
「Rank」は(第１，第２，第３のような)整数順であることは必須ではなく、より高いランクがより重要であるという重要度の指標である。従って一般的には高いランクのオブジェクトが先に送信される。
【００５７】
図７は単位時間当たりの最大品質の観点から並べられた４つのオブジェクト群であり、何らかの時点で達成される品質をもたらす。図７に示されるように、４つのオブジェクト各々により付加される伝送時間及び品質が示されている。品質は１つのオブジェクトに対して一定でなく；アプリケーションに依存して及びアプリケーションの現在のタスクに依存して変化するかもしれないことに留意を要する。例えばオブジェクトが書類に追加されるときの品質は、どのページが検査されるかに依存する。オブジェクトが現在のページに無ければ、それは品質に何らの影響も与えないかもしれない。
【００５８】
JPM又はPDFファイルのような書類ファイルにおける各オブジェクトのランキング又は品質指標が、新たなファイルで又は伝送で含めるブジェクトを選択するのに使用される。クライアント−サーバー関係が想定され、クライアントが関心のある特定のビューポートを示す場合には、オブジェクトはそのビューポートと共に格付け(分類)される。そのような場合には、一実施例では、ランキングはビューポートと共にオーバーラップする領域に基づく。別の実施例では、より複雑なランキングは、オーバーラップした領域にわたって重み付けされた二乗平均誤差(MSE)を利用し、ここで「誤差」は書類を完全にレンダリングする場合とオブジェクトなしに最良にレンダリングする場合との間の差分である。
【００５９】
一実施例では、オブジェクトランクはリアルタイムで決定される。この場合、オブジェクトの特徴は、コードストリームをデコードする必要なしに決定される。その代わりに、オブジェクト情報はJPMファイルヘッダ−おそらくは以前に構築された或る補助的な情報ファイル−から抽出される。以前に言及されたオブジェクト特徴の全てはそのオブジェクトを格付けするのに使用され、その特徴は：オブジェクト圧縮タイプ、境界ボックス、レンダリング順序、コードストリーム長及びMSE推定値等を含む。
【００６０】
品質指標にいくつかの選択肢がある。一実施例では、テキストの読みやすさ及びビット分布が品質の指標に使用される。別の実施例では、閲覧ウインドウの交差が使用される。他の品質指標は、限定ではないが、以下を含む：オブジェクト及びビューポート間の重複領域、MSE又は顕著な相違点(JND:  Just  Noticeable  Difference)の計算された補助「情報」ファイルに格納された値、及び現在のビューポートに対するオブジェクトの近接度合い。
【００６１】
一実施例では、イメージオブジェクトランキングは次のものの１つ以上に基づく：リクエストウインドウ位置、リクエストウインドウ履歴、完全なリクエスト履歴、装置特性(演算性能、メモリ制限を含む)、ビット割当マップ、オブジェクト読み取り順序、及び／又はJPMファイルに格納されたメタデータ、サーバーヒントファイル中の情報、オブジェクトの重複、オブジェクトの圧縮タイプ、サーチ用語、連続階調、バイナリ及び描画コマンドの相対的重要度の経験値又は推定値。
（ビューポートとのオーバーラップによるオブジェクトランキング）
Oiが書類中のｉ番目のオブジェクト(イメージ、マスク又は双方)を表現する場合に、一群のオブジェクトD={Oi|i=1,2,…,N}及びビューポート又はリクエストウインドウで構成される書類画像の下で、各オブジェクトについて品質指標Qが見出され、Qはオブジェクト、選択された特徴及びビューウインドウの関数である。ビューウインドウは、関心の或るページ、画面の空間的領域又は何らかの組み合わせによる一群のページである。一実施例では、オブジェクトの品質が、ディスプレイを満たすことに寄与する能力に等しいならば、その品質指標はオブジェクト及びビューポート間の重複領域に設定可能である。かくて簡易なランキングの式は次のように書ける
【００６２】
【数１】
2007235961.tif 000003
ここで、Area()はオブジェクトOi及びビューポートW間の重複領域を示す。Δtは予測される伝送時間、そのオブジェクトについて解凍を行うのに予測される時間、コードストリームのバイト数、コードストリームに関する他の何らかのコストとすることができ、一定でさえもよい（時間に関連することは必須でない。）。この関数はウインドウ又はビューポートに依存し、Rank(Oi,W)  と言及されてもよい。図８はリクエストウインドウW、完全に含まれたオブジェクトO4、及び３つの重複するオブジェクトO1,O2,O3を示す(３つのオブジェクトは部分的に重複し、第４のオブジェクト及びビューポートは完全に重複している。)。
【００６３】
（MSE重みオブジェクトランキング）
別の実施例では、各オブジェクトの二乗平均誤差(MSE)指標が品質測定に使用される。例えば、オブジェクト群{Oi|i=1,2,…,N}を含む書類Dに関し、一実施例では、オブジェクトOiのMSE指標が次のようにピクセル領域で計算される：
dOi=MSE(D,D-{Oi})
ここで、D-{Oi})はオブジェクトOiが除去された書類を示す。これはランキング関数を次式で表現されるようにする：
【００６４】
【数２】
2007235961.tif 000004
ビューポート内側部分がクライアントの関心のある領域なので、上記の数式は、重複領域の分だけオブジェクトOiのMSEをスケーリングしている。
【００６５】
（キーワードランキング、関心のある閲覧領域、読取順序及び不明データ）
一実施例では、JPM書類へのネットワークアクセスにおいて、クライアントは書類中の或る内容(コンテンツ)についての自身の関心を示すキーワードを用意する。キーワードはオブジェクトの配信順(即ち、ランク)を決定するのに使用可能である。
【００６６】
一実施例では、ビューポートはファイル中の特定のメタデータを確認するために使用される。例えば或るメタデータは特定のオブジェクトにのみ関連するかもしれない。特定の種類のメタデータが或るオブエジェクに関連するならば、そのオブジェクトのランクは増やされる(又は減らされる)。
【００６７】
一実施例では、読み取る順序及びオブジェクトレイアウト情報はオブジェクトをランキングするのに使用される。
【００６８】
JPMは混合ラスタコンテンツをサポートする。しばしばオブジェクトは以前のオブジェクトと同じ空間領域に対して画像化される。後に画像化されるオブジェクトのマスクに依存して、先行するオブジェクトはディスプレイで見えないかもしれない。このことがオブジェクトランクに使用可能である。例えば、オブジェクトのランクは、別のオブジェクトがその領域の全部又は一部を覆い隠す場合に減らされる。
【００６９】
（メタデータ）
JPMは各オブジェクトについてラベルボックス及び選択的なメタデータボックスを用意する。エンコードプロセスの間に、あるオブジェクト(例えば、メモ又はタグ)について情報が追加可能である。一実施例では、その情報はクライアントの関心事を判別するためにキーワードサーチ又はより構造化されたサーチで使用される。例えばマップ書類ではホットスポットが緯度及び経度情報に関連付けられてよい。クライアントが特定のウインドウを要求すると、サーバーはその範囲内のホットスポットの緯度及び経度と共に応答できる。
【００７０】
他の可能性としては、次のものが含まれる：複数ページ書類の複数ページと交わるウインドウ；現在のビューウインドウに「近い」オブジェクト；メタデータとして算出され計算されたMSE；及びMSEの近似（例えば、書類の領域及び平均色）。
【００７１】
マルチオブジェクト圧縮ファイルでは、品質指標は何らかのオーバーラップの概念を含んでよい。
【００７２】
（マスクランキング）
あるアプリケーションでは、マスクオブジェクトのランクをイメージオブジェクトよりも高く設定することが望ましい。その理由は、マスクオブジェクトが先に配信されると、イメージオブジェクトデータの全てが受信される前にレイアウトオブジェクトが画像化されてよいからである。例えば、画像データがプログレッシブモードでJPEG2000によりエンコードされる場合、より多くのデータが到来しつつ、部分的な画像が画面でレンダリング可能である。テキストタイプ情報がしばしばマスクに含まれているので、これはテキストが速やかに現れることを可能にする利点を有する。更にイメージデータがJPEG2000によりエンコードされる場合、より低い解像度のイメージが先に表示され、クライアントの感じる待ち時間を減らせる。
【００７３】
［オブジェクト選択］
オブジェクト選択は１以上の制限に基づいて抑制される。多くの可能な制限が存在する。一実施例ではイメージオブジェクトはキャンバスが満たされるまでオブジェクトのランキングに基づいて選択されてよい。別の実施例では、ビューウインドウ中の全てのオブジェクトが配分されるまで又は新たな要求がクライアントから受信されるまで、タイル部分が選択される。更に別の実施例では、(各オブジェクトをデコードするのに要する演算量を推定しながら)ある演算制限に達するまで、或いは或る最大バイト数が伝送される若しくは格納されるまで、或いは或る制限の組み合わせに達するまで、オブジェクトのランキングに基づいてオブジェクトが選択され配分される。場合によっては、制限に達する前に特定の基準に合致する全てのオブジェクトを含めることが可能かもしれない。基準の具体例は、ページの低解像度バージョンを画像化するのに必要なオブジェクトを含むことである。
【００７４】
一実施例では、様々な制限が各オブジェクトに関連付けられる。例えば、ビデオストリームでは、オブジェクトは表示されるのに必要な時間毎に分配される必要があり、従って後のビデオフレームではオブジェクトの配信に利用可能な多くの時間がある。
【００７５】
上述のランキングの説明の多くはページのオブジェクトの重要度に基づいているが、コストは通常的にはコードストリーム配信又はデコードの機能である。コードストリームが或るオブジェクトだけに使用される場合には、オブジェクトランキング及びコードストリームランキングは等価である。しかしながら、コードストリームが複数のオブジェクトに使用される場合、そのランキングは或るオブジェクトについてだけ使用されている場合より高くてよい。コードストリームが複数のオブジェクトに使用されているが、それらのオブジェクトの１つだけに関心がある場合、コードストリームのランクはおそらくは増やされるべきでない。一実施例では、ランキングを実行する際に、全てのオブジェクトが格付けされ、そのランクは基礎となるコードストリームに関連付けられる。コードストリームが複数のランクを受信する場合には、それらは合成され、他のコードストリームに対するそのコードストリームの重要度を決定する。一実施例では、読み取り順序だけに基づくランキング、重要度の大きさだけのランクが適用される。別の実施例では、例えば、MSEベースのランキング、２つのランクが共に加えられる。なぜならコードストリームが用意されなかった場合には双方のオブジェクトが影響を被ってしまうからである。
【００７６】
［アプリケーション］
（ネットワーク配信用の抽出及びランク）
ネットワークで高品質画像配信を行うために上述の抽出及び格付けフレームを利用することができる。一実施例では、サーバーにおいて、ビューウインドウを横切る全てのオブジェクトが、以前に上述したランキング関数の１つを用いてランク付けされてよい。そして、別のビューウインドウがアクティブであることをクライアントが示すまで或いはウインドウを横切る全てのオブジェクトが配信されるまで、コードストリームは品質を最大にする順序で配信されてよい。
【００７７】
コンテナファイルのコードストリームの１つがJPEG2000ファイルであった場合には、そのコードストリームの部分は独立にランク付けされ且つ別個のオブジェクトとして取り扱われる。例えば、JPEG2000ファイル中の各タイル部分には、ファイル中の全JBIG2コードストリーム各々と共にランクが与えられる。JPEG2000コードストリーム及び完全なJBIG2コードストリームのタイル部分を最良の順序で配信するためにJPIPが使用可能である。
【００７８】
図１２はイメージのネットワーク配信を実行するプロセス例のフローチャートを示す。本プロセスは処理ロジックで実行され、処理ロジックはハードウエア(回路、専用ロジック等)、ソフトウエア(汎用コンピュータシステム又は専用マシンで動作するようなソフトウエア)又はそれら双方の組み合わせでもよい。
【００７９】
図１２を参照するに、圧縮ファイルから１以上のオブジェクトに対応する１以上の特徴を処理ロジックが抽出することでプロセスが始まる(処理ブロック1201)。一実施例ではこれらの１以上の特徴がデコードを行わずに抽出される。特徴抽出後に、処理ロジックはアプリケーションに基づいて、アプリケーションで実行されるタスクに基づいて、及び抽出された特徴に基づいてオブジェクトをランク付けする(処理ブロック1202)。一旦ランク付けが完了すると、処理ロジックはランクに基づいて一群の書類オブジェクトを選択する(処理ブロック1203)。そして処理ロジックは品質を最大にする順序で要求に応答して選択されたオブジェクトに対するコードストリームを配信する(処理ブロック1204)。別のビューウインドウがアクティブになるまで或いはビューウインドウを横切る全てのオブジェクトが配信されるまで、この(1204の)配信は続く。
【００８０】
（インタラクティブ画像ブラウジング用のプリフェッチ）
一般に「プリフェッチ(prefetch)」は明示的にも黙示的にも要求されていないデータを用意しておくことをいう。クライアント−サーバー環境では、プリフェッチを行うことは遅延を見えにくくする。なぜなら、既にプリフェッチ済みのデータが要求された場合、そのデータを取得するのに一切ネットワーク遅延がないからである。JPIPを用いてプリフェッチ機能を有するシステムを用意するには、クライアントは要求されたデータ以外のデータを受信できる能力を示すべきであり、サーバーは要求を満たすもの以外のオブジェクトもランキングするべきであり、サーバーは要求を満たすもの以外の余分なオブジェクトを送信するべきであり、クライアントは到来した如何なるデータでもそれがユーザに有用になれば、新たな要求に対する応答を待たずに利用すべきである。多くのシステムでは追加的手段なしにこれらの動作の一部がなされる。例えば新たな要求がサーバーに対して発行されるのと同時にユーザがウインドウの変更を行う場合、クライアントは利用可能なデータの全てと共にイメージを画像化することが多分に予想される。クライアントが他の受信データと共に「プリフェッチ」データを格納していたならば、そのデータは「プレビュー」で自動的に使用される。図９は、プリフェッチと共に又はプリフェッチなしにJPMファイルとして格納済みの書類画像を閲覧する際に、クライアントで利用可能なデータを示す。領域901は現在のビューウインドウであり、それがクライアントの画面に表示される全てである。何れの場合も、現在のウインドウに関する全てのデータが受信されている。プリフェッチを行う場合、領域902,903に示されているように可能性のある将来的なウインドウが決められ、それらのウインドウに関するデータがクライアントに提供可能である。以後、クライアントが新たなウインドウを要求すると、その要求されたデータはサーバーへの追加的な要求なしに利用可能になることが予想される。
【００８１】
クライアント−サーバーコネクションでは、サーバーがクライアントからの一連の要求を賄う場合、必要な全てのデータの配信と次の要求の受信との間にはいくらかの時間がかかることが間々ある。例えば、クライアントのユーザは配信されたコンテンツを表示するのにいくらか時間がかかるかもしれない。チャネルはその時間の間アイドルになる。クライアントが近い将来利用することを予想しながら、サーバーはクライアントに更なるデータを送信し続けることができる。新たに要求されたオブジェクトはネットワークを介して伝搬するのではなくローカルキャッシュから取得可能であり、このことはクライアントであるユーザが感じる待ち時間を減らし、特にサーバーに対して限られた帯域のコネクションしか無い場合(例えば、無線コネクションやダイヤルアップの場合)に有利である。サーバーがプリフェッチするデータを配分する場合、現在の表示域に含まれないオブジェクトの配信順序も決定する必要がある。このオブジェクトの先取り問題はランキング問題として解決可能である。一実施例では、次のビューポートに関して或る予測がなされ、オブジェクトはそのビューポートと共にランキングされる。別の実施例では、局所性に関する或る仮定がなされ、オブジェクト及び現在の表示域間の近接性が測定される。
【００８２】
（プリフェッチ法）
クライアントグラフィカルユーザインターフェース(GUI)は限られたパン操作及びズーム操作しかサポートしないかもしれない。例えば左に、右に、上に及び下にパンすること並びにズームイン及びズームアウトすることに関するボタン又は他の制御部があるかもしれない。特定の方向にパンするボタンの各々は、同じサイズの新たなビューウインドウに案内する。確率piは各方向についてビューポートWiに関連付けられる。英語の読み取り順序では、右に又は下に動かす確率が大きい。上述のオブジェクトランキング法を用いると、オブジェクトOiに対するプリフェッチランクRprefetchは次のようにして算出できる：
【００８３】
【数３】
2007235961.tif 000005
この数式は、プリフェッチランクが次に可能なビューポート全てに関するオブジェクトランクの期待値であることを示す。
【００８４】
（マルチステップ予測）
ワンステップのビューポート予測はマルチステップの予測に拡張可能である。ｋ番目のステップでビューポートが予測されている場合、(k+1)番目のステップにおける次のビューポートは、GUIで許容される６つの可能な操作  (即ち、左移動、右移動、上方移動、下方移動、ズームイン及びズームアウト)  を用いて構築される。クライアントがｋステップを動かす確率がqkであるという仮定をシステムは使用し、この仮定に基づいて次式を用いてプリフェッチランクが計算される：
【００８５】
【数４】
2007235961.tif 000006
（以前の要求に基づくビューポート予測）
クライアント−サーバーコネクションでは、サーバーは同一チャネル若しくはコネクションでの又は同一クライアントからの以前の要求に関する情報を保持することができる。サーバーは以前のビューポートから次のビューポートを予測することができる。例えば、システムは1以上の外挿アルゴリズムを用いて、以前のビューポートの一連のオフセットポイントから次のビューポートのオフセットを確認してもよい。次のビューポートの高さ及び幅は同様に算出可能である。図１０は外挿により次に可能なビューポートの例を示す。図１０を参照するに、ウインドウWの次の動きはウインドウW1,W2,W3に基づいてなされる。最も簡易な予測は、ウインドウW2からW3への変更がW3から次のウインドウへ至るときに反復されるものである。より優れた予測は、W1からW2への変化及びW2からW3への変化を調べ、ウインドウの加速を予測して新たなウインドウを予測する。これらのウインドウ予測は、書類の境界、関心のある領域、おそらく他のクライアントで表示されているもの等の情報によっても修正可能である。
【００８６】
（別のプリフェッチ法）
要求が同じ空間領域内にありがちなアプリケーションでは、現在のビューポートに近いオブジェクトは要求される確率が大きく、オブジェクトプリフェッチランクは、各オブジェクトと現在のビューポートとの間の距離ｄに応じて決定可能である。図１１は、水平方向で又は垂直方向でオブジェクト及びビューポートの射影が重なる場合、又は重ならない場合における、オブジェクト及びビューポート間の最小距離を示す。図11を参照するに、オブジェクトO1,  O2,  O3はウインドウWに関連して示されている。一実施例では、プリフェッチランクは距離の逆数になるように設定可能である。
【００８７】
Rprefetch=1/d(Oi,W)
（クライアントにより要求されたオブジェクトとオブジェクトプリフェッチ）
通常的にはサーバーは先ず特別に要求されたオブジェクトを送信し、そのオブジェクトはクライアントにより又はビューウインドウに起因して暗黙に要求されたものである。そしてより多くの帯域又は等価的に時間があるならば、サーバーはプリフェッチデータとして追加的なデータを送信してよい。従って一実施例ではランキング関数において、ビューウインドウを横切るオブジェクトは、高プリフェッチランクに起因して送信されるべきオブジェクトよりも高くランキングされる。
【００８８】
JPIPはHTTP1.1プロトコルでしばしば実現され、そのプロトコルではクライアントが要求を起こし、サーバーが応答を返送する。理想的には、１つのJPIP要求が複数の応答を導き、最初のものは明示的に要求されたデータに関連し、以後のものは「プリフェッチ」データに関連するようにしたいが、これはHTTPでは不可能である。１つの解決策は要求に対する応答にプリフェッチデータを添付することである。クライアントから要求されるオブジェクトはプリフェッチするオブジェクトよりも高いランクを有するので、サーバーは要求されたオブジェクトを先ず配信する。一実施例では、新たな要求が受信された場合に、サーバーはプリフェッチデータの送信を終了する。
【００８９】
JPIP応答には、要求されたデータ及びプリフェッチデータをクライアントが区別することを可能にする明示的な信号はない。従ってクライアントは何らかのデータが到来する限りソケットからデータを取得する。
【００９０】
JPIP規格は複数の値をとる好み(プレフェレンス)パラメータを規定しており、このパラメータは、クライアントが好みのデータを受信する要求を示すように拡張される。例えば、以下のJPIP要求は、プリフェッチが望まれることを示す：
【００９１】
【数５】
2007235961.tif 000007
別の実施例では、ベンダの能力に関するJPIP規格の拡張は、プリフェッチデータを受け入れる意欲を示すのに使用可能である：
【００９２】
【数６】
2007235961.tif 000008
追加的な好み又はベンダ能力は、データを先取りする際にサーバーがどのランキング関数を使用すべきかを示すように規定される。
【００９３】
図１３はデータを先取りするプロセスの一例を示すフローチャートを示す。本プロセスは処理ロジックで実行され、処理ロジックはハードウエア(回路、専用ロジック等)、ソフトウエア(汎用コンピュータシステム又は専用マシンで動作するようなソフトウエア)又はそれら双方の組み合わせでもよい。
【００９４】
図１３を参照するに、処理ロジックが新たなビューウインドウを予測することで本プロセスは始まる(処理ブロック1301)。処理ロジックは圧縮されたファイル中のオブジェクトに対応する１以上の特徴も抽出する(処理ブロック1302)。一実施例では、これらの特徴の１つ以上がデコードせずに抽出される。
【００９５】
特徴抽出後に、アプリケーション、次のビューウインドウの予測、及び次のビューウインドウに対する書類オブジェクト(抽出された特徴で示される)の関係に基づいて、処理ロジックは処理オブジェクトをランク付けする(処理ブロック1303)。一実施例では、次のビューウインドウに対する書類オブジェクトの関係は、次のビューウインドウまでのオブジェクトの近接度で構成される。一実施例では、書類オブジェクトのランキングは或る尤度に基づいており、その尤度は、各書類オブジェクトが可能性のある複数の新たなビューポートの内の何れかと重なる確からしさである。別の実施例では、書類オブジェクトをランキングすることは或る尤度に基づいており、その尤度は、連続的に示される２以上のビューポートの潜在的な複数の群中の何れかと各書類オブジェクトが重なる確からしさである。別の実施例では、書類オブジェクトのランキングは、次のビューウインドウに関する書類オブジェクト及び１以上の過去のビューポートに基づく。
【００９６】
ランキングが完了すると、処理ロジックはランクに基づいて書類オブジェクト群を選択し、選択された書類オブジェクト群から先取りされ圧縮された画像成分を送信する(処理ブロック1304)。これは一実施例では、先取りしたデータの1以上のオブジェクトを応答に添付することで達成される。
【００９７】
（JPMパーサー）
一実施例では、古いJPMファイルから新たなJPMファイルを作成するのにランキング及びオーダリングが使用される。この操作はネットワークを介してなされる必要はない。実際、大きく高い解像度のファイルは、低解像度の表示に基づいて、JPMファイル中のオブジェクトをランキングすることで「分析(parsed)」可能である。このランキングは、JPEG2000コードストリーム中の様々な解像度を個々にランク分けする場合に、特に価値がある。そして、所定のサイズのファイルに達するようにオブジェクトが選択される。図１９を参照するに、処理ロジックはJPMファイル中の全てのオブジェクトをランク分けする(処理ブロック1901)。JPEG2000コードストリームのタイルパートは、より高いランクの付与された低解像度データを含むパートと共に様々にランク分けされてもよい。処理ロジックは、新たなJPMファイルに最高ランクのオブジェクトを含める(処理ブロック1902)。所望のファイルサイズに到達するまで、処理ロジックはランクに基づいてJPMファイルに含めるオブジェクトのリストに他のオブジェクトを加える(処理ブロック1903)。この時点で処理ロジックは(選択的に)JPMファイルを作成する(処理ブロック1904)。この新たなファイルは、そのJPMファイルの低解像度表示に関して最も重要なオブジェクトを含む。
【００９８】
そのようなJPMパーサーで使用されるランキングは上述のどのランキング関数でもよい。クライアントがいなければ、ビューウインドウは、ビューウインドウを利用するランキング関数のアプリケーションに基づいて選択可能である。大きなファイルを分析する主な理由は、大きな書類のスキャン及び画面の作成に起因しておそらく存在する高解像度画像を取得するため、又は小さな画面に簡易に表示されたり電子メールで簡易に送信することが可能な低解像度書類を取得するためである。
【００９９】
JPMパーサーはJPMファイルを分析するプログラムであり、必要な情報を新たなファイルにコピーする。JPIPクライアント及びJPIPサーバー双方を１つの装置で動作させ、クライアントに要求を作成させ、サーバーがオブジェクトをランク付けし、それらをクライアントに配信することで、JPMパーサーは実現可能である。この種の実現手段には僅かな非効率性が存在するかもしれないが、それは同じ基本ソフトウエアをネットワーク操作及びローカル操作の双方に使用可能にする。
【０１００】
図１４はファイルを分析するプロセスの一例を示すフローチャートを示す。本プロセスは処理ロジックで実行され、処理ロジックはハードウエア(回路、専用ロジック等)、ソフトウエア(汎用コンピュータシステム又は専用マシンで動作するようなソフトウエア)又はそれら双方の組み合わせでもよい。
【０１０１】
図１４を参照するに、１以上のオブジェクトに対応する１以上の特徴を処理ロジックがJPMファイルから抽出することで本プロセスは始まる(処理ブロック1401)。一実施例ではこれらの特徴の１つ以上はデコードせずに抽出される。特徴抽出後に、アプリケーション、仮定されるビューウインドウ及び抽出された特徴に基づいて、処理ロジックは処理オブジェクトをランク分けする(処理ブロック1402)。一旦ランキングが完了すると、処理ロジックはランクに基づいて及び所定のサイズのファイルを得ることに基づいて一群の書類オブジェクトを選択する(処理ブロック1403)。以後処理ロジックは新たな圧縮ファイルを作成する(処理ブロック1404)。一実施例では、オリジナルファイルは印刷解像度ファイルであり、未解凍の新たなコードストリームファイルはスクリーン解像度ファイルである。
【０１０２】
（電子書類的な表示用のJPMヘッダ）
書類画像フォーマットは、紙のような表示に有用である。紙状の表示に必要かもしれない１つの特徴は、複数のページを速やかに表示する能力である。表示画面は全て表示可能な様々なフレーム数について制限を有する。多数のページを有する非常に大きな書類では、物理装置が表示可能なフレームより多くの書類ページを毎秒表示することが望ましいかもしれない。これは、複数ページからの情報を併合し、複数ページを表現する画像をディスプレイに送ることで達成可能である。
【０１０３】
JPEG2000ファイル又はJPMファイルからのヘッダデータは、複数ページの高速表示でイメージのどの部分が強調されるかを判定するのに使用可能である。一実施例では、処理ロジックは表示に先立って併合された画像を作成する。しかしながら、併合されたページが作成可能になる前にブラウジングが始まった場合は、ヘッダデータから直接的に解凍なしに重要な領域を選択することが可能である。例えば、ビット割当マップ又はイメージタイプマップは、コードストリームの解凍なしにヘッダデータから構築可能である。そのようなマップは複数のページについて比較可能であり、そのページの同様な場所の同様なタイプのオブジェクトは、１ページ中の低解像度バージョンを単にデコードすることで、併合ページ中に表現可能である。１ページについて異なるビット割当又はオブジェクトタイプは、併合ページの中で強調されることが可能である。かくて併合ページは、圧縮された領域の中で、ヘッダデータから決定されたオブジェクトランキングと共に、高速表示で予測された表示に基づいて構築可能である。選択関数は、表示するコードストリームをデコードするのに利用可能な時間についての制約、又は併合ページの領域毎の１オブジェクトの制約、又は何らかの組み合わせによる制約にすることができる。
【０１０４】
図１５は高速表示用の画像データを用意するプロセスの一例を示すフローチャートを示す。本プロセスは処理ロジックで実行され、処理ロジックはハードウエア(回路、専用ロジック等)、ソフトウエア(汎用コンピュータシステム又は専用マシンで動作するようなソフトウエア)又はそれら双方の組み合わせでもよい。
【０１０５】
図１５を参照するに、１以上のオブジェクトに対応する１以上の特徴を処理ロジックが圧縮ファイルから抽出することで本プロセスは始まる(処理ブロック1501)。一実施例ではこれらの特徴の１つ以上はデコードせずに抽出される。特徴抽出後に、アプリケーション、アプリケーションで実行されるタスク及び抽出された特徴に基づいて、処理ロジックは処理オブジェクトをランク分けし、ランク分けはディスプレイの予測された表示に基づく  (処理ブロック1502)。別の実施例では、オブジェクトのランキングは圧縮ファイル中のヘッダデータからの情報を利用して実行される。
【０１０６】
一旦ランキングが完了すると、処理ロジックはランクに基づいて及び表示用のコードストリームをデコードするのに利用可能な時間に基づいて一群の書類オブジェクトを選択する(処理ブロック1503)。オブジェクトのランキングが圧縮ファイル中のヘッダデータからの情報を利用して実行され且つディスプレイでの予測された表示に基づく例では、オブジェクトの選択は、ページ画像の領域毎の1オブジェクトの制約に基づいてよく、そのページ画像は書類の複数ページの併合を表現する。
【０１０７】
（可変データ印刷）
現在使用されている大きな書類タイプの１つは、各ページで僅かな変化量を伴う同様なページの長いシーケンスである。例えば同じレターが多数の人々に送信され、各ページでアドレス情報だけが変えられるかもしれない。しばしばこれは「メールマージ(mail  merge)」と呼ばれる。宣伝広告用に、アドレスだけでなく受信者に依存する何らかのテキストを変えることで、いくつかの画像を有するページがしばしばカスタマイズされる。これはしばしば可変データ印刷と呼ばれ、超高速プリンタ又はプレスで実行されることが間々ある。最近ではいくつかの画像部分でさえ、意図される受信者に基づいて変えられる。大きな印刷ジョブでは、様々なページ全てについて情報はプリンタのメモリに同時には適合できず、プリンタに供給するデータストリームは、ページを画像化し及び用紙を止めずにそれを印刷するプリンタのために、テキスト又はイメージを時間どおりに配信するように注意深く設定される(これはページ毎の形式では実行不可能であり、超高速印刷を維持する。)。
【０１０８】
プリンタ又はプレスがオブジェクトランキングを決定するためにテキスト又はイメージを必要とする時間を利用することができる。そしてJPMファイルは、ランキング関数を用いて、プレスで必要とされる順序で配信可能である。データが変更されない場合でさえ、ランキング関数は、データが必要とされるページ数又は印刷方向に基づいてデータを配信するのに使用可能である。
【０１０９】
図１６は可変データ印刷用のプロセスの一例を示すフローチャートを示す。本プロセスは処理ロジックで実行され、処理ロジックはハードウエア(回路、専用ロジック等)、ソフトウエア(汎用コンピュータシステム又は専用マシンで動作するようなソフトウエア)又はそれら双方の組み合わせでもよい。
【０１１０】
図１６を参照するに、１以上のオブジェクトに対応する１以上の特徴を処理ロジックが圧縮ファイルから抽出することで本プロセスは始まる(処理ブロック1601)。この場合、風出された特徴は、プリンタ又はプレスがテキスト又はイメージを必要とする時を示す。一実施例ではこれらの特徴の１つ以上はデコードせずに抽出される。特徴抽出後に、オブジェクト中の情報が印刷に必要とされた時間に基づいて及び抽出された特徴に基づいて、処理ロジックは書類オブジェクトをランク分けする(処理ブロック1602)。一旦ランキングが完了すると、処理ロジックはランク及び少なくとも1つの制約に基づいて一群の書類オブジェクトを選択し、オブジェクトのランキングに基づいて印刷に必要な順序で選択されたオブジェクトと共にファイルを配信する(処理ブロック1603)。
【０１１１】
［コンピュータシステム例］
図１７は上述の処理の1つ以上を実行してよいコンピュータシステム例のブロック図を示す。図１７を参照するに、コンピュータシステム例1700はクライアント又はコンピュータシステムで構成される。クライアント又はサーバーは複合装置(MFP:  Multi  Function  Peripheral)の一部でもよい。MFPはJPIPクライアントとして使用されてもよい。コンピュータシステム1700は、情報を通信する通信手段又はバス1711、及び情報を処理するためにバス1711に結合されたプロセッサ1712を有する。プロセッサ1712は(例えば、ペンティアム(登録商標)、パワーPC(登録商標)等のような)マイクロプロセッサを含むが、マイクロプロセッサに限定されない。
【０１１２】
システム1700は、バス1711に結合されたランダムアクセスメモリ(RAM)又は他のダイナミック記憶装置1704(メインメモリと呼ぶ)を更に有し、プロセッサ1712で実行される命令及び情報を格納する。メインメモリ1704は、プロセッサ1712による命令の実行中に一時的な変数又は他の中間的な情報を格納するのに使用されてよい。
【０１１３】
コンピュータシステム1700は、プロセッサ1712用の命令及び静的な情報を格納するためにバス1711に結合されたリードオンリメモリ(ROM)及び／又は他のスタティックストレージ装置1706と、磁気ディスク又は光ディスク及び対応するディスクドライブのようなデータストレージ装置1707とを有する。
【０１１４】
コンピュータシステム1700は、陰極線管(CRT)又は液晶ディスプレイ(LCD)のようなバス1711に結合された表示装置1721を更に有し、コンピュータユーザに情報を表示する。英数字及び他のキーを含む英数字入力装置1722もバス1711に結合され、情報及びコマンド選択内容をプロセッサ1712に通知する。追加的なユーザ入力装置は、バス1711に結合されたカーソル制御部1723(マウス、タッチスクリーン、トラックボール、トラックパッド、スタイラス又はカーソル方向キー等)であり、情報及びコマンド選択内容をプロセッサ1712に通知し、ディスプレイ1721におけるカーソルの動きを制御する。
【０１１５】
バス1711に結合されてよい他の装置はハードコピー装置1724であり、ハードコピー装置は紙、フィルム又は同様なタイプの媒体に情報を記録するのに使用されてよい。ハードコピー装置1724はプリンタでもよい。一実施例ではプリンタはJPIPクライアントとして使用される。
【０１１６】
バス1711に結合されてよい他の装置は、電話機又は携帯装置と通信する有線／無線通信機能部1725である。システム1700の要素の全部又は一部及び付随するハードウエアが本発明で使用されてよいことに留意を要する。しかしながら他の形態のコンピュータシステムはそれらの装置の全部又は一部を含んでよいことも理解されるであろう。
【０１１７】
本発明に関する多くの代替例及び修正例は、上記の説明を読んだ後では当業者に明白であろう。説明用に図示及び提示された特定のどの実施例も限定解釈を意図したものでないことは理解されるべきである。従って様々な実施例の詳細に関するものは、特許請求の範囲を限定しようとするものではなく、特許請求の範囲では本発明に本質的であると考えられる事項のみが示される。
【０１１８】
以下、本願により教示される手段が例示的に列挙される。
【０１１９】
(C24)
命令を格納する１以上のコンピュータ読み取り可能な媒体を有する製品であって、該命令は、システムで実行された場合に、
２以上のコードストリームを含むファイルから、１以上のオブジェクトに対応する１以上の特徴の少なくとも１つをデコードせずに抽出するステップと、
アプリケーションで実行されるタスクに及び抽出された１以上の特徴に基づいて書類オブジェクトをランキングするステップと、
ランク及び少なくとも１つの制約に基づいて一群の書類オブジェクトを選択するステップと、
を前記システムに実行させることを特徴とする製品。
【０１２０】
(C25)
２以上のコードストリームを含むファイルから、１以上のオブジェクトに対応する１以上の特徴の少なくとも１つをデコードせずに抽出する抽出ユニットと、
アプリケーションで実行されるタスクに及び抽出された１以上の特徴に基づいて書類オブジェクトをランキングし、該ランク及び少なくとも１つの制約に基づいて一群の書類オブジェクトを選択する処理ユニットと、
を有する装置。
【０１２１】
(C26)
圧縮されたファイルから、１以上のオブジェクトに対応する１以上の特徴の少なくとも１つをデコードせずに抽出するステップと、
ランク及び少なくとも１つの制約に基づいて一群の書類オブジェクトを選択するステップと、
前記一群の書類オブジェクトを先取りされた圧縮された画像成分として送信するステップと、
を有する方法。
【０１２２】
(C27)
圧縮されたファイルから、１以上のオブジェクトに対応する１以上の特徴を抽出するステップと、
前記圧縮されたファイル中の１以上のコードストリームをデコードせずに前記圧縮されたファイル中のヘッダデータを処理するステップと、
ディスプレイで予測される表示に基づいて及び処理されたヘッダデータに基づいて書類オブジェクトをランキングするステップと、
ランキングに基づいて一群の書類オブジェクトを選択するステップと、
を有する方法。
【０１２３】
(C28)
コードストリームを解凍せずにページに関連する前記ヘッダデータに基づいてマップを構築し、複数のページのマップを比較するステップを更に有し、前記一群の書類オブジェクトを選択するステップは前記マップの比較に基づく前記C27項記載の方法。
【０１２４】
(C29)
前記マップが、ビット割当マップ及びイメージマップを含む群から選択されたものである前記C28項記載の方法。
【０１２５】
(C30)
圧縮されたファイルから、１以上のオブジェクトに対応する１以上の特徴の少なくとも１つをデコードせずに抽出するステップと、
ランク及び少なくとも１つの制約に基づいて一群の書類オブジェクトを選択するステップであって、オブジェクトのランクは前記オブジェクトの情報が印刷に必要とされる時間に少なくとも部分的に基づくステップと、
前記オブジェクトのランクに基づいて、印刷に必要な順序でオブジェクトと共にファイルを送信するステップと、
を有する方法。
【０１２６】
(C31)
前記オブジェクト中の情報が印刷に必要とされる時間が、可変データ印刷中にデータが変えられつつある時間に基づく前記C30項記載の方法。
【図面の簡単な説明】
【０１２７】
【図１】画像処理システムのブロック図を示す。
【図２】書類ページの画像表現(領域が情報クラスで識別される)を示す図である。
【図３】図２の分類表現の代替的な表現を示す図である。
【図４】図２の画像表現の代替的な表現を示す図である。
【図５】図２の書類のビット割当マップ例を示す図である。
【図６】JPMファイルからビット割当マップを作成するプロセスの一例を示すフローチャートである。
【図７】単位時間当たりの最大品質の観点で並べられた４つのオブジェクト群を示す図である。
【図８】３つのオブジェクトについては部分的に重複し、第４のユーザウインドウでは完全に重複している様子を示す図である。
【図９】プリフェッチと共に及びそれなしにJPMファイルとして格納された書類画像を閲覧する際にクライアントで利用可能なデータを示す図である。
【図１０】外挿により次に可能なビューポート例を示す図である。
【図１１】オブジェクト及びビューポートが重複しない場合にオブジェクト及びビューポート間の最小距離を利用する例を示す図である。
【図１２】画像のネットワーク配信を行うプロセスの一例を示すフローチャートである。
【図１３】データをプリフェッチするプロセスの一例を示すフローチャートである。
【図１４】ファイルを分析するプロセスの一例を示すフローチャートである。
【図１５】画像データの高速表示をもたらすプロセスの一例を示すフローチャートである。
【図１６】可変データ印刷プロセスの一例を示すフローチャートである。
【図１７】コンピュータシステム例のブロック図を示す。
【図１８】追加的なページの数と共にページコレクションツリーを示す図である。
【図１９】JPMファイルを作成するプロセスの一例を示すフローチャートである。
【符号の説明】
【０１２８】
１０１  圧縮ファイル
１０２  特徴抽出部
１０３  画像オブジェクト及び特徴
１０４  オブジェクトランキング及び選択部
１０５  新規アプリケーション固有の圧縮ファイル／ストリーム
１１０  アプリケーション条件
２０１，２０６，２０７，２０８  テキスト
２０２，２０３，２０５  イメージ
２０４  描画
３０１，３０４  JBIG
３０２，３０３，３０５  JPEG2000
３０６，３０７，３０８  JPIG2
１７０４  メインメモリ
１７０６  スタティックメモリ
１７０７  ストレージ装置
１７１１  バス
１７１２  プロセッサ
１７２１  ディスプレイ
１７２２  キーボード
１７２３  カーソル制御装置
１７２４  ハードコピー装置
１７２５  無線通信部
【図１】
2007235961.tif 000009
【図２】
2007235961.tif 000010
【図３】
2007235961.tif 000011
【図４】
2007235961.tif 000012
【図５】
2007235961.tif 000013
【図６】
2007235961.tif 000014
【図７】
2007235961.tif 000015
【図８】
2007235961.tif 000016
【図９】
2007235961.tif 000017
【図１０】
2007235961.tif 000018
【図１１】
2007235961.tif 000019
【図１２】
2007235961.tif 000020
【図１３】
2007235961.tif 000021
【図１４】
2007235961.tif 000022
【図１５】
2007235961.tif 000023
【図１６】
2007235961.tif 000024
【図１７】
2007235961.tif 000025
【図１８】
2007235961.tif 000026
【図１９】
2007235961.tif 000027