(57)【要約】 【課題】複数個のブロックデータをそれぞれ圧縮する圧縮処理が用いられる場合に、画像に発生するブロックノイズを低減する。【解決手段】画像処理装置は、第１の画像データによって示される第１の画像を複数個の第１のブロックに分割し、複数個の第１のブロックに対応する複数個の第１のブロックデータをそれぞれ圧縮して生成された第１の圧縮画像データを取得し、第１の画像に対応する第２の画像を複数個のブロックに分割し、複数個の第２のブロックに対応する複数個の第２のブロックデータをそれぞれ圧縮して第２の圧縮画像データを生成し、第１の圧縮画像データと第２の圧縮画像データとを用いて、合成画像を示す合成画像データを出力する。複数個の第１のブロックの境界に対応する合成画像上の第１の境界位置は、複数個の第２のブロックの境界に対応する合成画像上の第２の境界位置に対してずれている。【選択図】  図５
2020077998.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置であって、
第１の画像データによって示される第１の画像を複数個の第１のブロックに分割し、前記複数個の第１のブロックに対応する複数個の第１のブロックデータをそれぞれ圧縮して生成された第１の圧縮画像データを取得する圧縮画像取得部と、
前記第１の画像データに基づく第２の圧縮画像データを生成する圧縮画像生成部であって、前記第１の画像に対応する第２の画像を複数個の第２のブロックに分割し、前記複数個の第２のブロックに対応する複数個の第２のブロックデータをそれぞれ圧縮して前記第２の圧縮画像データを生成する、前記圧縮画像生成部と、
前記第１の圧縮画像データと前記第２の圧縮画像データとを用いて、前記第１の画像と前記第２の画像とが合成された合成画像を示す合成画像データを出力する合成画像出力部と、
を備え、
前記複数個の第１のブロックの境界に対応する前記合成画像上の第１の境界位置は、前記複数個の第２のブロックの境界に対応する前記合成画像上の第２の境界位置に対してずれている、画像処理装置。
【請求項２】
請求項１に記載の画像処理装置であって、
前記合成画像は、前記第１の画像内の複数個の画素に対応する複数個の第１の重みと、前記第２の画像内の複数個の画素に対応する複数個の第２の重みと、を用いて、前記第１の画像と前記第２の画像とが合成された画像であり、
前記複数個の第１の重みのうち、前記複数個の第１のブロックの境界に沿う少なくとも一部の画素に対応する重みは、前記複数個の第１のブロックのそれぞれの中心部の画素に対応する重みよりも小さく、
前記複数個の第２の重みのうち、前記複数個の第２のブロックの境界に沿う少なくとも一部の画素に対応する重みは、前記複数個の第２のブロックのそれぞれの中心部の画素に対応する重みよりも小さい、画像処理装置。
【請求項３】
請求項１または２に記載の画像処理装置であって、
前記第１のブロックの縦方向および横方向の画素数は、前記第２のブロックの縦方向および横方向の画素数と同じであり、
前記圧縮画像生成部は、前記第１の画像に対応する画像領域と、前記画像領域の縦方向と横方向の少なくとも一方の端に隣接する付加領域と、を含む前記第２の画像を、前記複数個の第２のブロックに分割することによって、前記画像領域における前記複数個の第２のブロックの境界の位置を、前記複数個の第１の境界と対応する位置とは異なる位置とする、画像処理装置。
【請求項４】
請求項３に記載の画像処理装置であって、さらに、
イメージセンサを用いて生成される前記第１の画像データを取得する画像取得部を備え、
前記圧縮画像取得部は、前記第１の画像データを用いて、前記第１の圧縮画像データを生成することによって、前記第１の圧縮画像データを取得し、
前記圧縮画像生成部は、
前記第１の画像データを用いて、前記第１の画像の縦方向と横方向の少なくとも一方の端に対して前記付加領域に対応する複数個の画素が追加された前記第２の画像を示す第２の画像データを生成し、
前記第２の画像を前記複数個の第２のブロックに分割し、
前記複数個の第２のブロックに対応する複数個の第２のブロックデータをそれぞれ圧縮して前記第２の圧縮画像データを生成する、画像処理装置。
【請求項５】
請求項３に記載の画像処理装置であって、
前記圧縮画像生成部は、
前記第１の圧縮画像データに対して解凍処理を実行して、前記第１の画像に対応する解凍済画像を表す解凍済画像データを生成し、
前記解凍済画像データを用いて、前記解凍済画像の縦方向と横方向の少なくとも一方の端に対して前記付加領域に対応する複数個の画素が追加された前記第２の画像を示す第２の画像データを生成し、
前記第２の画像を前記複数個の第２のブロックに分割し、
前記複数個の第２のブロックに対応する複数個の第２のブロックデータをそれぞれ圧縮して前記第２の圧縮画像データを生成する、画像処理装置。
【請求項６】
請求項１〜５のいずれかに記載の画像処理装置であって、
前記合成画像出力部は、前記第１の圧縮画像データと、前記第２の圧縮画像データと、前記第１の圧縮画像データに基づく前記第１の画像と前記第２の圧縮画像データに基づく前記第２の画像とを合成するための合成情報と、を含む画像ファイルを、前記合成画像データとして出力する、画像処理装置。
【請求項７】
請求項１〜５のいずれかに記載の画像処理装置であって、
前記合成画像出力部は、
前記合成画像を示すビットマップデータを前記合成画像データとして生成し、
前記合成画像データを用いて印刷実行部に前記合成画像を印刷させることによって、前記合成画像データを出力する、画像処理装置。
【請求項８】
請求項１〜７のいずれかに記載の画像処理装置であって、さらに、
前記第１の圧縮画像データの圧縮率が基準以上であるか否かを判断する判断部を備え、
前記圧縮画像生成部は、前記第１の圧縮画像データの圧縮率が基準以上である場合に、前記第２の圧縮画像データを生成し、前記第１の圧縮画像データの圧縮率が基準未満である場合に、前記第２の圧縮画像データを生成せず、
前記合成画像出力部は、前記第１の圧縮画像データの圧縮率が基準以上である場合に、前記合成画像データを出力し、前記第１の圧縮画像データの圧縮率が基準未満である場合に、前記第１の圧縮画像データに基づく画像データを出力する、画像処理装置。
【請求項９】
コンピュータプログラムであって、
第１の画像データによって示される第１の画像を複数個の第１のブロックに分割し、前記複数個の第１のブロックに対応する複数個の第１のブロックデータをそれぞれ圧縮して生成された第１の圧縮画像データを取得する圧縮画像取得機能と、
前記第１の画像データに基づく第２の圧縮画像データをする圧縮画像生成機能であって、前記第１の画像に対応する第２の画像を複数個の第２のブロックに分割し、前記複数個の第２のブロックに対応する複数個の第２のブロックデータをそれぞれ圧縮して前記第２の圧縮画像データを生成する、前記圧縮画像生成機能と、
前記第１の圧縮画像データと前記第２の圧縮画像データとを用いて、前記第１の画像と前記第２の画像とが合成された合成画像を示す合成画像データを出力する合成画像出力機能と、
をコンピュータに実現させ、
前記複数個の第１のブロックの境界に対応する前記合成画像上の第１の境界位置は、前記複数個の第２のブロックの境界に対応する前記合成画像上の第２の境界位置に対してずれている、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、複数個のオブジェクトを示す複数個のオブジェクトデータを含む画像データをバンド画像ごとに処理する技術に関する。
【背景技術】
【０００２】
画像データを圧縮する圧縮処理として、画像上に配置される複数個のブロックに対応する複数個のブロックデータをそれぞれ圧縮する処理、例えば、ＪＰＥＧ（Joint Photographic Experts Group）圧縮処理が知られている（特許文献１）。この圧縮処理によって圧縮された画像データを用いて出力される画像では、複数個のブロックの境界に対応する位置にブロックノイズが発生する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−２３４９０７号公報
【特許文献２】特開平９−２６６５３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ブロックノイズは、画像の画質を低下させるので、ブロックノイズを低減する新たな技術が求められている。
【０００５】
本明細書は、画像上に配置される複数個のブロックに対応する複数個のブロックデータをそれぞれ圧縮する圧縮処理が用いられる場合に、画像に発生するブロックノイズを低減できる新たな技術を開示する。
【課題を解決するための手段】
【０００６】
本明細書に開示された技術は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の適用例として実現することが可能である。
【０００７】
［適用例１］画像処理装置であって、第１の画像データによって示される第１の画像を複数個の第１のブロックに分割し、前記複数個の第１のブロックに対応する複数個の第１のブロックデータをそれぞれ圧縮して生成された第１の圧縮画像データを取得する圧縮画像取得部と、前記第１の画像データに基づく第２の圧縮画像データを生成する圧縮画像生成部であって、前記第１の画像に対応する第２の画像を複数個のブロックに分割し、前記複数個の第２のブロックに対応する複数個の第２のブロックデータをそれぞれ圧縮して前記第２の圧縮画像データを生成する、前記圧縮画像生成部と、前記第１の圧縮画像データと前記第２の圧縮画像データとを用いて、前記第１の画像と前記第２の画像とが合成された合成画像を示す合成画像データを出力する合成画像出力部と、を備え、前記複数個の第１のブロックの境界に対応する前記合成画像上の第１の境界位置は、前記複数個の第２のブロックの境界に対応する前記合成画像上の第２の境界位置に対してずれている、画像処理装置。
【０００８】
上記構成によれば、複数個の第１のブロックの境界に対応する合成画像上の第１の境界位置は、複数個の第２のブロックの境界に対応する合成画像上の第２の境界位置に対してずれている。このために、合成画像において、第１の境界位置に現れるブロックノイズが、第１の圧縮画像データに基づく画像上に発生するブロックノイズよりも低減されるとともに、第２の境界位置に現れるブロックノイズが、第２の圧縮画像データに基づく画像上に発生するブロックノイズよりも低減される。この結果、合成画像においてブロックノイズが目立つことを抑制できる。また、例えば、画像に平滑化処理を施す場合と比較して、画像の鮮鋭度が損なわれることを抑制できる。
【０００９】
なお、本明細書に開示される技術は、種々の形態で実現することが可能であり、例えば、印刷装置、画像読取装置、印刷方法、画像読取方法、画像処理方法、これら装置の機能または上記方法を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、等の形態で実現することができる。
【図面の簡単な説明】
【００１０】
【図１】複合機１００と端末装置２００との構成を示すブロック図である。
【図２】印刷制御処理のフローチャートである。
【図３】印刷制御処理で用いられる画像の一例を示す図である。
【図４】処理済画像ＤＩの一例を示す図である。
【図５】合成画像ＭＩの一例を示す図である。
【図６】読取制御処理のフローチャートである。
【図７】読取制御処理で用いられる画像の一例を示す図である。
【図８】生成すべき合成画像ファイルＭＦ（後述）の一例を示す図である。
【図９】印刷処理のフローチャートである。
【発明を実施するための形態】
【００１１】
Ａ．実施例：
Ａ−１：構成
次に、実施の形態を実施例に基づき説明する。図１は、複合機１００と、実施例における画像処理装置としての端末装置２００と、の構成を示すブロック図である。
【００１２】
複合機１００は、制御部１１０と、印刷機構１２０と、読取機構１３０と、を備えている。制御部１１０は、図示しないプロセッサ（例えば、ＣＰＵ）とメモリとを備える計算機である。印刷機構１２０は、制御部１１０の制御に従って、印刷処理を実行する。印刷処理は、所定の方式（例えば、レーザ方式や、インクジェット方式）で、用紙（印刷媒体の一例）上に画像を印刷する処理である。読取機構１３０は、制御部１１０の制御に従って、読取処理を実行する。読取処理は、ＣＣＤやＣＭＯＳなどの光電変換素子を含むイメージセンサを用いて光学的に文書等の対象物を読み取ることによって、読み取った画像を表すスキャンデータを生成する処理である。
【００１３】
端末装置２００は、例えば、スマートフォンやパーソナルコンピュータなどの計算機である。端末装置２００は、端末装置２００のコントローラとしてのＣＰＵ２１０と、ＲＡＭなどの揮発性記憶装置２２０と、ハードディスクドライブやフラッシュメモリなどの不揮発性記憶装置２３０と、液晶ディスプレイなどの表示部２４０と、液晶パネルと重畳されたタッチパネルやボタンなどの操作部２５０と、通信部２７０と、を備えている。
【００１４】
揮発性記憶装置２２０は、ＣＰＵ２１０が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域ＢＦを提供する。不揮発性記憶装置２３０には、コンピュータプログラムＰＧが格納されている。揮発性記憶装置２２０や不揮発性記憶装置２３０は、複合機１００の内部の格納部である。
【００１５】
コンピュータプログラムＰＧは、例えば、インターネットを介して接続されたサーバからダウンロードされる形態、あるいは、ＣＤ−ＲＯＭなどに記録された形態で提供され得る。これに代えて、コンピュータプログラムＰＧは、端末装置２００の製造時に不揮発性記憶装置２３０に予め格納されて提供され得る。ＣＰＵ２１０は、コンピュータプログラムＰＧを実行することにより、後述する読取機構１３０に印刷を実行させる印刷制御処理を実行する。
【００１６】
端末装置２００は、通信部２７０を介して、複合機１００などの外部装置と通信可能に接続される。通信部２７０は、例えば、ＵＳＢインタフェース、有線ＬＡＮインタフェース、IEEE802.11の無線インタフェースを含む。
【００１７】
Ａ−２：印刷制御処理
図２は、印刷制御処理のフローチャートである。この印刷制御処理は、所定の圧縮形式で元画像データを圧縮して得られる圧縮画像データ、本実施例では、ＪＰＥＧ（Joint Photographic Experts Group）形式の圧縮画像データ（以下、圧縮画像データＡとも呼ぶ）を用いて、印刷実行部としての複合機１００に、圧縮画像データに基づく画像を印刷される処理である。この印刷制御処理は、端末装置２００のＣＰＵ２１０によって実行される。この印刷制御処理は、端末装置２００が、例えば、操作部２５０を介して、ユーザの印刷指示を取得した場合に開始される。
【００１８】
図３は、印刷制御処理で用いられる画像の一例を示す図である。図３（Ａ）には、圧縮画像データＡの基になった元画像データによって示される画像（元画像ＯＩとも呼ぶ）が図示されている。元画像ＯＩを含む本実施例の全ての画像は、横方向（Ｘ方向）と縦方向（Ｙ方向）とに沿ってマトリクス状に並んだ複数個の画素によって構成されている。
【００１９】
圧縮画像データＡは、元画像ＯＩを複数個の第１のブロックＢＬ１に分割し、複数個の第１のブロックＢＬ１に対応する複数個の第１のブロックデータのそれぞれを圧縮することによって生成されている。このために、圧縮画像データＡは、複数個の圧縮済みの第１のブロックデータを含んでいる。これらの複数個の第１のブロックＢＬ１は、矩形であり、横方向（Ｘ方向）と縦方向（Ｙ方向）とに沿ってマトリクス状に並んでいる。本実施例では、各第１のブロックＢＬ１の縦方向の画素数Ｍ、および、横方向の画素数Ｎは、８である。
【００２０】
Ｓ１０では、ＣＰＵ２１０は、圧縮画像データＡを不揮発性記憶装置２３０から取得してバッファ領域ＢＦに格納する。本実施例では、圧縮画像データＡは、ユーザによって指定されたＪＰＥＧ形式の画像ファイルとして不揮発性記憶装置２３０に格納されている。
【００２１】
Ｓ１５では、ＣＰＵ２１０は、取得済みの圧縮画像データＡの圧縮率が基準以上であるか否かを判断する。圧縮率が高いほど、圧縮画像データのデータ量が小さくなるが、画質が低下する。したがって、圧縮率が基準以上であることは、画質が基準以下であるとも言うことができる。
【００２２】
例えば、ＪＰＥＧ形式における圧縮率は、圧縮時に用いられるサンプリング比と量子化テーブルとの２つのパラメータに依存する。サンプリング比は、画像データの各色成分（一般的には、ＹＣｂＣｒ表色系の各色成分）の間引き率を規定するパラメータである。サンプリング比は、例えば、圧縮率が低い順に（画質が高い順に）４：４：４、４：２：２、４：２：０などが用いられる。量子化テーブルは、ＪＰＥＧ圧縮処理において生成される縦方向８種×横方向８種の周波数成分を表すＤＣＴ係数に対応する縦方向８種×横方向８種の合計６４個の量子化係数を含んでいる。量子化テーブルに含まれる量子化係数が大きいほど、圧縮率が高くなり、画質が低くなる。
【００２３】
例えば、上述の３種類のサンプリング比のそれぞれについて、量子化係数の基準値Ｋｔｈが予め定められている。ＣＰＵ２１０は、取得された圧縮画像データＡのヘッダを解析して、サンプリング比と量子化テーブルとを取得し、量子化係数の平均値Ｋａｖを算出する。ＣＰＵ２１０は、算出された量子化係数の平均値Ｋａｖが、圧縮画像データＡのサンプリング比に対応する基準値Ｋｔｈ以上である場合には、圧縮率が基準以上であると判断する。ＣＰＵ２１０は、算出された量子化係数の平均値Ｋａｖが、圧縮画像データＡのサンプリング比に対応する基準値Ｋｔｈ未満である場合には、圧縮率が基準未満であると判断する。
【００２４】
圧縮画像データＡの圧縮率が基準未満である場合には（Ｓ１５：ＮＯ）、Ｓ２０にて、ＣＰＵ２１０は、圧縮画像データＡに対して解凍処理を実行して、ビットマップデータＡを生成する。具体的には、ＣＰＵ２１０は、圧縮画像データＡに含まれる複数個の圧縮済みの第１のブロックデータをそれぞれ解凍することによってビットマップデータＡを生成する。ビットマップデータＡは、本実施例では、ＹＣｂＣｒ表色系の色値（ＹＣｂＣｒ値とも呼ぶ）で複数個の画素の色を示すＹＣｂＣｒ画像データである。ＹＣｂＣｒ表色系の色値は、輝度を示す１個の成分値（Ｙ）と、色差を示す２個の成分値（Ｃｂ、Ｃｒ）と、を含む色値である。各成分値は、例えば、２５６階調の階調値である。ビットマップデータＡによって示される画像を解凍済画像ＡＩとも呼ぶ。
【００２５】
図３（Ａ）は、解凍済画像ＡＩの一例を示す図であるとも言うことができる。図３（Ａ）に示すように、解凍済画像ＡＩは、解凍済みの複数個の第１のブロックデータによって示される複数個の第１のブロックＢＬ１を含んでいる。ＪＰＥＧ方式の圧縮は、非可逆圧縮であり、上述のようにブロックごとに行われる。このために、圧縮率が高い場合には、圧縮率が低い場合と比較して、ブロックノイズが目立ちやすい。ブロックノイズは、複数個のブロックの境界において、色の連続性が失われ、ブロックの輪郭が目立つ不具合である。圧縮画像データＡの圧縮率が基準未満である場合には、ブロックノイズは目立たない。このために、この場合には、後述するブロックノイズを低減するための処理が行われることなく、印刷データが生成される（Ｓ２５）。
【００２６】
Ｓ２５では、ＣＰＵ２１０は、ビットマップデータＡを用いて印刷データを生成する。具体的には、ＣＰＵ２１０は、ビットマップデータＡに対して、色変換処理とハーフトーン処理を実行する。色変換処理は、ＹＣｂＣｒ画像データであるビットマップデータＡに含まれるＹＣｂＣｒ値のＲＧＢ値に変換し、さらに、該ＲＧＢ値をＣＭＹＫ値に変換する処理である。ＲＧＢ値は、ＲＧＢ表色系の色値であり、赤（Ｒ）と緑（Ｇ）と青（Ｂ）の３つの色成分の階調値（例えば、０〜２５５の２５６階調）を含む。ＣＭＹＫ値は、複合機１００による印刷で用いられる４種の色材（シアン（Ｃ）とマゼンタ（Ｍ）とイエロ（Ｙ）とブラック（Ｋ））に対応する４つの色成分の階調値（例えば、０〜２５５の２５６階調）を含む。色変換処理によって、ＣＭＹＫ値で複数個の画素の色を示すＣＭＹＫ画像データが生成される。ハーフトーン処理は、ＣＭＹＫ画像データを、ＣＭＹＫの各成分について画素ごとにドットの形成状態を表す印刷データ（ドットデータとも呼ばれる）に変換する処理である。ハーフトーン処理は、ディザ法や誤差拡散法などの公知の方法が用いられる。
【００２７】
圧縮画像データＡの圧縮率が基準以上である場合には（Ｓ１５：ＹＥＳ）、Ｓ３０にて、上述したＳ２０と同様に、ＣＰＵ２１０は、圧縮画像データＡに対して解凍処理を実行して、ビットマップデータＡを生成する。圧縮画像データＡの圧縮率が基準以上である場合には、上述したブロックノイズが目立ち得るので、ブロックノイズを低減するための処理が行われる（Ｓ３５〜Ｓ５５）。
【００２８】
Ｓ３５では、ＣＰＵ２１０は、ビットマップデータＡに付加データを付加してビットマップデータＢを生成する。ビットマップデータＢによって示される画像を、付加済画像ＢＩとも呼ぶ。図３（Ｂ）には、付加済画像ＢＩの一例が示されている。ＣＰＵ２１０は、ビットマップデータＡをコピーして、バッファ領域ＢＦの別の領域に格納する。ＣＰＵ２１０は、コピーされたビットマップデータＡに対して、図３（Ｂ）に破線で示す付加領域ＡＤを示す付加データを付加することによって、付加済画像ＢＩを示すビットマップデータＢを生成する。
【００２９】
付加領域ＡＤは、第１帯状部ＢＡ１と、第２帯状部ＢＡ２と、を含む。第１帯状部ＢＡ１は、解凍済画像ＡＩの上端（図３（Ｂ）の例では、−Ｙ方向の端）に隣接するように、当該上端の全長に亘って付加されている。第１帯状部ＢＡ１の縦方向の画素数Ｍｓは、第１のブロックＢＬ１の縦方向の画素数Ｍの倍数とは異なる数、例えば、（Ｍ／２）に設定される。本実施例では、Ｍ＝８であるので、Ｍｓ＝４である。第２帯状部ＢＡ２は、解凍済画像ＡＩの左端（図３（Ｂ）の例では、−Ｘ方向の端）に隣接するように、当該左端の全長に亘って付加されている。第２帯状部ＢＡ２の横方向の画素数Ｎｓは、第１のブロックＢＬ１の横方向の画素数Ｎの倍数とは異なる数、例えば、（Ｎ／２）に設定される。本実施例では、Ｎ＝８であるので、Ｎｓ＝４である。付加領域ＡＤに含まれる各画素の色値は、所定の固定値、例えば、黒を示すＲＧＢ値（０、０、０）、あるいは、白を示すＲＧＢ値（２５５、２５５、２５５）に設定される。
【００３０】
以上の説明から解るように、付加済画像ＢＩは、図３（Ａ）の解凍済画像ＡＩに対応する画像領域ＭＤと、該領域の縦方向と横方向の端に隣接する付加領域ＡＤと、を含む画像である。
【００３１】
Ｓ４０では、ＣＰＵ２１０は、ビットマップデータＢをＪＰＥＧ方式で圧縮して、圧縮画像データＢを生成する。具体的には、ＣＰＵ２１０は、ＲＧＢ画像データであるビットマップデータＢを、ＹＣｂＣｒ画像データに変換する。さらに、ＣＰＵ２１０は、図３（Ｂ）に示すように、ＹＣｂＣｒ画像データに変換されたビットマップデータＢによって示される付加済画像ＢＩを複数個の第２のブロックＢＬ２に分割する。このとき、付加済画像ＢＩは、左上の頂点の位置Ｐ０を基準として、複数個の第２のブロックＢＬ２に分割される。このために、付加領域ＡＤが付加されている分だけ、付加済画像ＢＩに含まれる画像領域ＭＤ上における複数個の第２のブロックＢＬ２の境界の位置は、解凍済画像ＡＩにおける複数個の第１のブロックＢＬ１（図３（Ａ））の境界の位置に対して、ずれている。本実施例では、画像領域ＭＤにおける複数個の第２のブロックＢＬ２の境界の位置は、解凍済画像ＡＩにおける複数個の第１のブロックＢＬ１の境界の位置に対して、縦方向に（Ｍ／２）画素だけずれるとともに、横方向に（Ｎ／２）画素だけずれる。
【００３２】
そして、ＣＰＵ２１０は、複数個の第２のブロックＢＬ２に対応する複数個の第２のブロックデータをそれぞれ圧縮することによって、圧縮画像データＢを生成する。ここで、ビットマップデータＢを圧縮する際のパラメータ（例えば、第２のブロックＢＬ２の縦方向および横方向の画素数、サンプリング比、量子化テーブル）には、圧縮画像データＡの生成時に用いられたパラメータが用いられる。これらのパラメータは、圧縮画像データＡ（ＪＰＥＧ形式の画像ファイル）を解析することで取得される。したがって、例えば、第２のブロックＢＬ２の縦方向の画素数はＭ（本実施例ではＭ＝８）であり、横方向の画素数はＮ（本実施例ではＮ＝８）である。
【００３３】
Ｓ４５では、ＣＰＵ２１０は、圧縮画像データＢに対して解凍処理を実行して、ビットマップデータＣを生成する。解凍処理の具体的な処理は、Ｓ３０にて圧縮画像データＡに対して実行される解凍処理と同一である。ビットマップデータＣによって示される画像を解凍済画像ＣＩとも呼ぶ。図３（Ｂ）は、解凍済画像ＣＩの一例を示す図であるとも言うことができる。ただし、ＪＰＥＧ方式の圧縮は、上述したように非可逆圧縮であるので、解凍済画像ＣＩは、付加済画像ＢＩよりも劣化している。例えば、解凍済画像ＣＩは、複数個の第２のブロックＢＬ２の境界に沿うブロックノイズを含んでいる。
【００３４】
Ｓ５０では、ＣＰＵ２１０は、ビットマップデータＣから付加領域ＡＤを示す付加データを削除して、ビットマップデータＤを生成する。ビットマップデータＤによって示される画像を、処理済画像ＤＩとも呼ぶ。図４は、処理済画像ＤＩの一例を示す図である。図４に示すように、処理済画像ＤＩは、図３（Ｂ）の解凍済画像ＣＩをトリミングすることによって、付加領域ＡＤを削除した画像である。図３（Ａ）の解凍済画像ＡＩと、図４の処理済画像ＤＩと、は、同じ画像データ（具体的には、圧縮画像データＡもしくは圧縮画像データＡの基になった画像データ）に基づく画像であるため、互いに等しいサイズ（画素数）を有し、互いに類似している。そして、図３（Ａ）の解凍済画像ＡＩは、複数個の第１のブロックＢＬ１に沿うブロックノイズを含み、図４の処理済画像ＤＩは、複数個の第２のブロックＢＬ２に沿うブロックノイズを含んでいる。このように、図３（Ａ）の解凍済画像ＡＩと図４の処理済画像ＤＩとは、ブロックノイズの位置が互いにずれている。
【００３５】
Ｓ５５では、ＣＰＵ２１０は、ビットマップデータＡとビットマップデータＤとを用いて合成処理を実行して、合成画像データを生成する。合成処理によって、ビットマップデータＡによって示される解凍済画像ＡＩ（図３（Ａ））と、ビットマップデータＤによって示される処理済画像ＤＩ（図４）と、が合成された合成画像ＭＩを示す合成画像データが生成される。
【００３６】
図５は、合成画像ＭＩの一例を示す図である。合成処理は、第１の重みＷ１と第２の重みＷ２とを用いて実行される。ここで、生成すべき合成画像ＭＩの画素Ｐ（ｉ）に対応する解凍済画像ＡＩの画素をＰａ（ｉ）とし、画素Ｐ（ｉ）に対応する処理済画像ＤＩの画素をＰｄ（ｉ）とする。解凍済画像ＡＩの画素をＰａ（ｉ）の輝度をＹａ（ｉ）とし、処理済画像ＤＩの画素Ｐｄ（ｉ）の輝度をＹｄ（ｉ）とする。解凍済画像ＡＩの画素Ｐａ（ｉ）に対応する第１の重みＷ１をＷ１（ｉ）とし、処理済画像ＤＩの画素Ｐｄ（ｉ）に対応する第２の重みＷ２を、Ｗ２（ｉ）とする。Ｗ１（ｉ）とＷ２（ｉ）との和は、全ての画素Ｐ（ｉ）において１とされる（Ｗ１（ｉ）＋Ｗ２（ｉ）＝１）。合成画像ＭＩの画素Ｐ（ｉ）の輝度Ｙ（ｉ）は、以下の式（１）で算出される。
Ｙ（ｉ）＝Ｗ１（ｉ）×Ｙａ（ｉ）＋Ｗ２（ｉ）×Ｙｄ（ｉ）…（１）
【００３７】
同様に、合成画像ＭＩの画素Ｐ（ｉ）の色差Ｃｂ（ｉ）、Ｃｒ（ｉ）は、解凍済画像ＡＩの画素Ｐａ（ｉ）の色差Ｃｂａ（ｉ）、Ｃｒａ（ｉ）と、処理済画像ＤＩの画素Ｐｄ（ｉ）の色差Ｃｂｄ（ｉ）、Ｃｒｄ（ｉ）と、を用いて、以下の式（２）、（３）で算出される。
Ｃｂ（ｉ）＝Ｗ１（ｉ）×Ｃｂａ（ｉ）＋Ｗ２（ｉ）×Ｃｂｄ（ｉ）…（２）
Ｃｒ（ｉ）＝Ｗ１（ｉ）×Ｃｒａ（ｉ）＋Ｗ２（ｉ）×Ｃｒｄ（ｉ）…（３）
【００３８】
図５において、合成画像ＭＩの下側（＋Ｙ方向側）には、第１のブロックＢＬ１のＸ方向沿って延びる境界線Ｌｘ上の重みＷ１、Ｗ２が図示されている。合成画像ＭＩの右側（＋Ｘ方向側）には、第１のブロックＢＬ１のＹ方向沿って延びる境界線Ｌｙ上の重みＷ１、Ｗ２が図示されている。本実施例では、複数個の第１のブロックＢＬ１の境界線Ｌｘ、Ｌｙに沿う画素に対応する第１の重みＷ１は０とされる。複数個の第１のブロックＢＬ１の境界線Ｌｘ、Ｌｙから離れるに連れて第１の重みＷ１は大きくなる。複数個の第１のブロックＢＬ１の中心部Ｃａの画素に対応する第１の重みＷ１は１とされる。そして、第２の重みＷ２は、第１の重みＷ１との和が１になるように、第１の重みＷ１に応じて決定されている。例えば、第２のブロックＢＬ２の中心部Ｃｂに対応する第２の重みＷ２は、１となる。また、複数個の第１のブロックＢＬ１の中心部Ｃａの画素に対応する第２の重みＷ２は１とされる。複数個の第１のブロックＢＬ１の中心部Ｃａの画素は、第２のブロックＢＬ２の境界線に沿う画素でもある。
【００３９】
Ｓ６０では、ＣＰＵ２１０は、合成画像データを用いて印刷データを生成する。具体的には、ＣＰＵ２１０は、上述したＳ２５にてビットマップデータＡを用いて印刷データを生成する場合と同様に、合成画像データに対して色変換処理とハーフトーン処理を実行する。
【００４０】
Ｓ６５では、Ｓ６０またはＳ２５にて生成された印刷データを含む印刷ジョブを複合機１００に送信する。複合機１００が印刷ジョブを受信すると、複合機１００の制御部１１０は、該印刷ジョブに従って印刷機構１２０を制御して、シートなどの印刷媒体に印刷画像を印刷する。
【００４１】
以上説明した本実施例によれば、圧縮画像取得部としてのＣＰＵ２１０は、圧縮画像データＡを取得する（図２のＳ１０）。圧縮画像生成部としてのＣＰＵ２１０は、元画像ＯＩに対応する付加済画像ＢＩをＪＰＥＧ方式で圧縮して、圧縮画像データＢを生成する（図２のＳ４０）。合成画像出力部としてのＣＰＵ２１０は、圧縮画像データＡと圧縮画像データＢとを用いて、解凍済画像ＡＩと処理済画像ＤＩとが合成された合成画像ＭＩを示す合成画像データを出力する（図２のＳ３０、Ｓ４５〜Ｓ５５）。図５に示すように、第１のブロックＢＬ１の境界に対応する合成画像ＭＩ上の位置（第１の境界位置とも呼ぶ）は、複数個の第２のブロックＢＬ２の境界に対応する合成画像ＭＩ上の位置（第２の境界位置とも呼ぶ）に対してずれている。このために、合成画像ＭＩにおいて、第１の境界位置に現れるブロックノイズが、解凍済画像ＡＩ（図３（Ａ））上に発生するブロックノイズよりも低減されるとともに、第２の境界位置に現れるブロックノイズが、処理済画像ＤＩ（図４）上に発生するブロックノイズよりも低減される。この結果、合成画像ＭＩにおいてブロックノイズが目立つことを抑制できる。
【００４２】
さらに、解凍済画像ＡＩや処理済画像ＤＩは、圧縮率が高い場合には、高周波成分が失われることに起因してエッジの周囲にいわゆるモスキートノイズが現れる場合がある。本実施例によれば、解凍済画像ＡＩと処理済画像ＤＩとが合成されるので、合成画像ＭＩにおいて、モスキートノイズが、解凍済画像ＡＩと処理済画像ＤＩと比較して低減できる。
【００４３】
また、ブロックノイズやモスキートノイズを低減する方法として、例えば、ビットマップデータＡに対して平滑化処理を実行して、解凍済画像ＡＩの全体を平滑化する方法が考えられる。しかしながら、この場合には、平滑化処理によって、画像内のオブジェクトのエッジの鮮鋭度が損なわれる可能性がある。本実施例では、画像内のオブジェクトのエッジの鮮鋭度が損なわれることを抑制しつつ、ノイズが目立つことを抑制できる。
【００４４】
さらには、ビットマップデータＡに対して平滑化処理を実行する際に、画像内のオブジェクトのエッジを抽出し、抽出されたエッジを除く部分のみを平滑化する手法が考えられる。しかしながら、例えば、画像内のノイズのエッジがオブジェクトのエッジとして誤って抽出されると、ノイズを低減できないため、オブジェクトのエッジの抽出精度が十分に高くない場合には、ノイズを十分にできない場合がある。また、オブジェクトのエッジの抽出精度を上げるためには、処理が複雑になるために、処理時間が長くなる不都合や必要なハードウエアのリソースが過大になる不都合が発生し得る。本実施例では、このような不都合を抑制しつつ、ノイズが目立つことを抑制できる。
【００４５】
さらに、上記実施例によれば、合成処理は、第１の重みＷ１と、第２の重みＷ２と、を用いて、実行される。そして、図５に示すように、複数個の第１の重みＷ１のうち、複数個の第１のブロックＢＬ１の境界に沿う画素に対応する重み（例えば、０）は、複数個の第１のブロックＢＬ１のそれぞれの中心部Ｃａの画素に対応する重み（例えば１）よりも小さい。そして、第２の重みＷ２のうち、複数個の第２のブロックＢＬ２の境界に沿う一部の画素（例えば、第１のブロックＢＬ１のそれぞれの中心部Ｃａに位置する画素）に対応する重み（例えば、０）は、複数個の第２のブロックＢＬ２のそれぞれの中心部Ｃｂに対応する重み（例えば、１）よりも小さい。この結果、合成画像ＭＩにおける第１のブロックＢＬ１の境界に対応する位置において、第１のブロックＢＬ１の境界にブロックノイズが現れやすい解凍済画像ＡＩの寄与を小さくすることができる。そして、合成画像ＭＩにおける第２のブロックＢＬ２の境界に対応する位置において、第２のブロックＢＬ２の境界にブロックノイズが現れやすい処理済画像ＤＩの寄与を小さくすることができる。この結果、合成画像ＭＩにおいて、ブロックノイズをさらに低減することができる。
【００４６】
さらに、上記実施例では、圧縮画像生成部としてのＣＰＵ２１０は、解凍済画像ＡＩに対応する画像領域ＭＤと、付加領域ＡＤと、を含む付加済画像ＢＩを、第２のブロックＢＬ２に分割して、圧縮画像データＢを生成する（図２のＳ４０、図３（Ｂ））。そして、これによって、解凍済画像ＡＩに対応する画像領域ＭＤにおける第２のブロックＢＬ２の境界の位置（図３（Ｂ））を、解凍済画像ＡＩにおける第１のブロックＢＬ１の境界の位置（図３（Ａ））とは異なる位置としている。このように、付加領域ＡＤを追加した付加済画像ＢＩに対して、通常のＪＰＥＧ圧縮を行うことで、第１のブロックＢＬ１と第２のブロックＢＬ２とを適切にずらすことができる。
【００４７】
さらに、上記実施例では、圧縮画像生成部としてのＣＰＵ２１０は、圧縮画像データＡに対して解凍処理を実行して、解凍済画像ＡＩを表すビットマップデータＡを生成し（図２のＳ３０）、ビットマップデータＡを用いて、解凍済画像ＡＩの縦方向と横方向の端に対して付加領域ＡＤに対応する複数個の画素が追加された付加済画像ＢＩを示すビットマップデータＢを生成する（図２のＳ３５）。そして、圧縮画像生成部としてのＣＰＵ２１０は、付加済画像ＢＩを複数個の第２のブロックＢＬ２に分割し、複数個の第２のブロックＢＬ２に対応する複数個の第２のブロックデータをそれぞれ圧縮して圧縮画像データＢを生成する（図２のＳ４０）。この結果、圧縮画像データＡを用いて、ブロックノイズが低減された合成画像ＭＩを示す合成画像データを出力することができる。
【００４８】
さらに、上記実施例によれば、合成画像出力部としてのＣＰＵ２１０は、合成画像ＭＩを示すビットマップデータ（合成画像データ）を生成し（図２のＳ５５）、該合成画像データを用いて印刷実行部としての端末装置２００に合成画像ＭＩを印刷させる。この結果、ブロックノイズが低減された合成画像ＭＩを印刷できる。
【００４９】
さらに、上記実施例によれば、判断部としてのＣＰＵ２１０は、圧縮画像データＡの圧縮率が基準以上であるか否かを判断する（図２のＳ１５）。圧縮画像生成部としてのＣＰＵ２１０は、圧縮率が基準以上である場合に（図２のＳ１５にてＹＥＳ）、圧縮画像データＢを生成し（図２のＳ４０）、圧縮率が基準未満である場合に（図２のＳ１５にてＮＯ）、圧縮画像データＢを生成しない。そして、合成画像出力部としてのＣＰＵ２１０は、圧縮画像データＡの圧縮率が基準以上である場合に（図２のＳ１５にてＹＥＳ）、合成画像データを出力し（図２のＳ６０、Ｓ６５）、圧縮画像データＡの圧縮率が基準未満である場合に（図２のＳ１５にてＮＯ）、圧縮画像データＡに基づくビットマップデータＡを出力する（図２のＳ２５、Ｓ６５）。圧縮画像データＡの圧縮率が基準以上である場合には、圧縮画像データＡによって示される解凍済画像ＡＩにおいてブロックノイズやモスキートノイズが目立つ可能性が高いので、合成画像データを生成して出力する必要性が高い。これに対して、圧縮画像データＡの圧縮率が基準未満である場合には、圧縮画像データＡによって示される解凍済画像ＡＩにおいてブロックノイズやモスキートノイズが目立つ可能性が低い。したがって、この場合には、合成画像データを出力する必要性が低い。また、この場合には、合成画像データを生成すると処理時間が大きくなることや、合成画像データの画質が圧縮画像データＡよりも低くなることを防ぐために、合成画像データを生成せず、ビットマップデータＡを出力することが好ましいと考えられる。本実施例によれば、圧縮画像データＡの圧縮率に応じて適切なデータを出力できる。
【００５０】
以上の説明から解るように、本実施例の元画像データは第１の画像データの例であり、ビットマップデータＢは第２の画像データの例である。本実施例の圧縮画像データＡは第１の圧縮画像データの例であり、圧縮画像データＢは、第２の圧縮画像データの例である。また、本実施例の元画像ＯＩ、解凍済画像ＡＩは（図３（Ａ））は第１の画像の例であり、付加済画像ＢＩ、処理済画像ＤＩ（図３（Ｂ））は、第２の画像の例である。
【００５１】
Ｂ．第２実施例
第２実施例では、コンピュータプログラムＰＧとは異なるコンピュータプログラムを実行することによって、端末装置２００のＣＰＵ２１０は、読取制御処理を実行する。読取制御処理は、複合機１００の読取機構１３０にスキャンデータを生成させ、該スキャンデータを用いて、ＪＰＥＧ形式の圧縮画像データを含む画像ファイルを出力する処理である。画像ファイルは、本実施例では、ＰＤＦ（Portable Document Format）形式の画像ファイルである。変形例では、画像ファイルは他のファイル形式、例えば、ＸＰＳ（XML Paper Specification）などの他の形式のファイルが用いられてもよい。
【００５２】
図６は、読取制御処理のフローチャートである。図７は、読取制御処理で用いられる画像の一例を示す図である。図８は、生成すべき合成画像ファイルＭＦ（後述）の一例を示す図である。例えば、ユーザは、複合機１００の読取機構１３０の原稿台（図示省略）に原稿を設置したうえで、端末装置２００の操作部２５０を介して端末装置２００に読取指示を入力する。読取制御処理は、ＣＰＵ２１０が該読取指示を取得した場合に開始される。
【００５３】
Ｓ１０５では、ＣＰＵ２１０は、複合機１００から原稿を示すスキャンデータＡを取得する。具体的には、ＣＰＵ２１０は、複合機１００に読取指示を送信することによって、複合機１００の読取機構１３０に原稿を示すスキャンデータＡを生成させ、複合機１００から生成されたスキャンデータＡを取得する。取得されるスキャンデータＡは、ＲＧＢ画像データである。図７（Ａ）には、取得されるスキャンデータＡによって示されるスキャン画像ＳＩＡの一例が示されている。
【００５４】
Ｓ１１０では、ＣＰＵ２１０は、スキャンデータＡに付加データを付加してスキャンデータＢを生成する。図７（Ｂ）には、スキャンデータＢによって示されるスキャン画像ＳＩＢの一例が示されている。具体的には、ＣＰＵ２１０は、スキャンデータＡをコピーして、バッファ領域ＢＦの別の領域に格納する。ＣＰＵ２１０は、コピーされたスキャンデータＡに対して、図７（Ｂ）に破線で示す付加領域ＡＤｂを示す付加データを付加することによって、スキャン画像ＳＩＢを示すスキャンデータＢを生成する。付加領域ＡＤｂは、図３（Ｂ）の付加領域ＡＤと同様に、第１帯状部ＢＡ１ｂと、第２帯状部ＢＡ２ｂと、を含む。第１帯状部ＢＡ１ｂは、スキャン画像ＳＩＡの上端（図７（Ｂ）の例では、−Ｙ方向の端）に隣接するように、当該上端の全長に亘って付加されている。第２帯状部ＢＡ２ｂは、スキャン画像ＳＩＡの左端（図７（Ｂ）の例では、−Ｘ方向の端）に隣接するように、当該左端の全長に亘って付加されている。第１帯状部ＢＡ１ｂの縦方向の画素数は、例えば、図３（Ｂ）の第１帯状部ＢＡ１の縦方向の画素数と同様に、Ｍｓである（本実施例ではＭｓ＝４）。第２帯状部ＢＡ２ｂの横方向の画素数は、例えば、図３（Ｂ）の第２帯状部ＢＡ２ｂの横方向の画素数と同様に、Ｎｓである（本実施例ではＮｓ＝４）。付加領域ＡＤｂに含まれる各画素の色値は、図３（Ｂ）の付加領域ＡＤと同様に、所定の固定値に設定される。以上の説明から解るように、スキャン画像ＳＩＢは、スキャン画像ＳＩＡに対応する画像領域ＭＤｂと、付加領域ＡＤｂと、を含む。
【００５５】
Ｓ１１５では、ＣＰＵ２１０は、スキャンデータＡをＪＰＥＧ方式で圧縮して、圧縮スキャンデータＡを生成する。具体的には、ＣＰＵ２１０は、ＲＧＢ画像データであるスキャンデータＡを、ＹＣｂＣｒ画像データに変換する。さらに、ＣＰＵ２１０は、図３（Ａ）に示すように、ＹＣｂＣｒ画像データに変換されたスキャンデータＡによって示されるスキャン画像ＳＩＡを複数個の第１のブロックＢＬ１ｂに分割する。このとき、ＣＰＵ２１０は、複数個の第１のブロックＢＬ１ｂに対応する複数個の第１のブロックデータをそれぞれ圧縮することによって、圧縮スキャンデータＡを生成する。
【００５６】
Ｓ１２０では、ＣＰＵ２１０は、スキャンデータＢをＪＰＥＧ方式で圧縮して、圧縮スキャンデータＢを生成する。具体的には、ＣＰＵ２１０は、ＲＧＢ画像データであるスキャンデータＢを、ＹＣｂＣｒ画像データに変換する。さらに、ＣＰＵ２１０は、図３（Ｂ）に示すように、ＹＣｂＣｒ画像データに変換されたスキャンデータＢによって示されるスキャン画像ＳＩＢを複数個の第２のブロックＢＬ２ｂに分割する。ＣＰＵ２１０は、複数個の第２のブロックＢＬ２ｂに対応する複数個の第２のブロックデータをそれぞれ圧縮することによって、圧縮スキャンデータＢを生成する。
【００５７】
ここで、第１のブロックＢＬ１ｂおよび第２のブロックＢＬ２ｂの縦方向の画素数および横方向の画素数は、第１実施例の第１のブロックＢＬ１、第２のブロックＢＬ２（図３）と同様に、Ｍ、Ｎである。そして、Ｓ１１５では、スキャン画像ＳＩＡは、左上の頂点の位置Ｐ０１を基準に分割され（図７（Ａ））、Ｓ１２０では、スキャン画像ＳＩＢは、左上の頂点の位置Ｐ０２を基準に分割される（図７（Ｂ））。このために、付加領域ＡＤｂが付加されている分だけ、スキャン画像ＳＩＢに含まれる画像領域ＭＤｂ上における複数個の第２のブロックＢＬ２ｂの境界の位置は、スキャン画像ＳＩＡにおける複数個の第１のブロックＢＬ１ｂ（図７（Ａ））の境界の位置に対して、ずれている。本実施例では、画像領域ＭＤｂにおける複数個の第２のブロックＢＬ２ｂの境界の位置は、画像領域ＭＤｂにおける複数個の第１のブロックＢＬ１ｂの境界の位置に対して、横方向に（Ｍ／２）画素だけずれるとともに、縦方向に（Ｎ／２）画素だけずれる。
【００５８】
Ｓ１２５では、ＣＰＵ２１０は、合成情報ＭＸを生成する。合成情報ＭＸは、後述する印刷処理（図９）のＳ２２５にて、解凍済スキャン画像ＳＩＣと、解凍済スキャン画像ＳＩＤと、を合成する際に用いられる情報である。解凍済スキャン画像ＳＩＣは、圧縮画像データＡを解凍して得られるビットマップデータである解凍済スキャンデータＡによって示される画像である。解凍済スキャン画像ＳＩＤは、圧縮画像データＢを解凍して得られるビットマップデータである解凍済スキャンデータＢによって示される画像である。図７（Ａ）は、解凍済スキャン画像ＳＩＣの一例を示す図であるとも言うことができ、図７（Ｂ）は、解凍済スキャン画像ＳＩＤの一例を示す図であるとも言うことができる。図８に示すように、合成情報ＭＸは、相対位置情報ＰＮと、有効範囲情報ＲＩと、透過率情報ＴＰと、を含んでいる。
【００５９】
相対位置情報ＰＮは、解凍済スキャン画像ＳＩＣと解凍済スキャン画像ＳＩＤとの相対的な位置関係を示す情報である。本実施例では、相対位置情報ＰＮは、解凍済スキャン画像ＳＩＣの左上の頂点の位置Ｐ０１（図７（Ａ））に対応する解凍済スキャン画像ＳＩＤ上の位置Ｐｒ１の座標情報である。位置Ｐｒ１は、画像領域ＭＤｂの左上の頂点の位置である。後述する印刷処理では、解凍済スキャン画像ＳＩＣの左上の頂点の位置Ｐ０１と、相対位置情報ＰＮによって示される解凍済スキャン画像ＳＩＤ上の位置Ｐｒ１と、が重なるように、解凍済スキャン画像ＳＩＣと解凍済スキャン画像ＳＩＤとが合成される。
【００６０】
有効範囲情報ＲＩは、合成によって得られる合成画像（図示省略）の有効範囲を示す情報である。図７（Ｂ）の画像領域ＭＤｂが有効範囲として指定され、付加領域ＡＤｂは有効範囲外とされる。このため、本実施例では、有効範囲情報ＲＩは、画像領域ＭＤｂを示す情報、例えば、画像領域ＭＤｂの左上の頂点の位置Ｐｒ１と、右下の頂点の位置Ｐｒ２と、を示す情報である。
【００６１】
透過率情報ＴＰは、解凍済スキャン画像ＳＩＣの複数個の画素のそれぞれについて、画素ごとの透過率を規定する情報であり、アルファチャンネルとも呼ばれる。例えば、透過率は、０〜２５５の２５６段階の階調値で表される。例えば、透過率が０％であることを示す値は、２５５であり、透過率が１００％であることを示す値は、０である。透過率が０％である画素は、合成画像において、解凍済スキャン画像ＳＩＣの重みが１であり、解凍済スキャン画像ＳＩＤの重みが０であることを意味する。透過率が１００％であることは、解凍済スキャン画像ＳＩＣの重みが０であり、解凍済スキャン画像ＳＩＤの重みが１であることを意味する。このように、透過率情報ＴＰは、合成画像における解凍済スキャン画像ＳＩＣの重みである第１の重みと、合成画像における解凍済スキャン画像ＳＩＤの重みである第２の重みと、を規定する情報である、と言うことができる。本実施例では、解凍済スキャン画像ＳＩＣの各画素の重みが、第１実施例の合成画像ＭＩにおけるビットマップデータＣの各画素の第１の重みＷ１（図５）と同様になり、解凍済スキャン画像ＳＩＤの各画素の重みが、第１実施例の合成画像ＭＩにおけるビットマップデータＤの各画素の第２の重みＷ２（図５）と同様になるように、透過率情報ＴＰが規定される。
【００６２】
Ｓ１３０では、ＣＰＵ２１０は、合成画像ファイルＭＦを生成する。ＰＤＦでは、２個の圧縮画像データを格納することが可能であり、出力（印刷や表示）の際には、２個の圧縮画像データに基づく２個の画像を、合成情報に従って合成し出力することができるように、規格が定められている。ＣＰＵ２１０は、ＰＤＦの規格に準拠して、合成画像ファイルＭＦを生成する。この結果、図８に示すように、Ｓ１１５にて生成された圧縮画像データＡと、Ｓ１２０にて生成された圧縮画像データＢと、Ｓ１２５にて生成された合成情報ＭＸと、を含む合成画像ファイルＭＦが生成される。
【００６３】
Ｓ１３５では、ＣＰＵ２１０は、合成画像ファイルＭＦを不揮発性記憶装置２３０の所定の領域に保存して、読取制御処理を終了する。
【００６４】
次に、読取制御処理によって保存された合成画像ファイルＭＦを用いて、合成画像を印刷する印刷処理について説明する。図９は、印刷処理のフローチャートである。印刷処理は、ＣＰＵ２１０が、合成画像ファイルＭＦを指定した印刷指示をユーザから操作部２５０を介して取得した場合に開始される。
【００６５】
Ｓ２０５では、ＣＰＵ２１０は、指定された合成画像ファイルＭＦ（図８）を不揮発性記憶装置２３０から取得する。取得された合成画像ファイルＭＦは、例えば、バッファ領域ＢＦに格納される。
【００６６】
Ｓ２１０では、ＣＰＵ２１０は、合成画像ファイルＭＦに格納された圧縮スキャンデータＡに対して解凍処理を実行して、上述した解凍済スキャンデータＡを生成する。
【００６７】
Ｓ２１５では、ＣＰＵ２１０は、合成画像ファイルＭＦに格納された圧縮スキャンデータＢに対して解凍処理を実行して、上述した解凍済スキャンデータＢを生成する。
【００６８】
Ｓ２２０では、ＣＰＵ２１０は、合成画像ファイルＭＦに格納された合成情報ＭＸに従って、解凍済スキャンデータＡと解凍済スキャンデータＢとを用いて合成処理を実行して、合成画像データを生成する。合成処理によって、解凍済スキャンデータＡによって示される解凍済スキャン画像ＳＩＣ（図７（Ａ））と、解凍済スキャンデータＢによって示される解凍済スキャン画像ＳＩＤ（図７（Ｂ））と、が合成された合成画像を示す合成画像データが生成される。具体的には、相対位置情報ＰＮに従って、解凍済スキャン画像ＳＩＤに対して解凍済スキャン画像ＳＩＣが合成される位置が決定される。具体的には、解凍済スキャン画像ＳＩＣの左上の頂点の位置Ｐ０１が、解凍済スキャン画像ＳＩＤの画像領域ＭＤｂの左上の頂点の位置Ｐｒ１に重なるように、解凍済スキャン画像ＳＩＤの画像領域ＭＤｂに対して解凍済スキャン画像ＳＩＣが合成される。
【００６９】
合成画像（合成後の画像領域ＭＤｂ内の画像）の各画素の値は、透過率情報ＴＰに記録された透過率に従って合成される。具体的には、生成すべき合成画像の画素Ｐ（ｉ）に対応する透過率を、ＴＲ（ｉ）とすると、画素Ｐ（ｉ）に対応する第１の重みＷ１（ｉ）は、ＴＲ（ｉ）／２５５であり、第２の重みＷ２（ｉ）は、｛１−ＴＲ（ｉ）｝／２５５である。生成すべき合成画像の画素Ｐ（ｉ）に対応する解凍済スキャン画像ＳＩＣの画素のＹＣｂＣｒ値を｛Ｙａ（ｉ）、Ｃｂａ（ｉ）、Ｃｒａ（ｉ）｝とし、画素Ｐ（ｉ）に対応する解凍済スキャン画像ＳＩＤの画素のＹＣｂＣｒ値を｛Ｙｄ（ｉ）、Ｃｂｄ（ｉ）、Ｃｒｄ（ｉ）｝とする。この場合には、合成画像の画素Ｐ（ｉ）のＹＣｂＣｒ値｛Ｙ（ｉ）、Ｃｂ（ｉ）、Ｃｒ（ｉ）｝は、上述した式（１）〜（３）に従って算出される。この結果、第１実施例の図５と同様の重みを用いて合成された合成画像を示す合成画像データが生成される。
【００７０】
さらに、解凍済スキャン画像ＳＩＤに解凍済スキャン画像ＳＩＣが合成された画像がトリミングされて、有効範囲情報ＲＩによって示される範囲、すなわち、画像領域ＭＤｂ内の画像のみを示す合成画像データが生成される。
【００７１】
Ｓ２２５では、ＣＰＵ２１０は、合成画像データを用いて印刷データを生成する。具体的には、ＣＰＵ２１０は、上述した図２のＳ２５にてビットマップデータＡを用いて印刷データを生成する場合と同様に、合成画像データに対して色変換処理とハーフトーン処理を実行する。
【００７２】
Ｓ２３０では、生成された印刷データを含む印刷ジョブを複合機１００に送信する。複合機１００が印刷ジョブを受信すると、複合機１００の制御部１１０は、該印刷ジョブに従って印刷機構１２０を制御して、シートなどの印刷媒体に印刷画像を印刷する。
【００７３】
以上説明した本実施例によれば、圧縮画像取得部としてのＣＰＵ２１０は、圧縮スキャンデータＡを取得する（図６のＳ１１５）。圧縮画像生成部としてのＣＰＵ２１０は、スキャンデータＡをＪＰＥＧ方式で圧縮して、圧縮スキャンデータＢを生成する（図６のＳ１２０）。合成画像出力部としてのＣＰＵ２１０は、圧縮スキャンデータＡと圧縮スキャンデータＢとを用いて、合成画像ファイルＭＦを出力する（図６のＳ１３５）。合成画像ファイルＭＦは、圧縮スキャンデータＡ、Ｂと合成情報ＭＸとを含んでおり（図８）、合成画像ファイルＭＦを用いて画像が表示、印刷される際には、解凍済スキャン画像ＳＩＣと解凍済スキャン画像ＳＩＤとが合成情報ＭＸに従って合成された合成画像が表示、印刷される。このために、合成画像ファイルＭＦは、解凍済スキャン画像ＳＩＣと解凍済スキャン画像ＳＩＤとが合成された合成画像を示す画像データである、と言うことができる。
【００７４】
この結果、本実施例では、第１実施例と同様に、合成画像において、ブロックノイズやモスキートノイズが目立つことを抑制することができる。
【００７５】
さらに、上記実施例によれば、画像取得部としてのＣＰＵ２１０は、イメージセンサを用いて生成されるスキャンデータＡを取得する（図６のＳ１０５）。圧縮画像取得部としてのＣＰＵ２１０は、スキャンデータＡを用いて、圧縮画像データＡを生成することによって、圧縮スキャンデータＡを取得する（図６のＳ１１５）。圧縮画像生成部としてのＣＰＵ２１０は、スキャンデータＡを用いて、スキャン画像ＳＩＡの縦方向と横方向の端に対して付加領域ＡＤｂに対応する複数個の画素が追加されたスキャン画像ＳＩＢを示すスキャンデータＢを生成する（図６のＳ１１０、図７（Ｂ））。圧縮画像生成部としてのＣＰＵ２１０は、スキャン画像ＳＩＢを複数個の第２のブロックＢＬ２ｂに分割し、複数個の第２のブロックＢＬ２ｂに対応する複数個のブロックデータをそれぞれ圧縮して圧縮スキャンデータＢを生成する（図６のＳ１２０、図７（Ｂ））。この結果、イメージセンサを用いて生成されるスキャンデータＡを用いて、ブロックノイズが低減された合成画像を示す合成画像ファイルＭＦを出力することができる。
【００７６】
さらに、上記実施例によれば、合成画像出力部としてのＣＰＵ２１０は、圧縮スキャンデータＡと、圧縮スキャンデータＢと、圧縮スキャンデータＡに基づく解凍済スキャン画像ＳＩＣと圧縮スキャンデータＢに基づく解凍済スキャン画像ＳＩＤとを合成するための合成情報ＭＸと、を含む合成画像ファイルＭＦを出力する。この結果、圧縮されることでデータ量が低減され、かつ、ブロックノイズが低減された合成画像を示す合成画像ファイルＭＦを出力できる。
【００７７】
以上の説明から解るように、本実施例のスキャンデータＡは第１の画像データの例であり、スキャンデータＢは第２の画像データの例である。本実施例の圧縮スキャンデータＡは第１の圧縮画像データの例であり、圧縮スキャンデータＢは、第２の圧縮画像データの例である。また、スキャン画像ＳＩＡ、ＳＩＣ（図７（Ａ））は第１の画像の例であり、スキャン画像ＳＩＢ、ＳＩＤ（図７（Ｂ）は、第２の画像の例である。
【００７８】
Ｃ．変形例：
（１）上記各実施例では、複数個の第１のブロックの境界に対応する合成画像上の位置は、複数個の第２のブロックの境界に対応する合成画像上の位置に対して、横方向および縦方向にずれている。これに代えて、複数個の第１のブロックの境界に対応する合成画像上の位置は、複数個の第２のブロックの境界に対応する合成画像上の位置に対して、横方向にだけずれていても良いし、縦方向にだけずれていても良い。また、横方向のずれ量は、ブロックの縦方向の長さの半分（例えば、（Ｍ／２）画素分）であるが、他のずれ量、例えば、（Ｍ／３）画素分、（Ｍ／４）画素分であっても良い。横方向のずれ量についても同様である。
【００７９】
（２）上記各実施例では、圧縮方式として、ＪＰＥＧ圧縮が採用されているが、ブロックごとに圧縮される非可逆圧縮方式であれば他の圧縮方式が採用されても良い。
【００８０】
（３）上記第１実施例における合成処理（図２のＳ６０）では、画素ごとに異なる重みＷ１、Ｗ２を用いて行われている（図５）。これに代えて、例えば、合成画像ＭＩ上の全ての画素で同じ重みを用いて合成が行われても良い。例えば、合成画像ＭＩ上の全ての画素について解凍済画像ＡＩと付加済画像ＢＩとが、１：１の重みで合成されても良い。
【００８１】
（４）上記各実施例では、各第１のブロックＢＬ１、ＢＬ１ｂの縦方向の画素数Ｍ、および、横方向の画素数Ｎは、８である。変形例では、これらの画素数Ｍ、Ｎは、他の値（例えば、４や１６）であっても良く、これらの画素数Ｍ、Ｎは、互いに異なる値であっても良い。また、上記各実施例では、各第１のブロックＢＬ１、ＢＬ１ｂの縦方向の画素数、および、横方向の画素数は、各第２のブロックＢＬ２、ＢＬ２ｂの縦方向の画素数、および、横方向の画素数と同じであるが、互いに異なっていても良い。
【００８２】
（５）上記第１実施例では、解凍済画像ＡＩに付加領域ＡＤが付加された付加済画像ＢＩを第２のブロックＢＬ２に分割することによって、複数個の第１のブロックＢＬ１の境界に対応する合成画像ＭＩ上の位置を、複数個の第２のブロックＢＬ２の境界に対応する合成画像ＭＩ上の位置に対してずらしている。これに代えて、例えば、第２のブロックＢＬ２の縦方向の画素数、および、横方向の画素数を、第１のブロックＢＬ１の縦方向の画素数、および、横方向の画素数とは異なる画素数にすることによって、複数個の第１のブロックＢＬ１の境界に対応する合成画像ＭＩ上の位置を、複数個の第２のブロックＢＬ２の境界に対応する合成画像ＭＩ上の位置に対してずらしてもよい。第２実施例においても同様である。
【００８３】
（６）上記第１実施例では、合成画像データの出力は、該合成画像データを用いて印刷を行う形式で行われ、第２実施例では、該合成画像データとしての合成画像ファイルＭＦを不揮発性記憶装置２３０に出力する形式で行われている。これに代えて、合成画像データの出力は、他の形式、例えば、合成画像データを他の装置に送信する形式や、合成画像データを用いて液晶ディスプレイなどの表示装置に画像を表示する形式で行われても良い。なお、第２実施例のＳ１３５で保存した合成画像ファイルを用いて表示装置に画像を表示する場合も合成情報ＭＸを用いることで、ブロックノイズを低減した画像を表示できる。
【００８４】
（７）上記各実施例では、図２の印刷制御処理や図６の読取制御装置を実行する画像処理装置は、端末装置２００である。これに代えて、画像処理装置は、他の種類の装置、例えば、複合機１００であっても良い。この場合には、例えば、複合機１００は、端末装置２００から取得した圧縮画像データＡを用いて、図２の印刷制御処理を実行して、自身の印刷機構１２０を用いて画像を印刷しても良い。また、複合機１００は、ユーザからの読取指示に応じて、自身の読取機構１３０を用いてスキャンデータＡを生成・取得し、該スキャンデータＡを用いて、図６の読取制御処理を実行しても良い。
【００８５】
また、図２の印刷制御処理や図６の読取制御処理を実行する画像処理装置は、例えば、端末装置２００や複合機１００から対象画像データ（圧縮画像データＡやスキャンデータＡ）を取得して図２の印刷制御処理や図６の読取制御装置を実行するサーバであっても良い。このようなサーバは、ネットワークを介して互いに通信可能な複数個の計算機であっても良い。この場合には、ネットワークを介して互いに通信可能な複数個の計算機の全体が、画像処理装置に対応する。
【００８６】
また、第２実施例では、複合機から取得したスキャンデータＡに付加データを追加してスキャンデータＢを生成し、スキャンデータＡ、スキャンデータＢをそれぞれ圧縮する。これに代えて、取得したスキャンデータＡを圧縮して圧縮スキャンデータＡを生成したあとに、生成した圧縮スキャンデータＡを解凍した解凍済スキャンデータを用いて圧縮スキャンデータＢを生成してもよい。この場合、圧縮スキャンデータＡの圧縮率によって合成画像ファイルを生成するか否かを判断してもよい。また、生成する合成画像ファイル（ＰＤＦファイル）に変えて、第１実施例のように、合成画像データを生成してもよい。
【００８７】
（８）上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、図１の端末装置２００のＣＰＵ２１０が実行している処理の一部（例えば、ＪＰＥＧ圧縮を行う処理）は、専用のハードウェア回路によって実現されてもよい。
【００８８】
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【符号の説明】
【００８９】
１００…複合機、１１０…制御部、１２０…印刷機構、１３０…読取機構、２００…端末装置、２１０…ＣＰＵ、２２０…揮発性記憶装置、２３０…不揮発性記憶装置、２４０…表示部、２５０…操作部、２７０…通信部、ＭＦ…合成画像ファイル、ＢＦ…バッファ領域、ＰＧ…コンピュータプログラム、ＭＩ…合成画像、ＰＮ…相対位置情報、ＴＰ…透過率情報、ＭＸ…合成情報
【図１】
2020077998.tif 000003
【図２】
2020077998.tif 000004
【図３】
2020077998.tif 000005
【図４】
2020077998.tif 000006
【図５】
2020077998.tif 000007
【図６】
2020077998.tif 000008
【図７】
2020077998.tif 000009
【図８】
2020077998.tif 000010
【図９】
2020077998.tif 000011