(57)【要約】【課題】ＤＬＮＡサーバの共有フォルダに保存されたコンテンツを探し出すのは難しい。【解決手段】文字フォルダ生成部２０は、階層化されたフォルダ構造の各階層において特定の文字に対応づけられた文字フォルダを生成して、各階層において生成された文字フォルダの情報を端末に提供する。フォルダＩＤ取得部２２は、各階層において選択された文字フォルダの識別情報を端末から取得する。文字列生成部２４は、各階層において選択された文字フォルダのシーケンスをもとに特定される文字列を生成する。検索部２６は、生成された文字列をキーワードとしてファイルを検索し、検索されたファイルを最後に選択された階層の文字フォルダ内に生成して端末にフォルダ情報として提供する。【選択図】図１
2010102456.tif 000002
【特許請求の範囲】
【請求項１】
階層化されたフォルダ構造の各階層において特定の文字に対応づけられた文字フォルダを生成する機能と、
各階層において生成された文字フォルダの情報を端末に提供する機能と、
各階層において選択された文字フォルダの識別情報を端末から取得する機能と、
各階層において選択された文字フォルダのシーケンスをもとに特定される文字列をキーワードとしてファイルを検索する機能と、
検索されたファイルを最後に選択された階層の文字フォルダ内に生成して端末にフォルダ情報として提供する機能とをコンピュータに実現させることを特徴とするプログラム。
【請求項２】
各階層において選択された文字フォルダのシーケンスをもとに特定される文字列を部分的に含む単語の候補を予測する機能と、
予測された単語の候補に対応づけられた候補フォルダを生成して、候補フォルダの情報を端末に提供する機能と、
端末において前記候補フォルダが選択された場合、当該候補フォルダに対応づけられた単語をキーワードとしてファイルを検索して、検索されたファイルを当該候補フォルダ内に生成して端末にフォルダ情報として提供する機能とをさらにコンピュータに実現させることを特徴とする請求項１に記載のプログラム。
【請求項３】
過去に検索のキーワードとして用いられた文字列を文字列履歴として記憶する機能と、
検索履歴フォルダ内に文字列履歴に対応づけられた候補フォルダを生成して、候補フォルダの情報を端末に提供する機能と、
端末において前記候補フォルダが選択された場合、当該候補フォルダに対応づけられた文字列履歴をキーワードとしてファイルを検索して、検索されたファイルを当該候補フォルダ内に生成して端末にフォルダ情報として提供する機能とをさらにコンピュータに実現させることを特徴とする請求項１に記載のプログラム。
【請求項４】
前記候補フォルダの情報を端末に提供する機能は、各階層において選択された文字フォルダのシーケンスをもとに特定される文字列を部分的に含む文字列履歴に対応づけられた候補フォルダを検索履歴フォルダ内に生成して、候補フォルダの情報を端末に提供することを特徴とする請求項３に記載のプログラム。
【請求項５】
階層化されたフォルダ構造の各階層において特定の文字に対応づけられた文字フォルダを提示する機能と、
フォルダの階層を辿りながら、文字フォルダを選択する操作を受け付ける機能と、
各階層において選択された文字フォルダのシーケンスをもとに特定される文字列をキーワードとして検索されたファイルを、最後に選択された階層の文字フォルダ内に表示させる機能とをコンピュータに実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項６】
階層化されたフォルダ構造の各階層において特定の文字に対応づけられた文字フォルダを生成して、各階層において生成された文字フォルダの情報を端末に提供する文字フォルダ生成部と、
各階層において選択された文字フォルダの識別情報を端末から取得するフォルダ識別情報取得部と、
各階層において選択された文字フォルダのシーケンスをもとに特定される文字列を生成する文字列生成部と、
生成された文字列をキーワードとしてファイルを検索し、検索されたファイルを最後に選択された階層の文字フォルダ内に生成して端末にフォルダ情報として提供する検索部とを含むことを特徴とするコンテンツ提供装置。
【請求項７】
互いに通信可能に接続されたコンテンツ提供装置と端末とを含むコンテンツ提供システムであって、
前記コンテンツ提供装置は、
階層化されたフォルダ構造の各階層において特定の文字に対応づけられた文字フォルダを生成して、各階層において生成された文字フォルダの情報を端末に提供する文字フォルダ生成部と、
各階層において選択された文字フォルダの識別情報を端末から取得するフォルダ識別情報取得部と、
各階層において選択された文字フォルダのシーケンスをもとに特定される文字列を生成する文字列生成部と、
生成された文字列をキーワードとしてファイルを検索し、検索されたファイルを最後に選択された階層の文字フォルダ内に生成して端末にフォルダ情報として提供する検索部とを含み、
前記端末は、ユーザの操作を受け付けるためのユーザインターフェースを備え、
前記ユーザインターフェースは、
階層化されたフォルダ構造の各階層において特定の文字に対応づけられた文字フォルダを提示する機能と、
フォルダの階層を辿りながら、文字フォルダを選択する操作を受け付ける機能と、
各階層において選択された文字フォルダのシーケンスをもとに特定される文字列をキーワードとして検索されたファイルを、最後に選択された階層の文字フォルダ内に表示させる機能とを含むことを特徴とするコンテンツ提供システム。
【請求項８】
階層化されたフォルダ構造の各階層において特定の文字に対応づけられた文字フォルダを生成して、各階層において生成された文字フォルダの情報を端末に提供するステップと、
各階層において選択された文字フォルダの識別情報を端末から取得するステップと、
各階層において選択された文字フォルダのシーケンスをもとに特定される文字列を生成するステップと、
生成された文字列をキーワードとしてファイルを検索し、検索されたファイルを最後に選択された階層の文字フォルダ内に生成して端末にフォルダ情報として提供するステップとを含むことを特徴とするコンテンツ提供方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、サーバに保存されたコンテンツを提供するためのコンテンツ提供装置、コンテンツ提供システムおよびコンテンツ提供方法、ならびにユーザインタフェース技術に関する。
【背景技術】
【０００２】
コンピュータネットワークは一般家庭にも普及しており、各部屋のコンピュータを無線ＬＡＮで互いに接続したり、プリンタを共有することが普通に行われている。また、デジタルカメラで撮影した写真やインターネットからダウンロードした映像はコンピュータに保存するだけでなく、コンピュータに保存した静止画や動画をネットワーク経由でリビングルームにあるテレビジョン（ＴＶ）システムの画面に表示させて家族で見ることもある。
【０００３】
家庭内の異なるメーカーの電子装置間をネットワーク経由で相互接続するための業界標準にＤＬＮＡ（Digital Living Network Alliance）がある。ＤＬＮＡサーバは、個人のビデオカメラやデジタルカメラ、リッピング機能をもつオーディオ再生ソフトウエアなどで取得したり、インターネット経由でダウンロードした映像、音楽、写真などの大量のコンテンツを保存する。
【０００４】
特許文献１はオーディオ・ビジュアル（ＡＶ）機能付きのゲーム機を開示する。
【特許文献１】米国特許第６５６３９９９号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ＤＬＮＡサーバに保存される大量のコンテンツを後で閲覧しやすいように管理することは難しい。特に家族でＤＬＮＡサーバを共有したり、多数のネットワーク機器がクライアントになっている場合、ＤＬＮＡサーバに保存されるコンテンツが非常に多くなるため、従来のコンピュータのオペレーティングシステムが提供するフォルダの階層構造での管理には限界がある。目的のコンテンツを見つけ出すためにどのフォルダに目的のコンテンツが保存されているかをユーザが記憶してなければ、目的のコンテンツを探し出すことは難しい。ユーザの記憶に頼っている状態では、コンテンツが増えれば増えるほどＤＬＮＡサーバが管理するデータにユーザがたどり着くことは難しくなる。
【０００６】
本発明はこうした課題に鑑みてなされたものであり、その目的は、コンテンツサーバで管理されているコンテンツを容易に検索することのできる技術を提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明のある態様のプログラムは、階層化されたフォルダ構造の各階層において特定の文字に対応づけられた文字フォルダを提示する機能と、フォルダの階層を辿りながら、文字フォルダを選択する操作を受け付ける機能と、各階層において選択された文字フォルダのシーケンスをもとに特定される文字列をキーワードとして検索されたファイルを、最後に選択された階層の文字フォルダ内に表示させる機能とをコンピュータに実現させる。
【０００８】
本発明の別の態様は、プログラムである。このプログラムは、階層化されたフォルダ構造の各階層において特定の文字に対応づけられた文字フォルダを生成する機能と、各階層において生成された文字フォルダの情報を端末に提供する機能と、各階層において選択された文字フォルダの識別情報を端末から取得する機能と、各階層において選択された文字フォルダのシーケンスをもとに特定される文字列をキーワードとしてファイルを検索する機能と、検索されたファイルを最後に選択された階層の文字フォルダ内に生成して端末にフォルダ情報として提供する機能とをコンピュータに実現させる。
【０００９】
これらのプログラムは、オペレーティングシステムに組み込まれる基本ソフトウエアもしくはライブラリの一部として提供されてもよい。このようなファームウエア、基本ソフトウエアまたはライブラリを提供するため、あるいはこれらの一部をアップデートするために、これらのプログラムを記録したコンピュータ読み取り可能な記録媒体が提供されてもよく、また、これらのプログラムが通信回線で伝送されてもよい。
【００１０】
本発明の別の態様は、コンテンツ提供装置である。この装置は、階層化されたフォルダ構造の各階層において特定の文字に対応づけられた文字フォルダを生成して、各階層において生成された文字フォルダの情報を端末に提供する文字フォルダ生成部と、各階層において選択された文字フォルダの識別情報を端末から取得するフォルダ識別情報取得部と、各階層において選択された文字フォルダのシーケンスをもとに特定される文字列を生成する文字列生成部と、生成された文字列をキーワードとしてファイルを検索し、検索されたファイルを最後に選択された階層の文字フォルダ内に生成して端末にフォルダ情報として提供する検索部とを含む。
【００１１】
本発明のさらに別の態様は、コンテンツ提供方法である。この方法は、階層化されたフォルダ構造の各階層において特定の文字に対応づけられた文字フォルダを生成して、各階層において生成された文字フォルダの情報を端末に提供するステップと、各階層において選択された文字フォルダの識別情報を端末から取得するステップと、各階層において選択された文字フォルダのシーケンスをもとに特定される文字列を生成するステップと、生成された文字列をキーワードとしてファイルを検索し、検索されたファイルを最後に選択された階層の文字フォルダ内に生成して端末にフォルダ情報として提供するステップとを含む。
【００１２】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１３】
本発明によれば、コンテンツサーバで管理されているコンテンツを容易に検索することができる。
【発明を実施するための最良の形態】
【００１４】
図１は、実施の形態に係るコンテンツ検索システムの構成図である。コンテンツサーバ３００は、ネットワークを介して接続されたクライアント１００からコンテンツの閲覧要求を受けて、コンテンツをクライアント１００に提供する。一例として、コンテンツサーバ３００は、ＤＬＮＡサーバであり、クライアント１００はＤＬＮＡプレイヤである。ＤＬＮＡ規格にしたがうクライアント１００の一例は、デジタルＴＶ、ＡＶアンプ、ゲーム機などである。
【００１５】
通常、ＤＬＮＡサーバはあらかじめユーザによって設定されているＤＬＮＡサーバ上のフォルダ、ファイルの階層構造の情報をそのままＤＬＮＡプレイヤに送る。
【００１６】
たとえば、ＤＬＮＡサーバに“Ｐｈｏｔｏ”という共有フォルダが管理されており、“Ｐｈｏｔｏ”フォルダに、次のフォルダ、ファイルが保存されているとする。
“Ｆｏｏ”（フォルダ）
Ｔｅｓｔ１．ＪＰＧ（ＪＰＥＧファイル）
Ｔｅｓｔ２．ＪＰＧ（ＪＰＥＧファイル）
【００１７】
ＤＬＮＡプレイヤがＤＬＮＡサーバの共有フォルダにアクセスしたとき、ＤＬＮＡプレイヤの表示装置には、まず“Ｐｈｏｔｏ”フォルダが表示される。ＤＬＮＡプレイヤには、階層型ディレクトリをフォルダ形式で表示してユーザの操作を支援するグラフィカルユーザインターフェースが備わっている。ユーザが表示された“Ｐｈｏｔｏ”フォルダを開くと、その中に“Ｆｏｏ”フォルダとＴｅｓｔ１．ＪＰＧ、Ｔｅｓｔ２．ＪＰＧの二つのファイルが表示される。
【００１８】
このように、ＤＬＮＡプレイヤはＤＬＮＡサーバで共有設定されたフォルダ内のフォルダやファイルに透過的にアクセスすることができる。本実施の形態では、ＤＬＮＡサーバが管理するコンテンツをＤＬＮＡプレイヤが検索する際、階層型ディレクトリをフォルダ形式で操作するインタフェースをそのまま用いる。階層構造を辿りながら、文字フォルダを次々と選択する過程で文字列が特定され、適宜、単語変換予測をすることで、最終的に目的の文字列がキーワードとして特定される。ユーザが最後に選択したフォルダを開くと、ＤＬＮＡサーバ側でキーワードにもとづいて、検索がなされ、キーワードに合致するコンテンツがフォルダ内に一覧表示される。以下、本実施の形態によるコンテンツの検索技術に係る構成を図１を参照しながら説明する。
【００１９】
クライアント１００は、ＤＬＮＡ規格にしたがって、階層型ディレクトリをフォルダ形式で表示してユーザの操作を受け付けるためのグラフィカルユーザインターフェース（ＧＵＩ）１１０と、ＧＵＩ１１０を介してユーザがフォルダ内で選択したコンテンツを再生するためのコンテンツ再生部１８とを含む。
【００２０】
ＧＵＩ１１０は、ディレクトリ生成部１０、表示部１２、フォルダ選択部１４、およびファイル選択部１６を含む。ディレクトリ生成部１０は、コンテンツサーバ３００から供給されたディレクトリ情報を受け取り、階層型ディレクトリをフォルダ形式で生成し、表示部１２に与える。表示部１２は、ディレクトリの階層と、現在閲覧中の階層のディレクトリ内に含まれるフォルダを表示する。
【００２１】
ユーザが現ディレクトリ内のいずれか一つのフォルダを選択した場合、フォルダ選択部１４は、その選択されたフォルダのＩＤをコンテンツサーバ３００のフォルダＩＤ取得部２２に送信する。ユーザがフォルダ内のファイルを選択した場合、ファイル選択部１６は、その選択されたファイルのＩＤをコンテンツサーバ３００のコンテンツ提供部２８に送信する。
【００２２】
コンテンツサーバ３００は、ＤＬＮＡ規格にしたがって、階層化されたフォルダ形式のディレクトリ情報をクライアント１００のＧＵＩ１１０に提供する。
【００２３】
文字フォルダ生成部２０は、特定の文字に対応する文字フォルダを生成する。ここでは、五十音にしたがって「あ」から「ん」までのひらがなの一文字毎に対応する文字フォルダを生成する。クライアント１００で使用される言語に応じて、ひらがなに限らず、たとえばアルファベットの一文字毎に対応する文字フォルダを生成してもよい。
【００２４】
文字フォルダ生成部２０は、生成した文字フォルダの名前とＩＤを格納したフォルダＩＤテーブルをフォルダＩＤテーブル記憶部３０に記憶する。フォルダＩＤテーブルには、生成されたフォルダの名前と、ユニークな識別番号であるＩＤと、そのフォルダが属する親フォルダのＩＤとが対応づけて格納される。
【００２５】
フォルダＩＤ取得部２２は、ユーザが選択したフォルダのＩＤをフォルダ選択部１４から受け取る。フォルダＩＤ取得部２２は、選択されたフォルダのＩＤを文字フォルダ生成部２０に通知する。
【００２６】
文字フォルダ生成部２０は、フォルダＩＤ取得部２２により通知された、ユーザが選択したフォルダ内に、さらに「あ」から「ん」までのひらがなの一文字毎に対応する文字フォルダを生成する。そして、文字フォルダ生成部２０は、生成された文字フォルダの名前と、そのフォルダのＩＤと、親フォルダのＩＤとを対応づけてフォルダＩＤテーブルに格納する。
【００２７】
文字フォルダ生成部２０は、ユーザが選択した文字フォルダのＩＤをフォルダＩＤ取得部２２から通知される度に、選択された文字フォルダの下にさらに五十音の文字フォルダを生成する。ユーザがフォルダの階層を辿っていきながら、特定の文字フォルダを次々と選択することで、選択された文字フォルダのシーケンスから文字列が特定されることになる。ユーザが最後の文字フォルダを選択した後、文字列の確定を指示するためのフォルダを最後に選択すると、フォルダＩＤ取得部２２は、選択されたフォルダのＩＤを文字列生成部２４に通知する。
【００２８】
文字列生成部２４は、これまでユーザがフォルダ階層を辿りながら選択した文字フォルダのシーケンスをもとにキーワードとなる文字列を生成し、検索部２６に与える。文字列生成部２４は、ユーザが最後に選択した文字フォルダのＩＤをもとに、その文字フォルダの親ＩＤを辿ることで、一つ上の階層の文字フォルダを特定することができる。これを繰り返すことで、ユーザが指定した文字フォルダのシーケンスを特定し、ユーザが指定した文字列を生成することができる。
【００２９】
検索部２６は、文字列生成部２４により生成された文字列をキーワードとしてフォルダＩＤ取得部２２にあるコンテンツを検索する。検索部２６は、検索されたコンテンツのファイルをクライアント１００のディレクトリ生成部１０に与える。ディレクトリ生成部１０は、ユーザが最後に選択したフォルダ内に検索部２６により提供されたコンテンツのファイルが含まれるように、ディレクトリ情報を生成する。表示部１２は、ユーザが最後に選択した文字列を確定させるためのフォルダ内に検索結果のファイルを表示する。
【００３０】
ユーザが最後のフォルダ内で検索結果のファイルのいずれかを選択すると、ファイル選択部１６は選択されたファイルのＩＤをコンテンツサーバ３００のコンテンツ提供部２８に送信する。コンテンツ提供部２８は、コンテンツ記憶部３２から当該ファイルＩＤで指定されたコンテンツのファイルを読み出し、クライアント１００のコンテンツ再生部１８に送信する。コンテンツ再生部１８は、コンテンツのファイルを再生する。
【００３１】
図２は、フォルダＩＤテーブル記憶部３０に記憶されるフォルダＩＤテーブルの例を説明する図である。フォルダＩＤテーブルは、フォルダの名前、フォルダのＩＤ、および当該フォルダが属する親フォルダのＩＤ（「親ＩＤ」という）を対応づけたものである。文字フォルダ生成部２０により生成されたフォルダには、ユニークな識別番号であるＩＤが振られる。ルートのＩＤは０である。
【００３２】
この例では、ルートの下には、ビデオ、オーディオ、イメージの３つのフォルダがあり、それぞれのＩＤは１、２、３であり、親ＩＤは、親フォルダであるルートのＩＤ、すなわち０である。ビデオフォルダの下には、検索フォルダがあり、そのＩＤは４、親ＩＤはビデオフォルダのＩＤ、すなわち１である。
【００３３】
ユーザがビデオフォルダの下にある検索フォルダを選択すると、文字フォルダ生成部２０により、検索フォルダのＩＤ（“４”）を親ＩＤとする、「あ」から「ん」までの文字フォルダが生成され、５から５０までのＩＤが振られる（符号５０）。これを文字フォルダの第１階層と呼ぶ。
【００３４】
次に、文字フォルダの第１階層において、ユーザが「な」フォルダを選択すると、「な」フォルダのＩＤ（“２５”）を親ＩＤとする、「予測変換」フォルダと、「あ」から「ん」までの文字フォルダが第１階層の「な」フォルダ内に生成され、５１から９７までのＩＤが振られる（符号５２）。これを第２階層と呼ぶ。
【００３５】
さらに、第２階層において、ユーザが「つ」フォルダを選択すると、「つ」フォルダのＩＤ（“６９”）を親ＩＤとする、「予測変換」フォルダと、「あ」から「ん」までの文字フォルダが第２階層の「つ」フォルダ内に生成され、９８から１４４までのＩＤが振られる（符号５４）。これを第３階層と呼ぶ。
【００３６】
さらに、第３階層において、ユーザが「や」フォルダを選択すると、「や」フォルダのＩＤ（“１３４”）を親ＩＤとする、「予測変換」フォルダと、「あ」から「ん」までの文字フォルダが第３階層の「や」フォルダ内に生成され、１４５から１９１までのＩＤが振られる（符号５６）。これを第４階層と呼ぶ。
【００３７】
さらに、第４階層において、ユーザが「す」フォルダを選択すると、「す」フォルダのＩＤ（“１５８”）を親ＩＤとする、「予測変換」フォルダと、「あ」から「ん」までの文字フォルダが第４階層の「す」フォルダ内に生成され、１９２から２３８までのＩＤが振られる（符号５８）。これを第５階層と呼ぶ。
【００３８】
最後に、第５階層において、ユーザが「み」フォルダを選択すると、「み」フォルダのＩＤ（”２２４”）が最終的にフォルダＩＤ取得部２２に送信される。
【００３９】
フォルダＩＤ取得部２２は、最後に選択された「み」フォルダのＩＤ（”２２４”）を文字列生成部２４に通知する。文字列生成部２４は、最後に選択された「み」フォルダのＩＤをもとに、フォルダ階層を辿りながらユーザが選択した文字フォルダのシーケンスを特定する。
【００４０】
図３は、文字列生成部２４がユーザの選択した文字フォルダのシーケンスを特定する様子を説明する図である。
【００４１】
まず、文字列生成部２４は、フォルダＩＤテーブルを参照して、最後に選択された「み」フォルダのＩＤ情報を取得する（図３（ａ））。「み」フォルダの親ＩＤは１５８である（符号６０ｂ）。文字列生成部２４は、この親ＩＤ“１５８”をＩＤとする「す」フォルダをフォルダＩＤテーブルから取得する（図３（ｂ））。次に、「す」フォルダの親ＩＤ“１３４”（符号６２ｂ）をＩＤとする「や」フォルダをフォルダＩＤテーブルから取得する（図３（ｃ））。さらに、「や」フォルダの親ＩＤ“６９”（符号６４ｂ）をＩＤとする「つ」フォルダをフォルダＩＤテーブルから取得する（図３（ｄ））。同様に、「つ」フォルダの親ＩＤ“２５”（符号６６ｂ）をＩＤとする「な」フォルダをフォルダＩＤテーブルから取得する（図３（ｅ））。
【００４２】
このように、親ＩＤにもとづいて文字フォルダを階層の下から上へ辿れば、ユーザが選択した文字フォルダのシーケンス（６０ｃ、６２ｃ、６４ｃ、６６ｃ、６８ｃ）が特定され、図３（ｆ）に示すように、文字列「なつやすみ」が生成される。
【００４３】
図４は、本実施の形態によるコンテンツの検索手順を説明するシーケンス図である。図５〜図１５までの画面例を参照しながら、フォルダ階層を辿りながら、文字フォルダを順次、選択することで、キーワードを指定し、コンテンツを検索する手順を説明する。
【００４４】
ＤＬＮＡはＵＰｎＰ  ＡＶという規格を採用して、コンテンツ情報の管理および送信を行う。ＵＰｎＰ通信では、ＨＴＴＰプロトコルが用いられ、ＸＭＬ形式のファイルをやりとりすることで行われる。
【００４５】
ＵＰｎＰ  ＡＶにはコンテンツを送信する側であるＭｅｄｉａＳｅｒｖｅｒとコンテンツを再生する側であるＭｅｄｉａＲｅｎｄｅｒｅｒが定義されている。本実施の形態のコンテンツサーバ３００がＭｅｄｉａＳｅｒｖｅｒに相当し、クライアント１００がＭｅｄｉａＲｅｎｄｅｒｅｒに相当する。本実施の形態によるコンテンツ検索技術はＭｅｄｉａＳｅｒｖｅｒであるコンテンツサーバ３００に搭載される。
【００４６】
ＭｅｄｉａＳｅｒｖｅｒはＭｅｄｉａＲｅｎｄｅｒｅｒにＣｏｎｔｅｎｔＤｉｒｅｃｔｏｒｙというサービスを提供し、ＭｅｄｉａＲｅｎｄｅｒｅｒ側がＣｏｎｔｅｎｔＤｉｒｅｃｔｏｒｙの中で定義されているＢｒｏｗｓｅアクションを呼び出すことでファイルの情報、ディレクトリの情報を取得する。ここではＢｒｏｗｓｅアクションの中でも代表的なBrowseDirectChildrenというコマンドを用いて実際の処理の流れを説明する。
【００４７】
クライアント１００はコマンド「BrowseDirectChildren 0」をコンテンツサーバ３００に発行する（ステップ４００）。BrowseDirectChildrenは指定したＩＤ以下にあるファイル、ディレクトリの情報を全て取得するアクションである。ルートのＩＤは０であるから、クライアント１００は「BrowseDirectChildren 0」の発行により、コンテンツサーバ３００のルートの情報を取得することができる。
【００４８】
コンテンツサーバ３００はルートのディレクトリ情報をクライアント１００に返す（ステップ４０２）。ここでは以下のようなルートにあるフォルダの情報がクライアント１００に提供される。
【００４９】
タイプ    名前        ＩＤ  親ＩＤ
−−−−−−−−−−−−−−−−−−−
コンテナ  ビデオ          １      ０
コンテナ  オーディオ      ２      ０
コンテナ  イメージ        ３      ０
【００５０】
各フォルダは、タイプ、名前、ＩＤ、および親ＩＤの情報をもつ。ＩＤはフォルダにユニークにつけられる識別番号であり、親ＩＤは当該フォルダが含まれる親フォルダのＩＤである。ビデオ、オーディオ、イメージのＩＤはそれぞれ１、２、３であり、親ＩＤは、親フォルダであるルートのＩＤ“０”である。
【００５１】
このとき、クライアント１００の表示装置には、図５のように、ビデオ、オーディオ、イメージのフォルダアイコン（符号２０２、２０４、２０６）がそれぞれ表示される。ユーザは、ＧＵＩ１１０を介して横方向２００に画面をスクロールしながら、いずれかのフォルダアイコンを選択して開くことができる。ここでユーザがビデオのフォルダアイコンを選択して開いたとする。
【００５２】
ユーザがビデオのフォルダアイコンを選択した場合、クライアント１００は、ビデオフォルダのＩＤ“１”を指定したコマンド「BrowseDirectChildren 1」をコンテンツサーバ３００に発行する。
【００５３】
コンテンツサーバ３００は、ビデオフォルダ内にあるフォルダの情報をクライアント１００に返す。ここでは以下のようなフォルダ情報が返される。
タイプ    名前        ＩＤ  親ＩＤ
−−−−−−−−−−−−−−−−−−−−
コンテナ  検索            ４      １
【００５４】
クライアント１００の画面には、図６のように“検索”フォルダが表示される。ユーザは縦方向２１０に画面をスクロールしながらフォルダを選択することができる。（ここでは、ビデオフォルダ内には一つしかフォルダがないが、一般には複数のフォルダが縦方向２１０に表示される。）
【００５５】
ユーザが“検索”フォルダを選択する（ステップ４０４）と、クライアント１００は、検索フォルダのＩＤ“４”を指定したコマンド「BrowseDirectChildren 4」をコンテンツサーバ３００に発行する（ステップ４０６）。
【００５６】
コンテンツサーバ３００は、クライアント１００から検索フォルダの選択を受けると、検索フォルダ内に「あ」から「ん」までの文字フォルダを生成する（ステップ４０８）。
【００５７】
コンテンツサーバ３００は、検索フォルダ内にある文字フォルダの情報（下記）をクライアント１００に返す（ステップ４１０）。
タイプ    名前        ＩＤ  親ＩＤ
−−−−−−−−−−−−−−−−−−−−
コンテナ      あ          ５      ４
．．．
コンテナ      ん        ５０      ４
【００５８】
このとき、クライアント１００の画面には、図７に示すように、「あ」〜「ん」の文字フォルダの内、画面の縦方向２１０に収まる範囲の文字フォルダが表示される（符号２１４ａ〜２１４ｆ）。ユーザは画面を縦方向２１０にスクロールして所望の文字フォルダを表示して選択する（ステップ４１２）。ユーザが図８に示すように「な」フォルダ（符号２１６）を選択して開いたとする。
【００５９】
クライアント１００は、選択された「な」フォルダのＩＤ“２５”を指定したコマンド「BrowseDirectChildren 25」をコンテンツサーバ３００に発行する（ステップ４１４）。
【００６０】
コンテンツサーバ３００は、文字フォルダの第１階層の「な」フォルダ内に、さらに「あ」から「ん」までの文字フォルダを生成する（ステップ４０８）。第２階層には、「あ」から「ん」までの文字フォルダ以外に、「予測変換」フォルダ、「確定」フォルダ、濁点、半濁点のフォルダも合わせて生成される。ただし、「な」には濁点も半濁点も付かないため、「な」フォルダの下には濁点、半濁点のフォルダは生成されない。ここでは説明の便宜のため、「あ」から「ん」までの文字フォルダ以外には「予測変換」フォルダだけが生成されたとして説明する。
【００６１】
コンテンツサーバ３００は、第１階層の「な」フォルダ内にある文字フォルダの情報（下記）をディレクトリ生成部１０に返す（ステップ４１０）。
タイプ    名前        ＩＤ  親ＩＤ
−−−−−−−−−−−−−−−−−−−−
コンテナ  予測変換      ５１    ２５
コンテナ      あ        ５２    ２５
．．．
コンテナ      ん        ９７    ２５
【００６２】
このとき、クライアント１００の画面には、図９に示すように、文字フォルダの第２階層として「予測変換」フォルダと「あ」〜「ん」の文字フォルダの内、画面に収まる範囲が縦方向２１０にスクロール可能に表示される（符号２１８ａ〜２１８ｆ）。ユーザは、図１０に示すように第２階層において「つ」フォルダ（符号２２０）を選択して開く（ステップ４１２）。
【００６３】
クライアント１００は、選択された第２階層の「つ」フォルダのＩＤ“６９”を指定したコマンド「BrowseDirectChildren 69」をコンテンツサーバ３００に発行する（ステップ４１４）。
【００６４】
以降、コンテンツサーバ３００による文字フォルダ生成（ステップ４０８）と文字フォルダ情報の送信（ステップ４１０）、クライアント１００による文字フォルダ選択（符号４１２）と選択された文字フォルダのＩＤ指定（ステップ４１４）の一連の手順（符号４２０で示す点線で囲まれた処理）が繰り返され、フォルダ階層を下に辿りながら、文字フォルダが次々に選択される。
【００６５】
ここでは、図１１に示すように、第２階層で選択された「つ」フォルダの下に、第３階層の「予測変換」フォルダと「あ」〜「ん」の文字フォルダの一部が表示され（符号２２２ａ〜２２２ｆ）、図１２に示すように、第３階層で「や」フォルダを選択したとする。その結果、図１３に示すように、第３階層で選択された「や」フォルダの下に、第４階層の「予測変換」フォルダと「あ」〜「ん」の文字フォルダの一部が表示される（符号２２６ａ〜２２６ｆ）。
【００６６】
ユーザは、これ以降、第４階層で「す」フォルダ、第５階層で「み」フォルダを選択し、最後に「確定」フォルダを選択することで、最終的に文字列「なつやすみ」を指定することができるが、ここでは、「な」「つ」「や」まで文字フォルダを指定した後、図１３に示すように、第４階層で「予測変換」フォルダ（符号２２６ａ）を選択したとする（ステップ４３２）。
【００６７】
クライアント１００は、「予測変換」フォルダのＩＤ“１４５”を指定したコマンド「BrowseDirectChildren 145」をコンテンツサーバ３００に発行する（ステップ４３４）。コンテンツサーバ３００は、辞書データベースを利用して「なつや」から単語を予測する（ステップ４３６）。ここでは、「夏休み」、「夏やせ」、「夏山」の３つの単語がキーワードとして予測されたとする。
【００６８】
コンテンツサーバ３００は、「予測変換」フォルダ内に「夏休み」、「夏やせ」、「夏山」の３つの候補フォルダを生成して、その候補フォルダの情報（下記）をクライアント１００に返す（ステップ４３８）。
タイプ    名前        ＩＤ  親ＩＤ
−−−−−−−−−−−−−−−−−−−−
コンテナ  夏休み      ３０１  １４５
コンテナ  夏やせ      ３０２  １４５
コンテナ  夏山        ３０３  １４５
【００６９】
このとき、クライアント１００の画面には、図１４に示すように、「夏休み」、「夏やせ」、「夏山」の３つの候補フォルダが表示される（符号２２８ａ、２２８ｂ、２２８ｃ）。
【００７０】
ここでユーザが「夏休み」フォルダをターゲットフォルダとして選択すると、クライアント１００は、「夏休み」フォルダのＩＤ“３０１”を指定したコマンド「BrowseDirectChildren 301」をコンテンツサーバ３００に発行する（ステップ４４０）。
【００７１】
符号４３０の点線で示した、予測変換フォルダ選択（ステップ４３２）、予測変換フォルダのＩＤ指定（ステップ４３４）、キーワード予測（ステップ４３６）、候補フォルダ情報の送信（ステップ４３８）、ターゲットフォルダのＩＤ指定（ステップ４４０）の一連の手順は、ユーザが単語の予測変換を要求しない場合は、スキップされる。
【００７２】
コンテンツサーバ３００は、ユーザが選択した文字フォルダのシーケンスにもとづいて文字列を生成する（ステップ４４２）。コンテンツサーバ３００は、選択された文字フォルダのシーケンスから生成された文字列「なつやすみ」、もしくは予測変換フォルダの名前「夏休み」を用いて、コンテンツを検索する（ステップ４４４）。コンテンツサーバ３００は、ファイル名またはファイルのメタデータに「夏休み」というキーワードが含まれるファイルを検索する。たとえば、写真ファイルならば、撮影者、撮影時間、撮影場所などのＥｘｉｆ（Exchangeable Image File Format）情報も検索対象となる。
【００７３】
検索の結果、「夏休みの思い出．ｍｐ４」、「夏休みの自由研究．ａｖｉ」の２つのファイルがヒットしたとする。その場合、コンテンツサーバ３００は、検索されたファイルの情報（下記）をクライアント１００に返す（ステップ４４６）。
タイプ    ＭｉｍｅＴｙｐｅ    名前                        ＩＤ  親ＩＤ
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
ファイル  ｖｉｄｅｏ／ｍｐ４  夏休みの思い出．ｍｐ４      ３０４  ３０１
ファイル  ｖｉｄｅｏ／ａｖｉ  夏休みの自由研究．ａｖｉ    ３０５  ３０１
【００７４】
このとき、クライアント１００の画面には、図１５に示すように、「夏休み」フォルダの下に、「夏休みの思い出．ｍｐ４」と「夏休みの自由研究．ａｖｉ」が表示される（符号２３０ａ、２３０ｂ）。クライアント１００側では「夏休み」フォルダの中にこれらのファイルが保存されていたかのように見える、実際はコンテンツサーバ３００自分が管理するコンテンツの中からキーワード検索を行い、ヒットしたファイルを「夏休み」フォルダ内にあるものとしてクライアント１００にファイル情報を転送しているだけである。
【００７５】
オプションであるが、「夏休み」フォルダの中に「＆」フォルダ（符号２３０ｃ）が表示されてもよい。「＆」フォルダは、検索結果のファイルが多数あり、検索対象をさらに絞り込むために、文字列の条件を追加したい場合に用いられる。「＆」フォルダを選択すると、「あ」〜「ん」の文字フォルダが表示され、同様に、フォルダ階層において文字フォルダを次々に選択して、第２の文字列をキーワードとして指定することができる。
【００７６】
ユーザがたとえば「夏休みの思い出．ｍｐ４」を選択する（ステップ４４８）と、選択されたファイルのＩＤがコンテンツサーバ３００に送信される（ステップ４５０）。コンテンツサーバ３００は選択されたファイルをクライアント１００に送信する（ステップ４５２）。ファイルにはSourceURI属性が宣言されているため、クライアント１００は、そのSourceURIからファイルをＨＴＴＰで取得することで、コンテンツを再生することができる（ステップ４５４）。
【００７７】
上記の説明では、ユーザが文字列を確定させるためのフォルダを最後に選択した後、コンテンツサーバ３００において最終的な文字列がキーワードとして生成され、検索が行われた。別の方法として、ユーザが文字列を確定させる前の途中段階において、コンテンツサーバ３００がユーザの選択した文字フォルダのシーケンスにもとづいて部分的な文字列を生成し、部分的な文字列をキーワードして検索を行ってもよい。たとえば、ユーザが「な」、「つ」、「や」まで文字フォルダを選択したとき、コンテンツサーバ３００は、途中までのユーザの文字フォルダの選択シーケンスにもとづいて部分文字列「なつや」を生成し、「なつや」をキーワードとしてコンテンツを検索する。コンテンツサーバ３００は、検索結果のファイルをクライアント１００に返し、クライアント１００の画面には、第３階層の「や」フォルダの下に、「あ」〜「ん」の文字フォルダの後、検索結果のファイルが表示される。このように、クライアント１００における文字フォルダの選択と、コンテンツサーバ３００における文字列生成およびコンテンツ検索とを並列に実行させることで、ユーザが文字フォルダを選択する度に、これまでに選択した文字フォルダのシーケンスにもとづいた文字列をキーワードとして検索されたコンテンツが現在選択した文字フォルダ内に表示されるようになる。
【００７８】
以上述べたように、本実施の形態によれば、ＤＬＮＡプレイヤであるクライアント１００から見た場合、フォルダ階層をたどりながら、文字フォルダを選択するだけの操作であるから、従来のＤＬＮＡプレイヤの仕様に全く変更を加えることなく、ＤＬＮＡサーバ内のコンテンツの検索を行うことが可能になる。したがって、ＤＬＮＡプレイヤに文字列を入力するための仮想キーボードなどのインタフェースを新たに実装する必要はない。クライアント１００は、ＤＬＮＡ規格にしたがったフォルダ操作のインタフェースが実装されているだけで足りる。
【００７９】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００８０】
コンテンツサーバ３００は、ユーザがキーワードとして選択した文字列を文字列履歴として記憶しておき、検索履歴フォルダ内に文字列履歴をフォルダ名とする候補フォルダを生成して、候補フォルダの情報をクライアント１００に提供してもよい。検索履歴フォルダ内には、ユーザが過去に指定した文字列履歴のフォルダが格納されており、その文字列履歴のフォルダを選択すると、コンテンツサーバ３００で検索が開始され、クライアント１００は検索結果を取得することができる。検索履歴フォルダは、文字フォルダの各階層で表示され、現在の階層までに特定された文字列を部分的に含む文字列履歴をフォルダ名とする候補フォルダを検索履歴フォルダ内に表示させてもよい。たとえば、「な」「つ」「や」まで文字フォルダを指定したとき、検索履歴フォルダ内に、過去の検索履歴をもとに「夏やせ」や「夏山」をフォルダ名とする候補フォルダが表示される。
【００８１】
本実施の形態のコンテンツ検索機能を用いることで、ＤＬＮＡプレイヤからＷｅｂコンテンツを検索する機能を提供することができる。映像や音楽などのコンテンツを提供するＷｅｂサービスは、コンテンツ検索のためのＡＰＩを提供している。本実施の形態のようにＤＬＮＡプレイヤがフォルダ階層を辿りながら、文字フォルダを指定していくことで検索のキーワードが決定した時点で、ＤＬＮＡサーバが、決定されたキーワードをコンテンツ検索ＡＰＩを介してＷｅｂサーバに与える。ＤＬＮＡサーバは、Ｗｅｂサーバから検索結果のファイル名のリストを取得し、そのファイルの情報をＤＬＮＡプレイヤに送信する。これにより、あたかも当該ＷｅｂサーバのコンテンツをＤＬＮＡサーバが保存しているコンテンツのようにＤＬＮＡプレイヤからアクセスすることができる。
【００８２】
ＤＬＮＡサーバに保存されたコンテンツに対して、メタデータを自動的に追加してもよい。たとえば、写真に写っている人物、風景、色などを自動判別しあらかじめファイルのメタデータとしてＤＬＮＡサーバが登録しておけば、それらのメタデータをキーワードとして検索の幅を広げることができる。
【図面の簡単な説明】
【００８３】
【図１】実施の形態に係るコンテンツ検索システムの構成図である。
【図２】図１のフォルダＩＤテーブル記憶部に記憶されるフォルダＩＤテーブルの例を説明する図である。
【図３】図１の文字列生成部がユーザの選択した文字フォルダのシーケンスを特定する様子を説明する図である。
【図４】本実施の形態によるコンテンツの検索手順を説明するシーケンス図である。
【図５】図１のクライアントの表示装置の画面例を示す図である。
【図６】図１のクライアントの表示装置の画面例を示す図である。
【図７】図１のクライアントの表示装置の画面例を示す図である。
【図８】図１のクライアントの表示装置の画面例を示す図である。
【図９】図１のクライアントの表示装置の画面例を示す図である。
【図１０】図１のクライアントの表示装置の画面例を示す図である。
【図１１】図１のクライアントの表示装置の画面例を示す図である。
【図１２】図１のクライアントの表示装置の画面例を示す図である。
【図１３】図１のクライアントの表示装置の画面例を示す図である。
【図１４】図１のクライアントの表示装置の画面例を示す図である。
【図１５】図１のクライアントの表示装置の画面例を示す図である。
【符号の説明】
【００８４】
１０  ディレクトリ生成部、  １２  表示部、  １４  フォルダ選択部、  １６  ファイル選択部、  １８  コンテンツ再生部、  ２０  文字フォルダ生成部、  ２２  フォルダＩＤ取得部、  ２４  文字列生成部、  ２６  検索部、  ２８  コンテンツ提供部、  ３０  フォルダＩＤテーブル記憶部、  ３２  コンテンツ記憶部、  １００  クライアント、  １１０  ＧＵＩ、  ３００  コンテンツサーバ。  
【図１】
2010102456.tif 000003
【図２】
2010102456.tif 000004
【図３】
2010102456.tif 000005
【図４】
2010102456.tif 000006
【図５】
2010102456.tif 000007
【図６】
2010102456.tif 000008
【図７】
2010102456.tif 000009
【図８】
2010102456.tif 000010
【図９】
2010102456.tif 000011
【図１０】
2010102456.tif 000012
【図１１】
2010102456.tif 000013
【図１２】
2010102456.tif 000014
【図１３】
2010102456.tif 000015
【図１４】
2010102456.tif 000016
【図１５】
2010102456.tif 000017