(57)【要約】      （修正有）【課題】画像データ及び像域情報の合計符号量が目標サイズ以下になるようにし、メモリを有効利用する。【解決手段】入力画像データは符号化部１０２で符号化され、像域情報は可逆符号化部１７０５で圧縮符号化され、圧縮された画像データ及び像域情報の双方が第１、第２のメモリ１０４、１０６にそれぞれ格納される。符号化シーケンス制御部１０８は、画像データの符号量と像域情報の符号量の合算符号量が設定量に達したかどうかを監視する。設定量に達したと判断した場合、画像データ、像域情報のいずれの符号データの再度圧縮符号化すれば良いかを判定する。再符号化する対象として画像データであると判定した場合、符号化シーケンス制御部１０８は、符号化部１０２、再符号化部１０９に設定するパラメータを更新する。また、像域情報を再符号化する対象とした場合には、可逆符号化部１７０５、可逆符号再符号化部１７１１に設定するパラメータを更新する。【選択図】  図２５
2004215093.tif 000002
【特許請求の範囲】
【請求項１】
画像データ及び当該画像データの像域情報を圧縮符号化する画像処理方法であって、
圧縮パラメータが変更可能な画像データ用の第１の非可逆圧縮工程と、
圧縮パラメータが変更可能であって、前記第１の非可逆圧縮工程で圧縮された符号を復号し、再非可逆圧縮を行う画像データ用の第２の非可逆圧縮工程と、
圧縮パラメータが変更可能な像域情報用の第１の可逆圧縮工程と、
圧縮パラメータが変更可能であって、前記第１の可逆圧縮工程で圧縮された符号を復号し、復号して得た像域情報の特定の像域値を前記圧縮パラメータに従って他の像域値に変換し、再可逆圧縮を行う像域情報用の第２の可逆圧縮工程と、
前記第１の非可逆圧縮工程、及び、前記第１の可逆圧縮工程により圧縮符号化している最中の、それぞれにより生成される符号量の合算符号量が所定量に達したか否かを判断する符号量監視工程と、
該符号化量監視工程により、前記合算符号量が前記所定量に達したと判断された場合、前記第１の非可逆圧縮工程による符号量と、前記第１の可逆圧縮工程による符号量の相関関係に基づいて、圧縮パラメータを変更する対象となる情報を決定する決定工程と、
該決定工程によって、圧縮パラメータを変更する対象が画像データであると決定された場合、前記第１、第２の非可逆圧縮工程の圧縮パラメータを更新し、前記所定量に達したと判断された後に入力される画像データについては前記第１の非可逆圧縮工程で圧縮させ、前記所定量に達したと判断された以前の圧縮符号化された画像データについては前記第２の非可逆圧縮工程で再非可逆圧縮を行なわせ、
前記決定工程によって、圧縮パラメータを変更する対象が像域情報であると決定された場合、前記第１、第２の可逆圧縮工程の圧縮パラメータを更新し、前記所定量に達したと判断された後に入力される像域情報については前記第１の可逆圧縮工程で圧縮させ、前記所定量に達したと判断された以前の圧縮符号化された像域情報については前記第２の可逆圧縮工程で再可逆圧縮を行なわせる制御工程と
を備えることを特徴とする画像処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像データを符号化する技術に関するものである。
【０００２】
【従来の技術】
従来、静止画像の圧縮方式には、離散コサイン変換（以下、ＤＣＴと略す）を利用したＪＰＥＧ方式や、Ｗａｖｅｌｅｔ変換を利用した方式が多く使われている。この種の符号化方式は、可変長符号化方式であるので、符号化対象の画像毎に符号量が変化するものである。
【０００３】
国際標準化方式であるＪＰＥＧ方式では、画像に対して１組の量子化マトリクスしか定義できない。従ってイメージスキャナでもって原稿画像を読み取る場合、プリスキャン無しには、符号量調整が行えず、限られたメモリに記憶するシステムで使用する場合においては、メモリオーバーを起こす危険性があった。
【０００４】
これを防止するためには、充分なメモリ容量を確保しておくことが必要となるが、入力される画像のサイズが一律同じではなく、異なる場合もある。したがって、これまでは、その入力する可能性のある最大サイズ分に適合し得る容量のメモリを確保せざるを得ない。
【０００５】
一方、画像情報には、元の画像データ以外に、該画像データに付随する像域情報というものがある。像域情報は主に、画像出力時の見栄えを良くするために、画像出力部での色処理や階調数の調整に用いられる。有彩色と無彩色が混在する自然画像と、文書原稿中に多く見られる黒文字とでは、同じ黒色でも使用するインクの種類を変えることで、自然画像について自然画像らしく見せる一方で、文字については鮮明に出力することが出来る。
【０００６】
このように、画素毎に、有彩色か無彩色、文字部かそうでないか、といった各々１ビットの属性フラグデータを持つことにより、画像出力時、特にプリントアウト時に出力画像の画質向上を図ることが出来る。像域情報には前記以外の他の情報もある。
【０００７】
画像情報を圧縮するには、画像データの圧縮はもちろんのこと、上記像域情報も圧縮する必要がある。画像データは、公知のＪＰＥＧ符号化方式を用い量子化ステップを段階的に大きくすることで、符号化データを所定のメモリ容量に収めることが可能である。
【０００８】
一方、像域情報は２値データの集まりであり、これを圧縮するには基本的に可逆の符号化方式を用いる必要がある。可逆符号化の一例としては、ＰａｃｋｂｉｔｓやＪＢＩＧ符号化方式が知られている。
【０００９】
【発明が解決しようとする課題】
本願出願人は、画像を入力しつつ、その画像データ及び像域情報を圧縮する技術を既にいくつか提案してきた。かかる提案によれば、画像データ及び像域情報を目標サイズ以内に抑えることに成功するが、例えば一方の符号量が目標サイズよりも十分に小さくなった場合、残ったメモリ容量をもう一方の符号化データの格納に有効利用するには至っていない。すなわち、２種類の符号量の合計サイズを見たとき、全格納可能メモリ容量を有効利用するには至っていなかった。
【００１０】
本発明はかかる問題点に鑑みなされたものであり、画像データとその像域情報の合計符号量が目標サイズ以下になるようにし、メモリを有効利用する技術を提供しようとするものである。
【００１１】
【課題を解決するための手段】
かかる課題を解決するため、例えば本発明の画像処理方法は以下の構成を備える。すなわち、
画像データ及び当該画像データの像域情報を圧縮符号化する画像処理方法であって、
圧縮パラメータが変更可能な画像データ用の第１の非可逆圧縮工程と、
圧縮パラメータが変更可能であって、前記第１の非可逆圧縮工程で圧縮された符号を復号し、再非可逆圧縮を行う画像データ用の第２の非可逆圧縮工程と、
圧縮パラメータが変更可能な像域情報用の第１の可逆圧縮工程と、
圧縮パラメータが変更可能であって、前記第１の可逆圧縮工程で圧縮された符号を復号し、復号して得た像域情報の特定の像域値を前記圧縮パラメータに従って他の像域値に変換し、再可逆圧縮を行う像域情報用の第２の可逆圧縮工程と、
前記第１の非可逆圧縮工程、及び、前記第１の可逆圧縮工程により圧縮符号化している最中の、それぞれにより生成される符号量の合算符号量が所定量に達したか否かを判断する符号量監視工程と、
該符号化量監視工程により、前記合算符号量が前記所定量に達したと判断された場合、前記第１の非可逆圧縮工程による符号量と、前記第１の可逆圧縮工程による符号量の相関関係に基づいて、圧縮パラメータを変更する対象となる情報を決定する決定工程と、
該決定工程によって、圧縮パラメータを変更する対象が画像データであると決定された場合、前記第１、第２の非可逆圧縮工程の圧縮パラメータを更新し、前記所定量に達したと判断された後に入力される画像データについては前記第１の非可逆圧縮工程で圧縮させ、前記所定量に達したと判断された以前の圧縮符号化された画像データについては前記第２の非可逆圧縮工程で再非可逆圧縮を行なわせ、
前記決定工程によって、圧縮パラメータを変更する対象が像域情報であると決定された場合、前記第１、第２の可逆圧縮工程の圧縮パラメータを更新し、前記所定量に達したと判断された後に入力される像域情報については前記第１の可逆圧縮工程で圧縮させ、前記所定量に達したと判断された以前の圧縮符号化された像域情報については前記第２の可逆圧縮工程で再可逆圧縮を行なわせる制御工程とを備える。
【００１２】
【発明の実施の形態】
以下、添付図面に従って本発明に係る実施形態を説明するが、先ず、基本部分について説明する。
【００１３】
図１は、実施形態が適用する画像処理装置１００の機能ブロック構成図である。以下、同図の各部を簡単に説明する。
【００１４】
画像処理装置１００は、イメージスキャナから画像を入力する入力部１０１を備えている。なお、入力部１０１は、ページ記述言語をラスターイメージにレンダリングする手段などから画像データを入力しても良いし、記憶媒体に格納された画像ファイルを読込むことで実現しても良く、場合によってはネットワークより受信するようにしても良い。
【００１５】
符号化部１０２は、入力された画像データの符号化を行なう。なお、符号化方式は公知のＪＰＥＧ符号化方式を用い、８×８画素で画像データをＤＣＴ変換し、後述する量子化ステップ（圧縮パラメータで決定される）を用いた量子化、ハフマン符号化処理を行なうものである。
【００１６】
第１のメモリ制御部１０３と、第２のメモリ制御部１０５は、上記符号化部１０２から出力されてくる上記符号化データ（同じ符号化データ）を第１のメモリ１０４と第２のメモリ１０６へそれぞれ格納する様に制御する。ここで、第１のメモリ１０４は、最終的に確定した（目標値以内のデータ量に圧縮し終わった）符号化データを、図１の基本構成の外部に接続されるネットワーク機器、画像出力装置や大容量記憶装置等へ出力するために、該符号化データを保持するためのメモリである。また、第２のメモリ１０６は、前記符号化データを第１のメモリ上に形成するための圧縮符号化処理を補助する作業用のメモリである。
【００１７】
カウンタ１０７は、符号化部１０２によって圧縮符号化された画像データのデータ量をカウントし、該カウント値を保持すると共に、そのカウント結果により符号化シーケンスの制御を行なう符号化シーケンス制御部１０８に出力する。
【００１８】
符号化シーケンス制御部１０８では、カウンタ１０７のカウント値がある設定値に達したかどうかを検出し、その設定値に達した（目標値を越えた）ことを検出した時にメモリ１０４内の格納済みの符号化データを廃棄するよう第１のメモリ制御部１０３に制御信号を出力する。上記第１のメモリ制御部１０３は、この制御信号に基づいて、メモリアドレスカウンタをクリアするか、あるいは符号化データ管理テーブルをクリアすることにより、前記格納データを廃棄する。また、このとき、符号化シーケンス制御部１０８は、第１のカウンタ１０７をゼロクリアして、第１のメモリ１０４におけるデータ量と一致させる（入力部１０１からの入力は継続している）。また、符号化部１０２に対して今までより、高い圧縮率で符号化を行なうよう制御する。具体的には、ＤＣＴ変換係数を量子化する際の量子化ステップを２倍にするよう設定する。
【００１９】
なお、ここでは、単純に量子化ステップを２倍としたが、カラー画像の場合、色変換した際に生成される１つの輝度信号（輝度データ）と、２つの色差信号（色差データ）に対して別々の量子化ステップを割り当て、片方ずつ交互に２倍にするようにして、より細かな制御を行っても良い。
【００２０】
そして、圧縮率変更後の符号化データも、これまでと同様、第１のメモリ制御部１０３と第２のメモリ制御部１０５を経て、第１のメモリ１０４と第２のメモリ１０６に夫々格納される。なお、第１のメモリ１０４には、前記廃棄動作移以降に入力されるデータを符号化処理して生成された符号を格納することになる。
【００２１】
符号化シーケンス制御部１０８は、カウンタ１０７のカウント値がある設定値に達した場合に、前記制御と並行して、第２のメモリ制御部１０５に対して、これまでに第２のメモリ１０６に格納していた符号化データを読み出し、符号化データ変換手段である再符号化部１０９に該符号化データを出力するよう制御信号を出す。
【００２２】
再符号化部１０９は、入力された符号化データを復号化し、データ量を減らすための再量子化等を行なった後に再び符号化処理を行ない、該符号化データは、第１、第２のメモリ制御部１０３、１０５を介して第１、第２のメモリ１０４、１０５に格納する。このときの再符号化部１０９における再符号化の量子化ステップは、符号化部１０２の更新された量子化ステップと同じである。再符号化部１０９で再符号化して得られる符号量は第２のカウンタ１１０で計数する。
【００２３】
再符号化部１０９の再符号化処理が終了したかどうかは、第２のメモリ制御部が検出する。すなわち、再符号化処理するために読み出すデータが無くなれば、再符号化処理の終了を符号化シーケンス制御部１０８に知らせる。実際には、第２のメモリ制御部１０５の読みだし処理だけでなく、再符号化部１０９の処理も終了した後に、再符号化処理が完了したことになる。
【００２４】
第２のカウンタ１１０で得られるカウント値は、再符号化処理が完了した後、第１のカウンタ１０７で保持されているカウンタ値に加算される。この加算は、符号化シーケンス部１０８が第２のメモリ制御部１０５から再符号化完了の通知を受信した場合に行う。この加算をした結果、第１のカウンタ１０７は、第１のメモリ１０４内のデータ量の合計を表す計数値を保持することになる。即ち、１画面分（ページ分）の符号化部１０２と再符号化部１０９の符号化処理が終了した時点では、上記加算後の第１のカウンタ１０７で保持されているカウンタ値は、１画面分（１ページ分）を本装置が符号化した場合に発生した総データ量を表す（詳細は後述）。
【００２５】
符号化部１０２は、再符号化処理の終了／未終了に関わらず、符号化するべき入力部１０１からの画像データが残っている限りは符号化処理を継続して行なう。
【００２６】
第１のカウンタ１０７のカウント値がある設定値に達したかどうかの検出は、入力部１０１から入力される１ページ分の画像データの符号化処理（符号化、再符号化）が終わるまで繰り返され、上述した符号化と再符号化の処理は、ここで得られる検出結果に応じた制御の上で実行される。
【００２７】
上記処理内容をより分かりやすく説明すると次の通りである。なお、以下はモノクロ画像の符号化についてのものである。
【００２８】
入力部１０１より入力された画像データは符号化部１０２にて初期段階での量子化パラメータＱ１に従い圧縮符号化を行う。生成された圧縮符号データは、第１のメモリ１０４、第２のメモリ１０６にそれぞれ書き込まれていく。このとき、第１のカウンタ１０７は生成される符号データ量を計数していくが、設定量以下のまま圧縮符号化処理が完了した場合には、第１のメモリ１０４に格納されたデータを外部に出力し、後続する画像（次ページの画像）があれば、カウンタ１０７、１１０をリセットしてその入力を行う。
【００２９】
一方、或るページを符号化している最中に、生成される符号化データ量が設定値に達したと符号化シーケンス制御部１０８が検出した場合、第１のメモリ１０４内のデータを破棄させ、符号化部１０２に対して更に高い圧縮率となるよう、次の段階の量子化パラメータＱ２を設定して画像データの入力を継続させる。このとき、第１のカウンタ１０７をリセットする。これにより、設定値に達したと判断された以降に入力された画像データは、更に高い圧縮率で符号化が行われることになる。また、符号化データ量が設定値に達する以前の符号化データ（量子化パラメータＱ１で符号化されたデータ）は、第２のメモリ１０６に格納されている。そこで、このデータを再符号化部１０９にて、再符号化を行ない、その結果を、第１のメモリ１０４、第２のメモリ１０６にそれぞれ格納する。再符号化部１０９で再符号化する際の量子化パラメータは、設定変更後の符号化部１０２の量子化パラメータＱ２と同じである。第２のメモリ１０６に格納されていた以前の符号化データに対する再符号化が完了すると、その符号量は第２のカウンタ１１０に保持されているので、それを第１のカウンタ１０７に足しこむ。
【００３０】
以上の結果、第１のメモリ１０４、第２のメモリ１０６それぞれには、１ページの先頭から量子化パラメータＱ２で圧縮された符号化データが格納されることになる。この量子化パラメータＱ２で圧縮符号化している最中に、再度、カウンタ１０７の値が設定値に達したと判断した場合、更に高い圧縮率となるべく、量子化パラメータＱ３を符号化部１０２及び再符号化部１０９に設定して、上記の処理を行う。そして、量子化パラメータＱ３でも設定値に達したと判断した場合には、量子化パラメータをＱ４に設定することになる。
【００３１】
量子化ステップは、Ｑ２＝Ｑ１×ｍ、Ｑ３＝Ｑ２×ｍ、Ｑ４＝Ｑ３×ｍ…と、ｍ倍（ｍ＞１）ずつ大きくしていく（必ずしも等倍である必要はない）。量子化ステップを大きくすると、ＤＣＴ変換した際の周波数成分値が小さな値、すなわち、少ないビット数で表現できるわけであるから、データ量を減らすことが可能となる。
【００３２】
上記、図１の構成における処理のフローを表わすフローチャートを図８に示すが、説明を簡単にするため、簡略化した図３のフローチャートに従って先ず説明する。
【００３３】
既に説明したように、本発明の画像処理装置１００は、スキャナ等の入力部１０１から入力した１ページの画像データを所定のデータ量以下に圧縮符号化する装置である。該符号化処理を実現するために、前記入力部１０１以外に、符号化部１０２、再符号化部１０９、第１のメモリ１０４、第２のメモリ１０６等を有する。これらの機能ブロックを用い、図３に示すフローチャートに基づいて符号化処理を行なう。
【００３４】
図３のフローチャートは、大別すると、下記の３つの処理フェーズに分かれる。
（１）符号化フェーズ
（２）符号化・再符号化フェーズ
（３）転送フェーズ
上記それぞれの処理フェーズおいて、どのように画像データ、符号化データ等が流れて処理され，メモリにどのように格納されるかを視覚的に解り易く示したのが図４乃至図７である。
【００３５】
図４は、図３のフローチャートにおけるステップＳ３０３とＳ３０５に対応する符号化フェーズの初期状態を表わす。また、図５はステップＳ３０７〜Ｓ３１５に対応する符号化・再符号化フェーズの処理状態を、図６はステップＳ３１７に対応する転送フェーズの処理状態を、図７は転送フェーズ後の符号化フェーズの処理状態を表わす。以下、各フェーズについて説明する。
【００３６】
＜＜符号化フェーズ＞＞
１ページ分の画像データの符号化処理は、符号化パラメータの初期設定（ステップＳ３０１）から始まる。ここでは符号化処理する画像サイズ（スキャナ等の入力部１０１から読み取る用紙サイズ）から一意的に定まる符号化データ量の上限値に基づき符号化部１０２に適用する量子化ステップＱ１を設定する。
【００３７】
そして、ステップＳ３０３にて、第１のカウンタ１０７は、実際の符号化処理（画像を８×８画素のブロック単位でＪＰＥＧ圧縮）を行ない、出力される符号化データのデータ量を累積カウントする。
【００３８】
次にステップＳ３０５にて、該データ量のカウント値が上記上限値をオーバーしたかどうかを検知し、オーバーしていなければステップＳ３０３のＪＰＥＧ符号化処理を継続する。これが初期状態の符号化フェーズである。
【００３９】
符号化部１０２から出力する符号化データは、図４に示すように第１のメモリ１０４と第２のメモリ１０６の両方に格納されていく。縦縞で示した領域が該格納した符号を表現している。
【００４０】
＜＜符号化・再符号化フェーズ＞＞
符号化部１０２の符号化処理が進行し、前記データ量のカウント値が設定されている上限値をオーバーすると、ステップＳ３０７にて、第１のメモリ１０４内の符号化データを廃棄すると共に、ステップＳ３０９にて、符号化部１０２の量子化パラメータをＱ２に変更する。
【００４１】
符号化データのデータ量のカウント値が設定された上限値をオーバーするという事は、圧縮後のデータ量が目標値以内に収まらないことを意味する。よって同じ量子化ステップを用いて符号化処理を継続しても意味が無いので、前よりもデータ量が少なくなるように、Ｑ１よりも量子化ステップ幅の大きい量子化ステップＱ２に変更するわけである。
【００４２】
量子化ステップ及び量子化演算内容を変更した後、ステップＳ３１１では符号化部１０２の符号化処理を再開し、図５に示すように符号化データを第２のメモリ１０６のみに格納する。それと並行して、ステップＳ３１３の再符号化処理を行なう。再符号化処理では、第２のメモリ１０６に格納済みの符号化データを読み出して、再符号化部１０９にて再符号化処理を行ない、前記２つのメモリ１０４、１０６に格納する。そして、縦縞▲１▼の符号を全て再符号化するまで、該符号化処理と再符号化処理を継続する。
【００４３】
具体的にこの再符号化処理では、符号化データを一旦ハフマン復号した後の各量子化値に対して、これら値を２ｎで割った結果と同様の結果が出るビットシフト処理を施した後、再度ハフマン符号化を行なうことにより実現される（ｍ＝２の場合）。この方法は、ビットシフトのみで量子化ステップを変更する点と逆直交変換や再直交変換処理を行なわない点で、高速な再符号化処理が可能である。ステップ３１５では、再符号化処理の終了検知が行なわれる。
【００４４】
再符号化後のデータ量は再符号化前の符号化データのデータ量よりも少なくなるので、図５に示すように、再符号化前の符号を格納していたメモリ領域に再符号化後の符号化データを上書きするように格納することができる。再符号化処理が終了した時点で、縦縞▲１▼の符号化データのデータ量は図６に示すの斜め縞▲１▼の符号化データのデータ量へと減少する。
【００４５】
以上で説明したステップＳ３０７〜３１５が、符号化・再符号化フェーズで行なう処理である。
【００４６】
＜＜転送フェーズ＞＞
再符号化処理が終了したら、ステップＳ３１７では転送処理が行なわれる。該転送処理では、図６に示すように、符号化・再符号化フェーズで第２のメモリ１０６のみに格納した斜め縞▲２▼の符号化データを、第１のメモリ１０４内の斜め線▲１▼の符号化データに連結されるアドレスに転送し、格納する。その一方で、第２のメモリ１０６上で分散してしまっている斜め縞▲１▼の符号化データと斜め縞▲２▼の符号化データが第１のメモリ１０４上で連続して格納される様に、前記斜め縞▲２▼の符号化データを第２のメモリ１０６内で転送し、連結させる。これが、転送フェーズで行なう処理である。
【００４７】
上記転送フェーズが終了したら、ステップＳ３０３、Ｓ３０５の符号化フェーズに戻り、図７に示すように斜め縞▲４▼の符号を符号化部１０２から出力して２つのメモリ１０４，１０６に格納する。この符号化フェーズは、初期状態の符号化フェーズ（図４）と少し異なり、符号化部１０２で符号化する際の量子化ステップがＱ１からＱ２に変更されていると共に、２つのメモリ１０４，１０６に格納されている符号化データも様々なフェーズで処理された符号の集まりである。それらの違いを無視すれば、転送フェーズ直後の符号化フェーズと初期状態の符号化フェーズは、同じと見なせる。
【００４８】
よって、符号化フェーズ、符号化・再符号化フェーズと転送フェーズの３つを繰り返すことで、最終的に１ページの画像データを設定符号量以下に圧縮した符号を第１のメモリに格納することが出来る。しかも、入力部１０１は一連の処理が終わるまで、入力を継続するだけである。すなわち、画像を再度最初から入力し直すということが無くなる。
【００４９】
図３に示したフローチャートは、説明が理解しやすいように、図４、図５、及び、図６に示した各フェーズに対応する処理のみを記述した。しかしながら実際には、１ページの画像データの入力はどこかのフェーズで終了する。従って、どのフェーズで終了したかによって、それ以降の対応も多少異なる。それを考慮した流れを示したのが図８のフローチャートである。図８のフローチャートは、１ページ分の画像データの入力完了と図３で説明した各種処理との関係を考慮したものであり、ここでは図３のフローチャートに、ステップＳ８０１、Ｓ８０３、Ｓ８０５、Ｓ８０７を追加している。
【００５０】
ステップＳ８０１、Ｓ８０３、Ｓ８０５は、それぞれ、符号化フェーズ、符号化・再符号化フェーズ、転送フェーズにおいて、入力部１０１からの１ページ分の画像データの入力が終了したことを検知する。
【００５１】
符号化フェーズと転送フェーズで１ページ分の画像データの入力が終了したことを検知した場合（ステップＳ８０１、Ｓ８０５）、ステップＳ８０７へ移り、当該ページの圧縮符号化処理を終了し、次に圧縮処理すべき画像データがあれば、次の１ページ分の画像データの圧縮符号化処理を開始し（各カウンタをリセットし、量子化パラメータを初期値に設定する）、無ければ停止状態に入る。
【００５２】
一方、符号化・再符号化フェーズで１ページ分の画像データの入力終了を検知した場合（ステップＳ８０３）には、符号化部１０２では再符号化処理する画像データが無くなるまで一旦動作を止める必要があるので、ステップＳ３１１の符号化処理をパスし、ステップＳ３１３で、今までに符号化部１０２で符号化済みの画像データを所定の符号化データ量に抑える為の再符号化処理のみを継続して行なう。再符号化処理が全て終了して、その後の転送処理が終わらないと、１ページ分の画像データ全体の符号化データが第１のメモリ上に集まらないため、１ページ分の画像データの入力終了後も再符号化処理及びそれに続く転送処理は継続して行われる必要がある。この場合には、ステップＳ３１５にて、再符号化処理が全て終了したことを検知すると、符号化・再符号化フェーズ中に、第２のメモリ１０６のみに格納された符号化データを第１のメモリに転送し（ステップＳ３１７）た後、次のステップＳ８０５にて、１ページ分の画像データの入力終了が検知されてステップＳ８０７へ移ることになる。
【００５３】
以上が動作であり、図８の動作説明でもある。
【００５４】
＜メモリ格納方法の変形例＞
図９、図１０は図５、図６の概念図で示したメモリ格納方法の変形例を示す図である。
【００５５】
図５の概念図においては、符号化・再符号化フェーズでは、符号化部１０２から出力する符号化データは第２のメモリ１０６のみに格納していたが、図９に示すように符号化・再符号化フェーズ中に、符号化部１０２から出力する符号化データを第１、第２メモリの両方に直接格納する。
【００５６】
符号化部１０２から見ると、どのフェーズで符号化して出力する符号化データも両方のメモリへ格納することになる。また、図６の概念図とは異なり、図１０に示す様に、転送フェーズでメモリ間のデータ転送が必要なくなる。またこの変形例の場合には、符号化・再符号化フェーズにおいて、符号化データと再符号化データを第１のメモリ１０４へ送った順序で順次格納される。そのため２種類のデータが入り混じってしまうという問題は有る。
【００５７】
従って、この変形例の場合にはこれに対応する為に符号化データをある単位で区切って、ファイル或いはパケットとして管理する様にする。具体的には、ファイル管理テーブル、或いは、パケット管理テーブル等を別に作成して管理する。
【００５８】
一つの手法としては、符号化部１０２からのデータを第１メモリ１０４に格納する際、適当な単位（例えば前記直交変換の単位が８×８のブロックであるので、８×ｉ（ｉ＝１、２…の整数）ライン分のデータ）毎に、画像データの先頭から管理番号を割り当て、各管理番号に対応する符号化データの格納先頭アドレスと該符号化データ量とを、管理番号順に格納できるような管理テーブルを作成する。
【００５９】
符号化部１０２や再符号化部１０９は処理中のデータの管理番号を保持し、該管理番号に基づいて、符号化データ格納時の先頭アドレスと符号化データ量とを管理テーブルに書き込む。このようにすれば、符号化部１０２と再符号化部１０９で処理した符号化データをランダムに格納したとしても、前記管理テーブルを管理番号順にアクセスし、その時読み出させる先頭アドレスと符号化データ量に基づいて、符号化データを第１メモリ１０４から読み出せば、画像の先頭から順番に符号化データを読み出すことができる。このような管理機構を設ければ、画像上で連続するデータをメモリ上で連続するように格納する必要性が無くなる。
【００６０】
図１０の概念図における転送フェーズ後の符号化フェーズは、これまで説明した２つの符号化フェーズ（図４、図７）とほとんど同じであり、第１のメモリ内における符号の格納状態が図１１に示した様に若干異なるだけである。よって、先の説明と本変形例は、３つのフェーズを繰り返して処理することに変わりは無い。
【００６１】
＜第２の例＞
次に、本発明において特徴的な符号化処理を行なう為の、第２の例（これまで説明した構成を第１の例という）を図２を用いて説明する。
【００６２】
図２は、第２の例における画像処理装置２００のブロック構成図である。
【００６３】
図１の第１の例における画像処理装置１００と大きく異なる点は、最初に符号化を行なう符号化部が２つ並列に存在する点である。画像処理装置２００は、入力部２０１から入力される画像データを、第１の符号化部２０２と第２の符号化部２０５で並行して符号化し、互いに圧縮率の異なる２種類の符号化データを生成する。本第２の例でも、符号化方式は公知のＪＰＥＧ符号化方式を用い、８×８画素のブロック単位で画像データをＤＣＴ変換し、後述する量子化ステップを用いた量子化、ハフマン符号化処理を行なうものである。
【００６４】
なお、本例では第１の符号化部２０２よりも、第２の符号化部２０５の方が適用する圧縮率を高く設定する場合について説明する。具体的には、第１の符号化部２０２における量子化パラメータをＱ１、第２の符号化部２０５の量子化パラメータをＱ２（Ｑ２の量子化ステップは、Ｑ１の量子化ステップより大きい）とする。
【００６５】
符号化部２０２から出力される符号化データは、第１のメモリ制御部２０３を経由して、第１のメモリ２０４に格納される。このとき、第１のカウンタ２０８は、符号化部２０２から出力される符号化データのデータ量をカウントし、これを保持すると共に、符号化シーケンス制御部２０９にも出力する。
【００６６】
一方、符号化部２０５で符号化された符号化データは、第２のメモリ制御部２０６を経由して、第２のメモリ２０７に格納される。このとき、第２のカウンタ２１０は、符号化部２０５から出力される符号化データのデータ量をカウントし、これを保持する。更に、後述する第２のメモリ２０７に格納している符号化データを第１のメモリ２０４に転送する時には、それと同時に上記第２のカウンタ２１０のカウント値を、第１のカウンタ２０８に転送する。
【００６７】
さて、第１のカウンタ２０８が符号化部２０２から出力される符号化データのデータ量をカウント中に、該カウント値がある設定値に達した時には、符号化シーケンス制御部２０９は、第１の例と同様、メモリ制御部２０３に対して第１のメモリ２０４に格納されているデータを廃棄するよう制御信号を出す。
【００６８】
そして、符号化シーケンス制御部２０９は、第２のメモリ２０７に格納済みの符号化データを読み出して第１のメモリ２０４に転送し、第１のメモリ２０４に格納するよう、メモリ制御部２０６とメモリ制御部２０３に制御信号を出力する。この結果、第２のカウンタ２１０のカウント値が第１のカウンタ２０８に転送され、その値が第１のカウンタのカウント値としてロード（上書き）される。
【００６９】
要するに、上記第２のカウンタ２１０のカウント値は、第２のメモリ２０７に格納している符号化データのデータ量を表わしているので、そのカウント値と対応する符号化データを、そのまま第１のカウンタと第１のメモリへコピーしたと考えれば良い。
【００７０】
さらに、符号化シーケンス制御２０９は、第２の符号化部２０５に対して、今までよりも、符号化データが少なくなるような符号化を行なうように制御信号を出す。一方、第１の符号化部２０２に対しては、その直前までの第２の符号化部２０５における量子化パラメータＱ２を継承するよう設定を変更する。
【００７１】
例えば、第２の符号化部２０５における量子化ステップを２倍に切り替える。この結果、第１の符号化部２０２は、第２の符号化部２０５は更に大きな量子化ステップＱ３を用いて、次のオーバーフローに備えた更に高い圧縮率の符号化処理を行うことになる。切り替えられた各符号化部２０２、２０５から出力された符号化データは、それぞれ、対応するメモリ制御部２０３、２０６を経由して、対応するメモリ２０４、２０７に格納される。
【００７２】
ここでは、量子化ステップの倍率比を２倍としたがこれに限らず、任意に設定できることは示すまでもない。例えば、カラー画像の場合、色変換した際に生成される１つの輝度信号（輝度データ）と、２つの色差信号（色差データ）に対して別々の量子化ステップを割り当て、片方ずつ交互に２倍にするようにすることで、より細かな設定が可能となる。
【００７３】
そして、符号化シーケンス制御２０９は、メモリ制御部２０６に対し、既に第２のメモリ２０７内に格納している符号化データを読み出して、再符号化部２１１にデータを送るよう制御信号を出す。再符号化部２１１は、図１の再符号化部１０９と同様にして符号化データの再符号化処理を行なう。
【００７４】
第３のカウンタ２１２は、再符号化部２１１が出力したデータ量をカウントするもので、再符号化処理を開始する直前にゼロにリセットされ、再符号化処理中の出力データ量をカウントする。このカウンタ２１２は、再符号化処理が終了した時点で、そこで得られたカウント値を第２のカウンタ２１０に転送する。
【００７５】
第２のカウンタ２１０は、上記転送されてきたデータ量カウント値を、第２のカウンタ２１０内に保持しているカウンタ値に加算することにより、再符号化処理中にメモリ２０７に格納した、符号化データと再符号化データの合計のデータ量を算出する。即ち、メモリ２０７に格納しているデータ量とカウンタ２１０のカウント値とが一致する。
【００７６】
再符号化処理の終了／未終了に関わらず、符号化するべき入力部２０１からの画像データが残っていれば、２つの符号化部２０２と２０５による符号化処理を継続して行なう。そして、カウンタ２０８のカウント値がある設定値に達したかどうかの監視は入力部２０１から入力される１ページ分の画像データの符号化処理（符号化、再符号化）が終わるまで繰り返され、上述した符号化と再符号化の処理は、ここで得られる検出結果に応じた制御の上で実行される。
【００７７】
上記動作を簡単にまとめると、第２の符号化部２０５は、第１の符号化部２０２よりも１つ上の圧縮率での符号化を行う。そして、第１の符号化部２０２で生成された符号量が設定量に達した場合、第１の符号化部２０２の量子化パラメータを、直前の第２の符号化部２０５と同じにする。また、第２の符号化部２０５の量子化パラメータを更に高い圧縮率となるよう設定する。そして、第１のメモリ２０４内のデータを破棄し、第２のメモリ２０７に格納されていたデータを第１のメモリ２０４に転送すると共に、第２のカウンタ２１０の値を第１のカウンタ２０８に書き込む。そして、第２のメモリ内のデータを更に高い圧縮率で再符号化させるため、再符号化部２１１に対して、第２の符号化部２０５に新に設定した量子化パラメータと同じにする。この結果、第２のメモリ２０７内のデータは、ページの先頭から新たなに設定された量子化パラメータで圧縮したのと等価の符号データが格納されることになる。
【００７８】
図２で説明したように符号化部が２つある場合は、図１２に示すフローチャートに基づいて１ページ分の画像データの符号化を行なうことになる。なお、図１２の説明は、符号化部が１つの場合のフローチャートである図８とは、大半は類似しており、当業者であれば上記説明から本第２の例の特徴は十分に理解できるであろうから、符号化部１つの場合と同じように３つのフェーズで処理を説明する様にし、図８と異なる点を主に説明することとする。
【００７９】
上述した図８のフローと本例のフローとの一番大きな違いは、ステップＳ３１７の転送処理が、ステップＳ３０７とステップＳ３０９の間に移動していることである。要するに、符号化・再符号化フェーズと転送フェーズが入れ替わったと見なせば良い（ステップＳ３０７の符号化データの廃棄処理は例外である）。
【００８０】
ステップＳ３０１の符号化パラメータの初期設定では、第１の符号化部２０２に量子化パラメータＱ１を、第２の符号化部２０５には量子化パラメータＱ２を設定する。ただし、量子化パラメータＱ２で表される量子化ステップは、Ｑ１よりも大きい。
【００８１】
符号化フェーズでは、ステップＳ８０１、Ｓ３０３、Ｓ３０５を繰り返し実行する。ステップＳ８０１とステップＳ３０５は符号化部が１つの場合と同じ処理であるが、ステップＳ３０３の符号化処理だけは図１３に示すように異なっている。
【００８２】
第１のメモリ２０４へ格納する符号化データは圧縮率が段階的に高くなるようにするため、最初に格納する符号化データは圧縮率が一番低い量子化パラメータＱ１で符号化したデータを格納し、第２のメモリへ格納する符号化データは量子化パラメータＱ２で符号化したデータを格納する。
【００８３】
第１のメモリ２０４へ格納中のデータ量が設定されている上限値をオーバーしたら（ステップＳ３０５）、直ちに、第１のメモリ２０４で保持していた符号化データを廃棄し（ステップＳ３０７）、第２のメモリ２０７で保持している圧縮率の高い符号化データを、第１のメモリ２０４へ転送する（ステップＳ３１７、図１４参照）。これにより、第１の例で説明した１回目の再符号化処理の終了を待たずに、速やかに、上限値をオーバーしない適切な２番目の候補の符号化データを第１のメモリ２０７内に格納出来る。これが、図１に対する、２つの符号器を持つ図２を適用することの最大の利点である。
【００８４】
本第２の例では、２つのメモリ２０４、２０７で同じ圧縮率の符号化データを持っていることが無駄という考え方なので、第２のメモリ２０７には、第１のメモリ２０４に格納する符号化データよりも圧縮率の高い符号化データを格納しておくようにしている。従って、それ以降の処理もこの考え方に基づき行われるものであり、第２のメモリ２０７内の符号化データを第１のメモリ２０４に転送する処理（転送フェーズ）が終了した後は、第２のメモリ２０７の符号化データを、更に１段階圧縮率の高い符号化データを保持する様に再符号化することとなる。
【００８５】
具体的には、まず図１５に示す様に、転送フェーズの次の符号化・再符号化フェーズでは、上記再符号化の前に、２つの符号化部２０２，２０５に適用される各量子化パラメータＱ１、Ｑ２をそれぞれＱ２、Ｑ３へ変更し（ステップＳ３０９）、１ページの画像データの入力が終了せずに続いていれば（ステップＳ８０３）、後続の画像データは新たな量子化ステップが設定された２つの符号化部で該入力データを符号化して（ステップＳ３１１）、対応する各メモリ２０４，２０７へ格納する。そして、上記符号化処理と並行して第２のメモリに格納されている符号化データ（第１のメモリ２０４に転送したもの）は、第１のメモリ内の符号化データよりも１段階高い圧縮率の符号化データに変更するべく、再符号化部２１１にて量子化パラメータＱ３を用いて符号化されたデータが得られる様な再符号化処理（Ｓ３１３）を行ない、再符号化データを第２のメモリ２０７に格納し直す。
【００８６】
なお、本第２の例でも、第１の例と同様、再符号化処理では、符号化データを一旦ハフマン復号した後の各量子化値に対して、これら値を２ｎで割った結果と同様の結果が出るビットシフト処理を施した後、再度ハフマン符号化を行なうことにより実現される。この方法は、ビットシフトのみで量子化ステップを変更する点と逆直交変換や再直交変換処理を行わない点で、高速な再符号化処理が可能である。
【００８７】
また、本第２の例の様に符号化部が２つ有る場合には、図１５に示したように、第２のメモリ２０７に符号化データと再符号化データを混在して格納する状況が発生する。従って、前述したように、符号化データをある単位で区切って、ファイル或いはパケットとして管理することが、第２のメモリ２０７に対しても必要になる。その為には、例えば第１の例における変形例と同様の構成を設ければ良いであろう。
【００８８】
図１２において、再符号化処理の終了をステップＳ３１５で検知したら、また符号化フェーズ（ステップＳ８０１、Ｓ３０３）に移行する。なお、符号化・再符号化フェーズ後の符号化フェーズでは、図１６に示すように、２つのメモリ２０４，２０７が保持する符号化データは圧縮率が違うだけでなく、符号化データの混在の仕方（アドレス）もかなり違ってくる。従って、再度、第１のメモリ２０４のデータ量が設定値をオーバーした場合には、第２のメモリ２０７で保持されている符号化データ（▲６▼＋▲８▼の横縞の領域の符号）を第１のメモリ２０４へ転送する必要が出てくる。これらを考慮すると、第２のメモリ２０７だけでなく、第１のメモリ２０４でも符号化データをファイル或いはパケットとして管理する必要がある。よって、第１のメモリ２０４にも前述の管理テーブルを用いた管理機構が必要となる。
【００８９】
図１６に示された符号化フェーズの状態は、量子化パラメータと符号化データの混在の仕方が、再符号化処理の前後で異なっていること以外は、初期状態の符号化フェーズ（図１３）と同じである。よって、符号化フェーズ、転送フェーズと符号化・再符号化フェーズを繰り返すことで、最終的に、１ページ分の画像データを設定した上限値以下に圧縮した符号化データを確実に第１のメモリ２０４に格納することが出来る。
【００９０】
なお、第１の例に対し、転送フェーズと符号化・再符号化フェーズの配置順が逆であることから、図８において転送処理後に行なっていた１ページ分の画像データの入力終了検知（ステップＳ８０５）は、符号化・再符号化フェーズで行なう１ページ分の画像データの入力終了検知（ステップＳ８０３）と、ほとんど同じタイミングになってしまう。また、２つの検知処理は、機能的にはステップＳ８０５と同じで、タイミング的にはステップＳ８０３と同じである、従って、これら２つのステップは、新たな１ページ分の画像データの入力終了を検知するステップとして統合し、ステップＳ１２０１と表記しておく。
【００９１】
以上説明した第１、第２の例では、第１のメモリと第２のメモリは物理的に別のメモリであるとして説明をしてきた。これは、２つのメモリに対するアクセスが独立している方が有利なためである。しかしながら、第１のメモリと第２のメモリを、物理的に別のメモリとしない場合も本発明の範疇に含まれる。物理的に１つのメモリ上に、前記第１のメモリと第２のメモリに相当する２つの領域を確保して、第１のメモリを第１のメモリ領域、第２のメモリを第２のメモリ領域と言い直して、これまでの説明を読み直せば、本発明は、１つのメモリでも実現できることが分かる。
【００９２】
また、１つのメモリで上記各例を実現する場合には、前記転送フェーズで説明したデータ転送処理のいくつかは不要となる。その詳細はその都度容易に想像できるので説明は省略するが、前記２つの領域を厳密に別けて使用する場合、物理的に２つのメモリを持つ時と同じようにデータ転送処理が必要であるが、２つの領域間で同じデータを共有することになれば、データ転送処理が不要になるだけでなく記憶容量の削減も図れる。
【００９３】
例えば、第２のメモリ領域で保持していた符号化データを、第１のメモリ領域へ転送する際、該符号化データが格納されている先頭アドレスとデータサイズの２つの情報を第２のメモリ制御部から第１のメモリ制御部へ転送するだけで、前記符号化データを転送したのと同じ効果が得られる。
【００９４】
前記符号化データを、ファイル形式やパケット形式で格納している場合は、メモリ制御部の間で転送する情報は少し増え、該符号化データに関連する管理テーブル情報を転送する必要がある。それでも、符号化データを転送するよりは、効率が良い。
【００９５】
＜第３の例（第１の例に像域情報の圧縮機能を追加した例）＞
前記第１、第２の例では、画像データをＪＰＥＧ方式で符号化して、該ＪＰＥＧ符号のみを格納するものである。これと並列に像域情報の可逆符号化も行ない、該可逆符号も格納するようにした画像処理装置の構成を図１７に示す。同図は図１に示した基本構成に像域情報の処理系を追加したもので、以下で説明を行なう。但し、図１の構成と同じ機能ブロックには、同一番号を付し説明を省略する。
【００９６】
イメージスキャナやページ記述言語レンダリングなどから入力部１０１を通して入力した画像データは、既に説明した処理方法に基づいて符号化と再符号化処理を繰り返して行ない、符号化データを設定した符号量以内に収める。
【００９７】
一方で、該画像データを像域情報生成部１７０１に送り、前述の像域情報を生成する。スキャナ入力画像の場合、該画像データのみに基づいて像域情報を生成するが、ページ記述言語（ＰＤＬ）を展開・描画した画像の場合、該ＰＤＬ情報も参照して像域情報を生成する。なお、像域情報はスキャナ等の画像入力機器で生成することもある。その場合、前記像域情報も入力部１０１を通して入力され、像域情報生成部１７０１を素通りして、次のユニットへ送られる。
【００９８】
ただし、実施形態では説明を簡単なものとするため、像域情報は、各画素毎に、有彩色／無彩色の区別する１ビット、文字線画／中間調画像を区別する１ビットの計２ビットとする。有彩色／無彩色の区別は、入力した画像データがＲＧＢ形式のデータであれば、各色成分の値が互いに実質的に等しい場合に無彩色、それ以外の場合には有彩色として判定する。また、注目画素の濃度（或いは輝度）が隣接する画素に対して急峻に変化している（予め設定した閾値以上に変化している）場合には、文字線画のエッジであると判断し、変化がなだらかであれば中間調画像として判断することで実現できるであろう。像域情報の取り得るデータはバイナリ表現で００、０１、１０、１１（１０進数では０〜３）の４通りとなる。
【００９９】
生成した像域情報は、ブロック化ユニット１７０３にて、符号化部１０２において画像データをまとめて符号化するデータのサイズと同じサイズ（第１の例では８×８であったので、８×８サイズとなる）へブロック化する。
【０１００】
画像データの圧縮に利用するＪＰＥＧのような多値の圧縮は、２値データの集まりである像域情報の圧縮に使うには非効率である上に非可逆圧縮である。像域情報の圧縮には可逆圧縮であるＪＢＩＧ、或いはＰａｃｋＢｉｔｓ等のランレングス符号化を用い、可逆符号化部１７０５にて像域情報を可逆符号化する。
【０１０１】
符号化した像域情報は、第１のメモリ制御部１０３を経由して第１のメモリ１０４に格納し、同じデータをメモリ制御部１０５を経由して第２のメモリ１０６にも格納する。それと同時に、前記可逆符号化部から出力する符号量を第４のカウンタ１７０７にてカウントし、該カウント値を可逆符号化制御部１７０９に送る。
【０１０２】
可逆符号化制御部１７０９内のレジスタには目標値が設定され、前記符号量が該目標値をオーバーした時に、第１のメモリ１０４に格納済みの符号化データ（像域情報の符号化データ）を廃棄するよう第１のメモリ制御部１０３に制御信号を出力する。廃棄の仕方は前記画像データの符号化データを廃棄する方法と同じである。続いて、第２のメモリ１０６から符号化した像域データを読み出し、該データを可逆符号再符号化部１７１１に送るよう、該可逆符号化制御部１７０９は第２のメモリ制御部１０５へ制御信号を出力する。
【０１０３】
すなわち、符号化部１０２や再符号化部１０９が符号化シーケンス部１０８からの指示情報（圧縮パラメータ）に従って圧縮処理を行うのと同様、この可逆符号化１７０５、可逆符号再符号化部１７１１も、可逆符号化制御部１７０９からの圧縮パラメータ（圧縮率を決定するパラメータ）に従って像域情報を圧縮することになる。
【０１０４】
可逆符号再符号化部１７０９は、符号化データを受け取るとそれを復号化し、複数の属性フラグデータの一部を廃棄するか固定値に置き換えた後、再び可逆符号化を行なう。後に説明するが、属性フラグの一部を固定値に置き換えた場合でも情報エントロピーが低下するため、ランレングス符号化後のデータ量は減少する。再符号化後の属性データは、第２のメモリ１０６に再び格納すると共に、第１のメモリ１０４にも格納する。そして、再符号化後の符号量を第５のカウンタ１７１３にてカウントする。
【０１０５】
一方、可逆符号化制御部１７０９は、可逆符号再符号部１７１１において情報量を減らした属性フラグデータと、同じ情報エントロピーの属性フラグデータを符号化するよう、可逆符号化部１７０５が備えた像域情報変換処理部に対して属性フラグの一部を廃棄、或いは固定値に置き換えるよう制御信号を送り、符号化処理を継続させる。但し符号化データは第２のメモリのみに格納する。それと同時に、第４のカウンタ１７１１にも制御信号を送り、それまでカウントして保持していた値をリセットさせ、像域情報変換処理の内容が変更になった後に符号化処理して生成する符号量を新たにカウントさせる。
【０１０６】
前記再符号化する像域情報の符号化データが無くなり再符号化処理が終了したら、前記第２のメモリのみに格納した符号化データを第１のメモリにも転送して格納する。それと共に、第５のカウンタ１７１３の計数値を第４のカウンタ１７０７に転送して加算する。それによって、カウンタ１７１１には、像域情報変換処理の内容が変更になった後の可逆符号化データの全符号量が計数され、それに対応する符号化データは第１及び第２のメモリ各々に格納された状態となる。この状態は初期の可逆符号化処理のみをしている時とほとんど同じである。よって、これ以降は、可逆符号化部１７０５が出力する符号化データを第１及び第２の両方のメモリに格納して、可逆符号化処理をしている最初の状態と同じ状態に戻り、引き続き符号量の監視が行なわれる。
【０１０７】
第４のカウンタの計数値が、符号化制御部１７０９内のレジスタに設定された目標値をオーバーするたびに、廃棄、或いは固定値に置き換える属性フラグを増やすことで、像域データの符号量を段階的に減らすことができ、該像域データの符号量を目標値以内に収めることが可能となる。
【０１０８】
次に、図１７の画像処理装置の処理内容を表わすフローチャートを図１８に示し、該フローチャートを用いて説明を行なう。該画像処理装置の処理は、上述したように、図１の構成における画像データの符号量の制御方法と基本的に同じであり、個別の処理の内容が少しずつ異なるだけである。以下に相違点を列挙する。
（１）符号化処理と可逆符号化処理
（２）量子化ステップ変更と像域情報変換処理の変更
（３）再符号化処理と可逆符号再符号化処理
上記処理の相違を、前記図８のフローチャートに反映させたものが図１８のフローチャートである。図８におけるステップＳ３０３、Ｓ３０９、Ｓ３１１、Ｓ３１３の処理を、図１８ではステップＳ１７０３、Ｓ１７０９、Ｓ１７１１、Ｓ１７１３の処理に置き換えている。符号化パラメータの初期設定では、画像サイズによって決まる可逆符号化データ量の上限値を可逆符号化制御部内のレジスタにセットし、上記像域情報変換処理の内容を初期状態にリセットする。あとは、図８のフローチャートと同じ説明になる。
【０１０９】
次に、１画素あたり２ビットの像域情報に６ビットデータ“００００００”を付加して８ビット化（一般に、コンピュータでは８ビットで処理が効率が良いため）した後、可逆符号としてＰａｃｋｂｉｔｓ符号化を行なった場合の、具体的な処理内容を、図１９を用いてさらに詳しく説明する。
【０１１０】
Ｐａｃｋｂｉｔｓ符号化する前の８ビットデータは、図１９（ａ）に示すように上位６ビットは全て０で、下位２ビットの上位側に、対応する画素データが文字部かそうでないかを表わすフラグ、下位側には有彩色か無彩色を表わすフラグデータが入っているものとする。よって、該８ビットデータが取り得る値は、０以上３以下の値である。なお、像域の特性は上記のように各ビットが０、１のいずれかで決定され、フラグとしての性格を持つので、以下では、像域情報を像域フラグもしくは像域フラグデータと表現することとする。
【０１１１】
像域情報生成部１７０１からは、上記８ビットのデータが画素単位で出力されるものとする。具体的な出力データとして、図１９（ｂ）に示すデータを考える。
【０１１２】
これをＰａｃｋｂｉｔｓ符号化すると図１９（ｃ）に示すデータに圧縮される。圧縮後のデータで負の値は連続するデータの個数を表わし、非連続データの個数は正の値で表わしている。これらは長さ情報と言うもので、該長さ情報のサインビットから連続データが続くのか、非連続データが続くのかを判別することが出来るようになっている。圧縮後の各データは同図（ｂ）と同じく８ビット（１バイト）である。１バイトの長さ情報で、表わすことができる最大値は２５５の半分の約１２８であり、長さ情報がそれ以下の場合は１組の長さ情報とそれに続く像域フラグデータ群で符号化でき、それを超える場合は複数の組の、長さ情報＋像域フラグデータ群、に分けて符号化される。
【０１１３】
図１９（ｃ）の圧縮データを詳しく見てみることにする。最初の長さ情報“−４”はマイナスの値なので、上述したように連続データの連続個数を表わし、長さ情報直後の像域フラグデータ“１”が４つ続くことを表わしている。
【０１１４】
次のデータ“４”はまた長さ情報であるが、今度はプラスの値なので非連続データが４つ続くことを示している。よって、前記“４”に続く４つのデータ“２，３，２，３”が非連続データを表わす。図１９（ｃ）では、長さ情報と像域フラグデータとが区別し易いように、プラスの長さ情報のみ下線を引いている。
【０１１５】
上記非連続データの次の“−５”は又、連続データの長さ情報で、該長さ情報直後の像域フラグデータ“２”が５つ続くことを表わしている。次の下線付きのデータ“３”は非連続データの長さ情報で、後続する３つのデータ“１，０，１”が像域フラグデータであり、さらに次の“−６，０”は、像域フラグデータ“０”が６個連続することを示している。
【０１１６】
上記圧縮データを可逆符号再符号化部１７１５で再符号化処理（設定した目標値に達しいた場合に実行されるものである）するとどのようになるのかを、図１９（ｄ）（ｅ）を用いて説明する。ここでは、再符号化処理において、有彩色・無彩色フラグを“１”に固定してすべて有彩色にする。
【０１１７】
符号化された像域データは一旦復号され、図１９（ｂ）のデータに戻された後、上記フラグデータの置き換えが行なわれ、図１９（ｄ）のデータに変換される。そして、変換されたデータを再びＰａｃｋｂｉｔｓ符号化することによって、図１９（ｅ）の符号化データが得られる。再符号化前の１５バイトの符号化データが再符号化後には６バイトに減少することが解かる。
【０１１８】
上記の再符号化処理を行なったにもかかわらず、全符号量の計数値が符号化制御部１７１３内のレジスタに設定された目標値を再びオーバーした場合には、前記再符号化処理が終了していれば、直ちに次の新たな再符号化処理を開始する。前記再符号化処理が終了していなければ、該再符号化処理が終了後、直ちに次の新たな再符号化処理を開始する。
【０１１９】
新たな再符号化処理では、残りの１ビットの像域フラグも“１”（中間調を示すことになる）に置き換える。これにより、すべての像域フラグデータ（８ビット）の値は“３”となり、データのバイト数をＮとすると、符号化後のデータ量はおよそ（２Ｎ／１２８）＋２バイトとなる。
【０１２０】
これは、連続データの個数が１２８個を超えるたびに、あらたな２バイト１組の符号化データ（長さ情報と連続データ）が増えるためである。
【０１２１】
Ｐａｃｋｂｉｔｓの符号化回路や復号回路それにデータ変換回路はそれぞれ公知の技術であり、個別の回路構成についての説明は省略する。
【０１２２】
上記説明では簡単化のため、各画素の像域フラグを２ビットとして説明したが、前述したように像域フラグとして他の情報もいくつかある。上記再符号化処理では、２ビットの像域フラグデータでは最大２回の再符号化、４ビットの像域フラグデータでは最大４回の再符号化処理が可能であり、像域フラグのビット数が多い程、再符号化処理の回数を増やすことができ、符号量を多段階で制御することができる。
【０１２３】
さらに、状態数を縮退させる方法を用いれば、さらに符号量を多段階で制御することができる。例えば、２ビットの像域フラグでは、４状態を表わすことができるが、これを１回目の再符号化処理で３状態に縮退させ、２回目の再符号化処理で２状態に縮退させることで、符号化前の情報エントロピーを少しずつ減らし、符号化後のデータ量（符号量）を細かく減らしていくものである。
【０１２４】
上述したフラグデータを１ビットずつ固定値に置き換える処理を、状態数という言葉を用いて表現すると、像域フラグデータを再符号化するごとに状態数を半分に減らす、と言うことが出来る。
【０１２５】
１回の再符号化処理で、状態数を半分に減らすより、状態数を１つずつ減らした方が、符号量を細かく減らせるのは当然である。
【０１２６】
状態数を１つずつ減らした場合の処理結果を図２０（ｂ）（ｃ）（ｄ）（ｅ）に示し、それについて説明する。図２０（ａ）は、図１９（ｂ）に示した像域フラグデータと同じ、２ビットの４状態の全てが存在するデータである。該４状態をあらためて列挙すると、以下のようになる。
（１）有彩色の文字部（データ“３”に対応）
（２）無彩色の文字部（データ“２”に対応）
（３）有彩色の非文字部（データ“１”に対応、有彩色の画像部とも言う）
（４）無彩色の非文字部（データ“０”に対応、無彩色の画像部とも言う）
１回目の再符号化処理で、上記４状態の内、（３）有彩色の非文字部と（４）無彩色の非文字部、の２状態を合体して１つの状態（３’）非文字部に縮退させる。これにより、以下の３つの状態となる。
（１）有彩色の文字部
（２）無彩色の文字部、
（３’）非文字部
具体的には、データ“０”を“１”に置き換えることで、上記状態の縮退を行なう。状態縮退後のデータは図２０（ｂ）に示すデータに変わる。これをＰａｃｋｂｉｔｓ符号化すると図２０（ｃ）に示す符号化データになる。再符号化前の符号化データ図１９（ｃ）よりも多少符号量が少なくなっていることが解かる。
【０１２７】
２回目の再符号化処理では、（１）有彩色の文字部と（２）無彩色の文字部、の２状態を合体して１つの状態（１’）文字部に縮退させる。これにより、以下の２状態となる。
（１’）文字部
（３’）非文字部
今度は、データ“２”を“３”に置き換えることで、上記状態の縮退を行なう。状態縮退後のデータは図２０（ｄ）に示すデータに変わる。このデータは図１９（ｄ）のデータと同じである。これをＰａｃｋｂｉｔｓ符号化した符号化データ図２０（ｅ）は当然図１９（ｅ）と同じ符号化データになる。
【０１２８】
状態数を１つずつ減らした場合、再符号化前の１５バイトのデータが１回目の再符号化で１１バイトに減少し、２回目の再符号化でやっと６バイトに減少する。このように細かく変化して減少する符号量を得ることが出来るので、目標符号量に近い像域フラグの圧縮データを得ることができる。
【０１２９】
上述したように像域フラグデータの可逆符号化処理は、画像データの圧縮符号化処理とは独立に制御され、それぞれに目標符号量以内のデータに収められる。
符号化された２種類のデータは、外部に接続されるネットワーク機器、画像出力装置や大容量記憶装置等へ出力する際に多重化する。該多重化を考慮して、前記２種類のデータを符号化処理する単位を、前述したように同じサイズに合わせておき、１単位を符号化して生成される符号化データを１つのパケットあるいはファイルとして管理・格納する。多重化する際に、画像位置が同じ２種類のパケットデータを、例えば画像データ・像域データの順に連結して、１パケット化し、外部へ出力する。
【０１３０】
＜第４の例（第２の例に像域情報の圧縮機能を追加した例）＞
前記例２に対して、画像データの符号化処理と並列に像域情報の可逆符号化も行ない、該可逆符号も格納するようにしたものが図２１に画像処理装置である。同図は図２に示した基本構成に像域情報の処理系を追加したもので、以下で説明を行なう。但し、同図には図２及び図１７で用いた機能ブロックを使用しており、該ブロックには同一番号を付し説明を省略する。
【０１３１】
図２１の画像処理装置では、図２の構成における画像データの圧縮符号化処理と同じように、２つの符号化部で情報エントロピーの異なる２種類の像域情報を可逆符号化する。該２つの符号化部とは第１の可逆符号化部１７０５と第２の可逆符号化部２１０６である。ここで追加する第２の可逆変換部２１０６では、第１の可逆符号化部よりもエントロピーの下げた像域情報を符号化する。
【０１３２】
その他の追加ブロックは、上記第２の可逆変換部２１０６が出力する符号量をカウントする第６のカウンタ２１０８のみである。
【０１３３】
図２１において、画像データを圧縮符号化するブロックと像域情報を可逆符号化するブロックとは以下のような対応関係がある。
（１）第１、第２の符号化部と第１、第２の可逆符号化部
（２）第１、第２、第３のカウンタと第４、第６、第５のカウンタ
（３）再符号化部と可逆符号再符号化部
（４）符号化シーケンス制御部と可逆符号化制御部
上記各項目の前者のブロックを用いて画像データを圧縮符号化し、後者のブロックを用いて像域情報を可逆符号化する。２つの符号化処理は、ほとんど同じ方法で独立に制御され、各々のデータを目標符号量以下に圧縮する。
【０１３４】
画像データは量子化ステップの変更により段階的に符号量を減らしていくが、像域情報の方は、可逆符号化前の像域情報のフラグデータの状態数を減少させてエントロピーを下げることで、可逆符号化後の符号量を減らしていく。
【０１３５】
初期状態では、第１の可逆符号化部１７０５は画素毎の全像域情報を符号化するが、第２の可逆符号化部２１０６は該像域情報のフラグデータの状態数を前述した像域情報変換処理によって減らしてから可逆符号化を行なう。
【０１３６】
第１の可逆符号化部から出力した符号量が目標値をオーバーした（もしくは目標値に達した）ところで、第１のメモリ１０４に格納していた可逆符号を廃棄して、第２のメモリ１０６に格納していた可逆符号を第１のメモリに転送し、前記第２の可逆符号化部で行なっていた像域情報変換処理を第１の可逆符号化で引き継いで、前記第１のメモリに転送した可逆符号の後に符号化データを格納する。
【０１３７】
第２の可逆符号化部では、これまでよりもさらに前記フラグデータの状態数を減らすような像域情報変換処理を行ない、それを可逆符号化する。そうすることで、第１の可逆符号化部より、符号量が少ない可逆符号を生成して第２のメモリに格納する。
【０１３８】
すでに第２の可逆符号化部で符号化済みの第２のメモリ内の可逆符号、すなわち第１のメモリにも転送した可逆符号は、可逆符号再符号化部１７１１にて復号化し、第２の可逆符号化部で行なう像域情報変換処理と同じ状態数となるように可逆符号再符号化部にて像域情報変換処理し、再び可逆符号化して、第２のメモリに書き戻す。このように、図２１に示す構成においても、画像データの圧縮符号化処理と同様の方法で、像域情報の符号化処理を行ない、該符号量を制御することが出来る。
【０１３９】
よって、上述した処理のフローチャートは、図１２に示す画像データを圧縮符号化処理するフローチャートの一部の表現を変えるだけで、そのまま用いることが出来る。変える部分は図８のフローチャートから図１８のフローチャートの変更と同様、以下の３点である。
（１）符号化処理  →  可逆符号化処理
（２）量子化ステップ変更  →  像域情報変換処理の変更
（３）再符号化処理  →  可逆符号再符号化処理
上記３点の表現を変えたフローチャートを図２２に示す。ステップＳ２１０３、Ｓ２１０９、Ｓ２１１１、Ｓ２１１３の４つの処理内容が上記のように変わる。
【０１４０】
画像データの圧縮符号化処理と像域情報の符号化処理は並列に行ない、且つ独立に制御するので、図２１に示す画像処理装置は、図１２と図２２の２つのフローチャートによって処理フローを規定することが出来る。
【０１４１】
＜第１の実施形態＞
以上本発明の実施形態の前提となる例を説明した。本第１の実施形態では、上記第３の例、第４の例に対して、先に示した解決すべき課題を克服するための構成と制御方法を提供する。説明を簡単なものとするため、ここで、図２１の構成（第４の例）に対するものとして説明する。ただし、第３の例に適用できるのは、当業者であれば、以下の説明からすれば容易に想到し得よう。
【０１４２】
図２１では、画像データ及び像域情報の各々の符号量が、各々の設定符号量以下になるよう、符号化シーケンス制御部と可逆符号化制御部で各々独立に符号量を制御していた。そのため、各々の制御を確実に行なえば、トータルの符号量も２つの設定符号量の和以内に確実に収まる。
【０１４３】
ただし、一方の符号量が大幅に少ないとき、全体の符号量としては過剰圧縮の状態となる。一方の符号量が設定符号量より確実に少なくなる時、その残りの符号格納メモリを有効に利用するには、２つの符号量を見て、総合的に制御する必要がある。
【０１４４】
そのため、本第１の実施形態では、図２３に示すように、非可逆符号化した符号量と可逆符号化した両方の符号量を符号化シーケンス制御部２０９へ入力する。
【０１４５】
本第１の実施形態の符号化処理フローは、前記図１２に示したフローチャートの一部（Ｓ３０５，Ｓ３０７，Ｓ３０９，Ｓ３１７）を図２４のフローチャートに置き換えたものとなる。但し、ステップＳ３０３とＳ３１１の符号化処理は、可逆符号化と非可逆符号化の両方を並列に行なうものとする。
【０１４６】
ステップＳ２４０１にて入力された画像情報を符号化した２種類の符号量（第１の符号化部２０２での符号量、第１の可逆符号化部１７０５による符号量）の総和Ｗを計算する。
【０１４７】
ステップＳ２４０３にて前記総和Ｗを全符号量の上限として設定された設定符号量Ｔと比較する。
【０１４８】
ステップＳ２４０５にて非可逆符号量（画像データの符号量）を前記総和で割って全符号量に対する非可逆符号量の割合Ｒを求める。次いで、ステップＳ２４０７にて該割合を設定符号比率Ｐと比較する。設定符号比率Ｐとは全符号量に対する非可逆符号量の比率の基準値となる閾値である。
【０１４９】
２種類の符号で符号格納メモリを有効に利用するために、ステップＳ２４０１にて該２種類の符号の総和Ｗを計算し、該総和Ｗが設定符号量Ｔを越えていないかどうかをステップＳ２４０３で検出する。どちらか一方の符号量が対応する設定符号量を超えていても、総和Ｗが設定符号量Ｔを超えなければ、そのままの状態で符号化処理を継続する。よって、Ｗ＞Ｔでなければ、Ｓ２４０５〜Ｓ２４１５をパスしてＳ２４１７へ進み、次のブロックの符号化処理を行なう。
【０１５０】
しかし、総和Ｗが設定符号量Ｔを超えた場合、少なくとも一方の符号を再符号化処理しなければ、全体の符号量が設定符号量Ｔ以内に収まらない。そこで、どちらの符号を再符号化処理するのかを決めるために、ステップＳ２４０５にて全符号量に対する非可逆符号量の割合Ｒを計算し、ステップＳ２４０７にて該割合Ｒを設定符号比率Ｐと比較する。
【０１５１】
該割合Ｒが設定符号比率Ｐより大きい場合、非可逆符号（ＪＰＥＧ）の符号量が基準よりも多いことになるので、ステップＳ２４０９へ移り、非可逆符号の再符号化処理を起動するよう制御する。逆の場合にはステップＳ２４１１へ移り、可逆符号（Ｐａｃｋｂｉｔｓ）の再符号化処理を起動するよう制御する。
【０１５２】
いずれの場合も、再符号化処理後の符号と同じ圧縮率（設定）の符号へと未圧縮画像情報を符号化するため、ステップＳ２４１３またはステップＳ２４１５にて、対応する符号化部の圧縮条件等を更新した後、図１２におけるＳ３１１の符号化処理とＳ３１３の再符号化処理等から成るループ処理に移る。上記各種判定処理は符号化シーケンス制御部２０９にて行ない、ここから、４つの符号化部と２つのメモリ制御部の制御を行なう。
【０１５３】
以上説明したように、２種類の符号を各々独立に再符号化処理するのではなく、設定した比率よりも符号量の多い方を、全符号量Ｗが設定符号量Ｔを超えた時点で再符号化処理することにより、再符号化処理の回数を減らして、符号格納メモリを有効に利用することができるようになる。
【０１５４】
前記設定符号比率Ｐは、全符号量に対する非可逆符号量の割合でなくてもよく、全符号量に対する可逆符号量の割合であってもよい。  また、ステップＳ２４０５で計算する値は全符号量Ｗに対する非可逆符号量の割合でなくてもよく、非可逆符号量を設定符号量Ｔで割った値でもよい。
【０１５５】
この値は非可逆符号量の符号格納メモリに対する占有率を表わすことになるが、全符号量Ｗが設定符号量Ｔを超えた直後の両者の値はだいたい同じ値と見なせるので、どちらを使っても大した違いは無い。設定符号量Ｔを用いる場合はあらかじめ逆数を求めておき、それを乗算すれば演算速度の面でも有利である。
【０１５６】
また、ステップＳ２４０７で比較するものは２種類の符号量の比率、例えば可逆符号量÷非可逆符号量であってもよい。この場合、設定符号比率もそれに対応した値になっていれば問題ない。
【０１５７】
さらに、前記オーバーフロー検出時の非可逆符号量の割合Ｒが設定符号比率Ｐとあまり差がない場合、両方の符号を同時に再符号化するのも１つの方法である。これを実現するには、両者の差の絶対値を求め、それが設定した閾値と比較して小さいことを検出するステップを追加すればよい。
【０１５８】
要するに、本実施形態の技術思想からすれば、可逆符号量と非可逆符号量の相関関係が、予め設定された好適な相関関係（バランス）に近づくよう、圧縮符号化する対象を決定すればよい。
【０１５９】
また、図１７の構成においても、非可逆符号化した符号量（第１のカウンタの出力）と可逆符号化した符号量（第４のカウンタの出力）両方の符号量を符号化シーケンス制御部１０８へ入力し、上述の説明と同様の制御を行なうことで、符号格納メモリの有効利用が可能となる。
【０１６０】
図１７の構成より図２１の構成の方が複雑だが、これまで説明してきたように、図１７の構成と図２１の構成は極めて関連性が高く、図１７において可能な制御方法は、基本的に図２１においても可能であることは当業者であれば容易に類推できると思われる。次の実施形態からは、図１７の構成に限定して説明を行なうこととする。
【０１６１】
以上の第１の実施形態は、主として、第４の例（図２１）をベースにして説明したが、第３の例をそのベースにしても構わない。第３の例をベースにするであれば、その構成は次に示す態様となるであろう。すなわち、
画像データ及び当該画像データの像域情報を圧縮符号化する画像処理方法であって、
圧縮パラメータが変更可能な画像データ用の第１の非可逆圧縮符号化工程と、
圧縮パラメータが変更可能なであって、前記第１の非可逆圧縮符号化工程よりも高い圧縮率となる圧縮パラメータで圧縮符号化する画像データ用の第２の非可逆圧縮符号化工程と、
前記第２の非可逆圧縮符号化工程で圧縮した符号データを復号し、再符号化する画像データ用の第３の非可逆圧縮符号化工程と、
圧縮パラメータが変更可能な像域情報用の第１の可逆圧縮符号化工程と、
圧縮パラメータが変更可能なであって、前記第１の可逆圧縮符号化工程よりも高い圧縮率となる圧縮パラメータで圧縮符号化する像域情報用の第２の可逆圧縮符号化工程と、
前記第２の可逆圧縮符号化工程で圧縮した符号データを復号し、再符号化する像域情報用の第３の可逆圧縮符号化工程と、
前記第１の非可逆圧縮符号化工程、及び、前記第１の可逆圧縮工程により圧縮符号化している最中の、それぞれにより生成される符号量の合算符号量が所定量に達したか否かを判断する符号量監視工程と、
該符号化量監視工程により、前記合算符号量が前記所定量に達したと判断された場合、前記第１の非可逆圧縮工程による符号量と、前記第１の可逆圧縮工程による符号量の相関関係に基づいて、圧縮パラメータを変更する対象となる情報を決定する決定工程と、
該決定工程で決定された内容で、前記第１乃至第３の非可逆圧縮工程、及び、前記第１乃至第３の可逆圧縮工程を制御する制御工程とを備え、
当該制御工程は、
前記決定工程によって圧縮パラメータを変更する対象が画像データであると決定された場合、
前記第１、第２の非可逆圧縮符号化工程の圧縮パラメータを更新し、
前記第１の非可逆圧縮符号化工程に対し、前記第２の非可逆圧縮符号化工程を継承して圧縮処理を継続させ、
前記第３の非可逆圧縮符号化工程に対しては前記所定量に達したと判断される以前の前記第２の非可逆圧縮符号化工程で圧縮符号化された画像データを再符号化させ、
前記決定工程によって、圧縮パラメータを変更する対象が像域情報であると決定された場合、
前記第１、第２の可逆圧縮符号化工程の圧縮パラメータを更新し、
前記第１の可逆圧縮符号化工程に対し、前記第２の可逆圧縮符号化工程を継承して圧縮処理を継続させ、
前記第３の可逆圧縮符号化工程に対しては前記所定量に達したと判断される以前の前記第２の可逆圧縮符号化工程で圧縮符号化された像域情報を再符号化させる
ことを特徴とする画像処理方法。
【０１６２】
＜第２の実施形態＞
前記第１の実施形態は、再符号化処理が極めて高速、すなわち、どの設定に対する再符号化処理においても、全符号量Ｗが次に設定符号量Ｔを超える（Ｗ＞Ｔ）までに再符号化処理が必ず終了するといった場合には大変有効な制御方法である。
【０１６３】
しかし、再符号化処理後の符号量がほとんど減少しないといったことも、当然有り得る。この場合、次のオーバーフローまでの時間が大変短くなり、制限時間内で再符号化処理を終了させることが困難となる場合が有り得る。
【０１６４】
本第２の実施形態ではかかる問題を解決する例を示す。説明を簡単なものとするため、今度は、図１７の構成を基礎にし、前記第１の実施形態のごとく格納メモリの有効利用を図りつつ、全符号量Ｗが次に設定符号量Ｔを超える（Ｗ＞Ｔ）までに再符号化処理が必ず終了ような、制御方法を実現する例を説明する。
【０１６５】
図１７の構成に、本第２の実施形態を適用した場合の構成は、前述したように、非可逆符号化した符号量（第１のカウンタの出力）と可逆符号化した符号量（第４のカウンタの出力）両方の符号量を符号化シーケンス制御部１０８へ入力したものとなる。ブロック構成図を示すのであれば図２５のようになる。
【０１６６】
図２６のフローチャートは、元々は図１の構成の処理フローを表わすフローチャートである図２の構成の処理フローを表わすフローチャートである図１２において、ステップＳ３０７の前又は後に挿入して実行するものである。
【０１６７】
以下、簡単に図２６の処理フローについて説明する。ステップＳ３０５（図３又は図１２）にて符号量が設定値オーバーを起こすと検出したら、以前よりも高い圧縮率が得られる符号化設定条件を設定候補として定める（Ｓ２６０１）。該設定候補で再符号化した時の符号量を見積もる（Ｓ２６０３）と共に、その時のメモリ空き容量と設定候補での予測発生符号量からオーバーフローまでの最短時間を推定する（Ｓ２６０５）。一方、再符号化する符号のシンボル数等の統計量に基づき再符号化時間を推定する（Ｓ２６０７）。前記推定最短時間に対して、推定再符号化時間が長い場合（Ｓ２６０９）、符号量が設定値をオーバーする以前に実際の再符号化処理が終了する保証が無いため、前記設定候補をさらに１段階更新して、より圧縮率の高い符号化設定条件を設定候補とする（Ｓ２６０１）。圧縮率が高くなればなるほど、再符号化処理後の符号量も大きく減少するため、前記最短時間が長くなるので、ある符号化設定条件に達すると、推定最短時間≧推定再符号化時間という関係が成り立ち、符号量が設定値をオーバーする以前に実際の再符号化処理が終了する保証が得られる。
【０１６８】
ある時点における再符号化処理後の符号化データと入力データを符号化処理した符号化データは、画質が均一となるよう、同じ符号化設定条件になるよう制御しているので、前記符号化設定条件とは再符号化設定条件とも言うことができる。
【０１６９】
「（推定）最短時間≧（推定）再符号化時間」という関係が成り立ったら（Ｓ２６０９）設定候補を反映すべく、図３又は図１２のステップＳ３０７（第１メモリの符号化データの廃棄）へ戻り、その後の量子化ステップ変更処理Ｓ３０９にて、該設定候補を量子化ステップとして設定する。
【０１７０】
本実施形態における制御フローの基本的な考え方を上述の処理フローを利用して説明すると、上述した図２６の処理フローを図２４の処理フローと統合することにより両者の特徴を出す。すなわち、前記第１の実施形態のごとく格納メモリの有効利用を図りつつ、全符号量Ｗが次に設定符号量Ｔを超える（Ｗ＞Ｔ）までに再符号化処理が必ず終了ような、制御方法を実現するものである。統合した処理フローを図２７に示す。以下、図２７の処理フローを具体的な例を示しながら説明する。
【０１７１】
符号化開始時の量子化ステップ設定レベルをＱ１（ＪＰＥＧ）、像域情報変換設定レベルをＭ１（Ｐａｃｋｂｉｔｓ）とし、各々設定レベルを表わす数字が大きくなるにつれて圧縮率が高くなるものとする。
【０１７２】
おおまかな処理の流れは図２４に近く、図２４と同様、ステップＳ３０３（図１２）の符号化処理に続く処理を示したものである。まず、ステップＳ２４０１にて非可逆と可逆符号２種類の符号（図２５における第１のカウンタ１０７の出力と第４のカウンタ１７０７の出力）の総和Ｗを計算し、該総和Ｗが設定符号量Ｔを越えていないかどうかをステップＳ２４０３で検出する。総和Ｗが設定符号量Ｔを超えた場合、少なくとも一方の符号を再符号化処理する必要がある。そこで、どちらの符号を再符号化処理するのかを決めるために、ステップＳ２４０５にて全符号量に対する非可逆符号量の割合Ｒを計算し、ステップＳ２４０７にて該割合Ｒを設定符号比率Ｐと比較する。
【０１７３】
説明を簡単なものとするため、最初の比較結果は、該割合Ｒが設定符号比率Ｐより大きかったと仮定する。これは、非可逆符号量（ＪＰＥＧ）が基準よりも多いことになるので、ステップＳ２７０１へ移り、量子化ステップ設定候補をＱ２とする。ステップＳ２６０３にて該Ｑ２という設定で再符号化処理した時の非可逆符号量を予測計算し、ステップＳ２６０５にてオーバーフローまでの最短時間を推定する。そして、ステップＳ２６０７にて再符号化処理時間を推定して、ステップＳ２６０９にて再符号化処理が間に合うかどうか判定する。再符号化処理が間に合わない、すなわち、再符号化時間＞最短時間という関係になったら、より高い圧縮率で再符号化処理する必要があるため、ステップＳ２４０５に戻り、前記Ｑ２という設定で再符号化する場合の予測符号量に基づき、新たな非可逆符号量の割合Ｒを計算する。
【０１７４】
該割合Ｒが、また設定符号量比率Ｐより大きかったとすると、さらに量子化ステップ設定候補を１段階進めＱ３とする（Ｓ２７０１）。該Ｑ３という設定で前述と同様、非可逆符号量の予測（Ｓ２６０３）、オーバーフローまでの最短時間の推定（Ｓ２６０５）、再符号化処理時間の推定（Ｓ２６０７）をおこない、再符号化処理が間に合うかどうか判定（Ｓ２６０９）する。
【０１７５】
ここで、また間に合わないという判定結果が出ると、ステップＳ２４０５に戻り、量子化ステップＱ３に対応する非可逆符号量の割合Ｒを計算し（Ｓ２４０５）、設定符号量比率Ｐと比較する（Ｓ２４０７）。今度は前記設定比率Ｐに対して非可逆符号量の割合Ｒの方が少なかったとする。ここで初めてステップＳ２７０３に進み、像域情報変換設定候補をＭ１からＭ２へと更新する。
【０１７６】
この新たな設定候補に対して、今度は可逆符号量（Ｐａｃｋｂｉｔｓ）の予測（Ｓ２６０３）、オーバーフローまでの最短時間の推定（Ｓ２６０５）、再符号化処理時間の推定（Ｓ２６０７）をおこない、再符号化処理が間に合うかどうか判定（Ｓ２６０９）する。ここで、再符号化処理が間に合うと判定されたとすると、上記設定候補Ｑ３，Ｍ２が最終的な新たな圧縮設定条件となり、図１２のステップＳ１２０１へ処理が引き継がれる。
【０１７７】
以上、説明したように、再符号化処理時間がオーバーフローまでの最短時間を超えなくなるまで、非可逆符号あるいは可逆符号の圧縮設定条件を段階的に高めていくことにより、格納メモリの有効利用を図りつつ、全符号量Ｗが次に設定符号量Ｔを超える（Ｗ＞Ｔ）までに再符号化処理が必ず終了ような、制御方法を実現することが出来る。
【０１７８】
＜第３の実施形態＞
前記第２の実施形態は、非可逆符号あるいは可逆符号の圧縮設定条件を段階的に高めていくため、説明として分かり易い。ところが、第２の実施形態によっても過剰圧縮となるような圧縮設定条件になる場合がある。具体的には、上記説明ではＱ３，Ｍ２が最終的な圧縮設定条件となったが、それよりも画質劣化が少ない設定Ｑ２，Ｍ２でも再符号化処理時間がオーバーフローまでの最短時間を超えないことも有り得る。すなわち、この設定を飛ばしてしまうことが起こりうるという点で改善の余地がある。本第３の実施形態はこれを改善する。
【０１７９】
本第３の実施形態は、明らかに除外できる場合を除いて、２種類の符号の圧縮設定候補の組み合わせをくまなく探索する。すなわち、圧縮設定条件を更新する対象となる符号が変化した時、未確認の圧縮設定候補に対して、再符号化処理時間がオーバーフローまでの最短時間を超えないかどうかを判定する。
【０１８０】
具体的には、前記第２の実施形態の説明において、可逆符号の圧縮設定候補をＭ１からＭ２に更新する際、そのときの非可逆圧縮条件Ｑ３をＱ１に戻して、（Ｑ１，Ｍ２）、（Ｑ２，Ｍ２），（Ｑ３，Ｍ２）といった順序で、再符号化処理時間が間に合うかどうか判定する。
【０１８１】
その次も、可逆符号の圧縮設定候補をＭ２からＭ３に更新する場合、同様にＱ３をＱ１に戻して、（Ｑ１，Ｍ３）、（Ｑ２，Ｍ３），（Ｑ３，Ｍ３）といった順序で、再符号化処理時間が間に合うかどうか判定する。さらに、可逆符号の圧縮設定候補をＭ３からＭ４に更新する場合、Ｑ３をＱ１に戻して、（Ｑ１，Ｍ４）、（Ｑ２，Ｍ４），（Ｑ３，Ｍ４）といった順序で、再符号化処理時間が間に合うかどうか判定する。この後に、非可逆符号の圧縮設定候補をＱ３からＱ４に更新する場合、Ｍ４をＭ１に戻して、（Ｑ４，Ｍ１）、（Ｑ４，Ｍ２），（Ｑ４，Ｍ３）），（Ｑ４，Ｍ４）といった順序で、再符号化処理時間が間に合うかどうか判定する。
【０１８２】
多少処理が増加するが、画質劣化を抑えるため必要以上に圧縮しないようにするためには、必要となる処理である。処理をあまり増やさないようにする方法として、次のようなバリエーションも考えられる。
【０１８３】
上記説明では、可逆圧縮条件Ｍｎが決定された場合、ＱｎをＱ１に戻していたが、これをＱｎからＱ（（ｎ＋１）／２）、具体的には、Ｑ３からＱ２に戻すようにすれば、戻り量が半分になるので、処理量も半分くらいに減る。また、ｎが小さい時の有効な戻り量を、ｎが大きくなった時の戻り量に反映させるといった方法も考えることができる。このように、２種類の圧縮設定候補を探索する範囲はいろいろ調整できる。
【０１８４】
上記圧縮設定の中から、例えば（Ｑ４，Ｍ２）が候補として残り、この設定に対して符号化処理と再符号化処理が行なわれ、再符号化前の符号は消滅し該設定の符号が生成されたとする。この設定で画像を最後まで符号化処理しても２種類の符号量の和Ｗがオーバーフローしなければ（設定符号量Ｔを超えなければ）、該設定が画像に対する最終的な圧縮設定条件となる。Ｗがオーバーフローを起こす場合、図２７におけるステップＳ２４０７でそれを検出し、また新たな圧縮設定候補の探索を行なう。再符号化処理の対象となる符号の圧縮設定条件が（Ｑ４，Ｍ２）である時、それよりも圧縮率の低い設定であるＱ１，Ｑ２，Ｑ３，Ｍ１を探索する意味がない、再符号化処理によって無くなった情報を戻すことが出来ないためである。よって、上述の説明で“ＱｎをＱ１に戻す”という処理は“ＱｎをＱ４に戻す”という処理に替わる。言い方を変えると、再符号化処理の対象となる符号の圧縮設定条件まで戻すと言える。
【０１８５】
初期状態（Ｑ１，Ｍ１）での探索範囲と上記説明の探索例を図２８（ａ）に、圧縮設定候補が（Ｑ２，Ｍ４）に確定した次の探索範囲と探索例を図２８（ｂ）に示す。
【０１８６】
上記各実施形態では、イメージスキャナから画像を読み取る装置を例にし、その装置の機能動作について説明した。そして、その機能のほとんど（符号化処理も含む）は、上述した様にコンピュータプログラムによっても実現できる。
【０１８７】
従って、本発明はパーソナルコンピュータ等の汎用情報処理装置上で動作するアプリケーションプログラムに適用しても構わない。アプリケーションプログラムに適用する場合には、圧縮元となる画像ファイルをユーザに指定させると共に、目標サイズをユーザに選択させる等のＧＵＩを設ければ良いであろう。このときの目標値は、ユーザーが任意に設定できるものとするが、数値での設定はわかりずらいので、原稿サイズと画質（高中低等）を加味した直感的に分かりやすいメニューから選択させることで、決定するようにすれば良いであろう。
【０１８８】
また、上記の通り、本発明は、汎用装置上で動作するアプリケーションプログラムによって実現できるものであるので、本発明はコンピュータプログラムをも含むものである。また、コンピュータプログラムは、通常、フロッピー（登録商標）ディスクやＣＤＲＯＭ等の記憶媒体を装置にセットしてコピー或いはインストールことで行われるので、かかる記憶媒体も本発明の範疇に当然に含まれる。
【０１８９】
また、実施形態では、スキャナから画像データを入力するものとして説明したが、ホストコンピュータ上で動作するプリンタドライバに適用しても良い。プリンタドライバに適用する場合には、上位処理（アプリケーション等）から印刷対象のデータを受信したときに、その時点で、そのデータが中間調画像か、文字・線画かは勿論は判別できるので、像域情報生成処理にかかる構成を省くか、或いはより簡素なものとすることができる。
【０１９０】
また、本発明は、コンピュータプログラムと適当なハードウェア（符号化回路等）の組み合わせにも適用できる。
【０１９１】
以上説明したように本実施形態によれば、画像データを非可逆圧縮する非可逆符号化手段と、該符号化手段により得られる符号化データを圧縮率が高くなるように再符号化する手段と、
像域情報を可逆圧縮する可逆符号化手段と、該可逆符号化手段より得られる可逆符号化データを、像域情報のエントロピーが低下するように該像域情報を書き換えて可逆圧縮した符号化データへと変換する可逆符号再符号化手段と、
前記２種類の符号化データを格納することが可能な所定容量の格納手段とを有し、
各符号のデータ量、再符号化後の推定符号量、トータルの符号量のオーバーフローまでの推定最短時間、及び、再符号化処理時間などに基づいて次に再符号化すべき符号化データと圧縮設定条件を探索することにより、画像データと像域情報を符号化した２種類の符号を合わせて目標値以内の符号量に収めるような圧縮が可能になった。
【０１９２】
以上本発明に係る実施形態を説明したが、当業者であれば本発明の趣旨と範囲は本明細書の特定の説明と図に限定されるものではなく、本願特許請求の範囲に全て述べられた様々な修正と変更に及ぶことが理解されるであろう。
【０１９３】
図２５をその基礎にするのであれば、本発明の実施態様は次のようになるであろう。
【０１９４】
［実施態様１］  画像データ及び当該画像データの像域情報を圧縮符号化する画像処理方法であって、
圧縮パラメータが変更可能な画像データ用の第１の非可逆圧縮工程と、
圧縮パラメータが変更可能であって、前記第１の非可逆圧縮工程で圧縮された符号を復号し、再非可逆圧縮を行う画像データ用の第２の非可逆圧縮工程と、
圧縮パラメータが変更可能な像域情報用の第１の可逆圧縮工程と、
圧縮パラメータが変更可能であって、前記第１の可逆圧縮工程で圧縮された符号を復号し、復号して得た像域情報の特定の像域値を前記圧縮パラメータに従って他の像域値に変換し、再可逆圧縮を行う像域情報用の第２の可逆圧縮工程と、
前記第１の非可逆圧縮工程、及び、前記第１の可逆圧縮工程により圧縮符号化している最中の、それぞれにより生成される符号量の合算符号量が所定量に達したか否かを判断する符号量監視工程と、
該符号化量監視工程により、前記合算符号量が前記所定量に達したと判断された場合、前記第１の非可逆圧縮工程による符号量と、前記第１の可逆圧縮工程による符号量の相関関係に基づいて、圧縮パラメータを変更する対象となる情報を決定する決定工程と、
該決定工程によって、圧縮パラメータを変更する対象が画像データであると決定された場合、前記第１、第２の非可逆圧縮工程の圧縮パラメータを更新し、前記所定量に達したと判断された後に入力される画像データについては前記第１の非可逆圧縮工程で圧縮させ、前記所定量に達したと判断された以前の圧縮符号化された画像データについては前記第２の非可逆圧縮工程で再非可逆圧縮を行なわせ、
前記決定工程によって、圧縮パラメータを変更する対象が像域情報であると決定された場合、前記第１、第２の可逆圧縮工程の圧縮パラメータを更新し、前記所定量に達したと判断された後に入力される像域情報については前記第１の可逆圧縮工程で圧縮させ、前記所定量に達したと判断された以前の圧縮符号化された像域情報については前記第２の可逆圧縮工程で再可逆圧縮を行なわせる制御工程と
を備えることを特徴とする画像処理方法。
【０１９５】
［実施態様２］  前記決定工程は、予め設定された画像データの符号量と像域情報の符号量の比と、前記第１の非可逆圧縮符号化工程での符号量と前記第１の可逆圧縮符号化工程での符号量の比に基づき、圧縮パラメータを更新する対象を決定することを特徴とする実施態様１の画像処理方法。
【０１９６】
［実施態様３］  前記決定工程は、
予め設定された画像データの符号量と像域情報の符号量の比と、前記第１の非可逆圧縮符号化工程での符号量と前記第１の可逆圧縮符号化工程での符号量の比に基づき、圧縮パラメータを更新する対象と圧縮パラメータを仮決定する第１の工程と、
該第１の工程で、仮決定された圧縮パラメータの更新対象及び圧縮パラメータでもって再圧縮させた場合に要する再圧縮予測時間と、前記設定量に再び到達する予測到達時間とを演算する第２の工程と、
該第２の工程によって、
再圧縮予測時間＜予測到達時間
の条件を満たす場合、前記仮決定した圧縮パラメータ変更対象及び圧縮パラメータを最終決定とする第３の工程と、
前記条件が満たされない場合、前記仮決定で圧縮符号化させたと仮定した際の前記画像データの推定符号量及び前記像域情報の推定符号量を、前記第１の工程における画像データの符号量及び前記像域情報の符号量として前記第１乃至第３の工程を繰り返させる第４の工程と
を含むことを特徴とする実施態様１の画像処理方法。
【０１９７】
［実施態様４］  前記第１の工程は、圧縮パラメータを更新する対象と圧縮パラメータを決定した場合、もう一方の対象となる情報の圧縮パラメータについては低い圧縮率となる圧縮パラメータで仮決定することを特徴とする実施態様３の画像処理方法。
【０１９８】
なお、上記は方法についての態様であるが、装置発明とした場合、上記各工程に相当する機能を実現する手段として表現すればよいし、コンピュータプログラムで実現する場合には各手段として機能する構成となれば良い。更にコンピュータ可読記憶媒体としての態様は、コンピュータプログラムを格納することを明確にすれば良いであろう。
【０１９９】
また、図２３をその基礎にするのであれば、次のようになるであろう。
【０２００】
［実施態様５］  画像データ及び当該画像データの像域情報を圧縮符号化する画像処理方法であって、
圧縮パラメータが変更可能な画像データ用の第１の非可逆圧縮符号化工程と、
圧縮パラメータが変更可能なであって、前記第１の非可逆圧縮符号化工程よりも高い圧縮率となる圧縮パラメータで圧縮符号化する画像データ用の第２の非可逆圧縮符号化工程と、
前記第２の非可逆圧縮符号化工程で圧縮した符号データを復号し、再符号化する画像データ用の第３の非可逆圧縮符号化工程と、
圧縮パラメータが変更可能な像域情報用の第１の可逆圧縮符号化工程と、
圧縮パラメータが変更可能なであって、前記第１の可逆圧縮符号化工程よりも高い圧縮率となる圧縮パラメータで圧縮符号化する像域情報用の第２の可逆圧縮符号化工程と、
前記第２の可逆圧縮符号化工程で圧縮した符号データを復号し、再符号化する像域情報用の第３の可逆圧縮符号化工程と、
前記第１の非可逆圧縮符号化工程、及び、前記第１の可逆圧縮工程により圧縮符号化している最中の、それぞれにより生成される符号量の合算符号量が所定量に達したか否かを判断する符号量監視工程と、
該符号化量監視工程により、前記合算符号量が前記所定量に達したと判断された場合、前記第１の非可逆圧縮工程による符号量と、前記第１の可逆圧縮工程による符号量の相関関係に基づいて、圧縮パラメータを変更する対象となる情報を決定する決定工程と、
該決定工程で決定された内容で、前記第１乃至第３の非可逆圧縮工程、及び、前記第１乃至第３の可逆圧縮工程を制御する制御工程とを備え、
当該制御工程は、
前記決定工程によって圧縮パラメータを変更する対象が画像データであると決定された場合、
前記第１、第２の非可逆圧縮符号化工程の圧縮パラメータを更新し、
前記第１の非可逆圧縮符号化工程に対し、前記第２の非可逆圧縮符号化工程を継承して圧縮処理を継続させ、
前記第３の非可逆圧縮符号化工程に対しては前記所定量に達したと判断される以前の前記第２の非可逆圧縮符号化工程で圧縮符号化された画像データを再符号化させ、
前記決定工程によって、圧縮パラメータを変更する対象が像域情報であると決定された場合、
前記第１、第２の可逆圧縮符号化工程の圧縮パラメータを更新し、
前記第１の可逆圧縮符号化工程に対し、前記第２の可逆圧縮符号化工程を継承して圧縮処理を継続させ、
前記第３の可逆圧縮符号化工程に対しては前記所定量に達したと判断される以前の前記第２の可逆圧縮符号化工程で圧縮符号化された像域情報を再符号化させる
ことを特徴とする画像処理方法。
【０２０１】
なお、この実施態様５についても、先に示した実施態様２乃至４が同様に好適な例をして盛り込むことができるであろうし、装置、コンピュータプログラム並びにコンピュータ可読記憶媒体としても実現できるのは勿論である。
【０２０２】
【発明の効果】
以上説明したように本発明によれば、画像データ及び像域情報の入力しながら圧縮符号化を行っている最中に、その総符号量が設定量に達してしまった場合であっても、画像データ及び像域情報の入力を継続させつつ、画質劣化を最小限にし、設定量に近い符号量になるよう制御することが可能となる。
【図面の簡単な説明】
【図１】本発明の前提である第１の例における画像処理装置のブロック構成図である。
【図２】第２の例における画像処理装置のブロック構成図である。
【図３】図１の構成における処理を簡略化して示したフローチャートである。
【図４】初期状態の符号化フェーズにおけるデータフローとメモリ内容を表わす図である。
【図５】符号化・再符号化フェーズにおけるデータフローとメモリ内容を表わす図である。
【図６】転送フェーズにおけるデータフローとメモリ内容を表わす図である。
【図７】転送フェーズ後の符号化フェーズにおけるデータフローとメモリ内容を表わす図である。
【図８】図１の構成における処理の詳細を示すフローチャートである。
【図９】図１の構成の変形例における符号化・再符号化フェーズにおけるデータフローとメモリ内容を表わす図である。
【図１０】図９の変形例における転送フェーズにおけるデータフローとメモリ内容を表わす図である。
【図１１】図９の変形例における転送フェーズ後の符号化フェーズにおけるデータフローとメモリ内容を表わす図である。
【図１２】図２の構成における処理手順を示すフローチャートである。
【図１３】図２の構成における、初期状態の符号化フェーズにおけるデータフローとメモリ内容を表わす図である。
【図１４】図２に構成における、転送フェーズにおけるデータフローとメモリ内容を表わす図である。
【図１５】図２の構成における、符号化・再符号化フェーズにおけるデータフローとメモリ内容を表わす図である。
【図１６】図２の構成における、符号化・再符号化フェーズ後の符号化フェーズにおけるデータフローとメモリ内容を表わす図である。
【図１７】第３の例における画像処理装置のブロック構成図である。
【図１８】第３の例における処理手順を示すフローチャートである。
【図１９】Ｐａｃｋｂｉｔｓ符号化の処理内容を示す図である。
【図２０】第３の例におけるＰａｃｋｂｉｔｓ符号化の処理内容を示す図である。
【図２１】第４の例における画像処理装置のブロック構成図である。
【図２２】第４の例における処理手順を示すフローチャートである。
【図２３】第１の実施形態における画像処理装置のブロック構成図である。
【図２４】第１の実施形態における処理手順の主要部分のフローチャートである。
【図２５】第２の実施形態における画像処理装置のブロック構成図である。
【図２６】第２の実施形態における処理手順の主要部分のフローチャートである。
【図２７】第２の実施形態における処理手順の主要部分のフローチャートである。
【図２８】第３の実施形態における符号化パラメータの推移を示す図である。
【図１】
2004215093.tif 000003
【図２】
2004215093.tif 000004
【図３】
2004215093.tif 000005
【図４】
2004215093.tif 000006
【図５】
2004215093.tif 000007
【図６】
2004215093.tif 000008
【図７】
2004215093.tif 000009
【図８】
2004215093.tif 000010
【図９】
2004215093.tif 000011
【図１０】
2004215093.tif 000012
【図１１】
2004215093.tif 000013
【図１２】
2004215093.tif 000014
【図１３】
2004215093.tif 000015
【図１４】
2004215093.tif 000016
【図１５】
2004215093.tif 000017
【図１６】
2004215093.tif 000018
【図１７】
2004215093.tif 000019
【図１８】
2004215093.tif 000020
【図１９】
2004215093.tif 000021
【図２０】
2004215093.tif 000022
【図２１】
2004215093.tif 000023
【図２２】
2004215093.tif 000024
【図２３】
2004215093.tif 000025
【図２４】
2004215093.tif 000026
【図２５】
2004215093.tif 000027
【図２６】
2004215093.tif 000028
【図２７】
2004215093.tif 000029
【図２８】
2004215093.tif 000030