説明

コンテンツ提供装置、コンテンツ提供システム、コンテンツ提供方法およびユーザインタフェースプログラム

【課題】DLNAサーバの共有フォルダに保存されたコンテンツを探し出すのは難しい。
【解決手段】文字フォルダ生成部20は、階層化されたフォルダ構造の各階層において特定の文字に対応づけられた文字フォルダを生成して、各階層において生成された文字フォルダの情報を端末に提供する。フォルダID取得部22は、各階層において選択された文字フォルダの識別情報を端末から取得する。文字列生成部24は、各階層において選択された文字フォルダのシーケンスをもとに特定される文字列を生成する。検索部26は、生成された文字列をキーワードとしてファイルを検索し、検索されたファイルを最後に選択された階層の文字フォルダ内に生成して端末にフォルダ情報として提供する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、サーバに保存されたコンテンツを提供するためのコンテンツ提供装置、コンテンツ提供システムおよびコンテンツ提供方法、ならびにユーザインタフェース技術に関する。
【背景技術】
【0002】
コンピュータネットワークは一般家庭にも普及しており、各部屋のコンピュータを無線LANで互いに接続したり、プリンタを共有することが普通に行われている。また、デジタルカメラで撮影した写真やインターネットからダウンロードした映像はコンピュータに保存するだけでなく、コンピュータに保存した静止画や動画をネットワーク経由でリビングルームにあるテレビジョン(TV)システムの画面に表示させて家族で見ることもある。
【0003】
家庭内の異なるメーカーの電子装置間をネットワーク経由で相互接続するための業界標準にDLNA(Digital Living Network Alliance)がある。DLNAサーバは、個人のビデオカメラやデジタルカメラ、リッピング機能をもつオーディオ再生ソフトウエアなどで取得したり、インターネット経由でダウンロードした映像、音楽、写真などの大量のコンテンツを保存する。
【0004】
特許文献1はオーディオ・ビジュアル(AV)機能付きのゲーム機を開示する。
【特許文献1】米国特許第6563999号明細書
【発明の開示】
【発明が解決しようとする課題】
【0005】
DLNAサーバに保存される大量のコンテンツを後で閲覧しやすいように管理することは難しい。特に家族でDLNAサーバを共有したり、多数のネットワーク機器がクライアントになっている場合、DLNAサーバに保存されるコンテンツが非常に多くなるため、従来のコンピュータのオペレーティングシステムが提供するフォルダの階層構造での管理には限界がある。目的のコンテンツを見つけ出すためにどのフォルダに目的のコンテンツが保存されているかをユーザが記憶してなければ、目的のコンテンツを探し出すことは難しい。ユーザの記憶に頼っている状態では、コンテンツが増えれば増えるほどDLNAサーバが管理するデータにユーザがたどり着くことは難しくなる。
【0006】
本発明はこうした課題に鑑みてなされたものであり、その目的は、コンテンツサーバで管理されているコンテンツを容易に検索することのできる技術を提供することにある。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明のある態様のプログラムは、階層化されたフォルダ構造の各階層において特定の文字に対応づけられた文字フォルダを提示する機能と、フォルダの階層を辿りながら、文字フォルダを選択する操作を受け付ける機能と、各階層において選択された文字フォルダのシーケンスをもとに特定される文字列をキーワードとして検索されたファイルを、最後に選択された階層の文字フォルダ内に表示させる機能とをコンピュータに実現させる。
【0008】
本発明の別の態様は、プログラムである。このプログラムは、階層化されたフォルダ構造の各階層において特定の文字に対応づけられた文字フォルダを生成する機能と、各階層において生成された文字フォルダの情報を端末に提供する機能と、各階層において選択された文字フォルダの識別情報を端末から取得する機能と、各階層において選択された文字フォルダのシーケンスをもとに特定される文字列をキーワードとしてファイルを検索する機能と、検索されたファイルを最後に選択された階層の文字フォルダ内に生成して端末にフォルダ情報として提供する機能とをコンピュータに実現させる。
【0009】
これらのプログラムは、オペレーティングシステムに組み込まれる基本ソフトウエアもしくはライブラリの一部として提供されてもよい。このようなファームウエア、基本ソフトウエアまたはライブラリを提供するため、あるいはこれらの一部をアップデートするために、これらのプログラムを記録したコンピュータ読み取り可能な記録媒体が提供されてもよく、また、これらのプログラムが通信回線で伝送されてもよい。
【0010】
本発明の別の態様は、コンテンツ提供装置である。この装置は、階層化されたフォルダ構造の各階層において特定の文字に対応づけられた文字フォルダを生成して、各階層において生成された文字フォルダの情報を端末に提供する文字フォルダ生成部と、各階層において選択された文字フォルダの識別情報を端末から取得するフォルダ識別情報取得部と、各階層において選択された文字フォルダのシーケンスをもとに特定される文字列を生成する文字列生成部と、生成された文字列をキーワードとしてファイルを検索し、検索されたファイルを最後に選択された階層の文字フォルダ内に生成して端末にフォルダ情報として提供する検索部とを含む。
【0011】
本発明のさらに別の態様は、コンテンツ提供方法である。この方法は、階層化されたフォルダ構造の各階層において特定の文字に対応づけられた文字フォルダを生成して、各階層において生成された文字フォルダの情報を端末に提供するステップと、各階層において選択された文字フォルダの識別情報を端末から取得するステップと、各階層において選択された文字フォルダのシーケンスをもとに特定される文字列を生成するステップと、生成された文字列をキーワードとしてファイルを検索し、検索されたファイルを最後に選択された階層の文字フォルダ内に生成して端末にフォルダ情報として提供するステップとを含む。
【0012】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0013】
本発明によれば、コンテンツサーバで管理されているコンテンツを容易に検索することができる。
【発明を実施するための最良の形態】
【0014】
図1は、実施の形態に係るコンテンツ検索システムの構成図である。コンテンツサーバ300は、ネットワークを介して接続されたクライアント100からコンテンツの閲覧要求を受けて、コンテンツをクライアント100に提供する。一例として、コンテンツサーバ300は、DLNAサーバであり、クライアント100はDLNAプレイヤである。DLNA規格にしたがうクライアント100の一例は、デジタルTV、AVアンプ、ゲーム機などである。
【0015】
通常、DLNAサーバはあらかじめユーザによって設定されているDLNAサーバ上のフォルダ、ファイルの階層構造の情報をそのままDLNAプレイヤに送る。
【0016】
たとえば、DLNAサーバに“Photo”という共有フォルダが管理されており、“Photo”フォルダに、次のフォルダ、ファイルが保存されているとする。
“Foo”(フォルダ)
Test1.JPG(JPEGファイル)
Test2.JPG(JPEGファイル)
【0017】
DLNAプレイヤがDLNAサーバの共有フォルダにアクセスしたとき、DLNAプレイヤの表示装置には、まず“Photo”フォルダが表示される。DLNAプレイヤには、階層型ディレクトリをフォルダ形式で表示してユーザの操作を支援するグラフィカルユーザインターフェースが備わっている。ユーザが表示された“Photo”フォルダを開くと、その中に“Foo”フォルダとTest1.JPG、Test2.JPGの二つのファイルが表示される。
【0018】
このように、DLNAプレイヤはDLNAサーバで共有設定されたフォルダ内のフォルダやファイルに透過的にアクセスすることができる。本実施の形態では、DLNAサーバが管理するコンテンツをDLNAプレイヤが検索する際、階層型ディレクトリをフォルダ形式で操作するインタフェースをそのまま用いる。階層構造を辿りながら、文字フォルダを次々と選択する過程で文字列が特定され、適宜、単語変換予測をすることで、最終的に目的の文字列がキーワードとして特定される。ユーザが最後に選択したフォルダを開くと、DLNAサーバ側でキーワードにもとづいて、検索がなされ、キーワードに合致するコンテンツがフォルダ内に一覧表示される。以下、本実施の形態によるコンテンツの検索技術に係る構成を図1を参照しながら説明する。
【0019】
クライアント100は、DLNA規格にしたがって、階層型ディレクトリをフォルダ形式で表示してユーザの操作を受け付けるためのグラフィカルユーザインターフェース(GUI)110と、GUI110を介してユーザがフォルダ内で選択したコンテンツを再生するためのコンテンツ再生部18とを含む。
【0020】
GUI110は、ディレクトリ生成部10、表示部12、フォルダ選択部14、およびファイル選択部16を含む。ディレクトリ生成部10は、コンテンツサーバ300から供給されたディレクトリ情報を受け取り、階層型ディレクトリをフォルダ形式で生成し、表示部12に与える。表示部12は、ディレクトリの階層と、現在閲覧中の階層のディレクトリ内に含まれるフォルダを表示する。
【0021】
ユーザが現ディレクトリ内のいずれか一つのフォルダを選択した場合、フォルダ選択部14は、その選択されたフォルダのIDをコンテンツサーバ300のフォルダID取得部22に送信する。ユーザがフォルダ内のファイルを選択した場合、ファイル選択部16は、その選択されたファイルのIDをコンテンツサーバ300のコンテンツ提供部28に送信する。
【0022】
コンテンツサーバ300は、DLNA規格にしたがって、階層化されたフォルダ形式のディレクトリ情報をクライアント100のGUI110に提供する。
【0023】
文字フォルダ生成部20は、特定の文字に対応する文字フォルダを生成する。ここでは、五十音にしたがって「あ」から「ん」までのひらがなの一文字毎に対応する文字フォルダを生成する。クライアント100で使用される言語に応じて、ひらがなに限らず、たとえばアルファベットの一文字毎に対応する文字フォルダを生成してもよい。
【0024】
文字フォルダ生成部20は、生成した文字フォルダの名前とIDを格納したフォルダIDテーブルをフォルダIDテーブル記憶部30に記憶する。フォルダIDテーブルには、生成されたフォルダの名前と、ユニークな識別番号であるIDと、そのフォルダが属する親フォルダのIDとが対応づけて格納される。
【0025】
フォルダID取得部22は、ユーザが選択したフォルダのIDをフォルダ選択部14から受け取る。フォルダID取得部22は、選択されたフォルダのIDを文字フォルダ生成部20に通知する。
【0026】
文字フォルダ生成部20は、フォルダID取得部22により通知された、ユーザが選択したフォルダ内に、さらに「あ」から「ん」までのひらがなの一文字毎に対応する文字フォルダを生成する。そして、文字フォルダ生成部20は、生成された文字フォルダの名前と、そのフォルダのIDと、親フォルダのIDとを対応づけてフォルダIDテーブルに格納する。
【0027】
文字フォルダ生成部20は、ユーザが選択した文字フォルダのIDをフォルダID取得部22から通知される度に、選択された文字フォルダの下にさらに五十音の文字フォルダを生成する。ユーザがフォルダの階層を辿っていきながら、特定の文字フォルダを次々と選択することで、選択された文字フォルダのシーケンスから文字列が特定されることになる。ユーザが最後の文字フォルダを選択した後、文字列の確定を指示するためのフォルダを最後に選択すると、フォルダID取得部22は、選択されたフォルダのIDを文字列生成部24に通知する。
【0028】
文字列生成部24は、これまでユーザがフォルダ階層を辿りながら選択した文字フォルダのシーケンスをもとにキーワードとなる文字列を生成し、検索部26に与える。文字列生成部24は、ユーザが最後に選択した文字フォルダのIDをもとに、その文字フォルダの親IDを辿ることで、一つ上の階層の文字フォルダを特定することができる。これを繰り返すことで、ユーザが指定した文字フォルダのシーケンスを特定し、ユーザが指定した文字列を生成することができる。
【0029】
検索部26は、文字列生成部24により生成された文字列をキーワードとしてフォルダID取得部22にあるコンテンツを検索する。検索部26は、検索されたコンテンツのファイルをクライアント100のディレクトリ生成部10に与える。ディレクトリ生成部10は、ユーザが最後に選択したフォルダ内に検索部26により提供されたコンテンツのファイルが含まれるように、ディレクトリ情報を生成する。表示部12は、ユーザが最後に選択した文字列を確定させるためのフォルダ内に検索結果のファイルを表示する。
【0030】
ユーザが最後のフォルダ内で検索結果のファイルのいずれかを選択すると、ファイル選択部16は選択されたファイルのIDをコンテンツサーバ300のコンテンツ提供部28に送信する。コンテンツ提供部28は、コンテンツ記憶部32から当該ファイルIDで指定されたコンテンツのファイルを読み出し、クライアント100のコンテンツ再生部18に送信する。コンテンツ再生部18は、コンテンツのファイルを再生する。
【0031】
図2は、フォルダIDテーブル記憶部30に記憶されるフォルダIDテーブルの例を説明する図である。フォルダIDテーブルは、フォルダの名前、フォルダのID、および当該フォルダが属する親フォルダのID(「親ID」という)を対応づけたものである。文字フォルダ生成部20により生成されたフォルダには、ユニークな識別番号であるIDが振られる。ルートのIDは0である。
【0032】
この例では、ルートの下には、ビデオ、オーディオ、イメージの3つのフォルダがあり、それぞれのIDは1、2、3であり、親IDは、親フォルダであるルートのID、すなわち0である。ビデオフォルダの下には、検索フォルダがあり、そのIDは4、親IDはビデオフォルダのID、すなわち1である。
【0033】
ユーザがビデオフォルダの下にある検索フォルダを選択すると、文字フォルダ生成部20により、検索フォルダのID(“4”)を親IDとする、「あ」から「ん」までの文字フォルダが生成され、5から50までのIDが振られる(符号50)。これを文字フォルダの第1階層と呼ぶ。
【0034】
次に、文字フォルダの第1階層において、ユーザが「な」フォルダを選択すると、「な」フォルダのID(“25”)を親IDとする、「予測変換」フォルダと、「あ」から「ん」までの文字フォルダが第1階層の「な」フォルダ内に生成され、51から97までのIDが振られる(符号52)。これを第2階層と呼ぶ。
【0035】
さらに、第2階層において、ユーザが「つ」フォルダを選択すると、「つ」フォルダのID(“69”)を親IDとする、「予測変換」フォルダと、「あ」から「ん」までの文字フォルダが第2階層の「つ」フォルダ内に生成され、98から144までのIDが振られる(符号54)。これを第3階層と呼ぶ。
【0036】
さらに、第3階層において、ユーザが「や」フォルダを選択すると、「や」フォルダのID(“134”)を親IDとする、「予測変換」フォルダと、「あ」から「ん」までの文字フォルダが第3階層の「や」フォルダ内に生成され、145から191までのIDが振られる(符号56)。これを第4階層と呼ぶ。
【0037】
さらに、第4階層において、ユーザが「す」フォルダを選択すると、「す」フォルダのID(“158”)を親IDとする、「予測変換」フォルダと、「あ」から「ん」までの文字フォルダが第4階層の「す」フォルダ内に生成され、192から238までのIDが振られる(符号58)。これを第5階層と呼ぶ。
【0038】
最後に、第5階層において、ユーザが「み」フォルダを選択すると、「み」フォルダのID(”224”)が最終的にフォルダID取得部22に送信される。
【0039】
フォルダID取得部22は、最後に選択された「み」フォルダのID(”224”)を文字列生成部24に通知する。文字列生成部24は、最後に選択された「み」フォルダのIDをもとに、フォルダ階層を辿りながらユーザが選択した文字フォルダのシーケンスを特定する。
【0040】
図3は、文字列生成部24がユーザの選択した文字フォルダのシーケンスを特定する様子を説明する図である。
【0041】
まず、文字列生成部24は、フォルダIDテーブルを参照して、最後に選択された「み」フォルダのID情報を取得する(図3(a))。「み」フォルダの親IDは158である(符号60b)。文字列生成部24は、この親ID“158”をIDとする「す」フォルダをフォルダIDテーブルから取得する(図3(b))。次に、「す」フォルダの親ID“134”(符号62b)をIDとする「や」フォルダをフォルダIDテーブルから取得する(図3(c))。さらに、「や」フォルダの親ID“69”(符号64b)をIDとする「つ」フォルダをフォルダIDテーブルから取得する(図3(d))。同様に、「つ」フォルダの親ID“25”(符号66b)をIDとする「な」フォルダをフォルダIDテーブルから取得する(図3(e))。
【0042】
このように、親IDにもとづいて文字フォルダを階層の下から上へ辿れば、ユーザが選択した文字フォルダのシーケンス(60c、62c、64c、66c、68c)が特定され、図3(f)に示すように、文字列「なつやすみ」が生成される。
【0043】
図4は、本実施の形態によるコンテンツの検索手順を説明するシーケンス図である。図5〜図15までの画面例を参照しながら、フォルダ階層を辿りながら、文字フォルダを順次、選択することで、キーワードを指定し、コンテンツを検索する手順を説明する。
【0044】
DLNAはUPnP AVという規格を採用して、コンテンツ情報の管理および送信を行う。UPnP通信では、HTTPプロトコルが用いられ、XML形式のファイルをやりとりすることで行われる。
【0045】
UPnP AVにはコンテンツを送信する側であるMediaServerとコンテンツを再生する側であるMediaRendererが定義されている。本実施の形態のコンテンツサーバ300がMediaServerに相当し、クライアント100がMediaRendererに相当する。本実施の形態によるコンテンツ検索技術はMediaServerであるコンテンツサーバ300に搭載される。
【0046】
MediaServerはMediaRendererにContentDirectoryというサービスを提供し、MediaRenderer側がContentDirectoryの中で定義されているBrowseアクションを呼び出すことでファイルの情報、ディレクトリの情報を取得する。ここではBrowseアクションの中でも代表的なBrowseDirectChildrenというコマンドを用いて実際の処理の流れを説明する。
【0047】
クライアント100はコマンド「BrowseDirectChildren 0」をコンテンツサーバ300に発行する(ステップ400)。BrowseDirectChildrenは指定したID以下にあるファイル、ディレクトリの情報を全て取得するアクションである。ルートのIDは0であるから、クライアント100は「BrowseDirectChildren 0」の発行により、コンテンツサーバ300のルートの情報を取得することができる。
【0048】
コンテンツサーバ300はルートのディレクトリ情報をクライアント100に返す(ステップ402)。ここでは以下のようなルートにあるフォルダの情報がクライアント100に提供される。
【0049】
タイプ 名前 ID 親ID
−−−−−−−−−−−−−−−−−−−
コンテナ ビデオ 1 0
コンテナ オーディオ 2 0
コンテナ イメージ 3 0
【0050】
各フォルダは、タイプ、名前、ID、および親IDの情報をもつ。IDはフォルダにユニークにつけられる識別番号であり、親IDは当該フォルダが含まれる親フォルダのIDである。ビデオ、オーディオ、イメージのIDはそれぞれ1、2、3であり、親IDは、親フォルダであるルートのID“0”である。
【0051】
このとき、クライアント100の表示装置には、図5のように、ビデオ、オーディオ、イメージのフォルダアイコン(符号202、204、206)がそれぞれ表示される。ユーザは、GUI110を介して横方向200に画面をスクロールしながら、いずれかのフォルダアイコンを選択して開くことができる。ここでユーザがビデオのフォルダアイコンを選択して開いたとする。
【0052】
ユーザがビデオのフォルダアイコンを選択した場合、クライアント100は、ビデオフォルダのID“1”を指定したコマンド「BrowseDirectChildren 1」をコンテンツサーバ300に発行する。
【0053】
コンテンツサーバ300は、ビデオフォルダ内にあるフォルダの情報をクライアント100に返す。ここでは以下のようなフォルダ情報が返される。
タイプ 名前 ID 親ID
−−−−−−−−−−−−−−−−−−−−
コンテナ 検索 4 1
【0054】
クライアント100の画面には、図6のように“検索”フォルダが表示される。ユーザは縦方向210に画面をスクロールしながらフォルダを選択することができる。(ここでは、ビデオフォルダ内には一つしかフォルダがないが、一般には複数のフォルダが縦方向210に表示される。)
【0055】
ユーザが“検索”フォルダを選択する(ステップ404)と、クライアント100は、検索フォルダのID“4”を指定したコマンド「BrowseDirectChildren 4」をコンテンツサーバ300に発行する(ステップ406)。
【0056】
コンテンツサーバ300は、クライアント100から検索フォルダの選択を受けると、検索フォルダ内に「あ」から「ん」までの文字フォルダを生成する(ステップ408)。
【0057】
コンテンツサーバ300は、検索フォルダ内にある文字フォルダの情報(下記)をクライアント100に返す(ステップ410)。
タイプ 名前 ID 親ID
−−−−−−−−−−−−−−−−−−−−
コンテナ あ 5 4
...
コンテナ ん 50 4
【0058】
このとき、クライアント100の画面には、図7に示すように、「あ」〜「ん」の文字フォルダの内、画面の縦方向210に収まる範囲の文字フォルダが表示される(符号214a〜214f)。ユーザは画面を縦方向210にスクロールして所望の文字フォルダを表示して選択する(ステップ412)。ユーザが図8に示すように「な」フォルダ(符号216)を選択して開いたとする。
【0059】
クライアント100は、選択された「な」フォルダのID“25”を指定したコマンド「BrowseDirectChildren 25」をコンテンツサーバ300に発行する(ステップ414)。
【0060】
コンテンツサーバ300は、文字フォルダの第1階層の「な」フォルダ内に、さらに「あ」から「ん」までの文字フォルダを生成する(ステップ408)。第2階層には、「あ」から「ん」までの文字フォルダ以外に、「予測変換」フォルダ、「確定」フォルダ、濁点、半濁点のフォルダも合わせて生成される。ただし、「な」には濁点も半濁点も付かないため、「な」フォルダの下には濁点、半濁点のフォルダは生成されない。ここでは説明の便宜のため、「あ」から「ん」までの文字フォルダ以外には「予測変換」フォルダだけが生成されたとして説明する。
【0061】
コンテンツサーバ300は、第1階層の「な」フォルダ内にある文字フォルダの情報(下記)をディレクトリ生成部10に返す(ステップ410)。
タイプ 名前 ID 親ID
−−−−−−−−−−−−−−−−−−−−
コンテナ 予測変換 51 25
コンテナ あ 52 25
...
コンテナ ん 97 25
【0062】
このとき、クライアント100の画面には、図9に示すように、文字フォルダの第2階層として「予測変換」フォルダと「あ」〜「ん」の文字フォルダの内、画面に収まる範囲が縦方向210にスクロール可能に表示される(符号218a〜218f)。ユーザは、図10に示すように第2階層において「つ」フォルダ(符号220)を選択して開く(ステップ412)。
【0063】
クライアント100は、選択された第2階層の「つ」フォルダのID“69”を指定したコマンド「BrowseDirectChildren 69」をコンテンツサーバ300に発行する(ステップ414)。
【0064】
以降、コンテンツサーバ300による文字フォルダ生成(ステップ408)と文字フォルダ情報の送信(ステップ410)、クライアント100による文字フォルダ選択(符号412)と選択された文字フォルダのID指定(ステップ414)の一連の手順(符号420で示す点線で囲まれた処理)が繰り返され、フォルダ階層を下に辿りながら、文字フォルダが次々に選択される。
【0065】
ここでは、図11に示すように、第2階層で選択された「つ」フォルダの下に、第3階層の「予測変換」フォルダと「あ」〜「ん」の文字フォルダの一部が表示され(符号222a〜222f)、図12に示すように、第3階層で「や」フォルダを選択したとする。その結果、図13に示すように、第3階層で選択された「や」フォルダの下に、第4階層の「予測変換」フォルダと「あ」〜「ん」の文字フォルダの一部が表示される(符号226a〜226f)。
【0066】
ユーザは、これ以降、第4階層で「す」フォルダ、第5階層で「み」フォルダを選択し、最後に「確定」フォルダを選択することで、最終的に文字列「なつやすみ」を指定することができるが、ここでは、「な」「つ」「や」まで文字フォルダを指定した後、図13に示すように、第4階層で「予測変換」フォルダ(符号226a)を選択したとする(ステップ432)。
【0067】
クライアント100は、「予測変換」フォルダのID“145”を指定したコマンド「BrowseDirectChildren 145」をコンテンツサーバ300に発行する(ステップ434)。コンテンツサーバ300は、辞書データベースを利用して「なつや」から単語を予測する(ステップ436)。ここでは、「夏休み」、「夏やせ」、「夏山」の3つの単語がキーワードとして予測されたとする。
【0068】
コンテンツサーバ300は、「予測変換」フォルダ内に「夏休み」、「夏やせ」、「夏山」の3つの候補フォルダを生成して、その候補フォルダの情報(下記)をクライアント100に返す(ステップ438)。
タイプ 名前 ID 親ID
−−−−−−−−−−−−−−−−−−−−
コンテナ 夏休み 301 145
コンテナ 夏やせ 302 145
コンテナ 夏山 303 145
【0069】
このとき、クライアント100の画面には、図14に示すように、「夏休み」、「夏やせ」、「夏山」の3つの候補フォルダが表示される(符号228a、228b、228c)。
【0070】
ここでユーザが「夏休み」フォルダをターゲットフォルダとして選択すると、クライアント100は、「夏休み」フォルダのID“301”を指定したコマンド「BrowseDirectChildren 301」をコンテンツサーバ300に発行する(ステップ440)。
【0071】
符号430の点線で示した、予測変換フォルダ選択(ステップ432)、予測変換フォルダのID指定(ステップ434)、キーワード予測(ステップ436)、候補フォルダ情報の送信(ステップ438)、ターゲットフォルダのID指定(ステップ440)の一連の手順は、ユーザが単語の予測変換を要求しない場合は、スキップされる。
【0072】
コンテンツサーバ300は、ユーザが選択した文字フォルダのシーケンスにもとづいて文字列を生成する(ステップ442)。コンテンツサーバ300は、選択された文字フォルダのシーケンスから生成された文字列「なつやすみ」、もしくは予測変換フォルダの名前「夏休み」を用いて、コンテンツを検索する(ステップ444)。コンテンツサーバ300は、ファイル名またはファイルのメタデータに「夏休み」というキーワードが含まれるファイルを検索する。たとえば、写真ファイルならば、撮影者、撮影時間、撮影場所などのExif(Exchangeable Image File Format)情報も検索対象となる。
【0073】
検索の結果、「夏休みの思い出.mp4」、「夏休みの自由研究.avi」の2つのファイルがヒットしたとする。その場合、コンテンツサーバ300は、検索されたファイルの情報(下記)をクライアント100に返す(ステップ446)。
タイプ MimeType 名前 ID 親ID
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
ファイル video/mp4 夏休みの思い出.mp4 304 301
ファイル video/avi 夏休みの自由研究.avi 305 301
【0074】
このとき、クライアント100の画面には、図15に示すように、「夏休み」フォルダの下に、「夏休みの思い出.mp4」と「夏休みの自由研究.avi」が表示される(符号230a、230b)。クライアント100側では「夏休み」フォルダの中にこれらのファイルが保存されていたかのように見える、実際はコンテンツサーバ300自分が管理するコンテンツの中からキーワード検索を行い、ヒットしたファイルを「夏休み」フォルダ内にあるものとしてクライアント100にファイル情報を転送しているだけである。
【0075】
オプションであるが、「夏休み」フォルダの中に「&」フォルダ(符号230c)が表示されてもよい。「&」フォルダは、検索結果のファイルが多数あり、検索対象をさらに絞り込むために、文字列の条件を追加したい場合に用いられる。「&」フォルダを選択すると、「あ」〜「ん」の文字フォルダが表示され、同様に、フォルダ階層において文字フォルダを次々に選択して、第2の文字列をキーワードとして指定することができる。
【0076】
ユーザがたとえば「夏休みの思い出.mp4」を選択する(ステップ448)と、選択されたファイルのIDがコンテンツサーバ300に送信される(ステップ450)。コンテンツサーバ300は選択されたファイルをクライアント100に送信する(ステップ452)。ファイルにはSourceURI属性が宣言されているため、クライアント100は、そのSourceURIからファイルをHTTPで取得することで、コンテンツを再生することができる(ステップ454)。
【0077】
上記の説明では、ユーザが文字列を確定させるためのフォルダを最後に選択した後、コンテンツサーバ300において最終的な文字列がキーワードとして生成され、検索が行われた。別の方法として、ユーザが文字列を確定させる前の途中段階において、コンテンツサーバ300がユーザの選択した文字フォルダのシーケンスにもとづいて部分的な文字列を生成し、部分的な文字列をキーワードして検索を行ってもよい。たとえば、ユーザが「な」、「つ」、「や」まで文字フォルダを選択したとき、コンテンツサーバ300は、途中までのユーザの文字フォルダの選択シーケンスにもとづいて部分文字列「なつや」を生成し、「なつや」をキーワードとしてコンテンツを検索する。コンテンツサーバ300は、検索結果のファイルをクライアント100に返し、クライアント100の画面には、第3階層の「や」フォルダの下に、「あ」〜「ん」の文字フォルダの後、検索結果のファイルが表示される。このように、クライアント100における文字フォルダの選択と、コンテンツサーバ300における文字列生成およびコンテンツ検索とを並列に実行させることで、ユーザが文字フォルダを選択する度に、これまでに選択した文字フォルダのシーケンスにもとづいた文字列をキーワードとして検索されたコンテンツが現在選択した文字フォルダ内に表示されるようになる。
【0078】
以上述べたように、本実施の形態によれば、DLNAプレイヤであるクライアント100から見た場合、フォルダ階層をたどりながら、文字フォルダを選択するだけの操作であるから、従来のDLNAプレイヤの仕様に全く変更を加えることなく、DLNAサーバ内のコンテンツの検索を行うことが可能になる。したがって、DLNAプレイヤに文字列を入力するための仮想キーボードなどのインタフェースを新たに実装する必要はない。クライアント100は、DLNA規格にしたがったフォルダ操作のインタフェースが実装されているだけで足りる。
【0079】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0080】
コンテンツサーバ300は、ユーザがキーワードとして選択した文字列を文字列履歴として記憶しておき、検索履歴フォルダ内に文字列履歴をフォルダ名とする候補フォルダを生成して、候補フォルダの情報をクライアント100に提供してもよい。検索履歴フォルダ内には、ユーザが過去に指定した文字列履歴のフォルダが格納されており、その文字列履歴のフォルダを選択すると、コンテンツサーバ300で検索が開始され、クライアント100は検索結果を取得することができる。検索履歴フォルダは、文字フォルダの各階層で表示され、現在の階層までに特定された文字列を部分的に含む文字列履歴をフォルダ名とする候補フォルダを検索履歴フォルダ内に表示させてもよい。たとえば、「な」「つ」「や」まで文字フォルダを指定したとき、検索履歴フォルダ内に、過去の検索履歴をもとに「夏やせ」や「夏山」をフォルダ名とする候補フォルダが表示される。
【0081】
本実施の形態のコンテンツ検索機能を用いることで、DLNAプレイヤからWebコンテンツを検索する機能を提供することができる。映像や音楽などのコンテンツを提供するWebサービスは、コンテンツ検索のためのAPIを提供している。本実施の形態のようにDLNAプレイヤがフォルダ階層を辿りながら、文字フォルダを指定していくことで検索のキーワードが決定した時点で、DLNAサーバが、決定されたキーワードをコンテンツ検索APIを介してWebサーバに与える。DLNAサーバは、Webサーバから検索結果のファイル名のリストを取得し、そのファイルの情報をDLNAプレイヤに送信する。これにより、あたかも当該WebサーバのコンテンツをDLNAサーバが保存しているコンテンツのようにDLNAプレイヤからアクセスすることができる。
【0082】
DLNAサーバに保存されたコンテンツに対して、メタデータを自動的に追加してもよい。たとえば、写真に写っている人物、風景、色などを自動判別しあらかじめファイルのメタデータとしてDLNAサーバが登録しておけば、それらのメタデータをキーワードとして検索の幅を広げることができる。
【図面の簡単な説明】
【0083】
【図1】実施の形態に係るコンテンツ検索システムの構成図である。
【図2】図1のフォルダIDテーブル記憶部に記憶されるフォルダIDテーブルの例を説明する図である。
【図3】図1の文字列生成部がユーザの選択した文字フォルダのシーケンスを特定する様子を説明する図である。
【図4】本実施の形態によるコンテンツの検索手順を説明するシーケンス図である。
【図5】図1のクライアントの表示装置の画面例を示す図である。
【図6】図1のクライアントの表示装置の画面例を示す図である。
【図7】図1のクライアントの表示装置の画面例を示す図である。
【図8】図1のクライアントの表示装置の画面例を示す図である。
【図9】図1のクライアントの表示装置の画面例を示す図である。
【図10】図1のクライアントの表示装置の画面例を示す図である。
【図11】図1のクライアントの表示装置の画面例を示す図である。
【図12】図1のクライアントの表示装置の画面例を示す図である。
【図13】図1のクライアントの表示装置の画面例を示す図である。
【図14】図1のクライアントの表示装置の画面例を示す図である。
【図15】図1のクライアントの表示装置の画面例を示す図である。
【符号の説明】
【0084】
10 ディレクトリ生成部、 12 表示部、 14 フォルダ選択部、 16 ファイル選択部、 18 コンテンツ再生部、 20 文字フォルダ生成部、 22 フォルダID取得部、 24 文字列生成部、 26 検索部、 28 コンテンツ提供部、 30 フォルダIDテーブル記憶部、 32 コンテンツ記憶部、 100 クライアント、 110 GUI、 300 コンテンツサーバ。

