(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0011】
<実施形態>
(カラオケシステムの構成)
図1は、本発明の実施形態に係るカラオケシステム9の構成を示す図である。カラオケシステム9は、カラオケ装置3、インターネット等のネットワーク4、およびサーバ5を備える。カラオケ装置3は、端末1および本体装置2を有する。
サーバ5は、ネットワーク4を介して曲を表す曲データをカラオケ装置3の本体装置2に供給する。本体装置2は、サーバ5から供給された曲データを記憶する。端末1は、曲を特定するための操作をユーザから受け付けて、その操作に応じた信号を本体装置2に送信する。本体装置2は、端末1から信号を受け取り、この信号が示す曲の曲データを特定してその曲データに応じた演奏を行う。
【0012】
(カラオケ装置の構成)
図2は、本発明の実施形態に係るカラオケ装置3の構成を示す図である。カラオケ装置3の端末1は、制御部11、記憶部12、操作部13、表示部14、および近距離通信部15を有する。カラオケ装置3の本体装置2は、制御部21、記憶部22、操作部23、表示部24、近距離通信部25、通信部26、および放音部27を有する。
【0013】
(端末の構成)
図2に基づき、端末1の構成について説明する。
制御部11は、CPU(Central Processing Unit)、ROM(Read Only Memory)、およびRAM(Random Access Memory)を備え、CPUが、ROMに記憶されているブートローダーや記憶部12に記憶されているプログラムをRAMに読み出して実行することにより、端末1の各部を制御する。記憶部12は、EEPROM(Electrically Erasable Programmable Read Only Memory)などの大容量の記憶手段であり、制御部11により利用されるプログラムを記憶する。
【0014】
表示部14は、表示画面141を有し、制御部11の制御の下、操作を促す対話型ウインドウや本体装置2から送られたデータに基づいて人物像などをこの表示画面141に表示する。表示部14の表示画面141は、例えば、液晶を用いた表示素子などにより構成される。
【0015】
操作部13は、ボタンなど各種の指示を入力するための操作子131と、表示部14の表示画面141に重ねて配置された透明の感圧部材を備え、この感圧部材によりユーザの指などが触れた位置を検出して、この位置に応じた座標を示す信号を出力するタッチパネル132と、端末1の筐体の運動状態や姿勢などを検知してこれらに応じた信号を出力するセンサ133を備える。センサ133は、具体的には、加速度センサや角速度センサなどを含む。ユーザは、操作子131のボタンなどを押したり、タッチパネル132に触れたり、端末1の筐体を持ってその姿勢を変化させてセンサ133にこれを検知させたりすることで、端末1を用いたカラオケ装置3に対する操作を行う。操作部13は、これら操作子131、タッチパネル132、およびセンサ133などによりユーザの操作を受け付けてその操作内容に応じた信号を制御部11に送る。
【0016】
近距離通信部15は、本体装置2との間で制御情報や各種のデータを通信するインターフェースであり、例えばIEEE 802.11、やIEEE 802.15などに準拠した近距離無線通信回路、IrDA(Infrared Data Association)などに準拠した無線インターフェースなどである。
【0017】
また、記憶部12は、目次データベース(以下、データベースを「DB」とも表記する)121と、対応表122とを備える。目次DB121は、ユーザに曲を特定させるための目次データを記憶する。対応表122は、各曲に固有の識別情報である曲番号と、人物像の識別情報である人物像番号とを対応付けて記憶する。人物像とは、曲の再生に伴って動作する像であって、例えば、歌手やダンサーを模倣またはデフォルメした像である。対応表122で各曲番号にそれぞれ対応付けられた人物像番号は、その曲番号に示す曲をユーザが特定したときに端末1で表示される人物像の人物像番号を表している。
【0018】
ここで、
図3〜
図7を用いて、記憶部12の記憶内容について説明する。
図3は、目次DB121の一例を示す図である。目次DB121は、曲番号、曲名、歌手名、ジャンル名、および発表年をそれぞれ示すフィールドを有し、各フィールドに記述されたデータを関連付ける。曲番号は、曲を識別する識別情報であり、1つの曲につき1つだけ割り当てられた固有の番号である。曲名はその曲の名前、すなわちタイトルを示す文字列である。歌手名はその曲を歌う歌手や演奏するグループなどの名前を示す文字列である。ジャンル名は、その曲が属する音楽のジャンルを示す文字列である。発表年は、その曲が公に発表された西暦年を示す数値である。
【0019】
一般に曲は曲名によって識別されるものであるが、同じ作詞家が歌詞を書き、同じ作曲家が作曲した曲が複数の歌手によって歌われることもあり、また、共通する題材を取り上げた結果、曲名が完全に一致する全く別の曲が作られることもある。また、同じ歌手が過去に発表した自分の持ち歌を後になって改めて録音するなどして発表しなおすこともある。この目次DB121は、曲名と、曲名以外のフィールドのうちいずれか1つとを組み合わせると必ずユニークなレコードが特定されるように記述されているが、このユニークなレコードをユニークな曲番号と対応付けることで、曲番号によって曲が特定されるように構成されている。
図3に示すように、例えば、曲番号「P01」には、曲名「○▽○」、歌手名「あ○△」、ジャンル名「ポップ」、および発表年「2002」が対応付けられている。
【0020】
図4は、表示画面141に表示される選曲メニューの一例を示す図である。選曲メニューは、端末1を使ってユーザが曲を特定するときに最初に表示されるメニューである。
図4に示す選曲メニューは、「歌手名別」「曲名別」「ジャンル名別」「発表年別」の4つの項目を有する。ユーザはこの4つの項目からいずれかを選択して、自分の望む曲を探す。
【0021】
図5は、表示画面141に表示される歌手名のリストの一例を示す図である。この歌手名のリストは、
図4に示した選曲メニューが表示されているときに、「歌手名別」の項目をユーザが選択した場合に、表示画面141に表示されるリストである。このリストは、歌手名を、その頭文字ごとに分類して配列する。
図5に示す例では、五十音の各行にそれぞれ対応する複数のウインドウが重畳されて表示されている。各ウインドウの上部には、そのウインドウを選択するためのタブが設けられている。このタブには、五十音の各行を表す文字「あ」「か」「さ」「た」「な」「は」が記述されている。なお、「次頁」と記述されたタブは「ま」「や」「ら」「わ」の各文字を記述したタブを有するウインドウを表示させるためのボタンとして機能する。この例においては、タブ「あ」が選択されているため、五十音の各行のうち「あ」行の頭文字を有する歌手名がウインドウ内の上下方向に配列される。なお、これらの歌手名のリストがウインドウ内の上下方向に入りきらない場合には、ウインドウの右端にあるスクロールバーを用いて上下に移動させられるようになっている。また、「ローマ字」と記述されたボタンの位置にユーザが触れると、歌手名の頭文字を用いた分類が五十音別からローマ字別に切り替わるようになっている。
【0022】
図6は、表示画面141に表示される歌手別の曲名リストの一例を示す図である。この曲名リストは、
図5に示した歌手名のリストが表示されているときに、歌手名「あ○△」の項目をユーザが選択した場合に、表示画面141に表示されるリストである。このリストは、「あ○△」が発表した持ち歌の曲名をウインドウ内の上下方向に配列したものである。なお、これら曲名のリストがウインドウ内の上下方向に入りきらない場合には、ウインドウの右端にあるスクロールバーを用いて上下に移動させられるようになっている。
【0023】
ユーザが、
図6に示した歌手別の曲名リストが表示されているときに、曲名「○▽○」の項目を選択した場合、歌手名「あ○△」と曲名「○▽○」とが特定されるため、目次DB121において、これらの組に対応付けられた曲番号「P01」が定まる。
【0024】
図7は、対応表122および指示信号の一例を示す図である。
図7(a)に示す対応表122において、例えば曲番号「P01」は人物像番号「M01」に対応付けられている。したがって、曲番号「P01」に示す曲をユーザが選択した場合に、対応表122において、その曲番号「P01」に対応付けられている人物像番号「M01」が制御部11によって特定される。
【0025】
これにより端末1の制御部11は、
図7(b)に示すように、曲番号「P01」に人物像番号「M01」を付加した信号を生成し、これをユーザの選曲に基づく指示を示す指示信号として、近距離通信部15を用いて本体装置2へ送信する。その結果、人物像番号「M01」で識別される人物像の人物像データが、本体装置2から端末1へ送られ、端末1の表示画面141にこの人物像が表示される。
【0026】
(本体装置の構成)
図2に戻り、カラオケ装置3の本体装置2の構成について説明する。
制御部21は、CPU、ROM、およびRAMを備え、CPUが、ROMに記憶されているブートローダーや記憶部22に記憶されているプログラムをRAMに読み出して実行することにより、本体装置2の各部を制御する。記憶部22は、ハードディスクドライブなどの大容量の記憶手段であり、制御部21により利用されるプログラムを記憶する。また、記憶部22は、曲を示す曲データを記憶する曲DB221と、人物像を示す人物像データを記憶する人物像DB222とを備える。
【0027】
ここで、
図8〜
図12を用いて、記憶部22の記憶内容について説明する。
図8は、曲DB221の一例を示す図である。曲データは、演奏データ、背景データ、歌詞データ、および動作データを含む。演奏データとは、その曲が演奏されるときに発音される楽音と、その発音されるタイミングとを対応付けたデータである。背景データとは、演奏の進行に伴って本体装置2において表示される静止画像や動画などと、その表示されるタイミングとを対応付けたデータである。歌詞データとは、演奏の進行にあわせて表示すべき歌詞の情報を時系列に記録したデータであり、歌詞を表す文字列と、色替えのタイミングなどが記述されたものである。動作データとは、演奏の進行に伴って端末1において表示される人物像の動作と、その表示されるタイミングとを対応付けたデータである。曲DB221は、曲番号、演奏データ、背景データ、歌詞データ、および動作データをそれぞれ示すフィールドを有し、各フィールドに記述されたデータを関連付ける。これにより、曲DB221は、曲番号と曲データとを対応付けて記憶する。
【0028】
図9は、演奏データ、背景データ、歌詞データ、および動作データの各データ構造を示す図である。
図9(a)に示すように各データは、いずれもヘッダ部とデータ本体部とに区画されている。ヘッダ部には、データ本体部に格納された情報の取り扱いに用いるパラメータやその情報の記述形式の種類などが記述されている。データ本体部に格納された情報は、
図9(b)に示すように、「時間」を示すタイミング情報と「イベント」を示すイベント情報とが対応付けられたリスト構造を有する。
【0029】
このイベント情報は、データが演奏データであれば、例えばノートオンやノートオフなど、楽音の演奏に関するイベントを表すものである。また、このイベント情報は、背景データであれば、静止画像や、新たに描かれるべきフレームの画像を直前のフレームの画像から予測するために用いられるフレーム間予測情報など、背景の表示に関するイベントを表すものである。また、このイベント情報は、歌詞データであれば、歌詞を示す文字列や、その文字列のうちどの部分を歌っているかをその文字列中の各文字の色を変化させることにより示す場合において、その色替え位置に関するイベントを表すものである。また、このイベント情報は、動作データであれば、例えば人物像の移動方向や、人物像を構成する関節まわりの運動方向の情報など、人物像の動作に関するイベントを表すものである。タイミング情報は、これらのイベントを発生させるべきタイミングを表すものである。
【0030】
図9(b)に示すように、タイミング情報「123」には、イベント情報「イベントα」が対応付けられている。これはタイミング情報「123」が示すタイミング(例えば、曲の演奏開始から123ミリ秒経過したタイミングや、123回目にフレームを描き換えるタイミングなど)に、イベントαを発生させることを表している。
【0031】
図10は、人物像DB222の一例を示す図である。人物像DB222は、人物像を識別する番号である人物像番号と、その人物像のデータである人物像データとを対応付けて記憶する。
図11は、端末1で表示される人物像の概略を説明するための図である。
図11に示すように、人物像は、仮想的な直交座標空間であるxyz座標空間(仮想空間)に配置される。人物像は、人間の体の形状を部位ごとにそれぞれポリゴンのパーツCHとして表現し、これら複数のパーツCHを組み合わせて構成されている。複数のパーツCHは、人物像データにおいて樹形構造で記憶されている。
図12は、人物像データの樹形構造の一例を示す図である。
図12に示すように、人物像データにおいて複数のパーツは、腰を示すパーツを根とする樹形構造をなしている。すなわち、根のパーツである「腰」には、「胸」「右上腿」「左上腿」の3つのパーツが接続されており、さらに「胸」には、「頭」「右上腕」「左上腕」の3つのパーツが接続されている。人物像データには、各パーツの形状を表すポリゴンデータと、標準の状態における各パーツ間の接続位置や角度などが記述されている。人物像データには、さらに各パーツの表面の質感や色合い、模様などを示すテクスチャーデータを含んでいてもよい。要するに、人物像DB222は、人物像番号(像識別情報)で識別される人物像の形状を示す人物像データ(形状データ)を、その人物像番号ごとに対応付けて記憶する。
【0032】
動作データは、演奏の進行に合わせた動作を人物像に行わせるために必要なパラメータが記載されている。これらのパラメータは、例えば、xyz座標空間上における人物像の配置を示す数値や、その人物像の各パーツ間の接続位置や角度の変化を示す数値などである。
図11に示す例において、人物像の配置を示す数値とは、「腰」の重心POの座標である。また、パーツ間の接続の角度を示す数値とは、例えば
図11に示すように人物像の左上腕と左前腕との角度JAである。
【0033】
図2に戻って本体装置2の説明を続ける。
表示部24は、表示画面241を有し、制御部21の制御の下、曲DB221から読み出された曲データのうち、歌詞データや背景データに基づいて、曲の演奏の進行に一致する歌詞や背景映像などをこの表示画面241に表示する。表示部24の表示画面241は、例えば、液晶を用いた表示素子などにより構成される。
【0034】
操作部23は、ボタンなど各種の指示を入力するための操作子231と、ユーザが発する歌唱音声を収音した音信号を放音部27へ送出するマイク232とを備える。操作子231は、ユーザにより入力された指示を示す信号を制御部21に送出する。
【0035】
近距離通信部25は、端末1の近距離通信部15との間で制御情報や各種のデータを通信するインターフェースであり、例えばIEEE 802.11、やIEEE 802.15などに準拠した近距離無線通信回路、IrDAなどに準拠した無線インターフェースなどである。
【0036】
通信部26は、ネットワーク4を介してサーバ5から曲データを受信するためのインターフェースであり、例えば各種のモデムやIMT-2000に準拠した無線通信回路、あるいは、USB(Universal Serial Bus)規格に準拠したシリアルインターフェースなどである。
【0037】
放音部27は、音源回路(TG:Tone Generator)と、ミキサと、増幅器と、スピーカとを備える。音源回路は曲DB221から読み出された曲データのうち、演奏データに基づいて楽音の合成を行う。ミキサは、音源回路により合成された楽音と、マイク232により送出された音信号とを決められた割合でミキシングする。増幅器は、ミキサによりミキシングされた信号を増幅する。スピーカは増幅器で増幅された信号に応じた音を放音する。
【0038】
(カラオケ装置の機能的構成)
図13は、カラオケ装置3の機能的構成の一例を示すブロック図である。
図13に示すように、カラオケ装置3に備えられている端末1の制御部11と、本体装置2の制御部21は、それぞれ様々な機能を実現する。具体的には、制御部11は、第1特定部111、第2特定部112、第3特定部113、第1要求部114、第2要求部115、および表示制御部116として機能する。また、制御部21は、再生部211、生成部212、および送信部213として機能する。以下、これらの機能について説明する。なお、端末1と本体装置2との通信は、
図2で示したように近距離通信部15および近距離通信部25を介して行われるが、
図13においてこれらを省略する。
【0039】
第1特定部111(第1特定手段)は、操作部13の操作子131やタッチパネル132が受け付けたユーザの操作に応じて、そのユーザによって指定された曲の識別情報を特定する。具体的に、第1特定部111は、上述した
図4に示すようなメニュー画面を表示部14の表示画面141に表示させ、操作子131やタッチパネル132を介したユーザの指示を受け付けて、記憶部12の目次DB121に記憶されているいずれか1つの曲番号(曲識別情報)を特定する。
【0040】
第2特定部112(第2特定手段)は、第1特定部111により特定された曲番号に対応する人物像番号(像識別情報)を、対応表122に基づいて特定する。具体的に、第2特定部112は、第1特定部111によって特定された曲番号を、対応表122の中から探し出し、その曲番号に対応付けられた人物像番号を特定する。
【0041】
第3特定部113(第3特定手段)は、センサ133によって検知したユーザの操作に応じて、上述したxyz座標空間における視点を特定する。この視点は、xyz座標空間を見る位置や方向、画角などを特定するものであって、この視点からxyz座標空間を見つけたときの画像が端末1の表示部14に表示される。視点については後述する。
【0042】
第1要求部114(第1要求手段)は、第1特定部111により特定された曲番号を本体装置2に送信し、その曲番号が示す曲の再生を要求する。
再生部211(再生手段)は、第1要求部114による要求に応じて上述した曲番号が示す曲を再生する。具体的に、再生部211は、曲番号を指定した曲の再生の要求を端末1から受け取ると、記憶部22の曲DB221からこの曲番号に対応付けられた曲データを探し出し、その曲データに含まれる演奏データを読み出す。そして、再生部211は、読みだした演奏データに応じた楽音信号を生成し、放音部27を用いて、この楽音信号に応じた放音を行わせる。
【0043】
第2要求部115(第2要求手段)は、第2特定部112により特定された人物像番号を本体装置2に送信し、その人物像番号が示す人物像を、上述した曲の再生に伴ってxyz座標空間において動作させたときの、その人物像のxyz座標空間における位置および姿勢を示す空間データの送信を要求する。
生成部212(生成手段)は、第2要求部115による要求に応じて空間データを生成する。具体的に、生成部212は、人物像番号を端末1から受け取ると、記憶部22の人物像DB222からこの人物像番号に対応付けられた人物像データを探し出す。また、生成部212は、再生部211で探し出された上述の曲データから動作データを読み出す。そして、生成部212は、動作データと人物像データとを用いて空間データを生成する。すなわち、生成部212は、読みだした人物像データに基づく人物像の各パーツを、動作データに基づいてxyz座標空間のそれぞれの位置に配置して、空間データを生成する。
【0044】
送信部213(送信手段)は、生成部212で生成された空間データを端末1に送信する。表示制御部116(表示手段)は、本体装置2から送信された空間データと、第3特定部113により特定された視点に基づいて、上述したxyz座標空間における人物像をその視点から見たときの画像を表示部14の表示画面141を用いて表示する。
【0045】
(カラオケ装置の動作)
図14は、カラオケ装置3における人物像の表示に関する演算の流れを示す図である。まず、カラオケ装置3は人物像データと動作データとを用いて第1演算を行う。第1演算とは、人物像データが示す人物像を動作データに基づいてxyz座標空間に配置するとともに、この人物像にポーズ(姿勢)を取らせるための演算である。第1演算により、xyz座標空間において人物像が取るべきポーズを取り、配置されるべき位置に配置された空間を示す空間データが生成される。したがって、第1演算は、
図13における生成部212が行う。なお、
図14に破線で示すように、第1演算は、既に生成された空間データをさらに用いて、新たな空間データを生成してもよい。この場合、動作データには、例えば前回のタイミングから今回のタイミングまでの動作の差分を示すデータが記述されていればよい。
【0046】
次に、カラオケ装置3は、第1演算で得られた空間データと、xyz座標空間において人物像を見る視点座標や画角などを表す視点データと、xyz座標空間において人物像に光を照射する光源の位置やその光の色などを表す光源データとを用いて第2演算を行う。視点データとは、例えば
図11において視点座標PVと画角VAである。視点座標PVは、xyz座標空間における視点の座標を示す。画角VAは、xyz座標空間において視点座標PVから見える視野の範囲を示す。光源データに含まれる光源の位置とは、例えば
図11における光源PLである。第2演算は、いわゆる三次元レンダリングと呼ばれる演算を含む。
図11に示す例において、第2演算は、光源PLから照射される光が人物像データを構成する各パーツCHの表面によって反射される割合を計算し、その表面から反射される反射光のうち、視点座標PVに向かうものを抽出する。そして抽出されたこれらの反射光に応じた色の階調値を画角VAによって定まる画像領域に配置することで視点座標PVから画角VAの範囲でxyz座標空間を見たときに見える画像を示した画像データを生成する。したがって、第2演算は、
図13における表示制御部116が行う。
【0047】
図15は、カラオケ装置3における演算を行う構成と、そのタイミングとを示す図である。端末1の制御部11は、操作部13で受け付けた操作に基づいて記憶部12の目次DB121から曲番号を特定し(ステップS101)、対応表122を参照してその曲番号に対応付けられた人物像番号を特定する(ステップS102)。そして制御部11は、近距離通信部15を用いて、
図7(b)に示したような指示信号を本体装置2の近距離通信部25へ送信する(ステップS103)。
【0048】
本体装置2の制御部21は、指示信号を受け取るとこの指示信号が示す曲番号に対応付けられた曲データを曲DB221から見つけ出し、これに含まれる演奏データを読み出して曲の演奏を行う(ステップS104)。また、制御部21は、指示信号が示す人物像番号に対応付けられた人物像データを人物像DB222から見つけ出し、この人物像データと上述した曲データに含まれる動作データとを用いて第1演算を行う(ステップS105)。なお、制御部21は、曲データに含まれる背景データや歌詞データに基づいて、演奏の進行に伴って表示されるべき背景映像や歌詞を表示部24の表示画面241に表示させる。
【0049】
端末1のセンサ133は、端末1の筐体の姿勢を検知し、この姿勢に応じた信号を制御部11に送る(ステップS106)。制御部11は、センサ133が検知した筐体の姿勢に応じて、xyz座標空間における視点データを加工して、現在の視点を特定する(ステップS107)。例えば、ユーザによって端末1の筐体が傾けられた場合に、制御部11はセンサ133から送られた信号を解析してその傾きの角度を求め、この角度に応じて視点データに含まれる画角が傾くようにそのデータ内容を書き換える。また、制御部11は、操作部13の操作子131やタッチパネル132により受け付けられた操作に応じて視点データを加工してもよい。なお、この例では光源データはxyz座標空間において固定されているものとする。
【0050】
制御部21は、第1演算を行うことにより生成された空間データを、近距離通信部25を用いて端末1へ送信する(ステップS108)。端末1の制御部11は、本体装置2から送信された空間データと、上述した光源データと、視点データとを用いて第2演算を行う(ステップS109)。そして、制御部11は、第2演算により生成された画像データに応じた画像を、表示部14の表示画面141に表示させる(ステップS110)。
【0051】
以上、説明したようにカラオケ装置3は、端末1による曲の特定に応じて人物像を特定するので、曲を特定した端末1と特定された曲との組に応じて端末1の表示部14に表示させる人物像が決まる。したがって、選曲に用いた端末1ごとに固有の人物像を表示させるサービスがカラオケ装置3によって提供される。
【0052】
また、カラオケ装置3は、端末1の表示部14と本体装置2の表示部24とに個別の画像を表示させる。
図16はカラオケ装置3によって表示部14と表示部24とにそれぞれ表示される画像例を示した図である。
図16(a)に示す画像は、端末1の表示部14に表示される画像の例であり、選曲とともに特定された人物像が演奏の進行に伴って動作データに応じた踊りを踊る様子が表現されている。一方、
図16(b)に示す画像は、本体装置2の表示部24に表示される画像の例であり、背景データに応じた背景と、歌詞データに応じた歌詞とが重ね合わせられて表現されている。したがって、カラオケ装置3は、本体装置2に提供する画像とは別に、選曲に用いた端末1に固有の画像として、人物像が動作する様子を表現した画像をその端末1に提供する。
【0053】
また、カラオケ装置3は、ユーザが選曲に用いた端末1に、
図16(a)に示すような画像を表示させるので、ユーザは選曲のときに端末1の表示部14に向けていた視線を動かすこと無く、曲の再生に伴って人物像が動作する様子を見ることができる。つまり、選曲から曲の再生に移行しても、ユーザは視線を動かす必要がない。
そして、カラオケ装置3では、選曲の後で、曲が再生されている間にも、その曲の再生に合わせて動作する人物像が端末1の表示部14により表示されるので機器(端末1)の有効利用が図られる。
【0054】
<変形例>
以上、本発明の実施形態について説明したが、本発明は以下のように、さまざまな態様で実施可能である。
(変形例1)
上述した実施形態において、記憶部12が有する対応表122は読出し専用の表であってもよいが、更新可能な表であってもよい。例えば、端末1の操作部13を用いてユーザが対応表122を編集可能なように構成されていてもよい。また、本体装置2が記憶部22に対応表を記憶しており、端末1の制御部11が近距離通信部15を用いてこの対応表を本体装置2から獲得して、対応表122を更新してもよい。この場合、本体装置2は、サーバ5などの外部装置から送られる情報に応じて記憶部22に記憶させる対応表を更新するようにしてもよい。
【0055】
(変形例2)
上述した実施形態において、第1演算は生成部212、つまり、本体装置2の制御部21により行われていたが、端末1の制御部11により行われてもよい。
図17は、変形例2のカラオケ装置3における演算を行う構成と、そのタイミングとを示す図である。
図17に示す動作の流れと
図15に示す動作の流れとで共通する工程は、共通の符号を付して説明を省略する。
【0056】
本体装置2の制御部21は、指示信号を受け取るとこの指示信号が示す人物像番号に対応付けられた人物像データを人物像DB222から見つけ出し、この人物像データを端末1へ送信する(ステップS201)。また、制御部21は、指示信号が示す曲番号に対応付けられた曲データを曲DB221から見つけ出し、これに含まれる演奏データを読み出して曲の演奏を行うとともに(ステップS104)、上述した曲データに含まれる動作データを端末1へ送信する(ステップS202)。端末1は、ステップS201で本体装置2から得た人物像データと、ステップS202で本体装置2から得た動作データとを用いて、第1演算を行う(ステップS203)。これにより、本体装置2の制御部21によって第1演算を行った場合に比べて、制御部21の負荷は低減される。
【0057】
なお、この場合、
図13に示した第2要求部115は、第1特定部111により特定された曲番号と、第2特定部112により特定された人物像番号とを本体装置2に送信する。そして、第2要求部115は、曲番号が示す曲の再生に伴ってxyz座標空間において人物像番号が示す人物像に行わせる動作を示す動作データの送信と、人物像番号が示す人物像の形状を示す人物像データの送信とを要求する。
また、この場合、
図13に示した生成部212は、第2要求部115による要求に応じて空間データの代わりに動作データおよび人物像データを生成する。具体的に、生成部212は、探し出した曲データから動作データを抽出することで、この動作データを生成するとともに、第2要求部115による要求に含まれる人物像番号に対応付けられた人物像データを人物像DB222から見つけ出すことで、この人物像データを生成する。
【0058】
また、この場合、
図13に示した送信部213は、生成部212が生成した動作データおよび人物像データを端末1に送信する。
そして、この場合、
図13に示した表示制御部116は、第2要求部115による要求に応じて本体装置2から送信された動作データおよび人物像データと、第3特定部113により特定された視点とに基づいて、その視点からxyz座標空間における上述の人物像を見たときの画像を表示する。したがって、この場合、表示制御部116は、
図14に示した第1演算を行って、さらに第2演算を行う。
【0059】
(変形例3)
上述した実施形態において、人物像DB222は本体装置2の記憶部22に記憶されていたが、これに相当する内容を端末1の記憶部12に記憶させてもよい。例えば、
図2に破線で示すように、記憶部12に上述した人物像DB222と共通する記憶内容を有する人物像DB123を記憶させてもよい。この場合、端末1は上述した指示信号に加えて、人物像番号で特定される人物像データを人物像DB123から読み出して本体装置2へ送信すればよい。この人物像データを受け取った本体装置2の制御部21は、この人物像データと上述した動作データに基づいて第1演算を行えばよい。なお、この変形例3において、変形例2に示すように端末1の制御部11に第1演算を行わせる場合には、本体装置2と端末1との間で人物像データを遣り取りする必要はない。この場合、端末1の制御部11が人物像DB123から読みだした人物像データと、本体装置2から受け取った動作データとを用いて第1演算を行うからである。
【0060】
なお、この場合、
図13に示した第2要求部115は、第2特定部112により特定された人物像番号を本体装置2に送信しなくてもよい。第2要求部115は、第1特定部111により特定された曲番号を本体装置2に送信して、その曲番号が示す曲の再生に伴ってxyz座標空間において上述の人物像番号が示す人物像に行わせる動作を示す動作データの送信を要求すればよい。
また、この場合、
図13に示した生成部212は、第2要求部115による要求に応じて空間データの代わりに動作データを生成する。したがって、この場合、
図13に示した送信部213は、生成部212が生成した動作データを端末1に送信する。
そして、この場合、
図13に示した表示制御部116は、第2要求部115による要求に応じて本体装置2から送信された動作データと、人物像DB123から読み出した人物像データと、第3特定部113により特定された視点とに基づいて、その視点からxyz座標空間における上述の人物像を見たときの画像を表示する。
【0061】
(変形例4)
カラオケ装置3は、複数の端末1を備えていてもよい。またこの場合、曲を特定した端末1以外の端末1は、曲を特定した端末1と異なる人物像を表示してもよい。
図18は、変形例4のカラオケ装置3における演算を行う構成と、そのタイミングとを示す図である。
図18に示す動作の流れと
図15に示す動作の流れとで共通する工程は、共通の符号を付す。共通する工程については説明を省略する場合がある。
【0062】
カラオケ装置3は、端末1a,1bと、本体装置2とを備える。
図18に示す例において、端末1aは、ユーザの操作を受け付けて曲を特定する一方、端末1bは、曲を特定しないが、人物像番号を特定し(ステップS301)、この人物像番号を含む指示信号を本体装置2に送信する(ステップS302)。本体装置2の制御部21は、ステップS103で端末1aから取得した指示信号(以下、指示信号aという)を用いて曲の演奏を行う(ステップS104)。また、制御部21は、指示信号aと、ステップS302で端末1bから取得した指示信号(以下、指示信号bという)とを参照して、第1演算を行う(ステップS105)。この第1演算において、指示信号aにより示される人物像番号と、指示信号bにより示される人物像番号とは異なる場合があるため、制御部21は、それぞれ個別の空間データを生成し、端末1a,1bのそれぞれに送信する(ステップS108,S305)。
【0063】
端末1bのセンサ133は、端末1bの筐体の姿勢を検知し、この姿勢に応じた信号を制御部11に送る(ステップS303)。端末1bの制御部11は、端末1bのセンサ133が検知した筐体の姿勢に応じて、xyz座標空間における視点データを加工して、現在の視点を特定する(ステップS304)。
【0064】
また、本体装置2から空間データを取得した端末1bの制御部11は、その空間データと、ステップS304で加工された視点データと、xyz座標空間において固定されている光源データとを用いて第2演算を行う(ステップS306)。そして、端末1bの制御部11は、第2演算により生成された画像データに応じた画像を、端末1bの表示部14の表示画面141に表示させる(ステップS307)
【0065】
以上により、カラオケ装置3は、本体装置2に提供する画像とは別に、選曲に用いた端末1aと、選曲に用いられなかった端末1bとに、それぞれ個別の人物像が動作する様子を表現した画像を各端末1にそれぞれ提供する。したがって、複数の端末1は、各端末1に対応付けられた人物像が踊る様子を、それぞれ個別に各表示部14に表示させる。
【0066】
なお、ステップS301において端末1bの制御部11が行う人物像番号の特定の処理は、本体装置2が、端末1aから曲番号と人物像番号とを含む指示信号aを受け取った後に行われてもよい。この場合、本体装置2が受け取った指示信号aから曲番号を読み出して端末1bに送ってもよい。端末1bの制御部11は、本体装置2から送られた曲番号を自身の記憶部12に記憶されている対応表122から参照して、これに対応付けられている人物像番号を特定することで、ステップS301を実現してもよい。
【0067】
(変形例5)
上述した実施形態において、光源データは、xyz座標空間において固定されていたが、端末1による操作に応じて特定されるように構成されていてもよい。
図19は、変形例5のカラオケ装置3における光源を特定する構成と、そのタイミングとを示す図である。
図19に示す動作の流れと
図15に示す動作の流れとで共通する工程は、共通の符号を付す。共通する工程については説明を省略する場合がある。
【0068】
カラオケ装置3は、端末1a,1cと、本体装置2とを備える。
図19に示す例において、端末1aは、ユーザの操作を受け付けて曲を特定する一方、端末1cは、曲を特定しないが、端末1cのセンサ133は、端末1cの筐体の姿勢を検知し、この姿勢に応じた信号を制御部11に送る(ステップS401)。そして、端末1cの制御部11は、端末1cのセンサ133が検知した筐体の姿勢に応じて、xyz座標空間における光源データを加工して、現在の光源の座標を特定する(ステップS402)。
【0069】
光源の座標を特定した端末1cの制御部11は、この座標を含むデータである光源データを生成し、近距離通信部15を用いて本体装置2へ送信する(ステップS403)。本体装置2は、破線で示すように、この光源データを端末1aに転送する。
【0070】
本体装置2から空間データを取得した端末1aの制御部11は、その空間データと、ステップS107で加工された視点データと、ステップS403で本体装置2から転送された光源データとを用いて第2演算を行う(ステップS109)。そして、端末1aの制御部11は、第2演算により生成された画像データに応じた画像を、端末1aの表示部14の表示画面141に表示させる(ステップS110)。なお、光源データは選曲に用いられなかった端末1cで生成されていたが、選曲に用いた端末1aで生成されてもよい。
【0071】
以上により、カラオケ装置3は、端末1を用いて光源の位置などを決める。これにより、ユーザは、端末1を操作して、人物像を撮影するためのアングルを決定することができることに加えて、その人物像に当てる光を決定することができる。すなわち、ユーザは、人物像が踊る様子をカメラマンがするように撮影する楽しみを享受することに加えて、照明係がするようにその人物像を照らし出す光を調節する楽しみを享受することができる。
【0072】
(変形例6)
上述した第1演算および第2演算を行う構成は、それぞれの負荷に応じて決められてもよい。例えば、本体装置2の制御部21により第1演算を行う場合に、CPUの負荷を表す数値が予め決められた閾値を超えたときには、制御部21は、第1演算を端末1に行わせる旨の指示を端末1へ送るようにしてもよい。また、端末1や本体装置2は、それぞれに備えられたCPUの負荷を監視して、この負荷を表す数値が予め決められた閾値を下回ったときには、他の構成に対して、演算能力に余裕がある旨の通知を送るようにしてもよい。この場合、上述した通知を送った端末1または本体装置2は、他の構成が実行していた演算を代行すればよい。
【0073】
(変形例7)
上述した実施形態において、人物像は、人間の体を15個の部位に対応するパーツとして表現していたが、パーツの個数はこれに限られない。例えば、右手、左手のパーツにそれぞれ指のパーツを設けてもよいし、頭と胸とのパーツ間に首のパーツを設けてもよい。
【0074】
(変形例8)
上述した実施形態において、人物像は、人間の体を部位ごとにそれぞれポリゴンのパーツとして表現し、これら複数のパーツを組み合わせて構成されていたが、人物像は、人間の体を表現したものに限られない。人物像は、例えば猫や猿、昆虫などといった人間以外の生物の体を表現したものであってもよいし、スフィンクスやケンタウロスといった架空の生物の体、あるいはロボットなどの無生物の姿を表現したものであってもよい。また、例えば、マフラーや袖といった衣服・アクセサリーなどの物体も人物像に含めてもよい。この場合、これらの物体は、人物像のうち、動作データに動作が記述されたパーツに合わせて、動くように構成されていてもよい。例えば、マフラーの動きは、そのマフラーが巻かれている首の部分の動きと、マフラーの質量、周囲の圧などを加味した物理演算により求められてもよい。要するに人物像は、曲の再生に伴って動作する像であれば何でもよい。
【0075】
(変形例9)
上述した実施形態において、曲DB221は、曲番号と曲データとを対応付けて記憶し、曲データには、1つの動作データが記述されていたが、曲データには複数の動作データが記述されていてもよい。この場合、複数の動作データの各ヘッダ部には、その動作データを識別する識別情報として動作番号が記述されており、端末1は、本体装置2へ送信する指示信号に、曲番号と人物像番号とに加えて、いずれか1つの動作データを特定するための動作番号を含めてもよい。動作番号を含む指示信号を受け取った本体装置2は、その動作番号に基づいて、複数の動作データから1つの動作データを特定して、上述した第1演算を行ったり、特定したその動作データを端末1へ送ったりすればよい。
【0076】
1つの曲であっても、複数の歌手がその曲の歌を歌う場合や、複数の踊り手がその曲に合わせて踊る場合には、一般に複数の異なる動作が各人に割り当てられている。この構成によれば、曲データに複数の動作データが記述されていて、ユーザはそれらからいずれか1つを選択することができるので、例えば、ユーザは複数の踊り手がそれぞれ異なった振付で踊る曲において、所望する踊り手の振付を学習することができる。
【0077】
なお、端末1が指示信号に動作番号を含める態様としては、端末1がユーザの操作に応じて曲を特定した後、さらにユーザの操作を受け付けて動作番号を特定してもよい。また、予め対応表122に、曲番号と人物像番号と上述した動作番号とを対応付けて記述し、曲番号が特定されたことに連動して人物像番号と動作番号とが特定されるようにしてもよい。また、人物像番号と動作番号とが1対1の対応関係がある場合には、人物像番号で動作番号を代用してもよい。例えば、複数の動作データの各ヘッダ部には、人物像番号が記述されていてもよい。
【0078】
(変形例10)
上述した実施形態において、対応表122は、1つの曲番号に1つの人物像番号を対応付けていたが、1つの曲番号に複数の人物像番号を対応付けてもよい。例えば、
図7(a)に破線で示すように、対応表122には、曲番号と人物像番号(1人目)と、さらに『人物像番号(2人目)』を対応付けていてもよい。この場合、曲データに1人目の人物像の動作を示す動作データ(以下、動作データAという)に加えて、2人目の人物像の動作を示す動作データ(以下、動作データBという)が記述されているのであれば、端末1の制御部11や本体装置2の制御部21は、1人目の人物像番号が示す人物像に動作データAが示す動作を行わせ、2人目の人物像番号が示す人物像に動作データBが示す動作を行わせるように、第1演算を行って空間データを生成すればよい。
【0079】
具体的には、例えば、曲番号「P01」に示す曲をユーザが選択した場合に、制御部11は、
図7(a)に示す対応表122において、その曲番号「P01」に対応付けられている1人目の人物像番号「M01」と、2人目の人物像番号「M11」とを特定する。
【0080】
これにより端末1の制御部11は、
図7(b)に示すように、曲番号「P01」に1人目の人物像番号「M01」と2人目の人物像番号「M11」とを付加した信号を生成し、これをユーザの選曲に基づく指示を示す指示信号として、近距離通信部15を用いて本体装置2へ送信する。その結果、人物像番号「M01」で識別される1人目の人物像の人物像データと、人物像番号「M11」で識別される2人目の人物像の人物像データとが、それぞれ動作データA、動作データBに対応付けられて第1演算が行われて空間データが生成される。生成された空間データと、上述した光源データと、視点データとを用いて第2演算が行われることにより画像データが生成されると、端末1aの制御部11は、この画像データに応じた画像を、表示部14の表示画面141に表示させればよい。これにより、表示画面141には、複数(この場合2人)の人物像が、上述の曲番号で特定される曲の再生に伴ってそれぞれ個別に動作する様子が表示される。
【0081】
すなわち、曲データに複数の動作データが記述されている曲であって1画面に複数の人物像を表示したい曲(デュエット曲やグループ曲など)がある場合、ユーザは、対応表122においてその曲の曲番号に複数の人物像番号を対応付けて記憶させればよい。これにより、ユーザは、上記の曲の再生に伴って、複数の人物像がそれぞれ異なる動作で踊る映像を端末1の表示画面141に表示させることができる。
【0082】
なお、このように1つの曲番号に対して、複数の人物像番号と複数の動作データとが対応付けられている場合には、人物像番号および動作データのそれぞれに付された順序(この場合、1人目、2人目の別)に基づいて、人物像番号と動作データとを関連づければよい。また、対応表122は、1つの曲番号に3以上の人物像番号を対応付けてもよい。
【0083】
またここで、m,nが1以上の自然数とし、対応表122において或る1つの曲番号に対応付けて記述されている人物像番号の個数mが、その曲番号で特定される曲データに含まれる動作データの個数nよりも多い(すなわち、m>n)場合、(n+1)人目からm人目までの人物像番号が示す人物像には、1人目からm人目までのいずれかの動作データが示す動作を行わせるようにしてもよいし、これらを順に割り当ててもよい。また、この場合、(n+1)人目からm人目までの人物像番号が示す人物像は使用しなくてもよい。
【0084】
そして、対応表122において或る1つの曲番号に対応付けて記述されている人物像番号の個数mが、その曲番号で特定される曲データに含まれる動作データの個数nよりも少ない(すなわち、m<n)場合、(m+1)人目からn人目までの動作データには、1人目からm人目までのいずれかの人物像番号が示す人物像を割り当ててもよいし、これらを順に割り当ててもよいし、予め定められた人物像を割り当ててもよい。また、この場合、(m+1)人目からn人目までの動作データは使用しなくてもよい。
【0085】
例えば、
図7(a)に示す対応表122において、曲番号「P02」には、1人目の人物像番号「M02」が対応付けられているが、2人目の人物像番号は未設定である。この場合において、曲番号「P02」で識別される曲データに1人目および2人目の各動作データが記述されているとするならば、2人目の動作データに対応付けられる人物像番号が未設定ということになる。この場合であっても、記憶部12または記憶部22に、上述したようなルールが記憶されていれば、制御部11または制御部21は、そのルールに従って、未設定の人物像番号を新たに設定したり、未設定の人物像番号に対応する動作データを使用しないように制限したりすることができる。
【0086】
(変形例11)
上述した実施形態において、曲データは、演奏データ、背景データ、歌詞データ、および動作データを含むものであったが、曲の進行に伴ってユーザに提示する情報を示す提示データを含んでいてもよい。この提示データとは、例えば、動作データに示される動作を数秒間先行して知らせるものであってもよい。この場合、ユーザは振付が複雑になる直前にそのことを警告されるので、振付の学習を効率的に行うことができる。また、提示データは、仮想空間における視点の位置についてアドバイスするものであってもよい。具体的には、提示データは、あるタイミングに差し掛かったときに、視点を右側に動かした方がよいことを示す矢印などを端末1の表示部14に表示させるための制御データであってもよい。
【0087】
(変形例12)
上述した実施形態において、端末1の操作部13には、加速度センサや角速度センサなどを含むセンサ133を備えていたが、筐体の運動状態や姿勢などを検知してこれらに応じた信号を出力するセンサ133はこれに限られない。例えば、ユーザの体を撮影するカメラと、そのカメラで撮影された画像を解析するプロセッサなどにより、その運動状態や姿勢などを検知する構成を含んでいてもよい。
【0088】
(変形例13)
上述した実施形態において、選曲に用いられた端末1は、曲の再生中に人物像が動作する様子を表現した画像を表示部14に表示させていたが、この画像の表示中に、ユーザの操作を受け付けて、選曲を行ってもよい。具体的に、端末1は、人物像が動作する様子を表現した画像を表示部14の表示画面141に表示させるとともに、その表示画面141の一部に「切り替えボタン」を表示させる。この「切り替えボタン」が表示されている位置にユーザの指などが触れると、タッチパネル132がユーザの触れた位置を検知して、画面を切り替える旨の指示を制御部11に送る。この指示を受けた制御部11は、
図4に示したような選曲メニューを表示画面141に表示させる。これにより、端末1は、曲の再生に合わせて動作する人物像を表示することで、曲の再生を演出するとともに、その表示が行われている間にも、選曲をする機能を実現することができる。
なお、制御部11は、表示画面141に、人物像が動作する様子に重畳して選曲メニューを表示させてもよいし、表示画面141の表示領域を分割して、このうちの一方に人物像が動作する様子を表示させ、他方に選曲メニューを表示させてもよい。
【0089】
(変形例14)
上述した実施形態におけるプログラムは、磁気記録媒体(磁気テープ、磁気ディスクなど)、光記録媒体(光ディスクなど)、光磁気記録媒体、半導体メモリなどのコンピュータ読み取り可能な記録媒体に記憶した状態で提供し得る。また、端末1や本体装置2は、プログラムをネットワーク経由でダウンロードしてもよい。