説明

画像処理装置および画像形成装置並びに画像処理方法,プログラム

【課題】画像の画質を保持しながら画像の圧縮率を高める。
【解決手段】スキャナにより取り込んだ画像データを複数のブロックに分割し、分割したブロック毎にエッジを検出して検出されたエッジの個数に基づいてブロック内の画像データの種類を判定する。画像データがテキストと判定されると、ブロック内の画像データの色成分を周波数成分に変換するDCTを実行し(S410)、DCTにより得られるDCT係数のうち重要な成分である重要周波数成分を選定し(S412)、選定した重要周波数成分とテキストのエッジが構成される方向に応じて異なる周波数分布を有する複数のパターンとを比較してパターンマッチング処理を行ない(S414)、各周波数成分のうちパターンとマッチしない成分を抑制または除去することによりDCT係数を調整する(S416)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像を処理する画像処理装置および画像処理装置を備える画像形成装置並びに画像処理方法,画像処理方法の各ステップをコンピュータで実現させるためのプログラムに関する。
【背景技術】
【0002】
従来、この種の画像処理装置としては、画像データの特徴を識別してその特徴に応じた圧縮形式で画像データを圧縮するものが提案されている(例えば、特許文献1参照)。この装置では、微分フィルタを用いて画像に含まれるエッジ成分をカウントし、エッジカウント数に基づいてテキスト画像か自然画像かを判定し、テキスト画像と判定したときにはPNG方式やランレングス方式などの可逆圧縮処理を行ない、自然画像と判定したときにはJPEG方式の非可逆圧縮を行なうことにより、画質を維持しながらも高い圧縮率を実現しようとしている。
【特許文献1】特開2004−193818号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
このように画像データを画質を保持しながら高い圧縮率とすることは画像データを保存するメモリの小容量化や画像データを転送する際の転送の高速化を図る上で極めて重要な課題として考えることができ、処理方法についての更なる改善が望まれている。
【0004】
本発明の画像処理装置および画像形成装置並びに画像処理方法,プログラムは、入力した画像データの画質を確保しながらデータの圧縮率を高めることを主目的とする。
【課題を解決するための手段】
【0005】
本発明の画像処理装置および画像形成装置並びに画像処理方法,プログラムは、上述の主目的を達成するために以下の手段を採った。
【0006】
本発明の画像処理装置は、
入力した画像データを処理する画像処理装置であって、
前記入力した画像データを複数のブロックに分割する画像分割手段と、
前記ブロック内に含まれるエッジ要素の数に基づいて前記ブロック毎に前記入力した画像データの種類を判定する画像種類判定手段と、
前記ブロック毎に前記入力した画像データの色成分を各周波数成分に変換する周波数成分変換手段と、
前記ブロック毎に前記判定された画像データの種類に基づいて前記変換された画像データの各周波数成分のうち不要成分を特定すると共に該特定した不要成分を抑制または削除することにより該画像データを圧縮する画像圧縮手段と
を備えることを要旨とする。
【0007】
この本発明の画像処理装置では、入力した画像データを複数のブロックに分割し、ブロック内に含まれるエッジ要素の数に基づいてブロック毎に入力した画像データの種類を判定し、ブロック毎に入力した画像データの色成分を各周波数成分に変換し、ブロック毎に画像データの種類に基づいて変換された画像データの各周波数成分のうち不要成分を特定すると共に該特性した不要成分を抑制または削除することにより画像データをブロック毎に圧縮する。したがって、画像データの種類に拘わらず画質を保持しながらデータの圧縮率を高めることができる。また、画像データの種類に応じて画像データの各周波数成分のうち不要成分を変更するだけでよいから処理を簡易なものとすることができる。
【0008】
こうした本発明の画像処理装置において、前記画像種類判定手段は、前記ブロック内に含まれるエッジ要素の数に基づいて、モノクロのエッジ要素の数が所定範囲内のモノクロテキスト,カラーのエッジ要素の数が所定範囲内のカラーテキスト,モノクロかカラーかに拘わらずエッジ要素が多数の複合データ,エッジ要素が少数のイメージデータのうちの少なくとも2つを識別可能に前記画像データの種類を判定する手段であるものとすることもできる。
【0009】
テキストを識別可能に画像データの種類を判定する態様の本発明の画像処理装置において、前記画像種類判定手段により前記画像データの種類がテキストと判定されたとき、前記検出されたエッジ要素の方向を判定するエッジ方向判定手段を備え、前記画像圧縮手段は、前記判定されたエッジ要素の方向に基づいて前記不要成分を特定する手段であるものとすることもできる。こうすれば、テキストの画質を保持しながら圧縮率をさらに高めることができる。ここで、「エッジ方向判定手段」は、パターンマッチングを用いて前記エッジ要素の方向を判定する手段が含まれる。この態様の本発明の画像処理装置において、前記画像圧縮手段は、前記判定されたエッジ要素の方向に対応して分布する周波数成分以外の成分を前記不要成分として特定する手段であるものとすることもできる。また、これらの態様の本発明の画像処理装置において、前記画像圧縮手段は、前記不要成分のうち成分値が閾値以上の成分に対しては該成分値を小さな値に調整し、前記不要成分のうち成分値が前記閾値未満の成分に対しては該成分値を値0に調整する手段であるものとすることもできる。こうすれば、テキストの画質をさらに良好なものとすることができる。この場合、前記閾値は、前記画像データの色成分の最大値と最小値との差分に基づいて設定される値であるものとすることもできる。これは、画像データの色成分の変化が周波数成分の大きさに相関があると考えられることに基づいている。
【0010】
イメージデータと複合データとを識別可能に画像データの種類を判定する態様の本発明の画像処理装置において、前記画像圧縮手段は、前記画像データが前記イメージデータと判定されたときには所定周波数以上の高周波領域の成分を前記不要成分として特定し、前記画像データが前記複合データと判定されたときには前記所定周波数よりも高い周波数以上の高周波領域の成分を前記不要成分として特定する手段であるものとすることもできる。こうすれば、エッジ要素が少数のイメージデータの圧縮率を高めることができると共にエッジ要素が多数の複合データについても画質をある程度保持しながら圧縮率を高めることができる。
【0011】
また、本発明の画像処理装置において、前記画像種類判定手段は、更に全画素が白の空白データを判定する手段であり、前記画像圧縮手段は、前記入力した画像データが空白データを判定されたときには空白画像を意味する固定データに変換して該画像データを圧縮する手段であるものとすることもできる。こうすれば、画像データの圧縮率をさらに高めることができる。
【0012】
さらに、本発明の画像処理装置において、前記画像圧縮手段は、前記画像データの各周波数成分のうち前記不要成分を抑制または削除した後に量子化処理と符号化処理とを順に施して該画像データを圧縮する手段であるものとすることもできる。
【0013】
また、本発明の画像処理装置において、前記周波数成分変換手段は、離散コサイン変換(DCT)を用いて前記入力した画像データの色成分を各周波数成分に変換する手段であり、前記画像圧縮手段は、前記各周波数成分に変換して得られるDCT係数を調整することにより前記画像データを圧縮する手段であるものとすることもできる。こうすれば、簡易な処理により画像データを圧縮することができる。
【0014】
本発明の画像形成装置は、
上述した各態様のいずれかの本発明の画像処理装置を備え、前記画像圧縮手段により圧縮された画像データを用いてターゲットに画像を形成する
ことを要旨とする。
【0015】
この本発明の画像形成装置では、上述した各態様のいずれかの本発明の画像処理装置を備えるから、本発明の画像処理装置が奏する効果と同様の効果、例えば、画像データの種類に拘わらず画質を保持しながらデータの圧縮率を高めることができる効果や画像データの種類に応じて画像データの各周波数成分のうち不要成分を変更するだけでよいから処理を簡易なものとすることができる効果などを奏することができる。
【0016】
本発明の画像処理方法は、
入力した画像を処理する画像処理方法であって、
(a)前記入力した画像データを複数のブロックに分割し、
(b)前記ブロック内に含まれるエッジ要素の数に基づいて前記ブロック毎に前記入力した画像データの種類を判定し、
(c)前記ブロック毎に前記入力した画像データの色成分を各周波数成分に変換し、
(d)前記ブロック毎に前記判定された画像データの種類に基づいて前記変換された画像データの各周波数成分のうち不要成分を特定すると共に該特定した不要成分を抑制または削除することにより該画像データを圧縮する
ことを要旨とする。
【0017】
この本発明の画像処理方法によれば、入力した画像データを複数のブロックに分割し、ブロック内に含まれるエッジ要素の数に基づいてブロック毎に入力した画像データの種類を判定し、ブロック毎に入力した画像データの色成分を各周波数成分に変換し、ブロック毎に画像データの種類に基づいて変換された画像データの各周波数成分のうち不要成分を特定すると共に該特性した不要成分を抑制または削除することにより画像データをブロック毎に圧縮する。したがって、画像データの種類に拘わらず画質を保持しながらデータの圧縮率を高めることができる。また、画像データの種類に応じて画像データの各周波数成分のうち不要成分を変更するだけでよいから処理を簡易なものとすることができる。
【0018】
本発明のプログラムは、上述した画像処理方法の各ステップを1又は複数のコンピュータに実現させるためのものである。このプログラムは、コンピュータが読み取り可能な記録媒体(例えばハードディスク、ROM、FD、CD、DVDなど)に記録されていてもよいし、伝送媒体(インターネットやLANなどの通信網)を介してあるコンピュータから別のコンピュータへ配信されてもよいし、その他どのような形で授受されてもよい。このプログラムを一つのコンピュータに実行させるか又は複数のコンピュータに各ステップを分担して実行させれば、上述した画像処理方法の各ステップが実行されるため、該制御方法と同様の作用効果が得られる。
【発明を実施するための最良の形態】
【0019】
次に、本発明の実施の形態を図面に基づいて説明する。図1はマルチファンクションプリンタ10の構成の概略を示す構成図であり、図2はマルチファンクションプリンタ10のブロック図である。
【0020】
本実施形態のマルチファンクションプリンタ10は、図示するように、印刷ジョブに基づいて用紙Sへの印刷を実行するプリンタユニット20と、原稿台31に載置された原稿Pを読み取るフラットベット式のスキャナユニット30と、メモリカードスロット40に挿入されたメモリカード42とのデータの入出力を司るメモリカードコントローラ44と、各種情報を表示部52に表示したりユーザの指示をボタン類54の操作を介して入力したりする操作パネル50と、装置全体の制御を司るメインコントローラ60とを備える。このマルチファンクションプリンタ10は、プリンタユニット20やスキャナユニット30,メモリカードコントローラ44,メインコントローラ60がバス12を介して各種制御信号やデータのやり取りができるよう構成されている。
【0021】
プリンタユニット20は、プリンタASIC22とプリンタエンジン24とを備える。プリンタASIC22は、プリンタエンジン24を制御する集積回路であり、メインコントローラ60から印刷指令を受けると、その印刷指令の対象となる画像ファイルに基づいて用紙Sに印刷するようプリンタエンジン24を制御する。また、プリンタエンジン24は、印刷ヘッドから用紙へインクを吐出することにより印刷を行う周知のインクジェット方式のカラープリンタ機構として構成されている。なお、ASICは、Application Specific Integrated Circuitの略である。
【0022】
スキャナユニット30は、スキャナASIC32とスキャナエンジン34とを備える。スキャナASIC32は、スキャナエンジン34を制御する集積回路であり、メインコントローラ60からのスキャン指令を受けると、原稿台31に載置された原稿Pを画像データとして読み取るようスキャナエンジン34を制御する。また、スキャナエンジン34は、周知のイメージスキャナとして構成され、原稿Pに向かって発光したあとの反射光をレッド(R)、グリーン(G)、ブルー(B)の各色に分解してスキャンデータとする周知のカラーイメージセンサを備えている。カラーイメージセンサとしては、本実施形態では、CIS(Contact Image Sensor)方式のセンサを用いるものとした。
【0023】
メモリカードコントローラ44は、操作パネル50の横に配置されたメモリカードスロット40に挿入されたメモリカード42との間でデータの入出力を行うものである。このメモリカードコントローラ44は、メモリカードスロット40にメモリカード42が接続されているとき、メモリカード42に保存されているファイルを読み出してメインコントローラ60に送信したりメインコントローラ60からの命令を入力し該命令に基づいてメモリカード42にデータを書き込んだりする。
【0024】
操作パネル50は、表示部52とボタン類54とを備える。表示部52は、液晶ディスプレイであり、メニューの選択や設定を行なう各種操作画面などが表示される。また、ボタン類54は、電源をオンオフするための電源ボタン54aや印刷やコピーの開始を指示するスタートボタン54b,各種印刷設定やコピー設定を行なうための設定ボタン54c,選択された画像に対する印刷枚数やコピー枚数を設定するための枚数設定ボタン54d,各種モードを選択するモード選択ボタン54e,各種項目や設定を選択するための上下左右の矢印キー54f,選択した設定を有効にするためのOKボタン54g,ひとつ前の画面に戻る戻るボタン54hなどがあり、内部通信インタフェース69を介してメインコントローラ60にユーザの指示を入力できるようになっている。ここで、モード選択ボタン54eにより選択可能なモードとしては、原稿台31にセットした原稿Pをスキャンしてコピーするコピーモードやメモリカード42に記憶された画像を用いて印刷したり原稿Pをスキャンしてデータ化してメモリカード42に保存するメモリカードモード,写真フィルムをスキャンして印刷したりデータをメモリカード42に保存したりするフィルムモード,CD/DVD内の画像を印刷するCD/DVDドライブモードなどがある。
【0025】
メインコントローラ60は、CPU62を中心とするマイクロプロセッサとして構成されており、各種処理プログラムや各種データ、各種テーブルなどを記憶したROM64と、一時的にスキャンデータや印刷データを記憶するRAM66と、電気的に書き換え可能で電源を切ってもデータは保持されるフラッシュメモリ68と、操作パネル50との通信を可能とする内部通信インタフェース69とを備え、これらはバス12を介して互いに信号のやり取りが可能なように接続されている。メインコントローラ60は、プリンタユニット20やスキャナユニット30,メモリカードコントローラ44からの各種動作信号や各種検出信号を入力したり、操作パネル50のボタン類54の操作に応じて発生する操作信号を入力したりする。また、メモリカード42から画像ファイルを読み出してメインコントローラ60へ出力する指令をメモリカードコントローラ44に出力したり、画像データの印刷を実行するようプリンタユニット20に指令を出力したり、操作パネル50のボタン類54のスキャン指令に基づいて原稿台31に載置された原稿を画像データとして読み取るようスキャナユニット30に指令を出力したり、操作パネル50に表示部52の制御指令を出力したりする。
【0026】
次に、こうして構成された本実施形態のマルチファンクションプリンタ10の動作、特に、コピーモードが選択された際の動作について説明する。図3は、メインコントローラ60により実行されるコピーモード時処理ルーチンの一例を示すフローチャートである。この処理は、モード選択ボタン54eによりコピーモードが選択されると共に原稿台31に原稿Pがセットされた状態でOKボタン54gが押下されたときに実行される。なお、モード選択ボタン54eによりコピーモードが選択されると、メインコントローラ60は、表示部52に「原稿台に原稿をセットしてOKボタンを押して下さい。」などのメッセージを表示する。
【0027】
コピーモード時処理ルーチンが実行されると、メインコントローラ60のCPU62は、まず、スキャナユニット30にスキャン指令を出力することにより原稿台31にセットされた原稿Pをライン単位で走査して読み取ると共に(ステップS100)、読み取って得られる画像データ(RGBデータ)をブロック単位に分割する(ステップS102)。実施例では、1ブロックが8×8の画素により構成されるよう分割するものとした。
【0028】
続いて、分割した複数のブロックのうち未処理のブロックを対象ブロックに設定し(ステップS104)、設定した対象ブロックの種類を判定するためのオブジェクト判定を行なう(ステップS106)。この判定は、図4に例示するオブジェクト判定処理を実行することにより行なわれる。ここで、コピーモード時処理ルーチンについての説明を中断し、図4のオブジェクト判定処理について説明する。
【0029】
図4のオブジェクト判定処理では、まず、画像データのRGBの画素値に基づいてブロック内の全画素が白か否かを判定し(ステップS140)、ブロック内の全画素が白と判定されたときには空白ブロックと判定して(ステップS142)、本ルーチンを終了する。ブロック内の全画素が白でないと判定されたときには、ブロック内の画像データの表色系をRGBから輝度信号(Y),輝度信号と青成分との差(U),輝度信号と赤成分との差(V)との組み合わせからなるYUVに変換し(ステップS144)、YUV成分の各成分毎にフィルタを適用してブロック内のエッジを検出する(ステップS146)。このフィルタの一例を図5に示す。エッジ検出は、図示するように、Laplacianフィルタなどの2次微分系のフィルタを用いて、注目画素を中心とした上下左右の9つの画素値に対してフィルタ係数をそれぞれ乗算し、結果を合計したものと閾値とを比較することにより行なわれる。なお、適用するフィルタは上述した2次微分系のフィルタに限られず、SobelフィルタやPrewittフィルタなどの1次微分系のフィルタを用いるものとしてもよいことは勿論である。続いて、検出されたエッジの個数をカウントしてモノクロエッジ数Emとカラーエッジ数Ecとを算出する(ステップS148)。ここで、モノクロエッジ数Emは、ブロック内のY成分のエッジ数として算出され、カラーエッジ数Ecは、ブロック内のU成分のエッジ数とV成分のエッジ数との和として算出される。そして、モノクロエッジ数Emとカラーエッジ数Ecとの和と閾値Bdとを比較し(ステップS150)、モノクロエッジ数Emとカラーエッジ数Ecとの和が閾値Bd以上のときには、カラーエッジかカラーエッジかに拘わらずブロック内の大半がエッジ要素により構成される線画などの複合データと判定して(ステップS152)、本ルーチンを終了する。ここで、閾値Bdは、上述した複合データを判定するための閾値であり、例えば、8×8の1ブロックに対して60個や62個などのように予め定められている。モノクロエッジ数Emとカラーエッジ数Ecとの和が閾値Bd未満と判定されると、複合データでないと判断し、カラーエッジ数Ecが閾値Bc以上か否か(ステップS154)、カラーエッジ数Ecがモノクロエッジ数Emに優先係数Pmを乗じたもの以上か否か(ステップS156)をそれぞれ判定する。ここで、閾値Bcは、ブロック内にカラーテキストが含まれるか否かを判定するための閾値であり、例えば1ブロックに対して1個や2個などのように定められている。また、優先係数Pmは、ブロック内にカラーテキストとモノクロテキストとが混在している場合にカラーテキストよりもモノクロテキストを優先して判定するための優先係数であり、例えば値3や値4などのように定められている。カラーエッジ数Ecが閾値Bc以上であり且つカラーエッジ数Ecがモノクロエッジ数Emに優先係数Pmを乗じたもの以上のときには、ブロック内の画像データはカラーテキストと判定して(ステップS158)、本ルーチンを終了し、カラーエッジ数Ecが閾値Bc以上であってもカラーエッジ数Ecがモノクロエッジ数Emに優先係数Pmを乗じたもの未満と判定されたときにはブロック内の画像データはモノクロテキストと判定して(ステップS162)、本ルーチンを終了する。カラーエッジ数Ecが閾値Bc未満と判定されたときには、モノクロエッジ数Emと閾値Bmとを比較し(ステップS160)、モノクロエッジ数Emが閾値Bm以上のときにはブロック内の画像データはモノクロテキストと判定し(ステップS162)、モノクロエッジ数Emが閾値Bm未満のときにはブロック内にはカラーエッジ要素もモノクロエッジ要素も少ないためブロック内の画像データは写真などのイメージデータと判定して(ステップS164)、本ルーチンを終了する。ここで、閾値Bmは、ブロック内にモノクロテキストが含まれるか否かを判定するための閾値であり、例えば値9や値10などのように定められている。上述した閾値Bd,Bc,Bmや優先係数Pmは、具体的には、スキャナユニット30のイメージセンサの方式に基づいて決定されている。例えば、CIS(Contact Image Sensor)方式ではCCD(Charge Coupled Devices)方式に比してエッジが検出され易い傾向があるため閾値Bd,Bc,BmがCCD方式に比して大きな値に定められ、また、CIS方式ではCCD方式に比してカラーエッジが強くなる傾向もあるため係数PmもCCD方式に比して大きな値に定められる。以上、オブジェクト判定処理について説明した。
【0030】
コピーモード時処理ルーチンのステップS106に戻って、こうしてブロック内の画像データの種類が判定されると、この判定結果に基づいて(ステップS108)、対象ブロック内の画像データが空白のときには空白用圧縮処理を実行し(ステップS110)、対象ブロック内の画像データが複合データのときには複合データ用圧縮処理を実行し(ステップS112)、対象ブロック内の画像データがテキストデータのときにはテキスト用圧縮処理を実行し(ステップS114)、対象ブロック内の画像データがイメージデータのときにはイメージ用圧縮処理を実行する(ステップS116)。ここで、空白用圧縮処理は、図示しない空白用圧縮処理ルーチンを実行することにより行なわれ、具体的には、ブロック内のYUV成分の成分値を空白を意味する固定データに置き換えることにより行なうことができる。なお、圧縮された空白データはRAM66に保存される(ステップS122)。また、複合データ用圧縮処理は、複合データ用圧縮処理ルーチンを実行することにより行なわれ、テキスト用圧縮処理は、テキスト用圧縮処理ルーチンを実行することにより行なわれ、イメージ用圧縮処理は、イメージ用圧縮処理ルーチンを実行することにより行なわれる。説明の都合上、まず、イメージ用圧縮処理ルーチンと複合データ用圧縮処理ルーチンについて説明し、その後、テキスト用圧縮処理ルーチンについて説明する。図6は、メインコントローラ60により実行されるイメージ用圧縮処理ルーチンの一例を示すフローチャートであり、図7は、メインコントローラ60により実行される複合データ用圧縮処理ルーチンの一例を示すフローチャートである。
【0031】
図6のイメージ用圧縮処理ルーチンでは、まず、離散コサイン変換(DCT)を用いて対象ブロック内の画像データのYUV成分の成分値をDCT係数Cof[x][y](1ブロックは8×8の画素からなるためx,yは0〜7のインデックス値)に変換する(ステップS200)。ここで、DCTは、本実施形態では、1ブロックが8×8の画素からなるから、DCTにより低周波から高周波までの計64個の各周波数成分の発生頻度をエネルギー量として示すデータに変換する処理となる。そして、DCT係数を調整するための調整係数としてイメージ用調整係数Iadj[x][y]を設定し(ステップS202)、すべてのインデックス値x、yの組み合わせに対してDCT係数Cof[x][y]にイメージ用調整係数Iadj[x][y]を乗じたものを新たなDCT係数Cof[x][y]に設定して(ステップS204)、本ルーチンを終了する。イメージ用調整係数の一例を図8に示す。イメージ用調整係数は、図示するように、各周波数成分毎に値1か値0かのいずれかの値が設定されており、値1が設定されている周波数成分のDCT係数はそのまま維持され、値0が設定されている周波数成分のDCT係数については不要成分としてカットされる。本実施形態では、イメージ用調整係数は、写真などのイメージは隣接する画素間の色変化の度合いが小さく高周波成分を除去しても画質に与える影響は少ないと考えられることから、高周波成分のDCT係数が大幅にカットされるよう定めるものとした。
【0032】
図7の複合データ用圧縮処理ルーチンでは、上述した離散コサイン変換を用いて画像データのYUV成分の成分値をDCT係数Cof[x][y]に変換すると共に(ステップS300)、このDCT係数を調整するための調整係数として複合データ用調整係数Cadj[x][y]を設定し(ステップS302)、すべてのインデックス値x、yの組み合わせに対してDCT係数Cof[x][y]に複合データ用調整係数Cadj[x][y]を乗じたものを新たなDCT係数Cof[x][y]に設定して(ステップS304)、本ルーチンを終了する。複合データ用調整係数の一例を図9に示す。複合データ用調整係数は、図示するように、各周波数成分毎に値1か値0かのいずれかの値が設定されており、値1が設定されている周波数成分のDCT係数はそのまま維持され、値0が設定されている周波数成分のDCT係数については不要成分としてカットされる。複合データは、上述したように、ブロック内の大半がエッジ要素により構成されるため、複合データの細かな線の画質を確保するためにはすべての高周波成分を残すことが望ましいが、高周波成分を残すほどデータ量は増大する。そこで、上述したイメージ用圧縮処理ルーチンに比して高周波成分を残すものの所定値以上の高周波成分を一律にカットすることによりデータ量が大きくなり過ぎないようにしている。
【0033】
次に、テキスト用圧縮処理ルーチンについて説明する。図10は、メインコントローラ60により実行されるテキスト用圧縮処理ルーチンの一例を示すフローチャートである。このテキスト用圧縮処理ルーチンでは、まず、ブロック内のYUV成分の成分値の変化幅Hを算出すると共に(ステップS400)、上述した離散コサイン変換を用いてブロック内の画像データのYUV成分の成分値をDCT係数Cof[x][y]に変換する(ステップS402)。ここで、変化幅Hは、YUV成分の成分値の最大値と最小値との差分により算出されたものを用いることができる。続いて、ブロック内の画像データがモノクロテキストか否かを判定し(ステップS404)、モノクロテキストと判定されたときには画像データのYUV成分のうちY成分のみを後述するステップS412〜S416の処理対象として設定すると共に(ステップS406)、UV成分についてはDCT係数Cof[x][y]を値0に設定すなわちすべての周波数成分をカットし(ステップS408)、モノクロテキストでない即ちカラーテキストと判定されたときには画像データのYUV成分のすべてをステップS412〜S416の処理対象として設定する(ステップS410)。なお、本実施形態では、モノクロテキストと判定されたときにはUV成分についてはすべての周波数成分をカットするものとしたが、一部の低周波数成分はカットしないで保持するものとしてもよい。そして、変換したDCT係数Cof[x][y]について重要周波数成分Map[x][y]を選定する(ステップS412)。ここで、重要周波数成分の選定は、図11に例示する重要周波数成分選定処理ルーチンを実行することにより行なわれる。ここで、テキスト用圧縮処理ルーチンの説明を中断して重要周波数成分選定処理ルーチンについて説明する。
【0034】
図11の重要周波数成分選定処理ルーチンでは、まず、インデックス値yを値0に設定すると共に(ステップS420)、インデックス値xを値0に設定する(ステップS422)。そして、インデックス値x,yにおけるDCT係数の絶対値abs(Cof[x][y])と係数Esに変化幅Hを乗じたもの(Es×H)とを比較し(ステップS424)、DCT係数の絶対値abs(Cof[x][y])が係数Esに変化幅Hを乗じたものよりも大きいときには重要周波数成分と判断して重要周波数成分Map[x][y]に値1を設定し(ステップS426)、DCT係数の絶対値abs(Cof[x][y])が係数Esに変化幅Hを乗じたもの以下のときには重要周波数成分でないと判断して重要周波数成分Map[x][y]に値0を設定する(ステップS428)。ここで、係数Esは、重要周波数成分か否かを分別するための係数であり、例えば値1.0や値1.2などのように定められている。また、YUV成分の変化幅Hを用いて重要周波数成分を判定するのは、変化幅HがYUV成分を周波数成分に変換したときの周波数の振幅に相関があると認められることに基づく。そして、インデックス値xを値1だけインクリメントし(ステップS430)、インデックス値xが値8未満となるまでステップS424に戻ってステップS424〜S430の処理を繰り返し(ステップS432)、インデックス値xが値8以上となると、インデックス値yを値1だけインクリメントし(ステップS434)、インデックス値yが値8以上となるまでステップS422に戻ってステップS422〜S434の処理を繰り返して(ステップS436)、本ルーチンを終了する。
【0035】
テキスト用圧縮処理ルーチンのステップS408に戻って、重要周波数成分Map[x][y]を選定すると、この選定された重要周波数成分Map[x][y]と対象パターンとを比較することによりパターンマッチングを行なってパターンマッチ周波数成分Matrix[x][y]を設定する(ステップS414)。パターンマッチング処理は、図12に例示するパターンマッチング処理ルーチンを実行することにより行なわれる。図12のパターンマッチング処理ルーチンでは、すべてのインデックス値x、yについてパターンマッチ周波数成分Matrix[x][y]に値0を設定して初期化し(ステップS440)、パターン番号Nを値1に設定し(ステップS442)、設定したパターン番号NのパターンPattern(N)[x][y]を対象パターンに設定する(ステップS444)。パターンマッチングに用いられるパターンの一例を図13に示し、パターンの周波数分布と元画像の色変化の方向との関係の一例を図14に示す。図示するように、パターン毎に周波数分布が異なる1から11の計11個のパターンが用意されており、各パターンは元画像の色変化の方向に対応するものとなっている。したがって、画像の周波数分布を調べることによりテキストのエッジが構成される方向を知ることができる。続いて、カウンタCに値0を設定し(ステップS446)、インデックス値yに値0を設定すると共に(ステップS448)、インデックス値xに値0を設定し(ステップS450)、インデックス値x,yについて重要周波数成分Map[x][y]が値1で且つパターンPattern(N)[x][y]が値1であるかを判定することによりパターンマッチングを行なう(ステップS452)。重要周波数成分Map[x][y]が値1で且つパターンPattern(N)[x][y]が値1のときには、重要周波数成分は対象パターンの周波数分布の範囲内に含まれると判断し、対象パターンマッチ周波数成分Match[x][y]に値1を設定すると共に(ステップS454)、カウンタCを値1だけインクリメントし(ステップS456)、重要周波数成分Map[x][y]が値0であったりパターンPattern(N)[x][y]が値0のときには、重要周波数成分は対象パターンの周波数分布の範囲内に含まれないと判断し、対象パターンマッチ周波数成分Match[x][y]に値0を設定する(ステップS458)。そして、インデックス値xを値1だけインクリメントして(ステップS460)、インデックス値xが値8未満となるまでステップS452に戻ってステップS452〜S464の処理を繰り返し(ステップS462)、インデックス値xが値8以上となると、インデックス値yを値1だけインクリメントし(ステップS464)、インデックス値yが値8以上となるまでステップS450に戻ってステップS450〜S464の処理を繰り返す(ステップS466)。その後、パターン番号Nに基づいてマッチング判定用閾値Crefを設定し(ステップS468)、カウンタCの値がマッチング判定用閾値Cref以上か否かを判定する(ステップS470)。マッチング判定用閾値Crefは、重要周波数成分の分布と対象パターンとがマッチしているか否かを判定するための判定用閾値であり、本実施形態では、パターン番号Nとマッチング判定用閾値Crefとの関係を予め定めてマップとしてROM64に記憶しておき、パターン番号Nが与えられると記憶したマップから対応するマッチング判定用閾値Crefを導出して設定するものとした。このマップの一例を図15に示す。マッチング判定用閾値Crefを設定すると、カウンタCの値とマッチング判定用閾値Crefとを比較し(ステップS470)、カウンタCの値がマッチング判定用閾値Crefよりも大きいときには、重要周波数成分の分布は対象パターンにマッチすると判断し、対象パターンマッチ周波数成分Match[x][y]が値1のすべてのインデックス値x,yについてパターンマッチ周波数成分Matrix[x][y]に値1を設定し(ステップS472)、カウンタCの値がマッチング判定用閾値Cref以下のときには、重要周波数成分の分布は対象パターンにマッチしないと判断し、何もせずに次の処理に進む。そして、パターン番号Nを値1だけインクリメントして(ステップS474)、パターン番号Nが用意したパターンのうち最後の番号α(本実施形態では11)を超えるまで(ステップS476)、ステップ444に戻って値1だけインクリメントしたパターン番号Nのパターンを対象パターンに設定してステップS446〜S474の処理を繰り返し実行し、パターン番号Nが番号αを超えるとこれで本ルーチンを終了する。なお、ステップS444〜476の処理から解るように、重要周波数成分が複数の対象パターンにマッチするときには、マッチするすべての対象パターンの分布がパターンマッチ周波数Matrix[x][y]に反映されることになる。勿論、カウンタCの値に基づいて対象パターンのうち重要周波数成分が最も多く分布する一つのパターンを判定し、この判定したパターンの対象パターンマッチ周波数Match[x][y]をそのままパターンマッチ周波数Matrix[x][y]として設定するものとしても構わない。
【0036】
こうしてパターンマッチングを行なってパターンマッチ周波数Matrix[x][y]を設定すると、パターンマッチ周波数Matrix[x][y]の値に基づいてDCT係数Cof[x][y]を調整して(ステップS416)、本ルーチンを終了する。DCT係数の調整は、図16に例示するDCT係数調整処理ルーチンを実行することにより行なわれる。DCT係数調整処理ルーチンでは、まず、インデックス値yに値0を設定すると共に(ステップS480)、インデックス値xに値0を設定し(ステップS482)、インデックス値x,yについてパターンマッチ周波数Matrix[x][y]が値1であるか否かを判定し(ステップS484)、パターンマッチ周波数Matrix[x][y]が値1のときにはそのインデックス値x,yにおけるDCT係数Cof[x][y]をそのまま維持して次の処理に進み、パターンマッチ周波数Matrix[x][y]が値0のときにはDCT係数の絶対値abs(Cof[x][y])と上述した変化幅Hに係数Esを乗じたものとを比較し(ステップS486)、DCT係数の絶対値abs(Cof[x][y])が変化幅Hに係数Esを乗じたものよりも大きいときにはその周波数成分は基本的には不要成分であるものの画像の画質を決定する上である程度の影響を与える周波数成分と判断し、インデックス値x,yにおけるDCT係数Cof[x][y]に係数Erを乗じることにより周波数成分を低減して新たなDCT係数Cof[x][y]を設定し(ステップS488)、DCT係数の絶対値abs(Cof[x][y])が変化幅Hに係数Esを乗じたもの以下のときにはその周波数成分は不要成分と判断して、インデックス値x,yにおけるDCT係数Cof[x][y]に値0を設定する(ステップS490)。ここで、係数Erは、周波数成分を低減するための係数であり、例えば値0.8や値0.7などのように定められる。そして、インデックス値xを値1だけインクリメントして(ステップS492)、インデックス値xが値8未満となるまでステップS484に戻ってステップS484〜S492の処理を繰り返し(ステップS494)、インデックス値xが値8以上となると、インデックス値yを値1だけインクリメントし(ステップS496)、インデックス値yが値8以上となるまでステップS482に戻ってステップS482〜S496の処理を繰り返して(ステップS498)、本ルーチンを終了する。パターンマッチ周波数Matrix[x][y]を用いた調整前後のDCT係数Cof[x][y]の一例を図17に示す。図示するように、DCT係数Cof[x][y]は、パターンマッチする周波数分布の範囲内にある成分については保持され、その範囲外にある成分については効果的にカットされていることが解る。以上、テキスト用圧縮処理ルーチンについて説明した。
【0037】
コピーモード時処理ルーチンに戻って、こうして画像データの種類に応じてDCT係数を調整すると、量子化処理を行なうと共に(ステップS118)、ハフマン符号化などのエントロピー符号化処理を行なって(ステップS120)、得られた符号化データをRAM66に保存する(ステップS122)。ここで、量子化処理に用いる量子化テーブルとしては、本実施形態では、画像データの圧縮をDCT係数を調整することにより行なっているから、各周波数成分が大幅にカットされないように作成するものとした。そして、次の未処理ブロックが存在するか否かを判定し(ステップS124)、次の未処理ブロックが存在するときにはステップS104に戻ってステップS104〜S122の処理を繰り返し、次の未処理ブロックが存在しないときには次に走査すべきラインが存在するか否かを判定し(ステップS126)、次のラインが存在するときにはステップS100に戻ってステップS100〜S124の処理を繰り返し、次のラインが存在しないときには、RAM66に記憶した符号化データをバンド単位で展開して画像データを生成すると共に(ステップS128)、プリンタユニット20にプリント指令を出力することにより生成された画像データに基づいて印刷処理を実行して(ステップS130)、本ルーチンを終了する。なお、符号化データの展開は、画像データを符号化データに変換する手順と逆の手順、即ち、エントロピー復号化処理,逆量子化処理,逆離散コサイン変換をこの順で実行するものとすればよい。
【0038】
ここで、本実施形態の構成要素と本発明の構成要素との対応関係を明らかにする。本実施形態の図3のコピーモード時処理ルーチンのステップS102の処理を実行するメインコントローラ60が本発明の画像分割手段に相当し、コピーモード時処理ルーチンのステップS106の処理(図4のオブジェクト判定処理ルーチン)を実行するメインコントローラ60が画像種類判定手段に相当し、図6のイメージ用圧縮処理ルーチンのステップS200や図7の複合データ用圧縮処理ルーチンのステップS300,図10に例示するテキスト用圧縮処理のステップS410を実行するメインコントローラ60が周波数成分変換手段に相当し、コピーモード時処理ルーチンのステップS110〜S120の処理を実行するメインコントローラ60が画像圧縮手段に相当する。なお、本実施形態では、マルチファンクションプリンタ10の動作を説明することにより本発明の画像処理方法の一例も明らかにしている。
【0039】
以上説明した本実施形態のマルチファンクションプリンタ10によれば、画像データを複数のブロックに分割してブロック毎に画像データを複合データとカラーテキストとモノクロテキストとイメージとを識別可能に判定し、判定した画像データの種類に基づいて画像データの色成分を周波数成分に変換して得られるDCT係数Cof[x][y]のうち不要成分を変更して除去するから、画像データの種類に拘わらず良好な画質を保持しながら圧縮率を高めることができる。この結果、RAM64の容量を小さくすることができる。また、画像データの種類に応じてDCT係数Cof[x][y]を調整するだけでよいから、処理を簡易なものとすることができる。
【0040】
また、本実施形態のマルチファンクションプリンタ10によれば、画像データがテキストデータと判定されたときには、テキストのエッジの方向を判定して、そのエッジの方向に分布する周波数成分を残すと共に他の成分を不要成分として除去するから、テキストの画質を保持しながら圧縮率を高めることができる。しかも、パターンマッチングを用いてエッジの方向を判定するから、簡易な処理によりエッジの方向を判定することができる。また、エッジの方向に分布する周波数成分ではないがDCT係数が比較的高く画質に影響を与えると考えられる成分を完全に除去せずに低減するから、テキストの画質を更に良好なものとすることができる。
【0041】
また、本実施形態のマルチファンクションプリンタ10によれば、画像データが全画素が白の空白データのときには画像データの色成分値を空白を意味する固定データに変換して保存するから、圧縮率を更に高めることができる。また、この場合、複合データとカラーテキストとモノクロテキストとイメージとを識別する判定を行なわないから、処理速度を高めることができる。
【0042】
本実施形態では、画像データを8×8の画素で分割して1ブロックを構成するものとしたが、例えば4×4の画素や16×16の画素で分割するなど1ブロックを如何なるサイズとするものとしてもよい。
【0043】
本実施形態では、RGB表色系をYUV表色系に変換してYUV成分値を用いて圧縮処理を行なうものとしたが、これに限られず、RGB表色系やCMYK表色系などの他の表色系を用いるものとしてもよい。
【0044】
本実施形態では、ブロック内の画像データの全画素が白か否かを判定して空白用圧縮処理を実行するものとしたが、こうした処理を省略するものとしてもよい。
【0045】
本実施形態では、画像データの種類として複合データ,カラーテキスト,モノクロテキスト,イメージを区別して判定するものとしたが、これらのうちのいずれか2つを区別して画像データの種類を判定するものであれば、一部の区別を省略するものとしてもよい。例えば、テキストデータについてカラーとモノクロを区別しないものとしてもよい。
【0046】
本実施形態では、図4のオブジェクト判定処理ルーチンにおいて、カラーエッジ数Ecが閾値Bc以上であってもカラーエッジ数Ecがモノクロエッジ数Emにモノクロテキスト優先係数Pmを乗じたもの以上でなくモノクロエッジ数Emが閾値Bm以上のときには、モノクロテキストと判定するものとしてカラーテキストに対してモノクロテキストを優先して判定するものとしたが、スキャナユニット30に仕様によってはモノクロテキストに対してカラーテキストを優先して判定するものとしてもよいし、こうした優先度を設けないものとしてもよい。
【0047】
本実施形態では、離散コサイン変換(DCT)を用いて画像データの色成分を周波数成分に変換して得られるDCT係数を調整することにより画像データの圧縮を行なうものとしたが、離散コサイン変換を用いるものに限定されるものではなく、ウェーブレットや重複直交変換(LOT)など画像データの色成分を周波数成分に変換して解析が可能な手法であれば如何なる手法を用いるものとしてもよい。
【0048】
本実施形態では、画像データがテキストと判定されたときのパターンマッチング処理において、画像データの色成分を周波数成分に変換して得られるDCT係数Cof[x][y]のうちパターンにマッチしない周波数成分についてもDCT係数の絶対値abs(Cof[x][y])の大きさに応じて一部を保存するものとしたが、値0として完全に除去するものとしても構わない。
【0049】
本実施形態では、本発明の画像処理装置をコピーモード時の動作に適用して説明したが、原稿Pをスキャンして得られる画像データを圧縮してメモリカード42に保存するメモリカードモード時の動作に適用するものとしてもよい。
【0050】
本実施形態では、本発明の画像処理装置をプリンタユニット20とスキャナユニット30とを備えてコピーが可能なマルチファンクションプリンタ10に適用して説明したが、スキャナユニットのみを備えるスキャナ装置に適用するものとしてもよいし、撮像された画像に対して圧縮処理を行なうデジタルカメラやカメラ付きの携帯電話などの画像入力装置に適用するものとしてもよい。また、本発明を画像処理方法の形態とするものとしてもよいし、プログラムに形態とするものとしても構わない。
【0051】
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることは勿論である。
【図面の簡単な説明】
【0052】
【図1】本実施形態のマルチファンクションプリンタ10の構成図。
【図2】マルチファンクションプリンタ10のブロック図。
【図3】コピーモード時処理ルーチンの一例を示すフローチャート。
【図4】オブジェクト判定処理ルーチンの一例を示すフローチャート。
【図5】エッジ検出のためのフィルタの一例を示す説明図。
【図6】イメージ用圧縮処理ルーチンの一例を示すフローチャート。
【図7】複合データ用圧縮処理ルーチンの一例を示すフローチャート。
【図8】イメージ用調整係数の一例を示す説明図。
【図9】複合データ用調整係数の一例を示す説明図。
【図10】テキスト用圧縮処理ルーチンの一例を示すフローチャート。
【図11】重要周波数成分選定処理ルーチンの一例を示すフローチャート。
【図12】パターンマッチング処理ルーチンの一例を示すフローチャート。
【図13】パターンマッチングに用いるパターンの一例を示す説明図。
【図14】画像の色変化の方向と周波数分布との関係を示す説明図。
【図15】パターン番号Nとマッチング判定用閾値Crefとの関係を示す説明図。
【図16】DCT係数調整処理ルーチンの一例を示すフローチャート。
【図17】調整前後のDCT係数の絶対値を示す説明図。
【符号の説明】
【0053】
10 マルチファンクションプリンタ、12 バス、20 プリンタユニット、22 プリンタASIC、24 プリンタエンジン、30 スキャナユニット、31 原稿台、32 スキャナASIC、34 スキャナエンジン、40 メモリカードスロット、42 メモリカード、44 メモリカードコントローラ、50 操作パネル、52 表示部、54 ボタン類、54a 電源ボタン、54b スタートボタン、54c 設定ボタン、54d 枚数設定ボタン、54e モード選択ボタン、54f 矢印キー、54g OKボタン、54h 戻るボタン、60 メインコントローラ、62 CPU、64 ROM、66 RAM、68 フラッシュメモリ、69 内部通信インタフェース。