【特許請求の範囲】
【請求項1】
階層化されたフォルダ構造の各階層において特定の文字に対応づけられた文字フォルダを生成する機能と、
各階層において生成された文字フォルダの情報を端末に提供する機能と、
各階層において選択された文字フォルダの識別情報を端末から取得する機能と、
各階層において選択された文字フォルダのシーケンスをもとに特定される文字列をキーワードとしてファイルを検索する機能と、
検索されたファイルを最後に選択された階層の文字フォルダ内に生成して端末にフォルダ情報として提供する機能とをコンピュータに実現させることを特徴とするプログラム。
【請求項2】
各階層において選択された文字フォルダのシーケンスをもとに特定される文字列を部分的に含む単語の候補を予測する機能と、
予測された単語の候補に対応づけられた候補フォルダを生成して、候補フォルダの情報を端末に提供する機能と、
端末において前記候補フォルダが選択された場合、当該候補フォルダに対応づけられた単語をキーワードとしてファイルを検索して、検索されたファイルを当該候補フォルダ内に生成して端末にフォルダ情報として提供する機能とをさらにコンピュータに実現させることを特徴とする請求項1に記載のプログラム。
【請求項3】
過去に検索のキーワードとして用いられた文字列を文字列履歴として記憶する機能と、
検索履歴フォルダ内に文字列履歴に対応づけられた候補フォルダを生成して、候補フォルダの情報を端末に提供する機能と、
端末において前記候補フォルダが選択された場合、当該候補フォルダに対応づけられた文字列履歴をキーワードとしてファイルを検索して、検索されたファイルを当該候補フォルダ内に生成して端末にフォルダ情報として提供する機能とをさらにコンピュータに実現させることを特徴とする請求項1に記載のプログラム。
【請求項4】
前記候補フォルダの情報を端末に提供する機能は、各階層において選択された文字フォルダのシーケンスをもとに特定される文字列を部分的に含む文字列履歴に対応づけられた候補フォルダを検索履歴フォルダ内に生成して、候補フォルダの情報を端末に提供することを特徴とする請求項3に記載のプログラム。
【請求項5】
階層化されたフォルダ構造の各階層において特定の文字に対応づけられた文字フォルダを提示する機能と、
フォルダの階層を辿りながら、文字フォルダを選択する操作を受け付ける機能と、
各階層において選択された文字フォルダのシーケンスをもとに特定される文字列をキーワードとして検索されたファイルを、最後に選択された階層の文字フォルダ内に表示させる機能とをコンピュータに実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項6】
階層化されたフォルダ構造の各階層において特定の文字に対応づけられた文字フォルダを生成して、各階層において生成された文字フォルダの情報を端末に提供する文字フォルダ生成部と、
各階層において選択された文字フォルダの識別情報を端末から取得するフォルダ識別情報取得部と、
各階層において選択された文字フォルダのシーケンスをもとに特定される文字列を生成する文字列生成部と、
生成された文字列をキーワードとしてファイルを検索し、検索されたファイルを最後に選択された階層の文字フォルダ内に生成して端末にフォルダ情報として提供する検索部とを含むことを特徴とするコンテンツ提供装置。
【請求項7】
互いに通信可能に接続されたコンテンツ提供装置と端末とを含むコンテンツ提供システムであって、
前記コンテンツ提供装置は、
階層化されたフォルダ構造の各階層において特定の文字に対応づけられた文字フォルダを生成して、各階層において生成された文字フォルダの情報を端末に提供する文字フォルダ生成部と、
各階層において選択された文字フォルダの識別情報を端末から取得するフォルダ識別情報取得部と、
各階層において選択された文字フォルダのシーケンスをもとに特定される文字列を生成する文字列生成部と、
生成された文字列をキーワードとしてファイルを検索し、検索されたファイルを最後に選択された階層の文字フォルダ内に生成して端末にフォルダ情報として提供する検索部とを含み、
前記端末は、ユーザの操作を受け付けるためのユーザインターフェースを備え、
前記ユーザインターフェースは、
階層化されたフォルダ構造の各階層において特定の文字に対応づけられた文字フォルダを提示する機能と、
フォルダの階層を辿りながら、文字フォルダを選択する操作を受け付ける機能と、
各階層において選択された文字フォルダのシーケンスをもとに特定される文字列をキーワードとして検索されたファイルを、最後に選択された階層の文字フォルダ内に表示させる機能とを含むことを特徴とするコンテンツ提供システム。
【請求項8】
階層化されたフォルダ構造の各階層において特定の文字に対応づけられた文字フォルダを生成して、各階層において生成された文字フォルダの情報を端末に提供するステップと、
各階層において選択された文字フォルダの識別情報を端末から取得するステップと、
各階層において選択された文字フォルダのシーケンスをもとに特定される文字列を生成するステップと、
生成された文字列をキーワードとしてファイルを検索し、検索されたファイルを最後に選択された階層の文字フォルダ内に生成して端末にフォルダ情報として提供するステップとを含むことを特徴とするコンテンツ提供方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2010−102456(P2010−102456A)
【公開日】平成22年5月6日(2010.5.6)
【国際特許分類】
【出願番号】特願2008−272433(P2008−272433)
【出願日】平成20年10月22日(2008.10.22)
【出願人】(395015319)株式会社ソニー・コンピュータエンタテインメント (871)
【Fターム(参考)】