JP2002033925A - 算術符号化・復号化方法および算術符号化・復号化装置 - Google Patents

算術符号化・復号化方法および算術符号化・復号化装置

Info

Publication number
JP2002033925A
JP2002033925A JP2000217850A JP2000217850A JP2002033925A JP 2002033925 A JP2002033925 A JP 2002033925A JP 2000217850 A JP2000217850 A JP 2000217850A JP 2000217850 A JP2000217850 A JP 2000217850A JP 2002033925 A JP2002033925 A JP 2002033925A
Authority
JP
Japan
Prior art keywords
context
data
symbol
decoding
arithmetic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2000217850A
Other languages
English (en)
Other versions
JP3457269B2 (ja
Inventor
Hitoshi Horie
等 堀江
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.)
Panasonic System Solutions Japan Co Ltd
Original Assignee
Matsushita Graphic Communication Systems Inc
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 Matsushita Graphic Communication Systems Inc filed Critical Matsushita Graphic Communication Systems Inc
Priority to JP2000217850A priority Critical patent/JP3457269B2/ja
Publication of JP2002033925A publication Critical patent/JP2002033925A/ja
Application granted granted Critical
Publication of JP3457269B2 publication Critical patent/JP3457269B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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)

Abstract

(57)【要約】 【課題】 2値データ,多値データを問わず、ハザ
ードが生じないパイプライン処理によって、超高速に算
術符号化・復号化を行うこと。 【解決手段】 コンテクスト生成器700において、多値
データ(DCT変換係数のDC成分,AC成分)は、それらを
区別することなく一律に2値分解し、また、コンテクス
トもDC成分とAC成分を区別することなく共通のコンテク
ストを設定する。これにより、多値用コンテクストの連
続生成を可能とする。Qe ROM702では、コンテクストに
対する確率推定値Qeのみならず、正規化処理発生後に同
一コンテクストによるアクセスがあった場合に出力する
であろう将来のQe(next Qe)も並列に、生成・出力する。
そして、算術符号演算器703の実際の状況に応じて、い
ずれかを選択する。これにより、パイプラインの乱れが
生じない。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は符号化装置、復号化
装置に関し、特に、エントロピー予測符号化装置・復号
化装置に関する。
【0002】
【従来の技術】符号化シンボルを既に符号化済みの周辺
画素の状態によって予測し、予測結果をその状態毎に定
まる符号化シンボルの確率推定値をもとに算術符号化す
る方式が圧縮率の点から最も優れた特性を示すことが知
られている。JBIG(ITU勧告T。82)に採用されている符号
器であるQM-coderは、その一例である。
【0003】以下、2値画像の算術符号器であるQM-cod
erの、一般的な構成と動作について説明する。
【0004】QM-coderは、図50に示すように、コンテク
スト生成部200と、コンテクストテーブル(コンテクス
トメモリ)210と、確率推定器220と、算術符号器230
と、を有する。
【0005】コンテクスト生成部200は、符号化画素の
周辺10画素によって作られる1024個の状態を検出する。
図52にテンプレートの一例を示す。図中、”?”で示さ
れるのが符号化対象の画素であり、また、”×”で示さ
れる10個の画素が参照画素である。一つの画素の符号化
が終了すると、図52に点線で示されるように、テンプレ
ートを右側に一つずらし、次の画素の符号化を行なう。
【0006】10個の画素の値により決定される210個の
状態の各々は、コンテクスト(以下”S”と表す)と呼ば
れる。コンテクスト毎に、優勢シンボルの予測値MPS(s)
(すなわち、着目する符号化シンボルについて、MPS
が”1”であると予測されれば、MPS(S)=1である)
と、確率推定器の状態番号とが、コンテクストメモリか
ら読み出され、確率推定器220に出力される。
【0007】確率推定器220は、これらの情報から劣勢
シンボルの領域幅Qe(s)を算術符号器230に出力する。こ
こで”Qe”は、「LPSが生起される確率」であり、本明
細書では、これを「符号化シンボルの生起確率」とか、
単に「確率推定値」という場合もある。
【0008】また、劣勢シンボルの領域幅Qe(s)は、L
PSの生起確率にオージェンドの幅をかけて算出される、
LPSの生起確率に対応する幅を意味する。オージェンド
とは、図51に示されるような数直線の全体の幅をいう。
【0009】算術符号器230は、符号化シンボル、優勢
シンボルの予測値MPS(s)および領域幅Qe(s)から算術符
号化演算を実行し、符号を出力する。
【0010】図51に示すように、算術符号化では、初期
値0〜1の数直線を優勢シンボル(MPS)の領域幅と劣
勢シンボル(LPS)の領域幅に分ける。符号化対象のシ
ンボル系列は、分割された領域内の代表点に対応させ
る。代表点は、部分区間内の一番下にとられる。
【0011】符号化シンボルと予測値が同じときは、次
のシンボルの符号化にはMPS幅が選ばれ、そうでなけれ
ばLPS幅が選ばれる。上述のとおり、この領域幅の中に
代表点を設けて、その2進小数点が符号を表わす。
【0012】算術符号化演算では、領域幅が所定値未満
になった時には、少数点の精度を防ぐために所定値(具
体的には初期値の1/2)以上になるまで2倍処理を繰
り返す。この処理を「正規化処理」という。
【0013】また、正規化処理は、LPSを符号化したと
きも行われる。すなわち、推定がはずれてLPS幅が選択
されると、そのLPS幅は、必ず、初期値の1/2より小
さいため、毎回、正規化がなされることになる。
【0014】正規化処理が行なわれる場合には、図50の
コンテクストテーブル210における、MPS値や状態番号
(ST)が更新される。状態番号の更新は、確率推定部22
0に書かれている「次の状態番号」が、コンテクストテ
ーブル210にオーバーライトされることにより実現され
る。図50では、このオーバーライトを矢印RXで示して
いる。
【0015】このコンテクストテーブル210の更新によ
り、次もまた、前回と同じコンテクストであった(すな
わち、図52のテンプレートを右に一つずらしても、参照
画素の1と0の配置が前回と同じであった)としても、
発生するQe(S)の値が異なることになる。
【0016】これによって、より情報源の確率分布に適
した値が選択されるようになる。つまり、符号化対象の
画像への適応化がなされる。以上、2値画像の符号・復
号について説明した。
【0017】符号化対象は、2値データに限られるもの
ではない。数値データのような多値データも、QM-coder
で符号化することができる。但し、数値を符号化する場
合には、符号化に必要なコンテクストはそれに適したも
のを使わなければならない。例えば、離散コサイン変換
後の係数には、DC成分とAC成分が含まれる。各成分は信
号の性質が異なる。よって、それらに適したコンテクス
トモデルを構築することが、符号化効率を向上させる点
では重要である。現状の技術では、DC成分とAC成分のお
のおのに対して、別々にコンテクストが生成されてい
る。
【0018】
【発明が解決しようとする課題】従来の算術符号化処理
では、以下のような課題がある。
【0019】(課題1)本来、算術符号化は、圧縮率に
は優れているが、1シンボル毎にコンテクストの生成
と、シンボルの生起確率情報の推定と、算術符号演算を
繰り返す必要があることから、処理時間が長いという弱
点がある。処理スピードの低下は、高画質かつ高速性が
要求される、デジタルコピー機のような分野では、かな
り大きな問題となる。
【0020】ここで、図50に示される2値算術符号器に
おいて、パイプライン処理を実行し、そのパイプライン
処理の性能を向上させれば、無駄のない非常に高速な算
術符号処理を実現することができる。
【0021】しかし、算術符号処理をパイプライン化し
た場合、途中で正規化処理が発生すると、パイプライン
に乱れが生じ、その結果として無駄な待ち時間が増え
る。よって処理効率が低下する場合がある。特に、正規
化がかなりの頻度で発生し、かつ、コンテクストに連続
性がある画像パターンでパイプラインの乱れが発生しや
すいと考えられる。なお、復号化の場合にも同様の問題
が生じる。
【0022】よって、パイプライン化したとしても、そ
の精度は高いとはいえず、算術符号・復号処理の高速化
は、あまり望めない。
【0023】(課題2)2値データの符号化のみなら
ず、多値データ(例えば、JPEG圧縮により得られる直交
変換係数などの数値データ)を符号化、復号化する場合
にも、高精度なパイプライン処理を行うようにするのが
望ましい。
【0024】しかし、直交変換係数などの数値を高速に
算術符号化、復号化することに関して次の課題がある。
【0025】つまり、パイプライン処理を有効に働かせ
るには、一定速度で次のパイプラインステージに必要な
データを連続的に供給しなければならない。
【0026】例えば、復号化処理を高速に実行するため
には、コンテクストインデックスは、復元される可能性
のある複数シンボルに対して同時に供給する必要があ
る。このコンテクストインデックスのセットを、「コン
テクストインデックスベクトル」と呼ぶことにする。
【0027】このようなベクトル形式のコンテクストデ
ータを一定速度で供給するのは、実際には困難である。
上述のとおり、直交変換係数にはDC成分とAC成分とが含
まれる。そして、DC成分とAC成分とは統計的性質が異な
るので、現在の技術では、各成分毎に別々のコンテクス
トを設けている。
【0028】異なるコンテクストを連続して供給するの
は困難である。よって、符号化するべき複数のシンボル
の中に、DC成分とAC成分が混在する場合、コンテクスト
インデックスベクトルを一定速度で供給することは困難
である。
【0029】したがって、多値データの高速算術符号化
は、2値データの場合以上に、困難である。
【0030】2値データの処理用の回路とは別に、多値
データを処理するための専用の回路を設けるのならば、
ある程度の高速化も可能ではある。しかし、回路構成が
複雑であり、ハードウエア量が増え、コストアップを招
く。
【0031】本発明は、このような現状を考慮し、2値
データ・多値データを問わず、超高速かつ高圧縮率の算
術符号化・復号化を実現するものである。
【0032】本発明の一つの目的は、2値データの算術
符号・復号化処理において、パイプラインの乱れを取り
除き、1クロックで連続的にシンボルの符号化および復
号化を実行できる、超高速の符号化・復号化装置を提供
することである。
【0033】また、本発明の他の目的は、多値データの
算術符号・復号化処理においても、2値データの場合と
同様に、1クロックで連続的にシンボルの符号化および
復号化を実行できる、超高速の符号化・復号化装置を提
供することである。
【0034】
【課題を解決するための手段】(課題1)に対しては、
以下のような手法を採用する。
【0035】すなわち、エントロピー符号装置におい
て、精度維持や、入力画像への適応化のためにパラメー
タの更新が必要になったとき、そのパラメータが更新さ
れた後に出力されるであろう確率推定値(未来の確率推
定値)を、現在の推定値(通常の処理で出力される確率
推定値)と共に、並列に出力する。そして、所定の状況
が発生した場合(例えば、パラメータの更新の必要が生
じ、かつ、コンテクストが連続するためにRAMの読み出
しと書き込みが競合するような場合)には、現在の推定
値ではなく、未来の推定値の方を符号器に供給する。こ
れにより、ループを回してパラメータを更新している
間、符号化を待つ必要がなくなり、パイプラインの乱れ
が防止される。
【0036】(課題2)に対しては、以下のような手法
を採用する。
【0037】圧縮率を絶対的に重要視する従来の固定的
な考えを捨てて、処理スピードを最も重視する新規な考
え方を導入する。この考え方に立脚して、DC成分用のコ
ンテクストとAC成分用のコンテクストを積極的に共通に
する。そして、コンテクストインデックスの生成を符号
化も復号化も状態遷移テーブルで実現できるようにす
る。
【0038】復号時のコンテクストインデックスベクト
ルの生成も容易となり、パイプライン処理に適した符号
器や復号器が実現できる。符号化コンテクストを簡略化
したぶん、圧縮性能が多少は低下する。しかし、応用装
置では圧縮性能よりも処理速度が優先される場合も多
く、実際の使用上、問題は何もない。
【0039】本発明によれば、2値画像および多値画像
の双方について、柔軟に、しかも、ほとんど算術符号化
アルゴリズムで決まる限界の速度でもって算術符号化・
算術復号化することができる。しかも、2値画像と多値
画像を区別することなく、共通のコンテクストを用いて
符号・復号化ができるため、符号・復号器の構成もきわ
めて簡素化される。
【0040】さらなる高速化を達成するためには、文字
画像の行間部分のように白が連続するときに、連続する
シンボルを一括して処理するのがよい。この場合、局
所、局所の状況に適応して、連続処理シンボル数を可変
とするのが望ましい。これにより、画像の複雑さに応じ
て、可能な限りの処理の高速化が実現される。
【0041】
【発明の実施の形態】本発明の特徴は、高精度なパイ
プライン処理による超高速の処理、この超高速の処理
を、2値データと多値データの双方に適用すること、で
ある。そして、さらに、全白領域に関し、複数シンボ
ルの一括処理を実行し、そのシンボル数を適応的に変化
させる処理を加えることで、さらなる高速処理を実現す
る。
【0042】このような本発明の特徴について、図面を
参照しつつ順番に説明していく。
【0043】(実施の形態1)本実施の形態では、図1
〜図3、図7、図9を参照して、2値データのパイプラ
イン算術符号化および復号化について説明する。 (算術符号化処理について)図1は、本発明の実施の形
態1にかかる算術符号器の構成を示すブロック図であ
る。
【0044】図示されるように、符号器は、コンテクス
ト生成器700と、コンテクストテーブル(コンテクストR
AM)701と、確率推定部(Qe ROM)702と、算術符号演算
器703とからなり、それぞれ1クロックで1つの処理を
実行する。すなわち、図1の算術符号器は、4段のパイ
プライン構造を有する。
【0045】これらの構成要素の基本的な処理内容は、
従来と同じである。本実施の形態の特徴は、Qe ROMの構
成と、その周辺部分の回路構成にある。
【0046】Qe ROM702に搭載されているテーブルの内
容は図2の通りである。図2のテーブルの特徴は、従来
のテーブルのデータに、さらに、「next Qe(LPS)」お
よび「next Qe(MPS)」の各データが追加されているこ
とである。これにより、図2のテーブルは、63ビット
の幅を有し、従来のテーブルよりビット数が拡張されて
いる。
【0047】ここで、「next Qe(MPS)」とは、算術符
号器703でMPSの符号化を行なった結果、オージェンドが
初期値の1/2未満となって正規化処理が発生した場合
において、コンテクストROM701の遷移先の状態が更新さ
れ、かつ、次の符号化シンボルが前回と同じコンテクス
トであったために、コンテクストRAM701に対して前回と
同じ番地へのアクセスが発生し、その結果、Qe ROM702
の、更新された遷移先の状態に対応する番地にアクセス
がなされたならば、その結果として、Qe ROM702から出
力されるであろうLPSの幅(Qe)のことである。
【0048】同じく、「next Qe(LPS)」とは、算術符
号器703でLPSの符号化によって必然的に正規化処理が発
生し、これに対応してループを回してコンテクストテー
ブルを更新し、同じアドレスにアクセスしたならば、Qe
ROM702から出力されるであろうLPSの幅(Qe)のことで
ある。
【0049】つまり、正規化処理が発生し、コンテクス
トRAM701内のテーブルを更新して、再度、全く同じ番地
にアクセスをしたならば発生するであろう、未来のQeの
値を、あらかじめ、Qe ROM702内のテーブルに、現在のQ
eの値と併記しておくことに本実施の形態の特徴があ
る。
【0050】図1の制御回路709には、符号化シンボル
のコンテクストや算術符号器における正規化の発生の有
無等のあらゆる情報が入力される。よって、制御回路70
9がそれらの情報から、現在のQeを選ぶか、未来のQe(M
PS)あるいはQe(LPS)を選ぶかを、リアルタイムで選
択することができる。このような選択を可能とするため
に、セレクタ706が設けられている。
【0051】これにより、仮に正規化処理が発生して
も、ループを回してテーブルを更新する間、処理を待つ
必要がなく、セレクタにより未来のQe(MPS)あるいはQ
e(LPS)を選ぶだけでよい。よって、パイプラインに乱
れが生じない。
【0052】セレクタ704、705は、正規化処理が発生し
た後、次も、また正規化処理が発生する可能性があるこ
とを考慮し、前回使用したMPS値や、遷移先の状態の番
号を再利用できるようにするために設けられている。こ
の点については後述する。
【0053】以下、具体的に説明する。
【0054】Qe ROM702には、状態遷移テーブルの状態
番号がアドレスとして入力する。出力信号は現在の確率
推定値Qe(s)(信号713)、正規化により状態遷移が起き
た時の新しいQe(S)がLPS正規化とMPS正規化用に信号71
4、信号715として出力され、さらに、正規化による状態
遷移番号が、同様に2種類(信号716 、信号717)出力さ
れ、また、MPS(S)を反転させるか否かを示すフラグ(swi
tch-MPS 、信号718)が出力される。
【0055】このフラグと現在の予測シンボルMPS(S)の
排他的論理和をEOR回路708でとることで、新しい予
測シンボルが作られる。この値とセレクタ707の出力
が、正規化対象となるインデックス724のメモリ内容と
なる。
【0056】セレクタ704、705では、「正規化が発生し
た」直後の符号化シンボルが「同じコンテクスト」で符
号化されるときには、下側の信号が選択される。すなわ
ち、コンテクストRAM701にオーバーライトされる、更新
用のMPSおよび次の状態番号が選ばれることになる。
【0057】このような場合には、次も確率推定がはず
れて、正規化処理が連続する可能性があることから、更
新用のMPSと次の状態番号とを、再度、利用するように
している。この場合、セレクタ705を介して出力される
状態番号をアドレス変数として、Qe ROM702がアクセス
され、前回と同じ値の、Qe713、next Qe714、715が並列
に出力され、符号化結果を待って、この中から一つが選
択されることになる。
【0058】各セレクタの選択信号は、制御回路709に
よって必要な状態信号を見ながら、適宜、出力される。
図が煩雑となるので制御信号の詳細は省略している。
【0059】上述したように、図2は、Qe ROMの構成例
を示している。上述のとおり、パイプラインが乱れるの
は、Qe ROMの読み直しが必要となることが原因である。
【0060】本実施の形態では、このような場合に、Qe
ROMの読み直しが不要になるように、LPS正規化時の遷
移先のQeと MPS正規化時の遷移先のQeとを同一アドレス
に記憶している。ビット15からビット46がこの部分にあ
たる。
【0061】状態遷移表によれば、Qe-indexが0のとき
の、MPS正規化 、LPS正規化の遷移先(Qe-index)は1で
あることが分かる。また、Qe-indexが1のときのQeは0x
2586であることが分かる。従って、図1のビット15から
ビット30には0x2586が記憶されている。同様にビット31
からビット46も0x2586が記憶されている。
【0062】こうすることによって、正規化発生直後
に、同一コンテクストの符号化を行う場合も、ROMの読
み直しは不要であり、既に読み出されているものから、
状況に応じて必要なものを選択するだけでよい。
【0063】次に、図3を参照しながら、図1の算術符
号器の動作の概要を説明する。
【0064】第i番目のシンボルの符号化がクロックに
同期して、コンテクストの生成(context det 。)、コン
テクストRAMのリード(context RAM RD)、Qe ROMのリー
ド(QeRD) 、符号化演算および正規化演算(coding/renor
m)の順に処理されていく。
【0065】符号化シンボルとそのコンテクストは、コ
ンテクスト生成器700で検出する 。符号化シンボルはパ
イプラインのタイミング調整用の遅延回路710を通して
算術符号演算器703に送られる。
【0066】コンテクストの識別番号であるコンテクス
トインデックス”s”は、コンテクストRAM701の入力信
号となる。同時にそのコンテクストで正規化が発生する
場合に、RAMの内容を更新するためのアドレス情報とし
て、正規化インデックス712に入力される。正規化イン
デックス712は、3クロック分の遅延を与える遅延回路
である。正規化インデックス712の出力信号724は、正規
化処理が発生した場合に、次の遷移先の状態やMPS値を
更新する際のアドレスを指定する信号(コンテクストイ
ンデックス)となる。
【0067】コンテクストRAM701は、リードとライトを
並行して行なえるデュアルポートRAMで構成する。これ
により、正規化処理が生じてRAMの更新が必要となった
場合でも、次のコンテクスト(図52のテンプレートを右
側にずらした場合の参照画素における1と0の配置)が
前回と違っていれば、符号化用のコンテクスト情報の読
み出し(リード)と、正規化が生じた場合のコンテクス
ト情報の更新(ライト)とを、同じサイクルで、同時に
実行できるようになる。
【0068】したがって、正規化処理が発生しても、次
のコンテクストが異なっているのであれば、ROMへのア
クセスの競合が生じないため、オーバーライトを待つ必
要がなく、パイプラインの乱れは生じない。
【0069】コンテクストRAMの出力信号は、符号化シ
ンボルの予測値MPS(S)と確率推定器の状態番号(図中st
ate No)である。予測値MPS(S)は、パイプラインの遅延
調整回路711を通って算術符号演算器703に送られる。
【0070】これら2つの出力信号は、セレクタ704と7
05に入る。制御回路709は、正規化が発生しない時は、
上側の信号(つまり、コンテクストRAMから出力されるM
PS値と状態番号)が選ばれるように、セレクタ704、705
を制御する。
【0071】Qe ROM702は、セレクタ705を介して入力さ
れる状態番号をアドレス変数としてアクセスされる。
【0072】図2に示すように、一つのアドレスには3
種類のQeが併記されているため、QeROM702からは、確率
推定値として3種類の値が、常に出力される。そして、
制御回路709が、正規化の有無やコンテクストの連続の
有無を判定して、状況に応じて、それらの中の一つをリ
アルタイムで選択していく。
【0073】以下、図3を用いて、正規化処理が発生し
た場合の動作を説明する。
【0074】図3における処理801では、Qe(Si)(信号7
13)が選択されたものとする。ここでは第i番目のコン
テクストをSiとした。
【0075】処理802で、第iシンボルの符号化演算と正
規化処理が行われる。ここでは、LPSを符号化して正規
化が発生したものとする。第i+1シンボルに対しては第i
シンボルの符号化演算と同一サイクルで、Qe ROM702の
読み出しが実行される(処理804)。
【0076】第i+1シンボルのコンテクストも同じくSi
であったとする。そうすると、第iシンボルでLPS正規化
が起きたので、セレクタ706では、LPS正規化で遷移する
先のQe値714が選択される。
【0077】処理805では、この値を使った符号化演算
が実行される。このとき処理803ではコンテクストRAM70
1のコンテクストSiの内容が更新される。
【0078】更新処理は以下のように行われる。すなわ
ち、セレクタ707では、LPS正規化時の次の状態番号716
が選択される。一方、EOR回路708では、switch-MPS(信
号718)と現在の予測値MPS(Si)(信号723)から新しい
予測値(信号721)を作る。
【0079】上述のとおり、信号718が“1”であればM
PS(Si)の値は反転する。これら2つの情報がコンテクス
トRAM701のアドレスSiに書かれる。
【0080】このときアドレスSiは、遅延回路712から
信号724として出力されている。この更新処理のタイミ
ングで、第i+2シンボルに対しては、Qe ROM702を読む必
要がある。
【0081】この時、第i+2シンボルも同じコンテクス
トSiであればセレクタ704、705は下側の信号が選ばれる
ように制御する。その理由は、上述のとおり、処理805
で正規化が再度発生するかもしれないからである。Siの
コンテクスト情報の更新が終了したら 、セレクタ704
、705の上側の信号が選ばれる。
【0082】第i+3シンボルに対してはこのサイクルで
コンテクストRAMのリードを行う(処理808)。先に説明
したとおり、第i+3シンボルのコンテクストがSiと異な
りSjであれば、デュアルポートROM701に対するコンテク
ストのリードとコンテクストSiの更新は、同時に実行さ
れる。
【0083】第i+3シンボルのコンテクストがSiであれ
ば処理803でその内容が更新される。この時、セレクタ7
04 、705では下側の信号が選択されている。
【0084】このようにして正規化が発生したコンテク
ストで連続して符号化する場合も従来例のような無効サ
イクルは発生せず、パイプラインが乱れることはない。
したがって、いかなる画像パターンに対しても1シンボ
ルを1クロックで連続して符号化することができる。
【0085】図9に、本発明の効果を裏付ける実験(コ
ンピュータシミュレーション)結果を示す。
【0086】パイプラインの乱れが発生しやすいのは、
正規化の頻度もコンテクストの連続性も共に高い画像パ
ターンである。文書画像ではコンテクストが連続する場
合は多いが正規化はあまり発生しない。逆に黒率50%近
いランダム画像では正規化は頻繁に起こるがコンテクス
トの連続性はほとんどない。そうすると、中間点である
圧縮率0.5近辺の画像パターンで、パイプラインの乱れ
が発生しやすそうである。図9は、そのようなテスト画
像によるQM-coderの符号化シミュレーション結果であ
る。
【0087】図9では、1ライン毎に1シンボルが何サ
イクルで符号化できたかをプロットしている。上側の特
性線Aが従来例、下側の特性線Bが本発明によるデータ
を示している 。
【0088】このシミュレーション結果から明らかなよ
うに、従来例では、1.1サイクル/シンボルを超えるこ
ともあることがわかる。これは、100MHzのクロックで動
かしても90Mシンボル/秒程度に処理能力が低下するこ
とを意味する。一方、本発明による符号器では、画像パ
ターンによらず、いかなる場合も100Mシンボル/秒の処
理能力が得られることが分かる。
【0089】以上説明した本発明の符号化の主要な手順
をまとめると、図7に示すようになる。
【0090】すなわち、現在のQeと、MPS符号化で正規
化処理が発生したならば出力されるであろうQe(next Q
e)と、LPS符号化で正規化処理が発生したならば出力さ
れるであろうQe(next Qe)と、を並列に出力する(ス
テップ30)。
【0091】そして、正規化が発生し、かつ次のコンテ
クストも同じであるときには(ステップ31)、MPSの符
号化による正規化であるか、LPSの符号化による正規化
であるかに応じて、未来のQe(next Qe)のうちのいず
れかを選択する(ステップ32)。正規化が発生しない
場合には、現在のQeを選択する(ステップ33)。
【0092】(比較例)本発明を使用しない場合のタイ
ミングチャートを図33および図34に示す。正規化が発生
しない場合には、図33のようにパイプライン処理がなさ
れるが、正規化が発生してQe ROMの更新が必要になる
と、図34のステップ2002のように、無効なサイクルが発
生し、ここで、パイプラインが乱れる。
【0093】これに対し本発明では、図35のステップ21
08〜2110のように、パラレルにQeを生成し、正規化発生
のときには、いずれかをセレクタで選べばよいので、パ
イプラインの乱れは生じない。
【0094】以上が、算術符号化処理における高精度な
パイプライン制御の説明である。
【0095】次に、算術復号処理について、図4〜図8
および図8を参照して説明する。(算術復号処理につい
て)本発明の2値データの算術復号器の一例が図4に示
される。
【0096】復号器も1サイクルで1シンボルを連続的に
復号化する構成である。すなわち、符号器と同じく、コ
ンテクスト生成,コンテクストインデックスの出力,コ
ンテクストRAMの読み出し、Qe ROMの読み出し、復号化
演算処理の順に、5段のパイプライン処理を実行する。
【0097】算術復号は、入力された符号が、分割され
た数直線上でMPSに属するかLPSに属するかを判定し、そ
のときのMPS、LPSが”1”、”0”のどちらかを知るこ
とにより、復元対象となるシンボル(復元シンボル)を
復元する。
【0098】そして、その復元されたシンボルは、次に
入力される符号を復号化するための参照画素として利用
される。通常、このような手法による1シンボルの復元
には、4クロック以上が必要であり、このままでは、パ
イプライン処理を実現できない。符号化の場合と異な
り、復号化の場合には、処理対象の画素の値は、実際に
復号が終了するまで不明であり、画素の復元を待って、
復元画素を参照画素として用いて符号化(Qeの生成)を
行なうしかないため、どうしてもステップ数が多くなる
のである。
【0099】そこで、本実施の形態では、まず、符号化
の場合と同様の考え方(未来を予測して先回りをして並
列出力する考え方)を復号化にも導入する。
【0100】すなわち、2値算術符号の場合、復元シン
ボルは”1”または”0”しかないため、現在、復元し
ているシンボルが”1”である場合と”0”である場合
の双方を想定して、それぞれの場合について、次のシン
ボル(一つ先のシンボル)を復元するためのQeを、現在
のシンボルの復元中に、同時に出力してしまう。すなわ
ち、Qe ROMを2つ設けて、それぞれを同時に動作させ
る。そして、現在のシンボルについての復元結果に応じ
て、いずれかのQeを選択する。
【0101】同じく、次の次に復元するべきシンボル
(二つ先のシンボル)を復元するために必要な、コンテ
クストRAMからのリードも、現在のシンボルの復元中
に、同時に実行してしまう。
【0102】このとき、現在復元中のシンボルが”0”
で次のシンボルが”1”の場合と、現在のシンボルが”
0”で次のシンボルが”0”の場合と、現在のシンボル
が”1”で次のシンボルが”1”の場合と、現在のシン
ボルが”1”で次のシンボルが”0”の場合の4つが想
定されるため、コンテキストRAM(デュアルポートメモ
リ)を4つ設けて、これらを同時に動作させる。
【0103】また、次の次の次のシンボル(3つ先のシ
ンボル)を復元するために必要な4系統のコンテクスト
インデックス(S)のそれぞれを、4つのコンテキストR
AM(デュアルポートメモリ)の入力ポートに、同時に入
力してライトする。
【0104】この場合に想定される4つの状態は、一つ
先のシンボルが”0”で2つ先のシンボルが”1”の場
合と、一つ先のシンボルが”0”で二つ先のシンボル
が”0”の場合と、一つ先のシンボルが”1”で二つ先
のシンボルが”1”の場合と、一つ先のシンボルが”
1”で二つ先のシンボルが”0”の場合の4つに大別さ
れる。
【0105】このように、現在のシンボルを復元中に、
一つ先〜三つ先のシンボルの復元に必要な情報を先回り
して、並列に入出力しておき、復元結果が判明した時点
で、それに応じて、いずれかの出力を選択する、という
手法を採用することにより、算術復号処理もパイプライ
ン化することができる。
【0106】しかし、符号化と同様に正規化が発生し、
かつコンテクストが連続したときには、パイプラインが
乱れることになる。よって、符号化の場合と同様に、現
在のいQeと更新後のQeとを並列に出力して、実際の復号
結果に応じていずれかを選択していく方式を採用する。
【0107】以下、具体的に説明する。
【0108】上述のように、1サイクルで連続的に復号
化するには、i番目の画素が確定する以前に、次のi+1番
目の画素の復号化処理に入る必要がある。そのために
は、i番目の画素が“0”と“1”の場合に分けた並列処
理を行う必要がある。同様に、i+2番目の画素もi+1番目
の画素の値毎に並列処理が行われる。これら並列処理の
内容はパイプラインの構成によって決まる。
【0109】図4では、2つのQe ROM913、914を同時に
動作させ、また、4つのコンテクストRAM905、906、90
7、908を同時に動作させる。そして、算術復号演算器91
7の復元シンボルの値(1または0)を選択制御信号と
しても用いて、セレクタ909、910、911、912、915、916
を切り替えて、復元されたシンボルに対応する出力を、
適宜、選択する構成となっている。
【0110】図5は、図4中の、Qe ROM913およびコン
テクストRAM905、906の周辺のみを抜き出して、より具
体的に示すブロック図である。図1と比較してみれば明
らかなように、回路の詳細な構成は、ほぼ同じである。
これは、復号化装置においても、符号化側と同様の符号
化動作を行なってMPS値とQeを生成し、それらを復号器
に供給していることからして、当然のことである。
【0111】図4の全体構成によれば、一応、復号器の
パイプライン化が可能となるが、正規化が発生し、かつ
コンテクストが連続するとパイプラインが乱れる。そこ
で、図5に示すように、現在のQeおよび更新後のQeの双
方を生成して出力し、実際の復号結果に応じて、いずれ
かのQeを選択するようにする。これにより、画像パター
ンや復号器の状態に関係なく、パイプラインの乱れが生
じない。
【0112】図5に示される、Qe ROM913の出力信号と
セレクタ1008、1009の機能は、先に説明した符号化の場
合のセレクタと同じである。また、Qe ROM913の入力側
のセレクタ1003 、1004の機能も符号化と同じく、正規
化によるコンテクストRAMの更新時に同一コンテクスト
で復号化を行う時、下側の信号を選択するためのもので
ある。
【0113】遅延回路901は、タイミング調整用の遅延
回路であり、正規化対象となるコンテクストインデック
スを、コンテクストRAMのアドレスとして出力するため
のものである。
【0114】このように復号器を構成すると、正規化が
発生したコンテクストで連続して復号化する場合も、無
効サイクルは発生せずパイプラインが乱れることはない
。したがって、いかなる画像パターンに対しても1シン
ボルを1クロックで連続して復号化することができる
【0115】図4の算術復号器の基本的な動作を、図6
のタイミングチャートを用いて具体的に説明する。
【0116】第iシンボルの復号時(処理1100)、第i+1
シンボル(1つ先の復元シンボル)に対しては第iシン
ボルが“0”の場合と“1”の場合を想定し並行してQe R
OM913、914の読み出しを行う(処理1101、1102)。
【0117】また、同時に、第i+2シンボル(2つ先の
復元シンボル)に対しては、第iシンボルと第i+1シンボ
ルの組み合わせ4通りについて、コンテクストRAM905〜
908の読み出しを行う(処理1104〜1107)。
【0118】また同時に、第i+3シンボルに対しては、
図10の参照画素の配置からまだ復元されていない第i+1
シンボルと第i+2シンボルの値を想定して4通りのコン
テクストインデックスを生成している 。
【0119】なお、参照画素の配置が復号化ライン上で
左に伸びている場合には、算術復号演算器のパイプライ
ンステージからn段離れたパイプラインステージでは2
のn乗個のデータの並列処理が行われ、これらの並列デ
ータが第iシンボルの復号化によってシンボルが確定す
ると、それらの中から一つが選択され、次のパイプライ
ンステージに送られるという構成となる 。
【0120】次に、図5に示される具体的な回路につい
ても、動作の説明を行なう。ここでは、算術復号演算器
917(図4)で第iシンボルの復号化処理を実行している
ものとして 、その時点を基準にして動作を説明する。
【0121】このタイミングでは、コンテクスト生成器
900は、第i+3画素の復号化用にコンテクストインデック
スSi+3を生成する。
【0122】図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で
ある。
【0123】一つ一つは、符号化用と同じ構成である。
コンテクスト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のそれと同じなので省略
している。
【0124】セレクタ909〜セレクタ912は、復元シンボ
ルDiの値によって入力信号を選択する。Diが復号化さ
れ、値が“0”であれば、セレクタの上側の信号が選択
される。その結果、例えば、セレクタ909の出力には、D
i+1復元用のQe-indexが選らばれる。同様に、セレクタ9
10の出力には、Di=0の場合のDi+1の予測値MPSi+1(Di=0)
が選らばれる 。
【0125】Qe ROM913の出力には、Di+1を復元するた
めのQe値が出力する。これをQei+1(Di=0)とする。この
信号は、符号化同様に3種類のQe値が含まれている。複
雑になるのでそれらをまとめて表現している。
【0126】セレクタ915では、Qei+1(Di=0)とQei+1(Di
=1)がDiの値によって選択され、セレクタ916出力のMPS
iと合わせて算術復号演算器917に入力され、Diの復号化
後Di+1の復号化が実行される。セレクタの選択信号など
の制御信号は、制御回路918によって各部に供給されて
いる 。
【0127】以上説明した本発明の算術復号方法のパイ
プライン化の主要な手順をまとめると、図8に示すよう
になる。
【0128】すなわち、一つ先のシンボル、2つ先のシ
ンボル(3つ先のシンボルについても同様)のそれぞれ
について先行して処理を行ない、実際に取り得る状態の
各々に対応した情報(確率推定値)を並列に出力する
(ステップ40)。
【0129】そして、実際の復号結果を用いて、セレク
タを制御し、並列に出力されている情報のうちの一つを
選択する(ステップ41)。
【0130】そして、正規化処理が生じ、かつコンテク
ストが同一の場合におけるパイプラインの乱れを防止す
るべく、各状態(コンテクスト)に対応した各確率推定
値の生成の際に、図7に示した、算術符号化の場合と同
様の手法を実行する。
【0131】なお、以上の説明では確率推定テーブルを
ROMで構成する例を述べたがRAMで構成してもよい。ま
た、QM-coderに限らず、コンテクスト毎に確率推定値を
適応的に更新しながら符号器に供給して動作する符号化
復号化装置には、本発明と同様の考えを適用することが
できる。
【0132】以上の説明では、画像の符号化を例に説明
した。しかし、このような符号器、復号器は画像データ
以外のデータ圧縮全般に適用できる。また、確率推定RO
Mを1個で構成する必要もなく、複数個で構成し、出力デ
ータが実施例のようになるようにしてもよい。また、Qe
ROMと同様の機能を、DSP等によるリアルタイム演算で
実現することも可能である。
【0133】また、上述の実施の形態では、パイプライ
ンの乱れを完全に防止する例について説明しているが、
多少の乱れは生じても、未来予測による複数の情報の並
列出力・選択の手法によって、パイプラインの乱れを低
減することも、当然ながら可能である。
【0134】以上説明した本発明の算術符号・復号器
は、図49に示すような、複合機(スキャナー、ファクシ
ミリ装置、コピー機の機能を併せ持つ装置)に搭載する
のに適している。すなわち、画像を読み取って一時的に
メモリに蓄積するような用途、例えばスキャナやFAX、
複合機などにQM-coderを適用するには、スキャナやプリ
ンタの高速化に伴って高速処理が要求される。本発明を
適用すれば、どのような画像であっても、パイプライン
処理が乱れることがなく、非常に高速な符号・復号化を
行なうことができる。
【0135】図49の複合機は、ホストプロセッサ102
と、MH等の符号化回路103と、画像処理回路104と、QM
符号/符号化回路105と、画像ラインメモリ106と、符号
メモリ107と、モデムなどの通信インタフェース108と、
スキャナなどの画像入力装置111と、プリンタなどの画
像記録/表示装置112と、を有している。本発明の算術
符号・復号器は、QM符号/符号化回路105に搭載され
る。
【0136】以上が、2値データについての算術符号化
・復号化処理の説明である。
【0137】(実施の形態2)本実施の形態では、図10
〜18を参照して、多値データのパイプライン算術符号化
・復号化処理について説明する。
【0138】(多値画像データも連続して符号化するた
めに必要なコンテクスト生成器の構成)2値画像データ
のみならず、多値画像データも符号化の対象とする場合
でも、符号器の全体のブロック構成は、図1に示すもの
と同じである。つまり、2値画像の符号化であろうと、
多値画像の符号化であろうと、図1を用いて説明したブ
ロック構成を用いてパイプライン符号化を行うことがで
きる。つまり、算術符号・復号演算は共通である。
【0139】ただし、多値画像データの連続した符号化
(ハザードレスのパイプライン符号化)を行うために
は、2値画像の場合と同様に、連続してコンテクストを
生成することが必要となる。逆にいえば、コンテクスト
インデックスを連続して生成できれば、パイプラインハ
ザードなしに、連続してシンボルの符号化や復号化が実
現できる。したがって、図1において、コンテクスト生
成器700の内部構成をそのように構築するかが問題とな
る。
【0140】図10は、符号化時においてコンテクストを
連続して生成する機能をもつ、コンテクスト生成器の構
成例を示すブロック図である。
【0141】図10では、画像データを2次元離散コサイ
ン変換器740にて周波数成分のデータに変換し、これを
量子化器741で量子化して、直流成分(DC成分)および
交流成分(AC成分)が得られる。このようにして得られ
たDCT変換係数(直交変換係数)やフラグ情報などの数
値データ(多値データ)が算術符号化の対象である。
【0142】ただし、2値画像データも入力される可能
性があるため、セレクタ406が、まず、入力されるデー
タが2値画像データであるか、あるい多値データ(具体
的には直交変換係数)であるかを判別する。そして、直
交変換係数の場合には、そのデータはフォーマット変換
器/EOB検出器407に送られ、2値画像データの場合に
は、そのデータはJBIGコンテクスト生成器410に送られ
る。
【0143】JBIGコンテクスト生成器410は既に説明し
た2値画像符号化用のコンテクスト生成器である。
【0144】このコンテクスト生成器700からは、符号
化シンボルと、コンテクストの識別インデックスが出力
される。セレクタ411、412は、数値データの符号化コン
テクスト情報と2値画像符号化コンテクスト情報を選択
する。選択条件は2値画像を符号化するか数値データを
符号化するかである。
【0145】以下、多値データの符号化について(すな
わち、図10のフォーマット変換器/EOB検出器407と、2
値分解処理回路408と、多値データ符号化コンテクスト
生成器409の構成や機能について)、具体的に説明す
る。
【0146】数値データは、JPEG規格による、8x8画素
をブロックとした直交変換係数(DCT変換係数)である
として以下説明する。なお、それ以外の多値データの場
合も同様であり、一般性を失うものではない。
【0147】直交変換係数は、セレクタ406を介してフ
ォーマット変換器/EOB検出器407に入る。ここで、後の
処理に都合がいいようなデータ形式にフォーマット変換
される。ここで、”EOB符号”の位置も検出する。”EOB
符号”とは、変換係数を予め定めた順に並べたときに、
ブロックの最後の部分に並ぶゼロの開始位置を示すシン
ボルである。JPEGでは量子化後の変換係数は低周波から
高周波成分に向かってジグザグにスキャンする。高周波
成分は比較的粗く量子化するので、ブロックの後ろの方
ではゼロが並ぶことになる。これを一つのシンボルと見
なして符号化すると圧縮効果が上がることが知られてい
る。
【0148】フォーマット変換器/EOB検出器407の出力
は、1つの数値が16ビットデータで表現され次のように
構成されている。 (1)ビット15:EOB識別ビット (2)ビット14:DC/AC識別ビット (3)ビット13:+/−識別ビット (4)ビット12〜0:数値の絶対値を表すバイナリデー
タ ”EOB識別ビット”は、その数値データがEOBシンボルか
どうかを示す。つまり、その数値以降がすべてゼロであ
るかどうかを表す。
【0149】”DC/AC識別ビット”は、その数値をDC成
分として符号化するか、AC成分として符号化すかを示
す。
【0150】”+/−識別ビット”は正負を示す。ま
た、ビット12〜0は数値の絶対値を表すバイナリデータ
である。多値画像を8ビット/画素とすると、DCT変換係
数の最大値は11ビットで表現できるので、この程度のビ
ット数があれば充分である。
【0151】このようにしてフォーマット変換された直
交変換係数は、次に、2値分解処理回路408に入力され
る。
【0152】算術符号は、”1”または”0”を優勢シ
ンボルあるいは劣勢シンボルとして、出現確率を予測
し、推定がミスヒットした場合に、そのペナルティーと
して符号を生成するものである。したがって、多値デー
タを符号化するためには、何らかの手順により、多値デ
ータを”1”または”0”に分解する必要が生じる。こ
れが、2値分解処理である。
【0153】図12は、図10に示すフォーマット変換器/
EOB検出器407および2進分解処理回路408の要部の構成を
示すブロック図である。2進分解処理は、数値データ
を”0”と”1”の2進系列に分解する処理である。ま
た、2値分解処理の処理手順が、図13に示される。
【0154】2値分解処理の基本は、あらかじめ順番が
決まっている質問(判断事項)を複数、用意しておき、
データが入力されると、その順番に従って質問をな
し、”yes”か”no”で分岐させ、その分岐を”
1”,”0”で表現することである。これにより、算術
符号化対象の2値シンボルが生成されることになる。復
号側が、どのような順番で、どのような質問(判断)が
なされるかを予め知っていれば、その符号の復号化が可
能である。
【0155】ここで問題なのは、2値分解により得られ
た符号化シンボルを算術符号化する場合の、コンテクス
トをどのようにするかである。つまり、図10の多値デー
タ不符号化コンテクスト生成器409により、どのような
コンテクストを生成するかが問題となる。
【0156】DCT変換係数には、DC成分とAC成分とがあ
り、それぞれが性質が異なるので、従来は、DC成分用の
コンテクストと、AC成分用のコンテクストと独立に設定
しなければならない、と考えられていた。
【0157】つまり、図42に示すように、DC成分用コン
テクストインデックス生成器3202と、AC成分用コンテク
ストインデックス生成器3203とを別々に設ける構成とす
るのが、当然と考えられていた。
【0158】しかし、DC成分とAC成分のコンテクストが
異なる場合は、復元する2進データ列の中にはDCコンテ
クストに属するシンボルとACコンテクストに属するシン
ボルが混在するため、インデックスベクトルを状態遷移
テーブルに基づいて連続して出力することは困難であ
り、このことがパイプラインハザードの原因となる。
【0159】つまり、図43(a)に示すように、コンテク
ストを切り替えるためには、そもそも、DC成分(あるい
はAC成分)の2進表現データと、次のDC成分(AC成分デ
ータ)の2進表現データとの境界を判定する必要があ
る。そして、図43(b)のように、コンテクストを生成
する際に、DCコンテクストのツリーからACコンテクスト
のツリーへの遷移が必要となる。
【0160】したがって、データの復元の際、1つのシ
ンボルを復元する毎に、DC成分/AC成分の終わりを判定
する処理が必要となり、1シンボル当り、最低でも2サ
イクルかかることになり、これで1クロックで処理を完
了させるという、完全なパイプライン処理は不可能とな
ってしまう。また、コンテクストモデルが複数あると、
DC成分とAC成分の境目でパイプラインは初期状態から開
始するような回路構成にならざるを得ないだろう。この
ような復号器では高速処理は期待できない。また、この
ようにDCコンテクストとACコンテクストを持つ回路構成
では、回路規模は大きく、コンテクストの異なる成分間
における制御は煩雑になる。
【0161】そこで、本発明では、敢えて、DC成分とAC
成分とを区別せず、双方の成分データに対し、共通のコ
ンテクストを割り当てる。このようにすれば、圧縮率は
やや劣化するものの、図43(a)に示すような、DC成分/A
C成分の終わりを判定する処理はまったく不要となる。
つまり、図44(a)に示すように、DC成分/AC成分の境界
を判定する必要がないため、図44(b)に示すように、
コンテクストのツリーは一つのツリーに統一化される。
【0162】コンテクストが共通であれば、シンボルの
復元は連続的に実行可能であり、DC/AC信号の再構成処
理は復号動作とは別の回路で並行動作が可能となる。
【0163】以上が、図10のフォーマット変換器/EOB
検出器407と、2値分解処理回路408と、多値データ符合
化コンテクスト生成器409の、基本的な動作と特徴であ
る。
【0164】次に、図12〜図14を用いて、各々について
具体的に説明する。
【0165】図12は、図10に示される、フォーマット変
換器/EOB検出器407および2値分解処理器408の特徴的
な構成を示している。
【0166】図示されるように、主な構成要素は、レジ
スタ501と、予測変換器515と、2進情報に分解するため
の比較器506〜509と、2進情報を順次選択して符号化シ
ンボルを出力するためのセレクタ510である。
【0167】予測変換器515は、本実施の形態では、DC
成分に対して機能し、直前ブロックとの差分を出力す
る。差分をとるのは符号量を減少させるためであるが、
これに限定されるものではない。
【0168】本実施の形態では、DC成分とAC成分のコン
テクストモデルを同じにして、コンテクストインデック
スやコンテクストインデックスベクトルの生成がパイプ
ライン処理に適するように高速に実行できるようにする
ことが本質的なアイデアである。しかし、現状の構成で
はコンテクストを共通化、簡略化したことによって圧縮
率が多少低下するとう問題がある。これを改善するに
は、 DC成分、AC成分に対するより高度な予測技術を予
測変換器に導入すればよい。
【0169】レジスタ501は、符号化対象となるフラグ
や直交変換係数等1つの数値が入力する。各数値には上
記の識別情報と絶対値の2進データが含まれている。レ
ジスタ出力のうちEOB識別情報511と、+/-識別情報512と
は、セレクタ510に入る。数値の絶対値Vは減算器504とD
C信号用のレジスタ502に入力する。
【0170】DC成分は比較的予測しやすいので、直前ブ
ロックの対応するDC成分で予測し、予測誤差信号を符号
化する。AC成分はそのまま符号化する。
【0171】DCレジスタ502は、1ブロックのDC値を記憶
する複数のレジスタから構成されている。これはDC成分
の差分値を計算するための遅延用レジスタである。AC/D
C成分識別信号によって、セレクタ503の入力を選択す
る。DC成分は上側、AC成分は下側の信号が選択される。
減算器504は絶対値を出力するものとし、DC成分に対し
てはVの差分であるΔVの絶対値、一方AC成分については
絶対値Vとなる。以下、これらを特に区別せず、ΔVと記
載する。
【0172】差分値ΔVは、次に、2値分解処理器520に
入力される。そして、ΔVは更に、減算器505で、Sz =
ΔV(V)-1という信号に変換される。
【0173】比較器506は、ΔV(V)がゼロであるかどう
かを判定する。比較器507はSz > 0を判定する。比較器5
07〜比較器509では、Sz を表す最小の桁数nを判定して
いる。ここで、記号”**”はべき乗を表す。例えば、Sz
= 5とすると、Sz > 0、 Sz> 1、Sz > 3であるがSz > 7
= 2**3-1にはならないので、Szは4から7の範囲であ
ることが分かる。
【0174】この範囲をmagnitude category と呼ぶ。n
が3であることは、Szを2進数表現するとそれが3ビット
長であることを示している。信号514はSzの各ビットを
表す。これをmagnitude bitと呼ぶ。Sz = 5とすると、3
ビットとればよいので”101”が信号514である。以上の
2進分解情報によって数値を一意的に表現することがで
きる。セレクタ510は予め定めた符号化順に従って2進分
解情報を選択し符号化シンボルとして出力する。
【0175】図13と図14によって、2進情報の符号化手
順とコンテクストを説明する。これらの図の表現方法は
著書W.B.Pennebaker and J.L.Mitchell、 "JPEG - S
tillImage Data Compression Standard、" New York: V
an Nostrand Reinhold、 1993 を参考にした。
【0176】まず、図13の2値分解処理について具体的
に説明する。
【0177】まず、差分データΔV(V)が、EOB(DCおよ
びAC成分を含む周波数成分ブロックの全データがゼロで
ある)であるかどうかを調べ(ステップ601)、その結
果を符号化する。もし、yesなら、”1”を”EOB”とい
うインデックスで表現されるコンテクストで符号化し
て、符号化が終了する。”1”を”EOB”というインデ
ックスで表現されるコンテクストで符号化することを、
図中、1(EOB)と記す。
【0178】一方、ステップ601でEOBでなければ、”
0”を”EOB”というインデックスで表現されるコンテク
ストで符号化する。このことを、図中、0(EOB)と記す。
この表記は、以下、同様である。
【0179】このように、各ステップで判断を行い、出
力が2つあるときは、右側がyesの判定、下側がnoの判
定の符号化を表す。従って、上述のとおり、ステップ60
1において、EOBであれば、1をEOBというコンテクスト
で符号化し符号化終了となる。そうでなければ、0をコ
ンテクストEOBで符号化する。
【0180】次に、ステップ602において、差分データ
がΔV(V)がゼロであるかどうかを判定する。その判定結
果を、コンテクスト”S0”で符号化する。ΔV(V)がゼロ
であれば、この時点で符号化は終了し次の数値の符号化
が行われる。ΔV(V)がゼロでなければ、ステップ603に
移行し、正負(+または-)の符号を符号化する。このと
きのコンテクストは”S1”である。
【0181】次に、ステップ604またはステップ605に移
行する。このステップ604では、差分データΔVの絶対
値が”1”より大きいか否かを判定する。つまり、Sz>0
であるかを判定し、その結果をコンテクストS2で符号化
する。
【0182】もしΔVが”1”でなければ、ステップ60
6において、ΔVの絶対値が”2”より大きいか否かを判
定する。つまり、Sz>1であるかを判定し、その結果
を、X1というコンテクストで符号化する。
【0183】もし、Sz>1(ΔVの絶対値が”2”)でな
ければ、ステップ607において、ΔVの絶対値が3または
4であるか、あるいは、4より大きいかを判定する。つま
り、Sz>3であるか否かを判定し、その結果を、コンテク
ストX2で符号化する。
【0184】ここで、Sz=2のときは、ステップ608にお
いて、2の2進表記”10”の下位ビットの”0”をコンテ
クストM2で符号化する。また、Sz=3のときは、同じく
ステップ608において、2の2進表記”11”の下位ビット
の”1”をコンテクストM2で符号化する。
【0185】ステップ609では、Sz>7であるかを判定
し、その結果をコンテストX3で符号化する。ここで、Sz
が4〜7のとき、4,5,6,7のそれぞれの2進表記”10
0”,”101”,”110”,”111”の下位2ビット”0
0”,”01”,”10”,”11”を、コンテクストM3で符
号化する(ステップ610,611)。
【0186】ステップ612では、Sz>15であるかを判定
し、その結果をコンテクストX4で符号化する。このと
き、Sz=8〜15のときは、それぞれの数値を2進表記し
て、下位3ビットをコンテクストM4で符号化する。
【0187】入力された差分データΔVの値が大きい場
合には、以下、同様の処理を繰り返し実行する。ステッ
プ616では、Sz>32768であるかを判定し、その結果をコ
ンテキストX15で符号化し、Szが32768以下ならば、各数
値を2進表記し、下位の数ビットをコンテクストM15で
符号化する。
【0188】以上の説明の中で、X1〜X15は、Szのmagni
tude categoryを示すデータを符号化するコンテクスト
であり、M2〜M15は、Szのmagnitude bitを符号化するた
めのコンテクストである。
【0189】以上のような順序で、図12の2値分解処理
器520は、数値の2値化を行い符号化シンボルを生成
し、図10の多値デー符号化コンテクスト409からコンテ
クストXX1〜X15,M2〜M15が出力され、これにより算術
符号化演算が行われる。
【0190】図14(a),(b)は、図13に現われるコ
ンテクストをまとめたものである。多値画像符号化のブ
ロックは8画素x8画素なので、64個の周波数成分があ
る。これをk=0〜63であらわす。
【0191】図14(a)に示すようN、コンテクストEO
B、S0、S1、S2については、各周波数成分毎にコンテク
ストが定義され(703〜706)、この他DC成分として扱える
フラグなどの数値を符号化するコンテクストがある(70
1、702)。
【0192】また、図14(b)に示すようにmagnitude
categoryとmagnitude bitのコンテクストは共通である
(707、708)。これらの各コンテクスト情報は、2値画像
の符号化同様に1バイトで表される。
【0193】図15(a)は、多値データの符号化の全体の
手順を示すフロー図であり、図15(b)は、周波数成分
64個の符号化の具体的な処理手順を示すフロー図であ
る。
【0194】図15(a)に示すように、多値データの符
号化処理では、まず、フォーマット変換/EOBの検出処
理が行われる(ステップ810)。そして、予め定められ
ている順番で2値分解処理を行う(ステップ811)。そ
して、AC性分,DC成分を区別することなくコンテクスト
を生成し(ステップ812)、算術符号化を行う(ステッ
プ813)。
【0195】周波数成分の符号化は、図15(b)に示す
ような手順で行われる。ここでkはジグザグスキャンの
インデックスを表す。まず、k=0とする(ステップ80
1)。次に、k=0の数値がEOBシンボルを表しているかど
うかを判定する(ステップ802)。ここで、k=0時点でE
OBであるということは、DC成分もAC成分もすべてゼロで
あるということを意味している。この判定でEOBであれ
ば、ステップ804で、1を符号化(code-1)して、そのブ
ロックは符号化終了となる。
【0196】もしEOBでなければステップ803で0を符号
化し、次に、ステップ805でΔV(V)の符号化を行う。ス
テップ806の判断で1ブロック終了していなければ、ステ
ップ807でインデックスを更新し、同様の処理を繰り返
す。
【0197】このようにして1ブロックの符号化が終了
する。ここには示していないが、周波数成分以外にDC成
分として符号化する情報があれば、まずそれらを符号化
する。本実施の形態では、DC成分、AC成分の順に符号化
する。例えば、図14(a),に示されるように、各ブロ
ックでDC成分として扱えるフラグなどが2個あったとす
ると、1個のブロックは66個の成分から構成されるのでk
=66として図15(b)のフローに従って符号化すればよ
い。図15(b)から明らかなように符号化処理フローに
は、DC、AC成分の区別はなく共通である。
【0198】このように、所定の手順に従って、AC成分
/DC成分を問わずに機械的に2値分解し、共通のコンテ
クストを使用して符号化することで、多値データについ
てもハザードのないパイプライン処理を実現できる。つ
まり、図1のブロック構成を用いて、1クロックで1つ
の処理を実行する超高速の算術符号化処理が実現される
ことになる。
【0199】図17は、周波数成分の符号化例を示したも
のである。この例は、DC差分が+1、AC成分が4個でその
後がEOBの場合に、各数値がどのように2進情報として符
号化されるかを示している。
【0200】DC差分値+1は図15(b)に従って符号化
すると、まずEOBではないのでステップ803でコンテクス
トEOBで0を符号化する。これを0(EOB)と表す。ステッ
プ805の数値の符号化では、図13を見ながら符号化する
と、数値ΔVはゼロではないので、コンテクストS0で1
を符号化する。次に、正負の符号は+なのでコンテクス
トS1で1を符号化する。
【0201】そして、Sz=0なので、Sz > 0の判定に対
してnoとなりコンテクストS2で0を符号化する。このよ
うにして、DC差分値ΔVが符号化できる。この処理をEOB
が現われるまで、または1ブロックのすべての数値が符
号化できるまで繰り返すと図16に示すように符号化され
ることが分かる。以上のようにして、2値分解処理と2進
情報の符号化が行われる。
【0202】多値データの符号化では、このように2進
データ列に分解され、分解された各2進データが符号化
シンボルになる。この2進データ列を高速に符号化する
には、各シンボルに対応したコンテクストを同時に出力
する必要がある。
【0203】図10の多値データ符号化コンテクスト生成
器409は、シンボル系列に同期したコンテクスト列を生
成する。本実施の形態では、多値データ符号化コンテク
スト生成器409は、状態遷移ROMで構成されている。符号
化はDC、AC成分の区別なく図13に従って処理すればよい
ので、図13からコンテクストインデックスの状態遷移テ
ーブルを作ることができる。図29は、コンテクストイン
デックス状態遷移テーブルの一構成例を示す図である。
左側のコンテクスト欄はコンテクストの名前とそのイン
デックスである。右側の次の状態を示す欄は、次の状態
番号と出力インデックスを示す。このテーブルは全部で
70状態から成り、状態0はコンテクストEOBである。この
状態で0を符号化(code-0)すると状態1に移る。そのと
きインデックス1を出力する。1を符号化すると状態0
に留まり、インデックス0を出力するということを表
す。インデックスは0から23であるが、同一コンテクス
トも異なる状態として定義したので状態数の方が多くな
っている。このようにシンボルの符号化に同期してコン
テクストインデックスを高速に出力することができる。
【0204】従来例では、DC成分とAC成分のコンテクス
トが異なるので、DC成分とAC成分が切り替わるタイミン
グでの状態遷移が複雑になる。また、応用によってフラ
グなどDC成分の数を増やす必要が生じた場合に、インデ
ックスの状態遷移テーブルを作り替える必要があり柔軟
性に欠けるという問題がある。
【0205】以上のようにして、図10に示されるセレク
タ411とセレクタ412からは、同時に符号化シンボルとそ
のコンテクストインデックスが出力される。コンテクス
トインデックスは図1のコンテクストRAM701に入力し、
符号化シンボルは2クロックの遅延を経て算術符号器70
3に入力する。この後のパイプライン処理は、2値画像の
符号化の場合と同じである。
【0206】以上、多値画像データの、ハザードレスパ
イプライン算術符号化について説明した。
【0207】(多値画像の復号器)次に、多値データ
の、ハザードレスパイプライン算術復号化について、説
明する。符号化同様、コンテクスト生成を中心に説明す
る。それ以外の部分は2値画像の復号化と共通である。
【0208】図11は、多値データの復号時における、コ
ンテクスト生成器(図1の参照符号700)の構成を説明
する。
【0209】多値合成処理403は、復元した2進データ列
から2進分解の逆手順をたどって数値を合成する。多値
データ復号用コンテクスト生成器404は、コンテクスト
のインデックスベクトルを生成する。セレクタ405は、2
値画像と多値データの復号用にインデックスベクトルを
選択する。セレクタ401は復元データを選択する。
【0210】図17の下側に、コンテクストインデックス
の生成部分を示した。JBIG復元用のコンテクスト生成器
402の出力信号は、図4に示す復号器に対応して、Si+2(D
i+1=0/Di=0)、 Si+2(Di+1=1/Di=0)、 Si+2(Di+1=0/Di=
1)、 Si+2(Di+1=1/Di=1)である。これらは現在復号中の
シンボルDiと次のシンボルDi+1の、4通りの可能な組み
合わせに対するインデックスであった。多値データ復号
用のコンテクスト生成器404の出力信号も同様である。
この場合、シンボルDiとDi+1は2進分解されたシンボル
である。
【0211】図18は、多値データ復号用のコンテクスト
がつくるContext Treeである。符号化時における2値分
解処理は、図13で示したように、予め定めた手順にした
がって行われる。よって、その手順を逆にたどることに
より、データ復元時において必要なコンテクストが、図
18のように、順次、一義的に定まることになる。よっ
て、復元時にも、必要なコンテクストを連続的に生成す
ることができる。
【0212】このように、図18の多値データ復号用のコ
ンテクストがつくるContext Treeは、図13を参照して構
成することができる。
【0213】例えば、コンテクストEOB(1101)の次に来
るコンテクストはS0(1103)またはEOB(1102)であり、コ
ンテクストS0の次はS1(1105)またはEOB(1104)である。
【0214】このようにして、図18のContext Treeを構
成することができる。図18には多くのEOBが書かれてい
るが、全て、1101のEOBと同じ状態である。 EOBにたど
り着くと1つのブロックの符号化が終了する。エッジの
上に付けられた数0、1は復元シンボルDiの値である。
【0215】図30は、図18のContext Treeに対応したコ
ンテクストインデックスの状態遷移テーブルである。こ
の表で状態番号1601は、図18のContext Treeの各ノード
に対応する番号である。コンテクスト1602は、コンテク
スト名とそれに対応したインデックスである。1603はDi
とDi+1で決まる4つの出力インデックスを表す。1604は
1つのシンボル復号化後の遷移先の状態番号である。
【0216】例えば、状態0であるEOBコンテクストでシ
ンボルDiを復号化しているサイクルでは、インデックス
ベクトル(0、2、1、0)を出力する。Diが0として復元
されると状態1に遷移する。この状態ではインデックス
ベクトル(1、0、2、2)が出力される。図17のコンテク
スト生成器404は、この状態遷移テーブルをROMで実現し
たものである。このようにしてシンボルの復号化に同期
して、コンテクストベクトルを次々に生成することがで
きる。
【0217】復号器のパイプライン動作は2値画像の復
号と同様に動作するので、パイプラインハザードが発生
することなく高速に2進シンボルを復元することができ
る。復元された2進シンボル列から直交変換係数などの
数値を再構成することは、分解処理の逆をたどればよい
ので実現は容易である。従来例のようにDC成分とAC成分
のコンテクストが異なる場合は、復元する2進データ列
の中にはDCコンテクストに属するシンボルとACコンテク
ストに属するシンボルが混在するため、インデックスベ
クトルを状態遷移テーブルに基づいて連続して出力する
ことは困難である。
【0218】図43(b)に示すように、コンテクストを
切り替えるため、1つのシンボルを復元する毎にDC/AC
成分の終わりを判定する処理が必要となり、シンボル当
り2サイクルかかることになる。
【0219】図44(b)に示すように、本実施の形態の
ようにコンテクストが共通であれば、シンボルの復元は
連続的に実行可能であり、DC/AC信号の再構成処理は復
号動作とは別の回路で並行動作が可能となる。
【0220】また、コンテクストモデルが複数あると、
DC成分とAC成分の境目でパイプラインは初期状態から開
始するような回路構成にならざるを得ないだろう。この
ような復号器では高速処理は期待できない。またこのよ
うにDCコンテクストとACコンテクストを持つ回路構成で
は回路規模は大きく、コンテクストの異なる成分間にお
ける制御は煩雑になる。本発明の復号器では、このよう
な問題は生じない。
【0221】さらに、図27の算術復号器では、符号器の
場合と同様に、最大シンボル長検出器1316を有してお
り、一括復号化できる最大のシンボル数を常に検出して
いる。つまり、最終的に復元するべきデータが2値デー
タである場合において、予め定めた複数個の連続する復
号化シンボルに対応する参照画素が特定のパターンに合
致することを、複数の検出器で常に検出し、これらの検
出器の検出結果に基づいて一括復号化できる最大のシン
ボル数を決定して、その最大シンボル数を算術復号演算
器に供給し、適応的に一括算術復号化を行う。これによ
り、さらなる高速復号処理が実現される。
【0222】また、最終的に復元するべきデータが多値
データである場合には、図11で説明したように、算術復
号演算器により復号された2値データは、多値合成処理
回路403により合成(2値分解とは逆の手順で行われ
る)され、これにより、多値データが復元される。な
お、図11に示すように、JBIG用(2値データ用)コンテ
クスト生成器402と、多値データ復号化用コンテクスト
生成器404とを、適宜、選択的に使用して復号化がなさ
れる。
【0223】以上、多値データの符号化・復号化につい
て説明した。
【0224】(実施の形態3)前掲の実施の形態では、
2値(あるいは多値)画像について、ハザードレスパイ
プライン符号化を実現する技術について説明した。ただ
し、実際の画像には、余白や文字の行間というように、
白(あるいは黒)が連続する領域も存在する。このよう
な領域については、1シンボル毎に符号化する必要はな
い。
【0225】この点に鑑み、本実施の形態では、本発明
の出願人が先に提案している、コンテクストが連続する
場合に、1シンボル毎の符号化を止めて一括した符号化
を行なう方法と、実施の形態1で説明した、2値算術符
号の未来予測によるパイプラインの乱れを防止する方法
とを併用する。
【0226】図20に、画像の一例を示す。図示されるよ
うに、領域A、領域C等は文字領域であり、領域B、D
は白だけの領域(行間領域)である。そして、領域E、
Fの右側には、コンテキストの連続性が高く、それでい
て確率推定のむずかしい高精細な画像10、20が存在す
る。
【0227】文字領域では、確率推定が容易で正規化の
発生頻度が少ないため、パイプラインの乱れはそれほど
問題とならないと考えられる。また、高精細な画像10、
20についても、上述の本発明を用いることで、パイプラ
インの乱れを防止することができる。
【0228】本発明では、未来予測に基づく情報を、現
在の情報と共に並列に出力して、事後的に選択する手法
を採るが、例えば、全白(あるいは全黒)の行間領域で
は、このような手法は必要がない。
【0229】そこで、全白の領域が現れると、一括して
符号化(復号化)を行なうことにより、無駄を省き、1
枚の画像の符号化(復号化)を、さらに高速で行なうこ
とが可能となる。
【0230】非白ラインでも、ある程度の一括符号化・
復号化を行なうことが可能であるが、全白ラインについ
ては、非白ラインの一括処理シンボル数よりも、より多
いシンボル数を、まとめて処理することができる。これ
により、処理速度のさらなる向上が図れる。
【0231】全白領域の一括符号化を行なうためには、
図21に示すように、コンテクスト生成器3200に入力され
るデータがラインメモリ2000にラッチされた状態で、シ
ーケンス制御部4000が白ラインを検出し、その識別信号
を複数シンボル処理判定器3300に送り、一括処理できる
最大シンボル数を決定する構成とする。
【0232】なお、パイプラインの乱れを防止(低減)
するための本発明の構成は、コンテクスト生成器3200、
コンテクストメモリ3400、確率推定器3600においても、
前掲の実施の形態と同様に採用されている。
【0233】白ラインの一括符号化(例えば、MPSの符
号化)は、図22に示すように、オージェンド(Areg)か
ら、初期値の1/2(0x8000)以下にならない範囲で複
数回分のQeを一括に減算することにより容易に実現され
る。正規化が生じてしまうと、処理が複雑化することが
懸念される。よって、一般的には、正規化が生じないこ
とを、連続シンボルの一括処理の条件とすることが望ま
しい。
【0234】全白領域に対する一括符号化処理の手順を
図23に示す。すなわち、一括してQeを減算した場合に中
央値以上となるかを判定し(ステップ10)、コンテクス
トとMPSの連続を判定し(ステップ20)、判定結果に応
じて、一括符号化処理または逐次符号化処理を選択する
(ステップ30、40)。
【0235】本実施の形態では、パイプラインの乱れが
なく、画像パターンによらず一定速度で符号化や復号化
を実行することができると共に、余白の領域等では、一
括した符号化を行うため、算術符号化処理のさらなる高
速化を達成できる。
【0236】(実施の形態4)本発明では、実施の形態
1および実施の形態2で説明した、2値データおよび多
値データのハザードレスパイプライン符号・復号化機能
に、実施の形態3で説明した、全白領域の一括符号化機
能(さらに適応性を加えてバージョンアップしたもの)
を加え、統合したものである。全白領域の一括符号化で
は、符号化対象の画像の局所的性質に応じて、一括して
符号化するシンボル数を適応的に変化させる機能を設け
る。
【0237】以下、2値画像の符号・復号化、多値画像
の符号・復号化を統合した超高速算術符号器・復号器
(コーデック)について、図面を用いて具体的に説明す
る。
【0238】(全体構成の説明)図24は、本発明の実施
の形態にかかる算術符号器の構成を示すブロック図であ
る。
【0239】より詳しいブロック構成は順を追って説明
する。主な構成要素はコンテクスト生成器1001、最大シ
ンボル長検出器1002、コンテクストメモリ1003、確率推
定器1004、算術符号器1005及びこれら処理ブロックの動
作タイミングを制御するタイミング制御部1006である。
【0240】符号化対象となるのは2値画像や直交変換
係数、各種の識別フラグなどの数値データである。コン
テクスト生成器1001は、これらのデータに適したコンテ
クストインデックスを出力する。
【0241】最大シンボル長検出器1002は、2値画像の
符号化復号化のときに機能する。Areg、Creg、Qe(S)、M
PS(S)、および2値画像データを入力信号としてシンボル
長を出力する。コンテクストメモリ1003は従来例同様に
各コンテクスト毎に予測シンボルMPS(S)と確率推定器10
04の状態番号を出力する。算術符号器1005は符号化復号
化演算を実行するブロックである。 (2値画像の符号器)まず、2値算術符号器について説
明する。
【0242】図25は、符号器の構成を示すブロック図で
ある。
【0243】コンテクスト生成器201、コンテクストRAM
202、Qe ROM203、算術符号器204がパイプライン接続さ
れている。このパイプライン動作タイミングは符号器タ
イミング制御部207によって状態監視が行われ、それに
基づいて適切な制御信号が各部に供給されている。
【0244】このパイプラインは2値画像の符号化と数
値データの符号化に共通する機能ブロックである。それ
に対してQe ROM205と最大シンボル長検出器206は、2値
画像符号化に特有の機能ブロックである。
【0245】まず、パイプライン動作について説明す
る。
【0246】入力データは2値画像とする。コンテクス
ト生成器201は、図39に示したテンプレートの参照画素
の値に応じたコンテクストインデックスSと符号化シン
ボルを出力する。
【0247】符号化シンボルは、パイプラインタイミン
グを調整するため、2クロックの遅延を経て算術符号器
に供給される。
【0248】コンテクストを識別するインデックスS
は、コンテクストRAM202と遅延素子208に入力する。遅
延素子3Dは3クロック遅延することを表す。遅延素子の
出力タイミングはコンテクストの更新タイミングとなる
ように設定されている。
【0249】コンテクストRAM202からは、シンボル予測
値MPS(S)とQe ROM203の状態番号(state No。)が出力
する。コンテクストRAMは2-port RAMであり、インデッ
クスSをアドレスとしMPS(S)と状態番号をデータとする
のが一組のポートで読み出し側、3クロック遅延したイ
ンデックス3D(S)をアドレスとしコンテクスト3D(S)
の更新値をデータとするのがもう一組のポートで書き込
み側である。
【0250】2-port RAMなのでインデックスSと3D(S)
が異なれば同一サイクルでリードとライトができる。コ
ンテクストRAM202 の出力データはセレクタ212を通して
Qe ROM203や算術符号器204に供給される。セレクタ212
の動作は後に説明する。Qe ROM203は入力する状態番号
に応じてQe(S)と次の状態番号を出力する。このROMの内
容は、図38に示すとおりであり、図41に示すような従来
例と大きく異なる。
【0251】図40は通常の確率推定テーブルの内容を示
しており、このテーブルをROM化したのが、Qe ROMであ
る。図41のような内容のROMを用いる従来例では、パイ
プラインハザードが発生する原因は、先に説明したよう
に、コンテクストSで正規化が発生したとき、その直後
のシンボルも同じコンテクストのときにはコンテクスト
RAMの出力値が正規化更新前の古い値なので、その読み
直しを必要とするためである。
【0252】そこで、本実施の形態では、読み直しが不
要になるように、Qe ROMからQe(S)と正規化が発生して
状態遷移した後のQe(S)も同時に出力し、それらを状況
に応じて選択できるようにした。
【0253】符号化演算に必要な情報は全てQe ROM203
から供給されているので、コンテクストが連続しその途
中で正規化が発生しても、コンテクストRAMの読み直し
は不要になりパイプラインハザードは発生しない。
【0254】図38は、本実施の形態における、2値の算
術符号用Qe ROMの構成例を示したものである。図示され
るように、このQe ROMが有するテーブルのデータは、Qe
(S)と、LPSを符号化して正規化が発生し状態遷移した後
のQe(S)と、同様にMPSを符号化して正規化が発生し状態
遷移した後のQe(S)と、LPSを符号化して正規化が発生し
た時の状態遷移先の情報と、MPSを符号化して正規化が
発生した時の状態遷移先の情報と、そしてフラグswitch
である。
【0255】ここで、図35を参照して、Qe ROM周辺の動
作タイミングを説明する。
【0256】第iシンボルのコンテクストがSiであると
する。処理2101はコンテクストSiについての情報を図2
のコンテクストRAM202 から読み出す(context RAM RD(S
i))。次のサイクルではQe ROMからコンテクストSiのQe
値2102、MPS符号化で正規化が発生した場合の次のQe値2
103、LPS符号化で正規化が発生した場合の次のQe値2104
が同時に出力されている。同様に次の遷移先番号も出力
されるが、ここには図示していない。
【0257】まだ正規化は起きていないので2102〜2104
の中からQe(Si)2102が選ばれる。処理2105では算術符号
演算と必要に応じて正規化処理が行われる。今このサイ
クルでLPSを符号化して正規化が発生したものとする。
処理2106ではコンテクストSiの内容の更新を行う。コン
テクストRAMに書かれる値は、新しい状態番号と新しいM
PS(Si)である。新しい状態番号はセレクタ213で選択さ
れた7ビットのデータ215であり、新しいMPS(Si)は、現
在の予測値MPS(Si)216とフラグswitch-MPS217との排他
的論理和211をとった1ビットの信号である。セレクタ21
3下側のセレクタの選択条件はMPSを符号化したかLPSを
符号化したかである。
【0258】第i+1シンボルも第iシンボルと同じコンテ
クストSiとする。処理2108〜処理2110では処理2102〜処
理2104同様に、コンテクストSiに対して3通りのQe(Si)
を同時に出力している。処理2105で正規化が発生したの
で、今度はこの中から状態遷移後のQe値2108を選ぶ。
【0259】セレクタ213上側のセレクタの選択条件
は、正規化発生の有無と正規化発生時のシンボルで決ま
る。このQe値を使って次のサイクル2111で符号化演算を
行う。
【0260】第i+2シンボルのコンテクストもSiとす
る。処理2112では、前のサイクルで読み出したQe ROMの
状態番号は更新前のものなのでセレクタ212の下側の入
力を選択してQe ROMの読み出しを行う。
【0261】セレクタ212の下側には、次の状態番号と
次の予測値MPS(Si)が既に入力している。Qe ROMからはQ
e(Si)と遷移後のQe(Si)が出力される。第i+1シンボル符
号化では正規化は発生していないので、Qe(Si)が選ばれ
る。もし、第i+1シンボル符号化で再度正規化が発生し
たならば遷移後のQe(Si)を選べばよい。
【0262】第i+3シンボルのコンテクストはSiと異な
り、Sjであったとすると処理2114でコンテクストSjデー
タの読み出しが行われる。このとき処理2106でコンテク
ストRAMへの書き込みを行っているが、コンテクストRAM
は2-port RAMなので処理2106と処理2114は同一サイクル
で実行できる。
【0263】第i+3シンボルがコンテクストSiであれ
ば、処理2116ではデータの書き込みが優先され、読み出
しは行わない。処理2117では処理2112と同様にセレクタ
212の下側の入力を選んでQe ROMの読み出しを行う。こ
のようにQe ROM周辺は動作し、パイプラインハザードは
発生しないことが分かる。
【0264】次に図25に戻り、最大シンボル長検出器20
6との関係について説明する。
【0265】最大シンボル長検出器206では、同一のコ
ンテクストが連続するときに予め定めた範囲のシンボル
長の中で最大のシンボル長を選択する。本実施例では参
照画素が全白のコンテクストと全黒のコンテクストを対
象にする。
【0266】全白コンテクストは参照画素が全て白
(0)なので、このインデックスSを”0”、全黒コンテ
クストのインデックスSを”1023”とする。
【0267】したがって、全白、全黒各コンテクストの
予測シンボルはMPS(0)、MPS(1023)と表される。
【0268】図26に最大長シンボル検出器の構成例を示
す。この検出器は、全白領域について複数シンボルを一
括処理する場合の、一括処理できる最大のシンボル数を
検出するものである。
【0269】本実施の形態では、一括処理可能なシンボ
ル長として”64”、”32”、”16”および”8”の4つ
を定め、この中から最適なものを選択する。図26には処
理ユニット301が4つ並んでいる。右から64シンボル検
出ユニット、32シンボル検出ユニット、16シンボル検出
ユニット、8シンボル検出ユニットの順である。全て構
成は同じなので一つの処理ユニットを説明する。
【0270】一括符号化処理(連続符号化処理)できる
かどうかは、以下の条件によって定まる。 条件(C1):n個のコンテクストが同じで、符号化シンボ
ルがMPS(S)と同じ。 条件(C2):Areg-n・Qe(s)>=0x8000 ここで、”Areg”は、領域幅を表すレジスタの値であ
る。また、”0x”は、16進表示を表す。
【0271】一方、復号化のときは、以下の条件により
定まる。 条件(D1):n個のコンテクストが同じ 条件(D2):Areg-n・Qe(s)>=0x8000 条件(D3):Creg<Areg-n・Qe(s) ここで、”Creg”は、領域幅の中にとられた代表点を指
すレジスタの値である。
【0272】6ビットシフタ302ではQe(S)を64倍する。
演算器303ではAreg -64*Qe(S)を計算する。比較器304で
はAreg -64*Qe(S)と0x8000を比較し、結果を最大シンボ
ル長判定回路306に出力する。ここで条件(C2)、(D2)を
判定する。さらに復号化時の条件(D3)は比較器305によ
って比較される。
【0273】コンテクストの連続条件や符号化時のMPS
の連続条件は同一コンテクスト/MPS64連続検出回路307
によって判定される。判定結果は最大シンボル長判定回
路306に送られる。以上の判定が、32シンボル、16シン
ボル、8シンボルに対して同様に同時に実行される。最
大シンボル長判定回路はこれらの判定結果をもとに連続
処理可能なシンボル長の最大値を決定する。連続処理可
能なシンボル長は2のn乗にしているので、シンボル長3
08はこのnを出力する。64シンボルであれば6を出力する
ことになる。また、連続処理できないときは”0”を出
力する。
【0274】図25に戻り、最大シンボル長検出器と周辺
の関係を説明する。
【0275】Qe ROM205は、Qe(0)とQe(1023)を出力す
る。ROM構成はQe ROM203とは異なり、出力データはQe値
だけあればよい。インデックス0とインデックス1023に
対するQe ROM205の状態番号は2本のレジスタ209に記憶
されている。
【0276】レジスタの初期値はゼロで、正規化に伴っ
てレジスタの値は更新される。信号218はコンテクスト
の更新値である。インデックス検出回路210で2つのイ
ンデックスを検出し、レジスタ209を更新する。算術符
号器の入力データを切り替えるセレクタ214では、連続
処理の時は右側が選ばれる。算術符号器ではnシンボル
分の演算処理が行われる。
【0277】次に、図36を用いてパイプライン処理とシ
ンボル連続処理の相互動作について説明する。図36はパ
イプライン符号器とシンボル連続処理の切り替えタイミ
ング例を示す。ここでパイプライン符号器とは、図25の
コンテクスト生成器201、コンテクストRAM202、Qe ROM2
03および算術符号器204から構成されるシンボル逐次処
理を指す。
【0278】パイプライン符号器とシンボル連続処理部
は図39に示すように1画素ずらしたタイミングで常に動
作している。パイプライン符号器で第i画素を符号化し
ている時、最大シンボル長検出器は第i+1画素から符号
化できる最大シンボル長を常に検出している。
【0279】図36の処理2201で、算術符号器204が第i画
素の符号化演算/正規化処理を実行しているとする。こ
の時、パイプライン符号器のQe ROMからは第i+1シンボ
ル用のQeが読み出されている(処理2202)。一方、最大
シンボル長検出器は処理2204と処理2205でコンテクスト
の連続性やAregが所定の条件を満足するかどうかの判定
を行っている。処理2201の初期段階でAregは演算される
ので、処理2205の演算結果が確定するのは、このサイク
ルの後半である。
【0280】処理2204と処理2205の結果を合わせて最大
シンボル長が決定する。その結果、連続処理できない時
は処理2203でパイプライン処理が連続する。nシンボル
の連続処理が可能であれば、処理2207で算術符号器204
はnシンボルの連続符号化演算を行う。
【0281】これと同一サイクルで、コンテクスト生成
器内部の画像データをnビットシフトして、新しいコン
テクストの検出に備える。nシンボルの符号化演算の結
果、コンテクスト情報の更新が必要な時は処理2209で実
行する。このようにしてパイプライン処理から連続処理
に切り替わる。
【0282】逆に連続処理ができなくなるとパイプライ
ン処理に切り替える。このとき、パイプラインにデータ
は詰まっていないので、4段パイプラインであれば4クロ
ックのパイプライン遅延が生じる。この途中でパイプラ
イン処理から連続処理への切り替えは行わないように制
御する。連続処理からパイプライン処理への切り替えが
頻繁に起こるとパイプライン遅延のため、シンボル長が
短い時には高速化効果が小さくなる。
【0283】全白コンテクストに関しては、Qeは速やか
に最小値付近に収束するので連続符号化処理条件のうち
(C2)は比較的緩い条件であり、条件(C1)によって連続処
理は決定される。文書画像では行間や左右の余白など白
い部分はかたまっているので、このようなところでは予
め定めた最大値である64画素を連続して符号化できるこ
とが多く、1ページ全体での高速化効果は大きい。
【0284】(2値画像の復号器)次に、復号化動作に
ついて説明する。まず高速算術復号器に共通して適用で
きる処理方式を説明する。図19(a)は、高速動作が可能
な、算術符号の復号器のブロック構成図である。なお、
図19(b)は、復元シンボルのコンテクストが構成するTre
eを示す。
【0285】この図は2値画像の復号と直交変換係数な
ど数値データの復号に共通する構成となっている。構成
要素はコンテクスト生成器1201、複数のコンテクストRA
M1202〜1205、セレクタ1206、1207、1210、Qe ROM120
8、1209、算術符号復号器1211、多値合成処理器1212で
ある。
【0286】符号器同様にコンテクスト生成処理、コン
テクストRAMのリード、Qe ROMのリード、算術符号の復
号処理がパイプライン接続され、各パイプラインステー
ジを1サイクルで実行する。多値データの復号化処理は
後に説明し、以下では2値画像の復号動作を説明する。
【0287】復号化では、現在復号しているシンボルに
よって、そのシンボルを含む将来のコンテクストが決ま
る。したがって、パイプライン処理するためには、これ
から起こる可能性のある複数コンテクストに対して並列
して処理を行い、一つのシンボルが復元され確定する毎
に並列して処理されたデータの中から必要なものを絞り
込む必要がある。
【0288】図19(b)は、復元シンボルのコンテクスト
が構成するTreeを示す。いま、i番目のシンボルDiをコ
ンテクストSiで復元しているとする。Diは”0”また
は”1”であるから、コンテクストSiを表すノードが2つ
に分かれて、次のコンテクストSi+1になる。Si+1からの
分岐も同様にして、Si+2は復元シンボルDiとDi+1の組み
合わせで4通りの可能性がある。このように構成され
た、コンテクストの分岐を表すTreeをContext Treeと呼
ぶことにする。復号器はこのContext Treeにしたがって
パイプライン処理を行う。算術符号復号器1211がコンテ
クストSiでシンボルDiを復元しているとする。パイプラ
イン処理であるから、それと同一サイクルでQe ROM1208
とQe ROM1209からは次のコンテクストSi+1を想定してQ
e値の読み出しが行われている。Qe ROM 1208をDi=0とし
たコンテクスト、Qe ROM 1209をDi=1としたコンテクス
トである。Diが復元されると、その値によってセレクタ
1210で選択され、次のコンテクストSi+1における復号化
処理に必要なQe値が算術符号復号器1211に供給される。
これと同様に、コンテクストRAM読み出し処理では、コ
ンテクストSi+2用にコンテクスト情報の読み出しが同一
サイクルで行われている。復号シンボルDiが確定する
と、可能な候補はセレクタ1206と1207で半分に絞られ
る。
【0289】このようにしてパイプライン処理が行われ
ていく。このパイプライン復号器をContext Tree Decod
er と呼ぶことにする。Context Tree Decoderではコン
テクスト生成器の出力は1つのインデックスではなく、
複数のインデックス1213〜1216となる。これらをまとめ
てインデックスベクトルと呼ぶ。
【0290】図27と図28は、図25に対応する復号器のブ
ロック構成図である。これらの図を参照して復号動作を
説明する。
【0291】図19(a)による概念説明から分かるよう
に、主な構成要素はコンテクスト生成器1301、4つのコ
ンテクストRAM1302〜1305、2つのQe ROM1310、1311、
算術復号演算器1314、最大シンボル長検出器1316、およ
びタイミングを制御する復号器タイミング制御部1317で
ある。復号器タイミング制御部は、符号器同様にパイプ
ラインタイミングやパイプライン復号器と最大シンボル
長復号処理の切り替え制御を行うブロックである。
【0292】最大シンボル長検出器1316とそれに接続す
るQe ROM1315は、符号器で使われたものと全く同じであ
る。図19(a)と同様に、算術復号演算器1314ではi番目の
シンボルDiをコンテクストSiで復元しているとする。
【0293】コンテクスト生成器1301はコンテクストの
インデックスベクトルを生成する。ベクトルの要素はDi
とDi+1の組み合わせによって図示するように、Si+2(Di+
1=0/Di=0)、Si+2(Di+1=0/Di=1)、Si+2(Di+1=1/Di=0)、S
i+2(Di+1=1/Di=1)である。添え字は第i+2シンボル用
のコンテクストインデックスであることを表し、括弧内
はこれから復元されるシンボルに対する条件である。
【0294】以下、これと同じように記号を使う。コン
テクストRAM1302 からは第i+2シンボル用のQe ROMの状
態番号Qe-index i+2とシンボル予測値MPSi+2が出力され
ている。他のコンテクストRAMの出力も同様である。
【0295】セレクタ1306〜1309ではDi=0のときに上
側、Di=1のときに下側が選択されるものとする。したが
って、例えばセレクタ1306の上側の入力信号はQe-index
i+2(Di+1=0/Di=0)、下側の入力信号はQe-index i+2(Di
+1=0/Di=1)となる。他も同様である。パイプラインレジ
スタは図示していないが、セレクタ1306〜1309、セレク
タ1312、1313の出力段に入っているものとする。
【0296】セレクタ1312とセレクタ1313からは、各々
Diの復号演算に必要なQe値QeiとMPS予測値MPSiを出力し
ている。MPSiは最大シンボル長検出器からの予測値とセ
レクタ1318を通して算術復号演算器に供給されている。
セレクタ1318の選択条件はパイプライン復号器による逐
次処理を行うのか、複数シンボルの連続処理を行うのか
によって決まる。
【0297】Diが復号されると、その値に応じてセレク
タ1312からは次のQe値Qei+1(Di=0)またはQei+1(Di=1)
が算術復号演算器に供給される。このとき、セレクタ13
13からはMPSi+1(Di=0)またはMPSi+1(Di=1)が出力され
る。この状態で第i+1シンボルDi+1が復号される。
【0298】同様に上記の信号の変化に同期して、セレ
クタ1306からはシンボルDiの値に応じて、Qe-index i+2
(Di+1=0/Di=0)またはQe-index i+2(Di+1=0/Di=1)が出
力され、これが現時点のデータQe-indexi+1(Di=0)に置
き換わってQe-indexi+2(Di+1=0)となる。他のセレクタ1
307〜1309も同様にDiの値によってDi+2を復号化する信
号が選択される。コンテクスト生成器でもこの信号変化
に同期して、新しいインデックスベクトルが出力され
る。
【0299】図37は以上の動作をタイムチャートで示し
たものである。
【0300】クロックiではDiの復号化2301、QeROMの読
み出し2302、2303、コンテクストRAMの読み出し2304〜2
307を実行している。Di=0と復元されると、クロックi+1
では必要に応じてコンテクストの更新、Di+1の復号化、
Di+2用のQe ROMの読み出し2310、2311が実行される。Di
+1=0であれば図示するようにQe RD(Di+1=0)の信号が選
択される。これを繰り返してパイプライン復号化が実行
される。
【0301】図28は、図27のコンテクストRAM1302、130
3とQe ROM1310の周辺を詳細に示したものである。Qe RO
Mの内容とその周辺、およびコンテクストRAM周辺は符号
器の構成と同一である。セレクタ1405、1406は正規化が
発生した直後の同一コンテクストの復号化で入力信号を
選択する。
【0302】シンボルの連続復号化が有効なコンテクス
トは、符号化同様にコンテクストは全白(index-0)と全
黒(index-1023)である。index-0の検出器1402とレジス
タ1403はシンボル連続復号化処理に使用する。レジスタ
1403の出力はindex-0におけるMPS予測値であるMPS(0)と
QeROMの状態番号Qe-index(0)である。index-1023につい
て、これらのコンテクスト情報は図示していないが、コ
ンテクストRAM1305周辺から同様の構成で出力される。
【0303】これらの信号が図27のQe ROM1315や最大シ
ンボル長検出器1316に入る。これらの信号に基づく、最
大シンボル長検出の動作は符号化の場合と同じである。
また、パイプライン復号器とシンボルの連続復号化の切
り替えも符号化同様にして実現できる。以上のようにし
て2値画像の復号化が高速に実行できる。
【0304】(多値画像の符号化・復号化)多値画像の
符号化・復号化については、前掲の実施の形態2で、図
10〜図18を用いて詳細に説明したとおりであり、ここで
は、詳細な説明は省略する。
【0305】すなわち、予め定めた手順に従う2値分解
処理により、DCT変換係数のAC成分/DC成分を区別する
ことなく、符号化シンボルを生成していき、これに合わ
せて、AC成分/DC成分を区別することなく共通のコンテ
クストを使用し、そのコンテクストを一定の速度で連続
的に供給し、ハザードレスのパイプライン算術符号化・
復号化を達成するものである。
【0306】コンテクスト生成器が記憶するテーブルの
内容の例が、図29,図30に示される。図29は、符号化用
のコンテクストインデックスの状態遷移テーブルであ
り、図30は、復号化用のコンテクストインデックスの状
態遷移テーブルである。
【0307】本発明では、敢えて、DC成分とAC成分とを
区別せず、双方の成分データに対し、共通のコンテクス
トを割り当てる。このようにすれば、圧縮率はやや劣化
するものの、図43(a)に示すような、DC成分/AC成分の
終わりを判定する処理はまったく不要となる。つまり、
図44(a)に示すように、DC成分/AC成分の境界を判定す
る必要がないため、図44(b)に示すように、コンテク
ストのツリーは一つのツリーに統一化される。
【0308】このように、パイプライン処理による高速
性を何よりも重要と考え、従来のように、符号量を第1
とする考え方を採用しない点に本実施の形態の特徴があ
る。
【0309】コンテクストが共通であれば、シンボルの
復元は連続的に実行可能であり、DC/AC信号の再構成処
理は復号動作とは別の回路で並行動作が可能となる。よ
って、装置の簡素化も達成される。
【0310】(多値画像圧縮の応用例)今まで説明した
高速算術符号器復号器の応用例について説明する。2値
画像のJBIG符号化や多値画像の直交変換符号化は直接的
応用として明らかなので、ここでは適応量子化に関する
応用例を説明する。
【0311】図31は、DCTなどの直交変符号化に量子化
器の適応制御機能を加えた例である。算術符号器1701は
本発明の実施例による符号器である。
【0312】直交変換符号化は直交変換器1705、量子化
器1702および算術符号器1701によって構成される。直交
変換はJPEGのように8x8画素単位に実行するものとす
る。
【0313】直交変換符号化では圧縮性能を上げると急
峻なエッジ部分でリンギングノイズが発生する。これを
改善するには、例えばブロック毎にエッジ成分があるか
どうかをエッジ検出回路1704で検出し、その出力信号が
所定値以上のときに量子化テーブル1703のスケーリング
係数を変化させ、量子化ステップ幅を小さくしてやれば
よい。
【0314】エッジ検出回路は水平方向と垂直方向のエ
ッジ検出フィルタを組みあわせて構成できる。復号器に
量子化器のスケーリング情報を伝えるため、スケーリン
グ係数を符号化する必要がある。スケーリング係数は、
頻繁には変化しないのでDC成分として差分値を符号化す
ればよい。そうすると、各ブロックの符号化情報はスケ
ーリング係数と64個の直交変換係数の計65個となる。こ
のうち2個がDC成分、63個がAC成分として符号化され
る。
【0315】図32は、本発明による算術符号器1801をレ
ート制御符号化に用いた例を示す。デジタルコピーなど
ではバッファメモリに画像を符号化して格納する際に符
号化レートを所定範囲で一定に保てると便利である。
【0316】このような場合には、ブロック毎または複
数ブロックから定義されたマクロブロック毎に符号化レ
ートが所定範囲に収まるように量子化ステップ幅を制御
してやればよい。ブロック毎にレート制御する場合は、
符号化情報はスケーリング係数と64個の周波数成分であ
る。より複雑なモデルでは、周波数成分以外に符号化す
べき情報が増えることになるが、それを含むようにコン
テクスト領域やDC成分を1ブロック遅延させるためのレ
ジスタ(図12の参照符号502)などを予め多めに実装し
ておけばよい。
【0317】符号化情報が増えてもコンテクストモデル
は変わらないので、本実施例のように構成した符号器復
号器は各種の応用に柔軟に対応できる。
【0318】高速動作可能なDCT変換器や量子化器と本
発明による算術符号器を組み合わせると、上記のような
応用例においても全体として極めて高速な符号器を実現
できる。
【0319】本発明の算術符号・復号器を搭載したデジ
タル複合機(コピー機能とファックス機能を併せ持つ機
器)の全体構成を図49に示す。
【0320】本発明の算術符号・復号器は、QM符号/復
号化回路105に搭載される。図示されるように、このデ
ジタル機器101は、ホストプロセッサ102と、MH/MR/MM
R符号/復号化回路103と、画像処理回路104と、QM符号
/復号化回路105と、画像ラインメモリ106と、符号メモ
リ107と、モデムなどの通信インタフェース108と、スキ
ャナなどの画像入力装置111と、プリンタなどの画像記
録/表示装置112と、を有する。本発明により、従来に
ない高速性,柔軟な拡張性を有する高機能のデジタル機
器が実現される。
【0321】(本実施の形態のシミュレーション結果)
以下、本発明の効果をシミュレーションデータに基づい
て説明する。本発明の高速処理に関する効果は次の通り
である。 (1)連続して符号化復号化するシンボル長の適応化に
よる高速化効果(2値画像に適用) (2)パイプラインハザードを防止することによるパイ
プライン処理の高速化効果(2値、多値画像に適用) (3)DC成分、AC成分のコンテクストを共通化してパイ
プライン処理を可能としたことによる高速化効果(多値
画像に適用) 図45は、2値画像の符号化処理速度のシミュレーション
結果を示す。横軸は圧縮率、縦軸は1シンボル当りのサ
イクル数(クロック数)である。文書画像、ハーフトー
ン画像、これらの混在画像およびランダム画像につい
て、1ページ単位の圧縮率と符号化に要したサイクル数
を求め、それらの関係をプロットしたものである。
【0322】パイプライン処理とシンボルの連続処理の
切り替えには多少の余裕を持たせて処理速度を計算して
いる。この図を見ると、圧縮率0.5以下で連続処理によ
る効果が現われていることが分かる。おおよそである
が、圧縮率0。2以下が文書画像である。圧縮率0.2〜
0.5が混在画像やハーフトーン画像、圧縮率0。5以上が
黒率の異なるランダム画像である。文書画像における高
速化効果は大きく、0。2サイクル/シンボル程度で符号
化できることが分かる。1シンボルは1画素であるから、
80MHzのクロックで動作させたとき、400M画素/秒の処
理性能が実現できることを示している。
【0323】また、本発明では複数のシンボル長を並列
して同時判定しているので文字とハーフトーンの混在画
像など比較的複雑な画像でも高速化効果があるのが特徴
である。従来のように例えば、連続シンボル長を64だけ
にすると、0.3や0.4など圧縮率の小さいところで処理
速度は1サイクル/シンボルとなってしまう。
【0324】図46は、パイプラインハザードの防止効果
を示す。この図は1ライン毎の処理速度をライン毎にプ
ロットしたものである。横軸はライン数、縦軸は1シン
ボル当りの処理サイクル数である。
【0325】テスト画像は圧縮率が約0.5となるランダ
ム画像を用いた。上側のプロットは従来のQe ROMの構成
による符号器の性能を示し、下側のプロットが本発明に
よる符号器の性能を表す。従来構成ではパイプラインの
乱れによって、本発明に対して5%〜10%性能が劣化し
ていることが分かる。画像パターンを変化させたとき、
劣化の最大値がどうなるかは、評価するのが難しい問題
である。画像によっては更に劣化が大きくなる可能性も
ある。本発明ではこのようなことを憂慮する必要はな
い。
【0326】図47の下側のプロット(点線)は多値画像
の符号化処理速度のシミュレーションデータである。
【0327】JPEG同様に直交変換はDCT変換とし、変換
係数を予め定めた量子化テーブルを使って量子化し、量
子化値を本発明によるコンテクストモデルを使って符号
化した。2進分解したデータ列は1シンボルが1サイクル
で符号化できるものとして符号化のサイクル数を計数し
た。
【0328】横軸は量子化器のスケーリング計数、縦軸
は1画素あたりのサイクル数である。量子化テーブルはJ
PEG Annex−Kに記載されたテーブルを使用した。スケー
リング係数2。0は量子化テーブル値の1/2の値で量子化
することを示す。
【0329】テスト画像は人物写真画像である。図47の
上側のプロットはDC成分、AC成分を別々のコンテクスト
としてパイプライン処理した場合の処理速度を示した。
1シンボル復号する毎にDC/ACのコンテクスト切り替え
の判定のため、2サイクル/シンボルとした。またDC/AC
の境界でパイプラインを初期化するサイクル数もカウン
トした。
【0330】この図によると、スケーリング係数1.0で
は、パイプライン処理によって1サイクル/画素以下で
符号化できることを示している。本発明の原理上、復号
化も同一速度となる。本発明は、パイプライン処理に適
するようにDC成分とAC成分のコンテクストを共通化し、
コンテクストのインデックスやインデックスベクトルを
状態遷移テーブルに基づいて生成できるようにした。こ
うすることによってパイプライン化が容易となり、特に
復号器において、高速処理効果が上がる。その反面、コ
ンテクストを共通化によって圧縮性能が低下するという
欠点がある。次に、この劣化がどの程度であるかを評価
する。
【0331】図48は図45と同じテスト画像を用いて圧縮
性能を評価したものである。横軸は図45同様にスケーリ
ング係数、縦軸は圧縮率を表す。この図で上側のプロッ
トは、図42に示した従来例の圧縮性能、下側は本発明に
よる符号器の圧縮性能である。スケーリング係数によっ
て変動するが劣化は約3%であった。この劣化は主にDC
成分の符号化で発生している。
【0332】本発明による実施例では、DC成分として符
号化する信号は差分値を符号化する簡単な構成である。
圧縮率はより高度な信号予測を導入することによって改
善できる。高速のデジタルコピーや、そのFAX複合機で
は僅かな圧縮性能の差よりも高速性能が重要である。こ
れらの装置に限らず高速性能が要求される応用分野では
本発明の効果は大きい。
【0333】本発明の効果は高速化だけではなく、2値
画像の符号化や多値データの符号化に共通して使用でき
るCODECを実現できる点にも特徴がある。また、本発明
の説明では、算術符号としてQM-coderを用いたが、本発
明はこれに限るものではなく他の算術符号においても同
様に適用できるものである。
【0334】
【発明の効果】以上、説明したように本発明は、下記の
〜の効果を有する。 現在のコンテクストに対する確率Qeのみならず、未来
における確率Qeも並列に出力しておき、状況に応じてそ
れらを選択する構成として(確率推定テーブルの構成を
そのような処理が可能なように変更して)、パイプライ
ンの乱れを除去し、超高速処理を可能とした。 DC成分/AC成分を区別することなく、所定の手順に従
う機械的な2値分解処理と、共通のコンテクストを設定
することにより、多値画像データについても、ハザード
レスのパイプライン処理を実現した。また、処理が簡素
化されるため、柔軟な拡張性やハードウエア量の削減と
いった効果も得ることができる。 余白や行間部分について、画像の複雑さや解像度に応
じて、適応的に一括処理シンボル数を変化させつつ、一
括符号化・復号化処理を行うことにより、さらなる高速
処理を実現した。 これらの結果、本発明によれば、2値画像や多値画像
を柔軟に処理し、かつ、ほとんど算術符号のアルゴリズ
ムで決まる限界の速度でもって処理できる、画期的なコ
ーデックを実現することができる。
【図面の簡単な説明】
【図1】本発明のハザードレスパイプライン算術符号器
の全体構成を示すブロック図
【図2】本発明における確率推定メモリの構成例を示す
【図3】図1の算術符号器の動作(パイプライン動作)
を説明するためのタイミング図
【図4】本発明のハザードレスパイプライン算術復号器
の全体構成を示すブロック図
【図5】図4の算術復号器のQe ROMの周辺の構成を詳細
に示すブロック図
【図6】図4の算術復号器の動作(パイプライン動作)
を説明するためのタイミング図
【図7】本発明の算術符号器の特徴的な動作を説明する
ためのフロー図
【図8】本発明の算術復号器の特徴的な動作を説明する
ためのフロー図
【図9】本発明の算術符号器の効果を説明するための図
【図10】本発明の多値画像データの符号化機能をもつ
算術符号器における、コンテクスト生成器の構成を示す
ブロック図
【図11】本発明の多値画像データの復号化機能をもつ
算術復号器における、コンテクスト生成器の構成を示す
ブロック図
【図12】図10の算術符号器の、2値分解処理器の構成
を示すブロック図
【図13】2値分解処理器における、2値分解処理(符
号化シンボルの生成)の手順を示す図
【図14】(a)図10の算術符号器において使用され
る、共通コンテクストの一例を示す図 (b)図10の算術符号器において使用される、共通コン
テクストの他の例を示す図
【図15】(a)図10の算術符号器における、多値デー
タの符号化処理の手順を示すフロー図 (b)DCT変換係数(周波数成分データ)の算術符号化
の手順を示すフロー図
【図16】図13および図15(a),(b)の手順に従っ
て符号化をした場合の、具体的な符号化シーケンスの一
例を示す図
【図17】本発明の復号化用のコンテクスト生成器の全
体構成の例を示す図
【図18】多値データ符号化用のコンテクストインデッ
クスがどのように変化していくかをツリー構造で示す図
【図19】(a)多値データの復号器における、コンテ
クスト生成器の構成の概要を示すブロック図 (b)復号時におけるコンテクストインデックスの変化
をツリー構造で示す図
【図20】符号化対象の画像の一例を示す図
【図21】本発明の、全白領域における複数シンボルの
一括符号化機能をもつ算術符号器・復号器の全体構成を
示すブロック図
【図22】算術符号演算におけるQeの一括減算と正規化
処理との関係を説明するための図
【図23】全白領域における複数シンボルの一括符号化
を行う際の処理手順を示すフロー図
【図24】本発明の算術符号・復号器の全体の構成を示
す図
【図25】本発明の算術符号器(2値・多値ハザードレ
スパイプライン機能と、適応的複数シンボル一括機能
と、を併せ持つ)の詳細な構成を示すブロック図
【図26】図25の算術符号器における、最大シンボル数
検出器の構成を示すブロック図
【図27】本発明の算術復号器の要部構成を示すブロッ
ク図
【図28】本発明の算術復号器の要部構成を示すブロッ
ク図
【図29】多値データ符号化用のコンテクストインデッ
クスの状態遷移を示す図
【図30】多値データ復号化用のコンテクストインデッ
クスの状態遷移を示す図
【図31】多値算術符号化を応用した装置の一例を示す
【図32】多値算術符号化を応用した装置の他の一例を
示す図
【図33】従来の算術符号器におけるパイプライン処理
を説明するための図
【図34】従来の算術符号器におけるパイプライン処理
の問題点を説明するための図
【図35】本発明の算術符号器における、ハザードレス
パイプライン処理を説明するための図
【図36】本発明の算術符号器における、パイプライン
処理と複数シンボル連続処理との切り替えタイミングを
説明するための図
【図37】本発明の算術復号器の主要な動作タイミング
を説明するための図
【図38】本発明の算術符号器におけるQe ROMの構成例
を示す図
【図39】JBIGにおける算術符号用テンプレートを示す
【図40】一般的な確率推定テーブルの内容を示す図
【図41】従来のQe ROMの構成を示す図
【図42】従来例(比較例)における、多値データ符号
化コンテクストの構成例を示す図
【図43】(a)従来例における、DC成分用コンテクス
トとAC成分用コンテクストの切り替えを説明するための
図 (b)従来例における、DC成分用コンテクストのツリー
からAC成分用コンテクストのツリーへの遷移を示す図
【図44】(a)本発明における、DC成分用コンテクス
トとAC成分用コンテクストの切り替えを説明するための
図 (b)本発明における、統一されたコンテクストのツリ
ーを示す図
【図45】本発明の算術符号器の、2値画像の処理速度
のシミュレーション結果を示す図
【図46】本発明の算術符号器のパイプライン処理性能
を従来例と比較して示す図
【図47】本発明の算術符号器の、多値画像の符号化処
理速度に関するシミュレーション結果を示す図
【図48】本発明の算術符号器における、多値画像の圧
縮性能に関するシミュレーション結果を示す図
【図49】本発明の算術符号器・復号器を搭載したデジ
タル機器の全体構成を示すブロック図
【図50】算術符号器の全体構成の概略を説明するため
の図
【図51】算術符号化の原理を説明するための図
【図52】JBIGにおける算術符号用テンプレートを示す
【符号の説明】
700 コンテクスト生成器 701 コンテクストRAM 702 Qe ROM 703 算術符号演算器 704〜707 セレクタ 708 EOR回路 709 制御回路 710,711,712 タイミング調整回路
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5C059 KK14 MA00 MA23 MC00 MC01 MC11 ME11 RC12 SS28 TA46 TB08 TC18 TD08 UA02 UA05 UA38 5C078 AA04 BA21 CA31 DA01 DA02 DB00 DB06 5J064 AA02 AA03 BA09 BA10 BA16 BB01 BB03 BB13 BC01 BC02 BC03 BC04 BC08 BC14 BC16 BC17 BC24 BC25 BC27 BC28 BC29 BD04

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】 多値データを算術符号化する方法であっ
    て、 前記多値データの中に統計的性質が異なるデータが混在
    している場合でも、前記統計的性質の相違に基づく区別
    をすることなく、前記多値データを、所定の統一化され
    た手順にしたがって2値データに分解して2値の符号化
    シンボルを生成するステップと、 前記多値データの中に統計的性質が異なるデータが混在
    している場合でも、前記統計的性質の相違に基づく区別
    をすることなく、前記2値分解されて得られる2値の符
    号化シンボルに関して、共通のコンテクストを生成する
    ステップと、 生成された前記コンテクスト毎に、符号化対象である前
    記2値の符号化シンボルの値を予測して符号化を行うス
    テップと、 を含むことを特徴とする多値データの算術符号化方法。
  2. 【請求項2】 請求項1において、 多値データの2値データへの分解処理は、所定の複数の
    項目について、所定の順番で判定を行い、その判定結果
    に”1”または”0”を割り当てることで行われること
    を特徴とする多値データの算術符号化方法。
  3. 【請求項3】 符号化シンボルの生起確率を推定し、そ
    の確率推定値および前記符号化シンボルの予測値を符号
    演算器に供給して符号化を行う際に、パイプライン処理
    を実行して、多値データを高速に算術符号化する方法で
    あって、 前記多値データの中に統計的性質が異なるデータが混在
    している場合でも、前記統計的性質の相違に基づく区別
    をすることなく、前記多値データを、所定の統一化され
    た手順にしたがって2値データに分解して2値の符号化
    シンボルを生成するステップと、 前記多値データの中に統計的性質が異なるデータが混在
    している場合でも、前記統計的性質の相違に基づく区別
    をすることなく、前記2値分解されて得られる2値の符
    号化シンボルに関して共通のコンテクストを、連続的に
    生成するステップと、 前記コンテクストに対する符号化シンボルの現在の確率
    推定値と、所定の状況が生じて予測条件が更新された後
    における、前記コンテクストと同一のコンテクストに対
    する、未来の確率推定値とを並列に生成すると共に、前
    記符号器の状態に応じて、前記現在の確率推定値または
    前記未来の確率推定値のいずれかを選択して、前記符号
    器に供給するステップと、 を含むことを特徴とする多値データの算術符号化方法。
  4. 【請求項4】 既に符号化済みのシンボル系列の状態
    (コンテクスト)から符号化シンボルの生起確率を推定
    し、その推定値と前記符号化シンボルの予測値とを用い
    て、2値または多値のデータの符号化を行う算術符号化
    方法であって、 2値データと多値のデータ間でコンテクストを区別せず
    に共通のコンテクストを生成すると共に、 前記コンテクストの生成,前記符号化シンボルの生起確
    率の推定値および前記符号化シンボルの予測値の出力,
    算術符号演算の各々について、パイプライン処理を実行
    し、 かつ、2値データの符号化においては、複数の連続する
    符号化シンボルの値および複数の参照シンボルの値が所
    定のパターンに合致する場合に、複数シンボルの一括符
    号化を行うことを特徴とする算術符号化方法。
  5. 【請求項5】 2値データおよび多値のデータを問わ
    ず、符号化対象となし、2値データと多値データを識別
    した後、多値データについては、2値データに分解して
    2値の符号化シンボルを生成した後に符号化するように
    なし、前記符号化シンボルについて生起確率を推定し、
    その確率推定値および前記符号化シンボルの予測値を符
    号演算器に供給し、パイプライン処理による高速な算術
    符号化を行う算術符号化方法であって、 前記多値データの処理に関しては、 前記2値分解処理においては、前記多値データの中に統
    計的性質が異なるデータが混在している場合でも、前記
    統計的性質の相違に基づく区別をすることなく、前記多
    値データを、所定の統一化された手順にしたがって2値
    データに分解して2値の符号化シンボルを生成し、 また、コンテクストの生成にあたっては、前記多値デー
    タの中に統計的性質が異なるデータが混在している場合
    でも、前記統計的性質の相違に基づく区別をすることな
    く、前記2値分解されて得られる2値の符号化シンボル
    に関して共通のコンテクストを、連続的に生成するよう
    になし、 2値データおよび多値データに共通の処理に関しては、 前記コンテクストに対する符号化シンボルの現在の確率
    推定値と、所定の状況が生じて予測条件が更新された後
    における、前記コンテクストと同一のコンテクストに対
    する、未来の確率推定値とを並列に生成すると共に、前
    記符号器の状態に応じて、前記現在の確率推定値または
    前記未来の確率推定値のいずれかを選択して、前記符号
    器に供給することでパイプライン処理の乱れを防止し、 さらに、2値データの処理に関しては、 コンテクストおよび優性シンボル(MPS)が連続すると
    いう第1の条件と、前記連続する優性シンボル数分の劣
    勢シンボル(LPS)の領域幅を一括して現状のオージェ
    ントから減算した後に残存する領域の値が所定値未満に
    ならないという第2の条件とを共に満たすかを常に検出
    し、それらの条件が満たされる場合には、前記第1およ
    び第2の条件を満たす最大のシンボル数を、所定の条件
    の下で検出し、検出されたそのシンボル数分の一括符号
    化を適応的に実行することを特徴とする算術符号化方
    法。
  6. 【請求項6】 既に符号化済みのシンボル系列の状態
    (コンテクスト)から符号化シンボルの生成確率を推定
    し、その推定値とシンボルの予測値とを符号器に供給し
    て符号化を行う算術符号化装置であって、 符号化対象の前記多値データの中に統計的性質が異なる
    ものが含まれるか否かにかかわらず、一律にコンテクス
    トを生成するコンテクスト生成手段と、 コンテクスト毎に、前記シンボルの推定値および状態番
    号を記憶しているコンテクストメモリと、 現在の確率推定値と、所定の状況が生じて更新がなされ
    た後の確率推定値とを並列に出力する確率推定メモリ
    と、 算術符号化演算を行う符号演算器と、 前記符号演算器の状態に応じて、前記現在の確率推定
    値、または、前記所定の状況が生じて更新がなされた後
    の確率推定値のいずれかを選択して前記符号器に供給す
    る選択手段と、を有することを特徴とする算術符号化装
    置。
  7. 【請求項7】 入力される多値データについて、所定の
    検出を行い、この検出結果を用いて前記多値データを所
    定のデータ形式に変換するフォーマット変換器と、この
    フォーマット変換器から出力されるデータについて、所
    定の統一化された手順にしたがって2値データに分解し
    て2値の符号化シンボルを生成する2値分解回路と、前
    記2値分解されて得られる2値の符号化シンボルに関し
    て、コンテクストを連続的に生成する多値データ符号化
    用コンテクスト生成手段と、を具備するコンテクスト生
    成器と、 コンテクスト毎に、シンボルの予測値(MPS)および状
    態番号(state No.)を記憶しているコンテクストメモ
    リと、 現在の確率推定値(Qe),所定の状況が生じて更新がな
    された後の確率推定値(next Qe)および、前記コンテ
    クストメモリに記憶されている前記状態番号の更新が生
    じた場合における更新後の状態番号(next state No.)
    を記憶しており、かつ、前記現在の確率推定値、前記更
    新後の確率推定値,および前記更新後の状態番号の各々
    を並列に出力する確率推定メモリと、 この確率推定メモリから出力される前記現在の確率推定
    値(Qe),前記更新後の確率推定値(next Qe)のうちのい
    ずれかを選択する第1のセレクタと、 前記コンテクストメモリから出力される前記状態番号
    (state No.),あるいは前記確率推定メモリから出力
    される前記更新後の状態番号(next state No.)のいず
    れかを選択して、前記確率推定メモリに、アドレス情報
    として供給する第2のセレクタと、 前記第1のセレクタにより選択された確率推定値(Qeま
    たはnext Qe)と、前記コンテクストメモリから出力さ
    れる前記シンボルの予測値(MPS)と、を用いて算術符
    号演算を行う算術符号演算器と、を有することを特徴と
    する算術符号化装置。
  8. 【請求項8】 入力されるデータが多値データである場
    合に、その多値データについて所定の検出を行い、この
    検出結果を用いて前記多値データを所定のデータ形式に
    変換するフォーマット変換器と、このフォーマット変換
    器から出力されるデータについて、所定の統一化された
    手順にしたがって2値データに分解して2値の符号化シ
    ンボルを生成する2値分解回路と、前記2値分解されて
    得られる2値の符号化シンボルに関して、コンテクスト
    を連続的に生成する多値データ符号化用コンテクスト生
    成手段と、また、入力されるデータが2値データである
    場合に、2値データ用のコンテクストを連続して生成す
    る2値データ符号化用コンテクスト生成手段と、を具備
    するコンテクスト生成器と、 コンテクスト毎に、シンボルの予測値(MPS)および状
    態番号(state No.)を記憶しているコンテクストメモ
    リと、 現在の確率推定値(Qe),所定の状況が生じて更新がな
    された後の確率推定値(next Qe)および、前記コンテ
    クストメモリに記憶されている前記状態番号の更新が生
    じた場合における更新後の状態番号(next state No.)
    を記憶しており、かつ、前記現在の確率推定値、前記更
    新後の確率推定値,および前記更新後の状態番号の各々
    を並列に出力する確率推定メモリと、 この確率推定メモリから出力される前記現在の確率推定
    値(Qe),前記更新後の確率推定値(next Qe)のうちのい
    ずれかを選択する第1のセレクタと、 前記コンテクストメモリから出力される前記状態番号
    (state No.),あるいは前記確率推定メモリから出力
    される前記更新後の状態番号(next state No.)のいず
    れかを選択して、前記確率推定メモリに、アドレス情報
    として供給する第2のセレクタと、 前記第1のセレクタにより選択された確率推定値(Qeま
    たはnext Qe)と、前記コンテクストメモリから出力さ
    れる前記シンボルの予測値(MPS)と、を用いて算術符
    号演算を行う算術符号演算器と、 入力される2値データについて、予め定めた複数個の連
    続する符号化シンボルの値および各符号化シンボルを符
    号化する際に用いられる参照画素の値が所定のパターン
    に合致することを検出する複数個の検出器と、これらの
    検出器の検出結果に基づいて、一括して符号化できる最
    大のシンボル数を決定し、最大シンボル数を前記算術符
    号演算器に供給する最大シンボル数判定回路と、 を有することを特徴とする算術符号化装置。
  9. 【請求項9】 請求項8において、 コンテクストの生成処理,確率推定メモリの読み出し処
    理,コンテクストメモリの読み出し処理,および算術符
    号化演算を同じサイクルで実行してパイプライン化し、
    1サイクルで1画素の符号化を実行することを特徴とす
    る算術符号化装置。
  10. 【請求項10】 多値データを2値分解して算術符号化
    して得られた符号データを、パイプライン処理によって
    算術復号化して多値データを復元する方法であって、 1つ先の復号化対象のシンボル,2つ先の復号化対象の
    シンボルのそれぞれについて、先行して処理を行ない、
    実際に取り得るコンテクストの各々に対応した、劣勢シ
    ンボル生起確率(Qe)を並列に生成するステップと、 実際の復号結果に応じて、並列に生起した前記劣勢シン
    ボル生起確率(Qe)の中から一つを選択して算術復号器
    に供給するステップと、 算術復号器により復元されたデータについて、多値合成
    処理を行って多値データを復元するステップと、 を含むことを特徴とする算術復号化方法。
  11. 【請求項11】 請求項10において、 1つ先の復号化対象の画素についての、一つのコンテク
    ストに対応する劣勢シンボル生起確率(Qe)を生成する
    際、現在の劣勢シンボル生起確率(Qe)の他に、所定の
    状況が生じて更新がなされた後の劣勢シンボル生起確率
    (next Qe)を並列に生成しておき、算術復号器の状態
    およびコンテクストに応じて、いずれか一つを選択する
    ことを特徴とする算術復号化方法。
  12. 【請求項12】 多値データを2値分解して算術符号化
    して得られた符号データを、パイプライン処理によって
    算術復号化して多値データを復元する算術復号化装置で
    あって、 既に復号化済みのシンボル系列の状態から復号化シンボ
    ルの生起確率を推定し、その確率推定値とシンボルの予
    測値を復号器に供給して復号化する際、将来の復元シン
    ボルの値を予測し、各予測値に応じて定まる状態毎に確
    率推定値を並列に生成しておき、復号器による現実の復
    号結果に応じて、並列に生成されている前記確率推定値
    のうちのいずれかを選択して復号化し、復号化されたデ
    ータを合成して多値データを復元することを特徴とする
    算術復号化装置。
  13. 【請求項13】 多値データを2値分解して算術符号化
    して得られた符号データを、パイプライン処理によって
    算術復号化して多値データを復元する算術復号化装置で
    あって、 既に復号化済みのシンボル系列の状態(コンテクスト)
    から復号化シンボルの生起確率を推定し、その推定値と
    シンボルの予測値を復号器に供給して復号化する復号化
    する手段として、 コンテクスト生成器と、確率推定値を記憶している、複
    数の確率推定メモリと、コンテクスト毎に予測シンボル
    と前記確率推定メモリのアドレス情報を格納している、
    複数のコンテクストメモリと、算術復号化演算器と、を
    有し、 また、前記複数の確率推定メモリの各々は、同一アドレ
    スに、現在の確率推定値および所定の状況が生じて更新
    がなされた後の確率推定値を記憶しており、 i番目(iは任意の自然数)のシンボルの算術復号化演
    算を行なうサイクルと同一のサイクルにおいて、i+1番
    目のシンボルを復号化するための、前記複数の確率推定
    メモリの読み出し処理、およびi+2番目のシンボルを復
    号化するための、前記複数のコンテクストメモリの読み
    出し処理を並行して行い、 復号器による現実の復号結果に応じて、並列に生成され
    ている前記確率推定値のうちのいずれかを選択して復号
    化し、復号化されたデータを合成して多値データを復元
    することを特徴とする算術復号化装置。
  14. 【請求項14】 多値データを2値分解して算術符号化
    して得られた符号データあるいは2値データを算術符号
    化して得られた符号データを、パイプライン処理によっ
    て算術復号化する算術復号化装置であって、 既に復号化済みのシンボル系列の状態(コンテクスト)
    から復号化シンボルの生起確率を推定し、その推定値と
    シンボルの予測値を復号器に供給して復号化する手段と
    して、 2値データを復号化するためのコンテクストを生成する
    第1のコンテクスト生成手段と、多値データを復号化す
    るためのコンテクストを生成する第2のコンテクスト生
    成手段と、を具備するコンテクスト生成器と、 現在の確率推定値,更新後の確率推定値,および更新後
    の確率推定値が格納されている番地を示すアドレス情報
    のそれぞれを、並列に出力する確率推定メモリと、 この確率推定メモリの並列に出力される、前記現在の確
    率推定値,更新後の確率推定値のうちのいずれかを選択
    する第1の選択手段と、 コンテクスト毎に予測シンボルおよび前記確率推定メモ
    リのアドレス情報を格納しているコンテクストメモリ
    と、 前記確率推定メモリのアドレスとして、前記コンテクス
    トメモリの出力、または、前記確率推定メモリから出力
    される、前記更新後の確率推定値が格納されている番地
    を示すアドレス情報のいずれかを選択する第2の選択手
    段と、 前記第1の選択手段によって選択された確率推定値と、
    前記コンテキストメモリから出力される前記シンボルの
    予測値(MPS)とを用いて算術復号演算を行なう算術復
    号演算器と、を有し、 さらに、最終的に復元するべきデータが2値データであ
    る場合において、予め定めた複数個の連続する復号化シ
    ンボルに対応する参照画素が特定のパターンに合致する
    ことを、常に検出する複数の検出器と、これらの検出器
    の検出結果に基づいて一括復号化できる最大のシンボル
    数を決定して、その最大シンボル数を前記算術復号演算
    器に供給する最大シンボル数決定手段と、を有し、 また、最終的に復元するべきデータが多値データである
    場合、前記算術復号演算器により復号された2値データ
    を合成して多値データを復元する多値合成処理回路を有
    することを特徴とする算術復号化装置。
  15. 【請求項15】 請求項14において、 コンテクストの生成処理,確率推定メモリの読み出し処
    理,コンテクストメモリの読み出し処理,および算術復
    号化演算を同じサイクルで実行してパイプライン化する
    ことにより、1サイクルで1画素の復号化を実行するこ
    とを特徴とする算術復号化装置 。
  16. 【請求項16】 請求項6〜請求項9のいずれかに記載
    の算術符号化装置、あるいは、請求項12〜請求項15
    のいずれかに記載の算術復号化装置を搭載した電気機
    器。
