(57)【特許請求の範囲】
【請求項１】
画素単位で入力される画像データを圧縮して圧縮画像データを出力する圧縮手段と、
各ラインの前記圧縮画像データを同期して伝送するために設けられ、少なくとも１ライン分の前記圧縮画像データを記憶するバッファメモリと、
前記圧縮画像データに対して伸張処理及び画像補正処理を合わせて実行し、前記圧縮画像データを復元し且つ画像補正を施した補正画像データを出力する画像処理手段と、を有し、
前記圧縮手段は、前記画像データをｎ画素毎のブロックに分けるとともに、当該ブロックの画像データの平均値を示す平均値データ、当該ブロックのダイナミックレンジを示すダイナミックレンジデータ、及び当該ブロック内における各画素の画像データの濃度位置を示す符号データを、前記圧縮画像データの中に含むように処理を行い、
前記画像処理手段は、前記符号データの値に関係なく独立した項と前記符号データの値に依存した項とに分けてそれらを別々に演算し、それらの和によって前記補正画像データを求める、
ことを特徴とする画像処理装置。
【請求項２】
前記画像処理手段は、前記圧縮画像データに対して、デジタルフィルタリングのための重み付き積和演算を行うことにより前記画像補正処理を行う、
請求項１記載の画像処理装置。
【請求項３】
前記ダイナミックレンジデータ及び前記平均値データに基づいて得られるバイアス値を前記ダイナミックレンジデータに加算することにより補正を行う補正処理手段が設けられてなる、
請求項１記載の画像処理装置。
【請求項４】
画素単位で入力される画像データを圧縮して圧縮画像データを出力する圧縮手段と、
各ラインの前記圧縮画像データを同期して伝送するために設けられ、少なくとも１ライン分の前記圧縮画像データを記憶するバッファメモリと、
前記圧縮画像データに対して伸張処理及び画像補正処理を合わせて実行し、前記圧縮画像データを復元し且つ画像補正を施した補正画像データを出力する画像処理手段と、を有し、
前記圧縮手段は、前記画像データをｎ画素毎のブロックに分けるとともに、当該ブロックの画像データの平均値を示す平均値データ、及び当該ブロックのダイナミックレンジを示すダイナミックレンジデータを、前記圧縮画像データの中に含むように処理を行うものであり、
さらに、前記ダイナミックレンジデータ及び前記平均値データに基づいて得られるバイアス値を前記ダイナミックレンジデータに加算することにより補正を行う補正処理手段が設けられてなる、
ことを特徴とする画像処理装置。
【請求項５】
画素単位で入力される画像データをｎ画素毎のブロックに分け、当該ブロックの画像データの平均値を示す平均値データ及び当該ブロックのダイナミックレンジを示すダイナミックレンジデータを含むように処理を行うことにより、ブロック毎の画像データを単位とする圧縮処理を行って圧縮画像データを生成する圧縮処理と、
前記ダイナミックレンジデータ及び前記平均値データに基づいて得られるバイアス値を前記ダイナミックレンジデータに加算することにより補正を行う補正処理手段と、
を有してなることを特徴とする画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、シリアルに入力される画像データに対してデジタルフィルタリングなどの処理を行う画像処理装置に関し、デジタル複写機、又はスキャナとプリンタとを組み合わせた画像再生システムなどに適用される。
【０００２】
【従来の技術】
ディジタル複写機においては、原稿を走査して読み取った画像データに対して、γ変換（ガンマ変換）、変倍、ＭＴＦ補正、又は２値化などの画像処理が行われる。ＭＴＦ補正は、画質改善のための処理であり、通常はエッジ強調に代表される２次元のデジタルフィルタリングを含んでいる。
【０００３】
デジタル複写機では、ライン順次の走査が行われ、走査の進行にともなって各画素の画像データがシルアルに伝送されるので、２次元のデジタルフィルタリングを行うには、各ラインの画像データを同期させるためにデータ遅延を行うことが不可欠である。
【０００４】
従来の画像処理装置では、例えば、５×５サイズのラプラシアンフィルタによるエッジ強調を行う場合において、４個のラインメモリを用いて４ライン分の画像データを一時的に記憶し、５ライン目の走査の進行に合わせて各ラインメモリからの読み出しを行い、合計５ライン分について同一の画素位置の画像データをフィルタ回路に同時に入力するように構成されていた。
【０００５】
【発明が解決しようとする課題】
従来では、１画素当たりのビット数が増えるにつれて、また、読み取りの解像度が高くなるにつれて、大容量のメモリが必要となって装置価格が上昇するという問題があった。
【０００６】
例えば、画像データのビット数が８ビット（２５６階調）であるとき、Ａ４横サイズの原稿を６００ｄｐｉの解像度で読取ると、１ライン当たりのデータ量が約８キロバイトとなり、４ライン分で合計３２キロバイトのメモリが必要であった。メモリが大型化すると、他の処理回路と合わせて１枚の基板に処理回路の全体を組み込むことが難しくなり、基板コストだけでなく組み込みスペースの面でも問題が生じる。
【０００７】
本発明は、デジタルフィルタリングのためのデータ遅延に必要なメモリの容量を削減することを目的としている。
【０００８】
【課題を解決するための手段】
請求項１の発明に係る装置は、画素単位で入力される画像データを圧縮して圧縮画像データを出力する圧縮手段と、各ラインの前記圧縮画像データを同期して伝送するために設けられ、少なくとも１ライン分の前記圧縮画像データを記憶するバッファメモリと、前記圧縮画像データに対して伸張処理及び画像補正処理を合わせて実行し、前記圧縮画像データを復元し且つ画像補正を施した補正画像データを出力する画像処理手段と、を有し、前記圧縮手段は、前記画像データをｎ画素毎のブロックに分けるとともに、当該ブロックの画像データの平均値を示す平均値データ、当該ブロックのダイナミックレンジを示すダイナミックレンジデータ、及び当該ブロック内における各画素の画像データの濃度位置を示す符号データを、前記圧縮画像データの中に含むように処理を行い、前記画像処理手段は、前記符号データの値に関係なく独立した項と前記符号データの値に依存した項とに分けてそれらを別々に演算し、それらの和によって前記補正画像データを求める。
【００１０】
請求項２の発明に係る装置では、前記画像処理手段は、前記圧縮画像データに対して、デジタルフィルタリングのための重み付き積和演算を行うことにより前記画像補正処理を行う。
【００１１】
請求項３の発明に係る装置では、前記ダイナミックレンジデータ及び前記平均値データに基づいて得られるバイアス値を前記ダイナミックレンジデータに加算することにより補正を行う補正処理手段が設けられてなる。
請求項４の発明に係る装置では、画素単位で入力される画像データを圧縮して圧縮画像データを出力する圧縮手段と、各ラインの前記圧縮画像データを同期して伝送するために設けられ、少なくとも１ライン分の前記圧縮画像データを記憶するバッファメモリと、前記圧縮画像データに対して伸張処理及び画像補正処理を合わせて実行し、前記圧縮画像データを復元し且つ画像補正を施した補正画像データを出力する画像処理手段と、を有し、前記圧縮手段は、前記画像データをｎ画素毎のブロックに分けるとともに、当該ブロックの画像データの平均値を示す平均値データ、及び当該ブロックのダイナミックレンジを示すダイナミックレンジデータを、前記圧縮画像データの中に含むように処理を行うものであり、さらに、前記ダイナミックレンジデータ及び前記平均値データに基づいて得られるバイアス値を前記ダイナミックレンジデータに加算することにより補正を行う補正処理手段が設けられてなる。
【００１２】
請求項５の発明に係る装置は、画素単位で入力される画像データをｎ画素毎のブロックに分け、当該ブロックの画像データの平均値を示す平均値データ及び当該ブロックのダイナミックレンジを示すダイナミックレンジデータを含むように処理を行うことにより、ブロック毎の画像データを単位とする圧縮処理を行って圧縮画像データを生成する圧縮処理と、前記ダイナミックレンジデータ及び前記平均値データに基づいて得られるバイアス値を前記ダイナミックレンジデータに加算することにより補正を行う補正処理手段と、を有してなる。
【００１３】
図２乃至図４に示すように、本発明においては、画像補正処理を行うに当たって、圧縮手段である圧縮部２０によって画像データＤ３の圧縮処理を行う。
圧縮処理に当たり、入力される画像データＤ３が、例えば８画素毎、１６画素毎、３２画素毎などのように、ｎ（ｎは整数）画素毎にブロック化される。この場合に、圧縮処理は各ブロック毎に行われる。圧縮処理において、例えば８ビットの画像データＤ３が２ビットの符号データＤ３ＣＢに変換され、これに例えば当該ブロック内におけるダイナミックレンジデータ及び平均値データからなるヘッダＤ３ＣＡが加えられる。
【００１４】
圧縮処理された圧縮画像データＤ３Ｃは、バッファメモリであるＦＩＦＯメモリ３０ａ〜ｄに一時的に記憶される。ＦＩＦＯメモリ３０ａ〜ｄから読み出された圧縮画像データＤ３Ｃ及び／又は圧縮部２０から出力される圧縮画像データＤ３Ｃに対して、画像処理手段であるＭＴＦ演算部５０によって、伸張処理及び画像補正処理が合わせて実行される。
【００１５】
図１０に示すように、補正処理手段である符号データ補正部６０において、バイアス値ＢＳをダイナミックレンジデータに加算することにより、ガンマ補正などの補正処理が行われる。
【００１６】
【発明の実施の形態】
図１は画像処理装置１のブロック図、図２はＭＴＦ補正部１５のブロック図、図３は圧縮部２０のブロック図、図４は入力される画像データＤ３及び圧縮画像データＤ３Ｃを示す図、図５は圧縮画像データＤ３Ｃの生成の原理を説明する図、図６乃至図８はＭＴＦ補正部１５における処理内容を示すフローチャート、図９はＭＴＦ演算部５０の構成の例を示すブロック図である。
【００１７】
図１において、画像処理装置１は、イメージセンサ１１、ＡＤ変換部１２、シェーディング補正部１３、変倍部１４、ＭＴＦ補正部１５、ガンマ補正部１６、及び２値化処理部１７からなる。
【００１８】
イメージセンサ１１は、ＣＣＤを用いたラインセンサであり、図示しない走査機構により原稿に対して相対移動する。イメージセンサ１１は、原稿の画像をライン毎に読み取り、各画素の画像信号Ｓ１をシリアルに出力する。
【００１９】
ＡＤ変換部１２は、アナログ信号である画像信号Ｓ１を量子化し、デジタル信号である画像データＤ１に順次変換する。本実施形態において、画像データＤ１は、１画素当たり８ビットのデータ、つまり２５６階調の濃淡データである。
【００２０】
シェーディング補正部１３は、画像データＤ１に対してシェーディング補正を行い、また必要に応じてＬＯＧ変換を行い、画像データＤ２を出力する。
変倍部１４は、画像データＤ２に対して拡大処理又は縮小処理を行い、画像データＤ３を出力する。
【００２１】
ＭＴＦ補正部１５は、画像データＤ３に対してＭＴＦ補正を行い、画像データＤ４を出力する。本実施形態においては、ＭＴＦ補正を行うに当たり、画像データＤ３を一旦圧縮し、圧縮画像データＤ３Ｃに対してフィルタリングを行う。そのフィルタリングにおいて、圧縮処理に対応した伸張処理をも同時に行う。詳細は後述する。
【００２２】
ガンマ補正部１６は、画像データＤ４に対してガンマ補正を行い、画像データＤ５を出力する。２値化処理部１７は、画像データＤ５に対して２値化処理を行い、２値の画像データＤ６を出力する。
【００２３】
このような画像処理装置１の構成及び動作は、ＭＴＦ補正部１５を除いて公知である。
次に、ＭＴＦ補正部１５の構成及び処理内容を説明するが、その前に、ＭＴＦ補正部１５の処理内容の理解を助けるために、図１４に示すＭＴＦ補正部１５Ｋの処理内容について、図３乃至図５をも参照しながら説明する。
【００２４】
図１４はＭＴＦ補正部１５の処理内容の説明のためのＭＴＦ補正部１５Ｋのブロック図、図１５はＭＴＦ補正部１５Ｋに設けられる伸張部４０のブロック図である。
【００２５】
図１４に示すＭＴＦ補正部１５Ｋは、入力される画像データＤ３に対して、本実施形態のＭＴＦ補正部１５と同じ内容の処理を施して同じ状態の画像データＤ４を出力するが、その構成がＭＴＦ補正部１５とは異なる。図１４において、図２に示す構成要素と同じ機能を有する構成要素については同じ符号を付す。
【００２６】
ＭＴＦ補正部１５Ｋは、圧縮部２０、４つのＦＩＦＯメモリ３０ａ〜ｄ、伸張部４０、及びＭＴＦ演算部５０Ｋからなる。
圧縮部２０は、画素単位でシリアルに入力される画像データＤ３をｎ画素分の画像データ毎にブロック化し、ブロック毎の画像データを単位として圧縮処理を行い、圧縮画像データＤ３Ｃを生成する。このような圧縮処理はＧＢＴＣ（Generalized Block Truncation Coding ）処理と呼称されることがある。
【００２７】
図３に示すように、圧縮部２０は、最大値・最小値検出部２１、ダイナミックレンジ・レンジ平均値の算出部２２、４値化閾値の算出部２３、及び４値化部２４から構成されている。
【００２８】
最大値・最小値検出部２１は、シリアルに入力される画像データＤ３をｎ画素毎にブロック分割し、ブロック内の最大値（ＭＡＸ）及び最小値（ＭＩＮ）を検出する（図５を参照）。
【００２９】
ダイナミックレンジ・レンジ平均値の算出部２２は、最大値と最小値との差であるダイナッミックレンジＬＤ（＝ＭＡＸ−ＭＩＮ）、及びレンジ平均値ＬＡ〔＝（ＭＡＸ＋ＭＩＮ）／２〕を算出する。
【００３０】
４値化閾値の算出部２３は、ダイナミックレンジＬＤとレンジ平均値ＬＡとから、第１の４値化閾値Ｌ１（＝ＬＡ−ＬＤ／４）、及び第２の４値化閾値Ｌ２（＝ＬＡ＋ＬＤ／４）を算出する。これら算出値にレンジ平均値ＬＡを合わせた３個のフローティング閾値Ｌ１，ＬＡ，Ｌ２によって、ダイナミックレンジＬＤが４等分される（図５を参照）。
【００３１】
４値化部２４は、ブロック内の各画素の入力データ値とフローティング閾値Ｌ１，ＬＡ，Ｌ２とを比較して、８ビットの画像データＤ３を２ビット（４階調）の符号データＤ３ＣＢに変換するとともに、ブロック毎にダイナミックレンジＬＤとレンジ平均値ＬＡとを示す２バイトのヘッダＤ３ＣＡを付加し、８画素分の圧縮画像データＤ３Ｃとして出力する（図４を参照）。
【００３２】
なお、ヘッダＤ３ＣＡを符号データＤ３ＣＡと記載することがある。符号データＤ３ＣＢの各画素を表す２ビットを「符号ビット」と記載することがある。
したがって、１ブロック分の圧縮画像データＤ３Ｃは、２バイトのヘッダＤ３ＣＡとｎ／４バイトの符号データＤ３ＣＢとから構成される。これにより、入力されたｎバイトのデータが（２＋ｎ／４）バイトに圧縮される。圧縮率ＣＲは（２＋ｎ／４）／ｎである。これによって、データ量が（２＋ｎ／４）／ｎに減少する。したがって、それだけＦＩＦＯメモリ３０の容量を減少させることができる。
【００３３】
圧縮部２０において、入力される画像データＤ３の解像度、又は１ラインの有効画素数などに応じて、圧縮率ＣＲを変更することが可能である。。その場合に、圧縮率の変更は上述のｎの値を変更することにより行われる。例えば、ｎを８、１６、３２、６４としたときに、圧縮率ＣＲは、それぞれ、１／２、３／８、５／１６、９／32となる。図１１は、ｎを８とし、１／２に圧縮した圧縮画像データＤ３Ｃの例を示す。また、圧縮部２０を動作させることなく、画像データＤ３をそのまま通過させることによって、非圧縮、つまり圧縮率ＣＲを１とすることができる。
【００３４】
ＦＩＦＯメモリ３０ａ〜ｄは、それぞれ、先入れ先出し方式のラインメモリである。ＦＩＦＯメモリ３０ａ〜ｄは、圧縮部２０から出力される圧縮画像データＤ３Ｃをそれぞれ１ライン分記憶し、それぞれ１ライン分ずつ遅延させる。つまり、ＦＩＦＯメモリ３０ａからは、圧縮部２０から現に出力されている圧縮画像データＤ３Ｃに対して１ライン前の圧縮画像データＤ３Ｃが出力される。同様に、ＦＩＦＯメモリ３０ｂ，ｃ，ｄからは、圧縮画像データＤ３Ｃに対して、２ライン前、３ライン前、４ライン前の圧縮画像データＤ３Ｃがそれぞれ出力される。このように、ＦＩＦＯメモリ３０ａ〜ｄには、４ライン分の、つまり４組の圧縮画像データＤ３Ｃが記憶される。
【００３５】
なお、ＦＩＦＯメモリ３０ａ〜ｄの全部又は一部を指して「ＦＩＦＯメモリ３０」と記載することがある。また、圧縮部２０から現に出力される圧縮画像データＤ３Ｃを「Ｃ０」、ＦＩＦＯメモリ３０ａ〜ｄからそれぞれ出力される圧縮画像データＤ３Ｃを「Ｃ１」「Ｃ２」「Ｃ３」又は「Ｃ４」と、それぞれ記載することがある。
【００３６】
伸張部４０は、圧縮画像データＤ３Ｃに対して伸張処理を行い、復元された画像データＤ３Ｅを生成する。
図１５に示すように、伸張部４０は、圧縮画像データＤ３ＣからダイナミックレンジＬＤ及びレンジ平均ＬＡを抽出する部分４１と、符号データＤ３ＣＢの値Ｘ（＝０，１，２，３）に応じてデータの伸張を行う部分４２とからなる。伸張によって２ビットのデータが８ビットに復元される。
【００３７】
データの伸張を行う部分４２において、伸張のために種々の演算式を適用することが可能であるが、伸張された画像データＤ３Ｅを「Ｅ」として、例えば次の演算式が用いられる。
【００３８】
Ｘ＝Ｘ０＝０のとき      Ｅ＝ＬＡ−ＬＤ／２
Ｘ＝Ｘ１＝１のとき      Ｅ＝ＬＡ−ＬＤ／６
Ｘ＝Ｘ２＝２のとき      Ｅ＝ＬＡ＋ＬＤ／６
Ｘ＝Ｘ３＝３のとき      Ｅ＝ＬＡ＋ＬＤ／２
伸張部４０は、圧縮部２０から出力される圧縮画像データＤ３Ｃ、及び４つのＦＩＦＯメモリ３０ａ〜ｄから出力される圧縮画像データＤ３Ｃを、それぞれ同時に伸張する。つまり、圧縮画像データＤ３Ｃ（Ｃ０，Ｃ１，Ｃ２，Ｃ３，Ｃ４）をそれぞれ伸張して画像データＤ３Ｅ（Ｅ０，Ｅ１，Ｅ２，Ｅ３，Ｅ４）を同時に生成する。これら画像データＥｋ（ｋ＝０，１，２，３，４）が、それぞれ同時にＭＴＦ演算部５０Ｋに入力される。
【００３９】
ＭＴＦ演算部５０Ｋは、入力される画像データＥｋｌ（ｋ，ｌ＝０〜４）に対して、５×５サイズの２次元のデジタルフィルタ５１Ｋを適用して空間フィルタリングを行い、これによって画像のエッジ強調を行う。つまり、デジタルフィルタ５１Ｋは荷重マトリクス（重み付け係数）Ｗｋｌを有しており、画像データＥｋｌに対して荷重マトリクスＷｋｌの重み付け積和演算を行う。ＭＴＦ演算部５０Ｋからは、次の（１）式で示される画像データＤ４が出力される。
【００４０】
Ｄ４＝Σ（Ｗｋｌ×Ｅｋｌ）／ΣＷｋｌ  ……（１）
図２に示す本実施形態のＭＴＦ補正部１５では、図１４に示す伸張部４０及びＭＴＦ演算部５０Ｋの両方の処理を、１つのＭＴＦ演算部５０によって同時に行うのである。
【００４１】
すなわち、上述した伸張のための演算式を、符号データＤ３ＣＢの値Ｘｋ（ｋ＝０，１，２，３）を用いて示すと次の（２）式となる。
Ｅｋ＝ＬＡ−ＬＤ／２＋ＬＤ×Ｘｋ／３  ……（２）
但し、Ｘｋ＝ｋ
ｋは０〜３の整数
この（２）式では、値Ｘｋと関係なく独立した項、つまり１つのブロックにおいて共通に用いられる項である〔ＬＡ−ＬＤ／２〕と、値Ｘｋに依存した項である〔ＬＤ×Ｘｋ／３〕との和によって、伸張した画像データＥが求められる。つまり、ブロックについて共通に用いられる項と、各画素毎に算出して用いられる項とに分けて、それらを別々に演算することにより、演算処理の内容が簡単となる。
【００４２】
上述の（２）式を（１）式に代入して整理すると次の（３）式が得られる。
Ｄ４＝Σ（Ｗｋｌ×Ｅｋｌ）／ΣＷｋｌ
＝Σ［｛（ＬＡ１ｋ−ＬＤ１ｋ／２）×ΣＷｋｉ
＋ＬＤ１ｋ×ΣＸk,i   ×Ｗｉ／３｝
＋｛（ＬＡ２ｋ−ＬＤ２ｋ／２）×ΣＷｋｊ
＋ＬＤ２ｋ×ΣＸk,j-N1×Ｗｉ／３｝］／ΣＷｋｌ
……（３）
但し、ｉ＝０〜Ｎ１−１，ｊ＝Ｎ１〜４
なお、Ｎ１は、同時に処理される圧縮画像データＤ３Ｃのうち、新しい方のブロックに属する圧縮画像データＤ３Ｃの画素数である。また、ＬＤ１ｋ，ＬＡ１ｋは、同時に処理される圧縮画像データＤ３Ｃのうち、新しい方のブロックに属する圧縮画像データＤ３ＣのダイナミックレンジＬＤ及びレンジ平均ＬＡ、ＬＤ２ｋ，ＬＡ２ｋは、同じく古い方のブロックに属する圧縮画像データＤ３ＣのダイナミックレンジＬＤ及びレンジ平均ＬＡである。
【００４３】
ここで、上述の（３）式による演算の利点を説明するために、圧縮画像データＤ３Ｃに対して１次元のデジタルフィルタリングを行う場合について、図１３を参照して説明する。
【００４４】
圧縮画像データＤ３Ｃは、８画素毎にブロック化されているので、図１３に示す５×１サイズのデジタルフィルタリングを行う場合に、同時にデジタルフィルタリングが行われるブロックの数は１又は２である。つまり、ある時点において、１つのブロックの圧縮画像データＤ３Ｃについてのデジタルフィルタリングが行われているか、又はそのブロックとその次のブロックとの２つのブロックの圧縮画像データＤ３Ｃについてのデジタルフィルタリングが行われているかのいずれかである。図１３では、新しい方のブロック（ブロック１）に属する圧縮画像データＤ３Ｃの２画素分と、古い方のブロック（ブロック２）に属する圧縮画像データＤ３Ｃの３画素分とについて、デジタルフィルタリングの行われている状態が示されている。
【００４５】
図１３に示す状態においては、ブロック１の最初の３つの画素の圧縮画像データＤ３Ｃに対して、重み付け係数Ｗ０，Ｗ１，Ｗ２を掛け算し、ブロック２の最後の２つの画素の圧縮画像データＤ３Ｃに対して、重み付け係数Ｗ３，Ｗ４を掛け算し、それぞれ得られた５つのデータを加算することにより、デジタルフィルタリングが行われる。この場合に、デジタルフィルタリングによって得られる画像データＤ４は、次の（４）式で示される。
【００４６】
Ｄ４＝Σ（Ｗｋ×Ｅｋ）／ΣＷｋ  ……（４）
但し、ｋは０〜４の整数
ところで、圧縮画像データＤ３Ｃに対しては、上述の（２）式による伸張処理をも実行する必要があるので、（４）式のＥｋに（２）式を代入した処理を行うことによって、伸張処理とデジタルフィルタリングとを同時に行う。上の（２）式を（４）式に代入して整理すると次の（５）式が得られる。
【００４７】
Ｄ４＝Σ（Ｗｋ×Ｅｋ）／ΣＷｋ
＝Σ［｛（ＬＡ１−ＬＤ１／２）×ΣＷｉ
＋ＬＤ１×ΣＸi   ×Ｗｉ／３｝
＋｛（ＬＡ２−ＬＤ２／２）×ΣＷｊ
＋ＬＤ２×ΣＸj-N1×Ｗｉ／３｝］／ΣＷｋ
……（５）
但し、ｉ＝０〜N1−１，ｊ＝N1〜４
なお、Ｎ１は、同時に処理される圧縮画像データＤ３Ｃのうち、新しい方のブロック（ブロック１）に属する圧縮画像データＤ３Ｃの画素数である。また、ＬＤ１，ＬＡ１は、同時に処理される圧縮画像データＤ３Ｃのうち、新しい方のブロック１に属する圧縮画像データＤ３ＣのダイナミックレンジＬＤ及びレンジ平均ＬＡ、ＬＤ２，ＬＡ２は、同じく古い方のブロック２に属する圧縮画像データＤ３ＣのダイナミックレンジＬＤ及びレンジ平均ＬＡである。
【００４８】
つまり、この（５）式にしたがった処理を行うことにより、伸張処理とデジタルフィルタリングとが同時に行われる。（５）式による各ブロックの圧縮画像データＤ３Ｃに対する演算において、それぞれの最初の項である、（ＬＡ１−ＬＤ１／２）、（ＬＡ２−ＬＤ２／２）は、１つのブロック内で共通に用いることができ、また、ΣＷｉ、ΣＷｊの項は、１回の処理において各画素に対して共通に用いることができるので、全体の演算処理が簡単となる。
【００４９】
この（５）式による演算を、２次元のデジタルフィルタリングに適用したものが、上に述べた（３）式の演算式である。したがって、（３）式による演算は、（５）式による演算と同様に、１つのブロック内で共通に用いられる項、及び１回の処理において各画素に対して共通に用いられる項が存在するので、全体の演算処理が簡単となる。
【００５０】
また、ＭＴＦ補正部１５によると、圧縮部２０によって画像データＤ３を圧縮し、データ量を半分に減少させているので、ＦＩＦＯメモリ３０ａ〜ｄの容量を半分に削減することができる。このようなＭＴＦ補正部１５の圧縮部２０及びＭＴＦ演算部５０は、ハードウエア回路により、又はＣＰＵ又はＤＳＰを用いたソフトウエアにより、又はこれらの併用によって、それぞれ実現することができる。
【００５１】
さて、ＭＴＦ補正部１５の具体的な処理内容及び構成について、フローチャート又はブロック図を用いて説明する。
図６において、ＭＴＦ補正部１５においては、入力された画像データＤ３を圧縮し（＃１１）、その後デジタルフィルタリング（フィルタ処理）を行う（＃１２）。
【００５２】
図７において、圧縮処理では、入力される画像データＤ３をブロックに分割し（＃２１）、ブロック内の最大値ＭＡＸ及び最小値ＭＩＮを検出する（＃２２）。ダイナミックレンジＬＤ及びレンジ平均値ＬＡを算出してヘッダＤ３ＣＡを得る（＃２３）。各画素の画像データＤ３を４値化し、８画素分についての符号ビットを算出して符号データＤ３ＣＢを得る（＃２４，２５）。得られた圧縮画像データＤ３Ｃを出力する（＃２６）。全ての画素についての圧縮処理を終了するまで繰り返す（＃２７）。
【００５３】
図８において、フィルタ処理では、まず、１回のフィルタ処理に必要な圧縮画像データＤ３Ｃの符号データを抽出する（＃３１）。１つのブロック内において共通に用いられる項についてその値を算出する（＃３２）。算出した値は適当なメモリ領域に記憶される。ΣＷｉ及びΣＷｊを算出する（＃３３）。ステップ＃３２で求めた結果とステップ＃３３で求めた結果とから、上の（３）式のうちの１回の処理において各画素に対して共通に用いられる項の値を算出する（＃３４）。
【００５４】
各画素毎の符号ビットを抽出する（＃３５）。各画素の符号ビットとステップ＃３３で求めた結果とから、Ｘｉ×Ｗｉ、Ｘｊ×Ｗｊを算出する（＃３６）。１回の処理に必要な画素の全てについての算出が終了するまで繰り返す（＃３７）。得られた値に基づいて、上の（３）式のうちの各画素毎に求める必要のある項の値を算出する（＃３８）。
【００５５】
１つのラインについての算出結果Ｆを出力する（＃３９）。全てのラインについての算出結果Ｆ０〜４を出力する（＃４０）。全ての算出結果Ｆ０〜４の総和ΣＦｋから、ΣＦｋ／ΣＷｋｌを求める（＃４１）。演算結果を出力し（＃４２）、全ての画素についての演算出力が終了するまで繰り返す（＃４３）。
【００５６】
上述の処理によると、ステップ＃３６及びステップ＃３８では符号ビットを含んだ演算を行うが、符号ビットは各２ビットであるので、演算が極めて容易であり、ハードウエア回路で実現した場合にその回路規模が小さくて済み、ソフトウエアで実現した場合にその処理速度が速い。
【００５７】
図９において、ＭＴＦ演算部５０は、符号データ抽出部５１１、演算部５１２ａ，５１２ｂ、演算部５１３，５１４、乗算部５１５ａ，５１５ｂ、演算部５１６、乗算部５１７ａ，５１７ｂ、及び加算部５１８を有する。図示は省略したが、ＭＴＦ演算部５０には、これらによる回路が、５つのラインに対して１つずつ、つまり全部で５つ設けられている。そして、加算部５２１及び除算部５２２が設けられている。
【００５８】
符号データ抽出部５１１は、入力される圧縮画像データＤ３Ｃから、１回のフィルタ処理に必要なヘッダＤ３ＣＡなどの符号データを抽出する。演算部５１２ａ，５１２ｂは、各ブロックについて共通に用いられる項についてその値を算出する。演算部５１３は、ΣＷｉ及びΣＷｊを算出する。演算部５１４は、Ｗｉ×Ｘｉ及びＷｊ×Ｘｊを算出する。乗算部５１５ａ，５１５ｂは、入力される２つの値の乗算を行う。演算部５１６は、ΣＷｉ×Ｘｉ／３及びΣＷｊ×Ｘｊ／３を算出する。乗算部５１７ａ，５１７ｂは、入力される２つの値の乗算を行う。加算部５１８は、入力される値を加算し、これによって１つのラインの総和Ｆを出力する。
【００５９】
５つの各ラインについて、この総和Ｆが出力される。加算部５２１は、５つの総和Ｆ０〜４を加算する。除算部５２２は、加算部５２１から出力される総和ΣＦｋを、重み付け係数の総和ΣＷｋｌで除す。これによって、補正された画像データＤ４が得られる。
【００６０】
図９のＭＴＦ演算部５０における符号データ抽出部５１１はステップ＃３１及び３５の、演算部５１２ａ，５１２ｂはステップ＃３２の、演算部５１３はステップ＃３３の、演算部５１４はステップ＃３６の、乗算部５１５ａ，５１５ｂはステップ＃３４の、演算部５１６はステップ＃３８の、加算部５１８はステップ＃３９及び４０の、加算部５２１はステップ＃４１及び４２の、それぞれの処理に対応する。
【００６１】
ここで、比較のために、図１４に示すＭＴＦ補正部１５Ｋにおける伸張部４０及びＭＴＦ演算部５０Ｋの具体的な処理内容及び構成の例を説明する。
図１６は伸張部４０の処理内容を示すフローチャート、図１７はＭＴＦ演算部５０Ｋの処理内容を示すフローチャート、図１８は伸張部４０の構成の例を示すブロック図、図１９はＭＴＦ演算部５０Ｋの構成の例を示すブロック図である。
【００６２】
図１６において、伸張処理では、まず、符号データを抽出する（＃８１）。各画素毎の符号ビットを抽出する（＃８２）。上の（２）式を適用して各画素毎の伸張処理を行う（＃８３）。各画素毎の復元された画像データを出力する（＃８４）。ブロック内の全ての画素についての処理が終了するまで繰り返す（＃８５）。全てのブロックの処理が終了すれば終了する（＃８６）。
【００６３】
図１７において、フィルタ処理では、画素を抽出し（＃９１）、画素位置に対応した重み付け演算（Ｅｋｌ×Ｗｋｌ）を行う（＃９２）。これらの処理を、１回のフィルタ処理における全ての画素について行う（＃９３）。
【００６４】
重み付け演算結果の総和Ｆｋ〔＝Σ（Ｅｋｌ×Ｗｋｌ）〕を算出する（＃９４）。全ラインについてのＦｋを加算した総和ΣＦｋを、重み付け係数の総和ΣＷｋｌで除す（＃９５）。これによって補正された画像データＤ４が得られる（＃９６）。
【００６５】
図１８において、伸張部４０は、符号データ抽出部４１１、演算部４１２ａ，４１２ｂ、及び加算部４１３を有する。図示は省略したが、伸張部４０には、これらによる回路が、５つのラインに対して１つずつ、つまり全部で５つ設けられている。
【００６６】
符号データ抽出部４１１は、ヘッダ及び各画素毎の符号ビットを抽出する。演算部４１２ａ，４１２ｂは入力される値を乗算し、加算部４１３は演算部４１２ａ，４１２ｂから入力される値を加算する。これによって、上の（２）式に則った演算を行い、復元された画像データＥｋを出力する。
【００６７】
図１９において、ＭＴＦ演算部５０Ｋは、シリアルパラレル変換部５３１、乗算部５３２ａ〜ｅ、加算部５３３、加算部５３４、及び除算部５３５を有する。図示は省略したが、シリアルパラレル変換部５３１、乗算部５３２ａ〜ｅ、及び加算部５３３からなる演算回路５３０は、５つのラインに対して１つずつ、つまり全部で５つ設けられている。
【００６８】
シリアルパラレル変換部５３１は、画素毎に入力される８ビットの画像データＥｋから、１回のフィルタ処理に必要な５画素分の画像データＥｋｌを生成して出力する。乗算部５３２ａ〜ｅは、入力される画像データＥｋｌにそれぞれ重み付け係数Ｗｋｌを乗じる。加算部５３３は、入力される５画素分のデータを加算して総和Ｆｋ〔＝Σ（Ｅｋｌ×Ｗｋｌ）〕を算出する。加算部５３４は、５つのラインから出力される総和Ｆｋを加算して総和ΣＦｋを算出する。除算部５３５は、総和ΣＦｋを重み付け係数の総和ΣＷｋｌで除す。これによって補正された画像データＤ４が得られる。
【００６９】
図１８の伸張部４０における符号データ抽出部４１１はステップ＃８１及び８２の、演算部４１２ａ，４１２ｂ及び加算部４１３はステップ＃８３の、それぞれの処理に対応する。また、図１９のＭＴＦ演算部５０Ｋにおけるシリアルパラレル変換部５３１はステップ＃９１の、乗算部５３２ａ〜ｅはステップ＃９２の、加算部５３３はステップ＃９４の、加算部５３４及び除算部５３５はステップ＃９５の、それぞれの処理に対応する。
【００７０】
図９に示す本実施形態のＭＴＦ演算部５０と、図１８及び図１９に示す伸張部４０及びＭＴＦ演算部５０Ｋとを比較すると、本実施形態のＭＴＦ演算部５０の方が構成を簡単化できることが分かる。したがって、例えば、ＭＴＦ演算部５０を１チップの半導体回路素子で構成することが容易である。
【００７１】
上述の実施形態において、入力される画像データＤ１の解像度は、４００ｄｐｉ、６００ｄｐｉ、８００ｄｐｉ、１２００ｄｐｉ、又は３００ｄｐｉなど、種々のものとすることもできる。デジタルフィルタ５１として、例えば３×３サイズ、７×７サイズ、９×９サイズなど、上述した以外のサイズのものを用いることも可能である。また、デジタルフィルタ５１の内容つまり重み付け係数Ｗｋｌの値は、上述した以外に種々設定することができる。圧縮部２０における圧縮手法及び伸張部４０における伸張手法は、上述の例に限定されない。ブロック化を行う際の１ブロックに含まれる画素数が８画素である場合について説明したが、例えば１６画素、３２画素、６４画素などとすることができる。注目画素に対してその周囲のＭ（≧２）ラインに属する画素を参照するフィルタリングを行う場合、（Ｍ−１）ライン分のデータ遅延を行えばよい。
【００７２】
次に、ガンマ補正を同時に実行するように構成したＭＴＦ補正部１５Ｇの実施形態について説明する。
図１０はガンマ補正を同時に実行するように構成した実施形態のＭＴＦ補正部１５Ｇのブロック図、図１１はＭＴＦ補正部１５Ｇで用いられるガンマ補正テーブルＴＧＭの例を示す図、図１２は図１のガンマ補正部１６で用いられる通常のガンマ補正テーブルＴＧＪの例を示す図である。
【００７３】
図１０において、ＭＴＦ補正部１５Ｇは、圧縮部２０、符号データ補正部６０、ＦＩＦＯメモリ３０ａ〜ｄ、及びＭＴＦ演算部５０からなる。符号データ補正部６０を除く他の構成は、図２に示すＭＴＦ補正部１５と同じである。したがって、符号データ補正部６０についてのみ説明し、他の要素の説明は省略する。
【００７４】
符号データ補正部６０は、圧縮部２０によって得られる圧縮画像データＤ３ＣのヘッダＤ３ＣＡに含まれるダイナミックレンジＬＤの値を、画像の種類に応じて補正する。つまり、補正されたダイナミックレンジＬＤ’は、次の（６）式によって示される。
【００７５】
ＬＤ’＝ＬＤ＋ＢＳ  ……（６）
ここで、ＢＳはバイアス値である。バイアス値ＢＳは、例えば、画像が写真画像である場合には常に零又はダイナミックレンジＬＤに応じた一定の値とし、文字画像である場合に、レンジ平均値ＬＡに応じて所定の値をとる。バイアス値ＢＳを示したものが、ガンマ補正テーブルＴＧＭである。
【００７６】
ところで、図１２に示す通常のガンマ補正テーブルＴＧＪは、入力濃度値ＩＤに対する出力濃度値ＯＤを求めるものである。通常、写真のような渡淡画像については、直線ＣＶ１１で示すような線形テーブルを使用する。文字のようにエッジを多く含む画像については、曲線ＣＶ１２で示すようなＳ字テーブルを使用し、低濃度部のコントラストを向上させている。
【００７７】
図１１に示すガンマ補正テーブルＴＧＭにおいて、横軸はレンジ平均値ＬＡ、縦軸は上述のバイアス値ＢＳである。直線ＣＶ１は、レンジ平均値ＬＡに対してバイアス値ＢＳが基準値ＶＲとなる直線である。基準値ＶＲは、ダイナミックレンジＬＤの大きさに応じて設定される。曲線ＣＶ２は、図１２に示す直線ＣＶ１１と曲線ＣＶ１２との差を直線ＣＶ１に対して写像したものである。直線ＣＶ１は写真画像に用いられ、曲線ＣＶ２は文字画像に用いられる。直線ＣＶ１と曲線ＣＶ２とは、写真モードと文字モードとの切り換えによって自動的に切り換えられる。
【００７８】
文字画像の場合に、ガンマ補正テーブルＴＧＭから得られたバイアス値ＢＳをダイナミックレンジＬＤに加算することにより、通常のガンマ補正よりもコントラストを向上させることが可能となる。しかし、写真画像については、図１２の直線ＣＶ１１と同等とすることが好ましいので、ダイナミックレンジＬＤの大きさにより、例えばＬＤ／ＬＤｍａｘの値により、基準値ＶＲを加減する。これにより、写真画像であっても、ダイナミックレンジＬＤが大きいほど文字らしくなって線形テーブルに近づき、ダイナミックレンジＬＤが小さいほど写真らしくなってＳ字テーブルに近づく。
【００７９】
ここで用いられるダイナミックレンジＬＤは、圧縮部２０で得られるダイナミックレンジＬＤであり、その検出のために特別な回路又は処理などを必要としない。また、符号データ補正部６０においては、ガンマ補正テーブルＴＧＭから得られたバイアス値ＢＳをダイナミックレンジＬＤに加算するだけであり、簡単な回路構成又は処理で実現できる。
【００８０】
上述の実施形態のＭＴＦ補正部１５Ｇでは、図２に示すＭＴＦ補正部１５に対して符号データ補正部６０を加えることによって構成したが、図１４に示すＭＴＦ補正部１５Ｋに対して符号データ補正部６０を加えることによって構成してもよい。
【００８１】
上述の実施形態においては、５×５サイズのデジタルフィルタ５１を用いる場合に、４ラインについてＦＩＦＯメモリ３０で遅延させ、１ラインについては圧縮部２０から出力される圧縮画像データＤ３Ｃをそのまま用いたが、５ラインの全部についてＦＩＦＯメモリ３０を用いて遅延させるように構成してもよい。
【００８２】
また、１ラインについては画像データＤ３の圧縮を行うことなく、画像データＤ３をそのままＭＴＦ演算部５０に入力することも可能である。この場合には、他の４ラインについては圧縮を行い、ＦＩＦＯメモリ３０で遅延させた後、ＭＴＦ演算部５０に入力する。ＭＴＦ演算部５０では、上とは異なる演算式によって演算を行う。
【００８３】
上述の実施形態においては、固定長符号化方式である１次元ブロック符号化による圧縮処理を行うので、データ内容に係わらず確実にデータ容量を削減することができる。可変長符号化では、圧縮処理によってデータ量が増えてしまう場合が起こり得るので、ＦＩＦＯメモリ３０ａ〜ｄの小容量化を図ることができない。
【００８４】
上述の実施形態において、４値化のためのフローティング閾値Ｌ１，ＬＡ，Ｌ２の設定は種々変更することができる。また、データの伸張のための演算式も種々変更することができる。例えば、Ｘ＝１又は２のときの演算式を、それぞれＥ＝ＬＡ−ＬＤ／６、Ｅ＝ＬＡ＋ＬＤ／６としているが、これらを、Ｅ＝ＬＡ−３ＬＤ／１６、Ｅ＝ＬＡ＋３ＬＤ／１６としてもよい。画像補正処理としてＭＴＦ補正を行った場合について説明したが、ＭＴＦ補正以外の画像補正を行うこととしてもよい。その他、圧縮部２０、ＦＩＦＯメモリ３０ａ〜ｄ、ＭＴＦ演算部５０、ＭＴＦ補正部１５、又は画像処理装置１の全体又は各部の構成、構造、形状、回路、処理内容又は処理順序、処理タイミングなどは、本発明の趣旨に沿って適宜変更することができる。
【００８５】
【発明の効果】
本発明によると、デジタルフィルタリングのためのデータ遅延に必要なメモリの容量を削減することができ、装置の低価格化を図ることができる。しかも、伸張処理及び画像補正処理を合わせて実行することにより、それらの処理のための構成を簡単化することができる。
【００８６】
請求項４及び請求項５の発明によると、ガンマ補正などの補正処理を加算によって行うことができ、簡単な回路構成で補正処理を実現できる。
【図面の簡単な説明】
【図１】画像処理装置のブロック図である。
【図２】ＭＴＦ補正部のブロック図である。
【図３】圧縮部のブロック図である。
【図４】入力される画像データ及び圧縮画像データを示す図である。
【図５】圧縮画像データの生成の原理を説明する図である。
【図６】ＭＴＦ補正部における処理内容を示すフローチャートである。
【図７】ＭＴＦ補正部における処理内容を示すフローチャートである。
【図８】ＭＴＦ補正部における処理内容を示すフローチャートである。
【図９】ＭＴＦ演算部の構成の例を示すブロック図である。
【図１０】他の実施形態のＭＴＦ補正部のブロック図である。
【図１１】他の実施形態のＭＴＦ補正部で用いられるガンマ補正テーブルの例を示す図である。
【図１２】通常のガンマ補正テーブルの例を示す図である。
【図１３】１次元のデジタルフィルタリングを行う場合を説明するための図である。
【図１４】ＭＴＦ補正部の処理内容の説明のためのＭＴＦ補正部のブロック図である。
【図１５】図１４のＭＴＦ補正部に設けられる伸張部のブロック図である。
【図１６】伸張部の処理内容を示すフローチャートである。
【図１７】図１４のＭＴＦ演算部の処理内容を示すフローチャートである。
【図１８】伸張部の構成の例を示すブロック図である。
【図１９】ＭＴＦ演算部の構成の例を示すブロック図である。
【符号の説明】
１  画像処理装置
１５，１５Ｇ  ＭＴＦ補正部（画像処理装置）
２０  圧縮部（圧縮手段）
３０  ＦＩＦＯメモリ（バッファメモリ）
５０  ＭＴＦ演算部（画像処理手段）
６０  符号データ補正部（補正処理手段）
Ｄ３  画像データ（入力される画像データ）
Ｄ３Ｃ  圧縮画像データ
Ｄ４  画像データ（補正画像データ）
ＬＤ  ダイナミックレンジ（ダイナミックレンジデータ）
ＬＡ  レンジ平均値（平均値データ）
Ｄ３ＣＢ  符号データ
ＢＳ  バイアス値
【図１】
0003799818.tif 000002
【図２】
0003799818.tif 000003
【図３】
0003799818.tif 000004
【図４】
0003799818.tif 000005
【図５】
0003799818.tif 000006
【図６】
0003799818.tif 000007
【図７】
0003799818.tif 000008
【図８】
0003799818.tif 000009
【図９】
0003799818.tif 000010
【図１０】
0003799818.tif 000011
【図１１】
0003799818.tif 000012
【図１２】
0003799818.tif 000013
【図１３】
0003799818.tif 000014
【図１４】
0003799818.tif 000015
【図１５】
0003799818.tif 000016
【図１６】
0003799818.tif 000017
【図１７】
0003799818.tif 000018
【図１８】
0003799818.tif 000019
【図１９】
0003799818.tif 000020