JP3705771B2 - JBIG decoding method - Google Patents

JBIG decoding method Download PDF

Info

Publication number
JP3705771B2
JP3705771B2 JP2001397046A JP2001397046A JP3705771B2 JP 3705771 B2 JP3705771 B2 JP 3705771B2 JP 2001397046 A JP2001397046 A JP 2001397046A JP 2001397046 A JP2001397046 A JP 2001397046A JP 3705771 B2 JP3705771 B2 JP 3705771B2
Authority
JP
Japan
Prior art keywords
line
decoding
white
decoding target
reference line
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
JP2001397046A
Other languages
Japanese (ja)
Other versions
JP2003198853A (en
Inventor
友喜 綾部
Original Assignee
Necマイクロシステム株式会社
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 Necマイクロシステム株式会社 filed Critical Necマイクロシステム株式会社
Priority to JP2001397046A priority Critical patent/JP3705771B2/en
Publication of JP2003198853A publication Critical patent/JP2003198853A/en
Application granted granted Critical
Publication of JP3705771B2 publication Critical patent/JP3705771B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明が属する技術分野】
本発明は、2値画像復号化方法に関し、特に、JBIG(joint bi−level image group)によって復号化処理を高速化する2値画像復号化方法に関する。
【0002】
【従来の技術】
従来、ファクシミリ等の白黒2値画像を復号化する場合において、1ライン分がすべて白である場合の処理方法には種々のものが知られている。
【0003】
例えば、特開平1−198868号公報に開示されたファクシミリ復号化回路においては、復号結果が1ライン全部白である場合にはラインメモリへの画データの転送を行わず、これを制御信号にて通知することにより、1ライン画データを転送した場合と同じ結果を得るようにしている。
【0004】
また、特開平1−223879号公報に開示された圧縮コードデータの伸長処理装置においては、伸張処理中に1ライン分全て白に相当するデータが入力された場合には、そのラインのイメージデータを生成・転送しなくても、アドレスカウンタをアップさせるだけでイメージデータを逐次生成・転送するのと同じ効果を得るようにしている。
【0005】
また、特開平2−213278号公報に開示されたファクシミリ復号化装置においては、2次元復号化に使用する参照ラインが1ライン全白の場合には、その参照ラインの画データを読み込まないようにしている。その結果、2次元復号化を高速化することができる。
【0006】
また、特開平3−228470号公報に開示されたファクシミリの符号化装置及び復号化装置においては、全ての画素が白であるラインがあったときに、1ビットの全白符号を生成する。そして、この全白符号を表示する1ビットの識別符号も付加する。即ち、1ライン全白を2ビットで表現することができる。従って、MH(modified Huffman)符号やMR(modified READ)符号に比べて各段に符号化・復号化が高速に実行される。
【0007】
また、特公平4−23991号公報に開示されたファクシミリ装置においては、2値データのランレングスをモディファイド・リード(MR)符号、又はモディファイド・モディファイド・リード(MMR)符号を用いて圧縮し、これを復号する際、参照ラインつまり1ライン前のラインに変化点があるか否かを判定し、この判定結果と、復号化を行うラインの符号とによって全白ラインの連続の有無を判断している。そして、これが連続する場合は、当該ラインの復号化を行わず、また、印写においても印写用ラインメモリからの読み出し、印写記録動作を行わないようにしている。
【0008】
さらに、データの圧縮伸張技術の一つにJBIG(joint bi−lebel Image coding group、ITU−T.82/ISO/IEC11544)がある。JBIG符号化においては、符号化しようとする画素のレベルをその周辺領域から推定する。具体的には、対象画素の周辺領域即ちモデルテンプレートを1次元化してコンテキストを求める。そして、コンテキストに対応する対象画素のレベルの出現確率を学習によって推定する。そして、学習結果に基づいて、対象画素のレベルを算術符号化(AAE)して0以上1未満の2進数小数で表すようにしている。JBIG復号化の場合は、この逆の手順となる。
【0009】
JBIG符号化においては、対象画素が白か黒かを予測学習するため、予測が外れた場合のみ、符号化を行う。このJBIGを用いて、符号化・復号化を行うことは、例えば、特許第2919384号に開示されている。
【0010】
ここで、JBIGのモデルテンプレート(Model Template:MT)処理について説明する。
【0011】
図9には、画像データを格納するためのメモリブロックを示す。メモリブロックには、復号化対象ラインPIX、一つ手前の参照ラインH1、及び2つ手前の参照ラインH2のデータが格納される。
【0012】
図10には、メモリブロックの中のモデルテンプレートを示す。モデルテンプレートは、復号化の対象とされる注目画素の周辺画素パターンである。
【0013】
モデルテンプレートには、3ライン・モデルテンプレート、2ライン・モデルテンプレートの2つがある。MTの形は、予め決められている。
【0014】
但し、一定周期で強い相関がある画像を符号化する場合には、3ラインMTの第2画素の位置、又は2ラインMTの第4画素の位置を、例えば127画素分まで移動してもよい。
【0015】
コンテキストとは、図10に示すように、MTの第9画素から第0画素までを、この順に1次元に並べたものである。
【0016】
図11A、図11Bには、コンテキストの具体例を示す。図11Aのコンテキストには、黒が含まれておらず、このコンテキストを”000H”で表す。一方、図11Bのコンテキストには、第9画素と第5画素が黒であり、このコンテキストを”220H”で表す。
【0017】
図12には、コンテキストテーブル即ち学習テーブルの具体例を示す。このテーブルは、10画素分のモデルテンプレートから得られるコンテキストの値から予測する画素の値と、その状態番号を記憶するテーブルである。現在の状態(ST)を”0”とする。そして、現在の学習テーブル(コンテキスト”220H”)で注目画素が白”0”であると予測していたとする。予測が当たった場合には、学習テーブルはそのままにしておく。一方、予測が外れた場合には、予測値を黒”1”に変更するとともに、STを”1”にする。
【0018】
図13には、確率推定テーブルを示す。このテーブルは、LPSの領域幅LSZ、コンテキストテーブル即ち学習テーブルが示す次の状態遷移番号NLPS、NMPS、予測値反転SWITCHからなるテーブルである。ここで、符号化・復号化するシンボルは、多く現れる方を優勢シンボルMPS、少ない方を劣勢シンボルLPSとしている。また、LPS時即ち予想外れ時の状態遷移先がNLPSである。
また、MPS時即ち予想当たりときの状態遷移先がNMPSである。また、LPS時即ち予想外れ時にSWITCH=1ならば予測値を反転する。
【0019】
この確率推定テーブルによれば、状態番号ST=0のとき予測が外れれば、状態番号NLPS=1に遷移するとともに、予測値を反転しなければならない。そのため、図12に示したコンテキストテーブル即ち学習テーブルの予測値が白から黒に変更され、状態番号が”0”から”1”に変更されている。
【0020】
図14は、JBIGデータ復号化装置のブロック図である。この装置は、演算処理、データ処理、及び各部の制御処理等を行うCPU(中央処理演算装置)100と、送信時に読み取った原稿を2値画像にしたものを蓄える画像データメモリ400と、受信時に受信したデータを符号として蓄える符号データメモリ500と、JBIGによる復号化プログラム201及び符号データを画像データに変換するための確率推定テーブル202が配置格納されるROM200と、復号化対象画素が白か黒かを予測して当たる確率を高くするために参照される学習テーブル301が配置格納されるRAM300と、変換された結果である画像データをFIFO(first in first out)管理するFIFOメモリ600とがバス700で接続されている。
【0021】
CPU100は、復号化対象ラインよりブロック単位で読み出した画像データを保持するレジスタ101と、復号化対象ラインの一つ前のラインよりブロック単位で読み出した画像データを保持するレジスタ102と、復号化対象ラインの2つ前のラインよりブロック単位で読み出した画像データを保持するレジスタ103と、予測結果を保持するレジスタ104と、学習テーブル301より読み出した予測値、状態値を保持するレジスタ105と、確率推定テーブル202より読み出した外れの領域幅を保持するレジスタ106と、コンテキストの内容を保持するレジスタ107を持つ。このCPU100は、JBIGによる復号化プログラム201を実行することによって、JBIGの復号化処理を行う。
【0022】
図15は、JBIG復号化方法を説明するためのフローチャートである。
【0023】
最初に、JBIGのオプションである典型的予測(typical prediction:TP)をするかしないか判別する(S21)。ここで、典型的予測TPとは、符号化/復号化する対象画素数即ち注目画素数を減少させるための処理である。符号化処理の場合、符号化対象ラインPIXが一つ前のラインH1と同じ場合は符号化を行わない。PIXの画像データとH1の画像データが同じであることは、1ビットを使用して擬似画素として符号化する。一方、復号化処理の場合、復号化対象ラインPIXが一つ前のラインH1と同じ場合は復号化を行わず、H1の画像データを出力(コピー)する。
【0024】
以上のような典型的予測をしない場合は、1ライン復号化処理を行う(S210)。S210に続いて、原稿ライン数分の処理が終了したか判別し(S27)、終了していない場合は、1ライン復号化処理(S210)へ戻り、復号化処理を繰り返す。
【0025】
一方、典型的予測をする場合は(S21)、2つのライン(復号化対象ラインと復号化対象ラインの一つ前のライン)が同じかどうかを判別する(S29)。2つのラインが同じでない場合は、1ライン復号化処理(S210)を行う。一方、2つのラインが同じである場合は、復号化対象ラインを復号化の対象しない。次に、典型的予測をしない場合(S21)と同様に、原稿ライン数分の処理が終了したかを判別し(S27)、終了していない場合は、ライン一致確認処理(S29)へ戻り、復号化処理を繰り返す。
【0026】
以上の処理を原稿ライン数分例えばA4版の原稿の場合2376ライン繰り返すことで復号化処理を行う。
【0027】
図16は、図15のS210の1ライン復号化処理を説明するためのフローチャートである。
【0028】
まず、復号化対象ラインの2つ前のラインH2、復号化対象ラインの一つ前のラインH1、復号化対象ラインPIXの3つの画像データ・ブロックをブロック単位で読み出す(S51)。
【0029】
次に、前記3つの画像データ・ブロックがオール白かどうかを判別する(S52)。
【0030】
前記判別結果がオール白の場合は、ブロック処理が終了するまで、1画素復号化処理(S55)を繰り返す。ブロック単位分の処理が終了した場合は、1ライン復号化処理の先頭に戻り、1ライン分の復号化処理が終了したかどうかを判別し(S50)、ライン終了であれば、1ライン復号化処理を終了する。一方、判別の結果、ライン終了でなければ、画像データの読み出し処理(S51)からのブロック単位での一連の復号化処理を継続する。
【0031】
一方、S52において、判別結果がオール白でない場合は、ブロック処理が終了するまで(S56)、復号化対象画素の周辺画素(モデルテンプレート)を1次元化したコンテキストを作成し(S53)、1画素復号化処理を行い(S54)、3ブロック分の画像データをそれぞれ1ビット・シフト(S57)する一連の処理を繰り返す。ブロック単位分の処理が終了した場合は、1ライン復号化処理の先頭に戻り、1ライン分の復号化処理が終了したかどうかを判別し(S50)、ライン終了であれば、1ライン復号化処理を終了する。
【0032】
一方、S50において、前記判別結果がライン終了でなければ、画像データの読み出し処理(S51)からのブロック単位での一連の復号化処理を継続する。
【0033】
以上の処理を原稿ライン数分繰り返すことで復号化処理を行う。
【0034】
図17は、図16のS54の1画素復号化処理を説明するためのフローチャートである。このS54の1画素復号化処理は、S55の1画素復号処理とは異なっている。
【0035】
図17に示すように、まず、復号化対象画素の周辺画素を1次元化したコンテキストをインデックスとして、学習テーブル301より予測値、状態値を読み出す(S120)。
【0036】
次に、前記状態値をインデックスとして、確率推定テーブル202より外れの領域幅を読み出す(S31)。
【0037】
さらに、白黒の順列が現れる確率を示す領域幅から前記外れの領域幅を差し引いて、新しい領域幅に更新する(S40)。
【0038】
次に、復号化対象画素が予測値と一致しているかを判別する(S121)。復号化対象画素が予測値と一致していないと判別された場合は、外れの確率を示す領域幅を変更し、更新した状態値を学習テーブル301に書き込む予測外れ処理を行い(S122)、領域幅を外れの領域幅より大きくする正規化を行う(S43)。
【0039】
一方、S121において、復号化対象画素が予測値と一致していると判別された場合は、領域幅を外れの領域幅より大きくする正規化が必要かどうかを判別する(S41)。前記判別結果で正規化が必要な場合は、当たりの確率を示す領域幅を変更し、更新した状態値を学習テーブル301に書き込む予測当たり処理(S42)及び正規化処理(S43)を行って、一連の1画素復号化処理を終了する。
【0040】
図18は、図16のS55の1画素復号化処理を説明するためのフローチャートである。
【0041】
図18に示すように、まず、復号化対象画素の周辺画素を1次元化したコンテキスト(0)をインデックスとして、学習テーブル301より予測値、状態値を読み出す(S30)。
【0042】
次に、前記状態値をインデックスとして、確率推定テーブル202より外れの領域幅を読み出す(S31)。さらに、白黒の順列が現れる確率を示す領域幅から前記外れの領域幅を差し引いて、新しい領域幅に更新する(S40)。
【0043】
次に、復号化対象画素の予測値が白かどうかを判別する(S130)。復号化対象画素の予測値が白でないと判別された場合は、外れの確率を示す領域幅を変更し、更新した状態値を学習テーブル301に書き込む予測外れ処理を行い(S122)、領域幅を外れの領域幅より大きくする正規化を行う(S43)。
一方、S130において、復号化対象画素の予測値が白であると判別された場合は、領域幅を外れの領域幅より大きくする正規化が必要かどうかを判別する(S41)。前記判別結果で正規化が必要な場合は、当たりの確率を示す領域幅を変更し、更新した状態値を学習テーブル301に書き込む予測当たり処理(S42)及び正規化処理(S43)を行って、一連の1画素復号化処理を終了する。
【0044】
一方、S41において、正規化が必要ない場合は、ブロック単位分の処理が終了したかどうかを判別(S131)、終了していない場合は、学習テーブル301からの予測値、状態値、確率推定テーブル202からの外れ領域の読み出しを行わないで、領域幅の更新(S40)のみを行う一連の処理を繰り返す。
【0045】
一方、S131において、判別結果がブロック終了の場合は、1画素復号化処理を終了する。
【0046】
以上説明した従来技術の特徴をまとめると、ブロック単位で読み出した画像データがオール白の場合はコンテキスト作成処理が不要となり、さらに予測値が白で正規化処理が必要ない場合には、学習テーブル(予測値、状態値)さらには確率推定テーブル202(外れ領域幅)からのデータ読み出しが不要になるため、復号化処理速度を向上することができる。
【0047】
【発明が解決しようとする課題】
しかし、上述した従来技術では、典型的予測をしない場合において、リアルタイム通信するには処理性能が不足する。その第1の理由は、コンテキスト作成のための画像データ・ブロックの読み出し処理が、復号化対象ライン、一つ前のライン、2つ前のラインの3つのラインに対して、ブロック単位で頻繁に行われるからである。その第2の理由は、ブロック単位毎にオール白判別処理、1画素復号化毎に予測値判別処理が行われるからである。
【0048】
そこで、本発明は、3ライン分の画像データの読み出し処理、ブロック判別処理、予測値判別処理を削減してJBIG復号化処理速度を更に向上することを課題としている。
【0049】
また、本発明は、JBIG復号化処理速度の向上に伴って画像データ、学習テーブル及び確率推定テーブルの各メモリからの読み出し回数を削減し、JBIG復号化装置の消費電力を低減することを課題としている。
【0050】
【課題を解決するための手段】
本発明に係るJBIG復号化方法は、復号化対象ラインとこれに先立つ1又は2本の参照ラインを用いて前記復号化対象ライン上の復号化対象画素を復号化するJBIG復号化方法であって、前記参照ラインがオール白の場合は内容が全て0であるコンテキストの予測値が白であるかどうかを判別し、予測値が白であるときにはオール白専用である第1の1ライン復号化処理を行う一方、参照ラインがオール白でないとき又は前記コンテキストの予測値が白でないときには復号化対象画素の周辺画素の読み出し処理をオール白フラグ点検後に行う第2の1ライン復号化処理を行い、前記第2の1ライン復号化処理においては、参照ラインがオール白の場合には前記参照ラインからの画像データの読み出し処理を行わないことを特徴とする。
【0051】
また、本発明に係るJBIG復号化方法は、復号化対象ラインとこれに先立つ1又は2本の参照ラインを用いて前記復号化対象ライン上の復号化対象画素を復号化するJBIG復号化方法であって、 典型的予測をしない場合において、前記参照ラインがオール白の場合は内容が全て0であるコンテキストの予測値が白であるかどうかを判別し、予測値が白であるときにはオール白専用である第1の1ライン復号化処理を行う一方、参照ラインがオール白でないとき又は前記コンテキストの予測値が白でないときには復号化対象画素の周辺画素の読み出し処理をオール白フラグ点検後に行う第2の1ライン復号化処理を行い、前記第2の1ライン復号化処理においては、参照ラインがオール白の場合には前記参照ラインからの画像データの読み出し処理を行わないことを特徴とし、典型的予測をする場合において、前記復号化対象ラインとその一つ前の前記参照ラインが同じか否かを判別し、同じでないときには復号化対象画素の周辺画素の読み出し処理をブロック単位で毎回行う第3の1ライン復号化処理を実行し、同じであるときには前記復号化対象ラインを復号化の対象としないことを特徴とする。
【0052】
また、本発明に係るJBIG復号化方法は、復号化対象ラインとこれに先立つ1又は2本の参照ラインを用いて前記復号化対象ライン上の復号化対象画素を復号化するJBIG復号化方法であって、典型的予測をする場合において、前記復号化対象ラインとその一つ前の前記参照ラインが同じか否かを判別し、同じであるときには、オール白フラグ設定処理を行う一方、同じでないときには、前記参照ラインがオール白の場合は内容が全て0であるコンテキストの予測値が白であるかどうかを判別し、予測値が白であるときにはオール白専用である第1の1ライン復号化処理を行う一方、参照ラインがオール白でないとき又は前記コンテキストの予測値が白でないときには復号化対象画素の周辺画素の読み出し処理をオール白フラグ点検後に行う第2の1ライン復号化処理を行い、前記第2の1ライン復号化処理においては、参照ラインがオール白の場合には前記参照ラインからの画像データの読み出し処理を行わないことを特徴とし、典型的予測をしない場合において、復号化対象画素の周辺画素の読み出し処理をブロック単位で毎回行う第3の1ライン復号化処理を行うことを特徴とする。
【0053】
本発明に係るJBIG復号化プログラムは、復号化対象ラインとこれに先立つ1又は2本の参照ラインを用いて前記復号化対象ライン上の復号化対象画素を復号化するJBIG復号化方法であって、前記参照ラインがオール白の場合は内容が全て0であるコンテキストの予測値が白であるかどうかを判別し、予測値が白であるときにはオール白専用である第1の1ライン復号化処理を行う一方、参照ラインがオール白でないとき又は前記コンテキストの予測値が白でないときには復号化対象画素の周辺画素の読み出し処理をオール白フラグ点検後に行う第2の1ライン復号化処理を行い、前記第2の1ライン復号化処理においては、参照ラインがオール白の場合には前記参照ラインからの画像データの読み出し処理を行わないことを特徴とする。
【0054】
また、本発明に係るJBIG復号化プログラムは、復号化対象ラインとこれに先立つ1又は2本の参照ラインを用いて前記復号化対象ライン上の復号化対象画素を復号化するJBIG復号化プログラムであって、典型的予測をしない場合において、前記参照ラインがオール白の場合は内容が全て0であるコンテキストの予測値が白であるかどうかを判別し、予測値が白であるときにはオール白専用である第1の1ライン復号化処理を行う一方、参照ラインがオール白でないとき又は前記コンテキストの予測値が白でないときには復号化対象画素の周辺画素の読み出し処理をオール白フラグ点検後に行う第2の1ライン復号化処理を行い、前記第2の1ライン復号化処理においては、参照ラインがオール白の場合には前記参照ラインからの画像データの読み出し処理を行わないことを特徴とし、典型的予測をする場合において、前記復号化対象ラインとその一つ前の前記参照ラインが同じか否かを判別し、同じでないときには復号化対象画素の周辺画素の読み出し処理をブロック単位で毎回行う第3の1ライン復号化処理を実行し、同じであるときには前記復号化対象ラインを復号化の対象としないことを特徴とする。
【0055】
また、本発明に係るJBIG復号化プログラムは、復号化対象ラインとこれに先立つ1又は2本の参照ラインを用いて前記復号化対象ライン上の復号化対象画素を復号化するJBIG復号化プログラムであって、典型的予測をする場合において、前記復号化対象ラインとその一つ前の前記参照ラインが同じか否かを判別し、同じであるときには、オール白フラグ設定処理を行う一方、同じでないときには、前記参照ラインがオール白の場合は内容が全て0であるコンテキストの予測値が白であるかどうかを判別し、予測値が白であるときにはオール白専用である第1の1ライン復号化処理を行う一方、参照ラインがオール白でないとき又は前記コンテキストの予測値が白でないときには復号化対象画素の周辺画素の読み出し処理をオール白フラグ点検後に行う第2の1ライン復号化処理を行い、前記第2の1ライン復号化処理においては、参照ラインがオール白の場合には前記参照ラインからの画像データの読み出し処理を行わないことを特徴とし、典型的予測をしない場合において、復号化対象画素の周辺画素の読み出し処理をブロック単位で毎回行う第3の1ライン復号化処理を行うことを特徴とする。
【0060】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態について説明する。
【0061】
図1は本発明のJBIG復号化方法に使用する復号化装置のブロック図である。この装置は、演算処理、データ処理、及び各部の制御処理等を行うCPU(中央処理演算装置)100と、受信時に受け取った符号データを蓄える符号データメモリ500と、変換された結果である画像データを蓄える画像データメモリ400と、JBIGによる復号化プログラム201A及び符号データを画像データに変換するための確率推定テーブル202が配置格納されるROM200と、復号化対象画素が白か黒かを予測して当たる確率を高くするために参照される学習テーブル301が配置格納されるRAM300と、符号データあるいは画像データを一時的に蓄えるFIFO(ファースト・イン ファースト・アウト)管理されたFIFOメモリ600がバス700で接続されている。
【0062】
また、CPU100は、復号化対象ラインよりブロック単位で読み出した画像データを保持するレジスタ101と、復号化対象ラインの一つ前のラインよりブロック単位で読み出した画像データを保持するレジスタ102と、復号化対象ラインの2つ前のラインよりブロック単位で読み出した画像データを保持するレジスタ103と、予測結果を保持するレジスタ104と、学習テーブル301より読み出した予測値、状態値を保持するレジスタ105と、確率推定テーブル202より読み出した外れの領域幅を保持するレジスタ106と、コンテキストの内容を保持するレジスタ107と、復号化対象ラインの2つ前のライン(H2ライン)がオール白かどうかを示すH2フラグ、復号化対象ラインの一つ前のライン(H1ライン)がオール白かどうかを示すH1フラグ及び復号化対象ラインがオール白かどうかを示すPIXフラグを保持するレジスタ108を持つ。
【0063】
[第1実施形態]
第1実施形態は、モデルテンプレートが3ラインの場合である。図2から図5のフローチャートを参照して、図1のROM200中のJBIGプログラム部201Aの処理について説明する。
【0064】
図2を参照して、全体の動作について説明する。
【0065】
まず、1ページ分の復号化処理の先頭で、オール白フラグ(H2フラグ:2ライン前、H1フラグ:1ライン前、PIXフラグ:復号化対象ラインの3個のフラグ)の初期化を行う(S20)。
復号化対象ラインが、ページの先頭の場合は、2ライン前及び1ライン前のラインが存在しないが、実際には仮想の白ラインがあるものとする。
【0066】
次に、典型的予測をするかしないかを判別し(S21)、典型的予測をしない場合は、オール白フラグの再設定処理(S22)を行う。具体的には、1ライン前のH1から2ライン前のH2にオール白フラグを代入し、復号化対象のラインのPIXから1ライン前のH1にオール白フラグを代入する(S22)。
【0067】
次に、参照ライン(H2ライン、H1ライン)がオール白か、オール白でないか判別する(S23)。
【0068】
前記判別処理により、参照ラインの画像データがオール白の場合は、コンテキスト(0)の予測値が白であるかどうかを判別し(S24)、予測値が白であれば、オール白用の第1の1ライン復号化処理を行う(S25)。
【0069】
一方、S23において前記判別の結果、参照ラインがオール白でない場合、あるいはS24において、予測値が白でない場合は、第2の1ライン復号化処理を行う(S26)。
【0070】
次に、原稿ライン数全部の処理が終了したかを判別し(S27)、終了していない場合は典型的予測設定の有り無しに応じて、それぞれS29(ライン一致確認処理)、S22(オール白フラグ再設定処理)へ戻り、復号化処理を繰り返す。
【0071】
典型的予測をする場合には、S27に続いて2つのライン(復号化対象ラインと復号化対象ラインの一つ前のライン)が同じかどうかを判別する(S29)。前記判別結果が同じでなかった場合は、従来どおりの1ライン復号化処理(S210)を実行し、同じであると判定された場合は、復号化対象ラインPIXを復号化の対象としない。
【0072】
次に、S29又はS210に続いて、原稿ライン数分の処理が終了したかを判別し(S27)、終了していない場合は、ライン一致確認処理(S29)へ戻り、復号化処理を繰り返す。
【0073】
一方、典型的予測をしない場合には、S27に続いてオール白フラグ再設定処理(S22)に戻る。
【0074】
以上の処理を原稿ライン数分繰り返すことで復号化処理を行う。
【0075】
次に、図3を参照して、参照ライン(H2ライン、H1ライン)がオール白、コンテキスト(0)の予測値が白の場合のオール白専用の第1の1ライン復号化処理(図2のS25)について説明する。
【0076】
まず、復号化対象画素の周辺画素を1次元化したコンテキスト(0)をインデックスとして、学習テーブル301より予測値、状態値を読み出す(S30)。
【0077】
次に、前記状態値をインデックスとして、確率推定テーブル202より、外れの領域幅を読み出し(S31)、1画素復号化処理(S32)を行う。
【0078】
次に、前記1画素復号化処理の復号化結果の判別(S32)を行い、復号化結果が白の場合は、ライン終了(S34)まで1画素復号化処理を繰り返し、最後にオール白フラグPIXをセット(S35)して、一連の処理を終了する。
【0079】
前記復号化結果の判別で、復号化結果が白でない場合は、オール白フラグPIXをリセット(S36)して、第2の1ライン復号化処理へ分岐(分岐A)する。
【0080】
前記ライン終了判定(S34)で、ライン終了でない場合は、前記1画素復号化処理中の正規化処理の有り無しに応じて(S37)、それぞれS30(予測値、状態値の読み出し処理)、S32(1画素復号化処理)へ戻り、復号化処理を繰り返す。
【0081】
次に、図4を参照して、図3の1画素復号化処理S32について説明する。
【0082】
まず、白黒の順列が現れる確率を示す領域幅から前記外れの領域幅を差し引いて、新しい領域幅に更新する(S40)。
【0083】
次に、前記領域幅の更新処理で領域幅が小さくなり、領域幅を外れの領域幅より大きくする正規化が必要かどうかを判別する(S41)。
【0084】
前記判別結果で正規化が必要な場合は、当たりの確率を示す領域幅を変更し、更新した状態値を学習テーブル301に書き込む予測当たり処理(S42)、正規化処理を行う(S43)。正規化が必要ない場合は、何もせずに1画素復号化処理を終了する。
【0085】
図2のS25の第1の1ライン復号化処理においては、参照ラインがオール白、コンテキスト(0)の予測値が白であることが判っているため、1画素復号化結果が白でなくなるまで言いかえると黒になるまではモデルテンプレートの値が常に白(0)となり、コンテキストも常に”0”となる。このため、従来ブロック単位毎に行っていた復号化対象画素の周りの周辺画素(モデルテンプレート)の読み出し処理、ブロック判別処理、予測値判別処理が不要となる。
【0086】
次に、図5を参照して、図2のS26の第2の1ライン復号化処理について説明する。この第2の1ライン復号化処理は、既に説明したように、前記参照ラインのオール白判別処理(S23)でオール白でない場合、あるいは前記第1の1ライン復号化処理中に復号化結果が白でない場合に分岐(分岐A)して実行されるものである。
【0087】
基本的には、従来と同等の処理を行うが、相違点は復号化対象画素の周辺画素の読み出し処理(従来技術の図16のS51)が本発明においては、オール白フラグチェック(S520)後に行われる(S530)ことである。
【0088】
また、もう一つの相違点は、1ライン復号化終了後に、復号化したラインがオール白がどうかを判別(S58)し、オール白の場合はオール白フラグPIXをセット(S59)、オール白でない場合はオール白フラグPIXをリセット(S510)する一連の処理が追加されている点である。
【0089】
具体的には、前記画像データの読み出し処理の際、オール白フラグの状態をチェック(S520)し、オール白フラグH2、H1がセットされている参照ラインからの画像データの読み出し処理は行わない(S530)。前記オール白フラグのチェックでいずれのフラグもセットされていなければ、画像データの読み出し処理を従来と同じように行う(S530)。
【0090】
以上の処理を行うことにより、復号化処理速度を向上することができる。
【0091】
本発明は、ファクシミリで取り扱うことが多い文書画像のように、白目がちの画像に対して、特に有効となることは明らかである。
【0092】
[第2実施形態]
第2実施形態は、モデルテンプレートが2ラインの場合である。
【0093】
図6を参照すると、第2実施施形態は、図1で説明した第1実施形態のオール白フラグ初期化(S60)、オール白フラグの再設定処理(S61)の各処理において、オール白フラグH2を使用していない点で異なる。モデルテンプレートが2ラインの場合、参照ラインは復号化対象ラインの一つ前のラインH1しかないからである。その他の処理は第1実施形態と同様である。以上の処理を行うことにより、第1実施形態と同様に、復号化処理速度を向上することができる。
【0094】
[第3実施形態]
第3実施形態は、モデルテンプレートが3ラインの場合である。図7に示すように、典型的予測をする場合に、第1実施形態で説明した参照ラインのオール白判別処理(S23)、コンテキスト(0)の予測値判別処理(S24)、オール白用の第1の1ライン復号化処理(S25)、第2の1ライン復号化処理(S26)を適用したものである。
【0095】
基本的な処理は第1実施形態と同様であるが、オール白フラグの設定処理(S70)が追加されている点で異なる。この理由は、典型的予測をする場合に、2つのライン(復号化対象ラインと復号化対象ラインの一つ前のライン)が同じかどうかを判別するライン一致確認処理(S29)で2つのラインが同一と判断された場合には1ライン復号化処理を行わないためである。2つのラインが同一と判断された場合には、実際には、一つ前のラインをコピーする処理を行う。
【0096】
以上の処理を行うことにより、第1実施形態と同様に、復号化処理速度を向上することができる。
【0097】
[第4実施形態]
第4実施形態は、モデルテンプレートが2ラインの場合である。図8に示すように、第3実施形態のオール白フラグ初期化(S60)、オール白フラグの再設定処理(S61)の各処理において、オール白フラグH2を使用していない点で異なる。モデルテンプレートが2ラインの場合、参照ラインは復号化対象ラインの一つ前のラインH1しかないからである。その他の処理は第3実施形態と同様である。以上の処理を行うことにより、第1実施形態と同様に、復号化処理速度を向上することができる。
【0098】
【発明の効果】
以上説明した本発明によれば、復号化処理速度を向上(従来と比べ、数十%の高速化が見込める)することができる。その理由は、参照ラインがオール白かどうかを判別する処理と、前記判別結果がオール白の場合に、コンテキスト(0)の予測値が白であるかを判別する処理により、オール白ライン用の第1の1ライン復号化処理へ分岐させることで、3ライン分の画像データの読み出し処理、ブロック判別処理、予測値判別処理を削減できるからである。その第2の理由は、前記オール白ライン用の第1の1ライン復号化処理において、復号化結果が白でない(黒)場合に分岐、実行される第2の1ライン復号化処理では、参照ラインがオール白と判っているため、参照ラインからの画像データの読み出し処理が必要ないからである。
【0099】
また、本発明によれば、復号化処理におけるシステムの消費電力を低減できる。その理由は、画像データ、学習テーブル及び確率推定テーブルの各メモリからの読み出し回数を削減できるからである。
【図面の簡単な説明】
【図1】本発明のJBIG復号化方法に使用する復号化装置のブロック図
【図2】本発明の第1実施形態の復号化方法を説明するためのフローチャート
【図3】図2のS25の第1の1ライン復号化処理を説明するためのフローチャート
【図4】図3のS32の1画素復号化処理を説明するためのフローチャート
【図5】図2のS26の第2の1ライン復号化処理を説明するためのフローチャート
【図6】第2実施形態の復号化方法を説明するためのフローチャート
【図7】第3実施形態の復号化方法を説明するためのフローチャート
【図8】第4実施形態の復号化方法を説明するためのフローチャート
【図9】画像データを格納するためのメモリブロックを示す図
【図10】モデルテンプレートを示す図
【図11A】コンテキストの一例を示す図
【図11B】コンテキストの他の例を示す図
【図12】コンテキストテーブル即ち学習テーブルの一例を示す図
【図13】確率推定テーブルを示す図
【図14】従来のJBIG復号化装置のブロック図
【図15】従来のJBIG復号化方法を説明するためのフローチャート
【図16】図15のS210の1ライン復号化処理を説明するためのフローチャート
【図17】図16のS54の1画素復号化処理を説明するためのフローチャート
【図18】図16のS55の1画素復号化処理を説明するためのフローチャート
【符号の説明】
100 CPU
200 JBIGプログラム及び確率推定テーブル格納ROM
300 学習テーブル格納RAM
400 画像データ格納RAM
500 符号データ格納RAM
600 RAM(FIFOメモリ)
700 バス
[0001]
[Technical field to which the invention belongs]
The present invention relates to a binary image decoding method, and more particularly, to a binary image decoding method that speeds up the decoding process by JBIG (joint bi-level image group).
[0002]
[Prior art]
Conventionally, when decoding a monochrome binary image such as a facsimile, various processing methods are known when one line is all white.
[0003]
For example, in the facsimile decoding circuit disclosed in Japanese Patent Laid-Open No. 1-198868, when the decoding result is all white for one line, image data is not transferred to the line memory, and this is controlled by a control signal. By notifying, the same result as when one-line image data is transferred is obtained.
[0004]
Also, in the decompression processing apparatus for compressed code data disclosed in Japanese Patent Application Laid-Open No. 1-222379, when data corresponding to all white for one line is input during decompression processing, the image data of that line is stored. Even if the image data is not generated / transferred, the same effect as that of sequentially generating / transferring the image data is obtained simply by increasing the address counter.
[0005]
In the facsimile decoding apparatus disclosed in Japanese Patent Application Laid-Open No. Hei 2-213278, when one reference line is used for two-dimensional decoding, the image data of the reference line is not read. ing. As a result, the two-dimensional decoding can be speeded up.
[0006]
In the facsimile encoding apparatus and decoding apparatus disclosed in Japanese Patent Laid-Open No. 3-228470, when there is a line in which all pixels are white, a 1-bit all white code is generated. Then, a 1-bit identification code for displaying the all white code is also added. That is, one line all white can be expressed by 2 bits. Therefore, encoding / decoding is executed at each stage at a higher speed than MH (modified Huffman) code and MR (modified READ) code.
[0007]
In the facsimile apparatus disclosed in Japanese Patent Publication No. 4-23991, the run length of binary data is compressed using a modified read (MR) code or a modified modified read (MMR) code. Is determined whether there is a change point in the reference line, that is, the previous line, and the determination result and the code of the line to be decoded are used to determine whether all white lines are continuous. Yes. If this continues, the line is not decoded, and the printing from the line memory for printing and the printing recording operation are not performed.
[0008]
Furthermore, JBIG (Joint bi-label Image coding group, ITU-T.82 / ISO / IEC11544) is one of data compression / decompression techniques. In JBIG encoding, the level of a pixel to be encoded is estimated from its surrounding area. Specifically, the peripheral area of the target pixel, that is, the model template is made one-dimensional to obtain the context. Then, the appearance probability of the level of the target pixel corresponding to the context is estimated by learning. Then, based on the learning result, the level of the target pixel is arithmetically encoded (AAE) and expressed as a binary decimal number of 0 or more and less than 1. In the case of JBIG decoding, the reverse procedure is performed.
[0009]
In JBIG encoding, since prediction learning is performed on whether the target pixel is white or black, encoding is performed only when the prediction is lost. Performing encoding / decoding using this JBIG is disclosed in, for example, Japanese Patent No. 2919384.
[0010]
Here, the JBIG model template (Model Template: MT) process will be described.
[0011]
FIG. 9 shows a memory block for storing image data. The memory block stores data of the decoding target line PIX, the previous reference line H1, and the second previous reference line H2.
[0012]
FIG. 10 shows a model template in the memory block. The model template is a peripheral pixel pattern of the target pixel to be decoded.
[0013]
There are two model templates: a 3-line model template and a 2-line model template. The shape of MT is determined in advance.
[0014]
However, when encoding an image having a strong correlation with a certain period, the position of the second pixel of the 3-line MT or the position of the fourth pixel of the 2-line MT may be moved to, for example, 127 pixels. .
[0015]
As shown in FIG. 10, the context is a one-dimensional arrangement of the ninth pixel to the zeroth pixel of MT in this order.
[0016]
11A and 11B show specific examples of contexts. The context of FIG. 11A does not include black, and this context is represented by “000H”. On the other hand, in the context of FIG. 11B, the ninth pixel and the fifth pixel are black, and this context is represented by “220H”.
[0017]
FIG. 12 shows a specific example of a context table, that is, a learning table. This table is a table for storing pixel values predicted from context values obtained from a model template for 10 pixels and their state numbers. The current state (ST) is set to “0”. Then, it is assumed that the target pixel is predicted to be white “0” in the current learning table (context “220H”). If the prediction is correct, the learning table is left as it is. On the other hand, when the prediction is wrong, the prediction value is changed to black “1” and ST is set to “1”.
[0018]
FIG. 13 shows a probability estimation table. This table is composed of the LPS region width LSZ, the next state transition numbers NLPS and NMPS indicated by the context table, that is, the learning table, and the predicted value inversion SWITCH. Here, in the symbols to be encoded / decoded, the dominant symbol MPS is used as the symbol that appears more frequently, and the inferior symbol LPS as the symbol that appears less. In addition, the state transition destination at the time of LPS, that is, unexpected, is NLPS.
In addition, the state transition destination at the time of MPS, that is, the expected hit is NMPS. Further, if SWITCH = 1 at the time of LPS, that is, when it is not expected, the predicted value is inverted.
[0019]
According to this probability estimation table, if the prediction is lost when the state number ST = 0, the state is shifted to the state number NLPS = 1 and the predicted value must be inverted. Therefore, the prediction value of the context table shown in FIG. 12, that is, the learning table is changed from white to black, and the state number is changed from “0” to “1”.
[0020]
FIG. 14 is a block diagram of the JBIG data decoding apparatus. This apparatus includes a CPU (Central Processing Arithmetic Unit) 100 that performs arithmetic processing, data processing, control processing of each unit, an image data memory 400 that stores a binary image of a document read at the time of transmission, and at the time of reception. A code data memory 500 that stores received data as codes, a ROM 200 in which a decoding program 201 by JBIG and a probability estimation table 202 for converting code data into image data are arranged and stored, and a pixel to be decoded is white or black A RAM 300 in which a learning table 301 that is referred to in order to increase the probability of being predicted is placed and stored, and a FIFO memory 600 that manages image data that is the result of conversion is a bus. 700 is connected.
[0021]
The CPU 100 includes a register 101 that holds image data read in units of blocks from a decoding target line, a register 102 that holds image data read out in units of blocks from a line immediately preceding the decoding target line, and a decoding target A register 103 that holds image data read in units of blocks from the line two lines before the line, a register 104 that holds prediction results, a register 105 that holds prediction values and state values read from the learning table 301, and a probability It has a register 106 that holds an out-of-range area width read from the estimation table 202 and a register 107 that holds the contents of the context. The CPU 100 executes JBIG decryption processing by executing a JBIG decryption program 201.
[0022]
FIG. 15 is a flowchart for explaining the JBIG decoding method.
[0023]
First, it is determined whether or not to perform typical prediction (TP), which is an option of JBIG (S21). Here, the typical prediction TP is a process for reducing the number of target pixels to be encoded / decoded, that is, the number of target pixels. In the case of encoding processing, when the encoding target line PIX is the same as the previous line H1, encoding is not performed. The fact that the PIX image data and the H1 image data are the same is encoded as a pseudo pixel using 1 bit. On the other hand, in the case of decoding processing, if the decoding target line PIX is the same as the previous line H1, decoding is not performed and the image data of H1 is output (copied).
[0024]
When the typical prediction as described above is not performed, a one-line decoding process is performed (S210). Subsequent to S210, it is determined whether processing for the number of document lines has been completed (S27). If not completed, the process returns to 1-line decoding processing (S210) and the decoding processing is repeated.
[0025]
On the other hand, when typical prediction is performed (S21), it is determined whether or not the two lines (the decoding target line and the preceding line of the decoding target line) are the same (S29). If the two lines are not the same, a one-line decoding process (S210) is performed. On the other hand, if the two lines are the same, the decoding target line is not subject to decoding. Next, as in the case where typical prediction is not performed (S21), it is determined whether processing for the number of document lines has been completed (S27). If not, the process returns to line matching confirmation processing (S29). Repeat the decryption process.
[0026]
The above process is repeated for the number of document lines, for example, 2376 lines in the case of an A4 size document, so that the decoding process is performed.
[0027]
FIG. 16 is a flowchart for explaining the one-line decoding process in S210 of FIG.
[0028]
First, the three image data blocks of the line H2 immediately before the decoding target line, the line H1 immediately before the decoding target line, and the decoding target line PIX are read in block units (S51).
[0029]
Next, it is determined whether or not the three image data blocks are all white (S52).
[0030]
If the determination result is all white, the one-pixel decoding process (S55) is repeated until the block process ends. When the process for each block is completed, the process returns to the beginning of the one-line decoding process to determine whether the decoding process for one line is completed (S50). The process ends. On the other hand, if the line is not finished as a result of the discrimination, a series of decoding processes in units of blocks from the image data reading process (S51) is continued.
[0031]
On the other hand, if the determination result is not all white in S52, a context in which the peripheral pixels (model template) of the decoding target pixel is made one-dimensional is created (S53) until the block processing is completed (S56). A decoding process is performed (S54), and a series of processes for shifting the image data of three blocks by 1 bit each (S57) is repeated. When the process for each block is completed, the process returns to the beginning of the one-line decoding process to determine whether the decoding process for one line is completed (S50). The process ends.
[0032]
On the other hand, if the determination result is not the end of line in S50, a series of decoding processes in units of blocks from the image data reading process (S51) is continued.
[0033]
The decoding process is performed by repeating the above process for the number of document lines.
[0034]
FIG. 17 is a flowchart for explaining the one-pixel decoding process in S54 of FIG. This one-pixel decoding process in S54 is different from the one-pixel decoding process in S55.
[0035]
As shown in FIG. 17, first, a prediction value and a state value are read from the learning table 301 using a context obtained by making the peripheral pixels of the decoding target pixel one-dimensionally as an index (S120).
[0036]
Next, a region width out of the probability estimation table 202 is read using the state value as an index (S31).
[0037]
Further, the deviated region width is subtracted from the region width indicating the probability that a black and white permutation appears, and updated to a new region width (S40).
[0038]
Next, it is determined whether the decoding target pixel matches the predicted value (S121). When it is determined that the pixel to be decoded does not match the predicted value, the region width indicating the probability of divergence is changed, and a prediction deviance process for writing the updated state value in the learning table 301 is performed (S122). Normalization is performed to make the width larger than the outlying region width (S43).
[0039]
On the other hand, if it is determined in S121 that the decoding target pixel matches the predicted value, it is determined whether normalization is required to make the region width larger than the outlying region width (S41). When normalization is required in the determination result, the region width indicating the probability of winning is changed, and the prediction hit process (S42) and the normalization process (S43) for writing the updated state value in the learning table 301 are performed. A series of one-pixel decoding processes are terminated.
[0040]
FIG. 18 is a flowchart for explaining the one-pixel decoding process in S55 of FIG.
[0041]
As shown in FIG. 18, first, a prediction value and a state value are read out from the learning table 301 by using, as an index, a context (0) obtained by making the peripheral pixels of the decoding target pixel one-dimensional (S30).
[0042]
Next, a region width out of the probability estimation table 202 is read using the state value as an index (S31). Further, the deviated region width is subtracted from the region width indicating the probability that a black and white permutation appears, and updated to a new region width (S40).
[0043]
Next, it is determined whether or not the predicted value of the pixel to be decoded is white (S130). When it is determined that the predicted value of the decoding target pixel is not white, the region width indicating the probability of divergence is changed, and an unpredictive process for writing the updated state value in the learning table 301 is performed (S122). Normalization is performed so as to be larger than the outlying region width (S43).
On the other hand, if it is determined in S130 that the predicted value of the decoding target pixel is white, it is determined whether normalization is required to make the region width larger than the outlying region width (S41). When normalization is required in the determination result, the region width indicating the probability of winning is changed, and the prediction hit process (S42) and the normalization process (S43) for writing the updated state value in the learning table 301 are performed. A series of one-pixel decoding processes are terminated.
[0044]
On the other hand, if normalization is not required in S41, it is determined whether or not the processing for each block has been completed (S131). If not, the predicted value, state value, and probability estimation table from the learning table 301 are determined. Without reading out the outlying area from 202, a series of processes for updating only the area width (S40) is repeated.
[0045]
On the other hand, if the determination result is block end in S131, the one-pixel decoding process is ended.
[0046]
Summarizing the features of the prior art described above, if the image data read in units of blocks is all white, the context creation process is not necessary, and if the predicted value is white and the normalization process is not necessary, the learning table ( (Predicted value, state value) Further, since it is not necessary to read data from the probability estimation table 202 (outlier area width), the decoding processing speed can be improved.
[0047]
[Problems to be solved by the invention]
However, the above-described conventional technology lacks processing performance for real-time communication when typical prediction is not performed. The first reason is that image data block read processing for context creation is frequently performed on a block-by-block basis for the three lines of the decoding target line, the previous line, and the previous line. Because it is done. The second reason is that an all white discrimination process is performed for each block unit and a prediction value discrimination process is performed for each one-pixel decoding.
[0048]
Accordingly, an object of the present invention is to further improve the JBIG decoding processing speed by reducing the image data read processing, block discrimination processing, and prediction value discrimination processing for three lines.
[0049]
Another object of the present invention is to reduce the number of times the image data, the learning table, and the probability estimation table are read from each memory as the JBIG decoding processing speed is improved, thereby reducing the power consumption of the JBIG decoding device. Yes.
[0050]
[Means for Solving the Problems]
A JBIG decoding method according to the present invention is a JBIG decoding method for decoding a decoding target pixel on the decoding target line using a decoding target line and one or two reference lines preceding the decoding target line. When the reference line is all white, it is determined whether or not the predicted value of the context whose content is all 0 is white. When the predicted value is white, the first one-line decoding process dedicated to all white On the other hand, when the reference line is not all white or when the predicted value of the context is not white, a second one-line decoding process is performed in which the peripheral pixels of the decoding target pixel are read after checking the all white flag, In the second one-line decoding process, when the reference line is all white, the image data reading process from the reference line is not performed.
[0051]
The JBIG decoding method according to the present invention is a JBIG decoding method for decoding a decoding target pixel on the decoding target line using a decoding target line and one or two reference lines preceding the decoding target line. In the case where the typical prediction is not performed and the reference line is all white, it is determined whether or not the prediction value of the context whose contents are all 0 is white. On the other hand, when the reference line is not all white or when the predicted value of the context is not white, the reading process of the peripheral pixels of the decoding target pixel is performed after the all white flag check. In the second one-line decoding process, when the reference line is all white, the image data is read from the reference line. In the case of typical prediction, it is determined whether or not the decoding target line is the same as the previous reference line, and if not, the periphery of the decoding target pixel A third one-line decoding process is performed in which a pixel reading process is performed every block, and if the same, the decoding target line is not set as a decoding target.
[0052]
The JBIG decoding method according to the present invention is a JBIG decoding method for decoding a decoding target pixel on the decoding target line using a decoding target line and one or two reference lines preceding the decoding target line. In the case of typical prediction, it is determined whether or not the decoding target line and the preceding reference line are the same, and if they are the same, an all white flag setting process is performed, but not the same. Sometimes, when the reference line is all white, it is determined whether the predicted value of the context whose content is all 0 is white, and when the predicted value is white, the first one-line decoding dedicated to all white On the other hand, when the reference line is not all white or when the predicted value of the context is not white, the process of reading the peripheral pixels of the decoding target pixel is performed after checking the all white flag. The second one-line decoding process is performed, and in the second one-line decoding process, when the reference line is all white, the image data reading process from the reference line is not performed. In the case where typical prediction is not performed, a third one-line decoding process is performed in which the reading process of the peripheral pixels of the decoding target pixel is performed every block.
[0053]
A JBIG decoding program according to the present invention is a JBIG decoding method for decoding a decoding target pixel on the decoding target line using a decoding target line and one or two reference lines preceding the decoding target line. When the reference line is all white, it is determined whether or not the predicted value of the context whose content is all 0 is white. When the predicted value is white, the first one-line decoding process dedicated to all white On the other hand, when the reference line is not all white or when the predicted value of the context is not white, a second one-line decoding process is performed in which the peripheral pixels of the decoding target pixel are read after checking the all white flag, In the second one-line decoding process, when the reference line is all white, the image data reading process from the reference line is not performed. .
[0054]
The JBIG decoding program according to the present invention is a JBIG decoding program for decoding a decoding target pixel on the decoding target line using a decoding target line and one or two reference lines preceding the decoding target line. In the case where typical prediction is not performed, if the reference line is all white, it is determined whether or not the prediction value of the context whose contents are all 0 is white. On the other hand, when the reference line is not all white or when the predicted value of the context is not white, the reading process of the peripheral pixels of the decoding target pixel is performed after the all white flag check. In the second one-line decoding process, if the reference line is all white, the image from the reference line is In the case of typical prediction, it is determined whether or not the decoding target line is the same as the previous reference line, and if not, the decoding target A third one-line decoding process is performed in which a pixel neighboring pixel reading process is performed every block, and if the same, the decoding target line is not set as a decoding target.
[0055]
The JBIG decoding program according to the present invention is a JBIG decoding program for decoding a decoding target pixel on the decoding target line using a decoding target line and one or two reference lines preceding the decoding target line. In the case of typical prediction, it is determined whether or not the decoding target line and the preceding reference line are the same, and if they are the same, an all white flag setting process is performed, but not the same. Sometimes, when the reference line is all white, it is determined whether the predicted value of the context whose content is all 0 is white, and when the predicted value is white, the first one-line decoding dedicated to all white On the other hand, when the reference line is not all white or when the predicted value of the context is not white, the reading processing of the peripheral pixels of the pixel to be decoded is all white. A second one-line decoding process performed after checking the image, and in the second one-line decoding process, when the reference line is all white, the image data reading process from the reference line is not performed. In a case where typical prediction is not performed, a third one-line decoding process is performed in which a process of reading pixels around a decoding target pixel is performed every block.
[0060]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings.
[0061]
FIG. 1 is a block diagram of a decoding apparatus used in the JBIG decoding method of the present invention. This apparatus includes a CPU (Central Processing Arithmetic Unit) 100 that performs arithmetic processing, data processing, control processing of each unit, a code data memory 500 that stores code data received at the time of reception, and image data that is a result of conversion. Image data memory 400, JBIG decoding program 201A and ROM 200 in which probability estimation table 202 for converting code data into image data is arranged and stored, and whether the decoding target pixel is white or black A bus 300 includes a RAM 300 in which a learning table 301 referred to in order to increase the probability of hitting, and a FIFO (first in first out) managed FIFO memory 600 that temporarily stores code data or image data. It is connected.
[0062]
The CPU 100 also includes a register 101 that holds image data read in units of blocks from the decoding target line, a register 102 that holds image data read out in units of blocks from the previous line of the decoding target line, and a decoding A register 103 that stores image data read in units of blocks from a line immediately before the conversion target line, a register 104 that stores prediction results, and a register 105 that stores prediction values and state values read from the learning table 301. The register 106 that holds the out-of-range area width read from the probability estimation table 202, the register 107 that holds the contents of the context, and whether the line immediately preceding the decoding target line (H2 line) is all white. The H2 flag and the line before the decoding target line (H1 line) are over. H1 flag indicating whether the white and decoded line has a register 108 for holding the PIX flag that indicates whether all white.
[0063]
[First Embodiment]
The first embodiment is a case where the model template is three lines. Processing of the JBIG program unit 201A in the ROM 200 of FIG. 1 will be described with reference to the flowcharts of FIGS.
[0064]
The overall operation will be described with reference to FIG.
[0065]
First, at the beginning of the decoding process for one page, the all white flag (H2 flag: 2 lines before, H1 flag: 1 line before, PIX flag: 3 flags of the decoding target line) is initialized ( S20).
When the decoding target line is at the head of the page, there are no two lines before and one line before, but actually there is a virtual white line.
[0066]
Next, it is determined whether or not typical prediction is performed (S21). If typical prediction is not performed, an all white flag resetting process (S22) is performed. Specifically, the all white flag is substituted for H2 one line before from H1 one line before, and the all white flag is substituted for H1 one line before PIX of the decoding target line (S22).
[0067]
Next, it is determined whether the reference line (H2 line, H1 line) is all white or not all white (S23).
[0068]
If the image data of the reference line is all white by the determination process, it is determined whether or not the predicted value of the context (0) is white (S24). 1-line decoding process 1 is performed (S25).
[0069]
On the other hand, if it is determined in S23 that the reference line is not all white, or if the predicted value is not white in S24, a second one-line decoding process is performed (S26).
[0070]
Next, it is determined whether or not the processing for the entire number of document lines has been completed (S27). If the processing has not been completed, S29 (line matching confirmation processing) and S22 (all white) are performed according to the presence or absence of typical prediction settings. Returning to the flag resetting process, the decoding process is repeated.
[0071]
When typical prediction is performed, it is determined whether or not the two lines (the decoding target line and the preceding line of the decoding target line) are the same after S27 (S29). If the determination results are not the same, the conventional one-line decoding process (S210) is executed, and if it is determined that they are the same, the decoding target line PIX is not set as the decoding target.
[0072]
Next, following S29 or S210, it is determined whether or not the processing for the number of document lines has been completed (S27). If not completed, the processing returns to the line matching confirmation processing (S29) and the decoding processing is repeated.
[0073]
On the other hand, when the typical prediction is not performed, the process returns to the all white flag resetting process (S22) following S27.
[0074]
The decoding process is performed by repeating the above process for the number of document lines.
[0075]
Next, referring to FIG. 3, a first one-line decoding process dedicated to all white when the reference lines (H2 line, H1 line) are all white and the predicted value of context (0) is white (FIG. 2). Will be described.
[0076]
First, a prediction value and a state value are read from the learning table 301 by using, as an index, a context (0) obtained by making the peripheral pixels of the decoding target pixel one-dimensional (S30).
[0077]
Next, using the state value as an index, an outlier region width is read from the probability estimation table 202 (S31), and a one-pixel decoding process (S32) is performed.
[0078]
Next, the decoding result of the one-pixel decoding process is determined (S32). If the decoding result is white, the one-pixel decoding process is repeated until the end of the line (S34), and finally the all white flag PIX Is set (S35), and the series of processes is terminated.
[0079]
If it is determined in the decoding result that the decoding result is not white, the all white flag PIX is reset (S36), and the process branches to the second one-line decoding process (branch A).
[0080]
If the line end determination (S34) is not the end of the line, depending on the presence or absence of the normalization process during the one-pixel decoding process (S37), S30 (predicted value and state value reading process), S32, respectively. Returning to (one pixel decoding process), the decoding process is repeated.
[0081]
Next, the one-pixel decoding process S32 of FIG. 3 will be described with reference to FIG.
[0082]
First, the outlying area width is subtracted from the area width indicating the probability that a black and white permutation appears, and updated to a new area width (S40).
[0083]
Next, it is determined whether the region width is reduced by the region width updating process, and normalization is required to make the region width larger than the outlying region width (S41).
[0084]
If normalization is required based on the determination result, a prediction hit process (S42) in which the region width indicating the hit probability is changed and the updated state value is written in the learning table 301 is performed, and a normalization process is performed (S43). If normalization is not necessary, the one-pixel decoding process is terminated without doing anything.
[0085]
In the first one-line decoding process of S25 of FIG. 2, since it is known that the reference line is all white and the predicted value of the context (0) is white, the one-pixel decoding result is not white. In other words, the value of the model template is always white (0) and the context is always “0” until it becomes black. For this reason, the reading process, the block determination process, and the prediction value determination process of the peripheral pixels (model template) around the decoding target pixel, which have been performed for each block unit, are unnecessary.
[0086]
Next, the second one-line decoding process in S26 of FIG. 2 will be described with reference to FIG. As described above, the second one-line decoding process is performed when the reference line is not all white in the all-white discrimination process (S23) or when the decoding result is obtained during the first one-line decoding process. If it is not white, it is executed after branching (branch A).
[0087]
Basically, the same processing as the conventional one is performed, but the difference is that the peripheral pixel reading processing (S51 in FIG. 16 in the prior art) in the present invention is performed after the all white flag check (S520) in the present invention. Is to be performed (S530).
[0088]
Another difference is that after decoding one line, it is determined whether the decoded line is all white (S58). If it is all white, the all white flag PIX is set (S59), and not all white. In this case, a series of processes for resetting the all white flag PIX (S510) is added.
[0089]
Specifically, during the reading process of the image data, the state of the all white flag is checked (S520), and the reading process of the image data from the reference line in which the all white flags H2 and H1 are set is not performed ( S530). If none of the flags is set in the all white flag check, the image data reading process is performed in the same manner as before (S530).
[0090]
By performing the above processing, the decoding processing speed can be improved.
[0091]
It is obvious that the present invention is particularly effective for an image with a tendency to white eyes, such as a document image often handled by a facsimile.
[0092]
[Second Embodiment]
The second embodiment is a case where the model template is two lines.
[0093]
Referring to FIG. 6, in the second embodiment, the all white flag is initialized in all white flag initialization (S60) and all white flag reset processing (S61) in the first embodiment described in FIG. The difference is that H2 is not used. This is because when the model template is two lines, the reference line is only the line H1 immediately preceding the decoding target line. Other processes are the same as those in the first embodiment. By performing the above processing, the decoding processing speed can be improved as in the first embodiment.
[0094]
[Third Embodiment]
The third embodiment is a case where the model template is three lines. As shown in FIG. 7, when typical prediction is performed, the reference line all white discrimination process (S23), the context (0) prediction value discrimination process (S24) described in the first embodiment, and all white The first one-line decoding process (S25) and the second one-line decoding process (S26) are applied.
[0095]
The basic process is the same as that of the first embodiment, except that an all white flag setting process (S70) is added. The reason for this is that in the case of typical prediction, the two lines (the line to be decoded and the line preceding the line to be decoded) are identical in the line matching confirmation process (S29) for determining whether or not the two lines are the same. This is because the one-line decoding process is not performed when it is determined that they are the same. When it is determined that the two lines are the same, the process of actually copying the previous line is performed.
[0096]
By performing the above processing, the decoding processing speed can be improved as in the first embodiment.
[0097]
[Fourth Embodiment]
The fourth embodiment is a case where the model template is two lines. As shown in FIG. 8, the all white flag initialization (S60) and the all white flag resetting process (S61) of the third embodiment are different in that the all white flag H2 is not used. This is because when the model template is two lines, the reference line is only the line H1 immediately preceding the decoding target line. Other processes are the same as those in the third embodiment. By performing the above processing, the decoding processing speed can be improved as in the first embodiment.
[0098]
【The invention's effect】
According to the present invention described above, the decoding processing speed can be improved (a speed increase of several tens of percent can be expected as compared with the prior art). The reason for this is that processing for determining whether the reference line is all white and processing for determining whether the predicted value of the context (0) is white when the determination result is all white are all white lines. This is because branching to the first one-line decoding process can reduce the image data reading process, block discrimination process, and predicted value discrimination process for three lines. The second reason is that in the first one-line decoding process for the all white lines, in the second one-line decoding process that is branched and executed when the decoding result is not white (black), This is because it is known that the line is all white, so that it is not necessary to read out image data from the reference line.
[0099]
Further, according to the present invention, the power consumption of the system in the decoding process can be reduced. The reason is that the number of times of reading the image data, the learning table, and the probability estimation table from each memory can be reduced.
[Brief description of the drawings]
FIG. 1 is a block diagram of a decoding apparatus used in a JBIG decoding method of the present invention.
FIG. 2 is a flowchart for explaining a decoding method according to the first embodiment of the present invention;
FIG. 3 is a flowchart for explaining a first one-line decoding process in S25 of FIG. 2;
FIG. 4 is a flowchart for explaining the one-pixel decoding process in S32 of FIG. 3;
FIG. 5 is a flowchart for explaining a second one-line decoding process in S26 of FIG. 2;
FIG. 6 is a flowchart for explaining a decoding method according to the second embodiment;
FIG. 7 is a flowchart for explaining a decoding method according to the third embodiment;
FIG. 8 is a flowchart for explaining a decoding method according to the fourth embodiment;
FIG. 9 is a diagram showing a memory block for storing image data.
FIG. 10 is a diagram showing a model template
FIG. 11A is a diagram showing an example of a context
FIG. 11B is a diagram showing another example of the context
FIG. 12 is a diagram showing an example of a context table, that is, a learning table.
FIG. 13 shows a probability estimation table.
FIG. 14 is a block diagram of a conventional JBIG decoding apparatus.
FIG. 15 is a flowchart for explaining a conventional JBIG decoding method;
FIG. 16 is a flowchart for explaining the one-line decoding process in S210 of FIG. 15;
FIG. 17 is a flowchart for explaining the one-pixel decoding process in S54 of FIG. 16;
FIG. 18 is a flowchart for explaining the one-pixel decoding process in S55 of FIG.
[Explanation of symbols]
100 CPU
200 JBIG program and probability estimation table storage ROM
300 Learning table storage RAM
400 Image data storage RAM
500 Code data storage RAM
600 RAM (FIFO memory)
700 buses

Claims (6)

復号化対象ラインとこれに先立つ1又は2本の参照ラインを用いて前記復号化対象ライン上の復号化対象画素を復号化するJBIG復号化方法であって、
前記参照ラインがオール白の場合は内容が全て0であるコンテキストの予測値が白であるかどうかを判別し、予測値が白であるときにはオール白専用である第1の1ライン復号化処理を行う一方、参照ラインがオール白でないとき又は前記コンテキストの予測値が白でないときには復号化対象画素の周辺画素の読み出し処理をオール白フラグ点検後に行う第2の1ライン復号化処理を行い、前記第2の1ライン復号化処理においては、参照ラインがオール白の場合には前記参照ラインからの画像データの読み出し処理を行わないことを特徴とするJBIG復号化方法。
A JBIG decoding method for decoding a decoding target pixel on the decoding target line using a decoding target line and one or two reference lines preceding the decoding target line,
When the reference line is all white, it is determined whether or not the predicted value of the context whose contents are all 0 is white. When the predicted value is white, the first one-line decoding process dedicated to all white is performed. On the other hand, when the reference line is not all white or when the predicted value of the context is not white, a second one-line decoding process is performed in which the peripheral pixel of the decoding target pixel is read after checking the all white flag, In the one-line decoding process of No. 2, when the reference line is all white, the image data reading process from the reference line is not performed.
復号化対象ラインとこれに先立つ1又は2本の参照ラインを用いて前記復号化対象ライン上の復号化対象画素を復号化するJBIG復号化方法であって、
典型的予測をしない場合において、前記参照ラインがオール白の場合は内容が全て0であるコンテキストの予測値が白であるかどうかを判別し、予測値が白であるときにはオール白専用である第1の1ライン復号化処理を行う一方、参照ラインがオール白でないとき又は前記コンテキストの予測値が白でないときには復号化対象画素の周辺画素の読み出し処理をオール白フラグ点検後に行う第2の1ライン復号化処理を行い、前記第2の1ライン復号化処理においては、参照ラインがオール白の場合には前記参照ラインからの画像データの読み出し処理を行わないことを特徴とし、
典型的予測をする場合において、前記復号化対象ラインとその一つ前の前記参照ラインが同じか否かを判別し、同じでないときには復号化対象画素の周辺画素の読み出し処理をブロック単位で毎回行う第3の1ライン復号化処理を実行し、
同じであるときには前記復号化対象ラインを復号化の対象としないことを特徴とするJBIG復号化方法。
A JBIG decoding method for decoding a decoding target pixel on the decoding target line using a decoding target line and one or two reference lines preceding the decoding target line,
In a case where typical prediction is not performed, if the reference line is all white, it is determined whether or not the prediction value of the context whose contents are all 0 is white. 1 line decoding processing of 1 is performed, while when the reference line is not all white or when the predicted value of the context is not white, the second 1 line is read after the all white flag is read out. In the second one-line decoding process, when the reference line is all white, the image data read-out process from the reference line is not performed.
When typical prediction is performed, it is determined whether or not the decoding target line is the same as the reference line immediately before the decoding target line. If not, the process of reading out the surrounding pixels of the decoding target pixel is performed every block. Execute a third one-line decoding process;
A JBIG decoding method characterized in that the decoding target line is not set as a decoding target when they are the same.
復号化対象ラインとこれに先立つ1又は2本の参照ラインを用いて前記復号化対象ライン上の復号化対象画素を復号化するJBIG復号化方法であって、
典型的予測をする場合において、前記復号化対象ラインとその一つ前の前記参照ラインが同じか否かを判別し、
同じであるときには、オール白フラグ設定処理を行う一方、
同じでないときには、前記参照ラインがオール白の場合は内容が全て0であるコンテキストの予測値が白であるかどうかを判別し、予測値が白であるときにはオール白専用である第1の1ライン復号化処理を行う一方、
参照ラインがオール白でないとき又は前記コンテキストの予測値が白でないときには復号化対象画素の周辺画素の読み出し処理をオール白フラグ点検後に行う第2の1ライン復号化処理を行い、前記第2の1ライン復号化処理においては、参照ラインがオール白の場合には前記参照ラインからの画像データの読み出し処理を行わないことを特徴とし、
典型的予測をしない場合において、復号化対象画素の周辺画素の読み出し処理をブロック単位で毎回行う第3の1ライン復号化処理を行うことを特徴とするJBIG復号化方法。
A JBIG decoding method for decoding a decoding target pixel on the decoding target line using a decoding target line and one or two reference lines preceding the decoding target line,
In a typical prediction, it is determined whether or not the decoding target line and the previous reference line are the same,
If they are the same, the all white flag setting process is performed,
If they are not the same, if the reference line is all white, it is determined whether or not the predicted value of the context whose contents are all 0 is white. If the predicted value is white, the first one line dedicated to all white While performing the decryption process
When the reference line is not all white or when the predicted value of the context is not white, a second one-line decoding process is performed in which the peripheral pixel of the decoding target pixel is read after checking the all white flag, and the second one In the line decoding process, when the reference line is all white, the image data reading process from the reference line is not performed,
A JBIG decoding method characterized by performing a third one-line decoding process in which a reading process of peripheral pixels of a decoding target pixel is performed every block when typical prediction is not performed.
復号化対象ラインとこれに先立つ1又は2本の参照ラインを用いて前記復号化対象ライン上の復号化対象画素を復号化するJBIG復号化プログラムであって、
前記参照ラインがオール白の場合は内容が全て0であるコンテキストの予測値が白であるかどうかを判別し、予測値が白であるときにはオール白専用である第1の1ライン復号化処理を行う一方、参照ラインがオール白でないとき又は前記コンテキストの予測値が白でないときには復号化対象画素の周辺画素の読み出し処理をオール白フラグ点検後に行う第2の1ライン復号化処理を行い、前記第2の1ライン復号化処理においては、参照ラインがオール白の場合には前記参照ラインからの画像データの読み出し処理を行わないことを特徴とするJBIG復号化プログラム。
A JBIG decoding program for decoding a decoding target pixel on the decoding target line using a decoding target line and one or two reference lines preceding the decoding target line,
When the reference line is all white, it is determined whether or not the predicted value of the context whose contents are all 0 is white. When the predicted value is white, the first one-line decoding process dedicated to all white is performed. On the other hand, when the reference line is not all white or when the predicted value of the context is not white, a second one-line decoding process is performed in which the peripheral pixel of the decoding target pixel is read after checking the all white flag, In the one-line decoding process of No. 2, when the reference line is all white, the image data reading process from the reference line is not performed.
復号化対象ラインとこれに先立つ1又は2本の参照ラインを用いて前記復号化対象ライン上の復号化対象画素を復号化するJBIG復号化プログラムであって、
典型的予測をしない場合において、前記参照ラインがオール白の場合は内容が全て0であるコンテキストの予測値が白であるかどうかを判別し、予測値が白であるときにはオール白専用である第1の1ライン復号化処理を行う一方、参照ラインがオール白でないとき又は前記コンテキストの予測値が白でないときには復号化対象画素の周辺画素の読み出し処理をオール白フラグ点検後に行う第2の1ライン復号化処理を行い、前記第2の1ライン復号化処理においては、参照ラインがオール白の場合には前記参照ラインからの画像データの読み出し処理を行わないことを特徴とし、
典型的予測をする場合において、前記復号化対象ラインとその一つ前の前記参照ラインが同じか否かを判別し、同じでないときには復号化対象画素の周辺画素の読み出し処理をブロック単位で毎回行う第3の1ライン復号化処理を実行し、
同じであるときには前記復号化対象ラインを復号化の対象としないことを特徴とするJBIG復号化プログラム。
A JBIG decoding program for decoding a decoding target pixel on the decoding target line using a decoding target line and one or two reference lines preceding the decoding target line,
In a case where typical prediction is not performed, if the reference line is all white, it is determined whether or not the prediction value of the context whose contents are all 0 is white. 1 line decoding processing of 1 is performed, while when the reference line is not all white or when the predicted value of the context is not white, the second 1 line is read after the all white flag is read out. In the second one-line decoding process, when the reference line is all white, the image data read-out process from the reference line is not performed.
When typical prediction is performed, it is determined whether or not the decoding target line is the same as the reference line immediately before the decoding target line. If not, the process of reading out the surrounding pixels of the decoding target pixel is performed every block. Execute a third one-line decoding process;
A JBIG decoding program characterized in that when the same, the decoding target line is not set as a decoding target.
復号化対象ラインとこれに先立つ1又は2本の参照ラインを用いて前記復号化対象ライン上の復号化対象画素を復号化するJBIG復号化プログラムであって、
典型的予測をする場合において、前記復号化対象ラインとその一つ前の前記参照ラインが同じか否かを判別し、
同じであるときには、オール白フラグ設定処理を行う一方、
同じでないときには、前記参照ラインがオール白の場合は内容が全て0であるコンテキストの予測値が白であるかどうかを判別し、予測値が白であるときにはオール白専用である第1の1ライン復号化処理を行う一方、参照ラインがオール白でないとき又は前記コンテキストの予測値が白でないときには復号化対象画素の周辺画素の読み出し処理をオール白フラグ点検後に行う第2の1ライン復号化処理を行い、
前記第2の1ライン復号化処理においては、参照ラインがオール白の場合には前記参照ラインからの画像データの読み出し処理を行わないことを特徴とし、
典型的予測をしない場合において、復号化対象画素の周辺画素の読み出し処理をブロック単位で毎回行う第3の1ライン復号化処理を行うことを特徴とするJBIG復号化プログラム。
A JBIG decoding program for decoding a decoding target pixel on the decoding target line using a decoding target line and one or two reference lines preceding the decoding target line,
In a typical prediction, it is determined whether or not the decoding target line and the previous reference line are the same,
If they are the same, the all white flag setting process is performed,
If they are not the same, if the reference line is all white, it is determined whether or not the predicted value of the context whose contents are all 0 is white. If the predicted value is white, the first one line dedicated to all white While the decoding process is performed, when the reference line is not all white or when the predicted value of the context is not white, the second one-line decoding process is performed after the all white flag is checked when the peripheral pixel of the decoding target pixel is read. Done
In the second one-line decoding process, when the reference line is all white, the image data reading process from the reference line is not performed,
A JBIG decoding program characterized by performing a third one-line decoding process in which a process of reading out neighboring pixels of a decoding target pixel is performed every block when typical prediction is not performed.
JP2001397046A 2001-12-27 2001-12-27 JBIG decoding method Expired - Fee Related JP3705771B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001397046A JP3705771B2 (en) 2001-12-27 2001-12-27 JBIG decoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001397046A JP3705771B2 (en) 2001-12-27 2001-12-27 JBIG decoding method

Publications (2)

Publication Number Publication Date
JP2003198853A JP2003198853A (en) 2003-07-11
JP3705771B2 true JP3705771B2 (en) 2005-10-12

Family

ID=27602951

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001397046A Expired - Fee Related JP3705771B2 (en) 2001-12-27 2001-12-27 JBIG decoding method

Country Status (1)

Country Link
JP (1) JP3705771B2 (en)

Also Published As

Publication number Publication date
JP2003198853A (en) 2003-07-11

Similar Documents

Publication Publication Date Title
JP3839974B2 (en) Encoder
JP2000115783A (en) Decoder and its method
JPH0969951A (en) Encoding method and decoding method
JPS60229573A (en) Encoding and transmitting system for half-tone picture information
US20060233444A1 (en) JBIG coding apparatus and method with low cost, high-performance ping-pong buffer arrangement
JP2919384B2 (en) Arithmetic encoding / decoding system by JBIG
JP4697966B2 (en) Image encoding apparatus and method, computer program, and computer-readable storage medium
JPH07264417A (en) Image coding method
JP3705771B2 (en) JBIG decoding method
US8649051B2 (en) Image composition device, image forming apparatus and computer readable medium storing program
JP2005055825A (en) Image display device, image display method and image display program
JP3085932B2 (en) Apparatus for generating predicted image using mask and apparatus for compressing, transmitting and restoring binary image using the same
US7142328B2 (en) Image reduction method, image processing device and method of controlling image processing device
JP2002354233A (en) Method and device for picture size reduction and storage medium
JP2891818B2 (en) Encoding device
JP3836997B2 (en) Encoder
JP2716618B2 (en) Image coding method
JP2007295130A (en) Image data encoder, program, computer-readable recording medium, and image data encoding method
JP6569242B2 (en) Image processing apparatus, image processing system, and image processing program
JP3875465B2 (en) Image reduction method, image processing apparatus and image processing apparatus control method
JP2003134346A (en) Coding/decoding method an apparatus thereof
JP3187696B2 (en) Image coding device
KR100197075B1 (en) Compression data recurrence apparatus
JP2001157063A (en) Image data encoding and decoding device
JP2011004284A (en) Image coding apparatus and method of controlling the same

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20040426

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041224

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050222

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050405

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20050506

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20050506

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050603

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20050610

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050705

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050726

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20080805

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090805

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090805

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100805

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100805

Year of fee payment: 5

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20100805

Year of fee payment: 5

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20110805

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120805

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120805

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130805

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees