以下、本発明に係るプログラム、情報処理装置、情報処理システムおよび情報処理方法の実施の形態について、図面に基づいて説明する。なお、以下に説明する実施の形態は、本発明を実施する一例を示すものであって、本発明を以下に説明する具体的構成に限定するものではない。本発明を実施するにあたっては、実施の形態に応じた具体的構成が適宜採用されることが好ましい。
なお、本実施形態では、以下に、本発明を、情報処理装置の一態様であるゲーム装置において実施する場合について説明するが、本発明は、データが属するグループを、ツリー構造をもって管理する情報処理装置であればどのような情報処理装置に対しても適用することが可能であり、本発明の適用対象は、ゲーム装置に限定されない。例えば、本発明は、パーソナルコンピュータ、携帯電話端末装置、携帯型オーディオプレーヤ、据置型オーディオプレーヤ、据置型ゲーム装置、等、種々の情報処理装置に適用することが可能である。
<ハードウェア構成>
図1、図2、図3A、図3B、図3C、及び図3Dは、本実施形態に係るゲーム装置の
外観を示す平面図である。
図1−図3Dに示されるゲーム装置10は、撮像部(カメラ)を内蔵しており、当該撮像部によって画像を撮像し、撮像した画像を画面に表示したり、撮像した画像のデータを保存したりすることが可能である。また、ゲーム装置10は、交換可能なメモリカード内に記憶されたゲームプログラム、又は、サーバや他のゲーム装置からネットワークを介して受信したゲームプログラムを実行可能である。また、ゲーム装置10は、仮想空間に設定された仮想カメラで撮像したときの画像を、コンピュータグラフィックス処理により生成して画面に表示することもできる。
図1−図3Dに示されるゲーム装置10は、下側ハウジング11および上側ハウジング21を有する。下側ハウジング11と上側ハウジング21とは、ヒンジ構造により開閉可能(折り畳み可能)に連結されている。すなわち、上側ハウジング21は、下側ハウジング11に対して回動(揺動)自在に取り付けられている。これにより、ゲーム装置10は、上側ハウジング21が下側ハウジング11に対して密着した状態となる閉状態(図3A,図3C)と、上側ハウジング21が下側ハウジング11に対して回動し、密着場外が解除された状態(開状態)との二つの形態を有する。上側ハウジング21の回動は、図2に示すように、開状態において、上側ハウジング21と下側ハウジング11とが略平行となる位置まで許容される(図2参照)。
図1は、開いた状態(開状態)におけるゲーム装置10を示す正面図である。ゲーム装置10の下側ハウジング11及び上側ハウジング21のそれぞれは、平面形状が長手方向(横方向(左右方向):図中x方向)と短手方向((上下方向):図中y方向)とを有する横長の長方形である板状に形成されている。上側ハウジング21の長手方向の下側の外縁部と、下側ハウジング11の長手方向の上側の外縁部とがヒンジ構造により回動可能に連結されている。ユーザがゲーム装置10を使用する際には、通常、ゲーム装置10は開状態にされる。そして、ユーザがゲーム装置10を保管する際には、ゲーム装置10は閉状態にされる。また、上側ハウジング21は、下側ハウジング11との連結部分に生じる摩擦力により、下側ハウジング11との間でユーザが所望する角度をなして停止した状態を維持することができる。つまり、ゲーム装置10は、上側ハウジング21を下側ハウジング11に対して所望角度で静止させることができる。一般に、上側ハウジング21に設けられた画面の視認性の観点から、上側ハウジング21は、下側ハウジング11との間で、直角又は鈍角をなす位置まで開いた状態とされる。以降、ゲーム装置10の閉状態において、上側ハウジング21と下側ハウジング11とのそれぞれの対向面を内側面、又は、主面と称する。また、上側ハウジング21と下側ハウジング11とのそれぞれの内側面(主面)とは反対側の面を、外側面と称する。
ゲーム装置10の下側ハウジング11の上側長辺部分には、下側ハウジング11の内側面(主面)11Bに対して垂直な方向(図中z方向)に突出した突起部(軸受け部)11Aが設けられる。また、上側ハウジング21の下側長辺部分には、上側ハウジング21の下側面から当該下側面に垂直な方向に突起する突起部(軸受け部)21Aが設けられる。突起部11A,21A,11A内には、例えば、一方の突起部11Aから突起部21Aを貫通し他方の突起部11Aまでx方向に延びる回動軸(図示せず)が収容されており、この回動軸を中心に、上側ハウジング21が下側ハウジング11に対して相対的に回動自在となっている。このようにして、下側ハウジング11と上側ハウジング21とが、折り畳み可能に接続される。
図1に示される下側ハウジング11の内側面11Bには、下側LCD(Liquid Crystal Display:液晶表示装置)12、タッチパネル13、各操作ボタン14A〜14L、アナログスティック15、第1LED16A、および、マイクロフォ
ン用孔18が設けられる。
下側LCD12は下側ハウジング11に収納される。下側LCD12の平面形状は横長の長方形であり、その長辺方向が下側ハウジング11の長手方向(図1中x方向)に一致するように配置される。下側LCD12は、下側ハウジング11の内側面(主面)中央に設けられる。下側ハウジング11の内側面に設けられた開口部から下側LCD12の画面が露出する。ゲーム装置10を使用しない場合には上記閉状態としておくことによって、下側LCD12の画面が汚れたり傷ついたりすることを防止することができる。下側LCD12の画素数は、一例として、320dot×240dot(横×縦)である。下側LCD12は、後述する上側LCD22とは異なり、画像を(立体視可能ではなく)平面的に表示する表示装置である。なお、本実施形態では表示装置としてLCDを用いているが、例えばEL(Electro Luminescence:電界発光)を利用した表示装置など、他の表示装置を利用してもよい。また、下側LCD12として、所望の解像度を有する表示装置を利用することができる。
タッチパネル13はゲーム装置10の入力装置の一つである。タッチパネル13は、下側LCD12の画面上を覆うように装着されている。本実施形態では、タッチパネル13は、抵抗膜方式のタッチパネルが用いられる。ただし、タッチパネル13は、抵抗膜方式に限らず、例えば、静電容量方式等、任意の押圧式のタッチパネルを用いることができる。また、本実施形態では、タッチパネル13は、下側LCD12の解像度と同解像度(検出精度)のものが利用される。ただし、必ずしもタッチパネル13の解像度と下側LCD12の解像度とが一致している必要はない。
各操作ボタン14A〜14Lは、所定の入力を行うための入力装置である。下側ハウジング11の内側面(主面)には、各操作ボタン14A〜14Lのうち、十字ボタン14A(方向入力ボタン14A)、ボタン14B、ボタン14C、ボタン14D、ボタン14E、電源ボタン14F、セレクトボタン14J、HOMEボタン14K、およびスタートボタン14Lが設けられる。
十字ボタン14Aは、十字の形状を有しており、少なくとも上下左右の方向を指示するボタンを有している。十字ボタン14Aは、下側LCD12より左側の領域中の下部領域に設けられる。十字ボタン14Aは、下側ハウジング11を把持した左手の親指で操作可能な位置に設計される。
ボタン14B、ボタン14C、ボタン14D、及びボタン14Eの4つのボタンは、下側LCD12より右側の領域中の上部に、十字状に配置されて設けられる。ボタン14B、ボタン14C、ボタン14D、及びボタン14Eは、下側ハウジング11を把持するユーザの右手の親指が自然と位置するところに設置される。電源ボタン14Fは、下側LCD12の右側の領域中の下部に配置される。
セレクトボタン14J、HOMEボタン14K、及びスタートボタン14Lは、それぞれ、下側LCD12の下側領域に設置される。
ボタン14A〜14E、セレクトボタン14J、HOMEボタン14K、およびスタートボタン14Lには、ゲーム装置10によって実行されるプログラムに応じた機能が適宜割り当てられる。例えば、十字ボタン14Aは、選択操作やゲーム中のキャラクタの移動操作等に用いられる。例えば、各操作ボタン14B〜14Eは、決定操作やキャンセル操作等に用いられる。また、電源ボタン14Fは、ゲーム装置10の電源をオン/オフするために用いられる。
アナログスティック15は、方向を指示するデバイスである。アナログスティック15は、下側ハウジング11の内側面(主面)の下側LCD12より左側の領域中の上部に設けられる。すなわち、アナログスティック15は十字ボタン14Aの上方に設けられる。また、アナログスティック15は、下側ハウジング11を把持した左手の親指で操作可能な位置に設計される。アナログスティック15が上部領域に設けられたことにより、下側ハウジング11を把持するユーザの左手の親指が自然と位置するところにアナログスティック15が配置される。そして、十字ボタン14Aは、下側ハウジング11を把持するユーザの左手の親指を少し下にずらした位置に配置される。それゆえ、ユーザは、下側ハウジング11を把持する左手の親指を上下に動かすだけで、アナログスティック15と十字ボタン14Aを操作することができる。アナログスティック15は、そのキートップが、下側ハウジング11の内側面に平行にスライドするように構成されている。アナログスティック15は、ゲーム装置10が実行するプログラムに応じて機能する。例えば、3次元仮想空間に所定のオブジェクトが登場するゲームがゲーム装置10によって実行される場合、アナログスティック15は、当該所定のオブジェクトを3次元仮想空間内で移動させるための入力装置として機能する。この場合において、所定のオブジェクトは、アナログスティック15のキートップがスライドした方向に移動される。なお、アナログスティック15として、上下左右および斜め方向の任意の方向に所定量だけ傾倒することでアナログ入力を可能としたものを用いてもよい。
なお、ボタン14B、ボタン14C,ボタン14D、及びボタン14Eの4つのボタンとアナログスティック15とは、下側LCD12を挟んで、左右対称な位置に配置される。これにより、ゲームプログラムによっては、例えば、左利きの人が、ボタン14B、ボタン14C,ボタン14D、及びボタン14Eの4つのボタンを使用して方向指示入力をすることも可能である。
第1LED16A(図1)は、ゲーム装置10の電源のON/OFF状態をユーザに通知する。第1LED16Aは、下側ハウジング11の内側面(主面)と下側ハウジング11の下側面とが共有する端部の右側に設けられる。これによって、ユーザは、ゲーム装置10の開閉状態にかかわらず、第1LED16Aの点灯の有無を視認することができる。
マイクロフォン用孔18は、音声入力装置としてのゲーム装置10に内蔵されるマイクロフォン用の孔である。内蔵されたマイクロフォンは、マイクロフォン用孔18から外部の音を検出する。マイクロフォン及びマイクロフォン用孔18は、下側ハウジング11の内側面(主面)の電源ボタン14Fの下方に設けられる。
下側ハウジング11の上側面には、タッチペン28の挿入口17(図1、図3Dにおいて点線で示される)が設けられている。挿入口17から、タッチパネル13に対する操作を行うために用いられるタッチペン28を収納することができる。なお、タッチパネル13を用いた入力は、通常タッチペン28を用いて行われる。但し、タッチペン28の代わりにユーザの指を用いることもできる。
下側ハウジング11の上側面にはゲーム装置10とゲームプログラムを記録した外部メモリ45を挿入するための挿入口11D(図1、図3Dにおいて点線で示される)が設けられる。挿入口11Dの内部には、外部メモリ45と内部回路とを電気的に着脱自在に接続するためのコネクタ(図示せず)が設けられる。外部メモリ45がゲーム装置10に接続されることにより、内部回路に含まれるプロセッサによって所定のゲームプログラムが実行される。なお、上記コネクタおよび挿入口11Dは、下側ハウジング11の他の側面(例えば、右側面等)に設けられてもよい。
図1に示される上側ハウジング21の内側面21Bには、スピーカ孔21E、上側LC
D22、内側撮像部24、3D調整スイッチ25、および3Dインジケータ26が設けられる。
上側LCD22は、立体視可能な画像を表示することが可能な表示装置である。上側LCD22は、実質的に同一の表示領域を用いて左目用画像と右目用画像とを表示することが可能である。具体的には、上側LCD22は、左目用画像と右目用画像とが所定単位で(例えば、1列ずつ)横方向に交互に表示される方式の表示装置である。なお、上側LCD22は、左目用画像と右目用画像とが交互に表示される方式の表示装置であってもよい。また、上側LCD22は、裸眼立体視可能な表示装置である。この場合、上側LCD22は、横方向に交互に表示される左目用画像と右目用画像とを左目および右目のそれぞれに分解して見えるようにレンチキュラー方式やパララックスバリア方式(視差バリア方式)のものが用いられる。本実施形態では、上側LCD22は、パララックスバリア方式の表示装置とする。上側LCD22は、右目用画像と左目用画像とを用いて、裸眼で立体視可能な画像(立体画像)を表示する。すなわち、上側LCD22は、視差バリアを用いてユーザの左目に左目用画像をユーザの右目に右目用画像をそれぞれ視認させることにより、ユーザにとって立体感のある立体画像(立体視可能な画像)を表示することができる。また、上側LCD22は、上記視差バリアを無効にすることが可能であり、視差バリアを無効にした場合は、画像を平面的に表示することができる(上述した立体視とは反対の意味で平面視の画像を表示することができる。すなわち、表示された同一の画像が右目にも左目にも見えるような表示モードである。)。このように、上側LCD22は、立体視可能な画像を表示する立体表示モードと、画像を平面的に表示する(平面視画像を表示する)平面表示モードとを切り替えることが可能な表示装置である。この表示モードの切り替えは、後述する3D調整スイッチ25によって行われる。
上側LCD22は、上側ハウジング21に収納される。上側LCD22は、横長の長方形であり、長辺方向が上側ハウジング21の長辺方向に一致する状態で、上側ハウジング21の中央に配置される。上側LCD22の画面の面積は、一例として下側LCD12の画面の面積よりも大きく設定される。具体的には、上側LCD22の画面は、下側LCD12の画面よりも横長に設定される。すなわち、上側LCD22の画面のアスペクト比における横幅の割合は、下側LCD12の画面のアスペクト比における横幅の割合よりも大きく設定される
上側LCD22の画面は、上側ハウジング21の内側面(主面)21Bに設けられ、上側ハウジング21の内側面21Bに設けられた開口部から上側LCD22の画面が露出する。また、上側ハウジング21の内側面は、透明なスクリーンカバー27によって覆われている。スクリーンカバー27は、上側LCD22の画面を保護するとともに、上側LCD22と上側ハウジング21の内側面と一体的にさせ、これにより統一感を持たせている。上側LCD22の画素数は、一例として800dot×240dot(横×縦)である。本実施形態では、上側LCD22は液晶表示装置であるとして説明される。ただし、これに限らず、例えば、ELを利用した表示装置などが利用されてもよい。また、上側LCD22として、任意の解像度の表示装置を利用することができる。
スピーカ孔21Eは、ゲーム装置10の音声出力装置としてのスピーカ44からの音声を出力するための孔である。スピーカ21Eは、上側LCDを挟んで左右対称に設置される。後述するスピーカ44からの音声がこのスピーカ孔21Eから出力される。
内側撮像部24は、上側ハウジング21の内側面21Bの内向きの法線方向を撮像方向とする撮像部である。内側撮像部24は、所定の解像度を有する撮像素子と、レンズとを含む。撮像素子は、例えば、CCDイメージセンサやCMOSイメージセンサ等である。レンズは、ズーム機構を有するものでもよい。
内側撮像部24は、上側ハウジング21の内側面21Bの、上側LCD22の画面の上端よりも上方に配置され、上側ハウジング21の左右方向に関して中央の位置(上側ハウジング21(上側LCD22の画面)を左右に2等分する線の線上)に配置される。このように内側撮像部24が配置されることによって、ユーザが上側LCD22を正視した際、内側撮像部24によってユーザの顔を正面から撮像することができる。外側左撮像部23aおよび外側右撮像部23bについては、後述される。
3D調整スイッチ25は、スライドスイッチであり、上述のように上側LCD22の表示モードを切り替えるために用いられるスイッチである。また、3D調整スイッチ25は、上側LCD22に表示された立体視可能な画像(立体画像)の立体感を調整するために用いられる。3D調整スイッチ25は、ゲーム装置10の開閉状態に関わらずユーザが視認できるように、上側ハウジング21の内側面21Bと右側面とが共有する端部に設けられる。3D調整スイッチ25は、所定方向(例えば、上下方向)の任意の位置にスライド可能なスライダを有しており、当該スライダの位置に応じて上側LCD22の表示モードが設定される。
例えば、3D調整スイッチ25のスライダが最下点位置に配置されている場合、上側LCD22が平面表示モードに設定され、上側LCD22の画面には平面画像が表示される。なお、上側LCD22を立体表示モードのままとして、左目用画像と右目用画像とを同一の画像とすることにより平面表示してもよい。一方、上記最下点位置より上側にスライダが配置されている場合、上側LCD22は立体表示モードに設定される。この場合、上側LCD22の画面には立体視可能な画像が表示される。ここで、スライダが上記最下点位置より上側に配置されている場合、スライダの位置に応じて、立体画像の見え方が調整される。具体的には、スライダの位置に応じて、右目用画像および左目用画像における横方向の位置のずれ量が調整される。
3Dインジケータ26は、上側LCD22が立体表示モードか否かを示す。例えば、3Dインジケータ26は、LEDであり、上側LCD22の立体表示モードが有効の場合に点灯する。3Dインジケータ26は、上側ハウジング21の内側面21Bに設けられ、上側LCD22の画面近傍に設けられる。このため、ユーザが上側LCD22の画面を正視した場合、ユーザは3Dインジケータ26を視認しやすい。したがって、ユーザは、上側LCD22の画面を視認している状態でも、上側LCD22の表示モードを容易に認識することができる。
図2は、開状態におけるゲーム装置10を示す右側面図である。下側ハウジング11の右側面には、第2LED16Bと、無線スイッチ19と、Rボタン14Hとが設けられている。第2LED16Bは、点灯により、ゲーム装置10の無線通信の確立状況をユーザに通知する。ゲーム装置10は、他の機器との間で無線通信を行うことが可能であり、第2LED16Bは、他の機器との無線通信が確立している場合に点灯する。ゲーム装置10は、例えば、IEEE802.11.b/gの規格に準拠した方式により、無線LANに接続する機能を有する。無線スイッチ19は、この無線通信の機能を有効/無効にする。Rボタン14Hについては、後述される。
図3Aは、閉じた状態(閉状態)におけるゲーム装置10を示す左側面図である。図3Aに示される下側ハウジング11の左側面には、開閉可能なカバー部11Cと、Lボタン14Hと、音量ボタン14Iとが設けられる。音量ボタン14Iは、ゲーム装置10が備えるスピーカ44の音量を調整するためのボタンである。
カバー部11Cの内側には、ゲーム装置10とデータ保存用外部メモリ46(図1参照
)とを電気的に接続するためのコネクタ(図示せず)が設けられる。データ保存用外部メモリ46は、上記コネクタに着脱自在に装着される。データ保存用外部メモリ46は、例えば、ゲーム装置10によって撮像された画像のデータを記憶(保存)するために用いられる。なお、上記コネクタおよびカバー部11Cは、下側ハウジング11の右側面に設けられてもよい。Lボタン14Hについては後述される。
図3Bは、閉状態におけるゲーム装置10を示す正面図である。図3Bに示される上側ハウジング21の外側面には、外側左撮像部23a、外側右撮像部23b、及び第3LED29が設けられる。
外側左撮像部23a及び外側右撮像部23bは、それぞれ所定の共通の解像度を有する撮像素子(例えば、CCDイメージセンサやCMOSイメージセンサ等)と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。外側左撮像部23a及び外側右撮像部23bの撮像方向は、いずれも外側面21Dの外向きの法線方向である。すなわち、外側左撮像部23aの撮像方向および外側右撮像部23bの撮像方向(カメラの視軸)は、平行である。以降、外側左撮像部23a及び外側右撮像部23bをまとめて、外側撮像部23と称する。
外側撮像部23を構成する外側左撮像部23aおよび外側右撮像部23bは、上側LCD22の画面の横方向に並べて配置される。すなわち、2つの外側左撮像部23aおよび外側右撮像部23bを結んだ直線が上側LCD22の画面の横方向に配置されるように、外側左撮像部23aおよび外側右撮像部23bが配置される。また、ユーザが上側ハウジング21を下側ハウジング11に対して所定角度(例えば90°)揺動させ、上側LCD22の画面を正面から視認した場合に、外側左撮像部23aは画面を視認するユーザの左側に位置し、外側右撮像部23bはユーザの右側に位置する(図1参照)。外側左撮像部23aおよび外側右撮像部23bの間隔は、人間の両目の間隔程度に設定され、例えば、30mm〜70mmの範囲で設定されてもよい。なお、外側左撮像部23aおよび外側右撮像部23bの間隔は、この範囲に限らない。なお、本実施形態においては、外側左撮像部23aおよび外側右撮像部23bは、上側ハウジング21に固定されており、撮像方向を変更することはできない。
外側左撮像部23aおよび外側右撮像部23bは、上側LCD22(上側ハウジング21)の上側LCD22を左右に2等分する線に対して対称の位置にそれぞれ配置される。また、外側左撮像部23aおよび外側右撮像部23bは、上側ハウジング21を開いた状態において、上側ハウジング21の上部であって、上側LCD22の画面の上端よりも上方の位置の裏側に配置される(図1参照)。すなわち、外側左撮像部23aおよび外側右撮像部23bは、上側ハウジング21の外側面であって、上側LCD22を外側面に投影した場合、投影した上側LCD22の画面の上端よりも上方に配置される。
このように、外側左撮像部23a及び外側右撮像部23bが上側LCD22の短手方向中央線に対して線対称に配置されることにより、ユーザが上側LCD22を正視した場合に、外側撮像部23それぞれの撮像方向をユーザの左右の目それぞれの視線方向と一致させることができる。また、外側撮像部23は、上側LCD22の画面の上端より上方の裏側の位置に配置されるため、外側撮像部23と上側LCD22とが上側ハウジング21の内部で干渉することがない。さらに、外側左撮像部23aおよび外側右撮像部23bは、図3Bにおいて点線で示される上側ハウジング21の内側面に設けられた内側撮像部24を上側ハウジング21の外側面に投影した場合、当該投影された内側撮像部24を挟んで左右対称に設けられる。したがって、外側撮像部23を上側LCD22の画面の裏側に配置する場合や、内側撮像部24の裏側に外側撮像部23を配置する場合に比べて、上側ハウジング21を薄く構成することが可能となる。
外側左撮像部23aと外側右撮像部23bとは、ゲーム装置10が実行するプログラムによって、ステレオカメラとして使用することが可能である。また、プログラムによっては、2つの外側撮像部(外側左撮像部23aおよび外側右撮像部23b)のいずれか一方を単独で用いて、外側撮像部23を非ステレオカメラとして使用可能である。外側撮像部23a及び23bをステレオカメラとして機能させるプログラムが実行されている場合、外側左撮像部23aは、ユーザの左目で視認される左目用画像を撮像し、外側右撮像部23bは、ユーザの右目で視認される右目用画像を撮像する。また、プログラムによっては、2つの外側撮像部(外側左撮像部23aおよび外側右撮像部23b)で撮像した画像を合成してまたは補完的に使用することにより撮像範囲を広げた撮像をおこなうことも可能である。また、外側撮像部23aと23bとの一方を用いて撮像された単一の画像から、視差を有する左目用画像及び右目用画像を生成して、あたかも二つのカメラで撮像されたかのような疑似ステレオ画像を生成することもできる。この疑似ステレオ画像の生成において、仮想カメラ間の距離は、適宜設定可能とされる。
第3LED29は、外側撮像部23が作動している場合に点灯し、外側撮像部23が作動していることを報知する。第3LED29は、上側ハウジング21の外側面の外側撮像部23の近傍に設けられる。
図3Cは、閉状態におけるゲーム装置10を示す右側面図である。図3Dは、閉状態におけるゲーム装置10を示す背面図である。
図3Dに示される下側ハウジング11の上側面には、Lボタン14GおよびRボタン14Hが設けられている。Lボタン14Gは、下側ハウジング11の上面の左端部に設けられ、Rボタン14Hは、下側ハウジング11の上面の右端部に設けられる。Lボタン14GおよびRボタン14Hは、ゲーム装置10が実行するプログラムに応じた機能が適宜割り当てられる。例えば、Lボタン14GおよびRボタン14Hは、上述の各撮像部のシャッターボタン(撮像指示ボタン)として機能する。
なお、図示は省略するが、下側ハウジング11には、ゲーム装置10の電源となる充電式電池が収納され、下側ハウジング11の側面(例えば、上側面)に設けられた端子を介して当該電池を充電することができる。
図4および図5は、それぞれ、ゲーム装置10の使用状態を示す。図4は、ユーザがゲーム装置10を両手で把持する様子を示す図である。
図4に示される例において、ユーザは、下側LCD12および上側LCD22がユーザの方向を向く状態で、両手の掌と中指、薬指および小指とで下側ハウジング11の側面および外側面(内側面の反対側の面)を把持する。このように把持することで、ユーザは、下側ハウジング11を把持したまま、各操作ボタン14A〜14Eおよびアナログスティック15に対する操作を左右の親指で行い、Lボタン14GおよびR14Hに対する操作を左右の人差し指で行うことができる。
図5は、ユーザがゲーム装置10を片手で把持する様子を示す図である。図5に示される例において、タッチパネル13に対して入力を行う場合には、ユーザは下側ハウジング11を把持していた一方の手を離して他方の手のみで下側ハウジング11を把持する。これによって、当該一方の手でタッチパネル13に対する入力を行うことができる。
図6は、ゲーム装置10の内部構成を示すブロック図である。ゲーム装置10は、上述した各構成部に加えて、情報処理部31、メインメモリ32、外部メモリインターフェイ
ス(外部メモリI/F)33、データ保存用外部メモリI/F34、データ保存用内部メモリ35、無線通信モジュール36、ローカル通信モジュール37、リアルタイムクロック(RTC)38、加速度センサ39、角速度センサ40、電源回路41、およびインターフェース回路(I/F回路)42等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて下側ハウジング11(または上側ハウジング21でもよい)内に収納される。
情報処理部31は、所定のプログラムを実行するためのCPU(Central Processing Unit)311、画像処理を行うGPU(Graphics Processing Unit)312等を含む情報処理手段である。本実施形態では、所定のプログラムがゲーム装置10内のメモリ(例えば外部メモリI/F33に接続された外部メモリ45やデータ保存用内部メモリ35)に記憶されている。情報処理部31のCPU311は、当該所定のプログラムを実行することによって、画像処理やゲーム処理を実行する。なお、情報処理部31のCPU311によって実行されるプログラムは、他の機器との通信によって他の機器から取得されてもよい。また、情報処理部31は、VRAM(Video RAM)313を含む。情報処理部31のGPU312は、情報処理部31のCPU311からの命令に応じて画像を生成し、VRAM313に描画する。そして、情報処理部31のGPU312は、VRAM313に描画された画像を上側LCD22および/または下側LCD12に出力し、当該画像は上側LCD22および/または下側LCD12に表示される。
情報処理部31には、メインメモリ32、外部メモリI/F33、データ保存用外部メモリI/F34、およびデータ保存用内部メモリ35が接続される。外部メモリI/F33は、外部メモリ45を着脱自在に接続するためのインターフェースである。また、データ保存用外部メモリI/F34は、データ保存用外部メモリ46を着脱自在に接続するためのインターフェースである。
メインメモリ32は、情報処理部31(CPU311)のワーク領域やバッファ領域として用いられる揮発性の記憶手段である。すなわち、メインメモリ32は、画像処理やゲーム処理で用いられる各種データを一時的に記憶したり、外部(外部メモリ45や他の機器等)から取得されるプログラムを一時的に記憶したりする。本実施形態では、メインメモリ32として例えばPSRAM(Pseudo−SRAM)を用いる。
外部メモリ45は、情報処理部31によって実行されるプログラムを記憶するための不揮発性の記憶手段である。外部メモリ45は、例えば読み取り専用の半導体メモリで構成される。外部メモリ45が外部メモリI/F33に接続されると、情報処理部31は外部メモリ45に記憶されたプログラムを読み込むことができる。情報処理部31が読み込んだプログラムを実行することにより、所定の処理が行われる。データ保存用外部メモリ46は、不揮発性の読み書き可能なメモリ(例えばNAND型フラッシュメモリ)で構成され、所定のデータを格納するために用いられる。例えば、データ保存用外部メモリ46には、外側撮像部23で撮像された画像や他の機器で撮像された画像が記憶される。データ保存用外部メモリ46がデータ保存用外部メモリI/F34に接続されると、情報処理部31はデータ保存用外部メモリ46に記憶された画像を読み込み、上側LCD22および/または下側LCD12に当該画像を表示することができる。
データ保存用内部メモリ35は、読み書き可能な不揮発性メモリ(例えばNAND型フラッシュメモリ)で構成され、所定のデータを格納するために用いられる。例えば、データ保存用内部メモリ35には、無線通信モジュール36を介した無線通信によってダウンロードされたデータやプログラムが格納される。
無線通信モジュール36は、例えばIEEE802.11.b/gの規格に準拠した方式により、無線LANに接続する機能を有する。また、ローカル通信モジュール37は、所定の通信方式(例えば赤外線通信)により同種のゲーム装置との間で無線通信を行う機能を有する。無線通信モジュール36およびローカル通信モジュール37は、情報処理部31に接続される。情報処理部31は、無線通信モジュール36を用いてインターネットを介して他の機器との間でデータを送受信したり、ローカル通信モジュール37を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
情報処理部31には、加速度センサ39が接続される。加速度センサ39は、3軸(本実施形態では、xyz軸)方向に沿った直線方向の加速度(直線加速度)の大きさを検出する。加速度センサ39は、例えば下側ハウジング11の内部に設けられる。加速度センサ39は、図1に示されるように、下側ハウジング11の長辺方向をx軸、下側ハウジング11の短辺方向をy軸、下側ハウジング11の内側面(主面)に対して垂直な方向をz軸として、ゲーム装置10の各軸方向へ生じる直線加速度の大きさをそれぞれ検出する。なお、加速度センサ39は、例えば静電容量式の加速度センサとするが、他の方式の加速度センサを用いるようにしてもよい。また、加速度センサ39は1軸または2軸方向を検出する加速度センサであってもよい。情報処理部31は、加速度センサ39が検出した加速度を示すデータ(加速度データ)を受信して、ゲーム装置10の姿勢や動きを算出する。
情報処理部31には、角速度センサ40が接続される。角速度センサ40は、ゲーム装置10の3軸(本実施形態では、xyz軸)周りに生じる角速度をそれぞれ検出し、検出した角速度を示すデータ(角速度データ)を情報処理部31へ出力する。角速度センサ40は、例えば下側ハウジング11の内部に設けられる。情報処理部31は、角速度センサ40から出力された角速度データを受信して、ゲーム装置10の姿勢や動きを算出する。
情報処理部31には、RTC38および電源回路41が接続される。RTC38は、時間をカウントして情報処理部31に出力する。情報処理部31は、RTC38によって計時された時間に基づき現在時刻(日付)を計算する。電源回路41は、ゲーム装置10が有する電源(下側ハウジング11に収納される上記充電式電池)からの電力を制御し、ゲーム装置10の各部品に電力を供給する。
情報処理部31には、I/F回路42が接続される。I/F回路42には、マイク43、スピーカ44、およびタッチパネル13が接続される。具体的には、I/F回路42には、図示しないアンプを介してスピーカ44が接続される。マイク43は、ユーザの音声を検知して音声信号をI/F回路42に出力する。アンプは、I/F回路42からの音声信号を増幅し、音声をスピーカ44から出力させる。I/F回路42は、マイク43およびスピーカ44(アンプ)の制御を行う音声制御回路と、タッチパネル13の制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するA/D変換およびD/A変換を行ったり、音声信号を所定の形式の音声データに変換したりする。タッチパネル制御回路は、タッチパネル13からの信号に基づいて所定の形式のタッチ位置データを生成して情報処理部31に出力する。タッチ位置データは、タッチパネル13の入力面において入力が行われた位置(タッチ位置)の座標を示す。なお、タッチパネル制御回路は、タッチパネル13からの信号の読み込み、およびタッチ位置データの生成を所定時間に1回の割合で行う。情報処理部31は、タッチ位置データを取得することにより、タッチパネル13に対して入力が行われたタッチ位置を知ることができる。
操作ボタン14は、上記各操作ボタン14A〜14Lからなり、情報処理部31に接続される。操作ボタン14から情報処理部31へは、各操作ボタン14A〜14Iに対する入力状況(押下されたか否か)を示す操作データが出力される。情報処理部31は、操作
ボタン14から操作データを取得することによって、操作ボタン14に対する入力に応じた処理を実行する。
下側LCD12および上側LCD22は、情報処理部31に接続される。下側LCD12および上側LCD22は、情報処理部31(GPU312)の指示にしたがって画像を表示する。本実施形態では、情報処理部31は、手書き画像入力操作用の画像を下側LCD12に表示させ、外側撮像部23および内側撮像部24のいずれかから取得した画像を上側LCD22に表示させる。すなわち、情報処理部31は、上側LCD22に外側撮像部23で撮像した右目用画像と左目用画像とを用いた立体画像(立体視可能な画像)を表示させたり、内側撮像部24で撮像した平面画像を上側LCD22に表示させたり、上側LCD22に外側撮像部23で撮像した右目用画像および左目用画像の一方を用いた平面画像を表示させたりする。
具体的には、情報処理部31は、上側LCD22のLCDコントローラ(図示せず)と接続され、当該LCDコントローラに対して視差バリアのON/OFFを制御する。上側LCD22の視差バリアがONになっている場合、情報処理部31のVRAM313に格納された(外側撮像部23で撮像された)右目用画像と左目用画像とが、上側LCD22に出力される。より具体的には、LCDコントローラは、右目用画像について縦方向に1ライン分の画素データを読み出す処理と、左目用画像について縦方向に1ライン分の画素データを読み出す処理とを交互に繰り返すことによって、VRAM313から右目用画像と左目用画像とを読み出す。これにより、右目用画像および左目用画像が、画素を縦に1ライン毎に並んだ短冊状画像に分割され、分割された右目用画像の短冊状画像と左目用画像の短冊状画像とが交互に配置された画像が、上側LCD22の画面に表示される。そして、上側LCD22の視差バリアを介して当該画像がユーザに視認されることによって、ユーザの右目に右目用画像が、ユーザの左目に左目用画像が視認される。以上により、上側LCD22の画面には立体視可能な画像が表示される。
外側撮像部23および内側撮像部24は、情報処理部31に接続される。外側撮像部23および内側撮像部24は、情報処理部31の指示にしたがって画像を撮像し、撮像した画像データを情報処理部31に出力する。本実施形態では、情報処理部31は、外側撮像部23および内側撮像部24のいずれか一方に対して撮像指示を行い、撮像指示を受けた撮像部が画像を撮像して画像データを情報処理部31に送る。具体的には、ユーザによるタッチパネル13や操作ボタン14を用いた操作によって使用する撮像部が選択される。そして、撮像部が選択されたことを情報処理部31(CPU311)が検知し、情報処理部31が外側撮像部23または内側撮像部24に対して撮像指示を行う。
外側撮像部23及び内側撮像部24は、情報処理部31(CPU311)からの指示によって起動されると、例えば、1秒間に60枚の速度で撮像する。外側撮像部23又は内側撮像部24によって撮像された撮像画像は、順次、情報処理部31に送られ、情報処理部31(GPU312)によって上側LCD22又は下側LCD12に表示される。撮像画像は、情報処理部31に出力されると、VRAM313に格納され、上側LCD22又は下側LCD12に出力された後、所定のタイミングで削除される。このように、例えば、1秒間に60枚の速度で、撮像し、撮像した画像を表示することによって、ゲーム装置10は、外側撮像部23及び内側撮像部24の撮像範囲内の景色をリアルタイムに上側LCD22又は下側LCD12に表示することができる。
3D調整スイッチ25は、情報処理部31に接続される。3D調整スイッチ25は、スライダの位置に応じた電気信号を情報処理部31に送信する。
3Dインジケータ26は、情報処理部31に接続される。情報処理部31は、3Dイン
ジケータ26の点灯を制御する。例えば、情報処理部31は、上側LCD22が立体表示モードである場合、3Dインジケータ26を点灯させる。
<機能構成>
図7は、本実施形態に係るゲーム装置10の機能構成の概略を示す図である。本実施形態に係るゲーム装置10は、メインメモリ32に展開されたプログラムを情報処理部31が実行して、図6を用いて説明した各構成を制御することで、入出力部51、再生制御部52、使用頻度取得部53、データ選択部54、グループ選択部55、上位グループ特定部56、判定部57、上位グループ変更部58、および処理対象指定部59を備えるゲーム装置10として機能する。なお、本実施形態において、上記各機能部は、CPU311を備える情報処理部31によって実現されるが、上記各機能部うちの一部または全部は、CPU311に代えて、専用のプロセッサを用いて実現されてもよい。
なお、本実施形態において、データ保存用外部メモリ46内のファイルは、音楽ファイルであり、本発明に係るデータに相当する。また、各ファイルが属するフォルダは、本発明に係るグループに相当する。但し、本実施形態において処理対象となり得るデータの種類は音楽ファイルだが、本発明は、その他の種類のデータを処理対象とする情報処理装置に適用されてもよい。例えば、処理対象のデータは、画像ファイル、動画ファイルまたは文書ファイル等であってもよい。
再生制御部52は、カバー部11Cの内側に設けられたコネクタに接続されたデータ保存用外部メモリ46(本実施形態に示す例では、SD(登録商標)カード)に記録された音楽ファイルを管理および再生することで、ユーザに音楽ファイルの管理再生機能を提供する。また、再生制御部52は、後述する通常の再生処理であるか、シャッフル再生処理であるかに拘らず、再生された音楽ファイルの履歴(以下、「再生履歴」と称する)を記録する。再生履歴は、本発明の使用履歴に相当する情報であり、ファイルごとにファイルの識別情報(例えば、ファイルパス)と関連付けられた再生回数によって記録されてもよいし、ファイルの再生ごとに再生に係るファイルの識別情報(例えば、ファイルパス)が順次蓄積されることによって記録されてもよい。
なお、本実施形態に係るゲーム装置10は、MP3(MPEG Audio Layer−3)およびAAC(Advanced Audio Coding)等のデータ圧縮形式に対応しており、ユーザが所望の音楽ファイルを選択して再生させる通常の再生処理、および後述するシャッフル再生処理の何れにおいても、これらのデータ圧縮形式で圧縮された音楽ファイルを再生することが出来る。但し、本実施形態の説明においては、通常の再生処理の詳細な説明については省略する。
使用頻度取得部53は、ファイルまたはフォルダの再生頻度を取得する。本実施形態では、再生頻度の取得の対象となるのは音楽ファイルである。使用頻度取得部53は、再生制御部52によって記録された再生履歴を参照することで、ファイルの再生頻度を取得する。使用頻度取得部53は、再生履歴の記録が再生回数による場合には、再生回数を取得することによって、再生履歴の記録が識別情報の蓄積による場合には、蓄積された識別情報を集計(識別情報の数を積算)することによって、ファイルの再生頻度を取得する。また、使用頻度取得部53は、ファイルの再生履歴から、当該再生履歴に含まれる各ファイルについて、各ファイルが属するフォルダを特定して、フォルダについての再生履歴を求めることが出来る。このようにして求めたフォルダの再生履歴から、フォルダの再生頻度を取得することも出来る。なお、ファイルの再生履歴からフォルダの再生履歴を求めるのではなく、ファイルの再生ごとに、ファイルの再生履歴だけでなくフォルダの再生履歴も別途記録するようにしてもよい。
データ選択部54は、所定の処理によってファイルを選択する。所定の処理としては、所定の条件を満たすデータからデータを選択する処理や、全てのデータからデータを選択する処理等が採用される。より具体的には、本実施形態では、所定の条件を満たすデータからデータを選択する処理として、使用頻度取得部53によって取得されたファイルの再生頻度が上位10位(この値は、実施の形態に応じて適宜設定されることが好ましい)以内であるファイルからランダムに1のファイルを選択する処理が採用される。また、全てのデータからデータを選択する処理として、データ保存用外部メモリ46に記録された全ての音楽ファイルのうちからランダムに1のファイルを選択する処理が採用される。本実施形態では、このような処理が所定の処理として設定され、設定された所定の処理が実行されることによって1のファイルが選択されるが、所定の処理には、その他の処理が設定されてもよい。例えば、再生頻度が下位10位(この値は、実施の形態に応じて適宜設定されることが好ましい)以内であるファイルからランダムに1のファイルを選択する処理を所定の処理としてもよい。
また、所定の条件としても、ファイルの名称やファイルに係る楽曲のタイトルに所定の単語が含まれることや、ファイルに含まれる楽曲が所定の曲調やテンポであること、再生時間が所定の時間の範囲にあること、等を設定することが可能である。更に、例えば、再生頻度が上位10位以内で且つ所定の曲調の曲を含むファイルというように、所定の条件として複数の条件を設定することも可能である。なお、曲調や再生時間といった情報は、ファイルの管理情報(例えば、ファイル管理テーブル等)から取得できない場合には、ファイルをオープンして、ファイル中のメタ情報(タグ等)を参照したりファイルに含まれる実データの内容を分析したりすることで取得することが出来る。
グループ選択部55は、所定の処理によってフォルダを選択する。所定の処理としては、所定の条件を満たすフォルダからフォルダを選択する処理や、全てのフォルダからフォルダを選択する処理等が採用される。より具体的には、本実施形態では、所定の条件を満たすフォルダからフォルダを選択する処理として、使用頻度取得部53によって取得されたフォルダの再生頻度が上位10位(この値は、実施の形態に応じて適宜設定されることが好ましい)以内であるフォルダからランダムに1のフォルダを選択する処理が採用される。また、全てのフォルダからフォルダを選択する処理として、データ保存用外部メモリ46に記録された全てのフォルダのうちからランダムに1のフォルダを選択する処理が採用される。本実施形態では、このような処理が所定の処理として設定され、設定された所定の処理が実行されることによって1のフォルダが選択されるが、所定の処理には、その他の処理が設定されてもよい。例えば、再生頻度が下位10位(この値は、実施の形態に応じて適宜設定されることが好ましい)以内であるフォルダからランダムに1のフォルダを選択する処理を所定の処理としてもよい。
また、所定の条件としても、フォルダ中に含まれるファイルが所定の数の範囲にあることや、フォルダの名称やフォルダに係るアーティストの名称に所定の単語が含まれること、等を設定することが可能である。このような情報は、ファイルの管理情報から取得できない場合には、当該フォルダに含まれるファイルをオープンして、ファイル中のメタ情報(タグ等)を参照したりファイルに含まれる実データの内容を分析したりすることで取得することが出来る。
上位グループ特定部56は、所定のフォルダから、少なくとも1階層遡った上位フォルダを特定する。本実施形態に係るゲーム装置10に接続されるデータ保存用外部メモリ46内のファイルは、各ファイルが属するフォルダを、ツリー構造をもって管理するコンピュータである。具体的には、データ保存用外部メモリ46内のファイルは、階層構造を持ったファイルシステム、ディレクトリ構造を用いて管理されている。このため、上位グループ特定部56は、データ選択部54によって選択されたファイルが属するフォルダから
少なくとも1階層(選択されたファイルを始点とした場合には、少なくとも2階層)遡った上位フォルダを特定するか、またはグループ選択部55によって選択されたフォルダから少なくとも1階層遡った上位フォルダを特定することで、上位フォルダを特定する。
判定部57は、上位フォルダが特定されたか否かの判定や、上位フォルダに所定の種類のファイル(本実施形態では、音楽ファイル)が属する従属フォルダが複数従属しているか否かの判定等、適切な上位フォルダが特定されたか否かの判定を行う。
上位グループ変更部58は、判定部57によって適切な上位フォルダが特定されていないと判断された場合に、上位グループ特定部56によって特定された上位フォルダから更に少なくとも1階層遡ることで、上位フォルダを変更する。
処理対象指定部59は、上位フォルダに従属する従属フォルダに属するファイルを、処理対象(本実施形態では、シャッフル再生処理の再生対象)として指定する。
入出力部51は、タッチパネル13、各操作ボタン14A〜14L、および内蔵マイク43等の、ゲーム装置10に備えられた各種入力デバイスを介して、ユーザ操作に基づく入力を受け付け、また、上側LCD22、下側LCD12およびスピーカ44等の、ゲーム装置10に備えられた各種出力デバイスを介して、ユーザに対する出力を行う。
<ユーザインターフェース>
次に、本実施形態に係る音楽ファイル管理再生機能を用いる際のユーザインターフェースについて説明する。
図8は、本実施形態に係る音楽ファイル管理再生機能用インターフェースのトップ画面が示された状態のゲーム装置10を示す図である。ゲーム装置10の起動後に表示される初期画面(図示は省略する)から、例えば、該初期画面に表示されるボタン画像をユーザがタッチパネル13または各操作ボタン14A〜14Lを用いて選択することによって音楽ファイル管理再生機能を実行すると、入出力部51は、上側LCD22および下側LCD12に図8に示すトップ画面を表示させ、音楽ファイル管理再生機能をユーザに提供する。トップ画面では、下側LCD12には、ユーザによって選択可能なメニュー(図8に示された例では、「マイクで録音して遊ぶ」、「おまかせ」、「SD(登録商標)カード」等)が表示されており、ユーザは、タッチパネル13や各操作ボタン14A〜14Lを用いて、所望のメニューを選択状態とすることが出来る。また、上側LCD22には、下側LCD12において選択状態となっているメニューに含まれるサブメニューが表示される。
本実施形態に係るゲーム装置10では、メニュー「マイクで録音して遊ぶ」を選択状態とし、更に選択を確定することで、内蔵マイク43を介して取得された音声を録音することが可能であるが、本実施形態の説明では、録音機能の詳細な説明については省略する。また、本実施形態に係るゲーム装置10では、メニュー「SD(登録商標)カード」を選択状態とし、更に選択を確定することで、データ保存用外部メモリ46に記録された音楽ファイルの一覧を参照し、一覧から所望の音楽ファイルを選択して再生することが出来る。
なお、本実施形態に係るゲーム装置10において、メニューを選択状態とする操作は、例えば、下側LCD12をもってメニューの文字列が表示されているタッチパネル13の領域をタッチペン28や指を用いてタップする操作や、十字ボタン14A(方向入力ボタン14A)またはアナログスティック15を用いて選択状態となっているメニューを切り替える操作等である。
また、本実施形態に係るゲーム装置10において、メニューの選択を確定させる操作は、何れかのメニュー項目が選択状態にあるときに、例えば、下側LCD12に「開く」ボタンのイメージをタッチペン28や指を用いてタップする操作や、操作ボタン14B(Aボタン)を押下する操作等である。
例えば、下側LCD12においてメニュー「おまかせ」が選択状態である場合、上側LCD22には、「全ておまかせ」、2つの「特集」(図8に示した例では、「SUPER
MARIO BAND 特集」および「WARIO BAND 特集」)、「今日のオススメ」、および「よく聞く10曲」というサブメニューが表示される。これらのサブメニューは、再生対象となる音楽ファイルに応じて表示されているサブメニューである。ユーザによって、タッチパネル13や各操作ボタン14A〜14Lを用いて下側LCD12において選択状態となっているメニューを確定させる操作が行われると、画面は、メニュー選択後の画面に遷移する。
図9は、本実施形態に係る音楽ファイル管理再生機能用インターフェースの「おまかせ」メニュー画面が示された状態のゲーム装置10を示す図である。図9に示すメニュー画面は、ユーザによってメニューを確定させる操作が行われたことを契機として、図8のトップ画面から遷移する画面である。メニュー画面では、トップ画面(図8を参照)において上側LCD22に表示されていたサブメニューが、下側LCD12に表示され、ユーザ操作によって選択可能となる。図9に示した例では、「おまかせ」メニューが開かれているため、下側LCD12に、「全ておまかせ」、2つの「特集」、「今日のオススメ」、および「よく聞く10曲」といったサブメニューが表示されている。
なお、「おまかせ」メニューは、処理対象である音楽ファイルをシャッフル再生するためのサブメニューを含むメニューである。ここで、シャッフル再生とは、処理対象(再生対象)の複数の音楽ファイルを、ソートされた順序または管理されているオリジナルの順序から並び替えて不規則な順序で再生することである。但し、本発明は、処理対象の複数の音楽ファイルを再生前に並び替えるのではなく、1曲再生するごとに、次の曲をランダムに抽出して音楽ファイルを再生するランダム再生に適用されてもよい。
ここで、「全ておまかせ」サブメニューは、データ保存用外部メモリ46に記録された全ての音楽ファイルを処理対象としてシャッフル再生を行うためのサブメニューである。また、「今日のオススメ」サブメニューは、データ保存用外部メモリ46に記録された音楽ファイルのうち、ランダムに選択されたフォルダに格納されている音楽ファイルを処理対象としてシャッフル再生を行うためのサブメニューであり、「よく聞く10曲」サブメニューは、予めユーザによって選択された、上限を10とする音楽ファイルを処理対象としてシャッフル再生を行うためのサブメニューである。
そして、2つの「特集」サブメニューは、データ保存用外部メモリ46に記録された音楽ファイルのうち、自動生成された再生対象リストにおいて指定された音楽ファイルを処理対象として、シャッフル再生を行うためのサブメニューである。即ち、本実施形態において、再生対象リストにおいて指定された音楽ファイルは、本発明に係る処理対象に相当する。以下、本実施形態における、「特集」サブメニューのための再生対象リストの生成、および生成された再生対象リストに基づいた音楽ファイルの再生について説明する。
<処理の流れ>
次に、本実施形態に係る上位グループ特定処理、処理対象指定処理およびシャッフル再生処理の流れについて説明する。
図10は、本実施形態における上位グループ特定処理の流れを示すフローチャートである。本フローチャートに示された処理は、図8に示した画面において、「おまかせ」メニューが選択状態となったことを契機として実行される。但し、上位グループ特定処理は、「特集」サブメニューが表示される前に実行完了していればよく、上位グループ特定処理が開始される契機は、「おまかせ」メニューが選択状態となったことに限定されない。例えば、上位グループ特定処理は、音楽ファイル再生管理機能が起動された時点で実行されてもよいし、ゲーム装置10が起動完了した時点で実行されてもよい。なお、本フローチャートに示された処理の具体的な内容および順序等は、本発明を実施する上での一例である。具体的な処理内容および順序等は、実施の形態に応じて適宜選択されることが好ましい。
ステップS101では、キーとなる音楽ファイルを選択するための処理が設定される。データ選択部54は、ステップS102でキーとなる音楽ファイルが選択される際に適用される所定の処理を、生成される特集に応じて設定する。本実施形態では、「特集」サブメニューは、再生頻度(本発明に係る使用頻度に相当する。また、本実施形態では、再生頻度として、再生回数が用いられる)の高い音楽ファイルに基づいて自動生成される特集(以下、「特集1」と称する)と、データ保存用外部メモリ46に記録された全ての音楽ファイルのうちからランダムに選択された音楽ファイルに基づいて自動生成される特集(以下、「特集2」と称する)と、をユーザに提示する。
本実施形態において、上記特集1を生成する場合、データ選択部54は、再生頻度が上位10(この値は、実施の形態に応じて適宜設定されることが好ましい)の音楽ファイルであることを、所定の条件として設定し、この条件を満たすファイルからランダムに選択することを、所定の処理として設定する。また、上記特集2を生成する場合、データ選択部54は、データ保存用外部メモリ46に記録されている音楽ファイルから選択すること(即ち、全ての音楽ファイルが対象となる)を、所定の処理として設定する。その後、処理はステップS102へ進む。
ステップS102では、キーとなる音楽ファイルが選択される。データ選択部54は、所定の処理を実行することで、データ保存用外部メモリ46に記録されている音楽ファイルから、上位グループ特定処理のキーとなる音楽ファイルを1つ選択する。
本実施形態において、データ選択部54は、上記特集1を生成する場合には、所定の処理として、再生頻度が上位10の音楽ファイルからランダムに1つの音楽ファイルを選択する処理を実行することで、キーとなる音楽ファイルを選択する。ここで、再生頻度は、使用頻度取得部53によって取得される。また、上記特集2を生成する場合には、所定の処理として、データ保存用外部メモリ46に記録されている全ての音楽ファイルからランダムに1つの音楽ファイルを選択する処理を実行することで、キーとなる音楽ファイルを選択する。この際、データ選択部54は、データ保存用外部メモリ46に記録されている全てのファイルから、音楽ファイルのみを抽出することで、選択の候補となる全ての音楽ファイルを特定する。全てのファイルから音楽ファイルのみを抽出する方法としては、所定の拡張子を有するファイルを全て抽出する方法が採用されてもよいし、ファイルの管理情報を参照する方法が採用されてもよい。また、一般的にはより多くのリソースが必要となるが、ファイルをオープンし、メタ情報やコンテンツデータを参照することで、データの種類を識別する方法を採用することも可能である。キーとなる音楽ファイルが選択されると、処理はステップS103へ進む。
なお、本実施形態では、キーとなる音楽ファイルを選択するための所定の処理として、再生頻度の高い音楽ファイルから1ファイルをランダムに選択する処理、および全ての音楽ファイルから1つをランダムに選択する処理、を採用しているが、キーとなる音楽ファ
イルは、その他の処理を用いて選択されてもよい。例えば、ファイル名や楽曲のタイトルに所定の単語が含まれる音楽ファイルや、所定の曲調やテンポである音楽ファイル、再生時間が所定の時間の範囲にある音楽ファイル、等を母集団としてキーとなる音楽ファイルを選択することとしてもよい。このような情報は、ファイルの管理情報から取得できない場合には、ファイルをオープンして、ファイル中のメタ情報(タグ等)を参照したりファイルに含まれる実データの内容を分析したりすることで取得することが出来る。但し、ファイルをオープンしてメタ情報を取得する処理や、実データの内容を分析する処理は負荷が高く、動作が遅くなる場合がある。一方、本実施形態のように再生履歴を用いる場合や、ファイルの管理情報またはファイル名等を用いる場合には、これらの処理が不要となるため、処理負荷を軽減することが出来る。
ステップS103では、キーとなる音楽ファイルが含まれるフォルダが特定される。上位グループ特定部56は、ステップS102で特定された、キーとなる音楽ファイルに基づいて、この音楽ファイルが含まれるフォルダを特定する。具体的には、選択された音楽ファイルが存在するフォルダ(ディレクトリ)のファイルの管理情報(例えば、ファイルがFAT(File Allocation Table)等の所謂ファイル管理テーブルによって管理されている場合には、当該ファイル管理テーブル)を参照することでフォルダを特定する方法や、選択された音楽ファイルのパスを取得して、取得されたパスからファイル名を除くことでファイルが属するフォルダのパスを抽出する方法を用いることが出来る。但し、具体的なフォルダ特定の方法は例示したものに限定されない。その後、処理はステップS104へ進む。
ステップS104では、下位フォルダを包含する上位フォルダが特定される。上位グループ特定部56は、ステップS103で特定されたフォルダから、任意の階層数分上位のフォルダを特定する。本実施形態では、ステップS103で特定されたフォルダから、1階層上位のフォルダを特定する。具体的には、上位グループ特定部56は、ステップS103で特定されたフォルダが存在するフォルダ(ディレクトリ)のファイルの管理情報を参照することで上位フォルダを特定してもよいし、ステップS103で特定されたフォルダからカレントディレクトリの移動等の処理を行うことで上位フォルダを特定してもよいし、ステップS103で特定されたフォルダのパスを取得して、取得されたパスについて、下位から所望の階層分フォルダ名を除くことで、上位フォルダへのパスを抽出し、上位フォルダを特定してもよい。このような上位フォルダを特定することで、フォルダを用いて何らかの単位毎(例えば、アルバム単位、プレイリスト単位、等)に管理されている音楽ファイルを、複数のフォルダから横断的に抽出することが可能となる。
図11は、本実施形態における、データ保存用外部メモリ46内のフォルダ構成の一例を示す図である。図11に示す例では、アーティスト毎に用意されたフォルダ(図11におけるアーティストA〜B。以下、「アーティストフォルダ」と称する)に、当該アーティストのアルバム毎に用意されたフォルダ(図11におけるアルバムA〜F。以下、「アルバムフォルダ」と称する)を包含させ、このフォルダにアルバムに含まれる曲の音楽ファイル(図11における楽曲01〜10)を包含させるフォルダ構成となっている。この場合、本フローチャートに示された処理によれば、キーとなる音楽ファイルを選択した後に(ステップS102)、この音楽ファイルが含まれるアルバムフォルダが特定され(ステップS103)、ここから1階層上のアーティストフォルダが特定される(ステップS104)。
なお、フォルダの階層構造とは別に、ファイルを管理するデータベース(音楽ファイル管理用ソフトウェアのデータベース等)が存在する場合には、データベース上での上位グループが特定されてもよい。すなわち、各音楽ファイルが所定の単位でグループに分けられており、そのグループが更に上位のグループに分けられているという階層的な関係が、
ファイルシステム上での階層構造とは別に、データベース上での階層構造として、データベースの管理情報を用いる等の方法で指定されており、当該データベース上での階層構造に基づいて、上位のグループを特定してもよい。この場合、上位グループ特定部56は、データベースの管理情報を参照することによって、ファイルが含まれるプレイリスト等のグループを特定し(ステップS103)、ここから1階層上のグループを特定する(ステップS104)。
ステップS105およびステップS106では、上位フォルダが特定されたか否かが判定され、上位フォルダの特定に所定回数以上失敗した場合、本フローチャートに示された処理が終了される。判定部57は、ステップS104において上位フォルダが特定されたか否かを判定する(ステップS105)。判定部57は、ステップS104において所望の階層分上位のフォルダを特定しようとしたが、そのようなフォルダが存在しなかった(換言すれば、所望の階層分上位のフォルダに到達する前に最上位のフォルダになってしまった)場合に、上位フォルダが特定されなかったと判定する。また、判定部57は、所望の階層分上位のフォルダが、既に特定された「特集」サブメニューのための上位フォルダと重複してしまった場合(本実施形態に示された例では、特集2のために特定しようとした上位フォルダが、特集1のために特定された上位フォルダと重複した場合)にも、上位フォルダが特定されなかったと判定する。ここで、上位フォルダが特定されなかった(上位フォルダの特定に失敗した)と判定された場合、判定部57は、上位フォルダの特定に失敗した回数をカウントする。そして、上位フォルダの特定に所定回数以上失敗した場合、入出力部51は、特集の表示が含まれないトップ画面やメニュー画面を上側LCD22または下側LCD12を介して出力し(即ち、特集の出力を行わず)、本フローチャートに示された処理を終了する(ステップS106)。一方、上位フォルダが特定されなかったと判定された(ステップS105)が、失敗回数が所定回数に満たない(ステップS106)場合、処理はステップS102へ進む。
これに対して、上位フォルダが特定されたと判定された場合、処理はステップS107へ進む。ステップS107では、上位フォルダのフォルダ名が取得される。処理対象指定部59は、ステップS104において特定された上位フォルダのフォルダ名を、ファイルの管理情報等、記憶装置上のフォルダ名が保持されている領域から読み出すことで取得する。その後、処理はステップS108へ進む。
ステップS108では、目的の上位フォルダが全て特定されたか否かが判定される。本実施形態では、再生頻度上位10(この値は、実施の形態に応じて適宜設定されることが好ましい)曲に含まれる音楽ファイルの中から選択されたキーとなる音楽ファイルに基づいて上位フォルダが特定される特集1と、全ての音楽ファイルの中から選択されたキーとなる音楽ファイルに基づいて上位フォルダが特定される特集2と、がユーザに提示される。このため、ステップS108では、特集1のための上位フォルダと、特集2のための上位フォルダと、の両方が特定された場合に、目的の上位フォルダが全て特定されたと判定される。目的の上位フォルダが全ては特定されていないと判定された場合、処理はステップS101へ進み、異なる「特集」サブメニューのためのキー音楽ファイルが選択される。即ち、本フローチャートに係る処理では、目的の上位フォルダが全て特定されるまで、ステップS101からステップS107の処理が繰り返し実行される。なお、本実施形態では、「特集」毎にキー音楽ファイルの選択のための所定の処理が異なる(ステップS101を参照)。このため、ステップS101では、処理が実行される毎に、キー音楽ファイルの選択のための所定の処理が異なる処理に設定される。即ち、「特集1」に係る上位フォルダが特定され、再びステップS101が実行される場合には、ステップS101では、「特集2」のための所定の処理が設定される。目的の上位フォルダが全て特定されたと判定された場合、処理はステップS109へ進む。
ステップS109では、特集の名称が出力される。処理対象指定部59は、ステップS107において取得された上位フォルダのフォルダ名に基づいて特集の名称を生成し、入出力部51は、生成された特集の名称を、上側LCD22または下側LCD12を介して出力する(図8および図9を参照)。本実施形態において、特集の名称は、取得された上位フォルダのフォルダ名である文字列の後方に、「特集」との文字列を付加したものが用いられる。本実施形態では、特集1および特集2の2つの特集が生成されるため、上側LCD22または下側LCD12には、「<特集1のために抽出された上位フォルダのフォルダ名> 特集」との文字列、および「<特集2のために抽出された上位フォルダのフォルダ名> 特集」との文字列が出力される。但し、出力される特集の名称は、本フローチャートの説明において説明した例に限られない。例えば、「おまかせ <上位フォルダのフォルダ名>」等、上位フォルダのフォルダ名にその他の文字列が吹かされることで生成された文字列であってもよい。
例えば、図11に示された例では、上位フォルダとしてアーティストフォルダが特定され、このフォルダのフォルダ名には、アーティストの名称が設定されている。この場合、上側LCD22または下側LCD12には、特集の名称として、「<アーティストの名称> 特集」との文字列が表示される。
また、図8に示されたトップ画面および図9に示された「おまかせ」メニュー画面の例では、「SUPER MARIO BAND 特集」および「WARIO BAND 特集」と表示されている。これは、特集1のために抽出された上位フォルダのフォルダ名が「SUPER MARIO BAND」であり、特集2のために抽出された上位フォルダのフォルダ名が「WARIO BAND」であったということを意味する。即ち、本実施形態に係るゲーム装置10によれば、ユーザによるファイルの管理方法に応じて、特集を生成し、ユーザに提示することが出来る。図8に示されたトップ画面および図9に示された「おまかせ」メニュー画面の例では、ユーザは「/アーティスト/アルバム/音楽ファイル」という階層構成で音楽ファイルを管理しているため、アーティスト名を冠した「特集」が提示されるが、ユーザによる管理方法が、「/ジャンル/アーティスト/音楽ファイル」というような階層構成であった場合、ジャンル名を冠した「特集」が提示されるし、ユーザによる管理方法が「/ゲームのシリーズ/ゲームのタイトル/音楽ファイル」というような階層構成であった場合、ゲームのシリーズ名を冠した「特集」が提示される。ステップS109において特集の名称が出力されると、本フローチャートに示された処理は終了する。
以上の通り、本実施形態に係るゲーム装置10によれば、音楽ファイルのタグ情報等のメタ情報を参照することなく、複数のフォルダを横断して処理対象(ここでは、シャッフル再生用の音楽ファイル)を指定することが可能となる。
但し、ステップS104において特定された上位フォルダに対して、処理対象となり得るデータ(ここでは、音楽ファイル)を含む従属フォルダが1しかない場合には、複数のフォルダから横断的に音楽ファイルを抽出することが出来ない。この場合には、そのまま1の従属フォルダのみから抽出された再生対象の音楽ファイルを列挙した再生対象リスト(再生対象リストの作成については後述する)を作成してもよいが、その他の方法によって複数の従属フォルダを含む上位フォルダを再特定することとしてもよい。以下、図12および図13を用いて、上位グループ特定処理を先頭から実行し直すことで上位フォルダを再特定する方法(図12を参照)、および、一旦特定されたが従属フォルダを1つしか有さない上位フォルダから、更に上位のフォルダを特定することで上位フォルダを再特定する方法(図13を参照)を説明する。
図12は、上位グループ特定処理の第一のバリエーションを示すフローチャートである
。本フローチャートに示された処理は、図8に示した画面において、「おまかせ」メニューが選択状態となったことを契機として実行される。但し、上位グループ特定処理は、「特集」サブメニューが表示される前に実行完了していればよく、上位グループ特定処理が開始される契機は、「おまかせ」メニューが選択状態となったことに限定されない。例えば、上位グループ特定処理は、音楽ファイル再生管理機能が起動された時点で実行されてもよいし、ゲーム装置10が起動完了した時点で実行されてもよい。なお、本フローチャートに示された処理の具体的な内容および順序等は、本発明を実施する上での一例である。具体的な処理内容および順序等は、実施の形態に応じて適宜選択されることが好ましい。
ステップS201からステップS204に示す処理は、図10を用いて説明したステップS101からステップS104の処理と概略同様であるため、説明を省略する。その後、処理はステップS205へ進む。
ステップS205およびステップS206では、音楽ファイルを含む従属フォルダが複数従属する上位フォルダ(以下、「適切な上位フォルダ」とも称する)が特定されたか否かが判定され、適切な上位フォルダの特定に所定回数以上失敗した場合、本フローチャートに示された処理が終了される。判定部57は、ステップS204において上位フォルダが特定されたか否かを判定し、更に、特定された上位フォルダに従属する従属フォルダの内容を参照することで、音楽ファイルを含む複数の従属フォルダが従属する上位フォルダが特定されたか否かを判定する(ステップS205)。ここで、適切な上位フォルダが特定されなかったと判定された場合、判定部57は、特定に失敗した回数をカウントする。そして、判定部57は、適切な上位フォルダの特定に所定回数以上失敗した場合には、本フローチャートに示された処理を終了する(ステップS206)。一方、適切な上位フォルダが特定されなかったと判定された(ステップS205)が、失敗回数が所定回数に満たない(ステップS206)場合、処理はステップS202へ進む。
これに対して、適切な上位フォルダが特定されたと判定された場合、処理はステップS207へ進む。ステップS207からステップS209に示す処理は、図10を用いて説明したステップS107からステップS109の処理と概略同様であるため、説明を省略する。ステップS209において特集の名称が出力されると、本フローチャートに示された処理は終了する。
本フローチャートに示された処理によれば、特定された上位フォルダに対して、処理対象となり得るデータを含む従属フォルダが1しかない場合であっても、上位グループ特定処理を先頭から実行し直すことで上位フォルダを再特定することが可能となる。
図13は、上位グループ特定処理の第二のバリエーションを示すフローチャートである。本フローチャートに示された処理は、図8に示した画面において、「おまかせ」メニューが選択状態となったことを契機として実行される。但し、上位グループ特定処理は、「特集」サブメニューが表示される前に実行完了していればよく、上位グループ特定処理が開始される契機は、「おまかせ」メニューが選択状態となったことに限定されない。例えば、上位グループ特定処理は、音楽ファイル再生管理機能が起動された時点で実行されてもよいし、ゲーム装置10が起動完了した時点で実行されてもよい。なお、本フローチャートに示された処理の具体的な内容および順序等は、本発明を実施する上での一例である。具体的な処理内容および順序等は、実施の形態に応じて適宜選択されることが好ましい。
ステップS301からステップS306に示す処理は、図10を用いて説明したステップS101からステップS106の処理と概略同様であるため、説明を省略する。上位フ
ォルダが特定されたと判定された場合、処理はステップS307へ進む。
ステップS307およびステップS308では、音楽ファイルを含む複数の従属フォルダが従属する上位フォルダ(適切な上位フォルダ)が特定されたか否かが判定され、適切な上位フォルダの特定に失敗したと判定された場合、更に上位のフォルダが、上位フォルダとして再特定される。判定部57は、ステップS304において特定された上位フォルダに従属する従属フォルダの内容を参照することで、音楽ファイルを含む複数の従属フォルダが従属する上位フォルダが特定されたか否かを判定する(ステップS307)。ここで、適切な上位フォルダが特定されなかったと判定された場合、上位グループ変更部58は、上位グループ特定部56によって特定された上位フォルダから更に少なくとも1階層遡ることで、上位フォルダを変更(再特定)する(ステップS308)。
これに対して、適切な上位フォルダが特定されたと判定された場合、処理はステップS309へ進む。ステップS309からステップS311に示す処理は、図10を用いて説明したステップS107からステップS109の処理と概略同様であるため、説明を省略する。ステップS311において特集の名称が出力されると、本フローチャートに示された処理は終了する。
本フローチャートに示された処理によれば、特定された上位フォルダに対して、処理対象となり得るデータを含む従属フォルダが1しかない場合であっても、一旦特定された上位フォルダから、更に上位のフォルダを特定することで、上位フォルダを再特定することが可能となる。
また、図10、図12および図13に示すフローチャートを用いて説明した上位グループ特定処理では、所定の処理によって選択された音楽ファイルを起点として、上位フォルダを特定する方法が採用されている。しかし、例えば使用頻度が高いファイルから選択することを所定の処理として選択されたファイルを起点として、上位フォルダを特定する場合、使用頻度が突出した特定のファイルによって、「特集」サブメニューによって提示される上位フォルダが偏ってしまう可能性がある。このため、本実施形態では、ある処理で特定されたファイルに基づく「特集」(例えば、「特集1」)の提示と同時に、異なる処理で特定されたファイルに基づく「特集」(例えば、「特集2」)を提示することとしている。また、提示される上位フォルダが偏ってしまう問題を回避するためのその他の方法として、所定の処理によって選択されたフォルダを起点として、上位フォルダを特定する方法が採用されてもよい。以下、図14を用いて、利用頻度の高いフォルダを起点として上位フォルダを特定する方法を説明する。
図14は、上位グループ特定処理の第三のバリエーションを示すフローチャートである。本フローチャートに示された処理は、図8に示した画面において、「おまかせ」メニューが選択状態となったことを契機として実行される。但し、上位グループ特定処理は、「特集」サブメニューが表示される前に実行完了していればよく、上位グループ特定処理が開始される契機は、「おまかせ」メニューが選択状態となったことに限定されない。例えば、上位グループ特定処理は、音楽ファイル再生管理機能が起動された時点で実行されてもよいし、ゲーム装置10が起動完了した時点で実行されてもよい。なお、本フローチャートに示された処理の具体的な内容および順序等は、本発明を実施する上での一例である。具体的な処理内容および順序等は、実施の形態に応じて適宜選択されることが好ましい。
ステップS401では、キーとなるフォルダを選択するための処理が設定される。グループ選択部55は、ステップS403でキーとなるフォルダが選択される際に適用される所定の処理を、生成される特集に応じて設定する。再生頻度に基づいて自動生成される特
集(以下、「特集1」と称する)と、ランダムに自動生成される特集(以下、「特集2」と称する)と、をユーザに提示する。
本実施形態において、上記特集1を生成する場合、グループ選択部55は、再生頻度が上位10(この値は、実施の形態に応じて適宜設定されることが好ましい)のフォルダであることを、所定の条件として設定し、この条件を満たすフォルダからランダムに選択することを、所定の処理として設定する。また、上記特集2を生成する場合、グループ選択部55は、データ保存用外部メモリ46に記録されているフォルダから選択すること(即ち、全てのフォルダが対象となる)を、所定の処理として設定する。その後、処理はステップS402へ進む。
ステップS402では、フォルダの再生頻度が取得される。使用頻度取得部53は、音楽ファイルの再生履歴から、各音楽ファイルが属するフォルダを特定し、特定されたフォルダ毎に再生履歴を集計することで、フォルダの再生頻度を取得する。より具体的には、再生された音楽ファイルのファイルパスの蓄積によって再生履歴が記録されている場合、使用頻度取得部53は、蓄積されたファイルパスからファイル名を除いたフォルダへのパスを抽出することで、再生履歴に係る音楽ファイルが含まれるフォルダを特定する。これによってフォルダの使用履歴が取得されるため、使用頻度取得部53は、蓄積されたファイルパスの数をフォルダ毎に集計し、フォルダの使用履歴を取得する。その後、処理はステップS403へ進む。
ステップS403では、キーとなるフォルダが選択される。グループ選択部55は、データ保存用外部メモリ46に記録されているフォルダから、上位グループ特定処理のキーとなるフォルダを1つ選択する。本実施形態において、グループ選択部55は、上記特集1を生成する場合には、所定の処理として、ステップS402で取得された再生頻度が上位10(この値は、実施の形態に応じて適宜設定されることが好ましい)のフォルダからランダムに1つのフォルダを選択する処理を実行することで、キーとなるフォルダを選択する。また、上記特集2を生成する場合には、所定の処理として、データ保存用外部メモリ46に記録されている全てのフォルダからランダムに1つのフォルダを選択する処理を実行することで、キーとなるフォルダを選択する。その後、処理はステップS404へ進む。
なお、本実施形態では、キーとなるフォルダを選択するための所定の処理として、再生頻度の高いフォルダから1フォルダをランダムに選択する処理、および全てのフォルダから1つをランダムに選択する処理、を採用しているが、キーとなるフォルダは、その他の処理を用いて選択されてもよい。例えば、タイトルに所定の単語が含まれるフォルダや、含まれる音楽ファイルの再生時間の合計が所定の時間の範囲にあるフォルダ、等を母集団としてキーとなるフォルダを選択することとしてもよい。このような情報は、ファイルの管理情報から取得できない場合には、フォルダに所属するファイルをオープンして、ファイル中のメタ情報(タグ等)を参照したりファイルに含まれる実データの内容を分析したりすることで取得することが出来る。
ステップS404からステップS409に示す処理は、図10を用いて説明したステップS104からステップS109の処理と概略同様であるため、説明を省略する。ステップS409において特集の名称が出力されると、本フローチャートに示された処理は終了する。
本フローチャートに示された処理によれば、利用頻度の高いフォルダを起点として上位フォルダを特定することで、ファイルを起点とした場合に生じ得る、使用頻度が突出した特定のファイルによって「特集」サブメニューによる提示が偏ってしまう問題を防止し、
ユーザによる全体的な使用傾向により近い形で「特集」サブメニューの提示をすることが可能となる。
図15は、本実施形態における処理対象指定処理の流れを示すフローチャートである。本フローチャートに示された処理は、図10から図14を用いて説明した上位グループ特定処理によって上位フォルダが特定された後(即ち、ステップS104、ステップS204、ステップS304、ステップS404より後)であれば何時でも開始可能であり、例えば、上位グループ特定処理が完了したことや、ユーザ操作に基づく再生指示が受け付けられたことを契機として実行される。なお、本フローチャートに示された処理の具体的な内容および順序等は、本発明を実施する上での一例である。具体的な処理内容および順序等は、実施の形態に応じて適宜選択されることが好ましい。
ステップS501では、従属フォルダに含まれる音楽ファイルが抽出される。処理対象指定部59は、図10から図14を用いて説明した上位グループ特定処理のステップS104、ステップS204、ステップS304、ステップS404で特定された上位フォルダに対して従属する従属フォルダを参照し、従属フォルダに含まれる音楽ファイルを抽出する。なお、従属フォルダには、上位フォルダに対して直接的に従属している(即ち、1階層下位である)フォルダに加えて、上位フォルダに対して他の従属フォルダを介して間接的に従属している(即ち、2階層以上下位である)フォルダも含まれる。ここで、音楽ファイルは、ファイルシステム(ディレクトリ構造)において音楽ファイルが存在する位置情報(所謂ファイルパス)を取得することで抽出される。処理対象指定部59は、上位フォルダに対して従属する全ての従属フォルダに対して、音楽ファイルの抽出を行う。例えば、図11に示すフォルダ構成で、上位フォルダとしてアーティストAのフォルダが特定された場合、処理対象指定部59は、従属フォルダに含まれる音楽ファイルとして、楽曲01〜05に係る音楽ファイルを抽出する。その後、処理はステップS502へ進む。
なお、先述したステップS103およびステップS104等において、フォルダの階層構造とは別にファイルを管理するデータベース(音楽ファイル管理用ソフトウェアのデータベース等)を用いて上位グループが特定された場合、処理対象指定部59は、データベースの管理情報を参照することによって、従属グループに含まれる音楽ファイルを抽出する(ステップS501)。
ステップS502では、再生対象リストが生成される。処理対象指定部59は、ステップS501で抽出された音楽ファイルのファイルパスを、昇順や降順等のソート条件が適用されない、規則性のない順序(シャッフルされた順序)に並び替えることで、シャッフル再生用の再生対象リストを生成する。但し、音楽ファイルの順序のシャッフル(並び替え)は、ステップS502における再生対象リスト作成の時点で行われなくてもよい。後述するシャッフル再生処理において、再生が進むに伴って再生順序が決定される場合には、ステップS502では、何らかのソート条件が適用された順序を有する(シャッフルされていない)再生対象リストが生成されてよい。再生対象リストの生成が完了すると、本フローチャートに示された処理は終了する。
図16は、本実施形態に係る再生対象リストの構成を示す図である。本実施形態に係る再生対象リストは、再生対象の音楽ファイルのファイルパスを、音楽ファイルの識別情報として再生順に並べたものである。本実施形態では、シャッフル再生の順序が予め決定されるため、再生対象リストにおいても、音楽ファイルのファイルパスが、シャッフルされて並べられる。また、再生対象リストには、ファイルパス毎に関連付けられて、当該ファイルパスによって示されている音楽ファイルが再生済みであるか否かを示すフラグが記録される。
図17は、本実施形態における音楽ファイルのシャッフル再生処理の流れを示すフローチャートである。本フローチャートに示された処理は、ユーザ操作に基づく再生指示が受け付けられたことを契機として実行される。なお、本フローチャートに示された処理の具体的な内容および順序等は、本発明を実施する上での一例である。具体的な処理内容および順序等は、実施の形態に応じて適宜選択されることが好ましい。
ステップS601およびステップS602では、再生指示が受け付けられ、再生対象リストから、未再生の音楽ファイルが選択される。入出力部51は、再生指示を受け付ける(ステップS601)。再生制御部52は、処理対象指定処理のステップS502において生成された再生対象リストから、未再生の音楽ファイルを1つ選択する(ステップS602)。なお、本実施形態では、シャッフル再生の順序は再生対象リストにおいて予め決定されているため、再生制御部52は、予め決定されている再生順(再生対象リストにおける並び順)に、未再生の音楽ファイルを選択するだけで、シャッフル再生を実現出来る。但し、再生対象リストがシャッフル再生の順序となっていない実施形態では、再生制御部52は、音楽ファイルの選択の都度、未再生の音楽ファイルを対象としたランダム選択等の方法で、再生対象の音楽ファイルを選択する。その後、処理はステップS603へ進む。
ステップS603およびステップS604では、未再生の音楽ファイルが再生開始され、再生された音楽ファイルが再生済みに設定される。再生制御部52は、選択された音楽ファイルの再生を開始する(ステップS603)。選択された音楽ファイルが再生されると、再生制御部52は、再生対象リストにおける、再生された音楽ファイルのレコードに、再生済みフラグを設定する。その後、処理はステップS605へ進む。
なお、再生済みフラグの設定タイミングは、実施の形態に応じて異なってもよい。例えば、再生制御部52は、再生済みフラグを、音楽ファイルの再生開始直後に設定してもよいし、音楽ファイルの再生終了直後に設定してもよい。再生済みフラグの設定タイミングは、実施の形態に応じて適宜設定されることが好ましい。
また、再生済みの音楽ファイルは、再生済みを示すフラグ等を設定すること以外の方法で管理されてもよい。例えば、再生対象リストが、本実施形態のようにシャッフル再生における再生順序となるように予めシャッフル(並び替え)されているものである場合には、単に、再生対象リストにおける現在再生中の音楽ファイル、最後に再生された音楽ファイル、および次に再生される音楽ファイルのうちの少なくとも何れかを示す情報を保持することで、再生済みの音楽ファイルを管理することが出来る。例えば、再生対象リストにおける現在再生中の音楽ファイルが示されている場合には、再生対象リストにおいて当該音楽ファイルよりも前に並んでいる音楽ファイルは再生済みであると判断出来る。
ステップS605では、再生対象リストに挙げられた全ての音楽ファイルが再生済みとなったか否かが判定される。再生制御部52は、再生対象リストに保持されている再生済みフラグを参照し、全ての音楽ファイルレコードに対して再生済みフラグが設定されているか否かを判定することで、再生対象リストに挙げられた全ての音楽ファイルが再生済みとなったか否かを判定する。但し、再生済みフラグ以外の方法で再生済み音楽ファイルが管理されている場合には、その管理方法に従った方法で、全ての音楽ファイルが再生済みとなったか否かを判定する。例えば、再生対象リストが、シャッフル再生における再生順序となるように予めシャッフルされているものである場合には、単に、再生対象リストにおける現在再生中の音楽ファイル、最後に再生された音楽ファイル、および次に再生される音楽ファイルのうちの少なくとも何れかを示す情報を参照することで、全ての音楽ファイルが再生済みとなったか否かを判定することが出来る。全ての音楽ファイルが再生済みである場合、処理はステップS606へ進む。
これに対して、全ての音楽ファイルが再生済みでない場合、処理はステップS602へ進む。先述の通り、ステップS602は、再生対象リストから、未再生の音楽ファイルを選択する処理である。即ち、本フローチャートに示された処理によれば、再生対象リストに挙げられた全ての音楽ファイルの再生が完了するか、またはユーザ操作またはゲーム装置10が備える割り込み機能に基づく再生終了の指示が受信されるまで、ステップS601からステップS605に示された処理が繰り返される。
ステップS606およびステップS607では、リピート再生の要否が判定され、必要に応じて再生を継続するための処理が行われる。具体的には、再生制御部52は、記憶装置に保存されたリピート再生の設定内容を参照することで、リピート再生が「有効」に設定されているか否かを判定する(ステップS606)。判定の結果、リピート再生が「無効」に設定されていた場合、本フローチャートに示された処理は終了し、再生中の音楽ファイルが存在する場合には、この再生が終了した時点で特集の再生が終了する。これに対して、判定の結果、リピート再生が「有効」に設定されていた場合、再生制御部52は、保存されている再生済みの音楽ファイルを示す情報および再生順序をリセットし(ステップS607)、処理はステップS602へ進む。ここで、再生済みの音楽ファイルを示す情報のリセットとは、再生済みフラグを用いて再生済みの音楽ファイルを管理している場合には、再生済みフラグのリセットである。また、シャッフル再生の順序が、予め並び替えされた再生対象リストに基づいて決定されている場合には、シャッフル再生順序を決定する再生対象リストの再作成が行われる(ステップS502を用いて説明した処理を参照)。
本実施形態によれば、異なるグループ(フォルダ等)に属する複数の音楽ファイルを、グループ間を横断してシャッフル再生の対象とすることが出来る。また、本実施形態では、再生頻度に基づいて自動生成される特集1と、ランダムに自動生成される特集2と、をユーザに提示する。このため、ユーザに対して、ユーザの嗜好に合わせたシャッフル再生と、意外性のあるシャッフル再生とを組み合わせて提示することとなり、ユーザによるコンテンツの楽しみ方の幅を拡げることが出来る。
なお、上記説明した実施形態では、本発明を、音楽ファイルを管理再生する装置に適用する例について説明したが、本発明が適用されるデータの種類は音楽ファイルに限定されない。本発明は、例えば、動画ファイル、画像ファイル、ドキュメント等を管理するコンピュータに適用可能である。例えば、本発明は、写真の画像ファイルを管理する機能を有するコンピュータに適用することが出来る。ここで、フォルダの構成が、写真が撮像された月毎の上位フォルダに、写真が撮像された日毎のフォルダが従属するような構成となっている場合には、本発明を適用することで、スライドショー等による再生の対象を、所定の処理によって選択された写真の画像ファイルが撮像された月の写真とすることが出来る。