(57)【要約】【課題】適切に歪み補正が行われる画像ファイルを生成する。【解決手段】携帯端末（１０）は、撮影画像の画像データを所定形式にフォーマット化した画像ファイルを生成するフォーマット化処理部（１０１）と、前記画像ファイルの前記撮影画像を表示する際に歪み補正を施した上で前記表示を行うようにコンピュータを制御する描画コマンドを作成し、描画コマンドを前記画像ファイルに付加する描画コマンド生成部（１００）とを備える。描画コマンド生成部（１００）は、前記撮影画像の補正対象範囲（６０）を射影変換にて歪み補正する場合とアフィン変換にて前記歪み補正する場合との差を示した第１差情報を求め、前記差が許容範囲内でない場合、補正対象範囲６０を分割して複数の部分領域を設定し、部分領域から定められるアフィン変換用行列によって前記歪み補正を行う前記描画コマンドを前記部分領域毎に作成する。【選択図】図２
2016149097.tif 000002
【特許請求の範囲】
【請求項１】
撮影画像の画像データを所定形式にフォーマット化した画像ファイルを生成するフォーマット化処理部と、
前記画像ファイルの前記撮影画像を表示する際に歪み補正を施した上で前記表示を行うようにコンピュータを制御する描画コマンドを作成し、描画コマンドを前記画像ファイルに付加するコマンド付加部と、を備え、
前記コマンド付加部は、前記撮影画像に対し補正対象範囲を設定し、前記補正対象範囲を射影変換にて歪み補正する場合とアフィン変換にて前記歪み補正する場合との差を示した第１差情報を求め、
前記差が許容範囲内の場合、前記補正対象範囲から定められるアフィン変換用行列によって前記歪み補正を行う前記描画コマンドを作成し、
前記差が許容範囲内でない場合、前記補正対象範囲を分割して複数の部分領域を設定し、部分領域から定められるアフィン変換用行列によって前記歪み補正を行う前記描画コマンドを前記部分領域毎に作成する画像処理装置。
【請求項２】
前記コマンド付加部は、前記差が許容範囲内にない場合、前記補正対象範囲を、複数の四角形の分割範囲に分割し、各分割範囲を、各分割範囲において一本の対角線を挟んで対向する各三角形に分割し、前記三角形を前記部分領域とすることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記コマンド付加部は、生成される分割範囲について、当該分割範囲を射影変換にて歪み補正する場合とアフィン変換にて前記歪み補正する場合との差を示した第２差情報を求め、第２差情報に示される差が許容範囲内にない分割範囲を分割してさらに分割範囲を生成する処理を、全ての分割範囲において前記第２差情報の前記差が許容範囲内になるまで繰り返すことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記コマンド付加部は、前記第１差情報の前記差に応じて前記分割範囲の数を設定するようになっており、
前記分割範囲の数の上限が定められていることを特徴とする請求項２に記載の画像処理装置。
【請求項５】
前記第１差情報は、前記補正対象範囲に対して設定される歪み補正後の目標範囲の重心位置と、前記補正対象範囲の重心位置を前記射影変換で移動させた後の位置との距離に応じた値であることを特徴とする請求項１から４のいずれか１項に記載の画像処理装置。
【請求項６】
前記第２差情報は、前記分割範囲に対して設定される歪み補正後の目標範囲の重心位置と、前記分割範囲の重心位置を前記射影変換で移動させた後の位置との距離に応じた値であることを特徴とする請求項３に記載の画像処理装置。
【請求項７】
前記コマンド付加部は、前記第２差情報の前記差が許容範囲内にない分割範囲を分割すると分割範囲の総数が規定値を超える場合、当該分割を行う前に、（１）分割範囲の総数が規定値を超えても当該分割を行う第１オプションと、（２）当該分割を中止して前記分割範囲の総数を規定値以内に抑える第２オプションと、（３）前記画像ファイルの生成を中止する第３オプションとのうちのいずれかをユーザに選択させるようになっていることを特徴とする請求項３または６に記載の画像処理装置。
【請求項８】
前記第１差情報に示される差が許容範囲内でない場合において、前記部分領域に対して生成される描画コマンドは、前記部分領域から設定されるアフィン変換用行列による歪み補正を前記画像データに施して、前記部分領域に対応する補正後目標部分領域の外側をマスク領域とした上で表示処理を行うようにコンピュータを制御するコマンドであり、
前記マスク領域は、前記補正後目標部分領域を含み且つ前記補正後目標部分領域よりも広い範囲が表示されるように設定されることを特徴とする請求項１から７のいずれか１項に記載の画像処理装置。
【請求項９】
撮影画像の画像データを所定形式にフォーマット化した画像ファイルを生成し、
前記画像ファイルの前記撮影画像を表示する際に歪み補正を施した上で前記表示を行うようにコンピュータを制御する描画コマンドを作成し、描画コマンドを前記画像ファイルに付加する画像処理方法であって、
前記撮影画像に対し補正対象範囲を設定し、前記補正対象範囲を射影変換にて歪み補正する場合とアフィン変換にて前記歪み補正する場合との差を示した第１差情報を求め、
前記差が許容範囲内の場合、前記補正対象範囲から定められるアフィン変換用行列によって前記歪み補正を行う前記描画コマンドを作成し、
前記差が許容範囲内でない場合、前記補正対象範囲を分割して複数の部分領域を設定し、部分領域から定められるアフィン変換用行列によって前記歪み補正を行う前記描画コマンドを前記部分領域毎に作成する画像処理方法。
【請求項１０】
コンピュータを請求項１〜８のいずれか１項に記載の画像処理装置の各部として機能させるプログラム。
【請求項１１】
請求項１０に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮影にて得られた画像データを所定型式のデータにフォーマット化した画像ファイルを生成する画像処理装置に関する。
【背景技術】
【０００２】
デジタルカメラの普及が進み、掲示物や黒板に書かれた内容をデジタルカメラで撮影することにより記録するユーザが増えてきている。しかし、このような利用方法では、撮影対象物を正面から撮影できない場合も多く、歪んだ撮影画像が取得されることがある。これに対し、例えば特許文献１に示すように、歪んだ撮影画像に対して補正（歪み補正）する技術が従来から多数知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−１１５７１１号公報
【特許文献２】特開２０１０−１６１７６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、デジタルカメラの撮影によって得られた撮影画像の画像データは、通常、所定型式のデータにフォーマット化された画像ファイル（例えばＰＤＦファイル等）に変換されて保存される。ここで、デジタルカメラや、デジタルカメラを備えた携帯端末では、コンピュータの性能に制限があるため、歪み補正を施した撮影画像の画像データから画像ファイルを生成するとなると、画像ファイルの生成に時間を要してしまい、例えば処理対象が多い場合には問題となる。
【０００５】
これに対し、特許文献２において、画像処理を施す前の画像データと、当該画像データの画像を表示する際に当該画像データに画像処理を施した状態で前記表示を行うようにコンピュータを制御する描画コマンドとを埋め込んだ画像ファイルを生成する技術が提案されている。この技術を利用すれば、コンピュータの性能に制限のある携帯端末等でも画像ファイルを速やかに生成することが可能になる。
【０００６】
そこで、歪み補正を施す前の画像データと、当該画像データの画像を表示する際に当該画像データに歪み補正を施した状態で前記表示を行うようにコンピュータを制御する描画コマンドとを埋め込んだ画像ファイルを生成することにより、画像ファイルの生成までの時間を短縮化させることが可能と考えられる。
【０００７】
ここで、歪み補正の手法としては特許文献１に示されるように射影変換が知られているが、画像ファイルのなかには、射影変換の範疇に入る全ての座標変換を利用することができず、射影変換のうち、アフィン変換（射影変換の一種）と呼ばれる座標変換しか利用できないものがある（例えばＰＤＦ（Portable Document Format）ファイル）。このような画像ファイルでは、アフィン変換を指示する描画コマンドを埋め込めるが、アフィン変換以外の射影変換を指示する描画コマンドを埋め込めないため、アフィン変換で対応困難な歪みについては、適切に補正することが困難という課題が生じる。
【０００８】
本発明は、前記課題に鑑みてなされたものであって、画像を表示する際にアフィン変換にて歪み補正を行うようになっている画像ファイルを生成する画像処理装置において、適切に歪み補正が行われる画像ファイルを生成することを目的とする。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、本発明の一態様の画像処理装置は、撮影画像の画像データを所定形式にフォーマット化した画像ファイルを生成するフォーマット化処理部と、前記画像ファイルの前記撮影画像を表示する際に歪み補正を施した上で前記表示を行うようにコンピュータを制御する描画コマンドを作成し、描画コマンドを前記画像ファイルに付加するコマンド付加部と、を備え、前記コマンド付加部は、前記撮影画像に対し補正対象範囲を設定し、前記補正対象範囲を射影変換にて歪み補正する場合とアフィン変換にて前記歪み補正する場合との差を示した第１差情報を求め、前記差が許容範囲内の場合、前記補正対象範囲から定められるアフィン変換用行列によって前記歪み補正を行う前記描画コマンドを作成し、前記差が許容範囲内でない場合、前記補正対象範囲を分割して複数の部分領域を設定し、部分領域から定められるアフィン変換用行列によって前記歪み補正を行う前記描画コマンドを前記部分領域毎に作成することを特徴とする。
【発明の効果】
【００１０】
本発明の一態様によれば、補正対象範囲に対して単一のアフィン変換用行列を用いて歪み補正を行うと補正誤差（アフィン変換に限定せずに射影変換を行って補正する場合に対して前記射影変換を前記アフィン変換に限定して補正する場合の誤差）が大きくなってしまうような場合、補正対象範囲を複数の部分領域に分割し、部分領域毎にアフィン変換用行列を設定することにより、補正誤差を抑えた歪み補正を実現することが可能になる（１つ当たりの歪み補正行列にて対応する範囲を分割して小さくすることにより、１つの歪み補正行列にて対応する範囲の補正誤差を小さくでき、全体として補正誤差を抑制できる）。したがって、画像を表示する際にアフィン変換にて歪み補正を行うようになっている画像ファイルを生成する場合において、適切に歪み補正が行われる画像ファイルを生成できるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】射影変換を説明するための図である。
【図２】本実施形態の携帯端末の構成を示す機能ブロック図である。
【図３】歪み補正される前の撮影画像を示す図である。
【図４】図３の撮影画像に対し、アフィン変換に限らずに射影変換を行って得られる画像を示した図である。
【図５Ａ】図３の撮影画像に設定されている補正対象範囲の左辺および下辺を用いて設定される平行四辺形を示した図である。
【図５Ｂ】図５Ａに示される平行四辺形を別の平行四辺形に変換するアフィン変換によって、図３の撮影画像を補正した画像を示した図である。
【図６Ａ】図３の撮影画像に設定されている補正対象範囲の右辺および上辺を用いて設定される平行四辺形を示した図である。
【図６Ｂ】図６Ａに示される平行四辺形を別の平行四辺形に変換するアフィン変換によって、図３の撮影画像を補正した画像を示した図である。
【図７】本実施形態のファイル生成モードの処理の流れを示すフローチャートである。
【図８】本実施形態の携帯端末の外観構成を示した模式図である。
【図９Ａ】四角形ＰＱＲＳから四角形ＴＵＶＷへの射影変換（変形１）を示した模式図である。
【図９Ｂ】図９Ａの四角形ＴＵＶＷの中心付近を拡大して示した図である。
【図１０】補正対象範囲を分割して得られる４つの分割範囲と、補正後表示範囲を分割して得られる４つの補正後分割範囲とを示した説明図である。
【図１１】図１０に示される４つの分割範囲のうちの一つの分割範囲をさらに分割して得られる分割範囲を示した説明図である。
【図１２】分割範囲から生成される２つの部分領域と、補正後分割範囲から生成される２つの補正後部分領域とを示した説明図である。
【図１３】補正対象範囲から得られる８つの部分領域と、補正後表示範囲から得られる８つの補正後部分領域とを示した説明図である。
【図１４】図７のＳ１０７にて指定される描画コマンドを示した模式図である。
【図１５】Ｓ１０８〜Ｓ１１８を経由して得られたＰＤＦファイルに埋め込まれる描画コマンドを示した模式図である。
【図１６】実施形態４の描画コマンドであり、Ｓ１０８〜Ｓ１１８を経由して得られたＰＤＦファイルに埋め込まれる描画コマンドを示した模式図である。
【図１７Ａ】互いに隣り合う補正後部分領域同士の境界に生じる表示不具合を示した図である。
【図１７Ｂ】本発明の実施形態４の処理によって設定されるマスク領域に基づいて表示される画像であり、図１７Ａの表示不具合が解消されていることを示す図である。
【図１８】本発明の実施形態２の分割処理を示した説明図である。
【図１９】射影変換によって歪み補正した出力画像と、８つの部分領域に分割してアフィン変換によって歪み補正した出力画像とを示す図である。
【発明を実施するための形態】
【００１２】
〔前提技術の説明〕
本発明の実施形態を説明する前に、本発明の実施形態の前提技術となる射影変換（座標変換）について最初に説明する。
【００１３】
通常、２次元座標の座標値は（ｘ、ｙ）と表されるところ、同次座標では、実数ｗ（ただしｗ≠０）を用いて（ｗｘ、ｗｙ、ｗ）と表される。例えば、（ｘ、ｙ）=（２、３）となる２次元座標を同次座標で表現する場合、通常はｗ＝１として（２、３、１）と表現するが、（４、６、２）、（６、９、３）など異なる形でも表現でき、（２、３、１）、（４、６、２）、（６、９、３）は、座標上で全て同じ位置（点）を示す。この同次座標を用いると、２次元の射影変換は数１に示すように３×３行列（以下では単に「行列」と称す）として表される。
【００１４】
【数１】
2016149097.tif 000003
【００１５】
数１において、（ｘ、ｙ、１）は、変換前の座標値を示し、（ｘ’、ｙ’、１）は、変換後の座標値を示し、”〜”は、同次座標において同じ位置（点）であることを示す記号である。
【００１６】
数１の左辺の行列演算において、前述のｗを求めると、ｗ＝ｘｇ＋ｙｈ＋１となる。このｗはかならずしも１にならないため、変換後の座標値にｗを乗算することにより（数１の右辺を（ｗｘ’、ｗｙ’、ｗ）に置き換える）、左辺と右辺とは一致することになり、数２を得ることができる。
【００１７】
【数２】
2016149097.tif 000004
【００１８】
２次元の射影変換は、任意の四角形から他の四角形への変形に相当する（一例として台形から長方形への変形が可能である）。なお、射影変換のうち、数１の行列においてｇ＝０且つｈ＝０とした変換がアフィン変換に相当する。アフィン変換は平面上の任意の平行四辺形を他の平行四辺形に変形する変換であるが、それ以外の変換に対応できない。つまり、アフィン変換は、射影変換の範疇に含まれる様々な座標変換のうちの一種の座標変換である。
【００１９】
つぎに、図１に示す変形１（任意の四角形から他の四角形への変形）を実現するための行列の係数の求め方を説明する。
【００２０】
変形１は、いくつかの基本的な射影変換（変形２〜変形５）を順次適用することで実現可能である。具体的には、図１に示すように、四角形ＰＱＲＳを四角形ＴＵＶＷに変形する変形１は変形２〜変形５を順次適用したものと同じ変換になる。
変形１：四角形ＰＱＲＳを四角形ＴＵＶＷにする変形
変形２：Ｓが原点と一致するように四角形ＰＱＲＳを平行移動する変形
変形３：Ｓが原点と一致する四角形ＰＱＲＳを単位正方形に変形
変形４：単位正方形を、Ｗが原点に一致する四角形ＴＵＶＷに変形
変形５：Ｗが原点に一致する四角形ＴＵＶＷを平行移動する変形
変形２および変形５の平行移動は数３のように表わせる。
【００２１】
【数３】
2016149097.tif 000005
【００２２】
つぎに、変形３および４について説明する。変形３および４は、一つの頂点が原点と一致している任意の四角形と単位正方形との間の変換に相当する。
【００２３】
まずは、変形４を行うための行列を求める手順について説明する。変形４は、単位正方形からＷが原点と一致する四角形ＴＵＶＷへの変形である。つまり、変形４は、単位正方形を構成する４つの頂点（０、１、１）、（１、１、１）、（１、０、１）、（０、０、１）が、一つの頂点が原点である任意の四角形の４つの頂点（ｘ１、ｙ１、１）、（ｘ２、ｙ２、１）、（ｘ３、ｙ３、１）、（０、０、１）への変換（移動）に相当する。そこで、単位正方形の４つの頂点の座標値を変換前の４点の座標値とし、任意の四角形の４つの頂点の座標値を変換後の４点の座標値として数２に代入することにより、数４が得られる。
【００２４】
【数４】
2016149097.tif 000006
【００２５】
数４に列挙される式を連立方程式として解くことにより数５を得ることができる。数５を演算することにより、変形４の行列の係数ａ〜ｈを求めることができ、これにより変形４の行列を得ることができる。
【００２６】
【数５】
2016149097.tif 000007
【００２７】
なお、数５において、係数ｇを計算する式の分母が０となる条件は、単位正方形の原点以外の３点の移動後の３点が一直線上に並ぶ場合であり、想定している「単位正方形から一つの頂点が原点である任意の四角形への変形」という条件から外れる。また、ｈを計算するための式として式Ａまたは式Ｂがあるが、計算精度を考慮すると、｜ｘ１−ｘ２｜＞｜ｙ１−ｙ２｜の場合には式Ａを用い、そうでない場合は式Ｂを用いることが好ましい。
【００２８】
変形３の行列については、次に述べるようにして求める。変形３は、Ｓが原点と一致する四角形ＰＱＲＳから単位正方形への変形である。つまり、前述した変形４は、単位正方形から、１つの頂点が原点に位置する任意四角形への変形に相当するのに対し、変形３は、１つの頂点が原点に位置する任意四角形から単位正方形への変形に相当する。そこで、変形３については、（１）最初に、変形４の行列を求めた方法と同じ方法によって、変形３の逆の変形（単位正方形から、Ｓが原点と一致する四角形ＰＱＲＳへの変形）を行うための行列を求め、（２）変形３の逆の変形を行うための行列の逆行列を求めればよい。この逆行列が変形３の行列に相当する。このようにすれば、変形４を求めた手法と同様に数２、数４、数５を用いて、変形３の行列を求めることができる。
【００２９】
そして、以上のようにして求められた変形２から変形５の行列を順次掛け算することにより、変形１の行列を求めることができる。つまり、変形前の四角形ＰＱＲＳの各頂点の座標値と、変形後（目標）の四角形ＴＵＶＷの各頂点の座標値とが定まれば、これら頂点の座標値を用いて四角形ＰＱＲＳを四角形ＴＵＶＷに変形するための変形１の行列を求めることができるのである。具体的には以下の通りである。
【００３０】
最初に、四角形ＰＱＲＳの頂点Ｓの座標値と原点の座標値とを用いて数３を演算することにより、変形２の行列を求める。同様に、四角形ＴＵＶＷの頂点Ｗの座標値と原点の座標値とを用いて数３を演算することにより、変形５の行列を求める。
【００３１】
続いて、四角形ＰＱＲＳの各頂点の座標値と変形２の行例とを用いて、頂点Ｓが原点に位置する四角形ＰＱＲＳの各頂点の座標値を求める。そして、頂点Ｓが原点に位置する四角形ＰＱＲＳの各頂点の座標値と、単位正方形を構成する各頂点の座標値とを用いて、数５を演算することで変形３の行列を求める。
【００３２】
また、四角形ＴＵＶＷの各頂点の座標値と変形５の行列とを用いて、頂点Ｗが原点に位置する四角形ＴＵＶＷの各頂点の座標値を求める。そして、頂点Ｗが原点に位置する四角形ＴＵＶＷの各頂点の座標値と、単位正方形を構成する各頂点の座標値とを用いて、数５を演算することで変形４の行列を求める。
【００３３】
最後に、以上のようにして求めた変形１〜変形４の行列を掛けることにより、変形１の行列（つまり変形１の行列の係数ａ〜ｈ）を得ることができる。
【００３４】
本願明細書では、射影変換を示す変形１の行列を歪み補正行列と称することにする。また、変形１の座標変換は射影変換であるが、変形前の四角形ＰＱＲＳおよび変形後の四角形ＴＵＶＷが平行四辺形の場合、変形１の行列の係数ｇ，ｈはいずれも０になり、これは変形１がアフィン変換（射影変換の一種）であることを意味する。
【００３５】
〔実施形態１〕
（実施形態の概要）
デジタルカメラや、デジタルカメラを搭載した携帯端末（例えばスマートフォン）によって撮影対象物（例えば掲示板に貼られている長方形の用紙）を斜めから撮影した場合、歪んだ撮影画像（撮影対象が歪んで示された撮影画像）が得られることがある（例えば、図３）。
【００３６】
このような撮影画像の画像データをＰＤＦファイルに変換する場合（つまり撮影画像の画像データをＰＤＦファイルに埋め込む場合）、歪み補正前の撮影画像の画像データと、前記撮影画像を表示する際には前記画像データに歪み補正を行った上で前記表示を行うようにコンピュータを制御する描画コマンドとを埋め込んだＰＤＦファイルを作成すれば、ＰＤＦファイル作成時に歪み補正を行わないで済むため、ＰＤＦファイル作成にかかる処理時間を短縮できる。
【００３７】
しかし、ＰＤＦファイルでは、射影変換のうちアフィン変換しか行えない。それゆえ、アフィン変換に限られない射影変換では補正可能な歪みであっても、アフィン変換では補正しきれないケースについては、ＰＤＦファイルでは適切に歪み補正できないことがあるという問題が生じる。
【００３８】
図３は、歪み補正される前の撮影画像を示す図である。図３の撮影画像は、掲示板に貼られている用紙を撮影して得られた画像である。図３に示される四角形２００は、ユーザによって設定された補正対象範囲であり、且つ、前記の用紙が示されている部分である。図３に示される撮影画像においては、補正対象範囲に示される画像（用紙）が強く歪んでしまっていることがわかる。
【００３９】
図４は、図３の四角形２００の範囲（補正対象範囲）に、アフィン変換に限ることなく射影変換を行って得られた画像を示す図である。図４の四角形２００ａは、図３の四角形２００を射影変換した後の四角形に相当する。図３と図４とを比較すれば、アフィン変換に限定せずに射影変換を行うと、強い歪みであっても適切に歪みが補正されることがわかる。
【００４０】
図５Ｂは、図３の四角形２００の範囲（補正対象範囲）にアフィン変換を施した画像を示す図である。図３、図４、図５Ｂを見比べれば、射影変換では適切に補正されるような歪みであっても、アフィン変換では補正しきれないケースがある事がわかる。
【００４１】
なお、アフィン変換の歪み補正行列は、平行四辺形を他の平行四辺形へ変形させるための行列であるが、図３の補正対象範囲である四角形２００は平行四辺形ではないため、図３の四角形２００の４つの頂点の座標値からではアフィン変換の歪み補正行列を求めることができない。そこで、図５Ａに示すように、四角形２００の左辺２０１と、四角形２００の下辺２０２と、左辺２０１に平行な右辺と、下辺２０２に平行な上辺とからなる平行四辺形２００ｂ（太線部分）を設定し、平行四辺形２００ｂの各頂点の座標値を変換前座標値として、アフィン変換の歪み補正行列を求めるようにする。ここで、図５Ｂに示す平行四辺形２００ｂ´は、図５Ａの平行四辺形２００ｂをアフィン変換にて変形した後の平行四辺形に相当する。そして、図５Ｂの平行四辺形２００ｂ´の内側には、図３の四角形２００に囲まれる補正対象範囲にアフィン変換を施した画像が示されることになる。このようにして、図３の四角形２００のように平行四辺形でない補正対象範囲を設定した場合であっても、補正対象範囲にアフィン変換を施した画像を得ることができるのである。
【００４２】
また、図５Ａおよび図５Ｂでは、補正対象範囲の四角形２００の左辺２０１と下辺２０２とを用いて平行四辺形２００ｂを設定したが、補正対象範囲の四角形２００の各頂点のうちのいずれか一つの頂点から延びる第１の辺および第２の辺を用いて平行四辺形を設定できる。つまり、この第１の辺および第２の辺としては、上述のように左辺２０１と下辺２０２であってもよいし、左辺２０１と上辺２０３であってもよいし、右辺２０４と上辺２０３であってもよいし、右辺２０４と下辺２０２であってもよい（図３を参照）。
【００４３】
例えば、図３の右辺２０４と上辺２０３とを用いて平行四辺形を設定する場合、図６Ａおよび図６Ｂのようにして処理が行われる。すなわち、図６Ａに示すように、四角形２００の右辺２０４と、四角形２００の上辺２０３と、右辺２０４に平行な左辺と、上辺２０３に平行な下辺とからなる平行四辺形２００ｃを設定し、平行四辺形２００ｃの各頂点の座標値を変換前座標値として、アフィン変換の歪み補正行列を求めることにする。ここで、図６Ｂに示す平行四辺形２００ｃ´（太線部分）は、図６Ａの平行四辺形２００ｃをアフィン変換にて変形した後の平行四辺形に相当する。そして、図６Ｂにおける平行四辺形２００ｃ´の内側および周囲には、図３の四角形２００に囲まれる補正対象範囲にアフィン変換を施した画像が示されることになる。ここで、図６Ｂによれば、右上部の歪みが補正されているものの、左下部にて新たな歪みが発生しており、結果として歪みが補正しきれていない事がわかる。
【００４４】
以上の通りであるので、アフィン変換に限られない射影変換では補正可能な歪みであっても、アフィン変換では補正しきれないというケースがあるため、射影変換のうちアフィン変換しか描画コマンドで指定できないＰＤＦファイルでは、適切に歪みを補正できないことがあるという問題が生じるのである。
【００４５】
そこで、この問題を回避するため、本実施形態の携帯端末は、まず、前記撮影画像に対して補正対象範囲を設定し、第１誤差情報を求める。第１誤差情報とは、射影変換によって補正対象範囲を歪み補正する場合に対して前記射影変換をアフィン変換に限定して歪み補正する場合の誤差（補正誤差）を示した値である（言い換えると、第１誤差情報は、補正対象範囲を射影変換にて歪み補正する場合とアフィン変換にて歪み補正する場合との差を示した値（第１差情報）ともいえる）。第１誤差情報の詳細については後に詳述する。
【００４６】
本実施形態の携帯端末は、第１誤差情報を求めた後、第１誤差情報に対して閾値処理を行うことにより、第１誤差情報の誤差が許容範囲内か否かを判定する。
【００４７】
本実施形態の携帯端末は、第１誤差情報の誤差が許容範囲内と判定する場合、前記補正対象範囲から設定される歪み補正行列によってアフィン変換を行った上で撮影画像を表示するようにコンピュータを制御する描画コマンドを生成し、この描画コマンドを、前記撮影画像と共にＰＤＦファイルに埋め込む。
【００４８】
これに対し、本実施形態の携帯端末は、第１誤差情報の誤差が許容範囲内にないと判定する場合、前記補正対象範囲を分割して複数の部分領域を生成し、部分領域から設定される歪み補正行列を用いてアフィン変換を行った上で撮影画像を表示するようにコンピュータを制御する描画コマンドを部分領域毎に生成し、生成した各描画コマンドを、撮影画像と共にＰＤＦファイルに埋め込む。
【００４９】
これにより、補正対象範囲に対して単一の歪み補正行列を用いてアフィン変換を行うと補正誤差が大きくなってしまうような場合（つまり適切に歪み補正を行えない場合）、前記補正範囲を複数の部分領域に分割し、部分領域毎に歪み補正行列を設定することにより、補正誤差を抑えた歪み補正を実現することが可能になる（１つ当たりの歪み補正行列にて対応する範囲を分割して小さくすることにより、１つの歪み補正行列にて対応する範囲の補正誤差を小さくでき、全体として補正誤差を抑制できる）。
【００５０】
以下、本実施形態の携帯端末について詳細に説明する。
【００５１】
（携帯端末の全体構成）
本発明の画像処理装置の一実施形態として携帯端末の構成を詳細に説明する。図２は、本実施形態の携帯端末の概略構成を示すブロック図である。
【００５２】
図２に示す携帯端末１０は、撮影対象物を撮影して撮影画像を生成するカメラ機能と画像を表示する表示機能とを備えた携帯可能なコンピュータであり、例えばスマートフォンやタブレットが挙げられる。図２に示すように、携帯端末１０は、少なくとも、情報処理部１１、タッチパネル１２、撮影部１３、および記憶部１４を備えている。
【００５３】
さらに、図示しないが、携帯端末１０は、通信インターフェイス、インターネット送受信部、音声操作部、音声出力部、テレビ放送受像部、ＧＰＳ（Global Positioning System）など、携帯端末が標準的に備えている各種ハードウェアを備えている。
【００５４】
情報処理部１１は、記憶部１４に記憶されている各種情報およびプログラム（各種制御を実施するための制御プログラムやアプリケーション）を取り出して各種情報処理を行うブロックであり、たとえば、ＣＰＵ（Central Processing Unit）を備えるマイクロコンピュータやマイクロプロセッサによって実現される。つまり、情報処理部１１は、各種アプリケーションプログラムの実行、携帯端末１０が備える各種ハードウェアの動作制御（表示制御を含む）、画像処理等の携帯端末１０におけるあらゆる情報処理を行うブロックである。本実施形態では、特に、情報処理部１１は、撮影部１３にて得られた撮影画像の画像データをＰＤＦファイルに変換するファイル生成モードを実行するようになっている。この点については詳述する。
【００５５】
記憶部１４は、情報処理部１１が実行する各種アプリケーションプログラム、ＯＳ（Operating System）プログラム、制御プログラム、これらプログラムを実行するときに読み出す各種データ（設定値、テーブル等）、撮影部１３にて得られる撮影画像の画像データを記憶する記憶領域である。記憶部１４としては、従来から公知の種々の記憶手段、例えば、リードオンリーメモリ、ランダムアクセスメモリ、フラッシュメモリ、ＥＰＲＯＭ（Erasable Programmable ROM）、ＥＥＰＲＯＭ（登録商標）（Electrically EPROM）などを用いることができる。また、記憶部１４には、情報処理部１１にて取り扱われている処理中のデータを一時的に記憶するワーキングメモリが含まれる。
【００５６】
タッチパネル１２は、画像を表示する表示部１２ａと、ユーザのタッチ操作に応じた入力信号を生成する入力部１２ｂとが一体化されている装置である。タッチパネル１２としては、周知のものを用いることができる。つまり、表示部１２ａはＬＣＤ（Liquid Crystal Display）などで構成され、入力部１２ｂは表示部１２ａと一体化された静電容量センサなどで構成される。ユーザがタッチパネル１２に対してタッチ操作を行うと、タッチ操作に応じた入力指示が情報処理部１１に伝達され、情報処理部１１は、当該入力指示に応じてタッチパネル１２の表示制御を行うことになる。例えば、タップ操作が行われるとタップされたアイコンやファイルに応じた画像が表示されるようになっている。
【００５７】
なお、本実施形態の携帯端末１０は、所謂スマートフォンやタブレットであるため、画像表示手段としてタッチパネル１２を備えているが、画像表示手段はタッチパネル１２に限られるものではない。つまり、携帯端末１０において、表示部と入力部とが別々に構成されていてもよく、この場合、表示部はＬＣＤ等であり、入力部はキーボード等である。
【００５８】
撮影部１３は、ＣＣＤ（Charge Coupled Device）またはＣＭＯＳ（Complementary Metal-Oxide Semiconductor）等からなるデジタルカメラである。撮影部１３は、ユーザに入力された撮影指示信号に応じて撮影処理を行い、撮影画像を示す画像データを生成する。撮影部１３にて生成される画像データは、Ａ／Ｄ（analog to digital）変換やシェーディング補正等の所定の処理が行われて、一旦、記憶部１４に記憶される。
【００５９】
（ファイル生成モード）
つぎに、ファイル生成モードについて詳細に説明する。ファイル生成モードとは、記憶部１４に記憶されている撮影画像のなかから処理対象となる撮影画像をユーザに指定させ、指定された撮影画像の画像データを所定型式にフォーマット化された画像ファイルを生成して保存するモードである。なお、本実施形態では、前記画像ファイルは、ＰＤＦ（Portable Document Format）ファイルであるものとする。
【００６０】
情報処理部１１は、図２に示すように、ファイル生成モードを実行する描画コマンド生成部１００およびフォーマット化処理部１０１を少なくとも備えている。なお、図２において、情報処理部１１、タッチパネル１２、撮影部１３および記憶部１４は、ハードウェアであるが、情報処理部１１に含まれる各部（描画コマンド生成部１００およびフォーマット化処理部１０１）は、情報処理部１１が実行するソフトウェア（アプリケーション）の各機能を示す機能ブロックである。
【００６１】
フォーマット化処理部１０１は、ユーザに指定された処理対象の撮影画像の画像データを埋め込んだＰＤＦファイルを作成するブロックである。
【００６２】
描画コマンド生成部（コマンド付加部）１００は、前記ＰＤＦファイルの画像を表示する場合には当該画像に歪み補正を施してから当該画像を表示するようにコンピュータを制御するための描画コマンドを生成し、フォーマット化処理部１０１にて生成されたＰＤＦファイルに前記描画コマンドを付加する（埋め込む）ブロックである。
【００６３】
つぎに、図７のフローチャートを用いてファイル生成モードの処理の流れを以下に説明する。
【００６４】
ユーザが携帯端末１０のタッチパネル１２を操作してファイル生成モードへの移行指示を入力すると、フォーマット化処理部１０１は、携帯端末１０をファイル作成モードへ移行させる（Ｓ１０１）。
【００６５】
Ｓ１０１の後、フォーマット化処理部１０１は、記憶部１４に記憶されている撮影画像のなかから、処理対象としてユーザに指定された撮影画像を選択する（Ｓ１０２）。撮影画像の選択は、例えば、次のようにして行われる。フォーマット化処理部１０１は、ユーザ指示に応じて、記憶部１４に記憶されている撮影画像のプレビューを順にタッチパネル１２に表示させ、ユーザに指定されたプレビューの撮影画像を処理対象として選択する。
【００６６】
図７のＳ１０２によって処理対象の撮影画像が選択されると、描画コマンド生成部１００は、処理対象の撮影画像において四角形の補正対象範囲を設定し、且つ、補正後表示範囲を設定する（Ｓ１０３）。
【００６７】
補正対象範囲とは、撮影画像のうち、歪んでいる撮影対象物を囲った範囲であり、ユーザによって設定される。補正対象範囲の設定は、例えば、次のようにして行われる。描画コマンド生成部１００は、図８に示すように、携帯端末１０のタッチパネル１２に撮影画像５０を表示させる。ユーザは、タッチパネル１２に表示されている撮影画像５０のうち、補正対象範囲の各頂点とすべき４点をタッチ操作によって指定する。そして、図８に示すように、描画コマンド生成部１００は、ユーザのタッチ操作にて指定された４点を頂点とした四角形を補正対象範囲６０として設定する。
【００６８】
つぎに、Ｓ１０３の補正後表示範囲について説明する。補正後表示範囲とは、（１）補正対象範囲６０に対して歪み補正する場合における補正後の補正対象範囲６０の目標形状（目標範囲）を示したものであり、且つ、（２）ＰＤＦファイルを開いた際に表示される範囲でもある。なお、本実施形態では、ＰＤＦファイルが使用されるため、前記の補正後表示範囲としては定型の用紙サイズ（Ａ３，Ａ４等）のなかから設定される。ここで、定型の用紙サイズの形状は長方形（平行四辺形）であるため、このように設定される補正後表示範囲はアフィン変換による補正後の目標形状になり得るのである。
【００６９】
また、補正後表示範囲の設定は、例えば次のようにして行われる。描画コマンド生成部１００は、図８に示すように、補正後表示範囲として補正後サイズをユーザに選択させるためのリストボックス４７１をタッチパネル１２に表示させる。ユーザは、リストボックス４７１に示される各用紙サイズのなかから所望の用紙サイズを選択し、描画コマンド生成部１００は、ユーザに選択された用紙サイズを補正後表示範囲として設定する。なお、ユーザが所望の用紙サイズを選ばない場合、描画コマンド生成部１００は、デフォルトの用紙サイズを設定するようになっている。
【００７０】
例えば、図１０に示すように、補正対象範囲６０に対し、長方形状の補正後表示範囲７０が設定されるようになっている。
【００７１】
図７のＳ１０３の後、描画コマンド生成部１００は、Ｓ１０３にて設定した補正対象範囲６０および補正後表示範囲７０を参照して、補正対象範囲６０について第１誤差情報（第１差情報）を算出する（Ｓ１０４）。第１誤差情報を以下詳細に説明する。
【００７２】
第１誤差情報とは、アフィン変換に限定せずに射影変換によって補正対象範囲を歪み補正する場合に対して前記射影変換をアフィン変換に限定して歪み補正する場合の誤差（補正誤差）を示した値である（言い換えると、第１誤差情報は、補正対象範囲を射影変換にて歪み補正する場合とアフィン変換にて歪み補正する場合との差を示した値ともいえる）。Ｓ１０４では、図８に示す補正対象範囲６０を補正後表示範囲７０（図１０参照）に変形する射影変換（アフィン変換に限定しない）にて補正する場合と、アフィン変換で歪み補正を行う場合との差を示した値を求めることになる。以下において、第１誤差情報をより詳細に説明する。
【００７３】
図９Ａは、四角形ＰＱＲＳを補正対象範囲とし、四角形ＴＵＶＷを補正後表示範囲として、四角形ＰＱＲＳから四角形ＴＵＶＷへ射影変換（変形１）する場合を示した模式図であり、図９Ｂは、図９Ａの四角形ＴＵＶＷの中心付近を拡大して示した図である。
【００７４】
図９Ａの点Ｚ１は、補正対象範囲である四角形ＰＱＲＳの重心（物理的重心）であり、四角形ＰＱＲＳで対辺の関係にある辺ＰＱと辺ＳＲとの間にてこれら各辺の中点同士を繋いだ直線Ｈ１と、四角形ＰＱＲＳで対辺の関係にある辺ＰＳと辺ＱＲとの間においてこれら各辺の中点同士を繋いだ直線Ｈ２との交点に相当する。
【００７５】
図９Ａの点Ｚ３は、四角形ＰＱＲＳから四角形ＴＵＶＷへ射影変換を行う場合の点Ｚ１の変換後の位置である。
【００７６】
図９Ａの点Ｚ２は、補正後表示範囲である四角形ＴＵＶＷの重心（物理的重心）であり、四角形ＴＵＶＷで対辺の関係にある辺ＴＵと辺ＷＶとの間にてこれら各辺の中点同士を繋いだ直線Ｈ３と、四角形ＴＵＶＷで対辺の関係にある辺ＴＷと辺ＵＶとの間にてこれら各辺の中点同士を繋いだ直線Ｈ４との交点に相当する。
【００７７】
ここで、射影変換（変形１）がアフィン変換であれば、点Ｚ１は点Ｚ２に移されるため、点Ｚ２と点Ｚ３とが一致する。つまり、図９Ｂに示される点Ｚ２と点Ｚ３との距離ｄ（直線距離）が０となる。これに対し、射影変換（変形１）がアフィン変換以外の座標変換の場合、点Ｚ２と点Ｚ３とは一致しないため、図９Ｂに示される点Ｚ２と点Ｚ３との距離ｄは０よりも大きな値となる（なお、距離ｄは、ＰＤＦファイルでの基準解像度である７２ｄｐｉでの画素数（ドット数）に換算して評価される）。なお、アフィン変換の場合に点Ｚ２と点Ｚ３とが一致するのは、アフィン変換は、変換前の重心が変換後の重心に移される性質を有しているからであり、アフィン変換以外の変換の場合に点Ｚ２と点Ｚ３とが一致しないのは、変換前の四角形の重心が変換後の四角形の重心に移されるわけではないからである。
【００７８】
すなわち、点Ｚ２と点Ｚ３との間の距離ｄは、四角形ＰＱＲＳを四角形ＴＵＶＷに歪み補正する際、アフィン変換に限定せずに射影変換によって補正対象範囲を歪み補正する場合に対して前記射影変換をアフィン変換に限定して歪み補正する場合において、所定画素（四角形ＰＱＲＳの重心）の補正後位置の誤差の代表値と考えることができる。
【００７９】
四角形ＰＱＲＳおよび四角形ＴＵＶＷが、両方共、平行四辺形であれば、前記射影変換は必然的にアフィン変換になるため、距離ｄはゼロになる。
【００８０】
これに対し、四角形ＴＵＶＷが平行四辺形である一方、四角形ＰＱＲＳが非平行四辺形であれば、前記射影変換はアフィン変換以外の座標変換になる。ただし、この場合に距離ｄが小さければ、四角形ＰＱＲＳは平行四辺形に近似する形状と考えることができ、このような場合なら、アフィン変換以外の射影変換で補正を行う場合とアフィン変換で補正を行う場合との間で補正精度の差が僅かであり、アフィン変換にて補正を行っても問題ないと考えることができる。
【００８１】
ところが、四角形ＴＵＶＷが平行四辺形であっても、距離ｄが大きくなると、四角形ＰＱＲＳは平行四辺形から離れた形状となり、アフィン変換以外の射影変換で補正を行う場合とアフィン変換で補正を行う場合との間で補正精度の差が目立つことになり、アフィン変換にて補正を行うと違いが際立つことになると考えられる。
【００８２】
そこで、本実施形態では、描画コマンド生成部１００は、Ｓ１０４において、補正対象範囲６０について、点Ｚ２と点Ｚ３との間の距離ｄを補正誤差として示した第１誤差情報を求め、Ｓ１０５において、補正誤差が許容範囲か否かを判定するようになっている。
【００８３】
具体的には、描画コマンド生成部１００は、Ｓ１０３にて設定した補正対象範囲６０を補正後表示範囲７０（例えばＡ４用紙）に射影変換（アフィン変換に限らない）する場合の歪み補正行例と、補正対象範囲６０の物理的重心の座標値と、補正後表示範囲７０の物理的重心の座標値とを求める。なお、歪み補正行例の求め方は〔前提技術〕の項にて説明したとおりである。すなわち、補正対象範囲６０の４つの頂点の座標値を変換前の座標値とし、補正後表示範囲７０の４つの頂点を変換後の座標値として、歪み補正行列を求める。ここで求めた歪み補正行列（補正対象範囲６０を補正後表示範囲７０へ変換する歪み補正行列）は以降の処理でも用いるため、この歪み補正行列を行列Ａとして記憶部１４に記憶しておく。また、図９Ａの四角形ＰＱＲＳを補正対象範囲６０とし、四角形ＴＵＶＷを補正後表示範囲７０とすると、図９ＡのＺ１が補正対象範囲６０の物理的重心となり、図９ＡのＺ２が補正後表示範囲７０の物理的重心となる。
【００８４】
続いて、描画コマンド生成部１００は、行列Ａと、補正対象範囲６０の物理的重心（重心位置）の座標値とを用いて、行列Ａによって補正対象範囲６０の物理的重心を移動させた後の位置（移動後位置とも称する）の座標値を求める（図９Ａの位置Ｚ３が移動後位置に相当する）。そして、描画コマンド生成部１００は、Ｓ１０３にて設定した補正対象範囲６０についての第１誤差情報として、補正後表示範囲７０（目標範囲）の物理的重心（重心位置）と、移動後位置との距離ｄを求める。
【００８５】
Ｓ１０４の後、描画コマンド生成部１００は、Ｓ１０４にて求めた第１誤差情報に対して閾値処理を行うことにより、第１誤差情報に示されている補正誤差が許容範囲内か否かを判定する（Ｓ１０５）。例えば、描画コマンド生成部１００は、第１誤差情報と予め設定されている閾値とを対比し、第１誤差情報が閾値未満であれば補正誤差が許容範囲内であると判定し、第１誤差情報が閾値以上であれば補正誤差が許容範囲内にないと判定するようになっている。なお、第１誤差情報（距離ｄ）を、ＰＤＦファイルでの基準解像度である７２ｄｐｉでの画素数（ドット数）に換算して評価する場合、第１誤差情報と対比される閾値として、例えば１が設定される。
【００８６】
描画コマンド生成部１００は、補正誤差が許容範囲内であると判定した場合（Ｓ１０５にてＹＥＳ）、撮影画像を表示する際にマスク領域（非表示領域）とする範囲を指定する（Ｓ１０６）。Ｓ１０６では、描画コマンド生成部１００は、Ｓ１０３にて設定された補正後表示範囲よりも外側の範囲をマスク領域として指定する。
【００８７】
続いて、描画コマンド生成部１００は、補正対象範囲６０に対する描画コマンドを生成する（Ｓ１０７）。具体的には、以下の通りである。
【００８８】
まず、描画コマンド生成部１００は、Ｓ１０３にて設定された補正対象範囲６０を用いてアフィン変換用の歪み補正行列を求める。具体的には、以下のようにして歪み補正行列を求める。描画コマンド生成部１００は、補正対象範囲６０において内角が最も直角に近い頂点を特定し、補正対象範囲６０の４つの辺のうち、特定された頂点から延びる第１の辺および第２の辺を抽出する。描画コマンド生成部１００は、第１の辺と、第２の辺と、第１の辺に平行な第３の辺と、第２の辺に平行な第４の辺とからなる平行四辺形を設定する。例えば、図３に示す符号２００に示す範囲が補正対象範囲６０である場合、左辺２０１および下辺２０２が第１の辺および第２の辺として抽出され、図５Ａに示す平行四辺形２００ｂが設定されるようになっている。なお、内角が最も直角に近い頂点が複数ある場合、いずれか一つが無作為に抽出される。
【００８９】
なお、描画コマンド生成部１００は、補正対象範囲６０において内角が最も直角に近い頂点から延びる２つの辺を抽出しているが、補正対象範囲６０のいずれかの頂点から延びる２つの辺を抽出するようになっていればよく、特に内角が最も直角に近い頂点から延びる２つの辺に限定されるものではない。
【００９０】
そして、描画コマンド生成部１００は、以上のようにして設定した平行四辺形の４つの頂点の座標値を変換前座標値とし、Ｓ１０３にて設定された補正後表示範囲（例えばＡ４）の４つの頂点の座標値を変換後座標値として、アフィン変換の歪み補正行列を求める。
【００９１】
歪み補正行列が求められた後、描画コマンド生成部１００は、補正対象範囲６０に対する描画コマンドを生成する。具体的には、描画コマンド生成部１００は、求めた歪み補正行列に応じたアフィン変換を画像データに施し、Ｓ１０６のマスク領域（補正後表示範囲７０より外側の範囲）を非表示にした上で（マスク領域を隠す）、表示処理を行うようにコンピュータを制御する描画コマンドを生成する（Ｓ１０７）。
【００９２】
図１４は、Ｓ１０７にて指定される描画コマンドを示した模式図である。図１４の（１）は、マスク領域を非表示にする（描画される範囲をコマンドで指定された範囲に限定する）ことを示しており、図１４の（２）は、アフィン変換を示しており、図１４の（３）は、画像の描画（表示処理）を示している。
【００９３】
Ｓ１０７が行われるとＳ１２０へ移行する。Ｓ１２０において、フォーマット化処理部１０１が、歪み補正行列による処理が施されていない撮影画像の画像データを埋め込んだＰＤＦファイルを作成し、描画コマンド生成部１００が、Ｓ１０７にて生成した描画コマンドをＰＤＦファイルに付加するようになっている。その後、このＰＤＦファイルは記憶部１４に保存される。
【００９４】
Ｓ１０６およびＳ１０７を経由して生成されたＰＤＦファイルを開く指示がユーザから入力されると、Ｓ１０７にて生成された描画コマンドに応じた描画処理が行われることになる。すなわち、当該ＰＤＦファイルを処理するコンピュータは、単一の歪み補正行列を用いて画像データにアフィン変換を施し、補正後表示範囲７０より外側の範囲をマスクしつつ画像データの画像を表示するようになっている。つまり、補正後表示範囲７０内の画像が表示される。
【００９５】
つぎに、Ｓ１０５においてＮＯの場合について説明する。描画コマンド生成部１００は、補正対象範囲６０について求めた第１誤差情報の補正誤差が許容範囲内でないと判定した場合（Ｓ１０５にてＮＯ）、補正後表示範囲に対して分割処理を行って４つの補正後分割範囲を生成し、且つ、補正対象範囲６０に対して分割処理を行って４つの分割範囲を生成する（Ｓ１０８）。以下、Ｓ１０８の処理内容を詳細に説明する。
【００９６】
最初に、描画コマンド生成部１００は、図１０に示すように、補正後表示範囲７０を４分割して、４つの補正後分割範囲を生成する。具体的には、描画コマンド生成部１００は、補正後表示範囲７０の上辺７１、下辺７２、右辺７３、左辺７４の各々の中点を検出する。図１０において、中点７１ｍが上辺７１の中点になり、中点７２ｍが下辺７２の中点になり、中点７３ｍが右辺７３の中点であり、中点７４ｍが左辺７４の中点である。
【００９７】
続いて、描画コマンド生成部１００は、補正後表示範囲７０において対辺の関係にある２辺の中点同士を繋いだ直線を設定する。つまり、上辺７１と下辺７２との間にてこれら各辺の中点同士を繋いだ直線ｈ３と、左辺７４と右辺７３との間にてこれら各辺の中点同士を繋いだ直線ｈ４とが設定される。これに加えて、描画コマンド生成部１００は、直線ｈ３と直線ｈ４との交点７０ｋを検出するようになっている。なお、図１０の交点７０ｋは、Ｓ１０４にて求めた補正後表示範囲７０の物理的重心に相当する。具体的には、図９Ａの四角形ＴＵＶＷを補正後表示範囲７０とすると、図１０の交点７０ｋは図９Ａの物理的重心Ｚ２に対応し、図１０の直線ｈ３は図９Ａの直線Ｈ３に相当し、図１０の直線ｈ４は図９Ａの直線Ｈ４に対応する。つまり、描画コマンド生成部１００は、Ｓ１０４にて補正後表示範囲７０の物理的重心を求めた際の演算経過を記憶しておき、この演算経過を参照して、中点７１ｍ、７２ｍ、７３ｍ、７４ｍ、直線ｈ３、ｈ４、交点７０ｋを検出するようになっていてもよい。
【００９８】
つぎに、描画コマンド生成部１００は、図１０に示すように、補正後表示範囲７０の４つの頂点７５〜７８、中点７１ｍ、７２ｍ、７３ｍ、７４ｍ、交点７０ｋを用いて、補正後表示範囲７０を４つの補正後分割範囲に分割する。具体的には、補正後表示範囲７０の右上頂点７５と中点７１ｍと中点７３ｍと交点７０ｋとを頂点とする四角形からなる補正後分割範囲７０ａと、補正後表示範囲７０の右下頂点７６と中点７３ｍと中点７２ｍと交点７０ｋとを頂点とする四角形からなる補正後分割範囲７０ｂと、補正後表示範囲７０の左下頂点７７と中点７２ｍと中点７４ｍと交点７０ｋとを頂点とする四角形からなる補正後分割範囲７０ｃと、補正後表示範囲７０の左上頂点７８と中点７４ｍと中点７１ｍと交点７０ｋとを頂点とする四角形からなる補正後分割範囲７０ｄとが生成される。
【００９９】
つまり、補正後表示範囲７０は、（１）上辺７１と、右辺７３と、直線ｈ４と、直線ｈ３とに囲まれる補正後分割範囲７０ａと、（２）右辺７３と、下辺７２と、直線ｈ４と、直線ｈ３とに囲まれる補正後分割範囲７０ｂと、（３）下辺７２と、左辺７４と、直線ｈ４と、直線ｈ３とに囲まれる補正後分割範囲７０ｃと、（４）左辺７４と、上辺７１と、直線ｈ４と、直線ｈ３とに囲まれる補正後分割範囲７０ｄとに分割されるようになっている。
【０１００】
以上のようにして補正後表示範囲７０が４分割されて補正後分割範囲７０ａ〜７０ｄが生成された後、描画コマンド生成部１００は、補正対象範囲６０を４分割して、４つの分割範囲を生成する。具体的には以下の通りである。
【０１０１】
まず、描画コマンド生成部１００は、Ｓ１０４にて第１誤差情報を生成するために使用した行列Ａ（補正対象範囲６０を補正後表示範囲７０に射影変換する歪み補正行列）を記憶部１４から読み出し、行列Ａの逆行列を求める。行列Ａの逆行列は以降の処理でも用いるため、描画コマンド生成部１００は、行列Ａの逆行列を行列Ｂとして記憶部１４に記憶しておく。
【０１０２】
続いて、描画コマンド生成部１００は、補正後表示範囲７０の中点７１ｍ、７２ｍ、７３ｍ、７４ｍ、および、交点７０ｋの５つの点に対して前記行列Ｂにて座標変換を行うことにより、点６１ｍ、６２ｍ、６３ｍ、６４ｍ、６０ｋを求める（図１０参照）。点６１ｍは中点７１ｍの変換結果であり、点６２ｍは中点７２ｍの変換結果であり、点６３ｍは中点７３ｍの変換結果であり、点６４ｍは中点７４ｍの変換結果であり、点６０ｋは交点７０ｋの変換結果である。つまり、点６１ｍ、６２ｍ、６３ｍ、６４ｍ、６０ｋは、夫々、補正対象範囲６０から補正後表示範囲７０へ射影変換される前の中点７１ｍ、７２ｍ、７３ｍ、７４ｍ、交点７０ｋの位置に対応している。なお、点６１ｍ、６２ｍ、６３ｍ、６４ｍ、６０ｋは、補正対象範囲６０が示される撮影画像（処理対象）上の１画素と一致する位置に変換されるとも限らないため、これらの座標値は、整数値とならない場合もあるが、整数化せずに少数のまま用いられる。
【０１０３】
なお、点６１ｍは、辺６１の中点上に位置するとは限らない。同様に、点６２ｍは、下辺６２の中点上に位置するとは限らない。また同様に、点６３ｍは、右辺６３の中点上に位置するとは限らない。また同様に、点６４ｍは、左辺６４の中点上に位置するとは限らない。また、点６０ｋは、補正対象範囲６０の物理的重心と一致するとは限らない。
【０１０４】
続いて、描画コマンド生成部１００は、図１０に示すように、補正対象範囲６０の４つの頂点６５〜６８、点６１ｍ、６２ｍ、６３ｍ、６４ｍ、６０ｋを用いて、補正対象範囲６０を４つの分割範囲に分割する。
【０１０５】
具体的には、補正対象範囲６０は、補正対象範囲６０の右上頂点６５と点６１ｍと点６３ｍと点６０ｋとを頂点とする四角形からなる分割範囲６０ａと、補正対象範囲６０の右下頂点６６と点６３ｍと点６２ｍと点６０ｋとを頂点とする四角形からなる分割範囲６０ｂと、補正対象範囲６０の左下頂点６７と点６２ｍと点６４ｍと点６０ｋとを頂点とする四角形からなる分割範囲６０ｃと、補正対象範囲６０の左上頂点６８と点６４ｍと点６１ｍと点７０ｋとを頂点とする四角形からなる分割範囲６０ｄとに分割される。
【０１０６】
Ｓ１０８の後、描画コマンド生成部１００は、４つの分割範囲６０ａ〜６０ｄのうちのいずれか一つを処理対象として選択する。そして、描画コマンド生成部１００は、処理対象として選択した分割範囲について第２誤差情報（第２差情報）を算出する（Ｓ１０９）。第２誤差情報は、第１誤差情報と同様に補正誤差を示した値であるが、対象を補正対象範囲ではなく分割範囲としている点で第１誤差情報と異なる。つまり、第２誤差情報は、射影変換によって分割範囲を歪み補正する場合に対して前記射影変換をアフィン変換に限定して歪み補正する場合の誤差（補正誤差）を示した値である（言い換えると、第２誤差情報は、分割範囲を射影変換にて歪み補正する場合とアフィン変換にて歪み補正する場合との差を示した値ともいえる）。以下、Ｓ１０９の処理を具体的に説明する。
【０１０７】
例えば、描画コマンド生成部１００は、図１０の補正対象範囲６０から分割される４つの分割範囲６０ａ〜６０ｄのうち、最も右側且つ最も上側の分割範囲６０ａを処理対象として選択したものとする。この場合、描画コマンド生成部１００は、補正後表示範囲７０から分割される４つの補正後分割範囲７０ａ〜７０ｄのうち、処理対象となる分割範囲６０ａに対応する補正後分割範囲７０ａを抽出する。つまり、描画コマンド生成部１００は、補正対象範囲６０に対する分割範囲６０ａの位置関係（最も右側且つ最も上側の分割範囲）を参照し、補正後表示範囲７０の４つの補正後分割範囲７０ａ〜７０ｄのうち、補正後表示範囲７０に対して前記の位置関係と同様の位置関係を有する補正後分割範囲７０ａを抽出するようになっている。
【０１０８】
そして、描画コマンド生成部１００は、分割範囲６０ａの物理的重心の座標値と、補正後分割範囲７０ａの物理的重心の座標値とを求める。例えば図９Ａの四角形ＰＱＲＳを分割範囲６０ａとし、四角形ＴＵＶＷを補正後分割範囲７０ａとすると、図９ＡのＺ１が分割範囲６０ａの物理的重心となり、図９ＡのＺ２が補正後分割範囲７０ａの物理的重心となる。さらに、描画コマンド生成部１００は、記憶部１４に記憶されている行列Ａを用いて、分割範囲６０ａの物理的重心を移動させた後の位置（移動後位置）の座標値を求めるようになっている。
【０１０９】
そして、描画コマンド生成部１００は、分割範囲６０ａについての第２誤差情報として、補正後分割範囲７０ａ（目標範囲）の物理的重心（重心位置）と、分割範囲６０ａの物理的重心（重心位置）を行列Ａによって移動させた後の移動後位置との距離を求める。
【０１１０】
以上のようにして第２誤差情報が算出された後（Ｓ１０９）、描画コマンド生成部１００は、Ｓ１０９にて求めた第２誤差情報に対して閾値処理を行うことにより、処理対象の分割範囲６０ａについての補正誤差が許容範囲内か否かを判定する（Ｓ１１０）。Ｓ１１０の閾値処理は、Ｓ１０５の閾値処理と同様であり、閾値も同値であるとする。つまり、第２誤差情報と予め設定されている閾値とを対比し、第２誤差情報が閾値未満であれば補正誤差が許容範囲内であると判定し、第２誤差情報が閾値以上であれば補正誤差が許容範囲内にないと判定するようになっている。
【０１１１】
描画コマンド生成部１００は、分割範囲６０ａについての補正誤差が許容範囲内であると判定する場合（Ｓ１１０にてＹＥＳ）、現時点にて生成されている全ての分割範囲について第２誤差情報を算出済か否かを判定する（Ｓ１１１）。ここでは、図１０Ａに示される４つの分割範囲６０ａ〜６０ｄのうち分割範囲６０ａについてのみ第２誤差情報が算出済であるため、描画コマンド生成部１００は、現時点にて生成されている全ての分割範囲について第２誤差情報を算出済でないと判定し（Ｓ１１１にてＮＯ）、処理対象を、分割範囲６０ａから次の分割範囲（第２誤差情報を未算出の分割範囲）へ変更した上で（Ｓ１１２）、Ｓ１０９以降の処理を繰り返す。
【０１１２】
また、Ｓ１１０において、描画コマンド生成部１００は、処理対象の分割範囲６０ａについての補正誤差が許容範囲内でないと判定する場合（Ｓ１１０にてＮＯ）、Ｓ１０８に移行して、補正誤差が許容範囲内でない分割範囲６０ａ（図１０参照）と、この分割範囲６０ａに対応する補正後分割範囲７０ａとをさらに分割する。具体的には、図１１に示すように、分割範囲６０ａから新たな４つの分割範囲６０ａ１〜６０ａ４が生成され、補正後分割範囲７０ａから新たな４つの補正後分割範囲７０ａ１〜７０ａ４が生成されるようになっている。
【０１１３】
Ｓ１０８における分割範囲６０ａおよび補正後分割範囲７０ａに対する分割の手法は、補正対象範囲６０および補正後表示範囲７０に対する分割の手法と同じである（分割対象が補正対象範囲６０および補正後表示範囲７０から分割範囲６０ａおよび補正後分割範囲７０ａに代るだけで、処理内容は同じである）。
【０１１４】
つまり、図１１に示される分割範囲６０ａおよび補正後分割範囲７０ａの分割手法は以下の通りである。まず、描画コマンド生成部１００は、図１１に示されるように、補正後分割範囲７０ａの上辺の中点１７１ｍ、補正後分割範囲７０ａの下辺の中点１７２ｍ、補正後分割範囲７０ａの右辺の中点１７３ｍ、補正後分割範囲７０ａの左辺の中点１７４ｍを設定する。
【０１１５】
また、描画コマンド生成部１００は、補正後分割範囲７０ａにおいて対辺の関係にある２辺の中点同士を繋いだ直線を設定する。具体的には、中点１７１ｍと中点１７２ｍとを繋いだ直線ｈ１３と、中点１７３ｍと中点１７４ｍとを繋いだ直線ｈ１４とが設定される。また、描画コマンド生成部１００は、直線ｈ１３と直線ｈ１４との交点１７０ｋ（補正後分割範囲７０ａの物理的重心）を検出する。
【０１１６】
続いて、描画コマンド生成部１００は、図１１に示すように、補正後分割範囲７０ａの４つの頂点、中点１７１ｍ、１７２ｍ、１７３ｍ、１７４ｍ、交点１７０ｋを用いて、補正後分割範囲７０ａを４つの補正後分割範囲７０ａ１〜７０ａ４に分割する。具体的には、補正後分割範囲７０ａの右上頂点（符号７５）と中点１７１ｍと中点１７３ｍと交点１７０ｋとを頂点とする四角形からなる補正後分割範囲７０ａ１と、補正後分割範囲７０ａの右下頂点（符号７３ｍ）と中点１７３ｍと中点１７２ｍと交点１７０ｋとを頂点とする四角形からなる補正後分割範囲７０ａ２と、補正後分割範囲７０ａの左下頂点（符号７０ｋ）と中点１７２ｍと中点１７４ｍと交点１７０ｋとを頂点とする四角形からなる補正後分割範囲７０ａ３と、補正後表示範囲７０の左上頂点（符号７１ｍ）と中点１７４ｍと中点１７１ｍと交点１７０ｋとを頂点とする四角形からなる補正後分割範囲７０ａ４とが生成される。
【０１１７】
以上のようにして補正後分割範囲７０ａが４分割されて補正後分割範囲７０ａ１〜７０ａ４が生成された後、分割範囲６０ａが４分割されて４つの分割範囲６０ａ１〜６０ａ４が生成される。具体的には以下の通りである。
【０１１８】
まず、描画コマンド生成部１００は、補正後分割範囲７０ａの中点１７１ｍ、１７２ｍ、１７３ｍ、１７４ｍ、および、交点１７０ｋの５つの点に対して、記憶部１４に記憶されている行列Ｂにて座標変換を行うことにより、点１６１ｍ、１６２ｍ、１６３ｍ、１６４ｍ、１６０ｋを求める（図１１参照）。点１６１ｍは中点１７１ｍの変換結果であり、点１６２ｍは中点１７２ｍの変換結果であり、点１６３ｍは中点１７３ｍの変換結果であり、点１６４ｍは中点１７４ｍの変換結果であり、点１６０ｋは交点１７０ｋの変換結果である。つまり、点１６１ｍ、１６２ｍ、１６３ｍ、１６４ｍ、１６０ｋは、夫々、分割範囲６０ａから補正後分割範囲７０ａへ射影変換される前の中点１７１ｍ、１７２ｍ、１７３ｍ、１７４ｍ、交点１７０ｋの位置に対応している。なお、図１１では、説明の便宜上、点１６１ｍ〜１６４ｍは、分割範囲６０ａの辺上の中点に位置しているが、分割範囲６０ａの辺上の中点に位置するとは限らないことは、図１０の補正対象範囲６０の場合と同様である。また、点１６０ｋが分割範囲６０ａの物理的重心に位置するとは限らない点も図１０の補正対象範囲６０の場合と同様である。
【０１１９】
続いて、描画コマンド生成部１００は、図１１に示すように、分割範囲６０ａの４つの頂点、点１６１ｍ、１６２ｍ、１６３ｍ、１６４ｍ、１６０ｋを用いて、分割範囲６０ａを４つの分割範囲６０ａ１〜６０ａ４に分割する。
【０１２０】
具体的には、分割範囲６０ａは、分割範囲６０ａの右上頂点（符号６５）と点１６１ｍと点１６３ｍと点１６０ｋとを頂点とする四角形からなる分割範囲６０ａ１と、分割範囲６０ａの右下頂点（符号６３ｍ）と点１６３ｍと点１６２ｍと点１６０ｋとを頂点とする四角形からなる分割範囲６０ａ２と、分割範囲６０ａの左下頂点（符号６０ｋ）と点６２ｍと点６４ｍと点１６０ｋとを頂点とする四角形からなる分割範囲６０ａ３と、分割範囲６０ａの左上頂点（符号６１ｍ）と点１６４ｍと点１６１ｍと点１６０ｋとを頂点とする四角形からなる分割範囲６０ａ４とに分割される。
【０１２１】
このようにして、補正後分割範囲７０ａおよび分割範囲６０ａに対するさらなる分割が行われて、新たな補正後分割範囲７０ａ１〜７０ａ４および分割範囲６０ａ１〜６０ａ４が生成される。
【０１２２】
描画コマンド生成部１００は、以上のようにして新たな分割範囲および補正後分割範囲を生成すると（Ｓ１０８）、現時点で生成されている全ての分割範囲のうち、第２誤差情報が未算出の分割範囲を処理対象として定め、Ｓ１０９以降の処理を繰り返すようになっている。
【０１２３】
そして、Ｓ１１１において、描画コマンド生成部１００は、現時点で生成されている全ての分割範囲について第２誤差情報を算出済であると判定する場合、処理をＳ１１３に移行させる。なお、Ｓ１１１の時点で生成されている全ての分割範囲について第２誤差情報を算出済であるということは、Ｓ１１１の時点で生成されている全ての分割範囲の補正誤差は許容範囲内と判定されたことになる。
【０１２４】
つぎに、Ｓ１１３について説明する。Ｓ１１３において、描画コマンド生成部１００は、これまでに生成された分割範囲を２つの部分領域にさらに分割する処理を行う。この処理を以下詳細に説明する。
【０１２５】
例えば、これまでに生成された分割範囲は図１０に示されるように４つであり、そのうちの一つが分割範囲６０ａであるものとする。ここで、描画コマンド生成部１００は、図１２に示すように、分割範囲６０ａについて一本の対角線を設定し、分割範囲６０ａを、対角線を挟んで互いに対向する部分領域６０ａａと部分領域６０ａｂとに分割する。ここで、対角線は、左上頂点と右下頂点とを結ぶ直線と、右上頂点と左下頂点とを結ぶ直線とのいずれであってもよいが、本実施形態では左上頂点と右下頂点とを結ぶ直線に設定される。
【０１２６】
つまり、分割範囲６０ａは、図１２に示すように、分割範囲６０ａの対角線と分割範囲６０ａの上辺と分割範囲６０ａの右辺とからなる三角形である部分領域６０ａａと、前記の対角線と分割範囲６０ａの下辺と分割範囲６０ａの左辺とからなる三角形である部分領域６０ａｂとに分割される。
【０１２７】
そして、描画コマンド生成部１００は、分割範囲６０ａのみならず、他の各分割範囲についても同様に２つの部分領域に分割する。したがって、図１０に示される４つの分割領域（四角形）は、図１３に示されるように８つの部分領域（三角形）に分割されることになる。
【０１２８】
また、描画コマンド生成部１００は、図１０に示される４つの補正後分割範囲についても、４つの分割範囲と同様に、２つの補正後部分領域に分割する。つまり、分割範囲６０ａに対応する補正後分割範囲７０ａは、図１２に示すように、左上頂点と右下頂点とを結ぶ対角線と補正後分割範囲７０ａの上辺と補正後分割範囲７０ａの右辺とからなる三角形である補正後部分領域７０ａａと、前記の対角線と補正後分割範囲７０ａの下辺と補正後分割範囲７０ａの左辺とからなる三角形である補正後部分領域７０ａｂとに分割される。また、補正後分割範囲７０ａのみならず、他の各補正後分割範囲についても同様に２つの部分領域に分割される。したがって、図１０に示される４つの補正後分割領域（四角形）は、図１３に示されるように８つの補正後部分領域（三角形）に分割されることになる。
【０１２９】
図１３に示すように部分領域および補正後部分領域が設定された後、描画コマンド生成部１００は、全ての部分領域のうちのいずれか一つの部分領域を処理対象として選択する。例えば、図１２に示される部分領域６０ａｂが処理対象として選択されたものとする。
【０１３０】
続いて、描画コマンド生成部１００は、処理対象の部分領域について、撮影画像を表示する際にマスク領域（非表示領域）とする範囲を指定する（Ｓ１１４）。Ｓ１１４では、描画コマンド生成部１００は、処理対象の部分領域６０ａｂに対応する補正後部分領域７０ａｂよりも外側の範囲をマスク領域として指定する。
【０１３１】
Ｓ１１４の後、描画コマンド生成部１００は、処理対象の部分領域６０ａｂに対する描画コマンドを生成する（Ｓ１１５）。具体的には、以下の通りである。
【０１３２】
まず、描画コマンド生成部１００は、処理対象の部分領域６０ａｂを用いてアフィン変換用の歪み補正行列を求める。具体的には、以下のようにして歪み補正行列を求める。三角形の部分領域６０ａｂからアフィン変換用の歪み補正行列を求めるためには、まず、三角形の部分領域６０ａｂを含む平行四辺形を設定する必要がある。具体的には、以下の通りである。
【０１３３】
描画コマンド生成部１００は、三角形の部分領域６０ａｂをなす３つの辺のうち（図１２参照）、分割範囲６０ａの対角線に相当する辺以外の第１の辺および第２の辺を抽出し、この第１の辺および第２の辺と、第１の辺に平行な辺と、第２の辺に平行な辺とからなる平行四辺形を設定する。なお、図１２において、前記第１の辺は分割範囲６０ａの左辺であり、前記第２の辺は分割範囲６０ａの下辺であり、前記第１の辺に平行な辺は破線Ｊであり、前記第２の辺に平行な辺は破線Ｋである。
【０１３４】
そして、描画コマンド生成部１００は、以上のようにして部分領域６０ａｂから設定した平行四辺形の４つの頂点の座標値を変換前座標値とし、部分領域６０ａｂに対応する補正後部分領域７０ａａが属する補正後分割範囲７０ａの４つの頂点の座標値を変換後座標値として、アフィン変換の歪み補正行列を求める。
【０１３５】
歪み補正行列が求められた後、描画コマンド生成部１００は、部分領域６０ａｂに対する描画コマンドを生成する。具体的には、描画コマンド生成部１００は、部分領域６０ａｂから求めた歪み補正行列に応じたアフィン変換を画像データに施し、Ｓ１１４にて指定したマスク領域（補正後部分領域７０ａｂより外側の範囲）を非表示にした上で（マスク領域を隠す）、表示処理を行うようにコンピュータを制御する描画コマンドを生成する（Ｓ１１５）。
【０１３６】
Ｓ１１５の後、描画コマンド生成部１００は、全ての部分領域に対して描画コマンドを生成したか否かを判定する（Ｓ１１６）。
【０１３７】
全ての部分領域に対して描画コマンドを生成していない場合（Ｓ１１６にてＮＯ）、描画コマンド生成部１００は、処理対象を、部分領域６０ａｂから次の部分領域（描画コマンドを生成していない部分領域）へ変更した上で（Ｓ１１７）、Ｓ１１４以降の処理を繰り返す。
【０１３８】
そして、全ての部分領域に対して描画コマンドの生成が完了した場合（Ｓ１１６にてＹＥＳ）、Ｓ１１６からＳ１２０に移行する。Ｓ１２０では、フォーマット化処理部１０１は、歪み補正行列による処理が施されていない撮影画像の画像データを埋め込んだＰＤＦファイルを作成し、描画コマンド生成部１００は、部分領域毎に生成した描画コマンドを全てＰＤＦファイルに付加するようになっている。その後、このＰＤＦファイルは記憶部１４に保存される。
【０１３９】
なお、図１５は、Ｓ１０８〜Ｓ１１８を経由して得られたＰＤＦファイルに埋め込まれる描画コマンドを示した模式図である。図１５の（４）〜（６）は、ある部分領域に対する描画コマンドであり、図１５の（７）〜（９）は、別の部分領域に対する描画コマンドである。（４）（７）は、マスク領域を非表示にすることを示しており、（５）（８）は、アフィン変換を示しており、（６）（９）は、画像の描画（表示処理）を示している。
【０１４０】
Ｓ１０８以降の処理を経由して生成されたＰＤＦファイルを開く指示がユーザから入力されると、Ｓ１１５にて部分領域毎に生成された描画コマンドに応じた描画処理が行われることになる。例えば、当該ＰＤＦファイルを処理するコンピュータは、部分領域６０ａａ（図１２または図１３参照）について設定された描画コマンドについて次のように処理を行うことになる。コンピュータは、部分領域６０ａａから設定された歪み補正行列を用いて画像データ（画像全体のデータ）にアフィン変換を施し、部分領域６０ａａに対応する補正後部分領域７０ａａより外側の範囲をマスクしつつ当該画像データの画像を表示する。このような処理が部分領域毎に生成された全ての描画コマンドについて行われる。これにより、図１３の各部分領域の画像は各補正後部分領域の画像に座標変換され、全ての補正後部分領域の画像を合成した画像（補正後表示範囲７０の画像）が表示されることになる。
【０１４１】
以上示した本実施形態のファイル生成処理によれば、補正対象範囲に対して単一の歪み補正行列を用いてアフィン変換を行うと補正誤差が大きくなってしまうような場合（つまり適切に歪み補正を行えない場合）、補正対象範囲を複数の部分領域に分割し、部分領域毎に歪み補正行列を設定することにより、補正誤差を抑えた歪み補正を実現することが可能になる（１つ当たりの歪み補正行列にて対応する範囲を分割して小さくすることにより、１つの歪み補正行列にて対応する範囲の補正誤差を小さくでき、全体として補正誤差を抑制できる）。したがって、画像を表示する際にアフィン変換にて歪み補正を行うようになっているＰＤＦファイルを生成する場合において、適切に歪み補正が行われるＰＤＦファイルを生成できるのである。
【０１４２】
図１９（ａ）は、図３の補正対象画像を射影変換によって歪み補正した出力画像であり、図１９（ｂ）は、図３の補正対象画像について本実施形態のファイル生成処理にて８つの部分領域に分割し、部分領域毎にアフィン変換によって歪み補正を行った出力画像である。図１９に示すように、アフィン変換であっても、複数の部分領域に分割して部分領域毎に変換を行えば、射影変換の場合と遜色のない出力画像を得られることがわかる。
【０１４３】
また、生成された四角形の分割範囲６０ａから歪み補正行列を求めてアフィン変換を施すと（図６と同様の手法で平行四辺形を設定して歪み補正行列を求める）、分割範囲の境界付近で歪みが大きくなるという不具合が生じることがある。これに対し、本実施形態では、四角形の分割範囲をさらに三角形に分割して、各三角形を部分領域として部分領域毎に歪み補正行列を求めることにより、以上のような不具合を抑制できるという効果がある。
【０１４４】
また、本実施形態のＳ１０８〜Ｓ１１２によれば、描画コマンド生成部１００は、分割処理にて生成される各分割範囲について第２誤差情報を求め、第２誤差情報に示される誤差が許容範囲内にない分割範囲を分割してさらに分割範囲を生成する処理を、全ての分割範囲において第２誤差情報の誤差が許容範囲内になるまで繰り返している。これにより、１つの歪み補正行列にて対応する範囲（部分領域）の補正誤差を許容範囲内に抑えることができ、且つ、全ての部分領域において補正誤差を許容範囲内に抑えるため、歪み補正を高精度に行うことができる。
【０１４５】
また、本実施形態によれば、ＰＤＦファイル生成時には、歪み補正行列を求めるものの、歪み補正行列を用いた補正（画素変換）までは行われないので、コンピュータの負荷を低減でき、速やかに画像ファイルを生成できるのである（歪み補正行列を求める処理は負荷が重くないが、画素変換は負荷が重い）。
【０１４６】
また、本実施形態によれば、ＰＤＦファイルに埋め込まれる画像データは歪み補正前のデータ（元データ）であるため、歪み補正前のデータを残しておけるというメリットがある。すなわち、生成されたＰＤＦファイルにおける歪み補正が適切でない場合、元データを用いてＰＤＦファイルを再作成するといったことが可能になる。
【０１４７】
また、本実施形態において、生成されたＰＤＦファイルは一旦記憶部１４に記憶されることになるが、当該ＰＤＦファイルは、記憶部１４に一旦記憶された後、ユーザに指定される送信先に送信されるようになっていても勿論かまわない。なお、送信先としては、ＰＤＦファイルの画像を表示可能なアプリケーションがインストールされている装置であれば特に限定されない。すなわち、汎用のパソコン、各種携帯端末、サーバ装置、複合機等が挙げられる。
【０１４８】
また、本実施形態では、Ｓ１０３において、定型の用紙サイズから補正後表示範囲７０が選択されているが、定型の用紙サイズに限られるものではなく、例えばタッチパネル１２を用いてユーザが任意の四角形を補正後表示範囲として設定するようになっていてもよい。
【０１４９】
また、本実施形態のファイル生成モードにて生成されたＰＤＦファイルによれば、Ｓ１０８〜Ｓ１１６の処理を経由した場合には複数の部分領域が形成され、部分領域毎に設定される歪み補正行例に応じて部分領域毎に歪み補正が行われる。ここで、部分領域毎に設定される歪み補正行例に応じて部分領域毎に歪み補正が行われていることは、表示されている画像からではわからなくてもＰＤＦファイルに記述されている描画コマンドを分析すれば明らかである。すなわち、図１５に示すように、歪み補正やマスク指定に関する描画コマンドが部分領域毎に記述されている事が特定されれば、本実施形態のファイル生成モードにおけるＳ１０８〜Ｓ１１６の処理を経由して生成されたＰＤＦファイルである事が明らかである。
【０１５０】
〔実施形態２〕
実施形態１のＳ１０８〜Ｓ１１１によれば、全ての分割範囲において補正誤差が許容範囲になるまで分割処理が繰り返されるようになっているが、このような形態では、分割範囲および補正後分割範囲の数が多くなり過ぎることがあり、その場合はＰＤＦファイルの画像を表示させる際に処理遅延が生じることになる。そこで、Ｓ１０８〜Ｓ１１１を採用するのではなく、Ｓ１０５の後、描画コマンド生成部１００は、Ｓ１０４にて求めた第１誤差情報の補正誤差（距離ｄ）に応じて分割範囲および補正後分割範囲の数を設定し、設定した数の分割範囲および補正後分割範囲を生成してＳ１１３に移行するようになっていてもよい。
【０１５１】
例えば、描画コマンド生成部１００は、図１８（ａ）〜図１８（ｃ）に示すように、補正後表示範囲において対辺の関係にある２辺をｎ等分する分割用直線（破線）を生成し、この分割用直線に基づいて補正後表示範囲を分割するようになっている。
【０１５２】
そして、第１誤差情報の補正誤差である距離ｄが１＜ｄ≦５の場合、図１８（ａ）のようにｎ＝２が設定される。この場合、実施形態１における１回目の分割処理と同様に処理が行われ、補正後表示範囲７０１が４分割され、補正対象範囲６０１も４分割される。但し、実施形態１では、場合によっては２回目の分割が行われるものの、ここでは２回目の分割は行われない。
【０１５３】
距離ｄが５＜ｄ≦１０の場合、図１８（ｂ）のようにｎ＝３が設定され、補正後表示範囲７０２が９個の補正後分割範囲へ分割される。また、この場合、補正後表示範囲７０２の各辺をｎ等分する分割用直線（破線）同士の交点、および、分割用直線（破線）と補正後表示範囲７０２の各辺との交点が、補正対象範囲６０２を補正後表示範囲７０２に射影変換するための歪み補正行列の逆行列によって座標変換される。図１８の（ｂ）の補正後表示範囲７０２上に示される黒丸箇所が逆行列による変換前の交点であり、図１８の（ｂ）の補正対象範囲６０２上に示される黒丸箇所が逆行列による変換後の交点である。
【０１５４】
続いて、図１８（ｂ）に示すように、補正対象範囲６０２を分割することにより、補正後表示範囲７０２上の各補正後分割範囲に対応する各分割範囲を生成する。
【０１５５】
具体的には、図１８（ｂ）の第１補正後分割範囲７０２ａのように４つの頂点が全て前記交点（黒丸箇所）であれば、これら交点を前記逆行列で変換した各交点を各頂点とする四角形の第１分割範囲６０２ａが第１補正後分割範囲７０２ａに対応する分割範囲として形成される。
【０１５６】
また、図１８（ｂ）の第２補正後分割範囲７０２ｂのように、１つの頂点が補正後表示範囲７０２の頂点（白丸箇所）と一致する場合、当該補正後表示範囲７０２の頂点と位置関係が同じである補正対象範囲６０２の頂点（白丸箇所）を１つの頂点とする第２分割範囲６０２ｂが第２補正後分割範囲７０２ｂに対応する分割範囲として形成される。
例えば、第２補正後分割範囲７０２ｂの１つの頂点が補正後表示範囲７０２の左下頂点と一致する場合、補正対象範囲６０２の左下頂点を１つの頂点とする第２分割範囲６０２ｂが形成される。なお、この場合、第２分割範囲６０２ｂの３つの頂点は、第２補正後分割範囲７０２ｂの３つの頂点（前記交点（黒丸箇所））を前記逆行列で変換して得られる点に一致する。
【０１５７】
このようにすれば、補正後表示範囲７０２上の各補正後分割範囲に対応する各分割範囲を形成できる。
【０１５８】
また、距離ｄがｄ＞１０の場合、図１８（ｃ）のようにｎ＝４が設定され、補正後表示範囲７０３が１６個の補正後分割範囲へ分割される。また、この場合も、補正後表示範囲７０３の各辺をｎ等分する分割用直線（破線）同士の交点、および、分割用直線（破線）と補正後表示範囲７０３の各辺との交点が、補正対象範囲６０３を補正後表示範囲７０３に射影変換するための歪み補正行列の逆行列によって座標変換される。続いて、座標変換にて得られた交点を用いて、補正対象範囲６０３を分割することにより、補正後表示範囲７０３上の各補正後分割範囲に対応する各分割範囲を生成する。なお、分割範囲の生成手法は、図１８（ｂ）の場合と同様である。
【０１５９】
以上にて説明した本実施形態の分割手法によれば、第１誤差情報の補正誤差に応じて分割範囲の数が設定（調整）されることになる。この形態の場合、実施形態１よりも分割範囲の補正誤差が若干大きくなるが、設定される補正後分割範囲の数および分割範囲の数の上限が決められているため、補正後分割範囲の数および分割範囲の数が多くなり過ぎるという問題を抑制できる。
【０１６０】
〔実施形態３〕
また、分割範囲の数および補正後分割範囲の数が多くなり過ぎるという問題を抑制するための構成としては、実施形態２の他に、以下に示す形態が挙げられる。
【０１６１】
本実施形態では、分割範囲の数に対する閾値として規定数（例えば３２）が予め設定される。描画コマンド生成部１００は、Ｓ１１０にてＮＯと判定した後、Ｓ１０８の分割処理を行う前に、当該分割処理を行うと分割範囲の総数が規定値を超えるか否かを判定するようになっている。
【０１６２】
描画コマンド生成部１００は、規定数を超えないと判定する場合、そのままＳ１０８の分割処理を行い、Ｓ１０９に移行するようになっている。
【０１６３】
これに対し、描画コマンド生成部１００は、規定数を超えると判定する場合、このまま分割すると規定数を超過する事を示す警告画像をタッチパネル１２に表示してユーザに通知する。また、この警告画像においては、（１）分割範囲の総数が規定値を超えても分割処理を行う第１オプションと、（２）以後の分割処理を中止することにより前記分割範囲の総数を規定値以内に抑えてＳ１１３に移行する第２オプションと、（３）ＰＤＦファイルの生成自体を中止する第３オプションとのうちのいずれかをユーザに選択させるためのＵＩが表示されるようになっている。
【０１６４】
ユーザが第１オプションを選択すると、分割範囲の総数が規定値を超えても、実施形態１と同様に、全ての分割範囲について第２誤差情報の誤差が許容範囲内になるまで分割処理が繰り返される。ユーザが第２オプションを選択すると、Ｓ１０８〜Ｓ１１２がスキップされ、Ｓ１１３に移行される。この場合、生成済の全ての分割範囲のうち、第２誤差情報の誤差が許容範囲を超えている分割範囲が残存することになるものの、分割範囲の総数を抑制できることになる。また、ユーザが第３オプションを選択すると、ファイル生成モード自体が中断される（ＰＤＦファイルの生成自体を中止する）。
【０１６５】
本実施形態によれば、分割範囲の総数が規定値を超えてでも分割を行うことで補正精度を優先するか、それとも、分割範囲の総数を規定値に抑えることで表示速度を優先するか、あるいは、画像ファイルの生成自体を中止するかを、ユーザに選択させることができるというメリットを有する。
【０１６６】
〔実施形態４〕
Ｓ１０８以降の処理を経由して生成されたＰＤＦファイルの画像を表示する場合、ＰＤＦ表示プログラムの種類や表示倍率によっては、補正後部分領域同士（図１３参照）の境界に隙間が生じるという表示不具合が発生する場合がある。図１７Ａは、当該表示不具合を示した図である。図１７Ａにおいては、ライン状のノイズが表示不具合として示されている。
【０１６７】
そこで、描画コマンド生成部１００は、ある部分領域について生成される描画コマンドにおいて、当該部分領域に対応する補正後部分領域（補正後目標部分領域）を含み且つ当該補正後部分領域よりも広い範囲について表示処理（描画）が行われるようにマスク領域を設定し、全ての描画コマンドにおいて同様にマスク領域を設定するようになっていてもよい。このようにすれば、第１の補正後部分領域に基づく表示範囲が第１の補正後部分領域の隣に位置する第２の補正後部分領域にまで拡張されるため、第１の補正後部分領域と第２の補正後部分領域との間の境界に隙間が生じるという不具合を抑制できる。図１７Ｂは、以上のようにマスク領域を設定した場合の表示画像を示す。図１７Ｂにおいては図１７Ａの表示不具合が解消されている。
【０１６８】
なお、本実施形態のようにマスク領域を指定する場合、補正後部分領域同士の境界において、補正後部分領域同士のオーバーラップが生じるが、オーバーラップの部分については、後から描画される内容が上書き表示され、もともと補正前画像でほぼ同じ位置の画素であるため、違和感は生じない。
【０１６９】
また、図１６は、本実施形態の処理によって部分領域毎に生成される描画コマンドを示した図である。図１６の描画コマンドでは、実施形態１における図１５の（４）のマスク領域を非表示にする設定が変更されており、画像の描画（表示処理）によって描画される範囲が、斜めの境界線方向に７２ｄｐｉ基準で０．５画素程度拡張した範囲が表示されるようにマスク領域が指定されている。
【０１７０】
表示を行うコンピュータで使用しているＰＤＦ表示プログラムの種類や表示倍率によって表示に不具合が生じることが予め分かっている場合、本実施形態の処理が選択されるようになっていてもよい。
【０１７１】
〔変形例〕
以上では、射影変換のうちアフィン変換しか利用できないフォーマットとしてＰＤＦファイルを明示したが、勿論、射影変換のうちアフィン変換しか利用できないフォーマットであればＰＤＦファイルに限定されるものではない。例えば、２次元グラフィックス描画を想定したファイルフォーマットでは射影変換のうちアフィン変換しか利用できないものが多く（例えば２次元グラフィックス描画を行うｓｖｇフォーマット）、当該ファイルフォーマットに変換する装置やアプリケーションに本実施形態の処理を適用すると効果的である。
【０１７２】
また、本実施形態の携帯端末１０にて実行されるファイル生成モードは、例えばサーバ装置や複合機にて行われるようになっていてもよい。この場合、図２に示す描画コマンド生成部１００およびフォーマット化処理部１０１はサーバ装置または複合機に備えられていることになる。ユーザは、携帯端末１０やデジタルカメラにて撮影した撮影画像を前記サーバ装置または複合機へ送信する。前記サーバ装置または複合機は、受信した撮影画像に対してファイル生成モードを実施してＰＤＦファイルを生成し、ユーザに指定された保存先（携帯端末、各種端末、またはＰＤＦファイル等）にＰＤＦファイルを送信する。このようにすれば、ファイル生成モードを実行するアプリケーションがインストールされていない携帯端末やデジタルカメラのユーザであっても、本実施形態のファイル生成モードを利用可能である。特に、複合機は、射影変換用のハードウェアを搭載していないことが多く、複合機に適用するメリットがある。
【０１７３】
また、以上の実施形態では、携帯端末１０は、射影変換のうちアフィン変換しか利用できないフォーマットの画像ファイルを作成するようになっているが、アフィン変換に限らずに射影変換を利用可能なフォーマットの画像ファイルを作成するようになっていてもよい。すなわち、この場合、携帯端末１０は、歪み補正前の撮影画像の画像データと、画像ファイルの撮影画像を描画（表示）する場合には射影変換（アフィン変換に限らない）によって当該撮影画像に歪み補正を施してから当該撮影画像を表示させるようにコンピュータを制御する描画コマンドとを埋め込んだ画像ファイルを作成する。そして、携帯端末１０は、ユーザ指示に応じて、当該画像ファイルをユーザ指定の送信先（サーバ、他の端末等）へ送信する。あるいは、射影変換を利用可能なフォーマットの画像ファイルを作成する機能を有する携帯端末１０において、歪み補正前の撮影画像の画像データと、画像ファイルの撮影画像を描画（表示）する場合にはアフィン変換によって当該撮影画像に歪み補正を施してから当該撮影画像を表示させるようにコンピュータを制御する描画コマンドとを埋め込んだ画像ファイルを作成するモードを備え、当該画像ファイルをユーザ指定の送信先（サーバ、他の端末等）へ送信するように構成されていても良い。この構成によれば、処理対象となる撮影画像が多い場合や、マルチタスクを行っている場合、処理負荷を軽減できるというメリットを有することになる。また、前記画像ファイルを作成する処理を、携帯端末１０で行うのではなく、携帯端末１０と通信可能なサーバ装置等やパソコンにて行うようになっていてもよい（つまり、携帯端末１０にて撮影された撮影画像を、サーバ装置やパソコンに送信し、サーバ装置やパソコンにて画像ファイルを作成するようになっていてもよい）。
【０１７４】
また、以上の実施形態では、携帯端末１０は、歪み補正が施されてない撮影画像と、ＰＤＦファイルを開いて撮影画像を描画する場合には歪み補正（アフィン変換）を行った上で描画するようにコンピュータを制御する描画コマンドとを埋め込んだＰＤＦファイルを作成する構成になっているが、以下に示すような変形例になっていても勿論よい。まず、携帯端末１０は、ファイル生成モードに移行すると、簡易処理モードと通常処理モードとのいずれかをユーザに選択させる。簡易モードが選択された場合、携帯端末１０は、本実施形態と同様に、歪み補正が施されてない撮影画像と、ＰＤＦファイルを開いて撮影画像を描画する場合には歪み補正（アフィン変換）を行った上で描画するようにコンピュータを制御する描画コマンドとを埋め込んだＰＤＦファイルを作成する。これに対し、通常処理モードが選択された場合、携帯端末１０は、撮影画像に対してアフィン変換に限らずに射影変換を用いて歪み補正を行い、歪み補正後の撮影画像を埋め込んだＰＤＦファイルを作成する。このようにすれば、ファイル作成処理に長時間要しても歪み補正された撮影画像が埋め込まれたファイルを所望するユーザの要求と、ファイル作成処理に時間を要することを嫌うユーザの要求とを満たすことができる。
【０１７５】
また、携帯端末１０の情報処理部１１は、撮影画像に対して文字認識処理を行う文字認識部と、文字認識処理の結果に基づいて透明テキストを作成する透明テキスト処理部とを設け、フォーマット化処理部１０１は、描画コマンドの他に透明テキストを埋め込んで画像ファイルを作成するようになっていてもよい。
【０１７６】
また、実施形態１，２では、補正対象範囲６０（または分割範囲６０ａ）と、補正後表示範囲７０（または補正後分割範囲７０ａ）とを、図１０や図１８によって説明した手法で分割しているが、分割の手法は、図１０や図１８によって説明した手法に限られるものではない。要は、分割前四角形を、分割前四角形よりも小さな複数の分割後四角形に分割するようになっていれば、分割手法自体に制限はない。例えば、補正後表示範囲７０および補正対象範囲６０を４分割ではなく、２分割するようになっていてもよい。また、補正後表示範囲７０の分割よりも前に補正対象範囲６０を分割するようになっていてもよい。この場合、最初に、補正対象範囲６０の上辺の中点および下辺の中点を通過する分割線と、補正対象範囲６０の左辺の中点および右辺の中点を通過する分割線とを設定し、これら分割線によって補正対象範囲６０を４分割する。続いて、補正対象範囲６０を４分割する過程で求めた４つの中点と分割線の交点とを、補正対象範囲６０を補正後表示範囲７０に射影変換するための歪み補正行列で変換し、これらの点を結ぶ線分によって補正後表示範囲７０を４分割する。
【０１７７】
〔ソフトウェアによる実現例〕
情報処理部１１は、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェアによって実現してもよい。
【０１７８】
後者の場合、情報処理部１１は、各機能を実現するソフトウェアであるプログラムの命令を実行するＣＰＵ、上記プログラムおよび各種データがコンピュータ（またはＣＰＵ）で読み取り可能に記録されたＲＯＭ（Read Only Memory）または記憶装置（これらを「記録媒体」と称する）、上記プログラムを展開するＲＡＭ（Random Access Memory）などを備えている。そして、コンピュータ（またはＣＰＵ）が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【０１７９】
〔まとめ〕
本発明の態様１の画像処理装置（携帯端末１０）は、撮影画像の画像データを所定形式にフォーマット化した画像ファイルを生成するフォーマット化処理部１０１と、前記画像ファイルの前記撮影画像を表示する際に歪み補正を施した上で前記表示を行うようにコンピュータを制御する描画コマンドを作成し、描画コマンドを前記画像ファイルに付加するコマンド付加部（描画コマンド生成部１００）とを備え、前記コマンド付加部は、前記撮影画像に対し補正対象範囲を設定し、前記補正対象範囲を射影変換にて歪み補正する場合とアフィン変換にて前記歪み補正する場合との差を示した第１差情報を求め、前記差が許容範囲内の場合、前記補正対象範囲から定められるアフィン変換用行列によって前記歪み補正を行う前記描画コマンドを作成し、前記差が許容範囲内でない場合、前記補正対象範囲を分割して複数の部分領域を設定し、部分領域から定められるアフィン変換用行列によって前記歪み補正を行う前記描画コマンドを前記部分領域毎に作成することを特徴とする。
【０１８０】
本発明の構成によれば、補正対象範囲に対して単一のアフィン変換用行列を用いて歪み補正を行うと補正誤差（アフィン変換に限定せずに射影変換を行って補正する場合に対して前記射影変換を前記アフィン変換に限定して補正する場合の誤差）が大きくなってしまうような場合、補正対象範囲を複数の部分領域に分割し、部分領域毎にアフィン変換用行列を設定することにより、補正誤差を抑えた歪み補正を実現することが可能になる（１つ当たりの歪み補正行列にて対応する範囲を分割して小さくすることにより、１つの歪み補正行列にて対応する範囲の補正誤差を小さくでき、全体として補正誤差を抑制できる）。したがって、画像を表示する際にアフィン変換にて歪み補正を行うようになっている画像ファイルを生成する場合において、適切に歪み補正が行われるＰＤＦファイルを生成できるという効果を奏する。
【０１８１】
本発明の態様２の画像処理装置は、態様１の構成に加え、前記コマンド付加部が、前記差が許容範囲内にない場合、前記補正対象範囲を、複数の四角形の分割範囲に分割し、各分割範囲を、各分割範囲において一本の対角線を挟んで対向する各三角形に分割し、前記三角形を前記部分領域とすることを特徴とする。
【０１８２】
四角形の分割範囲に対してアフィン変換を施すと分割範囲同士の境界付近で歪みが大きくなるという不具合が生じることがあるが、本発明の態様２のように、四角形の分割範囲をさらに三角形に分割して各三角形を部分領域としてアフィン変換を行うことにより、以上のような不具合を抑制できるという効果がある。
【０１８３】
本発明の態様３の画像処理装置は、態様２の構成に加え、前記コマンド付加部が、生成される分割範囲について、当該分割範囲を射影変換にて歪み補正する場合とアフィン変換にて前記歪み補正する場合との差を示した第２差情報を求め、第２差情報に示される差が許容範囲内にない分割範囲を分割してさらに分割範囲を生成する処理を、全ての分割範囲において前記第２差情報の前記差が許容範囲内になるまで繰り返すことを特徴とする。
【０１８４】
本発明の態様３によれば、１つの歪み補正行列にて対応する範囲（部分領域）の補正誤差を予め定めている許容範囲（閾値）内に抑えることができ、且つ、全ての部分領域において補正誤差を許容範囲内に抑えるため、歪み補正を高精度に行うことができるという効果を奏する。
【０１８５】
本発明の態様４の画像処理装置は、態様２に加えて、前記コマンド付加部が、前記第１差情報の前記差に応じて前記分割範囲の数を設定するようになっており、前記分割範囲の数の上限が定められていることを特徴とする。
【０１８６】
前記分割範囲の数（すなわち部分領域の数）が多すぎると画像ファイルの画像を表示させる際に処理遅延が生じるという問題が生じるが、本発明の態様４によれば、設定される分割範囲の数の上限が決められているため、分割範囲の数が多くなり過ぎるという問題を抑制できる。
【０１８７】
本発明の態様５の画像処理装置は、態様１から４のいずれかに加えて、前記第１差情報は、前記補正対象範囲に対して設定される歪み補正後の目標範囲の重心位置と、前記補正対象範囲の重心位置を前記射影変換で移動させた後の位置との距離に応じた値であることを特徴とする。
【０１８８】
本発明の態様５によれば、前記補正対象範囲を射影変換にて歪み補正する場合とアフィン変換にて前記歪み補正する場合との差（補正誤差）を示した数値を第１差情報として容易に求めることができる。
【０１８９】
本発明の態様６の画像処理装置は、態様３に加え、前記第２差情報は、前記分割範囲に対して設定される歪み補正後の目標範囲の重心位置と、前記分割範囲の重心位置を前記射影変換で移動させた後の位置との距離に応じた値であることを特徴とする。
【０１９０】
本発明の態様６によれば、前記分割範囲を射影変換にて歪み補正する場合とアフィン変換にて前記歪み補正する場合との差（補正誤差）を示した数値を第２差情報として容易に求めることができる。
【０１９１】
本発明の態様７の画像処理装置は、態様３または６に加えて、前記コマンド付加部が、前記第２差情報の前記差が許容範囲内にない分割範囲を分割すると分割範囲の総数が規定値を超える場合、当該分割を行う前に、（１）分割範囲の総数が規定値を超えても当該分割を行う第１オプションと、（２）当該分割を中止して前記分割範囲の総数を規定値以内に抑える第２オプションと、（３）前記画像ファイルの生成を中止する第３オプションとのうちのいずれかをユーザに選択させるようになっていることを特徴とする。
【０１９２】
前述したように、前記分割範囲の数（すなわち部分領域の数）が多すぎると画像ファイルの画像を表示させる際に処理遅延が生じるという問題が生じる。これに対し、本発明の態様７によれば、分割範囲の総数が規定値を超えてでも分割を行うことで補正の精度を優先するか、それとも、分割範囲の総数を規定値に抑えることで表示速度を優先するか、あるいは画像ファイルの生成自体を中止するかを、ユーザに選択させることができる。
【０１９３】
本発明の態様８の画像処理装置は、態様１から７に加えて、前記第１差情報に示される差が許容範囲内でない場合において、前記部分領域に対して生成される描画コマンドは、前記部分領域から設定されるアフィン変換用行列による歪み補正を前記画像データに施して、前記部分領域に対して設定される補正後目標部分領域の外側をマスク領域とした上で表示処理を行うようにコンピュータを制御するコマンドであり、前記マスク領域は、前記補正後目標部分領域を含み且つ前記補正後目標部分領域よりも広い範囲が表示されるように設定されることを特徴とする。
【０１９４】
本発明の態様８の画像処理装置によれば、前記画像ファイルを開いて表示させる際、互いに隣り合う補正後目標部分領域と補正後目標部分領域との境界に隙間が発生するという表示不具合を抑制できるという効果を奏する。
【０１９５】
本発明の態様９は、撮影画像の画像データを所定形式にフォーマット化した画像ファイルを生成し、前記画像ファイルの前記撮影画像を表示する際に歪み補正を施した上で前記表示を行うようにコンピュータを制御する描画コマンドを作成し、描画コマンドを前記画像ファイルに付加する画像処理方法であって、前記撮影画像に対し補正対象範囲を設定し、前記補正対象範囲を射影変換にて歪み補正する場合とアフィン変換にて前記歪み補正する場合との差を示した第１差情報を求め、前記差が許容範囲内の場合、前記補正対象範囲から定められるアフィン変換用行列によって前記歪み補正を行う前記描画コマンドを作成し、前記差が許容範囲内でない場合、前記補正対象範囲を分割して複数の部分領域を設定し、部分領域から定められるアフィン変換用行列によって前記歪み補正を行う前記描画コマンドを前記部分領域毎に作成することを特徴とする。
【０１９６】
本発明の態様９によれば、態様１〜８の構成と同様に、画像を表示する際にアフィン変換にて歪み補正を行うようになっている画像ファイルを生成する場合において、適切に歪み補正が行われるＰＤＦファイルを生成できるという効果を奏する。
【０１９７】
本発明の態様１〜８に係る画像処理装置は、コンピュータによって実現してもよく、この場合には、コンピュータを画像処理装置の各部として動作させることにより、画像処理装置をコンピュータにて実現させるプログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【０１９８】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。さらに、各実施形態にそれぞれ開示された技術的手段を組み合わせることにより、新しい技術的特徴を形成することができる。
【産業上の利用可能性】
【０１９９】
本発明は、デジタルカメラ等による撮影にて得られた画像データを所定型式にフォーマット化した画像ファイルを生成する画像処理装置に適用できる。前記画像処理装置としては、例えば、デジタルカメラ、撮影装置を搭載した携帯端末（スマートフォン、タブレット、ノード型パソコン、携帯電話等）が挙げられる。また、前記画像処理装置として、デジタルカメラや携帯端末から受信した撮影画像を処理可能なコンピュータ、複合機、サーバ装置等も挙げられる。
【符号の説明】
【０２００】
１０      携帯端末（画像処理装置）
１１      情報処理部
１２      タッチパネル
６０      補正対象範囲
６０ａ    分割範囲
６０ａ１〜６０ａ４    分割範囲
６０ａａ  部分領域
６０ａｂ  部分領域
７０      補正後表示範囲
７０ａ    補正後分割範囲
７０ａａ  補正後部分領域（補正後目標部分領域）
７０ａｂ  補正後部分領域（補正後目標部分領域）
１００    描画コマンド生成部（コマンド付加部）
１０１    フォーマット化処理部
【図１】
2016149097.tif 000008
【図２】
2016149097.tif 000009
【図７】
2016149097.tif 000010
【図９Ａ】
2016149097.tif 000011
【図９Ｂ】
2016149097.tif 000012
【図１０】
2016149097.tif 000013
【図１１】
2016149097.tif 000014
【図１２】
2016149097.tif 000015
【図１３】
2016149097.tif 000016
【図１４】
2016149097.tif 000017
【図１５】
2016149097.tif 000018
【図１６】
2016149097.tif 000019
【図１８】
2016149097.tif 000020
【図３】
2016149097.tif 000021
【図４】
2016149097.tif 000022
【図５Ａ】
2016149097.tif 000023
【図５Ｂ】
2016149097.tif 000024
【図６Ａ】
2016149097.tif 000025
【図６Ｂ】
2016149097.tif 000026
【図８】
2016149097.tif 000027
【図１７Ａ】
2016149097.tif 000028
【図１７Ｂ】
2016149097.tif 000029
【図１９】
2016149097.tif 000030