JP2000217850A 2000-07-18 2000-07-18 算術符号化・復号化方法および算術符号化・復号化装置 Expired - Fee Related JP3457269B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000217850A JP3457269B2 (ja) 2000-07-18 2000-07-18 算術符号化・復号化方法および算術符号化・復号化装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000217850A JP3457269B2 (ja) 2000-07-18 2000-07-18 算術符号化・復号化方法および算術符号化・復号化装置

Publications (2)

Publication Number Publication Date
JP2002033925A true JP2002033925A (ja) 2002-01-31
JP3457269B2 JP3457269B2 (ja) 2003-10-14

Family

ID=18712902

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000217850A Expired - Fee Related JP3457269B2 (ja) 2000-07-18 2000-07-18 算術符号化・復号化方法および算術符号化・復号化装置

Country Status (1)

Country Link
JP (1) JP3457269B2 (ja)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7088272B2 (en) 2004-07-15 2006-08-08 Kabushiki Kaisha Toshiba Pipeline arithmetic code decoding method and apparatus using context index predictor
KR100624432B1 (ko) 2004-08-05 2006-09-19 삼성전자주식회사 내용 기반 적응적 이진 산술 복호화 방법 및 장치
KR100648258B1 (ko) 2004-08-02 2006-11-23 삼성전자주식회사 고속의 디코딩을 수행하는 파이프라인 구조의 내용 기반적응적 이진 산술 디코더
JP2007074648A (ja) * 2005-09-09 2007-03-22 Matsushita Electric Ind Co Ltd Cabac復号化装置
JP2007202142A (ja) * 2006-01-12 2007-08-09 Lsi Logic Corp 高画質画像のためのコンテキスト適応的なバイナリ算術復号
JP2008141530A (ja) * 2006-12-01 2008-06-19 Canon Inc 画像符号化装置及び画像符号化方法
US7411529B2 (en) 2005-11-18 2008-08-12 Samsung Electronics Co., Ltd. Method of decoding bin values using pipeline architecture and decoding device therefor
JP2008289125A (ja) * 2007-04-20 2008-11-27 Panasonic Corp 算術復号化装置及びその方法
JP2009060667A (ja) * 2002-04-23 2009-03-19 Ntt Docomo Inc 算術的符号化及び復号のためのシステム及び方法
JP2009159366A (ja) * 2007-12-27 2009-07-16 Akuseru:Kk 本発明は、符号化システム、符号化方法、符号化プログラム、復号化システム、復号化方法および復号化プログラム
JP2012523728A (ja) * 2009-04-09 2012-10-04 トムソン ライセンシング 入力ビットシーケンスを符号化する方法及び装置並びに対応する復号化方法及び装置
US9577667B2 (en) 2002-04-23 2017-02-21 Ntt Docomo, Inc. System and method for arithmetic encoding and decoding
CN113034625A (zh) * 2019-12-25 2021-06-25 武汉Tcl集团工业研究院有限公司 一种基于图片的无损压缩方法、智能终端及存储介质
CN113095583A (zh) * 2021-04-23 2021-07-09 何桂霞 应用于业务管理的数据分析方法及业务管理服务器
CN116366868A (zh) * 2023-05-31 2023-06-30 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) 一种并发视频包过滤方法、***及储存介质

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10484006B2 (en) 2002-04-23 2019-11-19 Ntt Docomo, Inc. System and method for arithmetic encoding and decoding
JP4722990B2 (ja) * 2002-04-23 2011-07-13 株式会社エヌ・ティ・ティ・ドコモ 算術的符号化及び復号のためのシステム及び方法
US10291255B2 (en) 2002-04-23 2019-05-14 Ntt Docomo, Inc. System and method for arithmetic encoding and decoding
JP2009060667A (ja) * 2002-04-23 2009-03-19 Ntt Docomo Inc 算術的符号化及び復号のためのシステム及び方法
US9577667B2 (en) 2002-04-23 2017-02-21 Ntt Docomo, Inc. System and method for arithmetic encoding and decoding
US7822283B2 (en) 2002-04-23 2010-10-26 Ntt Docomo, Inc. System and method for arithmetic encoding and decoding
US7088272B2 (en) 2004-07-15 2006-08-08 Kabushiki Kaisha Toshiba Pipeline arithmetic code decoding method and apparatus using context index predictor
KR100648258B1 (ko) 2004-08-02 2006-11-23 삼성전자주식회사 고속의 디코딩을 수행하는 파이프라인 구조의 내용 기반적응적 이진 산술 디코더
US7573951B2 (en) 2004-08-02 2009-08-11 Samsung Electronics Co., Ltd. Binary arithmetic decoding apparatus and methods using a pipelined structure
KR100624432B1 (ko) 2004-08-05 2006-09-19 삼성전자주식회사 내용 기반 적응적 이진 산술 복호화 방법 및 장치
JP2007074648A (ja) * 2005-09-09 2007-03-22 Matsushita Electric Ind Co Ltd Cabac復号化装置
US7411529B2 (en) 2005-11-18 2008-08-12 Samsung Electronics Co., Ltd. Method of decoding bin values using pipeline architecture and decoding device therefor
JP2007202142A (ja) * 2006-01-12 2007-08-09 Lsi Logic Corp 高画質画像のためのコンテキスト適応的なバイナリ算術復号
JP2008141530A (ja) * 2006-12-01 2008-06-19 Canon Inc 画像符号化装置及び画像符号化方法
US8018996B2 (en) 2007-04-20 2011-09-13 Panasonic Corporation Arithmetic decoding apparatus and method
JP2008289125A (ja) * 2007-04-20 2008-11-27 Panasonic Corp 算術復号化装置及びその方法
JP2009159366A (ja) * 2007-12-27 2009-07-16 Akuseru:Kk 本発明は、符号化システム、符号化方法、符号化プログラム、復号化システム、復号化方法および復号化プログラム
JP4524501B2 (ja) * 2007-12-27 2010-08-18 株式会社アクセル 符号化システム、符号化方法、符号化プログラム、復号化システム、復号化方法および復号化プログラム
JP2012523728A (ja) * 2009-04-09 2012-10-04 トムソン ライセンシング 入力ビットシーケンスを符号化する方法及び装置並びに対応する復号化方法及び装置
CN113034625A (zh) * 2019-12-25 2021-06-25 武汉Tcl集团工业研究院有限公司 一种基于图片的无损压缩方法、智能终端及存储介质
CN113095583B (zh) * 2021-04-23 2024-05-03 浙江皓亮智享信息技术咨询有限公司 应用于业务管理的数据分析方法及业务管理服务器
CN113095583A (zh) * 2021-04-23 2021-07-09 何桂霞 应用于业务管理的数据分析方法及业务管理服务器
CN116366868A (zh) * 2023-05-31 2023-06-30 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) 一种并发视频包过滤方法、***及储存介质
CN116366868B (zh) * 2023-05-31 2023-08-25 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) 一种并发视频包过滤方法、***及储存介质

