JPH11103257A - 算術符号化復号化装置 - Google Patents

算術符号化復号化装置

Info

Publication number
JPH11103257A
JPH11103257A JP26376197A JP26376197A JPH11103257A JP H11103257 A JPH11103257 A JP H11103257A JP 26376197 A JP26376197 A JP 26376197A JP 26376197 A JP26376197 A JP 26376197A JP H11103257 A JPH11103257 A JP H11103257A
Authority
JP
Japan
Prior art keywords
value
probability
state
memory
decoding
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
JP26376197A
Other languages
English (en)
Other versions
JP3459759B2 (ja
Inventor
Tadayoshi Nakayama
忠義 中山
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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Priority to JP26376197A priority Critical patent/JP3459759B2/ja
Publication of JPH11103257A publication Critical patent/JPH11103257A/ja
Application granted granted Critical
Publication of JP3459759B2 publication Critical patent/JP3459759B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 算術符号化又は復号化を高速に実行可能とす
ること。 【解決手段】 符号化すべき注目画素の周辺画素の状態
に対応した確率推定値を用いて注目画素を符号化する算
術符号化装置において、現在の確率推定値から正規化処
理後の確率推定値を求め、求めた確率推定値を用いて以
降の符号化を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、画像データを圧縮
符号化復号化する画像符号化復号化装置に関し、特に算
術符号(Arithmetic code)を用いて画
像データを符号化復号化する画像符号化復号化装置に関
する。
【0002】
【従来の技術】算術符号は、〔0,1)の数値直線上の
対応区間(2進小数で〔0.0…0,0.1…1〕)を
各シンボルの生起確率に応じて不等長に分割していき、
符号化対象シンボル系列を対応する部分区間に割り当
て、再帰的に分割を繰り返していくことにより得られた
区間内に含まれる点の座標を、少なくとも他の区間と区
別できる2進小数で表現してそのまま符号とするもので
ある。
【0003】算術符号の方式として代表的なものとし
て、ITUの機関であるJBIG(Joint Bi−
level Image Experts Grou
p)で標準化されたJBIG(QM−coder)方
式、IBM社が提案しているQ−coder等がある。
【0004】各方式により、使用されている用語が異な
るが説明を簡単にするために、ここでは標準方式である
JBIG方式に用いられている用語を使用することにす
る。しかしながら、JBIG用語を用いたとしても、以
下の説明はJBIGに限定されない算術符号に関するも
のであることは言う迄もない。
【0005】原理的な算術符号では、算術演算部で乗算
処理を必要とするが、それによると算術演算部のハード
ウェア規模が大きくなる。或いは乗算処理の処理時間が
長くなるといった問題があり、算術演算を加減演算に置
き換え簡略化した方式が主流になっている。
【0006】算術演算部内部には、符号化シンボル系列
に対応する領域幅(オージェント)を保持するAレジス
タと、コードを発生する基となる値を保持するコードレ
ジスタ(Cレジスタ)とがあり、符号化予測値に対する
符号化対象シンボルのはずれ確率を確率推定値LSZと
して入力し、符号化対象シンボルが予測値に一致したか
あるいは不一致かという情報に基づいて、確率推定値L
SZと2つのレジスタの値との算術演算(加減算)を行
ない、2つのレジスタの値を更新する。
【0007】確率推定値LSZは、符号化対象シンボル
の周辺シンボル情報を数値化したコンテキストの夫々が
持つindex(状態)値を、所定の状態値と確率推定
値との対応表を用いて変換することによって得られる。
コンテキストの夫々が持つ状態値を、ある条件の下で更
新することにより、符号化シンボル系列固有のパターン
を学習することができ、符号化効率を上げることが出来
る。
【0008】JBIG方式では、Aレジスタの値を10
000Hに初期化し、算術演算(符号化あるいは復号
化)の結果、Aレジスタの値が8000H未満になる
と、正規化処理と称して、Aレジスタの値が8000H
以上になるまで左シフトを行ない、その際に、現コンテ
キストの状態値を更新する。また、Aレジスタの値を左
シフトする時、それと同時にCレジスタの値も左シフト
する。この時、Cレジスタの再上位からシフトアウトさ
れるデータが符号化コードとなる。
【0009】符号化対象のシンボルの値が0または1し
かとらない、2値の画素データである場合、算術符号化
処理を行なう符号化処理ブロックの構成は、例えば、図
1に示すものとなる。同図において、101は符号化対
象画素の2値データPIXを入力する端子、102は2
値データPIX、103は上記符号化対象画素の周辺の
複数画素データからなるコンテキスト情報である。
【0010】105はコンテキスト情報ごとに、対応す
る予測値とindex(状態)値を保持する予測状態メ
モリ、106は予測状態メモリ105から出力される予
測値、107は予測状態メモリ105から出力される状
態値であり、109は所定の対応表を用いて状態値10
7を確率推定値LSZに変換する確率推定部、111は
確率推定部109から出力される確率推定値LSZであ
る。また、113は排他的NORゲートであり、114
は排他的NORゲート113から出力される2値データ
PIX102と予測値106との一致/不一致を表わす
情報である。
【0011】115は算術符号化演算部であり、117
は算術符号化演算部115から出力される符号化コー
ド、118は予測状態メモリ105の更新を要求するた
めの更新信号である。また、119は現在の予測値10
6と状態値107から更新後の予測値と状態値を求める
予測状態更新部、120は予測状態更新部119から出
力される更新後の予測値・状態値信号と、予測状態メモ
リにこれら信号を書き込む制御信号等の更新データであ
る。
【0012】以下に、図1の符号化処理ブロックの動作
説明を行なう。
【0013】符号化対象画素の2値データPIXは端子
101から入力され、排他的NORゲート113に送ら
れ、また符号化対象画素の周辺画素データ:CXi(i
=1,2,…,n)が、コンテキスト情報として、予測
状態メモリ105に与えられる。
【0014】予測状態メモリ105は周辺画素データの
コンテキスト情報103をアドレスとして、符号化対象
画素に対する予測値106とindex(状態)値10
7を出力する(この状態値107はそれまでの符号化処
理において学習した内容に基づいて決まり、格納されて
いる)。予測値106は、0または1の2値データであ
り、排他的NORゲート113に入力される。
【0015】一方、状態値107は確率推定部109に
送られ、確率推定部109にて確率推定値(LSZ)1
11に変換される。確率推定値111は、2値データP
IX102が予測値106と一致しない確率を表わす。
状態値107から確率推定値111への変換は、ROM
テーブルあるいわデコーダを用いて行なわれる。また、
状態値107は予測状態更新部119にも入力される。
【0016】排他的NORゲート113では、2値デー
タPIX102と予測値106との一致/不一致の関係
を調べ、一致していれば1を、不一致であれば0を算術
符号化演算部115へ送る。
【0017】算術符号化演算部115では、一致/不一
致情報114と、確率推定部109から入力される確率
推定値111に基づいて、後に述べる符号化処理のため
の算術演算を行ない、符号化コード117を出力する。
【0018】ここにおいて、前述の如く、算術演算の過
程で正規化処理が行なわれると、更新信号118にて予
測状態更新部119に更新要求を行なう。予測状態更新
部119は、入力される現在の状態値107、予測値1
06及び一致/不一致情報114から、更新後の状態値
と予測値を求めて、更新データを予測状態メモリ105
に送り、更新要求に基づいて、予測状態メモリ105の
保持内容を更新する。入力される現状態値から更新後の
状態値を求めるには、ROMテーブルあるいはデコーダ
等を用いる。
【0019】次に、図2に算術符号化演算部115の一
例を示し、その動作について述べる。
【0020】同図において、201は領域幅(オージェ
ント)を保持するAレジスタ、203はコードを発生す
る基となる値を保持するコードレジスタ(Cレジスタ)
であり、205はAレジスタ201の出力値から確率推
定部109から入力された確率推定値111を減算する
減算器、207はCレジスタ203の出力値に減算器2
05の出力を加算する加算器であり、209はAレジス
タ201への入力を選択するセレクタ、211はCレジ
スタ203への入力を選択するセレクタである。
【0021】213はCレジスタ203からシフトアウ
トされるコード情報を取り組むシフトレジスタ、215
は出力レジスタ、217はシフトレジスタ213に取り
込んだビット数をカウントするカウンタである。
【0022】また、218はシフトクロックを入力する
端子、219はマスク回路、220はマスク回路219
にてマスクされたシフトクロック、221はAレジスタ
201の出力値が8000H(16進)以上であること
を検出する検出器である。
【0023】初期化後の状態では、Aレジスタ201の
値は10000H、Cレジスタ203の値は0Hであ
り、カウンタ217の値は0である。
【0024】排他的NORゲート113から入力された
一致/不一致情報114と確率推定部109から入力さ
れた確率推定値111に基づいて所定の算術演算を行
い、1画素を符号化する毎にAレジスタ201とCレジ
スタ203の値が更新され、更に、Aレジスタ210の
正規化処理にともない、Cレジスタ203の上位からシ
フトアウトされるデータをNビット単位にまとめて出力
したものが符号化コード117となる。
【0025】まず、入力された確率推定値111は減算
器205とセレクタ209に送られる。減算器205で
は、Aレジスタ201の出力値から確率推定値111を
減算し、その結果をセレクタ209と加算器207へ送
る。
【0026】セレクタ209には、確率推定値111も
与えられており、一致/不一致情報114が1の時は減
算器205からの減算結果を、0の時は確率推定値11
1を選択し、Aレジスタ201へ出力する。
【0027】加算器207では、減算器205から送ら
れてきた減算結果をCレジスタ203の出力値に加算
し、加算結果をセレクタ211に送る。
【0028】セレクタ211には、Cレジスタ203の
出力値も直接与えられており、一致/不一致情報114
が1の時はCレジスタ203の出力値を、0の時は加算
器207からの加算結果を選択し、Cレジスタ203へ
出力する。
【0029】各セレクタ209、211の出力は、それ
ぞれ次のサイクルで、Aレジスタ201、Cレジスタ2
03に取り込まれる。
【0030】一方、Aレジスタ201の値が前述の演算
により8000H(16進)未満となった時は、検出器
221でそれを検出し、次の算術演算を行う前に、正規
化処理を行う。それに対し、Aレジスタ201の値が8
000H(16進)以上の時は、次の符号化対象シンボ
ルに関する算術演算を行う。
【0031】正規化処理の1つの実現方法は、Aレジス
タ201とCレジスタ203のそれぞれにシフト機能を
有するレジスタを用い、両レジスタにシフト用のクロッ
ク220を与え、Aレジスタ201の値が8000Hに
なるまで、Aレジスタ201とCレジスタ203を左シ
フトするものである。
【0032】シフト用のクロック220は、検出器22
1の出力に基づいて、端子218から入力されるシフト
クロックをマスク回路219にてマスクすることにより
得られる。即ち、Aレジスタ201の値が8000H未
満のあいだ、入力シフトクロックはマスク回路219を
通過し、Aレジスタ201、Cレジスタ203並びに、
シフトレジスタ213、カウンタ217に送られる。そ
の結果、Aレジスタ201、Cレジスタ203、シフト
レジスタ213は1ビットずつ左へシフトし、カウンタ
217は1つずつカウントアップする。
【0033】シフトレジスタ213への入力データは、
Cレジスタ203の最上位ビットであるため、シフト用
のクロック220が各ブロックへ送られるたびに、Cレ
ジスタ203の上位ビットデータが、シフトレジスタ2
13に移る。
【0034】そのシフトされたビット数は、カウンタ2
17でカウントされ、カウント値が所定の値に達したと
ころで、出力レジスタ215へデータ取り込みパルス2
22を送る。出力レジスタ215はパルス222が入力
されるタイミングで、シフトレジスタ213から送られ
る所定ビットのデータを一括して受け取り、次のデータ
取り込みパルス222がくるまで、該データを保持す
る。
【0035】以上説明したような、算術演算、正規化処
理により、端子101に入力された2値データPIX1
02が符号化され、符号化コード117が算術演算部1
15より所定ビット単位で出力される。
【0036】〈復号化ブロック〉次に、図1の符号化ブ
ロックに対応した復号化ブロックの構成を図3に示し、
その動作を説明する。
【0037】図1に示した符号化ブロックとの大きな違
いは、以下の2点である。 (1)算術符号化演算部115の替わりに、算術復号化
演算部301を用いる。 (2)符号化コード306を入力して、着目画素データ
の値を求める。 その他の構成は基本的に同じであるため、図1のものと
同一の番号を付し、その個々の詳しい説明は省き、上記
2点の違いを中心に説明する。
【0038】符号化ブロックの説明とは逆に、まず算術
復号化演算部301内部の動作説明から行なう。
【0039】図4に、算術復号化演算部301の構成を
示す。同図において、減算器401は図2の算術演算部
における加算器207を、入力レジスタ403は図1の
出力レジスタ215をそれぞれ置き換えたものである。
【0040】入力された確率推定値111は、減算器2
05とセレクタ209に入力され、減算器205ではA
レジスタ201の出力値から、入力された確率推定値1
11を減算し、その減算結果をセレクタ209と減算器
401へ送る。セレクタ209には、確率推定値111
も与えられている。
【0041】前述した算術符号化演算部115では、一
致/不一致情報114に基づいてセレクタ209,21
1が動作していたが、算術復号化演算部301では、減
算器401における減算結果が正か負かによって、セレ
クタ209,211の動作が決まる。
【0042】減算器401では、Cレジスタ203の出
力値から減算器205の出力値を減算し、減算結果をセ
レクタ211に送り、また、減算結果が正か負かを表す
情報を信号302として出力する。信号302は、減算
結果が正の場合0、負の場合1という値をとる。この信
号302を制御信号として、減算結果が正の場合、セレ
クタ209は確率推定値111を選択し、該減算結果が
負の場合、減算器205の出力を選択し、Aレジスタ2
01へ出力する。また減算器401からの信号302は
排他的NORゲート305にも入力される。
【0043】セレクタ211もセレクタ209と同じ信
号302で制御される。セレクタ211には減算器40
1の出力、すなわち、減算結果と、Cレジスタ203の
出力値が入力されていて、減算結果が正の場合、減算器
401の出力を選択し、減算結果が負の場合、Cレジス
タ203の出力値を選択し、Cレジスタ203へ出力す
る。
【0044】各セレクタ209、211の出力は、それ
ぞれ次のサイクルで、Aレジスタ201、Cレジスタ2
03に取り込まれる。
【0045】算術復号化演算部301においても、算術
符号化演算部115と同様に正規化処理を行う。但し、
算術符号化演算部115では、正規化処理時に符号化コ
ード117を出力したが、算術復号化演算部301で
は、正規化処理にともない符号化コード306を取り込
んでゆく。
【0046】符号化コード306は、図1の算術符号化
演算部115から出力され、不図示の記憶ユニットに一
旦格納され、しかるべきタイミングで読み出されて、復
号化ブロック内の算術復号化演算部301に与えられ
る。あるいは、符号化コードを遠隔地まで転送し、遠隔
地にて復号化ブロックを用いて、元の2値画像データを
復元される。復元された2値画像データは、モニタやプ
リンタ等の画像表示機器に送られ、人間の目に見える形
に変換される。
【0047】算術復号化演算部301に与えられた符号
化コード306は、入力レジスタ403を経由してシフ
トレジスタ405に取り込まれ、正規化処理によって、
シフトレジスタ405の最上位ビットがCレジスタ20
3の最下位ビットにシフト入力される。尚、正規化処理
の制御方法は、算術符号化演算部115と同じであるた
め、その説明は省略する。
【0048】以上説明した算術復号化演算部301の演
算処理により得られる前述した減算結果が正か負かを表
す信号302は、復号中の着目画素が予測値に一致する
か否かという情報となる。そして、算術復号化演算部3
01から出力される信号302は、図3の復号化ブロッ
クにて使用される。信号302は、復号中の着目画素が
予測値に一致する場合1、一致しない場合0という値を
とる。
【0049】ここで、図3の復号化ブロックの動作説明
に戻る。
【0050】符号化ブロックと同様予測状態メモリ10
5は周辺画素データのコンテキスト情報103をアドレ
スとして、復号中の着目画素に対する予測値106を出
力する。予測値106は、算術復号化演算部301から
出力される一致/不一致を示す信号302との間で、排
他的NORゲート305にて、論理演算される。論理演
算の結果は、復号化した着目画素の値であり、復号画素
値が信号304として得られる。その他のブロックの動
作は、図1の符号化ブロックと同じなので、説明を省略
する。
【0051】〈符号化復号化ブロック〉次に、図1に示
した符号化ブロックと図3に示した復号化ブロックを一
体化した符号化復号化ブロックの構成を図5に示し、そ
の動作を説明する。
【0052】図1の符号化ブロック及び図3の復号化ブ
ロックとの大きな違いは、以下の2点である。 (1)算術符号化演算部115又は算術符号化演算部3
01の替わりに、算術符号化復号化演算部501を用い
る。 (2)符号化時には、画素の2値データ102を入力し
て、符号化コードを出力し、復号化時には、符号化コー
ド306を入力して、着目画素データの値を求める。
【0053】図6に算術符号化復号化演算部501の構
成を示す。
【0054】演算部501は、図2の算術復号化演算部
115と図4の算術復号化演算部301を一体化したも
ので、基本的な構成要素はほとんど図2もしくは図4で
使用されているものである。新しい構成要素は、図2に
おける加算器207と図4における減算器401の両方
の機能を切り換えて実現する加減算器601と、セレク
タ209,211への制御信号を切り換えるセレクタ6
03である。また符号化処理と復号化処理を切り換える
ための制御信号604を新たに入力する。制御信号60
4は、符号化処理時に1、復号化処理時には0という値
をとるものとする。
【0055】加減算器601は、制御信号604の値に
基づき、符号化時には加算器として、復号化時には減算
器として動作する。また、セレクタ603は、符号化時
には一致/不一致信号114を選択し、復号化時には減
算器として動作する加減算器601の減算結果出力(減
算結果が正か負かを表す)信号を選択する。
【0056】また、符号化処理をしている間、正規化処
理時に、入力レジスタ403、シフトレジスタ405を
通してCレジスタ203の最下位ビットに0以外の情報
が入らないようにするため、入力符号化コード306を
オール0にしておく必要がある。
【0057】その他については、既に符号化ブロックと
復号化ブロックそれぞれについて説明済みなので、図
5、図6による符号化処理の動作・復号化処理の動作の
詳細説明は省く。
【0058】なお、これまでに述べた正規化処理は、最
も単純な方法で処理していた。すなわち、Cレジスタへ
の入出力は1ビット/クロックのレートで行なってき
た。これは、正規化処理の原理や機能を、解りやすく説
明するためであった。しかしながら、このようなレート
で処理すると、正規化処理だけで、かなりの処理サイク
ルが費やされてしまう。そこで高速動作が要求される正
規化処理では、1サイクルで処理が終了するよう、バレ
ルシフタ等を用いて1度に複数ビットのシフトと入出力
を行なうと共に、算術演算と同じサイクル内で処理す
る。それを実現するには、セレクタ209の出力信号か
らシフト量を検出し、シフト量に基づいて、セレクタ2
09,211それぞれの出力をバレルシフタでシフトし
てから、その出力をAレジスタ201とCレジスタ20
3に取り込む。
【0059】尚、符号化時には、Cレジスタ203から
一度に複数のビットが出力されるため、それを固定長の
コードにパッキングするために不図示のパッキング回路
が設けられる。
【0060】
【発明が解決しようとする課題】上記従来例の構成で
は、予測状態メモリ105から状態値107を読み出
し、それを確率推定部109にて実際の加減算用の確率
推定値111に変換して、それを算術符号化演算もしく
は算術復号化演算に使用していた。そのため、確率推定
部109における状態値107から確率推定値111へ
の変換処理に時間を要し、ハードウェアで符号化復号化
処理を行う際の、符号化動作速度、復号化動作速度を高
速化する大きな妨げになっていた。
【0061】また、上記従来例では、更新後の状態値を
得るには、現在の状態値を必ず参照する構成になってい
るため、画一的な構成になってしまい、各処理部の動作
速度等に基づいて構成を最適化することが出来なかっ
た。
【0062】
【課題を解決するための手段】本発明は以上の点に鑑み
てなされたもので、符号化すべき注目画素の周辺画素の
状態に対応した確率推定値を用いて注目画素を符号化す
る算術符号化装置において、現在の確率推定値から正規
化処理後の確率推定値を求め、求めた確率推定値を用い
て以降の符号化を行う算術符号化装置を提供するもので
あり、また、正規化処理後の確率推定値を記憶し、記憶
した確率推定値を用いて符号化を行う算術符号化装置を
提供するものであり、また、現在の確率推定値から正規
化処理後の状態値を求め、その状態値に応じて正規化処
理後の確率推定値を求める算術符号化装置を提供するも
のであり、また、正規化処理後の状態値を記憶し、記憶
した状態値に応じて正規化処理後の確率推定値を求める
算術符号化装置を提供するものであり、また、復号化す
べき注目画素の周辺画素の状態に対応した確率推定値を
用いて注目画素を復号化する算術復号化装置において、
現在の確率推定値から正規化処理後の確率推定値を求
め、求めた確率推定値を用いて以降の復号化を行う算術
復号化装置を提供するものであり、また、正規化処理後
の確率推定値を記憶し、記憶した確率推定値を用いて復
号化を行う算術復号化装置を提供するものであり、ま
た、正規化処理後の候補となるべき複数の確率推定値を
記憶し、それら複数の確率推定値の一方を正規化処理後
の確率推定値とする算術復号装置を提供するものであ
り、また、現在の確率推定値から正規化処理後の状態値
を求め、その状態値に応じて正規化処理後の確率推定値
を求める算術復号化装置を提供するものであり、また、
正規化処理後の候補となるべき複数の状態値を記憶し、
それら複数の状態値の一方を正規化処理後の状態値とす
る算術復号装置を提供するものであり、また、正規化処
理後の状態値を記憶し、記憶した状態値に応じて正規化
処理後の確率推定値を求める算術復号化装置を提供する
ものである。
【0063】
【発明の実施の形態】
(第1の実施例)本発明の第1の実施例である算術符号
化ブロックの構成を図7に、算術復号化ブロックの構成
を図8に、算術符号化復号化ブロックの構成を図9に示
す。
【0064】図7において、701は現在の確率推定値
から次(更新後)の確率推定値を求める予測確率更新
部、703は予測値と確率推定値を格納する確率推定値
メモリであり、その他の要素は、図1における同一番号
要素と同じ機能である。
【0065】図7の構成を、図1の構成と比較すると、
確率推定値メモリ703と算術符号演算部115の間の
確率推定部109が存在していない。算術符号化演算部
115の入出力信号は、従来例図1とまったく同じであ
るため、確率推定部109が無くなった影響は、他の構
成要素である、確率推定値メモリ703や予測確率更新
部701に現われてくる。即ち、算術符号演算部115
に必要な確率推定値111は、状態値を確率推定値に変
換する動作を行うことなしに、新たに設けた予測確率推
定メモリ703から直接読み出す。この構成により状態
値を確率推定値に変換するための確率推定部109が不
要になる。
【0066】確率推定値メモリ703には、初期化時
に、初期状態値に対応した確率推定値(状態値ではな
い)を書き込み、メモリ更新時に、更新後の確率推定値
を書き込む。更新後の確率推定値は、予測確率更新部7
01で求める。予測確率更新部701は予測状態更新部
119の替わりに用いるもので、現在の確率推定値、予
測値等を入力して、それから直接に更新後の確率推定
値、予測値を求めるものである。予測確率更新部701
における現在の確率推定値から更新後の確率推定値への
変換は、ROMテーブルあるいはデコーダ等を用いて行
う。
【0067】よって、本実施例では、従来技術で用いた
状態値なるものが物理的には存在しなくなる。即ち、現
在の確率推定値から更新後の確率推定値への変換テーブ
ル(ROMテーブルあるいはデコーダの作成に必要とな
る)は、状態値の推移を確率推定値の推移に置き換えて
作成される。
【0068】ところで、状態値の番号には一意性があ
る。すなわち、異なる状態には、必ず異なる状態値番号
が割り当てられる。しかし、確率推定値には一意性があ
るとは言えない。すなわち、異なる状態に対して同一の
確率推定値を割り当てることが原理的に可能である(但
し、JBIG方式においては、異なる状態に対して異な
る確率推定値が割り当てられているので、JBIG方式
に限れば確率推定値に一意性があるといえる。)。
【0069】確率推定値に一意性があれば、予測確率更
新部701に何も問題はないが、一意性が無い場合に
は、問題が生じる。その問題とはある入力確率推定値に
対して更新確率推定値が何種類も存在してしまうという
ことである。これを避けるには、同じ確率推定値を区別
するための識別信号が必要となる。例えば、同じ確率推
定値をとるものが2n 個ある場合は、識別のためにnビ
ットの識別信号を用意し、この識別信号を予測確率更新
部701におけるROMテーブルあるいはデコーダ等に
入力して、何種類もある更新確率推定値の一つを特定す
る。さらに出力側の更新確率推定値が一意でない場合に
は、確率推定値を識別するnビットの信号を更新確率推
定値とともに出力する様にする。この識別信号は確率推
定値メモリ703に格納する。
【0070】ここにおいて、本実施例構成と従来例構成
とを比較してみる。従来例において、1画素を符号化す
るのに要する主な処理は、以下の4ステップになる。 (1)予測値と状態値をメモリから読み出す。 (2)状態値を確率推定値に変換する。 (3)確率推定値を用いて算術符号化演算を行う。 (4)予測値と状態値を更新し、メモリに書き込む(正
規化処理時のみ必要)。
【0071】上記(4)における予測値と状態値の更新
処理は、(3)における算術符号化演算と並列に行うこ
とができるので、タイミング的に(4)で行う処理はメ
モリへの書き込み処理だけである。
【0072】これに対し、本実施例では、以下の3ステ
ップになる。 (1)予測値と確率推定値をメモリから読み出す。 (2)確率推定値を用いて算術符号化演算を行う。 (3)予測値と確率推定値を更新し、メモリに書き込む
(正規化処理時のみ必要)。
【0073】よって、本実施例構成によると、状態値を
確率推定値に変換する処理に相当する時間だけ、従来例
構成に比べて速く符号化動作することができる。
【0074】次に図8の復号化ブロックについて説明す
る。
【0075】図7の符号化ブロックで新規に使用した予
測確率更新部701と確率推定値メモリ703を用い
て、復号化ブロックを構成すると図8に示す構成とな
る。
【0076】これは、図2の復号化ブロックから、確率
推定部109を取り除き、予測状態メモリ105を確率
推定値メモリ703に置き換え、予測状態更新部119
を予測確率更新部701に置き換えたものである。よっ
て、図7と図8の類似性から、図8の復号化ブロックで
図7で説明した符号化処理と逆の復号処理が出来ること
は、容易に類推できる。また、符号化処理と同様、状態
値を確率推定値に変換する処理に相当する時間だけ、従
来例構成に比べて速く復号化動作することができる。
【0077】同じような類推は、図9の符号化復号化ブ
ロックにも言える。すなわち、図9の符号化復号化ブロ
ックも図7で示した符号化処理及び図8で示した処理が
出来る。当然、この場合も状態値を確率推定値に変換す
る処理に相当する時間だけ、従来例構成に比べて速く符
号化及び復号化処理できる。
【0078】(第2の実施例)ところで、予測値を求め
る基になるコンテキスト情報には、着目画素と相関の強
い真上及び左隣りの画素を用いる。復号化処理をラスタ
ー走査順序で行なう場合、単純な遂次処理では、着目画
素の復号化が終了し、その画素の値が確定し、コンテキ
スト情報に採用可能な状態とならなければ、右隣りの画
素を復号化処理するために必要な予測値等を読み出すこ
とができない。これは、復号化処理の高速化にとって大
きな問題である。
【0079】この問題は復号化処理特有の問題であり、
符号化処理時にはこのような問題は無い。この問題を解
決する1つの方法が特公昭61−14532号公報に示
されている。その方法を簡単に述べる。
【0080】予測値等を格納したメモリを複数のメモリ
群に分割して、該メモリ群から複数の予測値等を並列に
読み出す。複数の予測値は、復号化処理中の着目画素値
が0である場合と1である場合のそれぞれに対応するも
ので、着目画素の値が確定した時に、複数の予測値から
一つの予測値を選択するというものである。
【0081】以下の実施例では、上記メモリ構成に、本
発明を適用した場合について考える。
【0082】前記第1の実施例から解るように、符号化
ブロックにおける新たな構成は、容易に復号化ブロッ
ク、符号化復号化ブロックに応用できる。また、その逆
のことも言える。よって、以下の実施例では復号化ブロ
ックのみについて考えることにする。
【0083】本発明の第2の実施例である復号化ブロッ
クの構成を図10に、復号化ブロックの動作を表わすタ
イミングチャートを図11に示す。
【0084】本実施例は、着目画素の復号化処理が終了
しないうちに、右隣りの画素に対する予測値と確率推定
値を先行してメモリから読み出す構成を、図8に示した
復号化ブロックに適用した構成を示すものである。
【0085】図10において、1001は第1の確率推
定値メモリ、1003,1004はセレクタ、1002
は第2の確率推定値メモリ、1005,1006はレジ
スタ、1009は遅延回路である。その他の構成要素
は、図8に示した復号化ブロックにおける同一番号の要
素と同じである。
【0086】本実施例では、予測値と確率推定値を先行
して第1及び第2の確率推定値メモリ1001,100
2から読み出すため、メモリ読み出し用のコンテキスト
情報と、メモリの更新時に使用するメモリ書き込み用の
コンテキスト情報が1サイクルずれ、別の信号になる。
そこで、第1及び第2の確率推定値メモリ1001,1
002として、2つのコンテキスト情報(アドレス)を
同時に入力できる2ポートメモリを用いるものとする。
【0087】信号1010は、復号化処理中の着目画素
値を除く他のコンテキスト情報であり、先の実施例で用
いてきたコンテキスト情報103に較べ1ビット情報が
少ない。コンテキスト情報1010は、メモリ読み出し
用のアドレス信号として、第1及び第2の確率推定値メ
モリ1001,1002に与えられる。一方、コンテキ
スト情報1010は、遅延回路1009にて1サイクル
遅延されて、メモリ書き込み用のアドレス信号として、
第1及び第2の確率推定値メモリ1001,1002に
与えられる。
【0088】第1の確率推定値メモリ1001は、復号
化処理中の着目画素値が0の時に対応する予測値と確率
推定値を記憶しており、第2の確率推定値メモリ100
2は、復号化処理中の着目画素値が1の時に対応する予
測値と確率推定値を記憶している。すなわち、これら2
つのメモリで記憶する全情報は、前述した第1の実施例
における確率推定値メモリ703で記憶する情報と同じ
である。
【0089】第1及び第2の確率推定値メモリ100
1,1002の両方から、コンテキスト情報1010を
アドレスとして、予測値と確率推定値を並列に読み出
す。これらメモリからの読み出しと並行して、着目画素
の復号化処理を算術復号化演算部301にて行ない、着
目画素の右隣りの画素に関するメモリ読み出しデータが
確定する頃に、着目画素に関する復号画素値が確定す
る。そして、復号画素値(排他的NORゲート305の
出力)に基づいて、セレクタ1003,1004を動作
し、2つのメモリ出力の一方を選択する。
【0090】例えば、図11に示すように、復号画素値
PIX_が1であれば、セレクタ1003は第2の確率
推定値メモリ1002の出力LSZa1を選択し、セレ
クタ1004は同じく第2の確率推定値メモリ1002
からの予測値a1を選択する。選択されたLSZa1及
び予測値a1は、クロックの立ち上がりに同期して、レ
ジスタ1005,1006にそれぞれ取り込まれ、レジ
スタ1005,1006からLSZa,予測値aとして
出力される。LSZaは算術復号化演算部301に入力
され、次の画素を復号化するための算術演算が行なわれ
る。予測値aは算術復号化演算部301から出力される
1ビットの復号信号302との間で、排他的NORゲー
ト305にて論理演算され復号画素値304を得る。
【0091】この算術演算と並行して、直前に復号化し
た画素値を含む新たなコンテキスト情報に基づき第1及
び第2の確率推定値メモリ1001,1002から、L
SZb0とLSZb1を読み出す。そして、図11に示
す如く、算術演算による復号画素値PIXaが0であれ
ば、セレクタ1005にてLSZb0を選択する。
【0092】このように、本実施例では、着目画素の右
隣りの画素に関する確率推定値メモリからの確率推定値
及び予測値の読み出しと着目画素に対する算術復号化演
算を並行して処理することができるので、1画素を復号
化するための処理時間は、以下に示す処理を行なう時間
に等しくなる。
【0093】〈正規化処理が無い場合〉 (1)算術復号化演算(または、メモリ読み出し)。
【0094】〈正規化処理が有る場合〉 (1)算術復号化演算(または、メモリ読み出し)。 (2)メモリへの書き込み(予測値と確率推定値の更
新)。
【0095】本実施例の構成では、先行読み出しして選
択された予測値・確率推定値が、正規化処理によって、
無効になる場合がある。それは、確率推定値メモリから
の予測値・確率推定値の読み出しの基となった全コンテ
キスト情報と正規化処理の対象となった全コンテキスト
情報がまったく一致した場合である。これは、(読み出
しアドレス=書き込みアドレス)かつ(現サイクルの復
号画素値=1サイクル前の復号画素値)という条件に言
い替えられる。
【0096】この場合、メモリ書き込み処理が終了した
次のサイクルで同一コンテキスト情報に対する更新され
た確率推定値及び予測値をメモリから再読み出しする必
要がある。しかしながら、一般的にはコンテキスト情報
が一致すると正規化処理が行なわれる確率が低くなるの
で、メモリから再読み出しすることはたまにあるだけで
あり、処理速度の低下も若干である。
【0097】(第3の実施例)前述した第2の実施例に
おいて、先行読み出しして選択された予測値・確率推定
値が、正規化処理によって、無効になる場合、確率推定
値メモリから更新後の確率推定値及び予測値を再読み出
しする必要があった。
【0098】本実施例は、上記場合において、再読み出
し動作をしなくても済むようにしたものである。図12
に本発明の第3の実施例である復号化ブロックの構成を
示す。
【0099】ここでは、図を簡略化するため、メモリ出
力−−>セレクタ−−>レジスタまで、予測値を確率推
定値に合体して1つの信号として扱う。
【0100】図12において、1201は確率推定値メ
モリ1001,1002に入力している2つのコンテキ
スト情報(アドレス)が一致しているかどうかを判定す
る第1の一致検出器、1203は現サイクルの復号画素
値と1サイクル前の復号画素値が等しいかどうかを判定
する第2の一致検出器、1204は現サイクルの復号画
素値を遅延して1サイクル前の復号画素値を第2の一致
検出器1203に入力する遅延回路、1205は第1の
一致検出器1201の出力と第2の一致検出器1203
の出力を合成するAND素子、1207はAND素子1
205の出力に基づいて動作するセレクタである。
【0101】第1の一致検出器1201は、(読み出し
アドレス=書き込みアドレス)の時に1を出力し、そう
でなければ0を出力する。第2の一致検出器1203
も、同様に(現サイクルの復号画素値=1サイクル前の
復号画素値)の時に1を出力し、そうでなければ0を出
力する。
【0102】これらの一致検出器の出力と、正規化処理
が発生したことを知らせる信号(算術復号化演算部30
1から予測確率更新部701に送られる)とを、AND
素子1205にて論理積をとることにより、前記第2の
実施例の説明で示したメモリ再読み出しの条件成立を検
出する。そして、この条件が成立した時、セレクタ12
07にて予測確率更新部701の出力信号を選択し、そ
れを確率推定値メモリ1001又は1002から読み出
した信号の替わりにレジスタ1005に送る。この選択
された信号は、前記第2の実施例においてメモリ再読み
出しをした時に読み出す信号と同じである。よって、本
実施例では、メモリ再読み出しを一切する必要がなく、
遅延なしに規則的に処理できる。
【0103】厳密には、復号化中のラインが終了し次の
ラインへ処理が移る場合、1サイクル前の復号画素値は
1ライン分の画素数分だけ離れてしまうので意味が無く
なる。よって、該タイミングで、該復号画素値をデフォ
ールト値である0にマスクする必要がある。構成上は、
遅延回路1204の前段にマスク用のAND素子を設
け、該復号画素値の遅延回路1204への入力を不図示
の制御信号でマスクすることになる。また、復号化ライ
ンが次のラインへ移るとコンテキスト情報も全く変わる
ことになるが、これらは、本発明の対象とする復号化ブ
ロックの外での処理になるので、省略する。
【0104】(第4の実施例)前述した第3の実施例
は、算術復号化演算処理と演算処理に基づくメモリ書き
込み処理を同一サイクル内で処理する場合に対応してい
る。
【0105】一般的に、メモリを性能限界で使おうとす
ると、微妙なタイミング制御が必要になり、算術復号化
演算処理と演算処理に基づくメモリ書き込み処理を同一
サイクル内で処理することが出来ない場合が出てくる。
その場合は、メモリ書き込み処理を次のサイクルにずら
す。こうすることによって、メモリ書き込みを行なうタ
イミングに余裕が生じ、結果的に復号化ブロック全体の
動作周波数を上げることが可能になる。
【0106】しかしながら、メモリ書き込み処理を次の
サイクルにずらすことによって、新たな問題も生じる。
即ち、メモリの更新タイミングが1サイクル遅れるわけ
であるから、確率推定値メモリから読み出した信号が無
効になる場合が増える。具体的には、一回の正規化処
理、すなわち、一回のメモリ書き込み処理によって、最
大2つのメモリ読み出し信号が無効になることがある。
【0107】第4の実施例は、これに対応したもので、
その復号化ブロックの構成を図13に示す。
【0108】上記問題に対応するには、第3の実施例で
新たに用いた構成要素、すなわち、一致検出器、遅延回
路、AND素子、セレクタ等をもう1セット増やし、無
効な信号を有効な信号に切り換えればよい。
【0109】図13において、1301は遅延回路10
09により1サイクル遅延させたコンテキスト情報10
12をさらに1サイクル遅延させる遅延回路、1302
は遅延回路1301から出力されるコンテキスト情報、
1303は確率推定値メモリ1001,1002に入力
している2つのコンテキスト情報(アドレス)が一致し
ているかどうかを判定する第3の一致検出器、1305
は1サイクル前の復号画素値を遅延して2サイクル前の
復号画素値を得る遅延回路、1307は現サイクルの復
号画素値と2サイクル前の復号画素値が等しいかどうか
を判定する第4の一致検出器である。
【0110】また、1309は正規化処理が発生したこ
とを示す信号118を1サイクル遅延させる遅延回路、
1311は第3の一致検出器1303の出力と第4の一
致検出器1307の出力を合成するAND素子、131
3はAND素子の出力に基づいて動作するセレクタ、1
315は予測確率更新部701の出力信号を1サイクル
遅延させる遅延回路である。
【0111】確率推定値メモリの更新タイミングを1サ
イクル遅らせるため、確率推定値メモリ1001,10
02に入力する書き込み用のアドレス信号は、遅延回路
1301の出力を用いる。また、それに対応して確率推
定値メモリ1001,1002に書き込む更新データは
遅延回路1315の出力になる。
【0112】確率推定値メモリから読み出し中の信号が
無効になるのは、以下の2つの場合である。 (イ)(コンテキスト情報1010=コンテキスト情報
1012)かつ(現サイクルの復号画素値=1サイクル
前の復号画素値)かつ(現サイクルで正規化処理発生) (ロ)(コンテキスト情報1010=コンテキスト情報
1302)かつ(現サイクルの復号画素値=2サイクル
前の復号画素値)かつ(1サイクル前に正規化処理発
生)
【0113】上記(イ)は、前記第3の実施例において
も検出していたものであり、本実施例で行なう新たな検
出は(ロ)の方である。よって、(イ)の場合には、前
記第3の実施例と同様、セレクタ1207を動作し、予
測確率更新部701の出力信号で置き換える。(ロ)の
場合には、1サイクル前の予測確率更新部701の出力
信号、すなわち、セレクタ1313を動作し、遅延回路
1315の出力信号で置き換える。
【0114】(イ)と(ロ)の両方の条件が成立した場
合には、後に書き込んだ信号が有効になるので、(イ)
による置き換えが優先される。セレクタ1313がセレ
クタ1207より前段にあるのは、この優先処理を達成
するためである。
【0115】本実施例では、正規化処理に基づくメモリ
書き込み処理を、復号化算術演算処理より1サイクル後
に行なう場合に、メモリの再読み出しをしなくても済む
ような復号化ブロックについて示したが、原理的には、
前記正規化処理に基づくメモリの書き込み処理を、復号
化算術演算処理より、何サイクル遅れで実行しようと、
メモリの再読み出しをしなくても済むように復号化ブロ
ック構成することが可能である。そのためには、一致検
出器、遅延回路、AND素子、セレクタ等をさらに増や
し、メモリ書き込み処理が遅れることによって増える無
効な信号を、有効な信号に切り換えればよい。
【0116】(第5の実施例)一般的に、状態値を表わ
すのに必要なビット数は、確率推定値のビット数より小
さい。例えば、JBIGでは、前者が7ビット、後者が
15ビットである。よって、確率推定値メモリの容量
は、予測状態メモリの容量よりも大きくなる。
【0117】本実施例では、前記第3実施例における確
率推定値メモリを予測状態メモリに置き換えることによ
り、メモリ容量の削減を図るものである。本発明の第5
の実施例の復号化ブロックの構成を図14に示す。
【0118】2つの確率推定値メモリ1001,100
2を予測状態メモリ1401,1403に置き換えるた
め、確率推定値メモリに格納していた確率推定値の替わ
りに、新たに格納する(更新後の)状態値を更新前の確
率推定値から求める。図14における予測状態更新部1
409にて、この変換を行なう。また、予測値の更新も
予測状態更新部1409にて行なう。これにともない、
図12における予測確率更新部701の一部の機能(確
率推定値のみを更新する機能)のみを有する、新たな確
率更新部1411を予測確率更新部701の替わりに用
いる。
【0119】本実施例では、予測状態メモリ1401,
1403から出力される状態値を、各々に確率推定値へ
変換するため、確率推定部1405,1407にて状態
値から確率推定値への変換を行なう。これらの確率推定
部は図3における確率推定部109と同じものである。
【0120】確率推定部1405,1407にて変換出
力された確率推定値と、予測状態メモリ1401,14
03から読み出された予測値とを、ひとまとめにしてセ
レクタ1003に入力し、復号画素値304に基づい
て、2組の確率推定値・予測値の一方を選択する。
【0121】本実施例では、予測状態メモリ1401,
1403から出力される状態値を確率推定値へ変換する
ため、確率推定部による遅延により、復号化動作速度が
遅くなる可能性がある。しかし、予測状態メモリ140
1,1403からの読み出し時間と確率推定部による変
換時間の和が、復号化算術演算部の処理時間と同程度で
ある場合には、確率推定部を用いることにより復号化動
作速度が遅くなると言うことは無い。
【0122】図15に、本実施例の復号化動作を示すタ
イミングチャートを示す。
【0123】前記第2の実施例と同様、各サイクルにお
いて、メモリ読み出し処理と復号算術演算を行なう。こ
の場合には、メモリ読み出し処理に続き、状態値から確
率推定値への変換を行なう。即ち、各サイクルの前半
で、予測状態メモリ1401,1403からの読み出し
を終了し、各サイクルの後半で、これらメモリから読み
出した状態値を確率推定部1405,1407により確
率推定値に変換する。これらの処理は、2つ並列に処理
され、該サイクルにおける復号画素値により2つの内の
1つが選択されて、セレクタ1003から出力される。
【0124】また、AND素子1205の出力が0の時
は、セレクタ1003の出力がセレクタ1207にて選
択され、AND素子1205の出力が1の時は、確率更
新部1411の出力が選択されて、出力される。確率更
新部1411は、レジスタ1005から出力されるLS
Za,LSZb,LSZb′等を、それぞれLSZ
a′,LSZb′,LSZb″に変換する。セレクタ1
207の出力はレジスタ1005に取り込まれ、次のサ
イクルでレジスタ1005から出力される。
【0125】図14に示した第5の実施例では、予測状
態メモリ1401,1403から出力される2つの状態
値を2つの確率推定部1405,1407で並列に確率
推定値に変換しているが、復号画素値の得られるタイミ
ングが早ければ、その画素値に基づいて2つの状態値の
1つを選択し、その後で確率推定値に変換することが可
能である。この場合は、確率推定部は1つで済む。
【0126】確率推定部を1つとした復号化ブロックの
構成を図16に示す。確率推定部1405がセレクタ1
003とセレクタ1207の間に設け、第1の予測状態
メモリ1401及び第2の予測状態メモリ1403の両
方から出力される状態値を確率推定部1405で共通に
確率推定値に変換する。
【0127】(第6の実施例)本発明の第6の実施例の
復号化ブロックの構成を図17に示す。
【0128】本実施例は、2つの予測状態メモリそれぞ
れを時分割で使用することを特徴とする。
【0129】これまでの実施例におけるメモリは、すべ
て読み出し専用ポートと書き込み専用ポートの2つのポ
ートを持つものであった。メモリの種類は多々あり、書
き込みと読み出しを1つのポートで行なうもの、すなわ
ち、書き込みと読み出しが同時に行なえないものもあ
る。
【0130】このようなメモリでは、アドレス入力が1
系統しかない。データについては、入出力端子が共通の
ものもあれば、入出力端子が分離しているものもある。
本実施例は、アドレス入力が1系統で、データの入出力
端子が分離しているメモリを用いた場合について述べ
る。
【0131】図18に本実施例の動作を表わすタイミン
グチャートを示し、以下では、図17と図18の両方を
参照しながら説明を行なう。
【0132】1つのポートで書き込みと読み出しを行な
うために、1サイクルを前半サイクルと後半サイクルに
分け、前半サイクルでメモリ読み出しを行ない、後半サ
イクルでメモリ書き込みを行なうようにする。ただし、
メモリ読み出しは毎サイクル行なうが、メモリ書き込み
は算術復号化演算で正規化処理が行なわれた時のみ行な
う。
【0133】アドレス入力が1系統しかないので、読み
出し用のアドレスと書き込み用のアドレスと書き込み用
のアドレスを不図示のクロック信号で切り換えて多重化
し、メモリのアドレス端子に入力する。そのために多重
化部1701を設ける。多重化されたアドレス信号17
02は、前記2つの予測状態メモリ1401,1403
のアドレス端子に入力する。
【0134】1サイクルの前半では、2つの予測状態メ
モリ1401,1403には読み出しアドレスが与えら
れており、各メモリから予測値と状態値が読み出され
る。1サイクルの後半になると、アドレス信号が書き込
みアドレスに変化するので、予測値と状態値が無意味な
値に変わってしまう。
【0135】そこで、1サイクルの前半で読み出した予
測値と状態値を、レジスタ1703,1705にて、保
持する。レジスタ1703,1705は、クロックの立
ち下がりで、入力データを取り込み出力する。これによ
りメモリのアドレス信号が変化しても、レジスタ170
3,1705以降の処理は従来と同じタイミングで処理
できるようになる。
【0136】一方、メモリ書き込みの方は、書き込み処
理時間が半サイクルに減りはしたものの、そのために新
たに必要となる構成要素は無く、これまで述べた実施例
と似たようなタイミングで処理できる。
【0137】本実施例のように、メモリへの書き込みと
読み出しを時分割で行なう方法は、前述した第3、第4
の実施例にも適用可能である。
【0138】(第7の実施例)本発明の第7の実施例の
復号化ブロックの構成を図19に示す。
【0139】本実施例は図14に示した第5の実施例に
おいて、以下の3つの処理(a),(b),(c)を並
列動作させるものである。 (a)メモリ読み出し (b)状態値から確率推定値への変換 (c)算術復号化演算処理
【0140】前述した第5の実施例では、上記(c)と
それ以外の処理とを並列に処理していたが、(a)と
(b)は逐次処理されていた。
【0141】別の言い方をすれば、第5の実施例では2
ステージのパイプライン処理をしていたが、本実施例で
は3ステージのパイプライン処理を行なうものである。
【0142】3ステージのパイプライン化処理により、
上記(a)のメモリ読み出し処理は、算術復号化演算処
理より2サイクル先行することになるので、未確定の復
号画素値が2画素になるため、メモリを4つに分割し
て、読み出す必要がある。第1〜第4の予測状態メモリ
1901,1902,1903,1904が、4つに分
割したメモリである。これらのメモリの総容量は、図1
における予測状態メモリ105の容量と同じである。
【0143】4つに分割した予測状態メモリ1901,
1902,1903,1904から並列に読み出した4
つの予測値・状態値は、次のステージである上記(b)
の処理の前に2つの予測値・状態値に絞られる。セレク
タ1905,1906は、2つの予測値・状態値を選択
するために設けたものである。この選択は、復号画素値
に基づいて行なう。
【0144】一方、上記3つの処理(a)(b)(c)
を並列処理させるためには、各処理の間にレジスタを設
けることが必要である。既に、(c)とそれ以外の処理
とを並列処理させるレジスタは前述した第5の実施例中
にも存在している(レジスタ1005)が、(a)と
(b)を並列処理させるレジスタとして新たに必要であ
る。レジスタ1907,1908が、そのためのレジス
タである。
【0145】また、メモリ読み出し処理が2サイクル先
行するということは、逆に言う(メモリ読み出し処理を
基準にする)とメモリ書き込み処理が2サイクル遅れる
と言うことになる。これは、図13に示した第4の実施
例におけるメモリの読み出しと書き込みの関係と同じで
あるため、図13における2つのセレクタ1313,1
207を同じ目的でここでも使用する。
【0146】レジスタ1907,1908を設けたこと
により、他の信号との間に遅延差が生じるため、一致検
出器1201,1303の出力を1サイクル送らせるた
めに、レジスタ1911,1912を設ける。その他の
構成要素は、前記第2〜第6実施例にすでに出てきたも
のであるため、同じ機能の要素には同じ番号を付し、説
明を省略する。
【0147】信号1910は、2サイクル先行したコン
テキスト情報であるため、復号化処理中の着目画素値と
次にサイクルで復号化する画素が除外されており、第2
〜第6実施例に出てきたコンテキスト情報1010に較
べさらに1ビット情報が少ない。このコンテキスト情報
1910は、メモリ読み出し用のアドレス信号として、
第1〜第4の予測状態メモリに与える。一方、該コンテ
キスト情報1910は、遅延回路1009,1301に
てそれぞれ1サイクル、計2サイクル遅延して、メモリ
書き込み用のアドレス信号として、第1〜第4の予測状
態メモリ1901,1902,1903,1904に与
える。
【0148】上記のコンテキスト情報1910に復号化
画素値を加えると、その情報は前述した第2〜第6実施
例に出てきたコンテキスト情報1010と同じビット数
になる。遅延回路1009,1301は前記コンテキス
ト情報以外に、復号化画素値も同じように遅延する。遅
延されたコンテキスト情報と復号化画素値は、一致検出
器1201,1303等に送られ、前記(コンテキスト
情報1910+復号化画素値)情報と比較される。
【0149】第1の予測状態メモリ1901には、復号
化処理中の着目画素値が0で次のサイクルで復号化する
画素値も0に対応する予測値と状態値を記憶しており、
第2の予測状態メモリ1902には、復号化処理中の着
目画素値が1で次のサイクルで復号化する画素値が0に
対応する予測値と状態値を記憶している。
【0150】また、第3の予測状態メモリ1903に
は、復号化処理中の着目画素値が0で次のサイクルで復
号化する画素値が1に対応する予測値と状態値を記憶し
ており、第4の予測状態メモリ1904には、復号化処
理中の着目画素値が1で次のサイクルで復号化する画素
値も1に対応する予測値と状態値を記憶している。
【0151】よって、復号化処理中の着目画素値が0の
場合は、セレクタ1905,1906により、第1の予
測状態メモリ1901の出力と第3の予測状態メモリ1
903の出力が選択され、復号化処理中の着目画素値が
1の場合は、第2の予測状態メモリ1904の出力と第
4の予測状態メモリ1904の出力が選択される。ここ
では、仮に復号化処理中の着目画素値が0とする。
【0152】次のサイクルになると、セレクタ190
5,1906で選択された第1の予測状態メモリ190
1の出力と第3の予測状態メモリ1903の出力が、レ
ジスタ1907,1908で保持出力される。このサイ
クルにおいて得られる新たな復号画素値が0の場合、セ
レクタ1003でレジスタ1907の出力(第1の予測
状態メモリ1901の出力)が選択され、復号画素値が
1の場合、レジスタ1908の出力(第3の予測状態メ
モリの出力)が選択される。
【0153】上記のような選択の方法により、予測状態
メモリが4つに分割されていても、必要な予測値と状態
値を選択して取り出すことができる。
【0154】以上の処理が本実施例固有の処理であっ
て、これ以後の処理は、前記第4及び第5の実施例と同
じである。そちらの動作説明を参照されたい。
【0155】第4の実施例で述べたように、正規化処理
に基づくメモリ書き込み処理を、復号化算術演算処理よ
り1サイクル後に行なう場合には、メモリ書き込み処理
が遅れることによって増える無効な信号を、有効な信号
に切り換えられればよい。そのためには、第3の実施例
から第4の実施例にかけて増設した一致検出器、遅延回
路、AND素子、セレクタ等をさらに増やせばよい。
【0156】それらを増やした時、構成上特に重要なの
は、セレクタとこのセレクタによって選択される信号で
あり、遅延回路や一致検出器(セレクタの制御信号を生
成するためにAND素子に入力する信号を作る部分)等
はあまり重要ではない。というのは遅延回路によって遅
延させるべき信号や、一致検出器で比較する信号は容易
に想像できるからである。
【0157】そこで、正規化処理に基づくメモリ書き込
み処理を、復号化算術演算処理より1サイクル後に行な
う場合の復号化ブロックの構成を図20に示す。ただ
し、上述したように、セレクタの制御信号を生成するた
めに必要な遅延回路や一致検出器は、回路構成の説明を
簡易にするために省略する。
【0158】図20において、2001は更新された予
測値と状態値を1サイクル遅延させる遅延回路、200
3は更新された確率推定値をさらに1サイクル遅延させ
る遅延回路、2005は遅延回路2003の出力をある
条件下で選択するためのセレクタ、2007はセレクタ
2005で遅延回路2003の出力を選択する条件を検
出するAND素子である。これらの要素は、メモリ書き
込み処理を、復号化算術演算処理より1サイクル後に行
なうことにより必要となるものである。その機能は、前
述した第4の実施例で遅延回路1315、セレクタ13
13、AND素子1311を増設した時と同じである。
【0159】(第8の実施例)本発明の第8の実施例の
復号化ブロックの構成を図21に示す。図1,図3,図
5に示した従来の予測・状態更新部119は、状態値を
入力としていた。それに対し、図14、図16,図1
7,図19,図20に示す予測・状態更新部1409
は、確率推定値を入力としている。
【0160】本実施例は、現在の確率推定値から次の確
率推定値を直接求める手法を用いながら、従来の予測・
状態更新部119を使用して、新たな復号化ブロックを
構成するものである。また、メモリ書き込み処理は、復
号化算術演算処理より1サイクル後に行なうものとす
る。
【0161】そのため本実施例では、有効な確率推定値
の選択と並行して、有効な状態値の選択を行なう。有効
な状態値の選択を行なうために、セレクタ2101,2
102,2103,2104、,ジスタ2105、遅延
回路2107といった要素を図20の復号化ブロックに
追加する。
【0162】追加したセレクタ2101,2102,2
103,2104は、確率推定値と予測値を選択するセ
レクタ1003,2005,1313,1207にそれ
ぞれ対応するもので、対応するセレクタと同じ制御信号
で状態値を選択する。よって、最終的に選択された状態
値と確率推定値の間には、密接な関係がある。すなわ
ち、最終的に選択された状態値から推定される確率推定
値は、最終的に選択された確率推定値と等しい。
【0163】セレクタ2101,2102,2103,
2104は、セレクタ1003,2005,1313,
1207と同様、直列に接続される。セレクタ2104
には、セレクタ2103の出力と予測・状態更新部11
9の出力が入力される。セレクタ2103には、セレク
タ2102の出力と遅延回路2001の出力が入力され
る。セレクタ2102には、セレクタ2101の出力と
遅延回路2107の出力が入力される。最終的に選択さ
れた状態値(セレクタ2104の出力)は、レジスタ2
105にて保持出力される。このレジスタ2105は、
確率推定値を保持するレジスタ1005に対応するもの
である。
【0164】予測・状態更新部119は、レジスタ21
05から出力される状態値とレジスタ1005から出力
される予測値とに基づいて、次の(更新後の)状態値・
予測値を出力する。この出力は、遅延回路2001,2
107にて遅延し、前記セレクタに入力する。
【0165】第1〜第4の予測状態メモリ1901,1
902,1903,1904に書き込むデータは、図2
0と同様遅延回路2001の出力信号である。
【0166】本実施例では、予測値の選択を、セレクタ
1003,2005,1313,1207で行なってい
るが、セレクタ2101,2102,2103,210
4の方で行なうことも可能である。その場合最終的な予
測値は、レジスタ2105にて保持出力される。
【0167】(第9の実施例)本発明の第9の実施例の
復号化ブロックの構成を図22に示す。
【0168】本実施例では、現在の確率推定値から次の
確率推定値を求める手段を用いる替わりに、現在の状態
値から次の確率推定値を求める手段を用いる。よって、
状態値を入力し更新後の確率推定値を出力する新たな確
率更新部2201を使用する。
【0169】確率更新部2201には、レジスタ210
5から出力される状態値が入力され、これまで使用して
いた確率更新部1411と同じ、更新後の確率推定値を
出力する。
【0170】その他の構成は、前述した第8の実施例で
示した図21とまったく同じであるため、説明を省く。
【0171】(第10の実施例)本発明の第10の実施
例の復号化ブロックの構成を図23に示す。本実施例で
は、前述した第9の実施例と同様、現在の確率推定値か
ら次(更新後)の確率推定値を求める手段を用いる替わ
りに、現在の状態値から次の確率推定値を求める手段を
用いる。よって、第9の実施例と同じ確率更新部220
1を使用する。
【0172】それに加えて、次(更新後)の状態値を求
める手段として、前述した第5〜第7実施例で使用した
予測状態更新部1409を用いる。予測状態更新部14
09は現在の確率推定値を入力して、更新後の状態値を
出力するものである。よって、レジスタ1005から出
力する確率推定値を該予測状態更新部1409に入力す
る構成となる。その他の構成は、第9の実施例で示した
図22と同じである。
【0173】すでに述べたように、第2実施例以降は、
復号化ブロックについて述べた。しかしながら、第1実
施例における、復号化ブロック(図7)、復号化ブロッ
ク(図8)、符号復号化ブロック(図9)の類似性か
ら、第2実施例以降の復号化ブロックを符号化ブロッ
ク、符号化復号化ブロックに拡張することは容易にでき
る。
【0174】以上説明した様に、従来例では、予測状態
メモリから状態値を読み出し、それを確率推定部にて確
率推定値に変換して、それを算術符号化演算部もしくは
算術復号化演算部に使用していた。
【0175】そのため、確率推定部における状態値から
確率推定値への変換処理に時間を要し、ハードウェアで
符号化復号化処理を行なう際の、符号化動作速度、復号
化動作速度を高速化する大きな妨げになっていた。
【0176】また、従来例では、更新後の状態値を得る
には、現在状態値を必ず参照する構成になっているた
め、画一的な構成になってしまい、各処理部の動作速度
等に基づいて構成を最適化することが出来なかった。
【0177】それに対し、以上述べた本発明の各実施例
構成によると、現在の確率推定値から、次(更新後)の
確率推定値を直接求める手段を設けることにより、 (1)状態値の替わりに確率推定値を、予測状態メモリ
に格納することを可能にし、その結果、確率推定部を用
いなくても確率推定値を得られるようになった。 (2)高速処理化のため、並列して状態値を確率推定値
に変換する場合、変換に要する確率推定部の数を減らす
ことが可能になった。
【0178】これにより、算術符号化復号化処理するハ
ードウェアの速度を従来より大幅に高速化できる。ま
た、更新後の状態値を現在の確率推定値に基づいて生成
する手段や、更新後の確率推定値を現在の状態値に基づ
いて生成する手段等を用いることにより、同じ機能をい
ろいろな構成で実現することができるようになり、各処
理部の動作速度等に基づいて構成を最適化することが出
来るようになった。
【0179】
【発明の効果】以上説明した様に、本発明によると、符
号化すべき注目画素の周辺画素の状態に対応した確率推
定値を用いて注目画素を符号化する算術符号化装置にお
いて、現在の確率推定値から正規化処理後の確率推定値
を求め、求めた確率推定値を用いて以降の符号化を行な
うので、正規化処理後の確率推定値を高速に得ることが
でき、算術符号化の高速化を達成でき、また、復号化す
べき注目画素の周辺画素の状態に対応した確率推定値を
用いて注目画素を復号化する算術復号化装置において、
現在の確率推定値から正規化処理後の確率推定値を求
め、求めた確率推定値を用いて以降の復号化を行うの
で、正規化処理後の確率推定値を高速に得ることがで
き、算術復号化の高速化を達成できる。
【図面の簡単な説明】
【図1】従来の符号化ブロックの構成を示す図。
【図2】従来の算術符号化演算部の構成を示す図。
【図3】従来の復号化ブロックの構成を示す図。
【図4】従来の算術復号化演算部の構成を示す図。
【図5】従来の符号化復号化ブロックの構成を示す図。
【図6】従来の算術符号化復号化演算部の構成を示す
図。
【図7】本発明の第1の実施例である符号化ブロックの
構成を示す図。
【図8】本発明の第1の実施例である復号化ブロックの
構成を示す図。
【図9】本発明の第1の実施例である符号化復号化ブロ
ックの構成を示す図。
【図10】本発明の第2の実施例である復号化ブロック
の構成を示す図。
【図11】本発明の第2の実施例の動作タイミングチャ
ートを示す図。
【図12】本発明の第3の実施例である復号化ブロック
の構成を示す図。
【図13】本発明の第4の実施例である復号化ブロック
の構成を示す図。
【図14】本発明の第5の実施例である復号化ブロック
の構成を示す図。
【図15】本発明の第5の実施例の動作タイミングチャ
ートを示す図。
【図16】本発明の第5の実施例の変形である復号化ブ
ロックの構成を示す図。
【図17】本発明の第6の実施例である復号化ブロック
の構成を示す図。
【図18】本発明の第6の実施例の動作タイミングチャ
ートを示す図。
【図19】本発明の第7の実施例である復号化ブロック
の構成を示す図。
【図20】本発明の第7の実施例の変形である復号化ブ
ロックの構成を示す図。
【図21】本発明の第8の実施例である復号化ブロック
の構成を示す図。
【図22】本発明の第9の実施例である復号化ブロック
の構成を示す図。
【図23】本発明の第10の実施例である復号化ブロッ
クの構成を示す図。
【符号の説明】
105,1401,1403,1901,1902,1
903,1904 予測状態メモリ 109,1405,1407 確率推定部 113,305 排他的NOR素子 115 算術符号化演算部 119,1409 予測状態更新部 301 算術復号化演算部 501 算術符号化復号化演算部 701 予測確率更新部 1001,1003 確率推定値メモリ 1005,1006,1703,1705,1907,
1908,1911,1912,2105 レジスタ 1003,1004,1207,1313,1905,
1906,2101,2102,2103,2104
セレクタ 1009,1204,1301,1305,1309,
1315,2001,2003,2102,2107
遅延回路 1201,1203,1303,1307 一致検出器 1205,1311,2007 AND素子 1411,2201 確率更新部

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 符号化すべき注目画素の周辺画素の状態
    に対応した確率推定値を用いて注目画素を符号化する算
    術符号化装置において、 現在の確率推定値から正規化処理後の確率推定値を求
    め、求めた確率推定値を用いて以降の符号化を行うこと
    を特徴とする算術符号化装置。
  2. 【請求項2】 正規化処理後の確率推定値を記憶し、記
    憶した確率推定値を用いて符号化を行うことを特徴とす
    る請求項1に記載の算術符号化装置。
  3. 【請求項3】 現在の確率推定値から正規化処理後の状
    態値を求め、その状態値に応じて正規化処理後の確率推
    定値を求めることを特徴とする請求項1に記載の算術符
    号化装置。
  4. 【請求項4】 正規化処理後の状態値を記憶し、記憶し
    た状態値に応じて正規化処理後の確率推定値を求めるこ
    とを特徴とする請求項3に記載の算術符号化装置。
  5. 【請求項5】 復号化すべき注目画素の周辺画素の状態
    に対応した確率推定値を用いて注目画素を復号化する算
    術復号化装置において、 現在の確率推定値から正規化処理後の確率推定値を求
    め、求めた確率推定値を用いて以降の復号化を行うこと
    を特徴とする算術復号化装置。
  6. 【請求項6】 正規化処理後の確率推定値を記憶し、記
    憶した確率推定値を用いて復号化を行うことを特徴とす
    る請求項5に記載の算術復号化装置。
  7. 【請求項7】 正規化処理後の候補となるべき複数の確
    率推定値を記憶し、それら複数の確率推定値の一方を正
    規化処理後の確率推定値とすることを特徴とする請求項
    5に記載の算術復号化装置。
  8. 【請求項8】 現在の確率推定値から正規化処理後の状
    態値を求め、その状態値に応じて正規化処理後の確率推
    定値を求めることを特徴とする請求項1に記載の算術復
    号化装置。
  9. 【請求項9】 正規化処理後の候補となるべき複数の状
    態値を記憶し、それら複数の状態値の一方を正規化処理
    後の状態値とすることを特徴とする請求項8に記載の算
    術復号装置。
  10. 【請求項10】 正規化処理後の状態値を記憶し、記憶
    した状態値に応じて正規化処理後の確率推定値を求める
    ことを特徴とする請求項9に記載の算術復号化装置。
