(57)【要約】【課題】テキスト情報がサービス利用者の印象に残るよう、視覚的効果を向上させた状態で利用者に提示する技術を提供することである。【解決手段】実施形態の動画生成サーバは、テキストデータまたは静止画像のいずれか一方または両方の素材データを取得する取得部と、ユーザが編集可能なスクリプトコードを取得し、そのスクリプトコードに従い事前に定義される動画データ内で素材データが動くように、動画データの各フレームに素材データを埋め込んだ動画データを作成する制御部と、を有する。【選択図】図２
2016127513.tif 000002
【特許請求の範囲】
【請求項１】
テキストデータまたは静止画像のいずれか一方または両方の素材データを取得する取得部と、
ユーザが編集可能なスクリプトコードを取得し、該スクリプトコードに従い事前に定義される動画データ内で前記素材データが動くように、前記動画データの各フレームに前記素材データを埋め込んだ動画データを作成する制御部と、
を有する動画生成サーバ。
【請求項２】
請求項１に記載の動画生成サーバにおいて、
前記事前に定義される動画データは、シーンに応じて複数に分割された分割動画データであり、
前記制御部は、前記スクリプトコートに従い、分割動画データ各々に、対応した前記素材データを埋め込み、埋め込み後の分割動画データを統合した動画データを作成する
動画生成サーバ。
【請求項３】
請求項１または２に記載の動画生成サーバにおいて、
前記制御部は、埋め込み後の動画データを、規定フォーマットの１つのファイルとなるように作成する
動画生成サーバ。
【請求項４】
請求項１乃至３のいずれか１項に記載の動画生成サーバにおいて、
前記テキストデータは、個人データを含み、
前記制御部は、前記スクリプトコードに従い前記個人データの素材データが動くように動画データに埋め込む
動画生成サーバ。
【請求項５】
請求項１乃至４のいずれか１項に記載の動画生成サーバにおいて、
前記スクリプトコードは、条件分岐を実行するコードを含み、
前記制御部は、前記スクリプトコード内の条件分岐に従い、素材データ自体または素材データの動きのいずれか一方または両方を異ならせて前記動画データに埋め込む
動画生成サーバ。
【請求項６】
請求項１乃至５のいずれか１項に記載の動画生成サーバにおいて、
前記制御部は、さらに、前記事前に定義される動画データの音声データに、音声素材データを合成した動画データを作成する動画生成サーバ。
【請求項７】
コンピュータに実行させるための動画生成プログラムであり、
テキストデータまたは静止画像のいずれか一方または両方の素材データを取得し、
ユーザが編集可能なスクリプトコードを取得し、
該スクリプトコードに従い事前に定義される動画データ内で前記素材データが動くように、前記動画データの各フレームに前記素材データを埋め込んだ動画データを作成する
処理を、コンピュータに実行させるための動画生成プログラム。
【請求項８】
コンピュータが、
テキストデータまたは静止画像のいずれか一方または両方の素材データを取得し、
ユーザが編集可能なスクリプトコードを取得し、
該スクリプトコードに従い事前に定義される動画データ内で前記素材データが動くように、前記動画データの各フレームに前記素材データを埋め込んだ動画データを作成する
処理を実行する動画生成方法。
【請求項９】
テキストデータまたは静止画像のいずれか一方または両方の素材データを取得し、
ユーザが編集可能なスクリプトコードを取得し、該スクリプトコードに従い事前に定義される動画データ内で前記素材データが動くように、前記動画データの各フレームに前記素材データを埋め込んだ動画データを作成する第１サーバと、
前記第１サーバが作成した埋め込み後の動画データを取得し、該動画データに含まれた個人データの提供者に配信する第２サーバと、
を有する動画生成システム。
【請求項１０】
請求項９に記載の動画生成システムにおいて、さらに、
個人データを蓄積して記憶する記憶部から、処理対象となる個人データを取得し、該個人データから前記動画データに埋め込む値を抽出し、または前記個人データに含まれる値に基づき前記動画データ埋め込みの際に用いられる値を作成し、これら値を個人データとして前記第１サーバに送信する第３サーバを有し、
前記第１サーバは、前記第３サーバから送信される個人データを受信する
動画生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、テキストデータや静止画像などの素材データを、動画データに埋め込む技術に関する。
【背景技術】
【０００２】
インターネット上では、ネットを利用する利用者の生成、撮影した動画の配信が日常的に行われている。動画のフォーマットとしては、フラッシュ形式のものや、Ｍｐｅｇ４、ｗｅｂｍ、ａｖｉなど、様々なものが存在する。
【０００３】
また一方で、サービス利用者の個人に関するデータを蓄積、加工し、サービス利用者からの要望や規定日時の経過などにより、個人データをその利用者に提供するシステムも存在する。また、個人データを基にして作成された統計データ等を提供するシステムも存在する。これら各システムの提供する提供媒体としては、インターネットなどのネットワークを介した配信や、光学ディスク等のメディア、または紙媒体を介した手渡し、郵送などがある。
【０００４】
関連技術として、以下の文献が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−６６３０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
例えば個人データなどのテキスト情報をユーザに提示する場面において、単なる文字列の提示やデータの羅列、リストを提示しても、サービス利用者の視覚に訴えるものがない。
【０００７】
本発明が解決しようとする課題は、テキスト情報がサービス利用者の印象に残るよう、視覚的効果を向上させた状態で利用者に提示する技術を提供することである。またサービス利用者に提示するデータを利用者ごとに異ならせるように作成し、且つ容易に作成することができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
実施形態の動画生成サーバは、テキストデータまたは静止画像のいずれか一方または両方の素材データを取得する取得部と、ユーザが編集可能なスクリプトコードを取得し、そのスクリプトコードに従い事前に定義される動画データ内で素材データが動くように、動画データの各フレームに素材データを埋め込んだ動画データを作成する制御部と、を有する。
【０００９】
実施形態の動画生成プログラムは、コンピュータに実行させるための動画生成プログラムであり、テキストデータまたは静止画像のいずれか一方または両方の素材データを取得し、ユーザが編集可能なスクリプトコードを取得し、そのスクリプトコードに従い事前に定義される動画データ内で素材データが動くように、動画データの各フレームに素材データを埋め込んだ動画データを作成する処理を、コンピュータに実行させる。
【００１０】
実施形態の動画生成方法は、コンピュータが、テキストデータまたは静止画像のいずれか一方または両方の素材データを取得し、ユーザが編集可能なスクリプトコードを取得し、そのスクリプトコードに従い事前に定義される動画データ内で素材データが動くように、動画データの各フレームに素材データを埋め込んだ動画データを作成する処理を実行する。
【００１１】
実施形態の動画生成システムは、第１サーバと、第２サーバとを有する。第１サーバは、テキストデータまたは静止画像のいずれか一方または両方の素材データを取得し、ユーザが編集可能なスクリプトコードを取得し、そのスクリプトコードに従い事前に定義される動画データ内で素材データが動くように、動画データの各フレームに素材データを埋め込んだ動画データを作成する。第２サーバは、第１サーバが作成した埋め込み後の動画データを取得し、その動画データに含まれた個人データの提供者に配信する。
【００１２】
またこのような動画生成サーバ、プログラム、方法、システムは、上記スクリプトコードに従い、事前に定義される動画データ内の音声と、音声素材とを合成することも可能である。
【発明の効果】
【００１３】
サービス利用者の印象に残るように、視覚的効果を向上させた状態で情報を提示することができる。
【図面の簡単な説明】
【００１４】
【図１】実施形態の構成例を示す図である。
【図２】実施形態の動画生成サーバの内部構成例を示すブロック図である。
【図３】実施形態のデータ加工サーバの動作例を示すフローチャートである。
【図４】実施形態の動画生成サーバの動作例を示すフローチャートである。
【図５】実施形態の動画生成エンジンによる１ファイルの動画を出力する動作例を示すフローチャートである。
【図６】実施形態の動画生成エンジンによる文字合成処理を説明する図である。
【図７】実施形態の動画生成エンジンによる文字合成処理を説明する図である。
【図８】実施形態の動画生成エンジンによる文字合成処理を説明する図である。
【図９】実施形態の動画生成エンジンによる画像合成処理を説明する図である。
【図１０】実施形態の動画生成エンジンによる画像合成処理を説明する図である。
【図１１】実施形態の動画生成エンジンによる画像合成処理を説明する図である。
【図１２】実施形態の動画生成エンジンによる音声合成処理を説明する図である。
【図１３】実施形態の動画生成エンジンによる音声合成処理を説明する図である。
【図１４】実施形態の動画生成エンジンによる動画結合処理を説明する図である。
【図１５】スクリプト例を示す図である。
【図１６】スクリプト例を示す図である。
【図１７】スクリプト例を示す図である。
【発明を実施するための形態】
【００１５】
実施形態のシステムでは、データベースに格納される各個人の個人データに基づき、各個人にパーソナライズされた動画を生成し、配信する。実施形態のシステムは、動画データにテキストや静止画像の素材データを埋め込ませ、１つの動画ファイルを作成する。すなわち、埋め込み後の作成動画を再生する場合、必要となるデータは当該１ファイルのみとなる。よって実施形態のシステムが提供する動画は、フラッシュ動画のファイル構成（複数ファイルにより構成され、これら各ファイルが揃って初めて動画として機能する）とは異なる。また素材データをアニメーション表現により動かすことで、見栄えが良くなり、視覚的効果を期待することができる。
【００１６】
動画生成用のモジュールは、動画処理を行うエンジン部分のプログラムと、必要な要素を制御するスクリプトの２つで構成される。またエンジン部分のプログラムを起動制御するためのプログラムもシステム内に含まれる。実施形態のシステムは、与えられたパラメータに応じて、また動画の要素（背景動画、テキスト、画像、音声）を、スクリプトに記述された処理（分岐、位置やサイズ、透過度の指定、処理中断）に応じて、動画の１フレームごとに画像合成を行い、動画を生成する。
【００１７】
実施形態のプログラムは、ユーザの手動操作に応じて動作するイベント駆動型のグラフィカルユーザインターフェイス（ＧＵＩ）ではなく、コマンドラインインターフェイス（ＣＬＩ）として提供される。よって、ユーザの手動を介すことなく、スケジューラに登録してバッチ処理にて動作させることが可能となる。これにより、遠隔地、無人で動画を生成することができる。また本実施形態のシステムでは、動画の合成内容を予め用意されたスクリプトによって制御することが可能であるため、スクリプトに対してデータベース等を利用してパラメータを与えることで、自動化を図ることができる。スクリプトはテキストベースであるため、ユーザが直接的にスクリプトに対し修正、変更することが可能である。よって、動画内の素材データの動きを変えたい場合は、このスクリプトを編集することで、容易にその挙動を変更することができる。尚、ここでのユーザとは、サービスを提供する側の者であり、具体的にはシステム運用管理者、システム開発者とするが、メンテナンス者や点検者でも構わない。
【００１８】
実施形態では、個人毎に違うパラメータ（個人属性、個人情報）を動画に自動的に反映するために、パラメータに応じて用意されたスクリプト制御を実行可能とする。スクリプトは、与えられたパラメータによって、読込む背景動画、テキスト内容、読込む画像を切り替えたり、演出内容を変更したりすることが可能となっている。これにより、大量のユーザに対し、各々別の内容の動画を生成することが可能となっている。
【００１９】
以下、図面を参照しつつ実施形態について説明する。図１は、実施形態の動画生成システムの構成例およびデータの流れを示した図である。動画生成システム１は、業務システム２００、データベースサーバ１０１、データ加工サーバ１０２、動画生成サーバ１０３、ストレージ装置１０４、配信サーバ１０５を有する。これら各ユニットは、不図示のネットワークを介して互いにデータ送受信を行うことができる。
【００２０】
業務システム２００は、商品在庫の管理、財務管理、および、個人データ（個人情報や個人の属性データ）の入出力や管理などを担う基幹システムである。業務システム２００は、１つもしくは複数のサーバにより構成されている。尚、業務システム２００は、Ｗｅｂサーバを含み、インターネットを介してサービスを提供するシステムでもよい。サービス利用者により直接入力される個人データ、もしくは入力値に基づき得られる個人データは、データベースサーバ１０１に累積的に格納される。個人データとしては、管理用の個人ＩＤや氏名、年齢、性別、住所や電話番号、Ｅメールアドレスなどの個人情報、購買履歴、商品の閲覧履歴などがある。データベースサーバ１０１は、これら各種個人データを業務システム２００より取得し、永続的に記憶する。データベースサーバ１０１には、ＲＤＢＭＳ（Relational Database Management System）が事前に導入されており、このＲＤＢＭＳにより個人データを管理するものとするが、他の機構でデータを管理してもよい。
【００２１】
データ加工サーバ１０２は、データベースサーバ１０１に蓄積されている個人データのうちで処理対象となるデータを取得し、当該個人データを、後続の動画生成サーバ１０３が処理しやすいように加工する。データ加工サーバ１０２は、個人データの中から動画データに埋め込む値を抽出する。またデータ加工サーバ１０２は、個人データに含まれる値に基づき、後続の動画データ埋め込み処理の際に用いられる値を作成する。データ加工サーバ１０２は、抽出、作成した値を動画生成サーバ１０３に送信する。データ加工サーバ１０２の詳細動作については後述する。
【００２２】
動画生成サーバ１０３は、データ加工サーバ１０２により加工された個人データを受信し、個人データの各値を、事前に定義される動画（以降、背景動画と称す）に埋め込む。また動画生成サーバ１０３は、事前に定義される静止画像も背景動画に埋め込む。個人データや静止画像は、埋め込みの際に、回転、移動、拡大／縮小、透過度変化など視覚効果を高めるためのエフェクトが付与される。また動画生成サーバ１０３は、背景動画内の音声と、音声素材とを合成することも可能である。
【００２３】
動画生成サーバ１０３は、単一のファイルとなるように、規定フォーマットで動画データを生成し、個人データに対応付けた状態で、生成後の動画ファイルをストレージ装置１０４に送信する。動画生成サーバ１０３の詳細については後述する。
【００２４】
ストレージ装置１０４は、ネットワークを介してデータを受信し、記憶する外部記憶装置である。ストレージ装置１０４は、本例ではＮＡＳ（Network Attached Storage）とするが、ＳＡＮ（Storage Area Network）で用いられるストレージ装置やファイルサーバでもよい。ストレージ装置１０４は、埋め込み処理後の動画データを１つのファイルとして格納し、またこの動画ファイルと個人データとを対応付けて記憶する。対応付けは、例えば個人データの識別情報を動画ファイルのファイル名に含ませる実装や、個人データの識別情報をフォルダ名にし、当該フォルダの中に動画ファイルを格納する実装、対応テーブルを用いる実装など、様々なものがある。尚、本実施形態ではストレージ装置１０４を有する構成としたが、外部のクラウドストレージサービスを利用して、当該クラウドに動画ファイルを格納する実装でも構わない。
【００２５】
配信サーバ１０５は、埋め込み後の動画ファイルをサービス利用者に配信するサーバである。配信サーバ１０５は、サービス利用者の要求に応じて、または動画ファイルができ次第、当該サービス利用者に一致した動画ファイルを配信する。配信サーバ１０５は、ＨＴＴＰプロトコルを用いたＷｅｂベースでサービス利用者所有のＰＣ（パーソナルコンピュータ）に動画を配信したり、ダウンロード可能にしたりする。これ以外にも、事前に登録されたＥメールアドレスに動画ファイルを送信する実装でもよい。
【００２６】
上記例では、各サーバを１筐体ずつとした構成としているが、処理の負荷を分散させるため複数サーバを有する並列化した構成としてもよい。また、仮想マシンを導入してサーバ筐体の台数を減らした構成としてもよい。
【００２７】
またストレージ装置１０４に動画ファイルを記憶させず、サービス利用者から要求があり次第、動画生成サーバ１０３がリアルタイムで動画データを作成し、直接配信サーバ１０５に送信してサービス利用者にストリーミング配信することも可能である。
【００２８】
図２は、動画生成サーバ１０３の内部構成例を示した図である。動画生成サーバ１０３のハードウェア構成は、現存するコンピュータと同様であり、演算処理装置であるプロセッサ３０１、主記憶装置であるメモリ３０２、補助記憶装置であるＨＤＤ（ハードディスクドライブ）３０３を有する。また動画生成サーバ１０３は、外部ユニットの通信を制御するネットワークＩＦ（インターフェイス）３０４、モニタ３０５、入力デバイス３０６（キーボード、マウスなど）、メディア読取デバイス３０７を有する。尚、データ加工サーバ１０２や配信サーバ１０５も、図２に示すハードウェア構成を有する。
【００２９】
ＨＤＤ３０３には、実施形態の態様を実現するためのプログラムが事前に記憶されている。本例では、サービスモジュール３１１、動画生成エンジン３１２の各プログラムが事前に記憶されている。これらプログラムの導入は、インストール用の外部メディア３２０（ＣＤ−ＲＯＭやＤＶＤなど）をメディア読取デバイス３０７で読み取り、ＨＤＤ３０３に記憶させる方法や、ネットワークＩＦ３０４を介してダウンロードしてＨＤＤ３０３に記憶させる方法などがある。
【００３０】
ＨＤＤ３０３に記憶されているサービスモジュール３１１は、いずれの個人データが処理待ちであるか、処理中であるか、処理完了であるかの進行情報を、フラグデータを用いて制御するとともに、動画生成エンジン３１２に必要なパラメータを渡して起動するプログラムである。進行情報は、本例ではデータベースサーバ１０１の個人データを記憶したテーブルに、フラグ管理用のカラムを設け、このフラグ値を更新することで管理する。
【００３１】
動画生成エンジン３１２は、サービスモジュール３１１により起動され、スクリプト３１３に基づき、テキストや静止画像の素材データを埋め込む。動画生成エンジン３１２は、スクリプト３１３の記述に従い、背景動画内で素材データが動くように埋め込む。
【００３２】
スクリプト３１３は、機械語などに比べて容易に習得できる言語を用いて記述された命令コードであり、テキストファイルである。テキストファイルであるため、ユーザはスクリプト３１３を直接編集することができる。すなわち、ユーザは、素材データの動画内の挙動を直接的に修正、変更させることができる。このようなスクリプトを複数作成しておき、ＨＤＤ３０３に導入しておいてもよい。
【００３３】
図３は、データ加工サーバ１０２の動作例を示すフローチャートである。図３のフローチャートの説明において、動作主体をデータ加工サーバ１０２として説明するが、実際は、データ加工サーバ１０２内のプロセッサが、補助記憶装置（ＨＤＤなど）に事前に記憶されているプログラムやデータをメモリに展開し、演算実行することで実現される。
【００３４】
データ加工サーバ１０２は、動画生成対象となる個人データ群をデータベースサーバ１０１から抽出する（Ｓ００１）。データ加工サーバ１０２は、データベースサーバ１０１に記憶されている各個人データの進行情報フラグ（処理待ち／処理中／処理完了）を参照することで、処理待ち状態の個人データ群を抽出する。データ加工サーバ１０２は、得られた個人データ群の中から１つの個人データをさらに抽出し（Ｓ００２）、当該個人データについての分析処理を行う（Ｓ００３）。この分析処理は、実際に動画に埋め込むデータを抽出する処理や、個人データに含まれる値に基づき、後続の動画データ埋め込みの際に用いられる値を作成する処理であったりする。動画データ埋め込みの際に用いられる値とは、購入金額など実際に得られた値、何らかの処理により求められた値、個人データに応じた区分データなどであったりする。区分データの具体例としては、性別や職業種別、年齢層、住んでいる地域の区別、購入、閲覧した商品の種別（例えば衣類、雑貨、食糧品などの区別であり、更に細分化した項目でもよい）などのカテゴライズされたデータである。動画生成サーバ１０３のスクリプト３１３では、条件分岐制御を行うことができ、実際に得られた値、処理上求められた値やカテゴライズされたデータに従い、例えば素材データの動きを個人ごとに異ならせたり、素材データそのものを変えたりすることができる。
【００３５】
データ加工サーバ１０２は、分析処理により得られる、動画生成に必要なデータを１つの個人データとしてまとまるように加工し（Ｓ００４）、動画生成サーバ１０３に出力する（Ｓ００５）。例えば、動画にサービス利用者の氏名を組み入れる場合はその氏名が必要なデータとなり、購入商品を動画に組み入れる場合は購入商品名やその識別情報が必要なデータとなる。また管理上やスクリプト処理上の理由から、サービス利用者のユーザＩＤやカテゴライズされたデータも必要なデータとなる。またＳ００５のデータ出力については、加工データを作成したときにダイレクトに動画生成サーバ１０３に送信してもよいし、一旦加工データをファイルにして補助記憶装置に記憶させ（ＲＤＢＭＳで管理してもよい）、必要に応じて動画生成サーバ１０３にファイルデータを送信してもよい。尚、動画生成サーバ１０３では、受信したデータをバッファ領域に一旦蓄積する。
【００３６】
データ加工サーバ１０２は、処理対象となる個人データがなくなるまでＳ００２〜Ｓ００５の処理を繰り返し（Ｓ００６−Ｎｏのループ）、個人データが無くなると（Ｓ００６−Ｙｅｓ）、処理終了となる。
【００３７】
次に、動画生成サーバ１０３の動作例を示すフローチャートを図４に示す。図４のフローチャートの説明も、動作主体を動画生成サーバ１０３として説明するが、実際は、図２に示すプロセッサ３０１が、ＨＤＤ３０３に事前に記憶されているサービスモジュール３１１、動画生成エンジン３１２、スクリプト３１３、およびデータをメモリに展開し、演算実行することで実現される。尚、図４のＳ１０１〜Ｓ１０５はサービスモジュール３１１を実行することで実現され、Ｓ２０１〜Ｓ２１７は動画生成エンジン３１２を実行してスクリプト３１３を用いることで実現される。
【００３８】
動画生成サーバ１０３は、データ加工サーバ１０２より送信される加工済みの個人データ群をバッファから抽出する（Ｓ１０１）。動画生成サーバ１０３は、サービス利用者のユーザＩＤに基づき、１個人分の加工済みデータを抽出し（Ｓ１０２）、動画生成エンジン３１２を起動させて動画生成処理を実行する（Ｓ１０３）。動画生成処理が終了したら、動画生成サーバ１０３は、次のユーザＩＤの取得を試み（Ｓ１０４）、得られない場合は処理終了となり（Ｓ１０５−Ｙｅｓ）、得られた場合はそのユーザＩＤに基づきＳ１０２〜Ｓ１０４の処理を実行する（Ｓ１０５−Ｎｏのループ）。
【００３９】
引き続きＳ１０３の動画生成処理の詳細について説明する。動画生成サーバ１０３は、動画生成エンジン３１２のコード指令に従いスクリプト３１３の初期化およびロードを行う（Ｓ２０１）。ここでは、スクリプトが配置されているディレクトリの指定やスクリプト名、スクリプトを実行する際に必要な環境変数の読み込みなどを行い、スクリプト３１３をメモリ３０２にロードする。動画生成エンジン３１２は、スクリプト３１３を実行する（Ｓ２０２）。以降のＳ２０３〜Ｓ２１６は、スクリプト３１３のコードに従った動作となる。
【００４０】
動画生成サーバ１０３は、背景動画を読み込む（Ｓ２０３）。背景動画は、本例ではＨＤＤ３０３に事前に記憶されているものとするが、他の外部装置、例えばストレージ装置１０４に背景動画を記憶させておき、それを読み込む実装でもよい。動画生成サーバ１０３は、読み込んだ背景動画を静止画（フレーム）に分割し、処理対象の１フレームを取得する（Ｓ２０３）。単位時間当たりのフレーム数であるフレームレート（ｆｐｓ）は、スクリプト３１３内で定義されている。すなわち、ユーザがスクリプト３１３内でフレームレートを指定することができる。本例ではフレームレートを２０ｆｐｓとする。動画生成サーバ１０３は、２０フレームで１秒となる間隔でフレーム分割し、処理対象となる１フレームを取得する。以降の説明では、素材データの静止画像との混同を避けるため、背景動画の静止画をフレームと称し、素材データの静止画像を素材画像と称する。
【００４１】
動画生成サーバ１０３は、素材画像を、ＨＤＤ３０３や外部装置から読み込み（Ｓ２０５）、処理対象のフレームに対応した素材画像をそのフレームに埋め込んで合成する（Ｓ２０６）。また動画生成サーバ１０３は、テキストを読み込み（Ｓ２０７）、Ｓ２０５で得られるフレームに、対応したテキストをそのフレームに埋め込んで合成する（Ｓ２０８）。このテキストデータは、受信した加工済みの個人データであり、例えばサービス利用者の氏名や購入商品名などのテキストデータである。尚、いずれのフレームにいずれの素材データを埋め込むかは、スクリプト３１３内での条件分岐制御やスクリプト３１３に渡されるパラメータで指定される。
【００４２】
動画生成サーバ１０３は、背景動画に含まれる音声データをコマごとに分割し、分割後のコマ切れ音声データを１つ取得する（Ｓ２０９）。ここでの１コマは、フレームとフレームとの間の時間間隔であり、動画生成サーバ１０３は、本例では１／２０秒間隔で音声データを分割する。また動画生成サーバ１０３は、音声素材ファイルをＨＤＤ３０３や外部装置から読み込み（Ｓ２１０）、この音声素材データをコマ単位に分割する（Ｓ２１１）。動画生成サーバ１０３は、背景動画に基づく音声データ（１コマ分）と、音声素材ファイルに基づく音声データ（１コマ分）とを合成する（Ｓ２１２）。尚、背景動画のいずれのコマ切れ音声データに音声素材ファイルのコマ切れ音声を合成するかについては、スクリプト３１３内での条件分岐制御やスクリプト３１３に渡されるパラメータで指定される。
【００４３】
動画生成サーバ１０３は、合成後のコマ切れ音声データを規定のフォーマット（ＡＡＣ／Ｖｏｒｂｉｓ等）にエンコードする（Ｓ２１３）。また動画生成サーバ１０３は、Ｓ２０８で得られる合成後のフレームに、Ｓ２１３で得られるエンコード後のコマ切れ音声データを統合して規定の動画フォーマット（例えばＭｐｅｇ４／ＶＰ８／ＶＰ９）にエンコードする（Ｓ２１４）。尚、ここで生成される動画データは、１フレーム分にコマ切れ音声データを統合した動画データである。動画生成サーバ１０３は、エンコード結果をＨＤＤ３０３のテンポラリ領域またはストレージ装置１０４にファイル出力する（Ｓ２１５）。動画生成サーバ１０３は、最終フレームに到達したかを判定し（Ｓ２１６）、到達していない場合（Ｓ２１６−Ｎｏ）、処理対象のフレーム番号を１つインクリメントさせてＳ２０３に処理を戻す。尚、２周目以降のＳ２１５のファイル出力は、既に作成したエンコード結果のファイルに追記される。最終フレームに到達している場合（Ｓ２１６、Ｙｅｓ）、動画生成サーバ１０３は、スクリプトの動作を終了させる（Ｓ２１７）。
【００４４】
Ｓ２０１〜Ｓ２１７の処理により、各フレームについてのコマ切れ動画ファイルが生成され、追記でファイル出力することで、一まとまりのデータが作成される。尚、Ｓ２０１〜Ｓ２１６のループごとにコマ切れファイルを作成し、最後に統合する実装でもよい。
【００４５】
このように作成されるデータを、規定フォーマットの１つの動画ファイルにする動作例を図５に示す。動画生成サーバ１０３は、図４のＳ２０１〜Ｓ２１７により文字合成、画像合成、音声合成した結果のファイルを取得する（ＡＣＴ４０１）。動画生成サーバ１０３は、出力フォーマットを設定し（Ｓ４０２）、設定されたフォーマットにデコードする（Ｓ４０３）。本例では、Ｍｐｅｇ４、ＶＰ８、ＶＰ９のフォーマットにデコードするものとし、いずれのフォーマットにするかは事前に定義されている。尚、Ｍｐｅｇ４、ＶＰ８、ＶＰ９以外でも構わない。動画生成サーバ１０３は、最後にファイル出力して（Ｓ４０４）、終了となる。図５の動作を実行した後は、図４のＳ１０４に処理を移す。
【００４６】
次に、図６〜図１４までを用いて、背景動画に対する合成処理を例示する。図６は、背景動画のフレーム番号３以降に、「テキスト」という文字列の素材データを埋め込んだ例である。スクリプト３１３では、ｉｆ文による条件分岐処理を行うことが可能であり、動画生成サーバ１０３は、フレーム番号が３より大きいか否かをｉｆ文で判定することで、フレーム番号３以降に「テキスト」の文字列を埋め込む。
【００４７】
また図７に示すように、スクリプト３１３では、テキストデータのオブジェクトを生成する際、フォントやサイズ、文字色の指定（ＲＧＢそれぞれ２５６階調のフルカラー指定）、右揃え、左揃えの指定もパラメータで行うことができる。またスクリプト３１３内で、現在処理中のフレーム番号を判定する条件判定（ｉｆ文）を記述しておき、フレームごとに異なるオブジェクトパラメータを指定することで、例えば動画の進行につれて文字色を変化させたり、フォントサイズを徐々に大きく（または小さく）させたりすることも可能となる。
【００４８】
図８は、背景動画（フレーム）に対するテキストデータの位置指定やテキストデータの透過度指定について説明する図である。これらも、スクリプト３１３でテキストデータのオブジェクトを生成する際に指定することができる。本例では、図８（Ａ）に示すように、背景動画の中心位置を基準座標（０，０）としている。背景動画の横サイズが６４０ピクセル、縦サイズが４８０ピクセルである場合は、四隅がそれぞれ（−３２０，２４０）、（３２０，２４０）、（−３２０，−２４０）、（３２０，−２４０）となる。動画生成サーバ１０３は、この基準座標や座標軸を用いてテキストの配置位置を設定する。動画生成サーバ１０３は、テキストデータのオブジェクトを作成する際、座標を指定することで、テキストオブジェクトの中心が指定座標となるように、フレームにテキストを合成する（図８（Ｂ）参照）。またフレーム番号に応じた条件分岐をスクリプト３１３内に記述しておき、フレーム毎に座標軸を変更して描画させることで、動画内でテキストデータを縦横方向、斜め方向にスライド移動させることも可能である。またテキスト画像については、０％〜１００％の範囲で透過度を指定することも可能である。
【００４９】
図６〜図８で説明したテキストデータの各合成は、それぞれ組み合わせることも可能である。よって、特に強調したいテキストオブジェクトに関しては、動画内で視覚に訴える効果的な動きとなるように制御することができる。また、スクリプト３１３内でｉｆ文を使うことで、フレーム番号以外にも、個人データより得られるユーザＩＤ、性別や職業、年齢層、住んでいる地域、購入、閲覧した商品の種別、データ加工サーバ１０２により分析されたカテゴリ結果などに応じて、フォントサイズ、文字色、位置や透過度などを異ならせる実装も可能である。
【００５０】
次に、背景動画（フレーム）に対しての静止画像の埋め込み合成について説明する。図９は、背景動画のフレーム番号３以降に、静止画像を埋め込んだ例である。本例もまた、フレーム番号に対してｉｆ文による条件分岐をスクリプト３１３に記述しておくことで、指定したフレーム番号以降に静止画像を埋め込むことができる。尚、素材データの静止画像は、アルファチャネルを設定することができる画像ファイルとする。スクリプト３１３内で静止画像オブジェクトを作成する際、動画生成サーバ１０３は、当該余白領域を透過させるように静止画像を埋め込む。
【００５１】
図１０は、条件に応じて埋め込む静止画像を異ならせることを説明する図である。静止画像を事前に複数用意しておき、スクリプト３１３では、条件分岐に従い複数画像の中から埋め込む画像を指定する。例えば個人データより得られる、ユーザＩＤや性別、職業、年齢層、住んでいる地域、購入、閲覧した商品の種別、データ加工サーバ１０２により分析されたカテゴリ結果などをｉｆ文で比較するコードをスクリプト３１３に記述しておく。これにより、動画生成サーバ１０３は、条件に応じた静止画像を動画に埋め込むことができる。
【００５２】
また応用例として、数値データをグラフや分布図などにし、これを静止画像として動画に埋め込むことも可能である。グラフや分布図をアニメーションにすることも当然可能である。
【００５３】
また静止画像については、図１１に示すように、拡大／縮小、位置、回転、透過度の指定などを行うことができ、これらを組み合わせるとも可能である。これらは、スクリプト３１３内で静止画像オブジェクトに対して指定する。条件分岐によりフレーム番号や個人データに応じて、これらの値を異ならせるように各フレームに埋め込むことで、動画生成サーバ３１３は、静止画像の動きを制御することができる。
【００５４】
動きの制御として、例えば静止画像を徐々に拡大することで、静止画像が迫ってくる動画を作成することができ、また静止画像の透過度を徐々に変化させることで、背景動画を残したまま静止画像をフェードイン、フェードアウトさせることができる。このような制御は、図６〜図８で説明したテキストデータにも適用することができる。このような効果も、スクリプト３１３に記述することで、ユーザが任意に動作を指定することができる。
【００５５】
図１２は、背景動画内の音声と、合成対象の音声（音声素材と称する）との合成方法を説明する図である。図１２の例では、３フレーム目から５フレーム目の直前までの背景動画内の音声を断片化して抜き出し、この断片化音声と音声素材とを合成する。そして、合成後の断片化音声を元の背景動画内に戻す。いずれのフレームを抜き出すかについては、スクリプト内での指定やスクリプト３１３へ渡すパラメータで指定することができる。
【００５６】
音声合成もまた、図１３に示すように、ｉｆ文を用いることで条件に応じて埋め込む音声素材を変更させることができる。例えば個人データの値に基づき条件分岐させる実装が可能である。音声素材となる音声ファイル（図１３の例では音声ファイルＡ、Ｂ）を事前に複数用意しておき、動画生成サーバ３１３は、スクリプト３１３内の条件分岐に従い、いずれの音声ファイルと背景動画音声とを合成するかを制御する。
【００５７】
また、サービス利用者に提供する１まとまりの最終形態の動画（ここではコンテンツ動画と称す）は、複数の場面（シーンと称す）により構成されていることが多い。本実施形態では、事前にシーンごとの分割背景動画を作成しておき、これらを最終的に結合することが可能である。図１４の例は、背景動画Ａ（車の動画）、背景動画Ｂ（自転車の動画）の２つの分割背景動画を事前に用意した例である。実施形態では、これらの２つの動画を結合して、１つのコンテンツ動画として生成する。また分割背景動画それぞれの識別情報に応じて、埋め込むテキストデータや静止画像をスクリプト３１３内で定義しておき、分割背景動画の識別情報を条件として制御することで、分割背景動画に応じて埋め込む素材データを異ならせたり、動きを異ならせたりする。
【００５８】
シーンの切り替えの応用例として、トランジション効果を付与することも可能である。例えば前段シーンをスライド移動させて後段シーンに切り替えたり、ページをめくる様にして後段シーンに切り替えたりなどの効果を付与することもできる。
【００５９】
次に、スクリプト３１３の一例を図１５〜図１７に示す。図１５〜図１７に示すスクリプトは、一連の一つのスクリプトとなっている。また、「――」は、コメント文となっている。
【００６０】
（パラメータ設定）
０００１行〜０００４行では、エンコードパラメータを設定している。ここでは、出力する動画のフレーム幅、フレーム高、フレームレート（ｆｐｓ）、ビットレート等を設定する。
０００５行〜０００９行では、出力する音声のサンプリングレート、量子化ビット数、チャネル数（アナログ／ステレオ）、ビットレート、ディレイ（動画に対しての遅延サンプリング数）などを設定している。
【００６１】
次のＩＮＩＴＩＡＬＩＺＥ関数およびＣＯＭＰＯＳＥ関数は、動画生成エンジン３１２から呼び出される関数であり、必須関数となっている。
（ＩＮＩＴＩＡＬＩＺＥ関数）
フレームの初期化、動画パートの初期化を行う関数であり、エンコードを開始する前に一度だけ呼び出される。
（ＣＯＭＰＯＳＥ関数）
各フレームの描画およびサウンド合成のために毎回呼び出される関数である。本例では、処理対象の動画パート数が０（例えば図１４の背景動画Ａ）の場合はａｄｄ＿ｐａｒｔ＿ａ関数を呼び出し、動画パート数が１（例えば図１４の背景動画Ｂ）の場合はａｄｄ＿ｐａｒｔ＿ｂ関数を呼び出す。またＣＯＭＰＯＳＥ関数には引数として変数ｆｒａｍｅの値が渡される。
【００６２】
（ａｄｄ＿ｐａｒｔ＿ａ関数）
ＣＯＭＰＯＳＥ関数から呼び出される関数であり、指定された動画素材を出力動画に追加するパートの処理である。ｐａｒｔ＿ａ．ｗｍｖを出力動画に追加する。
（ａｄｄ＿ｐａｒｔ＿ｂ関数）
ＣＯＭＰＯＳＥ関数から呼び出される関数であり、指定された動画素材を出力動画に追加するパートの処理である。ｐａｒｔ＿ｂ．ｗｍｖを出力動画に追加する。
【００６３】
以下、ａｄｄ＿ｐａｒｔ＿ａ関数、ａｄｄ＿ｐａｒｔ＿ｂ関数で使用される関数を列記する。
・ＳＯＵＲＣＥ．ｏｐｅｎ（ｔｙｐｅ，ｒｅｓｏｕｒｃｅ，ｐａｒａｍｓ）
入力リソースをオープンし、以降に読み込みを行うためのハンドルを返す。ｔｙｐｅには、動画（ｍｏｖｉｅ）、連番画像（ａｎｉｍａｔｉｏｎ）、静止画（ｉｍａｇｅ）、テキスト（ｔｅｘｔ）、サウンド（ｓｏｕｎｄ）を指定することが可能である。テキストタイプの場合、具体的な文字列、フォント種別、サイズ、透過度などもここで指定される。
・ＦＲＡＭＥ．ｃｏｍｐｏｓｅ（ｓｏｕｒｃｅ，ｘ，ｙ）
バッファにｓｏｕｒｃｅで指定された入力画像を合成する。この際の位置をｘ，ｙで指定する。例えば動画フレームをバッファに入れた後にテキストを入れると、当該動画フレームとテキストとが合成される。
・ＦＲＡＭＥ．ｍｕｌｔｉｐｌｅｘ（ｓｏｕｒｃｅ）
ミキシングを行うためのサウンドバッファに、ｓｏｕｒｃｅで指定される断片化された音声を重畳させる。ｓｏｕｒｃｅが音声ファイルでない場合はなにもミキシングされない。
・ＳＯＵＲＣＥ．ａｌｐｈａ（ｓｏｕｒｃｅ，ａｌｐｈａ）
ｓｏｕｒｃｅで指定される画像の透過度を設定する。
・ＳＯＵＲＣＥ．ｎｅｘｔ（ｓｏｕｒｃｅ）
ｓｏｕｒｃｅで指定されるリソースを１フレーム前進させる。
・ＳＯＵＲＣＥ．ｃｌｏｓｅ（ｓｏｕｒｃｅ）
ｓｏｕｒｃｅで指定されるリソースをクローズしてプログラム資源を解放する。
・ＳＯＵＲＣＥ．ａｎｇｌｅ（ｓｏｕｒｃｅ，ｄｅｇｒｅｅ）
ｓｏｕｒｃｅで指定されるリソースをｄｅｇｒｅｅで指定される角度で回転させる。
・ＳＯＵＲＣＥ．ｓｃａｌｅ（ｓｏｕｒｃｅ，ｒａｔｉｏ）
ｓｏｕｒｃｅで指定されるリソースをｒａｔｉｏで指定される率で拡大／縮小させる。
・ＳＯＵＲＣＥ．ｒｅｗｉｎｄ（ｓｏｕｒｃｅ）
ｓｏｕｒｃｅの頭出しを行う。
【００６４】
上記例では、主に商品販売システムを一例にして説明したが、その他の別用途を提供するシステムにも適用可能である。以下に一例を示す。
【００６５】
（医療機関の健康診断結果提供システム）
健康診断の受診者氏名、受診日、受診医療機関、受診プランを動画内に取り入れ、各検査項目の数値をグラフ化して表示する。グラフ化においては同一項目を経年や時系列で示すことも可能となる。
【００６６】
（化粧品メーカのお肌診断システム）
サービス利用者の肌診断結果を示して、お勧め化粧品を案内するシステムとして上記実施形態のシステムを導入する。アンケートや専門のスキンチェック機械による結果に基づいて、保湿性や弾力性、肌荒れ状況などのメーカ独自のお肌診断結果を数値、表、属性などを動画に取り入れる。またその状況の基づいてお勧めの化粧品の商品を動画内で案内する。
【００６７】
（健康食品メーカのサプリメント提案システム）
生活習慣診断結果を示して、お勧めサプリメントを案内するシステムとして上記実施形態のシステムを導入する。食生活、代謝、血液循環、ストレス、疲労などサプリメントの効果に関係する生活習慣をアンケートで取得し、ケアが必要な項目の指数などを動画内に取り込む。またお勧めサプリメントを動画内で案内する。
【００６８】
（予備校のコース案内システム）
模擬試験結果などを示して、お勧め授業プランを案内するシステムとして上記実施形態のシステムを導入する。模試の結果を科目毎やカテゴリ毎に全国レベルを表示するとともに、希望大学合格の確率などを動画内に取り込む。またお勧めのコースを動画内で案内する。
【００６９】
（生命保険会社の必要保障額診断結果の提供システム）
家族構成（続柄、年齢）や貯蓄額、収入情報、生活費などアンケートなどで取得し、その家庭に必要な保障額を動画内に取り込む。ライフサイクルの組み立て案を提供するとともに保障ニーズを喚起する。
【００７０】
（旅行代理店の申込ツアーの確認、案内システム）
申込ツアー内容（行先やフライト日時、利用飛行場、申込人数、宿泊予定ホテル、付加オプションなど）を動画内に示すとともに、当日までの留意点や手続き方法などを案内する動画を作成する。現地でのオプショナルツアーの案内も動画内に取り入れる。
【００７１】
（携帯キャリアのプラン内容の確認、追加オプション案内システム）
新規プラン申込者へのプラン内容の確認、追加オプションを動画で案内する。加入したプランの内容（プラン名、無料通話時間、利用可能データ量、適用割引など）や付加オプション内容（お留守番サービス、保障サービスなど）を金額とともに示すとともに、追加のお勧めオプションを案内する。
【００７２】
（エステサロン、トレーニングジム、英会話学校などのコース継続、ランクアップの案内システム）
現在利用しているコースの内容（コース名、実施予定回数、実施内容など）や実際の実施状況（回数や実施日、また追加オプションの利用状況など）を動画内で示すとともに、コース期間中の変化（肌状態や体重、英語レベルなど）を示し、コース継続やステップアップコースの案内を行う。
【００７３】
（自動車保険の更新案内システム）
現在加入中の契約の条件（満期日、等級、年齢制限、ゴールド免許対象、契約年数など）や補償内容（付保金額や特約付加の有無など）を項目毎に説明した動画を作成する。現行内容での更新の見積もりとお勧めプランの見積もりを動画内で提示する。
【００７４】
（人事考課、営業管理システム）
役職等級制度やコアコンピタンシーの全体像や評価軸をビジュアルに表現する中で、当該者のランクやレベルを表記するとともに、該当する個所をハイライトやプロットで示す。また各営業指標（訪問数、提案数、成約数、契約高など）の状況を個人毎でフィードバックさせるほか、全社状況や所属営業所の状況を動画内で表示する。表示方法は具体数値の他に、グラフなどの図形や達成状況に応じたスタンプなどで演出を行う。
【００７５】
（ＥＣショッピングモール運営会社のシステム）
例えば出店店舗への出店契約の継続を勧奨するシステムに実施形態のシステムを導入する。契約継続勧奨に際して、それまでの売り上げ状況（売り上げ、販売件数など）やアクティビティ（メルマガ配信回数、広告出稿状況など）、効率（転換率や顧客単価など）を同業他社との比較する動画を作成し、売り上げアップに向けたポイントを動画内で示す。
【００７６】
（クラウド会計ソフト提供会社のシステム）
月次の会計ハイライトを動画で提供する。売上高や販管費、経常利益などの基本的会計情報をハイライトとして動画内に取り込む。単月状況の他、月次の推移や累計状況、前年同期比を動画内に取り込んでもよい。
【００７７】
（代理店制度保有会社のシステム）
個別の代理店の取扱い状況（総売り上げ、種目別売上、月次状況など）を動画内に取り込み、全国の状況や地域内での比較などを取り込む。
【００７８】
実施形態では、フラッシュ動画ではなく、一般的に用いられる規定フォーマットの１つの動画ファイルを生成するものとして説明した。フラッシュ動画は、背景動画とテキスト等の情報を別々にしたファイル構成となっており、これら各ファイルが揃って初めて動画として機能する。よって、再生するには複数のファイルを用意する必要があり、フォルダ構成も規定されているため、ダウンロードなどでの取り扱いが不便となる。またフラッシュ動画は、動画を再生しているときに文字、画像の合成を行うため、再生プレイヤーを作成するにしても、処理が複雑となり他の外部システムとの連動も困難となる。このこともあり、フラッシュ動画は、専用のプレイヤー、Ｗｅｂブラウザの専用プラグインでしか再生することができない。
【００７９】
一方、実施形態により生成される動画データは、ＯＳ付属のプレイヤーやＷｅｂブラウザ上で再生可能な１つのファイルとして生成される。このことから、複数ファイルを有するフラッシュ動画の構成よりも、ダウンロードなどの取扱いが容易となる。また実施形態で生成される動画データは、スマートフォンやゲームデバイス、音楽／動画プレイヤーなどの一般的な再生機器で再生可能となる。また１つの動画ファイルにすることで、外部のシステム（メール配信システム、ＣＭＳ、ＳＮＳ等）との連動が容易となる。
【００８０】
また実施形態では、テキスト情報等が１つの動画ファイル内に埋め込まれ、動画データとして符号化されるため、埋め込んだ情報の改ざん等も行いにくくなる。例えば第三者によりサーバに侵入されても、個人データ等のテキスト情報を改ざんするのが非常に困難となる。
【００８１】
以上説明したように、実施形態の態様により、サービス利用者の印象に残るように、視覚的効果を向上させた動画データの状態で情報を提示することができる。また、サービス利用者の個人データを埋め込むことで、パーソナライズされた、親しみのある動画データを生成することができる。また１つの動画ファイルとして生成されるため、上記のように取扱いが容易となり、情報の改ざんを困難にさせることができる。
【００８２】
また、テキストベースで編集可能なスクリプトを用いて、素材データの埋め込みを制御しているため、システム運用時においても、提供する動画の内容を容易に変更させることができる。さらには、スクリプト内でｉｆ文などの分岐条件に応じて素材データの挙動を異ならせることができるため、サービス利用者ごとによりカスタマイズされた動画を提供することができる。
【符号の説明】
【００８３】
１  動画生成システム、１０１  データベースサーバ、  １０２  データ加工サーバ、
１０３  動画生成サーバ、１０４  ストレージ装置、１０５  配信用サーバ
２００  業務システム
３０１  プロセッサ、３０２  メモリ、３０３  ＨＤＤ、３０４  ネットワークＩＦ
３０５  モニタ、３０６  入力デバイス、３０７  メディア読取デバイス
３１１  サービスモジュール、３１２  動画生成エンジン、３１３  スクリプト
３２０  外部メディア。
【図１】
2016127513.tif 000003
【図２】
2016127513.tif 000004
【図３】
2016127513.tif 000005
【図４】
2016127513.tif 000006
【図５】
2016127513.tif 000007
【図６】
2016127513.tif 000008
【図７】
2016127513.tif 000009
【図８】
2016127513.tif 000010
【図９】
2016127513.tif 000011
【図１０】
2016127513.tif 000012
【図１１】
2016127513.tif 000013
【図１２】
2016127513.tif 000014
【図１３】
2016127513.tif 000015
【図１４】
2016127513.tif 000016
【図１５】
2016127513.tif 000017
【図１６】
2016127513.tif 000018
【図１７】
2016127513.tif 000019