【特許請求の範囲】
【請求項1】
入力した画像データを処理する画像処理装置であって、
前記入力した画像データを複数のブロックに分割する画像分割手段と、
前記ブロック内に含まれるエッジ要素の数に基づいて前記ブロック毎に前記入力した画像データの種類を判定する画像種類判定手段と、
前記ブロック毎に前記入力した画像データの色成分を各周波数成分に変換する周波数成分変換手段と、
前記ブロック毎に前記判定された画像データの種類に基づいて前記変換された画像データの各周波数成分のうち不要成分を特定すると共に該特定した不要成分を抑制または削除することにより該画像データを圧縮する画像圧縮手段と
を備える画像処理装置。
【請求項2】
前記画像種類判定手段は、前記ブロック内に含まれるエッジ要素の数に基づいて、モノクロのエッジ要素の数が所定範囲内のモノクロテキスト,カラーのエッジ要素の数が所定範囲内のカラーテキスト,モノクロかカラーかに拘わらずエッジ要素が多数の複合データ,エッジ要素が少数のイメージデータのうちの少なくとも2つを識別可能に前記画像データの種類を判定する手段である請求項1記載の画像処理装置。
【請求項3】
請求項2記載の画像処理装置であって、
前記画像種類判定手段により前記画像データの種類がテキストと判定されたとき、前記検出されたエッジ要素の方向を判定するエッジ方向判定手段を備え、
前記画像圧縮手段は、前記判定されたエッジ要素の方向に基づいて前記不要成分を特定する手段である
画像処理装置。
【請求項4】
前記画像圧縮手段は、前記判定されたエッジ要素の方向に対応して分布する周波数成分以外の成分を前記不要成分として特定する手段である請求項3記載の画像処理装置。
【請求項5】
前記画像圧縮手段は、前記不要成分のうち成分値が閾値以上の成分に対しては該成分値を小さな値に調整し、前記不要成分のうち成分値が前記閾値未満の成分に対しては該成分値を値0に調整する手段である請求項3または4記載の画像処理装置。
【請求項6】
前記閾値は、前記画像データの色成分の最大値と最小値との差分に基づいて設定される値である請求項5記載の画像処理装置。
【請求項7】
前記エッジ方向判定手段は、パターンマッチングを用いて前記エッジ要素の方向を判定する手段である請求項3ないし6いずれか1項に記載の画像処理装置。
【請求項8】
前記画像圧縮手段は、前記画像データが前記イメージデータと判定されたときには所定周波数以上の高周波領域の成分を前記不要成分として特定し、前記画像データが前記複合データと判定されたときには前記所定周波数よりも高い周波数以上の高周波領域の成分を前記不要成分として特定する手段である請求項2ないし7いずれか1項に記載の画像処理装置。
【請求項9】
請求項1ないし8いずれか1項に記載の画像処理装置であって、
前記画像種類判定手段は、更に全画素が白の空白データを判定する手段であり、
前記画像圧縮手段は、前記入力した画像データが空白データを判定されたときには空白画像を意味する固定データに変換して該画像データを圧縮する手段である
画像処理装置。
【請求項10】
前記画像圧縮手段は、前記画像データの各周波数成分のうち前記不要成分を抑制または削除した後に量子化処理と符号化処理とを順に施して該画像データを圧縮する手段である請求項1ないし9いずれか1項に記載の画像処理装置。
【請求項11】
請求項1ないし10いずれか1項に記載の画像処理装置であって、
前記周波数成分変換手段は、離散コサイン変換(DCT)を用いて前記入力した画像データの色成分を各周波数成分に変換する手段であり、
前記画像圧縮手段は、前記各周波数成分に変換して得られるDCT係数を調整することにより前記画像データを圧縮する手段である
画像処理装置。
【請求項12】
請求項1ないし11いずれか1項に記載の画像処理装置を備え、前記画像圧縮手段により圧縮された画像データを用いてターゲットに画像を形成する画像形成装置。
【請求項13】
入力した画像を処理する画像処理方法であって、
(a)前記入力した画像データを複数のブロックに分割し、
(b)前記ブロック内に含まれるエッジ要素の数に基づいて前記ブロック毎に前記入力した画像データの種類を判定し、
(c)前記ブロック毎に前記入力した画像データの色成分を各周波数成分に変換し、
(d)前記ブロック毎に前記判定された画像データの種類に基づいて前記変換された画像データの各周波数成分のうち不要成分を特定すると共に該特定した不要成分を抑制または削除することにより該画像データを圧縮する
画像処理方法。
【請求項14】
請求項13記載の画像処理方法の各ステップをコンピュータで実現させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2009−141479(P2009−141479A)
【公開日】平成21年6月25日(2009.6.25)
【国際特許分類】
【出願番号】特願2007−313491(P2007−313491)
【出願日】平成19年12月4日(2007.12.4)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】