以下、本発明の一実施の形態を図面を参照しつつ説明する。
図1を用いて、本実施形態の楽曲再生システムの全体構成を説明する。
図1において、楽曲再生システム1は、カラオケ店舗等のカラオケルームKRにそれぞれに設置された、カラオケ装置100及びリモコン200と、ホストサーバ300と、広告配信サーバ400とを有している。
なお、カラオケ装置100とリモコン200とは、例えば無線又は有線のLocal Area Network(LAN)等のネットワークNW1を介し、互いに情報送受信可能に接続されている。また、カラオケ装置100やリモコン200と、ホストサーバ300と、広告配信サーバ400とは、上記ネットワークNW1と、例えば通信ネットワーク等のネットワークNW2とを介し、互いに情報送受信可能に接続されている。
カラオケ装置100は、演奏曲データを用いて演奏曲の再生サービスを提供する楽曲再生装置である。このカラオケ装置100は、制御部101と、再生手段としての再生部102と、表示部103と、音声出力部104と、操作部105と、通信制御部106と、大容量記憶装置107と備えている。
制御部101は、図示しないCPU及びRAM、ROM等のメモリを備えている。この制御部101は、RAMの一時記憶機能を利用しつつ、ROMや大容量記憶装置107に予め記憶された各種プログラムを実行する。これにより、カラオケ装置100全体の制御を行う。
大容量記憶装置107は、例えばHard Disk Drive(HDD)などから構成される。この大容量記憶装置107には、複数の演奏曲データ、及び、予め広告配信サーバ400より出力された複数の広告情報等の各種情報が記憶されている。演奏曲データには、楽曲データとしてのMusical Instrument Digital Interface(MIDI;登録商標)データ、及び、映像データ等が含まれている。広告情報は、特定の商品等を広告するための動画情報や静止画情報等である。
また、この大容量記憶装置107の図示しないテーブル記憶エリアには、ログインテーブル1071(後述の図2参照)、及び、歌唱履歴テーブル1072(後述の図3参照)が記憶されている。なお、これらログインテーブル1071及び歌唱履歴テーブル1072は、それぞれ、カラオケ装置100ごとに別個に設けられており、カラオケ装置100ごとに備えられた大容量記憶装置107のテーブル記憶エリアに記憶されている。
再生部102は、上記大容量記憶装置107に記憶された演奏曲データを用いて、複数の演奏曲を順次再生する。またこれと共に、再生部102は、上記大容量記憶装置107に記憶された広告情報を再生する。
表示部103は、例えば液晶ディスプレイなどから構成される。この表示部103は、上記再生部102によって再生された演奏曲や広告情報に係わる動画や静止画の映像を表示する。
音声出力部104は、例えばアンプやスピーカなどから構成される。この音声出力部104は、上記再生部102によって再生された演奏曲や広告情報に係わる音声、及び、図示しないマイクにより入力された当該カラオケ装置100による演奏曲の再生サービスを利用するユーザの歌唱音声等を出力する。
操作部105は、複数のキーやスイッチなどから構成される。ユーザは、この操作部105を用いて、演奏曲に関する選曲操作等の各種操作を行うことができる。演奏曲に関する選曲操作とは、再生部102により再生させる演奏曲、すなわち歌唱する演奏曲を選択(予約)する操作である。
通信制御部106は、リモコン200、ホストサーバ300、広告配信サーバ400との間で、上記ネットワークNW1,NW2を介し行われる情報通信の制御を行う。
リモコン200は、ユーザが上記選曲操作や後述のログイン操作等の各種操作を行うための操作端末である。このリモコン200は、制御部201と、表示部203と、操作部205と、通信制御部206と、記憶装置207とを備えている。
制御部201は、図示しないCPU及びRAM、ROM等のメモリを備えている。この制御部201は、RAMの一時記憶機能を利用しつつ、ROMや記憶装置207に予め記憶された各種プログラムを実行する。これにより、リモコン200全体の制御を行う。
表示部203は、例えば液晶ディスプレイなどから構成され、各種表示を行う。
操作部205は、複数のキーやスイッチなどから構成される。ユーザは、この操作部205を用いて、上記選曲操作やログイン操作等の各種操作を行うことができる。ログイン操作とは、ホストサーバ300に対して所定のユーザ認証処理の要求を行う操作である。このログイン操作では、各ユーザごとに定められた認証用の識別情報やパスワード等の入力が行われる。ユーザによるログイン操作に基づきホストサーバ300により当該ユーザが認証されると、表示部203における当該ユーザ固有の閲覧画面、すなわちいわゆるマイページへアクセス可能となる。
通信制御部206は、カラオケ装置100、ホストサーバ300、広告配信サーバ400との間で、上記ネットワークNW1,NW2を介し行われる情報通信の制御を行う。
記憶装置207は、例えば不揮発性メモリなどから構成され、各種情報を記憶する。
ホストサーバ300は、制御部301と、通信制御部306と、大容量記憶装置307とを備えている。
制御部301は、図示しないCPU及びRAM、ROM等のメモリを備えている。この制御部301は、RAMの一時記憶機能を利用しつつ、ROMや大容量記憶装置307に予め記憶された各種プログラムを実行する。これにより、ホストサーバ300全体の制御を行う。
通信制御部306は、カラオケ装置100、リモコン200、広告配信サーバ400との間で、上記ネットワークNW2,NW1を介し行われる情報通信の制御を行う。
大容量記憶装置307は、例えばHDDなどから構成される。この大容量記憶装置307の図示しないデータベース記憶エリアには、会員データベース(図示せず)、歌唱履歴データベース3071(後述の図4参照)、ユーザユニット分類データベース3073(後述の図5参照)、ユニット別相関値データベース3074(後述の図6参照)、及び、ユニット別広告データベース3075(後述の図7参照)が記憶されている。なお、この大容量記憶装置307は、各請求項記載の、第1記憶手段及び第2記憶手段に相当する。
会員データベースには、カラオケ装置100による演奏曲の再生サービスに係わる会員として登録されたユーザの会員情報が記憶されている。ユーザの会員情報には、当該ユーザのユーザ識別情報であるユーザID、性別、生年月日等が含まれている。
広告配信サーバ400は、複数の広告情報を格納した広告データベース(図示せず)を備えている。この広告配信サーバ400は、上記広告データベースに格納された複数の広告情報を、上記ネットワークNW2,NW1を介しカラオケ装置100等へ出力する。
図2に、上記ログインテーブル1071の記憶内容の一例を示す。
図2に示すように、ログインテーブル1071には、リモコン200の操作部205を介した上記ログイン操作に基づき上記マイページにアクセス可能となったユーザの、言い換えればログイン操作に応じたログイン状態にあるユーザの、ユーザIDが記憶されている。本実施形態では、ユーザがログイン操作を行ってログイン状態となると、当該ユーザのユーザIDがログインテーブル1071に格納されるようになっている。また、ログイン状態にあるユーザがリモコン200の操作部205を介した所定のログアウト操作を行って上記マイページからログアウトすると、当該ユーザのユーザIDがログインテーブル1071からクリアされるようになっている。
図3に、上記歌唱履歴テーブル1072の記憶内容の一例を示す。
図3に示すように、歌唱履歴テーブル1072には、例えば同じ時間帯に同じカラオケ装置100による演奏曲の再生サービスを受けている(同じ時間帯に同じカラオケルームKR内に存在している)、すなわち一緒に来場した、上記ログイン状態にあるユーザによる上記選曲操作に対応した、当該ユーザの歌唱履歴情報が記憶されている。
ユーザの歌唱履歴情報には、上記選曲操作を行ったユーザのユーザIDと、選曲された演奏曲の曲識別情報である曲IDと、選曲された演奏曲の歌手識別情報である歌手IDと、選曲された演奏曲が歌唱された時刻情報である歌唱日時と、が含まれている。なお、ユーザの歌唱履歴情報としては、上記に限られず、例えば選曲された演奏曲の曲ジャンル識別情報であるジャンルID等、上記以外の情報を含めるようにしてもよい。
歌唱履歴テーブル1072に格納された歌唱履歴情報は、例えば、一緒に来場した全ユーザが再生サービスの利用を終了した場合に、上記ネットワークNW1,NW2を介しホストサーバ300に出力され、ホストサーバ300の大容量記憶装置307に記憶された歌唱履歴データベース3071に格納されるようになっている。
図4に、上記歌唱履歴データベース3071の記憶内容の一例を示す。
図4に示すように、歌唱履歴データベース3071には、複数のカラオケ装置100から出力され集計された、複数のユーザの歌唱履歴情報が記憶されている。ユーザの歌唱履歴情報には、上述したように、選曲操作を行ったユーザのユーザIDと、選曲された演奏曲の曲IDと、選曲された演奏曲の歌手IDと、選曲された演奏曲が歌唱された歌唱日時と、が含まれている。
図5に、上記ユーザユニット分類データベース3073の記憶内容の一例を示す。
図5に示すように、ユーザユニット分類データベース3073には、複数のユーザのユーザIDと、互いに嗜好の異なる複数のユニットのユニット識別情報であるユニットIDとが対応付けられたユーザユニット分類情報が記憶されている。
各ユーザに対応するユニットIDは、当該各ユーザの嗜好のユニット分類を表している。特にこのユーザユニット分類情報において各ユーザのユーザIDに対し対応付けられたユニットIDは、当該各ユーザの嗜好に対応したユニット(各請求項記載の第1ユニットに相当。以下適宜、「第1ユニット」と称する)を表すユニットID(各請求項記載の第1ユニット識別情報に相当。以下適宜、「第1ユニットID」と称する)である。
ここで、一般に、消費者であるユーザの消費行動は、自らの年代や好み等の嗜好が反映している場合が多い。例えばユーザが購入した商品の内容、すなわち商品の名称や種類等と、当該ユーザの嗜好とは、密接な関係にある。上記商品には、カラオケにおける演奏曲データも含まれている。したがって、ユーザが演奏曲データを用いた演奏曲の再生サービスを受ける場合も同様であり、ユーザの上記選曲操作の内容と当該ユーザの嗜好とは、密接な関係にある。
本実施形態では、上記のような対応関係に基づき、ユーザユニット分類データベース3073に記憶される、複数のユーザIDと複数のユニットIDとが対応付けられたユーザユニット分類情報は、上記歌唱履歴データベース3071に記憶された複数のユーザの選曲操作に対応した当該複数のユーザの歌唱履歴情報に基づいて生成される。本実施形態では、ホストサーバ300の制御部301は、適宜の間隔で、例えば1回/月の間隔で、ユーザユニット分類情報の生成に関する処理を実行する。これにより、ユーザユニット分類データベース3073に記憶される、ユーザユニット分類情報の生成(更新)を行う。このユーザユニット分類情報の生成に関する処理では、制御部301は、上記歌唱履歴データベース3071に記憶された複数のユーザの歌唱履歴情報に基づき、複数のユニットIDの中から、各ユーザのユーザIDに対応付けるユニットIDをそれぞれ決定する。そして、ユーザユニット分類データベース3073にアクセスし、上記決定結果に基づくユーザユニット分類情報を記憶させる。
なお、この例では、複数のユーザの歌唱履歴情報に基づいて、当該複数のユーザのユーザIDに対応付けるユニットIDをそれぞれ決定し、その決定結果に基づくユーザユニット分類情報をユーザユニット分類データベース3073に記憶させているが、これに限られない。例えばElectronic Commerce(EC;電子商取引)における複数のユーザの購入履歴情報に基づいて、当該複数のユーザのユーザIDに対応付けるユニットIDをそれぞれ決定し、その決定結果に基づくユーザユニット分類情報をユーザユニット分類データベース3073に記憶させるようにしてもよい。
図6に、上記ユニット別相関値データベース3074の記憶内容の一例を示す。
図6に示すように、ユニット別相関値データベース3074には、予め、想定される2つのユニットIDで表される2つのユニットの組み合わせに応じてホストサーバ300の制御部301によって算出された、相関値が記憶されている。
相関値は、2つのユニットIDで表される2つのユニットそれぞれに対応した嗜好の接点の有無、すなわち当該2つのユニット間の類似相関の程度を表している。したがって、2つのユニットそれぞれに対応した嗜好が同一の場合、すなわち2つのユニットが同一の場合に、対応する相関値が最大値である「1」となる。そして、2つのユニットそれぞれに対応した嗜好の接点が多いほど、すなわち2つのユニット間の類似相関が強いほど、対応する相関値が大きくなり(相関値が「1」に近くなり)、逆に、2つのユニットそれぞれに対応した嗜好の接点が少ないほど、すなわち2つのユニット間の類似相関が弱いほど、対応する相関値が小さくなる(相関値が「0」に近くなる)。なお、この相関値の算出に関する処理の詳細については、後述する。
図6に示す例では、例えば、ユニットID「1」で表されるユニットに対する、ユニットID「1」で表されるユニットの相関値は「1」、ユニットID「2」で表されるユニットの相関値は「0.820342」、ユニットID「3」で表されるユニットの相関値は「0.841667」、ユニットID「4」で表されるユニットの相関値は「0.786672」、・・・として算出され記憶されている。以下、説明を省略するが、上記以外の組み合わせについても、それぞれ同様に、対応する相関値が算出され記憶されている。
図7に、上記ユニット別広告データベース3075の記憶内容の一例を示す。
図7に示すように、ユニット別広告データベース3075には、複数のユニットのユニットIDと、複数の広告情報の広告識別情報である広告IDとが対応付けられた広告分類情報が記憶されている。この広告分類情報においては、各ユニットのユニットIDに対して、当該ユニットに属するユーザに対し好適な広告情報(例えば当該ユーザの嗜好に対応した広告情報)として予め定められた広告情報の広告IDがそれぞれ対応付けられている。
上記構成の本実施形態の特徴は、複数のユーザそれぞれに対応する複数の第1ユニットIDを取得すること、その取得された複数の第1ユニットIDで表される複数の第1ユニットそれぞれに対し、所定の類似相関を備えたユニット(各請求項記載の第2ユニットに相当。以下適宜、「第2ユニット」と称する)を表すユニットID(各請求項記載の第2ユニット識別情報に相当。以下適宜、「第2ユニットID」と称する)を、各第1ユニットごとに決定すること、上記取得された複数の第1ユニットIDと、各第1ユニットごとにそれぞれ決定された複数の第2ユニットIDとに基づき、広告対象とする広告情報を決定すること、及び、その決定された広告対象とする広告情報を大容量記憶装置307から読み出すこと、にある。
すなわち、一般に、ユーザは、自分の嗜好に直結した広告でなくても、自分の嗜好に比較的近い嗜好の広告に対しては多少興味を惹かれたり、あるいは、そのような広告に対応する商品も受け入れたりする場合があり得る。そこで、本実施形態においては、これに対応して、各ユーザの嗜好に対応した第1ユニットに係わる第1ユニットIDを取得した後、各第1ユニットごとに、当該各ユーザの嗜好に比較的近い嗜好に対応した、すなわち所定の類似相関を備えた第2ユニットを特定し、当該第2ユニットを表す第2ユニットIDを決定する。そして、各ユーザそれぞれに対応する各第1ユニットIDと、上記決定された各第2ユニットIDとに基づく形で、広告対象とする広告情報を決定し、当該広告対象の広告情報を大容量記憶装置307から読み出す。このようにすることで、各ユーザそれぞれの嗜好に直結した広告情報に加え、各ユーザの嗜好に比較的近い嗜好の広告情報を、各ユーザに提供することができるのである。以下、これらの詳細を説明する。
図8を用いて、ホストサーバ300の制御部301が実行する、相関値の算出に関する制御手順を説明する。
図8において、この処理は、例えばホストサーバ300の使用者等が適宜の操作を実行することによって開始される。
まずステップSS10で、制御部301は、複数のユニットIDのいずれかに対応する変数Aの値を1に設定する。例えば、A=1がユニットID「1」、A=2がユニットID「2」、A=3がユニットID「3」、・・・に対応している。
その後、ステップSS20で、制御部301は、例えば大容量記憶装置307のデータベース記憶エリアに記憶された、複数のユニットのユニットIDと当該ユニットに対応した嗜好を代表する代表ベクトルとが対応付けられて記憶されたユニット別代表ベクトルデータベース(図示せず)にアクセスする。そして、この時点での変数Aの値に対応するユニットIDに対応付けられた代表ベクトルを取得する。そして、その取得した代表ベクトルの値をxとする。
そして、ステップSS30に移り、制御部301は、複数のユニットIDのいずれかに対応する変数Bの値を1に設定する。例えば、B=1がユニットID「1」、B=2がユニットID「2」、B=3がユニットID「3」、・・・に対応している。
その後、ステップSS40で、制御部301は、上記ユニット別代表ベクトルデータベースにアクセスし、この時点での変数Bの値に対応するユニットIDに対応付けられた代表ベクトルを取得する。そして、その取得した代表ベクトルの値をyとする。
そして、ステップSS50に移り、制御部301は、公知の適宜の手法により、上記xと上記yとの相関(類似性の度合い)を表す指標である相関係数を、この時点での変数Aの値に対応するユニットIDで表されるユニットに対する、この時点での変数Bの値に対応するユニットIDで表されるユニットの相関値として算出する。すなわち、上記ステップSS50の手順が、各請求項記載の相関算出手段として機能する。具体的には、相関係数をcとすると、上記2組のデータ列(x,y)={(x
i,y
i)}(i=1,2,・・・,n)が与えられた場合においては、
で表される関係が成り立つので、この式を用いることで、相関係数cを算出することができる。
その後、ステップSS60で、制御部301は、大容量記憶装置307に記憶された上記ユニット別相関値データベース3074(図6参照)にアクセスし、上記ステップSS50で算出された相関係数cの値、すなわちこの時点での変数Aの値に対応するユニットIDで表されるユニットに対する、この時点での変数Bの値に対応するユニットIDで表されるユニットの相関値を格納する。
そして、ステップSS70に移り、制御部301は、変数Bの値がユニットIDの数Bmaxと等しくなったかどうかを判定する。B<Bmaxである場合には、ステップSS70の判定が満たされず、ステップSS80に移る。ステップSS80では、制御部301は、変数Bの値に1を加える。その後、上記ステップSS40に戻り同様の手順を繰り返す。一方、B=Bmaxとなっていた場合には、ステップSS70の判定が満たされて、ステップSS90に移る。
ステップSS90では、制御部301は、変数Aの値がユニットIDの数Amaxと等しくなったかどうかを判定する。なお、Amax=Bmaxである。A<Amaxである場合には、ステップSS90の判定が満たされず、ステップSS100に移る。ステップSS100では、制御部301は、変数Aの値に1を加える。その後、上記ステップSS20に戻り同様の手順を繰り返す。一方、A=Amaxとなっていた場合には、ステップSS90の判定が満たされて、このフローを終了する。
図9を用いて、カラオケ装置100の制御部101が実行する、広告対象とする広告情報の決定及び再生に関する制御手順を説明する。
図9において、この処理は、例えばカラオケ店舗等の従業員等によりカラオケ装置100の電源がオンにされることによって開始される。
まずステップSK5で、制御部101は、大容量記憶装置107に記憶された上記ログインテーブル1071(図2参照)にアクセスし、ユーザIDが新たに格納又はクリアされたかどうかを判定する。これにより、新たに上記マイページにログインしたユーザ、又は、新たに上記マイページからログアウトしたユーザが存在するかどうかを判定する。ユーザIDがログインテーブル1071に新たに格納された、又は、ユーザIDがログインテーブル1071から新たにクリアされた場合には、新たにマイページにログインしたユーザ、又は、新たにマイページからログアウトしたユーザが存在するとみなされ、ステップSK5の判定が満たされて、ステップSK100に移る。
ステップSK100では、制御部101は、ログイン状態にあるユーザそれぞれに対応する第1ユニットIDを取得し、第2ユニットIDを各第1ユニットごとに決定する、類似ユニット決定処理を実行する。このステップSK100の詳細手順を、図10を用いて説明する。
図10において、まずステップSK105で、制御部101は、当該制御部101のRAM等のメモリ上の、ユーザ別類似ユニットバッファを初期化する。このユーザ別類似ユニットバッファは、ログイン状態にあるユーザのユーザIDと当該ユーザに対応する第1及び第2ユニットIDとを対応付けて格納するためのバッファである。
その後、ステップSK110で、制御部101は、上記ログインテーブル1071にアクセスし、この時点で格納されているユーザIDの数、すなわちこの時点までに所定の操作としての上記ログイン操作を行ってログイン状態にあるユーザの人数を検出する。そして、その検出したログイン状態にあるユーザの人数をmとする。なお、所定の操作としては、ログイン操作に限られるものではない。例えば上記選曲操作を、所定の操作とするようにしてもよい。
そして、ステップSK120に移り、制御部101は、上記ログインテーブル1071に格納されているユーザID、すなわち上記ログイン状態にあるユーザをカウントするための変数jの値を1に設定する。
その後、ステップSK125で、制御部101は、当該制御部101のRAM等のメモリ上の、ユニット別相関値バッファを初期化する。このユニット別相関値バッファは、各ユニットのユニットIDと第1ユニットに対する当該各ユニットの相関値とを対応付けて格納するためのバッファである。
そして、ステップSK130に移り、制御部101は、上記ログインテーブル1071にアクセスし、j番目のユーザIDを取得する。
その後、ステップSK140で、制御部101は、上記通信制御部106及びネットワークNW1,NW2を介し、ホストサーバ300の大容量記憶装置307に記憶された上記ユーザユニット分類データベース3073(図5参照)にアクセスする。そして、上記ステップSK130で取得されたユーザID(ユーザのログイン操作に基づいて取得された当該ユーザに係わるユーザID)をキーとして、ユーザユニット分類データベース3073に記憶されたユーザユニット分類情報において当該ユーザIDに対応付けられたユニットID、すなわち第1ユニットIDを取得する。
なお、このステップSK140は、後述のように、変数jの値が上記ステップSK110における検出値mと等しくなるまで繰り返し実行されるので、制御部101は、結果として、上記ステップSK130で取得された複数のユーザIDに基づき、ログイン状態にある複数のユーザそれぞれに対応する複数の第1ユニットIDを取得することができる。すなわち、このステップSK140の手順が、各請求項記載のユニット情報取得手段として機能する。
そして、ステップSK150に移り、制御部101は、上記通信制御部106及びネットワークNW1,NW2を介し、ホストサーバ300の大容量記憶装置307に記憶された上記ユニット別相関値データベース3074(図6参照)にアクセスする。そして、上記ステップSK140で取得された第1ユニットIDをキーとして、当該第1ユニットIDで表される第1ユニットに対する各ユニットの相関値を取得する。そして、その取得した上記第1ユニットに対する各ユニットの相関値を、当該各ユニットのユニットIDにそれぞれ対応付けて、上記ユニット別相関値バッファに格納する。
その後、ステップSK160で、制御部101は、上記ユニット別相関値バッファの複数のレコードを、当該レコードに含まれる相関値に関し降順となるように並び替える。なお、上記ステップSK140で取得された第1ユニットIDで表される第1ユニットに対する、当該第1ユニットと同一のユニットの相関値は、最大値の「1」である。したがって、上記のようにレコードを並び替えた場合には、ユニット別相関値バッファの1番目のレコード(最上位のレコード)に含まれるユニットIDは、第1ユニットIDとなる。
そして、ステップSK170に移り、制御部101は、上記ユニット別相関値バッファの上位所定数(例えば5個)のレコードに含まれるユニットIDをそれぞれ取得する。そして、その取得したユニットIDのうち、1番目のレコードに含まれるユニットID(第1ユニットに対する相関値が「1」であるユニットに係わるユニットID)を、第1ユニットを表す第1ユニットIDとして決定し、それ以外のレコードに含まれるユニットID(第1ユニットに対する相関値が所定範囲であるユニットに係わるユニットID)、この例では相関値が大きい順に所定数のレコード(但し、1番目のレコードを除く)に含まれるユニットIDを、所定の類似相関を備えた第2ユニットを表す第2ユニットIDとして決定する。そして、その決定した第1及び第2ユニットIDを、上記ステップSK130で取得されたユーザIDにそれぞれ対応付けて、上記ユーザ別類似ユニットバッファに格納する。
なお、このステップSK170は、後述のように、変数jの値が上記ステップSK110で検出されたログイン状態にあるユーザの人数mと等しくなるまで繰り返し実行されるので、制御部101は、結果として、上記ステップSK140で取得された複数の第1ユニットIDで表される複数の第1ユニットそれぞれに対する相関値が大きい順に所定数のユニット(但し、相関値が最も大きいユニットを除く)を、所定の類似相関を備えた第2ユニットを表す第2ユニットIDとして、各第1ユニットごとに決定することができる。すなわち、このステップSK170の手順が、各請求項記載の類似ユニット決定手段として機能する。
その後、ステップSK180で、制御部101は、変数jの値が上記ステップSK110で検出されたログイン状態にあるユーザの人数mと等しくなったかどうかを判定する。j<mである場合には、まだユーザ別類似ユニットバッファへのログイン状態にあるユーザに対応する第1及び第2ユニットIDの格納が終了していないとみなされ、ステップSK180の判定が満たされず、ステップSK190に移る。ステップSK190では、制御部101は、変数jの値に1を加える。その後、上記ステップSK125に戻り同様の手順を繰り返す。そして、ステップSK125等を繰り返し実行し、j=mとなった場合には、ユーザ別類似ユニットバッファへのログイン状態にあるユーザに対応する第1及び第2ユニットIDの格納が終了したとみなされ、ステップSK180の判定が満たされて、このルーチンを終了する。
図9に戻り、上記のようにしてステップSK100が終了したら、ステップSK200に移る。ステップSK200では、制御部101は、広告対象とする広告情報の決定を行う広告決定処理を実行する。このステップSK200の詳細手順を、図11を用いて説明する。
図11において、まずステップSK202で、制御部101は、当該制御部101のRAM等のメモリ上の、広告再生リストバッファを初期化する。この広告再生リストバッファは、広告対象とする広告情報の広告IDを格納するためのバッファである。
その後、ステップSK210で、制御部101は、上記ユーザ別類似ユニットバッファのレコードをカウントするための変数kの値を1に設定する。
そして、ステップSK220に移り、制御部101は、上記ユーザ別類似ユニットバッファのk番目のレコードに含まれるユニットIDを取得する。
その後、ステップSK230で、制御部101は、上記通信制御部106及びネットワークNW1,NW2を介し、ホストサーバ300の大容量記憶装置307に記憶された上記ユニット別広告データベース3075(図7参照)にアクセスする。そして、上記ステップSK220で取得されたユニットIDをキーとして、ユニット別広告データベース3075に記憶された広告分類情報において当該ユニットIDに対応付けられた広告IDを取得する。そして、その取得した広告IDを、上記広告再生リストバッファに格納する。具体的には、上記ステップSK220で取得されたユニットIDが第1ユニットIDであった場合には、広告分類情報において当該第1ユニットIDに対応付けられた広告IDを取得し、広告再生リストバッファに格納する。一方、上記ステップSK220で取得されたユニットIDが第2ユニットIDであった場合には、広告分類情報において当該第2ユニットIDに対応付けられた広告IDを取得し、広告再生リストバッファに格納する。なお、広告再生リストバッファに広告IDを格納することは、実質的には、当該広告IDで表される広告情報を、広告対象として決定することに相当する。つまり、第1ユニットIDに対応付けられた広告IDを、広告再生リストバッファに格納することは、当該広告IDで表される広告情報(各請求項記載の第1広告情報に相当。以下適宜、「第1広告情報」と称する)を、広告対象として決定することに相当する。一方、第2ユニットIDに対応付けられた広告IDを、広告再生リストバッファに格納することは、当該広告IDで表される広告情報(各請求項記載の第2広告情報に相当。以下適宜、「第2広告情報」と称する)を、広告対象として決定することに相当する。
なお、このステップSK230は、後述のように、変数kの値が上記ユーザ別類似ユニットバッファのレコード数kmaxと等しくなるまで繰り返し実行されるので、制御部101は、結果として、上記ユーザ別類似ユニットバッファに格納されている、複数の第1ユニットIDそれぞれに対し広告IDが対応付けられた複数の第1広告情報と、複数の第2ユニットIDに対し広告IDが対応付けられた複数の第2広告情報とを、広告対象として決定することができる。以上のように、このステップSK230では、制御部101は、上記ユーザ別類似ユニットバッファに格納されている複数の第1及び第2ユニットIDに基づき、広告対象とする広告情報を決定する。すなわち、このステップSK230の手順が、各請求項記載の広告決定手段として機能する。
そして、ステップSK240に移り、制御部101は、変数kの値が上記ユーザ別類似ユニットバッファのレコード数kmaxと等しくなったかどうかを判定する。k<kmaxである場合には、まだ広告対象とする広告情報の決定が終了していないとみなされ、ステップSK240の判定が満たされず、ステップSK250に移る。ステップSK250では、制御部101は、変数kの値に1を加える。その後、上記ステップSK220に戻り同様の手順を繰り返す。そして、ステップSK220等を繰り返し実行し、k=kmaxとなった場合には、広告対象とする広告情報の決定が終了したとみなされ、ステップSK240の判定が満たされて、このルーチンを終了する。
図9に戻り、上記のようにしてステップSK200が終了したら、ステップSK10に移る。ステップSK10では、制御部101は、上記広告再生リストバッファに格納された広告IDをカウントするための変数iの値を1に設定する。その後、ステップSK15に移る。
一方、上記ステップSK5において、ユーザIDがログインテーブル1071に新たに格納されなかった、又は、ユーザIDがログインテーブル1071から新たにクリアされなかった場合には、新たにマイページにログインしたユーザ、又は、新たにマイページからログアウトしたユーザが存在しないとみなされ、ステップSK5の判定が満たされず、直接ステップSK15に移る。
ステップSK15では、制御部101は、上記広告再生リストバッファに格納された広告IDの数を検出する。そして、その検出した広告IDの数をnとする。
そして、ステップSK20に移り、制御部101は、再生部102による1つの演奏曲の再生終了後に、いずれのユーザによっても次の演奏曲の予約が行われていない状態、すなわち、演奏曲と演奏曲の合間である、いわゆる曲間となっているかどうかを判定する。曲間となるまでは、ステップSK20の判定が満たされず、上記ステップSK5に戻り同様の手順を繰り返す。そして、曲間となったら、ステップSK20の判定が満たされて、ステップSK25に移る。
ステップSK25では、制御部101は、上記ステップSK15で検出された広告IDの数nが0よりも大きいかどうかを判定する。n=0である場合には、上記広告再生リストバッファに広告IDが1つも格納されていないとみなされ、ステップSK25の判定が満たされず、ステップSK30に移る。
ステップSK30では、制御部101は、予め広告配信サーバ400より出力され大容量記憶装置107に記憶された複数の広告情報のうち、デフォルトとして定められた広告情報を読み出す。あるいは、当該複数の広告情報の中から、ランダムに選定した広告情報を読み出すようにしてもよい。
その後、ステップSK35で、制御部101は、再生部102に制御信号を出力し、1つの演奏曲の再生終了後、次の演奏曲の再生開始までの間に、すなわち、演奏曲の予約が行われるまでの間に、上記ステップSK30で読み出された広告情報を再生させる。言い換えれば、曲間に、上記ステップSK30で読み出された広告情報を再生するように、再生部102を制御する。これにより、当該広告情報に係わる映像が表示部103で表示され、当該広告情報に係わる音声が音声出力部104から出力され、カラオケルームKR内に存在しているユーザに対し広告が提供される。なお、広告情報の再生中に、演奏曲の予約が行われた場合には、広告情報の再生が一時停止され、当該演奏曲の再生が開始される。そして、再び、曲間となったら、一時停止中の広告情報の再生が再開される。そして、1つの広告情報の再生が終了したら、上記ステップSK5に戻り同様の手順を繰り返す。
一方、ステップSK25において、n>0であった場合には、上記広告再生リストバッファに広告IDが少なくとも1つは格納されているとみなされ、ステップSK25の判定が満たされて、ステップSK40に移る。
ステップSK40では、制御部101は、上記広告再生リストバッファに格納されたi番目の広告IDを取得する。
そして、ステップSK45に移り、制御部101は、予め広告配信サーバ400より出力され大容量記憶装置107に記憶された複数の広告情報のうち、上記ステップSK40で取得された広告IDで表される広告情報を読み出す。これは実質的には、上記図11のステップSK230で決定された、広告対象とする広告情報を出力することに相当する。すなわち、このステップSK45の手順が、各請求項記載の広告出力手段として機能する。
その後、ステップSK50で、制御部101は、上記ステップSK35とほぼ同様、演奏曲の予約が行われるまでの間に、上記ステップSK45で読み出された広告情報を再生させる。そして、1つの広告情報の再生が終了したら、ステップSK55に移る。
ステップSK55では、制御部101は、変数iの値が上記ステップSK15で検出された広告IDの数nと等しくなったかどうかを判定する。i<nである場合には、広告対象として決定された広告情報がまだすべて再生されていないとみなされ、ステップSK55の判定が満たされず、ステップSK60に移る。ステップSK60では、制御部101は、変数iの値に1を加える。その後、上記ステップSK5に戻り同様の手順を繰り返す。一方、i=nである場合には、広告対象として決定された広告情報が既にすべて再生されているとみなされ、ステップSK55の判定が満たされて、ステップSK65に移る。ステップSK65では、制御部101は、変数iの値に1に初期化する。そして、上記ステップSK5に戻り同様の手順を繰り返す。なお、この図9に示す処理は、例えばカラオケ店舗等の従業員等によりカラオケ装置100の電源がオフにされることによって終了される。
以上説明したように、本実施形態の楽曲再生システム1においては、複数のユーザがそれぞれ所定の操作(上記の例ではログイン操作)を行うと、これに応じて取得された当該複数のユーザに係わる複数のユーザIDに基づき、上記ユーザユニット分類データベース3073(図5を参照)に記憶されたユーザユニット分類情報に応じて、当該複数のユーザそれぞれに対応する複数の第1ユニットIDを取得する(図10のステップSK140を参照)。これら各ユーザごとの第1ユニットIDは、広告対象とする広告情報の決定に用いられる。これにより、複数のユーザそれぞれの嗜好に直結した広告情報を大容量記憶装置307から読み出し、各ユーザに提供することができる。
また、本実施形態においては、上述のようにして複数のユーザそれぞれに対応する複数の第1ユニットIDが取得された後、当該各第1ユニットIDで表される各第1ユニットごとに、当該複数の第1ユニットそれぞれに対し、所定の類似相関を備えた(上記の例では当該複数の第1ユニットそれぞれに対する相関値が大きい順に所定数の)第2ユニットを特定し、当該第2ユニットをそれぞれ表す第2ユニットIDを決定する(図10のステップSK170を参照)。そして、これら各第2ユニットIDにも基づく形で、広告対象の広告情報を決定する(図11のステップSK230を参照)。これにより、上述のような各ユーザそれぞれの嗜好に直結した広告情報に加え、各ユーザの嗜好に比較的近い嗜好の広告情報を、各ユーザに提供することができる。この結果、演奏曲データを用いたサービス時においてユーザに対し提供する広告の内容を有効に拡大し、広告効果を高めることができる。
また、本実施形態では特に、図11のステップSK230において、図10のステップSK140で取得された複数の第1ユニットIDそれぞれに対し上記広告分類情報により広告IDが対応付けられた複数の第1広告情報と、図10のステップSK170で各第1ユニットごとに決定された複数の第2ユニットIDに対し上記広告分類情報により広告IDがそれぞれ対応付けられた複数の第2広告情報とを、広告対象として決定する。このようにすることで、各ユーザに対し、自分の嗜好に直結した広告情報と、自分の嗜好に比較的近い嗜好の広告情報と、が提供される。これにより、各ユーザごとに、提供する広告の内容を有効に拡大して広告効果を高めることができる。
また、本実施形態では特に、2つのユニット間の類似相関の程度を表す相関値を算出する(図8のステップSS60を参照)。そして、図10のステップSK170において、各第1ユニットに対する相関値がそれぞれ大きい順に所定数の第2ユニットに係わるユニットIDを、第2ユニットIDとして決定する。これにより、上述のようにして算出された相関値を数値的な指標として用いることで、各ユーザの嗜好に比較的近い嗜好を表す第2ユニットを円滑に特定することができる。この結果、第2ユニットIDや第2広告情報を容易かつ確実に決定し、ユーザに対し提供する広告の内容を確実に拡大することができる。
なお、本発明は、上記実施形態に限られるものではなく、その趣旨及び技術的思想を逸脱しない範囲内で種々の変形が可能である。以下、そのような変形例を順次説明する。
(1)ログインユーザの人数に応じて、類似相関の範囲を設定する場合
すなわち、ログイン操作を行ったユーザの人数に応じて、第2ユニットを特定するために用いる、第1ユニットに対する相関値の範囲を可変に設定するようにしてもよい。
本変形例においては、ホストサーバ300の大容量記憶装置307のデータベース記憶エリアには、上記実施形態において当該データベース記憶エリアに記憶されていた各種データベースに加え、相関しきい値データベース3076(後述の図12)が記憶されている。
図12に、上記相関しきい値データベース3076の記憶内容の一例を示す。
図12に示すように、相関しきい値データベース3076には、ログイン状態にあるユーザの人数であるログインユーザ数に対応した、前述の第1ユニットに対する相関値のしきい値である相関しきい値が記憶されている。
図12に示す例では、ログインユーザ数が1[人]である場合に対応した相関しきい値は「0.6」、ログインユーザ数が2[人]である場合に対応した相関しきい値は「0.65」、ログインユーザ数が3[人]である場合に対応した相関しきい値は「0.7」、ログインユーザ数が4[人]である場合に対応した相関しきい値は「0.75」、ログインユーザ数が5[人]である場合に対応した相関しきい値は「0.8」、ログインユーザ数が6[人]である場合に対応した相関しきい値は「0.85」、ログインユーザ数が7[人]である場合に対応した相関しきい値は「0.9」ログインユーザ数が8[人]以降である場合に対応した相関しきい値は「0.95」となっている。
ここで、本変形例においてカラオケ装置100の制御部101が実行する、広告対象とする広告情報の決定及び再生に関する制御手順において、前述の図9と異なる点は、ステップSK100の手順である。それ以外の手順は、前述の図9とほぼ同様であるので、説明を省略する。以下、図13を用いて、本変形例におけるステップSK100の詳細手順を説明する。なお、この図13は、前述の図10に対応する図である。図10と同等の手順には同符号を付し説明を省略する。
図13において、前述の図10と異なる点は、ステップSK170に代えてステップSK170′を設け、ステップSK115、ステップSK162、ステップSK164、ステップSK166、ステップSK172、及びステップSK174を新たに設けた点である。すなわち、ステップSK110において、この時点までにログイン操作を行ってログイン状態にあるユーザの人数を検出し、その検出したログイン状態にあるユーザの人数をmとしたら、新たに設けたステップSK115に移る。
ステップSK115では、制御部101は、上記通信制御部106及びネットワークNW1,NW2を介し、ホストサーバ300の大容量記憶装置307に記憶された上記相関しきい値データベース3076(図12参照)にアクセスする。そして、上記ステップSK110で検出されたログイン状態にあるユーザの人数mをキーとして、当該ログイン状態にあるユーザの人数mに対応した、相関しきい値を取得する。そして、その取得した相関しきい値をMとする。
その後のステップSK120、ステップSK125、ステップSK130、ステップSK140、ステップSK150、及びステップSK160は、前述の図10と同様である。ステップSK160において、ユニット別相関値バッファの複数のレコードを、当該レコードに含まれる相関値に関し降順となるように並び替えたら、新たに設けたステップSK162に移る。
ステップSK162では、制御部101は、前述のユニット別相関値バッファのレコードをカウントするための変数pの値を1に設定する。
その後、新たに設けたステップSK164で、制御部101は、上記ユニット別相関値バッファのp番目のレコードに含まれる相関値を取得する。そして、その取得した相関値をNとする。
そして、新たに設けたステップSK166に移り、制御部101は、上記ステップSK164で取得された相関値Nが、所定範囲、この例では上記ステップSK115で取得された相関しきい値M以上であるかどうかを判定する。N≧Mである場合には、ステップSK166の判定が満たされて、ステップSK170に代えて設けたステップSK170′に移る。
ステップSK170′では、制御部101は、上記ユニット別相関値バッファのp番目のレコードに含まれるユニットIDを取得する。そして、その取得したユニットIDを、前述のステップSK130で取得されたユーザIDに対応付けて、前述のユーザ別類似ユニットバッファに格納する。具体的には、変数pの値が1である場合には、ユニット別相関値バッファの1番目のレコードに含まれるユニットID(第1ユニットに対する相関値が「1」であるユニットに係わるユニットID)を取得する。そして、その取得したユニットIDを、第1ユニットを表す第1ユニットIDとして決定し、ユーザ別類似ユニットバッファに格納する。一方、変数pの値が2以上である場合には、ユニット別相関値バッファのp番目のレコードに含まれるユニットID(第1ユニットに対する相関値が所定範囲であるユニットに係わるユニットID)、この例ではN≧Mであるレコード(但し、1番目のレコードを除く)に含まれるユニットIDを取得する。そして、その取得したユニットIDを、所定の類似相関を備えた第2ユニットを表す第2ユニットIDとして決定し、ユーザ別類似ユニットバッファに格納する。
なお、このステップSK170′は、後述のように、変数jの値が、上記ステップSK110で検出されたログイン状態にあるユーザの人数mと等しくなるか、あるいは、上記ユニット別相関値バッファのレコード数pmaxと等しくなるまで繰り返し実行されるので、制御部101は、結果として、前述のステップSK140で取得された複数の第1ユニットIDで表される複数の第1ユニットそれぞれに対する相関値(上記ステップSK164で取得された相関値N)が、上記ステップSK115で取得された相関しきい値M以上であるユニット(但し、N=1であるユニットを除く)を、所定の類似相関を備えた第2ユニットを表す第2ユニットIDとして、各第1ユニットごとに決定することができる。すなわち、このステップSK170′の手順が、各請求項記載の類似ユニット決定手段として機能する。
その後、ステップSK172で、制御部101は、変数pの値が上記ユニット別相関値バッファのレコード数pmaxと等しくなったかどうかを判定する。p<pmaxである場合には、まだ上記ユニット別相関値バッファのすべてのレコードに含まれる相関値について、上記ステップSK115で取得された相関しきい値Mと比較していないとみなされ、ステップSK172の判定が満たされず、ステップSK174に移る。ステップSK174では、制御部101は、変数pの値に1を加える。その後、上記ステップSK164に戻り同様の手順を繰り返す。
一方、ステップSK166においてN<Mであったため、ステップSK166の判定が満たされなかった場合、及び、ステップSK172においてp=pmaxであったため、上記ユニット別相関値バッファのすべてのレコードに含まれる相関値について、上記ステップSK115で取得された相関しきい値Mと比較したとみなされ、ステップSK172の判定が満たされた場合には、ステップSK180に移る。
その後のステップSK180及びステップSK190は、前述の図10と同様であるので、説明を省略する。
以上のように、本変形例においては、上記ステップSK115で取得された相関しきい値M以上である範囲を所定範囲とし、当該相関しきい値Mの値は、上記ステップSK110で検出されるログイン状態にあるユーザの人数mに応じて変化する。したがって、上記ステップSK115で、制御部101は、実質的には、上記ステップSK110で検出されるログイン状態にあるユーザの人数m、すなわちログイン操作を行ったユーザの人数に応じて、所定範囲を可変に設定しているのである。すなわち、ステップSK115の手順が、各請求項記載の範囲設定手段として機能する。
本変形例によれば、ログイン操作を行ったユーザの人数に応じて、所定範囲を可変に設定する。これにより、例えばユーザの人数が比較的多い場合には、第2ユニットとして特定するために用いる類似相関の範囲を狭くすることができる。この場合には、あるユーザの嗜好から遠く離れた、当該ユーザにとって興味のない広告が提供される確率を低減することができる。
(2)複数ユーザに共通となる第2ユニット向けの広告を対象とする場合
すなわち、ログイン状態にある複数のユーザに含まれる2人以上のユーザに共通となる第2ユニットに対応した広告情報を、広告対象として決定するようにしてもよい。
ここで、本変形例においてカラオケ装置100の制御部101が実行する、広告対象とする広告情報の決定及び再生に関する制御手順において、前述の図9と異なる点は、ステップSK200の手順である。それ以外の手順は、前述の図9とほぼ同様であるので、説明を省略する。以下、図14を用いて、本変形例におけるステップSK200の詳細手順を説明する。なお、この図14は、前述の図11に対応する図である。図11と同等の手順には同符号を付し説明を省略する。
図14において、まずステップSK202で、制御部101は、前述の図11と同様、前述の広告再生リストバッファを初期化する。
その後、ステップSK300で、制御部101は、ログイン操作を行った2人以上のユーザに共通となる第2ユニットに係わる第2ユニットIDの決定を行う共通類似ユニット決定処理を実行する。このステップSK300の詳細手順を、図15を用いて説明する。
図15において、まずステップSK305で、制御部101は、当該制御部101のRAM等のメモリ上の、ユニット別ユーザ数バッファを初期化する。このユニット別ユーザ数バッファは、各ユニットのユニットIDとユーザIDの数とを対応付けて格納するためのバッファである。
そして、ステップSK310に移り、制御部101は、前述のユーザ別類似ユニットバッファに格納されているユーザIDをユニットIDごとに分類し、各ユニットIDごとに、ユーザIDの数をカウントする。そして、そのカウント結果、すなわち各ユニットIDごとのユーザIDの数を、当該各ユニットIDにそれぞれ対応付けて、上記ユニット別ユーザ数バッファに格納する。
その後、ステップSK320で、制御部101は、上記ユニット別ユーザ数バッファの複数のレコードを、当該レコードに含まれるユーザIDの数に関し降順となるように並び替える。
そして、ステップSK330に移り、制御部101は、当該制御部101のRAM等のメモリ上の、共通類似ユニットバッファを初期化する。この共通類似ユニットバッファは、ログイン状態にある複数のユーザのうち2人以上のユーザに共通となる第2ユニットIDを格納するためのバッファである。
その後、ステップSK340で、制御部101は、上記ユニット別ユーザ数バッファのレコードをカウントするための変数qの値を1に設定する。
そして、ステップSK350に移り、制御部101は、上記ユニット別ユーザ数バッファのq番目のレコードに含まれるユーザIDの数を取得する。そして、その取得したユーザIDの数をQとする。
その後、ステップSK360で、制御部101は、上記ステップSK350で取得されたユーザIDの数Qが2以上であるかどうかを判定する。Q≧2である場合には、上記ユニット別ユーザ数バッファのq番目のレコードに含まれるユニットIDが上記2人以上のユーザに共通となる第2ユニットIDであるとみなされ、ステップSK360の判定が満たされて、ステップSK370に移る。
ステップSK370では、制御部101は、上記ユニット別ユーザ数バッファのq番目のレコードに含まれるユニットID、すなわち上記2人以上のユーザに共通となる第2ユニットIDを取得する。そして、その取得した第2ユニットIDを、上記共通類似ユニットバッファに格納する。
そして、ステップSK380に移り、制御部101は、変数qの値が上記ユニット別ユーザ数バッファのレコード数qmaxと等しくなったかどうかを判定する。q<qmaxである場合には、まだ共通類似ユニットバッファへの上記2人以上のユーザに共通となる第2ユニットIDの格納が終了していないとみなされ、ステップSK380の判定が満たされず、ステップSK390に移る。ステップSK390では、制御部101は、変数qの値に1を加える。その後、上記ステップSK350に戻り同様の手順を繰り返す。
一方、ステップSK360においてQ=1であったため、上記ユニット別ユーザ数バッファのq番目以降のレコードに含まれるユニットIDが上記2人以上のユーザに共通となる第2ユニットIDではないとみなされ、ステップSK360の判定が満たされなかった場合、及び、ステップSK380においてq=qmaxであったため、共通類似ユニットバッファへの上記2人以上のユーザに共通となる第2ユニットIDの格納が終了したとみなされ、ステップSK380の判定が満たされた場合には、このルーチンを終了する。
図14に戻り、上記のようにしてステップSK300が終了したら、ステップSK205に移る。ステップSK205では、制御部101は、上記共通類似ユニットバッファに格納されたユニットIDをカウントするための変数rを1に設定する。
その後、ステップSK215で、制御部101は、上記共通類似ユニットバッファに格納されたr番目のユニットID、すなわち上記2人以上のユーザに共通となる第2ユニットIDを取得する。
そして、ステップSK225に移り、制御部101は、上記通信制御部106及びネットワークNW1,NW2を介し、ホストサーバ300の大容量記憶装置307に記憶された上記ユニット別広告データベース3075(図7参照)にアクセスする。そして、上記ステップSK215で取得された上記2人以上のユーザに共通となる第2ユニットIDをキーとして、ユニット別広告データベース3075に記憶された広告分類情報において当該ユニットIDに対応付けられた広告IDを取得する。そして、その取得した広告IDを、上記広告再生リストバッファに格納する。これは実質的には、前述のステップSK170で各第1ユニットIDごとに決定された複数の第2ユニットIDのうち、ログイン状態にある複数のユーザに含まれる2人以上のユーザに共通となる第2ユニットIDに対応付けられた広告IDで表される広告情報(各請求項記載の第3広告情報に相当。以下適宜、「第3広告情報」と称する)を、広告対象として決定することに相当する。
なお、このステップSK225は、後述のように、変数rの値が上記共通類似ユニットバッファに格納されたユニットID数rmaxと等しくなるまで繰り返し実行されるので、制御部101は、結果として、上記共通類似ユニットバッファに格納されている複数のユニットID(2人以上のユーザに共通となる第2ユニットID)それぞれに対し広告IDが対応付けられた複数の第3広告情報を、広告対象として決定することができる。
その後、ステップSK235で、制御部101は、変数rの値が上記共通類似ユニットバッファに格納されたユニットID数rmaxと等しくなったかどうかを判定する。r<rmaxである場合には、まだ広告再生リストバッファへの上記2人以上のユーザに共通となる第2ユニットIDに対応付けられた広告IDの格納が終了していないとみなされ、ステップSK235の判定が満たされず、ステップSK245に移る。ステップSK245では、制御部101は、変数rの値に1を加える。その後、上記ステップSK215に戻り同様の手順を繰り返す。そして、ステップSK215等を繰り返し実行し、r=rmaxとなった場合には、広告再生リストバッファへの上記2人以上のユーザに共通となる第2ユニットIDに対応付けられた広告IDの格納が終了したとみなされ、ステップSK235の判定が満たされて、ステップSK255に移る。
ステップSK255では、制御部101は、上記ユニット別広告データベース3075にアクセスする。そして、前述の図10のステップSK140で取得されたログイン状態にある複数のユーザそれぞれに対応する複数の第1ユニットIDをそれぞれキーとして、ユニット別広告データベース3075に記憶された広告分類情報において当該複数の第1ユニットIDそれぞれに対応付けられた広告IDをそれぞれ取得する。そして、その取得した複数の広告IDを、上記広告再生リストバッファに格納する。これは実質的には、前述のステップSK140で取得された複数の第1ユニットIDそれぞれに対し広告IDが対応付けられた複数の第1広告情報を、広告対象として決定することに相当する。その後、このルーチンを終了する。
なお、上記において、ステップSK225及びステップSK255の手順が、各請求項記載の広告決定手段として機能する。
以上説明したように、本変形例においては、図14のステップSK225において、図10のステップSK170で各第1ユニットごとに決定された複数の第2ユニットIDのうち、2人以上のユーザに共通となる第2ユニットIDに対し前述の広告分類情報により広告IDが対応付けられた第3広告情報を、広告対象として決定する。そして、図14のステップSK255において、図10のステップSK140で取得された複数の第1ユニットIDそれぞれに対し前述の広告分類情報により広告IDが対応付けられた複数の第1広告情報を、広告対象として決定する。このように本変形例においては、各ユーザにとって自分の嗜好に直結した広告情報と、各ユーザの嗜好に比較的近い嗜好の広告情報のうち2人以上のユーザに共通となる広告情報とが、各ユーザに提供される。このように、ユーザの嗜好に比較的近い嗜好の広告情報の提供を複数のユーザに共通の情報だけに絞り込むことにより、例えばユーザ人数が比較的多い場合に、あるユーザの嗜好から遠く離れた、当該ユーザにとって興味のない広告が提供される確率を低減することができる。
(3)その他
なお、以上においては、広告配信サーバ400が複数の広告情報を予めカラオケ装置100へ出力しておき、カラオケ装置100の制御部101が、これら複数の広告情報のうち、広告対象とする広告情報(又はデフォルトとして定められた広告情報)を、1つの演奏曲の再生終了後、次の再生開始までの間に、再生部102により再生させていたが、これに限られない。例えば、表示部103の表示画面を複数に分割し、そのうち1つの画面には演奏曲に対応した歌詞テロップを表示させると共に、別の画面には当該広告情報を表示させるようにしてもよい。
また、例えば、広告配信サーバ400が広告情報を適宜のタイミングでリモコン200へ出力し、操作部205が一定時間操作されていないと判断された場合に、リモコン200の制御部201が、上記広告対象とする広告情報(又はデフォルトとして定められた広告情報)を、表示部203全体に表示させるようにしてもよい。あるいは、表示部203の表示画面を複数に分割し、そのうち1つの画面には演奏曲の選曲画面を表示させると共に、別の画面には当該広告情報を表示させるようにしてもよい。
また、図8、図9、図10、図11等に示すフローチャートは本発明を上記フローに示す手順に限定するものではなく、発明の趣旨及び技術的思想を逸脱しない範囲内で手順の追加・削除又は順番の変更等をしてもよい。
また、以上既に述べた以外にも、上記実施形態や各変形例による手法を適宜組み合わせて利用しても良い。
その他、一々例示はしないが、本発明は、その趣旨を逸脱しない範囲内において、種々の変更が加えられて実施されるものである。