(57)【要約】【課題】キャッシュメモリを持つことで処理能力を向上させつつ、破たんした変形画像の出力を抑制する。【解決手段】画像を変形する画像処理装置は、入力画像をどのように変形するかを示す変形情報が設定されると、設定された前記変形情報に基づいて入力画像を変形し、変形された画素データを出力する。入力画像の変形はキャッシュメモリを用いて行われ、画像処理装置は、このキャッシュメモリの能力を示す情報に基づいて、上記設定された変形情報に従った変形処理を実行可能か否かを判定する。【選択図】図１
2015026911.tif 000002
【特許請求の範囲】
【請求項１】
画像を変形する画像処理装置であって、
入力画像をどのように変形するかを示す変形情報を設定する設定手段と、
キャッシュメモリを用いて、前記設定手段により設定された前記変形情報に基づいて入力画像を変形し、変形された画素データを出力する変形手段と、
前記キャッシュメモリの能力を示す情報に基づいて、前記変形情報に従った変形処理を実行可能か否かを判定する判定手段と、を備えることを特徴とする画像処理装置。
【請求項２】
前記判定手段により前記変形処理を実行できないと判定された場合に前記変形情報に従った変形処理の実行を禁止し、前記変形処理を実行できると判定された場合に前記変形情報に従った変形処理の実行を許可する制御手段を更に備えることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記判定手段により判定された前記変形処理の実行可否に従って、前記変形処理の実行可否を通知する通知手段を更に備えることを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記判定手段は、前記キャッシュメモリが、前記変形情報に従って変形された後の傾いた１ラインの全体を保持することが可能であるか否かを、前記能力の情報に基づいて判定することを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記キャッシュメモリはタイル状に分割された複数のキャッシュタイルを有し、
前記能力の情報は、前記キャッシュタイルの水平方向ピクセル数と、垂直方向ピクセル数と、垂直方向のタイル数とを含む構成情報を有し、
前記判定手段は、前記変形情報に従って変形された後の１ラインの傾きが、「垂直方向ピクセル数×垂直方向のタイル数／水平方向ピクセル数」により求まる傾き以下であるか否かを判定することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記判定手段は、前記変形情報に基づいて前記変形手段が前記入力画像を変形したことによりライン数が増加する場合に、該ライン数が増加した部分の出力を、入力画像の対応する部分におけるライン数の出力期間で行えるか否かを、前記キャッシュメモリの垂直方向の出力レートに基づいて判定することを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項７】
前記判定手段は、前記変形情報に基づいて前記変形手段が前記入力画像を変形したことにより１ラインの画素数が増加する場合に、その増加した画素数の画素を前記入力画像の１ラインの水平同期信号期間から水平データ有効信号期間を除いた期間内で出力できるか否かを、前記キャッシュメモリの１画素当たりの出力時間に基づいて判定することを特徴とする請求項１乃至６のいずれか１項に記載の画像処理装置。
【請求項８】
画像を変形する画像処理装置の制御方法であって、
入力画像をどのように変形するかを示す変形情報を設定する設定工程と、
キャッシュメモリを用いて、前記設定工程で設定された前記変形情報に基づいて入力画像を変形し、変形された画素データを出力する変形工程と、
前記キャッシュメモリの能力を示す情報に基づいて、前記変形情報に従った変形処理を実行可能か否かを判定する判定工程と、を有することを特徴とする画像処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置およびその制御方法に関する。
【背景技術】
【０００２】
映像処理装置においては画像変形処理が必要とされる場合が多々ある。例えばプロジェクタ製品においてはキーストーン（台形）補正処理と呼ばれる画像変形処理が行われている。具体的に説明すると、プロジェクタの出力光がスクリーンに投影されると、スクリーン上に投影される有効領域はプロジェクタの設置傾き角や、光学的なレンズシフトなどに起因して台形状の歪みが生じる。この台形状の歪みがあるままではユーザにとって見づらい画像となるため、有効領域を逆台形状に画像変形することにより、スクリーン上に投影される有効領域が矩形状になるよう画像変形する処理が行われている。このような画像変形処理はキーストーン（台形）補正処理として一般に知られている。
【０００３】
画像変形処理を行うための方法には、入力画像を保持できるサイズのフレームメモリを使用する構成が一般的である。具体的には、フレームメモリに入力画像を書き込むときに変形する方法と、フレームメモリから画像を読み出す時に変形する方法がある。このうちフレームメモリに入力画像を書き込むときに変形する方法が特許文献１に記載されている。特許文献１では、入力画像の各画素をフレームメモリ上の対応するアドレスに書き込むことで画像変形処理を行う方法が開示されている。これに対して、フレームメモリから画像を読み出す時に変形する方法が特許文献２に記載されている。
【０００４】
ところで一般に映像処理装置においては、高解像度化や高フレームレート化などの要求がある。画像変形処理においてこの要求に応えるためには、フレームメモリのスループットを向上させて、処理能力を向上させることが必要となる。フレームメモリのスループット向上のためには、フレームメモリとのインターフェース部分にキャッシュメモリと呼ばれる種類のメモリを持つ方法が一般的である。フレームメモリとキャッシュメモリを比較すると、フレームメモリは低速・大容量であるのに対し、キャッシュメモリは高速・小容量のメモリである。フレームメモリに入力画像を書き込むときに画像変形を行う構成には、キャッシュメモリはフレームメモリへの書き込み前に配置される。一方、フレームメモリから画像を読み出す時に画像変形を行う構成では、キャッシュメモリはフレームメモリからの読み出し後に配置される。この様にキャッシュメモリが配置されることで、キャッシュメモリでデータがまとめられ、画像変形処理によるフレームメモリへのデータアクセス回数が低減される。その結果、データアクセスのオーバヘッドが低減され、結果的にフレームメモリのスループットを向上することができる。
【０００５】
先に述べた特許文献１はフレームメモリに入力画像を書き込むときに変形する方法であるが、キャッシュメモリを有する構成ではない。一方、特許文献２はフレームメモリから画像を読み出す時に変形する方法であり、キャッシュメモリを持つ構成が記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第３３９４５５１号公報
【特許文献２】特開２０１１−１９９５７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
画像変形処理では、装置構成上の制約から変形可能な形状が制限される。例えば、特許文献２のようにフレームメモリから画像を読み出す時に変形する方法で、キャッシュメモリを持つ構成においては、変形倍率が小さい変形に制限が出る。単純な例として画像を横方向に１／Ｎ倍に縮小する場合を考える。このとき出力レートを一定とすると、平均的にはフレームメモリからの読み出しは出力レートのＮ倍の速度で行わなければならない。より具体的に説明すると、フレームメモリの読み出し側に配置されたキャッシュメモリは、出力レートに対してフレームメモリからＮ倍のスループットで画像データを読み出さなければならない。もしキャッシュメモリの画像データ読み出しがＮ倍に達しない場合には、キャッシュメモリで実現すべき出力レートが実現できず、変形画像に破たんを生じる。
【０００８】
上述の現象は一例であり、実際にはキャッシュメモリの制約に起因して種々の変形制約が生じる。このため画像変形装置においては、ユーザに指定された変形形状が種々の変形制約を満たし、変形できるか否かを判断し、ユーザに通知する方法を持たなければならない。もし変形できるか否かを判断する方法を持たなければ、ユーザの指定した変形形状が変形制約を満たさないものであった場合にこれを抑制できず、破たんした変形画像を出力することになってしまう。
【０００９】
キャッシュメモリと変形制約について、特許文献１の方法はキャッシュメモリを持たないためキャッシュメモリ由来の変形制約は無いが、キャッシュメモリを利用した場合のような処理能力の向上が出来ない。一方、特許文献２の方法はキャッシュメモリを持つが、変形制約を判断する手段を持たないため、変形できない変形形状の抑制が出来ない。
【００１０】
本発明は上述の課題に鑑みてなされたものであり、キャッシュメモリを持つことで処理能力を向上させつつ、破たんした変形画像の出力を抑制することを目的とする。
【課題を解決するための手段】
【００１１】
画像を変形する画像処理装置において
フレームメモリとキャッシュメモリを持ち入力画像を変形する画像変形手段と、
入力画像の形状を表す情報と、変形後の形状を表す情報と、前記キャッシュメモリの構成を表すキャッシュ構成情報とから、変形形状が画像変形装置において実現が可能か否かを表す変形可否情報を出力する変形判定手段と、
入力画像の形状を表す情報と、変形後の形状を表す情報と、変形形状が画像変形装置において実現が可能か否かを表す変形可否情報とから、前記画像変形手段を制御する変形制御手段とを備える。
【発明の効果】
【００１２】
本発明によれば、キャッシュメモリを持つことで処理能力を向上させつつ、破たんした変形画像の出力を抑制することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態を示す構成図。
【図２】変形前座標と変形後座標の関係を示す図。
【図３】傾き判定条件を説明する図。
【図４】垂直方向の判定処理を説明する図。
【図５】水平方向の判定処理を説明する図。
【図６】各情報の構成を説明する図。
【図７Ａ】変形判定処理を示すフローチャート。
【図７Ｂ】変形判定処理を示すフローチャート。
【発明を実施するための形態】
【００１４】
以下、添付の図眼を参照して本発明の好適な実施形態の一例を説明する。本実施形態は、たとえばプロジェクタにおいて画像の変形を行う画像処理装置（以下、画像変形装置）において、変形可否を判断する構成を提供する。本実施形態の画像変形装置によれば、プロジェクタのキーストーン補正機能（または台形補正機能）として知られるような画像変形処理において、ユーザに指定された変形形状に変形できるか否かが判断される。
【００１５】
実施形態による画像変形装置の構成例を図１に示す。また、図２は本実施形態で行う変形処理の例を説明する図である。また、図６は本実施形態で用いる各情報の構成を示す図である。図２，図６は図１の実施形態の説明において適宜参照される。また、その他の図３，図４，図５，図７Ａ，７Ｂは図１の実施形態の変形判定部１０７をより詳細に説明するための図であり、本実施形態の説明で変形判定部１０７をより詳細に説明する際に参照する。
【００１６】
図１に示した画像変形装置１００は入力画像１０１と入力同期信号１０３と出力同期信号１０４を入力とし、変形された出力画像１０２を出力する。図２は入力画像２００を出力画像２０５に変形した例を示しており、それぞれの関係は変形前座標０（２０１）〜変形前座標３（２０４）と、変形後座標０（２０６）〜変形後座標３（２０９）の関係により表現される。
【００１７】
画像変形装置１００の内部では、画像書き込み部１０５が入力画像１０１と入力同期信号１０３を入力とし、入力画像情報１１４と入力画像１０１を出力する。ここで入力画像情報１１４は、図６の入力画像情報６００に示すとおり変形前座標０〜３を含む。一方、入力同期信号１０３は、図６の入力同期信号６０２に示すとおり水平同期信号、水平データ有効信号、垂直同期信号、垂直データ有効信号を含む。これらは映像信号において水平方向、垂直方向のタイミングを表すための一般的な信号であり、水平同期信号は映像の水平方向に許容される期間を、水平データ有効信号は水平方向に許容される期間のうちの映像を表示する期間をそれぞれ示す。一方、垂直同期信号および垂直データ信号の関係も、水平同期信号と水平データ有効信号の関係と同様である。
【００１８】
図１に戻り説明を続けると、画像書き込み部１０５は入力画像１０１を入力とし、入力画像１０１の画像サイズから入力画像情報１１４を算出して出力する。また、画像書き込み部１０５は、入力同期信号１０３に従って入力画像１０１を順に送出する。変形入力部１０６と変形可否通知部１１２はユーザによる変形設定を行うためのものである。変形入力部１０６はユーザの変形指示を受け付け、入力画像をどのように変形するかを示す変形情報（以下、変形設定情報１１５という）を出力する。変形指示は、たとえば、図２に示したような変形後座標０〜３をユーザが変形入力部１０６を介して入力することによりなされる。変形設定情報１１５は、図６の変形設定情報６０１に示すとおり変形後座標０〜３から構成される。一方、変形可否通知部１１２は、変形設定情報１１５で指定される形状に変形できるか否かを示す情報である変形可否情報１１７を変形判定部１０７から入力し、指定された変形を実行できるか否かをユーザに通知する。これら変形入力部１０６と変形可否通知部１１２によりユーザは、意図する変形形状を設定し、その変形形状へ変形可能であるか否かの通知を受け取ることが出来る。なお、変形制御部１０８が、変形判定部１０７による変形処理の実行可否の判定結果に応じて、画像変形部１０９による変形処理の実行を禁止あるいは許可するように制御してもよい。
【００１９】
変形制御部１０８は入力画像情報１１４と変形設定情報１１５と変形可否情報１１７を入力とし、変形可否情報１１７が変形可能を示していたときに入力された変形設定情報１１５を出力する。変形制御部１０８は変形可否情報１１７に基づいて変形設定情報１１５を出力することで、画像変形装置１００において変形可能な形状のみの変形設定を行うように制御する。
【００２０】
画像変形部１０９は、画像書き込み部１０５からの入力画像１０１と変形入力部１０６からの変形設定情報１１５を入力とし、入力画像１０１を変形して変形された画素データ（以下、変形ピクセル画像データ１１９）を出力する。画像変形部１０９は、たとえば、入力画像１０１を射影変換することにより、変形ピクセル画像データ１１９を得る。変形ピクセル画像データ１１９は、入力同期信号１０３に従って入力される入力画像１０１を、変形後の座標に出力するピクセル単位の画像データである。
【００２１】
キャッシュメモリ１１０は、変形ピクセル画像データ１１９を入力とし、これらをタイル状の単位にまとめた変形タイル画像データ１２０を出力する。また、キャッシュメモリ１１０は、キャッシュメモリ１１０の構成を示すキャッシュ構成情報１１６を変形判定部１０７へ出力する。
【００２２】
キャッシュ構成情報１１６は、図６のキャッシュ構成情報６０４に示すとおり水平方向ピクセル数と垂直方向ピクセル数と垂直方向キャッシュタイル数を含む。水平方向ピクセル数と垂直方向ピクセル数は、キャッシュの構成を表す情報であり、変形ピクセル画像データ１１９を受け取る１つのキャッシュタイルが水平方向および垂直方向あたりに受け取ることの出来るピクセル数を示す。また、垂直方向キャッシュタイル数は、キャッシュメモリ１１０がキャッシュタイルを垂直方向に何個持つかを示す。キャッシュメモリ１１０は、１ピクセル単位で入力された変形ピクセル画像データ１１９を内部のキャッシュタイルに一旦保持し、ピクセルで満たされたキャッシュタイルから順に、１タイル単位で変形タイル画像データ１２０を出力する。
【００２３】
また、キャッシュ構成情報１１６は、後述する垂直方向判定処理で用いられる垂直方向出力レート、水平方向判定処理で用いられる画素当たりの出力時間を含む。垂直方向出力レートは、キャッシュメモリ１１０における１つの入力ラインに対して出力可能なラインの数を示す。また、画素当たりの出力時間は、キャッシュメモリ１１０の画素出力レート（１画素当たりの出力時間）である。これら垂直方向出力レートや画素出力レートは後述の垂直方向の判定処理や水平方向の判定処理で用いられる。
【００２４】
フレームメモリ１１１は、変形タイル画像データ１２０を入力とし、１ライン分のデータが満たされ、出力可能になったラインから順に変形ライン画像データ１２１を出力する。
【００２５】
画像読み出し部１１３は、変形ライン画像データ１２１と出力同期信号１０４を入力とし、出力同期信号１０４で指定されるタイミングに従って出力画像１０２を出力する。出力同期信号１０４は、図６の出力同期信号６０３に示すとおり水平同期信号、水平データ有効信号、垂直同期信号、垂直データ有効信号から成る。これらの内容は入力同期信号６０２と同様である。
【００２６】
変形判定部１０７は、画像変形装置１００においてユーザに指定された変形情報に基づく変形を実行可能か否かを判定するためのものである。大まかな処理としては、変形判定部１０７は、入力画像情報１１４と変形設定情報１１５とキャッシュ構成情報１１６を入力とし、これらの情報に基づいて変形設定情報１１５の変形形状を実現できるか否かを判定し、変形可否情報１１７を出力する。
【００２７】
次に、変形判定部１０７の詳細について図３，図４，図５，図７Ａ，７Ｂを用いて詳細に説明する。図７Ａ、７Ｂは変形判定部１０７による変形判定処理を説明するフローチャートである。図７Ａ，７Ｂの処理は大まかに３つの判定処理（Ｓ７０１〜Ｓ７０４、Ｓ７０５〜Ｓ７０９、Ｓ７１０〜Ｓ７１４）から構成されており、個々の処理のより詳細な説明を図３，図４，図５に示す。以降、図７Ａ、７Ｂの説明において図３，図４，図５を併せて参照する。図７Ａ、７Ｂの処理はステップＳ７００（ｓｔａｒｔ）から開始し、ステップＳ７０１（傾き判定処理）に遷移する。
【００２８】
ステップＳ７０１〜Ｓ７０４（傾き判定処理）について、図３を参照しながら処理の内容を説明する。ステップＳ７０１（傾き判定処理）では、変形判定部１０７が、変形形状によって決まるピクセルの入力（画像変形部１０９からの変形ピクセル画像データ１１９）が、キャッシュメモリ１１０の許容可能な傾きに収まるか否か（制約を満たすか否か）を判定する。すなわち、入寮画像の１ラインを変形して得られた傾いた１ラインの全体をキャッシュメモリ１１０が保持できるか否かが判定される。図３には、入力画像３００を（Ａ）変形角度の小さい例と（Ｂ）変形角度の大きい例の変形の様子が示されており、以下、（Ａ）変形角度の小さい例では制約が満たされ、（Ｂ）変形角度の大きい例では制約を違反する場合を説明する。
【００２９】
まず、（Ａ）変形角度の小さい例を説明する。入力画像３００において、入力画像の入力順序３０１が入力されたとき、キャッシュメモリの格子３０３に対しては、変形ピクセルデータの入力順を示すライン３０２の様にピクセルデータが入力される。キャッシュメモリの格子３０３は、複数のキャッシュタイルによって分割される領域を示している。たとえば、変形ピクセルデータの入力順を示すライン３０２のようなラインが入力されたときに使用されるキャッシュタイルは、濃いグレーで示したキャッシュタイル群３０４である。キャッシュメモリの１タイルを垂直方向に何個持つかは設計時に決められる値であり、この例ではキャッシュメモリの１タイルを垂直方向に“２個”持っている場合を説明する。なお、水平方向には、１ライン分の画素数を格納できるだけのキャッシュタイルを有するものとする。このとき、濃いグレーで示される、１ライン入力されたときに消費されるキャッシュタイル群３０４は最大でも垂直方向に２つまでである。図３の（Ａ）の場合、前述の垂直方向に持つキャッシュメモリのタイル数“２個”に収まるので、変形判定部１０７は傾き判定処理に関して変形制約を満たすと判断する。
【００３０】
一方、図３の（Ｂ）の場合のように変形角度の大きい例では、変形ピクセルデータの入力順を示すライン３０５の傾きが大きくなる。そのため、１ライン入力されたときに消費されるキャッシュタイル群３０７（濃いグレーの領域）は最大で垂直方向に３つ目に達してしまう。そのため、キャッシュメモリに保持できないピクセル３０８が生じる。このとき、キャッシュタイル群３０７に保持できないピクセル３０８の位置の画素はキャッシュメモリ１１０に保持することができないので、変形後の画像において画素抜けが生じてしまう。このため、図３の（Ｂ）の例においては、変形判定部１０７は変形制約を満たさないと判断する。
【００３１】
再び図７Ａ、Ｂに戻って処理フローを説明する。ステップＳ７０１（傾き判定処理）は、変形後の上辺と下辺について上述した判定処理を行う。これは変形後の形状において傾きが最大となるのは上辺もしくは下辺のいずれかとなるためであり、処理対象を上辺と下辺のみとすることで処理を高速化する効果があるからである。ステップＳ７０２では、変形判定部１０７は各辺に対して辺の傾きを算出する。次にステップＳ７０３では、変形判定部１０７はステップＳ７０２で求めた辺の傾きの絶対値がキャッシュメモリの許容傾きに収まるか否かを判定する。具体的には以下の判定を行う。
【００３２】
(Ydst0−Ydst1)／(Xdst0−Xdst1) ＜ chacheHeight／chacheWidth＊(chacheNum−1)
(Ydst3−Ydst2)／(Xdst3−Xdst2) ＜ chacheHeight／chacheWidth＊(chacheNum−1)
変数：意味
(Xdst0〜3，Ydst0〜3)：変形設定情報６０１の変形後座標０〜３
chacheWidth            ：キャッシュ構成情報６０４の水平方向ピクセル数
chacheHeight        ：キャッシュ構成情報６０４の垂直方向ピクセル数
chacheNum              ：キャッシュ構成情報６０４の垂直方向タイル数
【００３３】
ステップＳ７０３において上記いずれかの判定に違反すれば、処理はステップＳ７１６に遷移し、変形判定部１０７は変形可否情報として変形不可を出力し、ステップＳ７１７に遷移して本処理を終了する。一方、上記いずれの判定にも違反しなければ、処理はステップＳ７０５（垂直方向の判定処理）に遷移する。
【００３４】
以上のように、傾き判定処理では、入力画像の１ラインの入力に対応する変形後の傾きが、キャッシュメモリ１１０の構成情報から算出される許容可能な傾きに収まるか否かを判定している。本実施形態では、図３に示すようにキャッシュタイルを階段状に扱うことを可能とすることで、少ないキャッシュメモリ容量で傾きに対する耐性を向上している。もちろん、バンド状にキャッシュタイルを固定的に配置してもよいが、その場合は、許容される変形後のラインの傾きは、たとえば「chacheHeight×垂直方向タイル数／主走査方向のピクセル数」となる。
【００３５】
次にステップＳ７０５〜Ｓ７０９（垂直方向の判定処理）について、図４を併せて参照し処理の内容を説明する。ステップＳ７０５（垂直方向の判定処理）では、変形形状によって決まるピクセルの垂直方向の入力レートが、キャッシュメモリ１１０の許容可能な出力レートに収まるか否かを判定する。入力画像４００を出力画像４０３に変形させた時の例を示す図４を参照して、垂直方向の判定処理について説明する。出力画像４０３の左右の辺のＹ方向拡大率は連続的に変化しており、ある閾値をとったとき、図示のとおり変形後のＹ方向拡大率が閾値を超える点４０６および出力画像４０３において、変形後のＹ方向拡大率が閾値を超えるライン数４０７が決定される。ここで閾値とは、キャッシュメモリ１１０の出力性能を示す値であり、仮に１ラインが入力される期間に２ラインの出力ができるのであれば、閾値は２とする。このとき、キャッシュメモリ１１０の、１つの入力ラインに対する出力ラインの数である垂直方向出力レートは、２となる。
【００３６】
ここで決定された出力画像において変形後のＹ方向拡大率が閾値を超える点４０６および出力画像において変形後のＹ方向拡大率が閾値を超えるライン数４０７に対し、入力画像４００において対応する箇所を、入力画像において求める。図４の例では、入力画像４００において、変形後のＹ方向拡大率が閾値を超えるライン数４０２、変形後のＹ方向拡大率が閾値を超える点４０１として示されている。また、この判定処理においてはチェック対象を変形後の左右の辺である、垂直方向判定条件のチェック対象４０４および垂直方向判定条件のチェック対象４０５としている。これは変形後の形状においてＹ方向拡大率が最大となるのが変形後の左右いずれかの辺であるためであり、処理対象を左辺と右辺のみとすることで処理を高速化する効果化がある。
【００３７】
なお、図４において、チェック対象の辺の上端にＹ方向拡大率が閾値を超える画素が存在する場合は、Ｙ方向拡大率が閾値以下となる点までの出力画像４０３のライン数と、入力画像４００の対応する部分のライン数とが用いられる。したがって、より一般化して表現すれば、出力画像においてＹ方向拡大率が閾値を超えるラインが連続する部分のライン数と、入力画像において対応する部分のライン数を用いて垂直方向の判定処理が行われる。
【００３８】
再び図７Ａ，Ｂに戻って処理フローを説明する。ステップＳ７０５（垂直方向の判定処理）において、変形判定部１０７は変形後の左辺および右辺に対して処理を行う。次にステップＳ７０６において、変形判定部１０７は入力画像において、変形後のＹ方向拡大率が閾値を超えるライン数４０２を算出する。次に、ステップＳ７０７において、変形判定部１０７は出力画像において、変形後のＹ方向拡大率が閾値を超えるライン数４０７を算出する。次にステップＳ７０８において、変形判定部１０７はキャッシュへの垂直入力レートが垂直出力レート許容値以下に収まるか否かを判定する。具体的には以下の条件式を用いた判定処理を行う。この判定処理では、画像変形部１０９が変形設定情報１１５に従って入力画像１０１を変形したことによりライン数が増加する場合に、該ライン数が増加した部分の出力を、入力画像の対応する部分におけるライン数の出力期間で行えるか否かを、判定している。したがって、以下の条件式（「垂直方向ピクセル数×垂直方向のタイル数／水平方向ピクセル数」）が満たされる場合に、違反となり、変形処理の実行が負荷であることが通知され、および／または、変形処理の実行が禁止される。
【００３９】
dstOverLine ＞ srcOverLine＊outLineLimit
変数：意味
outLineLimit：キャッシュメモリ１１０の垂直方向出力レート
srcOverLine：入力画像で変形後のＹ方向拡大率が閾値を超える部分に対応する部分のライン数４０２
dstOverLine：出力画像で変形後のＹ方向拡大率が閾値を超える部分のライン数４０７
【００４０】
ステップＳ７０８における上記の判定に違反すれば、ステップＳ７１６に遷移し、変形可否情報として変形不可を出力し、ステップＳ７１７に遷移して本処理を終了する。一方、上記いずれかの判定にも違反しなければ、ステップＳ７１０（水平方向の判定処理）に遷移する。
【００４１】
次に、ステップＳ７１０〜Ｓ７１４（水平方向の判定処理）について、図５を参照して説明する。変形後の水平方向の拡大率が１．０を超える場合には、１ピクセルの入力に対して２ピクセル以上が出力される場合がある。したがって、このような場合、１ライン当たりの入力時間に対して出力時間が大きくなり、キャッシュメモリ１１０においてデータを出力しきれずに溢れる場合がある。この水平方向の判定処理では、キャッシュメモリ１１０への１ライン当たりの入力が、１ラインに許容される期間に収まるか否かを判定する。
【００４２】
図５では、出力画像において、変形後のＸ方向拡大率が閾値を超える点５０４を求め、これをもとに出力画像において、変形後のＸ方向拡大率が閾値を超えるピクセル数５０５を求める例を示している。一方、入力画像５００においてこれらに対応する箇所を入力画像において、変形後のＸ方向拡大率が閾値を超える点５０１および入力画像において、変形後のＸ方向拡大率が閾値を超えるピクセル数５０２として図示する。つまり、入力画像において、変形後のＸ方向拡大率が閾値を超えるピクセル数５０２が入力されると、出力画像において、変形後のＸ方向拡大率が閾値を超えるピクセル数５０５の分のピクセルが出力される。この増分を加味して、出力に要する時間が１水平同期期間内に収まるか否かを判定することが本処理の目的である。
【００４３】
なお、図５で、チェック対象のラインの左側にＸ方向拡大率が閾値を超える画素が有る場合は、主走査方向（図５の左から右へ）へＸ方向拡大率が閾値以下となるまでの、出力画像５０３の画素数と、入力画像５００の対応する位置の画素数とが用いられる。したがって、より一般化して表現すれば、出力画像においてＸ方向拡大率が閾値を超える画素が主走査方向へ連続する部分の画素数と、入力画像において対応する部分の画素数を用いて水平方向の判定処理が行われる。
【００４４】
再び図７Ａ，Ｂに戻って処理フローを説明する。ステップＳ７１０（水平方向の判定処理）は、変形後の上辺と下辺について処理を行う。これは変形後の形状において拡大率が最大となるのは上辺もしくは下辺のいずれかとなるためである。ステップＳ７１１では入力画像において、入力画像において、変形後のＸ方向拡大率が閾値を超えるピクセル数を算出する。次にステップＳ７１２では出力画像において、変形後のＸ方向拡大率が閾値を超えるピクセル数を算出する。次にステップＳ７１３では、キャッシュメモリ１１０からの水平出力レートが１つの水平同期信号期間に収まるか否かを判定する。本実施形態では、変形設定情報１１５に基づいて画像変形部１０９が入力画像１０１を変形したことにより１ラインの画素数が増加する場合に、その増加した画素数分の画素を含めて１ラインの水平同期信号期間で出力できるかどうかが判断される。すなわち、入力画像１０１の１ラインの水平同期信号期間から水平データの有効信号期間を除いた期間内で、増加した画素数の画素を出力することができるかどうかが判定される。画素の増分の出力に要する時間は、キャッシュメモリ１１０の画素出力レート（画素当たりの出力時間）を用いて算出できる。したがって、具体的には以下の判定処理を行う。
【００４５】
[dstOverPixel−srcOverPixel]×RatePerPixel ＜ Htotal−HDataEnable
変数：意味
Htotal：入力同期信号６０２の水平同期信号期間
HDataEnable：入力同期信号６０２の水平データ有効信号期間
srcOverPixel：入力画像で変形後のＸ方向拡大率が閾値を超える部分に対応する部分のピクセル数５０２
dstOverPixel：出力画像で変形後のＸ方向拡大率が閾値を超える部分のピクセル数５０５
RatePerPixel：キャッシュメモリ１１０の画素出力レート（画素当たりの出力時間）
【００４６】
ステップＳ７１３における上記いずれかの判定に違反すれば、ステップＳ７１６に遷移し、変形可否情報として変形不可を出力し、ステップＳ７１７に遷移して本処理を終了する。一方、上記いずれかの判定にも違反しなければ、ステップＳ７１５に遷移し、変形可否情報として変形可能を出力し、ステップＳ７１７に遷移して本処理を終了する。
【００４７】
図７Ａ，Ｂに示す上述の処理によって、変形判定部１０７は変形可否情報１１７を算出し、画像変形装置１００はこの変形可否情報１１７に基づいた変形制御を行う。このことにより本実施形態の画像変形装置は、キャッシュメモリを持つことで処理能力を向上させつつ、変形制約の判断部を持つことで破たんした変形画像の出力を抑制することが可能となる。なお、実施形態では、フレームメモリ１１１に入力画像を書き込むときに変形する構成を説明したが、フレームメモリ１１１から画像を読み出す時に変形する構成にも適用可能である。
【００４８】
このときのデータの流れを具体的に説明すると、入力画像１０１は、画像書き込み部１０５からフレームメモリ１１１に入力され、キャッシュメモリ１１０、画像変形部１０９を順に経て画像読み出し部１１３から出力画像１０２として出力される。画像読み出し部１１３は、出力同期信号１０４で指示される走査順序（例えばディスプレイへの表示走査順序）で座標を画像変形部１０９に与え、画像変形部１０９は与えられた各々の座標に対する変形前座標を算出し、キャッシュメモリ１１０に要求する。キャッシュメモリ１１０は要求された変形前座標の変形ピクセル画像データ１１９を保持していれば、画像変形部１０９に対して該データを出力する。一方、保持していなければ、フレームメモリ１１１に対して該変形ピクセル画像データ１１９を含む変形タイル画像データ１２０を要求し、一旦キャッシュ内に保持した後に、画像変形部１０９に対して該データを出力する。このようにフレームメモリ１１１から画像を読み出すときに変形する構成において、入力画像１０１から出力画像１０２の変形量とキャッシュメモリの能力との比較が上述のようにしてなされる。
【００４９】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2015026911.tif 000003
【図２】
2015026911.tif 000004
【図３】
2015026911.tif 000005
【図４】
2015026911.tif 000006
【図５】
2015026911.tif 000007
【図６】
2015026911.tif 000008
【図７Ａ】
2015026911.tif 000009
【図７Ｂ】
2015026911.tif 000010