コンテンツ情報ツリー生成装置及びそのプログラム
【課題】 コンテンツ数が多い場合であっても、コンテンツ情報ツリーを迅速に生成すること。
【解決手段】 コンテンツ情報ツリー生成装置は、コンテンツ記憶部に記憶されているコンテンツ数が所定の限界コンテンツ数より大きいか否かを判断する判断手段と、コンテンツ数が限界コンテンツ数より大きいと判断された場合、コンテンツ記憶部に記録されているコンテンツの中から、所定条件に従って限界コンテンツ数以下のコンテンツを選択し、選択されたコンテンツのみのコンテンツ情報が格納された優先コンテンツ情報ツリーを生成する優先コンテンツ情報ツリー生成手段とを備える。従って、コンテンツ数が多くても、限界コンテンツ数以下の優先コンテンツ情報ツリーが生成されるので、優先コンテンツ情報ツリーを生成し終えるまでの時間を短縮することができる。
【解決手段】 コンテンツ情報ツリー生成装置は、コンテンツ記憶部に記憶されているコンテンツ数が所定の限界コンテンツ数より大きいか否かを判断する判断手段と、コンテンツ数が限界コンテンツ数より大きいと判断された場合、コンテンツ記憶部に記録されているコンテンツの中から、所定条件に従って限界コンテンツ数以下のコンテンツを選択し、選択されたコンテンツのみのコンテンツ情報が格納された優先コンテンツ情報ツリーを生成する優先コンテンツ情報ツリー生成手段とを備える。従って、コンテンツ数が多くても、限界コンテンツ数以下の優先コンテンツ情報ツリーが生成されるので、優先コンテンツ情報ツリーを生成し終えるまでの時間を短縮することができる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンテンツ記憶部に記録されたコンテンツのコンテンツ情報が格納されたコンテンツ情報ツリーを生成するコンテンツ情報ツリー生成装置及びそのプログラムに関する。
【背景技術】
【0002】
近年、HDD(Hard Disk Drive)を備え、HDDに記録されている複数のコンテンツ(例えば曲ファイル)の中から選択された曲ファイルを再生する再生装置が普及してきている。このような再生装置においては、スタンバイ状態から電源オン状態に移行する際に、HDDに記録されたコンテンツのコンテンツ情報(アーティスト名、アルバム名、トラック名等)を階層構造で管理したコンテンツ情報ツリーを構築する。コンテンツ情報はHDDに格納されているコンテンツ情報データベース(以下、コンテンツ情報DBという。)に記録されているが、コンテンツリストを表示部に表示する際に、その都度コンテンツ情報DBからコンテンツ情報を検索していると多大な時間がかかるので、コンテンツ情報ツリーからコンテンツ情報を検索することによってコンテンツ情報検索の時間を短縮できる。なお、コンテンツ情報ツリーは、例えば、アーティストモードでコンテンツを検索する際には、上位階層から、アーティスト、アルバム、トラックの順に階層構造が形成されたアーティストツリーが生成される。
【0003】
しかし、HDDに記録されているコンテンツの数が膨大になると、スタンバイ状態から電源オン状態に移行する際に、コンテンツ情報ツリーを生成し終えるまでに多大な時間がかかり、その結果、ユーザが直ぐに音楽を聴くことができないという問題が生じる。
【0004】
【特許文献1】特開2004−4245号
【発明の開示】
【発明が解決しようとする課題】
【0005】
本発明は上記従来の課題を解決するためになされたものであり、その目的は、コンテンツ数が多い場合であっても、コンテンツ情報ツリーを迅速に生成することができるコンテンツ情報ツリー生成装置を提供することである。
【課題を解決するための手段】
【0006】
本発明の好ましい実施形態によるコンテンツ情報ツリー生成装置は、コンテンツ記憶部に記録されているコンテンツのコンテンツ情報が格納されたコンテンツ情報ツリーを生成するコンテンツ情報ツリー生成装置であって、前記コンテンツ記憶部に記録されているコンテンツ数が所定の限界コンテンツ数より大きいか否かを判断する判断手段と、コンテンツ数が前記限界コンテンツ数より大きいと判断された場合、前記コンテンツ記憶部に記録されているコンテンツの中から、所定条件に従って前記限界コンテンツ数以下のコンテンツを選択し、選択されたコンテンツのみのコンテンツ情報が格納された優先コンテンツ情報ツリーを生成する優先コンテンツ情報ツリー生成手段とを備える。
【0007】
コンテンツ数が限界コンテンツ数よりも大きい場合には、限界コンテンツ数以下のコンテンツが選択されて、選択されたコンテンツのコンテンツ情報のみを含む優先コンテンツ情報ツリーが生成される。従って、コンテンツ数が多くても、限界コンテンツ数以下の優先コンテンツ情報ツリーが生成されるので、優先コンテンツ情報ツリーを生成し終えるまでの時間を短縮することができる。
【0008】
好ましい実施形態においては、前記コンテンツ記憶部に記録されているが、前記優先コンテンツ情報ツリーに格納されていないコンテンツのコンテンツ情報が格納された残存コンテンツ情報データベースを管理する残存コンテンツ情報管理手段をさらに備える。
【0009】
好ましい実施形態においては、前記コンテンツ記憶部に記録されているコンテンツのコンテンツ情報を表示する際に、表示すべきコンテンツのコンテンツ情報が前記優先コンテンツ情報ツリーに格納されているか否かを判断するコンテンツ情報判断手段と、表示すべきコンテンツのコンテンツ情報が前記優先コンテンツ情報ツリーに格納されている場合に、前記優先コンテンツ情報ツリーから前記コンテンツ情報を取得し、表示すべきコンテンツのコンテンツ情報が前記優先コンテンツ情報ツリーに格納されていない場合に、前記残存コンテンツ情報データベースから前記コンテンツ情報を取得するコンテンツ情報取得手段と、前記コンテンツ情報取得手段が取得したコンテンツ情報を表示装置に表示させる表示制御手段とをさらに備える。
【0010】
この場合、優先コンテンツ情報ツリーに格納されていないコンテンツのコンテンツ情報であっても、残存コンテンツ情報データベースからそのコンテンツ情報を取得することによって、コンテンツ情報を表示することができる。
【0011】
好ましい実施形態においては、前記コンテンツ記憶部に記録されているコンテンツを再生する際に、再生すべきコンテンツの所在情報が前記優先コンテンツ情報ツリーに格納されているか否かを判断する所在情報判断手段と、再生すべきコンテンツの所在情報が前記優先コンテンツ情報ツリーに格納されている場合に、前記優先コンテンツ情報ツリーから前記所在情報を取得し、再生すべきコンテンツの所在情報が前記優先コンテンツ情報ツリーに格納されていない場合に、前記残存コンテンツ情報データベースから前記所在情報を取得する所在情報取得手段と、前記所在情報取得手段が取得した所在情報に基づいて、再生手段に、前記コンテンツ記憶部からコンテンツを読み出して再生させる再生制御手段とをさらに備える。
【0012】
この場合、優先コンテンツ情報ツリーに格納されていないコンテンツの所在情報であっても、残存コンテンツ情報データベースからその所在情報を取得することによって、所在情報を特定してコンテンツを再生することができる。
【0013】
好ましい実施形態においては、前記優先コンテンツ情報ツリーに前記残存コンテンツ情報データベースに記録されているコンテンツ情報を追加することによって、最終コンテンツ情報ツリーを生成する最終コンテンツ情報ツリー生成手段をさらに備える。
【0014】
この場合、後から、優先コンテンツ情報ツリーと残存コンテンツ情報データベースとに基づいて最終コンテンツ情報ツリーを生成することができる。従って、残存コンテンツ情報データベースからコンテンツ情報を検索すると多大な時間がかかるが、最終コンテンツ情報ツリーから全てのコンテンツ情報を検索できるようになるので、コンテンツ情報を迅速に検索できるようになる。
【0015】
好ましい実施形態においては、前記コンテンツ情報が最終再生日時を含み、前記優先コンテンツ情報ツリー生成手段が、最終再生日時が新しい順に前記限界コンテンツ数以下のコンテンツを選択する。
【0016】
最終再生日時が新しい(つまり、現在に近い)コンテンツは、ユーザ操作によって、コンテンツ情報が表示される可能性が高い、又は、コンテンツが再生される可能性が高い。従って、最終再生日時が新しいコンテンツを優先的に優先コンテンツ情報ツリーに含めることによって、ユーザに不快感を与える可能性を低くできる。
【発明の効果】
【0017】
コンテンツ数が多くても、限界コンテンツ数以下の優先コンテンツ情報ツリーが生成されるので、優先コンテンツ情報ツリーを生成し終えるまでの時間を短縮することができる。
【発明を実施するための最良の形態】
【0018】
以下、本発明の好ましい実施形態について、図面を参照して具体的に説明するが、本発明はこれらの実施形態には限定されない。
【0019】
図1は、本発明の好ましい実施形態によるコンテンツ情報ツリー生成装置が適用される再生装置1の構成を示すブロック図である。コンテンツは、映像データ、曲(音楽)データ、又は、静止画データ等の総称であるが、本例では曲ファイル(トラックともいう。)である。再生装置1は、HDD(Hard Disk Drive)5に記録されている複数の曲ファイルの中から選択された曲ファイルを再生部6において再生し、図示しないスピーカーから音声を出力する。
【0020】
再生装置1は、制御部2、RAM3、ROM4、HDD等のコンテンツ記憶部5、再生部6、操作部7、及び、表示部8を備える。これらは、バスを介して互いに接続されている。
【0021】
HDD5には複数のコンテンツ(曲ファイル)が記録されている。HDD5に記録されている曲ファイルは、制御部2の指示によって読み出され、再生部6によって再生される。
【0022】
HDD5には、コンテンツ情報データベース(以下、コンテンツ情報DBという)が格納されている。コンテンツ情報DBは、HDD5に記録されている全コンテンツに関するコンテンツ情報や所在情報を管理するデータベースである。図2は、コンテンツ情報DBの一例を示す。
【0023】
図2に示すとおり、コンテンツ情報DBは、インデックスに対応付けて、コンテンツ情報(トラック名、アーティスト名、アルバム名、最終再生日時など)と、アーティストIDと、アルバムIDとが登録されている。また、図示しないが、コンテンツ情報DBはコンテンツのHDD5における所在を示すファイルパスや、再生回数等の情報も記録されている。
【0024】
インデックスは、トラックに付与されている通し番号であり、HDD5に記録される順に付与される。アーティストIDは、コンテンツ情報DBに登録されている全アーティスト名について、50音順及び/又はアルファベット順に付与される通し番号である。従って、新たなアーティスト名がコンテンツ情報DBに登録される毎に、全アーティストIDを再度付与し直す。アルバムIDは、コンテンツ情報DBに登録されている全アルバム名について、50音順及び/又はアルファベット順に付与される通し番号である。従って、新たなアルバム名がコンテンツ情報DBに登録される毎に、全アルバムIDを再度付与し直す。最終再生日時は、トラックが最後に再生された日時である。
【0025】
図1に戻り、制御部2は、再生装置1全体を制御するものであり、ROM4またはHDD5に格納されたコンテンツ情報ツリー生成プログラムをRAM3内に読み出して実行することにより、後述する各処理を実行する。
【0026】
制御部2は、コンテンツ情報DBに記録されているコンテンツ情報に基づいて、コンテンツ情報ツリーを生成する。コンテンツ情報ツリーは、表示部8にコンテンツリスト(例えば、アーティスト名の一覧であるアーティストリスト、アルバム名の一覧であるアルバムリスト、又は、トラック名の一覧であるトラックリスト)を表示する際に、表示すべきコンテンツ情報(アーティスト名、アルバム名、トラック名)を容易に検索して取得するために使用される。以下では、コンテンツ情報ツリーが、アーティスト名からトラックを検索するアーティストモードで使用されるアーティストツリーである場合を説明する。
【0027】
図3は、アーティストツリーを示す概念図である。アーティストツリーは、上位階層から順に、アーティストID、アルバムID、トラックの順に階層構造を形成している。ツリーに記述しているボックスのことをノードと呼ぶ。アーティストIDのノードには、アーティストIDで特定されるアーティスト名が格納されている。アルバムIDのノードには、アルバムIDで特定されるアルバム名が格納されている。また、トラックのノードには、トラックのトラック名や、トラックのHDD5における所在情報であるファイルパス(アドレス)が格納されている。
【0028】
制御部2は、アーティストツリーを生成する際に、コンテンツ情報DBに記録されているコンテンツ数(つまり、HDD5に記録されているコンテンツ数)が所定の限界コンテンツ数を超えているか否かを判断する。限界コンテンツ数は、コンテンツ数が限界コンテンツ数を越えると、アーティストツリーを生成し終えるまでの時間が長くなりユーザに不快感を与えると考えられる数であり、一般的には再生装置1の製造者によって設定される。なお、限界コンテンツ数はユーザ操作によって任意の数に変更可能であってもよい。
【0029】
コンテンツ数が限界コンテンツ数を越えている場合、制御部2は、図4に示す優先コンテンツ情報データベース(以下、優先DBという。)、および、図5に示す残存コンテンツ情報データベース(以下、残存DBという。)を生成し、HDD5に格納する。優先DBは、コンテンツ情報DB内のコンテンツのコンテンツ情報の内、所定の条件に従って、限界コンテンツ数以下のコンテンツを抽出し、抽出したコンテンツのコンテンツ情報が登録される。ここで、所定の条件とは、例えば、最終再生日時が新しい(最近に近い)順、又は、再生回数が多い順等である。残存DBは、コンテンツ情報DB内のコンテンツのコンテンツ情報の内、優先DBに登録したコンテンツ以外のコンテンツのコンテンツ情報が登録される。
【0030】
制御部2は、例えばスタンバイ状態から電源オン状態に移行するときに、アーティストツリーを生成する場合、最初に限界コンテンツ数以下のコンテンツのコンテンツ情報のみを含む優先DBから、アーティストツリー(以下、優先アーティストツリーという。)を生成する。従って、コンテンツ情報DBのコンテンツ数が限界コンテンツ数を越えている場合に、コンテンツ情報DBの全コンテンツについてのアーティストツリーを生成する場合に比べて、優先アーティストツリーを生成し終えるまでの時間を短縮でき、ユーザに不快感を与えることを防止できる。また、制御部2は、後から負荷がかかっていない状態の(又は、何も動作していない)時に、優先アーティストツリーに残存DBに含まれているコンテンツのコンテンツ情報を追加することによって、完全なアーティストツリー(以下、最終アーティストツリーという。)を生成する。
【0031】
再び図1に戻り、操作部7は、ユーザからの指示を受け付けて制御部2に送信するものであり、操作ボタンやリモコン等である。表示部8は、LCD(液晶ディスプレイ)やFL管等であり、制御部2の指示に基づいて、コンテンツリストや、再生中の曲ファイルのコンテンツ情報等を表示する。再生部6は、HDD5から読み出された曲ファイルを再生(例えば、デコード、D/A変換、増幅処理等)する。
【0032】
以上の構成を有する再生装置1について、その動作を説明する。
[優先アーティストツリー生成処理]
優先アーティストツリー生成処理を、図6を参照して説明する。例えば、再生装置1がスタンバイ状態から電源オン状態に移行するとき、制御部2は、コンテンツ情報DBを検索し、コンテンツ情報DBにコンテンツ情報が登録されているコンテンツの数を取得する(S1)。制御部2は、取得したコンテンツ数が限界コンテンツ数limitよりも大であるか否かを判断する(S2)。コンテンツ数が限界コンテンツ数limit以下である場合(S2でNO)、制御部2は、優先アーティストツリーを生成することなく、コンテンツ情報DBの全コンテンツについての最終アーティストツリーを直接生成する(S6)。コンテンツ情報DBの全コンテンツについて最終アーティストツリーを生成しても、ユーザに不快感を与える時間かからないからである。
【0033】
コンテンツ数が限界コンテンツ数limitよりも大である場合(S2でYES)、制御部2は、コンテンツ情報DBのトラックの内、限界コンテンツ数limitに達するまで、最終再生日時が新しいトラックから順に優先DBにコンテンツ情報を登録することにより、優先DBを生成する(S3)。従って、優先DBには、限界コンテンツ数分のトラックのコンテンツ情報が登録される。なお、限界コンテンツ数分ではなく、(限界コンテンツ数−所定数)分のトラックのコンテンツ情報が優先DBに登録されても良い。
【0034】
次に、制御部2は、コンテンツ情報DBの全コンテンツの内、S3で優先DBに登録されなかった残りのトラックのコンテンツ情報を残存DBに登録することにより、残存DBを生成する(S4)。従って、残存DBには、(コンテンツ情報DBのコンテンツ数−優先DBのコンテンツ数)分のトラックのコンテンツ情報が登録される。
【0035】
次に、制御部2は、優先DBに登録されているトラックのコンテンツ情報に基づいて、図7に示す優先アーティストツリーを生成する(S5)。優先DBには、限界コンテンツ数分のトラックのコンテンツ情報しか含まれていないので、優先アーティストツリーには一部のトラックのコンテンツ情報が含まれていない。図7の例では、破線で囲んだアーティストIDであるアーティストID3は、アーティストID3が付与されたトラックが優先DBに含まれていないので、優先アーティストツリーには含まれていない。同様に、破線で囲んだアルバムIDであるアルバムID5も、アルバムID5が付与されたトラックが優先DBに含まれていないので、優先アーティストツリーには含まれていない。また、破線で囲んだトラックPも優先DBに含まれていないので、優先アーティストツリーには含まれていない。
【0036】
一方、実線で囲んだアーティストIDであるアーティストID1、ID2、ID4は、これらのアーティストIDが付与されたトラックのコンテンツ情報が優先DBに含まれているので、優先アーティストツリーに含まれている。つまり、これらのアーティストIDのノードには各アーティスト名が優先DBから取得されて格納されている。同様に、実線で囲んだアルバムIDであるアルバムID1は、このアルバムIDが付与されたトラックのコンテンツ情報が優先DBに含まれているので、優先アーティストツリーに含まれている。つまり、このアルバムIDのノードにはアルバム名が優先DBから取得されて格納されている。また、実線で囲んだトラックであるトラックA、Qには、トラックのコンテンツ情報が優先DBに含まれているので、これらのトラックのノードが優先アーティストツリーに含まれている。つまり、これらのトラックのノードにはトラック名やファイルパスが優先DBから取得されて格納されている。
【0037】
以上のように、制御部2は、限界コンテンツ数以下のトラックのコンテンツ情報のみを含む優先DBに基づいて、優先アーティストツリーを生成するので、優先アーティストツリーを生成し終えるまでの時間を従来と比較して短縮することができる。なお、優先アーティストツリーには、最終再生日時が新しいトラックが優先的に含まれることになるので、アーティストリスト(アルバムリスト、トラックリストも同様)等のコンテンツリストを表示した場合であっても、ユーザが最近よく聞くトラックに関するアーティスト名、アルバム名、トラック名を表示することができる。なお、優先DBを生成することなく、コンテンツ情報DBの一部のトラックのコンテンツ情報から直接、優先アーティストツリーを生成してもよい。
【0038】
[アーティストリスト表示処理]
優先アーティストツリーを用いたアーティストリスト表示処理を、図8を参照して説明する。本例では、一部のトラックのアーティスト名しか含まない優先アーティストツリーを用いるにもかかわらず、残存DBを併用することによって、全てのトラックのアーティスト名を漏れなく表示することができる。
【0039】
ユーザ操作によってアーティストリストを表示する指示が入力されると、制御部2は、ユーザ操作に応じて、50音順及び/又はアルファベット順にソートされたアーティストリストについて表示すべきアーティスト名の開始番号STと、終了番号ENを特定する(S11)。例えば、1番目〜10番目までの10個のアーティスト名を表示する場合、ST=1、EN=10となる。また、5番目〜14番目の10個のアーティスト名を表示する場合、ST=5、EN=14となる。
【0040】
次に、制御部2は、アーティスト名を取得すべきアーティストIDを開始番号STに初期化する(S12)。ここでは、ST=1であるので、アーティストIDはアーティストID1に設定される。次に、制御部2は、現在のアーティストIDのノードが優先アーティストツリーに含まれているか否かを判断する(S13)。例えば、図7に示すように、アーティストID1のノードは優先アーティストツリーに含まれている(S13でYES)。従って、制御部2は、優先アーティストツリーのアーティストIDのノードからアーティスト名を取得して、RAM3に格納する(S14)。その後、制御部2は、アーティストIDが終了番号ENであるか否かを判断し(S16)、未だ終了番号ENに達していなければ(S16でNO)、アーティストIDを1増加させて(S18)、S13に戻る。すなわち、開始番号ST〜終了番号ENまでのアーティストIDについて、上記の処理を繰り返し、アーティスト名をRAM3に格納する。
【0041】
図7に示すように、アーティストID3のノードは優先アーティストツリーに含まれていない(S13でNO)。この場合、制御部2は、優先アーティストツリーではなく、残存DBを検索して、残存DBに登録されているアーティストID3のアーティスト名を取得し、RAM3に格納する。優先アーティストツリーから検索する場合に比べて時間はかかるが、アーティスト名を取得することができる。
【0042】
アーティストIDが終了番号ENに達した場合(S16でYES)、つまり、開始番号ST〜終了番号ENまでのアーティスト名をRAM3に格納し終えた場合、制御部2は、RAM3に格納されたアーティスト名を含むアーティストリストを表示部8に表示させる(S17)。以上のように、優先アーティストツリーと残存DBとを併用することによって、優先アーティストツリーに含まれていないトラックのアーティスト名についても表示することができる。
【0043】
[アルバムリスト表示処理]
図8の処理によって表示されたアーティストリストの中からユーザ操作によって所望のアーティストが選択され、選択されたアーティストのアルバム名の一覧であるアルバムリストを表示する処理を、図9を参照して説明する。ここで、優先アーティストツリーからは、各アーティストIDが下位層に含むアルバムIDの実際の数(つまり、最終アーティストツリーにおける各アーティストIDが下位層に含むアルバムIDの数)を判断することができない。各アーティストIDに含まれているアルバムIDは順番に並んでいるわけではないので、アルバムIDが連続していないときに、実際にアルバムIDが下位層に含まれないのか、又は、アルバムIDが残存DBに含まれているのかを優先アーティストツリーのみからでは判別できないからである。そこで、本例では、残存DBからアーティストIDに対応するアルバムIDの数を取得することによってその問題を解決する。
【0044】
図9に示すとおり、制御部2は、アーティストIDが選択されたか(つまり、アーティストリストからユーザ操作によって1つのアーティスト名が選択されたか)否かを判断する(S21)。アーティストIDが選択されると(S21でYES)、制御部2は、図7の優先アーティストツリーを参照し、選択されたアーティストIDの下位層に含まれるアルバムIDの各ノードからアルバム名を取得して、RAM3に格納する(S22)。例えば、図7を参照し、アーティストID1が選択されると、その下位層のアルバムID1のノードからアルバム名が取得されて、RAM3に格納される。なお、実際にはアーティストID1の下位層にはアルバムID5も含まれているが、優先アーティストツリーにはアルバムID5が含まれていないので、優先アーティストツリーからはアルバムID5のアルバム名を取得することはできない。
【0045】
そこで、制御部2は、選択されたアーティストIDに対応するアルバムIDの数を残存DBから検索して取得する(S23)。そして、制御部2は、取得したアルバムIDの数が0よりも大であるか否かを判断する(S24)。取得したアルバムの数が0であれば(S24でNO)、選択されたアーティストIDに含まれるアルバムIDは優先アーティストツリーに全て含まれていることになるので、S25をスキップして、S26に進む。
【0046】
一方、取得したアルバムIDの数が0よりも大であれば(S24でYES)、制御部2は、選択されたアーティストIDに対応するアルバム名を、残存DBを検索して取得し、RAM3に格納する。例えば、図7の優先アーティストツリーにおいては、アーティストID1には実際にはアルバムID5のノードが含まれているべきであるので、残存DBにアルバムID5が含まれている。この場合、S24でYESと判断され、残存DBからアルバムID5のアルバム名が取得され、RAM3に格納される。
【0047】
以上の処理によって、RAM3には選択されたアーティストIDに対応する全アルバムIDのアルバム名を格納することができる。必要に応じて、RAM3に格納されたアルバム名は50音順及び/又はアルファベット順に並べ換えられる。その後、制御部2は、RAM3に格納されたアルバム名のうち、表示部8への表示個数分だけ読み出して、表示部8に表示させる。
【0048】
[トラックリスト表示処理]
図9の処理によって表示されたアルバムリストの中からユーザ操作によって所望のアルバム名が選択され、選択されたアルバムのトラックリストを表示する処理を、図10に示す。トラックリスト表示処理は、図9のアルバムリスト表示処理において、「アーティスト」を「アルバム」に、「アルバム」を「トラック」に置き換えた内容になっており、基本的には同じ処理であるので、説明を援用する。
【0049】
[トラック再生処理]
図10の処理によって表示されたトラックリストの中からユーザ操作によって所望のトラックが選択され、選択されたトラックを特定して再生開始する処理を、図11を参照して説明する。制御部2は、トラックIDが選択されたか否か(つまり、トラックリストの中からユーザ操作によって所望のトラック名が選択されたか否か)を判断する(S41)。
【0050】
トラックIDが選択された場合(S41でYES)、制御部2は、選択されたトラックIDのノードが優先アーティストツリーに存在するか否かを判断する(S42)。選択されたトラックIDのノードが優先アーティストツリーに存在する場合(S42でYES)、優先アーティストツリーの選択されたトラックIDのノードから、選択されたトラックIDのファイルパスを取得して、HDD5の当該ファイルパスにアクセスしてトラックを読み出し、再生開始する(S43)。例えば、図7の優先アーティストツリーにおいて、トラックAが選択された場合、優先アーティストツリーのトラックAのノードからファイルパスを読み出して、トラックAを再生開始する。
【0051】
一方、選択されたトラックIDのノードが優先アーティストツリーに存在しない場合(S42でNO)、優先アーティストツリーから、選択されたトラックのファイルパスを取得することができない。そこで、制御部2は、選択されたトラックに対応するファイルパスを残存DBから検索して取得し、HDD5の当該ファイルパスにアクセスしてトラックを読み出し、再生開始する(S44)。例えば、図7の優先アーティストツリーにおいて、トラックPが選択された場合、残存DBからトラックPに対応するファイルパスを読み出して、トラックPを再生開始する。
【0052】
[最終アーティストツリー生成処理]
トラック再生処理などを実行していない等の理由で、制御部2の負荷率が小さいときに、制御部2は、優先アーティストツリーに残存DBに記録されているトラックのコンテンツ情報を追加していくことによって、最終アーティストツリーを生成する。
【0053】
図12に示すとおり、制御部2は残存DBにトラックのコンテンツ情報が未だ存在しているか否かを判断する(S51)。残存DBにトラックのコンテンツ情報が残っていない場合(S51でNO)、最終アーティストツリーが完成しているので、処理を終了する。
【0054】
残存DBにトラックのコンテンツ情報が存在している場合(S51でYES)、制御部2は、残存DBに含まれているトラックのコンテンツ情報の内、優先アーティストツリーに追加するトラックとして、例えば、アーティストIDが最小のトラックを1つ選択する(S52)。
【0055】
続いて、制御部2は、優先アーティストツリーの各アーティストのノードにおいて、選択されたトラックのアーティストIDのノードを挿入すべき位置を特定する(S53)。そして、制御部2は、特定した位置に選択されたトラックのアーティストIDのノードを挿入する(S54)。アーティストIDのノードを挿入した後に、残存DBからアーティスト名を取得して生成したノードに格納する。ここで、選択されたトラックのアーティストIDのノードが既に優先アーティストツリーに存在する場合には、当該アーティストIDのノードを優先アーティストツリーに挿入する必要はない。例えば、図7の優先アーティストツリーにおいて、残存DBから選択されたトラックのアーティストIDがアーティストID1である場合、新たにノードを挿入せず、アーティストID3である場合、新たにアーティストID3のノードをアーティストID2のノードの次の位置に挿入する。
【0056】
続いて、制御部2は、優先アーティストツリーの各アルバムのノードにおいて、選択されたトラックのアルバムIDのノードを挿入すべき位置を特定する(S55)。そして、制御部2は、特定した位置に選択されたトラックのアルバムIDのノードを挿入する(S56)。アルバムIDのノードを挿入した後に、残存DBからアルバム名を取得して生成したノードに格納する。ここで、選択されたトラックのアルバムIDのノードが既に優先アーティストツリーに存在する場合には、当該アルバムIDのノードを優先アーティストツリーに挿入する必要はない。例えば、図7の優先アーティストツリーにおいて、残存DBから選択されたトラックのアルバムIDがアルバムID1である場合、新たにノードを挿入せず、アルバムID5である場合、新たにアルバムID5のノードをアルバムID1のノードの次の位置に挿入する。
【0057】
続いて、制御部2は、優先アーティストツリーの各トラックのノードにおいて、選択されたトラックのノードを挿入すべき位置を特定する(S57)。そして、制御部2は、特定した位置に選択されたトラックのノードを挿入する(S58)。トラックのノードを挿入した後に、残存DBからトラック名及びファイルパスを取得して生成したノードに格納する。例えば、図7の優先アーティストツリーにおいて、残存DBから選択されたトラックがトラックPである場合、トラックPのノードをトラックAのノードの次の位置に挿入する。
【0058】
優先アーティストツリーに各ノードを挿入した後、制御部2は、残存DBから選択したトラックの各コンテンツ情報を削除する(S59)。その後、S51に戻って、上記の処理を残存DBに存在する全トラックについて実行することによって、最終アーティストツリーを生成する。
【0059】
以上のように、最終的には優先アーティストツリーに残存DB内のトラックのコンテンツ情報を追加することによって、最終アーティストツリーを生成する。その結果、残存DBからコンテンツ情報を検索する必要がなくなり、コンテンツ情報を検索する時間を短縮できる。
【0060】
以上、本発明の好ましい実施形態を説明したが、本発明はこれらの実施形態には限定されない。本発明は、上記のコンテンツ記録再生装置を動作させるためのコンピュータプログラムまたはそのコンピュータプログラムを記録した記録媒体という形態で提供されてもよい。
【産業上の利用可能性】
【0061】
本発明はHDDレコーダやPC等に好適に適用され得る。
【図面の簡単な説明】
【0062】
【図1】本発明の好ましい実施形態による再生装置1の構成を示すブロック図である。
【図2】コンテンツ情報DBのデータ構造の一例を示す図である。
【図3】最終アーティストツリーを示す概念図である。
【図4】優先DBのデータ構造の一例を示す図である。
【図5】残存DBのデータ構造の一例を示す図である。
【図6】優先アーティストツリー精製処理を示すフローチャートである。
【図7】優先アーティストツリーを示す概念図である。
【図8】アーティストリスト表示処理を示すフローチャートである。
【図9】アルバムリスト表示処理を示すフローチャートである。
【図10】トラックリスト表示処理を示すフローチャートである。
【図11】トラック再生処理を示すフローチャートである。
【図12】最終アーティストツリー精製処理を示すフローチャートである。
【符号の説明】
【0063】
1 再生装置
2 制御部
3 RAM
4 ROM
5 HDD
6 再生部
7 操作部
8 表示部
【技術分野】
【0001】
本発明は、コンテンツ記憶部に記録されたコンテンツのコンテンツ情報が格納されたコンテンツ情報ツリーを生成するコンテンツ情報ツリー生成装置及びそのプログラムに関する。
【背景技術】
【0002】
近年、HDD(Hard Disk Drive)を備え、HDDに記録されている複数のコンテンツ(例えば曲ファイル)の中から選択された曲ファイルを再生する再生装置が普及してきている。このような再生装置においては、スタンバイ状態から電源オン状態に移行する際に、HDDに記録されたコンテンツのコンテンツ情報(アーティスト名、アルバム名、トラック名等)を階層構造で管理したコンテンツ情報ツリーを構築する。コンテンツ情報はHDDに格納されているコンテンツ情報データベース(以下、コンテンツ情報DBという。)に記録されているが、コンテンツリストを表示部に表示する際に、その都度コンテンツ情報DBからコンテンツ情報を検索していると多大な時間がかかるので、コンテンツ情報ツリーからコンテンツ情報を検索することによってコンテンツ情報検索の時間を短縮できる。なお、コンテンツ情報ツリーは、例えば、アーティストモードでコンテンツを検索する際には、上位階層から、アーティスト、アルバム、トラックの順に階層構造が形成されたアーティストツリーが生成される。
【0003】
しかし、HDDに記録されているコンテンツの数が膨大になると、スタンバイ状態から電源オン状態に移行する際に、コンテンツ情報ツリーを生成し終えるまでに多大な時間がかかり、その結果、ユーザが直ぐに音楽を聴くことができないという問題が生じる。
【0004】
【特許文献1】特開2004−4245号
【発明の開示】
【発明が解決しようとする課題】
【0005】
本発明は上記従来の課題を解決するためになされたものであり、その目的は、コンテンツ数が多い場合であっても、コンテンツ情報ツリーを迅速に生成することができるコンテンツ情報ツリー生成装置を提供することである。
【課題を解決するための手段】
【0006】
本発明の好ましい実施形態によるコンテンツ情報ツリー生成装置は、コンテンツ記憶部に記録されているコンテンツのコンテンツ情報が格納されたコンテンツ情報ツリーを生成するコンテンツ情報ツリー生成装置であって、前記コンテンツ記憶部に記録されているコンテンツ数が所定の限界コンテンツ数より大きいか否かを判断する判断手段と、コンテンツ数が前記限界コンテンツ数より大きいと判断された場合、前記コンテンツ記憶部に記録されているコンテンツの中から、所定条件に従って前記限界コンテンツ数以下のコンテンツを選択し、選択されたコンテンツのみのコンテンツ情報が格納された優先コンテンツ情報ツリーを生成する優先コンテンツ情報ツリー生成手段とを備える。
【0007】
コンテンツ数が限界コンテンツ数よりも大きい場合には、限界コンテンツ数以下のコンテンツが選択されて、選択されたコンテンツのコンテンツ情報のみを含む優先コンテンツ情報ツリーが生成される。従って、コンテンツ数が多くても、限界コンテンツ数以下の優先コンテンツ情報ツリーが生成されるので、優先コンテンツ情報ツリーを生成し終えるまでの時間を短縮することができる。
【0008】
好ましい実施形態においては、前記コンテンツ記憶部に記録されているが、前記優先コンテンツ情報ツリーに格納されていないコンテンツのコンテンツ情報が格納された残存コンテンツ情報データベースを管理する残存コンテンツ情報管理手段をさらに備える。
【0009】
好ましい実施形態においては、前記コンテンツ記憶部に記録されているコンテンツのコンテンツ情報を表示する際に、表示すべきコンテンツのコンテンツ情報が前記優先コンテンツ情報ツリーに格納されているか否かを判断するコンテンツ情報判断手段と、表示すべきコンテンツのコンテンツ情報が前記優先コンテンツ情報ツリーに格納されている場合に、前記優先コンテンツ情報ツリーから前記コンテンツ情報を取得し、表示すべきコンテンツのコンテンツ情報が前記優先コンテンツ情報ツリーに格納されていない場合に、前記残存コンテンツ情報データベースから前記コンテンツ情報を取得するコンテンツ情報取得手段と、前記コンテンツ情報取得手段が取得したコンテンツ情報を表示装置に表示させる表示制御手段とをさらに備える。
【0010】
この場合、優先コンテンツ情報ツリーに格納されていないコンテンツのコンテンツ情報であっても、残存コンテンツ情報データベースからそのコンテンツ情報を取得することによって、コンテンツ情報を表示することができる。
【0011】
好ましい実施形態においては、前記コンテンツ記憶部に記録されているコンテンツを再生する際に、再生すべきコンテンツの所在情報が前記優先コンテンツ情報ツリーに格納されているか否かを判断する所在情報判断手段と、再生すべきコンテンツの所在情報が前記優先コンテンツ情報ツリーに格納されている場合に、前記優先コンテンツ情報ツリーから前記所在情報を取得し、再生すべきコンテンツの所在情報が前記優先コンテンツ情報ツリーに格納されていない場合に、前記残存コンテンツ情報データベースから前記所在情報を取得する所在情報取得手段と、前記所在情報取得手段が取得した所在情報に基づいて、再生手段に、前記コンテンツ記憶部からコンテンツを読み出して再生させる再生制御手段とをさらに備える。
【0012】
この場合、優先コンテンツ情報ツリーに格納されていないコンテンツの所在情報であっても、残存コンテンツ情報データベースからその所在情報を取得することによって、所在情報を特定してコンテンツを再生することができる。
【0013】
好ましい実施形態においては、前記優先コンテンツ情報ツリーに前記残存コンテンツ情報データベースに記録されているコンテンツ情報を追加することによって、最終コンテンツ情報ツリーを生成する最終コンテンツ情報ツリー生成手段をさらに備える。
【0014】
この場合、後から、優先コンテンツ情報ツリーと残存コンテンツ情報データベースとに基づいて最終コンテンツ情報ツリーを生成することができる。従って、残存コンテンツ情報データベースからコンテンツ情報を検索すると多大な時間がかかるが、最終コンテンツ情報ツリーから全てのコンテンツ情報を検索できるようになるので、コンテンツ情報を迅速に検索できるようになる。
【0015】
好ましい実施形態においては、前記コンテンツ情報が最終再生日時を含み、前記優先コンテンツ情報ツリー生成手段が、最終再生日時が新しい順に前記限界コンテンツ数以下のコンテンツを選択する。
【0016】
最終再生日時が新しい(つまり、現在に近い)コンテンツは、ユーザ操作によって、コンテンツ情報が表示される可能性が高い、又は、コンテンツが再生される可能性が高い。従って、最終再生日時が新しいコンテンツを優先的に優先コンテンツ情報ツリーに含めることによって、ユーザに不快感を与える可能性を低くできる。
【発明の効果】
【0017】
コンテンツ数が多くても、限界コンテンツ数以下の優先コンテンツ情報ツリーが生成されるので、優先コンテンツ情報ツリーを生成し終えるまでの時間を短縮することができる。
【発明を実施するための最良の形態】
【0018】
以下、本発明の好ましい実施形態について、図面を参照して具体的に説明するが、本発明はこれらの実施形態には限定されない。
【0019】
図1は、本発明の好ましい実施形態によるコンテンツ情報ツリー生成装置が適用される再生装置1の構成を示すブロック図である。コンテンツは、映像データ、曲(音楽)データ、又は、静止画データ等の総称であるが、本例では曲ファイル(トラックともいう。)である。再生装置1は、HDD(Hard Disk Drive)5に記録されている複数の曲ファイルの中から選択された曲ファイルを再生部6において再生し、図示しないスピーカーから音声を出力する。
【0020】
再生装置1は、制御部2、RAM3、ROM4、HDD等のコンテンツ記憶部5、再生部6、操作部7、及び、表示部8を備える。これらは、バスを介して互いに接続されている。
【0021】
HDD5には複数のコンテンツ(曲ファイル)が記録されている。HDD5に記録されている曲ファイルは、制御部2の指示によって読み出され、再生部6によって再生される。
【0022】
HDD5には、コンテンツ情報データベース(以下、コンテンツ情報DBという)が格納されている。コンテンツ情報DBは、HDD5に記録されている全コンテンツに関するコンテンツ情報や所在情報を管理するデータベースである。図2は、コンテンツ情報DBの一例を示す。
【0023】
図2に示すとおり、コンテンツ情報DBは、インデックスに対応付けて、コンテンツ情報(トラック名、アーティスト名、アルバム名、最終再生日時など)と、アーティストIDと、アルバムIDとが登録されている。また、図示しないが、コンテンツ情報DBはコンテンツのHDD5における所在を示すファイルパスや、再生回数等の情報も記録されている。
【0024】
インデックスは、トラックに付与されている通し番号であり、HDD5に記録される順に付与される。アーティストIDは、コンテンツ情報DBに登録されている全アーティスト名について、50音順及び/又はアルファベット順に付与される通し番号である。従って、新たなアーティスト名がコンテンツ情報DBに登録される毎に、全アーティストIDを再度付与し直す。アルバムIDは、コンテンツ情報DBに登録されている全アルバム名について、50音順及び/又はアルファベット順に付与される通し番号である。従って、新たなアルバム名がコンテンツ情報DBに登録される毎に、全アルバムIDを再度付与し直す。最終再生日時は、トラックが最後に再生された日時である。
【0025】
図1に戻り、制御部2は、再生装置1全体を制御するものであり、ROM4またはHDD5に格納されたコンテンツ情報ツリー生成プログラムをRAM3内に読み出して実行することにより、後述する各処理を実行する。
【0026】
制御部2は、コンテンツ情報DBに記録されているコンテンツ情報に基づいて、コンテンツ情報ツリーを生成する。コンテンツ情報ツリーは、表示部8にコンテンツリスト(例えば、アーティスト名の一覧であるアーティストリスト、アルバム名の一覧であるアルバムリスト、又は、トラック名の一覧であるトラックリスト)を表示する際に、表示すべきコンテンツ情報(アーティスト名、アルバム名、トラック名)を容易に検索して取得するために使用される。以下では、コンテンツ情報ツリーが、アーティスト名からトラックを検索するアーティストモードで使用されるアーティストツリーである場合を説明する。
【0027】
図3は、アーティストツリーを示す概念図である。アーティストツリーは、上位階層から順に、アーティストID、アルバムID、トラックの順に階層構造を形成している。ツリーに記述しているボックスのことをノードと呼ぶ。アーティストIDのノードには、アーティストIDで特定されるアーティスト名が格納されている。アルバムIDのノードには、アルバムIDで特定されるアルバム名が格納されている。また、トラックのノードには、トラックのトラック名や、トラックのHDD5における所在情報であるファイルパス(アドレス)が格納されている。
【0028】
制御部2は、アーティストツリーを生成する際に、コンテンツ情報DBに記録されているコンテンツ数(つまり、HDD5に記録されているコンテンツ数)が所定の限界コンテンツ数を超えているか否かを判断する。限界コンテンツ数は、コンテンツ数が限界コンテンツ数を越えると、アーティストツリーを生成し終えるまでの時間が長くなりユーザに不快感を与えると考えられる数であり、一般的には再生装置1の製造者によって設定される。なお、限界コンテンツ数はユーザ操作によって任意の数に変更可能であってもよい。
【0029】
コンテンツ数が限界コンテンツ数を越えている場合、制御部2は、図4に示す優先コンテンツ情報データベース(以下、優先DBという。)、および、図5に示す残存コンテンツ情報データベース(以下、残存DBという。)を生成し、HDD5に格納する。優先DBは、コンテンツ情報DB内のコンテンツのコンテンツ情報の内、所定の条件に従って、限界コンテンツ数以下のコンテンツを抽出し、抽出したコンテンツのコンテンツ情報が登録される。ここで、所定の条件とは、例えば、最終再生日時が新しい(最近に近い)順、又は、再生回数が多い順等である。残存DBは、コンテンツ情報DB内のコンテンツのコンテンツ情報の内、優先DBに登録したコンテンツ以外のコンテンツのコンテンツ情報が登録される。
【0030】
制御部2は、例えばスタンバイ状態から電源オン状態に移行するときに、アーティストツリーを生成する場合、最初に限界コンテンツ数以下のコンテンツのコンテンツ情報のみを含む優先DBから、アーティストツリー(以下、優先アーティストツリーという。)を生成する。従って、コンテンツ情報DBのコンテンツ数が限界コンテンツ数を越えている場合に、コンテンツ情報DBの全コンテンツについてのアーティストツリーを生成する場合に比べて、優先アーティストツリーを生成し終えるまでの時間を短縮でき、ユーザに不快感を与えることを防止できる。また、制御部2は、後から負荷がかかっていない状態の(又は、何も動作していない)時に、優先アーティストツリーに残存DBに含まれているコンテンツのコンテンツ情報を追加することによって、完全なアーティストツリー(以下、最終アーティストツリーという。)を生成する。
【0031】
再び図1に戻り、操作部7は、ユーザからの指示を受け付けて制御部2に送信するものであり、操作ボタンやリモコン等である。表示部8は、LCD(液晶ディスプレイ)やFL管等であり、制御部2の指示に基づいて、コンテンツリストや、再生中の曲ファイルのコンテンツ情報等を表示する。再生部6は、HDD5から読み出された曲ファイルを再生(例えば、デコード、D/A変換、増幅処理等)する。
【0032】
以上の構成を有する再生装置1について、その動作を説明する。
[優先アーティストツリー生成処理]
優先アーティストツリー生成処理を、図6を参照して説明する。例えば、再生装置1がスタンバイ状態から電源オン状態に移行するとき、制御部2は、コンテンツ情報DBを検索し、コンテンツ情報DBにコンテンツ情報が登録されているコンテンツの数を取得する(S1)。制御部2は、取得したコンテンツ数が限界コンテンツ数limitよりも大であるか否かを判断する(S2)。コンテンツ数が限界コンテンツ数limit以下である場合(S2でNO)、制御部2は、優先アーティストツリーを生成することなく、コンテンツ情報DBの全コンテンツについての最終アーティストツリーを直接生成する(S6)。コンテンツ情報DBの全コンテンツについて最終アーティストツリーを生成しても、ユーザに不快感を与える時間かからないからである。
【0033】
コンテンツ数が限界コンテンツ数limitよりも大である場合(S2でYES)、制御部2は、コンテンツ情報DBのトラックの内、限界コンテンツ数limitに達するまで、最終再生日時が新しいトラックから順に優先DBにコンテンツ情報を登録することにより、優先DBを生成する(S3)。従って、優先DBには、限界コンテンツ数分のトラックのコンテンツ情報が登録される。なお、限界コンテンツ数分ではなく、(限界コンテンツ数−所定数)分のトラックのコンテンツ情報が優先DBに登録されても良い。
【0034】
次に、制御部2は、コンテンツ情報DBの全コンテンツの内、S3で優先DBに登録されなかった残りのトラックのコンテンツ情報を残存DBに登録することにより、残存DBを生成する(S4)。従って、残存DBには、(コンテンツ情報DBのコンテンツ数−優先DBのコンテンツ数)分のトラックのコンテンツ情報が登録される。
【0035】
次に、制御部2は、優先DBに登録されているトラックのコンテンツ情報に基づいて、図7に示す優先アーティストツリーを生成する(S5)。優先DBには、限界コンテンツ数分のトラックのコンテンツ情報しか含まれていないので、優先アーティストツリーには一部のトラックのコンテンツ情報が含まれていない。図7の例では、破線で囲んだアーティストIDであるアーティストID3は、アーティストID3が付与されたトラックが優先DBに含まれていないので、優先アーティストツリーには含まれていない。同様に、破線で囲んだアルバムIDであるアルバムID5も、アルバムID5が付与されたトラックが優先DBに含まれていないので、優先アーティストツリーには含まれていない。また、破線で囲んだトラックPも優先DBに含まれていないので、優先アーティストツリーには含まれていない。
【0036】
一方、実線で囲んだアーティストIDであるアーティストID1、ID2、ID4は、これらのアーティストIDが付与されたトラックのコンテンツ情報が優先DBに含まれているので、優先アーティストツリーに含まれている。つまり、これらのアーティストIDのノードには各アーティスト名が優先DBから取得されて格納されている。同様に、実線で囲んだアルバムIDであるアルバムID1は、このアルバムIDが付与されたトラックのコンテンツ情報が優先DBに含まれているので、優先アーティストツリーに含まれている。つまり、このアルバムIDのノードにはアルバム名が優先DBから取得されて格納されている。また、実線で囲んだトラックであるトラックA、Qには、トラックのコンテンツ情報が優先DBに含まれているので、これらのトラックのノードが優先アーティストツリーに含まれている。つまり、これらのトラックのノードにはトラック名やファイルパスが優先DBから取得されて格納されている。
【0037】
以上のように、制御部2は、限界コンテンツ数以下のトラックのコンテンツ情報のみを含む優先DBに基づいて、優先アーティストツリーを生成するので、優先アーティストツリーを生成し終えるまでの時間を従来と比較して短縮することができる。なお、優先アーティストツリーには、最終再生日時が新しいトラックが優先的に含まれることになるので、アーティストリスト(アルバムリスト、トラックリストも同様)等のコンテンツリストを表示した場合であっても、ユーザが最近よく聞くトラックに関するアーティスト名、アルバム名、トラック名を表示することができる。なお、優先DBを生成することなく、コンテンツ情報DBの一部のトラックのコンテンツ情報から直接、優先アーティストツリーを生成してもよい。
【0038】
[アーティストリスト表示処理]
優先アーティストツリーを用いたアーティストリスト表示処理を、図8を参照して説明する。本例では、一部のトラックのアーティスト名しか含まない優先アーティストツリーを用いるにもかかわらず、残存DBを併用することによって、全てのトラックのアーティスト名を漏れなく表示することができる。
【0039】
ユーザ操作によってアーティストリストを表示する指示が入力されると、制御部2は、ユーザ操作に応じて、50音順及び/又はアルファベット順にソートされたアーティストリストについて表示すべきアーティスト名の開始番号STと、終了番号ENを特定する(S11)。例えば、1番目〜10番目までの10個のアーティスト名を表示する場合、ST=1、EN=10となる。また、5番目〜14番目の10個のアーティスト名を表示する場合、ST=5、EN=14となる。
【0040】
次に、制御部2は、アーティスト名を取得すべきアーティストIDを開始番号STに初期化する(S12)。ここでは、ST=1であるので、アーティストIDはアーティストID1に設定される。次に、制御部2は、現在のアーティストIDのノードが優先アーティストツリーに含まれているか否かを判断する(S13)。例えば、図7に示すように、アーティストID1のノードは優先アーティストツリーに含まれている(S13でYES)。従って、制御部2は、優先アーティストツリーのアーティストIDのノードからアーティスト名を取得して、RAM3に格納する(S14)。その後、制御部2は、アーティストIDが終了番号ENであるか否かを判断し(S16)、未だ終了番号ENに達していなければ(S16でNO)、アーティストIDを1増加させて(S18)、S13に戻る。すなわち、開始番号ST〜終了番号ENまでのアーティストIDについて、上記の処理を繰り返し、アーティスト名をRAM3に格納する。
【0041】
図7に示すように、アーティストID3のノードは優先アーティストツリーに含まれていない(S13でNO)。この場合、制御部2は、優先アーティストツリーではなく、残存DBを検索して、残存DBに登録されているアーティストID3のアーティスト名を取得し、RAM3に格納する。優先アーティストツリーから検索する場合に比べて時間はかかるが、アーティスト名を取得することができる。
【0042】
アーティストIDが終了番号ENに達した場合(S16でYES)、つまり、開始番号ST〜終了番号ENまでのアーティスト名をRAM3に格納し終えた場合、制御部2は、RAM3に格納されたアーティスト名を含むアーティストリストを表示部8に表示させる(S17)。以上のように、優先アーティストツリーと残存DBとを併用することによって、優先アーティストツリーに含まれていないトラックのアーティスト名についても表示することができる。
【0043】
[アルバムリスト表示処理]
図8の処理によって表示されたアーティストリストの中からユーザ操作によって所望のアーティストが選択され、選択されたアーティストのアルバム名の一覧であるアルバムリストを表示する処理を、図9を参照して説明する。ここで、優先アーティストツリーからは、各アーティストIDが下位層に含むアルバムIDの実際の数(つまり、最終アーティストツリーにおける各アーティストIDが下位層に含むアルバムIDの数)を判断することができない。各アーティストIDに含まれているアルバムIDは順番に並んでいるわけではないので、アルバムIDが連続していないときに、実際にアルバムIDが下位層に含まれないのか、又は、アルバムIDが残存DBに含まれているのかを優先アーティストツリーのみからでは判別できないからである。そこで、本例では、残存DBからアーティストIDに対応するアルバムIDの数を取得することによってその問題を解決する。
【0044】
図9に示すとおり、制御部2は、アーティストIDが選択されたか(つまり、アーティストリストからユーザ操作によって1つのアーティスト名が選択されたか)否かを判断する(S21)。アーティストIDが選択されると(S21でYES)、制御部2は、図7の優先アーティストツリーを参照し、選択されたアーティストIDの下位層に含まれるアルバムIDの各ノードからアルバム名を取得して、RAM3に格納する(S22)。例えば、図7を参照し、アーティストID1が選択されると、その下位層のアルバムID1のノードからアルバム名が取得されて、RAM3に格納される。なお、実際にはアーティストID1の下位層にはアルバムID5も含まれているが、優先アーティストツリーにはアルバムID5が含まれていないので、優先アーティストツリーからはアルバムID5のアルバム名を取得することはできない。
【0045】
そこで、制御部2は、選択されたアーティストIDに対応するアルバムIDの数を残存DBから検索して取得する(S23)。そして、制御部2は、取得したアルバムIDの数が0よりも大であるか否かを判断する(S24)。取得したアルバムの数が0であれば(S24でNO)、選択されたアーティストIDに含まれるアルバムIDは優先アーティストツリーに全て含まれていることになるので、S25をスキップして、S26に進む。
【0046】
一方、取得したアルバムIDの数が0よりも大であれば(S24でYES)、制御部2は、選択されたアーティストIDに対応するアルバム名を、残存DBを検索して取得し、RAM3に格納する。例えば、図7の優先アーティストツリーにおいては、アーティストID1には実際にはアルバムID5のノードが含まれているべきであるので、残存DBにアルバムID5が含まれている。この場合、S24でYESと判断され、残存DBからアルバムID5のアルバム名が取得され、RAM3に格納される。
【0047】
以上の処理によって、RAM3には選択されたアーティストIDに対応する全アルバムIDのアルバム名を格納することができる。必要に応じて、RAM3に格納されたアルバム名は50音順及び/又はアルファベット順に並べ換えられる。その後、制御部2は、RAM3に格納されたアルバム名のうち、表示部8への表示個数分だけ読み出して、表示部8に表示させる。
【0048】
[トラックリスト表示処理]
図9の処理によって表示されたアルバムリストの中からユーザ操作によって所望のアルバム名が選択され、選択されたアルバムのトラックリストを表示する処理を、図10に示す。トラックリスト表示処理は、図9のアルバムリスト表示処理において、「アーティスト」を「アルバム」に、「アルバム」を「トラック」に置き換えた内容になっており、基本的には同じ処理であるので、説明を援用する。
【0049】
[トラック再生処理]
図10の処理によって表示されたトラックリストの中からユーザ操作によって所望のトラックが選択され、選択されたトラックを特定して再生開始する処理を、図11を参照して説明する。制御部2は、トラックIDが選択されたか否か(つまり、トラックリストの中からユーザ操作によって所望のトラック名が選択されたか否か)を判断する(S41)。
【0050】
トラックIDが選択された場合(S41でYES)、制御部2は、選択されたトラックIDのノードが優先アーティストツリーに存在するか否かを判断する(S42)。選択されたトラックIDのノードが優先アーティストツリーに存在する場合(S42でYES)、優先アーティストツリーの選択されたトラックIDのノードから、選択されたトラックIDのファイルパスを取得して、HDD5の当該ファイルパスにアクセスしてトラックを読み出し、再生開始する(S43)。例えば、図7の優先アーティストツリーにおいて、トラックAが選択された場合、優先アーティストツリーのトラックAのノードからファイルパスを読み出して、トラックAを再生開始する。
【0051】
一方、選択されたトラックIDのノードが優先アーティストツリーに存在しない場合(S42でNO)、優先アーティストツリーから、選択されたトラックのファイルパスを取得することができない。そこで、制御部2は、選択されたトラックに対応するファイルパスを残存DBから検索して取得し、HDD5の当該ファイルパスにアクセスしてトラックを読み出し、再生開始する(S44)。例えば、図7の優先アーティストツリーにおいて、トラックPが選択された場合、残存DBからトラックPに対応するファイルパスを読み出して、トラックPを再生開始する。
【0052】
[最終アーティストツリー生成処理]
トラック再生処理などを実行していない等の理由で、制御部2の負荷率が小さいときに、制御部2は、優先アーティストツリーに残存DBに記録されているトラックのコンテンツ情報を追加していくことによって、最終アーティストツリーを生成する。
【0053】
図12に示すとおり、制御部2は残存DBにトラックのコンテンツ情報が未だ存在しているか否かを判断する(S51)。残存DBにトラックのコンテンツ情報が残っていない場合(S51でNO)、最終アーティストツリーが完成しているので、処理を終了する。
【0054】
残存DBにトラックのコンテンツ情報が存在している場合(S51でYES)、制御部2は、残存DBに含まれているトラックのコンテンツ情報の内、優先アーティストツリーに追加するトラックとして、例えば、アーティストIDが最小のトラックを1つ選択する(S52)。
【0055】
続いて、制御部2は、優先アーティストツリーの各アーティストのノードにおいて、選択されたトラックのアーティストIDのノードを挿入すべき位置を特定する(S53)。そして、制御部2は、特定した位置に選択されたトラックのアーティストIDのノードを挿入する(S54)。アーティストIDのノードを挿入した後に、残存DBからアーティスト名を取得して生成したノードに格納する。ここで、選択されたトラックのアーティストIDのノードが既に優先アーティストツリーに存在する場合には、当該アーティストIDのノードを優先アーティストツリーに挿入する必要はない。例えば、図7の優先アーティストツリーにおいて、残存DBから選択されたトラックのアーティストIDがアーティストID1である場合、新たにノードを挿入せず、アーティストID3である場合、新たにアーティストID3のノードをアーティストID2のノードの次の位置に挿入する。
【0056】
続いて、制御部2は、優先アーティストツリーの各アルバムのノードにおいて、選択されたトラックのアルバムIDのノードを挿入すべき位置を特定する(S55)。そして、制御部2は、特定した位置に選択されたトラックのアルバムIDのノードを挿入する(S56)。アルバムIDのノードを挿入した後に、残存DBからアルバム名を取得して生成したノードに格納する。ここで、選択されたトラックのアルバムIDのノードが既に優先アーティストツリーに存在する場合には、当該アルバムIDのノードを優先アーティストツリーに挿入する必要はない。例えば、図7の優先アーティストツリーにおいて、残存DBから選択されたトラックのアルバムIDがアルバムID1である場合、新たにノードを挿入せず、アルバムID5である場合、新たにアルバムID5のノードをアルバムID1のノードの次の位置に挿入する。
【0057】
続いて、制御部2は、優先アーティストツリーの各トラックのノードにおいて、選択されたトラックのノードを挿入すべき位置を特定する(S57)。そして、制御部2は、特定した位置に選択されたトラックのノードを挿入する(S58)。トラックのノードを挿入した後に、残存DBからトラック名及びファイルパスを取得して生成したノードに格納する。例えば、図7の優先アーティストツリーにおいて、残存DBから選択されたトラックがトラックPである場合、トラックPのノードをトラックAのノードの次の位置に挿入する。
【0058】
優先アーティストツリーに各ノードを挿入した後、制御部2は、残存DBから選択したトラックの各コンテンツ情報を削除する(S59)。その後、S51に戻って、上記の処理を残存DBに存在する全トラックについて実行することによって、最終アーティストツリーを生成する。
【0059】
以上のように、最終的には優先アーティストツリーに残存DB内のトラックのコンテンツ情報を追加することによって、最終アーティストツリーを生成する。その結果、残存DBからコンテンツ情報を検索する必要がなくなり、コンテンツ情報を検索する時間を短縮できる。
【0060】
以上、本発明の好ましい実施形態を説明したが、本発明はこれらの実施形態には限定されない。本発明は、上記のコンテンツ記録再生装置を動作させるためのコンピュータプログラムまたはそのコンピュータプログラムを記録した記録媒体という形態で提供されてもよい。
【産業上の利用可能性】
【0061】
本発明はHDDレコーダやPC等に好適に適用され得る。
【図面の簡単な説明】
【0062】
【図1】本発明の好ましい実施形態による再生装置1の構成を示すブロック図である。
【図2】コンテンツ情報DBのデータ構造の一例を示す図である。
【図3】最終アーティストツリーを示す概念図である。
【図4】優先DBのデータ構造の一例を示す図である。
【図5】残存DBのデータ構造の一例を示す図である。
【図6】優先アーティストツリー精製処理を示すフローチャートである。
【図7】優先アーティストツリーを示す概念図である。
【図8】アーティストリスト表示処理を示すフローチャートである。
【図9】アルバムリスト表示処理を示すフローチャートである。
【図10】トラックリスト表示処理を示すフローチャートである。
【図11】トラック再生処理を示すフローチャートである。
【図12】最終アーティストツリー精製処理を示すフローチャートである。
【符号の説明】
【0063】
1 再生装置
2 制御部
3 RAM
4 ROM
5 HDD
6 再生部
7 操作部
8 表示部
【特許請求の範囲】
【請求項1】
コンテンツ記憶部に記録されているコンテンツのコンテンツ情報が格納されたコンテンツ情報ツリーを生成するコンテンツ情報ツリー生成装置であって、
前記コンテンツ記憶部に記録されているコンテンツ数が所定の限界コンテンツ数より大きいか否かを判断する判断手段と、
コンテンツ数が前記限界コンテンツ数より大きいと判断された場合、前記コンテンツ記憶部に記録されているコンテンツの中から、所定条件に従って前記限界コンテンツ数以下のコンテンツを選択し、選択されたコンテンツのみのコンテンツ情報が格納された優先コンテンツ情報ツリーを生成する優先コンテンツ情報ツリー生成手段とを備える、コンテンツ情報ツリー生成装置。
【請求項2】
前記コンテンツ記憶部に記録されているが、前記優先コンテンツ情報ツリーに格納されていないコンテンツのコンテンツ情報が格納された残存コンテンツ情報データベースを管理する残存コンテンツ情報管理手段をさらに備える、請求項1に記載のコンテンツ情報ツリー生成装置。
【請求項3】
前記コンテンツ記憶部に記録されているコンテンツのコンテンツ情報を表示する際に、表示すべきコンテンツのコンテンツ情報が前記優先コンテンツ情報ツリーに格納されているか否かを判断するコンテンツ情報判断手段と、
表示すべきコンテンツのコンテンツ情報が前記優先コンテンツ情報ツリーに格納されている場合に、前記優先コンテンツ情報ツリーから前記コンテンツ情報を取得し、表示すべきコンテンツのコンテンツ情報が前記優先コンテンツ情報ツリーに格納されていない場合に、前記残存コンテンツ情報データベースから前記コンテンツ情報を取得するコンテンツ情報取得手段と、
前記コンテンツ情報取得手段が取得したコンテンツ情報を表示装置に表示させる表示制御手段とをさらに備える、請求項2に記載のコンテンツ情報ツリー生成装置。
【請求項4】
前記コンテンツ記憶部に記録されているコンテンツを再生する際に、再生すべきコンテンツの所在情報が前記優先コンテンツ情報ツリーに格納されているか否かを判断する所在情報判断手段と、
再生すべきコンテンツの所在情報が前記優先コンテンツ情報ツリーに格納されている場合に、前記優先コンテンツ情報ツリーから前記所在情報を取得し、再生すべきコンテンツの所在情報が前記優先コンテンツ情報ツリーに格納されていない場合に、前記残存コンテンツ情報データベースから前記所在情報を取得する所在情報取得手段と、
前記所在情報取得手段が取得した所在情報に基づいて、再生手段に、前記コンテンツ記憶部からコンテンツを読み出して再生させる再生制御手段とをさらに備える、請求項2または3に記載のコンテンツ情報ツリー生成装置。
【請求項5】
前記優先コンテンツ情報ツリーに前記残存コンテンツ情報データベースに記録されているコンテンツ情報を追加することによって、最終コンテンツ情報ツリーを生成する最終コンテンツ情報ツリー生成手段をさらに備える、請求項2〜4のいずれかに記載のコンテンツ情報ツリー生成装置。
【請求項6】
前記コンテンツ情報が最終再生日時を含み、
前記優先コンテンツ情報ツリー生成手段が、最終再生日時が新しい順に前記限界コンテンツ数以下のコンテンツを選択する、請求項1〜5のいずれかに記載のコンテンツ情報ツリー生成装置。
【請求項7】
請求項1〜6のいずれかに記載のコンテンツ情報ツリー生成装置の各手段をコンピュータに実行させる、コンテンツ情報ツリー生成プログラム。
【請求項1】
コンテンツ記憶部に記録されているコンテンツのコンテンツ情報が格納されたコンテンツ情報ツリーを生成するコンテンツ情報ツリー生成装置であって、
前記コンテンツ記憶部に記録されているコンテンツ数が所定の限界コンテンツ数より大きいか否かを判断する判断手段と、
コンテンツ数が前記限界コンテンツ数より大きいと判断された場合、前記コンテンツ記憶部に記録されているコンテンツの中から、所定条件に従って前記限界コンテンツ数以下のコンテンツを選択し、選択されたコンテンツのみのコンテンツ情報が格納された優先コンテンツ情報ツリーを生成する優先コンテンツ情報ツリー生成手段とを備える、コンテンツ情報ツリー生成装置。
【請求項2】
前記コンテンツ記憶部に記録されているが、前記優先コンテンツ情報ツリーに格納されていないコンテンツのコンテンツ情報が格納された残存コンテンツ情報データベースを管理する残存コンテンツ情報管理手段をさらに備える、請求項1に記載のコンテンツ情報ツリー生成装置。
【請求項3】
前記コンテンツ記憶部に記録されているコンテンツのコンテンツ情報を表示する際に、表示すべきコンテンツのコンテンツ情報が前記優先コンテンツ情報ツリーに格納されているか否かを判断するコンテンツ情報判断手段と、
表示すべきコンテンツのコンテンツ情報が前記優先コンテンツ情報ツリーに格納されている場合に、前記優先コンテンツ情報ツリーから前記コンテンツ情報を取得し、表示すべきコンテンツのコンテンツ情報が前記優先コンテンツ情報ツリーに格納されていない場合に、前記残存コンテンツ情報データベースから前記コンテンツ情報を取得するコンテンツ情報取得手段と、
前記コンテンツ情報取得手段が取得したコンテンツ情報を表示装置に表示させる表示制御手段とをさらに備える、請求項2に記載のコンテンツ情報ツリー生成装置。
【請求項4】
前記コンテンツ記憶部に記録されているコンテンツを再生する際に、再生すべきコンテンツの所在情報が前記優先コンテンツ情報ツリーに格納されているか否かを判断する所在情報判断手段と、
再生すべきコンテンツの所在情報が前記優先コンテンツ情報ツリーに格納されている場合に、前記優先コンテンツ情報ツリーから前記所在情報を取得し、再生すべきコンテンツの所在情報が前記優先コンテンツ情報ツリーに格納されていない場合に、前記残存コンテンツ情報データベースから前記所在情報を取得する所在情報取得手段と、
前記所在情報取得手段が取得した所在情報に基づいて、再生手段に、前記コンテンツ記憶部からコンテンツを読み出して再生させる再生制御手段とをさらに備える、請求項2または3に記載のコンテンツ情報ツリー生成装置。
【請求項5】
前記優先コンテンツ情報ツリーに前記残存コンテンツ情報データベースに記録されているコンテンツ情報を追加することによって、最終コンテンツ情報ツリーを生成する最終コンテンツ情報ツリー生成手段をさらに備える、請求項2〜4のいずれかに記載のコンテンツ情報ツリー生成装置。
【請求項6】
前記コンテンツ情報が最終再生日時を含み、
前記優先コンテンツ情報ツリー生成手段が、最終再生日時が新しい順に前記限界コンテンツ数以下のコンテンツを選択する、請求項1〜5のいずれかに記載のコンテンツ情報ツリー生成装置。
【請求項7】
請求項1〜6のいずれかに記載のコンテンツ情報ツリー生成装置の各手段をコンピュータに実行させる、コンテンツ情報ツリー生成プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2010−97678(P2010−97678A)
【公開日】平成22年4月30日(2010.4.30)
【国際特許分類】
【出願番号】特願2008−270278(P2008−270278)
【出願日】平成20年10月20日(2008.10.20)
【出願人】(000000273)オンキヨー株式会社 (502)
【Fターム(参考)】
【公開日】平成22年4月30日(2010.4.30)
【国際特許分類】
【出願日】平成20年10月20日(2008.10.20)
【出願人】(000000273)オンキヨー株式会社 (502)
【Fターム(参考)】
[ Back to top ]