JP5499894B2 - 画像処理装置および画像処理方法 - Google Patents
画像処理装置および画像処理方法 Download PDFInfo
- Publication number
- JP5499894B2 JP5499894B2 JP2010112575A JP2010112575A JP5499894B2 JP 5499894 B2 JP5499894 B2 JP 5499894B2 JP 2010112575 A JP2010112575 A JP 2010112575A JP 2010112575 A JP2010112575 A JP 2010112575A JP 5499894 B2 JP5499894 B2 JP 5499894B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- esc
- code
- data string
- length
- 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.)
- Active
Links
Images
Classifications
-
- 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
- H03M7/3086—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing a sliding window, e.g. LZ77
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
本発明は、画像データの圧縮符号化を行う画像処理装置および画像処理方法に関する。
プリンタ装置などの画像形成装置は画像データを一時的にメモリに記憶する。この場合、画像データをそのままメモリに格納しようとすると、大容量のメモリが必要になり価格が上昇してしまう。これに対処するため、画像データを圧縮してメモリに格納するようにしている。
このようなプリンタ装置における印字処理は、例えば次のように行われる。プリンタ装置は、コンピュータなどで作成されネットワークなどを介して受け取ったPDL(Page Description Language)を解析して描画部が実行可能な中間言語を生成し、この中間言語を描画部が解析して、バンドメモリに対して階調処理後の画像を描画する。描画された画像データは、2値画像の圧縮符号化アルゴリズムにより圧縮符号化し、生成された符号データをメモリに格納する。その後、印字動作時に、CMYK各版毎に遅延させてメモリから符号データを読み込んで復号し、CMYK各版に対応するデータのプリンタエンジンに転送し、印字する。
データを効率よく圧縮する方法として、ユニバーサル符号により圧縮する方法が実用化されている。このユニバーサル符号は、情報保存型のデータ圧縮方法であり、データ圧縮時に情報源の統計的な性質を予め仮定しないため、種々のタイプ(文字コード、オブジェクトコードなど)のデータに適用することができる。
ユニバーサル符号の代表的な方法として、ジブ−レンペル(Ziv-Lempel)符号がある。Ziv-Lempel符号では、ユニバーサル型と、増分分解型(Incremental parsing) の2つのアルゴリズムが提案されている。これらのうち、ユニバーサル型アルゴリズムを用いた実用的な方法として、LZSS(Lempel-Ziv-Storer-Syzmanski)符号がある。一方、増分分解型アルゴリズムを用いた実用的な方法として、LZW(Lempel-Ziv-Welch)符号がある。
LZSS符号のベースとなるLZ77符号の符号化アルゴリズムは、符号化データを、過去のデータ系列の任意の位置から一致する最大長の系列に区切り、過去の系列の複製として符号化する。
より具体的には、符号化済みの入力データを格納する移動窓と、これから符号化するデータを格納する先読みバッファとを備え、先読みバッファのデータ系列と移動窓のデータ系列の全ての部分系列とを照合して、移動窓中で一致する最大長の部分系列を求める。そして、移動窓中でこの最大長の部分系列を指定するために、「その最大長の部分系列の開始位置」と「一致する長さ」と「不一致をもたらした次のシンボル」との組を符号化する。次に、先読みバッファ内の符号化したデータ系列を移動窓に移して、先読みバッファ内に符号化したデータ系列分の新たなデータ系列を入力する。以下、同様の処理を繰り返していくことで、データを部分系列に分解して符号化を実行していく。
一般的に、LZSS符号化は、符号化済の入力データを保存している移動窓数分、入力データ列との最長一致を検出する必要があるため、演算量が多くなる一方で、高圧縮率が得られるといわれている。
また、LZW符号の符号化アルゴリズムは、書き換え可能な辞書を設け、入力文字列を相異なる文字列に分け、この文字列を出現した順に番号を付けて辞書に登録すると共に、現在入力している文字列を辞書に登録してある最長一致文字列の辞書番号だけで表す。このLZW符号によれば、圧縮率がLZSS符号より劣る一方で、シンプルで計算が容易であり、高速処理が可能である。そのため、記憶装置におけるファイル圧縮、データ伝送などで多く使われる。
特許文献1には、複数バイトのデータについて、LZ方式で圧縮符号化が可能であるか否かを判断し、可能であれば当該複数バイトのデータをLZ方式で圧縮符号化し、LZ方式による圧縮符号化が可能でなければ当該複数バイトのデータに対して小さいサイズのヘッダを付加するようにした符号化方法が記載されている。
ところで、上述したプリンタ装置においては、印字の際に、圧縮符号化されてメモリに格納された画像データをメモリから読み出し復号しながらプリンタエンジンに転送する。そのため、圧縮符号化された画像データの復号処理は、プリンタエンジンの印字速度に追随する必要がある。したがって、プリンタ装置に適用される圧縮符号化方式は、最悪圧縮率が明確に求められ、且つ、最悪圧縮率で画像データを圧縮符号化した際に発生する符号の符号量ができるだけ小さい必要がある。
ここで、最悪圧縮率において発生する符号量が元の画像データのデータ量を大きく超えるような場合も考えられる。このような場合、最悪圧縮率で符号化した符号量で復号する際のメモリアクセス時間が、復号された画像データをプリンタエンジンに転送する際の速度に対して十分か否か、メモリの容量が最悪圧縮率で符号化した符号量のデータを格納可能か、などを検討する必要がある。例えば、JPEG(Joint Photographic Experts Group)方式といった、DCT(Discrete Cosine Transform)を用いた複雑な圧縮符号化方式では、最悪圧縮率を求めることが困難であり、システムの設計が難しくなるという問題点があった。
一方、上述したLZ77符号は、解像度の高い写真画像データや、バイリニア法などにより補間された写真画像データに対する圧縮符号化にも適用可能であることが知られている。また、LZ77符号では、1バイト単位に符号化できない場合は、1バイトの生データに対してヘッダを付加して符号化を行うため、1バイト単位の符号化が全く行われない場合の最悪圧縮率を容易に求めることができる。ところが、この場合、1バイト単位に符号化できない全ての生データに対してヘッダが付加されるため、符号化後のデータサイズが元の生データのデータサイズに対して膨張してしまうという問題点があった。
また、上述した特許文献1では、LZ方式で圧縮符号化できない場合に、複数バイトデータの先頭にヘッダを付加して符号化を行うために、1バイト単位の生データ毎にヘッダを付加する場合に比べて圧縮率を向上させることができる。しかしながら、この場合であっても、圧縮符号化時の最大一致長は、最初に判断した複数バイトデータ以下に制約されてしまい、圧縮率の低下を招いてしまうという問題点があった。
さらに、特許文献1の方法で圧縮率を向上させるためには、最大一致長をより長くすることが考えられる。この場合、符号化対象のデータを一時的に格納するバッファのサイズを大きくすることが必要となり、メモリ容量が大きくなってしまうという問題点があった。
例えば、同様なLZ方式の一つであるLHZ方式では最大一致長が8k(キロ)バイト、ZIP方式では最大一致長が32kバイトとされ、圧縮率を向上させるためには、それぞれ8kバイト、32kバイトのバッファを持つ必要がある。
さらにまた、特許文献1において、1バイト単位での符号化が可能か否かの判断と、LZ方式による符号化処理との2パス方式で圧縮符号化を行う場合、処理の高速化のためには、これら判断処理と符号化処理とのそれぞれに対して、上述した8kバイトまたは32kバイトのバッファを持つ必要があり、さらにメモリ容量が大きくなってしまう。また、パイプライン処理を行う場合には、トグルバッファを設ける必要があると共に、メモリ容量を大きく持つ必要がある。
本発明は、上記を鑑みてなされたものであって、画像データを効率的に圧縮符号化することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、画像データが連続的に入力された入力データ列と一致するデータ列を、過去に入力された画像データのデータ列から探索する探索手段と、探索手段により入力データ列と一致するデータ列が探索された場合に、探索されたデータ列の長さと、データ列の過去に入力されたデータ列上の位置とを出力し、入力データ列と一致するデータ列が探索されなかった場合に、入力データ列をエスケープデータとして出力する中間符号生成手段と、中間符号生成手段からエスケープデータが連続して出力される数をカウントするカウント手段と、データ列の長さとデータ列上の位置とエスケープデータとを符号化する符号化手段とを有し、符号化手段は、中間符号生成手段から複数のエスケープデータが連続して出力された場合に、複数のエスケープデータを纏めて、カウント手段で複数のエスケープデータの数がカウントされたカウント値を示す情報を付加して符号化することを特徴とする。
また、本発明は、探索手段が、画像データが連続的に入力された入力データ列と一致するデータ列を、過去に入力された画像データのデータ列から探索する探索ステップと、中間符号生成手段が、探索ステップにより入力データ列と一致するデータ列が探索された場合に、探索されたデータ列の長さと、データ列の過去に入力されたデータ列上の位置とを出力し、入力データ列と一致するデータ列が探索されなかった場合に、入力データ列をエスケープデータとして出力する中間符号生成ステップと、カウント手段が、中間符号生成ステップによりエスケープデータが連続して出力される数をカウントするカウントステップと、符号化手段が、データ列の長さとデータ列上の位置とエスケープデータとを符号化する符号化ステップとを有し、符号化ステップは、中間符号生成ステップにより複数のエスケープデータが連続して出力された場合に、複数のエスケープデータを纏めて、カウント手段で複数のエスケープデータの数がカウントされたカウント値を示す情報を付加して符号化することを特徴とする。
本発明によれば、画像データを効率的に圧縮符号化できるという効果を奏する。
以下に添付図面を参照して、本発明に係る画像処理装置の実施形態を詳細に説明する。本発明では、LZ方式で画像データを圧縮符号化する際に、入力データ列と最長一致するデータ列が辞書に見つからない際に入力データ列をそのまま用いて符号データとしたエスケープデータ(以下、ESCデータ)が連続する場合に、連続するESCデータに対して纏めてヘッダを付加する。複数のESCデータに対して1つのヘッダを付加するため、ESCデータが連続する際の圧縮率の向上が期待できる。
<各実施形態に共通の構成>
図1は、本発明に係る画像処理装置を適用可能なプリンタ装置200の一例の構成を示す。図1の例では、プリンタ装置200は、制御部230、メインメモリ210、プリンタエンジン211およびオペレーションパネル240を備える。制御部230は、CPU(Central Processing Unit)212、CPU I/F201、メインメモリアービタ202、メインメモリコントローラ203、符号化部204、復号部205、階調処理部206、エンジンコントローラ207およびパネルコントローラ241を含む。
図1は、本発明に係る画像処理装置を適用可能なプリンタ装置200の一例の構成を示す。図1の例では、プリンタ装置200は、制御部230、メインメモリ210、プリンタエンジン211およびオペレーションパネル240を備える。制御部230は、CPU(Central Processing Unit)212、CPU I/F201、メインメモリアービタ202、メインメモリコントローラ203、符号化部204、復号部205、階調処理部206、エンジンコントローラ207およびパネルコントローラ241を含む。
CPU212は、メインメモリ210に格納されるプログラムに従い、このプリンタ装置200の全体の動作を制御する。CPU212は、CPU I/F201を介してメインメモリアービタ202に接続される。メインメモリアービタ202は、CPU212、符号化部204、復号部205および通信コントローラ208の、メインメモリ210に対するアクセスを調停する。
メインメモリ210は、メインメモリコントローラ203を介してメインメモリアービタ202に接続される。メインメモリコントローラ203は、メインメモリ210に対するアクセスの制御を行う。
メインメモリ210は、プログラム領域210A、PDLデータ格納領域210B、CMYKバンド画像データ格納領域210C、CMYKページ符号格納領域210Dおよびその他の領域210Eを有する。プログラム領域210Aは、CPU212が動作するためのプログラムが格納される。PDLデータ格納領域210Bは、例えばコンピュータ220から通信コントローラ208を介して供給されたPDLデータが格納される。CMYKバン画像ドデータ格納領域210Cは、CMYKバンド画像データが格納される。CMYKページ符号格納領域210Dは、バンド画像データが圧縮符号化された符号データが格納される。CMYKページ符号格納領域210Dは、例えば1ページ分のCMYKバンド画像データが圧縮符号化された符号データが格納される。領域210Eは、上述した以外のデータが格納される。
符号化部204は、メインメモリ210に格納されるバンド画像データを符号化する。バンド画像データが符号化された符号データは、メインメモリアービタ202およびメモリコントローラ203を介してメインメモリ210に供給され、CMYKページ符号格納領域210Dに書き込まれる。復号部205は、後述するプリンタエンジン211に同期して、メインメモリ210のCMYKページ符号格納領域210Dから符号データを読み出して復号する。復号された画像データは、階調処理部206に供給され、階調処理が施されてエンジンコントローラ207に転送される。
エンジンコントローラ207は、プリンタエンジン211を制御する。図1では、プリンタエンジン211としてCMYK各色の版のうち1の版のものだけが記載され、その他の版については煩雑さを避けるために省略されている。
通信コントローラ208は、ネットワークを介しての通信を制御する。例えば、コンピュータ220から出力されたPDL(Page Description Language)データは、ネットワークを介して通信コントローラ208により受信される。通信コントローラ208は、受信したPDLデータを、メインメモリアービタ202およびメインメモリコントローラ203を介してメインメモリ210に転送する。
なお、ネットワークは、LAN(Local Area Network)などの所定の範囲内で通信を行うものでもよいし、インターネットなどより広範囲に通信可能なものでもよい。また、ネットワークは、有線通信に限らず無線通信を用いたものでもよいし、USB(Universal Serial Bus)やIEEE(Institute Electrical and Electronics Engineers)1394といったシリアル通信を行うものでもよい。
オペレーションパネル240は、ユーザ操作を受け付けるための複数の操作子と、ユーザに対して情報を提供するための表示素子とを有する。パネルコントローラ241は、CPU212の指示に従い、オペレーションパネル240の表示を制御すると共に、オペレーションパネル240に対してなされたユーザ操作に応じた信号を、CPU212に送信する。
図2および図3を用いて、プリンタ装置200の全体的な動作の例について説明する。図2は、プリンタ装置200の全体的な動作の例を概略的に示すフローチャートである。また、図3は、図2のフローチャートに従った動作におけるプリンタ装置200内部のデータの流れを示す(経路A〜E)。
例えばコンピュータ220で生成されたPDLデータがネットワークを介して通信コントローラ208に受信され、メインメモリ210のPDLデータ格納領域210Bに記憶される(ステップS1)。CPU212は、メインメモリ210のPDLデータ格納領域210Bから経路Aに従いPDLデータを読み出し、PDLを解析して(ステップS2)、解析結果に基づきCMYKのバンド画像を描画する(ステップS3)。描画されたCMYKのバンド画像によるCMYKバンド画像データは、メインメモリ210のCMYKバンド画像データ格納領域210Cに記憶される(ステップS4)。
符号化部204は、経路Bに従いCMYKバンド画像データ格納領域210CからCMYKバンド画像データを読み出して、本発明の各実施形態による符号化方法を用いて符号化する(ステップS5)。CMYKバンド画像データが符号化された符号データは、経路Cに従いメインメモリ210のCMYKページ符号格納領域210Dに記憶される(ステップS6)。
復号部205は、経路Dに従いCMYKページ符号格納領域210Dから符号データを読み出して画像データに復号し(ステップS7)、復号した画像データを階調処理部206に供給する。階調処理部206は、復号部205から供給された画像データに対して階調処理を施して、経路Eに従いプリンタエンジンコントローラ207に供給する。エンジンコントローラ207は、供給された画像データに従い基づきプリンタエンジン211を制御してプリントアウトを行う(ステップS9)。
<第1の実施形態による符号化処理>
図4は、本発明の第1の実施形態による符号化部204の一例の構成を示す。符号化部204は、データ読み込み部300、中間符号生成処理部301、ESCデータTYPE生成部302、符号フォーマット生成処理部303および符号書き込み部304を有する。
図4は、本発明の第1の実施形態による符号化部204の一例の構成を示す。符号化部204は、データ読み込み部300、中間符号生成処理部301、ESCデータTYPE生成部302、符号フォーマット生成処理部303および符号書き込み部304を有する。
符号化部204において、データ読み込み部300により、メインメモリ210のCMYKバンド画像データ格納領域210Cから、CMYKバンド画像データがメインメモリコントローラ203およびメモリアービタ202を介して読み出される。以下では、CMYK各色のうちC色のバンド画像データについて説明し、バンド画像データを単に画像データと呼ぶものとする。データ読み込み部300に読み込まれた画像データは、中間符号生成処理部301に供給される。
中間符号生成処理部301は、入力されたデータを順次記憶するFIFO(First In First Out)方式のスライド記憶部を有する。中間符号生成処理部301は、供給された画像データとスライド記憶部に記憶された過去の入力データとを順次比較して、当該供給された画像データによるデータ列と一致する、当該過去の入力データによるデータ列を探索する。そして、供給された画像データによるデータ列と一致する、過去の入力データによるデータ列が探索された場合には、当該過去の入力データのスライド記憶部内の位置を示す一致位置Addressと、一致した長さを示す値である一致長さLengとで符号化する。両者が一致しない場合には、データ値そのものをESCデータとして用いて符号化する。そして、これらESCデータと、一致位置Addressおよび一致長さLengと、供給されたデータによるデータ列と、過去の入力データによるデータ列とが一致したか否かを示す中間符号TYPEとを出力する。なお、この例では、中間符号生成処理部301は、256個のスライドを有するものとする。
中間符号生成処理部301から出力された各値は、ESCデータTYPE生成部302に供給される。ESCデータTYPE生成部302は、供給されたデータによるデータ列と、過去の入力データによるデータ列とが一致しない旨を示す中間符号TYPE(以下、不一致を示す中間符号TYPEと呼ぶ)が連続する数をカウントし、ESCデータの連続数を分別するためのESCデータTYPEを生成する。本第1の実施形態では、ESCデータTYPEとして、1個のESCデータを示すESCデータ(1)、ESCデータの4個の連続を示すESCデータ(4)、ESCデータの8個の連続を示すESCデータ(8)の、ESCデータの連続数を離散的とした3種類を定義する。この3種類のESCデータTYPEを組み合わせることで、ESCデータの任意の連続数を表現できる。
ESCデータTYPE生成部302は、生成したESCデータTYPEを出力すると共に、中間符号生成処理部301から供給された、ESCデータと、一致位置Addressおよび一致長さLengと、中間符号TYPEとを出力する。ESCデータTYPE生成部302から出力された各値は、符号フォーマット生成処理部303に供給される。符号フォーマット生成処理部303は、供給されたESCデータと、一致位置Addressおよび一致長さLengと、中間符号TYPEと、ESCデータTYPEとを、図5に例示されるようなフォーマットで符号化する。
図5(a)〜図5(d)に例示される各符号は、先頭の2ビットのヘッダにより識別される。この例では、ヘッダの値が「00」であれば、当該ヘッダに続くデータがスライド符号であることを示し、一致位置Addressおよび一致長さLengがヘッダに接続される。この例では、中間符号生成処理部301におけるスライド数が256個であるため、一致位置Addressおよび一致長さLengは、それぞれ例えば8ビットのデータ長となっている。
ヘッダの値が「01」、「10」および「11」の何れかであれば、当該ヘッダがESCデータTYPEを示している。図5(b)、図5(c)および図5(d)は、ESCデータTYPEのESCデータ(1)、ESCデータ(4)およびESCデータ(8)に従いESCデータを符号化したESCデータ(1)符号、ESCデータ(4)符号およびESCデータ(8)符号の例を示す。本第1の実施形態では、このように、複数のESCデータを2以上の所定数毎に纏めて1個のヘッダを付加することで、ESCデータの符号化を行っている。
より詳細には、ヘッダの値が「01」であれば、ESCデータ(1)符号を示し、データ長が8ビットのESCデータ#0がヘッダに接続される。ヘッダの値が「10」であれば、ESCデータ(4)符号を示し、データ長がそれぞれ8ビットの4個のESCデータ#0〜#3がヘッダに接続される。また、ヘッダの値が「11」であれば、ESCデータ(8)符号を示し、データ長がそれぞれ8ビットの8個のESCデータ#0〜#7がヘッダに接続される。
このように、連続する2以上の所定数のESCデータに対して纏めて1個のヘッダを付加することで、ヘッダの数および符号長を減らすことができる。一例として、7個の連続するESCデータは、3個のESCデータ(1)符号と、1個のESCデータ(4)符号とによる4個の符号で表現することができる。この場合、4個の符号の合計符号量は、データ部分(7個×8ビット)+ヘッダ部分(3個×2ビット)の合計62ビットとなる。符号の元データに対する膨張率(符号量/データ量)は、1.10倍となる。
一方、7個の連続するESCデータを、7個のESCデータ(1)符号で表現することも可能である。この場合、7個の符号の合計符号量は、データ部分(7個×8ビット)+ヘッダ部分(7個×2ビット)の合計70ビットとなる。この場合の符号の膨張率は、1.25倍となり、3個のESCデータ(1)符号と1個のESCデータ(4)符号とを組み合わせた場合に比べ、ヘッダの数が増える分膨張率が高くなり、不利である。このように、複数個のESCデータを纏めて符号化することにより、符号量の膨張率を小さくすることができる。
なお、図5に例示される符号フォーマットは一例であって、この例に限られるものではない。例えば、上述ではESCデータTYPEを、ESCデータの連続数が1個、4個および8個の3通りに定義しているが、これはこの組み合わせに限られず、ESCデータの連続数を異なる値としてもよい。また、ESCデータTYPEを、2通りまたは4通り以上に定義してもよい。但し、ESCデータTYPEを4通り以上に定義する場合は、ヘッダのビット数を3ビット若しくはそれ以上にする必要がある。
符号フォーマット生成処理部303で生成されたスライド符号、ならびに、ESCデータ(1)符号、ESCデータ(4)符号およびESCデータ(8)符号は、符号書き込み部303に供給される。符号書き込み部304は、供給された各符号を、メインメモリアービタ202およびメインメモリコントローラ203を介して、メインメモリ210のCMYKページ符号格納領域210Dに書き込む。
図6は、ESCデータTYPE生成部302の一例の構成を示す。ESCデータTYPE生成部302は、それぞれFIFO構成のバッファメモリである一致位置FIFO310、一致長さFIFO311、ESCデータFIFO312、中間符号TYPE_FIFO313およびESCデータTYPE_FIFO316を有する。また、ESCデータTYPE生成部302は、不一致を示す中間符号TYPEをカウントするESCデータカウンタ314と、ESCデータTYPE_FIFO書き込み制御部315とを有する。ESCデータカウンタ314は、換言すれば、ESCデータの連続数をカウントするものである。
一致位置FIFO310および一致長さFIFO311は、それぞれ一致位置Addressおよび一致長さLengが書き込まれ、8ビット単位でデータの書き込みおよび出力がなされる。ESCデータFIFO312は、ESCデータが書き込まれ、8ビット単位でデータの書き込みおよび出力がなされる。中間符号TYPE_FIFO313は、中間符号TYPEが書き込まれ、中間符号TYPE単位(例えば8ビット)でデータの書き込みおよび出力がなされる。
また、ESCデータTYPE_FIFO316は、ESCデータTYPEが書き込まれ、ESCデータTYPE単位(例えば8ビット)でデータの書き込みおよび出力がなされる。ESCデータTYPE_FIFO316は、一致位置FIFO310、一致長さFIFO311、ESCデータFIFO312および中間符号TYPE_FIFO313と同期して書き込みおよび読み出しが行われるように、ESCデータTYPE_FIFO書き込み制御部315に制御される。換言すれば、ESCデータTYPE_FIFO書き込み制御部315は、中間符号生成処理部301の出力に同期して書き込みおよび読み出しが行われるように、ESCデータTYPE_FIFO316を制御する。
ESCデータカウンタ314は、中間符号TYPEの値に基づきESCデータの連続数をカウントし、ESCデータの連続が途絶えた時点で、ESCデータの連続数をカウントしたESCデータカウント値をESCデータTYPE_FIFO書き込み制御部315に対して転送する。
ESCデータTYPE_FIFO書き込み制御部315は、ESCデータカウンタ315から転送されたESCデータカウント値を解析してESCデータTYPEを生成する。そして、生成したESCデータTYPEを示す値を、ESCデータTYPE_FIFO316の当該ESCデータTYPEに応じた位置に書き込む。このとき、ESCデータTYPE_FIFO書き込み制御部315は、後述するように、ESCデータTYPEを示す値を、ESCデータTYPE_FIFO316の当該ESCデータTYPEに応じた位置に書き込む。
図7は、ESCデータTYPE生成部302におけるESCデータTYPE生成処理を示す一例のフローチャートである。最初のステップS100で、ESCデータカウンタ314におけるESCデータカウント値CESCを0に初期化する。
ステップS101で、ESCデータTYPE生成部302は、中間符号生成処理部301から、中間符号TYPE、一致位置Address、一致長さLengおよびESCデータを受け取り、次のステップS102で、受け取った中間符号TYPEがESCデータ符号を示しているか否かを判定する。若し、示していると判定されたら、処理はステップS103に移行され、ESCデータカウント値CESCが8であるか否かが判定される。
若し、ステップS103で、ESCデータカウント値CESCが8ではないと判定されたら、処理はステップS106に移行され、ESCデータカウント値CESCが1だけ増加される。
一方、ステップS103で、ESCデータカウント値CESCが8であると判定されたら、処理はステップS104に移行される。ステップS104では、ESCデータTYPE_FIFO書き込み制御部315により、ESCデータTYPEのESCデータTYPE_FIFO316に対する書き込み処理が行われる。
図8は、ステップS104および後述するステップS107におけるESCデータTYPE書き込み処理をより詳細に示すフローチャートである。この図8のフローチャートによる各処理は、ESCデータTYPE_FIFO書き込み制御部315により行われる。先ず、ステップS130でESCデータカウント値CESCが8であるか否かを判定する。若し、8ではないと判定したら、処理をステップS133に移行させる。
一方、ESCデータカウント値CESCが8であると判定したら、処理をステップS131に移行させる。ステップS131で、ESCデータTYPE_FIFO書き込み処理部315は、ESCデータTYPE_FIFO316の、入力側から数えて8番目(8単位目)に対して、ESCデータ(8)を示す値を書き込む。次のステップS132で、ESCデータカウント値CESCから8を減じて、新たなESCデータカウント値CESCとする。そして、処理をステップS133に移行させる。
ステップS133で、ESCデータTYPE_FIFO書き込み処理部315は、ESCデータカウント値CESCが4を超える値であるか否かを判定する。若し、4以下であると判定したら、図8による一連の処理を終了し、図7のフローチャートの処理に移行させる。
一方、ESCデータカウント値CESCが4を超える値であると判定したら、処理をステップS134に移行させる。ステップS134で、ESCデータTYPE_FIFO書き込み処理部315は、ESCデータTYPE_FIFO316の、入力側から数えて4番目(4単位目)に対して、ESCデータ(4)を示す値を書き込む。次のステップS135で、ESCデータカウント値CESCから4を減じて、新たなESCデータカウント値CESCとする。そして、図8による一連の処理を終了し、図7のフローチャートの処理に移行させる。
説明を図7のフローチャートに戻し、ステップS104でESCデータTYPEの書き込み処理が行われると、処理がステップS105に移行される。ステップS105では、ESCデータカウント値CESCがリセットされて0とされ、次のステップS106でESCデータカウント値CESCが1だけ増加され、処理がステップS109に移行される。
一方、上述のステップS102で、中間符号TYPEがESCデータ符号を示していないと判定されたら、処理がステップS107に移行されて、図8を用いて説明したようにしてESCデータTYPEの書き込み処理が行われる。そして、次のステップS108でESCデータカウント値CESCがリセットされて0とされ、処理がステップS109に移行される。
ステップS109で、ESCデータTYPE生成部302は、一致位置FIFO310、一致長さFIFO311、ESCデータFIFO312、中間符号TYPE_FIFO313およびESCデータTYPE_FIFO316を、それぞれ1(1単位分)だけシフトさせる。
次のステップS110で、ESCデータTYPE生成部302は、中間符号生成処理部301から供給された各データを、各FIFOにそれぞれ格納する。すなわち、ESCデータTYPE生成部302は、一致位置Addressを一致位置FIFO310の先頭(0番目)に書き込み、一致長さLengを一致長さFIFO311の0番目に書き込む。また、ESCデータTYPE生成部302は、ESCデータをESCデータFIFO312の0番目に、中間符号TYPEを中間符号TYPE_FIFO313の0番目にそれぞれ書き込む。また、ESCデータTYPE生成部302において、ESCデータTYPE_FIFO書き込み制御部315は、ESCデータ(1)を示すESCデータTYPEをESCデータTYPE_FIFO316の0番目に書き込む。
次のステップS111で、ESCデータTYPE生成部302は、各FIFOの最後尾(最終番目)に格納されるデータをそれぞれ読み込み、符号フォーマット生成処理部303に転送する。すなわち、ESCデータTYPE生成部302は、一致位置FIFO310の最終番目から一致位置Addressを、一致長さFIFO311の最終番目から一致長さLengをそれぞれ読み込み、符号フォーマット生成処理部303に転送する。また、ESCデータTYPE生成部302は、ESCデータFIFO312の最終番目からESCデータを、中間符号TYPE_FIFO313の最終番目から中間符号TYPEをそれぞれ読み込み、符号フォーマット生成処理部303に転送する。さらに、ESCデータTYPE生成部302は、ESCデータTYPE_FIFO316の最終番目からESCデータTYPEを読み込み、符号フォーマット生成処理部303に転送する。
次のステップS112で、処理対象の画像データを全て処理したか否かを判定する。若し、未だ処理していない画像データが存在すると判定したら、処理はステップS101に戻される。一方、処理対象の画像データを全て処理したと判定したら、処理はステップS113に移行され、一致位置FIFO310、一致長さFIFO311ESCデータFIFO312、中間符号TYPE_FIFO313およびESCデータTYPE_FIFO316の各FIFO内の符号を全て出力したか否かを判定する。若し、全て出力したと判定したら、図7のフローチャートによる一連の処理が終了される。
一方、未だ出力されていない符号が存在すると判定したら、処理はステップS114に移行される。ステップS114で、ESCデータTYPE生成部302は、一致位置FIFO310、一致長さFIFO311、ESCデータFIFO312および中間符号TYPE_FIFO313の先頭(0番目)に、NOP(No Operation)を示す値を書き込む。また、ESCデータTYPE_FIFO書き込み制御部315は、ESCデータTYPE_FIFO316の0番目に、NOPを示す値を書き込む。
各FIFOの0番目にNOPを示す値が書き込まれると、次のステップS115で、ESCデータTYPE生成部302は、一致位置FIFO310、一致長さFIFO311、ESCデータFIFO312、中間符号TYPE_FIFO313およびESCデータTYPE_FIFO316を、それぞれ1(1単位分)だけシフトさせる。
そして、次のステップS116で、ESCデータTYPE生成部302は、一致位置FIFO310、一致長さFIFO311ESCデータFIFO312、中間符号TYPE_FIFO313およびESCデータTYPE_FIFO316それぞれの最終番目から、一致位置Address、一致長さLeng、ESCデータ、中間符号TYPEおよびESCデータTYPEを読み込み、符号フォーマット生成処理部303に転送する。
次のステップS117で、一致位置FIFO310、一致長さFIFO311ESCデータFIFO312、中間符号TYPE_FIFO313およびESCデータTYPE_FIFO316の各FIFO内の符号を全て出力したか否かを判定する。若し、全て出力したと判定したら、図7のフローチャートによる一連の処理が終了される。一方、各FIFO内の符号が未だ全て出力されていないと判定されたら、処理がステップS114に戻される。
図9は、符号フォーマット生成処理部303における符号フォーマット生成処理の例を示すフローチャートである。先ず、ステップS140で、符号フォーマット生成処理部303は、ESCデータTYPE生成部302からESCデータTYPE、中間符号TYPE、一致位置Address、一致長さLengおよびESCデータを受け取り、次のステップS141で、受け取った中間符号TYPEがESCデータ符号を示しているか否かを判定する。
若し、ステップS141で、中間符号TYPEがESCデータ符号を示していないと判定したら、処理をステップS142に移行させ、ヘッダの値を「00」とし、一致位置Addressおよび一致長さLengから、図5(a)に例示したスライド符号の符号フォーマットに従い符号データを生成する。符号フォーマット生成処理部303は、生成された符号データを符号書き込み部304に転送し、処理をステップS157に移行させる。
一方、ステップS141で、中間符号TYPEがESCデータ符号を示していると判定したら、処理をステップS143に移行させる。ステップS143では、符号フォーマット生成処理部303は、ステップS140でESCデータTYPE生成部302から受け取ったESCデータを最初のESCデータすなわちESCデータ#0として、処理をステップS144に移行させる。
ステップS144で、符号フォーマット生成処理部303は、ESCデータTYPEがESCデータ(1)符号を示しているか否かを判定する。若し、示していると判定したら、処理をステップS145に移行させ、図5(b)に例示したESCデータ(1)符号の符号フォーマットに従い符号データを生成する。より具体的には、ヘッダの値を「01」とし、このヘッダに対してステップS140で受け取ったESCデータを接続し、ESCデータ(1)符号を生成する。そして、処理をステップS157に移行させる。
一方、ステップS144で、ESCデータTYPEがESCデータ(1)符号を示していないと判定したら、処理をステップS146に移行させる。ステップS146では、符号フォーマット生成処理部303は、上述の図7のフローチャートにおけるステップS111またはステップS116でESCデータTYPE生成部302から出力されたESCデータTYPE、中間符号TYPE、一致位置Address、一致長さLengおよびESCデータを受け取る。そして、符号フォーマット生成処理部303は、受け取ったESCデータを2番目のESCデータすなわちESCデータ#1として、処理をステップS147に移行させる。
ステップS147でも同様にして、符号フォーマット生成処理部303は、上述の図7のフローチャートにおけるステップS111またはステップS116でESCデータTYPE生成部302から次に出力されたESCデータTYPE、中間符号TYPE、一致位置Address、一致長さLengおよびESCデータを受け取る。そして、符号フォーマット生成処理部303は、受け取ったESCデータをESCデータ#2として、処理をステップS148に移行させる。
ステップS148でも同様にして、符号フォーマット生成処理部303は、上述の図7のフローチャートにおけるステップS111またはステップS116でESCデータTYPE生成部302から次に出力されたESCデータTYPE、中間符号TYPE、一致位置Address、一致長さLengおよびESCデータを受け取る。そして、符号フォーマット生成処理部303は、受け取ったESCデータをESCデータ#3として、処理をステップS149に移行させる。
ステップS149で、符号フォーマット生成処理部303は、ステップS147で受け取ったESCデータTYPEがESCデータ(4)符号を示しているか否かを判定する。若し、示していると判定したら、処理をステップS150に移行させ、図5(c)に例示したESCデータ(4)符号の符号フォーマットに従い符号データを生成する。より具体的には、ヘッダの値を「10」とし、このヘッダに対してステップS140、ならびに、ステップS146〜ステップS148で受け取った4個のESCデータを順次接続し、ESCデータ(4)符号を生成する。そして、処理をステップS157に移行させる。
一方、ステップS149で、ESCデータTYPEがESCデータ(4)符号を示していないと判定したら、処理をステップS151に移行させる。ステップS151では、上述したステップS146〜ステップS148などと同様にして、符号フォーマット生成処理部303は、上述の図7のフローチャートにおけるステップS111またはステップS116でESCデータTYPE生成部302から次に出力されたESCデータTYPE、中間符号TYPE、一致位置Address、一致長さLengおよびESCデータを受け取る。そして、符号フォーマット生成処理部303は、受け取ったESCデータをESCデータ#4として、処理をステップS152に移行させる。
ステップS152でも同様にして、符号フォーマット生成処理部303は、上述の図7のフローチャートにおけるステップS111またはステップS116でESCデータTYPE生成部302から次に出力されたESCデータTYPE、中間符号TYPE、一致位置Address、一致長さLengおよびESCデータを受け取る。そして、符号フォーマット生成処理部303は、受け取ったESCデータをESCデータ#5として、処理をステップS153に移行させる。
ステップS153でも同様にして、符号フォーマット生成処理部303は、上述の図7のフローチャートにおけるステップS111またはステップS116でESCデータTYPE生成部302から次に出力されたESCデータTYPE、中間符号TYPE、一致位置Address、一致長さLengおよびESCデータを受け取る。そして、符号フォーマット生成処理部303は、受け取ったESCデータをESCデータ#6として、処理をステップS154に移行させる。
ステップS154でも同様にして、符号フォーマット生成処理部303は、上述の図7のフローチャートにおけるステップS111またはステップS116でESCデータTYPE生成部302から次に出力されたESCデータTYPE、中間符号TYPE、一致位置Address、一致長さLengおよびESCデータを受け取る。そして、符号フォーマット生成処理部303は、受け取ったESCデータをESCデータ#7として、処理をステップS155に移行させる。
ステップS155では、図5(d)に例示したESCデータ(8)符号の符号フォーマットに従い符号データを生成する。より具体的には、ヘッダの値を「11」とし、このヘッダに対してステップS140、ステップS146〜ステップS148、ならびに、ステップS151〜ステップS154で受け取った8個のESCデータを順次接続し、ESCデータ(8)符号を生成する。そして、処理をステップS157に移行させる。
ステップS157では、処理対象となる全ての中間符号について処理が終了したか否かが判定される。若し、終了したと判定されたら、図9のフローチャートにおける一連の処理が終了される。一方、処理対象となる中間符号のうち未だ処理が行われていない中間符号が存在すると判定されたら、処理はステップS140に戻される。
<第1の実施形態による復号処理>
図10は、本第1の実施形態に係る復号部205の一例の構成を概略的に示す。復号部205において、符号読み込み部400により、上述した符号化部204で符号化された符号データがメインメモリ210のページ符号格納領域210Dから読み込まれる。符号読み込み部400に読み込まれた符号データは、符号フォーマット解析部401に供給される。
図10は、本第1の実施形態に係る復号部205の一例の構成を概略的に示す。復号部205において、符号読み込み部400により、上述した符号化部204で符号化された符号データがメインメモリ210のページ符号格納領域210Dから読み込まれる。符号読み込み部400に読み込まれた符号データは、符号フォーマット解析部401に供給される。
符号フォーマット解析部401は、図5(a)〜図5(d)を用いて説明した符号フォーマットに従い、供給された符号化データを解釈してESCデータTYPE、中間符号TYPE、一致位置Address、一致長さLengおよびESCデータを取り出す。取り出されたこれらのデータは、スライド展開部402に供給される。
スライド展開部402は、直列的に接続されFIFO構成とされた複数のレジスタを含む、スライド記憶部を持つ。各レジスタは、スライドと呼ばれ、それぞれ1単位(例えば8ビット)のデータを格納可能とされる。以下では、複数のスライドのうち先頭からX番目のスライドを、適宜、スライド[X]のように記述する。スライド展開部402は、供給されたESCデータTYPE、中間符号TYPE、一致位置Address、一致長さLengおよびESCデータに基づき、スライド記憶部における各スライドに対してデータを展開し、符号化データを画像データに復号する。スライド展開部402で復号された画像データは、データ書き込み部403に供給され、メインメモリ210のバンド画像データ格納領域210Cに書き込まれる。
図11は、復号部205における復号処理の一例を示すフローチャートである。先ず、ステップS200で、符号フォーマット解析処理部401は、符号読み込み部400から渡された符号データの先頭の2ビットを切り出し、ヘッダを読み込む。次のステップS201で、符号フォーマット解析処理部401は、読み込んだヘッダがスライド符号を示しているか否かを判定する。若し、ヘッダの値が「00」であって、当該ヘッダがスライド符号を示していると判定したら、処理をステップS202に移行させる。
ステップS202で、符号フォーマット解析処理部401は、符号データのヘッダに続く16ビットを切り出して符号データから一致位置Addressおよび一致長さLengを読み込み、スライド展開部402に渡す。次のステップS203で、スライド展開部402は、一致位置Addressで指定されるスライドからデータを読み出し、読み出したデータを次のステップS204で出力する。出力されたデータは、ステップS205でスライドに追加されると共に、データ書き込み部403に渡される。
図12は、ステップS205のスライド追加処理の一例を示すフローチャートである。先ず、ステップS250で、スライド展開部402は、変数IWをスライド数から1を減じた値に設定する。次のステップS251で、スライド[IW]に、スライド[IW−1]の値を格納し、ステップS252で、変数IWが0を超えるか否かを判定する。若し、変数IWが「0」を超えると判定したら、処理をステップS253に移行させ、変数IWから「1」を減じて、処理をステップS251に戻す。一方、ステップS252で、変数IWが0以下であると判定されたら、処理をステップS254に移行させ、ステップS204で出力したデータをスライド[0]に対して格納する。
説明を図11のフローチャートに戻し、ステップS205でスライド追加が行われると、処理をステップS206に移行させ、一致長さLengが0を超えるか否かを判定する。若し、超えない、すなわち一致長さLengが0であると判定されたら、処理はステップS234に移行される。一方、一致長さLengが0を超えると判定されたら、ステップS207で一致長さLengから1を減じた値を新たな一致長さLengとし、処理をステップS203に戻す。
上述したステップS201で、ステップS200で読み込んだヘッダがスライド符号を示していないと判定したら、処理をステップS208に移行させる。この場合、当該ヘッダの値が「01」、「10」および「11」のうち何れかであって、ESCデータ符号を示していることになる。
ステップS208で、符号フォーマット解析処理部401は、符号データのヘッダに続く8ビットを読み込み、次のステップS209で、読み込んだデータを出力する。そして、次のステップS210で、図12を用いて説明したようにして、ステップS209で出力されたデータをスライドに追加する。データのスライドへの追加が行われたら、処理はステップS211に移行される。
ステップS211で、符号フォーマット解析処理部401は、ステップS200で読み込んだヘッダがESCデータ(1)符号を示しているか否かを判定する。若し、当該ヘッダの値が「01」であって、当該ヘッダがESCデータ(1)符号を示していると判定したら、処理はステップS234に移行される。
一方、ステップS211で、当該ヘッダの値が「01」および「11」の何れかであって、当該ヘッダがESCデータ(1)符号を示していないと判定したら、処理はステップS212に移行される。ステップS212で、ステップS208で読み込んだ符号データに続く8ビットの符号データを読み込み、読み込んだ符号データを次のステップS213で出力する。そして、次のステップS214で、図12を用いて説明したようにして、ステップS213で出力されたデータをスライドに追加する。
さらに、次のステップS215で、ステップS212で読み込んだ符号データに続く8ビットの符号データを読み込み、読み込んだ符号データを次のステップS216で出力する。そして、次のステップS217で、図12を用いて説明したようにして、ステップS216で出力されたデータをスライドに追加する。
さらにまた、次のステップS218で、ステップS215で読み込んだ符号データに続く8ビットの符号データを読み込み、読み込んだ符号データを次のステップS219で出力する。そして、次のステップS220で、図12を用いて説明したようにして、ステップS219で出力されたデータをスライドに追加する。
ステップS220でのスライドへのデータの追加が行われると、処理をステップS221に移行させる。ステップS221で、符号フォーマット解析処理部401は、ステップS200で読み込んだヘッダがESCデータ(4)符号を示しているか否かを判定する。若し、当該ヘッダの値が「10」であって、当該ヘッダがESCデータ(4)符号を示していると判定したら、処理はステップS234に移行される。
一方、ステップS221で、当該ヘッダがESCデータ(4)符号を示していないと判定したら、処理はステップS222に移行される。この場合、当該ヘッダの値は「11」となる。ステップS222で、ステップS218で読み込んだ符号データに続く8ビットの符号データを読み込み、読み込んだ符号データを次のステップS223で出力する。そして、次のステップS224で、図12を用いて説明したようにして、ステップS223で出力されたデータをスライドに追加する。
さらに、次のステップS225で、ステップS222で読み込んだ符号データに続く8ビットの符号データを読み込み、読み込んだ符号データを次のステップS226で出力する。そして、次のステップS227で、図12を用いて説明したようにして、ステップS226で出力されたデータをスライドに追加する。
さらにまた、次のステップS228で、ステップS225で読み込んだ符号データに続く8ビットの符号データを読み込み、読み込んだ符号データを次のステップS229で出力する。そして、次のステップS230で、図12を用いて説明したようにして、ステップS229で出力されたデータをスライドに追加する。
さらに、次のステップS231で、ステップS2228で読み込んだ符号データに続く8ビットの符号データを読み込み、読み込んだ符号データを次のステップS2232で出力する。そして、次のステップS2233で、図12を用いて説明したようにして、ステップS232で出力されたデータをスライドに追加する。
次のステップS234で、復号部205は、復号対象の符号データに対する処理が全て終了したか否かを判定する。若し、未だ処理を行っていない符号データが存在すると判定されたら、処理はステップS200に戻され、符号データの次の2ビットが読み出され、ヘッダの読み込みが行われる。一方、ステップS234で、復号対象の符号データに対する処理が全て終了したと判定したら、図11のフローチャートによる一連の処理が終了される。
<第2の実施形態>
次に、本発明の第2の実施形態について説明する。上述した第1の実施形態では、ESCデータの連続数が離散的な複数の組を定義し、ヘッダの値でこの複数の組を識別していた。これに対して、本第2の実施形態では、連続するESCデータに対して、ESCデータの連続数を示すヘッダを付加する。
次に、本発明の第2の実施形態について説明する。上述した第1の実施形態では、ESCデータの連続数が離散的な複数の組を定義し、ヘッダの値でこの複数の組を識別していた。これに対して、本第2の実施形態では、連続するESCデータに対して、ESCデータの連続数を示すヘッダを付加する。
図13は、本第2の実施形態による符号フォーマットの例を示す。本第2の実施形態では、符号データがスライド符号およびESCデータ符号の何れであるかを示す1ビットの情報がヘッダとして付加される。図13(a)は、スライド符号の例を示す。ヘッダの値が「0」でスライド符号を示し、それぞれ例えば8ビットのデータ長を有する一致位置Addressおよび一致長さLengがヘッダに接続される。
図13(b)は、ESCデータ符号の例を示す。ヘッダの値が「1」でスライド符号を示し、ヘッダに続けてESCデータの連続数を示す3ビットの符号が接続される。図13(b)の例では、この3ビットの符号の値が「000」〜「111」で、それぞれESCデータの連続数が1個〜8個であることを示す。この3ビットの符号に対して、当該符号が示す個数のESCデータが接続され、ESCデータ符号が構成される。
なお、9個以上のESCデータの連続数は、これら連続数が1個〜8個を示すESCデータ符号を適宜組み合わせて表現することができる。また、ESCデータの連続数を示す符号は、符号長が3ビットに限られず、2ビットまたは4ビット以上としてもよい。
<第2の実施形態による符号化処理>
図14は、本第2の実施形態による符号化部204’の一例の構成を示す。この符号化部204’は、上述した第1の実施形態における符号化部204に対応するものである。なお、図14において、図4と共通する部分には同一の符号を付し、詳細な説明を省略する。
図14は、本第2の実施形態による符号化部204’の一例の構成を示す。この符号化部204’は、上述した第1の実施形態における符号化部204に対応するものである。なお、図14において、図4と共通する部分には同一の符号を付し、詳細な説明を省略する。
符号化部204’は、データ読み込み部300、中間符号生成処理部301、ESCデータ長さ生成部305、符号フォーマット生成処理部303’および符号書き込み部304を有する。符号化部204’において、データ読み込み部300によりメインメモリ210のCMYKバンド画像データ格納領域210Cから読み出されたCMYKバンド画像データが、中間符号生成処理部301に供給される。中間符号生成処理部301は、供給された画像データとスライド記憶部に記憶された過去の入力データとを順次比較して、比較結果に基づき、中間符号TYPE、一致位置Address、一致長さLengおよびESCデータを出力する。中間符号TYPEは、上述したように、供給された画像データによるデータ列と、スライド記憶部に記憶された過去の入力データによるデータ列とが一致するか否かを示す。
中間符号生成処理部301から出力された各値は、ESCデータ長さ生成部305に供給される。ESCデータ長さ生成部305は、不一致を示す中間符号TYPEが連続する数をカウントし、カウント値をESCデータ長さとして出力する。この例では、ESCデータ長さの上限を8として、中間符号TYPEの連続数が8を超えるとカウント値を0にリセットしてカウントを再開させる。
ESCデータ長さ生成部305は、生成したESCデータ長さを出力すると共に、中間符号生成処理部301から供給された、ESCデータ、一致位置Address、一致長さLengおよび中間符号TYPEを出力し、符号フォーマット生成処理部303’に供給する。符号フォーマット生成処理部303、は、供給されたESCデータ、一致位置Address、一致長さLeng、中間符号TYPEおよびESCデータ長さを、図13で説明したフォーマットで符号化する。
符号フォーマット生成処理部303’で生成されたスライド符号およびESCデータ符号は、符号書き込み部304に供給され、メインメモリ210のCMYKページ符号格納領域210Dに書き込まれる。
図15は、ESCデータ長さ生成部305の一例の構成を示す。なお、図15において、上述した図6と共通する部分には同一の符号を付し、詳細な説明を省略する。ESCデータ長さ生成部305は、それぞれFIFO形式のバッファメモリである一致位置FIFO310、一致長さFIFO311、ESCデータFIFO312、中間符号TYPE_FIFO313およびESCデータ長さ_FIFO321を有する。また、ESCデータ長さ生成部305は、ESCデータカウンタ314と、ESCデータ長さ_FIFO書き込み制御部320とを有する。ESCデータカウンタ314は、不一致を示す中間符号TYPEをカウントし、カウント値をESCデータ長さを示す値(以下、ESCデータ長さ)として出力する。
ESCデータ長さ_FIFO321は、ESCデータ長さが格納され、ESCデータ長さを単位(例えば8ビット)としてデータの書き込みおよび出力がなされる。ESCデータ長さ_FIFO321は、一致位置FIFO310、一致長さFIFO311、ESCデータFIFO312および中間符号TYPE_FIFO313と同期して書き込みおよび読み出しが行われるように、ESCデータ長さ_FIFO書き込み制御部320に制御される。換言すれば、ESCデータ長さ_FIFO書き込み制御部320は、中間符号生成処理部301の出力に同期して書き込みおよび読み出しが行われるように、ESCデータ長さ_FIFO321を制御する。
ESCデータカウンタ314は、中間符号TYPEの値に基づきESCデータの連続数をカウントし、ESCデータの連続が途絶えた時点で、ESCデータの連続数をカウントしたESCデータ長さをESCデータ長さ_FIFO書き込み制御部320に対して転送する。ESCデータ長さ_FIFO書き込み制御部320は、ESCデータカウンタ315から転送されたESCデータ長さを、後述するようにして、ESCデータ長さ_FIFO321の当該ESCデータ長さに応じた位置に書き込む。
図16は、ESCデータ長さ生成部305におけるESCデータ長さ生成処理を示す一例のフローチャートである。なお、ここでは、ESCデータ長さの上限値が8であるものとする。最初のステップS300で、ESCデータカウンタ314におけるESCデータカウント値CESCを0に初期化する。
ステップS301で、ESCデータ長さ生成部305は、中間符号生成処理部301から、中間符号TYPE、一致位置Address、一致長さLengおよびESCデータを受け取り、次のステップS302で、受け取った中間符号TYPEがESCデータ符号を示しているか否かを判定する。若し、示していると判定されたら、処理はステップS303に移行され、ESCデータカウント値CESCが、ESCデータ長さの上限値の8であるか否かが判定される。
若し、ステップS303で、ESCデータカウント値CESCが8ではないと判定されたら、処理はステップS306に移行され、ESCデータカウント値CESCが1だけ増加される。
一方、ステップS303で、ESCデータカウント値CESCが8であると判定されたら、処理はステップS304に移行される。ステップS304では、ESCデータFIFO書き込み制御部320により、ESCデータカウント値CESCが、ESCデータ長さ_FIFO321の当該ESCデータカウント値CESCが示す位置(ESCデータカウント番目)に対して書き込まれる。
そして、次にステップS305で、ESCデータカウント値CESCがリセットされて0とされ、ステップS306でESCデータカウント値CESCが1だけ増加され、処理がステップS309に移行される。
一方、上述のステップS302で、中間符号TYPEがESCデータ符号を示していないと判定されたら、処理がステップS307に移行される。ステップS307では、ESCデータカウント値CESCが、ESCデータ長さ_FIFO321の当該ESCデータカウント値CESCが示す位置(ESCデータカウント番目)に対して書き込まれる。そして、次のステップS308でESCデータカウンタCESCがリセットされて0とされ、処理がステップS309に移行される。
ステップS309で、ESCデータ長さ生成部305は、一致位置FIFO310、一致長さFIFO311、ESCデータFIFO312、中間符号TYPE_FIFO313およびESCデータ長さ_FIFO321を、それぞれ1(1単位分)だけシフトさせる。
次のステップS310で、ESCデータ長さ生成部305は、中間符号生成処理部301から供給された各データを、各FIFOにそれぞれ書き込む。すなわち、ESCデータ長さ生成部305は、一致位置Addressを一致位置FIFO310の0番目に書き込み、一致長さLengを一致長さFIFO311の0番目に書き込む。また、ESCデータ長さ生成部305は、ESCデータをESCデータFIFO312の0番目に、中間符号TYPEを中間符号TYPE_FIFO313の0番目にそれぞれ書き込む。また、ESCデータ長さ生成部305において、ESCデータ長さ書き込み制御部320は、NOPを示す値をESCデータ長さ_FIFO321の0番目に書き込む。
次のステップS311で、ESCデータ長さ生成部305は、各FIFOの最後尾(最終番目)に格納されるデータをそれぞれ読み込み、符号フォーマット生成処理部303’に転送する。すなわち、ESCデータ長さ生成部305は、一致位置FIFO310の最終番目から一致位置Addressを、一致長さFIFO311の最終番目から一致長さLengをそれぞれ読み込み、符号フォーマット生成処理部303’に転送する。また、ESCデータ長さ生成部305は、ESCデータFIFO312の最終番目からESCデータを、中間符号TYPE_FIFO313の最終番目から中間符号TYPEをそれぞれ読み込み、符号フォーマット生成処理部303’に転送する。さらに、ESCデータ長さ生成部305は、ESCデータ長さ_FIFO321の最終番目からESCデータ長さを読み込み、符号フォーマット生成処理部303’に転送する。
次のステップS312で、処理対象の画像データを全て処理したか否かを判定する。若し、未だ処理していない画像データが存在すると判定したら、処理はステップS301に戻される。一方、処理対象の画像データを全て処理したと判定したら、処理はステップS313に移行され、一致位置FIFO310、一致長さFIFO311ESCデータFIFO312、中間符号TYPE_FIFO313およびESCデータ長さ_FIFO321の各FIFO内の符号を全て出力したか否かを判定する。若し、全て出力したと判定したら、図16のフローチャートによる一連の処理が終了される。
一方、未だ出力されていない符号が存在すると判定したら、処理はステップS314に移行される。ステップS314で、ESCデータ長さ生成部305は、一致位置FIFO310、一致長さFIFO311、ESCデータFIFO312および中間符号TYPE_FIFO313それぞれの先頭すなわち0番目に、NOPを示す値を書き込む。また、ESCデータ長さ生成部305において、ESCデータ長さ_FIFO書き込み制御部320は、ESCデータ長さ_FIFO321の0番目にNOPを示す値を書き込む。
各FIFOの0番目にNOPを示す値が書き込まれると、次のステップS315で、ESCデータ長さ生成部305は、一致位置FIFO310、一致長さFIFO311、ESCデータFIFO312、中間符号TYPE_FIFO313およびESCデータ長さ_FIFO321を、それぞれ1(1単位分)だけシフトさせる。
そして、次のステップS316で、ESCデータ長さ生成部305は、一致位置FIFO310、一致長さFIFO311ESCデータFIFO312、中間符号TYPE_FIFO313およびESCデータ長さ_FIFO321それぞれの最終番目から、一致位置Address、一致長さLeng、ESCデータ、中間符号TYPEおよびESCデータ長さを読み込み、符号フォーマット生成処理部303’に転送する。
次のステップS317で、一致位置FIFO310、一致長さFIFO311ESCデータFIFO312、中間符号TYPE_FIFO313およびESCデータ長さ_FIFO321それぞれに書き込まれた符号を全て出力したか否かを判定する。若し、全て出力したと判定したら、図16のフローチャートによる一連の処理が終了される。一方、各FIFO内の符号が未だ全て出力されていないと判定されたら、処理がステップS314に戻される。
図17は、符号フォーマット生成処理部303’における符号フォーマット生成処理の例を示すフローチャートである。先ず、ステップS330で、符号フォーマット生成処理部303’は、ESCデータ長さ生成部305からESCデータ長さ、中間符号TYPE、一致位置Address、一致長さLengおよびESCデータを受け取り、次のステップS331で、受け取った中間符号TYPEがESCデータ符号を示しているか否かを判定する。
若し、ステップS331で、中間符号TYPEがESCデータ符号を示していないと判定したら、処理をステップS332に移行させ、ヘッダの値を「0」とし、一致位置Addressおよび一致長さLengから、図13(a)に例示したスライド符号の符号フォーマットに従い符号データを生成する。符号フォーマット生成処理部303’は、生成された符号データを符号書き込み部304に転送し、処理をステップS342に移行させる。
一方、ステップS331で、中間符号TYPEがESCデータ符号を示していると判定したら、処理をステップS333に移行させる。ステップS333では、符号フォーマット生成処理部303’は、ステップS330でESCデータ長さ生成部305から受け取ったESCデータを最初のESCデータすなわちESCデータ#0として、処理をステップS334に移行させる。
ステップS334で、符号フォーマット生成処理部303’は、ESCデータ長さ(図中では、適宜、LESCと記述する)が0であるか否かを判定する。若し、0であると判定されたら、処理をステップS335に移行させ、図13(b)に例示したように、ESCデータ符号の符号フォーマットに従い符号データを生成する。より具体的には、ヘッダの値を「1」とし、このヘッダに対してステップS330で受け取ったESCデータを接続し、ESCデータ符号を生成する。そして、処理をステップS342に移行させる。
一方、ステップS334で、ESCデータ長さが0ではないと判定したら、処理をステップS336に移行させ、変数Iを0に初期化する。そして、次のステップS337で、符号フォーマット生成処理部303’は、ESCデータ長さ生成部305からESCデータを受け取り、受け取った当該ESCデータをI番目のESCデータ(ESCデータ#I)とする。
処理はステップS338に移行され、符号フォーマット生成処理部303’は、変数Iを1だけ増加させ、次のステップS339で、ESCデータ長さから1を減じた値を新たなESCデータ長さとする。そして、次のステップS340で、符号フォーマット生成処理部303’は、ESCデータ長さが0よりも大きいか否かを判定する。若し、ESCデータ長さが0よりも大きいと判定したら、処理をステップS337に戻す。
一方、ステップS340で、ESCデータ長が0以下であると判定したら、処理をステップS341に移行させ、図13(b)に例示したように、ESCデータ符号の符号フォーマットに従い符号データを生成する。より具体的には、ヘッダの値を「1」とし、このヘッダに対して、ステップS337で受け取ったESCデータを順次接続し、ESCデータ符号を生成する。例えば、変数Iの値が5であれば、連続する5個のESCデータをヘッダに対して順次接続して、ESCデータ符号を生成する。そして、処理をステップS342に移行させる。
ステップS342では、処理対象となる全ての中間符号について処理が終了したか否かが判定される。若し、終了したと判定されたら、図17のフローチャートにおける一連の処理が終了される。一方、処理対象となる中間符号のうち未だ処理が行われていない中間符号が存在すると判定されたら、処理はステップS330に戻される。
なお、ESCデータ長さの上限値が設定されている場合、上述のステップS340において、ESCデータ長さが0を超え、且つ、当該上限値以下であるか否かを判定すればよい。この場合、ESCデータ長さが0を超え、且つ、当該上限値以下と判定したら、処理をステップS337に戻す。一方、ESCデータ長さが0以下または当該上限値を超えていると判定したら、処理をステップS341に移行させる。
<第2の実施形態による復号処理>
図18は、本第2の実施形態に係る復号部205’の一例の構成を概略的に示す。この復号部205’は、上述した第1の実施形態における復号部205に対応するものである。なお、図18において、図10と共通する部分には同一の符号を付し、詳細な説明を省略する。
図18は、本第2の実施形態に係る復号部205’の一例の構成を概略的に示す。この復号部205’は、上述した第1の実施形態における復号部205に対応するものである。なお、図18において、図10と共通する部分には同一の符号を付し、詳細な説明を省略する。
復号部205において、符号読み込み部400により、上述した符号化部204で符号化された符号データがメインメモリ210のページ符号格納領域210Dから読み込まれ、符号フォーマット解析部401に供給される。符号フォーマット解析部401は、図13(a)および図13(b)を用いて説明した符号フォーマットに従い、供給された符号化データを解釈してESCデータ長さ、中間符号TYPE、一致位置Address、一致長さLengおよびESCデータを取り出す。取り出されたこれらのデータは、スライド展開部402に供給される。
スライド展開部404は、供給されたESCデータ長さ、中間符号TYPE、一致位置Address、一致長さLengおよびESCデータに基づき、スライド記憶部における各スライドに対してデータを展開し、符号データを画像データに復号する。スライド展開部404で復号された画像データは、データ書き込み部403に供給され、メインメモリ210のバンド画像データ格納領域210Cに書き込まれる。
図19は、復号部205における復号処理の一例を示すフローチャートである。先ず、ステップS400で、符号フォーマット解析処理部401は、符号読み込み部400から渡された符号データの先頭の1ビットを切り出し、ヘッダを読み込む。次のステップS401で、符号フォーマット解析処理部401は、読み込んだヘッダがスライド符号を示しているか否かを判定する。若し、ヘッダの値が「0」であって、当該ヘッダがスライド符号を示していると判定したら、処理をステップS402に移行させる。
ステップS402で、符号フォーマット解析処理部401は、符号データのヘッダに続く16ビットを切り出して符号データから一致位置Addressおよび一致長さLengを読み込み、スライド展開部404に渡す。次のステップS403で、スライド展開部404は、一致位置Addressで指定されるスライドからデータを読み出し、読み出したデータを次のステップS404で出力する。出力されたデータは、ステップS405で、図12を用いて説明したようにしてスライドに追加されると共に、データ書き込み部403に渡される。
次のステップS406で、一致長さLengから1が減じられた値が新たな一致長さLengとされ、ステップS407で、この一致長さLengが0を超えるか否かを判定する。若し、超えない、すなわち一致長さLengが0であると判定されたら、処理はステップS416に移行される。一方、一致長さLengが0を超えると判定されたら、処理をステップS403に戻す。
上述したステップS401で、ステップS400で読み込んだヘッダがスライド符号を示していないと判定したら、処理をステップS410に移行させる。ステップS410で、符号フォーマット解析処理部401は、符号データのヘッダに続く3ビットを読み込み、ESCデータ長さを求める。
次のステップS411で、符号フォーマット解析処理部401は、符号データから次の8ビットのデータを読み込み、読み込んだデータをステップS412で出力する。出力されたデータは、ステップS413で、図12を用いて説明したようにしてスライドに追加されると共に、データ書き込み部403に渡される。
次のステップS414で、ESCデータ長さから1を減じて新たなESCデータ長さとし、ステップS415でこのESCデータ長さが0を超えているか否かを判定する。若し、超えていると判定したら、処理をステップS411に戻し、符号データから次のデータを読み込む。
一方、ステップS415で、ESCデータ長さが0を超えていない、すなわちESCデータが0であると判定されたら、処理はステップS416に移行される。ステップS416で、復号部205’は、復号対象の符号データに対する処理が全て終了したか否かを判定する。若し、未だ処理を行っていない符号データが存在すると判定したら、処理をステップS400に戻し、次の符号について処理が行われる。一方、ステップS416で、復号対象の符号データに対する処理が全て終了したと判定したら、図19のフローチャートによる一連の処理が終了される。
以上説明したように、本発明の各実施形態によれば、LZ方式で圧縮符号化を行った場合に発生するESCデータにおいて、複数のESCデータに対して纏めて1のヘッダを付加するようにしている。そのため、1のESCデータに対して1のヘッダを付加する場合に比べ、最悪圧縮率を大きく、すなわち、符号量を小さくすることができる。またそれにより、画像データを圧縮符号化した符号データの復号処理を高速化できると共に、圧縮効率の悪い画像データを印字する場合であっても、印字を保証することができる。
また、各実施形態によれば、LZ方式による符号化で生成される一致位置Address、一致長さLengおよびESCデータを、中間符号としてそれぞれFIFO方式のバッファへ書き込む。それと共に、連続するESCデータをカウントしたカウント値すなわちESCデータの連続数を、中間符号を格納するFIFOバッファと同期するFIFO方式のバッファにおける、連続するESCデータの先頭に対応するアドレスに書き込む。そして、一致位置Address、一致長さLeng、ESCデータおよびESCデータ連続数をバッファから読み出して符号化している。
これにより、符号化部を、小さいサイズのFIFOバッファを用いて構成することが可能となる。すなわち、各FIFOバッファの最小サイズは、ESCデータの連続数の上限に対応するサイズとなる。また、符号化部におけるバッファをFIFO方式で構成することで、LZ方式の中間符号を生成する処理と、中間符号から符号データを生成する処理との並列な動作が可能となり、処理スピードの高速化が図れる。
なお、上述の各実施形態では、中間符号生成処理部301において、供給された画像データとスライド記憶部に記憶された過去の入力データとが一致する場合に、ランレングス方式により一致位置Addressと一致長さLengとを求めて符号化を行っているが、これはこの例に限定されない。例えば、特許第4000266号公報に開示されるような、小さい動的な辞書をMTF(Move To Front)制御することにより、辞書と一致したインデクス値を符号化する符号化方式であるMTF符号化方式を用いることもできる。
また、上述では、各実施形態がプリンタ装置に適用されるものとして説明したが、これはこの例に限られず、スキャナ機能、プリンタ機能、コピー機能およびFAX機能を1台の筐体に統合した複合機に、本発明の各実施形態に適用してもよい。
204,204’ 符号化部
205,205’ 復号部
210 メインメモリ
300 データ読み込み部
301 中間符号生成処理部
302 ESCデータTYPE生成部
303,303’ 符号フォーマット生成処理部
304 符号書き込み部
305 ESCデータ長さ生成部
310 一致位置FIFO
311 一致長さFIFO
312 ESCデータFIFO
313 中間符号TYPE_FIFO
314 ESCデータカウンタ
315 ESCデータTYPE_FIFO書き込み制御部
316 ESCデータTYPE_FIFO
320 ESCデータ長さ_FIFO書き込み制御部
321 ESCデータ長さ_FIFO
400 符号読み込み部
401 符号フォーマット解析処理部
402 スライド展開部
403 データ書き込み部
205,205’ 復号部
210 メインメモリ
300 データ読み込み部
301 中間符号生成処理部
302 ESCデータTYPE生成部
303,303’ 符号フォーマット生成処理部
304 符号書き込み部
305 ESCデータ長さ生成部
310 一致位置FIFO
311 一致長さFIFO
312 ESCデータFIFO
313 中間符号TYPE_FIFO
314 ESCデータカウンタ
315 ESCデータTYPE_FIFO書き込み制御部
316 ESCデータTYPE_FIFO
320 ESCデータ長さ_FIFO書き込み制御部
321 ESCデータ長さ_FIFO
400 符号読み込み部
401 符号フォーマット解析処理部
402 スライド展開部
403 データ書き込み部
Claims (5)
- 画像データが連続的に入力された入力データ列と一致するデータ列を、過去に入力された画像データのデータ列から探索する探索手段と、
前記探索手段により前記入力データ列と一致するデータ列が探索された場合に、探索された該データ列の長さと、該データ列の前記過去に入力されたデータ列上の位置とを出力し、前記入力データ列と一致するデータ列が探索されなかった場合に、前記入力データ列をエスケープデータとして出力する中間符号生成手段と、
前記中間符号生成手段から前記エスケープデータが連続して出力される数をカウントするカウント手段と、
前記データ列の長さと前記データ列上の位置と前記エスケープデータとを符号化する符号化手段と
を有し、
前記符号化手段は、
前記中間符号生成手段から複数の前記エスケープデータが連続して出力された場合に、該複数のエスケープデータを纏めて、前記カウント手段で該複数のエスケープデータの数がカウントされたカウント値を示す情報を付加して符号化する
ことを特徴とする画像処理装置。 - 前記符号化手段は、
前記複数のエスケープデータを、予め定められた値が2以上の前記カウント値を単位として纏め、該単位としたカウント値を示す情報を付加して符号化する
ことを特徴とする請求項1に記載の画像処理装置。 - 前記中間符号生成手段から出力された、前記データ列の長さと、前記データ列上の位置と、前記エスケープデータとをそれぞれ記憶するFIFO形式の第1の記憶手段と、
前記カウント値を示す情報を記憶するFIFO形式の第2の記憶手段と、
前記第2の記憶手段の書き込みおよび読み出しを、前記中間符号生成手段の出力に同期して行うように制御する記憶手段制御手段と
をさらに有し、
前記符号化手段は、
前記第1の記憶手段から読み出した前記データ列の長さ、前記データ列上の位置および前記エスケープデータと、前記第2の記憶手段から読み出した前記カウント値を示す情報とを用いて前記符号化を行う
ことを特徴とする請求項1または請求項2に記載の画像処理装置。 - 前記符号化手段は、
前記カウント値が予め定められた上限値に達したら、前記複数のエスケープデータと該カウント値を示す情報とを纏めて符号化し、
前記カウント手段は、
前記カウント値が前記上限値に達したら該カウント値をリセットする
ことを特徴とする請求項1乃至請求項3の何れか1項に記載の画像処理装置。 - 探索手段が、画像データが連続的に入力された入力データ列と一致するデータ列を、過去に入力された画像データのデータ列から探索する探索ステップと、
中間符号生成手段が、前記探索ステップにより前記入力データ列と一致するデータ列が探索された場合に、探索された該データ列の長さと、該データ列の前記過去に入力されたデータ列上の位置とを出力し、前記入力データ列と一致するデータ列が探索されなかった場合に、前記入力データ列をエスケープデータとして出力する中間符号生成ステップと、
カウント手段が、前記中間符号生成ステップにより前記エスケープデータが連続して出力される数をカウントするカウントステップと、
符号化手段が、前記データ列の長さと前記データ列上の位置と前記エスケープデータとを符号化する符号化ステップと
を有し、
前記符号化ステップは、
前記中間符号生成ステップにより複数の前記エスケープデータが連続して出力された場合に、該複数のエスケープデータを纏めて、前記カウント手段で該複数のエスケープデータの数がカウントされたカウント値を示す情報を付加して符号化する
ことを特徴とする画像処理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010112575A JP5499894B2 (ja) | 2010-05-14 | 2010-05-14 | 画像処理装置および画像処理方法 |
US13/097,762 US8406538B2 (en) | 2010-05-14 | 2011-04-29 | Image processing apparatus and image processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010112575A JP5499894B2 (ja) | 2010-05-14 | 2010-05-14 | 画像処理装置および画像処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011244101A JP2011244101A (ja) | 2011-12-01 |
JP5499894B2 true JP5499894B2 (ja) | 2014-05-21 |
Family
ID=44911819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010112575A Active JP5499894B2 (ja) | 2010-05-14 | 2010-05-14 | 画像処理装置および画像処理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8406538B2 (ja) |
JP (1) | JP5499894B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012129778A (ja) | 2010-12-15 | 2012-07-05 | Ricoh Co Ltd | 画像処理装置および画像処理方法 |
JP5768524B2 (ja) | 2011-06-20 | 2015-08-26 | 株式会社リコー | 画像処理装置、画像処理方法およびプログラム |
JP5862267B2 (ja) | 2011-12-14 | 2016-02-16 | 株式会社リコー | 画像処理装置および画像処理方法、ならびに、画像形成装置 |
JP6003059B2 (ja) * | 2012-01-05 | 2016-10-05 | 株式会社リコー | 画像処理装置および画像処理方法、ならびに、画像形成装置 |
JP6044292B2 (ja) * | 2012-11-16 | 2016-12-14 | 株式会社リコー | データ処理装置、データ処理方法 |
JP7040058B2 (ja) | 2018-01-31 | 2022-03-23 | 株式会社リコー | 符号化装置 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2810752B2 (ja) | 1990-02-16 | 1998-10-15 | 財団法人微生物化学研究会 | 新規生理活性物質サイクロオクタチン、その製造法およびその用途 |
JP2922575B2 (ja) | 1990-04-13 | 1999-07-26 | 三菱電機株式会社 | 整流装置の直流電流制御装置 |
US5406281A (en) * | 1993-10-12 | 1995-04-11 | Codex Corporation | Encoder/decoder and method for efficient string handling in data compression |
JP3240495B2 (ja) | 1994-09-14 | 2001-12-17 | エー・アイ・ソフト株式会社 | データの可逆符号化方法および装置、並びに、伸長装置 |
JP3609189B2 (ja) | 1995-03-14 | 2005-01-12 | 株式会社リコー | アンチエイリアシング機能を有する画像生成装置 |
JPH08329276A (ja) | 1995-06-01 | 1996-12-13 | Ricoh Co Ltd | 3次元グラフィックス処理装置 |
JP2845231B2 (ja) * | 1996-12-06 | 1999-01-13 | 日本電気株式会社 | 可変長符号化方法およびその装置 |
JP3337633B2 (ja) * | 1997-12-03 | 2002-10-21 | 富士通株式会社 | データ圧縮方法及びデータ復元方法並びにデータ圧縮プログラム又はデータ復元プログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP2885235B1 (ja) * | 1998-01-14 | 1999-04-19 | 日本電気株式会社 | データ圧縮方法及び圧縮プログラムを記録した機械読み取り可能な記録媒体 |
JP4242970B2 (ja) * | 1998-07-09 | 2009-03-25 | 富士通株式会社 | データ圧縮方法及びデータ圧縮装置 |
JP2002142118A (ja) | 2000-10-31 | 2002-05-17 | Ricoh Co Ltd | 符号化装置、復号化装置、画像形成装置、符号化方法および復号化方法 |
JP3857534B2 (ja) | 2001-03-21 | 2006-12-13 | 株式会社リコー | 画像圧縮処理装置 |
JP3865203B2 (ja) | 2001-04-24 | 2007-01-10 | 株式会社リコー | 画像圧縮装置、画像形成装置、画像圧縮方法及び記録媒体 |
JP4000266B2 (ja) | 2002-03-08 | 2007-10-31 | 株式会社リコー | データ符号化装置、データ符号化方法、及びそのプログラム |
JP4133369B2 (ja) | 2003-01-27 | 2008-08-13 | 株式会社リコー | 画像処理装置、方法及びプログラム |
US7454528B2 (en) | 2004-02-13 | 2008-11-18 | Ricoh Company, Ltd. | Image output apparatus using close range radio contact wherein radio contact element is attached to document on which an image is recorded |
JP2005309865A (ja) | 2004-04-22 | 2005-11-04 | Ricoh Co Ltd | 画像処理装置および画像処理方法、並びに画像処理方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP2006123505A (ja) | 2004-09-29 | 2006-05-18 | Ricoh Co Ltd | 画像形成装置、画像形成方法および画像形成システム |
JP2009055124A (ja) * | 2007-08-23 | 2009-03-12 | Fujitsu Microelectronics Ltd | 符号化装置 |
JP5081539B2 (ja) | 2007-08-31 | 2012-11-28 | 株式会社リコー | 画像データ符号化装置、画像データ符号化方法、画像形成装置、画像形成方法、画像データ復号化装置、及び画像データ復号化方法 |
JP4950007B2 (ja) | 2007-11-17 | 2012-06-13 | 株式会社リコー | 画像処理装置及びこれを備えた画像形成装置、並びに、画像処理方法 |
US7535614B1 (en) | 2008-05-27 | 2009-05-19 | Gentex Corporation | Electrical window control system and method thereof |
-
2010
- 2010-05-14 JP JP2010112575A patent/JP5499894B2/ja active Active
-
2011
- 2011-04-29 US US13/097,762 patent/US8406538B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2011244101A (ja) | 2011-12-01 |
US20110280492A1 (en) | 2011-11-17 |
US8406538B2 (en) | 2013-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5499894B2 (ja) | 画像処理装置および画像処理方法 | |
JP5251799B2 (ja) | データ処理装置およびデータ処理方法 | |
EP1821414B1 (en) | Information compression-coding device, method thereof, program thereof and recording medium storing the program | |
US7907069B2 (en) | Fast compression method for scientific data | |
JP4479530B2 (ja) | データ圧縮装置、及びデータ復元装置 | |
US20090289819A1 (en) | Efficient data compression & decompression of numeric sequences | |
KR101969848B1 (ko) | 유전자 데이터를 압축하는 방법 및 장치 | |
US9094039B2 (en) | Efficient deflate decompression | |
CN110879807A (zh) | 用于快速地并且有效地访问数据的文件格式 | |
US20190052284A1 (en) | Data compression apparatus, data decompression apparatus, data compression program, data decompression program, data compression method, and data decompression method | |
JP6003059B2 (ja) | 画像処理装置および画像処理方法、ならびに、画像形成装置 | |
JP2007043595A (ja) | 可変長符号復号化方法および装置ならびにデータ伸長装置 | |
US6094151A (en) | Apparatus and method for finite state machine coding of information selecting most probable state subintervals | |
US9092717B2 (en) | Data processing device and data processing method | |
US20130082850A1 (en) | Data encoding apparatus, data decoding apparatus and methods thereof | |
CN106537914A (zh) | 通过限制的进位运算来执行算术编译的方法和设备 | |
US8638243B2 (en) | Data compression device, data compression method, and medium | |
JPWO2007108395A1 (ja) | 可変長符号の復号装置および復号方法 | |
JP4093200B2 (ja) | データ圧縮方法及びプログラムならびにデータ復元方法及び装置 | |
JP2004120623A (ja) | 符号化装置、符号化方法、復号装置及び復号方法 | |
JP2005527911A (ja) | パイル処理・並列プロセッサ用のシステム及び方法 | |
Akil et al. | FPGA-based architecture for hardware compression/decompression of wide format images | |
CN110915140A (zh) | 用于编码和解码数据结构的质量值的方法 | |
JP2010074444A (ja) | 画像圧縮装置、画像圧縮方法、画像復号装置、画像復号方法、及び、コンピュータプログラム | |
CN117560013A (zh) | 数据压缩方法和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130218 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140212 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140225 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5499894 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |