(57)【要約】【課題】  描画空間上の矩形枠にディジタル画像を割り付ける割付形態が限定されている場合において、割付処理を効率よく開発可能な画像処理装置、画像処理方法及び画像処理プログラムを提供する。【解決手段】  描画空間上の矩形枠と前記矩形枠の対抗する２辺にディジタル画像の対抗する２辺を一致させて割り付ける割付形態とを定義しているスクリプトであって同一の前記割付形態を複数の定義形式で定義可能な言語で記述されているスクリプトを解釈し、前記割付形態を特定する特定ユニットと、それぞれが互いに異なる前記割付形態に対応する複数の割付処理のうち前記特定ユニットで特定された前記割付形態に対応する割付処理を実行し、前記矩形枠に前記ディジタル画像を割り付ける割付処理ユニットと、を備える画像処理装置。【選択図】    図１
2007013435.tif 000002
【特許請求の範囲】
【請求項１】
描画空間上の矩形枠と前記矩形枠の対抗する２辺にディジタル画像の対抗する２辺を一致させて割り付ける割付形態とを定義しているスクリプトであって同一の前記割付形態を複数の定義形式で定義可能な言語で記述されているスクリプトを解釈し、前記割付形態を特定する特定ユニットと、
それぞれが互いに異なる前記割付形態に対応する複数の割付処理のうち前記特定ユニットで特定された前記割付形態に対応する割付処理を実行し、前記矩形枠に前記ディジタル画像を割り付ける割付処理ユニットと、
を備える画像処理装置。
【請求項２】
前記言語は複数の属性で前記割付形態を定義する言語であり、
前記特定ユニットは、前記矩形枠の対抗する２辺に前記ディジタル画像の対抗する２辺を一致させて割り付けるよう割付形態を限定することによって参照が不要になった属性以外の属性に基づいて前記割付形態を特定する請求項１に記載の画像処理装置。
【請求項３】
前記言語はＸＨＴＭＬである請求項１又は２に記載の画像処理装置。
【請求項４】
各前記割付形態は前記ディジタル画像が前記矩形枠内に納まる場合と納まらない場合とで割付形態が異なり、
前記特定ユニットは、前記スクリプトを解釈して前記割付形態を特定した後、特定した前記割付形態で前記ディジタル画像を前記矩形枠に割り付けた場合に前記ディジタル画像が前記矩形枠内に収まるか否かを判定し、判定結果に基づいて前記納まる場合の割付形態および前記納まらない場合の割付形態のいずれか一方を特定する請求項１、２又は３に記載の画像処理装置。
【請求項５】
前記納まらない場合の割付形態は、前記ディジタル画像の前記矩形枠からはみ出した領域をクリッピングして割り付ける割付形態である請求項４に記載の画像処理装置。
【請求項６】
特定ユニットが、描画空間上の矩形枠と前記矩形枠の対抗する２辺にディジタル画像の対抗する２辺を一致させて割り付ける割付形態とを定義しているスクリプトであって同一の前記割付形態を複数の定義形式で定義可能な言語で記述されているスクリプトを解釈し、前記割付形態を特定する特定段階と、
割付処理ユニットが、それぞれが互いに異なる前記割付形態に対応する複数の割付処理のうち前記特定ユニットで特定された前記割付形態に対応する割付処理を実行し、前記矩形枠に前記ディジタル画像を割り付ける割付処理段階と、
を含む画像処理方法。
【請求項７】
描画空間上の矩形枠と前記矩形枠の対抗する２辺にディジタル画像の対抗する２辺を一致させて割り付ける割付形態とを定義しているスクリプトであって同一の前記割付形態を複数の定義形式で定義可能な言語で記述されているスクリプトを解釈し、前記割付形態を特定する特定ユニットと、
それぞれが互いに異なる前記割付形態に対応する複数の割付処理のうち前記特定ユニットで特定された前記割付形態に対応する割付処理を実行し、前記矩形枠に前記ディジタル画像を割り付ける割付処理ユニットとしてコンピュータを機能させる画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法及び画像処理プログラムに関する。
【背景技術】
【０００２】
ディスプレイや印刷用紙などの描画空間にディジタル画像を再生するレイアウトを定義するスクリプトを記述する言語として、例えばＸＨＴＭＬ（eXtensible HyperText Markup Language）が知られている。ＸＨＴＭＬでは、描画空間上の矩形枠とその矩形枠にディジタル画像を割り付ける割付形態とを定義することによってレイアウトを定義している。ここで割付形態とは、矩形枠にディジタル画像を割り付ける割り付け方のことである。例えば図１３（Ａ）〜（Ｃ）に示す複数の割付形態は、矩形枠８１の上辺、下辺にディジタル画像８２の上辺、下辺を一致させて割り付ける割付形態を示しており、図１３（Ｄ）〜（Ｆ）は矩形枠８１の左辺、右辺にディジタル画像８２の左辺、右辺を一致させて割り付ける割付形態を示している。
【０００３】
ＸＨＴＭＬでは、例えば図１３に示す各割付形態をそれぞれ複数の定義形式で定義できる。例えば図１３（Ａ）の割付形態は次の２通りで定義できる。
ｔｏｐ：０；  ｌｅｆｔ：０；  ｈｅｉｇｈｔ：１００％；  ・・・・（１）
ｂｏｔｔｏｍ：０；  ｌｅｆｔ：０；  ｈｅｉｇｈｔ：１００％；  ・・・・（２）
【０００４】
ところで、割付形態が限定されている場合、特定の属性は意味を持たなくなる。例えばｈｅｉｇｈｔ：１００％のときは矩形枠の上辺、下辺にディジタル画像の上辺、下辺を一致させて割り付けるように割付形態が限定されている場合、（１）のｔｏｐ、および（２）のｂｏｔｔｏｍは意味を持たなくなる。なぜなら、ｈｅｉｇｈｔ：１００％が指定されていることにより、矩形枠の上辺にディジタル画像の上辺を一致させ、矩形枠の下辺にディジタル画像の下辺を一致させることが判るからである。従って、（１）および（２）の解釈においてｔｏｐやｂｏｔｔｏｍという属性を参照する必要はなく、ｌｅｆｔに０が設定されており、且つｈｅｉｇｈｔに１００％が設定されている定義形式については常に同一に扱うことができる。すなわち、ｌｅｆｔに０が設定されており、且つｈｅｉｇｈｔに１００％が設定されている定義形式については常に同一の割付処理を実行できる。
【０００５】
矩形枠にディジタル画像を割り付ける割付処理では定義形式に応じた処理が必要になるので、一般に定義形式が異なると実行される割付処理も異なる。しかしながら、割付形態が限定されている場合は上述したように定義形式が異なっても割付処理は同一でよい場合がある。にもかかわらず定義形式毎に割付処理を用意すると、割付処理の開発工数が無用に増え、開発の効率が悪いという問題がある。
【０００６】
【特許文献１】特開２００３−１１６００４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、上述の問題に鑑みて創作されたものであって、描画空間上の矩形枠にディジタル画像を割り付ける割付形態が限定されている場合において、割付処理を効率よく開発可能な画像処理装置、画像処理方法及び画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
（１）上記目的を達成するための画像処理装置は、描画空間上の矩形枠と前記矩形枠の対抗する２辺にディジタル画像の対抗する２辺を一致させて割り付ける割付形態とを定義しているスクリプトであって同一の前記割付形態を複数の定義形式で定義可能な言語で記述されているスクリプトを解釈し、前記割付形態を特定する特定ユニットと、それぞれが互いに異なる前記割付形態に対応する複数の割付処理のうち前記特定ユニットで特定された前記割付形態に対応する割付処理を実行し、前記矩形枠に前記ディジタル画像を割り付ける割付処理ユニットと、を備える、
本発明によると、定義形式が異なっても割付形態が同一であれば同一の割付処理が実行されるので、定義形式毎に割付処理を用意する必要がない。従って割付処理の数を低減でき、割付処理を効率よく開発できる。
【０００９】
（２）前記言語は複数の属性で前記割付形態を定義する言語であり、前記特定ユニットは、前記矩形枠の対抗する２辺に前記ディジタル画像の対抗する２辺を一致させて割り付けるよう割付形態を限定することによって参照が不要になった属性以外の属性に基づいて前記割付形態を特定してもよい。
本発明によると、不要な属性を参照する無駄を排除できるので、割付形態を効率よく特定できる。
【００１０】
（３）前記言語はＸＨＴＭＬであってもよい。
【００１１】
（４）各前記割付形態は前記ディジタル画像が前記矩形枠内に納まる場合と納まらない場合とで割付形態が異なり、前記特定ユニットは、前記スクリプトを解釈して前記割付形態を特定した後、特定した前記割付形態で前記ディジタル画像を前記矩形枠に割り付けた場合に前記ディジタル画像が前記矩形枠内に収まるか否かを判定し、判定結果に基づいて前記納まる場合の割付形態および前記納まらない場合の割付形態のいずれか一方を特定してもよい。
【００１２】
（５）前記納まらない場合の割付形態は、前記ディジタル画像の前記矩形枠からはみ出した領域をクリッピングして割り付けてもよい。
【００１３】
（６）上記目的を達成するための画像処理方法は、特定ユニットが、描画空間上の矩形枠と前記矩形枠にディジタル画像を割り付ける割付形態とを定義しているスクリプトであって同一の前記割付形態を複数の形式で定義可能な言語で記述されているスクリプトを解釈して前記割付形態を特定する段階と、割付処理ユニットが、それぞれが互いに異なる前記割付形態に対応する複数の割付処理のうち前記特定ユニットで特定された前記割付形態に対応する割付処理を実行して前記矩形枠に前記ディジタル画像を割り付ける段階と、を含む。
本発明によると、定義形式が異なっても割付形態が同一であれば同一の割付処理が実行されるので、定義形式毎に割付処理を開発する必要がない。従って割付処理の数を低減でき、割付処理の開発効率を向上させることができる。
【００１４】
（７）上記目的を達成するための画像処理プログラムは、描画空間上の矩形枠と前記矩形枠にディジタル画像を割り付ける割付形態とを定義しているスクリプトであって同一の前記割付形態を複数の形式で定義可能な言語で記述されているスクリプトを解釈し、前記割付形態を特定する特定ユニットと、それぞれが互いに異なる前記割付形態に対応する複数の割付処理のうち前記特定ユニットで特定された前記割付形態に対応する割付処理を実行し、前記矩形枠に前記ディジタル画像を割り付ける割付処理ユニットとしてコンピュータを機能させる。
本発明によると、定義形式が異なっても割付形態が同一であれば同一の割付処理が実行されるので、定義形式毎に割付処理を開発する必要がない。従って割付処理の数を低減でき、割付処理の開発効率を向上させることができる。
【００１５】
尚、本発明に備わる複数の手段の各機能は、構成自体で機能が特定されるハードウェア資源、プログラムにより機能が特定されるハードウェア資源、又はそれらの組み合わせにより実現される。また、これら複数の手段の各機能は、各々が物理的に互いに独立したハードウェア資源で実現されるものに限定されない。
【発明を実施するための最良の形態】
【００１６】
以下、実施例に基づいて本発明の実施の形態を説明する。
図２は、本発明の一実施例に係る画像処理装置としてのパーソナルコンピュータ（ＰＣ）１のハードウェア構成を示すブロック図である。ＰＣ１は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、操作部１４、表示部１５、外部記憶部１６、およびインタフェース部１８を備え、これらはバス１７で相互に接続されている。操作部１４はマウスやキーボードなどで構成されている。表示部１５はＣＲＴやＬＣＤなどのディスプレイやディスプレイコントローラなどで構成されている。インタフェース部１８は例えばＵＳＢやＲＳ−２３２Ｃなどの通信規格に準拠して構成されており、プリンタ２などの機器が所定の通信ケーブルを介して接続される。外部記憶部１６はハードディスクやハードディスクコントローラなどで構成され、オペレーティングシステム（ＯＳ）、画像処理プログラム、その他各種のプログラムやデータなどが記憶されている。ＣＰＵ１１はＲＯＭ１２や外部記憶部１６に記憶されているプログラムを実行してＰＣ１の全体を制御する。また、ＣＰＵ１１は画像処理プログラムを実行することで特定ユニット、および割付処理ユニットとしても機能する。ＲＯＭ１２は各種のプログラムやデータを予め記憶しているメモリであり、ＲＡＭ１３は各種のプログラムやデータを一時的に記憶するメモリである。これら各種のプログラムやデータは所定のサーバから通信ネットワークを介してダウンロードして入力してもよいし、リムーバブルメモリなどから読み出して入力してもよい。
【００１７】
次に、スクリプトについて説明する。
本実施例では、特許請求の範囲に記載のスクリプトとしてのＸＨＴＭＬで記述されているスクリプト（ＸＨＴＭＬスクリプト）を直接作成するのではなく、固有の言語で記述されたスクリプト（固有スクリプト）を先に作成し、その固有スクリプトを変換することによってＸＨＴＭＬスクリプトを作成する場合を例に説明する。
【００１８】
始めに、固有スクリプトについて説明する。
図３は、固有スクリプトの一例を示す模式図である。「描画空間のサイズ」には、具体的にはハガキ、Ｌ判、２Ｌ判、Ａ４などの用紙種別が指定される。なお、描画空間はディスプレイであってもよく、その場合、「描画空間のサイズ」はディスプレイ上に仮想的に再現される印刷用紙のサイズに相当する。「描画空間の向き」には、「縦」あるいは「横」が指定される。「ディジタル画像情報」には、描画空間においてディジタル画像が割り付けられる矩形枠（例えば左上座標（Ｘ１，Ｙ１）と右下座標（Ｘ２，Ｙ２））、ディジタル画像を再生する向き（例えば「横」）、フィッティング規則、およびアライメント規則などが指定される。フィッティング規則およびアライメント規則は割付形態を定義する情報である。ただし、割付形態はフィッティング規則およびアライメント規則のみで決定されるのではなく、フィッティング規則と、アライメント規則と、矩形枠に対するディジタル画像の相対的な形状とに基づいて決定される。以下、フィッティング規則およびアライメント規則について説明する。
【００１９】
図４は、フィッティング規則を説明するための模式図である。フィッティング規則には、図４（Ａ）に示す「ＦｉｔＷｉｔｈｉｎ」、図４（Ｂ）に示す「ＦｉｔＯｕｔｓｉｄｅ」、および図４（Ｃ）に示す「ＦｉｔＡｌｌ」のいずれか一つを指定できる。
「ＦｉｔＷｉｔｈｉｎ」を指定すると、図４（Ａ）に示すようにディジタル画像２０はアスペクト比を変えずに拡大又は縮小され、ディジタル画像２０全体が矩形枠２１内に収まり、且つディジタル画像２０の対向する二辺が矩形枠２１の対向する二辺に重なるように割り付けられる。「ＦｉｔＷｉｔｈｉｎ」ではディジタル画像２０と矩形枠２１とのアスペクト比が異なると矩形枠２１に余白が生じる。
【００２０】
「ＦｉｔＯｕｔｓｉｄｅ」を指定すると、図４（Ｂ）に示すようにディジタル画像２０はアスペクト比を変えずに拡大又は縮小され、矩形枠２１内に余白がなく、且つディジタル画像２０の対向する二辺が矩形枠２１の対向する二辺に重なるように割り付けられる。「ＦｉｔＯｕｔｓｉｄｅ」ではディジタル画像２０と矩形枠２１とのアスペクト比が異なるとディジタル画像２０の一部が矩形枠２１からはみ出し、はみ出した部分がクリッピングされて割り付けられる。
【００２１】
「ＦｉｔＡｌｌ」を指定すると、図４（Ｃ）に示すようにディジタル画像２０は縦と横とが異なる倍率で拡大又は縮小され、矩形枠２１全体に割り付けられる。
図５は、アライメント規則を説明するための模式図である。ここではフィッティング規則に「ＦｉｔＷｉｔｈｉｎ」が指定されていることを前提に説明する。また、アライメント規則には９パターンがあるが、図５ではそのうちの３パターンだけを示している。アライメント規則は、横方向の基準位置を定義するＬｅｆｔ、ＣｅｎｔｅｒまたはＲｉｇｈｔと、縦方向の基準位置を定義するＴｏｐ、Ｃｅｎｔｅｒまたはｂｏｔｔｏｍとの組み合わせによって指定される。
【００２２】
例えば「ＬｅｆｔＴｏｐ」を指定すると、図５（Ａ）に示すようにディジタル画像２０の左上が矩形枠２１の左上に位置合わせされて割り付けられる。
また、例えば「ＣｅｎｔｅｒＣｅｎｔｅｒ」を指定すると、図５（Ｂ）に示すようにディジタル画像２０の中心が矩形枠２１の中心に位置合わせされて割り付けられる。
【００２３】
また、例えば「ＲｉｇｈｔＢｏｔｔｏｍ」を指定すると、図５（Ｃ）に示すようにディジタル画像２０の右下が矩形枠２１の右下に位置合わせされて割り付けられる。他の組み合わせについても同様である。
【００２４】
図６および図７は、固有スクリプトにおける全ての割付形態と各割付形態を定義する定義形式とを示す模式図である。固有スクリプトでは同一の割付形態を複数の定義形式で定義できるので、図示するように複数の定義形式で割付形態が重複している。
図６（Ａ）は、フィッティング規則が「ＦｉｔＷｉｔｈｉｎ」であり且つ矩形枠に対してディジタル画像が相対的に縦長である場合の割付形態をアライメント規則毎に示している。図６（Ａ）において網掛け領域はディジタル画像、網掛けがない領域は矩形枠を示している。図６（Ｂ）は、フィッティング規則が「ＦｉｔＯｕｔｓｉｄｅ」であり、矩形枠に対してディジタル画像が相対的に横長である場合の割付形態をアライメント規則毎に示している。図６（Ｂ）において破線で囲まれている網掛け領域はディジタル画像、実線で囲まれている網掛け領域は矩形枠を示している。ディジタル画像において矩形枠からはみ出す領域はクリッピングして割り付けられる。図６（Ｃ）は、フィッティング規則が「ＦｉｔＡｌｌ」である場合の割付形態を示している。
【００２５】
図７（Ａ）は、図６（Ａ）に対してディジタル画像が相対的に「横長画像」である場合の各割付形態を示しており、図７（Ｂ）は図６（Ｂ）に対してディジタル画像が相対的に「縦長画像」である場合の各割付形態を示している。
固有スクリプトにおける定義形式は、フィッティング規則、およびアライメント規則によって１８通りに分類され、更に、矩形枠に対してディジタル画像が相対的に「縦長画像」であるか「横長画像」であるかによってそれぞれ２通りに分類され、全部で３６通りに分類される。これに図６（Ｃ）に示す「ＦｉｔＡｌｌ」を加えると、定義形式は全部で３７通りに分類される。なお、「縦長画像」であるか「横長画像」であるかはディジタル画像が選択されたときに動的に決まる情報であって、固有スクリプト内に記述される情報ではない。しかしながら、割付形態はディジタル画像が「縦長画像」であるか「横長画像」であるかによっても異なるので、ここでは便宜上、定義形式には「縦長画像」であるか「横長画像」であるかの定義も含まれるものとして説明する。
【００２６】
図８（Ａ）は、図３に示す固有スクリプトを用いたディジタル画像の再生を説明するための模式図であり、図８（Ｂ）は再生されたディジタル画像を示す平面図である。再生は例えばＰＣ１がプリンタ２を制御して印刷用紙に印刷することによって行ってもよいし、表示部１５に表示することによって行ってもよい。点Ｐはハガキの原点を示しており、原点Ｐを基準にして矩形枠２１（（Ｘ１，Ｙ１）,（Ｘ２，Ｙ２））が設定される。ディジタル画像２０はフィッティング規則に基づいて拡大または縮小され、アライメント規則に基づいて位置合わせされて割り付けられる。アライメント規則に「ＦｉｔＯｕｔｓｉｄｅ」が指定されているので、図示するようにディジタル画像は矩形枠２１からはみ出した領域が切り捨てられて割り付けられている。すなわち、ディジタル画像はクリッピングされて割り付けられている。
【００２７】
以上、固有スクリプトについて説明した。次に、特許請求の範囲に記載のスクリプトとしてのＸＨＴＭＬスクリプトについて説明する。ＸＨＴＭＬは複数の属性で割付形態を定義する言語である。ＸＨＴＭＬスクリプトは、前述した固有スクリプトに対して所定の変換処理を施すことによって生成される。
図９は、ＸＨＴＭＬスクリプトの一例を示す模式図である。図９においてＬ１〜Ｌ６までの行は描画空間上の矩形枠を定義する行である。この例の場合、矩形枠の上辺は描画空間上の所定の原点から縦方向に０ピクセル移動した位置、すなわち原点そのものの位置に設定され、矩形枠の左辺は原点から右に１９ピクセル移動した位置に設定され、矩形枠の高さ及び横幅はそれぞれ２０ピクセル、２０ピクセルに設定される。設定された矩形枠はスクリプト内において”ｃｏｎｔａｉｎｅｒ＿１”という名前で参照される。なお、矩形枠はスタイルシートを用いて定義することもできる。
【００２８】
図９において行Ｌ７は、矩形枠ｃｏｎｔａｉｎｅｒ＿１に対する各種の設定であることを宣言している。行Ｌ８は、ｃｏｎｔａｉｎｅｒ＿１にディジタル画像を割り付ける割付形態を複数の属性で定義している行である。行Ｌ８において「ｔｏｐ：０ｐｘ」はディジタル画像の上辺をｃｏｎｔａｉｎｅｒ＿１の上辺に一致させることを意味している。「ｌｅｆｔ：０ｐｘ」はディジタル画像の左辺をｃｏｎｔａｉｎｅｒ＿１の左辺に一致させることを意味している。「ｈｅｉｇｈｔ：１００％」はディジタル画像の高さがｃｏｎｔａｉｎｅｒ＿１の高さに一致するようディジタル画像を拡大または縮小することを意味している。すなわちこの割付形態は「ＬｅｆｔＴｏｐ」に対応する割付形態である。
【００２９】
図１０（Ａ）〜（Ｃ）、図１１（Ａ）、および図１１（Ｂ）は、固有スクリプトにおける定義形式とＸＨＴＭＬスクリプトにおける定義形式との対応関係を示す模式図である。ただし、固有スクリプトと同様に「縦長画像」や「横長画像」はＸＨＴＭＬスクリプト内に記述される情報ではない。しかしながら、割付形態はディジタル画像が「縦長画像」であるか「横長画像」であるかによっても異なるので、ここでは便宜上、定義形式には「縦長画像」であるか「横長画像」であるかの定義も含まれるものとして説明する。ただし、特許請求の範囲に記載の「定義形式」はあくまでＸＨＴＭＬスクリプト内に定義する際の定義形式のことであり、「縦長画像」であるか「横長画像」であるかの情報は含まない。
例えば図６（Ａ）に示す「ＦｉｔＷｉｔｈｉｎ」、「縦長画像」および「ＬｅｆｔＴｏｐ」という定義形式と、「ＦｉｔＷｉｔｈｉｎ」、「縦長画像」および「ＬｅｆｔＣｅｎｔｅｒ」という定義形式とは、いずれも以下の定義形式に変換される。
【００３０】
ｔｏｐ：  ０；  ｌｅｆｔ：  ０；  ｈｅｉｇｈｔ：  １００％；  ・・・・・（１）
すなわち、固有スクリプトではそれぞれ別の定義形式として扱われていた「ＬｅｆｔＴｏｐ」と「ＬｅｆｔＣｅｎｔｅｒ」とは、ＸＨＴＭＬスクリプトでは一つの定義形式に集約される。しかしながら、定義形式は完全に集約される訳ではない。例えば図６（Ａ）に示す「ＦｉｔＷｉｔｈｉｎ」、「縦長画像」および「ＬｅｆｔＢｏｔｔｏｍ」という定義形式は以下のように変換される。
【００３１】
ｂｏｔｔｏｍ：  ０；  ｌｅｆｔ：  ０；  ｈｅｉｇｈｔ：  １００％；  ・・（２）  （１）及び（２）は図１０（Ａ）から明らかなように同一の割付形態を定義しているが、（１）と（２）とでは定義形式が異なっている。すなわち、ＸＨＴＭＬスクリプトに変換した後も依然として同一の割付形態が複数の定義形式で定義されている。
【００３２】
なお、ＸＨＴＭＬスクリプトへの変換の際に（２）を（１）と同じ定義形式に変換してもよい。それにより同一の割付形態が一つの定義形式で定義される。ただし、同一の割付形態が一つの定義形式で定義されるのは固有スクリプトから変換したときに限られる。ユーザがＸＨＴＭＬスクリプトを直接作成する場合は、必ずしも同一の割付形態が一つの定義形式で定義されるとは限らない。従って、ＸＨＴＭＬスクリプトには同一の割付形態が複数の定義形式で定義される可能性は依然として残る。
【００３３】
ＸＨＴＭＬスクリプトへの変換の際にいくつかの定義形式が一つに集約されることで、固有スクリプトにおいて３７種類あった定義形式は、ＸＨＴＭＬでは２５種類に集約される。図１０および図１１では、２５種類の定義形式のうち、同一の割付形態を定義する定義形式同士を破線枠で囲んで示している。破線枠の数は全部で１３であり、従って、割付形態は最終的に１３に集約できることが判る。仮に定義形式毎に割付処理をコーディングするとすると、２５種類の割付処理をコーディングする必要があるが、割付形態が同一であれば定義形式が異なっても同一の割付処理を実行できるので、同一の割付処理を実行するようにすると、割付処理の数を１３まで削減できることになる。
【００３４】
ただし、割付処理の数を１３まで削減できるのは、割付形態が限定されているときに限られる。具体的には例えば矩形枠の２辺にディジタル画像の２辺を一致させて割り付ける割付形態に限定されているときに限られる。例えば（１）および（２）の定義形式の場合、仮に割付形態が限定されていないとするとｔｏｐやｂｏｔｔｏｍに任意の属性値を設定できるので、「ｌｅｆｔ：０」および「ｈｅｉｇｈｔ：１００％」は同じであっても異なる割付形態を定義できる。この場合、（１）と（２）とでは割付形態が一致しないので、（１）に対応する割付処理と（２）に対応する割付処理とを別々にコーディングする必要がある。これに対し、矩形枠の対抗する２辺にディジタル画像の２辺を一致させて割り付ける割付形態に限定した場合は、ｔｏｐおよびｂｏｔｔｏｍには０しか設定されないので、常に（１）と（２）とは割付形態が同一になり、一つの割付処理で割り付けを行うことができる。
【００３５】
次に、本発明の一実施例に係る画像処理プログラムについて説明する。
図１２は、画像処理プログラムの論理的な構成を示すブロック図である。画像処理プログラムは、画面制御モジュール、特定モジュール、複数の割付モジュール、および再生モジュールを有している。
画面制御モジュール７４は、外部記憶部１６に記憶されているディジタル画像とＸＨＴＭＬスクリプトとをユーザが選択し、画像処理プログラムの実行を指示する画面を表示するためのモジュールである。
【００３６】
特定モジュール７５は、ＣＰＵ１１を特定ユニットとして機能させるモジュールである。
割付処理モジュール６１〜７３は、ＣＰＵ１１を割付処理ユニットとして機能させるモジュールである。複数の割付処理モジュールはそれぞれが互いに異なる割付形態に対応しており、各割付処理モジュールはそれぞれ対応する割付形態で矩形枠にディジタル画像を割り付ける。具体的には、第１の割付処理モジュール６１は、図１０（Ｃ）に示すＦｉｔＡｌｌに対応する割り付け処理を実行するモジュールである。第２の割付処理モジュール６２は、図１０（Ａ）に示す破線枠４１で示される割付形態に対応するモジュールである。同様に第３の割付処理モジュール６３は破線枠４４、第４の割付処理モジュール６４は破線枠４２、第５の割付処理モジュール６５は破線枠４５、第６の割付処理モジュール６６は破線枠４３、第７の割付処理モジュール６７は破線枠４６、第８の割付処理モジュール６８は図１１に示す破線枠４８、第９の割付処理モジュール６９は破線枠５１、第１０の割付処理モジュール７０は破線枠４９、第１１の割付処理モジュール７１は破線枠５２、第１２の割付処理モジュール７２は破線枠５０、第１３の割付処理モジュール７３は破線枠５３で示される割付形態に対応するモジュールである。
【００３７】
上述した各割付処理モジュールはメモリ空間上に仮想的に再現された描画空間上で割付処理を実行するものであり、各割付処理モジュールがメモリ空間上で割付処理を実行した結果は次に説明する再生モジュール７６によって印刷用紙や表示部１５上に再生される。
再生モジュール７６は、上述した各割付処理モジュールが割付処理を実行した結果をプリンタ２を制御して描画空間としての印刷用紙に印刷するモジュールである。なお、再生モジュール７６は各割付処理モジュールが割付処理を実行した結果を描画空間としての表示部１５に表示することによって再生してもよい。
【００３８】
次に、ＣＰＵ１１が画像処理プログラムを実行して描画空間上の矩形枠にディジタル画像を割り付ける処理について説明する。ここでは外部記憶部１６に複数のディジタル画像と複数のＸＨＴＭＬスクリプトとが記憶されているものとして説明する。
図１は、ＣＰＵ１１が矩形枠にディジタル画像を割り付ける処理の流れを示すフローチャートである。この処理は、画面制御モジュール７４によって表示される画面でユーザが操作部１４を操作してディジタル画像とＸＨＴＭＬスクリプトとを選択して実行を指示すると開始される。
【００３９】
Ｓ１１０では、ＣＰＵ１１は、ｗｉｄｔｈ：１００％のみが定義されているのか、ｈｅｉｇｈｔ：１００％のみが定義されているのか、それともその両方が定義されているのかを判定する。ＣＰＵ１１は、両方が定義されている場合はＦｉｔＡｌｌに対応する第１の割付処理モジュール６１を実行する（Ｓ１５５）。ＣＰＵ１１は、ｈｅｉｇｈｔ：１００％のみが定義されている場合はＳ１１５に進み、ｗｉｄｈｔｈ：１００％のみが定義されている場合はＳ１３５に進む。
【００４０】
Ｓ１１５では、ＣＰＵ１１はｌｅｆｔ：０、ｌｅｆｔ：数値（０を除く）、ｒｉｇｈｔ：０のいずれが定義されているかを判定する。ＣＰＵ１１は、ｌｅｆｔ：０が定義されている場合はＳ１２０に進み、ｌｅｆｔ：数値（０を除く）が定義されている場合はＳ１２５に進み、ｒｉｇｈｔ：０が定義されている場合はＳ１３０に進む。
【００４１】
Ｓ１２０では、ＣＰＵ１１はｈｅｉｇｈｔ：１００％に従い、ディジタル画像の高さが矩形枠の高さに一致するようディジタル画像を縦横等倍に拡大または縮小する。次に、ＣＰＵ１１は拡大または縮小したディジタル画像の横幅と矩形枠の横幅とを比較し、ディジタル画像が矩形枠内に収まるか否かを判定する。ＣＰＵ１１は、矩形枠の横幅がディジタル画像の横幅以上の場合は第２の割付処理モジュール６２を実行する（Ｓ１６０）。この結果、ディジタル画像は図１０の破線枠４１で示す割付形態で割り付けられる。ＣＰＵ１１は、矩形枠の横幅が画像の横幅未満の場合は第３の割付処理モジュール６３を実行する（Ｓ１６５）。この結果、ディジタル画像は図１０の破線枠４４で示す割付形態で割り付けられる。矩形枠の横幅が画像の横幅未満の場合、すなわちディジタル画像が矩形枠内に収まらない場合は、ディジタル画像は矩形枠からはみ出した部分がクリッピングされて割り付けられる。上述したように本実施例では割付形態の特定においてｔｏｐやｂｏｔｔｏｍは参照しない。従って割付形態を効率よく特定できる。
【００４２】
Ｓ１２５では、ＣＰＵ１１はｈｅｉｇｈｔ：１００％に従い、ディジタル画像の高さが矩形枠の高さに一致するようディジタル画像を縦横等倍に拡大または縮小する。ＣＰＵ１１は、矩形枠の横幅がディジタル画像の横幅以上の場合は第４の割付処理モジュール６４を実行する（Ｓ１７０）。この結果、ディジタル画像は図１０の破線枠４２で示す割付形態で割り付けられる。ＣＰＵ１１は、矩形枠の横幅がディジタル画像の横幅未満の場合は第５の割付処理モジュール６５を実行する（Ｓ１７５）。この結果、ディジタル画像は図１０の破線枠４５で示す割付形態で割り付けられる。
【００４３】
Ｓ１３０では、ＣＰＵ１１はｈｅｉｇｈｔ：１００％に従い、ディジタル画像の高さが矩形枠の高さに一致するようディジタル画像を縦横等倍に拡大または縮小する。ＣＰＵ１１は、矩形枠の横幅がディジタル画像の横幅以上の場合は第６の割付処理モジュール６６を実行する（Ｓ１８０）。この結果、ディジタル画像は図１０の破線枠４３で示す割付形態で割り付けられる。ＣＰＵ１１は、矩形枠の横幅がディジタル画像の横幅未満の場合は第７の割付処理モジュール６７を実行する（Ｓ１８５）。この結果、ディジタル画像は図１０の破線枠４６で示す割付形態で割り付けられる。
【００４４】
Ｓ１３５では、ＣＰＵ１１はｔｏｐ：０、ｔｏｐ：数値（０を除く）、ｂｏｔｔｏｍ：０のいずれが定義されているかを判定する。ＣＰＵ１１は、ｔｏｐ：０が定義されている場合はＳ１４０に進み、ｔｏｐ：数値（０を除く）が定義されている場合はＳ１４５に進み、ｂｏｔｔｏｍ：０が定義されている場合はＳ１５０に進む。
【００４５】
Ｓ１４０では、ＣＰＵ１１はｗｉｄｔｈ：１００％に従い、ディジタル画像の横幅が矩形枠の横幅に一致するようディジタル画像を縦横等倍に拡大または縮小する。次に、ＣＰＵ１１は拡大または縮小したディジタル画像の高さと矩形枠の高さとを比較する。ＣＰＵ１１は、矩形枠の高さがディジタル画像の高さ以上の場合は第８の割付処理モジュール６８を実行する（Ｓ１９０）。この結果、ディジタル画像は図１１の破線枠４８で示す割付形態で割り付けられる。ＣＰＵ１１は、矩形枠の高さがディジタル画像の高さ未満の場合は第９の割付処理モジュール６９を実行する（Ｓ１９５）。この結果、ディジタル画像は図１１の破線枠５１で示す割付形態で割り付けられる。
【００４６】
Ｓ１４５では、ＣＰＵ１１はｗｉｄｔｈ：１００％に従い、ディジタル画像の横幅が矩形枠の横幅に一致するよう画像を縦横等倍に拡大または縮小する。ＣＰＵ１１は、矩形枠の高さがディジタル画像の高さ以上の場合は第１０の割付処理モジュール７０を実行する（Ｓ２００）。この結果、ディジタル画像は図１１の破線枠４９で示す割付形態で割り付けられる。ＣＰＵ１１は、矩形枠の高さがディジタル画像の高さ未満の場合は第１１割付処理モジュール７１を実行する（Ｓ２０５）。この結果、ディジタル画像は図１１の破線枠５２で示す割付形態で割り付けられる。
【００４７】
Ｓ１５０では、ＣＰＵ１１はｗｉｄｔｈ：１００％に従い、ディジタル画像の横幅が矩形枠の横幅に一致するようディジタル画像を縦横等倍に拡大または縮小する。ＣＰＵ１１は、矩形枠の高さがディジタル画像の高さ以上の場合は第１２の割付処理モジュール７２を実行する（Ｓ２１０）。この結果、ディジタル画像は図１１の破線枠５０で示す割付形態で割り付けられる。ＣＰＵ１１は、矩形枠の高さがディジタル画像の高さ未満の場合は第１３の割付処理モジュール７３を実行する（Ｓ２１５）。この結果、ディジタル画像は図１１の破線枠５３で示す割付形態で割り付けられる。
Ｓ２２０では、ＣＰＵ１１は再生モジュール７６を実行し、割付処理の結果を例えば印刷用紙に印刷する。
【００４８】
以上説明した本発明の一実施例に係るＰＣ１によると、定義形式が異なっても割付形態が同一であれば同一の割付処理を実行する。例えば、上述した（１）と（２）とは割付形態が同一であり、ディジタル画像が矩形枠に対して相対的に縦長であればいずれも第２の割付処理モジュールが実行される。このため、（１）の定義形式と（２）の定義形式とで割付処理を別々に用意する必要がない。従ってＰＣ１によると、描画空間上の矩形枠にディジタル画像を割り付ける割付形態が限定されている場合において、割付処理の数を低減でき、割付処理を効率よく開発できる。
【００４９】
なお、本実施例ではスクリプトとしてＸＨＴＭＬで記述されたスクリプトを例に説明したが、スクリプトは実施例中で説明した固有スクリプトであってもよい。また、本実施例ではスクリプトを記述する言語としてＸＨＴＭＬを例に説明したが、言語はＸＭＬ（eXtensible Markup Language）であってもよい。
また、本実施例では画像処理装置としてパーソナルコンピュータを例に説明したが、画像処理装置は、例えばスクリプトを解釈可能であり且つ他の装置による制御を必要とすることなく単独でディジタル画像を印刷可能な所謂スタンドアロンプリンタでもよいし、プリンタと画像読み取り装置とが一体化された所謂複合機でもよい。
【図面の簡単な説明】
【００５０】
【図１】本発明の一実施例に係る画像処理装置のフローチャート。
【図２】本発明の一実施例に係る画像処理装置のブロック図。
【図３】本発明の一実施例に係るスクリプトの模式図。
【図４】（Ａ）〜（Ｃ）は本発明の一実施例に係る割付形態の定義を示す模式図。
【図５】（Ａ）〜（Ｃ）は本発明の一実施例に係る割付形態の定義を示す模式図。
【図６】（Ａ）〜（Ｃ）は本発明の一実施例に係る割付形態の模式図。
【図７】（Ａ）および（Ｂ）は本発明の一実施例に係る割付形態の模式図。
【図８】（Ａ）および（Ｂ）は本発明の一実施例に係る画像の再生を示す模式図。
【図９】本発明の一実施例に係るスクリプトの模式図。
【図１０】（Ａ）〜（Ｃ）は本発明の一実施例に係る定義形式の模式図。
【図１１】（Ａ）および（Ｂ）は本発明の一実施例に係る定義形式の模式図。
【図１２】本発明の一実施例に係る画像処理プログラムのブロック図。
【図１３】割付形態を説明するための模式図。
【符号の説明】
【００５１】
１  パーソナルコンピュータ（画像処理装置）、１１  ＣＰＵ（特定ユニット、割付処理ユニット）、６１〜７４  割付処理モジュール（画像処理プログラム）、７５  特定モジュール（画像処理プログラム）
【図１】
2007013435.tif 000003
【図２】
2007013435.tif 000004
【図３】
2007013435.tif 000005
【図４】
2007013435.tif 000006
【図５】
2007013435.tif 000007
【図６】
2007013435.tif 000008
【図７】
2007013435.tif 000009
【図８】
2007013435.tif 000010
【図９】
2007013435.tif 000011
【図１０】
2007013435.tif 000012
【図１１】
2007013435.tif 000013
【図１２】
2007013435.tif 000014
【図１３】
2007013435.tif 000015