(58)【調査した分野】(Int.Cl.,DB名)
前記マッチング部は、前記記憶部がデータベースとして構成される場合、前記記憶部に、前記提供者側回答情報に対応する前記ユーザ側回答情報が記憶されているか否かを評価するためのユーザ側回答情報評価APIを呼び出し、
評価結果が真となった前記提供者側回答情報に対応する前記コンテンツを取得する
請求項2に記載の情報処理装置。
前記マッチング部は、前記ユーザ側回答情報と、前記サーバから送信されてくる、前記提供者によって設定された前記回答の組み合わせを示すクエリとのマッチングを行うことで、前記サーバから配信される前記コンテンツを取得する
請求項2に記載の情報処理装置。
前記マッチング部は、前記記憶部がデータベースとして構成される場合、前記記憶部に、前記クエリに対応する前記ユーザ側回答情報が記憶されているか否かを評価するためのユーザ側回答情報評価APIを呼び出し、
評価結果が真となった前記クエリに対応する前記コンテンツを取得する
請求項7に記載の情報処理装置。
前記マッチング部は、前記記憶部がデータベースとして構成される場合、前記記憶部に、前記提供者側回答情報に対応する前記クエリが記憶されているか否かを評価するためのクエリ評価APIを呼び出し、
評価結果が真となった前記提供者側回答情報に対応する前記コンテンツを取得する
請求項12に記載の情報処理装置。
【発明を実施するための形態】
【0034】
以下、本技術の実施の形態について図を参照して説明する。
【0035】
[放送システムの構成例]
図1は、本技術の一実施の形態に係る放送システムの構成例を示している。
【0036】
図1の放送システム10は、デジタルテレビジョン番組(以下、適宜コンテンツという)を放送(提供)する放送事業者などのプロバイダ側に設置されたサーバ11、および、放送されたコンテンツを視聴するユーザ宅などに設置されたクライアント端末(以下、単にクライアントという)12により構成されている。なお、クライアント12は、複数のユーザ宅のそれぞれに設置されるものとするが、携帯電話機やPDA(Personal Digital Assistant)等の携帯型端末装置として構成されるようにもできる。
【0037】
放送システム10において、サーバ11は、コンテンツとともに、そのコンテンツに関するコンテンツメタデータを、デジタル放送波の信号として、クライアント12に送出する。クライアント12は、コンテンツとともに送出されるコンテンツメタデータを基に、コンテンツをフィルタリングすることにより、ユーザの所望するコンテンツのみを再生または蓄積する。なお、コンテンツメタデータは、コンテンツとともに送出されるのではなく、コンテンツが送出されるより前に送出されるようにしてもよい。
【0038】
[サーバのハードウェア構成例]
図2は、サーバ11のハードウェア構成例を表している。
図2においては、サーバ11は、例えばコンピュータをベースに構成されている。
【0039】
CPU(Central Processing Unit)21は、ROM(Read Only Memory)22に記憶されているプログラム、または記憶部28からRAM(Random Access Memory)23にロードされたプログラムに従って各種の処理を実行する。RAM23にはまた、CPU21が各種の処理を実行する上において必要なデータなども適宜記憶される。
【0040】
CPU21、ROM22、およびRAM23は、バス24を介して相互に接続されている。このバス24にはまた、入出力インタフェース25も接続されている。
【0041】
入出力インタフェース25には、キーボード、マウスなどよりなる入力部26、LCD(Liquid Crystal Display)や有機EL(Electro Luminescence)などよりなるディスプレイ、並びにスピーカなどよりなる出力部27、ハードディスクなどより構成される記憶部28、モデム、ターミナルアダプタなどより構成される通信部29が接続されている。通信部29は、図示せぬネットワークを介して外部の装置と通信する。また、通信部29を介してプログラムが取得され、記憶部28に記憶されるようにしてもよい。
【0042】
入出力インタフェース25にはまた、必要に応じてドライブ30が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア31が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部28にインストールされる。
【0043】
なお、図示は省略するが、クライアント12も同様に、そのハードウェアは
図2に示されるように構成される。
【0044】
[サーバの機能構成例]
次に、
図3を参照して、サーバ11の機能構成例について説明する。
【0045】
サーバ11は、PDI-Qジェネレータ41、通信部42、PDI-Aジェネレータ43、メタデータディストリビュータ44、コンテンツ蓄積部45、およびコンテンツディストリビュータ46から構成される。
【0046】
PDI-Qジェネレータ41は、クライアント12のユーザ(視聴者)の嗜好についての質問を表す情報であるPDI-Q(Preference Demographic and Interest - Question)を生成し、通信部42を介してクライアント12に送信するとともに、PDI-Aジェネレータ43に供給する。
【0047】
通信部42は、クライアント12からの要求に応じて、PDI-Qジェネレータ41、メタデータディストリビュータ44、およびコンテンツディストリビュータ46から供給される各種データを、クライアント12に送信する。
【0048】
PDI-Aジェネレータ43は、PDI-Qジェネレータ41からのPDI-Qに基づいて、PDI-Qに対応する、上述したクライアント12のユーザの嗜好についての質問に対して、プロバイダ側が設定した回答を表す情報であるPDI-A(Preference Demographic and Interest - Answer)を生成し、メタデータディストリビュータ44に供給する。
【0049】
メタデータディストリビュータ44は、PDI-Aジェネレータ43からのPDI-Aに基づいて、コンテンツ蓄積部45に蓄積されているコンテンツの中から、プロバイダ側が設定した回答に対応するコンテンツを特定(照会)する。メタデータディストリビュータ44は、特定したコンテンツのコンテンツメタデータとして、PDI-Aを含むコンテンツメタデータを生成し、通信部42を介してクライアント12に送信する。
【0050】
コンテンツ蓄積部45は、クライアント12に対して配信される種々のコンテンツを蓄積している。
【0051】
コンテンツディストリビュータ46は、コンテンツ蓄積部45に蓄積されているコンテンツの中からメタデータディストリビュータ44によって特定されたコンテンツを取得し、通信部42を介してクライアント12に送信する。
【0052】
[クライアントの機能構成例]
次に、
図4を参照して、クライアント12の機能構成例について説明する。
【0053】
クライアント12は、通信部51、PDI-Aジェネレータ52、PDIストア53、コンテンツフィルタ54、コンテンツ再生部55、およびコンテンツ蓄積部56から構成される。
【0054】
通信部51は、サーバ11から送信されてきた各種データを受信し、PDI-Aジェネレータ52またはコンテンツフィルタ54に供給する。また、通信部51は、サーバ11に対する要求を、サーバ11に送信する。
【0055】
PDI-Aジェネレータ52は、サーバ11から送信されてきたPDI-Qに基づいて、PDI-Qに対応する、クライアント12のユーザの嗜好についての質問に対するユーザの回答を表すPDI-Aを生成し、PDIストア53に格納する。
【0056】
PDIストア53は、PDI-Aジェネレータ52からのPDI-Aを記憶する。PDIストア53に記憶されているPDI-Aは、ファイルシステムによりアクセスされ、必要に応じて、コンテンツフィルタ54に読み出される。
【0057】
コンテンツフィルタ54は、PDIストア53からPDI-Aを読み出し、そのPDI-Aと、サーバ11から送信されてきたコンテンツのコンテンツメタデータに含まれているPDI-Aとのマッチングを行うことで、サーバ11から配信されるコンテンツをフィルタリングする。コンテンツフィルタ54は、フィルタリングの結果に応じて、フィルタリングしたコンテンツをコンテンツ再生部55またはコンテンツ蓄積部56に供給する。なお、コンテンツフィルタ54は、ウェブブラウザ上で実行されるウェブアプリケーションとして提供され、複数のAPI(Application Programming Interface)を呼び出すことでマッチングを行い、コンテンツをフィルタリングする。
【0058】
コンテンツ再生部55は、コンテンツフィルタ54からのコンテンツを再生する。また、コンテンツ再生部55は、コンテンツ蓄積部56からコンテンツを取得し、そのコンテンツを再生する。
【0059】
コンテンツ蓄積部56は、コンテンツフィルタ54からのコンテンツを蓄積(記録)する。
【0060】
[コンテンツの送受信処理の例]
次に、
図5のフローチャートを参照して、放送システム10におけるコンテンツの送受信処理について説明する。放送システム10におけるコンテンツの送受信処理においては、サーバ11によりコンテンツ配信処理が実行されることでコンテンツが配信され、クライアント12によりコンテンツ取得処理が実行されることでコンテンツが取得される。
【0061】
放送事業者などのプロバイダ側において、例えば、放送(配信)されるコンテンツのスポンサや、放送事業者自身が、特定の嗜好や属性を有する視聴者に対するコンテンツの配信を要求した場合、プロバイダ側のスタッフの操作に応じて、サーバ11のPDI-Qジェネレータ41は、ステップS11において、視聴者、すなわち、クライアント12のユーザに対して、どのような嗜好や属性を有するかを質問するためのPDI-Qを生成する。
【0062】
[XMLスキーマのシンタックスの例]
ここで、
図6を参照して、PDI-QおよびPDI-Aを構成するためのXML(Extensible Markup Language)スキーマのシンタックスの例について説明する。
【0063】
図6において、1行目は、PDI-Qが識別されるための宣言や定義を示しており、2行目は、PDI-Qとして定義される質問全体の名称および型の宣言を示している。
【0064】
3行目乃至12行目は、2行目で宣言された質問のそれぞれについての名称および型の宣言を示している。具体的には、5行目の”QIA”の名称で定義される質問の型”IntegerAnswerType”は、その質問が整数値型の回答を求める質問であることを示しており、6行目の”QBA”の名称で定義される質問の型”BooleanAnswerType”は、その質問が論理値型の回答を求める質問であることを示している。また、7行目の”QSA”の名称で定義される質問の型”SelectionAnswerType”は、その質問が回答選択型の回答を求める質問であることを示しており、8行目の”QTA”の名称で定義される質問の型”TextAnswerType”は、その質問が文字列型の回答を求める質問であることを示している。そして、9行目の”QAA”の名称で定義される質問の型”AnyAnswerType”は、その質問が回答の型を制限しない質問であることを示している。
【0065】
13行目乃至44行目は、上述のように宣言された質問のうちの、”QIA”、”QBA”、”QSA”、および”QTA”の名称で定義される質問それぞれの要素の宣言を示している。特に、15行目、24行目、31行目、40行目に示されるid要素は、それぞれの質問の項目を識別するためのID(Identifier)を表しており、その第1のフォーマットとして、
“common:[category:]question-ID”
と定義される。この第1のフォーマットにおいて、“common”は、そのid要素で識別される質問がプロバイダに関わらず共通に定義された質問であることを表し、“category”は、質問のカテゴリを表し、“question-ID”は、質問の識別子を表している。なお、“category”は、必要に応じて、
“common:[category1:category2:category3:・・・]question-ID”
などのように、階層的なネスト構造としてもよい。
【0066】
また、id要素は、第2のフォーマットとして、
“providerName:[category:]question-ID”
と定義される。この第2のフォーマットにおいて、“providerName”は、そのid要素で識別される質問を設定したプロバイダの名称を表している。なお、“category”および“question-ID”は、第1のフォーマットにおけるそれぞれと同様である。
【0067】
このように、PDI-Qとして定義される質問は、id要素によって、コンテンツを提供するプロバイダによらない(プロバイダ共通の)質問と、コンテンツを提供するプロバイダ独自に定義される質問とに区別される。
【0068】
以下においては、適宜、コンテンツを提供するプロバイダによらない質問、およびその質問に対する回答を、プロバイダ共通フィルタリングパラメータといい、コンテンツを提供するプロバイダ独自に定義される質問、およびその質問に対する回答を、プロバイダ独自フィルタリングパラメータということとする。
【0069】
上述したように、プロバイダ共通フィルタリングパラメータは、個々のプロバイダによらず、プロバイダ共通に定義されるため、一般的には、クライアント12のベンダ(製造メーカ等)が提供することとなる。したがって、サーバ11におけるPDI-Qジェネレータ41は、プロバイダ側によって提供されるようにもできるが、クライアント12のベンダによって提供されるようにもできる。
【0070】
なお、PDI-QおよびPDI-Aを構成するシンタックスは、
図6で示された例に限られない。
【0071】
[PDI-Qの例]
次に、
図7を参照して、
図6のシンタックスに基づいて構成されるPDI-Qの例について説明する。
【0072】
図7において、1行目における”transactional”は、PDI-Qで定義されている質問(質問群)が、送信されたクライアント12において更新される際、PDI-Qの各項目の内容をクライアント12の図示せぬ記憶領域に記録/更新する処理の途中で何らかの事故(ディスク書き込みエラーや処理負荷の増大による処理の中断等)により、PDI-Qの各項目の全ての内容が記録/更新されなかった場合に、PDI-Qの各項目の内容を記録/更新する直前の状態まで遡ってこの記録/更新処理を無とする(いわゆるロールバックする)か否かを示す値であり、”transactional”が”true”の場合、PDI-Qはロールバックされる。
【0073】
2行目乃至5行目は、論理値型の回答を求める質問を定義しており、3行目における<id>Common:111</id>は質問のid要素を、4行目における<q>Are you currently employed?</q>は質問自体を表している。
【0074】
6行目乃至9行目は、整数値型の回答を求める質問を定義しており、7行目における<id>Common:222</id>はその質問のid要素を、8行目における<q>What is the age of the oldest member of the household who watches television?</q>はその質問自体を表している。なお、6行目におけるminInclusive="10" maxInclusive="100"は、その質問に対する回答が、10以上100以下の整数値に制約されることを表している。
【0075】
10行目乃至17行目は、回答選択型の回答を求める質問を定義しており、11行目における<id>ProviderA:123</id>はその質問のid要素を、12行目における<q>In which of the following sports are you most interested? (Multiple selection allowed)</q>はその質問自体を表しており、13行目における<a>Baseball</a>、14行目における<a>Basketball</a>、15行目における<a>Soccer</a>、16行目における<a>Hockey</a>はそれぞれ、質問に対する回答の選択肢を表している。なお、10行目におけるminChoice="1" maxChoice="3"は、その質問に対する回答の数が、選択肢のうちの1以上3以下に制約されることを表している。
【0076】
18行目乃至24行目は、回答選択型の回答を求める質問を定義しており、19行目における<id>ProviderA:ProgramX:123</id>はその質問のid要素を、20行目における<q>Do you enjoy camping and outdoor recreation?(Only one selection)</q>はその質問自体を表しており、21行目における<a>Never</a>、22行目における<a>Occasionally</a>、23行目における<a>Frequently</a>はそれぞれ、質問に対する回答の選択肢を表している。なお、18行目におけるmaxChoice="1"は、その質問に対する回答の数が、1に制約されることを表している。
【0077】
このように、PDI-Qにおいては、質問の型によって、その質問に対する回答の候補や、回答に対する制約条件も定義される。
【0078】
25行目乃至28行目は、文字列型の回答を求める質問を定義しており、26行目における<id>ProviderA:321</id>はその質問のid要素を、27行目における<q>Who’s products are you most interested in recently?</q>はその質問自体を表している。
【0079】
ここで、以下においては、
図7のPDI-Qで定義される質問それぞれを、それぞれのid要素の質問ということとする。具体的には、2行目乃至5行目で定義される質問を”Common:111”の質問といい、6行目乃至9行目で定義される質問を”Common:222”の質問といい、10行目乃至17行目で定義される質問を”ProviderA:123”の質問といい、18行目乃至24行目で定義される質問を”ProviderA:ProgramX:123”の質問といい、25行目乃至28行目で定義される質問を”ProviderA:321”の質問ということとする。
【0080】
このとき、”Common:111”の質問および”Common:222”の質問は、プロバイダ共通フィルタリングパラメータに区別され、”ProviderA:123”の質問、”ProviderA:ProgramX:123”の質問、および”ProviderA:321”の質問は、プロバイダ独自フィルタリングパラメータに区別される。例えば、”Common:111”の質問は、プロバイダ共通に設定された、識別子が”111”である質問であることを示しており、”ProviderA:ProgramX:123”の質問は、”ProviderA”であるプロバイダによって設定された、カテゴリ(プログラムID)が”ProgramX”であって、識別子が”123”である質問であることを示している。
【0081】
図5のフローチャートに戻り、ステップS12において、サーバ11のPDI-Qジェネレータ41は、生成したPDI-Qを、通信部42を介してクライアント12に送信するとともに、PDI-Aジェネレータ43に供給する。
【0082】
ステップS21において、クライアント12の通信部51は、サーバ11から送信されてくるPDI-Qを受信し、PDI-Aジェネレータ52に供給する。
【0083】
なお、PDI-Qは、例えば、サーバ11が設置されているプロバイダとしての放送局から所定の時間間隔で放送(送信)される毎に、クライアント12に受信される。また、PDI-Qは、クライアント12においてサーバ11が設置されている放送局にチャンネルが合わされたときに、クライアント12に受信されるようにしてもよい。
【0084】
ステップS22において、クライアント12のPDI-Aジェネレータ52は、通信部51において受信されたPDI-Qで定義されている質問に対するPDI-Aを生成する。具体的には、PDI-Aジェネレータ52は、サーバ11からのPDI-Qが受信されると、図示せぬ表示部に、PDI-Qで定義されている質問に対応する画面を表示させ、その質問に対する回答を、クライアント12のユーザ(視聴者)に入力または選択させることで、その回答を表すPDI-Aを生成する。すなわち、PDI-Aジェネレータ52は、ユーザと対話することによって、PDI-Qで定義されている質問に対する回答を表すPDI-Aを生成する。
【0085】
そして、ステップS23において、PDI-Aジェネレータ52は、生成したPDI-AをPDIストア53に格納する。
【0086】
[PDI-Aジェネレータによるユーザとの対話における画面表示例]
ここで、
図8乃至
図12を参照して、PDI-Aジェネレータ52によるユーザとの対話における画面表示例について説明する。なお、ここでは、クライアント12は、
図7を参照して説明したPDI-Qを受信したものとし、クライアント12の図示せぬ表示部には、受信したPDI-Qで定義されている質問群に対応する画面が、順次表示されるものとする。
【0087】
図8は、
図7を参照して説明したPDI-Qで定義されている質問のうちの、”Common:111”の質問に対応する画面表示例を示している。
図8においては、質問提示部61に、
図7の4行目に示されている質問「Are you currently employed?」が表示されている。また、ユーザに対して、質問に対する回答の入力を促すメッセージ「いずれか選択してくだざい。」と、質問に対する回答として「Yes」をユーザに選択させるための選択ボタン62−1、および、質問に対する回答として「No」をユーザに選択させるための選択ボタン62−2が表示されている。
【0088】
図9は、
図7を参照して説明したPDI-Qで定義されている質問のうちの、”Common:222”の質問に対応する画面表示例を示している。
図9においては、質問提示部71に、
図7の8行目に示されている質問「What is the age of the oldest member of the household who watches television?」が表示されている。また、ユーザに対して、質問に対する回答の入力を促すメッセージ「年齢を入力してくだざい。」と、質問に対する回答として整数値をユーザに入力させるための回答入力部72が表示されている。
【0089】
図10は、
図7を参照して説明したPDI-Qで定義されている質問のうちの、”ProviderA:123”の質問に対応する画面表示例を示している。
図10においては、質問提示部81に、
図7の12行目に示されている質問「In which of the following sports are you most interested? (Multiple selection allowed)」が表示されている。また、ユーザに対して、質問に対する回答の入力を促すメッセージ「次の中から1つ以上3つ以下で選択してください。」と、質問に対する回答としての選択肢「Baseball」、「Basketball」、「Soccer」、および「Hockey」をユーザに選択させるための選択ボタン82−1乃至82−4が表示されている。
【0090】
図11は、
図7を参照して説明したPDI-Qで定義されている質問のうちの、”ProviderA:ProgramX:123”の質問に対応する画面表示例を示している。
図11においては、質問提示部91に、
図7の20行目に示されている質問「Do you enjoy camping and outdoor recreation?(Only one selection)」が表示されている。また、ユーザに対して、質問に対する回答の入力を促すメッセージ「次の中から1つだけ選択してください。」と、質問に対する回答としての選択肢「Never」、「Occasionally」、および「Frequently」をユーザに選択させるための選択ボタン92−1乃至92−3が表示されている。
【0091】
図12は、
図7を参照して説明したPDI-Qで定義されている質問のうちの、”ProviderA:321”の質問に対応する画面表示例を示している。
図12においては、質問提示部101に、
図7の27行目に示されている質問「Who’s products are you most interested in recently?」が表示されている。また、ユーザに対して、質問に対する回答の入力を促すメッセージ「自由に記述してくだざい。」と、質問に対する回答として文字列をユーザに入力させるための回答入力部102が表示されている。
【0092】
このようにして、PDI-Aジェネレータ52は、
図8乃至
図12で説明した画面表示により、ユーザに、PDI-Qで定義されている質問に対する回答を入力または選択させることで、PDI-Qに対応するPDI-Aを生成する。
【0093】
なお、
図8乃至
図12で説明した画面表示は、PDI-Qを受信して間もなく後に表示されるようにしてもよいし、PDI-Qの受信後、図示せぬ記憶部にPDI-Qを保持するようにし、ユーザにより設定画面の表示が指示されたとき等に表示されるようにしてもよい。
【0094】
[PDI-Aの例]
ここで、
図13を参照して、PDI-Aジェネレータ52によって生成されるPDI-Aの例について説明する。
図13で示されるPDI-Aは、
図8乃至
図12で示した画面表示に対する、ユーザによる回答の選択または入力に基づいて生成されたPDI-Aである。
【0095】
すなわち、2行目乃至5行目は、
図8で説明した画面表示により提示された質問に対するユーザの回答を示している。すなわち、3行目における<id>Common:111</id>は、
図8の画面表示により提示された質問のid要素を示しており、4行目における<a>true</a>は質問に対する回答として、
図8の画面表示において選択ボタン62−1(「Yes」の回答)がユーザに選択されたことを示している。
【0096】
6行目乃至9行目は、
図9で説明した画面表示により提示された質問に対するユーザの回答を示している。すなわち、7行目における<id>Common:222</id>は、
図9の画面表示により提示された質問のid要素を示しており、8行目における<a>34</a>は質問に対する回答として、
図9の画面表示において回答入力部72に整数値として「34」がユーザにより入力されたことを示している。
【0097】
10行目乃至15行目は、
図10で説明した画面表示により提示された質問に対するユーザの回答を示している。すなわち、11行目における<id>ProviderA:123</id>は、
図10の画面表示により提示された質問のid要素を示しており、12行目における<a>Baseball</a>、13行目における<a>Soccer</a>、14行目における<a>Hockey</a>は質問に対する回答として、
図10の画面表示において選択ボタン82−1,82−3,82−4がユーザにより選択されたことを示している。
【0098】
16行目乃至19行目は、
図11で説明した画面表示により提示された質問に対するユーザの回答を示している。すなわち、17行目における<id>ProviderA:ProgramX:123</id>は、
図11の画面表示により提示された質問のid要素を示しており、18行目における<a>Occasionally</a>は質問に対する回答として、
図11の画面表示において選択ボタン92−2がユーザにより選択されたことを示している。
【0099】
20行目乃至23行目は、
図12で説明した画面表示により提示された質問に対するユーザの回答を示している。すなわち、21行目における<id>ProviderA:321</id>は、
図12の画面表示により提示された質問のid要素を示しており、22行目における<a>Somy</a>は質問に対する回答として、
図12の画面表示において回答入力部102に文字列として「Somy」がユーザにより入力されたことを示している。
【0100】
PDI-Aジェネレータ52は、このようにして生成したPDI-AをPDIストア53に供給し、記憶させる。PDIストア53に記憶されたPDI-Aは、後述するように、サーバ11から配信されるコンテンツが、クライアント12のユーザの嗜好に合っているか否かを判定する際に用いられる。
【0101】
さて、
図5のフローチャートに戻り、ステップS13において、サーバ11のPDI-Aジェネレータ43は、PDI-Qジェネレータ41からのPDI-Qで定義されている質問に対するPDI-Aを生成し、メタデータディストリビュータ44に供給する。具体的には、PDI-Aジェネレータ43は、放送局(プロバイダ側)のスタッフの操作によってPDI-Qが生成されると、図示せぬ表示部に、例えば
図8乃至
図12を参照して説明したような、PDI-Qで定義されている質問に対応する画面を表示させ、その質問に対する回答を、放送局のスタッフに入力または選択させることで、その回答を表すPDI-Aを生成する。このとき、放送局のスタッフは、PDI-Qで定義されている質問に対する回答として、配信しようとするコンテンツに対応する回答を入力または選択する。すなわち、PDI-Aジェネレータ43によって生成されるPDI-Aは、プロバイダ側がクライアント12のユーザ(視聴者)の嗜好を考慮に入れ、その視聴者に、のちに配信されるコンテンツを視聴させるための情報(回答)を表している。
【0102】
ステップS14において、メタデータディストリビュータ44は、PDI-Aジェネレータ43からのPDI-Aに基づいて、コンテンツ蓄積部45に蓄積されているコンテンツの中から、PDI-Aに対応するコンテンツを特定(照会)する。ここで特定されるコンテンツは、PDI-Aジェネレータ43からのPDI-Aと、蓄積されているコンテンツに予め付与されているコンテンツメタデータとの類似度が所定値より高いものとしてもよいし、放送局のスタッフによって、ユーザに視聴させたいコンテンツとして予め選択されたものであってもよい。なお、メタデータディストリビュータ44によって特定されたコンテンツは、コンテンツディストリビュータ46によって、コンテンツ蓄積部45から取得される。
【0103】
ステップS15において、メタデータディストリビュータ44は、ステップS14において特定したコンテンツに予め付与されているコンテンツメタデータと、PDI-Aジェネレータ43からのPDI-Aとに基づいて、PDI-Aを含むコンテンツメタデータを新たに生成する。
【0104】
ステップS16において、通信部42は、クライアント12からの要求に応じて、メタデータディストリビュータ44によって生成されたコンテンツメタデータを配信する。このとき、コンテンツメタデータとしては、メタデータディストリビュータ44によって生成されたコンテンツメタデータ以外に、標準化団体によって規定されたコンテンツメタデータが送信されてもよい。
【0105】
また、ステップS17において、通信部42は、クライアント12からの要求に応じて、コンテンツディストリビュータ46に取得されたコンテンツを配信する。
【0106】
一方、ステップS23において、クライアント12のコンテンツフィルタ54は、マッチング処理を実行し、PDIストア53に記憶されているPDI-Aと、サーバ11からのコンテンツメタデータに含まれるPDI-Aとのマッチングを行うことで、サーバ11からのコンテンツを取得する。なお、以下においては、PDIストア53に記憶されているPDI-Aと、サーバ11からのコンテンツメタデータに含まれるPDI-Aとを区別するために、前者をユーザ側PDI-A、後者をプロバイダ側PDI-Aということとする。
【0107】
[コンテンツフィルタにおけるマッチング処理の例]
ここで、ユーザ側PDI-Aとして、
図13を参照して説明したPDI-Aが生成され記憶されているものとし、プロバイダ側PDI-Aとして、
図14に示されるPDI-Aがサーバ11から送信されてきたものとする。
【0108】
図14に示されるプロバイダ側PDI-Aは、
図13で示されたユーザ側PDI-Aと基本的な構成は同一であるので詳細な説明は省略するが、このプロバイダ側PDI-Aは、”Common:111”の質問に対する回答として「false」が選択され、”ProviderA:123”の質問に対する回答として「Baseball」が選択され、”ProviderA:ProgramX:123”の質問に対する回答として「Never」が選択されたことを示している。
【0109】
このとき、コンテンツフィルタ54は、ユーザ側PDI-Aとプロバイダ側PDI-Aとを比較し、質問に対する回答が1つでも一致している場合、ユーザ側PDI-Aとプロバイダ側PDI-Aとはマッチしていると判定し、質問に対する回答が1つも一致しない場合、ユーザ側PDI-Aとプロバイダ側PDI-Aとはマッチしていないと判定する。この場合、
図13に示されるユーザ側PDI-Aにおける”ProviderA:123”の質問に対する回答と、
図14に示されるプロバイダ側PDI-Aにおける”ProviderA:123”の質問に対する回答のそれぞれに「Baseball」が含まれている点でそれぞれ一致しているので、ユーザ側PDI-Aとプロバイダ側PDI-Aとはマッチしていると判定される。
【0110】
次に、プロバイダ側PDI-Aとして、
図15に示されるPDI-Aがサーバ11から送信されてきたものとする。
【0111】
図15に示されるプロバイダ側PDI-Aは、”ProviderA:123”の質問に対する回答として「Basketball」が選択され、”ProviderA:ProgramX:123”の質問に対する回答として「Never」が選択されたことを示している。
【0112】
この場合、
図13に示されるユーザ側PDI-Aにおける質問に対する回答と、
図15に示されるプロバイダ側PDI-Aにおける質問に対する回答が1つも一致しないので、ユーザ側PDI-Aとプロバイダ側PDI-Aとはマッチしていないと判定される。
【0113】
ところで、上述したように、コンテンツフィルタ54は、ウェブアプリケーションとして提供され、複数のAPIを呼び出すことでマッチング処理を行う。
【0114】
[マッチング処理の詳細]
ここで、
図16のフローチャートを参照して、ステップS24において、コンテンツフィルタ54により複数のAPIが呼び出されることによって実行されるマッチング処理の詳細について説明する。
【0115】
まず、ステップS51において、コンテンツフィルタ54は、PDIストア53からユーザ側PDI-Aを取得するためのAPIであるユーザ側PDI-A取得APIを呼び出す。
【0116】
ユーザ側PDI-A取得APIの入力引数および出力引数を以下に示す。
入力引数:型が”QXA”である質問のid要素(QXA/@id)
出力引数:入力引数で指定された型”QXA”の質問に対するユーザ側PDI-Aが格納されたPDI Table
【0117】
なお、”QXA”は、上述で説明した、質問の型を表す名称”QIA”,”QBA”,”QSA”,”QTA”,”QAA”のいずれかまたは全部を示す。例えば、QXA/@id=*として入力引数がセットされた場合、全ての質問の型が指定されることとする。また、出力引数として返されるPDI Tableは、例えば、
図13を参照して説明したユーザ側PDI-Aが格納されるテーブルを示す。したがって、QXA/@id=*として入力引数がセットされた場合、PDIストア53に格納されている全てのユーザ側PDI-Aが出力引数として返される。
【0118】
ステップS52において、コンテンツフィルタ54は、ユーザ側PDI-A取得APIの出力引数として返されるユーザ側PDI-Aを取得する。
【0119】
ステップS53において、コンテンツフィルタ54は、サーバ11からプロバイダ側PDI-Aを取得するためのAPIであるプロバイダ側PDI-A取得APIを呼び出す。
【0120】
プロバイダ側PDI-A取得APIの入力引数および出力引数を以下に示す。
入力引数:コンテンツID(C_ID)
出力引数:入力引数で指定されたコンテンツIDに対応するコンテンツメタデータに含まれるプロバイダ側PDI-A
【0121】
なお、コンテンツIDは、コンテンツを特定するための情報であり、そのコンテンツのコンテンツメタデータにも対応付けられている。例えば、C_ID=*として入力引数がセットされた場合、全てのコンテンツが指定されることとする。したがって、C_ID=*として入力引数がセットされた場合、全てのコンテンツのコンテンツメタデータの配信がサーバ11に要求され、その要求に応じてサーバ11から配信されてきたコンテンツメタデータに含まれるプロバイダ側PDI-Aが出力引数として返される。
【0122】
ステップS54において、コンテンツフィルタ54は、プロバイダ側PDI-A取得APIの出力引数として返されるプロバイダ側PDI-Aを取得する。
【0123】
ステップS55において、コンテンツフィルタ54は、
図13乃至
図15を参照して説明した手法により、ユーザ側PDI-Aとプロバイダ側PDI-Aとのマッチングを行う。
【0124】
ステップS56において、コンテンツフィルタ54は、ユーザ側PDI-Aとマッチしたプロバイダ側PDI-Aを含むコンテンツメタデータのコンテンツIDを同定する。
【0125】
ステップS57において、コンテンツフィルタ54は、サーバ11からコンテンツを取得するためのAPIであるコンテンツ取得APIを呼び出す。
【0126】
コンテンツ取得APIの入力引数および出力引数を以下に示す。
入力引数:コンテンツID(C_ID)
出力引数:入力引数で指定されたコンテンツIDで特定されるコンテンツおよびそのコンテンツへの参照
【0127】
上述と同様、コンテンツIDは、コンテンツを特定するための情報であり、コンテンツフィルタ54により同定された、ユーザ側PDI-Aとマッチしたプロバイダ側PDI-Aを含むコンテンツメタデータのコンテンツIDとされる。すなわち、ユーザ側PDI-Aとマッチしたプロバイダ側PDI-Aを含むコンテンツメタデータのコンテンツIDで特定されるコンテンツの配信がサーバ11に要求され、その要求に応じてサーバ11から配信されてきたコンテンツおよびそのコンテンツへの参照が出力引数として返される。
【0128】
ステップS58において、コンテンツフィルタ54は、コンテンツ取得APIの出力引数として返されるコンテンツを取得し、コンテンツ再生部55またはコンテンツ蓄積部56に供給して、処理は
図5のフローチャートのステップS24に戻る。
【0129】
すなわち、サーバ11から配信されたコンテンツが、コンテンツフィルタ54からコンテンツ再生部55に供給された場合、ステップS25において、コンテンツ再生部55は、コンテンツを再生する。また、サーバ11から配信されたコンテンツが、コンテンツフィルタ54からコンテンツ蓄積部56に供給された場合、ステップS25において、コンテンツ蓄積部56は、コンテンツを蓄積(記録)する。蓄積されたコンテンツは、ユーザの操作指示に応じて、適宜、コンテンツ再生部55に供給され再生される。
【0130】
以上の処理によれば、放送システムにおいて、プロバイダ側では、サーバによって、ユーザの嗜好についての質問を表すPDI-Qが生成され、そのPDI-Qがクライアント端末に送信され、そのPDI-Qに対して、プロバイダ側が設定した回答を表すプロバイダ側PDI-Aが、対応するコンテンツのコンテンツメタデータとして配信される。これにより、コンテンツメタデータとして、標準化団体によって規定されたコンテンツメタデータ以外の、その時のニーズに応じたコンテンツメタデータをコンテンツに付与することができるようになる。一方、ユーザ側では、クライアント端末によって、サーバからのPDI-Qに対するユーザの回答を表すユーザ側PDI-Aが生成され、生成したユーザ側PDI-Aと、サーバからのプロバイダ側PDI-Aとのマッチングが行われることで、サーバから配信されたコンテンツを取得するか否かが決定される。これにより、標準化団体によって規定されたコンテンツメタデータ以外の、その時のニーズに応じたコンテンツメタデータによって、コンテンツをフィルタリングすることができるようになる。したがって、その時のニーズに応じたコンテンツを取得することが可能となる。
【0131】
なお、以上においては、クライアント12は、サーバ11からのコンテンツの配信時に、リアルタイムにPDI-Aのマッチングを行うようにしたが、予め、サーバ11からの全てのコンテンツを蓄積するようにし、処理のバックグラウンドにおいてPDI-Aのマッチングを行い、蓄積したコンテンツのうちの、マッチしたPDI-A(プロバイダ側PDI-A)に対応するコンテンツを再生したり、マッチしないPDI-Aに対応するコンテンツを削除したりするようにしてもよい。
【0132】
また、以上においては、PDIストア53に格納されているユーザ側PDI-Aは、ファイルシステムによりアクセスされるものとしたが、PDIストア53をデータベースとして構成するようにした場合には、PDIストア53に格納されているユーザ側PDI-Aは、データベース管理システム(Database Management System:DBMS)により管理されるようになる。
【0133】
[マッチング処理の詳細]
ここで、
図17のフローチャートを参照して、PDIストア53がデータベースとして構成される場合のマッチング処理の詳細について説明する。
【0134】
まず、ステップS71において、コンテンツフィルタ54は、サーバ11からプロバイダ側PDI-Aを取得するためのAPIであるプロバイダ側PDI-A取得APIを呼び出す。
【0135】
ステップS72において、コンテンツフィルタ54は、プロバイダ側PDI-A取得APIの出力引数として返されるプロバイダ側PDI-Aを取得する。
【0136】
ステップS73において、コンテンツフィルタ54は、PDIストア53に、サーバ11からのプロバイダ側PDI-Aに対応するユーザ側PDI-Aが格納されているか否かを評価するためのAPIであるユーザ側PDI-A評価APIを呼び出す。
【0137】
ユーザ側PDI-A評価APIの入力引数および出力引数を以下に示す。
入力引数:プロバイダ側PDI-A
出力引数:入力引数で指定されたプロバイダ側PDI-Aに対応するユーザ側PDI-Aが格納されているか否かの評価結果(真/偽(true/false))
【0138】
なお、プロバイダ側PDI-Aは、プロバイダ側PDI-A取得APIにより取得されたプロバイダ側PDI-Aである。ユーザ側PDI-A評価APIにより、プロバイダ側PDI-AがPDIストア53のデータを管理するDBMSに渡されると、DBMSは、そのプロバイダ側PDI-Aに対応するユーザ側PDI-Aを検索する。その検索結果に基づいて、プロバイダ側PDI-Aに対応するユーザ側PDI-Aが格納されているか否かの評価結果が出力引数として返される。
【0139】
ステップS74において、コンテンツフィルタ54は、ユーザ側PDI-A評価APIの出力引数として返されるユーザ側PDI-Aの評価結果を取得する。
【0140】
ステップS75において、コンテンツフィルタ54は、ユーザ側PDI-Aの評価結果が真(true)となったプロバイダ側PDI-Aを含むコンテンツメタデータのコンテンツIDを同定する。
【0141】
ステップS76において、コンテンツフィルタ54は、サーバ11からコンテンツを取得するためのAPIであるコンテンツ取得APIを呼び出す。
【0142】
ステップS77において、コンテンツフィルタ54は、コンテンツ取得APIの出力引数として返されるコンテンツを取得する。
【0143】
このように、PDIストア53がデータベースとして構成される場合には、コンテンツフィルタ54は、ユーザ側PDI-A評価APIを呼び出すことで、ユーザ側PDI-Aとプロバイダ側PDI-Aとのマッチングを行うことができる。
【0144】
また、以上においては、コンテンツフィルタ54は、インスタンスとして表現されたユーザ側PDI-Aとプロバイダ側PDI-Aとを比較し、質問に対する回答が1つでも一致しているか否かによって、ユーザ側PDI-Aとプロバイダ側PDI-Aとのマッチングを行うようにしたが、ユーザ側PDI-Aまたはプロバイダ側PDI-Aのいずれか一方を、PDI-Aを評価するクエリとして表現することで、ユーザ側PDI-Aとプロバイダ側PDI-Aとを比較するようにしてもよい。
【0145】
ここで、以下においては、ユーザ側PDI-Aまたはプロバイダ側PDI-Aのいずれか一方を、クエリとして表現することで、ユーザ側PDI-Aとプロバイダ側PDI-Aとを比較する構成について説明する。
【0146】
[PDI-Aを評価するクエリによるマッチング処理の例1]
まずは、プロバイダ側PDI-Aをクエリとして表現することで、ユーザ側PDI-Aとプロバイダ側PDI-Aとを比較する構成について説明する。
【0147】
図18は、プロバイダ側PDI-Aをクエリとして表現するようにしたサーバ11の機能構成例を示している。
【0148】
図18のサーバ11は、PDI-Qジェネレータ41、通信部42、コンテンツ蓄積部45、コンテンツディストリビュータ46、PDI-FCジェネレータ111、およびメタデータディストリビュータ112から構成される。
【0149】
なお、
図18のサーバ11においては、
図3のサーバ11に設けられたものと同様の機能を備える構成については、同一名称および同一符号を付するものとし、その説明は、適宜省略するものとする。
【0150】
すなわち、
図18のサーバ11において、
図3のサーバ11と異なるのは、PDI-Aジェネレータ43およびメタデータディストリビュータ44に代えて、PDI-FCジェネレータ111およびメタデータディストリビュータ112を設けた点である。
【0151】
PDI-FCジェネレータ111は、PDI-Qジェネレータ41からのPDI-Qに基づいて、PDI-Qに対応するPDI-A(プロバイダ側PDI-A)を生成し、生成したプロバイダ側PDI-Aを所定の条件文に当てはめたPDI-FC(Preference Demographic and Interest Filtering Criteria)を生成して、メタデータディストリビュータ112に供給する。
【0152】
メタデータディストリビュータ112は、PDI-FCジェネレータ111からのPDI-FCに基づいて、コンテンツ蓄積部45に蓄積されているコンテンツの中から、PDI-FCに対応するコンテンツを特定(照会)する。メタデータディストリビュータ112は、特定したコンテンツのコンテンツメタデータとして、PDI-FCを含むコンテンツメタデータを生成し、通信部42を介してクライアント12に送信する。
【0153】
また、この例におけるクライアント12は、
図4のコンテンツフィルタ54が、PDIストア53からユーザ側PDI-Aを読み出し、そのユーザ側PDI-Aと、サーバ11から送信されてきたコンテンツメタデータに含まれているPDI-FCとに基づいて、コンテンツをフィルタリングする以外は、
図4のクライアント12と同一であるので、その説明は、省略するものとする。
【0154】
次に、
図19のフローチャートを参照して、
図18のサーバ11を備える放送システム10におけるコンテンツの送受信処理について説明する。
【0155】
なお、
図19のフローチャートのステップS111,S112,S116,S117,S121乃至S123,S125の処理は、
図5のフローチャートのステップS11,S12,S16,S17,S21乃至S23,S25の処理と基本的に同様であるので、その説明は省略する。
【0156】
すなわち、ステップS113において、サーバ11のPDI-FCジェネレータ111は、PDI-Qジェネレータ41からのPDI-Qで定義されている質問に対するプロバイダ側PDI-Aを生成し、生成したプロバイダ側PDI-Aを所定の条件文に当てはめたPDI-FCを生成して、メタデータディストリビュータ112に供給する。具体的には、例えば、PDI-FCジェネレータ111は、放送局(プロバイダ側)のスタッフの操作によってPDI-Qが生成されると、図示せぬ表示部に、例えば
図8乃至
図12を参照して説明したような、PDI-Qで定義されている質問に対応する画面を表示させ、その質問に対する回答を、放送局のスタッフに入力または選択させ、さらに、それぞれの回答の組み合わせ(フィルタリング条件)をそのスタッフに決定させることで、その回答の組み合わせを表すPDI-FCを生成する。このとき、放送局のスタッフは、PDI-Qで定義されている質問に対する回答として、配信しようとするコンテンツに対応する回答を入力または選択し、さらにその組み合わせを決定する。すなわち、PDI-FCジェネレータ111によって生成されるPDI-FCは、プロバイダ側がクライアント12のユーザ(視聴者)の嗜好を考慮に入れ、その視聴者に、のちに配信されるコンテンツを視聴させるための情報(回答の組み合わせ)を表している。
【0157】
ステップS114において、メタデータディストリビュータ112は、PDI-FCジェネレータ111からのPDI-FCに基づいて、コンテンツ蓄積部45に蓄積されているコンテンツの中から、PDI-FCに対応するコンテンツを特定(照会)する。ここで特定されるコンテンツは、PDI-FCジェネレータ111からのPDI-FCと、蓄積されているコンテンツに予め付与されているコンテンツメタデータとの類似度が所定値より高いものとしてもよいし、放送局のスタッフによって、ユーザに視聴させたいコンテンツとして予め選択されたものであってもよい。なお、メタデータディストリビュータ112によって特定されたコンテンツは、コンテンツディストリビュータ46によって、コンテンツ蓄積部45から取得される。
【0158】
ステップS115において、メタデータディストリビュータ112は、ステップS114において特定したコンテンツに予め付与されているコンテンツメタデータと、PDI-FCジェネレータ111からのPDI-FCとに基づいて、PDI-FCを含むコンテンツメタデータを新たに生成する。
【0159】
そして、ステップS124において、クライアント12のコンテンツフィルタ54は、マッチング処理を実行し、サーバ11からのコンテンツメタデータに含まれるPDI-FCに基づいて、PDIストア53に記憶されているPDI-Aのマッチングを行うことで、サーバ11からのコンテンツを取得する。
【0160】
ここで、ユーザ側PDI-Aとして、
図13を参照して説明したPDI-Aが生成され記憶されているものとし、以下に示されるPDI-FCがサーバ11から送信されてきたものとする。
“//QBA[id='Common:111' and a='true'] and //QSA[id='ProviderA:123' and a='Baseball']”
【0161】
上述のPDI-FCは、ユーザ側PDI-Aが、”Common:111”の質問に対する回答として「true」が選択され、かつ、”ProviderA:123”の質問に対する回答として「Baseball」が選択されているか否かを評価することを示している。
【0162】
このとき、コンテンツフィルタ54は、PDI-FCに基づいてユーザ側PDI-Aを評価し、PDI-FCが満たされる(真となる)ユーザ側PDI-Aである場合、ユーザ側PDI-AとPDI-FCとはマッチしていると判定し、PDI-FCが満たされない(偽となる)ユーザ側PDI-Aである場合、ユーザ側PDI-AとPDI-FCとはマッチしていないと判定する。この場合、
図13に示されるユーザ側PDI-Aにおいては、”Common:111”の質問に対する回答として「true」が選択され、かつ、”ProviderA:123”の質問に対する回答として「Baseball」が選択されているので、ユーザ側PDI-AとPDI-FCとはマッチしていると判定される。
【0163】
[マッチング処理の詳細]
ここで、
図20のフローチャートを参照して、ステップS124において実行されるマッチング処理の詳細について説明する。
【0164】
まず、ステップS151において、コンテンツフィルタ54は、PDIストア53からユーザ側PDI-Aを取得するためのAPIであるユーザ側PDI-A取得APIを呼び出す。
【0165】
ステップS152において、コンテンツフィルタ54は、ユーザ側PDI-A取得APIの出力引数として返されるユーザ側PDI-Aを取得する。
【0166】
ステップS153において、コンテンツフィルタ54は、サーバ11からPDI-FCを取得するためのAPIであるPDI-FC取得APIを呼び出す。
【0167】
PDI-FC取得APIの入力引数および出力引数を以下に示す。
入力引数:コンテンツID(C_ID)
出力引数:入力引数で指定されたコンテンツIDに対応するコンテンツメタデータに含まれるPDI-FC
【0168】
コンテンツIDは、コンテンツを特定するための情報であり、そのコンテンツのコンテンツメタデータにも対応付けられている。例えば、C_ID=*として入力引数がセットされた場合、全てのコンテンツが指定されることとする。したがって、C_ID=*として入力引数がセットされた場合、全てのコンテンツのコンテンツメタデータの配信がサーバ11に要求され、その要求に応じてサーバ11から配信されてきたコンテンツメタデータに含まれるPDI-FCが出力引数として返される。
【0169】
ステップS154において、コンテンツフィルタ54は、PDI-FC取得APIの出力引数として返されるPDI-FCを取得する。
【0170】
ステップS155において、コンテンツフィルタ54は、上述した手法により、ユーザ側PDI-AとPDI-FCとのマッチングを行う。
【0171】
ステップS156において、コンテンツフィルタ54は、ユーザ側PDI-AとマッチしたPDI-FCを含むコンテンツメタデータのコンテンツIDを同定する。
【0172】
ステップS157において、コンテンツフィルタ54は、サーバ11からコンテンツを取得するためのAPIであるコンテンツ取得APIを呼び出す。
【0173】
ステップS158において、コンテンツフィルタ54は、コンテンツ取得APIの出力引数として返されるコンテンツを取得し、コンテンツ再生部55またはコンテンツ蓄積部56に供給して、処理は
図19のフローチャートのステップS124に戻る。
【0174】
以上においては、PDIストア53に格納されているユーザ側PDI-Aは、ファイルシステムによりアクセスされるものとしたが、PDIストア53をデータベースとして構成するようにした場合には、PDIストア53に格納されているユーザ側PDI-Aは、データベース管理システム(DBMS)により管理されるようになる。
【0175】
[マッチング処理の詳細]
ここで、
図21のフローチャートを参照して、PDIストア53がデータベースとして構成される場合のマッチング処理の詳細について説明する。
【0176】
まず、ステップS171において、コンテンツフィルタ54は、サーバ11からPDI-FCを取得するためのAPIであるPDI-FC取得APIを呼び出す。
【0177】
ステップS172において、コンテンツフィルタ54は、PDI-FC取得APIの出力引数として返されるPDI-FCを取得する。
【0178】
ステップS173において、コンテンツフィルタ54は、PDIストア53に、サーバ11からのPDI-FCに対応するユーザ側PDI-Aが格納されているか否かを評価するためのAPIであるユーザ側PDI-A評価APIを呼び出す。
【0179】
ユーザ側PDI-A評価APIの入力引数および出力引数を以下に示す。
入力引数:PDI-FC
出力引数:入力引数で指定されたPDI-FCによる評価結果(真/偽(true/false))
【0180】
PDI-FCは、PDI-FC取得APIにより取得されたPDI-FCである。ユーザ側PDI-A評価APIにより、PDI-FCがPDIストア53のデータを管理するDBMSに渡されると、DBMSは、PDI-FCを用いてユーザ側PDI-Aを評価し、その評価結果が出力引数として返される。
【0181】
ステップS174において、コンテンツフィルタ54は、ユーザ側PDI-A評価APIの出力引数として返されるユーザ側PDI-Aの評価結果を取得する。
【0182】
ステップS175において、コンテンツフィルタ54は、ユーザ側PDI-Aの評価結果が真(true)となったプロバイダ側PDI-Aを含むコンテンツメタデータのコンテンツIDを同定する。
【0183】
ステップS176において、コンテンツフィルタ54は、サーバ11からコンテンツを取得するためのAPIであるコンテンツ取得APIを呼び出す。
【0184】
ステップS177において、コンテンツフィルタ54は、コンテンツ取得APIの出力引数として返されるコンテンツを取得する。
【0185】
このように、PDIストア53がデータベースとして構成される場合には、コンテンツフィルタ54は、ユーザ側PDI-A評価APIを呼び出すことで、ユーザ側PDI-AとPDI-FCとのマッチングを行うことができる。
【0186】
以上のようにして、プロバイダ側で設定されたPDI-FCによって、より複雑なフィルタリングの条件が表現されるようになるので、より確実に、プロバイダ側が期待するユーザ(視聴者)にコンテンツを取得させることが可能となる。
【0187】
[PDI-Aを評価するクエリによるマッチング処理の例2]
次に、ユーザ側PDI-Aをクエリとして表現することで、ユーザ側PDI-Aとプロバイダ側PDI-Aとを比較する構成について説明する。
【0188】
図22は、ユーザ側PDI-Aをクエリとして表現するようにしたクライアント12の機能構成例を示している。
【0189】
図22のクライアント12は、通信部51、コンテンツフィルタ54、コンテンツ再生部55、コンテンツ蓄積部56、PDI-FCジェネレータ131、およびPDIストア132から構成される。
【0190】
なお、
図22のクライアント12においては、
図4のクライアント12に設けられたものと同様の機能を備える構成については、同一名称および同一符号を付するものとし、その説明は、適宜省略するものとする。
【0191】
すなわち、
図22のクライアント12において、
図4のクライアント12と異なるのは、PDI-Aジェネレータ52およびPDIストア53に代えて、PDI-FCジェネレータ131およびPDIストア132を設けた点である。
【0192】
PDI-FCジェネレータ131は、サーバ11から送信されてきたPDI-Qに基づいて、PDI-Qに対応する、クライアント12のユーザの嗜好についての質問に対するユーザの回答を表すユーザ側PDI-Aを生成し、生成したユーザ側PDI-Aを所定の条件文に当てはめたPDI-FCを生成して、PDIストア132に供給する。
【0193】
PDIストア132は、PDI-FCジェネレータ131からのPDI-FCを記憶する。PDIストア132に記憶されているPDI-FCは、ファイルシステムによりアクセスされ、必要に応じて、コンテンツフィルタ54に読み出される。
【0194】
なお、
図22のコンテンツフィルタ54は、PDIストア53からPDI-FCを読み出し、そのPDI-FCと、サーバ11から送信されてきたコンテンツメタデータに含まれるプロバイダ側PDI-Aとに基づいて、コンテンツをフィルタリングする。
【0195】
また、この例におけるサーバ11は、
図3のサーバ11と同一であるので、その説明は省略するものとする。
【0196】
次に、
図23のフローチャートを参照して、
図22のクライアント12を備える放送システム10におけるコンテンツの送受信処理について説明する。
【0197】
なお、
図23のフローチャートのステップS211乃至S221,S225の処理は、
図5のフローチャートのステップS11乃至S21,S25の処理と基本的に同様であるので、その説明は省略する。
【0198】
すなわち、ステップS222において、クライアント12のPDI-FCジェネレータ131は、通信部51において受信されたPDI-Qで定義されている質問に対するユーザ側PDI-Aを生成し、生成したユーザ側PDI-Aを所定の条件文に当てはめたPDI-FCを生成する。具体的には、例えば、PDI-FCジェネレータ131は、放送局からのPDI-Qが受信されると、図示せぬ表示部に、
図8乃至
図12を参照して説明したような、PDI-Qで定義されている質問に対応する画面を表示させ、その質問に対する回答を、クライアント12のユーザ(視聴者)に入力または選択させ、さらに、それぞれの回答の組み合わせ(フィルタリング条件)をそのユーザに決定させることで、その回答の組み合わせを表すPDI-FCを生成する。すなわち、PDI-FCジェネレータ131は、ユーザと対話することによって、PDI-Qで定義されている質問に対する回答の組み合わせを表すPDI-FCを生成する。
【0199】
ステップS223において、PDI-FCジェネレータ131は、生成したPDI-FCをPDIストア132に格納する。
【0200】
そして、ステップS224において、コンテンツフィルタ54は、マッチング処理を実行し、PDIストア132に記憶されているPDI-FCに基づいて、サーバ11からのコンテンツメタデータに含まれるプロバイダ側PDI-Aのマッチングを行うことで、サーバ11からのコンテンツを取得する。
【0201】
ここで、プロバイダ側PDI-Aとして、
図14を参照して説明したPDI-Aがサーバ11から送信されてきたものとし、以下に示されるPDI-FCが生成され記憶されているものとする。
“//QBA[id='Common:111' and a='false'] and //QSA[id='ProviderA:123' and a='Baseball']”
【0202】
上述のPDI-FCは、プロバイダ側PDI-Aが、”Common:111”の質問に対する回答として「false」が選択され、かつ、”ProviderA:123”の質問に対する回答として「Baseball」が選択されているか否かを評価することを示している。
【0203】
このとき、コンテンツフィルタ54は、PDI-FCに基づいてプロバイダ側PDI-Aを評価し、PDI-FCが満たされる(真となる)プロバイダ側PDI-Aである場合、プロバイダ側PDI-AとPDI-FCとはマッチしていると判定し、PDI-FCが満たされない(偽となる)プロバイダ側PDI-Aである場合、プロバイダ側PDI-AとPDI-FCとはマッチしていないと判定する。この場合、
図14に示されるプロバイダ側PDI-Aにおいては、”Common:111”の質問に対する回答として「false」が選択され、かつ、”ProviderA:123”の質問に対する回答として「Baseball」が選択されているので、プロバイダ側PDI-AとPDI-FCとはマッチしていると判定される。
【0204】
[マッチング処理の詳細]
ここで、
図24のフローチャートを参照して、ステップS224において実行されるマッチング処理の詳細について説明する。
【0205】
まず、ステップS251において、コンテンツフィルタ54は、PDIストア53からPDI-FCを取得するためのAPIであるPDI-FC取得APIを呼び出す。
【0206】
PDI-FC取得APIの入力引数および出力引数を以下に示す。
入力引数:無し
出力引数:PDIストア132に記憶されているPDI-FC
【0207】
すなわち、PDI-FC取得APIが呼び出されると、PDIストア132に格納されている全てのPDI-FCが出力引数として返される。
【0208】
ステップS252において、コンテンツフィルタ54は、PDI-FC取得APIの出力引数として返されるPDI-FCを取得する。
【0209】
ステップS253において、コンテンツフィルタ54は、サーバ11からプロバイダ側PDI-Aを取得するためのAPIであるプロバイダ側PDI-A取得APIを呼び出す。
【0210】
ステップS254において、コンテンツフィルタ54は、プロバイダ側PDI-A取得APIの出力引数として返されるプロバイダ側PDI-Aを取得する。
【0211】
ステップS255において、コンテンツフィルタ54は、上述した手法により、PDI-FCとプロバイダ側PDI-Aとのマッチングを行う。
【0212】
ステップS256において、コンテンツフィルタ54は、PDI-FCとマッチしたプロバイダ側PDI-Aを含むコンテンツメタデータのコンテンツIDを同定する。
【0213】
ステップS257において、コンテンツフィルタ54は、サーバ11からコンテンツを取得するためのAPIであるコンテンツ取得APIを呼び出す。
【0214】
ステップS258において、コンテンツフィルタ54は、コンテンツ取得APIの出力引数として返されるコンテンツを取得し、コンテンツ再生部55またはコンテンツ蓄積部56に供給して、処理は、
図23のフローチャートのステップS224に戻る。
【0215】
以上においては、PDIストア132に格納されているPDI-FCは、ファイルシステムによりアクセスされるものとしたが、PDIストア132をデータベースとして構成するようにした場合には、PDIストア132に格納されているPDI-FCは、データベース管理システム(DBMS)により管理されるようになる。
【0216】
[マッチング処理の詳細]
ここで、
図25のフローチャートを参照して、PDIストア132がデータベースとして構成される場合のマッチング処理の詳細について説明する。
【0217】
まず、ステップS271において、コンテンツフィルタ54は、サーバ11からプロバイダ側PDI-Aを取得するためのAPIであるプロバイダ側PDI-A取得APIを呼び出す。
【0218】
ステップS272において、コンテンツフィルタ54は、プロバイダ側PDI-A取得APIの出力引数として返されるプロバイダ側PDI-Aを取得する。
【0219】
ステップS273において、コンテンツフィルタ54は、PDIストア132に、サーバ11からのプロバイダ側PDI-Aに対応するPDI-FCが格納されているか否かを評価するためのAPIであるPDI-FC評価APIを呼び出す。
【0220】
PDI-FC評価APIの入力引数および出力引数を以下に示す。
入力引数:プロバイダ側PDI-A
出力引数:入力引数で指定されたプロバイダ側PDI-Aに対応するPDI-FCが格納されているか否かの評価結果(真/偽(true/false))
【0221】
なお、プロバイダ側PDI-Aは、プロバイダ側PDI-A取得APIにより取得されたプロバイダ側PDI-Aである。PDI-FC評価APIにより、プロバイダ側PDI-AがPDIストア132のデータを管理するDBMSに渡されると、DBMSは、PDIストア132に格納されているPDI-FCを用いてプロバイダ側PDI-Aを評価する。その評価結果に基づいて、プロバイダ側PDI-Aに対応するPDI-FCが格納されているか否かの評価結果が出力引数として返される。
【0222】
ステップS274において、コンテンツフィルタ54は、PDI-FC評価APIの出力引数として返されるPDI-FCの評価結果を取得する。
【0223】
ステップS275において、コンテンツフィルタ54は、PDI-FCの評価結果が真(true)となったプロバイダ側PDI-Aを含むコンテンツメタデータのコンテンツIDを同定する。
【0224】
ステップS276において、コンテンツフィルタ54は、サーバ11からコンテンツを取得するためのAPIであるコンテンツ取得APIを呼び出す。
【0225】
ステップS277において、コンテンツフィルタ54は、コンテンツ取得APIの出力引数として返されるコンテンツを取得する。
【0226】
このように、PDIストア132がデータベースとして構成される場合には、コンテンツフィルタ54は、PDI-FC評価APIを呼び出すことで、PDI-FCとプロバイダ側PDI-Aとのマッチングを行うことができる。
【0227】
以上のようにして、ユーザ側で設定されたPDI-FCによって、より複雑なフィルタリングの条件が表現されるようになるので、より確実に、ユーザ側が期待するコンテンツを取得させることが可能となる。
【0228】
ところで、本技術は、デジタルテレビジョン番組を放送する放送システムに適用することができるが、その一例として、ATSC(Advanced Television Standard Committee)方式を移動体受信に拡張させたATSC-M/H(Mobile/Handheld)方式で放送を行う放送システムに適用することができる。
【0229】
[ATSC-M/H方式で放送を行う放送システムへの適用例]
図26は、本技術を適用した、従来のATSC方式およびATSC-M/Hのそれぞれでデジタルテレビジョン番組を放送する放送システムの構成例を示す図である。
【0230】
図26の放送システムは、
図1の放送システム10におけるサーバ11に対応し、ATSC Legacy System151、ATSC M/H System152、M/H Framing153、およびRF/Transmission System154を備えている。
【0231】
ATSC Legacy System151は、従来のATSC方式で、MPEG2-TS(Moving Picture Experts Group 2 Transport Stream)により放送ストリームを送出する。ATSC M/H System152は、ATSC-M/H方式でIPパケットの放送ストリームを送出する。ATSC M/H System152におけるControl Data152aは、ATSC M/H System152から送出される放送ストリーム(A/V(Audio/Video)コンテンツ)に関する制御情報である。
【0232】
そして、上述した放送ストリームそれぞれは、M/H Framing153によって多重化され、RF/Transmission System154によって放送波として送信される。なお、各ブロックの機能の詳細については、ATSCの規格に記載されているので、ここでは、その説明は省略する。
【0233】
図27は、ATSC-M/H方式で送信される放送波の信号におけるプロトコルスタックを示している。
【0234】
詳細な説明は省略するが、最も上位の階層の1つは、「Service Guide」とされ、ATSC-M/H方式で提供されるコンテンツのメタデータを規定している。
図26で示されるControl Data152aは、「Service Guide」で規定されるコンテンツメタデータ(以下、単にService Guideという)として伝送される。すなわち、
図26の放送システムにおいては、上述した放送システム10においてサーバ11からクライアント12に送信されるPDI-A(プロバイダ側PDI-A)やPDI-FC、PDI-Qは、Service Guideに格納されて送信される。
【0235】
なお、
図27において、「Service Guide」に隣接する下位の階層「FLUTE」、および、「FLUTE」に隣接する下位の階層「ALC」は、UDP/IP(User Datagram Protocol/Internet Protocol)によってパケット化されたService Guideを転送するための階層である。
【0236】
このService Guideの仕様としては、OMA(Open Mobile Alliance)によって、
図28に示されるデータ構成が規定されている。なお、
図28に示されるService Guideの構成の詳細は、「"Service Guide for Mobile Broadcast Services", Open Mobile Alliance, OMA-TSBCAST_ServiceGuide-V1_0, Candidate Version 1.0」に規定されているため、その説明は省略する。
【0237】
PDI-A(プロバイダ側PDI-A)またはPDI-FCは、
図28に示されるService Guideを構成する要素のうちの、「Service」フラグメント、「Schedule」フラグメント、および「Content」フラグメントのうちの少なくともいずれか1つに格納される。
【0238】
「Service」フラグメントは、チャネル・サービスの内容に関する制御情報を含むメタデータであり、
図29は、その構成の詳細を示している。PDI-AまたはPDI-FCは、
図29に示される「Service」フラグメントにおいて、最下段に規定されている「PrivateExt」要素に新たに、例えば「PDI-FC」要素を追加することで、そこに格納される。具体的には、例えば、「PDI-FC」要素は、XMLスキーマによって、<xs:element name = "PDI-FC" type = "xs:string" xmlns:xs = "http://www.w3.org/2001/XMLSchema"/>と文字列で表現されてエンコードされる。
【0239】
「Schedule」フラグメントは、コンテンツ(デジタルテレビジョン番組)の配信スケジュールに関する制御情報を含むメタデータであり、
図30は、その構成の詳細を示している。PDI-AまたはPDI-FCは、
図30に示される「Schedule」フラグメントにおいて、最下段に規定されている「PrivateExt」要素に新たに、例えば「PDI-FC」要素を追加することで、そこに格納される。具体的には、例えば、「PDI-FC」要素は、XMLスキーマによって、<xs:element name = "PDI-FC" type = "xs:string" xmlns:xs = "http://www.w3.org/2001/XMLSchema"/>と文字列で表現されてエンコードされる。
【0240】
「Content」フラグメントは、コンテンツ(デジタルテレビジョン番組)の内容に関する制御情報を含むメタデータであり、
図31は、その構成の詳細を示している。PDI-AまたはPDI-FCは、
図31に示される「Content」フラグメントにおいて、最下段に規定されている「PrivateExt」要素に新たに、例えば「PDI-FC」要素を追加することで、そこに格納される。具体的には、例えば、「PDI-FC」要素は、XMLスキーマによって、<xs:element name = "PDI-FC" type = "xs:string" xmlns:xs = "http://www.w3.org/2001/XMLSchema"/>と文字列で表現されてエンコードされる。
【0241】
また、PDI-Qは、
図28に示されるService Guideを構成する要素のうちの、「Interactivity Data」フラグメントに格納される。
【0242】
「Interactivity Data」フラグメントは、チャネル・サービスやコンテンツ(テレビジョン番組)に関するアプリケーションについてのメタデータであり、
図32は、その構成の詳細を示している。PDI-Qは、
図32に示される「Interactivity Data」フラグメントにおいて、最下段に規定されている「PrivateExt」要素に新たに「PDI-Q」要素を追加することで、そこに格納される。具体的には、例えば、「PDI-Q」要素は、XMLスキーマによって、<xs:element name = "PDI-Q" type = "xs:string " xmlns:xs = "http://www.w3.org/2001 /XMLSchema"/>と文字列で表現されてエンコードされる。
【0243】
以上においては、本技術を、ATSC-M/H方式で放送を行う放送システムに適用した例について説明したが、従来のATSC方式でNRT(Non-RealTime)放送を行う放送システムに適用することもできる。NRT放送においては、リアルタイムでのコンテンツの視聴を前提としないため、データとして放送信号により放送されるコンテンツの放送時刻に同期してコンテンツを再生する必要はない。
【0244】
[NRT放送を行う放送システムへの適用例]
図33は、NRT放送で送信される放送波の信号におけるプロトコルスタックを示している。
詳細な説明は省略するが、最も下位の階層は、「Physical Layer(物理層)」とされ、放送波の周波数帯域がこれに対応する。「Physical Layer」に隣接する上位の階層は、「MPEG2-TS」とされ、放送波として放送される放送ストリームがこれに対応する。
【0245】
「MPEG2-TS」に隣接する上位の階層として、「ATSC-PSIP(Program and System Information Protocol)」および「MPEG2-PSI(Program Specific Information)」が示されている。「ATSC-PSIP」は、TVCTを有する階層とされ、「MPEG2-PSI」は、PAT(Program Association Table)、PMT(Program Map Table)を有する階層とされる。
【0246】
また、「MPEG2-TS」に隣接する上位の階層として、「DSM-CC(Digital Storage Media Command and Control) Addressable Section」が示されている。「DSM-CC Addressable Section」は、放送ストリームのMPEG2-TS上でIPパケットを転送するためのアダプテーションレイヤとして用いられる。
【0247】
図34は、TVCT、PAT、PMT、およびDSM-CC Addressable Sectionのデータ構造を示している。TVCTには、MPEG2-TSで放送される放送ストリームに関する制御情報が記述されており、TVCTに基づいて、IPパケットストリーム(UDP/IP Packets)を転送するためのDSM-CC Addressable Sectionを転送するMPEG2-TSが特定される。
【0248】
図33に戻り、「DSM-CC Addressable Section」に隣接する上位の階層として、「IP」が示され、さらに「IP」に隣接する上位の階層として、「UDP」が示されている。
【0249】
「UDP」に隣接する上位の階層として、「Service Signaling Channel」および「FLUTE/ALC(File Delivery over Unidirectional Transport/Asynchronous Layered Coding Protocol)」が示されている。「Service Signaling Channel」は、SMT(Service Map Table)およびNRT-IT(NRT Information Table)を有する階層とされる。「FLUTE/ALC」に隣接する上位の階層として、「FLUTE Session」が示されている。「FLUTE Session」は、FLUTE-FDT(File Delivery Table)およびA/V File(A/Vファイル)を有する階層とされる。
【0250】
図35は、SMT、NRT-IT、およびFLUTE FDTのデータ構造を示している。SMTには、チャネルに関するメタデータが記述され、NRT-ITには、コンテンツに関するメタデータが記述される。SMTおよびNRT-ITは、上述した「Service Signaling Channel」で転送される。FLUTE FDTには、A/Vファイルそれぞれを識別するための情報が記述されている。なお、A/Vファイルは、上述した「FLUTE/ALC」で転送される。
【0251】
ここで、NRT放送を行う放送システムにおいては、上述した放送システム10においてサーバ11からクライアント12に送信されるPDI-A(プロバイダ側PDI-A)やPDI-FC、PDI-Qは、SMTまたはNRT-ITに格納されて送信される。
【0252】
すなわち、配信されるコンテンツのフィルタリングを、チャネル(放送局)単位で行う場合には、SMTのサービスレベルのdescriptor loop(図中、「Service #1」の最下段)に、PDI-A、PDI-FC、またはPDI-Qを格納する「PDI descriptor」を新たに規定する。
【0253】
また、配信されるコンテンツのフィルタリングを、コンテンツ単位で行う場合には、NRT-ITのサービスレベルのdescriptor loop(図中、「Content #1」の最下段)に、PDI-A、PDI-FC、またはPDI-Qを格納する「PDI descriptor」を新たに規定する。
【0254】
図36は、「PDI descriptor」のシンタックスの例を示している。
図36においては、記述される記述子のそれぞれが、ビット数(No.of Bits)およびフォーマット(Format)とともに定義されている。
【0255】
図36に示されるシンタックスによれば、PDI-A、PDI-FC、またはPDI-Qは、可変ビットである記述子「PDI_Q or PDI_A or PDI-FC」に記述される。
【0256】
なお、「PDI descriptor」のシンタックスは、
図36に示された例に限るものではない。
【0257】
このように、本技術は、NRT放送を行う放送システムに適用することも可能である。
【0258】
なお、本技術は、上述したATSC-M/H方式で放送を行う放送システムや、NRT放送を行放送システム以外の方式で放送を行う放送システムに適用するようにしてももちろんよい。
【0259】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【0260】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、
図2に示すように、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスクを含む)、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア31、または、プログラムが一時的もしくは永続的に格納されるROM22や、記憶部28を構成するハードディスクなどにより構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインタフェースである通信部29を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【0261】
なお、本明細書において、プログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0262】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【0263】
なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。