(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-12-27
(45)【発行日】2025-01-14
(54)【発明の名称】情報処理装置、情報処理方法、プログラム、および記憶媒体
(51)【国際特許分類】
A63F 13/53 20140101AFI20250106BHJP
A63F 13/52 20140101ALI20250106BHJP
G06T 15/00 20110101ALI20250106BHJP
【FI】
A63F13/53
A63F13/52
G06T15/00
(21)【出願番号】P 2023135060
(22)【出願日】2023-08-22
【審査請求日】2024-06-19
【早期審査対象出願】
(73)【特許権者】
【識別番号】522039773
【氏名又は名称】株式会社 ラセングル
(74)【代理人】
【識別番号】100153246
【氏名又は名称】伊吹 欽也
(72)【発明者】
【氏名】鈴木 克史
【審査官】宇佐田 健二
(56)【参考文献】
【文献】特開2020-189064(JP,A)
【文献】特開2011-209865(JP,A)
【文献】特開2006-318388(JP,A)
【文献】特開2009-140135(JP,A)
【文献】特開2007-026324(JP,A)
【文献】西川善司,“西川善司の3Dゲームファンのための「YEBIS」講座 “KAWASE式”のあの人が手がける「ポストエフェクト・ミドルウェア」の神髄に迫る!”,GAME Watch,日本,株式会社インプレス,2012年02月17日,pp.1-18,インターネット<URL: https://game.watch.impress.co.jp/docs/series/3dcg/512295.html>,[2024年07月31日検索]
(58)【調査した分野】(Int.Cl.,DB名)
A63F 13/00-13/98,9/24
G06T 15/00-15/87
(57)【特許請求の範囲】
【請求項1】
ゲーム中の所定の画像を生成する際、該画像に含まれるオブジェクトの少なくとも1つにエフェクトを適用することが可能な情報処理装置であって、
前記エフェクトを適用するオブジェクトの各々に対応するマスク領域をマスクバッファに描画する手段であって、前記エフェクトを適用するオブジェクトのカテゴリ毎に対応付けられた色にて前記マスク領域を描画して
、該当するオブジェクトに適用するエフェクトを識別するためのマスクデータであって、適用するエフェクトに対応する色が割り当てられたマスク領域を含むマスクデータを生成する手段と、
出力すべき画像となるように該当するオブジェクトをカメラバッファに描画する手段と、
前記色の各々と適用すべきエフェクトとが対応付けられており、前記マスクデータをマスクとして用い、前記カメラバッファに描画された前記所定の画像の画面全体のピクセルを走査し、走査されたピクセルについてエフェクトを適用すべきピクセルに対して該当するエフェクトを適用する手段であって、走査されたピクセルの各々に対する
前記マスクデータに含まれるマスク領域の色を判定し
て該判定した色が前記適用すべきエフェクトに対応付けられた色のいずれかであるか否かを判定し、
該判定により前記適用すべきエフェクトに対応付けられていない色である場合は、該当するピクセルへのエフェクトの適用は行わず、
前記判定により前記適用すべきエフェクトに対応付けられた色である場合は、それぞれのピクセルで判定された色に応じたエフェクトを適用する
ことにより、前記カメラバッファに描画されたオブジェクトであって、前記エフェクトを適用するオブジェクトの各々に対して該当するエフェクトを適用する手段と
を備えることを特徴とする画像処理装置。
【請求項2】
ゲーム中の所定の画像を生成する際、該画像に含まれるオブジェクトの少なくとも1つにエフェクトを適用することが可能な情報処理
装置の制御方法であって、
前記情報処理装置が、前記エフェクトを適用するオブジェクトの各々に対応するマスク領域をマスクバッファに描画する工程であって、前記エフェクトを適用するオブジェクトのカテゴリ毎に対応付けられた色にて前記マスク領域を描画して
、該当するオブジェクトに適用するエフェクトを識別するためのマスクデータであって、適用するエフェクトに対応する色が割り当てられたマスク領域を含むマスクデータを生成する工程と、
前記情報処理装置が、出力すべき画像となるように該当するオブジェクトをカメラバッファに描画する工程と、
前記情報処理装置が、前記色の各々と適用すべきエフェクトとが対応付けられており、前記マスクデータをマスクとして用い、前記カメラバッファに描画された前記所定の画像の画面全体のピクセルを走査し、走査されたピクセルについてエフェクトを適用すべきピクセルに対して該当するエフェクトを適用する
工程であって、走査されたピクセルの各々に対する
前記マスクデータに含まれるマスク領域の色を判定し
て該判定した色が前記適用すべきエフェクトに対応付けられた色のいずれかであるか否かを判定し、
該判定により前記適用すべきエフェクトに対応付けられていない色である場合は、該当するピクセルへのエフェクトの適用は行わず、
前記判定により前記適用すべきエフェクトに対応付けられた色である場合は、それぞれのピクセルで判定された色に応じたエフェクトを適用する
ことにより、前記カメラバッファに描画されたオブジェクトであって、前記エフェクトを適用するオブジェクトの各々に対して該当するエフェクトを適用する工程と
を有することを特徴とする
情報処理装置の制御方法。
【請求項3】
コンピュータを、ゲーム中の所定の画像を生成する際、該画像に含まれるオブジェクトの少なくとも1つにエフェクトを適用することが可能
なように機能させるプログラムであって、
前記コンピュータを、
前記エフェクトを適用するオブジェクトの各々に対応するマスク領域をマスクバッファに描画する手段であって、前記エフェクトを適用するオブジェクトのカテゴリ毎に対応付けられた色にて前記マスク領域を描画して
、該当するオブジェクトに適用するエフェクトを識別するためのマスクデータであって、適用するエフェクトに対応する色が割り当てられたマスク領域を含むマスクデータを生成する手段と、
出力すべき画像となるように該当するオブジェクトをカメラバッファに描画する手段と、
前記色の各々と適用すべきエフェクトとが対応付けられており、前記マスクデータをマスクとして用い、前記カメラバッファに描画された前記所定の画像の画面全体のピクセルを走査し、走査されたピクセルについてエフェクトを適用すべきピクセルに対して該当するエフェクトを適用する手段であって、走査されたピクセルの各々に対する
前記マスクデータに含まれるマスク領域の色を判定し
て該判定した色が前記適用すべきエフェクトに対応付けられた色のいずれかであるか否かを判定し、
該判定により前記適用すべきエフェクトに対応付けられていない色である場合は、該当するピクセルへのエフェクトの適用は行わず、
前記判定により前記適用すべきエフェクトに対応付けられた色である場合は、それぞれのピクセルで判定された色に応じたエフェクトを適用する
ことにより、前記カメラバッファに描画されたオブジェクトであって、前記エフェクトを適用するオブジェクトの各々に対して該当するエフェクトを適用する手段
として機能させるためのプログラム。
【請求項4】
請求項3に記載のプログラムを記憶したコンピュータ読取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、プログラム、および記憶媒体に関する。
【背景技術】
【0002】
ゲーム等のリアルタイム3D(Three Dimensional)グラフィックスにおいて、フォワードレンダリングの一般的なフローは、(i)座標変換(3D座標→2D座標)、(ii)オブジェクトの描画、(iii)ポストエフェクト、の通りである。
【0003】
ゲーム中に登場するカットシーンの制作では、キャラクタやVFX(Visual Effects)を駆使した特殊なポストエフェクトを制作することが多く、アーティストの制作工数は膨大になる。なお、ポストエフェクトとは一般的に、画面のレンダリングが終わった後に、画面全体に演出効果をかけるものを言う(非特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【文献】2022年4月放送!Unity Japan配信YouTubeまとめ<https://note.com/unityjapan/n/nedccf7c425dd>
【発明の概要】
【発明が解決しようとする課題】
【0005】
さて、従来のレンダラでは、ポストエフェクトは画面全体に対して効果が一様に適用されてしまう。従って、例えば、オブジェクトとして背景(オブジェクトのカテゴリ(種類)が背景)とキャラクタ(オブジェクトのカテゴリがキャラクタ)とVFX(オブジェクトのカテゴリがVFX)とが描かれたシーンにおいて、通常のポストエフェクトの手法では、オブジェクトのカテゴリ毎に違うエフェクトを適用することができない。
【0006】
これに対して、オブジェクトの描画毎に毎回ポストエフェクトを適用する手法によれば、オブジェクトのカテゴリ毎に異なるエフェクトを適用することができる。すなわち、ポストプロセスを分けたいカテゴリ毎にレイヤを設定し、オブジェクトのカテゴリ毎にオブジェクトを描画し、レイヤ毎に画面全体のピクセルを走査して該当するカテゴリに対応するポストエフェクトを適用し、各オブジェクトの深度に基づいて上記それぞれのポストエフェクトが適用されたレイヤを重畳させて各オブジェクトを合成するのである。例えば、オブジェクトのカテゴリとして背景、キャラクタ、VFXがある場合、背景カテゴリに対するレイヤにてオブジェクト(背景)を描画し、画面全体のピクセルを走査して背景に対するポストエフェクトを適用し、次いで、キャラクタに対するレイヤにてオブジェクト(キャラクタ)を描画し、画面全体のピクセルを走査してキャラクタに対するポストエフェクトを適用し、次いで、VFXに対するレイヤにてオブジェクト(VFX)を描画し、画面全体のピクセルを走査してVFXに対するポストエフェクトを適用して、各オブジェクトの深度に基づいて合成処理(どのオブジェクトを手前にするか)を行う。
【0007】
このような手法においては、オブジェクトの深度を元にした複雑な合成処理を行う必要がある。また、オブジェクトのカテゴリが増える毎に、コンピュータといった情報処理装置にとって負荷の高い画面全体のピクセル走査の数も増えることになり、この手法はゲーム等のリアルタイム用途には不向きと言えるであろう。
【0008】
本発明は、このような課題に鑑みてなされたものであって、その目的とするところは、処理負荷を低減して、制作者が指定する任意の画面領域毎(オブジェクトのカテゴリ毎)に異なるポストエフェクト(画面全体へのデザイン効果)を適用することが可能な情報処理装置、情報処理方法、プログラム、および記憶媒体を提供することにある。
【課題を解決するための手段】
【0009】
このような目的を達成するために、本発明の第一の態様は、ゲーム中の所定の画像を生成する際、該画像に含まれるオブジェクトの少なくとも1つにエフェクトを適用することが可能な情報処理装置であって、前記エフェクトを適用するオブジェクトの各々に対応するマスク領域をマスクバッファに描画する手段であって、前記エフェクトを適用するオブジェクトのカテゴリ毎に対応付けられた色にて前記マスク領域を描画して、該当するオブジェクトに適用するエフェクトを識別するためのマスクデータであって、適用するエフェクトに対応する色が割り当てられたマスク領域を含むマスクデータを生成する手段と、出力すべき画像となるように該当するオブジェクトをカメラバッファに描画する手段と、前記色の各々と適用すべきエフェクトとが対応付けられており、前記マスクデータをマスクとして用い、前記カメラバッファに描画された前記所定の画像の画面全体のピクセルを走査し、走査されたピクセルについてエフェクトを適用すべきピクセルに対して該当するエフェクトを適用する手段であって、走査されたピクセルの各々に対する前記マスクデータに含まれるマスク領域の色を判定して該判定した色が前記適用すべきエフェクトに対応付けられた色のいずれかであるか否かを判定し、該判定により前記適用すべきエフェクトに対応付けられていない色である場合は、該当するピクセルへのエフェクトの適用は行わず、前記判定により前記適用すべきエフェクトに対応付けられた色である場合は、それぞれのピクセルで判定された色に応じたエフェクトを適用することにより、前記カメラバッファに描画されたオブジェクトであって、前記エフェクトを適用するオブジェクトの各々に対して該当するエフェクトを適用する手段とを備えることを特徴とする。
【0010】
本発明の第二の態様は、ゲーム中の所定の画像を生成する際、該画像に含まれるオブジェクトの少なくとも1つにエフェクトを適用することが可能な情報処理装置の制御方法であって、前記情報処理装置が、前記エフェクトを適用するオブジェクトの各々に対応するマスク領域をマスクバッファに描画する工程であって、前記エフェクトを適用するオブジェクトのカテゴリ毎に対応付けられた色にて前記マスク領域を描画して、該当するオブジェクトに適用するエフェクトを識別するためのマスクデータであって、適用するエフェクトに対応する色が割り当てられたマスク領域を含むマスクデータを生成する工程と、前記情報処理装置が、出力すべき画像となるように該当するオブジェクトをカメラバッファに描画する工程と、前記情報処理装置が、前記色の各々と適用すべきエフェクトとが対応付けられており、前記マスクデータをマスクとして用い、前記カメラバッファに描画された前記所定の画像の画面全体のピクセルを走査し、走査されたピクセルについてエフェクトを適用すべきピクセルに対して該当するエフェクトを適用する工程であって、走査されたピクセルの各々に対する前記マスクデータに含まれるマスク領域の色を判定して該判定した色が前記適用すべきエフェクトに対応付けられた色のいずれかであるか否かを判定し、該判定により前記適用すべきエフェクトに対応付けられていない色である場合は、該当するピクセルへのエフェクトの適用は行わず、前記判定により前記適用すべきエフェクトに対応付けられた色である場合は、それぞれのピクセルで判定された色に応じたエフェクトを適用することにより、前記カメラバッファに描画されたオブジェクトであって、前記エフェクトを適用するオブジェクトの各々に対して該当するエフェクトを適用する工程とを有することを特徴とする。
【0011】
本発明の第三の態様は、コンピュータを、ゲーム中の所定の画像を生成する際、該画像に含まれるオブジェクトの少なくとも1つにエフェクトを適用することが可能なように機能させるプログラムであって、前記コンピュータを、前記エフェクトを適用するオブジェクトの各々に対応するマスク領域をマスクバッファに描画する手段であって、前記エフェクトを適用するオブジェクトのカテゴリ毎に対応付けられた色にて前記マスク領域を描画して、該当するオブジェクトに適用するエフェクトを識別するためのマスクデータであって、適用するエフェクトに対応する色が割り当てられたマスク領域を含むマスクデータを生成する手段と、出力すべき画像となるように該当するオブジェクトをカメラバッファに描画する手段と、前記色の各々と適用すべきエフェクトとが対応付けられており、前記マスクデータをマスクとして用い、前記カメラバッファに描画された前記所定の画像の画面全体のピクセルを走査し、走査されたピクセルについてエフェクトを適用すべきピクセルに対して該当するエフェクトを適用する手段であって、走査されたピクセルの各々に対する前記マスクデータに含まれるマスク領域の色を判定して該判定した色が前記適用すべきエフェクトに対応付けられた色のいずれかであるか否かを判定し、該判定により前記適用すべきエフェクトに対応付けられていない色である場合は、該当するピクセルへのエフェクトの適用は行わず、前記判定により前記適用すべきエフェクトに対応付けられた色である場合は、それぞれのピクセルで判定された色に応じたエフェクトを適用することにより、前記カメラバッファに描画されたオブジェクトであって、前記エフェクトを適用するオブジェクトの各々に対して該当するエフェクトを適用する手段として機能させる。
【0012】
本発明の第四の態様は、上記第三の態様に記載のプログラムを記憶したコンピュータ読取り可能な記憶媒体である。
【発明の効果】
【0013】
本発明によれば、処理負荷を低減して、制作者が指定する任意の画面領域毎(オブジェクトのカテゴリ毎)に異なるポストエフェクト(画面全体へのデザイン効果)を適用することが可能である。
【図面の簡単な説明】
【0014】
【
図1】本発明の一実施形態に係る情報処理装置の概略構成を示す図である。
【
図2】本発明の一実施形態に係るあるゲームの一画像を示す図である。
【
図3】本発明の一実施形態に係るマスクを示す図であって、
図2の画像に対して作成されるマスクを示す図である。
【
図4】本発明の一実施形態に係る各オブジェクトにエフェクトを適用する処理手順を示すフローチャートである。
【発明を実施するための形態】
【0015】
以下、図面を参照して、本発明の実施の形態を説明するが、本発明は本実施形態に限定されるものではない。なお、以下で説明する図面で、同機能を有するものは同一符号を付け、その繰り返しの説明は省略することもある。
【0016】
本発明の一実施形態は、ゲーム中の所定の画像を生成する際、エフェクトを適用したいオブジェクトに対して領域(マスク)指定用のタグを事前に付けておき、該当画像のオブジェクト毎に所望のエフェクトを適用するものであって、毎フレームの処理毎に上記タグを頼りにマスクバッファにオブジェクトに対応する領域(マスク)を生成して、該マスクを用いて各オブジェクトに対して対応するエフェクトを適用する。
【0017】
本発明において、「オブジェクト」とは、ゲーム内の各画像において配置されるものであって、例えば、背景、キャラクタ、VRX、武器、背景に分類されない物体(例えば、所定のキャラクタが登場するバイク等)等である。なお、背景には、背景として分類される物体(木、建物、道路等)が含まれることもある。
【0018】
図1は、本実施形態に係る情報処理装置100の概略構成を示す図である。情報処理装置100は、家庭用の据え置き型ゲーム機であるが、ゲーム用PC(Personal Computer)やアーケードゲーム機、携帯用ゲーム機等、他のゲーム機であっても良い。また、サーバやPC等であっても良い。
情報処理装置100は、CPU(Central Processing Unit)101、GPU(Graphics Processing Unit)102、ストレージ103、メモリ104、出力インタフェース(I/F)105、リーダインタフェース(I/F)106、リーダ107、入力インタフェース(I/F)108、通信モジュール109を備えている。情報処理装置100には、出力I/F105を介してディスプレイといった表示部110が接続され、また入力I/F108を介してマウスやキーボード、コントローラといった入力部111が接続される。
【0019】
CPU101は、種々の演算、制御、判別などの処理動作を実行するものであり、例えばストレージ103から所定のプログラムをメモリ104にロードし、該プログラムに含まれる一連の命令を実行することによって、様々な処理を実行するよう機能する。GPU102は、画像処理を行うためのプロセッサであって、CPU101からの所定の命令に応じて画像を描画し、表示部110に画像を表示させる。
【0020】
ストレージ103は、CPU101が読み出して実行するためのプログラム(例えば、
図4に示すプログラム)及び各種のデータが格納されている。メモリ104は、データ及びプログラムを一時的に保持する。メモリ104は、揮発性メモリであり、CPU101やGPU102の処理動作中のデータや入力データ、さらにはリーダ106にて読み取られたデータ(画像等)を一時的に格納するもの(後述するマスクバッファやカメラバッファ等が形成される)であって、例えばRAM(Random Access Memory)である。
【0021】
出力I/F105は、CPU101やGPU102の指令に従って、表示部110に映像を表示する。リーダ107は、情報処理装置100に設けられ、各種データ、プログラム等が格納されたメモリカードやDVD(Digital Versatile Disc)といった外部記憶媒体を装着可能に構成され、該装着された外部記憶媒体から所定のデータを読み取る。リーダI/F106は、CPU101からの指令に応じて、リーダ106に装着された外部記憶媒体からのデータの読み取りを行う。入力I/F108は、入力部111を介して使用者が操作することによって入力された操作に関する入力信号を受付ける。通信モジュール109は、通信回路網に接続されて、通信回路網に接続されている他のコンピュータと通信する。この通信は有線であっても無線であってもよい。通信モジュール109を介して所謂オンラインゲームを実行しても良い。
【0022】
以下本実施形態では、オブジェクトのカテゴリとして、キャラクタ、VFX、背景の3種類の場合について説明する。
本実施形態では、
図2に例示するようなゲームの一画像(各フレームに対応する画像)に対して、エフェクトを適用したいオブジェクト毎に対応するマスクを生成する。
図2において、画像200には、キャラクタ201が配置されており、該キャラクタ201に向けた雷であるVFXが配置されている。
図2においては、キャラクタ201およびVFX202以外の部分は、背景203である。なお、背景203は、道路203aを含んでいる(すなわち、道路203aも背景203である)。
【0023】
本実施形態では、例えば
図2に示すような画像に対して、マスクバッファにおいて
図3に示すマスクを生成する。
図3において、画像200に対応するマスクデータ300は、キャラクタ201に対応する領域となるマスク領域(第1の領域)301と、VFX202に対応する領域となるマスク領域(第2の領域)302と、背景203に対応する領域となるマスク領域(第3の領域)303とを含む。なお、
図2においては、道路203aは背景203に含まれるので、マスクデータ300において道路203aを形どったマスク領域は存在しない。本実施形態では、オブジェクトのカテゴリ毎に該当するマスク領域に異なる色を割り当てる。
【0024】
本実施形態では、該マスク領域に割り当てる色として、単色のR(Red)G(Green)B(Blue)の3色を用いる。すなわち、キャラクタのオブジェクトに対応するマスク領域に対しては緑色(G)を割り当て、VFXのオブジェクトに対応するマスク領域に対しては青色(B)を割り当て、背景のオブジェクトに対応するマスク領域に対しては赤色(R)を割り当てる。従って、キャラクタに対応するマスク領域301の各ピクセルは緑色の色情報を持ち、VFXに対応するマスク領域302の各ピクセルは青色の色情報を持ち、背景に対応するマスク領域303の各ピクセルは赤色の色情報を持つことになる。
【0025】
なお、本実施形態において、エフェクトを適用しないオブジェクトに対しては、マスク処理を行わない。従って、例えば画像200において、VFX202に対してエフェクトを適用しない場合は、
図3のマスクデータ300においては、第2の領域302はマスクバッファのデフォルトの色(例えば、黒色)のままとなる。
【0026】
本実施形態では、後述のように、このようにして作成されたマスクデータ300を用いて、キャラクタ201には第1のエフェクトを適用し、VFX202には第1のエフェクトとは異なる第2のエフェクトを適用し、背景203には第1および第2のエフェクトとは異なる第3のエフェクトを適用する。
【0027】
図4は、本実施形態に係る各オブジェクトにエフェクトを適用する処理手順を示すフローチャートである。
図4に示すエフェクト適用の方法は、エフェクトを適用する処理の際に実行される。あるいは、レンダリングのフレーム毎に実行しても良い(すなわち、所定のゲームを構成する一フレーム毎に実行されても良い)。本処理は、CPU101がストレージ103に格納された
図4に示すプログラムを読み出し、該プログラムを実行することによって行われる。
【0028】
本実施形態では、所定のゲームに登場するオブジェクトの各々に対して、そのオブジェクトのカテゴリ(種類)を特定するためのタグが事前に付されている。すなわち、キャラクタのオブジェクトにはオブジェクトがキャラクタであることを示すタグが付され、VFXのオブジェクトにはオブジェクトがVFXであることを示すタグが付され、背景のオブジェクトにはオブジェクトが背景であることを示すタグが付されている。
【0029】
また、本実施形態では、どのカテゴリのタグがどのオブジェクトのマスク領域に対応するかのタグ定義を事前に決定し、該タグ定義情報をメモリ104等に保存しておく。すなわち、該タグ定義情報は、マスクを作成する際、キャラクタのタグが付されたオブジェクトはキャラクタに対応するマスク領域(緑色で指定された第1の領域)とするという定義に関する情報、VFXのタグが付されたオブジェクトはVFXに対応するマスク領域(青色で指定された第2の領域)とするという定義に関する情報、および背景のタグが付されたオブジェクトは背景に対応するマスク領域(赤色で指定された第3の領域)とするという定義に関する情報を有している。よって、例えば
図2に示す画像200に対してエフェクトを適用する場合、
図3に示すマスクデータ300を生成するのだが、該マスクデータ300を生成する際、画像200中の各オブジェクトを該当するマスク領域としてマスクを生成していく。すなわち、マスクデータ300において、キャラクタ201に対応する領域がマスク領域となるが、キャラクタ201に付されたタグ(キャラクタを示すタグ)に基づいて上記タグ定義情報を参照し、マスクデータ300におけるキャラクタ201に対応する領域を緑色で指定された第1の領域301とする。同様に、VFX202についても、マスクデータ300において、VFX202に付されたタグ(VFXを示すタグ)に基づいて上記タグ定義情報を参照し、マスクデータ300におけるVFX202に対応する領域を青色で指定された第2の領域302とし、背景203についても、マスクデータ300において、背景203に付されたタグ(背景を示すタグ)に基づいて上記タグ定義情報を参照し、マスクデータ300における背景203に対応する領域を赤色で指定された第3の領域303とする。
【0030】
なお、本実施形態では、キャラクタに適用する第1のエフェクトをキャラクタの輪郭線を描く輪郭線描画とし、VFXに適用する第2のエフェクトをカラーグレーディング(色相、彩度、輝度等を調整するもの)とし、背景に適用する第3のエフェクトをゆがみエフェクト(VFXに対して出力画素をずらし特殊効果を施す)とするが、これらに限定されるものではない。
【0031】
あるフレームの処理が開始されると、
図4に示す処理が実行されるわけだが、ここでは、上記“あるフレームに該当する画像”としては、画像200を例に挙げることにする。
ステップS41において、CPU101は、タグ定義情報に基づき、現在の処理対象となる画像200の各オブジェクトのマスクを描画する処理をGPU102に実行させる。すなわち、CPU101に指令を受けてGPU102は、タグ定義情報に基づいて、エフェクトを適用するオブジェクト毎に指定した色(エフェクトを適用するオブジェクトのカテゴリ毎に対応付けられた色)にて該当するオブジェクトに対するマスク領域をマスクバッファ(マスクテクスチャ)に描画することで、マスクデータ300を生成する。画像200には、オブジェクトとして、キャラクタ201、VFX202、および背景203が配置されているが、タグ定義情報を参照して、キャラクタ201はキャラクタであるので緑色のマスク領域(第1の領域)301としてマスクバッファに描画され、VFX202はVFXであるので青色のマスク領域(第2の領域)302としてマスクバッファに描画され、背景203は背景であるので赤色のマスク領域(第3の領域)303としてマスクバッファに描画される。
【0032】
ステップS42では、CPU102は、現在の処理対象となる画像200の各オブジェクトをカメラバッファ(画面に最終出力するテクスチャ)に描画してシーンデータ(画像200に該当する画像データ)を生成する処理をGPU102に実行させる。すなわち、CPU102は、出力すべき画像となるように該当するオブジェクトであるキャラクタ201、VFX202、背景203をカメラバッファに描画する。
【0033】
ステップS43では、ステップS41にて生成されたマスクデータ300、およびステップS42にて生成されたシーンデータを用いてシーンデータの各オブジェクトに所望のエフェクトを適用するべく、シーンデータを構成するピクセルの走査を行う。すなわち、本実施形態では、シーンデータのピクセルを1つずつ走査しながら、該当するピクセルがどの領域に対応するのかを判定していくことになるので、CPU101は、シーンデータにおいて走査方向に沿って1ピクセルだけ走査を進める。
【0034】
ステップS44aでは、CPU101は、マスクデータ300を参照して、ステップS43にて進んだピクセル(該当ピクセル)が第1の領域301に該当するか否かを判定する。より詳細には、CPU101は、マスクデータを用い、シーンデータにおける該当ピクセルの位置に対応するピクセルの色情報に基づいて、上記該当ピクセルが第1の領域301に対応するか否かを判定する。すなわち、CPU101は、シーンデータにおける該当ピクセルの位置に対応するマスクデータ300中のピクセルの色情報を取得し、該取得された色情報が緑色(第1の領域301に設定された色)か否かを判定するのである。緑色である場合は、CPU101は、該当ピクセルは第1の領域301に対応するものである(該当ピクセルがキャラクタオブジェクト201に含まれる)と判断し、ステップS45aに進む。緑色では無い場合、CPU101は、該当ピクセルは第1の領域301に対応するものではないと判断し、ステップS44bに進む。
【0035】
ステップS45aでは、CPU101は、ステップS44aにて判定された該当ピクセルに対して第1のエフェクトを適用する。
【0036】
ステップS44bでは、CPU101は、ステップS44aと同様にして、マスクデータ300を参照して、該当ピクセルが第2の領域302に該当するか否かを判定する。すなわち、CPU101は、シーンデータ中の該当ピクセルに対応するマスクデータ300中のピクセルの色情報が青色であるか否かを判定し、青色である場合は、該当ピクセルは第2の領域302に対応するものと判断してステップS45bに進む。青色ではない場合は、CPU101は、該当ピクセルは第2の領域302に対応するものではないと判断し、ステップS44cに進む。
【0037】
ステップS45bでは、CPU101は、ステップS44bにて判定された該当ピクセルに対して第2のエフェクトを適用する。
【0038】
ステップS44cでは、CPU101は、ステップS44aやS44bと同様にして、マスクデータ300を参照して、該当ピクセルが第3の領域303に該当するか否かを判定する。すなわち、CPU101は、シーンデータ中の該当ピクセルに対応するマスクデータ300中のピクセルの色情報が赤色であるか否かを判定し、赤色である場合は、該当ピクセルは第3の領域303に対応するものと判断してステップS45cに進む。赤色ではない場合は、CPU101は、該当ピクセルは第3の領域303に対応するものではないと判断し、ステップS46に進む。なお、ステップS44cにて該当ピクセルがだい3の領域303ではない場合は(本ステップにおけるNoの場合)、該当ピクセルは、第1~第3の領域のいずれでも無いということであり、エフェクトが適用されないピクセルとなる。よって、この場合は、該当ピクセルには所定のエフェクトを適用せずにステップS46に進むのである。すなわち、このピクセルは、マスクデータ300において、マスクバッファのデフォルトの色(例えば、黒色)に該当するピクセルであり、該当画像におけるエフェクトの適用を行わない領域に含まれるものである。
【0039】
ステップS45cでは、CPU101は、ステップS44cにて判定された該当ピクセルに対して第3のエフェクトを適用する。
【0040】
ステップS46では、CPU101は、シーンデータを構成する全ピクセルに対してステップ44、45の処理が行われたか否かを判定し、全ピクセルの処理が終了している場合は本フレームに対するエフェクト適用処理を終了する。一方、全ピクセルの処理が終了していない場合は、CPU101は、ステップS43に戻り、走査を続行し次のピクセルに対して処理を行う。
【0041】
このように、本実施形態によれば、エフェクト適用対象の各オブジェクトに対応するマスクを生成し、描画対象の画像のピクセル毎にマスク領域の判定を行い、判定されたマスク領域に対応するエフェクトを適用するようにしているので、ある画像に配置されているオブジェクトのカテゴリに応じて異なるエフェクトを適用することができる。また、画像を構成する各ピクセルについて、各オブジェクトに対応したマスク領域を有するマスクデータを参照して対応するマスク領域を判定しているので、オブジェクトのカテゴリの数が多くても画面全体の走査を1回で全ピクセルの各々に対して対応するマスク領域を決定することができる。すなわち、オブジェクトのカテゴリが増加しても1回の画面走査にてオブジェクトのカテゴリに応じた異なるエフェクトを適用することができるので、処理負荷を低減して任意のオブジェクトに任意のエフェクトを適用することができる。
【0042】
また、本実施形態では、マスクデータのマスク領域を指定するための色をRGBとしているので、領域判定を簡素化することができる。
【0043】
なお、本実施形態では、オブジェクトのカテゴリの数を3つ(キャラクタ、VFX、背景)としているが、4つ以上とする場合は、各オブジェクトのカテゴリに対応するマスク領域に指定される色は、互いに異なる色となるようにすれば良い。
【0044】
また、本実施形態では、エフェクトを適用するために用いるマスクに指定された色によって適用するエフェクトが決まる、といっても過言ではない。すなわち、マスク領域の色によって画像を構成する各ピクセルがどのマスク領域に対応しているのかが決定され、それにより適用されるエフェクトが決定されるからである。そして、上述の例ではこのような色はオブジェクトのカテゴリ毎に決められているが、マスク領域生成の際に、同一のカテゴリでも異なるオブジェクトに異なる色を指定するようにしても良い。すなわち、本実施形態では、第1のキャラクタと第2のキャラクタとで異なる色を割り当てることができ、このようにすることによって、同一のカテゴリにおいても、異なるオブジェクトに対して異なるエフェクトを適用することができる。
【0045】
さらに本実施形態では、ある画像において、登場するオブジェクトの全てに所定のエフェクトを適用しなくても良い(すなわち、エフェクトが適用されないオブジェクトがあっても良い)。
【0046】
(その他の実施形態)
上述した実施形態の機能を実現するように前述した実施形態の構成を動作させるプログラム(例えば、
図4に示す処理を行うプログラム)を記憶媒体に記憶させ、該記憶媒体に記憶されたプログラムをコードとして読み出し、コンピュータにおいて実行する処理方法も上述の実施形態の範疇に含まれる。即ちコンピュータ読み取り可能な記憶媒体も実施例の範囲に含まれる。また、前述のコンピュータプログラムが記憶された記憶媒体はもちろんそのコンピュータプログラム自体も上述の実施形態に含まれる。かかる記憶媒体としてはたとえばフロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、磁気テープ、不揮発性メモリカード、ROM等を用いることができる。また上述の記憶媒体に記憶されたプログラム単体で処理を実行しているものに限らず、他のソフトウエア、拡張ボードの機能と共同して、OS上で動作し上述の実施形態の動作を実行するものも上述した実施形態の範疇に含まれる。
【符号の説明】
【0047】
100 情報処理装置
101 CPU
102 GPU
103 ストレージ
104 メモリ
200 画像
201 キャラクタ
202 VFX
203 背景
300 マスクデータ
301 第1の領域
302 第2の領域
303 第3の領域
【要約】 (修正有)
【課題】処理負荷を低減して、制作者が指定する任意の画面領域毎に異なるポストエフェクトを適用することが可能な情報処理装置、情報処理方法、プログラム、および記憶媒体を提供すること。
【解決手段】本発明の一実施形態は、エフェクトを適用するオブジェクトの各々に対応するマスク領域をマスクバッファに描画しS41、該当するオブジェクトをカメラバッファに描画しS42、上記マスク領域を用い、カメラバッファに描画された所定の画像の画面全体のピクセルを走査しS43、走査されたピクセルの各々に対するマスク領域を判定しS44a~44c、該判定により適用すべきエフェクトに対応付けられていない場合は、該当するピクセルへのエフェクトの適用は行わず、上記判定により適用すべきエフェクトに対応付けられている場合は、それぞれのピクセルで判定された色に応じたエフェクトを適用するS45a~45c。
【選択図】
図4