(57)【要約】【課題】濃淡の変化が鋭い画像を双一次補間法を用いて拡大する場合であっても、拡大後の画像における濃淡が変化する境界部分に現れる暈けの程度を低減できる画素補間装置と、そのような装置としてコンピュータを動作させる画素補間プログラムとを、提供する。【解決手段】印刷装置１０は、一つの補間点についてその周囲の４個の原画素の画素値からその補間点の画素値を生成する場合において、その補間点の周囲にある４個の原画素の画素値に所定の濃度差があったときには、一般的な双一次補間法によって求まる逆距離値の代わりに、補正された逆距離値を使う。【選択図】図７
2006262305.tif 000002
【特許請求の範囲】
【請求項１】
二次元的に配列された多数の画素により構成される原画像の画像データを処理対象として取得する画像データ取得部，
前記画像データ取得部が取得した画像データの原画像についての拡大倍率を取得する倍率取得部，
前記倍率取得部が取得した拡大倍率に応じて、前記原画像を構成する原画素の間に補間点を定義する補間点定義部，
前記補間点定義部が定義した全ての補間点のそれぞれについて、その補間点の周囲にある４個の原画素にて規定される矩形領域の縦方向の距離と横方向の距離とに基づいて、それら４個の原画素からその補間点までの縦方向の逆距離の値と横方向の逆距離の値とを算出する処理を行う逆距離値生成部，
前記補間点定義部が定義した全ての補間点のうち、周囲の４個の原画素の画素値に所定の濃度差がある補間点については、逆距離値と補正逆距離値とを対応付けて記憶する記憶装置から、その補間点のために前記逆距離値算出部が算出した逆距離値に対応する補正逆距離値を読み出して、その逆距離値を補正逆距離値に置換する逆距離値補正部，
前記補間点定義部が定義した全ての補間点のそれぞれについて、その補間点のために前記逆距離値算出部が算出した逆距離値，又は、前記逆距離値補正部によって置換された後の補正逆距離値と、その補間点の周囲の４個の原画素の画素値とに基づいて、その補間点の逆距離加重平均を算出する処理を行う画素値生成部，及び、
前記画素値生成部が前記各補間点について生成した画素値からなる画像データを、拡大画像の画像データとして出力する画像データ出力部
を備えることを特徴とする画素補間装置。
【請求項２】
前記記憶装置は、相対的に大きい逆距離値に対しては、その逆距離値よりも大きい補正逆距離値を対応付け、相対的に小さい逆距離値については、その逆距離値よりも小さい補正逆距離値を対応付けて記憶する
ことを特徴とする請求項１記載の画素補間装置。
【請求項３】
前記逆距離補正部は、前記補間点定義部が定義した全ての補間点のうち、周囲の４個の原画素の画素値からなる微少画像において縦方向に所定の濃度差がある補間点については、その補間点の縦方向の逆距離値を補正逆距離値に置換し、周囲の４個の原画素の画素値からなる微少画像において横方向に所定の濃度差がある補間点については、その補間点の横方向の逆距離値を補正逆距離値に置換する
ことを特徴とする請求項１又は２記載の画素補間装置。
【請求項４】
コンピュータを、
二次元的に配列された多数の画素により構成される原画像の画像データを処理対象として取得する画像データ取得手段，
前記画像データ取得手段によって取得された画像データの原画像についての拡大倍率を取得する倍率取得手段，
前記倍率取得手段によって取得された拡大倍率に応じて、前記原画像を構成する原画素の間に補間点を定義する補間点定義手段，
前記補間点定義手段によって定義された全ての補間点のそれぞれについて、その補間点の周囲にある４個の原画素にて規定される矩形領域の縦方向の距離と横方向の距離とに基づいて、それら４個の原画素からその補間点までの縦方向の逆距離の値と横方向の逆距離の値とを算出する処理を行う逆距離値生成手段，
前記補間点定義手段によって定義された全ての補間点のうち、周囲の４個の原画素の画素値に所定の濃度差がある補間点については、逆距離値と補正逆距離値とを対応付けて記憶する記憶装置から、その補間点のために前記逆距離値算出手段によって算出された逆距離値に対応する補正逆距離値を読み出して、その逆距離値を補正逆距離値に置換する逆距離値補正手段，
前記補間点定義手段によって定義された全ての補間点のそれぞれについて、その補間点のために前記逆距離値算出手段によって算出された逆距離値，又は、前記逆距離値補正手段によって置換された後の補正逆距離値と、その補間点の周囲の４個の原画素の画素値とに基づいて、その補間点の逆距離加重平均を算出する処理を行う画素値生成手段，及び、
前記画素値生成手段によって前記各補間点について生成された画素値からなる画像データを、拡大画像の画像データとして出力する画像データ出力手段
として機能させる
ことを特徴とする画素補間プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像の画素間に画素を補って画像の解像度を高める画素補間装置と、このような画素補間装置としてコンピュータを動作させる画素補間プログラムとに、関する。
【背景技術】
【０００２】
周知のように、画像の解像度を高めることによって画像を拡大する場合、原画像を構成する原画素の間に新たな画素を幾つか補う必要がある。新たな画素を原画素間に補う場合、新たな画素の画素値を、それに最も近い座標にある原画素の画素値をコピーしたものとする方法があるが、その方法によって解像度が高められた画像は、虫眼鏡で拡大して見たときのようなモザイク状となってしまう。そこで、拡大画像を滑らかな画像にするため、通常は、原画像を構成する原画素の間隙に新たな画素のものとして定義した各座標（これを補間点という）での画素値を、その補間点の周囲にある幾つかの原画素の画素値から数学的に推定するという方法が、採られている。
【０００３】
そして、補間点での画素値を数学的に推定する方法としては、双三次補間法（バイキュービック法）と双一次補間法（バイリニア法）とが、良く知られている。何れの補間法とも、基本的には、一つの補間点の周囲に配置されている幾つかの原画素の画素値のそれぞれに対し、それら原画素からその補間点までの距離に応じた重みを付け、重み付けがなされた各画素値の総和をその補間点の画素値とするものとなっている。
【０００４】
具体的には、双三次補間法は、補間関数（ｓｉｎπｚ）／πｚのテイラー展開式における四次以降の項を無視してなる三次式の変数ｚに対して距離値を代入することによってその原画素の画素値に対する重みを算出するという演算を、縦方向と横方向とについて行い、縦方向の重みと横方向の重みとを互いに乗じて得た値を、その原画素の画素値に乗ぜられる最終的な重みとするというものである。そして、この双三次補間法においては、このような重み付けの対象が補間点の周囲にある１６個の原画素となっており、それら１６個の原画素のそれぞれについて縦成分の三次の演算と横成分の三次の演算とを行うようになっている。このため、この双三次補間法によると、演算に非常に時間が掛かるものの、補間精度が高く滑らかな画像が得られる。
【０００５】
一方、双一次補間法は、４個の原画素にて補間点が囲まれる矩形領域の縦方向と横方法の距離とをそれぞれ１に規格化し、原画素から補間点までの逆距離（その原画素の対角側にある原画素とその補間点との距離）を算出するという演算を、縦方向と横方向とについて行い、縦方向の重みと横方向の重みとを互いに乗じて得た値を、その原画素の画素値に乗ぜられる最終的な重みとするというものである。つまり、この双一次補間法は、補間点を囲む４個の原画素の画素値についてのその補間点でのいわゆる逆距離加重平均を算出する方法である。そして、前述したように、この双一次補間法においては、このような重み付けの対象が補間点の周囲にある４個の原画素となっており、それら４個の原画素のそれぞれについて縦成分の一次の演算と横成分の一次の演算と行うようになっている。このため、この双一次補間法によれば、補間精度はさほど高くないものの、演算を比較的早く終えることができる。
【特許文献１】特許第３０４５１３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、解像度を高める対象としては、風景画のような濃淡の変化が緩やかな画像が選択されることもあるが、市松模様などの幾何学模様や漫画などのベタ画のような濃淡の変化が鋭い画像が選択されることもある。
【０００７】
このうち、濃淡の変化が鋭い画像を、前述した双一次補間法を用いて拡大すると、拡大後の画像における濃淡が鋭く変化する境界部分（エッジ）が暈けてしまうという問題がある。
【０００８】
例えば、図１６（ａ）に示されるような市松模様の画像を双一次補間法を用いて拡大すると、拡大後の画像は、図１６（ｂ）に示されるように白格子と黒格子との境界が極めて不鮮明な画像となってしまう。また、図１７は、図１６（ｂ）に示される拡大画像のＤ線上での画素値分布を示すグラフであるが、この図１７に示されるように、双一次補間法を用いて得た拡大画像における白格子と黒格子との境界及びその近傍にある画素の画素値は、線形に分布している。このグラフからも、白格子と黒格子との境界が暈けてしまっていることが明らかとなっている。
【０００９】
本発明は、前述したような従来技術の有する問題点に鑑みてなされたものであり、その課題は、濃淡の変化が鋭い画像を双一次補間法を用いて拡大する場合であっても、拡大後の画像における濃淡が変化する境界部分をできるだけ暈けさせないようにすることにある。
【課題を解決するための手段】
【００１０】
上記の課題を解決するために発明された画素補間装置は、二次元的に配列された多数の画素により構成される原画像の画像データを処理対象として取得する画像データ取得部，前記画像データ取得部が取得した画像データの原画像についての拡大倍率を取得する倍率取得部，前記倍率取得部が取得した拡大倍率に応じて、前記原画像を構成する原画素の間に補間点を定義する補間点定義部，前記補間点定義部が定義した全ての補間点のそれぞれについて、その補間点の周囲にある４個の原画素にて規定される矩形領域の縦方向の距離と横方向の距離とに基づいて、それら４個の原画素からその補間点までの縦方向の逆距離の値と横方向の逆距離の値とを算出する処理を行う逆距離値生成部，前記補間点定義部が定義した全ての補間点のうち、周囲の４個の原画素の画素値に所定の濃度差がある補間点については、逆距離値と補正逆距離値とを対応付けて記憶する記憶装置から、その補間点のために前記逆距離値算出部が算出した逆距離値に対応する補正逆距離値を読み出して、その逆距離値を補正逆距離値に置換する逆距離値補正部，前記補間点定義部が定義した全ての補間点のそれぞれについて、その補間点のために前記逆距離値算出部が算出した逆距離値，又は、前記逆距離値補正部によって置換された後の補正逆距離値と、その補間点の周囲の４個の原画素の画素値とに基づいて、その補間点の逆距離加重平均を算出する処理を行う画素値生成部，及び、前記画素値生成部が前記各補間点について生成した画素値からなる画像データを、拡大画像の画像データとして出力する画像データ出力部を備えることを、特徴としている。
【００１１】
このように、一つの補間点について画素値を生成する際に、その補間点の周囲にある４個の原画素の画素値に所定の濃度差がある場合には、一般的な双一次補間法によって求まる逆距離値の代わりに、補正された逆距離値を使うようにすれば、拡大後の画像における濃淡が変化する境界部分がより強調される。つまり、その境界部分に現れる暈けの程度が軽減されるようになる。
【００１２】
また、上記の課題を解決するための発明された画素補間プログラムは、コンピュータを、二次元的に配列された多数の画素により構成される原画像の画像データを処理対象として取得する画像データ取得手段，前記画像データ取得手段によって取得された画像データの原画像についての拡大倍率を取得する倍率取得手段，前記倍率取得手段によって取得された拡大倍率に応じて、前記原画像を構成する原画素の間に補間点を定義する補間点定義手段，前記補間点定義手段によって定義された全ての補間点のそれぞれについて、その補間点の周囲にある４個の原画素にて規定される矩形領域の縦方向の距離と横方向の距離とに基づいて、それら４個の原画素からその補間点までの縦方向の逆距離の値と横方向の逆距離の値とを算出する処理を行う逆距離値生成手段，前記補間点定義手段によって定義された全ての補間点のうち、周囲の４個の原画素の画素値に所定の濃度差がある補間点については、逆距離値と補正逆距離値とを対応付けて記憶する記憶装置から、その補間点のために前記逆距離値算出手段によって算出された逆距離値に対応する補正逆距離値を読み出して、その逆距離値を補正逆距離値に置換する逆距離値補正手段，前記補間点定義手段によって定義された全ての補間点のそれぞれについて、その補間点のために前記逆距離値算出手段によって算出された逆距離値，又は、前記逆距離値補正手段によって置換された後の補正逆距離値と、その補間点の周囲の４個の原画素の画素値とに基づいて、その補間点の逆距離加重平均を算出する処理を行う画素値生成手段，及び、前記画素値生成手段によって前記各補間点について生成された画素値からなる画像データを、拡大画像の画像データとして出力する画像データ出力手段として機能させることを、特徴としている。
【００１３】
従って、この画素補間プログラムは、前述した本発明による画素補間装置と同等に機能する装置としてコンピュータを動作させることができることになる。
【発明の効果】
【００１４】
このようなことから、本発明によれば、濃淡の変化が鋭い画像を双一次補間法を用いて拡大する場合であっても、拡大後の画像における濃淡が変化する境界部分に現れる暈けの程度が、低減されることとなる。
【発明を実施するための最良の形態】
【００１５】
以下、添付図面に基づいて、本発明を実施するための一つの形態である印刷装置について説明する。
【００１６】
図１は、本実施形態の印刷装置１０の構成図である。印刷装置１０は、図示せぬホストコンピュータから印刷要求を受信したり図示せぬ外部機器から画像データを受信したりして印刷を行う装置である。
【００１７】
なお、図示せぬ外部機器としては、カメラ装置，及び、スキャナがある。このうち、カメラ装置は、静止画の画像データを取得することができるＵＳＢポート付き装置であり、具体的には、デジタルスチルカメラ，デジタルビデオカメラ，カメラ付き携帯電話機などである。また、スキャナは、原稿台上に載置された原稿から画像を読み取って画像データに変換する装置である。印刷装置１０は、図示せぬスキャナに接続されたときには、複写機又は複合機における印刷を行うユニットとして機能する。
【００１８】
この印刷装置１０は、主要な構成として、外部Ｉ／Ｆ装置１１，操作表示盤１２，給紙機構１３，印刷機構１４，ＤＲＡＭ１５，ＲＯＭ１６，ＣＰＵ１７，ＥＥＰＲＯＭ１８，及び、ＡＳＩＣ１９を、内蔵している。
【００１９】
外部Ｉ／Ｆ装置１１は、図示せぬホストコンピュータからの印刷要求の受信，又は、図示せぬ外部機器からの画像データの受信を行うためのいわゆる通信インターフェースポートである。具体的には、外部Ｉ／Ｆ装置１１は、ＩＥＥＥ１２８４規格に従った通信を行うためのパラレルポート，セントロニクス仕様のパラレルポート，イーサネット（米ゼロックス社，米インテル社，米コンパックコンピュータ社商標）仕様のＬＡＮボード，ＩＥＥＥ１３９４規格に従った通信を行うためのシリアルポート，ＵＳＢ規格に従った通信を行うためのＵＳＢポートなどである。
【００２０】
操作表示盤１２は、利用者からの各種の指示を受け付けたり各種の画面を表示したりするための機器であり、押しボタンやタッチスクリーンを備えている。
【００２１】
給紙機構１３は、印刷機構１４に一種類以上の用紙を供給する機構であり、用紙カセットが着脱自在に装着されるスロットを幾つか備えている。印刷機構１４は、給紙機構１３から供給された用紙に対して実際に印刷を行なう機構である。
【００２２】
ＤＲＡＭ［Dynamic Random Access Memory］１５は、図示せぬホストコンピュータからの印刷要求，又は、図示せぬ外部機器からの画像データの一時的な保管領域として、及び、その画像データについて各種の処理が行われる際の作業領域として使用される揮発性メモリである。
【００２３】
ＲＯＭ［Read Only Memory］１６は、印刷装置１０を制御するためのプログラムや、印刷要求中の印刷データに基づいて画像データを生成する際に使用されるフォントデータを記憶した不揮発性メモリである。
【００２４】
ＣＰＵ［Central Processing Unit］１７は、ＲＯＭ１６内のプログラムに従って各部を統合的に制御する制御回路である。具体的には、このＣＰＵ１７は、この印刷装置１０の上面に設けられている操作表示盤１２のボタンやタッチスクリーンに対する操作を通じて利用者から実行すべき処理についての指示を取得する処理，図示せぬホストコンピュータからの印刷要求又は図示せぬ外部機器からの画像データに基づいて印刷機構１４へ引き渡すべき画像データを生成する処理，その画像データに基づく画像の印刷が行われるよう印刷機構１４を制御する印刷制御処理を、行うものとなっている。
【００２５】
ＥＥＰＲＯＭ［Electrically Erasable and Programmable Read Only Memory］１８は、印刷に係る各種の設定を電源切断後にも保持しておくためのいわゆるフラッシュメモリである。
【００２６】
ＡＳＩＣ［Application Specific Integrated Circuit］１９は、各ハードウエア１１〜１８間のデータや指示の遣り取りを制御する半導体集積回路であり、各ハードウエア１１〜１８に接続されている。このＡＳＩＣ１９は、各ハードウエア１１〜１８との間のインターフェースとして、ビデオコントローラ１９１，ＩＯコントローラ１９２，及び、メモリコントローラ１９３を、備えている。
【００２７】
ビデオコントローラ１９１は、印刷機構１４へ供給すべき画像データをその印刷機構１４内の図示せぬ走査ユニットが処理可能な形態の電気信号に変換するための回路モジュールである。
【００２８】
ＩＯコントローラ１９２は、外部Ｉ／Ｆ装置１１，操作表示盤１２，及び、給紙機構１３を制御するための回路モジュールである。なお、このＩＯコントローラ１９２は、図示せぬホストコンピュータから送信されてきた印刷要求や、図示せぬ外部機器から送信されてきた画像データを、外部Ｉ／Ｆ装置１１からＤＲＡＭ１５へ直接転送する処理を行う回路モジュールにもなっている。
【００２９】
メモリコントローラ１９３は、ＤＲＡＭ１５に対するプログラムやデータの読み書きを制御する機能，ＲＯＭ１６からのプログラムやデータの読み出しを制御する機能，及び、印刷機構１４内の図示せぬコントローラを制御する機能を有する回路モジュールである。
【００３０】
以上のようなハードウエアにて構成されている本実施形態の印刷装置１０では、ＤＲＡＭ１５の記憶容量が十分でないため、その記憶容量で対処できるように、処理内容が適宜構築されている。具体的には、ページ記述言語にて作成された印刷データを含む印刷要求が図示せぬホストコンピュータから送られてきたときには、１頁分の画像データを生成してからビデオコントローラ１９１へ出力するのではなく、その画像データの一部を生成してからビデオコントローラ１９１へ出力するという処理を、その画像データの各部について順に行うようになっている。
【００３１】
同様に、画像データを含む印刷要求が図示せぬホストコンピュータが送られてきたときには、その画像データの一部の受信してビデオコントローラ１９１へ出力するという処理を、その画像データの各部について順に行うようになっている。また、図示せぬ外部機器から画像データが送られてきた場合においても、同様である。
【００３２】
なお、このように、印刷要求から画像データを生成する処理，及び、図示せぬホストコンピュータや図示せぬ外部機器から送られてきた画像データをＤＲＡＭ１５に取り込む処理は、前述した画像データ取得手段に相当している。また、これら処理を実行するＣＰＵ１７，外部Ｉ／Ｆ装置１１，ＩＯコントローラ１２１は、前述した画像データ取得部に相当している。
【００３３】
ところで、図示せぬホストコンピュータからの印刷要求中の画像データに基づく画像や、図示せぬ外部機器からの画像データに基づく画像において、その解像度が低すぎて、ビデオコントローラ１９１へ出力するのに適さない場合がある。この場合、ＣＰＵ１７は、ＲＯＭ１６から所定のプログラムを読み込んで、この画像データに基づく画像の解像度を高める処理を行うようになっている。図２は、この処理の流れを示す図である。
【００３４】
処理開始後、ＣＰＵ１７は、解像度を高める対象となる画像（以下、原画像と表記する）の大きさ（ここでは、横の画素数をＩｈ、縦の画素数をＩｖと定義する）を示す情報を、その原画像の画像データのヘッダから取得する（Ｓ１０１）。
【００３５】
続いて、ＣＰＵ１７は、ビデオコントローラ１９１へ出力するのに最適なものとして設定されている画像の大きさ（ここでは、横の画素数をＯｈ、縦の画素数をＯｖと定義する）を示す情報を、ＥＥＰＲＯＭ１８などから取得する（Ｓ１０２）。
【００３６】
その後、ＣＰＵ１７は、取得した大きさの情報に基づいて、縦方向と横方向の拡大倍率を算出するとともに、算出した拡大倍率に基づいて、逆変換倍率を算出する（Ｓ１０３）。
【００３７】
ここで、逆変換倍率について説明する。なお、ここでの説明においては、原画像の各画素の座標を（ｘ，ｙ）と表現し、拡大後の出力画像の各画素の座標を（Ｘ，Ｙ）と表現する。また、出力画像のＸ，Ｙ座標値は、何れも、最小単位を１とする整数をとるものとする（隣接する画素同士の間の距離が１であるという意味である）。
【００３８】
原画像の拡大を行う場合、通常、出力画像の各画素のＸ座標値とＹ座標値にそれぞれ拡大倍率（Ｏｈ／Ｉｈ，Ｏｖ／Ｉｖ）の逆数を乗じることによって原画像における対応するｘ座標値とｙ座標値とが算出され、それらｘ座標値とｙ座標値がともに整数であった場合には、原画像におけるその座標（ｘ，ｙ）の画素値が出力画像の座標（Ｘ，Ｙ）の画素値として決定され、それらｘ座標値とｙ座標値の何れか又は両方が小数であった場合には、その座標（ｘ，ｙ）を補間点として、その座標（ｘ，ｙ）の画素値が後述のように推定され、その推定された画素値が出力画像の座標（Ｘ，Ｙ）の画素値として決定されるようになっている。
【００３９】
但し、出力画像のＸ，Ｙ座標値の最小単位が１であると、ｘ，ｙ座標値が、小数点より上の値が小さい小数となってしまう場合がある。すると、これらｘ，ｙ座標値に基づいて双一次補間法による重みを算出する際に、処理に負荷が掛かることとなる。このため、本実施形態では、前述した拡大倍率の逆数に２５６という数値を乗じてなる数を、逆変換倍率として規定している。
【００４０】
この２５６という数値は、実質的には、原画像において隣接する画素同士の間の長さを１ではなく２５６として表現するものとして機能する。このように原画像における一区間の長さが２５６と表現されると、拡大倍率が１６以下である場合において、出力画像の座標（Ｘ，Ｙ）に対応する原画像の座標（ｘ，ｙ）の座標値における小数点より上の値を大きくすることができ、小数点以下の値を切り捨てて演算することができるようになる。但し、原画像におけるｘ，ｙ座標値が、２５６という値を累積したものとして表現してしまうと、ｘ，ｙ座標値が極端に大きくなってしまう。このため、以下の処理では、ｘ，ｙ座標値が２５６に達するたびに、それら値を０にリセットして、２５６という値を、隣接画素同士の一区間の長さのみを表すものとして限定的に使用している（二区間以上の長さを表すのに用いない）。
【００４１】
なお、ステップＳ１０１〜Ｓ１０３は、前述した倍率取得手段に相当し、これらステップＳ１０１〜Ｓ１０３を実行するＣＰＵ１７は、前述した倍率取得部に相当している。
【００４２】
以上に説明した逆変換倍率（（Ｉｈ／Ｏｈ）×２５６，（Ｉｖ／Ｏｖ）×２５６）を算出した後（Ｓ１０３）、ＣＰＵ１７は、原画像の画像データが所定の大きさ毎に分割されたうちの一つ（以下、分割原画像データと表記する）を記憶しておくための記憶領域をＤＲＡＭ１５内に確保し（Ｓ１０４），その分割原画像データをその記憶領域に取り込む（Ｓ１０５）。
【００４３】
続いて、ＣＰＵ１７は、ＤＲＡＭ１５内の上記記憶領域に取り込まれた分割原画像データに基づいて後述のように作成される画像データ（以下、分割出力画像データと表記する）を記憶するための記憶領域を確保する（Ｓ１０６）。
【００４４】
その後、ＣＰＵ１７は、ＤＲＡＭ１５に取り込んだ分割原画像データについて、後述の画素補間処理を実行する（Ｓ１０７）。
【００４５】
そして、この画素補間処理の実行が終了すると、ＣＰＵ１７は、完成した分割出力画像データをビデオコントローラ１９１へ出力する処理を実行し（Ｓ１０８）、次の分割原画像データの有無を判別する（Ｓ１０９）。ＣＰＵ１７は、次の分割原画像データがあれば（Ｓ１０９；ＮＯ）、再度、その分割原画像データの記憶領域の確保（Ｓ１０４）、その分割原画像データの取り込み（Ｓ１０５），及び、分割出力画像データの記憶領域の確保（Ｓ１０６）を行って、その分割原画像データについての後述の画素補間処理を実行する（Ｓ１０７）。そして、このような処理を繰り返すことによって、処理すべき分割原画像データがなくなると（Ｓ１０９；ＹＥＳ）、ＣＰＵ１７は、図２に係る処理を終了する。
【００４６】
なお、ステップＳ１０８は、前述した画像データ出力手段に相当しており、このステップＳ１０８を実行するＣＰＵ１７は、前述した画像データ出力部に相当している。
【００４７】
次に、画素補間処理について説明する。図３乃至図８は、画素補間処理の流れを示す図である。
【００４８】
まず、ＣＰＵ１７は、図３に示されるように、変数Ｘにゼロを代入するとともに、変数Ｙにゼロを代入する（Ｓ２０１）。
【００４９】
続いて、ＣＰＵ１７は、分割出力画像における座標値Ｙに対応する分割原画像でのｙ座標値を算出する（Ｓ２０２）。具体的には、ＣＰＵ１７は、座標値Ｘに横方向の逆変換倍率（（Ｉｈ／Ｏｈ）×２５６）を乗じ、その結果からさらに１２８を引いて得られる値を、ｙ座標値とする。
【００５０】
なお、この１２８という値は、２５６に０．５を乗じて得た値であり、すなわち、互いに隣接する原画素同士の一区間の半分（半画素）を示している。つまり、逆変換後の座標値から１２８を引くことによって、出力画像の座標（Ｘ，Ｙ）について参照する原画素の座標を、半画素分だけ負側（左側）にずらしていることになる。
【００５１】
ここで、半画素分だけ負側にずらす理由について説明する。なお、ここでは、理解し易くするため、原画像の座標値に２５６を乗じない状態で説明する。例えば、図９（ａ）に示されるように原画像が３×３個の画素からなるとして、この原画像を縦三倍横三倍に拡大するときに、図９（ｂ）に示されるように、出力画像の座標（０，０）に対応する原画像での座標が（０，０）にあると規定したとする（図９（ｂ）の座標（０，０）に黒丸が配置されているのが、この規定を意味する）。この場合において、原画像の座標（０，１）の画素Ａと座標（２，１）の画素Ｂとに注目する。図９（ｂ）において白丸にて示される補間点は、双一次補間法においては、原画像上における原画素（黒丸）との距離に反比例した重みをその原画素の画素値に乗じて得た値を、自己の画素値の一部として取得する。従って、逆に言えば、例えば画素Ｂは、自己の右上，右下，左上，左下の領域にある補間点（図９（ｂ）において一点鎖線で囲まれた補間点）に、自己の画素値を分配することとなる。一方、画素Ａは、自己の右上，右下の領域にある補間点（図９（ｂ）において破線で囲まれた補間点）にしか、自己の画素値を分配しない。すなわち、画素Ａは、自己の画素値の半分しか、補間点の画素値の積み上げに利用しないこととなる。このため、本実施形態では、図９（ｃ）に示されるように、出力画像の座標（Ｘ，Ｙ）に対応する原画素の座標を半画素分だけ負側（左側及び上側）ずらすことによって、画素Ａに対しても、画素値を分配すべき補間点のある左上，左下領域を、与えるようにしている。この結果、出力画像の座標（０，０）に対応する原画像での座標は、（−０．５，−０．５）となり、また、出力画像上の補間点は、原画像におけるｘ，ｙ座標値がともに整数である座標上に、必ずしも、対応する座標を持たないこととなる。
【００５２】
続いて、ＣＰＵ１７は、分割出力画像における座標値Ｙに対応するｘ座標値を算出する（Ｓ２０３）。具体的には、ＣＰＵ１７は、座標値Ｘに縦方向の逆変換倍率（（Ｉｖ／Ｏｖ）×２５６）を乗じ、その結果からさらに１２８を引いて得られる値を、ｘ座標値とする。
【００５３】
なお、これらステップＳ２０２，Ｓ２０３は、前述した補間点定義手段に相当しており、これらステップＳ２０２，Ｓ２０３を実行するＣＰＵ１７は、前述した補間点定義部に相当している。
【００５４】
続いて、ＣＰＵ１７は、原画像における座標（Ｘ，Ｙ）に対応する座標（ｘ，ｙ）の画素値を双一次補間法によって算出する際に参照すべき原画素の座標を特定するためのサブルーチンを行う（Ｓ２０４）。図１０は、このサブルーチンの流れを示す図である。
【００５５】
このサブルーチンの開始後、ＣＰＵ１７は、原画像上における整数（負を含む）の座標値を持つ座標のうち、座標（ｘ，ｙ）を囲む４つの座標を特定した後、それら４つの座標のうち、座標（ｘ，ｙ）の左上及び左下にある座標のｘ座標値を、処理対象範囲左端位置を示す変数ｘlに代入し、座標（ｘ，ｙ）の右上及び右下にある座標のｘ座標値を、処理対象範囲右端位置を示す変数ｘrに代入し、座標（ｘ，ｙ）の左上及び右上にある座標のｙ座標値を、処理対象範囲上端位置を示す変数ｙtに代入し、座標（ｘ，ｙ）の左下及び右下にある座標のｙ座標値を、処理対象範囲下端位置を示す変数ｙbに代入する（Ｓ３０１）。
【００５６】
続いて、ＣＰＵ１７は、処理対象範囲左端位置を示す変数ｘlが０よりも小さいか否かを、判別する（Ｓ３０２）。そして、変数ｘlが０よりも小さかった場合（Ｓ３０２；ＹＥＳ）、ＣＰＵ１７は、処理対象範囲左端位置を示す変数ｘlの代入値と処理対象範囲右端位置を示す変数ｘrの代入値とを１だけ増やす（Ｓ３０３）。一方、変数ｘlが０よりも小さくなかった場合（Ｓ３０２；ＮＯ）、ＣＰＵ１７は、処理対象範囲右端位置を示す変数ｘrが分割原画像のｘ方向の最大値ｘmaxよりも大きいか否かを、判別する（Ｓ３０４）。そして、ＣＰＵ１７は、処理対象範囲右端位置を示す変数ｘrが最大値ｘmaxよりも大きかった場合（Ｓ３０４；ＹＥＳ）、処理対象範囲左端位置を示す変数ｘlの代入値と処理対象範囲右端位置を示す変数ｘrの代入値とを１だけ減らし（Ｓ３０５）、処理対象範囲右端位置を示す変数ｘrが最大値ｘmaxよりも大きくなかった場合（Ｓ３０４；ＮＯ）、処理対象範囲左端位置を示す変数ｘlの代入値と処理対象範囲右端位置を示す変数ｘrの代入値とをそのままにする。
【００５７】
続いて、ＣＰＵ１７は、処理対象範囲上端位置を示す変数ｙtが０よりも小さいか否かを、判別する（Ｓ３０６）。そして、変数ｙtが０よりも小さかった場合（Ｓ３０６；ＹＥＳ）、ＣＰＵ１７は、処理対象範囲上端位置を示す変数ｙtの代入値と処理対象範囲下端位置を示す変数ｙbの代入値とを１だけ増やす（Ｓ３０７）。一方、変数ｙtが０よりも小さくなかった場合（Ｓ３０６；ＮＯ）、ＣＰＵ１７は、処理対象範囲下端位置を示す変数ｙbが分割原画像のｙ方向の最大値ｙmaxよりも大きいか否かを、判別する（Ｓ３０８）。そして、ＣＰＵ１７は、処理対象範囲下端位置を示す変数ｙbが最大値ｘmaxよりも大きかった場合（Ｓ３０８；ＹＥＳ）、処理対象範囲上端位置を示す変数ｙtの代入値と処理対象範囲下端位置を示す変数ｙbの代入値とを１だけ減らし（Ｓ３０９）、処理対象範囲下端位置を示す変数ｙbが最大値ｙmaxよりも大きくなかった場合（Ｓ３０８；ＮＯ）、処理対象範囲上端位置を示す変数ｙtの代入値と処理対象範囲下端位置を示す変数ｙbの代入値とをそのままにする。
【００５８】
ＣＰＵ１７は、以上のようにして、変数ｘl，ｘr，ｙt，ｙbの代入値を特定して、図１０に係る処理を終了する。なお、この図１０に示される参照原画素特定サブルーチンは、前述した逆距離生成手段に相当しており、このサブルーチンを実行するＣＰＵ１７は、前述した逆距離生成部に相当している。
【００５９】
図１０に係る処理の終了後、ＣＰＵ１７は、図３に示されるように、ＲＯＭ１６に記録されている三つのテーブルのうちの何れを以降の処理に使用するかを決定するテーブル決定処理を行う（Ｓ２０５〜Ｓ２０９）。
【００６０】
なお、ＲＯＭ１６に記録されている三つのテーブルは、何れも、ｘ座標値からｘl座標値を差し引いて得られる距離値（これは、ｘ座標値からｘr座標値を差し引いて得られる距離値を２５６から引いた値（逆距離値）に等しい），及び、ｙ座標値からｙt座標値を差し引いて得られる距離値（これは、ｙ座標値からｙb座標値を差し引いて得られる距離値を２５６から引いた値（逆距離値）に等しい）を、別の値に置換する際に使用されるテーブルである。これら三つのテーブルは、後述するように、座標（ｘ，ｙ）の原画像内での位置の違いに応じて、使い分けられることとなる。
【００６１】
具体的に説明すると、ＣＰＵ１７は、まず、ｘ座標値とｙ座標値の何れか一方が０より小さい値であるか否かを、判別する（Ｓ２０５）。
【００６２】
そして、ｘ座標値とｙ座標値の何れか一方が０より小さかった場合（Ｓ２０５；ＹＥＳ）、ＣＰＵ１７は、ＲＯＭ１６に記録されている後述の三つのテーブルのうち、原画像の左縁又は上縁にある補間点に対して用いるための左上縁用テーブルを後述の距離値決定処理に使用することを、決定する（Ｓ２０７）。なお、原画像の左縁とは、原画像のｘ方向の最小値０を下回る領域を言い、図９（ｃ）の例で言えば、座標（０，０）〜座標（０，８）と座標（１，０）〜（１，８）とがある領域である。また、原画像の上縁とは、原画像のｙ方向の最小値０を下回る領域を言い、図９（ｃ）の例で言えば、座標（０，０）〜座標（８，０）と座標（０，１）〜（８，１）とがある領域である。
【００６３】
一方、ｘ座標値とｙ座標値の何れもが０より小さくなかった場合（Ｓ２０５；ＮＯ）、ＣＰＵ１７は、ｘ座標値がｘmaxよりも大きいか、ｙ座標値がｙmaxよりも大きい状態にあるか否かを、判別する（Ｓ２０６）。
【００６４】
そして、ｘ座標値がｘmaxよりも大きいか、ｙ座標値がｙmaxよりも大きい状態にあった場合（Ｓ２０６；ＹＥＳ）、ＣＰＵ１７は、ＲＯＭ１６に記録されている後述の三つのテーブルのうち、原画像の右縁又は下縁にある補間点に対して用いるための右下縁用テーブルを後述の距離値決定処理に使用することを、決定する（Ｓ２０８）。なお、原画像の右縁とは、原画像のｘ方向の最大値ｘmaxを上回る領域を言い、図９（ｃ）の例で言えば、座標（８，２）〜座標（８，８）がある領域である。また、原画像の下縁とは、原画像のｙ方向の最大値ｙmaxを上回る領域を言い、図９（ｃ）の例で言えば、座標（２，８）〜座標（８，８）がある領域である。
【００６５】
一方、ｘ座標値がｘmaxよりも大きくなく、且つ、ｙ座標値がｙmaxよりも大きくない状態にあった場合（Ｓ２０６；ＮＯ）、ＣＰＵ１７は、ＲＯＭ１６に記録されている後述の三つのテーブルのうち、原画像の内部にある補間点に対して用いるための内部用テーブルを後述の距離置換処理に使用することを、決定する（Ｓ２０９）。なお、原画像の内部とは、原画像のｘ方向の最小値０から最大値ｘmaxまでの範囲であって、なおかつ、原画像のｙ方向の最小値０から最大値ｙmaxまでの範囲にある領域を言う。図９（ｃ）の例で言えば、座標（２，２）〜（７，７）がある領域を言う。
【００６６】
以上のようにして、後述の距離値決定処理に使用するテーブルを決定した後、ＣＰＵ１７は、図４に示されるように、座標（ｘl，ｙt），（ｘr，ｙt），（ｘl，ｙb），（ｘr，ｙb）におけるＲＧＢの各色成分の画素値を、分割原画素データの記憶領域から読み取る（Ｓ２１０）。
【００６７】
続いて、ＣＰＵ１７は、ｘ方向エッジフラグ情報とｙ方向エッジフラグ情報とを、オフを示す状態でＤＲＡＭ１５内に記録する（Ｓ２１１）。なお、エッジフラグ情報とは、これ以降の判定処理（Ｓ２１２〜Ｓ２３５）における判定結果を記憶するためのフラグ情報となっている。その判定処理とは、詳しくは後述するが、簡単に説明すると、座標（ｘ，ｙ）の周囲にある４個の原画素からなる微少画像において画素値の濃度差が、図１１に示されるようなパターンの何れかにあるか否かを判定するための処理を言う。
【００６８】
このようにオフの状態のエッジフラグ情報をＤＲＡＭ１５に記録した後（Ｓ２１１）、ＣＰＵ１７は、左上座標（ｘl，ｙt）にある原画素のＲ画素値及びＧ画素値の和と、右上座標（ｘr，ｙt）にある原画素のＲ画素値及びＧ画素値の和とについて、差分の絶対値を算出する（Ｓ２１２）。
【００６９】
その後、ＣＰＵ１７は、その絶対値が所定の閾値を超えているか否かを、判別する（Ｓ２１３）。そして、ＣＰＵ１７は、その絶対値が所定の閾値を超えていた場合（Ｓ２１３；ＹＥＳ）、ｘ方向エッジフラグ情報をオフ状態からオン状態に切り替え（Ｓ２１４）、その絶対値が所定の閾値を超えていなかった場合（Ｓ２１３；ＮＯ）、ｘ方向エッジフラグ情報をオフ状態のままにする。
【００７０】
続いて、ＣＰＵ１７は、左上座標（ｘl，ｙt）にある原画素のＲ画素値及びＧ画素値の和と、左下座標（ｘl，ｙb）にある原画素のＲ画素値及びＧ画素値の和とについて、差分の絶対値を算出する（Ｓ２１５）。
【００７１】
その後、ＣＰＵ１７は、その絶対値が所定の閾値を超えているか否かを、判別する（Ｓ２１６）。そして、ＣＰＵ１７は、その絶対値が所定の閾値を超えていた場合（Ｓ２１６；ＹＥＳ）、ｙ方向エッジフラグ情報をオフ状態からオン状態に切り替え（Ｓ２１７）、その絶対値が所定の閾値を超えていなかった場合（Ｓ２１６；ＮＯ）、ｙ方向エッジフラグ情報をオフ状態のままにする。
【００７２】
続いて、ＣＰＵ１７は、図５に示されるように、左下座標（ｘl，ｙb）にある原画素のＲ画素値及びＧ画素値の和と、右下座標（ｘr，ｙb）にある原画素のＲ画素値及びＧ画素値の和とについて、差分の絶対値を算出する（Ｓ２１８）。
【００７３】
その後、ＣＰＵ１７は、その絶対値が所定の閾値を超えているか否かを、判別する（Ｓ２１９）。そして、ＣＰＵ１７は、その絶対値が所定の閾値を超えていた場合（Ｓ２１９；ＹＥＳ）、ｘ方向エッジフラグ情報の状態をオン状態に切り替え（Ｓ２２０）、その絶対値が所定の閾値を超えていなかった場合（Ｓ２１９；ＮＯ）、ｘ方向エッジフラグ情報の状態を変更しない。
【００７４】
続いて、ＣＰＵ１７は、右上座標（ｘr，ｙt）にある原画素のＲ画素値及びＧ画素値の和と、右下座標（ｘr，ｙb）にある原画素のＲ画素値及びＧ画素値の和とについて、差分の絶対値を算出する（Ｓ２２１）。
【００７５】
その後、ＣＰＵ１７は、その絶対値が所定の閾値を超えているか否かを、判別する（Ｓ２２２）。そして、ＣＰＵ１７は、その絶対値が所定の閾値を超えていた場合（Ｓ２２２；ＹＥＳ）、ｙ方向エッジフラグ情報の状態をオン状態に切り替え（Ｓ２２３）、その絶対値が所定の閾値を超えていなかった場合（Ｓ２２２；ＮＯ）、ｙ方向エッジフラグ情報の状態を変更しない。
【００７６】
続いて、ＣＰＵ１７は、左上座標（ｘl，ｙt）にある原画素のＧ画素値及びＢ画素値の和と、右上座標（ｘr，ｙt）にある原画素のＧ画素値及びＢ画素値の和とについて、差分の絶対値を算出する（Ｓ２２４）。
【００７７】
その後、ＣＰＵ１７は、その絶対値が所定の閾値を超えているか否かを、判別する（Ｓ２２５）。そして、ＣＰＵ１７は、その絶対値が所定の閾値を超えていた場合（Ｓ２２５；ＹＥＳ）、ｘ方向エッジフラグ情報の状態をオン状態に切り替え（Ｓ２２６）、その絶対値が所定の閾値を超えていなかった場合（Ｓ２２５；ＮＯ）、ｘ方向エッジフラグ情報の状態を変更しない。
【００７８】
続いて、ＣＰＵ１７は、図６に示されるように、左上座標（ｘl，ｙt）にある原画素のＧ画素値及びＢ画素値の和と、左下座標（ｘl，ｙb）にある原画素のＧ画素値及びＢ画素値の和とについて、差分の絶対値を算出する（Ｓ２２７）。
【００７９】
その後、ＣＰＵ１７は、その絶対値が所定の閾値を超えているか否かを、判別する（Ｓ２２８）。そして、ＣＰＵ１７は、その絶対値が所定の閾値を超えていた場合（Ｓ２２８；ＹＥＳ）、ｙ方向エッジフラグ情報の状態をオン状態に切り替え（Ｓ２２９）、その絶対値が所定の閾値を超えていなかった場合（Ｓ２２８；ＮＯ）、ｙ方向エッジフラグ情報の状態を変更しない。
【００８０】
続いて、ＣＰＵ１７は、左下座標（ｘl，ｙb）にある原画素のＧ画素値及びＢ画素値の和と、右下座標（ｘr，ｙb）にある原画素のＧ画素値及びＢ画素値の和とについて、差分の絶対値を算出する（Ｓ２３０）。
【００８１】
その後、ＣＰＵ１７は、その絶対値が所定の閾値を超えているか否かを、判別する（Ｓ２３１）。そして、ＣＰＵ１７は、その絶対値が所定の閾値を超えていた場合（Ｓ２３１；ＹＥＳ）、ｘ方向エッジフラグ情報の状態をオン状態に切り替え（Ｓ２３２）、その絶対値が所定の閾値を超えていなかった場合（Ｓ２３１；ＮＯ）、ｘ方向エッジフラグ情報の状態を変更しない。
【００８２】
続いて、ＣＰＵ１７は、右上座標（ｘr，ｙt）にある原画素のＧ画素値及びＢ画素値の和と、右下座標（ｘr，ｙb）にある原画素のＧ画素値及びＢ画素値の和とについて、差分の絶対値を算出する（Ｓ２３３）。
【００８３】
その後、ＣＰＵ１７は、その絶対値が所定の閾値を超えているか否かを、判別する（Ｓ２３４）。そして、ＣＰＵ１７は、その絶対値が所定の閾値を超えていた場合（Ｓ２３４；ＹＥＳ）、ｙ方向エッジフラグ情報の状態をオン状態に切り替え（Ｓ２３５）、その絶対値が所定の閾値を超えていなかった場合（Ｓ２３４；ＮＯ）、ｙ方向エッジフラグ情報の状態を変更しない。
【００８４】
以上に示した判定処理（Ｓ２１２〜Ｓ２３５）を終えた後、ＣＰＵ１７は、図７に示されるように、座標（ｘ，ｙ）からその周囲にある４個の原画素までの距離の値を決定する距離決定処理を行う（Ｓ２３６〜Ｓ２４３）。
【００８５】
具体的に説明すると、ＣＰＵ１７は、まず、ｘ方向エッジフラグ情報がオン状態にあるかオフ状態にあるかを、判別する（Ｓ２３６）。
【００８６】
そして、ｘ方向エッジフラグ情報がオフ状態にあった場合（Ｓ２３６；ＹＥＳ）、ＣＰＵ１７は、ｘ座標値からｘl座標値を差し引き、その結果を２５６で割って得られる値を、距離値として変数ｐに代入する（Ｓ２３７）。
【００８７】
一方、ｘ方向エッジフラグ情報がオン状態にあった場合（Ｓ２３６；ＮＯ）、ＣＰＵ１７は、ＲＯＭ１６に記録されている三つのテーブルのうち、この時点で使用することを決定しているテーブル（Ｓ２０５〜Ｓ２０９参照）を参照して、ｘ座標値からｘl座標値を差し引いて得られる値に対応する値を読み取り（Ｓ２３８）、読み取った値を２５６で割って得られる値を、距離値として変数ｐに代入する（Ｓ２３９）。
【００８８】
続いて、ＣＰＵ１７は、ｙ方向エッジフラグ情報がオン状態にあるかオフ状態にあるかを、判別する（Ｓ２４０）。
【００８９】
そして、ｙ方向エッジフラグ情報がオフ状態にあった場合（Ｓ２４０；ＹＥＳ）、ＣＰＵ１７は、ｙ座標値からｙt座標値を差し引き、その結果を２５６で割って得られる値を、距離値として変数ｑに代入する（Ｓ２４１）。
【００９０】
一方、ｙ方向エッジフラグ情報がオン状態にあった場合（Ｓ２４０；ＮＯ）、ＣＰＵ１７は、ＲＯＭ１６に記録されている三つのテーブルのうち、この時点で使用することを決定しているテーブル（Ｓ２０５〜Ｓ２０９参照）を参照して、ｙ座標値からｙt座標値を差し引いて得られる値に対応する値を読み取り（Ｓ２４２）、読み取った値を２５６で割って得られる値を、距離値として変数ｑに代入する（Ｓ２４３）。
【００９１】
なお、ステップＳ２３７，Ｓ２４１は、前述した逆距離値生成手段に相当しており、ステップＳ２１２〜Ｓ２３５，Ｓ２３８，Ｓ２３９，Ｓ２４２，Ｓ２４３は、前述した逆距離値補正手段に相当している。また、ステップＳ２３７，Ｓ２４１を実行するＣＰＵ１７は、前述した逆距離値生成部に相当しており、ステップＳ２１２〜Ｓ２３５，Ｓ２３８，Ｓ２３９，Ｓ２４２，Ｓ２４３を実行するＣＰＵ１７は、前述した逆距離値補正部に相当している。
【００９２】
以上のようにして、変数ｐ，ｑの代入値を決定した後、ＣＰＵ１７は、これら変数ｐ，ｑを用いて、座標（ｘ，ｙ）の画素値をＲＧＢの各成分について算出する（Ｓ２４４）。なお、算出式は、一般的な双一次補間法に用いられる算出式『補間点の画素値＝（１−ｐ）（１−９）×（左上原画素の画素値）＋ｐ（１−ｑ）×（右上原画素の画素値）＋（１−ｐ）ｑ×（左下原画素の画素値）＋ｐｑ×（右下原画素の画素値）』と同じである。
【００９３】
なお、ｐの値は、右上原画素と右下原画素のｘ方向の逆距離値であり、（１−ｐ）の値は、左上原画素と左下原画素のｘ方向の逆距離値である。また、ｑの値は、左下原画素と右下原画素のｙ方向の逆距離値であり、（１−ｑ）の値は、左上原画素と右上原画素のｙ方向の逆距離値である。
【００９４】
そして、ＣＰＵ１７は、算出したＲＧＢの画素値を、分割出力画像データの記憶領域としてＤＲＡＭ１５に確保した領域における当該座標（ｘ，ｙ）の位置に、保存する（Ｓ２４５）。
【００９５】
なお、ステップＳ２４４，Ｓ２４５は、前述した画素値生成手段に相当しており、ステップＳ２４４，Ｓ２４５を実行するＣＰＵ１７は、前述した画素値生成部に相当している。
【００９６】
その後、ＣＰＵ１７は、図８に示されるように、変数Ｘが分割出力画像のＸ方向の最大値Ｘmaxに達しているか否かを、判別する（Ｓ２４６）。このとき、変数Ｘが最大値Ｘmaxに達していなかった場合（Ｓ２４６；ＮＯ）、ＣＰＵ１７は、変数Ｘの代入値を１だけ増やして（Ｓ２４７）、再度、ステップＳ２０３〜Ｓ２４５の処理を実行する。
【００９７】
そして、ステップＳ２０３〜Ｓ２４７の処理を繰り返し行うことによって、変数Ｘが最大値Ｘmaxに達したときには（Ｓ２４６；ＹＥＳ）、ＣＰＵ１７は、変数Ｘに０を代入して（Ｓ２４８）、変数Ｙが分割出力画像のＹ方向の最大値Ｙmaxに達しているか否かを、判別する（Ｓ２４９）。このとき、変数Ｙが最大値Ｙmaxに達していなかった場合（Ｓ２４９；ＮＯ）、ＣＰＵ１７は、変数Ｙの代入値を１だけ増やして（Ｓ２５０）、再度、ステップＳ２０２〜Ｓ２４８の処理を実行する。
【００９８】
そして、ステップＳ２０２〜Ｓ２５０の処理を繰り返し行うことによって、変数Ｙが最大値Ｙmaxに達したときには（Ｓ２４９；ＹＥＳ）、ＣＰＵ１７は、図３乃至図８に係る処理を終了する。
【００９９】
本実施形態の印刷装置１０は、以上に説明したような処理が行われるように構成されているため、以下に説明するような作用及び効果を有する。
【０１００】
前述したように、本実施形態の印刷装置１０において、分割原画像データがＤＲＡＭ１５に取り込まれると、その分割原画像の各画素の画素値に基づいて、分割出力画像の各画素の画素値が順次生成される（Ｓ２０１〜Ｓ２５０）。
【０１０１】
このとき、その分割原画像が、風景画のように濃淡の変化が緩やかな部分を含む場合、その部分には、濃淡が鋭く変化する境界部分がないため、印刷装置１０は、その部分における何れの補間点についても、その補間点の画素値を作成するために参照される４個の原画素の濃度差がないと判断する（Ｓ２１３；ＮＯ，Ｓ２１６；ＮＯ，Ｓ２１９；ＮＯ，Ｓ２２２；ＮＯ，Ｓ２２５；ＮＯ，Ｓ２２８；ＮＯ，Ｓ２３１；ＮＯ，且つ、Ｓ２３４；ＮＯ）。このため、この場合には、ｘ方向エッジフラグ情報もｙ方向エッジフラグ情報も何れもオフ状態のままとなるため、一つの補間点の画素値を作成するために４個の原画素の画素値に乗ぜられる重みには、一般的な双一次補間法と同様に、距離に反比例する逆距離値が、用いられることとなる（Ｓ２３７，Ｓ２４１）。
【０１０２】
一方、その分割原画像が、市松模様や漫画などのベタ画のような部分を含む場合、その部分には、濃淡が鋭く変化する境界部分があるため、印刷装置１０は、その部分における何れかの補間点について、その補間点の画素値を作成するために参照される４個の原画素の濃度差があると判断する（Ｓ２１３；ＹＥＳ，Ｓ２１６；ＹＥＳ，Ｓ２１９；ＹＥＳ，Ｓ２２２；ＹＥＳ，Ｓ２２５；ＹＥＳ，Ｓ２２８；ＹＥＳ，Ｓ２３１；ＹＥＳ，又は、Ｓ２３４；ＹＥＳ）。このため、このように判断された補間点については、ｘ方向エッジフラグ情報かｙ方向エッジフラグ情報の何れか、若しくは、双方がオン状態となるため、その補間点の画素値を作成するために４個の原画素の画素値に乗ぜられる重みには、一般的な双一次補間法と同様の距離に反比例する逆距離値が用いられるのではなく、補正された逆距離値が用いられるようになる（Ｓ２３８，Ｓ２３９，Ｓ２４２，Ｓ２４３）。
【０１０３】
図１２及び図１３は、逆距離値の補正に用いられるテーブルの値を座標上にプロットしてなるグラフを示している。これらグラフにおいて、横軸は、補正前の逆距離値、縦軸は、補正後の逆距離値を示している。
【０１０４】
このうち、図１２の破線のグラフは、原画像の内部にある補間点について補正を行うときの補正前の逆距離値と補正後の逆距離値との関係を示している。この図１２の破線にて示される内部用テーブルによると、原画素と補間点との距離の値が約８０を下回っているときには、その逆距離値がそれより小さい逆距離値となるように補正され、逆距離値が約１７５を上回っているときには、その逆距離値がそれより大きい逆距離値となるように補正される。なお、図１２の実線のグラフは、比較のため、テーブルを使用した補正を行わないときの逆距離値の関係（仮に補正の手続を踏んだとした場合の補正前の逆距離値と補正後の逆距離値との関係）を示している。
【０１０５】
原画像の内部にある補間点について、原画素の画素値に対する重みを算出するための逆距離値が、このように補正されると、拡大後の画像における濃淡が変化する境界部分（エッジ）がさほど暈けないようになる。例えば、図１４（ａ）に示されるような市松模様が、原画像の内部に存在したとして、この原画像を本実施形態の印刷装置１０が拡大すると、拡大後の画像は、図１４（ｂ）に示されるような画像となる。この図１４（ｂ）の画像と、一般的な双一次補間法により拡大した結果を示す図１６（ｂ）の拡大画像とを比較して明らかなように、図１４（ｂ）の拡大画像では、白格子と黒格子との境界がやや強調されている。
【０１０６】
また、図１５は、図１４（ｂ）に示される拡大画像のＣ線上での画素値分布を示したグラフである。この図１５に示される画素値分布と、図１６の一般的な双一次補間法による拡大画像のＤ線上での画素値分布として図１７に示されるものとを比較して明らかなように、本実施形態の印刷装置１０によると、白格子と黒格子との境界及びその近傍にある画素の画素値が正弦曲線状に分布している。このグラフからも、白格子と黒格子との境界に現れる暈けの程度が低減されていることが明らかとなっている。
【０１０７】
また、図１３の実線のグラフは、原画像の左縁又は上縁にある補間点について補正を行うときの補正前の逆距離値と補正後の逆距離値との関係を示している。この図１３の実線のグラフにて示される左上縁用テーブルによると、原画素と補間点との逆距離値が約５０を下回っているときには、その逆距離値がそれより大きい逆距離値となるように補正され、逆距離値が約１７５を上回っているときにも、その逆距離値がそれより大きい逆距離値となるように補正される。
【０１０８】
さらに、図１３の破線のグラフは、原画像の右縁又は下縁にある補間点について補正を行うときの補正前の逆距離値と補正後の逆距離値との関係を示している。この図１３の破線にて示される右下縁用テーブルによると、原画素と補間点との逆距離値が約８０を下回っているときには、その逆距離値がそれより小さい逆距離値となるように補正され、逆距離値が約２１０を上回っているときにも、その逆距離値がそれより小さい逆距離値となるように補正される。
【０１０９】
原画像の左右縁及び上下縁にある補間点について、原画素の画素値に対する重みを算出するための逆距離値が、これらのように補正されると、濃淡の変化が鋭い絵柄を含む画像におけるその濃淡の境界部分において画像が分割されて、その分割された画像をそれぞれ別個に拡大してから互いに結合するという場合であっても、最終的な拡大画像において、画像の繋ぎ目がさほど目立たなくなるようになる。例えば、図１８（ａ）に示されるように、横縞模様と縦縞模様とからなる原画像がＥ−Ｅ線（縦線）に沿って分割されて、分割された画像がそれぞれ一般的な双一次補間法にて別個に拡大されて、その後互いに結合されると、図１８（ｂ）及びその拡大図である図１９（ａ）に示されるように、結合後の拡大画像内の縦縞模様におけるＥ−Ｅ線上にある白縞と黒縞との境界が、他の境界における濃淡の変化と異なる濃淡の変化を持ってしまい、繋ぎ目が目立ってしまう。しかし、同じ原画像について、本実施形態の印刷装置１０が、同様の処理（分割，別個に拡大，結合）を行って得た拡大画像においては、図１９（ｂ）に示されるように、Ｅ−Ｅ線の左側にある白縞の灰色部分の領域が広がり、また、Ｅ−Ｅ線の右側にある黒縞の黒の濃さがやや薄くなっている。
【０１１０】
また、図２０は、図１８（ｂ）に示される拡大画像のＦ線上での画素値分布を示したグラフである。この図２０には、実線のグラフと破線のグラフとが示されているが、実線のグラフは、一般的な双一次補間法を用いて得た拡大画像（すなわち図１９（ａ）の拡大画像）の画素値分布を示し、破線のグラフは、本実施形態の印刷装置１０にて得た拡大画像（すなわち図１９（ｂ）の拡大画像）の画素値分布を示している。この図２０に示されるように、本実施形態の印刷装置１０によると、白縞が原画像の右縁にあるときには、その白縞の明るさが低減され、黒縞が原画像の左縁にあるときには、その黒縞の暗さが低減される。逆に、図示していないが、黒縞が原画像の右縁にあるときには、その黒縞の暗さが低減され、白縞が原画像の右縁にあるときには、その白縞の明るさが低減される。つまり、左上縁用テーブルと右下縁用テーブルを用いると、分割線を挟む両側の画像におけるその分割線近傍の部分の濃淡の変化が緩やかとなり、分割線による繋ぎ目が余り目立たなくなる。
【０１１１】
なお、左上縁用テーブルと右下縁用テーブルとを用いた補正は、繋ぎ目における濃淡の変化を緩めるように作用するものであるが、これに対し、前述した内部用テーブルを用いた補正は、濃淡の変化を目立たせるように作用するものである。従って、左上縁用テーブルと右下縁用テーブルとを用いた補正は、内部用テーブルを用いた補正とは、逆に作用するものとなっている。
【図面の簡単な説明】
【０１１２】
【図１】本実施形態の印刷装置の構成図
【図２】画像データに基づく画像の解像度を高める処理の流れを示す図
【図３】画素補間処理の流れを示す図
【図４】画素補間処理の流れを示す図
【図５】画素補間処理の流れを示す図
【図６】画素補間処理の流れを示す図
【図７】画素補間処理の流れを示す図
【図８】画素補間処理の流れを示す図
【図９】原画像上の補間点の座標を逆変換倍率で求めたあと半画素分ずらす理由の説明図
【図１０】参照原画素特定処理の流れを示す図
【図１１】４個の原画素の濃度差のパターンを示す図
【図１２】原画像の内部にある補間点についての距離値を補正する際に用いられる内部用テーブルの値を座標上にプロットしてなるグラフを示す図
【図１３】原画像の左上縁及び右下縁にある補間点についての距離値を補正する際に用いられる左上縁用テーブル及び右下縁用テーブルの値をそれぞれ座標上にプロットしてなるグラフを示す図
【図１４】本実施形態の印刷装置によって市松模様の画像を拡大する前と拡大した後の状態を示す図
【図１５】拡大した市松模様の画像のＣ線上の画素値分布のグラフを示す図
【図１６】一般的な双一次補間法を用いて市松模様の画像を拡大する前と拡大した後の状態を示す図
【図１７】一般的な双一次補間法を用いて拡大した市松模様の画像のＤ線上での画素値分布のグラフを示す図
【図１８】横縞と縦縞とからなる画像を本実施形態の印刷装置によって拡大する前と拡大した後の状態を示す図
【図１９】一般的な双一次補間法を用いた場合と本実施形態の印刷装置による場合とにおけるＥ−Ｅ線上にある白縞と黒縞との境界部分の拡大図
【図２０】縦縞と横縞とからなる拡大画像のＦ線上での画素値分布のグラフを示す図
【符号の説明】
【０１１３】
１０  印刷装置
１１  外部Ｉ／Ｆ装置
１２  操作表示盤
１３  給紙機構
１４  印刷機構
１５  ＤＲＡＭ
１６  ＲＯＭ
１７  ＣＰＵ
１８  ＥＥＰＲＯＭ
１９  ＡＳＩＣ
【図１】
2006262305.tif 000003
【図２】
2006262305.tif 000004
【図３】
2006262305.tif 000005
【図４】
2006262305.tif 000006
【図５】
2006262305.tif 000007
【図６】
2006262305.tif 000008
【図７】
2006262305.tif 000009
【図８】
2006262305.tif 000010
【図９】
2006262305.tif 000011
【図１０】
2006262305.tif 000012
【図１１】
2006262305.tif 000013
【図１２】
2006262305.tif 000014
【図１３】
2006262305.tif 000015
【図１４】
2006262305.tif 000016
【図１５】
2006262305.tif 000017
【図１６】
2006262305.tif 000018
【図１７】
2006262305.tif 000019
【図１８】
2006262305.tif 000020
【図１９】
2006262305.tif 000021
【図２０】
2006262305.tif 000022