(57)【特許請求の範囲】
【請求項１】
JBIG（Joint Bi-level Image Coding Experts Group）方式により符号化された符号データを復号器に入力して復号化するに際し、
前記復号器への入力を待つ符号データを監視し、ストライプ端マーカーコードは検出されたが、NEWLENマーカーコードが検出されない状態が発生すると、未処理の符号データが、その後、到着する可能性の有無を判定し、到着する可能性がある場合には、その未処理の符号データが到着するのを待つ待機期間を設けると共に、その待機期間中は符号データの前記復号器への入力を停止し、前記待機期間中に前記未処理の符号データが到着すると、その符号データにNEWLENマーカーコードが含まれているかを確認し、その確認の後に前記待機期間を終了させ、待たされていた符号データを前記復号器に入力して復号を行なうことを特徴とする復号化方法。
【請求項２】
前記未処理の符号データが到着する可能性の判定は、通信回線の状況に基づく情報を用いて行われることを特徴とする請求項１記載の復号化方法。
【請求項３】
復号器への入力を待つ符号データを監視し、所定の場合に待機期間を設け、到着した符号データにNEWLENマーカーコードが含まれるかを確認した後に待機期間を終了させる一連の判断と処理を、１ラインの復号化が終了してから、次の１ラインを復号化するまでの間に行なうことを特徴とする請求項１または請求項２記載の復号化方法。
【請求項４】
区分けされた複数のメモリ領域を含み、かつ、前記複数のメモリ領域への入力および出力が周期的に切り替えられるバッファメモリと、
このバッファメモリの前記複数のメモリ領域の各々から出力される、復号化を待つJBIG符号データを一時的に蓄積するデータバッファと、このデータバッファから出力される符号データを復号化する復号器と、前記データバッファから前記復号器へのデータの移動を制御する制御部と、を具備するデータ復号部と、を有し、
前記データ復号部における前記制御部は、前記データバッファに蓄積されている符号データを監視し、ストライプ端マーカーコードは検出されたが、NEWLENマーカーコードが検出されない状態が発生すると、未処理の符号データが、その後、前記データバッファに到着する可能性の有無を判定し、到着する可能性がある場合には、その未処理の符号データが到着するのを待つ待機期間を設けると共に、その待機期間中は、前記データバッファに蓄積されている符号データの前記復号器への入力を停止させ、前記待機期間中において前記データバッファに前記未処理の符号データが到着すると、その符号データにNEWLENマーカーコードが含まれているかを確認し、その確認の後に前記待機期間を終了させ、前記データバッファに蓄積されている符号データを前記復号器へと入力させることを特徴とする復号化装置。
【請求項５】
前記未処理の符号データが前記データバッファに到着する可能性の判定は、前記復号化装置の外部から与えられる情報に基づいて行われることを特徴とする請求項４記載の復号化装置。
【請求項６】
請求項４または請求項５記載の復号化装置と、モデムと、を備える通信装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、JBIG（Joint Bi-level Image Coding Experts Group）方式により符号化された画像の復号化方法および復号化装置に関する。
【０００２】
【従来の技術】
JBIG方式は２値画像の予測符号化に関する国際標準であり、ITU-T.82勧告あるいはITU-T.85勧告による方式が知られている。
【０００３】
これらの勧告によれば、送信画像の符号化に際し、デフォルト状態では、画像データの128ラインを１ストライプとし、ストライプ単位で送受信が行われ、また、一つのストライプの終端にはSDNORMあるいはSDRSTマーカーコードが付加される。また、１画像の最後に存在する連続するゼロ（0x00）は、送信側で削除してもよいとされ、この場合、受信側で自主的に連続するゼロ（0x00）を挿入して復号化が行われる。
【０００４】
また、ITU-T.85勧告によれば、JBIGデータの送信に際しては、１つの送信画像の総ライン数を付帯情報として相手に通知できるものとされ、その通知方法として、BIHと呼ばれる画像データのヘッダー部（先頭部）に総ライン数をセットする方法と、NEWLENマーカーコードを付与してここに総ライン数をセットする方法と、これらを併用する方法がある。
【０００５】
NEWLENマーカーコードは、基本的には、最終ストライプに至るまでのいずれかのストライプの先頭に付与されるものであるが、ITU-T.85勧告のAmendment1（ファクシミリ装置のためのJBIG方式の修正）では、「ストライプの先頭に付与する」という条件を緩和し、「最後のストライプが終了した後に付与するという変形使用」も許容している。
【０００６】
図５（ａ），（ｂ）はJBIG圧縮画像を送信する際のデータフォーマットを画像イメージに即して示す図であり、（ａ）は、NEWLENマーカーコード（図中、NWと記載される）を最終ストライプの先頭に付与した場合を示し、（ｂ）はNEWLENマーカーコード（NW）を最終ストライプの後に付与した場合（ITU-T.85勧告のAmendment1で許容されている変形タイプ）を示している。
【０００７】
図示されるように、１画像は500ラインからなり、画像の先頭にはヘッダ（BIH）が付加されており、各ストライプ（128ライン）の終端にはSDNORMマーカーコード（図中、SDと記載される）が付加されている。
【０００８】
図６は、ファクシミリで画像を読取りながら、これと並行して画像の送信を行なう場合に、JBIG圧縮データを図５（ｂ）の形式のフォーマットで送信する場合のデータストリームの一例を示す図である。
【０００９】
図６の例では、ヘッダー（BIH）には、「ＹD＝0x00000400＝（1024），Ｌ0＝128，VLENGTH＝1」と記載されている。これは、１画像の総ライン数（ＹD）として、取り得る最大値（0x00000400＝1024）をとりあえず指定しておき、１ストライプのライン数（Ｌ0）を128ラインとし、そして、NEWLENマーカーコードの使用可／不可を示すVLENGTHに「1」を設定して、NEWLENマーカーコードを使用してもよいモードで送信が行なわれること意味している。そして、１ストライプ（128ライン）の終端にはSDNORMマーカーコードが付与され、全ストライプが終了した後に、NEWLENマーカーコードが付与されている。この最後のNEWLENマーカーコードの情報（NEWＹD（＝500））により、実際の総ライン数は500ラインであったことが明らかとなる。
【００１０】
【発明が解決しようとする課題】
ITU-T.85勧告のAmendment1で許容されている、「最後のストライプが終了した後にNEWLENマーカーコードを付与するというフォーマット」を使用してファクシミリ送信をした場合、受信側において、最後に付加されているNEWLENマーカーコードの検出が遅れると、受信側では、１画像がまだ続いていると誤認識して、符号データの復号化を続行し、誤った画像が復号化されてしまうという問題が生じる。
【００１１】
すなわち、図５（ｂ）の場合を例にとると、最後のストライプは、116ラインであり、標準の128ラインに満たないが、受信側で最後のNEWLENマーカーコード（NW）の発見が遅れると、最後のストライプはまだ続いている（つまり、ストライプ端の連続するゼロ(0x00)が削除されて送信されてきた）ものと判断して、連続するゼロ（0x00）を挿入して復号化を行なうので、本来の１画像の最後に、不要な画像が付加されてしまう。
【００１２】
画像をプリントする場合なら、NEWLENマーカーコードが検出された時点で１画像の正確な総ライン数が分かるから、それ以降の不要なデータを出力しないという対策をとれば、不要な画像の出力の問題はない。
【００１３】
しかし、受信側（復号側）において、復号したデータをＭＨ等の符号方式により再度、符号化したり、あるいは、復号したデータに拡大縮小処理やマスク処理を施してしまうと、１画像の最後に付加されている誤ったデータを、その後に選択的に取り除くことが困難となり、結果的に再現画像の品質が低下してしまう。
【００１４】
なお、受信側において、１画像の最後に付加されているNEWLENマーカーコードの検出が遅れる要因しては、図７に示すような、受信データのバッファリングに伴う要因が考えられる。
【００１５】
すなわち、図７では、モデム60を介して受信したJBIG符号データをバス（BUS）を介して２つのバッファ61，63に送り、各バッファが交互に蓄積し、その蓄積データを交互に復号化部64に出力するバッファリング方式（ダブルバッファリング方式）を採用している。
【００１６】
このとき、１画像に相当する符号データがバッファ61に蓄積され、これによりバッファ61の空き容量が無くなり、最後のNEWLENマーカーコードだけがバッファ63の先頭領域に蓄積されると、バッファ63が読み出しサイクルとなるまでの間、NEWLENマーカーコードの存在を復号化部64が認識できず、その間に不要な復号化がなされることになる。なお、図７では、データの蓄積状況を視覚的に示すために、２つのバッファ６１，６３には、斜線を施している。
【００１７】
なお、図７ではダブルバッファリングによる読み出し遅れを問題としているが、３以上のバッファをサイクリックに使用するバッファリング方式を採用する場合にも、同様の問題が生じる。
【００１８】
本発明は、上述の問題点に着目してなされたものであり、ハードウエアに特別な負担をかけることなく、NEWLENマーカーコードの検出遅れに起因する不要な復号化を確実に防止することを目的とする。
【００１９】
【課題を解決するための手段】
本発明では、符号データを復号器に入力する前において、NEWLENマーカーコードが遅れて到着する可能性がある場合には、待ち時間（待機期間）を設けてその到着を待つようにし、その後にデータが到着すると、その到着したのがNEWLENマーカーコードであるか否かを判定し、その後に復号器に符号データを入力するようにする。
【００２０】
したがって、最後に付加されているNEWLENマーカーコードの検出が遅れる事情がある場合でも、かってに復号化が開始される事態が生じない。すなわち、１画像の終端部おいて、NEWLENマーカーコードが確実に検出された後に復号がなされるので、余分な復号化が確実に防止される。
【００２１】
【発明の実施の形態】
本発明の第１の態様では、JBIG（Joint Bi-level Image Coding Experts Group）方式により符号化された符号データを復号器に入力して復号化するに際し、前記復号器への入力を待つ符号データを監視し、ストライプ端マーカーコードは検出されたが、NEWLENマーカーコードが検出されない状態が発生すると、未処理の符号データが、その後、到着する可能性の有無を判定し、到着する可能性がある場合には、その未処理の符号データが到着するのを待つ待機期間を設けると共に、その待機期間中は符号データの前記復号器への入力を停止し、前記待機期間中に前記未処理の符号データが到着すると、その符号データにNEWLENマーカーコードが含まれているかを確認し、その確認の後に前記待機期間を終了させ、待たされていた符号データを前記復号器に入力して復号を行なう。
【００２２】
待機期間を設けて後続のデータの到着を待つことにより、例えば、NEWLENマーカーコードのバッファからの出力が遅延するような場合でも、その遅延を吸収することができ、NEWLENマーカーコードの検出遅れが発生しない。
【００２３】
また、本発明の第２の態様では、第１の態様において、前記未処理の符号データが到着する可能性の判定を、通信回線の状況に基づく情報を用いて行う。
【００２４】
第１の態様では、後続データの待ち時間を設けてNEWLENマーカーコードの到着遅れを吸収するのであるが、既に１画像の全データの通信が終了しているにもかかわらず、データの到着を待ち続けていたのでは、例えば、ヘッダ（BIH）で正確な総ライン数を指定していて、NEWLENマーカーコードを最後に付加しない場合においては、ストライプ端の符号データの復号処理がいつまでたっても開始されないという不合理が生じる。そこで、このような場合には、待つ必要がないことを外部から通知するものである。すなわち、通信回線を用いて送受信を行なう場合、送信側と受信側において、所定の通信プロトコルに従った制御情報のやり取りがなされるので、通信回線の状況から受信側（例えば、モデム）では、すでに１画像の送信が終了していることがわかるので、この場合には、復号化部に、未処理の符号データが到着する可能性がない旨を知らせるものである。
【００２５】
また、本発明の第３の態様では、第１の態様または第２の態様において、復号器への入力を待つ符号データを監視し、所定の場合に待機期間を設け、到着した符号データにNEWLENマーカーコードが含まれるかを確認した後に待機期間を終了させる一連の判断と処理を、１ラインの復号化が終了してから、次の１ラインを復号化するまでの間に行なう。
【００２６】
１ラインの復号化終了の後に、上述の待機動作の期間を挿入することで、ストライプ端のNEWLENマーカーコードの検出遅れが確実に防止される。
【００２７】
また、本発明の第４の態様では、復号化装置は、区分けされた複数のメモリ領域を含み、かつ、前記複数のメモリ領域への入力および出力が周期的に切り替えられるバッファメモリと、このバッファメモリの前記複数のメモリ領域の各々から出力される、復号化を待つJBIG符号データを一時的に蓄積するデータバッファと、このデータバッファから出力される符号データを復号化する復号器と、前記データバッファから前記復号器へのデータの移動を制御する制御部と、を具備するデータ復号部と、を有し、前記データ復号部における前記制御部は、前記データバッファに蓄積されている符号データを監視し、ストライプ端マーカーコードは検出されたが、NEWLENマーカーコードが検出されない状態が発生すると、未処理の符号データが、その後、前記データバッファに到着する可能性の有無を判定し、到着する可能性がある場合には、その未処理の符号データが到着するのを待つ待機期間を設けると共に、その待機期間中は、前記データバッファに蓄積されている符号データの前記復号器への入力を停止させ、前記待機期間中において前記データバッファに前記未処理の符号データが到着すると、その符号データにNEWLENマーカーコードが含まれているかを確認し、その確認の後に前記待機期間を終了させ、前記データバッファに蓄積されている符号データを前記復号器へと入力させる。
【００２８】
復号化待ちの符号データを蓄積するデータバッファ（待ちバッファ）を設けて、後続のデータの到着を待つことにより、NEWLENマーカーコードの到着遅れを吸収し、NEWLENマーカーコードの検出遅れを発生させないようにしたものである。構成が簡単であり、主としてソフトウエアによる判断を若干、追加，変更するだけでよく、実現が容易である。
【００２９】
また、本発明の第５の態様では、第４の態様において、前記未処理の符号データが前記データバッファに到着する可能性の判定を、前記復号化装置の外部から与えられる情報に基づいて行うようにした。
【００３０】
これにより、１画像の端部で、後続のデータを待つ動作が終了せずに、１画像終端部でロックしてしまうような事態が回避される。
【００３１】
また、本発明の第６の態様は、第４の態様または第５の態様の復号化装置と、モデムと、を備える通信装置である。
【００３２】
この通信装置によれば、ITU-T.85勧告のAmendment1で許容されている、NEWLENマーカーコードを最後に付加するようなフォーマットによる通信の場合であっても、余分な復号化を防止し、復元画像の品質が低下することを確実に防止することができる。
【００３３】
次に、本発明の実施の形態について図面を参照してより具体的に説明する。
【００３４】
図１は、受信側の通信装置の要部構成を示すブロック図である。
【００３５】
図示されるように、受信側の通信装置20は、送信側の通信装置10から送られてくるJBIG圧縮された符号データを復調するモデム21と、受信側の通信装置20の動作を統括的に制御するホストプロセッサ22と、２つの符号バッファメモリ23，24と、符号バッファメモリのデータ転送を制御するメモリコントローラ25と、復号部26と、復号された画像データを蓄積する画像データメモリ30とを有している。
【００３６】
また、復号部26は、この復号部26の動作を統括的に制御する制御部27と、FIFOメモリ28と、算術復号器29と、を具備する。
【００３７】
２つの符号バッファメモリ23，24は、一方にデータがライトされている場合には他方からデータのリードが行われ、反対に、一方からデータがリードされているときには他方にデータがライトされるという相補的な関係にあり、モデム２１により受信された符号データを、いわゆるダブルバッファリング形式によって一時的に蓄積するために使用されるものである。
【００３８】
図７を用いて先に説明したように、メモリ領域をサイクリックに切替え使用するバッファリング方式を採用するときには、送信側で、画像を読み取りながら並行して送信をしてくる場合に、符号化された画像データと最後のNEWLENマーカーコードとが分離して各バッファに蓄積される結果を生じる危険がある。この場合には、復号部26におけるNEWLENマーカーコードの検出が遅れて、連続するゼロ（0x00）を付加した不要な復号を、NEWLENマーカーコードが検出されるまで、行なってしまうことになる。
【００３９】
そこで、本実施の形態では、復号部26において、算術復号器29への入力を待つデータを一時的に蓄積するデータバッファとしてFIFOメモリ（先入れ先出しメモリ）28を設け、後続のデータが遅れて到着する可能性がある場合には、制御部２７が、FIFOメモリ28のデータを算術復号器29に供給するのを中断して、後続のデータを待つようにする。これにより、NEWLENマーカーコードの到着が遅れても、その遅延を吸収することができ、NEWLENマーカーコードの検出遅れが確実に防止される。
【００４０】
図２（ａ），（ｂ）はそれぞれ、FIFOメモリ28におけるデータ待ち動作（待機動作）を説明するための図である。
【００４１】
図２（ａ），（ｂ）に示されるように、FIFOメモリ28は、B-1〜B-mのｍ段のレジスタからなり、（ａ）の状態では、B-4〜B-mには画像データが、B-3にはストライプ端に付加されるSDNORMマーカーコードがそれぞれ蓄積され、B-1とB-2にはデータが、まだ到着していない。
【００４２】
この状態で、蓄積されている画像データの復号化を開始してしまうと、次にくるデータがNEWLENマーカーコードであり、しかも、そのコードが遅延して到着する場合には、その間、算術復号器29が連続するゼロ（0x00）を自発的に付加して復号を行なってしまう危険性がある。
【００４３】
そこで、図２（ａ）の状態で、かつ、１画像分のデータが終了している旨の通知（例えば、図１のモデム２１が回線状態を判定して出力するものであり、以下の明細書では符号データ入力終了通知という）が外部からない場合には、後続のデータを待つことにする。
【００４４】
そして、図２（ｂ）のように、B-1，B-2にもデータが到着すると、その到着したデータにNEWLENマーカーコードが含まれているか否かを確認し、その後、FIFOメモリ28に蓄積されているデータを算術復号器29に供給する。このような動作は、図１の制御部27によって実現される。
【００４５】
図３は、本実施の形態の特徴的な一連の動作手順を示すフロー図である。図３の処理では、１ラインの復号化が終了する毎に、図２で説明したようなデータ待ちとNEWLENマーカーコードの判定処理を行なう。但し、これに限定されるものではなく、数ライン毎に行なうことも可能である。
【００４６】
図３では、１ラインの復号化が終了すると（ステップ40）、まず、ストライプ端のマーカーコード（SDNORM）が検出済かどうかを調べる（ステップ41）。ストライプ端のマーカーコードが検出されていないならば、そのマーカーコードの入力を待ち（ステップ42）、マーカーコードの存在が確認されると（ステップ43）、その検出処理を行なう（ステップ44）。そして、ステップ45に移行する。また、ステップ41でストライプ端のマーカーコードが検出済であった場合にもステップ45に移行する。
【００４７】
ステップ45では、NEWLENマーカーコードが検出済であるか否かを判定し、未検出のときは、符号データ入力終了通知（ここでは、図１のモデム21が、回線状態を判定して１画像分のデータの送信が完了している場合に、そのことを通知するものである）を、既に受け取っているのならばステップ48に移行し、そうでなければステップ47に移行して、後続のデータを待つループ処理（待機期間処理）を実行する。
【００４８】
この後続のデータを待つ処理により、NEWLENマーカーコードが遅れて到着した場合でも、その遅延を吸収することができるのであり、この処理は極めて重要である。
【００４９】
そして、後続のデータが到着すると、待機期間処理のループを抜けてステップ49に移行する。
【００５０】
一方、ステップ46の判断で、すでに符号データ入力終了指定を受け取っていた場合には、後続のデータを待つループ処理を行なう必要はないため、ステップ48に移行する。このステップ46の処理があるため、後続データ待ちループ処理(ステップ46，47)が無限ループとなってしまうこと（すなわち、処理のロック）が発生しない。
【００５１】
そして、未処理符号データの有無を判定し（ステップ48）、続いて、ステップ49に移行する。
【００５２】
ステップ49では、後続データ待ちループ処理(ステップ46，47)中において新たに到着したデータ、あるいは、ステップ48で存在が確認された未処理の符号データに、NEWLENマーカーコードが含まれているかを検出し（ステップ49）、含まれていれば、その検出処理を行なう（ステップ５０）。これにより、NEWLENマーカーコードの検出遅延が防止されたことになる。
【００５３】
そして、復号化するべき次のラインデータが有れば（ステップ51）、次の復号化を開始し（ステップ53）、次のラインデータが無ければ、復号化を終了する（ステップ52）。
【００５４】
このように、本実施の形態では、FIFOメモリと、ソフトウエアによる簡単な判断の追加により、１画像の最後にNEWLENマーカーコードが付加されていて、かつ、その検出が遅れる事態が生じた場合でも、その遅延を吸収して、検出遅れを防止することが可能である。また、１画像のデータが既に終了している場合には、後続のデータの到着を待つための処理ループを抜けるようになっているため、無限ループとなってロックが生じる心配もない。
【００５５】
したがって、NEWLENマーカーコードの検出遅れに起因する不要な復号化を確実に防止することができ、復元画像の画質の低下が生じない。
【００５６】
図４は、以上説明した構成を搭載したファクシミリ装置のハードウエア構成を示すブロック図である。
【００５７】
図示されるように、ファクシミリ装置101は、ホストプロセッサ102と、ＭＨ／ＭＲ／ＭＭＲ符号／復号化回路103と、解像度変換回路104と、ＱＭ（算術）符号／復号化回路105と、画像データメモリ106と、符号バッファメモリ107と、モデムなどの通信インタフェース（電話回線113等を用いた有線伝送のためのインタフェースとして機能する）108と、スキャナ等の画像入力装置111と、プリンタなどの画像記録／表示装置112と、を具備し、各ブロックは内部バス109，110を介して相互に情報の授受を行うことができる。
【００５８】
本発明の復号化装置は構成が簡単であるため、小型化や低コスト化が厳しく要求されるファクシミリ装置においても十分に搭載可能である。したがって、普及型のファクシミリ装置の通信性能の向上に寄与する。なお、本発明は種々変形可能である。例えば、0x00カウンタは、出力した0x00の数をカウントするのみとし、0x00はそのまま出力するようにしてもよい。そして、ストライプ端に達したときに0x00の個数をソフトウエアに通知し、この通知を受けたソフトウエアが、符号データの末尾から、通知された個数分の0x00を削除し、末尾にストライプ端用のマーカーコードをつけるようにしてもよい。
【００５９】
【発明の効果】
以上説明したように、本発明によれば、ハードウエアに特別な負担をかけることなく、NEWLENマーカーコードの検出遅れに起因する不要な復号化を確実に防止することができる。すなわち、最後に付加されているNEWLENマーカーコードの検出が遅れる事情がある場合でも、１画像の終端部おいて、NEWLENマーカーコードが検出された後に復号がなされるので、余分な復号化が確実に防止される。
【図面の簡単な説明】
【図１】本発明の実施の形態にかかる復号化装置の要部構成を示すブロック図
【図２】（ａ）FIFOメモリに後続のデータが到着していない状態を示す図
（ｂ）FIFOメモリに後続のデータが到着した状態を示す図
【図３】実施の形態にかかる復号化装置の主要な動作手順を示すフロー図
【図４】本発明の構成を搭載したファクシミリ装置のハードウエア構成を示すブロック図
【図５】（ａ）JBIG圧縮画像を送信する際のデータフォーマット（NEWLENマーカーコードを最終ストライプの先頭に付与した例）を画像イメージに即して示す図
（ｂ）JBIG圧縮画像を送信する際のデータフォーマット（NEWLENマーカーコードを最終ストライプの後に付与した例）を画像イメージに即して示す図
【図６】ファクシミリで画像を読取りながら、これと並行して画像の送信を行なう場合に、JBIG圧縮データを、NEWLENマーカーコードを最終ストライプの後に付与する形式のフォーマットで送信する場合のデータストリームの一例を示す図
【図７】従来技術の問題点を説明するための図
【符号の説明】
１０  通信装置（送信側）
２０  復号化装置（受信側通信装置）
２１  モデム
２２  ホストプロセッサ
２３  符号バッファメモリ
２４  符号バッファメモリ
２５  メモリコントローラ
２６  復号部
２７  制御部
２８  FIFOメモリ
２９  算術復号部
３０  画像データメモリ
【図１】
0003868149.tif 000002
【図２】
0003868149.tif 000003
【図３】
0003868149.tif 000004
【図４】
0003868149.tif 000005
【図５】
0003868149.tif 000006
【図６】
0003868149.tif 000007
【図７】
0003868149.tif 000008