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
Links
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
置の符号化方式として使用されているMH符号(Modifi
ed Haffman Code ),MR符号(Modified Read Code)
等の可変長の圧縮符号を復号化するための圧縮符号の復
号化方法及び装置に関する。
復号化する場合には、符号データを1ビットずつ判定
し、2分木を順次辿りながら復号化処理を行っている。
即ち、図7に示すMH符号のターミネイティング符号の
復号処理を例にとると、1回の判定処理によって求めら
れるノード情報は、通常、図8に示すように、そのノー
ドで復号値が決定されるかどうかのフラグと、決定され
た場合の復号値と、決定されない場合の“0”、“1”
に対応した分岐先の情報とにより構成される。例えば、
黒のMH符号として“10…”が入力された場合、まず、
図9に示すように、ルートノードから検索を開始し、最
初のビットが“1”であるため、ルートノードの“1”
の分岐先へ進む。次のノードのフラグが“継続”である
ので、次のビットを読む。次のビットが“0”であるた
め、“0”の分岐先へ進む。次の分岐先のノードのフラ
グは、“決定”であるため、そのノードの復号値“3”
を出力する。これにより、“黒3画素”が復号化された
ランレングスデータであることがわかる。
報を、決定の場合には、決定フラグと復号値、決定でな
い場合には、“0”の分岐先と“1”の分岐先で構成す
ることにより、各ノードの情報量を削減してROMテー
ブルの容量を削減することもなされている。
た従来の圧縮符号の復号化方式では、1ビットずつ符号
を判定し、分岐処理を繰返す方式であるため、10ビッ
トの圧縮符号であれば、10回の分岐が必要になる。こ
のように、従来の方式は、判定、分岐の数が多く、処理
のステップ数が増えるためにCPUの負担が大きいとい
う欠点がある。また、命令を先読みするタイプのCPU
を使用した場合には、分岐が入ると先読みした命令が無
駄になるという問題点もある。
になされたもので、判定及び分岐の数を削減することが
でき、高速処理が可能な圧縮符号の復号化方法及び装置
を提供することを目的とする。
復号化方法は、可変長の圧縮符号を順次読み込んで、そ
の値で決定される分岐先に順次分岐しながら復号値を得
る圧縮符号の復号化方法において、前記圧縮符号を2m
ビット(mは2以上の整数)のレジスタからnビット
(nは2以上でm以下の整数)ずつ読み込み、復号可能
であれば復号値及び復号処理に供されたビット数の情報
を出力し、前記復号処理に供されたビット数の情報に基
づいて次に読み込む前記nビットの圧縮符号が格納され
た前記レジスタの位置を決定し、復号不可能であれば次
の分岐先情報を出力して前記レジスタからnビットの圧
縮符号を読み込む位置をnビットずらして、前記復号値
が決定されるまで前記nビットの圧縮符号の読み込みと
分岐とを繰返し、前記レジスタから上位mビット以上の
圧縮符号が読み出されたら、前記レジスタに格納された
圧縮符号をmビットだけ上位ビット方向にシフトすると
共に、次のmビットの圧縮符号を前記レジスタの下位ビ
ット側に格納し、前記レジスタからnビットの圧縮符号
を読み込む位置を前記レジスタの上位ビット方向にmビ
ット分ずらすことを特徴とする。
は、可変長の圧縮符号を2mビット(mは2以上の整
数)分格納するレジスタと、分岐先情報及び前記レジス
タから読み込まれたnビット(nは2以上でm以下の整
数)の圧縮符号から復号値が決定するかどうかを示す復
号決定情報と、復号値が決定されない場合には次の分岐
先情報、復号値が決定される場合には復号値及び復号処
理に供されたビット数の情報とを含むノード情報を出力
するノード情報出力手段と、このノード情報出力手段か
ら出力される復号決定情報から復号値が決定されるかど
うかを判定するノード判定手段と、このノード判定手段
で前記復号値が決定されると判定された場合には前記復
号値を出力すると共に前記復号処理に供されたビット数
の情報で決まる前記レジスタの次のnビットの格納位置
を決定しこの格納位置から圧縮符号を読み出して前記ノ
ード情報出力手段に供給し、前記ノード判定手段で前記
復号値が決定されないと判定された場合には前記ノード
情報出力手段から出力される次の分岐先情報を前記ノー
ド情報出力手段に供給すると共に前記レジスタからnビ
ットの圧縮符号を読み込む位置をnビットずらして次の
nビットの圧縮符号を前記ノード情報出力手段に供給す
るデータ出力制御手段とを具備し、前記レジスタから上
位mビット以上の圧縮符号が読み出されたら、前記レジ
スタに格納された圧縮符号をmビットだけ上位ビット方
向にシフトすると共に、次のmビットの圧縮符号を前記
レジスタの下位ビット側に格納し、前記レジスタからn
ビットの圧縮符号を読み込む位置を前記レジスタの上位
ビット方向にmビット分ずらすようにしたことを特徴と
する。
ビットの判定を行うので、1ビットずつ判定する従来の
方式に比べ、分岐回数を1/nに削減することができ
る。また、例えばMH,MR,MMR符号では、出現確
率の高いランレングスデータに少ないビット数を割り当
てるようにしているので、nの値を適当な値、例えば4
ビット程度に設定しても、1回の判定処理で復号値が決
定される確率は極めて高くなる。このため、分岐処理の
頻度が減少する。したがって、この発明によれば、従来
の2分木を辿る復号化方式に比べて、復号処理を大幅に
高速化することができる。
例について説明する。図1はこの発明の実施例に係るM
H符号の復号化装置を示すブロック図である。ここで
は、1度に4ビットずつ判定する例について説明する。
この装置は、ノード判定と復号値の出力制御を実行する
CPU1と、ノード情報を出力するノード情報出力部2
とから構成されている。
先を格納する12ビットの分岐先レジスタ3と、入力さ
れるMH符号を格納するための16ビットの入力データ
レジスタ4とを備えている。入力データレジスタ4から
は任意の位置の4ビットのデータのみが取り出されるよ
うになっており、この4ビットのデータを下位とし、分
岐先レジスタ3からの12ビットの分岐先データを上位
とする16ビットのデータが、ノード情報出力部2の入
力値として供給されている。
るノード情報の一例を示す図である。即ち、ノード情報
は、32ビットのデータで、その最上位ビット(MS
B)は、復号値が決定されるかどうかを示す復号決定情
報としてのフラグである。このフラグが“0”であれば
継続(未決定)、“1”であれば決定を示している。継
続を示すフラグに続く、残りの31ビットのうち、上位
15ビットは“0”、下位16ビットは次の分岐先情報
となっている。なお、分岐先情報のうち下位4ビット
は、常に“0”となっている。また、決定を示すフラグ
に続く、残りの31ビットのうち、上位15ビットは値
(復号値)、下位16ビットは復号処理に供されたビッ
ト数の情報valid となっている。
ブルで構成した場合の記憶内容を示す図である。ROM
データとして記憶された分岐先情報は、次にアクセスす
るROMアドレスに対応している。ここで、白のランレ
ングスへの復号化のために必要なノード数が351であ
るとすると、黒のランレングスへの復号化のためのノー
ドは、アドレス352から開始されることになる。
ード判定とデータ出力制御とを実行するノード判定・デ
ータ出力制御部5が備えられている。ノード判定・デー
タ出力制御部5は、ノード情報出力部2から出力される
ノード情報のうちのフラグを判定して、継続であれば、
分岐先情報のうち、上位12ビットを分岐先レジスタ3
にセットし、入力データレジスタ4から次の4ビットの
符号データを取り出して、12ビットの分岐先情報と合
わせた16ビットのデータを、ノード情報出力部2のア
ドレスとして供給する。また、ノード判定・データ出力
制御部5は、ノード情報出力部2から出力されるノード
情報のうちのフラグが決定を示している場合には、復号
値を出力すると共に、使用ビット数を示すvalid 情報に
基づいて次に入力データレジスタ4から取り出す4ビッ
トの位置を決定する。
意の4ビットのデータを取り出すには、例えばC言語の
ビットフィールドを使用することができる。即ち、図4
に示すように、16ビットのデータのうち、任意の数の
ビットを読み飛ばした後の4ビットをアクセスできるデ
ータ構造を定義する。ここで、dmは、図5に示すよう
に、16ビットのデータのうちMSBから読み飛ばすビ
ット数を意味し、getData.fourXは、7−Xビット読み
飛ばした後の4ビットを取り出すという命令を示してい
る。なお、ここではMSBから最大7ビットを読み飛ば
し可能にし、上位8ビットのデータを復号処理に使い切
った時点で、8ビットずれた次の16ビットを新たなデ
ータとして入力データレジスタ4にセットするようにし
ている。
作について説明する。図6は、CPU1の処理を示すフ
ローチャートである。先ず、初期設定操作として、変数
Xに7をセットし、分岐先レジスタ3の内容をルートノ
ードに対応した値にプリセットする。例えば白のランレ
ングスの復号化に351のノードが必要である場合に
は、白の復号化のときに“0”、黒の復号化のときに
“352”がプリセットされる(S1)。次に入力デー
タレジスタ4にMH符号データを16ビット分セットし
(S2)、“getData.fourX”コマンドにより、指定さ
れた位置の4ビットを取り出す(S3)。これにより、
ノード情報出力部2にアドレスが供給される。次に、ノ
ード情報出力部2(ROM)から出力されるノード情報
を参照し(S4)、フラグを判定する(S5)。
まれる分岐先情報を分岐先レジスタ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ビットずつの判
定処理を実現することができる。
力されたとすると、黒のルートノードは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ビット使用”に
なる。
入力されたとすると、最初の4ビットは“0001”である
から、ルートノードは352+1(=“0001”)=35
3となる。図3を参照すると、アドレス“353”のフ
ラグは“0”(継続)であるから、CPU1は、分岐先
“400”を分岐先レジスタ3にセットする。次の4ビ
ットは“0100”であるから、400+4(=“0100”)
=404を参照すると、フラグが“1”(決定)である
ので、値“8”を検索結果として出力し、valid =
“2”により、2ビットが使用されたことが分かる。
分岐回数で可変長のMH符号を復号化することができる
ので、高速処理が可能になる。なお、以上はMH符号を
例にあげて説明したが、本発明は、MR符号及びMMR
符号等の他の可変長圧縮符号の復号化全般にも適用可能
である。また、上記実施例では4ビットを一度に判定す
る例について説明したが、複数ビット数であれば、本発
明の効果を奏することができる。なお、参考までに、判
定ビット数がそれぞれ1,4,8の場合の処理時間の実
測データを下記表1に示す。原稿は、MH符号で符号化
されたA1サイズの等高線図を使用した。
むビット数を1ビットから4ビットにすることにより、
処理時間をほぼ1/2に短縮することができる。なお、
4ビットと8ビットで大きな差がないのは、MH符号の
性質上、出現頻度の高い符号に2〜4ビットという少な
いビット数を割り当てているので、殆どの場合、1回の
判定で復号値が決定されてしまうからである。しかし、
ビット数を増やすことは、全体的なノード数を削減でき
ることを意味し、これはROMテーブルの容量を削減す
る上で極めて有利である。
回の判定処理でn(複数)ビットの判定を行うので、従
来の1ビットずつ判定して2分木を辿る復号化方式に比
べて、復号処理を大幅に高速化することができるという
効果を奏する。
の構成を示すブロック図である。
る。
Mテーブル)の内容を示す図である。
取り出すデータ構造を設定するプログラムを示す図であ
る。
取り出す処理を説明するための図である。
トである。
示す図である。
る。
ための図である。
を示す図である。
タ、4…入力データレジスタ、5…ノード判定・データ
出力制御部。
Claims (2)
- 【請求項1】 可変長の圧縮符号を順次読み込んで、そ
の値で決定される分岐先に順次分岐しながら復号値を得
る圧縮符号の復号化方法において、 前記圧縮符号を2mビット(mは2以上の整数)のレジ
スタからnビット(nは2以上でm以下の整数)ずつ読
み込み、 復号可能であれば復号値及び復号処理に供されたビット
数の情報を出力し、前記復号処理に供されたビット数の
情報に基づいて次に読み込む前記nビットの圧縮符号が
格納された前記レジスタの位置を決定し、 復号不可能であれば次の分岐先情報を出力して前記レジ
スタからnビットの圧縮符号を読み込む位置をnビット
ずらして、前記復号値が決定されるまで前記nビットの
圧縮符号の読み込みと分岐とを繰返し、 前記レジスタから上位mビット以上の圧縮符号が読み出
されたら、前記レジスタに格納された圧縮符号をmビッ
トだけ上位ビット方向にシフトすると共に、次のmビッ
トの圧縮符号を前記レジスタの下位ビット側に格納し、
前記レジスタからnビットの圧縮符号を読み込む位置を
前記レジスタの上位ビット方向にmビット分ずらす こと
を特徴とする圧縮符号の復号化方法。 - 【請求項2】 可変長の圧縮符号を2mビット(mは2
以上の整数)分格納するレジスタと、 分岐先情報及び前記レジスタから読み込まれたnビット
(nは2以上でm以下の整数)の圧縮符号から復号値が
決定するかどうかを示す復号決定情報と、復号値が決定
されない場合には次の分岐先情報、復号値が決定される
場合には復号値及び復号処理に供されたビット数の情報
とを含むノード情報を出力するノード情報出力手段と、 このノード情報出力手段から出力される復号決定情報か
ら復号値が決定されるかどうかを判定するノード判定手
段と、 このノード判定手段で前記復号値が決定されると判定さ
れた場合には前記復号値を出力すると共に前記復号処理
に供されたビット数の情報で決まる前記レジスタの次の
nビットの格納位置を決定しこの格納位置から圧縮符号
を読み出して前記ノード情報出力手段に供給し、前記ノ
ード判定手段で前記復号値が決定されないと判定された
場合には前記ノード情報出力手段から出力される次の分
岐先情報を前記ノード情報出力手段に供給すると共に前
記レジスタからnビットの圧縮符号を読み込む位置をn
ビットずらして次のnビットの圧縮符号を前記ノード情
報出力手段に供給するデータ出力制御手段とを具備し、前記レジスタから上位mビット以上の圧縮符号が読み出
されたら、前記レジスタに格納された圧縮符号をmビッ
トだけ上位ビット方向にシフトすると共に、次のmビッ
トの圧縮符号を前記レジスタの下位ビット側に格納し、
前記レジスタからnビットの圧縮符号を読み込む位置を
前記レジスタの上位ビット方向にmビット分ずらすよう
にした ことを特徴とする圧縮符号の復号化装置。
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) |
-
1992
- 1992-10-20 JP JP30641292A patent/JP3145510B2/ja not_active Expired - Lifetime
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 |