(57)【要約】【課題】  イメージオブジェクトと線画オブジェクトとを描画順を維持したまま、空間的に依存関係のないイメージオブジェクトと線画オブジェクトとを並行してレンダリングするための技術を提供すること。【解決手段】  描画命令がイメージオブジェクト用の場合、該描画命令に基づく描画をイメージオブジェクト用のレンダラに指示し、該イメージオブジェクトの領域を規定する領域情報を登録する。描画命令が線画オブジェクト用の場合、該線画オブジェクトと領域情報が示す領域とが重複していなければ、該領域情報に対応するイメージオブジェクトの描画の完了を待たずに、該描画命令に基づく描画を線画オブジェクト用のレンダラに指示する。重複していれば、該領域情報に対応するイメージオブジェクトの描画の完了後、該描画命令に基づく描画を線画オブジェクト用のレンダラに指示する。【選択図】  図１
2016081394.tif 000002
【特許請求の範囲】
【請求項１】
１フレームを描画するための描画命令群におけるそれぞれの描画命令を順次取得する取得手段と、
前記取得手段が取得した描画命令がイメージオブジェクトの描画命令である場合には、該取得した描画命令に基づく描画をイメージオブジェクト用のレンダラに対して指示すると共に、前記１フレームにおける該イメージオブジェクトの領域を規定する領域情報を登録する登録手段と、
前記取得手段が取得した描画命令が線画オブジェクトの描画命令である場合、前記１フレームにおける該線画オブジェクトの領域と前記領域情報が示す領域とが重複していなければ、該領域情報に対応するイメージオブジェクトの描画の完了を待たずに、該取得した描画命令に基づく描画を線画オブジェクト用のレンダラに対して指示し、重複していれば、該領域情報に対応するイメージオブジェクトの描画が完了した後に、該取得した描画命令に基づく描画を線画オブジェクト用のレンダラに対して指示する制御手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記制御手段は、
前記取得手段が取得した描画命令が線画オブジェクトの描画命令である場合、前記１フレームにおける該線画オブジェクトの領域と前記領域情報が示す領域とが重複していれば、該線画オブジェクトを描画するために必要な情報をリストに登録し、該領域情報に対応するイメージオブジェクトの描画が完了すると、該リストに登録した情報に基づく該線画オブジェクトの描画を線画オブジェクト用のレンダラに対して指示する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記領域情報は、前記イメージオブジェクトに対するバウンディングボックスを規定する情報であることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
画像処理装置が行う画像処理方法であって、
前記画像処理装置の取得手段が、１フレームを描画するための描画命令群におけるそれぞれの描画命令を順次取得する取得工程と、
前記画像処理装置の登録手段が、前記取得工程で取得した描画命令がイメージオブジェクトの描画命令である場合には、該取得した描画命令に基づく描画をイメージオブジェクト用のレンダラに対して指示すると共に、前記１フレームにおける該イメージオブジェクトの領域を規定する領域情報を登録する登録工程と、
前記画像処理装置の制御手段が、前記取得工程で取得した描画命令が線画オブジェクトの描画命令である場合、前記１フレームにおける該線画オブジェクトの領域と前記領域情報が示す領域とが重複していなければ、該領域情報に対応するイメージオブジェクトの描画の完了を待たずに、該取得した描画命令に基づく描画を線画オブジェクト用のレンダラに対して指示し、重複していれば、該領域情報に対応するイメージオブジェクトの描画が完了した後に、該取得した描画命令に基づく描画を線画オブジェクト用のレンダラに対して指示する制御工程と
を備えることを特徴とする画像処理方法。
【請求項５】
コンピュータを、請求項１乃至３の何れか１項に記載の画像処理装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オブジェクトの描画技術に関するものである。
【背景技術】
【０００２】
アニメーションの描画に、ベクタグラフィックスを用いるシステムが普及している。表示デバイスの大画面化や高解像度化に伴い、画像の描画に用いるレンダラが取り扱うピクセル数は今後も増大が予想される。描画対象のピクセル数が多い場合、座標情報や色情報を用いて描画図形(オブジェクト)の形状を指示するベクタグラフィックスのほうが、ビットマップを用いるラスタグラフィックスと比較して描画指示に用いるデータが小さい。
【０００３】
ベクタグラフィックスの描画命令においても、ビットマップによってイメージを塗りつぶしたり、画面に重畳するイメージのパターンを指定するためにイメージを入力として扱うことができる。
【０００４】
特許文献１には、複数の描画装置が同一フレームメモリに描画することで描画を高速化する描画装置が開示されている。特許文献１の構成では、入力図形を並列に描画できるが、半透明のオブジェクトが載るようなケースでは正しい絵が描画できない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−２６３６４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ベクタグラフィックスアニメーションを描画するレンダラにイメージを描画させると、レンダラの内部メモリやキャッシュに対して扱うデータのサイズが大きいため、ワーキングセットがキャッシュやSRAM上に乗らず、描画速度が低下する問題がある。また、イメージと線画の描画を逐次処理する従来の描画シーケンスでは、描画しようとするイメージと空間的に依存関係がない後続の描画命令もイメージの描画命令の完了を待つ必要があるため、描画性能が上がらないという課題があった。
【０００７】
本発明はこのような問題に鑑みてなされたものであり、イメージオブジェクトと線画オブジェクトとを描画順を維持したまま、空間的に依存関係のないイメージオブジェクトと線画オブジェクトとを並行してレンダリングするための技術を提供する。
【課題を解決するための手段】
【０００８】
本発明の一様態は、１フレームを描画するための描画命令群におけるそれぞれの描画命令を順次取得する取得手段と、前記取得手段が取得した描画命令がイメージオブジェクトの描画命令である場合には、該取得した描画命令に基づく描画をイメージオブジェクト用のレンダラに対して指示すると共に、前記１フレームにおける該イメージオブジェクトの領域を規定する領域情報を登録する登録手段と、前記取得手段が取得した描画命令が線画オブジェクトの描画命令である場合、前記１フレームにおける該線画オブジェクトの領域と前記領域情報が示す領域とが重複していなければ、該領域情報に対応するイメージオブジェクトの描画の完了を待たずに、該取得した描画命令に基づく描画を線画オブジェクト用のレンダラに対して指示し、重複していれば、該領域情報に対応するイメージオブジェクトの描画が完了した後に、該取得した描画命令に基づく描画を線画オブジェクト用のレンダラに対して指示する制御手段とを備えることを特徴とする。
【発明の効果】
【０００９】
本発明の構成によれば、イメージオブジェクトと線画オブジェクトとを描画順を維持したまま、空間的に依存関係のないイメージオブジェクトと線画オブジェクトとを並行してレンダリングすることができる。
【図面の簡単な説明】
【００１０】
【図１】画像処理装置の機能構成例を示すブロック図。
【図２】１フレームの画像２００を示す図。
【図３】描画命令群を示す図。
【図４】領域判定部１０２が行う処理のフローチャート。
【図５】制御部１０３が行う処理のフローチャート。
【図６】リストの構成例を示す図。
【図７】描画命令群及び同期命令を示す図。
【図８】同期オブジェクトリストの構成例を示す図。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施例の１つである。
【００１２】
［第１の実施形態］
先ず、本実施形態に係る画像処理装置の機能構成例について、図１のブロック図を用いて説明する。
【００１３】
描画命令受信部１０１は、１フレームを描画するための描画命令群（例えばベクタグラフィックス描画命令の集合）を取得し、該描画命令群におけるそれぞれの描画命令を順次後段の領域判定部１０２に対して送出する。
【００１４】
本実施形態では、図２に示す１フレームの画像２００を描画するための描画命令群が描画命令受信部１０１に入力された場合について説明する。画像２００内には、イメージオブジェクト２０１、半透明の線画オブジェクト２０３、不透明の線画オブジェクト２０２が配置されており、線画オブジェクト２０３はイメージオブジェクト２０１に上書きされている。
【００１５】
図２に示す１フレームの画像２００を描画するための描画命令群を図３に示す。
【００１６】
描画命令３００は、前のフレームの描画完了指示命令である。
【００１７】
描画命令３０１〜３０５は、イメージオブジェクト２０１を描画するための描画命令群である。
【００１８】
描画命令３０１〜３０２は、イメージを領域（イメージオブジェクト２０１の領域）の塗りつぶしパターンに指定するための描画命令である。
【００１９】
描画命令３０３は、描画命令３０１〜３０２で指定したイメージで塗りつぶす領域の形状、すなわち、図２のイメージオブジェクト２０１の形状を指定するための描画命令である。
【００２０】
描画命令３０４は、オブジェクトの塗りつぶしパターンに、描画命令３０１〜３０２で指定したイメージを設定するための描画命令である。描画命令３０４以降で描画対象とするオブジェクトの塗りつぶしパターンには、特に変更命令がない限りは、描画命令３０１〜３０２で指定したイメージが使用されることになる。
【００２１】
描画命令３０５は、描画命令３０１〜３０４によって規定された内容に基づくイメージオブジェクト２０１を実際に描画するための描画命令である。
【００２２】
描画命令３０６〜３１０は、線画オブジェクト２０３を描画するための描画命令群である。
【００２３】
描画命令３０６〜３０７は、領域（線画オブジェクト２０３の領域）の塗りつぶしパターンを、描画命令３０１〜３０２で指定した塗りつぶしパターン（イメージ）から、固定色に変更するための描画命令である。
【００２４】
描画命令３０８は、領域（線画オブジェクト２０３の領域）の塗りつぶし色として半透明の赤色を指定するための描画命令である。
【００２５】
描画命令３０９は、描画命令３０８で指定した半透明の赤色で塗りつぶす領域の形状、すなわち、図２の線画オブジェクト２０３の形状を指定するための描画命令である。
【００２６】
描画命令３１０は、描画命令３０６〜３０９によって規定された内容に基づく線画オブジェクト２０３を実際に描画するための描画命令である。
【００２７】
描画命令３１１〜３１３は、線画オブジェクト２０２を描画するための描画命令群である。
【００２８】
描画命令３１１は、領域（線画オブジェクト２０２の領域）の塗りつぶし色として不透明の白を指定するための描画命令である。
【００２９】
描画命令３１２は、描画命令３１１で指定した不透明の白で塗りつぶす領域の形状、すなわち、図２の線画オブジェクト２０２の形状を指定するための描画命令である。
【００３０】
描画命令３１３は、描画命令３１１〜３１２によって規定された内容に基づく線画オブジェクト２０２を実際に描画するための描画命令である。
【００３１】
然るに、図３の場合、前のフレームの描画完了指示命令である描画命令３００に続く描画命令３０１から、次の描画完了指示命令である描画命令３１４までが１フレームの描画命令である。以下では、描画命令３０１から描画命令３１４までの描画命令群がこの順で描画命令受信部１０１に入力された場合について説明する。
【００３２】
図１の領域判定部１０２、制御部１０３、イメージ描画部１０５、線画描画部１０４、メモリ１０６に係る説明ついては後述する。
【００３３】
次に、本実施形態に係る画像処理装置（描画命令受信部１０１）に、図３の描画命令３０１から描画命令３１４までの描画命令群がこの順で入力された場合に、領域判定部１０２が行う処理について、図４のフローチャートを用いて説明する。
【００３４】
＜ステップＳ４０１＞
描画命令受信部１０１は、描画命令３０１から描画命令３１４までの各描画命令を順次取得して後段の領域判定部１０２に転送するので、領域判定部１０２は、描画命令受信部１０１から送出された描画命令を取得する。
【００３５】
＜ステップＳ４０２＞
領域判定部１０２は、描画命令受信部１０１から受けた描画命令が描画完了指示命令（図３の場合、描画命令３１４）であるか否かを判断する。この判断の結果、描画命令受信部１０１から受けた描画命令が描画完了指示命令であれば、処理はステップＳ４１６に進み、描画命令受信部１０１から受けた描画命令が描画完了指示命令ではない場合には、処理はステップＳ４０３に進む。
【００３６】
＜ステップＳ４０３＞
領域判定部１０２は、描画命令受信部１０１から受けた描画命令が、オブジェクトの描画設定変更命令であるか否かを判断する。図３の場合、塗りつぶしの設定を変更するsetParameteriやpaintPattern、setPaint命令が、オブジェクトの描画設定変更命令に該当する。この判断の結果、描画命令受信部１０１から受けた描画命令が、オブジェクトの描画設定変更命令である場合には、処理はステップＳ４０４に進む。一方、描画命令受信部１０１から受けた描画命令が、オブジェクトの描画設定変更命令ではない場合には、処理はステップＳ４０７に進む。
【００３７】
＜ステップＳ４０４＞
領域判定部１０２は、これから描画しようとするオブジェクトがイメージオブジェクトであるのか、それとも線画オブジェクトであるのか、をこの時点で描画命令受信部１０１から取得している描画命令から判断する。例えば、イメージを領域（これから描画しようとするオブジェクトの領域）の塗りつぶしパターンに指定している場合には、これから描画しようとするオブジェクトはイメージオブジェクトであると判断できる。また、これから描画しようとするオブジェクトの領域の塗りつぶしパターンとして固定色が指定されている場合には、これから描画しようとするオブジェクトは線画オブジェクトであると判断できる。
【００３８】
この判断の結果、これから描画しようとするオブジェクトがイメージオブジェクトである場合には、処理はステップＳ４０５に進み、これから描画しようとするオブジェクトが線画オブジェクトである場合には、処理はステップＳ４０６に進む。
【００３９】
＜ステップＳ４０５＞
領域判定部１０２は、画像処理装置のモードをイメージモードに切り替える。
【００４０】
＜ステップＳ４０６＞
領域判定部１０２は、画像処理装置のモードを線画モードに切り替える。
【００４１】
＜ステップＳ４０７＞
領域判定部１０２は、描画命令受信部１０１から受けた描画命令が描画形状指示命令であるのか否かを判断する。図３の場合、これから描画しようとするオブジェクトの形状を指示するappendPathData命令が描画形状指示命令に該当する。この判断の結果、描画命令受信部１０１から受けた描画命令が描画形状指示命令であれば、処理はステップＳ４０８に進み、描画命令受信部１０１から受けた描画命令が描画形状指示命令ではない場合には、処理はステップＳ４０９に進む。
【００４２】
＜ステップＳ４０８＞
領域判定部１０２は、これから描画しようとするオブジェクトのバウンディングボックスを求める。これから描画しようとするオブジェクトの形状はappendPathData命令によって規定されているので、該形状を包含するバウンディングボックスを求めることになる。なお、appendPathData命令によって規定されている形状を包含する領域を求めるのであれば、バウンディングボックスに限るものではない。
【００４３】
＜ステップＳ４０９＞
領域判定部１０２は、描画命令受信部１０１から受けた描画命令がオブジェクトの描画を確定するオブジェクト描画命令であるか否かを判断する。図３の場合、drawPath命令がオブジェクト描画命令に該当する。この判断の結果、描画命令受信部１０１から受けた描画命令がオブジェクト描画命令であれば、処理はステップＳ４１０に進み、描画命令受信部１０１から受けた描画命令がオブジェクト描画命令ではない場合には、処理はステップＳ４１５に進む。
【００４４】
＜ステップＳ４１０＞
画像処理装置のモードがイメージモードである、すなわち、これから描画しようとするオブジェクトがイメージオブジェクトである場合には、処理はステップＳ４１１に進む。一方、画像処理装置のモードが線画モードである、すなわち、これから描画しようとするオブジェクトが線画オブジェクトである場合には、処理はステップＳ４１３に進む。
【００４５】
＜ステップＳ４１１＞
領域判定部１０２は、これから描画しようとするオブジェクト、すなわちイメージオブジェクトについてステップＳ４０８で求めたバウンディングボックスに係る情報（領域情報）をメモリ１０６内で管理しているリストに登録する。例えば、図６に示す如く、イメージオブジェクトに固有のＩＤ６０１、イメージオブジェクトについて求めたバウンディングボックスの位置６０２（例えば左上隅の位置）、該バウンディングボックスのサイズ６０３（縦横サイズ）、のセットを領域情報としてリストに登録する。図６の場合、イメージオブジェクト２０１のＩＤ＝ｉｄ＿１、イメージオブジェクト２０１のバウンディングボックスの位置（ｘ、ｙ）＝（２００，１５０）、該バウンディングボックスのサイズ＝（縦サイズ、横サイズ）＝（３２０，３００）がセットになって領域情報として登録されている。
【００４６】
領域情報は、描画命令の入力順にリスト登録されるため、最初に描画されるイメージオブジェクトに係る領域情報が先頭に、最後に描画されるイメージオブジェクトに係る領域情報が最後に、リストに登録されることになる。
【００４７】
＜ステップＳ４１３＞
領域判定部１０２は、メモリ１０６内で管理されているリストの先頭から順に領域情報を参照し、該領域情報が規定するバウンディングボックスと、これから描画しようとするオブジェクト（すなわち線画オブジェクト）のバウンディングボックスと、が重複（一部でも良いし全部でも良い）しているか否かを判断する。
【００４８】
そして、メモリ１０６に登録されているそれぞれの領域情報のうち、これから描画しようとするオブジェクトのバウンディングボックスと重複する部分を有するバウンディングボックスを規定する領域情報があれば、処理はステップＳ４１４に進む。一方、メモリ１０６に登録されているそれぞれの領域情報のうち、これから描画しようとするオブジェクトのバウンディングボックスと重複する部分を有するバウンディングボックスを規定する領域情報がなければ、処理はステップＳ４１５に進む。
【００４９】
＜ステップＳ４１４＞
領域判定部１０２は、これから描画しようとするオブジェクトのバウンディングボックスと重複するバウンディングボックスを規定する領域情報（複数の場合には、リストの最後に最も近い領域情報）に含まれているＩＤを引数とする同期命令を制御部１０３に対して出力する。
【００５０】
＜ステップＳ４１５＞
領域判定部１０２は、描画命令受信部１０１から受けた描画命令を制御部１０３に対して出力する。
【００５１】
図２の場合、イメージオブジェクト２０１は線画オブジェクト２０３と重複しているため、図３に示す描画命令群が描画命令受信部１０１に入力された場合、該描画命令受信部１０１からは、図７に例示するように、線画オブジェクト２０３用の描画命令３１０の直前に、イメージオブジェクト２０１のＩＤ（＝ｉｄ＿１）を引数とする同期命令が挿入された描画命令群が、制御部１０３に対して出力されることになる。
【００５２】
次に、図７に例示する描画命令群が領域判定部１０２から出力された場合に、制御部１０３が行う処理について、図５のフローチャートを用いて説明する。
【００５３】
＜ステップＳ５０１＞
制御部１０３は、領域判定部１０２から出力された図７の各行の描画命令を順次取得する。
【００５４】
＜ステップＳ５０２＞
制御部１０３は、ステップＳ５０１で取得した描画命令が描画完了指示命令であるか否かを判断する。この判断の結果、ステップＳ５０１で取得した描画命令が描画完了指示命令であれば、処理はステップＳ５０８に進み、ステップＳ５０１で取得した描画命令が描画完了指示命令ではない場合には、処理はステップＳ５０３に進む。
【００５５】
＜ステップＳ５０３＞
制御部１０３は、ステップＳ５０１で取得した描画命令が、イメージオブジェクト用の描画命令であるのか、線画オブジェクト用の描画命令であるのか、を判断する。図７の場合、２秒目から６行目までの各行の描画命令はイメージオブジェクト用の描画命令であり、７行目から１０行目、１２行目、１３行目から１５行目の各行の描画命令は線画オブジェクト用の描画命令である。
【００５６】
ステップＳ５０１で取得した描画命令がイメージオブジェクト用の描画命令であれば、処理はステップＳ５０４に進み、線画オブジェクト用の描画命令であれば、処理はステップＳ５０５に進む。
【００５７】
＜ステップＳ５０４＞
制御部１０３は、ステップＳ５０１で取得した描画命令を、イメージ描画部１０５に対して出力することで、イメージ描画部１０５に該描画命令に応じたイメージオブジェクトの描画を指示する。イメージ描画部１０５は、イメージオブジェクト用の描画命令を受けると、該描画命令に基づいて該イメージオブジェクトをレンダリングするレンダラである。イメージ描画部１０５は、イメージオブジェクト用の描画命令に基づいて該イメージオブジェクトをメモリ１０６上にレンダリングする。
【００５８】
＜ステップＳ５０５＞
制御部１０３は、ステップＳ５０１で取得した描画命令が同期命令であるのか否かを判断する。この判断の結果、ステップＳ５０１で取得した描画命令が同期命令であれば、処理はステップＳ５０７に進み、ステップＳ５０１で取得した描画命令が同期命令ではない場合には、処理はステップＳ５０６に進む。
【００５９】
＜ステップＳ５０６＞
制御部１０３は、ステップＳ５０１で取得した描画命令を、線画描画部１０４に対して出力することで、線画描画部１０４に該描画命令に応じた線画オブジェクトの描画を指示する。線画描画部１０４は、線画オブジェクト用の描画命令を受けると、該描画命令に基づいて該線画オブジェクトをレンダリングするレンダラである。線画描画部１０４は、線画オブジェクト用の描画命令に基づいて該線画オブジェクトをメモリ１０６上にレンダリングする。
【００６０】
＜ステップＳ５０７＞
制御部１０３は、同期命令における引数が示すＩＤと、該ＩＤに対応するイメージオブジェクト（同期オブジェクト）の描画が完了した後で描画を開始する線画オブジェクト（ステップＳ５０１で取得した描画命令が描画対象としている線画オブジェクト）を描画するために必要な情報（描画命令、パラメータなど）と、をメモリ１０６内で管理しているリスト（同期オブジェクトリスト）に登録する。
【００６１】
同期オブジェクトリストの構成例を図８に示す。同期オブジェクトリストには、同期命令直後の描画命令８０１（ｄｒａｗＰａｔｈ）、同期命令における引数が示すＩＤ８０２（＝ｉｄ＿１）、描画命令８０１を実行する際に必要となるパラメータ（描画設定情報）８０３のセットが登録される。本実施形態では、描画設定情報としてdrawPathの色(TRANSPARENT_RED)を用いる。なお、描画設定情報は描画設定変更命令で変更されるため、描画命令の実行順序を変更した場合に実行順序を変更しなかった場合と同じ状態を再現するのに必要十分なパラメータを持つ必要がある。このため、描画設定情報８０３は描画命令８０１の描画時点で必要となる色以外の設定情報を持つように構成してもよい。たとえば、描画オブジェクトの変形情報、描画時の線スタイル等を描画設定情報８０３に含めてよい。
【００６２】
＜ステップＳ５０８＞
制御部１０３は、メモリ１０６内で管理されている同期オブジェクトリストが空であるか否かを判断する。この判断の結果、同期オブジェクトリストが空であれば、図５のフローチャートに従った処理は完了する。一方、同期オブジェクトリストが空でなければ、処理はステップＳ５０９に進む。
【００６３】
＜ステップＳ５０９＞
制御部１０３は、イメージ描画部１０５の動作を監視し、同期命令の引数が示すＩＤに対応するイメージオブジェクトの描画が完了したか否かを判断する。この判断の結果、同期命令の引数が示すＩＤに対応するイメージオブジェクトの描画が完了した場合には、処理はステップＳ５１０に進む。一方、同期命令の引数が示すＩＤに対応するイメージオブジェクトの描画が未だ完了していない場合には、処理はステップＳ５０９で待機する。
【００６４】
＜ステップＳ５１０＞
制御部１０３は、同期オブジェクトリストに登録されている、描画命令８０１及び描画設定情報８０３を線画描画部１０４に対して出力することで、線画描画部１０４に描画命令８０１及び描画設定情報８０３に応じた線画オブジェクトの描画を指示する。すなわち、イメージオブジェクトと重複する線画オブジェクトについては、該イメージオブジェクトの描画が完了した後で描画する。以上の処理により、メモリ１０６には、図２の画像２００が描画されることになる。
【００６５】
以上説明した処理をまとめると、次のような構成に帰着する。すなわち、１フレームを描画するための描画命令群におけるそれぞれの描画命令を順次取得し、該取得した描画命令がイメージオブジェクトの描画命令である場合には、該取得した描画命令に基づく描画をイメージオブジェクト用のレンダラに対して指示すると共に、該１フレームにおける該イメージオブジェクトの領域を規定する領域情報を登録する。そして、該取得した描画命令が線画オブジェクトの描画命令である場合、該１フレームにおける該線画オブジェクトの領域と領域情報が示す領域とが重複していなければ、該領域情報に対応するイメージオブジェクトのレンダリングの完了を待たずに、該取得した描画命令に基づく描画を線画オブジェクト用のレンダラに対して指示し、重複していれば、該領域情報に対応するイメージオブジェクトのレンダリングが完了した後に、該取得した描画命令に基づく描画を線画オブジェクト用のレンダラに対して指示する。
【００６６】
以上説明した構成により、本実施形態によれば、イメージオブジェクトと線画オブジェクトとを描画順を維持したまま、空間的に依存関係のないイメージオブジェクトと線画オブジェクトとを並行してレンダリングすることができる。
【００６７】
より詳しくは、描画位置が重複しないイメージオブジェクトと線画オブジェクトを含むフレームで、描画処理を高速化できる。線画オブジェクトとイメージオブジェクトに空間的に依存関係がない場合は、並行に描画処理を進められるため線画オブジェクトとイメージオブジェクトが並行処理できた時間だけ描画完了が早くなる。また、イメージオブジェクトのリードライトでキャッシュミスが発生していた場合、イメージオブジェクト分のキャッシュミスが減り、線画オブジェクトのキャッシュヒット率が向上することで線画オブジェクトの描画速度が向上する。
【００６８】
［第２の実施形態］
図１では、画像処理装置がイメージ描画部１０５及び線画描画部１０４を有するものとして説明したが、画像処理装置外に設けても構わない。これは、メモリ１０６についても同様で、画像処理装置外に設けても構わない。
【００６９】
また、描画命令受信部１０１、領域判定部１０２、制御部１０３、イメージ描画部１０５、線画描画部１０４の各機能部は何れもハードウェアで構成しても構わないが、ソフトウェア（コンピュータプログラム）で構成しても構わない。そのような場合、このソフトウェアを格納するためのメモリと、該ソフトウェアを実行するためのプロセッサ（ＣＰＵ等）を有するコンピュータ機器であれば、画像処理装置に適用することができる。
【００７０】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００７１】
１０１：描画命令受信部  １０２：領域判定部  １０３：制御部  １０４：線画描画部  １０５：イメージ描画部
【図１】
2016081394.tif 000003
【図２】
2016081394.tif 000004
【図３】
2016081394.tif 000005
【図４】
2016081394.tif 000006
【図５】
2016081394.tif 000007
【図６】
2016081394.tif 000008
【図７】
2016081394.tif 000009
【図８】
2016081394.tif 000010