JP2012198815A - リスト生成装置およびそのプログラム - Google Patents

リスト生成装置およびそのプログラム Download PDF

Info

Publication number
JP2012198815A
JP2012198815A JP2011063319A JP2011063319A JP2012198815A JP 2012198815 A JP2012198815 A JP 2012198815A JP 2011063319 A JP2011063319 A JP 2011063319A JP 2011063319 A JP2011063319 A JP 2011063319A JP 2012198815 A JP2012198815 A JP 2012198815A
Authority
JP
Japan
Prior art keywords
content
list
tree
generating
limit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011063319A
Other languages
English (en)
Other versions
JP5573744B2 (ja
Inventor
Shuntaro Kashi
俊太郎 樫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Onkyo Corp
Original Assignee
Onkyo Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Onkyo Corp filed Critical Onkyo Corp
Priority to JP2011063319A priority Critical patent/JP5573744B2/ja
Publication of JP2012198815A publication Critical patent/JP2012198815A/ja
Application granted granted Critical
Publication of JP5573744B2 publication Critical patent/JP5573744B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】 コンテンツ記憶部に記録されているコンテンツ数によらず、リスト生成処理をより迅速に実行する。
【解決手段】 HDDに記録されているコンテンツのコンテンツ総数が限界コンテンツ数以下である場合、データベースからコンテンツツリーを生成するのに要する時間は許容時間以下であり、コンテンツツリーは比較的迅速に生成することができる。従って、コンテンツツリーを生成し、コンテンツツリーからコンテンツリストを生成することで、全体の処理を迅速化する。一方、HDDに記録されているコンテンツのコンテンツ総数が限界コンテンツ数を超えている場合、データベースからコンテンツツリーを生成するのに要する時間は許容時間を超え、待ち時間が長くなる。従って、コンテンツツリーを生成せず、データベースから直接コンテンツリストを生成することで、全体の処理を迅速化する。
【選択図】図7

Description

本発明は、コンテンツリストを生成するリスト生成装置に関する。
HDDやフラッシュメモリ等の記憶媒体に多数のコンテンツ(例えば曲ファイル)が記録されており、HDDから曲ファイルを読み出して再生するコンテンツ再生装置が提供されている。コンテンツ再生装置には、再生モードとしてアーティストモード、アルバムモード、トラックモード等が存在する(例えば下記特許文献1参照)。アーティストモードは、最初にアーティストリスト(五十音順及び/又はアルファベット順のアーティスト名の一覧)が表示され、アーティストリストの中から1つのアーティスト名を選択し、次に、選択されたアーティスト名で特定されるアルバムリストの中から1つのアルバム名を選択し、次に、選択されたアルバム名で特定されるトラックリストの中から1つのトラック名を選択する再生モードである。アルバムモードは、最初にアルバムリスト(五十音順及び/又はアルファベット順のアルバム名の一覧)が表示され、アルバムリストからアルバム名を選択し、次に、選択されたアルバム名で特定されるトラックリストからトラック名を選択する再生モードである。トラックモードは、最初にトラックリスト(五十音順及び/又はアルファベット順のトラック名の一覧)が表示され、トラックリストから1つのトラック名を選択する再生モードである。
上記の各モードにおいて、コンテンツリスト(アーティストリスト、アルバムリスト、トラックリスト等)を生成する処理を迅速化するための技術が提案されている。1つは、ユーザ操作によるリスト表示指示、又は、CPUが発行する検索指示のたびに、RDB等のデータベースにアクセスしてコンテンツリストを生成する方法である。もう一つは、コンテンツ再生装置を電源オン状態にする際や、HDDに記録するコンテンツの更新時にのみ、RDBにアクセスしてコンテンツツリーを生成し、以後コンテンツツリーを使用してコンテンツリストを生成する方法である。
上記各方法にはそれぞれ以下の利点および欠点が存在する。まず、1つ目のRDBにアクセスしてコンテンツリストを生成する方法では、コンテンツツリーを生成する必要がないことが利点である。コンテンツツリーは、アーティストツリー、アルバムツリー、トラックツリー等の各カテゴリのツリーが必要であり、その生成処理の負荷が非常に大きい。従って、コンテンツツリーを生成しないことにより、ユーザへの待ち時間を短縮できる。一方、欠点としては、RDBMSのSELECTの結果抽出されるROW(行)セットを、Application用のメモリへコピーする必要があり、その作業に時間が掛かることがある。また、例えば「アーティストAのアルバムの数を取得」又は「アーティストAのアルバムの総再生時間を取得」のような指示に対して、RDBの全ての行を検索し、数える必要があり、実行に時間が掛かる。
次に、コンテンツツリーを利用する方法においては、例えば「アーティストAのアルバムの数を取得」又は「アーティストAのアルバムの総再生時間を取得」のような指示に対して、アーティストツリーのアルバムノード数を数える、又は、アーティストツリーの生成時に事前に数え、オブジェクトのメンバとして保持しておき、それを返すことにより、高速に処理できる。一方、欠点としては、HDDに記録されているコンテンツ数が多くなると、コンテンツツリーの生成に膨大な時間を要する。編集やHDDへのコンテンツ記録を行うたびに、コンテンツツリーの再生成が必要であるので、その待ち時間が非常に長くなる。また、メモリにコンテンツツリーを大量に保持するので、メモリ利用率が高くなる。また、RDBMSとメモリ上のツリーの整合性があるかというチェック処理も煩雑である。
上記の通り、上記いずれの方法においても、全ての状況において処理を高速化、簡易化することはできない。
特開2010−97678 号公報 特開2010−257368号公報 特開2000−82001号公報
本発明は上記従来の課題を解決するためになされたものであり、その目的は、コンテンツ記憶部に記録されているコンテンツ数によらず、リスト生成処理をより迅速に実行できるリスト生成装置を提供することである。
本発明の好ましい実施形態によるリスト生成装置は、データベースからコンテンツツリーを生成し前記コンテンツツリーからリストを生成する第1モードと、前記コンテンツツリーを生成せずに前記データベースから直接前記リストを生成する第2モードとを有し、コンテンツ記憶部に記録されているコンテンツのコンテンツ総数が、前記コンテンツツリーを生成する際に要する時間が許容時間を超えるコンテンツ数である限界コンテンツ数を超えているか否かを判断する手段と、前記コンテンツ記憶部に記録されているコンテンツのコンテンツ総数が前記限界コンテンツ数以下であると判断された場合に、前記第1モードを使用して前記リストを生成し、前記コンテンツ記憶部に記録されているコンテンツのコンテンツ総数が前記限界コンテンツ数を超えていると判断された場合、前記第2モードを使用して前記リストを生成するリスト生成手段とを備える。
コンテンツ記憶部に記録されているコンテンツのコンテンツ総数が限界コンテンツ数以下である場合、データベースからコンテンツツリーを生成するのに要する時間は許容時間以下であり、コンテンツツリーは比較的迅速に生成することができる。従って、コンテンツツリーを生成し、コンテンツツリーからコンテンツリストを生成することで、全体の処理を迅速化できる。一方、コンテンツ記憶部に記録されているコンテンツのコンテンツ総数が限界コンテンツ数を超えている場合、データベースからコンテンツツリーを生成するのに要する時間は許容時間を超え、待ち時間が長くなる。従って、コンテンツツリーを生成せず、データベースから直接コンテンツリストを生成することで、全体の処理を迅速化できる。
本発明の別の好ましい実施形態によるリスト生成装置は、データベースからコンテンツツリーを生成し前記コンテンツツリーからリストを生成する第1モードと、前記コンテンツツリーを生成せずに前記データベースから直接前記リストを生成する第2モードとを有し、コンテンツ記憶部に記録されているコンテンツのコンテンツ総数が、前記コンテンツツリーを生成する際に要する時間が許容時間を超えるコンテンツ数である限界コンテンツ数を超えているか否かを判断する手段と、前記コンテンツ記憶部に記録されているコンテンツの所定カテゴリのコンテンツ情報の総数が、前記コンテンツツリーから前記リストを生成する際に要する時間が前記データベースから直接前記リストを生成する際に要する時間を超えるコンテンツ情報数である限界コンテンツ情報数を超えているか否かを判断する手段と、前記コンテンツ記憶部に記録されているコンテンツのコンテンツ総数が前記限界コンテンツ数以下であると判断され、かつ、前記コンテンツ記憶部に記録されているコンテンツの所定カテゴリのコンテンツ情報の総数が前記限界コンテンツ情報数以下であると判断された場合に、前記第1モードを使用して前記リストを生成し、前記コンテンツ記憶部に記録されているコンテンツのコンテンツ総数が前記限界コンテンツ数を超えていると判断された場合、又は、前記コンテンツ記憶部に記録されているコンテンツの所定カテゴリのコンテンツ情報の総数が前記限界コンテンツ情報数を超えていると判断された場合に、前記第2モードを使用して前記リストを生成するリスト生成手段とを備える。
コンテンツ記憶部に記録されているコンテンツのコンテンツ総数が限界コンテンツ数以下である場合、データベースからコンテンツツリーを生成するのに要する時間は許容時間以下であり、コンテンツツリーは比較的迅速に生成することができる。また、コンテンツ記憶部に記録されているコンテンツの所定カテゴリのコンテンツ情報の総数が限界コンテンツ情報数以下である場合、コンテンツツリーからリストを生成する際に要する時間はデータベースからリストを生成する際に要する時間以下である。従って、コンテンツツリーを生成し、コンテンツツリーからコンテンツリストを生成することで、全体の処理を迅速化できる。
一方、コンテンツ記憶部に記録されているコンテンツのコンテンツ総数が限界コンテンツ数を超えている場合、データベースからコンテンツツリーを生成するのに要する時間は許容時間を超え、待ち時間が長くなる。また、コンテンツ記憶部に記録されているコンテンツの所定カテゴリのコンテンツ情報の総数が限界コンテンツ情報数を超えている場合、コンテンツツリーからリストを生成する際に要する時間はデータベースからリストを生成する際に要する時間を超えている。従って、コンテンツツリーを生成せず、データベースから直接コンテンツリストを生成することで、全体の処理を迅速化できる。
好ましい実施形態においては、前記許容時間を設定し、前記コンテンツ記憶部に仮想的なコンテンツを記録した上で、前記リストを生成する際に要する時間を測定し、測定した時間と設定された前記許容時間とを比較することによって、前記限界コンテンツ数を決定する手段をさらに備える。
この場合、許容時間を変更することによって、限界コンテンツ数を変更することができるので、ユーザが所望の許容時間に適宜変更することができる。
本発明の別の好ましい実施形態によるリスト生成装置は、データベースからコンテンツツリーを生成し前記コンテンツツリーからリストを生成する第1モードと、前記コンテンツツリーを生成せずに前記データベースから直接前記リストを生成する第2モードとを有し、前記コンテンツ記憶部に記録されているコンテンツの所定カテゴリのコンテンツ情報の総数が、前記コンテンツツリーから前記リストを生成する際に要する時間が前記データベースから直接前記リストを生成する際に要する時間を超えるコンテンツ情報数である限界コンテンツ情報数を超えているか否かを判断する手段と、前記コンテンツ記憶部に記録されているコンテンツの所定カテゴリのコンテンツ情報の総数が前記限界コンテンツ情報数以下であると判断された場合に、前記第1モードを使用して前記リストを生成し、前記コンテンツ記憶部に記録されているコンテンツの所定カテゴリのコンテンツ情報の総数が前記限界コンテンツ情報数を超えていると判断された場合に、前記第2モードを使用して前記リストを生成するリスト生成手段とを備える。
コンテンツ記憶部に記録されているコンテンツの所定カテゴリのコンテンツ情報の総数が限界コンテンツ情報数以下である場合、コンテンツツリーからリストを生成する際に要する時間はデータベースからリストを生成する際に要する時間以下である。従って、コンテンツツリーを生成し、コンテンツツリーからコンテンツリストを生成することで、全体の処理を迅速化できる。一方、コンテンツ記憶部に記録されているコンテンツの所定カテゴリのコンテンツ情報の総数が限界コンテンツ情報数を超えている場合、コンテンツツリーからリストを生成する際に要する時間はデータベースからリストを生成する際に要する時間を超えている。従って、コンテンツツリーを生成せず、データベースから直接コンテンツリストを生成することで、全体の処理を迅速化できる。
好ましい実施形態においては、前記コンテンツ記憶部に仮想的なコンテンツを記録した上で、前記コンテンツツリーから前記リストを生成する際に要する時間と、前記データベースから直接前記リストを生成する際に要する時間とを測定し、これらの時間を比較することによって、前記限界コンテンツ情報数を決定する手段をさらに備える。
本発明は上記構成を有することによって、コンテンツ記憶部に記録されているコンテンツ数によらず、リスト生成処理をより迅速に実行できるリスト生成装置を提供することができる。
本発明の好ましい実施形態によるコンテンツ再生装置100を示すブロック図である。 コンテンツツリー(アーティストツリー)の一例を示す図である。 ソフトウェアの構造を示す模式図である。 CPU1の処理を示すフローチャートである。 許容時間と限界コンテンツ数との関係を示すイメージ図である。 CPU1の処理を示すフローチャートである。 CPU1の処理を示すフローチャートである。 CPU1の処理を示すフローチャートである。 CPU1の処理を示すフローチャートである。
以下、本発明の好ましい実施形態について、図面を参照して具体的に説明するが、本発明はこれらの実施形態には限定されない。
図1は、本発明の好ましい実施形態によるコンテンツ再生装置(以下、再生装置という。)100を示す概略ブロック図である。再生装置100は、CPU1、RAM2、ROM3、HDDやフラッシュメモリ等のコンテンツ記憶部4、再生部5、表示部6、及び、操作部7を備える。これらは、バスを介して互いに接続されている。また、再生部5には、図示しないスピーカーが接続されている。コンテンツは、映像(画像)データ、及び/又は、音声(音楽、曲)データの総称であるが、本例では、曲ファイル(以下、トラックともいう。)である。
HDD4には複数の曲ファイルが記録されている。HDD4に記録されている曲ファイルは、CPU1の指示によって読み出され、再生部5によって再生処理(例えば、デコード処理、D/A変換、増幅処理等)が実行される。再生部5によって再生された音声信号はスピーカーに供給され、音声が出力される。
HDD4には、コンテンツ情報データベースが格納されている。コンテンツ情報DBには、HDD4に記録されている全曲ファイルに関して、複数カテゴリのコンテンツ情報が格納されている。複数カテゴリのコンテンツ情報には、アーティスト名、アルバム名、トラック名(曲名)等のメタデータ、及び、dBID等が含まれる。dBIDは、曲ファイルを示す識別情報であり、曲ファイルがHDD4に記録される際に付与される。
コンテンツ情報データベースとしては、本例では、リレーショナルデータベース(以下、RDBという。)が採用される。RDBは、1件のデータを複数の項目(フィールド)の集合として表現し、データの集合をテーブルと呼ばれる表で表す方式で、ID番号や名前などのキーとなるデータを利用して、データの結合や抽出を容易に行うことができる。RDBを管理するソフトウェアをRDBMS(Relational DataBase Management System)という。
表示部6は、曲ファイルのコンテンツ情報(アーティスト名、アルバム名、トラック名等)の一覧であるコンテンツリスト(アーティストリスト、アルバムリスト、トラックリスト)を表示するものであり、LCD(液晶ディスプレイ)やFL管等である。操作部7は、ユーザ操作を受け付けるものであり、操作ボタンやリモコン送受信機等である。ユーザが操作部7を操作して表示部6に表示された曲リストを参照し再生すべき曲ファイルを選択することにより、再生部5は選択された曲ファイルを再生する。また、再生部5は、選択された曲ファイルを再生し終えると、曲リストにおける次の曲ファイルを選択して再生する。
CPU1は、再生装置100全体を制御するものであり、ROM3またはHDD4に格納されたプログラム(例えば、リスト生成プログラム等)をRAM2内に読み出して実行することにより、後述する各処理を実行する。
再生装置100には、複数の再生モードが設けられている。再生モードは、曲ファイルを選択する際に、複数カテゴリのコンテンツ情報の内、最初にどのカテゴリのコンテンツ情報を使って曲ファイルを選択するかを示すものである。例えば、再生モードには、アーティストモード、アルバムモード、トラックモード等が含まれる。
アーティストモードは、最初にアーティストリスト(五十音順及び/又はアルファベット順のアーティスト名の一覧)が表示され、アーティストリストの中から1つのアーティスト名を選択し、次に、選択されたアーティスト名で特定されるアルバムリストの中から1つのアルバム名を選択し、次に、選択されたアルバム名で特定されるトラックリストの中から1つのトラック名を選択する再生モードである。アルバムモードは、最初にアルバムリスト(五十音順及び/又はアルファベット順のアルバム名の一覧)が表示され、アルバムリストからアルバム名を選択し、次に、選択されたアルバム名で特定されるトラックリストからトラック名を選択する再生モードである。トラックモードは、最初にトラックリスト(五十音順及び/又はアルファベット順のトラック名の一覧)が表示され、トラックリストから1つのトラック名を選択する再生モードである。
図2は、コンテンツツリーの一例としてアーティストツリーを示す模式図である。アーティストツリーは、4階層で構成される。最上位の階層はルートノードであり、コンテンツツリーがどのタイプのツリーであるかを決定するものである。例えば、このルートノードのrootKindId=3の場合、アーティストツリーであることを示す。また、RDBを検索してアーティストツリーを生成するので、ルートノードには、HDD4内に記録されているコンテンツの全アーティスト数、全再生時間等の情報を格納することができる。
次の階層は、アーティスト階層である。アーティスト階層の各ノードには、アーティストを特定するartistId、アーティスト名、アーティストノードが保持するアルバムの総数、アーティストの全コンテンツを再生したときの総再生時間等が格納される。これらの情報も、RDBの検索時に取得され、各ノードに格納される。
次の階層は、アルバム階層である。アルバム階層の各ノードには、アルバムを特定するalbumId、アルバム名、アルバムノードが保持するトラック総数、アルバムの全コンテンツを再生したときの総再生時間等が格納されている。
最下段の階層は、トラック階層である。トラック階層の各ノードは、トラックを特定するtrackId、トラック名、トラックの再生時間等が格納されている。コンテンツツリーを生成しRAM2に記憶しておくことによって、あるアルバム内のトラックの情報を取得するといった検索処理は、IDを上位階層のノードから順に指定し、そのノードに格納されている情報(トラック名等)を返すだけの処理でよい。
図3は、再生装置100におけるソフトウェア階層図を示す。上からアプリケーション層、中間層、デバイス制御部(ドライバ)、ツリーオブジェクト、オーディオデバイス、RDBMSが存在する。アプリケーション層は、表示部6へのリストやコンテンツ情報の表示、ユーザ操作によるキーの受付、ステータスの表示等を実行する。中間層は、上位レイヤーと下位レイヤーとを仲介するための層である。デバイス制御部は、主にハードウェア(オーディオデバイス)を制御するための層である。ツリーオブジェクトは、アーティストツリー、アルバムツリー、トラックツリー等を生成する。オーディオデバイスは、DSP等の再生デバイスである。
再生装置100は、リスト(アーティストリスト、アルバムリスト、トラックリスト)を生成する際のモードとして、データベース(RDB)からコンテンツツリーを生成し、コンテンツツリーからコンテンツリストを生成する第1モードと、コンテンツツリーを生成せずにRDBから直接コンテンツリストを生成する第2モードとを有する。
CPU1は、HDD4に記録されているコンテンツのコンテンツ総数が、コンテンツツリーを生成する際に要する時間が許容時間を超えるコンテンツ数である限界コンテンツ数を超えているか否かを判断する。また、CPU1は、HDD4に記録されているコンテンツの所定カテゴリのコンテンツ情報(例えばアーティスト)の総数が、コンテンツツリーからコンテンツリストを生成する際に要する時間がRDBから直接コンテンツリストを生成する際に要する時間を超えるコンテンツ情報数である限界コンテンツ情報数を超えているか否かを判断する。
CPU1は、HDD4に記録されているコンテンツのコンテンツ総数が限界コンテンツ数以下であると判断し、かつ、HDD4に記録されているコンテンツの所定カテゴリのコンテンツ情報の総数が限界コンテンツ情報数以下であると判断した場合に、第1モードを使用してリストを生成する。一方、CPU1は、HDD4に記録されているコンテンツのコンテンツ総数が限界コンテンツ数を超えていると判断した場合、又は、HDD4に記録されているコンテンツの所定カテゴリのコンテンツ情報の総数が限界コンテンツ情報数を超えていると判断された場合に、第2モードを使用してリストを生成する。
あるいは、CPU1は、HDD4に記録されているコンテンツのコンテンツ総数が限界コンテンツ数以下であると判断した場合に、第1モードを使用してリストを生成し、HDD4に記録されているコンテンツのコンテンツ総数が限界コンテンツ数を超えていると判断した場合に、第2モードを使用してリストを生成するようにしてもよい。あるいは、CPU1は、HDD4に記録されているコンテンツの所定カテゴリのコンテンツ情報の総数が限界コンテンツ情報数以下であると判断した場合に、第1モードを使用してリストを生成し、HDD4に記録されているコンテンツの所定カテゴリのコンテンツ情報の総数が限界コンテンツ情報数を超えていると判断した場合に、第2モードを使用してリストを生成するようにしてもよい。
CPU1は、上記処理において、許容時間を設定し、HDD4に仮想的なコンテンツを記録した上で、リストを生成する際に要する時間を測定し、測定した時間と設定された許容時間とを比較することによって、限界コンテンツ数を決定する。また、CPU1は、上記処理において、HDD4に仮想的なコンテンツを記録した上で、コンテンツツリーからリストを生成する際に要する時間と、RDBから直接リストを生成する際に要する時間とを測定し、これらの時間を比較することによって、限界コンテンツ情報数を決定する。
コンテンツツリーが生成されRAM2に記憶されると、アプリケーション層からの情報取得はコンテンツツリーを利用することで高速に実行することができる。しかし、コンテンツツリーの生成処理に要する時間がHDD4に記録されているコンテンツ数の増加に伴い長くなる。従って、上記の通り、HDD4に記録されているコンテンツ数に応じて、第1モードと第2モードとを切換えることで、迅速な方のモードでコンテンツリストを生成することができる。さらに、コンテンツツリーの上位層から下位層に向かってノードを辿りコンテンツ情報を取得する際に要する時間は、コンテンツ数が少ない場合は、ノードを辿る時間が少なくて済むので、RDBへ直接アクセスするよりも高速であるが、ノード数が増える(つまりコンテンツ数が増える)と、このノードを探索する時間が増えるので、RDBにアクセスする方が高速になる。従って、所定カテゴリのコンテンツ情報の総数(つまりノードの数)に応じて、第1モードと第2モードとを切換えることで、迅速な方のモードでリストを生成することができる。
以下、本例の動作を説明する。図4は、限界コンテンツ数を決定するCPU1の処理を示すフローチャートである。まず、CPU1は、コンテンツツリーを生成する際にユーザが待つことが可能な時間である許容時間をt_maxとして設定する(S401)。許容時間は、ユーザ操作によって設定されてもよく、再生装置100の製造者によって予め設定されてもよい。許容時間t_maxは、例えば30秒に設定される。
CPU1は、HDD4に記録されているコンテンツ数を0に初期化する(S402)。つまり、HDD4内に記録されているコンテンツがあれば一旦全て削除する。次に、CPU1は、現在、HDD4またはRAM2にツリーオブジェクトが記憶されていれば、それを削除する(S403)。次に、CPU1は、ループ処理を開始する(S404〜S412)。ループ処理によって、許容時間t_maxに収まるコンテンツ数が判断される。
まず、CPU1は、同一アーティスト名のアルバムを3つ生成し、各アルバムにはトラックを10曲含めた状態にて、曲ファイルをHDD4に記録する(S405)。すなわち、CPU1は、HDD4の内部に、仮想的に30曲分の曲ファイルを生成し、記録する。なお、同一アーティスト名のアルバム3つ、各アルバム内のトラックが10曲ずつという状況は、一般的なユーザの利用形態を模擬するためのものである。そして、アーティスト名をループのたびに(つまり、S412でNOと判断された結果、S404に戻った際に)、変更することによって、アーティストツリー、アルバムツリーが偏らない状態にできる。なお、ループのたびにアルバム名、トラック名の頭文字も、ランダムに設定される必要がある。毎回同一であると、ツリーオブジェクトが偏った態様になっていまい、適切にツリー生成時間の測定を実行できなくなるからである。
CPU1は、HDD4内の総トラック数(RAM2上で管理している変数)を30加算する(S406)。これは、S405において、トラックをHDDに30曲記録したからである。続いて、CPU1は、アーティストツリーを生成開始し、その開始時刻t=0に設定し、タイマーカウントを開始する(S407)。CPU1は、アーティストツリーの生成を終了すると(S408)、続いてアルバムツリーおよびトラックツリーを生成する(S409、S410)。CPU1は、全てのツリーを生成し終えると、タイマーカウントを終了し、カウント時間tの値を確定する(S411)。
CPU1は、S411で確定したカウント時間tが、t > t_maxであるか否かを判断する(S412)。すなわち、現在HDD4に仮想的に記録したコンテンツ数において、全コンテンツツリーを生成するために要した時間が、許容時間をt_maxを超えているか否かが判断される。未だt が t_max以下である場合(S412でNO)、CPU1は、処理をS404に戻し、さらに30曲の曲ファイルをHDD4に仮想的に記録し、コンテンツツリーを生成するのに要する時間を再度計測する。
S412において、t > t_maxであると判断された場合(S412でYES)、ループ処理を終了する。CPU1は、コンテンツツリーを生成するか否かの判断材料となる限界コンテンツ数として、現在RAM2で管理しているHDDに仮想的に記録した総トラック数を、変数max_contentsNumに保持する(S413)。
図5は、限界コンテンツ数を説明するイメージ図である。図5においては、横軸にHDD4内に記録されている総トラック数を示し、縦軸に全てのコンテンツツリーを生成するために要する時間を示している。許容時間t_maxに対応するコンテンツ数が、限界コンテンツ数max_ContentsNumとして決定されている。CPU1は、後述する処理によって、HDD4に記録されているコンテンツ数が限界コンテンツ数Max_ContentsNum以下である場合は、第1モードにてコンテンツツリーを生成しコンテンツリストを生成し、HDD4に記録されているコンテンツ数が限界コンテンツ数Max_ContentsNumより大である場合は、第2モードにてコンテンツツリーを生成せずに、RDBに直接アクセスしてコンテンツリストを生成する。
図6は、コンテンツリスト生成に要する時間を測定し、限界コンテンツ情報数を決定する処理を示すフローチャートである。CPU1は、HDD4内に記録されているコンテンツを全て消去する(S601)。CPU1は、RAM2に記憶されているツリーオブジェクトをすべて破棄する(S602)。CPU1は、各カテゴリのコンテンツ情報の変数を初期化する(S603)。この変数は、HDD4内に記録されているコンテンツのアーティスト総数artNum、アルバム総数albNum、および、トラック総数trkNumである。
CPU1は、S604から、ループ処理(S604〜S618)を開始する。このループ処理は、各カテゴリのコンテンツ情報毎に、限界コンテンツ情報数を決定する処理である。まず、CPU1は、同一アーティスト名のアルバムを3つ生成し、各アルバムにはトラックを10曲ずつ含めた状態で、曲ファイルを生成し、HDD4に記録する(S605)。すなわち、CPU1は、HDD4の内部に仮想的に30曲分の曲ファイルを生成し、記録する。
CPU1は、RAM2上で管理しているアーティスト総数artNumに1を加算し、アルバム総数albNumに3を加算し、トラック総数trkNumに30を加算する(S606)。続いて、CPU1は、RDBにアクセスして、アーティストツリーを生成する(S607)。そして、CPU1は、アーティストツリーのツリーオブジェクトに対して、アーティストリスト生成指示を与える。CPU1は、アーティストツリーを使ってアーティストリストを生成するために要した時間を計測する。CPU1は、計測した時間を、変数tree_GetType1_timeとしてRAM2に保存する(S608)。続いて、CPU1は、RDBMSに対して、アーティストリスト取得指示を与える。CPU1は、コンテンツツリーの代わりにRDBを使用してアーティストリストを生成するために要した時間を計測する。CPU1は、計測した時間を、db_GetType1_timeとしてRAM2に保存する(S609)。
次に、CPU1は、ツリーオブジェクトに対して、アーティストリストのカーソルダウン処理の指示を与える。CPU1は、アーティストツリーを使って、アーティストリストを1行分カーソルダウンする(すなわち、1行分のコンテンツ情報を新たに生成する)ために要した時間を計測する。CPU1は、計測した時間を、変数tree_GetType2_timeとしてRAMに保存する(S610)。続いて、CPU1は、RDBMSに対して、アーティストリストのカーソルダウン処理の指示を与える。CPU1は、アーティストツリーの代わりにRDBを使って、アーティストリストを1行分カーソルダウンする(すなわち、1行分のコンテンツ情報を新たに生成する)ために要した時間を計測する。CPU1は、計測した時間を、変数db_GetType2_timeとしてRAM2に保存する(S610)。
次に、CPU1は、ツリーオブジェクトに対して、アーティスト階層からアルバム階層へ移行する指示を与える。CPU1は、コンテンツツリーを使用して、アーティストリストが表示されている状態からアーティストが選択されアルバムリストが表示される際のアルバムリスト生成に要する時間を測定する。CPU1は、測定した時間を、tree_GetType3_timeとしてRAM2に保存する(S611)。続いて、CPU1は、RDBMSに対して、アーティスト階層からアルバム階層へ移行する指示を与える。CPU1は、RDBを使用して、アーティストリストが表示されている状態からアーティストが選択されアルバムリストが表示される際のアルバムリスト生成に要する時間を測定する。CPU1は、測定した時間を、db_GetType3_timeとしてRAM2に保存する(S611)。
次に、CPU1は、ツリーオブジェクトに対して、アルバム階層からトラック階層へ移行する指示を与える。CPU1は、コンテンツツリーを使用して、アルバムリストが表示されている状態からアルバムが選択されトラックリストが表示される際のトラックリスト生成に要する時間を測定する。CPU1は、測定した時間を、tree_GetType4_timeとしてRAM2に保存する(S612)。続いて、CPU1は、RDBMSに対して、アルバム階層からトラック階層へ移行する指示を与える。CPU1は、RDBを使用して、アルバムリストが表示されている状態からアルバムが選択されトラックリストが表示される際のトラックリスト生成に要する時間を測定する。CPU1は、測定した時間を、db_GetType4_timeとしてRAM2に保存する(S612)。
次に、CPU1は、N=1、2、3、4の少なくとも1つについて、tree_GetTypeN_time > db_GetTypeN_timeの関係を満足するか否かを判断する(S613)。すなわち、コンテンツツリーを使用してコンテンツリストを生成する処理の方が、RDBに直接アクセスしてコンテンツリストを生成する処理よりも時間がかかる処理が存在するか否かが判断される。全てのNについて、tree_GetTypeN_time が db_GetTypeN_time以下である場合(S613でNO)、S604に戻り、HDD4に仮想的に曲ファイルをさらに30曲記録して、S605〜S612の処理を繰り返す。
いずれかのNについて、tree_GetTypeN_time
> db_GetTypeN_timeの関係を満足する場合(S613でYES)、CPU1は、どのNについて、tree_GetTypeN_time > db_GetTypeN_timeの関係を満足するかを特定する(S614)。ここで、N=1又は2について上記関係を満足する場合にはS615を実行し、N=3について上記関係を満足する場合にはS616を実行し、N=4について上記関係を満足する場合にはS617を実行する。
S615では、現在のアーティスト総数artNumをアーティストの限界コンテンツ情報数としてRAM2に保存する。S616では、現在のアルバム総数albNumをアルバムの限界コンテンツ情報数としてRAM2に保存する。S617では、現在のトラック総数trkNumをトラックの限界コンテンツ情報数としてRAM2に保存する。CPU1は、全てのNについて、tree_GetTypeN_time > db_GetTypeN_timeの関係を満足しているか否かを判断する(S618)。未だ、全てのNについて、tree_GetTypeN_time
> db_GetTypeN_timeの関係を満足していない場合(S618でNO)、CPU1は、S604に戻り、HDD4に仮想的に曲ファイルをさらに30曲記録して、S605〜S617の処理を繰り返す。但し、アーティスト総数artNum、アルバム総数albNum、トラック総数trkNumのうち、既にS615〜S617において限界コンテンツ情報数を決定し、RAM2に保存しているコンテンツ情報については、再度更新しない。全てのNについて、tree_GetTypeN_time > db_GetTypeN_timeの関係を満足した場合(S618でYES)、本処理を終了する。
図7は、第1モードと第2モードとのどちらを使用するかを切換えるCPU1の処理を示すフローチャートである。CPU1は、再生装置100を電源オン状態にする際(初回起動時)、又は、HDD4に新たなコンテンツを記録、分割、結合又は削除等してRDBの内容が更新される(又はRDBに登録されているコンテンツ情報がユーザ操作によって書き換えられる)際に(S701)、現在HDD4に記録されている曲ファイルの総数を取得し、コンテンツ総数が限界コンテンツ数max_ContentsNumを超えているか否かを判断する(S702)。この判断処理は、以下の各判断処理より先に実行される。
コンテンツ総数が限界コンテンツ数max_ContentsNumを超えている場合(S702でYES)、コンテンツツリーを生成するのに要する時間が許容時間を超えているので、CPU1は、第2モード、つまり、コンテンツツリーを生成せずにRDBに直接アクセスしてコンテンツリストを生成する方法に決定する(S706)。一方、コンテンツ総数が限界コンテンツ数max_ContentsNum以下である場合(S702でNO)、コンテンツツリーを生成するのに要する時間は許容時間以下である。
従って、CPU1は、HDD4に記録されているコンテンツの全アーティスト数がアーティストの限界コンテンツ情報数artNumを超えているか否かを判断する(S703)。全アーティスト数がアーティストの限界コンテンツ情報数artNumを超えている場合(S703でYES)、コンテンツツリーを使用してコンテンツリストを生成する又はコンテンツリストをスクロールする処理に要する時間が、RDBを使用してコンテンツリストを生成する又はコンテンツリストをスクロールする処理に要する時間よりも長いので、CPU1は、第2モードに決定する(S706)。
全アーティスト数がアーティストの限界コンテンツ情報数artNum以下である場合(S703でNO)、CPU1は、次に、HDD4に記録されているコンテンツの全アルバム数がアルバムの限界コンテンツ情報数albNumを超えているか否かを判断する(S704)。全アルバム数がアルバムの限界コンテンツ情報数albNumを超えている場合(S704でYES)、コンテンツツリーを使用してコンテンツリストを生成する又はコンテンツリストをスクロールする処理に要する時間が、RDBを使用してコンテンツリストを生成する又はコンテンツリストをスクロールする処理に要する時間よりも長いので、CPU1は、第2モードに決定する(S706)。
全アルバム数がアルバムの限界コンテンツ情報数albNum以下である場合(S704でNO)、CPU1は、次に、HDD4に記録されているコンテンツの全トラック数がトラックの限界コンテンツ情報数trkNumを超えているか否かを判断する(S705)。全トラック数がトラックの限界コンテンツ情報数trkNumを超えている場合(S705でYES)、コンテンツツリーを使用してコンテンツリストを生成する又はコンテンツリストをスクロールする処理に要する時間が、RDBを使用してコンテンツリストを生成する又はコンテンツリストをスクロールする処理に要する時間よりも長いので、CPU1は、第2モードに決定する(S706)。
一方、全トラック数がトラックの限界コンテンツ情報数trkNum以下である場合(S705でNO)、コンテンツツリーを使用してコンテンツリストを生成する又はコンテンツリストをスクロールする処理に要する時間が、RDBを使用してコンテンツリストを生成する又はコンテンツリストをスクロールする処理に要する時間以下であるので、CPU1は、コンテンツツリーを生成し、コンテンツツリーからコンテンツリストを生成する第1モードに決定する(S707)。以上の処理によって、初回起動時およびRDB更新時の待ち時間を短くすることができ、かつ、コンテンツリスト生成やリストスクロール処理も待ち時間を短く実行することができる。
なお、図7の処理に代えて図8の処理が実行されてもよい。図8では、S703〜S705が省略されている。また、図7の処理に代えて図9の処理が実行されてもよい。図9ではS702が省略されている。
以上、本発明の好ましい実施形態を説明したが、本発明はこれらの実施形態には限定されない。アーティスト、アルバム、トラック以外のカテゴリのコンテンツ情報についてのリスト(例えばジャンルリスト)を生成する場合も同様である。本発明のリスト生成装置を動作させるためのコンピュータプログラムまたはそのコンピュータプログラムを記録した記録媒体という形態で提供されてもよい。
本発明はHDD等の記憶媒体を備えたコンテンツ再生装置やPC等に好適に適用され得る。
100 コンテンツ再生装置
1 CPU
2 RAM
3 ROM
4 HDD
5 再生部
6 表示部
7 操作部

Claims (6)

  1. データベースからコンテンツツリーを生成し前記コンテンツツリーからリストを生成する第1モードと、前記コンテンツツリーを生成せずに前記データベースから直接前記リストを生成する第2モードとを有し、
    コンテンツ記憶部に記録されているコンテンツのコンテンツ総数が、前記コンテンツツリーを生成する際に要する時間が許容時間を超えるコンテンツ数である限界コンテンツ数を超えているか否かを判断する手段と、
    前記コンテンツ記憶部に記録されているコンテンツのコンテンツ総数が前記限界コンテンツ数以下であると判断された場合に、前記第1モードを使用して前記リストを生成し、前記コンテンツ記憶部に記録されているコンテンツのコンテンツ総数が前記限界コンテンツ数を超えていると判断された場合、前記第2モードを使用して前記リストを生成するリスト生成手段とを備える、リスト生成装置。
  2. データベースからコンテンツツリーを生成し前記コンテンツツリーからリストを生成する第1モードと、前記コンテンツツリーを生成せずに前記データベースから直接前記リストを生成する第2モードとを有し、
    コンテンツ記憶部に記録されているコンテンツのコンテンツ総数が、前記コンテンツツリーを生成する際に要する時間が許容時間を超えるコンテンツ数である限界コンテンツ数を超えているか否かを判断する手段と、
    前記コンテンツ記憶部に記録されているコンテンツの所定カテゴリのコンテンツ情報の総数が、前記コンテンツツリーから前記リストを生成する際に要する時間が前記データベースから直接前記リストを生成する際に要する時間を超えるコンテンツ情報数である限界コンテンツ情報数を超えているか否かを判断する手段と、
    前記コンテンツ記憶部に記録されているコンテンツのコンテンツ総数が前記限界コンテンツ数以下であると判断され、かつ、前記コンテンツ記憶部に記録されているコンテンツの所定カテゴリのコンテンツ情報の総数が前記限界コンテンツ情報数以下であると判断された場合に、前記第1モードを使用して前記リストを生成し、前記コンテンツ記憶部に記録されているコンテンツのコンテンツ総数が前記限界コンテンツ数を超えていると判断された場合、又は、前記コンテンツ記憶部に記録されているコンテンツの所定カテゴリのコンテンツ情報の総数が前記限界コンテンツ情報数を超えていると判断された場合に、前記第2モードを使用して前記リストを生成するリスト生成手段とを備える、リスト生成装置。
  3. 前記許容時間を設定し、前記コンテンツ記憶部に仮想的なコンテンツを記録した上で、前記リストを生成する際に要する時間を測定し、測定した時間と設定された前記許容時間とを比較することによって、前記限界コンテンツ数を決定する手段をさらに備える、請求項1または2に記載のリスト生成装置。
  4. データベースからコンテンツツリーを生成し前記コンテンツツリーからリストを生成する第1モードと、前記コンテンツツリーを生成せずに前記データベースから直接前記リストを生成する第2モードとを有し、
    前記コンテンツ記憶部に記録されているコンテンツの所定カテゴリのコンテンツ情報の総数が、前記コンテンツツリーから前記リストを生成する際に要する時間が前記データベースから直接前記リストを生成する際に要する時間を超えるコンテンツ情報数である限界コンテンツ情報数を超えているか否かを判断する手段と、
    前記コンテンツ記憶部に記録されているコンテンツの所定カテゴリのコンテンツ情報の総数が前記限界コンテンツ情報数以下であると判断された場合に、前記第1モードを使用して前記リストを生成し、前記コンテンツ記憶部に記録されているコンテンツの所定カテゴリのコンテンツ情報の総数が前記限界コンテンツ情報数を超えていると判断された場合に、前記第2モードを使用して前記リストを生成するリスト生成手段とを備える、リスト生成装置。
  5. 前記コンテンツ記憶部に仮想的なコンテンツを記録した上で、前記コンテンツツリーから前記リストを生成する際に要する時間と、前記データベースから直接前記リストを生成する際に要する時間とを測定し、これらの時間を比較することによって、前記限界コンテンツ情報数を決定する手段をさらに備える、請求項2または4に記載のリスト生成装置。
  6. 請求項1〜5のいずれかに記載のリスト生成装置の各手段をコンピュータに実行させる、リスト生成プログラム。
JP2011063319A 2011-03-22 2011-03-22 リスト生成装置およびそのプログラム Expired - Fee Related JP5573744B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011063319A JP5573744B2 (ja) 2011-03-22 2011-03-22 リスト生成装置およびそのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011063319A JP5573744B2 (ja) 2011-03-22 2011-03-22 リスト生成装置およびそのプログラム

Publications (2)

Publication Number Publication Date
JP2012198815A true JP2012198815A (ja) 2012-10-18
JP5573744B2 JP5573744B2 (ja) 2014-08-20

Family

ID=47180950

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011063319A Expired - Fee Related JP5573744B2 (ja) 2011-03-22 2011-03-22 リスト生成装置およびそのプログラム

Country Status (1)

Country Link
JP (1) JP5573744B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016122428A (ja) * 2014-12-25 2016-07-07 株式会社寺岡精工 用紙発行装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10307842A (ja) * 1997-05-09 1998-11-17 Canon Inc 情報処理装置及びその方法
JPH1153401A (ja) * 1997-08-01 1999-02-26 Nec Corp データベースの索引自動生成システム
JP2002259442A (ja) * 2001-02-28 2002-09-13 Fujitsu Ltd データベース検索方法ならびに記憶媒体
JP2010097678A (ja) * 2008-10-20 2010-04-30 Onkyo Corp コンテンツ情報ツリー生成装置及びそのプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10307842A (ja) * 1997-05-09 1998-11-17 Canon Inc 情報処理装置及びその方法
JPH1153401A (ja) * 1997-08-01 1999-02-26 Nec Corp データベースの索引自動生成システム
JP2002259442A (ja) * 2001-02-28 2002-09-13 Fujitsu Ltd データベース検索方法ならびに記憶媒体
JP2010097678A (ja) * 2008-10-20 2010-04-30 Onkyo Corp コンテンツ情報ツリー生成装置及びそのプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016122428A (ja) * 2014-12-25 2016-07-07 株式会社寺岡精工 用紙発行装置

Also Published As

Publication number Publication date
JP5573744B2 (ja) 2014-08-20

Similar Documents

Publication Publication Date Title
KR100493891B1 (ko) 미디어 파일의 데이터베이스 관리 방법 및 시스템
CN101226530A (zh) 具有采用抢占式同步顺序优先化的同步功能的媒体系统
JP2007148891A5 (ja)
US20190318764A1 (en) Apparatus, method, and program for creating a video work
JP2014059773A (ja) 画像表示装置及びその制御方法、プログラム、並びに記憶媒体
KR101336846B1 (ko) 콘텐츠 검색 서비스를 제공하는 방법, 검색 서버 및 이를 포함하는 검색 시스템
JP5573744B2 (ja) リスト生成装置およびそのプログラム
JP5522896B2 (ja) 番組検索情報を編集する方法および装置
US10963509B2 (en) Update method and update apparatus
JP6649745B2 (ja) コンテンツデータ管理装置、プログラム、およびコンテンツデータ管理方法
JP2007066370A (ja) 再生装置および再生方法
JP2009076158A (ja) コンテンツ再生装置、ユーザインターフェース最適化方法およびユーザインターフェース最適化プログラム
JP6265711B2 (ja) 楽曲再生装置及びコンピュータプログラム
JP2007122180A (ja) 階層化構造生成方法及び記憶装置
JP5755456B2 (ja) プレイリスト編集装置、プレイリスト編集方法、プレイリスト編集プログラムおよびプレイリスト編集プログラムを格納した記録媒体
JP2005196833A (ja) データ再生装置およびデータ再生装置における再生データの管理方法
JP6481016B2 (ja) 楽曲再生装置及びコンピュータプログラム
KR100732665B1 (ko) 음악파일 관리 기능을 갖는 사용자 단말장치 및 그의 관리방법
US20230376530A1 (en) Content playback system
JP5029842B2 (ja) コンテンツ情報ツリー生成装置及びそのプログラム
JP2000259459A (ja) ファイル記憶媒体、ファイル管理装置、ファイル管理プログラム記憶媒体
JP5192033B2 (ja) コンテンツ再生装置及びプログラム
JP4578454B2 (ja) データベース生成方法および情報処理装置
JP4556903B2 (ja) コンテンツディレクトリテンプレート付きコンテンツ再生装置
JPH11296543A (ja) 検索方法、検索装置、及び記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130930

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140311

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140401

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140516

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140603

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140616

R150 Certificate of patent or registration of utility model

Ref document number: 5573744

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees