情報処理装置、情報処理方法、プログラム
【課題】コンテンツを管理する情報処理装置にコンテンツ間の関係を示す情報を生成させる。また、コンテンツを管理する情報処理装置にコンテンツ間の関係を管理させる。
【解決手段】管理されているファイル群のうち互いに関連するファイルとして設定されているファイル間で共通する第1の文字列と、互いに関連するファイルとして設定されているファイル間で相違する第2の文字列と、を含むファイル名をファイルに対応付けることにより、ファイルをメモリ内で管理する。クライアント装置から、メモリ内で管理されているファイルを特定する情報を受け付ける。情報で特定されるファイルに対応づけられたファイル名と共通する第1の文字列を含むファイル名が対応づけられたファイルを、メモリ内のファイル群から検索する。検索手段が検索したファイルを特定する情報を作成し、作成した情報をクライアント装置に対して送信する。
【解決手段】管理されているファイル群のうち互いに関連するファイルとして設定されているファイル間で共通する第1の文字列と、互いに関連するファイルとして設定されているファイル間で相違する第2の文字列と、を含むファイル名をファイルに対応付けることにより、ファイルをメモリ内で管理する。クライアント装置から、メモリ内で管理されているファイルを特定する情報を受け付ける。情報で特定されるファイルに対応づけられたファイル名と共通する第1の文字列を含むファイル名が対応づけられたファイルを、メモリ内のファイル群から検索する。検索手段が検索したファイルを特定する情報を作成し、作成した情報をクライアント装置に対して送信する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置が有するコンテンツに関する情報を、外部の装置に提供する技術に関する。
【背景技術】
【0002】
近年、例えば家庭内ネットワークにおいて機器を相互接続することにより、機器間で画像、動画、音声などのコンテンツを共有することが注目されている。コンテンツの共有のために、UPnP(Universal Plug And Play)や、UPnPをベースとしたDLNA(Digital Living Network Alliance)などの標準的な通信規格が用いられている。これらの規格においては、コンテンツを有する装置(提供装置)が、他の装置(取得装置)に対して、コンテンツを送信する方式が定められている。また、提供装置が有するコンテンツに関する情報(コンテンツ情報)を、取得装置に対して送信する方式も定められている。
【0003】
特許文献1には、実行可能なサービスを示す情報をクライアントへと送信できるサーバが開示されている。特許文献1に係るサーバが送信する情報には、それぞれの実行可能なサービスについて、起動するためのURLを示す情報が含まれている。このように特許文献1に記載のサーバは、サービスに関する情報を提供することができる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第4241680号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ネットワーク上のコンテンツは、相互に関連していることがある。例えば、画像データと音声データとが同時に取得されることがあり、これらは相互に関連しているものといえる。このような場合、あるコンテンツを取得した取得装置は、そのコンテンツに関連する他のコンテンツをも取得することを必要とするかもしれない。したがって提供装置は、コンテンツを提供するとき、又はコンテンツ情報を提供するときに、関連する他のコンテンツを特定する情報を送信することが有利である。
【0006】
しかしながら特許文献1の方法では、実行可能なサービス情報にそのサービスの起動URLを含ませ、これを送信することはできるものの、複数のサービス間の関連を示す情報を提供することはできなかった。さらに従来の方法では、提供装置が有するコンテンツに関連する他のコンテンツを、取得装置が提供装置に送信して格納させる場合に、提供装置が2つのコンテンツを関連づけて格納することはできなかった。
【0007】
本発明は、コンテンツを管理する情報処理装置において、コンテンツ間の関係を示す情報を生成する技術を提供する。また、この目的を達成するために、コンテンツを管理する情報処理装置が、コンテンツ間の関係を管理する技術を提供する。
【課題を解決するための手段】
【0008】
本発明の目的を達成するために、例えば、本発明の情報処理装置は以下の構成を備える。すなわち、
ファイル群をメモリ内で管理する情報処理装置であって、
管理されているファイル群のうち互いに関連するファイルとして設定されているファイル間で共通する第1の文字列と、前記互いに関連するファイルとして設定されているファイル間で相違する第2の文字列と、を含むファイル名をファイルに対応付けることにより、該ファイルを前記メモリ内で管理する管理手段と、
クライアント装置から、前記メモリ内で管理されているファイルを特定する情報を受け付ける受付手段と、
前記クライアント装置からの前記情報を検知した場合、前記情報で特定されるファイルに対応づけられたファイル名と共通する前記第1の文字列を含むファイル名が対応づけられたファイルを、前記メモリ内のファイル群から検索する検索手段と、
前記検索手段が検索したファイルを特定する情報を作成し、該作成した情報を前記クライアント装置に対して送信する送信手段と
を備えることを特徴とする。
【発明の効果】
【0009】
コンテンツを管理する情報処理装置において、コンテンツ間の関係を示す情報を生成することを可能とする。また、コンテンツを管理する情報処理装置が、コンテンツ間の関係を管理することを可能とする。
【図面の簡単な説明】
【0010】
【図1】実施例1に係るコンテンツ提供装置20を含むシステムの構成例の図。
【図2】実施例1に係るコンテンツ提供装置20のハードウェア構成例の図。
【図3】実施例1に係るコンテンツ提供装置20の一例としての機能ブロック図。
【図4】実施例1に係るファイル管理システムの一例を示す図。
【図5】実施例1に係るコンテンツ情報の一例を示す図。
【図6】実施例1に係る処理の一例を示すフローチャート。
【図7】実施例2に係るコンテンツ提供装置20が交換するメッセージを示す図。
【図8】実施例2に係るコンテンツ提供装置20の一例としての機能ブロック図。
【図9】コンテンツ追加準備要求に含まれるコンテンツ情報の一例を示す図。
【図10】実施例2に係る、コンテンツ追加後のコンテンツ情報の一例を示す図。
【図11】実施例2に係るコンテンツ追加準備処理の一例を示すフローチャート。
【図12】実施例2に係るコンテンツ追加処理の一例を示すフローチャート。
【発明を実施するための形態】
【0011】
以下、本発明の実施例を図面に基づいて説明する。ただし、本発明の範囲は以下の実施例に限定されるものではない。
【実施例1】
【0012】
本実施例に係る情報処理装置(コンテンツ提供装置)は、ファイル群(コンテンツ群)をメモリ内で管理している。本実施例に係るコンテンツ提供装置は、コンテンツを他の装置に提供できる装置であれば何でもよい。例えば本実施例に係るコンテンツ提供装置はサーバでありうる。特に本実施例に係るコンテンツ提供装置は、デジタルメディアサーバ(DMS:Digital Media Server)でありうる。
【0013】
本実施例に係るコンテンツ提供装置は、コンテンツを蓄積することができる。また、本実施例に係るコンテンツ提供装置は、ネットワークを介して、クライアント装置(コンテンツ取得装置)にコンテンツを提供することができる。さらに、本実施例に係るコンテンツ提供装置は、ネットワークを介して、クライアント装置(コンテンツ取得装置)にコンテンツに関するコンテンツ情報を提供することもできる。
【0014】
本実施例においてコンテンツとは、任意のデータを指すことができ、例えば画像、音声、動画、文書などを含む。また本実施例においてコンテンツ情報とは、コンテンツに関する任意の情報を指す。コンテンツ情報には、コンテンツのファイル名、コンテンツの作成日、コンテンツの更新日、コンテンツの作成者、コンテンツの種類、などを含むことができる。またコンテンツ情報は、コンテンツ提供装置内のコンテンツを特定する情報、例えばコンテンツのIDを含むこともできる。
【0015】
上述のDLNAにおいては、DMSがコンテンツ及びコンテンツ情報を提供する仕組みが規定されている。DMSの一例としてカメラ装置がある。カメラ装置は、例えばコンピュータ、テレビなどの他の装置に、カメラ装置が有するコンテンツを提供することができる。一般的にカメラ装置は、撮影した画像や録音した音声を、カメラファイルシステム(デザイン・ルール・フォー・カメラ・ファイル・システム、DCF:Design rule for Camera File System)に従って保存し、管理する。
【0016】
本実施例に係るコンテンツ提供装置は、DCFに従ってコンテンツを保存及び管理することができる。コンテンツは、ファイルとして保存及び管理される。図4を用いて、DCFについて詳細に説明する。DCFに従うファイル管理システムには、システム全体のルートディレクトリ401が存在する。ルートディレクトリ401には、DCFイメージルートディレクトリ402が含まれる。DCFイメージルートディレクトリ402は、画像ファイルが格納されるディレクトリについてのルートディレクトリである。
【0017】
DCFイメージルートディレクトリ402には、画像ファイルを格納するディレクトリ403が含まれる。図4にはディレクトリ403が1つだけ示されているが、DCFイメージルートディレクトリ402は複数のディレクトリ403を含んでいてもよい。ディレクトリ403には、ファイル404〜406が含まれている。
【0018】
ファイル404〜406のそれぞれにはファイル名が対応づけられている。このファイル名は、名称(第1の文字列)と、拡張子(第2の文字列)とを含む。例えばファイル404には、ファイル名(IMG_0001.JPG)が対応づけられている。DCFファイルシステムにおいては、ファイル名には4桁の数字が含まれる。この数字は、DCFファイル番号と呼ばれる。本実施例においては、DCFファイル番号を「名称」と考える。したがって、DCFファイル番号が一致する場合に、名称が一致するものと考える。しかしながら、ファイル名のうちピリオドより前の文字列、例えばファイル404については「IMG_0001」を名称と考えてもよい。
【0019】
また、ファイル名のうちピリオドより後ろの文字列、例えばファイル404については「JPG」、を「拡張子」と呼ぶ。拡張子は、ファイル名が対応づけられているファイルの種類を示す。例えば「JPG」はJPEG形式の画像ファイルを指しうる。また、「WAV」はWAVE形式の音声ファイルを指しうる。拡張子とファイルの種類との対応付けは、周知の規則に従ってもよい。また、拡張子とファイルの種類とを対応付ける情報を、例えばコンテンツ提供装置が有していてもよい。この対応付け情報は、コンテンツ提供装置が公開することもできる。
【0020】
本実施例においては、互いに関連するファイルとして設定されているファイルのそれぞれには、ファイル間で共通の名称を含むファイル名が対応付けられている。たとえばファイル404のファイル名と、ファイル405のファイル名とは、共通の名称「0001」を含んでいる。このように、ファイル名に基づいて、ファイルが互いに関連するか否かを判断することができる。また、互いに関連するファイルとして設定されているファイルのそれぞれには、ファイル間で互いに相違する拡張子が対応付けられている。名称と拡張子との組み合わせによって、それぞれのファイルを識別することができる。
【0021】
DCFファイルシステムにおいては、同一のディレクトリ内において、同じDCFファイル番号を持つDCFファイル群は、1つのDCFオブジェクトを構成する。1つのDCFオブジェクトには、お互いに関連する画像ファイルや音声ファイル等が含まれる。DCFオブジェクトは、DCF基本ファイルと、DCF拡張画像ファイルと、DCFサムネイルファイルと、から構成される。
【0022】
DCF基本ファイルは、通常は画像ファイルである。特にDCF基本ファイルは、通常はJPEG形式の画像ファイルである。また、DCF拡張画像ファイルは、DCF基本ファイルに関連付けられたファイルである。DCF拡張画像ファイルには、例えば音声ファイルが含まれる。DCFサムネイルファイルは、DCF基本ファイル及びDCF拡張画像ファイルのサムネイル画像を含む。
【0023】
撮像装置によって撮像された画像ファイルがDCF基本ファイルである場合、撮像と同時に録音された音声ファイルをDCF拡張画像ファイルとすることができる。DCF基本ファイルとDCF拡張画像ファイルとを1つのDCFオブジェクトとして管理することにより、DCF拡張画像ファイルをDCF基本ファイルに関連付けることができる。
【0024】
例えば、ファイル404とファイル405とは、同じDCFファイル番号を持つ。したがって、ファイル404とファイル405とは、1つのDCFオブジェクトを構成する。このうち、ファイル名に拡張子「JPG」が含まれるファイル404を、DCF基本ファイルとすることができる。また、ファイル名に拡張子「JPG」を含まないファイル405を、DCF拡張ファイルとすることができる。また、ファイル406も単独で1つのDCFオブジェクトを構成する。ファイル406はファイル404と同様に、DCF基本ファイルである。
【0025】
DMS機能を有するコンテンツ提供装置は、コンテンツ取得装置からのコンテンツ取得要求を検知した場合に、要求されたコンテンツを送信することができる。また、DMS機能を有するコンテンツ提供装置は、コンテンツ取得装置からのコンテンツ情報取得要求を検知した場合には、要求されたコンテンツ情報を送信することができる。DCFに従うコンテンツ提供装置は、複数のディレクトリを有することができる。そしてDCFに従うコンテンツ提供装置は、コンテンツを何れかのディレクトリ内で管理することができる。
【0026】
コンテンツ情報取得要求は、コンテンツ提供装置内の何れかのコンテンツについてのコンテンツ情報を要求するものでありうる。また、コンテンツ情報取得要求は、コンテンツ提供装置内の何れかのディレクトリ内で管理されているコンテンツのそれぞれについて、コンテンツ情報を要求するものであってもよい。
【0027】
本実施例に係るコンテンツ提供装置は、上述DLNA規格に従って動作しうる。DLNA規格に従うコンテンツ提供装置は、コンテンツ情報を、DIDL−Lite(Digital Item Description Language-Lite)形式で提供することができる。DIDL−Lite形式は、DLNA/UPnPで規定されている。
【0028】
本実施例に係る情報処理装置がコンテンツを管理するために用いるメモリは、情報処理装置が有するメモリでありうる。このメモリは、例えばRAM、ハードディスク、メモリカード、フラッシュメモリなどでありうる。また、メモリは情報処理装置とは物理的に離れた場所に設置されていてもよく、この場合情報処理装置は通信回線を通してメモリにアクセスしうる。
【0029】
図5は、本実施例に係る、DIDL−Lite形式のコンテンツ情報の一例を示す。具体的には、図4のディレクトリ403に含まれるファイル404〜406のそれぞれについてのコンテンツ情報が示される。図5に示されるコンテンツ情報501には、item要素502と、item要素503と、item要素504とが含まれる。item要素502はファイル404に、item要素503はファイル405に、item要素504はファイル406に、それぞれ対応する。上述のように、ファイル404のみについてのコンテンツ情報が生成されてもよい。この場合コンテンツ情報501には、item要素502のみが含まれるだろう。
【0030】
item要素502は、id属性と、parent属性と、relationID属性とを含む。id属性は、このitem要素を示す一意な識別子である。例えば、id属性を用いて、図4のDCFファイルシステム内の1つのファイル404を特定することができる。id属性は、例えばファイルのパス名でありうる。例えば図4のファイル404についてのid属性の値は、「Root/DCIM/100ABCD/IMG_0001.JPG」でありうる。また、図4のDCFファイルシステムが、id属性の値と、id属性の値によって特定されるファイルとを対応付けるテーブルを有していてもよい。
【0031】
parentID属性は、item要素が示すコンテンツが含まれる親ディレクトリを示すための、一意な識別子である。具体的には、item要素502に含まれるparentID属性は、DCFディレクトリ403を示す。relationID属性は、item要素が示すコンテンツに関連する関連コンテンツを示すための、一意な識別子である。
【0032】
例えば、item要素502に対応するファイル404と、item要素503に対応するファイル405とは、同一のDCFオブジェクトに含まれる。したがって、ファイル404として管理されているコンテンツと、ファイル405として管理されているコンテンツとは、互いに関連付けられたコンテンツである。したがって、item要素502に含まれるrelationID属性の値は、ファイル405を特定することができる。より具体的には、item要素502に含まれるrelationID属性の値は、ファイル405に対応するitem要素503のid属性の値に一致しうる。
【0033】
同様に、ファイル405に対応するitem要素503においてrelationID属性の値は、ファイル404に対応するitem要素502のid属性の値に一致しうる。一方で、ファイル406に対応するitem要素504においては、relationID属性は値を有さない。これは、ファイル406は単独でDCFオブジェクトを構成しているため、ファイル406に関連付けられたコンテンツは存在しないためである。さらにitem要素502は、dc:title要素と、upnp:class要素とを含む。dc:title要素は、コンテンツの名前を示す。またupnp:class要素は、コンテンツの種類を示す。
【0034】
以下に、本実施例に係るコンテンツ提供装置20の詳細な構成例を説明する。図1は、図1は、本実施例に係るコンテンツ提供装置20が備えられる、コンテンツ提供システムの一例を示す。LAN(Local Area Network)10は、コンテンツ提供装置20とコンテンツ取得装置30とを接続する通信回線である。本実施例に係るLAN10は、ホームネットワークでありうる。また、本実施例におけるLANは、有線LAN又は無線LAN(Wireless LAN)でありうる。コンテンツ提供装置20とコンテンツ取得装置30とを接続する通信回線はLANには限られない。例えば、LANの代わりに、WAN(Wide Area Network)、アドホックネットワーク、Bluetooth(登録商標)、ZIGBEE(登録商標)、UWB(Ultra Wide Band)などの通信回線を用いることもできる。
【0035】
コンテンツ提供装置20は、LAN10を介して、本実施例におけるホームネットワーク内のコンテンツ提供装置である。また、コンテンツ取得装置30は、LAN10を介して、コンテンツ提供装置20からコンテンツ及びコンテンツ情報を取得する。具体的には、コンテンツ取得装置30は、コンテンツ提供装置20に対して、コンテンツ又はコンテンツ情報を要求する。コンテンツの要求を取得すると、コンテンツ提供装置20はコンテンツ取得装置30に対して、コンテンツ又はコンテンツ情報を送信する。コンテンツ提供装置20は、コンテンツをファイルとして格納している。したがって、コンテンツ取得装置30は、コンテンツを要求する代わりに、そのコンテンツに対応するファイルを要求してもよい。
【0036】
本実施例においてコンテンツ提供装置20は、DLNAにおけるDMSとしての機能を有しうる。特に、コンテンツ提供装置20は、DMSにおけるコンテンツ・ディレクトリ・サービス(CDS、Content Directory Service)を提供しうる。CDSによって、コンテンツ提供装置20は、コンテンツ提供装置20が有するコンテンツのリストを提供することができる。また、コンテンツ提供装置20は、コンテンツ取得装置30に要求されたコンテンツを検索し、コンテンツ取得装置30に提供することができる。
【0037】
コンテンツ提供装置20は、例えば、カメラ装置、又はPC装置などでありうる。本実施例に係るコンテンツ提供装置20は、DLNAにおけるDMSの機能を有する装置であるものとする。しかしながら、その他のコンテンツ及びコンテンツ情報を提供する装置を、コンテンツ提供装置20として用いることもできる。また、コンテンツを提供する装置と、コンテンツ情報を提供する装置との組み合わせを、コンテンツ提供装置20として用いることもできる。
【0038】
本実施例に係るコンテンツ取得装置30は、ホームネットワークを介してコンテンツを取得しうる。コンテンツ取得装置30は、LAN10を介して、コンテンツ提供装置20から、コンテンツ、及びコンテンツ情報を取得しうる。コンテンツ取得装置30は、例えば、デジタル・メディア・コントローラ(DMC、Digital Media Controller)、又はデジタル・メディア・プレイヤ(DMP、Digital Media Player)などでありうる。コンテンツを取得する機能を有する装置と、コンテンツ情報を取得する機能を有する装置とを組み合わせて、本実施例に係るコンテンツ取得装置30として用いることもできる。
【0039】
図2は、本実施形態に係るコンテンツ提供装置20のハードウェア構成例を示すブロック図である。コンテンツ提供装置20は例えば、図2に示されるように、コンピュータでありうる。例えば、ワークステーション、デスクトップコンピュータ(PC)、ノートブックPC、又はパームトップPCなどを、本実施例に係るコンテンツ提供装置20として用いることができる。さらには、他のネットワーク制御装置との通信機能を有する端末をコンテンツ提供装置20として用いることもできる。例えば、通信機能を有するテレビ等の家電製品、通信機能を有するカメラ、通信機能を有するゲーム機、携帯電話、又はPHS、並びにこれらの組合せを、本実施例に係るコンテンツ提供装置20として用いることができる。
【0040】
CPU(Central Processing Unit)201は、コンテンツ提供装置20の全体を制御する。ROM(Read Only Memory)202は、ファームウェアなどのプログラム、又はパラメタを格納することができる。RAM(Random Access Memory)203は、例えば外部記憶装置204を介して、又はLANインタフェース205を介して取得したプログラムやデータなどを一時的に記憶することができる。
【0041】
外部記憶装置204は、プログラム又はデータなどを記憶することができる記憶媒体、又は記憶媒体にアクセス可能なドライブでありうる。外部記憶装置204には例えば、ハードディスク又はSSD(Solid State Drive)などが含まれる。また外部記憶装置204は、メモリカード、フレキシブルディスク(FD)、コンパクトディスク(CD)等の光ディスク、磁気カード、光カード、又はICカード、等の記憶媒体にデータを読み書きすることができる。LANインタフェース205は、コンテンツ提供装置20をLAN10に接続するために必要な通信制御を行うことができる。システムバス206は、コンテンツ提供装置20が備える各部201〜205を接続する。コンテンツ提供装置20が備える各部201〜205は、システムバス206を介して相互に通信することができる。
【0042】
CPU201は、ROM202又はRAM203に記憶されたコンピュータプログラムを実行することにより、コンテンツ提供装置20の備える各機能を実行することができる。CPU201の制御の下、外部記憶装置204又はLANインタフェース205を介して、このプログラムを取得することができる。また、CPU201の制御の下、このプログラムをRAM203に記憶させることができる。以上、コンテンツ提供装置20が備えるハードウェア構成について説明した。コンテンツ取得装置30もまたコンテンツ提供装置20と同様の構成を有することができる。
【0043】
次に図3を参照して、本実施例に係るコンテンツ提供装置20の機能を詳細に説明する。図3は、本実施例に係るコンテンツ提供装置20の機能ブロック図である。通信制御部301は、コンテンツ提供装置20とLAN10とを接続するための通信制御を行う。SSDP処理部302は、LAN10上でUPnPデバイスを発見することを可能とするための処理を行う。
【0044】
例えばSSDP処理部302は、通信制御部301からシンプル・サービス・ディスカバリ・プロトコル(SSDP、Simple Service Discovery Protocol)パケットを受信する。そしてSSDP処理部302は、UPnPで規定されるSSDP処理を行う。SSDP処理によって、コンテンツ取得装置30を含むLAN10上の他のDLNA装置に対し、コンテンツ提供装置20がDMSとしてLAN10上に存在することを、コンテンツ提供装置20は広告することができる。これは、SSDPにおけるaliveメッセージを用いることにより行うことができる。
【0045】
また、コンテンツ提供装置20はSSDP処理によって、LAN10上の他のUPnPサービスを発見することができる。さらにはコンテンツ提供装置20は、応答を行うことにより、他のDLNA装置がUPnPサービスを発見することを可能とすることができる。本実施例においてはSSDP処理が用いられるが、他の手段を用いて上述の機能を実現することもできる。例えば、ウェブ・サービス・ダイナミック・ディスカバリ(Web Services Dynamic Discovery)を用いることができる。さらには、メディア・アクセス・コントロール(MAC、Media Access Control)アドレスなどを用いることもできる。
【0046】
SOAP処理部303は、LAN10上の装置、例えばコンテンツ取得装置30との間で、メッセージ及びデータの交換を行うことができる。例えばSOAP処理部303は、通信制御部301からシンプル・オブジェクト・アクセス・プロトコル(SOAP、Simple Object Access Protocol)パケットを受信する。そしてSSDP処理部302は、UPnPで規定されるSOAP処理を行う。SOAP処理によって、コンテンツ提供装置20は、他の装置へと処理要求を行うことができる。また、SOAP処理によって、コンテンツ提供装置20は、他の装置からの処理要求を受け付けること、及び応答することができる。
【0047】
特にSOAP処理部303は、コンテンツ取得装置30から、コンテンツの送信要求を受けることができる。さらにSOAP処理部303は、コンテンツ取得装置30から、コンテンツ情報の送信要求を受けることができる。コンテンツ取得装置30は、コンテンツ提供装置20の記憶部311(メモリ)が有するコンテンツを特定する情報をコンテンツ提供装置20に対して送ることにより、このコンテンツに関するコンテンツ情報を取得することができる。具体的には、SOAP処理部303は、コンテンツ取得装置30からの要求に対する応答を、コンテンツ取得装置30に送信することができる。
【0048】
例えばコンテンツ取得装置30は、コンテンツとして、図4に示されるファイル404を特定する情報をコンテンツ提供装置20に対して送ることができる。するとコンテンツ取得装置30は、ファイル404として管理されているコンテンツに関するコンテンツ情報を取得することができる。またコンテンツ取得装置30は、例えば図4に示されるディレクトリ403を特定する情報を送ることにより、ディレクトリ403内のファイル404〜406に関するコンテンツ情報を取得することもできる。このように、コンテンツ取得装置30は、ディレクトリ内のファイルの全てを特定する情報をコンテンツ提供装置20に送ることもできる。
【0049】
本実施例ではSOAP処理を利用してメッセージの交換が行われる。しかしながら、遠隔オブジェクトを実行するための手段、例えばリモート・プロシージャ・コール(RPC、Remote Procedure Call)など、を用いてメッセージの交換を行ってもよい。また、データ(コンテンツ)の転送には、他のプロトコルを用いることもできる。例えば、ハイパー・テキスト・トランスファー・プロトコル(HTTP、Hyper Text Transfer Protocol)を用いることができる。さらには、ファイル・トランスファー・プロトコル(FTP、File Transfer Protocol)を用いることもできる。
【0050】
GENA処理部304は、LAN10上の他のDLNA装置へのイベントの追加を行うことができる。また、他のDLNA装置が有するUPnPサービスのイベントの購読を行うことができる。例えばGENA処理部304は、通信制御部301からジェネラル・イベント・ノーティフィケーション・アーキテクチャ(GENA、General Event Notification Architecture)処理を行うことができる。なお、本実施例ではGENA処理を利用しているが、ウェブ・サービス・イベンティング(WS-Eventing)、ウェブ・サービス・ノーティフィケーション(WS-Notification)などの他の手段を用いることもできる。
【0051】
制御部305は、コンテンツ提供装置20が有する各部の制御を行う。記憶部311は、コンテンツをファイルとして記憶する。また記憶部311は、コンテンツ情報を記憶することもできる。DCF管理部306は、記憶部311に記憶されているファイルを管理する(管理手段)。本実施例においては、ファイルを管理するために、DCFに従うファイルシステムが用いられる。記憶部311は例えば、外部記憶装置204内の記憶領域を用いて実現することができる。
【0052】
情報生成部307は、コンテンツ取得装置30からの要求を受け取った場合に、送信データを生成し、コンテンツ取得装置30に対して送信データを送信することができる。例えば情報生成部307は、SOAP処理部303が受信したコンテンツ取得装置30からの要求に応じて、コンテンツを含む送信データを作成することができる。また情報生成部307は、作成した送信データをコンテンツ取得装置30に送信することができる。
【0053】
さらに情報生成部307は、SOAP処理部303が受信したコンテンツ取得装置30からの要求に応じて、コンテンツ情報を含む送信データを作成することができる。そして情報生成部307は、作成した送信データをコンテンツ取得装置30に送信することができる。特に情報生成部307は、コンテンツ取得装置30からの要求において特定されているコンテンツについてのコンテンツ情報を作成することができる。
【0054】
具体的には、例えば情報生成部307は、コンテンツ取得装置30からの要求において特定されているコンテンツに関する情報を、DCF管理部306に問い合わせることができる。そして情報生成部307は、DCF管理部306から取得した情報に基づいて、DIDL−Lite形式のコンテンツ情報を生成する。本実施例においては、情報生成部はDIDL−Lite形式のコンテンツ情報を利用するものとする。しかしながら、アトム・シンジケーション・フォーマット(Atom Syndication Format)などの別の手段を利用することもできる。
【0055】
本実施例において、情報生成部307が生成したコンテンツ情報は、さらに関連判断部309及び関連付加部310によって処理される。関連判断部309及び関連付加部310による処理後のコンテンツ情報が、情報生成部307によって、通信制御部301を介してコンテンツ取得装置30へと送信される。種別判断部308は、コンテンツがDCF基本ファイルであるか、DCF拡張画像ファイルか、を判断することができる。例えば種別判断部308は、コンテンツ取得装置30からの要求において特定されているコンテンツが、DCF基本ファイルであるかDCF拡張画像ファイルかを判断することができる。
【0056】
関連判断部309は、コンテンツ取得装置30からの要求において特定されているコンテンツのファイル名と共通の名称を含むファイル名を持つファイルを検索する(検索手段)。関連判断部309は例えば、このようなファイルが記憶部311に存在するか否かを、DCF管理部306に問い合わせる。こうして関連判断部309は、コンテンツ取得装置30からの要求において特定されているコンテンツのファイル名と共通の名称を含むファイル名を持つファイルを発見することができる。
【0057】
例えば、コンテンツ取得装置30から、ファイル404についてのコンテンツ情報が要求されたものとする。この場合関連判断部309は、ファイル404の名称「0001」と共通の名称を含むファイル名を持つファイルが存在するか否かを、DCF管理部306に問い合わせる。とりわけ関連判断部309は、ファイル404の名称「0001」と共通の名称を含むファイル名を持つファイルが、ファイル404と同じディレクトリ403内に存在するか否かを問い合わせることができる。
【0058】
記憶部311には、ファイル404の名称「0001」と共通の名称を含むファイル名「IMG_0001.WAV」を持つファイルが存在する。従ってDCF管理部306は、関連判断部309に対して、パス「Root/DCIM/100ABCD/IMG_0001.WAV」で示されるファイル405のファイル名が、ファイル404のファイル名と共通の名称を含むことを通知することができる。
【0059】
関連付加部310は、関連判断部309が検索したファイルを特定する情報を作成する。あるいは関連付加部310は、関連判断部309が検索したファイルにより構成されるコンテンツを特定する情報を作成してもよい。関連判断部309が検索したファイルがファイル405である場合、ファイル405を特定する情報は、例えばファイル405のパス「Root/DCIM/100ABCD/IMG_0001.WAV」でありうる。また、ファイル405を特定する情報は、item要素503に示されるように、ファイル405のID「BBB」であってもよい。本実施例において、ファイルのIDとパス名との間の対応付けは、DCF管理部306が管理することができる。
【0060】
そして関連付加部310は、関連判断部309が検索したファイルを特定する情報を、情報生成部307が生成したコンテンツ情報に付加する。例えば関連付加部310は、情報生成部307が生成したコンテンツ情報501のrelationID属性に、関連判断部309が検索したファイルを特定する情報を追加することができる。
【0061】
図4の例においては、ファイル404の名称と共通の名称を含むファイル名を持つファイルは、ファイル405である。したがって関連付加部310は、ファイル404についてのitem要素502のrelationID属性に、ファイル405を特定するID「BBB」を追加することができる。一方でファイル406の名称と共通の名称を含むファイル名を持つファイルは存在しない。したがって関連付加部310は、ファイル406についてのitem要素504のrelationID属性には値を追加しない。
【0062】
着目ファイルの名称と共通の名称を含むファイル名を持つファイルは存在しない場合には、関連付加部310は、relationID属性を削除してもよい。また、着目ファイルの名称と共通の名称を含むファイル名を持つファイルが2つ以上存在する場合には、関連付加部310は、relationID属性に2つ以上の値を追加してもよい。関連判断部309及び関連付加部310によって処理されたコンテンツ情報は、上述のように、情報生成部307によってコンテンツ取得装置30へと送信される(送信手段)。
【0063】
関連付加部310は、情報生成部307が生成したコンテンツ情報に対して、関連判断部309が検索したファイルを特定する情報を追加した。しかしながら関連付加部310は、関連判断部309が検索したファイル(コンテンツ)を特定する情報をそのままコンテンツ取得装置30に対して送ってもよい。この場合コンテンツ取得装置30は、要求において特定したコンテンツに関連するファイル(コンテンツ)を知ることができる。従って、コンテンツ取得装置30は続けて、要求において特定したコンテンツに関連するファイル(コンテンツ)をコンテンツ提供装置20に要求することができる。
【0064】
次に、本実施例に係るコンテンツ提供装置20が行う処理を、図6のフローチャートを参照して説明する。図6のフローチャートは、コンテンツ提供装置20がコンテンツ取得装置30からのコンテンツ情報の要求を受信した際の処理を示す。ステップS601においてSOAP処理部303は、LAN10上のコンテンツ取得装置30から、コンテンツ情報の送信要求を受信する(受付手段)。例えばSOAP処理部303は、コンテンツ取得装置30からCDSに規定されるBrowseアクションを受信する。この送信要求においては、情報を要求するコンテンツが特定されている。複数のコンテンツ(ファイル)が特定されている場合、コンテンツ提供装置20は、それぞれのコンテンツについてステップS602以下の処理を繰り返す。
【0065】
ステップS602において制御部305は、コンテンツ情報の送信要求において特定されているコンテンツ(以下着目ファイルと呼ぶ)に関する情報を、DCF管理部306に問い合わせる。DCF管理部306は、記憶部311を参照して、着目ファイルに関する情報を情報生成部307に送信する。ステップS603において情報生成部307は、DCF管理部306から受信した情報に従って、コンテンツ情報を生成する。例えば情報生成部307は、ディレクトリ403内の全てのファイルについてのコンテンツ情報が要求された場合、図5に示されるコンテンツ情報501のうち、relationID属性の値を除いた部分を生成する。
【0066】
ステップS605において関連判断部309は、着目ファイルのDCFファイル番号を取得する。ステップS606において関連判断部309は、着目ファイルのDCFファイル番号と一致するDCFファイル番号を有するファイルが、存在するか否かを判断する。存在する場合、処理はステップS607に進む。存在しない場合、処理はステップS611に進む。
【0067】
ステップS607において関連付加部310は、着目ファイルのDCFファイル番号と一致するDCFファイル番号を有するファイル(以下関連ファイルと呼ぶ)を特定する情報を、ステップS603で生成されたコンテンツ情報に付加する。ステップS611においてSOAP処理部303は、コンテンツ情報をコンテンツ取得装置30に送信する。例えばSOAP処理部303は、CDSに規定されるBrowseアクションへの応答として、コンテンツ情報をコンテンツ取得装置30に送信すればよい。
【0068】
以上のようにコンテンツ提供装置20は、LAN10上のコンテンツ取得装置30からコンテンツ情報を要求された場合に、コンテンツ間の関連性を示す情報をコンテンツ情報に付加することができる。したがって、コンテンツ取得装置30には、コンテンツ間の関連性を示す情報を含むコンテンツ情報を取得する。
【0069】
本実施例によればコンテンツ取得装置30は、コンテンツ提供装置20からあるコンテンツについてのコンテンツ情報を取得する際に、そのコンテンツに関連するコンテンツが存在する事を知ることができる。このことは、ユーザの利便性の向上につながる。また、例えばコンテンツ取得装置30が画像コンテンツを検索する際に、同時に関連する音声コンテンツを発見することができる。この場合コンテンツ取得装置30は、画像コンテンツと音声コンテンツを組み合わせて再生することができる。このことは、ユーザエクスペリエンスを向上させることができる。
【0070】
本実施例によればコンテンツ提供装置20は、着目ファイルについてのコンテンツ情報を要求された時に、着目ファイルに関連するファイル(関連ファイル)を特定する情報を送信することができる。しかしながら、着目ファイルについてのコンテンツ情報を要求された時に、コンテンツ提供装置20は、関連ファイルを送信することもできる。
【0071】
また、他の実施例においては、コンテンツ提供装置20が関連ファイルを特定する情報を送信するのは、コンテンツ情報を要求された時に限られない。例えばコンテンツ取得装置30は、着目ファイルに関連するファイルを特定する情報を、コンテンツ提供装置20に要求してもよい。またコンテンツ提供装置20は、着目ファイルを送信することを要求された時に、着目ファイルとともに、関連ファイルを特定する情報を送信してもよい。この場合コンテンツ提供装置20は、着目ファイルとともに、関連ファイルを送信してもよい。
【0072】
[実施例1の変形例]
実施例1においては、着目ファイルがDCF基本ファイルである場合と、着目ファイルがDCF拡張画像ファイルである場合とで、同一の処理が行われた。しかしながら、着目ファイルがDCF基本ファイルである場合と、着目ファイルがDCF拡張画像ファイルである場合とで、異なる処理が行われてもよい。
【0073】
例えば実施例1においては、DCF基本ファイルのコンテンツ情報には、関連するDCF拡張画像ファイルを特定する情報を付加した。また、DCF拡張画像ファイルのコンテンツ情報には、関連するDCF基本ファイルを特定する情報を付加した。しかしながら、DCF基本ファイルにのみ、このような情報を付加することもできる。
【0074】
このことは、ステップS603の後に、着目ファイルがDCF基本ファイルであるか否かを判断するステップを追加することにより実現できる。この場合、着目ファイルがDCF基本ファイルである場合には処理はステップS605に進む。また、着目ファイルがDCF基本ファイルではない場合には処理はステップS611に進む。この場合、DCF基本ファイルからDCF拡張画像ファイルへの一方方向の関係が、コンテンツ情報に付加される。
【0075】
例えばコンテンツ取得装置30において、画像の表示中に、画像に関連した音声を再生する場合がある。このような場合、画像を含むDCF基本ファイルのコンテンツ情報に、音声を含むDCF拡張画像ファイルを特定する情報が含まれていれば十分である。したがって、DCF拡張画像ファイルについてのコンテンツ情報を作成する場合に、図6のステップS605〜S607を省略する事ができる。このように、コンテンツ取得装置30からのコンテンツ情報の送信要求に対する応答速度を向上させることができる。
【0076】
また、着目ファイルがDCF拡張画像ファイルである場合に、関連するDCF基本ファイルと、関連する他のDCF拡張画像ファイルとの双方が存在する場合がある。このような場合、着目ファイルについてのコンテンツ情報には、全ての関連ファイルを特定する情報を含めることができる。一方で、着目ファイルについてのコンテンツ情報に、関連するDCF基本ファイルを特定する情報のみを含めることもできる。さらには、着目ファイルがDCF基本ファイルでもDCF拡張画像ファイルでもない場合に、図6のステップS605〜S607を省略することもできる。
【実施例2】
【0077】
以下、添付の図面を参照して、本発明の実施例2を説明する。本実施例に係るコンテンツ提供装置20は、実施例1と同様の機能を有する。また、本実施例に係るコンテンツ提供装置20は、LAN10を介して、実施例1と同様の機能を有するコンテンツ取得装置30と接続されている。本実施例に係るコンテンツ提供装置20は、コンテンツ取得装置30から送信されたコンテンツを格納することができる。本実施例に係るコンテンツ提供装置20は特に、CDSに規定されるコンテンツ追加準備機能を実行することができる。例えば本実施例に係るコンテンツ提供装置20はCreateObjectアクションを行うことができる。
【0078】
また、本実施例に係るコンテンツ取得装置30は、コンテンツ提供装置20に対してコンテンツを送信することにより、コンテンツ提供装置20にコンテンツを格納させることができる。例えば本実施例に係るコンテンツ取得装置30は、コンテンツ提供装置20に対し、コンテンツ追加準備要求、及びコンテンツ追加要求を送信することができる。
【0079】
本実施例に係るコンテンツ提供装置20及びコンテンツ取得装置30は、実施例1と同様のハードウェアを用いて実現することができる。例えば本実施例に係るコンテンツ提供装置20及びコンテンツ取得装置30は、図2に例示したハードウェア構成を用いて実現することができる。
【0080】
次に、本実施例に係るコンテンツ提供装置20が有する機能について、図8の機能ブロック図を参照して説明する。実施例1について説明された機能と同様の機能には、同一の参照符号が付される。またこれらの機能については、説明を省略する。また、図8には、実施例1で説明した処理部307〜310が図示されていない。本実施例に係るコンテンツ提供装置は、これらの処理部307〜310を有しうる。すなわち本実施例に係るコンテンツ提供装置20は、実施例1で説明された機能を発揮することもできる。一方で本実施例に係るコンテンツ提供装置は、これらの処理部307〜310を有していなくてもよい。すなわち本実施例に係るコンテンツ提供装置20が、実施例1で説明された機能を発揮することは必須ではない。
【0081】
抽出部807は、コンテンツ追加準備要求に含まれるコンテンツ情報を抽出する。このコンテンツ追加準備要求は、コンテンツ取得装置30から送信され、SOAP処理部303によって取得される。このコンテンツ追加準備要求は、例えばCDSに規定されるCreateObjectアクション要求でありうる。また、コンテンツ追加準備要求に含まれるコンテンツ情報とは、図9に示すDIDL−Lite形式のコンテンツ情報でありうる。本実施例において、コンテンツ追加準備要求においては、第2のファイル(第2のコンテンツ)をコンテンツ提供装置20に登録することを要求することができる。この際、第2のファイル(第2のコンテンツ)を、コンテンツ提供装置20によって管理されている第1のファイル(第1のコンテンツ)に関連するファイル(コンテンツ)として、コンテンツ提供装置20に登録することを要求することができる。
【0082】
図9を参照して、コンテンツ追加準備要求に含まれるコンテンツ情報の一例を説明する。図9には、DIDL−Lite形式のコンテンツ情報901が示されている。コンテンツ情報901に含まれるそれぞれの項目及び要素は、コンテンツ情報501と同様の情報を示す。以下では例として、図4のファイル406に対して関連するファイル407(不図示)を登録する場合について説明する。ファイル407は音声ファイルである。ファイル407は、DCF拡張画像ファイルとして、DCF基本ファイルであるファイル406に関連付けて登録される。
【0083】
コンテンツ情報901は、コンテンツ提供装置20に登録されようとしているファイル407についてのコンテンツ情報を示すitem要素902を有する。ファイル407はまだコンテンツ提供装置に登録されていないため、id属性は値を持たない。parentID属性には、ファイル407を登録しようとするディレクトリを指定することができる。item要素902によれば、ファイル407は図4のディレクトリ403に登録される。
【0084】
relationID属性には、ファイル407が関連付けられる関連ファイル406(関連コンテンツ)を特定する情報(関連性情報)が設定される。具体的には、関連ファイルを示す一意な識別子を指定すればよい。実施例1で説明したように、この識別子は関連ファイル406のパス名であってもよい。また、DCFファイルシステムによって管理されている、関連ファイル406についてのid属性の値、であってもよい。また、dc:title要素には、ファイル407の名前として、任意の文字列を指定することができる。
【0085】
情報存在判断部808は、抽出部807で抽出したコンテンツ情報901に、関連コンテンツを特定する関連性情報が含まれるか否かを判断する。例えば情報存在判断部808は、item要素902のrelationID属性が存在するか否かを判断することができる。また情報存在判断部808は、relationID属性に値が含まれているか否かを判断することができる。そして情報存在判断部808は、関連性情報をコンテンツ情報901から抽出することができる。
【0086】
コンテンツ存在判断部809は、情報存在判断部808が抽出した関連性情報が示すコンテンツ(関連コンテンツ)が、コンテンツ提供装置20内に存在するか否かを判断する。例えばコンテンツ存在判断部809は、関連コンテンツがコンテンツ提供装置20内に存在するか否かを、DCF管理部306に問い合わせることができる。さらにコンテンツ存在判断部809は、関連コンテンツがDCF基本ファイルであるか、またはDCF拡張画像ファイルであるか、を問い合わせることができる。
【0087】
DCF記憶制御部810は、コンテンツ取得装置30から取得したコンテンツを、関連コンテンツに関連付けて記憶部311に格納するように、DCF管理部306に要求する。本実施例においてはファイル407が、ファイル406に関連付けて格納される。したがってDCF記憶制御部810はまず、ファイル406のDCFファイル番号を取得する。次にDCF記憶制御部810は、ファイル406と共通のDCFファイル番号を有するファイル名を、ファイル407のファイル名として作成する。そしてDCF記憶制御部810は、作成したファイル名をファイル407と対応付けて記憶部311に格納するように、DCF管理部306に要求する。
【0088】
コンテンツ情報901のupnp:class要素内の記述「object.item.audioItem.musictrack」によれば、ファイル407はWAVE形式の音声データであることがわかる。したがってDCF記憶制御部810は、ファイル407のファイル名の拡張子を「WAV」とすることができる。この結果、図4のディレクトリ403内に、ファイル名「IMG_0002.WAV」を有するファイル407が、DCF拡張画像ファイルとして格納される。ファイル406及びファイル407は、ディレクトリ403内で、1つのDCFオブジェクトを構成する。
【0089】
upnp:class要素内の記述は、ファイルの種類を示す。ファイルの書類と拡張子とを対応付ける情報は、上述したように、例えばコンテンツ提供装置20が有していてもよい。また、コンテンツ情報901の中に、ファイルの書類と拡張子とを対応付ける情報が含まれていてもよい。
【0090】
図10は、上述のようにファイル407がコンテンツ提供装置20に格納された後で、コンテンツ提供装置20が提供するコンテンツ情報の一例を示す。コンテンツ情報1101は、item要素502、503、1104、及び1105を含む。図10のitem要素502及び503は、図5のitem要素502及び503に一致する。
【0091】
item要素1104はファイル406についての情報であって、relationID属性が値を含む点で、item要素504とは異なる。この例では、ファイル406と一致する名称を含むファイル名を有するファイル407が存在するため、relationID属性の値として、ファイル407を特定する情報が存在する。図10においては、item要素1104のrelationID属性の値は、ファイル407についてのid属性の値である「DDD」である。
【0092】
また、item要素1105はファイル407についての情報である。item要素1105はitem要素1104と類似しているが、relationID属性の値として、関連するファイル406を特定する情報が存在する。また本実施例においては、ファイル407についてのコンテンツの名前を示すdc:title要素の値は、ファイル406についてのdc:title要素と同じ値である。これは、ファイル406とファイル407とが1つのDCFオブジェクトを構成するためである。しかしながら、ファイル406についてのdc:title要素とファイル407についてのdc:title要素とは、別の値を有してもよい。
【0093】
DCF記憶制御部810は、コンテンツ取得装置30から取得したコンテンツの種類と、関連コンテンツの種類とに応じて、作成するファイル名を変更することができる。例えば、関連ファイル406がDCF基本ファイルである場合、DCF記憶制御部810は、ファイル407をDCF拡張画像ファイルとして記憶することができる。また、関連ファイル406がDCF拡張画像ファイルである場合、DCF記憶制御部810は、ファイル407をDCF基本ファイルとして記憶することができる。この処理については、図11のフローチャートを参照して後に詳しく説明する。
【0094】
またDCF記憶制御部810は、コンテンツ取得装置30から取得したコンテンツを格納するディレクトリを決定することができる。例えばDCF記憶制御部810は、コンテンツ取得装置30から取得したコンテンツ情報に含まれるparentID属性の値に従って、コンテンツを格納するディレクトリを決定することができる。
【0095】
図7は、コンテンツを追加する際にコンテンツ提供装置20とコンテンツ取得装置30との間で交換されるメッセージを示す。メッセージM1201は、コンテンツ取得装置30からコンテンツ提供装置20への、コンテンツ追加準備要求メッセージである。例えば、CDSに規定されるCreateObjectアクション要求メッセージでありうる。メッセージM1202は、コンテンツ提供装置20からコンテンツ取得装置30への、コンテンツ追加準備応答メッセージである。例えば、CDSに規定されるCreateObjectアクション応答メッセージでありうる。
【0096】
メッセージM1203は、コンテンツ取得装置30からコンテンツ提供装置20への、コンテンツ追加要求メッセージである。コンテンツ追加要求メッセージには、コンテンツ取得装置30に登録されるコンテンツの実体データが含まれる。メッセージM1204は、コンテンツ提供装置20からコンテンツ取得装置30への、コンテンツ追加応答メッセージである。
【0097】
図11は、本実施例に係るコンテンツ提供装置20が、コンテンツ追加準備要求を受信した際に行う処理を示す。ステップS1301においてSOAP処理部303は、コンテンツ取得装置30からコンテンツ追加準備要求を受信する(受信手段)。このコンテンツ追加準備要求には、追加するコンテンツ(追加コンテンツ)についてのコンテンツ情報が含まれる。例えばSOAP処理部303は、コンテンツ取得装置30から、CDSに規定されるCreateObjectアクションを受信する。複数のコンテンツを追加する準備を行うことを要求された場合、ステップS1302〜S1314の処理は、それぞれのコンテンツについて繰り返される。
【0098】
ステップS1302において抽出部807は、ステップS1301で受信されたコンテンツ追加準備要求から、追加コンテンツについてのコンテンツ情報を抽出する。ステップS1303において情報存在判断部808は、ステップS1302において抽出されたコンテンツ情報において、追加コンテンツに関連するコンテンツ(関連コンテンツ)が特定されているか否かを判断する。例えば、DIDL−Lite形式のコンテンツ情報において、item要素のrelationID属性が値を有するか否かを判断する。関連コンテンツが特定されている場合、処理はステップS1304に進む。関連コンテンツが特定されていない場合、処理はステップS1313に進む。
【0099】
ステップS1304においてコンテンツ存在判断部809は、ステップS1302において抽出されたコンテンツ情報において特定されている関連コンテンツが、記憶部311内に存在するか否かを判断する。具体的には、追加コンテンツについてのitem要素のrelationID属性の値で特定されるコンテンツが、存在するか否かを判断すればよい。例えばコンテンツ存在判断部809は、ステップS1302において抽出されたコンテンツ情報において特定されている関連コンテンツが存在するか否かを、DCF管理部306に問い合わせればよい。関連コンテンツが存在する場合、処理はステップS1305に進む。関連コンテンツが存在しない場合、処理はステップS1313に進む。
【0100】
ステップS1305においてコンテンツ存在判断部809は、関連コンテンツがDCF基本ファイルであるか否かを判断する。例えば、関連コンテンツが拡張子「JPG」のファイルとして格納されている場合に、関連コンテンツがDCF基本ファイルであると判断することができる。関連コンテンツがDCF基本ファイルである場合、処理はステップS1306に進む。また関連コンテンツがDCF基本ファイルではない場合、処理はステップS1310に進む。
【0101】
ステップS1306においてDCF記憶制御部810は、追加コンテンツが画像コンテンツか否かを判断する。上述のように、ステップS1302において抽出されたコンテンツ情報中の、item要素内のupnp:class要素に含まれる値に基づき、追加コンテンツの種類を判断することができる。追加コンテンツが画像コンテンツではないと判断した場合、処理はステップS1307に進む。追加コンテンツが画像コンテンツであると判断した場合、処理はステップS1308に進む。
【0102】
処理がステップS1307に進んだ場合、関連コンテンツはDCF基本ファイルであり、追加コンテンツは画像コンテンツではない。したがって、追加コンテンツを、関連コンテンツに関連付けられたDCF拡張画像ファイルとして格納することができる。例えばDCF記憶制御部810は、追加コンテンツのファイル名として、関連コンテンツに対応づけられたファイル名と共通の名称を含むファイル名を作成すればよい。このようにして、追加コンテンツと関連コンテンツとを1つのDCFオブジェクトとして管理することができる。
【0103】
具体的には、関連コンテンツのDCFファイル番号を有するファイル名を、追加コンテンツのファイル名とすればよい。関連コンテンツ(ファイル)が「IMG_0002.JPG」であり、追加コンテンツ(ファイル)がWAVE形式の音声ファイルである場合には、追加コンテンツのファイル名を「IMG_0002.WAV」とすればよい。
【0104】
処理がステップS1308に進んだ場合、関連コンテンツはDCF基本ファイルであり、追加コンテンツは画像コンテンツである。通常、複数のDCF基本ファイルで1つのDCFオブジェクトを構成することはできない。この場合、追加コンテンツをDCF拡張画像ファイルとして格納することができる。
【0105】
具体的には、関連コンテンツの拡張子とは異なる拡張子を持つように、追加コンテンツのファイル名を決定すればよい。この場合、追加コンテンツの拡張子に基づいて追加コンテンツの種類を判別できるように、拡張子とコンテンツの種類の関係を示す情報を、コンテンツ提供装置20が有していることが好ましい。追加コンテンツのファイル名は、追加コンテンツが格納されるディレクトリ内の他のファイルのファイル名と一致しないように決定されるべきである。もっとも、ステップS1313の処理を行うことにより、追加コンテンツを、関連コンテンツとは独立した別のDCF基本ファイルとして格納することもできる。
【0106】
ステップS1310においてDCF記憶制御部810は、ステップS1306と同様に、追加コンテンツが画像コンテンツであるか否かを判断する。追加コンテンツが画像コンテンツである場合、処理はステップS1311に進む。追加コンテンツが画像コンテンツではない場合、処理はステップS1312に進む。
【0107】
処理がステップS1311に進んだ場合、関連コンテンツはDCF拡張画像ファイルであり、追加コンテンツは画像コンテンツである。したがって、追加コンテンツを、関連コンテンツに関連付けられたDCF基本ファイルとして格納することができる。例えばDCF記憶制御部810は、追加コンテンツのファイル名として、関連コンテンツに対応づけられたファイル名と共通の名称を含むファイル名を作成すればよい。このようにして、追加コンテンツと関連コンテンツとを1つのDCFオブジェクトとして管理することができる。
【0108】
具体的には、関連コンテンツのDCFファイル番号を有するファイル名を、追加コンテンツのファイル名とすればよい。関連コンテンツ(ファイル)が「IMG_0002.WAV」であり、追加コンテンツ(ファイル)がJPEG形式の画像ファイルである場合には、追加コンテンツのファイル名を「IMG_0002.JPG」とすればよい。
【0109】
処理がステップS1312に進んだ場合、関連コンテンツはDCF拡張画像ファイルであり、追加コンテンツは画像コンテンツではない。この場合追加コンテンツを、DCF拡張画像ファイルとして格納することができる。例えばDCF記憶制御部810は、関連コンテンツに対応づけられたファイル名と共通の名称を含むファイル名を、追加コンテンツのファイル名として作成すればよい。追加コンテンツの拡張子は、追加コンテンツの種類に従って決定することができる。追加コンテンツのファイル名は、追加コンテンツが格納されるディレクトリ内の他のファイルのファイル名と一致しないように決定されるべきである。
【0110】
処理がステップS1313に進んだ場合、追加ファイルに関連するファイルが特定されていないか、又は特定された関連ファイルは存在しない。この場合、通常の処理に従って追加ファイルを格納すればよい。例えばDCF記憶制御部810は、追加コンテンツが格納されるディレクトリ内の他のファイルのファイル名と一致しないように、追加コンテンツのファイル名を決定すればよい。追加コンテンツの拡張子は、追加コンテンツの種類に従って決定することができる。
【0111】
ステップS1314においてSOAP処理部303は、ステップS1301で受信したコンテンツ追加準備要求に対して応答する。具体的にはSOAP処理部303は、CDSの規定に従って、CreateObjectアクションで規定された処理を実行すればよい。次にSOAP処理部303は、CDSで規定されたCreateObjectアクションに対する応答を作成する。そしてSOAP処理部303は、作成された応答をコンテンツ取得装置30に対して送信する。
【0112】
こうして、本実施例に係るコンテンツ提供装置20が、コンテンツ追加準備要求を受信した際に行う処理が終了する。本実施例においてコンテンツ提供装置20は、関連コンテンツが存在する場合には、追加コンテンツを関連コンテンツに関連づけて格納した。しかしながら、関連コンテンツがDCF基本ファイルでもDCF拡張画像ファイルでもない場合には、コンテンツ提供装置20は、追加コンテンツを関連コンテンツとは別個のDCFオブジェクトとして格納することもできる。
【0113】
図12は、本実施例に係るコンテンツ提供装置20が、コンテンツ追加要求を受信した際に行う処理を示す。コンテンツ追加要求は、LAN10を介して、コンテンツ取得装置30からコンテンツ提供装置20へと送信される。図7を用いて説明したように、コンテンツ提供装置20がコンテンツ追加準備要求に対する応答をコンテンツ取得装置30に対して送信した後に、コンテンツ取得装置30はコンテンツ追加要求をコンテンツ提供装置20に送信する。すなわちコンテンツ提供装置20は、コンテンツ追加要求を受信する際には、追加コンテンツについてのファイル名を既に決定している。
【0114】
ステップS1401においてSOAP処理部303は、コンテンツ取得装置30からコンテンツ追加要求を受信する。コンテンツ追加要求メッセージ中には、追加コンテンツの実体データが含まれる。ステップS1402において、DCF記憶制御部810は、コンテンツ追加準備要求を受信した際の決定に従って、コンテンツ追加要求に含まれる追加コンテンツを格納する(登録手段)。例えばDCF記憶制御部810は、追加コンテンツを格納するようにDCF管理部306に要求することができる。このときDCF記憶制御部810は、追加コンテンツに対して用いるファイル名と、格納するディレクトリ名とを指定することができる。DCF管理部306は、DCF記憶制御部810の指示に従って、追加コンテンツを記憶部311に格納する。
【0115】
以上説明したように、コンテンツ提供装置20は、コンテンツ取得装置30から取得した追加コンテンツを、コンテンツ提供装置20内のコンテンツと関連付けて格納することができる。例えば、追加コンテンツと、追加コンテンツと関連するコンテンツとして設定された関連コンテンツとを、1つのDCFオブジェクトとして管理することができる。
【0116】
例えば、コンテンツ取得装置30のユーザは、音声コンテンツをコンテンツ提供装置20に登録することができる。この際ユーザは、コンテンツ提供装置20が管理する画像コンテンツと音声コンテンツとが互いに関連付けられるように、音声コンテンツをコンテンツ提供装置20に登録することができる。この結果、実施例1で説明したように、コンテンツ提供装置20に対して画像コンテンツを特定する情報を送信することにより、コンテンツ取得装置30は、画像コンテンツに関連する音声コンテンツを特定する情報を取得することができる。このように、コンテンツ取得装置30のユーザは、画像コンテンツと音声コンテンツを関連させて再生することが可能となる。
【0117】
[その他の実施形態]
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムコードを読み出して実行する。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【技術分野】
【0001】
本発明は、情報処理装置が有するコンテンツに関する情報を、外部の装置に提供する技術に関する。
【背景技術】
【0002】
近年、例えば家庭内ネットワークにおいて機器を相互接続することにより、機器間で画像、動画、音声などのコンテンツを共有することが注目されている。コンテンツの共有のために、UPnP(Universal Plug And Play)や、UPnPをベースとしたDLNA(Digital Living Network Alliance)などの標準的な通信規格が用いられている。これらの規格においては、コンテンツを有する装置(提供装置)が、他の装置(取得装置)に対して、コンテンツを送信する方式が定められている。また、提供装置が有するコンテンツに関する情報(コンテンツ情報)を、取得装置に対して送信する方式も定められている。
【0003】
特許文献1には、実行可能なサービスを示す情報をクライアントへと送信できるサーバが開示されている。特許文献1に係るサーバが送信する情報には、それぞれの実行可能なサービスについて、起動するためのURLを示す情報が含まれている。このように特許文献1に記載のサーバは、サービスに関する情報を提供することができる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第4241680号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ネットワーク上のコンテンツは、相互に関連していることがある。例えば、画像データと音声データとが同時に取得されることがあり、これらは相互に関連しているものといえる。このような場合、あるコンテンツを取得した取得装置は、そのコンテンツに関連する他のコンテンツをも取得することを必要とするかもしれない。したがって提供装置は、コンテンツを提供するとき、又はコンテンツ情報を提供するときに、関連する他のコンテンツを特定する情報を送信することが有利である。
【0006】
しかしながら特許文献1の方法では、実行可能なサービス情報にそのサービスの起動URLを含ませ、これを送信することはできるものの、複数のサービス間の関連を示す情報を提供することはできなかった。さらに従来の方法では、提供装置が有するコンテンツに関連する他のコンテンツを、取得装置が提供装置に送信して格納させる場合に、提供装置が2つのコンテンツを関連づけて格納することはできなかった。
【0007】
本発明は、コンテンツを管理する情報処理装置において、コンテンツ間の関係を示す情報を生成する技術を提供する。また、この目的を達成するために、コンテンツを管理する情報処理装置が、コンテンツ間の関係を管理する技術を提供する。
【課題を解決するための手段】
【0008】
本発明の目的を達成するために、例えば、本発明の情報処理装置は以下の構成を備える。すなわち、
ファイル群をメモリ内で管理する情報処理装置であって、
管理されているファイル群のうち互いに関連するファイルとして設定されているファイル間で共通する第1の文字列と、前記互いに関連するファイルとして設定されているファイル間で相違する第2の文字列と、を含むファイル名をファイルに対応付けることにより、該ファイルを前記メモリ内で管理する管理手段と、
クライアント装置から、前記メモリ内で管理されているファイルを特定する情報を受け付ける受付手段と、
前記クライアント装置からの前記情報を検知した場合、前記情報で特定されるファイルに対応づけられたファイル名と共通する前記第1の文字列を含むファイル名が対応づけられたファイルを、前記メモリ内のファイル群から検索する検索手段と、
前記検索手段が検索したファイルを特定する情報を作成し、該作成した情報を前記クライアント装置に対して送信する送信手段と
を備えることを特徴とする。
【発明の効果】
【0009】
コンテンツを管理する情報処理装置において、コンテンツ間の関係を示す情報を生成することを可能とする。また、コンテンツを管理する情報処理装置が、コンテンツ間の関係を管理することを可能とする。
【図面の簡単な説明】
【0010】
【図1】実施例1に係るコンテンツ提供装置20を含むシステムの構成例の図。
【図2】実施例1に係るコンテンツ提供装置20のハードウェア構成例の図。
【図3】実施例1に係るコンテンツ提供装置20の一例としての機能ブロック図。
【図4】実施例1に係るファイル管理システムの一例を示す図。
【図5】実施例1に係るコンテンツ情報の一例を示す図。
【図6】実施例1に係る処理の一例を示すフローチャート。
【図7】実施例2に係るコンテンツ提供装置20が交換するメッセージを示す図。
【図8】実施例2に係るコンテンツ提供装置20の一例としての機能ブロック図。
【図9】コンテンツ追加準備要求に含まれるコンテンツ情報の一例を示す図。
【図10】実施例2に係る、コンテンツ追加後のコンテンツ情報の一例を示す図。
【図11】実施例2に係るコンテンツ追加準備処理の一例を示すフローチャート。
【図12】実施例2に係るコンテンツ追加処理の一例を示すフローチャート。
【発明を実施するための形態】
【0011】
以下、本発明の実施例を図面に基づいて説明する。ただし、本発明の範囲は以下の実施例に限定されるものではない。
【実施例1】
【0012】
本実施例に係る情報処理装置(コンテンツ提供装置)は、ファイル群(コンテンツ群)をメモリ内で管理している。本実施例に係るコンテンツ提供装置は、コンテンツを他の装置に提供できる装置であれば何でもよい。例えば本実施例に係るコンテンツ提供装置はサーバでありうる。特に本実施例に係るコンテンツ提供装置は、デジタルメディアサーバ(DMS:Digital Media Server)でありうる。
【0013】
本実施例に係るコンテンツ提供装置は、コンテンツを蓄積することができる。また、本実施例に係るコンテンツ提供装置は、ネットワークを介して、クライアント装置(コンテンツ取得装置)にコンテンツを提供することができる。さらに、本実施例に係るコンテンツ提供装置は、ネットワークを介して、クライアント装置(コンテンツ取得装置)にコンテンツに関するコンテンツ情報を提供することもできる。
【0014】
本実施例においてコンテンツとは、任意のデータを指すことができ、例えば画像、音声、動画、文書などを含む。また本実施例においてコンテンツ情報とは、コンテンツに関する任意の情報を指す。コンテンツ情報には、コンテンツのファイル名、コンテンツの作成日、コンテンツの更新日、コンテンツの作成者、コンテンツの種類、などを含むことができる。またコンテンツ情報は、コンテンツ提供装置内のコンテンツを特定する情報、例えばコンテンツのIDを含むこともできる。
【0015】
上述のDLNAにおいては、DMSがコンテンツ及びコンテンツ情報を提供する仕組みが規定されている。DMSの一例としてカメラ装置がある。カメラ装置は、例えばコンピュータ、テレビなどの他の装置に、カメラ装置が有するコンテンツを提供することができる。一般的にカメラ装置は、撮影した画像や録音した音声を、カメラファイルシステム(デザイン・ルール・フォー・カメラ・ファイル・システム、DCF:Design rule for Camera File System)に従って保存し、管理する。
【0016】
本実施例に係るコンテンツ提供装置は、DCFに従ってコンテンツを保存及び管理することができる。コンテンツは、ファイルとして保存及び管理される。図4を用いて、DCFについて詳細に説明する。DCFに従うファイル管理システムには、システム全体のルートディレクトリ401が存在する。ルートディレクトリ401には、DCFイメージルートディレクトリ402が含まれる。DCFイメージルートディレクトリ402は、画像ファイルが格納されるディレクトリについてのルートディレクトリである。
【0017】
DCFイメージルートディレクトリ402には、画像ファイルを格納するディレクトリ403が含まれる。図4にはディレクトリ403が1つだけ示されているが、DCFイメージルートディレクトリ402は複数のディレクトリ403を含んでいてもよい。ディレクトリ403には、ファイル404〜406が含まれている。
【0018】
ファイル404〜406のそれぞれにはファイル名が対応づけられている。このファイル名は、名称(第1の文字列)と、拡張子(第2の文字列)とを含む。例えばファイル404には、ファイル名(IMG_0001.JPG)が対応づけられている。DCFファイルシステムにおいては、ファイル名には4桁の数字が含まれる。この数字は、DCFファイル番号と呼ばれる。本実施例においては、DCFファイル番号を「名称」と考える。したがって、DCFファイル番号が一致する場合に、名称が一致するものと考える。しかしながら、ファイル名のうちピリオドより前の文字列、例えばファイル404については「IMG_0001」を名称と考えてもよい。
【0019】
また、ファイル名のうちピリオドより後ろの文字列、例えばファイル404については「JPG」、を「拡張子」と呼ぶ。拡張子は、ファイル名が対応づけられているファイルの種類を示す。例えば「JPG」はJPEG形式の画像ファイルを指しうる。また、「WAV」はWAVE形式の音声ファイルを指しうる。拡張子とファイルの種類との対応付けは、周知の規則に従ってもよい。また、拡張子とファイルの種類とを対応付ける情報を、例えばコンテンツ提供装置が有していてもよい。この対応付け情報は、コンテンツ提供装置が公開することもできる。
【0020】
本実施例においては、互いに関連するファイルとして設定されているファイルのそれぞれには、ファイル間で共通の名称を含むファイル名が対応付けられている。たとえばファイル404のファイル名と、ファイル405のファイル名とは、共通の名称「0001」を含んでいる。このように、ファイル名に基づいて、ファイルが互いに関連するか否かを判断することができる。また、互いに関連するファイルとして設定されているファイルのそれぞれには、ファイル間で互いに相違する拡張子が対応付けられている。名称と拡張子との組み合わせによって、それぞれのファイルを識別することができる。
【0021】
DCFファイルシステムにおいては、同一のディレクトリ内において、同じDCFファイル番号を持つDCFファイル群は、1つのDCFオブジェクトを構成する。1つのDCFオブジェクトには、お互いに関連する画像ファイルや音声ファイル等が含まれる。DCFオブジェクトは、DCF基本ファイルと、DCF拡張画像ファイルと、DCFサムネイルファイルと、から構成される。
【0022】
DCF基本ファイルは、通常は画像ファイルである。特にDCF基本ファイルは、通常はJPEG形式の画像ファイルである。また、DCF拡張画像ファイルは、DCF基本ファイルに関連付けられたファイルである。DCF拡張画像ファイルには、例えば音声ファイルが含まれる。DCFサムネイルファイルは、DCF基本ファイル及びDCF拡張画像ファイルのサムネイル画像を含む。
【0023】
撮像装置によって撮像された画像ファイルがDCF基本ファイルである場合、撮像と同時に録音された音声ファイルをDCF拡張画像ファイルとすることができる。DCF基本ファイルとDCF拡張画像ファイルとを1つのDCFオブジェクトとして管理することにより、DCF拡張画像ファイルをDCF基本ファイルに関連付けることができる。
【0024】
例えば、ファイル404とファイル405とは、同じDCFファイル番号を持つ。したがって、ファイル404とファイル405とは、1つのDCFオブジェクトを構成する。このうち、ファイル名に拡張子「JPG」が含まれるファイル404を、DCF基本ファイルとすることができる。また、ファイル名に拡張子「JPG」を含まないファイル405を、DCF拡張ファイルとすることができる。また、ファイル406も単独で1つのDCFオブジェクトを構成する。ファイル406はファイル404と同様に、DCF基本ファイルである。
【0025】
DMS機能を有するコンテンツ提供装置は、コンテンツ取得装置からのコンテンツ取得要求を検知した場合に、要求されたコンテンツを送信することができる。また、DMS機能を有するコンテンツ提供装置は、コンテンツ取得装置からのコンテンツ情報取得要求を検知した場合には、要求されたコンテンツ情報を送信することができる。DCFに従うコンテンツ提供装置は、複数のディレクトリを有することができる。そしてDCFに従うコンテンツ提供装置は、コンテンツを何れかのディレクトリ内で管理することができる。
【0026】
コンテンツ情報取得要求は、コンテンツ提供装置内の何れかのコンテンツについてのコンテンツ情報を要求するものでありうる。また、コンテンツ情報取得要求は、コンテンツ提供装置内の何れかのディレクトリ内で管理されているコンテンツのそれぞれについて、コンテンツ情報を要求するものであってもよい。
【0027】
本実施例に係るコンテンツ提供装置は、上述DLNA規格に従って動作しうる。DLNA規格に従うコンテンツ提供装置は、コンテンツ情報を、DIDL−Lite(Digital Item Description Language-Lite)形式で提供することができる。DIDL−Lite形式は、DLNA/UPnPで規定されている。
【0028】
本実施例に係る情報処理装置がコンテンツを管理するために用いるメモリは、情報処理装置が有するメモリでありうる。このメモリは、例えばRAM、ハードディスク、メモリカード、フラッシュメモリなどでありうる。また、メモリは情報処理装置とは物理的に離れた場所に設置されていてもよく、この場合情報処理装置は通信回線を通してメモリにアクセスしうる。
【0029】
図5は、本実施例に係る、DIDL−Lite形式のコンテンツ情報の一例を示す。具体的には、図4のディレクトリ403に含まれるファイル404〜406のそれぞれについてのコンテンツ情報が示される。図5に示されるコンテンツ情報501には、item要素502と、item要素503と、item要素504とが含まれる。item要素502はファイル404に、item要素503はファイル405に、item要素504はファイル406に、それぞれ対応する。上述のように、ファイル404のみについてのコンテンツ情報が生成されてもよい。この場合コンテンツ情報501には、item要素502のみが含まれるだろう。
【0030】
item要素502は、id属性と、parent属性と、relationID属性とを含む。id属性は、このitem要素を示す一意な識別子である。例えば、id属性を用いて、図4のDCFファイルシステム内の1つのファイル404を特定することができる。id属性は、例えばファイルのパス名でありうる。例えば図4のファイル404についてのid属性の値は、「Root/DCIM/100ABCD/IMG_0001.JPG」でありうる。また、図4のDCFファイルシステムが、id属性の値と、id属性の値によって特定されるファイルとを対応付けるテーブルを有していてもよい。
【0031】
parentID属性は、item要素が示すコンテンツが含まれる親ディレクトリを示すための、一意な識別子である。具体的には、item要素502に含まれるparentID属性は、DCFディレクトリ403を示す。relationID属性は、item要素が示すコンテンツに関連する関連コンテンツを示すための、一意な識別子である。
【0032】
例えば、item要素502に対応するファイル404と、item要素503に対応するファイル405とは、同一のDCFオブジェクトに含まれる。したがって、ファイル404として管理されているコンテンツと、ファイル405として管理されているコンテンツとは、互いに関連付けられたコンテンツである。したがって、item要素502に含まれるrelationID属性の値は、ファイル405を特定することができる。より具体的には、item要素502に含まれるrelationID属性の値は、ファイル405に対応するitem要素503のid属性の値に一致しうる。
【0033】
同様に、ファイル405に対応するitem要素503においてrelationID属性の値は、ファイル404に対応するitem要素502のid属性の値に一致しうる。一方で、ファイル406に対応するitem要素504においては、relationID属性は値を有さない。これは、ファイル406は単独でDCFオブジェクトを構成しているため、ファイル406に関連付けられたコンテンツは存在しないためである。さらにitem要素502は、dc:title要素と、upnp:class要素とを含む。dc:title要素は、コンテンツの名前を示す。またupnp:class要素は、コンテンツの種類を示す。
【0034】
以下に、本実施例に係るコンテンツ提供装置20の詳細な構成例を説明する。図1は、図1は、本実施例に係るコンテンツ提供装置20が備えられる、コンテンツ提供システムの一例を示す。LAN(Local Area Network)10は、コンテンツ提供装置20とコンテンツ取得装置30とを接続する通信回線である。本実施例に係るLAN10は、ホームネットワークでありうる。また、本実施例におけるLANは、有線LAN又は無線LAN(Wireless LAN)でありうる。コンテンツ提供装置20とコンテンツ取得装置30とを接続する通信回線はLANには限られない。例えば、LANの代わりに、WAN(Wide Area Network)、アドホックネットワーク、Bluetooth(登録商標)、ZIGBEE(登録商標)、UWB(Ultra Wide Band)などの通信回線を用いることもできる。
【0035】
コンテンツ提供装置20は、LAN10を介して、本実施例におけるホームネットワーク内のコンテンツ提供装置である。また、コンテンツ取得装置30は、LAN10を介して、コンテンツ提供装置20からコンテンツ及びコンテンツ情報を取得する。具体的には、コンテンツ取得装置30は、コンテンツ提供装置20に対して、コンテンツ又はコンテンツ情報を要求する。コンテンツの要求を取得すると、コンテンツ提供装置20はコンテンツ取得装置30に対して、コンテンツ又はコンテンツ情報を送信する。コンテンツ提供装置20は、コンテンツをファイルとして格納している。したがって、コンテンツ取得装置30は、コンテンツを要求する代わりに、そのコンテンツに対応するファイルを要求してもよい。
【0036】
本実施例においてコンテンツ提供装置20は、DLNAにおけるDMSとしての機能を有しうる。特に、コンテンツ提供装置20は、DMSにおけるコンテンツ・ディレクトリ・サービス(CDS、Content Directory Service)を提供しうる。CDSによって、コンテンツ提供装置20は、コンテンツ提供装置20が有するコンテンツのリストを提供することができる。また、コンテンツ提供装置20は、コンテンツ取得装置30に要求されたコンテンツを検索し、コンテンツ取得装置30に提供することができる。
【0037】
コンテンツ提供装置20は、例えば、カメラ装置、又はPC装置などでありうる。本実施例に係るコンテンツ提供装置20は、DLNAにおけるDMSの機能を有する装置であるものとする。しかしながら、その他のコンテンツ及びコンテンツ情報を提供する装置を、コンテンツ提供装置20として用いることもできる。また、コンテンツを提供する装置と、コンテンツ情報を提供する装置との組み合わせを、コンテンツ提供装置20として用いることもできる。
【0038】
本実施例に係るコンテンツ取得装置30は、ホームネットワークを介してコンテンツを取得しうる。コンテンツ取得装置30は、LAN10を介して、コンテンツ提供装置20から、コンテンツ、及びコンテンツ情報を取得しうる。コンテンツ取得装置30は、例えば、デジタル・メディア・コントローラ(DMC、Digital Media Controller)、又はデジタル・メディア・プレイヤ(DMP、Digital Media Player)などでありうる。コンテンツを取得する機能を有する装置と、コンテンツ情報を取得する機能を有する装置とを組み合わせて、本実施例に係るコンテンツ取得装置30として用いることもできる。
【0039】
図2は、本実施形態に係るコンテンツ提供装置20のハードウェア構成例を示すブロック図である。コンテンツ提供装置20は例えば、図2に示されるように、コンピュータでありうる。例えば、ワークステーション、デスクトップコンピュータ(PC)、ノートブックPC、又はパームトップPCなどを、本実施例に係るコンテンツ提供装置20として用いることができる。さらには、他のネットワーク制御装置との通信機能を有する端末をコンテンツ提供装置20として用いることもできる。例えば、通信機能を有するテレビ等の家電製品、通信機能を有するカメラ、通信機能を有するゲーム機、携帯電話、又はPHS、並びにこれらの組合せを、本実施例に係るコンテンツ提供装置20として用いることができる。
【0040】
CPU(Central Processing Unit)201は、コンテンツ提供装置20の全体を制御する。ROM(Read Only Memory)202は、ファームウェアなどのプログラム、又はパラメタを格納することができる。RAM(Random Access Memory)203は、例えば外部記憶装置204を介して、又はLANインタフェース205を介して取得したプログラムやデータなどを一時的に記憶することができる。
【0041】
外部記憶装置204は、プログラム又はデータなどを記憶することができる記憶媒体、又は記憶媒体にアクセス可能なドライブでありうる。外部記憶装置204には例えば、ハードディスク又はSSD(Solid State Drive)などが含まれる。また外部記憶装置204は、メモリカード、フレキシブルディスク(FD)、コンパクトディスク(CD)等の光ディスク、磁気カード、光カード、又はICカード、等の記憶媒体にデータを読み書きすることができる。LANインタフェース205は、コンテンツ提供装置20をLAN10に接続するために必要な通信制御を行うことができる。システムバス206は、コンテンツ提供装置20が備える各部201〜205を接続する。コンテンツ提供装置20が備える各部201〜205は、システムバス206を介して相互に通信することができる。
【0042】
CPU201は、ROM202又はRAM203に記憶されたコンピュータプログラムを実行することにより、コンテンツ提供装置20の備える各機能を実行することができる。CPU201の制御の下、外部記憶装置204又はLANインタフェース205を介して、このプログラムを取得することができる。また、CPU201の制御の下、このプログラムをRAM203に記憶させることができる。以上、コンテンツ提供装置20が備えるハードウェア構成について説明した。コンテンツ取得装置30もまたコンテンツ提供装置20と同様の構成を有することができる。
【0043】
次に図3を参照して、本実施例に係るコンテンツ提供装置20の機能を詳細に説明する。図3は、本実施例に係るコンテンツ提供装置20の機能ブロック図である。通信制御部301は、コンテンツ提供装置20とLAN10とを接続するための通信制御を行う。SSDP処理部302は、LAN10上でUPnPデバイスを発見することを可能とするための処理を行う。
【0044】
例えばSSDP処理部302は、通信制御部301からシンプル・サービス・ディスカバリ・プロトコル(SSDP、Simple Service Discovery Protocol)パケットを受信する。そしてSSDP処理部302は、UPnPで規定されるSSDP処理を行う。SSDP処理によって、コンテンツ取得装置30を含むLAN10上の他のDLNA装置に対し、コンテンツ提供装置20がDMSとしてLAN10上に存在することを、コンテンツ提供装置20は広告することができる。これは、SSDPにおけるaliveメッセージを用いることにより行うことができる。
【0045】
また、コンテンツ提供装置20はSSDP処理によって、LAN10上の他のUPnPサービスを発見することができる。さらにはコンテンツ提供装置20は、応答を行うことにより、他のDLNA装置がUPnPサービスを発見することを可能とすることができる。本実施例においてはSSDP処理が用いられるが、他の手段を用いて上述の機能を実現することもできる。例えば、ウェブ・サービス・ダイナミック・ディスカバリ(Web Services Dynamic Discovery)を用いることができる。さらには、メディア・アクセス・コントロール(MAC、Media Access Control)アドレスなどを用いることもできる。
【0046】
SOAP処理部303は、LAN10上の装置、例えばコンテンツ取得装置30との間で、メッセージ及びデータの交換を行うことができる。例えばSOAP処理部303は、通信制御部301からシンプル・オブジェクト・アクセス・プロトコル(SOAP、Simple Object Access Protocol)パケットを受信する。そしてSSDP処理部302は、UPnPで規定されるSOAP処理を行う。SOAP処理によって、コンテンツ提供装置20は、他の装置へと処理要求を行うことができる。また、SOAP処理によって、コンテンツ提供装置20は、他の装置からの処理要求を受け付けること、及び応答することができる。
【0047】
特にSOAP処理部303は、コンテンツ取得装置30から、コンテンツの送信要求を受けることができる。さらにSOAP処理部303は、コンテンツ取得装置30から、コンテンツ情報の送信要求を受けることができる。コンテンツ取得装置30は、コンテンツ提供装置20の記憶部311(メモリ)が有するコンテンツを特定する情報をコンテンツ提供装置20に対して送ることにより、このコンテンツに関するコンテンツ情報を取得することができる。具体的には、SOAP処理部303は、コンテンツ取得装置30からの要求に対する応答を、コンテンツ取得装置30に送信することができる。
【0048】
例えばコンテンツ取得装置30は、コンテンツとして、図4に示されるファイル404を特定する情報をコンテンツ提供装置20に対して送ることができる。するとコンテンツ取得装置30は、ファイル404として管理されているコンテンツに関するコンテンツ情報を取得することができる。またコンテンツ取得装置30は、例えば図4に示されるディレクトリ403を特定する情報を送ることにより、ディレクトリ403内のファイル404〜406に関するコンテンツ情報を取得することもできる。このように、コンテンツ取得装置30は、ディレクトリ内のファイルの全てを特定する情報をコンテンツ提供装置20に送ることもできる。
【0049】
本実施例ではSOAP処理を利用してメッセージの交換が行われる。しかしながら、遠隔オブジェクトを実行するための手段、例えばリモート・プロシージャ・コール(RPC、Remote Procedure Call)など、を用いてメッセージの交換を行ってもよい。また、データ(コンテンツ)の転送には、他のプロトコルを用いることもできる。例えば、ハイパー・テキスト・トランスファー・プロトコル(HTTP、Hyper Text Transfer Protocol)を用いることができる。さらには、ファイル・トランスファー・プロトコル(FTP、File Transfer Protocol)を用いることもできる。
【0050】
GENA処理部304は、LAN10上の他のDLNA装置へのイベントの追加を行うことができる。また、他のDLNA装置が有するUPnPサービスのイベントの購読を行うことができる。例えばGENA処理部304は、通信制御部301からジェネラル・イベント・ノーティフィケーション・アーキテクチャ(GENA、General Event Notification Architecture)処理を行うことができる。なお、本実施例ではGENA処理を利用しているが、ウェブ・サービス・イベンティング(WS-Eventing)、ウェブ・サービス・ノーティフィケーション(WS-Notification)などの他の手段を用いることもできる。
【0051】
制御部305は、コンテンツ提供装置20が有する各部の制御を行う。記憶部311は、コンテンツをファイルとして記憶する。また記憶部311は、コンテンツ情報を記憶することもできる。DCF管理部306は、記憶部311に記憶されているファイルを管理する(管理手段)。本実施例においては、ファイルを管理するために、DCFに従うファイルシステムが用いられる。記憶部311は例えば、外部記憶装置204内の記憶領域を用いて実現することができる。
【0052】
情報生成部307は、コンテンツ取得装置30からの要求を受け取った場合に、送信データを生成し、コンテンツ取得装置30に対して送信データを送信することができる。例えば情報生成部307は、SOAP処理部303が受信したコンテンツ取得装置30からの要求に応じて、コンテンツを含む送信データを作成することができる。また情報生成部307は、作成した送信データをコンテンツ取得装置30に送信することができる。
【0053】
さらに情報生成部307は、SOAP処理部303が受信したコンテンツ取得装置30からの要求に応じて、コンテンツ情報を含む送信データを作成することができる。そして情報生成部307は、作成した送信データをコンテンツ取得装置30に送信することができる。特に情報生成部307は、コンテンツ取得装置30からの要求において特定されているコンテンツについてのコンテンツ情報を作成することができる。
【0054】
具体的には、例えば情報生成部307は、コンテンツ取得装置30からの要求において特定されているコンテンツに関する情報を、DCF管理部306に問い合わせることができる。そして情報生成部307は、DCF管理部306から取得した情報に基づいて、DIDL−Lite形式のコンテンツ情報を生成する。本実施例においては、情報生成部はDIDL−Lite形式のコンテンツ情報を利用するものとする。しかしながら、アトム・シンジケーション・フォーマット(Atom Syndication Format)などの別の手段を利用することもできる。
【0055】
本実施例において、情報生成部307が生成したコンテンツ情報は、さらに関連判断部309及び関連付加部310によって処理される。関連判断部309及び関連付加部310による処理後のコンテンツ情報が、情報生成部307によって、通信制御部301を介してコンテンツ取得装置30へと送信される。種別判断部308は、コンテンツがDCF基本ファイルであるか、DCF拡張画像ファイルか、を判断することができる。例えば種別判断部308は、コンテンツ取得装置30からの要求において特定されているコンテンツが、DCF基本ファイルであるかDCF拡張画像ファイルかを判断することができる。
【0056】
関連判断部309は、コンテンツ取得装置30からの要求において特定されているコンテンツのファイル名と共通の名称を含むファイル名を持つファイルを検索する(検索手段)。関連判断部309は例えば、このようなファイルが記憶部311に存在するか否かを、DCF管理部306に問い合わせる。こうして関連判断部309は、コンテンツ取得装置30からの要求において特定されているコンテンツのファイル名と共通の名称を含むファイル名を持つファイルを発見することができる。
【0057】
例えば、コンテンツ取得装置30から、ファイル404についてのコンテンツ情報が要求されたものとする。この場合関連判断部309は、ファイル404の名称「0001」と共通の名称を含むファイル名を持つファイルが存在するか否かを、DCF管理部306に問い合わせる。とりわけ関連判断部309は、ファイル404の名称「0001」と共通の名称を含むファイル名を持つファイルが、ファイル404と同じディレクトリ403内に存在するか否かを問い合わせることができる。
【0058】
記憶部311には、ファイル404の名称「0001」と共通の名称を含むファイル名「IMG_0001.WAV」を持つファイルが存在する。従ってDCF管理部306は、関連判断部309に対して、パス「Root/DCIM/100ABCD/IMG_0001.WAV」で示されるファイル405のファイル名が、ファイル404のファイル名と共通の名称を含むことを通知することができる。
【0059】
関連付加部310は、関連判断部309が検索したファイルを特定する情報を作成する。あるいは関連付加部310は、関連判断部309が検索したファイルにより構成されるコンテンツを特定する情報を作成してもよい。関連判断部309が検索したファイルがファイル405である場合、ファイル405を特定する情報は、例えばファイル405のパス「Root/DCIM/100ABCD/IMG_0001.WAV」でありうる。また、ファイル405を特定する情報は、item要素503に示されるように、ファイル405のID「BBB」であってもよい。本実施例において、ファイルのIDとパス名との間の対応付けは、DCF管理部306が管理することができる。
【0060】
そして関連付加部310は、関連判断部309が検索したファイルを特定する情報を、情報生成部307が生成したコンテンツ情報に付加する。例えば関連付加部310は、情報生成部307が生成したコンテンツ情報501のrelationID属性に、関連判断部309が検索したファイルを特定する情報を追加することができる。
【0061】
図4の例においては、ファイル404の名称と共通の名称を含むファイル名を持つファイルは、ファイル405である。したがって関連付加部310は、ファイル404についてのitem要素502のrelationID属性に、ファイル405を特定するID「BBB」を追加することができる。一方でファイル406の名称と共通の名称を含むファイル名を持つファイルは存在しない。したがって関連付加部310は、ファイル406についてのitem要素504のrelationID属性には値を追加しない。
【0062】
着目ファイルの名称と共通の名称を含むファイル名を持つファイルは存在しない場合には、関連付加部310は、relationID属性を削除してもよい。また、着目ファイルの名称と共通の名称を含むファイル名を持つファイルが2つ以上存在する場合には、関連付加部310は、relationID属性に2つ以上の値を追加してもよい。関連判断部309及び関連付加部310によって処理されたコンテンツ情報は、上述のように、情報生成部307によってコンテンツ取得装置30へと送信される(送信手段)。
【0063】
関連付加部310は、情報生成部307が生成したコンテンツ情報に対して、関連判断部309が検索したファイルを特定する情報を追加した。しかしながら関連付加部310は、関連判断部309が検索したファイル(コンテンツ)を特定する情報をそのままコンテンツ取得装置30に対して送ってもよい。この場合コンテンツ取得装置30は、要求において特定したコンテンツに関連するファイル(コンテンツ)を知ることができる。従って、コンテンツ取得装置30は続けて、要求において特定したコンテンツに関連するファイル(コンテンツ)をコンテンツ提供装置20に要求することができる。
【0064】
次に、本実施例に係るコンテンツ提供装置20が行う処理を、図6のフローチャートを参照して説明する。図6のフローチャートは、コンテンツ提供装置20がコンテンツ取得装置30からのコンテンツ情報の要求を受信した際の処理を示す。ステップS601においてSOAP処理部303は、LAN10上のコンテンツ取得装置30から、コンテンツ情報の送信要求を受信する(受付手段)。例えばSOAP処理部303は、コンテンツ取得装置30からCDSに規定されるBrowseアクションを受信する。この送信要求においては、情報を要求するコンテンツが特定されている。複数のコンテンツ(ファイル)が特定されている場合、コンテンツ提供装置20は、それぞれのコンテンツについてステップS602以下の処理を繰り返す。
【0065】
ステップS602において制御部305は、コンテンツ情報の送信要求において特定されているコンテンツ(以下着目ファイルと呼ぶ)に関する情報を、DCF管理部306に問い合わせる。DCF管理部306は、記憶部311を参照して、着目ファイルに関する情報を情報生成部307に送信する。ステップS603において情報生成部307は、DCF管理部306から受信した情報に従って、コンテンツ情報を生成する。例えば情報生成部307は、ディレクトリ403内の全てのファイルについてのコンテンツ情報が要求された場合、図5に示されるコンテンツ情報501のうち、relationID属性の値を除いた部分を生成する。
【0066】
ステップS605において関連判断部309は、着目ファイルのDCFファイル番号を取得する。ステップS606において関連判断部309は、着目ファイルのDCFファイル番号と一致するDCFファイル番号を有するファイルが、存在するか否かを判断する。存在する場合、処理はステップS607に進む。存在しない場合、処理はステップS611に進む。
【0067】
ステップS607において関連付加部310は、着目ファイルのDCFファイル番号と一致するDCFファイル番号を有するファイル(以下関連ファイルと呼ぶ)を特定する情報を、ステップS603で生成されたコンテンツ情報に付加する。ステップS611においてSOAP処理部303は、コンテンツ情報をコンテンツ取得装置30に送信する。例えばSOAP処理部303は、CDSに規定されるBrowseアクションへの応答として、コンテンツ情報をコンテンツ取得装置30に送信すればよい。
【0068】
以上のようにコンテンツ提供装置20は、LAN10上のコンテンツ取得装置30からコンテンツ情報を要求された場合に、コンテンツ間の関連性を示す情報をコンテンツ情報に付加することができる。したがって、コンテンツ取得装置30には、コンテンツ間の関連性を示す情報を含むコンテンツ情報を取得する。
【0069】
本実施例によればコンテンツ取得装置30は、コンテンツ提供装置20からあるコンテンツについてのコンテンツ情報を取得する際に、そのコンテンツに関連するコンテンツが存在する事を知ることができる。このことは、ユーザの利便性の向上につながる。また、例えばコンテンツ取得装置30が画像コンテンツを検索する際に、同時に関連する音声コンテンツを発見することができる。この場合コンテンツ取得装置30は、画像コンテンツと音声コンテンツを組み合わせて再生することができる。このことは、ユーザエクスペリエンスを向上させることができる。
【0070】
本実施例によればコンテンツ提供装置20は、着目ファイルについてのコンテンツ情報を要求された時に、着目ファイルに関連するファイル(関連ファイル)を特定する情報を送信することができる。しかしながら、着目ファイルについてのコンテンツ情報を要求された時に、コンテンツ提供装置20は、関連ファイルを送信することもできる。
【0071】
また、他の実施例においては、コンテンツ提供装置20が関連ファイルを特定する情報を送信するのは、コンテンツ情報を要求された時に限られない。例えばコンテンツ取得装置30は、着目ファイルに関連するファイルを特定する情報を、コンテンツ提供装置20に要求してもよい。またコンテンツ提供装置20は、着目ファイルを送信することを要求された時に、着目ファイルとともに、関連ファイルを特定する情報を送信してもよい。この場合コンテンツ提供装置20は、着目ファイルとともに、関連ファイルを送信してもよい。
【0072】
[実施例1の変形例]
実施例1においては、着目ファイルがDCF基本ファイルである場合と、着目ファイルがDCF拡張画像ファイルである場合とで、同一の処理が行われた。しかしながら、着目ファイルがDCF基本ファイルである場合と、着目ファイルがDCF拡張画像ファイルである場合とで、異なる処理が行われてもよい。
【0073】
例えば実施例1においては、DCF基本ファイルのコンテンツ情報には、関連するDCF拡張画像ファイルを特定する情報を付加した。また、DCF拡張画像ファイルのコンテンツ情報には、関連するDCF基本ファイルを特定する情報を付加した。しかしながら、DCF基本ファイルにのみ、このような情報を付加することもできる。
【0074】
このことは、ステップS603の後に、着目ファイルがDCF基本ファイルであるか否かを判断するステップを追加することにより実現できる。この場合、着目ファイルがDCF基本ファイルである場合には処理はステップS605に進む。また、着目ファイルがDCF基本ファイルではない場合には処理はステップS611に進む。この場合、DCF基本ファイルからDCF拡張画像ファイルへの一方方向の関係が、コンテンツ情報に付加される。
【0075】
例えばコンテンツ取得装置30において、画像の表示中に、画像に関連した音声を再生する場合がある。このような場合、画像を含むDCF基本ファイルのコンテンツ情報に、音声を含むDCF拡張画像ファイルを特定する情報が含まれていれば十分である。したがって、DCF拡張画像ファイルについてのコンテンツ情報を作成する場合に、図6のステップS605〜S607を省略する事ができる。このように、コンテンツ取得装置30からのコンテンツ情報の送信要求に対する応答速度を向上させることができる。
【0076】
また、着目ファイルがDCF拡張画像ファイルである場合に、関連するDCF基本ファイルと、関連する他のDCF拡張画像ファイルとの双方が存在する場合がある。このような場合、着目ファイルについてのコンテンツ情報には、全ての関連ファイルを特定する情報を含めることができる。一方で、着目ファイルについてのコンテンツ情報に、関連するDCF基本ファイルを特定する情報のみを含めることもできる。さらには、着目ファイルがDCF基本ファイルでもDCF拡張画像ファイルでもない場合に、図6のステップS605〜S607を省略することもできる。
【実施例2】
【0077】
以下、添付の図面を参照して、本発明の実施例2を説明する。本実施例に係るコンテンツ提供装置20は、実施例1と同様の機能を有する。また、本実施例に係るコンテンツ提供装置20は、LAN10を介して、実施例1と同様の機能を有するコンテンツ取得装置30と接続されている。本実施例に係るコンテンツ提供装置20は、コンテンツ取得装置30から送信されたコンテンツを格納することができる。本実施例に係るコンテンツ提供装置20は特に、CDSに規定されるコンテンツ追加準備機能を実行することができる。例えば本実施例に係るコンテンツ提供装置20はCreateObjectアクションを行うことができる。
【0078】
また、本実施例に係るコンテンツ取得装置30は、コンテンツ提供装置20に対してコンテンツを送信することにより、コンテンツ提供装置20にコンテンツを格納させることができる。例えば本実施例に係るコンテンツ取得装置30は、コンテンツ提供装置20に対し、コンテンツ追加準備要求、及びコンテンツ追加要求を送信することができる。
【0079】
本実施例に係るコンテンツ提供装置20及びコンテンツ取得装置30は、実施例1と同様のハードウェアを用いて実現することができる。例えば本実施例に係るコンテンツ提供装置20及びコンテンツ取得装置30は、図2に例示したハードウェア構成を用いて実現することができる。
【0080】
次に、本実施例に係るコンテンツ提供装置20が有する機能について、図8の機能ブロック図を参照して説明する。実施例1について説明された機能と同様の機能には、同一の参照符号が付される。またこれらの機能については、説明を省略する。また、図8には、実施例1で説明した処理部307〜310が図示されていない。本実施例に係るコンテンツ提供装置は、これらの処理部307〜310を有しうる。すなわち本実施例に係るコンテンツ提供装置20は、実施例1で説明された機能を発揮することもできる。一方で本実施例に係るコンテンツ提供装置は、これらの処理部307〜310を有していなくてもよい。すなわち本実施例に係るコンテンツ提供装置20が、実施例1で説明された機能を発揮することは必須ではない。
【0081】
抽出部807は、コンテンツ追加準備要求に含まれるコンテンツ情報を抽出する。このコンテンツ追加準備要求は、コンテンツ取得装置30から送信され、SOAP処理部303によって取得される。このコンテンツ追加準備要求は、例えばCDSに規定されるCreateObjectアクション要求でありうる。また、コンテンツ追加準備要求に含まれるコンテンツ情報とは、図9に示すDIDL−Lite形式のコンテンツ情報でありうる。本実施例において、コンテンツ追加準備要求においては、第2のファイル(第2のコンテンツ)をコンテンツ提供装置20に登録することを要求することができる。この際、第2のファイル(第2のコンテンツ)を、コンテンツ提供装置20によって管理されている第1のファイル(第1のコンテンツ)に関連するファイル(コンテンツ)として、コンテンツ提供装置20に登録することを要求することができる。
【0082】
図9を参照して、コンテンツ追加準備要求に含まれるコンテンツ情報の一例を説明する。図9には、DIDL−Lite形式のコンテンツ情報901が示されている。コンテンツ情報901に含まれるそれぞれの項目及び要素は、コンテンツ情報501と同様の情報を示す。以下では例として、図4のファイル406に対して関連するファイル407(不図示)を登録する場合について説明する。ファイル407は音声ファイルである。ファイル407は、DCF拡張画像ファイルとして、DCF基本ファイルであるファイル406に関連付けて登録される。
【0083】
コンテンツ情報901は、コンテンツ提供装置20に登録されようとしているファイル407についてのコンテンツ情報を示すitem要素902を有する。ファイル407はまだコンテンツ提供装置に登録されていないため、id属性は値を持たない。parentID属性には、ファイル407を登録しようとするディレクトリを指定することができる。item要素902によれば、ファイル407は図4のディレクトリ403に登録される。
【0084】
relationID属性には、ファイル407が関連付けられる関連ファイル406(関連コンテンツ)を特定する情報(関連性情報)が設定される。具体的には、関連ファイルを示す一意な識別子を指定すればよい。実施例1で説明したように、この識別子は関連ファイル406のパス名であってもよい。また、DCFファイルシステムによって管理されている、関連ファイル406についてのid属性の値、であってもよい。また、dc:title要素には、ファイル407の名前として、任意の文字列を指定することができる。
【0085】
情報存在判断部808は、抽出部807で抽出したコンテンツ情報901に、関連コンテンツを特定する関連性情報が含まれるか否かを判断する。例えば情報存在判断部808は、item要素902のrelationID属性が存在するか否かを判断することができる。また情報存在判断部808は、relationID属性に値が含まれているか否かを判断することができる。そして情報存在判断部808は、関連性情報をコンテンツ情報901から抽出することができる。
【0086】
コンテンツ存在判断部809は、情報存在判断部808が抽出した関連性情報が示すコンテンツ(関連コンテンツ)が、コンテンツ提供装置20内に存在するか否かを判断する。例えばコンテンツ存在判断部809は、関連コンテンツがコンテンツ提供装置20内に存在するか否かを、DCF管理部306に問い合わせることができる。さらにコンテンツ存在判断部809は、関連コンテンツがDCF基本ファイルであるか、またはDCF拡張画像ファイルであるか、を問い合わせることができる。
【0087】
DCF記憶制御部810は、コンテンツ取得装置30から取得したコンテンツを、関連コンテンツに関連付けて記憶部311に格納するように、DCF管理部306に要求する。本実施例においてはファイル407が、ファイル406に関連付けて格納される。したがってDCF記憶制御部810はまず、ファイル406のDCFファイル番号を取得する。次にDCF記憶制御部810は、ファイル406と共通のDCFファイル番号を有するファイル名を、ファイル407のファイル名として作成する。そしてDCF記憶制御部810は、作成したファイル名をファイル407と対応付けて記憶部311に格納するように、DCF管理部306に要求する。
【0088】
コンテンツ情報901のupnp:class要素内の記述「object.item.audioItem.musictrack」によれば、ファイル407はWAVE形式の音声データであることがわかる。したがってDCF記憶制御部810は、ファイル407のファイル名の拡張子を「WAV」とすることができる。この結果、図4のディレクトリ403内に、ファイル名「IMG_0002.WAV」を有するファイル407が、DCF拡張画像ファイルとして格納される。ファイル406及びファイル407は、ディレクトリ403内で、1つのDCFオブジェクトを構成する。
【0089】
upnp:class要素内の記述は、ファイルの種類を示す。ファイルの書類と拡張子とを対応付ける情報は、上述したように、例えばコンテンツ提供装置20が有していてもよい。また、コンテンツ情報901の中に、ファイルの書類と拡張子とを対応付ける情報が含まれていてもよい。
【0090】
図10は、上述のようにファイル407がコンテンツ提供装置20に格納された後で、コンテンツ提供装置20が提供するコンテンツ情報の一例を示す。コンテンツ情報1101は、item要素502、503、1104、及び1105を含む。図10のitem要素502及び503は、図5のitem要素502及び503に一致する。
【0091】
item要素1104はファイル406についての情報であって、relationID属性が値を含む点で、item要素504とは異なる。この例では、ファイル406と一致する名称を含むファイル名を有するファイル407が存在するため、relationID属性の値として、ファイル407を特定する情報が存在する。図10においては、item要素1104のrelationID属性の値は、ファイル407についてのid属性の値である「DDD」である。
【0092】
また、item要素1105はファイル407についての情報である。item要素1105はitem要素1104と類似しているが、relationID属性の値として、関連するファイル406を特定する情報が存在する。また本実施例においては、ファイル407についてのコンテンツの名前を示すdc:title要素の値は、ファイル406についてのdc:title要素と同じ値である。これは、ファイル406とファイル407とが1つのDCFオブジェクトを構成するためである。しかしながら、ファイル406についてのdc:title要素とファイル407についてのdc:title要素とは、別の値を有してもよい。
【0093】
DCF記憶制御部810は、コンテンツ取得装置30から取得したコンテンツの種類と、関連コンテンツの種類とに応じて、作成するファイル名を変更することができる。例えば、関連ファイル406がDCF基本ファイルである場合、DCF記憶制御部810は、ファイル407をDCF拡張画像ファイルとして記憶することができる。また、関連ファイル406がDCF拡張画像ファイルである場合、DCF記憶制御部810は、ファイル407をDCF基本ファイルとして記憶することができる。この処理については、図11のフローチャートを参照して後に詳しく説明する。
【0094】
またDCF記憶制御部810は、コンテンツ取得装置30から取得したコンテンツを格納するディレクトリを決定することができる。例えばDCF記憶制御部810は、コンテンツ取得装置30から取得したコンテンツ情報に含まれるparentID属性の値に従って、コンテンツを格納するディレクトリを決定することができる。
【0095】
図7は、コンテンツを追加する際にコンテンツ提供装置20とコンテンツ取得装置30との間で交換されるメッセージを示す。メッセージM1201は、コンテンツ取得装置30からコンテンツ提供装置20への、コンテンツ追加準備要求メッセージである。例えば、CDSに規定されるCreateObjectアクション要求メッセージでありうる。メッセージM1202は、コンテンツ提供装置20からコンテンツ取得装置30への、コンテンツ追加準備応答メッセージである。例えば、CDSに規定されるCreateObjectアクション応答メッセージでありうる。
【0096】
メッセージM1203は、コンテンツ取得装置30からコンテンツ提供装置20への、コンテンツ追加要求メッセージである。コンテンツ追加要求メッセージには、コンテンツ取得装置30に登録されるコンテンツの実体データが含まれる。メッセージM1204は、コンテンツ提供装置20からコンテンツ取得装置30への、コンテンツ追加応答メッセージである。
【0097】
図11は、本実施例に係るコンテンツ提供装置20が、コンテンツ追加準備要求を受信した際に行う処理を示す。ステップS1301においてSOAP処理部303は、コンテンツ取得装置30からコンテンツ追加準備要求を受信する(受信手段)。このコンテンツ追加準備要求には、追加するコンテンツ(追加コンテンツ)についてのコンテンツ情報が含まれる。例えばSOAP処理部303は、コンテンツ取得装置30から、CDSに規定されるCreateObjectアクションを受信する。複数のコンテンツを追加する準備を行うことを要求された場合、ステップS1302〜S1314の処理は、それぞれのコンテンツについて繰り返される。
【0098】
ステップS1302において抽出部807は、ステップS1301で受信されたコンテンツ追加準備要求から、追加コンテンツについてのコンテンツ情報を抽出する。ステップS1303において情報存在判断部808は、ステップS1302において抽出されたコンテンツ情報において、追加コンテンツに関連するコンテンツ(関連コンテンツ)が特定されているか否かを判断する。例えば、DIDL−Lite形式のコンテンツ情報において、item要素のrelationID属性が値を有するか否かを判断する。関連コンテンツが特定されている場合、処理はステップS1304に進む。関連コンテンツが特定されていない場合、処理はステップS1313に進む。
【0099】
ステップS1304においてコンテンツ存在判断部809は、ステップS1302において抽出されたコンテンツ情報において特定されている関連コンテンツが、記憶部311内に存在するか否かを判断する。具体的には、追加コンテンツについてのitem要素のrelationID属性の値で特定されるコンテンツが、存在するか否かを判断すればよい。例えばコンテンツ存在判断部809は、ステップS1302において抽出されたコンテンツ情報において特定されている関連コンテンツが存在するか否かを、DCF管理部306に問い合わせればよい。関連コンテンツが存在する場合、処理はステップS1305に進む。関連コンテンツが存在しない場合、処理はステップS1313に進む。
【0100】
ステップS1305においてコンテンツ存在判断部809は、関連コンテンツがDCF基本ファイルであるか否かを判断する。例えば、関連コンテンツが拡張子「JPG」のファイルとして格納されている場合に、関連コンテンツがDCF基本ファイルであると判断することができる。関連コンテンツがDCF基本ファイルである場合、処理はステップS1306に進む。また関連コンテンツがDCF基本ファイルではない場合、処理はステップS1310に進む。
【0101】
ステップS1306においてDCF記憶制御部810は、追加コンテンツが画像コンテンツか否かを判断する。上述のように、ステップS1302において抽出されたコンテンツ情報中の、item要素内のupnp:class要素に含まれる値に基づき、追加コンテンツの種類を判断することができる。追加コンテンツが画像コンテンツではないと判断した場合、処理はステップS1307に進む。追加コンテンツが画像コンテンツであると判断した場合、処理はステップS1308に進む。
【0102】
処理がステップS1307に進んだ場合、関連コンテンツはDCF基本ファイルであり、追加コンテンツは画像コンテンツではない。したがって、追加コンテンツを、関連コンテンツに関連付けられたDCF拡張画像ファイルとして格納することができる。例えばDCF記憶制御部810は、追加コンテンツのファイル名として、関連コンテンツに対応づけられたファイル名と共通の名称を含むファイル名を作成すればよい。このようにして、追加コンテンツと関連コンテンツとを1つのDCFオブジェクトとして管理することができる。
【0103】
具体的には、関連コンテンツのDCFファイル番号を有するファイル名を、追加コンテンツのファイル名とすればよい。関連コンテンツ(ファイル)が「IMG_0002.JPG」であり、追加コンテンツ(ファイル)がWAVE形式の音声ファイルである場合には、追加コンテンツのファイル名を「IMG_0002.WAV」とすればよい。
【0104】
処理がステップS1308に進んだ場合、関連コンテンツはDCF基本ファイルであり、追加コンテンツは画像コンテンツである。通常、複数のDCF基本ファイルで1つのDCFオブジェクトを構成することはできない。この場合、追加コンテンツをDCF拡張画像ファイルとして格納することができる。
【0105】
具体的には、関連コンテンツの拡張子とは異なる拡張子を持つように、追加コンテンツのファイル名を決定すればよい。この場合、追加コンテンツの拡張子に基づいて追加コンテンツの種類を判別できるように、拡張子とコンテンツの種類の関係を示す情報を、コンテンツ提供装置20が有していることが好ましい。追加コンテンツのファイル名は、追加コンテンツが格納されるディレクトリ内の他のファイルのファイル名と一致しないように決定されるべきである。もっとも、ステップS1313の処理を行うことにより、追加コンテンツを、関連コンテンツとは独立した別のDCF基本ファイルとして格納することもできる。
【0106】
ステップS1310においてDCF記憶制御部810は、ステップS1306と同様に、追加コンテンツが画像コンテンツであるか否かを判断する。追加コンテンツが画像コンテンツである場合、処理はステップS1311に進む。追加コンテンツが画像コンテンツではない場合、処理はステップS1312に進む。
【0107】
処理がステップS1311に進んだ場合、関連コンテンツはDCF拡張画像ファイルであり、追加コンテンツは画像コンテンツである。したがって、追加コンテンツを、関連コンテンツに関連付けられたDCF基本ファイルとして格納することができる。例えばDCF記憶制御部810は、追加コンテンツのファイル名として、関連コンテンツに対応づけられたファイル名と共通の名称を含むファイル名を作成すればよい。このようにして、追加コンテンツと関連コンテンツとを1つのDCFオブジェクトとして管理することができる。
【0108】
具体的には、関連コンテンツのDCFファイル番号を有するファイル名を、追加コンテンツのファイル名とすればよい。関連コンテンツ(ファイル)が「IMG_0002.WAV」であり、追加コンテンツ(ファイル)がJPEG形式の画像ファイルである場合には、追加コンテンツのファイル名を「IMG_0002.JPG」とすればよい。
【0109】
処理がステップS1312に進んだ場合、関連コンテンツはDCF拡張画像ファイルであり、追加コンテンツは画像コンテンツではない。この場合追加コンテンツを、DCF拡張画像ファイルとして格納することができる。例えばDCF記憶制御部810は、関連コンテンツに対応づけられたファイル名と共通の名称を含むファイル名を、追加コンテンツのファイル名として作成すればよい。追加コンテンツの拡張子は、追加コンテンツの種類に従って決定することができる。追加コンテンツのファイル名は、追加コンテンツが格納されるディレクトリ内の他のファイルのファイル名と一致しないように決定されるべきである。
【0110】
処理がステップS1313に進んだ場合、追加ファイルに関連するファイルが特定されていないか、又は特定された関連ファイルは存在しない。この場合、通常の処理に従って追加ファイルを格納すればよい。例えばDCF記憶制御部810は、追加コンテンツが格納されるディレクトリ内の他のファイルのファイル名と一致しないように、追加コンテンツのファイル名を決定すればよい。追加コンテンツの拡張子は、追加コンテンツの種類に従って決定することができる。
【0111】
ステップS1314においてSOAP処理部303は、ステップS1301で受信したコンテンツ追加準備要求に対して応答する。具体的にはSOAP処理部303は、CDSの規定に従って、CreateObjectアクションで規定された処理を実行すればよい。次にSOAP処理部303は、CDSで規定されたCreateObjectアクションに対する応答を作成する。そしてSOAP処理部303は、作成された応答をコンテンツ取得装置30に対して送信する。
【0112】
こうして、本実施例に係るコンテンツ提供装置20が、コンテンツ追加準備要求を受信した際に行う処理が終了する。本実施例においてコンテンツ提供装置20は、関連コンテンツが存在する場合には、追加コンテンツを関連コンテンツに関連づけて格納した。しかしながら、関連コンテンツがDCF基本ファイルでもDCF拡張画像ファイルでもない場合には、コンテンツ提供装置20は、追加コンテンツを関連コンテンツとは別個のDCFオブジェクトとして格納することもできる。
【0113】
図12は、本実施例に係るコンテンツ提供装置20が、コンテンツ追加要求を受信した際に行う処理を示す。コンテンツ追加要求は、LAN10を介して、コンテンツ取得装置30からコンテンツ提供装置20へと送信される。図7を用いて説明したように、コンテンツ提供装置20がコンテンツ追加準備要求に対する応答をコンテンツ取得装置30に対して送信した後に、コンテンツ取得装置30はコンテンツ追加要求をコンテンツ提供装置20に送信する。すなわちコンテンツ提供装置20は、コンテンツ追加要求を受信する際には、追加コンテンツについてのファイル名を既に決定している。
【0114】
ステップS1401においてSOAP処理部303は、コンテンツ取得装置30からコンテンツ追加要求を受信する。コンテンツ追加要求メッセージ中には、追加コンテンツの実体データが含まれる。ステップS1402において、DCF記憶制御部810は、コンテンツ追加準備要求を受信した際の決定に従って、コンテンツ追加要求に含まれる追加コンテンツを格納する(登録手段)。例えばDCF記憶制御部810は、追加コンテンツを格納するようにDCF管理部306に要求することができる。このときDCF記憶制御部810は、追加コンテンツに対して用いるファイル名と、格納するディレクトリ名とを指定することができる。DCF管理部306は、DCF記憶制御部810の指示に従って、追加コンテンツを記憶部311に格納する。
【0115】
以上説明したように、コンテンツ提供装置20は、コンテンツ取得装置30から取得した追加コンテンツを、コンテンツ提供装置20内のコンテンツと関連付けて格納することができる。例えば、追加コンテンツと、追加コンテンツと関連するコンテンツとして設定された関連コンテンツとを、1つのDCFオブジェクトとして管理することができる。
【0116】
例えば、コンテンツ取得装置30のユーザは、音声コンテンツをコンテンツ提供装置20に登録することができる。この際ユーザは、コンテンツ提供装置20が管理する画像コンテンツと音声コンテンツとが互いに関連付けられるように、音声コンテンツをコンテンツ提供装置20に登録することができる。この結果、実施例1で説明したように、コンテンツ提供装置20に対して画像コンテンツを特定する情報を送信することにより、コンテンツ取得装置30は、画像コンテンツに関連する音声コンテンツを特定する情報を取得することができる。このように、コンテンツ取得装置30のユーザは、画像コンテンツと音声コンテンツを関連させて再生することが可能となる。
【0117】
[その他の実施形態]
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムコードを読み出して実行する。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【特許請求の範囲】
【請求項1】
ファイル群をメモリ内で管理する情報処理装置であって、
管理されているファイル群のうち互いに関連するファイルとして設定されているファイル間で共通する第1の文字列と、前記互いに関連するファイルとして設定されているファイル間で相違する第2の文字列と、を含むファイル名をファイルに対応付けることにより、該ファイルを前記メモリ内で管理する管理手段と、
クライアント装置から、前記メモリ内で管理されているファイルを特定する情報を受け付ける受付手段と、
前記クライアント装置からの前記情報を検知した場合、前記情報で特定されるファイルに対応づけられたファイル名と共通する前記第1の文字列を含むファイル名が対応づけられたファイルを、前記メモリ内のファイル群から検索する検索手段と、
前記検索手段が検索したファイルを特定する情報を作成し、該作成した情報を前記クライアント装置に対して送信する送信手段と
を備えることを特徴とする情報処理装置。
【請求項2】
更に、
前記メモリ内で管理されている第1のファイルと関連するファイルとして設定された第2のファイルを、前記クライアント装置から受信する受信手段と、
前記第1のファイルに対応づけられたファイル名と共通する前記第1の文字列を含むファイル名を作成し、該作成したファイル名と対応付けて前記第2のファイルを前記メモリ内に登録する登録手段と
を備えることを特徴とする、請求項1に記載の情報処理装置。
【請求項3】
前記第2の文字列は、前記ファイル名の拡張子であり、
前記第1の文字列は、前記ファイル名から拡張子を除いた文字列である
ことを特徴とする、請求項1又は2に記載の情報処理装置。
【請求項4】
デザイン・ルール・フォー・カメラ・ファイル・システム(Design rule for Camera File System)に従ってファイルをメモリ内で管理することを特徴とする、請求項1乃至3の何れか1項に記載の情報処理装置。
【請求項5】
ファイル群をメモリ内で管理する情報処理装置が行う情報処理方法であって、
前記情報処理装置の管理手段が、管理されているファイル群のうち互いに関連するファイルとして設定されているファイル間で共通する第1の文字列と、前記互いに関連するファイルとして設定されているファイル間で相違する第2の文字列と、を含むファイル名をファイルに対応付けることにより、該ファイルを前記メモリ内で管理する管理工程と、
前記情報処理装置の受付手段が、クライアント装置から、前記メモリ内で管理されているファイルを特定する情報を受け付ける受付工程と、
前記クライアント装置からの前記情報を検知した場合、前記情報処理装置の検索手段が、前記情報で特定されるファイルに対応づけられたファイル名と共通する前記第1の文字列を含むファイル名が対応づけられたファイルを、前記メモリ内のファイル群から検索する検索工程と、
前記情報処理装置の送信手段が、前記検索工程で検索したファイルを特定する情報を作成し、該作成した情報を前記クライアント装置に対して送信する送信工程と
を備えることを特徴とする情報処理方法。
【請求項6】
コンピュータを、請求項1乃至4の何れか1項に記載の情報処理装置が有する各手段として機能させるための、コンピュータプログラム。
【請求項1】
ファイル群をメモリ内で管理する情報処理装置であって、
管理されているファイル群のうち互いに関連するファイルとして設定されているファイル間で共通する第1の文字列と、前記互いに関連するファイルとして設定されているファイル間で相違する第2の文字列と、を含むファイル名をファイルに対応付けることにより、該ファイルを前記メモリ内で管理する管理手段と、
クライアント装置から、前記メモリ内で管理されているファイルを特定する情報を受け付ける受付手段と、
前記クライアント装置からの前記情報を検知した場合、前記情報で特定されるファイルに対応づけられたファイル名と共通する前記第1の文字列を含むファイル名が対応づけられたファイルを、前記メモリ内のファイル群から検索する検索手段と、
前記検索手段が検索したファイルを特定する情報を作成し、該作成した情報を前記クライアント装置に対して送信する送信手段と
を備えることを特徴とする情報処理装置。
【請求項2】
更に、
前記メモリ内で管理されている第1のファイルと関連するファイルとして設定された第2のファイルを、前記クライアント装置から受信する受信手段と、
前記第1のファイルに対応づけられたファイル名と共通する前記第1の文字列を含むファイル名を作成し、該作成したファイル名と対応付けて前記第2のファイルを前記メモリ内に登録する登録手段と
を備えることを特徴とする、請求項1に記載の情報処理装置。
【請求項3】
前記第2の文字列は、前記ファイル名の拡張子であり、
前記第1の文字列は、前記ファイル名から拡張子を除いた文字列である
ことを特徴とする、請求項1又は2に記載の情報処理装置。
【請求項4】
デザイン・ルール・フォー・カメラ・ファイル・システム(Design rule for Camera File System)に従ってファイルをメモリ内で管理することを特徴とする、請求項1乃至3の何れか1項に記載の情報処理装置。
【請求項5】
ファイル群をメモリ内で管理する情報処理装置が行う情報処理方法であって、
前記情報処理装置の管理手段が、管理されているファイル群のうち互いに関連するファイルとして設定されているファイル間で共通する第1の文字列と、前記互いに関連するファイルとして設定されているファイル間で相違する第2の文字列と、を含むファイル名をファイルに対応付けることにより、該ファイルを前記メモリ内で管理する管理工程と、
前記情報処理装置の受付手段が、クライアント装置から、前記メモリ内で管理されているファイルを特定する情報を受け付ける受付工程と、
前記クライアント装置からの前記情報を検知した場合、前記情報処理装置の検索手段が、前記情報で特定されるファイルに対応づけられたファイル名と共通する前記第1の文字列を含むファイル名が対応づけられたファイルを、前記メモリ内のファイル群から検索する検索工程と、
前記情報処理装置の送信手段が、前記検索工程で検索したファイルを特定する情報を作成し、該作成した情報を前記クライアント装置に対して送信する送信工程と
を備えることを特徴とする情報処理方法。
【請求項6】
コンピュータを、請求項1乃至4の何れか1項に記載の情報処理装置が有する各手段として機能させるための、コンピュータプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2012−18488(P2012−18488A)
【公開日】平成24年1月26日(2012.1.26)
【国際特許分類】
【出願番号】特願2010−154358(P2010−154358)
【出願日】平成22年7月6日(2010.7.6)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成24年1月26日(2012.1.26)
【国際特許分類】
【出願日】平成22年7月6日(2010.7.6)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]