JP3406550B2 - 算術符号化装置および算術復号化装置 - Google Patents

算術符号化装置および算術復号化装置

Info

Publication number
JP3406550B2
JP3406550B2 JP37476099A JP37476099A JP3406550B2 JP 3406550 B2 JP3406550 B2 JP 3406550B2 JP 37476099 A JP37476099 A JP 37476099A JP 37476099 A JP37476099 A JP 37476099A JP 3406550 B2 JP3406550 B2 JP 3406550B2
Authority
JP
Japan
Prior art keywords
context
symbol
arithmetic
memory
probability
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
JP37476099A
Other languages
English (en)
Other versions
JP2001189661A (ja
Inventor
等 堀江
秀行 白井
Original Assignee
パナソニック コミュニケーションズ株式会社
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 パナソニック コミュニケーションズ株式会社 filed Critical パナソニック コミュニケーションズ株式会社
Priority to JP37476099A priority Critical patent/JP3406550B2/ja
Publication of JP2001189661A publication Critical patent/JP2001189661A/ja
Application granted granted Critical
Publication of JP3406550B2 publication Critical patent/JP3406550B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【発明の詳細な説明】
【0001】本発明は、算術符号化装置および算術復号
化装置に関する。
【0002】
【従来の技術】符号化シンボルを既に符号化済みの周辺
画素の状態によって予測し、予測結果をその状態毎に定
まる符号化シンボルの確率推定値をもとに算術符号化す
る方式が圧縮率の点から最も優れた特性を示すことが知
られている。JBIG(ITU勧告T.82)に採用されている符号
器であるQM-coderは、その一例である。
【0003】QM-coderは、図8に示すように、コンテク
スト生成部200と、コンテクストテーブル(コンテクス
トメモリ)210と、確率推定器220と、算術符号器230
と、を有する。
【0004】コンテクスト生成部200は、符号化画素の
周辺10画素によって作られる1024個の状態を検出する。
図10にテンプレートの一例を示す。図中、”?”で示さ
れるのが符号化対象の画素であり、また、”×”で示さ
れる10個の画素が参照画素である。一つの画素の符号化
が終了すると、図10に点線で示されるように、テンプレ
ートを右側に一つずらし、次の画素の符号化を行なう。
【0005】各状態をコンテクスト(以下Sと表す)と呼
び、コンテクスト毎に、優勢シンボルの予測値MPS(s)
(すなわち、着目する符号化シンボルについて、MPS
が”1”であると予測されれば、MPS(S)=1である)
と、確率推定器の状態番号とが、コンテクストメモリか
ら読み出され、確率推定器220に出力される。
【0006】確率推定器220は、これらの情報から劣勢
シンボルの領域幅Qe(s)を算術符号器230に出力する。こ
こでQeは、「LPSが生起される確率」であり、本明細書
では、これを「符号化シンボルの生起確率」とか、単に
「確率推定値」という場合もある。また、劣勢シンボル
の領域幅Qe(s)は、LPSの生起確率にオージェンドの幅
をかけて算出される、LPSの生起確率に対応する幅を意
味する。
【0007】算術符号器230は、符号化シンボル,優勢
シンボルの予測値MPS(s)および領域幅Qe(s)から算術符
号化演算を実行し、符号を出力する。
【0008】図9に示すように、算術符号化では、初期
値0〜1の数直線を優勢シンボル(MPS)の領域幅と劣
勢シンボル(LPS)の領域幅に分ける。符号化対象のシ
ンボル系列は、分割された領域内の代表点に対応させ
る。代表点は、部分区間内の一番下にとられる。
【0009】符号化シンボルと予測値が同じときは、次
のシンボルの符号化にはMPS幅が選ばれ、そうでなけれ
ばLPS幅が選ばれる。上述のとおり、この領域幅の中に
代表点を設けて、その2進小数点が符号を表わす。
【0010】算術符号化演算では、領域幅が所定値未満
になった時には、少数点の精度を防ぐために所定値(具
体的には初期値の1/2)以上になるまで2倍処理を繰
り返す。この処理を正規化処理という。
【0011】また、正規化処理は、LPSを符号化したと
きも行われる。すなわち、推定がはずれてLPS幅が選択
されると、そのLPS幅は、必ず、初期値の1/2より小
さいため、毎回、正規化がなされることになる。
【0012】正規化処理が行なわれる場合には、図8の
コンテクストテーブル210における、MPS値や状態番号
(ST)が更新される。状態番号の更新は、確率推定部22
0に書かれている「次の状態番号」が、コンテクストテ
ーブル210にオーバーライトされることにより実現され
る(図8では、このオーバーライトを矢印RXで示して
いる)。
【0013】このコンテクストテーブル210の更新によ
り、次もまた、前回と同じコンテクストであった(すな
わち、図10のテンプレートを右に一つずらしても、参照
画素の1と0の配置が前回と同じであった)としても、
発生するQe(S)の値が異なることになる。これによっ
て、より情報源の確率分布に適した値が選択されるよう
になる。つまり、符号化対象の画像への適応化がなされ
る。
【0014】図8に示される算術符号器の各部が、1ク
ロックで1つの処理をするようにすれば、算術符号処理
をパイプライン処理とすることができる。パイプライン
化することにより、無駄のない非常に高速な算術符号処
理が実現される。
【0015】
【発明が解決しようとする課題】算術符号処理をパイプ
ライン化した場合、途中で正規化処理が発生すると、パ
イプラインに乱れが生じて、無駄な待ち時間が増え、処
理効率が低下する場合がある。
【0016】特に、正規化がかなりの頻度で発生し、か
つ、コンテクストに連続性がある画像パターンでパイプ
ラインの乱れが発生しやすいと考えられる。なお、復号
化の場合にも同様の問題が生じる。
【0017】本発明は、このパイプラインの乱れを取り
除き、画像パターンや算術符号化の状態によらず、1サ
イクルで連続的にシンボルの符号化および復号化を実行
できる符号化・復号化装置を提供することを目的とす
る。
【0018】
【課題を解決するための手段】本発明の一態様では、符
号器に、現在の確率推定値と、正規化が生じてテーブル
の更新がなされた後の確率推定値が同時に供給し、符号
器の状態に応じてそれらのうちの一つを選択する構成と
する。
【0019】本発明の一つの態様では、確率推定器(Qe
ROM)の出力に、従来のQe値の他、正規化によって遷移
した後のQeも同時に出力するようにする。
【0020】正規化が生じてコンテクストテーブル(Qe
ROM)が更新されたならば出力されるであろう確率推定
値(Qe)も、現在の推定値とパラレルに出力されるた
め、正規化処理が生じ、かつコンテキストが連続した場
合でも、その更新後の確率推定値(Qe)をセレクタで選
んで符号器に供給するだけでよい。
【0021】したがって、正規化が発生した直後のシン
ボルが同一コンテクストであっても、Qe ROMの読み直し
が不要となり、パイプラインの乱れが生じない。
【0022】
【発明の実施の形態】本発明の算術符号化装置の一つの
態様では、既に符号化済みのシンボル系列の状態(コン
テクスト)に基づき、優勢シンボル予測値および確率推
定値を求め、前記優勢シンボル予測値および確率推定値
を用いて符号化シンボルを算術符号化する、パイプライ
ン方式の算術符号化装置であって、コンテクスト生成
部、異なるアドレスに対するリードとライトを同時に行
うことができるコンテクストメモリ、確率推定メモリ、
および算術符号演算器と、前記コンテクストの生成、前
記コンテクストメモリからの読み出し、前記確率推定メ
モリからの読み出し、ならびに前記算術符号化演算の各
処理を同じサイクルで実行させてパイプライン制御を行
うと共に、前記算術符号演算器による符号化の結果とし
て正規化処理が必要となり、かつ、次の符号化シンボル
に関するコンテクストが直前のコンテクストと同じであ
ることを検出すると、前記パイプラインの乱れを防止す
るための対策処理を行う制御部と、を有し、前記確率推
定メモリを、一つのアドレスに複数の確率推定値を記憶
させることが可能な構成とし、前記確率推定メモリの一
つのアドレス毎に、現在の確率推定値(Qe)と、所定の状
況が生じて正規化処理が発生し、前記コンテクストメモ
リの内容を更新し、その直後のサイクルにおいて、符号
化シンボルに関するコンテクストが直前のコンテクスト
と同じであったために前記更新した内容が前記コンテク
ストメモリからリードされたならば、その結果として前
記確率推定メモリから出力されるであろう、前記所定の
状況のそれぞれに対応した、未来の確率推定値(next Q
e)と、所定の状況が生じて正規化処理が発生した直後の
サイクルにおいて前記コンテクストメモリの内容を更新
するための、前記状況の各々に対応した、更新用データ
と、を記憶させておき、これによって、一つのアドレス
にアクセスされたときに、前記現在の確率推定値(Qe)、
前記状況の各々に対応した前記更新用の確率推定値(ne
xt Qe)ならびに前記更新用データの各々が、前記確率
推定メモリから並列に出力されるようにし、また、前記
並列に出力される、現在の確率推定値(Qe)および前記状
況の各々に対応した前記未来の確率推定値(next Qe)
のいずれかを選択して前記算術符号演算器に供給できる
ようにするための確率推定値選択用のセレクタを設け、
前記制御部は、 正規化処理が発生しないとき、および正
規化処理は発生したが、次の符号化シンボルに関するコ
ンテクストが直前のコンテクストと異なっているときに
は、前記セレクタを制御して現在の確率推定値(Qe)を
選択し、また、前記算術符号演算器による符号化の結果
として正規化処理が必要となり、かつ、次の符号化シン
ボルに関するコンテクストが直前のコンテクストと同じ
であることを検出すると、前記パイプラインの乱れを防
止するための対策処理として、前記セレクタを制御し
て、正規化処理の発生状況に対応した、前記未来の確率
推定値(next Qe)を選択して前記算術符号演算器に供
給し、これによって、正規化処理発生直後のサイクルに
おいて、前記未来の確率推定値(next Qe)を利用した
次の符号シンボルの符号化処理と、前記コンテクストメ
モリの内容の更新処理とを並行して行わせて、パイプラ
インの乱れを防止する。 また、本発明の算術復号化装置
の一つの態様では、入力された算術符号が、分割された
数直線上で優勢シンボル(MPS)に属するか劣勢シンボ
ル(LPS)に属するかを判定し、そのときのMPS,LPSが
“1”,“0”のいずれかを検出することで、シンボル
を復元する、パイプライン方式の算術復号化装置であっ
て、復号化対象のシンボルについての算術符号と、前記
復号化対象のシンボルの推定確率と、優勢シンボルまた
は劣勢シンボルの推定値とが入力される算術復号演算器
と、この算術復号演算器に、前記復号化対象のシンボル
の推定確率および前記推定値を供給するために設けられ
ている、コンテクスト生成器、コンテクストメモリおよ
び確率推定メモリを具備するパイプライン方式の算術符
号化装置と、前記算術復号演算器および前記パイプライ
ン方式の算術符号化装置を含めた全体のシステムとして
パイプライン動作を行わせると共に、前記パイプライン
の乱れを防止するための対策処理を行う制御部と、を有
しており、前記パイプライン方式の算術符号化装置は、
前記算術復号演算器をパイプラインステージの基準点と
してみた場合に、その基準からn段離れたパイプライン
ステージにおいて、2のn乗個のデータの並列処理が行
われて、その処理結果のデータが並列に出力され、その
直後のサイクルで一つのシンボルの復号化によってシン
ボル値が確定すると、前記並列に出力されるデータのう
ちの、前記確定されたシンボル値に対応する半分のデー
タが、セレクタによって選択されて次のパイプラインス
テージに送られると いう、並列のデータ生成およびシン
ボル値確定に伴って並列データの半分を選択する構成を
有し、したがって、前記パイプライン方式の算術符号化
装置は、第i番目(iは任意の自然数)のシンボル復号
のときに、第i+1番目のシンボルに関しては、第i番
目のシンボルが“0”の場合と“1”の場合を想定し、
それぞれの場合に対応したデータを前記確率推定メモリ
から並列に読み出し、また、これと同じサイクルで、第
i+2番目のシンボルについて、第i番目のシンボルと
第i+1番目のシンボルの値に応じて想定される4通り
の組み合わせの各々に関して、コンテクストメモリの読
み出しを行い、また、同時に、第i+3番目のシンボル
に対しては、まだ復元されていない第i+1番目のシン
ボルと第i+2番目の値を想定して、4通りのコンテク
ストを前記コンテクスト生成器にて並列に生成するとい
う構成を有し、そして、前記制御部の制御によってパイ
プライン算術復号を実行し、さらに、前記パイプライン
算術符号化装置における前記確率推定メモリを、一つの
アドレスに複数の確率推定値を記憶させることが可能な
構成とし、これによって、算術復号処理のパイプライン
化を実現する。また、本発明の算術復号化装置の他の態
様では、前記制御部は、前記パイプライン復号化処理に
おいて、先に記載した算術符号化装置の一態様における
制御部が行う動作と同様の、パイプラインの乱れを防止
する対策処理を実行し、これによってパイプラインの乱
れを防止する。
【0023】すなわち、算術符号化装置において、符号
化演算の結果として正規化処理が発生し、かつ、同一の
コンテクスト(参照画素の状態)が連続する結果とし
て、コンテクストメモリの同一の番地に対するリードア
クセスとライトアクセスが競合する場合を想定し、あら
かじめ、確率推定テーブルから、そのようなコンテクス
トメモリの更新がなされた後に同一の番地にリードアク
セスがなされたならば、その結果として出力されるであ
ろう未来の確率推定値(next Qe)を、現在のQeと共に
並列に出力させておく。 そして、上述のようなコンテク
ストメモリにおけるアクセスの競合が生じる事態が発生
したときは、制御部が、現在の確率推定値の代わりに、
未来の確率推定値を、選択的に算術符号演算部に供給す
る。 これにより、ループを回してパラメータを更新して
いる間、符号化を待つ必要がなくなり、算術符号化処理
におけるパイプラインの乱れが防止される。 また、算術
復号化処理においては、まず、算術復号演算器を基準と
してn段離れたパイプラインステージにおいて、2のn
乗個の要素回路を並列に設ける構成とし、復号値が確定
する毎に、並列出力の中から半分を選択する公正とし
て、算術復号処理のパイプライン化を実現する(第1の
未来予測による算術復号処理のパイプライン化)。 そし
て、次に、算術符号化処理と同様に、未来の確率推定値
を、現在の確率推定値と共に確率推定メモリから並列に
出力させて、状況に応じて、それらの並列出力の中から
一つを選択する構成として、算術復号化処理におけるパ
イプラインの乱れを防止する(第2の未来予測による、
算術復号処理のハザードレス・パイプライン化)。
【0024】本発明の特徴点の理解を容易とするため
に、まず、本発明を適用しない、パイプライン構成の算
術符号器(本発明の発明者が考えた比較例)の構成と動
作を、図16〜図20を用いて説明する。
【0025】図16は、比較例の算術符号器の回路構成例
を示すブロック図である。
【0026】コンテクスト生成器400は、参照画素の状
態に応じてコンテクストインデックスS(信号409)をア
ドレス情報としてコンテクストRAM401に出力する。な
お、符号化シンボルと参照画素(x)の配置は図10に示
すとおりである。
【0027】コンテクストRAM401には、各コンテクスト
毎に符号化シンボルの予測値MPS(S)が1ビットと確率推
定器の状態番号7ビット,計1バイトが格納されてい
る。
【0028】コンテクストRAM401は、コンテクストのリ
ードと、コンテクスト内容の更新が異なるコンテクスト
であれば同一サイクルで実行できるように、デュアルポ
ートRAM(2-port RAM)で構成されている。
【0029】確率推定器402は、状態遷移テーブルであ
り、書き換えの必要はないので通常はROMで構成されて
いる(以下、Qe ROMという)。もちろん、これはRAMで
構成してもよい。
【0030】コンテクストRAM401からは確率推定器の状
態番号410が出力される。それをアドレスとしてQe ROM4
02にアクセスする。すると、コンテクスト(S)に応じ
た確率推定値Qe(S)416と,次の状態遷移先の状態番号44
1が出力される。
【0031】次の状態遷移先の状態番号441が2系統あ
るのは、LPSの符号化により正規化が発生する場合と、M
PSの符号化によってオージェンドが初期値の1/2を下
回ることになり、正規化が発生する場合とで、遷移先の
状態番号が異なるからである。セレクタ404は、正規化
が生じた状況に応じて、2つの状態番号のうちのいずれ
かを選択する。
【0032】また、推定が連続して、はずれるような場
合には、Qe ROM402は、MPS値のスイッチ信号412をアク
ティブ(すなわち”1”)とする。この状態では、エク
スクルーシブオア回路405は、インバータとして機能す
る。
【0033】すなわち、エクスクルーシブオア回路405
には、タイミング調整回路406を介して現在のMPS値が入
力されるが、入力されるMPS値が”1”のときは、エク
スクルーシブオア回路405の出力414は”0”となり、MP
S値が”0”のときは、エクスクルーシブオア回路405の
出力414は”1”となり、MPS値が更新されることにな
る。
【0034】更新された、次の状態番号やMPS値は、コ
ンテクストRAM401に書き込まれる。その書込みアドレス
は、正規化インデックス回路(タイミング調整回路)40
7により与えられる。すなわち、3クロック分だけ前の
コンテクストインデックスをアドレス変数として用い
て、コンテクストRAM401のオーバーライトが行われる。
【0035】算術符号器403では、符号化シンボル、MPS
(S)およびQe(S)を使って符号化演算を実行する。
【0036】上述のとおり、符号化を実行して正規化が
発生すると、コンテクストRAM401の内容が更新される。
更新する内容は、上述のとおり、確率推定器の状態番号
(信号413)とシンボルの予測値MPS(S)(信号414)であ
る。
【0037】そして、2種類の遷移先411がMPS正規化、L
PS正規化に応じてセレクタ404で選択され信号413とな
る。ここで、「MPS正規化」とは、推定が当たったが、
数直線の分割の結果、オージェンドが初期値の1/2を
下回ったために発生する正規化処理のことである。ま
た、「LPS正規化」とは、推定がはずれたために、必然
的に生じる正規化処理のことである。
【0038】新しい予測値(信号414)は、先に述べた
ように、今の予測値MPS(S)とswitchフラグ信号412(図中
switch-MPS)との排他的論理演算をとることで作られ
る。内容を更新するときのコンテクストRAMのアドレス
信号は、図中、参照符号415で示されている。
【0039】図16において、コンテクスト生成器400、
コンテクストRAM401、Qe ROM402、算術符号演算器403は
すべて1サイクルで所定の処理を実行できるように内部
が構成されている。
【0040】なお、図16中、参照符号406、407は、パイ
プラインのタイミングを調整するための遅延素子であ
る。1Dは1クロックの遅延、2Dは2クロックの遅延、3D
は3クロックの遅延を表わす。タイミング制御回路408
によって、各部に必要な制御信号が供給されるものとす
る。
【0041】図19は、確率推定器となる状態遷移テーブ
ルの構成例(一般的なもの)を示す。このテーブルは、
図示されるように、左側から状態番号(Qe-index)、確
率推定値(Qe)、次の遷移先番号、MPSの予測値を反転
するかどうかを示すフラグ(switch-MPS)から構成され
る。
【0042】次の遷移先は2種類あり、各々は、LPSまた
はMPSを符号化または復号化して更新処理(正規化処
理)が発生した時の遷移先を表している。
【0043】MPSを符号化して遷移するときは(MPS正規
化)、確率推定値Qeが小さくなるように遷移する。LPS
の場合は(LPS正規化)その逆である。このようにして
情報源に適応化していく。状態番号の更新は正規化のと
きに実行される。
【0044】正規化処理は算術符号化の領域幅を表すレ
ジスタの値が初期値の1/2未満になったときに行われ、
そのレジスタ値が初期値の1/2以上になるまで2倍処理
が繰り返えされる。このときに確率推定値の更新も行わ
れる。確率推定テーブルの状態番号が更新されるという
ことは、コンテクストRAM401のそのコンテクストに対応
した内容が書きかえられることにあたる 。
【0045】図20は、図19の遷移テーブルを搭載したQe
ROM402(図16)の構成例を示している。図示されるよ
うに、Qe ROM402は、アドレス(状態)が113で、ビット
幅が31ビットの構成となる。ビット0がswitchフラグで
あり、ビット1からビット14が次の遷移先であり、ビッ
ト15からビット30がQe(S)である。
【0046】図17は、図16の算術符号器の動作を説明す
るためのタイミング図である。但し、図17では、正規化
が発生しない場合のみを示している。
【0047】図示されるように、クロックに同期して、
コンテクストの生成(context det)、コンテクストRAMの
リード(context RAM RD)、Qe ROMのリード(Qe RD)、符
号化演算および正規化演算(coding/renorm)が、連続す
るシンボルに対してパイプライン処理されていく。正規
化が発生しなければ、1画素当り、1サイクルで連続し
て処理できることがわかる。
【0048】次に、正規化処理が発生した場合について
説明する。図18は、第i番目のシンボルの符号化で正規
化が発生したときの様子を示す(処理601)。
【0049】i番目のシンボルのコンテクストをSiとす
る。次のシンボル、つまり、第i+1番目も同じコンテク
ストSiであったとする。そうすると正規化が発生したと
きには既にQe ROM402はリードしているのであるが、そ
の値Qe(Si)は使えないことになる。なぜならば、正規化
によってコンテクストSiの確率推定値は更新され、よっ
て、処理602で読んだ値は古い値になっているからであ
る。したがって、更新を待って、ROMを再度、読み直す
必要がある。これによって、パイプラインが乱れる。
【0050】具体的に説明する。コンテクストRAM401の
更新は、処理604で実行される。第i+1シンボルに対し
て、無効サイクル603が入り、処理605で、更新されたQe
(Si)を読むことができる。第i+2シンボル以降も、この
影響で処理が遅延する。従って、図16の回路構成では、
正規化が発生し、かつ、その直後のシンボルも同一コン
テクストのときには、パイプラインが乱れ、1サイクル
余計に時間がかかることになる。
【0051】以上が、比較例の説明である、次に、本発
明の実施の形態について図面を用いて説明する。
【0052】(実施の形態1)図1は、本発明の実施の
形態1にかかる算術符号器の構成を示すブロック図であ
る。
【0053】図示されるように、符号器は、コンテクス
ト生成器700と、コンテクストテーブル(コンテクストR
AM)701と、確率推定部(Qe ROM)702と、算術符号演算
器703とからなり、それぞれ1クロックで1つの処理を
実行する。すなわち、図1の算術符号器は、4段のパイ
プライン構造を有する。
【0054】これらの構成要素の処理内容は、図8の一
般的な符号器(および図16の比較例)と同じである。本
実施の形態の特徴は、Qe ROMの構成と、その周辺部分の
回路構成にある。
【0055】Qe ROM702に搭載されているテーブルの内
容は図2の通りである。図19の比較例のテーブルと比較
すると、図2の場合、ビット幅が63ビットに拡張され、
「next Qe(LPS)」および「next Qe(MPS)」の各デー
タが追加されていることがわかる。
【0056】ここで、「next Qe(MPS)」とは、算術符
号器703でMPSの符号化を行なった結果、オージェンドが
初期値の1/2未満となって正規化処理が発生した場合
において、コンテクストROM701の遷移先の状態が更新さ
れ、かつ、次の符号化シンボルが前回と同じコンテクス
トであったために、コンテクストRAM701に対して前回と
同じ番地へのアクセスが発生し、その結果、Qe ROM702
の、更新された遷移先の状態に対応する番地にアクセス
がなされたならば、その結果として、Qe ROM702から出
力されるであろうLPSの幅(Qe)のことである。
【0057】同じく、「next Qe(LPS)」とは、算術符
号器703でLPSの符号化によって必然的に正規化処理が発
生し、これに対応してループを回してコンテクストテー
ブルを更新し、同じアドレスにアクセスしたならば、Qe
ROM702から出力されるであろうLPSの幅(Qe)のことで
ある。
【0058】つまり、正規化処理が発生し、コンテクス
トRAM701内のテーブルを更新して、再度、全く同じ番地
にアクセスをしたならば発生するであろう、未来のQeの
値を、あらかじめ、Qe ROM702内のテーブルに、現在のQ
eの値と併記しておくことに本実施の形態の特徴があ
る。
【0059】図1の制御回路709には、符号化シンボル
のコンテクストや算術符号器における正規化の発生の有
無等のあらゆる情報が入力される。よって、制御回路70
9がそれらの情報から、現在のQeを選ぶか、未来のQe(M
PS)あるいはQe(LPS)を選ぶかを、リアルタイムで選
択することができる。このような選択を可能とするため
に、セレクタ706が設けられている。
【0060】これにより、仮に正規化処理が発生して
も、ループを回してテーブルを更新する間、処理を待つ
必要がなく、セレクタにより未来のQe(MPS)あるいはQ
e(LPS)を選ぶだけでよい。よって、パイプラインに乱
れが生じない。
【0061】なお、図1中のセレクタ707は、図16のセ
レクタ404に対応するものである。また、セレクタ704,
705は、正規化処理が発生した後、次も、また正規化処
理が発生する可能性があることを考慮し、前回使用した
MPS値や、遷移先の状態の番号を再利用できるようにす
るために設けられている。この点については後述する。
【0062】以下、具体的に説明する。
【0063】Qe ROM702には、状態遷移テーブルの状態
番号がアドレスとして入力する。出力信号は現在の確率
推定値Qe(s)(信号713)、正規化により状態遷移が起き
た時の新しいQe(S)がLPS正規化とMPS正規化用に信号71
4、信号715として出力され、さらに、正規化による状態
遷移番号が、同様に2種類(信号716 、信号717)出力さ
れ、また、MPS(S)を反転させるか否かを示すフラグ(swi
tch-MPS 、信号718)が出力される。
【0064】このフラグと現在の予測シンボルMPS(S)の
排他的論理和をEOR回路708でとることで、新しい予
測シンボルが作られる。この値とセレクタ707の出力
が、正規化対象となるインデックス724のメモリ内容と
なる。
【0065】セレクタ704,705では、「正規化が発生し
た」直後の符号化シンボルが「同じコンテクスト」で符
号化されるときには、下側の信号が選択される。すなわ
ち、コンテクストRAM701にオーバーライトされる、更新
用のMPSと次の状態番号とが選ばれることになる。
【0066】このような場合には、次も確率推定がはず
れて、正規化処理が連続する可能性があることから、更
新用のMPSと次の状態番号とを、再度、利用するように
している。この場合、セレクタ705を介して出力される
状態番号をアドレス変数として、Qe ROM702がアクセス
され、前回と同じ値の、Qe713,next Qe714,715が並列
に出力され、符号化結果を待って、この中から一つが選
択されることになる。
【0067】各セレクタの選択信号は、制御回路709に
よって必要な状態信号を見ながら、適宜、出力される。
図が煩雑となるので制御信号の詳細は省略している。
【0068】上述したように、図2は、Qe ROMの構成例
を示している。比較例で説明したように、パイプライン
が乱れるのは、Qe ROMの読み直しが必要となることが原
因である。
【0069】本実施の形態では、このような場合に、Qe
ROMの読み直しが不要になるように、LPS正規化時の遷
移先のQeと MPS正規化時の遷移先のQeとを同一アドレス
に記憶している。ビット15からビット46がこの部分にあ
たる。
【0070】先に説明した図19の状態遷移表によれば、
Qe-indexが0のときの、MPS正規化、LPS正規化の遷移先
(Qe-index)は1であることが分かる。また、Qe-indexが
1のときのQeは0x2586であることが分かる。従って、図
1のビット15からビット30には0x2586が記憶されてい
る。同様にビット31からビット46も0x2586が記憶されて
いる。その他の構成要素は、比較例と同じである。
【0071】こうすることによって、正規化発生直後
に、同一コンテクストの符号化を行う場合も、ROMの読
み直しは不要であり、既に読み出されているものから、
状況に応じて必要なものを選択するだけでよい。
【0072】次に、図3を参照しながら、図1の算術符
号器の動作の概要を説明する。
【0073】第i番目のシンボルの符号化がクロックに
同期して、コンテクストの生成(context det)、コンテ
クストRAMのリード(context RAM RD)、Qe ROMのリード
(Qe RD)、符号化演算および正規化演算(coding/renorm)
の順に処理されていく。
【0074】符号化シンボルとそのコンテクストは、コ
ンテクスト生成器700で検出する 。符号化シンボルはパ
イプラインのタイミング調整用の遅延回路710を通して
算術符号演算器703に送られる。
【0075】コンテクストの識別番号であるコンテクス
トインデックスsは、コンテクストRAM701の入力信号と
なる。同時にそのコンテクストで正規化が発生する場合
に、RAMの内容を更新するためのアドレス情報として、
正規化インデックス712に入力される。正規化インデッ
クス712は、3クロック分の遅延を与える遅延回路であ
る。正規化インデックス712の出力信号724は、正規化処
理が発生した場合に、次の遷移先の状態やMPS値を更新
する際のアドレスを指定する信号(コンテクストインデ
ックス)となる。
【0076】コンテクストRAM701は、リードとライトを
並行して行なえるデュアルポートRAMで構成する。これ
により、正規化処理が生じてRAMの更新が必要となった
場合でも、次のコンテクスト(図10のテンプレートを右
側にずらした場合の参照画素における1と0の配置)が
前回と違っていれば、符号化用のコンテクスト情報の読
み出し(リード)と、正規化が生じた場合のコンテクス
ト情報の更新(ライト)とを、同じサイクルで、同時に
実行できるようになる。
【0077】したがって、正規化処理が発生しても、次
のコンテクストが異なっているのであれば、ROMへのア
クセスの競合が生じないため、オーバーライトを待つ必
要がなく、パイプラインの乱れは生じない。
【0078】コンテクストRAMの出力信号は、符号化シ
ンボルの予測値MPS(S)と確率推定器の状態番号(図中st
ate No)である。予測値MPS(S)は、パイプラインの遅延
調整回路711を通って算術符号演算器703に送られる。
【0079】これら2つの出力信号は、セレクタ704と7
05に入る。制御回路709は、正規化が発生しない時は、
上側の信号(つまり、コンテクストRAMから出力されるM
PS値と状態番号)が選ばれるように、セレクタ704,705
を制御する。
【0080】Qe ROM702は、セレクタ705を介して入力さ
れる状態番号をアドレス変数としてアクセスされる。図
2に示すように、一つのアドレスには3種類のQeが併記
されているため、Qe ROM702からは、確率推定値として3
種類の値が、常に出力される。そして、制御回路709
が、正規化の有無やコンテクストの連続の有無を判定し
て、状況に応じて、それらの中の一つをリアルタイムで
選択していく。
【0081】以下、図3を用いて、正規化処理が発生し
た場合の動作を説明する。
【0082】図3における処理801では、Qe(Si)(信号7
13)が選択されたものとする。ここでは第i番目のコン
テクストをSiとした。
【0083】処理802で、第iシンボルの符号化演算と正
規化処理が行われる。ここでは、LPSを符号化して正規
化が発生したものとする。第i+1シンボルに対しては第i
シンボルの符号化演算と同一サイクルで、Qe ROM702の
読み出しが実行される(処理804)。
【0084】第i+1シンボルのコンテクストも同じくSi
であったとする。そうすると、第iシンボルでLPS正規化
が起きたので、セレクタ706では、LPS正規化で遷移する
先のQe値714が選択される。
【0085】処理805では、この値を使った符号化演算
が実行される。このとき処理803ではコンテクストRAM70
1のコンテクストSiの内容が更新される。
【0086】更新処理は以下のように行われる。すなわ
ち、セレクタ707では、LPS正規化時の次の状態番号716
が選択される。一方、EOR回路708では、switch-MPS(信
号718)と現在の予測値MPS(Si)(信号723)から新しい
予測値(信号721)を作る。
【0087】上述のとおり、信号718が“1”であればM
PS(Si)の値は反転する。これら2つの情報がコンテクス
トRAM701のアドレスSiに書かれる。
【0088】このときアドレスSiは、遅延回路712から
信号724として出力されている。この更新処理のタイミ
ングで、第i+2シンボルに対しては、Qe ROM702を読む必
要がある。
【0089】この時、第i+2シンボルも同じコンテクス
トSiであればセレクタ704、705は下側の信号が選ばれる
ように制御する。その理由は、上述のとおり、処理805
で正規化が再度発生するかもしれないからである。Siの
コンテクスト情報の更新が終了したら 、セレクタ704
、705の上側の信号が選ばれる。
【0090】第i+3シンボルに対してはこのサイクルで
コンテクストRAMのリードを行う(処理808)。先に説明
したとおり、第i+3シンボルのコンテクストがSiと異な
りSjであれば、デュアルポートROM701に対するコンテク
ストのリードとコンテクストSiの更新は、同時に実行さ
れる。
【0091】第i+3シンボルのコンテクストがSiであれ
ば処理803でその内容が更新される。この時、セレクタ7
04 、705では下側の信号が選択されている。
【0092】このようにして正規化が発生したコンテク
ストで連続して符号化する場合も従来例のような無効サ
イクルは発生せず、パイプラインが乱れることはない。
したがって、いかなる画像パターンに対しても1シンボ
ルを1クロックで連続して符号化することができる。
【0093】図7に、本発明の効果を裏付ける実験(コ
ンピュータシミュレーション)結果を示す。
【0094】パイプラインの乱れが発生しやすいのは、
正規化の頻度もコンテクストの連続性も共に高い画像パ
ターンである。文書画像ではコンテクストが連続する場
合は多いが正規化はあまり発生しない。逆に黒率50%近
いランダム画像では正規化は頻繁に起こるがコンテクス
トの連続性はほとんどない。そうすると、中間点である
圧縮率0.5近辺の画像パターンで、パイプラインの乱れ
が発生しやすそうである。図7は、そのようなテスト画
像によるQM-coderの符号化シミュレーション結果であ
る。
【0095】図7では、1ライン毎に1シンボルが何サ
イクルで符号化できたかをプロットしている。上側の特
性線Aが従来例、下側の特性線Bが本発明によるデータ
を示している 。
【0096】このシミュレーション結果から明らかなよ
うに、従来例では、1.1サイクル/シンボルを超えるこ
ともあることがわかる。これは、100MHzのクロックで動
かしても90Mシンボル/秒程度に処理能力が低下するこ
とを意味する。一方、本発明による符号器では、画像パ
ターンによらず、いかなる場合も100Mシンボル/秒の処
理能力が得られることが分かる。
【0097】以上説明した本発明の符号化の主要な手順
をまとめると、図21に示すようになる。すなわち、現在
のQeと、MPS符号化で正規化処理が発生したならば出力
されるであろうQe(next Qe)と、LPS符号化で正規化処
理が発生したならば出力されるであろうQe(next Qe)
と、を並列に出力する(ステップ30)。
【0098】そして、正規化が発生し、かつ次のコンテ
クストも同じであるときには(ステップ31)、MPSの符
号化による正規化であるか、LPSの符号化による正規化
であるかに応じて、未来のQe(next Qe)のうちのいず
れかを選択する(ステップ32)。正規化が発生しない
場合には、現在のQeを選択する(ステップ33)。
【0099】(実施の形態2)次に、本発明の算術復号
器の実施例について、図4を参照して説明する。図4
は、本発明の算術復号器の一実施例の構成を示すブロッ
ク図である。
【0100】復号器も1サイクルで1シンボルを連続的に
復号化する構成である。すなわち、符号器と同じく、コ
ンテクスト生成、コンテクストRAMの読み出し、Qe ROM
の読み出し、復号化演算処理の順に、4段のパイプライ
ン処理を実行する。
【0101】算術復号は、入力された符号が、分割され
た数直線上でMPSに属するかLPSに属するかを判定し、そ
のときのMPS,LPSが”1”,”0”のどちらかを知るこ
とにより、復元対象となるシンボル(復元シンボル)を
復元する。
【0102】そして、その復元されたシンボルは、次に
入力される符号を復号化するための参照画素として利用
される。通常、このような手法による1シンボルの復元
には、4クロック以上が必要であり、このままでは、パ
イプライン処理を実現できない。符号化の場合と異な
り、復号化の場合には、処理対象の画素の値は、実際に
復号が終了するまで不明であり、画素の復元を待って、
復元画素を参照画素として用いて符号化(Qeの生成)を
行なうしかないため、どうしてもステップ数が多くなる
のである。
【0103】そこで、本実施の形態では、まず、符号化
の場合と同様の考え方(未来を予測して先回りをして並
列出力する考え方)を復号化にも導入する。
【0104】すなわち、2値算術符号の場合、復元シン
ボルは”1”または”0”しかないため、現在、復元し
ているシンボルが”1”である場合と”0”である場合
の双方を想定して、それぞれの場合について、次のシン
ボル(一つ先のシンボル)を復元するためのQeを、現在
のシンボルの復元中に、同時に出力してしまう。すなわ
ち、Qe ROMを2つ設けて、それぞれを同時に動作させ
る。そして、現在のシンボルについての復元結果に応じ
て、いずれかのQeを選択する。
【0105】同じく、次の次に復元するべきシンボル
(二つ先のシンボル)を復元するために必要な、コンテ
クストRAMからのリードも、現在のシンボルの復元中
に、同時に実行してしまう。
【0106】このとき、現在復元中のシンボルが”0”
で次のシンボルが”1”の場合と、現在のシンボルが”
0”で次のシンボルが”0”の場合と、現在のシンボル
が”1”で次のシンボルが”1”の場合と、現在のシン
ボルが”1”で次のシンボルが”0”の場合の4つが想
定されるため、コンテキストRAM(デュアルポートメモ
リ)を4つ設けて、これらを同時に動作させる。
【0107】また、次の次の次のシンボル(3つ先のシ
ンボル)を復元するために必要な4系統のコンテクスト
インデックス(S)のそれぞれを、4つのコンテキストR
AM(デュアルポートメモリ)の入力ポートに、同時に入
力してライトする。
【0108】この場合に想定される4つの状態は、一つ
先のシンボルが”0”で2つ先のシンボルが”1”の場
合と、一つ先のシンボルが”0”で二つ先のシンボル
が”0”の場合と、一つ先のシンボルが”1”で二つ先
のシンボルが”1”の場合と、一つ先のシンボルが”
1”で二つ先のシンボルが”0”の場合の4つに大別さ
れる。
【0109】このように、現在のシンボルを復元中に、
一つ先〜三つ先のシンボルの復元に必要な情報を先回り
して、並列に入出力しておき、復元結果が判明した時点
で、それに応じて、いずれかの出力を選択する、という
手法を採用することにより、算術復号処理もパイプライ
ン化することができる。
【0110】しかし、符号化と同様に正規化が発生し、
かつコンテクストが連続したときには、パイプラインが
乱れることになる。よって、符号化の場合と同様に、現
在のQeと更新後のQeとを並列に出力して、実際の復号結
果に応じていずれかを選択していく方式を採用する。
【0111】以下、具体的に説明する。
【0112】上述のように、1サイクルで連続的に復号
化するには、i番目の画素が確定する以前に、次のi+1番
目の画素の復号化処理に入る必要がある。そのために
は、i番目の画素が“0”と“1”の場合に分けた並列処
理を行う必要がある。同様に、i+2番目の画素もi+1番目
の画素の値毎に並列処理が行われる。これら並列処理の
内容はパイプラインの構成によって決まる。
【0113】図4では、2つのQe ROM913,914を同時に
動作させ、また、4つのコンテクストRAM905,906,90
7,908を同時に動作させる。そして、算術復号演算器91
7の復元シンボルの値(1または0)を選択制御信号と
しても用いて、セレクタ909,910,911,912,915,916
を切り替えて、復元されたシンボルに対応する出力を、
適宜、選択する構成となっている。
【0114】図5は、図4中の、Qe ROM913およびコン
テクストRAM905,906の周辺のみを抜き出して、より具
体的に示すブロック図である。図1と比較してみれば明
らかなように、回路の詳細な構成は、ほぼ同じである。
これは、復号化装置においても、符号化側と同様の符号
化動作を行なってMPS値とQeを生成し、それらを復号器
に供給していることからして、当然のことである。
【0115】図4の全体構成によれば、一応、復号器の
パイプライン化が可能となるが、正規化が発生し、かつ
コンテクストが連続するとパイプラインが乱れる。そこ
で、図5に示すように、現在のQeおよび更新後のQeの双
方を生成して出力し、実際の復号結果に応じて、いずれ
かのQeを選択するようにする。これにより、画像パター
ンや復号器の状態に関係なく、パイプラインの乱れが生
じない。
【0116】図5に示される、Qe ROM913の出力信号と
セレクタ1008,1009の機能は、先に説明した符号化の場
合のセレクタと同じである。また、Qe ROM913の入力側
のセレクタ1003 、1004の機能も符号化と同じく、正規
化によるコンテクストRAMの更新時に同一コンテクスト
で復号化を行う時、下側の信号を選択するためのもので
ある。
【0117】遅延回路901は、タイミング調整用の遅延
回路であり、正規化対象となるコンテクストインデック
スを、コンテクストRAMのアドレスとして出力するため
のものである。
【0118】このように復号器を構成すると、正規化が
発生したコンテクストで連続して復号化する場合も、無
効サイクルは発生せずパイプラインが乱れることはない
。したがって、いかなる画像パターンに対しても1シン
ボルを1クロックで連続して復号化することができる
【0119】図4の算術復号器の基本的な動作を、図6
のタイミングチャートを用いて具体的に説明する。
【0120】第iシンボルの復号時(処理1100)、第i+1
シンボル(1つ先の復元シンボル)に対しては第iシン
ボルが“0”の場合と“1”の場合を想定し並行してQe R
OM913,914の読み出しを行う(処理1101,1102)。
【0121】また、同時に、第i+2シンボル(2つ先の
復元シンボル)に対しては、第iシンボルと第i+1シンボ
ルの組み合わせ4通りについて、コンテクストRAM905〜
908の読み出しを行う(処理1104〜1107)。
【0122】また同時に、第i+3シンボルに対しては、
図10の参照画素の配置からまだ復元されていない第i+1
シンボルと第i+2シンボルの値を想定して4通りのコン
テクストインデックスを生成している 。
【0123】なお、参照画素の配置が図10と異なり、復
号化ライン上で左に伸びている場合には、算術復号演算
器のパイプラインステージからn段離れたパイプライン
ステージでは2のn乗個のデータの並列処理が行われ、
これらの並列データが第iシンボルの復号化によってシ
ンボルが確定すると、それらの中から一つが選択され、
次のパイプラインステージに送られるという構成となる
【0124】次に、図5に示される具体的な回路につい
ても、動作の説明を行なう。ここでは、算術復号演算器
917(図4)で第iシンボルの復号化処理を実行している
ものとして 、その時点を基準にして動作を説明する。
【0125】このタイミングでは、コンテクスト生成器
900は、第i+3画素の復号化用にコンテクストインデック
スSi+3を生成する。
【0126】図5において、第iシンボルをDiとする
と、Si+3はDi+1、Di+2の組み合わせから4通りとなる。
それを例えばSi+3(Di+2=0/Di+1=0)のように表す。これ
はDi+2シンボルと第Di+1シンボルがともに“0”を想定
した第i+3シンボルのコンテクストインデックスを表
す。参照符号901〜904は、正規化対象となるコンテクス
トインデックスをコンテクストRAMに出力するための遅
延回路である。参照符号905〜908はコンテクストRAMで
ある。
【0127】一つ一つは、符号化用と同じ構成である。
コンテクストRAM905,906の出力は第i+2シンボルの復号
化のためのQe ROMの状態番号である。ここで、記号Qe-i
ndexi+2(Di+1=0/Di=0)は第iシンボルと第i+1シンボルが
ともに“0”の場合を想定したQe-indexを示す。他も同
様である。MPSi+2は、第i+2シンボルの予測値である。
想定条件は、対応するQe-indexのそれと同じなので省略
している。
【0128】セレクタ909〜セレクタ912は、復元シンボ
ルDiの値によって入力信号を選択する。Diが復号化さ
れ、値が“0”であれば、セレクタの上側の信号が選択
される。その結果、例えば、セレクタ909の出力には、D
i+1復元用のQe-indexが選らばれる。同様に、セレクタ9
10の出力には、Di=0の場合のDi+1の予測値MPSi+1(Di=0)
が選らばれる 。
【0129】Qe ROM913の出力には、Di+1を復元するた
めのQe値が出力する。これをQei+1(Di=0)とする。この
信号は、符号化同様に3種類のQe値が含まれている。複
雑になるのでそれらをまとめて表現している。
【0130】セレクタ915では、Qei+1(Di=0)とQei+1(Di
=1)がDiの値によって選択され、セレクタ916出力のMPS
iと合わせて算術復号演算器917に入力され、Diの復号化
後Di+1の復号化が実行される。セレクタの選択信号など
の制御信号は、制御回路918によって各部に供給されて
いる 。
【0131】以上説明した本発明の算術復号方法のパイ
プライン化の主要な手順をまとめると、図22に示すよう
になる。
【0132】すなわち、一つ先のシンボル,2つ先のシ
ンボル,3つ先のシンボルのそれぞれについて先行して
処理を行ない、実際に取り得る状態の各々に対応した情
報(確率推定値)を並列に出力する(ステップ40)。そ
して、実際の復号結果を用いて、セレクタを制御し、並
列に出力されている情報のうちの一つを選択する(ステ
ップ41)。
【0133】そして、正規化処理が生じ、かつコンテク
ストが同一の場合におけるパイプラインの乱れを防止す
るべく、各状態(コンテクスト)に対応した各確率推定
値の生成の際に、図21に示した、算術符号化の場合と同
様の手法を実行する。
【0134】なお、以上の説明では確率推定テーブルを
ROMで構成する例を述べたがRAMで構成してもよい。ま
た、QM-coderに限らず、コンテクスト毎に確率推定値を
適応的に更新しながら符号器に供給して動作する符号化
復号化装置には、本発明と同様の考えを適用することが
できる。
【0135】本実施の形態では、画像の符号化を例に説
明したが、このような符号器、復号器は画像データ以外
のデータ圧縮全般に適用できる。また、確率推定ROMを1
個で構成する必要もなく、複数個で構成し、出力データ
が実施例のようになるようにしてもよい。また、Qe ROM
と同様の機能を、DSP等によるリアルタイム演算で実現
することも可能である。
【0136】また、上述の実施の形態では、パイプライ
ンの乱れを完全に防止する例について説明しているが、
多少の乱れは生じても、未来予測による複数の情報の並
列出力・選択の手法によって、パイプラインの乱れを低
減することも、当然ながら可能である。
【0137】以上説明した本発明の算術符号・復号器
は、図11に示すような、複合機(スキャナー,ファクシ
ミリ装置,コピー機の機能を併せ持つ装置)に搭載する
のに適している。すなわち、画像を読み取って一時的に
メモリに蓄積するような用途、例えばスキャナやFAX,
複合機などにQM-coderを適用するには、スキャナやプリ
ンタの高速化に伴って高速処理が要求される。本発明を
適用すれば、どのような画像であっても、パイプライン
処理が乱れることがなく、非常に高速な符号・復号化を
行なうことができる。
【0138】図11の複合機は、ホストプロセッサ102
と、MH等の符号化回路103と、画像処理回路104と、QM
符号/符号化回路105と、画像ラインメモリ106と、符号
メモリ107と、モデムなどの通信インタフェース108と、
スキャナなどの画像入力装置111と、プリンタなどの画
像記録/表示装置112と、を有している。本発明の算術
符号・復号器は、QM符号/符号化回路105に搭載され
る。
【0139】(実施の形態3)本実施の形態では、本発
明の出願人が先に提案している、コンテクストが連続す
る場合に、1シンボル毎の符号化を止めて一括した符号
化を行なう方法と、実施の形態1,2で説明した、未来
予測によるパイプラインの乱れを防止する方法とを併用
する。
【0140】図15に、画像の一例を示す。図示されるよ
うに、領域A,領域C等は文字領域であり、領域B,D
は白だけの領域(行間領域)である。そして、領域E,
Fの右側には、コンテキストの連続性が高く、それでい
て確率推定のむずかしい高精細な画像10,20が存在す
る。
【0141】文字領域では、確率推定が容易で正規化の
発生頻度が少ないため、パイプラインの乱れはそれほど
問題とならないと考えられる。また、高精細な画像10,
20についても、上述の本発明を用いることで、パイプラ
インの乱れを防止することができる。
【0142】本発明では、未来予測に基づく情報を、現
在の情報と共に並列に出力して、事後的に選択する手法
を採るが、例えば、全白(あるいは全黒)の行間領域で
は、このような手法は必要がない。そこで、全白の領域
が現れると、一括して符号化(復号化)を行なうことに
より、無駄を省き、1枚の画像の符号化(復号化)を、
さらに高速で行なうことが可能となる。
【0143】非白ラインでも、ある程度の一括符号化・
復号化を行なうことが可能であるが、全白ラインについ
ては、非白ラインの一括処理シンボル数よりも、より多
いシンボル数を、まとめて処理することができる。これ
により、処理速度の向上が図れる。
【0144】全白領域の一括符号化を行なうためには、
図12に示すように、コンテクスト生成器3200に入力され
るデータがラインメモリ2000にラッチされた状態で、シ
ーケンス制御部4000が白ラインを検出し、その識別信号
を複数シンボル処理判定器3300に送り、一括処理できる
最大シンボル数を決定する構成とする。なお、パイプラ
インの乱れを防止(低減)するための本発明の構成は、
コンテクスト生成器3200,コンテクストメモリ3400,確
率推定器3600においても、前掲の実施の形態と同様に採
用されている。
【0145】白ラインの一括符号化(例えば、MPSの符
号化)は、図14に示すように、オージェンド(Areg)か
ら、初期値の1/2(0x8000)以下にならない範囲で複
数回分のQeを一括に減算することにより容易に実現され
る。正規化が生じてしまうと、処理が複雑化することが
懸念される。よって、一般的には、正規化が生じないこ
とを、連続シンボルの一括処理の条件とすることが望ま
しい。
【0146】一括符号化処理の手順を図13に示す。すな
わち、一括してQeを減算した場合に中央値以上となるか
を判定し(ステップ10)、コンテクストとMPSの連続を
判定し(ステップ20)、判定結果に応じて、一括符号化
処理または逐次符号化処理を選択する(ステップ30,4
0)。
【0147】
【発明の効果】以上説明したように本発明によれば、パ
イプラインの乱れがなく、画像パターンによらず一定速
度で符号化や復号化を実行することができる。その結
果、従来よりも高速の符号化・復号化を行なえる高性能
な符号化・復号化装置を実現することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態にかかる算術符号器
の構成を示すブロック図
【図2】本発明における確率推定メモリの構成例を示す
【図3】図1の算術符号器の動作(パイプライン動作)
を説明するためのタイミング図
【図4】本発明の第2の実施の形態にかかる算術復号器
の構成を示すブロック図
【図5】図4の算術符号器のQe ROMの周辺を詳細に示す
ブロック図
【図6】図4の算術復号器の動作(パイプライン動作)
を説明するためのタイミング図
【図7】本発明の算術符号器の効果を説明するための図
【図8】算術符号器の一般的な構成を示すブロック図
【図9】算術符号の原理を示す図
【図10】算術符号化に用いられるテンプレートの一例
を示す図
【図11】本発明の算術符号・復号器を搭載した複合機
の構成を示すブロック図
【図12】本発明の第3の実施の形態にかかる算術符号
器の構成を示すブロック図
【図13】図12の算術符号器の主要な動作手順を示す
フロー図
【図14】一括符号化の原理を説明するための図
【図15】符号化対象となる画像の一例を示す図
【図16】比較例の算術符号器の構成例を示すブロック
【図17】図16の回路における、正規化がない場合のパ
イプライン動作を示すタイミング図
【図18】図16の回路における、正規化が発生した場合
におけるパイプライン動作を示すタイミング図
【図19】確率推定テーブルの内容を説明するための図
【図20】比較例における確率推定メモリの構成例を示
す図
【図21】本発明の算術符号化方法(パイプラインの乱
れ防止)の主要な手順を示すフロー図
【図22】本発明の算術復号化方法(パイプライン化)
の主要な手順を示すフロー図
【符号の説明】
700 コンテクスト生成器 701 コンテクストRAM 702 Qe ROM 703 算術符号演算器 704,705,706,707 セレクタ 708 エクスクルーシブオア回路 709 制御回路 710,711 タイミング調整回路 712 正規化インデックス回路(更新アドレス発生回
路)
フロントページの続き (56)参考文献 特開 平9−101890(JP,A) 特開 平5−40627(JP,A) 特開 平11−215009(JP,A) 特開 平9−135446(JP,A) 特開 平8−265164(JP,A) 特開 平8−186814(JP,A) (58)調査した分野(Int.Cl.7,DB名) H03M 7/40 H04N 1/413 H04N 7/24

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 既に符号化済みのシンボル系列の状態
    コンテクスト)に基づき、優勢シンボル予測値および
    確率推定値を求め、前記優勢シンボル予測値および確率
    推定値を用いて符号化シンボルを算術符号化する、パイ
    プライン方式の算術符号化装置であって、コンテクスト生成部、異なるアドレスに対するリードと
    ライトを同時に行うことができるコンテクストメモリ、
    確率推定メモリ、および算術符号演算器と、 前記コンテクストの生成、前記コンテクストメモリから
    の読み出し、前記確率推定メモリからの読み出し、なら
    びに前記算術符号化演算の各処理を同じサイクルで実行
    させてパイプライン制御を行うと共に、前記算術符号演
    算器による符号化の結果として正規化処理が必要とな
    り、かつ、次の符号化シンボルに関するコンテクストが
    直前のコンテクストと同じであることを検出すると、前
    記パイプラインの乱れを防止するための対策処理を行う
    制御部と、 を有し、 前記確率推定メモリを、一つのアドレスに複数の確率推
    定値を記憶させることが可能な構成とし、前記確率推定
    メモリの一つのアドレス毎に、 現在の確率推定値(Qe)と、 所定の状況が生じて正規化処理が発生し、前記コンテク
    ストメモリの内容を更新し、その直後のサイクルにおい
    て、符号化シンボルに関するコンテクストが直前のコン
    テクストと同じであったために前記更新した内容が前記
    コンテクストメモリからリードされたならば、その結果
    として前記確率推定メモリから出力されるであろう、前
    記所定の状況のそれぞれに対応した、未来の確率推定値
    (next Qe)と、 所定の状況が生じて正規化処理が発生した直後のサイク
    ルにおいて前記コンテクストメモリの内容を更新するた
    めの、前記状況の各々に対応した、更新用データと、 を記憶させておき、これによって、一つのアドレスにア
    クセスされたときに、前記現在の確率推定値(Qe)、前記
    状況の各々に対応した前記更新用の確率推定値(next Q
    e)ならびに前記更新用データの各々が、前記確率推定
    メモリから並列 に出力されるようにし、 また、前記並列に出力される、現在の確率推定値(Qe)お
    よび前記状況の各々に対応した前記未来の確率推定値
    (next Qe)のいずれかを選択して前記算術符号演算器
    に供給できるようにするための確率推定値選択用のセレ
    クタを設け前記制御部は、正規化処理が発生しないとき、および正
    規化処理は発生したが、次の符号化シンボルに関するコ
    ンテクストが直前のコンテクストと異なっているときに
    は、前記セレクタを制御して現在の確率推定値(Qe)を
    選択し、また、前記算術符号演算器による符号化の結果
    として正規化処理が必要となり、かつ、次の符号化シン
    ボルに関するコンテクストが直前のコンテクストと同じ
    であることを検出すると、前記パイプラインの乱れを防
    止するための対策処理として、前記セレクタを制御し
    て、正規化処理の発生状況に対応した、前記未来の確率
    推定値(next Qe)を選択して前記算術符号演算器に供
    給し、これによって、正規化処理発生直後のサイクルに
    おいて、前記未来の確率推定値(next Qe)を利用した
    次の符号シンボルの符号化処理と、前記コンテクストメ
    モリの内容の更新処理とを並行して行わせて、パイプラ
    インの乱れを防止することを特徴とする算術 符号化装
    置。
  2. 【請求項2】 既に符号化済みのシンボル系列の状態
    コンテクスト)を生成するコンテクスト生成器と、 コンテクスト毎に優勢シンボルの予測値(MPS)および状
    態番号を記憶している、異なるアドレスに対するリード
    とライトを同時に行うことができるコンテクストメモリ
    と、 劣勢シンボル(LPS)が生起される確率、すなわち現在
    の確率推定値(Qe)と、算術符号化演算に伴って正規化
    処理が発生したとき、前記コンテクストメモリを更新す
    るための更新用の状態番号と、を記憶している確率推定
    メモリと、 符号化シンボルと、前記コンテクストメモリから読み出
    された前記優勢シンボルの予測値(MPS)と、前記確率
    推定メモリから出力される劣勢シンボル(LPS)が生起
    される確率(Qe)とが与えられ、前記優勢シンボルの予
    測値(MPS)および前記劣勢シンボル(LPS)が生起され
    る確率(Qe)を用いて、前記符号化シンボルについての
    算術符号化演算を実行する算術符号演算器と、 前記コンテクストの生成、前記コンテクストメモリから
    の読み出し、前記確率推定メモリからの読み出し、なら
    びに前記算術符号化演算の各処理を同じサイクルで実行
    させてパイプライン制御を行うと共に、前記算術符号演
    算器による符号化の結果として正規化処理が必要とな
    り、かつ、次の符号化シンボルに関するコンテクストが
    直前のコンテクストと同じであることを検出すると、前
    記パイプラインの乱れを防止するための対策処理を行う
    制御部と、 を有するパイプライン方式の算術符号化装置であって、 前記確率推定メモリにおける一つのアドレス当たりのメ
    モリ幅を拡張して、前記劣勢シンボル(LPS)が生起さ
    れる確率(Qe)を複数、記憶させることが可能な構成と
    すると共に、前記確率推定メモリの一つのアドレス毎
    に、 前記現在の確率推定値(Qe)の他に、 所定の状況が生じて正規化処理が発生し、前記コンテク
    ストメモリの内容を更新し、その直後のサイクルにおい
    て、符号化シンボルに関するコンテクストが直前のコン
    テクストと同じであったために前記更新した内容が前記
    コンテクストメモリからリードされたならば、その結果
    として前記確率推定メモリから出力されるであろう、前
    記所定の状況のそれぞれに対応した、未来の確率推定値
    (next Qe)と、 所定の状況が生じて正規化処理が発生した直後のサイク
    ルにおいて前記コンテクストメモリの内容を更新するた
    めの、前記状況の各々に対応した、更新用の状態番号
    と、 を記憶させておき、これによって、一つのアドレスにア
    クセスされたときに、前記現在の確率推定値(Qe)、前記
    状況の各々に対応した前記未来の確率推定値(next Q
    e)ならびに前記更新用状態番号の各々が、前記確率推
    定メモリから並列に出力される構成とし、 また、前記並列に出力される、現在の確率推定値(Qe)お
    よび前記状況の各々に対応した前記未来の確率推定値
    (next Qe)のいずれかを選択して前記算術符号演算器
    に供給できるようにするための、確率推定値選択用のセ
    レクタを設け、 前記制御部は、正規化処理が発生しないとき、および正
    規化処理は発生したが、次の符号化シンボルに関するコ
    ンテクストが直前のコンテクストと異なってい るときに
    は、前記セレクタを制御して現在の確率推定値(Qe)を
    選択し、また、前記算術符号演算器による符号化の結果
    として正規化処理が必要となり、かつ、次の符号化シン
    ボルに関するコンテクストが直前のコンテクストと同じ
    であることを検出すると、前記パイプラインの乱れを防
    止するための対策処理として、前記セレクタを制御し
    て、正規化処理の発生状況に対応した、前記未来の確率
    推定値(next Qe)を選択して前記算術符号演算器に供
    給し、これによって、正規化処理発生直後のサイクルに
    おいて、未来の確率推定値(next Qe)を用いた次の符
    号化シンボルの符号化処理と、前記コンテクストメモリ
    に前記更新用の状態番号を書き込むことによる前記コン
    テクストメモリの更新処理とを並行して行わせて、パイ
    プラインの乱れを防止することを特徴とする算術 符号化
    装置。
  3. 【請求項3】 請求項2において、 正規化処理が発生した直後のサイクルで前記コンテクス
    トメモリに書き込まれる前記更新用状態番号を、前記確
    率推定メモリにも帰還させるように新たな信号伝達ルー
    トを設け、そのルートの途中に、その更新用状態番号と
    前記コンテクストメモリから出力される更新前の状態番
    号のいずれかを選択するための、状態番号選択用のセレ
    クタを設け、 前記制御部は、 前記算術符号演算器による符号化の結果として正規化処
    理が必要となり、かつ、次の符号化シンボルに関するコ
    ンテクストが直前のコンテクストと同じであることを検
    出すると、前記パイプラインの乱れを防止するための対
    策処理として、前記セレクタを制御して、正規化処理の
    発生状況に対応した、前記未来の確率推定値(next Q
    e)を選択して前記算術符号演算器に供給すると共に、
    前記状態番号選択用のセレクタを制御して前記更新用の
    状態番号を選択して前記確率推定メモリに供給し、これ
    によって、正規化処理発生直後のサイクルにおいて、未
    来の確率推定値(next Qe)を用いた次の符号化シンボ
    ルの符号化処理と、前記コンテクストメモリに前記更新
    用の状態番号を書き込むことによる前記コンテクストメ
    モリの更新処理と、さらに、前記更新用状態番号を用い
    た前記確率推定メモリからの、次の現在の確率推定値(Q
    e)、状況の各々に対応した次の未来の確率推定値(next
    Qe)ならびに次の更新用状態番号のそれぞれの読み出
    し処理と、を並 行して行わせることを特徴とする算術
    号化装置。
  4. 【請求項4】 入力された算術符号が、分割された数直
    線上で優勢シンボル(MPS)に属するか劣勢シンボル(L
    PS)に属するかを判定し、そのときのMPS,LPSが
    “1”,“0”のいずれかを検出することで、シンボル
    を復元する、パイプライン方式の算術復号化装置であっ
    て、 復号化対象のシンボルについての算術符号と、前記復号
    化対象のシンボルの推定確率と、優勢シンボルまたは劣
    勢シンボルの推定値とが入力される算術復号演算器と、 この算術復号演算器に、前記復号化対象のシンボルの推
    定確率および前記推定値を供給するために設けられてい
    る、コンテクスト生成器、コンテクストメモリおよび確
    率推定メモリを具備するパイプライン方式の算術符号化
    装置と、 前記算術復号演算器および前記パイプライン方式の算術
    符号化装置を含めた全体のシステムとしてパイプライン
    動作を行わせると共に、前記パイプラインの乱れを防止
    するための対策処理を行う制御部と、 を有しており、 前記パイプライン方式の算術符号化装置は、 前記算術復号演算器をパイプラインステージの基準点と
    してみた場合に、その基準点からn段離れたパイプライ
    ンステージにおいて、2のn乗個のデータの並列処理が
    行われて、その処理結果のデータが並列に出力され、そ
    の直後のサイクルで一つのシンボルの復号化によってシ
    ンボル値が確定すると、前記並列に出力されるデータの
    うちの、前記確定されたシンボル値に対応する半分のデ
    ータが、セレクタによって選択されて次のパイプライン
    ステージに送られるという、並列のデータ生成およびシ
    ンボル値確定に伴って並列データの半分を選択する構成
    を有し、 したがって、前記パイプライン方式の算術符号化装置
    は、 第i番目(iは任意の自然数)のシンボル復号のとき
    に、第i+1番目のシンボルに関しては、第i番目のシ
    ンボルが“0”の場合と“1”の場合を想定し、それぞ
    れの場合に対応したデータを前記確率推定メモリから並
    列に読み出し、また、これと同じサイクルで、第i+2
    番目のシンボルについて、第i番目のシン ボルと第i+
    1番目のシンボルの値に応じて想定される4通りの組み
    合わせの各々に関して、コンテクストメモリの読み出し
    を行い、また、同時に、第i+3番目のシンボルに対し
    ては、まだ復元されていない第i+1番目のシンボルと
    第i+2番目の値を想定して、4通りのコンテクストを
    前記コンテクスト生成器にて並列に生成するという構成
    を有し、 そして、前記制御部の制御によってパイプライン算術復
    号を実行し、 さらに、前記パイプライン算術符号化装置における前記
    確率推定メモリを、一つのアドレスに複数の確率推定値
    を記憶させることが可能な構成とし、 これによって、算術復号処理のパイプライン化を実現す
    ることを特徴とする算術復号化装置。
  5. 【請求項5】 請求項4において、 前記制御部は、 前記パイプライン復号化処理において、さらに、請求項
    1〜請求項3のいずれかに記載される制御部が行う動作
    と同様の、パイプラインの乱れを防止する対策処理を実
    行し、これによってパイプラインの乱れを防止すること
    を特徴とする算術復号化装置。
  6. 【請求項6】 請求項1〜請求項3のいずれかに記載の
    算術符号化装置、あるいは請求項4に記載の算術復号化
    装置を搭載した、画像読み取り機能および、読み取った
    画像を再生して出力する機能を有する画像処理装置。
