(57)【要約】      （修正有）【課題】一度の画像データの入力で、画像及びその像域属性情報の符号化データ量を目標量以下に符号化でき、且つ、入力される画像の性質に応じて、効率良く符号化する。【解決手段】画像入力が行われ、画像符号化部２０１で生成された符号化画像データは第１のメモリ１０４及び第２のメモリ１０６に格納される。また、属性符号化部１０９で生成された属性符号化データは第１のメモリに格納される。第１カウンタ１１０は符号化画像データ量、第２カウンタは属性符号化データ量を計数する。これら符号化データの合計量が目標量をオーバーした場合、符号化シーケンス制御部１１４は、第１のメモリ内の画像符号化データを破棄させ、画像符号化部２０１への量子化マトリクステーブルを更新し、符号化を継続させる。また、再符号化部１１２に、更新後の量子化マトリクステーブルを設定し、第２のメモリに格納された符号化データを再符号化させる。【選択図】図１
2006050096.tif 000002
【特許請求の範囲】
【請求項１】
画像データを入力し、当該画像データ及び像域情報を圧縮符号化し出力する画像符号化装置であって、
入力する画像データが、文字線画であるか、或いは階調画像であるかを設定する入力モード設定手段と、
第１のパラメータに従って画像データを圧縮符号化する画像符号化手段と、
第２のパラメータに従って前記画像符号化手段による符号化データを再符号化する再符号化手段と、
入力した画像データの像域属性情報を検出する属性検出手段と、
第３のパラメータに従って前記像域属性情報を補正する属性補正手段と、
該属性補正手段で補正された像域属性情報を圧縮符号化する属性符号化手段と、
前記入力モード設定手段で設定された入力モードにしたがい、前記第１のパラメータ、前記第３のパラメータを決定し、前記画像符号化手段及び前記補正手段それぞれに設定する初期パラメータ設定手段と、
設定されたパラメータに従って、入力中の画像データに対する前記画像符号化手段で生成される画像符号化データ量、及び、前記属性符号化手段で生成される属性符号化データ量の合計である総符号量を監視し、前記総符号量が所定値以上になったか否かを判定する監視手段と、
該監視手段で前記総符号量が所定値以上になったと判断した場合、（ａ）前記画像符号化手段に設定されていた第１のパラメータを、圧縮率の高いパラメータで更新して画像データの符号化を継続させ、（ｂ）更新後の第１のパラメータと同じ第２のパラメータを前記再符号化手段に設定して、前記総符号量が所定値以上になる以前の画像符号化データを再符号化させるパラメータ更新手段と
を備えることを特徴とする画像符号化装置。
【請求項２】
前記第３のパラメータが、前記入力モード設定手段で文字線画が設定されたことを示す場合、前記補正手段は、前記属性検出手段で検出された像域情報中の文字線画／中間調を示す情報を強制的に文字線画を示す情報で書換え、
前記前記第３のパラメータが、前記入力モード設定手段で階調画像が設定されたことを示す場合、前記補正手段は、前記属性検出手段で検出された像域情報中の文字線画／中間調を示す情報を強制的に中間調を示す情報で書換えることを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記入力モード設定手段で設定するモードにはオートモードが含まれ、
当該オートモードが設定された場合、前記補正手段は、前記属性検出手段で検出された像域情報を補正せずに通過させることを特徴とする請求項１又は２に記載の画像符号化装置。
【請求項４】
画像データを入力し、当該画像データ及び像域情報を圧縮符号化し出力する画像符号化方法であって、
入力する画像データが、文字線画であるか、或いは階調画像であるかを設定する入力モード設定工程と、
第１のパラメータに従って画像データを圧縮符号化する画像符号化工程と、
第２のパラメータに従って前記画像符号化工程による符号化データを再符号化する再符号化工程と、
入力した画像データの像域属性情報を検出する属性検出工程と、
第３のパラメータに従って前記像域属性情報を補正する属性補正工程と、
該属性補正工程で補正された像域属性情報を圧縮符号化する属性符号化工程と、
前記入力モード設定工程で設定された入力モードにしたがい、前記第１のパラメータ、前記第３のパラメータを決定し、前記画像符号化工程及び前記補正工程それぞれに設定する初期パラメータ設定工程と、
設定されたパラメータに従って、入力中の画像データに対する前記画像符号化工程で生成される画像符号化データ量、及び、前記属性符号化工程で生成される属性符号化データ量の合計である総符号量を監視し、前記総符号量が所定値以上になったか否かを判定する監視工程と、
該監視工程で前記総符号量が所定値以上になったと判断した場合、（ａ）前記画像符号化工程に設定されていた第１のパラメータを、圧縮率の高いパラメータで更新して画像データの符号化を継続させ、（ｂ）更新後の第１のパラメータと同じ第２のパラメータを前記再符号化工程に設定して、前記総符号量が所定値以上になる以前の画像符号化データを再符号化させるパラメータ更新工程と
を備えることを特徴とする画像符号化方法。
【請求項５】
コンピュータが読み込み実行することで、画像データを入力し、当該画像データ及び像域情報を圧縮符号化し出力する画像符号化装置として機能するコンピュータプログラムであって、
入力する画像データが、文字線画であるか、或いは階調画像であるかを設定する入力モード設定手段と、
第１のパラメータに従って画像データを圧縮符号化する画像符号化手段と、
第２のパラメータに従って前記画像符号化手段による符号化データを再符号化する再符号化手段と、
入力した画像データの像域属性情報を検出する属性検出手段と、
第３のパラメータに従って前記像域属性情報を補正する属性補正手段と、
該属性補正手段で補正された像域属性情報を圧縮符号化する属性符号化手段と、
前記入力モード設定手段で設定された入力モードにしたがい、前記第１のパラメータ、前記第３のパラメータを決定し、前記画像符号化手段及び前記補正手段それぞれに設定する初期パラメータ設定手段と、
設定されたパラメータに従って、入力中の画像データに対する前記画像符号化手段で生成される画像符号化データ量、及び、前記属性符号化手段で生成される属性符号化データ量の合計である総符号量を監視し、前記総符号量が所定値以上になったか否かを判定する監視手段と、
該監視手段で前記総符号量が所定値以上になったと判断した場合、（ａ）前記画像符号化手段に設定されていた第１のパラメータを、圧縮率の高いパラメータで更新して画像データの符号化を継続させ、（ｂ）更新後の第１のパラメータと同じ第２のパラメータを前記再符号化手段に設定して、前記総符号量が所定値以上になる以前の画像符号化データを再符号化させるパラメータ更新手段
として機能することを特徴とするコンピュータプログラム。
【請求項６】
請求項５に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
【請求項７】
画像データを入力し、当該画像データ及び像域情報を圧縮符号化し出力する画像符号化装置であって、
入力する画像データが、文字線画であるか、或いは階調画像であるかを設定する入力モード設定手段と、
第１のパラメータに従って入力画像データを圧縮符号化する第１の画像符号化手段と、
該第１の画像符号化手段と並行して実行し、前記第１のパラメータよりも圧縮率の高い第２のパラメータに従って入力画像データを圧縮符号化する第２の画像符号化手段と、
該第２の画像符号化手段で生成された画像符号化データを、第３のパラメータに従って再符号化する再符号化手段と、
入力した画像データの像域属性情報を検出する属性検出手段と、
第４のパラメータに従って前記像域属性情報を補正する属性補正手段と、
該属性補正手段で補正された像域属性情報を圧縮符号化する属性符号化手段と、
前記入力モード設定手段で設定された入力モードにしたがい、前記第１、２、４のパラメータを決定し、前記第１、第２の画像符号化手段及び前記補正手段それぞれに設定する初期パラメータ設定手段と、
設定されたパラメータに従って、入力中の画像データに対する前記第１の画像符号化手段で生成される画像符号化データ量、及び、前記属性符号化手段で生成される属性符号化データ量の合計である総符号量を監視し、前記総符号量が所定値以上になったか否かを判定する監視手段と、
該監視手段で前記総符号量が所定値以上になったと判断した場合、（ａ）前記第１の画像符号化手段に設定されていた第１のパラメータを前記第２のパラメータで更新し、前記第２の符号化手段に設定されていた第２のパラメータを圧縮率の高いパラメータで更新して前記第１、第２の画像符号化手段による符号化を継続させ、（ｂ）更新後の第２のパラメータを前記第３のパラメータとして前記再符号化手段に設定して、前記総符号量が所定値以上になる以前の画像符号化データを再符号化させるパラメータ更新手段と
を備えることを特徴とする画像符号化装置。
【請求項８】
前記第４のパラメータが、前記入力モード設定手段で文字線画が設定されたことを示す場合、前記補正手段は、前記属性検出手段で検出された像域情報中の文字線画／中間調を示す情報を強制的に文字線画を示す情報で書換え、
前記第４のパラメータが、前記入力モード設定手段で階調画像が設定されたことを示す場合、前記補正手段は、前記属性検出手段で検出された像域情報中の文字線画／中間調を示す情報を強制的に中間調を示す情報で書換えることを特徴とする請求項７に記載の画像符号化装置。
【請求項９】
前記入力モード設定手段で設定するモードにはオートモードが含まれ、
当該オートモードが設定された場合、前記補正手段は、前記属性検出手段で検出された像域情報を補正せずに通過させることを特徴とする請求項７又は８に記載の画像符号化装置。
【請求項１０】
画像データを入力し、当該画像データ及び像域情報を圧縮符号化し出力する画像符号化方法であって、
入力する画像データが、文字線画であるか、或いは階調画像であるかを設定する入力モード設定工程と、
第１のパラメータに従って入力画像データを圧縮符号化する第１の画像符号化工程と、
該第１の画像符号化工程と並行して実行し、前記第１のパラメータよりも圧縮率の高い第２のパラメータに従って入力画像データを圧縮符号化する第２の画像符号化工程と、
該第２の画像符号化工程で生成された画像符号化データを、第３のパラメータに従って再符号化する再符号化工程と、
入力した画像データの像域属性情報を検出する属性検出工程と、
第４のパラメータに従って前記像域属性情報を補正する属性補正工程と、
該属性補正工程で補正された像域属性情報を圧縮符号化する属性符号化工程と、
前記入力モード設定工程で設定された入力モードにしたがい、前記第１、２、４のパラメータを決定し、前記第１、第２の画像符号化工程及び前記補正工程それぞれに設定する初期パラメータ設定工程と、
設定されたパラメータに従って、入力中の画像データに対する前記第１の画像符号化工程で生成される画像符号化データ量、及び、前記属性符号化工程で生成される属性符号化データ量の合計である総符号量を監視し、前記総符号量が所定値以上になったか否かを判定する監視工程と、
該監視工程で前記総符号量が所定値以上になったと判断した場合、（ａ）前記第１の画像符号化工程に設定されていた第１のパラメータを前記第２のパラメータで更新し、前記第２の符号化工程に設定されていた第２のパラメータを圧縮率の高いパラメータで更新して前記第１、第２の画像符号化工程による符号化を継続させ、（ｂ）更新後の第２のパラメータを前記第３のパラメータとして前記再符号化工程に設定して、前記総符号量が所定値以上になる以前の画像符号化データを再符号化させるパラメータ更新工程と
を備えることを特徴とする画像符号化方法。
【請求項１１】
コンピュータが読み込み実行することで、画像データを入力し、当該画像データ及び像域情報を圧縮符号化し出力する画像符号化装置として機能するコンピュータプログラムであって、
入力する画像データが、文字線画であるか、或いは階調画像であるかを設定する入力モード設定手段と、
第１のパラメータに従って入力画像データを圧縮符号化する第１の画像符号化手段と、
該第１の画像符号化手段と並行して実行し、前記第１のパラメータよりも圧縮率の高い第２のパラメータに従って入力画像データを圧縮符号化する第２の画像符号化手段と、
該第２の画像符号化手段で生成された画像符号化データを、第３のパラメータに従って再符号化する再符号化手段と、
入力した画像データの像域属性情報を検出する属性検出手段と、
第４のパラメータに従って前記像域属性情報を補正する属性補正手段と、
該属性補正手段で補正された像域属性情報を圧縮符号化する属性符号化手段と、
前記入力モード設定手段で設定された入力モードにしたがい、前記第１、２、４のパラメータを決定し、前記第１、第２の画像符号化手段及び前記補正手段それぞれに設定する初期パラメータ設定手段と、
設定されたパラメータに従って、入力中の画像データに対する前記第１の画像符号化手段で生成される画像符号化データ量、及び、前記属性符号化手段で生成される属性符号化データ量の合計である総符号量を監視し、前記総符号量が所定値以上になったか否かを判定する監視手段と、
該監視手段で前記総符号量が所定値以上になったと判断した場合、（ａ）前記第１の画像符号化手段に設定されていた第１のパラメータを前記第２のパラメータで更新し、前記第２の符号化手段に設定されていた第２のパラメータを圧縮率の高いパラメータで更新して前記第１、第２の画像符号化手段による符号化を継続させ、（ｂ）更新後の第２のパラメータを前記第３のパラメータとして前記再符号化手段に設定して、前記総符号量が所定値以上になる以前の画像符号化データを再符号化させるパラメータ更新手段
として機能することを特徴とするコンピュータプログラム。
【請求項１２】
請求項１１に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
【請求項１３】
原稿画像を入力し、所定の記録媒体上に可視画像を形成する画像形成装置であって、
入力した原稿画像及び当該原稿画像から得られた像域情報を請求項１又は７に記載の画像符号化装置と
該画像符号化装置で生成された符号化データを蓄積する蓄積手段と、
蓄積手段で蓄積された符号化データを復号する復号手段と、
復号手段で得られた画像データを像域情報に基づいて補正し、画像形成する画像形成手段と
を備えることを特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データの圧縮符号化技術に関するものである。
【背景技術】
【０００２】
従来、静止画像データを圧縮するには、離散コサイン変換を利用した方法や、Wavelet変換を利用した方法が多く使われている。この種の符号化は、可変長符号化であるので、符号化対象の画像毎に符号量が変化する。
【０００３】
国際標準化方式であるＪＰＥＧ符号化では、画像に対して１組の量子化マトリクスしか定義できないので、プリスキャン無しには、目標とする符号量に収めることは難しい。また、限られたメモリに記憶するシステムで使用する場合においては、メモリオーバーを起こす危険性がある。
【０００４】
これを防止するために、予定した符号量よりオーバーした場合は、圧縮率パラメータを変更して、原稿の再読み込みを行なう方法や、予めプリスキャンによる符号量見積もりを行ない、符号量を調整するために、量子化パラメータの再設定を行なう方法などがとられていた。
【０００５】
上記のように、プリスキャン、本スキャンを行うのが一般的であるが、これでは少なくとも２回、原稿を読取る必要があり、効率的とは言えない。
【０００６】
本願出願人は、上記のようなプレスキャン、本スキャンの２回のスキャンを不要とし、目標となる符号量に圧縮する技術を提案した（特許文献１）。この技術は、１度の画像入力中に、符号化データを２つのメモリに格納していき、生成された符号量が所定サイズになった場合に、一方のメモリ内のデータを破棄し、圧縮率を高くするパラメータをセットして符号化処理を継続する。このとき、もう一方のメモリには、圧縮率を上げる以前の符号化データが格納されているので、更新後のパラメータに従って再符号化するというものである。そして、この処理を、符号化データ量が所定量に達する毎に、この処理を繰り返すものである。
【０００７】
また、上記技術を更に発展させ、圧縮データによる画質劣化を小さくするために、画像の像域情報、例えば、文字線画領域か、中間調領域かを判定して、その判定結果に従って量子化マトリクスを切り換える技術をも提案した（特許文献２）。
【特許文献１】特開２００３−８９０３
【特許文献２】特開２００３−２０９６９８
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上記のような文献１、２によると、画像の入力は１回で完了し、且つ、その際に生成される符号化データ量も目標サイズ以下にさせることができ、有益である。
【０００９】
しかしながら、画像の像域情報に応じた圧縮処理を行うと、その圧縮符号化結果に基づく復号画像が必ずしも高い品位になるとは限らない。像域の判定が１００％正しいとは限らないからである。更に、通常の文書原稿であっても経時劣化、或いは、汚れてしまって、その濃淡が明確になっていないような場合には、写真等と誤認識してしまうこともある。
【００１０】
本発明は上記従来例に鑑みて成されたものであり、１度の画像入力で目標とする符号量以下の符号化データを生成しつつ、入力される画像の性質に応じて、効率良く符号化することを可能ならしめる技術を提供しようとするものである。
【課題を解決するための手段】
【００１１】
この課題を解決するため、例えば本発明の画像符号化装置は以下の構成を備える。すなわち、
画像データを入力し、当該画像データ及び像域情報を圧縮符号化し出力する画像符号化装置であって、
入力する画像データが、文字線画であるか、或いは階調画像であるかを設定する入力モード設定手段と、
第１のパラメータに従って画像データを圧縮符号化する画像符号化手段と、
第２のパラメータに従って前記画像符号化手段による符号化データを再符号化する再符号化手段と、
入力した画像データの像域属性情報を検出する属性検出手段と、
第３のパラメータに従って前記像域属性情報を補正する属性補正手段と、
該属性補正手段で補正された像域属性情報を圧縮符号化する属性符号化手段と、
前記入力モード設定手段で設定された入力モードにしたがい、前記第１のパラメータ、前記第３のパラメータを決定し、前記画像符号化手段及び前記補正手段それぞれに設定する初期パラメータ設定手段と、
設定されたパラメータに従って、入力中の画像データに対する前記画像符号化手段で生成される画像符号化データ量、及び、前記属性符号化手段で生成される属性符号化データ量の合計である総符号量を監視し、前記総符号量が所定値以上になったか否かを判定する監視手段と、
該監視手段で前記総符号量が所定値以上になったと判断した場合、（ａ）前記画像符号化手段に設定されていた第１のパラメータを、圧縮率の高いパラメータで更新して画像データの符号化を継続させ、（ｂ）更新後の第１のパラメータと同じ第２のパラメータを前記再符号化手段に設定して、前記総符号量が所定値以上になる以前の画像符号化データを再符号化させるパラメータ更新手段とを備える。
【発明の効果】
【００１２】
本発明によれば、一度の画像データの入力で、画像及びその像域属性情報の符号化データ量を目標量以下に符号化でき、且つ、入力される画像の性質に応じて、効率良く符号化することが可能になる。
【発明を実施するための最良の形態】
【００１３】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【００１４】
＜装置概要の説明＞
図２０は、実施形態が適用する複写機のブロック構成図である。
【００１５】
図中、１は装置全体の制御を司る制御部であり、ＣＰＵ、ＲＯＭ、ＲＡＭ等で構成される。２はＬＣＤ表示器や各種スイッチ、ボタン等で構成される操作部である。３は原稿読取部（イメージスキャナ部）であり、ＡＤＦ（Auto Document Feeder）を搭載している。読取った画像はＲＧＢ各色成分毎に８ビット（２５６階調）のデジタルデータを出力する。４は、不図示のインタフェース（ネットワークインタフェースを含む）を介して受信したＰＤＬ形式の印刷データに基づき、印刷画像を描画するレンダリング部である。５はセレクタであり、制御部１からの指示に従って、原稿読取部３、又は、レンダリング部４から出力されたビットマップイメージのいずれか一方を選択し、出力する。
【００１６】
６は本実施形態の特徴部分である符号化処理部である。この符号化処理部６の詳細な後述するが、画像データの符号化、及び、各画素毎の属性情報（文字線画／中間調、有彩色／無彩色を示す情報）を圧縮符号化するものである。なお、属性情報については、原稿読取部３からの画像データを入力した場合には、その画像データに基づいて生成するが、レンダリング部４からの画像データの場合、レンダリング部４は印刷データに基づく描画処理で各描画する画素の属性が判明しているので、それを利用するものとした。
【００１７】
７は２次記憶装置（実施形態ではハードディスク装置とする）であり、符号化処理部６より出力された符号化データを順に格納記憶する。
【００１８】
８は、復号処理部であって、２次記憶装置７に格納された圧縮符号化された画像データ及び属性情報を、その格納順に読出し、復号する。９は画像処理部であって、復号処理部８からの復号画像を入力し、ＲＧＢ色空間を記録色空間であるＹＭＣへの変換、ＵＣＲ（Under Color Removal）処理、及び、文字線画／中間調画像領域、有彩色／無彩色領域それぞれに適した処理を行う。
【００１９】
１０はプリンタエンジン部である。プリンタエンジン部の印刷機構は、レーザビームプリンタエンジンとするが、インク液を吐出するタイプでも構わず、その種類は問わない。
【００２０】
上記構成において、例えば、利用者が操作部２を操作して、複写モードを選択し、原稿を原稿読取部３（のＡＤＦ）にセットし、複写開始キーを押下すると、原稿読取部３で読取られた原稿画像データは、ラスター順に、セレクタ５を介して符号化処理部６に転送され、ここで圧縮符号化されて２次記憶装置７に格納していく。
【００２１】
また、外部より印刷データを受信した場合には、セレクタ５をレンダリング部４を選択するようにし、レンダリング部４が生成した印刷データに基づく画像を圧縮符号化し、２次記憶装置７に格納することになる。
【００２２】
復号処理部８は、プリンタエンジン１０の印刷速度に応じて、２次記憶装置７から圧縮符号化データを読出し、復号処理する。そして、画像処理部９で復号した画像データからＹＭＣＫ成分の記録用画像データを生成する。そして、同じく復号した属性情報に基づいて、記録用画像データに対して最適な処理を行い、その結果をプリンタエンジン部１０に出力し、印刷を行う。
【００２３】
上記の通り、２次記憶装置７への圧縮符号化データの格納処理と、復号し印刷するための読出し処理は、非同期である。つまり、２次記憶装置７は画像圧縮処理と、復号処理との間に介在するバッファとして機能することになり、原稿読取り／符号化処理は、復号／記録処理に非依存なので、多数の原稿を高速に読取ることができ、次のジョブの原稿読取りにすばやく移行することが可能になる。
【００２４】
また、実施形態における画像処理部９における属性情報に基づく処理の例を示すなら、以下のようなものである。
１．注目画素位置を中心とする所定サイズ（例えば５×５）のウインドウを設定し、そのウインドウを用いて属性情報を参照する。
２．ウインドウ内のＮ（実施形態ではＮ＝２５）個の文字線画／中間調の属性情報において、所定数Ｍ（実施形態ではＭ＝１）以上が文字線画を示す場合、注目画素は文字線画領域の画素として判定する。
３．ウインドウ内のＮ個の文字線画／中間調の属性情報において、所定数Ｍ未満が文字線画を示す場合、注目画素は中間調領域の画素と判定する。
４．注目画素が文字線画領域にある判定され、注目画素位置の有彩色／無彩色属性が無彩色を示す場合、注目画素の濃度を求め、それを単純２値化（閾値１２８で２値化）し、Ｋ成分のみを有効にする（Ｙ＝Ｍ＝Ｃ＝０とする）。
５．注目画素が文字線画領域にある判定され、注目画素位置の有彩色／無彩色属性が有彩色を示す場合、注目画素の濃度を求め、それを単純２値化（閾値１２８で２値化）し、全色成分を有効にする。
６．注目画素が中間調領域にあると判定され、注目画素位置の有彩色／無彩色属性が無彩色を示す場合、注目画素の濃度を求め、それを誤差拡散法に従って２値化し、Ｋ成分のみを有効にする（Ｙ＝Ｍ＝Ｃ＝０とする）。
７．注目画素が中間調領域にあると判定され、注目画素位置の有彩色／無彩色属性が有彩色を示す場合、各記録色成分を誤差拡散法に従って２値化し、全色成分を有効にする。
【００２５】
上記以外にも、復号画像を、プリンタエンジンの特性に応じて補正する前処理等があるが、これらは本願には直接関係しないし、公知のものであるので、省略する。また、上記の属性情報に基づく処理は、一例であって、これによって本願発明が限定されるものでもない。
【００２６】
以上、実施形態における装置全体の構成について説明した。次に、本装置の特徴部分である符号化処理部６について、以下の各実施形態で説明する。
【００２７】
＜第１の実施形態＞
図１は、実施形態における符号化処理部６のブロック構成図である。以下、同図の各部を簡単に説明する。
【００２８】
入力部１０１は、先に説明したように、セレクタ５を介して、原稿読取部３もしくはレンダリング部４からの画像データを入力し、ラインバッファ１１５に出力する。このラインバッファは複数ライン分の容量を有する。
【００２９】
画像符号化部１０２は、ラインバッファ１１５に格納された画像データの符号化を行い、符号データを第１メモリ制御部１０３、及び、第２メモリ制御部１０５を介して、第１メモリ１０４、第２メモリ１０６に格納していく。
【００３０】
実施形態における、この画像符号化部１０２は、ＪＰＥＧ符号化（不可逆符号化）を適用した例を説明する。つまり、８×８画素単位に相当する画像データを直行変換し、後述する量子化ステップを用いた量子化し、ハフマン符号化処理を行うものである。ここで生成される符号量を左右するのが量子化ステップであり、これは符号化シーケンス部１１４により設定される。なお、パラメータに従って生成される符号量が変化すれば良いので、ＪＰＥＧに限らず他の圧縮符号化技術を適用しても良いことを付言しておく。
【００３１】
属性検出部１０７は、ラインバッファ１１５に格納された画像データに基づき、各画素毎の属性フラグデータを生成する。この属性フラグデータは、注目画素が文字線画か中間調画素かを示すビット、及び、有彩色か無彩色かを示すビットを含む。つまり、最低でも２ビットのデータを出力することになる。文字線画か中間調かの判定は、注目画素と隣接する画素の周辺の輝度（或いは濃度）の変化が所定閾値以上あるか否かで判定する。有彩色か無彩色かの判定は、注目画素の各色成分値の差が所定範囲にある、つまり、Ｒ≒Ｇ≒Ｂの場合には無彩色、それ以外の場合を有彩色と判定すればよい。なお、説明を簡単なものとするため、２ビットの属性フラグデータにおけるビット０を文字線画／中間調の判定結果に割りあて、ビット１を有彩色／無彩色の判定結果に割り当てるものとする。
【００３２】
属性書換部１０８は、符号化シーケンス制御部１１４からの指示信号にしたがい、次の３つ処理のうち、いずれか１つの処理を行う。
処理１．属性検出部１０７から出力される属性フラグデータをそのまま通過させる。
処理２．属性検出部１０７からの属性フラグデータのビット０、すなわち、「文字線画／中間調」を示すビットを強制的に「文字線画」を示す値に書き換え（補正し）、出力する。
処理３．属性検出部１０７からの属性フラグデータのビット１、すなわち、「文字線画／中間調」を示すビットを強制的に「中間調」に書き換え（補正し）、出力する。
【００３３】
属性符号化部１０９は、先に示した画像符号化部１０２での符号化単位と同様、８×８個の属性フラグデータを符号化するが、可逆圧縮符号化（例えばランレングス符号化）を用いる。圧縮効率を考慮して、８×８個の属性フラグデータのビット０の集合と、ビット１の集合とに分けて符号化するようにした。
【００３４】
図１８は、属性符号化部１０９の構成の一例を示している。図示において、判定部１７１０では、入力される属性フラグデータの前画素の値と現画素の値とが同じかを判定し、同じ場合はＲＬ部に、違う場合はＬＴ部にデータを送るように切り替える。ＲＬ部１７１１では、前画素データと同じ場合の回数を違うデータが出てくるまでカウントし、最後に、繰り返したデータを出力する。ＬＴ部１７１２では、データが前画素と異なる場合の数をカウントして、カウント数に対応する符号語と、実際データの最小構成ビット数をカウント数分だけ出力する。合成部１７１３では、ＲＬ部の出力データとＬＴ部の出力データを合成してコード１７１５として出力する。
【００３５】
説明を図１に戻す。属性符号化部１０９と画像符号化部１０２は、互いに同期し、同じ画素ブロックの画像データと属性フラグデータの符号化結果を出力する。ただし、符号化された属性フラグデータは、第１のメモリ１０４のみに格納され、第２のメモリ１０６には格納されない。また、第１のメモリ１０４には、画像の符号化データと、属性フラグデータの符号化データが混在して格納されるが、当然、それらは区別可能に格納される。
【００３６】
第１カウンタ１１０、第２カウンタ１１１は、少なくとも１ページの画像を入力する際にリセットされる。第１カウンタ１１０は、画像符号化部１０２から出力されるブロック毎の符号化データを累積加算する。また、第２カウンタ１１１は、属性符号化部１０９から出力されるブロック毎の符号化データを累積加算する。換言すれば、カウンタ１１０及びカウンタ１１１それぞれに格納されているカウント値の和は、第１のメモリ１０４に格納される符号化データ量の総量を示す情報を意味する。
【００３７】
再符号化部１１２は、符号化シーケンス制御部１１４からの開始要求があった場合（そのタイミングの詳細について後述）、第２のメモリ１０６に格納された符号化データを復号し、符号化シーケンス制御部１１４より設定された量子化ステップに従って再度符号化するものである。この再符号化部１１２の符号化処理は、画像符号化部１０２と同じ、ＪＰＥＧである。
【００３８】
再符号化後のデータは、第１のメモリ１０４及び第２のメモリ１０６に再格納される。また、再符号化部１１２による再符号化後の符号データ量は第３カウンタ１１３で累積加算されていく。この第３カウンタ１１３は、再符号化部１１２が再符号化処理を開始する際にリセットされるものであり、再符号化が完了した際に生成された符号化データ量、すなわち、第３カウンタ１１３の情報が第１カウンタ１１０に出力され加算される。
【００３９】
モード設定部１２０は、図２０における操作パネルに設けられたモードスイッチ（不図示）に対応し、写真画像として符号化するか（以下、写真モード）、文字線画として符号化するか（以下、文字線画モード）、或いは、入力される画像を自動判別して符号化するか（以下、自動モード）の３つのいずれが指定されたかを、符号化シーケンス制御部１１４に通知する。
【００４０】
符号化シーケンス部１１４は、図１の各部を制御し、一連の符号化シーケンスを実行するものである。
【００４１】
この符号化シーケンス制御部１１４は、図１９に示すように、ＤＣＴ変換後の周波数係数を量子化する際に用いる量子化マトリクステーブルＱ０、Ｑ１、Ｑ２、…を記憶保持している。ここで、量子化マトリクス内の値Ｑｉ（０，０）〜Ｑｉ（７，７）（ｉ＝０、１、２…）が量子化ステップ値を意味する。量子化ステップ値は、概ね、Ｑ０＜Ｑ１＜Ｑ２…の関係にある。量子化ステップ値が大きくなればなるほど、量子化後の周波数係数値の取り得る範囲が狭くなり、圧縮率が向上する。
【００４２】
さて、原稿複写を行う際に、ユーザが操作部２を操作してモードを設定すると、その設定内容がモード設定部１２０から符号化シーケンス制御部１１４に通知される。
【００４３】
実施形態における、モードには、先に説明したように、オートモード（デフォルト）、写真モード、文字線画モードが存在する。符号化シーケンス制御部１１４は設定されたモードに従って、図２１に示すテーブルに従って、１ページの圧縮処理を開始する毎に初期化処理を行う。
【００４４】
すなわち、オートモードが設定されたことを示す情報が通知された場合、符号化シーケンス制御部１１４は画像符号化部１０２に対して量子化マトリクステーブルＱ０を設定し、属性書換部１０８に対して属性検出部１０７からの属性フラグデータをそのまま通過させるよう設定する。
【００４５】
また、写真モードが設定された場合には、画像符号化部１０２に対して量子化マトリクステーブルＱ１を設定し、属性書換部１０８に対しては、属性検出部１０７からの属性フラグデータ中のビット０、つまり、文字線画／中間調を示すビットを強制的に「中間調」を示す情報に書き換えるよう設定する。
【００４６】
そして、文字線画モードが設定された場合には、画像符号化部１０２に対して量子化マトリクステーブルＱ０を設定し、属性書換部１０８に対しては、属性検出部１０７からの属性フラグデータ中のビット０、つまり、文字線画／中間調を示すビットを強制的に「文字線画」を示す情報に書き換えるよう設定する。
【００４７】
オートモードの場合に量子化マトリクスＱ０を設定するのは、読取り原稿がこの段階では未知であるからである。また、属性検出部１０７での検出結果を優先するため、属性フラグデータの書き換えは行わない。
【００４８】
写真モードの場合、写真等の中間調画像を入力することが利用者によって明示的に設定されたことを示している。一般に中間調画像の場合、印刷される画質を決めるのは、解像度よりも階調性である。また、詳細は後述するが、同じ量子化マトリクス（量子化ステップ）を利用した場合、写真画像の符号データ量は文字線画の符号データ量よりも多くなる傾向にある。結果的に、１ページの符号化途中で目標符号量（後述する目標設定量）に到達して、再符号化部１１２の再符号化の起動回数は多くなる。この再符号化の起動回数を減らすため、写真モードにおける初期段階での量子化ステップは、文字線画モードのそれより大きないものとした。
【００４９】
文字線画モードの場合、文字のエッジが保存されて印刷されることが望ましい。つまり、画像の高周波成分は維持することが望ましい。そのため、初期状態では量子化ステップ値の最も小さい量子化マトリクスＱ０を設定した。
【００５０】
＜符号化処理の説明＞
以上、図１の各処理部を説明した。次に、実施形態における圧縮符号化処理を説明する。
【００５１】
図１の構成における符号化シーケンス制御部１１４の処理の内容を示すのが図８のフローチャートであるが、説明を簡単にするため、簡略化した図３のフローチャートに従って先ず説明する。
【００５２】
図３のフローチャートは、大別すると、下記の３つの処理フェーズに分かれる。
（１）符号化フェーズ
（２）符号化・再符号化フェーズ
（３）転送フェーズ
上記それぞれの処理フェーズおいて、どのように画像データ、符号化データ等が流れて処理され、メモリにどのように格納されるかを視覚的に解り易く示したのが図４乃至図７である。
【００５３】
図４は、図３のフローチャートにおけるステップＳ３０３とＳ３０５に対応する符号化フェーズの初期状態を表わす。また、図５はステップＳ３０７〜Ｓ３１５に対応する符号化・再符号化フェーズの処理状態を、図６はステップＳ３１７に対応する転送フェーズの処理状態を、図７は転送フェーズ後の符号化フェーズの処理状態を表わす。以下、各フェーズについて説明する。
【００５４】
なお、実施形態における属性フラグデータは、再符号化されることがないので、以下では、画像データの符号化に限って説明することとする。ただし、誤解の内容にするため、要所で属性データについて言及することとする。
【００５５】
＜＜符号化フェーズ＞＞
１ページ分の画像データの符号化処理は、処理モードの検出処理（ステップＳ３００）から始まる。この処理は、モード設定部１２０からの情報を検出するものでもある。
【００５６】
次に、設定されたモードに基づき、符号化パラメータの初期設定（ステップＳ３０１）を行う。これは、図２１に示すように、設定されたモードに応じて、画像符号化１０２への初期の量子化マトリクステーブルＱ（実施形態の場合、初期段階では図１９のＱ０、Ｑ１のいずれかになる）の設定と、属性書換部１０８の設定である。
【００５７】
この後、原稿の読取りが開始され、画像データ及び属性データの符号化処理が開始される（ステップＳ３０３）。１ページの画像を入力し、符号化している最中、第１カウンタ１１０、第２カウンタの合計値は、第１メモリ１０４に格納された総符号データ量を示すことになる。
【００５８】
符号化シーケンス制御部１１４は、総符号量が、予め設定された目標値に到達、或いは、それを越えたか否か（以下、単に「目標値をオーバーしたか」と記す）を判定する（ステップＳ３０５）。否の場合には、その際の設定条件にしたがった画像及び属性フラグデータの符号化処理を継続する。これが初期状態の符号化フェーズである。
【００５９】
画像符号化部１０２から出力する符号化データは、図４に示すように第１のメモリ１０４と第２のメモリ１０６の両方に格納されていく。縦縞で示した領域Ｉが該格納した符号を表現している。なお、属性フラグデータの符号化結果（属性符号化データ）は、第１のメモリのアドレスの後端から格納していく。
【００６０】
＜＜符号化・再符号化フェーズ＞＞
画像符号化部１０２及び属性符号化部１０９の符号化処理が進行し、第１のメモリ１０４に格納された符号量が目標値をオーバーすると、ステップＳ３０７にて、第１のメモリ１０４内の画像符号化データを廃棄し、第１カウンタ１１０をゼロクリアする。このとき、第１のメモリ１０４内の属性符号化データは廃棄せず、第２カウンタ１１１も初期化しない。そして、ステップＳ３０９にて、画像符号化部１０２の量子化マトリクステーブルを１段階上げる。例えば、量子化マトリクステーブルＱiを用いて符号化中に、符号データ量が目標値をオーバーした場合には、Ｑi+1を設定する。
【００６１】
符号化データのデータ量のカウント値が設定された目標値をオーバーするという事は、圧縮後のデータ量が目標値以内に収まらないことを意味する。よって同じ量子化マトリクステーブルを用いて符号化処理を継続しても意味が無いので、前よりもデータ量が少なくなるように、Ｑｉよりも量子化ステップ幅の大きい量子化マトリクステーブルＱi+1に変更するわけである。
【００６２】
画像符号化部１０２への量子化マトリクステーブルを更新すると、符号化部１０２はその更新された量子化マトリクステーブルに従って符号化処理を継続する（ステップＳ３１１）。このとき、符号化シーケンス制御部１１４は、画像符号化部１０２からの符号化データは、図５に示すように第２のメモリ１０６のみに格納するように制御する。第１カウンタ１１０はゼロクリアされているので、量子化マトリクステーブルを変更後の画像符号化データ量を累積加算を開始することになる。
【００６３】
また、上記処理と並行して、符号化シーケンス制御部１１４は、ステップＳ３１３にて、再符号化部１１２による再符号化処理を開始させる。再符号化部１１２で再符号化する対象は、第２のメモリ１０６内の、符号化データ量が目標値をオーバーしたと判断された以前の符号化データとなる。また、このとき再符号化部１１２に設定する量子化マトリクステーブルは、画像符号化部１０２に再設定（更新）した量子化マトリクステーブルＱi+1と同じである。
【００６４】
再符号化部１１２は、第２のメモリ１０６に格納済みの符号化データを読み出して、設定された量子化マトリクステーブルを用いて再符号化処理を行い、２つのメモリ１０４、１０６に格納する。そして、図５の縦縞の領域Ｉの符号を全て再符号化するまで、該符号化処理と再符号化処理を継続する。
【００６５】
再符号化部１１２は、量子化マトリクステーブルＱｉの符号化データから画像データにまで復号し、再度、ＤＣＴ変換、更新後の量子化テーブルＱi+1で量子化し、ハフマン符号化を行ってもよいが、これでは多くの時間を必要とする。そこで、本実施形態では、符号化データを一旦ハフマン復号した後の量子化値まで戻し、これら値を、設定された量子化マトリクステーブルＱi+1と従前のＱiとの比に従って再量子化し、ハフマン符号化を行うことで実現した。つまり、ＤＣＴ変換が介在しない分だけ、処理が簡略化され、再符号化処理の高速化が可能となる。
【００６６】
この再符号化処理は、ステップ３１５で、再符号化処理の終了検知が行なわれるまで実行される。
【００６７】
再符号化後のデータ量は再符号化前の符号化データのデータ量よりも少なくなるので、図５に示すように、再符号化前の符号を格納していたメモリ領域に再符号化後の符号化データを上書きするように格納することができる。再符号化処理が終了した時点で、縦縞領域Ｉの符号化データのデータ量は図６に示すの斜め縞で示される領域Ｉの符号化データのデータ量へと減少する。
【００６８】
以上で説明したステップＳ３０７〜３１５が、符号化・再符号化フェーズで行う処理である。
【００６９】
＜＜転送フェーズ＞＞
再符号化処理が終了したら、ステップＳ３１７では転送処理が行なわれる。該転送処理では、図６に示すように、符号化・再符号化フェーズで第２のメモリ１０６のみに格納した斜め縞の領域ＩＩの符号化データを、第１のメモリ１０４内の斜め線Ｉの符号化データに連結されるアドレスに転送し、格納する。そして、再符号化部１１２で再符号化して得られた符号化データ量が第３カウンタ１１３に保持されているので、それを第１カウンタ１１０に足し込む。この結果、第１のカウンタ１１０は、第１のメモリ１０４に格納された画像データの符号化データ量を再び保持するようになる。また、その一方で、第２のメモリ１０６上で分散してしまっている斜め縞Ｉの符号化データと斜め縞ＩＩの符号化データが第１のメモリ１０４上で連続して格納される様に、前記斜め縞ＩＩの符号化データを第２のメモリ１０６内で転送し、連結させる。これが、転送フェーズで行う処理である。
【００７０】
上記転送フェーズが終了したら、ステップＳ３０３、Ｓ３０５の符号化フェーズに戻り、画像符号化部１０２からの出力される符号化データを、第１のメモリ１０４、第２のメモリ１０６の双方に格納するよう設定する。この結果、図７に示すように斜め縞領域IIIに示すデータが２つのメモリ１０４，１０６に格納されることになる。この符号化フェーズは、初期状態の符号化フェーズ（図４）と少し異なり、符号化部１０２で符号化する際の量子化ステップがＱiからＱi+1に変更されていると共に、２つのメモリ１０４，１０６に格納されている符号化データも様々なフェーズで処理された符号の集まりである。それらの違いを無視すれば、転送フェーズ直後の符号化フェーズと初期状態の符号化フェーズは、同じと見なせる。
【００７１】
よって、符号化フェーズ、符号化・再符号化フェーズと転送フェーズの３つを繰り返すことで、最終的に１ページの画像データを設定符号量以下に圧縮した符号を第１のメモリに格納することが出来る。しかも、入力部１０１は一連の処理が終わるまで、入力を継続するだけである。すなわち、画像を再度最初から入力し直すということが無くなる。
【００７２】
図３に示したフローチャートは、説明が理解しやすいように、図４、図５、及び、図６に示した各フェーズに対応する処理のみを記述した。しかしながら実際には、１ページの画像データの入力はどこかのフェーズで終了する。従って、どのフェーズで終了したかによって、それ以降の対応も多少異なる。それを考慮した流れを示したのが図８のフローチャートである。図８のフローチャートは、１ページ分の画像データの入力完了と図３で説明した各種処理との関係を考慮したものであり、ここでは図３のフローチャートに、ステップＳ８０１、Ｓ８０３、Ｓ８０５、Ｓ８０７を追加している。
【００７３】
ステップＳ８０１、Ｓ８０３、Ｓ８０５は、それぞれ、符号化フェーズ、符号化・再符号化フェーズ、転送フェーズにおいて、入力部１０１からの１ページ分の画像データの入力が終了したことを検知する。
【００７４】
符号化フェーズと転送フェーズで１ページ分の画像データの入力が終了したことを検知した場合（ステップＳ８０１、Ｓ８０５）、ステップＳ８０７へ移り、当該ページの圧縮符号化処理を終了し、次に圧縮処理すべき画像データがあれば、次の１ページ分の画像データの圧縮符号化処理を開始し（各カウンタをリセットし、量子化パラメータを初期値に設定する）、無ければ停止状態に入る。
【００７５】
一方、符号化・再符号化フェーズで１ページ分の画像データの入力終了を検知した場合（ステップＳ８０３）には、画像符号化部１０２では再符号化処理する画像データが無くなるまで一旦動作を止める必要があるので、ステップＳ３１１の符号化処理をパスし、ステップＳ３１３で、今までに符号化部１０２で符号化済みの画像データを所定の符号化データ量に抑える為の再符号化処理のみを継続して行う。再符号化処理が全て終了して、その後の転送処理が終わらないと、１ページ分の画像データ全体の符号化データが第１のメモリ上に集まらないため、１ページ分の画像データの入力終了後も再符号化処理及びそれに続く転送処理は継続して行われる必要がある。この場合には、ステップＳ３１５にて、再符号化処理が全て終了したことを検知すると、符号化・再符号化フェーズ中に、第２のメモリ１０６のみに格納された符号化データを第１のメモリに転送し（ステップＳ３１７）た後、次のステップＳ８０５にて、１ページ分の画像データの入力終了が検知されてステップＳ８０７へ移ることになる。以上が実施形態における画像符号化処理部６の処理であり、図８の動作説明でもある。
【００７６】
第１カウンタ１１０、第２カウンタ１１１の値（符号量）の時間軸の推移の一例を図９に示す。図示において、実線が第１カウンタ１１０の値（画像符号化データ量）と第２カウンタ１１１の値（属性符号化データ量）の合計値を示している。破線が、第１カウンタ１１０の値を示している。なお、実施形態における画像符号化部１０２及び属性符号化部１０９は共に可変長符号化であるので、これら２つのカウント値は単調増加であるものの、線形的に増加しないことに注意されたい。また、図示の場合には、文字線画モードが設定された場合、すなわち、画像符号化部１０２に初期量子化マトリクステーブルがＱ０が設定され、属性書換部１０８では属性検出部１０７からの文字線画／中間調に割り当てられたビットを文字線画に強制的に書き換える場合を示している。
【００７７】
図示の場合、タイミングＴ０で、原稿画像の入力を開始し、タイミングＴ５で原稿画像の入力が完了した場合を示している。入力される原稿のサイズが固定であれば、タイミングＴ５は固定となる。以下、各タイミングでの処理を説明する。
【００７８】
タイミングＴ０：
画像入力開始（符号化開始）タイミングである。このとき、第１カウンタ１１０、第２カウンタ１１１の値は“０”に初期化される。また、ここでは、文字線画モードが設定された場合であるので、属性書換部１０８は属性検出部１０７からの属性フラグデータの文字線画／中間調に割り当てたビットを強制的に“文字線画”を示すビットに書き換える（マスクする）。この後、画像の入力及び符号化が継続すると、画像データの符号化、及び属性フラグデータの符号化が行われ、第１カウンタ１０２、第２カウンタ１１１のカウント値は徐々に増えていく。
【００７９】
タイミングＴ１：
画像データの符号化データ及び属性フラグデータの符号化データの合計値が、目標符号量に到達した場合を示している。このとき、第１のメモリ１０４の画像データの符号化データは破棄し、第１カウンタ１１０をゼロクリアし、画像符号化部１０２に量子化マトリクステーブルＱ１をセットする。また、再符号化部１１２にも量子化マトリクステーブルＱ１をセットし、再符号化処理を開始させる。
【００８０】
タイミングＴ２：
再符号化及び転送処理の完了を示している。再符号化が完了すると、再符号化して得られた符号データが第２のメモリ１０６から第１のメモリ１０４に転送されると共に、再符号化データ量を示す第３のカウンタ１１３の値が、第１のカウンタ１１０に足し込まれる。この結果、第１のメモリ１０４及び第２のメモリ１０６には、１ページの先頭からタイミングＴ２までの間に入力した画像データに対する量子化マトリクステーブルＱ１で符号化したのと等価の符号化データが格納される。
【００８１】
タイミングＴ３：
再び、画像データの符号化データ及び属性フラグデータの符号化データの合計値が、目標符号量に到達した場合を示している。このとき、第１のメモリ１０４の画像データの符号化データは破棄し、第１カウンタ１１０をゼロクリアし、画像符号化部１０２に量子化マトリクステーブルＱ２をセットする。また、再符号化部１１２にも量子化マトリクステーブルＱ２をセットし、再符号化処理を開始させる。
【００８２】
タイミングＴ４：
再符号化及び転送処理の完了を示している。再符号化が完了すると、再符号化して得られた符号データが第２のメモリ１０６から第１のメモリ１０４に転送されると共に、再符号化データ量を示す第３のカウンタ１１３の値が、第１のカウンタ１１０に足し込まれる。この結果、第１のメモリ１０４及び第２のメモリ１０６には、１ページの先頭からタイミングＴ２までの間に入力した画像データに対する量子化マトリクステーブルＱ２で符号化したのと等価の符号化データが格納される。
【００８３】
タイミングＴ５：
１ページの原稿入力の完了を示している。この場合、第１のメモリ１０４には、１ページの画像及び属性フラグデータの符号化データが格納されていることになるので、その結果を、２次記憶装置７に出力する。
【００８４】
ここで、２枚めの原稿画像を読取る場合には、上記タイミングＴ１からの処理を繰り返すことになる。
【００８５】
なお、画像によっては、原稿画像の入力が完了したタイミングＴ５の直前にて、第１カウンタ１１０、第２カウンタ１１１の合計値が目標量をオーバーすることも有り得る。この場合、タイミングＴ５の後に、再符号化及び転送処理が行われることになる。従って、第１のメモリ１０４に格納された画像データ及び属性フラグデータの符号化データを２次記憶装置７に出力する条件は、原稿画像の入力が完了し、且つ、符号化（再符号化及び転送）が完了した場合となる。
【００８６】
また、再符号化１１２による再符号化しようとする符号化データ量は、第１、第２カウンタの合計値が目標値をオーバーする回数を重ねるほど、多くなる傾向にある。換言すれば、目標値をオーバーする回数が少ないほど、符号化処理に要する時間が少ないことになる。実施形態の場合、写真モードが選択された場合の初期量子化マトリクステーブルはＱ１を用い、文字線画モード時の初期設定Ｑ０よりも大きな値を持つので、写真モード時の目標値オーバー回数を減らし、効率の良い符号化が期待できる。
【００８７】
また、実施形態によれば、利用者が複写しようとする原稿の種別が予め判明している場合には、明示的に写真モード、文字線画モードを指定することにより、属性フラグデータもそれに応じて書き換えが行われるので、高い品位の印刷が行えるようになる。
【００８８】
＜＜メモリ格納方法の変形例＞＞
図１０は図５で示したメモリ格納方法の変形例を示す図である。
【００８９】
図５においては、符号化・再符号化フェーズでは、符号化部１０２から出力する符号化データは第２のメモリ１０６のみに格納していたが、図９に示すように符号化・再符号化フェーズ中に、符号化部１０２から出力する符号化データを第１、第２メモリの両方に直接格納するようにしても良い。つまり、図１０に示すように、総符号化データ量が目標値をオーバーした際、第１のメモリ１０４には更新後の量子化マトリクステーブルによる符号化データと、再符号化後のデータが同時に格納されていく。
【００９０】
符号化部１０２から見ると、どのフェーズで符号化して出力する符号化データも両方のメモリへ格納することになる。図１１は、再符号化完了直後の第２のメモリ１０６における符号化データの転送を示している。図示のように、転送処理は、第２のメモリ内のみで行うことになるので、第１のメモリ１０４には影響がない。
【００９１】
なお、この変形例の場合には、符号化・再符号化フェーズにおいて、符号化データと再符号化データを第１のメモリ１０４へ送った順序で順次格納される。そのため２種類のデータが入り混じってしまうという問題は有る。従って、この変形例の場合にはこれに対応する為に符号化データをある単位で区切って、ファイル或いはパケットとして管理する様にする。具体的には、ファイル管理テーブル、或いは、パケット管理テーブル等を別に作成して管理する。
【００９２】
図１２の概念図における転送フェーズ後の符号化フェーズは、これまで説明した２つの符号化フェーズ（図４、図７）とほとんど同じであり、第１のメモリ内における符号の格納状態が図１１に示した様に若干異なるだけである。よって、先の説明と本変形例は、３つのフェーズを繰り返して処理することに変わりは無い。
【００９３】
＜第２の実施形態＞
次に、本発明に係る第２の実施形態を説明する。本第２の実施形態における符号化処理部６の構成は図２に示す通りである。
【００９４】
図１では画像を符号化する処理部が画像符号化部１０２の１つであったのに対し、図２では第１の画像符号化部２０１、第２の画像符号化部２０２の２つになり、これら２つの符号化部が並行して符号化処理を行う点と、第２の符号化部２０２で生成される符号化データ長を累積カウントする第４カウンタ２０３が増えた点である。
【００９５】
なお、第２の実施形態における第１の画像符号化部２０１及び第２の画像符号化部２０２は、先に説明した第１の実施形態における画像符号化部１０２と同様、ＪＰＥＧ符号化を行うものである。
【００９６】
以下、図２の構成における処理概要を説明する。
【００９７】
第１の画像符号化部２０１から出力される符号化データは、第１のメモリ制御部１０３を経由して、第１のメモリ１０４に格納される。このとき、第１のカウンタ１１０は、画像符号化部２０１から出力される符号長を累積カウントし、これを保持すると共に、符号化シーケンス制御部２０９にも出力する。
【００９８】
一方、第２の画像符号化部２０２で符号化された符号化データは、第２のメモリ制御部１０５を経由して、第２のメモリ１０６に格納される。このとき、第２のカウンタ２０３は、画像符号化部２０２から出力される符号長を累積カウントし、これを保持する。
【００９９】
ここで、第１の画像符号化部２０１は、ちょうど第１の実施形態における画像符号化部１０２に対応するものである。
【０１００】
原稿入力モードがモード設定部１２０より設定された場合、第１の画像符号化部２０１には、図２１にしたがった量子化マトリクステーブルが設定されると共に、属性書換部１０８には図２１にしたがった書き換え要求を行う。
【０１０１】
ただし、本第２の実施形態では、第１の画像符号化部２０１に設定されている量子化マトリクステーブルをＱiとしたとき、第２の画像符号化部２０２には、常に、一段階大きいＱi+1が設定される。従って、入力モードとして、写真モードが設定された場合には、１ページの原稿画像の入力に先立って、第１の画像符号化部２０１には量子化マトリクステーブルＱ1が設定され、第２の画像符号化部２０２にはＱ2が設定されることになる。
【０１０２】
その他は、先に説明した第１の実施形態とほぼ同じである。第１の実施形態では、第１の画像データ及び属性データの総符号量をカウントするカウンタ１１０は、１ページの画像入力中に総符号量が目標値をオーバーした際に一旦ゼロクリアされた。そして、第１のカウンタ１１０が再び正確な総符号量を保持するのは、再符号化部１１２による再符号化が完了した場合になる。つまり、図９におけるタイミングＴ１−Ｔ２間、及び、Ｔ３−Ｔ４間では、一時的に、総符号量が不明な状態になる。また、タイミングＴ５で原稿画像の入力が終了したとしても、たまたまタイミングＴ５の直前で、総符号量が目標値をオーバーした場合には、再符号化部１１２による再符号化が完了しない限り、次の原稿画像の入力が行えない。
【０１０３】
本第２の実施形態では、上記の問題を解決する。以下、図２の構成に基づき、その動作を説明する。
【０１０４】
説明に先立ち、特に注意したいのは、符号化シーケンス制御部１１４は、第１カウンタ１１０及び第２カウンタ１１１の合計値により、第１のメモリ１０４に格納される画像データ及び属性フラグデータの符号化データ量（総符号量）を検出することが可能である。また、上記の通り、第２の画像符号化部２０２は、常に第１の画像符号化部２０１より１段階大きな量子化マトリクステーブルを用いて画像データの符号化を行っており、その符号量は第２カウンタ１１１に保持されている。また、原稿読取りに先立って、モード設定部１２０からのモード選択内容が符号化シーケンス制御部１１４に通知され、第１の画像符号化部２０１、第２の画像符号化部２０２及び属性書換部１０８にはそれぞれ設定されたモードに応じたパラメータが設定されているものとする。
【０１０５】
符号化シーケンス制御部１１４は、総符号量（＝第１カウンタ＋第２カウンタ）が目標値をオーバーしたと判定した場合、以下に示す処理を行う。なお、目標値をオーバーする以前に第１の画像符号化部２０１に設定されていた量子化マトリクステーブルをＱiとし、第２の画像符号化部２０２に設定されていた量子化マトリクステーブルＱi+1とする。
１．第１のメモリ１０４内の画像データの符号化データを破棄するよう第１のメモリ制御部１０３に要求する。ただし、属性符号化データはそのまま第１のメモリ１０４に維持する。
２．第２のメモリ１０６に格納された符号化データ（量子化マトリクステーブルＱi+1による画像データの符号化データ）を第１のメモリ１０４に転送する。これに伴い、第１のカウンタ１１０を第４のカウンタ２０３の値で更新するため、第４のカウンタ２０３の値を第１のカウンタ１１０に転送する。カウンタ値の転送した後、第４のカウンタ２０３はゼロクリアする。要するに、第４のカウンタ２０３のカウント値は、第２のメモリ２０７に格納している符号化データのデータ量を表わしているので、そのカウント値と符号化データを、互いの対応付けが変わらない様に、そのまま第１のカウンタ１１０と第１のメモリ１０４へコピーすると考えれば分かりやすい。符号化データの転送はＤＭＡ等を用いれば良いであろう。
３．第１の画像符号化部２０１に量子化マトリクステーブルがＱi+1を設定し、第２の画像符号化部２０２にＱi+2を設定し、それぞれの符号化処理を再開（継続）させる。
４．再符号化部１１２に対して、第２の画像符号化部２０２と同じ量子化マトリクステーブルＱi+2を設定し、第２のメモリ１０６に格納された符号化データ（量子化マトリクステーブルＱi+1で符号化したデータ）を再符号化を行わせる。再符号化後の符号化データは、再び第２のメモリ１０６に格納する。このとき、第３のカウンタ１１３は再符号化データ量を計測することになる。再符号化処理が完了した場合には、第３のカウンタ１１３の値を、第４のカウンタに足し込む。
【０１０６】
上記処理１乃至４において、処理１乃至３は、入力部１０１による画像データの入力に対して十分に高速に処理可能である。従って、図９におけるタイミングＴ１−Ｔ２間、或いは、Ｔ３−Ｔ４間のように、総符号量が不明な期間は実質的に無いに等しいものとすることができる。また、図９のタイミングＴ５の直前において、総符号量が目標値をオーバーした場合、処理４が開始されるものの、タイミングＴ５になった場合には、再符号化処理の完了を待たずに（或いは再符号化処理を中断し）、第１のメモリ１０４の符号化データを２次記憶装置７に出力して構わないことになる。
【０１０７】
以上、図２の構成における動作概要を説明したが、本第２の実施形態のように、画像符号化部が２つある場合は、図１３に示すフローチャートに基づいて１ページ分の画像データの符号化を行うことになる。
【０１０８】
なお、図１３の説明は、符号化部が１つの場合のフローチャートである図８とは、大半は類似しているので、符号化部１つの場合と同じように３つのフェーズで処理を説明する様にし、図８と異なる点を主に説明することとする。
【０１０９】
上述した図８のフローと本第２の実施形態のフローとの一番大きな違いは、ステップＳ３１７の転送処理が、ステップＳ３０７とステップＳ３０９の間に移動していることである。要するに、符号化・再符号化フェーズと転送フェーズが入れ替わったと見なせば良い。
【０１１０】
ステップＳ３０１の符号化パラメータの初期設定では、モード設定部１２０で設定されたモードにしたがい、図２１に示すテーブルを参照して、第１の画像符号化部２０１に設定すべき初期量子化マトリクステーブルＱiを決定し、第２の画像符号化部２０２にはそれより１段階大きなＱi+1を設定する。
【０１１１】
符号化フェーズでは、ステップＳ８０１、Ｓ３０３、Ｓ３０５を繰り返し実行する。ステップＳ８０１とＳ３０５は、第１の実施形態で示した画像符号化部が１つの場合と同じ処理であるが、ステップＳ３０３の符号化処理だけは図１４に示すように異なっている。すなわち、第１の画像符号化部２０１、第２の画像符号化部２０２は並行して画像データの符号化処理を行い、第２のメモリ１０６には、第１のメモリ１０４よりも圧縮率が高い画像データの符号化データが格納される。
【０１１２】
第１のメモリ１０４へ格納中の総符号化データ量が、目標値をオーバーしたら（ステップＳ３０５）、直ちに、第１のメモリ２０４で保持していた画像データの符号化データを廃棄し（ステップＳ３０７）、第２のメモリ２０７で保持している圧縮率の高い符号化データを、第１のメモリ２０４へ転送する（ステップＳ３１７、図１５参照）。これにより、第１の実施形態で説明していた１回目の再符号化処理を行わずに、速やかに、上限値をオーバーしない適切な２番目の候補の符号化データを第１のメモリ２０７内に格納出来る。これが、図１ではなく２つの符号器を持つ図２を適用することの最大の利点である。
【０１１３】
本第２の実施形態では、２つのメモリ１０４、１０６で同じ圧縮率の符号化データを持っていることが無駄という考え方なので、第２のメモリ１０６には、第１のメモリ１０４に格納する符号化データよりも圧縮率の高い符号化データを格納しておくようにしている。従って、それ以降の処理もこの考え方に基づき行われるものであり、第２のメモリ１０６内の符号化データを第１のメモリ１０４に転送する処理（転送フェーズ）が終了した後は、第２のメモリ１０６の符号化データを、更に１段階圧縮率の高い符号化データを保持する様に再符号化することとなる。
【０１１４】
具体的には、まず図１６に示す様に、転送フェーズの次の符号化・再符号化フェーズでは、上記再符号化の前の第１、第２のの画像符号化部２０１、２０２に設定されていた量子化マトリクステーブルＱi、Ｑi+1をそれぞれＱi+1、Ｑi+2へ変更し（ステップＳ３０９）、１ページの画像データの入力が終了せずに続いていれば（ステップＳ８０３）、後続の画像データは２つの符号化部は新たな量子化ステップで該入力データを符号化して（ステップＳ３１１）、対応する各メモリ１０４、１０６へ格納する。そして、上記符号化処理と並行して第２のメモリ１０６に格納されている符号化データ（第１のメモリ１０４に転送したもの）は、第１のメモリ１０４内の符号化データよりも１段階高い圧縮率の符号化データに変更するべく、再符号化部１１２にて量子化ステップＱi+2を用いて再符号化処理（ステップＳ３１３）を行い、再符号化データを第２のメモリ１０６に格納し直す。なお、本第２の実施形態でも、第１の実施形態と同様、再符号化処理では、符号化データを一旦ハフマン復号した後の各量子化値に対して、Ｑi+1とＱi+2の比に従って除算（ビットシフト処理を組み合わせると高速になる）した後、再度ハフマン符号化を行うことにより実現される。この方法は、逆直交変換や再直交変換処理を行わない点で、高速な再符号化処理が可能である。
【０１１５】
なお、本第２の実施形態の様に画像符号化部が２つ有る場合には、図１６に示したように、第２のメモリ１０６には画像符号化部２０２からの符号化データと再符号化部１１２からの再符号化データを混在して格納する状況が発生する。従って、前述したように、符号化データをある単位で区切って、ファイル或いはパケットとして管理することが、第２のメモリ１０６に対しても必要ではある。
【０１１６】
図１３において、再符号化処理の終了をステップＳ３１５で検知したら、また符号化フェーズ（ステップＳ８０１、Ｓ３０３）に移行する。なお、符号化・再符号化フェーズ後の符号化フェーズでは、図１６に示すように、２つのメモリ１０４、１０６が保持する符号化データは圧縮率が違うだけでなく、符号化データの混在の仕方（アドレス）もかなり違ってくる。従って、再度、第１のメモリ１０４のデータ量が設定値をオーバーした場合には、第２のメモリ１０６で保持されている符号化データ（Ｉ＋ＩＩの横縞の領域の符号）が第１のメモリ２０４へ転送される必要が出てくる。
【０１１７】
これらを考慮すると、第２のメモリ１０６だけでなく、第１のメモリ１０４でも符号化データをファイル或いはパケットとして管理する必要がある。なお、これら管理方式の詳細は本発明の特徴に直接関係しないので、説明は省略する。
【０１１８】
図１７に示された符号化フェーズの状態は、量子化ステップと符号化データの混在の仕方が、再符号化処理の前後で異なっていること以外は、初期状態の符号化フェーズ（図１４）と同じである。よって、符号化フェーズ、転送フェーズと符号化・再符号化フェーズを繰り返すことで、最終的に、１ページ分の画像データを設定した上限値以下に圧縮した符号化データを確実に第１のメモリ１０４に格納することが出来る。
【０１１９】
なお、第１の実施形態と比較し、第２の実施形態での転送フェーズと符号化・再符号化フェーズの配置順が逆であることから、図８において転送処理後に行っていた１ページ分の画像データの入力終了検知（ステップＳ８０５）は、符号化・再符号化フェーズで行う１ページ分の画像データの入力終了検知（ステップＳ８０３）と、ほとんど同じタイミングになる。つまり、２つの検知処理は、機能的にはＳ８０５と同じで、タイミング的にはＳ８０３と同じである、従って、これら２つのステップは、新たな１ページ分の画像データの入力終了を検知するステップとして統合し、図１３ではステップＳ１２０１と表記した。
【０１２０】
以上、本発明に係る第１、第２の実施形態を説明したが、第１のメモリ１０４と第２のメモリ１０６は物理的に別のメモリであるとして説明をしてきた。本発明においては２つのメモリを独立して設けることは十分に１つの特徴となる。しかしながら、第１のメモリ１０４と第２のメモリ１０６を、物理的に別のメモリとしない場合も本発明の範疇に含まれる。特に、メモリの転送スピードが、十分に高速な場合には物理的に１つのメモリ上に、前記第１のメモリと第２のメモリに相当する２つの領域を確保して、第１のメモリを第１のメモリ領域、第２のメモリを第２のメモリ領域と言い直して、これまでの説明を読み直せば、１つのメモリでも実現できることが分かる。
【０１２１】
また、１つのメモリで上記各実施形態を実現する場合には、前記転送フェーズで説明したデータ転送処理のいくつかは不要となる。その詳細はその都度容易に想像できるので説明は省略するが、前記２つの領域を厳密に別けて使用する場合、物理的に２つのメモリを持つ時と同じようにデータ転送処理が必要であるが、２つの領域間で同じデータを共有することになれば、データ転送処理が不要になるだけでなく記憶容量の削減も図れる。
【０１２２】
例えば、第２のメモリ領域で保持していた符号化データを、第１のメモリ領域へ転送する際、該符号化データが格納されている先頭アドレスとデータサイズの２つの情報を第２のメモリ制御部から第１のメモリ制御部へ転送するだけで、前記符号化データを転送したのと同じ効果が得られる。
【０１２３】
前記符号化データを、ファイル形式やパケット形式で格納している場合は、メモリ制御部の間で転送する情報は少し増え、該符号化データに関連する管理テーブル情報を転送する必要がある。
【０１２４】
なお、実施形態では、像域フラグには、文字線画／中間調、無彩色／有彩色の２ビットとして説明したが、網点領域か否か、線画の太さ情報を含ませても構わない。
【０１２５】
また、上記第１、第２の実施形態では、図２０に示す複写機に適用した例を説明したが、例えばパーソナルコンピュータ等の汎用情報処理装置にイメージスキャナ等の画像入力装置を接続して符号化する場合にも適用できるのは明らかである。この場合、図３（又は図８）或いは図１３に示す処理に係るプログラムを実行すれば良いので、本願発明はかかるコンピュータプログラムをもその範疇とするのは明らかである。また、通常、コンピュータプログラムはＣＤＲＯＭ等のコンピュータ可読記憶媒体をそのコンピュータにセットし、システムにコピーもしくはインストールすることで実行可能になるわけであるから、当然、そのようなコンピュータ可読記憶媒体も本発明の範疇に含まれる。
【図面の簡単な説明】
【０１２６】
【図１】第１の実施形態の符号化処理部のブロック構成図である。
【図２】第２の実施形態の符号化処理部のブロック構成図である。
【図３】第１の実施形態における処理内容を簡略化して示すフローチャートである。
【図４】第１の実施形態における符号化フェーズにおけるデータフローとメモリ格納状況を示す図である。
【図５】第１の実施形態における符号化・再符号化フェーズにおけるデータフローとメモリ格納状況を示す図である。
【図６】第１の実施形態における転送フェーズにおけるデータフローとメモリ格納状況を示す図である。
【図７】第１の実施形態における転送フェーズ後の符号化フェーズにおけるデータフローとメモリ格納状況を示す図である。
【図８】第１の実施形態における符号化処理内容を示すフローチャートである。
【図９】第１の実施形態における第１、第２カウンタの値の推移の一例を示す図である。
【図１０】第１の実施形態における再符号化フェーズの変形例でのデータフローとメモリ格納状況内容を示す図である。
【図１１】第１の実施形態における転送フェーズの符号化フェーズにおけるデータフローとメモリ格納状況内容を示す図である。
【図１２】第１の実施形態における転送フェーズ後の符号化フェーズにおけるデータフローとメモリ格納状況内容を示す図である。
【図１３】第２の実施形態における符号化処理内容を示すフローチャートである。
【図１４】第２の実施形態における符号化フェーズにおけるデータフローとメモリ格納状況を示す図である。
【図１５】第２の実施形態における転送フェーズにおけるデータフローとメモリ格納状況を示す図である。
【図１６】第２の実施形態における符号化・再符号化フェーズにおけるデータフローとメモリ格納状況を示す図である。
【図１７】第２の実施形態における転送フェーズ後の符号化フェーズにおけるデータフローとメモリ格納状況を示す図である。
【図１８】実施形態における属性符号化部の構成を示す図である。
【図１９】実施形態で用いる量子化マトリクステーブルを示す図である。
【図２０】実施形態が適用する複写機の構成図である。
【図２１】初期設定テーブルの一例を示す図である。
【図１】
2006050096.tif 000003
【図２】
2006050096.tif 000004
【図３】
2006050096.tif 000005
【図４】
2006050096.tif 000006
【図５】
2006050096.tif 000007
【図６】
2006050096.tif 000008
【図７】
2006050096.tif 000009
【図８】
2006050096.tif 000010
【図９】
2006050096.tif 000011
【図１０】
2006050096.tif 000012
【図１１】
2006050096.tif 000013
【図１２】
2006050096.tif 000014
【図１３】
2006050096.tif 000015
【図１４】
2006050096.tif 000016
【図１５】
2006050096.tif 000017
【図１６】
2006050096.tif 000018
【図１７】
2006050096.tif 000019
【図１８】
2006050096.tif 000020
【図１９】
2006050096.tif 000021
【図２０】
2006050096.tif 000022
【図２１】
2006050096.tif 000023