JPH0556283A - 符号化復号化装置 - Google Patents
符号化復号化装置Info
- Publication number
- JPH0556283A JPH0556283A JP21392291A JP21392291A JPH0556283A JP H0556283 A JPH0556283 A JP H0556283A JP 21392291 A JP21392291 A JP 21392291A JP 21392291 A JP21392291 A JP 21392291A JP H0556283 A JPH0556283 A JP H0556283A
- Authority
- JP
- Japan
- Prior art keywords
- code
- data
- decoding
- bit
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/005—Statistical coding, e.g. Huffman, run length coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
(57)【要約】
【目的】 復号化処理における復号化テーブルの参照回
数の安定化を図る。 【構成】 テーブルROM200aにおける符号化テー
ブル202aの参照アドレスを、符号データの先頭から
連続した「0」の個数nに1を加えた値を表す第一のビ
ットフィールドと、符号データの色を示す第二のビット
と、符号データの所定のビット数である第三のビットフ
ィールドとを含む情報ワードを基に生成される構成と
し、復号化処理時に、CPU100aは前記参照アドレ
スを生成し、復号化テーブルを読み出し復号化を行う。 【効果】 復号化テーブルの参照回数は符号の種類にか
かわらず常に2回に安定化される。
数の安定化を図る。 【構成】 テーブルROM200aにおける符号化テー
ブル202aの参照アドレスを、符号データの先頭から
連続した「0」の個数nに1を加えた値を表す第一のビ
ットフィールドと、符号データの色を示す第二のビット
と、符号データの所定のビット数である第三のビットフ
ィールドとを含む情報ワードを基に生成される構成と
し、復号化処理時に、CPU100aは前記参照アドレ
スを生成し、復号化テーブルを読み出し復号化を行う。 【効果】 復号化テーブルの参照回数は符号の種類にか
かわらず常に2回に安定化される。
Description
【0001】
【産業上の利用分野】本発明は、ファクシミリ装置にお
ける符号化復号化装置に利用され、特に、符号化および
復号化処理におけるテーブル引用方式に関する。
ける符号化復号化装置に利用され、特に、符号化および
復号化処理におけるテーブル引用方式に関する。
【0002】
【従来の技術】ファクシミリ装置において、伝送する情
報量を圧縮し伝送時間を短縮するためにデータの圧縮、
伸長ということが行われる。
報量を圧縮し伝送時間を短縮するためにデータの圧縮、
伸長ということが行われる。
【0003】圧縮符号化方式には、CCITTの勧告
T.4でG3ファクシミリの符号化方式、勧告T.6で
G4ファクシミリの符号化方式を標準化している。G3
では1次元符号化方式のMH方式と2次元逐次符号化方
式のMR方式を規定している。G4ファクシミリでは2
次元逐次符号化方式のMMR方式を規定している。
T.4でG3ファクシミリの符号化方式、勧告T.6で
G4ファクシミリの符号化方式を標準化している。G3
では1次元符号化方式のMH方式と2次元逐次符号化方
式のMR方式を規定している。G4ファクシミリでは2
次元逐次符号化方式のMMR方式を規定している。
【0004】これらの方式に従い、画像データを符号に
変換する圧縮処理(符号化処理)および符号データを画
像データに変換する伸長処理(復号化処理)は、専用の
ハードウェアまたはソフトウェアにより実現される。
変換する圧縮処理(符号化処理)および符号データを画
像データに変換する伸長処理(復号化処理)は、専用の
ハードウェアまたはソフトウェアにより実現される。
【0005】一般的には、圧縮率の高いMR方式、MM
R方式は伝送時間が短く圧縮、伸長の処理の高速性が要
求されるためハードウェアにより実現され、MR方式、
MMR方式に比べ圧縮率の低いMH方式は、比較的伝送
時間が長く高速性がそれほど要求されないため、ソフト
ウェアにより実現される傾向がある。
R方式は伝送時間が短く圧縮、伸長の処理の高速性が要
求されるためハードウェアにより実現され、MR方式、
MMR方式に比べ圧縮率の低いMH方式は、比較的伝送
時間が長く高速性がそれほど要求されないため、ソフト
ウェアにより実現される傾向がある。
【0006】以下に、ファクシミリ装置におけるMH方
式を利用した圧縮処理、および伸長処理の従来の一例を
述べる。
式を利用した圧縮処理、および伸長処理の従来の一例を
述べる。
【0007】符号化処理時に、画素データから白あるい
は黒の色の連続する画素の長さであるランレングス値を
求めるラングレンス計数手段により符号化を行う。
は黒の色の連続する画素の長さであるランレングス値を
求めるラングレンス計数手段により符号化を行う。
【0008】MH方式では、そのコードは白あるいは黒
の色の連続する画素の長さであるラングレンスに応じて
表1に示すようなメークアップ符号および、表2に示す
ようなターミネーション符号の2系統の符号を用いてい
る。これは、ランレングスを64で割ったときの商と余
りとで表す方式で、商に相当するのがメークアップ符号
であり、余りに相当するのがターミネーション符号であ
る。従って、商をM、余りをTとすると、ランレングス
RLは、 RL=64×M+T で表すことができ、ターミネーション符号は0〜63ま
でのランレングスに応じており、メークアップ符号は6
4の整数倍で最大2560のランレングスに応じている
ものである。また、符号コードには、「白」を表現する
ものと、「黒」を表現するものとに分かれている。
の色の連続する画素の長さであるラングレンスに応じて
表1に示すようなメークアップ符号および、表2に示す
ようなターミネーション符号の2系統の符号を用いてい
る。これは、ランレングスを64で割ったときの商と余
りとで表す方式で、商に相当するのがメークアップ符号
であり、余りに相当するのがターミネーション符号であ
る。従って、商をM、余りをTとすると、ランレングス
RLは、 RL=64×M+T で表すことができ、ターミネーション符号は0〜63ま
でのランレングスに応じており、メークアップ符号は6
4の整数倍で最大2560のランレングスに応じている
ものである。また、符号コードには、「白」を表現する
ものと、「黒」を表現するものとに分かれている。
【0009】ところで、ラインごとの符号化を行う際、
最初のコードとして必ず白の符号を出す約束になってい
る。すなわち、ラインの最初に参照する符号の色は、
「白」と決めてある。従って、「黒」の画素から始まる
場合には、最初にランレングス0の白の符号を伝送す
る。
最初のコードとして必ず白の符号を出す約束になってい
る。すなわち、ラインの最初に参照する符号の色は、
「白」と決めてある。従って、「黒」の画素から始まる
場合には、最初にランレングス0の白の符号を伝送す
る。
【0010】
【表1】
【0011】
【表2】 図6は、ファクシミリ装置における圧縮処理および伸長
処理を行う従来の符号化復号化装置の一例の要部を示す
ブロック構成図である。演算処理、データ処理、および
各部の制御処理等を行うCPU(中央演算処理装置)1
00と、送信時に読み取った原稿を2値画像データ(画
データ)にしたものを蓄える画データメモリ300と、
受信時に受信したデータをパラレル符号にしたものを貯
える符号データメモリ400と、画データを符号データ
に変換するための表3に示す符号化テーブル201、お
よび符号データを画データに変換するための表4に示す
復号化テーブル202が配置格納されるテーブルROM
200と、変換された結果である符号データあるいは画
データをFIFO(ファーストインファートアウト)管
理されるFIFOメモリ500とがバス600で接続さ
れている。
処理を行う従来の符号化復号化装置の一例の要部を示す
ブロック構成図である。演算処理、データ処理、および
各部の制御処理等を行うCPU(中央演算処理装置)1
00と、送信時に読み取った原稿を2値画像データ(画
データ)にしたものを蓄える画データメモリ300と、
受信時に受信したデータをパラレル符号にしたものを貯
える符号データメモリ400と、画データを符号データ
に変換するための表3に示す符号化テーブル201、お
よび符号データを画データに変換するための表4に示す
復号化テーブル202が配置格納されるテーブルROM
200と、変換された結果である符号データあるいは画
データをFIFO(ファーストインファートアウト)管
理されるFIFOメモリ500とがバス600で接続さ
れている。
【0012】テーブルROM200内には、あらかじ
め、送信する原稿の画データを基に後述する符号化方式
によって求めるべき符号の情報と、受信した符号の種類
により後述する復号化方式によって求めるべき画データ
の情報を得るための情報を記憶させてある。
め、送信する原稿の画データを基に後述する符号化方式
によって求めるべき符号の情報と、受信した符号の種類
により後述する復号化方式によって求めるべき画データ
の情報を得るための情報を記憶させてある。
【0013】
【表3】
【0014】
【表4】 まず、圧縮処理について、図7、図8(a)、(b)お
よび(c)、ならびに図9(a)および(b)を参照し
て説明する。
よび(c)、ならびに図9(a)および(b)を参照し
て説明する。
【0015】まず、スキャナ等で原稿を読み取る。読み
取ったデータを2値画像データ(画データ)に変換し、
画データメモリ300に貯える。
取ったデータを2値画像データ(画データ)に変換し、
画データメモリ300に貯える。
【0016】以降、図7に示した符号化処理の流れ図の
通りの処理を行い、以下のようになる。
通りの処理を行い、以下のようになる。
【0017】始めに、CPU100は、画データメモリ
300内から画データを読み出し、ランレングスRLを
求める(ステップS11)。
300内から画データを読み出し、ランレングスRLを
求める(ステップS11)。
【0018】次に、CPU100は、ランレングスRL
の情報から図8(a)に示すように、画データが白であ
るか黒であるか示すビットAD7と、メークアップ符号
の生成かターミネーション符号の生成かを示すビットA
D8と、メークアップ符号であればランレングスRLを
64で割った商を、ターミネーション符号であればラン
レングスRLを64で割った余りを表すビットフィール
ドAD9と、最下位ビットに「0」とで構成する値を生
成する。そして、この値に符号化テーブル201のベー
スアドレスを加算してアドレスADR3を生成する(ス
テップS12)。
の情報から図8(a)に示すように、画データが白であ
るか黒であるか示すビットAD7と、メークアップ符号
の生成かターミネーション符号の生成かを示すビットA
D8と、メークアップ符号であればランレングスRLを
64で割った商を、ターミネーション符号であればラン
レングスRLを64で割った余りを表すビットフィール
ドAD9と、最下位ビットに「0」とで構成する値を生
成する。そして、この値に符号化テーブル201のベー
スアドレスを加算してアドレスADR3を生成する(ス
テップS12)。
【0019】次に、CPU100は、テーブルROM2
00のアドレスADR3の指す領域の符号情報データD
T3を参照する(ステップS13)。
00のアドレスADR3の指す領域の符号情報データD
T3を参照する(ステップS13)。
【0020】そして、参照したデータDT3の情報を基
に符号データを生成し、FIFOメモリ500に順次貯
える。
に符号データを生成し、FIFOメモリ500に順次貯
える。
【0021】次に、図7のステップS12のアドレスA
DR3の生成について、図8(b)および(c)を参照
して説明する。
DR3の生成について、図8(b)および(c)を参照
して説明する。
【0022】メークアップ符号を生成する場合には、図
8(b)に示すように、ビット8にメークアップ符号で
あることを示す「1」をセットする。
8(b)に示すように、ビット8にメークアップ符号で
あることを示す「1」をセットする。
【0023】そして、ランレングスRLを64で割った
商をビット2からビット7にセットする。つまり、2進
数で表現されるランレングスRLのビット6からビット
11をセットするものである。これは、CCITTの勧
告T.4では最大2560のランレングスまで対応すれ
ばよいことから、ランレングスRLのビット12からビ
ット15は常に「0000」であるため、6ビットあれ
ば表現可能である。
商をビット2からビット7にセットする。つまり、2進
数で表現されるランレングスRLのビット6からビット
11をセットするものである。これは、CCITTの勧
告T.4では最大2560のランレングスまで対応すれ
ばよいことから、ランレングスRLのビット12からビ
ット15は常に「0000」であるため、6ビットあれ
ば表現可能である。
【0024】さらに、ビット1に対象となる画データが
白ならば「0」をセットし、黒ならば「1」をセットす
る。そして、ビット0を「0」として、前述したように
セットされ生成された値にテーブルROM200内の符
号化テーブル201のベースアドレスを加算し、これを
アドレスADR3とするものである。
白ならば「0」をセットし、黒ならば「1」をセットす
る。そして、ビット0を「0」として、前述したように
セットされ生成された値にテーブルROM200内の符
号化テーブル201のベースアドレスを加算し、これを
アドレスADR3とするものである。
【0025】また、ターミネーション符号を生成する場
合には、図8(c)に示すように、ビット8にターミネ
ーション符号であることを示す「0」をセットする。そ
して、ランレングスRLを64で割った余りをビット2
からビット7にセットする。つまり、2進数で表現され
るランレングスRLのビット0からビット5をセットす
るものである。これは、ターミネーション符号は最大6
3のランレングスRLまで対応することから6ビットあ
れば表現可能である。
合には、図8(c)に示すように、ビット8にターミネ
ーション符号であることを示す「0」をセットする。そ
して、ランレングスRLを64で割った余りをビット2
からビット7にセットする。つまり、2進数で表現され
るランレングスRLのビット0からビット5をセットす
るものである。これは、ターミネーション符号は最大6
3のランレングスRLまで対応することから6ビットあ
れば表現可能である。
【0026】さらに、ビット1に対象となる画データが
白ならば「0」をセットし、黒ならば「1」をセットす
る。そして、ビット0を「0」として、前述したように
セットされ生成された値にテーブルROM200内の符
号化テーブル201のベースアドレスを加算し、これを
アドレスADR3とするものである。
白ならば「0」をセットし、黒ならば「1」をセットす
る。そして、ビット0を「0」として、前述したように
セットされ生成された値にテーブルROM200内の符
号化テーブル201のベースアドレスを加算し、これを
アドレスADR3とするものである。
【0027】次に、図7のステップS13で読み出され
るデータDT3について説明する。
るデータDT3について説明する。
【0028】ここで、参照されるテーブルROM200
内の符号データ情報は1ワードで、図9(a)および
(b)に示すように1バイト目に符号長、2バイト目に
符号が最下位ビットから順に右詰めで記憶されている。
内の符号データ情報は1ワードで、図9(a)および
(b)に示すように1バイト目に符号長、2バイト目に
符号が最下位ビットから順に右詰めで記憶されている。
【0029】ここで、CCITTの勧告T.4における
ランレングスコードは、符号が8ビット以上であっても
その9ビット目以上は常に0となっていることから、1
バイト目には他の場合と同様に符号長を、2バイト目に
は8ビット目までの符号を記憶させておく。そしてテー
ブルのこの領域を参照する場合には、2バイト目の符号
データに1バイト目の符号長から8減算した値のビット
数分の「0」を付加して符号とするものである。
ランレングスコードは、符号が8ビット以上であっても
その9ビット目以上は常に0となっていることから、1
バイト目には他の場合と同様に符号長を、2バイト目に
は8ビット目までの符号を記憶させておく。そしてテー
ブルのこの領域を参照する場合には、2バイト目の符号
データに1バイト目の符号長から8減算した値のビット
数分の「0」を付加して符号とするものである。
【0030】例として、画データが「00000000
0000001100111・・」の場合の符号化処理
について説明する。符号化のためのテーブルベースアド
レスは0000Hとする。
0000001100111・・」の場合の符号化処理
について説明する。符号化のためのテーブルベースアド
レスは0000Hとする。
【0031】まず、CPU100は、画データメモリ3
00から読み出した画データの最初の白の連続する画素
数を計数すると「14」であるので、ランレングスRL
は、2進数16ビットで表現すると、 RL=0000 0000 0000 1110 となる(ステップS11)。
00から読み出した画データの最初の白の連続する画素
数を計数すると「14」であるので、ランレングスRL
は、2進数16ビットで表現すると、 RL=0000 0000 0000 1110 となる(ステップS11)。
【0032】次に、CPU100は、ランレングスRL
が64以下であるのでターミネーション符号のみを生成
する。従って、画素の色が白であるのでビット8を
「0」に、符号の種類を示すビット7を「0」に、ラン
レングスRLのビット0からビット5をビット1からビ
ット6に、ビット0を「0」にセットした値 0000 0000 0001 1100(001C
H) に符号化テーブルベースアドレス(0000H)を加算
し、テーブル参照アドレスとして 001CH+0000H=001CH を生成する(ステップS12)。
が64以下であるのでターミネーション符号のみを生成
する。従って、画素の色が白であるのでビット8を
「0」に、符号の種類を示すビット7を「0」に、ラン
レングスRLのビット0からビット5をビット1からビ
ット6に、ビット0を「0」にセットした値 0000 0000 0001 1100(001C
H) に符号化テーブルベースアドレス(0000H)を加算
し、テーブル参照アドレスとして 001CH+0000H=001CH を生成する(ステップS12)。
【0033】次に、CPU100は、テーブルROM2
00のアドレス001CHの領域の符号情報データを参
照する(ステップS13)。
00のアドレス001CHの領域の符号情報データを参
照する(ステップS13)。
【0034】参照したデータは、表3より、「060B
H」であることより、符号長は上位8ビットで表されて
いる通り「6」であり、符号は下位8ビットで表されて
いる「0BH=0000 1011」のうち下位ビット
から順に6ビット分、つまり「110100」である。
この符号「110100」をFIFOメモリ500に送
出する(ステップS14)。
H」であることより、符号長は上位8ビットで表されて
いる通り「6」であり、符号は下位8ビットで表されて
いる「0BH=0000 1011」のうち下位ビット
から順に6ビット分、つまり「110100」である。
この符号「110100」をFIFOメモリ500に送
出する(ステップS14)。
【0035】以降、次に続く画データの黒の画素に対し
符号化を行い、次に白の符号化を行いという具合に順次
符号化を行っていけばよい。
符号化を行い、次に白の符号化を行いという具合に順次
符号化を行っていけばよい。
【0036】次に、伸長処理について図10ならびに図
11(a)、(b)および(c)を参照して説明する。
11(a)、(b)および(c)を参照して説明する。
【0037】まず図外のモデム等により受信したシリア
ル符号データをパラレル符号データ(符号データ)に変
換し、符号データメモリ400に貯える。
ル符号データをパラレル符号データ(符号データ)に変
換し、符号データメモリ400に貯える。
【0038】以降、図10に示した復号化処理のフロー
の示す通り、以下のようになる。
の示す通り、以下のようになる。
【0039】はじめに、CPU100は、符号データメ
モリ400から符号データを読み出す。そして、読み出
した符号データの先頭から連続した「0」の数をnと
し、連続する「0」の後に検出される「1」の次の符号
(0または1)をmとして、「2×n+m」の値に復号
化テーブル202のベースアドレスを加算してアドレス
ADR4を生成する(ステップS21)。
モリ400から符号データを読み出す。そして、読み出
した符号データの先頭から連続した「0」の数をnと
し、連続する「0」の後に検出される「1」の次の符号
(0または1)をmとして、「2×n+m」の値に復号
化テーブル202のベースアドレスを加算してアドレス
ADR4を生成する(ステップS21)。
【0040】次に、テーブルROM200内のアドレス
ADR4の指す領域からデータDT4を参照する(ステ
ップS22)。
ADR4の指す領域からデータDT4を参照する(ステ
ップS22)。
【0041】次に、CPU100は、このステップS2
3の処理に入る直前に参照したデータの情報が最終的に
得たい画データ情報であるか、次に参照すべきテーブル
ROM200のアドレスを生成するためのインデックス
データであるかを、データの第8ビットの値により判定
する。例えば、ステップS22の処理からこのステップ
S23の処理に移ってきた場合にはステップS22で参
照したデータDT4を判定対象とし、後述するステップ
S28からこのステップS23の処理に移ってきた場合
にはステップS28で参照したデータDT6を判定対象
とする。そして、判定した結果、最終的な画データ情報
であればステップS25の処理に移り、違う場合にはス
テップS24の処理に移る(ステップS23)。
3の処理に入る直前に参照したデータの情報が最終的に
得たい画データ情報であるか、次に参照すべきテーブル
ROM200のアドレスを生成するためのインデックス
データであるかを、データの第8ビットの値により判定
する。例えば、ステップS22の処理からこのステップ
S23の処理に移ってきた場合にはステップS22で参
照したデータDT4を判定対象とし、後述するステップ
S28からこのステップS23の処理に移ってきた場合
にはステップS28で参照したデータDT6を判定対象
とする。そして、判定した結果、最終的な画データ情報
であればステップS25の処理に移り、違う場合にはス
テップS24の処理に移る(ステップS23)。
【0042】次に、CPU100は、参照したデータD
T4がインデックスデータであるのでこのデータDT4
の情報を基に、次に参照すべきテーブルのアドレスAD
R5を生成する(ステップS24)。
T4がインデックスデータであるのでこのデータDT4
の情報を基に、次に参照すべきテーブルのアドレスAD
R5を生成する(ステップS24)。
【0043】次に、ステップS24で生成されたアドレ
スADR5の指すテーブルROM200内の領域から、
次の画データ情報を参照するアドレス生成のためのイン
デックスデータとなるデータDT5を参照する(ステッ
プS26)。
スADR5の指すテーブルROM200内の領域から、
次の画データ情報を参照するアドレス生成のためのイン
デックスデータとなるデータDT5を参照する(ステッ
プS26)。
【0044】次に、CPU100は、ステップS26で
参照したインデックスデータであるデータDT5の情報
を基に、次に参照すべきテーブルROM200のアドレ
スADR6を生成する(ステップS27)。
参照したインデックスデータであるデータDT5の情報
を基に、次に参照すべきテーブルROM200のアドレ
スADR6を生成する(ステップS27)。
【0045】そして、ステップS27で生成されたアド
レスADR6の指すテーブルROM200の領域から、
画データ情報DT6を参照する(ステップS28)。そ
して、この画データ情報DT6を新たにステップS23
の処理における最終的な画データ情報であることを判定
する対象データとしてステップS23の処理に移り、以
降ステップS23において最終的な画データ情報が検出
されるまでステップS23からステップS28の処理を
繰り返す。
レスADR6の指すテーブルROM200の領域から、
画データ情報DT6を参照する(ステップS28)。そ
して、この画データ情報DT6を新たにステップS23
の処理における最終的な画データ情報であることを判定
する対象データとしてステップS23の処理に移り、以
降ステップS23において最終的な画データ情報が検出
されるまでステップS23からステップS28の処理を
繰り返す。
【0046】そして、ステップS23で、最終的な画デ
ータ情報であると判定されたデータを基に、画データを
生成し、FIFOメモリ500に順次貯える(ステップ
S25)。
ータ情報であると判定されたデータを基に、画データを
生成し、FIFOメモリ500に順次貯える(ステップ
S25)。
【0047】次に、図10のステップS22、S26お
よびS28で参照されるテーブルROM200内のデー
タについて、図11(a)、(b)および(c)を参照
して説明する。
よびS28で参照されるテーブルROM200内のデー
タについて、図11(a)、(b)および(c)を参照
して説明する。
【0048】テーブルROM200内の復号化テーブル
202から参照されるデータはバイトデータで、図11
(a)、(b)および(c)に示すように、ビット7に
最終的な画データ情報であるか否かを判定する構成をと
っている。図11(a)および(b)のように、ビット
7が「1」の場合には最終データであることを示し、図
11(c)のように「0」の場合にはインデックスデー
タであることを示している。
202から参照されるデータはバイトデータで、図11
(a)、(b)および(c)に示すように、ビット7に
最終的な画データ情報であるか否かを判定する構成をと
っている。図11(a)および(b)のように、ビット
7が「1」の場合には最終データであることを示し、図
11(c)のように「0」の場合にはインデックスデー
タであることを示している。
【0049】データが画データ情報である場合には、図
11(a)および(b)に示すように、ビット6が
「0」ならばターミネーション符号、「1」ならばメー
クアップ符号であることを示し、ビット0からビット5
にメークアップであれば対応する画データのランレング
スRLを64で割った商を、ターミネーション符号であ
ればその余りを示す。
11(a)および(b)に示すように、ビット6が
「0」ならばターミネーション符号、「1」ならばメー
クアップ符号であることを示し、ビット0からビット5
にメークアップであれば対応する画データのランレング
スRLを64で割った商を、ターミネーション符号であ
ればその余りを示す。
【0050】一方、データがインデックスデータである
場合には、図11(c)に示すように、ビット0からビ
ット6のデータは図10のステップS24およびS27
で生成されるアドレスのためのインデックスデータとす
る。
場合には、図11(c)に示すように、ビット0からビ
ット6のデータは図10のステップS24およびS27
で生成されるアドレスのためのインデックスデータとす
る。
【0051】次に、図10のステップS24とステップ
S27でのアドレス生成方法を述べる。
S27でのアドレス生成方法を述べる。
【0052】ステップS24においては、ステップS2
2またはステップS28で参照した図11(c)の形式
をとるインデックスデータのビット0からビット7の値
を、テーブル参照の現アドレスADR4と加算して次の
アドレスADR5を生成する。
2またはステップS28で参照した図11(c)の形式
をとるインデックスデータのビット0からビット7の値
を、テーブル参照の現アドレスADR4と加算して次の
アドレスADR5を生成する。
【0053】ステップS27においては、ステップS2
6で参照した図11(c)の形式をとるデータのビット
0からビット7の値分の符号を読み出し、その値に1加
算してテーブル参照の現アドレスADR5に加え次のア
ドレスADR6を生成する。
6で参照した図11(c)の形式をとるデータのビット
0からビット7の値分の符号を読み出し、その値に1加
算してテーブル参照の現アドレスADR5に加え次のア
ドレスADR6を生成する。
【0054】例として、符号データ「11010011
0111・・・」を復号化する場合について説明する。
復号化のための白用テーブルベースアドレスは「020
0H」、黒用テーブルベースアドレスは「0300H」
とする。
0111・・・」を復号化する場合について説明する。
復号化のための白用テーブルベースアドレスは「020
0H」、黒用テーブルベースアドレスは「0300H」
とする。
【0055】まず、符号データの先頭から「0」を計数
するがこの場合には「0」は無いのでn=0となる。そ
して、最初に検出する「1」の次の符号は「1」である
のでm=1となる。また、符号の先頭は白から始まるこ
とから生成アドレスは、 2×0+1+0200H=0201H となる(ステップS21)。
するがこの場合には「0」は無いのでn=0となる。そ
して、最初に検出する「1」の次の符号は「1」である
のでm=1となる。また、符号の先頭は白から始まるこ
とから生成アドレスは、 2×0+1+0200H=0201H となる(ステップS21)。
【0056】次に、表4に示すテーブルROM200内
のアドレス「0201H」の指す領域からデータ「14
H」を参照する(ステップS22)。
のアドレス「0201H」の指す領域からデータ「14
H」を参照する(ステップS22)。
【0057】次に、CPU100は、参照したデータ
「14H」のビット8は「0」であることから、このデ
ータはインデックスデータであると判定する(ステップ
S23)。
「14H」のビット8は「0」であることから、このデ
ータはインデックスデータであると判定する(ステップ
S23)。
【0058】CPU100は、データ「14H」と現テ
ーブル参照アドレスである「0201H」とを加算す
る。従って、加算結果である 14H+0201H=0215H が次のテーブルROM200の参照用アドレスとなる
(ステップS24)。
ーブル参照アドレスである「0201H」とを加算す
る。従って、加算結果である 14H+0201H=0215H が次のテーブルROM200の参照用アドレスとなる
(ステップS24)。
【0059】次に、アドレス「0215H」の指すテー
ブルROM200内の領域を参照する。この参照したデ
ータ「02H」が次のアドレス生成のためのインデック
スデータとなる(ステップS26)。
ブルROM200内の領域を参照する。この参照したデ
ータ「02H」が次のアドレス生成のためのインデック
スデータとなる(ステップS26)。
【0060】CPU100は参照したインデックスデー
タが「02H」であるので、符号データのmの次にある
3番目と4番目の2ビット分の符号データ「01」に1
加算して、「10=2H」を得る。そして、現テーブル
参照アドレスにこの値を加算し、つまり 2H+0215H=0217H を次の参照用アドレスとする(ステップS27)。
タが「02H」であるので、符号データのmの次にある
3番目と4番目の2ビット分の符号データ「01」に1
加算して、「10=2H」を得る。そして、現テーブル
参照アドレスにこの値を加算し、つまり 2H+0215H=0217H を次の参照用アドレスとする(ステップS27)。
【0061】CPU100は、テーブルROM200の
アドレス「0217H」の領域を参照する(ステップS
28)。
アドレス「0217H」の領域を参照する(ステップS
28)。
【0062】参照したデータは、「31H」であり、ビ
ット8は「0」であるので、このデータはインデックス
データであると判定する(ステップS23)。
ット8は「0」であるので、このデータはインデックス
データであると判定する(ステップS23)。
【0063】CPU100は、データ「31H」と現テ
ーブル参照アドレスである「0217H」とを加算す
る。従って、加算結果である 31H+0217H=0248H が次のテーブルROM200の参照用アドレスとなる
(ステップS24)。
ーブル参照アドレスである「0217H」とを加算す
る。従って、加算結果である 31H+0217H=0248H が次のテーブルROM200の参照用アドレスとなる
(ステップS24)。
【0064】次に、アドレス「0248H」の指すテー
ブルROM200内の領域を参照する。この参照したデ
ータ「01H」が次のアドレス生成のためのインデック
スデータとなる(ステップS26)。
ブルROM200内の領域を参照する。この参照したデ
ータ「01H」が次のアドレス生成のためのインデック
スデータとなる(ステップS26)。
【0065】CPU100は、参照したインデックスデ
ータが「01H」であるので、符号データの5番目の1
ビット分である符号データ「0」に1加算して、「1」
を得る。そして、現テーブル参照アドレスにこの値を加
算し、つまり 1+0248H=0249H を次の参照用アドレスとする(ステップS27)。
ータが「01H」であるので、符号データの5番目の1
ビット分である符号データ「0」に1加算して、「1」
を得る。そして、現テーブル参照アドレスにこの値を加
算し、つまり 1+0248H=0249H を次の参照用アドレスとする(ステップS27)。
【0066】CPU100は、テーブルROM200の
アドレス「0249H」の領域を参照する(ステップS
26)。
アドレス「0249H」の領域を参照する(ステップS
26)。
【0067】参照したデータは「45H」でありビット
8は「0」であるので、このデータはインデックスデー
タであると判定する(ステップS23)。
8は「0」であるので、このデータはインデックスデー
タであると判定する(ステップS23)。
【0068】CPU100は、データ「45H」と現テ
ーブル参照アドレスである「0249H」とを加算す
る。従って、加算結果である 45H+0249H=028EH が次のテーブルROM200の参照用アドレスとなる
(ステップS24)。
ーブル参照アドレスである「0249H」とを加算す
る。従って、加算結果である 45H+0249H=028EH が次のテーブルROM200の参照用アドレスとなる
(ステップS24)。
【0069】次に、アドレス「028EH」の指すテー
ブルROM200内の領域を参照する。この参照したデ
ータ「01H」が次のアドレス生成のためのインデック
スデータとなる(ステップS26)。
ブルROM200内の領域を参照する。この参照したデ
ータ「01H」が次のアドレス生成のためのインデック
スデータとなる(ステップS26)。
【0070】CPU100は、参照したインデックスデ
ータが「01H」であるので、符号データの5番目の1
ビット分である符号データ「0」に1加算して、「1」
を得る。そして、現テーブル参照アドレスにこの値を加
算し、つまり 1+028EH=028FH を次の参照用アドレスとする(ステップS27)。
ータが「01H」であるので、符号データの5番目の1
ビット分である符号データ「0」に1加算して、「1」
を得る。そして、現テーブル参照アドレスにこの値を加
算し、つまり 1+028EH=028FH を次の参照用アドレスとする(ステップS27)。
【0071】CPU100は、テーブルROM200の
アドレス「028F」の領域を参照する(ステップS2
8)。
アドレス「028F」の領域を参照する(ステップS2
8)。
【0072】参照したデータは「8EH」でありビット
8は「1」であるので、このデータは最終的に求める画
データ情報であると判定する(ステップS23)。
8は「1」であるので、このデータは最終的に求める画
データ情報であると判定する(ステップS23)。
【0073】最終的な画データ情報であると判定された
データ「8EH」のビット7が「0」であるので、この
符号はターミネーション符号であることがわかる。そし
て、データの下位6ビットがランレングスRLとなるの
で、この画データは白が14ビット連続したものである
ことがわかる。従って、CPU100は、FIFOメモ
リ500に「00000000000000」を送出す
る(ステップS25)。
データ「8EH」のビット7が「0」であるので、この
符号はターミネーション符号であることがわかる。そし
て、データの下位6ビットがランレングスRLとなるの
で、この画データは白が14ビット連続したものである
ことがわかる。従って、CPU100は、FIFOメモ
リ500に「00000000000000」を送出す
る(ステップS25)。
【0074】以降、符号データの7番目のビットを先頭
として同様に黒の画データの復号化を、次に白をという
具合に順次行っていけばよい。
として同様に黒の画データの復号化を、次に白をという
具合に順次行っていけばよい。
【0075】ここに、述べた例ではテーブルROM20
0の参照を7回行うことで画データ情報を得ることがで
きた。
0の参照を7回行うことで画データ情報を得ることがで
きた。
【0076】このように、図10のステップS23で判
定された結果、最終データでない場合に繰り返される処
理は、対象となる符号の符号長により異なるもので、復
号化処理の性質から最小1回から最大9回となる。
定された結果、最終データでない場合に繰り返される処
理は、対象となる符号の符号長により異なるもので、復
号化処理の性質から最小1回から最大9回となる。
【0077】
【発明が解決しようとする課題】以上説明したように、
従来のファクシミリ装置における符号化復号化装置に利
用されるテーブルの引用方式では、符号化処理における
テーブル参照回数は常に1回で固定されているが、復号
化処理におけるテーブル参照回数は、符号長により異な
るため最低1回から最高9回であり一定でない。つま
り、符号データから画データを再生する処理時間が不定
となってしまう。
従来のファクシミリ装置における符号化復号化装置に利
用されるテーブルの引用方式では、符号化処理における
テーブル参照回数は常に1回で固定されているが、復号
化処理におけるテーブル参照回数は、符号長により異な
るため最低1回から最高9回であり一定でない。つま
り、符号データから画データを再生する処理時間が不定
となってしまう。
【0078】これにより、復号結果である画データの情
報をテーブルから最終的に読み出すのに同期して、この
画データの情報を画素の形式に加工するなどの復号化に
係わるハードウェアのタイミイグ速度設計が、難しく複
雑なものとなる欠点があった。
報をテーブルから最終的に読み出すのに同期して、この
画データの情報を画素の形式に加工するなどの復号化に
係わるハードウェアのタイミイグ速度設計が、難しく複
雑なものとなる欠点があった。
【0079】また、このような複雑さを回避するため
に、ハードウェアのタイミイグ速度設計が最長時間に合
わせた状態、つまり従来の場合では最大9回のテーブル
参照時間に合わせた状態となり、性能が上がらない欠点
もあった。
に、ハードウェアのタイミイグ速度設計が最長時間に合
わせた状態、つまり従来の場合では最大9回のテーブル
参照時間に合わせた状態となり、性能が上がらない欠点
もあった。
【0080】本発明の目的は、前記の欠点を除去するこ
とにより、復号化処理を安定させ、ハードウェアの設計
が簡単で、かつ性能を向上させることができるテーブル
引用方式を有するファクシミリ装置の符号化復号化装置
を提供することにある。
とにより、復号化処理を安定させ、ハードウェアの設計
が簡単で、かつ性能を向上させることができるテーブル
引用方式を有するファクシミリ装置の符号化復号化装置
を提供することにある。
【0081】
【課題を解決するための手段】本発明は、符号化テーブ
ルおよび復号化テーブルが格納されたテーブル記憶手段
と、前記符号化テーブルまたは前記復号化テーブルの参
照アドレスを生成する手段、および生成した参照アドレ
スに対応する符号データを読み出して符号化または復号
化を行う手段を含む処理手段とを備えたファクシミリ装
置の符号化復号化装置において、前記復号化テーブルの
参照アドレスは、符号データの先頭から連続した「0」
の個数nに1を加えた値を表す第一のビットフィールド
と、前記符号データの色を示す第二のビットと、前記符
号データの所定のビット数である第三のビットフィール
ドを含む情報ワードを基に生成される構成であり、前記
処理手段は、復号化処理時に、符号データの先頭から連
続する「0」の個数nを求める計数手段と、この計数し
た「0」の個数を用い前記復号化テーブルの参照アドレ
スを生成する参照アドレス生成手段とを含むことを特徴
とする。
ルおよび復号化テーブルが格納されたテーブル記憶手段
と、前記符号化テーブルまたは前記復号化テーブルの参
照アドレスを生成する手段、および生成した参照アドレ
スに対応する符号データを読み出して符号化または復号
化を行う手段を含む処理手段とを備えたファクシミリ装
置の符号化復号化装置において、前記復号化テーブルの
参照アドレスは、符号データの先頭から連続した「0」
の個数nに1を加えた値を表す第一のビットフィールド
と、前記符号データの色を示す第二のビットと、前記符
号データの所定のビット数である第三のビットフィール
ドを含む情報ワードを基に生成される構成であり、前記
処理手段は、復号化処理時に、符号データの先頭から連
続する「0」の個数nを求める計数手段と、この計数し
た「0」の個数を用い前記復号化テーブルの参照アドレ
スを生成する参照アドレス生成手段とを含むことを特徴
とする。
【0082】
【作用】復号化テーブルの参照アドレスは、符号データ
の先頭から連続した「0」の個数nに1を加えた値を表
す第一のビットフィールドを有している。
の先頭から連続した「0」の個数nに1を加えた値を表
す第一のビットフィールドを有している。
【0083】すなわち、一つの符号データの内、連続す
る「0」の後に検出される「1」以降の残りの符号デー
タのビット数、つまりn+2ビット目以降の残りの符号
コードのビット数を示しており、次に復号化する符号デ
ータの先頭位置を決める情報となる。
る「0」の後に検出される「1」以降の残りの符号デー
タのビット数、つまりn+2ビット目以降の残りの符号
コードのビット数を示しており、次に復号化する符号デ
ータの先頭位置を決める情報となる。
【0084】従って、処理手段が復号化テーブルを参照
するのは、画データ情報からランレングスRLを計算す
るときと、それに基づいて求めた参照アドレスに対する
データを参照するときとの常に2回に限定することがで
きる。
するのは、画データ情報からランレングスRLを計算す
るときと、それに基づいて求めた参照アドレスに対する
データを参照するときとの常に2回に限定することがで
きる。
【0085】
【実施例】以下、本発明の実施例について図面を参照し
て説明する。
て説明する。
【0086】図1は本発明の第一実施例を示すブロック
構成図、図2はその復号化処理手順を示す流れ図、図3
(a)、(b)および(c)はその復号化テーブルの参
照アドレスの形式を示す図、ならびに図4(a)および
(b)はその復号化テーブルのデータ形式を示す図であ
る。また、表5はその復号化テーブル202aの一例を
示す。なお、符号化テーブル201は従来例で示した表
3と同じである。
構成図、図2はその復号化処理手順を示す流れ図、図3
(a)、(b)および(c)はその復号化テーブルの参
照アドレスの形式を示す図、ならびに図4(a)および
(b)はその復号化テーブルのデータ形式を示す図であ
る。また、表5はその復号化テーブル202aの一例を
示す。なお、符号化テーブル201は従来例で示した表
3と同じである。
【0087】図1によると、本第一実施例は、符号化テ
ーブル201および復号化テーブル202aが格納され
たテーブル記憶手段としてのテーブルROM200a
と、符号化テーブル201および復号化テーブル202
aの参照アドレスを生成する手段、および生成した参照
アドレスに対応する符号データを読み出して符号化およ
び復号化を行う手段を含む処理手段としてのCPU10
0aと、画データメモリ300と、符号データメモリ4
00と、FIFOメモリ500と、バス600とを備え
た符号化復号化装置において、本発明の特徴とするとこ
ろの、復号化テーブル202aの参照アドレスは、図3
(a)および(b)に示すように、符号データの先頭か
ら連続した「0」の個数nに1を加えた値を表す第一の
ビットフィールド(AD4)と、前記符号データの色を
示す第二のビット(AD5)と、前記符号データの所定
のビット数である第三のビットフィールド(AD6)を
含む情報ワードを基に生成される構成であり、CPU1
00aは、復号化処理時に、符号データの先頭から連続
する「0」の個数nを求める計数手段と、この計数した
「0」の個数を用い復号化テーブル202aの参照アド
レスを生成するアドレス生成手段とを含んでいる。
ーブル201および復号化テーブル202aが格納され
たテーブル記憶手段としてのテーブルROM200a
と、符号化テーブル201および復号化テーブル202
aの参照アドレスを生成する手段、および生成した参照
アドレスに対応する符号データを読み出して符号化およ
び復号化を行う手段を含む処理手段としてのCPU10
0aと、画データメモリ300と、符号データメモリ4
00と、FIFOメモリ500と、バス600とを備え
た符号化復号化装置において、本発明の特徴とするとこ
ろの、復号化テーブル202aの参照アドレスは、図3
(a)および(b)に示すように、符号データの先頭か
ら連続した「0」の個数nに1を加えた値を表す第一の
ビットフィールド(AD4)と、前記符号データの色を
示す第二のビット(AD5)と、前記符号データの所定
のビット数である第三のビットフィールド(AD6)を
含む情報ワードを基に生成される構成であり、CPU1
00aは、復号化処理時に、符号データの先頭から連続
する「0」の個数nを求める計数手段と、この計数した
「0」の個数を用い復号化テーブル202aの参照アド
レスを生成するアドレス生成手段とを含んでいる。
【0088】次に、本第一実施例の動作について説明す
る。
る。
【0089】なお、テーブルROM200aには、あら
かじめ表5に示す復号化テーブル202aが格納されて
いるものとする。
かじめ表5に示す復号化テーブル202aが格納されて
いるものとする。
【0090】
【表5】 本第一実施例の符号化処理については、前述の従来例の
場合と同様である。
場合と同様である。
【0091】次に、伸長処理について、図2、図3
(a)、(b)および(c)、ならびに図4(a)およ
び(b)を参照して説明する。
(a)、(b)および(c)、ならびに図4(a)およ
び(b)を参照して説明する。
【0092】まず、従来例と同様にモデム等により受信
したシリアル符号データをパラレル符号データ(符号デ
ータ)に変換し、図1に示す符号データメモリ400に
貯える。
したシリアル符号データをパラレル符号データ(符号デ
ータ)に変換し、図1に示す符号データメモリ400に
貯える。
【0093】以降、図2に示した復号化処理のフローの
示す通り、以下のようになる。
示す通り、以下のようになる。
【0094】始めに、CPU100aは、符号データメ
モリ400から符号データを読み出す。そして、読み出
した符号データの先頭から連続した「0」の数をnと
し、このnに1加算した値をAD4、符号の色をAD
5、符号をAD6とした図3に示すような構成をとる値
に、復号化テーブル202aのベースアドレスを加算し
アドレスADR2を生成する(ステップS1)。
モリ400から符号データを読み出す。そして、読み出
した符号データの先頭から連続した「0」の数をnと
し、このnに1加算した値をAD4、符号の色をAD
5、符号をAD6とした図3に示すような構成をとる値
に、復号化テーブル202aのベースアドレスを加算し
アドレスADR2を生成する(ステップS1)。
【0095】次に、テーブルROM200a内のアドレ
スADR2の指す領域からデータDT2を参照する(ス
テップS2)。
スADR2の指す領域からデータDT2を参照する(ス
テップS2)。
【0096】次に、CPU100aは、参照したデータ
DT2の情報を基に画データを生成し、FIFOメモリ
500に貯える(ステップS3)。
DT2の情報を基に画データを生成し、FIFOメモリ
500に貯える(ステップS3)。
【0097】また、CPU100aは、参照したデータ
DT2の値に復号化テーブル202aベースアドレスを
加算した値をアドレスとして、テーブルROM200a
を参照する。参照したデータDT2−1は、一つの符号
コードの内、連続する「0」の後に検出される「1」以
降の残りの符号コードのビット数、つまりn+2ビット
目以降の残りの符号コードのビット数を示しており、次
に復号化する符号コードの先頭位置を決める情報となる
(ステップS4)。
DT2の値に復号化テーブル202aベースアドレスを
加算した値をアドレスとして、テーブルROM200a
を参照する。参照したデータDT2−1は、一つの符号
コードの内、連続する「0」の後に検出される「1」以
降の残りの符号コードのビット数、つまりn+2ビット
目以降の残りの符号コードのビット数を示しており、次
に復号化する符号コードの先頭位置を決める情報となる
(ステップS4)。
【0098】次に、図1のステップS1のアドレス生成
方法を述べる。
方法を述べる。
【0099】まず、図3(b)で示すように、符号デー
タの先頭から連続する「0」を計数し、その値をnとす
る。そして、図3(c)に示すように、このnに1加算
した値をビット8から11にセットする。ここで、MH
方式における符号コードにおいて、先頭から連続する
「0」つまりnの値は最大でも7であり、1加算したと
ころで最大8であるので4ビットあればよい。
タの先頭から連続する「0」を計数し、その値をnとす
る。そして、図3(c)に示すように、このnに1加算
した値をビット8から11にセットする。ここで、MH
方式における符号コードにおいて、先頭から連続する
「0」つまりnの値は最大でも7であり、1加算したと
ころで最大8であるので4ビットあればよい。
【0100】そして、ビット7に対象となる画データが
白ならば「0」を、黒ならば「1」をセットし、ビット
0からビット6に連続する「0」の後に検出される
「1」の次の符号つまりn+2番目から7ビット分の符
号を最下位ビットから順に右詰めにセットする。
白ならば「0」を、黒ならば「1」をセットし、ビット
0からビット6に連続する「0」の後に検出される
「1」の次の符号つまりn+2番目から7ビット分の符
号を最下位ビットから順に右詰めにセットする。
【0101】このようにセットされた値に、復号化テー
ブル202aのベースアドレスを加算したものをアドレ
スADR2として生成する。
ブル202aのベースアドレスを加算したものをアドレ
スADR2として生成する。
【0102】次に、図2のステップS2およびS4で読
み出されるROM200a内のデータについて図4
(a)および(b)を用いて説明する。
み出されるROM200a内のデータについて図4
(a)および(b)を用いて説明する。
【0103】ステップS2で参照されるデータDT2は
画データ情報である。データDT2は、バイトデータで
参照され、図4(a)に示すように、ビット7が「0」
であれば対象となる符号が白のコードであり、「1」で
あれば黒であることを示し、ビット6が「1」ならば対
象となる符号がメークアップ符号であり、「0」ならば
ターミネーション符号であることを示し、ビット0から
ビット5にメークアップ符号であれば対応する画データ
のランレングスRLを64で割った商を、ターミネーシ
ョン符号であればその余りを示すような構成をとる値
に、復号化テーブル202aのベースアドレスを加算し
てアドレスADR2を生成する。ここで、MH方式にお
ける符号コードにおいては、ランレングスRLについて
は従来例でも述べた通り最大6ビットあれば表現可能で
ある。
画データ情報である。データDT2は、バイトデータで
参照され、図4(a)に示すように、ビット7が「0」
であれば対象となる符号が白のコードであり、「1」で
あれば黒であることを示し、ビット6が「1」ならば対
象となる符号がメークアップ符号であり、「0」ならば
ターミネーション符号であることを示し、ビット0から
ビット5にメークアップ符号であれば対応する画データ
のランレングスRLを64で割った商を、ターミネーシ
ョン符号であればその余りを示すような構成をとる値
に、復号化テーブル202aのベースアドレスを加算し
てアドレスADR2を生成する。ここで、MH方式にお
ける符号コードにおいては、ランレングスRLについて
は従来例でも述べた通り最大6ビットあれば表現可能で
ある。
【0104】ステップS4で参照されるデータDT2−
1は、図4(b)に示すように、ステップS1、S2お
よびS3の処理で復号化した符号の符号長から、連続す
る「0」の数n+1を引いた値を記憶している。
1は、図4(b)に示すように、ステップS1、S2お
よびS3の処理で復号化した符号の符号長から、連続す
る「0」の数n+1を引いた値を記憶している。
【0105】例として、前述の従来例と同様に、符号デ
ータ「110100110111・・・」を復号化する
場合について説明する。復号化テーブル202aのベー
スアドレスは、「0200H」とする。
ータ「110100110111・・・」を復号化する
場合について説明する。復号化テーブル202aのベー
スアドレスは、「0200H」とする。
【0106】まず、CPU100aは、符号データメモ
リ400から符号を読み出し、先頭から連続した「0」
を計数する。この場合には「0」は無いのでn=0とな
る。このnに1加算した値をビット8からビット11に
セットし、符号の先頭は白から始まることからビット7
を「0」にセットし、ビット0からビット6に最初に検
出した「1」の次の符号、つまり、n+2番目の符号か
ら7ビット分の符号をLSBでセットすると、 「0000 0001 0110 0101=0165
H」 となり、この値に復号化テーブル202aのベースアド
レスを加算した結果である 0165H+0200H=0365H が生成アドレスとなる(ステップS1)。
リ400から符号を読み出し、先頭から連続した「0」
を計数する。この場合には「0」は無いのでn=0とな
る。このnに1加算した値をビット8からビット11に
セットし、符号の先頭は白から始まることからビット7
を「0」にセットし、ビット0からビット6に最初に検
出した「1」の次の符号、つまり、n+2番目の符号か
ら7ビット分の符号をLSBでセットすると、 「0000 0001 0110 0101=0165
H」 となり、この値に復号化テーブル202aのベースアド
レスを加算した結果である 0165H+0200H=0365H が生成アドレスとなる(ステップS1)。
【0107】次に、テーブルROM200a内のアドレ
ス「0365H」の指す領域からデータを表6から参照
する(ステップS2)。
ス「0365H」の指す領域からデータを表6から参照
する(ステップS2)。
【0108】参照したデータは「0EH」であり、ビッ
ト7は「0」であるので符号の色は白であることを示
し、ビット6が「0」であるので符号の種類はターミネ
ーション符号であることがわかる。そして、データの下
位6ビットがランレングスとなるので、この画データは
白が14ビット連続したものであることがわかる。従っ
て、CPU100aは、FIFOメモリ500に「00
000000000000」を送出する(ステップS
3)。
ト7は「0」であるので符号の色は白であることを示
し、ビット6が「0」であるので符号の種類はターミネ
ーション符号であることがわかる。そして、データの下
位6ビットがランレングスとなるので、この画データは
白が14ビット連続したものであることがわかる。従っ
て、CPU100aは、FIFOメモリ500に「00
000000000000」を送出する(ステップS
3)。
【0109】また、CPU100aは、参照したデータ
「0EH」に復号化テーブル202aのベースアドレス
を加算した値 0EH+0200H=020EH をアドレスとしてテーブルROM200aを参照する。
参照したデータは「05H」であり、ステップS1、S
2およびS3で復号化された符号コードの符号長はこの
データ値「05H」に計数した「0」の数nビットと最
初に検出した「1」の1ビット分を加算した値、 0+1+05H=06H であることがわかる(ステップS4)。
「0EH」に復号化テーブル202aのベースアドレス
を加算した値 0EH+0200H=020EH をアドレスとしてテーブルROM200aを参照する。
参照したデータは「05H」であり、ステップS1、S
2およびS3で復号化された符号コードの符号長はこの
データ値「05H」に計数した「0」の数nビットと最
初に検出した「1」の1ビット分を加算した値、 0+1+05H=06H であることがわかる(ステップS4)。
【0110】以降、ステップS4で求めた復号化した符
号コードの符号長「06H」から6番目の符号ビット
「1」を先頭として、同様に黒の画データの復号を、次
に白をという具合に順次行っていけばよい。
号コードの符号長「06H」から6番目の符号ビット
「1」を先頭として、同様に黒の画データの復号を、次
に白をという具合に順次行っていけばよい。
【0111】このように、本第一実施例における復号化
処理のテーブル参照回数は、ステップS2における画デ
ータ情報の参照と、ステップS4におけるステップS
1、S2およびS3で処理してきた符号コードの符号長
情報の参照との常に2回である。
処理のテーブル参照回数は、ステップS2における画デ
ータ情報の参照と、ステップS4におけるステップS
1、S2およびS3で処理してきた符号コードの符号長
情報の参照との常に2回である。
【0112】次に、本発明の第二実施例について説明す
る。
る。
【0113】本第二実施例の基本的な構成は図1で示し
た第一実施例と同じである。
た第一実施例と同じである。
【0114】その相違点は、表6に示す独自のメークア
ップ符号コードを追加することで、最大ランレングス6
655まで対応可能としたものである。この符号はラン
レングス1792以上2623以下の場合のメークアッ
プ符号と同様に、「白」を表現するコードと「黒」を表
現するコードが共通になっている。
ップ符号コードを追加することで、最大ランレングス6
655まで対応可能としたものである。この符号はラン
レングス1792以上2623以下の場合のメークアッ
プ符号と同様に、「白」を表現するコードと「黒」を表
現するコードが共通になっている。
【0115】
【表6】 次に、符号化処理の内容について第一実施例と異なる点
を説明する。
を説明する。
【0116】テーブルROM200a内には第一実施例
のテーブルROM200a内のデータに加え、拡張した
符号コードに対応すべく後述する符号化方式および復号
化方式に対応した所定のデータが記憶させてある。
のテーブルROM200a内のデータに加え、拡張した
符号コードに対応すべく後述する符号化方式および復号
化方式に対応した所定のデータが記憶させてある。
【0117】本第二実施例の符号処理は、第一実施例と
同様に、従来例と同じく図7に示す処理順序で処理が行
われる。ただし、本第二実施例における図7のステップ
S12のテーブルの参照アドレスADR3の生成につい
ては以下のようになる。
同様に、従来例と同じく図7に示す処理順序で処理が行
われる。ただし、本第二実施例における図7のステップ
S12のテーブルの参照アドレスADR3の生成につい
ては以下のようになる。
【0118】まず、符号化の対象となる画データのラン
レングスRLが2624以上であるか否か判定する。判
定の結果、2624未満であれば従来例の場合と同様に
アドレスを生成する。ただし、従来例で加算した符号化
のためのテーブルのベースアドレスは、第二実施例では
ランレングスが2624未満に対応する符号コード、つ
まり従来例の表1で示すような符号コード生成のための
テーブルのベースアドレスとするものである。
レングスRLが2624以上であるか否か判定する。判
定の結果、2624未満であれば従来例の場合と同様に
アドレスを生成する。ただし、従来例で加算した符号化
のためのテーブルのベースアドレスは、第二実施例では
ランレングスが2624未満に対応する符号コード、つ
まり従来例の表1で示すような符号コード生成のための
テーブルのベースアドレスとするものである。
【0119】判定結果が2624以上である場合には、
ターミネーション符号については従来例の場合と同様に
アドレスADR1を生成し、メークアップ符号を生成す
る場合には次のようになる。
ターミネーション符号については従来例の場合と同様に
アドレスADR1を生成し、メークアップ符号を生成す
る場合には次のようになる。
【0120】第一実施例の図4(a)および(b)に示
したのと同様に、ビット8に対象となる画データが白な
らば「0」を、黒ならば「1」をセットし、ビット7に
メークアップ符号であることを示す「1」をセットす
る。ビット1からビット6には、2進数で表現されるラ
ンレングスRLのビット6からビット11をセットす
る。これは、ランレングスRLを64で割った商の値を
2進数で表現したものの下位6ビットのデータである。
そして、ビット0を「0」にセットする。
したのと同様に、ビット8に対象となる画データが白な
らば「0」を、黒ならば「1」をセットし、ビット7に
メークアップ符号であることを示す「1」をセットす
る。ビット1からビット6には、2進数で表現されるラ
ンレングスRLのビット6からビット11をセットす
る。これは、ランレングスRLを64で割った商の値を
2進数で表現したものの下位6ビットのデータである。
そして、ビット0を「0」にセットする。
【0121】以上のようにセットされた値に対し、表6
で示したような独自の符号コード生成のためのテーブル
のベースアドレスを加算してアドレスADR1とする。
で示したような独自の符号コード生成のためのテーブル
のベースアドレスを加算してアドレスADR1とする。
【0122】次に、復号化処理の内容について説明す
る。
る。
【0123】本第二実施例の復号処理においても、第一
実施例で述べたような図2に示す処理順序で処理が行わ
れる。ただし、本第二実施例における図2のステップS
2のテーブルから参照したデータDT2については以下
のようになる。
実施例で述べたような図2に示す処理順序で処理が行わ
れる。ただし、本第二実施例における図2のステップS
2のテーブルから参照したデータDT2については以下
のようになる。
【0124】図2のステップS1で計数される連続する
「0」の数であるnが7以下である場合には、第一実施
例の場合と同様で図4(a)で示されるようなデータと
なる。
「0」の数であるnが7以下である場合には、第一実施
例の場合と同様で図4(a)で示されるようなデータと
なる。
【0125】nが8以上の場合には、図5に示すように
ビット7が「0」であれば白、「1」であれば黒を示
し、ビット0からビット6にランレングスRLを64で
割った商を示す構成になっている。これは、本第二実施
例で追加した表6のような独自の符号コードが、ランレ
ングスが6655まで対応可能としているので、これを
表現するために最大7ビットが必要であり、また、独自
の符号コードは白、黒ともに共通であることによる。
ビット7が「0」であれば白、「1」であれば黒を示
し、ビット0からビット6にランレングスRLを64で
割った商を示す構成になっている。これは、本第二実施
例で追加した表6のような独自の符号コードが、ランレ
ングスが6655まで対応可能としているので、これを
表現するために最大7ビットが必要であり、また、独自
の符号コードは白、黒ともに共通であることによる。
【0126】以上のように、復号化処理におけるテーブ
ルの参照回数は、第二実施例においても第一実施例と同
様に常に2回である。
ルの参照回数は、第二実施例においても第一実施例と同
様に常に2回である。
【0127】
【発明の効果】以上説明したように、本発明は、次のよ
うな効果がある。 (1) 復号化処理を行う際にテーブル参照を利用する
場合、テーブルの参照回数は符号の種類にかかわらず常
に2回行われる。これにより、復号結果である画データ
の情報がテーブルから最終的に読み出されるのを待っ
て、この画像データの情報を画素の形式に加工するなど
の待ち合わせのための回路が不要であり、符号化、復号
化に係わるハードウェアの設計が、従来に比べ簡単にな
る。
うな効果がある。 (1) 復号化処理を行う際にテーブル参照を利用する
場合、テーブルの参照回数は符号の種類にかかわらず常
に2回行われる。これにより、復号結果である画データ
の情報がテーブルから最終的に読み出されるのを待っ
て、この画像データの情報を画素の形式に加工するなど
の待ち合わせのための回路が不要であり、符号化、復号
化に係わるハードウェアの設計が、従来に比べ簡単にな
る。
【0128】(2) 従来に比べ、テーブルから読み出
されたデータが最終的に求め得る画データの情報である
か判定する必要がないため、符号データを画データにす
る復号化の処理が簡素化される。
されたデータが最終的に求め得る画データの情報である
か判定する必要がないため、符号データを画データにす
る復号化の処理が簡素化される。
【0129】(3) 本発明では、MH方式の符号コー
ドだけでなく独自の符号を追加することが可能となる。
ドだけでなく独自の符号を追加することが可能となる。
【0130】(4) 本発明の復号化方式におけるテー
ブル参照回数2回の固定時間は、従来の最長9回のテー
ブル参照時間よりも短い。従って、従来の最長時間に合
わせたハードウェアのタイミイグ設計に対して、本発明
の方が従来に比べ高性能となる。これにより、ソフトウ
ェアによるMR方式の実現も可能となる。
ブル参照回数2回の固定時間は、従来の最長9回のテー
ブル参照時間よりも短い。従って、従来の最長時間に合
わせたハードウェアのタイミイグ設計に対して、本発明
の方が従来に比べ高性能となる。これにより、ソフトウ
ェアによるMR方式の実現も可能となる。
【図1】本発明の第一実施例の要部を示すブロック構成
図。
図。
【図2】その復号化処理手順を示す流れ図。
【図3】その復号化テーブルの参照アドレスの形式を示
す図。
す図。
【図4】その復号化テーブルのデータ形式を示す図。
【図5】本発明の第二実施例の復号化テーブルのデータ
形式を示す図。
形式を示す図。
【図6】従来例の要部を示すブロック構成図。
【図7】その符号化処理手順を示す流れ図。
【図8】その符号化テーブルの参照アドレスの形式を示
す図。
す図。
【図9】その符号化テーブルのデータの形式を示す図。
【図10】その復号化処理手順を示す流れ図。
【図11】その復号化テーブルのデータの形式を示す
図。
図。
100、100a CPU 200、200a テーブルROM 201 符号化テーブル 202、202a 復号化テーブル 300 画データメモリ 400 符号データメモリ 500 FIFOメモリ 600 バス S1〜S4、S11〜S14、S21〜S28 ステ
ップ
ップ
Claims (1)
- 【請求項1】 符号化テーブルおよび復号化テーブルが
格納されたテーブル記憶手段と、前記符号化テーブルま
たは前記復号化テーブルの参照アドレスを生成する手
段、および生成した参照アドレスに対応する符号データ
を読み出して符号化または復号化を行う手段を含む処理
手段とを備えたファクシミリ装置の符号化復号化装置に
おいて、 前記復号化テーブルの参照アドレスは、符号データの先
頭から連続した「0」の個数nに1を加えた値を表す第
一のビットフィールドと、前記符号データの色を示す第
二のビットと、前記符号データの所定のビット数である
第三のビットフィールドを含む情報ワードを基に生成さ
れる構成であり、 前記処理手段は、復号化処理時に、符号データの先頭か
ら連続する「0」の個数nを求める計数手段と、この計
数した「0」の個数を用い前記復号化テーブルの参照ア
ドレスを生成する参照アドレス生成手段とを含むことを
特徴とする符号化復号化装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3213922A JP2684887B2 (ja) | 1991-08-26 | 1991-08-26 | 符号化復号化装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3213922A JP2684887B2 (ja) | 1991-08-26 | 1991-08-26 | 符号化復号化装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0556283A true JPH0556283A (ja) | 1993-03-05 |
| JP2684887B2 JP2684887B2 (ja) | 1997-12-03 |
Family
ID=16647268
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3213922A Expired - Fee Related JP2684887B2 (ja) | 1991-08-26 | 1991-08-26 | 符号化復号化装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2684887B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5539401A (en) * | 1994-08-31 | 1996-07-23 | Mitsubishi Denki Kabushiki Kaisha | Variable-length code table and variable-length coding device |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS61125283A (ja) * | 1984-11-20 | 1986-06-12 | Mitsubishi Electric Corp | モデイフアイド・ハフマン符号の復号装置 |
-
1991
- 1991-08-26 JP JP3213922A patent/JP2684887B2/ja not_active Expired - Fee Related
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS61125283A (ja) * | 1984-11-20 | 1986-06-12 | Mitsubishi Electric Corp | モデイフアイド・ハフマン符号の復号装置 |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5539401A (en) * | 1994-08-31 | 1996-07-23 | Mitsubishi Denki Kabushiki Kaisha | Variable-length code table and variable-length coding device |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2684887B2 (ja) | 1997-12-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4992887A (en) | Method of storing and transmitting image data as an image file suitable for an image search | |
| JP5432450B2 (ja) | エントロピー符号化を利用したカラー画像データの可逆圧縮 | |
| US4811113A (en) | Image signal encoding method and system | |
| EP0776569B1 (en) | Method and system for encoding and decoding image data | |
| JP2002176553A (ja) | 画像処理装置、及びその方法、並びにプログラム、記憶媒体 | |
| JPH04270568A (ja) | 画像処理装置におけるデータ圧縮方式 | |
| JP2684887B2 (ja) | 符号化復号化装置 | |
| JP3788414B2 (ja) | Jpeg再圧縮データの通信装置および通信方法 | |
| JPH04270564A (ja) | カラー情報を有するシリアル画像データ圧縮方式 | |
| JPH09139955A (ja) | データ符号化装置およびその方法ならびにデータ復号化装置およびその方法 | |
| JP2003189109A (ja) | 画像処理装置及び方法、並びにコンピュータ・プログラム | |
| JP3408472B2 (ja) | ランレングス符号化方法及びランレングス符号化装置 | |
| JP2000217005A (ja) | デ―タ符号化方法/復号方法、デ―タ符号化装置/復号装置、及び、そのデ―タ符号化方法/復号方法を用いた画像デ―タ記録システム | |
| JP4141692B2 (ja) | 画像圧縮処理装置及び画像圧縮処理方法 | |
| JP2000350045A (ja) | 符号復号化方法および装置 | |
| JP2001169118A (ja) | 画像処理装置及びその方法、コンピュータ可読メモリ | |
| JPH04270569A (ja) | 画像処理装置におけるデータ圧縮方式 | |
| JP2003152549A (ja) | 復号方法、復号装置、コンピュータプログラム及び記録媒体 | |
| JP3488672B2 (ja) | 画像処理装置、画像処理方法、およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
| JP2001078042A (ja) | 画像伸長処理装置および画像圧縮処理装置 | |
| JP2561292B2 (ja) | 画像データの圧縮装置 | |
| JPH0799583A (ja) | 2次元符号化方法および2次元符号の復号化方法 | |
| JP2512195B2 (ja) | 符号化装置および復号化装置 | |
| JPH01108861A (ja) | 画像符号化装置 | |
| JPH04216272A (ja) | Mr符号の復号化方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |