JP3084187B2 - 2値画像符号化装置及び2値画像復号化装置 - Google Patents

2値画像符号化装置及び2値画像復号化装置

Info

Publication number
JP3084187B2
JP3084187B2 JP06140094A JP14009494A JP3084187B2 JP 3084187 B2 JP3084187 B2 JP 3084187B2 JP 06140094 A JP06140094 A JP 06140094A JP 14009494 A JP14009494 A JP 14009494A JP 3084187 B2 JP3084187 B2 JP 3084187B2
Authority
JP
Japan
Prior art keywords
prime
pixel
appearances
binary image
bit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP06140094A
Other languages
English (en)
Other versions
JPH089165A (ja
Inventor
裕紀 武田
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.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Priority to JP06140094A priority Critical patent/JP3084187B2/ja
Publication of JPH089165A publication Critical patent/JPH089165A/ja
Application granted granted Critical
Publication of JP3084187B2 publication Critical patent/JP3084187B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、算術符号を応用して2
値画像データを符号化/復号化する2値画像符号化/復
号化装置に関する。
【0002】
【従来の技術】2値画像データの符号化方式はファクシ
ミリ用に広く利用されてきている。これらの符号化方式
には、画像を上から下へ逐次的(以下シーケンシャルと
称す)に符号化、伝送するもの、あるいは階層的(以下
プログレッシブと称す)な符号化、伝送が可能なものが
ある。前者には、MH(Modifid Huffman)、MR、MM
R方式があり、後者にはJBIG方式がある。後者は、
新しい画像通信サービスである画像データベース検索、
オーディオグラフィクコンファレンスなど、利用者の目
の前のディスプレイを利用して情報を表示するソフトコ
ピー通信に適した符号化方式である。これらの符号化方
式に用いられている符号は、ともにエントロピー符号化
と呼ばれるものであり、可逆符号化の性質を持ってい
る。MH、MR、MMR方式ではハフマン符号、JBI
G方式では算術符号が用いられている。算術符号は非ブ
ロック符号であるため、ハフマン符号に比べてより高い
圧縮性能が期待できる。
【0003】以下、従来の算術符号を応用した2値画像
データの符号化方式の例として、JBIG方式の算術符
号について図面を用いて説明する。
【0004】JBIG方式の算術符号化は、QMコーダ
と呼ばれる。QMコーダでは、オージェンドの演算が減
算のみで実行される固定領域割り当て型(減算型)算術
符号が用いられている。減算型算術符号は、算術符号に
比べて符号化効率が低下するものの符号、復号器が簡易
であるというメリットがある。JBIG方式では、シー
ケンシャル、プログレッシブ両方の符号化に対応するた
めに2値画像データをストライプで分割して符号化処理
する。図22はストライプについて示している。この図
22において、101は2値画像データを表している。
また、102、103、104はストライプを表してい
る。復号器側では最低1ストライプ分のメモリバッファ
を用意することでシーケンシャルな復号化にも対応でき
る。図23はJBIG方式のエンコーダの機能ブロック
図を示している。エンコーダは、この図23の201、
202で表される解像度縮小による差分階層(レイヤ)
のエンコード処理と203で表される最低解像度レイヤ
のエンコード処理で構成される。
【0005】図24は縮小解像度レイヤのエンコード処
理の機能ブロック図を示している。この図24におい
て、301は解像度縮小処理を行うブロックである。ま
た、302、303はTypical Predict
ion(以下TPと称す)、Determ−inist
ic Prediction(以下DPと称す)と呼ば
れるもので、ともに後述する算術符号化の対象画素数を
減少させる方式である。TPが行われたならばTPVA
LUEは0または1が出力され、そうでないならば2ま
たは3が出力される。またDPが行われたならばDPV
ALUEは0または1が出力され、そうでないならば2
または3が出力される。また、この図24において、3
04はAdaptive Templates(以下A
Tと称す)と呼ばれるもので、後述するモデルテンプレ
ートのAT画素を、より相関の大きい位置の画素と入れ
換える。また、305はモデルテンプレートである。モ
デルテンプレートではテンプレートの画素によるビット
パターン(以下コンテクストと称す)の抽出を行う。3
06はQMコーダであり、適応的算術符号化を行う。図
25は最低解像度レイヤのエンコード処理の機能ブロッ
ク図を示している。この図25において、401はTy
pical Prediction(TP)である。ま
た、402はAdaptive Templates
(AT)、403はモデルテンプレート、404はQM
コーダである。
【0006】図26はJBIG方式で用いられるモデル
テンプレートの一例である。モデルテンプレートとは、
符号化のために必要な符号化注目画素PIXおよびその
周囲の特定範囲の画素の抽出範囲のことである。この図
26の501の位置にある画素が符号化注目画素を表し
ている。また、この図26の502で表される符号化注
目画素の周囲の画素の“0”“1”の組み合わせを数値
化したものをコンテクストCXと呼ぶ。図27はJBI
G方式のエンコーダのフローダイアグラムを示してい
る。ステップ1では初期化処理を行う。ステップ2で
は、符号化注目画素PIX、コンテクストCX、TPV
ALUE、DPVALUEを読み込む。ステップ3の条
件分岐では、TPVALUE≠2or3またはDPVA
LUE≠2or3ならばステップ5に行き、そうでない
ならばステップ4に行く。ステップ4ではENCODE
処理を行う。ステップ5の条件分岐ではストライプが終
了した場合はステップ6に、そうでない場合はステップ
2に行く。ステップ6ではFLUSH処理を行う。 図
28はJBIG方式で使用するオージェンドレジスタ
(以下Aレジスタと称す)と符号レジスタ(以下Cレジ
スタと称す)の構造を示している。Aレジスタにおける
aビットが確率幅を表すビット(17ビット)である。
また、Cレジスタにおけるxビット(16ビット)は未
完成の符号が入るビットである。bビット(8ビット)
が完成した符号が8ビット単位で取り出される位置を表
している。 コンテクストをもとに符号化注目画素のシ
ンボル“0”“1”を予測した場合に出現確率が大きい
シンボルを優勢シンボルMPS、出現確率が小さいシン
ボルを劣性シンボルLPSと呼ぶ。また各コンテクスト
は符号化注目画素がMPSかLPSかにより確率状態
(ステータスST)が遷移する。各コンテクストCXに
対応したMPS(1ビット)とステータスST(7ビッ
ト)の値はメモリ等に格納される。
【0007】図29は確率推定テーブルを示している。
LSZは各ステータスSTに対応する劣性シンボル出現
確率、NLPSはLPSが出現した時の次のSTの値、
NMPSはMPSが出現した時の次のSTの値、SWT
CHはMPSが反転するかどうかを表している。図30
はENCODE処理のフローダイアグラムである。ステ
ップ1の条件分岐では、符号化注目画素PIXとコンテ
クストに対応する優勢シンボルMPSの値が同じならば
ステップ3に、そうでない場合は、ステップ2に行く。
ステップ2ではCODELPS処理を行う。ステップ3
ではCODEMPS処理を行う。図31はCODELP
S処理のフローダイアグラムを示している。A、Cはそ
れぞれAレジスタ、Cレジスタの値を表している。ステ
ップ1ではA=A−LSZを行う。ステップ2の条件分
岐では、A<LSZならばステップ4に行き、そうでな
いならばステップ3に行く。ステップ3では、C=C+
A、A=LSZを行う。ステップ4の条件分岐では、S
WTCH=1ならばステップ6に行き、そうでないなら
ばステップ5に行く。ステップ5では、MPS=1−M
PSを行う。ステップ6では、ST=NLPSを行い、
RENORME処理を行う。
【0008】図32はCODEMPS処理のフローダイ
アグラムを示している。ステップ1ではA=A−LSZ
を行う。ステップ2の条件分岐では、A<0x8000
ならばステップ3に行き、そうでないならば処理を終了
する。ステップ3の条件分岐では、A<LSZならばス
テップ4に行き、そうでないならばステップ5に行く。
ステップ4では、C=C+A、A=LSZを行う。ステ
ップ5では、ST=NMPSを行い、RENORME処
理を行う。図33はRENORME処理のフローダイア
グラムを示している。ステップ1では、A=A<<1
(左に1ビットシフト)、C=C<<1、CT=CT−
1を行う。ステップ2の条件分岐では、CT=0ならば
ステップ4に行き、そうでないならばステップ3に行
く。ステップ3ではBYTEOUT処理を行う。ステッ
プ4の条件分岐では、A<0x8000ならばステップ
1に行き、そうでないならば処理を終了する。
【0009】図34はBYTEOUT処理のフローダイ
アグラムを示している。ステップ1では、TEMP=C
>>19(右に19ビットシフト)を行う。ステップ2
の条件分岐では、TEMP=0xffならばステップ3
に行き、そうでなければステップ4に行く。ステップ3
では、BUFFER=BUFFER+1を行い、BUF
FERを出力し、0x00をSC回出力し、SC=0、
BUFFER=TEMP&0xffを行う。ステップ4
の条件分岐では、TEMP=0xffならばステップ5
に行き、そうでないならばステップ6に行く。ステップ
5ではSC=SC+1を行う。ステップ6ではBUFF
ERを出力し、0xffをSC回出力し、SC=0、B
UFFER=TEMPを行う。ステップ7では、C=C
&0x7ffff、CT=8を行う。図35はINIT
ENC処理のフローダイアグラムを示している。ステッ
プ1の条件分岐では、現在のレイヤの最初のストライプ
またはリセット直後ならばステップ2に行き、そうでな
いならばステップ3に行く。ステップ2では、すべての
コンテクストについてステータスST=0、MPS=0
にする。ステップ3では、すべてのコンテクストについ
てステータスSTおよびMPSは現在のレイヤの前スト
ライプの最終値にする。ステップ4では、SC=0、A
=0x10000、C=0、CT=11を行う。
【0010】図36はFLUSH処理のフローダイアグ
ラムを示している。ステップ1ではCLEARBITS
処理、FINALWRITES処理を行い、ストライプ
符号化データ(SCD)の最初の1バイトを取り除く。
また、もし望むならばSCDの最後の0x00をすべて
取り除く。図37はCLEARBITS処理のフローダ
イアグラムを示している。ステップ1ではTEMP=
(A−1+C)&0xffff0000を行う。ステッ
プ2ではTEMP<Cならばステップ3に行き、そうで
ないならばステップ4に行く。ステップ3ではC=TE
MP+0x8000を行う。ステップ4ではC=TEM
Pを行う。図38はFINALWRITES処理のフロ
ーダイアグラムを示している。ステップ1ではC=C<
<CTを行う。ステップ2の条件分岐では、C>0xf
fffffならばステップ3に行き、そうでないならば
ステップ4に行く。ステップ3では、BUFFER+1
を出力し、0x00をSC回出力する。ステップ4で
は、BUFFERを出力し、0xffをSC回出力す
る。ステップ5では、(C>>19)&0xffを出力
し、(C>>11)&0xffを出力する。JBIG方
式のデコードについては省略する。なお、JBIG方式
およびQMコーダについてのより詳しい説明は、例えば
“マルチメディア符号化の国際標準”(丸善株式会社
刊)のなかで述べられている。
【0011】
【発明が解決しようという課題】算術符号では、シンボ
ルの出現確率に応じて確率幅(以下オージェンドと称
す)を設定できればきわめて高い符号化効率が得られる
が、シンボルを符号化する際のオージェンドの演算に領
域幅と確率値の乗算がともなうため演算精度(有効桁
数)の問題や最終シンボルを知るまで符号を送出できな
いという問題があるため実用化が困難であった。また、
JBIG方式の減算型算術符号ではオージェンド演算を
単なる減算で行うことで算術符号を実用化している。し
かし劣性シンボルの想定確率がオージェンドレジスタの
オージェンドの値の変化に伴い2倍変化するため符号化
効率は本来の算術符号に比較して低いという問題があっ
た。本発明は、上記問題点に鑑みて、この問題点を解消
した2値画像符号化装置及び2値画像復号化装置を提供
するものである。
【0012】
【課題を解決するための手段】第1の発明の2値画像符
号化装置は、符号化する画素(以下、符号化注目画素と
称す)及び、符号化注目画素の周囲の特定位置(以下テ
ンプレートと称す)の画素を抽出する手段と、テンプレ
ートの画素によるビットパターン(以下コンテクストと
称す)各々に対する白、黒、各々の出現回数(以下、シ
ンボル出現回数と称す)、及びその和(以下、コンテク
スト出現回数と称す)をカウントし第1のメモリに記憶
する第1の記憶手段と、テーブル参照等によりコンテク
スト出現回数とシンボル出現回数を、有限個の素数
(2,3,5,...)を用いた積で近似した結果の、
それぞれの素数のべき数(以下、素数べき列と称す)を
求めるための第1の変換手段、シンボル出現回数の素数
べき列からコンテクスト出現回数の素数べき列を素数要
素毎に減算する減算手段と、該結果を第2のメモリに記
憶する第2の記憶手段と、確率幅(以下オージェンドと
称す)を上記変換手段で素数べき列とし、オージェンド
更新の際にシンボル出現確率の素数べき列とオージェン
ドの素数べき列とを素数要素毎に加算する加算手段と、
上記素数べき列を第2のテーブル参照手段等により整数
に変換する変換手段と、 オージェンドレジスタに格納
された素数べき列からテーブル参照等により符号のビッ
ト長nを出力する出力手段と、第2の変換手段で求めた
整数値を被除数、2-nを除数とする除算手段と、からな
るものであり、また、第2発明の2値画像復号化装置
は、復号化する画素の周囲の特定位置の画素を抽出する
手段と、テンプレートの画素によるビットパターン各々
に対する白、黒、各々の出現回数、及びその和をカウン
トし第1のメモリに記憶する第1の記憶手段と、テーブ
ル参照等によりコンテクスト出現回数とシンボル出現回
数を、有限個の素数(2,3,5,...)を用いた積
で近似した結果の、それぞれの素数のべき数を求めるた
めの第1の変換手段と、シンボル出現回数の素数べき列
からコンテクスト出現回数の素数べき列を素数要素毎に
減算する減算手段と、該結果を第2のメモリに記憶する
第2の記憶手段と、オージェンドを上記変換手段で素数
べき列とし、オージェンド更新の際にシンボル出現確率
の素数べき列とオージェンドの素数べき列とを素数要素
毎に加算する加算手段と、上記素数べき列を第2のテー
ブル参照手段等により整数に変換する変換手段と、 オ
ージェンドレジスタに格納された素数べき列からテーブ
ル参照等により符号のビット長nを出力する出力手段
と、第2の変換手段で求めた整数値を被除数、2-nを除
数とする除算手段と、符号化データと参照用データを比
較する比較手段と、からなるものである。
【0013】
【作用】本2値画像符号化/復号化装置においては、符
号化注目画素および符号化注目画素(あるいは復号化画
素)の周囲のテンプレートの画素を抽出し、テンプレー
トの画素のコンテクストを求めて、各コンテクストの出
現回数と符号化注目画素(あるいは復号化画素)で出現
したシンボル“0”“1”の出現回数を、それぞれをカ
ウントしてメモリに記憶し、シンボル出現回数を被除
数、コンテクスト出現回数を除数とする除算演算でシン
ボル出現確率を求める際に、コンテクスト出現回数とシ
ンボル出現回数を、有限個の素数(2,3,
5,...)を用いた積で近似し、それぞれの素数のべ
き数のみを用いて表すことで、シンボル出現確率の各べ
き数をシンボル出現回数の各べき数からコンテクスト出
現確率の各べき数を引くという減算演算で求めて、各べ
き数をメモリに記憶する。そして、算術符号化時には、
符号化注目画素のシンボル出現確率を順次、オージェン
ドに乗じてオージェンドの更新を行う際に、オージェン
ドを有限個の素数(2,3,5,...)を用いた積で
近似し、それぞれの素数のべき数のみを用いて表すこと
で、オージェンドの各べき数に、シンボル出現確率の各
べき数を加える加算演算でオージェンドを更新し、各べ
き数をAレジスタに記憶し、LPSの出現時のみ、オー
ジェンドの各べき数にMPS出現確率の各べき数を加え
た値をCレジスタに記憶し、Cレジスタに格納された各
べき数と、それらに対応する素数をもとに実数値を求
め、Aレジスタに格納された各べき数によってテーブル
を参照することで算術符号のビット長nを算出し、前記
実数値を被除数、2-nを除数として除算を行い、その商
を符号データとして出力する。また、復号化時には、L
PSの出現確率によって、オージェンドを順次更新し、
さらに、オージェンドの各べき数にMPS出現確率の各
べき数を加えた値をCレジスタに記憶し、Cレジスタに
格納された各べき数と、それらに対応する素数をもとに
実数値を求め、Aレジスタに格納された各べき数によっ
てテーブルを参照することで算術符号のビット長nを算
出し、Cレジスタの実数値を被除数、2-nを除数として
除算を行い、その商を参照用データとし、符号化データ
と参照用データを比較して一致していないならばMP
S、一致しているならばLPSを復号化データとして出
力する。
【0014】
【実施例】以下、図面により本発明の実施例を説明す
る。図1は実施例の機能ブロック図を示している。この
図1において、501はラインメモリを示している。こ
のラインメモリ501には2値画像データが3ライン分
読み込まれる。読み込まれるラインは符号化中のライ
ン、1つ前のラインおよび2つ前のラインである。50
2は画素抽出処理を示している。画素抽出処理502で
はラインメモリの2値画像データから後述するテンプレ
ートをもとに画素を抽出し、コンテクストCXと符号化
注目画素PIXの値を得る。503はカウント処理を示
している。カウント処理502では画像抽出処理で抽出
したコンテクストCXの出現回数、符号化注目画素のシ
ンボルが“0”である回数、“1”である回数をカウン
トし、カウント値格納SRAMに格納する。504はカ
ウント値格納SRAMを示している。505は素数変換
処理を示している。素数変換処理505ではカウント値
格納SRAMに格納された各カウント値をもとにシンボ
ル出現確率を求め、それらを素数変換テーブルによって
素数の積に変換し、そのべき数を出現確率格納SRAM
に格納する。また、シンボル“0”、“1”のMPS、
LPSを判定しMPSを格納する。506は素数変換テ
ーブルROMを示している。507は出現確率格納SR
AMを示している。508はレジスタ演算処理を示して
いる。レジスタ演算処理508では出現確率格納SRA
Mに格納された出現確率と確率幅(オージェンド)を表
すAレジスタとの乗算処理を行う。またLPS出現時に
はCレジスタに下界値を書き込む。509はAレジスタ
を示している。510はCレジスタを示している。51
1は符号長算出処理を示している。符号長算出処理51
1ではAレジスタの値をもとに符号長テーブルを検索し
Aレジスタの値を表すのに必要な精度のビット長nを算
出する。512は符号長テーブルROMを示している。
513は下界値算出処理を示している。下界値算出処理
513では素数テーブルをもとにCレジスタの値を2進
小数に変換する。514は素数テーブルROMを示して
いる。515は符号生成手段を示している。符号生成手
段では下界値を2-nで割ることで符号を生成する。51
6は出力バッファを示している。符号は1度出力バッフ
ァに格納されたのち上位ビット側から出力される。
【0015】図2はテンプレートで抽出される画素を示
している。テンプレートで抽出される画素は図の601
で表される符号化注目画素PIXおよび図2の602で
表される周囲の画素CXnである。CXnの画素の“0”
“1”の組み合わせを数値化したものをコンテクストC
X(10ビットの値)とする。nはコンテクストのnビ
ット目に対応する画素であることを表している。図3は
エンコーダのフローダイアグラムを示している。ステッ
プ1では初期化処理を行う。ステップ2では符号化注目
画素PIXとコンテクストCXを読み込む。ステップ3
では出現確率を算出する。ステップ4ではオージェンド
演算処理を行う。ステップ5では符号化処理を行う。ス
テップ6では出現回数カウント処理を行う。ステップ7
の条件分岐では、2値画像データが終了したならば処理
を終了し、そうでないならばステップ2に行く。図4は
コンテクストカウント処理のフローダイアグラムを示し
ている。ステップ1ではCT(CX)=CT(CX)+
1を行う。ステップ2の条件分岐ではPIX=0ならば
ステップ3に行き、そうでないならばステップ4に行
く。ステップ3ではSYM0(CX)=SYM0(C
X)+1を行う。ステップ4ではSYM1(CX)=S
YM1(CX)+1を行う。
【0016】図5は素数変換処理のフローダイアグラム
を示している。ステップ1の条件分岐ではCT(CX)
=50ならばステップ2に行き、そうでないならば処理
を終了する。ステップ2ではi=1を行う。ステップ3
ではP0(CX,i)=PWR(SYM0(CX),
i)−PWR(50,i)、P1(CX,i)=PWR
(SYM1(CX),i)−PWR(50,i)、i=
i+1を行う。ステップ4の条件分岐ではiが素数の個
数であるPRMNUMより大きければステップ3に行
き、そうでなければステップ5に行く。ステップ5の条
件分岐ではSYM0(CX)≧SYM1(CX)ならば
ステップ6に行き、そうでないならばステップ7に行
く。ステップ6ではMPS(CX)=0を行う。ステッ
プ7ではMPS(CX)=1を行う。ステップ8ではC
T(CX)=0、SYM0(CX)=0、SYM1(C
X)=0を行う。図6はオージェンド演算処理のフロー
ダイアグラムを示している。ステップ1の条件分岐では
PIX=MPS(CX)ならばステップ2に行き、そう
でないならばステップ3に行く。ステップ2ではMPS
処理を行う。ステップ3ではLPS処理を行う。図7は
MPS処理のフローダイアグラムを示している。ステッ
プ1の条件分岐ではPIX=0ならばステップ2に行
き、そうでないならばステップ5に行く。ステップ2で
はi=1を行う。ステップ3ではA(i)=A(i)−
P0(CX,i)、i=i+1を行う。ステップ4の条
件分岐ではi>PRMNUMならば処理を終了し、そう
でなければステップ3に行く。ステップ5ではi=1を
行う。ステップ6ではA(i)=A(i)−P1(C
X,i)、i=i+1を行う。ステップ7の条件分岐で
はi>PRMNUMならば処理を終了し、そうでなけれ
ばステップ6に行く。
【0017】図8はLPS処理のフローダイアグラムを
示している。ステップ1の条件分岐ではPIX=0なら
ばステップ2に行き、そうでないならばステップ5に行
く。ステップ2ではi=1を行う。ステップ3ではC
(i)=C(i)−P1(CX,i)、A(i)=A
(i)−P0(CX,i)、i=i+1を行う。ステッ
プ4の条件分岐ではi>PRMNUMならば処理を終了
し、そうでなければステップ3に行く。ステップ5では
i=1を行う。ステップ6ではC(i)=C(i)−P
0(CX,i)、A(i)=A(i)−P1(CX,
i)、i=i+1を行う。ステップ7の条件分岐ではi
>PRMNUMならば処理を終了し、そうでなければス
テップ6に行く。図9は符号化処理のフローダイアグラ
ムを示している。ステップ1の条件分岐ではPIX=M
PS(CX)ならば処理を終了し、そうでないならばス
テップ2に行く。ステップ2では符号長算出処理を行
う。ステップ3では下界値算出処理を行う。ステップ4
ではC=C0/2-nを行う。ステップ5ではCを出力す
る。図10は符号長算出処理のフローダイアグラムを示
している。ステップ1ではj=1、n=0を行う。ステ
ップ2ではn=n+CL(A(i),i)を行う。ステ
ップ3ではj=j+1を行う。ステップ4の条件分岐で
はi>PRMNUMならば処理を終了し、そうでないな
らばステップ2に行く。
【0018】図11は下界値算出処理のフローダイアグ
ラムを示している。ステップ1ではi=1を行う。ステ
ップ2ではj=1を行う。ステップ3ではC0=C0*
PRM(i)を行う。ステップ4ではj=j+1を行
う。ステップ5の条件分岐ではj>A(i)ならばステ
ップ6に行き、そうでないならばステップ2に行く。ス
テップ6ではi=i+1を行う。ステップ7ではiが素
数の個数より大きければ処理を終了し、そうでなければ
ステップ1に行く。図11は初期化処理のフローダイア
グラムを示している。ステップ1では素数の個数をPR
MNUM、i番目の素数をPRM(i)に代入し、すべ
てのCXに対してCT(CX)=0、SYM0(CX)
=0、SYM1(CX)=0、MPS(CX)=0と
し、すべてのi=2,3,・・・PRMNUMに対して
P0(CX,1)=−1、P0(CX,i)=0、P1
(CX,1)=−1、P1(CX,i)=0を行う。図
12は本実施例の素数変換テーブルを示している。本実
施例では使用する素数は2、3、5、7で、素数の個数
は4である。表の4桁の数値はそれぞれ2のべき数、3
のべき数、5のべき数、7のべき数を表している。
【0019】図13はLPS出現時にオージェンド幅か
ら符号ビット長nを求めるテーブルを示している。nは
-n≦オージェンドの値<2-(n-1)を満たす値となる。
図14は実施例のデコーダの機能ブロック図を示してい
る。この図14において、701はラインメモリを示し
ている。ラインメモリには2値画像データが2ライン分
および復号化した画素が読み込まれる。読み込まれるラ
インは符号化中のラインの1つ前のラインおよび2つ前
のラインである。702は画素抽出処理を示している。
この画素抽出処理702ではラインメモリの2値画像デ
ータから後述するテンプレートをもとに画素を抽出し、
コンテクストCXの値を得る。703はカウント処理を
示している。このカウント処理703では画像抽出処理
で抽出したコンテクストCXの出現回数をカウントし、
復号化画素のシンボルが“0”である回数、“1”であ
る回数をカウントし、カウント値格納SRAMに格納す
る。図704はカウント値格納SRAMを示している。
705は素数変換処理を示している。素数変換処理70
5ではカウント値格納SRAMに格納された各カウント
値をもとにシンボル出現確率を求め、それらを素数変換
テーブルによって素数の積に変換し、そのべき数を出現
確率格納SRAMに格納する。また、シンボル“0”、
“1”のMPS、LPSを判定しMPSを格納する。7
06は素数変換テーブルROMを示している。707は
出現確率格納SRAMを示している。708はレジスタ
演算処理を示している。このレジスタ演算処理708で
は出現確率格納SRAMに格納された出現確率とオージ
ェンドを表すAレジスタとの乗算処理を行う。デコード
時は常にLPSを想定した下界値をCレジスタに書き込
む。709はAレジスタを示している。710はCレジ
スタを示している。711は符号長算出処理を示してい
る。この符号長算出処理711ではAレジスタの値をも
とに符号長テーブルを検索しAレジスタの値を表すのに
必要な精度のビット長nを算出する。712は符号長テ
ーブルROMを示している。713は下界値算出処理を
示している。この下界値算出処理713では素数テーブ
ルをもとにCレジスタの値を2進小数に変換する。71
4は素数テーブルROMを示している。715は符号生
成手段を示している。この符号生成手段715では下界
値を2-nで割ることで参照用符号を生成する。716は
比較手段を表している。この比較手段716では符号化
データと参照用符号を比較し、一致するならばLPS、
一致しなければMPSを出力する。717は出力バッフ
ァを示している。復号化データは1度出力バッファに格
納されたのち出力される。
【0020】図16はデコーダのフローダイアグラムを
示している。ステップ1では初期化処理を行う。ステッ
プ2ではCXを読み込む。ステップ3では素数変換処理
を行う。ステップ4ではデコーダオージェンド処理を行
う。ステップ5では符号長算出処理を行う。ステップ6
では符号化データを読み込む。ステップ7では下界値算
出処理を行う。図17はデコーダのフローダイアグラム
のつづきを示している。ステップ8では参照用符号CRE
F=C0/2-nを示している。ステップ9では比較処理
を行う。ステップ10では復号化データの出力を行う。
ステップ11ではカウント処理を行う。ステップ12の
条件分岐では画像データの復号化が終了したならば処理
を終了し、そうでなければステップ2に行く。図18は
デコーダオージェンド処理のフローダイアグラムを示し
ている。ステップ1の条件分岐ではMPS(CX)=0
ならばステップ2に行き、そうでないならばステップ3
に行く。ステップ2ではSYM0処理を行う。ステップ
3ではSYM1処理を行う。
【0021】図19はSYM0処理を示している。ステ
ップ1ではi=1を行う。ステップ2ではA(i)=A
(i)−P0(CX,i)、C(i)=A(i)−P1
(CX,i)、i=i+1を行う。ステップ3の条件分
岐ではi>PRMNUMならば処理を終了し、そうでな
ければステップ2に行く。図20はSYM1処理を示し
ている。ステップ1ではi=1を行う。ステップ2では
A(i)=A(i)−P0(CX,i)、C(i)=A
(i)−P1(CX,i)、i=i+1を行う。ステッ
プ3の条件分岐ではi>PRMNUMならば処理を終了
し、そうでなければステップ2に行く。図21は比較処
理を示している。ステップ1ではCREF>Cならばステ
ップ2に行き、そうでなければステップ3に行く。ステ
ップ2では復号化データI=MPSを行う。ステップ3
では復号化データI=LPSを行う。
【0022】
【発明の効果】本発明によれば、上述したように確率幅
を加算演算でシンボルの出現確率に応じて正確に設定で
きるため、2値画像データを高い符号化効率で算術符号
化/復号化することができる。
【図面の簡単な説明】
【図1】本発明にかかる2値画像符号化装置の実施例の
エンコーダ機能ブロック図である。
【図2】本発明の実施例におけるテンプレートの説明図
である。
【図3】本発明の実施例におけるエンコーダのフローダ
イアグラムである。
【図4】本発明の実施例におけるコンテクストカウント
処理のフローダイアグラムである。
【図5】本発明の実施例における素数変換処理のフロー
ダイアグラムである。
【図6】本発明の実施例におけるオージェンド処理のフ
ローダイアグラムである。
【図7】本発明の実施例におけるMPS処理のフローダ
イアグラムである。
【図8】本発明の実施例におけるLPS処理のフローダ
イアグラムである。
【図9】本発明の実施例における符号化処理のフローダ
イアグラムである。
【図10】本発明の実施例における符号長算出処理のフ
ローダイアグラムである。
【図11】本発明の実施例における下界値算出処理のフ
ローダイアグラムである。
【図12】本発明の実施例における初期化処理のフロー
ダイアグラムである。
【図13】本発明の実施例における素数変換用テーブル
を示す図である。
【図14】本発明の実施例における符号長算出用テーブ
ルを示す図である。
【図15】本発明の実施例におけるデコーダ機能ブロッ
ク図である。
【図16】本発明の実施例におけるデコーダのフローダ
イアグラムである。
【図17】本発明の実施例におけるデコーダのフローダ
イアグラムである。
【図18】本発明の実施例におけるデコーダのオージェ
ンド処理のフローダイアグラムである。
【図19】本発明の実施例におけるSYM0処理のフロ
ーダイアグラムである。
【図20】本発明の実施例におけるSYM1処理のフロ
ーダイアグラムである。
【図21】本発明の実施例における比較処理のフローダ
イアグラムである。
【図22】従来例におけるストライプの説明図である。
【図23】従来例におけるJBIGエンコーダの機能ブ
ロック図である。
【図24】従来例における差分レイヤエンコーダの機能
ブロック図である。
【図25】従来例における最低解像度レイヤエンコーダ
の機能ブロック図である。
【図26】従来例におけるモデルテンプレートの説明図
である。
【図27】従来例におけるJBIGエンコーダのフロー
ダイアグラムである。
【図28】従来例におけるエンコーダレジスタ構造の説
明図である。
【図29】従来例におけるJBIG確率推定テーブルを
示す図である。
【図30】従来例におけるENCODE処理のフローダ
イアグラムである。
【図31】従来例におけるCODELPS処理のフロー
ダイアグラムである。
【図32】従来例におけるCODEMPS処理のフロー
ダイアグラムである。
【図33】従来例におけるRENORME処理のフロー
ダイアグラムである。
【図34】従来例におけるBYTEOUT処理のフロー
ダイアグラムである。
【図35】従来例におけるINITENC処理のフロー
ダイアグラムである。
【図36】従来例におけるFLUSH処理のフローダイ
アグラムである。
【図37】従来例におけるCLEARBITS処理のフ
ローダイアグラムである。
【図38】従来例におけるFINALWRITES処理
のフローダイアグラムである。
【符号の説明】 501、701 ラインメモリ 502、702 画素抽出処理 503、703 カウント処理 504、704 カウント値格納SRAM 505、705 素数変換処理 506、706 素数変換テーブル 507、707 出現確率格納SRAM 508、508 レジスタ演算処理 509、709 Aレジスタ 510、710 Cレジスタ 511、711 符号長算出処理 512、712 符号長テーブルROM 513、713 下界値算出処理 514、714 素数テーブル 515、715 符号生成手段 516、717 出力バッファ 716 比較手段

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 2値画像データを算術符号化する符号化
    装置であって、 符号化する画素及び、符号化注目画素の周囲の特定位置
    の画素を抽出する抽出手段と、 符号化注目画素の周囲の特定位置の画素によるビットパ
    ターン各々に対する白、黒、各々の出現回数、及びその
    和をカウントし第1のメモリに記憶する第1の記憶手段
    と、 テーブル参照等により符号化注目画素の周囲の特定位置
    の画素によるビットパターンの出現回数とビットパター
    ン各々に対する白、黒、各々の出現回数を、有限個の素
    数を用いた積で近似した結果の、それぞれの素数のべき
    数を求めるための第1の変換手段と、 ビットパターン各々に対する白、黒、各々の出現回数の
    素数べき列から符号化注目画素の周囲の特定位置の画素
    によるビットパターン出現回数の素数べき列を素数要素
    毎に減算する減算手段と、 前記減算手段の該結果を第2のメモリに記憶する第2の
    記憶手段と、 確率幅を前記変換手段で素数べき列とし、確率幅更新の
    際にビットパターン各々に対する白、黒、出現確率の素
    数べき列と確率幅の素数べき列とを素数要素毎に加算す
    る加算手段と、 前記素数べき列をテーブル参照手段等により整数に変換
    する第2の変換手段と、 確率幅レジスタに格納された
    素数べき列からテーブル参照等により符号のビット長n
    を出力する出力手段と、 前記第2の変換手段で求めた整数値を被除数、2-nを除
    数とする除算手段と、を備えていることを特徴とした2
    値画像符号化装置。
  2. 【請求項2】 2値画像データを算術復号化する復号化
    装置であって、 復号化する画素の周囲の特定位置の画素を抽出する抽出
    手段と、 符号化注目画素の周囲の特定位置の画素によるビットパ
    ターン各々に対する白、黒、各々の出現回数、及びその
    和をカウントし第1のメモリに記憶する第1の記憶手段
    と、 テーブル参照等により符号化注目画素の周囲の特定位置
    の画素によるビットパターンの出現回数とビットパター
    ン各々に対する白、黒、各々の出現回数を、有限個の素
    数を用いた積で近似した結果の、それぞれの素数のべき
    数を求めるための第1の変換手段と、 ビットパターン各々に対する白、黒、各々の出現回数の
    素数べき列から符号化注目画素の周囲の特定位置の画素
    によるビットパターン出現回数の素数べき列を素数要素
    毎に減算する減算手段と、 前記減算手段の該結果を第2のメモリに記憶する第2の
    記憶手段と、 確率幅を前記変換手段で素数べき列とし、確率幅更新の
    際にビットパターン各々に対する白、黒、出現確率の素
    数べき列と確率幅の素数べき列とを素数要素毎に加算す
    る加算手段と、 前記素数べき列をテーブル参照手段等により整数に変換
    する第2の変換手段と、 確率幅レジスタに格納された
    素数べき列からテーブル参照等により符号のビット長n
    を出力する出力手段と、 前記第2の変換手段で求めた整数値を被除数、2-nを除
    数とする除算手段と、 符号化データと参照用データを比較する比較手段と、を
    備えていることを特徴とした2値画像復号化装置。
JP06140094A 1994-06-22 1994-06-22 2値画像符号化装置及び2値画像復号化装置 Expired - Fee Related JP3084187B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP06140094A JP3084187B2 (ja) 1994-06-22 1994-06-22 2値画像符号化装置及び2値画像復号化装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP06140094A JP3084187B2 (ja) 1994-06-22 1994-06-22 2値画像符号化装置及び2値画像復号化装置

Publications (2)

Publication Number Publication Date
JPH089165A JPH089165A (ja) 1996-01-12
JP3084187B2 true JP3084187B2 (ja) 2000-09-04

Family

ID=15260819

Family Applications (1)

Application Number Title Priority Date Filing Date
JP06140094A Expired - Fee Related JP3084187B2 (ja) 1994-06-22 1994-06-22 2値画像符号化装置及び2値画像復号化装置

Country Status (1)

Country Link
JP (1) JP3084187B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7724164B2 (en) 2007-01-24 2010-05-25 Samsung Electronics Co., Ltd. Apparatus and method of dynamically caching symbols to manage a dictionary in a text image coding and decoding system

Also Published As

Publication number Publication date
JPH089165A (ja) 1996-01-12

Similar Documents

Publication Publication Date Title
US5045852A (en) Dynamic model selection during data compression
JP3017379B2 (ja) 符号化方法、符号化装置、復号方法、復号器、データ圧縮装置及び遷移マシン生成方法
US7365658B2 (en) Method and apparatus for lossless run-length data encoding
US7808406B2 (en) Method and apparatus for realizing arithmetic coding/decoding
US4905297A (en) Arithmetic coding encoder and decoder system
US4749983A (en) Compression of multilevel signals
US20060171533A1 (en) Method and apparatus for encoding and decoding key data
Slattery et al. The qx-coder
JP2001230935A (ja) 算術符号化/復号化方法ならびに算術符号化/復号化装置
US6373408B1 (en) Encoding apparatus, decoding apparatus, encoding/decoding apparatus, encoding method and decoding method
JP3084187B2 (ja) 2値画像符号化装置及び2値画像復号化装置
JPS63250277A (ja) 状態入力生成装置
JPH104551A (ja) 画像処理装置、及び方法、及びその方法を記憶した記憶媒体
JPH07123276A (ja) 画像信号のデジタル圧縮符号化方法
JP2891818B2 (ja) 符号化装置
JPS6352812B2 (ja)
JP3796354B2 (ja) 画像符号化方法
JPH07249995A (ja) データ符号化装置
JP3127513B2 (ja) 符号化装置
JP2783221B2 (ja) 復号化方法
JP3093451B2 (ja) 冗長性低減符号化装置
JP3859786B2 (ja) 映像信号における物体の輪郭線符号化方法
JPS60251763A (ja) フアクシミリ情報の拡大縮小回路
JPH0591343A (ja) 2値データ符号化方法及びその復号化方法
JP2957672B2 (ja) グレイコードのビット反転位置算出方法

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees