JP2014010520A - 画像処理装置 - Google Patents
画像処理装置 Download PDFInfo
- Publication number
- JP2014010520A JP2014010520A JP2012144970A JP2012144970A JP2014010520A JP 2014010520 A JP2014010520 A JP 2014010520A JP 2012144970 A JP2012144970 A JP 2012144970A JP 2012144970 A JP2012144970 A JP 2012144970A JP 2014010520 A JP2014010520 A JP 2014010520A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- data
- duplication
- image
- graphic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Controls And Circuits For Display Device (AREA)
- Digital Computer Display Output (AREA)
- Image Generation (AREA)
Abstract
【課題】 任意の領域の画像を複製する複製処理を含む描画処理に必要なメモリのメモリサイズを小さくする。
【解決手段】 画像処理装置は、スキャンラインに表示する画像の画像データを保持するラインバッファと、画像の複製を指示する複製指示および図形の図形データを受ける入力部と、図形データに基づいて生成した画像データをスキャンライン単位でラインバッファに書き込む描画部と、複製指示で指定される複製元の領域の画像データを保持するワークバッファと、複製元の領域に対応するラインバッファ上の領域の画像データをワークバッファに書き込む第1複製処理と、複製指示で指定される複製先の領域に対応するラインバッファ上の領域にワークバッファに保持された画像データを書き込む第2複製処理との少なくとも一方を複製指示に基づいて実行する複製処理部とを有している。
【選択図】 図1
【解決手段】 画像処理装置は、スキャンラインに表示する画像の画像データを保持するラインバッファと、画像の複製を指示する複製指示および図形の図形データを受ける入力部と、図形データに基づいて生成した画像データをスキャンライン単位でラインバッファに書き込む描画部と、複製指示で指定される複製元の領域の画像データを保持するワークバッファと、複製元の領域に対応するラインバッファ上の領域の画像データをワークバッファに書き込む第1複製処理と、複製指示で指定される複製先の領域に対応するラインバッファ上の領域にワークバッファに保持された画像データを書き込む第2複製処理との少なくとも一方を複製指示に基づいて実行する複製処理部とを有している。
【選択図】 図1
Description
本発明は、画像処理装置に関する。
画像処理装置は、ディスプレイ等の表示面全体の画像データを保持するフレームメモリを有している(例えば、特許文献1参照。)。例えば、描画処理と表示処理とを同時に実行する画像処理装置は、2画面分のフレームメモリを有している。描画処理は、例えば、ディスプレイに表示する画像のデータ(以下、画像データとも称する)をフレームメモリ等に書き込む処理である。そして、表示処理は、例えば、フレームメモリ等に保持された画像データを読み出して画像をディスプレイに表示する処理である。
なお、ディスプレイ上に図形等を表示する画像処理装置では、画面内の領域の画像を複製する機能(以下、ビットブリットとも称する)を有するものがある。例えば、ビットブリット処理では、画面上の任意の領域に描かれた内容を別の領域に複製する。一般的な画像処理装置では、ビットブリット処理は、フレームメモリに保持されている画像データに対して実行される。例えば、画像処理装置は、複製元の領域(以下、ソース領域とも称する)および複製先の領域(以下、ディスティネーション領域とも称する)を画面全体の画像データを保持したフレームメモリ上に設定してビットブリット処理を実行する。
ビットブリット処理等に使用されるフレームメモリの容量(メモリサイズ)は、表示面全体の画像データを保持するため、大きい。また、描画処理と表示処理とを同時に実行する画像処理装置では、2画面分のフレームメモリが必要であるため、メモリサイズはさらに増加する。メモリサイズの大きなフレームメモリを画像処理装置に内蔵することは困難である。このため、画像処理装置に外付けされるメモリが必要になる。この場合、フレームメモリを別チップとして実装することによるコストの増加等の問題がある。例えば、画像処理装置が搭載されるシステムのコストが増加する。なお、メモリサイズの大きなフレームメモリを画像処理装置内に配置したときには、回路面積が大幅に増加するため、画像処理装置のコストが増加する。
1つの側面では、本発明の目的は、任意の領域の画像を複製する複製処理を含む描画処理に必要なメモリのメモリサイズを小さくすることである。
本発明の一形態では、画像処理装置は、スキャンラインに表示する画像の画像データを保持するラインバッファと、画像の複製を指示する複製指示および図形の図形データを受ける入力部と、図形データに基づいて生成した画像データをスキャンライン単位でラインバッファに書き込む描画部と、複製指示で指定される複製元の領域の画像データを保持するワークバッファと、複製元の領域に対応するラインバッファ上の領域の画像データをワークバッファに書き込む第1複製処理と、複製指示で指定される複製先の領域に対応するラインバッファ上の領域にワークバッファに保持された画像データを書き込む第2複製処理との少なくとも一方を複製指示に基づいて実行する複製処理部とを有している。
任意の領域の画像を複製する複製処理を含む描画処理に必要なメモリのメモリサイズを小さくできる。
以下、実施形態を図面を用いて説明する。
図1は、一実施形態における画像処理装置10の例を示している。画像処理装置10は、例えば、3次元画像等を2次元表示面DIS(以下、表示面DISとも称する)に表示する。例えば、画像処理装置10は、図1の表示面DIS内の矢印で示すように、走査線(スキャンライン)の動きに従って、水平方向(図1のX方向)に1ラインずつ画像を表示する。例えば、ラインバッファ部40の各ラインバッファ42(42a、42b)は、1ライン分の画像のデータPDATA(以下、画像データPDATAとも称する)を保持する。すなわち、各ラインバッファ42a、42bは、スキャンラインに表示する画像の画像データPDATAを保持する。なお、各ラインバッファ42a、42bは、複数ライン分の画像データPDATAを保持してもよい。
この実施形態では、例えば、画像処理装置10は、描画処理と表示処理とを同時に実行する。このため、ラインバッファ部40は、2つのラインバッファ42a、42bを有している。描画処理は、例えば、ディスプレイ等の表示面DISに表示する画像の画像データPDATAをラインバッファ部40に書き込む処理である。そして、表示処理は、例えば、ラインバッファ部40に保持された画像データPDATAを読み出して画像を表示面DISに表示する処理である。
画像処理装置10は、例えば、入力部20、描画部30、ラインバッファ部40、複製処理部50、ワークバッファ60および表示部70を有している。
入力部20は、図形表示データDINを受け、受けた図形表示データDINを描画部30に出力する。例えば、入力部20は、グラフィックアプリケーションから図形表示データDINを1フレーム単位で受ける。1フレーム内に含まれる図形表示データDINは、任意の順に設定され、設定された順に描画される。フレームの切り替えは、例えば、1フレーム分の図形表示データDINの後に指示される。
図形表示データDINは、例えば、図形の図形データ、ビットブリット指示等である。図形データにより示される図形は、例えば、三角形、直線である。図形データは、例えば、図形の各頂点の3次元座標の情報(以下、座標情報とも称する)、各頂点の色の情報、テクスチャ座標の情報および法線ベクトルの情報等を有している。なお、図形データの座標情報は、例えば、2次元座標の情報でもよい。
また、ビットブリットとは、例えば、表示面DIS内の領域の画像を複製することである。以下、複製元の領域および複製先の領域をソース領域およびディスティネーション領域ともそれぞれ称する。例えば、ビットブリット処理では、表示面DIS上の任意の領域(ソース領域)に描かれた内容を別の領域(ディスティネーション領域)に複製する。したがって、ビットブリット指示は、例えば、画像の複製を指示する複製指示として機能する。
このように、入力部20は、画像の複製を指示する複製指示(ビットブリット指示)および図形の図形データを受ける。ここで、ビットブリット指示は、例えば、描画結果のソース領域からワークバッファ60への読み出しを行うための読み出しビットブリット指示と、ワークバッファ60からディスティネーション領域へ書き込みを行うための書き込みビットブリット指示とに分けられる。
例えば、互いに対応する読み出しビットブリット指示および書き込みビットブリット指示は、互いに異なるフレームの図形表示データDINにそれぞれ含まれる。なお、互いに対応する読み出しビットブリット指示および書き込みビットブリット指示は、1つのビットブリット指示として図形表示データDINに含まれてもよい。
描画部30は、表示部70から受ける描画開始指示TCNTに従って、スキャンライン毎に図形データの描画を実行する。例えば、描画部30は、図形表示データDINが図形データのとき、図形表示データDINに基づいて、スキャンラインに表示する図形の画像データPDATAを生成する。そして、描画部30は、生成した画像データPDATAをラインバッファ42a、42bにスキャンライン単位で交互に書き込む。すなわち、描画部30は、図形データに基づいて生成した画像データPDATAをスキャンライン単位でラインバッファ42に書き込む。
また、描画部30は、図形表示データDINがビットブリット指示のとき、複製処理部50に動作指示を実行する。例えば、描画部30は、図形表示データDINがビットブリット指示のとき、ビットブリット指示に基づくビットブリット制御信号BCNTを複製処理部50に出力する。ビットブリット制御信号BCNTは、例えば、ビットブリット処理の実行を指示する制御信号である。
ラインバッファ部40は、2つのラインバッファ42a、42bを有している。ラインバッファ42a、42bは、入力ラインバッファおよび出力ラインバッファとして機能し、表示開始のタイミングで入力ラインバッファと出力ラインバッファとが入れ替わる。表示開始のタイミングは、例えば、表示面DISの解像度とフレームレートにより決定される。このため、表示出力は、一定の間隔で実行される。すなわち、入力ラインバッファと出力ラインバッファとの切り替えは、画像の表示に同期して実行される。
例えば、表示面DISのn行目のスキャンラインの画像データPDATAがラインバッファ42b(出力ラインバッファ)から読み出されている期間では、(n+1)行目のスキャンラインの画像データPDATAがラインバッファ42a(入力ラインバッファ)に書き込まれる。そして、(n+1)行目のスキャンラインを表示する期間に、ラインバッファ42a(出力ラインバッファ)に保持されている画像データPDATAが読み出され、(n+2)行目のスキャンラインの画像データPDATAがラインバッファ42b(入力ラインバッファ)に書き込まれる。この動作を繰り返すことにより、1画面の画像が表示面DISに表示される。
以下、ラインバッファ42a、42bのうちの入力ラインバッファとして機能している方を、入力ラインバッファ42とも称する。また、ラインバッファ42a、42bのうちの出力ラインバッファとして機能している方を、出力ラインバッファ42とも称する。
ここで、入力ラインバッファ42に対しては、画像データPDATAの読み出しが実行されるときもある。例えば、読み出しビットブリット指示が検出されたときには、入力ラインバッファ42に保持されている画像データPDATAの読み出しが、複製処理部50により実行される。
複製処理部50は、ビットブリット指示で指定されるソース領域に対応する入力ラインバッファ42上の領域の画像データPDATAをワークバッファ60に書き込む複製処理と、ビットブリット指示で指定されるディスティネーション領域に対応する入力ラインバッファ42上の領域にワークバッファ60に保持された画像データPDATAを書き込む複製処理との少なくとも一方をビットブリット指示に基づいて実行する。これにより、この実施形態では、例えば、連続する2つのフレームのうちの先のフレームの任意の領域をソース領域として任意のタイミングで保持し、次のフレームの任意の領域をディスティネーション領域として任意のタイミングでビットブリット処理を実行できる。
例えば、複製処理部50は、ビットブリット制御信号BCNTが読み出しビットブリット指示のとき、ビットブリット制御信号BCNTで指定されるソース領域に対応する入力ラインバッファ42上の領域の画像データPDADAをワークバッファ60に書き込む。ソース領域は、例えば、矩形で与えられ、矩形の左上を示す開始点(XS0、YS0)と矩形の幅および高さを示すサイズ(WS、HS)で表される。
ビットブリット制御信号BCNTにより指定されたソース領域が開始点(XS0、YS0)、サイズ(WS、HS)で示される矩形の場合、複製処理部50は、スキャンラインが“YS0”以上“YS0+HS”未満の間で、水平方向(図1のX方向)の画素位置が“XS0”以上“XS0+WS”未満の範囲のとき、入力ラインバッファ42上の画素値(画像データPDATA)を読み出す。そして、複製処理部50は、入力ラインバッファ42から読み出した画素値(画像データPDATA)をワークバッファ60に格納する。
これにより、ソース領域の画像データPDADAがワークバッファ60に格納される。この際、複製処理部50は、例えば、ソース領域のサイズ(WS、HS)の情報も、画像データPDADAとともに格納する。すなわち、ワークバッファ60には、ソース領域の幅および高さの情報とソース領域の画像データPDADAとが格納される。
なお、ワークバッファ60の書き込み位置は、ソース領域の開始位置(XS0、YS0)、ソース領域の幅WS、複製対象の画像データPDATAの入力ラインバッファ42上の位置(複製元の画素の位置)から求められる。例えば、表示面DISのn行m列目の画像データPDATAをワークバッファ60に書き込むときのワークバッファ60上の書き込み位置PWは、式(1)で表される。なお、式(1)は、ソース領域の開始位置(XS0、YS0)の画像データPDATAが書き込まれたワークバッファ60上の位置を基準にしたときの書き込み位置PWを示している。
PW=m−XS0+(n−YS0)・WS ・・・(1)
ここで、式(1)の“n”は、スキャンラインの行(行番号)に対応し、“YS0”以上“YS0+HS”未満の値である。また、式(1)の“m”は、入力ラインバッファ42上の位置に対応し、“XS0”以上“XS0+WS”未満の値である。
ここで、式(1)の“n”は、スキャンラインの行(行番号)に対応し、“YS0”以上“YS0+HS”未満の値である。また、式(1)の“m”は、入力ラインバッファ42上の位置に対応し、“XS0”以上“XS0+WS”未満の値である。
また、複製処理部50は、ビットブリット制御信号BCNTが書き込みビットブリット指示のとき、ビットブリット制御信号BCNTで指定されるディスティネーション領域に対応する入力ラインバッファ42上の領域にワークバッファ60に保持された画像データPDATAを書き込む。入力ラインバッファ42に対する書き込みの幅は、例えば、ワークバッファ60に格納されたソース領域の幅の情報から求められる。
例えば、ソース領域の幅“WS”が、入力ラインバッファ42に対する書き込みの幅として使用される。したがって、ビットブリット制御信号BCNTにより指定されたディスティネーション領域が開始点(XD0、YD0)で示される場合、複製処理部50は、スキャンラインが“YD0”以上“YD0+HS”未満の間で、水平方向(図1のX方向)の画素位置が“XD0”以上“XD0+WS”未満の範囲のとき、ワークバッファ60から画素値(画像データPDATA)を読み出す。そして、複製処理部50は、ワークバッファ60から読み出した画像データPDATAを入力ラインバッファ42に書き込む。
なお、ワークバッファ60の読み出し位置は、ディスティネーション領域の開始点(XD0、YD0)、ソース領域の幅WS(ディスティネーション領域の幅)、入力ラインバッファ42上の位置(複製先の画素の位置)から求められる。例えば、表示面DISのi行j列目に表示する画像データPDATAをワークバッファ60から読み出すときのワークバッファ60上の読み出し位置PRは、式(2)で表される。なお、式(2)は、ソース領域の開始位置(XS0、YS0)の画像データPDATAが書き込まれたワークバッファ60上の位置を基準にしたときの読み出し位置PRを示している。
PW=j−XD0+(i−YD0)・WS ・・・(2)
ここで、式(2)の“i”は、スキャンラインの行(行番号)に対応し、“YD0”以上“YD0+HS”未満の値である。また、式(2)の“j”は、入力ラインバッファ42上の位置に対応し、“XD0”以上“XD0+WS”未満の値である。
ここで、式(2)の“i”は、スキャンラインの行(行番号)に対応し、“YD0”以上“YD0+HS”未満の値である。また、式(2)の“j”は、入力ラインバッファ42上の位置に対応し、“XD0”以上“XD0+WS”未満の値である。
以下、ソース領域に対応する入力ラインバッファ42上の領域の画像データPDATAをワークバッファ60に書き込む複製処理を読み出し処理とも称する。また、ワークバッファ60に保持された画像データPDATAをディスティネーション領域に対応する入力ラインバッファ42上の領域に書き込む複製処理を書き込み処理とも称する。
ワークバッファ60は、ビットブリット指示で指定されるソース領域の画像データPDATAを保持する。なお、ワークバッファ60は、複数のソース領域の画像データPDATAを保持してもよい。この場合、読み出しビットブリット指示の処理(読み出し処理)と書き込みビットブリット指示の処理(書き込み処理)とを並行して実行できる。なお、複数のソース領域の画像データPDATAを保持するワークバッファ60を使用する場合、ビットブリット指示は、読み出しおよび書き込みの対象となるワークバッファ60上の領域を指定する。
表示部70は、表示面DISのスキャンラインの水平同期に従って出力ラインバッファ42から画像データPDATAを読み出し、表示面DISに画像を表示する。また、表示部70は、例えば、スキャンラインの水平同期のタイミングで次のスキャンラインの描画開始を指示する描画開始指示TCNTを描画部30に出力する。これにより、描画部30は、図形データの描画をスキャンライン単位で実行する。
なお、画像処理装置10の構成は、この例に限定されない。例えば、ラインバッファ42a、42bの一方は、省かれてもよい。また、画像処理装置10は、例えば、ビットブリット処理を正常に実行できないとき、グラフィックアプリケーション等に警告を通知してもよい。
図2は、ビットブリット処理によるスクロールの一例を示している。表示面DISaは、スクロール前の表示画面である。例えば、表示面DISaには、5行(行L1−L5)のテキスト画面が表示されている。表示面DISaの表示画面を上に1行分スクロールさせる場合、下の4行(表示面DISaの行L2−L5)を含む領域SAREをソース領域SAREとして指定した読み出しビットブリット指示が生成される。
また、1行分上の位置をディスティネーション領域DAREの開始点として指定した書き込みビットブリット指示が生成される。書き込みビットブリット指示は、例えば、読み出しビットブリット指示を含むフレームの次のフレームに含まれる。そして、画像処理装置10は、例えば、読み出しビットブリット指示に基づくビットブリット処理と書き込みビットブリット指示に基づくビットブリット処理とをそれぞれ実行する。
例えば、読み出しビットブリット指示を含むフレームでは、先ず、描画部30は、表示面DISaの行L1に対応するスキャンラインの画像データPDATAを生成し、生成した画像データPDATAを入力ラインバッファ42に書き込む。入力ラインバッファ42と出力ラインバッファ42とが切り替わった後、描画部30は、表示面DISaの行L2に対応するスキャンラインの画像データPDATAを生成し、生成した画像データPDATAを入力ラインバッファ42に書き込む。さらに、描画部30は、読み出しビットブリット指示に基づくビットブリット制御信号BCNTを複製処理部50に出力する。
そして、複製処理部50は、入力ラインバッファ42に書き込まれた画像データPDATAを、ワークバッファ60に読み出す。これにより、表示面DISaの行L2に対応する画像データPDATAがワークバッファ60に書き込まれる。描画部30および複製処理部50は、表示面DISaの行L3−L5に対応するスキャンラインに対しても、行L2に対応するスキャンラインと同様の処理をスキャンライン毎に実行する。これにより、ソース領域SAREの画像データPDATAがワークバッファ60に保持される。
また、例えば、書き込みビットブリット指示を含むフレームでは、先ず、描画部30は、書き込みビットブリット指示に基づくビットブリット制御信号BCNTを複製処理部50に出力する。そして、複製処理部50は、表示面DISbの行L1に対応するスキャンラインの画像データPDATAをワークバッファ60から読み出し、読み出した画像データPDATAを入力ラインバッファ42に書き込む。これにより、表示面DISbの行L1に対応する画像データPDATA(表示面DISaの行L2に対応する画像データPDATA)が入力ラインバッファ42に書き込まれる。
そして、入力ラインバッファ42と出力ラインバッファ42とが切り替わり、表示面DISbの行L1に対応する画像データPDATAが出力ラインバッファ42から読み出される。これにより、表示面DISbの行L1に画像が表示される。描画部30および複製処理部50は、表示面DISbの行L2−L4に対応するスキャンラインに対しても、行L1に対応するスキャンラインと同様の処理をスキャンライン毎に実行する。
これにより、表示面DISaのソース領域SAREの画像が表示面DISbのディスティネーション領域DAREに表示される。このように、書き込みビットブリット指示を含むフレームでは、描画部30は、行L1−L4の画像データPDATAを生成する処理を省略できる。
なお、表示面DISbの行L5に対応するスキャンラインでは、描画部30は、例えば、5行目に表示するテキストの画像データPDATAを生成する。そして、描画部30は、生成した画像データPDATAを入力ラインバッファ42に書き込む。入力ラインバッファ42に書き込まれた画像データPDATAは、入力ラインバッファ42と出力ラインバッファ42とが切り替わった後、読み出される。
これにより、表示面DISの行L5に画像が表示され、スクロールは終了する。表示面DIScは、スクロール後の表示画面である。このように、この実施形態では、ビットブリット処理を用いることにより、全てのテキストの画像データPDATAを各フレームで新たに生成するときに比べて、高速なスクロール表示を実行できる。
図3は、図1に示した画像処理装置10の動作の一例を示している。図3の動作は、ハードウエアのみで実現されてもよく、ハードウエアをソフトウエアにより制御することにより実現されてもよい。なお、画像処理装置10の動作は、図3の例に限定されない。
処理S100では、例えば、描画部30は、入力部20から受けた1フレームの図形表示データDINをラインバッファ42a、42bでの描画が可能になるように整理する。例えば、描画部30は、図形表示データDINが図形データのとき、図形データ(図形表示データDIN)に基づいて、入力図形の図形情報を生成する。図形情報は、例えば、図形の各頂点の2次元表示面DISにおける座標の情報(以下、位置情報とも称する)等を有している。
例えば、描画部30は、図形の位置情報に基づいて、図形情報とスキャンラインとの対応関係を算出できる。そして、描画部30は、例えば、各スキャンラインに対応する図形情報およびビットブリット指示を、スキャンライン順に参照データに格納する。これにより、1フレーム分の参照データが生成される。なお、描画部30は、例えば、各スキャンラインに対応する図形情報およびビットブリット指示を示す情報を、スキャンライン順に参照データに格納してもよい。
処理S200では、画像処理装置10は、描画対象のスキャンラインに対して、描画処理を開始する。処理S210では、例えば、描画部30は、描画対象のスキャンラインに対応する情報(図形情報やビットブリット指示)を参照データから読み出し、読み出した情報がビットブリット指示か否かを判定する。
参照データから読み出した情報がビットブリット指示でないとき(処理S210のNo)、画像処理装置10の動作は、処理S220に移る。例えば、参照データから読み出した情報が図形情報のとき、画像処理装置10の動作は、処理S220に移る。処理S220では、描画部30は、参照データから読み出した図形情報に基づいて、図形の画像データPDATAを生成する。すなわち、描画部30は、図形表示データDINが図形データのとき、図形の画像データPDATAを生成する。
一方、参照データから読み出した情報がビットブリット指示のとき(処理S210のYes)、画像処理装置10の動作は、処理S230に移る。処理S230では、例えば、複製処理部50は、ビットブリット指示かソース領域SAREの複製を示しているか否かを判定する。すなわち、複製処理部50は、ビットブリット指示か読み出しビットブリット指示か否かを判定する。
ビットブリット指示か読み出しビットブリット指示でないとき(処理S230のNo)、画像処理装置10の動作は、処理S240に移る。すなわち、ビットブリット指示か書き込みビットブリット指示のとき、画像処理装置10の動作は、処理S240に移る。処理S240では、例えば、複製処理部50は、ワークバッファ60に保持された画像データPDATA(画素)をディスティネーション領域DAREに対応する入力ラインバッファ42上の領域に格納する。すなわち、描画部30は、図形表示データDINが書き込みビットブリット指示のとき、ワークバッファ60に保持された画像データPDATAをディスティネーション領域DAREに対応する入力ラインバッファ42上の領域に書き込む。
一方、ビットブリット指示か読み出しビットブリット指示のとき(処理S230のYes)、画像処理装置10の動作は、処理S250に移る。処理S250では、例えば、複製処理部50は、ソース領域SAREに対応する入力ラインバッファ42上の領域の画像データPDATAをワークバッファ60に格納する。すなわち、描画部30は、図形表示データDINが読み出しビットブリット指示のとき、ソース領域SAREに対応する入力ラインバッファ42上の領域の画像データPDATAをワークバッファ60に書き込む。
処理S260では、例えば、描画部30は、スキャンライン内の描画が終了したか否かを判定する。スキャンライン内の描画が終了していないとき(処理S260のNo)、画像処理装置10の動作は、処理S210に戻る。一方、スキャンライン内の描画が終了しているとき(処理S260のYes)、画像処理装置10の動作は、処理S300に移る。
このように、画像処理装置10は、ビットブリット指示を検出したとき、図形情報に基づく描画を一時的に中断し、その時点のラインバッファ42内の画素に対してビットブリット処理を実行する。すなわち、画像処理装置10は、スキャンラインの描画中(例えば、一部の図形の描画が終了し、他の図形の描画が開始される前)にも、ビットブリット処理を実行できる。
処理S300では、例えば、ラインバッファ部40は、入力ラインバッファ42と出力ラインバッファ42とを切り替える。入力ラインバッファ42と出力ラインバッファ42とが切り替わった後、表示部70は、出力ラインバッファ42に保持されている画像データPDATAを読み出し、スキャンラインの画像を表示する。このように、スキャンラインの描画処理が終了しとき、ラインバッファ42の切り替えと表示が実行される。表示の開始と終了は、スキャンラインのタイミングに同期するため、ラインバッファ42の切り替えもスキャンラインのタイミングに同期して実行される。
処理S310では、例えば、描画部30は、全てのスキャンラインの描画が終了したか否かを判定する。全てのスキャンラインの描画が終了していないとき(処理S310のNo)、画像処理装置10の動作は、処理S200に戻る。一方、全てのスキャンラインの描画が終了しているとき(処理S310のYes)、1フレームの描画および表示に関する処理は、終了する。そして、画像処理装置10の動作は、次のフレームの処理に移る。このように、画像処理装置10は、処理S100−S310を実行することにより、1フレームの画像を表示面DISに表示する。
以上、この実施形態では、画像処理装置10は、スキャンラインに表示する画像の画像データPDATAを保持するラインバッファ42と、ビットブリット指示で指定されるソース領域SAREの画像データPDATAを保持するワークバッファ60と、描画部30と、複製処理部50とを有している。
描画部30は、図形データに基づいて生成した画像データPDATAをスキャンライン単位で入力ラインバッファ42に書き込む。すなわち、この実施形態では、1画面分の画像データPDATAを保持するフレームメモリの代わりにスキャンライン分の画像PDATAを保持するラインバッファ42を用いて、画像を表示する。この結果、この実施形態では、画像を表示する際に用いるバッファのメモリサイズを小さくできる。
また、複製処理部50は、読み出しビットブリット指示が検出されたとき、読み出しビットブリット指示で指定されるソース領域SAREに対応する入力ラインバッファ42上の領域の画像データPDATAをワークバッファ60に書き込む。また、複製処理部50は、書き込みビットブリット指示が検出されたとき、書き込みビットブリット指示で指定されるディスティネーション領域DAREに対応する入力ラインバッファ42上の領域にワークバッファ60に保持された画像データPDATAを書き込む。
これにより、この実施形態では、画像を表示する際に用いるバッファのメモリサイズの増加を抑制しつつ、フレーム間でのビットブリット処理を実行できる。すなわち、この実施形態では、任意の領域の画像を複製する複製処理を含む描画処理に必要なメモリのメモリサイズを小さくできる。
例えば、解像度が1920×1080画素で、かつ、1画素が4byteの場合、1フレームの画像データPDATAを格納するフレームメモリのサイズは、約8Mbyte(1920×1080×4)である。したがって、フレームメモリを用いて描画と表示を同時に実行する画像処理装置では、2面分のフレームメモリが必要であるため、約16Mbyteのメモリが必要である。
これに対し、この実施形態では、例えば、ソース領域SAREのサイズを800×400画素程度に制限した場合、ワークバッファ60のサイズは、約1.2Mbyte(800×400×4)である。また、各ラインバッファ42のサイズは、約7.5Kbyte(1920×4)であり、ラインバッファ42a、42bのサイズの合計は、約15Kbyteである。したがって、この実施形態では、ビットブリット処理等に必要なメモリ(ワークバッファ60、ラインバッファ42a、42bの合計)のサイズを、2面分のフレームメモリが必要な画像処理装置のメモリサイズに比べて、約13分の1にできる。この結果、この実施形態では、メモリにかかるコストを低減できる。
また、この実施形態では、ビットブリット処理等に必要なメモリ(ワークバッファ60、ラインバッファ42a、42b)のメモリサイズを小さくできるため、例えば、画像処理装置10を含むLSIに、ビットブリット処理等に必要なメモリも内蔵できる。これにより、この実施形態では、画像処理装置10のコストを低減できる。
例えば、3次元画像等を2次元表示面DISに表示する画像処理装置10では、2次元画像を処理する装置に比べて、大量のデータが必要になる。このため、例えば、フレームメモリ等が画像処理LSIの外部に設けられる画像処理システムでは、メモリバンド幅の不足等により、複数の外付けメモリが必要になるときがある。あるいは、フレームメモリ等が画像処理LSIの外部に設けられる画像処理システムでは、2次元画像を処理する装置に比べて、高速な外付けメモリが必要になる。このため、外付けメモリを含むシステム全体のコストが増加する。これに対し、この実施形態では、ビットブリット処理等に必要なメモリ(ワークバッファ60、ラインバッファ42a、42b)も画像処理装置10を含むLSIに内蔵できるため、画像処理装置10を含むシステム全体のコストを低減できる。
図4は、別の実施形態における画像処理装置10Aの一例を示している。図1−図3で説明した要素と同様の要素については、同様の符号を付し、これ等については、詳細な説明を省略する。例えば、画像処理装置10Aは、図1に示した描画部30の代わりに、描画部30Aを有している。画像処理装置10Aのその他の構成は、図1−図3で説明した実施形態と同様である。例えば、入力部20、ラインバッファ部40、複製処理部50、ワークバッファ60および表示部70は、図1−図3で説明した実施形態と同一である。したがって、図4では、描画部30Aについて説明する。例えば、描画部30Aは、データ生成部32、シーンデータバッファ34および画像生成部36を有している。
データ生成部32は、例えば、入力部20から受けた図形表示データDINが図形の図形データのとき、図形の図形情報を図形データに基づいて生成する。図形情報は、図3で説明したように、図形の位置情報(表示面DISにおける座標)等を有している。また、データ生成部32は、図形情報およびビットブリット指示を格納する参照データSD1をフレーム毎に生成し、参照データSD1をスキャンライン単位で参照可能にする。以下、各フレームの参照データSD1をシーンデータSD1とも称する。
例えば、データ生成部32は、入力部20から受けた図形表示データDINを解析し、入力図形の図形情報等をフレーム毎に生成する。生成された1フレーム分の図形情報等は、シーンデータバッファ34に保持される。例えば、データ生成部32は、図形表示データDINが図形の図形データのとき、図形データに基づく図形情報をシーンデータバッファ34に格納し、図形表示データDINがビットブリット指示のとき、ビットブリット指示をシーンデータバッファ34に格納する。
そして、データ生成部32は、例えば、シーンデータバッファ34に保持されている図形情報等を順次読み出し、スキャンラインにかかる図形の図形情報やビットブリット指示をスキャンライン毎に列挙したシーンデータSD1を生成する。なお、ビットブリット指示は、読み出しビットブリット指示と書き込みビットブリット指示とに分けて格納される。例えば、データ生成部32は、読み出しビットブリット指示を検出したとき、読み出しビットブリット指示をシーンデータSD1に格納し、書き込みビットブリット指示を検出したとき、書き込みビットブリット指示をシーンデータSD1に格納する。
シーンデータSD1は、例えば、フレーム毎に生成され、シーンデータバッファ34に保持される。このように、データ生成部32は、入力部20から受けた1フレームの図形表示データDINをラインバッファ42a、42bでの描画が可能になるように整理し、図形情報やビットブリット指示を含むシーンデータSD1を生成する。
また、データ生成部32は、ビットブリット指示により複製される画像領域(ソース領域)の画像データPDATAの量がワークバッファ60の容量より大きいとき、警告ARMを出力する。すなわち、データ生成部32は、ビットブリット指示で指定されるソース領域の画像データPDATAの量がワークバッファ60の容量より大きいとき、警告ARMを出力する。これにより、この実施形態では、ビットブリットの失敗による描画の失敗を防止できる。
画像生成部36は、表示部70から受ける描画開始指示TCNTに従って、スキャンライン毎に図形の描画を実行する。例えば、画像生成部36は、描画対象となるシーンデータSD1をシーンデータバッファ34から読み出す。そして、画像生成部36は、シーンデータSD1に基づいて画像データPDATAを生成し、生成した画像データPDATAを入力ラインバッファ42に書き込む。これにより、スキャンラインに描画する図形の画像データPDATAは、入力ラインバッファ42に保持される。
このように、画像生成部36は、例えば、描画対象となるシーンデータSD1からスキャンラインに描画する図形の図形情報等を読み出し、図形内で該当するスキャンラインにかかる部分を入力ラインバッファ42に描画する。すなわち、画像生成部36は、シーンデータSD1内の図形情報に基づいて画像データPDATAを生成し、画像データPDATAを入力ラインバッファ42に書き込む。
また、画像生成部36は、シーンデータSD1からビットブリット指示を読み出したとき、ビットブリット制御信号BCNTを複製処理部50に通知する。すなわち、画像生成部36は、例えば、シーンデータSD1から読み出した情報が三角形、直線等の描画図形の図形情報のとき、図形の描画を実行し、シーンデータSD1から読み出した情報がビットブリット指示のとき、複製処理部50にビットブリット制御信号BCNTを通知する。
図5は、図4に示したデータ生成部32の動作の一例を示している。図5の動作は、例えば、図3に示した処理S100に対応している。なお、図5の動作は、ハードウエアのみで実現されてもよく、ハードウエアをソフトウエアにより制御することにより実現されてもよい。
シーンデータSD1の生成は、2段階で実行される。処理S110−S120は、シーンデータ生成の第1段階を示している。シーンデータ生成の第1段階では、例えば、スキャンライン単位で参照可能なシーンデータSD1の前段階のシーンデータSD0が生成される。例えば、処理S110では、データ生成部32は、入力部20から図形表示データDINを読み込む。
処理S112では、データ生成部32は、図形表示データDINのうちの図形データに基づいて、図形の座標変換を実行する。これにより、図形の図形情報が生成される。また、データ生成部32は、座標変換の結果に基づいて、図形が描画される位置を求める。これにより、図形が描画されるスキャンラインの場所が求められる。例えば、座標変換の結果が、図形のY座標の最小が5を示し、Y座標の最大が10を示している場合、5から10までのスキャンラインに図形が描画される。図形が描画されるスキャンラインの場所を示す情報は、例えば、図形情報に含まれる。
処理S114では、データ生成部32は、シーンデータSD0を更新する。シーンデータSD0は、例えば、シーンデータバッファ34に一時的に記憶される。例えば、データ生成部32は、図形が描画されるスキャンラインの場所を示す情報を含む図形情報やビットブリット指示を、シーンデータSD0に格納する。
処理S116では、データ生成部32は、ビットブリット範囲(ソース領域)の画像データPDATAをワークバッファ60に格納可能か否かを判定する。例えば、データ生成部32は、図形表示データDINが読み出しビットブリット指示のとき、ソース領域の画像データPDATAの量がワークバッファ60の容量以下か否かを判定する。
ビットブリット範囲の画像データPDATAをワークバッファ60に格納可能のとき(処理S116のYes)、データ生成部32の動作は、処理S120に移る。すなわち、ソース領域の画像データPDATAの量がワークバッファ60の容量以下のとき、データ生成部32の動作は、処理S120に移る。
一方、ビットブリット範囲の画像データPDATAをワークバッファ60に格納不可のとき(処理S116のNo)、データ生成部32の動作は、処理S118に移る。すなわち、ソース領域の画像データPDATAの量がワークバッファ60の容量より大きいとき、データ生成部32の動作は、処理S118に移る。
処理S118では、データ生成部32は、警告を出力する。例えば、データ生成部32は、画像処理装置10Aを使用しているグラフィックアプリケーションに対して、警告を通知する。これにより、グラフィックアプリケーションは、次のフレームで明示的に再描画を実行できる。この結果、この実施形態では、ビットブリットの失敗による描画の失敗を防止できる。
なお、データ生成部32は、ワークバッファ62に格納できない範囲を指定した警告を、グラフィックアプリケーションに対して通知してもよい。このときには、画像処理装置10Aは、ワークバッファ62に格納できる範囲に対して、ビットブリット処理を実行する。これにより、グラフィックアプリケーションおよび画像処理装置10Aの再描画の負荷を低減できる。
処理S120では、データ生成部32は、1フレーム内の全ての図形に対して、処理S110−S118の図形処理が終了したか否かを判定する。処理S110−S118の図形処理が終了していない図形が存在するとき(処理S120のNo)、データ生成部32の動作は、処理S110に戻る。一方、処理S110−S118の図形処理が全ての図形で終了しているとき(処理S120のYes)、データ生成部32の動作は、処理S122(シーンデータ生成の第2段階の開始)に移る。
処理S110−S118の図形処理が1フレーム内の全ての図形に対して実行されることにより、例えば、図形が描画されるスキャンラインの場所を示す情報がシーンデータSD0に図形毎に記述される。これにより、シーンデータ生成の第1段階が終了する。処理S122−S132は、シーンデータ生成の第2段階を示している。例えば、処理S122では、データ生成部32は、スキャンライン処理を開始する。例えば、データ生成部32は、処理対象のスキャンラインを決定する。処理対象のスキャンラインは、例えば、スキャンライン順に選択される。
処理S124では、データ生成部32は、図形情報やビットブリット指示をシーンデータSD0から読み込む。図形情報やビットブリット指示の読み込みは、例えば、図形の描画順に実行される。これにより、各スキャンライン内での図形の描画順は、グラフィックアプリケーション等で設定された描画順に維持される。
処理S126では、データ生成部32は、処理S122で選択したスキャンラインが処理S126で読み込んだ図形情報に対応する図形内を通過するか否かを判定する。例えば、各図形の図形情報は、処理S110−S120で説明したように、図形が描画されるスキャンラインの場所を示す情報を有している。したがって、データ生成部32は、スキャンラインが図形内を通過するか否かを、図形情報に基づいて判定できる。なお、ビットブリット指示に対しては、例えば、処理S122で選択したスキャンラインがビットブリット処理の対象か否かが判定される。例えば、データ生成部32は、スキャンラインがビットブリット処理の対象のとき、スキャンラインが図形内を通過すると判定する。
スキャンラインが図形内を通過しないとき(処理S126のNo)、データ生成部32の動作は、処理S130に移る。すなわち、図形がスキャンラインに描画されないとき、データ生成部32は、シーンデータSD1を更新することなく、処理S130を実行する。
一方、スキャンラインが図形内を通過するとき(処理S126のYes)、データ生成部32の動作は、処理S128に移る。すなわち、図形がスキャンラインに描画されるとき、データ生成部32は、処理S128において、シーンデータSD1を更新する。処理S128では、データ生成部32は、処理S126で読み込んだ図形情報やビットブリット指示を、シーンデータSD1に格納する。
処理S130では、データ生成部32は、1フレーム内の全ての図形に対して、処理S124−S128の一連の処理が終了したか否かを判定する。処理S124−S128の一連の処理が終了していない図形が存在するとき(処理S130のNo)、データ生成部32の動作は、処理S124に戻る。一方、処理S124−S128の一連の処理が全ての図形で終了しているとき(処理S130のYes)、データ生成部32の動作は、処理S132に移る。処理S124−S130の一連の処理の終了により、処理S122で選択されたスキャンラインに対する処理が終了する。
処理S132では、データ生成部32は、全てのスキャンラインに対する処理が終了したか否かを判定する。全てのスキャンラインに対する処理が終了していないとき(処理S132のNo)、データ生成部32の動作は、処理S122に戻る。一方、全てのスキャンラインに対する処理が終了しているとき(処理S132のYes)、1フレーム分のシーンデータSD1の生成処理が終了する。
これにより、スキャンライン単位で参照可能なシーンデータSD1が生成される。例えば、画像生成部36は、シーンデータSD1を参照することにより、各スキャンラインで、どの図形を描画するかを認識できる。シーンデータSD1生成後の画像処理装置10Aの動作は、図3に示した処理S200−S310と同様である。例えば、図3の処理S200−S310において、描画部30を画像生成部36と読み替えることにより、画像生成部36、ラインバッファ部40、複製処理部50等の動作が説明される。
なお、データ生成部32の動作は、この例に限定されない。例えば、処理S116、S118は、処理S114の前に実行されてもよい。また、例えば、処理S124−S130は、図3に示した処理S200と処理S210との間で実行されてもよい。このときには、例えば、処理S122、S132は、図3に示した処理S200、S310にそれぞれ含まれる。あるいは、処理S122−S132は、図3に示した処理200−S310の一連の処理と並行に実行されてもよい。
図6は、図4に示したデータ生成部32の動作の別の例を示している。なお、図6は、互いに対応する読み出しビットブリット指示および書き込みビットブリット指示が1つのビットブリット指示として図形表示データDINに含まれているときのデータ生成部32の動作の一例を示している。すなわち、図6は、ソース領域SAREおよびディスティネーション領域DAREの両方を指定したビットブリット指示が図形表示データDINから検出されたときのデータ生成部32の動作の一例を示している。図6の動作は、ハードウエアのみで実現されてもよく、ハードウエアをソフトウエアにより制御することにより実現されてもよい。
図6の動作では、データ生成部32は、現在のフレームのシーンデータSD1を生成する際に、次のフレームのシーンデータSD0’を生成する。したがって、シーンデータバッファ34には、2フレーム分のシーンデータが格納される。
処理S150では、データ生成部32は、図5に示した処理S110−S120の一連の処理を実行し、現在のフレームのシーンデータSD0を生成する。処理S152では、データ生成部32は、図5に示した処理S122−S132の一連の処理を実行し、現在のフレームのシーンデータSD1を生成する。
処理S154では、データ生成部32は、図5に示した処理S110−S120の一連の処理を実行し、次のフレームのシーンデータSD0’を生成する。処理S156では、データ生成部32は、シーンデータSD0’にビットブリット指示が存在するか否かを判定する。シーンデータSD0’にビットブリット指示が存在しないとき(処理S156のNo)、現在のフレームのシーンデータSD1の生成処理は終了する。一方、シーンデータSD0’にビットブリット指示が存在するとき(処理S156のYes)、データ生成部32の動作は、処理S158に移る。
処理S158では、データ生成部32は、シーンデータSD0’のビットブリット指示から読み出しビットブリット指示を生成する。処理S160では、データ生成部32は、処理S158で生成した読み出しビットブリット指示を、シーンデータSD1に反映する。例えば、データ生成部32は、読み出しビットブリット指示を、シーンデータSD1の該当するスキャンラインの最後に追加する。これにより、画像生成部36および複製処理部50は、追加された読み出しビットブリット指示に基づく読み出し処理を、現在のフレームの該当するスキャンラインに対して実行できる。
なお、シーンデータSD0’に元々存在するビットブリット指示に対応する書き込みビットブリット指示は、次のフレームのシーンデータSD1(シーンデータSD0’から生成されるシーンデータSD1)に格納される。したがって、次のフレームでは、画像生成部36および複製処理部50は、元々存在するビットブリット指示に対応する書き込みビットブリット指示に基づく書き込み処理を、該当するスキャンラインに対して実行できる。
このように、データ生成部32は、ソース領域SAREおよびディスティネーション領域DAREの両方を指定したビットブリット指示を検出したとき、ビットブリット指示を読み出しビットブリット指示と書き込みビットブリット指示とに分ける。そして、データ生成部32は、書き込みビットブリット指示に基づく書き込み処理が実行されるフレーム(図6では、次のフレーム)の前のフレーム(図6では、現在のフレーム)のシーンデータSD1に読み出しビットブリット指示を含める。
これにより、この実施形態では、互いに対応する読み出しビットブリット指示および書き込みビットブリット指示が1つのビットブリット指示として図形表示データDINに含まれているときにも、フレーム間でのビットブリット処理を実行できる。
図6の動作では、読み出しビットブリット指示がスキャンラインの最後に追加されるため、ソース領域SAREの読み出しは、スキャンラインの描画結果に対して実行される。ビットブリット処理によるスクロール等の操作はフレームの描画結果に対して実行されるケースがほとんどである。このため、この実施形態では、ビットブリット処理によるスクロール等の操作に図6の動作を活用できる。なお、読み出しビットブリット指示および書き込みビットブリット指示が元々分かれているときには、読み出しビットブリット指示の挿入位置がスキャンラインの最後に限定されないため、スキャンラインの描画中にも、ソース領域SAREの読み出しを実行できる。
データ生成部32の動作は、この例に限定されない。例えば、データ生成部32は、ビットブリット指示に基づいて生成した読み出しビットブリット指示を、ビットブリット指示が元々存在したフレームのシーンデータSD1に反映してもよい。このときには、データ生成部32は、ビットブリット指示に基づいて生成した書き込みビットブリット指示を、ビットブリット指示が元々存在したフレームの次のフレームのシーンデータSD1に反映する。
以上、この実施形態においても、図1−図3で説明した実施形態と同様の効果を得ることができる。例えば、この実施形態では、任意の領域の画像を複製する複製処理を含む描画処理に必要なメモリのメモリサイズを小さくできる。さらに、この実施形態では、画像処理装置10Aの描画部30Aは、データ生成部32、シーンデータバッファ34および画像生成部36を有している。
データ生成部32は、スキャンライン単位で参照可能なシーンデータSD1を生成する。画像生成部36は、スキャンラインに描画される図形の画像データPDATAをシーンデータSD1を参照して生成し、生成した画像データPDATAをスキャンライン単位で入力ラインバッファ42に書き込む。このように、この実施形態では、シーンデータSD1に格納された図形情報がスキャンライン単位で参照可能であるため、各スキャンラインに描画される図形の画像データPDATAを効率よく生成できる。
また、図6の動作を実行するデータ生成部32では、ソース領域SAREおよびディスティネーション領域DAREが1つのビットブリット指示で指定されているときにも、読み出しビットブリット指示と書き込みビットブリット指示とを別々のフレームのシーンデータSD1に格納できる。これにより、この実施形態では、ソース領域SAREおよびディスティネーション領域DAREが1つのビットブリット指示で指定されているときにも、フレーム間でのビットブリット処理を実行できる。
以上の実施形態において説明した発明を整理して、付記として開示する。
(付記1)
スキャンラインに表示する画像の画像データを保持するラインバッファと、
画像の複製を指示する複製指示および図形の図形データを受ける入力部と、
前記図形データに基づいて生成した前記画像データをスキャンライン単位で前記ラインバッファに書き込む描画部と、
前記複製指示で指定される複製元の領域の前記画像データを保持するワークバッファと、
前記複製元の領域に対応する前記ラインバッファ上の領域の前記画像データを前記ワークバッファに書き込む第1複製処理と、前記複製指示で指定される複製先の領域に対応する前記ラインバッファ上の領域に前記ワークバッファに保持された前記画像データを書き込む第2複製処理との少なくとも一方を前記複製指示に基づいて実行する複製処理部と
を備えていることを特徴とする画像処理装置。
(付記2)
前記描画部は、
前記図形の図形情報を前記図形データに基づいて生成し、前記図形情報および前記複製指示を格納する参照データをフレーム毎に生成し、前記参照データを前記スキャンライン単位で参照可能にするデータ生成部と、
前記参照データ内の前記図形情報に基づいて前記画像データを生成し、前記画像データを前記ラインバッファに書き込む画像生成部と
を備えていることを特徴とする付記1記載の画像処理装置。
(付記3)
前記データ生成部は、前記複製元の領域および前記複製先の領域の両方を指定した複製指示を検出したとき、前記複製指示を前記第1複製処理用の第1複製指示と前記第2複製処理用の第2複製指示とに分け、前記第2複製処理が実行されるフレームの前のフレームの前記参照データに前記第1複製指示を含めること
を特徴とする付記2記載の画像処理装置。
(付記4)
前記描画部は、前記複製元の領域の前記画像データの量が前記ワークバッファの容量より大きいとき、警告を出力すること
を特徴とする付記1ないし付記3のいずれか1項に記載の画像処理装置。
(付記5)
前記データ生成部は、前記第1複製処理用の前記複製指示を検出したとき、前記第1複製処理用の前記複製指示を前記参照データに格納し、前記第2複製処理用の前記複製指示を検出したとき、前記第2複製処理用の前記複製指示を前記参照データに格納すること
を特徴とする付記2記載の画像処理装置。
(付記1)
スキャンラインに表示する画像の画像データを保持するラインバッファと、
画像の複製を指示する複製指示および図形の図形データを受ける入力部と、
前記図形データに基づいて生成した前記画像データをスキャンライン単位で前記ラインバッファに書き込む描画部と、
前記複製指示で指定される複製元の領域の前記画像データを保持するワークバッファと、
前記複製元の領域に対応する前記ラインバッファ上の領域の前記画像データを前記ワークバッファに書き込む第1複製処理と、前記複製指示で指定される複製先の領域に対応する前記ラインバッファ上の領域に前記ワークバッファに保持された前記画像データを書き込む第2複製処理との少なくとも一方を前記複製指示に基づいて実行する複製処理部と
を備えていることを特徴とする画像処理装置。
(付記2)
前記描画部は、
前記図形の図形情報を前記図形データに基づいて生成し、前記図形情報および前記複製指示を格納する参照データをフレーム毎に生成し、前記参照データを前記スキャンライン単位で参照可能にするデータ生成部と、
前記参照データ内の前記図形情報に基づいて前記画像データを生成し、前記画像データを前記ラインバッファに書き込む画像生成部と
を備えていることを特徴とする付記1記載の画像処理装置。
(付記3)
前記データ生成部は、前記複製元の領域および前記複製先の領域の両方を指定した複製指示を検出したとき、前記複製指示を前記第1複製処理用の第1複製指示と前記第2複製処理用の第2複製指示とに分け、前記第2複製処理が実行されるフレームの前のフレームの前記参照データに前記第1複製指示を含めること
を特徴とする付記2記載の画像処理装置。
(付記4)
前記描画部は、前記複製元の領域の前記画像データの量が前記ワークバッファの容量より大きいとき、警告を出力すること
を特徴とする付記1ないし付記3のいずれか1項に記載の画像処理装置。
(付記5)
前記データ生成部は、前記第1複製処理用の前記複製指示を検出したとき、前記第1複製処理用の前記複製指示を前記参照データに格納し、前記第2複製処理用の前記複製指示を検出したとき、前記第2複製処理用の前記複製指示を前記参照データに格納すること
を特徴とする付記2記載の画像処理装置。
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずであり、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。
10、10A‥画像処理装置;20‥入力部;30、30A‥描画部;32‥データ生成部;34‥シーンデータバッファ;36‥画像生成部;40‥ラインバッファ部;42a、42b‥ラインバッファ;50‥複製処理部;60‥ワークバッファ;70‥表示部;DIS‥表示面
Claims (4)
- スキャンラインに表示する画像の画像データを保持するラインバッファと、
画像の複製を指示する複製指示および図形の図形データを受ける入力部と、
前記図形データに基づいて生成した前記画像データをスキャンライン単位で前記ラインバッファに書き込む描画部と、
前記複製指示で指定される複製元の領域の前記画像データを保持するワークバッファと、
前記複製元の領域に対応する前記ラインバッファ上の領域の前記画像データを前記ワークバッファに書き込む第1複製処理と、前記複製指示で指定される複製先の領域に対応する前記ラインバッファ上の領域に前記ワークバッファに保持された前記画像データを書き込む第2複製処理との少なくとも一方を前記複製指示に基づいて実行する複製処理部と
を備えていることを特徴とする画像処理装置。 - 前記描画部は、
前記図形の図形情報を前記図形データに基づいて生成し、前記図形情報および前記複製指示を格納する参照データをフレーム毎に生成し、前記参照データを前記スキャンライン単位で参照可能にするデータ生成部と、
前記参照データ内の前記図形情報に基づいて前記画像データを生成し、前記画像データを前記ラインバッファに書き込む画像生成部と
を備えていることを特徴とする請求項1記載の画像処理装置。 - 前記データ生成部は、前記複製元の領域および前記複製先の領域の両方を指定した複製指示を検出したとき、前記複製指示を前記第1複製処理用の第1複製指示と前記第2複製処理用の第2複製指示とに分け、前記第2複製処理が実行されるフレームの前のフレームの前記参照データに前記第1複製指示を含めること
を特徴とする請求項2記載の画像処理装置。 - 前記描画部は、前記複製元の領域の前記画像データの量が前記ワークバッファの容量より大きいとき、警告を出力すること
を特徴とする請求項1ないし請求項3のいずれか1項に記載の画像処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012144970A JP2014010520A (ja) | 2012-06-28 | 2012-06-28 | 画像処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012144970A JP2014010520A (ja) | 2012-06-28 | 2012-06-28 | 画像処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014010520A true JP2014010520A (ja) | 2014-01-20 |
Family
ID=50107216
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012144970A Pending JP2014010520A (ja) | 2012-06-28 | 2012-06-28 | 画像処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014010520A (ja) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63129416A (ja) * | 1986-11-19 | 1988-06-01 | Japan Radio Co Ltd | ハ−ドウエアウインドウ表示方式 |
JPH04318891A (ja) * | 1991-04-18 | 1992-11-10 | Mitsubishi Electric Corp | グラフィック制御装置 |
JPH05266154A (ja) * | 1992-03-18 | 1993-10-15 | Fuji Photo Film Co Ltd | 画像処理方法 |
WO2006041094A2 (ja) * | 2004-10-13 | 2006-04-20 | Matsushita Electric Ind Co Ltd | 矩形画像描画装置、矩形画像描画方法、及び集積回路 |
JP2006227498A (ja) * | 2005-02-21 | 2006-08-31 | Yamaha Corp | 画像処理装置 |
JP2007527027A (ja) * | 2003-06-30 | 2007-09-20 | Necエレクトロニクス株式会社 | コントローラドライバ及びそれを用いた表示装置 |
US20090066707A1 (en) * | 2007-09-11 | 2009-03-12 | Himax Technologies Limited | Source driver for image scrolling |
-
2012
- 2012-06-28 JP JP2012144970A patent/JP2014010520A/ja active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63129416A (ja) * | 1986-11-19 | 1988-06-01 | Japan Radio Co Ltd | ハ−ドウエアウインドウ表示方式 |
JPH04318891A (ja) * | 1991-04-18 | 1992-11-10 | Mitsubishi Electric Corp | グラフィック制御装置 |
JPH05266154A (ja) * | 1992-03-18 | 1993-10-15 | Fuji Photo Film Co Ltd | 画像処理方法 |
JP2007527027A (ja) * | 2003-06-30 | 2007-09-20 | Necエレクトロニクス株式会社 | コントローラドライバ及びそれを用いた表示装置 |
WO2006041094A2 (ja) * | 2004-10-13 | 2006-04-20 | Matsushita Electric Ind Co Ltd | 矩形画像描画装置、矩形画像描画方法、及び集積回路 |
JP2006227498A (ja) * | 2005-02-21 | 2006-08-31 | Yamaha Corp | 画像処理装置 |
US20090066707A1 (en) * | 2007-09-11 | 2009-03-12 | Himax Technologies Limited | Source driver for image scrolling |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6587112B1 (en) | Window copy-swap using multi-buffer hardware support | |
KR102065564B1 (ko) | 선택적 디스플레이 리프레시 방법 및 장치 | |
JP2005092742A (ja) | ビデオ出力コントローラ及びビデオカード | |
JP4776592B2 (ja) | 画像生成装置、画像生成方法および画像生成プログラム | |
US20060238541A1 (en) | Displaying an image using memory control unit | |
KR100328424B1 (ko) | 고속카피수단을갖는프레임버퍼를구성하기위한방법및장치 | |
JP2007114489A (ja) | 画像表示装置およびその制御方法 | |
JP2008071261A (ja) | 画像処理システム及び画像処理方法 | |
JP2005339443A (ja) | 解像度が異なる複数のウィンドウを表示するためのシステム、方法およびプログラム | |
JP2010081024A (ja) | 画像補間処理装置 | |
US8937623B2 (en) | Page flipping with backend scaling at high resolutions | |
JP2014010520A (ja) | 画像処理装置 | |
JP4978529B2 (ja) | 画像処理装置、画像処理システム及び車両用ヘッドアップディスプレイシステム | |
JPH06149533A (ja) | 表示領域外セグメントの描画処理を削減したセグメント高速描画方式 | |
JP6320652B2 (ja) | データ処理装置、データ処理方法及びデータ処理プログラム | |
JP3729187B2 (ja) | 画像表示装置 | |
KR102569955B1 (ko) | 선 차트 표시 방법 및 시스템 | |
JP2013195963A (ja) | 画像処理装置、集積回路装置及び画像表示システム | |
US8934736B2 (en) | Image processing apparatus, image processing system, and method for having computer process image | |
JP4978528B2 (ja) | 画像処理装置、画像処理システム及び車両用ヘッドアップディスプレイシステム | |
JP2009009428A (ja) | ベクター画像描画回路およびベクター画像描画方法 | |
JP4533019B2 (ja) | グラフィックオブジェクト処理装置及びグラフィックオブジェクト処理方法 | |
JP2006048172A (ja) | クリップ処理システム及びクリップ処理方法 | |
JP5418078B2 (ja) | 画像プロセッサ | |
JPH03211675A (ja) | Cad図面表示方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150225 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20151102 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151117 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20160308 |