(本発明の基礎となった知見)
本発明者は、従来の技術において、以下の問題が生じることを見出した。
ここで、マルチメディアコンテンツのコンテンツ形式として、素材パッケージ形式と、完全パッケージ形式とがある。素材パッケージ形式は、マルチメディアコンテンツを構成する素材である写真及びムービー等と、メディア制御スクリプトとがアーカイブされた形式である。この形式では、素材の置き換え、及び部分更新を行うことができるため多彩な編集を行うことができるが、再生するためにはスクリプト実行機能が再生端末に必要である。
これに対し、完全パッケージ形式は、素材パッケージ形式のマルチメディアコンテンツを再生した場合と同じ表現となる動画ストリームの形式である。例えば、この動画ストリームの形式は、MPEG2−TS(Motion Picture Expert Group 2−Transport Stream)又はMPEG4で実現される。この形式では、動画ストリームの部分削除等の限られた編集しかできないが、スクリプト実行機能が不要であり、多くの端末で再生することができる。
本明細書では、以降、マルチメディアコンテンツとだけ記述する場合は、素材パッケージ形式のマルチメディアコンテンツを指すものとする。また、素材パッケージ形式と完全パッケージ形式を区別する場合は、それぞれの形式を記述する。
マルチメディアコンテンツはメディア制御スクリプトを利用することにより、画面上の写真、ムービー及びデコレーション画像等の移動、回転及び重ね合わせ等の効果、画面の切り替え効果、並びにアニメーション効果等、多彩な表現を実現できる点が大きな特徴である。
ここで、写真の高速移動、及び画面の特殊切り替え等、表現効果の高い処理はメディア制御スクリプトを実行する再生端末のスクリプト処理能力に依存する。再生端末のプロセッサ能力は年々向上し、それに伴い、スクリプト処理能力も上がっていく。このことから、再生端末の買い替え等により、マルチメディアコンテンツを更新したいという要望がある。例えば、再生端末を買い替えたユーザが、過去に作成したマルチメディアコンテンツを現在のスクリプト処理能力の高い再生端末で視聴する際、買い替えた再生端末での表現効果を最大限に活用してマルチメディアコンテンツを視聴したいというものである。
より具体的には、買い替え前の端末ではそのスクリプト処理能力により、画面上で写真を移動させるとチラつきが発生したことから、写真を動かさないマルチメディアコンテンツを作成したが、再生端末を買い替えたことにより、利用する写真を変えることなく、写真を動かす派手な効果に置き換えたいという要望がある。また、作成したマルチメディアコンテンツを他のユーザと共有する場合に、そのマルチメディアコンテンツを更新したいという要望もある。例えば、子供の写真を素材として作成したマルチメディアコンテンツを祖父母等と共有する場合、祖父母の保有する再生端末の表現効果を最大限に利用した本物のアルバムの様に捲りながら表示されるマルチメディアコンテンツに再編集したいという要望もある。
しかしながら、従来のマルチメディアコンテンツ作成端末及びサーバでは、このような要望に十分対応できていない。つまり、従来の装置は、マルチメディアコンテンツに含まれるメディア制御スクリプトを再生端末のスクリプト処理能力に応じて決定又は更新する機能を保持していない。
また、全ての端末がマルチメディアコンテンツを再生できるとは限らない。マルチメディアコンテンツを再生するためには、メディア再生機能とスクリプト実行機能が必要であるが、メディア再生機能のみ保持し、スクリプト実行機能を保持しない再生機器も存在する。ここで、メディア再生機能は、例えば、MPEG2デコーダであり、スクリプト実行機能は、例えば、バーチャルマシンである。このような機器においてもマルチメディアコンテンツを視聴したいという要望がある。
しかしながら、従来のマルチメディアコンテンツ作成端末及びサーバでは、このような要望に十分対応できていない。つまり、従来の装置は、マルチメディアコンテンツをメディア再生機能のみ保持する再生機器向けに再構成する機能を保持していない。
また、マルチメディアコンテンツを作成する場合、予め用意されたテンプレートを利用し、テンプレートに対して、写真又はムービーをはめ込むことにより、簡単にマルチメディアコンテンツを作成することができる。よって、テンプレートを利用したマルチメディアコンテンツ作成は、有用である。また、ユーザがテンプレートを編集し、好みのテンプレートに作り変えることも行われる。ユーザは、テンプレートを利用及び編集するにあたり、対象となるテンプレートを選択するが、その場合、端末上でテンプレートのデザイン及び効果の確認を行う。テンプレートもマルチメディアコンテンツであり、メディア制御スクリプトを含むことから、上記のマルチメディアコンテンツに対する課題がそのままテンプレートに対しても当てはまる。
また、ユーザが撮影した写真及びムービー、ユーザが作成したデコレーション画像及びメディア制御スクリプト等に加え、商用サービスから購入したデコレーション画像及びメディア制御スクリプトを利用してマルチメディアコンテンツを作成する場合もある。この場合、購入した画像及びスクリプトを不正にコピーすることが禁じられているため、不正な利用を防止する必要がある。
しかしながら、従来のマルチメディアコンテンツ作成端末及びサーバでは、このような要望に十分対応できていない。つまり、従来の装置は、セキュリティレベルの低い再生機器において、マルチメディアコンテンツに含まれる素材の不正利用を防止する機能を保持していない。
そこで、本実施の形態では、上記課題を解決できる、写真、ムービー、BGM、及びデコレーション画像等のメディアデータと、メディアデータを制御するメディア制御スクリプトとを含むマルチメディアコンテンツを編集するための編集システム、サーバ装置、端末装置及び編集方法について説明する。
本発明の一態様に係るマルチメディアコンテンツ編集サーバは、画像を含むメディアデータと、前記メディアデータの配置、再生順序及び再生効果のうちの少なくとも一つを含む再生シナリオを制御するメディア制御スクリプトとを含むマルチメディアコンテンツを生成するマルチメディアコンテンツ編集サーバであって、端末装置における前記メディア制御スクリプトの処理能力を表す処理能力情報に応じて、前記メディア制御スクリプトを生成するスクリプト生成部と、前記メディア制御スクリプトを含むマルチメディアコンテンツを生成するマルチメディアコンテンツ生成部とを備える。
この構成によれば、当該マルチメディアコンテンツ編集サーバは、マルチメディアコンテンツに含まれるメディア制御スクリプトを端末装置のスクリプト処理能力に応じて生成できる。
例えば、前記再生シナリオは、前記再生効果として前記画像の動きを示し、前記スクリプト生成部は、前記処理能力が第1の値の場合、前記処理能力が第1の値より低い第2の値の場合よりも、前記画像の動きが大きい又は早い前記メディア制御スクリプトを生成してもよい。
この構成によれば、当該マルチメディアコンテンツ編集サーバは、端末装置のスクリプト処理能力に応じて、その端末装置に適したマルチメディアコンテンツを生成できる。
例えば、前記マルチメディアコンテンツ編集サーバは、さらに、前記処理能力情報で示される前記処理能力に応じて、前記マルチメディアコンテンツの形式を決定する形式決定部を備え、前記マルチメディアコンテンツ生成部は、前記マルチメディアコンテンツ形式決定部において決定されたコンテンツ形式のマルチメディアコンテンツを生成してもよい。
この構成によれば、当該マルチメディアコンテンツ編集サーバは、マルチメディアコンテンツの形式を端末装置のスクリプト処理能力に応じて決定できる。
例えば、前記形式決定部は、前記コンテンツ形式として、素材パッケージ形式、及び完全パッケージ形式のいずれかの形式を選択し、前記マルチメディアコンテンツ生成部は、前記メディア制御スクリプトを実行するスクリプト実行部と、前記形式決定部が、前記コンテンツ形式として前記素材パッケージ形式を選択した場合、前記メディアデータと前記メディア制御スクリプトとを含む、前記素材パッケージ形式のマルチメディアコンテンツを生成する素材パッケージ生成部と、前記形式決定部が、前記完全パッケージ形式を選択した場合、前記スクリプト実行部が前記メディア制御スクリプトを実行することにより得られた映像データである前記完全パッケージ形式のマルチメディアコンテンツを生成する完全パッケージ生成部とを備えてもよい。
この構成によれば、当該マルチメディアコンテンツ編集サーバは、マルチメディアコンテンツの形式を端末装置のスクリプト処理能力に応じて、素材パッケージ形式、及び完全パッケージ形式のいずれかに決定することができる。
例えば、前記形式決定部は、前記処理能力情報により、前記端末装置が前記メディア制御スクリプトの実行環境を備えていることが示される場合には、前記素材パッケージ形式を選択し、前記処理能力情報により、前記端末装置が前記メディア制御スクリプトの実行環境を備えていないことが示される場合には、前記完全パッケージ形式を選択してもよい。
この構成によれば、端末装置は、メディア制御スクリプトの実行環境の有無に関わらず、マルチメディアコンテンツを編集及び再生することができる。
例えば、前記マルチメディアコンテンツ編集サーバは、さらに、前記端末装置から、前記端末装置のセキュリティレベルを受信し、前記セキュリティレベルに応じて、前記マルチメディアコンテンツの形式を決定する形式決定部を備え、前記マルチメディアコンテンツ生成部は、前記マルチメディアコンテンツ形式決定部において決定されたコンテンツ形式のマルチメディアコンテンツを生成してもよい。
この構成によれば、当該マルチメディアコンテンツ編集サーバは、マルチメディアコンテンツの形式を端末装置のセキュリティレベルに応じて決定できる。
例えば、前記形式決定部は、前記コンテンツ形式として、素材パッケージ形式、及び完全パッケージ形式のいずれかの形式を選択し、前記マルチメディアコンテンツ生成部は、前記メディア制御スクリプトを実行するスクリプト実行部と、前記形式決定部が、前記コンテンツ形式として前記素材パッケージ形式を選択した場合、前記メディアデータと前記メディア制御スクリプトとを含む、前記素材パッケージ形式のマルチメディアコンテンツを生成する素材パッケージ生成部と、前記形式決定部が、前記完全パッケージ形式を選択した場合、前記スクリプト実行部が前記メディア制御スクリプトを実行することにより得られた映像データである前記完全パッケージ形式のマルチメディアコンテンツを生成する完全パッケージ生成部とを備えてもよい。
この構成によれば、当該マルチメディアコンテンツ編集サーバは、マルチメディアコンテンツの形式を端末装置のセキュリティレベルに応じて、素材パッケージ形式、及び完全パッケージ形式のいずれかに決定することができる。よって、セキュリティレベルの低い端末装置における、マルチメディアコンテンツに含まれる素材の不正利用を防止することができる。
例えば、前記マルチメディアコンテンツ編集サーバは、さらに、、前記形式決定部が、前記完全パッケージ形式を選択した場合において、前記端末装置のセキュリティレベルが第1レベルである場合には、ダウンロード型配信方式で前記マルチメディアコンテンツを前記端末装置へ送信し、前記端末装置のセキュリティレベルが前記第1レベルより低い第2レベルである場合には、ストリーミング型配信方式で前記マルチメディアコンテンツを前記端末装置へ送信してもよい。
この構成によれば、当該マルチメディアコンテンツ編集サーバは、マルチメディアコンテンツの形式を端末装置のセキュリティレベルに応じて、ダウンロード型配信方式、及びストリーミング型配信方式のいずれかに決定することができる。よって、セキュリティレベルの低い端末における、マルチメディアコンテンツに含まれる素材の不正利用を防止することができる。
例えば、前記マルチメディアコンテンツ生成部は、前記形式決定部が、前記完全パッケージ形式を選択した場合、前記メディアデータ及び前記メディア制御スクリプトの格納場所を示す素材情報を前記マルチメディアコンテンツに追加する素材情報埋め込み部を備えてもよい。
この構成によれば、当該マルチメディアコンテンツ編集サーバ及び端末装置は、マルチメディアコンテンツを再編集する際に、編集対象となる素材を容易に識別することができる。また、当該マルチメディアコンテンツ編集サーバ及び端末装置は、マルチメディアコンテンツが共有された場合の共有先を容易に追跡することができる。
例えば、前記マルチメディアコンテンツ生成部は、さらに、前記素材情報の保護を行う素材情報保護部を備えてもよい。
この構成によれば、当該マルチメディアコンテンツ編集サーバは、マルチメディアコンテンツが再編集される際の、編集対象となる素材が不正差し替えされることを防止できるとともに、共有先追跡情報が不正差し替えされることを防止できる。
例えば、前記スクリプト生成部は、さらに、更新対象である複数のメディア制御スクリプトを結合することにより新たなメディア制御スクリプトを生成してもよい。
この構成によれば、ユーザは、マルチメディアコンテンツを結合することで、連続して閲覧できるマルチメディアコンテンツを生成したり、マルチメディアコンテンツのテンプレートを編集することで好みのシナリオを生成したりすることができる。
例えば、前記スクリプト生成部は、さらに、更新対象であるメディア制御スクリプトの一部又は全部を置き換えることにより新たなメディア制御スクリプトを生成してもよい。
この構成によれば、ユーザは、マルチメディアコンテンツの素材を変更することなく、テンプレートのシナリオのみ変更することができる。
例えば、前記スクリプト生成部は、更新対象であるメディア制御スクリプトの一部を削除することにより新たなメディア制御スクリプトを生成してもよい。
この構成によれば、当該マルチメディア編集サーバは、マルチメディアコンテンツの再生効果の一部又は全てをなくすことができる。よって、当該マルチメディア編集サーバは、インタラクティブ性を持たない端末用のマルチメディアコンテンツを作成することができる。
また、本発明の一態様に係るマルチメディアコンテンツ編集方法は、画像を含むメディアデータと、前記メディアデータの配置、再生順序及び再生効果のうちの少なくとも一つを含む再生シナリオを制御するメディア制御スクリプトとを含むマルチメディアコンテンツを生成するマルチメディアコンテンツ編集方法であって、端末装置における前記メディア制御スクリプトの処理能力を表す処理能力情報に応じて、前記メディア制御スクリプトを生成するスクリプト生成ステップと、前記メディア制御スクリプトを含むマルチメディアコンテンツを生成するマルチメディアコンテンツ生成ステップとを含む。
この方法によれば、当該マルチメディアコンテンツ編集方法は、マルチメディアコンテンツに含まれるメディア制御スクリプトを端末装置のスクリプト処理能力に応じて生成することができる。
なお、これらの包括的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータ読み取り可能なCD−ROM等の記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
以下、実施の形態について、図面を参照しながら具体的に説明する。
なお、以下で説明する実施の形態は、いずれも包括的又は具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序等は、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
(実施の形態)
まず、本実施の形態に係るマルチメディアコンテンツ編集サーバの概略構成及びその動作を説明する。
図1Aは、本実施の形態に係るマルチメディアコンテンツ編集サーバである編集サーバ101の概略構成を示すブロック図である。図1Aに示す編集サーバ101は、画像を含むメディアデータと、メディアデータの配置、再生順序及び再生効果のうちの少なくとも一つを含む再生シナリオを制御するメディア制御スクリプトとを含む素材パッケージ型のマルチメディアコンテンツを生成する。この編集サーバ101は、受信部111と、スクリプト生成部112と、マルチメディアコンテンツ生成部113と、送信部114とを備える。
受信部111は、端末装置におけるメディア制御スクリプトの処理能力を表す処理能力情報(スクリプト処理能力情報とも呼ぶ)を、端末装置から受信する。スクリプト生成部112は、受信部111で受信された処理能力情報で示される処理能力に応じて、メディア制御スクリプトを生成する。マルチメディアコンテンツ生成部113は、スクリプト生成部112で生成されたメディア制御スクリプトを含むマルチメディアコンテンツを生成する。送信部114は、マルチメディアコンテンツ生成部113で生成されたマルチメディアコンテンツを端末装置に送信する。
端末装置は、マルチメディアコンテンツに含まれるメディア制御スクリプトを実行することで、マルチメディアコンテンツを再生する。具体的には、このマルチメディアコンテンツは、フォトムービーである。フォトムービーとは、マルチメディアコンテンツの一形態であり、撮影された写真又はムービーにBGM及びデコレーション画像を付与し、ムービーのように時系列的に再生するものである。
図1Bは、マルチメディアコンテンツの表示例を示す図である。
図1Bに示すように、ユーザ画像701と、デコレーション画像702とを含む。ユーザ画像701は、ユーザが所有する写真又はムービーである。
つまり、上記メディアデータは、典型的には、複数のユーザ画像(静止画又は動画)と、1以上のBGM(音楽)と、1以上のデコレーション画像とを含む。なお、メディアデータは、少なくとも1枚の画像を含めばよい。また、ユーザ画像、BGM及びデコレーション画像の各々は、一つであってもよいし、複数であってもよい。また、メディアデータにユーザ画像として静止画及び動画が共に含まれてもよい。また、メディアデータにはBGM以外の音声(例えば、効果音等)が含まれてもよいし、テキストデータ等が含まれてもよい。
また、メディア制御スクリプトは、これらのメディアデータの再生シナリオを制御する。つまり、端末装置がメディア制御スクリプトを実行することにより、メディアデータが再生シナリオに従い再生される。ここで、再生シナリオは、典型的には、複数のユーザ画像及びデコレーション画像の配置(配置位置)と、複数のユーザ画像、1以上のBGM、及び1以上のデコレーション画像の再生順序(再生タイミング)と、複数のユーザ画像及び1以上のデコレーション画像の再生効果とを含む。再生効果は、画像の動きを含む。画像の動きは、画像の移動パターン、移動速度、拡大、縮小、及び回転等を含む。また、再生効果は、画像の色味を変更する等の画像を加工する処理を含んでもよい。また、再生効果は、画面の切り替え、及びアニメーション効果等を含んでもよい。なお、再生シナリオ及び再生効果は上記の全てを含んでもよいし、一部のみを含んでもよい。
次に、マルチメディアコンテンツ編集サーバ101によるマルチメディアコンテンツ編集処理の概要を説明する。図2Aは、編集サーバ101によるマルチメディアコンテンツ編集処理のフローチャートである。
図2Aに示すように、まず、受信部111は、端末装置におけるメディア制御スクリプトの処理能力を表す処理能力情報を、端末装置から受信する(S101)。次に、スクリプト生成部112は、受信された処理能力情報で示される処理能力に応じて、メディア制御スクリプトを生成する(S102)。次に、マルチメディアコンテンツ生成部113は、生成されたメディア制御スクリプトを含むマルチメディアコンテンツを生成する(S103)。最後に、送信部114は、生成されたマルチメディアコンテンツを端末装置に送信する(S104)。
図2Bは、編集サーバ101によるメディア制御スクリプトの生成処理(S102)のフローチャートである。図2Bに示すように、スクリプト生成部112は、端末装置のメディア制御スクリプトの処理能力が高い場合(例えば、当該処理能力が予め定められた閾値より高い場合)(S111でYes)、メディア制御スクリプトによる再生効果を派手にする(S112)。例えば、スクリプト生成部112は、画像の動きを大きくする、又は画像の動きを早くする。一方、スクリプト生成部112は、端末装置のメディア制御スクリプトの処理能力が低い場合(例えば、当該処理能力が予め定められた閾値より低い場合)(S111でNo)、メディア制御スクリプトによる再生効果を地味にする(S113)。例えば、スクリプト生成部112は、画像の動きを小さくする、又は画像の動きを遅くする。
なお、画像の動きを大きくする、又は画像の動きを早くするとは、静止している画像を動かすように変更することも含む。同様に、画像の動きを小さくする、又は画像の動きを遅くするとは、動きが設定されている画像を静止するように変更することも含む。
つまり、スクリプト生成部112は、端末装置のメディア制御スクリプトの処理能力が第1の値の場合、当該処理能力が第1の値より低い第2の値の場合よりも、画像の動きが大きい又は早いメディア制御スクリプトを生成する。
以上のより、編集サーバ101は、端末装置のメディア制御スクリプトの処理能力に合わせた、最適なマルチメディアコンテンツを生成できる。
なお、スクリプト生成部112は、端末装置のメディア制御スクリプトの処理能力に応じて、画像の動きが発生する頻度を変更してもよい。具体的には、スクリプト生成部112は、処理能力が高い場合には、画像の動きが発生する頻度を増やし、処理能力が低い場合には、当該頻度を減らしてもよい。
また、スクリプト生成部112は、端末装置のメディア制御スクリプトの処理能力に応じて、デコレーション画像の数を変更してもよい。具体的には、スクリプト生成部112は、処理能力が高い場合には、デコレーション画像の数を増やし、処理能力が低い場合には、デコレーション画像の数を減らしてもよい。
また、ここでは、編集サーバ101が、1つの閾値を用いて2段階で再生効果を変更する例を述べたが、編集サーバ101は、複数の閾値を設け、3段階以上で再生効果を変更してもよい。
以下、上記編集サーバ101の詳細な構成及び動作を説明する。
図3は、本実施の形態に係るマルチメディアコンテンツ編集システム100の構成を示すブロック図である。
図3に示すように、マルチメディアコンテンツ編集システム100は、編集サーバ101と、端末102、103、…とを備える。編集サーバ101と端末102、103、…とは、例えばネットワーク等を介して接続される。
図4は、端末102の構成を示すブロック図である。また、図5は、端末103の構成を示すブロック図である。端末102は、素材パッケージ形式のマルチメディアコンテンツを編集する用途と、素材パッケージ形式のマルチメディアコンテンツを再生する用途との両方に利用される。また、端末103は、素材パッケージ形式のマルチメディアコンテンツを編集する用途と、完全パッケージ形式のマルチメディアコンテンツを再生する用途との両方に利用される。
また、説明の便宜上、物理的に同一の端末であっても、マルチメディアコンテンツを編集する用途に利用している場合は「編集端末」と呼び、マルチメディアコンテンツ(素材パッケージ形式、又は、完全パッケージ形式)を再生する用途に利用している場合は「再生端末」と呼ぶ場合がある。
端末102は、通信部201、処理能力蓄積部202、コンテンツ情報蓄積部203、セキュリティ情報蓄積部204、入力部205、コンテンツ形式解析部206、スクリプト実行部207、メディア再生部208、出力部209、及び制御部210を備える。
端末102を構成する各構成部について説明する。
通信部201は、処理内容を示すコマンド、及びコマンドに付随するパラメタを編集サーバ101に送信し、コマンドに対応したレスポンスデータを編集サーバ101から受信する機能を有する。通信部201は、例えば、ネットワークインタフェース回路等で実現される通信回路である。
処理能力蓄積部202は、スクリプト実行部のバージョン情報、及びスクリプト実行部207の処理能力情報を記憶する機能を有し、例えば、フラッシュメモリ等で実現されるメモリ装置である。
図6は、処理能力蓄積部202に記憶されているデータの一例を示す図である。処理能力蓄積部202は、バージョン情報302とスクリプト処理能力情報303とを含むスクリプト処理能力テーブル301を記憶する。
バージョン情報302は、スクリプト実行部207のバージョンを示す情報である。例えば、バージョン情報302は、工場出荷時において処理能力蓄積部202に書き込まれ、スクリプト実行部207の更新と共に更新される。ここでは、バージョン情報302として初期バージョンである「1.0.0」が格納されている。
スクリプト処理能力情報303は、端末102の動作クロック、搭載メモリ量、及びバス速度等により決定される値であり、1から100の間の数値に正規化された値を示す。数値が大きいほど、スクリプト処理能力が高いことを示す。例えば、スクリプト処理能力情報303は、工場出荷時において処理能力蓄積部202に書き込まれる。
なお、バージョン情報302及びスクリプト処理能力情報303は、必ずしも、このようなデータである必要はなく、バージョン及びスクリプト処理能力を判別できるものであれば、どのようなデータが利用されてもよい。例えば、端末102の更新回数がバージョン情報302として利用されてもよいし、端末102のロット番号、品番又はシリアル番号等がスクリプト処理能力情報303として利用されてもよい。
コンテンツ情報蓄積部203は、端末102のユーザが編集したマルチメディアコンテンツを記憶する機能を有し、例えば、HDD(Hard Disk Drive)等で実現されるメモリ装置である。ユーザが編集したマルチメディアコンテンツが、端末102に記憶される場合と、編集サーバ101又は図示していないユーザのライブラリサーバ等に記憶される場合とがある。マルチメディアコンテンツが編集サーバ101に記憶される場合は、コンテンツ情報蓄積部203は、記憶先の編集サーバを識別可能な情報、並びにマルチメディアコンテンツに含まれる写真、ムービー及びメディア制御スクリプト等の各要素を一意に識別可能な情報を記憶する。
図7は、コンテンツ情報蓄積部203に記憶されるデータの一例を示す図である。コンテンツ情報蓄積部203は、マルチメディアコンテンツ記憶場所312、編集者ID313、テンプレートID314、テーマID315、及び素材テーブルID316を含むコンテンツ情報テーブル311を記憶する。
マルチメディアコンテンツ記憶場所312は、端末102にマルチメディアコンテンツが記憶される場合は、HDD上のファイルパスを示し、編集サーバ101又は他のサーバにマルチメディアコンテンツが記憶される場合は、サーバの識別子とサーバ上のファイルパスとを示す。ここでは、マルチメディアコンテンツ記憶場所312に、URL(Uniform Resource Locator)の形式が利用されているが、必ずしもこの形式である必要はなく、記憶場所が識別できるものであれば、どのようなデータ形式が利用されてもよい。
編集者ID313は、編集サーバ101にユーザが登録したユーザIDである。編集サーバ101がこのユーザIDを各ユーザに対して割り当てる場合もある。
ここで、予め決められたBGM、デコレーション画像、及びメディア制御スクリプトの組み合わせをテンプレートと呼ぶ。よく利用する素材の組み合わせをテンプレートとして編集サーバ101に登録しておくことにより、マルチメディアコンテンツを編集する際、素材を個別に選択する必要がなくなる。
また、ユーザは、テンプレート販売サービスからテンプレートを購入して登録することも可能である。テンプレートが利用されてマルチメディアコンテンツが編集された場合、テンプレートID314に、その利用されたテンプレートの識別子が記憶される。ここでは、テンプレートID314に、テンプレート編集者名と識別子との組からなる形式が利用されているが、必ずしもこの形式である必要はない。また、テンプレートを指定しなかった場合はテンプレートID314としてヌル値「Null」が記憶される。
また、同じ印象を与える、又は、同類と認識されるテンプレートのグループをテーマと呼ぶ。マルチメディアコンテンツを編集する際、ユーザは、テーマを指定することにより、素材及びテンプレートを個別に選択する必要がなくなる。テーマが指定されてマルチメディアコンテンツが編集された場合、テーマID315として、その利用されたテーマの識別子が記憶される。ここでは、テーマID315に、4桁の数字の形式が利用されているが、必ずしもこの形式である必要はない。また、テーマが指定されなかった場合はテーマID315としてヌル値「Null」が記憶される。
素材テーブルID316は、マルチメディアコンテンツに含まれる、写真、ムービー、BGM、デコレーション画像、及びメディア制御スクリプトが含まれる素材テーブルを識別するための識別子である。ここでは、素材テーブルID316に、4桁の数字の形式が利用されているが、必ずしもこの形式である必要はない。
図8は、素材テーブル321に含まれるデータの一例を示す図である。素材テーブル321は、素材テーブルID322、素材ID323、素材タイプ324、及び素材データ325を含む。
素材テーブルID322は、コンテンツ情報テーブル311に記憶される素材テーブルID316に対応し、コンテンツ情報テーブル311で管理されるマルチメディアコンテンツに含まれる素材と対応付けられる。
素材ID323は、素材データを一意に識別するための識別子である。ここでは、素材ID323に、編集者名と4桁の数字とを含む形式が利用されているが、必ずしもこの形式である必要はない。
素材タイプ324は、素材の種別とフォーマットとを示す。ここでは、素材タイプ324に、MIME(Multipurpose Internet Mail Extensions)形式が利用されているが、必ずしもこの形式である必要はない。
素材データ325は素材データを示す情報である。ここでは、素材データ325に、ファイル名が利用されているが、素材が一意に識別できれば、別の識別子が利用されてもよい。
セキュリティ情報蓄積部204は、端末102のセキュリティレベルを記憶する機能を有し、例えば、フラッシュメモリ等で実現されるメモリ装置である。セキュリティレベルとは、端末102がマルチメディアコンテンツの不正利用防止機能を有するか否かを示す情報である。不正利用防止機能とは、例えば、端末102のコンテンツ情報蓄積部203に蓄積されているデータを暗号化して保護する機能、マルチメディアコンテンツに含まれるメディア制御スクリプトの編集者が正当な編集者であることを確認する機能、及びマルチメディアコンテンツに含まれるメディア制御スクリプトが改ざんされていないことを確認する機能等である。端末102が、これらの不正利用防止機能を保持する場合、セキュリティ情報蓄積部204には「1」が記憶され、保持しない場合は「0」が記憶される。
なお、セキュリティ情報蓄積部204へのデータの書き込みは工場出荷時に行われ、以降、不正な書き換えが行われないようにこのデータが保護される。例えば、セキュリティ情報蓄積部204を、プロセッサ内部のフラッシュメモリで実現することにより、ユーザからのアクセスを防止する。また、セキュリティレベルは、2段階ではなく、端末102の保持する機能に応じて3段階以上で表現されてもよい。さらに、セキュリティ情報蓄積部204に蓄積される情報は、セキュリティレベルを判別できるものであれば、どのような形式のデータでもよい。例えば、この情報に、端末102のロット番号、品番、又はシリアル番号等が利用されてもよい。
入力部205は、端末102がユーザからの指示又は操作を受け付ける機能を有し、例えば、キーボード、タッチパネル又はリモコン等で実現される入力回路である。
コンテンツ形式解析部206は、マルチメディアコンテンツのフォーマットを解析する機能を有し、例えば、ストリームフォーマットデコーダ回路である。
スクリプト実行部207は、マルチメディアコンテンツに含まれるメディア制御スクリプトを実行する機能を有し、例えば、バーチャルマシン回路である。
メディア再生部208は、マルチメディアコンテンツに含まれる写真及びムービー等のメディアデータを再生する機能を有し、例えば、ソフトウェア又はハードウェアで実現されるJPEG(Joint Photographic Experts Group)デコーダ又はMPEGデコーダである。
出力部209は、ユーザからの指示或いは操作を受け付けるための画面の表示する機能、編集サーバ101から受信した受信結果の表示する機能、及び、端末102の処理結果を表示する機能を有し、例えば、ディスプレイ、又は、ディスプレイ出力インタフェースである。
制御部210は、端末102を構成する各構成部を制御する電子回路である。
次に、端末103を構成する各構成部について説明する。
図5は、端末103の構成を示すブロック図である。端末103は、完全パッケージ形式のマルチメディアコンテンツを再生する。よって、端末102と比較すると、メディア制御スクリプトに関連する機能を保持しない。つまり、端末102における処理能力蓄積部202及びスクリプト実行部207を保持しない。これ以外の構成要素は、端末102と同じであるため、説明を省略する。
次に編集サーバ101を構成する各構成部について説明する。
図9は、編集サーバ101の構成を示すブロック図である。
編集サーバ101は、通信部121、形式決定部122、処理能力判定部123、セキュリティレベル判定部124、テンプレート情報蓄積部130、スクリプト蓄積部131、メディアデータ蓄積部132、コンテンツ素材取得部133、スクリプト生成部112、及びマルチメディアコンテンツ生成部113を備える。
また、通信部121は、受信部111と、送信部114とを備える。マルチメディアコンテンツ生成部113は、素材パッケージ生成部125、完全パッケージ生成部126、素材情報埋め込み部127、スクリプト実行部128、及び素材情報保護部129を備える。
編集サーバ101を構成する各要素について説明する。
通信部121は、コマンド及びそのコマンドに付随するパラメタを端末102、103、…から受信し、コマンドに対応したレスポンスデータを端末102、103、…に送信する。また、通信部121は、ユーザの指定した図示しない素材サーバと通信し、マルチメディアコンテンツに利用される素材を取得する。通信部121は、例えば、ネットワークインタフェース回路等で実現される通信回路である。
形式決定部122は、通信部121において受信した処理能力情報及びセキュリティレベルのいずれか、又は、両方の内容に応じて、生成するマルチメディアコンテンツの形式を選択する電子回路である。選択するコンテンツ形式は、素材パッケージ形式及び完全パッケージ形式のいずれかである。
処理能力判定部123は、通信部121において受信した処理能力情報を解析し、端末がスクリプト実行部を有するか否かを示す情報、及びスクリプト処理能力情報を形式決定部122に与える電子回路である。
セキュリティレベル判定部124は、通信部121において受信したセキュリティレベルを解析し、端末のマルチメディアコンテンツの不正利用防止機能の有無を示す情報を形式決定部122に与える電子回路である。
素材パッケージ生成部125は、形式決定部122の指示に従って、素材パッケージ形式のマルチメディアコンテンツの生成、編集及び再構成を行う電子回路である。
完全パッケージ生成部126は、形式決定部122の指示に従って、完全パッケージ形式のマルチメディアコンテンツの生成、編集及び再構成を行う電子回路である。
スクリプト生成部112は、素材パッケージ型マルチメディアコンテンツに含むメディア制御スクリプト、及び完全パッケージ型マルチメディアコンテンツの生成に利用されるメディア制御スクリプトの選択、生成及び加工を行う電子回路である。
スクリプト実行部128は、完全パッケージ型マルチメディアコンテンツの生成にあたり、スクリプト生成部112から与えられたメディア制御スクリプトをバーチャルマシン上で実行する電子回路である。
素材情報埋め込み部127は、マルチメディアコンテンツの生成に利用された写真及びムービー等のメディアデータ、メディア制御スクリプトの識別子、及びマルチメディアコンテンツの識別子を、生成されたマルチメディアコンテンツに埋め込む電子回路である。この素材の識別子を利用することにより、編集サーバ101及び端末102は、マルチメディアコンテンツの再編集の際、編集対象となる素材を識別することができる。また、マルチメディアコンテンツの識別子を利用することにより、編集サーバ101及び端末102は、マルチメディアコンテンツが共有された場合の共有先を追跡することができる。
テンプレート情報蓄積部130は、マルチメディアコンテンツに利用されるスクリプトを蓄積する機能を有し、HDD等により実現される。
図10は、テンプレート情報蓄積部130に記憶されるテンプレートテーブル331の一例を示す図である。テンプレートテーブル331は、テンプレートID332、テンプレート名333、テーマID334、テーマ名335、素材テーブルID336、及びテンプレートサムネイル337を含む。
テンプレートID332は、テンプレートを一意に識別するための識別子である。ここでは、テンプレートID332に、テンプレート編集者名と識別子との組からなる形式が利用されているが、必ずしもこの形式である必要はない。
テンプレート名333は、テンプレートの名称である。テンプレート名333をユーザに提示することにより、ユーザは、マルチメディアコンテンツを編集する際に、テンプレートを容易に選択できる。
テーマID334は、テンプレートが属するテーマを一意に識別するための識別子である。ここでは、テーマID334に、4桁の数字の形式が利用されているが、必ずしもこの形式である必要はない。また、テンプレートは必ずしもテーマに属する必要はない。テンプレートがテーマに属さない場合は、テーマID334としてヌル値「Null」が記憶される。
テーマ名335は、テーマの名称である。ユーザがマルチメディアコンテンツを編集する際、ユーザがテーマを指定することにより、素材及びテンプレートを個別に選択する必要がなくなる。テンプレートがテーマに属さない場合はテーマ名335としてヌル値「Null」が記憶される。
素材テーブルID336は、テンプレートに含まれる、BGM、デコレーション画像、及びメディア制御スクリプトを含む素材テーブルを識別するための識別子である。ここでは、素材テーブルID336に、4桁の数字の形式が利用されているが、必ずしもこの形式である必要はない。
テンプレートサムネイル337は、テンプレートの内容を示すサムネイル画像である。ここでは、テンプレートサムネイル337に、URLが利用されているが、素材が一意に識別できれば、別の形式が利用されてもよい。
図11は、素材テーブル341に含まれるデータの一例を示す図である。素材テーブル341は、素材テーブルID342、素材ID343、素材タイプ344、及び素材データ345を含む。
素材テーブルID342は、テンプレートテーブル331に含まれる素材テーブルID336に対応し、テンプレートテーブル331で管理されるテンプレートに含まれる素材と対応付けられている。
素材ID343は、素材データを一意に識別するための識別子である。ここでは、素材ID343に、編集者名と4桁の数字とを含む形式が利用されているが、必ずしもこの形式である必要はない。
素材タイプ344は、素材の種別とフォーマットとを示す情報である。ここでは、素材タイプ344に、MIME(Multipurpose Internet Mail Extensions)形式が利用されているが、必ずしもこの形式である必要はない。
素材データ345は素材データを示す情報である。ここでは、素材データ345に、URLが利用されているが、素材が一意に識別できれば、別の形式が利用されてもよい。
スクリプト蓄積部131は、マルチメディアコンテンツの編集に利用されるスクリプトを蓄積する機能を有し、HDD等により実現される。
図12は、スクリプト蓄積部131に記憶されるスクリプトテーブル351の一例を示す図である。スクリプトテーブル351は、素材ID352、スクリプトデータ353を含む。
素材ID352は、メディア制御スクリプトに固有の識別子である。ここでは、素材ID352に、5桁の英数字の形式が利用されているが、必ずしもこの形式である必要は無い。
スクリプトデータ353は、スクリプトが編集サーバ101に記憶される場合、HDD上のファイルパスを示し、スクリプトが他のサーバに記憶される場合、当該サーバの識別子と当該サーバ上のファイルパスとを示す。ここでは、スクリプトデータ353に、URLの形式が利用されているが、必ずしもこの形式である必要はなく、記憶場所が識別できるものであれば、どのようなデータ形式が利用されてもよい。
メディアデータ蓄積部132は、マルチメディアコンテンツの編集に利用される写真及びムービー等のメディアデータを蓄積する機能を有し、HDD等により実現される。
図13は、メディアデータ蓄積部132に記憶されるメディアデータテーブル361の一例を示す図である。メディアデータテーブル361は、素材ID362、及び素材タイプ363、及び素材データ364を含む。
素材ID362は、素材データを一意に識別するための識別子である。ここでは、素材ID362に、編集者名と4桁の数字とを含む形式が利用されているが、必ずしもこの形式である必要はない。
素材タイプ363は、素材の種別とフォーマットと示す。ここでは、素材タイプ363に、MIME形式が利用されているが、必ずしもこの形式である必要はない。
素材データ364は素材データを示す情報である。ここでは、素材データ364に、URLが利用されているが、素材が一意に識別できれば、別の形式が利用されてもよい。
コンテンツ素材取得部133は、マルチメディアコンテンツの生成及び編集に利用される、ユーザの素材が、編集サーバ101以外の外部サーバに存在する場合に、その外部サーバとユーザとの認証を中継し、認証が成功した場合、外部サーバからユーザの素材を取得する電子回路である。
素材情報埋め込み部127は、完全パッケージ型マルチメディアコンテンツの生成に利用された写真及びBGM等のメディアデータの情報、メディア制御スクリプトの情報、並びに、マルチメディアコンテンツの情報である素材情報を当該マルチメディアコンテンツに埋め込む。
素材情報保護部129は、素材情報の保護を行う。素材情報の保護の目的は、素材情報で識別される素材の不正コピー及び不正な差し替え防止することである。これにより、マルチメディアコンテンツを編集したユーザ以外のユーザによる素材の取得、及びマルチメディアコンテンツを編集したユーザによる他のユーザの素材の取得を防止できる。また、マルチメディアコンテンツが共有された場合、素材情報は共有先の追跡情報としても用いられる。素材情報を保護することで、その追跡情報の不正な差し替えも防止できる。
次に、以上のように構成されたマルチメディアコンテンツ編集システム100における各種動作を具体的に説明する。
図14A及び図14Bは、本実施の形態に係るマルチメディアコンテンツ編集システム100の処理の流れを示すフローチャートである。なお、以降のマルチメディアコンテンツ編集処理の説明において、端末102と端末103とで共通の処理は端末102における処理として説明し、端末102と端末103とで処理が異なる場合は、その処理を個別に説明する。
(ステップS201)
本ステップでは、端末102は、マルチメディアコンテンツ処理の入力を受け付ける。
端末102の制御部210は、出力部209を通じて、図15に示すマルチメディアコンテンツ編集処理選択画面を出力する。編集方法は、図15に示すとおり、「テンプレートを編集」及び「コンテンツを編集」の2つがある。
「テンプレートを編集」は、ユーザがテンプレートに利用するデコレーション画像、BGM、及び再生効果を選択してテンプレートを編集するものである。
「コンテンツを編集」は、ユーザがマルチメディアコンテンツのテーマ、テンプレート及び素材と、ユーザのメディアデータとを選択してマルチメディアコンテンツを編集するものである。
ユーザは、マウス、キーボード、又はリモコン等を利用して、編集方法を選択する。制御部210は、入力部205を通じて、ユーザが選択した編集方法を識別する。
(ステップS202)
テンプレート編集が選択された場合(S201でテンプレート)、テンプレート編集処理が行われる。具体的な処理は後述する。
(ステップS203)
コンテンツ編集が選択された場合(S201でコンテンツ)、コンテンツ編集処理が行われる。具体的な処理は後述する。
(テンプレート編集処理)
まず、テンプレート編集処理の説明を行う。
図16A及び図16Bは、テンプレート編集処理の流れを示すフローチャートである。図16A及び図16Bを参照しながら、テンプレート編集処理を説明する。なお、テンプレート編集処理の開始前に、ユーザID及びパスワードを用いたユーザ認証が行われているものとする。
(ステップS301)
本ステップでは、端末102は、編集サーバ101に対して、テンプレート編集要求を行う。
端末102の制御部210は、通信部201を通じて、編集サーバ101にテンプレート編集要求メッセージを送信する。図17は、テンプレート編集要求メッセージ371に含まれるメッセージデータを示す図である。テンプレート編集要求メッセージ371は、メッセージ識別子372、バージョン373、ユーザID374、スクリプト実行部バージョン375、スクリプト処理能力情報376、及びセキュリティレベル377をメッセージデータとして含む。
メッセージ識別子372は、端末102及び編集サーバ101が送受信するメッセージを識別するためのメッセージデータである。バージョン373は、メッセージのバージョン番号を識別するためのメッセージデータである。ユーザID374は、テンプレート編集を行うユーザを識別するためのメッセージデータであり、事前に行ったユーザ認証の際、ユーザから入力部205を通じて入力されたユーザIDである。スクリプト実行部バージョン375は、端末のスクリプト実行部207のバージョンを識別するためのメッセージデータである。スクリプト処理能力情報376は、端末のスクリプト処理能力を示す数値である。セキュリティレベル377は、端末のセキュリティレベルを示す数値である。セキュリティレベルは、1から10の整数値であり、大きいほどセキュリティレベルが高いことを示す。
制御部210は、テンプレート編集要求メッセージ371の生成にあたり、メッセージ識別子372に、テンプレート編集要求メッセージを表す「0001」を、バージョン373に、初期バージョンを表す「0100」を、ユーザID374に、ユーザID「KM」を、それぞれ、設定する。
また、制御部210は、スクリプト実行部バージョン375に、処理能力蓄積部202に蓄積されているバージョン情報302の値を、スクリプト処理能力情報376に、スクリプト処理能力蓄積部202に蓄積されているスクリプト処理能力情報303の値を、それぞれ、設定する。但し、スクリプト実行部を保持しない端末(端末103)の場合には、制御部210は、スクリプト実行部バージョン375、及びスクリプト処理能力情報376に、無効値「0」を設定する。
さらに、制御部210は、セキュリティレベル377に、セキュリティ情報蓄積部204に蓄積されている値を設定する。
その後、制御部210は、生成されたテンプレート編集要求メッセージ371を、通信部201を通じて、編集サーバ101に送信する。
(ステップS302)
本ステップでは、編集サーバ101は、テンプレート編集応答を行う。
編集サーバ101の通信部121は、テンプレート編集要求メッセージ371を受信すると、端末102にテンプレート編集応答メッセージを送信する。図18は、テンプレート編集応答メッセージ381に含まれるメッセージデータを示す図である。テンプレート編集応答メッセージ381は、メッセージ識別子382、バージョン383、及びテンプレート編集アプリケーション384をメッセージデータとして含む。なお、本実施の形態では、アプリケーションプログラムのことをアプリケーション又はアプリと呼ぶ。
メッセージ識別子382は、端末102及び編集サーバ101が送受信するメッセージを識別するためのメッセージデータである。バージョン383は、メッセージのバージョン番号を識別するためのメッセージデータである。テンプレート編集アプリケーション384は、端末102で実行されるテンプレート編集アプリケーションプログラムである。このテンプレート編集アプリケーションは、端末102の上で直接動作するものであっても、端末102のブラウザ上で動作するものであってもよい。
通信部121は、テンプレート編集応答メッセージ381の生成にあたり、メッセージ識別子382に、テンプレート編集応答メッセージを表す「0002」を、バージョン383に、初期バージョンを表す「0100」を、テンプレート編集アプリケーション384に、編集サーバ101が備える、図示しないアプリケーション蓄積部に蓄積されているテンプレート編集アプリケーションを設定する。その後、通信部121は、生成されたテンプレート編集応答メッセージを端末102に送信する。
(ステップS303)
本ステップでは、端末102は、テンプレート編集アプリを実行する。
テンプレート編集アプリは、端末102の上で直接動作、又は、端末102のブラウザ上で動作し、出力部209を通じてテンプレート編集画面を出力する。テンプレート編集は、予め用意されたテンプレート、又はユーザがこれまで作成したテンプレートを基に、新しいテンプレートを作成する機能である。
テンプレート編集アプリは、端末102により実行されると、通信部201を通じて、編集サーバ101にテンプレートサムネイル要求メッセージを送信する。図19は、テンプレートサムネイル要求メッセージ391に含まれるメッセージデータを示す図である。テンプレートサムネイル要求メッセージ391は、メッセージ識別子392、及びバージョン393をメッセージデータとして含む。
メッセージ識別子392は、端末102及び編集サーバ101が送受信するメッセージを識別するためのメッセージデータである。バージョン393は、メッセージのバージョン番号を識別するためのメッセージデータである。
テンプレート編集アプリは、テンプレートサムネイル要求メッセージ391の生成にあたり、メッセージ識別子392に、テンプレートサムネイル要求メッセージを表す「0003」を、バージョンには393に、初期バージョンを表す「0100」を、それぞれ、設定する。その後、テンプレート編集アプリは、生成されたテンプレートサムネイル要求メッセージ391を、通信部201を通じて、編集サーバ101に送信する。
(ステップS304)
本ステップでは、編集サーバ101は、要求されたテンプレートサムネイルを端末102に送信する。
編集サーバ101の通信部121は、テンプレートサムネイル要求メッセージ391を受信すると、テンプレート情報蓄積部130に蓄積されているテンプレートテーブル331に含まれる全てのテンプレートのテンプレートサムネイル337に記憶される情報を用いて、テンプレートサムネイル応答メッセージを生成する。
図20は、テンプレートサムネイル応答メッセージ401に含まれるメッセージデータを示す図である。テンプレートサムネイル応答メッセージ401は、メッセージ識別子402、バージョン403、テンプレートサムネイル数404、及びテンプレートサムネイル405をメッセージデータとして含む。
メッセージ識別子402は、端末102及び編集サーバ101が送受信するメッセージを識別するためのメッセージデータである。バージョン403は、メッセージのバージョン番号を識別するためのメッセージデータである。テンプレートサムネイル数404は、テンプレートサムネイル405に含まれるテンプレートサムネイルの数である。テンプレートサムネイル405は、テンプレートIDとテンプレートサムネイルデータとを含み、テンプレートサムネイル数404の数だけ連続して格納される。
通信部121は、テンプレートサムネイル応答メッセージ401の生成にあたり、次の処理を行う。
通信部121は、メッセージ識別子402に、テンプレートサムネイル応答メッセージを表す「0004」を、バージョン403に、初期バージョンを表す「0100」を、それぞれ設定する。
また、通信部121は、テンプレート情報蓄積部130に蓄積されているテンプレートテーブル331を検索し、テンプレートテーブル331に含まれるテンプレート数を得る。図10に示した例では、テンプレートテーブル331に含まれるテンプレート数は4である。
さらに、通信部121は、テンプレートテーブル331に含まれるテンプレートのテンプレートIDサムネイルデータを得る。通信部121は、テンプレートのテンプレートIDを、テンプレートテーブル331のテンプレートID332を参照することで得る。また、通信部121は、テンプレートのサムネイルデータを、テンプレートテーブル331に含まれるテンプレートサムネイル337を参照することで得る。例えば、図10に示した例において、テンプレートID332が「PM0001」であるテンプレートのサムネイルデータを参照する場合、まず、通信部121は、テンプレートサムネイル337で示されるURL「file://tn/pm0001.jpg」を得る。次に、通信部121は、「file://tn/pm0001.jpg」にアクセスすることにより、サムネイルデータを得る。なお、テンプレートサムネイル337で示されるURLは、編集サーバ101以外の外部サーバを示す場合がある。その場合、通信部121は、コンテンツ素材取得部133を通じ、外部サーバのサムネイルデータを取得する前に、ユーザID及びパスワードによるユーザ認証を行ってもよい。また、通信部121は、テンプレートデータ保護のため、編集サーバと外部サーバ間の通信に暗号化を用いてもよい。
その後、通信部121は、テンプレートサムネイル数404に「4」を、テンプレートサムネイル405に、テンプレートIDとテンプレートサムネイルデータとの4つの組を順に設定する。
通信部121は、生成されたテンプレートサムネイル応答メッセージ401を、端末102に送信する。
(ステップS305)
本ステップでは、テンプレート編集に利用されるテンプレートをユーザが選択する。
端末102は、テンプレートサムネイル応答メッセージ401を受信すると、図21に示すテンプレート編集画面を表示する。端末102は、画面の出力を、出力部209を通じて行う。端末102は、テンプレートのサムネイルとして、受信したテンプレートサムネイル応答メッセージ401に含まれるテンプレートサムネイルデータをテンプレート編集画面に表示する。
ユーザは、図21に示したテンプレート編集画面から、作成の基とするテンプレートを選択する。テンプレートの選択は、入力部205を通じて行われる。ユーザは、テンプレートの選択が終われば、決定ボタンを押す。
(ステップS306)
本ステップでは、端末102は、ステップS305で選択されたテンプレートに対して、テンプレートの代表シーンの要求を編集サーバ101に対して行う。
テンプレートの代表シーンとは、テンプレートを構成する各シーンを代表する画像である。ユーザは個々の代表シーンに対して編集を行うことにより、テンプレート全体の編集を行う。
テンプレート編集アプリは、通信部201を通じて、編集サーバ101にテンプレート代表シーン要求メッセージを送信する。図22は、テンプレート代表シーン要求メッセージ411に含まれるメッセージデータを示す図である。テンプレート代表シーン要求メッセージ411は、メッセージ識別子412、バージョン413、及びテンプレートID414をメッセージデータとして含む。
メッセージ識別子412は、端末102及び編集サーバ101が送受信するメッセージを識別するためのメッセージデータである。バージョン413は、メッセージのバージョン番号を識別するためのメッセージデータである。テンプレートID414は、ステップS305でユーザが選択したテンプレートに対応するテンプレートIDである。
テンプレート編集アプリは、テンプレート代表シーン要求メッセージ411の生成にあたり、メッセージ識別子412に、テンプレート代表シーン要求メッセージを表す「0005」を、バージョン413に、初期バージョンを表す「0100」を、テンプレートID414に、ユーザが選択したテンプレートIDを設定する。このテンプレートIDは、本実施の形態では、「PM0001」であるとする。その後、テンプレート編集アプリは、生成されたテンプレート代表シーン要求メッセージ411を、通信部201を通じて、編集サーバ101に送信する。
(ステップS307)
本ステップでは、編集サーバ101は、要求されたテンプレート代表シーンを端末102に送信する。
編集サーバ101の通信部121は、テンプレート代表シーン要求メッセージ411を受信すると、受信したテンプレート代表シーン要求メッセージ411のテンプレートID414の値を抽出する。
次に、通信部121は、抽出したテンプレートIDに対応するテンプレートの素材データを取得する。具体的には、まず、通信部121は、テンプレート情報蓄積部130に蓄積されているテンプレートテーブル331から、テンプレートID332に対応する素材テーブルID336を検索する。本実施の形態では、テンプレート代表シーン要求メッセージ411に含まれるテンプレートID「PM0001」に対応する素材テーブルID「3628」が検索される。さらに、通信部121は、テンプレート情報蓄積部130に蓄積されている素材テーブル341から、検索した素材テーブルID342に対応する素材データ345を検索する。本実施の形態では、素材テーブルID「3628」に対応する素材データである、デコレーション画像「file://decorations/cake001.jpg」、「file://decorations/cake001.jpg」、BGM「file://BGMs/birthday.mp3」、及びメディア制御スクリプト「file://scripts/happy.js」が検索される。
その後、通信部121は、検索した素材データをスクリプト蓄積部131、及びメディアデータ蓄積部132から取得し、スクリプト実行部128でメディア制御スクリプトを実行する。
スクリプト実行部128は、メディア制御スクリプトを実行し、テンプレート代表シーンを生成する。具体的には、次の処理を行う。スクリプト実行部128は、メディア制御スクリプト実行する。スクリプト実行部128は、テンプレートを再生中において、メディア制御スクリプトがデコレーション画像を取得及び描画した際、その描画時点でのタイムコード(テンプレート再生時の先頭からの相対時間)、デコレーション画像に対応する素材ID、及びフレームを書き出す。
具体的には、次の処理を行う。スクリプト実行部128は、メディア制御スクリプト中に記述されるデコレーション画像ファイル描画命令実行時に、描画内容であるテンプレートをJPEG画像にエンコードし、エンコード結果をテンプレート代表シーンファイルとして書き出す。その際、スクリプト実行部128は、ファイル情報として、テンプレートID、素材ID、及びタイムコードを編集サーバのデータベースに記憶する。テンプレート代表シーンの生成は、メディア制御スクリプトがデコレーション画像を描画する度に実行される。なお、テンプレート代表シーン、素材ID、及びタイムコードの記憶方法は、必ずしもこの方法でなくてもよい。
なお、編集サーバ101は、一度生成したテンプレート代表シーンを保存しておき、次回以降、同じテンプレートを指定したテンプレート代表シーン要求メッセージに対する応答に利用してもよい。これにより、編集サーバ101の即応性が高まる。また、編集サーバ101は、テンプレート代表シーンの生成を、当該編集サーバ101にテンプレートが登録した際に、予め行っておいてもよい。
最後に、通信部121は、端末102にテンプレート代表シーン応答メッセージを送信する。図23は、テンプレート代表シーン応答メッセージ421に含まれるメッセージデータを示す図である。テンプレート代表シーン応答メッセージ421は、メッセージ識別子422、バージョン423、テンプレート代表シーン数424、テンプレート代表シーン425をメッセージデータとして含む。
メッセージ識別子422は、端末102及び編集サーバ101が送受信するメッセージを識別するためのメッセージデータである。バージョン423は、メッセージのバージョン番号を識別するためのメッセージデータである。テンプレート代表シーン数424は、テンプレート代表シーン425に含まれるテンプレート代表シーンの数である。テンプレート代表シーン425は、タイムコードとテンプレート代表シーンデータとを含み、テンプレート代表シーン数424の数だけ連続して格納される。
通信部121は、テンプレート代表シーン応答メッセージ421の生成にあたり、次の処理を行う。
通信部121は、メッセージ識別子422に、テンプレート代表シーン応答メッセージを表す「0006」を、バージョン423に、初期バージョンを表す「0100」を、それぞれ設定する。
また、通信部121は、生成されたテンプレート代表シーンの数をテンプレート代表シーン数424に設定する。さらに、通信部121は、生成されたテンプレート代表シーンデータ、そのタイムコード、及び素材IDをテンプレート代表シーン425に設定する。その後、通信部121は、生成されたテンプレート代表シーン応答メッセージ421を、端末102に送信する。
(ステップS308)
本ステップでは、ステップS305で選択されたテンプレートに対して、ユーザが編集対象のシーンを選択する。
図24は、テンプレート編集画面の一例を示す図である。テンプレート編集画面431は、シーン表示エリア432と、素材表示エリア433と、テンプレート中の代表シーンを選択するためのスライドバー434と、再生ボタン435と、BGM変更ボタン436と、終了ボタン437とを含む。
シーン表示エリア432には、ステップS305でユーザが選択したテンプレート中の代表シーン、及び編集後のテンプレートが表示される。素材表示エリア433には、シーン表示エリア432に表示されるシーンにおいて編集可能な素材が表示される。
スライドバー434が、右にスライドするとタイムコードが進み、左に進むとタイムコードが戻る。図25は、スライドバー434で指定されるタイムコードとテンプレートのシーンとの関係を示す図である。図25において、代表シーン441は、テンプレートを構成する時系列の代表シーンである。スライドバー434の位置と、テンプレートの代表シーン441が対応付いており、スライドバー434で指定されたタイムコードに対応するテンプレートの代表シーン441がシーン表示エリア432に表示される。
図25の例では、「タイムコード#1」と「タイムコード#2」との間のタイムコードが「代表テンプレート#1」に、「タイムコード#2」と「タイムコード#3」の間のタイムコードが「代表テンプレート#2」に、「タイムコード#3」以降のタイムコードが「代表テンプレート#3」に、それぞれ、対応する。
テンプレート編集アプリは、通信部201を通じて、テンプレート代表シーン応答メッセージ421を受信すると、受信したテンプレート代表シーン応答メッセージ421に含まれるテンプレート代表シーンをシーン表示エリア432に表示する。テンプレート編集アプリは、スライドバー434の位置に対応するテンプレート代表シーンを、当該テンプレート代表シーンに対応するタイムコードを利用して特定し、特定したテンプレート代表シーンをシーン表示エリア432に表示する。
ユーザは、スライドバー434を操作し、編集したい代表シーンを選択する。
(ステップS309)
本ステップでは、端末102は、テンプレートの代表シーンで置き換えることができるデコレーション画像の取得要求を編集サーバ101に対して行う。
ユーザが、ステップS308において、スライドバー434を操作し、編集したい代表シーンを選択すると、テンプレート編集アプリは、通信部201を通じて、編集サーバにデコレーション画像要求メッセージを送信する。図26は、デコレーション画像要求メッセージ451に含まれるメッセージデータを示す図である。デコレーション画像要求メッセージ451は、メッセージ識別子452、バージョン453、及びテンプレートID454をメッセージデータとして含む。
メッセージ識別子452は、端末102及び編集サーバ101が送受信するメッセージを識別するためのメッセージデータである。バージョン453は、メッセージのバージョン番号を識別するためのメッセージデータである。テンプレートID454は、ステップS305でユーザが選択したテンプレートに対応するテンプレートIDである。
テンプレート編集アプリは、デコレーション画像要求メッセージ451の生成にあたり、メッセージ識別子452に、デコレーション画像要求メッセージを表す「0007」を、バージョン453に、初期バージョンを表す「0100」を、テンプレートID454に、ユーザが選択したテンプレートIDを設定する。本実施の形態では、このテンプレートIDは「PM0001」であるとする。その後、テンプレート編集アプリは、生成されたデコレーション画像要求メッセージ451を、通信部201を通じて、編集サーバ101に送信する。
(ステップS310)
本ステップでは、編集サーバ101は、要求されたデコレーション画像を端末102に送信する。
編集サーバ101の通信部121は、デコレーション画像要求メッセージ451を受信すると、メディアデータ蓄積部132に蓄積されているデコレーション画像を検索及び取得する。テンプレート毎に利用可能なデコレーション画像が決まっている場合は、通信部121は、デコレーション画像要求メッセージ451に含まれるテンプレートIDを利用して、ユーザが選択したテンプレートで利用可能なデコレーション画像を検索及び取得する。
次に、通信部121は、端末102にデコレーション画像応答メッセージを送信する。図27は、デコレーション画像応答メッセージ461に含まれるメッセージデータを示す図である。デコレーション画像応答メッセージ461は、メッセージ識別子462、バージョン463、デコレーション画像数464、及びデコレーション画像465をメッセージデータとして含む。
メッセージ識別子462は、端末102及び編集サーバ101が送受信するメッセージを識別するためのメッセージデータである。バージョン463は、メッセージのバージョン番号を識別するためのメッセージデータである。デコレーション画像数464は、デコレーション画像465に含まれるテンプレート代表シーンの数である。デコレーション画像465は、素材IDとデコレーション画像データとを含み、デコレーション画像数464の数だけ連続して格納される。
通信部121は、デコレーション画像応答メッセージ461の生成にあたり、次の処理を行う。
通信部121は、メッセージ識別子462に、デコレーション画像応答メッセージを表す「0008」を、バージョン463に、初期バージョンを表す「0100」を、それぞれ、設定する。
また、通信部121は、メディアデータ蓄積部132から検索及び取得したデコレーション画像の数をデコレーション画像数464に設定する。さらに、通信部121は、メディアデータ蓄積部132から検索及び取得したデコレーション画像の素材IDとデコレーション画像データとをデコレーション画像465に設定する。その後、通信部121は、生成されたデコレーション画像応答メッセージ461を、端末102に送信する。
(ステップS311)
本ステップでは、端末102は、編集サーバ101から取得したデコレーション画像を表示する。また、表示されたデコレーション画像の中から置き換えたいデコレーションをユーザが選択する。
テンプレート編集アプリは、通信部201を通じて、デコレーション画像応答メッセージ461を受信すると、受信したデコレーション画像応答メッセージ461に含まれるデコレーション画像を素材表示エリア433に表示する。
図28は、素材表示エリア433にデコレーション画像が表示されたテンプレート編集画面の一例を示す図である。
ユーザは、素材表示エリア433に表示されたデコレーション画像から置き換えたいデコレーションを選択する。テンプレート編集アプリは、選択されたデコレーション画像の素材IDを記憶する。この素材IDを置き換え素材IDと呼ぶ。
(ステップS312)
本ステップでは、端末102は、ステップS308で選択されたテンプレート代表シーンのデコレーション画像を、ステップS311で選択されたデコレーション画像で置き換えることを編集サーバ101に要求する。
テンプレート編集アプリは、通信部201を通じて、編集サーバ101にデコレーション画像置き換え要求メッセージを送信する。図29は、デコレーション画像置き換え要求メッセージ471に含まれるメッセージデータを示す図である。デコレーション画像置き換え要求メッセージ471は、メッセージ識別子472、バージョン473、テンプレートID474、タイムコード475、素材ID476、及び置き換え素材ID477をメッセージデータとして含む。
メッセージ識別子472は、端末102及び編集サーバ101が送受信するメッセージを識別するためのメッセージデータである。バージョン473は、メッセージのバージョン番号を識別するためのメッセージデータである。テンプレートID474は、ステップS305でユーザが選択したテンプレートに対応するテンプレートIDである。タイムコード475は、ステップS308でユーザが編集対象として選択したテンプレート代表シーンに対応するタイムコードである。素材ID476は、ステップS311でユーザが置き換え対象として選択したデコレーション画像の素材IDである。置き換え素材ID477は、ステップS311でユーザが選択したデコレーション画像に対応する置き換え素材IDである。
テンプレート編集アプリは、デコレーション画像置き換え要求メッセージ471の生成にあたり、メッセージ識別子472に、デコレーション画像置き換え要求メッセージを表す「0009」を、バージョン473に、初期バージョンを表す「0100」を、テンプレートID474に、ユーザが選択したテンプレートのテンプレートIDを設定する。本実施の形態では、このテンプレートIDは「PM0001」であるとする。また、テンプレート編集アプリは、タイムコード475に、ステップS308でユーザが編集対象として選択したテンプレート代表シーンに対応するタイムコードを設定する。テンプレート編集アプリは、素材ID476に、ステップS311でユーザが置き換え対象として選択したデコレーション画像の素材IDを設定する。テンプレート編集アプリは、置き換え素材ID477に、ステップS311でユーザが選択したデコレーション画像に対応する置き換え素材IDを設定する。その後、テンプレート編集アプリは、生成されたデコレーション画像置き換え要求メッセージ471を、通信部201を通じて、編集サーバ101に送信する。
(ステップS313)
本ステップでは、編集サーバ101は、デコレーション画像の置き換えを行う。
編集サーバ101の通信部121は、デコレーション画像置き換え要求メッセージ471を受信すると、受信したメッセージに含まれる置き換え素材IDを利用して、メディアデータ蓄積部132に蓄積されているメディアデータを検索し、置き換えるデコレーション画像の素材IDであるURLを取得する。例えば、置き換え素材IDが「PM2011」の場合、素材データURL「file://decorations/star002.jpg」を取得する。この素材データURLを、置き換え対象素材データURLと呼ぶ。
次に、通信部121は、受信したメッセージに含まれるテンプレートID及び素材IDを利用し、テンプレート情報蓄積部130に蓄積されているテンプレートテーブル331及び素材テーブル341を検索することで、置き換え対象となるデコレーション画像の素材データURLを取得する。例えば、テンプレートIDが「PM0001」であり、素材IDが「PM2002」である場合、通信部121は、デコレーション画像の素材データURL「file://decorations/cake002.jpg」を取得する。この素材データURLを、置き換え素材データURLと呼ぶ。
その後、通信部121は、置き換え対象素材データURLを置き換え素材データURLの内容で上書きする。これにより、デコレーションデータの置き換えが実現される。
最後に、通信部121は、端末102にデコレーション画像置き換え応答メッセージを送信する。図30Aは、デコレーション画像置き換え応答メッセージ481に含まれるメッセージデータを示す図である。デコレーション画像置き換え応答メッセージ481は、メッセージ識別子482、バージョン483、及びステータス484をメッセージデータとして含む。
メッセージ識別子482は、端末102及び編集サーバ101が送受信するメッセージを識別するためのメッセージデータである。バージョン483は、メッセージのバージョン番号を識別するためのメッセージデータである。ステータス484は、デコレーション画像置き換え結果を通知するためのメッセージデータである。
通信部121は、デコレーション画像置き換え応答メッセージ481の生成にあたり、メッセージ識別子482に、デコレーション画像置き換え応答メッセージを表す「0010」を、バージョン483に、初期バージョンを表す「0100」を、ステータス484に、成功を表す「0000」を、それぞれ、設定する。その後、通信部121は、生成されたデコレーション画像置き換え応答メッセージ481を、端末102に送信する。
(ステップS314)
本ステップでは、端末102は、編集したテンプレートの再生を行うため、編集サーバ101にテンプレートデータを要求する。
ユーザはテンプレート編集画面431に含まれる再生ボタン435を押す。テンプレート編集アプリは、再生ボタン435が押されると、テンプレートデータを編集サーバ101から取得するため、テンプレートデータ要求メッセージを編集サーバ101に送信する。図30Bは、テンプレートデータ要求メッセージ491に含まれるメッセージデータを示す図である。テンプレートデータ要求メッセージ491は、メッセージ識別子492、バージョン493、及びテンプレートID494をメッセージデータとして含む。
メッセージ識別子492は、端末102及び編集サーバ101が送受信するメッセージを識別するためのメッセージデータである。バージョン493は、メッセージのバージョン番号を識別するためのメッセージデータである。テンプレートID494は、再生の対象となるテンプレートのテンプレートIDである。
テンプレート編集アプリは、テンプレートデータ要求メッセージ491の生成にあたり、メッセージ識別子492に、テンプレートデータ要求メッセージを表す「000a」を、バージョン493に、初期バージョンを表す「0100」を、テンプレートID494に、再生対象となるテンプレートIDを設定する。本実施の形態では、このテンプレートIDは「PM0001」であるとする。その後、テンプレート編集アプリは、生成されたテンプレートデータ要求メッセージ491を、通信部201を通じて、編集サーバ101に送信する。
(ステップS315)
本ステップでは、編集サーバ101は、端末102から要求された再生対象のテンプレートを識別する。
編集サーバ101の通信部121は、テンプレートデータ要求メッセージ491を受信すると、テンプレートデータ要求メッセージ491に含まれるテンプレートID494の値を抽出する。
(ステップS316)
本ステップでは、編集サーバ101は、テンプレートデータを要求した端末のセキュリティレベルを判定する。
編集サーバ101のセキュリティレベル判定部124は、ステップS302で受信したテンプレート編集要求メッセージ371に含まれるセキュリティレベル377の値から、セキュリティレベルを判定する。具体的には、セキュリティレベル判定部124は、セキュリティレベル値が5以下の場合、端末のセキュリティレベルが低いと判定する。また、セキュリティレベル判定部124は、セキュリティレベル値が6以上の場合、端末のセキュリティレベルが高いと判定する。
(ステップS317)
本ステップでは、編集サーバ101は、テンプレートデータを要求した端末のスクリプト処理能力を判定する。
編集サーバ101の処理能力判定部123は、ステップS302で受信したテンプレート編集要求メッセージ371に含まれるスクリプト処理能力情報376の値が「0」であるかどうかを判定する。この値が「0」の場合、処理能力判定部123は、端末がスクリプト実行部を保持しない端末、言い換えると、メディア制御スクリプトの実行環境を備えていない端末(端末103)と判定する。また、この値が「0」以外の場合は、処理能力判定部123は、端末がスクリプト実行部を保持する端末、言い換えると、メディア制御スクリプトの実行環境を備えている端末であり、その能力レベルがスクリプト処理能力情報376の値であると判定する。
(ステップS318)
本ステップでは、編集サーバ101は、テンプレートデータを要求した端末のセキュリティレベル及びスクリプト処理能力から、作成するテンプレートデータのコンテンツ形式を決定する。
図31Aは、このコンテンツ形式を決定する処理のフローチャートである。
図31Aに示すように、編集サーバ101の形式決定部122は、端末がスクリプト実行環境を有するか否かを判定する(S121)。また、形式決定部122は、端末のセキュリティレベルが第1閾値より高いか否かを判定する(S122)。
端末のセキュリティレベルが低い場合(S122でNo)、又は、端末がスクリプト実行環境を有さない場合(S121でNo)、形式決定部122は、完全パッケージ型のテンプレートデータを生成すると判定する(S124)。一方、端末がスクリプト実行機能を有し、かつ、端末のセキュリティレベルが高い場合(S121でYes、かつS122でYes)、形式決定部122は、素材パッケージ型のテンプレートデータを生成すると判定する(S123)。
なお、形式決定部122は、さらに、セキュリティレベルに応じて、完全パッケージ型のテンプレートを、ダウンロード型配信方式で送信するか、ストリーミング型配信方式で送信するかを決定してもよい。例えば、図31Bに示すように、端末のセキュリティレベルが第1閾値より低い場合(S122でNo)、又は、端末がスクリプト実行環境を有さない場合(S121でNo)、形式決定部122は、端末のセキュリティレベルが第2閾値より高いか否かを判定する(S124A)。ここで、第2閾値は第1閾値より低い。
端末のセキュリティレベルが第2閾値より高い場合(S124AでYes)、形式決定部122は、ダウンロード型配信方式で完全型パッケージを送信すると決定する(S124B)。また、端末のセキュリティレベルが第2閾値より低い場合(S124AでNo)、形式決定部122は、ストリーミング型配信方式で完全型パッケージを送信すると決定する(S124C)。これにより、セキュリティレベルの低い端末におけるテンプレートを構成する素材データの不正利用を防止することができる。
(ステップS319)
ステップS318において素材パッケージ型が選択された場合(S319で素材パッケージ)、処理がステップS320へ進み、ステップS318において完全パッケージ型が選択された場合(S319で完全パッケージ)、処理がステップS321へ進む。
(ステップS320)
本ステップでは、編集サーバ101は、素材パッケージ型のテンプレートデータを生成する。このとき、編集サーバ101は、図2Bを用いて説明したように、端末の処理能力に応じて、生成するテンプレートデータを変更する。以下、具体例を説明する。
編集サーバ101の素材パッケージ生成部125は、ステップS315で識別したテンプレートIDを利用し、テンプレート情報蓄積部130に蓄積されているテンプレートテーブル331を検索することにより、テンプレートIDに対応する素材テーブルIDを取得する。次に、素材パッケージ生成部125は、検索及び取得した素材テーブルIDを利用し、テンプレート情報蓄積部130に蓄積されている素材テーブル341を検索することにより、テンプレートに含まれる素材データ及び素材IDを全て取得する。さらに、素材パッケージ生成部125は、素材データに含まれるメディア制御スクリプトを、ステップS317で判定した端末のスクリプト処理能力に応じて再構成する。最後に、素材パッケージ生成部125は、取得した素材データをアーカイブし、テンプレートデータを生成する。
具体的な処理として、テンプレートIDが「PM0001」の場合の処理を説明する。
編集サーバ101の素材パッケージ生成部125は、まず、テンプレートID「PM0001」を利用し、テンプレートテーブル331を検索することにより、素材テーブルID「3628」を取得する。
次に、素材パッケージ生成部125は、検索及び取得した素材テーブルID「3628」を利用し、素材テーブル341を検索することにより、テンプレートに含まれる画像データ「cake001.jpg」と、その素材ID「PM2001」と、「star002.jpg」と、その素材ID「PM2003」と、BGMデータ「birthday.mp3」と、その素材ID「PM4001」と、メディア処理スクリプト「happy.js」と、その素材ID「S0001」とを取得する。
さらに、編集サーバ101のスクリプト生成部112は、素材データに含まれるメディア制御スクリプト「happy.js」をステップS315で判定した端末のスクリプト処理能力に応じて再構成する。
次に再構成の例を示す。図32は、メディア制御スクリプトを模式的に表した図である。メディア制御スクリプトは、初期値設定部501、描画処理部502、及びBGM再生処理部503を含む。初期値設定部501は、描画処理部502が実行される実行間隔の設定を行う。描画処理部502は、画像データの移動表示を行う。BGM再生処理部503は、BGMの再生を行う。
スクリプト生成部112は、スクリプト処理能力が高い場合には、実行間隔を短くすることで滑らかな動作効果を行うように初期値設定部501を再構成する。一方、スクリプト生成部112は、スクリプト処理能力が低い場合には、実行間隔を長くすることで動作効果を抑えるように初期値設定部501を再構成する。なお、ここでは、スクリプト生成部112は、メディア制御スクリプトの再構成を初期値設定部501の設定を変更することにより行ったが、同様の効果を得る処理であれば、どのような処理を行ってもよい。例えば、スクリプト生成部112は、スクリプト処理能力に応じて、描画処理部502の一部又は全部を入れ替えてもよい。また、スクリプト生成部112は、スクリプト処理能力に応じて、描画処理部502の一部又は全部を削除してもよい。
最後に、編集サーバ101の素材パッケージ生成部125は、アーカイブ固有のアーカイブIDの生成を行う。その後、素材パッケージ生成部125は、取得した画像データ及びBGMデータと、再構成を行ったメディア制御スクリプトとを図33に示すフォーマットでアーカイブする。
図33は素材データのアーカイブフォーマットに従って作成された素材データアーカイブ511に含まれるデータを示す図である。素材データアーカイブ511は、アーカイブタイプ512、アーカイブID513、アーカイブファイル名514、アーカイブサイズ515、素材数516、素材タイプ517、素材ID518、素材ファイル名519、素材サイズ520、及び素材データ521を含む。
アーカイブタイプ512は、アーカイブの種別を識別するためのデータであり、アーカイブ方式を示す。ここでは、アーカイブタイプ512にMIME形式が利用されているが、別の形式が利用されてもよい。アーカイブID513は、アーカイブを識別するための識別子である。ここでは、アーカイブID513は、生成されたアーカイブIDを指定する。アーカイブファイル名514は、素材データアーカイブのファイル名である。
アーカイブサイズ515は、素材データアーカイブのバイト数である。素材数516は素材データアーカイブに含まれる素材の数である。素材タイプ517は、素材の種別を識別するためのデータである。ここでは、素材タイプ517に、MIME形式が利用されているが、別の形式が利用されてもよい。
素材ID518は、素材を識別するための識別子である。ここでは、素材ID518は素材IDを指定する。素材ファイル名519は、素材データのファイル名である。素材サイズ520は、素材データアーカイブのバイト数である。素材データ521は、素材データである。
なお、アーカイブID513及び素材ID518には、素材情報保護部129によって、以下の保護処理が行われる。まず、素材情報保護部129は、各IDに対して、ハッシュ値を計算し、計算したハッシュ値を素材IDに結合し、結合したデータを素材情報保護部129が保持する暗号鍵で暗号化する。素材情報の保護処理の例を図34に示す。
(ステップS321)
本ステップでは、編集サーバ101は、完全パッケージ型のテンプレートデータを生成する。
編集サーバ101の完全パッケージ生成部126は、ステップS315で識別したテンプレートIDを利用し、テンプレート情報蓄積部130に蓄積されているテンプレートテーブル331を検索することにより、テンプレートIDに対応する素材テーブルIDを取得する。
次に、完全パッケージ生成部126は、検索及び取得した素材テーブルIDを利用し、テンプレート情報蓄積部130に蓄積されている素材テーブル341を検索することにより、テンプレートに含まれる素材データ及び素材IDを全て取得する。
さらに、編集サーバ101のスクリプト実行部128は、テンプレートに含まれる素材データの中のメディア制御スクリプトを実行する。スクリプト実行部128で実行されたメディア制御スクリプトは、素材データ中の画像データ及びBGMデータを利用して、テンプレートコンテンツを再生する。完全パッケージ生成部126は、再生されたテンプレートコンテンツをキャプチャすることで、完全パッケージ形式のテンプレートデータを生成する。
最後に、編集サーバ101の素材情報埋め込み部127は、アーカイブIDの生成を行う。その後、テンプレートに含まれる素材データの素材ID、及びアーカイブIDの保護が行われ、保護されたIDが、完全パッケージ形式のテンプレートデータに埋め込まれる。素材ID及びアーカイブIDの保護は、編集サーバ101の素材情報保護部129が行う。
具体的な処理として、テンプレートIDが「PM0001」の場合の処理を説明する。
編集サーバ101の完全パッケージ生成部126は、まず、テンプレートID「PM0001」を利用し、テンプレートテーブル331を検索することにより、素材テーブルID「3628」を取得する。
次に、完全パッケージ生成部126は、検索及び取得した素材テーブルID「3628」を利用し、素材テーブル341を検索することにより、テンプレートに含まれる画像データ「cake001.jpg」と、その素材ID「PM2001」と、「star002.jpg」と、その素材ID「PM2003」と、BGMデータ「birthday.mp3」と、その素材ID「PM4001」と、メディア処理スクリプト「happy.js」と、その素材ID「S0001」とを取得する。
さらに、編集サーバ101のスクリプト実行部128は、メディア制御スクリプト「happy.js」を実行する。完全パッケージ生成部126は、再生されたテンプレートコンテンツをキャプチャし、完全パッケージ形式のテンプレートデータを生成する。完全パッケージ生成部126は、コンテンツのキャプチャを、編集サーバ101の再生フレームバッファに書き出されたデータを読み出すことにより行う。
最後に、編集サーバ101の素材情報保護部129は、アーカイブIDとテンプレートに含まれる素材データの各素材IDとに対して、ハッシュ値を計算し、計算したハッシュ値を素材IDに結合し、結合したデータを素材情報保護部129が保持する暗号鍵で暗号化する。素材情報の保護処理の例を図34に示す。編集サーバ101の素材情報埋め込み部127は、保護処理を行った暗号化IDデータを、完全パッケージ形式のテンプレートデータに埋め込む。図35は、生成された完全パッケージ形式のテンプレートデータを示す図である。テンプレートデータは、管理情報部531とデータ部532に分かれており、データ部532に各種データが保持される。データ部532のオブジェクト記述部533の中の素材情報記述部534に暗号化IDデータが含まれる。
(ステップS322)
本ステップでは、編集サーバ101は、テンプレートデータを端末102に送信する。端末102に送信するテンプレートデータの形式は、ステップS319で判定したものである。
編集サーバ101の通信部121は、端末102に、ステップS320又はステップS321で生成されたテンプレートデータを含むテンプレートデータ応答メッセージを送信する。図36は、テンプレートデータ応答メッセージ541に含まれるメッセージデータを示す図である。テンプレートデータ応答メッセージ541は、メッセージ識別子542、バージョン543、テンプレートデータ形式識別子544、及びテンプレートデータ545をメッセージデータとして含む。
メッセージ識別子542は、端末102及び編集サーバ101が送受信するメッセージを識別するためのメッセージデータである。バージョン543は、メッセージのバージョン番号を識別するためのメッセージデータである。テンプレートデータ形式識別子544は、メッセージに含まれるテンプレートデータが素材パッケージ形式か完全パッケージ形式かを識別するための識別子である。テンプレートデータ545はテンプレートデータである。
通信部121は、テンプレートデータ応答メッセージ541の生成にあたり、次の処理を行う。
通信部121は、メッセージ識別子542に、テンプレートデータ応答メッセージを表す「000B」を、バージョン543に、初期バージョンを表す「0100」を、それぞれ、設定する。
また、ステップS319において、素材パッケージ形式のテンプレートデータを生成すると判定された場合、通信部121は、テンプレートデータ形式識別子544に、素材パッケージ形式を表す「0001」を設定する。また、ステップS319において、完全パッケージ形式のテンプレートデータを生成すると判定された場合、通信部121は、テンプレートデータ形式識別子544に、完全パッケージ形式を表す「0002」を、設定する。
さらに、通信部121は、テンプレートデータ545に、ステップS320又はステップS321で生成されたテンプレートデータを設定する。
その後、通信部121は、生成されたテンプレートデータ応答メッセージ541を、端末102に送信する。
なお、図31Bに示すように、ダウンロード型、又はストリーミング型で完全パッケージを送信すると決定された場合には、その決定結果に従い、通信部121は、ダウンロード型、又はストリーミング型で完全パッケージを送信する。
(ステップS323)
本ステップでは、端末102は、編集サーバ101から取得したテンプレートデータを再生する。
本ステップは、再生する端末によって処理が異なるため、端末102の場合及び端末103の場合を順に説明する。
端末102のテンプレート編集アプリは、通信部201を通じて、テンプレートデータ応答メッセージ541を受信すると、受信したテンプレートデータ応答メッセージ541からテンプレートデータを抽出する。抽出したテンプレートデータは、素材パッケージ形式の素材データアーカイブである。次に、テンプレート編集アプリは、コンテンツ形式解析部206において、抽出した素材データアーカイブを展開する。その後、テンプレート編集アプリは、スクリプト実行部207において、展開した素材データの中のメディア制御スクリプトを実行する。実行されたスクリプトは、メディア再生部208において、他の素材データと共に再生される。最後に、テンプレート編集アプリは、再生されたテンプレートデータを、出力部209を通じて、テンプレート編集画面431に含まれるシーン表示エリア432に表示する。
端末103のテンプレート編集アプリは、通信部201を通じて、テンプレートデータ応答メッセージ541を受信すると、受信したテンプレートデータ応答メッセージ541からテンプレートデータを抽出する。抽出したテンプレートデータは、完全パッケージ形式のテンプレートデータである。次に、テンプレート編集アプリは、コンテンツ形式解析部206において、抽出した完全パッケージ形式を展開する。その後、テンプレート編集アプリは、メディア再生部208において、映像ストリーム及び音声ストリームをデコードする。最後に、テンプレート編集アプリは、再生されたストリームを、出力部209を通じて、テンプレート編集画面431に含まれるシーン表示エリア432に表示する。
ユーザは再生されたテンプレートデータを確認し、さらにテンプレートを再編集する場合は、ステップS311から処理がやり直される。テンプレート編集を終了する場合は、ユーザが終了ボタン437を押すことにより、表示画面がマルチメディアコンテンツ編集処理選択画面に戻る。
以上で、テンプレート編集処理の説明を終わる。
なお、本テンプレート編集処理において、デコレーション画像の置き換えによる編集処理を説明したが、BGM及び再生効果についても、同様の処理を行うことにより編集を行うことができる。
なお、本テンプレート編集処理において、編集サーバ101は、端末102及び端末103を認証した上でメッセージ通信を行ってもよい。これにより、テンプレートデータが意図しない端末に送信されることを防止することができる。さらに、編集サーバ101と端末102及び端末103との間の通信路を暗号化してもよい。これにより、通信路が盗聴されることによるテンプレートデータの横取りを防止することができる。
なお、ステップS307において、編集サーバ101がテンプレート代表シーンを生成し、生成されたテンプレート代表シーンを端末102に送信したが、テンプレート代表シーンを端末102で生成してもよい。
この場合、編集サーバ101は、ステップS314〜ステップS315と同様の処理を行うことにより、端末のセキュリティレベルとスクリプト処理能力とを判定する。その結果、端末のセキュリティレベルが高く、かつ、端末がスクリプト処理実行部を有する場合には、編集サーバ101は、テンプレートIDに対応するテンプレートの素材データを取得する。そして、編集サーバ101は、ステップS317と同様の処理を行うことにより、素材パッケージ型のテンプレートを作成し、作成したテンプレートを端末102に送信する。
端末102では、ステップS321と同様の処理を行うことにより、素材パッケージ型のテンプレートを再生し、テンプレート代表シーンを生成する。また、編集サーバ101は、ステップS319と同様の処理を行うことにより、完全パッケージ型のテンプレートを生成し、端末102又は端末103に送信する。端末102又は端末103は、ステップS321と同様の処理を行うことにより、完全パッケージ型のテンプレートを再生することでテンプレート代表シーンを生成する。これにより、編集サーバ101の処理負荷を低減することができる。
なお、ステップS309〜ステップS310において、編集サーバ101は、テンプレートの代表シーンで置き換えることができるデコレーション画像をテンプレート編集アプリに対して送信したが、デコレーション画像を代表シーンと共に送信してもよい。これにより、通信回数が削減される。また、編集サーバ101は、端末102のセキュリティレベルが低い場合は、デコレーション画像を送信しなくてもよい。これにより、デコレーション画像の漏えいが防止される。
なお、ステップS313において、デコレーション画像の置き換え処理を行ったが、同様の処理を行うことにより、デコレーション画像の追加及び削除も可能である。
なお、ステップS316において、編集サーバ101は、端末のセキュリティレベルをセキュリティレベル値から判定したが、端末種別から判定してもよい。
なお、ステップS317において、編集サーバ101は、端末のスクリプト処理能力をスクリプト処理能力情報の値から判定したが、端末種別から判定してもよい。
なお、ステップS319において、編集サーバ101は、端末102のスクリプト処理能力が低い場合、作成するテンプレートデータのコンテンツ形式を完全パッケージ型に決定してもよい。これにより、再編集の自由度が減るが、表示効果をあげることができる。
なお、ステップS320、及びステップS321において、編集サーバ101は、それぞれ、完全パッケージ型、及び素材パッケージ型のテンプレートデータを生成したが、予め全てのパターンのテンプレートデータを作っておいてもよい。これにより、編集サーバ101の実行時における処理負荷を軽減することができる。
(コンテンツ編集処理)
次に、コンテンツ編集処理の説明を行う。
図37A及び図37Bは、コンテンツ編集処理の流れを示すフローチャートである。図37A及び図37Bを参照しながら、コンテンツ編集処理を説明する。なお、コンテンツ編集処理の開始前に、ユーザID及びパスワードを用いたユーザ認証が行われているものとする。
(ステップS401)
本ステップでは、端末102は、編集サーバ101に対して、コンテンツ編集要求を行う。
端末102の制御部210は、通信部201を通じて、編集サーバ101にコンテンツ編集要求メッセージを送信する。図38は、コンテンツ編集要求メッセージ551に含まれるメッセージデータを示す図である。コンテンツ編集要求メッセージ551は、メッセージ識別子552、バージョン553、ユーザID554、スクリプト実行部バージョン555、スクリプト処理能力情報556、及びセキュリティレベル557をメッセージデータとして含む。それぞれの内容は、図17に示したテンプレート編集要求メッセージと同じものであるため、説明を省略する。
制御部210は、コンテンツ編集要求メッセージ551の生成にあたり、メッセージ識別子552に、コンテンツ編集要求メッセージを表す「0101」を、バージョン553に、初期バージョンを表す「0100」を、ユーザID554に、ユーザID「KM」を、それぞれ、設定する。
また、制御部210は、スクリプト実行部バージョン555に、処理能力蓄積部202に蓄積されているバージョン情報302の値を、スクリプト処理能力情報556に、処理能力蓄積部202に蓄積されているスクリプト処理能力情報303の値を、それぞれ、設定する。但し、スクリプト実行部を保持しない端末(端末103)の場合には、制御部210は、スクリプト実行部バージョン555、及びスクリプト処理能力情報556に、無効値「0」を設定する。
さらに、制御部210は、セキュリティレベル557に、セキュリティ情報蓄積部204に蓄積されている値を設定する。
その後、制御部210は、生成されたコンテンツ編集要求メッセージ551を、通信部201を通じて、編集サーバ101に送信する。
(ステップS402)
本ステップでは、編集サーバ101は、コンテンツ編集応答を行う。
編集サーバ101の通信部121は、コンテンツ編集要求メッセージ551を受信すると、端末102にコンテンツ編集応答メッセージを送信する。図39は、コンテンツ編集応答メッセージ581に含まれるメッセージデータを示す図である。コンテンツ編集応答メッセージ581は、メッセージ識別子582、バージョン583、及びコンテンツ編集アプリケーション584をメッセージデータとして含む。
メッセージ識別子582は、端末102及び編集サーバ101が送受信するメッセージを識別するためのメッセージデータである。バージョン583は、メッセージのバージョン番号を識別するためのメッセージデータである。コンテンツ編集アプリケーション584は、端末102で実行されるコンテンツ編集アプリケーションプログラムである。コンテンツ編集アプリケーション584は、端末102の上で直接動作するものであっても、端末102のブラウザ上で動作するものであってもよい。
通信部121は、コンテンツ編集応答メッセージ581の生成にあたり、メッセージ識別子582に、コンテンツ編集応答メッセージを表す「0102」を、バージョン583に、初期バージョンを表す「0100」を、コンテンツ編集アプリケーション584に、編集サーバ101が備える、図示しないアプリケーション蓄積部に蓄積されているコンテンツ編集アプリケーションを設定する。その後、通信部121は、生成されたコンテンツ編集応答メッセージを端末102に送信する。
(ステップS403)
本ステップでは、端末102は、コンテンツ編集アプリを実行する。
コンテンツ編集アプリは、端末102の上で直接動作、又は、端末102のブラウザ上で動作し、出力部209を通じてコンテンツ編集画面を出力する。コンテンツ編集は、予め用意されたテンプレートやユーザがこれまで作成したテンプレートを基に、ユーザの写真及びムービー等のコンテンツを埋め込むことにより、マルチメディアコンテンツを作成する機能である。
コンテンツ編集アプリは、端末102により実行されると、通信部201を通じて、編集サーバ101にテンプレートサムネイル要求メッセージを送信する。テンプレートサムネイル要求メッセージは、ステップS303で示したものと同じものが利用されるため、説明を省略する。
(ステップS404)
本ステップでは、編集サーバ101は、要求されたテンプレートサムネイルを端末102に送信する。なお、本ステップでは、ステップS304と同じ処理が行われる。
(ステップS405)
本ステップでは、コンテンツ編集に利用されるテンプレートをユーザが選択する。
端末102は、テンプレートサムネイル応答メッセージを受信すると、図40に示すコンテンツ編集画面591を表示する。端末102は、画面の出力を、出力部209を通じて行う。端末102は、テンプレートのサムネイルとして、受信されたテンプレートサムネイル応答メッセージに含まれるテンプレートサムネイルデータをコンテンツ編集画面591に表示する。
コンテンツ編集画面591は、シーン表示エリア592と、素材表示エリア593と、スライドバー594と、再生ボタン595と、BGM変更ボタン596と、決定ボタン597と、終了ボタン598とを含む。
ユーザは、図40に示したコンテンツ編集画面591から、作成の基とするテンプレートを選択する。テンプレートの選択は、入力部205を通じて行われる。ユーザは、テンプレートの選択が終われば、決定ボタン597を押す。
(ステップS406)
本ステップでは、端末102は、ステップS405で選択されたテンプレートに対して、編集サーバ101にテンプレートデータを要求する。
ユーザはコンテンツ編集画面591に含まれる再生ボタン595を押す。コンテンツ編集アプリは、再生ボタン595が押されると、テンプレートデータを編集サーバ101から取得するため、テンプレートデータ要求メッセージを送信する。テンプレートデータ要求メッセージは、ステップS314で示したものと同じであるため、説明を省略する。
(ステップS407)
本ステップでは、編集サーバ101は、端末102から要求された再生対象のテンプレートを識別する。本ステップでは、ステップS315と同じ処理が行われる。
(ステップS408)
編集サーバ101のセキュリティレベル判定部124は、ステップS402で受信したコンテンツ編集要求メッセージ551のセキュリティレベル557の値から、セキュリティレベルを判定する。具体的には、セキュリティレベル判定部124は、セキュリティレベル値が5以下の場合、端末のセキュリティレベルが低いと判定する。
また、セキュリティレベル値が6以上の場合、セキュリティレベル判定部124は、端末のセキュリティレベルが高いと判定する。
(ステップS409)
本ステップでは、編集サーバ101は、テンプレートデータを要求した端末のスクリプト処理能力を判定する。
編集サーバ101の処理能力判定部123は、ステップS402で受信したテンプレート編集要求メッセージ551のスクリプト処理能力情報556の値が「0」であるかどうかを判定する。この値が「0」の場合は、処理能力判定部123は、端末がスクリプト実行部を保持しない端末、言い換えると、メディア制御スクリプトの実行環境を備えていない端末(端末103)と判定する。また、この値が「0」以外の場合は、処理能力判定部123は、端末がスクリプト実行部を保持する端末、言い換えると、メディア制御スクリプトの実行環境を備えている端末であり、その能力レベルがスクリプト処理能力情報556の値であると判定する。
(ステップS410)
本ステップでは、編集サーバ101は、テンプレートデータを要求した端末のセキュリティレベル及びスクリプト処理能力から、作成するテンプレートのコンテンツ形式を決定する。なお、本ステップでは、ステップS318と同じ処理が行われる。
(ステップS411)
ステップS410において素材パッケージ型が選択された場合(S411で素材パッケージ)、処理がステップS412へ進み、ステップS410において完全パッケージ型が選択された場合(S411で完全パッケージ)、処理がステップS413へ進む。
(ステップS412)
本ステップでは、編集サーバ101は、素材パッケージ型のテンプレートデータを生成する。なお、本ステップでは、ステップS320と同じ処理が行われる。
(ステップS413)
本ステップでは、編集サーバ101は、完全パッケージ型のテンプレートデータを生成する。なお、本ステップでは、ステップS321と同じ処理が行われる。
(ステップS414)
本ステップでは、編集サーバ101は、テンプレートデータを端末102に送信する。端末102に送信されるテンプレートデータの形式は、ステップS411で判定したものである。
編集サーバ101の通信部121は、端末102に、ステップS412又はステップS413で生成されたテンプレートデータを含むテンプレートデータ応答メッセージを送信する。なお、テンプレートデータ応答メッセージは、ステップS322で示したものと同じであるため、説明を省略する。
(ステップS415)
本ステップでは、端末102は、編集サーバ101から取得したテンプレートデータを再生する。なお、本ステップでは、ステップS323と同じ処理が行われる。但し、再生されたテンプレートデータは、コンテンツ編集画面591に含まれるコンテンツ再生エリア592に表示される。
ユーザは、再生されたテンプレートデータを確認し、決定ボタン597を押す。別のテンプレートを利用する場合は、ステップS403から処理がやり直される。コンテンツ編集を中断する場合は、ユーザは終了ボタン598を押すことにより、表示画面がマルチメディアコンテンツ編集処理選択画面に戻る。
(ステップS416)
本ステップでは、端末102は、ユーザの保持する写真のサムネイル画像を表示する。表示された写真のサムネイル画像の中からテンプレートに埋め込みたい写真をユーザが選択する。
コンテンツ編集アプリは、端末102の保持する写真のサムネイル画像を、素材表示エリア593に表示する。
図41は、素材表示エリア593に写真のサムネイル画像が表示されたコンテンツ編集画面591の一例を示す図である。
ユーザは、素材表示エリア593に表示された写真のサムネイル画像からテンプレートに埋め込みたい写真を選択する。写真は予め決められた枚数まで選択できる。
(ステップS417)
本ステップでは、端末102は、ステップS416で選択された写真を、ステップS415で決定したテンプレートに埋め込んだマルチメディアコンテンツを編集サーバ101に要求する。
コンテンツ編集アプリは、通信部201を通じて、編集サーバ101にマルチメディアコンテンツ要求メッセージを送信する。図42は、マルチメディアコンテンツ要求メッセージ601に含まれるメッセージデータを示す図である。マルチメディアコンテンツ要求メッセージ601は、メッセージ識別子602、バージョン603、テンプレートID604、写真数605、及び写真606をメッセージデータとして含む。
メッセージ識別子602は、端末102及び編集サーバ101が送受信するメッセージを識別するためのメッセージデータである。バージョン603は、メッセージのバージョン番号を識別するためのメッセージデータである。テンプレートID604は、ステップS416でユーザが決定したテンプレートに対応するテンプレートIDである。写真数605は、埋め込まれる写真の数である。写真606は、写真データのファイル名である写真ファイル名と、埋め込まれる写真データである写真データとを含む。写真606は、写真数605で指定された数だけ連続して格納される。
コンテンツ編集アプリは、マルチメディアコンテンツ要求メッセージ601の生成にあたり、メッセージ識別子602に、マルチメディアコンテンツ要求メッセージを表す「0103」を、バージョン603に、初期バージョンを表す「0100」を、テンプレートID604に、ユーザが決定したテンプレートのテンプレートIDを設定する。本実施の形態では、このテンプレートIDは「PM0001」であるとする。写真数605は、埋め込まれる写真の数である。本実施の形態では、この写真の数は「20」であるとする。写真606は、ステップS416でユーザが選択した20枚の写真データを含む。その後、コンテンツ編集アプリは、マルチメディアコンテンツ要求メッセージ601を、通信部201を通じて、編集サーバ101に送信する。
(ステップS418)
本ステップでは、編集サーバ101は、端末102から要求されたコンテンツ編集の対象とするテンプレートを識別する。
編集サーバ101の通信部121は、マルチメディアコンテンツ要求メッセージ601を受信すると、マルチメディアコンテンツ要求メッセージ601のテンプレートID604の値を抽出する。
(ステップS419)
本ステップでは、編集サーバ101は、マルチメディアコンテンツを要求した端末のセキュリティレベルとスクリプト処理能力から、作成するマルチメディアコンテンツデータのコンテンツ形式を決定する。
編集サーバ101の形式決定部122は、ステップS408で判定された端末のセキュリティレベルが低い場合、又は、ステップS409で端末がスクリプト実行部を保持しないと判定された場合、完全パッケージ型のマルチメディアコンテンツデータを生成する。これ以外の場合は、形式決定部122は、素材パッケージ型のマルチメディアコンテンツデータを生成する。
また、素材パッケージ型が選択された場合(S419で素材パッケージ)、処理がステップS420へ進み、完全パッケージ型が選択された場合(S419で完全パッケージ)、処理がステップS421へ進む。
(ステップS420)
本ステップでは、編集サーバ101は、素材パッケージ型のマルチメディアコンテンツデータを生成する。
まず、素材パッケージ生成部125は、ステップS418で識別したテンプレートIDに対応するテンプレートに含まれる素材データと素材IDを全て取得する。その後、素材パッケージ生成部125は、素材データに含まれるメディア制御スクリプトを、ステップS409で判定した端末のスクリプト処理能力に応じた再構成する。素材データの取得、及びメディア制御スクリプトの再構成は、ステップS320に示した方法により行われる。また、ステップS418で受信した写真データの埋め込みは、メディア制御スクリプトから参照する写真ファイル名に、ステップS418で受信した写真ファイル名を埋め込むことにより行われる。
最後に、素材パッケージ生成部125は、取得した画像データ及びBGMデータと、再構成を行ったメディア制御スクリプトと、マルチメディアコンテンツ要求メッセージ601に含まれる写真データとを図33に示すフォーマットでアーカイブする。
(ステップS421)
本ステップでは、編集サーバ101は、完全パッケージ型のマルチメディアコンテンツデータを生成する。
まず、完全パッケージ生成部126は、ステップS418で識別したテンプレートIDに対応するテンプレートに含まれる素材データ及び素材IDを全て取得する。
さらに、編集サーバ101のスクリプト実行部128は、テンプレートに含まれる素材データの中のメディア制御スクリプトを実行する。スクリプト実行部128で実行されたメディア制御スクリプトは、素材データ中の画像データ、BGMデータ及びマルチメディアコンテンツ要求メッセージ601に含まれる写真データを利用して、マルチメディアコンテンツを再生する。完全パッケージ生成部126は、再生されたマルチメディアコンテンツをキャプチャすることで、完全パッケージ形式のマルチメディアコンテンツデータを生成する。
最後に、編集サーバ101の素材情報埋め込み部127は、アーカイブIDの生成を行う。その後、アーカイブID、及びテンプレートに含まれる素材データの素材IDの保護が行われ、保護されたIDが、完全パッケージ形式のマルチメディアコンテンツデータに埋め込まれる。アーカイブID及び素材IDの保護は、編集サーバ101の素材情報保護部129が行う。
(ステップS422)
本ステップでは、編集サーバ101は、マルチメディアコンテンツデータを端末102に送信する。端末102に送信されるマルチメディアコンテンツデータの形式は、ステップS411で判定したものである。
編集サーバ101の通信部121は、端末102に、ステップS420又はステップS421で生成されたマルチメディアコンテンツデータを含むマルチメディアコンテンツ応答メッセージを送信する。図43は、マルチメディアコンテンツ応答メッセージ611に含まれるメッセージデータを示す図である。マルチメディアコンテンツ応答メッセージ611は、メッセージ識別子612、バージョン613、マルチメディアコンテンツデータ形式識別子614、及びマルチメディアコンテンツデータ615をメッセージデータとして含む。
メッセージ識別子612は、端末102及び編集サーバ101が送受信するメッセージを識別するためのメッセージデータである。バージョン613は、メッセージのバージョン番号を識別するためのメッセージデータである。マルチメディアコンテンツデータ形式識別子614は、メッセージに含まれるマルチメディアコンテンツデータが素材パッケージ形式か完全パッケージ形式かを識別するための識別子である。マルチメディアコンテンツデータ615はマルチメディアコンテンツデータである。
通信部121は、マルチメディアコンテンツ応答メッセージ611の生成にあたり、次の処理を行う。
メッセージ識別子612に、マルチメディアコンテンツ応答メッセージを表す「0104」を、バージョン613に、初期バージョンを表す「0100」を、それぞれ、設定する。
また、ステップS411において、素材パッケージ形式のマルチメディアコンテンツデータを生成すると判定された場合、通信部121は、マルチメディアコンテンツデータ形式識別子614に、素材パッケージ形式を表す「0001」を設定する。通信部121は、ステップS411において、完全パッケージ形式のマルチメディアコンテンツデータを生成すると判定された場合、マルチメディアコンテンツデータ形式識別子614に、完全パッケージ形式を表す「0002」を設定する。
さらに、通信部121は、マルチメディアコンテンツデータ615に、ステップS420又はステップS421で生成されたマルチメディアコンテンツデータを設定する。
その後、通信部121は、生成されたマルチメディアコンテンツ応答メッセージ611を、端末102に送信する。
(ステップS423)
本ステップでは、端末102は、編集サーバ101から取得したマルチメディアコンテンツデータを再生する。
マルチメディアコンテンツデータの再生は、ステップS323と同じ処理である。但し、再生されたマルチメディアコンテンツデータは、コンテンツ編集画面591に含まれるコンテンツ再生エリア592に表示される。
ユーザは、再生されたマルチメディアコンテンツデータを確認する。さらにコンテンツを再編集が行われる場合は、ステップS405から処理がやり直される。コンテンツ編集を終了する場合は、ユーザが終了ボタン598を押すことにより、表示画面がマルチメディアコンテンツ編集処理選択画面に戻る。
以上で、コンテンツ編集処理の説明を終わる。
なお、本コンテンツ編集処理において、写真画像による編集処理を説明したが、動画についても、同様の処理を行うことにより編集を行うことができる。
なお、本コンテンツ編集処理において、編集サーバ101は、端末102及び端末103を認証した上でメッセージ通信を行ってもよい。これにより、マルチメディアコンテンツデータが意図しない端末に送信されることを防止することができる。さらに、編集サーバ101と端末102及び端末103との間の通信路を暗号化してもよい。これにより、通信路が盗聴されることによるマルチメディアコンテンツデータの横取りを防止することができる。
なお、ステップS408において、編集サーバ101は、端末のセキュリティレベルをセキュリティレベル値から判定したが、端末種別から判定してもよい。
なお、ステップS409において、編集サーバ101は、端末のスクリプト処理能力をスクリプト処理能力情報の値から判定したが、端末種別から判定してもよい。
なお、ステップS411及びステップS419において、端末102のスクリプト処理能力が低い場合、形式決定部122は、作成されるテンプレートデータのコンテンツ形式を完全パッケージ型に決定してもよい。これにより、再編集の自由度が減るが、表示効果をあげることができる。
なお、ステップS416において、端末102は、端末102の保持する写真を編集サーバ101に送信したが、端末102に接続されている、ユーザが所持するデジタルスチルカメラ、デジタルムービーカメラ、及び携帯電話等の機器に保持されている写真を編集サーバ101に送信してもよい。また、端末102は、ユーザが利用しているネットワークサービスに保持されている写真を編集サーバ101に送信してもよい。
なお、ステップS417において、端末102は、テンプレートに埋め込む写真を編集サーバ101に送信したが、端末102のセキュリティレベルが高い場合は、写真ファイル名のみ送信し、写真データを送信しなくてもよい。これにより、通信時間が削減される。また、ユーザの個人情報を含む写真を編集サーバ101に送信することを避けることができる。この場合、マルチメディアコンテンツデータの再生には、端末102の保持する写真データが利用される。
なお、マルチメディアコンテンツを編集するユーザ(編集ユーザ)と、マルチメディアコンテンツを再生するユーザ(送信先ユーザ)とが異なる場合にも適用できる。この場合には、ステップS417において、端末102は、送信先ユーザが保有する端末のスクリプト処理能力を、編集サーバ101に送ってもよい。これにより、編集サーバ101は、送信先ユーザが保有する端末のスクリプト処理能力に応じたマルチメディアコンテンツを生成することができる。また、このように編集サーバ101は、送信先ユーザ用のマルチメディアコンテンツを作成後、生成されたマルチメディアコンテンツを送信先ユーザに送信してもよいが、ステップS417以降を送信先ユーザの端末から実行することにより、送信先ユーザ用のマルチメディアコンテンツが生成されてもよい。その場合、ステップS417において、送信先ユーザが保有する端末のスクリプト処理能力、及びセキュリティレベルに応じたマルチメディアコンテンツを生成することができる。
なお、ステップS414及びS422において、編集サーバ101は、端末のセキュリティレベルが高い場合は、ダウンロード型配信方式でテンプレートを送信し、端末のセキュリティレベルが低い場合は、ストリーミング型配信方式でテンプレート及びマルチメディアコンテンツを送信してもよい。これにより、セキュリティレベルの低い端末におけるテンプレート及びマルチメディアコンテンツを構成する素材データの不正利用を防止することができる。
なお、ユーザは、あるマルチメディアコンテンツにおいて、そのコンテンツで利用する写真を変えることなく、デコレーション画像のみ変更したい場合は、テンプレート編集処理とコンテンツ編集処理とを順に行うことで実現できる。つまり、元のマルチメディアコンテンツで利用するテンプレートに対して、デコレーション画像を変更するテンプレート編集処理を行い、次に、編集後のテンプレートに対して、元のマルチメディアコンテンツで利用する写真を埋め込むコンテンツ編集処理を行う。このように、テンプレート編集処理とコンテンツ編集処理とを組み合わせることで多彩な処理が実現可能である。
なお、本実施の形態では、一つのテンプレートを指定してマルチメディアコンテンツを作成する例を示したが、複数のテンプレートを指定することも可能である。その場合、指定した複数のテンプレートが指定順で結合される。
例として、2つのテンプレートを結合する場合を説明する。編集サーバ101は、テンプレートの結合を、それぞれのテンプレートに含まれるメディア制御スクリプトを結合することにより行う。図44は、2つのメディア制御スクリプトを結合する場合の処理を示す図である。図44に示すように、編集サーバ101は、初期値設定部、描画処理部、及びBGM再生部のそれぞれを指定順に結合する。この処理により、2つのメディア制御スクリプトが表現するシナリオを順に再生することができる。このように結合したテンプレートを利用し、編集サーバ101は、ステップS420又はステップS421において、マルチメディアコンテンツを生成する。
なお、本実施の形態では、編集サーバ101は、スクリプト蓄積部131に蓄積されているテンプレートを利用し、テンプレート、及びマルチメディアコンテンツの編集を行ったが、編集サーバ101は、端末102に蓄積されている素材パッケージ型テンプレートを利用してもよい。このとき利用される素材パッケージ型テンプレートは、端末102が蓄積するものに限らず、端末102以外の端末、又は他のサーバが蓄積する素材パッケージ型テンプレートであってもよい。端末102に蓄積されているテンプレートを利用する場合、ユーザは、事前に端末102に蓄積されているテンプレートを編集サーバ101にアップロードすることにより、このテンプレートを編集サーバ101に登録する。編集サーバ101は、テンプレートを構成する各素材をテンプレート情報蓄積部130、スクリプト蓄積部131、及びメディアデータ蓄積部132に登録する。また、編集サーバ101は、スクリプト蓄積部131に蓄積されているテンプレートと、端末102に蓄積され、前述した端末102からのアップロードによって端末102から受信した素材パッケージ型テンプレートの両方を利用して、テンプレートの結合等の編集を行ってもよい。
また、上記説明では、編集サーバ101は、端末の処理能力に応じて、再生シナリオを変更する例を述べたが、端末の処理能力に応じて、マルチメディアコンテンツのフォーマットを変更してもよい。例えば、編集サーバ101は、端末が3D(立体視)映像の表示機能を有している場合には、3Dのマルチメディアコンテンツを生成し、端末が3D映像の表示機能を有していない場合には、2Dのマルチメディアコンテンツを生成してもよい。
以上のように、本実施の形態に係るマルチメディアコンテンツ編集システム100は、マルチメディアコンテンツ、又はマルチメディアコンテンツのテンプレートに含まれるメディア制御スクリプトを再生端末のスクリプト処理能力に応じて決定又は更新することができる。
さらに、本実施の形態に係るマルチメディアコンテンツ編集システム100は、マルチメディアコンテンツ、又はマルチメディアコンテンツのテンプレートをメディア再生機能のみ保持する再生機器向けに再構成することで、当該再生機器においてマルチメディアコンテンツ、又はマルチメディアコンテンツのテンプレートと同等の表現を再生することができる。
また、本実施の形態に係るマルチメディアコンテンツ編集システム100は、セキュリティレベルの低い再生機器において、マルチメディアコンテンツに含まれる素材の不正利用を防止することができる。
以上、本発明の一態様に係るマルチメディアコンテンツ編集システム100について、実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したもの、あるいは異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。
また、上記実施の形態に係る編集サーバ101、端末102又は端末103が備える構成要素の一部又は全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM(Read Only Memory)、RAM(Ramdom Access Memory)等を含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、システムLSIは、その機能を達成する。
つまり、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPU又はプロセッサ等のプログラム実行部が、ハードディスク又は半導体メモリ等の記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
なお、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)、あるいはLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
また、本発明は、このような特徴的な処理部を備える編集サーバ101、端末102又は端末103として実現することができるだけでなく、編集サーバ101、端末102又は端末103に含まれる特徴的な処理部をステップとする編集方法として実現することもできる。また、編集方法に含まれる特徴的な各ステップをコンピュータに実行させるコンピュータプログラムとして実現することもできる。そして、そのようなコンピュータプログラムを、CD−ROM(Compact Disc Read Only Memory)等のコンピュータ読取可能な非一時的な記録媒体又はインターネット等の通信ネットワークを介して流通させることができるのは、言うまでもない。
また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを一つの機能ブロックとして実現したり、一つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
また、上記マルチメディアコンテンツ編集方法に含まれるステップが実行される順序は、本発明を具体的に説明するために例示するためのものであり、上記以外の順序であってもよい。また、上記ステップの一部が、他のステップと同時(並列)に実行されてもよい。
以上、一つ又は複数の態様に係るマルチメディアコンテンツ編集システム及びマルチメディアコンテンツ編集サーバについて、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つ又は複数の態様の範囲内に含まれてもよい。
上記態様において説明された技術は、例えば、以下のクラウドサービスの類型において実現されうる。しかし、上記態様において説明された技術が実現される類型はこれに限られるものでない。
(サービスの類型1:自社データセンタ型)
図45は、サービスの類型1(自社データセンタ型)を示す。本類型は、サービスプロバイダ4520がグループ4500から情報を取得し、ユーザに対してサービスを提供する類型である。本類型では、サービスプロバイダ4520が、データセンタ運営会社の機能を有している。即ち、サービスプロバイダ4520が、ビッグデータの管理をするクラウドサーバ(データセンタ4503)を保有している。従って、データセンタ運営会社は存在しない。
本類型では、サービスプロバイダ4520は、データセンタ4503(クラウドサーバ)を運営及び管理している。また、サービスプロバイダ4520は、OS4502及びアプリケーション4501を管理する。サービスプロバイダ4520は、サービスプロバイダ4520が管理するOS4502及びアプリケーション4501を用いてサービス提供を行う(4504)。
(サービスの類型2:IaaS利用型)
図46は、サービスの類型2(IaaS利用型)を示す。ここでIaaSとはインフラストラクチャー・アズ・ア・サービスの略であり、コンピュータシステムを構築及び稼動させるための基盤そのものを、インターネット経由のサービスとして提供するクラウドサービス提供モデルである。
本類型では、データセンタ運営会社4510がデータセンタ4503(クラウドサーバ)を運営及び管理している。また、サービスプロバイダ4520は、OS4502及びアプリケーション4501を管理する。サービスプロバイダ4520は、サービスプロバイダ4520が管理するOS4502及びアプリケーション4501を用いてサービス提供を行う(4504)。
(サービスの類型3:PaaS利用型)
図47は、サービスの類型3(PaaS利用型)を示す。ここでPaaSとはプラットフォーム・アズ・ア・サービスの略であり、ソフトウェアを構築及び稼動させるための土台となるプラットフォームを、インターネット経由のサービスとして提供するクラウドサービス提供モデルである。
本類型では、データセンタ運営会社4510は、OS4502を管理し、データセンタ4503(クラウドサーバ)を運営及び管理している。また、サービスプロバイダ4520は、アプリケーション4501を管理する。サービスプロバイダ4520は、データセンタ運営会社4510が管理するOS4502及びサービスプロバイダ4520が管理するアプリケーション4501を用いてサービス提供を行う(4504)。
(サービスの類型4:SaaS利用型)
図48は、サービスの類型4(SaaS利用型)を示す。ここでSaaSとはソフトウェア・アズ・ア・サービスの略である。例えばデータセンタ(クラウドサーバ)を保有しているプラットフォーム提供者が提供するアプリケーションを、データセンタ(クラウドサーバ)を保有していない会社又は個人(利用者)がインターネットなどのネットワーク経由で使用できる機能を有するクラウドサービス提供モデルである。
本類型では、データセンタ運営会社4510は、アプリケーション4501を管理し、OS4502を管理し、データセンタ4503(クラウドサーバ)を運営及び管理している。また、サービスプロバイダ4520は、データセンタ運営会社4510が管理するOS4502及びアプリケーション4501を用いてサービス提供を行う(4504)。
以上いずれの類型においても、サービスプロバイダ4520がサービス提供行為を行ったものとする。また例えば、サービスプロバイダ又はデータセンタ運営会社は、OS、アプリケーション又はビックデータのデータベース等を自ら開発してもよいし、また、第三者に外注してもよい。