JP4733911B2 - インククラスタの明示的な表現を用いた2レベルイメージの圧縮 - Google Patents
インククラスタの明示的な表現を用いた2レベルイメージの圧縮 Download PDFInfo
- Publication number
- JP4733911B2 JP4733911B2 JP2003083846A JP2003083846A JP4733911B2 JP 4733911 B2 JP4733911 B2 JP 4733911B2 JP 2003083846 A JP2003083846 A JP 2003083846A JP 2003083846 A JP2003083846 A JP 2003083846A JP 4733911 B2 JP4733911 B2 JP 4733911B2
- Authority
- JP
- Japan
- Prior art keywords
- cluster
- dictionary
- page
- encoder
- clusters
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/41—Bandwidth or redundancy reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/751—Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/41—Bandwidth or redundancy reduction
- H04N1/411—Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures
- H04N1/4115—Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures involving the recognition of specific patterns, e.g. by symbol matching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/97—Matching pursuit coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Image Processing (AREA)
Description
【発明の属する技術分野】
本発明は、全般的にはディジタル画像処理に関し、具体的には、インククラスタの明示的な表現を用いるバイ−レベル(Bi−Level:以下、2レベルという)イメージの圧縮を容易にするシステムおよび方法に関する。
【0002】
【従来の技術】
コンピュータを介して使用可能な情報の量は、コンピュータネットワーク、インターネット、およびディジタル記憶手段の広範囲の急増に伴って劇的に増加した。そのような情報量の増加と共に、情報をすばやく送信し、情報を効率的に記録する必要が生じた。データ圧縮は、情報の効果的な送信および記録を容易にする技術である。
【0003】
データ圧縮によって、情報を表現するのに必要なスペースの量が減り、データ圧縮は、多数の情報タイプに使用することができる。イメージ、テキスト、オーディオ、およびビデオを含むディジタル情報の圧縮に関する需要が、高まってきた。通常、データ圧縮は、標準的なコンピュータシステムと共に使用されており、例えば、ディジタルテレビジョンおよび衛星テレビジョンならびにセル電話/ディジタル電話などがあり、これらに制限されるものではなく、他の技術でもデータ圧縮が利用されている。
【0004】
大量の情報を扱い、送信し、処理する需要が高まるにつれて、そのようなデータの圧縮の需要も高まる。記憶装置の容量が、かなり増えてきたが、情報に関する需要は、容量の増加をしのいできた。例えば、未圧縮のディジタル画像が、5メガバイトのスペースを必要とし、同一の画像を、ロスなしで圧縮し、2.5メガバイトのスペースだけを必要とするようにすることができる。したがって、データ圧縮によって、大量の情報の転送が容易になる。ブロードバンド、DSL、ケーブルモデムインターネット、および類似物などの伝送速度の向上をもってしても、未圧縮情報では簡単に送信の限界に達する。例えば、DSL回線を介する未圧縮イメージの送信が、10分を要する可能性がある。しかし、同一のイメージを、圧縮した時に約1分で送信でき、したがって、データスループットの10倍の利得がもたらされる。
【0005】
一般に、圧縮には、ロスレスおよびロッシイの2タイプがある。ロスレス圧縮では、圧縮後に正確なオリジナルデータを回復することができるが、ロッシイ圧縮では、圧縮後に、オリジナルデータと異なるデータが回復される。この2つのモードの間には、ある度合のデータ保全性の妥協が許容されるので、ロッシイ圧縮がロスレス圧縮よりよい圧縮率をもたらすという点で、トレードオフが存在する。ロスレス圧縮は、例えば、データを正確に再構成できないことによって、テキストの品質および可読性に劇的な影響を与えるおそれがあるので、クリティカルなテキストを圧縮する時に使用される。ロッシイ圧縮は、ある量のひずみまたは雑音が許容可能または人間の感覚について知覚不能である場合の、画像または非クリティカルテキストと共に使用することができる。
【0006】
バイ−レベルイメージ(以下、2レベルイメージという)は、テキストおよびドローイングを含む白黒文書のコンパクトな表現の可能性を提供するので、ディジタル文書処理で非常に一般的である。そのようなイメージでは、画像要素(画素)を、2進ソース(例えば、白=「0」、黒=「1」)から来るものとみなすことができる。そのようなイメージには、通常は、大量のホワイトスペースおよび繰り返されるインクパターンが含まれるので、そのようなイメージを効率的にエンコードするための基本的な手法の1つが、それらのイメージをラスタ順で、例えば、上から下へ、左から右へスキャンし、適応算術符号化(AC)を介して各画素をエンコードすることであり、この適応算術符号化の状態(または確率テーブル)は、前にエンコードされた画素を囲む小さいテンプレート内の画素の値によって形成されるコンテキストによって制御される。この発想は、ほとんどの近代2レベルイメージ圧縮システムの基礎である。
【0007】
ファクシミリイメージは、通常は、旧CCITT規格T.4およびT.6を使用して送信され、T.4およびT.6は、通常は、それぞれグループ3およびグループ4と称する。G3では、通常は、modified Huffman(MH)コード(すなわち、白画素または黒画素のランに対するハフマンコーディング)を用いてイメージをエンコードし、G4では、「modified modified READ」(MMR)符号化が使用される。MHおよびMMRは、コンテキスト適応ACほど効率的ではないが、実施が単純である。経時的に、G3およびG4が、JBIG(joint bi−level image group、勧告T.82とも称する)を介するエンコーディングを含むように進歩した。JBIGでは、コンテキスト適応ACが、適応テンプレートおよび効率的なQM2進算術エンコーダと共に使用される。JBIG−2規格では、テキストおよびハーフトーンデータに関するパターンマッチングならびにロッシイエンコーディング用のソフトパターンマッチング(SPM)を含むことによってJBIGが拡張される。JB2エンコーダも、SPMに基づくが、2進エンコーディングにZコーダを使用する。JBIG、JBIG−2、およびJB2は、G4に対する圧縮性能のかなりの改善をもたらすことができる。
【0008】
【特許文献1】
米国特許出願整理番号MS158314.1号
【0009】
【特許文献2】
米国特許出願整理番号MS127658.1号
【0010】
【発明が解決しようとする課題】
例えば、データ量の大きなファイルをスキャナーでスキャンして電子データとして保存し、圧縮して送信するような場合、そのスキャンされた電子データの圧縮処理に時間がかかり、その圧縮された電子データを電子メールを介して送信することが困難になる場合がある。その結果、電子メールを介してデータをすばやく送信することができず、非効率的となるという問題がある。
【0011】
そこで、本発明の目的は、インククラスタの明示的な表現を用いる2レベルイメージの圧縮処理を容易化し、データ通信を迅速に行うことが可能なシステムおよび方法を提供することにある。
【0012】
【課題を解決するための手段】
以下に、本発明のいくつかの態様の基本的な理解をもたらすために、本発明の簡略化された要約を提示する。この要約は、本発明の広範囲の概要ではない。本発明の鍵となる/クリティカルな要素を識別することと、本発明の範囲を示すことは、意図されていない。下記の唯一の目的は、後に提示するより詳細な説明の前置きとして、簡略化された形で本発明のいくつかの概念を提示することである。
【0013】
本発明は、ビットマップが、かなりの量のテキストを含む可能性が高いスキャンされた文書に対応するという先の仮定を行うことによって現在の2レベルエンコーディング技術を拡張する2レベルエンコーディングシステムを提供する。スキャンされた文書に、黒画素のクラスタに対応する、文字のビットマップパターンが含まれる可能性がある。議論のために、文書の背景が、実質的に白であり、テキストが、実質的に黒であると仮定する。しかし、本発明に関連する使用のためのすべての適切な2レベルカラー表現が、請求の範囲に含まれることが意図されている。
【0014】
2レベルエンコーディングシステムは、ビットマップをスキャンする(例えば、左から右へ、上から下へ)。インクのクラスタが初めて見つかった時に、そのクラスタをクラスタの辞書に追加する。その後、そのクラスタの画素をエンコードする代わりに、辞書へのポインタPおよびクラスタがページに現れる場所の{X、Y}位置座標をエンコードする。次に、同一のクラスタまたは十分に近いクラスタがビットマップ内で見つかった時に、やはり、画素ではなく{P、X、Y}座標をエンコードする。クラスタに十分な画素が含まれる場合に、2レベルコーデック(BLC)などのロスレスエンコーダを用いて画素をエンコードするよりも、{P、X、Y}座標をエンコードすることが効率的である(例えば、「ADAPTIVE ENCODING AND DECODING OF BI-LEVEL IMAGES」という名称の特許文献1参照)。圧縮利得は、複数ページ文書についてより高くなる。というのは、クラスタ辞書を、すべてのページの間で共有することができ、したがって、辞書自体をエンコードするオーバーヘッドが、無視可能になるからである。
【0015】
この2レベルコーディングシステムは、ロスレスモードまたはロッシイモードで動作することができる。ロスレスモードでは、ビットマップ内のクラスタが、辞書内のクラスタの第1閾量以内である場合に、{P、X、Y}データならびに「クラスタ化残差」すなわち実際のクラスタと辞書内のクラスタとの間の小さい差が、送られる。クラスタ化残差は、ロスレス2レベルエンコーダを使用してエンコードすることができる。ロッシイモードでは、ビットマップ内のクラスタが、辞書内のクラスタの第2閾量以内である場合に、3つ組{P、X、Y}がエンコードされるが、クラスタ化残差はエンコードされない。
【0016】
本発明の2レベルエンコーディングシステムは、例えば従来のスキャナ(例えばCCITT G4)によって生成されるファイルよりかなり小さいファイルをもたらすことができる。したがって、2レベルエンコーディングシステムは、文書伝達および/または、例えばディジタルライブラリおよびディジタル文書データベースなどのストレージアプリケーションに対して大きい影響を有する可能性がある。
【0017】
本発明の態様によれば、2レベルエンコーディングシステムに、クラスタ形状エスティメータ、クラスタコンポーネントからのビットマップ推定、クラスタ位置エスティメータ、第1エンコーダ、第2エンコーダ、第3エンコーダ、および第4エンコーダを含めることができる。クラスタ形状エスティメータは、ビットマップに関連する接続されたコンポーネント情報(例えば、色、水平サイズ、垂直サイズ、水平位置、および/または垂直位置)を分析する。クラスタ形状エスティメータは、クラスタを抽出し、形状のグローバル辞書、形状のページ辞書、およびクラスタ化されない形状の記録部(以下、ストアという)の少なくとも1つに記録する。
【0018】
ロッシイモードでは、クラスタ形状エスティメータが、クラスタがグローバル辞書内のクラスタの第2閾量以内であるかどうかを決定することができる。1例では、クラスタが、第2閾量以内である場合に、そのページでのクラスタの存在が書き留められる。もう1つの例では、クラスタが、第2閾量以内である場合に、ページでのクラスタの存在が書き留められ、グローバル辞書に記録されたクラスタが、少なくとも部分的にそのクラスタに基づいて修正される。例えば、クラスタ形状エスティメータは、グローバル辞書に記録されたクラスタとそのクラスタの加重平均を実行し、修正されたクラスタがグローバル辞書に記録されることをもたらすことができる。これによって、元のビットマップと比較した時に、デコードされたビットマップでのより明瞭なテキストをもたらすことができる。もう1つの例では、第1閾値(例えば、ロスレスモードに関して使用される)と、第2閾値(例えば、ロッシイモードに関して使用される)が、ほぼ同一の値を有する。
【0019】
形状のグローバル辞書には、グローバルクラスタが含まれる。グローバルクラスタとは、現在のビットマップ(例えばページ)に複数回現れ、かつ/または同一文書の一部として前に処理されたクラスタである。
【0020】
形状のページ辞書には、ページレベルクラスタすなわち、現在のビットマップ(例えばページ)で1回見つかったクラスタが含まれる。例えば、クラスタ形状エスティメータが、現在のビットマップ(例えばページ)の分析を実質的に完了したならば、形状のページ辞書のうちで、現在のビットマップ(例えばページ)で1回だけ見つかったクラスタを含む部分を、送る(例えば、エンコードされたファイルに含める)ことができる。ページ辞書へのインデックス(例えばポインタ)をエンコードする必要はない。というのは、ページ辞書が、ページでのクラスタの出現および、定義によってページに1回だけ現れるページレベルクラスタによって順序付けられるからである。
【0021】
形状のページ辞書には、前のビットマップ(例えばページ)に1回だけ現れたクラスタを記録することができ、実質的に類似するクラスタの第2の出現が後のビットマップで見つかる場合に、そのクラスタを、グローバル辞書に記録し、ページ辞書から除去することができる。クラスタ化されない形状のストアには、テキスト文字になるには小さすぎる(例えば、第3閾値より小さい)か大きすぎ(例えば、第4閾値より大きい)、したがってよくクラスタ化されない、接続されたコンポーネントが記録される。
【0022】
クラスタコンポーネントからのビットマップ推定は、グローバル辞書に記録されたクラスタの辞書位置を決定する。クラスタコンポーネントからのビットマップ推定で、クラスタ形状エスティメータからの情報(例えばポインタ)を使用することができる。このポインタは、その後、第2エンコーダによってエンコードされる。クラスタは、ページでの位置によってソートされているので、インデックス(例えばポインタ)は、テキストストリング風の順序を形成する傾向があり、1例では、第2エンコーダで、テキストストリングに適する圧縮アルゴリズム(例えばLZXエンコーディング)を使用することができる。
【0023】
ロスレスモードでは、クラスタコンポーネントからのビットマップ推定によって、クラスタ化残差を決定することができる。クラスタコンポーネントからのビットマップ推定は、第4エンコーダに、ストアのクラスタ化されない形状と共にエンコードされる(例えばロスレス2レベルエンコーディングを使用して)情報を供給することができる。
【0024】
クラスタ位置エスティメータは、グローバル辞書および/またはページ辞書のクラスタのページ位置を、接続されたコンポーネント情報を使用して決定する。したがって、グローバル辞書および/またはページ辞書のクラスタについて、ページでの位置が、接続されたコンポーネント情報と、グローバル辞書またはページ辞書のいずれかからの辞書エントリからのプロパティとを使用して決定される。その後、ページ位置が、第1エンコーダによってエンコードされる。
【0025】
1例では、1行のクラスタの間の水平(x方向)ギャップが、エンコードされる。というのは、クラスタが、特に単語内で一様に離隔されるからである。さらに、行について、平均水平ギャップを計算し、エンコードすることができ、ギャップ情報は、その後、平均水平ギャップおよび実際の水平ギャップの間の差に基づくようになる。
【0026】
他の1つの例では、平均垂直(y方向)値が計算される。行の平均垂直値が、エンコードされ、その後、クラスタについて、クラスタの垂直値と平均垂直値の間の差がエンコードされる。クラスタの境界ボックスの下辺を使用することができる。というのは、ローマ字の多くの文字が、上辺ではなく下辺に沿って整列されるからである。その結果、所与のクラスタと平均値の間の差が、小さくなる傾向がある。第1エンコーダは、行ごとの基準でエンコードするので、行ごとの第1水平値(x方向)および平均Y値をエンコードすることができる。
【0027】
第1エンコーダは、クラスタ位置エスティメータから受け取ったページ位置をエンコードする。例えば、第1エンコーダは、ビットプレーンエンコーディングを使用することができる。第2エンコーダは、クラスタコンポーネントからのビットマップ推定から受け取る辞書位置をエンコードする(例えばLZXエンコーディング)。
【0028】
第3エンコーダは、ページ辞書および/またはグローバル辞書内のビットマップパターンをエンコードし、ロスレス2レベルビットマップエンコーディングを使用することができる。第4エンコーダは、クラスタ化されない形状のストアをエンコードし、ロスレス2レベルビットマップエンコーディングを使用することができる。
【0029】
通常は文書を紙から電子形式に変換することを意味する、「ペーパーレスオフィス」がますます強調されてきた。変換技術を使用して変換された文書によって、ユーザが電子文書をスキャンし、記録し、かつ/または操作することが可能になるが、大きいファイルがもたらされる。例えば、多くのスキャナでは、20ページ前後のスキャンされたページについて、1メガバイトのデータが簡単に生成される。ユーザが、例えば結果の大きいファイルが問題なる可能性がある場合に、スキャンされた文書を電子メールを介して送信することが困難になる。しかし、本発明のシステムおよび/または方法を使用するスキャナは、例えば200ページのスキャンされたページごとに1メガバイト程度までストレージ要件を減らすことができ、その結果、例えば50ページの法律文書が、250キロバイトの「.blc」ファイルになり、電子メールを介してすばやく送信できるようになる。
【0030】
さらに、きれいな文書では、本発明のシステムおよび/または方法の、一般的なG4フォーマットに対する利得が、例えば10倍になる可能性がある。汚れた文書では、G4に対する圧縮利得が、5倍または、非常に短い文書(単一ページ)の制限内で3倍になる可能性がある。
【0031】
本発明のもう1つの態様は、2レベルエンコーディングシステムに、さらに、クラスタ化システムおよび/またはアクティビティ検出システムを含めることを提供する。
【0032】
クラスタ化システムは、複数のクラスタ(例えば接続されたコンポーネント)に関連する情報を識別する。例えば、この情報には、複数のクラスタ(例えば接続されたコンポーネント)の、幅(例えばxサイズ)、高さ(例えばyサイズ)、色、水平位置(例えば絶対値および/または相対値)、および/または垂直位置(例えば絶対値および/または相対値)を含めることができる。
【0033】
アクティビティ検出システムは、2レベルイメージ入力を受け取る。例えば、2レベルイメージ入力は、マスクセパレータコンポーネント(図示せず)またはスキャンされたイメージ(例えば、文書スキャナおよび/またはファクシミリ機からの)から受け取られる2進マスクとすることができる。アクティビティ検出システムは、ディザリング/ハーフトーン化および/または雑音について2レベルイメージを分析する。アクティビティ検出システムは、2レベルイメージ入力に基づくが、ディザリング/ハーフトーン化および/または雑音を減らされた、2レベルイメージ出力を供給する。
【0034】
ディザリング/ハーフトーン化を有する文書イメージに基づく2レベルイメージは、通常は、領域内および/または領域を横切るかなりの量の接続されたコンポーネントを有する。さらに、雑音を有する2レベルイメージは、通常は、領域内および/または領域を横切る少数の接続されたコンポーネントを有する。したがって、領域内および/または領域を横切る接続されたコンポーネントの量を決定することによって、アクティビティ検出システムが、ディザリング/ハーフトーン化および/または雑音が存在する可能性が高い区域を検出することができる。
【0035】
上で述べたディザリング検出のほかに、アクティビティ検出システムは、さらに、2レベルイメージ入力の雑音を検出するように適合させることができる。「雑音」は、それを除去することが2レベルイメージの保全性を実質的に損なわない、余分な情報(例えばマーク)を指す。2レベルイメージ入力の雑音の除去は、滑らかなイメージからもたらされる改善されたデータ圧縮につながる可能性がある。雑音を有する2レベルイメージの領域は、通常は、比較的低い接続性を示す。例えば、白の背景の上に1つの接続された漂遊(stray)マークだけを含む領域は、1つの接続されたコンポーネントを有する。
【0036】
本発明の他の1つの態様は、2レベルエンコーディングシステム、ロスレス2レベルエンコーダ、および選択コンポーネントを有する選択可能2レベルエンコーディングシステムを提供する。
【0037】
このロスレス2レベルエンコーダでは、ロスレス2レベルエンコーディング技法を使用することができる。選択コンポーネントを用いると、ロスレス2レベルエンコーダを使用するロスレス2レベルエンコーディングと、2レベルエンコーディングシステム(例えばクラスタを使用する(ロスレスまたはロッシイ))の間の選択が可能になる。選択は、例えば、ユーザプリファレンスに基づく、および/または2レベルエンコーディングシステム内のクラスタ化システムによるものとすることができる。
【0038】
本発明の他の1つの態様は、第1デコーダ、第2デコーダ、第3デコーダ、第4デコーダ、クラスタジェネレータ、およびコンバイナを有する2レベルデコーディングシステムを提供する。
【0039】
第1デコーダは、ビットストリーム入力の少なくとも一部(例えば、対応するエンコーダによって作られた部分)をデコードし、クラスタのページ位置を提供する。第2デコーダは、ビットストリーム入力の少なくとも一部(例えば、対応するエンコーダによって作られた部分)をデコードし、デコードされた辞書位置を提供する。第3デコーダは、ビットストリーム入力の少なくとも一部(例えば、対応するエンコーダによって作られた部分)をデコードし、デコードされた形状のグローバル辞書および/またはデコードされた形状のページ辞書を提供する。第4デコーダは、ビットストリーム入力の少なくとも一部(例えば、対応するエンコーダによって作られた部分)をデコードし、クラスタ化されない形状のストアを提供する。
【0040】
クラスタジェネレータは、ページ位置と、辞書位置と、グローバル辞書およびページ辞書の少なくとも1つとに少なくとも部分的に基づいて、クラスタを生成する。コンバイナは、クラスタジェネレータによって生成されたクラスタおよび/またはクラスタ化されない形状のストアに少なくとも部分的に基づいて、2レベル出力を提供する。
【0041】
本発明の他の態様は、タブレットパーソナルコンピュータ、セグメント化された階層イメージシステム、写真複写機、文書スキャナ、光学文字認識システム、携帯情報端末、ファクシミリ機、ディジタルカメラ、ディジタルビデオカメラ、および/またはビデオゲームを含むがこれに制限されない、多数の文書イメージアプリケーションに使用される2レベルエンコーディングシステムを提供する。
【0042】
本発明の他の態様は、2レベルエンコーディング、クラスタ分析、および2レベルデコーディングを実行する方法を提供する。さらに、2レベルエンコーディングのシステムのコンピュータ使用可能命令を有するコンピュータ可読媒体と、2レベルデコーディングのシステムのコンピュータ使用可能命令を有するコンピュータ可読媒体を提供する。また、エンコードされたページ位置を含む第1データフィールドと、エンコードされた辞書位置を含む第2データフィールドと、エンコードされたグローバル辞書およびエンコードされたページ辞書の少なくとも1つを含む第3データフィールドと、エンコードされたクラスタ化されない形状のストアを含む第4データフィールドとを含む、2レベルエンコーディングを容易にする、複数のコンピュータコンポーネントの間で送信されように適合されたデータパケットを提供する。
【0043】
前述および関連する目的の達成のために、本発明のいくつかの例示的態様を、以下の説明および添付図面に関して本明細書で説明する。しかし、これらの態様は、本発明の原理を使用することができるさまざまな形のごく一部を示すものであり、本発明は、そのようなすべての態様および同等物を含むことが意図されている。本発明の他の長所および新規の特徴は、図面と共に検討される時に、本発明の下記の詳細な説明から明白になる。
【0044】
【発明の実施の形態】
本発明を、図面に関して説明するが、図面では、同様の符号が、全体を通じて同様の要素を参照するのに使用される。以下の記述では、説明のために、本発明の完全な理解を提供するために、多数の具体的な詳細を示す。しかし、これらの具体的な詳細なしで本発明を実践できることは明白であろう。他の場合には、本発明の説明を容易にするために、周知の構造および装置を、ブロック図形式で示す。
【0045】
本明細書において、用語「コンピュータコンポーネント」は、ハードウェア、ハードウェアおよびソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアのいずれであれ、コンピュータ関連のエンティティを指すことが意図されている。例えば、コンピュータコンポーネントは、プロセッサ上で実行中のプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行のスレッド、プログラム、および/またはコンピュータとすることができるが、これらに制限はされない。例えば、サーバ上で実行中のアプリケーションとサーバの両方を、コンピュータコンポーネントとすることができる。1つまたは複数のコンピュータコンポーネントが、実行のプロセスおよび/またはスレッド内に常駐することができ、コンポーネントを、1つのコンピュータに局所化することおよび/または複数のコンピュータの間で分散することができる。
【0046】
図1を参照すると、本発明による2レベルエンコーディングシステム100が示されている。2レベルエンコーディングシステム100には、クラスタ形状エスティメータ110、クラスタコンポーネントからのビットマップ推定120、クラスタ位置エスティメータ130、第1エンコーダ140、第2エンコーダ150、第3エンコーダ160、および第4エンコーダ170が含まれる。
【0047】
2レベルエンコーディングシステム100では、ビットマップが、かなりの量のテキストを含む可能性が高いスキャンされた文書に対応するという先の仮定を行うことによって現在の2レベルエンコーディング技術が拡張される。スキャンされた文書は、黒画素のクラスタに対応する文字のビットマップパターンを含むことができる。議論のために、文書の背景が、実質的に白であり、テキストが、実質的に黒であると仮定する。しかし、本発明に関連する使用のためのすべての適切な2レベルカラー表現が、請求の範囲に含まれることが意図されている。
【0048】
2レベルエンコーディングシステム100は、ビットマップをスキャンする(例えば、左から右へ、上から下へ)。インクのクラスタが初めて見つかった時に、そのクラスタをクラスタの辞書に追加する。その後、そのクラスタの画素をエンコードする代わりに、辞書へのポインタPおよびクラスタがページに現れる場所の{X、Y}位置座標をエンコードする。同一のクラスタまたは十分に近いクラスタがビットマップ内で次に見つかった時に、やはり、画素ではなく{P、X、Y}座標をエンコードする。クラスタに十分な画素が含まれる場合に、ロスレスBLCを用いて画素をエンコードするよりも、{P、X、Y}座標をエンコードすることが効率的である。圧縮利得は、複数ページ文書についてより高くなる。というのは、クラスタ辞書を、すべてのページの間で共有することができ、したがって、辞書自体をエンコードするオーバーヘッドが、無視可能になるからである。
【0049】
この2レベルコーディングシステム100は、ロスレスモードまたはロッシイモードで動作することができる。ロスレスモードでは、ビットマップ内のクラスタが、辞書内のクラスタの第1閾量以内である場合に、{P、X、Y}データならびに「クラスタ化残差」すなわち実際のクラスタと辞書内のクラスタの間の小さい差が、送られる。クラスタ化残差は、ロスレス2レベルエンコーダを使用してエンコードすることができる。ロッシイモードでは、ビットマップ内のクラスタが、辞書内のクラスタの第2閾量以内である場合に、3つ組{P、X、Y}がエンコードされるが、クラスタ化残差はエンコードされない。
【0050】
本発明の2レベルエンコーディングシステム100は、例えば従来のスキャナ(例えばCCITT G4)によって生成されるファイルよりかなり小さいファイルをもたらすことができる。したがって、2レベルエンコーディングシステム100は、文書伝達および/または、例えばディジタルライブラリおよびディジタル文書データベースなどのストレージアプリケーションに対して大きい影響を有する可能性がある。
【0051】
クラスタ形状エスティメータ110は、ビットマップに関連する接続されたコンポーネント情報を分析する。例えば、接続されたコンポーネント情報に、接続されたコンポーネントの色、水平サイズ、垂直サイズ、水平位置、および/または垂直位置を含めることができる。クラスタ形状エスティメータ110は、クラスタを抽出し、形状のグローバル辞書172、形状のページ辞書174、およびクラスタ化されない形状のストア176の少なくとも1つに記録する。
【0052】
一時的に図2を参照すると、4接続性プロパティを示す図200が示されている。4接続性プロパティでは、4つの主羅針方位で接続される画素だけが識別される。図2には、4つの主羅針方位の4画素によって囲まれた画素を示すことによって、4接続性プロパティが示されている。次に図3に移ると、8接続性プロパティを示す図300が示されている。図3には、8つの主方向で8つの画素によって囲まれる画素を示すことによって、8接続性プロパティが示されている。接続されたコンポーネントに、テキストならびに非テキストマークを含めることができる。本発明のシステムおよび方法で、すべての適当な度合の接続性を有するコンポーネントを使用することができ、本発明のシステムおよび方法は、4接続性または8接続性の接続されたコンポーネントに限定されるものではない。
【0053】
一時的に図4を参照すると、本発明の態様による例示的な接続されたコンポーネントの境界ボックス400が示されている。境界ボックス400には、一般に、xサイズ(幅)およびyサイズ(高さ)を有する、接続されたコンポーネントを含む長方形が含まれる。
【0054】
図1に戻って、ロッシイモードでは、クラスタ形状エスティメータ110が、クラスタ形状がグローバル辞書172内のクラスタの第2閾量以内であるかどうかを決定することができる。例示的実施形態では、形状の近さが、候補形状を辞書形状と位置合せし、その後、候補形状の画素のうちで、値(白または黒)が辞書形状の画素と異なる画素の分数をカウントすることによって決定される。1例では、クラスタが、第2閾量以内である場合に、そのページでのクラスタの存在が書き留められる。他の例では、クラスタが、第2閾量以内である場合に、ページでのクラスタの存在が書き留められ、グローバル辞書172に記録されたクラスタが、少なくとも部分的にそのクラスタに基づいて修正される。例えば、クラスタ形状エスティメータ110は、グローバル辞書172に記録されたクラスタとそのクラスタの加重平均を実行し、修正されたクラスタがグローバル辞書172に記録されることをもたらすことができる。これによって、元のビットマップと比較した時に、デコードされたビットマップでのより明瞭なテキストをもたらすことができる。
【0055】
形状のグローバル辞書172には、グローバルクラスタが含まれる。グローバルクラスタとは、現在のビットマップ(例えばページ)に複数回現れ、かつ/または同一文書の一部として前に処理されたクラスタである。一時的に図5を参照すると、本発明の態様による例示的なグローバル辞書データ構造500が示されている。グローバル辞書データ構造500は、データ構造500内のインデックスが記録される第1フィールド510、幅(例えばxサイズ)が記録される第2フィールド520、高さ(例えばyサイズ)が記録される第3フィールド530、およびグローバルクラスタのビットマップが記録される第4フィールド540を有する。例えば、xサイズを、接続されたコンポーネントの最大の幅とすることができ、yサイズを、接続されたコンポーネントの最大の高さとすることができる。データ構造500に、複数のグローバルクラスタエントリ550を含めることができる。
【0056】
データ構造500は、単に例示であり、本発明に関して2レベルエンコーディングを容易にするのを助ける複数のデータ型の編成および/または記録を提供する複数の他の構造が企図される。本発明に関する使用に適するそのようなデータ構造のすべてが、請求の範囲に含まれることが意図されている。そのようなデータ構造は、メモリ、ディスク、および搬送波を含むがこれに制限されない、コンピュータ可読媒体に記録することができる。
【0057】
図1に戻り、形状のページ辞書174は、ページレベルクラスタすなわち、現在のビットマップ(例えばページ)で1回見つかったクラスタを備えている。例えば、クラスタ形状エスティメータ110が、現在のビットマップ(例えばページ)の分析を実質的に完了したならば、形状のページ辞書174のうちで、現在のビットマップ(例えばページ)で1回だけ見つかったクラスタを含む部分を、送る(例えば、エンコードされたファイルに含める)ことができる。ページ辞書174へのインデックス(例えばポインタ)をエンコードする必要はない。というのは、ページ辞書174が、ページでのクラスタの出現および、定義によってページに1回だけ現れるページレベルクラスタによって順序付けられるからである。
【0058】
1例では、各ページが、ページが処理された後にエンコードされるそれ自体のページ辞書174を有する。したがって、前のページ辞書174内のエントリは、絶対に除去されない。ページが処理されたならば、そのページ辞書174が、エンコードされ、絶対に修正できない。
【0059】
形状のページ辞書174には、前のビットマップ(例えばページ)に1回だけ現れたクラスタを記録することができ、実質的に類似するクラスタの第2の出現が後のビットマップで見つかる場合に、そのクラスタを、グローバル辞書172に記録し、ページ辞書174から除去することができる。クラスタ化されない形状のストア176には、テキスト文字になるには小さすぎる(例えば、第3閾値より小さい)か大きすぎ(例えば、第4閾値より大きい)、したがってよくクラスタ化されない、接続されたコンポーネントが記録される。
【0060】
したがって、クラスタ形状エスティメータ110は、クラスタを抽出し、そのクラスタを形状のグローバル辞書172、形状のページ辞書174、およびクラスタ化されない形状のストア176の少なくとも1つに記録する。クラスタ形状エスティメータ110は、クラスタコンポーネントからのビットマップ推定120に情報(例えば、形状のグローバル辞書172へのポインタ)を供給することができる。
【0061】
クラスタコンポーネントからのビットマップ推定120は、グローバル辞書に記録されたクラスタの辞書ポインタを決定する。クラスタコンポーネントからのビットマップ推定120は、クラスタ辞書情報のほかに、クラスタ形状エスティメータ110からの情報(例えばポインタ)を使用することができる。このポインタは、その後、第2エンコーダ150によってエンコードされる。クラスタは、テキストの文字を取り込む傾向があるので、インデックス(例えばポインタ)は、文書内のテキストストリングに緊密にマッピングされるストリング風の順序を形成する傾向がある。したがって、1例では、第2エンコーダ150は、テキストストリングに適する圧縮アルゴリズムを使用することができる。例えば、第2エンコーダ150は、LZXエンコーディングを使用することができる。
【0062】
ロスレスモードでは、クラスタコンポーネントからのビットマップ推定120は、クラスタ化残差を決定することができる。クラスタコンポーネントからのビットマップ推定120は、第4エンコーダ170に、クラスタ化されない形状のストア176と共にエンコードされる(例えばロスレス2レベルエンコーディングを使用して)情報を供給することができる。クラスタ位置エスティメータ130は、グローバル辞書172および/またはページ辞書174のクラスタのページ位置を、接続されたコンポーネント情報を使用して決定する。したがって、グローバル辞書172および/またはページ辞書174のクラスタは、ページでの位置が、接続されたコンポーネント情報と、グローバル辞書172またはページ辞書174のいずれかからの辞書エントリからのプロパティとを使用して決定される。その後、ページ位置が、第1エンコーダ140によってエンコードされる。クラスタは、ページでの位置によってソートされているので、ページ位置は、単調に増加する傾向がある。したがって、例示的な実施形態では、第1エンコーダ140が、位置の差分{例えば、Xcurrent−XpreviousおよびYcurrent−Yprevious}を計算し、小さい値をとる可能性が高い整数に適するエントロピエンコーダ(例えば、「Lossless Adaptive Encoding of Finite Alphabet Data」という名称の特許文献2参照)を用いて、そのような差分をエンコードすることによって、位置をエンコードする。
【0063】
1例では、1行のクラスタの間の水平(x方向)ギャップは、クラスタが特に単語内で一様に離隔されるので、エンコードされる。さらに、行について、平均水平ギャップを計算し、エンコードすることができ、ギャップ情報は、その後、平均水平ギャップと実際の水平ギャップの間の差に基づくようになる。
【0064】
他の例では、平均垂直(y方向)値が計算される。行の平均垂直値が、エンコードされ、その後、クラスタについて、クラスタの垂直値と平均垂直値の間の差がエンコードされる。ローマ字の多くの文字として使用することができるクラスタの境界ボックスの下辺は、上辺ではなく下辺に沿って整列される。その結果、所与のクラスタと平均値の間の差が、小さくなる傾向がある。第1エンコーダ140は、行ごとの基準でエンコードするので、行ごとの第1水平値(x方向)および平均Y値をエンコードすることができる。
【0065】
第1エンコーダ140は、クラスタ位置エスティメータ130から受け取ったページ位置をエンコードする。例えば、第1エンコーダ140は、ビットプレーンエンコーディングを使用することができる。第2エンコーダ150は、クラスタコンポーネントからのビットマップ推定120から受け取る辞書位置をエンコードする(例えばLZXエンコーディング)。
【0066】
第3エンコーダ160は、ページ辞書および/またはグローバル辞書内のビットマップパターンをエンコードし、ロスレス2レベルビットマップエンコーディングを使用することができる。第4エンコーダ170は、クラスタ化されない形状のストアをエンコードし、ロスレス2レベルビットマップエンコーディングを使用することができる。
【0067】
図1は、2レベルエンコーディングシステム100のコンポーネントを示すブロック図であるが、クラスタ形状エスティメータ110、クラスタ位置エスティメータ130、クラスタコンポーネントからのビットマップ推定120、第1エンコーダ140、第2エンコーダ150、第3エンコーダ160、および/または第4エンコーダ170を、1つまたは複数のコンピュータコンポーネントとして(本明細書でのこの用語の定義に従って)実施できる。したがって、2レベルエンコーディングシステム100、クラスタ形状エスティメータ110、クラスタ位置エスティメータ130、クラスタコンポーネントからのビットマップ推定120、第1エンコーダ140、第2エンコーダ150、第3エンコーダ160、および/または第4エンコーダ170を実施するように動作可能なコンピュータ実行可能コンポーネントを、本発明に従って、ASIC(特定用途向け集積回路)、CD(コンパクトディスク)、DVD(ディジタル多用途ディスク)、ROM(読取専用メモリ)、フロッピディスク、ハードディスク、EEPROM(電気的消去可能PROM)、およびメモリスティックを含むがこれに制限されないコンピュータ可読媒体に記録できる。
【0068】
次に図6に移ると、本発明の態様による2レベルエンコーディングシステム600が示されている。2レベルエンコーディングシステム600には、クラスタ形状エスティメータ110、クラスタコンポーネントからのビットマップ推定120、クラスタ位置エスティメータ130、第1エンコーダ140、第2エンコーダ150、第3エンコーダ160、および第4エンコーダ170が含まれる。2レベルエンコーディングシステム600には、さらに、クラスタ化システム610および/またはアクティビティ検出システム620が含まれる。
【0069】
クラスタ化システム610は、複数のクラスタ(例えば接続されたコンポーネント)に関連する情報を識別する。例えば、この情報には、複数のクラスタ(例えば接続されたコンポーネント)の、幅(例えばxサイズ)、高さ(例えばyサイズ)、色、水平位置(例えば絶対値および/または相対値)、および/または垂直位置(例えば絶対値および/または相対値)を含めることができる。
【0070】
アクティビティ検出システム620は、2レベルイメージ入力を受け取る。例えば、2レベルイメージ入力は、マスクセパレータコンポーネント(図示せず)またはスキャンされたイメージ(例えば、文書スキャナおよび/またはファクシミリ機からの)から受け取られる2進マスクとすることができる。アクティビティ検出システム620は、ディザリング/ハーフトーン化および/または雑音について2レベルイメージを分析する。アクティビティ検出システム620は、2レベルイメージ入力に基づくが、ディザリング/ハーフトーン化および/または雑音を減らされた、2レベルイメージ出力を供給する。
【0071】
ディザリング/ハーフトーン化を有する文書イメージに基づく2レベルイメージは、通常は、領域内および/または領域を横切るかなりの量の接続されたコンポーネントを有する。さらに、雑音を有する2レベルイメージは、通常は、領域内および/または領域を横切る少数の接続されたコンポーネントを有する。したがって、領域内および/または領域を横切る接続されたコンポーネントの量を決定することによって、アクティビティ検出システム620が、ディザリング/ハーフトーン化および/または雑音が存在する可能性が高い区域を検出することができる。
【0072】
上で述べたディザリング検出のほかに、アクティビティ検出システム620は、さらに、2レベルイメージ入力の雑音を検出するように適合させることができる。「雑音」は、それを除去することが2レベルイメージの保全性を実質的に損なわない、余分な情報(例えばマーク)を指す。2レベルイメージ入力の雑音の除去は、滑らかなイメージからもたらされる改善されたデータ圧縮につながる可能性がある。雑音を有する2レベルイメージの領域は、通常は、比較的低い接続性を示す。例えば、白の背景の上に1つの接続された漂遊マークだけを含む領域は、1つの接続されたコンポーネントを有する。
【0073】
クラスタ化システム610および/またはアクティビティ検出システム620を、1つまたは複数のコンピュータコンポーネントとして(本明細書でのこの用語の定義に従って)実施できる。
【0074】
次に図7を参照すると、本発明の態様による選択可能2レベルエンコーディングシステム700が示されている。選択可能2レベルエンコーディングシステム700には、2レベルエンコーディングシステム600、ロスレス2レベルエンコーダ710、および選択コンポーネント720が含まれる。
【0075】
ロスレス2レベルエンコーダ710では、ロスレス2レベルエンコーディング技法を使用することができる。例えば、ロスレス2レベルエンコーダ710で、算術符号化を使用するのではなく、JBIG、JBIG−2、およびJB2などの最新技術のコーダに近い性能を有するエンコーディング処理(BLC)を使用することができる。一般に、2レベルコーダ(BLC)では、2つのコンテキストベース適応ジュールすなわち、1)元の画素を予測誤差画素に明示的にマッピングするのに使用される、低解像度確率推定によって制御される適応プレディクタ、および2)予測誤差画素をエンコードする逆方向適応Run−Length−Rice(RLR)コーダが使用される。これは、コンテキスト依存の確率推定値によって画素予測と適応エントロピコーディングの両方が制御される普通の手法と対照的である。その単純さに起因して、多くの応用例で、BLCは、他の現在のコーダよりもよい選択肢になる。
【0076】
2レベルイメージ圧縮エンコーディングは、画素予測および予測誤差生成手順から開始される。画素予測は、一般に、周囲の画素に基づく画素の値(例えば0または1のいずれか)の予測を必要とする。具体的に言うと、画素予測は、コンテキスト依存確率推定値を計算することによって達成される。コンテキストは、本質的に、テンプレートと称するパターンを形成する、前にエンコードされた画素の近傍である。標準的なテンプレートのどれであっても、本発明の目的に採用することができる。コンテキストは、ラスタ順の指定された数の画素値のベクタリストとみなすことができる。これらの値が、コンテキストを一意に識別する2進ワードを形成する。この2進ワードを、コンテキストインデックスと称する。
【0077】
コンテキスト依存確率推定値は、まず画素確率テーブルを作成し、初期化することによって計算される。これは、可能なコンテキストインデックスのそれぞれに初期確率を割り当てることによって達成される。初期確率は、0.5であることが好ましい(すなわち、コンテキストインデックスに関連する画素が白である確率と黒である確率が等しい)。しかし、確率値は、エンコーダとデコーダの間での丸め問題を避けるためにスケーリングされる。スケーリングは、画素が白である100%の確率を表す整数を選択することによって行われることが好ましい。例えば、本発明のテストされた実施形態では、数「8」が使用された。したがって、前述の初期値を表すスケーリングされた確率は、「4」になる。
【0078】
ラスタ順の画素ごとに、前にエンコードされた画素のパターンに関連するコンテキストインデックスが、識別され、スケーリングされた確率が、テーブルから読み取られる。確率が0.5以上である(すなわち、上で示した例では4以上のスケーリングされた確率)場合には、検討中の画素が、白と予測され、適当な2進値(例えば、おそらくは「0」画素値)を割り当てられる。各コンテキストインデックスに初めて出会う時には、当初に4のスケーリングされた確率がテーブル内の各コンテキストインデックスに割り当てられるので、予測が必ず白画素になることに留意されたい。スケーリングされた予測値は、予測された画素が白画素と思われる場合には、指定された量(例えば1)だけ増分することによって、あるいは、画素が黒と予測される場合には、指定された量(例えば1)だけ減分することによって、調整される。スケーリングされた確率調整動作の結果は、0付近に含まれる場合に0値、最大のスケーリングされた確率値−1の近くに含まれる場合にその値に切り詰められる。したがって、確率は、エンコードされるイメージと、どの画素位置が予測されているかに応じて変化する。これを、逆方向適応画素予測と称する。というのは、デコーダが、明示的なコンテキスト確率情報がデコーダに送られることを必要とせずに、確率推定値に対して同一の調整を実行することができるからである。
【0079】
次に、予測誤差を計算する。本質的に、予測御差は、2レベルイメージ内の各画素の白または黒のいずれかの予測された画素値を実際の画素と比較することによって計算される。その後、正しくない予測に関するデータだけを送る必要がある。ほとんどの婆に、予測は正しく、したがって、データの量のかなりの節約を実現することができる。これが機能するのは、前に説明したように、デコーダが、同一の予測処理を実行し、誤差を含む同一の結果を得るからである。したがって、すべてのデコーダが、場合に応じて白から黒へまたは黒から白へ画素値を変更してイメージを再構成するために、予測された画素値のどれが誤っているかを知る必要がある。予測御差は、具体的には、イメージ内の各画素の値が排他的論理和論理を使用して予測された値と比較される2進技法を使用して計算される。したがって、実際の画素値が予測された値と一致する(例えば、両方が0であるか両方が1である)場合に、いわゆる予測誤差イメージの一部としてのその画素位置に「0」が割り当てられる。しかし、実際の画素値が予測された値と異なる場合には、予測誤差イメージ内の関連する画素位置に「1」が割り当てられる。
【0080】
2レベルイメージエンコーディングの次の段階には、コンテキスト依存の逆方向適応Run−Length−Rice(RLR)コーディング手順が含まれる。予測された値が、通常は実際の値と一致することがわかっているので、予測誤差イメージは、ほとんど0からなる。これによって、予測誤差イメージが、さらなる圧縮に特に従うようになり、したがって、さらに少ない情報を送ることが可能になる。予測誤差イメージをエンコードするために、RLRコーディング技法を使用することが好ましい。一般に、RLRコーダは、2k個の0の連続したランが、単一の「0」によって形成されるコードワードによって表現され、r個のゼロ(r<2k)とその後の1つの1の部分ランが、1とそれに続くrのkビット2進ワード表現によって形成されるコードワードによって表現される、変数−可変長エントロピコーダである。変数kによって、コードワードが送られる前に予測誤差イメージに現れることができる0の最大ランレングスが定義される。この変数を調節することによって、コーディング動作の効率が制御される。好ましい技法は、kの調整に逆方向適応手法を使用することである。この手法では、kの初期値を選択することと、その後、「0」コードワードが生成されるか「1+kビット2進ワード」コードが生成されるかに基づく増分だけkを上下に調整することが用いられる。本発明によるRLRエンコーディング技法は、前に説明したコンテキストにも依存する。具体的に言うと、k変数を各コンテキストインデックスに割り当てるエンコーディングテーブルが、確立される。このエンコーディングテーブルは、次に説明するように、2レベルイメージのエンコーディング中に発生する可能性があるkの値に対する変更を反映するように更新される。
【0081】
前述のコンテキスト依存逆方向適応RLRエンコーディング技法では、各コンテキストインデックスに関連するk値を、指定された初期値にセットする(例えばk=2)ことによって、前述のエンコーディングテーブルをまず初期化することが用いられる。さらに、Riceパラメータk’として指定されるk変数のスケーリングされたバージョンが、各コンテキストに割り当てられる。例えば、単純なスケーリング係数に現在のk値をかけて、現在のk’値を作ることができ、このk’値はk値より大きくなる。
【0082】
予測誤差値が、画素位置について確立される時に、本発明のRLRコーダは、前に説明した予測誤差決定処理で決定される、その画素位置に関連するコンテキストインデックスを識別する。そのコンテキストインデックスに現在割り当てられているk値が、エンコーディングテーブルから読み取られる。検討中の画素位置が、イメージのラスタ順で最初の画素(すなわち、左上角の画素)である場合には、テーブルから読み取られた関連するk値を使用して、ランレングスを計算し、このランレングスは、2kに等しいことが好ましい。このランレングスは、「0」コードワードを生成するために存在しなければならないラスタ順で連続する白画素の数を表す。次の予測誤差値を計算する時に、それが「1」または「0」のどちらであるかが決定される。「0」である場合には、この値が、検討中の前に計算されたランレングスの「中」であるか、このランレングスの終りを表すかを決定する。ランの終りを表さない場合には、コードワードは生成されない。しかし、予測誤差値がランの終りを表す場合には、「0」コードワードを送る。もちろん、予測誤差値が現在のランレングスの終りを表すかどうかを知るために、本発明のRLRコーダは、何個の「0」に出会ったかを記憶しなければならない。これは、エンコーディングテーブルにランカウンタも含めることによって行われることが好ましい。具体的に言うと、別々のランカウンタが、コンテキストインデックスのそれぞれに割り当てられる。
【0083】
1実施形態では、ランカウンタに、当初は計算されたランレングス値がセットされる。その後、連なりの先頭を含めて、上で述べたように「0」に出会うたびに、カウンタを1つ減分する。カウンタが0に達した時に、現在処理中の予測誤差値が、現在のランレングスの終りと考えられる。その一方で、ラン中のいつでも、「1」の予測誤差値に出会う場合に、本発明のRLRコーダは、「1+kビット2進ワード」コードを生成し、このkビット2進ワードは、「1」に出会う前に現在のランで出会った「0」の数を表す。出会った「0」の数は、ランが始まる画素位置に関連するコンテキストインデックスに割り当てられた前述のランカウンタを使用して、簡単に決定することができる。「0」であれ「1+kビット2進ワード」であれ、コードワードが生成されたならば、生成される次の予測誤差値が、もう1つのランの開始に使用される。これは、予測誤差値の画素位置に関連するコンテキストインデックスを識別し、前述の処理を繰り返すことによって、最初の画素位置について行われたように達成することができる。
【0084】
さらに、実質的にコードワードが生成されるたびに、そのコードワードをもたらしたランに関連するk値が、調整される。これは、下記のように達成されることが好ましい。生成されるコードワードが「0」である場合に、パラメータk’を、指定された量だけ増分する。逆に、コードワードが「0」でない場合には、パラメータk’を、指定された量だけ減分する。この指定された量は、望まれる場合に、現在のk’の値に応じて変更することができる。新しいkの値は、前述のスケーリング係数によって新しいk’値を割ることによって計算される。その後、k’の新しい値を、前の値の代わりにエンコーディングテーブルに記録する。整数ステップだけk’の値を調整することによって、最適エンコーディング性能に必要なRLRパラメータkの微細な調整を達成することができると同時に、k調整ステップをデコーダが正確に追跡できるようにするのに必要な整数算術だけが保たれる。
【0085】
選択コンポーネント720を用いると、ロスレス2レベルエンコーダ710を使用するロスレス2レベルエンコーディングと、2レベルエンコーディングシステム(例えばクラスタを使用する(ロスレスまたはロッシイ))の間での選択が可能になる。選択は、例えば、ユーザプリファレンスに基づく、および/または2レベルエンコーディングシステム600内のクラスタ化システム610によるものとすることができる。1例では、クラスタ化システム610が、ロスレス2レベルエンコーディングを用いて進行することがより効率的であることを決定しし、ロスレス2レベルエンコーダ710の選択を容易にする選択コンポーネント720に出力を供給する。
【0086】
例えば、手書きのメモまたは他のグラフィックスに関して、クラスタ化システム610は、クラスタ化がロスレス2レベルエンコーディングより非効率的である(例えば、多数の繰り返されるクラスタがないので)と決定することができる。したがって、選択コンポーネント720によって、ロスレス2レベルエンコーダ710の利用を可能にすることができる。
【0087】
ロスレス2レベルエンコーダ710および/または選択コンポーネント720を、1つまたは複数のコンピュータコンポーネントとして(本明細書でのこの用語の定義に従って)実施できることを諒解されたい。
【0088】
図8に移ると、本発明の態様による2レベルデコーディングシステム800が示されている。2レベルデコーディングシステム800には、第1デコーダ810、第2デコーダ820、第3デコーダ830、第4デコーダ840、クラスタジェネレータ850、およびコンバイナ860が含まれる。
【0089】
第1デコーダ810は、ビットストリーム入力の少なくとも一部(例えば、対応するエンコーダによって作られた部分)をデコードし、クラスタのページ位置864を供給する。1例では、第1デコーダ810が、ビットプレーンデコーディングを使用する。
【0090】
第2デコーダ820は、ビットストリーム入力の少なくとも一部(例えば、対応するエンコーダによって作られた部分)をデコードし、デコードされた辞書位置868を供給する。例えば、第2デコーダ820は、LZXデコーディングを使用することができる。
【0091】
第3デコーダ830は、ビットストリーム入力の少なくとも一部(例えば、対応するエンコーダによって作られた部分)をデコードし、デコードされた形状のグローバル辞書872および/またはデコードされた形状のページ辞書876を供給する。例えば、第3デコーダ830は、ロスレス2レベルデコーディングを使用することができる。
【0092】
第4デコーダ840は、ビットストリーム入力の少なくとも一部(例えば、対応するエンコーダによって作られた部分)をデコードし、クラスタ化されない形状のストア880を供給する。例えば、第4デコーダ840は、ロスレス2レベルデコーディングを使用することができる。
【0093】
クラスタジェネレータ850は、少なくとも部分的に、ページ位置と、辞書位置と、グローバル辞書およびページ辞書の少なくとも1つとに基づいて、クラスタを生成する。
【0094】
コンバイナ860は、少なくとも部分的に、クラスタジェネレータ850によって生成されるクラスタおよび/またはクラスタ化されない形状のストア880に基づいて、2レベル出力を供給する。
【0095】
上述した例示的システムに鑑みて、本発明に従って実施する方法は、図9、10、11、12、13、および14の流れ図に関してよりよく理解される。説明を単純にするために、この方法を、ブロックの形で図示し、説明するが、いくつかのブロックを、本発明に従って、図示され本明細書で説明されるものと異なる順序および/または他のブロックと同時に行うことができるので、本発明が、ブロックの順序によって制限されないことを理解し、諒解されたい。さらに、示されるすべてのブロックが、本発明による方法の実施に必要とは限らない。
【0096】
本発明を、1つまたは複数のコンポーネントによって実行可能な、プログラムモジュールなどのコンピュータ実行可能命令の全般的な文脈で説明することができる。一般に、プログラムモジュールには、特定のタスクを実行するか特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、データ構造などが含まれる。通常、プログラムモジュールの機能性は、さまざまな実施形態で望みどおりに組み合わせるか分散させることができる。
【0097】
図9に移ると、本発明の態様に従って2レベルエンコーディングを実行する方法900が示されている。910で、クラスタ分析を実行する。例えば、ビットマップに関連する接続されたコンポーネント情報を分析することができる(例えばクラスタ形状エスティメータ110によって)。接続されたコンポーネント情報には、接続されたコンポーネントの色、水平サイズ、垂直サイズ、水平位置、および/または垂直位置を含めることができる。914で、クラスタを抽出する。例えば、抽出されたクラスタを、グローバル辞書、ページ辞書、およびクラスタ化されない形状のストアに記録することができる。
【0098】
次に、920で、クラスタ化されない形状をエンコードする。例えば、クラスタ化されない形状に、テキスト文字になるには小さすぎる(例えば、第3閾値より小さい)か大きすぎ(例えば、第4閾値より大きい)、したがってよくクラスタ化されない、接続されたコンポーネントを含めることができる。クラスタ化されない形状は、ロスレス2レベルエンコーディングを使用してエンコードすることができる。
【0099】
930で、グローバル辞書へのポインタを識別する。ポインタは、少なくとも部分的に、クラスタ分析および/または接続されたコンポーネント情報に基づいて識別することができる。940で、ポインタをエンコードする。1例では、クラスタがページでの位置によってソートされるているので、インデックス(例えばポインタ)が、テキストストリング風の順序を形成する傾向があり、エンコーディングは、テキストストリングに適する圧縮アルゴリズム(例えばLZXエンコーディング)を使用して実行される。
【0100】
950で、ページ位置を識別する。ページ位置は、グローバル辞書および/またはページ辞書内のクラスタに関するものであり、接続されたコンポーネント情報を使用して識別することができる。したがって、グローバル辞書および/またはローカル辞書内のクラスタについて、ページでの位置は、接続されたコンポーネント情報と、グローバル辞書またはページ諸のいずれかからの辞書エントリからのプロパティとを使用して決定される。960で、例えばビットプレーンエンコーディングを使用して、ページ位置をエンコードする。
【0101】
970で、ロスレスモードが望まれるかどうかに関する決定を行う。970の決定がYESである場合には、980で、残差イメージをエンコードし、処理は990で継続される。970の決定がNOである場合には、処理は990で継続される。990で、ページ辞書をエンコードする。992で、グローバル辞書をエンコードする(例えばロスレス2レベルエンコーディングを使用して)。
【0102】
次に図10および11を参照すると、本発明の態様に従って2レベルエンコーディングを実行する方法1000が示されている。1004で、クラスタに関する情報を受け取る(例えば、色、水平サイズ、垂直サイズ、水平位置、および/または垂直位置)。
【0103】
1008で、クラスタがグローバル辞書にあるかどうかに関する決定を行う。例えば、ロスレスモードでは、この決定を、クラスタがグローバル辞書内のクラスタから第1閾量以内であるかどうかに基づくものとすることができる。さらに、ロッシイモードでは、この決定を、クラスタがグローバル辞書内のクラスタから第2閾量以内であるかどうかに基づくものとすることができる。
【0104】
1008での決定がYESの場合には、処理は1012で継続される。1008での決定がNOの場合には、1016で、クラスタがページ辞書にあるかどうかに関する決定を行う。1016での決定がNOの場合には、1020で、クラスタをページ辞書に記録し、処理は1012で継続される。1016での決定がYESの場合には、1024で、クラスタをグローバル辞書に記録する。1028で、クラスタをページ辞書から除去し、処理は1012で継続される。
【0105】
1012で、クラスタをビットマップから抽出する。次に、1032で、ページにまだクラスタがあるかどうかに関する決定を行う。1032での決定がYESの場合には、処理は1004で継続される。1032での決定がNOの場合には、1036で、ページ辞書をエンコードする。1040で、ページ上のクラスタのグローバル辞書ポインタを識別する。1044で、ページ上のクラスタのグローバル辞書ポインタをエンコードする。次に、1048で、まだページがあるかどうかに関する決定を行う。1048での決定がYESの場合には、処理は1004で継続される。1048での決定がNOの場合には、1052で、グローバル辞書をエンコードする。
【0106】
次に、図12および13に移ると、本発明の態様に従ってクラスタ分析を実行する方法1200が示されている。1204で、クラスタを識別する。1208で、アクティビティ検出を実行する。1212で、クラスタ分析を実行する。1216で、クラスタ化されない形状をエンコードする。1220で、グローバル辞書へのポインタを識別する。1224で、ポインタをエンコードする。1228で、ページ位置を識別する。1232で、ページ位置をエンコードする。1236で、ロスレスモードが所望されるかどうかに関する決定を行う。1236での決定がYESの場合には、1240で、残差をエンコードし、処理は、1244で継続される。1236での決定がNOの場合には、処理は1244で継続される。1244で、ページ辞書をエンコードする。1248で、グローバル辞書をエンコードする。
【0107】
図14を参照すると、本発明の態様に従って2レベルデコーディングを実行する方法1400が示されている。1410で、ページ位置をデコードする。1420で、辞書位置をデコードする。1430で、グローバル辞書をデコードする。1440で、ページ辞書をデコードする。1450で、クラスタ化されない形状をデコードする。1460で、少なくとも部分的に、ページ位置、辞書位置、グローバル辞書、および/またはページ辞書に基づいて、クラスタを生成する。1470で、生成されたクラスタおよびクラスタ化されない形状を組み合わせて、例えば2レベルイメージを形成する。
【0108】
本発明のシステムおよび/または方法を、テキスト、手書き、ドローイング、画像、および類似物の圧縮を容易にする総合的な圧縮システムで使用できる。さらに、本発明のシステムおよび/または方法を、タブレットパーソナルコンピュータ、写真複写機、文書スキャナ、光学文字認識システム、PDA、ファクシミリ機、ディジタルカメラ、ディジタルビデオカメラ、および/またはビデオゲームを含むがこれに制限されない、多数の文書イメージアプリケーションで使用できることを、当業者は認めるであろう。
【0109】
本発明のさまざまな態様の追加の文脈を提供するために、図15および以下の説明は、本発明のさまざまな態様を実施することができる、適切なオペレーティング環境1510の簡単な全般的な説明を提供することを意図されたものである。本発明を、1つまたは複数のコンピュータまたは他の装置によって実行可能な、プログラムモジュールなどのコンピュータ実行可能命令の全般的な文脈で説明するが、本発明を、他のプログラムモジュールと組み合わせて、かつ/またはハードウェアおよびソフトウェアの組合せとして実施することもできることを、当業者は認めるであろう。しかし、一般に、プログラムモジュールには、特定のタスクを実行するか特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。オペレーティング環境1510は、適切なオペレーティング環境の1例にすぎず、本発明の使用の範囲または機能性に間する制限を暗示することを意図されたものではない。本発明と共に使用するのに適する可能性がある他の既知のコンピュータシステム、環境、および/または構成には、パーソナルコンピュータ、ハンドヘルドデバイスまたはラップトップデバイス、マイクロプロセッサシステム。マイクロプロセッサベースシステム、プログラマブル消費者電子製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたは装置を含む分散コンピューティング環境、および類似物が含まれるが、これに制限はされない。
【0110】
図15を参照すると、本発明のさまざまな態様を実施する例示的環境1510に、コンピュータ1512が含まれる。コンピュータ1512には、処理ユニット1514、システムメモリ1516、およびシステムバス1518が含まれる。システムバス1518は、システムメモリ1516を含むがこれに制限されないシステムコンポーネントを処理ユニット1514に結合する。処理ユニット1514は、さまざまな使用可能なプロセッサのどれにでもすることができる。デュアルマイクロプロセッサおよび他のマイクロプロセッサアーキテクチャも、処理ユニット1514として実施することができる。
【0111】
システムバス1518は、15ビットバス、Industrial Standard Architecture(ISA)、マイクロチャネルアーキテクチャ(MCA)、Extended ISA(EISA)、Intelligent Drive Electronics(IDE)、VESA LocalBus(VLB)、Peripheral Component Interconnect(PCI)、Universal Serial Bus(USB)、Advanced Graphics Port(AGP)、Personal Computer Memory Card International Associationバス(PCMCIA)、およびSmall Computer Systems Interface(SCSI)を含むがこれに制限されないさまざまな使用可能なバス・アーキテクチャを使用する、メモリバスまたはメモリコントローラ、周辺バスまたは外部バス、および/またはローカルバスを含む複数のバス構造のどれにでもすることができる。
【0112】
システムメモリ1516には、揮発性メモリ1520および不揮発性メモリ1522が含まれる。起動中などにコンピュータ1512内の要素の間で情報を転送する基本ルーチンを含む基本入出力システム(BIOS)が、不揮発性メモリ1522に記録される。制限ではなく例として、不揮発性メモリ1522に、読取専用メモリ(ROM)、プログラマブルROM(PROM)、電気プログラム可能ROM(EPROM)、電気消去可能ROM(EEPROM)、またはフラッシュメモリを含めることができる。揮発性メモリ1520には、外部キャッシュメモリとして働くランダムアクセスメモリ(RAM)が含まれる。制限ではなく例として、RAMは、シンクロナスRAM(SRAM)、ダイナミックRAM(DRAM)、シンクロナスDRAM(SDRAM)、ダブルデータレートSDRAM(DDR SDRAM)、エンハンストSDRAM(ESDRAM)、シンクリンクDRAM(SLDRAM)、およびダイレクトラムバスRAM(DRRAM)などの多数の形で入手可能である。
【0113】
コンピュータ1512には、取外し可能/取外し不能の、揮発性/不揮発性コンピュータ記憶媒体も含まれる。図15には、例えば、ディスクストレージ1524が示されている。ディスクストレージ1524には、磁気ディスクドライブ、フロッピディスクドライブ、テープドライブ、Jazzドライブ、Zipドライブ、LS−100ドライブ、フラッシュメモリカード、またはメモリスティックなどのデバイスが含まれるが、これに制限はされない。さらに、ディスクストレージ1524に、コンパクトディスクROM装置(CD−ROM)、CDレコーダブルドライブ(CD−Rドライブ)、CD書換可能ドライブ(CD−RWドライブ)、またはディジタル多用途ディスクROMドライブ(DVD−ROM)などの光ディスクドライブを含むがこれに制限されない他の記憶媒体と組み合わせてまたは別々の記憶媒体を含めることができる。システムバス1518へのディスクストレージ装置1524の接続を容易にするために、インターフェース1526などの取外し可能インターフェースまたは取外し不能インターフェースが、通常は使用される。
【0114】
図15では、ユーザと適切なオペレーティング環境1510内の説明された基本コンピュータリソースとの間の仲介として働くソフトウェアを説明することを諒解されたい。そのようなソフトウェアには、オペレーティングシステム1528が含まれる、オペレーティングシステム1528は、ディスクストレージ1524に記録することができるが、コンピュータシステム1512のリソースを制御し、割り振るように働く。システムアプリケーション1530は、システムメモリ1516またはディスクストレージ1524のいずれかに記録されたプログラムモジュール1532およびプログラムデータ1534を介してオペレーティングシステム1528によるリソースの管理を利用する。本発明を、さまざまなオペレーティングシステムまたはオペレーティングシステムの組合せと共に実施できることを諒解されたい。
【0115】
ユーザは、入力装置1536を介してコンピュータ1512にコマンドまたは情報を入力する。入力装置1536には、マウス、トラックボール、スタイラス、タッチパッド、キーボード、マイクロホン、ジョイスティック、ゲームパッド、衛星放送用パラボラアンテナ、スキャナ、TVチューナカード、ディジタルカメラ、ディジタルビデオカメラ、ウェブカメラ、および類似物が含まれるが、これに制限はされない。これらおよび他の入力装置は、システムバス1518を介し、インターフェースポート1538を介して処理ユニット1514に接続される。インターフェースポート1538には、例えば、シリアルポート、パラレルポート、ゲームポート、およびuniversal serial bus(USB)が含まれる。出力装置1540では、入力装置1536と同一のタイプのポートのいくつかが使用される。したがって、例えば、USBポートを使用して、コンピュータ1512に入力を供給し、コンピュータ1512から出力装置1540に情報を出力することができる。出力アダプタ1542は、出力装置1540の中で、特殊なアダプタを必要とする、モニタ、スピーカ、およびプリンタなどのいくつかの出力装置1540があることを示すために設けられている。出力アダプタ1542には、制限ではなく例として、出力装置1540とシステムバス1518の間の接続の手段を提供する、ビデオカードおよびサウンドカードが含まれる。他の装置および/または装置のシステムによって、リモートコンピュータ1544などの入力機能および出力機能の両方が提供されることに留意されたい。
【0116】
コンピュータ1512は、リモートコンピュータ1544などの1つまたは複数のリモートコンピュータへの論理接続を使用するネットワーク化された環境で動作することができる。リモートコンピュータ1544は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ワークステーション、マイクロプロセッサベース機器、ピアデバイスまたは他の一般的なネットワークノードおよび類似物とすることができ、通常は、コンピュータ1512に関して説明した要素の多くまたはすべてが含まれる。図を簡単にするために、リモートコンピュータ1544と共に、1つのメモリストレージ装置1546だけを図示した。リモートコンピュータ1544は、論理的に、ネットワークインターフェース1548を介してコンピュータ1512に接続され、物理的に、通信接続1550に接続される。ネットワークインターフェース1548には、ローカルエリアネットワーク(LAN)および広域ネットワーク(WAN)などの通信ネットワークが含まれる。LAN技術には、Fiber Distributed Data Interface(FDDI)、Copper Distributed Data Interface(CDDI)、イーサネット(登録商標)/IEEE1502.3、トークンリング/IEEE 1502.5、および類似物が含まれる。WAN技術には、ポイントツーポイントリンク、サービス総合ディジタル網(ISDN)およびその変形などの回路交換網、パケット交換網、およびDigital Subscriber Line(DSL)が含まれるが、これに制限はされない。
【0117】
通信接続1550は、ネットワークインターフェース1548をバス1518に接続するのに使用されるハードウェア/ソフトウェアを指す。通信接続1550は、明瞭な例示のためにコンピュータ1512内に図示されているが、コンピュータ1512の外部にすることもできる。ネットワークインターフェース1548への接続に必要なハードウェア/ソフトウェアには、例示のみとして、通常の電話級モデム、ケーブルモデム、およびDSLモデムを含むモデム、ISDNアダプタ、およびイーサネット(登録商標)カードなどの、内蔵または外付けの技術が含まれる。
【0118】
上で説明したものには、本発明の例が含まれる。もちろん、本発明を説明するためにコンポーネントおよび方法の考えられるすべての組合せを説明することは、不可能であるが、本発明の多数のさらなる組合せおよび置換が可能であることを、当業者は認めるであろう。したがって、本発明は、請求項の趣旨および範囲に含まれるすべての代替形態、修正形態、および変形形態を含むことを意図されている。さらに、詳細な説明または請求項のいずれかで用語「含む(includes)」が使用される範囲までは、そのような用語が、「含む(comprising)」が請求項の接続単語として使用される時に解釈される用語「含む(comprising)」と類似する形で包含的であることを意図されている。
【0119】
【発明の効果】
以上説明したように、本発明によれば、インククラスタの明示的な表現を用いる2レベルイメージの圧縮処理を容易化したので、データ量の大きなファイルをスキャナーでスキャンして電子データとして保存し、圧縮して電子メールで送信するような場合、その電子データを迅速に送信することが可能となり、効率的なデータ通信を実現することができる。
【図面の簡単な説明】
【図1】本発明の態様による2レベルエンコーディングシステムのブロック図である。
【図2】4接続性プロパティを示す図である。
【図3】8接続性プロパティを示す図である。
【図4】本発明の態様による例示的な接続されたコンポーネントの境界ボックスを示す図である。
【図5】本発明の態様による例示的なグローバル辞書データ構造を示す図である。
【図6】本発明の態様による2レベルエンコーディングシステムのブロック図である。
【図7】本発明の態様による選択可能2レベルエンコーディングシステムのブロック図である。
【図8】本発明の態様による2レベルデコーディングシステムのブロック図である。
【図9】本発明の態様に従って2レベルエンコーディングを実行する方法を示す流れ図である。
【図10】本発明の態様に従って2レベルエンコーディングを実行する方法を示す流れ図である。
【図11】図10の方法をさらに示す流れ図である。
【図12】本発明の態様に従ってクラスタ分析を実行する方法を示す流れ図である。
【図13】図12の方法をさらに示す流れ図である。
【図14】本発明の態様に従って2レベルデコーディングを実行する方法を示す流れ図である。
【図15】本発明がその中で機能することができる例のオペレーティング環境を示す図である。
【符号の説明】
100 2レベルエンコーディングシステム
110 クラスタ形状エスティメータ
120 クラスタコンポーネントからのビットマップ推定
130 クラスタ位置エスティメータ
140 第1エンコーダ
150 第2エンコーダ
160 第3エンコーダ
170 第4エンコーダ
172 形状のグローバル辞書
174 形状のページ辞書
176 クラスタ化されない形状のストア
Claims (59)
- 2レベルエンコーディングシステムを有するシステムであって、
前記2レベルエンコーディングシステムは、
文書に関連する接続されたコンポーネント情報を分析し、クラスタを抽出し、形状のグローバル辞書、形状のページ辞書、およびクラスタ化されない形状のストアの少なくとも1つにクラスタを記録する、クラスタ形状エスティメータと、
前記グローバル辞書に記録されたクラスタの辞書位置を決定するクラスタコンポーネントからのビットマップ推定手段と、
該ビットマップ推定手段は、
ビットマップのクラスタに対応するクラスタが、グローバル辞書内に見つかった場合、該グローバル辞書に記録された前記ビットマップのクラスタに対応するクラスタの辞書位置を決定する手段と、
ここで、前記辞書位置は、前記グローバル辞書へのポインタと、前記クラスタがページに現れる場所の位置座標とを有し、
前記ビットマップのクラスタと前記グローバル辞書のクラスタとの差分値を示すクラスタ化残差を決定する手段と、
前記決定されたクラスタ化残差を前記決定されたクラスタの辞書位置と共にエンコードするか否かを決定する手段と
を含み、
ここで、前記決定する手段は、ロスレスモード又はロッシイモードで動作し、ロスレスモードにおいては、前記ビットマップのクラスタが前記グローバル辞書のクラスタから第1閾量内にある場合には前記クラスタ化残差は前記辞書位置と共にエンコードされ、ロッシイモードにおいては、前記ビットマップのクラスタが前記グローバル辞書のクラスタから第2閾量内にある場合には前記クラスタ化残差はエンコードされず前記辞書位置のみがエンコードされ、ページでのクラスタの存在が書き留められ、前記記録されたクラスタと該ページでのクラスタの加重平均が実行され、修正されたクラスタが前記グローバル辞書に記録され、
前記文書に関する前記グローバル辞書および前記ページ辞書の少なくとも1つのクラスタのページ位置を決定するクラスタ位置エスティメータと
を具えたことを特徴とするシステム。 - 前記クラスタ位置エスティメータから受け取る前記ページ位置をエンコードする第1エンコーダをさらに具えたことを特徴とする請求項1記載のシステム。
- 前記クラスタコンポーネントからのビットマップ推定手段から受け取る前記辞書位置をエンコードする第2エンコーダをさらに具えたことを特徴とする請求項2記載のシステム。
- 前記ページ辞書および前記グローバル辞書の少なくとも1つをエンコードする第3エンコーダをさらに具えたことを特徴とする請求項3記載のシステム。
- 前記クラスタ化されない形状のストアをエンコードする第4エンコーダをさらに具えたことを特徴とする請求項4記載のシステム。
- 前記接続されたコンポーネント情報は、前記接続されたコンポーネントの色、水平サイズ、垂直サイズ、水平位置、および垂直位置の少なくとも1つを含むことを特徴とする請求項1記載のシステム。
- 前記ページ位置は、クラスタ間の水平ギャップを含むことを特徴とする請求項1記載のシステム。
- 前記ページ位置は、平均垂直位置を含むことを特徴とする請求項1記載のシステム。
- 前記ページ位置は、前記平均垂直位置とクラスタの垂直位置との間の差をさらに具えたことを特徴とする請求項8記載のシステム。
- 前記第1エンコーダは、少なくとも部分的に、ビットプレーンエンコーディング時に使用されることを特徴とする請求項2記載のシステム。
- 前記第2エンコーダは、少なくとも部分的に、LZXエンコーディング時に使用されることを特徴とする請求項3記載のシステム。
- 前記第3エンコーダは、少なくとも部分的に、ロスレス2レベルエンコーディング時に使用されることを特徴とする請求項4記載のシステム。
- 前記第4エンコーダは、少なくとも部分的に、ロスレス2レベルエンコーディング時に使用されることを特徴とする請求項5記載のシステム。
- 請求項1記載のシステムを具えたことを特徴とする写真複写機。
- 請求項1記載のシステムを具えたことを特徴とする文書スキャナ。
- 請求項1記載のシステムを具えたことを特徴とする光学文字認識システム。
- 請求項1記載のシステムを具えたことを特徴とする携帯情報端末。
- 請求項1記載のシステムを具えたことを特徴とするファクシミリ機。
- 請求項1記載のシステムを具えたことを特徴とするディジタルカメラ。
- 請求項1記載のシステムを具えたことを特徴とするディジタルビデオカメラ。
- 請求項1記載のシステムを具えたことを特徴とするセグメント化された階層イメージシステム。
- 請求項1記載のシステムを具えたことを特徴とするビデオゲーム。
- 請求項1記載のシステムを具えたことを特徴とするタブレットパーソナルコンピュータ。
- 2レベルエンコーディングシステムを有するシステムであって、
前記2レベルエンコーディングシステムは、
複数の接続されたコンポーネントに関連する情報を識別するクラスタ化システムと、
文書に関連する接続されたコンポーネント情報を分析し、クラスタを抽出し、形状のグローバル辞書、形状のページ辞書、およびクラスタ化されない形状のストアの少なくとも1つにクラスタを記録する、クラスタ形状エスティメータと、
前記グローバル辞書に記録されたクラスタの辞書位置を決定するクラスタコンポーネントからのビットマップ推定手段と、
該ビットマップ推定手段は、
ビットマップのクラスタに対応するクラスタが、グローバル辞書内に見つかった場合、該グローバル辞書に記録された前記ビットマップのクラスタに対応するクラスタの辞書位置を決定する手段と、
ここで、前記辞書位置は、前記グローバル辞書へのポインタと、前記クラスタがページに現れる場所の位置座標とを有し、
前記ビットマップのクラスタと前記グローバル辞書のクラスタとの差分値を示すクラスタ化残差を決定する手段と、
前記決定されたクラスタ化残差を前記決定されたクラスタの辞書位置と共にエンコードするか否かを決定する手段と
を含み、
ここで、前記決定する手段は、ロスレスモード又はロッシイモードで動作し、ロスレスモードにおいては、前記ビットマップのクラスタが前記グローバル辞書のクラスタから第1閾量内にある場合には前記クラスタ化残差は前記辞書位置と共にエンコードされ、ロッシイモードにおいては、前記ビットマップのクラスタが前記グローバル辞書のクラスタから第2閾量内にある場合には前記クラスタ化残差はエンコードされず前記辞書位置のみがエンコードされ、ページでのクラスタの存在が書き留められ、前記記録されたクラスタと該ページでのクラスタの加重平均が実行され、修正されたクラスタが前記グローバル辞書に記録され、
前記文書に関する前記グローバル辞書および前記ページ辞書の少なくとも1つのクラスタのページ位置を決定するクラスタ位置エスティメータと
を具えたことを特徴とするシステム。 - 前記クラスタ位置エスティメータから受け取る前記ページ位置をエンコードする第1エンコーダをさらに含むことを特徴とする請求項24記載のシステム。
- 前記クラスタコンポーネントからのビットマップ推定手段から受け取る前記辞書位置をエンコードする第2エンコーダをさらに具えたことを特徴とする請求項25記載のシステム。
- 前記ページ辞書および前記グローバル辞書の少なくとも1つをエンコードする第3エンコーダをさらに具えたことを特徴とする請求項26記載のシステム。
- 前記クラスタ化されない形状のストアをエンコードする第4エンコーダをさらに具えたことを特徴とする請求項27記載のシステム。
- 前記接続されたコンポーネント情報は、接続されたコンポーネントの水平サイズ、垂直サイズ、水平位置、および垂直位置の少なくとも1つを含むことを特徴とする請求項24記載のシステム。
- 2レベルイメージ入力に基づいて2レベルイメージ出力を供給するアクティビティ検出システムをさらに含み、前記2レベルイメージ出力が、減らされたディザリング/ハーフトーン化および減らされた雑音の少なくとも1つを有することを特徴とする請求項24記載のシステム。
- 前記第1エンコーダは、少なくとも部分的に、ビットプレーンエンコーディング時に使用されることを特徴とする請求項25記載のシステム。
- 前記第2エンコーダは、少なくとも部分的に、LZXエンコーディング時に使用されることを特徴とする請求項26記載のシステム。
- 前記第3エンコーダは、少なくとも部分的に、ロスレス2レベルエンコーディング時に使用されることを特徴とする請求項27記載のシステム。
- 前記第4エンコーダは、少なくとも部分的に、ロスレス2レベルエンコーディング時に使用されることを特徴とする請求項28記載のシステム。
- 2レベルデコーディングシステムをさらに具え、
前記2レベルデコーディングシステムは、
ビットストリームの少なくとも一部をデコードする第1デコーダであって、ページ位置をデコードする第1デコーダと、
前記ビットストリームの少なくとも一部をデコードする第2デコーダであって、辞書位置をデコードする第2デコーダと、
前記ビットストリームの少なくとも一部をデコードする第3デコーダであって、形状のグローバル辞書および形状のページ辞書をデコードする第3デコーダと、
前記ビットストリームの少なくとも一部をデコードする第4デコーダであって、クラスタ化されない形状のストアをデコードする第4デコーダと、
前記ページ位置と、辞書位置と、前記グローバル辞書およびページ辞書の少なくとも1つとに少なくとも部分的に基づいて、クラスタを生成するクラスタジェネレータと、
生成されたクラスタおよび前記クラスタ化されない形状のストアに少なくとも部分的に基づいて、2レベル出力を作るコンバイナと
を有することを特徴とする請求項1ないし13、および、請求項24ないし34のうちのいずれかに記載のシステム。 - 前記第1デコーダは、少なくとも部分的に、ビットプレーンデコーディング時に使用されることを特徴とする請求項35記載のシステム。
- 前記第2デコーダは、少なくとも部分的に、LZXデコーディング時に使用されることを特徴とする請求項35記載のシステム。
- 前記第3デコーダは、少なくとも部分的に、ロスレス2レベルデコーディング時に使用されることを特徴とする請求項35記載のシステム。
- 前記第4デコーダは、少なくとも部分的に、ロスレス2レベルデコーディング時に使用されることを特徴とする請求項35記載のシステム。
- 2レベルエンコーディングの方法であって、
クラスタ形状エスティメータを用いて、文書に関連する接続されたコンポーネント情報を分析し、クラスタを抽出し、形状のグローバル辞書、形状のページ辞書、およびクラスタ化されない形状のストアの少なくとも1つにクラスタを記録するステップと、
クラスタコンポーネントからのビットマップ推定手段を用いて、前記グローバル辞書に記録されたクラスタの辞書位置を決定するステップと、
該決定するステップは、
ビットマップのクラスタに対応するクラスタが、グローバル辞書内に見つかった場合、該グローバル辞書に記録された前記ビットマップのクラスタに対応するクラスタの辞書位置を決定するステップと、
ここで、前記辞書位置は、前記グローバル辞書へのポインタと、前記クラスタがページに現れる場所の位置座標とを有し、
前記ビットマップのクラスタと前記グローバル辞書のクラスタとの差分値を示すクラスタ化残差を決定するステップと、
前記決定されたクラスタ化残差を前記決定されたクラスタの辞書位置と共にエンコードするか否かを決定するステップと
を含み、
ここで、前記決定するステップはロスレスモード又はロッシイモードで実行され、ロスレスモードにおいては、前記ビットマップのクラスタが前記グローバル辞書のクラスタから第1閾量内にある場合には前記クラスタ化残差は前記辞書位置と共にエンコードされ、ロッシイモードにおいては、前記ビットマップのクラスタが前記グローバル辞書のクラスタから第2閾量内にある場合には前記クラスタ化残差はエンコードされず前記辞書位置のみがエンコードされ、ページでのクラスタの存在が書き留められ、前記記録されたクラスタと該ページでのクラスタの加重平均が実行され、修正されたクラスタが前記グローバル辞書に記録され、
クラスタ位置エスティメータを用いて、前記文書に関する前記グローバル辞書および前記ページ辞書の少なくとも1つのクラスタのページ位置を決定するステップと
を具えたことを特徴とする方法。 - 第1エンコーダを用いて、前記クラスタ位置エスティメータから受け取る前記ページ位置をエンコードするステップをさらに具えたことを特徴とする請求項40記載の方法。
- 第2エンコーダを用いて、前記クラスタコンポーネントからのビットマップ推定手段から受け取る前記辞書位置をエンコードするステップをさらに具えたことを特徴とする請求項41記載の方法。
- 第3エンコーダを用いて、前記ページ辞書および前記グローバル辞書の少なくとも1つをエンコードするステップをさらに具えたことを特徴とする請求項42記載の方法。
- 第4エンコーダを用いて、前記クラスタ化されない形状のストアをエンコードするステップをさらに具えたことを特徴とする請求項43記載の方法。
- 前記接続されたコンポーネント情報は、前記接続されたコンポーネントの色、水平サイズ、垂直サイズ、水平位置、および垂直位置の少なくとも1つを含むことを特徴とする請求項40記載の方法。
- 前記ページ位置は、クラスタ間の水平ギャップを含むことを特徴とする請求項40記載の方法。
- 前記ページ位置は、平均垂直位置を含むことを特徴とする請求項40記載の方法。
- 前記ページ位置は、前記平均垂直位置とクラスタの垂直位置との間の差をさらに具えたことを特徴とする請求項47記載の方法。
- 前記第1エンコーダは、少なくとも部分的に、ビットプレーンエンコーディング時に使用されることを特徴とする請求項41記載の方法。
- 前記第2エンコーダは、少なくとも部分的に、LZXエンコーディング時に使用されることを特徴とする請求項42記載の方法。
- 前記第3エンコーダは、少なくとも部分的に、ロスレス2レベルエンコーディング時に使用されることを特徴とする請求項43記載の方法。
- 前記第4エンコーダは、少なくとも部分的に、ロスレス2レベルエンコーディング時に使用されることを特徴とする請求項44記載の方法。
- 2レベルデコーディングのステップをさらに具え、
該2レベルデコーディングのステップは、
第1デコーダを用いて、ビットストリームの少なくとも一部をデコードする第1デコーダであって、ページ位置をデコードするステップと、
第2デコーダを用いて、前記ビットストリームの少なくとも一部をデコードする第2デコーダであって、辞書位置をデコードするステップと、
第3デコーダを用いて、前記ビットストリームの少なくとも一部をデコードする第3デコーダであって、形状のグローバル辞書および形状のページ辞書をデコードするステップと、
第4デコーダを用いて、前記ビットストリームの少なくとも一部をデコードする第4デコーダであって、クラスタ化されない形状のストアをデコードするステップと、
クラスタジェネレータを用いて、前記ページ位置と、辞書位置と、前記グローバル辞書およびページ辞書の少なくとも1つとに少なくとも部分的に基づいて、クラスタを生成するステップと、
コンバイナを用いて、生成されたクラスタおよび前記クラスタ化されない形状のストアに少なくとも部分的に基づいて、2レベル出力を作るステップと
を有することを特徴とする請求項40ないし52のいずれかに記載の方法。 - 前記第1デコーダは、少なくとも部分的に、ビットプレーンデコーディング時に使用されることを特徴とする請求項53記載の方法。
- 前記第2デコーダは、少なくとも部分的に、LZXデコーディング時に使用されることを特徴とする請求項53記載の方法。
- 前記第3デコーダは、少なくとも部分的に、ロスレス2レベルデコーディング時に使用されることを特徴とする請求項53記載の方法。
- 前記第4デコーダは、少なくとも部分的に、ロスレス2レベルデコーディング時に使用されることを特徴とする請求項53記載の方法。
- 請求項40ないし57のいずれかに記載の方法を実行するためのコンピュータ実行可能な命令を有するコンピュータプログラム。
- コンピュータによって実行される請求項58記載のコンピュータプログラムを有するコンピュータ読取り可能な記録媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/133,532 | 2002-04-25 | ||
US10/133,532 US7206450B2 (en) | 2002-04-25 | 2002-04-25 | Compression of bi-level images with explicit representation of ink clusters |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003333341A JP2003333341A (ja) | 2003-11-21 |
JP4733911B2 true JP4733911B2 (ja) | 2011-07-27 |
Family
ID=29215619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003083846A Expired - Fee Related JP4733911B2 (ja) | 2002-04-25 | 2003-03-25 | インククラスタの明示的な表現を用いた2レベルイメージの圧縮 |
Country Status (6)
Country | Link |
---|---|
US (3) | US7206450B2 (ja) |
EP (1) | EP1359544A3 (ja) |
JP (1) | JP4733911B2 (ja) |
KR (1) | KR100938100B1 (ja) |
CN (1) | CN100363924C (ja) |
TW (1) | TWI250787B (ja) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7206450B2 (en) * | 2002-04-25 | 2007-04-17 | Microsoft Corporation | Compression of bi-level images with explicit representation of ink clusters |
JP4766230B2 (ja) * | 2005-03-23 | 2011-09-07 | 富士ゼロックス株式会社 | 符号化装置、データ処理装置、復号化装置及びプログラム |
JP4687263B2 (ja) * | 2005-06-13 | 2011-05-25 | 富士ゼロックス株式会社 | 符号化装置、復号化装置、符号化方法、復号化方法及びこれらのプログラム |
TWI257771B (en) * | 2005-08-08 | 2006-07-01 | Lite On Technology Corp | Method for print quality enhancement by lossless image compression (JPEG-LS) technology and system thereof |
US7599556B2 (en) * | 2005-08-25 | 2009-10-06 | Joseph Stanley Czyszczewski | Apparatus, system, and method for scanning segmentation |
JP4817821B2 (ja) | 2005-12-01 | 2011-11-16 | キヤノン株式会社 | 画像処理装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体 |
JP5082512B2 (ja) * | 2007-03-08 | 2012-11-28 | 富士ゼロックス株式会社 | 情報処理装置、画像処理装置、画像符号化装置、情報処理プログラム、画像処理プログラム及び画像符号化プログラム |
JP4881237B2 (ja) * | 2007-06-29 | 2012-02-22 | 株式会社東芝 | 画面転送装置およびその方法ならびに画像転送のためのプログラム |
KR101454208B1 (ko) * | 2007-12-28 | 2014-10-24 | 삼성전자주식회사 | 하프톤 영상 인코딩 및 디코딩 방법 및 장치 |
JP2009188995A (ja) * | 2008-02-08 | 2009-08-20 | Toshiba Corp | 画像処理装置および画像処理方法 |
CN102667863B (zh) * | 2009-12-23 | 2017-03-29 | 诺基亚技术有限公司 | 使用二值化传感器确定颜色信息 |
US8676122B2 (en) * | 2010-08-27 | 2014-03-18 | Gregory H. Piesinger | Secure satellite modem for personal digital assistant method and apparatus |
CN102169497B (zh) * | 2011-04-13 | 2013-04-17 | 浪潮(北京)电子信息产业有限公司 | 一种通过位图方式管理元数据的方法及装置 |
WO2014116262A1 (en) | 2013-01-28 | 2014-07-31 | Empire Technology Development Llc | Communication using handwritten input |
WO2014178840A1 (en) | 2013-04-30 | 2014-11-06 | Hewlett-Packard Development Company, L.P. | Creation of a hierarchical dictionary |
US9437236B2 (en) * | 2013-11-04 | 2016-09-06 | Michael Hugh Harrington | Encoding data |
TWI514840B (zh) * | 2014-10-20 | 2015-12-21 | Univ Nat Taipei Technology | 半色調資料隱寫編碼系統及半色調資料隱寫解碼系統 |
WO2020129299A1 (ja) * | 2018-12-18 | 2020-06-25 | 三井金属鉱業株式会社 | 積層シート及びその使用方法 |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS604373A (ja) * | 1983-06-22 | 1985-01-10 | Hitachi Ltd | パタ−ン情報圧縮方式 |
JPS60210069A (ja) * | 1984-04-02 | 1985-10-22 | Ricoh Co Ltd | 文書情報符号化方法 |
US4668995A (en) * | 1985-04-12 | 1987-05-26 | International Business Machines Corporation | System for reproducing mixed images |
JPH03157064A (ja) * | 1989-11-15 | 1991-07-05 | Nec Corp | 画像情報圧縮伝送方式 |
US5696842A (en) * | 1991-07-04 | 1997-12-09 | Ricoh Company, Ltd. | Image processing system for adaptive coding of color document images |
JPH0537700A (ja) * | 1991-07-26 | 1993-02-12 | Ricoh Co Ltd | フアクシミリ装置 |
JP2910000B2 (ja) * | 1991-12-19 | 1999-06-23 | 国際電信電話 株式会社 | 2値画像混在静止自然画像の符号化方法 |
JPH06152983A (ja) * | 1992-11-04 | 1994-05-31 | Nippon Telegr & Teleph Corp <Ntt> | 画像符号化方法 |
JP3231105B2 (ja) * | 1992-11-30 | 2001-11-19 | 富士通株式会社 | データ符号化方式及びデータ復元方式 |
JP3350118B2 (ja) * | 1992-11-30 | 2002-11-25 | 富士通株式会社 | データ符号化方式及びデータ復元方式 |
JPH06178124A (ja) * | 1992-12-08 | 1994-06-24 | Fuji Xerox Co Ltd | 画像データ圧縮伸長装置 |
JPH06274311A (ja) * | 1993-03-19 | 1994-09-30 | Fujitsu Ltd | データ圧縮装置及びデータ復元装置 |
JP2526783B2 (ja) * | 1993-05-31 | 1996-08-21 | 日本電気株式会社 | 領域形状符号化・復号化方式 |
JPH089166A (ja) * | 1994-06-17 | 1996-01-12 | Nec Corp | 複写電送装置 |
JP3080149B2 (ja) | 1996-12-03 | 2000-08-21 | 日本電気株式会社 | パタン符号化方法及び復号化方法とこの方法を用いた符号化装置及び復号化装置 |
US6104834A (en) * | 1996-08-01 | 2000-08-15 | Ricoh Company Limited | Matching CCITT compressed document images |
JP4260908B2 (ja) * | 1997-06-25 | 2009-04-30 | 株式会社日本デジタル研究所 | ランレングス符号化方法および画像処理装置 |
US6020972A (en) * | 1997-11-14 | 2000-02-01 | Xerox Corporation | System for performing collective symbol-based compression of a corpus of document images |
US6088478A (en) * | 1998-02-13 | 2000-07-11 | Xerox Corporation | Method and apparatus for distinguishing bold face characters |
EP0954181B1 (en) * | 1998-04-28 | 2007-12-26 | Canon Kabushiki Kaisha | Data processing apparatus and method |
US6256415B1 (en) * | 1998-06-10 | 2001-07-03 | Seiko Epson Corporation | Two row buffer image compression (TROBIC) |
US6477280B1 (en) | 1999-03-26 | 2002-11-05 | Microsoft Corporation | Lossless adaptive encoding of finite alphabet data |
US6625319B1 (en) * | 1999-03-30 | 2003-09-23 | Koninklijke Philips Electronics N.V. | Image compression using content-based image similarity |
JP4424845B2 (ja) * | 1999-12-20 | 2010-03-03 | 本田 正 | イメージデータ圧縮方法及び復元方法 |
US7218784B1 (en) * | 2000-05-01 | 2007-05-15 | Xerox Corporation | Method and apparatus for controlling image quality and compression ratios |
JP3636983B2 (ja) * | 2000-10-23 | 2005-04-06 | 日本放送協会 | 符号化装置 |
US6915011B2 (en) | 2001-03-28 | 2005-07-05 | Eastman Kodak Company | Event clustering of images using foreground/background segmentation |
US7206450B2 (en) * | 2002-04-25 | 2007-04-17 | Microsoft Corporation | Compression of bi-level images with explicit representation of ink clusters |
US7164797B2 (en) * | 2002-04-25 | 2007-01-16 | Microsoft Corporation | Clustering |
-
2002
- 2002-04-25 US US10/133,532 patent/US7206450B2/en active Active
-
2003
- 2003-03-17 EP EP03005495A patent/EP1359544A3/en not_active Withdrawn
- 2003-03-20 TW TW092106234A patent/TWI250787B/zh not_active IP Right Cessation
- 2003-03-25 JP JP2003083846A patent/JP4733911B2/ja not_active Expired - Fee Related
- 2003-04-02 CN CNB031103014A patent/CN100363924C/zh not_active Expired - Fee Related
- 2003-04-04 KR KR1020030021361A patent/KR100938100B1/ko active IP Right Grant
-
2007
- 2007-04-12 US US11/734,299 patent/US7317838B2/en not_active Expired - Fee Related
- 2007-12-28 US US11/966,167 patent/US20080175501A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
TW200306113A (en) | 2003-11-01 |
KR100938100B1 (ko) | 2010-01-21 |
EP1359544A3 (en) | 2011-11-16 |
CN1453724A (zh) | 2003-11-05 |
US20030202708A1 (en) | 2003-10-30 |
CN100363924C (zh) | 2008-01-23 |
US7206450B2 (en) | 2007-04-17 |
KR20030084600A (ko) | 2003-11-01 |
US20080175501A1 (en) | 2008-07-24 |
EP1359544A2 (en) | 2003-11-05 |
JP2003333341A (ja) | 2003-11-21 |
US7317838B2 (en) | 2008-01-08 |
TWI250787B (en) | 2006-03-01 |
US20070242888A1 (en) | 2007-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7317838B2 (en) | Compression of bi-level images with explicit representation of ink clusters | |
US7164797B2 (en) | Clustering | |
JP4295537B2 (ja) | マスクを利用して文書画像の圧縮を容易にするシステムおよび方法 | |
US7376266B2 (en) | Segmented layered image system | |
US20080152221A1 (en) | Dynamic, locally-adaptive, lossless palettization of color and grayscale images | |
EP1388815A2 (en) | Segmented layered image system | |
EP0902398B1 (en) | Method and system for compressing and decompressing binary representations of dithered images | |
Martins et al. | Lossless, near-lossless, and refinement coding of bilevel images | |
JP3085932B2 (ja) | マスクを用いた予測映像発生装置及びその装置を用いた2進映像の圧縮、伝送及び復元装置 | |
JPH10108011A (ja) | データ処理装置 | |
US7702154B2 (en) | Method and apparatus indentifying halftone regions within a digital image | |
US7076109B2 (en) | System and method of automatically determining the dominant periodicity in sequential binary data | |
JP4743884B2 (ja) | 画像符号化装置及びその制御方法 | |
Figuera et al. | A new approach to JBIG2 binary image compression | |
JP4743883B2 (ja) | 画像符号化装置およびその制御方法 | |
JPH10126624A (ja) | 画像符号化装置および画像復号装置 | |
JPH11215381A (ja) | 符号化装置、及び復号化装置 | |
Alegre | Memory-efficient algorithms for raster document image compression | |
Alegre | MEMORY-EFFICIENT ALGORITHMS FOR RASTER | |
JPH09252408A (ja) | 多階調画像の復号装置 | |
JPH09252407A (ja) | 多階調画像の符号化装置 | |
Park et al. | Novel context template design scheme for lossless color halftone image compression | |
Kavitha et al. | INTERNATIONAL ITU-T STANDARD STILL IMAGE COMPRESSION TECHNIQUES FOR GROUP 3 & GROUP 4 CODED IMAGES--A SURVEY |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060207 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090331 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090630 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20090902 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20091007 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100603 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100812 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110328 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110425 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140428 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |