(57)【要約】【課題】画像変形処理に要するメモリ量を低減する技術を提供する。【解決手段】画像処理装置は、変形前画像から画像領域内に変形後画像を生成する処理部を備える。この処理部は、画像領域の一部を構成する対象ブロックを設定する。そして、対象ブロックに対応づけられた変形前画像内の参照ブロックの画像を参照して対象ブロック内に画像を生成する。変形後画像の全体は、対象ブロックを画像領域内で順次移動して、移動後の対象ブロック内の画像を生成することにより生成される。この対象ブロックの画像の生成に先立って、参照ブロックの最大ブロックサイズが算出され、その大きさの画像を格納しうるように、メモリ領域が確保される。対象ブロックの画像は、対象ブロックに対応づけられた参照ブロックの画像をメモリ領域に格納するとともに、メモリ領域に格納された参照ブロックの画像を参照して生成される。【選択図】図３
2010166624.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置であって、
変形前画像に変形処理を施して、変形後画像領域内に変形後画像を生成する画像変形処理部を備え、
前記画像変形処理部は、
前記変形後画像領域の一部を構成し、前記変形処理のデスティネーションとなる対象ブロックを設定する対象ブロック設定部と、
前記対象ブロックに対応づけられ、前記変形処理のソースとなる前記変形前画像内の参照ブロックに含まれる画像を参照することにより、前記対象ブロック内に画像を生成するブロック変形処理部と、
前記対象ブロックを前記変形後画像領域内の異なる位置に順次移動して、移動後の前記対象ブロック内の画像を前記ブロック変形処理部に生成させることにより、前記変形後画像の全体を生成するブロック走査部と、
前記ブロック変形処理部による前記対象ブロックの画像の生成に先立って、前記対象ブロックが配置される全ての位置における前記参照ブロックの最大ブロックサイズを算出する最大ブロックサイズ算出部と、
前記最大ブロックサイズ算出部により算出された最大ブロックサイズの大きさの画像を格納しうるように、ソースメモリ領域を確保するソースメモリ領域確保部と、
を備え、
前記ブロック変形処理部は、前記対象ブロックに対応づけられた前記参照ブロックに含まれる画像を前記ソースメモリ領域に格納するとともに、前記ソースメモリ領域に格納された前記参照ブロックに含まれる画像を参照して前記対象ブロックの画像を生成する、
画像処理装置。
【請求項２】
請求項１記載の画像処理装置であって、
前記画像変形処理部は、元画像に前記変形処理をＮ回（Ｎは、２以上の整数）施すことによって、多重変形後画像を生成することが可能であり、
前記最大ブロックサイズ算出部は、前記多重変形後画像の画像領域内に設定される個々の対象ブロックから参照される前記Ｎ回の変形処理におけるＮ個の参照ブロックの論理和をとった上限ブロックサイズを前記Ｎ回の変形処理に先立って算出する上限ブロックサイズ算出部を有し、
前記メモリ領域確保部は、個々の変形処理に対応して前記上限ブロックサイズの大きさの画像を格納しうるＮ個のソースメモリ領域を確保し、
前記Ｎ個のソースメモリ領域のうち、ｉ（ｉは、１以上かつＮ以下の整数）番目のソースメモリ領域は、ｉ回目の変形処理のソースとして使用され、ｉ−１回目の変形処理のデスティネーションとして使用される、
画像処理装置。
【請求項３】
画像処理方法であって、
変形前画像に変形処理を施して、変形後画像領域内に変形後画像を生成する画像変形処理工程を備え、
前記画像変形処理工程は、
（ａ）前記変形後画像領域の一部を構成し、前記変形処理のデスティネーションとなる対象ブロックを設定する工程と、
（ｂ）前記対象ブロックに対応づけられ、前記変形処理のソースとなる前記変形前画像内の参照ブロックに含まれる画像を参照することにより、前記対象ブロック内に画像を生成する工程と、
（ｃ）前記対象ブロックを前記変形後画像領域内の異なる位置に順次移動して、移動後の前記対象ブロック内の画像を前記工程（ｂ）において生成することにより、前記変形後画像の全体を生成する工程と、
（ｄ）前記工程（ｂ）における前記対象ブロックの画像の生成に先立って、前記対象ブロックが配置される全ての位置における前記参照ブロックの最大ブロックサイズを算出する工程と、
（ｅ）前記工程（ｄ）において算出された最大ブロックサイズの大きさの画像を格納しうるように、ソースメモリ領域を確保する工程と、
を含み、
前記工程（ｂ）は、前記対象ブロックに対応づけられた前記参照ブロックに含まれる画像を前記ソースメモリ領域に格納するとともに、前記ソースメモリ領域に格納された前記参照ブロックに含まれる画像を参照して前記対象ブロックの画像を生成する工程を有する、
画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像に変形処理を施す画像処理技術に関する。
【背景技術】
【０００２】
画像を変形するための画像変形処理では、変形後の画像を構成する画素（参照元画素）を変形元の画像の画素（参照先画素）に対応付け（「マッピング」と呼ばれる）、参照元画素の画素値を参照先画素の画素値に設定することが行われる。
【０００３】
このようにマッピングを用いた画像変形処理では、参照元画素と参照先画素との位置関係は、変形処理の内容によっては、変形後の画像中の参照元画素の位置によって変化する。そのため、マッピングを用いた画像変形処理では、従来、変形前後の画像全体を格納しうるメモリ領域を確保し、確保されたメモリ領域において変形処理が施されていた。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−３１８２０４
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、変形対象の画像の大きさや画像処理を行う画像処理装置のメモリ容量によっては、変形前後の画像全体を格納可能なメモリ領域を確保することができず、変形処理が行えない場合が発生する。
【０００６】
本発明は、上述した従来の課題を解決するためになされたものであり、画像を変形するための画像変形処理に要するメモリ量を低減することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。
【０００８】
［適用例１］
画像処理装置であって、変形前画像に変形処理を施して、変形後画像領域内に変形後画像を生成する画像変形処理部を備え、前記画像変形処理部は、前記変形後画像領域の一部を構成し、前記変形処理のデスティネーションとなる対象ブロックを設定する対象ブロック設定部と、前記対象ブロックに対応づけられ、前記変形処理のソースとなる前記変形前画像内の参照ブロックに含まれる画像を参照することにより、前記対象ブロック内に画像を生成するブロック変形処理部と、前記対象ブロックを前記変形後画像領域内の異なる位置に順次移動して、移動後の前記対象ブロック内の画像を前記ブロック変形処理部に生成させることにより、前記変形後画像の全体を生成するブロック走査部と、前記ブロック変形処理部による前記対象ブロックの画像の生成に先立って、前記対象ブロックが配置される全ての位置における前記参照ブロックの最大ブロックサイズを算出する最大ブロックサイズ算出部と、前記最大ブロックサイズ算出部により算出された最大ブロックサイズの大きさの画像を格納しうるように、ソースメモリ領域を確保するソースメモリ領域確保部と、を備え、前記ブロック変形処理部は、前記対象ブロックに対応づけられた前記参照ブロックに含まれる画像を前記ソースメモリ領域に格納するとともに、前記ソースメモリ領域に格納された前記参照ブロックに含まれる画像を参照して前記対象ブロックの画像を生成する、画像処理装置。
【０００９】
この適用例では、ブロック変形処理部による対象ブロックの画像の生成に先立って、対象ブロックが配置される全ての位置における参照ブロックの最大ブロックサイズが算出される。そして、最大ブロックサイズの大きさの画像を格納しうるように、ソースメモリ領域が確保される。そのため、ソースメモリ領域には、対象ブロック内の画像の生成に要する変形前画像を格納することができるので、変形処理をブロック単位で行うことができる。変形処理をブロック単位で行うことにより、変形処理に使用されるメモリ領域を小さくすることができ、画像変形処理に要するメモリ量を低減することができる。
【００１０】
［適用例２］
適用例１記載の画像処理装置であって、前記画像変形処理部は、元画像に前記変形処理をＮ回（Ｎは、２以上の整数）施すことによって、多重変形後画像を生成することが可能であり、前記最大ブロックサイズ算出部は、前記多重変形後画像の画像領域内に設定される個々の対象ブロックから参照される前記Ｎ回の変形処理におけるＮ個の参照ブロックの論理和をとった上限ブロックサイズを前記Ｎ回の変形処理に先立って算出する上限ブロックサイズ算出部を有し、前記メモリ領域確保部は、個々の変形処理に対応して前記上限ブロックサイズの大きさの画像を格納しうるＮ個のソースメモリ領域を確保し、前記Ｎ個のソースメモリ領域のうち、ｉ（ｉは、１以上かつＮ以下の整数）番目のソースメモリ領域は、ｉ回目の変形処理のソースとして使用され、ｉ−１回目の変形処理のデスティネーションとして使用される、画像処理装置。
【００１１】
この適用例では、個々の変形処理に対応して上限ブロックサイズの大きさの画像を格納しうるＮ個のソースメモリ領域が確保される。そのため、Ｎ回の変形処理のいずれにおいても、変形処理のデスティネーション画像の生成に要するソース画像をソースメモリ領域に格納することができる。そのため、複数回の変形処理を行う場合においても、変形処理をブロック単位で行うことができ、画像変形処理に要するメモリ量を低減することができる。
【００１２】
なお、本発明は、種々の態様で実現することが可能であり、例えば、画像処理方法および装置、画像変形方法および装置、画像補正方法および装置、これらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施例としての画像処理装置が適用されるプリンタの構成を概略的に示す説明図。
【図２】画像の一覧表示を含むユーザインタフェースの一例を示す説明図である。
【図３】プリンタにおいて顔形状補正印刷を行う際に実行される顔形状補正印刷ルーチンを示すフローチャート。
【図４】画像変形のタイプおよび度合いを設定するためのユーザインタフェースの一例を示す説明図。
【図５】変形領域の設定結果の一例を示す説明図。
【図６】２つの変形領域のそれぞれが小領域に分割される様子を示す説明図。
【図７】変形パラメータが設定される様子を示す説明図。
【図８】ステップＳ１５０において、２つの変形領域２のそれぞれについて変形パラメータが設定された様子を示す説明図。
【図９】ステップＳ２００において実行されるバンドバッファ確保処理の流れを示すフローチャート。
【図１０】画像を変形する際に必要なバンド幅を示す説明図。
【図１１】図９のステップＳ２１０において実行される最大バンド幅の算出処理の流れを示すフローチャート。
【図１２】複数の変形処理が行われる際に必要なバンド幅を示す説明図。
【図１３】ステップＳ３００において実行されるライン変形処理の流れを示すフローチャート。
【図１４】ライン変形処理により変形済の画像が生成される様子を示す説明図。
【図１５】ステップＳ３３０において実行される参照範囲の変形済画像生成処理の流れを示すフローチャート。
【図１６】画像の変形処理が行われる際のバンドバッファの状態を示す説明図。
【発明を実施するための形態】
【００１４】
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
Ａ．実施例：
Ｂ．変形例：
【００１５】
Ａ．実施例：
図１は、本発明の一実施例としての画像処理装置が適用されるプリンタ１００の構成を概略的に示す説明図である。プリンタ１００は、メモリカードＭＣ等から取得した画像データに基づき画像を印刷する、いわゆるダイレクトプリントに対応したカラーインクジェットプリンタである。プリンタ１００は、プリンタ１００の各部を制御するＣＰＵ１１０と、例えばＲＯＭやＲＡＭによって構成された内部メモリ１２０と、ボタンやタッチパネルにより構成された操作部１４０と、液晶ディスプレイにより構成された表示部１５０と、プリンタエンジン１６０と、カードインタフェース（カードＩ／Ｆ）１７０と、を備えている。プリンタ１００は、さらに、他の機器（例えば、デジタルスチルカメラやパーソナルコンピュータ）とのデータ通信を行うためのインタフェースを備えているものとしてもよい。プリンタ１００の各構成要素は、バスを介して互いに接続されている。
【００１６】
プリンタエンジン１６０は、印刷データに基づき印刷を行う印刷機構である。カードインタフェース１７０は、カードスロット１７２に挿入されたメモリカードＭＣとの間でデータのやり取りを行うためのインタフェースである。なお、本実施例では、メモリカードＭＣにＲＧＢデータとしての画像データが格納されており、プリンタ１００は、カードインタフェース１７０を介してメモリカードＭＣに格納された画像データの取得を行う。
【００１７】
内部メモリ１２０には、顔形状補正部２００と、表示処理部３１０と、印刷処理部３２０とが格納されている。顔形状補正部２００は、所定のオペレーティングシステムの下で、後述する顔形状補正処理を実行するためのコンピュータプログラムである。表示処理部３１０は、表示部１５０を制御して、表示部１５０上に処理メニューやメッセージを表示させるディスプレイドライバである。印刷処理部３２０は、画像データから印刷データを生成し、プリンタエンジン１６０を制御して、印刷データに基づく画像の印刷を実行するためのコンピュータプログラムである。ＣＰＵ１１０は、内部メモリ１２０から、これらのプログラムを読み出して実行することにより、これら各部の機能を実現する。
【００１８】
顔形状補正部２００は、プログラムモジュールとして、変形態様設定部２１０と、変形領域設定部２２０と、変形領域分割部２３０と、変形パラメータ設定部２４０と、分割領域変形部２５０と、を含んでいる。分割領域変形部２５０は、最大バンド幅算出部２５２と、バンドバッファ割付部２５４と、変形処理部２５６と、を含んでいる。これらの各部の機能については、後述する。
【００１９】
内部メモリ１２０には、また、分割点配置パターンテーブル４１０と分割点移動テーブル４２０とが格納されている。バンドバッファ４３０は、後述するようにバンドバッファ割付部２５４により、内部メモリ１２０内に確保される記憶領域である。分割点配置パターンテーブル４１０および分割点移動テーブル４２０の内容ならびにバンドバッファ４３０の機能については、後述する。
【００２０】
プリンタ１００は、メモリカードＭＣに格納された画像データに基づき、画像の印刷を行う。カードスロット１７２にメモリカードＭＣが挿入されると、表示処理部３１０により、メモリカードＭＣに格納された画像の一覧表示を含むユーザインタフェースが表示部１５０に表示される。図２は、画像の一覧表示を含むユーザインタフェースの一例を示す説明図である。なお、本実施例では、画像の一覧表示は、メモリカードＭＣに格納された画像データ（画像ファイル）に含まれるサムネイル画像を用いて実現される。図２に示すユーザインタフェースには、８つのサムネイル画像ＴＮ１〜ＴＮ８と、５つのボタンＢＮ１〜ＢＮ５が表示されている。
【００２１】
ユーザが、図２に示すユーザインタフェース上で画像を選択し、通常印刷ボタンＢＮ３を操作すると、プリンタ１００は、選択された画像を通常通り印刷する通常印刷処理を実行する。一方、ユーザがユーザインタフェース上で、画像を選択し、顔形状補正印刷ボタンＢＮ４を操作すると、プリンタ１００は、選択された画像について、画像中の顔の形状を補正して補正後の画像を印刷する顔形状補正印刷処理を実行する。図２の例では、サムネイル画像ＴＮ１が選択され、顔形状補正印刷ボタンＢＮ４が操作されている。そのため、プリンタ１００は、サムネイル画像ＴＮ１に対応する画像について顔の形状を補正して補正後の画像を印刷する。
【００２２】
図３は、プリンタ１００が顔形状補正印刷を行う際に実行される顔形状補正印刷処理の流れを示すフローチャートである。この顔形状補正印刷処理は、上述のように、図２に示すユーザインタフェース上でのユーザの顔形状補正印刷ボタンＢＮ４の操作に応じて、プリンタ１００により実行される。
【００２３】
ステップＳ１１０において、顔形状補正部２００（図１）は、顔形状補正処理の対象となる対象画像を設定する。顔形状補正部２００は、図２に示したユーザインタフェースにおいてユーザにより選択されたサムネイル画像ＴＮ１に対応する画像を対象画像として設定する。なお、以下では、顔形状の補正の対象となる元の画像を「元画像」とも呼び、元画像を表す画像データを「元画像データ」とも呼ぶ。
【００２４】
ステップＳ１２０では、変形態様設定部２１０（図１）が、顔形状補正のための画像変形のタイプと画像変形の度合いとを設定する。変形態様設定部２１０は、画像変形のタイプおよび度合いを設定するためのユーザインタフェースを表示部１５０に表示するように表示処理部３１０に指示し、当該ユーザインタフェースを通じてユーザにより指定された画像変形のタイプおよび度合いを選択し、処理に使用する画像変形タイプおよび度合いとして設定する。
【００２５】
図４は、画像変形のタイプおよび度合いを設定するためのユーザインタフェースの一例を示す説明図である。図４に示すように、このユーザインタフェースには、画像変形タイプを設定するためのインタフェースと、補正結果のプレビュー画像と、が含まれている。画像変形タイプとしては、顔の形状をシャープにする変形タイプ「タイプＡ」や、目の形状を大きくする変形タイプ「タイプＢ」等の複数の選択肢が予め設定されている。ユーザは、このインタフェースを操作することにより、画像変形のタイプを複数の選択肢から選択する。変形態様設定部２１０は、ユーザにより選択された画像変形タイプを、実際の処理に使用する画像変形タイプとして設定する。
【００２６】
また、図４に示すユーザインタフェースには、画像変形の度合い（程度）を設定するためのインタフェースが含まれている。画像変形の度合いとしては、例えば、強（Ｓ）、中（Ｍ）、弱（Ｗ）の３段階の選択肢が予め設定されている。ユーザは、このインタフェースを操作して画像変形の度合いを指定する。変形態様設定部２１０は、ユーザにより指定された画像変形の度合いを、実際の処理に使用する画像変形の度合いとして設定する。ユーザインタフェースに設けられたチェックボックスは、ユーザが変形態様の詳細指定を希望する場合にチェックされる。
【００２７】
ユーザが、図４に示すユーザインタフェースに設けられた種々のインタフェースを操作すると、顔形状補正部は元画像を縮小した縮小画像に変形処理を施し、変形処理が施された画像がサムネイル画像として表示される。但し、サムネイル画像の表示を省略することも可能である。
【００２８】
なお、以下では、画像変形のタイプとして顔の形状をシャープにするための変形タイプ「タイプＡ」が設定され、画像変形の度合いとして程度「中」の度合いが設定され、ユーザによる詳細指定の希望はなかったものとして説明を行う。
【００２９】
ステップＳ１３０（図３）において、変形領域設定部２２０は、顔形状補正のための画像変形処理を施す領域（変形領域）を設定する。変形領域の設定では、まず、顔領域の検出が行われる。検出された顔領域は、位置や方向が調整される。そして、位置や方向が調整された結果を基に変形領域が設定される。なお、顔領域は、例えばテンプレートを利用したパターンマッチングによる方法（特開２００４−３１８２０４参照）といった公知の顔検出方法により検出される。
【００３０】
図５は、変形領域の設定結果の一例を示す説明図である。図５（ａ）は、顔領域の検出結果を示しており、図５（ｂ）は、検出された顔領域に基づいて設定される変形領域を示している。図５の例では、対象画像ＴＩには２人の人物が含まれている。そのため、図５（ａ）の太線で示すように、対象画像ＴＩから２人の人物に対応して２つの顔領域ＦＡ１，ＦＡ２が検出される。これらの顔領域ＦＡ１，ＦＡ２は、それぞれの目と鼻と口の画像を含む矩形の領域となっている。図５（ｂ）の破線は、２つの顔領域ＦＡ１，ＦＡ２を示しており、太線は、２つの顔領域ＦＡ１，ＦＡ２のそれぞれについて設定された２つの変形領域ＴＡ１，ＴＡ２を示している。
【００３１】
図３のステップＳ１４０において、変形領域分割部２３０は、ステップＳ１３０において設定された変形領域を複数の小領域に分割する。具体的には、変形領域分割部２３０は、ステップＳ１３０において設定された変形領域に対して分割点を配置する。そして、分割点を結ぶ直線を用いて、変形領域を複数の小領域に分割する。なお、変形領域内における分割点の配置態様（分割点の個数および位置）は、分割点配置パターンテーブル４１０（図１）により、ステップＳ１２０（図３）において設定される変形タイプと対応付けて定義されている。図４に示すように、変形タイプとして顔をシャープにするための変形「タイプＡ」が選択されている場合には、変形領域は１５個の矩形の小領域に分割される。
【００３２】
図６は、図３のステップＳ１３０において設定された２つの変形領域ＴＡ１，ＴＡ２のそれぞれが、小領域に分割される様子を示す説明図である。図６（ａ）は、図３のステップＳ１３０において設定された２つの変形領域ＴＡ１，ＴＡ２の配置を示している。図６（ｂ）は、ステップＳ１４０において、２つの変形領域ＴＡ１，ＴＡ２のそれぞれが小領域に分割された様子を示している。本実施例では、変形タイプとして変形「タイプＡ」が選択されている。そのため、図６（ｂ）に示すように、２つの変形領域ＴＡ１，ＴＡ２は、それぞれ、１５個の矩形の小領域に分割される。
【００３３】
図３のステップＳ１５０において、変形パラメータ設定部２４０は、変形領域に変形処理を施す際の種々のパラメータを設定する。具体的には、変形領域の小領域への分割に使用された分割点の移動態様（移動方向および移動距離）を設定する。分割点の移動態様は、分割点移動テーブル４２０（図１）により、ステップＳ１２０（図３）において設定される変形タイプと変形の度合いとの組み合わせに対応付けて、予め定められている。上述したように、変形タイプとして顔をシャープにするための変形「タイプＡ」（図４参照）が設定され、変形度合いとして程度「中」の度合いが設定されている場合には、分割点の移動態様は、これらの変形タイプおよび変形度合いの組み合わせに対応付けられた移動方向および移動距離に設定される。
【００３４】
図７は、変形パラメータが設定される様子を示す説明図である。図７（ａ）は、変形パラメータ設定部２４０により参照される分割点移動テーブル４２０の内容の一例を示している。図７（ｂ）は、図７（ａ）に示す分割点移動テーブル４２０に従った分割点の移動態様を示している。
【００３５】
分割点移動テーブル４２０には、各分割点Ｄ１１〜Ｄ４２について、基準線ＲＬと直交する方向（Ｈ方向）および基準線ＲＬと平行な方向（Ｖ方向）に沿った移動量が示されている。ここで基準線ＲＬとは、変形領域ＴＡを垂直に二分する方向であり、顔の上下方向に相当する方向である。分割点移動テーブル４２０に示された移動量の単位は、画像上の画素ピッチＰＰである。また、Ｈ方向については、向かって右側への移動量が正の値として表され、向かって左側への移動量が負の値として表され、Ｖ方向については、上方への移動量が正の値として表され、下方への移動量が負の値として表される。例えば、分割点Ｄ１１は、Ｈ方向に沿って右側に画素ピッチＰＰの７倍の距離だけ移動され、Ｖ方向に沿って上方に画素ピッチＰＰの１４倍の距離だけ移動される。また、例えば分割点Ｄ２２は、Ｈ方向およびＶ方向共に移動量がゼロであるため、移動されない。
【００３６】
このように、分割点の移動態様が設定されることにより、変形領域ＴＡ内の分割点は、図７（ｂ）に示すように、白丸で示す位置から黒丸で示す位置に移動する。なお、図７（ｂ）において、移動されない分割点の位置も黒丸で示している。このように、変形パラメータを設定することにより、変形処理において、変形領域ＴＡ内の破線で示す小領域内の画像は、実線で示す小領域内の画像に変形される。例えば、分割点Ｄ１１，Ｄ２１，Ｄ２２，Ｄ１２を頂点とする小領域（ハッチングを付して示す小領域）内の画像は、分割点Ｄ'１１，Ｄ'２１，Ｄ２２，Ｄ'１２を頂点とする小領域内の画像に変形される。
【００３７】
小領域内の画像の変形は、変形後の小領域中の点を変形前の小領域中の点に対応づけること（マッピング）により行われる。マッピングによる変形では、変形後の小領域中の画素（対象画素）の位置（対象画素位置）から、変形前の小領域中の対応する画素（参照画素）の位置（参照位置）が算出される。そして、変形前の小領域における参照画素の画素値が、対象画素の画素値に設定されることにより、小領域内の画像の変形が行われる。なお、参照位置が変形前の小領域の画素の位置からずれている場合、対象画素の画素値には、参照位置の近傍の画素から補間処理（例えば、バイリニア法やバイキュービック法）により算出された画素値が設定される。なお、以下では、このように補間処理により画素値が算出される仮想的な画素も参照画素と呼ぶ。
【００３８】
なお、図６（ａ）に示すように、ステップＳ１３０において設定された２つの変形領域ＴＡ１，ＴＡ２は、互いに重複した状態となっている。このように変形領域が重複する場合、変形パラメータ設定部２４０は、ステップＳ１４０において、重複する変形領域の変形の優先順位を決定する。変形の優先順位は、変形領域の位置等により設定される。この場合、例えば、変形領域の上端位置がより上方の変形領域ＴＡ２が優先される。但し、変形の優先順位は、変形領域の大きさ等の他のパラメータに基づいて設定するものとしてもよい。なお、以下では、より優先順位の高い変形領域を「上位の」変形領域とも呼び、上位の変形領域を変形する処理を「上位の」変形処理とも呼ぶ。また、より優先順位の低い変形領域を「下位の」変形領域とも呼び、下位の変形領域を変形する処理を「下位の」変形処理とも呼ぶ。
【００３９】
図８は、ステップＳ１５０において、２つの変形領域ＴＡ１，ＴＡ２のそれぞれについて変形パラメータが設定された様子を示す説明図である。図８に示すように、２つの変形領域ＴＡ１，ＴＡ２がそれぞれ有する白丸で示す分割点は、黒丸で示す位置に移動される。そのため、点線で示す２つの変形領域ＴＡ１，ＴＡ２中の小領域は、それぞれ実線で示す小領域に変形される。
【００４０】
図３のステップＳ２００において、バンドバッファ割付部２５４（図１）は、内部メモリ１２０（図１）内にバンドバッファを確保する。図９は、ステップＳ２００において実行されるバンドバッファ確保処理の流れを示すフローチャートである。
【００４１】
ステップＳ２１０において、バンドバッファ割付部２５４は、最大バンド幅を算出する。ここで、バンドとは、後述する変形処理において使用される画像の横方向に延びた帯状の領域であり、バンド幅とは、バンドに含まれる縦方向の画素数をいう。
【００４２】
図１０は、画像を変形する際に必要なバンド幅を示す説明図である。図１０の例では、図１０（ａ）に示す図形（矢印）の下方の２個の頂点が、図１０（ｂ）に示すように移動されるように、画像が変形されている。図１０（ｂ）の四角は、移動されない頂点Ｖ１〜Ｖ３，Ｖ６，Ｖ７を示している。図１０（ｂ）の白丸は、変形前の頂点Ｖ４，Ｖ５の位置を示しており、黒丸は変形後の頂点Ｖ４’，Ｖ５’の位置を示している。
【００４３】
変形後の頂点Ｖ４’を対象画素とした場合には、参照画素は、頂点Ｖ４となる。そのため、図１０（ａ）から図１０（ｂ）のように変形を行う場合において、対象画素Ｖ４’の画素値を決定するために、参照画素Ｖ４の画素値が参照される。従って、図１０に示すように画像を変形する場合には、対象画素Ｖ４’と、対象画素Ｖ４’よりも下方に距離ｄｄ（以下、「下側変位」とも呼ぶ）離れた参照画素Ｖ４がバンドに含まれるようにバンド幅が設定される。同様に、対象画素Ｖ５’の画素値を決定するために、参照画素Ｖ５の画素値が参照される。従って、図１０に示すように画像を変形する場合には、対象画素Ｖ５’と、対象画素Ｖ５’から上方に距離ｄｕ（以下、「上側変位」とも呼ぶ）離れた参照画素Ｖ５がバンドに含まれるようにバンド幅が設定される。
【００４４】
図１１は、図９のステップＳ２１０において実行される最大バンド幅の算出処理の流れを示すフローチャートである。ステップＳ２１１では、最大バンド幅算出部２５２（図１）が、上側変位と下側変位の最大値をいずれもゼロに設定する。次いで、最大バンド幅算出部２５２は、対象画素の左上端の画素を対象画素に設定する（ステップＳ２１２）。
【００４５】
ステップＳ２１３において、最大バンド幅算出部２５２は、対象画素の参照位置を取得する。そして、ステップＳ２１４において、参照位置と対象画素位置の上側変位あるいは下側変位（以下、上側変位と下側変位とを併せて、単に「変位」とも呼ぶ）を取得する。取得された変位は、最大バンド幅算出部２５２により変位の最大値と比較されて変位の最大値が更新される（ステップＳ２１５）。
【００４６】
ステップＳ２１６において、最大バンド幅算出部２５２は、上位の変形処理があるか否かを判断する。上位の変形処理があると判断された場合には、制御はステップＳ２１７に移される。一方、上位の変形処理がないと判断された場合には、制御はステップＳ２１８に移される。
【００４７】
ステップＳ２１７において、最大バンド幅算出部２５２は、上位の変形処理による参照画素の参照位置を取得する。参照画素の参照位置の取得後、制御はステップＳ２１４に戻され、参照位置の取得の対象となる上位の変形処理が無くなるまで、ステップＳ２１４〜Ｓ２１７が繰り返し実行される。
【００４８】
図１２は、複数の変形処理が行われる際に必要なバンド幅を示す説明図である。図１２の例では、第１の変形処理と第２の変形処理との２回の変形処理が行われる。図１２（ａ）は、上位の変形処理である第１の変形処理が行われる様子を示し、図１２（ｂ）は、下位の変形処理である第２の変形処理が行われる様子を示している。図１２（ｃ）は、第１の変形処理の後第２の変形処理が行われた状態を示している。なお、図１２（ａ）〜図１２（ｃ）において、破線は変形処理前の小領域の形状を表しており、実線は変形処理後の小領域の形状を表している。
【００４９】
図１２（ａ）に示すように、第１の変形処理では、白四角を頂点とする矩形の小領域は、黒四角を頂点とする四角形の小領域に変形される。そのため、白丸で示す変形前の小領域中の画素Ｐ０は、第１の変形処理により、距離ｄ１上方の画素Ｐ１に移動される。同様に、図１２（ｂ）に示すように、第２の変形処理では、白三角を頂点とする矩形の小領域は、黒三角を頂点とする四角形の小領域に変形され、白丸で示す変形前の小領域中の画素Ｐ１は距離ｄ２上方の画素Ｐ２に移動される。
【００５０】
このように、第１の変形処理と第２の変形処理を順次行うことにより、図１２（ｃ）に示すように、画素Ｐ０の位置は、画素Ｐ２の位置に移動される。図１１のステップＳ２１３において、対象画素が画素Ｐ２に設定された場合、ステップＳ２１４において、まず下側変位ｄ２が取得される。そして、上位の変形処理（第１の変形処理）があるため、ステップＳ２１７において、参照画素（画素Ｐ１）の参照位置、すなわち、画素Ｐ０の位置が取得される。そのため、ステップＳ２１４において、距離ｄ１と距離ｄ２の和が対象画素Ｐ２の下側変位として取得され、ステップＳ２１５において変位の最大値が更新される。このように、ステップＳ２１４〜Ｓ２１７を繰り返し実行することにより、複数の変形処理を順次行う場合においても、上側変位と、下側変位と、対象画素の幅（すなわち、１）を足しあわせた幅のバンドを使用することにより、対象画素Ｐ２の変形処理を行うことができる。
【００５１】
図１１のステップＳ２１８において、最大バンド幅算出部２５２は、バンド幅の算出が対象画像の全ての画素について行われたか否かを判断する。対象画像の全ての画素についてバンド幅の算出が行われた場合、制御は図９のバンドバッファ確保処理に戻される。一方、バンド幅の算出が行われていない画素がある場合、制御はステップＳ２１９に移される。
【００５２】
ステップＳ２１９において、最大バンド幅算出部２５２は、対象画素の次の画素を新たな対象画素に設定する。具体的には、対象画素が画像の右端の画素でない場合、対象画素の右側の画素が新たな対象画素に設定される。一方、対象画素が対象画像の右端の画素である場合、対象画素の直下の列の左端の画素が新たな対象画素に設定される。そして、ステップＳ２１８において、対象画像の全ての画素についてバンド幅の算出が行われたと判断されるまで、ステップＳ２１３〜Ｓ２１９が繰り返し実行される。
【００５３】
このようにして、最大バンド幅算出部２５２は、全ての画素について必要となるバンド幅の最大値（最大バンド幅）を算出する。最大バンド幅の算出の後、図９のステップＳ２２０において、バンドバッファ割付部２５４（図１）は、変形前の画像である元画像を格納するための最大バンド幅のバンドバッファ（元画像バッファ）を確保する。次いで、ステップＳ２３０において、バンドバッファ割付部２５４は、変形処理後の画像を格納するための最大バンド幅のバンドバッファ（変形画像バッファ）を変形処理毎に確保する。変形画像バッファの確保の後、制御は図３の顔形状補正印刷処理に戻される。なお、変形画像バッファは、変形処理が行われた画像が生成される領域であるので、「変形後画像領域」とも呼ぶことができる。
【００５４】
図３のステップＳ３００において、変形処理部２５６（図１）は、１ライン中の個々の画素の画素値を設定することにより画像を変形するライン変形処理を行う。ここで、ラインとは、画像の横方向全体に延びた縦１画素分の画素列をいう。
【００５５】
図１３は、ステップＳ３００において実行されるライン変形処理の流れを示すフローチャートである。図１４は、ライン変形処理により変形済の画像が生成される様子を示す説明図である。なお、図１４の左側の列は、それぞれ変形前の画像を表している。また、図１４の中央の列は、それぞれ第１の変形処理後の画像を表し、右側の列は、それぞれ第２の変形処理後の画像を表している。
【００５６】
図１４（ａ）は、最初のライン変形処理が行われる前の状態を示している。最初のライン変形処理は、画像の上端のラインに対して行われる。そのため、図１４（ａ）に示すように、生成ライン（ハッチング部）は、画像の上端のラインに設定される。なお、図１４（ａ）に示す状態においては、画素値を設定するライン変形処理が行われていないため、第１の変形処理後の画像と第２の変形処理後の画像は、いずれも生成されていない状態となっている。
【００５７】
ステップＳ３１０において、変形処理部２５６は、変形処理の対象（変形処理の「デスティネーション」）となるラインの参照範囲（変形処理の「ソース」）を特定する。なお、変形処理の対象となるラインは、変形済画像が生成されるラインであるので、以下では「生成ライン」とも呼ぶ。変形処理部２５６は、具体的には、生成ライン中の画素のそれぞれについて、参照画素の位置を算出する。そして、縦方向が参照画素の上下端にわたり、横方向が画像全体に延びた範囲が参照範囲として特定される。図１４（ｂ）は、生成ラインの参照範囲が特定された状態を示しており、矢印で示すように、第１の変形処理後の画像中の生成ラインの参照範囲が特定される。
【００５８】
ステップＳ３２０において、変形処理部２５６は、参照範囲が上位の変形処理において変形済であるか否か、すなわち、上位の変形処理により画像が生成されているか否かを判断する。参照範囲が上位の変形処理において変形済であると判断された場合には、制御はステップＳ３４０に移される。一方、参照範囲が上位の変形処理において変形済でないと判断された場合には、制御はステップＳ３３０に移される。なお、参照範囲が変形済であるか否かは、上位の変形済画像を構成する複数のラインそれぞれについて、ライン上の画像が生成済か否かを表すフラグを設けることにより判断することができる。図１４の例では、図１４（ｂ）に示すように、参照範囲には、第１の変形処理による変形済画像が生成されていない。そのため、ハッチングを付して示す参照範囲は変形済でないと判断され、制御はステップＳ３３０に移される。
【００５９】
ステップＳ３３０において、変形処理部２５６は、上位の変形処理により参照範囲内に変形済画像を生成する。図１４の例では、図１４（ｃ）に示すようにハッチングで示す参照範囲から、矢印で示すように、元画像中の参照先が特定される。そして、図１４（ｄ）の矢印で示すように、元画像中の参照先の画像に第１の変形処理が施された画像が参照範囲内に生成される。なお、参照範囲内に上位の変形処理により変形済画像を生成する処理（参照範囲画像生成処理）の具体的内容については、後述する。なお、上述の説明から判るように、下位の変形処理におけるソースは、上位の変形処理におけるデスティネーションとなる。
【００６０】
ステップＳ３４０において、変形処理部２５６は、生成ライン上に変形済画像を生成する。具体的には、図１４（ｅ）に示すように、参照範囲に生成された画像に第２の変形処理を施すことにより、生成ライン上に第２の変形処理が施された画像を生成する。これにより、生成ラインには第１の変形処理と第２の変形処理とがそれぞれ順に施された画像（多重変形後画像）が生成される。
【００６１】
図１５は、ステップＳ３３０において実行される参照範囲画像生成処理の流れを示すフローチャートである。図１６は、画像の変形処理が行われる際のバンドバッファの状態を示す説明図である。図１６の左側の列は、それぞれ元画像バッファの状態を示している。図１６の中央の列は、第１の変形処理のための第１の変形画像バッファの状態を示し、図１６の右側の列は、第２の変形処理のための第２の変形画像バッファの状態を示している。
【００６２】
図１６（ａ）は、上側の生成ライン上に変形済画像が生成された状態を示している。上述のように、生成ライン上に変形済画像を生成するため、第１の変形画像バッファ中の生成ラインの参照範囲には、第１の変形処理後の画像が生成されている。生成ライン上への変形済画像の生成が完了すると、図１６（ｂ）に示すように、ラインは下方に１画素分移動される。このとき、元画像バッファには、メモリカードＭＣ（図１）から１ライン分の画像が取り込まれる。そして、破線で示すバンドバッファの上端のラインは破棄される。
【００６３】
図１６（ｂ）の第２の変形画像バッファのハッチング部は、ライン移動後の生成ラインを示している。そして、この生成ラインの参照範囲は、図１３のステップＳ３１０において、第１の変形画像バッファの太枠内の範囲と特定される。図１６（ｂ）に示すように、生成ラインの参照範囲のうち、下端の１ラインは変形済画像が生成されていない。そのため、図１３のステップＳ３２０において、参照範囲が変形済でないと判断され、ステップＳ３３０において、図１５に示す参照範囲画像生成処理が実行される。
【００６４】
ステップＳ３３１において、変形処理部２５６は、参照範囲の上端のラインを対象ラインに設定する。そして、ステップＳ３３２において、対象ラインが変形済、すなわち、変形済画像が生成済であるか否かを判断する。対象ラインが変形済と判断された場合には、制御はステップＳ３３８に移される。一方、対象ラインが変形済でないと判断された場合には、制御はステップＳ３３３に移される。
【００６５】
図１６の例では、図１６（ａ）に示すように、上側の生成ラインに変形済画像が生成する際に第１の変形画像バッファには、第１の変形処理後の画像が生成されている。そのため、ステップＳ３３２において、対象ラインが変形済であると判断され、制御はステップＳ３３７に移される。
【００６６】
ステップＳ３３７において、変形処理部２５６は、対象ラインが参照範囲の下端か否かを判断する。対象ラインが参照範囲の下端と判断された場合、図１６の処理は終了して制御は戻される。一方、対象ラインが参照範囲の下端でないと判断された場合、制御はステップＳ３３８に移される。そして、ステップＳ３３８において、変形処理部２５６は、対象ラインの次（下側）のラインを新たな対象ラインに設定する。
【００６７】
このようにして、対象ラインは、参照範囲の上端から下方に向かって順次移動され、対象ラインが図１６（ｂ）の太枠で示す参照範囲の上部内にある間、２つのステップＳ３３２，Ｓ３３８が繰り返し実行される。対象ラインが下方に向かって順次移動されて、参照範囲の下端の１ラインが対象ラインに設定されると。ステップＳ３３２では、対象ラインが変形済でないと判断される。そして、ステップＳ３３２から制御はステップＳ３３３に移される。
【００６８】
ステップＳ３３３において、変形処理部２５６は、対象ライン上の画像を生成するための変形処理が最上位の変形処理であるか否かを判断する。変形処理が最上位であると判断された場合には、制御はステップＳ３３６に移され、対象ライン上に変形済画像が生成される。一方、変形処理が最上位でないと判断された場合には、制御はステップＳ３３４に移される。
【００６９】
ステップＳ３３４において、変形処理部２５６は、図１３のステップＳ３１０と同様に、対象ラインの参照範囲を特定する。次いで、ステップＳ３３５において、変形処理部２５６は、図１３のステップＳ３１０とどうように、対象ラインの参照範囲が上位の変形処理において変形済であるか否かを判断する。参照範囲が上位の変形処理において変形済であると判断された場合には、制御はステップＳ３３６に移される。一方、参照範囲が上位の変形処理において変形済でないと判断された場合には、制御はステップＳ３３０に移され参照範囲画像生成処理は再帰的に実行される。このように、参照範囲画像生成処理を再帰的に実行することにより、複数の変形処理が行われる場合においても、対象ライン上には上位の変形処理により変形済画像が生成される。
【００７０】
図１６の例では、第１の変形処理が最上位の変形処理となっている。そのため、ステップＳ３３３では、変形処理が最上位の変形処理であると判断される。次いで、ステップＳ３３６において、図１６（ｄ）に示すように、参照範囲の下端の１ライン上に元画像に第１の変形処理を施した画像が生成される。このように、参照範囲画像生成処理により、第１の変形画像バッファ中の参照範囲には、第１の変形処理が施された画像が生成される。そして、第２の変形画像バッファ中の生成ライン上には、図１６（ｅ）に示すように、第１の変形画像バッファ中の参照範囲の画像に第２の変形処理を施すことにより、変形済の画像が生成される。
【００７１】
このようにして、生成ライン上に変形済画像が生成されると、図１３に示すライン変形処理は終了し、制御は、図３に示す顔形状補正印刷処理に戻される。
【００７２】
図３のステップＳ４１０では、変形済の画像が生成された生成ラインの印刷処理が行われる。具体的には、生成ラインの画像を表すデータ（ラインデータ）が印刷処理部３２０に供給される。印刷処理部３２０では、供給されたラインデータを必要に応じて蓄積し、解像度変換やハーフトーン処理などの処理を施して印刷データを生成する。生成された印刷データは、印刷処理部３２０からプリンタエンジン１６０に供給される。
【００７３】
ステップＳ４２０では、対象画像の全ラインについてライン変形処理（ステップＳ３００）とライン印刷処理（ステップＳ４１０）が行われたか否かが判断される。これらの処理が全ラインについて終了したと判断された場合には、図３の顔形状補正印刷処理は終了する。一方、未処理のラインが存在すると判断された場合には、制御はステップＳ４３０に移される。
【００７４】
ステップＳ４３０では、変形処理の対象となる生成ラインが上述のように次のラインに移動する。そして、ステップＳ４２０において、ライン変形処理（ステップＳ３００）とライン印刷処理（ステップＳ４１０）が全ラインについて終了したと判断されるまで、ステップＳ３００〜Ｓ４３０が繰り返し実行される。これにより、プリンタエンジン１６０において対象画像に変形処理を施した画像が印刷される。
【００７５】
このように、本実施例では、対象画像を変形する際、変形済画像を構成する全ての画素の画素値を決定するために必要な最大バンド幅が予め算出される。そして、算出された最大バンド幅のバンドバッファを確保することにより、バンドバッファに格納された画像を用いて対象画像を変形することができる。そのため、対象画像の変形処理に要するメモリ量を低減することができる。
【００７６】
また、本実施例では、１つの対象画像を変形する場合、バンドバッファのバンド幅は最大バンド幅に固定的に定められている。そのため、ライン毎に必要なバンド幅を決定し、決定されたバンド幅のバンドバッファを確保する場合よりも、バンドバッファ確保を行う処理の回数を低減することができる。そのため、対象画像を変形するための処理時間を短縮することができる。
【００７７】
さらに、本実施例では、予め算出された最大バンド幅でバンドバッファを確保することにより、変形済画像を生成するラインが移動した場合にも、ライン移動前にバンドバッファに格納された画像やバンドバッファ中に生成された画像の一部をそのまま利用することができる。そのため、バンドバッファへの画像の格納や、バンドバッファ中への画像の再生成が省略できるので、対象画像を変形するための処理時間を短縮することができる。
【００７８】
Ｂ．変形例：
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【００７９】
Ｂ１．変形例１：
上記実施例では、ライン毎に変形画像を生成しているが、変形画像は、変形画像の一部となるブロック毎であれば、任意形態のブロック毎に生成するものとしてもよい。ブロックとしては、例えば、変形済画像の一部の矩形領域や、ラインの一部分となる画素ブロックを使用することもできる。
【００８０】
Ｂ２．変形例２：
上記実施例では、本発明を顔形状の変形処理に適用しているが、本発明は、顔形状の変形処理とは異なる変形処理に適用することができる。本発明は、画像に含まれる物体（オブジェクト）の変形処理一般に適用できる。
【００８１】
Ｂ３．変形例３：
上記実施例では、変形領域を小領域に分割し、分割された小領域を変形することにより変形領域全体の変形を行っているが、変形領域の分割を省略することも可能である。一般に、本発明は、マッピングによる変形処理であれば、任意の形態の変形処理に適用できる。
【００８２】
Ｂ４．変形例４：
上記実施例では、第２の変形画像バッファを確保して、変形済画像のバンドを格納しているが、生成ラインが格納しうる領域が確保されていれば、変形済画像のバンドを格納するバンドバッファを省略することも可能である。このようにしても、生成ライン上に変形済画像を生成することが可能である。
【００８３】
Ｂ５．変形例５：
上記実施例では、複数の変形領域の変形処理を別個に行っているが、複数の変形領域の変形を１回の変形処理で行うこともできる。この場合、最終的に生成される変形済画像の対象画素に対応づけられる画素の元画像上の位置が求められる。そして、対象画素に対応づけられる画素の画素値から、対象画素の画素値が設定される。
【００８４】
Ｂ６．変形例６：
上記実施例では、生成したライン毎に印刷処理を行っているが、印刷処理は必ずしもライン毎に行う必要はない。たとえば、最終的に生成される変形済画像全体を格納する領域を確保して、その領域に生成されたライン毎に画像を格納していくものとしてもよい。
【００８５】
Ｂ７．変形例７：
上記実施例では、本発明をプリンタ１００に適用しているが、本発明は、元画像から変形済画像を生成する変形処理を行う装置であれば、画像の変形処理を行う機能をする任意の装置に適用することができる。本発明は、画像の変形処理を行う機能を有していれば、例えば、パーソナルコンピュータや、デジタルカメラにも適用することができる。
【００８６】
Ｂ８．変形例８：
上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。
【符号の説明】
【００８７】
１００…プリンタ
１１０…ＣＰＵ
１２０…内部メモリ
１４０…操作部
１５０…表示部
１６０…プリンタエンジン
１７０…カードインタフェース
１７２…カードスロット
２００…顔形状補正部
２１０…変形態様設定部
２２０…変形領域設定部
２３０…変形領域分割部
２４０…変形パラメータ設定部
２５０…分割領域変形部
２５２…最大バンド幅算出部
２５４…バンドバッファ割付部
２５６…変形処理部
３１０…表示処理部
３２０…印刷処理部
４１０…分割点配置パターンテーブル
４２０…分割点移動テーブル
４３０…バンドバッファ
【図１】
2010166624.tif 000003
【図２】
2010166624.tif 000004
【図３】
2010166624.tif 000005
【図４】
2010166624.tif 000006
【図５】
2010166624.tif 000007
【図６】
2010166624.tif 000008
【図７】
2010166624.tif 000009
【図８】
2010166624.tif 000010
【図９】
2010166624.tif 000011
【図１０】
2010166624.tif 000012
【図１１】
2010166624.tif 000013
【図１２】
2010166624.tif 000014
【図１３】
2010166624.tif 000015
【図１４】
2010166624.tif 000016
【図１５】
2010166624.tif 000017
【図１６】
2010166624.tif 000018
【手続補正書】
【提出日】平成22年5月27日(2010.5.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
画像に含まれるオブジェクトの形状を変化させる変形処理を実行する画像処理装置であって、
変形処理前に、記憶領域であるバッファを確保するバンドバッファ割付部と、
前記確保されたバッファを用いて、前記画像における第１の画素の画素値を前記画像における第２の画素の画素値に設定することにより前記変形処理を実行する変形処理部と、
前記変形処理の実行されたオブジェクトが含まれる画像を出力する出力処理部と、を備え、
前記バンドバッファ割付部は、前記画像全体ではなく、前記第１の画素と前記第２の画素とが含まれるように前記バッファを確保する、画像処理装置。
【請求項２】
画像に含まれるオブジェクトの形状を変化させる変形処理を実行する画像処理方法であって、
（ａ）変形処理前に、記憶領域であるバッファを確保する工程と、
（ｂ）前記確保されたバッファを用いて、前記画像における第１の画素の画素値を前記画像における第２の画素の画素値に設定することにより前記変形処理を実行する工程と、
（ｃ）前記変形処理の実行されたオブジェクトが含まれる画像を出力する工程と、を備え、
前記バッファを確保する工程（ａ）は、前記画像全体ではなく、前記第１の画素と前記第２の画素とが含まれるように前記バッファを確保する工程である、画像処理方法。
【請求項３】
画像に含まれるオブジェクトの形状を変化させる変形処理を実行するためのコンピュータープログラムであって、
変形処理前に、記憶領域であるバッファを確保するバンドバッファ割付機能と、
前記確保されたバッファを用いて、前記画像における第１の画素の画素値を前記画像における第２の画素の画素値に設定することにより前記変形処理を実行する変形処理機能と、
前記変形処理の実行されたオブジェクトが含まれる画像を出力する出力処理機能と、をコンピュータに実現させ、
前記バンドバッファ割付機能は、前記画像全体ではなく、前記第１の画素と前記第２の画素とが含まれるように前記バッファを確保する機能である、コンピュータープログラム。