JP3715883B2 - Information processing apparatus, information processing system, and information recompression method - Google Patents

Information processing apparatus, information processing system, and information recompression method Download PDF

Info

Publication number
JP3715883B2
JP3715883B2 JP2000360202A JP2000360202A JP3715883B2 JP 3715883 B2 JP3715883 B2 JP 3715883B2 JP 2000360202 A JP2000360202 A JP 2000360202A JP 2000360202 A JP2000360202 A JP 2000360202A JP 3715883 B2 JP3715883 B2 JP 3715883B2
Authority
JP
Japan
Prior art keywords
lines
unit
decoded
information
total number
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
JP2000360202A
Other languages
Japanese (ja)
Other versions
JP2002165100A (en
Inventor
斉 齋藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2000360202A priority Critical patent/JP3715883B2/en
Publication of JP2002165100A publication Critical patent/JP2002165100A/en
Application granted granted Critical
Publication of JP3715883B2 publication Critical patent/JP3715883B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

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

Description

【0001】
【発明の属する技術分野】
本発明は情報の再圧縮方法、情報処理装置及び情報処理システムに係り、とりわけJBIG符号を採用するファクシミリ装置に関するものである。
【0002】
【従来の技術】
近年、符号化方式としてJBIG(Joint Bilevel Image coding experts Group)モードを有するファクシミリ装置が実用化されている。このJBIG符号は国際電気通信連合(International Telecommunications Union : ITU−T)がT.82として勧告化したものであるがファクシミリ装置に使用する場合はT.85勧告が適用される。
【0003】
MMR(Modified Modified Read)符号化等の従来の圧縮符号と比較し、JBIGは圧縮率の高さに特徴がある。これは予測符号化による恩恵が大きい。JBIGの予測符号化では、周辺画素から注目画素の状態を予測し、予測と異なる状態の場合にのみ符号データを生成する。よって予測が的中している間は全くデータが生成されないので高い圧縮率を得ることができる。
【0004】
一方で、JBIG符号は、予測が一致している範囲では符号化側で全くデータが生成されないにもかかわらず、復号化側では全くデータの無い状態から復号データを生成するという特徴ももっている。これは、画像の後端ではそれ以上データが無いにも関わらず、余分なゴミデータを生成してしまう危険性を併せ持つことを意味する。
【0005】
この様子を図8に示す。図8では、目的とする画像のサイズを超えてJBIGで符号化してしまった結果、復号時にゴミが生じたケースである。
【0006】
その対策として、T.82で勧告化された本来のJBIG符号では画像の先頭でYDというパラメータで画像のライン数を宣言し、復号時にはYDの値を超えないに復号することにより、符号化側で作成した以上のデータが復号化側では表れないようにしている。
【0007】
さらに、符号化開始時点では総ライン数が分からないアプリケーションのためには、開始時点ではYDに十分に大きい値を設定した上で、画像を複数のストライプに分割して符号化を行い、最後のストライプの符号化以前にNEWLENというパラメータで、正しいライン数を宣言するという方式が許容されている。なお、NEWLENは、画像の総ライン数を表すパラメータである。
【0008】
このストライプというのは、一つの画像を複数の水平バンドに分割したもので、1ストライプを構成するライン数は予めL0として画像の先頭で宣言される。
【0009】
このL0の値は可変なので、スキャナから読み取った画像をリアルタイムで符号化する様なアプリケーションでは、L0の値を十分に小さくすることにより最小限のバッファのみでJBIG符号化を行うことが可能となる。
【0010】
極端な例ではL0を1とすれば1ラインのバッファのみでスキャナから読み取った画像をリアルタイムでJBIG符号化することが可能である。この場合は最後のラインを符号化する直前にNEWLENでライン数を宣言すればよい。
【0011】
もちろん、十分なメモリを有して画像を全て読み込んでしまってから符号化するアプリケーションでは、最初にYDに総ライン数を設定すればよく、その場合はストライプに分割する必要は無いのでL0をYDと同じ値にして、画像全体を一つのストライプとして扱うことも可能である。
【0012】
前記の様にT.82では可変ストライプと、最終ストライプ前のNEWLENによりスキャナから読み取った画像のリアルタイムの符号化を可能としていたが、JBIG符号がファクシミリ装置に適用されるにあたり、T.85では2つの重大な変更がなされた。
【0013】
第一はストライプ長として128ラインが必須とされ、それ以外の値はオプションとされた点である。
【0014】
これにより復号側では極端に大きなストライプに対応することが不要となったため、ハードウェア/ソフトウェアの設計が容易になり、また相互交信性の面でも有利となった。
【0015】
しかし、一方ではJBIG符号をサポートするファクシミリ装置は少なくとも128ラインのラインバッファを持つことが要求されることになった。
【0016】
リアルタイムでの符号化時は、スキャナから読み取ったデータで128ラインのバッファがフルになるたびに1ストライプの符号化を行い、バッファがフルになる前に画像の後端を検出した場合には、その時点で総ライン数をNEWLENで宣言してから最後のストライプを符号化することになる。
【0017】
図3に例を示す。ここでBIHはJBIGのヘッダーで各種のパラメータが宣言されるが、ここでは本発明に関係する3つのパラメータのみ示すが、他のパラメータは適切に設定されているものとする。YDは画像のライン数で、ここでは最大の0xffffffff(=約40億)が設定されている。L0はストライプ長で、ここでは標準の128が設定される。VLENGTH=1は、この後にNEWLENで総ライン数が訂正されることを示す。以下128ライン単位でストライプデータが作成され、この例では実際に送信されるライン数は500ラインなので、最終の4番ストライプの前にNEWLENが使われて、正しい総ライン数が宣言される。
【0018】
第二は第一の変更によりラインバッファが最低でも128ライン必要になったことに対する代償として発案されたもので、NULLストライプという概念を導入することにより全ての画像を符号化した後にNEWLENで総ライン数を宣言する方法が認められたことである。
【0019】
この場合には全てのストライプが送られた後で、NEWLENが送られて総ライン数が示され、その後ろに全くデータを持たないNULLストライプが送られて画像が閉じられる。
【0020】
図7に例を示す。ここではBIHは図6と同様で、以下ストライプデータが続くが、この例では最終の4番ストライプの後にNEWLENが使われて総ライン数が宣言され、その後にESC,SDNORMが続いてデータを伴わないストライプが存在することになっている。
【0021】
【発明が解決しようとする課題】
この方法によりファクシミリ装置は128本のラインバッファを保有する必要がなくなり、いくばくかのコストダウンが可能となったが、新たに別の問題が発生した。
【0022】
それは、画像のライン数は128の整数倍とは限らないので最終ストライプは殆どの場合に128ラインに満たないにも関わらず、最終ストライプの復号開始時点では総ライン数が不明のため、復号時に余分なゴミラインを生成してしまう危険性が発生したということことである。図8にゴミの発生の様子を示す。
【0023】
図6に示す従来例では1ストライプ=128ラインが宣言されていても、4番目のストライプの復号を開始する以前にNEWLENで総ライン数=500ラインが宣言されているので、復号処理では500ラインを超えるデータが出力されることはない。
【0024】
しかし、図7に示すT.85で新たに認められたNEWLENの使用法の例では4番目のストライプの復号を開始する以前には総ライン数としては最初にYDで与えられた0xfffffffが有効なままになっているので、復号処理では1ストライプ分の128ラインを復号してしまいトータルで512ラインまで復号してしまう危険性がある。このように過剰なストライプを復号すれば、図8に示すように情報として意味のないゴミが生じてしまう。
【0025】
このゴミは、とりわけ、現行のファクシミリでは大きな問題となる。現行のファクシミリでは、JBIG符号の復号には時間がかかるという欠点を解決すべく、JBIGの受信データを受信中にリアルタイムで復号し、別のより扱いやすい符号化方式、例えばMMR等で再度圧縮して装置内のメモリに蓄積して、そこから印字あるいは転送するといった処理が一般に行われている。このような場合に、後でNEWLENにより総ライン数が500であることが示されても、一般的なファクシミリ装置では既に別の符号化方式での再符号化が終了しており、発生してしまったゴミラインは消すことができない。
【0026】
従って、上述の再符号化されたデータの後端に余分なゴミラインが付加されてしまうことが避けがたかった。
【0027】
そこで、上記の問題を解決し、画像の後端にNEWLENを付加してくる送信機から受信しても、再符号化後のデータにゴミラインが表れず、そのままPC等にアップロード可能な情報処理装置を比較的安価に実現することが本発明の目的である。
【0028】
【課題を解決するための手段】
上記目的を達成するため、本発明は、少なくとも一つのユニットからなる元データをJBIG符号を用いて該ユニットごとに情報圧縮されて生成された第1の圧縮データと前記元データの総ライン数を表したパラメータを受信する受信部と、前記受信部により受信された前記第1の圧縮データから複数のラインで構成された圧縮前のユニットを復号する復号化部と、前記復号化部により復号された前記ユニットを蓄積する蓄積部と、前記復号化部により復号化済みのライン数をカウントするカウント部と、前記パラメータによる前記総ライン数が、前記カウントされた復号化済みのライン数より大きければ、前記総ライン数までのラインを前記ユニット中の元データとして有効な部分と判定し、一方、前記パラメータによる前記総ライン数が、前記カウントされた復号化済みのライン数以下であれば、前記復号化済みのライン数を超える余剰ラインを除いた残りのラインを前記ユニット中の元データとして有効な部分と判定する判定部と、前記判定部により有効と判定された前記部分までを前記蓄積部から順次読み出し、読み出されたユニットごとに前記JBIG符号と異なる符号にて再度情報圧縮し第2の圧縮データを生成する情報再圧縮部と、前記第2の圧縮データを外部に出力する出力部とを有することを特徴とする。
【0035】
さらに、上記目的を達成するため、本発明は、少なくとも一つのユニットからなる元データをJBIG符号を用いて該ユニットごとに情報圧縮されて生成された第1の圧縮データと前記元データの総ライン数を表したパラメータを受信するステップと、前記第1の圧縮データから複数のラインで構成された圧縮前のユニットを復号するステップと、前記復号された前記ユニットを蓄積するステップと、前記復号化部により復号化済みのライン数をカウントするステップと、前記パラメータによる前記総ライン数が、前記カウントされた復号化済みのライン数より大きければ、前記総ライン数までのラインを前記ユニット中の元データとして有効な部分と判定し、一方、前記パラメータによる前記総ライン数が、前記カウントされた復号化済みのライン数以下であれば、前記復号化済みのライン数を超える余剰ラインを除いた残りのラインを前記ユニット中の元データとして有効な部分と判定するステップと、有効と判定された前記部分までを前記蓄積部から順次読み出し、読み出されたユニットごとに、前記JBIG符号と異なる符号にて再度情報圧縮し第2の圧縮データを生成するステップとを有することを特徴とする。
【0043】
さらに、上記目的を達成するため、本発明の情報処理システムは、第1の情報処理装置と、前記第1の情報処理装置に通信回線を介して接続された第2の情報処理装置とを備える情報処理システムであって、前記第1の処理装置は、少なくとも一つのユニットからなる元データをJBIG符号を用いて該ユニットごとに情報圧縮を圧縮して第1の圧縮データを生成する情報圧縮部と、前記通信回線を介して前記第2の情報処理装置に前記第1の圧縮データを送信する送信部と、を備え、前記第2の処理装置は、前記通信回線を介して前記第1の情報処理装置により送信された第1の圧縮データと前記元データの総ライン数を表したパラメータを受信する受信部と、前記受信部により受信された前記第1の圧縮データから圧縮前のユニットを復号する復号化部と、前記受信部により受信された前記第1の圧縮データから複数のラインで構成された圧縮前のユニットを復号する復号化部と、前記復号化部により復号された前記ユニットを蓄積する蓄積部と、前記復号化部により復号化済みのライン数をカウントするカウント部と、前記パラメータによる前記総ライン数が、前記カウントされた復号化済みのライン数より大きければ、前記総ライン数までのラインを前記ユニット中の元データとして有効な部分と判定し、一方、前記パラメータによる前記総ライン数が、前記カウントされた復号化済みのライン数以下であれば、前記復号化済みのライン数を超える余剰ラインを除いた残りのラインを前記ユニット中の元データとして有効な部分と判定する判定部と、前記判定部により有効と判定された前記部分までを前記蓄積部から順次読み出し、読み出されたユニットごとに前記JBIG符号と異なる符号にて再度情報圧縮し第2の圧縮データを生成する情報再圧縮部とを備える。
【0045】
【発明の実施の形態】
以下に本願発明の一実施形態を示す。もちろん以下の実施形態は、本願発明の当業者による実施を容易にするための開示を提供するものであり、特許請求の範囲によって確定される本願発明の技術的範囲のほんの一部の実施形態にすぎない。従って、本願明細書によって記載されていない実施形態であるからといって、直ちに本願発明の技術的範囲から外れるわけではない。
【0046】
本実施形態では、画像圧縮を例に取り説明するが、本発明の技術思想はこれに限られるものではなく、音声、データファイル及び動画等の他の形式の情報圧縮にも適用可能である。
【0047】
本実施形態ではT.85で標準とされる1ストライプのライン数である128ライン以上のラインバッファを有し、1ストライプの復号終了時点で次のデータを調査し、そこに次のストライプデータが存在すればバッファリングされた128ラインのデータの再符号化を行い、そこにNEWLENが存在すればNEWLENで指定された総ライン数とそれまでに復号をしたライン数を比較して、NEWLENで指定されたライン数の方が復号済みライン数よりも大きい場合はまだ次のストライプが続くのでYDで指定されたライン数をNEWLENで指定されたライン数に変更した上でラインバッファ内のデータを再符号化して復号処理を続行し、NEWLENで指定されたライン数がそれまでに復号したライン数より以下の場合には、本来のデータにはない余剰な部分までも復号してしまったことになるので、余剰な部分を除いた本来有効な意味をもつ部分だけを再符号化すればよい。具体的には、NEWLENで指定されたライン数からそれまでに再符号化を終了したライン数を引いた残りのライン数の再符号化を行うことでゴミラインの発生を防ぐことが可能になる。
【0048】
図1は本発明に係るファクシミリ装置の構成を示すブロック図である。なお、システム構成は図9に示す。同図において、中央演算処理装置(Central Processing Unit : CPU)101は、システム制御部であり、装置全体を制御する。
【0049】
リードオンリーメモリ(Read Only Memory : ROM)107は、CPU101の制御プログラムを格納するものである。ランダムアクセスムモリ(Random Access Memory : RAM)108は、プログラム制御変数等を格納するためのもので、オペレータが登録した各種登録データや画像データもここに格納される。またRAM108の内部マッピングは図示しないが、請求項にいう128本以上のラインバッファもここに配置される。操作部102は、キーボード、タッチパネル等で構成され、オペレータが各種入力操作を行うためのものである。表示部103は、液晶表示装置(Liquid Crystal Display : LCD),発行ダイオード(Light Emitting Diode : LED)等でオペレータに表示通知するためのものである。モデム(Modulator-Demodulator : MODEM)104は、ファクシミリの送受信信号の変復調を行うものであり、ネットワーク接続装置(Network Control Unit : NCU)105は、MODEM104を電話回線に接続するためのもので、他に選択信号(ダイヤルパルス)の送出や呼び出し信号を検出する機能も有する。なお、電話回線はアナログ回線、ISDNだけでなく他の通信回線であってもよい。すなわちインターネット網などでもよい。また、有線に限らず無線により通信回線を実現してもよい。
【0050】
記録部109は、プリンタのエンジン部であり、画像情報を受け取り、記録紙に印字する機能を持っている。なお、画像情報をファイルとして保存する場合は、この記録部は記憶媒体の読み書きドライブ等になろう。読取部110は原稿を読み取るスキャナあるいは原稿画像ファイルの記録された記憶媒体を読み取る読取装置等である。
【0051】
PC−I/F部106は、ホストコンピュータ111に接続するためのもので、ホストコンピュータへの画像データのアップロードおよびホストコンピュータからの画像のダウンロードを行う。アップロードする画像はMODEM104およびNCU105を通して受信したものでも良く、また読取部110で読み取ったものであっても差し支えない。またダウンロードされた画像は記録部109で印字しても良く、MODEM104およびNCU105を通して送信しても良い。本実施形態ではPC−I/F部106は、ホストコンピュータ111とはIEEE1284準拠の双方向パラレルI/Fで接続されることを想定しているが、これはUSB(Universal Serial Bus)、イーサネットまたはIEEE1395等の他の通信規格で接続しても差し支えない。
【0052】
以上の101〜110が本実施形態におけるファクシミリ装置の構成である。
【0053】
そして、ホストコンピュータ111はファクシミリ装置と接続して画像のアップロード/ダウンロードを行うことで、ファクシミリ装置をスキャナ/プリンタ/PC−FAXの様に動作させるものである。
【0054】
図9は、本実施形態のシステム概要を示すものである。第1の情報処理装置900は、JBIGで符号化された画像データを作成し、転送するファクシミリやパソコン等の装置である。第2の情報処理装置900は、JBIGデータを受信して復号し、MR等の他の符号化により再圧縮を行うファクシミリまたはPC等である。第3の処理装置は、MMR等のデータを第2の処理装置から受信し、画面に表示したりプリンタで印刷するパソコンなどである。各装置間は、無線または有線により接続されており、各装置とも通信に必要なIFを備えている。なお、処理の流れとしては、図示の逆の流れもあろう。すなわち、PCで作成した文書や画像ファイル等を第2の情報処理装置にダウンロードし、そこでJBIG符号化して第1の情報処理装置に転送し、第1の情報処理装置にて復元及び再圧縮してもよい。
【0055】
図2は、図1をより機能的に記述したものである。受信部150は、NCU105やMODEM104に対応するものであり、通信回線と接続し、JBIGにより圧縮されたデータ及びNEWLEN等の制御データを受信する回路であり、NCU105やMODEM104が対応する。蓄積部152は、RAM108などのデータを記憶する記憶装置であって、図3に詳細を示すように、受信部150で受信したJBIGデータ(第1の圧縮データ)や制御データ(付加情報)、後述する各種変数及びMMR等による再符号化後の圧縮データ(第2の圧縮データ)を蓄積する。判定部153では、NEWLENなどの付加情報及び蓄積部152に蓄積された各種変数とに基づいて、復号化された情報のうちゴミではない有効な部分を特定する。復号化部155は、蓄積部153に蓄積されたJBIGデータを復号し、復号された元データ(復号されたユニット)を再度蓄積部152に書き込む。再圧縮部154は、判定部153の命令に従って復号された元データのうちゴミを除いた有効な情報部分をMMR等の符号を用いた再度情報圧縮を施す。なお、判定部153、再圧縮部154及び復号化部155はそれぞれ専用の回路により実現してもよいが、図1、図2に示すようにCPU101、ROM107またはRAM108等に記憶されたプログラムにより実現してもよい。出力部151は、PC等への接続インタフェースやディスプレイ等の画像表示装置または印字装置などである。
【0056】
本実施形態では、ユニット単位で順次復号処理しながら、上記判定部153において意味のある情報の最終位置、すなわち元データの終端を監視し、再圧縮部154で不要な部分を除いた残りを再符号化する構成としたため、ゴミラインの発生を極力防止できる利点がある。
【0057】
図3に、RAM108の記憶例を示している。ラインバッファエリア108aは、受信部150で受信した1ストライプ分のデータをバッファリングするための記憶領域である。変数格納エリア108bは、画像の総ライン数を表すtotal_line、JBIG復号済みのライン数を表すdec_line、MMRによる再符号化済みのライン数を示すenc_line及び現在処理中のラインであるstripe_lineなどの各種変数を記憶する記憶領域である。
【0058】
以上の前提を持って、本発明の具体的な実施形態を説明する。最初に図4に示したJBIGデータの構造図にしたがって、JBIG符号の構造を説明する。JBIGデータは大きくはヘッダー部であるBIHとデータの実体であるBIDに分けられる。BIHには以後のBIDの状態を示す情報が書き込まれている。例えば主走査長を示すXD、副走査長を示すYD、ストライプ長を示すL0等である。
【0059】
そして、データの実体であるBIDは図中でSDEと表されている一つ以上のストライフから構成されている。ストライプは画像を固定のライン数で区切ったもので、1ストライプを構成するライン数はBIH内でL0として宣言される。ストライプ長はファクシミリ装置においては128ラインが必須であるが、送信側/受信側の双方がストライプ長を可変とすることが可能な場合には、別のライン数を使用しても良く、またBID全体を1ストライプで構成しても良い。
【0060】
ストライプデータはESC,SDNORM(0xff,0x02)あるいはESC,SDRST(0xff,0x03)で終端が区切られる。ストライプとストライプの間にはフローティングマーカーセグメントという制御情報を挿入できる。フローティングマーカーセグメントにはいくつかの種類があるが、本発明に関係するのはNEWLENマーカーセグメントで、これはBIH内でYDにより宣言された副走査長を変更するためのものである。NEWLENを使用すると符号化開始時点ではライン数が不明な場合にも、YDには暫定的に大きな値を設定して符号化を開始し、正確なライン数が判明した時点でNEWLENを使用して正しいライン数を宣言しなおすことができる。これはスキャナ等から読み取った画像をリアルタイムで符号化する時に有効な方法である。
【0061】
T.82ではNEWLENは最後のストライプの前までに宣言しなくてはならなかったが、T.85では最終ストライプを符号化した後にNEWLENで正しいライン数を宣言し、その後ろにダミーのデータが存在しないストライプ(NULLストライプ)を付加してデータを終結することが許されている。
【0062】
ここで本実施形態の前提となる動作を説明すると、本実施形態では受信時にはJBIGのベーシックモードのみサポートする。すなわちITU−TのT.30勧告で定義されるDIS/DTCのビット78のみ宣言し、ビット79のL0変更能力は宣言しない。これにより相手機は常に1ストライプ=128ラインで送信を行う。
【0063】
受信機は前述の様に受信したJBIG画像を復号して、前記RAM108内のラインバッファに生データの形式で蓄積する。このラインバッファは本実施形態では128本を有しているので1ストライプのデータは必ず蓄積可能である。
【0064】
そして1ストライプの復号が終了するたびに、ラインバッファ内のデータを再度別の符号化方式で符号化し、これも前記RAM108内に蓄積する。本実施形態ではこの再符号化に使用する符号化方式はMRとするが、これはMMR等、別の符号化方式を使用しても問題はない。蓄積された画像は主に記録部109を通して印字されるが、PCI/F部106を通してホストコンピュータ111へアップロードしても良く、また他の装置へ送信しても良い。
【0065】
以下、図5のフローチャートを使用して本実施形態における復号動作を説明する。受信動作および、復号後の記録/アップロード等の動作は公知の技術なので記述しないが、図5のフローを開始する前に、T.30の手順は開始されて画像の受信は始まっており、記録/アップロード等の動作は図5のフローで1ページの復号が終了した後に行われるものとする。また、特に断りがない限り、各処理の主体はCPU101である。
【0066】
最初に処理の概要を説明する。本発明では、少なくとも一つのユニットからなる元データを第1の情報圧縮符号を用いて該ユニットごとに情報圧縮が施されてなる第1の圧縮データを受信するステップと、前記第1の圧縮データから圧縮前のユニットを復号するステップと、前記復号されたユニットを蓄積するステップと、前記蓄積されたユニットのうち情報として意味のある位置までを順次読み出し、読み出されたユニットごとに順次第2の情報圧縮符号にて再度情報圧縮し第2の圧縮データを生成するステップと、前記第2の圧縮データを出力するステップとを含むものである。
【0067】
このように本実施形態では、ユニット単位で順次復号処理しながら、意味のある情報の最終位置、すなわち元データの終端を監視し、不要な部分を除いた残りを再符号化する構成としたため、ゴミラインの発生を極力防止できるよう。以下に構成の詳細を示す。
【0068】
まずS501で変数の初期化を行う。フロー中に記載される変数は全てRAM108内部に置かれる。変数total_lineは1ページのライン数で基本的にはJBIG画像の先頭のBIH(ヘッダー部)内でパラメータYDとして渡されるので、S501ではYDの値をtotal_lineに書き込む。変数dec_lineは復号化済みのライン数、変数enc_lineは再符号化済みのライン数でここではどちらも0に初期化する。次にS502で変数stripe_lineを0に初期化する。これは現在注目しているストライプ内にあるライン数を表す。念のため、初期化とはCPU101が、変数に0等の値を代入してRAM108に書き込むことをいう。
【0069】
そしてS503で1ラインのJBIGデコードを行う。デコード結果の生データは前記RAM108内部のラインバッファに格納される。そしてS504で変数dec_lineとstripe_lineにそれぞれ1を加算する。
【0070】
次にS505で1ストライプのデコードを終了したかどうかをチェックする。本実施形態では受信機は1ストライプ=128ラインのモードでのみ動作するので、ストライプの終了は128ラインのデコードを終了した場合か、画像の最後で128ラインに満たないラインでストライプが終了した場合にYESとなる。ここでNOの場合にはS503に戻ってデコードを続行する。本実施形態ではラインバッファは1ストライプに相当する128本を有しているので、ストライプの途中でラインバッファがフルになることはない。なお、S505だけでなく、他の判断ルーチンS506、S507及びS513はいずれもCPU101の判定部153において判定がされる。
【0071】
S505で1ストライプの終了を検出した場合、S506でまだデータがあるかどうかをチェックする。次データが存在しない場合にはこれで画像は終了なのでS509へ進む。S506でデータが残っている場合には、S507でそれがNEWLENマーカーかどうかをチェックする。NEWLENでなかった場合にはS509へ進んで処理を続行する。尚、ストライプ間のフローティングマーカーセグメントとしてはNEWLEN以外にも他のものが存在するが、本発明には関係しないのでそれらの処理は図示しない。
【0072】
S507でNEWLENを検出した場合には、S508へ進みNEWLENに付属してきたライン数を持って、変数total_lineを書き換える。そしてS510でtotal_lineとdec_lineの比較を行う。ここで新たに指示されたtotal_lineがこれまでにデコードが済んだライン数を示すdec_lineよりも大きかった場合には、まだ画像が続くので、S509へ進んで処理を続行する。これはT.82でも許されていた最終ストライプ前に宣言されるNEWLENの場合の動作である。
【0073】
S509ではそのストライプ内でデコードされたライン数であるstripe_lineに従って、MRでの再符号化を行う。そして、S511では再符号化されたライン数を示すenc−lineにstripe_lineの値を加算する。
【0074】
このように、本実施形態は1ストライプを単位として復号と再圧縮を繰り返すように構成したので、JBIGで復号された圧縮データを受信しながらリアルタイムで復号を行うことが可能となり、ひいては、高いスループット得られよう。
【0075】
そしてS513でenc_lineとtotal_lineを比較して、total_lineの方が大きければ、まだデータが残っているのでS502に戻って処理を続行する。さもなければ復号は終了である。これはNEWLENを使用しない、またはT.82で許されていた最終ストライプ前のNEWLENを使用する場合の終了手順となる。
【0076】
S510でdec_lineがtotal_lineと等しいか、あるいはより大きい場合は、送信側が符号化した以上のラインが復号されてしまっていることになる。これが本発明が解消しようとしているゴミラインであり、T.85で認められた最終ストライプ後のNEWLENの使用により発生する現象である。この場合はS512で新たに指示されたtotal_lineから既に再符号化を行ったライン数であるenc_lineを引いた値だけの再符号化を行う。これにより送信側で符号化された以上のラインが受信側に発生することはなくなり、最終ストライプ後のNEWLENの使用により発生する課題も解決できよう。以上が本発明の実施形態におけるJBIGのデコード処理である。
【0077】
本実施形態では、上述のようにPCにアップロードする前に、再圧縮を行いアップロードファイルの作成が終えているため、ファクシミリ装置の符号化性能がたとえ十分でなくとも、それが転送時のボトムネックとはならないという効果が生じる。
【他の実施形態】
・送受信時おけるラインバッファの共有
尚、本発明を実現する場合には128本以上のラインバッファを必要とするが、送信時にはそれをJBIGの符号化に使用する他の実施形態も可能である。この構成によれば、ストライプ単位のエンコードが可能となり、ひいては、T.85で認められた最終ストライプ後のNEWLENを使用せずに最終ストライプ前にNEWLENを送ることができるので、不要なデータが付加されてしまうこともない。従って、本発明の様なゴミラインの削除処理機能を持たない従来の受信機であっても、送信側に本発明の他の実施形態を用いれば、その印刷時やアップロード時にゴミラインが極力生じないという利点がある。
・ラインバッファを削減したファクシミリ装置が画像の最後にNEWLENを付加する場合の対策
ところで、T.85勧告でも従来通り先頭のYDで正しい総ライン数を宣言したり、最終ストライプの送信以前にNEWLENで総ライン数を宣言したりすることも可能である。しかし、ラインバッファを削減したファクシミリ装置が画像の最後にNEWLENを付加する方式で送信してくるケースも現実に存在する。
【0078】
この問題を回避する実施形態としては、1ページ分のバッファを備えた受信側は、受信したJBIGデータをそのままの形式で保存して、最終的に受信したNEWLENの値で画像先頭のYDを書き換えてから復号を開始すればよい。
・1ページ分のバッファを持つことが困難な場合
コストや他の理由から、JBIGで1ページ分のバッファを持つことが困難な場合もあろう。また、受信を完全に終了してから復号を開始するのでは、スループットが低下するおそれもある。この課題を解決するには、ページバッファとハードウェアのデコーダを備える構成にすればよい。
・印字またはアップロード時の制御により対応する場合
より簡単に対応するには、YDあるいはNEWLENで指定された総ライン数を画像の有効ライン数として、画像とは別にRAMに保持しておき、受信画像を印字する際に、CPUで印字制御することで、前記有効ライン数までを印字することできよう。これなら、画像の後端にゴミラインが付加されていても、それは印字されることはない。 なお、ファクシミリ装置をPC(パーソナルコンピュータ)等の外部装置と接続して受信画像のアップロードを可能とする場合受信画像の後端にゴミが付加されていることはトラブルを招く恐れがある。
【0079】
この場合は、PC上で表示あるいはPCからプリンタへ転送して印字を行った場合には画像の後端にゴミが表れてしまうので、最初に説明した本発明の実施形態を用いればよい。なお、先の実施形態に比べると複雑な処理となるが、PCにアップロードしたファイルの特定のライン以降にゴミがある旨の情報を、PCの印刷プログラムに渡すことで印刷制御をしてもよい。
【0080】
もしくは、PCへの転送時に画像の復号を行い、装置が保持している有効ライン数までで転送を終了させてもよい。ただし、装置とPCとのインタフェースは通常USB(Universal Serial Bus)やセントロニクス標準のECP(Extended Capabilities Port)モードを使用していて数百KB/sから数MB/sの能力を持つのが一般的なのに対して、ファクシミリ装置の復号速度は通常通信回線の能力に合わせて33.6〜64Kbit/s程度に過ぎないので、この様な処理を行うことはアップロードの性能を大きく制約してしまうかもしれない。その点では、先の実施形態が有効である。
・その他
本発明は、複数の機器(例えばホストコンピュータ、インタフェース機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
【0081】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0082】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0083】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した図5に示すフローチャートに対応するプログラムコードが格納されることになる。
【0084】
【発明の効果】
以上説明したように、本発明によれば、受信しながらリアルタイムで復号を行うことで高いスループットでの動作を可能としつつ、装置内部に蓄積された再符号化データに余分なゴミラインが付加されることを防ぎ、そのままPC等へ高速でアップロードを行うことが可能となる。
【図面の簡単な説明】
【図1】 本発明の実施形態に係るファクシミリ装置の構成を示すブロック図である。
【図2】 本発明の実施形態に係る機能ブロック図である。
【図3】 本発明の実施形態に係るRAMに記憶されるデータを示した図である。
【図4】 JBIGデータの構造図である。
【図5】 本発明の実施形態に係るファクシミリ装置の動作を示すフローチャートである。
【図6】 従来のNEWLENの使用法の例を示す図である。
【図7】 T.85勧告で認められたNEWLENの使用法の例を示す図である。
【図8】 余剰なストライプを復号した場合の課題を示す図である。
【図9】 本発明の情報処理システムを示す図である。
【符号の説明】
101 CPU
102 操作部
103 表示部
104 MODEM
105 NCU
106 PC I/F部
107 ROM
108 RAM
109 記録部
110 読取部
111 ホストコンピュータ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an information recompression method, an information processing apparatus, and an information processing system, and more particularly to a facsimile apparatus that employs a JBIG code.
[0002]
[Prior art]
In recent years, facsimile apparatuses having a JBIG (Joint Bilevel Image coding experts Group) mode as a coding method have been put into practical use. This JBIG code has been developed by the International Telecommunications Union (ITU-T) as T.D. 82, which is recommended for use in facsimile machines. 85 recommendations apply.
[0003]
Compared with conventional compression codes such as MMR (Modified Modified Read) coding, JBIG is characterized by a high compression rate. This greatly benefits from predictive coding. In JBIG predictive coding, the state of a pixel of interest is predicted from surrounding pixels, and code data is generated only in a state different from the prediction. Therefore, since no data is generated while the prediction is correct, a high compression rate can be obtained.
[0004]
On the other hand, the JBIG code also has a feature that decoded data is generated from a state in which there is no data on the decoding side even though no data is generated on the encoding side in a range where the predictions match. This means that there is a risk of generating extra dust data even though there is no more data at the rear end of the image.
[0005]
This is shown in FIG. FIG. 8 shows a case where dust is generated during decoding as a result of encoding with JBIG exceeding the target image size.
[0006]
As a countermeasure, T.W. In the original JBIG code recommended in 82, Y at the head of the image D By declaring the number of lines of the image with the parameters, and decoding without exceeding the value of YD at the time of decoding, data more than that created on the encoding side is prevented from appearing on the decoding side.
[0007]
Furthermore, for applications where the total number of lines is not known at the start of encoding, D Is set to a sufficiently large value, and the image is divided into a plurality of stripes and encoded, and the method of declaring the correct number of lines with the parameter NEWLEN before the encoding of the last stripe is permitted. Yes. Note that NEWLEN is a parameter that represents the total number of lines in the image.
[0008]
This stripe is obtained by dividing one image into a plurality of horizontal bands, and the number of lines constituting one stripe is L in advance. 0 Is declared at the top of the image.
[0009]
This L 0 Since the value of is variable, in applications where the image read from the scanner is encoded in real time, L 0 By sufficiently reducing the value of, JBIG encoding can be performed with a minimum number of buffers.
[0010]
L in extreme cases 0 If 1 is set to 1, it is possible to JBIG-encode an image read from the scanner with only one line buffer in real time. In this case, the number of lines may be declared with NEWLEN immediately before the last line is encoded.
[0011]
Of course, in an application that has enough memory and encodes after reading all the images, D In this case, it is not necessary to divide it into stripes. 0 Y D It is also possible to treat the entire image as one stripe with the same value as.
[0012]
As described above, T.W. 82 enables real-time encoding of an image read from a scanner by a variable stripe and NEWLEN before the final stripe. In 85, two major changes were made.
[0013]
The first is that 128 lines are essential as the stripe length, and other values are optional.
[0014]
As a result, it becomes unnecessary to cope with extremely large stripes on the decoding side, which facilitates the hardware / software design and is advantageous in terms of mutual communication.
[0015]
However, on the other hand, a facsimile machine supporting the JBIG code is required to have a line buffer of at least 128 lines.
[0016]
When encoding in real time, every time the 128-line buffer becomes full with the data read from the scanner, one stripe is encoded, and if the trailing edge of the image is detected before the buffer is full, At that time, the final stripe is encoded after the total number of lines is declared as NEWLEN.
[0017]
An example is shown in FIG. Here, BIH has various parameters declared in the header of JBIG. Here, only three parameters related to the present invention are shown, but other parameters are set appropriately. Y D Is the number of lines of the image, and here, the maximum 0xffffffff (= about 4 billion) is set. L 0 Is the stripe length, and here, the standard 128 is set. VLENGTH = 1 indicates that the total number of lines is corrected by NEWLEN after this. Below, stripe data is created in units of 128 lines. In this example, since the number of lines actually transmitted is 500 lines, NEWLEN is used before the final fourth stripe, and the correct total number of lines is declared.
[0018]
The second was invented as a compensation for the need for a minimum of 128 lines of line buffer due to the first change. After all the images were encoded by introducing the concept of NULL stripes, the total line was set in NEWLEN. The method of declaring numbers is recognized.
[0019]
In this case, after all stripes have been sent, NEWLEN is sent to indicate the total number of lines, followed by a NULL stripe with no data at all and the image is closed.
[0020]
An example is shown in FIG. Here, BIH is the same as in FIG. 6, and stripe data continues. In this example, NEWLEN is used after the last stripe No. 4, and the total number of lines is declared, followed by ESC and SDNORM, followed by data. There are no stripes to be present.
[0021]
[Problems to be solved by the invention]
This method eliminates the need for the facsimile apparatus to have 128 line buffers, which can reduce the cost to some extent, but causes another problem.
[0022]
The number of lines in the image is not always an integral multiple of 128, so although the final stripe is less than 128 in most cases, the total number of lines is unknown at the start of decoding of the final stripe. This means that there is a risk of generating an extra garbage line. FIG. 8 shows how dust is generated.
[0023]
In the conventional example shown in FIG. 6, even if one stripe = 128 lines is declared, the total number of lines = 500 lines is declared in NEWLEN before starting the decoding of the fourth stripe. No more data will be output.
[0024]
However, as shown in FIG. In the newly recognized example of NEWLEN usage at 85, before starting the decoding of the fourth stripe, the total number of lines is first Y D Since 0xfffffff given in (2) remains valid, there is a risk that 128 lines for one stripe are decoded in the decoding process and a total of 512 lines is decoded. If excessive stripes are decoded in this way, meaningless garbage is generated as information as shown in FIG.
[0025]
This garbage becomes a big problem especially in the current facsimile. In the current facsimile, in order to solve the disadvantage that it takes time to decode the JBIG code, the received data of JBIG is decoded in real time during reception, and is compressed again by another easier handling method such as MMR. In general, processing such as storing in a memory in the apparatus and printing or transferring from there is performed. In such a case, even if NEWWLEN later indicates that the total number of lines is 500, a general facsimile apparatus has already completed re-encoding with another encoding method, You can't erase a garbage line.
[0026]
Therefore, it was difficult to avoid adding an extra dust line to the rear end of the re-encoded data.
[0027]
Therefore, information processing that solves the above problem and that can be uploaded to a PC or the like without a dust line appearing in the re-encoded data even if it is received from a transmitter that adds NEWLEN to the rear end of the image It is an object of the present invention to implement the device relatively inexpensively.
[0028]
[Means for Solving the Problems]
In order to achieve the above object, the present invention provides original data comprising at least one unit. JBIG code The first compressed data generated by compressing information for each unit using And a parameter indicating the total number of lines of the original data From the first compressed data received by the receiver Consists of multiple lines A decoding unit that decodes the unit before compression; a storage unit that stores the unit decoded by the decoding unit; A counting unit that counts the number of lines that have been decoded by the decoding unit; and if the total number of lines according to the parameter is greater than the counted number of decoded lines, the lines up to the total number of lines are On the other hand, if the total number of lines according to the parameter is equal to or less than the counted number of decoded lines, surplus lines exceeding the number of decoded lines are determined. A determination unit that determines the remaining lines excluding the valid portion as the original data in the unit, and the portion determined to be valid by the determination unit. Read sequentially from the storage unit, for each unit read A code different from the JBIG code An information recompressing unit that compresses information again to generate second compressed data, and an output unit that outputs the second compressed data to the outside. Have It is characterized by that.
[0035]
Furthermore, in order to achieve the above object, the present invention converts original data comprising at least one unit. JBIG code The first compressed data generated by compressing information for each unit using And a parameter indicating the total number of lines of the original data And receiving from the first compressed data Consists of multiple lines Decoding the unit before compression; accumulating the decoded unit; Counting the number of lines decoded by the decoding unit; and if the total number of lines according to the parameter is greater than the number of decoded lines counted, the lines up to the total number of lines are On the other hand, if the total number of lines according to the parameter is equal to or less than the counted number of decoded lines, surplus lines exceeding the number of decoded lines are determined. A step of determining the remaining line as a valid part as the original data in the unit, and up to the part determined to be valid. Read sequentially from the storage unit, for each unit read A code different from the JBIG code And re-compressing information to generate second compressed data; Have It is characterized by that.
[0043]
Furthermore, in order to achieve the above object, an information processing system according to the present invention includes a first information processing apparatus and a second information processing apparatus connected to the first information processing apparatus via a communication line. An information processing system, wherein the first processing device stores original data comprising at least one unit. JBIG code An information compression unit for compressing information compression for each unit to generate first compressed data, and transmission for transmitting the first compressed data to the second information processing apparatus via the communication line A first compressed data transmitted from the first information processing apparatus via the communication line. And a parameter indicating the total number of lines of the original data From the first compressed data received by the receiving unit, a decoding unit that decodes a unit before compression from the first compressed data received by the receiving unit, and the first compressed data received by the receiving unit Consists of multiple lines A decoding unit that decodes the unit before compression; a storage unit that stores the unit decoded by the decoding unit; A counting unit that counts the number of lines that have been decoded by the decoding unit; and if the total number of lines according to the parameter is greater than the counted number of decoded lines, the lines up to the total number of lines are On the other hand, if the total number of lines according to the parameter is equal to or less than the counted number of decoded lines, surplus lines exceeding the number of decoded lines are determined. A determination unit that determines the remaining lines excluding the valid portion as the original data in the unit, and the portion determined to be valid by the determination unit. Read sequentially from the storage unit, for each unit read A code different from the JBIG code And an information recompressing unit for generating second compressed data by compressing the information again.
[0045]
DETAILED DESCRIPTION OF THE INVENTION
An embodiment of the present invention is shown below. Of course, the following embodiments provide disclosure for facilitating implementation of the present invention by those skilled in the art, and are only a part of the technical scope of the present invention defined by the claims. Only. Therefore, the embodiment not described in the present specification does not immediately depart from the technical scope of the present invention.
[0046]
In the present embodiment, image compression will be described as an example. However, the technical idea of the present invention is not limited to this, and can be applied to other types of information compression such as audio, data files, and moving images.
[0047]
In this embodiment, T.I. It has a line buffer of 128 lines or more, which is the standard number of lines in one stripe at 85, and the next data is investigated at the end of decoding of one stripe, and if there is next stripe data, it is buffered. If there is a new line, the total number of lines specified by NEWLEN is compared with the number of lines decoded so far, and the number of lines specified by NEWLEN If is larger than the number of decoded lines, the next stripe still continues, so Y D After changing the number of lines specified in (1) to the number of lines specified in NEWLEN, the data in the line buffer is re-encoded to continue the decoding process, and the number of lines specified in NEWLEN has been decoded so far. In the following cases, since the surplus part not included in the original data is also decoded, it is only necessary to re-encode only the part having the originally effective meaning excluding the surplus part. Specifically, it is possible to prevent the generation of dust lines by re-encoding the remaining number of lines by subtracting the number of lines that have been re-encoded so far from the number of lines specified by NEWLEN. .
[0048]
FIG. 1 is a block diagram showing the configuration of a facsimile apparatus according to the present invention. The system configuration is shown in FIG. In FIG. 1, a central processing unit (CPU) 101 is a system control unit and controls the entire apparatus.
[0049]
A read only memory (ROM) 107 stores a control program for the CPU 101. A random access memory (RAM) 108 is used to store program control variables and the like, and various registration data and image data registered by the operator are also stored here. Further, although the internal mapping of the RAM 108 is not shown, 128 or more line buffers referred to in the claims are also arranged here. The operation unit 102 includes a keyboard, a touch panel, and the like, and is used by an operator to perform various input operations. The display unit 103 is for notifying an operator of display using a liquid crystal display (LCD), a light emitting diode (LED), or the like. A modem (Modulator-Demodulator: MODEM) 104 performs modulation / demodulation of a facsimile transmission / reception signal, and a network connection unit (NCU) 105 connects the MODEM 104 to a telephone line. It also has a function of sending a selection signal (dial pulse) and detecting a calling signal. The telephone line may be an analog line, ISDN, or another communication line. That is, an Internet network or the like may be used. Further, the communication line may be realized not only by wire but by radio.
[0050]
A recording unit 109 is an engine unit of the printer, and has a function of receiving image information and printing on recording paper. When image information is stored as a file, this recording unit will be a read / write drive of a storage medium. The reading unit 110 is a scanner that reads a document or a reading device that reads a storage medium on which a document image file is recorded.
[0051]
The PC-I / F unit 106 is connected to the host computer 111, and uploads image data to the host computer and downloads images from the host computer. The uploaded image may be received through the MODEM 104 and the NCU 105, or may be read by the reading unit 110. The downloaded image may be printed by the recording unit 109 or transmitted through the MODEM 104 and the NCU 105. In this embodiment, it is assumed that the PC-I / F unit 106 is connected to the host computer 111 by a bidirectional parallel I / F conforming to IEEE 1284, but this is not limited to USB (Universal Serial Bus), Ethernet, or Even if it connects with other communication standards, such as IEEE1395, it does not interfere.
[0052]
The above 101 to 110 are the configuration of the facsimile apparatus according to the present embodiment.
[0053]
The host computer 111 is connected to the facsimile apparatus to upload / download images, thereby operating the facsimile apparatus like a scanner / printer / PC-FAX.
[0054]
FIG. 9 shows a system outline of the present embodiment. The first information processing apparatus 900 is an apparatus such as a facsimile or a personal computer that creates and transfers image data encoded by JBIG. The second information processing apparatus 900 is a facsimile, a PC, or the like that receives and decodes JBIG data and performs recompression by other encoding such as MR. The third processing device is a personal computer that receives data such as MMR from the second processing device and displays the data on a screen or prints it with a printer. Each device is connected wirelessly or by wire, and each device has an IF necessary for communication. Note that the flow of processing may be the reverse flow shown in the figure. That is, a document or image file created on a PC is downloaded to the second information processing apparatus, JBIG-encoded there, transferred to the first information processing apparatus, and decompressed and recompressed by the first information processing apparatus. May be.
[0055]
FIG. 2 is a more functional description of FIG. The receiving unit 150 corresponds to the NCU 105 or the MODEM 104, is a circuit that is connected to a communication line and receives data compressed by JBIG and control data such as NEWLEN. The NCU 105 and the MODEM 104 correspond to the receiving unit 150. The storage unit 152 is a storage device that stores data such as the RAM 108, and as shown in detail in FIG. 3, the JBIG data (first compressed data) and control data (additional information) received by the receiving unit 150, Various variables to be described later and compressed data (second compressed data) after re-encoding by MMR or the like are stored. Based on the additional information such as NEWLEN and various variables stored in the storage unit 152, the determination unit 153 specifies an effective portion that is not dust among the decrypted information. The decoding unit 155 decodes the JBIG data stored in the storage unit 153 and writes the decoded original data (decoded unit) in the storage unit 152 again. The recompressing unit 154 again performs information compression using a code such as MMR on the effective information part excluding dust in the original data decoded according to the instruction of the determining unit 153. Note that the determination unit 153, the recompression unit 154, and the decoding unit 155 may be realized by dedicated circuits, respectively, but are realized by programs stored in the CPU 101, the ROM 107, the RAM 108, or the like as shown in FIGS. May be. The output unit 151 is a connection interface to a PC or the like, an image display device such as a display, or a printing device.
[0056]
In the present embodiment, while performing the sequential decoding process in units, the determination unit 153 monitors the final position of meaningful information, that is, the end of the original data, and the recompression unit 154 re-processes the remainder excluding unnecessary portions. Since the encoding is performed, there is an advantage that generation of dust lines can be prevented as much as possible.
[0057]
FIG. 3 shows a storage example of the RAM 108. The line buffer area 108 a is a storage area for buffering data for one stripe received by the receiving unit 150. The variable storage area 108b includes various variables such as total_line indicating the total number of lines of an image, dec_line indicating the number of lines that have been JBIG decoded, enc_line indicating the number of lines that have been re-encoded by MMR, and stripe_line that is the currently processed line. Is a storage area for storing.
[0058]
Based on the above assumptions, a specific embodiment of the present invention will be described. First, the structure of the JBIG code will be described with reference to the structure diagram of the JBIG data shown in FIG. JBIG data is broadly divided into BIH, which is a header part, and BID, which is the substance of data. In the BIH, information indicating the subsequent BID state is written. For example, XD indicating the main scanning length, Y indicating the sub scanning length D , L indicating the stripe length 0 Etc.
[0059]
The BID that is the substance of the data is composed of one or more strikes represented as SDE in the figure. A stripe is an image divided by a fixed number of lines. The number of lines constituting one stripe is L in BIH. 0 Is declared as The stripe length is required to be 128 lines in the facsimile apparatus, but if both the transmission side and the reception side can make the stripe length variable, a different number of lines may be used. You may comprise the whole by 1 stripe.
[0060]
The end of the stripe data is delimited by ESC, SDNORM (0xff, 0x02) or ESC, SDRST (0xff, 0x03). Control information called a floating marker segment can be inserted between stripes. There are several types of floating marker segments, but the present invention is related to the NEWLEN marker segment, which is YY in the BIH. D This is for changing the sub-scan length declared by. When NEWLEN is used, Y is also used when the number of lines is unknown at the start of encoding. D Encoding can be set temporarily to start encoding, and when the correct number of lines is found, the correct number of lines can be declared again using NEWLEN. This is an effective method for encoding an image read from a scanner or the like in real time.
[0061]
T.A. In 82, NEWLEN had to declare before the last stripe. In 85, after coding the final stripe, it is allowed to declare the correct number of lines in NEWLEN, and to add a stripe (NULL stripe) having no dummy data after that to end the data.
[0062]
Here, the operation that is the premise of the present embodiment will be described. In the present embodiment, only the basic mode of JBIG is supported at the time of reception. That is, ITU-T's T.I. Only the DIS / DTC bit 78 defined in the Recommendation 30 is declared, and the L 0 No change ability is declared. As a result, the other party always transmits with 1 stripe = 128 lines.
[0063]
The receiver decodes the received JBIG image as described above and stores it in the form of raw data in the line buffer in the RAM 108. Since this line buffer has 128 lines in this embodiment, data of one stripe can always be stored.
[0064]
Each time one stripe is decoded, the data in the line buffer is encoded again by another encoding method, and this is also stored in the RAM 108. In the present embodiment, the encoding method used for this re-encoding is MR, but there is no problem even if another encoding method such as MMR is used. The accumulated image is printed mainly through the recording unit 109, but may be uploaded to the host computer 111 through the PCI / F unit 106 or transmitted to another device.
[0065]
Hereinafter, the decoding operation in the present embodiment will be described using the flowchart of FIG. Since the receiving operation and the operation such as recording / uploading after decoding are well-known techniques, they will not be described, but before starting the flow of FIG. It is assumed that the procedure of 30 is started and the reception of an image has started, and operations such as recording / uploading are performed after the decoding of one page is completed in the flow of FIG. Further, unless otherwise specified, the main body of each process is the CPU 101.
[0066]
First, an outline of the process will be described. In the present invention, the step of receiving first compressed data obtained by subjecting original data consisting of at least one unit to information compression for each unit using a first information compression code; and the first compressed data Sequentially decoding a unit before compression, a step of accumulating the decoded unit, and a position where information is meaningful from among the accumulated units. And a step of generating second compressed data by recompressing the information with the information compression code and outputting the second compressed data.
[0067]
As described above, in the present embodiment, while sequentially decoding in units, the final position of meaningful information, that is, the end of the original data is monitored, and the remainder excluding unnecessary portions is re-encoded. To prevent the generation of garbage lines as much as possible. Details of the configuration are shown below.
[0068]
First, in step S501, variables are initialized. All variables described in the flow are placed in the RAM 108. The variable total_line is the number of lines per page, basically the parameter Y in the BIH (header part) of the top of the JBIG image. D In step S501, Y D Is written to total_line. The variable dec_line is the number of lines that have been decoded, and the variable enc_line is the number of lines that have been re-encoded, both of which are initialized to 0 here. Next, a variable stripe_line is initialized to 0 in S502. This represents the number of lines in the stripe of interest. As a precaution, initialization means that the CPU 101 assigns a value such as 0 to a variable and writes it to the RAM 108.
[0069]
In step S503, one-line JBIG decoding is performed. The raw data of the decoding result is stored in a line buffer in the RAM 108. In step S504, 1 is added to each of the variables dec_line and stripe_line.
[0070]
In step S505, it is checked whether decoding of one stripe has been completed. In this embodiment, since the receiver operates only in the mode of 1 stripe = 128 lines, the end of the stripe is when the decoding of 128 lines is completed or when the stripe ends with a line less than 128 lines at the end of the image. Yes. If NO here, the process returns to S503 to continue decoding. In this embodiment, since the line buffer has 128 lines corresponding to one stripe, the line buffer does not become full in the middle of the stripe. Note that not only S505 but also other determination routines S506, S507, and S513 are all determined by the determination unit 153 of the CPU 101.
[0071]
If the end of one stripe is detected in S505, it is checked in S506 whether there is still data. If the next data does not exist, the image is completed, and the process proceeds to S509. If data remains in S506, it is checked in S507 whether it is a NEWLEN marker. If it is not NEWLEN, the process proceeds to S509 to continue the processing. In addition to the NEWLEN, there are other floating marker segments between stripes, but these processes are not shown because they are not related to the present invention.
[0072]
When NEWLEN is detected in S507, the process proceeds to S508, and the variable total_line is rewritten with the number of lines attached to NEWLEN. In step S510, total_line and dec_line are compared. If the newly specified total_line is larger than the dec_line indicating the number of lines that have been decoded so far, the image still continues, so the process proceeds to S509 and the process is continued. This is T.W. This is the operation in the case of NEWLEN declared before the final stripe, which is also permitted in 82.
[0073]
In step S509, MR re-encoding is performed according to stripe_line which is the number of lines decoded in the stripe. In step S511, the value of stripe_line is added to enc-line indicating the number of re-encoded lines.
[0074]
As described above, since the present embodiment is configured to repeat decoding and recompression in units of one stripe, it is possible to perform decoding in real time while receiving compressed data decoded by JBIG, and thus high throughput. Get it.
[0075]
In step S513, the enc_line and the total_line are compared. If the total_line is larger, the data remains, so the process returns to S502 to continue the processing. Otherwise, decoding is complete. This does not use NEWLEN or T.W. This is the end procedure when using NEWLEN before the final stripe allowed in 82.
[0076]
If dec_line is equal to or larger than total_line in S510, more lines than encoded by the transmission side have been decoded. This is the garbage line that the present invention is trying to solve. This phenomenon is caused by the use of NEWLEN after the final stripe recognized in 85. In this case, only the value obtained by subtracting enc_line, which is the number of lines already re-encoded, from total_line newly designated in S512 is re-encoded. As a result, more lines than those encoded on the transmission side are not generated on the reception side, and the problem caused by the use of NEWLEN after the final stripe can be solved. The above is the JBIG decoding process in the embodiment of the present invention.
[0077]
In this embodiment, since the upload file has been created by recompressing before uploading to the PC as described above, even if the encoding performance of the facsimile apparatus is not sufficient, it is the bottom neck at the time of transfer. The effect of not becoming.
[Other Embodiments]
-Line buffer sharing during transmission and reception
In order to realize the present invention, 128 or more line buffers are required, but other embodiments are also possible in which they are used for JBIG encoding during transmission. According to this configuration, encoding can be performed in units of stripes. Since NEWLEN can be sent before the final stripe without using NEWLEN after the final stripe recognized in 85, unnecessary data is not added. Therefore, even with a conventional receiver that does not have a dust line deletion processing function as in the present invention, if another embodiment of the present invention is used on the transmission side, dust lines are generated as much as possible during printing or uploading. There is no advantage.
・ Measures when a facsimile machine with a reduced line buffer adds NEWLEN to the end of an image
By the way, T.W. Even in the 85 recommendation, Y D It is also possible to declare the correct total number of lines or to declare the total number of lines with NEWLEN before sending the final stripe. However, there is a case where a facsimile apparatus with a reduced line buffer transmits in a system in which NEWLEN is added to the end of an image.
[0078]
As an embodiment for avoiding this problem, the receiving side having a buffer for one page stores the received JBIG data in the form as it is, and finally receives the NEWWEN value of Y at the head of the image. D Decoding may be started after rewriting.
・ When it is difficult to have a buffer for one page
Due to cost and other reasons, it may be difficult to have a buffer for one page in JBIG. In addition, if decoding is started after reception is completely completed, there is a possibility that the throughput is lowered. In order to solve this problem, a configuration including a page buffer and a hardware decoder may be used.
・ When responding by control during printing or uploading
For easier handling, Y D Alternatively, the total number of lines specified by NEWLEN is stored in the RAM separately from the image as the effective line number of the image, and when the received image is printed, the print control is performed by the CPU. Can be printed. In this case, even if a dust line is added to the rear end of the image, it is not printed. When the facsimile apparatus is connected to an external apparatus such as a PC (personal computer) and uploading of the received image is possible, the fact that dust is added to the rear end of the received image may cause trouble.
[0079]
In this case, when printing is performed on the PC or transferred from the PC to the printer, dust appears at the trailing edge of the image. Therefore, the embodiment of the present invention described first may be used. Although this process is more complicated than in the previous embodiment, printing control may be performed by passing information indicating that there is dust after a specific line of the file uploaded to the PC to the printing program of the PC. .
[0080]
Alternatively, the image may be decoded at the time of transfer to the PC, and the transfer may be completed up to the number of valid lines held by the apparatus. However, the interface between the device and the PC usually uses USB (Universal Serial Bus) or Centronics standard ECP (Extended Capabilities Port) mode, and generally has a capability of several hundred KB / s to several MB / s. On the other hand, since the decoding speed of the facsimile apparatus is usually only about 33.6 to 64 Kbit / s in accordance with the capacity of the communication line, such processing may greatly restrict the upload performance. Absent. In that respect, the previous embodiment is effective.
・ Other
The present invention can be applied to a system composed of a plurality of devices (for example, a host computer, an interface device, a reader, a printer, etc.) or an apparatus composed of a single device (for example, a copier, a facsimile machine, etc.). May be.
[0081]
Another object of the present invention is to supply a storage medium (or recording medium) in which a program code of software that realizes the functions of the above-described embodiments is recorded to a system or apparatus, and the computer (or CPU or CPU) of the system or apparatus. Needless to say, this can also be achieved by the MPU) reading and executing the program code stored in the storage medium. In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the storage medium storing the program code constitutes the present invention. Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an operating system (OS) running on the computer based on the instruction of the program code. It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the actual processing and the processing is included.
[0082]
Further, after the program code read from the storage medium is written in a memory provided in a function expansion card inserted into the computer or a function expansion unit connected to the computer, the function expansion is performed based on the instruction of the program code. It goes without saying that the CPU or the like provided in the card or the function expansion unit performs part or all of the actual processing, and the functions of the above-described embodiments are realized by the processing.
[0083]
When the present invention is applied to the above-described storage medium, the program code corresponding to the flowchart shown in FIG. 5 described above is stored in the storage medium.
[0084]
【The invention's effect】
As described above, according to the present invention, an extra dust line is added to the re-encoded data stored in the apparatus while enabling high-throughput operation by performing decoding in real time while receiving. It is possible to upload to a PC or the like at high speed as it is.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a facsimile apparatus according to an embodiment of the present invention.
FIG. 2 is a functional block diagram according to the embodiment of the present invention.
FIG. 3 is a diagram showing data stored in a RAM according to an embodiment of the present invention.
FIG. 4 is a structural diagram of JBIG data.
FIG. 5 is a flowchart showing the operation of the facsimile apparatus according to the embodiment of the present invention.
FIG. 6 is a diagram illustrating an example of how to use a conventional NEWLEN.
FIG. It is a figure which shows the example of the usage of NEWLEN recognized by 85 recommendation.
FIG. 8 is a diagram illustrating a problem when extra stripes are decoded.
FIG. 9 is a diagram showing an information processing system of the present invention.
[Explanation of symbols]
101 CPU
102 Operation unit
103 display
104 MODEM
105 NCU
106 PC I / F section
107 ROM
108 RAM
109 Recording section
110 Reading unit
111 Host computer

Claims (3)

少なくとも一つのユニットからなる元データをJBIG符号を用いて該ユニットごとに情報圧縮されて生成された第1の圧縮データと前記元データの総ライン数を表したパラメータを受信する受信部と、
前記受信部により受信された前記第1の圧縮データから複数のラインで構成された圧縮前のユニットを復号する復号化部と、
前記復号化部により復号された前記ユニットを蓄積する蓄積部と、
前記復号化部により復号化済みのライン数をカウントするカウント部と、
前記パラメータによる前記総ライン数が、前記カウントされた復号化済みのライン数より大きければ、前記総ライン数までのラインを前記ユニット中の元データとして有効な部分と判定し、一方、前記パラメータによる前記総ライン数が、前記カウントされた復号化済みのライン数以下であれば、前記復号化済みのライン数を超える余剰ラインを除いた残りのラインを前記ユニット中の元データとして有効な部分と判定する判定部と、
前記判定部により有効と判定された前記部分までを前記蓄積部から順次読み出し、読み出されたユニットごとに前記JBIG符号と異なる符号にて再度情報圧縮し第2の圧縮データを生成する情報再圧縮部と、
前記第2の圧縮データを外部に出力する出力部と
を有することを特徴とする情報処理装置。
A receiving unit that receives first compressed data generated by compressing information for each unit using JBIG code, and parameters representing the total number of lines of the original data ;
A decoding unit that decodes a unit before compression composed of a plurality of lines from the first compressed data received by the receiving unit;
An accumulation unit for accumulating the unit decoded by the decoding unit;
A counting unit that counts the number of lines decoded by the decoding unit;
If the total number of lines according to the parameter is larger than the counted number of decoded lines, the lines up to the total number of lines are determined to be valid portions as original data in the unit, while according to the parameter If the total number of lines is equal to or less than the counted number of decoded lines, the remaining lines excluding excess lines exceeding the number of decoded lines are valid portions as original data in the unit. A determination unit for determining;
Information recompression that sequentially reads from the storage unit up to the portion determined to be valid by the determination unit, and compresses information again with a code different from the JBIG code for each read unit to generate second compressed data And
An output unit for outputting the second compressed data to the outside;
An information processing apparatus comprising:
少なくとも一つのユニットからなる元データをJBIG符号を用いて該ユニットごとに情報圧縮されて生成された第1の圧縮データと前記元データの総ライン数を表したパラメータを受信するステップと、
前記第1の圧縮データから複数のラインで構成された圧縮前のユニットを復号するステップと、
前記復号された前記ユニットを蓄積するステップと、
前記復号化部により復号化済みのライン数をカウントするステップと、
前記パラメータによる前記総ライン数が、前記カウントされた復号化済みのライン数より大きければ、前記総ライン数までのラインを前記ユニット中の元データとして有効な部分と判定し、一方、前記パラメータによる前記総ライン数が、前記カウントされた復号化済みのライン数以下であれば、前記復号化済みのライン数を超える余剰ラインを除いた残りのラインを前記ユニット中の元データとして有効な部分と判定するステップと、
有効と判定された前記部分までを前記蓄積部から順次読み出し、読み出されたユニットごとに、前記JBIG符号と異なる符号にて再度情報圧縮し第2の圧縮データを生成するステップと
を有することを特徴とする情報の再圧縮方法。
Receiving first compressed data generated by compressing information for each unit of original data consisting of at least one unit using a JBIG code, and a parameter representing the total number of lines of the original data ;
Decoding an uncompressed unit composed of a plurality of lines from the first compressed data;
Accumulating the decoded unit;
Counting the number of lines decoded by the decoding unit;
If the total number of lines according to the parameter is larger than the counted number of decoded lines, the lines up to the total number of lines are determined to be valid portions as original data in the unit, while according to the parameter If the total number of lines is equal to or less than the counted number of decoded lines, the remaining lines excluding excess lines exceeding the number of decoded lines are valid portions as original data in the unit. A determining step;
Sequentially reading up to the portion determined to be valid from the storage unit, and for each unit read out, again compressing information with a code different from the JBIG code to generate second compressed data;
A method for recompressing information, comprising:
第1の情報処理装置と、前記第1の情報処理装置に通信回線を介して接続された第2の情報処理装置とを備える情報処理システムであって、
前記第1の処理装置は、
少なくとも一つのユニットからなる元データをJBIG符号を用いて該ユニットごとに情報圧縮を圧縮して第1の圧縮データを生成する情報圧縮部と、
前記通信回線を介して前記第2の情報処理装置に前記第1の圧縮データを送信する送信部と、を備え、
前記第2の処理装置は、
前記通信回線を介して前記第1の情報処理装置により送信された第1の圧縮データと前記元データの総ライン数を表したパラメータを受信する受信部と、
前記受信部により受信された前記第1の圧縮データから圧縮前のユニットを復号する復号化部と、
前記受信部により受信された前記第1の圧縮データから複数のラインで構成された圧縮前のユニットを復号する復号化部と、
前記復号化部により復号された前記ユニットを蓄積する蓄積部と、
前記復号化部により復号化済みのライン数をカウントするカウント部と、
前記パラメータによる前記総ライン数が、前記カウントされた復号化済みのライン数より大きければ、前記総ライン数までのラインを前記ユニット中の元データとして有効な部分と判定し、一方、前記パラメータによる前記総ライン数が、前記カウントされた復号化済みのライン数以下であれば、前記復号化済みのライン数を超える余剰ラインを除いた残りのラインを前記ユニット中の元データとして有効な部分と判定する判定部と、
前記判定部により有効と判定された前記部分までを前記蓄積部から順次読み出し、読み出されたユニットごとに前記JBIG符号と異なる符号にて再度情報圧縮し第2の圧縮データを生成する情報再圧縮部と
を備えたことを特徴とする情報処理システム。
An information processing system comprising a first information processing device and a second information processing device connected to the first information processing device via a communication line,
The first processing device includes:
An information compression unit that compresses information compression for each unit using JBIG code for original data composed of at least one unit to generate first compressed data;
A transmission unit that transmits the first compressed data to the second information processing apparatus via the communication line;
The second processing device includes:
A receiving unit that receives the first compressed data transmitted by the first information processing apparatus via the communication line and a parameter representing the total number of lines of the original data ;
A decoding unit that decodes a unit before compression from the first compressed data received by the receiving unit;
A decoding unit that decodes a unit before compression composed of a plurality of lines from the first compressed data received by the receiving unit;
An accumulation unit for accumulating the unit decoded by the decoding unit;
A counting unit that counts the number of lines decoded by the decoding unit;
If the total number of lines according to the parameter is larger than the counted number of decoded lines, the lines up to the total number of lines are determined to be valid portions as original data in the unit, while according to the parameter If the total number of lines is equal to or less than the counted number of decoded lines, the remaining lines excluding excess lines exceeding the number of decoded lines are valid portions as original data in the unit. A determination unit for determining;
Information recompression that sequentially reads from the storage unit up to the portion determined to be valid by the determination unit, and compresses information again with a code different from the JBIG code for each read unit to generate second compressed data And an information processing system.
JP2000360202A 2000-11-27 2000-11-27 Information processing apparatus, information processing system, and information recompression method Expired - Fee Related JP3715883B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000360202A JP3715883B2 (en) 2000-11-27 2000-11-27 Information processing apparatus, information processing system, and information recompression method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000360202A JP3715883B2 (en) 2000-11-27 2000-11-27 Information processing apparatus, information processing system, and information recompression method

Publications (2)

Publication Number Publication Date
JP2002165100A JP2002165100A (en) 2002-06-07
JP3715883B2 true JP3715883B2 (en) 2005-11-16

Family

ID=18831837

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000360202A Expired - Fee Related JP3715883B2 (en) 2000-11-27 2000-11-27 Information processing apparatus, information processing system, and information recompression method

Country Status (1)

Country Link
JP (1) JP3715883B2 (en)

Also Published As

Publication number Publication date
JP2002165100A (en) 2002-06-07

Similar Documents

Publication Publication Date Title
KR101490215B1 (en) Image processing apparatus and processing method therefor
CN1756296B (en) Image processing apparatus and image processing method
US20030086127A1 (en) Image processing apparatus and method, computer program, and computer readable storage medium
JP2003244446A (en) Image processor and image processing method
EP0506482A2 (en) Image processing
JP3715883B2 (en) Information processing apparatus, information processing system, and information recompression method
JP2003189109A (en) Image processor and image processing method, and computer program
JPH09247423A (en) Image processor and its method
US6069980A (en) Adaptive character image generation and synthesis
JP3227181B2 (en) Image processing device
JP2000307818A (en) Scanner and method for selecting scanner resolution
JP3563838B2 (en) Image encoding / decoding device
JP4136573B2 (en) Image processing method, image processing apparatus, program, and recording medium
JP3222576B2 (en) Encoding device
JP3703337B2 (en) Image communication apparatus and image communication method
JP3212076B2 (en) Communication device and storage medium
US7450775B2 (en) Image processing apparatus for efficient storage of variable block length data
KR100874988B1 (en) Decoding apparatus, method and recording medium having recorded thereon the program
JP3818238B2 (en) Image processing apparatus and image processing method
JP2000307854A (en) Scanner, and method for switching scanner modes
JP2001111841A (en) Print system
JP2000069298A (en) Facsimile equipment
JPH0575868A (en) Picture processor
JP2869104B2 (en) Facsimile machine with storage function
JPH06197189A (en) Facsimile equipment

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050214

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050520

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050719

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: 20050819

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050826

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3715883

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090902

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090902

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100902

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110902

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110902

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120902

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120902

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130902

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees