JP2007507182A - 分割式ランレングス符号化方法および装置 - Google Patents

分割式ランレングス符号化方法および装置 Download PDF

Info

Publication number
JP2007507182A
JP2007507182A JP2006528247A JP2006528247A JP2007507182A JP 2007507182 A JP2007507182 A JP 2007507182A JP 2006528247 A JP2006528247 A JP 2006528247A JP 2006528247 A JP2006528247 A JP 2006528247A JP 2007507182 A JP2007507182 A JP 2007507182A
Authority
JP
Japan
Prior art keywords
value
code
encoding
data set
data
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
Application number
JP2006528247A
Other languages
English (en)
Other versions
JP4906506B2 (ja
Inventor
ス,ドンペイ
ロビンソン,レイモンド・ビイ
Original Assignee
ピアレス・システムズ・コーポレーション
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ピアレス・システムズ・コーポレーション filed Critical ピアレス・システムズ・コーポレーション
Publication of JP2007507182A publication Critical patent/JP2007507182A/ja
Application granted granted Critical
Publication of JP4906506B2 publication Critical patent/JP4906506B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/46Conversion 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

本発明の実施形態は、データ・ストリームの可逆符号化と圧縮を行うためのシステムおよび方法を含む。データ・ストリームは画像、テキストまたはこの2つの組合せある。データ・ストリームはコンピュータ・アプリケーションまたは周辺デバイスから受信されてよい。データ・ストリームの連続する値を比較し、連続するデータの値の間の差分に基づいてデータを符号化することによって、符号化からデータ・ストリームが圧縮される。

Description

本発明は可逆的なデータ圧縮と符号化に関する。詳細には、本発明の実施形態は、データ・ストリームの連続する値の間の差分に基づいて、データのストリームを符号化することに基づいた圧縮に関する。
印刷デバイスは、幅広い種類の出力表示デバイスを含む。レーザ・プリンタ、バブル・ジェット・プリンタ、プロッタ、イメージ・セッタ、その他の印刷デバイスなどのこれらの出力表示デバイスは、画像または視覚的表現を紙または同様の物質の表面に作り出す。印刷デバイスの多くは、ビットマップまたはピクセルマップに含まれる情報に対応する点を印刷することによって、表面に画像を形成する。例えば、ラスタ式の印刷デバイスは、対応するピクセルマップに基づいて行と列の中に配置された点を印刷することによって表面に画像を形成する。
コンピュータ・システムで実行されるアプリケーションは、一緒に印刷されることが要求される複数のページまたは画像を生成する。このまとめられた画像とページのグループは、しばしばジョブと呼ばれる。各ジョブが印刷されるよりも短い時間間隔で、複数のジョブが要求されることがよくある。これらのジョブは、先に予定されていたジョブが完了した後に印刷されるように待ち行列に入れられることが多い。ジョブは、プリンタに送られるまでの間記憶される中間的な記憶デバイスに送信されてもよい。
ジョブの中のページは、出力デバイスによって表示されるオブジェクトを記述するための高級言語であるページ記述言語(PDL)で記述されることが多い。これらの言語は通常、ページを正確に表すための解釈された言語である。ジョブ、またはページ、プレーン、バンドなどのジョブの構成要素を表すデータまたはファイルのストリームは、容量が大きいことがある。その容量のためにデータの伝送や処理が遅くなる。
本発明の実施形態を、添付の図面の図中で限定条件としてではなく例として示す。図中、同じ参照コードは同様の要素を示す。本開示の中での「ある(an)」実施形態または「1つの(one)」実施形態といった異なる言及は、必ずしも同一の実施形態を指すものではなく、そのような言及は少なくとも1つということを意味する。
図1Aおよび図1Bは、符号化と復号化のデータ経路を例示する図である。図1Aに、符号化されたデータが記憶デバイス117のファイルまたは同様のデータ構造から取り出され、メモリ119の中に配置される復号化のデータ経路を示す。記憶装置117は固定ディスク、着脱可能媒体または同様の記憶デバイスである。メモリ119はシンクロ・ダイナミック・ランダム・アクセス・メモリ(SDRAM)または同様のデバイスである。復号化プロセッサ121は、メモリ119から符号化されたデータを検索する。1つの実施形態で、復号化プロセッサ121は復号化アプリケーションのソフトウェア実装を実行する汎用プロセッサ(GPP)である。別の実施形態で、復号化プロセッサ121は特定用途向け集積回路(ASIC)である。復号化プロセッサ121はピッカ(picker)101と復号器103を含む。ピッカ101は、メモリ119からの符号化されたデータのワードを分解し、個々のデータを復号器103に送る。ピッカ101は、復号化プロセッサ121によって実行される回路またはソフトウェアである。復号器103は、復号化プロセッサ121によって実行される回路またはソフトウェアである。復号器103は、出力インタフェース105に送られるラスタ・データまたは同様のフォーマット化されたデータ・ストリームにコードを変換する。出力インタフェース105は、アプリケーション、記憶装置または同様の行き先などの出力先にデータを調整して送る。1つの実施形態で、出力インタフェース105は、入ってくるラスタ・データ・ストリームを印刷エンジンを駆動する1組の信号に転換する印刷制御装置のインタフェースである。
図1Bに、例えばスキャナ・エンジンまたは同様のデバイスなどの入力源からデータがストリームとして受信される符号化のデータ経路を示す。データ・ストリームは、入力インタフェース129によって、ユニバーサル・シリアル・バス(USB)または同様の媒体などの媒体を介して受信される。入力インタフェース129は、データを1組のバイトまたはワードとして符号化プロセッサ127に送る。1つの実施形態で、符号化プロセッサ127は符号化アプリケーションのソフトウェア実装を実行するGPPである。別の実施形態で、符号化プロセッサ127はASICである。符号化プロセッサ127は符号化器113とパッカ(packer)115を含む。符号化器113は、以下で説明する分割式ランレングス符号化(SRLE)を用いて入力インタフェース129から受け取ったバイトを符号化する回路またはソフトウェアである。符号化されたデータはその後パッカ115に送られる。パッカ115は、不定の大きさのコードを受信し、1つのワードの中にコードを詰込むこと、および複数のワードにコードを分かつことによってワードを形成する回路またはソフトウェアである。パッキングされたコードのワードは、その後メモリ125に記憶され、続いて記憶装置117に送られる。メモリ125はSDRAMまたは同様のデバイスである。記憶装置117は、固定ディスク、着脱可能媒体または同様の記憶デバイスである。
多くの復号化と符号化プロセッサ(121、127)がそれぞれ、並列のデータ経路で用いられる。1つの実施形態で、個々のデータ経路はバンド、ページまたはプレーンを処理するために使用される。例えば、個々の並列のデータ経路は赤、緑、青(RGB)プレーンのために使用される。
図2Aに、符号化プロセッサによってデータ・ストリームを符号化するために使用するSRLE符号化過程のストリーム図を示す。1つの実施形態で、入ってくるデータのバイトまたはユニットのそれぞれはリテラル・コード、近似(Near Match)コードまたは一致コードとしてカテゴリ化され、グループ化され、符号化される。近似コードはさらに近似反復コードと近似単一コードに分割できる。
リテラル・コードは、単一の初期値と、データ・ストリームでの値の連続の中で前の値から定義された範囲を超えて外れる単一の値とを符号化するために使用される。例えば、範囲が負の16から正の15までとして、または15もしくは16のおよその絶対値差分として定義されている場合、50の値(10進数)が20の値の後ろに続くときにはリテラルとして符号化される。しかしながら、値50が値45の後ろに続くときには、差分5は負の16から正の15の範囲に入るのでリテラルとして符号化されることはない。
近似コードは、データ・ストリームの連続の中で前の値から定義された範囲内で外れる値を符号化するために使用される。近似コードは、データ・ストリームで生じる連続した同一の値の個数を示すために、ランレングス領域を含む。1つの実施形態で、一般の近似コードよりも小型の個々の近似単一コードは、圧縮に関する最適化に使用される。近似単一コードはランレングス領域を有さないので、任意の大きさのランレングス領域を有してもよい一般の近似コードよりも小型である。別の実施形態で、近似単一コードは用いず、近似反復コードが1のランレングスを符号化してもよい。1つの実施形態では、ランレングス領域の大きさは10ビットである。
一致コードは、データ・ストリームの連続の中で前の値と同一の値を符号化するために使用される。例えば、リテラルの後ろに続く値が全く同じである場合、一致コードが使用される。一致コードは、データ・ストリームで生じる連続した同一の値の個数を示すためにランレングス領域を含む。1つの実施形態で、ランレングス領域は10ビットである。ランレングス領域の大きさはより長いランまたはより短いランを処理するために変更されてもよい。
1つの実施形態で、符号化過程は1組の状態変数(ブロック201)を初期化することによって始まる。状態変数は、現在処理されているランのタイプを追跡するラン・タイプ変数、現在のランの長さ(すなわち同一の連続する値の個数)を追跡するランレングス変数、処理済の前の値を追跡する「旧値」を含んでいる。本明細書の文脈でのランとは、単一のコードへの符号化が可能な1組の値のことである。ランのタイプは、可能な符号化のタイプ(例えば近似、一致またはリテラル)に一致する。デフォルトの旧値はゼロか、または他の任意の既知の値である。デフォルトのランレングスはゼロである。
プロセスは、データ・ストリームの次の値または「新値」(例えばバイト)を続けて検索することによって続ける(ブロック203)。データ・ストリームはピクセル当たりビット(bpp)8の値を含む。別の実施形態で、符号化の基本単位はワードか、または任意の長さの1組のビットである。次いで、ファイルの末端にまで達したかどうかについて判定が下される(ブロック205)。ファイルの末端にまで達した場合、いかなる符号化されていないランも、指定されたラン・タイプと算出されたランレングスに基づいて符号化される(ブロック207)。ファイルの末端が検出された場合、付加的なファイルの末端コードが生成される(ブロック208)。
ファイルの末端が検出されない場合、新値は記憶された旧値と一致するかどうかを判定するために検査される(ブロック209)。新値が旧値に一致する場合、ランレングスは1つ増やされる(ブロック211)。ランレングス変数は、データ・ストリームの中の各値が処理されるときにランの長さを追跡するためのタリーとしての機能を果たす。ランレングス・タリーが増やされた後、現在のランが近似と指定されたかどうかを判定するためにラン・タイプが検査される(ブロック213)。例えば、値の連続0x20、0x26、0x26(16進数)が生じた場合、第2の値0x26は近似のランの始まりとなる。第3の値0x26が処理されるとき、ランレングスは1つ増やされる。ランは、値の変化が検出されるか、またはランレングスが固定された符号化の限界を超えるまで符号化されることはない。
1つの実施形態で、近似が指定された場合、符号化の限界に達したかどうかを判定するためにランレングスの検査が行われる(ブロック215)。ランレングスが符号化の限界を超えていない場合、処理のための次の値が検索される(ブロック203)。1つの実施形態で、ランレングスは4を超えたかどうかを判定するために検査される。ランレングスが4を超えた場合、ランは近似反復コードとして符号化される(ブロック217)。次いで、同一でもある任意の連続値のために、ラン・タイプは一致として指定される(ブロック219)。連続の中の値が、リテラルとして、またはランレングスが限定されている環境下では近似反復として符号化された前の値と正確に一致する場合、一致のランが指定される。ランレングスは次いでゼロにリセットされる(ブロック220)。続いて処理のための次の値が検索される(ブロック203)。4つのランレングスの検査と近似反復コードの符号化は、ランレングスの符号化のために2ビットのみを有する近似反復コードに基づく。別の実施形態で、近似反復コードは異なる大きさのランレングスの符号化を可能にするより大きい、またはより小さいビットの長さを有してもよい。ランレングスの検査は、ランレングス領域のビット数に従って調整される。さらなる実施形態で、近似反復コードは任意の大きさのランレングスを取り扱うように構築されてもよい。
新値が旧値に等しく(ブロック209)、ラン・タイプが近似でない(ブロック213)例では、一致のラン・タイプが指定される(ブロック221)。1つの実施形態で、一致が指定された場合、符号化の限界に達したかどうかを判定するためにランレングスの検査が行われる(ブロック223)。ランレングスが符号化の限界を超えていない場合、処理のための次の値が検索される(ブロック203)。1つの実施形態で、ランレングスは1027を超えたかどうかを判定するために検査される。ランレングスが1027を超えた場合、ランは一致コードとして符号化される(ブロック225)。次いでランレングスはゼロにリセットされる(ブロック227)。次いで、処理のための次の値が検索される(ブロック203)。1027のランレングスの検査と一致コードの符号化は、ランレングスの符号化のために10ビットのみを有する一致コードに基づく。別の実施形態で、一致コードは異なる大きさのランレングスの符号化を可能にするより大きい、またはより小さいビットの長さを有してもよい。ランレングスの検査は、ランレングス領域のビット数に従って調整される。さらなる実施形態で、一致コードは任意の大きさのランレングスを取り扱うように構築される。
新値が旧値に等しくない(ブロック209)例で、ランレングスがゼロより大きいかどうかを判定するために検査が行われる(ブロック229)。ゼロよりも大きいランレングスは、値の変化が生じているので符号化されていないランは終わったということを示す。ランが近似ランであるかどうかを判定するためにラン・タイプの検査が行われる(ブロック231)。ランが近似ランではない場合、一致コードとして符号化される(ブロック239)。ランが近似である場合、ランレングスが1に等しいかどうかを判定するために検査が行われる(ブロック233)。ランレングスが1に等しい場合、ランは近似単一コードとして符号化される(ブロック235)。ランレングスが1に等しくない場合、ランは近似反復コードとして符号化される(ブロック237)。別の実施形態で、近似単一コードは使用されなくてもよく、一致ではない全てのランは近似コードとして符号化される。ランの符号化は新しい値を含まないために、ランの符号化(一致、近似反復または近似単一)に関係なく処理は継続する。新値が、旧値から外れることによってランの末端を示す。
新値が旧値に等しくない(ブロック209)例では、その差分が事前に定義された範囲に入るかどうかを判定するため新値が旧値と比較される(ブロック241)。1つの実施形態で、8bppの値で、負の16から正の15の範囲が使用されてもよい。この範囲は、前のバイト中での低位ビットから新たなバイト中での低位ビットが変化したかどうかを判定する。ストリームの中の第1の値が分析される場合、デフォルトの既知の旧値が使用されてもよい。例えば、デフォルト値はゼロである。差分が範囲外にある場合、値はリテラルとして符号化され(ブロック243)、ラン・タイプはリテラルとして指定される(ブロック245)。例えば、データ・ストリームの初期値は0x20である。デフォルトの旧値がゼロの場合、0x20の値はリテラルとして符号化される。現在のランの中の最後に検索された値は符号化され、検索される次の値は次のランの始まりとなるので、ランレングスはゼロにリセットされる(ブロック247)。
しかしながら、差分が事前に定義された範囲の中にある場合、ラン・タイプは近似として指定される(ブロック251)。ランを近似として指定することは、分析されている現在の連続の値が近似として符号化されることと、ランの長さは符号化が完了する前に判定されなければならないこととを識別するカテゴリ化を行うことである。近似のランレングスは、現在のランが最後に検索された値を含むために1に設定されている(ブロック253)。(リテラルとして符号化されるか、または近似として指定されるかの)いずれの場合も、次の値が検索される(ブロック203)前に、新値は旧値として保存され(ブロック249)、データ・ストリームの処理は継続する。
1つの実施形態で、図2Aのストリーム図の符号化機構はデータ・ストリームを符号化するために使用される第1の符号化方式である。第1の符号化プロセスは、高解像度のオリジナルの画像データのために最適化される。第1の符号化プロセスは、デフォルトのプロセスである。この第1の符号化方式を用いて符号化されたデータは、図2Bのストリーム図に示す単純な復号化プロセスを用いて復号化されてもよい。復号化プロセスは復号化される次のコードを得る(ブロック271)ことから始まり、コードから派生する2進値を生成する(ブロック273)。リテラルは正確な2進値を含む。近似コードは、生成される2進値と生成されたその前の2進値との差分を示す。一致コードは、生成される2進値がその前の2進値に一致することを示す。復号化プロセスは、評価されるコードのランレングスを検査することによってランが完了したかどうかを判定する(ブロック275)。ランが完了されない場合、復号化プロセスはランレングスを減らし(ブロック281)、次の値を生成する(ブロック273)。ランが完了された場合、このプロセスはファイル・コードの末端を検査する(ブロック277)。ファイルの末端に達していない場合、評価される次のコードが検索される(ブロック271)。ファイルの末端が見つかった場合、復号化プロセスは終了する(ブロック279)。
1つの実施形態で、図2Aと合わせて述べた第1の符号化プロセスと共に、第2の符号化プロセスが利用されてもよい。第2の符号化プロセスは、値の長いランを多く含んでいることがわかっているデータ・ストリームのために使用されてもよい。例えば、第2の符号化プロセスは同一ピクセルの長いランを多く含む画像のために使用される。1つの実施形態で、第2の符号化プロセスはフィルタをかけられたデータに使用される。第2のプロセスはデータのピクセル、バイトまたはユニットの全ての値を、直ぐ後ろに続く同一値の数のランレングスと共に符号化する。第1の符号化方法(すなわちSRLE符号化)と第2の符号化方法は、他方の方式への切換を示すコードを含む。このことによって、符号化器はデータのタイプまたはドキュメントの既知の特性に従って、双方の符号化プロセスを用いてドキュメントを符号化することができる。第1のプロセスと第2のプロセスとの間の切換は、必要に応じてスキャンライン内で、スキャンラインからスキャンラインで、またはバンドからバンドで、符号化器によって適切に行うことができる。このことによって、画像の品質を保持しながら圧縮率を向上させることができる。切換コードによって、復号器はファイルまたはデータ・ストリームを素早く復号するために、符号化プロセスの中の切換を簡単に検出することができる。別の実施形態で、第2の符号化方法としてその他の符号化プロセスが利用されてもよい。その他の第2の符号化方法は、TIFF、JPEG、同様のアルゴリズムを含む。
第1と第2の符号化システムは、プレーン(例えば藍色プレーン、黄色プレーン、深紅色プレーン、黒色プレーン)、バンド、その他の同様の構造に分割されたドキュメントに使用されてもよい。第1と第2の符号化システムはまた、オブジェクト指向のドキュメントまたはファイルと共に使用されてもよい。このドキュメントまたファイルでは、主にファイルまたそれらのファイルの解釈によって関連付けられるか、または要約されるデータ上で符号化が使用される。符号化のプロセスは双方とも可逆である。
第1の符号化システムは、513.5:1(すなわち圧縮ファイルとオリジナルのファイルとの間で513.5:1の圧縮の比率)と0.8:1との間の圧縮率を達成する。インチ当たりのドット(dpi)が600の写真のファイルの圧縮率は、平均で2対1から6対1との間になる。テキストを含むファイルの圧縮率は、平均で30対1よりも大きい。線画を含むファイルの圧縮率は、平均で10対1よりも大きい。第2の符号化システムは391.2:1と0.73:1との間の圧縮率を達成することができる。600dpiの写真ファイルの圧縮率は、平均で3対1から10対1との間になる。テキストを含むファイルの圧縮率は、平均で30対1よりも大きい。線画を含むファイルの圧縮率は、平均で30対1よりも大きい。
図3Aに、符号化とデータ・ストリームを例示する。データ・ストリーム301は1組の連続のバイトから構成されている。バイトは16進数で書き込まれている。最初のバイト303は0x20で最後のバイト305は0x62である。バイトは順番に処理される。最初のバイト303はリテラル307として符号化される。1つの実施形態で、前の値がなく、最初のバイト303はリテラルとしてカテゴリ化されなければならない。別の実施形態で、符号化プロセッサは既知のデフォルトの開始値を利用し、第1の実効値はデフォルト値に関連してカテゴリ化される。
データ・ストリームの次の2つのバイト309はいずれも0x26である。第1の値は、前の値0x20との値の差分(すなわち6)が負の16から正の15の定義された範囲内にあるので、近似としてカテゴリ化される。次の値もまた0x26である。この値はその前の値とまめられ、カテゴリ化は2バイトのラン311で近似として完成される。次のバイト313は、後ろに続くバイトが一致する値を有していないので、近似単一315としてカテゴリ化される。バイト317は0x57の値を有する。このバイトは定義された範囲に入らない前のバイトとの値の差分を有する。バイト317はリテラルとして符号化される。その後ろに続く値0x57を有する1組のバイト319は、8つのランで一致として符号化される。特殊なファイルの末端コード321はファイルの末端で生成される。
図3Bにデータ・ストリーム301の符号化を例示する。この符号化は演算コードと表Iの形式を利用する。リテラル、近似、一致、特殊なエスケープ・コードの基本カテゴリへのデータのカテゴリ化のために、その他のコードが使用されてもよいことは当業者には理解されよう。値は全て2進数の中にある。演算コードはデータのカテゴリ化のタイプを識別する。演算コードに関連したランレングス領域は、カテゴリのために連続する値の個数を識別する。値領域は符号化された数列の実効値か、または前の符号化からの値の差分である。リテラルの領域の長さは、ピクセル当たり8ビットのデータの符号化に基づく。この領域の大きさは、符号化されるデータのピクセル当たりビットの大きさを反映して調整されてもよい。近似の演算コードの領域の大きさは、このデータのカテゴリを識別する範囲に基づく。領域の長さは、より広い、またはより狭い範囲が利用される場合、調整されてもよい。
Figure 2007507182
図3Cに、データ・ストリームを符号化する第2の方式を例示した図を示す。符号化の第2の方式は、同一値の長いランを有するデータのために最適化されている。データ・ストリーム351は値とランレングスとのペア353の1組に分解されている。各ペアの値は数列の値であり、ランレングスは値の連続して現れる個数である。データ・ストリーム351の第1の値361は0x00である。一致している連続の値が8つある。例示的な符号化のストリーム355は、値とランレングスとのペア353の2進法表現である。符号化は、最初の8ビットが符号化された値を示し、次の3ビットがランの長さを示すか、または長いランが後ろに続く10ビットで符号化されることを示す例示的な符号化機構に基づく(すなわちレングスの中で、2進値0b000から0b110は1から7のランレングスを符号化し、一方2進値0b111は次の10ビットが8から1027のランを符号化することを示す)。ランレングスを表すために他の同様の符号化機構が使用されてもよいことは、当業者には理解されよう。例えば、3または10ビット以上がランレングスを示すために使用されてもよく、または単一のランの領域の長さが使用されてもよい。第2の方式はまた、ファイルの末端(例えば2進値xxxxxxxx111 11111111100)、または切換を符号化する方式(例えば2進値xxxxxxxx111 1111111111)を示すために確保された値を有していてもよい。
上記の明細書で、本発明をその具体的な実施形態を参照して説明してきた。しかしながら、添付の特許請求の範囲で言及されているように、本発明のより広い精神および範囲から逸脱することなく様々な修正や変更が可能であることは明白である。したがって、本明細書および図面は、限定というよりもむしろ実例としての意味で考慮される。
復号化のデータ経路を例示する図である。 符号化のデータ経路を例示する図である。 符号化プロセスのストリーム図である。 復号化プロセスのストリーム図である。 カテゴリ化を例示する図である。 符号化を例示する図である。 符号化の第2の方式を例示する図である。

Claims (23)

  1. データ・セットの値を前の値と比較するステップと、
    差分が範囲外にある場合、前記データ・セットを第1のコードで符号化するステップと、
    前記データ・セットの前記値が前記前の値と一致しないが前記範囲内にある場合、前記データ・セットを第2のコードで符号化するステップと、
    第1のデータ・セットの値が前記前の値と一致する場合、前記データ・セットを第3のコードで符号化するステップとを含む方法。
  2. 前記第1のコードは前記データ・セットの実効値を含む請求項1の方法。
  3. 前記第2のコードは前記差分と同一の連続する値の個数とを含む請求項1の方法。
  4. 前記第3のコードは一致と同一の連続する値の個数とを示す請求項1の方法。
  5. 前記第1のコード、第2のコード、第3のコードのうちの1つを用いる前記第1のデータ・セットの前記符号化は可逆である請求項1の方法。
  6. 前記値が第1の範囲内にあり、後に続く値が前記第1のデータ・セットの前記値に一致しない場合、第4のコードを用いて前記データ・セットを符号化するステップをさらに含む請求項1の方法。
  7. 前記範囲が、8ビット・ピクセルを含む前記データ・セットを符号化するために最適化される請求項1の方法。
  8. 代替の符号化方式に切り替えるステップをさらに含む請求項1の方法。
  9. 第1の値と第2の値とを含むデータ・ストリームを符号化するためのプロセッサであって、差分を判定するためにデータの前記第1の値を前記第2の値と比較し、前記差分がゼロの場合は第1のコードで、前記差分が範囲内にある場合は第2のコードで、前記差分が前記範囲の外にある場合は第3のコードで前記第2の値を符号化する前記プロセッサを含む装置。
  10. 前記プロセッサから受け取ったコードの前記データ・ストリームを1組のワードに分割するために、前記プロセッサに接続された第1のデバイスをさらに含む請求項9の装置。
  11. 前記プロセッサは特定用途向け集積回路である請求項9の装置。
  12. 前記データ・ストリームを記憶するためのメモリ・デバイスをさらに含む請求項9の装置。
  13. データ・ストリームを復号化するためのプロセッサであって、第1の演算コードがリテラル値を識別し、第2の演算コードが1組の一致する値を識別し、第3の演算コードが1組の一致する値と異なる値とを識別する、前記データ・ストリームを符号化する1組の演算コードを含む2進数の出力を前記データ・ストリームから生成する前記プロセッサを含む装置。
  14. 前記データ・ストリームからのワードを前記プロセッサへの出力に分解するために、前記プロセッサに接続された第1のデバイスをさらに含む請求項12の装置。
  15. 前記プロセッサが汎用プロセッサである請求項12の装置。
  16. 前記データ・ストリームを記憶するためのメモリ・デバイスをさらに含む請求項13の装置。
  17. データ・セットの値を前の値と比較するための手段と、
    差分が範囲外にある場合、前記データ・セットを第1のコードで符号化するための手段と、
    前記データ・セットの前記値が前記前の値と一致しないが前記範囲内にある場合、前記データ・セットを第2のコードで符号化するための手段と
    前記データ・セットの値が前記前の値と一致する場合、前記データ・セットを第3のコードで符号化するための手段とを含む装置。
  18. 前記値が第1の範囲内にあり、後に続く値が前記データ・セットの前記値に一致しない場合、第4のコードを用いて前記データ・セットを符号化するための手段をさらに含む請求項17の装置。
  19. 前記範囲が、8ビット・ピクセルを含む前記データ・セットを符号化するために最適化される請求項17の装置。
  20. 同一ピクセルの長いランを有するデータ・ストリームのために最適化された符号化の方式へ切り替えるための手段をさらに含む請求項17の装置。
  21. 実行された場合に、
    データ・セットの値を前の値と比較するステップと、
    差分が範囲外にある場合、前記データ・セットを第1のコードで符号化するステップと、
    前記データ・セットの前記値が前記前の値と一致しないが前記範囲内にある場合、前記データ・セットを第2のコードで符号化するステップと、
    第1のデータ・セットの値が前記前の値と一致する場合、前記データ・セットを第3のコードで符号化するステップと
    を含む1組の動作を機械に行わせる1組の命令を記憶した機械可読媒体。
  22. 実行された場合に、
    前記値が第1の範囲内にあり、後に続く値が前記第1のデータ・セットの前記値に一致しない場合、第4のコードで前記データ・セットを符号化するステップ
    をさらに含む1組の動作を機械に行わせる命令をさらに記憶した請求項21の機械可読媒体。
  23. 実行された場合に、
    代替の符号化方式に切り替えるステップをさらに含む1組の動作を機械に行わせる命令をさらに記憶した請求項21の機械可読媒体。
JP2006528247A 2003-09-25 2004-09-24 分割式ランレングス符号化方法および装置 Expired - Fee Related JP4906506B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/672,426 US6919825B2 (en) 2003-09-25 2003-09-25 Split runlength encoding method and apparatus
US10/672,426 2003-09-25
PCT/US2004/031472 WO2005031534A2 (en) 2003-09-25 2004-09-24 Split runlength encoding method and apparatus

Publications (2)

Publication Number Publication Date
JP2007507182A true JP2007507182A (ja) 2007-03-22
JP4906506B2 JP4906506B2 (ja) 2012-03-28

Family

ID=34376362

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006528247A Expired - Fee Related JP4906506B2 (ja) 2003-09-25 2004-09-24 分割式ランレングス符号化方法および装置

Country Status (8)

Country Link
US (1) US6919825B2 (ja)
EP (1) EP1685651A4 (ja)
JP (1) JP4906506B2 (ja)
KR (1) KR101180098B1 (ja)
CN (1) CN1902826B (ja)
AU (1) AU2004277271B2 (ja)
TW (1) TWI282529B (ja)
WO (1) WO2005031534A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013541295A (ja) * 2010-09-30 2013-11-07 マイクロソフト コーポレーション 画像圧縮のためのエントロピーコーダー

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE602007009719D1 (de) * 2006-12-07 2010-11-18 Agfa Gevaert Nv Verfahren zur herstellung eines informationsträgers
EP2183882A1 (en) 2007-08-15 2010-05-12 Maxlinear, Inc. Method and apparatus for preserving deinterleaving erasure information of block interleaved coded signal
US8484210B2 (en) * 2009-06-19 2013-07-09 Sybase, Inc. Representing markup language document data in a searchable format in a database system
US20110131200A1 (en) * 2009-12-01 2011-06-02 Sybase, Inc. Complex path-based query execution
CN101807924A (zh) * 2010-03-17 2010-08-18 黄斐芝 一种对二进制数据进行无损编码压缩的方法
CN102043126A (zh) * 2010-11-11 2011-05-04 浙江大学 一种基于测试向量相容的三游程编码压缩方法及其解压缩方法
CN102185612A (zh) * 2011-01-28 2011-09-14 张环蚀 游程编解码方法及装置
US8983931B2 (en) * 2011-11-29 2015-03-17 Sybase, Inc. Index-based evaluation of path-based queries
WO2013101218A1 (en) 2011-12-30 2013-07-04 Intel Corporation Vector frequency expand instruction
EP2798480B1 (en) * 2011-12-30 2018-09-26 Intel Corporation Vector frequency compress instruction
US8848250B2 (en) 2012-10-23 2014-09-30 Kyocera Document Solutions Inc. Compression of halftoned digital images
CN103019895B (zh) * 2012-12-28 2015-01-28 华为技术有限公司 文件存储方法及装置
US9639309B1 (en) 2015-10-14 2017-05-02 Kyocera Document Solutions Inc. Image conversion methods
US9632736B1 (en) 2015-10-14 2017-04-25 Kyocera Document Solutions Inc. Image conversion methods
US11704077B2 (en) 2021-10-20 2023-07-18 Ricoh Company, Ltd. Rasterized print job compression

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57106273A (en) * 1980-12-22 1982-07-02 Ricoh Co Ltd Method for compression of multilevel picture data
JPS5840989A (ja) * 1981-09-04 1983-03-10 Nippon Telegr & Teleph Corp <Ntt> 画像情報の符号化処理方法および伝送制御方法
JPS61136378A (ja) * 1984-12-07 1986-06-24 Canon Inc 符号化方式
JPS6411484A (en) * 1987-07-06 1989-01-17 Fujitsu Ltd Decoding circuit
JPS6441572A (en) * 1987-08-07 1989-02-13 Sanyo Electric Co Coding system
JPH0730766A (ja) * 1993-06-24 1995-01-31 Canon Inc ファクシミリ装置
JP2001257888A (ja) * 2000-03-09 2001-09-21 Seiko Epson Corp 画像符号化装置、画像符号化方法、画像復号化装置および画像復号化方法ならびに情報記録媒体
JP2002163658A (ja) * 2000-11-29 2002-06-07 Ricoh Co Ltd 画像種判別方法、画像種判別装置、画像処理装置および記録媒体

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4409621A (en) * 1978-05-23 1983-10-11 Information International, Inc. Method and apparatus for compacting and decompacting character in accordance with a variety of methods
US6553143B2 (en) * 1992-06-30 2003-04-22 Canon Kabushiki Kaisha Image encoding method and apparatus
DE69631999T2 (de) * 1995-06-22 2004-09-02 Canon K.K. Bildverarbeitungsgerät und Verfahren
GB9806767D0 (en) * 1998-03-31 1998-05-27 Philips Electronics Nv Pixel colour valve encoding and decoding
KR100294893B1 (ko) * 1999-03-09 2001-07-12 윤종용 개선된 dc 억압 능력을 갖는 rll 코드 생성 방법 과 생성된 rll 코드 변복조 방법
CN100428633C (zh) * 2001-06-29 2008-10-22 日本胜利株式会社 数字信号的调制方法及调制装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57106273A (en) * 1980-12-22 1982-07-02 Ricoh Co Ltd Method for compression of multilevel picture data
JPS5840989A (ja) * 1981-09-04 1983-03-10 Nippon Telegr & Teleph Corp <Ntt> 画像情報の符号化処理方法および伝送制御方法
JPS61136378A (ja) * 1984-12-07 1986-06-24 Canon Inc 符号化方式
JPS6411484A (en) * 1987-07-06 1989-01-17 Fujitsu Ltd Decoding circuit
JPS6441572A (en) * 1987-08-07 1989-02-13 Sanyo Electric Co Coding system
JPH0730766A (ja) * 1993-06-24 1995-01-31 Canon Inc ファクシミリ装置
JP2001257888A (ja) * 2000-03-09 2001-09-21 Seiko Epson Corp 画像符号化装置、画像符号化方法、画像復号化装置および画像復号化方法ならびに情報記録媒体
JP2002163658A (ja) * 2000-11-29 2002-06-07 Ricoh Co Ltd 画像種判別方法、画像種判別装置、画像処理装置および記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013541295A (ja) * 2010-09-30 2013-11-07 マイクロソフト コーポレーション 画像圧縮のためのエントロピーコーダー

Also Published As

Publication number Publication date
CN1902826B (zh) 2011-11-23
WO2005031534A3 (en) 2006-05-11
KR101180098B1 (ko) 2012-09-05
TWI282529B (en) 2007-06-11
JP4906506B2 (ja) 2012-03-28
AU2004277271B2 (en) 2009-06-04
WO2005031534A2 (en) 2005-04-07
TW200523825A (en) 2005-07-16
KR20060120043A (ko) 2006-11-24
AU2004277271A1 (en) 2005-04-07
CN1902826A (zh) 2007-01-24
US6919825B2 (en) 2005-07-19
EP1685651A2 (en) 2006-08-02
EP1685651A4 (en) 2006-11-02
US20050068207A1 (en) 2005-03-31

Similar Documents

Publication Publication Date Title
JP4906506B2 (ja) 分割式ランレングス符号化方法および装置
US7245396B2 (en) Image data coding apparatus, image data decoding apparatus, image data coding method and image data decoding method
US5483622A (en) Page printer having automatic font compression
US20030090398A1 (en) System and method for efficient data compression
JP2008508756A (ja) エントロピー符号化を利用したカラー画像データの可逆圧縮
JP3461309B2 (ja) ハフマン符号化データ圧縮装置
JP3278298B2 (ja) ビットマップデータの圧縮方法及び圧縮装置
JP3211640B2 (ja) 2値化画像の圧縮のための二次元的方法およびシステム
JP2008042685A (ja) 画像処理装置及び方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP3872217B2 (ja) ディザ画像の2値表現処理方法、ディザ画像の圧縮2値表現圧縮解除方法、及びディザ画像の圧縮及び圧縮解除システム
US6721456B1 (en) Color image data and control bit compression scheme with run length encoding
JP2007174464A (ja) データ圧縮装置およびデータ圧縮プログラム
US7912299B2 (en) System and method for efficiently encoding data
JP2005277932A (ja) データ圧縮装置およびデータ圧縮プログラム
JP4377351B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP4008428B2 (ja) 画像圧縮方法
US20020085764A1 (en) Enhanced data compression technique
JP2003189108A (ja) 画像圧縮方法
JP2005252531A (ja) データ圧縮装置およびデータ圧縮プログラム
JP4435586B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP2005063445A (ja) ラスタ画像処理
JP4181147B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP2005260408A (ja) データ圧縮装置およびデータ圧縮プログラム
US20020085765A1 (en) Dual mode data compression technique Dual mode data compression technique
JPH09200536A (ja) 符号化装置および復号化装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070925

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090609

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090908

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100312

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20100409

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100629

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100929

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20101007

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20101029

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111118

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120110

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150120

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4906506

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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: 20150120

Year of fee payment: 3

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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