(57)【要約】  ポータブルコンピューティングデバイス(PCD)上で動作する、たとえばビデオゲームなどのプログラム内で動的な広告を生成し、追跡するための方法およびシステムについて説明する。方法およびシステムは、テクスチャについてのプログラムからの呼を受信するステップと、テクスチャに関連付けられた識別子を検討するステップとを含む。グラフィックスドライバは、テクスチャに関連付けられた識別子がテクスチャデータベース内の識別子と一致するかどうかを決定する。テクスチャに関連付けられた識別子がテクスチャデータベース内の識別子と一致する場合、グラフィックスドライバは、テクスチャデータベースから動的な広告を選択する。グラフィックスドライバは、動的な広告がスクリーンディスプレイ上に提示されるように、グラフィックスプロセッサにコマンドを発行する。次いで、グラフィックスドライバは、プログラムによって生成されたビデオオブジェクトが、スクリーンディスプレイ上に存在する動的な広告の一部をブロックするかどうかを決定する。
2014514595.tif 000002
【特許請求の範囲】
【請求項１】
ポータブルコンピューティングデバイス(PCD)上で動作するプログラム内で動的な広告を生成し、追跡するための方法であって、
テクスチャについての前記プログラムからの呼を受信するステップと、
前記テクスチャに関連付けられた識別子を検討するステップと、
前記テクスチャに関連付けられた前記識別子がテクスチャデータベース内の識別子と一致するかどうかを決定するステップと、
前記PCDに記憶された1つまたは複数のAdルールに従って、前記テクスチャに関連付けられた前記識別子が前記テクスチャデータベース内の前記識別子と一致する場合、前記テクスチャデータベースにおける情報を使用して、動的な広告を選択するステップと、
スクリーンディスプレイ上に前記動的な広告を表示するステップと、
前記プログラムによって生成されたビデオオブジェクトが、前記スクリーンディスプレイ上に存在する前記動的な広告の一部をブロックするかどうかを決定するステップであり、前記動的な広告の前記一部が前記動的な広告の製作者によって定義されるコンテンツを備える、ステップと
を備える方法。
【請求項２】
前記テクスチャデータベース内の前記識別子が、広告キャンペーン、およびローカルまたはリモートに記憶される前記広告キャンペーン内の特定の広告識別子のうちの少なくとも1つに対する参照である、請求項1に記載の方法。
【請求項３】
前記広告キャンペーンが、ウェブユニバーサルリソースロケータ(URL)および一意の識別子のうちの少なくとも1つを含む広告キャンペーンポインタを備える、請求項2に記載の方法。
【請求項４】
前記テクスチャデータベース内の前記識別子が、前記PCDが前記動的な広告を選択することを可能にする、広告キャンペーンと広告識別子との間の関連を備える、請求項1に記載の方法。
【請求項５】
ローカルにAdエンジンに、またはリモートでAdサーバに記憶される、以下のビットの情報、Adサイズ、Ad形状、Ad背景色、Adタイプ、対象とするビューア層、IPアドレスを使用して、前記PCDの位置を決定する位置指定子、表示された画素、キー画素、および最小ミップマップサブピクチャのうちの少なくとも1つ、ならびに印象を決定するためのアルゴリズムを使用することによる印象閾値のうちの1つまたは複数を選択するステップをさらに備える請求項1に記載の方法。
【請求項６】
AdキャンペーンおよびAd識別子でAdテクスチャにマークするための前記テクスチャデータベースに対する編集を受信するステップをさらに備える、請求項1に記載の方法。
【請求項７】
前記動的な広告がスクリーンポインタによって選択されているかどうかを決定するステップ
をさらに備える請求項1に記載の方法。
【請求項８】
前記動的な広告が前記スクリーンポインタによって選択されている場合、前記プログラムを中断するステップ
をさらに備える請求項7に記載の方法。
【請求項９】
前記動的な広告が前記スクリーンポインタによって選択されている場合、ブラウザアプリケーションを開始するステップ
をさらに備える請求項8に記載の方法。
【請求項１０】
前記動的な広告の対象である製品およびサービスの少なくとも1つについてのさらなる情報を提供するウェブページに前記ブラウザアプリケーションを向けるステップ
をさらに備える請求項9に記載の方法。
【請求項１１】
前記動的な広告の一部をブロックするビデオオブジェクトがない限りビュー追跡機能を起動させるステップ
をさらに備える請求項1に記載の方法。
【請求項１２】
前記プログラムによって生成される前記ビデオオブジェクトが、前記スクリーンディスプレイに存在する前記動的な広告の一部をブロックするかどうかを決定するステップが、デプスバッファ内のすべての値とデプスバッファ内の値のサンプリングとのうちの少なくとも1つを評価するステップをさらに備える、請求項1に記載の方法。
【請求項１３】
グラフィックスプロセッサで深度値を計算し、前記深度値を前記デプスバッファに記憶するステップ
をさらに備える請求項12に記載の方法。
【請求項１４】
商業的印象の閾値を達成するために表示されなければならない前記動的な広告における選択された画素数を検討するステップ
をさらに備える請求項1に記載の方法。
【請求項１５】
前記プログラムによって生成されたビデオオブジェクトが前記スクリーンディスプレイに存在する前記動的な広告の一部をブロックするかどうかを決定するステップが、ミップマップから表示されたサブピクチャを検討し、最小ミップマップAdサイズを使用して、商業的印象の閾値を達成するステップをさらに備える、請求項1に記載の方法。
【請求項１６】
サーバから前記1つまたは複数のAdルールを受信するステップ
をさらに備える、請求項1に記載の方法。
【請求項１７】
オフラインツールで前記1つまたは複数のAdルールを生成するステップ
をさらに備える請求項1に記載の方法。
【請求項１８】
前記プログラムのコードを修正することなく、前記プログラムが実行している間に、前記動的な広告を表示するステップ
をさらに備える請求項1に記載の方法。
【請求項１９】
ポータブルコンピューティングデバイス(PCD)上で動作するプログラム内で動的な広告を生成し、追跡するコンピュータシステムであって、
テクスチャについての前記プログラムからの呼を受信することと、
前記テクスチャに関連付けられた識別子を検討することと、
1つまたは複数の条件が前記PCDに記憶された1つまたは複数のAdルールを満たすかどうかを決定することと、
前記1つまたは複数の条件が前記1つまたは複数のAdルールを満たすとき、前記テクスチャに関連付けられた前記識別子がテクスチャデータベース内の識別子と一致するかどうかを決定することと、
前記テクスチャに関連付けられた前記識別子がテクスチャデータベース内の前記識別子と一致する場合、前記テクスチャデータベースにおいてポインタを使用して動的な広告を取り出すことと、
スクリーンディスプレイ上に前記動的な広告を表示することと、
前記プログラムによって生成されたビデオオブジェクトが、前記スクリーンディスプレイ上に存在する前記動的な広告の一部をブロックするかどうかを決定することであり、前記一部が前記動的な広告の製作者によって定義されるコンテンツを備えることと
を行うように動作可能なプロセッサ
を備えるコンピュータシステム。
【請求項２０】
前記プロセッサがさらに、
前記動的な広告がスクリーンポインタによって選択されているかどうかを決定する
ように動作可能である、請求項19に記載のシステム。
【請求項２１】
前記プロセッサがさらに、
前記動的な広告が前記スクリーンポインタによって選択されている場合、前記プログラムを中断する
ように動作可能である、請求項20に記載のシステム。
【請求項２２】
前記プロセッサがさらに、
前記動的な広告の対象である製品およびサービスの少なくとも1つについてのさらなる情報を提供するウェブページにブラウザアプリケーションを向ける
ように動作可能である、請求項21に記載のシステム。
【請求項２３】
前記プロセッサがさらに、
前記動的な広告の一部をブロックするビデオオブジェクトがない限りビュー追跡機能を起動させる
ように動作可能である、請求項19に記載のシステム。
【請求項２４】
前記プログラムによって生成された前記ビデオオブジェクトが、前記スクリーンディスプレイに存在する前記動的な広告の一部をブロックするかどうかを決定するように動作可能な前記プロセッサが、デプスバッファ内のすべての値とデプスバッファ内の値のサンプリングとのうちの少なくとも1つを評価するように動作可能な前記プロセッサをさらに備える、請求項19に記載のシステム。
【請求項２５】
深度値が、グラフィックスプロセッサによって計算され、前記デプスバッファに記憶される、請求項24に記載のシステム。
【請求項２６】
商業的印象の閾値を達成するために表示されなければならない前記動的な広告における選択された画素数を検討するステップ
をさらに備える請求項19に記載のシステム。
【請求項２７】
前記プログラムによって生成されたビデオオブジェクトが前記スクリーンディスプレイに存在する前記動的な広告の一部をブロックするかどうかを決定するステップが、ミップマップから表示されたサブピクチャを検討し、最小ミップマップAdサイズを使用して、商業的印象の閾値を達成するステップをさらに備える、請求項19に記載のシステム。
【請求項２８】
テクスチャデータベースから前記動的な広告を選択するように動作可能な前記プロセッサが、サーバから受信された1つまたは複数のAdルールに応答する、請求項19に記載のシステム。
【請求項２９】
前記プロセッサが、オフラインツールから前記1つまたは複数のAdルールを受信する、請求項19に記載のシステム。
【請求項３０】
前記プロセッサが、前記プログラムのコードを修正することなく、前記プログラムが動作している間に、前記動的な広告を表示するようにさらに動作可能である、請求項19に記載のシステム。
【請求項３１】
ポータブルコンピューティングデバイス(PCD)上で動作するプログラム内で動的な広告を生成し、追跡するためのコンピュータシステムであって、
テクスチャについての前記プログラムからの呼を受信するための手段と、
前記テクスチャに関連付けられた識別子を検討するための手段と、
前記テクスチャに関連付けられた前記識別子がテクスチャデータベース内の識別子と一致するかどうかを決定するための手段と、
前記PCDに記憶された1つまたは複数のAdルールに従って、前記テクスチャに関連付けられた前記識別子がテクスチャデータベース内の前記識別子と一致する場合、前記テクスチャデータベースにおいてポインタを使用して動的な広告を取り出すための手段と、
スクリーンディスプレイ上に前記動的な広告を表示するための手段と、
前記プログラムによって生成されたビデオオブジェクトが、前記スクリーンディスプレイ上に存在する前記動的な広告の一部をブロックするかどうかを決定するための手段であり、前記動的な広告の前記一部が前記動的な広告の製作者によって定義されるコンテンツを備える、手段と
を備えるコンピュータシステム。
【請求項３２】
前記動的な広告がスクリーンポインタによって選択されているかどうかを決定するための手段
をさらに備える請求項31に記載のシステム。
【請求項３３】
前記動的な広告がスクリーンポインタによって選択されている場合、ブラウザアプリケーションを開始するための手段
をさらに備える請求項31に記載のシステム。
【請求項３４】
前記動的な広告が前記スクリーンポインタによって選択されている場合、前記プログラムを中断するための手段
をさらに備える請求項33に記載のシステム。
【請求項３５】
前記動的な広告の対象である製品およびサービスの少なくとも1つについてのさらなる情報を提供するウェブページに前記ブラウザアプリケーションを向けるための手段
をさらに備える請求項34に記載のシステム。
【請求項３６】
前記動的な広告の一部をブロックするビデオオブジェクトがない限りビュー追跡機能を起動させるための手段
をさらに備える請求項31に記載のシステム。
【請求項３７】
前記プログラムによって生成された前記ビデオオブジェクトが、前記スクリーンディスプレイに存在する前記動的な広告の一部をブロックするかどうかを決定するための前記手段が、デプスバッファ内のすべての値とデプスバッファ内の値のサンプリングとのうちの少なくとも1つを評価するための手段をさらに備える、請求項31に記載のシステム。
【請求項３８】
グラフィックスプロセッサで深度値を計算し、前記値を前記デプスバッファに記憶するための手段
をさらに備える請求項37に記載のシステム。
【請求項３９】
商業的印象の閾値を達成するために表示されなければならない前記動的な広告における選択された画素数を検討するための手段
をさらに備える請求項31に記載のシステム。
【請求項４０】
前記プログラムによって生成されたビデオオブジェクトが前記スクリーンディスプレイに存在する前記動的な広告の一部をブロックするかどうかを決定するための前記手段が、ミップマップから表示されたサブピクチャを検討し、最小ミップマップAdサイズを使用して、商業的印象の閾値を達成するステップをさらに備える、請求項31に記載のシステム。
【請求項４１】
前記1つまたは複数のAdルールを受信するための手段をさらに備える、請求項31に記載のシステム。
【請求項４２】
前記1つまたは複数のAdルールを受信するための前記手段が、前記プログラムに対してオフラインで動作するツールに結合される、請求項41に記載のシステム。
【請求項４３】
前記ポータブルコンピューティングデバイスは、携帯電話、携帯情報端末、ページャ、スマートフォン、ナビゲーションデバイス、およびワイヤレス接続またはワイヤレスリンクを有するハンドヘルドコンピュータのうちの少なくとも1つを含む、請求項42に記載のシステム。
【請求項４４】
ポータブルコンピューティングデバイス(PCD)上で動作するプログラム内で動的な広告を生成し、追跡するための方法を実施するために実行されるように適合されたコンピュータ可読プログラムコードを備えるコンピュータプログラムであって、前記方法が、
テクスチャについての前記プログラムからの呼を受信するステップと、
前記テクスチャに関連付けられた識別子を検討するステップと、
前記テクスチャに関連付けられた前記識別子がテクスチャデータベース内の識別子と一致するかどうかを決定するステップと、
前記PCDに記憶された1つまたは複数のAdルールに従って、前記テクスチャに関連付けられた前記識別子がテクスチャデータベース内の前記識別子と一致する場合、前記テクスチャデータベースにおいてポインタを使用して動的な広告を取り出すステップと、
スクリーンディスプレイ上に前記動的な広告を表示するステップと、
前記プログラムによって生成されたビデオオブジェクトが、前記スクリーンディスプレイ上に存在する前記動的な広告の一部をブロックするかどうかを決定するステップであり、前記一部が前記動的な広告の製作者によって定義されるコンテンツを備える、ステップと
を備える、コンピュータプログラム。
【請求項４５】
前記方法を実施する前記プログラムコードが、
前記動的な広告がスクリーンポインタによって選択されているかどうかを決定するステップ
をさらに備える、請求項44に記載のコンピュータプログラム。
【請求項４６】
前記方法を実施する前記プログラムコードが、
前記動的な広告が前記スクリーンポインタによって選択されている場合、前記プログラムを中断するステップ
をさらに備える、請求項45に記載のコンピュータプログラム。
【請求項４７】
前記方法を実施する前記プログラムコードが、
前記動的な広告が前記スクリーンポインタによって選択されている場合、ブラウザアプリケーションを開始するステップ
をさらに備える、請求項46に記載のコンピュータプログラム。
【請求項４８】
前記方法を実施する前記プログラムコードが、
前記動的な広告の対象である製品およびサービスの少なくとも1つについてのさらなる情報を提供するウェブページに前記ブラウザアプリケーションを向けるステップ
をさらに備える、請求項47に記載のコンピュータプログラム。
【請求項４９】
前記方法を実施する前記プログラムコードが、
前記動的な広告の一部をブロックするビデオオブジェクトがない限りビュー追跡機能を起動させるステップ
をさらに備える、請求項44に記載のコンピュータプログラム。
【請求項５０】
前記プログラムによって生成された前記ビデオオブジェクトが、前記スクリーンディスプレイに存在する前記動的な広告の一部をブロックするかどうかを決定するステップが、デプスバッファ内のすべての値とデプスバッファ内の値のサンプリングとのうちの少なくとも1つを評価するステップをさらに備える、請求項44に記載のコンピュータプログラム。
【請求項５１】
前記方法を実施する前記プログラムコードが、
グラフィックスプロセッサで深度値を計算し、前記深度値をデプスバッファに記憶するステップ
をさらに備える、請求項44に記載のコンピュータプログラム。
【請求項５２】
前記方法を実施する前記プログラムコードが、
商業的印象の閾値を達成するために表示されなければならない前記動的な広告における選択された画素数を検討するステップ
をさらに備える、請求項44に記載のコンピュータプログラム。
【請求項５３】
前記プログラムによって生成されたビデオオブジェクトが前記スクリーンディスプレイに存在する前記動的な広告の一部をブロックするかどうかを決定する前記ステップが、ミップマップから表示されたサブピクチャを検討し、最小ミップマップAdサイズを使用して、商業的印象の閾値を達成するステップ
をさらに備える、請求項44に記載のコンピュータプログラム。
【請求項５４】
前記1つまたは複数のAdルールを受信するステップをさらに備える請求項44に記載のコンピュータプログラム。
【請求項５５】
前記方法を実施する前記プログラムコードが、
サーバおよび前記PCDのうちの1つによって実行され得るソフトウェアを備えるオフラインツールで前記PCD上の動的な広告の表示を管理する前記1つまたは複数のAdルールを生成するステップ
をさらに備える、請求項44に記載のコンピュータプログラム。
【請求項５６】
前記方法を実施する前記プログラムコードが、
前記プログラムのコードを修正することなく、前記プログラムが動作している間に、前記動的な広告を表示するステップ
をさらに備える、請求項44に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
優先権および関連出願に関する陳述
本出願は、「Method to support dynamic embedded Ads in mobile games」と題する2011年3月8日に出願された米国仮特許出願第61/450,308号に対する米国特許法第119条(e)項に基づく優先権を主張する。その内容全体が、参照により本明細書に組み込まれる。
【背景技術】
【０００２】
ポータブルコンピューティングデバイス(「PCD」)は、個人レベルおよび専門レベルの人々に必要なものになりつつある。これらのデバイスは、セルラー電話、携帯情報端末(「PDA」)、ポータブルゲームコンソール、ポータブルナビゲーションユニット、パームトップコンピュータ、および他のポータブル電子デバイスを含み得る。
【０００３】
PCDは、エンターテインメントを提供するためのソフトウェアを実行することができる。そのようなソフトウェアは、ビデオゲームを含む。多くのビデオゲームは、実生活をシミュレートするユーザエクスペリエンスを提供する。たとえば、いくつかの3次元ビデオゲームは、たとえば建築物、スポーツスタジアム、ビルボード、および看板などのオブジェクトを含む、遠近感や奥行きの認識を伴う実世界のシーンを生成する。
【０００４】
多くのビデオゲームは、たとえばビルボードおよび看板上などに、これらの実世界のシーン内で「本物に見える」広告を生成する。たとえば、スタジアムを示す3次元ビデオゲームは、この3次元の「ゲームの世界」におけるビルボードおよび看板上に商品およびサービスについての実世界のブランドの広告を表示することができる。これらの広告は、当業者によって理解されるように「ゲーム内広告」としばしば呼ばれ得る。商品およびサービスのこれらの実世界ブランドは、ゲームの世界自体の外で購入することができる。3次元ビデオゲームのコンテキスト内の商品およびサービスのブランドのそのような広告は、一般に、当技術分野では、組込み広告と呼ばれる。
【０００５】
当技術分野における1つの問題は、ビデオゲーム内の大部分の組込み広告が「静的」であるということである。これは、ビデオゲームプログラムが実行されるときはいつでも、広告が通常同じままであることを意味する。ビデオゲームプログラム内のこれらの広告は、通常、決してユーザとインタラクティブではない。すなわち、ビデオゲーム開発者は、通常、ゲームの間、またはゲームが次にプレイされるとき広告が変わり得る動的な広告を提供しない。ゲーム内の従来の広告では、通常、広告されている製品またはサービスに関する詳細な情報を取得するために、ゲーム内の広告の外観をユーザは選択することができない。
【０００６】
ビデオゲーム開発者は、ビデオゲームソフトウェア内ではインタラクティブな広告を提供しないので、ゲーム内で広告することを望み得る製品プロバイダおよびサービスプロバイダからかなりの量の潜在的な収入を引き出すことができない。インタラクティブな広告、および広告をビデオゲーム内でより動的にすることができないので、ゲーム開発者は、ゲームエクスペリエンス内で広告を提供する十分な可能性を実現していない。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
したがって、当技術分野では、これらの問題に対処する方法およびシステムが必要である。具体的には、当技術分野では、ビデオゲーム内の広告をより動的にするための方法およびシステムが必要である。広告の追跡およびそのような広告とのユーザ対話を可能にする、PCD上のゲーム内でインタラクティブな広告を提供するための方法およびシステムが必要である。
【課題を解決するための手段】
【０００８】
ポータブルコンピューティングデバイス(PCD)上で動作する、たとえばビデオゲームなどのプログラム内で動的な広告を生成し、追跡するための方法およびシステムについて説明する。方法およびシステムは、テクスチャについてのプログラムからの呼を受信するステップと、テクスチャに関連付けられた識別子を検討するステップとを含む。グラフィックスドライバは、テクスチャに関連付けられた識別子がテクスチャデータベース内の識別子と一致するかどうかを決定する。次いで、テクスチャに関連付けられた識別子がテクスチャデータベース内の識別子と一致する場合、グラフィックスドライバは、テクスチャデータベースから動的な広告を選択する。グラフィックスドライバは、動的な広告がスクリーンディスプレイ上に提示されるように、グラフィックスプロセッサにコマンドを発行する。次いで、グラフィックスドライバは、プログラムによって生成されたビデオオブジェクトが、スクリーンディスプレイ上に存在する動的な広告の一部をブロックするかどうかを決定する。グラフィックスドライバは、たとえばコンピュータマウスによって制御されるポインタまたはキーボードによって制御される下線もしくはハイライトなど、スクリーンポインタが動的な広告の任意の部分と対話するかどうかを決定することもできる。
【０００９】
図中、別段に規定されていない限り、同様の参照番号は、様々な図の全体を通じて、同様の部分を指す。「102A」または「102B」のような文字指定を伴う参照番号について、文字指定は、同じ図に存在する2つの同様の部分または要素を区別し得る。参照番号の文字指定は、参照番号が、すべての図において同じ参照番号を有するすべての部分を包含することが意図される場合には、省略されることがある。
【図面の簡単な説明】
【００１０】
【図１】PCDビデオゲーム内で動的な広告を生成するためのシステムの例示的な要素を示す機能ブロック図である。
【図２】ポータブルコンピューティングデバイス(PCD)のビデオゲーム内で動的な広告を生成するためのシステムを有するPCDの一実施形態を示す機能ブロック図である。
【図３Ａ】PCDビデオゲームにおける広告の完全にブロックされたビューを備える例示的なディスプレイスクリーンの図である。
【図３Ｂ】PCDビデオゲームにおける広告の部分的にブロックされたビューを備える例示的なディスプレイスクリーンの図である。
【図３Ｃ】PCDビデオゲームにおける広告のブロックされていない(可視の)ビューを備える例示的なディスプレイスクリーンの図である。
【図３Ｄ】PCDビデオゲームにおいて提供される広告の選択またはその上での「マウスクリック」に応答して生成されるスクリーンディスプレイの図である。
【図４】PCDビデオゲームにおいて動的な広告を生成するためのシステムの例示的な構成要素を示す機能ブロック図である。
【図５】PCDビデオゲームにおいて動的な広告を生成するための方法を示す論理的フローチャートである。
【図６】PCDビデオゲーム内の動的な広告がPCDのオペレータに対する閲覧からブロックされるかどうかを決定するための下位方法またはルーチンを示す論理的フローチャートである。
【図７】テクスチャデータベースの例示的なコンテンツを示すチャートである。
【図８】PCDビデオゲーム内の動的な広告についての例示的な追跡オプションを示すチャートである。
【発明を実施するための形態】
【００１１】
「例示的な」という語は、「例、実例、または具体例としての役割を果たすこと」を意味するように本明細書において用いられている。「例示的な」ものとして本明細書で説明する何らかの態様は、必ずしも他の態様よりも好ましい、または有利であると解釈されるわけではない。
【００１２】
本明細書では、「アプリケーション」という用語は、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイルおよびパッチなど、実行可能コンテンツを有するファイルを含むこともある。加えて、本明細書で言及する「アプリケーション」は、開封される必要があり得るドキュメント、またはアクセスされる必要がある他のデータファイルなど、本質的に実行可能ではないファイルを含むこともある。
【００１３】
「コンテンツ」という用語は、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイルおよびパッチなど、実行可能コンテンツを有するファイルを含むこともある。加えて、本明細書で言及する「コンテンツ」は、開封される必要があり得るドキュメント、またはアクセスされる必要がある他のデータファイルなど、本質的に実行可能ではないファイルを含むこともある。
【００１４】
本明細書で使用される場合、「コンポーネント」、「データベース」、「モジュール」、「システム」などの用語は、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、実行中のソフトウェアを問わず、コンピュータ関連のエンティティを指すことが意図されている。たとえばコンポーネントは、プロセッサ上で作動しているプロセス、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラムおよび/またはコンピュータであってよいが、これらであることに限定されない。例を挙げると、コンピューティングデバイス上で作動しているアプリケーションとコンピューティングデバイスの両方がコンポーネントであり得る。1つまたは複数の構成要素は、プロセスおよび/または実行スレッド内に存在してよく、1つの構成要素を1つのコンピュータに局在化すること、および/または2つ以上のコンピュータ間に分散することが可能である。加えて、これらの構成要素は、様々なデータ構造を記憶している様々なコンピュータ可読媒体から実行することができる。構成要素は、1つまたは複数のデータパケット(たとえば、信号によりローカルシステム、分散システムにおいて別の構成要素と対話し、かつ/または他のシステムとインターネットなどのネットワークにわたって対話する、1つの構成要素からのデータ)を有する信号に従うなどしてローカルプロセスおよび/またはリモートプロセスにより通信することができる。
【００１５】
本明細書では、「通信デバイス」、「ワイヤレスデバイス」、「ワイヤレス電話」、「ワイヤレス通信デバイス」、および「ワイヤレスハンドセット」という用語は交換可能に用いられる。第3世代(「3G」)および第4世代(「4G」)のワイヤレス技術が出現したことによって、利用可能な帯域が拡大されたので、より多くのワイヤレス機能を備えたより携帯が容易なコンピューティングデバイスが利用可能になっている。
【００１６】
本明細書では、「ポータブルコンピューティングデバイス」(「PCD」)という用語は、バッテリーなど限られた容量の電源で動作する任意のデバイスを説明するために使用される。何十年もの間バッテリー式PCDが使用されてきたが、第3世代(「3G」)および第4世代(「4G」)ワイヤレス技術の出現とともにもたらされた充電式バッテリーの技術的進歩は、複数の機能を有する多数のPCDを可能にした。したがって、PCDは、中でも、セルラー電話、衛星電話、ページャ、携帯情報端末(「PDA」)、スマートフォン、ナビゲーションデバイス、スマートブックまたはリーダー、メディアプレーヤ、上述したデバイスの組合せ、およびワイヤレス接続を有するラップトップコンピュータであってよい。
【００１７】
図1Aは、ポータブルコンピューティングデバイス(「PCD」)ビデオゲーム内で動的な広告(「Ad」)119を生成するためのシステム101の例示的な要素を示す機能ブロック図である。システム101は、PCD100Bおよびコンピュータサーバ100Aを備え得る。図1Aに示されるシステム要素の多くは、通信リンク103を介して通信ネットワーク142Aに結合されている。
【００１８】
図1Aに示されるリンク103は、有線リンクを備えてもワイヤレスリンクを備えてもよい。ワイヤレスリンクには、限定はしないが、高周波(「RF」)リンク、赤外線リンク、音響リンク、および他のワイヤレス媒体が含まれる。通信ネットワーク142Aは、ワイドエリアネットワーク(「WAN」)、ローカルエリアネットワーク(「LAN」)、インターネット、公衆交換電話網(「PSTN」)、ページングネットワーク、またはこれらの組合せを含み得る。通信ネットワーク142Aは、ブロードキャストRFトランシーバタワーによって確立されてもよい。しかしながら、通信ネットワーク142Aを確立するために、ブロードキャストRFトランシーバタワー以外の他の種類の通信デバイスが利用可能であることは、当業者には認識されよう。それぞれのPCD100BがRFトランシーバタワーを介して通信ネットワーク142Aとのワイヤレス通信リンク103Bを確立することができるように、PCD100Bがアンテナ172を有するように示されている。
【００１９】
PCD100Bは、グラフィックスドライバモジュール107(以下、「グラフィックスドライバ」107)を備え得る。グラフィックスドライバ107は、通常、1つまたは複数のソフトウェアモジュールを備える。ただし、グラフィックスドライバ107は、当業者によって理解されるように、ハードウェアにおいて実装されてもよい。グラフィックスドライバ107は、ディスプレイスクリーン132(図2を参照)上に可視のオブジェクトを生成するための、ゲームアプリケーションモジュール105からのグラフィックスの呼をサポートすることができる。当業者によって理解されるように、グラフィックスドライバは、グラフィックスプロセッサ110B(図2を参照)のような専用プロセッサを制御することができる。グラフィックスドライバ107は、PCD100Bのオペレーティングシステムの一部であり得る、またはそれによってサポートされ得る広告(「Ad」)ルール117(図4を参照)にアクセスし、それを使用することができる。Adルール117は、グラフィックスドライバ107がディスプレイスクリーン132上に表示するための動的なAd119Bを選択するのを支援することができる。Adルール117Aは、サーバ100Aによって作成され、管理され得る。サーバ100Aは、Adルール117を備えるOS115に記憶するために、コンピュータネットワーク142を介してAdルール117をPCD100Bに送信することができる。また、動的なAd119Bは、サーバ100Aで開始することもでき、コンピュータネットワーク142を介してPCD100Bに送信され得る。
【００２０】
当業者によって理解されるように、動的なAd119(図1を参照)はAdキャンペーンで見つかるものなど、追跡機能を含み得る。動的なAd119についてのさらなる詳細は、図7および図8に関して以下で説明される。動的なAd119は、ゲームアプリケーションモジュール105がプレイされる(実行される)たびに、および/またはゲームアプリケーションモジュール105がプレイされている間の反復または「ゲームラウンド」の間に変わり得る。
【００２１】
たとえば、ゲームアプリケーション105によってサポートされる3次元PCDビデオゲームでは、レースカートラックのためのスタジアムが表され得る。PCDビデオゲームは、PCD100Bのオペレータにレース経験を提供することができる。スタジアム内のレースカートラックに隣接して、PCDビデオゲームは、動的なAd119Bを載せ得る仮想ビルボードを表示し得る。たとえば、動的なAd119Bは、PCDビデオゲームによって生成されるゲームの世界の外の実世界において利用可能であるいくつかのブランドの車のタイヤの英数字テキストベースの広告を備え得る。
【００２２】
グラフィックスドライバ107は、Adルール117に従ってゲームの世界の中で仮想ビルボード上に表示するための特定のブランドを選択することができる。Adルール117は、PCD100Bのオペレーティングシステムによってサポートされ得る。たとえば、グラフィックスドライバ107は、ビデオゲームの第1のラウンドまたはプレイもしくはレベルの間、ディスプレイスクリーン132上に表示するために第1のブランドのタイヤを選択することができる。グラフィックスドライバ107は、ビデオゲームの第2のラウンドまたはプレイもしくはレベルの間、ディスプレイスクリーン132上に表示するために第2のブランドのタイヤを選択することができる。各状況において異なるAdを選択するグラフィックスドライバの能力は、Adを動的にすることである。Adルール117、および動的なAd119がこれらのAdルール117に従ってどのように選択されたかについてのさらなる詳細は、図4〜図8に関して以下で説明する。
【００２３】
コンピュータサーバ100Aは、動的なAd119BおよびAdルール117Aのデータベースを備え得る。コンピュータサーバ100Aは、特定のブランドの商品もしくはサービスまたはその両方を広告することができる動的なAd119Bを生成する製品およびサービスのベンダーからの入力を受信することができる。サーバ100Aは、そのデータベースに維持するその動的なAd119Aを、コンピュータネットワーク142を介してPCD100Bに送信することによってPCD100Bに記憶される動的なAd119Bを更新することができる。PCD100Bは、たとえばソフトウェアキャッシュとして管理されるメモリなどのメモリデバイスに、重要な動的なAd119およびAdルール117Bを記憶することができる。この記憶によって、Ad119およびルール117Bをコンピュータネットワーク142を介してPCD100Bに頻繁に送信する必要が低減し得る。コンピュータネットワーク142および/またはコンピュータサーバ100Aに対するアクセスが利用できない場合、メモリデバイスは、最も最近使用された動的なAdにアクセスするために使用され得る。
【００２４】
図1に示すように、サーバ100Aは、OS115におけるAdルール117Bをサーバ100Aにおいて維持される新しいAdルール117Aに置き換えることによって、PCD100Bに記憶されるOS115におけるAdルール117Bを更新することができる。PCD100Bがサーバ100Aにアクセスするたびに、PCD100Bは、OS115におけるそのAdルール117Bおよびその動的なAd119Bを更新することができる。
【００２５】
図2:PCD100Bの動的な広告システム要素
図2を参照すると、この図は、PCDビデオゲーム内で動的な広告を生成するための方法およびシステムを実現するための、ワイヤレス電話の形態の、PCD100Bの例示的で非限定的な態様の機能ブロック図である。図示のように、PCD100Bは、マルチコアである中央処理装置(「CPU」)110A、グラフィックスプロセッサ110B、およびアナログ信号プロセッサ126を有するオンチップシステム102を含む。これらのプロセッサ110A、110B、および126は結合され得る。
【００２６】
当業者によって理解されるように、CPU110Aは、第0のコア222、第1のコア224、および第Nのコア230までを含み得る。代替実施形態では、CPU110Aおよびグラフィックスプロセッサ110Bを使用する代わりに、当業者によって理解されるように1つまたは複数のデジタル信号プロセッサ(「DSP」)を用いることもできる。
【００２７】
PCD100Bは、グラフィックスドライバ107を備えることができる。当業者は、本開示から逸脱することなく、グラフィックスドライバ107が、様々な部分に分割され、異なるプロセッサ110A、126によって実行され得る1つまたは複数のソフトウェアモジュールを備え得ることを認識されよう。代替的に、グラフィックスドライバ107を、単一の要素として編成し、単一のプロセッサ110 Aまたは126によって実行することができる。
【００２８】
上述したように、グラフィックスドライバ107(図1)は、ゲームアプリケーション105から通信を受信し、コマンドをグラフィックスプロセッサ110Bに送信するためにCPU110Aによって実行されるソフトウェアを備え得る。ただし、グラフィックスドライバ107は、当業者によって理解されるように、ハードウェアおよび/またはファームウェアから形成されてもよい。1つまたは複数のゲームアプリケーション105は、PCDビデオゲームを提供する役目を果たし得る。グラフィックスドライバ107は、ユーザアクションについて、ゲームアプリケーション105を監視し、追跡することができる。ユーザアクションは、ディスプレイスクリーン132に表示される、グラフィックスプロセッサ110Bによって生成される動的なAd119B(図1)に関連するマウスポインタの移動および/またはキーストロークを備え得る。
【００２９】
PCD100Bは、CPU110Aとハードウェアおよび示される他のソフトウェアとの間の通信を管理するオペレーティングシステム(「O/S」)ソフトウェア115をさらに備え得る。O/Sソフトウェア115は、上記で説明したようにAdルール117をさらに備えることができる。Adルール117は、定義された条件に基づいてPCDビデオゲームの間にディスプレイスクリーン132上に表示するためにいくつかの動的なAd119を選択するための論理を提供することができる。定義された条件の例は、限定はしないが、ユーザの選好、ユーザの郵便番号、ユーザの性別、ユーザの年齢、ユーザの世帯収入(おそらくユーザの郵便番号から推定される)、およびゲームジャンルを含む。
【００３０】
PCD100Bは、デプスバッファ113(図2)をさらに備え得る。デプスバッファ113は、当業者によって理解されるように、zバッファとも呼ばれ得る。デプスバッファ113は、ハードウェアもしくはソフトウェアまたはその両方を備え得る。デプスバッファ113は、当業者によって理解されるように、3次元(「3D」)グラフィックスの画像深さ座標を管理する。デプスバッファ113は、PCDビデオゲームの3Dグラフィックスにおけるあらゆる画素における深度値を記憶するメモリを備え得る。デプスバッファ113は、PCDビデオゲームの間、ディスプレイスクリーン132に表示されるオブジェクトの深度値を記録することができる。デプスバッファ113は、グラフィックスプロセッサ110Bおよびグラフィックスドライバ107と通信することができる。
【００３１】
PCD100Bは、たとえばビデオゲームなどのグラフィック表現を作成するための1つまたは複数のオープングラフィックライブラリ103をさらに備えることができる。1つまたは複数のオープングラフィックライブラリ103は、限定はしないが、DirectX(商標)およびOpenGL(商標)のようなライブラリを含み得る。1つまたは複数のオープングラフィックライブラリは、レンダリングおよびイメージング操作をサポートするグラフィックス処理ユニット110Bと通信するマルチプラットフォームソフトウェアインターフェースを備え得る。1つまたは複数のオープングラフィックライブラリ103は、ディスプレイスクリーン132上の閲覧のための2次元(「2D」)および3次元(「3D」)オブジェクト上で動作する複数の機能を含むグラフィックスインターフェースを備え得る。
【００３２】
1つまたは複数のオープングラフィックライブラリ103は、たとえばモデリングおよびスムーズシェーディングなどの基本的なグラフィックスレンダリング技法、ならびにたとえば特殊効果を生成するためにテクスチャにアクセスするテクスチャマッピングおよびモーションブラー、頂点およびフラグメントシェーダなどの高度な技法をサポートすることができる。これらの効果は、限定はしないが、モーションブラー、被写界深度、粒子効果、ウォーターシミュレーションなどを含み得る。1つまたは複数のオープングラフィックライブラリ103は、ディスプレイスクリーン132上にビデオ画像をレンダリングするためのフレームバッファをサポートし、それと対話する。
【００３３】
PCD110Bは、テクスチャデータベースを含むメモリ112を備えることもできる。テクスチャデータベース内のテクスチャ情報は、あらかじめ構築されているハッシュ表から導出することができる。テクスチャ情報は、コンピュータ生成グラフィックスまたは3次元モデルにディテール、表面テクスチャ(ビットマップまたはラスタ画像)、または色を追加するステップを含む。たとえば、ビットマップまたはラスタ画像によって表されるテクスチャ情報は、コンピュータ生成グラフィックまたは3Dモデルに対する法線マッピング(シェーディング)、透過性、および/または色を含む。テクスチャ情報は、一般に、PCD100上のゲームに表示されるすべてのタイプの3Dグラフィックスにおいて使用される。
【００３４】
一般に、(O/S115内の)Adルール117と結合するグラフィックスドライバ107は、PCDビデオゲーム内で動的なAd119Bを生成する役目を果たし得る。具体的には、CPU110上で動作するグラフィックスドライバ107は、O/S115内のAdルール117にアクセスし、テクスチャデータベース記憶メモリ112からのテクスチャ情報からテクスチャを引き出して、ディスプレイスクリーン132上で閲覧するための動的なAd119Bを生成することができる。
【００３５】
特定の態様において、本明細書で説明する方法ステップのうちの1つまたは複数は、グラフィックスドライバ107を形成するメモリ112に記憶された実行可能命令およびパラメータによって実施され得る。グラフィックスドライバ107を形成するこれらの命令は、CPU110、アナログ信号プロセッサ126、または別のプロセッサによって実行され得る。さらに、プロセッサ110Aおよび/もしくは126、メモリ112、メモリ112に記憶された命令、またはそれらの組合せは、本明細書で説明する方法ステップのうちの1つまたは複数を実行するための手段として動作し得る。
【００３６】
図2:PCD100Aの他の要素
図2に示されるように、ディスプレイコントローラ128およびタッチスクリーンコントローラ130が、デジタル信号プロセッサ110Aに結合される。オンチップシステム102の外部にあるタッチスクリーンディスプレイ132が、ディスプレイコントローラ128およびタッチスクリーンコントローラ130に結合される。
【００３７】
図2は、ビデオエンコーダ134、たとえば位相反転線(「PAL」)エンコーダ、順次式カラーメモリ(「SECAM」)エンコーダ、全国テレビジョン方式委員会(「NTSC」)エンコーダ、または何らかの他のビデオエンコーダ134が、マルチコア中央処理装置(「CPU」)110Aに結合されることを示す概略図である。ビデオ増幅器136が、ビデオエンコーダ134およびタッチスクリーンディスプレイ132に結合される。ビデオポート138がビデオ増幅器136に結合される。図2に示すように、ユニバーサルシリアルバス(「USB」)コントローラ140がCPU110Aに結合される。また、USBポート142がUSBコントローラ140に結合される。加入者識別モジュール(SIM)カード146も、CPU110Aに結合され得る。さらに、図2に示すように、デジタルカメラ148がCPU110Aに結合され得る。例示的な態様では、デジタルカメラ148は、電荷結合デバイス(「CCD」)カメラまたは相補型金属酸化膜半導体(「CMOS」)カメラである。
【００３８】
図2にさらに示すように、ステレオオーディオコーデック150がアナログ信号プロセッサ126に結合され得る。さらに、オーディオ増幅器152がステレオオーディオコーデック150に結合され得る。例示的な態様では、第1のステレオスピーカー154および第2のステレオスピーカー156が、オーディオ増幅器152に結合される。図2は、マイクロフォン増幅器158もステレオオーディオコーデック150に結合され得ることを示している。加えて、マイクロフォン160がマイクロフォン増幅器158に結合され得る。特定の態様では、周波数変調(「FM」)ラジオチューナー162がステレオオーディオコーデック150に結合され得る。また、FMアンテナ164がFMラジオチューナー162に結合される。さらに、ステレオヘッドフォン166がステレオオーディオコーデック150に結合され得る。
【００３９】
図2は、高周波(「RF」)トランシーバ168がアナログ信号プロセッサ126に結合され得ることをさらに示している。RFスイッチ170がRFトランシーバ168およびRFアンテナ172に結合され得る。図2に示されるように、キーパッド174がアナログ信号プロセッサ126に結合され得る。また、マイクロフォンを備えたモノヘッドセット176が、アナログ信号プロセッサ126に結合され得る。さらに、バイブレータデバイス178が、アナログ信号プロセッサ126に結合され得る。図2は、たとえばバッテリーなどの電源180がオンチップシステム102に結合されることも示している。特定の態様では、電源180は、充電式DCバッテリー、または交流(「AC」)電源に接続されたAC-DC変換器から導かれるDC電源を含む。
【００４０】
図2に示されるように、タッチスクリーンディスプレイ132、ビデオポート138、USBポート142、カメラ148、第1のステレオスピーカー154、第2のステレオスピーカー156、マイクロフォン160、FMアンテナ164、ステレオヘッドフォン166、RFスイッチ170、RFアンテナ172、キーパッド174、モノヘッドセット176、バイブレータ178、熱センサ157B、および電源180は、オンチップシステム102の外部にある。
【００４１】
図3Aは、PCDビデオゲームにおける広告119A1の完全にブロックされたビューを備える例示的なディスプレイスクリーン300Aの図である。この例示的な実施形態によれば、広告119A1は、フレーズ「AD1」を有する矩形の看板を備え得る。PCDビデオゲームは、ビデオオブジェクト111Aおよび広告119A1を生成している。「AD1」というフレーズの英数文字のいくつかは、PCDビデオゲームをプレイしているPCD100Bのオペレータによって可視ではないまたは見ることができないことを示すために、破線で示されている。具体的には、「AD1」の英数文字「A」および「D」は、どの部分がビデオオブジェクト111Aによってブロックされているかについて示すために、破線で示されている。場合によっては、広告119A1は、スクリーン300Aに配置されていない、またはスクリーン300Aに正射されていない場合がある。広告119A1は、それがPCDビデオゲームのスクリーン300A上に自然に現れるとき、非正射/透視変換を受ける可能性がある。
【００４２】
図3Aに示すように、ビデオオブジェクト111Aは、広告119A1の全ビューをブロックしている。広告119A1は、図3Aに示したように、スコアボードまたはビルボードなど、シーン内のオブジェクトにマッピングされるAdテクスチャによって形成される。この例示的な実施形態では、ビデオオブジェクト111Aは、レースカーを備える。119A1以外の他の広告および図3Aに示されているもの以外の他のタイプのビデオオブジェクトが本開示の範囲内であることを、当業者であれば認識する。たとえば、ビデオオブジェクト111Aは、スポーツをプレイしている人またはアバターの図を備え得、広告119A1は、仮想3次元スタジアムの壁にある高いビルボードまたはバナー広告を備え得る。
【００４３】
デプスバッファ113は、広告119A1上に存在する任意の英数文字または記号がPCDビデオゲームをプレイしているPCD100Bのオペレータによって可視でない、および/または理解できないように、ビデオオブジェクト111Aが広告119A1を完全にブロックしている可能性があると決定することができる。デプスバッファ113は、ビデオオブジェクト111Aおよび広告119A1を形成している3次元座標に割り当てられた値を評価することによって、この決定を行う。
【００４４】
代替実施形態では、たとえば、デプスバッファ113は、(Ad設計者によって決定される)広告119A1の1つまたは複数の「キーポイント」が、レースカー111によって覆い隠されており、デプスバッファにおいて可視でないので、広告119A1がブロックされることを決定し得る。さらなる実施形態では、たとえば、デプスバッファ113は、カー111が広告119A1をブロックしていない場合であっても、(おそらくAd119A1がある角度で表示されているので、またはAd119A1が遠く離れすぎているので、)広告119A1の非常に少ない画素しか表示されておらず、したがって、遠距離である、またはレンダリング角度が鋭角であることによって、Ad119A1が事実上「ブロック」され得ることを決定し得る。代わりに、Ad119A1は、「ミップマップ」で数解像度で記憶され得、Ad設計者は、Ad119A1がユーザに表示されたと見なされる前に、「ミップマップ」におけるいくつかの選択肢の中からの選択に基づいて、Ad119A1がどれくらい大きくなければならないかを指示し得る。グラフィックスドライバ107は、ミップマップから表示されるサブピクチャを検討して、最小ミップマップAdサイズ(Ad自体の属性)を使用して、当業者によって理解されるように、ピクチャがAdまたは商業的印象としての資格を得るのに十分大きいかどうかを決定することができる。
【００４５】
図3Bは、PCDビデオゲームにおける広告119A1の部分的にブロックされたビューを備える例示的なディスプレイスクリーン300Bの図である。図3Bの要素は、図3Aに示されるものと実質的に同様である。したがって、図3Aと図3Bとの間の違いについてのみ、以下で説明する。
【００４６】
図3Aと比較して、この例示的な実施形態によれば、図3Bに示したようなレースカーを備えているビデオオブジェクト111Bは、広告119A1と111Bとの重複の量が実質的に図3Aに示されるよりも小さくなるように、ディスプレイスクリーン300Bを横切っている。「AD1」というフレーズの英数文字の1つのみ、すなわち数字「1」のみが、PCDビデオゲームをプレイしているPCD100Bのオペレータによって可視ではないまたは見ることができないことを示すために、破線で示されている。
【００４７】
デプスバッファ113は、図3Aに存在するブロックの量に対して図3Bに存在するブロックの量を定量化することができ得る。たとえば、デプスバッファ113は、図3Bの広告119A1が図3Aの約80%のブロックと比較して約20%ブロックされると決定することができる。別の例示的な実施形態では、また、前に説明したように、デプスバッファ113は、広告119A1のいくつかの「キーポイント」は可視であるが、すべての「キーポイント」が可視であるわけではないと決定することができる。
【００４８】
図3Cは、PCDビデオゲームにおける広告119A1のブロックされていない(可視の)ビューを備える例示的なディスプレイスクリーン300Cの図である。図3Cの要素は、図3Aに示されるものと実質的に同様である。したがって、図3Aと図3Cとの間の違いについてのみ、以下で説明する。
【００４９】
図3Aと比較して、この例示的な実施形態によれば、図3Bに示したようなレースカーを備えているビデオオブジェクト111Bは、広告119A1とビデオオブジェクト111Bとの間の重複がない、または0%であるように、ディスプレイスクリーン300Cを横切っている。広告119A1における「AD1」というフレーズの英数文字はブロックされていないので、各々は、PCDビデオゲームをプレイしているPCD100Bのオペレータによって可視であるまたは見ることができることを示すために実線で示されている。
【００５０】
デプスバッファ113は、図3Aに存在するブロックの量に対して図3Cに存在するブロックの量を定量化することができ得る。たとえば、デプスバッファ113は、図3Bの広告119A1が図3Bの約20%および図3Aの約80%のブロックと比較してブロックされない、または0%ブロックされると決定することができる。
【００５１】
この例示的な実施形態の図3Cには、スクリーンポインタ307も示される。スクリーンポインタ307は矢印の形状を有するものとして示されているが、当業者によって理解されるように、他の形状は本開示の範囲を超えない。PCD100Bのオペレータは、それがスクリーンディスプレイ300Cを横切り得るように、スクリーンポインタ307を操作することができる。
【００５２】
PCD100Bのオペレータは、広告119A1の一部を選択するために、スクリーンポインタを使用することもできる。グラフィックスドライバ107は、オペレータによってスクリーンポインタ307で行われる「選択」など、移動およびアクティビティを監視することができる。グラフィックスドライバ107は、スクリーンディスプレイ300C上に提示される各広告119A1にわたってスクリーンポインタ307で横切られる正確な座標を追跡することができる。グラフィックスドライバ107は、スクリーンポインタ307が広告119A1を選択するために使用されているかどうかを決定することもできる。グラフィックスドライバ107は、スクリーンの「ピッキング」または移動がゲームプレイまたはAdの選択のためのものであるかどうかについて決定する必要があり得る。
【００５３】
広告119A1の選択またはその「マウスクリック」に応答して、グラフィックスドライバ107は、インターネットブラウザアプリケーションモジュールを開始し、たとえば図3Dに示すように、スクリーンディスプレイ300Dなど、新しいウィンドウを開くことができる。広告119A1の対象であった製品および/またはサービスに関する詳細な情報を表示するために、新しいウィンドウまたはスクリーンディスプレイ300Dがインターネットブラウザアプリケーションモジュールによって生成され得る。グラフィックスドライバ107は、当業者によって理解されるように、また、図7に関連して以下でさらに詳細に説明するように、広告追跡システムおよびソフトウェアと連携することができる。スクリーンディスプレイ300Dを生成するウェブサイトは、製品ベンダーもしくはサービスベンダーによって、またはその両方によって操作され、管理され得る。
【００５４】
図4は、PCDビデオゲームにおいて動的なAdを生成するためのシステム101のさらなる例示的な構成要素を示す機能ブロック図である。図1に示されるものと同様に、グラフィックスドライバ107は、ゲームアプリケーションモジュール105およびグラフィックスプロセッサ110Bに結合される。ゲームアプリケーションモジュール105は、たとえば図3A〜図3Cに示したように、ビデオオブジェクト111を表示するためのテクスチャなどのリソースを備えることができる。ゲームアプリケーション105は、図1に関連して上記で説明したように、1つまたは複数のオープングラフィックライブラリ103と通信する。1つまたは複数のオープングラフィックライブラリ103は、ゲームエンジン403とも通信する。
【００５５】
ゲームエンジン403は、当業者によって理解されるように、リアルタイム3Dレンダリングを提供することができ、「グラフィックスエンジン」、「レンダリングエンジン」、または「3Dエンジン」と呼ばれ得る。ゲームエンジン403は、一般に、しばしばゲーム設計を単純化し、広大な仮想ゲーム世界のより効率的なレンダリングに使用され得る3Dゲーム世界のオブジェクト指向表現を備えるシーングラフを提供することができる。
【００５６】
図1および図4に示したように、グラフィックスドライバ107は、テクスチャデータベース112に結合され得る。テクスチャデータベース112は、テクスチャ識別(「ID」)カラム405およびAd識別子カラム407を含むテーブルを備え得る。テクスチャIDカラム405は、テクスチャアトラス300Eに関連付けられた英数文字を備え得る。テクスチャアトラス300Eは、同様の形状およびレイアウトを有するスクリーンディスプレイ300Eに対応する。
【００５７】
ゲームアプリケーション105は、通常、すべてのレベルのゲームを有するライブラリを含み、特定のあるレベルのゲームをプレイするとき、テクスチャは、レンダリングハードウェアによる高速アクセスのために、テクスチャデータベース112にコピーされる。あるレベルが終わった後、テクスチャは、通常、新しいレベルによって上書きされる。
【００５８】
テクスチャアトラス300Eは、それぞれがPCDビデオゲームによってレンダリングされる3Dオブジェクトの一部のID1、ID2、ID3、ID4、ID5などのようなテクスチャIDを有するテクスチャである、多くのより小さい副画像を含む大きい画像またはアトラスを備え得る。テクスチャアトラス300EのID1〜ID5などのサブテクスチャは、本質的にそのテクスチャが画像のどの部分にあるかについて伝えて、アトラス300E上のオブジェクトのuvマップのテクスチャ座標を変更することによってレンダリングすることができる。
【００５９】
テクスチャアトラス300Eは、グラフィックスプロセッサ110Bによって1つのユニットとして扱われ得る。特に、一度バインディングすることによってレンダリング状態の変化があまりないので、多くのより小さいテクスチャが描かれるにつれてそれらをバインディングすることよりも、1つの大きいテクスチャを一度バインディングすることの方が高速であり得る。
【００６０】
当業者によって理解されるように、アトラス300Eは、均等のサイズのサブテクスチャを備えることができ、または、異なるサイズのテクスチャID1〜ID5を備えることができる。後者の場合、たとえばマヤなどのグラフィックデザインソフトウェアは、通常、グラフィックスCPU110BにテクスチャにID1〜ID5を送る前に、効率的な方法で、テクスチャID1〜ID5を自動的に配列する。テクスチャアトラス300Eの手動の配列は可能である。しばしば、テクスチャを大幅に縮小することからアーチファクトを低減し、レンダリング速度を上げるために、テクスチャは、多くの異なるサイズで記憶され、この技法は「ミップマッピング」と呼ばれている。ミップマップを使用する場合、副画像がそれらの近隣によって「汚染される」ことを回避するような様態でテクスチャID1〜ID5を配列するように気を付けなければならない。当業者によって理解されるように、テクスチャ間の小さい境界は近隣によるこの汚染を防止するのを助けることができる。
代替の例示的な実施形態によれば、テクスチャデータベース112およびテクスチャアトラス300Eは、ゲームアプリケーション105からロードされ得る。ゲームアプリケーション105は、テクスチャデータベース112およびテクスチャアトラス300Eをロードするにつれて、いくつかのテクスチャが「テクスチャの置換」のためにビットでマークされることに気づき得る。例示的な実施形態では、いくつかのテクスチャは、このテクスチャについてのゲームプレイの広告環境を示す「シーンタイプ」についての単語でマークされ得る。たとえば、アメリカンフットボールのようなスポーツのゲームアプリケーション105は、フットボールロゴ、またはアリーナスポーツイベントのファストフードベンダーのロゴを有するビルボードを表示することができる。
ゲームアプリケーション105は、テクスチャアトラス300Eをロードするにつれて、そのレベルの間の広告の選択を自動的に行う。各レベルが数分しか持続しない場合があるので、ゲームがロードするにつれて、これらの選択を行う際の一般性の損失はほとんどない。
【００６１】
図4の例示的な実施形態では、グラフィックスドライバ107は、どの動的な広告119がPCDビデオゲームの間にディスプレイスクリーン132上に表示されるべきかを決定するために、オペレーティングシステム115によってサポートされるAdルール117にアクセスすることができる。また、Adルール117は、ビデオゲームのどの元のテクスチャを置き換える必要があるかを決定する役目を果たし得る。
【００６２】
グラフィックスドライバ107は、どの特定のテクスチャが動的なAd119と置き換えられることが望ましいかをゲーム開発者が示すことができるように、予備のメモリを保つこともできる(すなわち予備のビット)。この予備のメモリは、テクスチャの属性を指定するために使用することもできる。テクスチャの属性は、限定はしないが、幅、高さ、色および他の同様のパラメータを含み得る。Adルール117は、予備のビットおよびそれらのそれぞれの属性を有するテクスチャを制御するように作成され得る。
【００６３】
別の例示的なAdルール117は、グラフィックスドライバ107が特定のテクスチャIDに割り当てられ得る様々な動的なAd119をランダムに選択するようなランダム選択機能を備え得る。
【００６４】
Adルール117がランダム選択機能を備えるとき、グラフィックスドライバ107は、図4のテクスチャデータベース112に示すように、テクスチャデータベース112におけるテクスチャID「ID2」のAd識別子AD2、AD3およびAD4を有する3つの動的なAd119の中で、ランダムに選択することができる。別の言い方をすれば、テクスチャアトラス300Eに示すテクスチャID2では、このテクスチャは、Ad識別子AD2、AD3、またはAD4に対応する3つの異なる動的なAd119によってポピュレートされ得る。上述のように、グラフィックスドライバ107は、PCDビデオゲームの実行または反復の後、またはPCDビデオゲームの間の1「ラウンド」のプレイの完了の後、各テクスチャIDを更新することができる。
【００６５】
たとえば、図3のレースカーのようなビデオオブジェクト111Aが動的な広告119A1を通過するたびに、グラフィックスドライバ107は、動的な広告119A1を変えることができる。グラフィックスドライバ107は、カラム407に割り当てられるAd識別子およびテクスチャデータベース112のカラム405に割り当てられるテクスチャ識別子に基づいて、動的な広告を変えることができる。具体的には、「AD1」というフレーズを含む広告を有する動的な広告119A1がフレーズ「AD2」を有する動的な広告119A1に変えられ得る。
【００６６】
別の例は、第1のブランドのタイヤを備える第1の動的な広告119A1を表示することである。レースカーを備えるビデオオブジェクト111Aが2回目に動的な広告119A1を渡した後、第2のブランドのタイヤを備える第2の動的な広告119B1(図示せず)が表示され得る。動的な広告119A1がグラフィックスドライバ107によって変えられる頻度および時間量は、オペレーティングシステム115のAdルール117によって管理することができる。
【００６７】
別の例示的な実施形態によれば、Adルール117を生成するために、オフラインで、ゲームアプリケーション105およびグラフィックスドライバ107と連携するオフラインツール411が提供され得る。オフラインツール411によって、ゲーム開発者は、ビデオゲームにおける任意のテクスチャを選択し、ビデオゲームがプレイされているとき、特定のテクスチャまたはテクスチャの組を置き換えるために使用することができる1つまたは複数のAd119を選択することができる。オフラインツール411は、サーバ100AもしくはPCD100B(またはその両方)によって実行可能であり得るソフトウェアを備えることができる。グラフィックスドライバ107は、元のゲームを変える必要なく、ビデオゲームにおける選択されたテクスチャを抽出することができる。1つまたは複数の対応するAd119にテクスチャを一致させるAdルール117を構築するために、抽出されたテクスチャの属性を使用することができる。抽出されたテクスチャの属性は、限定はしないが、幅、高さ、および色を含み得る。
【００６８】
前述のように、Adルール117、カラム407におけるAd識別子を備えるテクスチャデータベース112、ならびに動的なAd119自体がサーバ100Aによって更新され得る。サーバ100Aは、コンピュータネットワーク142を介してその更新をPCD100Bのオペレーティングシステム115に送信することができる。更新の頻度は、サーバ100AもしくはPCD100Bまたはその両方によって制御され得る。当業者によって理解されるように、PCDビデオゲームが実行中である間でさえ、動的なAd119は、サーバ100Aによって更新され得る。
【００６９】
図5は、PCDビデオゲームにおいて動的なAd119を生成するための方法500を示す論理的フローチャートである。ブロック505が、方法500の最初のステップである。ブロック505で、グラフィックスドライバ107は、PCD100Bのディスプレイスクリーン132上に表示するためのテクスチャについてのゲームアプリケーション105からの呼を受信することができる。次に、ブロック510で、グラフィックスドライバ107は、ゲームアプリケーション105から発信する呼に関連付けられたテクスチャ識別子(「ID」)を検討することができる。
【００７０】
次に、決定ブロック515で、グラフィックスドライバ107は、呼のテクスチャ識別子が動的なAd119の置換のためにテクスチャデータベース112に列挙されるテクスチャIDと一致するかどうかを決定することができる。この決定ブロック515では、グラフィックスドライバ107は、図4に示したように、テクスチャデータベース112で見つかるテーブルを検討することができる。具体的には、グラフィックスドライバ107は、テクスチャIDカラム405を、処理されている現在のテクスチャ呼によって示されるテクスチャIDと比較することができる。
【００７１】
この決定ブロック515への照会が否定であれば、ブロック505への「いいえ」の分岐に戻り得る。決定ブロック515への照会が肯定であれば、ブロック520への「はい」分岐に進み得る。
【００７２】
ブロック520で、グラフィックスドライバ107は、オペレーティングシステム115で見つかる1つまたは複数のAdルール117に従って、図4に示したように、テクスチャデータベース112のテーブルのカラム407から適切なAd識別子を選択することができる。たとえば、Adルール117が特定のテクスチャIDに割り当てられるランダム機能を備える場合、グラフィックスドライバ107は、マッチしているテクスチャ識別子に対応するAd識別子をランダムに選択することができる。Adルール117は、特定のテクスチャ識別子に割り当てられ得る、および/または、複数のまたは一群のテクスチャ識別子に割り当てられ得ることを当業者であれば認識されよう。同様に、Adルール117は、必要に応じてすべてのテクスチャ識別子にわたって一様に適用され得る。
【００７３】
Ad識別子は、以下のビットの情報、Adサイズ、Ad形状、Ad背景色、Adタイプ(ビデオまたは静的テクスチャ)、対象とするビューア層(ユーザ年齢範囲、性別、および/または世帯収入を含む)、位置指定子(PCD IPアドレスを使用して、PCDの位置を決定することができる)など、および印象閾値(impression threshold)(表示された画素、キー画素、または印象づけるために表示されなければならない最小ミップマップサブピクチャ、あるいは印象を決定するための他のアルゴリズムを使用)に関連付けられ、ローカルでAdエンジンに、またはリモートでAdサーバに記憶され得る。
【００７４】
適切なAdルール117に基づいてグラフィックスドライバ107によってAd識別子がひとたび選択されると、このAd識別子は、図7に示すように、テクスチャデータベース112で見つかるその対応する動的な広告119と照合され得る。図7に示すように、テクスチャデータベース112についてのさらなる詳細について、以下で説明する。
【００７５】
再び図5を参照すると、ブロック525で、グラフィックスドライバ107は、動的な広告119をグラフィックスプロセッサ110Bに送る。ブロック530で、グラフィックスプロセッサ110Bは、ディスプレイデバイス132上に、図4のテクスチャアトラス300Eに従って、動的な広告119を生成する。
【００７６】
次に、ルーチンまたは下位方法決定ブロック535で、グラフィックスドライバ107は、図3Cに示したように、スクリーンポインタ307に近接したエリアに位置する動的な広告119を連続的に監視することができる。このルーチン決定ブロック535では、グラフィックスドライバ107は、動的な広告119が任意のビデオオブジェクト111に対してブロックされていないかどうか、および広告119がスクリーンディスプレイ132内で閲覧可能かどうかを決定することができる。このルーチンまたは下位方法決定ブロック535に関するさらなる詳細について、図6に関連して以下でさらに詳細に説明する。
【００７７】
決定ブロック535への照会が肯定であれば、ブロック540への「はい」分岐に進む。決定ブロック535への照会が否定であれば、決定ブロック545への「いいえ」分岐に進む。ブロック540で、グラフィックスドライバ107は、Adビュー追跡を起動させることができる。Adビュー追跡は、動的な広告119がスクリーンディスプレイ132内で完全に閲覧可能であるときの時間の長さもしくは回数またはその両方を決定するグラフィックスドライバ107を備え得る。当業者は、これを、PCDビデオゲームが実行されている間に、動的な広告119がPCD100Bのオペレータによる完全なまたは全閲覧についてどのぐらいの頻度で使用可能であるかを測定する商業用印象メトリックと呼び得る。
【００７８】
次に、決定ブロック545で、グラフィックスドライバ107は、動的なAd119内で広告されている特定の製品もしくはサービス(またはその両方)に関する詳細な情報を取得するために、PCD100Bのオペレータが動的なAd119を選択したまたは「クリックした」かどうかを決定することができる。決定ブロック545への照会が否定であれば、「いいえ」分岐に進み、そこでプロセス500は戻る。
【００７９】
決定ブロック545への照会が肯定である場合、「はい」分岐の後、ブロック550に続き、ここでグラフィックスドライバ107は、ブラウザアプリケーションを開始する旨のコマンドをオペレーティングシステム1152に発行することができる。代わりに、グラフィックスドライバ107は、PCD100Bのオペレータがスクリーンポインタ307で動的なAd119を選択するまたは「クリックする」ことに応答して、スクリーンディスプレイ132内で新しいウィンドウを開始する旨のコマンドをブラウザアプリケーションに直接発行することができる。
【００８０】
次に、ブロック555で、ブラウザアプリケーションは、PCD100Bのオペレータによって選択された動的なAd119に関連付けられたウェブページにリダイレクトされ得る。このウェブページは、上記の図3Dに示されるものと同様に広告されている製品またはサービスについての追加の情報を提供することができる。ブロック555で、従来のAdキャンペーン追跡技法は、当業者によって理解されるように、また、図8に関連して以下でさらに詳細に説明するように、このブロックで起動され得る。
【００８１】
図6は、PCDビデオゲーム内の動的な広告119がオペレータに対する閲覧からブロックされるかどうかを決定するための図5の下位方法またはルーチン535を示す論理的フローチャートである。ブロック605が、下位方法535の最初のステップである。ブロック605で、グラフィックスドライバ107は、動的なAd119を備えるスクリーンディスプレイ132の現在の反復についてのその現在の深度値を提供するように、デプスバッファ113に要求することができる。深度値は、グラフィックスプロセッサ110Bによって計算され得る。例示的な実施形態によれば、デプスバッファ113内に含まれるすべての値を使用する代わりに、ほんのわずかのデプスバッファ値のみがサンプリングされる。このようにして、この下位方法535に関連した実行の速度は、わずかの値をとることから計算が低減されることに鑑みて、増加し得る。
【００８２】
ブロック610で、グラフィックスドライバ107は、デプスバッファ113に記憶され得るグラフィックスプロセッサ110Bによって計算されるこれらの深度値に基づいて、ビデオオブジェクト111によって動的なAd119がブロックされていないかブロックされているかを決定することができる。ブロック605で前に示したように、グラフィックスドライバ107は、デプスバッファ113内のすべての値、または値のサンプルを使用することができる。これらのデプスバッファ値は、動的なAd119ごとの深度値と比較される。
【００８３】
たとえば、図3に関連して上記で説明したように、デプスバッファ113を利用しているグラフィックスドライバ107は、動的なAd119A1に対するブロックのパーセンテージを決定することができる。グラフィックスドライバ107が従うこのブロック610において、ブロックの閾値パーセンテージが設定または確立され得る。言い換えれば、動的なAd119A1に対するある割合のブロックは、許容可能であり得、これは、ほとんどまたは大部分の動的なAd119A1がPCD100Bのオペレータにとって可視であり得ることを意味する。
【００８４】
たとえば、図3Aで、デプスバッファ113を利用しているグラフィックスドライバ107は、レースカーを備えるビデオオブジェクト111が動的なAd119A1の約100%をブロックし得ることを発見することができる。そのようなシナリオでは、決定ブロック535への照会は、否定であり、これは、動的な広告のコンテンツがPCD100Bのオペレータによって理解可能ではないので、グラフィックスドライバ107が任意のAdビュー追跡を起動させないことを意味する。
【００８５】
逆に、図3Cでは、デプスバッファ113を利用しているグラフィックスドライバ107は、レースカーを備えるビデオオブジェクト111が動的な広告119のどの部分もブロックしない(0%のブロック)ことを発見し得る。そのようなシナリオでは、決定ブロック535への照会は、肯定であり、これは、動的な広告119のコンテンツがPCD100Bのオペレータによって完全に可視であり、理解可能であるので、グラフィックスドライバ107がAdビュー追跡を起動し始めることを意味する。
【００８６】
ブロック610において、グラフィックスドライバ107は、動的なAd119がディスプレイデバイス132上で閲覧可能な必要なサイズを有するかどうかを決定することもできる。前述のように、3次元コンテキストにおいて透視を有するPCDビデオゲームでは、動的なAd119のようないくつかのオブジェクトは、ゲームにおける閲覧ポイントまでのそれらの相対的な距離に基づいてスケーリングされる。たとえば、動的なAd119を含むビルボード看板は、それがスクリーンディスプレイ132に表示されている現在のビューから数「仮想」マイルであるように見えるように生成され得る。グラフィックスドライバ107は、たとえば図7に関連して以下で説明するチャート700などのチャートに列挙される値に基づいて、動的なAd119のサイズをチェックすることができる。チャート700は、テクスチャデータベース112に記憶することができる。チャート700は、動的なAd119がディスプレイスクリーン132内で閲覧可能または理解可能であると見なされるために、動的なAd119の最小寸法を列挙するサイズカラム715を備える。そして、下位方法535は、図5のブロック540またはブロック545のいずれかに戻る。
図7は、テクスチャデータベース112の追加例示的なコンテンツを示すチャート700である。チャートは、テクスチャAd識別子カラム705、Adキャンペーン番号カラム710、Adサイズ/形状カラム715、およびAdアスペクト比カラム720を備え得る。テクスチャAd識別子カラム705におけるテクスチャAd識別子は、一般に、図4のAd識別子カラム407に列挙されるAd識別子と一致する。Adサイズ/形状カラム715は、画素で測定される動的なAd 119の相対的な寸法を提供することができる。これらの相対的な寸法は、図8に関連して以下で説明するように、閲覧可能と見なされ、商業的印象の方にカウントされる動的なAd119の最小サイズを定義することができる。このカラム715は、特定の動的なAd119の相対的な幾何学的形状を識別することもできる。グラフィックスドライバ107は、動的なAd119が、図4に示したように、テクスチャアトラス300D内で生成され、配置される必要があるとき、必要に応じてグラフィックスプロセッサ110Bにチャート700のコンテンツを渡すことができる。本開示の範囲から逸脱することなく、他の動的なAdパラメータをチャート700内に提供することができることを、当業者であれば理解されよう。たとえば、チャート700は、ゲーム自体のソースまたはオブジェクトコードを編集する必要なしに、すなわち、ゲームの3Dレベルを作成するために使用されるデータ構造を単に変更することによって、AdキャンペーンおよびAd識別子でAdテクスチャをマークするために、PCDオペレータによって編集することができる。
【００８７】
図8は、PCDビデオゲーム内の動的な広告119についての例示的な追跡オプションを示すチャート800である。各動的なAd119は、(1)動的なAd119がPCD100Bのオペレータに示され、ならびに(2)PCDオペレータがスクリーンポインタ307または別の類似のユーザインターフェースで動的なAd119を選択し、「クリックする」または「クリックスルーする」とき、追跡され得る。グラフィックスドライバ107は、これらの追跡機能の役目を果たし、データをコンピュータサーバ100Aに中継して戻すことができる。
【００８８】
具体的には、グラフィックスドライバ107は、限定はしないが、コストパーミル(「CPM」)、コストパークリックスルー(「CPC」)、コストパーアクション(「CPA」)、コストパーデイ(「CPD」)、およびペイパークリック(「PPC」)を含む課金方法を可能にするために広告課金データを追跡するために、コンピュータサーバ100Aと連携することができる。当業者によって理解されるように、CPMは、1000人の顧客に動的なAd119を示すために広告主によって払われる料金である。CPMは、単一の商業的印象のみを含むメトリック、コストパーインプレッション(「CPI」)に基づく。単一の商業的印象は、動的なAd119が1つのインスタンスについてスクリーンディスプレイ132に表示されるときに生じる。これを書いている時点で、CPMの一般的な料金は、地上線インターネットの動的なAd119では、約1ドル(U.S.)から約20ドル(U.S.)に及ぶ。しかしながら、当業者によって理解されるように、本開示で説明する他の範囲の料金が実現可能である。
【００８９】
CPCは、当業者によって理解されるように、Ad119をクリックするユーザごとに広告主によって払われる実行に対する支払い料金である。これを書いている時点で、CPCの一般的な料金は、地上線インターネットのAdでは、約0.10ドル(U.S.)から約0.60ドル(U.S.)に及ぶ。
【００９０】
CPAは、当業者によって理解されるように、ユーザがウェブサイトにおいて規定のアクションを行うときのみに払われる料金である。たとえば、1つのアクションは、ユーザが動的な広告119をクリックすることに応答して、ユーザが発売された製品を買うことを含み得る。これを書いている時点で、CPAの一般的な料金は、提供される製品とサービスとの間に広く及ぶ。たとえば、一部のCPAは、新しい車の販売のような産業におけるアクション当たり最高100ドル(U.S/)までに及ぶ。CPAは、コストパークリックスルー、コストパーリード(「CPL」)、コストパーセール(「CPS」)、および動的CPM(「dCPM」)を含み得る。
【００９１】
CPDは、当業者によって理解されるように、通常、1日(週、月など)当たり無制限の回数示され得る動的なAd119を含む。メトリックは、通常、契約の一部としての最小限の表示回数を有する。
【００９２】
PPCは、当業者によって理解されるように、ウェブサイトにおいて使用されるインターネット広告モデルである。それは、広告主が、それらの動的なAd119がクリックされるときのみホストを払い得るモデルである。
【００９３】
サーバ100Aは、Adサーバを備え得る。Adサーバは、通常、オンラインマーケティングで使用される広告119を記憶し、それらをウェブサイトのビジターに配信するウェブサーバ100Aを備える。PCDビデオゲームがユーザによって再開またはリフレッシュされると、Ad119が表示されるビデオゲームが新しい広告119、たとえばバナー(静的画像/アニメーション)またはテキストなどを含むように、ウェブサーバ100Aのコンテンツは、常に更新され得る。さらに、サーバ100Aは、広告がユーザに表示されるとき、Adエンジンによってフェッチされる「追跡URL」(図示せず)を含むことができ、後で、ユーザによるクリックスルーアクションを報告するために、異なる「追跡URL」がフェッチされ得る。
【００９４】
Adサーバ100Aは、PCD100Bのグラフィックスドライバ107およびAdルール117Bと連携して、Adキャンペーンのため、および報告を生成するために、上述した広告データを追跡するなど、様々な他のタスクを実行することができる。Adサーバ100Aおよびグラフィックスドライバ107によるこの追跡は、広告主が特定のPCDビデオゲームについてのその人の投資収益(「ROI」)を決定するのを助けることができる。
【００９５】
Adサーバ100Aは、ローカルAdサーバ100A、または1つもしくは複数のサードパーティ/リモートAdサーバ100Aを備え得る。ローカルAdサーバ100Aは、通常、単一のパブリシャーによって管理され、Ad119をパブリシャーの領域にサービスし、そのパブリシャーによるきめの細かいクリエイティブなフォーマッティングおよびコンテンツ制御が可能になる。リモートAdサーバ100Aは、複数のパブリシャー/広告主および/または製品およびサービスベンダーによって所有される領域にわたって動的なAd119をサービスすることができる。リモートAdサーバは、通常、Adネットワークによって所有され、制御される。サーバ100Aは、広告主およびパブリッシャーがPCDビデオゲーム内でそれらのオンライン広告の配信を追跡することができるように、動的なAd119を1つの中央ソースから配信することができる。単一のサーバ100Aは、複数のPCDビデオゲーム内の動的なAd119の回転および配布を制御するために1つの場所に収容され得る。
【００９６】
Adサーバ100Aは、少なくとも以下の機能、広告主、製品ベンダー、および/またはサービスベンダーから動的なAd119およびリッチメディアをアップロードすること、異なるビジネスルール117に従ってAd119を追跡すること、Ad119の対象をPCDビデオゲームの異なるユーザに向けること、結果に基づいてAd119を調整し、最適化すること、および上記の広告データ(すなわちCPI、CPM、CPCなど)を報告することをサポートすることができる。
【００９７】
Adサーバ100Aは、グラフィックスドライバ107およびAdルール117Bとの組合せで、ユーザがPCDビデオゲーム内で限られた時間量のみメッセージを見るように、Ad頻度上限(frequency capping)を実施することもできる。グラフィックスドライバ107と連携するAdサーバ100Aは、頻度キャップを広告主によって提供される金の支出に設定することによって、Ad119を制限することもできる。Adサーバ100Aは、ユーザが(サラウンドセッションなど、当業者に知られている)特定の順序でメッセージを見るように、グラフィックスドライバ107によって、およびAdルール117Bとともに、Ad119を順序付けることもできる。
【００９８】
グラフィックスドライバ107およびAdルール117Bと連携しているAdサーバ100Aは、PCDビデオゲームのユーザが競合者のAdを互いに隣接して見ることがないように、競合を除外することもできる。Adサーバ100Aは、広告主がPCDビデオゲーム(「Roadblock」として当業者に知られている)内の単一のシーンで目録(製品および/またはサービス)の100パーセントを所有することができるように、ビデオゲーム内に動的なAd119を表示することができる。
【００９９】
Adサーバ100Aは、PCD100BのAdルール117Bによって、グラフィックスドライバ107と連携して、Ad119の対象を、PCDビデオゲームの間とられるアクションに対するそれらの以前の挙動(挙動のマーケティングまたは挙動のターゲティング)に基づいて、ユーザに向けることができる。これは、挙動のターゲティングを含むことができる。挙動のターゲットマーケティングは、PCDビデオゲームビューアの側の前の挙動のプロファイルを使用して、PCDビデオゲームの次の反復の間、どのAd119を表示すべきかについて決定することを含むことができる。たとえば、車の広告は、PCDビデオゲームの間に、PCDビデオゲームの前の「プレイ」においてクリックまたはクリックスルーされたAd119に基づいて車のウェブサイトを訪問したことがわかっているビューアに対して表示され得る。
【０１００】
グラフィックスドライバ107は、動的な広告119の文脈上のターゲティングをサポートすることができる。たとえば、グラフィックスドライバ107は、Ad119がスクリーンディスプレイ132上に表示されている間、PCDビデオゲーム内の特定のスクリーンに含まれる情報から最適なAdの配置を推定することができる。たとえば、図3A〜3Cに示すように、レースカー111がビルボードを過ぎて移動しているとき、グラフィックスドライバ107は、PCDビデオゲーム内の仮想のビルボード上のスクリーンに自動的にタイヤの広告119を配置することができる。グラフィックスドライバ107は、所与のAdの配置に最適の表示を決定するために実験的または予測的方法を使用することができ、Ad119の将来の印象に結果として生じる決定を利用することができる。
【０１０１】
コストパーミル課金(CPM)に関して、Adサーバ100Aおよびグラフィックスドライバ107がPCDゲームコンテキスト内で動的なAd119の収入を追跡することに関して、印象としてカウントすることは、少なくとも2つの方法で計算され得る。第1の方法によれば、印象は、動的なAd119が単一のゲームレベルに示される(表示される)ものとして定義され得る。PCD100Bのオペレータがレベルを上げ、次いでレベルを下げる場合、特定の動的なAd119の広告主は、2つの印象について課金され得る。これらのインスタンスにおける印象は、Adサーバとともに動作しているグラフィックスドライバ107によって追跡されることになる。
【０１０２】
通常、動的なAd119の印象は、示されるAdがスクリーン上のある最小サイズであることを必要とする。3次元PCDビデオゲームコンテキストの問題は、動的なAd119がPCDビデオゲームプレーヤから2マイルの仮想ビルボード上にあり得、それはスクリーン上の1画素のサイズであるかもしれないということである。そのため、このシナリオを与えられる広告主は、広告のある最小数の画素を必要とし得る(すなわち、350×100画素のAd119、少なくとも50%のサイズ、すなわち175x50のサイズがユーザによって閲覧可能でなければならない)。動的なAd119のこの相対サイズは、チャート700のカラム715に記憶され得る。グラフィックスドライバ107は、動的なAd119のこの相対サイズを追跡し、このデータをAdサーバ100Aに中継することができる。
【０１０３】
代わりに、動的なAd119のサイズは、スクリーン上へのAd119の表示に使用される「ミップマップ」におけるいくつかの選択肢の中からの選択に基づいて測定され得る。実施される場合、ミップマップは、いくつかの異なる解像度のAd119を含み、グラフィックスドライバ107は、最も適切なサイズ(またはグラフィックスドライバ107が2つのサイズの間の補間を意図する場合、2つのサイズ)を選択する。このようなシステムでは、Adサイズ/形状715は、画素としてでなく、表示のために選択されるAdのミップマップバージョンに基づいて記憶され得る。印象を決定する他の方法が存在するが、当業者は、Adサイズ/形状および/または重要なAd画素に基づいて印象を決定するための追加の方法も定義され得ることを認識されよう。
【０１０４】
PCDビデオゲームコンテキストについてのコストパークリックスルー(CPC)に関して、従来技術では、(グラフィックスドライバ107がキーボード117またはマウスキーにアクセスできない間、PCDビデオゲーム自体が通常キーボード117またはマウスからの入力を読み取っているとき)グラフィックスドライバ107がクリックスルーをどのように認識するかが問題であった。たとえば、ゲームがプレイされている間に、PCD100Bのオペレータが実際にスクリーンディスプレイ132上にあるAd119上をクリックスルーするように意図されているとき、クリックスルーは、銃の発射イベント(銃を発射するPCDビデオゲームの文脈で)であることがPCDビデオゲームによって理解されなければならない。
【０１０５】
この問題に対する1つの解決策は、オペレータがクリックスルーを実行しようとしていることをグラフィックスドライバ107に通知するある種の「エスケープ」キーを、PCDビデオゲームをプレイしているオペレータが打つことができるということである。PCDビデオゲームは、このエスケープキー、またはこのキーとマウスクリックとの組合せを使用しないための事前構成を有し得る。グラフィックスドライバ107は、このキーの組合せを確保し、PCDビデオゲームがキーのこの組合せを読み取ることができないようにすることができる。
【０１０６】
PCDオペレータがPCDビデオゲームコンテキストにおいて示される動的なAd119のクリックスルーを行うとき、システム101は、少なくとも2つの異なるクリックスルー方法を提供することができる。第1に、たとえばPCDビデオゲームのプレイ内のレベルの変更の間など、クリックスルーは、メモリ112に保存され、後で実行され得る。
【０１０７】
第2の代替方法は、図5に関連して上記で説明したように、ブラウザが開始される間、PCDビデオゲーム世界がフリーズされ得ることである。この方法によって、PCD100Bのオペレータは、それらがクリックスルーイベントによって行われるとき、PCDビデオゲーム世界を再開することができる。クリックスルーを実行する誘因として、ゲームのいくつかの位置で、クリックスルーは、特定の位置または部屋においてゲームを中断する唯一の方法であり得る。しかしながら、クリックスルーされた動的なAd119についての追加の情報を提示する他の方法は可能であり、当業者によって理解されるように、本開示の範囲内である。
【０１０８】
このシステム101で、ゲーム開発者がゲームの元のコーディングを変更する必要なく、動的なAd119がPCDビデオゲームにおいてプレイされ得る。システム101によって、ゲーム開発者は、単純なインターフェースでAd119を変更し、入れ替えることができ、どんなゲームコードも修正する必要はない。
【０１０９】
このシステム101では、動的なAd119は、3Dビデオゲームにおいて提示されるマップの構造を修正するために一般に使用される単純な「レベルエディタ」の使用によって、PCDビデオゲーム105にさらに挿入され得る。部屋形状およびサイズ、ならびに最も重要なことにテクスチャマップを編集して、動的なAd119のためのスペースを作成することによって、あまりプログラミング技術を持たないオペレータは、Ad119のターゲッティングを助けるために、挿入ポイントおよび広告ジャンル/シーンタイプをマークするように、単にテクスチャを修正することによって、動的なAd119を表示するようにビデオゲーム105を修正することができる。
【０１１０】
上記の開示に鑑みて、プログラミングの当業者は、たとえば本明細書のフローチャートおよび関連する説明に基づいて、コンピュータコードを書くか、または適切なハードウェアおよび/もしくは回路を特定し、開示された発明を容易に実施することができる。したがって、特定の1組のプログラムコード命令または詳細なハードウェアデバイスの開示が、本発明をどのように製作し使用すべきかについて適切に理解するうえで必要であるとは見なされない。コンピュータによって実施される特許請求されるプロセスの発明性のある機能が、上の説明において、かつ、様々なプロセスの流れを示し得る各図に関連して、より詳細に説明される。
【０１１１】
1つまたは複数の例示的な態様では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装することができる。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体上で送信され得る。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、コンピュータ記憶媒体とコンピュータ通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であってよい。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または、命令もしくはデータ構造の形式で所望のプログラムコードを搬送もしくは記憶するために使用され得るとともに、コンピュータによってアクセスされ得る任意の他の媒体を含み得る。
【０１１２】
また、任意の接続をコンピュータ可読媒体と呼ぶのが妥当である。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。
【０１１３】
本明細書で使用される場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザディスク、光ディスク、デジタル多用途ディスク(DVD)、フレキシブルディスク、およびブルーレイディスクを含み、ディスク(disk)は、通常、磁気的にデータを再生し、ディスク(disc)は、レーザで光学的にデータを再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【０１１４】
選択された態様について詳細に説明し、詳述してきたが、以下の請求項によって定義されるような本発明の趣旨および範囲から逸脱することなく、本明細書において様々な置換および改変を実施できることが理解されよう。
【符号の説明】
【０１１５】
100A  コンピュータサーバ
100B  PCD
101  システム
102  オンチップシステム
103  通信リンク
103B  ワイヤレス通信リンク
103  オープングラフィックライブラリ
105  ゲームアプリケーションモジュール
107  グラフィックスドライバモジュール
110A  CPU
110A  デジタル信号プロセッサ
100A  Adサーバ
110B  グラフィックスプロセッサ
111  レースカー
111A  ビデオオブジェクト
112  メモリ
113  デプスバッファ
114  ビデオエンコーダ
115  OS
1152  オペレーティングシステム
117  Adルール
117A  Adルール
119  Ad
119A1  広告
119B  動的なAd
126  アナログ信号プロセッサ
128  ディスプレイコントローラ
130  タッチスクリーンコントローラ
132  ディスプレイスクリーン
134  ビデオエンコーダ
136  ビデオ増幅器
138  ビデオポート
140  USBコントローラ
142A  通信ネットワーク
142  コンピュータネットワーク、USBポート
146  SIMカード
148  デジタルカメラ
150  ステレオオーディオコーデック
152  オーディオ増幅器
154  第1のステレオスピーカー
156  第2のステレオスピーカー
157B  熱センサ
158  マイクロフォン増幅器
160  マイクロフォン
162  FMラジオチューナー
164  FMアンテナ
166  ステレオヘッドフォン
168  RFトランシーバ
170  RFスイッチ
172  RFアンテナ
174  キーパッド
176  マイクロフォンを備えたモノヘッドセット
178  バイブレータデバイス
180  電源
222  第0のコア
224  第1のコア
230  第Nのコア
300A  ディスプレイスクリーン
300B  ディスプレイスクリーン
300C  ディスプレイスクリーン
300D  スクリーンディスプレイ
300E  テクスチャアトラス
300E  スクリーンディスプレイ
307  スクリーンポインタ
403  ゲームエンジン
405  テクスチャIDカラム
407  Ad識別子カラム
411  オフラインツール
705  テクスチャAd識別子カラム
710  Adキャンペーン番号カラム
715  Adサイズ/形状カラム
720  Adアスペクト比カラム
【図１】
2014514595.tif 000003
【図２】
2014514595.tif 000004
【図３Ａ】
2014514595.tif 000005
【図３Ｂ】
2014514595.tif 000006
【図３Ｃ】
2014514595.tif 000007
【図３Ｄ】
2014514595.tif 000008
【図４】
2014514595.tif 000009
【図５】
2014514595.tif 000010
【図６】
2014514595.tif 000011
【図７】
2014514595.tif 000012
【図８】
2014514595.tif 000013
【国際調査報告】
2014514595.tif 000014
2014514595.tif 000015