JP37476099A 1999-12-28 1999-12-28 算術符号化装置および算術復号化装置 Expired - Lifetime JP3406550B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP37476099A JP3406550B2 (ja) 1999-12-28 1999-12-28 算術符号化装置および算術復号化装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP37476099A JP3406550B2 (ja) 1999-12-28 1999-12-28 算術符号化装置および算術復号化装置

Publications (2)

Publication Number Publication Date
JP2001189661A JP2001189661A (ja) 2001-07-10
JP3406550B2 true JP3406550B2 (ja) 2003-05-12

Family

ID=18504386

Family Applications (1)

Application Number Title Priority Date Filing Date
JP37476099A Expired - Lifetime JP3406550B2 (ja) 1999-12-28 1999-12-28 算術符号化装置および算術復号化装置

Country Status (1)

Country Link
JP (1) JP3406550B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6677869B2 (en) * 2001-02-22 2004-01-13 Panasonic Communications Co., Ltd. Arithmetic coding apparatus and image processing apparatus
US7418146B2 (en) 2004-02-10 2008-08-26 Sanyo Electric Co., Ltd. Image decoding apparatus
JP4327036B2 (ja) 2004-07-15 2009-09-09 株式会社東芝 算術符号復号化方法及びその装置
KR100648258B1 (ko) * 2004-08-02 2006-11-23 삼성전자주식회사 고속의 디코딩을 수행하는 파이프라인 구조의 내용 기반적응적 이진 산술 디코더
JP2008141530A (ja) * 2006-12-01 2008-06-19 Canon Inc 画像符号化装置及び画像符号化方法
JP2008289125A (ja) 2007-04-20 2008-11-27 Panasonic Corp 算術復号化装置及びその方法
JP4524501B2 (ja) * 2007-12-27 2010-08-18 株式会社アクセル 符号化システム、符号化方法、符号化プログラム、復号化システム、復号化方法および復号化プログラム

