JP3145510B2 - 圧縮符号の復号化方法及び装置 - Google Patents

圧縮符号の復号化方法及び装置

Info

Publication number
JP3145510B2
JP3145510B2 JP30641292A JP30641292A JP3145510B2 JP 3145510 B2 JP3145510 B2 JP 3145510B2 JP 30641292 A JP30641292 A JP 30641292A JP 30641292 A JP30641292 A JP 30641292A JP 3145510 B2 JP3145510 B2 JP 3145510B2
Authority
JP
Japan
Prior art keywords
bits
register
bit
decoding
code
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 - Lifetime
Application number
JP30641292A
Other languages
English (en)
Other versions
JPH06132833A (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.)
Mutoh Industries Ltd
Original Assignee
Mutoh Industries 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 Mutoh Industries Ltd filed Critical Mutoh Industries Ltd
Priority to JP30641292A priority Critical patent/JP3145510B2/ja
Publication of JPH06132833A publication Critical patent/JPH06132833A/ja
Application granted granted Critical
Publication of JP3145510B2 publication Critical patent/JP3145510B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、例えばファクシミリ装
置の符号化方式として使用されているMH符号(Modifi
ed Haffman Code ),MR符号(Modified Read Code)
等の可変長の圧縮符号を復号化するための圧縮符号の復
号化方法及び装置に関する。
【0002】
【従来の技術】従来、MH符号等の可変長の圧縮符号を
復号化する場合には、符号データを1ビットずつ判定
し、2分木を順次辿りながら復号化処理を行っている。
即ち、図7に示すMH符号のターミネイティング符号の
復号処理を例にとると、1回の判定処理によって求めら
れるノード情報は、通常、図8に示すように、そのノー
ドで復号値が決定されるかどうかのフラグと、決定され
た場合の復号値と、決定されない場合の“0”、“1”
に対応した分岐先の情報とにより構成される。例えば、
黒のMH符号として“10…”が入力された場合、まず、
図9に示すように、ルートノードから検索を開始し、最
初のビットが“1”であるため、ルートノードの“1”
の分岐先へ進む。次のノードのフラグが“継続”である
ので、次のビットを読む。次のビットが“0”であるた
め、“0”の分岐先へ進む。次の分岐先のノードのフラ
グは、“決定”であるため、そのノードの復号値“3”
を出力する。これにより、“黒3画素”が復号化された
ランレングスデータであることがわかる。
【0003】また、図10に示すように、各ノードの情
報を、決定の場合には、決定フラグと復号値、決定でな
い場合には、“0”の分岐先と“1”の分岐先で構成す
ることにより、各ノードの情報量を削減してROMテー
ブルの容量を削減することもなされている。
【0004】
【発明が解決しようとする課題】しかしながら、上述し
た従来の圧縮符号の復号化方式では、1ビットずつ符号
を判定し、分岐処理を繰返す方式であるため、10ビッ
トの圧縮符号であれば、10回の分岐が必要になる。こ
のように、従来の方式は、判定、分岐の数が多く、処理
のステップ数が増えるためにCPUの負担が大きいとい
う欠点がある。また、命令を先読みするタイプのCPU
を使用した場合には、分岐が入ると先読みした命令が無
駄になるという問題点もある。
【0005】本発明はこのような問題点を解決するため
になされたもので、判定及び分岐の数を削減することが
でき、高速処理が可能な圧縮符号の復号化方法及び装置
を提供することを目的とする。
【0006】
【課題を解決するための手段】本発明に係る圧縮符号の
復号化方法は、可変長の圧縮符号を順次読み込んで、そ
の値で決定される分岐先に順次分岐しながら復号値を得
る圧縮符号の復号化方法において、前記圧縮符号を2m
ビット(mは2以上の整数)のレジスタからnビット
(nは2以上でm以下の整数)ずつ読み込み、復号可能
であれば復号値及び復号処理に供されたビット数の情報
を出力し、前記復号処理に供されたビット数の情報に基
づいて次に読み込む前記nビットの圧縮符号が格納され
た前記レジスタの位置を決定し、復号不可能であれば次
の分岐先情報を出力して前記レジスタからnビットの圧
縮符号を読み込む位置をnビットずらして、前記復号値
が決定されるまで前記nビットの圧縮符号の読み込みと
分岐とを繰返し、前記レジスタから上位mビット以上の
圧縮符号が読み出されたら、前記レジスタに格納された
圧縮符号をmビットだけ上位ビット方向にシフトすると
共に、次のmビットの圧縮符号を前記レジスタの下位ビ
ット側に格納し、前記レジスタからnビットの圧縮符号
を読み込む位置を前記レジスタの上位ビット方向にmビ
ット分ずらすことを特徴とする。
【0007】また、本発明に係る圧縮符号の復号化装置
は、可変長の圧縮符号を2mビット(mは2以上の整
数)分格納するレジスタと、分岐先情報及び前記レジス
タから読み込まれたnビット(nは2以上でm以下の整
数)の圧縮符号から復号値が決定するかどうかを示す復
号決定情報と、復号値が決定されない場合には次の分岐
先情報、復号値が決定される場合には復号値及び復号処
理に供されたビット数の情報とを含むノード情報を出力
するノード情報出力手段と、このノード情報出力手段か
ら出力される復号決定情報から復号値が決定されるかど
うかを判定するノード判定手段と、このノード判定手段
で前記復号値が決定されると判定された場合には前記復
号値を出力すると共に前記復号処理に供されたビット数
の情報で決まる前記レジスタの次のnビットの格納位置
を決定しこの格納位置から圧縮符号を読み出して前記ノ
ード情報出力手段に供給し、前記ノード判定手段で前記
復号値が決定されないと判定された場合には前記ノード
情報出力手段から出力される次の分岐先情報を前記ノー
ド情報出力手段に供給すると共に前記レジスタからnビ
ットの圧縮符号を読み込む位置をnビットずらして次の
nビットの圧縮符号を前記ノード情報出力手段に供給す
るデータ出力制御手段とを具備し、前記レジスタから上
位mビット以上の圧縮符号が読み出されたら、前記レジ
スタに格納された圧縮符号をmビットだけ上位ビット方
向にシフトすると共に、次のmビットの圧縮符号を前記
レジスタの下位ビット側に格納し、前記レジスタからn
ビットの圧縮符号を読み込む位置を前記レジスタの上位
ビット方向にmビット分ずらすようにしたことを特徴と
する。
【0008】
【作用】本発明によれば、1回の判定処理でn(複数)
ビットの判定を行うので、1ビットずつ判定する従来の
方式に比べ、分岐回数を1/nに削減することができ
る。また、例えばMH,MR,MMR符号では、出現確
率の高いランレングスデータに少ないビット数を割り当
てるようにしているので、nの値を適当な値、例えば4
ビット程度に設定しても、1回の判定処理で復号値が決
定される確率は極めて高くなる。このため、分岐処理の
頻度が減少する。したがって、この発明によれば、従来
の2分木を辿る復号化方式に比べて、復号処理を大幅に
高速化することができる。
【0009】
【実施例】以下、添付の図面を参照してこの発明の実施
例について説明する。図1はこの発明の実施例に係るM
H符号の復号化装置を示すブロック図である。ここで
は、1度に4ビットずつ判定する例について説明する。
この装置は、ノード判定と復号値の出力制御を実行する
CPU1と、ノード情報を出力するノード情報出力部2
とから構成されている。
【0010】CPU1は、内部にノード検索途中の分岐
先を格納する12ビットの分岐先レジスタ3と、入力さ
れるMH符号を格納するための16ビットの入力データ
レジスタ4とを備えている。入力データレジスタ4から
は任意の位置の4ビットのデータのみが取り出されるよ
うになっており、この4ビットのデータを下位とし、分
岐先レジスタ3からの12ビットの分岐先データを上位
とする16ビットのデータが、ノード情報出力部2の入
力値として供給されている。
【0011】図2は、ノード情報出力部2から出力され
るノード情報の一例を示す図である。即ち、ノード情報
は、32ビットのデータで、その最上位ビット(MS
B)は、復号値が決定されるかどうかを示す復号決定情
報としてのフラグである。このフラグが“0”であれば
継続(未決定)、“1”であれば決定を示している。継
続を示すフラグに続く、残りの31ビットのうち、上位
15ビットは“0”、下位16ビットは次の分岐先情報
となっている。なお、分岐先情報のうち下位4ビット
は、常に“0”となっている。また、決定を示すフラグ
に続く、残りの31ビットのうち、上位15ビットは値
(復号値)、下位16ビットは復号処理に供されたビッ
ト数の情報valid となっている。
【0012】図3は、ノード情報出力部2をROMテー
ブルで構成した場合の記憶内容を示す図である。ROM
データとして記憶された分岐先情報は、次にアクセスす
るROMアドレスに対応している。ここで、白のランレ
ングスへの復号化のために必要なノード数が351であ
るとすると、黒のランレングスへの復号化のためのノー
ドは、アドレス352から開始されることになる。
【0013】また、CPU1には、その機能として、ノ
ード判定とデータ出力制御とを実行するノード判定・デ
ータ出力制御部5が備えられている。ノード判定・デー
タ出力制御部5は、ノード情報出力部2から出力される
ノード情報のうちのフラグを判定して、継続であれば、
分岐先情報のうち、上位12ビットを分岐先レジスタ3
にセットし、入力データレジスタ4から次の4ビットの
符号データを取り出して、12ビットの分岐先情報と合
わせた16ビットのデータを、ノード情報出力部2のア
ドレスとして供給する。また、ノード判定・データ出力
制御部5は、ノード情報出力部2から出力されるノード
情報のうちのフラグが決定を示している場合には、復号
値を出力すると共に、使用ビット数を示すvalid 情報に
基づいて次に入力データレジスタ4から取り出す4ビッ
トの位置を決定する。
【0014】16ビットの入力データレジスタ4から任
意の4ビットのデータを取り出すには、例えばC言語の
ビットフィールドを使用することができる。即ち、図4
に示すように、16ビットのデータのうち、任意の数の
ビットを読み飛ばした後の4ビットをアクセスできるデ
ータ構造を定義する。ここで、dmは、図5に示すよう
に、16ビットのデータのうちMSBから読み飛ばすビ
ット数を意味し、getData.fourXは、7−Xビット読み
飛ばした後の4ビットを取り出すという命令を示してい
る。なお、ここではMSBから最大7ビットを読み飛ば
し可能にし、上位8ビットのデータを復号処理に使い切
った時点で、8ビットずれた次の16ビットを新たなデ
ータとして入力データレジスタ4にセットするようにし
ている。
【0015】次に、このように構成された復号装置の動
作について説明する。図6は、CPU1の処理を示すフ
ローチャートである。先ず、初期設定操作として、変数
Xに7をセットし、分岐先レジスタ3の内容をルートノ
ードに対応した値にプリセットする。例えば白のランレ
ングスの復号化に351のノードが必要である場合に
は、白の復号化のときに“0”、黒の復号化のときに
“352”がプリセットされる(S1)。次に入力デー
タレジスタ4にMH符号データを16ビット分セットし
(S2)、“getData.fourX”コマンドにより、指定さ
れた位置の4ビットを取り出す(S3)。これにより、
ノード情報出力部2にアドレスが供給される。次に、ノ
ード情報出力部2(ROM)から出力されるノード情報
を参照し(S4)、フラグを判定する(S5)。
【0016】フラグが“0”であれば、ノード情報に含
まれる分岐先情報を分岐先レジスタ3にセットし(S
6)、変数Xから4を減じる(S7)。一方、フラグが
“1”であれば、ノード情報に含まれる復号値を出力し
(S8)、分岐先レジスタ3をリセットする(S9)。
この場合には、変数Xからvalid 情報を減じる(S1
0)。次に、変数Xが0よりも小さくなったかどうかを
判定し(S11)、0以上であれば、ステップS3に戻
り、“getData.fourX”を実行する。また、変数Xが0
よりも小さくなった場合には、変数Xに8を加え(S1
2)、ステップS2に戻って、8ビットずれた次の16
ビットのMH符号を入力データレジスタ4にセットす
る。以上の処理を繰返すことにより、4ビットずつの判
定処理を実現することができる。
【0017】ここで、黒のMH符号として“1000”が入
力されたとすると、黒のルートノードは352から始ま
るので、352+8(=“1000”)=360で示すアド
レスのデータが参照される。図3を参照すると、アドレ
ス“360”のフラグは“1”(決定)であるから、C
PU1は値“3”を出力する。これにより、復号結果が
“黒3画素”であることが分かる。また、valid =
“2”であるから、入力データレジスタ4の2ビットず
れた位置から次の復号処理が実施される。なお、以上の
処理は、黒のMH符号として“10XX”の“XX”の部分が
どのような値でも同じになる必要がある。このため、ア
ドレスが352+8=360から352+11(=“10
11" )=363まではノード情報の内容は同じになる。
即ち、最初の4ビットのうち、先頭の2ビットが“10”
であれば、続く2ビットがいかなる値であろうとも、検
索の結果としては、“黒3画素”、“2ビット使用”に
なる。
【0018】また、黒のMH符号として“00010100”が
入力されたとすると、最初の4ビットは“0001”である
から、ルートノードは352+1(=“0001”)=35
3となる。図3を参照すると、アドレス“353”のフ
ラグは“0”(継続)であるから、CPU1は、分岐先
“400”を分岐先レジスタ3にセットする。次の4ビ
ットは“0100”であるから、400+4(=“0100”)
=404を参照すると、フラグが“1”(決定)である
ので、値“8”を検索結果として出力し、valid =
“2”により、2ビットが使用されたことが分かる。
【0019】このように、本システムによれば、少ない
分岐回数で可変長のMH符号を復号化することができる
ので、高速処理が可能になる。なお、以上はMH符号を
例にあげて説明したが、本発明は、MR符号及びMMR
符号等の他の可変長圧縮符号の復号化全般にも適用可能
である。また、上記実施例では4ビットを一度に判定す
る例について説明したが、複数ビット数であれば、本発
明の効果を奏することができる。なお、参考までに、判
定ビット数がそれぞれ1,4,8の場合の処理時間の実
測データを下記表1に示す。原稿は、MH符号で符号化
されたA1サイズの等高線図を使用した。
【0020】
【表1】
【0021】以上の結果から明らかなように、1回に読
むビット数を1ビットから4ビットにすることにより、
処理時間をほぼ1/2に短縮することができる。なお、
4ビットと8ビットで大きな差がないのは、MH符号の
性質上、出現頻度の高い符号に2〜4ビットという少な
いビット数を割り当てているので、殆どの場合、1回の
判定で復号値が決定されてしまうからである。しかし、
ビット数を増やすことは、全体的なノード数を削減でき
ることを意味し、これはROMテーブルの容量を削減す
る上で極めて有利である。
【0022】
【発明の効果】以上述べたように、本発明によれば、1
回の判定処理でn(複数)ビットの判定を行うので、従
来の1ビットずつ判定して2分木を辿る復号化方式に比
べて、復号処理を大幅に高速化することができるという
効果を奏する。
【図面の簡単な説明】
【図1】 本発明の実施例に係る圧縮符号の復号化装置
の構成を示すブロック図である。
【図2】 同システムにおけるノード情報を示す図であ
る。
【図3】 同システムにおけるノード情報出力部(RO
Mテーブル)の内容を示す図である。
【図4】 同システムにおける任意の位置の4ビットを
取り出すデータ構造を設定するプログラムを示す図であ
る。
【図5】 同システムにおける任意の位置の4ビットを
取り出す処理を説明するための図である。
【図6】 同システムの復号化処理を示すフローチャー
トである。
【図7】 MH符号におけるターミネイティング符号を
示す図である。
【図8】 従来の2分木方式のノード情報を示す図であ
る。
【図9】 従来の2分木方式による検索手順を説明する
ための図である。
【図10】 従来の2分木方式のノード情報の他の形態
を示す図である。
【符号の説明】
1…CPU、2…ノード情報出力部、3…分岐先レジス
タ、4…入力データレジスタ、5…ノード判定・データ
出力制御部。
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) H03M 7/42

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 可変長の圧縮符号を順次読み込んで、そ
    の値で決定される分岐先に順次分岐しながら復号値を得
    る圧縮符号の復号化方法において、 前記圧縮符号を2mビット(mは2以上の整数)のレジ
    スタからnビット(nは2以上でm以下の整数)ずつ読
    み込み、 復号可能であれば復号値及び復号処理に供されたビット
    数の情報を出力し、前記復号処理に供されたビット数の
    情報に基づいて次に読み込む前記nビットの圧縮符号
    格納された前記レジスタの位置を決定し、 復号不可能であれば次の分岐先情報を出力して前記レジ
    スタからnビットの圧縮符号を読み込む位置をnビット
    ずらして、前記復号値が決定されるまで前記nビットの
    圧縮符号の読み込みと分岐とを繰返し、 前記レジスタから上位mビット以上の圧縮符号が読み出
    されたら、前記レジスタに格納された圧縮符号をmビッ
    トだけ上位ビット方向にシフトすると共に、次のmビッ
    トの圧縮符号を前記レジスタの下位ビット側に格納し、
    前記レジスタからnビットの圧縮符号を読み込む位置を
    前記レジスタの上位ビット方向にmビット分ずらす こと
    を特徴とする圧縮符号の復号化方法。
  2. 【請求項2】 可変長の圧縮符号を2mビット(mは2
    以上の整数)分格納するレジスタと、 分岐先情報及び前記レジスタから読み込まれたnビット
    (nは2以上でm以下の整数)の圧縮符号から復号値が
    決定するかどうかを示す復号決定情報と、復号値が決定
    されない場合には次の分岐先情報、復号値が決定される
    場合には復号値及び復号処理に供されたビット数の情報
    とを含むノード情報を出力するノード情報出力手段と、 このノード情報出力手段から出力される復号決定情報か
    ら復号値が決定されるかどうかを判定するノード判定手
    段と、 このノード判定手段で前記復号値が決定されると判定さ
    れた場合には前記復号値を出力すると共に前記復号処理
    に供されたビット数の情報で決まる前記レジスタの次の
    nビットの格納位置を決定しこの格納位置から圧縮符号
    読み出して前記ノード情報出力手段に供給し、前記ノ
    ード判定手段で前記復号値が決定されないと判定された
    場合には前記ノード情報出力手段から出力される次の分
    岐先情報を前記ノード情報出力手段に供給すると共に前
    記レジスタからnビットの圧縮符号を読み込む位置をn
    ビットずらして次のnビットの圧縮符号を前記ノード情
    報出力手段に供給するデータ出力制御手段とを具備し、前記レジスタから上位mビット以上の圧縮符号が読み出
    されたら、前記レジスタに格納された圧縮符号をmビッ
    トだけ上位ビット方向にシフトすると共に、次のmビッ
    トの圧縮符号を前記レジスタの下位ビット側に格納し、
    前記レジスタからnビットの圧縮符号を読み込む位置を
    前記レジスタの上位ビット方向にmビット分ずらすよう
    にした ことを特徴とする圧縮符号の復号化装置。
