JP3482820B2 - データ符号化方法およびデータ符号化装置ならびにデータ復号化方法およびデータ復号化装置 - Google Patents
データ符号化方法およびデータ符号化装置ならびにデータ復号化方法およびデータ復号化装置Info
- Publication number
- JP3482820B2 JP3482820B2 JP16705397A JP16705397A JP3482820B2 JP 3482820 B2 JP3482820 B2 JP 3482820B2 JP 16705397 A JP16705397 A JP 16705397A JP 16705397 A JP16705397 A JP 16705397A JP 3482820 B2 JP3482820 B2 JP 3482820B2
- Authority
- JP
- Japan
- Prior art keywords
- prediction
- bit
- symbol
- input
- dominant
- 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
Links
- 238000000034 method Methods 0.000 title claims description 157
- 230000008569 process Effects 0.000 claims description 89
- 238000004364 calculation method Methods 0.000 claims description 23
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 3
- 238000005259 measurement Methods 0.000 claims 1
- 238000000926 separation method Methods 0.000 claims 1
- 238000007906 compression Methods 0.000 description 21
- 230000006835 compression Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 12
- 230000006837 decompression Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000013144 data compression Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 241000611421 Elia Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000008521 reorganization Effects 0.000 description 1
Landscapes
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
圧縮するデータ符号化方法およびデータ符号化装置なら
びに圧縮された2値のデータを伸長するデータ復号化方
法およびデータ復号化装置に関する。
を扱う情報理論の世界では、算術符号化方式と呼ばれる
ものが知られている。この算術符号化方式は、エントロ
ピー符号化方式であり、本質的に可逆符号化(ロスレ
ス)の性質を持つものである。そして、その原理は、エ
ライアスの符号化として知られている無記憶情報源に対
する理想的符号化方式を実用可能な形に再編成したもの
となっている。すなわち、算術符号とは、“0”と
“1”の直線上の対応区間を各シンボルの生起確率に応
じて不等長に分割していき、対象シンボル系列を対応す
る部分区間に割り当て、再帰的に分割を繰り返していく
ことにより得られた区間内に含まれる点の座標を、少な
くとも他の区間と区別できる2進小数で表現してそのま
ま符号とするものである。
ンボルに特定の符号語を対応させるブロック符号に比
べ、符号器の規模が必要メモリ量などのハードウェアが
小さくて済むこと、高い効率を期待できることおよび適
応符号化が容易なこと等の利点がある。このこと等か
ら、2値信号を扱う情報理論の世界では、この算術符号
化方式がその情報の持つエントロピーに最も近いレベル
に圧縮できるとされ、最も効率の良い符号化方式と言わ
れている。なお、この算術符号化方式は、特に、マルコ
ア情報源の符号化に適するものとなっている。
術符号型MELコード、Mini−Maxコーダ等が提
案されている。そして、これらの算術符号を改善したも
のとして、QMコーダと呼ばれている方式が知られてい
る。このQMコーダは、カラー静止画符号化標準(JP
EG)および2値画像符号化標準(JBIG)の両標準
において、共通に使用されている。なお、このQMコー
ダは、2値情報源用の符号であり、JPEGのような多
値情報源の符号化にあたっては、その多値情報源を2値
化するための前処理を必要としている。このような場
合、符号化すべき2値シンボル数は増大するが、多値情
報源としての情報量を増大させることなしに2値系列に
変換することが可能となっている。
Gの規定の中にその仕組みについて詳細に述べられてい
るが、ここでは後述する本発明との比較のために、その
概要を図12に基づき簡単に説明する。なお、算術復号
型のエントロピー復号器の構成は、エントロピー符号器
の構成と実質的に同一であるので、ここではその説明は
省略する。
るQMコーダ101は、算術演算部102と、状態記憶
器として機能する発生確率生成手段103とを含んで構
成される。この発生確率生成手段103内には、符号化
に必要なシンボル発数確率を決定するために必要な状態
パラメータテーブルが書き込まれている。上記の状態パ
ラメータは、入力される状態信号106によって特定さ
れる。そして、この状態信号106によって特定された
状態パラメータのテーブルに対し、算術演算部102は
演算パラメータ更新時のデータを、読出しアドレスとし
て出力し、これにより特定される発生確率生成手段10
3のデータが算術演算部102へ向け出力される。算術
演算部102は、このようにして入力されるデータに基
づき、入力されるデータ104を符号化データ105に
圧縮し、符号化して出力する。なお、発生確率生成手段
103には、状態信号106が入力される。これは例え
ば、マルコフモデルと呼ばれるような手法等により求め
られる参照画素データ等であり、圧縮率を高めるために
利用される信号である。
ついて図13のフローチャートに基づき説明する。ま
ず、QMコーダ101内のレジスタAに0xFFFF
を、レジスタCに0x0000を代入する。また、確率
推定のためのインデックスSTを初期化する(ステップ
S100)。次に、符号化対象のシンボル(1ビット)
を取り込む(ステップS101)。そして、取り込んだ
シンボルが、優勢シンボルか劣勢シンボルかを判定する
(ステップS102)。優勢シンボルの時はステップS
103に進み、劣勢シンボルの時はステップS106に
進む。
ルLSZを参照し、劣勢シンボルの生起確率を求め、さ
らに、それをレジスタAから減じることにより優勢シン
ボルの生起確率を求め、その値をレジスタAに代入する
(ステップS103)。その後、レジスタAの最上位ビ
ットが“1”かどうか調べる(ステップS104)。
“1”ならステップS105に進み、“0”ならステッ
プS114に進む。そして、“1”のときは、インデッ
クスSTによって確率推定テーブルNMPSを参照し、
次のシンボルの符号化のためのインデックスSTを求め
ておく(ステップS105)。
のときは、インデックスSTによって確率推定テーブル
LSZを参照し、劣勢シンボルの生起確率を求め、それ
をレジスタAに代入する(ステップS106)。その
後、レジスタCにレジスタAの値を加える(ステップS
107)。そして、インデックスSTによって確率推定
テーブルSWITCHを参照し(ステップS108)、
これが“1”のときはステップS109に進み、優勢シ
ンボルを変更する。
スSTによって確率推定テーブルNLPSを参照し、次
のシンボルの符号化のためのインデックスSTを求めて
おく。そして、ステップS111ではレジスタA,レジ
スタCを共に1ビット左シフトする。この左シフトによ
り、レジスタCから溢れた最上位ビットを符号語として
出力する(ステップS112)。そして、ステップS1
13において、レジスタAの最上位ビットが“1”かど
うか調べ、“1”のときは、ステップS111に戻って
シフトを繰り返す。最上位ビットが“0”のときはステ
ップS114にいき、符号化したシンボルが最後のシン
ボルなら終了する。そうでなければステップS101に
戻る。
率推定テーブルLSZ,NMPS,NLPSを利用して
入力されてくる2値のビット列を圧縮して符号化する。
Mコーダ101等の算術符号化方式は、符号化効率は良
いものの図13に示すフローチャートに示されるよう
に、1ビットずつ符号化するため符号化速度が遅いもの
となっている。このため、実用面では、レンベル・ジブ
系(=LZ系)の符号化方式が優勢となっている。しか
し、このLZ系の符号化方式は、符号化効率が算術符号
化方式にくらべ、かなり落ちるものとなっている。この
ように、従来の技術には、符号化効率が算術符号化方式
程度に良く、しかも符号加速度がLZ系程度に速いもの
が存在していない状況である。
符号化および復号化効率を達成すると共に符号化および
復号化速度を大幅に向上させ、LZ系の速度に近づけた
新しいデータ符号化方法およびデータ符号化装置ならび
にデータ復号化方法およびデータ復号化装置を提供する
ことを目的とする。
め、請求項1記載のデータ符号化方法では“0”および
“1”からなる2値のビット列を入力する際、“0”ま
たは“1”のいずれか一方を優勢シンボルとし、いずれ
か他方を劣勢シンボルとすると共に、その優勢シンボル
がn個連続すると予測し、そのn個を予測ビット数とし
て設定する予測設定工程と、入力された予測ビット数か
らなる注目系列について予測が当たったときに符号語と
して“0”または“1”のいずれか一方の信号を予測当
たり信号として出力し、次のn個のビット列を符号化す
る作業に移り、はずれたときに符号語として“0”また
は“1”のいずれか他方の信号を予測はずれ信号として
出力する予測結果出力工程と、予測が所定回数はずれた
ときに予測ビット数をn個より少ない新減少予測ビット
数として同様の予測設定工程と予測出力工程とを再帰的
に繰り返して行なうようにしている。
ことを予測し、予測が当たったときには、n個のビット
が1つの予測当たり信号等で表示されることとなり、圧
縮効率が高まると共に符号化速度が速くなる。しかも予
測がはずれると、予測ビット数を減少させ、次の予測を
行うようにしたので、予測がはずれても圧縮効率や符号
化速度はそれ程減少しない。
記載のデータ符号化方法において、n個を偶数個とし、
予測が所定回数はずれたときに注目系列を2分割し、そ
の2分割された前半部の前半部注目系列のみに劣勢シン
ボルが存在するとき、新減少予測ビット数を予測ビット
数の1/2とし、2分割された後半部の後半部注目系列
に劣勢シンボルが存在するとき新減少予測ビット数を予
測ビット数の1/4としている。
が存在すると、次の注目系列に一層多くの劣勢シンボル
が存在する場合が多いのであるが、この請求項2記載の
発明では、そのような状況への対応ができ、符号化速度
や効率を上げることができる。
1または2記載のデータ符号化方法において、新減少予
測ビット数が1となり、かつそのビットが劣勢シンボル
のとき、以降の符号化において従来の劣勢シンボルを優
勢シンボルとし、従来の優勢シンボルを劣勢シンボルと
して符号化するようにしている。その結果、入力データ
の実態に合わせ、適切な予測ができることとなり、高い
符号化速度や効率を維持できることとなる。
1、2または3記載のデータ符号化方法において、所定
回数を1回としている。このため、予測ビット数を早め
に減少させることができ、一定の傾向を有するビット列
の符号化速度を速くできる。また、請求項5記載の発明
では、請求項1、2、3または4記載のデータ符号化方
法において、予測が規定回数当たったときに、予測ビッ
ト数をn個より多い新増加予測ビット数としている。こ
のため、予測が当たれば当たる程、圧縮効率が高まりか
つ符号化速度が速くなる。
は、“0”および“1”からなる2値のビット列を入力
する際、“0”または“1”のいずれか一方を優勢シン
ボルとし、いずれか他方を劣勢シンボルとすると共に、
その優勢シンボルがn個連続すると予測し、そのn個を
予測ビット数として設定する予測設定工程と、入力され
た予測ビット数からなる注目系列について予測が当たっ
たときに符号語として“0”または“1”のいずれか一
方の信号を予測当たり信号として出力し、次のn個のビ
ット列を符号化する作業に移り、はずれたときに符号語
として“0”または“1”のいずれか他方の信号を予測
はずれ信号として出力する予測結果出力工程と、予測が
規定回数当たったときに、予測ビット数をn個より多い
新増加予測ビット数として同様の予測設定工程と予測結
果出力工程とを繰り返し行わせている。
が1つの予測当たり信号等で表示されることとなり圧縮
効率が高まると共に符号化速度が速くなる。しかも予測
が当たれば当たる程、データの圧縮効率が一層高まると
共に符号化速度が一層速くなる。
5または6記載のデータ符号化方法において、規定回数
を2回とし、新増加予測ビット数を予測ビット数の2倍
としている。このため、予測の当たりが続くこと、すな
わち、一定の傾向が出始めてから予測ビット数を変えて
いるので、データの圧縮効率を高めることができる。し
かもその値を従前の2倍としているので、ちょうど当た
りによって連続した優勢シンボルのビット数と同一とな
り、次の予測も当たる確率が高くなる。この結果、圧縮
効率を高めることができると共に符号化速度を速くする
ことができる。加えて、請求項8記載の発明では、請求
項1、2、3、4、5、6または7記載のデータ符号化
方法において、n個を2m(mは1以上の整数)個とし
ている。このため、予測がはずれたときの分割を均等分
割できると共にどんどん分割でき最後に1個のビット数
とすることができる。
記載のデータ符号化方法において、予測がはずれたとき
注目系列を2分割し、2分割された前半部の前半部注目
系列がすべて優勢シンボルのときは符号語として“0”
を出力し、2分割された後半部の後半部注目系列をさら
に2分割し、“0”または“1”の符号語を出力する前
半部当たり工程と、前半部注目系列に劣勢シンボルが存
在するときは符号語として“1”を出力すると共に、前
半部注目系列をさらに2分割し、“0”または“1”の
符号語を出力する前半部はずれ工程を有し、各分割され
た注目系列中に劣勢シンボルが存在する限り、その注目
系列の分割を繰り返し、前半部当たり工程と前半部はず
れ工程を再帰的に繰り返している。
達成できると共にQMコーダの数倍の符号化速度を達成
できることとなる。
8記載のデータ符号化方法において、予測がはずれたと
き注目系列を2分割し、2分割された後半部の後半部注
目系列がすべて優勢シンボルのときは符号語として
“0”を出力し、2分割された前半部の前半部注目系列
をさらに2分割し、“0”または“1”の符号語を出力
する後半部当たり工程と、後半部注目系列に劣勢シンボ
ルが存在するときは符号語として“1”を出力すると共
に、後半部注目系列をさらに2分割し、“0”または
“1”の符号語を出力する後半部はずれ工程を有し、各
分割された注目系列中に劣勢シンボルが存在する限り、
その注目系列の分割を繰り返し、後半部当たり工程と後
半部はずれ工程を再帰的に繰り返している。
達成できると共にQMコーダの数倍の符号化速度を達成
できることとなる。
および“1”からなる2値の入力ビット系列を圧縮して
符号化するデータ符号化装置において、“0”または
“1”のいずれか一方を優勢シンボルとし、いずれか他
方を劣勢シンボルとすると共にその優勢シンボルがn個
連続すると予測し、そのn個を予測ビット数として設定
する予測ビット長等演算設定部と、入力ビット系列を一
時記憶するバッファレジスタと、予測ビット長等演算設
定部およびバッファレジスタの各値を入力し、その入力
された予測ビット数からなる注目系列について予測が当
たったときに符号語として“0”または“1”のいずれ
か一方の信号を予測当たり信号として出力し、はずれた
ときに符号語として“0”または“1”のいずれか他方
の信号を予測はずれ信号として出力する判定部とを備
え、予測が所定回数はずれたときに予測ビット数をn個
より少ない新減少予測ビット数を予測ビット長等演算設
定部で設定し、予測が規定回数当たったときに予測ビッ
ト数をn個より多い新増加予測ビット数を予測ビット長
等演算設定部で設定している。
1つの予測当たり信号等で表示されることとなり、圧縮
効率が高まると共に符号化速度が速くなる。しかも、予
測が当たれば当たる程、予測ビット数を多くしているの
で、一層圧縮効率が高まることとなる。加えて、予測が
はずれると、予測ビット数を減少させているので、予測
がはずれても圧縮効率や符号化速度はそれ程減少するこ
とはない。
置では、入力ビット系列を一時記憶するレジスタ群より
なるバッファレジスタと、符号化する注目系列の先頭位
置を示す変数ofsを保持するレジスタおよび予測ビッ
ト長を示す変数widthを保持するレジスタを内蔵す
る予測ビット長演算部と、この予測ビット長演算部が出
力するバッファレジスタ上のofsの位置およびそのo
fsからwidthにより定まるバッファレジスタ上の
入力ビット系列を選択し、その入力ビット系列がすべて
優勢シンボルのとき符号ビット出力として1つの優勢シ
ンボルを出力し、劣勢シンボルが含まれるときは1つの
劣勢シンボルを出力する判定部と、バッファレジスタ内
の入力ビット系列の符号化が完了した旨の完了信号を予
測ビット長演算部より受けたとき入力ビット要求を行う
入出力制御信号発生部と、刻々変化するwidthの値
を保持しておくためのメモリとなるスタック・メモリ
と、予測ビット長演算部より過去の符号化の状態を入力
し、新たに入力する入力ビット系列の予測ビット長と優
勢シンボルを設定する予測ビット長・優勢シンボル設定
部とを備え、入出力制御信号発生部は完了信号を予測ビ
ット長演算部より受けたとき、バッファレジスタに対し
て予測ビット長・演算シンボル設定部によって新たに設
定された新予測ビット長で示される個数の入力ビット系
列の取り込みを指示している。
って予測ビット長を変化させているので、予測が当たれ
ばn個のビットが1つの予測当たり信号等で表示される
こととなり、圧縮効率が高まると共に符号化速度が速く
なる。しかも、予測が当たれば当たる程、予測ビット数
を多くしているので、一層圧縮効率が高まることとな
る。加えて、予測がはずれると、予測ビット数を減少さ
せているので、予測がはずれても圧縮効率や符号化速度
はそれ程減少することはない。
では、符号化されたデータを入力し“0”および“1”
からなる2値のビット列に復号化するデータ復号化方法
において、“0”または“1”のいずれか一方を優勢シ
ンボルとし、いずれか他方を劣勢シンボルとすると共
に、その優勢シンボルがn個(nは1以上の整数)連続
すると予測したその予測結果を“0”および“1”から
なる2値のビット列で表した符号語を1ビットずつ入力
する入力工程を有し、入力された符号語が予測当たりの
値のとき優勢シンボルをn個連続して復号化すると共
に、予測当たりが所定回数連続したときはn個より多い
数の優勢シンボルが連続すると新たに予測するようにし
ている。
の符号語でn個の優勢シンボルを復号できるので、伸長
効率が高くなり、復号速度が速くなる。しかも予測が当
たっていればいる程、1つの符号語で復号できる優勢シ
ンボルの数を多くできるので一層伸長効率が高くなると
共に、復号速度が速くなる。
法では、“0”または“1”のいずれか一方を優勢シン
ボルとし、いずれか他方を劣勢シンボルとすると共に、
その優勢シンボルがn個(nは1以上の整数)連続する
と予測したその予測結果を“0”および“1”からなる
2値のビット列で表した符号語を1ビットずつ入力する
入力工程と、入力された符号語が予測当たりの値のと
き、優勢シンボルをn個連続して復号化すると共に、入
力された符号語が予測はずれの値のとき、次の符号語を
入力する予測結果復号化工程と次の符号語の値が予測当
たりの値のとき優勢シンボルをn−m個連続して復号化
し、予測はずれの値のときは再度次の符号語を入力する
工程を再帰的に繰り返し、0<n−m≦1のときの予測
はずれ時に劣勢シンボルを復号化するようにしている。
の符号語でn個の優勢シンボルを復号できるので、伸長
効率が高くなり、復号速度が速くなる。しかも予測が当
たっていればいる程、1つの符号語で復号できる優勢シ
ンボルの数を多くできるので一層伸長効率が高くなると
共に、復号速度が速くなる。加えて、予測はずれのとき
に予測ビット長を減らす作業を再帰的に繰り返し、最終
的に劣勢シンボルを復号化しているので、予測はずれが
生じても効率的にデータを復号化できる。
されたデータとなる符号ビットを入力し、“0”および
“1”からなる2値のビット列からなる復号ビットに復
号化するデータ復号化装置において、“0”または
“1”のいずれか一方を優勢シンボルとし、いずれか他
方を劣勢シンボルとしたとき符号ビットの優勢シンボル
と予測ビット長n個を設定する予測ビット長等設定演算
部と、この予測ビット長等設定演算部からの復号ビット
出力許可信号を受けて入力中の符号ビットを所定の形で
一時保持すると共に復号ビットを出力する復号ビット設
定部とを備え、入力された符号ビットが優勢シンボルの
場合、復号ビット出力許可信号を出力し復号ビット設定
部に優勢シンボルを書き込むと共に優勢シンボルが所定
回数連続したときは予測ビット長をn個より多い数に変
更している。
の符号語でn個の優勢シンボルを復号できるので、伸長
効率が高くなり、復号速度が速くなる。しかも予測が当
たっていればいる程、1つの符号語で復号できる優勢シ
ンボルの数を多くできるので一層伸長効率が高くなると
共に、復号速度が速くなる。
“0”または“1”のいずれか一方を優勢シンボルと
し、いずれか他方を劣勢シンボルすると共にそのシンボ
ルがn個(nは1以上の整数)連続すると予測したその
予測結果を“0”および“1”からなる2値のビット列
で表した符号ビットを1ビットずつ入力する復号化する
復号化装置において、符号ビットの予測ビット長と優勢
シンボルを設定する予測ビット長・優勢シンボル設定部
と、この予測ビット長・優勢シンボル設定部から予測ビ
ット長と優勢シンボルならびに符号ビットを入力し、そ
の符号ビットの値に応じて復号ビット出力許可信号を出
力する予測ビット長演算部と、復号ビット出力許可信号
を入力し、入力中の符号ビットを所定の形で一時保持す
ると共に復号ビットを出力する復号ビット設定部とを備
え、予測ビット長演算部に入力された符号語が予測当た
りの値の時、優勢シンボルをn個連続して復号ビット設
定部に書き込むと共に、入力された符号語が予測はずれ
のとき次の符号ビットを入力し、その値が予測当たりの
値の時、優勢シンボルをn−m個(mは1以上の整数で
nより小さい値)連続して復号ビット設定部に書き込
み、予測はずれのときは再度次の符号を予測ビット長演
算部に入力するようにしている。
の符号語でn個の優勢シンボルを復号できるので、伸長
効率が高くなり、復号速度が速くなる。しかも予測が当
たっていればいる程、1つの符号語で復号できる優勢シ
ンボルの数を多くできるので一層伸長効率が高くなると
共に、復号速度が速くなる。加えて、予測はずれのとき
に予測ビット長を減らす作業を再帰的に繰り返し、最終
的に劣勢シンボルを復号化しているので、予測はずれが
生じても効率的にデータを復号化できる。
号化装置では、2値のビット列を入力する際、“0”か
“1”を優勢シンボルと定め、その優勢シンボルがn個
連続すると予測する。この予測が当たったときは、符号
語として“0”または“1”のいずれか一方を出力し、
符号化を完了する。はずれた場合は、“0”または
“1”のいずれか他方を出力すると共に、その注目系列
を分割し、それぞれの分割された系列の信号状態を上述
と同様な方法で確認し符号化していく。そして、予測が
当たるか分割が不可能になるまで、同様の分割と予測を
繰り返し符号化する。また、最初の予測ビット数nを予
測の当たりはずれに応じて変化させ、注目系列の確率変
動に追随させている。
ータ復号化装置では、先に示したデータ符号化方法およ
びデータ符号化装置とは、逆のアルゴリズムを使用して
復号化している。
図1から図11に基づき説明する。
て図1から図3に基づいて説明する。この発明のアルゴ
リズムは、QMコーダと同様、2値のビット列を圧縮の
対象としている。まず初期値として、“0”か“1”の
いずれかを優勢シンボルと定め、そのシンボルが連続す
ると予測する個数runを設定する。入力系列の出現確
率が不明の場合は、runを1に設定するのが良い。そ
の上で、以下に示すようなルールに従い符号化を進め
る。なお、個数runが予測ビット数に相当する。
系列がすべて優勢シンボルであると予測し、予測が当た
ったとき、符号語として“0”を出力し、この系列の符
号化を完了する。はずれた場合は“1”を出力し、次の
分割符号化工程を実行する。予測がはずれた場合は、図
2に示すように注目系列を前半部系列と後半部系列の2
つに分け、前半部がすべて優勢シンボルのときは符号語
として“0”を出力して、前半部系列の符号化を完了す
る。前半部系列に劣勢シンボルが存在するときは、符号
語として“1”を出力し、次の再分割の工程を実行す
る。前半部系列の符号化が完了したら注目系列を後半部
に移し、前半部系列と同様に符号化する。劣勢シンボル
が存在する系列は、可能な限り系列を分割して上述の分
割符号化工程を繰り返す。
る必要はなく、不均等な分割としたり3つ以上の分割と
しても良い。また、予測が当たったとき“0”ではな
く、優勢シンボルを出力し、はずれた場合“1”ではな
く、劣勢シンボルを出力するようにしたり、予測当たり
で“1”を、予測はずれで“0”を出力するようにして
も良い。
ゴリズムであるが、さらに、入力系列の出現確率の変化
に追随し、符号化効率を向上させるため、以下の処理を
加えるようにしても良い。すなわち、runで予測した
系列が続けて所定回数、例えば、2回当たったとき、r
unを2倍等に増加させる。なお、予測が的中し続けた
場合、さらに予測範囲を拡大していくようにしても良
い。また、runで予測した系列の後半部系列に劣勢シ
ンボルが存在するとき、runを1/4等に減少させる
ようにしても良い。これは、後半部に劣勢シンボルが存
在するときは、次に続く系列に劣勢シンボルが多く含ま
れると判断されているためである。このため、runで
予測した系列の前半部系列のみに劣勢シンボルが存在す
るときは、後半部に劣勢シンボルが存在するときより多
い値、例えばrunを1/2倍するようにしても良い。
そして、runが1で、それが劣勢シンボルのときは、
以降の入力系列を反転させる。すなわち、優勢シンボル
を変更させる。
の符号化メインルーチンと図5の符号化サブルーチンに
より構成される。なお、図5中の符号化サブルーチン
は、サブルーチンから同じサブルーチンを呼び出すいわ
ゆる関数の再帰読出しを行っている。
テップについて説明する。なお、符号化の対象は2値の
ビット列からなる入力系列となっている。最初に、予測
の初期値runの設定と優勢シンボルの選択(“0”ま
たは“1”)を行う(ステップS0)。次に、ローカル
変数ofsに0を、widthにrunを代入する(ス
テップS1)。ここでofsは、符号化のために予め定
義した配列Aのポインタで、予測開始ビット位置を示
す。したがって初期値は0となる。widthはofs
で示したビット位置から何ビットを予測の対象にするか
を示す値で、ここでは、予測の初期値runが代入され
る。その後、予め定義した配列AのA〔ofs〕からA
〔width−1〕までに入力ビットを書き込む(ステ
ップS2)。そして、A〔ofs〕からA〔width
−1〕のすべての要素が優勢シンボルのときステップS
4へ進み、ひとつでも劣勢シンボルが含まれているとき
は、ステップS5へ進む。
たり信号“0”を出力し、配列Aに取り込んだ系列の符
号化を完了する(ステップS4)。一方、予測はずれた
場合、符号語として予測はずれ信号“1”を出力する
(ステップS5)。そして、widthが1以上か否か
を検出する(ステップS6)。widthが1以下なら
これ以上分割できないので、ステップS7の符号化サブ
ルーチンへは移行せずステップS8へ移行する。一方、
widthが1を超えていると、図5の符号化サブルー
チンを呼び出す(ステップS7)。
必要ならば優勢シンボルの変更を行う。すなわち、この
ステップS8においては、基本的には予測が的中すれ
ば、runを大きくし、はずれれば小さくする。そして
runを小さくしても予測が所定回数はずれ続けるよう
なら、優勢シンボルの変更を行う。なお、予測の的中や
予測のはずれをどのように評価するかについては、さま
ざまな方法を採用することができる。たとえば、予測が
はずれた場合、直ちにrunを小さくしたり、2回以上
連続してはずれたとき、初めてrunを小さくする等の
方法を採用することができる。さらに、前半部系列もし
くは後半部系列のみはずれた場合と、両方はずれた場合
とでrunの縮小の度合いを異ならせる方法も採用でき
る。また、符号済みビット系列で所定の確率テーブルを
引き、次の予測runを設定する等の方式も採用可能で
ある。
た場合は、ステップS7で図5に示す符号化サブルーチ
ンを呼び出す。符号化サブルーチンへ渡す引き数は、o
fsとwidthである。以下、符号化サブルーチンの
各ステップについて説明する。
列と後半部系列に分けて行うため、予測の範囲を半分に
する(ステップS10)。すなわち、親ルーチンから引
き数として受け取ったwidthを1/2にする。そし
て、次のステップS11で、前半部系列(配列のA〔o
fs〕からA〔ofs+width−1〕まで)がすべ
て優勢シンボルか否かをチェックする。すべて優勢シン
ボルならステップS12へ進む。ひとつでも劣勢シンボ
ルが存在したら、直ちにステップS14へ進む。
号語として“0”を出力する(ステップS12)。そし
て、前半部系列の先頭位置を示すポインタofsにwi
dthを加え、後半部系列の先頭位置を示すように変更
する。また、前半部系列がすべて優勢シンボルのとき
は、後半部系列に必ず劣勢シンボルが存在するので、後
半部系列の予測がはずれたことを示す符号語“1”を出
力する必要がない。したがって、後述するステップS2
0はスキップし、ステップS21に進む。
る場合、符号語として“1”を出力する(ステップS1
4)。次に、widthが1を超えているか否かをチェ
ックする(ステップS15)。1以下の場合、これ以上
分割できないので、子の符号化サブルーチン(ステップ
S16)の呼び出しをスキップし、ステップS17へ移
行する。なお、widthが2以上なら、さらに系列を
2つに分け、それぞれを符号化しなければならない。そ
のための子の符号化サブルーチンを呼び出す(ステップ
S16)。子の符号化サブルーチンは、図5に示した符
号化サブルーチンと全く同一となっている。つまり、こ
こでは、同一ルーチン(関数)の再帰呼び出しを行う。
て前半部系列の符号化を終了すると、前半部系列の先頭
位置を示すポインタofsにステップS10で設定した
widthを加え、後半部系列の先頭位置を示すように
変更する(ステップS17)。その後、後半部系列(配
列のA〔ofs〕からA〔ofs+width−1〕ま
で)がすべて優勢シンボルか否かをチェックする(ステ
ップS18)。すべて優勢シンボルならステップS19
へ進む。ひとつでも劣勢シンボルが存在したら、直ちに
ステップS20へ進む。そして、後半部系列がすべて優
勢シンボルなら、符号語として“0”を出力する(ステ
ップS19)。
る場合、符号語として“1”を出力する(ステップS2
0)。そして、次に、widthが1を超えているか否
かをチェックする(ステップS21)。1以下の場合、
これ以上分割できないので、子の符号化サブルーチンを
実行するステップS22をスキップし、次の注目系列の
符号化工程へリターンする。なお、後半部系列について
も、widthが2以上なら、さらに系列を2つに分
け、それぞれ符号化する。そのため図5に示す符号化サ
ブルーチンと同一の子の符号化サブルーチンを呼び出す
(ステップS22)。この符号化サブルーチンの再帰呼
び出しによって後半部系列の符号化を実行する。
に説明する。すなわち、符号化の具体例として、予測の
初期値runを8、優勢シンボルを“0”として、“0
0001001”として表される入力ビットを符号化す
る場合について説明する。
ップS2で、A
トを入力する。ステップS3では、A
〔7〕のすべてが“0”かどうか判定する。上の例の場
合、ビット列に“1”が含まれているので、ステップS
5に移行し、まず符号語として“1”を出力する。続い
てステップS6では、widthの大きさをチェックす
るが、widthはこのとき8なので、符号化サブルー
チン(ステップS7)に進む。
10で、widthを1/2の4に設定する。そしてス
テップS11で、入力ビットの前半部、つまりA
からA〔3〕がすべて0かどうかチェックする。この場
合、すべて“0”なのでステップS12に進み、符号語
として“0”を出力する。以上で前半部系列の符号化が
完了する。続いてステップS13を実行し、後半部系列
の符号化に移るが、前半部系列がすべて“0”の場合、
後半部系列に“1”が含まれるのは明らかである。した
がって、ステップS21でwidthが1以下でない限
り後半部系列をさらに分割して符号化しなければならな
い。そこで、符号化サブルーチンを子プロセスとしてス
テップS22で再び呼び出す。なお、そのための前処理
として、上述したようにステップS13では、ofsに
widthを加え、ofsを後半部系列の先頭位置にセ
ットする。
を引き数として子の符号化サブルーチンを呼び出す。子
の符号化サブルーチンを実行するステップS22では、
まず、図5に示す符号化サブルーチンのステップS10
でwidthをさらに半分にして2に変更する。次のス
テップS11では、前半部系列、すなわちA〔4〕とA
〔5〕が共に“0”であるか否かをチェックする。この
場合、A〔4〕が“1”なので、次のステップS14に
移行し、符号語として“1”を出力する。そしてステッ
プS15でwidthが1を超えていると判断し、孫プ
ロセスをステップS16で呼び出す。孫の符号化サブル
ーチンでは、まずステップS10においてwidthが
1となる。A〔4〕は“1”なのでステップS11から
ステップS14へ処理が移り、符号語“1”を出力す
る。ステップS15では、widthが1以下なので、
ステップS16をスキップし、ステップS17でofs
を5に変更する。A〔5〕は“0”なのでステップS1
8からステップS19に処理が移り、符号語“0”を出
力する。
けて、子の符号化サブルーチンのステップS17に戻
る。子の符号化サブルーチンのofsは4、width
は2であるから、ステップS17でofsは6に変更さ
れる。したがってステップS18では、A〔6〕とA
〔7〕をチェックすることになる。この場合、A〔7〕
が“1”なのでステップS20へ移行し、符号語“1”
を出力する。そして、再び孫の符号化サブルーチンをス
テップS22で呼び出す。孫の符号化サブルーチンで
は、A〔6〕が“0”なのでステップS12で符号語
“0”を出力する。そして、widthが1なので、ス
テップS22をスキップして子の符号化サブルーチンに
復帰する。
スは、さらに符号化メインルーチンに復帰し、ステップ
S8で予測runの再設定と、優勢シンボルの再設定を
行う。この例の場合、1次予測ははずれたが、2次予測
で前半部が的中したので、runを8から4に変更し、
優勢シンボルは引き続き“0”とする処理を施す。な
お、予測runの設定は、2回続けてはずれたときに変
更する等の設定にしても良い。
力ビットである“00001001”が“101101
0”の符号化系列となる。したがってこの場合、8ビッ
トの入力系列が7ビットに圧縮されたことになる。
せるデータ符号化装置を図6に基づいて説明する。
で説明した入力ビットに相当する入力ビット系列1を、
後述する入出力制御信号発生部5の指示により、一時記
憶するレジスタ群であるバッファレジスタ2と、このバ
ッファレジスタ2のデータおよび後述する予測ビット長
演算部4のデータを入力し比較する判定部3と、図4お
よび図5で説明した2つの変数ofsとwidthを保
持するレジスタAとレジスタBを内蔵する予測ビット長
演算部4と、入出力を制御する入出力制御信号発生部5
と、刻々変化するwidthの値を保持しておくための
メモリであるスタック・メモリ6と、予測ビット長とな
るrunと優勢シンボルを設定する予測ビット長・優勢
シンボル設定部7とから主に構成される。
ビット長・優勢シンボル設定部7が設定する最大予測ビ
ット長runに対応するビット数の入力ビット系列1を
記憶する容量を持っている。また、予測ビット長・優勢
シンボル設定部7の指示で、入力ビット系列1を反転さ
せて入力する機能も持っている。
するバッファレジスタ2上の位置ofsと、そのofs
から予測の対象となるビット数を示すwidthにより
定まるバッファレジスタ2上の入力ビット系列1を選択
し、それらがすべて“0”のとき、符号ビット10とし
て、すなわち予測当たり信号の符号語として“0”を出
力し、“1”が含まれるとき予測はずれ信号として
“1”を出力する。
つの変数ofsとwidthを保持するレジスタAとレ
ジスタBを内蔵する。これらの変数のうちwidth
は、入出力制御信号発生部5より入力する符号化開始信
号を受けて、予測ビット長・優勢シンボル設定部7が出
力する1次予測のためのビット長runに設定され、一
方、ofsは0に初期化される。
ット長演算部4は、このofsとwidthで定まるバ
ッファレジスタ2上の入力ビット系列1の論理を判定部
3に調べさせ、その判定結果を取り込む。判定結果が
“1”のとき、すなわち、予測がはずれたときは、レジ
スタBのwidthを1/2にすると同時に、その値を
スタック・メモリ6に書き込む。ただし、widthが
すでに1のときはこの限りでなく、このときは、レジス
タAのofsにレジスタBのwidth、すなわち1を
加算し、さらに、スタック・メモリ6より直前に書き込
んだwidthの値を読み出し、レジスタBにストアす
る。
が的中したときは、レジスタAのofsにレジスタBの
widthを加算し、さらに、スタック・メモリ6より
直前に書き込んだwidthの値を読み出し、レジスタ
Bにストアする。上述の処理は各サイクル毎に、入力ビ
ット系列1を判定しながら進められる。また、上述の符
号化処理を進めるにつれ、レジスタAのofsが徐々に
大きくなって行くが、このofsが一時予測runと等
しくなったとき、バッファレジスタ2に取り込んだ入力
ビット系列1の符号化が完了する。したがってこの時、
符号化完了の旨を伝える信号を入出力制御信号発生部5
に送り、入出力制御信号発生部5は、これを受けて、入
力ビット要求信号8をアクティブにし、同時にバッファ
レジスタ2に新たな入力ビット系列1の取り込みを指示
する。
くはバッファレジスタ2内の入力ビット系列1の符号化
が完了した旨の信号を予測ビット長演算部4より受けた
とき、入力ビット要求信号8をアクティブにすると共
に、バッファレジスタ2に対して、予測ビット長・優勢
シンボル設定部7により入力する予測runで示される
個数の入力ビット系列1の取り込みを指示する。そし
て、バッファレジスタ2に予測runで示される個数の
ビットが入力されると、今度は、符号化開始信号を予測
ビット長演算部4に対して出力する。また、その出力と
1サイクル遅れで符号化完了まで、同期信号となるスト
ローブ信号9をアクティブにする。
変化するwidthの値を保持しておくためのメモリ
で、いわゆる先入れ後出しメモリである。すなわち、一
番最初に書き込んだ値を一番最後に出力するメモリ、逆
に言えば、一番最近書き込んだ値を一番最初に出力する
メモリである。このスタック・メモリ6には刻々変化す
るwidthの値が書き込まれる。
予測ビット長演算部4から、過去の符号化の状態(予測
がどの程度的中したか、あるいは、どの程度はずれたか
等)を入力し、新たに入力するビット系列1の予測ビッ
ト長runと優勢シンボルを設定する。予測ビット長r
unは、予測ビット長演算部4へ入力し、優勢シンボル
設定信号はバッファレジスタ2へ入力する。
って先に示した符号化プロセスが実行される。そして、
この符号化プロセスの圧縮率と符号化時間を図7に示
す。この図7は、4種類のファイルについて本発明の符
号化プロセスを使用した場合の圧縮率と符号化時間を示
すと共に参考として、従来のQMコーダの圧縮率と符号
化時間も示すものとなっている。図7に示されるように
本発明のものは、圧縮率がQMコーダと同レベルであ
り、符号化時間は大幅に短縮されたものとなっている。
明する。復号化プロセスは、図8の復号化メインルーチ
ンと図9の復号化サブルーチンにより構成される。な
お、図9の復号化サブルーチンは、図5の符号化サブル
ーチンと同様、同じルーチン内で再帰呼び出しがおこな
われる。
ップについて説明する。最初に、予測の初期値runの
設定と優勢シンボルの選択を行う(ステップS30)。
なお、これらの値は当然符号化側と同じ値に設定する。
次に、ローカル変数ofsに0を、widthにrun
を代入する(ステップS31)。そして、符号ビット出
力10となる符号語を1ビット入力する(ステップS3
2)。次に、ステップS33で、符号語の論理をチェッ
クする。“0”ならステップS34へ移り、“1”なら
ステップS35へ進む。ここで、符号語“0”は予測が
的中したことを示す予測当たり信号となる。
らA〔width−1〕まで優勢シンボルを書き込む
(ステップS34)。一方、符号語“1”は、予測がは
ずれたことを示す。そして、このときは、まず、wid
thの大きさをチェックし、1を超えていれば分割し、
再予測可能なのでステップS37に進み、復号化サブル
ーチンを呼び出す。1以下ならステップS36へ進み、
劣勢シンボルをA〔ofs〕に書き込む。
と必要ならば優勢シンボルの変更を行う。この再設定お
よび変更は、当然符号化側と同じ規則にしたがって実行
される。ステップS38の次に、ステップS39におい
て、A〔ofs〕からA〔width−1〕の復号デー
タを出力する。
ステップS33の1次予測の判定で、予測がはずれた場
合は、ステップS37で、図9の復号化サブルーチンを
呼び出す。この復号化サブルーチンへ渡す引き数は、o
fsとwidthである。以下、復号化サブルーチンの
各ステップについて説明する。
2分割する(ステップS40)。次に、符号語を1ビッ
ト入力する(ステップS41)。なお、このビットは前
半部系列の予測結果である。次のステップS42におい
て入力した符号語の論理をチェックする。“0”の場合
はステップS43へ、“1”の場合はステップS45へ
移る。ここで符号語“0”は、予測が的中したことを示
す。したがって、前半部系列、すなわちA〔ofs〕か
らA〔ofs+width−1〕に優勢シンボルを書き
込む(ステップS43)。次に、ステップS44におい
て、前半部系列の先頭位置を示すポインタofsにwi
dthを加え、後半部系列の先頭位置を示すように変更
する。また、前半部系列の予測が的中した場合、後半部
系列に必ず劣勢シンボルが存在する。したがって、後半
部系列の予測判定を行うステップS49と、ステップS
50をスキップしてステップS52へ進む。
42からステップS45へ移行し、widthの大きさ
をチェックする。1以下の場合、これ以上分割予測する
必要がない、すなわち復号ビットが確定したのでステッ
プS46に進む。2以上の場合は、さらに分割し予測す
る必要があるため、ステップS47で復号化サブルーチ
ンを呼び出す。ステップS46では、A〔ofs〕に劣
勢シンボルを書き込む。また、ステップS47では子プ
ロセスとして復号化サブルーチンを再帰呼び出しする。
いて、ステップS48が実行される。このステップS4
8では、前半部系列の先頭位置を示すポインタofsに
widthを加え、後半部系列の先頭位置を示すように
変更する。次に、符号語を1ビット入力する(ステップ
S49)。このビットは後半部系列の予測結果である。
ステップS50で、入力した符号語の論理をチェックす
る。“0”の場合はステップS51へ、“1”の場合は
ステップS52へ進む。
とを示す。したがって、後半部系列、すなわちA〔of
s〕からA〔ofs+width−1〕に優勢シンボル
を入力する(ステップS51)。一方、符号語が“1”
のとき、ステップS52へ進み、widthの大きさを
チェックする。“1”以下の場合、これ以上分割予測す
る必要がない、すなわち復号ビットが確定したので、ス
テップS53に移り、A〔ofs〕に劣勢シンボルを書
き込む。2以上の場合は、さらに分割し予測する必要が
あるため、ステップS54で子プロセスとして復号化サ
ブルーチンを呼び出す。
いて説明する。すなわち、先ほどの符号化の具体例で得
られた“1011010”の符号ビット出力10を用い
て、具体的に復号化プロセスを説明する。なお、符号化
時と同様、予測の初期値runを8、優勢シンボルを0
として復号を実行する。
を入力する。これは“1”なのでステップS35に進
み、widthの大きさをチェックする。このときwi
dthは8だからステップS37で、復号化サブルーチ
ンを呼び出す。この復号化サブルーチンでは、ステップ
S40でwidthを半分の4に変更した後、ステップ
S41で2番目の符号ビットを入力する。これは“0”
なのでステップS43に進み、ここで前半部系列、すな
わちA
テップS44でofsを4に変更した後、ステップS5
2からステップS54へと進む。このステップS54に
おいて、子プロセスとして子の復号化サブルーチンを呼
び出す。
40でwidthをさらに半分にし2に変更した後、ス
テップS41で3番目の符号ビットを入力する。これは
“1”なのでステップS45を経由してステップS47
で、孫プロセスとして孫の復号化サブルーチンを呼び出
す。この孫の復号化サブルーチンでは、ステップS40
でwidthが1に変更された後、ステップS41で4
番目の符号ビットを入力する。これは“1”なのでステ
ップS45へ進む。このときwidthが1なので、ス
テップS46へ進み、ここでA〔4〕に1を書き込む。
続いてステップS48で、ofsを5に変更した後、ス
テップS49で5番目の符号ビットを入力する。これは
“0”なのでステップS51に進み、ここでA〔5〕に
“0”を書き込む。
し、ステップS48でofsを4から6に変更する。続
くステップS49では6番目の符号ビットを入力する。
これは“1”なので、ステップS52を経由してステッ
プ54へ進み、ここで再び孫プロセスとして孫の復号化
サブルーチンを呼び出す。孫の復号化サブルーチンは、
まずステップS40でwidthが1に変更された後、
ステップS41で7番目の符号ビットを入力する。この
ビットは“0”なのでステップS43でA〔6〕に0を
書き込む。続くステップS44でofsを7に変更し、
ステップS52では、widthが“1”なので、ステ
ップS53に進み、ここでA〔7〕に1を書き込む。
号化サブルーチンに復帰し、さらに復号化メインルーチ
ンに復帰する。復帰した復号化メインルーチンでは、ス
テップS38で予測runの再設定と優勢シンボルの再
設定を行う。そして、ステップS39で復号化データを
A
化データは、“00001001”であり、もとの入力
ビット系列1が復元されることとなる。
せるデータ復号化装置について、図10に基づいて説明
する。
あるrunと優勢シンボルを設定する予測ビット長・優
勢シンボル設定部11と、2つの変数ofsとwidt
hを保持するレジスタAとレジスタBを内蔵する予測ビ
ット長演算部12と、刻々変化するwidthの値を保
持しておくためのメモリであるスタック・メモリ13
と、入出力を制御する入出力制御信号発生部14と、復
号ビットを設定する復号ビット設定部15とから主に構
成されている。
部11は、予測ビット長演算部12より、過去の復号の
状態(予測がどの程度的中したか、あるいは、どの程度
はずれたか等)を入力し、新たに入力する符号ビット1
0の予測ビット長runと優勢シンボルを設定する。予
測ビット長runは、予測ビット長演算部12へ入力
し、優勢シンボル設定信号は復号ビット設定部15に入
力する。
り、2つの変数ofsとwidthを保持するレジスタ
AとレジスタBを内蔵するものとなっている。widt
hは、予測ビット長・優勢シンボル設定部11が設定す
る1次予測のためのビット長runが設定され、ofs
は0に初期化される。レジスタB、すなわちwidth
の値は、入出力制御信号発生部14に供給される。一
方、初期化後、入力した符号ビット10が“1”で、か
つwidthが2以上の時、widthを1/2して、
スタック・メモリ13に書き込む。ただし、width
が1の場合は、復号ビット出力許可信号を復号ビット設
定部15と入出力制御信号発生部14に出力し、同時に
レジスタAのofsにレジスタBのwidthを加算
後、スタック・メモリ13から直前に書き込んだwid
thを読み出し、レジスタBに保持させる。
号ビット出力許可信号を復号ビット設定部15と入出力
制御信号発生部14に出力し、同時にレジスタAのof
sにレジスタBのwidthを加算後、スタック・メモ
リ13から直前に書き込んだwidthを読み出し、レ
ジスタBに保持させる。そして、ofsは復号が進むに
つれ、徐々に大きくなって行く。そこで、このofsと
runが等しくなったとき、ひとつの予測単位の符号ビ
ット10の復号が完了したことを示す信号を発生し、こ
の信号を予測ビット長・優勢シンボル設定部11に出力
する。予測ビット長・優勢シンボル設定部11は、この
信号を受けて、次の符号ビット10のための予測ビット
長runの再設定や優勢シンボルの再設定を行う。
々変化するwidthの値を保持しておくためのメモリ
で、いわゆる先入れ後出しメモリである。すなわち、一
番最初に書き込んだ値を一番最後に出力するメモリ、逆
に言えば、一番最近書き込んだ値を一番最初に出力する
メモリとなっている。
ビット20を出力中であることを示すストローブ信号1
6を発生するブロックである。予測ビット長演算部12
より、復号ビット出力許可信号を受けて、そのときwi
dthで指定された期間、ストローブ信号16を出力す
る。また、ストローブ信号16が、2サイクル以上アク
ティブとなる場合は、2サイクル目から符号ビット要求
信号17をノン・アクティブにして、新たな符号ビット
10の入力を抑制すると同時に、予測ビット長演算部1
2の動作も一時停止させる。
算部12からの復号ビット出力許可信号を受けて、その
とき入力中の符号ビット10を一時保持するレジスタで
構成される。また、予測ビット長・優勢シンボル設定部
11の指示により、必要に応じて復号ビット20を反転
させる。
って先に示した復号化プロセスが実行される。この復号
化プロセスを使用した場合の復号化時間は、図7に示す
符号化時間と同様、QMコーダに比べ非常に短くなって
いる。すなわち、復号化プロセスは、符号化プロセスと
逆のアルゴリズムを使用するため、符号化時間が短縮さ
れれば、復号化時間も短縮されることとなる。
適な実施の形態の例であるが、これに限定されるもので
はなく、本発明の要旨を逸脱しない範囲において、種々
変形実施可能である。例えば、予測が当たったときに出
力する符号語としては“0”ではなく“1”とし、予測
がはずれたときは“1”ではなく0”としたり、予測が
当たったときは優勢シンボルを出力し、予測がはずれた
ときは劣勢シンボルを出力するようにしても良い。ま
た、新減少予測ビット数を元の予測ビット数の1/2で
はなく、1/3や1/4等にしたり、元の予測ビット数
から所定数を差し引いた数等とすることができる。一
方、新増加予測ビット数も元の予測ビット数の2倍では
なく、3倍や4倍等にしたり、元の予測ビット数に所定
数を加えた数等とすることができる。なお、新増加予測
ビット数を無制限とせず、所定の値、例えば256ビッ
ト等、2の倍数を最大値とするようにしても良い。ま
た、新減少予測ビット数の最小値としては1ではなく、
2や3等他の数値としても良い。また、分割符号化工程
において、分割を2分割ではなく、3分割や4分割等に
したり、前半部注目系列と後半部注目系列とを不均等に
分割しても良い。さらに、予測がはずれたときの分割等
の再帰的繰り返しをビット数が1になるまで行うのでは
なく、ビット数が2や3等の数になったら終了させ、そ
の後は、入力ビット系列1をそのまま出力させたり、Q
Mコーダで符号化したりするようにしても良い。
ずれた場合、まず、前半部に注目して前半部の符号化を
行い、続いて後半部の符号化を行っているが、まず後半
部から符号化や復号化を行うようにしても良い。すなわ
ち、すべて、後半部を優先して、符号化および復号化を
行うようにしても良い。また、優先部分を前半部にした
り、後半部にしたり、適宜混ぜ合わせて符号化および復
号化を行うようにしても良い。
ト数runで定まる注目系列がすべて優勢シンボルと予
測し、予測が当たった場合は、符号語として、“0”等
を出力し、はずれた場合は、“1”等を出力すると共
に、さらに系列を2分割し、予測が的中するか分割が不
可能になるまで、同様の操作を行い、符号化を行ってい
る。しかし、予測ビット数が比較的短いもの、例えば、
1、2、4、8等の場合は、予め、符号化テーブルを用
意しておき、そのテーブルを参照することによって、1
サイクルで符号化を行うようにしても良い。例えば、予
測ビット数が2のときで、優勢シンボルを“0”とした
場合、入力ビット系列1が“00”のとき、符号ビット
10は“0”となり、“01”のときは“10”とな
り、“10”のときは“110”となり、“11”のと
きは“111”となるので、この関係を予め符号化テー
ブルとして用意しておくようにするものである。このよ
うな方法を交えることにより、さらに符号化時間を短縮
することができる。この場合、予測ビット数runによ
って、符号化テーブルを選択し符号化を行えば、上述の
実施の形態と同様な符号ビット10が得られる。また、
復号化においても同様に、復号化テーブルを用意し、予
測ビット数runで選択されるテーブルを参照すること
で、復号化時間を短縮した復号化を行うことができる。
号化方式とも言えるものであるが、この予測ランレング
ス符号化方式は、2値の系列データ以外に多値系列につ
いても適用することができる。すなわち、多値系列のデ
ータを工夫によって2値のビット列として扱うようにす
れば本発明の予測ランレングス符号化方式および復号化
方式を適用することができる。例えば、ビット・プレー
ンに分けて、各ビット・プレーンをこの予測ランレング
ス符号化方式で符号化するようにしても良い。また、最
上位ビットからプレーン毎にこの予測ランレングス符号
化方式にて符号化を行い、“1”が出現した時点で続く
下位ビットを直接ストリームに出力するようにしても良
い。
多値系列に適用する方式としては、ビット・プレーンで
はなくレベル・プレーン、例えばシンボルが8ビットの
場合、256のレベル・プレーンに分けて行う方法もあ
る。例えば、入力シンボルをグループに分け、グループ
番号をこの予測ランレングス符号化方式で符号化する方
法が考えられる。具体的には、例えば、入力シンボルを
図11に示すように、グループ分けし、まず入力シンボ
ルがグループ番号0か0以外かを示す判定ビットをこの
予測ランレングス符号化方式で符号化する。もし入力シ
ンボルが0ならこのシンボルの符号化を完了するが、そ
うでない場合はさらにグループ番号が1か1以外かを示
す判定ビットをこの予測ランレングス符号化方式で符号
化する。このようにして、グループ番号が確定するま
で、判定ビットを予測ランレングス符号化方式で符号化
し、確定したグループ番号が2以上の場合は、必要とす
る付加ビットを直接ストリームに出力する。この方法
は、グループ番号が確定した時点で、上位の判定ビット
の符号化を行わないので、処理速度が向上する。
は、データ符号化の場合に限らず当然のことながら、デ
ータ復号化の場合にも同様なアルゴリズムによって適用
することができる。
号化方法およびデータ符号化装置では、QMコーダ並み
の符号化効率が得られる一方、符号化速度がQMコーダ
に比べ非常に速いものとなる。このため、現在使用され
ている各種の2値ビット列圧縮方式の中で最も実用性の
面で優れたものとなる。
ータ復号化装置では、同様に、QMコーダ並みの伸長効
率が得られる一方、復号化速度がQMコーダに比べ非常
に速いものとなる。このため、現在利用されている各種
の2値ビット列復号方式の中で、実用上最も優れたもの
となり、利便性が向上する。
図で、注目系列と予測ビット数runとの関係を示す図
である。
図で、図1の注目系列を分割した状態を示す図である。
図で、図2の前半部注目系列をさらに分割した状態を示
す図である。
ーチャートで、符号化メインルーチンを示すフローチャ
ートである。
ーチャートで、符号化サブルーチンを示すフローチャー
トである。
を示すブロック図である。
装置による圧縮率と符号化時間を示す図である。
ーチャートで、復号化メインルーチンを示すフローチャ
ートである。
ーチャートで、復号化サブルーチンを示すフローチャー
トである。
成を示すブロック図である。
用する場合の1列を説明するための図で、入力シンボル
を複数のグループに分けた状態を示す図である。
るQMコーダの構成を示す図である。
ートである。
Claims (16)
- 【請求項1】 “0”および“1”からなる2値のビッ
ト列を入力する際、“0”または“1”のいずれか一方
を優勢シンボルとし、いずれか他方を劣勢シンボルとす
ると共に、その優勢シンボルがn個連続すると予測し、
そのn個を予測ビット数として設定する予測設定工程
と、入力された上記予測ビット数からなる注目系列につ
いて予測が当たったときに符号語として“0”または
“1”のいずれか一方の信号を予測当たり信号として出
力し、次のn個のビット列を符号化する作業に移り、は
ずれたときに符号語として“0”または“1”のいずれ
か他方の信号を予測はずれ信号として出力する予測結果
出力工程と、予測が所定回数はずれたときに上記予測ビ
ット数をn個より少ない新減少予測ビット数として同様
の予測設定工程と予測出力工程とを再帰的に繰り返すこ
とを特徴とするデータ符号化方法。 - 【請求項2】 前記n個を偶数個とし、前記予測が所定
回数はずれたときに前記注目系列を2分割し、その2分
割された前半部の前半部注目系列のみに劣勢シンボルが
存在するとき、前記新減少予測ビット数を前記予測ビッ
ト数の1/2とし、2分割された後半部の後半部注目系
列に劣勢シンボルが存在するとき前記新減少予測ビット
数を前記予測ビット数の1/4としたことを特徴とする
請求項1記載のデータ符号化方法。 - 【請求項3】 前記新減少予測ビット数が1となり、か
つそのビットが劣勢シンボルのとき、以降の符号化にお
いて従来の劣勢シンボルを優勢シンボルとし、従来の優
勢シンボルを劣勢シンボルとして符号化するようにした
ことを特徴とする請求項1または2記載のデータ符号化
方法。 - 【請求項4】 前記所定回数を1回としたことを特徴と
する請求項1、2または3記載のデータ符号化方法。 - 【請求項5】 “0”および“1”からなる2値のビッ
ト列を入力する際、“0”または“1”のいずれか一方
を優勢シンボルとし、いずれか他方を劣勢シンボルとす
ると共に、その優勢シンボルがn個連続すると予測し、
そのn個を予測ビット数として設定する予測設定工程
と、入力されたn個のビット列からなる注目系列につい
て予測が当たったときに符号語として“0”または
“1”のいず れか一方の信号を予測当たり信号として出
力し、次のn個のビット列を符号化する作業に移り、は
ずれたときに符号語として“0”または“1”のいずれ
か他方の信号を予測はずれ信号として出力する予測結果
出力工程と、予測が規定回数当たったときに、上記予測
ビット数をn個より多い新増加予測ビット数として同様
の予測設定工程と予測結果出力工程とを繰り返し行うこ
とを特徴とするデータ符号化方法。 - 【請求項6】“0”および“1”からなる2値のビット
列を入力する際、“0”または“1”のいずれか一方を
優勢シンボルとし、いずれか他方を劣勢シンボルとする
と共に、その優勢シンボルがn個連続すると予測し、そ
のn個を予測ビット数として設定する予測設定工程と、
入力された上記予測ビット数からなる注目系列について
予測が当たったときに符号語として“0”または“1”
のいずれか一方の信号を予測当たり信号として出力し、
次のn個のビット列を符号化する作業に移り、はずれた
ときに符号語として“0”または“1”のいずれか他方
の信号を予測はずれ信号として出力する予測結果出力工
程と、予測が所定回数はずれたときに上記予測ビット数
をn個より少ない新減少予測ビット数として同様の予測
設定工程と予測出力工程とを再帰的に繰り返し、前記予
測が規定回数当たったときに、前記予測ビット数をn個
より多い新増加予測ビット数とすることを特徴とするデ
ータ符号化方法。 - 【請求項7】 前記規定回数を2回とし、前記新増加予
測ビット数を前記予測ビット数の2倍としたことを特徴
とする請求項5または6記載のデータ符号化方法。 - 【請求項8】 前記n個を2m(mは0以上の整数)と
したことを特徴とする請求項1、2、3、4、5、6ま
たは7記載のデータ符号化方法。 - 【請求項9】 前記予測がはずれたとき前記注目系列を
2分割し、2分割された前半部の前半部注目系列がすべ
て前記優勢シンボルのときは符号語として“0”を出力
し、2分割された後半部の後半部注目系列をさらに2分
割し、“0”または“1”の符号語を出力する前半部当
たり工程と、上記前半部注目系列に前記劣勢シンボルが
存在するときは符号語として“1”を出力すると共に、
上記前半部注目系列をさらに2分割し、“0”または
“1”の符号語を出力する前半部はずれ工程とを有し、
各分割された注目系列中に劣勢シンボルが存在する限
り、その注目系列の分割を繰り返し、前記前半部当たり
工程と前記前半部はずれ工程を再帰的に繰り返すことを
特徴とする請求項8記載のデータ符号化方法。 - 【請求項10】 前記予測がはずれたとき前記注目系列
を2分割し、2分割された後半部の後半部注目系列がす
べて前記優勢シンボルのときは符号語として“0”を出
力し、2分割された前半部の前半部注目系列をさらに2
分割し、“0”または“1”の符号語を出力する後半部
当たり工程と、上記後半部注目系列に前記劣勢シンボル
が存在するときは符号語として“1”を出力すると共
に、上記後半部注目系列をさらに2分割し、“0”また
は“1”の符号語を出力する後半部はずれ工程とを有
し、各分割された注目系列中に劣勢シンボルが存在する
限り、その注目系列の分割を繰り返し、前記後半部当た
り工程と前記後半部はずれ工程を再帰的に繰り返すこと
を特徴とする請求項8記載のデータ符号化方法。 - 【請求項11】 “0”および“1”からなる2値の入
力ビット系列を圧縮して符号化するデータ符号化装置に
おいて、“0”または“1”のいずれか一方を優勢シン
ボルとし、いずれか他方を劣勢シンボルとすると共にそ
の優勢シンボルがn個連続すると予測し、そのn個を予
測ビット数として設定する予測ビット長等演算設定部
と、入力ビット系列を一時記憶するバッファレジスタ
と、上記予測ビット長等演算設定部および上記バッファ
レジスタの各値を入力し、その入力された上記予測ビッ
ト数からなる注目系列について予測が当たったときに符
号語として“0”または“1”のいずれか一方の信号を
予測当たり信号として出力し、はずれたときに符号語と
して“0”または“1”のいずれか他方の信号を予測は
ずれ信号として出力する判定部とを備え、上記予測が所
定回数はずれたときに上記予測ビット数をn個より少な
い新減少予測ビット数を上記予測ビット長等演算設定部
で設定し、上記予測が規定回数当たったときに、上記予
測ビット数をn個より多い新増加予測ビット数を上記予
測ビット長等演算設定部で設定することを特徴とするデ
ータ符号化装置。 - 【請求項12】 入力ビット系列を一時記憶するレジス
タ群よりなるバッファレジスタと、符号化する注目系列
の先頭位置を示す変数ofsを保持するレジスタおよび
予測ビット長を示す変数widthを保持するレジスタ
を内蔵する予測ビット長演算部と、この予測ビット長演
算部が出力する上記バッファレジスタ上のofsの位置
およびそのofsから上記widthにより定まる上記
バッファレジスタ上の入力ビット系列を選択し、その入
力ビット系列がすべて優勢シンボルのとき符号ビット出
力として1つの優勢シンボルを出力し、劣勢シンボルが
含まれるときは1つの劣勢シンボルを出力する判定部
と、上記バッファレジスタ内の入力ビット系列の符号化
が完了した旨の完了信号を上記予測ビット長演算部より
受けたとき入力ビット要求を行う入出力制御信号発生部
と、刻々変化する上記widthの値を保持しておくた
めのメモリとなるスタック・メモリと、上記予測ビット
長演算部より過去の符号化の状態を入力し、新たに入力
する入力ビット系列の予測ビット長と優勢シンボルを設
定する予測ビット長・優勢シンボル設定部とを備え、上
記入出力制御信号発生部は上記完了信号を上記予測ビッ
ト長演算部より受けたとき上記バッファレジスタに対し
て上記予測ビット長・演算シンボル設定部によって新た
に設定された新予測ビット長で示される個数の入力ビッ
ト系列の取り込みを指示することを特徴とするデータ符
号化装置。 - 【請求項13】 符号化されたデータを入力し“0”お
よび“1”からなる2値のビット列に復号化するデータ
復号化方法において、“0”または“1”のいずれか一
方を優勢シンボルとし、いずれか他方を劣勢シンボルと
すると共に、その優勢シンボルがn個(nは1以上の整
数)連続すると予測したその予測結果を“0”および
“1”からなる2値のビット列で表した符号語を1ビッ
トずつ入力する入力工程を有し、入力された符号語が予
測当たりの値のとき上記優勢シンボルをn個連続して復
号化すると共に、予測当たりが所定回数連続したときは
上記n個より多い数の優勢シンボルが連続すると新たに
予測するようにしたことを特徴とするデータ復号化方
法。 - 【請求項14】 “0”または“1”のいずれか一方を
優勢シンボルとし、いずれか他方を劣勢シンボルとする
と共に、その優勢シンボルがn個(nは1以上の整数)
連続すると予測したその予測結果を“0”および“1”
からなる2値のビット列で表した符号語を1ビットずつ
入力する入力工程と、入力された符号語が予測当たりの
値のとき、上記優勢シンボルをn個連続して復号化する
と共に、入力された符号語が予測はずれの値のとき、次
の符号語を入力する予測結果復号化工程と上記次の符号
語の値が予測当たりの値のとき上記優勢シンボルをn−
m個連続して復号化し、予測はずれの値のときは再度次
の符号語を入力する工程を再帰的に繰り返し、0<n−
m≦1のときの予測はずれ時に劣勢シンボルを復号化す
るようにしたことを特徴とするデータ復号化方法。 - 【請求項15】 符号化されたデータとなる符号ビット
を入力し、“0”および“1”からなる2値のビット列
からなる復号ビットに復号化するデータ復号化装置にお
いて、“0”または“1”のいずれか一方を優勢シンボ
ルとし、いずれか他方を劣勢シンボルとしたとき上記符
号ビットの優勢シンボルと予測ビット長n個を設定する
予測ビット長等設定演算部と、この予測ビット長等設定
演算部からの復号ビット出力許可信号を受けて入力中の
符号ビットを所定の形で一時保持すると共に復号ビット
を出力する復号ビット設定部とを備え、入力された符号
ビットが上記優勢シンボルの場合、復号ビット出力許可
信号を出力し上記復号ビット設定部に上記優勢シンボル
を書き込むと共に、上記優勢シンボルが所定回数連続し
たときは上記予測ビット長をn個より多い数に変更する
ことを特徴とするデータ復号化装置。 - 【請求項16】 “0”または“1”のいずれか一方を
優勢シンボルとし、いずれか他方を劣勢シンボルすると
共にそのシンボルがn個(nは1以上の整数)連続する
と予測したその予測結果を“0”および“1”からなる
2値のビット列で表した符号ビットを1ビットずつ入力
する復号化する復号化装置において、上記符号ビットの
予測ビット長と上記優勢シンボルを設定する予測ビット
長・優勢シンボル設定部と、この予測ビット長・優勢シ
ンボル設定部から予測ビット長と優勢シンボルならびに
上記符号ビットを入力し、その符号ビットの値に応じて
復号ビット出力許可信号を出力する予測ビット長演算部
と、上記復号ビット出力許可信号を入力し、入力中の符
号ビットを所定の形で一時保持すると共に復号ビットを
出力する復号ビット設定部とを備え、上記予測ビット長
演算部に入力された符号語が予測当たりの値の時、上記
優勢シンボルをn個連続して上記復号ビット設定部に書
き込むと共に、上記入力された符号語が予測はずれのと
き次の符号ビットを入力し、その値が予測当たりの値の
時、上記優勢シンボルをn−m個(mは1以上の整数で
nより小さい値)連続して上記復号ビット設定部に書き
込み、予測はずれのときは再度次の符号を予測ビット長
演算部に入力するようにしたことを特徴とするデータ復
号化装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP16705397A JP3482820B2 (ja) | 1996-06-25 | 1997-06-24 | データ符号化方法およびデータ符号化装置ならびにデータ復号化方法およびデータ復号化装置 |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP16500096 | 1996-06-25 | ||
| JP8-165000 | 1996-06-25 | ||
| JP16705397A JP3482820B2 (ja) | 1996-06-25 | 1997-06-24 | データ符号化方法およびデータ符号化装置ならびにデータ復号化方法およびデータ復号化装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH10285050A JPH10285050A (ja) | 1998-10-23 |
| JP3482820B2 true JP3482820B2 (ja) | 2004-01-06 |
Family
ID=26489898
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP16705397A Expired - Fee Related JP3482820B2 (ja) | 1996-06-25 | 1997-06-24 | データ符号化方法およびデータ符号化装置ならびにデータ復号化方法およびデータ復号化装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3482820B2 (ja) |
-
1997
- 1997-06-24 JP JP16705397A patent/JP3482820B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH10285050A (ja) | 1998-10-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5710562A (en) | Method and apparatus for compressing arbitrary data | |
| US5696507A (en) | Method and apparatus for decoding variable length code | |
| EP1832000B1 (en) | Device and data method for selective compression and decompression and data format for compressed data | |
| JP3136796B2 (ja) | 可変長符号デコーダ | |
| US6215906B1 (en) | Data compression and restoration system for encoding an input character on the basis of a conditional appearance rate obtained in relation to an immediately preceding character string | |
| US5436626A (en) | Variable-length codeword encoder | |
| CN101095284A (zh) | 用于有选择地压缩和解压缩的设备与数据方法以及压缩数据的数据格式 | |
| KR0178201B1 (ko) | 가변 길이 복호화 장치 | |
| US6546053B1 (en) | System and method for decoding signal and method of generating lookup table for using in signal decoding process | |
| JP2011066557A (ja) | データ処理装置およびデータ処理方法 | |
| JPH10341167A (ja) | 可変長符号復号化回路 | |
| US6055273A (en) | Data encoding and decoding method and device of a multiple-valued information source | |
| KR20040012403A (ko) | 가변 길이 코드 복호화 장치 및 방법 | |
| JP7767561B2 (ja) | 受信したデータを処理する装置 | |
| JP3482820B2 (ja) | データ符号化方法およびデータ符号化装置ならびにデータ復号化方法およびデータ復号化装置 | |
| JP3014997B2 (ja) | 可変長符号復号装置 | |
| US5654806A (en) | Code manipulation for a high speed JPEG decoder | |
| US5991340A (en) | Method and system for encoding and decoding data using run prediction | |
| JPH07107303A (ja) | ハフマン符号の復号化方法 | |
| US5754128A (en) | Variable-length code encoding and segmenting apparatus having a byte alignment unit | |
| JP3648944B2 (ja) | データ符号化方法およびデータ符号化装置ならびにデータ復号化方法およびデータ復号化装置 | |
| GB2311704A (en) | Compression of arbitrary data using context modelling and entropy coding | |
| JP2003174365A (ja) | 復号化装置及びその方法 | |
| JPH10126276A (ja) | 多値情報源のデータ符号化方法およびデータ符号化装置ならびに多値情報源のデータ復号化方法およびデータ復号化装置 | |
| KR0125126B1 (ko) | 고속 가변길이부호 복호화 장치 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20030916 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081017 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091017 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101017 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101017 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111017 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121017 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121017 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131017 Year of fee payment: 10 |
|
| LAPS | Cancellation because of no payment of annual fees |