以下、本発明の一実施形態を図面に基づいて説明する。
[1.通信システムの構成及び動作概要]
始めに、図1を参照して、本発明の一実施形態の通信システムSの構成及び動作概要について説明する。図1は、本実施形態の通信システムSの概要構成例を示す図である。図1に示すように、通信システムSは、配信サーバ1、クライアント端末2、広告サーバ3、及び管理者端末4を含んで構成される。クライアント端末2は、本発明の端末装置の一例である。広告サーバ3は、本発明の情報処理装置の一例である。配信サーバ1、クライアント端末2、広告サーバ3、及び管理者端末4は、ネットワークNWに接続される。ネットワークNWは、例えば、インターネット等により構成される。
配信サーバ1は、例えばクライアント端末2からのコンテンツ要求に応じて、コンテンツをクライアント端末2へ送信する。コンテンツには、動画データが含まれる。なお、コンテンツは、音声データを含んでもよい。コンテンツの送信は、例えば、ネットワークNWを介してストリーミング配信により行われる。クライアント端末2は、配信サーバ1からストリーミングで配信されたコンテンツを受信する。クライアント端末2は、受信されたコンテンツに含まれる動画データを再生する。そして、クライアント端末2は、複数の画素から構成される画像フレームであって、複数の画像フレームから構成される動画を表示手段に表示させる。このとき、ユーザは、疑似的なカメラワーク(以下、「疑似カメラワーク」という)の操作を行うことができる。疑似カメラワークにより、二次元平面または三次元仮想空間における仮想カメラの位置または仮想カメラの向きと、画角(視野範囲)とが制御される。これにより、動画の再生中に画像フレームを構成する複数の画素の中で、クライアント端末2の表示手段により表示された1画素以上の画素領域が特定される。ここで、この画素領域を、以下、「表示画素領域」という。表示画素領域は、第2特定画素領域の一例である。また、表示画素領域は、動画を構成する画像フレームにおける表示範囲である。表示画素領域は、1画像フレームのうち表示画面に描画される描画領域に相当する。言い換えれば、表示範囲は、画像フレームから切り出される範囲である。なお、三次元仮想空間は、例えば、コンピュータを用いて表示可能な仮想的な三次元空間を示す。仮想カメラとは、二次元平面または三次元仮想空間における仮想スクリーンに投影される動画に対して仮想的に設定された視点をいう。仮想スクリーンには、平面スクリーン、円筒形のスクリーン、及び球形のスクリーンがある。例えば、動画を撮影したカメラのレンズが魚眼レンズや360度レンズである場合、仮想スクリーンは球形のスクリーンとなる。クライアント端末2は、ユーザの疑似カメラワークの操作により特定された表示画素領域を表示画面に表示させる。
クライアント端末2は、ストリーミングで配信された動画の再生中に疑似カメラワークの操作により表示された表示画素領域と、複数の画像フレームの中で表示画素領域が特定された特定の画像フレームが出力される再生時間とを対応付けて順次取得する。クライアント端末2は、取得した表示画素領域と再生時間とを対応付けて記憶する。ここで、表示画素領域が特定された特定の画像フレームは、第2特定画像フレームの一例である。また、第2特定画像フレームが出力される再生時間を、以下、「第2再生時間」という。第2再生時間は、表示画素領域に対応付けられた再生時間である。なお、再生時間とは、動画の再生開始からの経過時間である。なお、クライアント端末2は、第2再生時間に、表示画素領域の表示倍率を対応付けて取得し記憶してもよい。表示画素領域の表示倍率は、第2表示倍率の一例である。
広告サーバ3は、動画を構成する画像フレームにおける特定の画素領域に広告IDが対応付けられる広告設定データを記憶する。この広告設定データには、動画を構成する複数の画像フレームにおいて複数の画素の中で特定された1画素以上の画素領域と、複数の画像フレームの中で上記画素領域が特定された特定の画像フレームが出力される再生時間と、広告コンテンツの広告IDとが対応付けられて含まれる。広告設定データは、例えば管理者端末4により作成される。この場合、管理者端末4は、配信サーバ1から動画データを取得する。そして、管理者端末4は、取得した動画データを再生し、動画を表示手段に表示させる。このとき、例えば広告の管理者は、画像フレームにおける特定の画素領域に広告IDを対応付ける広告設定操作を行うことができる。これにより、動画を構成する複数の画像フレームにおいて複数の画素の中で、広告IDが対応付けられる1画素以上の画素領域が特定される。ここで、この画素領域を、以下、「広告設定画素領域」という。広告設定画素領域は、第1特定画素領域の一例である。広告設定画素領域が特定された特定の画像フレームは、第1特定画像フレームの一例である。また、第1特定画像フレームが出力される再生時間を、以下、「第1再生時間」という。第1再生時間は、広告設定画素領域に対応付けられた再生時間である。また、広告IDは、広告コンテンツを識別する広告識別情報の一例である。広告IDは、広告コンテンツの所在を示すURL(Uniform Resource Locator)であってもよい。なお、広告設定データには、第1再生時間に、この広告設定画素領域の表示倍率が対応付けられて含まれてもよい。広告設定画素領域の表示倍率は、「第1表示倍率」の一例である。なお、広告設定データは、管理者端末4以外の装置により作成されてもよい。広告サーバ3は、例えばクライアント端末2からのデータ要求に応じて、広告設定データをクライアント端末2へ送信する。
そして、クライアント端末2は、広告サーバ3から送信された広告設定データを取得する。クライアント端末2は、取得した広告設定データの中に、再生中の動画における表示画素領域に対応付けられた第2再生時間に対応する第1再生時間があるかを判定する。表示画素領域に対応付けられた第2再生時間に対応する第1再生時間が広告設定データに含まれる場合、クライアント端末2は、表示画素領域を少なくとも一部含む広告設定画素領域があるかを判定する。そして、クライアント端末2は、表示画素領域を少なくとも一部含む広告設定画素領域があると判定した場合、広告設定画素領域に対応付けられた広告IDに対応する広告コンテンツを、再生中の動画と共に表示手段に表示させる。そのため、動画において真にユーザが興味を持っている表示対象に対して、効果的に広告を表示させることができる。ここで、クライアント端末2は、広告設定画素領域に対応付けられた広告IDに対応する広告コンテンツを、動画の再生前に広告サーバ3から取得するとよい。この場合、クライアント端末2は、広告設定画素領域に対応付けられた広告IDと、取得した広告コンテンツとを対応付けて記憶手段に記憶する。これにより、クライアント端末2は、迅速に広告コンテンツを表示させることができる。
次に、配信サーバ1、クライアント端末2、及び広告サーバ3の構成例について説明する。
配信サーバ1は、図1に示すように、制御部11、記憶部12、及びインターフェース部13等を備えて構成される。これらの構成要素は、バス14に接続されている。制御部11は、CPU、ROM、及びRAM等により構成される。記憶部12は、例えばハードディスクドライブにより構成される。記憶部12には、OS、及びコンテンツ配信処理プログラム等が記憶されている。記憶部12には、クライアント端末2からの要求に応じて、クライアント端末2へ送信されるWebページのデータが記憶される。さらに、記憶部12には、動画データが記憶される。動画データには、動画IDが付与される。動画IDは、動画を識別する識別情報である。記憶部12には、音声データが記憶されてもよい。動画データは、動画を構成する画像フレーム内で、表示手段により表示される表示範囲が、動画の再生時間に応じて変化可能である。動画には、例えば、カメラにより撮影された動画や編集により生成された動画等が含まれる。このような動画の一例として、例えばパノラマ動画がある。パノラマ動画は、例えば高解像度のカメラで、且つ広範囲を撮影可能なレンズを搭載するカメラにより被写体が撮影された動画である。広範囲を撮影可能なレンズには、ワイドレンズ、魚眼レンズ、360度レンズ等がある。
クライアント端末2は、図1に示すように、制御部21、記憶部22、ビデオRAM23、映像制御部24、操作処理部25、音声制御部26、及びインターフェース部27等を備えて構成される。これらの構成要素は、バス28に接続されている。映像制御部24には、ディスプレイを備える表示部24aが接続される。記憶部22は、記憶手段の一例である。表示部24aは、表示手段の一例である。操作処理部25には、操作部25aが接続される。操作部25aには、例えば、マウス、キーボード、リモコン等がある。表示部24aと操作部25aとを兼ねるタッチパネルが適用されてもよい。制御部21は、ユーザによる操作部25aからの操作指示を、操作処理部25を介して受け付ける。ユーザは、操作部25aを用いて、上述した疑似カメラワークの操作を行うことができる。音声制御部26には、スピーカ26aが接続される。インターフェース部27は、ネットワークNWに接続される。制御部21は、コンピュータとしてのCPU、ROM、及びRAM等により構成される。制御部21は、本発明の第1取得手段、再生手段、第2取得手段、第1判定手段、第2判定手段、及び表示制御手段の一例である。制御部21は、タイマー機能を備える。記憶部22は、例えば、ハードディスクドライブ(HDD)により構成される。記憶部22には、OS、及びプレイヤーソフトウェア等が記憶されている。プレイヤーソフトウェアは、コンテンツを再生するためのプログラムである。制御部21は、プレイヤーソフトウェアを実行することでコンテンツを再生するプレイヤーとして機能する。具体的には、制御部21は、プレイヤーの機能により、配信サーバ1からストリーミングで配信されたコンテンツを順次受信し、例えばRAMに設けられたバッファメモリに、コンテンツに含まれる動画データ等を一時的に保持する。そして、制御部21は、バッファメモリからビデオRAM23へ動画データを出力する。ビデオRAM23には、描画データを格納するフレームバッファがRAMに設けられている。映像制御部24は、制御部21からの制御信号に従って、フレームバッファに書き込まれた描画データを表示画面に描画することで動画を表示させる。また、制御部21は、後述するように、広告コンテンツを動画と共に表示させる処理を行う。ここで、「広告コンテンツを動画と共に表示」には、「広告コンテンツを動画に重ね合わせて表示」と、「広告コンテンツを動画に重ね合わせずに同時に表示」とが含まれる。なお、例えば配信サーバ1からバッファメモリに保持されたコンテンツに音声データが含まれる場合がある。この場合、制御部21は、バッファメモリから音声データを再生して音声制御部26へ出力する。音声制御部26は、音声データからアナログ音声信号を生成し、生成したアナログ音声信号をスピーカ26aへ出力する。
広告サーバ3は、図1に示すように、制御部31、記憶部32、及びインターフェース部33等を備えて構成される。これらの構成要素は、バス34に接続されている。制御部31は、CPU、ROM、及びRAM等により構成される。記憶部32は、例えば、例えばハードディスクドライブ(HDD)により構成される。記憶部32には、OS(Operating System)、及び広告送信処理プログラム等が記憶されている。また、記憶部32には、クライアント端末2からの要求に応じて、クライアント端末2へ送信される広告設定データと動画IDとが対応付けられて記憶される。この動画IDは、広告設定データが作成されるときに再生された動画データの動画IDである。また、記憶部32には、広告IDが付与された広告コンテンツが記憶される。広告コンテンツには、例えば静止画データまたは動画データが含まれる。なお、広告コンテンツには、音声データが含まれてもよい。
ここで、図2を参照して、広告設定データの詳細について説明する。図2(A),(C)は、動画を構成する複数の画像フレームにおける広告設定画素領域を示す図である。なお、図2(A),(C)の例では、説明の便宜上、1つの画像フレームを示しているが、実際には、広告設定画素領域のそれぞれに対応する1つ以上の画像フレームがある。図2(A)の例では、破線矢印で示すように、時間経過に従って、広告設定画素領域R1-1からR1-9へ時系列で変化する疑似カメラワークを示す。図2(B)は、図2(A)に示す広告設定画素領域R1-1〜R1-9に対応する広告設定データD1の一例を示す図である。図2(B)に示す広告設定データD1では、広告設定画素領域R1-1〜R1-9と、広告設定画素領域R1-1〜R1-9が特定された1つ以上の画像フレームが出力される再生時間とに、1つの広告ID“0001”を対応付けている。なお、図2(B)の例では、広告設定画素領域R1-1〜R1-9は、それぞれ、各広告設定画素領域の左上頂点座標と、左上頂点座標からX軸方向の画素数(幅)と、左上頂点座標からY軸方向の画素数(高さ)とで表される。左上頂点座標は、画像フレームの左上頂点座標を原点(0,0)とする(X,Y)座標である。このように、図2(B)の例では、広告設定画素領域R1-1からR1-9へ変化していく疑似カメラワークに対して、1つの広告ID“0001”が対応付けられる。例えば、動画に表れるバンドに関する広告コンテンツの広告ID“0001”が対応付けられる。
一方、図2(C)の例では、破線矢印で示すように、時間経過に従って、広告設定画素領域R2-1からR2-8へ時系列で変化する疑似カメラワークを示す。図2(D)は、図2(C)に示す広告設定画素領域R2-1〜R2-8に対応する広告設定データD2の一例を示す図である。図2(D)に示す広告設定データD2では、広告設定画素領域R2-1〜R2-8と、広告設定画素領域R2-1〜R2-8が特定された1つ以上の画像フレームが出力される再生時間とに、1つの広告ID“0002”を対応付けている。このように、図2(D)の例では、広告設定画素領域R2-1からR2-8へ変化していく疑似カメラワークに対して、1つの広告ID“0002”が対応付けられる。例えば、動画に表れるギターに関する広告コンテンツの広告ID“0002”が対応付けられる。さらに、図2(C)の例では、広告設定画素領域R3〜R5を示している。図2(E)は、図2(C)に示す広告設定画素領域R3〜R5のそれぞれに対応する広告設定データD3〜D5の一例を示す図である。例えば、図2(E)に示す広告設定データD3では、広告設定画素領域R3と、広告設定画素領域R3が特定された1つ以上の画像フレームが出力される再生時間とに、1つの広告ID“0003”を対応付けている。つまり、広告設定データD3〜D5は、それぞれ、広告設定データD1及びD2とは異なり、複数の画像フレームにおいて広告設定画素領域に変更がない時間範囲ごとに作成されたデータである。また、図2(E)の例では、広告設定画素領域R3〜R5は、それぞれ、広告設定画素領域R3〜R5の中心座標及び表示倍率で表される。中心座標は、画像フレームの左上頂点座標を原点(0,0)とする(X,Y)座標である。
[2.通信システムSにおけるクライアント端末2の動作]
次に、図3及び図4を参照して、クライアント端末2の動作について説明する。図3は、クライアント端末2の制御部21またはCPUにより実行されるメイン処理の一例を示すフローチャートである。図4(A),(B)は、クライアント端末2の制御部21またはCPUにより実行される広告検索処理の一例を示すフローチャートである。なお、図4(A)に示す処理と、図4(B)に示す処理とは、別の実施形態である。図3に示す処理が実行されるときに、例えば設定に応じて、図4(A)に示す処理と図4(B)に示す処理との何れか一方の処理が実行される。図3に示す処理は、例えば、ユーザから処理開始指示があった場合に開始される。
図3に示す処理が開始されると、クライアント端末2の制御部21は、広告コンテンツの取得処理を行う(ステップS1)。広告コンテンツの広告取得処理では、制御部21は、広告サーバ3へ広告設定データの要求を送信する。制御部21は、広告設定データの要求に応じて、広告サーバ3から送信された広告設定データと動画IDと対応付けて受信し、広告設定データと動画IDとを対応付けてRAMに記憶する。次いで、制御部21は、広告設定データに含まれる広告IDを取得する。次いで、制御部21は、取得した広告IDに対応する広告コンテンツを広告サーバ3から取得する。次いで、制御部21は、取得した広告IDと広告コンテンツとを対応付けて記憶部22に記憶する。なお、広告設定データに含まれる広告IDが、広告コンテンツの所在を示すURLである場合がある。この場合、制御部21は、広告設定データに含まれるURLにアクセスして所定のサーバから広告コンテンツを取得し、取得した広告コンテンツを広告IDに対応付けて記憶部22に記憶する。
次いで、制御部21は、コンテンツの再生処理を開始する(ステップS2)。コンテンツの再生処理では、制御部21は、配信サーバ1へコンテンツの要求を送信する。制御部21は、コンテンツの要求に応じて、配信サーバ1からストリーミングで配信されたコンテンツを受信する。次いで、制御部21は、受信されたコンテンツに含まれる動画データ等をバッファメモリに記憶する。次いで、制御部21は、バッファメモリに記憶された動画データを再生し、表示画面に動画を表示させる。コンテンツの再生処理は、図3に示す処理の終了まで継続する。
次いで、制御部21は、ストリーミングで配信された動画の再生中に疑似カメラワークの操作により表示された表示画素領域と、この表示画素領域が特定された特定の画像フレームが出力される第2再生時間と、この表示画素領域の表示倍率とを対応付けて取得し、RAMに記憶する(ステップS3)。ここで、上述した仮想スクリーンが平面スクリーンの場合、表示画素領域は、例えば、表示画素領域の左上頂点座標と、左上頂点座標からX軸方向の画素数(幅)と、左上頂点座標からY軸方向の画素数(高さ)とで表される。仮想スクリーンが平面スクリーンの場合、表示画素領域は、図2(E)に示す広告設定画素領域と同様、表示画素領域の中心座標及び表示倍率で表されてもよい。或いは、上述した仮想スクリーンが円筒形のスクリーンの場合、表示画素領域は、例えば、方位角、横視野角、及び高さで表される。或いは、上述した仮想スクリーンが球形のスクリーンの場合、表示画素領域は、例えば、方位角、仰俯角、横視野角、及び縦視野角で表される。或いは、表示画素領域は、仮想スクリーンの種類に依らず、例えば、パン,チルトパラメータ(pan,tilt)、及びズームパラメータ(zoom)で表されてもよい。パン,チルトパラメータ(pan,tilt)は、仮想カメラの左右振りを規定するパンに対応するパラメータと、仮想カメラの上下振りを規定するチルトに対応するパラメータとから構成される。ズームパラメータ(zoom)は、表示倍率を規定するパラメータである。
なお、疑似カメラワークの具体的な操作として、例えば、ドラッグ操作、及びフリック操作がある。ドラッグ操作では、例えば、ユーザが表示画面をマウスによりドラッグすることで表示画素領域を移動させることができる。また、フリック操作では、例えば、ユーザがタッチパネル方式の表示画面上で指やペン等の接触物を素早くスライドすることで表示画素領域を移動させることができる。また、疑似カメラワークの具体的な操作として、例えば、ユーザが操作部25aに設けられたボタンや画面上に表示されたボタン等を押すことにより、表示画素領域を拡大したり縮小させたりする操作がある。この操作の場合、表示画素領域の単位時間あたり変動量が大きくなりながら表示画素領域が拡大又は縮小する変動が行われ、その後、単位時間あたり変動量が一定となって、表示画素領域が変動する。ユーザがボタンを押すことをやめる操作を行わない限り、表示画素領域が変動し、表示画素領域の大きさが最大又は最少となった時点で、変動は停止する。仮想スクリーンが平面スクリーンである場合、表示画素領域の拡大・縮小は、表示画素領域の幅及び高さの変動である。仮想スクリーンが円筒形のスクリーンである場合、表示画素領域の拡大・縮小は、横視野角及び高さの変動である。仮想スクリーンが球形のスクリーンである場合、表示画素領域の拡大・縮小は、横視野角及び縦視野角の変動である。なお、上述した操作は、あくまでも例示に過ぎず、その他の操作により疑似カメラワークが行われてもよい。
次いで、制御部21は、広告検索条件を満たしたか否かを判定する(ステップS4)。例えば、制御部21は、疑似カメラワークの操作により表示画素領域を変更する指定が所定時間なかった場合に、広告検索条件を満たしたと判定する。より具体的には、制御部21は、表示画素領域を変更する指定がない状態の継続時間をタイマー機能によりカウントする。そして、制御部21は、カウントされたカウント値が所定時間に到達したときに広告検索条件を満たしたと判定する。これにより、ユーザが所定時間、表示画素領域内の表示対象に注目しているときだけ、広告検索処理が実行される。そして、広告検索条件を満たしていないと判定された場合(ステップS4:NO)、ステップS5へ進む。一方、広告検索条件を満たしたと判定された場合(ステップS4:YES)、ステップS7へ進む。
ステップS5では、制御部21は、ユーザから操作部25aを介して所定の操作があったか否かを判定する。例えば、制御部21は、ユーザが表示画面内を指等でタップまたはマウスでクリックした場合、所定の操作があったと判定する。これにより、ユーザから所定の操作があったときだけ、広告検索処理が実行される。そして、所定の操作があったと判定された場合(ステップS5:YES)、ステップS6へ進む。ステップS6では、制御部21は、所定の操作により指定された座標を記憶し、ステップS7へ進む。この座標は、例えば動画を構成する画像フレームの左上頂点座標を原点(0,0)とする(X,Y)座標である。一方、所定の操作がないと判定された場合(ステップS5:NO)、ステップS11へ進む。
なお、ステップS3で記憶された表示画素領域を表す形式が、広告設定データに含まれる広告設定画素領域を表す形式と同一でない場合がある。この場合、制御部21は、記憶された表示画素領域を表す形式を、広告設定データに含まれる広告設定画素領域を表す形式に変換する。例えば、広告設定画素領域が、広告設定画素領域の左上頂点座標、広告設定画素領域の幅、及び広告設定画素領域の高さで表される一方、表示画素領域が、パン,チルトパラメータ(pan,tilt)、及びズームパラメータ(zoom)で表される場合がある。この場合、制御部21は、所定の変換式により、パン,チルトパラメータ(pan,tilt)、及びズームパラメータ(zoom)の形式を、表示画素領域の左上頂点座標、表示画素領域の幅、及び表示画素領域の高さの形式に変換する。なお、例えば、広告設定画素領域が、広告設定画素領域の左上頂点座標、広告設定画素領域の幅、及び広告設定画素領域の高さで表される一方、表示画素領域が、表示画素領域の中心座標で表される場合がある。この場合、制御部21は、記憶された表示画素領域を表す形式を、広告設定データに含まれる広告設定画素領域を表す形式に変換しなくてもよい。
ステップS7では、制御部21は、広告検索処理を実行する。例えば、図4(A)に示す広告検索処理では、先ず、制御部21は、例えば、ステップS1で記憶された広告設定データの中から、再生された動画データの動画IDが対応付けられた広告設定データをRAMに読み込む。次いで、制御部21は、読み込んだ広告設定データ中に、再生中の動画における表示画素領域に対応付けられた第2再生時間(つまり、ステップS3で記憶された第2再生時間)に対応する第1再生時間があるかを判定する(ステップS711)。ここで、第2再生時間に対応する第1再生時間には、例えば、第2再生時間と一致する第1再生時間、または第2再生時間が含まれる第1再生時間が該当する。例えば、図2(B)に示す広告設定データD1が用いられる場合において、表示画素領域に対応付けられた第2再生時間が“0:05”であるとする。この場合、第2再生時間は、広告設定データD1における第1再生時間“0:00”〜“0:20” に含まれると判定される。なお、この場合、第1再生時間は、“0:00”〜“0:20”の範囲を示しているが、例えば“0:05”のみを示す場合もある。第2再生時間に対応する第1再生時間があると判定された場合(ステップS711:YES)、ステップS712へ進む。一方、第2再生時間に対応する第1再生時間がないと判定された場合(ステップS711:NO)、ステップS717へ進む。
ステップS712では、制御部21は、広告設定データから、ステップS711で判定された第2再生時間に対応する第1再生時間が対応付けられた広告設定画素領域を特定する。次いで、制御部21は、ステップS712で特定された広告設定画素領域の中で、ステップS711で判定された第2再生時間に対応付けられた表示画素領域を少なくとも一部含む広告設定画素領域があるかを判定する(ステップS713)。例えば、制御部21は、表示画素領域内の全座標と、広告設定画素領域内の全座標との中で、少なくとも一部の座標が一致しているか判定する。そして、制御部21は、表示画素領域内の全座標と、広告設定画素領域内の全座標との中で、少なくとも一部の座標が一致している場合、表示画素領域を少なくとも一部含む広告設定画素領域があると判定する。また、別の例として、図2(E)に示す広告設定データD3のように、広告設定画素領域が中心座標で表される場合がある。この場合、制御部21は、例えば左上頂点座標、幅及び高さで画定される表示画素領域内に、広告設定画素領域の中心座標が含まれるかを判定する。そして、制御部21は、表示画素領域内に、広告設定画素領域の中心座標が含まれる場合、表示画素領域を少なくとも一部含む広告設定画素領域があると判定する。また、別の例として、表示画素領域と広告設定画素領域とが共に中心座標で表される場合がある。この場合、制御部21は、表示画素領域の中心座標と広告設定画素領域の中心座標との間の距離(画素数)が、所定値以下であるかを判定する。そして、制御部21は、表示画素領域の中心座標と広告設定画素領域の中心座標との間の距離が所定値以下である場合、表示画素領域を少なくとも一部含む広告設定画素領域があると判定する。表示画素領域を少なくとも一部含む広告設定画素領域があると判定された場合(ステップS713:YES)、ステップS714へ進む。一方、表示画素領域を少なくとも一部含む広告設定画素領域がないと判定された場合(ステップS713:NO)、ステップS717へ進む。
ステップS714では、制御部21は、ステップS713で、表示画素領域を少なくとも一部含むと判定された広告設定画素領域を特定する。次いで、制御部21は、上記第2再生時間に対応付けられた表示画素領域の表示倍率が、ステップS714で特定された広告設定画素領域の表示倍率以上であるか否かを判定する(ステップS715)。表示画素領域の表示倍率が広告設定画素領域の表示倍率以上であると判定された場合(ステップS715:YES)、ステップS716へ進む。一方、表示画素領域の表示倍率が広告設定画素領域の表示倍率以上でないと判定された場合(ステップS715:NO)、ステップS717へ進む。ステップS716では、制御部21は、表示画素領域の表示倍率より小さい表示倍率の広告設定画素領域に対応付けられた広告IDを決定し、メイン処理へ戻る。ステップS715において、表示画素領域の表示倍率が広告設定画素領域の表示倍率以上である場合、例えば、ユーザより広告設定画素領域内のある部分の領域がズームされて表示されていることになる。そのため、ユーザは、この広告設定画素領域内のある部分に真に興味を持っているということができる。したがって、ステップS715の条件を満たす広告設定画素領域に広告IDが対応付けられた広告コンテンツを表示させることで、真にユーザが興味を持っている表示対象に対して、より効果的に広告を表示させることが可能となる。ただし、表示画素領域を少なくとも一部含む広告設定画素領域があると判定された場合(ステップS713:YES)、ステップS716へ進んでもよい。この場合、制御部21は、ステップS714で特定された広告設定画素領域に対応付けられた広告IDを決定することになる。なお、ステップS717では、制御部21は、該当する広告IDが無として決定し、メイン処理へ戻る。
一方、図4(B)に示す広告検索処理は、図2(A)または図2(C)に示すように複数の広告設定画素領域が時系列で変化する疑似カメラワークに対して広告IDが対応付けられる場合の処理である。なお、図4(B)に示す広告検索処理に示すステップS721〜S724の処理は、図4(A)に示す広告検索処理に示すステップS711〜S714の処理と同様である。ステップS725では、制御部21は、広告設定データにおける複数の広告設定画素領域の中で、ステップS724で特定された広告設定画素領域の割合が、所定割合以上であるか否かを判定する。例えば、図2(D)に示す広告設定データD2に含まれる広告設定画素領域R2-1〜R2-8の中で、例えば75%以上(つまり、6つ以上)の広告設定画素領域がステップS724で特定されていた場合、制御部21は、広告設定画素領域の割合が所定割合以上であると判定する。この場合(ステップS725:YES)、制御部21は、所定割合以上の数の広告設定画素領域に対応付けられた広告IDを決定し(ステップS726)、メイン処理へ戻る。一方、広告設定画素領域の割合が所定割合以上でないと判定された場合(ステップS725:NO)、制御部21は、該当する広告IDが無として決定し(ステップS727)、メイン処理へ戻る。
なお、図4(B)に示す広告検索処理においても、制御部21は、記憶された表示画素領域の表示倍率が、ステップS724で特定された広告設定画素領域の表示倍率以上であるか否かを判定するように構成してもよい。この場合、制御部21は、広告設定データにおける複数の広告設定画素領域の中で、表示画素領域の表示倍率より小さい表示倍率の広告設定画素領域の割合が、所定割合以上であるか否かを判定する。そして、制御部21は、所定割合以上の数の広告設定画素領域に対応付けられた広告IDを決定し(ステップS726)、メイン処理へ戻る。
次いで、制御部21は、広告検索処理で広告IDが決定されたか否かを判定する(ステップS8)。そして、広告IDが決定されたと判定された場合(ステップS8:YES)、ステップS9へ進む。一方、広告IDが決定されないと判定された場合(ステップS8:NO)、ステップS11へ進む。
ステップS9では、制御部21は、所定の広告表示条件を満たしたか否かを判定する。例えば、ステップS6で座標が記憶された場合がある。この場合、制御部21は、所定の広告表示条件として、記憶された座標から所定範囲内に、決定された広告IDに対応付けられた広告設定画素領域内の所定座標(例えば、中心座標)が含まれるか否かを判定する。そして、記憶された座標から所定範囲内に広告設定画素領域内の所定座標が含まれると判定された場合、制御部21は、所定の広告表示条件を満たしたと判定し(ステップS9:YES)、ステップS10へ進む。これにより、ユーザが興味を持ちタップした表示対象に対して、より効果的に広告を表示させることが可能となる。或いは、制御部21は、所定の広告表示条件として、例えば、決定された広告IDに対応付けられた広告設定画素領域により表示画素領域の少なくとも一部を含んでいる時間が、所定時間(例えば、10秒)以上であるか否かを判定する。そして、広告設定画素領域により表示画素領域の少なくとも一部を含んでいる時間が、所定時間以上であると判定された場合、制御部21は、所定の広告表示条件を満たしたと判定し(ステップS9:YES)、ステップS10へ進む。なお、所定の広告表示条件を満たさないと判定された場合(ステップS9:NO)、ステップS11へ進む。
ステップS10では、制御部21は、決定された広告IDと対応付けられて記憶部22に記憶された広告コンテンツを、例えば、表示画面に表示されている動画に重ね合わせて表示させる。これにより、同じ動画内であっても、実際にユーザが見ている位置や時間によって広告コンテンツが切り替えられるため、ユーザが真に興味を持ったものの広告を表示させることが可能になる。なお、制御部21は、広告コンテンツを、動画に重ね合わせずに、動画と同時に表示させてもよい。この場合、広告コンテンツは、例えば、動画が表示されている表示画面上の領域と異なる領域に表示される。ステップS11では、制御部21は、再生中の動画が再生終了に到達したか否かを判定する。動画が再生終了に到達していないと判定された場合(ステップS11:NO)、ステップS3に戻る。一方、動画が再生終了に到達したと判定された場合(ステップS11:YES)、図3に示す処理が終了する。
以上説明したように、上記実施形態によれば、クライアント端末2は、少なくとも、動画を構成する複数の画像フレームにおいて複数の画素の中で特定された広告設定画素領域と、広告設定画素領域が特定された特定の画像フレームが出力される第1再生時間と、広告コンテンツの広告IDとを対応付けて広告サーバ3から取得する。また、クライアント端末2は、少なくとも、クライアント端末2において動画の再生中に表示された表示画素領域と、表示画素領域が特定された特定の画像フレームが出力される第2再生時間とを対応付けて取得する。そして、クライアント端末2は、再生中の動画における表示画素領域に対応付けられた第2再生時間に対応する第1再生時間があるかを判定する。クライアント端末2は、第2再生時間に対応する第1再生時間があると判定した場合、表示画素領域を少なくとも一部含む広告設定画素領域があるかを判定する。そして、クライアント端末2は、表示画素領域を少なくとも一部含む広告設定画素領域があると判定した場合、広告設定画素領域に対応付けられた広告IDに対応する広告コンテンツを表示画面に表示させる。そのため、クライアント端末2のユーザが真に興味を持っている表示対象に対して、効果的に広告を表示させることができる。また、クライアント端末2が、表示画素領域を少なくとも一部含む広告設定画素領域があるかの判定を行うように構成した。そのため、広告サーバ3がこの判定を行う場合と比べて、広告サーバ3の処理負荷を低減することができる。