(57)【特許請求の範囲】
【請求項１】
コンテンツサーバからコンテンツを取得し、取得したコンテンツを再生するコンテンツ再生装置であって、
前記コンテンツサーバに作成された実体フォルダであり、再生対象の楽曲データが登録されたプレイリストを格納するプレイリストフォルダを検索する検索部と、
前記検索部の検索結果を表示する表示部とを備え、
前記検索部は、
前記コンテンツサーバから、前記コンテンツサーバが管理する下位フォルダに関する下位フォルダ属性と、前記下位フォルダを含む上位フォルダに関する上位フォルダ属性とを取得する属性取得部と、
前記下位フォルダ属性が、プレイリストを格納するフォルダであることを示すプレイリストフォルダ属性を有するか否かを判定する下位フォルダ判定部と、
前記下位フォルダがプレイリストフォルダ属性を有する場合、前記上位フォルダ属性が、実体フォルダであることを示す実体フォルダ属性を有するか否かを判定する上位フォルダ判定部と、
前記上位フォルダが実体フォルダ属性を有する場合、前記下位フォルダを前記プレイリストフォルダと決定する決定部とを含む、コンテンツ再生装置。
【請求項２】
請求項１に記載のコンテンツ再生装置であって、
前記検索部は、前記コンテンツサーバへのアクセスが指示された場合、前記プレイリストフォルダの検索を開始する、コンテンツ再生装置。
【請求項３】
請求項２に記載のコンテンツ再生装置であって、さらに、
前記コンテンツサーバから取得したコンテンツの再生履歴を管理し、前記取得したコンテンツの再生履歴に基づいて、前記プレイリストフォルダの検索を許可する履歴管理部を備える、コンテンツ再生装置。
【請求項４】
コンテンツサーバからコンテンツを取得し、取得したコンテンツを再生するコンピュータに、
前記コンテンツサーバに作成された実体フォルダであり、再生対象の楽曲データが登録されたプレイリストを格納するプレイリストフォルダを検索する検索ステップと、
前記検索部の検索結果を表示装置に表示するステップとを実行させるプログラムであって、
前記検索ステップは、
前記コンテンツサーバから、前記コンテンツサーバが管理する下位フォルダに関する下位フォルダ属性と、前記下位フォルダを含む上位フォルダに関する上位フォルダ属性とを取得するステップと、
前記下位フォルダ属性が、プレイリストを格納するフォルダであることを示すプレイリストフォルダ属性を有するか否かを判定するステップと、
前記下位フォルダがプレイリストフォルダ属性を有する場合、前記上位フォルダ属性が、実体フォルダであることを示す実体フォルダ属性を有するか否かを判定するステップと、
前記上位フォルダが実体フォルダ属性を有する場合、前記下位フォルダを前記プレイリストフォルダと決定するステップとを含む、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツ再生装置に関し、さらに詳しくは、ネットワークに接続されたサーバから取得したコンテンツを再生するコンテンツ再生装置に関する。
【背景技術】
【０００２】
ＵＰｎＰ（Universal Plug and Play）の技術等を利用することにより、家庭内ＬＡＮ（Local Area Network）などのホームネットワークに接続された装置同士の間で、映像、音楽などのコンテンツを転送することが可能である。具体的には、ホームネットワークにおいて、楽曲データ及び動画データなどのコンテンツは、サーバに蓄積される。ＰＣ（Personal Computer）などのコンテンツ再生装置は、ユーザが指定したコンテンツをサーバから取得し、取得したコンテンツを再生する。
【０００３】
また、ユーザは、プレイリストを用いて、サーバに格納された楽曲データを再生することも可能である。プレイリストは、再生対象の楽曲データを登録したリストである。ユーザは、プレイリストの再生を指示することにより、プレイリストに登録された楽曲データを再生することができる。
【０００４】
しかし、ユーザは、プレイリストの再生を指示する前に、再生したいプレイリストを探す必要がある。特許文献１には、ユーザが目的のファイルを探し出す時間を短縮することができる再生装置が記載されている。再生装置は、ユーザがフォルダを選択した場合、ファイルの種別ごとに、選択されたフォルダに格納されたファイルの数を集計し、集計結果を表示する。これにより、ユーザは、選択したフォルダを開くことなく、フォルダに格納されたファイルを推測することができる。
【０００５】
プレイリストが格納されたフォルダは、サーバが管理するファイルシステムの下層に作成されていることが多い。このため、特許文献１に記載されている技術を利用しても、ユーザは、プレイリストが格納されたフォルダに到達するまで、フォルダを開く操作を繰り返さなければならない。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−９７７１２号公報
【特許文献２】特願２００９−１２８９１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、プレイリストを格納するフォルダへのアクセスが容易となる技術を提供することである。
【課題を解決するための手段及び発明の効果】
【０００８】
本発明によるコンテンツ再生装置は、コンテンツサーバからコンテンツを取得し、取得したコンテンツを再生する。コンテンツ再生装置は、検索部と、表示部とを備える。検索部は、コンテンツサーバに作成された実体フォルダであり、再生対象の楽曲データが登録されたプレイリストを格納するプレイリストフォルダを検索する。表示部は、検索部の検索結果を表示する。検索部は、属性取得部と、下位フォルダ判定部と、上位フォルダ判定部と、決定部とを含む。属性取得部は、コンテンツサーバから、コンテンツサーバが管理する下位フォルダに関する下位フォルダ属性と、前記下位フォルダを含む上位フォルダに関する上位フォルダ属性とを取得する。下位フォルダ判定部は、下位フォルダ属性が、プレイリストを格納するフォルダであることを示すプレイリストフォルダ属性を有するか否かを判定する。上位フォルダ判定部は、下位フォルダがプレイリストフォルダ属性を有する場合、上位フォルダ属性が、実体フォルダであることを示す実体フォルダ属性を有するか否かを判定する。決定部は、上位フォルダが実体フォルダ属性を有する場合、下位フォルダを前記プレイリストフォルダと決定する。
【０００９】
ユーザが作成したプレイリストは、コンテンツサーバにおいて、プレイリストフォルダに格納される。プレイリストフォルダは、コンテンツサーバが管理する実体フォルダに格納される。このため、コンテンツ再生装置は、コンテンツサーバが管理する下位フォルダの下位フォルダ属性が、プレイリストフォルダ属性を有するか否かを判断する。下位フォルダ属性がプレイリストフォルダ属性を有する場合、コンテンツ再生装置は、上位フォルダ属性が実体フォルダ属性を有するか否かを確認する。上位フォルダ属性が実体フォルダ属性を有する場合、コンテンツ再生装置は、下位フォルダをプレイリストフォルダと決定する。上述の処理に基づいてプレイリストフォルダを検索することにより、コンテンツサーバが格納するフォルダの中から、プレイリストフォルダを確実に特定することができる。
【００１０】
好ましくは、検索部は、コンテンツサーバへのアクセスが指示された場合、プレイリストフォルダの検索を開始する。
【００１１】
コンテンツサーバへのアクセスが指示されたときに、プレイリストフォルダの検索が開始されるため、コンテンツ再生装置は、ユーザがプレイリストの一覧の表示を指示する前に、プレイリストフォルダの情報を取得することができる。このため、ユーザの指示に応じて、速やかにプレイリストの一覧を表示することができる。
【００１２】
好ましくは、本発明によるコンテンツ再生装置は、さらに、履歴管理部を備える。履歴管理部は、コンテンツサーバから取得したコンテンツの再生履歴を管理し、取得したコンテンツの再生履歴に基づいて、プレイリストフォルダの検索を許可する。
【００１３】
コンテンツ再生装置は、コンテンツサーバから取得したコンテンツの再生履歴に基づいて、プレイリストの検索を行うか否かを判断することができる。これにより、プレイリストの再生頻度に応じて、プレイリストフォルダを検索するタイミングを変更することができる。
【００１４】
本発明によるプログラムは、上述のコンテンツ再生装置に用いられる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１の実施の形態によるＰＣが接続されたネットワークシステムの構成を示す図である。
【図２】図１に示すＰＣの機能ブロック図である。
【図３】図１に示すＰＣに表示されるサーバ選択画面を示す図である。
【図４】図１に示すＰＣに表示されるコンテンツ種別選択画面を示す図である。
【図５】図４に示すコンテンツ種別選択画面が表示されるまでのＰＣの動作を示すフローチャートである。
【図６】図４に示すルートコンテナからアクセス可能な実体フォルダの階層構成を示す図である。
【図７】図１に示すＰＣが実行するフォルダ検索処理のフローチャートである。
【図８】図１に示すＰＣに表示されるプレイリストのタイトル一覧画面を示す図である。
【図９】本発明の第２の実施の形態によるＰＣの機能ブロック図である。
【図１０】図９に示す検索許可テーブルを示す図である。
【図１１】図９に示すＰＣがコンテンツ種別選択画面を表示するまでのＰＣの動作を示すフローチャートである。
【図１２】図９に示すＰＣが実行する履歴管理処理のフローチャートである。
【図１３】図９に示す再生履歴テーブルを示す図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照し、本発明の実施の形態を詳しく説明する。図中同一又は相当部分には同一符号を付してその説明は繰り返さない。
【００１７】
［第１の実施の形態］
｛全体構成｝
図１は、第１の実施の形態に係るＰＣ１が接続されたネットワークシステムの構成を示す図である。図１を参照して、ネットワークシステムは、ＰＣ１と、コンテンツサーバ３，４，５とを備える。ＰＣ１と、コンテンツサーバ３〜５とは、ＬＡＮ２に接続される。ＬＡＮ２は、ユーザの家屋内に構築されるホームネットワークである。
【００１８】
ＰＣ１は、ユーザが操作するコンテンツ再生装置である。コンテンツサーバ３〜５は、動画、静止画、楽曲などのコンテンツを格納するサーバである。ＰＣ１は、ＵＰｎＰを利用して、各コンテンツサーバと通信を行う。たとえば、ＰＣ１は、各コンテンツサーバが保持するコンテンツを取得し、取得したコンテンツを再生する。
【００１９】
コンテンツサーバ３〜５は、ＵＰｎＰを利用するＤＬＮＡ（Digital Living Network Alliance）において、コンテンツを提供するＤＭＳ（Digital Media Server）として機能する。ＰＣ１は、ＤＬＮＡにおいて、コンテンツを再生するＤＭＰ（Digital Media Player）として機能する。
【００２０】
図２は、ＰＣ１の構成を示す機能ブロック図である。図２を参照して、ＰＣ１は、ＣＰＵ（Central Processing Unit）１１と、メモリ１２と、ディスプレイ１３と、ネットワークインタフェース１４と、ＨＤＤ(Hard Disk Drive)１５とを備える。
【００２１】
ＣＰＵ１１は、メモリ１２にロードされたプログラムを実行して、ＰＣ１を制御する。ＣＰＵ１１が実行するプログラムは、ＨＤＤ１５に格納される。ディスプレイ１３は、ＣＰＵ１１により実行されたプログラムの実行結果などを表示する。ネットワークインタフェース１４は、ＴＣＰ（Transmission Control Protocol）／ＩＰ（Internet Protocol）、ＵＰｎＰなどのプロトコルを用いて、コンテンツサーバ３〜５と通信する。
【００２２】
ＨＤＤ１５は、検索プログラム１６と、再生プログラム１７とを格納する。検索プログラム１６は、コンテンツサーバ３が管理するフォルダの中から、プレイリストが格納されたフォルダを検索するプログラムである。再生プログラム１７は、コンテンツサーバ３〜５から取得したコンテンツを再生するプログラムである。
【００２３】
｛動作概要｝
ＰＣ１は、ユーザがコンテンツサーバ３へのアクセスを指示した場合、コンテンツサーバ３から、ユーザが作成したプレイリスト（ユーザプレイリスト）が格納されたプレイリストフォルダを検索する。
【００２４】
コンテンツサーバ３は、プレイリストを格納する仮想的なフォルダと、プレイリストを格納する実体のあるフォルダとを管理している。ユーザプレイリストは、コンテンツサーバに格納された実体のあるファイルである。プレイリストフォルダは、コンテンツサーバ３に作成された実体のあるフォルダである。ＰＣ１は、コンテンツサーバが管理するフォルダの中からプレイリストフォルダを検索する。
【００２５】
ＰＣ１は、コンテンツサーバ３が管理するフォルダのうち、判定対象フォルダ（下位フォルダ）の属性を取得する。判定対象フォルダは、プレイリストフォルダであるか否かを判定する対象となるフォルダである。判定対象フォルダの属性が、プレイリストを格納するフォルダであることを示す属性を有する場合、ＰＣ１は、判定対象フォルダを含む上位フォルダの属性が、実体フォルダであることを示す属性を有するか否かを確認する。上位フォルダの属性が実体フォルダであることを示す属性を有する場合、ＰＣ１は、判定対象フォルダをプレイリストフォルダと決定する。
【００２６】
ＰＣ１は、プレイリストフォルダ（判定対象フォルダ）の属性を取得する際に、プレイリストフォルダが格納するプレイリストのタイトルを取得している。ＰＣ１は、コンテンツサーバ３が保持するユーザプレイリストの表示が指示された場合、プレイリストフォルダに格納されたユーザプレイリストのタイトル一覧を表示する。これにより、ユーザは、プレイリストの表示を指示するだけで、ユーザプレイリストのタイトルを確認することができる。
【００２７】
また、ＰＣ１は、コンテンツサーバ３が選択されたときに、プレイリストフォルダを検索する。これにより、ユーザプレイリストの表示が指示されたときに、ＰＣ１は、ユーザプレイリストのタイトル一覧を速やかに表示することができる。
【００２８】
｛ＰＣ１の動作の詳細｝
以下、ユーザが、コンテンツサーバ３が保持するプレイリストフォルダを検索する場合を例にして、ＰＣ１の動作を詳しく説明する。
【００２９】
｛コンテンツ種別選択画面の表示｝
図３は、ＰＣ１のディスプレイ１３に表示されるサーバ選択画面６１を示す図である。図４は、ＰＣ１のディスプレイ１３に表示されるコンテンツ種別選択画面６２を示す図である。図５は、コンテンツ種別選択画面６２がディスプレイ１３に表示されるまでのＰＣ１の動作を示すフローチャートである。図３〜図５を参照して、コンテンツ種別選択画面６２が表示されるまでのＰＣ１の動作を詳しく説明する。
【００３０】
最初に、ＰＣ１は、ユーザの操作に応じて、サーバ選択画面６１をディスプレイ１３に表示する（ステップＳ１）。サーバ選択画面６１には、ＬＡＮ２に接続されたコンテンツサーバ３〜５のサーバ名が表示される。ユーザが、コンテンツサーバ３に対応する「Ｓｅｒｖｅｒ１」を選択する（ステップＳ２においてＹｅｓ）。ＰＣ１は、コンテンツサーバ３から、コンテンツ種別選択画面６２に表示されるルートコンテナ６２１，６２２，６２３，６２４のそれぞれに対応するオブジェクトデータを取得する（ステップＳ３）。
【００３１】
ルートコンテナ６２１〜６２４は、コンテンツサーバ３が管理する仮想フォルダである。ルートコンテナ６２１〜６２４のそれぞれのオブジェクトデータは、各ルートコンテナの属性と、ルートコンテナ６２１の直下に仮想的に格納される実体フォルダまたは実体ファイルのタイトルとを含む。
【００３２】
検索プログラム１６が、取得したルートコンテナ６２１〜６２４のオブジェクトデータを利用して、フォルダ検索処理を実行する（ステップＳ４）。検索プログラム１６は、プレイリストフォルダを特定することができた場合、プレイリストフォルダのオブジェクトデータを保持する。プレイリストフォルダのオブジェクトデータは、プレイリストフォルダの属性と、プレイリストフォルダに格納されたユーザプレイリストのタイトルとを含む。  フォルダ検索処理（ステップＳ４）の実行後に、ＰＣ１は、コンテンツ種別選択画面６２を表示する（ステップＳ５）。図４を参照して、コンテンツ種別選択画面６２は、再生するコンテンツの種別（動画像、静止画像、音楽、プレイリスト）などを選択するためのインタフェースであり、各ルートコンテナの名称が表示される。ユーザが、「Ｐｌａｙｌｉｓｔ（ルートコンテナ６２４）」を選択した場合、ＰＣ１は、プレイリストフォルダのオブジェクトデータを用いて、ユーザプレイリストのタイトル一覧を表示する。ユーザが他のルートコンテナを選択した場合、ＰＣ１は、コンテンツサーバ３にアクセスして、選択されたルートコンテナに格納されたデータの一覧を表示する。
【００３３】
｛ルートコンテナ｝
図４を参照して、コンテンツ種別選択画面６２に表示されるルートコンテナ６２１〜６２４について説明する。
【００３４】
ルートコンテナ６２１は、コンテンツ種別選択画面６２の「Ｍｕｓｉｃ」に対応し、コンテンツサーバ３に保存された楽曲データを仮想的に格納する。ルートコンテナ６２２は、「Ｍｏｖｉｅ」に対応し、コンテンツサーバ３に保存された動画像データを仮想的に格納する。ルートコンテナ６２３は、「Ｐｈｏｔｏ」に対応し、コンテンツサーバ３に保存された静止画像データを仮想的に格納する。ルートコンテナ６２４は、「Ｐｌａｙｌｉｓｔ」に対応し、コンテンツサーバ３に保存されたユーザプレイリストを仮想的に格納する。
【００３５】
コンテンツサーバ３は、コンテンツサーバ３に作成された実体フォルダのうち、仮想フォルダであるルートコンテナ６２４からアクセス可能な実体フォルダに関する情報を保持している。図６は、ルートコンテナ６２４からアクセス可能な実体フォルダの階層構成を示す図である。図６を参照して、Ｃドライブ３０と、フォルダ３１，３２とは、コンテンツサーバ３に作成された実体フォルダである。ユーザプレイリスト３３，３４は、コンテンツサーバ３に格納された実体ファイルであり、ユーザにより作成される。
【００３６】
ルートコンテナ６２４の下には、Ｃドライブ３０が関連付けられている。ルートコンテナ６２４が仮想フォルダであるため、Ｃドライブ３０は、ルートコンテナ６２４の下に実際に作成されない。Ｃドライブ３０の下には、フォルダ３１が作成される。フォルダ３１の下には、フォルダ３２が作成される。フォルダ３２は、ユーザが作成したユーザプレイリスト３３，３４を格納するプレイリストフォルダである。
【００３７】
ＰＣ１は、ルートコンテナ６２４、Ｃドライブ３０、フォルダ３１，３２を直接確認することはできない。ＰＣ１は、ルートコンテナ６２４、Ｃドライブ３０、フォルダ３１，３２のそれぞれのオブジェクトデータを取得し、取得したオブジェクトデータを利用して、各フォルダの属性及び各フォルダの下に格納されるフォルダまたはファイルを確認することができる。なお、Ｃドライブ及びフォルダ３１，３２など、実体フォルダのオブジェクトデータは、各実体フォルダの属性及び各実体フォルダの下に格納されるフォルダ及びファイルのタイトルを含む。
【００３８】
実際には、Ｃドライブ３０は、フォルダ３１以外のフォルダ及びファイルを格納することがある。フォルダ３１，３２についても同様である。しかし、コンテンツサーバ３は、ＤＭＳとして動作しているため、プレイリストフォルダ（フォルダ３２）に関係のない実体フォルダ及び実体ファイルを、ルートコンテナ６２４からアクセス可能なフォルダ及びファイルとして管理することはない。
【００３９】
｛フォルダ検索処理（ステップＳ４）｝
図７は、フォルダ検索処理（ステップＳ４）を実行する検索プログラム１６のフローチャートである。以下、図７を参照して、フォルダ検索処理（ステップＳ４）について詳しく説明する。
【００４０】
上述したように、検索プログラム１６は、ルートコンテナ６２１〜６２４のそれぞれに対応するオブジェクトデータを取得した後に（ステップＳ３、図４参照）、フォルダ検索処理（ステップＳ４）を開始する。最初に、検索プログラム１６は、全てのルートコンテナを対象として、プレイリストフォルダを検索したか否かを確認する（ステップＳ４１）。
【００４１】
全てのルートコンテナを対象とした検索が完了していない場合（ステップＳ４１においてＮｏ）、検索プログラム１６は、検索対象のルートコンテナを指定する（ステップＳ４２）。検索プログラム１６は、インデックスの大きい順に検索対象を指定する。図４を参照して、インデックスは、ルートコンテナ６２１〜６２４の左側に表示された番号である。ルートコンテナ６２４からプレイリストフォルダの検索が開始されるため、検索プログラム１６は、プレイリストフォルダを速やかに特定することができる。
【００４２】
以下、ルートコンテナ６２４が検索対象である場合を例にして説明する。検索プログラム１６は、ルートコンテナ６２４が仮想的に格納するフォルダのオブジェクトデータの送信をコンテンツサーバ３に要求する。図６に示すように、ルートコンテナ６２４が、Ｃドライブ３０を仮想的に格納するため、コンテンツサーバ３は、検索プログラム１６の要求に応じて、Ｃドライブ３０のオブジェクトデータをＰＣ１に送信する。これにより、検索プログラム１６は、Ｃドライブ３０に対応するオブジェクトデータを取得する（ステップＳ４３）。
【００４３】
検索プログラム１６は、Ｃドライブ３０のオブジェクトデータが、プレイリストフォルダ以外の実体フォルダであることを示す属性（実体通常フォルダ属性）を有するか否かを確認する（ステップＳ４４）。ＵＰｎＰでは、「object.container.strageＦolder」が、実体通常フォルダ属性に対応する。図６を参照して、Ｃドライブ３０が実体通常フォルダ属性を有するため（ステップＳ４４においてＹｅｓ）、検索プログラム１６は、Ｃドライブ３０の下位フォルダ（フォルダ３１）のオブジェクトデータを取得する（ステップＳ４５）。
【００４４】
検索プログラム１６は、フォルダ３２のオブジェクトデータを取得するまで、ステップＳ４４，Ｓ４５の処理を繰り返す。
【００４５】
図６及び図７を参照して、フォルダ３２がプレイリストフォルダである。このため、検索プログラム１６は、フォルダ３２のオブジェクトデータが実体通常フォルダ属性を有しないと判定し（ステップＳ４４においてＮｏ）、ステップＳ４６に進む。
【００４６】
ステップＳ４６において、検索プログラム１６は、フォルダ３２のオブジェクトデータがプレイリストフォルダ属性を有するか否かを確認する（ステップＳ４６）。ＵＰｎＰでは、「object.container.playlistContainer」が、プレイリストフォルダ属性に対応する。プレイリストフォルダ属性は、フォルダが実体フォルダであるとともに、フォルダがプレイリストを格納するフォルダであることを示す。図６及び図７を参照して、フォルダ３２は、プレイリストフォルダ属性を有しているため（ステップＳ４６においてＹｅｓ）。検索プログラム１６は、ステップＳ４７に進む。
【００４７】
フォルダ３２のオブジェクトデータがプレイリストフォルダ属性を有しない場合（ステップＳ４６においてＮｏ）、検索プログラム１６は、ルートコンテナ６２４からアクセスできるプレイリストフォルダが存在しないと判断し、ステップＳ４１に戻る。
【００４８】
ステップＳ４７において、検索プログラム１６は、フォルダ３２を含むフォルダ３１（親フォルダ）が実体フォルダであるか否かを判定する。すなわち、検索プログラム１６は、フォルダ３１のオブジェクトデータが実体フォルダ属性を有するか否かを判定する。実体フォルダ属性は、フォルダが実体フォルダであることを示す属性である。実体フォルダ属性は、通常実体フォルダ及びプレイリストフォルダ属性を含む。図６及び図７を参照して、フォルダ３１のオブジェクトデータが、通常実体フォルダ属性を有するため、検索プログラム１６は、フォルダ３１が実体フォルダであると判定する（ステップＳ４７においてＹｅｓ）。
【００４９】
この結果、検索プログラム１６は、フォルダ３２がユーザプレイリストを格納したプレイリストフォルダであると決定する（ステップＳ４８）。フォルダ３２のオブジェクトデータは、フォルダ３２の属性と、フォルダ３２に格納されたユーザプレイリスト３３，３４のタイトルとを有する。フォルダ３２のオブジェクトデータは、プレイリストのタイトル一覧画面の作成に用いられる。
【００５０】
図６には示していないが、プレイリストフォルダ属性を有するフォルダ（便宜的に、候補フォルダと呼ぶ）が、仮想フォルダに格納されることが考えられる。この場合、親フォルダとなる仮想フォルダは、実体通常フォルダ属性を有しないため（ステップＳ４７においてＮｏ）、検索プログラム１６は、候補フォルダがプレイリストフォルダでないと判断して、ステップＳ４１に進む。
【００５１】
このように、フォルダ検索処理（ステップＳ４）では、プレイリストフォルダ属性を有するフォルダ３２を検出したときに、フォルダ３２が作成された親フォルダ（フォルダ３１）が実体フォルダであるか否かを判定する。フォルダ３２が実体フォルダであれば、検索プログラム１６は、フォルダ３１をプレイリストフォルダと決定する（ステップＳ４８）。
【００５２】
図８は、プレイリストのタイトル一覧画面６３を示す図である。フォルダ検索処理（ステップＳ４）の終了後、コンテンツ種別選択画面６２が表示される（図４参照）。ユーザが、「Ｐｌａｙｌｉｓｔ（ルートコンテナ６２４）」を選択した場合、ＰＣ１は、フォルダ３２のオブジェクトデータを用いて、プレイリストのタイトル一覧画面６３を作成し、タイトル一覧画面６３をディスプレイ１３に表示する。ユーザは、タイトル一覧画面６３に表示されたタイトルを選択して、選択したプレイリストの再生を指示することができる。
【００５３】
このように、ユーザが、コンテンツ種別選択画面６２で「Ｐｌａｙｌｉｓｔ」を選択したときに、ユーザが作成したユーザプレイリスト３３，３４のタイトルが表示される。ユーザは、ユーザ自身が作成したユーザプレイリストを再生するために、フォルダを開く操作を繰り返さなくてもよい。
【００５４】
フォルダ検索処理（ステップＳ４）を実行することにより、ユーザプレイリストを格納するプレイリストフォルダではない別のフォルダが、プレイリストフォルダとして決定されることが防止される。以下、この理由を説明する。
【００５５】
上述のように、仮想フォルダが、プレイリストフォルダ属性を有する候補フォルダの親フォルダとなることがある。たとえば、「ｍｕｓｉｃ」に対応するルートコンテナ６２１は、推薦プレイリストを格納した実体フォルダ（推薦リストフォルダ）を格納する。推薦プレイリストは、再生回数が上位の楽曲データが登録されたリストであり、コンテンツサーバ３により自動的に作成される。
【００５６】
推薦プレイリストが自動的に作成されたとしても、ユーザは、推薦プレイリストの存在を知らない。このため、コンテンツサーバ３は、「ｍｕｓｉｃ」に対応するルートコンテナ６２１に推薦リストフォルダを格納させる。これにより、ユーザに推薦プレイリストの存在を知らせるためが可能となる。
【００５７】
この場合、推薦リストフォルダの親フォルダがルートコンテナ６２１となるため、検索プログラムは、ステップＳ４７を実行することにより、推薦リストフォルダをプレイリストフォルダと決定しない。これに対して、ユーザプレイリスト３３，３４を格納するプレイリストフォルダ（フォルダ３２）は、図６に示すように、実体フォルダ（フォルダ３１）に作成される。このため、検索プログラム１６は、ステップＳ４６，Ｓ４７を実行することにより、ユーザプレイリスト３３，３４を格納したプレイリストフォルダのみを検索することが可能となる。
【００５８】
図７を参照して、ステップＳ４１の説明に戻る。全てのルートコンテナの検索が完了した場合（ステップＳ４１においてＹｅｓ）、検索プログラム１６は、プレイリストフォルダを検出できなかったと判断して、フォルダ検索処理（ステップＳ４）を終了する。この場合、ＰＣ１は、コンテンツ種別選択画面６２を表示するときに、ルートコンテナ６２４をグレーアウトさせる。これにより、ユーザは、コンテンツ種別選択画面６２で「Ｐｌａｙｌｉｓｔ」を選択できないことを認識できる。あるいは、ＰＣ１は、ルートコンテナ６２４の右側に、プレイリストフォルダを検出できなかったことを示すマークなどを表示してもよい。
【００５９】
上記第１の実施の形態において、Ｃドライブ３０と、フォルダ３１とが一対一で関連付けられている例を説明した。しかし、Ｃドライブ３０と、複数のフォルダとが関連付けられている場合がある。この場合、ステップＳ４５において、検索プログラム１６は、各フォルダに対応する複数のオブジェクトデータを取得する。検索プログラム１６は、取得した各オブジェクトデータに対して、ステップＳ４４〜Ｓ４７の処理を実行すればよい。
【００６０】
上記第１の実施の形態において、検索プログラム１６は、図７に示すフローチャートによりプレイリストフォルダを検出できないことがある。この場合、検索プログラム１６は、コンテンツサーバ３に作成された全ての実体フォルダを検索対象として、上記の条件に基づいてプレイリストフォルダを検索してもよい。
【００６１】
［第２の実施の形態］
以下、本発明の第２の実施の形態について、上記第１の実施の形態と異なる点を中心に説明する。上記第１の実施の形態では、ＰＣ１は、アクセス対象のコンテンツサーバが選択されたときに、フォルダ検索処理（ステップＳ４）を実行した。第２の実施の形態では、ＰＣ１は、コンテンツサーバごとのプレイリストの再生履歴を管理する。ＰＣ１は、アクセス対象のコンテンツサーバが選択されたときに、再生履歴に基づいて、フォルダ検索処理（ステップＳ４）を実行するか否かを判定する。
【００６２】
図９は、第２の実施の形態におけるＰＣ１の機能ブロック図である。図９を参照して、ＨＤＤ１５は、検索プログラム１６と、再生プログラム１７と、検索許可テーブル１８と、再生履歴テーブル１９と、履歴管理プログラム２０とを格納する。
【００６３】
履歴管理プログラム２０は、各コンテンツサーバから取得したコンテンツの再生履歴を管理するプログラムである。検索許可テーブル１８は、コンテンツサーバごとに、フォルダ検索処理（ステップＳ４）の実行を許可するか否かを設定したデータである。再生履歴テーブル１９は、コンテンツサーバ３から取得したコンテンツの再生履歴が登録されたデータである。
【００６４】
｛検索許可テーブル｝
図１０は、検索許可テーブル１８を示す図である。図１０を参照して、コンテンツサーバ３は、ＬＡＮ２に接続され、ＰＣ１と通信可能なコンテンツサーバ３〜５を検索許可テーブル１８に登録する。検索許可テーブル１８において、「サーバ名」には、各コンテンツサーバの名称が設定される。「識別情報」には、各コンテンツサーバに一意に割り当てられるＩＤ番号が設定される。たとえば、ＵＰｎＰで用いられるＵＵＩＤ（Universally Unique Identifier）が、「識別情報」として用いられる。「フラグ」は、各コンテンツサーバに対するフォルダ検索処理（ステップＳ４）の実行の可否を示す情報である。「インデックス」は、ルートコンテナ６２４のインデックスを示す。
【００６５】
検索許可テーブル１８において、コンテンツサーバ３の「フラグ」は、フォルダ検索処理の実行を許可する“Ｔｒｕｅ”に設定されている。コンテンツサーバ４，５の「フラグ」は、フォルダ検索処理の実行を許可しない“Ｆａｌｓｅ”に設定されている。詳細は後述するが、各コンテンツサーバが保持するユーザプレイリストの使用頻度が高い場合、「フラグ」はＴｒｕｅに設定される。
【００６６】
ＰＣ１が、コンテンツサーバ３〜５を検索許可テーブル１８に登録する処理を説明する。履歴管理プログラム２０が、たとえば、電源がＯＮされた後に起動する。履歴管理プログラム２０は、ＵＰｎＰを利用して、コンテンツサーバを検索する。なお、履歴管理プログラム２０は、電源がＯＮされている間、コンテンツサーバを定期的に検索してもよい。
【００６７】
履歴管理プログラム２０は、コンテンツサーバを検出した場合、検出したコンテンツサーバのＵＵＩＤが検索許可テーブル１８に登録されているか否かを確認する。検出したコンテンツサーバのＵＵＩＤが検索許可テーブル１８に登録されていない場合、履歴管理プログラム２０は、検出したコンテンツサーバのＵＵＩＤを検索許可テーブル１８に新たに登録する。新たに登録されたコンテンツサーバの「フラグ」は、“Ｆａｌｓｅ”に設定され、「インデックス」は、ルートコンテナ６２４のインデックスとは無関係の“−１”に設定される。これは、履歴管理プログラム２０が、新たなコンテンツサーバの再生履歴を確認することができないためである。検出したコンテンツサーバのＵＵＩＤが検索許可テーブル１８に既に登録されていた場合、履歴管理プログラム２０は、検索許可テーブル１８を変更しない。
【００６８】
｛フォルダ検索処理の可否の判定｝
図１１は、本実施の形態のＰＣ１が、コンテンツ種別選択画面６２を表示するまでの動作を示すフローチャートである。図１１に示すフローチャートは、図４に示すフローチャートと比較して、ステップＳ２０が追加されている点が異なる。
【００６９】
図１１を参照して、ＰＣ１は、コンテンツサーバ３が選択された場合（ステップＳ２においてＹｅｓ）、ルートコンテナ６２１〜６２４のオブジェクトデータをコンテンツサーバ３から取得する（ステップＳ３）。ＰＣ１は、検索許可テーブル１８を参照して、コンテンツサーバ３の「フラグ」が“Ｔｒｕｅ”に設定されているか否かを確認する（ステップＳ２０）。「フラグ」が“Ｔｒｕｅ”に設定されていれば（ステップＳ２０においてＹｅｓ）、検索プログラム１６が、コンテンツサーバ３を検索対象としたフォルダ検索処理を実行する（ステップＳ４）。その後、コンテンツ種別選択画面６２が、ディスプレイ１３に表示される（ステップＳ５）。一方、「フラグ」が“Ｆａｌｓｅ”に設定されていれば（ステップＳ２０においてＮｏ）、ＰＣ１は、フォルダ検索処理（ステップＳ４）を実行せずに、コンテンツ種別選択画面６２を表示する（ステップＳ５）。
【００７０】
｛検索許可テーブル１８のフラグの変更｝
検索許可テーブル１８の「フラグ」の変更について説明する。検索許可テーブル１８の「フラグ」は、ユーザプレイリストの再生頻度に応じて変更される。
【００７１】
図１２は、ＰＣ１が実行する履歴管理処理のフローチャートである。図１２を参照して、コンテンツサーバ３のコンテンツが再生される場合を例にして、履歴管理処理を詳しく説明する。
【００７２】
履歴管理プログラム２０は、サーバ選択画面６１でコンテンツサーバ３が選択された場合、コンテンツサーバ３のＵＵＩＤをメモリ１２に登録する（ステップＳ２１）。履歴管理プログラム２０は、ＰＣ１がルートコンテナ６２１〜６２４のオブジェクトデータを取得した場合（ステップＳ３、図４参照）、各ルートコンテナのインデックスをメモリ１２に登録する（ステップＳ２２）。
【００７３】
コンテンツサーバ３が保持するコンテンツの再生が指示された場合（ステップＳ２３においてＹｅｓ）、ＰＣ１は、ユーザが指示したコンテンツをコンテンツサーバから取得して再生する。再生履歴テーブル１９は、検索許可テーブル１８に登録されたコンテンツサーバごとに作成されるため、履歴管理プログラム２０は、コンテンツサーバ３に対応する再生履歴テーブル１９を更新する（ステップＳ２４）。
【００７４】
図１３は、コンテンツサーバ３に対応する再生履歴テーブル１９を示す図である。図１３を参照して、再生履歴テーブル１９には、過去４回分のコンテンツの再生履歴が登録される。ユーザプレイリストが再生された場合、再生履歴テーブル１９の「コンテンツ種別」には、“Ｐｌａｙｌｉｓｔ”が登録される。ユーザプレイリストではない他のコンテンツが再生された場合、「コンテンツ種別」には、“Ｏｔｈｅｒｓ”が登録される。
【００７５】
再び、図１２を参照する。履歴管理プログラム２０は、再生履歴テーブル１９を参照して、直前の２回において、ユーザプレイリストが連続して再生されたか否かを確認する（ステップＳ２５）。図１３に示すように、再生履歴テーブル１９において、コンテンツサーバ３のコンテンツとして、プレイリストが前回、前々回と連続して再生されている。プレイリストが直前の２回連続して再生されているため（ステップＳ２５においてＹｅｓ）、履歴管理プログラム２０は、検索許可テーブル１８に設定されたコンテンツサーバ３の「フラグ」を“Ｔｒｕｅ”に変更する（ステップＳ２６）。これにより、サーバ選択画面６１においてコンテンツサーバ３が選択されたときに、ＰＣ１は、フォルダ検索処理（ステップＳ４）を実行する。
【００７６】
検索許可テーブル１８に設定されたコンテンツサーバ３の「インデックス」が、ステップＳ２１においてメモリ１２に登録されたインデックス（ルートコンテナ６２４のインデックス）に設定される（ステップＳ２７）。検索許可テーブル１８に設定されたコンテンツサーバ３の「インデックス」は、コンテンツサーバ３を検索対象としたフォルダ検索処理（ステップＳ４、図４参照）で用いられる。検索プログラム１６は、検索許可テーブル１８に設定されたコンテンツサーバ３のインデックスに対応するルートコンテナを、最初に検索対象に指定する（ステップＳ４２、図７参照）。これにより、プレイリストに対応するルートコンテナ６２４が最初に検索対象に指定されるため、プレイリストフォルダの検索速度を速くすることができる。
【００７７】
ステップＳ２５の説明に戻る。プレイリストが直前に２回連続して再生されていない場合（ステップＳ２５においてＮｏ）、履歴管理プログラム２０は、他のコンテンツが直前に２回連続して再生されたか否かを確認する（ステップＳ２８）。他のコンテンツが直前に２回連続して再生された場合（ステップＳ２８においてＹｅｓ）、履歴管理プログラム２０は、検索許可テーブル１８に設定されたコンテンツサーバ３の「フラグ」を“Ｆａｌｓｅ”に設定する（ステップＳ２９）。これにより、ＰＣ１がコンテンツサーバ３のコンテンツ種別選択画面６２を表示するときに、フォルダ検索処理（ステップＳ４）は、実行されない。この場合、コンテンツ種別選択画面６２において、ユーザが「Ｐｌａｙｌｉｓｔ（ルートコンテナ６２４）」を選択したときに、フォルダ検索処理（ステップＳ４）が実行される。
【００７８】
検索許可テーブル１８において、コンテンツサーバ３の「インデックス」が、“−１”に設定される（ステップＳ３０）。ルートコンテナ６２４のインデックスに“−１”は設定されないため、検索許可テーブル１８のインデックスは、フォルダ検索処理（ステップＳ４）の実行時に使用されない。
【００７９】
他のコンテンツが直前に２回連続して再生されていない場合（ステップＳ２９においてＮｏ）、履歴管理プログラム２０は、検索許可テーブル１８に設定されたコンテンツサーバ３のフラグを更新することなく、履歴管理処理を終了する。
【００８０】
このように、ユーザプレイリストが直前の２回に連続して再生されていた場合、コンテンツサーバ３の「フラグ」が“Ｔｒｕｅ”に設定される。しかし、フラグを“Ｔｒｕｅ”に更新する条件は、上記の条件に限定されない。たとえば、コンテンツサーバ３のプレイリストが、過去４回のうち３回以上再生されている場合、履歴管理プログラム２０は、検索許可テーブル１８のコンテンツサーバ３の「フラグ」を“Ｔｒｕｅ”に変更してもよい。すなわち、検索管理プログラム２０は、プレイリストの再生状況に応じて、検索許可テーブル１８の「フラグ」を変更すればよい。
【００８１】
コンテンツサーバ３が保持するプレイリストの再生頻度が高い場合、コンテンツ種別選択画面６２の表示前に、フォルダ検索処理（ステップＳ４）が実行される。この場合、ＰＣ１は、コンテンツ種別選択画面６２で「Ｐｌａｙｌｉｓｔ」が選択されたときに、プレイリストのタイトル一覧画面を速やかに表示することができる。一方、ユーザプレイリスト３３，３４の再生回数が少ない場合、フォルダ検索処理（ステップＳ４）は、コンテンツ種別選択画面６２で「Ｐｌａｙｌｉｓｔ」が選択されたときに実行される。この場合、ＰＣ１は、コンテンツ種別選択画面６２を速やかに表示することができる。
【００８２】
上記第１及び第２実施の形態では、ＰＣ１とコンテンツサーバ３とがＵＰｎＰを利用する例について説明した。しかし、ＰＣ１とコンテンツサーバ３とは、ＵＰｎＰ以外のプロトコル（Ｊｉｎｉ）など、家庭内ネットワークで用いられるプロトコルを利用して、通信してもよい。
【００８３】
上記第１及び第２の実施の形態では、コンテンツ再生装置の例としてＰＣ１を説明した。しかし、コンテンツ再生装置は、ＰＣ１に限定されない。たとえば、コンテンツ再生装置として、ＤＭＰとして動作可能なＡＶ（Audio and Visual）アンプまたはＡＶレシーバなどのオーディオ機器を用いてもよい。すなわち、コンテンツ再生装置は、コンテンツサーバ３〜５と通信可能であり、コンテンツサーバから取得したコンテンツを再生できる機器であればよい。
【００８４】
以上、本発明の実施の形態を説明したが、上述した実施の形態は本発明を実施するための例示に過ぎない。よって、本発明は上述した実施の形態に限定されることなく、その趣旨を逸脱しない範囲内で上述した実施の形態を適宜変形して実施することが可能である。
【符号の説明】
【００８５】
１  ＰＣ（Personal Computer）
２  ＬＡＮ（Local Area Network）
３，４，５  コンテンツサーバ
１１  ＣＰＵ（Central Processing Unit）
１２  メモリ
１３  ディスプレイ
１５  ＨＤＤ（Hard Disk Drive）
１６  検索プログラム
１８  検索許可テーブル
１９  再生履歴テーブル
２０  履歴管理プログラム
【図１】
0005338822.tif 000002
【図２】
0005338822.tif 000003
【図３】
0005338822.tif 000004
【図４】
0005338822.tif 000005
【図５】
0005338822.tif 000006
【図６】
0005338822.tif 000007
【図７】
0005338822.tif 000008
【図８】
0005338822.tif 000009
【図９】
0005338822.tif 000010
【図１０】
0005338822.tif 000011
【図１１】
0005338822.tif 000012
【図１２】
0005338822.tif 000013
【図１３】
0005338822.tif 000014