(58)【調査した分野】(Int.Cl.,DB名)
前記第2の統計値算出部が、前記第2のレベルのパーセント時間率平均値を前記第2の統計値として算出し出力するものである請求項1から請求項3のいずれか一項に記載のミキシングバランス自動調整装置。
【発明を実施するための形態】
【0031】
以下、本発明に係るミキシングバランス自動調整装置およびプログラムの実施形態について図面を用いて説明する。
【0032】
すなわち、本発明に係るミキシングバランス自動調整装置を、テレビやラジオ等の番組制作時にNR信号とBGM信号とのミキシングバランスの状態を自動調整するミキシングバランス自動調整装置に適用する場合について説明する。
なお、本実施形態におけるNR信号及びBGM信号は、特許請求の範囲に記載の第1の音声信号及び第2の音声信号にそれぞれ対応する。
【0033】
以下の説明においては、適正なレベルでミキシングされたNR信号のラウドネスレベル[phon]を0で正規化した相対レベルを用いて、NR信号のレベルを表すことにする。また、BGM信号のレベルもNR信号と同一のレベルで正規化した相対レベルを用いて表すことにする。
一例を挙げれば、適正なレベルでミキシングされたNR信号のラウドネスレベルが70[phon]の場合では、NR信号またはBGM信号のラウドネスレベルが、70[phon]のときは当該信号の相対レベルは0であり、75[phon]のときは当該信号の相対レベルは+5である。
【0034】
正規化後の相対レベルが例えば−50程度以下の場合は、NR信号及びBGM信号のラウドネスレベルは聴感的に非常に小さいものであるので、−50以下の値を全て−50で置き換えても実用上は十分である。
なお、0で正規化しないで後述する処理を行うこともできるが、その場合には後述する各閾値の値が相対的に変わってくる。
以下、正規化されたNR信号の相対レベルを「N」、正規化されたBGM信号の相対レベルを「B」と表す。また、両者の相対レベルの差を「ΔL」と表す。
【0035】
図1は本発明に係るミキシングバランス自動調整装置1の構成を示すブロック図である。
本実施の形態においては、NR信号およびBGM信号は、サンプリング周波数が48kHz、量子化ビット数が16ビットのデジタルNR信号およびデジタルBGM信号であるとする。なお、入力されるNR信号及びBGM信号がアナログ信号である場合は、図示しないAD変換器によりデジタル信号に変換する必要がある。
【0036】
図1に示すように、本発明に係るミキシングバランス自動調整装置1は、NR信号のレベルであるNRレベルを検出するNRレベル検出部20と、BGM信号のレベルであるBGMレベルを検出するBGMレベル検出部30と、NRレベルの統計値であるNR統計値を算出するNR統計値算出部2と、BGMレベルの統計値であるBGM統計値を算出するBGM統計値算出部3と、BGMレベルとNRレベルの差であるレベル差を算出するレベル差算出部41と、NRレベルとBGMレベルに応じてミキシングバランスを評価するための評価信号としてレベル差とBGMレベルのいずれかを選択する評価信号選択部42と、評価信号のパーセント時間率平均値である評価信号平均値を算出する評価信号平均値算出部43と、NR統計値およびBGM統計値に応じて定まる閾値と評価信号平均値に応じて適正なミキシングバランスを維持するためのBGM信号に対するゲインを算出するゲイン算出部5と、NR信号およびゲインを乗算したBGM信号を出力する音声出力部6と、を備える。
【0037】
NR統計値算出部2の構成
NR統計値算出部2は、NRレベルのパーセント時間率平均値であるNR平均値Npを算出するNR平均値算出部21と、NR平均値Npの統計的平均値であるNR統計的平均値Nsを算出するNR統計的平均値算出部22を含む。
なお、NR統計的平均値算出部22は必須ではなく、NR統計的平均値算出部22を具備しない場合は、NR統計値算出部2の出力は、NR平均値Npとなる。
【0038】
BGM統計値算出部3の構成
BGM統計値算出部3は、BGMレベルのパーセント時間率平均値であるBGM平均値を算出し、BGM統計値算出部3の出力とするBGM平均値算出部31を含む。
なお、BGM統計値算出部3は、BGM平均値からBGM相対レベルの統計的平均値であるBGM統計的平均値を算出するBGM統計的平均値算出部3
2を含んでいてもよく、この場合は、BGM統計値算出部3の出力は、BGM統計的平均値となる。
【0039】
ハードウエア構成
本発明に係るミキシングバランス自動調整装置1は、パーソナルコンピュータ等のプログラマブル制御装置でミキシングバランス自動調整プログラムを実行することにより構成することができる。
【0040】
図2は、本実施形態で使用するパーソナルコンピュータ7のハードウエア構成を示すブロック図であって、たとえば表示パネル71、キーボード72、およびマウス73で構成されるマン・マシンインターフェイスと、演算装置74と、で構成される。
演算装置74は、サンプリング周波数48kHz、量子化ビット数16ビットでNR信号及びBGM信号をデジタル音声信号に変換するAD変換器741、アナログ音声信号を出力するDA変換器742、CPU743、メモリ744、ハードディスク(HDD)745、および周辺機器I/F746がバス747を介して相互に結合された構成を有する。表示パネル71、キーボード72、およびマウス73は周辺機器I/F746に接続される。
なお、NR信号及びBGM信号がデジタル信号である場合は、AD変
換器741を省略することができる。また、出力信号がデジタル信号である場合には、DA変換
器742を省略することができる。
【0041】
そして、NR信号のレベルであるNRレベルを検出するNRレベル検出部20、BGM信号のレベルであるBGMレベルを検出するBGMレベル検出部30、NRレベルの統計値を算出するNR統計値算出部2、BGMレベルの統計値を算出するBGM統計値算出部3、BGMレベルとNRレベルの差であるレベル差を算出するレベル差算出部41、NRレベルとBGMレベルに応じてミキシングバランスを評価するための評価信号としてレベル差とBGMレベルのいずれかを選択する評価信号選択部42、評価信号のパーセント時間率平均値である評価信号平均値を算出する評価信号平均値算出部43、ならびに、BGM信号に乗じるゲインを算出するゲイン算出部5およびゲイン調整されたBGM信号とNR信号とのミキシング信号を出力する音声出力部6は、演算装置74内にソフトウエア的に構成される。
【0042】
動作の説明
以下メモリに記憶されているプログラムのフローチャートを参照しつつ、本発明に係るミキシングバランス自動調整装置1の動作を説明する。
図3は第1のミキシングバランス調整プログラムのフローチャートであって、バッチ処理的にミキシングバランス調整を行う場合と、実時間でミキシングバランス調整を行う場合2つの場合について説明する。
【0043】
(1)バッチ処理の場合
番組全体のNR信号およびBGM信号が既知であり、予め記録された番組全体のNR信号およびBGM信号を事後的にミキシングバランス調整する場合である。
まず、演算装置74は、NR信号およびBGM信号を読み込む(ステップS11)。
NR信号およびBGM信号がデジタル信号である場合には、予めハードディスク745に記憶されているNRデータおよびBGMデータからNフレーム分のデータを読み込む。
NR信号およびBGM信号がアナログ信号である場合には、AD変換器741を介してNフレーム分のNR信号およびBGM信号を読み込む。
Nの値は特に制限されないが、約5分間のNR信号およびBGM信号を1つのバッチとして処理することが現実的である。
【0044】
次に、演算装置74は、NR信号のレベルであるNRレベルNおよびBGM信号のレベルであるBGMレベルBをフレームごとに検出する(ステップS12)。
すなわち、演算装置74は、NR信号およびBGM信号の相対レベル(瞬時ラウドネスレベル)N[phon]を所定時間ΔT毎に検出し、それをNRレベルNおよびBGMレベルBとして出力するようになっている。
ここで、所定時間ΔTは、NR信号およびBGM信号をサンプリング周波数48kHzで例えば1024サンプルを取得する場合は、約21.3ms(=1024/48000s)となる。
【0045】
以下の説明では、サンプリング周波数48kHzでサンプリングした1024サンプルを1フレームと呼ぶことにする。各フレームは互いに時間的に重複する部分を有していても良い。
ここで、NR信号およびBGM信号のラウドネスレベルを検出する方法としては、例えばISO562に規格化されたものを使用することができる。
なお、ラウドネスレベルに代えてNR信号およびBGM信号の平均エネルギレベル[dB]を算出してもよい。この場合は、例えばサンプル値の2乗平均値を算出し、それらをdB変換することになる。
NRレベルおよびBGMレベルの検出処理中は、演算装置74がNRレベル検出部20およびBGMレベル検出部30として動作していることとなる。
【0046】
次に演算装置74は、NR統計値Nsを算出する(ステップS13)。
図4はNR統計値算出処理の詳細フローチャートであって、演算装置74は、NRレベルNのパーセント時間率平均値Npを算出する(ステップS131)。
【0047】
ここで、パーセント時間率平均値とは、過去から現フレームまでのn個のフレームに含まれるNRレベルNから降冪の順にm個の値を選択し、そのm個の平均値として定義される。なお、n及びmは正の整数であり、n≧mである。
nおよびmを大きくするほど、NR平均値Npの変化を滑らかにすることができるが、nおよびmが大き過ぎるとNRレベルの変化に対する追従が悪くなるので、nおよびmを適当な大きさに設定する必要がある。
本実施例においては、nを相対的に大きな値として平均値の変化を滑らかとするとともに、mを相対的に小さな値として追従性を確保している。実用上は、n=100、m=4程度とするのが好ましい。
【0048】
次に演算装置74は、NR平均値NpからNR相対レベルの統計的平均値Nsを算出する(ステップS132)。
R相対レベルの統計的平均値Nsを算出する理由は以下の通りである。
すなわち、視聴者は聴感的なラウドネスを基準としてBGMが大きいか否かを判断していると考えることができる。
したがって、番組全体を通してNR平均値Npが一定であれば、NR平均値Npを基準としてBGMのゲインを調整すればミキシングバランスは適正なレベルを維持するものと言える。
【0049】
しかし、本発明者の調査によれば、複数回にわたって放送される放送番組において、VU計等も補助的に利用して同程度(たとえば、相対レベル=0)の音量になるように音声レベルを調整しても、視聴者は放送回によりラウドネスが異なると感じる場合があることが明らかとなった。
通常の番組ではNR信号の相対レベルがおよそ零程度になるように制作されることが多いが、本発明者のこれまでの調査によれば、実際にはNR信号の相対レベルの平均値は+1〜2[phon]となっている場合が多い。
このことはNR平均値Npに基づきミキシングバランスを調整することが、必ずしも適切ではないことを意味している。
【0050】
一方、本発明者は、NR平均値Npを1つの正規分布ではなく、複数の正規分布が混合した混合正規分布と仮定し、最も支配的な1つの正規分布のパラメータから視聴者の感じるラウドネスをある程度推定可能であることを明らかにした。
従来から、ヒストグラムの分布を複数の正規分布の混合で近似する手法が知られている(「Rで学ぶデータサイエンス パターン認識」,金森敬文,竹之内高志,村田昇,共立出版,2009年)。さらに、このときの混合数の推定には、AIC(Akaike's Information Criterion)やBIC(Bayesian Information Criterion)などを用いることもできることも知られている。
したがって、NR平均値Npの代わりに統計的平均値Nsを用いれば、視聴者の感じるミキシングバランスを達成することが可能となる。
【0051】
統計的平均値Nsの算出方法として、混合正規分布モデルGMM(Gaussian Mixture Model)を使用することが可能である。
本発明者の実験によれば、ナレーション音声のヒストグラムは、混合数を2〜3程度とすれば十分よい近似ができることが分かっている。
【0052】
混合数が2の場合について、統計的平均値Nsの算出方法を説明する。
図5は、混合数を2の場合の混合分布を模式的に示すグラフである。
図5において、1番目の混合分布の平均値mu[1]=0、2番目の平均値mu[2]=1.5とする。また混合比率を表す混合パラメータをp[1]=0.6、p[2]=0.4とする。
【0053】
図5の分布の統計的平均値は1番目の分布、あるいは1番目と2番目の中間の値に従うように見えるが、視聴者の感じる平均的なナレーションの大きさは、ラウドネスレベルの大きな分布により影響されることが、これまでの本発明者の調査で明らかになっている。
図5の例においては、α×p[1]<p[2](αは経験的に"0.6"程度が適当である。)である場合は、2番目の混合分布が有効と判断でき、統計的平均値Nsとしてmu[2]を選択する。
一方、α×p[1]≧p[2]が成り立つ場合には、1番目の混合分布が有効と判断でき、統計的平均値Nsとしてmu[1]を選択すればよい。
【0054】
上記の混合正規分布モデルによらずヒストグラムから統計平均値Nsを算出する方法も提案されており、本実施形態ではこの方法を採用する。
図6はNR統計平均値算出処理(ステップS13
2)の詳細フローチャートであって、演算装置74は、所定数のNR平均値Npの平均値mgおよび中間値mdを算出する(ステップS321)。
【0055】
次に、演算装置74は、1[phon]刻みのNR平均値Npのヒストグラムを作成し、混合数に対応した数の極大値を探索する(ステップ322)。
実用上は、混合数を"3"とすれば十分であるので、3個の極大値を探索すれば十分である。
【0056】
次に、演算装置74は、極大値の中から最も支配的な極大値を決定する(ステップS323)。
以下、支配的な極大値の決定方法を極大値が2個の場合につき説明する。
図7は、ヒストグラム作成処理により作成されたヒストグラムの一例を示すグラフである。横軸のhist[x](x=0,±1,±2,・・・)は、レベル平均値NA(相対ラウドネスレベル)の値の小数点以下を四捨五入した値がxであることを意味している。また、縦軸はhist[x]の頻度を表している。
【0057】
図7のヒストグラムにおいては、hist[0]とhist[2]が局所的な極大値となっている。そして、hist[0]及びhist[2]の頻度を混合数(所定の規格化を行った値としても良い)と推定する。
α×hist[0]<hist[2]が成り立てば、相対ラウドネスレベル2[phon]を仮の統計的平均値とする。一方、α×hist[0]≧hist[2]が成り立つ場合には、相対ラウドネスレベル0[phon]を仮の統計的平均値とする。
【0058】
最後に、演算装置74は、仮の統計的平均値、NR平均値Npの平均値mg、NR平均値Npの中間値mdの3値の中で最大の値を統計的平均値Nsとする(ステップS324)。なお、仮の統計的平均値をそのまま統計的平均値Nsとしてもよい。
NRレベルの統計値算出処理中は、演算装置74がNR統計値算出部2として動作していることとなる。
【0059】
以上でNR信号統計値算出処理を終了し、演算装置74はBGM信号統計値算出処理を実行する(ステップS14)。
すなわち、演算装置74は、BGM平均値BpをBGMレベルBのパーセント時間率平均値であるBGM平均値Bpを算出する。
【0060】
なお、BGM平均値Bpに基づいてBGM統計的平均値Bsを算出してもよいが、算出方法はNR統計的平均値Nsの算出方法と同一であるので詳細な説明は省略する。
ただし、実際にはBGM統計的平均値Bsを使用する場合は少ない。
BGMレベルの統計値算出処理中は、演算装置74がBGM統計値算出部3として動作していることとなる。
【0061】
次に、演算装置74はBGMレベルBとNRレベルNの差であるレベル差ΔL(=B−N)を算出する(ステップS15)。
レベル差算出処理中は、演算装置74がレベル差算出部41として動作していることとなる。
【0062】
次に、演算装置74は、ミキシングバランスを評価するための評価信号Hを選択する(ステップS16)。
評価信号の選択は、ミキシングバランスを評価する対象を切り換えるための処理であって、NRレベルNが所定レベル以上であるときはレベル差ΔLを評価信号Hとして選択し、NRレベルNが所定レベル未満であるときはBGMレベルを評価信号Hとして選択する。
【0063】
図8は、縦軸を評価信号H、横軸をNRレベルNとしたグラフである。
図8および下記の[数1]に示すように、NRレベルNが所定値TBよりも小であるとき(N<TB)には、NR信号を考慮せずにミキシングバランスを評価するために、評価信号HをBGMレベルBに設定する。
NR信号の相対レベルNが所定値TAよりも大であるとき(N>TA)は、NR信号とBGM信号を共に考慮してミキシングバランスを評価するために、評価信号Hをレベル差ΔL=B−Nに設定する。ここで、TA≧TBである。
【0064】
なお、TA=TBとしたときは評価信号Hが不連続となり、視聴者が不自然さを感じるおそれがある。
そこで、TA>TBとし、NRレベルNがTB以上かつTA以下のとき(TB≦N≦TA)のときには、評価信号Hとして、B(N=TBのとき)から(B−TA)(N=TAのとき
のレベル差Δ
Lの値)まで単調に変化する関数の関数値を使用することが望ましい。
点(TB,B)と点(TA,B−TA)とを直線で結ぶ関数を適用した場合は、評価信号Hは[数1]の3行目の式で算出される値となる。
【0066】
[数1]より、例えば、TB≦N≦TA、TA=−10、TB=−20のとき、評価信号はB+N+20となる。
【0067】
図9は、レベル差および評価信号の波形の模式図である。
NRレベルNおよびBGMレベルBが
図9(a)に示すような関係にある場合、レベル差ΔLは
図9(b)に示す波形、評価信号Hは
図9(c)に示す波形となる。
図9(b)に示すように、レベル差ΔLは、BGM信号の相対レベルBが大きいほど、またはNR信号の相対レベルNが小さいほど大きくなる。
【0068】
NR信号の相対レベルNが小さい場合、すなわち、NR信号がほとんど存在しない場合は、BGM信号のみの大きさに依存してミキシングバランスを調整すれば良いことになる。なお、レベル差ΔLをそのまま評価信号Hとしてもよい。
評価信号選択処理中は、演算装置74は評価信号選択部42として動作していることとなる。
【0069】
次に、演算装置74は、評価信号Hのパーセント時間率平均値である評価信号平均値Hpを算出する(ステップS17)。
評価信号平均値算出処理中は、演算装置74は評価信号平均値算出部43として動作していることとなる。
【0070】
続いて、演算装置74はゲインGの算出(ステップS18)を行う。
図10はゲイン算出処理のフローチャートであって、演算装置74はフレーム番号を表す整数nを"1"に初期化する(ステップS160)。なお、ゲイン算出処理の説明においては、フレーム番号nを記載する。
【0071】
次に、演算装置74はnフレームにNR信号が含まれているか否かを判定する(ステップS161)。
図11は、NR信号が含まれているか否かの判定用グラフであって、条件{(TB≦Ns)かつ(Bp≧BE+Ns)}が成立するときはフレーム(n)にNR信号が含まれているとし、この条件が成立しないときはフレーム(n)にNR信号が含まれていないと判定する。なお、TB=−20、BE=2.5程度とするのが望ましい。
【0072】
演算装置74は、「NR信号が含まれている」と判定したときは、領域を表す領域番号I(n)を"1"に設定し(ステップS162)、制御区間決定用のフレームX(n)を評価信号平均値Hp(n)とする(ステップS163)。
【0073】
一方、演算装置74は、「NR信号が含まれてない」と判定したときは、領域番号I(n)を"2"に設定し(ステップS164)、制御区間決定用のフレームX(n)をBGM平均値Bp(n)とする(ステップS165)。
【0074】
次に、演算装置74は、全フレームについて処理が終了したか否かを判定し(ステップS166)、終了していないと判定したときはフレーム番号nをインクリメントして(ステップS167)、ステップS161に戻る。
【0075】
次に、演算装置74は、ゲイン制御区間を検出する(ステップS168)。
図12は、ゲイン制御区間検出処理のフローチャートであって、演算装置74はフレーム番号nおよびゲイン制御区間番号kを"1"に初期化する(ステップS600)。
次に、演算装置74は、フレームX(n)が閾値TH(I,3)以上であるか否かを判定する(ステップS601)。
【0076】
演算装置74は、フレームX(n)が閾値TH(I,3)以上であると判定したときは、つづいてフレームX(n)が閾値TH(I,4)以下であるか否かを判定する(ステップS602)。
図13は、閾値TH(I,J)の設定例を示す図であって、BGM信号のレベルBを「過小」、「小」、」「やや小」、「適正」、「やや大」、「大」、「過大」の7領域に分割するために6つの閾値が設定されている。
【0077】
そして、ミキシングバランスを評価する際にNR信号も考慮する必要があるときは、領域番号Iは"1"であり、BGM信号の相対レベルBが"−10〜−6"の範囲にあれば適正と判断される。
NR信号を考慮する必要が無いときは、領域番号Iは"2"であり、BGM信号の相対レベルBが"−5〜0"の範囲にあれば適正と判断される。
【0078】
演算装置74は、フレームX(n)が閾値TH(I,4)以下であると判定したときは、適正レベル未満の状態が継続したフレーム数を表す整数mLが予め定められた数ML以上であるか否かを判定する(ステップS603)。
演算装置74は、整数mLが所定数ML以上であると判定したときは、現在のフレームよりmLフレーム前から現在のフレームまでがBGM信号の相対レベルBを調整する必要があるゲイン制御区間であるとして、現在のフレーム番号nをY(k)に、継続フレーム数mLをL(k)に、ゲインを増加させる必要があることを示す"U"を記憶領域C(k)に記憶する(ステップS604)。
【0079】
演算装置74は、整数mLが所定数ML未満であると判定したときは、適正レベルより大である状態が継続したフレーム数を表す整数mHが予め定められた数MH以上であるか否かを判定する(ステップS605)。
演算装置74は、整数mHが所定数MH以上であると判定したときは、現在のフレームよりmHフレーム前から現在のフレームまでがBGM信号の相対レベルBを調整する必要があるゲイン制御区間であるとして、現在フレームのフレーム番号nをY(k)に、継続フレーム数mLをL(k)に、ゲインの調整方向を記憶領域C(k)にゲインを低減させる必要があることを示す"D"を記憶する(ステップS606)。
【0080】
演算装置74は、ステップS605で整数mHが所定数MH未満であると判定したとき、ならびに、ステップS604およびステップS606の処理を終了したときは、制御区間番号kをインクリメントし(ステップS607)、継続フレーム数を表す整数mLおよびmHをリセットして(ステップS608)この処理を終了する。
演算装置74は、ステップS601でフレームX(n)が閾値TH(I,3)未満であると判定したときは、ゲイン制御区間に入ったものとして、適正レベル未満の状態が継続したフレーム数を表す整数mLをインクリメントして(ステップS609)、この処理を終了する。
【0081】
演算装置74は、ステップS602でフレームX(n)が閾値TH(I,4)より大であると判定したときは、ゲイン制御区間に入ったものとして、適正レベルより大である状態が継続したフレーム数を表す整数mHをインクリメントする(ステップS610)。
そして、演算装置74はN個のフレームについて処理が終了したか否かを判定し(ステップS611)、完了していないときはフレーム番号nをインクリメントして(ステップS612)、ステップS601の処理に戻る。N個のフレームについて処理が終了したときはゲイン制御区間検出処理を終了する。
【0082】
続いて演算装置74はゲイン決定処理を実行する(ステップS169)。
図14はゲイン決定処理のフローチャートであって、演算装置74はゲイン制御区間検出処理で検出したゲイン制御区間を示す整数kを"1"に初期化する(ステップS701)。
次に演算装置74は、ゲイン制御区間kのC(k)に記憶されているゲイン調整方向が"U"であるか否かを判定する(ステップS702)。
【0083】
演算装置74はゲイン制御区間kのゲイン調整方向が"U"であると判定したときは、ゲイン制御区間kに含まれるフレームX(i)(Y(k)−L(k)≦i≦Y(k))の最小値Xminを探索する(ステップS703)。
そして、演算装置74は[数2]によりゲイン調整量G(k)を算出する(ステップS704)。
【0084】
【数2】
なお、β
Uは予め定められた値である。
【0085】
演算装置74はゲイン制御区間kのゲイン調整方向が"U"でないと判定したときは、
ゲイン制御区間kに含まれるフレームX(i)(Y(k)−L(k)≦i≦Y(k))の最大値Xmaxを探索する(ステップS705)。
そして、演算装置74は[数3]によりゲイン調整量G(k)を算出する(ステップS706)。
【0086】
【数3】
なお、β
Dは予め定められた値である。
【0087】
演算装置74はkについてkmaxまでの処理が完了したかを判定し(ステップS707)、終了していないと判断したときはkをインクリメントして(ステップS708)、ステップS702に戻り処理を継続する。
演算装置74はkmaxまでの処理が完了したときは、ゲイン調整量の算出を終了する。
ゲイン算出処理中は、演算装置74はゲイン算出部5として動作していることとなる。
【0088】
続いて、演算装置74は音声出力処理を実行する(ステップS19)。
図15は音声出力処理の詳細フローチャートであって、演算装置74は、フレーム番号nおよびゲイン制御区間番号kを"1"に初期化する(ステップS171)。
次に、演算装置74はフレームがゲイン制御区間内にあるか否かを、nが(Y(k)−L(k))に等しいか否かにより判定する(ステップS172)。
【0089】
演算装置74はフレームがゲイン制御区間内にあると判定したときは、フレーム番号が(Y(k)−L(k))からY(k)までのフレーム内のBGM信号にゲイン調整量G(k)を乗算してBGM信号のゲインを制御し(ステップS173)、kをインクリメントする(ステップS174)。
なお、演算装置74はフレームがゲイン制御区間内にないと判定したときは、ステップS173およびステップS174をバイパスする。
【0090】
演算装置74はN個のフレームについてゲイン制御が終了したか否かを判定し(ステップS175)、終了していない場合はフレーム番号nをインクリメントして(ステップS176)、ステップS172の処理に戻る。
演算装置74はN個のフレームについてゲイン制御が終了したときは、NR信号およびゲイン制御後のBGM信号を例えば
図2のHDD744に出力して(ステップS177)この処理を終了する。
【0091】
なお、上記の処理ではゲイン制御区間の始端および終端においてゲインの急変により視聴者に不自然さを与えるおそれがあるため、前処理(ステップS178)および後処理(ステップS179)を追加し、ゲインの変化を連続的に行うことが有利である。
すなわち、前処理(ステップS178)においては、ゲイン制御区間の始端前の所定フレーム数(たとえば、0.5秒に相当する20〜25フレーム)からゲイン制御量をゲイン制御区間内のゲイン制御量G(k)に向けて滑らかに変化させるようにすることが望ましい。
【0092】
さらに、後処理(ステップS179)においては、ゲイン制御区間の終端後の所定フレーム数(たとえば、0.5〜2.0秒に相当する20〜100フレーム)までゲイン制御量をゲイン制御区間内のゲイン制御量G(k)から滑らかに変化させるようにすることが望ましい。
音声出力処理中は、演算装置74は音声出力部6として動作していることとなる。
【0093】
図16はミキシングバランス調整プログラムを使用したバッチ処理によるBGM信号のゲイン調整効果を示す波形図であって、上から、入力BGM信号レベル、ゲイン、出力BGM信号レベルを示している。
入力BGM信号のレベルが適正範囲を逸脱している範囲AおよびBのうち、逸脱している期間の長いAはゲイン制御区間となるが、逸脱期間の短いBはゲイン制御区間とはならない。
【0094】
入力BGM信号のレベルが急上昇したときは前処理によりゲインを所定速度で降下させて、出力BGM信号レベルを適正範囲に引き戻す。
入力BGM信号のレベルが適正範囲になれば、ゲイン制御区間は終了するが、後処理によりゲインを降下速度よりも遅い速度で上昇させて、適正範囲に復帰させる。
【0095】
(2)実時間処理の場合
以下、実時間でミキシングバランス調整を行う場合について、
図3のミキシングバランス調整プログラムのフローチャートを参照しつつ説明する。
演算装置74は、まず例えばサンプリング周波数48KHzでサンプリングされたNR信号およびBGM信号を読み込む(ステップS11)。
【0096】
次に、演算装置74は
NR信号およびBGM信号のレベルを検出する(ステップS12)。
すなわち、NR信号およびBGM信号の1024サンプリングを1フレームとし、1フレームごとにNR信号のレベルNおよびBGM信号のレベルBを算出する。
【0097】
次に、演算装置74は、NRレベルの統計値算出処理(ステップS13)およびBGMレベルの統計値算出処理(ステップS14)を実行するが、実時間処理の場合には、1フレームごとに現時点までに算出されているNRレベルNを使用してNR平均値Npを算出し、現時点までに算出されている平均値Npを使用してNR信号の統計的平均値Nsを算出する。
【0098】
次に、演算装置74はBGM信号の統計値を算出する(ステップS14)が、実時間処理の場合には、1フレームごとに現時点までに算出されているBGMレベルBを使用してBGM平均値Npを算出する。
さらに、演算装置74は、BGMレベルBとNRレベルNのレベル差ΔLを算出し(ステップS15)、評価信号Hを選択し(ステップS16)、評価値信号の平均値Hpを算出する(ステップS17)。
【0099】
ついで、演算装置74はゲイン算出処理を行う(ステップS18)。
図17は実時間処理の場合のゲイン算出処理のフローチャートであって、演算装置74はNR信号を考慮する必要があるか否かを判定する(ステップS181)。
この判定は、
図11のグラフに基づき、NR平均値Np≧TBかつBp≦BE+Nsが成り立つときはNR信号を考慮するものとし、それ以外のときはNR信号を考慮しないものとする。
【0100】
演算装置74は、NR信号を考慮する必要ありと判定したときは、Iを"1"に設定し(ステップS182)、ゲイン決定用レベルXを評価信号平均値Hpに設定する(ステップS183)。
演算装置74は、NR信号を考慮する必要がないと判定したときは、Iを"2"に設定し(ステップS184)、ゲイン決定用レベルXをBGM平均値Bpに設定する(ステップS185)。
【0101】
次に、演算装置74はゲイン決定処理を実行する(ステップS186)。
図18はゲイン決定処理の詳細フローチャートであって、演算装置74は、まず、Xが
図13に示す閾値TH(I,3)以上であるか否かを判定する(ステップS620)。
演算装置74はゲイン決定用レベルXが閾値TH(I,3)以上でないと判定したときは、ゲイン決定用レベルXが閾値TH(I,3)以上でない状態が予め定められた所定期間(たとえば、0.5〜2.0秒に相当する20〜100フレーム)継続したか否かを判定する(ステップS621)。
【0102】
そして、所定時間継続していないと判定したときは、ゲイン上昇制御を実行していないことを示すためにゲイン制御フラグZUを"1"に設定して(ステップS622)この処理を終了する。この結果、BGM信号のゲインは変更されない。
演算装置74は、所定時間継続したと判定したときは、ゲイン上昇制御を実行する(ステップS623)。
【0103】
図19はゲイン上昇制御の詳細フローチャートであって、演算装置74は、まず、ゲイン制御フラグZUが"1"であるか否かを判定する(ステップS300)。
演算装置74は、フラグZUが"1"であると判定したときは、Xが閾値TH(I,3)以上でない状態の継続期間内のXの最小値Xminを探索する(ステップS301)。
次に演算装置74は、[数4]により上昇ゲインGuを算出する(ステップS302)。
【0104】
【数4】
なお、β
Uは予め定められた値である。
【0105】
次に演算装置74は、ステップ状のゲイン変化を回避するために、現在のゲインからGuまでゲインを漸増させるために、Guを漸増フレーム数NI(たとえば0.5秒に相当するフレーム数20)で除してΔGuとする(ステップS303)。なお、漸増フレーム数NIは、固定数であってもよいが、上昇ゲインGuが大きいほど大きくなる上昇ゲインGuの増加関数として決定することが望ましい。
演算装置74は、ゲイン漸増回数NUを"1"とし(ステップS304)、ゲインGをΔGuとゲイン漸増回数NUの積とし(ステップS305)、フラグZUを"2"として(ステップS306)、この処理を終了する。
【0106】
演算装置74は、フラグZUが"1"でないと判定したときは、ゲイン漸増回数NUが漸増フレーム数NIに到達したか否かを判定する(ステップS307)。
演算装置74は、ゲイン漸増回数NUが漸増フレーム数NIに到達していないと判定したときは、ゲイン漸増回数NUをインクリメントし(ステップS308)、ゲインGをΔGu×NUとして算出して(ステップS309)、このルーチンを終了する。
なお、演算装置74は、ゲイン漸増回数NUが漸増フレーム数NIに到達したと判定したときは、ゲイン補正処理(ステップS55)を実行後この処理を終了する。
なお、ゲイン補正処理については後述する。
【0107】
図18のゲイン決定処理に戻り、演算装置74はXが閾値TH(I,3)以上であると判定したときは、Xが閾値TH(I,4)未満であるか否かを判定する(ステップS624)。
演算装置74はXが閾値TH(I,4)未満でないと判定したときは、Xが閾値TH(I,4)未満でない状態が予め定められた所定期間(たとえば、0.5〜2.0秒に相当する20〜100フレーム)継続したか否かを判定し(ステップS625)、所定時間継続していないと判定したときは、ゲイン降下制御を実行していないことを示すためにゲイン制御フラグZDを"1"に設定して(ステップS626)この処理を終了する。この結果、BGM信号のゲインは変更されない。
【0108】
演算装置74は、所定時間継続したと判定したときは、ゲイン降下制御を実行する(ステップS627)。
図20はゲイン下降制御の詳細フローチャートであって、演算装置74は、まず、フラグZDが"1"であるか否かを判定する(ステップS400)。
演算装置74は、フラグZUが"1"であると判定したときは、Xが閾値TH(I,4)未満でない状態の継続期間内のXの最大値Xmaxを探索する(ステップS401)。
次に演算装置74は、[数5]により降下ゲインGdを算出する(ステップS302)。
【0109】
【数5】
なお、β
Dは予め定められた値である。
【0110】
次に演算装置74は、ステップ状のゲイン変化を回避するために、現在のゲインからGuまでゲインを漸減させるために、Gdを漸減フレーム数NS(たとえば0.5秒に相当するフレーム数20)で除してΔGdとする(ステップS303)。なお、漸減フレーム数NSは、固定数であってもよいが、降下ゲインGdが大きいほど大きくなる降下ゲインGdの増加関数として決定することが望ましい。
演算装置74は、ゲイン漸減回数NDを"1"としゲインGをΔGuとし(ステップS404)、ゲインGをΔGuとゲイン漸減回数NDの積とし(ステップS405)、フラグZDを"2"として(ステップS406)、この処理を終了する。
【0111】
演算装置74は、ゲイン制御フラグZDが"1"でないと判定したときは、ゲイン漸減回数NDが漸減フレーム数NSに到達したか否かを判定する(ステップS407)。
演算装置74は、ゲイン漸増回数NUが漸減フレーム数NSに到達していないと判定したときは、ゲイン漸減回数NDをインクリメントし(ステップS408)、ゲインGをΔGu×NUとして算出して(ステップS409)、このルーチンを終了する。
なお、演算装置74は、ゲイン漸減回数NDが漸減フレーム数NSに到達したと判定したときは、ゲイン補正処理(ステップS55)を実行後この処理を終了する。
【0112】
なお、ゲイン補正処理は、ゲイン上昇制御におけるゲイン漸増中またはゲイン下降制御におけるゲイン漸減中のBGMレベルBの急増あるいは急減に対処するための処理である。
図21はゲイン補正処理の詳細フローチャートであって、演算処理装置74はゲイン上昇制御におけるゲイン漸増終了直後あるいはゲイン下降制御におけるゲイン漸減終了直後のBGMレベルBが閾値TH(I,3)以上であるか否かを判定する(ステップS550)。
【0113】
演算処理装置74はBGMレベルBが閾値TH(I,3)未満であると判定したときは、現在フレームよりゲイン漸増回数NIフレーム前のフレームから現在フレームまでのゲイン決定用レベルXの最小値Xmin'を探索し(ステップS551)、[数4]を使用して修正上昇ゲインGu'を算出する(ステップS552)。
【0114】
続いて、演算装置74はすでに算出されているゲインGと修正上昇ゲインGu'の差を補正ゲインΔGとし(ステップS553)、すでに算出されているゲインGに補正ゲインΔGを加算して(ステップS554)、この処理を終了する。
【0115】
演算処理装置74はBGMレベルBが閾値TH(I,3)以上であると判定したときは、BGMレベルBが閾値TH(I,4)未満であるか否かを判定する(ステップS555)。
演算処理装置74はBGMレベルBが閾値TH(I,4)以上であると判定したときは、現在フレームよりゲイン漸減回数NUフレーム前のフレームから現在フレームまでのゲイン決定用レベルXの最大値Xmax'を探索し(ステップS556)、[数5]を使用して修正降下ゲインGd'を算出する(ステップS557)。
【0116】
続いて、演算装置74はすでに算出されているゲインGと修正降下ゲインGd'の差を補正ゲインΔGとし(ステップS558)、すでに算出されているゲインGに補正ゲインΔGを加算して(ステップS559)、この処理を終了する。
演算処理装置74は、ステップS505でBGMレベルBが閾値TH(I,4)未満であると判定したときは、ゲイン修正は不要であるとして直接この処理を終了する。
なお、上記のゲイン補正ではゲインが補正された場合はゲインがステップ状に変化する。これによる聴感上の違和感を緩和するために、すでに説明した漸増(漸減)処理を適用してもよい。
【0117】
図18のゲイン決定処理に戻り、演算装置74はXが閾値TH(I,4)未満であると判定したときは、ゲイン変更後所定期間が経過したか否かを判定する(ステップS628)。
演算装置74は、ゲイン変更後所定期間が経過していないと判定したときは、ゲインの頻繁な変更を回避するために、直接この処理を終了する。
【0118】
演算装置74は、ゲイン変更後所定期間が経過していると判定したときは、ゲイン戻し制御を実行する(ステップS629)。
図22はゲイン戻し制御処理の詳細フローチャートであって、演算装置74は、ゲイン制御フラグZUが"2"であるか否かを判定することにより、ゲイン上昇制御実行後であるか否かを判定する(ステップS500)。
【0119】
演算装置74は、ゲイン制御フラグZUが"2"であると判定したときは、上昇ゲインGuを予め定めたゲイン戻しフレーム数NF(たとえば、5秒に相当するフレーム数500)で除し商である戻しゲインΔGrを算出する(ステップS501)。
演算装置74は、ゲイン制御フラグZUが"2"でないと判定したときは、ゲイン制御フラグZDが"2"であるか否かを判定することにより、ゲイン降下制御実行後であるか否かを判定する(ステップS502)。
【0120】
演算装置74は、ゲイン制御フラグZDが"2"であると判定したときは、降下ゲインGdを予め定めたゲイン戻しフレーム数NFで除し商ΔGrを算出する(ステップS503)。
次に演算装置74は、ゲイン戻し回数nRを"1"に設定し(ステップS504)、ゲインGを戻しゲインΔGrとゲイン戻し回数nRの積として算出し(ステップS505)、フラグZUおよびZDを"1"にリセットしてこの処理を終了する。
【0121】
演算装置74は、ゲイン制御フラグZDが"2"でないと判定したときは、ゲイン戻し回数nRがゲイン戻しフレーム数NFに到達したか否かを判定する(ステップS507)。
演算装置74は、ゲイン戻し回数nRがゲイン戻しフレーム数NFに到達していないと判定したときは、ゲイン戻し回数nRをインクリメントし(ステップS508)、ゲインGを戻しゲインΔGrとゲイン戻し回数nRの積として算出してこの処理を終了する(ステップS509)。
【0122】
なお、演算装置74は、ゲイン戻し回数nRがゲイン戻しフレーム数NFに到達したと判定したときは、ゲイン戻しは終了したものとして直接この処理を終了する。
ここで、
図19のフローチャートに戻り、演算装置74はステップS191で読み込んだNR信号およびゲインGを乗算したBGM信号を出力する(ステップS197)。
以上処理を番組が終了するまで繰り返す。
図23はミキシングバランス調整プログラムを使用した実時間処理によるBGM信号のゲイン調整効果を示す波形図であって、上から、入力BGM信号レベル、ゲイン、出力BGM信号レベルを示している。
入力BGM信号のレベルが適正範囲を逸脱した範囲CおよびDのうち、逸脱期間が所定期間以上継続した場合(C)はBGM信号のゲインが変更されるが、逸脱期間が短い場合(D)ではゲインは変更されない。
【0123】
入力BGM信号のレベルが適正範囲を所定時間以上逸脱すると、ゲインを所定の降下速度で降下させて、出力BGM信号レベルを適正範囲に引き戻す。
入力BGM信号のレベルが適正範囲に復帰すると、ゲインを降下速度よりも遅い速度で上昇させて、適正範囲に復帰させる。
【0124】
なお、
図23に破線で示すように、ゲイン漸減期間中にBGMレベルBがさらに上昇した場合には、ゲイン補正処理が機能し、ゲイン漸減期間終了後さらにゲインが減少して、BGMレベルBを適正範囲に復帰させる。
【0125】
なお、上述の実施形態において、第1の音声信号及び第2の音声信号をそれぞれNR信号及びBGM信号とし、NR信号とBGM信号とをミキシングする際のミキシングバランスの状態を制御する例を挙げて説明したが、本発明はこれに限定されるものではない。例えば、複数の音楽信号のミキシングを対象とするものや、台詞の音声信号と効果音の信号とのミキシングを対象とするもの等に適用しても同様な効果が得られる。
【0126】
また、上述の実施形態において示した各閾値の値や、各閾値に対する大小の判断手法は一例であり、上述のものに限定されない。
【0127】
以上説明したように、本発明に係るミキシングバランス自動調整装置は、過去の所定数のフレームから、現フレームまでの間の比較的長い時間区間におけるNR信号の統計的平均値に基づいて、BGM信号を制御するための制御閾値を算出することにより、音声信号のミキシングバランスの状態を高齢者の聴感に対応させて自動調整することができる。
例えば、本発明に係るミキシングバランス自動調整装置は、BGM信号のレベルがNR信号のレベルよりも大き過ぎる場合はBGM信号のレベルを下げるよう自動調整することができ、BGM信号のレベルが大き過ぎてNR信号が聴き取りにくいといった現象を未然に防ぐことができるので、番組の音響効果の向上を支援することができる。
【0128】
また、本発明に係るミキシングバランス自動調整装置が備える演算装置に余力がある場合には、特許文献2(特開2009−159083号公報)に開示されている聴覚特性模擬装置の出力音声を使用することで、マスキングやリクルートメント計算を行った結果に対して、本発明の手法を適用することも可能である。