JP26376197A 1997-09-29 1997-09-29 算術復号化装置 Expired - Fee Related JP3459759B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26376197A JP3459759B2 (ja) 1997-09-29 1997-09-29 算術復号化装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26376197A JP3459759B2 (ja) 1997-09-29 1997-09-29 算術復号化装置

Publications (2)

Publication Number Publication Date
JPH11103257A true JPH11103257A (ja) 1999-04-13
JP3459759B2 JP3459759B2 (ja) 2003-10-27

Family

ID=17393923

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26376197A Expired - Fee Related JP3459759B2 (ja) 1997-09-29 1997-09-29 算術復号化装置

Country Status (1)

Country Link
JP (1) JP3459759B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001251625A (ja) * 1999-12-28 2001-09-14 Matsushita Electric Ind Co Ltd 画像復号化装置及び画像符号化装置
KR100694098B1 (ko) 2005-04-04 2007-03-12 한국과학기술원 산술 복호 방법 및 그 장치
US7365660B2 (en) 2005-11-08 2008-04-29 Samsung Electronics Co., Ltd. Method and device for decoding syntax element in CABAC decoder
US7495588B2 (en) 2006-11-01 2009-02-24 Canon Kabushiki Kaisha Decoding apparatus and decoding method
US7528749B2 (en) 2006-11-01 2009-05-05 Canon Kabushiki Kaisha Decoding apparatus and decoding method
JP2009100474A (ja) * 2007-10-16 2009-05-07 Ind Technol Res Inst コンテキスト適応バイナリ算術符号化と復号化のシステム及び方法
JP2009159366A (ja) * 2007-12-27 2009-07-16 Akuseru:Kk 本発明は、符号化システム、符号化方法、符号化プログラム、復号化システム、復号化方法および復号化プログラム
US7898445B2 (en) 2006-10-31 2011-03-01 Canon Kabushiki Kaisha Entropy coding apparatus

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001251625A (ja) * 1999-12-28 2001-09-14 Matsushita Electric Ind Co Ltd 画像復号化装置及び画像符号化装置
KR100694098B1 (ko) 2005-04-04 2007-03-12 한국과학기술원 산술 복호 방법 및 그 장치
US7365660B2 (en) 2005-11-08 2008-04-29 Samsung Electronics Co., Ltd. Method and device for decoding syntax element in CABAC decoder
US7898445B2 (en) 2006-10-31 2011-03-01 Canon Kabushiki Kaisha Entropy coding apparatus
US7495588B2 (en) 2006-11-01 2009-02-24 Canon Kabushiki Kaisha Decoding apparatus and decoding method
US7528749B2 (en) 2006-11-01 2009-05-05 Canon Kabushiki Kaisha Decoding apparatus and decoding method
JP2009100474A (ja) * 2007-10-16 2009-05-07 Ind Technol Res Inst コンテキスト適応バイナリ算術符号化と復号化のシステム及び方法
JP2009159366A (ja) * 2007-12-27 2009-07-16 Akuseru:Kk 本発明は、符号化システム、符号化方法、符号化プログラム、復号化システム、復号化方法および復号化プログラム
JP4524501B2 (ja) * 2007-12-27 2010-08-18 株式会社アクセル 符号化システム、符号化方法、符号化プログラム、復号化システム、復号化方法および復号化プログラム