Also Published As

Publication number Publication date
JP3457269B2 (ja) 2003-10-14

Similar Documents

Publication Publication Date Title
US6677869B2 (en) Arithmetic coding apparatus and image processing apparatus
KR100624432B1 (ko) 내용 기반 적응적 이진 산술 복호화 방법 및 장치
JP3457269B2 (ja) 算術符号化・復号化方法および算術符号化・復号化装置
US5319463A (en) Arrangement and method of preprocessing binary picture data prior to run-length encoding
US5371606A (en) Image encoding apparatus
JPH0969951A (ja) 符号化方法及び復号化方法
JP3684128B2 (ja) 算術符号化/復号化方法ならびに算術符号化/復号化装置
US6026197A (en) Coding method and apparatus therefor
US5668737A (en) High-speed data processor and coding method
US6121905A (en) Method and apparatus for decoding JPEG symbols
JP4061104B2 (ja) コンテキストモデルによるラン・スキップカウントに基づくメモリアクセス及びスキッピング
JP3929312B2 (ja) 算術符号化装置および画像処理装置
JP3406550B2 (ja) 算術符号化装置および算術復号化装置
JP3459759B2 (ja) 算術復号化装置
JPH05151349A (ja) 画像データ圧縮方法および符号化回路
JP3235510B2 (ja) 符号化方法及び符号化装置、復号化方法及び復号化装置
Denecker et al. Design of an improved lossless halftone image compression codec
JP3127513B2 (ja) 符号化装置
JP3224127B2 (ja) 画像データ変換処理装置
JPH06233122A (ja) 画像処理装置
JPH1155531A (ja) 算術符号化装置
JPH0645945A (ja) 算術符号化方法及びその復号化方法
JPH046954A (ja) 画像予測符号化方式
Lo et al. Design of a High-Throughput CABAC Encoder
JP2001298623A (ja) 符号化装置及びその方法

Legal Events

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

Free format text: PAYMENT UNTIL: 20070801

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20080801

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20080801

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090801

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090801

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100801

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110801

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110801

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120801

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees