(57)【特許請求の範囲】
【請求項１】
文字列を発声する音声を、音声パラメータを用いて合成する音声合成手段と、
前記音声合成手段により合成された音声を発するキャラクターを示す仮想オブジェクトの映像を、映像パラメータを用いて合成する映像合成手段と、
前記音声パラメータの変更指示を受け付ける受け付け手段と、
前記音声パラメータの変更指示に応じて当該音声パラメータを変更する音声パラメータ変更手段と、
前記音声パラメータの変更指示に応じて前記映像パラメータを変更する映像パラメータ変更手段と、
前記文字列を複数の区間に区切り、前記複数の区間のうち一の区間を順次、対象区間として特定し、かつ前記対象区間の文字列を用いた音声の合成を前記音声合成手段に指示する指示手段と、
前記音声合成手段により合成された音声および前記映像合成手段により合成された映像を同期して再生する再生手段と
を有し、
前記音声パラメータ変更手段および前記映像パラメータ変更手段は、前記再生手段が前記音声および前記映像の再生中に前記音声パラメータおよび前記映像パラメータを変更し、
前記音声合成手段は、
複数の区間に区切られた前記文字列について前記複数の区間の中から順次対象区間として特定された一の区間の文字列を用いて前記音声の合成を行い、
前記複数の区間のうち第１区間の音声の合成が開始されてから第２区間の音声の合成が開始されるまでの間に受け付けられた前記変更指示に応じて変更された前記音声パラメータを用いて、当該第２区間の音声を合成する
情報処理装置。
【請求項２】
前記音声合成手段は、複数の音声パラメータを用いて前記音声を合成し、
前記映像合成手段は、複数の映像パラメータを用いて前記映像を合成し、
前記複数の映像パラメータおよび前記複数の映像パラメータの対応関係を記憶した記憶手段を有し、
前記映像パラメータ変更手段は、前記複数の映像パラメータのうち、前記記憶手段に記憶されている前記対応関係により特定される映像パラメータを変更する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記複数の音声パラメータは、前記音声のダイナミクスを示すパラメータを含み、
前記複数の映像パラメータは、前記キャラクターの大きさを示すパラメータを含み、
前記受け付け手段が前記ダイナミクスの変更指示を受け付けた場合、前記映像パラメータ変更手段は、前記キャラクターの大きさを示すパラメータを変更する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
コンピュータを、
文字列を発声する音声を、音声パラメータを用いて合成する音声合成手段と、
前記音声合成手段により合成された音声を発するキャラクターを示す仮想オブジェクトの映像を、映像パラメータを用いて合成する映像合成手段と、
前記音声パラメータの変更指示を受け付ける受け付け手段と、
前記音声パラメータの変更指示に応じて当該音声パラメータを変更する音声パラメータ変更手段と、
前記音声パラメータの変更指示に応じて前記映像パラメータを変更する映像パラメータ変更手段と、
前記文字列を複数の区間に区切り、前記複数の区間のうち一の区間を順次、対象区間として特定し、かつ前記対象区間の文字列を用いた音声の合成を前記音声合成手段に指示する指示手段と、
前記音声合成手段により合成された音声および前記映像合成手段により合成された映像を同期して再生する再生手段と
して機能させるためのプログラムであって、
前記音声パラメータ変更手段および前記映像パラメータ変更手段は、前記再生手段が前記音声および前記映像の再生中に前記音声パラメータおよび前記映像パラメータを変更し、
前記音声合成手段は、
複数の区間に区切られた前記文字列について前記複数の区間の中から順次対象区間として特定された一の区間の文字列を用いて前記音声の合成を行い、
前記複数の区間のうち第１区間の音声の合成が開始されてから第２区間の音声の合成が開始されるまでの間に受け付けられた前記変更指示に応じて変更された前記音声パラメータを用いて、当該第２区間の音声を合成する
プログラム。
【請求項５】
文字列を発声する音声を、音声合成手段が音声パラメータを用いて合成するステップと、
前記音声合成手段により合成された音声を発するキャラクターを示す仮想オブジェクトの映像を、映像合成手段が映像パラメータを用いて合成するステップと、
前記音声パラメータの変更指示を受け付けるステップと、
前記音声パラメータの変更指示に応じて当該音声パラメータを変更するステップと、
前記音声パラメータの変更指示に応じて前記映像パラメータを変更するステップと、
前記文字列を複数の区間に区切り、前記複数の区間のうち一の区間を順次、対象区間として特定し、かつ前記対象区間の文字列を用いた音声の合成を前記音声合成手段に指示するステップと、
前記音声合成手段により合成された音声および前記映像合成手段により合成された映像を同期して再生手段が再生するステップと
を有し、
前記音声パラメータを変更するステップおよび前記映像パラメータを変更するステップは、前記再生手段が前記音声および前記映像の再生中に前記音声パラメータおよび前記映像パラメータを変更し、
前記音声合成手段は、
複数の区間に区切られた前記文字列について前記複数の区間の中から順次対象区間として特定された一の区間の文字列を用いて前記音声の合成を行い、
前記複数の区間のうち第１区間の音声の合成が開始されてから第２区間の音声の合成が開始されるまでの間に受け付けられた前記変更指示に応じて変更された前記音声パラメータを用いて、当該第２区間の音声を合成する
音声合成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声合成と映像を連動させる技術に関する。
【背景技術】
【０００２】
コンピュータ装置において歌唱音声を合成する技術が知られている。音声合成には、種々のパラメータが用いられる（例えば特許文献１参照）。特許文献２および非特許文献１には、あらかじめ入力された歌詞を、ユーザの演奏に合わせてリアルタイムで音声合成する技術が記載されている。非特許文献１には、音声合成する際のパラメータを調整するためのＵＩ（User Interface）画面が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１６５１３０号公報
【特許文献２】特開２００８−１７０５９２号公報
【非特許文献】
【０００４】
【非特許文献１】Vocaloid2取扱説明書，ヤマハ株式会社，２００７年８月，ｐ．１１３−１１５
【発明の開示】
【発明が解決しようとする課題】
【０００５】
音声合成装置の用途の一つに、ゲームやＣＧ（Computer Graphics）アニメーションのような映像を伴うコンテンツの作成がある。しかし、特許文献１および２並びに非特許文献１はいずれも、単に音声合成を行う装置に過ぎず、音声合成のパラメータ変更と映像の変更とを連動させることができなかった。
これに対し本発明は、音声合成におけるパラメータ変更と、映像の変更とを連動させる技術を提供する。
【課題を解決するための手段】
【０００６】
本発明は、文字列を発声する音声を、音声パラメータを用いて合成する音声合成手段と、前記音声合成手段により合成された音声を発するキャラクターを示す仮想オブジェクトの映像を、映像パラメータを用いて合成する映像合成手段と、前記音声パラメータの変更指示を受け付ける受け付け手段と、前記音声パラメータの変更指示に応じて当該音声パラメータを変更する音声パラメータ変更手段と、前記音声パラメータの変更指示に応じて前記映像パラメータを変更する映像パラメータ変更手段とを有する情報処理装置を提供する。
【０００７】
この情報処理装置は、前記音声合成手段により合成された音声および前記映像合成手段により合成された映像を同期して再生する再生手段を有し、前記音声パラメータ変更手段および前記映像パラメータ変更手段は、前記再生手段が前記音声および前記映像の再生中に前記音声パラメータおよび前記映像パラメータを変更してもよい。
【０００８】
前記音声合成手段は、複数の区間に区切られた前記文字列について前記複数の区間の中から順次対象区間として特定された一の区間の文字列を用いて前記音声の合成を行い、前記複数の区間のうち第１区間の音声の合成が開始されてから第２区間の音声の合成が開始されるまでの間に受け付けられた前記変更指示に応じて変更された前記音声パラメータを用いて、当該第２区間の音声を合成してもよい。
【０００９】
前記音声合成手段は、複数の音声パラメータを用いて前記音声を合成し、前記映像合成手段は、複数の映像パラメータを用いて前記映像を合成し、前記複数の映像パラメータおよび前記複数の映像パラメータの対応関係を記憶した記憶手段を有し、前記映像パラメータ変更手段は、前記複数の映像パラメータのうち、前記記憶手段に記憶されている前記対応関係により特定される映像パラメータを変更してもよい。
【００１０】
前記複数の音声パラメータは、前記音声のダイナミクスを示すパラメータを含み、前記複数の映像パラメータは、前記キャラクターの大きさを示すパラメータを含み、前記受け付け手段が前記ダイナミクスの変更指示を受け付けた場合、前記映像パラメータ変更手段は、前記キャラクターの大きさを示すパラメータを変更してもよい。
【発明の効果】
【００１１】
本発明によれば、音声合成におけるパラメータ変更と、映像の変更とを連動させることができる。
【図面の簡単な説明】
【００１２】
【図１】一実施形態に係る情報処理装置１の機能構成を例示する図
【図２】情報処理装置１のハードウェア構成を例示する図
【図３】情報処理装置１におけるソフトウェア構成を例示する図
【図４】リアルタイムの音声合成および映像合成を示す図
【図５】音声合成制御部２２０の一実施形態に係る動作を例示するフローチャート
【図６】映像合成制御部２５０の一実施形態に係る動作を例示するフローチャート
【図７】ＵＩ部２１０の一実施形態に係る動作を例示するフローチャート
【図８】音声パラメータと映像パラメータとの対応関係を例示する図
【図９】情報処理装置１全体の処理例を示すシーケンスチャート
【図１０】再生アプリケーション２００の画面表示を例示する図
【図１１】再生アプリケーション２００の画面表示を例示する図
【図１２】再生アプリケーション２００の画面表示を例示する図
【発明を実施するための形態】
【００１３】
１．構成
図１は、一実施形態に係る情報処理装置１の機能構成を例示する図である。情報処理装置１は、音声合成および映像合成を行う。音声合成とは、ある文字列（例えば歌詞）をあるメロディで発声した音声すなわち歌唱音声を生成（合成）する処理をいう。音声合成により生成された音声を「合成音声」という。情報処理装置１において、音声合成はリアルタイムで行われる。すなわち、ユーザは、音声合成に用いられるパラメータ（以下「音声パラメータ」という）を、合成音声の再生中に変更することができる。音声パラメータの変更は、再生中の合成音声に反映される。情報処理装置１は、さらに、映像合成を行う。映像合成とは、ある背景上である動きをする仮想オブジェクトの映像を生成（合成）する処理をいう。映像合成により生成された映像を「合成映像」という。情報処理装置１は、合成音声および合成映像を同期して再生する。ここで、音声パラメータの変更が指示されると、情報処理装置１は、音声パラメータに加えて、映像合成に用いられるパラメータ（以下「映像パラメータ」という）を変更する。すなわち、ユーザが音声パラメータの変更を指示すると、合成音声が変化するだけでなく、それに合わせて合成映像も変化する。
【００１４】
情報処理装置１は、音声合成手段１１、映像合成手段１２、指示受け付け手段１３、音声パラメータ変更手段１４、映像パラメータ変更手段１５、記憶手段１６、および再生手段１７を有する。
【００１５】
音声合成手段１１は、与えられた文字列およびメロディを音声パラメータに従って合成し、合成音声を生成する。音声パラメータは、合成音声を異ならせるためのパラメータである。同じ文字列および同じメロディが用いられたとしても、音声パラメータの値が異なれば、結果として得られる合成音声は異なる。音声合成手段１１は、複数の音声パラメータを用いて音声合成を行う。音声パラメータの詳細は後述する。
【００１６】
映像合成手段１２は、背景および仮想オブジェクトを映像パラメータに従って合成し、合成映像を生成する。映像パラメータは、合成映像を異ならせるためのパラメータである。同じ背景および同じ仮想オブジェクトが用いられたとしても、映像パラメータの値が異なれば、結果として得られる合成映像は異なる。映像合成手段１２は、複数の映像パラメータを用いて映像合成を行う。映像パラメータの詳細は後述する。
【００１７】
指示受け付け手段１３は、ユーザによる音声パラメータの変更指示を受け付ける。音声パラメータ変更手段１４は、指示受け付け手段１３により受け付けられた音声パラメータの変更指示に応じて、音声パラメータを変更する。音声パラメータの変更とは、音声パラメータの値を変更することをいう。映像パラメータ変更手段１５は、その音声パラメータの変更指示に応じて、映像パラメータを変更する。映像パラメータの変更とは、映像パラメータの値を変更することをいう。この例で、記憶手段１６は、複数の映像パラメータおよび複数の映像パラメータの対応関係を記憶している。映像パラメータ変更手段１５は、複数の映像パラメータのうち、指示受け付け手段により変更指示が受け付けられた一の音声パラメータに対応する一の映像パラメータの値を変更する。
【００１８】
再生手段１７は、合成音声および合成映像を同期して再生する。この例で、音声パラメータ変更手段１４および映像パラメータ変更手段１５は、再生手段１７が合成音声および合成映像を再生している途中で音声パラメータおよび映像パラメータを変更する。
【００１９】
図２は、情報処理装置１のハードウェア構成を例示する図である。情報処理装置１は、ＣＰＵ（Central Processing Unit）１００、メモリ１０１、ストレージ１０２、入力装置１０３、表示装置１０４、および音声出力装置１０５を有するコンピュータ装置である。ＣＰＵ１００は、各種演算を行い、また他のハードウェア要素を制御する装置である。メモリ１０１は、ＣＰＵ１００が処理を実行する際に用いられるコードおよびデータを記憶する記憶装置であり、例えばＲＯＭおよびＲＡＭを含む。ストレージ１０２は、各種のデータおよびプログラムを記憶する不揮発性の記憶装置であり、例えばＨＤＤ（Hard Disk Drive）またはフラッシュメモリを含む。入力装置１０３は、ＣＰＵ１００に情報を入力するための装置であり、例えばキーボード、タッチスクリーン、リモートコントローラ、およびマイクロフォンの少なくとも一つを含む。表示装置１０４は、映像を出力する装置であり、例えば液晶ディスプレイまたは有機ＥＬディスプレイを含む。音声出力装置１０５は、音声を出力する装置であり、例えばＤＡコンバーター、増幅器、およびスピーカを含む。
【００２０】
図３は、情報処理装置１におけるソフトウェア構成を例示する図である。この例で、ストレージ１０２は、コンピュータ装置に音声合成、映像合成、並びに合成音声および合成映像の再生を行わせるためのプログラム（以下「再生プログラム」という）を記憶している。ＣＰＵ１００が再生プログラムを実行し、他のハードウェア要素と協働することにより、情報処理装置１において再生アプリケーション２００が実装される。
【００２１】
再生アプリケーション２００は、ＵＩ部２１０、音声合成制御部２２０、音声合成エンジン２３０、素片データベース２４０、映像合成制御部２５０、映像合成エンジン２６０、および再生部２７０を有する。音声合成制御部２２０は、音声合成の制御を行う。音声合成制御部２２０は、シーケンスデータ管理部２２１、歌詞データ管理部２２２、音声パラメータ管理部２２３、音声合成指示部２２４を有する。シーケンスデータ管理部２２１は、シーケンスデータを管理する。シーケンスデータは、メロディすなわち音符列を示す演奏情報の一例であり、具体的には例えばＭＩＤＩ（Musical Instrument Digital Interface）データである。歌詞データ管理部２２２は、歌詞データを管理する。歌詞データは歌詞すなわち文字列を示すデータであり、例えばテキストデータである。歌詞データにより示される文字列はシーケンスデータにより示される音符と対応付けられている。音声パラメータ管理部２２３は、音声パラメータを管理する。音声合成指示部２２４（指示手段の一例）は、音声合成エンジン２３０に対し音声合成を指示する。
【００２２】
素片データベース２４０は、音声素片が記録されたデータベースである。音声素片とは、合成音声の基となる音声波形のデータである。音声素片は、人間の歌声をサンプリングした音声波形から抽出されたものであり、母音や子音などの発音単位（音素）に分割されている。各音声素片は、例えば、立ち上がり、子音から母音への遷移、母音から他の母音への遷移、母音の伸ばし、および減衰など、他の音素との前後関係によって区分されている。また、音声素片は実際の人間音声からサンプリングされるので、サンプリングの基となった歌手毎に区分されている。
【００２３】
音声合成エンジン２３０は、シーケンスデータ、歌詞データ、および素片データベース２４０を用いて音声合成を行う。具体的には、音声合成エンジン２３０は、まず、歌詞データにより示される文字列を音素に分解する。音声合成エンジン２３０は、音素に対応する音声素片を素片データベース２４０から読み出す。音声合成エンジン２３０は、読み出した音声素片を、シーケンスデータで示される音高に調整する。さらに、音声合成エンジン２３０は、音高が調整された音声素片を、音声パラメータにより応じて加工する。
【００２４】
音声パラメータは、例えば、ダイナミクス（ＤＹＮ）、ジェンダー（ＧＥＮ）、ベロシティ（ＶＥＬ）、ブレシネス（ＢＲＥ）、ブライトネス（ＢＲＩ）、クリアネス（ＣＬＥ）、ポルタメントタイミング（ＰＯＬ）、ピッチベンド（ＰＩＴ）、およびピッチベンドセンシティビティ（ＰＢＳ）の少なくとも一つを含む。音声パラメータは、このうち複数を含むことが好ましい。ダイナミクスは、音量を調整するパラメータである。なお詳細には、ダイナミクスは、音声合成において周波数帯毎に非線形にパワーを調整するためのものであって、単純な音量変化（周波数帯によらず一律にパワーを変化させる）とは違い音色の変化も生じさせるパラメータである。ジェンダーは、音声のフォルマント（男声らしさ、または女声らしさ）を調整するパラメータである。ベロシティは、発声の強弱、具体的には子音の長さを調整するパラメータである。ブレシネスは、息成分の強さを調整するパラメータである。ブライトネスは、音声のトーンすなわち明るさを調整するパラメータである。クリアネスは、声の透明感、具体的には音声の高音部分の強度を調整するパラメータである。ポルタメントタイミングは、音程変化の滑らかさ、具体的には音程差のある音に遷移する場合において音程の変化のタイミングを調整するパラメータである。ピッチベンドは、音高変化の有無を示すパラメータである。ピッチベンドセンシティビティは、音高変化の幅を示すパラメータである。
【００２５】
音声合成エンジン２３０は、加工された音声素片を接合し、与えられた文字列およびメロディに対応する合成音声を生成する。音声合成エンジン２３０は、生成した合成音声を出力する。
【００２６】
映像合成制御部２５０は、映像合成の制御を行う。映像合成制御部２５０は、背景管理部２５１、キャラクター管理部２５２、映像パラメータ管理部２５３、映像合成指示部２５４を有する。背景管理部２５１は、背景データを管理する。背景データは、映像の背景を示すデータである。この例で、背景は、仮想三次元空間である。仮想三次元空間は、例えば、コンサートホール、スタジアム、または家である。背景データは、仮想三次元空間の大きさおよび形状を規定するデータ、および仮想三次元空間内に固定された仮想オブジェクト（例えば、コンサートホールにおけるスポットライトおよびスクリーン）を規定するデータを含む。キャラクター管理部２５２は、キャラクターデータを管理する。キャラクターデータは、仮想三次元空間内に存在する仮想オブジェクトであるキャラクターを示すデータである。このキャラクターは、合成音声を発声する。キャラクターは動きを伴うものであればどのようなものでもよく、例えば、人間、動物、またはロボットである。キャラクターデータは、キャラクターの外観（形状、表情、色、装飾物等）を規定するデータ、およびキャラクターの動き（モーション、位置等）を規定するデータを含む。映像パラメータ管理部２５３は、映像パラメータを管理する。映像合成指示部２５４は、映像合成エンジン２６０に対し映像合成を指示する。
【００２７】
映像合成エンジン２６０は、背景データにより示される三次元仮想空間内に配置された、キャラクターデータにより示されるキャラクターの仮想オブジェクトを、仮想カメラで撮影した映像を合成し、映像データを出力する。映像データは合成映像を示すデータであり、所定のフレームレート（例えば３０ｆｐｓまたは６０ｆｐｓ）で変化する動画を示す。
【００２８】
合成映像は、映像パラメータにより変化する。映像パラメータは、キャラクターを変化させるもの、背景を変化させるもの、および仮想カメラのカメラワークを変化させるもの、の３つに分類される。キャラクターを変化させる映像パラメータには、例えば、背景に対するキャラクターの相対サイズを変化させるもの、キャラクターの色や装飾物を変化させるもの（例：衣服の着脱）、キャラクターの頭身を変化させるもの（例：２頭身から８頭身へ）、およびキャラクターの形状を変化させるもの（例：男性から女性へ）のうち少なくとも１つが含まれる。背景を変化させる映像パラメータには、例えば、仮想空間の種類を変化させるもの（例：コンサートホールからスタジアムへ）、および仮想空間内に固定された仮想オブジェクトの属性（例：スポットライトの色）を変化させるもののうち少なくとも１つが含まれる。カメラワークを変化させる映像パラメータには、仮想空間内における仮想カメラの位置（視点）を変化させるもの、仮想カメラの向き（パニング）を変化させるもの、および仮想カメラの画角（ズーム倍率）を変化させるもののうち少なくとも１つが含まれる。なお、映像パラメータは、ここで例示した属性を変化させるタイミング（時刻）を規定する情報を含む。すなわち、映像パラメータは、その値の時間的な変化を示す情報を含む時系列の情報である。映像パラメータは、以上で説明したもののうち少なくとも１つを含み、複数を含むことが好ましい。
【００２９】
ＵＩ部２１０は、ＵＩに関する機能を提供する。ＵＩ部２１０は、ＵＩ制御部２１１およびＵＩ監視部２１２を有する。ＵＩ制御部２１１は、ＵＩを制御する。具体的には、ＵＩ制御部２１１は、例えば音声パラメータの変更を受け付けるための画面を表示装置１０４に表示させる。ＵＩ監視部２１２は、ＵＩを監視する。具体的には、ＵＩ監視部２１２は、入力装置１０３に対してユーザが所定の操作を行うか監視する。
【００３０】
ＵＩ監視部２１２は、入力装置１０３を介して入力された指示に応じて、音声パラメータ管理部２２３に対して音声パラメータの値の変更を要求する。音声パラメータ管理部２２３は、この要求に応じて音声パラメータの値を変更する。さらに、ＵＩ監視部２１２は、ユーザが入力装置１０３を介して入力した指示に応じて、映像パラメータ管理部２３３に対して映像パラメータの値の変更を要求する。映像パラメータ管理部２３３は、この要求に応じて映像パラメータの値を変更する。すなわち、ユーザが入力装置１０３を介して行った１つの入力操作に基づいて音声パラメータおよび映像パラメータの双方が変更される。
【００３１】
再生部２７０は、合成音声および合成映像を同期して再生する。再生部２７０は、音声再生部２７１および映像再生部２７２を有する。音声再生部２７１は、音声を再生する。この例で、音声再生部２７１は、合成音声に加え伴奏音も再生する。伴奏音は人間の歌唱音声を含まない楽音、いわゆるカラオケである。伴奏音を出力するためのデータはあらかじめストレージ１０２に記憶されている。音声再生部２７１は、合成音声および伴奏音を同期させて再生する。映像再生部２７２は、合成映像を再生する。音声再生部２７１および映像再生部２７２は、例えば再生位置を示すポインターや処理タイミングを示すクロック信号を共有しており、これによって音声の再生と合成映像の再生を同期させる。
【００３２】
図４は、リアルタイムの音声合成および映像合成を示す図である。ここで、リアルタイムの音声合成とは、楽曲の最初から最後まで音声合成が完了した後でその合成音声を再生するのではなく、音声の合成と再生とを並列的に処理することをいう。リアルタイムの映像合成についても同様である。
【００３３】
この例で、シーケンスデータおよび歌詞データは複数の区間に分割される。これら複数の区間のうち一の区間が時系列で順次、対象区間として特定される。この対象区間につき、音声合成が行われる。なおこの区間は、例えば所定数の連続した小節を単位としたものである。あるいは、休符を区切りとして区間が定められてもよい（この場合、各区間の時間長は一様ではない）。以下の説明において、第ｉ番の区間を「区間（ｉ）」という。
【００３４】
この図では、音声合成については区間（ｉ）〜区間（i＋１）までの処理が示されている。時刻ｔ１において、音声合成エンジン２３０は、区間（ｉ）の音声合成を開始する。１区間の音声合成に要する時間はτａである。時刻ｔ４において、音声合成エンジン２３０は、区間（ｉ）の合成音声を出力する。なお、音声合成に要する時間τａは、１区間の音声の再生に要する時間Ｄａよりも短い。また、音声合成が完了してからその音声が再生されるまでに時間的なマージンが確保されている。
【００３５】
音声の合成および再生と並行して、映像の合成および再生が行われる。以下の説明において、第ｊ番の区間を「フレーム（ｊ）」という。この図では、映像合成についてはフレーム（ｊ）〜フレーム（ｊ＋５）までの処理が示されている。この例で、音声合成の単位である１区間と映像合成の単位である１フレームの時間長および始期はそれぞれ異なっている。１区間および１フレームの時間長は例えばプロセッサの処理能力に応じて決められるが、一例として１区間は０．５〜１秒であり、１フレームは１６．７ミリ秒（６０ｆｐｓに相当）である。なお図４では図面を簡単にするため、１区間と１フレームの時間長は数倍程度の差しかない例を示している。
【００３６】
時刻ｔ２において、映像合成エンジン２６０は、フレーム（ｊ）の映像合成を開始する。１フレームの映像合成に要する時間はτｖである。時刻ｔ３において、映像合成エンジン２６０は、フレーム（ｉ）の合成映像を出力する。なお、映像合成に要する時間τｖは、１フレームの時間Ｄｆよりも短い。また、映像合成が完了してからその映像が再生されるまでに時間的なマージンが確保されている。
【００３７】
なお図２および図３の関係について説明すると、音声合成エンジン２３０は、音声合成手段１１の一例である。映像合成エンジン２６０は、映像合成手段１２の一例である。ＵＩ部２１０は、指示受け付け手段１３の一例である。音声パラメータ管理部２２３は、音声パラメータ変更手段１４の一例である。映像パラメータ管理部２３３は、映像パラメータ変更手段１５の一例である。メモリ１０１およびストレージ１０２は、記憶手段１６の一例である。再生部２７０は、再生手段１７の一例である。
【００３８】
２．動作
以下、情報処理装置１の動作を説明する。ＵＩ部２１０、音声合成制御部２２０、および映像合成制御部２５０はそれぞれ並列的に動作しているので、まずこれらの動作を個別に説明した後、情報処理装置１全体の処理例を説明する。
【００３９】
２−１．音声合成制御部２２０
図５は、音声合成制御部２２０（特に音声合成指示部２２４）の一実施形態に係る動作を例示するフローチャートである。図５のフローは、例えば、再生アプリケーション２００により合成音声および合成映像の再生が開始されたことを契機として開始される。
【００４０】
ステップＳ１００において、音声合成指示部２２４は、音声の再生位置すなわち再生時刻が、区間内の所定の位置に達したか判断する。音声の再生位置は音声再生部２７１により管理されており、例えば、再生位置を示すパラメータである「ポインター」により示される。再生位置は時間の経過に伴って進行する。具体的には、ポインターの値は、クロック信号等により示される時間の経過に伴って加算される。音声合成指示部２２４は、ポインターの値を参照して音声の再生位置を得る。「所定の位置」とは次の区間の音声合成の開始タイミングに相当する位置であり、次の区間の再生が開始されることが予測される時刻から、音声合成に要する時間およびマージン分の時間を差し引いた時刻に相当する位置である。再生位置が所定の位置に達したと判断された場合（Ｓ１００：ＹＥＳ）、音声合成指示部２２４は、処理をステップＳ１１０に移行する。再生位置が所定の位置に達していないと判断された場合（Ｓ１００：ＮＯ）、音声合成指示部２２４は、再生位置が所定の位置に達するまで待機する。
【００４１】
ステップＳ１１０において、音声合成指示部２２４は、音声パラメータ管理部２２３から現時点の音声パラメータを取得し、さらに、シーケンスデータ管理部２２１および歌詞データ管理部２２２から、次の区間のシーケンスデータおよび歌詞データを取得する。
【００４２】
ステップＳ１２０において、音声合成指示部２２４は、取得した音声パラメータ、シーケンスデータ、および歌詞データを用いて音声合成するよう、音声合成エンジン２３０に指示する。音声合成指示部２２４は、再生の停止が指示されるまで、ステップＳ１００〜Ｓ１２０の処理を繰り返し実行する。
【００４３】
２−２．映像合成制御部２５０
図６は、映像合成制御部２５０（特に映像合成指示部２５４）の一実施形態に係る動作を例示するフローチャートである。図６のフローは、例えば、再生アプリケーション２００により合成音声および合成映像の再生が開始されたことを契機として開始される。
【００４４】
ステップＳ２００において、映像合成指示部２５４は、映像の再生位置すなわち再生時刻が、フレーム内の所定の位置に達したか判断する。映像の再生位置は映像再生部２７２により管理されており、例えば、音声再生部２７１と共有されるポインターにより示される。音声再生部２７１において説明したように再生位置は時間の経過に伴って進行する。映像合成指示部２５４は、ポインターの値を参照して映像の再生位置を得る。「所定の位置」とは次のフレームの映像合成の開始タイミングに相当する位置であり、次のフレームの再生が開始されることが予測される時刻から、映像合成に要する時間およびマージン分の時間を差し引いた時刻に相当する位置である。再生位置が所定の位置に達したと判断された場合（Ｓ２００：ＹＥＳ）、映像合成指示部２５４は、処理をステップＳ２１０に移行する。再生位置が所定の位置に達していないと判断された場合（Ｓ２００：ＮＯ）、映像合成指示部２５４は、再生位置が所定の位置に達するまで待機する。
【００４５】
ステップＳ２１０において、映像合成指示部２５４は、映像パラメータ管理部２５３から現時点の映像パラメータを取得し、さらに、背景管理部２５１およびキャラクター管理部２５２から、次のフレームの背景データおよびキャラクターデータを取得する。
【００４６】
ステップＳ２２０において、映像合成指示部２５４は、取得した映像パラメータ、背景データ、およびキャラクターデータを用いて映像合成するよう、映像合成エンジン２６０に指示する。映像合成指示部２５４は、再生の停止が指示されるまで、ステップＳ２００〜Ｓ２２０の処理を繰り返し実行する。
【００４７】
２−３．ＵＩ部２１０
図７は、ＵＩ部２１０の一実施形態に係る動作を例示するフローチャートである。図７のフローは、例えば、再生アプリケーションにより合成音声および合成映像の再生が開始されたことを契機として開始される。
【００４８】
ステップＳ３００において、ＵＩ部２１０は、音声パラメータの変更指示が受け付けられたか判断する。音声パラメータの変更指示は、ＵＩ画面を介して受け付けられる。この変更指示は、変更の対象となる音声パラメータの識別子、および変更量を示す情報を含んでいる。音声パラメータの変更指示が受け付けられたと判断された場合（Ｓ３００：ＹＥＳ）、ＵＩ部２１０は、処理をステップＳ３１０に移行する。音声パラメータの変更指示が受け付けられていないと判断された場合（Ｓ３００：ＮＯ）、ＵＩ部２１０は、音声パラメータの変更指示が受け付けられるまで待機する。
【００４９】
ステップＳ３１０において、ＵＩ部２１０は、受け付けられた変更指示に応じて、音声パラメータの変更を、音声合成制御部２２０に指示する。音声パラメータ管理部２２３は、ＵＩ部２１０からの指示に応じて音声パラメータを変更する。
【００５０】
ステップＳ３２０において、ＵＩ部２１０は、受け付けられた変更指示に応じて、映像パラメータの変更を、音声合成制御部２２０に指示する。詳細には以下のとおりである。ＵＩ部２１０は、音声パラメータと映像パラメータとの対応関係を記憶している。
【００５１】
図８は、音声パラメータと映像パラメータとの対応関係を例示する図である。この例で、対応関係はテーブルとして記録されている。このテーブルは、「音声パラメータ」、「映像パラメータ」、および「係数」の項目を含む。「音声パラメータ」の欄には、対象となる音声パラメータの識別子が記録される。「映像パラメータ」の欄には、対象となる音声パラメータと対応する映像パラメータの識別子が記録される。「係数」の欄には、音声パラメータおよび映像パラメータの変化の量的関係を示す係数が記録される。図８の例では、音声パラメータ「ダイナミクス」と映像パラメータ「サイズ」とが関係しており、両者の量的な関係は１：１であることが示されている。さらに図８の例では、音声パラメータ「ジェンダー」と映像パラメータ「頭身」とが関係しており、両者の量的な関係は１：０．５であることが示されている。
【００５２】
ＵＩ部２１０は、受け付けられた変更指示に対し、対応する映像パラメータおよびその変更量を、図８のテーブルを参照して特定する。例えば、「ダイナミクス」を「−３０」する変更指示が受け付けられた場合、ＵＩ部２１０は、映像パラメータ「サイズ」を「−３０」する指示を生成する。ＵＩ部２１０は、生成された指示を映像合成制御部２５０に出力する。映像パラメータ管理部２５３は、ＵＩ部２１０からの指示に応じて映像パラメータを変更する。すなわち、ユーザが入力装置１０３を介して行った１つの入力操作に基づいて音声パラメータおよび映像パラメータの双方が変更される。図５〜７のフローは並列的に実行されるので、合成音声および合成映像の再生中において、再生と並行して音声パラメータおよび映像パラメータの変更を行い、さらにこの変更を反映して音声合成および映像合成を行うことができる。
【００５３】
２−４．全体処理の例
図９は、情報処理装置１全体の処理例を示すシーケンスチャートである。時刻Ｔ１において、ＵＩ部２１０が音声パラメータの変更指示を受け付ける。時刻Ｔ１において、ＵＩ部２１０は、音声パラメータ管理部２２３に対し、音声パラメータの変更を指示する。音声パラメータ管理部２２３は、指示に応じて音声パラメータを変更する。時刻Ｔ２において、ＵＩ部２１０は、映像パラメータ管理部２５３に対し、映像パラメータの変更を指示する。映像パラメータ管理部２５３は、指示に応じて映像パラメータを変更する。時刻Ｔ１における音声パラメータの変更指示と、時刻Ｔ２における音声パラメータの変更指示とは、時刻Ｔ１において受け付けられた、ユーザによる１つの入力操作に基づいて行われている。
【００５４】
映像合成指示部２５４は、所定のタイミングで、映像合成エンジン２６０に対し映像合成の指示を出力する。時刻Ｔ３において、映像パラメータ変更後の最初の映像合成の指示が映像合成エンジン２６０に出力される。この指示は、時刻Ｔ２に出された映像パラメータの変更指示が反映されている。これ以降、映像合成エンジン２６０は、新たな映像パラメータを用いて映像合成を行う。時刻Ｔ５から、新たな映像パラメータを用いて合成された映像が再生される（図のハッチング部分）。
【００５５】
音声合成指示部２２４は、所定のタイミングで、音声合成エンジン２３０に対し音声合成の指示を出力する。時刻Ｔ４において、音声パラメータ変更後の最初の音声合成の指示が音声合成エンジン２３０に出力される。この指示は、時刻Ｔ１に出された音声パラメータの変更指示が反映されている。これ以降、音声合成エンジン２３０は、新たな音声パラメータを用いて音声合成を行う。時刻Ｔ６から、新たな音声パラメータを用いて合成された音声が再生される（図のハッチング部分）。ここでは、Ｔ１＜Ｔ２＜Ｔ３＜Ｔ４＜Ｔ５＜Ｔ６である。すなわち音声合成エンジン２３０は、複数の区間のうちある区間（第１区間の一例）の音声の合成が開始されてからその次の区間（第２区間の一例）の音声の合成が開始されるまでの間に受け付けられた変更指示に応じて変更された音声パラメータを用いて、次の区間の音声を合成する。
【００５６】
この例では、音声に関するシーケンスデータおよび歌詞データの区間の長さと映像データのフレーム長の差に起因して、新たな映像パラメータを用いて合成された映像の再生が開始される時刻と、新たな音声パラメータを用いて合成された音声の再生が開始される時刻とは、必ずしも完全に一致していない。特に、映像のフレーム長が音声合成の区間長よりも１０〜１００倍程度短い状況では、新たな映像パラメータを用いて合成された映像の再生が、新たな音声パラメータを用いて合成された音声の再生よりも先に開始される可能性が高い。
【００５７】
２−５．画面表示例
図１０は、再生アプリケーション２００の画面表示を例示する図である。この図は、合成音声および合成映像の再生中の画面を示している。この画面は、キャラクター９１、背景９２、ゲージ９３、スライドバー９４、ゲージ９５、およびスライドバー９６を含んでいる。キャラクター９１は、合成音声を発する画像オブジェクトであり、この例では人間の女性である。背景９２は、キャラクター９１が置かれている仮想空間の画像オブジェクトを示し、この例ではコンサートホールのステージである。キャラクター９１および背景９２の画像は、音声の再生と同期して動いている（キャラクター９１が振り付けやダンスをしたり、ステージの照明が変化したりする）。ゲージ９３は、音声パラメータ「ダイナミクス」の現在値を示す画像オブジェクトである。スライドバー９４は、音声パラメータ「ダイナミクス」の値を変更するための操作子を示す画像オブジェクトである。ゲージ９５は、音声パラメータ「ジェンダー」の現在値を示す画像オブジェクトである。スライドバー９６は、音声パラメータ「ジェンダー」の値を変更するための操作子を示す画像オブジェクトである。
【００５８】
この例で、情報処理装置１は入力装置１０３としてタッチスクリーンを有する。ユーザは、画面上のスライドバー９４の位置をタッチしながら右または左に動かすことで、音声パラメータ「ダイナミクス」の値を増加または減少させることができる。
【００５９】
図１１は、再生アプリケーション２００の画面表示を例示する図である。この図は、図１０から音声パラメータ「ダイナミクス」の値を増加させる入力操作が行われた例を示している。合成音声のダイナミクスは、この入力操作に応じた量、増加する。さらに、この入力操作に応じて、背景９２に対するキャラクター９１の相対サイズが増加している。ここでは参考のため、図１０におけるキャラクター９１のサイズを破線で示している（実際にはこの破線は表示されない）。この例によれば、合成音声の音量が増加するのとほぼ同期してキャラクター９１の相対サイズが大きくなる。
【００６０】
図１２は、再生アプリケーション２００の画面表示を例示する図である。この図は、図１０から音声パラメータ「ダイナミクス」の値を減少させる入力操作が行われた例を示している。合成音声のダイナミクスは、この入力操作に応じた量、減少する。さらに、この入力操作に応じて、背景９２に対するキャラクター９１の相対サイズが減少している。ここでは参考のため、図１０におけるキャラクター９１のサイズを破線で示している。この例によれば、合成音声の音量が減少するのとほぼ同期してキャラクター９１の相対サイズが小さくなる。このように、本実施形態によれば、ユーザは、音声パラメータの変化に応じて映像パラメータが変化する合成映像を得ることができる。
【００６１】
３．変形例
本発明は上述の実施形態に限定されるものではなく、種々の変形実施が可能である。以下、変形例をいくつか説明する。以下の変形例のうち２つ以上のものが組み合わせて用いられてもよい。
【００６２】
３−１．変形例１
変更された音声パラメータが反映された合成音声の再生が開始されるタイミングと変更された映像パラメータが反映された合成映像の再生が開始されるタイミングの同期性を高めるための処理が行われてもよい。両者の差は、映像のフレーム長および音声合成の区間の長さの差に依存している。ＵＩ部２１０は、映像のフレーム長および音声合成の区間の長さの差に応じて、例えば映像パラメータ管理部２５３に変更指示を出力するタイミングを遅らせる。
【００６３】
３−２．変形例２
１つの画面に２つ以上のキャラクターが表示されてもよい。この場合、各キャラクターは、それぞれ異なる合成音声と対応付けられている。各キャラクターの音声合成に対して音声パラメータは独立して制御される。例えば画面に２つのキャラクターが表示される場合、図１０〜１２で例示した画面に、ゲージ９３、スライドバー９４、ゲージ９５、およびスライドバー９６の組が２組表示される。この２つのキャラクターは、例えば、メインボーカルとコーラス隊、または第１ボーカルと第２ボーカルである。ユーザは、各キャラクターの音声パラメータをそれぞれ別個に変更することができる。各キャラクターの映像パラメータは、音声パラメータの変更に応じて別個に変更される。
【００６４】
３−３．変形例３
音声合成および映像合成は、リアルタイムで行われるものに限定されない。例えば、音声合成および映像合成に先立って、ユーザは、音声パラメータの時間変化をあらかじめ編集する。ＵＩ部２１０は、編集された音声パラメータの時間変化に応じて、映像パラメータの時間変化を生成する。音声合成制御部２２０は、編集された音声パラメータの時間変化を用いて音声合成を行う。映像合成制御部２５０は、生成された映像パラメータの時間変化を用いて映像合成を行う。
【００６５】
３−４．変形例４
音声パラメータ、映像パラメータ、および両者の対応関係は、実施形態で例示したものに限定されない。１つの音声パラメータに２つ以上の映像パラメータが対応付けられていてもよい。例えば、音声パラメータ「ダイナミクス」に、キャラクターの相対サイズを示すパラメータおよび仮想カメラのズーム倍率が対応付けられていてもよい。この場合、ダイナミクスを増加させると、キャラクターの相対サイズが大きくなると供に仮想カメラのズーム率が増大する。
【００６６】
３−５．変形例５
情報処理装置１は物理的に単一の装置により構成されるものに限定されない。複数の装置の組み合わせが、上記で説明した情報処理装置１の機能を有していてもよい。例えば、ネットワークを介して接続されたサーバ／クライアントシステムが、情報処理装置１の機能を有していてもよい。一例としては、音声合成エンジン２３０、素片データベース２４０、および映像合成エンジン２６０の機能をサーバ装置が有しており、それ以外の機能をクライアント装置が有していてもよい。
【００６７】
３−６．変形例６
実施形態においては、音声パラメータの変更指示に応じて（映像パラメータそれ自体の変更指示は無くても）映像パラメータを変更する例を説明した。これと逆に、情報処理装置１は、映像パラメータの変更指示に応じて（音声パラメータそれ自体の変更指示は無くても）音声パラメータを変更してもよい。この場合、図１０〜１２で例示した画面において、音声パラメータを変更するための画像オブジェクト（ゲージ９３、スライドバー９４、ゲージ９５、およびスライドバー９６）に代えて、映像パラメータを変更するための画像オブジェクトが表示される。
【００６８】
３−７．変形例７
音声合成は、歌唱音声を合成するものに限定されない。メロディを伴わず、文字列のみから音声が合成されてもよい。
【００６９】
３−８．他の変形例
情報処理装置１のハードウェア構成は実施形態で例示したものに限定されない。要求される機能を実現できるものであれば、情報処理装置１はどのようなハードウェア構成を有していてもよい。情報処理装置１は、例えば、デスクトップＰＣ、ノートＰＣ、スマートフォン、タブレット端末、またはゲーム機であってもよい。
【００７０】
情報処理装置１のソフトウェア構成は実施形態で例示したものに限定されない。図３の機能の一部が、再生アプリケーション２００とは別個のソフトウェアにより提供されてもよい。例えば、音声合成エンジン２３０、素片データベース２４０、および映像合成エンジン２６０が、再生アプリケーション２００とは別のソフトウェアにより提供されてもよい。また、図１に例示した機能構成を実現するためのソフトウェア構成は図３に例示したものに限定されない。要求される機能を実現するものであれば情報処理装置１はどのようなソフトウェア構成を有していてもよい。例えば、情報処理装置１は、再生部２７０を有していなくてもよい。この場合、音声合成エンジン２３０により生成された合成音声、および映像合成エンジン２６０により生成された合成映像は、例えば記録媒体または他の装置に出力される。
【００７１】
情報処理装置１においてＣＰＵ１００により実行されるプログラムは、光ディスク、磁気ディスク、半導体メモリなどの記憶媒体により提供されてもよいし、インターネット等の通信回線を介してダウンロードされてもよい。
【符号の説明】
【００７２】
１…情報処理装置、１１…音声合成手段、１２…映像合成手段、１３…指示受け付け手段、１４…音声パラメータ変更手段、１５…映像パラメータ変更手段、１６…記憶手段、１００…ＣＰＵ１００…メモリ、１０２…ストレージ、１０３…入力装置、１０４…表示装置、１０５…音声出力装置、２００…再生アプリケーション、２１０…ＵＩ部、２１１…ＵＩ監視部、２１２…ＵＩ制御部、２２０…音声合成制御部、２２１…シーケンスデータ管理部、２２２…歌詞データ管理部、２２３…音声パラメータ管理部、２２４…音声合成指示部、２３０…音声合成エンジン、２４０…素片データベース、２５０…映像合成制御部、２５１…背景管理部、２５２…キャラクター管理部、２５３…映像パラメータ管理部、２５４…映像合成指示部、２６０…映像合成エンジン、２７０…再生部、２７１…音声再生部、２７２…映像再生部
【図１】
0006665446.tif 000002
【図２】
0006665446.tif 000003
【図３】
0006665446.tif 000004
【図４】
0006665446.tif 000005
【図５】
0006665446.tif 000006
【図６】
0006665446.tif 000007
【図７】
0006665446.tif 000008
【図８】
0006665446.tif 000009
【図９】
0006665446.tif 000010
【図１０】
0006665446.tif 000011
【図１１】
0006665446.tif 000012
【図１２】
0006665446.tif 000013