JP3622042B2 - Encoder, decoder and encoder / decoder - Google Patents
Encoder, decoder and encoder / decoder Download PDFInfo
- Publication number
- JP3622042B2 JP3622042B2 JP14279497A JP14279497A JP3622042B2 JP 3622042 B2 JP3622042 B2 JP 3622042B2 JP 14279497 A JP14279497 A JP 14279497A JP 14279497 A JP14279497 A JP 14279497A JP 3622042 B2 JP3622042 B2 JP 3622042B2
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- line
- shift register
- data
- pixels
- 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
Links
Images
Landscapes
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は符号器,復号器及び符号・復号器に関し、特にITU−T(International Telecommunication Union−Telecommunication recommendation) 勧告T.82に準拠するいわゆるJBIG方式の画像圧縮符号化方式の符号器,復号器及び符号・復号器に関する。
【0002】
【従来の技術】
従来、ファクシミリ通信に使用される画像データの圧縮符号化方式としては、MH(Modified Huffman)方式, MR(Modified READ) 方式, MMR(Modified Modified READ) 方式が使用されていた。MH方式は、白または黒の画素の連続数を符号化する手法であり、各走査線単位で圧縮される一次元の圧縮符号化方式である。MR方式は、垂直方向、即ち相隣する2走査線(ライン)間の相関を利用して効率を高めた圧縮符号化方式である。 MMR方式はMR方式を一部改良してより圧縮効率を高めた方式であり、原理的には同一である。しかし、時代の趨勢としてファクシミリ通信にもより高能率の圧縮符号化方式が望まれている。なお、上述のMH, MR, MMR 方式はいずれも可逆的、即ち 100%元の状態に復元可能な方式である。
【0003】
一方、近年のコンピュータ技術、特にデジタル画像技術の発展に伴って、種々の画像の圧縮符号化方式が望まれ、また開発されている。それらの内で可逆的、即ち 100%元の状態に復元可能な方式としていわゆるJBIG(Joint Bi−level Image coding experts Group) 方式が ITU−T勧告T.82として規定されており、それをファクシミリ通信に適用するための規格として ITU−T勧告T.85が規定されている。
【0004】
ところで、JBIG方式の符号化に際しては、符号化対象の画像を複数の副走査線 (ライン) 単位でストライプと称する区画に分割して処理する。そして、各ストライプから直接得られた2値画像データ (ドットデータ) は詳細は省略するが対象画素とそれが位置するライン及びその直前の1または2ラインの所定範囲の画素相互間での相関関係に応じて符号器によって符号化されてSCD(ストライプ符号化データ) とされ、更に所定の処理によりPSCD (保護されたストライプ符号化データ) とされる。このPSCDに一ストライプ分のデータの終了を示す終端マーカが付加されてSDE(ストライプデータ実体) が生成される。個々のSDE にはFMS(フローティングマーカセグメント) が付加され、そのようなセットが複数で一枚分の画像のBID(2値画像データ) が形成される。更に、この BIDにそれが生成された際の種々のパラメータを記録したBIH(2値画像ヘッダ) が付加されてBIE(2値画像実体) が形成される。
【0005】
復号化は上述とは逆の処理、即ち BIEからBIH を分離して BIDを得て、 BIDから FMSを分離することにより複数の SDEを得て、個々の SDEから終端マーカを分離してPSCDを得て、PSCDに所定の処理を行なって SCDを得る。そして SCDを復号器に与えることにより、2値画データ (ドットデータ) を得てプリンタでプリントし、または表示装置にビットマップデータとして表示する。
【0006】
上述のようなJBIG方式の符号化処理に際しては、前述したように符号化対象の画素が含まれるラインとその直前のラインとの2ラインの画素で符号化を行なう場合と、更にもう1ライン直前のラインとの3ラインの画素で符号化を行なう場合とがある。
【0007】
図1(a) は3ラインの画素で符号化を行なう場合のテンプレート(3ラインテンプレート)と称される画素の領域を示す模式図であり、図1(b) は2ラインの画素で符号化を行なう場合のテンプレート(2ラインテンプレート)と称される画素の領域を示す模式図である。但し、図1において”?”が符号化対象の画素であり、この画素はテンプレートには含まれない。”X”で示されている画素はテンプレートの通常の画素を示している。また、”A”で示されている画素は「アダプティブ」または「AT」と称されるテンプレート内の特別な画素 (AT画素) を示しているが、その詳細はここでは省略する。
【0008】
JBIG方式ではこの図1に示されているようなテンプレートに含まれる画素のパターンに基づいて符号化対象画素の符号化を行ない、また復号化に際しても同様のテンプレートが使用される。
【0009】
図2はJBIG方式の符号器の構成例を示すブロック図である。参照符号11で示されている TPBは典型的予測 (ボトム) のブロックであり、12で示されているATはアダプティブテンプレートのブロックであり、13で示されているMTはモデルテンプレートのブロックであり、14で示されている AAEはアダプティブ算術符号器である。
【0010】
なお、ここでボトムとは画像の解像度が最低解像度であることを示しており、従って図2に示されている符号器は最低解像度を対象としている。JBIG方式では、同一の原画像を複数の解像度で符号化することが可能であり、それぞれの解像度をレイヤという。しかしいずれにしろ、JBIG方式ではまず最低解像度で符号化を行ない、必要であれば最低解像度での符号化結果を利用してより高い解像度での符号化が行なわれる。また逆に、復号化処理に際してもまず最初に最低解像度で復号化され、必要であれば最低解像度での復号化結果を利用してより高い解像度での復号化が行なわれる。但し、最低解像度、換言すればボトムのレイヤのみでもよく、そのように特化した規格がファクシミリ通信用のT.85規格である。
【0011】
図2に示されている符号器の各ブロックには画データ (個々の画素の値) が入力されており、TPB 11は典型的予測を行なってその結果の値をTPVALEとしてAT12及びAAE 14に与えると共に、符号化対象画素が前画素と同一であるか否かを示すデータSLNTP を出力する。AT12は画像の周期性を探し出し、周期性がある場合にはAT画素の移動を指示するデータATMOVEを出力する。MT13は画データとAT12からのATMOVEとに従ってテンプレートに対する符号化対象画素の相関関係を示すコンテキスト(CX)と称される整数のデータを出力する。AAE 14は、画データとMT13から出力されるCXとTPB 11から出力されるSLNTP 及びTPVALEとを参照して符号化対象画素を符号化処理した結果の符号データを出力する。
【0012】
なお、AAE 14から出力されるのは符号データであるが、AT12から出力されるATMOVEを含めて他の種々のデータが合成されて最終的に前述のBIE(2値画像実体) が生成される。
【0013】
図3はJBIG方式の復号器の構成例を示すブロック図である。参照符号21で示されている AADはアダプティブ算術復号器のブロックであり、22で示されているMTはモデルテンプレートのブロックであり、23で示されている TPBは典型的予測 (ボトム) のブロックである。
【0014】
AAD 21にはBIE(2値画像実体) の内の上述のAAE 14により生成された符号データが入力される。AAD 21は入力された符号データを復号化処理して画データを出力するが、この画データはMT22及びTPB 23に入力される。またAAD 21は入力された符号データにSLNTP が含まれる場合にはそれを分離してTPB 23に与える。MT22には上述の画データの他にATMOVEも入力されており、両者からCXを生成してAAD 21に与える。TPB 23には上述のAAD 21から出力される画データの他にSLNTP も与えられており、TPVALEを発生してAAD 21に与える。従って、AAD 21は入力された符号データをMT22から与えられるCX及びTPB 23から与えられるTPVALE等をも参照して画データに復号する。
【0015】
【発明が解決しようとする課題】
ところで上述のような従来のJBIG方式の符号器及び復号器は、非常に複雑な処理を行なう必要があるため、その全体をハードウェアのみまたはソフトウェアのみのいずれで実現するにしても非常に大規模にならざるを得ない。従って、ハードウェアとして実現する場合には製造コストが嵩み、ソフトウェアとして実現する場合には処理速度が遅くなって非実用的であった。
【0016】
本発明はこのような事情に鑑みてなされたものであり、JBIG方式の符号器及び復号器を実現する際に、ソフトウェアとハードウェアとを適宜に組み合わせて高効率の符号・復号処理が可能な符号器,復号器及び符号・復号器を実現することを目的とする。
【0017】
【課題を解決するための手段】
本発明に係る符号器は、符号化対象画素をその画素が含まれるラインとその直前の所定数のラインの所定範囲の画素の状態から予測して符号化処理する符号器であって、前記所定数のラインそれぞれの1ライン分よりも多い画素数の画素データを記憶する前記所定数と同数のシフトレジスタであるラインメモリと、符号化対象画素が含まれるラインの内の前記所定範囲よりも多い画素数の画素データを記憶する現ライン用のシフトレジスタと、前記所定数と同数のラインメモリそれぞれの出力データの内の前記所定範囲よりも多い画素数の画素データをそれぞれ記憶する前記所定数と同数の前ライン用のシフトレジスタとを備え、前記現ライン用のシフトレジスタ及び前記所定数と同数の前ライン用のシフトレジスタそれぞれが記憶する前記所定範囲よりも多い画素数の画素データを、符号化対象の1ラインのデータの両端部の画素が符号化対象画素である場合に符号化対象画像の外側に存在する仮想的な画素の画素データとして符号化処理を行なうようにしてあることを特徴とする。
【0018】
このような本発明の符号器では、符号化対象画素が含まれるラインの所定範囲の画素データが現ライン用のシフトレジスタの中間の位置に記憶され、その直前の所定数の各ラインの画素データがそれぞれラインメモリに記憶され、また各ラインメモリの出力データの内の所定範囲の画素数のデータがそれぞれ前ライン用のシフトレジスタの中間の位置に記憶されるため、符号化対象画素が画像の上端,左端,右端の画素である場合にも、それぞれのライン用のシフトレジスタの所定範囲以外の画素を符号化対象画像の外側に存在する仮想的な画素として符号化処理に利用することが可能になる。
【0019】
また本発明に係る復号器は、符号化対象画素をその画素が含まれるラインとその直前の所定数のラインの所定範囲の画素の状態から予測した符号データを復号化処理する復号器であって、前記所定数のラインそれぞれの1ライン分よりも多い画素数の画素データを記憶する前記所定数と同数のシフトレジスタであるラインメモリと、復号化対象画素が含まれるラインの内の前記所定範囲よりも多い画素数の画素データを記憶する現ライン用のシフトレジスタと、前記所定数と同数のラインメモリそれぞれの出力データの内の前記所定範囲よりも多い画素数の画素データをそれぞれ記憶する前記所定数と同数の前ライン用のシフトレジスタとを備え、前記現ライン用のシフトレジスタ及び前記所定数と同数の前ライン用のシフトレジスタそれぞれが記憶する前記所定範囲よりも多い画素数の画素データを、復号化対象の1ラインのデータの両端部の画素が復号化対象画素である場合に復号化対象画像の外側に存在する仮想的な画素の画素データとして復号化処理を行なうようにしてあることを特徴とする。
【0020】
このような本発明の復号器では、復号化対象画素が含まれるラインの所定範囲の画素データが現ライン用のシフトレジスタの中間の位置に記憶され、その直前の所定数の各ラインの画素データがそれぞれラインメモリに記憶され、また各ラインメモリの出力データの内の所定範囲の画素数のデータがそれぞれ前ライン用のシフトレジスタの中間の位置に記憶されるため、復号化対象画素が画像の上端,左端,右端の画素である場合にも、それぞれのライン用のシフトレジスタの所定範囲以外の画素を復号化対象画像の外側に存在する仮想的な画素として復号化処理に利用することが可能になる。
【0021】
更に本発明に係る符号・復号器は、上述の符号器と復号器とを組み合わせて備えたことを特徴とする。
【0022】
このような符号・復号器では、上述の符号器としての機能と、上述の復号器としての機能とを併せ持つ。
【0023】
【発明の実施の形態】
以下、本発明をその実施の形態を示す図面に基づいて詳述する。図4は本発明の符号器の構成例を示すブロック図である。
【0024】
参照符号110 で示されている TPBは典型的予測 (ボトム) のソフトウェアブロックであり、120 で示されているATはアダプティブテンプレートのソフトウェアブロックであり、130 で示されているMT回路はモデルテンプレートのハードウェアブロックであり、140 で示されている AAEはアダプティブ算術符号器のソフトウェアブロックである。
【0025】
このような本発明の符号器の構成は、基本的には前述の図2に示されている従来のJBIG方式の符号器と同一である。しかし、本発明においては、図2に示されている従来例のTPB 11, AT12, AAE 14はそれぞれTPB110, AT120, AAE140 としてソフトウェアで実現されており、MT13はMT回路130 としてハードウェアで実現されている。
【0026】
図5は本発明の復号器の構成例を示すブロック図である。参照符号210 で示されている AADはアダプティブ算術復号器のソフトウェアブロックであり、220 で示されているMT回路はモデルテンプレートのハードウェアブロックであり、230 で示されている TPBは典型的予測 (ボトム) のソフトウェアブロックである。
【0027】
このような本発明の復号器の構成は、基本的には前述の図3に示されている従来のJBIG方式の復号器と同一である。しかし、本発明においては、図3に示されている従来例のAAD 21, TPB 23はそれぞれAAD210, TPB230としてソフトウェアで実現されており、MT22はMT回路220 としてハードウェアで実現されている。
【0028】
なお、図4に示されている本発明の符号器及び図5に示されている復号器共に、前述の図2及び図3に示されている従来のJBIG方式の符号・復号器と機能的には同一であることは言うまでもない。
【0029】
図6はMT回路130 及びMT回路220 の回路構成を示すブロック図である。参照符号31はDMA(Direct Memory Access) 転送回路であり、画データの各ビットを出力する。参照符号32は前ラインメモリを、33は前前ラインメモリをそれぞれ示しており、それぞれ1ライン分相当のビット数に更に6ビットを有するFIFO(First-In First-Out)タイプのシフトレジスタである。参照符号41は第1シフトレジスタを、42は第2シフトレジスタを、43は第3シフトレジスタをそれぞれ示しており、それぞれb0〜b12 までの13ビット構成のFIFOタイプのシフトレジスタである。
【0030】
DMA転送回路31からの画データの各ビットの出力は第3シフトレジスタ43のビットb0側から入力されると共に前ラインメモリ32の一端から入力され、前ラインメモリ32の他端からのビット出力は第2シフトレジスタ42のビットb0側から入力されると共に前前ラインメモリ33の一端から入力され、前前ラインメモリ33の他端からのビット出力は第1シフトレジスタ41のビットb0側から入力される。
【0031】
参照符号51はカウンタであり、クロックCLK をカウント対象として”0”から”1733”までをカウントする。参照符号52は比較回路であり、a入力には定数”4”が、b入力にはカウンタ51のカウント値CVが入力されており、a>bである場合、即ちカウンタ51のカウント値CVが”0”から”3”までの間は信号”1”を出力する。参照符号53も比較回路であり、a入力にはカウンタ51のカウント値CVが、b入力には定数”1731”が入力されており、a>bである場合、即ちカウンタ51のカウント値CVが”1732”から”1733”までの間は信号”1”を出力する。
【0032】
なお、カウンタ51のカウント値CVが”0”から”1733”までに設定されている理由は、JBIG方式をファクシミリ通信に利用する場合のA4サイズの1ラインの解像度、即ち画素数1728に対応させているためである。従って、カウンタ51のカウント値CVの上限は、その応用分野に応じて他の適宜の値に設定してもよいことは言うまでもない。
【0033】
両比較回路52, 53の出力信号はORゲート54に入力されている。従って、このORゲート54はカウンタ51のカウント値CVが”0”から”3”及び”1732”から”1733”である場合に信号”1”を出力する。このORゲート54の出力信号は ANDゲート55の一方の入力端子に入力されているが、その他方の入力端子にはクロックCLK が入力されている。そして、この ANDゲート55の出力信号が”0”発生回路56にトリガ信号として与えられている。従って、”0”発生回路56は、カウンタ51のカウント値CVが”0”から”3”及び”1732”から”1733”である場合に”0”を発生して出力する。この”0”発生回路56が発生する信号”0”は第3シフトレジスタ43及び前ラインメモリ32に与えられる。
【0034】
以上のような構成のMT回路130 及びMT回路220 の動作について、2ラインテンプレートの場合を例として以下に説明する。
【0035】
まず両ラインメモリ32, 33及び各シフトレジスタ41, 42, 43が全て”0”クリアされる。その後、カウンタ51のカウント値CVが”0”から”3”となるクロックCLK のタイミングにおいて、”0”発生回路56から信号”0”が出力されて第3シフトレジスタ43のビットb0〜b3に入力されると共に、前ラインメモリ32の最初の4ビットにも入力される。この時点の各シフトレジスタ41, 42, 43の内容は図7の模式図に示されているように、全て”0”である。
【0036】
この後、カウンタ51のカウント値CVが”4”から”1731”までになるクロックCLK のタイミングにおいては DMA転送回路31から画データの第1ラインの各ビットが先頭側から順に出力される。この際、”0”発生回路56から信号”0”は出力されない。そして、画データの第1ラインの先頭のビット(”?”で示されている)が第3シフトレジスタ43のビットb8に達した時点(”?”で示されている)で、各シフトレジスタ41, 42, 43の内容が図8に示されているような状態になって2ラインテンプレートが形成される。但し、図8に示されている状態は、各ビットのシフトレジスタ41, 42, 43への入力方向の関係で図1(b) に示されている状態とは左右逆になっている。
【0037】
なお、図8においてはテンプレートを構成する”A”及び”X”のビットは全て”0”であるが、これは符号化対象画素が画像の上端,左端,右端の画素である場合に本来必要な特殊な処理(エッジ変換)を不要にするためにデータ”0”、換言すれば白画素を仮想的な画素として本来の画像の外側の領域に配置することにより、符号化対象画素が画像中央に位置する場合と同様の処理を可能とするためである。また、”Y”は画データの第1ラインの先頭のビット以降の各ビットを表している。
【0038】
この後は、第3シフトレジスタ43のビットb0側から画データの第1ラインのビットが順次入力されてビットb12 側へシフトされるので、ビットb8を符号化対象画素としてテンプレートが形成され続ける。
【0039】
やがて、画データの第1ラインの末尾のビットが第3シフトレジスタ43のビットb0に入力され、更にその後のカウンタ51のカウント値CVが”1732”から”1733”までのクロックCLK の2クロックの間は”0”発生回路56から信号”0”が第3シフトレジスタ43に入力されるので、各シフトレジスタ41, 42, 43の内容は図9に示されているような状態になる。
【0040】
なお、上述のような処理が行なわれている間に前ラインメモリ32には、先頭の4ビットが”0”、以降は画データの第1ラインの各ビット、そして末尾の2ビットが”0”のデータが入力される。
【0041】
この後、第3シフトレジスタ43には4ビットの”0”に引き続いて画データの第2ラインの各ビットが、更にその後に2ビットの”0”が入力されると共に、第2シフトレジスタ42には前ラインメモリ 32から先頭の4ビットが”0”、以降は画データの第1ラインの各ビット、そして末尾の2ビットが”0”のデータの各ビットが入力される。従って、第3シフトレジスタ43のビットb8を符号化対象画素としてテンプレートが形成されることになる。図10はそのような場合のシフトレジスタ41, 42, 43の内容を示しており、”Y”は画データの第1ラインの各ビットを、”Z”は画データの第2ラインの各ビットをそれぞれ示している。
【0042】
以下、順次的に画データの各ラインが第3シフトレジスタ43に、その一つ前のラインのデータが第2シフトレジスタ42に順次的に入力されシフトされつつ、第3シフトレジスタ43のビットb8を符号化対象画素としてテンプレートが形成されることになる。
【0043】
なお、3ラインテンプレートの場合のシフトレジスタ41, 42, 43の初期状態は図11に示されているようになる(これは図2(a) に示されている3ラインテンプレートの模式図に対応している)が、それ以降の動作は基本的に上述の2ラインテンプレートの場合と同様である。但し、2ラインテンプレートの場合には第1シフトレジスタ41は使用されないが、3ラインテンプレートの場合には第1シフトレジスタ41も使用される点が異なる。
【0044】
【発明の効果】
以上に詳述したように本発明の符号器によれば、現ライン用のシフトレジスタの同一の位置を処理対象とするのみで、現ライン用及び前ライン用のシフトレジスタのシフト動作に伴って順次的にデータの処理が行なわれるため、ハードウェアにより高速な処理が実現されると共に、符号化対象画素が画像の上端,左端,右端の画素である場合にも、所定範囲以外の画素を仮想的な画素として符号化処理に利用することが可能になるので、符号化対象画素が画像の中央に位置する場合と同様の処理を行なうことができる。
【0045】
また本発明の復号器によれば、現ライン用のシフトレジスタの同一の位置を処理対象とするのみで、現ライン用及び前ライン用のシフトレジスタのシフト動作に伴って順次的にデータの処理が行なわれるため、ハードウェアにより高速な処理が実現されると共に、復号化対象画素が画像の上端,左端,右端の画素である場合にも、所定範囲以外の画素を仮想的な画素として復号化処理に利用することが可能になるので、復号化対象画素が画像の中央に位置する場合と同様の処理を行なうことができる。
【0046】
更に本発明の符号・復号器によれば、上述の符号器としての効果と、上述の復号器としての効果とを併せ持つことが可能になる。
【図面の簡単な説明】
【図1】JBIG方式による画データの符号化の際の符号化対象画素とテンプレートとの関係を示す模式図である。
【図2】JBIG方式の符号器の構成例を示すブロック図である。
【図3】JBIG方式の復号器の構成例を示すブロック図である。
【図4】本発明の符号器の構成例を示すブロック図である。
【図5】本発明の復号器の構成例を示すブロック図である。
【図6】本発明の符号器及び復号器のモデルテンプレート(MT)回路の回路構成を示すブロック図である。
【図7】本発明の符号器及び復号器のモデルテンプレート(MT)回路による2ラインテンプレート形成時の各シフトレジスタの内容を示す模式図である。
【図8】本発明の符号器及び復号器のモデルテンプレート(MT)回路による2ラインテンプレート形成時の各シフトレジスタの内容を示す模式図である。
【図9】本発明の符号器及び復号器のモデルテンプレート(MT)回路による2ラインテンプレート形成時の各シフトレジスタの内容を示す模式図である。
【図10】本発明の符号器及び復号器のモデルテンプレート(MT)回路による2ラインテンプレート形成時の各シフトレジスタの内容を示す模式図である。
【図11】本発明の符号器及び復号器のモデルテンプレート(MT)回路による3ラインテンプレート形成時の各シフトレジスタの内容を示す模式図である。
【符号の説明】
32 前ラインメモリ
33 前前ラインメモリ
41, 42, 43 シフトレジスタ
110 TPB(典型的予測ブロック)
120 AT (アダプティブテンプレートブロック)
130 MT (モデルテンプレートブロック) 回路
140 AAE(アダプティブ算術符号器)
210 AAD(アダプティブ算術復号器)
220 MT (モデルテンプレートブロック) 回路
230 TPB(典型的予測ブロック)[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an encoder, a decoder, and an encoder / decoder, and in particular, ITU-T (International Telecommunication Union-Telecommunication recommendation) Recommendation T. The present invention relates to an encoder, decoder, and encoder / decoder of a so-called JBIG image compression encoding system conforming to J.82.
[0002]
[Prior art]
Conventionally, the MH (Modified Huffman) method, the MR (Modified READ) method, and the MMR (Modified Modified READ) method have been used as compression encoding methods for image data used for facsimile communication. The MH method is a method of encoding a continuous number of white or black pixels, and is a one-dimensional compression encoding method that is compressed in units of scanning lines. The MR method is a compression coding method in which the efficiency is improved by utilizing the correlation between two scanning lines (lines) adjacent to each other in the vertical direction. The MMR system is a system in which the MR system is partially improved to further increase the compression efficiency, and is in principle the same. However, as a trend of the times, a highly efficient compression coding system is desired also for facsimile communication. The MH, MR, and MMR systems described above are all reversible, that is, systems that can be restored to the original state of 100%.
[0003]
On the other hand, with the recent development of computer technology, particularly digital image technology, various image compression coding systems are desired and developed. Among them, the so-called JBIG (Joint Bi-level Image coding experts Group) method is reversible, that is, can be restored to the original state of 100%. ITU-T Recommendation T.82 as a standard for applying it to facsimile communication. 85 is defined.
[0004]
By the way, at the time of JBIG encoding, an encoding target image is divided into a plurality of sub-scanning line (line) units and divided into sections called stripes. The binary image data (dot data) obtained directly from each stripe is omitted in detail, but the correlation between the target pixel, the line in which it is located, and the pixels in a predetermined range of the preceding 1 or 2 line Accordingly, the data is encoded by an encoder into SCD (striped encoded data), and further converted into PSCD (protected stripe encoded data) by a predetermined process. A terminal marker indicating the end of data for one stripe is added to the PSCD to generate an SDE (stripe data entity). An FMS (floating marker segment) is added to each SDE, and a plurality of such sets form a BID (binary image data) of one image. Further, a BIE (binary image entity) is formed by adding a BIH (binary image header) in which various parameters when the BID is generated are added to the BID.
[0005]
Decoding is the reverse of the above process, that is, separating BIE from BIE to obtain BID, separating FMS from BID to obtain multiple SDEs, separating terminal markers from individual SDEs, and obtaining PSCD. Then, a predetermined process is performed on the PSCD to obtain an SCD. Then, by supplying the SCD to the decoder, binary image data (dot data) is obtained and printed by a printer or displayed as bitmap data on a display device.
[0006]
In the JBIG encoding process as described above, encoding is performed with two lines of pixels, the line including the pixel to be encoded and the line immediately before, as described above, and immediately before another line. There is a case where encoding is performed with pixels of three lines with this line.
[0007]
FIG. 1A is a schematic diagram showing a region of a pixel called a template (3-line template) when encoding is performed with 3 lines of pixels, and FIG. 1B is an encoding with 2 lines of pixels. It is a schematic diagram which shows the area | region of the pixel called a template in the case of performing (2 line template). However, in FIG. 1, “?” Is a pixel to be encoded, and this pixel is not included in the template. Pixels indicated by “X” indicate normal pixels of the template. A pixel indicated by “A” indicates a special pixel (AT pixel) in a template called “adaptive” or “AT”, but details thereof are omitted here.
[0008]
In the JBIG system, the encoding target pixel is encoded based on the pixel pattern included in the template as shown in FIG. 1, and the same template is used for decoding.
[0009]
FIG. 2 is a block diagram illustrating a configuration example of a JBIG encoder. The TPB indicated by
[0010]
Here, the bottom means that the resolution of the image is the lowest resolution, and therefore the encoder shown in FIG. 2 targets the lowest resolution. In the JBIG system, the same original image can be encoded with a plurality of resolutions, and each resolution is called a layer. However, in any case, in the JBIG system, encoding is first performed at the minimum resolution, and if necessary, encoding at a higher resolution is performed using the encoding result at the minimum resolution. Conversely, in the decoding process, first, decoding is performed at the lowest resolution, and if necessary, decoding is performed at a higher resolution using a decoding result at the lowest resolution. However, the minimum resolution, in other words, only the bottom layer may be used, and such a specialized standard is T.264 for facsimile communication. 85 standards.
[0011]
Image data (individual pixel values) is input to each block of the encoder shown in FIG. 2, and
[0012]
The AAE 14 outputs code data, but other various data including the ATMOVE output from the
[0013]
FIG. 3 is a block diagram showing a configuration example of a JBIG decoder. AAD indicated by
[0014]
Code data generated by the above-described
[0015]
[Problems to be solved by the invention]
By the way, since the conventional JBIG encoder and decoder as described above need to perform very complicated processing, it is very large even if the whole is realized only by hardware or only by software. I have to be. Therefore, when implemented as hardware, the manufacturing cost increases, and when implemented as software, the processing speed is slow, which is impractical.
[0016]
The present invention has been made in view of such circumstances, and when implementing a JBIG encoder and decoder, high-efficiency encoding / decoding processing is possible by appropriately combining software and hardware. An object is to realize an encoder, a decoder, and an encoder / decoder.
[0017]
[Means for Solving the Problems]
The encoder according to the present invention, there is provided a coder for encoding processing by predicting the coding target pixel from the state of pixels in a predetermined range of the predetermined number of lines of the line and the immediately preceding that includes the pixel, the predetermined A line memory which is the same number of shift registers as the predetermined number for storing pixel data having a larger number of pixels than each line of the number of lines, and more than the predetermined range in the line including the encoding target pixel. the predetermined number of storing the shift register for the current line for storing the pixel data of the number of pixels, the number of pixels of the pixel data than before Symbol predetermined range of the output data of each of the predetermined number as many line memories respectively and a shift register for the same number of previous lines, each of the shift registers of the shift register and the predetermined number as many previous line for the current line is stored the Pixel data of pixels larger than the fixed range, pixel data of virtual pixels existing outside the encoding target image when pixels at both ends of the data of one line to be encoded are encoding target pixels As described above, the encoding process is performed .
[0018]
In such an encoder of the present invention, pixel data in a predetermined range of a line including a pixel to be encoded is stored at an intermediate position of the shift register for the current line, and pixel data of a predetermined number of lines immediately before that is stored. There are stored in each line memory, and because the constant range of the pixel number data at of the output data of each line memory is stored in an intermediate position of the shift register for the previous line, respectively, coded pixel image The pixels other than the predetermined range of the shift register for each line can be used for the encoding process as virtual pixels existing outside the encoding target image even in the case of the upper end, left end, and right end pixels of It becomes possible .
[0019]
The decoder according to the present invention is a decoder that decodes code data obtained by predicting a pixel to be encoded from a state of pixels in a predetermined range of a line including the pixel and a predetermined number of lines immediately before the target pixel. the a prescribed number of lines line memory is the predetermined number and the same number of shift register for storing a large number of pixels of the pixel data than each one line, the predetermined range of the line that contains the decoded pixel storing each shift register for the current line to store more number of pixels of the pixel data than, more number of pixels of the pixel data than before Symbol predetermined range of the output data of each of the predetermined number as many line memories and a shift register for the predetermined number and the same number of the previous line, the shift register that for the shift register and the predetermined number as many previous line for the current line If the pixels at both ends of the data of one line to be decoded are the pixels to be decoded, the virtual data existing outside the decoding target image A decoding process is performed as pixel data of a pixel .
[0020]
In such a decoder according to the present invention, pixel data of a predetermined range of a line including a pixel to be decoded is stored at an intermediate position of the shift register for the current line, and pixel data of a predetermined number of lines immediately before that is stored. There are stored in each line memory, and because the data of the number of pixels at a constant range of the output data of each line memory is stored in an intermediate position of the shift register for the previous line, respectively, decoded pixel image The pixels other than the predetermined range of the shift registers for the respective lines can be used for the decoding process as virtual pixels existing outside the decoding target image even when the pixels are the upper end, left end, and right end pixels. It becomes possible .
[0021]
Further code and decoder according to the present invention is characterized by comprising a combination of the decoder with the above-mentioned encoder.
[0022]
In such a code-decoder, it combines the functions of a coder described above, a function as a decoder described above.
[0023]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, the present invention will be described in detail with reference to the drawings illustrating embodiments thereof. FIG. 4 is a block diagram showing a configuration example of the encoder of the present invention.
[0024]
The TPB indicated by
[0025]
The structure of the encoder of the present invention is basically the same as that of the conventional JBIG encoder shown in FIG. However, in the present invention, the
[0026]
FIG. 5 is a block diagram showing a configuration example of the decoder of the present invention. AAD indicated by
[0027]
The configuration of the decoder of the present invention is basically the same as that of the conventional JBIG decoder shown in FIG. However, in the present invention,
[0028]
Note that both the encoder of the present invention shown in FIG. 4 and the decoder shown in FIG. 5 are functionally similar to the conventional JBIG encoder / decoder shown in FIGS. It goes without saying that they are identical.
[0029]
FIG. 6 is a block diagram showing circuit configurations of the
[0030]
The output of each bit of the image data from the
[0031]
[0032]
The reason why the count value CV of the
[0033]
The output signals of both
[0034]
The operation of the
[0035]
First, both
[0036]
Thereafter, at the timing of the clock CLK at which the count value CV of the
[0037]
In FIG. 8, the “A” and “X” bits constituting the template are all “0”, but this is essential when the pixel to be encoded is the top, left, and right pixels of the image. In order to eliminate the need for special processing (edge conversion), data “0”, in other words, by arranging white pixels as virtual pixels in an area outside the original image, the encoding target pixel is located at the center of the image. This is because it is possible to perform the same processing as that in the case of being located in the area. “Y” represents each bit after the first bit of the first line of the image data.
[0038]
Thereafter, since the bits of the first line of the image data are sequentially input from the bit b0 side of the
[0039]
Eventually, the last bit of the first line of the image data is input to bit b0 of the
[0040]
While the processing as described above is being performed, the leading 4 bits are stored in the
[0041]
Thereafter, each bit of the second line of the image data is input to the
[0042]
Thereafter, each line of the image data is sequentially input to the
[0043]
Note that the initial state of the shift registers 41, 42, and 43 in the case of the three-line template is as shown in FIG. 11 (this corresponds to the schematic diagram of the three-line template shown in FIG. 2A). However, the subsequent operation is basically the same as that of the above-described two-line template. However, the
[0044]
【The invention's effect】
As described in detail above, according to the encoder of the present invention, only the same position of the shift register for the current line is processed, and the shift operation of the shift register for the current line and the previous line is accompanied. Since data processing is performed sequentially, high-speed processing is realized by hardware , and pixels other than the predetermined range are virtually selected even when the encoding target pixel is the upper end, left end, or right end pixel of the image. Since it can be used as a typical pixel for the encoding process, the same process as when the encoding target pixel is located at the center of the image can be performed .
[0045]
According to the decoder of the present invention, only to be processed by the same position of the shift register for the current line, the process of sequentially data with the shift operation of the shift register for the current line and for the previous line Therefore, high-speed processing is realized by hardware , and pixels other than the predetermined range are decoded as virtual pixels even when the decoding target pixel is the upper end, left end, or right end pixel of the image. Since it can be used for processing, the same processing as when the decoding target pixel is located at the center of the image can be performed .
[0046]
Furthermore, according to the code and decoder of the present invention, the effect as the encoder described above, it is possible to both a effect as the decoder described above.
[Brief description of the drawings]
FIG. 1 is a schematic diagram illustrating a relationship between a pixel to be encoded and a template when encoding image data by the JBIG method.
FIG. 2 is a block diagram illustrating a configuration example of a JBIG encoder.
FIG. 3 is a block diagram illustrating a configuration example of a JBIG decoder.
FIG. 4 is a block diagram illustrating a configuration example of an encoder according to the present invention.
FIG. 5 is a block diagram illustrating a configuration example of a decoder according to the present invention.
FIG. 6 is a block diagram showing a circuit configuration of a model template (MT) circuit of an encoder and a decoder according to the present invention.
FIG. 7 is a schematic diagram showing the contents of each shift register when a two-line template is formed by the model template (MT) circuit of the encoder and decoder of the present invention.
FIG. 8 is a schematic diagram showing the contents of each shift register when a two-line template is formed by the model template (MT) circuit of the encoder and decoder of the present invention.
FIG. 9 is a schematic diagram showing the contents of each shift register when a two-line template is formed by the model template (MT) circuit of the encoder and decoder of the present invention.
FIG. 10 is a schematic diagram showing the contents of each shift register when a two-line template is formed by the model template (MT) circuit of the encoder and decoder of the present invention.
FIG. 11 is a schematic diagram showing the contents of each shift register when a three-line template is formed by the model template (MT) circuit of the encoder and decoder of the present invention.
[Explanation of symbols]
32
120 AT (Adaptive template block)
130 MT (Model Template Block)
210 AAD (Adaptive Arithmetic Decoder)
220 MT (Model Template Block)
Claims (3)
前記所定数のラインそれぞれの1ライン分よりも多い画素数の画素データを記憶する前記所定数と同数のシフトレジスタであるラインメモリと、
符号化対象画素が含まれるラインの内の前記所定範囲よりも多い画素数の画素データを記憶する現ライン用のシフトレジスタと、
前記所定数と同数のラインメモリそれぞれの出力データの内の前記所定範囲よりも多い画素数の画素データをそれぞれ記憶する前記所定数と同数の前ライン用のシフトレジスタと
を備え、
前記現ライン用のシフトレジスタ及び前記所定数と同数の前ライン用のシフトレジスタそれぞれが記憶する前記所定範囲よりも多い画素数の画素データを、符号化対象の1ラインのデータの両端部の画素が符号化対象画素である場合に符号化対象画像の外側に存在する仮想的な画素の画素データとして符号化処理を行なうようにしてあること
を特徴とする符号器。In an encoder that performs encoding processing by predicting a pixel to be encoded from a state of pixels in a predetermined range of a line including the pixel and a predetermined number of lines immediately before the pixel,
A line memory which is a shift register of the same number as the predetermined number for storing pixel data of a number of pixels larger than one line of each of the predetermined number of lines;
A shift register for a current line that stores pixel data of a number of pixels larger than the predetermined range in a line including a pixel to be encoded;
And a shift register for the predetermined number as many of the previous line to each previously stored SL more pixel number of the pixel data than the predetermined range of the output data of each of the predetermined number and the same number of line memories,
Pixel data with more pixels than the predetermined range stored in the shift register for the current line and the shift register for the previous line as many as the predetermined number are pixels at both ends of the data of one line to be encoded. An encoder characterized in that when the pixel is an encoding target pixel, encoding processing is performed as pixel data of a virtual pixel existing outside the encoding target image .
復号化対象画素が含まれるラインの内の前記所定範囲よりも多い画素数の画素データを記憶する現ライン用のシフトレジスタと、
前記所定数と同数のラインメモリそれぞれの出力データの内の前記所定範囲よりも多い画素数の画素データをそれぞれ記憶する前記所定数と同数の前ライン用のシフトレジスタと
を備え、
前記現ライン用のシフトレジスタ及び前記所定数と同数の前ライン用のシフトレジスタそれぞれが記憶する前記所定範囲よりも多い画素数の画素データを、復号化対象の1ラインのデータの両端部の画素が復号化対象画素である場合に復号化対象画像の外側に存在する仮想的な画素の画素データとして復号化処理を行なうようにしてあること
を特徴とする復号器。In a decoder that decodes encoded data predicted from the state of pixels in a predetermined range of a line including the pixel and a predetermined number of lines immediately before the pixel to be encoded, one line for each of the predetermined number of lines A line memory that is a shift register of the same number as the predetermined number for storing pixel data of a larger number of pixels;
A shift register for the current line that stores pixel data of a number of pixels larger than the predetermined range in the line including the pixel to be decoded;
And a shift register for the predetermined number as many of the previous line to each previously stored SL more pixel number of the pixel data than the predetermined range of the output data of each of the predetermined number and the same number of line memories,
Pixel data with more pixels than the predetermined range stored in the shift register for the current line and the shift register for the previous line as many as the predetermined number are pixels at both ends of the data of one line to be decoded. A decoder, wherein when the pixel is a decoding target pixel, the decoding process is performed as pixel data of a virtual pixel existing outside the decoding target image .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14279497A JP3622042B2 (en) | 1997-05-30 | 1997-05-30 | Encoder, decoder and encoder / decoder |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14279497A JP3622042B2 (en) | 1997-05-30 | 1997-05-30 | Encoder, decoder and encoder / decoder |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10336462A JPH10336462A (en) | 1998-12-18 |
JP3622042B2 true JP3622042B2 (en) | 2005-02-23 |
Family
ID=15323777
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP14279497A Expired - Fee Related JP3622042B2 (en) | 1997-05-30 | 1997-05-30 | Encoder, decoder and encoder / decoder |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3622042B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3789711B2 (en) | 2000-01-31 | 2006-06-28 | 株式会社リコー | Image processing device |
JP3732702B2 (en) | 2000-01-31 | 2006-01-11 | 株式会社リコー | Image processing device |
JP4722681B2 (en) * | 2005-11-28 | 2011-07-13 | シャープ株式会社 | Compression processing device, compression processing device control method, compression processing control program, and computer-readable recording medium |
-
1997
- 1997-05-30 JP JP14279497A patent/JP3622042B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10336462A (en) | 1998-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0504903B1 (en) | Apparatus for and method of preprocessing binary picture data prior to run-length encoding | |
US5245441A (en) | Document imaging processing method and apparatus | |
US4602383A (en) | Image data compression system | |
US6026197A (en) | Coding method and apparatus therefor | |
JP2924964B2 (en) | Image information encoding device, image information decoding device, and image information encoding / decoding device | |
JP3844808B2 (en) | Coding method for delayed anti-aliasing | |
JP3819482B2 (en) | Adaptive contour coding method | |
JP3622042B2 (en) | Encoder, decoder and encoder / decoder | |
US6240212B1 (en) | Scan interleaving method | |
JPS6360952B2 (en) | ||
US6282321B1 (en) | Context generation circuit and method for small screen | |
JPH1127540A (en) | Image coding/decoding method and its system | |
JP2615215B2 (en) | Image data compression method | |
JP3867886B2 (en) | Image encoding method, image encoding device, image decoding method, and image decoding device | |
JP3875465B2 (en) | Image reduction method, image processing apparatus and image processing apparatus control method | |
KR100530783B1 (en) | Techniques to implement two-dimensional compression | |
JP2000078415A (en) | Image processing system, image compressing device and recording medium | |
JP2894140B2 (en) | Image coding method | |
JPS60236362A (en) | Picture information processing method | |
JPH0244819A (en) | Prediction encoder | |
JPS63197172A (en) | Prediction encoder | |
JPS639426B2 (en) | ||
JPS6231257A (en) | Two-dimensional encoding device for picture signal | |
JPH08185523A (en) | Image signal encoding method | |
JPH0488752A (en) | Picture processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040716 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040727 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040913 |
|
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: 20041026 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041108 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101203 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111203 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121203 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |