JPH114170A - 2進データのダブル・ランレングス符号化の方法および装置 - Google Patents
2進データのダブル・ランレングス符号化の方法および装置Info
- Publication number
- JPH114170A JPH114170A JP9010086A JP1008697A JPH114170A JP H114170 A JPH114170 A JP H114170A JP 9010086 A JP9010086 A JP 9010086A JP 1008697 A JP1008697 A JP 1008697A JP H114170 A JPH114170 A JP H114170A
- Authority
- JP
- Japan
- Prior art keywords
- run
- pair
- encoding
- length
- register
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/005—Statistical coding, e.g. Huffman, run length coding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/46—Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
-
- 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/4105—Bandwidth or redundancy reduction for halftone screened pictures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Processing (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
呼ぶ技法を使用して2進データを無損失圧縮する方法お
よび装置。 【解決手段】 DRLEは、レーザ・プリンタまたはそ
の他の連続ラスタ走査装置による印刷のために処理する
際のグレースケール・データの圧縮に特に適用される。
DRLEによって、計算の複雑さがほとんどなしに1と
0の反復パターンを記録する。従来のランレングス符号
化(RLE)ではうまく圧縮することができないデータ
についてしばしば1桁以上高い圧縮比が得られる。DR
LEは、ゼロと1の可変長パターンを示す順序対の順次
履歴を使用し、それらのパターンが繰り返されるに従っ
てそれらのパターンを符号化する。
Description
またはその他の連続ラスタ走査装置による印刷のために
処理する際にグレースケール・データの圧縮に特に適用
される本明細書でダブル・ランレングス符号化(DRL
E)と呼ぶ2進データの無損失圧縮の方法に関する。
ス符号化(RLE)がある。これはランを<パターン、
反復回数>の形式の順序対として表す無損失圧縮方法で
あり、反復回数によってパターンの連続するオカレンス
数が決まる。ランを適切な回数だけ繰り返されるパター
ンに伸長すると元の2進形式が再生されるため、RLE
が実際に無損失変換であり、適合する大きさの反復パタ
ーンをきわめてよく圧縮する変換であることは容易に判
断される。ここに、ランとは0又は1の連続した繰り返
し生起するパターンである。
るビット数によって制限される。Wビットを使用して反
復数を表した場合、1つのRLE順序対の長さは L(<パターン、反復数>)=(L(パターン)+W) となる。 (反復数*L(パターン))>>(L(パターン)+
W) または 1>>((1/反復数)+(W/(反復数*L(パター
ン)))) の場合、明らかにRLEは有効な無損失圧縮方式であ
る。したがって、RLEは反復回数の多いパターンを持
つデータには最適である。
して更に効率のよい無損失圧縮技法を提供しようとする
ものである。
その他の連続ラスタ走査装置による印刷のために処理す
る際にグレースケール・データの圧縮に特に適用され
る、本明細書でダブル・ランレングス符号化(DRL
E)と呼ぶ2進データの無損失圧縮の方法を開示する。
DRLE方法は、計算の複雑さがほとんどなしに1と0
の反復パターンを効率的に記録する。従来のランレング
ス符号化(RLE)ではうまく圧縮することができない
データについて1桁以上高い圧縮比が得られる場合が多
い。DRLEは0と1の可変長パターンを示す順序対の
順次履歴を使用し、次にそれらのパターンを、反復され
るに従って効率的かつ適応的に符号化する。
するページの2進イメージに特有のグレースケール・デ
ータの場合に高い圧縮比を実現する。DRLEによっ
て、従来のランレングス符号化(RLE)では通常はう
まく圧縮されない多くのページを、計算効率のよい方法
で表すことができると同時に、それらのページを保持す
るのに必要な記憶量を大幅に低減することができる。こ
の計算効率はリアルタイム制約のあるソフトウェアとハ
ードウェアの両方の実施にきわめて有用であると同時
に、高圧縮比は一般に、今日の低コスト高解像度モノク
ロームおよびカラーのインクジェットおよびレーザ・プ
リンタにとって理想的である。
のその応用に関する説明とを示す。グレースケール画像
処理は一般に、1カラー・プレーン当たり1ビット/画
素のディジタル・モノクロームまたはプレーナ・カラー
・プリンタに適用される。
ス符号化(DRLE)には以下の3つの基本要素があ
る。 1.ダブル・ラン。 要素が、圧縮するデータ内の0のランと1のランとの連
結を表す順序対。 2.リテラルおよびリピータの符号化。 DRLEの出力形式は、ダブル・ランを表すリテラル
と、ダブル・ランの循環インスタンスのリピータを含
む。 3.パターン・マッチング。 ダブル・ランの循環可変長パターンを検出する適応型の
方法。
初の2つの要素は、圧縮データを表すために使用するデ
ータ構造体であり、DRLEの主要構成要素である。圧
縮程度は、パターン・マッチング・アルゴリズムによっ
て異なる。グレースケール・データの場合、DRLEは
最新(MR)ダブル・ラン方式を採用する。その他の方
式としては最新パターン変化(MRPC)と事前定義固
定パターン(PFP)があり、パターン内に埋め込まれ
たパターンを含むデータ、またはDRLEを適用する前
に特定のパターンが存在することがわかっているデータ
にそれぞれ適用可能である。これらのパターン・マッチ
ング方式のそれぞれについては以下で説明する。
式モデルについて説明し、次にDRLEの例を示す。そ
れによって、DRLEがアルゴリズム的にどのように機
能するかを例示し、特定の条件で圧縮比が数学的にどの
ように変化するかを例示する。その後でグレースケール
・データへのDRLEの応用について説明する。
すことができる(図1の最上部を参照)。この説明で
は、RLEとDRLEを使用した無損失圧縮の形式を説
明することが可能な表記と用語を採用する。
ゼロまたは1)である。合計ビット数をデータの長さと
呼ぶ。2進データの無損失圧縮とは、変換が可逆的(す
なわち無損失)であるように当該データに適用される変
換であり、より長さの短いデータを生成する(すなわち
圧縮する)。
ることを表すものとする。
-1(y)をT(x)の逆変換と呼ぶ。無損失圧縮の用語
では、T-1(y)を圧縮解除または伸長変換と呼ぶ。2
進データxの長さはxを構成するビットの数(またはカ
ウント)である。 L(x) はxの長さを示すものとする。xの無損失変換T(x)
は、 L(T(x))<L(x) の場合にのみ圧縮される。T(x)の圧縮比R(T
(x))は、 R(T(x))=L(x)/L(T(x)) のように定義される。 T(x)の基本目標は、R(T(x))>>1となる場
合である。
ある。たとえば、「5個のゼロのラン」とは5個の連続
したゼロのことを言う。
<パターン、反復回数>の形式の順序対として表す公知
の無損失圧縮方法であり、反復回数によってパターンの
連続するオカレンス数が決まる。ランを適切な回数だけ
繰り返されるパターンに伸長すると元の2進形式が再生
されるため、RLEが実際に無損失変換であり、適合す
る大きさの反復パターンをきわめてよく圧縮する変換で
あることは容易に判断される。
るビット数によって制限される。Wビットを使用して反
復数を表した場合、1つのRLE順序対の長さは L(<パターン、反復数>)=(L(パターン)+W) となる。 (反復数*L(パターン))>>(L(パターン)+
W) または 1>>((1/反復数)+(W/(反復数*L(パター
ン)))) の場合、明らかにRLEは有効な無損失圧縮方式であ
る。したがって、RLEは反復回数の多いパターンを持
つデータには最適である。
ータのRLEの例を示す。この例では、パターンの長さ
は1ビットであり、それによってゼロまたは1の2つの
可能なパターンを示す。図1のランレングス符号化例の
各順序対は、パターンの後にパターンの連続インスタン
ス数が付いたものを示している。図1に示す76ビット
の2進データの特定のビット・パターンの場合、各順序
対に4ビット(パターン0または1に1ビットと、0〜
7の連続インスタンス数に3ビット)を要し、合計80
ビットに20個の順序対を要するため、RLE圧縮では
利点がない。また、符号化形式で現れたときパターンが
少なくとも1回生起するため、RLEのソフトウェアま
たはハードウェア実施態様は、反復カウントに使用され
るビット数にもう1回の反復を計算に入れることができ
るように、オカレンス数ではなく隣接反復数を記録する
ことができることに留意されたい。この例では1ビット
幅のパターンのみを符号化するが、RLEの応用例では
一般にバイトまたはバイトのシーケンスなどより大きな
パターンが可能であり、可変長パターンさえも可能な場
合があるが、これは計算上かなり難しく、より多くのコ
ストがかかる。DRLEは基本的に可変長パターンを扱
い、それを計算効率のよい方法で行うことに留意された
い。
ケール・データについて高い圧縮比を実現する無損失圧
縮変換である。グレースケール・データは、1とゼロの
反復パターンの反復によってグレーの様々な陰影が表さ
れる2進データである。1が多くゼロがあまり多くない
パターンは一般に濃いグレーを表し、1が少なくゼロが
多いパターンは一般に明るいグレーを表す。
ア実施態様は、グレースケール・パターンを検出し、そ
れらのパターンを圧縮形式で固有かつ効率的に符号化す
る。これは、ダブル・ランと呼ぶ、ゼロと1(グレース
ケールではそれぞれ白と黒の画素)の隣接ランを示す順
序対の一時的履歴を記録し、それらのダブル・ランをリ
テラルとして符号化し、次にそれらのダブル・ランの隣
接オカレンスをリピータとして符号化することによって
行う。最もコンパクトな符号化を実現するように、リピ
ータは最小のビット数を使用する。圧縮形式の長さは元
の2進データよりも大幅に短くなる場合が多い。
の概念に加えて、DRLEは、小さなランを効率的に符
号化することができるようにし、いくつかのパターンを
同時に符号化できるようにすることによって、RLEを
特有に拡張する。各ダブル・ランはゼロのランの後に1
のランが続いたものを表し、履歴はダブル・ランの一時
的シーケンスを表す。リピータによって、わずか2ビッ
トで履歴の最新のサブシーケンスを効率的に符号化する
ことができる。
以下の表記を使用したダブル・ランを示す。 {L0,L1} 上記で、L0はダブル・ラン内のゼロの数であり、L1は
ダブル・ラン内の1の数である。
とリピータの2つの基本データ項目を使用する。以下は
これらのデータ項目の物理形式の説明である。リテラル
またはリピータの先頭ビットは、データ項目のタイプを
決定するタグであり、リテラルの場合はゼロ、リピータ
の場合は1である。形式の残りの部分は、要素がリテラ
ルであるかリピータであるかによって決まる。
ある。 {0,L0,L1} 最初の要素はタグ・ビットであり、0の場合はそのデー
タ項目がリテラルであることを示す。2番目の要素であ
るL0はパターン内の連続するゼロの数である。3番目
の要素はゼロの直後の連続する1の数である。たとえ
ば、「{0,4,3}」というリテラルは、「0000
111」というパターンを表す。
目がリピータであることを示す。2番目の要素であるn
はパターン内のダブル・ランの数を示す。
の一時履歴に関係する。DRLEの一実施態様は、ダブ
ル・ランのシーケンスを順序付けされた先入れ先出しリ
ストの形で維持してパターン・マッチングに使用する。
このシーケンスを維持する方法は様々あり、このような
3通りの方法について以下に説明する。このリスト内の
ダブル・ランの実際の数は、後述するようにDRLEの
サイジング・パラメータであり、圧縮比に影響を与える
可能性がある。リピータの値nはこのリストへの相対オ
フセットである。パターンはその相対オフセットから始
まる現行リスト内のダブル・ランの最新のサブシーケン
スである。たとえば、最新ダブル・ランのリピータは
「{1,0}」であるのに対して、2つの最新ダブル・
ランのリピータは「{1,1}」である。一般には、n
個の最新ダブル・ランのリピータは「{1,n−1}」
である。
ぞれが必要とするビット数)を制御するパラメータは以
下の2つである。 W:ゼロのランまたは1のランの長さを表すために使用
するビット数。 N:履歴内のダブル・ランの最大数。
ンの長さがそれぞれゼロから2W−1までの範囲である
ことが可能であることを意味する。Wによってランのサ
イズが決まるため、リテラルのサイズもWによって制御
される。
ル・オフセット)に必要なビット数を決定する。言い換
えると、これによって履歴内で維持されるダブル・ラン
の数が決まる。これらのパラメータを使用すると、リテ
ラルおよびリピータの固定長はそれぞれ、 L(リテラル)=1+(2*W) および L(リピータ)=1+最高限界(log2(N)) となり、上式で関数最高限界(r)によって実数r以上
の最小整数が得られる。
この図は、図1に示す例の要素の一部を強調したもので
あり、以下で「例1」として詳述する。
左から右に走査して、一度に1つのダブル・ランを引き
出す。記録機構を使用してダブル・ランの履歴を維持す
る。この履歴内の要素数は最大N個である。
ある。たとえば、次の3つの方法を使用することができ
る。 1.最新(most recent, MR) 2.最新パターン変化(most recent pattern change,
MRPC) 3.事前定義固定パターン(predefined fixed patter
n, PFP)
Nのダブル・ランの現行リストを維持する。新しいラン
を入手するとそれがリストの前または先頭に追加され
る。これは図2に示す手法であり、グレースケール・デ
ータに最も適した手法である。
り、パターン不一致が生起した場合のみ履歴を変更す
る。図3に、N=2の場合のこの手法を示す。この手法
は、パターンがより大きなパターン内に埋め込まれてい
るデータに適している。
・ラン・パターンを使用し、このパターンのインスタン
スまたはそのサブパターンのインスタンスのみを探す。
履歴は変化しない。この例を図4に示す。この方式は、
当該データについて事前の知識がある場合に適切であ
る。一般には、PFPは、NおよびWが良好な圧縮を実
現するのに十分な大きさの有限のシーケンスが、完全な
形または部分的な形で生起することがわかっているデー
タに適する。
維持するために使用した機構によって異なる場合がある
ため、この方法は圧縮解除方法への入力でもなければな
らない。したがって、理論的には変換DRLE(x)お
よびDRLE-1(y)があるが、アルゴリズム的にはこ
れらのそれぞれが追加パラメータを有する。
ラルもリピータも出されていない最新ダブル・ランの先
読みバッファを維持する。最新履歴のサブシーケンスの
完全一致がある場合、リピータが出される。そうでない
場合は先読みバッファ内のダブル・ランのリテラルが最
初の不一致まで出される。いずれの場合も、作用を受け
たダブル・ランは先読みバッファから廃棄される。
縮比を向上させることができる。PFPの場合は間違い
なく初期状態は事前定義固定パターンである。グレース
ケール・データの場合は、印刷するページは通常白い空
間から始まり、大部分白い空間から成るため、履歴内の
各リテラルについて「すべて白、黒なし」の初期状態が
推奨される。より形式的には、グレースケール・データ
の場合、履歴内の各ダブル・ランの初期値は以下の通り
でなければならない。 {2W-1,0}
に、DRLEのいくつかの境界条件、すなわちゼロのみ
の2進データ(空白ページ)と、1つの反復パターンか
ら成る2進データを示す。
RLEを例示する。この場合、リテラルの長さは11ビ
ットで、リピータの長さは2である。この例の結果は、
4個のリテラルと4個のリピータで合計52ビットの長
さになり、圧縮比は76/52である。
素の値を2進形式で示す。たとえば、「00111」お
よび「00110」がそれぞれ7および6に相当する5
ビットの2進数であるため、最初のダブル・ラン{7,
6}の結果はリテラル{0,00111,00110}
になる。
ンスタンスの結果はリテラルになる。しかし、{4,
3}の2番目のインスタンスは2要素から成る履歴の先
頭と一致し、したがって、値{1,0}のリピータにな
る。
スの結果はリピータになり、{2,5}の最初のインス
タンスの結果はリテラルになる。
る{4,3}と{2,5}は一時履歴の最初の2つ(し
かもただ2つ)の要素と一致する。したがって、結果は
値{1,1}のリピータになる。これと同じパターンが
もう1回繰り返され、したがって再び値{1,1}のリ
ピータになる。
ルの結果になる。
−1,0})が入っている履歴の初期状態を有する、ま
ったくゼロだけから成る長さL(S)の2進データSを
考えてみる。このSの形は完全レンダリングされた黒ペ
ージと似ている。
ダブル・ランの各N個のオカレンスは、{1,N−1}
の形のリピータに置き換えられる。
の数をMとする。MはNで割り切れない場合がある。言
い換えると、次のようになる場合がある。 (M mod N)>0 上記で、「M mod N」は整数Nで割った場合の整
数Mの整数剰余を示す。K=(M mod N)とす
る。DRLE(S)は{1,N−1}の形式のいくつか
の数のリピータ、すなわち (M−K)/N から成る。Kがゼロでない場合、これらのリピータの後
には{1,K−1}の形のリピータが続く。さらに、S
は長さが R=L(S) mod(2W−1) のいくつかの残余ビットを有する場合があり、したがっ
てRがゼロでない場合、DRLE(S)は{1,R,
0}の形のリテラルで終わることになる。これらを使用
すると、 L(DRLE(S))=((M−K)/N*L(リピー
タ)+残余+R となり、上式でKがゼロの場合、残余は0であり、ゼロ
でない場合はL(リピータ)である。
は大きいためL(DRLE(S))に対する影響は以下
によって十分に概算される。 (M/N)*L(リピータ) N=2の場合、上式は以下のようになり、 (M/2)*2=M 圧縮比は以下のようになる。 R(DRLE(S))=L(S)/M L(S)は M*(2W−1) であり、したがってN=2の場合は R(DRLE(S))=M*(2W−1)/M=2W−1 となることに留意されたい。W=5の場合、R(DRL
E(S))は31である。
ることに基づいていることに留意されたい。また、長さ
が2W−1のダブル・ランの反復パターンの総合的結果
によって、同じ圧縮比2W−1が得られることにも留意
されたい。したがって、Wの選定はきわめて重要であ
る。
1ビットの単一の反復ダブル・ランの可能な最善の圧縮
比がわかる。この例では、N個のダブル・ランを有する
反復パターンの最高の圧縮比を計算する。この場合も、
L(S)は2進データのシーケンスSの長さを示すもの
とし、Sは、S全体を通じてパターンとしてM回繰り返
されるn個のダブル・ランL1、L2、...、Lnを
含むようになっているものとする。言い換えると、 S=L1 L2 ...Ln L1 L2 ...Ln
...L1 L2...Ln 剰余 となる。例として、図2に3回生起する反復パターン
{4,3}{2,5}を示す。
ータ、および剰余のパターンの1つのインスタンスの累
積長である。L(S)が大きい場合は重要ではないため
説明を簡単にするために剰余はないものとする。
さは、パターン内の各リテラルの長さの合計である。こ
れは、 L(すべてのリテラル)=n*(1+2*W) となる。
スはリピータによって表される。リピータの長さは以下
のようになる。 L(すべてのリピータ)=(M−1)*(1+最高限度
(log2 N)) したがって、以下のようになる。 L(DRLE(S))=n*(1+2*W)+((M−
1)*(1+最高限度(log2 N)) W=5およびN=2の場合、上式は以下のようになる。 L(DRLE(S))=11*n+2*(M−1)
合、これは2*(M−1)に収束する。この結果は、ダ
ブル・ランの長さに対して変化しないことに留意された
い。したがって、圧縮比は反復パターン内のダブル・ラ
ンが最大長の場合に最大化され、その逆の場合(すなわ
ち各ダブル・ランが「01」というパターンを表す場
合)は最小化される。
反復パターンは以下の形になる。 {2W−1,2W−1}{2W−1,2W−1}.....
{2W−1,2W−1} 上記で、このパターン内のダブル・ランの数は合計N個
になる。
の圧縮比が得られる。 R(DRLE(S))=(M*4*(2W−1))/
(2*(M−1)) Mが大きい場合、(M−1)をMに置き換えることがで
き、以下の概算結果が得られる。 2*(2W−1)=2W+1−2 これは、予測通り例2の結果の正確に2倍である。
て得られる最高の圧縮比は約62である。
データに適用する。グレースケール・データは、一般に
はインク・ジェット・プリンタまたはレーザ・プリンタ
で印刷される、モノクローム・ディジタル・イメージ、
または1プレーン当たり1ビット/画素の複数プレーナ
・ディジタル・カラー・イメージの単一プレーンを表す
2進データである。
ットを画素と呼ぶ。画素の値1は一般にその画素が(た
とえば黒色のインクまたはトナーで)「印刷」されるこ
とを意味し、値ゼロはその画素が印刷されない(すなわ
ち白または印刷媒体の色)であることを意味する。
型的なソフトウェア・システムでは、ユーザはグレーの
様々な陰影を使用することができる。たとえば、図の一
部に25%のグレーを使用し、別の部分に50%のグレ
ーを使用することができる。その他の部分にはグレーが
なく、ある部分は完全に黒とすることができる(それぞ
れ0%および100%のグレー)。
ると、グレーのパーセンテージはグレー領域上の印刷画
素の割合によって概算され、その領域の上にそれらの印
刷画素が分散される。分散プロセスでは一般にグレーを
概算すると同時に、不快な可視パターン(すなわちモア
レ・パターン)が生じる可能性を最小限にするように試
みる。
ーンで表される。ハーフトーンは一般に、グレーの値を
表し、ハーフトーン・セルと呼ばれる画素から成る小さ
い矩形である。セル内の合計画素数に対する印刷画素数
によって、セルが表すグレーのパーセンテージが決ま
る。たとえば、4×4セルによって最大17のグレーの
陰影を表すことができる。
ことは価値がない。16×16セルが一般的であり、そ
れによって最大257個のグレー値を表すことができ、
これはほとんどの用途で必要な数より多い。
部にあるハーフトーンの例を示す。このカットには12
本の走査線がある。走査線とはディジタル・イメージ内
の画素から成る1本の線である。データのこの部分内に
は25%のグレーを表すハーフトーン・パターンがあ
る。この例では、最長のランでも7画素しかなく、最小
は1画素である。1ビット・パターンの場合、RLEで
はこれを十分に扱えないことは明らかである。
用したDRLEを示す。全体的な圧縮に関して最大の柔
軟性をもたせるように、一般には一度に1本の走査線に
圧縮が適用される(グレースケール・データと写真画像
が含まれているページを考えてみると、イメージ・デー
タを有する走査線はDRLEではそれほど良好に圧縮す
ることができず、他の何らかの形の圧縮を必要とするこ
とがある)。この結果、合計長が以下の通りの32個の
リテラルと48個のリピータになる。 (32*11)+(48*2)=448ビット
に過ぎず、そのような線が12本ある。したがって、行
イメージ・サイズは (12*83)=996ビット となる。
ジでは、83ビットの走査線は0.28インチ(0.7
1cm)に過ぎず、600dpiでは0.14(0.3
6cm)インチに過ぎない。これらのdpiレベルは今
日のディジタル・プリンタに典型的なものである。した
がって、現実には典型的な8 1/2×11インチの用
紙上の走査線は一般に300dpiで2550画素、6
00dpiで5100画素である。反復パターンを含む
グレースケール・データの典型的なカットは、0.28
インチ(0.71cm)または0.14インチ(0.3
6cm)を超えつつある。したがって現実の例では、リ
ピータの圧縮比に与える効果はこの例よりも大きな影響
を持ち、圧縮比はこれより高くなる。
め、ハーフトーンのグレースケール・データは従来のR
LEでは十分に役立たない。これは、ランのサイズが小
さく、ランの長さフィールドの長さがラン自体の長さと
それほど違わないため、圧縮比が小さくなるためであ
る。または、RLEではそのデータをまったく圧縮する
ことができず、実際にはそれを伸張する可能性がある。
ロの可変長パターンを含むデータのクラスの場合、きわ
めて良好な圧縮を実現する適応型無損失圧縮方式であ
る。DRLEは、コンピュータで作成され、1プレーン
当たり1ビット/画素のカラー・プリンタまたはモノク
ローム・プリンタを対象とする、テキストとグラフィッ
クスを含む文書のディジタル表現では典型的なタイプの
データである、ハーフトーン化されたグレースケール・
データに特に適切である。したがって、このタイプの文
書を保持するのに必要な記憶容量が大幅に低減される。
像度ディジタル画像処理システム、すなわち、インク・
ジェット・プリンタおよびレーザ・プリンタの必須要素
である。これは記憶装置が高価な機構であるために必要
である。記憶量をなくしたり減らしたりすることは、コ
スト競争力のある製品を開発する有効な方法である。
紙がプリンタを通過して移動し始めた後は、その用紙は
連続的に移動する。この期間中、ソフトウェアとハード
ウェアはリアルタイム制約の下でレーザに走査線を送る
必要がある。したがって、圧縮解除方式の計算効率が高
いことが重要である。DRLEの圧縮解除方式はきわめ
て単純であることは明白であろう。さらに、N=2およ
び最新履歴(MR)の場合、DRLEの圧縮圧縮アルゴ
リズムも簡単である。したがって、DRLEは、高い圧
縮比を実現するだけでなく、実施がきわめて容易であ
り、リアルタイム環境におけるソフトウェアとハードウ
ェアの両方の実施態様にとって効率上有用である。
属文書Iとして添付されており、これはC言語ソース・
コードである。このプログラムの動作は以下のハードウ
ェア実施態様の説明を読めば容易に明らかになろう。
データ経路と処理段階に焦点を絞ったDRLEのハード
ウェア実施態様を図示する。データの流れは左から右の
方向である。システム・メモリ(たとえばDRAM)か
ら非圧縮ソース・データが読み取られ、入力FIFO
101を経由して圧縮器に入る。入力FIFOは任意選
択であるが、これによってメモリからソース・データを
バーストで読み取ることができ、全体的なシステム・パ
フォーマンスを最適化することができる。後述するいく
つかの処理段階103の後、圧縮されたデータ・ワード
が出力FIFO 105に書き込まれる。出力FIFO
も任意選択であるが、この場合もこれによって圧縮デー
タをメモリにバーストで書き込むことができる。
とができる。このFIFOはシステム・メモリから読み
取る要求と、システム・メモリから読み取ったデータを
FIFOバッファに格納する要求を生成する論理回路を
含む。
をアンロードする要求を出すエンコーダである。本明細
書に記載の実施例では、データ・ワードのサイズは32
ビットである。しかし、異なるサイズのバッファとカウ
ンタを使用してその他のサイズのデータ・ワードも扱う
ことができ、その特定の詳細は当業者なら容易にわかる
であろう。ダブル・ラン・エンコーダの処理によって、
32ビットのデータ・ワードが5ビットのランレングス
符号化に変換される。データは、ダブル・ラン・エンコ
ーダに32ビット・ワードとして入るかその他のサイズ
のワードとして入るかに関係なく、2進データの直列ス
トリームとみなされる。従来技術のランレングス・エン
コーダ109aを使用してこの直列ストリームを読み取
り、5ビット・カウンタで連続ビットの数をカウントす
る。内部状態機械109bが、ランレングス・エンコー
ダの動作を制御し、最初にゼロ・ビットをカウントする
ように指示する。1に到達すると、ランレングス・エン
コーダのゼロのカウントが、ダブル・ランFIFO 1
11内のレジスタH2の上位半分にロードされる。ただ
し、H2は後述するように10ビットのレジスタであ
る。内部状態機械109bは次にランレングス・エンコ
ーダ109aに対して連続する1のビットをカウントす
るように指示する。ゼロに到達すると、ランレングス・
エンコーダの1のカウントがレジスタH2の下位半分に
ロードされる。この時点で、レジスタH2には有効なダ
ブル・ラン符号化が入れられ、ダブル・ラン・エンコー
ダの状態機械はこの事象を後述するDRLE状態機械に
通知する。
ムの処理中に2つの問題を処理しなければならない。第
1に、ゼロのランまたは1のランがワード境界を越すこ
とがある。ランレングス・エンコーダがワード内の最後
のビットに到達すると、ダブル・ラン・エンコーダは入
力FIFOから別のワードを要求しなければならない。
入力FIFOが次のワードを供給すると、ランレングス
・エンコーダ109aは現行ランのカウントを再開す
る。
グス・エンコーダの5ビット・カウンタが保持すること
ができる最大値である31ビットより大きいゼロのラン
または1のランが入っている場合がある。これが発生し
た場合、ダブル・ラン・エンコーダはそのランを2つ以
上のダブル・ラン符号化に分割しなければならない。こ
の特殊な事態はRLE状態機械109bが処理する。ラ
ンレングス・エンコーダは、1つのラン内の32番目の
ビットに到達するとその事象をRLE状態機械に通知
し、RLE状態機械はDRLE状態機械115に対して
レジスタH2内の値が完結していることを通知する。レ
ジスタH2内の値は、ゼロのランのカウント中に最大カ
ウントに達した場合は{31,0}であり、1のランの
カウント中に最大カウントに達した場合は{n,31}
である。ただし、nは直前のランでカウントされたゼロ
の数である。H2内の値が受け入れられると、RLE状
態機械109bはランレングス・エンコーダを再始動さ
せ、ランレングス・エンコーダは前に中断したところか
らビットのカウントを再開する。
よる順序論理回路を使用して実施することができる。状
態機械の機能も、論理ゲートを使用して個別論理回路と
して実施することができる。その具体的な詳細は本発明
を理解するのに重要ではなく、当業者には周知である。
09によって生成された最後の3つの結果を保持するF
IFOとして構成された3個の10ビット・レジスタに
過ぎない。図7で、この3個のレジスタにはH2、H
1、およびH0と符号が付けられている。圧縮開始時に
は、H2がゼロ・クリアされ、H1とH0はそれぞれ
{31,0}に初期設定される。この初期設定値によっ
て、ゼロ・ランで始まるデータ・ストリームの圧縮度が
向上する。ダブル・ラン・エンコーダがその最初の結果
を生成すると、それらがH2にロードされる。H2、H
1、およびH0内の値は履歴比較器113によって検査
され、履歴比較器は後述するようにDRLE状態機械に
データを供給する。DRLE状態機械が履歴比較器の結
果に基づいて動作すると、レジスタH2およびH1内の
値がそれぞれレジスタH1およびH0にシフト・ダウン
され、レジスタH2は再びゼロ・クリアされる。その
後、レジスタH2を使用して次のダブル・ラン値を形成
することができる。
状態機械が圧縮コードの生成を制御するために使用す
る。履歴比較器は、2つの10ビット等価比較器を含
む。第1の等価比較器はレジスタH2をレジスタH1と
比較し、第2の等価比較器はレジスタH2とレジスタH
0を比較する。これらの比較結果は、DRLE状態機械
に供給され、コード・エミッタ117を制御する。
その結果に基づいてコード・エミッタが生成するコード
のタイプ、すなわち後述のようにYかZかを選択する。
機械(FSM)として実施することができる。初期状態
は、状態0であり、現行ダブル・ランについて検討中の
前のダブル・ランがない状態である(前にA≠C、A≠
B)。この場合、現行ダブル・ランは、リテラルとして
出されるか(履歴内のいずれとも一致しない場合、A≠
C、A≠B)、履歴内の最新項目とのみ一致する場合
(A≠C、A=B)はリピータとして出され、現行ダブ
ル・ランが最も古いものと一致する場合(A=C、A≠
B)(状態1)または履歴内の両方のダブル・ランと一
致する場合(A=C、A=B)(状態2)は、状態を変
化させる。
ったときに履歴比較機内の最も古いものと一致したが、
最も新しいものとは一致しなかった場合(前にA=C、
A≠B)に発生する。この場合、現行ダブル・ランが現
行の最も古いものと一致する場合(A=C)、2要素リ
ピータを出すことができる。そうでない場合は、前のリ
テラルを出さなければならず、現行のものはリテラル
(A≠B)または単一要素リピータ(A=B)として出
される。
・ランだったときに履歴比較器内の両方の要素と一致し
た場合(前にA=C、A=B)に発生する。この場合、
現行ダブル・ランが現行の最も古いものと一致しする場
合(A=C)、2要素リピータを出すことができる。そ
うでない場合(A≠C)、前の単一リピータを出さなけ
ればならず、現行のものはリテラルとして出される。
・コードで表されるものとして前述したソフトウェア実
施態様で説明している状態機械のコードを実施する状態
機械である。
には、完全な11ビットのリテラル・コードか、2ビッ
トの単一反復コードか、または2ビットのダブル反復コ
ードが入る。Zには、Yのコードのサイズ、すなわち2
または11が入る。コード・エミッタは、履歴比較器の
結果に基づいてDRLE状態機械115によって制御さ
れる。H2から10ビットの値を取り出し、ADD0論
理回路114によって最上位ビットとして0を前に付加
し、11ビットの結果をY上に駆動することによって、
リテラル・コードが生成される。それと並行して、値1
1(2進数1011)がZに駆動される。2進数10を
Yの最下位ビットに駆動し、値2(2進0010)をZ
に駆動するだけで単一反復コードが生成される。同様
に、2進数11をYの最下位ビットに駆動し、Zに値2
(2進0010)を駆動することによって、ダブル反復
コードが生成される。DRLE状態機械115からの出
力信号は、コード・エミッタ117への3つの入力のう
ちの1つを選択し、前述のようにコード・エミッタはそ
れをZ上の11または2と共にYに入れる。
トのコードを受け取り、それらを32ビット・ワードに
パックする。ワード・パッカはコード・エミッタから、
コードすなわちYからの値と、コードのサイズすなわち
Zからの値の2つの値を受け取る。コード・エミッタは
2ビットと11ビットの2つのコード・サイズしか出力
しない。コード・サイズに応じて、ワード・パッカは現
行2ビット・コード値または11ビット・コード値を、
前に受け取った値と結合し、32ビット・ワードを形成
する。ワード・パッカは、ワード境界を越えるコードを
適切に扱わなければならない。完全な32ビット・ワー
ドを形成するのに十分なコードが結合されると、ワード
・パッカはその結果を出力FIFOに渡す。ワード・パ
ッカ119の機能を実施する回路は当業者なら容易にわ
かるであろう。図7は、ワード・パッカ・ブロック11
9のデータ経路の作用を示す、適合する一実施態様のブ
ロック図である。ワード・パッカはコード・エミッタ1
17から一続きのnビット・コードを受け取り、それら
を一緒にパックして32ビット・ワードにする。ワード
・パッカはコード・エミッタから、コードすなわちYか
らの値と、コードのサイズすなわちZからの値の2つの
値を受け取る。
32ビットのバレル・シフタ131を使用する。32ビ
ット・バレル・シフタは、Yで送られたコード値を回転
させて適切な位置に入れ、32ビット・レジスタ135
に連結された前のコード値と結合することができるよう
にする。32ビット幅の2:1マルチプレクサ137
が、現行コード値を、前の連結コード・データのストリ
ングと結合し、新しい連結を32ビット・レジスタ13
5に保管する。32ビット・レジスタが一杯になるかオ
ーバーフローすると、ワード・パッカはその結果を出力
FIFO 105に渡す。
ズを示す。Zの値は5ビットのレジスタ141に累積さ
れ、このレジスタのPakShという符号が付けてある
出力がバレル・シフタの動作を直接制御し、32個の個
別に制御可能な2:1マルチプレクサを含む32ビット
幅の2:1マルチプレクサ137の動作を間接的に制御
する。PakSh値は、マスク生成器145によって単
純な5ビットの2進値から32ビットのマスクに変換さ
れる。PakSh値0x00、0x01、0x0
2、...、0x1Fによって、それぞれ32ビットの
マスク値0x00000000、0x8000000
0、0xC0000000、...、0xFFFFFF
FFが生成される。次にこの32ビット・マスクからの
ビット値によって、32個の2:1マルチプレクサのそ
れぞれが直接、個別に制御されて、現行コード・データ
または前のコード・データが選択される。このようにし
て、32ビット幅の2:1マルチプレクサ137は現行
コード値をその直前のコード値のストリングと結合し、
その新しい結合を32ビット・レジスタ135にロード
することができるようにする。
ビットおよび32ビットのレジスタ141および135
のロードと、マスク生成器145のイネーブルとを制御
する。また、これはALU 131からの合計および桁
上げ出力(図示せず)のモニタも行い、現行コードによ
って32ビットが一杯になるかまたはオーバーフローす
るかどうかを判断する。この2つのいずれの場合も、3
2ビット・レジスタ135にロードされた後、その結果
を出力FIFO 105に渡さなければならない。後者
の場合、次のコード値を結合する前に、現行回転コード
のオーバーフロー部分を32ビット・レジスタの開始ビ
ット部分にロードしなければならない。この状態機械は
この順序付けを扱う。
とができる。このFIFOは、ワード・パッカ117か
ら受け取った32ビット・ワードを格納し、そのワード
をメモリに書き戻す。メモリに格納されている圧縮デー
タはデコーダに渡され、デコーダの出力は元の入力ファ
イルと同じである。
するデコーダの実施態様の詳細は、当業者なら容易にわ
かるであろう。
の特定の実施態様について説明したが、異なるワード・
サイズを使用したり、3個のレジスタH1〜H2より多
くのレジスタを設けたり、履歴比較による比較を3つよ
り多くしたり、DRLE状態機械の状態を3つより多く
したり、0と1の代わりに1と0の対にして、リテラル
を示す接頭コードとして0の代わりに1を使用し、1の
代わりに0を使用してリピータを示したりするなど、特
許請求の範囲に記載の本発明の精神および範囲から逸脱
することなく多くの変更を加えることができる。
ングス符号化の例を示す図である。
ブル・ランレングス符号化の例を示す図である。
DRLEの例を示す図である。
グス符号化を示す図である。
ハードウェア実施態様を示すブロック図である。
ッカを示すブロック図である。
Claims (12)
- 【請求項1】 2進データの無損失圧縮を行うシステム
であって、 a)各符号化対が0のランと1のランを表す、2進デー
タのストリームを前記符号化対としてランレングス符号
化する手段と、 b)前記符号化対の履歴を記憶する手段と、 c)現行符号化対を前記履歴内の少なくとも第1および
第2の前の符号化対と比較する手段と、 d)i)第1のコードが前記現行符号化対が前記第2の
前の符号化対と一致し、前記第1の前の符号化対と一致
しなかったことを示し、第2のコードが前記現行符号化
対が前記第2の前の符号化対および前記第1の前の符号
化対と一致したことを示す、接頭コードを有する前記現
行符号化対の一方を選択し、ii)前記選択された一方
と前記選択された一方の長さとを出力として生成する手
段と、 e)前記出力を所定の長さを有するワードにパックする
手段とを備えるシステム。 - 【請求項2】 前記ランレングス符号化手段が、ランレ
ングス・エンコーダに入力源からデータを要求させて前
記データを対に変換させるように動作するランレングス
状態機械に結合されたランレングス・エンコーダを備
え、各対の第1の要素が入力源から受け取った連続する
0の数を示す数値であり、各対の第2の要素が入力源か
ら受け取った連続する1の数を示す数値であり、前記ラ
ンレングス状態機械が各連続する0と連続する1との対
の組合せの終わりを示す信号を発生するようにさらに動
作することを特徴とする請求項1に記載のシステム。 - 【請求項3】 前記履歴格納手段が、第2のレジスタに
結合された第1のレジスタと第2のレジスタに結合され
た第3のレジスタとを有するFIFOを備え、前記レジ
スタのそれぞれが2つの半分を有し、その一方に前記ラ
ンレングス・エンコーダ手段によって生成された連続す
る0が格納されその他方に前記ランレングス・エンコー
ダ手段によって生成された連続する1が格納されること
を特徴とする請求項1に記載のシステム。 - 【請求項4】 前記比較器手段が、前記第1のレジスタ
の内容を前記第2のレジスタおよび前記第3のレジスタ
と比較し、前記比較の結果を示す対応する第1おび第2
の比較信号を発生する比較器を備えることを特徴とする
請求項3に記載のシステム。 - 【請求項5】 a)前記接頭コードを前記現行符号化対
の前に付加する付加接頭コード手段と、 b)前記第1および第2のコードを生成する反復コード
手段とをさらに備える、請求項1に記載のシステム。 - 【請求項6】 前記選択手段が、 a)前記比較器手段と前記履歴手段と前記ランレングス
符号化手段とに結合されたダブル・ランレングス状態機
械と、 b)前記付加接頭コード手段と前記反復コード手段と前
記ダブル・ランレングス状態機械とに結合され、前記ダ
ブル・ランレングス状態機械から受け取った信号に基づ
いて、接頭コードを有する前記現行符号化対と、前記第
1のコードと、前記第2のコードとのうちの1つをその
出力として選択するコード・エミッタ・マルチプレクサ
と、 c)前記マルチプレクサに結合され、前記選択された1
つの出力の長さを生成する論理回路とを備えることを特
徴とする請求項5に記載のシステム。 - 【請求項7】 前記パッキング手段が、 a)前記論理回路に結合され、前記選択された1つの出
力の長さを1つの入力として受け取り、合計および桁上
げ出力を生成するアキュムレータと、 b)前記アキュムレータに結合され、前記アキュムレー
タの合計出力をその入力として受け取り、その内容を前
記アキュムレータに第2の入力として供給するレジスタ
と、 c)前記コード・エミッタ・マルチプレクサに結合さ
れ、前記コード・エミッタ・マルチプレクサからの選択
された出力をそのデータ入力として受け取るバレル・シ
フタと、 d)前記レジスタに結合され、前記レジスタの内容に基
づいてマスク出力を生成するマスク生成器と、 e)前記バレル・シフタと前記マスク生成期手段とに結
合され、それぞれが前記バレル・シフタの出力のうちの
対応する1つを1つの入力として有する1組の2:1マ
ルチプレクサと、 f)前記1組の2:1マルチプレクサに結合され、前記
1組の2:1マルチプレクサへの対応する第2の入力と
して結合された出力を有する第2のレジスタとを備える
ことを特徴とする請求項6に記載のシステム。 - 【請求項8】 2進データの無損失圧縮を行う方法であ
って、 a)各符号化対が0のランと1のランを表す2進データ
のストリームを符号化対としてランレングス符号化する
ステップと、 b)前記符号化対の履歴を記憶するステップと、 c)現行符号化対を前記履歴内の少なくとも第1および
第2の前の符号化対と比較するステップと、 d)第1のコードが前記現行符号化対が前記第2の前の
符号化対と一致し、前記第1の前の符号化対と一致しな
かったことを示し、第2のコードが前記現行符号化対が
前記題2の前の符号化対および前記第1の前の符号化対
と一致したことを示す接頭コード付きの前記現行符号化
対のうちの1つを選択するステップと、 e)前記選択された1つと前記選択された1つの長さと
を出力として生成するステップと、 f)前記出力を所定の長さを有するワードにパックする
ステップとを含む方法。 - 【請求項9】 前記ランレングス符号化ステップが、入
力源からデータを要求して前記データを、各対の第1の
要素が入力源から受信した連続する0の数を示す数値で
あり、各対の第2の要素が入力源から受け取った連続す
る1の数を示す数値である対に変換し、各連続する0と
連続する1との対の組合せの終わりを示す信号を発生す
るステップを含むことを特徴とする請求項8に記載の方
法。 - 【請求項10】 前記履歴記憶ステップが、前記ランレ
ングス・エンコーダ・ステップによって生成された前記
連続する0および1を、第2のレジスタに結合された第
1のレジスタと、前記第2のレジスタに結合された第3
のレジスタとを有するFIFOに格納するステップを含
み、前記レジスタのそれぞれが2つの半分を有し、その
うちの一方に連続する0が格納され、他方に連続する1
が格納されることを特徴とする請求項9に記載の方法。 - 【請求項11】 前記比較ステップが、前記第1のレジ
スタの内容を前記第2のレジスタおよび前記第3のレジ
スタと比較し、前記比較の結果を示す対応する第1およ
び第2の比較信号を発生するステップを含むことを特徴
とする請求項10に記載のシステム。 - 【請求項12】 a)前記接頭コードを前記現行符号化
対の前に付加するステップと、 b)前記第1および第2のコードを生成するステップと
をさらに含む、請求項8に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/582,150 US5710561A (en) | 1996-01-02 | 1996-01-02 | Method and apparatus for double run-length encoding of binary data |
US08/582150 | 1996-01-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH114170A true JPH114170A (ja) | 1999-01-06 |
JP4094081B2 JP4094081B2 (ja) | 2008-06-04 |
Family
ID=24328045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP01008697A Expired - Fee Related JP4094081B2 (ja) | 1996-01-02 | 1997-01-06 | 2進データのダブル・ランレングス符号化の方法および装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5710561A (ja) |
EP (1) | EP0783208B1 (ja) |
JP (1) | JP4094081B2 (ja) |
DE (1) | DE69624670T2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7079691B2 (en) | 2000-10-31 | 2006-07-18 | Ricoh Company, Ltd. | Method of and apparatus for encoding, method of and apparatus for decoding, and image forming apparatus |
KR20120013945A (ko) * | 2009-04-09 | 2012-02-15 | 톰슨 라이센싱 | 각각의 심벌이 세 개 이상의 가능한 심벌 값 중 하나를 가질 수 있는 심벌 시퀀스들의 인코딩 및 디코딩에 대한 방법 및 장치 |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5841379A (en) * | 1997-01-24 | 1998-11-24 | Texas Instruments Incorporated | Method and apparatus for selectively counting consecutive bits |
US6332152B1 (en) | 1997-12-02 | 2001-12-18 | Matsushita Electric Industrial Co., Ltd. | Arithmetic unit and data processing unit |
EP0957586A1 (en) * | 1998-05-15 | 1999-11-17 | Algorithmic Research BV. | Method for data compression |
US6215424B1 (en) * | 1998-12-16 | 2001-04-10 | Thomson Licensing S.A. | System for variable length codeword processing suitable for video and other applications |
US6416410B1 (en) * | 1999-12-03 | 2002-07-09 | Nintendo Co., Ltd. | Data compression/decompression based on pattern and symbol run length encoding for use in a portable handheld video game system |
US6445314B1 (en) * | 2000-03-01 | 2002-09-03 | Cisco Technology Inc. | System and method for the decoding of variable length codes |
US7164369B2 (en) * | 2001-06-19 | 2007-01-16 | Sharp Laboratories Of America, Inc. | System for improving storage efficiency of digital files |
US7532358B2 (en) * | 2002-02-27 | 2009-05-12 | Hewlett-Packard Development Company, L.P. | Hardware implemented loss-less page data compressor/decompressor |
GB0217604D0 (en) * | 2002-07-30 | 2002-09-11 | Vodafone Ltd | Data processing systems and methods |
US20070162642A1 (en) * | 2005-12-19 | 2007-07-12 | Ivo Tousek | A dma controller with multiple intra-channel software request support |
US7486211B2 (en) * | 2007-04-13 | 2009-02-03 | Apple Inc. | Method and system for entropy coding |
US8144037B2 (en) * | 2007-07-12 | 2012-03-27 | Intellectual Ventures Fund 44 Llc | Blocking for combinatorial coding/decoding for electrical computers and digital data processing systems |
US8055085B2 (en) * | 2007-07-12 | 2011-11-08 | Intellectual Ventures Fund 44 Llc | Blocking for combinatorial coding/decoding for electrical computers and digital data processing systems |
US7990289B2 (en) * | 2007-07-12 | 2011-08-02 | Intellectual Ventures Fund 44 Llc | Combinatorial coding/decoding for electrical computers and digital data processing systems |
US8111380B2 (en) * | 2007-09-14 | 2012-02-07 | Luminescent Technologies, Inc. | Write-pattern determination for maskless lithography |
US7834783B2 (en) * | 2008-08-26 | 2010-11-16 | International Business Machines Corporation | Converting a mask constraint into a bitset constraint |
US7804428B2 (en) * | 2008-11-10 | 2010-09-28 | Apple Inc. | System and method for compressing a stream of integer-valued data |
US20150302279A1 (en) * | 2009-12-22 | 2015-10-22 | Ricoh Company, Ltd. | Run Length Compression Mechanism |
US8653454B2 (en) | 2011-07-13 | 2014-02-18 | Luminescent Technologies, Inc. | Electron-beam image reconstruction |
GB2511493B (en) * | 2013-03-01 | 2017-04-05 | Gurulogic Microsystems Oy | Entropy modifier and method |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5634266A (en) * | 1979-08-29 | 1981-04-06 | Hitachi Ltd | Double run length encoding system |
US4316222A (en) * | 1979-12-07 | 1982-02-16 | Ncr Canada Ltd. - Ncr Canada Ltee | Method and apparatus for compression and decompression of digital image data |
US4679094A (en) * | 1986-10-14 | 1987-07-07 | The Associated Press | Method for compression and transmission of video information |
US4971407A (en) * | 1989-08-09 | 1990-11-20 | Unisys Corp. | Two stage run and string data compressor providing doubly compressed output |
US4988998A (en) * | 1989-09-05 | 1991-01-29 | Storage Technology Corporation | Data compression system for successively applying at least two data compression methods to an input data stream |
JPH0629861A (ja) * | 1990-12-31 | 1994-02-04 | Internatl Business Mach Corp <Ibm> | データ圧縮方法 |
US5627534A (en) * | 1995-03-23 | 1997-05-06 | International Business Machines Corporation | Dual stage compression of bit mapped image data using refined run length and LZ compression |
US5689255A (en) * | 1995-08-22 | 1997-11-18 | Hewlett-Packard Company | Method and apparatus for compressing and decompressing image data |
-
1996
- 1996-01-02 US US08/582,150 patent/US5710561A/en not_active Expired - Lifetime
- 1996-12-20 DE DE69624670T patent/DE69624670T2/de not_active Expired - Lifetime
- 1996-12-20 EP EP96309335A patent/EP0783208B1/en not_active Expired - Lifetime
-
1997
- 1997-01-06 JP JP01008697A patent/JP4094081B2/ja not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7079691B2 (en) | 2000-10-31 | 2006-07-18 | Ricoh Company, Ltd. | Method of and apparatus for encoding, method of and apparatus for decoding, and image forming apparatus |
US7359557B2 (en) | 2000-10-31 | 2008-04-15 | Ricoh Company, Ltd. | Method of and apparatus for encoding, method of and apparatus for decoding, and image forming apparatus |
KR20120013945A (ko) * | 2009-04-09 | 2012-02-15 | 톰슨 라이센싱 | 각각의 심벌이 세 개 이상의 가능한 심벌 값 중 하나를 가질 수 있는 심벌 시퀀스들의 인코딩 및 디코딩에 대한 방법 및 장치 |
JP2012523602A (ja) * | 2009-04-09 | 2012-10-04 | トムソン ライセンシング | 各シンボルが三つ以上の可能なシンボル値のうちの一つをもちうる場合のシンボル・シーケンスのエンコードおよびデコードの方法および装置 |
Also Published As
Publication number | Publication date |
---|---|
EP0783208B1 (en) | 2002-11-06 |
DE69624670D1 (de) | 2002-12-12 |
EP0783208A2 (en) | 1997-07-09 |
EP0783208A3 (en) | 1998-11-25 |
JP4094081B2 (ja) | 2008-06-04 |
DE69624670T2 (de) | 2003-07-17 |
US5710561A (en) | 1998-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4094081B2 (ja) | 2進データのダブル・ランレングス符号化の方法および装置 | |
US5627534A (en) | Dual stage compression of bit mapped image data using refined run length and LZ compression | |
US5857035A (en) | Arithmetic coding compressor for encoding multiple bit values | |
JP3136796B2 (ja) | 可変長符号デコーダ | |
JP3007496B2 (ja) | 可変長復号化器 | |
US5745608A (en) | Storing data compressed with arithmetic coding in non-contiguous memory | |
US5654703A (en) | Parallel data compression and decompression | |
US5886655A (en) | Arithmetic coding context model that accelerates adaptation for small amounts of data | |
JP2831888B2 (ja) | Hdtv復号化器 | |
US5694125A (en) | Sliding window with big gap data compression system | |
JP3211640B2 (ja) | 2値化画像の圧縮のための二次元的方法およびシステム | |
JP2968112B2 (ja) | 符号変換方法 | |
US5901251A (en) | Arithmetic coding compressor using a context model that is adaptive to variable length patterns in bi-level image data | |
JPH09121170A (ja) | デジタル画像信号の圧縮・復元を行う方法及び装置 | |
EP0797348A2 (en) | A one dimensional context model for entropy encoding digital halftone images with arithmetic coding | |
US5880688A (en) | Arithmetic coding context model that adapts to the amount of data | |
EP0834832B1 (en) | Arithmetic image coding | |
US20240338855A1 (en) | Split runlength encoding compression and decompression of multi-planar image data | |
JP3283150B2 (ja) | データ圧縮・圧縮解除法 | |
JP2934603B2 (ja) | 可変長さコードの復号化方法及びその装置 | |
GB2305277A (en) | A lossy data compression method | |
JP2001217722A (ja) | 情報符号化装置及び情報符号化方法及びコンピュータ読み取り可能な記憶媒体 | |
JPS6341276B2 (ja) | ||
JP3842650B2 (ja) | 画像処理装置及び画像処理方法 | |
JPH05193200A (ja) | 印字装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050614 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050914 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20051004 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080305 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110314 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110314 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120314 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130314 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130314 Year of fee payment: 5 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130314 Year of fee payment: 5 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130314 Year of fee payment: 5 |
|
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 |