以下、図面と共に本発明の実施の形態を説明する。
図3は、本発明の一実施の形態における印象度推定装置の構成図である。
同図に示す印象度推定装置は、音声信号抽出部81、部分コンテンツ生成部82、イベント検出部83、印象度計算部84、記憶部85、部分コンテンツ出力部86から構成され、入力装置87、出力装置88に接続されている。
入力装置87は、例えば、マウス等のポインティングデバイス、キーボード等によって構成されるものであり、本発明の実施の形態では、視聴者からの要求を入力する際の操作インタフェースとして利用する。
出力装置88は、例えば、液晶画面等のモニタ画面を有し、入力装置87の操作、あるいは、印象度推定装置80の処理に応じて情報を提示することができるものとする。ここには、例えば、入力データ、処理経過、処理結果となる部分コンテンツをはじめ、各種情報が出力表示される。
以下当該印象度推定装置80について詳細に説明する。
まず、印象度推定装置80の記憶部85は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、ハードディスク装置を少なくとも備え、また、必要に応じてCD(Compact Disk)、DVC(Digital Versatile Disk)等の光学ディスクドライブ装置を含むものとする。記憶部85は、例えば、本発明による印象度推定装置を、汎用のPC(Personal Computer)に組み込んで利用する場合など、上記の記憶部85が外部のそれを以って代用できる場合には含むことを必要とするものではない。
ハードディスク装置には、プログラムやデータ、イベント検出部83が利用する統計モデルや、印象度計算部84が利用する印象変換行列などが記憶されているものとする。また、この他、外部からディジタル信号として入力されたコンテンツデータが一時格納される。
ROMはCPUを起動するためのプログラム、そのほかのプログラム及び制御用のパラメータ等を記憶する。また、RAMは、CPUを起動するためのプログラム、その他のプログラム及び制御用のパラメータ等を記憶する。
RAMは、動作に要するプログラムやデータ等を随時、一時的に記憶する。
音声信号抽出部81は、外部から入力され、記憶部85に格納されているコンテンツデータを読み出して音声信号を抽出し、記憶部85に記憶する。
部分コンテンツ生成部82は、記憶部85に格納された音声信号に基づいてコンテンツを部分コンテンツに分割する。
イベント検出部83は、特徴量抽出処理、記憶部85に記憶された統計モデルに基づいたイベント生起状態確率計算処理、イベント生起度計算処理を実施する。
印象度計算部84は、イベント生起度に基づいた、印象度計算処理を実施し、印象変換行列を記憶部85に格納する。
部分コンテンツ出力部86は、印象度、イベント生起度から、優先順位リストを生成し、記憶部85に格納すると共に、視聴者の要求を受けて部分コンテンツを提示する。
次に、本発明の動作について説明する。
図4は、本発明の一実施の形態における処概要理のフローチャートである。
ステップ10) (音声信号抽出処理)音声信号抽出部81は、入力され、記憶部85に格納されているコンテンツを読み出して、音声信号を抽出する。
ステップ11) (部分コンテンツ生成処理)部分コンテンツ生成部82は、音声信号、画像信号、あるいはその両方に基づいて、コンテンツの中から1つ以上の区間を決定する。以降ここで決定したそれぞれの区間を「部分コンテンツ」と呼ぶ。
ステップ12) (イベント検出処理)イベント検出部83は、各部分コンテンツにどのような音声・音楽に係るイベントが生起しているかを分析し、これらが生起している確からしさ(イベント生起度)を計算する。
ステップ13) (印象度計算処理)印象度計算部84は、ステップ12で計算されたイベント生起度に基づいて、部分コンテンツ毎に、当該部分コンテンツを視聴した際にどのような印象をどの程度受けるかを表す印象度の計算を行うことで、視聴印象を推定する。
ステップ14) (部分コンテンツ出力処理)部分コンテンツ出力部86は、ステップ13によって、部分コンテンツ毎に計算された印象度に基づいて、部分コンテンツに順位付けを行い、例えば、視聴者の要求などに基づいて印象に則した部分コンテンツを提示する。
なお、ステップ11の部分コンテンツ生成処理ステップ、及び、ステップ14の部分コンテンツ出力処理ステップは、必要に応じて導入すればよく、本発明の全ての実施の形態において必須ではない。
以下の説明においては、部分コンテンツとは、コンテンツ全体であってもよいものとする。
以下に、上記の各ステップを詳細に説明する。
≪ステップ10:音声信号抽出処理≫
まず、ステップ10(音声信号抽出処理)について説明する。
コンテンツがディジタルデータとして入力された場合、これは画像信号と音声信号に分けられる。このデータのうち、音声信号抽出部81は、音声信号に関する部分だけを取得する。
≪ステップ11:部分コンテンツ生成処理≫
次に、ステップ11(部分コンテンツ生成処理)について説明する。
当該処理は、後の印象度を計算する単位である部分コンテンツを定める必要がない場合、あるいは、この区間が予め人手等によって与えられている場合には、実行する必要はない。
部分コンテンツ生成とは、印象度を計算する単位となる部分コンテンツを、コンテンツを0回以上区切ることによって生成するための処理であり、コンテンツ中に含まれる音声信号、画像信号、あるいはその両方に基づいて行う。
(1)音声信号のみから部分コンテンツを生成する方法:
まず、音声信号のみを用いて部分コンテンツを生成する方法の一例について説明する。
部分コンテンツ生成部82は、音声信号に対して、予め定めた一定の窓幅、例えば、50ms(ミリセコンド)と、シフト間隔、例えば、30msを持つ分析窓を設定する。この分析窓を単位として、音声信号を有相関信号と無相関信号に分ける。ここで、有相関信号とは、人間や動物による発話、及び音楽のように、自己相関関数値の高い信号であり、反対に、無相関信号とは、有相関信号ではない信号、すなわち、白色雑音などの自己相関関数値の低い信号を指す。
各分析窓に含まれる音声信号が有相関信号であるか、無相関信号であるかは、例えば、次のように分類することができる。
音声信号の自己相関数値を計算し、これが閾値を超える値となっている場合には有相関信号、そうでない場合には無相関信号であると見做す。この閾値の与え方は、例えば、"0.7"とするなど、予め定数として与えておいてもよいし、一定の有相関信号の存在する時間と無相関信号の存在する時間の比を基準として、この比に最も近くなるような閾値を決定してもよい。
次に、有相関信号と判定された分析窓のうち、連続している有相関窓(有相関信号であると判定された分析窓)で構成される区間によって、部分コンテンツを構成する。この処理の実行によって、連続する人間や動物の発話、音楽などを一まとまりの区間として扱うことができるため、視聴する人間にとって意味の理解可能な部分コンテンツを生成することが可能となる。
部分コンテンツを構成する方法の一例について説明する。
部分コンテンツの構成は、部分コンテンツ間の境界を決定する処理によって実行する。コンテンツ中の有相関窓Fの集合を時刻の早いものから順に{F1,F2,…,FN}とする。ここで、Nは有相関窓の総数である。
次に、時間軸上隣り合う有相関窓Fi,Fi+1の時間間隔、すなわち、Fiの終了時刻Fiendと、次の分析窓であるFi+1の開始時刻Fi+1startについて、その時刻の差Fi+1start−Fiendを計算する。
次に、その計算結果を、予め決定したある閾値と比較し、これよりも大きければ、FiとFi+1は互いに異なる部分コンテンツに属する有相関窓であると考え、これら2つの間を部分コンテンツの境界とする。
このような処理を全ての分析窓に繰り返すことで、時間差のある有相関窓同士は互いに異なる部分コンテンツとすることができ、結果、時間差のない、一連の有相関信号は同一の部分コンテンツにまとめることができる。
例えば、図5に示す例では、Fj+1−Fj=T1、Fj+2−Fj+1=T2となっている。もし、閾値Tthを、T1<Tth<T2と設定した場合、T2を境界として、2つの部分コンテンツBA、BBが構成される。この閾値Tthは、低い値にすればするほど境界の数が増加するため、生成される部分コンテンツ数が増加することとなり、逆に、高い値にするほど境界の数が減少し、生成される部分コンテンツ数は減少することとなる。特別な場合として、閾値Tthを非常に高い値、例えば、コンテンツ全体の時間長以上の値を設定することなどによって、部分コンテンツを全く分割しないようにすることもできる。従って、前述のように、本発明における部分コンテンツとは、コンテンツ全体としてもよく、以降の処理は、コンテンツが全く分割されないような閾値Tthを設定した場合であっても実行可能であり、この場合には、当該ステップ11は意味をなさないため、実行しないものとしてもよい。
また、有相関信号を、例えば、人間や動物による発話音声信号、音楽信号など、さらに詳細に分類し、これらを分けて部分コンテンツを生成してもよい。この場合には、これらを分ける基準としてスペクトル情報を用いることができる。例えば、発話音声信号と音楽信号を分類する手法としては、特開平10−187182号公報に記載の方法を用いることができる。
このような処理によって、より詳細な部分コンテンツを生成することができる。
(2)画像信号を用いて部分コンテンツを生成する方法:
次に、画像信号を用いて部分コンテンツを生成する方法について説明する。
画像信号を用いる際には、構造化情報を利用して部分コンテンツを生成する。構造化情報とその抽出方法としては、例えば、前述の非特許文献2に記載のもの、すなわち、カット点、カメラワークなどと、種々の抽出方法がある。これらのものから任意の情報を任意の数だけ利用してよいが、好ましくはカット点を利用し、これを直接部分コンテンツの境界として利用すればよい。この場合、部分コンテンツは、カット点によって前後を挟まれる、ショットとして生成される。
また、更に、カメラワークを併用し、あるショットの中で比較的動き量の多いカメラワークが検出された場合には、そのカメラワークの開始時刻、もしくは終了時刻を境界としてもよい。
(3)音声信号と画像信号の双方を用いて部分コンテンツを生成する方法:
最後に、音声信号と画像信号双方を利用して、部分コンテンツ生成を実行する場合について述べる。
例えば、前述の音声信号を利用した部分コンテンツ生成では、有相関窓のない部分などに対しては区間分割を実行することができないという問題がある。そこで、音声信号を利用した部分コンテンツ生成と画像情報、例えば、カット点を利用した部分コンテンツ生成を両方とも適用するものとしてもよい。この方法によって片方のみによる部分コンテンツ生成では成すことのできない細かい区間を定めることが可能となる。
また、片方のみでは有効な部分コンテンツ生成が実行できない場合、例えば、コンテンツに有相関窓が存在しない場合や、画像の構造化情報が存在しない場合などにおいても、相補的に区間分割を実行することが可能である。
以上の処理によって、コンテンツから、1つ以上の部分コンテンツを生成することが可能である。
なお、ここで述べた例、及びその他のいずれの方法を用いた場合にも、各部分コンテンツの開始時刻、及び、その時間長を取得し、記憶しておく。
≪ステップ12:イベント検出処理ステップ≫
ステップ12において、イベント検出部83は、分割された各部分コンテンツに、どのような音声・音楽に係るイベントが生起しているかを分析し、この確からしさをイベント生起度として計算する。ここで言うイベントとは、例えば、"発話"、"笑い"、"泣き"、"叫び"、"悲鳴"、"ささやき"、"穏やかな音楽"、"寂しい音楽"、"激しい言葉"、"壮大な音楽"、"騒音"、"爆発音"、"効果音"などの、音声や音楽に関わる事象である。ここに挙げたイベントは一例であり、このほかにも多数のイベントが存在することは言うまでもない。
図6は、本発明の一実施の形態におけるイベント検出処理のフローチャートである。
インベント検出部83により実行されるステップ12は以下の処理ステップからなる。
ステップ31) (特徴量抽出処理)音声信号から分析窓毎にイベントの検出に必要な特徴量を抽出する。
ステップ32) (イベント生起確率計算処理)ステップ31で抽出した特量に基づいて、予め構成した統計モデルを用いて各イベントの生起している確率をイベント生起確率として算出する。
ステップ33) (イベント生起度計算処理)ステップ32で計算した分析窓毎のイベント生起確率について、部分コンテンツ中に各イベントが生起している確からしさをイベント生起度として計算する。
以下、上記の各ステップについて詳細に説明する。
<ステップ31:特徴量抽出処理>
上記のステップ31では、コンテンツの音声信号から、特徴量を分析窓毎に抽出する。
まず、特徴量について説明する。特徴量としては、例えば、基本周波数f0、パワーp、スペクトル特性SP,ケプストラム係数CPなどを抽出することができる。
また、これらの時間変動特性に係る系列として、基本周波数f0の時間変動特性の系列△if0、パワーpの時間変動特性の系列△ip、スペクトル特性SPの時間変動特性の系列△iSP、ケプストラム係数CPの時間変動特性△iCPなどを抽出することもできる。本実施の形態の一例においては、「系列」とは1つ以上の要素を持つ集合であると定義する。
時間変動特性の例としては、例えば、微分係数、数値微分値、分析窓内変化量の平均値、最大値、最小値や、変化量の絶対値の累積和、レンジ等が考えられ、必要に応じて選択するものとしてもよい。
微分係数は、何階までを用いてもよいが、例えば、1〜3階程度としてもよい。以下の例では、時間変動特性として微分係数のみを採用した場合について説明するが、この他、先にあげた複数の時間変動特性と組み合わせて用いても構わない。
パワーpは、音声信号波形の振幅値を用いるものでもよいし、絶対値や平滑値、rms値を用いるとしてもよい。
また、ある周波数帯域、例えば、人間の聞き取り易い500Hz(ヘルツ)〜4KHz(キロヘルツ)等の領域におけるパワーの平均値や相対パワーなどを用いるのでもよい。
また、各種抽出した音声特徴量に対して、適当な座標変換(例えば、主成分分析など)を含む線形変換、非線形変換、積分変換(例えば、フーリエ変換、コサイン変換など)を1つ以上行った結果得られる値を、改めて特徴量として採用してもよい。
前述の抽出すべき基本周波数f0及びパワーp、スペクトル特性SP、ケプストラム係数CPの抽出方法は様々である。それらの抽出方法は公知であり、その詳細については、例えば、前述の非特許文献1に記載の方法等を参照されたい。
各特徴量は予め規格化しておくことが好ましい。規格化は、例えば、f0について、例えば、処理対象となる音声信号データ全体に渡る平均の基本周波数を差し引く、もしくは、平均基本周波数で割ることによって行うのでもよいし、標準正規化して平均0分散1にするのでもよい。その他の音声特徴量についても、同様に行うことが考えられる。
また、必要な場合には平滑化処理を行っておく。
これらの特徴量は必ずしも全てを用いる必要はなく、例えば、基本周波数f0とパワーpのみを用いるとしてもよいし、基本周波数f0とパワーp、さらにそれらの時間変動特性の系列△if0、△jpのみを用いるとしてもよい。
以降、抽出した特徴量を縦に並べ、ベクトルとして表したものをxと表記するものとする。
<ステップ32:イベント生起確率計算処理>
次に、ステップ32(イベント生起確率計算処理)では、ステップ31で抽出した特徴量に基づいて、予め構成した統計モデルを用いて各イベントの生起している確率をイベント生起確率として算出する。
ステップ32の処理の詳細を、図7を用いて説明する。図7は、本発明の一実施の形態におけるイベント生起確率計算処理(ステップ32)のフローチャートである。ステップ32は、次の各ステップに分割される。
ステップ41) (特徴量尤度計算処理)即ち、後述する方法によって予め構成しておいた統計モデルを用いて、分析窓Ftにおいて、イベントekが生起している状況において、特徴量xtが出現する確率である、特徴量尤度を計算する。
ステップ42) (イベント遷移確率計算処理)イベント生起状態を判定する分析窓(現分析窓)直前の1つ以上遡った分析窓のイベント生起状態に依存して、現分析窓で各イベント生起状態が生起する遷移確率(即ち、イベント遷移確率)を計算する。
ステップ43) (イベント生起状態確率計算処理)ステップ41とステップ42において計算された特徴量尤度及びイベント遷移確率に基づいて、イベント生起確率を計算する。
以下に、上記の各ステップ41〜43の処理を詳細に説明する。
まず、ステップ41の処理について詳細を説明する。
当該ステップ41では、後述する方法によって予め構成しておいた統計モデルを用いて、Ftにおいてイベントekが生起している状況において、特徴量xtが出現する確率である、特徴量尤度を計算する。
統計モデルは、分析窓毎に与えられる特徴量xt空間上の条件付確率分布pA(xt│Et)として構成し、入力された特徴量xtについてpA(xt│Et)の値を計算することで特徴量尤度を求める。この処理を、全ての分析窓に渡って行うことで、全ての分析窓に対して特徴量尤度を計算することができる。
以上が、ステップ41の詳細処理である。
ここで、特徴量尤度を計算するための統計モデルpA(xt│Et)の構築方法の一例について説明する。
pA(xt│Et)の構築は、本発明による技術を利用する際に、予め行っておき、構築された統計モデルは、記憶部85に記憶しておく。
まず、統計モデルを構築するためのデータである、学習用音声信号データを入力する。なお、学習用音声信号データは、音声信号データ入力手段(図示せず)から入力されてもよいし、学習用音声信号データ専用の入力手段(学習用音声信号データ入力手段(図示せず))から入力されてもよい。
次に、この学習用音声信号データに対して、学習用音声信号データ全てに渡って、分析窓毎に、その分析窓において各イベントが生起しているか否かを表すイベント生起状態を与える。
イベント生起状態Lの与え方としては、人間が実際に視聴して判断することが好ましい。このように与えられたLをラベルをと呼び、ラベルを与える以上の行為を「ラベル付け」と呼ぶ。厳密には分析窓毎にイベント生起状態Lのラベルが与えられていない場合であっても、分析窓単位にラベル付けされるように変換できるものであれば、これに変換することで利用してもよい。例えば、複数の分析窓に跨る区間においてイベント生起状態Lのラベルが付与されている場合もある。この場合には、その区間に含まれる分析窓に対して、区間に付与されたラベルと同じラベルを付与することによって、分析窓毎にラベル付けできる。より具体的には、音声信号中のある時刻t1からt2までの区間がイベント生起状態Lとラベル付けされている場合は、該区間の全分析窓はLと与えられるものとして構成する。
次に、分析窓毎に特徴量xを抽出する。以下では、分析窓番号tの分析窓Ftにおける特徴量xt、イベント生起状態etと表す。
次に、特徴量尤度を計算するための統計モデルpA(xt│Et)を学習によって構築する。学習方法の一例を説明する。
特徴量尤度を計算するための統計モデルpA(xt│Et)は、分析窓毎に与えられる特徴量x空間上の確率分布であって、例えば、分析窓Ftにおいては、それ以前のある(n−1)分析窓区間におけるイベント生起状態Et={et,et-1,…,et-n+1}に依存してxtが出現する確率を表す、条件付確率分布pA(xt│Et)である。nは、例えば、1〜3程度とするものでよい。
この条件付確率分布pA(xt│Et)は、例えば、Etの取り得る値毎に、正規分布、混合正規分布、隠れマルコフモデル(Hidden Markov Model:HMM)などといった、確率モデルを用いて構成してもよい。また、更に、音声特徴量の種類別に、正規分布、多項分布や、それらの混合分布などといった、確率モデルを用いて構成するのでもよい。これらの確率モデルのパラメータを学習用音声信号データに基づいて推定することになる。
なお、前述のパラメータの推定方法は、例えば、最尤推定法や、EMアルゴリズム、変分Bayes法などの構築のもの(例えば、非特許文献3、非特許文献4などを参照)を用いることができる。
以上が、統計モデルpA(xt│Et)を構築する方法の一例である。
次に、ステップ42では、統計モデルを用いて、イベント生起状態を判定する分析窓(現分析窓)直前の1つ以上遡った分析窓のイベント生起状態に依存して、現分析窓で各イベント生起状態が生起する遷移確率(即ち、イベント遷移確率)を計算する。
以下にステップ42を実行するための処理の一例を説明する。
まず、統計モデルに基づき、イベント遷移確率を計算する方法の一例を説明する。
統計モデルは、イベント生起状態Et空間上の条件付確率分布pB(Et│Et-1)として構成する。この統計モデルによって、Et-1の全ての取り得る値に対して、pB(Et│Et-1)の値が計算できる。この計算した確率をイベント遷移確率とする。
以上の処理を、全ての分析窓に渡って行うことで、全ての分析窓に対してイベント遷移確率を計算することができる。
以上がステップ42の詳細処理である。
ここで、このイベント遷移確率を計算するための統計モデルpB(Et│Et-1)の構築方法について説明する。
統計モデルpB(Et│Et-1)も、特徴量尤度を計算するための統計モデル同様、学習用音声信号データから、学習を行うことによって予め構築し、記憶部85に記憶しておく。
前述のラベル付けにおいて、学習用音声信号データは、学習用音声信号データ全てに渡って、分析窓毎に、抽出された特徴量xと、人間が実際に聴取して判断したその分析窓におけるイベント生起状態ラベルLと、が与えられているという前提で、学習を行うステップの一例について説明する。なお、分析窓番号tにおけるイベント生起状態をetと表す。
イベント遷移確率計算のための統計モデルは、t−n+1番目からt番目の分析窓におけるイベント生起状態の系列Et空間上の確率分布であって、Ft以前の(n−1)個の分析窓におけるイベント生起状態の系列Et-1={et,et-1,…,et-n}に依存して、Et={et,et-1,…,et-n+1}が出現する確率を表す条件付確率分布pB(Et│Et-1)として作成する。
nは、例えば、予め"1"や"2"などの定数として与えておくものとすればよい。
なお、etは、"発話"、"笑い"、"泣き"、"叫び"、"悲鳴"、"ささやき"、"穏やかな音楽"、"寂しい音楽"、"激しい言葉"、"壮大な音楽"、"騒音"、"爆発音"、"効果音"などの音声・音楽的イベントが生起しているか否かの状態を表す変数であり、離散変数であるから、条件付確率分布pB(Et│Et-1)は、例えば、bi-gram型の確率分布を作成することで構成することができる。
この場合は、学習用音声信号データに基づき、Et-1のラベルが与えられている時に、各イベント生起状態の系列Etのラベルが何度出現するのかを計数することによってこれを構成することができる。これは、最尤推定法に他ならないが、この他、適当な事前分布を定めてBayes法によって学習するものとしてもよい。
次に、ステップ43では、ステップ42及びステップ41において、計算された特徴量尤度及びイベント遷移確率に基づいて、イベント生起状態確率が計算される。
以下に、ステップ43で行うイベント生起状態確率を計算する処理の一例について説明する。
上記の統計モデルpA(xt│Et)と、pB(Et│Et-1)の組は、合わせて一般化状態空間モデルと呼ばれる構造を有しており、音声認識などによく用いられるLeft-to-Right形のHMMなどと同様の因果構造(例えば図8中のイベントEt-1,Etと、音声特徴量xt-1,xt)である)を有する。
一般化状態空間モデルでは、時刻tまでの特徴量の系列{xt}を得た場合に、時刻tのイベント生起状態の系列Etの確率分布p(Et│{xt})は、pA(xt│Et)とpB(Et│Et-1)に基づき、以下の式を再帰的に計算することで求めることができる(例えば、非特許文献5参照)。
但し、SEは、E
tが取り得る全ての値の集合である。
一般に、一般化状態空間モデルにおいては、SEの値が非常に大きな値となるため、上記の式を直接計算してp(Et│{xt})の値を求めることは困難である。
本発明の実施の形態の一例に場合においては、Etの各要素である{et,et-1,…,et-n+1}各々が取り得る値は、例えば、"発話"、"笑い"、"泣き"、"叫び"、"悲鳴"、"ささやき"、"穏やかな音楽"、"寂しい音楽"、"激しい言葉"、"壮大な音楽"、"騒音"、"爆発音"、"効果音"などの音声・音楽的イベント生起状態等であるため、この数を|E|とすると、Et={et,et-1,…,et-n+1}の取り得る値を考えれば、SEのサイズは|E|nである。
例えば、本発明の実施の形態の一例においては、想定する取り扱うイベント生起状態の数|E|は、上記の例の場合、およそ10の数倍程度である。
このとき、例えば、n=3とすれば、Eのサイズオーダーにして103程度であり、現在普及している汎用的なコンピュータであっても、上記の式(1)を十分に直接計算可能な規模である。従って、本発明の一実施の形態の一例では、式(1)の確率分布p(Et|{xt})の値を直接計算することが可能であるので、直接計算することでイベント生起状態確率を計算するものとする。
直接計算が困難である場合には、例えば、前述の非特許文献5に記載の近似方法などを採用すればよい。
更に、Etの要素からetを除外したものをE' t={et,…,et-n+1}とし、かつE'が取り得る全ての値の集合SE'と表すとすると、分析窓毎のイベント生起状態etのイベント生起状態確率は、
を計算することで求めることが可能である。図9に、「発話」、「笑い」、「泣き」「のイベント生成状態を扱った場合のイベント生起状態確率の例を示す。即ち、図9中の符号L1で示す曲線が「発話」のイベント生起状態確率、符号L2で示す曲線が「笑い」のイベント生起状態確率、符号L3で示す曲線が「泣き」のイベント生起状態確率である。
上述の方法は、Etを求めるために、時刻tまでの特徴量の系列{xt}に基づいて計算を実行するため、実時間処理を実行できる方法である。一方、実時間処理を行う必要のない場合には、より頑健な検出を実現するために、時刻T>tまでの特徴量の系列{xT}を得た場合のイベント生起状態Etの確率分布p(Et|{xT})を計算し、これをイベント生起状態確率としてもよい。p(Et|{xT})は、式(1)の式に加え、更に以下の式を用いることで求めることができる(例えば、非特許文献5参照)。
但し、SEは、E
t+1が取り得る全ての値の集合である。
この場合の分析窓毎のイベント生起状態etのイベント生起状態確率は、
以上の処理を全ての分析窓に渡って行うことによって、全ての分析窓に対してイベント生起状態確率を計算することが可能である。
以上が、ステップ32(イベント生起状態確率計算処理)の詳細である。
<ステップ33:イベント生起度計算処理>
次に、ステップ33では、ステップ32にて計算されたイベント生起状態確率に基づいて、各部分コンテンツでそれぞれのイベントが生起している確からしさを表すイベント生起度を計算する(イベント生起度計算処理)を行う。
以下、このイベント生起度を計算する方法の一例を図10に基づいて説明する。
コンテンツ中の部分コンテンツSの集合を時刻の早いものから順に{S1,S2,…,SNS}とする。例えば、図10中では、符号v1で示される部分コンテンツSj-1,符号v2で示される部分コンテンツSi、符号v3で示される部分コンテンツSi+1である。
ここで、NSは、部分コンテンツの総数である。また、ある部分コンテンツSiに含まれる有声窓を{f1,f2,…,FNFi}とおく。NFiは、部分コンテンツSiに含まれる有声窓数である。
有声窓ftは、イベント生起状態確率計算手段(図示せず)によって、イベント生起状態確率p(et|{xt})が与えられている。部分コンテンツSiのイベント生起状態eがekであるイベント生起度pSj(e=ek)は、例えば、平均値を表す次式によって計算する。
また、例えば、最大値を表す次式によって計算するものとしてもよい。
これら以外にも、例えば、部分コンテンツ内で窓掛けを行ってからイベント生起度を計算するなど、方法は様々考えられるが、部分コンテンツ間でイベント生起度を比較する場合があるため、イベント生起度はある一定の値の範囲内、例えば0〜1の間に収まるようにすることが好ましい。
以上のような計算を、全ての部分コンテンツに渡って行い、全ての部分コンテンツに対して全てのイベント生起状態のイベント生起度を与えることが可能である。
以上の処理が、ステップ12(イベント検出処理)である。
≪ステップ13:印象度計算処理≫
次に、ステップ13(印象度計算処理)について説明する。
ステップ13は、印象度計算部84において、イベントの生起の仕方が視聴印象に与える影響を数値化した印象寄与度に基づいて、各部分コンテンツの視聴印象を推定する。
ステップ13の処理を説明する前に、ステップ13において使用する印象寄与度、及び、印象変換行列の生成の仕方について説明する。
まず、イベントの生起の仕方がどのような印象を与え得るかを印象寄与度として数値化する。印象寄与度は、例えば、「楽しい」、「哀しい」、「エキサイティング」、「怖い」、「カッコイイ」、「かわいい」、「綺麗」、「不気味」、「優しい」、「面白い」、「つまらない」、といった視聴者の印象を代表する印象語を選定しておき、その強さを表すものとして与えるものとする。
ここに挙げた印象の例は、これら全て用いるものとしてもよいし、任意のものを任意の数だけ選定してもよい。また、上記の例以外にも多数の印象が存在することはいうまでもなく、これらを新たに選定するものとしてもよい。
以下では、簡単のため、取り扱う印象がImp1:楽しい、Imp2:哀しい、Imp3:エキサイティング、Imp4:怖い、の4種の場合について説明する。
印象寄与度の与え方を説明する。
例えば、イベントとして「笑い」を含む部分コンテンツを視聴した場合、視聴者が非常に楽しいと感じ、反対に哀しいと感じにくい場合には、「笑い」の印象寄与度は楽しい:0.78、哀しい:−0.67、などとして与える。
この例では、楽しい、哀しい以外の印象寄与度は与えられてはいないが、その場合は0などとすればよい。
イベント毎の印象寄与度は、ベクトルとして扱う。例えば、上記の例では、「笑い」の印象寄与度ベクトルをImpLとおけば、
ImpL=[0.78、−0.67,0,0]
である。
印象寄与度の数値については、設計者の主観的基準によって、予め定数として定めるものとしてもよいが、好ましくは、視聴者が各イベントを含む部分コンテンツやコンテンツを視聴した際に、どのような印象をどの程度感じるかを実験的に調査してデータを取得し、このデータに基づいて、例えば、イベントと印象の相関の強さを表すカイ自乗値や、φ係数などを用いてもよい。このほか、印象寄与度を計算する数理モデルを関数として設定しておくものとしてもよい。
例えば、「笑い」のイベントの、楽しい印象に関する印象寄与度が、部分コンテンツSiの時間長DurSiと、イベント生起度pSi("笑い")の線形和によって表されると仮定したとして、
によって計算するものとしてもよい。α、βはそれぞれ線形回帰係数である。
その他のイベントの、その他の印象に関する印象寄与度も同様に計算すればよい。この数理モデルの変数としては、ここに示した部分コンテンツの時間長、及び、イベント生起度以外にも、様々なものを取り得る。
例えば、イベント生起度の時間変動特性を考慮してもよい。この場合、例えば、連続する部分コンテンツSi,Si+1,Si+2について、それぞれのイベント生起度をpSi、pSi+1、pSi+2と表す。
これらを全て、直接変数として設定してもよいし、また、これらの差分量として、pSi+1−pSi,pSi+2−pSiなどを計算し、これらを新たな変数とするものとしてもよい。
また、数理モデルとしても、ここに挙げた線形回帰モデルのみではなく、多層パーセプトロンやサポートベクターマシンなどに代表される非線形回帰モデルを用いてもよい。
印象の数をSImpとすれば、この処理によって、1×SImpの行ベクトル(但し、前述の印象寄与度を数値だけではなく、関数で与えた場合は、このベクトルの要素は数値ではなく、関数となる)が、イベントの数SE分記録されることとなり、これは、図11に示すような、SE×SImpの行列を生成する処理に等しい。この行列を印象変換行列と呼び、MImpと表す。この印象変換行列MImpは、記憶部85に記憶しておく。
以下、ステップ13について詳細に説明する。
ステップ13では、印象度計算部84において、印象変換行列を用いて、部分コンテンツ毎の印象度を算出する処理である。
ステップ12では、部分コンテンツ毎に、各イベントがどれだけ生起しているらしいかをイベント生起度として計算したが、これと、先に説明した印象変換行列MImpを用いて、部分コンテンツSiの印象度を計算する。
部分コンテンツSiのイベント生起度pSi(e=ek)を、{pSi(e=ek-1),pSi(e=ek=2),…,pSi(e=ek=SE)}Tと表し、ベクトルPsiとして扱う。このベクトルPsiは、SE×1の列ベクトルであるため、印象変換行列MImpとの積MImp×Psiを計算することができて、結果、1×SImpの列ベクトルが生成される。
この列ベクトルの各要素を、部分コンテンツSiの印象度とし、第1要素をImp1、第2要素をImp2、と順に対応付ける。
このほか、後処理として、例えば、対象とするコンテンツに予め印象に係るメタデータが付与されている場合には、これを考慮して、印象度を調整するものとしてもよい。
例えば、対象のコンテンツが「楽しい」、というメタデータが予め事前情報として付与されていたとする。このとき、普遍的に楽しい印象を与え易いコンテンツであると判断し、楽しい印象度の値に一定の値、例えば2を乗じるものとしてもよい。この処理は、例えば、複数のコンテンツから部分コンテンツを出力する場合に、事前情報から予め楽しいコンテンツであることが分かっているものから、優先的に部分コンテンツを出力することができる点で効果がある。
以上の処理を全ての部分コンテンツについて行うことで、1つ以上の任意の数の部分コンテンツについて、コンテンツの印象度を算出できる。
また、部分コンテンツが2つ以上存在する場合になどには、各部分コンテンツの印象度を用いてコンテンツ全体の印象を推定するものとしてもよい。単純な例としては、映画などのストーリー性の高いコンテンツにおいては、ある程度一般的な文法のような構造があり、例えば、泣ける映画の場合には、コンテンツの末尾に近い部分で泣ける印象のシーンが現われ、コメディである場合には、コンテンツの随所に楽しい印象のシーンが現われるというような特徴が見られる。
このような特徴と、コンテンツ全体に見える部分コンテンツの印象度の推移(分布)を利用して、対象のコンテンツの印象を推定する。例えば、コンテンツ全体の末尾部分に泣ける、もしくは哀しいなどの印象度の高い部分コンテンツが多く分布している場合には、当該コンテンツは泣ける、もしくは哀しいストーリーのコンテンツであるとして、「泣ける」、「哀しい」、あるいは、「最後は泣ける」などのような印象を付与する。
また、コンテンツ全体の各所に楽しい印象のコンテンツであるとして、楽しい印象を付与する。
これらの分類は、コンテンツ全体の各印象の数と同数のルールを、予め準備しておくことによって実施できる。
このルールは、例えば、「泣ける」、「哀しい」については、『「泣ける」、もしくは「哀しい」の印象度にある一定の閾値以上の値を持つ部分コンテンツの数が、当該コンテンツ全体の部分コンテンツの数の50%以上を、末尾20%の時間に含むものを「泣ける」、哀しい印象のコンテンツであると見做す』といったものや、楽しいについては、『楽しいの印象度にある一定の閾値以上の値を持つ部分コンテンツが、当該コンテンツを10分割した、いずれの区間にも含まれている』などといったものとして設定する。
ここでは、「泣ける」、「哀しい」、「楽しい」の例について述べたが、これら以外の印象の推定についても、同様の知見を用いたルールの設定によって実行することが可能である。
以上が、印象度計算処理ステップである。
ここまでに得られる部分コンテンツ、もしくはコンテンツの印象度を、データとして出力するものとしてもよい。このデータを以って、コンテンツの印象を部分コンテンツ毎に数値として知ることができる。
≪ステップ14:部分コンテンツ出力処理≫
次に、部分コンテンツ出力部86によるステップ14(部分コンテンツ出力処理)について説明する。
ステップ14は、実際に各印象に即した部分コンテンツを試聴したい場合に実行するステップである。従って、このような要望がない場合には、本ステップは必ずしも必要ではない。
ステップ14では、ステップ13で求めた全ての部分コンテンツの印象度に基づいて、視聴者の要求に最も適した印象に合った部分コンテンツを選定し、当該部分コンテンツを含む区間を出力する。ここでいう"区間"とは、部分コンテンツ、もしくはその前後を含むものである。ステップ12で述べたように、部分コンテンツがコンテンツ全体であるとしてもよく、この区間にはコンテンツ全体をも含む。
部分コンテンツを選定する方法の一例について説明する。
以上ステップ13までの処理によって、部分コンテンツには、ステップ11において取得した開始時刻、時間長、及びステップ13において算出された印象度が情報として付与できる。
図12は、本発明の一実施の形態における部分コンテンツ情報リストを説明するための図であり、これら部分コンテンツ情報を部分コンテンツ情報リストLSとして表した図の一例である。
まず、記憶部85に格納されている図12の情報から、提示する部分コンテンツを決定するための優先順位リストPLを生成する。優先順位リストPLは、図12の部分コンテンツ情報リストLSを基に、各印象別に印象度について降順にソートすることで生成する。
例えば、楽しい印象について、優先順位リストPLを生成した場合の一例を図13に示す。この例では、楽しい印象の印象度について、降順にソートされているが、その他の印象についての優先順位リストも同様に生成すればよい。
優先順位リストが生成された時点で、視聴者から、利用者の求める印象、または、印象と希望視聴時間を要求として受け付け、この要求に則した部分コンテンツを提示する。要求のうち、印象については、予め定めた優先順位リストに含まれる印象の中から、適合するものを印象語として選択してもらうものとすればよい。
希望視聴時間は、直接数値で入力してもらうものとしてもよいし、例えば、5秒、10秒、15秒、…といった量子化された時間のリストから選択してもらうものとしてもよい。希望視聴時間を視聴者が要求しない場合には、予め定めた時間を以って、希望視聴時間に代えればよい。希望視聴時間は、必ずしも時間でなくともよく、例えば、コンテンツ全体の時間長に対する割合によって定めてもよい。
例えば、全体の時間長の10%と入力された場合、コンテンツ全体の全時間長が60分であるときには、60(分)×0.1=6(分)であるから、これを希望視聴時間とすることができる。
提示する部分コンテンツは、要求された印象の優先順位リストに基づいて決定する。具体的には、優先順位リストの降順に提示する部分コンテンツを選択していき、これを希望視聴時間に対して、提示する部分コンテンツの累積時間が最も近付くまで繰り返す。例えば、利用者が楽しい印象の部分コンテンツを視聴したいと要求した場合の一例を図14を用いて説明する。
例えば、視聴者の要求が、楽しい印象について希望視聴時間15秒であった場合、図13の優先順位リストの例では、部分コンテンツBAとBB合計14.69秒分が出力される。また、20秒出会った場合、部分コンテンツBA,BB,BCの合計19.92秒分が出力される。この際、提示する部分コンテンツは、時系列順に並べ替えて出力するものとしてもよい。
また、部分コンテンツそのものではなく、その前後を含めた区間を出力してもよい。前述の例では、部分コンテンツを音声信号の周期性に基づいて生成する例を説明した。しかしながら、この手法では、人の発話における子音など、周期性の弱い部分が漏れやすく、子音が切れてしまうことが起こり得る。このような場合に対処するために、ある部分コンテンツの前後、例えば、音量に相当する音声信号の振幅がある一定値以上にある区間までを含めて出力するものとしてもよい。この際の一定値とは、例えば、当該部分コンテンツの平均の振幅値の75%レベルや、最大の振幅値の50%レベルなどとして設定してもよいし、コンテンツ全体の平均の振幅値の120%レベルなどとして設定してもよい。
なお、上記の実施の形態における図3の構成要素の動作をプログラムとして構築し、印象度推定装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを流通させることが可能である。
また、構築したプログラムをハードディスクや、フレキシブルディスク、CD−ROM等の可搬記憶媒体に格納しておき、コンピュータにインストールして実行させる、または、配布することが可能である。
上記のように、本実施の形態に示した一例によれば、コンテンツ中の音声信号に基づいて部分コンテンツの印象を推定することで、印象に則した部分コンテンツを提示することができる。これは、従来のコンテンツ要約技術では、コンテンツ中に起こる強調的発話や、感情の情報を解析して、特徴的な部分コンテンツを切り出しているものであって、部分コンテンツがどのような視聴印象を与えるものであるかを解析するものではないという問題に対して解決を与えるものである。
また、記憶部85に記憶するものは、統計モデルの関数型を表す符号及びそのパラメータの符号のみでよく、使用するメモリ、及び計算時間コストが小さくてよい。
なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において種々変更・応用が可能である。
例えば、生成された部分コンテンツの情報、特に、優先順位リストや部分コンテンツ情報リストを含むXML(eXtensible Markup Language)データを生成してもよい。汎用的なXMLデータであれば、本発明により生成される出力結果の利用性を高めることができる。