(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-21
(45)【発行日】2024-03-29
(54)【発明の名称】処理システム、音響システム及びプログラム
(51)【国際特許分類】
G10L 25/57 20130101AFI20240322BHJP
G10L 25/51 20130101ALI20240322BHJP
G10L 25/21 20130101ALI20240322BHJP
G10L 17/00 20130101ALI20240322BHJP
G10K 15/04 20060101ALI20240322BHJP
【FI】
G10L25/57
G10L25/51
G10L25/21
G10L17/00 200Z
G10K15/04 302D
(21)【出願番号】P 2020038662
(22)【出願日】2020-03-06
【審査請求日】2022-12-20
(73)【特許権者】
【識別番号】000134855
【氏名又は名称】株式会社バンダイナムコエンターテインメント
(74)【代理人】
【識別番号】100166523
【氏名又は名称】西河 宏晃
(74)【代理人】
【識別番号】100104710
【氏名又は名称】竹腰 昇
(74)【代理人】
【識別番号】100124682
【氏名又は名称】黒田 泰
(74)【代理人】
【識別番号】100090479
【氏名又は名称】井上 一
(72)【発明者】
【氏名】森本 直彦
(72)【発明者】
【氏名】村井 伸太郎
【審査官】大野 弘
(56)【参考文献】
【文献】特開2001-042879(JP,A)
【文献】特開2009-244789(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 25/57
G10L 25/51
G10L 25/21
G10L 17/00
G10K 15/04
(57)【特許請求の範囲】
【請求項1】
収音された音声に基づく入力音声データと、前記入力音声データに対応して設定されるガイド音声データとが時系列に入力され、前記入力音声データ、前記ガイド音声データに対する処理を行う音声処理部と、
前記入力音声データ及び前記ガイド音声データに基づく判断処理又は前記ガイド音声データに基づく
判断処理の結果に基づいて、前記入力音声データ又は前記ガイド音声データに対応したモーションを行うようにキャラクタの口形状を制御する形状制御部と、
を含
み、
前記形状制御部は、
前記入力音声データと前記ガイド音声データとが一致すると判断された場合に、前記入力音声データに比べて時系列において先に入力される前記ガイド音声データに基づいて、前記ガイド音声データに対応したモーションを行うように前記キャラクタの口形状を制御し、前記入力音声データと前記ガイド音声データとが一致しないと判断された場合、或いは前記ガイド音声データが存在しないと判断された場合に、前記入力音声データに基づいて、前記入力音声データに対応したモーションを行うように前記キャラクタの口形状を制御することを特徴とする処理システム。
【請求項2】
請求項1において、
前記形状制御部は、
音声がキャラクタの口形状に反映されるまでの遅延時間に対応する時間だけ、前記入力音声データに比べて時系列において先に入力される前記ガイド音声データに基づいて、前記ガイド音声データに対応したモーションを行うように前記キャラクタの口形状を制御することを特徴とする処理システム。
【請求項3】
請求項
1又は2において、
前記音声処理部は、
前記入力音声データに対する音声解析処理を行い、
前記形状制御部は、
前記入力音声データと前記ガイド音声データとが一致しないと判断された場合、或いは前記ガイド音声データが存在しないと判断された場合に、前記入力音声データの前記音声解析処理の結果に基づき生成された形状制御データにより、前記キャラクタの口形状を制御することを特徴とする処理システム。
【請求項4】
請求項
1乃至3のいずれかにおいて、
前記音声処理部は、
前記ガイド音声データに対する音声解析処理を行い、
前記形状制御部は、
前記入力音声データと前記ガイド音声データとが一致すると判断された場合に、前記ガイド音声データの前記音声解析処理の結果に基づき生成された形状制御データにより、前記キャラクタの口形状を制御することを特徴とする処理システム。
【請求項5】
請求項
1乃至4のいずれかにおいて、
前記入力音声データの音圧と前記ガイド音声データの音圧との比較処理により、前記入力音声データと前記ガイド音声データとが一致するか否かが判断されることを特徴とする処理システム。
【請求項6】
請求項1乃至
5のいずれかにおいて、
前記音声処理部は、
前記入力音声データに対して、前記キャラクタに対応する人物の音声と当該音声以外の音とを識別するための処理を行うことを特徴とする処理システム。
【請求項7】
請求項1乃至
6のいずれかにおいて、
前記形状制御部は、
前記ガイド音声データに対応する口形状と前記入力音声データに対応する口形状の一方の口形状である切り替え元の口形状から、前記一方とは異なる他方の口形状である切り替え先の口形状へと、前記キャラクタの口形状を徐々に変化させることを特徴とする処理システム。
【請求項8】
請求項1乃至
7のいずれかにおいて、
前記形状制御部は、
前記ガイド音声データに基づく前記キャラクタの口形状の第1形状制御データの生成と、前記入力音声データに基づく前記キャラクタの口形状の第2形状制御データの生成とを行い、前記第1形状制御データと前記第2形状制御データの重み付け処理を行って、前記キャラクタの口形状の形状制御データを生成することを特徴とする処理システム。
【請求項9】
請求項1乃至
8のいずれかにおいて、
画像を生成する画像生成部を含み、
前記画像生成部は、
前記キャラクタに対応する人物のモーションキャプチャデータと前記キャラクタの口形状の形状制御データとに基づき動作する前記キャラクタの画像を生成することを特徴とする処理システム。
【請求項10】
請求項1乃至
9のいずれかに記載の処理システムと、
音再生システムと、
を含み、
前記音再生システムは、
演奏音信号を演奏トラックの信号として出力し、前記ガイド音声データに対応するガイド音声信号をボーカルトラックの信号として出力する音再生部と、
収音された前記音声の信号である入力音声信号と、前記演奏音信号とが入力され、前記入力音声信号及び前記演奏音信号を増幅して出力する音響増幅部と、
を含み、
前記処理システムには、前記入力音声信号と、前記音再生部からの前記ガイド音声信号が入力されることを特徴とする音響システム。
【請求項11】
収音された音声に基づく入力音声データと、前記入力音声データに対応して設定されるガイド音声データとが時系列に入力され、前記入力音声データ、前記ガイド音声データに対する処理を行う音声処理部と、
前記入力音声データ及び前記ガイド音声データに基づく判断処理又は前記ガイド音声データに基づく
判断処理の結果に基づいて、前記入力音声データ又は前記ガイド音声データに対応したモーションを行うようにキャラクタの口形状を制御する形状制御部として、
コンピュータを機能させ
、
前記形状制御部は、
前記入力音声データと前記ガイド音声データとが一致すると判断された場合に、前記入力音声データに比べて時系列において先に入力される前記ガイド音声データに基づいて、前記ガイド音声データに対応したモーションを行うように前記キャラクタの口形状を制御し、前記入力音声データと前記ガイド音声データとが一致しないと判断された場合、或いは前記ガイド音声データが存在しないと判断された場合に、前記入力音声データに基づいて、前記入力音声データに対応したモーションを行うように前記キャラクタの口形状を制御することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、処理システム、音響システム及びプログラム等に関する。
【背景技術】
【0002】
従来より、キャラクタの口形状を制御する手法としてリップシンクと呼ばれる手法が知られている。例えば特許文献1にはリップシンクを行うアニメーション方法及び装置が開示されている。特許文献1では、音声データから音素データを生成し、生成された音素データに基づいてキャラクタのモデルの口の部分のアニメーションを生成する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
リップシンクでは、音声を収音し、収音された音声の解析処理を行って、キャラクタの口形状を制御する。しかしながら、音声が収音されてから、その音声に対応する口形状がキャラクタの口形状に反映されるまでに遅延が発生してしまう。このような遅延が発生すると、音声とキャラクタの口の動きとが合わなくなり、観者が不自然さを感じてしまう問題が発生する。このような遅延による問題を解消するために、例えばキャラクタの口形状の動きを予め設定しておくようにすると、例えばアドリブが行われたり、音声が途切れた場合などの種々の状況に対応できないという問題がある。
【0005】
本開示によれば、音声とキャラクタの口の動きが合わなくなるのを最小限に抑えながら様々な状況に対応できる処理システム等を提供できる。
【課題を解決するための手段】
【0006】
本開示の一態様は、収音された音声に基づく入力音声データと、前記入力音声データに対応して設定されるガイド音声データとが時系列に入力され、前記入力音声データ、前記ガイド音声データに対する処理を行う音声処理部と、前記入力音声データ及び前記ガイド音声データに基づく判断処理又は前記ガイド音声データに基づく前記判断処理の結果に基づいて、前記入力音声データ又は前記ガイド音声データに対応したモーションを行うようにキャラクタの口形状を制御する形状制御部と、を含む処理システムに関係する。また本開示の一態様は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
【0007】
本開示の一態様によれば、入力音声データ及びガイド音声データに基づく判断処理又はガイド音声データに基づく判断処理の結果に応じて、入力音声データに対応したモーションを行うようにキャラクタの口形状が制御されたり、ガイド音声データに対応したモーションを行うようにキャラクタの口形状が制御されるようになる。このようにすれば、例えばガイド音声データを用いることで、音声に対応する口形状の反映が遅延するのを最小限に抑えながら、ガイド音声データから入力音声データに切り替え可能にすることで、種々の状況にも対応できるようになる。従って、音声とキャラクタの口の動きが合わなくなるのを最小限に抑えながら様々な状況に対応できる処理システム等の提供が可能になる。
【0008】
また本開示の一態様では、前記形状制御部は、前記判断処理の結果に基づいて、前記入力音声データと前記ガイド音声データとが一致しないと判断された場合、或いは前記ガイド音声データが存在しないと判断された場合に、前記入力音声データに対応したモーションを行うように前記キャラクタの口形状を制御してもよい。
【0009】
このようにすれば、ガイド音声データを用いて、音声に対応する口形状の反映が遅延するのを最小限に抑えながら、判断処理の結果に基づいて、ガイド音声データの代わりに入力音声データを用いてキャラクタの口形状を制御できるようになり、種々の状況に対応できるようになる。
【0010】
また本開示の一態様では、前記音声処理部は、前記入力音声データに対する音声解析処理を行い、前記形状制御部は、前記判断処理の結果に基づいて、前記入力音声データと前記ガイド音声データとが一致しないと判断された場合、或いは前記ガイド音声データが存在しないと判断された場合に、前記入力音声データの前記音声解析処理の結果に基づき生成された形状制御データにより、前記キャラクタの口形状を制御してもよい。
【0011】
このようにすれば、入力音声データの音声解析処理を行い、その結果により生成された形状制御データを用いて、キャラクタの口形状を制御できるようになる。
【0012】
また本開示の一態様では、前記形状制御部は、前記判断処理の結果に基づいて、前記入力音声データと前記ガイド音声データとが一致すると判断された場合に、前記ガイド音声データに対応したモーションを行うように前記キャラクタの口形状を制御してもよい。
【0013】
このようにすれば、入力音声データとガイド音声データが一致するような状況においては、ガイド音声データに対応するようにキャラクタの口形状が制御されるようになり、音声に対応する口形状の反映が遅延するのを最小限に抑えることが可能になる。
【0014】
また本開示の一態様では、前記音声処理部は、前記ガイド音声データに対する音声解析処理を行い、前記形状制御部は、前記入力音声データと前記ガイド音声データとが一致すると判断された場合に、前記ガイド音声データの前記音声解析処理の結果に基づき生成された形状制御データにより、前記キャラクタの口形状を制御してもよい。
【0015】
このようにすれば、ガイド音声データの音声解析処理を行い、その結果により生成された形状制御データを用いて、キャラクタの口形状を制御できるようになる。
【0016】
また本開示の一態様では、前記入力音声データの音圧と前記ガイド音声データの音圧との比較処理により、前記入力音声データと前記ガイド音声データとが一致するか否かが判断されてもよい。
【0017】
このようにすれば入力音声データとガイド音声データの一致判定を、音声データの音圧に基づいて適正に判定することが可能になる。
【0018】
また本開示の一態様では、前記ガイド音声データは、各音素に対応するデータが、前記入力音声データに比べて時系列において先に入力されるデータであってもよい。
【0019】
このようにすれば、音声に対応する口形状がキャラクタの口形状に反映されるまでに遅延が発生する問題がある場合に、この遅延時間分だけ、ガイド音声データの各音素に対応するデータが、入力音声データに比べて先に入力されるようにすることで、この問題を解消できるようになる。
【0020】
また本開示の一態様では、前記音声処理部は、前記入力音声データに対して、前記キャラクタに対応する人物の音声と当該音声以外の音とを識別するための処理を行ってもよい。
【0021】
このようにすれば、キャラクタに対応する人物の音声以外の音が収音された場合にも、キャラクタに対応する人物の音声を識別してキャラクタの口形状を適正に制御できるようになる。
【0022】
また本開示の一態様では、前記形状制御部は、前記ガイド音声データに対応する口形状と前記入力音声データに対応する口形状の一方の口形状である切り替え元の口形状から、前記一方とは異なる他方の口形状である切り替え先の口形状へと、前記キャラクタの口形状を徐々に変化させてもよい。
【0023】
このようにすれば、ガイド音声データ及び入力音声データの一方から、他方に切り替わった際に、一方に対応する口形状から他方に対応する口形状へと、キャラクタの口形状が徐々に変化するようになり、より自然なキャラクタの口の動きを表現できるようになる。
【0024】
また本開示の一態様では、前記形状制御部は、前記ガイド音声データに基づく前記キャラクタの口形状の第1形状制御データの生成と、前記入力音声データに基づく前記キャラクタの口形状の第2形状制御データの生成とを行い、前記第1形状制御データと前記第2形状制御データの重み付け処理を行って、前記キャラクタの口形状の形状制御データを生成してもよい。
【0025】
このようにすれば、ガイド音声データに基づく第1形状制御データと、入力音声データに基づく第2形状制御データの重み付け処理を行って、キャラクタの口形状についての種々の制御が可能になる。
【0026】
また本開示の一態様では、画像を生成する画像生成部を含み、前記画像生成部は、前記キャラクタに対応する人物のモーションキャプチャデータと前記キャラクタの口形状の形状制御データとに基づき動作する前記キャラクタの画像を生成してもよい。
【0027】
このようにすれば、あたかも本当の人間が動きながら音声を発しているように見えるキャラクタの画像を生成することが可能になる。
【0028】
また本開示の一態様は、上記に記載の処理システムと、音再生システムと、を含み、前記音再生システムは、演奏音信号を演奏トラックの信号として出力し、前記ガイド音声データに対応するガイド音声信号をボーカルトラックの信号として出力する音再生部と、収音された前記音声の信号である入力音声信号と、前記演奏音信号が入力され、前記入力音声信号及び前記演奏音信号を増幅して出力する音響増幅部と、を含み、前記処理システムには、前記入力音声信号と、前記音再生部からの前記ガイド音声信号とが入力される音響システムに関係する。
【0029】
本開示の一態様によれば、入力音声信号と音再生部からの演奏音信号を、音響増幅部で増幅して出力しながら、処理システムは、入力音声信号に対応する入力音声データと、音再生部からのガイド音声信号に対応するガイド音声データとに基づいて、キャラクタの口形状を適正に制御するための処理を実行できるようになる。
【図面の簡単な説明】
【0030】
【
図1】本実施形態の処理システムの構成例を示すブロック図。
【
図2】本実施形態の処理システムの適用例の説明図。
【
図3】本実施形態の処理システムの適用例の説明図。
【
図4】反映元モデルのモーションの取得処理の一例の説明図。
【
図5】反映元モデルのモーションを反映先モデルに反映させるリターゲット処理の説明図。
【
図6】本実施形態の処理例を説明するフローチャート。
【
図7】本実施形態の詳細な処理例を説明するフローチャート。
【
図8】本実施形態の詳細な処理例を説明するフローチャート。
【
図9】本実施形態の処理システムを含む音響システムの構成例。
【
図10】ガイド音声が設定されるボーカルトラックと、演奏トラックの説明図。
【
図11】音声処理、形状制御処理の詳細例の説明図。
【
図13】入力音声データとガイド音声データの関係についての説明図。
【
図17】入力音声データとガイド音声データの音圧を比較する処理の説明図。
【
図18】
図18(A)~
図18(F)は入力音声データに基づく形状制御データ、ガイド音声データに基づく形状制御データの説明図。
【
図19】ガイド音声データに基づく形状制御データと入力音声データに基づく形状制御データの重み付け処理についての説明図。
【
図20】切り替え元の口形状から切り替え先の口形状にキャラクタの口形状を徐々に変化させる処理の説明図。
【発明を実施するための形態】
【0031】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲の記載内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、必須構成要件であるとは限らない。
【0032】
1.処理システム
図1は、本実施形態の処理システム(情報処理装置、アトラクション用装置、ゲーム装置)の構成例を示すブロック図である。なお、本実施形態の処理システムは
図1の構成に限定されず、その構成要素の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【0033】
操作部160は、オペレータ(ユーザ、プレーヤ)が種々の操作情報(入力情報)を入力するためのものである。操作部160は、例えばキーボード、操作ボタン、方向指示キー、ジョイスティック、レバー又はタッチパネル型ディスプレイ等により実現できる。
【0034】
I/F部162(インターフェース部)は、外部機器とのインターフェース処理を行うものであり、例えばマイク20、音再生部40などの音響関連機器との間のインターフェース処理を行う。例えばI/F部162は、オーディオインターフェース用のサウンドボードなどにより実現できる。
【0035】
記憶部170は各種の情報を記憶する。記憶部170は、処理部100や通信部196などのワーク領域として機能する。プログラムや、プログラムの実行に必要なデータは、この記憶部170に保持される。記憶部170の機能は、半導体メモリ(DRAM、VRAM)、HDD(hard disk drive)、SSD(Solid State Drive)、又は光ディスク装置などにより実現できる。記憶部170は、音声データ記憶部171、モーションデータ記憶部172、オブジェクト情報記憶部174、描画バッファ178を含む。音声データ記憶部171は音声データを記憶する。例えば音声データ記憶部171は、ガイド音声データを記憶したり、入力音声データを記憶することができる。モーションデータ記憶部172は、キャラクタ等のモデルのモーション再生を行うためのモーションデータを記憶する。オブジェクト情報記憶部174は、モデルを構成するオブジェクトや仮想空間を構成するオブジェクトについての各種の情報(形状情報、位置情報等)を記憶する。描画バッファ178は、フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファである。
【0036】
情報記憶媒体180は、コンピュータにより読み取り可能な媒体であり、プログラムやデータなどを格納するものである。情報記憶媒体180は、光ディスク(DVD、BD、CD)、HDD、或いは半導体メモリ(ROM)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータ(入力装置、処理部、記憶部、出力部を備える装置)を機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
【0037】
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、LCD、有機ELディスプレイ、CRT、タッチパネル型ディスプレイ、或いはHMD(Head Mounted Display)などにより実現できる。音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカー又はヘッドホン等により実現できる。
【0038】
I/F部194(インターフェース部)は、携帯型情報記憶媒体195とのインターフェース処理を行うものであり、その機能はI/F処理用のASICなどにより実現できる。携帯型情報記憶媒体195は、プレーヤが各種の情報を保存するためのものであり、電源が非供給になった場合にもこれらの情報の記憶を保持する記憶装置である。携帯型情報記憶媒体195は、ICカード(メモリカード)、USBメモリ、或いは磁気カードなどにより実現できる。
【0039】
通信部196は、有線や無線のネットワークを介して外部(他の装置)との間で通信を行うものであり、その機能は、通信用ASIC又は通信用プロセッサなどのハードウェアや、通信用ファームウェアにより実現できる。
【0040】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、サーバ(ホスト装置)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(或いは記憶部170)に配信してもよい。このようなサーバによる情報記憶媒体の使用も本実施形態の範囲内に含めることができる。
【0041】
処理部100(プロセッサ)は、操作部160からの操作入力情報やプログラムなどに基づいて、音声処理、形状制御処理、或いは画像生成処理などを行う。
【0042】
処理部100の各部が行う本実施形態の各処理はプロセッサ(ハードウェアを含むプロセッサ)により実現できる。例えば本実施形態の各処理は、プログラム等の情報に基づき動作するプロセッサと、プログラム等の情報を記憶するメモリにより実現できる。プロセッサは、例えば各部の機能が個別のハードウェアで実現されてもよいし、或いは各部の機能が一体のハードウェアで実現されてもよい。例えば、プロセッサはハードウェアを含み、そのハードウェアは、デジタル信号を処理する回路及びアナログ信号を処理する回路の少なくとも一方を含むことができる。例えば、プロセッサは、回路基板に実装された1又は複数の回路装置(例えばIC等)や、1又は複数の回路素子(例えば抵抗、キャパシター等)で構成することもできる。プロセッサは、例えばCPU(Central Processing Unit)であってもよい。但し、プロセッサはCPUに限定されるものではなく、GPU(Graphics Processing Unit)、或いはDSP(Digital Signal Processor)等、各種のプロセッサを用いることが可能である。またプロセッサはASICによるハードウェア回路であってもよい。またプロセッサは、アナログ信号を処理するアンプ回路やフィルター回路等を含んでもよい。メモリ(記憶部170)は、SRAM、DRAM等の半導体メモリであってもよいし、レジスターであってもよい。或いはハードディスク装置(HDD)等の磁気記憶装置であってもよいし、光学ディスク装置等の光学式記憶装置であってもよい。例えば、メモリはコンピュータにより読み取り可能な命令を格納しており、当該命令がプロセッサにより実行されることで、処理部100の各部の処理が実現されることになる。ここでの命令は、プログラムを構成する命令セットでもよいし、プロセッサのハードウェア回路に対して動作を指示する命令であってもよい。
【0043】
処理部100は、音声処理部102、形状制御部110、画像生成部120を含む。上述したように、これらの各部により実行される本実施形態の各処理は、プロセッサ(或いはプロセッサ及びメモリ)により実現できる。なお、これらの構成要素(各部)の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【0044】
音声処理部102は音声データに対する種々の制御を行う。形状制御部110は、キャラクタなどのオブジェクトの口形状などの形状の制御処理を行う。音声処理部102、形状制御部110の詳細については後述する。
【0045】
画像生成部120は、画像の生成処理を行う。例えば処理部100で行われる種々の処理の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に表示する。具体的には画像生成部120は、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、透視変換、或いは光源処理等のジオメトリ処理を行い、その処理結果に基づいて、描画データ(プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を作成する。そして画像生成部120は、この描画データ(プリミティブ面データ)に基づいて、透視変換後(ジオメトリ処理後)のオブジェクト(1又は複数プリミティブ面)を、描画バッファ178に描画する。これにより、仮想空間において仮想カメラから見える仮想空間画像が生成される。なお画像生成部120で行われる描画処理は、頂点シェーダ処理やピクセルシェーダ処理等により実現することができる。また処理部100は、音の生成処理も行う。具体的には、楽曲(音楽、BGM)、効果音、又は音声などを生成し、音出力部192に出力させる。
【0046】
また処理部100は、ゲーム処理、仮想空間設定処理、仮想カメラ設定処理、移動体処理などを行ってもよい。ゲーム処理は、例えば、ゲーム開始条件が満たされた場合にゲームを開始する処理、開始したゲームを進行させる処理、ゲーム終了条件が満たされた場合にゲームを終了する処理、或いはゲーム成績を演算する処理などである。仮想空間設定処理は、例えば、移動体(車、人、ロボット、電車、飛行機、船、モンスター又は動物等)、マップ(地形)、建物、観客席、コース(道路)、アイテム、樹木、壁、水面などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェイスなどのプリミティブ面で構成されるオブジェクト)を仮想空間に配置設定する処理である。例えば仮想空間設定処理では、ワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する処理が行われる。具体的には、記憶部170のオブジェクト情報記憶部174には、仮想空間でのオブジェクト(パーツオブジェクト)の位置、回転角度、移動速度又は移動方向等の情報であるオブジェクト情報がオブジェクト番号に対応づけて記憶される。仮想空間設定処理では、例えば各フレーム毎に、仮想空間情報であるオブジェクト情報の更新処理が行われる。また仮想カメラ設定処理は、仮想空間での仮想カメラの位置や方向を設定する処理である。例えば仮想カメラ設定処理では、移動体(キャラクタ)の位置や方向の情報や、或いは仮想カメラの位置や方向の設定情報に基づいて、仮想空間での仮想カメラの位置や方向を設定する処理が行われる。移動体処理は、仮想空間での移動体の移動情報を演算する処理である。例えば移動体処理では、仮想空間において移動体を移動させるための処理が行われる。
【0047】
そして本実施形態の処理システムは、
図1に示すように、音声処理部102、形状制御部110を含む。
【0048】
音声処理部102は音声に関する種々の処理を行う。具体的には入力音声データやガイド音声データに対する処理を行う。例えば音声処理部102は、収音された音声に基づく入力音声データと、入力音声データに対応して設定されるガイド音声データとが時系列に入力され、これらの入力音声データ、ガイド音声データに対する処理を行う。
【0049】
入力音声データは、例えばマイク20により収音され、マイク20からI/F部162を介して音声処理部102(処理システム)に入力される。ガイド音声データは、例えば音再生部40が出力し、音再生部40からI/F部162を介して音声処理部102(処理システム)に入力される。なおガイド音声データを音声データ記憶部171に記憶しておき、音声データ記憶部171から読み出されたガイド音声データを、音声処理部102に入力してもよい。入力音声データは、マイク20などの機器により収音された音声に基づくデータである。なお入力音声データは、リアルタイムに収音された音声に基づくものには限定されず、録音された音声に基づくものであってもよい。ガイド音声データは、入力音声データに対応して設定される音声データであり、例えば入力音声データと共に時系列に音声処理部102に入力される。例えばガイド音声データは、各音素に対応するデータが、入力音声データに比べて時系列において先に入力されるデータである。例えばガイド音声データは、入力音声データの代替え用の音声データである。
【0050】
形状制御部110は、キャラクタの口形状を制御する処理を行う。例えば音声に対応する口の形になるようにキャラクタの口形状を制御する。キャラクタは、モデルオブジェクトであり、例えばポリゴン等の複数のプリミティブにより構成されるオブジェクトである。例えばキャラクタの口の部分もポリゴン等のプリミティブにより構成され、形状制御部110は、このようなプリミティブにより構成されるキャラクタの口の形状を制御する。
【0051】
そして形状制御部110は、入力音声データ及びガイド音声データに基づく判断処理又はガイド音声データに基づく判断処理の結果に基づいて、入力音声データ又はガイド音声データに対応したモーションを行うようにキャラクタの口形状を制御する。入力音声データ及びガイド音声データに基づく判断処理は、入力音声データとガイド音声データを比較する処理や、或いは入力音声データ及びガイド音声データを監視する処理などである。ここで判断処理は、入力音声データ又はガイド音声データのいずれに対応した口形状の制御を行うかを判断するための処理である。この判断処理は、例えば形状制御部110が行うが、音声処理部102が行うようにしてもよい。具体的には、入力音声データ及びガイド音声データに基づく判断処理は、入力音声データとガイド音声データを比較して、入力音声データとガイド音声データが一致するか否かを判断する処理や、入力音声データやガイド音声データを監視して、入力音声データやガイド音声データが存在するか否かを確認する処理である。或いは、入力音声データ及びガイド音声データに基づく判断処理は、入力音声データ及びガイド音声データを所与の評価基準で評価して、評価結果に基づいて、入力音声データ又はガイド音声データのいずれに対応した口形状の制御を行うかを判断する処理である。またガイド音声データに基づく判断処理は、ガイド音声データを監視する処理、或いはガイド音声データを評価する処理などである。具体的には、ガイド音声データに基づく判断処理は、ガイド音声データを監視して、ガイド音声データが存在するか否かを確認したり、或いはガイド音声データを所与の評価基準で評価して、評価結果に基づいて、入力音声データ又はガイド音声データのいずれに対応した口形状の制御を行うかを判断する処理である。
【0052】
そして形状制御部110は、判断処理の結果に基づいて、入力音声データ又はガイド音声データに対応したモーションを行うようにキャラクタの口形状を制御する。例えば形状制御部110は、判断処理の結果により、入力音声データに対応した口形状の制御を行うか、ガイド音声データに対応した口形状の制御を行うかを、選択する。入力音声データに対応した口形状の制御は、キャラクタの口の形状を、入力音声データの音声に対応する形状にする制御である。例えば入力音声データの音声解析処理が行われる場合には、形状制御部110は、この音声解析処理の結果に基づいて、キャラクタの口形状を制御する。ガイド音声データに対応した口形状の制御は、キャラクタの口の形状を、ガイド音声データの音声に対応する形状にする制御である。例えばガイド音声データの音声解析処理が行われる場合には、形状制御部110は、この音声解析処理の結果に基づいて、キャラクタの口形状を制御する。なおガイド音声データに対応する口の形状制御データ(モーションデータ)を例えば予め設定しておき、当該形状制御データに基づいてキャラクタの口形状を制御してもよい。
【0053】
また形状制御部110は、判断処理の結果に基づいて、入力音声データとガイド音声データとが一致しないと判断された場合、或いはガイド音声データが存在しないと判断された場合に、入力音声データに基づいてキャラクタの口形状を制御する。例えば形状制御部110は、入力音声データ及びガイド音声データに基づく判断処理の結果に基づいて、入力音声データとガイド音声データとが一致しないと判断された場合に、入力音声データに対応するモーションを行うようにキャラクタの口形状を制御する。例えば判断処理として、入力音声データとガイド音声データの音圧等を比較する判断処理が行われ、入力音声データとガイド音声データとが一致しないと判断された場合に、入力音声データに対応するモーションを行うようにキャラクタの口形状を制御する。即ち入力音声データに基づいてキャラクタの口形状を制御する。或いは形状制御部110は、ガイド音声データの判断処理(監視処理)の結果に基づいて、ガイド音声データが存在しないと判断された場合に、入力音声データに基づいてキャラクタの口形状を制御する。例えば時系列に入力されているガイド音声データが途切れた場合に、ガイド音声データに代わって、入力音声データに基づいてキャラクタの口形状を制御する。
【0054】
また音声処理部102は、入力音声データに対する音声解析処理を行う。そして形状制御部110は、判断処理の結果に基づいて、入力音声データとガイド音声データとが一致しないと判断された場合、或いはガイド音声データが存在しないと判断された場合に、入力音声データの音声解析処理の結果に基づき生成された形状制御データにより、キャラクタの口形状を制御する。例えば音声処理部102は、入力音声データの周波数解析処理を行って、入力音声データの音声の母音を検出する音声解析処理を行う。例えば音声の音素解析により母音と子音を分離する。そして音声処理部102は、日本語を例にとれば、分離された母音が、「あ」、「い」、「う」、「え」、「お」のいずれの母音であるか否かを検出する。形状制御部110は、このような入力音声データの音声解析処理の結果である母音の検出結果に基づき生成された形状制御データにより、キャラクタの口形状を制御する。例えば「あ」、「い」、「う」、「え」、「お」の各母音が検出された場合には、検出結果に対応する形状制御データを生成して、各母音の口形状になるようにキャラクタの口形状を制御する。
【0055】
また形状制御部110は、判断処理の結果に基づいて、入力音声データとガイド音声データとが一致すると判断された場合に、ガイド音声データに対応したモーションを行うようにキャラクタの口形状を制御する。例えば形状制御部110は、入力音声データと、当該入力音声データに対応するガイド音声データの両者が時系列に入力されているときには、ガイド音声データに対応したモーションを行うようにキャラクタの口形状を制御する。例えばガイド音声データの音声解析処理の結果に基づいて、キャラクタの口形状を制御する。この音声解析処理は音声処理部102が行う。或いは、ガイド音声データに対応する口の形状制御データが設定されている場合には、この形状制御データに基づいてキャラクタの口形状を制御する。入力音声データとガイド音声データの一致を判断する処理は、例えばガイド音声データの音声が、入力音声データの音声に対応する音声であるか否かを判断する処理である。例えば入力音声データとガイド音声データの一致を判断する処理は、入力音声データとガイド音声データの完全な一致を判断する処理である必要はなく、入力音声データとガイド音声データとが略一致することを判断する処理であれば十分である。即ち入力音声データとガイド音声データとが所定の判定範囲内において一致していればよい。
【0056】
また音声処理部102は、ガイド音声データに対する音声解析処理を行う。そして形状制御部110は、入力音声データとガイド音声データとが一致すると判断された場合に、ガイド音声データの音声解析処理の結果に基づき生成された形状制御データにより、キャラクタの口形状を制御する。例えば音声処理部102は、ガイド音声データの周波数解析処理を行って、ガイド音声データの音声の母音を検出する音声解析処理を行う。例えば音声の音素解析により母音と子音を分離して、母音を検出する。形状制御部110は、このようなガイド音声データの音声解析処理の結果である母音の検出結果に基づき生成された形状制御データにより、キャラクタの口形状を制御する。例えば「あ」、「い」、「う」、「え」、「お」の各母音が検出された場合には、検出結果に対応する形状制御データを生成して、各母音の口形状になるようにキャラクタの口形状を制御する。
【0057】
また本実施形態では、例えば入力音声データの音圧とガイド音声データの音圧との比較処理により、入力音声データとガイド音声データとが一致するか否かが判断される。例えば音声処理部102が、入力音声データの音圧とガイド音声データの音圧を比較する判断処理を行うことで、入力音声データとガイド音声データとが一致するか否かが判断される。入力音声データの音圧とガイド音声データの音圧の一致を判断する処理は、ガイド音声データの音声の音圧と、当該音声に対応する入力音声データの音声の音圧とが、一致するか否かを判断する処理である。例えば入力音声データの音圧とガイド音声データの音圧の一致を判断する処理は、入力音声データの音圧とガイド音声データの音圧の完全な一致を判断する処理である必要はなく、入力音声データの音圧とガイド音声データの音圧とが略一致することを判断する処理であれば十分である。即ち入力音声データの音圧とガイド音声データの音圧とが、所定の音圧範囲内において一致していればよい。
【0058】
また本実施形態では、ガイド音声データは、各音素に対応するデータが、入力音声データに比べて時系列において先に入力されるデータである。例えばガイド音声データの各音素に対応するデータとしてDGP1~DGPmが時系列に入力され、入力音声データの各音素に対応するデータとしてDIP1~DIPmが時系列に入力されたとする。この場合に、ガイド音声データの各音素に対応するデータであるDGPk(1≦k≦m)は、入力音声データの各音素に対応するデータであるDIPkに比べて、時系列において先に入力される。例えばリップシンクにおいて音声がキャラクタの口形状に反映されるまでの遅延時間に対応する時間だけ、時系列において先に入力される。一例としては例えば50msec~200msecの範囲内の所与の時間だけ時系列において先に入力される。
【0059】
また音声処理部102は、入力音声データに対して、キャラクタに対応する人物の音声と当該音声以外の音とを識別するための処理を行う。例えばマイク20により収音された音声に基づく入力音声データに対して、キャラクタに対応する人物の音声以外の音が含まれていたとする。キャラクタに対応する人物の音声以外の音は、当該人物とは異なる人物の音声や、演奏音や、周囲音や、或いは環境ノイズ音などである。当該人物とは異なる人物の音声は、例えば観客の音声や、複数の歌手(話者)がいる場合における他の歌手(他の話者)の音声である。音声処理部102は、このようなキャラクタに対応する人物の音声以外の音を除去又は低減して、キャラクタに対応する人物の音声を識別する話者認識処理を行う。そして、識別されたキャラクタに対応する人物の音声を用いて、音声認識処理などの各種の音声処理を実行する。
【0060】
また形状制御部110は、ガイド音声データに対応する口形状と入力音声データに対応する口形状の一方の口形状である切り替え元の口形状から、一方とは異なる他方の口形状である切り替え先の口形状へと、キャラクタの口形状を徐々に変化させる。例えば切り替え元の口形状が、ガイド音声データに対応する口形状であり、切り替え先の口形状が、入力音声データに対応する口形状であったとする。この場合には、ガイド音声データに対応する口形状から、入力音声データに対応する口形状へと、キャラクタの口形状を変化させる。例えばガイド音声データに基づいてキャラクタの口形状を制御している状態から、入力音声データに基づいてキャラクタの口形状を制御する状態に切り替える場合には、このようにガイド音声の口形状から入力音声の口形状へと、キャラクタの口形状を変化させる。また切り替え元の口形状が、入力音声データに対応する口形状であり、切り替え先の口形状が、ガイド音声データに対応する口形状であったとする。この場合には、入力音声データに対応する口形状から、ガイド音声データに対応する口形状へと、キャラクタの口形状を変化させる。例えば入力音声データに基づいてキャラクタの口形状を制御している状態から、ガイド音声データに基づいてキャラクタの口形状を制御する状態に切り替える場合には、このように入力音声の口形状からガイド音声の口形状へと、キャラクタの口形状を変化させる。
【0061】
また形状制御部110は、ガイド音声データに基づくキャラクタの口形状の第1形状制御データの生成と、入力音声データに基づく前記キャラクタの口形状の第2形状制御データの生成とを行う。即ちガイド音声データに基づく第1形状制御データの生成と、入力音声データに基づく第2形状制御データの生成を、並列に実行する。そして形状制御部110は、第1形状制御データと第2形状制御データの重み付け処理を行って、キャラクタの口形状の形状制御データを生成する。例えばガイド音声データに基づく第1形状制御データをCGとし、入力音声データに基づく第2形状制御データをCIとし、重み付け処理後のキャラクタの形状制御データをCQとし、重み付け係数をαとする。この場合には、例えばCQ=α×CG+(1-α)×CIで表される重み付け処理を行う。このようにすれば、例えばαを1から0に変化させることで、ガイド音声データに対応する口形状から、入力音声データに対応する口形状へと、キャラクタの口形状を変化させることが可能になる。またαを0から1に変化させることで、入力音声データに対応する口形状から、ガイド音声データに対応する口形状へと、キャラクタの口形状を変化させることが可能になる。
【0062】
また
図1に示すように本実施形態の処理システムは、画像を生成する画像生成部120を含む。そして画像生成部120は、キャラクタに対応する人物のモーションキャプチャデータとキャラクタの口形状の形状制御データとに基づき動作するキャラクタの画像を生成する。
【0063】
例えばモーションキャプチャデータは、キャラクタに対応する人物のモーションキャプチャにより取得されるモーションのデータであり、モーションのリターゲット処理における反映元モデルのモーションのデータである。また、リターゲット処理における反映先モデルのモーションは、仮想的なキャラクタのモーションである。本実施形態では、反映元モデルのモーション(モーションデータ)を反映先モデルのモーション(モーションデータ)に反映させるリターゲット処理(リターゲッティング)を行う。例えば、反映元モデルのモーションを、反映元モデルとは骨格形状(関節位置)が異なる反映先モデルのモーションに反映させるリターゲット処理を行う。例えば反映元モデルのスケルトンの姿勢(モーション)が変化した場合に、反映元モデルのスケルトンと同様の姿勢変化になるように、反映先モデルのスケルトンの姿勢(モーション)を変化させる。例えば、反映元モデルのモーションデータに基づいて反映先モデルのスケルトンのフォワードキネマティクス処理を行うことで、反映元モデルと同様の姿勢変化で反映先モデルの姿勢を変化させるリターゲット処理を実現できる。例えば反映元モデルと反映先モデルは、同様の骨の階層構造を共有しており、モーション(アニメーション)を共有できるモデルになっている。
【0064】
このようなリターゲット処理を行うことで、キャラクタの口のモーション以外のモーション処理を実現できる。そしてキャラクタの口のモーションについては、入力音声データやガイド音声データに応じて生成される口形状の形状制御データを用いて実現する。
【0065】
2.本実施形態の手法
次に本実施形態の手法について詳細に説明する。
【0066】
2.1 キャラクタライブへの適用例
まず仮想的なキャラクタがライブパフォーマンスを行うキャラクタライブへの本実施形態の手法の適用例について説明する。このキャラクタライブは、モーションキャプチャとリップシンクにより実現される。
図2に示すように観客が集まるライブ会場には、大型のモニター90が設置される。そしてモニター90には、ライブパフォーマンスを行う仮想的なキャラクタCHが表示される。またサービスモニター92には、歌っているキャラクタCHの顔の部分の画像がズームアップされて表示されている。キャラクタCHは、例えば3次元のCGモデルであり、3次元の仮想空間(オブジェクト空間)において、キャラクタCHが歌ったり踊ったりするライブパフォーマンスの画像が、モニター90に表示される。
【0067】
キャラクタCHは、キャラクタCHに対応する人物である演者(アクター)のモーションキャプチャデータにより動作する。例えば
図3に模式的に示されるように、ライブ会場には、例えば観客から見えない場所にアクターエリアが設けられている。なおアクターエリアは、ライブ会場の別室に設けてもよいし、ライブ会場から離れた場所に設けてもよい。そしてアクターエリアにおいて、演者がモーションキャプチャ用のスーツを装着して、歌ったり、踊ったりするライブパフォーマンスを行う。すると、モーションキャプチャ用のスーツからの検出情報により、モーションキャプチャデータである演者のモーションデータが取得される。そして演者のモーションを仮想的なキャラクタCHのモーションに反映さるリターゲット処理が行われて、演者の動きに連動して動くキャラクタCHの画像が生成される。これにより、ライブ会場に設けられたモニター90に、演者の動きに連動して動く仮想的なキャラクタCHが表示されるようになり、仮想的なキャラクタCHによるライブコンサートが実現される。或いは本実施形態の処理システムは、ライブコンサートに限らず、SNSや動画配信サイトなどに対して、動画配信者が仮想的なキャラクタの動画を配信する用途に用いてもよい。そして仮想的なキャラクタは、現実世界の人物の動きと同様の動きをするため、予めプログラミングされた動きをするキャラクタに比べて、動きのリアル度を高めることができ、高い演出効果のモーション再生を実現できる。なおキャラクタ画像を表示する場合には、モーションデータに基づいて、キャラクタを構成する部位オブジェクトの頂点を、重み付け係数を用いてスケルトンのモーションに追従させて移動させるスキニング処理を行えばよい。
【0068】
図2、
図3の適用例では、本実施形態の処理システムは情報処理装置により実現される。即ち、この場合には情報処理装置が本実施形態の処理システムを含む構成になる。情報処理装置は、形状制御データやモーションデータなどの各種の情報を処理する装置であり、プロセッサ等により実現される。情報処理装置は、例えばパーソナルコンピュータや、或いはゲーム装置や携帯型情報処理装置などの端末装置である。或いは情報処理装置はサーバ装置であってもよい。また処理システムは端末装置とサーバ装置の分散処理により実現されてもよい。この場合には処理システムは複数の情報処理装置により実現される。この場合に端末装置は情報の入力処理や受信処理や送信処理や表示処理などだけを行うものであってもよい。
【0069】
次にリターゲット処理について説明する。
図4では人物である演者ACTが、モーションキャプチャ用のスーツSTを体に装着している。モーションキャプチャ用のスーツSTには複数のマーカーMKが取り付けられており、これらのマーカーMKの位置を測定することで、演者のモーションを検出する。この場合の検出方式としては、光学式、慣性センサ式、機械式、磁気式などの種々の方式がある。光学式では、反射板等により実現されるマーカーMKが取り付けられたモーションキャプチャ用のスーツSTを着用した演者ACTの動きを、カメラで撮影する。機械式では、ポテンションメータやエンコードなどの機械的な回転角や変位を測定するセンサを利用する。磁気式では受信器である磁気センサを設け、それに対して送出機である磁気発生装置から磁場を送る。或いは、Kinect(登録商標)と呼ばれる方式のように、デプスセンサやRGBセンサを利用して、演者ACTのモーションを検出してもよい。
【0070】
このように
図4では、人物である演者ACTのモーションが、反映元モデルのモーションMTSとして検出される。このモーションMTSは、演者ACTに対応するスケルトンの姿勢を規定するものであり、スケルトンは、関節JA、JB、JCや、これらの関節で規定される骨BA、BBを有する。そして
図5に示すように、反映元モデルのモーションMTSを、反映先モデルのモーションMTDに反映させるリターゲット処理が行われる。
図5では反映先モデルは、仮想的なキャラクタCHであり、反映先モデルのモーションMTDは、キャラクタCHのスケルトンの姿勢を規定するものである。反映元モデルのモーションMTSと反映先モデルのモーションMTDとで骨格形状が異なっている。具体的には、例えばスケルトンの関節JA、JB、JCなどの位置が異なっており、骨BA、BBの長さも異なっているが、スケルトンの階層構造(親子構造)などは共通になっている。
【0071】
図4、
図5のようなリターゲット処理が行われることで、反映元モデルの姿勢が変化すると、反映先モデルの姿勢もそれに応じて変化するようになる。例えば反映元モデルがしゃがむ姿勢になると、反映先モデルもしゃがむ姿勢になり、反映元モデルが足を上げる姿勢になると、反映先モデルも足を上げる姿勢になる。これにより、例えば反映元モデルである演者ACTの動きに連動して、反映先モデルである仮想空間のキャラクタCHも動くようになり、演者ACTの動きをキャラクタCHに反映させることが可能になる。
【0072】
そして本実施形態では
図1の画像生成部120が、キャラクタCHに対応する人物である演者ACTのモーションキャプチャデータと、キャラクタCHの口形状の形状制御データとに基づき動作するキャラクタCHの画像を生成する。即ち
図4で説明したモーションキャプチャにより得られたモーションデータであるモーションキャプチャデータに基づいて、演者ACTの動きに連動するようにキャラクタCHを動作させると共に、本実施形態の手法により生成された形状制御データに基づいて、演者ACTの歌やセリフの音声に合うように、キャラクタCHの口を動かす。このようにすれば、あたかも本当の人間が動きながら歌ったり喋ったりしているように見えるキャラクタCHの画像を生成することが可能になり、キャラクタライブなどの実現が可能になる。
【0073】
なお本実施形態の処理システムを、情報処理装置により実現する場合に、例えば音声処理部102や形状制御部110については第1情報処理装置により実現し、画像生成部120については第2情報処理装置により実現するというように、複数の情報処理装置により本実施形態の処理システムを実現してもよい。
【0074】
2.2 口形状の制御
以上のように
図2、
図3のキャラクタライブでは、キャラクタのモーションについてはモーションキャプチャによるリターゲット処理により実現している。一方、キャラクタが歌ったり喋ったりする場合には、キャラクタCHの口形状についても制御する必要がある。具体的には、
図3のアクターエリアにおいて演者がマイクを持って歌ったり、喋ったりすると、その音声がマイクにより収音される。そして収音された音声に基づいて、キャラクタの口形状を制御するリップシンクの処理を行う。このようにすることで、演者が歌ったり喋ったりすることによる音声に合わせて、キャラクタ(キャラクタモデル)の口形状を動かすことが可能になり、よりリアルなキャラクタ画像を生成できるようになる。
【0075】
しかしながら、キャラクタライブなどのようにリアルタイム性が求められる状況においては、リアルタイムに音声を収音しつつ、その音声に合わせてリアルタイムにキャラクタの口形状を動かす必要がある。このため、従来のリップシンクの手法を適用しただけでは、音声が収音されてから、その音声に対応する口形状がキャラクタに反映されるまでにどうしても遅延が発生してしまう。このため、音声とキャラクタの口の動きが合わなくなってしまい、観者が不自然さを感じてしまう。例えば
図2のサービスモニター92には、キャラクタの顔がズームアップで表示されるが、このサービスモニター92に表示されるキャラクタの口の動きが、演者が歌うことでライブ会場に出力される歌声の音声と合っていないと、観者である観客は違和感を感じてしまう。一方、このような音声と口の動きが合わなくなる問題を回避するために、キャラクタの口形状の動きを予め設定しておくような手法を採用すると、今度は、曲の繋ぎなどでMCの会話が行われたり、歌の途中にアドリブが入ったり、歌詞忘れなどで音声が途切れた場合などの種々の状況に対応できないという問題が発生してしまう。
【0076】
そこで本実施形態では、マイクより収音された入力音声に対応して設定されるガイド音声を別に用意する。このガイド音声は例えば入力音声の代替え用の音声であり、入力音声の代わりにガイド音声を用いてキャラクタの口形状を制御する。例えばガイド音声を、入力音声に比べて時系列で先に入力されるようにする。このようにすれば、音声が収音されてからその音声に対応する口形状がキャラクタに反映されるまでに遅延が発生した場合にも、この遅延時間の分だけ先にガイド音声を入力するようにすれば、これに対処できるようになる。一方、ガイド音声に基づいてキャラクタの口形状を制御しながら、所定の状況になった場合に、ガイド音声からマイクの入力音声に切り替えて、キャラクタの口形状を制御するようにすれば、曲の繋ぎなどでMCが入ったり、歌の途中にアドリブが入ったり、或いは音声が途切れた場合などの種々の状況にも対応できるようになる。
【0077】
図6は本実施形態の処理例を説明するフローチャートである。まず本実施形態の処理システム(音声処理部)は、時系列に入力される入力音声データ及びガイド音声データを受け付ける(ステップS1)。例えば収音された音声に基づく入力音声データと、入力音声データに対応して設定されるガイド音声データとが時系列に入力され、これらの入力音声データ、ガイド音声データが受け付けられる。そして処理システムは、入力音声データ及びガイド音声データに基づく判断処理、又はガイド音声データに基づく判断処理を行う(ステップS2)。例えばガイド音声データに応じた口形状の制御を行うか、入力音声データに応じた口形状の制御を行うかを判断するための判断処理を行う。この判断処理は、入力音声データ及びガイド音声データの両方を用いて行ってもよいし、ガイド音声データのみを用いて行ってもよい。入力音声データ及びガイド音声データの両方を用いる場合には、例えば入力音声データとガイド音声データを比較する判断処理を行う。ガイド音声データのみを用いる場合には、例えばガイド音声データが存在するか否かの判断処理を行う。そして判断処理の結果に基づいて、入力音声データ又はガイド音声データに対応したモーションを行うようにキャラクタの口形状を制御する(ステップS3)。例えば判断処理の結果により、入力音声データを使用すると判断された場合には、入力音声データに対応したモーションを行うようにキャラクタの口形状を制御する。例えば入力音声データの音声解析処理の結果に基づき生成された形状制御データにより、キャラクタの口形状を制御する。一方、判断処理の結果により、ガイド音声データを使用すると判断された場合には、ガイド音声データに対応したモーションを行うようにキャラクタの口形状を制御する。例えばガイド音声データの音声解析処理の結果に基づき生成された形状制御データにより、キャラクタの口形状を制御したり、ガイド音声データに予め対応づけられたモーションで動くようにキャラクタの口形状を制御する。
【0078】
以上のように本実施形態によれば、収音された音声に基づく入力音声データと、入力音声データに対応するガイド音声データが用意される。そして入力音声データ及びガイド音声データに基づく判断処理又はガイド音声データに基づく判断処理の結果に応じて、入力音声データに対応したモーションを行うようにキャラクタの口形状が制御されたり、ガイド音声データに対応したモーションを行うようにキャラクタの口形状が制御されるようになる。このようにすれば、例えばガイド音声データを用いることで、音声に対応する口形状の反映が遅延するのを最小限に抑えながら、ガイド音声データから入力音声データに切り替え可能にすることで、人間のアドリブ等の状況にも対応できるようになる。従って、音声とキャラクタの口の動きが合わなくなるのを最小限に抑えながら様々な状況に対応できる処理システム等の提供が可能になる。
【0079】
図7は本実施形態の詳細な処理例を示すフローチャートである。まず処理システムは、時系列に入力される入力音声データ及びガイド音声データを受け付ける(ステップS11)。そして入力音声データ、ガイド音声データに対するフィルター処理や話者識別処理等のデジタル信号処理を実行する(ステップS12)。例えば入力音声データやガイド音声データのノイズを低減するフィルター処理を行うことで、入力音声データやガイド音声データを用いた音声解析処理の解析精度の向上等を実現できる。また入力音声データに対して、キャラクタに対応する人物の音声と当該音声以外の音とを識別するための話者識別処理を実行することで、キャラクタに対応する人物の音声に基づいて適正にキャラクタの口形状を制御できるようになる。
【0080】
次に入力音声データとガイド音声データが一致するか否かを判断し、一致すると判断された場合には、ガイド音声データに対応するモーションを行うようにキャラクタの口形状を制御する(ステップS13、S14)。例えばガイド音声データの音声解析処理の結果などに基づいてキャラクタの口形状を制御する。一方、入力音声データとガイド音声データが一致しないと判断された場合には、入力音声データに対応するモーションを行うようにキャラクタの口形状を制御する(ステップS15)。例えば入力音声データの音声解析処理の結果などに基づいてキャラクタの口形状を制御する。
【0081】
図8も本実施形態の詳細な処理例を示すフローチャートである。
図8のステップS21、S22は
図7のステップS11、S12と同様であるため説明を省略する。そして
図8ではステップS21、S22の後、ガイド音声データが存在するか否かを判断し、存在すると判断された場合には、ガイド音声データに対応するモーションを行うようにキャラクタの口形状を制御する(ステップS23、S24)。一方、ガイド音声データが存在しないと判断された場合には、入力音声データに対応するモーションを行うようにキャラクタの口形状を制御する(ステップS25)。
【0082】
以上のように本実施形態では、判断処理の結果に基づいて、
図7のステップS13、S15に示すように入力音声データとガイド音声データとが一致しないと判断された場合や、或いは
図8のステップS23、S25に示すようにガイド音声データが存在しないと判断された場合に、入力音声データに対応したモーションを行うようにキャラクタの口形状を制御する。このようにすれば、ガイド音声データを用いて、音声に対応する口形状の反映が遅延するのを最小限に抑えながら、判断処理の結果に基づいて、ガイド音声データの代わりに入力音声データを用いてキャラクタの口形状を制御できるようになり、種々の状況に対応できるようになる。即ち後述の
図14、
図15、
図16で説明するように、曲の繋ぎなどでMCの会話が入ったり、歌の途中にアドリブが入ったり、或いは歌詞忘れなどにより音声が途切れた場合などの種々の状況にも対応できるようになる。
【0083】
この場合に本実施形態では、入力音声データに対する音声解析処理を行う。例えば後述の
図12(A)~
図12(C)で説明するようなフォルマントなどを用いた音声解析処理により、入力音声の母音等の音素を検出する。そして判断処理の結果に基づいて、入力音声データとガイド音声データとが一致しないと判断された場合、或いはガイド音声データが存在しないと判断された場合に、入力音声データの音声解析処理の結果に基づき生成された形状制御データにより、キャラクタの口形状を制御する。例えば
図11や
図18(A)~
図18(F)で説明する形状制御データを生成して、キャラクタの口形状を制御する。このようにすれば入力音声データの音声解析処理を行って、入力音声の母音等の音素を検出し、その検出結果により生成された形状制御データを用いて、キャラクタの口形状を制御できるようになる。これにより音声解析処理を利用した、より適正なキャラクタの口形状の制御を実現できるようになる。
【0084】
また本実施形態では、
図7のステップS13、S14に示すように、判断処理の結果に基づいて、入力音声データとガイド音声データとが一致すると判断された場合に、ガイド音声データに対応したモーションを行うようにキャラクタの口形状を制御する。このようにすれば、入力音声データとガイド音声データが一致するような状況においては、ガイド音声データに対応するようにキャラクタの口形状が制御されるようになる。これにより、例えば入力音声データを用いて口形状を制御すると、音声に対応する口形状の反映が遅延してしまう場合にも、ガイド音声データを用いることで、音声に対応する口形状の反映が遅延するのを最小限に抑えることが可能になる。従って、音声とキャラクタの口の動きが合わなくなるのを抑制できるようになり、観者が感じる違和感を低減できる。
【0085】
この場合に本実施形態では、ガイド音声データに対する音声解析処理を行う。例えば後述の
図12(A)~
図12(C)で説明するようなフォルマントなどを用いた音声解析処理により、ガイド音声の母音等の音素を検出する。そして入力音声データとガイド音声データとが一致すると判断された場合に、ガイド音声データの音声解析処理の結果に基づき生成された形状制御データにより、キャラクタの口形状を制御する。例えば
図11や
図18(A)~
図18(F)で説明する形状制御データを生成して、キャラクタの口形状を制御する。このようにすればガイド音声データの音声解析処理を行って、ガイド音声の母音等の音素を検出し、その検出結果により生成された形状制御データを用いて、キャラクタの口形状を制御できるようになる。これにより音声解析処理を利用した、より適正なキャラクタの口形状の制御を実現できるようになる。
【0086】
なお
図8のステップS23、S24では、判断処理の結果に基づいて、ガイド音声データが存在すると判断された場合に、ガイド音声データに対応したモーションを行うようにキャラクタの口形状を制御している。このようにすれば、ガイド音声データが存在するような状況においては、ガイド音声データに対応するようにキャラクタの口形状が制御されるようになる。これにより、例えば入力音声データを用いて口形状を制御すると、音声に対応する口形状の反映が遅延してしまう場合にも、ガイド音声データを用いることで、音声に対応する口形状の反映が遅延するのを最小限に抑えることが可能になり、観者が感じる違和感を低減できる。
【0087】
なお本実施形態の手法は、
図2、
図3で説明したようなキャラクタのライブのみならず、テレビ番組、動画配信、或いはカラオケ映像などにも適用できる。例えばテレビ番組に仮想的なキャラクタを出演させて、歌唱などのパフォーマンスを行わせる。或いは動画配信サイトなどにおいて、仮想的なキャラクタが歌唱などのパフォーマンスを行う。或いは、カラオケ映像に、歌唱を行うキャラクタを出演させる。また本実施形態においてキャラクタが行うパフォーマンスは、音楽コンサートやミュージカルなどにおける歌唱のパフォーマンスに限定されず、演劇、漫才、講演、ニュース番組や対談などにおける歌唱を伴わないセリフなどによるパフォーマンスであってもよい。また本実施形態の手法は、ライブや生放送のように、口形状を動かしたキャラクタの映像をリアルタイムに配信するものに限定されず、また視聴者用の端末に送信したりモニターに表示したりするものにも限定されない。例えば本実施形態の手法は、音声の収音と口形状の動きの制御をリアルタイムに行うものであれば適用可能である。例えば、本実施形態の手法を、ミュージックビデオなどの映像作品の製作に用いてもよいし、生放送ではなく事前に映像を制作(収録)するものに用いてもよい。この場合であっても、収音した音声からキャラクタの口形状を決定する際に、音声の収音タイミングと口形状の反映タイミングのズレを最小限にできるため、後々の編集作業を簡易化しつつ、MCやアドリブなどの種々の状況にも対応できるようになる。
【0088】
また入力音声データは、演者(アクター)の音声を、マイクからリアルタイムに収音した音声データであるが、この音声データは歌唱の音声データに限らず、セリフの音声データであってもよい。またマイクから収音した音声に基づく入力音声データをそのまま用いてもよいし、入力音声データに対してフィルター処理や加工処理を行ってもよい。なお、マイクでの収音は、演者の声以外が収音されないような環境で収音することが好ましい。
【0089】
例えば本実施形態では
図7のステップS12や
図8のステップS22に示すように、入力音声データに対して、キャラクタに対応する人物の音声と当該音声以外の音とを識別するための処理である話者識別処理を行っている。このようにすれば、キャラクタに対応する人物の音声を識別して、音声解析処理などの音声処理を行うことが可能になり、音声処理の精度向上を図れるようになる。例えばマイクによる収音では、キャラクタに対応する人物である演者の周囲の音、楽器の演奏音、環境ノイズ、観客の声や、他の演者の声が収音されてしまう可能性があり、これが原因で音声解析処理や形状制御処理などの処理の精度が低下する可能性がある。このため、
図7のステップS12や
図8のステップS22に示すように、口形状を動かすキャラクタに対応する演者の声以外を除去することが望ましい。この場合に、例えば、人間の声以外の音を周波数解析等で除去するようにしてもよいし、既存の話者認識技術を使用して予め登録した演者の声だけを抽出してもよい。後者の方法は、特に、収音した音声の中に、複数の人物の声が収音されている場合の対策として有効である。
【0090】
また、キャラクタに対応する人物である演者が複数人いる場合(登場する仮想的なキャラクタが複数いる場合)には、以下に説明するような手法を採用してもよい。例えば、複数の演者の各々の演者に対してマイクを用意し、各々のマイクで収音した音声を、各演者用(各演者に対応する各キャラクタ用)の入力音声データとしてもよい。また1つのマイクで複数の演者の音声を収音して、上述の話者識別技術などで、各演者用(各キャラクタ用)の入力音声データを生成するようにしてもよい。また話者識別技術などを用いて、入力音声データは一つだが、話者ごとにタグ付けして、どちらの話者(キャラクタ)の音声かを識別できるようにしてもよい。
【0091】
またガイド音声データは、例えば入力音声データにおける音声を収音する以前に、録音・生成された音声データである。この場合に、ガイド音声データは、入力音声データの演者と必ずしも同じ演者の音声が録音されていなくてもよい。即ちガイド音声データは、別の人間の音声で生成されたものでもよいし、コンピュータによる合成音声で生成されたものでもよい。
【0092】
また入力音声データと同様に、事前に収音(生成)した音声のデータをそのままガイド音声データとしてもよい。また例えば後述の
図10で説明するように、ボーカルトラックをガイド音声データとするようにしてもよい。またガイド音声データに対してフィルター処理や加工処理を行ってもよい。
【0093】
また入力音声データの場合と同様に、演者の音声以外を除去したものをガイド音声データとしてもよい。例えばガイド音声データの場合、楽器音などが混在している音源などから楽器音などを除去するようにしてもよい。また演者が複数人いる場合(キャラクタが複数いる場合)は、以下に説明するような手法を採用してもよい。即ち、入力音声データの場合と同様に、演者毎(キャラクタ毎)にガイド音声データを用意してもよいし、1つのガイド音声データ内で話者毎(キャラクタ毎)にタグ付けをするようにしてもよい。
【0094】
また入力音声データとガイド音声データの一致判定においては、入力音声データと、ガイド音声データとが時系列で対応づけられた状態で、順次入力される入力音声データが、予め用意されたガイド音声データと一致するか否かを判定する。この場合に後述の
図17で説明するように入力音声データの音圧とガイド音声データの音圧の比較処理により、入力音声データとガイド音声データが一致するか否かを判定してもよい。この場合の音圧の比較処理は、音圧の有無の判定であってもよい。例えば演者が歌唱している場合には、入力音声データの音圧が有るため、入力音声データとガイド音声データが一致すると判定する。或いは、音圧の有無だけではなく、より詳細に音圧のレベルが同程度か否かを判定するようにしてもよい。また発音された音声の音響特徴が一致するか否かを判定するようにしてもよい。例えば音声の母音が一致しているか、音程が一致しているか否かなどを判定する。或いは、以上に説明した判定の処理を組み合わせて、入力音声データとガイド音声データが一致するか否かを判定してもよい。
【0095】
また入力音声データとガイド音声データの比較処理において、演者(キャラクタ)が複数いる場合は、各演者毎(各キャラクタ毎)に、対応する入力音声データとガイド音声データどうしを比較すればよい。また前述したようなタグ付けが行われている場合は、タグが対応する音声データどうしを比較すればよい。
【0096】
また入力音声データとガイド音声データの比較処理において、音声波形どうしを比較するのではなく、一方の音声データ又は両方の音声データが、比較に必要な情報だけを含んでいるものを音声データとして取り扱ってもよい。例えば、音声波形ではなく、「音声の有無」という情報や、「母音」の情報だけが時系列に対応付けられているデータを用いて、入力音声データとガイド音声データの比較処理を行ってもよい。
【0097】
また本実施形態では、入力音声データとガイド音声データが一致すると判断された場合(或いはガイド音声が存在すると判断された場合)に、所与のモーションデータに基づいてキャラクタの口形状を制御する。このモーションデータは、ガイド音声データの音声に合うように口形状が設定されるモーションデータである。この場合に、このモーションデータは、ガイド音声データに合うように、予め人の手で設定されたモーションデータであってもよい。或いは、このモーションデータは、ガイド音声データに基づいて既存のリップシンク処理を用いて口形状を決定したデータ(形状制御データ)であってもよい。また予め当該モーションデータを用意しておいてもよいし、リアルタイムにモーションデータを生成するようにしてもよい。そして、このようなモーションデータを用いて、キャラクタの口形状を決定することでキャラクタの口形状の動きを制御する。
【0098】
また本実施形態では、入力音声データとガイド音声データが一致しないと判断された場合(或いはガイド音声が存在しないと判断された場合)に、入力音声データに基づいた口形状の制御を行う。例えば入力音声データに基づいて既存のリップシンク処理により口形状を決定する。このようにマイクで順次収音された音声から順次に入力音声データを生成して、順次にキャラクタの口形状を決定することでキャラクタの口形状の動きを制御する。
【0099】
また本実施形態では、入力音声データとガイド音声データが一致すると判断された場合に、ガイド音声データに対応するモーションを行うようにキャラクタの口形状を制御し、入力音声データとガイド音声データが一致しないと判断された場合に、入力音声データに対応するモーションを行うようにキャラクタの口形状を制御する。この場合に、入力音声データとガイド音声データの比較結果に基づいて、入力音声データを用いた口形状の決定処理と、ガイド音声データを用いた口形状の決定処理の一方だけを行うようにしてもよい。或いは、後述の
図19、
図20で説明するように、入力音声データを用いた口形状の決定処理と、ガイド音声データを用いた口形状の決定処理を並行に実行し、どちらの処理結果でキャラクタの口形状を制御するのかの重み付けを変えることで切り替えてもよい。
【0100】
また本実施形態では、一人の演者の動きや歌唱に合わせて、1つのキャラクタの体の動き(モーション再生)と口の動き(リップシンク)を制御する場合について説明したが、本実施形態はこれに限定されない。例えば1つのキャラクタの体の動き(モーション再生)と口の動き(リップシンク)を、複数人の演者の動き(モーションキャプチャ)や音声により制御してもよい。例えば第1演者のモーションキャプチャデータに基づいて、キャラクタの体のモーションを制御し、第2演者の音声(入力音声、ガイド音声)に基づいて、当該キャラクタの口の動きを制御してもよい。また1つのキャラクタの体の動きを、複数人の演者で分担して制御したり、1つのキャラクタの口の動きを、複数人の演者の音声で分担して制御してもよい。例えば第1演者のモーションキャプチャデータに基づいて、キャラクタの体の第1部分を動かし、第2演者のモーションキャプチャデータに基づいて、当該キャラクタの体の第2部分を動かす。或いは、第1演者の音声に基づいて、第1期間でのキャラクタの口の動きを制御し、第2演者の音声に基づいて、第2期間での当該キャラクタの口の動きを制御する。
【0101】
また本実施形態では、キャラクタの口形状の制御について主に説明したが、キャラクタの口形状以外の制御に本実施形態の手法を適用することも可能である。例えばキャラクタ以外のエフェクトなどのオブジェクトの制御に、本実施形態の手法を適用してもよい。
【0102】
2.3 具体例
次に本実施形態の具体例について詳細に説明する。
図9に本実施形態の音響システム10の構成例を示す。この音響システム10は、例えば
図2、
図3で説明したようなキャラクタライブなどにおいて用いることができる。
図9に示すように音響システム10は、音再生システム12と処理システム50を含む。音再生システム12は音再生部40と音響増幅部42を含む。また音再生システム12はマイク20やスピーカー30を含むことができる。
【0103】
音再生部40は、後述の
図10で説明するように、演奏音信号を演奏トラックの信号として出力し、ガイド音声データに対応するガイド音声信号をボーカルトラックの信号として出力する。演奏音信号は、例えば演奏パートを構成する楽器の演奏信号である。楽器の演奏信号とガイド音声信号は、演奏のカラオケ信号となる。例えば音再生部40は、音再生用の情報処理装置(パーソナルコンピュータ等)により実現することができ、この音再生用の情報処理装置のオーディオインターフェースを介して、演奏音信号やガイド音声信号が外部に出力される。演奏音信号やガイド音声信号は例えばアナログ信号であるが、デジタル信号であってもよい。そして音再生部40は、演奏音信号やガイド音信号のデータを記憶する記憶部(メモリー)を有しており、この記憶部から当該データを読み出すことで、音再生信号である演奏音信号やガイド音信号を外部に出力する。
【0104】
音響増幅部42は、収音された音声の信号である入力音声信号と、演奏音信号とが入力され、入力音声信号及び演奏音信号を増幅して出力する。音響増幅部42は、例えばPAと呼ばれる機器により実現される。
図9では、マイク20により収音された音声の信号が入力音声信号として、音響増幅部42に入力される。この入力音声信号は、マイク20を持ちながら歌唱する演者の音声の信号である。そして音響増幅部42は、入力音声信号及び演奏音信号を増幅してスピーカー30に出力する。これにより、入力音声や演奏音がスピーカー30を介して
図2、
図3のライブ会場などに出力されるようになる。
【0105】
そして本実施形態の処理システム50には、入力音声信号と、音再生部40からのガイド音声信号が入力される。即ちマイク20からの入力音声信号は、音響増幅部42に入力されると共に処理システム50に入力される。また音再生部40のボーカルトラックの信号であるガイド音声信号も処理システム50に入力される。具体的には処理システム50を実現する情報処理装置のオーディオインターフェースを介して、入力音声信号とガイド音声信号が入力される。そして処理システム50は、時系列に入力される入力音声信号及びガイド音声信号に基づいて
図6~
図8等で説明した本実施形態の処理を実行する。このような構成の音響システム10によれば、例えば演者の入力音声信号と、音再生部40からの演奏音信号を、音響増幅部42で増幅して、ライブ会場等の会場に出力しながら、処理システム50は、入力音声信号に対応する入力音声データと、音再生部40からのガイド音声信号に対応するガイド音声データとに基づいて、本実施形態の処理を実現することが可能になる。
【0106】
図10は音再生部40の音再生におけるボーカルトラック、演奏トラックの説明図である。
図10に示すようにボーカルトラックにはガイド音声が収録されている。一方、演奏トラックには、演奏パートを構成するギター、ベース、シンセサイザー、ドラムなどの楽器の演奏音が収録されている。音再生時には、これらのガイド音声、演奏音が時系列に再生される。そして
図10のA1、A2に示すように、ガイド音声は、楽器の演奏音に比べて、時系列において先に再生される音になっている。例えばガイド音声の歌詞である「みらいにむかって」の「み」は、通常であれば、
図10のA1のタイミングで再生されるべき音素であるが、A1よりも先のタイミングであるA2のタイミングで再生される。一方、演者は、音再生部40から音響増幅部42及びスピーカー30を介して出力される演奏音を聴きながら歌うため、
図10のA1のタイミングで、「みらいにむかって」の歌詞の「み」を発話することになる。このような再生手法で音再生部40がガイド音声信号及び演奏音信号を出力することで、ガイド音声は、「み」、「ら」、「い」などの各音素が、入力音声に比べて、時系列において先に再生される音声になる。これにより例えば後述の
図13で説明するように、ガイド音声信号に対応するガイド音声データは、各音素に対応するデータが、入力音声信号に対応する入力音声データに比べて時系列において先に入力されるデータになる。
【0107】
そして本実施形態では処理システム50は、ガイド音声信号に対応するガイド音声データに対応したモーションを行うようにキャラクタの口形状を制御する。例えばリップシンクにおいては、音声解析の処理時間などが原因となって、演者の音声に対応する口形状がキャラクタの口形状に反映されるまでに長い遅延時間が発生するという問題がある。この点、本実施形態では、入力音声データよりも時系列で先に入力されるガイド音声データによりキャラクタの口形状を制御することができる。従って、このような遅延時間が発生しても、マイク20により収音されてスピーカー30等を介して出力される演者の入力音声と、キャラクタの口の動きとが合うようになる。従って、キャラクタライブなどに好適なリップシンク手法を実現することが可能になる。
【0108】
図11は、本実施形態の音声処理、形状制御処理の詳細例の説明図である。
図9のマイク20からの入力音声信号と、音再生部40からのガイド音声信号は、A/D変換部164に入力される。このA/D変換部164は例えば
図1のI/F部162に設けられる。具体的にはA/D変換部164は、I/F部162を実現するオーディオインターフェースに設けられる。そしてA/D変換部164は、入力音声信号、ガイド音声信号のA/D変換を行って、入力音声データ、ガイド音声データを出力し、これらの入力音声データ、ガイド音声データが音声処理部102に入力される。
【0109】
音声処理部102は、デジタル信号処理部104と音声解析部106を含む。デジタル信号処理部104は、入力音声データ、ガイド音声データに対するフィルター処理などのデジタル信号処理を行う。或いは前述した話者識別処理のデジタル信号処理を行ってもよい。音声解析部106は、後述の
図12(A)~
図12(C)で説明する音声解析処理を行って、音声解析結果を形状制御部110に出力する。例えば音声解析部106は、入力音声データ、ガイド音声データに対してFFT処理等を行って周波数スペクトルを求める。そして入力音声やガイド音声の母音等の音素の検出処理を行って、音声解析結果として形状制御部110に出力する。
【0110】
形状制御部110は、形状制御データ生成部112を含み、形状制御データ生成部112はフィルター処理部114を含む。形状制御データ生成部112は、音声解析部106からの音声解析結果に基づいて、後述の
図18(A)~
図18(F)等で説明する形状制御データを生成する。そして生成された形状制御データは、
図1の画像生成部120に出力される。例えば画像生成部120が別の情報処理装置により実現される場合には、この情報処理装置に対して形状制御データが出力される。そして画像生成部120は、キャラクタに対応する人物のモーションキャプチャデータと、キャラクタの口形状の形状制御データとに基づき動作するキャラクタの画像を生成する。この場合に形状制御データは、音声解析結果に基づき生成されるため、データに揺らぎがある。そこでフィルター処理部114が、形状制御データに対して移動平均フィルターなどのフィルター処理を行う。そして、このようなフィルター処理は、多くのサンプル数のデータが必要になるため、このフィルター処理の処理時間は長くなる。このため、音声解析の処理時間と、フィルター処理の処理時間が原因となって、演者の音声に対応する口形状がキャラクタに反映されるまでに長い遅延時間が発生してしまうという問題がある。例えば50~200msec程度の遅延時間が発生してしまう。本実施形態では、このような遅延時間の問題を解決するために、入力音声データの代替えとなるガイド音声データに基づいて、キャラクタの口形状を制御する。例えば入力音声データよりも時系列において先に入力されるガイド音声データに基づいてキャラクタの口形状を制御することで、音声と口の動きが合うようなキャラクタの画像を生成することが可能になる。
【0111】
次に音声解析処理の詳細例について
図12(A)~
図12(C)を用いて説明する。なお以下では入力音声データ及びガイド音声データを、適宜、音声データと総称する。音声解析処理では、まず例えば音声データの音声波形の各解析フレームが、子音フレームなのか、母音フレームなのかを解析する。そして解析フレーム毎に周波数スペクトルを求め、音声データに対して解析フレーム毎のフォルマントを求める。そして求められたフォルマントが、
図12(A)においてどの位置にあるのかを解析する。
図12(A)では、第1フォルマントをX軸とし、第2フォルマントをY軸としており、B1、B2、B3、B4、B5が各母音の位置を示している。音声データの各解析フレームでのフォルマントの位置と、B1、B2、B3、B4、B5の位置との距離に基づく重み付け演算により、
図18(A)~
図18(F)で説明する形状制御データを生成する。例えば、音声データのフォルマントの位置が、「あ」の母音の位置に近ければ、「あ」の重み付けが高くなり、音声データのフォルマントの位置が、「い」の母音の位置に近ければ、「い」の重み付けが高くなるように求められた形状制御データを生成する。そして生成された形状制御データに基づいて、
図12(B)、
図12(C)に示すようにキャラクタCHの口形状を制御する。例えば
図12(B)は「あ」の母音の口形状であり、
図12(C)は「い」の母音の口形状である。
【0112】
また本実施形態では、ガイド音声データは、各音素に対応するデータが、入力音声データに比べて時系列において先に入力されるデータになっている。例えば
図13において、C1に示す入力音声データの音素「み」のデータに比べて、C2に示すガイド音声データの音素「み」のデータは、時系列において先に入力されるデータになる。同様に、入力音声データの音素「ら」、「い」、「に」・・・・のデータに比べて、ガイド音声データの音素「み」「ら」、「い」、「に」のデータも、時系列において先に入力されるデータになる。別の言い方をすれば、入力音声データの各音素は、ガイド音声データの各音素に対して、所与の遅延時間分だけ遅れている。リップシンクにおいては、音声解析の処理時間や
図11のフィルター処理部114の処理時間などが原因となって、音声に対応する口形状がキャラクタの口形状に反映されるまでに遅延が発生する問題が生じる。従って、C1、C2に示すように、この遅延時間分だけ、ガイド音声データの各音素に対応するデータが、入力音声データに比べて先に入力されるようにすることで、このような問題を解消することができる。
図9、
図10を例にとれば、演者は、
図10のA1のタイミングでマイク20に向かって、「みらいにむかって」の歌詞の「み」を発話するが、ボーカルトラックのガイド音声では、A1のタイミングよりも先のA2のタイミングで「み」の音素の信号が出力される。こうすることで、
図9の処理システム50には、各音素に対応するデータが、入力音声データに比べて時系列において先になるようなガイド音声データが入力されるようになり、上記の音声解析処理やフィルター処理の遅延に起因する問題を解消できるようになる。
【0113】
図14、
図15、
図16は本実施形態の詳細な処理例の説明図である。
図14では曲の繋ぎなどにおいてMCの会話が行われている。例えばキャラクタに対応する演者が、マイクを使ってMCを行う。そして、歌唱が行われている期間では、
図14に示すようにガイド音声と入力音声が一致している。即ち演者がマイクを向かって、ガイド音声に対応する入力音声を発話している。例えば「みらいにむかって」という歌詞の音声をマイクに入力している。そして
図9、
図10で説明したように、この「みらいにむかって」という歌詞のガイド音声の信号が、音再生部40から処理システム50に入力されるため、ガイド音声と入力音声は一致する。そして、このようにガイド音声と入力音声が一致している期間では、本実施形態ではガイド音声によりキャラクタの口形状を制御する。このようにガイド音声を用いることで、音声に対応する口形状がキャラクタの口形状に反映されるまでに遅延が発生していても、音声と口の動きを合わせることが可能になる。
【0114】
一方、MCが行われている期間では、
図14に示すようにガイド音声と入力音声は一致しない。即ち、演者はマイクに向かってMCの会話を話しているが、ガイド音声には、歌唱のパートしかなく、MCのパートが無いため、ガイド音声と入力音声は一致しなくなる。この場合に本実施形態では、入力音声によりキャラクタの口形状を制御する。このようにすれば、MCの会話が行われる状況になった場合にも、MCの会話の入力音声に応じて、キャラクタの口が動くようになる。例えばガイド音声しか使用しない手法では、MCの期間では、キャラクタの口が動かなってしまう問題がある。この点、MCの期間においてガイド音声の代わりに入力音声に応じてキャラクタの口形状を制御することで、反映の遅延の問題は残るが、キャラクタの口が動かなってしまう問題を解消できるようになる。
【0115】
なお
図14では、ガイド音声と入力音声が一致しないと判断された場合に、入力音声により口形状を制御しているが、
図8で説明した手法のように、ガイド音声が存在しないと判断された場合に、入力音声により口形状を制御してもよい。例えばガイド音声が存在する期間では、ガイド音声により口形状を制御するが、ガイド音声が存在しない無音期間においては、入力音声により口形状を制御する。このようにすれば、
図14のように曲の繋ぎでMCが行われた場合にも、これに適正に対応できるようになる。
【0116】
図15では、曲の途中で演者が歌詞忘れなどをしたことで、歌が途切れて中断されている。この場合に歌唱が行われている期間においては、ガイド音声と入力音声が一致する。従って、この場合にはガイド音声により口形状を制御する。このようにガイド音声を用いることで、音声に対応する口形状がキャラクタの口形状に反映されるまでに遅延が発生していても、音声と口の動きを合わせることが可能になる。
【0117】
一方、歌詞忘れなどにより歌が中断されている期間においては、ガイド音声と入力音声は一致しない。即ち、歌の中断期間においては、ガイド音声では、歌唱期間として通常どおりに歌が流れているが、入力音声では、演者の歌詞忘れなどにより歌が流れていないため、ガイド音声と入力音声は一致しなくなる。この場合に本実施形態では、入力音声によりキャラクタの口形状を制御する。例えば歌詞忘れなどにより歌が途切れて中断されているのに、ガイド音声に基づいて口形状を制御してしまうと、ライブの会場等には、演者の歌が流れていないのに、キャラクタの口だけがガイド音声に基づいて動いてしまう不自然な状況が発生してしまう。この点、本実施形態では、歌の中断期間においては入力音声に基づき口形状が制御されるため、キャラクタの口も動かなくなり、上記のような不自然な状況が発生するのを防止できる。
【0118】
図16では、歌の途中にアドリブが入っている。即ち、演者が、通常の歌詞と異なる歌詞をアドリブで歌っている。例えばガイド音声では、歌詞は「東京ラブ」という通常の歌詞になっているが、入力音声では、演者がアドリブで「大阪ラブ」と歌っている。例えばライブ会場の場所が大阪である場合には、このようなアドリブが行われることが多い。この場合に本実施形態では、アドリブ期間以外の期間では、ガイド音声と入力音声が一致するため、ガイド音声により口形状を制御する。一方、アドリブ期間においては、ガイド音声と入力音声は一致しないため、入力音声により口形状を制御する。例えばアドリブ期間においてガイド音声により口形状を制御すると、演者は「大坂ラブ」と歌っているのに、キャラクタの口の動きは「東京ラブ」の口の動きになってしまう不自然な状況が発生してしまう。この点、本実施形態では、アドリブ期間においては入力音声に基づき口形状が制御されるため、キャラクタの口の動きも「大阪ラブ」の口の動きになり、音声と口の動きが合うようになるため、上記のような不自然な状況が発生するのを防止できる。
【0119】
また本実施形態では
図17に示すように、入力音声データの音圧とガイド音声データの音圧との比較処理により、入力音声データとガイド音声データとが一致するか否かを判断する。このようにすれば入力音声データとガイド音声データの一致判定を、音声データの音圧(音声波形の振幅)に基づいて適正に判定することが可能になる。この場合の音圧の比較は、音圧の有無の判定であってもよい。例えば入力音声データとガイド音声データの両方で歌が唄われていた場合には、一致すると判定する。また音圧の有無だけではなく、音圧のレベルが同程度か否かを比較する処理を行ってもよい。例えば入力音声データとガイド音声データの各測定タイミングでの音圧レベルを比較し、両者の音圧レベルが所定の判定範囲内に入っている場合に、一致すると判定する。なお、
図13で説明したようにガイド音声データの波形に比べて入力音声データの波形は時系列で遅れている。このため、音圧比較の場合には、この遅れ時間も考慮して比較処理を行うようにする。
【0120】
2.4 形状制御データ
次に形状制御データについて詳細に説明する。例えば
図18(A)~
図18(C)は、入力音声データに基づく形状制御データCI(1)~CI(5)の例である。CI(1)、CI(2)、CI(3)、CI(4)、CI(5)は、各々、「あ」、「い」、「う」、「え」、「お」の各母音に対応する形状制御データである。そしてCI(1)~CI(5)の値の合算値は1.0になるように設定される。
【0121】
例えば
図18(A)のように、CI(1)=1.0であり、CI(2)=CI(3)=CI(4)=CI(5)=0.0の場合には、キャラクタの口形状は、「あ」の口形状になる。また
図18(B)のように、CI(2)=1.0であり、CI(1)=CI(3)=CI(4)=CI(5)=0.0の場合には、キャラクタの口形状は、「い」の口形状になる。そして、あるフレーム(t1)において、
図18(A)のようにCI(1)のみが1.0になり、次のフレーム(t2)において、
図18(B)のようにCI(2)のみが1.0になると、キャラクタの口形状は「あ」から「い」の口形状に変化するようになる。また
図18(C)のように、CI(3)=CI(4)=0.5であり、CI(1)=CI(2)=CI(5)=0.0の場合には、キャラクタの口形状は、「い」と「う」の中間に相当する口形状になる。例えばこの形状制御データCI(1)~CI(5)は、
図12(A)で説明した音声解析の結果に基づき生成される。例えば音声のフォルマントの位置と、B1~B5に示す各母音の位置との距離に基づく重み付け処理により、CI(1)~CI(5)の各値が設定される。また
図18(D)~
図18(F)は、ガイド音声データに基づく形状制御データCG(1)~CG(5)の例であるが、入力音声データに基づく形状制御データCI(1)~CI(5)と同様であるため、詳細な説明は省略する。
【0122】
なお、フォルマント以外にも音圧などの情報を用いて、同じ「あ」でも口形状の大きさなどを変えるようにしてもよい。また、破裂音や子音などを検出して口形状を決定するようにしてもよい。またキャラクタの口形状以外にも、目の大きさや輪郭の形状などを口形状と共に変更するようにしてもよい。また音声解析処理において周波数解析を行うフレーム長は、適宜設定すればよい。また以下では、入力音声データに基づく形状制御データCI(1)~CI(5)を、適宜、形状制御データCIと記載し、ガイド音声データに基づく形状制御データCG(1)~CG(5)を、適宜、形状制御データCGと記載する。
【0123】
また本実施形態では
図19に示すように、ガイド音声データに基づくキャラクタの口形状の形状制御データCGの生成と、入力音声データに基づくキャラクタの口形状の形状制御データCIの生成とを行う。形状制御データCG、CIは、各々、第1形状制御データ、第2形状制御データである。例えば
図19に示すように、ガイド音声データに対して音声解析処理を行って形状制御データCGを生成する処理と、入力音声データに対して音声解析処理を行って形状制御データCIを生成する処理を、並列に実行する。そして形状制御データCGと形状制御データCIの重み付け処理を行って、キャラクタの口形状の形状制御データCQを生成する。例えば重み付け係数をαとした場合に、例えばCQ=α×CG+(1-α)×CIで表される重み付け処理を行う。
【0124】
例えば前述の
図7において入力音声データとガイド音声データが一致すると判断された場合に、重み付け係数をα=1.0にする。或いは
図8において、ガイド音声データが存在すると判断された場合に、重み付け係数をα=1.0にする。このようにすれば、キャラクタの口形状の形状制御データは、CQ=1.0×CG+0.0×CI=CGになり、ガイド音声データに基づいてキャラクタの口形状が制御されるようになる。
【0125】
一方、
図7において入力音声データとガイド音声データが一致しないと判断された場合に、重み付け係数をα=0.0にする。或いは
図8において、ガイド音声データが存在しないと判断された場合に、重み付け係数をα=0.0にする。このようにすれば、キャラクタの口形状の形状制御データは、CQ=0.0×CG+1.0×CI=CIになり、入力音声データに基づいてキャラクタの口形状が制御されるようになる。
【0126】
また本実施形態では、口形状を切り替える際に、切り替え元の口形状から切り替え先の口形状へと、キャラクタの口形状を徐々に変化させる。ここで、例えば切り替え元の口形状は、ガイド音声データに対応する口形状と入力音声データに対応する口形状の一方の口形状であり、切り替え先の口形状は、当該一方とは異なる他方の口形状である。このようにすれば、例えばガイド音声データ及び入力音声データの一方から、他方に切り替わった際に、一方に対応する口形状から他方に対応する口形状へと、キャラクタの口形状が徐々に変化するようになり、より自然なキャラクタの口の動きを表現できるようになる。
【0127】
例えば
図20において、切り替え元の形状制御データCORは、ガイド音声データに基づく形状制御データCGと入力音声データに基づく形状制御データCIの一方であり、切り替え先の形状制御データCDTは、CGとCIの他方である。
【0128】
そして
図20では、タイミングt1において、切り替え元の口形状の形状制御データCORは、「あ」に対応する形状制御データがCOR(1)=1.0になっており、その他の形状制御データがCOR(2)=COR(3)=COR(4)=COR(5)=0.0になっている。従って、タイミングt1において、繰り替え元の口形状は「あ」の母音の口形状になる。
【0129】
一方、タイミングt2において、切り替え先の口形状の形状制御データCDTは、「い」に対応する形状制御データがCDT(2)=1.0になっており、その他の形状制御データがCDT(1)=CDT(3)=CDT(4)=CDT(5)=0.0になっている。従って、タイミングt2において、繰り替え先の口形状は「い」の母音の口形状になる。
【0130】
そして
図20では、切り替え元の口形状から切り替え先の口形状へと、キャラクタの口形状を徐々に変化させている。例えば「あ」に対応する形状制御データCQ(1)が、タイミングt1でのCQ(1)=1.0から、タイミングt2でのCQ(1)=0.0へと徐々に減少している。一方、「い」に対応する形状制御データCQ(2)が、タイミングt1でのCQ(2)=0.0から、タイミングt2でのCQ(2)=1.0へと徐々に増加している。このようにすれば、ガイド音声データ及び入力音声データの一方から他方への切り替わりの際に、キャラクタの口形状が、ガイド音声データ及び入力音声データの一方で設定される「あ」の口形状から、他方で設定される「い」の口形状に徐々に変化するようになる。
【0131】
なお
図20のように口形状を徐々に変化させる処理は、
図19で説明した重み付け処理により実現できる。例えば
図20のタイミングt1での切り替え元の口形状の形状制御データCORが、ガイド音声データに基づく形状制御データCGであり、タイミングt2での切り替え先の口形状の形状制御データCDTが、入力音声データに基づく形状制御データCIであったとする。そしてタイミングt1では、CG(1)=1.0、CG(2)=CG(3)=CG(4)=CG(5)=0.0であり、「あ」の口形状であったとする。またタイミングt2では、CI(2)=1.0、CI(1)=CI(3)=CI(4)=CI(5)=0.0であり、「い」の口形状であったとする。この場合には、重み付け係数αを用いたCQ(1)=α×CG(1)+(1-α)×CI(1)の重み付け処理において、タイミングt1からタイミングt2へと、α=1.0からα=0.0に徐々に変化させる。これにより形状制御データCQ(1)は、1.0から0.0に徐々に変化するようになる。また重み付け係数βを用いたCQ(2)=β×CG(2)+(1-β)×CI(2)の重み付け処理において、タイミングt1からタイミングt2へと、β=0.0からβ=1.0に徐々に変化させる。これにより形状制御データCQ(2)は、0.0から1.0に徐々に変化するようになる。このようにすれば、ガイド音声データから入力音声データに切り替わった際に、ガイド音声データに基づく「あ」の口形状から、入力音声データに基づく「い」の口形状へと、キャラクタの口形状を徐々に変化させることが可能になる。
【0132】
なお
図20のように口形状を徐々に変化させる場合に、どちらかの結果を優先するように重みを付けるようにしてもよい。例えば、入力音声データに基づいた口形状が優位になるように徐々に重み付けを変化させるようにしてもよいし、その逆でもよい。また、切換前に使用していた音声データが優位になるようにしてもよいし、切換後に使用する音声データが優位になるようにしてもよい。また入力音声データとガイド音声データの比較処理において、音圧とその他の音響特性の両方を用いる場合に、音圧の有無が一致しない場合には、即座に切り替えを行い、音圧の有無は一致するがその他の音響特徴が一致しない場合にだけ、徐々に切り替えるようにしてもよい。
【0133】
なお、上記のように本実施形態について詳細に説明したが、本開示の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本開示の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また音声処理、形状制御処理、音声解析処理、画像生成処理等も、本実施形態で説明したものに限定されず、これらと均等な手法・処理・構成も本開示の範囲に含まれる。
【符号の説明】
【0134】
10…音響システム、12…音再生システム、20…マイク、30…スピーカー、
40…音再生部、42…音響増幅部、50…処理システム、90…モニター、
92…サービスモニター、100…処理部、102…音声処理部、
104…デジタル信号処理部、106…音声解析部、110…形状制御部、
112…形状制御データ生成部、114…フィルター処理部、120…画像生成部、
160…操作部、162…I/F部、164…A/D変換部、170…記憶部、
171…音声データ記憶部、172…モーションデータ記憶部、
174…オブジェクト情報記憶部、178…描画バッファ、180…情報記憶媒体、
190…表示部、192…音出力部、194…I/F部、
195…携帯型情報記憶媒体、196…通信部
ACT…演者、BA、BB…骨、CG、CI、CQ、COR、CDT…形状制御データ、
CH…キャラクタ、JA、JB、JC…関節、MK…マーカー、
MTD、MTS…モーション、α、β…重み付け係数