Also Published As

Publication number Publication date
JP2001189661A (ja) 2001-07-10

Similar Documents

Publication Publication Date Title
JP2000115783A (ja) 復号化装置及び方法
US5245441A (en) Document imaging processing method and apparatus
JP3457269B2 (ja) 算術符号化・復号化方法および算術符号化・復号化装置
US5655032A (en) Coding method and apparatus therefor
JP3684128B2 (ja) 算術符号化/復号化方法ならびに算術符号化/復号化装置
JP3406550B2 (ja) 算術符号化装置および算術復号化装置
US6167160A (en) Encoding and decoding methods and devices, and image processing apparatus using the same
JP2002262102A (ja) 画像符号化装置、画像符号化方法、及びその記憶媒体
JP3459759B2 (ja) 算術復号化装置
JP2003209699A (ja) 算術符号化装置および画像処理装置
US6473530B2 (en) Encoding and decoding apparatuses and image processing apparatus using the same
JP3705771B2 (ja) Jbig復号化方法
KR100197075B1 (ko) 압축 데이타 복원 장치
JP3342380B2 (ja) 符号化及び復号装置とそれを適用した画像処理装置
JP2003198858A (ja) 符号化装置および復号化装置
JP3461640B2 (ja) 算術符号化・復号化装置
JP2891818B2 (ja) 符号化装置
JP3224127B2 (ja) 画像データ変換処理装置
JP3673630B2 (ja) 符号化方法
JP3293382B2 (ja) データ圧縮装置及びデータ伸長装置
JP3336537B2 (ja) 符号化装置、復号化装置、符号化・復号化装置及び算術符号化装置
JP3382492B2 (ja) 画像処理装置及び方法
JP2003134346A (ja) 符号化/復号化処理方法及び装置
JP2000278538A (ja) 算術符号化・復号化装置および方法
JPH11220629A (ja) 画像符号化方法及びその装置と画像処理装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080307

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090307

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100307

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110307

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110307

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120307

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130307

Year of fee payment: 10