Also Published As

Publication number Publication date
JP3459759B2 (ja) 2003-10-27

Similar Documents

Publication Publication Date Title
US6014095A (en) Variable length encoding system
JP3684128B2 (ja) 算術符号化/復号化方法ならびに算術符号化/復号化装置
US4799242A (en) Multi-mode dynamic code assignment for data compression
JPH11103257A (ja) 算術符号化復号化装置
JPH0258813B2 (ja)
US5784497A (en) Arithmetic encoding with carry over processing
KR100466455B1 (ko) 부호변환기와가변길이부호복호장치및복호방법
JP3871995B2 (ja) 符号化装置および復号化装置
JP3119025B2 (ja) 符号化装置及び復号化装置
JPH07249995A (ja) データ符号化装置
JP2004320724A (ja) 可変長復号装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
JP3247052B2 (ja) 画像データ変換処理方法及び装置
JP2842045B2 (ja) データ圧縮装置
JP2000278538A (ja) 算術符号化・復号化装置および方法
JP3461640B2 (ja) 算術符号化・復号化装置
JP3225763B2 (ja) 符号化装置および復号化装置
KR100268831B1 (ko) 고속 처리 가변 길이 코덱 장치
JP3336537B2 (ja) 符号化装置、復号化装置、符号化・復号化装置及び算術符号化装置
JP3232533B2 (ja) 画像符号化装置、画像復号化装置、及び画像符号化・復号化装置
JP3128016B2 (ja) 画像圧縮装置
JP3141794B2 (ja) 復号化装置
JPH1117958A (ja) 符号化装置および復号化装置
JP3382492B2 (ja) 画像処理装置及び方法
JP3224127B2 (ja) 画像データ変換処理装置
JP3223118B2 (ja) 画像符号化装置、画像復号化装置、及び画像符号化・復号化装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030722

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

Free format text: PAYMENT UNTIL: 20070808

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20080808

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20080808

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090808

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090808

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100808

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110808

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120808

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120808

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130808

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees