JP3842914B2 - データ符号化方法/復号方法、データ符号化装置/復号装置、及び、そのデータ符号化方法/復号方法を用いた画像データ記録システム - Google Patents

データ符号化方法/復号方法、データ符号化装置/復号装置、及び、そのデータ符号化方法/復号方法を用いた画像データ記録システム Download PDF

Info

Publication number
JP3842914B2
JP3842914B2 JP01247999A JP1247999A JP3842914B2 JP 3842914 B2 JP3842914 B2 JP 3842914B2 JP 01247999 A JP01247999 A JP 01247999A JP 1247999 A JP1247999 A JP 1247999A JP 3842914 B2 JP3842914 B2 JP 3842914B2
Authority
JP
Japan
Prior art keywords
value
code
run
length
decoding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP01247999A
Other languages
English (en)
Other versions
JP2000217005A (ja
Inventor
喜嗣 井上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP01247999A priority Critical patent/JP3842914B2/ja
Publication of JP2000217005A publication Critical patent/JP2000217005A/ja
Application granted granted Critical
Publication of JP3842914B2 publication Critical patent/JP3842914B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、例えばプリンタ装置に画像データを格納する際に使用されるデータの圧縮伸張に用いる符号化及び復号方法及び装置に関し、特に、プリンタ等でフレームバッファ容量を節約する、所謂省メモリ機構に最適な符号化及び復号方法及び装置、システムならびに記録媒体に関するものである。
【0002】
【従来の技術】
近年、レーザービームプリンタ等の印刷装置では、印刷のための画像データを圧縮即ち符号化して一時的に蓄積し、伸張即ち復号しながら実際の印刷を行うことで必要なメモリを削減する、いわゆる省メモリ技術が広く用いられている。このような省メモリ技術の基本的な目的は必要なメモリ量を削減することによるコストダウンであるので、この圧縮伸張のために複雑な専用ハードウェアを備えることは好ましくなく、従って、装置の制御を司るマイクロプロセッサにこれらの圧縮伸張処理をソフトウェア的に行わせしめることが広く行われている。
この画像データ圧縮の方式及び装置に関しては、既に多数の技術が開示されている。一般的に、二次元静止画像を圧縮対象とする場合には、副走査方向のデータ相関を加味して圧縮を行う二次元圧縮や算術符号を用いる予測符号化方式を用いることで高い圧縮率を得られることがよく知られている。しかし、それらの方式をマイクロプロセッサでソフトウェア的に実行させると処理速度が遅く、印刷の解像度や速度が年々向上する中で省メモリ機構に適応することは困難となってきており、従って、圧縮伸長をマイクロプロセッサに実行させるような場合には、一次元圧縮と称される比較的単純な方式を用いることが普通である。
【0003】
斯かる従来の一次元圧縮に関しては、ランレングス圧縮やファクシミリ装置等に用いられるMH符号が広く知られている。これらの方式は、コンピュータ処理による擬似中間調画像のように色(白黒)が短い周期(ラン)で頻繁に変化するような画像データに対しては十分な圧縮率が得られないという欠点があることが既に知られている訳であるが、特に近年、パーソナルコンピュータやネットワークの進歩によりイメージデータを印刷する機会が増大しているため、これらの方式を省メモリ機構に採用することは困難な状況になってきている。
又、二次元圧縮方式、予測符号化方式、MH符号方式等においては、ラインバッファ、確率テーブル、符号テーブルといった比較的大きな容量の参照手段が必要であるという欠点が存在することにも注意が必要である。例えば、1200dpi(ドット/インチ)の解像度、25ppm(ページ/分)の印刷速度であれば画素周波数は100MHzを超えるのが一般的である。このような周波数で前記のような参照手段を含む符号化・復号のハードウェア回路を動作させることは非常に困難であり、これを克服するため、回路を並列化することにより低い周波数で動作させるという技法が用いられる訳であるが、テーブル等も含めて並列化する必要があることから、大規模な回路となり、コストアップとなるという欠点が存在することになる。
【0004】
前記のように色が短い周期で頻繁に変化するような画像データに対する圧縮率を改善するために、画像データやランレングスの繰り返し性を検出するという特徴を備えた符号化技術も知られている。
例えば特許第2683506号公報には白ワードの長さと黒ワードの長さを両方記述可能な制御ワードを使用することで白ワードと黒ワードが比較的短い周期で規則的に現れるイメージデータを効率的に圧縮する方法及び装置が開示されている。この方式ではあるワード長(バイト)を規定し、全てが白であるデータ単位を白ワード、全てが白でないものを黒ワードとして扱い、それらの繰り返し出現数、黒ワードの内容、制御語等をワード長単位で符号化しているので、符号化及び復号に際して特別な符号テーブルを必要とせずまたワード長単位で処理できるのでマイクロプロセッサで処理しても十分な処理性能を期待できるという点で優れている。しかし、ワード列単位で繰り返し性を検出しているので、対象とする画像データに含まれる繰り返しの周期とワード長とが一致するか倍数となっている場合にのみ高い圧縮率が実現されることになり、一般的な画像データに対して十分な圧縮率が得られないという欠点が存在する。
【0005】
又、特開平9−65147公報には白及び黒の各々についてランレングス値を記憶し、ある色のランレングス値が同色の直前のランレングス値に一致する場合に所定の反復符号を生成することで圧縮率及び処理速度を改善する方法及び装置が開示されている。色毎にランレングス値を記憶し、現在の値と直前の値を比較した場合の一致する可能性は比較的高いと考えられる。しかし、明らかに、ラン長の一致が発生した時に生成される反復符号が一致しなかった場合に符号化される符号語に比べて十分に少ないデータ量である場合にのみ圧縮率が向上するものであり、より短い符号語を反復符号に割り当てることは相対的に一致しないラン長の符号語を長くするので、色が短い周期で頻繁に変化するような画像データに対しては十分な圧縮率を持つ符号セットを得ることが困難であるという欠点が存在する。同明細書の実施例によるならば、符号セットはMH符号に類似するものであり、マイクロプロセッサによる処理ではランレングス符号方式のような高速性を期待することは困難であり、また、ランレングス値を記憶するための記憶手段が色に対応して設けられているので、ランレングス値の比較や格納に際して、色に応じて参照・格納先を選択する処理が必要となりマイクロプロセッサによる高速処理の妨げになるという欠点も存在する。
【0006】
【発明が解決しようとする課題】
前述した従来のかかる画像符号化及び復号方法及び装置においては、特定の画像に対しては高圧縮率が達成できるものの、色が短い周期で頻繁に変化するような画像データに対しては十分な圧縮率を得ることが困難であるという問題点があった。
そこで本発明の課題は、このような問題点を解決するものである。即ち、近年多用の一途をたどっている色が短い周期で頻繁に変化するような画像データに対しても、省メモリで十分な圧縮率が確保できるデータ符号化方法/復号方法、データ符号化装置/復号装置、及び、そのデータ符号化方法/復号方法を用いた画像データ記録システムを提供することを目的とする。
【0007】
【課題を解決するための手段】
前記目的を達成するために、本発明の請求項1記載のデータ符号化方法は、データを走査して得られる色毎に交互のランレングス数値列を入力し、所定の符号列に変換して出力する符号化方法であって、所定のランレングス数値を入力した時に前記ランレングス数値の値が同色の直前のランレングス数値に一致する場合を一致事象と設定すると共に一致しない事象を不一致事象と設定し、一致事象が連続する数を反復数と設定し、前記一致事象または一致事象の連続が発生した場合には前記反復数に対応する反復数符号を生成し、前記不一致事象が発生した場合には前記ランレングス数値の値を示す符号を生成することを特徴とする。
請求項2の本発明は、請求項1に記載のデータ符号化方法において、前記一致事象または一致事象の連続に対して前記反復数に対応する符号を生成し、前記不一致事象に対して前記ランレングス数値の値を示す符号を生成するための制御内容には、前記反復数を記憶するための反復数記憶手段に初期値を格納する初期化段階と、前記一致事象の発生に対応して前記反復数記憶手段に格納された前記反復数の値を増加させる増加段階と、該時点における前記不一致事象の発生に対応して前記反復数記憶手段に格納された前記反復数の値が初期値でない場合には、前記反復数の値を示す符号を出力した後に前記反復数記憶手段に格納された前記反復数の値を初期値に戻し、前記反復数が初期値である時点で前記ランレングス数値の値を示す符号を生成する符号生成段階と、対象データの符号化が終了するまで、前記増加段階および前記符号生成段階を繰り返す繰り返し段階と、符号化の対象となるデータの符号化が終了した時点で、前記反復数の値が初期値でない場合には、前記反復数の値を示す符号を出力する符号出力段階とを有することを特徴とする。
【0008】
請求項3の本発明は、請求項1または請求項2に記載のデータ符号化方法において、前記一致事象及び不一致事象を識別する制御は、色数分のランレングス数値を記憶・参照するためのランレングス値記憶手段A及びランレングス値記憶手段Lに所定の初期値を格納する初期化段階と、所定の前記ランレングス数値が前記各ランレングス値記憶手段Lに入力された時点で、前記ランレングス数値と前記ランレングス値記憶手段Aに格納された値とが一致する場合が一致事象であり、一致しない場合が不一致事象であると識別する識別段階と、前記識別段階の後、次のランレングス値入力より以前の時点において、前記ランレングス値記憶手段Aに前記ランレングス値記憶手段Lの値を格納した後、前記ランレングス値記憶手段Lに前記所定のランレングス数値の値を格納する段階とを備えたことを特徴とする。
請求項4の本発明は、請求項3に記載のデータ符号化方法において、前記一致事象及び不一致事象を識別する制御の初期化段階において、前記ランレングス値記憶手段Aにランレングスの測定を開始するときの対象色とは異なる色で始まる場合を意味する初期値を設定することを特徴とする。
【0009】
請求項5記載の本発明のデータ符号化装置は、データを走査して得られる色毎に交互のランレングス数値列を入力し、所定の符号列に変換して出力する符号化装置であって、所定のランレングス数値を入力し記憶するランレングス値記憶手段Lと、前記ランレングス数値と同色の直前のランレングス数値を記憶するランレングス値記憶手段Aと、前記ランレングス数値の値が同色の直前のランレングス数値に一致するか否かを判別する判別手段と、前記ランレングス数値の値が同色の直前のランレングス値に一致する場合に該一致が反復する反復数を記憶する反復数記憶手段と、前記反復数を示す符号を生成する反復数符号生成手段と、前記ランレングス数値の値が同色の直前のランレングス値に一致しない場合には前記ランレングス数値の値を示す符号を生成するランレングス符号生成手段とを具備することを特徴とする。
請求項6の本発明は、請求項5記載のデータ符号化装置において、前記不一致事象に対応して前記ランレングス数値の値を示す符号を生成し、前記一致事象または一致事象の連続に対応する前記反復数に対応して符号を生成するデータ符号化装置であって、反復数を記憶する反復数記憶手段と、前記一致事象の発生のたびに前記反復数の値を増加させる反復数演算手段と、前記不一致事象の発生に際し、該不一致事象の発生時点における前記反復数の値が初期値でない場合には、前記反復数の値を示す符号を出力した後に反復数の値を初期値に戻し、反復数が初期値である時点で前記ランレングス数値の値を示す符号を生成するランレングス符号生成手段と、符号化の対象となるデータの符号化が終了するまで前記各手段の動作を繰り返す制御を行う制御手段と、対象データの符号化が終了となった時点で前記反復数の値が初期値でない場合に、前記反復数の値を示す符号を出力する反復数符号生成手段とを備えたことを特徴とする。
【0010】
請求項7の本発明は、請求項5または6に記載のデータ符号化装置において、前記ランレングス数値を入力し記憶するランレングス値記憶手段Lと、前記ランレングス数値と同色の直前のランレングス数値を記憶するランレングス値記憶手段Aと、反復数を記憶する反復数記憶手段とは、マイクロプロセッサの汎用レジスタにより構成されることを特徴とする。
請求項8記載の本発明の画像データ記録システムは、請求項1から請求項4までの何れか1項に記載されたデータ符号化方法を画像形成装置に適用したことを特徴とする。
請求項9記載の本発明の画像データ記録システムは、請求項8に記載された画像形成装置が、プリンタであることを特徴とする。
請求項10記載の本発明のデータ復号方法は、請求項1から請求項4までの何れか1項に記載のデータ符号化方法を用いて生成された符号列データを走査して得られる符号列を入力し、色毎に交互のランレングス数値列に復号して出力するデータ復号方法であって、入力した符号列が前記ランレングス符号生成手段により生成された符号である場合には、前記符号が表わすランレングス数値を出力し、入力した符号列が前記反復数符号生成手段により生成された符号である場合には、同色の直前のランレングス数値を反復数符号が表わす反復数の個数分出力することを特徴とする。
【0011】
請求項11の本発明は、請求項10に記載のデータ復号方法において、色数分のランレングス数値を記憶・参照するための複号側ランレングス値記憶手段A及び復号側ランレングス値記憶手段Lに符号化時と同じ初期値を格納する初期化段階と、所定の符号を入力・復号して前記符号が示す数値とその属性を得る段階と、前記符号が示す数値の属性が前記ランレングス符号である場合には、前記符号が示す数値をランレングス数値として出力し、前記複号側ランレングス値記憶手段Aに前記復号側ランレングス値記憶手段Lの内容を格納した後、前記復号側ランレングス値記憶手段Lに前記ランレングス数値を格納する段階と、前記符号が示す数値の属性が前記反復符号である場合には、前記反復数を記憶・参照するための反復数記憶手段に前記反復数の値を格納し、前記反復数の値が初期値となるまで、前記複号側ランレングス値記憶手段Aに記憶された数値をランレングス数値として出力し、前記複号側ランレングス値記憶手段Aに前記復号側ランレングス値記憶手段Lに記憶された値を格納した後、前記復号側ランレングス値記憶手段Lに前記ランレングス数値または前記複号側ランレングス値記憶手段Aに記憶された値を格納し、前記反復数記憶手段に記憶された値を所定値減じる処理を繰り返す段階と、復号化の対象となる符号列のデータが終了するまで、前記所定の符号単位を入力・復号して前記符号が示す数値とその属性を得る段階から前記反復数の値を所定値減じる処理を繰り返す段階までを繰り返す段階とを有することを特徴とする。
請求項12記載の本発明のデータ復号装置は、請求項11に記載のデータ復号方法を用いたデータ復号装置であって、入力した符号列を符号単位毎に記憶する符号列記憶手段と、前記符号単位の符号が前記ランレングス符号である場合には、前記ランレングス符号が表わすランレングス数値を生成するランレングス値生成手段と、入力した符号単位が前記反復数符号である場合には、前記複号側ランレングス値記憶手段Aに記憶された同色の直前のランレングス数値を前記符号が表わす反復数の個数分出力するランレングス値出力手段とを備えたことを特徴とする。
【0012】
請求項13の本発明は、請求項12に記載のデータ復号装置において、色数分のランレングス数値を記憶・参照するための前記複号側ランレングス値記憶手段A及び復号側ランレングス値記憶手段Lと、所定の符号単位を入力・復号して前記符号が示す数値とその属性を得る復号数値・属性判別手段と、前記復号数値・属性判別手段にて復号された数値の属性が前記ランレングス符号である場合には、前記数値をランレングス数値として出力し、前記復号数値・属性判別手段にて復号された数値の属性が前記反復数符号である場合には、前記反復数の値が初期値となるまで、前記複号側ランレングス値記憶手段Aに記憶された値をランレングス数値として出力するランレングス値生成手段と、前記復号数値・属性判別手段にて復号された数値の属性が前記反復数符号である場合には、前記数値を格納し記憶する復号側反復数記憶手段と、前記復号側反復数記憶手段に記憶された反復数の値を減じる処理を反復数に対応して繰り返す反復数演算手段と、前記各記憶手段に符号化時と同じ初期値を格納する制御、前記複号側ランレングス値記憶手段Aに前記復号側ランレングス値記憶手段Lに記憶された値を格納させた後に前記復号側ランレングス値記憶手段Lに前記ランレングス数値または前記複号側ランレングス値記憶手段Aに記憶された値を格納させる制御、復号化の対象となる符号列のデータが終了するまで前記反復数演算手段に繰り返し動作させる制御を行う制御手段とを備えたことを特徴とする。
請求項14の本発明は、請求項12または13に記載のデータ復号装置において、ランレングス数値を入力し記憶する復号側ランレングス値記憶手段Lと、前記ランレングス数値と同色の直前のランレングス数値を記憶する複号側ランレングス値記憶手段Aと、反復数を記憶する反復数記憶手段とは、マイクロプロセッサの汎用レジスタにより構成されることを特徴とする。
【0013】
請求項15の本発明は、請求項1から請求項4までの何れか1項に記載のデータ符号化方法において、前記データ符号化方法により符号化される第1の符号は、4ビット幅を有し、前記4ビットの数値が10未満であることにより識別され、前記数値に1を加算した値がランレングス数値に対応する前記符号の一形式であり、第2の符号は8ビット幅を有し、符号列において先行する上位4ビットの値が10以上の所定値であることにより識別され、下位5ビットの値に11を加算した値がランレングス数値に対応する前記ランレングス符号の一形式であり、第3の符号は少なくとも8ビット幅で4の倍数となるビット幅を有し、符号列において先行する上位4ビットの値が10以上の所定値であることにより識別され、該4ビットに続く各4ビットについて、その4ビットの値において8以上の数値が検出されるまで各4ビットの下位3ビットを上位に向かって連接した数値に43を加算した値がランレングス数値に対応する前記符号の一形式であり、第4の符号は4ビット幅を有し、該4ビットの数値が10以上の所定値であることにより識別され、前記反復数が1であることに対応する前記符号の一形式であり、第5の符号は4ビット幅を有し、該4ビットの数値が10以上の所定値であることにより識別され、前記反復数が2であることに対応する前記符号の一形式であり、第6の符号は少なくとも8ビット幅で4の倍数となるビット幅を有し、符号列において先行する上位4ビットの値が10以上の所定値であることにより識別され、該4ビットに続く各4ビットについて、その4ビットの値において8以上の数値が検出されるまで各4ビットの下位3ビットを上位に向かって連接した数値に4を加算した値が前記反復数に対応する前記反復数符号の一形式であることを特徴とする。
【0014】
請求項16の本発明は、請求項10または請求項11に記載のデータ復号方法において、前記データ復号方法により復号される第1の符号は4ビット幅を有し、前記4ビットの数値が10未満であることにより識別され、前記数値に1を加算した値がランレングス数値に対応する前記符号の一形式であり、第2の符号は8ビット幅を有し、符号列において先行する上位4ビットの値が10以上の所定値であることにより識別され、下位5ビットの値に11を加算した値がランレングス数値に対応する前記ランレングス符号の一形式であり、第3の符号は少なくとも8ビット幅で4の倍数となるビット幅を有し、符号列において先行する上位4ビットの値が10以上の所定値であることにより識別され、該4ビットに続く各4ビットについて、その4ビットの値において8以上の数値が検出されるまで各4ビットの下位3ビットを上位に向かって連接した数値に43を加算した値がランレングス数値に対応する前記符号の一形式であり、第4の符号は4ビット幅を有し、該4ビットの数値が10以上の所定値であることにより識別され、前記反復数が1であることに対応する前記符号の一形式であり、第5の符号は4ビット幅を有し、該4ビットの数値が10以上の所定値であることにより識別され、前記反復数が2であることに対応する前記符号の一形式であり、第6の符号は少なくとも8ビット幅で4の倍数となるビット幅を有し、符号列において先行する上位4ビットの値が10以上の所定値であることにより識別され、該4ビットに続く各4ビットについて、その4ビットの値において8以上の数値が検出されるまで各4ビットの下位3ビットを上位に向かって連接した数値に4を加算した値が前記反復数に対応する前記反復数符号の一形式であることを特徴とする。
【0015】
請求項17の本発明は、請求項5または6に記載のデータ符号化装置において、前記第1の符号から第6までの符号を生成する符号化手段を備えたことを特徴とする。
請求項18の本発明は、請求項12または13に記載のデータ復号装置において、前記第1の符号から第6までの符号を復号する復号手段を備えたことを特徴とする。
請求項19記載の本発明の画像データ記録システムは、請求項10、請求項11または請求項15の何れか1項に記載されたデータ復号方法を画像形成装置に適用したことを特徴とする。
請求項20記載の本発明の画像データ記録システムは、請求項19に記載された画像形成装置がプリンタであることを特徴とする。
請求項21記載の本発明のコンピュータ読み取り可能な記録媒体は、請求項1から請求項4、または請求項15の何れか1項に記載されたデータ符号化方法をコンピュータに実行させるプログラムを記録したことを特徴とする。
請求項22記載の本発明のコンピュータ読み取り可能な記録媒体は、請求項10、請求項11または請求項17の何れか1項に記載されたデータ復号方法をコンピュータに実行させるプログラムを記録したことを特徴とする。
【0016】
前記のように構成されたデータの符号化方法は、請求項1によれば、生成される符号数を削減し、コンピュータ処理による擬似中間調画像のように色が短い周期で頻繁に変化するような画像データに対しても十分に高い圧縮率を得ることできる符号化方法を提供することができる。
前記のように構成されたデータの符号化方法は、請求項2によれば、前記制御をマイクロプロセッサによるソフトウェア処理で行うことによって十分高い処理速度を期待することが可能となるよう、代入、加算、及び、比較・分岐といった簡素な制御で実現することができる符号化方法を提供することができる。
前記のように構成されたデータの符号化方法は、請求項3によれば、前記制御をマイクロプロセッサによるソフトウェア処理で行っても十分高い処理速度を期待することが可能となるよう、色に基づく判断・分岐が不要で、且つ、代入、及び、比較・分岐といった簡素な制御で実現する画像データの符号化方法を提供することができる。
【0017】
前記のように構成されたデータの符号化方法は、請求項4によれば、ランレングス数値が0であることを表現する符号を不要とし、従って、より高い圧縮率を有する符号セットを利用可能とする符号化方法を提供することができる。
前記のように構成されたデータの符号化装置は、請求項5によれば、より高い圧縮率が達成可能な画像データの符号化装置を提供することができる。
前記のように構成されたデータの符号化装置は、請求項6によれば、前記制御をマイクロプロセッサによるソフトウェア処理で行っても十分高い処理速度を期待することが可能となるよう代入、減算、及び、比較・分岐といった簡素な制御で実現でき、処理が単純となり極めて高速な画像データの符号化装置を提供することができる。
前記のように構成されたデータの符号化装置は、請求項7によれば、極めて高い処理速度を期待することが可能な画像データの符号化装置を提供することができる。
前記のように構成されたデータ記録システムは、請求項8によれば、種々の場合に適応することが可能な画像データの符号化方法を用いるデータ記録システムを提供することができる。
【0018】
前記のように構成された画像形成装置は、請求項9によればプリンタであり、よって高速で且つ省メモリ対応可能なプリンタを提供することができる。
前記のように構成されたデータの復号方法は、請求項10によれば、迅速で且つ省メモリーが達成できるデータ復号方法を提供することができる。
前記のように構成されたデータの復号方法は、請求項11によれば、省メモリーで且つ迅速な画像データ復号方法を提供できる。
前記のように構成されたデータの復号装置は、請求項12によれば、省メモリーで且つ迅速な画像データ復号が可能な復号装置を提供することができる。
前記のように構成されたデータの復号装置は、請求項13によれば、迅速なデータ復号が可能で且つ省メモリーのデータ復号装置を提供することができる。
前記のように構成されたデータの復号装置は、請求項14に記載した通り、処理速度の高いデータ処理が可能であるとともにプロセッサに内在するメモリと兼用することができ、省メモリのデータ復号装置を提供することができる。
【0019】
前記のように構成されたデータの符号化方法は、請求項15に記載した通り、符号化生成に際して特殊なテーブル参照を必要とせず、それらの処理を代入、加減算、シフト、論理積、及び、比較・分岐といった簡素な制御で実現できる符号セットを導入するので、該制御をマイクロプロセッサによるソフトウェア処理で行っても十分高い処理速度を期待することが可能な画像データの符号化方法を提供することができる。更に、導入する各符号は処理を容易にハードウェア化できるよう4ビットまたはその倍数の符号長を有するものであり、ハードウェア処理とソフトウェア処理を組み合わせるようにすることで、同一の符号化方法を幅広い性能レンジに適応させることが可能である画像データの符号化方法を提供することができる。
前記のように構成されたデータの符号化及び復号方法は、請求項16に記載した通り、数値復号に際して特殊なテーブル参照を必要とせず、それらの処理を代入、加減算、シフト、論理積、及び、比較・分岐といった簡素な制御で実現できる符号セットを導入するので、該制御をマイクロプロセッサによるソフトウェア処理で行っても十分高い処理速度を期待することが可能な画像データの復号方法を提供することができる。更に、導入する各符号は処理を容易にハードウェア化できるよう4ビットまたはその倍数の符号長を有するものであり、ハードウェア処理とソフトウェア処理を組み合わせるようにすることで、同一の復号方法を幅広い性能レンジに適応させることが可能である画像データの復号方法を提供することができる。
【0020】
前記のように構成されたデータの符号化装置は、請求項17に記載した通り、画像の符号化において極めて効率的なデータ処理を行う符号化装置を提供することができる。
前記のように構成されたデータの復号装置は、請求項18に記載した通り、画像の復号において極めて効率的なデータ処理を行う復号装置を提供することができる。
前記のように構成されたデータ記録システムは、請求項19に記載した通り、擬似中間調のような色の交番の激しい画像にも適切に対応できる画像データ記録システムを提供することができる。
前記のように構成された画像形成装置は、請求項20に記載した通り、請擬似中間調のような色の交番の激しい画像にも適切に対応できる画像形成装置が提供できる。
請求項21、22に記載のコンピュータ読み取り可能な記録媒体は、記録媒体を利用することでコンピュータによってプログラムを読み取り可能とし、プログラムを実行することができる。
【0021】
【発明の実施の形態】
本発明の実施の形態を図面を参照しつつて詳細に説明する。
図1は本発明の基本的な原理を説明するための図である。以下に述べる原理は本発明の全ての請求項に共通するものであり、コンピュータ処理による擬似中間調画像のように色が短い周期で頻繁に変化するような画像データに対しても十分に高い圧縮率を得ることを意図して発案されている。
図1では、圧縮の対象となる画像データが6ドットの白で始まり、次に3ドットの黒、云々と続く場合を例としている。ランレングス数値の計測を白から始める場合、画像データを走査して得られる色毎に交互のランレングス数値列は図の“ランレングスL”に示すような値となり、この値が符号化装置に順次入力されるものとする。
前記ランレングス数値Lの値が同色の直前のランレングス数値に一致する場合を一致事象P(以下事象Pと称する)、一致しない場合を不一致事象Q(以下事象Qと称する)とし、事象Pが連続する数を反復数N(N≧1)とする。各ランレングス数値Lに対して、事象Pとなるか、或いは、事象Qとなるかを同図の“事象”の欄に示してある。また、各事象Pに対する前記反復数Nがどのような値をなるかを同図の“反復数N”欄に示してある。厳密には、画像データの最初の白の6ドットと最初の黒の3ドットには同色の直前のランレングス数値が存在しないため、何らかの方式定義を与えないと前記事象の判断を行うことができない訳であるが、ここでは単純に両者を事象Qと仮定する。
【0022】
本発明では、前記事象Qに対しては前記ランレングス数値Lの値を示すL符号を生成し、前記事象Pまたは事象Pの連続に対しては前記反復数Nに対応するN符号を生成する。生成される符号がL符号となるか、或いは、N符号となるかを同図の“符号”欄に示してある。同図から、容易に判断できるように、計10個のランレングス数値Lの数値入力に対して生成される符号は計6個となり、符号数の低下が可能となることがわかる。
前記の原理が意図した効果を奏するためには、事象Pが発生する確率と事象Pが連続する確率が十分に高いものである必要のあることは容易に理解できる。本願発明者の観測によれば、通常の文字原稿における事象Pの発生確率は15%程度、事象Pが連続する確率は25%程度に過ぎないが、これらをMH符号で圧縮すると90%程度の圧縮率が得られる。しかし、網掛け、円グラフのようなパターングラフィックス、あるいは写真イメージのような擬似中間調の画像等で色が短い周期で頻繁に変化するような要素が増えるに従って、事象Pの発生確率及び事象Pが連続する確率が著しく向上し、逆に、MH符号による圧縮率は著しく低下する傾向のあることが観測された。MH符号による圧縮率が38%と観測中最も低かった画像データにおける事象Pの発生確率は94%、事象Pが連続する確率は99%であった。言い換えるならば、元々高い圧縮率を期待できる画像データについては圧縮率の著しい改善は期待できないが、圧縮率の低さが問題となるような画像データに対して圧縮率の著しい改善が見込まれる訳であり、これは少なくとも1ページ分の画像データを圧縮できるメモリ容量がコストを支配する主要な要因となる省メモリ機構にとって非常に好適な性質と言える。
【0023】
図2は本発明による符号化装置及び復号装置を画像形成装置に適用した一実施例を示す構成図である。図2には本件発明が適用される周知のプリンタ装置1が示されている。パーソナルコンピュータ等のホストマシーン2からの画像データがホストI/F3を介してコントローラー4に入力される。この際の画像データの一例が前出の図1に示されたランレングス数値Lに該当する。5はオペレーショナルパネル、6はパネルI/F、7はフオントROM、8はNV−RAM、9はオプションRAM、10はプリンタエンジン11にデータを送り込む際のエンジンI/Fである。12は、例えばFDやICカードもしくはネットワーク上から導入される記録媒体13に書き込まれたプログラムをプリンタ装置1に導入するための入力装置である。14はプログラムROM、15はRAM、16は制御手段としてのCPUであり、このプログラムROM14、RAM15、CPU16により、本発明の最も主要な特徴部分である符号化装置17及び復号装置18が構成されており、この部分を図上黒太枠で囲んである。
【0024】
本実施例の符号化装置および復号装置を、図3の(a)及び(b)に示す。
図3(a)は本件発明の符号化装置の内部構成であり、19はランレングス記憶手段A、20はランレングス記憶手段B、21はランレングス記憶手段L、22は判別手段、23は反復数記憶手段及び演算手段、24はランレングス符号生成手段、25は反復数符号生成手段、26は符号化手段である。この構成の動作に関しては、図4等を用いて以降に説明する。
図3(b)は、前出の符号化方法及び装置により符号化された符号列を復号する方法及び装置に関するものである。30は復号側ランレングス記憶手段A、31は復号側ランレングス記憶手段B、27は復号にあたり、符号列の数値と属性とを判別する復号数値・属性判別手段と記憶するための復号数値・属性記憶手段を含む復号数値・属性判別記憶手段であり、28は復号手段、29は復号側ランレングス値記憶手段L及び復号側ランレングス値出力手段を含むランレングス値生成手段、32は復号側反復数記憶手段及び復号側演算手段である。この構成に関する動作も、図4等を用いて以降に説明する。
【0025】
図4は本発明による符号化方法の一実施例を示すフロー図である。
本図は、請求項1の実施例でもあるが、同時に、請求項2記載の符号生成に関する各段階、及び、請求項3より請求項4記載の事象識別に関する各段階を含むものとする。
まず、同図に用いられている記号について説明する。
A及びBは、色数分のランレングス数値を記憶・参照するための一時記憶である。
Cは、初期化段階において前記A及びBに代入される定数を意味する。
Lは、画像データを走査して得られるランレングス数値を記憶・参照するための一時記憶である。
Nは、前記反復数、即ち、前記事象Pの連続する数を記憶・参照するための一時記憶である。
本実施例をソフトウェアで構成する場合には、前記A、B、L、及び、Nは適切な一時記憶手段を用いればよいが、特にマイクロプロセッサの汎用レジスタを用いることが処理速度向上の観点から好ましい。また、前記定数Cと制御の各段階はプログラム即ち命令コードとして適切な記憶手段を用いればよい。
【0026】
以下、図4の各段階に沿って本実施例の動作を説明する。
符号化開始により、まず、ステップ10においてA及びBに所定の定数Cを、Nに“0”を代入する。本実施例ではA及びBに同一の値Cを代入しているが、AとBに対して別個の値を代入しても構わない。次に、ステップ11において1個のランレングス数値を取得し、Lに格納する。次に、ステップ12においてAとランレングス数値Lの値を比較し、一致する場合にはステップ16へ、不一致である場合にはステップ13へと分岐する。この判断は、前記事象P及び事象Qの識別に相当する。
AとLが一致した場合、つまり事象Pの場合、ステップ16では反復数Nの値を“1”増加させる。この処理は事象Pが発生した場合には反復数Nを表わすN符号を生成するためにNを計数するとともに、符号生成を保留していることに他ならない。
AとLが不一致であった場合、つまり事象Qの場合には、先ず、ステップ13においてNと“0”とを比較し、Nが“0”でない場合、即ち符号生成を保留されている場合には、ステップ14においてその時点でのN値に対応するN符号を生成し、ステップ15においてNの値を“0”に戻すことで保留状態を解消する。ステップ15の次、または、先のステップ13でNが“0”であった場合、即ち、符号生成保留のない時点で、ステップ17においてその時点でのL値に対応するL符号を生成する。
【0027】
事象Pまたは事象Qに対応する前記の処理の次に、ステップ18において、Aの内容をその時点でのBの値に更新し、Bの値をその時点でのLの値に更新する。
次に、ステップ19により全対象画像データに対する処理が終了したか否かを判断し、画像データが残されている場合には前記ステップ11に分岐して前記ステップ18に至る制御を繰り返し、画像データが終了した時点でステップ20へと進む。
ステップ20においてNと“0”とを比較し、Nが“0”でない場合、即ち符号生成を保留されている場合には、ステップ21においてその時点でのN値に対応するN符号を生成して保留状態を解消する。ステップ21の次、または、先のステップ20でNが“0”であった場合、即ち、符号生成保留のない時点で符号化処理を完了する。
以上の説明により、本実施例によるならば、簡素な制御のみで、事象Qに対してはランレングス数値Lを示すL符号が生成され、事象Pまたは事象Pの連続に対しては反復数Nに対応するN符号が生成され得ることが理解できる。特に、事象P及び事象Qの判断に際しては、前記A及びBの一時記憶を色に特定して設けるのではなく、ステップ18から明らかなように、色とは無関係に順送りする手法を用いているので、ステップ18及びステップ12において色に基づく判断が不要となっており高速処理に寄与できる。
【0028】
前記図1に関する説明においては、第1のランレングス数値と第2のランレングス数値には同色の直前のランレングス数値が存在しないため、何らかの方式定義を与えないと事象の判断を行うことができないことを述べたが、本実施例においては、フロー図を追跡すれば容易に理解できるように、第1のランレングス数値については前記Aの初期値と、第2のランレングス数値については前記Bの初期値との比較が行われ、一致する場合が事象P、一致しない場合が事象Qとなることがわかる。
請求項4記載の発明は、前記Aの初期値として“0”を代入するものである。該内容を本実施例に適用するならば、前記の説明から明らかなように、第1のランレングス数値が“0”である場合に事象Pが発生するという特徴を得ることが可能となる。一般的に少なくとも1ドット以上の画像データを走査して色毎に交互のランレングス数値を生成する場合、ランレングス数値が“0”となるのは、白から測定を始めて画像が黒から始まる場合と、黒から測定を始めて画像が白から始まる場合のみであり、測定開始色を定めればいずれか一方となることがわかる。それ以降のランレングス数値は“1”以上の値を持つので、“0”なる値の発生頻度は非常に低いことがわかる。そこで、この“0”というランレングス数値を事象PとみなしてN符号で符号化させると、L符号において“0”なる値を表現する必要がなくなるという特徴を得ることができる。後述する符号セットは実際に、“0”を表現するL符号を定義しないものである。
【0029】
なお、以上の説明では、ステップ11に示すランレングス測定及びこれに関連するステップ19に示すデータ終了判断の手順、及び、ステップ14、ステップ17、及び、ステップ21に示す符号生成に関する詳細な制御手順は省略してある。ランレングス測定及びこれに関連するデータ終了判断に関しては、当業者にとっては十分公知の技術であるため省略するものとする。符号生成に関する制御手順を示すためには、先に具体的符号セットを定義する必要があるため、後述するものとする。
図5は本発明による復号方法の一実施例を示すフロー図である。
まず、同図に用いられている記号について説明する。A及びBは、色数分のランレングス数値を記憶・参照するための一時記憶である。Cは、初期化段階において前記A及びBに代入される定数である。Lは、画像データを走査して得られるランレングス数値を記憶・参照するための一時記憶である。Nは、前記反復数、即ち、前記事象Pの連続する数を記憶・参照するための一時記憶である。Wは、符号単位から復号した数値を記憶・参照するための一時記憶である。Vは、前記Wの内容がランレングス数値(V=0)であるか反復数(V=1)であるかを示すフラグ情報のための一時記憶である。
前出の符号化方法の場合と同様に、本実施例をソフトウェアで構成する場合には、前記A、B、L、及び、Nは適切な一時記憶手段を用いればよいが、特にマイクロプロセッサの汎用レジスタを用いることが処理速度向上の観点から好ましい。また、前記定数Cと制御の各段階はプログラム、即ち命令コードとして適切な記憶手段を用いればよい。
【0030】
以下、同図の各段階に沿って本実施例の動作を説明する。
復号開始により、まず、ステップ30においてA及びBに所定の定数Cを代入する。正しい復号が行われるためには、各々に代入される定数は符号化において同名の一時記憶に代入される値と一致するものである必要がある。次に、ステップ31において一個の符号単位を読み出し、復号して、Wに復号した数値を、該数値の属性、即ち反復数か否かをVに格納する。次に、ステップ32において該Vの値を用いて数値Wの属性を判定し、ランレングス数値であれば(V=0)処理38へ、反復数であれば(V=1)ステップ33へと分岐する。ランレングス数値が得られた場合には、まず、ステップ38において前記Wの値をLに代入してランレングス数値として出力し、ステップ39においてAの値をその時点でのBの値に更新し、Bの値をその時点でのLの値に更新し、ステップ40へと進む。
反復数が得られた場合には、まず、ステップ33において前記Wの値をNに格納し、次にステップ34においてその時点でのAの値をLに代入してランレングス数値として出力し、次にステップ35においてAの値をその時点でのBの値に更新し、Bの値をその時点でのLの値に更新し、次にステップ36においてNの値を“1”減じ、次にステップ37においてNの値を検査してNが“0”となるまでステップ34よりステップ36までを繰り返し、Nが“0”となった時点でステップ40へと進む。
【0031】
次に、ステップ40により全対象符号列に対する処理が終了したか否かを判断し、符号データが残されている場合には前記ステップ31に分岐してステップ40に至る制御を繰り返し、符号データが終了した時点で復号処理を終了する。
以上の説明により、本実施例によるならば、簡素な制御のみで、前記L符号とN符号とで構成される符号列データから元のランレングス数値列が生成され得ることが理解できる。
但し、本実施例は具体的な数値復号手段を特定しないものであるため、最適の状態とはなっていない点に注意が必要である。即ち、該手段と本実施例を組み合わせて一連の処理とするならば、前記WやVといった一時記憶を経由する必然性がないためである。
以上の説明では、ステップ34、ステップ38に示すランレングス数値出力を画像データに戻すための及びこれに関連するステップ40に示すデータ終了判断の手順、及び、ステップ31に関する詳細な制御手順は省略してある。前記描画手段及びこれに関連するデータ終了判断は、当業者にとっては十分公知の技術であるため省略するものとする。数値復号手段に関する制御手順を示すためには、先に具体的符号セットを定義する必要があるが、これについては後述するものとする。
【0032】
図6は、本発明の符号化・復号方法に用いる符号セットの一実施例を示す図である。本実施例の符号セットは、図に示すように、6形式の符号単位から構成される。第1の符号形式L1より第3の符号形式L3まではランレングス数値を表わすL符号であり、第4の符号形式N1より第6の符号形式N3までは反復数を表わすN符号である。
第1の符号形式L1は4ビット幅を有し、該4ビットの数値が“10”未満であることにより識別され、該数値に“1”を加算した値がランレングス数値Lに対応する。
第2の符号形式L2は8ビット幅を有し、符号列において先行する上位4ビットの値が“11”または“12”であることにより識別され、下位5ビットの値に“11”を加算した値がランレングス数値Lに対応する。
第3の符号形式L3は少なくとも8ビット幅で4の倍数となるビット幅を有し、符号列において先行する上位4ビットの値が“12”であることにより識別され、該4ビットに続く各4ビットについて、その4ビットの値において“8”以上の数値が検出されるまで各4ビットの下位3ビットを上位に向かって連接、即ちつなぎ合わせをした数値に“43”を加算した値がランレングス数値Lに対応する。
【0033】
第3の符号形式L3の右端に記載した数式、即ちL={Fn,…,F1,F0}+43は、代表的なハードウェア記述言語であるヴェリログ(Verilog;米国Cadence社の登録商標)の表現を用いたもので括弧の内部で、カンマで区切られたFn等の各要素を記述された順序で連接し1個の数値とすることを意味するものである。
第4の符号形式N1は4ビット幅を有し、該4ビットの数値が“13”であることにより識別され、前記反復数Nが“1”であることに対応する。
第5の符号形式N2は4ビット幅を有し、該4ビットの数値が“14”であることにより識別され、前記反復数Nが“2”であることに対応する。
第6の符号形式N3は少なくとも8ビット幅で4の倍数となるビット幅を有し、符号列において先行する上位4ビットの値が“15”であることにより識別され、該4ビットに続く各4ビットについて、その4ビットの値において“8”以上の数値が検出されるまで各4ビットの下位3ビットを上位に向かって連接、即ちつなぎ合わせした数値に“4”を加算した値が前記反復数Nに対応する。第6の符号形式N3の右端に記載した数式、即ちN={Fn,…,F1,F0}+4は、代表的なハードウェア記述言語である例えばヴェリログ(Verilog;米国Cadence社の登録商標)の表現を用いたもので括弧の内部で、カンマで区切られたFn等の各要素を記述された順序で連接し1個の数値とすることを意味するものである。
【0034】
反復数Nが“3”に対応する符号は明示されていないが、N1符号(N=1)とN2符号(N=2)を組み合わせて用いるものとする。これらの組み合わせで構成される符号量は8ビットであり、N3形式の符号の最低符号量と同じとなり、この組み合わせ表現を用いることで、ある符号量を持つN3符号が対応する値域を上げることが可能となるためである。
また、ランレングス数値が“0”となる符号もまた明示されていないが、この問題は請求項4に記載した発明を用いて、その符号自体を不要とすることが好適である。但し、本実施例の符号形式は表現可能な値域を原理的に制約するものではなく、L3符号やN3符号を用いるならば任意の整数を表現できるという特徴が存在する点に注意されたい。なぜならば、数値を復号するための処理に用いられる一時記憶は有限のビット幅を有するものであり、一方、L3符号やN3符号の長さには制限がないので、連接と加算による処理の結果が桁上がりにより“0”や負数となるような符号を生成することができるからである。
【0035】
本願発明者の観測によるならば、本実施例の符号セットを用いた符号化により非常に優れた圧縮率が観測された。文字のみの画像データについてはMH方式とほぼ同等の圧縮率が観測され、擬似中間調画像のように色が短い周期で頻繁に変化するような画像データについてはMH方式に比べて著しく高い圧縮率が観測された。先に述べたように、MH符号による圧縮率が観測中最も低かった画像データの圧縮率は38%であったが、本方式により92%に改善された。
前記に具体的符号セットの実施例を導入したことで、以下、この符号セットの使用を前提に、符号化方法に関するL符号生成方法の実施例、N符号生成方法の実施例、及び、復号方法に関して数値復号方法の実施例を順次説明する。
【0036】
図7は前記事象Qに呼応してランレングス符号を生成する制御の実施例を示すフロー図である。
これは前出の図4のステップ17を具体化したものであり、入力である一個のランレングス数値Lを前記図6に記載した符号セットのL1〜L3形式のいずれか一つに変換する。同図において、“K(n)←X;”なる代入式は、“X”の下位“n”ビットを符号として出力することを意味するものとする。また、“W”は前記L3符号を生成する処理に用いる一時記憶である。
L符号生成処理が開始されると、即ち、ある一個のランレングス数値Lが入力されると、まず、ステップ50において、該ランレングス数値Lが“10”以下であるか否かを判断し、“10”以下である場合には、ステップ51において、該ランレングス数値Lから“1”を減じた値の下位4ビットを符号として出力し、符号生成処理を終了する。生成される符号は4ビット幅で、この減算の結果、その値は“10”未満であり、その値に“1”を加えたものがランレングス数値Lを表わすことから、前記L1符号に他ならないことがわかる。
前記ステップ50において、ランレングス数値Lが“11”以上の値であると判断される場合には、次にステップ52においてランレングス数値Lが“42”以下であるか否かが判断され、“42”以下である場合には、ステップ53において、該ランレングス数値Lに“149”を加えた値の下位8ビットを符号として出力し、符号生成処理を終了する。ランレングス数値Lと符号値を対応づける代入式“K(8)←L+149”を、“K(8)←L−11+160”と展開すれば、これが前記L2符号に他ならないことが容易に理解できる。ランレングス数値Lは“11≦L≦42”の値域を有するので“0≦L−11≦31”となり前記L2符号の数値部F、即ち下位5ビットに相当し、“160”を2進数表現するならば“10100000”であって、上位3ビットが符号固有の定数に相当する。
【0037】
前記ステップ52において、ランレングス数値Lが“43”以上の数値であると判断された場合には、まず、ステップ54において“12”なる数値を4ビットの符号として出力する。“12”を2進数表現するならば“1100”であり、これは、前記L3符号開始を識別するための定数に他ならない。次に、ステップ55において、Wにランレングス数値Lから“43”を減じた数値を代入する。以下、このWの値を用いて、L3符号の数値部を生成する制御は、まず、ステップ56においてWの値が“8”未満であるか否かを判断し、“8”以上である場合にはステップ57において該W値と定数“7”とのビット毎の論理積をとった値の下位4ビットを符号として出力し、次にステップ58において該Wの値を下位側、即ち右に3ビットシフトした値で更新し、前記ステップ56においてWの値が“8”未満となるまで、これらステップ57及びステップ58を繰り返し、前記ステップ56においてWの値が“8”未満となった時点で、ステップ59においてWに定数“8”を加えた値の下位4ビットを符号として出力して符号生成処理を終了するという各段階を含む。定数“7”を2進数表現すれば“0111”であり、ステップ57において生成される符号は常に“8”未満の数値となり、以降にWの数値断片を表わす符号が連続することを明示し、一方、定数“8”を2進数表現すれば“1000”であり、ステップ59において生成される符号は常に“8”以上の数値となり、該符号が数値部の最後のものであることを明示する訳である。
【0038】
図8は前記事象Pまたは事象Pの連続に呼応して前記反復数に対応するN符号を生成する制御の実施例を示すフロー図である。
これは、前出の図4のステップ14及びステップ21を具体化したものであり、入力である一個の反復数Nを前記図6に示した符号セットのN1〜N3形式のいずれか一つに変換する。
図7同様、同図において、“K(n)←X;”なる代入式は、“X”の下位“n”ビットを符号として出力することを意味するものとする。また、“W”は前記N3符号を生成する処理に用いる一時記憶である。
N符号生成処理が開始されると、即ち、ある一個の反復数Nが入力されると、まず、ステップ60において該N値が“3”未満であるか否かを判断し、“3”未満、即ちNが“1”または“2”である場合には、ステップ61において、該N値に“12”を加えた値の下位4ビットを符号として出力し、符号生成処理を終了する。生成される符号は4ビット幅で、Nの値が“1”である場合には“13”、Nの値が“2”である場合には“14”となり、それぞれ、前記N1符号及びN2符号に他ならないことがわかる。
前記ステップ60において、ランレングス数値Lが“3”以上の値であると判断される場合には、次にステップ62においてN値が“3”であるか否かが判断され、“3”である場合には、ステップ63において、定数“222”の下位8ビットを符号として出力し、符号生成処理を終了する。定数“222”を2進数表現するならば“11011110”であり、これは、前記N1“1101”(N=1)符号と前記N2符号“1110”(N=2)とを連接したものであり、前記のように、Nの値が“3”であることに対応する。原理的にN2符号が上位でN1符号が下位であっても構わず、従って、ステップ63において用いられる定数は“237”即ち2進数の“11101101”であっても構わない。
【0039】
前記ステップ62において、ランレングス数値Lが“4”以上の数値である場合には、まず、ステップ64において“15”なる数値を4ビットの符号として出力する。“15”を2進数表現するならば“1111”であり、これは、前記N3符号開始を識別するための定数に他ならない。次に、ステップ65において、WにN値から“4”を減じた数値を代入する。以下、このWの値を用いて、N3符号の数値部を生成する制御は、まず、ステップ66においてWの値が“8”未満であるか否かを判断し、“8”以上である場合にはステップ67において該W値と定数“7”とのビット毎の論理積をとった値の下位4ビットを符号として出力し、次にステップ68において該Wの値を下位側即ち右に3ビットシフトした値で更新し、前記ステップ66においてWの値が“8”未満となるまで、これらステップ67及びステップ68を繰り返し、前記ステップ66においてWの値が“8”未満となった時点で、ステップ69においてWに定数“8”を加えた値の下位4ビットを符号として出力して符号生成処理を終了するという各段階を含む。定数“7”を2進数表現すれば“0111”であり、ステップ57において生成される符号は常に“8”未満の数値となり、以降にWの数値断片を表わす符号が連続することを明示し、一方、定数“8”を2進数表現すれば“1000”であり、ステップ69において生成される符号は常に“8”以上の数値となり、該符号が数値部の最後のものであることを明示する訳である。
【0040】
図9は前記符号化方法により生成された符号列データから一個の符号単位を入力し、ランレングス数値または反復数値に復号する制御の実施例を示すフロー図である。
これは、前出の図5のステップ31を具体化したものであり、入力である一個の符号単位から、復号した数値Wと該Wの内容がランレングス数値(V=0)であるか反復数(V=1)であるかを示すフラグ情報Vを出力する。
同図において、“K←符号入力;”なる代入式は、一時記憶Kの下位4ビットに順次符号列データの4ビットが代入され、Kの持つビット幅に応じて、その上位には“0”が補充されるものを意味する。なお、“U”はL3符号またはN3符号の数値復元に用いられる一時記憶である。
数値復号の処理が開始されると、まず、ステップ70において符号の最初の4ビットを入力しKに代入する。次に、ステップ71において、該K値が“13”未満であるか否かを判別する。前記図6から明らかなように、この判別は数値復元を行う対象符号がランレングス数値(K≦12)であるか、反復数値(K>12)であるかを識別するものである。
前記ステップ71でKが“13”未満である場合、即ち、符号がランレングス数値である場合には、まず、ステップ72においてフラグVに“0”を格納し、以降に復号する値Wがランレングス数値であることを示す。次に、ステップ73において前記K値が“10”未満であるか否かを判別する。K値が“10”未満であれば、前記L1符号であることが確定するので、ステップ74においてWにK値に“1”を加えた値を代入して数値復号処理を終了する。前記ステップ73において、Kが10以上の値を示す場合には、ステップ75において、前記K値が“12”であるか否かを判別する。K値が“12”でない場合には、前記L2符号であることが確定するので、ステップ76において、Kを左に4ビットシフトした値をWに代入し、次の符号4ビット分をKに読み取って、該Wに該Kを加えた値から定数“149”を減じた値をWに代入して数値復号処理を終了する。L2符号に関するこれらの処理は、8ビット符号の値から定数“149”を減じた値を復号値とするものであり、符号化においてランレングス数値に定数“149”を加えた値を符号とした図6のステップ53の逆操作となっていることが容易に理解できる。前記ステップ75においてK値が“12”である場合には、前記L3符号であることが確定するので、まず、ステップ77において一時記憶Uに定数“43”を格納する。この数値は以降の数値部から得られる数値をランレングス数値に復号するために加算されるべきオフセット値であり、符号化において数値部の符号化に先立って、ランレングス数値から定数“43”を減じた図6のステップ55の逆操作を行うためのものである。以下、数値部を復号するための制御は、まず、ステップ82においてWに“0”を格納し、次に、ステップ83において次の符号4ビット分をKに読み取り、次にステップ84においてKの値が“8”未満であるか否かを判断し、“8”未満である場合にはステップ85においてW値に該K値を加算し、次にステップ86において該Wの値を上位側、即ち左に3ビットシフトした値で更新し、前記ステップ84においてKの値が“8”未満となるまで、これらステップ83よりステップ86までを繰り返し、前記ステップ84においてKの値が“8”以上となった時点で、ステップ87においてWにKを加算し、定数“8”を減じ、更に前記U値を加算した値をWに代入して数値復号処理を終了する。
【0041】
一方、前記ステップ71でKが“13”以上である場合、即ち、符号が反復数である場合には、まず、ステップ78においてフラグVに“1”を格納し、以降に復号する値Wが反復数であることを示す。次に、ステップ79において前記K値が“15”であるか否かを判別する。K値が“15”に一致しない場合には、前記N1符号または前記N2符号であることが確定するので、ステップ80において、WにK値から“12”を減じた値を代入して数値復号処理を終了する。これにより、入力した符号がN1(“13”)である場合には“1”、N2(“14”)である場合には“2”なる反復数が復号されることは容易に理解できる。また、先のステップ79において前記K値が“15”である場合には、前記N3符号であることが確定するので、ステップ81において一時記憶Uに“4”を代入し、以下、L3符号に関して前記に説明したステップ82よりステップ87に至る制御を用いて数値を復号し、Wに代入して数値復号処理を終了する。
前記の数値復号制御の実施例は、先に図5を用いて説明した復号方法との関連で、復号した数値Wと該Wの内容がランレングス数値(V=0)であるか反復数値(V=1)であるかを示すフラグ情報Vを出力するよう構成した。しかし、先にも述べたように、復号制御と数値復号制御とを分離する必然性はなく、一体化することがむしろ当然である。同様の事柄は、図4を用いて説明した符号化手順と、図7及び図8を用いて説明した符号生成手順についても当てはまる。
一体化する場合には、前記のような入出力の方法をとる必然性はなく、より簡素な手順に組み替えることが可能である。但し、最終的にどのような手順とするのが最適であるかは、その実施形態によるところが大きく、また当業者にとっては容易に最適化できるものであるので詳細な実施例は省略するものとする。
以上の実施例で、本発明による符号化及び復号方法の制御手順を説明した訳であるが、以下、図を用いて具体的な符号化及び復号の動作例を説明する。
【0042】
図10は、本発明による符号化の動作例を説明するための図である。同図に示すように、圧縮の対象となる画像データが3ドットの黒で始まり、次に41ドットの白、云々と続く場合を例としている。ランレングスの計測は白から始めるものとする。図10には、10個のランレングス数値が示してあるが、計測を白から始めるため、最初に入力されるランレングス数値は“0”となり、以後、図示した10個の数値が続くため、合計11個のランレングス数値が入力されることになる。
10個のランレングス数値を示した図の下の表は、符号化の動作をステップ順に説明する表である。表形式の部分において、“段階”欄は符号化のステップを“S1”より“S12”までのステップで説明するための記号を示す欄である。“S1”より“S11”の各段階は、前記合計11個のランレングス数値が入力された時点に相当し、“S12”は符号化終了時点に相当する。“L”欄は前記“S1”より“S11”の各時点で入力されたランレングス数値を表わし、“B”欄は前記“S1”より“S11”の各時点での前記一時記憶Bの内容を表わし、“A”欄は前記“S1”より“S11”の各時点での前記一時記憶Aの内容を表わし、“L=A”欄は前記“S1”より“S11”の各時点で“L=A”が成立するか否かを表わし、成立する場合である(YES)が前記事象Pの発生を、不成立の場合である(NO)が前記事象Qの発生に相当し、“N”欄は前記“S1”より“S11”の各時点での前記一時記憶Nの内容を表わし、“符号生成”欄は、次の段階に至るまでに生成する符号の内容を表わし、“符号(16進)”欄は生成される符号を16進数で表わしたものである。
【0043】
前記にも説明したように、段階S1より段階S11において入力されるL値は“0”、“3”、“41”、云々と表に示す値となる。A及びBには初期値“0”が代入されており、各段階を移行する間に、AにBの値が、BにLの値が代入されるので、段階S1より段階S11におけるA及びBの値は表に示す値となる。
段階S2、段階S3、及び段階9においてはLとAとが不一致となり事象Qが発生するが、段階S12を除くその他の段階では一致して事象Pが発生する。
事象Pの発生する各段階では、符号を発生せず、反復数Nの値を“1”増加させるが、その値は次の段階に反映されている。例えば段階S1において検出される事象Pの処理結果として、符号生成は行われず、段階S2においてN=1が反映されるのみとなる。また、段階S4より段階S8までのように事象Pが5個連続する場合には、該当期間において符号生成は行われず、段階S9においてN=5が反映されるのみとなる。
【0044】
最初に事象Qが発生する段階S2では、Nの値が“1”であるため、まず、N1符号(‘D’)が生成され、Nに“0”が代入され、次に“L=3”を表わすL1符号(‘2’)が生成される。
次に事象Qが発生する段階S3では、Nの値が“0”に戻っているため、“L=41”を表わすL2符号(‘BE’)のみが生成される。
次に事象Qが発生する段階S9では、Nの値が“5”であるため、まず、“N=5”を表わすN3符号(‘F9’)が生成され、Nに“0”が代入され、次に“L=443”を表わすL3符号(‘C02E’)が生成される。
段階S10及び段階S11において2個のランレングス数値が入力されるが、ともに事象Pが発生し、符号生成を保留したまま入力完了となる。
入力完了となった段階S12においては、Nの値が“2”となっているため、“N=2”を表わすN2符号(‘E’)が生成され、符号化完了となる。
【0045】
図11は本発明によるL3符号生成の動作例を説明するための図である。前記、図10の段階S9の例に合わせて、“L=443”なるランレングス数値を‘C02E’(16進数)なる符号に符号化する例を図6の符号生成制御の各段階に対応して説明するものである。表形式の部分において、“段階”欄は符号生成のステップを“T1”より“T10”までのステップで説明するための記号を示す欄であり、括弧内に示す数字は図6において括弧書きされているステップ記号に対応する。
“Wの値”欄は各ステップにおける一時記憶Wの値を2進数と10進数で示す欄である。“W<8の判定”欄は、図7のステップ56の判定結果を示す欄である。“符号生成(16進数)”欄は、該当する段階で生成される符号を16進数で示す欄である。符号化処理が開始されると、L>42であるため、まず、段階T1においてL3符号を識別する定数である‘C’(16進数)を4ビットの符号として出力する。次に段階T2において“L−43”即ち“400”なる値をWに代入する。次に、段階T3では、“W≧8”であるため、続く段階T4においてWと定数“7”の論理積の下位4ビット即ち‘0’(16進数)を符号として出力し、続く段階T5においてWを右に3ビット分シフトした値即ち“50”でWを更新する。
次に、段階T6では、“W≧8”であるため、続く段階T7においてWと定数“7”の論理積の下位4ビット即ち‘2’(16進数)を符号として出力し、続く段階T8においてWを右に3ビット分シフトした値即ち“6”でWを更新する。
次に、段階T9では、“W<8”であるため、続く段階T10においてWに“8”を加えた値の下位4ビット即ち‘E’(16進数)を符号として出力し、符号化を完了する。
【0046】
図12は、データ復号の動作例を説明するための図である。
前記図12による符号化の動作例の結果として出力される符号列データを順次入力して、色毎に交互のランレングス値数列を出力する場合を例に説明するものである。表形式の部分において、“段階”欄は復号のステップを“Y1”より“Y14”までのステップで説明するための記号を示し、“符号入力(16進)”欄は、該当する段階で入力される符号を16進数で示し、“L”欄はランレングス数値を表わし、“N”欄は各時点における反復数の一時記憶Nの値を表わし、“B”欄は各時点における前記一時記憶Bの値を表わし、“A”欄は各時点における前記一時記憶Aの値を表わす。
復号が開始されると、A及びBに初期値として“0”が代入される。次に、段階Y1において、符号‘D’を読み込み、これはN1符号であるので、Nに該符号の復号値である“1”を代入する。入力されたのが反復数であるため、次に、段階Y2において、LにAの値を代入してランレングス数値として出力し、NをNから“1”減じた値で、AをBの値で、BをLの値で夫々更新する。Nが“0”となったため、次に、段階Y3において、符号‘2’を読み込み、これはL1符号であるので、Lに該符号の復号値である“3”を代入してランレングス数値として出力し、AをBの値で、BをLの値で夫々更新する。
【0047】
次に、段階Y4において、符号‘BE’を読み込み、これはL2符号であるので、Lに該符号の復号値である“41”を代入してランレングス数値として出力し、AをBの値で、BをLの値で夫々更新する。次に、段階Y5において、符号‘F9’を読み込み、これはN3符号であるので、Nに該符号の復号値である“5”を代入する。次に、段階Y6より段階Y10において、LにAの値を代入してランレングス数値として出力し、NをNから“1”減じた値で、AをBの値で、BをLの値で夫々更新する段階を、Nが“0”となるまで計5回分繰り返す。次に、段階Y11において、符号‘C02E’を読み込み、これはL3符号であるので、Lに該符号の復号値である“443”を代入してランレングス数値として出力し、AをBの値で、BをLの値で夫々更新する。
入力されたのが反復数であるため、次に、段階Y12において、符号‘E’を読み込み、これはN2符号であるので、Nに該符号の復号値である“2”を代入する。
入力されたのが反復数であるため、次に、段階Y13より段階Y14において、LにAの値を代入してランレングス数値として出力し、NをNから“1”減じた値で、AをBの値で、BをLの値で夫々更新する段階を、Nが“0”となるまで計2回分繰り返す。
表の“L”欄を見れば明らかに、以上の動作により、図12の例で符号化処理に入力された計11個のランレングス数値が順次復号されていることがわかる。
【0048】
【発明の効果】
本発明は、以上説明したように構成されているので、
請求項1によれば、生成される符号数を削減し、コンピュータ処理による擬似中間調画像のように色が短い周期で頻繁に変化するような画像データに対しても十分に高い圧縮率を得ることできる符号化方法を提供することができた。
請求項2によれば、記制御をマイクロプロセッサによるソフトウェア処理で行うことによって十分高い処理速度を期待することが可能となるよう、代入、加算、及び、比較・分岐といった簡素な制御で実現することができる符号化方法を提供することができた。
請求項3によれば、前記制御をマイクロプロセッサによるソフトウェア処理で行っても十分高い処理速度を期待することが可能となるよう、色に基づく判断・分岐が不要で、且つ、代入、及び、比較・分岐といった簡素な制御で実現する画像データの符号化方法を提供することができた。
請求項4によれば、ランレングス数値が0であることを表現する符号を不要とし、従って、より高い圧縮率を有する符号セットを利用可能とする符号化方法を提供することができた。
【0049】
請求項5によれば、より高い圧縮率が達成可能な画像データの符号化装置を提供することができた。
請求項6によれば、前記制御をマイクロプロセッサによるソフトウェア処理で行っても十分高い処理速度を期待することが可能となるよう代入、減算、及び、比較・分岐といった簡素な制御で実現でき、処理が単純となり極めて高速な画像データの符号化装置を提供することができた。
請求項7によれば、極めて高い処理速度を期待することが可能な画像データの符号化装置を提供することができた。
請求項8によれば、種々の場合に適応することが可能な画像データの符号化方法を用いるデータ記録システムを提供することができた。
請求項9によれば、高速で且つ省メモリ対応可能なプリンタを提供することができた。
【0050】
請求項10によれば、迅速で且つ省メモリーが達成できるデータ復号方法を提供することができた。
請求項11によれば、省メモリーで且つ迅速な画像データ復号方法を提供できた。
請求項12によれば、省メモリーで且つ迅速な画像データ復号が可能な復号装置を提供することができた。
請求項13によれば、迅速なデータ復号が可能で且つ省メモリーのデータ復号装置を提供することができた。
請求項14によれば、処理速度の高いデータ処理が可能であるとともにプロセッサに内在するメモリと兼用することができ、省メモリのデータ復号装置を提供することができた。
請求項15によれば、符号化生成に際して特殊なテーブル参照を必要とせず、それらの処理を代入、加減算、シフト、論理積、及び、比較・分岐といった簡素な制御で実現できる符号セットを導入するので、該制御をマイクロプロセッサによるソフトウェア処理で行っても十分高い処理速度を期待することが可能な画像データの符号化方法を提供することができる。更に、導入する各符号は処理を容易にハードウェア化できるよう4ビットまたはその倍数の符号長を有するものであり、ハードウェア処理とソフトウェア処理を組み合わせるようにすることで、同一の符号化方法を幅広い性能レンジに適応させることが可能である画像データの符号化方法を提供することができた。
【0051】
請求項16によれば、数値復号に際して特殊なテーブル参照を必要とせず、それらの処理を代入、加減算、シフト、論理積、及び、比較・分岐といった簡素な制御で実現できる符号セットを導入するので、該制御をマイクロプロセッサによるソフトウェア処理で行っても十分高い処理速度を期待することが可能な画像データの復号方法を提供することができる。更に、導入する各符号は処理を容易にハードウェア化できるよう4ビットまたはその倍数の符号長を有するものであり、ハードウェア処理とソフトウェア処理を組み合わせるようにすることで、同一の復号方法を幅広い性能レンジに適応させることが可能である画像データの復号方法を提供することができた。
請求項17によれば、画像の符号化において極めて効率的なデータ処理が行える画像データ符号化装置が提供することができた。
請求項18によれば、画像の復号において極めて効率的なデータ処理が行える画像データ復号装置が提供することができた。
請求項19によれば、擬似中間調のような色の交番の激しい画像にも適切に対応できる画像データ記録システムを提供することができた。
請求項20によれば、擬似中間調のような色の交番の激しい画像にも適切に対応できる画像形成装置が提供できた。
請求項21、22によれば、該記録媒体を利用することでコンピュータによってプログラムを読み取り可能とし、プログラムを実行することができた。
【図面の簡単な説明】
【図1】本発明の基本的な原理を説明するための説明図である。
【図2】本発明による符号化装置及び復号装置を画像形成装置に適用した一実施例を示す構成図である。
【図3】(a)及び(b)は本発明の符号化装置及び復号装置を示す説明図である。
【図4】本発明による符号化方法の一実施例を示すフローチャート図である。
【図5】本発明による復号方法の一実施例を示すフローチャート図である。
【図6】本発明の符号化・復号方法に用いる符号セットの一実施例を示す図である。
【図7】本発明の、事象Qに呼応してランレングス符号を生成する制御の実施例を示すフローチャート図である。
【図8】本発明の、事象Pまたは事象Pの連続に呼応して前記反復数に対応するN符号を生成する制御の実施例を示すフローチャート図である。
【図9】本発明に係る符号化方法により生成された符号列データから一個の符号単位を入力し、ランレングス数値または反復数値に復号する制御の実施例を示すフローチャート図である。
【図10】本発明による符号化の動作例を説明するための説明図である。
【図11】本発明によるL3符号生成の動作例を説明するための説明図である。
【図12】本発明によるデータ復号の動作例を説明するための説明図である。
【符号の説明】
1 プリンタ装置、2 ホストマシーン、3 ホストI/F、4 コントローラー、5 オペレーショナルパネル、6 パネルI/F、7 フォントROM、8NV−RAM、9 オプションRAM、10 エンジンI/F、11 プリンタエンジン、12 入力装置、13 記録媒体、14 プログラムROM、15RAM、16 CPU、17 符号化装置、18 復号装置、19 ランレングス記憶手段A、20 ランレングス記憶手段B、21 ランレングス記憶手段L、22 判別手段、23 反復数記憶・演算手段、24 ランレングス符号生成手段、25 反復数符号生成手段、26 符号化手段、27 復号数値・属性判別記憶手段、28 復号手段、29 ランレングス数値生成手段

Claims (22)

  1. データを走査して得られる色毎に交互のランレングス数値列を入力し、所定の符号列に変換して出力する符号化方法であって、
    所定のランレングス数値を入力した時に前記ランレングス数値の値が同色の直前のランレングス数値に一致する場合を一致事象と設定すると共に一致しない事象を不一致事象と設定し、一致事象が連続する数を反復数と設定し、前記一致事象または一致事象の連続が発生した場合には前記反復数に対応する反復数符号を生成し、前記不一致事象が発生した場合には前記ランレングス数値の値を示す符号を生成することを特徴とするデータ符号化方法。
  2. 前記一致事象または一致事象の連続に対して前記反復数に対応する符号を生成し、前記不一致事象に対して前記ランレングス数値の値を示す符号を生成するための制御内容には、前記反復数を記憶するための反復数記憶手段に初期値を格納する初期化段階と、前記一致事象の発生に対応して前記反復数記憶手段に格納された前記反復数の値を増加させる増加段階と、該時点における前記不一致事象の発生に対応して前記反復数記憶手段に格納された前記反復数の値が初期値でない場合には、前記反復数の値を示す符号を出力した後に前記反復数記憶手段に格納された前記反復数の値を初期値に戻し、前記反復数が初期値である時点で前記ランレングス数値の値を示す符号を生成する符号生成段階と、対象データの符号化が終了するまで、前記増加段階および前記符号生成段階を繰り返す繰り返し段階と、符号化の対象となるデータの符号化が終了した時点で、前記反復数の値が初期値でない場合には、前記反復数の値を示す符号を出力する符号出力段階とを有することを特徴とする請求項1に記載のデータ符号化方法。
  3. 前記一致事象及び不一致事象を識別する制御は、色数分のランレングス数値を記憶・参照するためのランレングス値記憶手段A及びランレングス値記憶手段Lに所定の初期値を格納する初期化段階と、所定の前記ランレングス数値が前記各ランレングス値記憶手段Lに入力された時点で、前記ランレングス数値と前記ランレングス値記憶手段Aに格納された値とが一致する場合が一致事象であり、一致しない場合が不一致事象であると識別する識別段階と、前記識別段階の後、次のランレングス値入力より以前の時点において、前記ランレングス値記憶手段Aに前記ランレングス値記憶手段Lの値を格納した後、前記ランレングス値記憶手段Lに前記所定のランレングス数値の値を格納する段階とを備えたことを特徴とする請求項1または請求項2に記載のデータ符号化方法。
  4. 前記一致事象及び不一致事象を識別する制御の初期化段階において、前記ランレングス値記憶手段Aにランレングスの測定を開始するときの対象色とは異なる色で始まる場合を意味する初期値を設定することを特徴とする請求項3に記載のデータ符号化方法。
  5. データを走査して得られる色毎に交互のランレングス数値列を入力し、所定の符号列に変換して出力する符号化装置であって、
    所定のランレングス数値を入力し記憶するランレングス値記憶手段Lと、前記ランレングス数値と同色の直前のランレングス数値を記憶するランレングス値記憶手段Aと、前記ランレングス数値の値が同色の直前のランレングス数値に一致するか否かを判別する判別手段と、前記ランレングス数値の値が同色の直前のランレングス値に一致する場合に該一致が反復する反復数を記憶する反復数記憶手段と、前記反復数を示す符号を生成する反復数符号生成手段と、前記ランレングス数値の値が同色の直前のランレングス値に一致しない場合には前記ランレングス数値の値を示す符号を生成するランレングス符号生成手段とを具備することを特徴とするデータ符号化装置。
  6. 前記不一致事象に対応して前記ランレングス数値の値を示す符号を生成し、前記一致事象または一致事象の連続に対応する前記反復数に対応して符号を生成するデータ符号化装置であって、
    反復数を記憶する反復数記憶手段と、前記一致事象の発生のたびに前記反復数の値を増加させる反復数演算手段と、前記不一致事象の発生に際し、該不一致事象の発生時点における前記反復数の値が初期値でない場合には、前記反復数の値を示す符号を出力した後に反復数の値を初期値に戻し、反復数が初期値である時点で前記ランレングス数値の値を示す符号を生成するランレングス符号生成手段と、符号化の対象となるデータの符号化が終了するまで前記各手段の動作を繰り返す制御を行う制御手段と、対象データの符号化が終了となった時点で前記反復数の値が初期値でない場合に、前記反復数の値を示す符号を出力する反復数符号生成手段とを備えたことを特徴とする請求項5記載のデータ符号化装置。
  7. 前記ランレングス数値を入力し記憶するランレングス値記憶手段Lと、前記ランレングス数値と同色の直前のランレングス数値を記憶するランレングス値記憶手段Aと、反復数を記憶する反復数記憶手段とは、マイクロプロセッサの汎用レジスタにより構成されることを特徴とする請求項5または6に記載のデータ符号化装置。
  8. 請求項1から請求項4までの何れか1項に記載されたデータ符号化方法を画像形成装置に適用したことを特徴とする画像データ記録システム。
  9. 請求項8に記載された画像形成装置が、プリンタであることを特徴とする画像データ記録システム。
  10. 請求項1から請求項4までの何れか1項に記載のデータ符号化方法を用いて生成された符号列データを走査して得られる符号列を入力し、色毎に交互のランレングス数値列に復号して出力するデータ復号方法であって、
    入力した符号列が前記ランレングス符号生成手段により生成された符号である場合には、前記符号が表わすランレングス数値を出力し、入力した符号列が前記反復数符号生成手段により生成された符号である場合には、同色の直前のランレングス数値を反復数符号が表わす反復数の個数分出力することを特徴とするデータ復号方法。
  11. 請求項10に記載のデータ復号方法において、色数分のランレングス数値を記憶・参照するための複号側ランレングス値記憶手段A及び復号側ランレングス値記憶手段Lに符号化時と同じ初期値を格納する初期化段階と、所定の符号を入力・復号して前記符号が示す数値とその属性を得る段階と、前記符号が示す数値の属性が前記ランレングス符号である場合には、前記符号が示す数値をランレングス数値として出力し、前記複号側ランレングス値記憶手段Aに前記復号側ランレングス値記憶手段Lの内容を格納した後、前記復号側ランレングス値記憶手段Lに前記ランレングス数値を格納する段階と、前記符号が示す数値の属性が前記反復符号である場合には、前記反復数を記憶・参照するための反復数記憶手段に前記反復数の値を格納し、前記反復数の値が初期値となるまで、前記複号側ランレングス値記憶手段Aに記憶された数値をランレングス数値として出力し、前記複号側ランレングス値記憶手段Aに前記復号側ランレングス値記憶手段Lに記憶された値を格納した後、前記復号側ランレングス値記憶手段Lに前記ランレングス数値または前記複号側ランレングス値記憶手段Aに記憶された値を格納し、前記反復数記憶手段に記憶された値を所定値減じる処理を繰り返す段階と、復号化の対象となる符号列のデータが終了するまで、前記所定の符号単位を入力・復号して前記符号が示す数値とその属性を得る段階から前記反復数の値を所定値減じる処理を繰り返す段階までを繰り返す段階とを有することを特徴とするデータ復号方法。
  12. 請求項11に記載のデータ復号方法を用いたデータ復号装置であって、
    入力した符号列を符号単位毎に記憶する符号列記憶手段と、前記符号単位の符号が前記ランレングス符号である場合には、前記ランレングス符号が表わすランレングス数値を生成するランレングス値生成手段と、入力した符号単位が前記反復数符号である場合には、前記複号側ランレングス値記憶手段Aに記憶された同色の直前のランレングス数値を前記符号が表わす反復数の個数分出力するランレングス値出力手段とを備えたことを特徴とするデータ復号装置。
  13. 請求項12に記載のデータ復号装置において、色数分のランレングス数値を記憶・参照するための前記複号側ランレングス値記憶手段A及び復号側ランレングス値記憶手段Lと、所定の符号単位を入力・復号して前記符号が示す数値とその属性を得る復号数値・属性判別手段と、前記復号数値・属性判別手段にて復号された数値の属性が前記ランレングス符号である場合には、前記数値をランレングス数値として出力し、前記復号数値・属性判別手段にて復号された数値の属性が前記反復数符号である場合には、前記反復数の値が初期値となるまで、前記複号側ランレングス値記憶手段Aに記憶された値をランレングス数値として出力するランレングス値生成手段と、前記復号数値・属性判別手段にて復号された数値の属性が前記反復数符号である場合には、前記数値を格納し記憶する復号側反復数記憶手段と、前記復号側反復数記憶手段に記憶された反復数の値を減じる処理を反復数に対応して繰り返す反復数演算手段と、前記各記憶手段に符号化時と同じ初期値を格納する制御、前記複号側ランレングス値記憶手段Aに前記復号側ランレングス値記憶手段Lに記憶された値を格納させた後に前記復号側ランレングス値記憶手段Lに前記ランレングス数値または前記複号側ランレングス値記憶手段Aに記憶された値を格納させる制御、復号化の対象となる符号列のデータが終了するまで前記反復数演算手段に繰り返し動作させる制御を行う制御手段とを備えたことを特徴とするデータ復号装置。
  14. ランレングス数値を入力し記憶する復号側ランレングス値記憶手段Lと、前記ランレングス数値と同色の直前のランレングス数値を記憶する複号側ランレングス値記憶手段Aと、反復数を記憶する反復数記憶手段とは、マイクロプロセッサの汎用レジスタにより構成されることを特徴とする請求項12または13に記載のデータ復号装置。
  15. 前記データ符号化方法により符号化される第1の符号は、4ビット幅を有し、前記4ビットの数値が10未満であることにより識別され、前記数値に1を加算した値がランレングス数値に対応する前記符号の一形式であり、
    第2の符号は8ビット幅を有し、符号列において先行する上位4ビットの値が10以上の所定値であることにより識別され、下位5ビットの値に11を加算した値がランレングス数値に対応する前記ランレングス符号の一形式であり、
    第3の符号は少なくとも8ビット幅で4の倍数となるビット幅を有し、符号列において先行する上位4ビットの値が10以上の所定値であることにより識別され、該4ビットに続く各4ビットについて、その4ビットの値において8以上の数値が検出されるまで各4ビットの下位3ビットを上位に向かって連接した数値に43を加算した値がランレングス数値に対応する前記符号の一形式であり、
    第4の符号は4ビット幅を有し、該4ビットの数値が10以上の所定値であることにより識別され、前記反復数が1であることに対応する前記符号の一形式であり、
    第5の符号は4ビット幅を有し、該4ビットの数値が10以上の所定値であることにより識別され、前記反復数が2であることに対応する前記符号の一形式であり、
    第6の符号は少なくとも8ビット幅で4の倍数となるビット幅を有し、符号列において先行する上位4ビットの値が10以上の所定値であることにより識別され、該4ビットに続く各4ビットについて、その4ビットの値において8以上の数値が検出されるまで各4ビットの下位3ビットを上位に向かって連接した数値に4を加算した値が前記反復数に対応する前記反復数符号の一形式であることを特徴とする請求項1から請求項4までの何れか1項に記載のデータ符号化方法。
  16. 前記データ復号方法により復号される第1の符号は4ビット幅を有し、前記4ビットの数値が10未満であることにより識別され、前記数値に1を加算した値がランレングス数値に対応する前記符号の一形式であり、
    第2の符号は8ビット幅を有し、符号列において先行する上位4ビットの値が10以上の所定値であることにより識別され、下位5ビットの値に11を加算した値がランレングス数値に対応する前記ランレングス符号の一形式であり、
    第3の符号は少なくとも8ビット幅で4の倍数となるビット幅を有し、符号列において先行する上位4ビットの値が10以上の所定値であることにより識別され、該4ビットに続く各4ビットについて、その4ビットの値において8以上の数値が検出されるまで各4ビットの下位3ビットを上位に向かって連接した数値に43を加算した値がランレングス数値に対応する前記符号の一形式であり、
    第4の符号は4ビット幅を有し、該4ビットの数値が10以上の所定値であることにより識別され、前記反復数が1であることに対応する前記符号の一形式であり、
    第5の符号は4ビット幅を有し、該4ビットの数値が10以上の所定値であることにより識別され、前記反復数が2であることに対応する前記符号の一形式であり、
    第6の符号は少なくとも8ビット幅で4の倍数となるビット幅を有し、符号列において先行する上位4ビットの値が10以上の所定値であることにより識別され、該4ビットに続く各4ビットについて、その4ビットの値において8以上の数値が検出されるまで各4ビットの下位3ビットを上位に向かって連接した数値に4を加算した値が前記反復数に対応する前記反復数符号の一形式であることを特徴とする請求項10または請求項11に記載のデータ復号方法。
  17. 前記第1の符号から第6までの符号を生成する符号化手段を備えたことを特徴とする請求項5または6に記載のデータ符号化装置。
  18. 前記第1の符号から第6までの符号を復号する復号手段を備えたことを特徴とする請求項12または13に記載のデータ復号装置。
  19. 請求項10、請求項11または請求項15の何れか1項に記載されたデータ復号方法を画像形成装置に適用したことを特徴とする画像データ記録システム。
  20. 請求項19に記載された画像形成装置はプリンタであることを特徴とする画像データ記録システム。
  21. 請求項1から請求項4、または請求項15の何れか1項に記載されたデータ符号化方法をコンピュータに実行させるプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
  22. 請求項10、請求項11または請求項17の何れか1項に記載されたデータ復号方法をコンピュータに実行させるプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
JP01247999A 1999-01-20 1999-01-20 データ符号化方法/復号方法、データ符号化装置/復号装置、及び、そのデータ符号化方法/復号方法を用いた画像データ記録システム Expired - Fee Related JP3842914B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP01247999A JP3842914B2 (ja) 1999-01-20 1999-01-20 データ符号化方法/復号方法、データ符号化装置/復号装置、及び、そのデータ符号化方法/復号方法を用いた画像データ記録システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP01247999A JP3842914B2 (ja) 1999-01-20 1999-01-20 データ符号化方法/復号方法、データ符号化装置/復号装置、及び、そのデータ符号化方法/復号方法を用いた画像データ記録システム

Publications (2)

Publication Number Publication Date
JP2000217005A JP2000217005A (ja) 2000-08-04
JP3842914B2 true JP3842914B2 (ja) 2006-11-08

Family

ID=11806537

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01247999A Expired - Fee Related JP3842914B2 (ja) 1999-01-20 1999-01-20 データ符号化方法/復号方法、データ符号化装置/復号装置、及び、そのデータ符号化方法/復号方法を用いた画像データ記録システム

Country Status (1)

Country Link
JP (1) JP3842914B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8150152B2 (en) 2007-08-31 2012-04-03 Ricoh Company, Ltd. Device and method for encoding image data

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 株式会社リコー 画像圧縮装置、画像形成装置、画像圧縮方法及び記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8150152B2 (en) 2007-08-31 2012-04-03 Ricoh Company, Ltd. Device and method for encoding image data

Also Published As

Publication number Publication date
JP2000217005A (ja) 2000-08-04

Similar Documents

Publication Publication Date Title
JP2766302B2 (ja) 可変長符号並列解読方法および装置
JP3009727B2 (ja) 改良形データ圧縮装置
JPH0366227A (ja) 圧縮符号化方法及びシステム並びに復号方法
JPH0258812B2 (ja)
JPH114170A (ja) 2進データのダブル・ランレングス符号化の方法および装置
TWI273779B (en) Method and apparatus for optimized lossless compression using a plurality of coders
JP3842914B2 (ja) データ符号化方法/復号方法、データ符号化装置/復号装置、及び、そのデータ符号化方法/復号方法を用いた画像データ記録システム
US6785424B1 (en) Encoding method and apparatus for compressing a data structure having two or more dimensions, decoding method, and storage medium
JP2968112B2 (ja) 符号変換方法
JPH06169405A (ja) データ圧縮/伸長方法及びその装置
JP3327650B2 (ja) 記録装置
JPH11168632A (ja) ディザ画像の2値表現処理方法、ディザ画像の圧縮2値表現圧縮解除方法、及びディザ画像の圧縮及び圧縮解除システム
JP4009808B2 (ja) 画像処理装置
JP3676078B2 (ja) ランレングス符号化方法及び圧縮装置
JP3753580B2 (ja) データ符号化方法、データ復号化方法、およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP4807401B2 (ja) 画像処理装置、画像形成装置およびプログラム
JP4093200B2 (ja) データ圧縮方法及びプログラムならびにデータ復元方法及び装置
JP4093193B2 (ja) データ圧縮方法及びプログラムならびにデータ復元方法及び装置
JP2800538B2 (ja) 可変長ビット列処理プロセッサ
JP2891818B2 (ja) 符号化装置
JP3130721B2 (ja) 2値画像圧縮伸張処理システム及び2値画像切出し方法
JP2003189108A (ja) 画像圧縮方法
JP2010074444A (ja) 画像圧縮装置、画像圧縮方法、画像復号装置、画像復号方法、及び、コンピュータプログラム
JPH0591343A (ja) 2値データ符号化方法及びその復号化方法
JPH0575874A (ja) 2値データ符号化方法及びその復号化方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040715

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20040823

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060728

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060811

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090818

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100818

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100818

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110818

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110818

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120818

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120818

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130818

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees