(57)【要約】【課題】ユーザに視聴させる番組を容易に合成する。【解決手段】本発明の実施形態としての番組合成装置は、マッシュアップシナリオに基づき、使用する情報取得プラグインモジュールと、情報加工プラグインモジュールと、演出プラグインモジュールとを読み出し、それぞれの入力インターフェースおよび出力インターフェースを介して連結する連結部と、連結済プラグインモジュール群を順次駆動するプラグインモジュール駆動部と、前記情報取得プラグインモジュールが駆動されたとき情報を取得する情報取得部と、前記情報加工プラグインモジュールが駆動されたとき情報に対し所定の加工を行う情報加工部と、前記演出プラグインモジュールが駆動されたとき、指定されたプレゼンテーションシナリオで演出されるオブジェクトの値を決定するオブジェクト解決部と、前記オブジェクトの値が解決されたプレゼンテーションシナリオを番組として出力する番組出力部と、を備える。【選択図】図１
2012119855.tif 000002
【特許請求の範囲】
【請求項１】
値が未定であるオブジェクトの演出を記述したプレゼンテーションシナリオを記憶するプレゼンテーションシナリオ記憶部と、
指定されたロケーションから情報を取得することを指示するとともに、前記情報を出力する出力インターフェースを定義した、情報取得プラグインモジュールと、
情報の入力を受ける入力インターフェースを定義するとともに、前記情報に対し所定の加工を行うことを指示し、さらに、加工後の情報を出力する出力インターフェースを定義した、情報加工プラグインモジュールと、
情報の入力を受ける入力インターフェースを定義するとともに、前記情報に基づき、指定されたプレゼンテーションシナリオで演出されるオブジェクトの値を解決することを指示した、演出プラグインモジュールと、
を含む複数のプラグインモジュールを記憶するプラグインモジュール記憶部と、
マッシュアップシナリオに基づき、使用する情報取得プラグインモジュールと情報加工プラグインモジュールと演出プラグインモジュールとをそれぞれ少なくとも1つ選択して前記プラグインモジュール記憶部から読み出すとともに、読み出した情報取得プラグインモジュールおよび演出プラグインモジュールで使用するロケーションおよびプレゼンテーションシナリオを指定し、さらに、読み出したすべてのプラグインモジュール間をそれぞれの前記入力インターフェースおよび前記出力インターフェースを介して連結することにより、連結済プラグインモジュール群を生成するプラグインモジュール連結部と、
前記連結済プラグインモジュール群を順次駆動するとともに、前記連結済プラグインモジュール群に含まれる各プラグインモジュールの入力インターフェースおよび出力インターフェースで入出力される情報を管理する、プラグインモジュール駆動部と、
前記プラグインモジュール駆動部により前記情報取得プラグインモジュールが駆動されたとき、前記指定されたロケーションから前記情報を取得する情報取得部と、
前記プラグインモジュール駆動部により前記情報加工プラグインモジュールが駆動されたとき、前記情報加工プラグインモジュールの前記入力インターフェースに与えられる情報に対し、前記所定の加工を行う情報加工部と、
前記プラグインモジュール駆動部により前記演出プラグインモジュールが駆動されたとき、前記指定されたプレゼンテーションシナリオを前記プレゼンテーションシナリオ記憶部から読み出し、前記指定されたプレゼンテーションシナリオで演出されるオブジェクトの値を、前記演出プラグインモジュールの前記入力インターフェースに与えられる情報に基づき決定するオブジェクト解決部と、
前記オブジェクトの値が解決されたプレゼンテーションシナリオを番組として出力する番組出力部と、
を備えた番組合成装置。
【請求項２】
前記マッシュアップシナリオを、アクセス可能な記録媒体、またはネットワーク上のサーバから取得するマッシュアップシナリオ取得部と、
前記マッシュアップシナリオ取得部によって取得されたマッシュアップシナリオを記憶する前記マッシュアップシナリオ記憶部を備え、
前記プラグインモジュール連結部は、前記マッシュアップシナリオ記憶部から前記マッシュアップシナリオを読み出す
ことを特徴とする請求項1に記載の番組合成装置。
【請求項３】
前記プレゼンテーションシナリオを、アクセス可能な記録媒体、またはネットワーク上のサーバから取得するプレゼンテーションシナリオ取得部をさらに備え、
前記プレゼンテーションシナリオ記憶部は、前記プレゼンテーションシナリオ取得部によって取得されたプレゼンテーションシナリオを記憶する
ことを特徴とする請求項1に記載の番組合成装置。
【請求項４】
前記情報取得プラグインモジュールと、前記情報加工プラグインモジュールと、前記演出プラグインモジュールを、アクセス可能な記録媒体、またはネットワーク上のサーバから取得するプラグインモジュール取得部をさらに備え、
前記プラグインモジュール記憶部は、前記プラグインモジュール取得部によって取得された前記情報取得プラグインモジュールと、前記情報加工プラグインモジュールと、前記演出プラグインモジュールを記憶する
ことを特徴とする請求項1に記載の番組合成装置。
【請求項５】
前記プラグインモジュール連結部は、前記マッシュアップシナリオが、前記マッシュアップシナリオ内に複数のマッシュアップシナリオを含む場合に、前記マッシュアップシナリオ内に含まれる複数のマッシュアップシナリオを順次用いる
ことを特徴とする請求項1に記載の番組合成装置。
【請求項６】
過去に使用したマッシュアップシナリオと、前記過去に使用したマッシュアップシナリオにおいて前記情報取得モジュールに従って取得した情報と、を記憶する記憶部をさらに備え、
前記プラグインモジュール連結部は、前記記憶部に記憶されたマッシュアップシナリオを選択して用い、
前記ロケーションとして前記情報取得モジュールによる情報取得は、前記記憶部から行う
ことを特徴とする請求項1に記載の番組合成装置。
【請求項７】
前記番組出力部により出力された番組を解釈および表示する番組解釈表示部を備えたことを特徴とする請求項1に記載の番組合成装置。
【請求項８】
コンピュータが実行する番組合成方法であって、
指定されたロケーションから情報を取得することを指示するとともに、前記情報を出力する出力インターフェースを定義した、情報取得プラグインモジュールと、
情報の入力を受ける入力インターフェースを定義するとともに、前記情報に対し所定の加工を行うことを指示し、さらに、加工後の情報を出力する出力インターフェースを定義した、情報加工プラグインモジュールと、
情報の入力を受ける入力インターフェースを定義するとともに、前記情報に基づき、指定されたプレゼンテーションシナリオで演出されるオブジェクトの値を解決することを指示した、演出プラグインモジュールと、
を含む複数のプラグインモジュールを、マッシュアップシナリオに従ってプラグインモジュール記憶部から読み出すステップと、
前記マッシュアップシナリオに従って、読み出した情報取得プラグインモジュールおよび演出プラグインモジュールで使用するロケーションおよびプレゼンテーションシナリオを指定するとともに、読み出したすべてのプラグインモジュール間を、それぞれの前記入力インターフェースおよび前記出力インターフェースを介して連結することにより、連結済プラグインモジュール群を生成するプラグイン連結ステップと、
前記連結済プラグインモジュール群を順次駆動するプラグインモジュール駆動ステップと、
前記連結済プラグインモジュール群に含まれる各プラグインモジュールの入力インターフェースおよび出力インターフェースで入出力される情報を管理する管理ステップと、
前記情報取得プラグインモジュールが駆動されたとき、前記指定されたロケーションから前記情報を取得する情報取得ステップと、
前記情報加工プラグインモジュールが駆動されたとき、前記情報加工プラグインモジュールの前記入力インターフェースに与えられる情報に対し、前記所定の加工を行う情報加工ステップと、
前記演出プラグインモジュールが駆動されたとき、前記指定されたプレゼンテーションシナリオをプレゼンテーションシナリオ記憶部から読み出し、読み出したプレゼンテーションシナリオで演出されるオブジェクトの値を、前記演出プラグインモジュールの前記入力インターフェースに与えられる情報に基づき決定するオブジェクト解決ステップと、
前記オブジェクトの値が解決されたプレゼンテーションシナリオを番組として出力する番組出力ステップと、
を備えた番組合成方法。
【請求項９】
前記マッシュアップシナリオを、アクセス可能な記録媒体、またはネットワーク上のサーバから取得し、取得されたマッシュアップシナリオをマッシュアップシナリオ記憶部に記憶するマッシュアップシナリオ取得ステップと、
前記マッシュアップシナリオ記憶部から、使用するマッシュアップシナリオを読み出すステップと
をさらに備えたことを特徴とする請求項8に記載の番組合成方法。
【請求項１０】
前記プレゼンテーションシナリオを、アクセス可能な記録媒体、またはネットワーク上のサーバから取得し、取得されたプレゼンテーションシナリオを前記プレゼンテーションシナリオ記憶部に記憶するプレゼンテーションシナリオ取得ステップをさらに備えた
ことを特徴とする請求項8に記載の番組合成方法。
【請求項１１】
前記情報取得プラグインモジュールと、前記情報加工プラグインモジュールと、前記演出プラグインモジュールを、アクセス可能な記録媒体、またはネットワーク上のサーバから取得し、取得した前記情報取得プラグインモジュールと、前記情報加工プラグインモジュールと、前記演出プラグインモジュールを、前記プラグインモジュール記憶部に記憶するプラグインモジュール取得ステップをさらに備えた
ことを特徴とする請求項8に記載の番組合成方法。
【請求項１２】
前記プラグインモジュール連結ステップは、前記プラグインモジュール連結部は、前記マッシュアップシナリオが、前記マッシュアップシナリオ内に複数のマッシュアップシナリオを含む場合に、前記マッシュアップシナリオ内に含まれる複数のマッシュアップシナリオを順次用いる
ことを特徴とする請求項8に記載の番組合成方法。
【請求項１３】
使用したマッシュアップシナリオと、前記使用したマッシュアップシナリオにおいて前記情報取得モジュールに従って取得した情報と、を記憶部に記憶する記憶ステップと、
前記プラグイン連結ステップは、前記記憶部に記憶されたマッシュアップシナリオを選択して用い、
前記ロケーションとして前記情報取得モジュールによる情報取得は、前記記憶部から行う
ことを特徴とする請求項8に記載の番組合成方法。
【請求項１４】
前記番組出力ステップにより出力された番組を解釈および表示する番組解釈表示ステップを備えた
ことを特徴とする請求項8に記載の番組合成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、番組合成装置および番組合成方法に関する。
【背景技術】
【０００２】
従来、インターネット上のサーバなどの様々なロケーションから情報（リソース）を取得し、番組を合成する番組合成装置が知られている。情報の取得から番組の合成までの一連の手順はシナリオとして記述され、シナリオを再生することで、番組の合成が実現される。シナリオには、ロケーションからの情報の取得指示、取得した情報の加工指示、加工情報によるオブジェクトの演出（たとえば動き、色など）の指示等が、詳細に記述されている。
【０００３】
シナリオにおけるこれらの指示は、具体的には、シナリオに含まれるスクリプトにプログラムを記述することで行われている。プログラムの記述には、手間がかかるため、より簡易に、シナリオの作成、つまり、番組の合成を行う方法が要求されていた。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開2009-239479号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、番組を容易に合成することを可能とした番組合成装置および番組合成方法を提供する。
【課題を解決するための手段】
【０００６】
本発明の実施形態としての番組合成装置は、プレゼンテーションシナリオ記憶部と、プラグインモジュール記憶部と、プラグインモジュール連結部と、プラグインモジュール駆動部と、情報取得部と、情報加工部と、オブジェクト解決部と、番組出力部とを備える。
【０００７】
前記プレゼンテーションシナリオ記憶部は、値が未定であるオブジェクトの演出を記述したプレゼンテーションシナリオを記憶する。
【０００８】
前記プラグインモジュール記憶部は、情報取得プラグインモジュールと、情報加工プラグインモジュールと、演出プラグインモジュールと、を含む複数のプラグインモジュールを記憶する。
【０００９】
前記情報取得モジュールは、指定されたロケーションから情報を取得することを指示するとともに、前記情報を出力する出力インターフェースを定義する。
【００１０】
前記情報加工モジュールは、情報の入力を受ける入力インターフェースを定義するとともに、前記情報に対し所定の加工を行うことを指示し、さらに、加工後の情報を出力する出力インターフェースを定義する。
【００１１】
前記演出プラグインモジュールは、情報の入力を受ける入力インターフェースを定義するとともに、前記情報に基づき、指定されたプレゼンテーションシナリオで演出されるオブジェクトの値を解決することを指示する。
【００１２】
前記プラグインモジュール駆動部は、マッシュアップシナリオに基づき、使用する情報取得プラグインモジュールと情報加工プラグインモジュールと演出プラグインモジュールとをそれぞれ少なくとも1つ選択して前記プラグインモジュール記憶部から読み出すとともに、読み出した情報取得プラグインモジュールおよび演出プラグインモジュールで使用するロケーションおよびプレゼンテーションシナリオを指定し、さらに、読み出したすべてのプラグインモジュール間をそれぞれの前記入力インターフェースおよび前記出力インターフェースを介して連結することにより、連結済プラグインモジュール群を生成する。
【００１３】
前記プラグインモジュール駆動部は、前記連結済プラグインモジュール群を順次駆動するとともに、前記連結済プラグインモジュール群に含まれる各プラグインモジュールの入力インターフェースおよび出力インターフェースで入出力される情報を管理する。
【００１４】
前記情報取得部は、前記プラグインモジュール駆動部により前記情報取得プラグインモジュールが駆動されたとき、前記指定されたロケーションから前記情報を取得する。
【００１５】
前記情報加工部は、前記プラグインモジュール駆動部により前記情報加工プラグインモジュールが駆動されたとき、前記情報加工プラグインモジュールの前記入力インターフェースに与えられる情報に対し、前記所定の加工を行う。
【００１６】
前記オブジェクト解決部は、前記プラグインモジュール駆動部により前記演出プラグインモジュールが駆動されたとき、前記指定されたプレゼンテーションシナリオを前記プレゼンテーションシナリオ記憶部から読み出し、前記指定されたプレゼンテーションシナリオで演出されるオブジェクトの値を、前記演出プラグインモジュールの前記入力インターフェースに与えられる情報に基づき決定する。
【００１７】
前記番組出力部は、前記オブジェクトの値が解決されたプレゼンテーションシナリオを番組として出力する。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施形態に係わる番組合成装置を示すブロック図である。
【図２】図１の番組合成装置の動作の流れを示すフローチャートである。
【図３】プラグインモジュール連結部により得られた連結済プラグインモジュール群の例を示す図である。
【図４】プレゼンテーションシナリオの編集画面例を示す図である。
【図５】合成された番組の一例を示す図である。
【図６】本発明の実施形態に係わる番組合成装置の他の構成例を示す図である。
【図７】本発明の実施形態に係わる番組合成装置のさらに他の構成例を示す図である。
【図８】本発明の実施形態に係わる番組合成装置のさらに他の構成例を示す図である。
【発明を実施するための形態】
【００１９】
本発明の実施形態は、情報の取得および加工、ならびにオブジェクトの演出をプラグインモジュールの連結により表現することで、ユーザ自身でスクリプトを記述する必要を無くし、簡易な番組作成を可能とするものである。以下、図面を参照しながら、本発明の実施形態を説明する。
【００２０】
図1は、本発明の実施形態に係わる番組合成装置を示すブロック図である。図2は、図1の番組合成装置の動作の流れを示すフローチャートである。
【００２１】
図1の番組合成装置は、インターネットやローカルネットワーク等のネットワーク上のサーバ、またはユーザ機器内部の記憶部等のロケーションから情報を収集し、ユーザに視聴させる番組を合成するものである。図1の番組合成装置は、テレビ装置、パーソナルコンピュータ（PC）、およびモバイル装置等のユーザ機器に組み込まれてもよいし、それ自体単独の形で存在してもよい。単独の形で存在する場合、当該番組合成装置は、表示部を備えたユーザ機器と接続可能に構成され、生成した番組をユーザ機器に送って、当該表示部で表示させてもよい。
【００２２】
本番組合成装置は、コンピュータによって実行されるソフトウェア（プログラム）の形態で実現されてもよい。この場合、ソフトウェアは、ハードディスク、メモリ装置、CD-ROM等の記録媒体に格納され、当該コンピュータにより読み出され、実行される。
【００２３】
本番組合成装置は、インターネットまたはローカルネットワーク等のネットワーク上のサーバと、通信可能に構成される。当該番組合成装置が、ユーザ機器に組み込まれる場合は、ユーザ機器に搭載の通信機能を利用して、当該番組合成装置は、通信を行っても良い。
【００２４】
図1の番組合成装置は、マッシュアップシナリオ記憶部101と、プラグインモジュール連結部102と、プラグインモジュール記憶部103と、プラグインモジュール駆動部104と、情報取得部105と、情報加工部106と、オブジェクト解決部107と、プレゼンテーションシナリオ記憶部108と、番組出力部109とを備える。
【００２５】
プラグインモジュール記憶部103は、複数のプラグインモジュールを記憶する。プラグインモジュールには、情報の取得指示を記述した情報取得プラグインモジュール、情報の加工指示を記述した情報加工プラグインモジュール、オブジェクトの演出指示を記述した演出プラグインモジュールがある。
【００２６】
情報取得プラグインモジュールは、ネットワーク上のサーバ（たとえばＵＲＬによって特定されるサーバ内のファイル）からWebAPI等を使って情報を取得するものや、ユーザ機器に内蔵されている記憶部から機器のAPIを使って情報を取得するものなど、各種用いることができる。情報取得プラグインモジュールは、取得した情報を出力する出力インターフェースを有する。
【００２７】
情報加工プラグインモジュールは、構造化されたデータ（情報）から取得したいデータを抜き出したり、数値を計算したり、情報を並び替えたり、様々な加工を施すものを用いることができる。情報加工プラグインモジュールで扱う情報は、情報取得プラグインモジュールによって得られた情報、または他の情報加工プラグインモジュールによって加工された情報がある。情報加工プラグインモジュールは、加工の対象となる情報の入力を受ける入力インターフェース、加工後の情報を出力する出力インターフェースを有する。
【００２８】
演出プラグインモジュールは、パラメータとして指定されたプレゼンテーションシナリオ（後述）に登場するオブジェクトを解決（キーによって表現されたオブジェクトの値を確定）する役割を有する。オブジェクトを解決するために、たとえばキーと、値との組であるハッシュリスト（（キー、値）のデータの集合）を用いることができる。このハッシュリストは、情報加工プラグインモジュールの出力として得られ、演出プラグインモジュールは、当該ハッシュリストの入力を受ける入力インターフェースを有する。
【００２９】
マッシュアップシナリオ記憶部101は、マッシュアップシナリオを記憶する。マッシュアップシナリオは、各種プラグインモジュールの選択とその相互の連結状態とを示すグラフ構造（トポロジー）を記録するとともに、必要に応じて各プラグインモジュールに与えるパラメータを記録した指示書である。マッシュアップシナリオは、例えばXML形式などのタグ記述言語で記述されることができる。
【００３０】
プラグインモジュール連結部102は、マッシュアップシナリオ記憶部101からマッシュアップシナリオを読み出し（ステップS1）、マッシュアップシナリオに記述されたプラグインモジュールを、プラグインモジュール記憶部103から読み出す（ステップS2）。
【００３１】
プラグインモジュール連結部102は、マッシュアップシナリオに記述されたグラフ構造（トポロジー）に従って、読み出したプラグインモジュールの入力および出力インターフェース間を相互に連結し、これにより連結済プラグインモジュール群を得る（ステップS3）。
【００３２】
図3は、プラグインモジュール連結部102によって生成された連結済プラグインモジュール群の例を示す。
【００３３】
図3において、1つ1つの箱（大きな矩形）がプラグインモジュールを示しており、各箱の上には、「/Subscription/Rss」、「Filter/RemoveHtmlTags」といったモジュール名が記述されている。
【００３４】
図3に沿って、上から2番目（空でない一番上）の「/Subscription/Rss」は情報取得プラグインモジュール、その下の6個のモジュール「/Filter/RemoveHtmlTags」、「/Rss/GetElementString」、「/Hash/InsertString」、「/Filter/MatchRegex」、「/Rss/GetElementString」、「/Rss/SetElementString」は情報加工モジュール、一番下から2番目（空でない一番下）の「/Presentation/RsstoGmg」は、演出プラグインモジュールである。
【００３５】
各プラグインモジュールは、それぞれ1つ以上の項目（入力項目、出力項目）を、入力インターフェースおよび出力インターフェースとして備えている。
【００３６】
各項目は、「引数の型」、「引数の名前（引数名）」、「引数の値」のうち、少なくとも前2者を含む。引数の値は、引数名の右側に設けられた小さい矩形の欄（パラメータ入力欄）に記述される（引数の値がパラメータ指定されない項目に関しては、パラメータ入力欄は存在しない）。たとえば「/Subscription/Rss」（情報取得プラグインモジュール）では、引数「in:max」に対し、パラメータとして、値「10」が、パラメータ入力欄で指定されている。
【００３７】
引数名の先頭が「in:」の項目は、入力用項目であり、該当モジュールへのデータまたはパラメータの入力を意味する。引数名の先頭が「out:」の項目は、出力用項目であり、該当モジュールからのデータの出力を意味する。
【００３８】
プラグインモジュール間の連結は、入力インターフェースおよび出力インターフェースを介して行われる。図3において、パイプ状の太線が、プラグインモジュール間の連結を示す。この連結は、プラグインモジュール間の情報の入出力の関係を示す。図示の例では、パイプの上側に連結されたプラグインモジュールの出力データが、当該パイプの下側に連結されたプラグインモジュールへ入力されるように、プラグインジュールが整列されている。つまり、データの流れが常に上から下になるように、プラグインモジュールを示す箱が、配置および連結されている。なお図示のプラグインモジュールの配置および連結は一例であり、本実施形態はこれに限定されるものではない。
【００３９】
各プラグインモジュールは、有効な入力用項目（他のプラグインモジュールにパイプで連結されている入力用項目、またはパラメータ入力欄にパラメータが指定されている入力用項目）に従って、データまたはパラメータを取得する。各プラグインモジュールは、取得したデータまたはパラメータに基づき各々に固有のモジュール処理（データの取得、データの加工、オブジェクトの解決など）を行い、有効な出力用項目（パイプが接続されている出力用項目）に従って、処理後のデータを出力する。各プラグインモジュールの個々の処理内容は、上述したようにタグ記述言語により記述されているが、記述自体は本実施形態の本質ではないため、図示を省略する。
【００４０】
各プラグインモジュールは、パラメータ入力欄をもつ場合、当該入力欄で指定された値を、パラメータとして取り込み、当該パラメータを、自身のモジュール処理で使用する。また入力項目がパイプで他のプラグインモジュールに連結されている場合、連結元のプラグインモジュールから出力されたデータを取り込み、当該モジュール処理で使用する。他のプラグインモジュールに連結されておらず、またパラメータ入力欄がブランクである入力項目（有効でない入力項目）については、当該入力項目は使用されず、当該入力項目によるデータまたはパラメータの取り込みを行わない。
【００４１】
たとえば、上から2番目（空でない一番上）の「/Subscription/Rss」（情報取得プラグインモジュール）は、パラメータで指定された「http://rss.pics.livedoor.com/pickup」から、ＲＳＳに含まれる＜item＞(アイテム)を10個取得することを示している。取得した情報（rss型）は、「/Filter/RemoveHtmlTags」、「/Rss/GetElementString」（情報加工プラグインモジュール）に出力される。なお、ＲＳＳには、RDF Site Summary、Rich Site Summary、Really Simple Syndicationなど、名称の異なる複数の規格（バージョン）が存在し、本実施形態で扱うRSSはこれらのいずれも含むものである。また、Atomも広義のRSSの一種として取り扱う。RSSでは、たとえばXMLやHTMLなどのタグ記述言語により、ウェブサイトの情報が構造化されて記述されており、タグの識別により、各情報がどのような種類のデータか識別可能である。
【００４２】
また、上記「/Subscription/Rss」の1つ下に配置された「/Filter/RemoveHtmlTags」（情報加工プラグインモジュール）は、当該「/Subscription/Rss」から出力された情報を用いて、予め定められた処理（HTMLタグ等の余計な要素の除去）を行い、処理後の情報を、「/Rss/SetElementString」に出力することを意味している。
【００４３】
この「/Filter/RemoveHtmlTags」と、その下の5つの情報加工モジュール「/Rss/GetElementString」、「/Hash/InsertString」、「/Filter/MatchRegex」、「/Rss/GetElementString」、「/Rss/SetElementString」により、情報取得モジュールで取得した情報から不要なタグ等の除去、情報の切り出し等の加工を行い、キーと、値との組とからなるハッシュリストを、「/Rss/SetElementString」の出力インターフェース（「rss out:rss」から出力している。
【００４４】
一番下から2番目（空でない一番下）の「/Presentation/RsstoGmg」（演出プラグインモジュール）は、プレゼンテーションシナリオとして「NewsArticle.gmg」の指定を受けるとともに、上記の情報加工プラグインモジュール「/Rss/SetElementString」から出力されたハッシュリストを入力としている。当該「/Presentation/RsstoGmg」は、このハッシュリストを用いて、プレゼンテーションシナリオ「NewsArticle.gmg」で用いられるオブジェクトを解決する（プレゼンテーションシナリオにおいて、キーによって表現されているオブジェクトの値を確定する）。
【００４５】
図2に戻り、プラグインモジュール駆動部104は、プラグインモジュール連結部102によって得られた連結済プラグインモジュール群を順次、選択および駆動する（ステップS5）。駆動とは、選択したプラグインモジュールの記述、および当該モジュールで入力とする情報を、当該モジュールを実行する処理部（情報取得部、情報加工部、またはオブジェクト解決部）に渡すことで、当該記述の実行を、当該処理部に指示することを意味する。連結済プラグインモジュール群の駆動は、各プラグインモジュールの連結の順序に従って、データの流れる順に（上の箱から順番に）行う。データの流れる順に駆動することで、プラグインモジュール間でデータの依存関係が保たれる。なお、選択するプラグインモジュールは1つでもよいし、データの依存関係を保っていれば同時に複数でもよい。
【００４６】
プラグインモジュール駆動部104により情報取得プラグインモジュールが駆動されたとき（ステップS6のYes）、情報取得部105は、情報取得プラグインモジュールの記述を解釈および実行することで、外部ロケーションから情報を取得し、取得した情報をプラグインモジュール駆動部104に渡す（ステップS7）。プラグインモジュール駆動部104は、当該モジュールが取り扱う引数のデータを管理する役割も果たし、情報取得プラグインモジュールを駆動する際、引数のデータ（たとえば情報取得先のURL）を、情報取得部105に渡す。
【００４７】
一方、プラグインモジュール駆動部104により、情報加工プラグインモジュールが駆動されたときは（ステップS8のYes）、情報加工部106は、情報加工プラグインモジュールの記述を解釈および実行することで、加工対象となる情報を加工し、加工後の情報をプラグインモジュール駆動部104に渡す（ステップS9）。加工対象となる情報や、加工の際に必要となるパラメータは、プラグインモジュール駆動部104が管理しており、プラグインモジュール駆動部104は、情報加工プラグインモジュールを駆動した際、これらのデータも、情報加工部106に渡す。たとえば、情報加工プラグインモジュールの入力インターフェースに、他のプラグインモジュールの出力インターフェースが連結されているときは、当該他のプラグインモジュールで得られた情報を、当該情報加工プラグインモジュールに渡す。
【００４８】
また、プラグインモジュール駆動部104により演出プラグインモジュールが駆動されたときは（ステップS10のYes）、オブジェクト解決部107が、当該演出プラグインモジュールの記述を解釈および実行することで、使用するプレゼンテーションシナリオを特定するとともに、当該シナリオにおけるオブジェクトを解決する（ステップS11〜S14）。プラグインモジュール駆動部104は、演出プラグインモジュールが取り扱う引数のデータ（たとえば使用するプレゼンテーションシナリオの識別子）も管理しており、演算プラグインモジュールを駆動する際、このデータも、オブジェクト解決部107に渡す。以下、ステップS11〜S14の詳細について、説明する。
【００４９】
まず、プレゼンテーションシナリオの詳細を説明する。プレゼンテーションシナリオは、番組に登場する各種のオプジェクト（テキスト、図形、画像、音楽、効果音、音声、動画など）の定義と、それらが番組に登場／退場するタイミング、色、動作（移動（静止も含む）、形状の変化など）等の演出、ボタンやキー入力等のイベントに対する応答などを記述した指示書である。プレゼンテーションシナリオは、例えばXML形式で記述されることができる。
【００５０】
ただし、プレゼンテーションシナリオに記述された一部のオブジェクトの値は定まっておらず（未解決であり）、変数（キー）によって表現されている。つまり、当該一部のオブジェクトについて、その登場するタイミング等、演出の詳細はプレゼンテーションシナリオに具体的に記述されているもの、このオブジェクトの内容は、変数（キー）によって指定されている。したがって、プレゼンテーションシナリオを番組として完成させるために、オブジェクトの値を決定（オブジェクトを解決）する必要がある。
【００５１】
ここで、図4にプレゼンテーションシナリオの編集画面の一例を示す。
【００５２】
プレゼンテーションシナリオは、たとえばＸＭＬにより記述されるが、ユーザは、編集の際、XMLを意識することなく、パワーポイント（登録商標）アニメーションの作成と同じような操作で、グラフィカルに、プレゼンテーションシナリオを作成できる。したがって、ユーザは、手作業でスクリプトを記述する必要はない。図4において大きく表示された、英語クイズのプレゼンテーションシナリオ（Scene3）において、オブジェクトのキーは、「$foobar」によって表されている。すなわち、5個のオブジェクト201、202、203、204、205が、キー「$qenglish」、「$japanese00」、「$japanese01」、「$japanese02」、「$japanese03」によって表されている。すなわち、これらのオブジェクトの値は、未確定である。
【００５３】
図2に戻り、ステップＳ11において、オブジェクト解決部107は、演出プラグインモジュールの記述と、パラメータとを受け取り、パラメータにより指定されたプレゼンテーションシナリオ（たとえば図4のScene3のプレゼンテーションシナリオ）を、プレゼンテーションシナリオ記憶部108から読み出す。
【００５４】
次に、オブジェクト解決部107は、読み出したプレゼンテーションシナリオに含まれる未解決オブジェクトのキーを取り出し、キーに対応する値をプラグインモジュール駆動部104に要求して取得し、取得した値でオブジェクトを置き換える（ステップＳ12）。すなわちオブジェクを解決する（ステップS12）。キーに対応する値は、情報加工プラグインモジュールの出力であるハッシュリストから特定する。図3の例では、「/Rss/SetElementString」から出力されたハッシュリストの中から、キーに対応する値を取得する。なお、オブジェクト解決部107はプラグインモジュール駆動部104に問い合わせる代わりに、演算プラグインモジュールの記述を受ける際に、ハッシュリストも同時に受けておき、このハッシュリストに基づき、自身で、キーに対応する値を特定してもよい。
【００５５】
オブジェクト解決部107は、すべてのオブジェクトのキーが、それぞれ値に置き換えられたら、すなわちすべてのオブジェクトが解決されたら、解決後のプレゼンテーションシナリオを、番組出力部109に渡す（ステップＳ13）。
【００５６】
番組出力部109は、オブジェクト解決部107から受け取ったプレゼンテーションシナリオを整形し、番組として出力する（ステップＳ14）。
【００５７】
ここで出力する番組は、全てのオブジェクトが解決されたプレゼンテーションシナリオそのものであってもよいし、解決されたプレゼンテーションシナリオを特定の言語に変換されたものであっても良い。特定の言語として、たとえばSMIL (Synchronized Multimedia Integration Language) 、HTML等のマークアップ言語がある。このように、番組の出力形態は、任意でよい。出力された番組は、ユーザ機器に備え付けの番組解釈表示部で解釈され、表示される。番組解釈表示部は、番組合成装置100内部に組み込んでもよく、その場合は、図6のように、番組出力部109の後段に、番組解釈表示部110を追加すればよい。
【００５８】
図5に、すべてのオブジェクトが解決された番組の一例を示す。図4における5個のオブジェクトのキーが、参照数字301、302、303、304、305で示される実際の値に、置換されている。すなわち、図4に示された「$qenglish」は「blanket」に置換され、「$japanese00」は「感情がほとばしる」に、「$japanese01」は「野球の強打者」に、「$japanese02」は「一般的な、一律の、包括的な」に、「$japanese03」は「食道、のど」に置換されている。
【００５９】
プラグインモジュール駆動部104は、連結済プラグインモジュール群に含まれる全てのプラグインモジュールを駆動したかどうかを判定する（ステップＳ15）。まだ全てのプラグインモジュールを駆動していないときは（ステップＳ15のNo）、ステップS5に戻る。全てのプラグインモジュールを駆動したときは（ステップＳ15のYes）の場合は、本処理を終了する。
【００６０】
上述した実施形態では、マッシュアップシナリオはマッシュアップシナリオ記憶部101にあらかじめ記憶されていた。これに対し、図7のようにマッシュアップシナリオ取得部111を設け、当該シナリオ取得部111が、記録媒体またはネットワーク上のサーバからマッシュアップシナリオを取得し、取得したマッシュアップシナリオをマッシュアップシナリオ記憶部101に格納してもよい。
【００６１】
また、上述した実施形態では、各種プラグインモジュールはプラグインモジュール記憶部103にあらかじめ記憶されていた。これに対し、図7のようにプラグインモジュール取得部112を設け、当該プラグインモジュール取得部112が、記録媒体またはネットワーク上のサーバからプラグインモジュールを取得し、取得したプラグインモジュールをプラグインモジュール記憶部103に格納してもよい。プラグインモジュールの取得は、マッシュアップシナリオに基づき、プラグインモジュール連結部102がプラグインモジュール取得部112に指示して行っても良い。マッシュアップシナリオで指定されたプラグインモジュールのうち、プラグインモジュール記憶部103に存在しないプラグインモジュールのみ、取得を指示してもよい。
【００６２】
また、上述した実施形態では、プレゼンテーションシナリオはプレゼンテーションシナリオ記憶部108にあらかじめ記憶されていた。これに対し、図7のようにプレゼンテーションシナリオ取得部113を設け、当該プレゼンテーションシナリオ取得部113が、記録媒体またはネットワーク上のサーバからプレゼンテーションシナリオを取得し、取得したプレゼンテーションシナリオをプレゼンテーションシナリオ記憶部108に格納してもよい。プレゼンテーションシナリオの取得は、連結済プラグインモジュール群の駆動時に、演出プラグインモジュールに指定されたパラメータに基づき、プラグインモジュール駆動部104がプレゼンテーションシナリオ取得部113に指示して行っても良い。
【００６３】
ここで、上記した記録媒体は、番組合成装置からアクセス可能な記憶手段であれば何でもよく、たとえば、ユーザ機器内の記憶部（メモリ装置、ハードディスク装置等）でもよいし、CD-ROM, CD-R等のディスク状の記憶手段でもよいし、ユーザ機器に脱着可能なUSBメモリ、メモリカード等でもよい。
【００６４】
さらに、図8に示すように記憶部114を設け、使用したマッシュアップシナリオと、情報取得部105で取得した情報とをセットにして、記憶部114に記憶させてもよい。これによりユーザが過去に見た番組を再度みたい場合、外部ロケーションの蓄積情報（たとえばインターネット上の情報）が更新されたとしても、記憶部114の情報を利用することで、同じ番組を再度、見ることができる。この場合、情報取得モジュールによる情報取得先が、元々のロケーションではなく、記憶部114内を指すように、情報取得プラグインモジュールに与えるパラメータの値を、書き換えておくものとする。
【００６５】
なお、当該マッシュアップシナリオで用いられるプラグインモジュールまたはプレゼンテーションシナリオも併せて、記憶部114に記憶させてもよい。これにより、図7のようにプラグインモジュールまたはプレゼンテーションシナリオをインターネット等から取得する場合に、これらがインターネット等から消失した場合であっても、マッシュアップシナリオを再生できる。
【００６６】
なお、上述した実施形態において、マッシュアップシナリオは、マッシュアップシナリオ中に別のマッシュアップシナリオを複数個入れ子として含むようにしてもよい。その場合は、複数のマッシュアップシナリオを順次用いて、出力をつなぎ合わせればよい。  
このように、本実施形態に係わる番組合成装置によれば、プラグインモジュールを選択および連結することにより情報の取得および加工、ならびにオブジェクトの演出を表現するため、ユーザは、スクリプトを記述することなく、情報取得、加工、演出、出力形態を自在に切り替えて、番組合成を行うことが可能となる。
【００６７】
また、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【００６８】
100・・・番組合成装置
101・・・マッシュアップシナリオ記憶部
102・・・プラグインモジュール連結部
103・・・プラグインモジュール記憶部
104・・・プラグインモジュール駆動部
105・・・情報取得部
106・・・情報加工部
107・・・オブジェクト解決部
108・・・プレゼンテーションシナリオ記憶部
109・・・番組出力部
111・・・マッシュアップシナリオ取得部
112・・・プラグインモジュール取得部
113・・・プレゼンテーションシナリオ取得部
114・・・記憶部
201、202、203、204、205・・・キー
301、302、303、304、305・・・オブジェクトの値
【図１】
2012119855.tif 000003
【図２】
2012119855.tif 000004
【図３】
2012119855.tif 000005
【図４】
2012119855.tif 000006
【図５】
2012119855.tif 000007
【図６】
2012119855.tif 000008
【図７】
2012119855.tif 000009
【図８】
2012119855.tif 000010