JP30641292A 1992-10-20 1992-10-20 圧縮符号の復号化方法及び装置 Expired - Lifetime JP3145510B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP30641292A JP3145510B2 (ja) 1992-10-20 1992-10-20 圧縮符号の復号化方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30641292A JP3145510B2 (ja) 1992-10-20 1992-10-20 圧縮符号の復号化方法及び装置

Publications (2)

Publication Number Publication Date
JPH06132833A JPH06132833A (ja) 1994-05-13
JP3145510B2 true JP3145510B2 (ja) 2001-03-12

Family

ID=17956712

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30641292A Expired - Lifetime JP3145510B2 (ja) 1992-10-20 1992-10-20 圧縮符号の復号化方法及び装置

Country Status (1)

Country Link
JP (1) JP3145510B2 (ja)

Also Published As

Publication number Publication date
JPH06132833A (ja) 1994-05-13

Similar Documents

Publication Publication Date Title
KR900001821B1 (ko) 2진 데이타 압축, 신장 처리 장치
JP3332619B2 (ja) 復号装置およびその方法
US5032838A (en) Variable length code parallel decoding apparatus and method
EP0471518B1 (en) Data compression method and apparatus
JPH0879092A (ja) データを圧縮及び圧縮解除するための方法及び装置
JPS5937773A (ja) ランレングス符号復号装置
US5617089A (en) Huffman code decoding circuit
US5283840A (en) Method and apparatus for extracting image data
JP3145510B2 (ja) 圧縮符号の復号化方法及び装置
USRE43301E1 (en) Method and apparatus for an improved stack arrangement and operations thereon
US5623556A (en) System and method of extracting binary image data
US5572334A (en) Variable-length coding device
US6144321A (en) Microprocessor dedicated to processing of bit streams in a system of compression/decompression of animated images
JP3415481B2 (ja) 可変長符号の復号装置
US6556715B1 (en) Method for CCITT compression of image data
US20010031080A1 (en) Data compression processing method and apparatus
JP3221252B2 (ja) ハフマン復号器
JP2002171412A (ja) X分木命令を備えるsimd型情報処理装置
JP2002544724A (ja) データの圧縮及び非圧縮方法及び装置
JP2002084198A (ja) 可変長符号の復号方法及び装置、並びに復号テーブル
JP2772125B2 (ja) 辞書検索方式
JP3795564B2 (ja) イメージ伸張処理方法
JPH07184063A (ja) 2値画像圧縮システム
JP2001148789A (ja) 2値画像のmmr圧縮方法およびその装置
JPH06268528A (ja) 可変長符号復号器

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20080105

Year of fee payment: 7

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20080105

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090105

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090105

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100105

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100105

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110105

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120105

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20120105

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20130105

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20130105

Year of fee payment: 12

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20130105

Year of fee payment: 12

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term