(57)【要約】音声データが映像フレーム周期で分割され、該分割の境界部分に既知の値のサンプルが挿入さることによって生じるノイズを検出する音声ノイズ検出装置が開示される。装置は、フレーム境界付近において既知の値を検出する境界部分判定部と、フレーム境界付近以外のサンプルに基づいて、フレーム毎に音量を判定する音量判定部と、判定された音量が所定値を超え、且つ既知の値が検出されたフレームにおいてカウントを行い、該カウント値に基づいてノイズを検出するノイズ判定部とを有する。
2017099123.tif 000002
【特許請求の範囲】
【請求項１】
音声データが映像フレーム周期で分割され、該分割の境界部分に既知の値のサンプルが挿入さることによって生じるノイズを検出する音声ノイズ検出装置であって、
前記フレーム境界付近において前記既知の値を検出する境界部分判定部と、
前記フレーム境界付近以外のサンプルに基づいて、フレーム毎に音量を判定する音量判定部と、
前記判定された音量が所定値を超え、且つ前記既知の値が検出されたフレームにおいてカウントを行い、該カウント値に基づいてノイズの有無を判断するノイズ判定部と、を有する音声ノイズ検出装置。
【請求項２】
前記既知の値は、０、NULL、または初期化データの値であり、
境界部分判定部は、前記フレーム境界部分を、音声サンプルレートを映像フレームで除した非整数値の間隔で決定し、
前記音量判定部は、前記フレーム境界付近以外のサンプルが前記既知の値と同じときに音量が前記所定値以下と判定するものであり、
前記音声ノイズ検出装置は、前記ノイズ判定部でノイズの発生が判断されたときに、前記既知の値を、前記既知の値の周辺の複数のサンプルに基づく推定値でリアルタイムに置換するノイズ低減器を更に備えたことを特徴とする請求項１に記載の音声ノイズ検出装置。
【請求項３】
音声データのフレーム境界部分からノイズを検出する音声ノイズ検出方法であって、
音声データのフレーム境界部分のデータをチェックし、音声データのフレーム境界部分以外のデータをチェックし、音声データのフレーム境界部分が0x00の場合には音量が所定値を超えているかを判定し、音量が所定値を超えている場合には0x00をカウントし、該カウント値が所定値以上の場合にはノイズ有りと判定することを特徴とする音声ノイズ検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声ノイズ検出装置および音声ノイズ検出方法に関するものである。
【背景技術】
【０００２】
放送業務用のビデオサーバーシステムにおける映像、音声については種々の特徴がある。
例えば、放送局において、映像のフレームレートは約29.97fps（ドロップフレーム）が一般的に採用されている。また、音声のサンプリングレートは48kHz（48000サンプル/秒）が一般的に採用されている。【０００３】
ビデオサーバーシステムにおいて、素材データは１フレームを単位とした扱いをするケースが多い。29.97fps、48kHzでは単位時間（１フレーム）あたりの音声サンプル数は1601.6サンプルとなり、端数が生じる。そのため１フレームあたり１６０１サンプルか１６０２サンプルの範囲で規則立てて変動させることで解決している。例えば５フレームを周期として、１、３、５番目のフレームにおいて1602サンプルとし、２、４番目フレームにおいて1601サンプルとするシーケンスを用いる。そうすると５フレーム毎に、1602サンプルのフレームが２回連続することになる。【０００４】
したがって、音声データを送る側と受け取る側で、現在のフレームが1602サンプルなのか1601サンプルなのか、認識を同じくする必要がある。それを示すために、例えばANSI/SMPTE 272Mでは、Audio control packetに1から5の間の整数のAudio frame numberを挿入することができる。【０００５】
しかし、元データであるＨＤ−ＳＤＩ（High Definition-Serial Digital Interface）信号上の音声データや、蓄積サーバに格納される音声データ自体に、ＣＲＣ（Cyclic Redundancy Check）、チェックサムといった照合手段が常に提供されるとは限らない。音声データは一旦受信されると、ヘッダーも無い実データのみメモリに保持しているのが一般的である。その結果、何らかの理由で送る側或いは受け側がシーケンスを誤認したり、入力された音声データ量が上記シーケンスに従ったデータ量と異なっていたりすると、結果的にこの同期が外れ、データの欠損が生じうる。こうしたことは、完璧な編集を行うことが困難な時事報道や時差送出のシステムで、音声のソースが切替えられたり、編集されたりしたときに、起こり得る。【０００６】
図３はサーバ等に転送される音声データについて説明する図である。ここでは、エンコーダが、16bit/サンプルの非圧縮のPCM音声データをフレーム毎に蓄積し、符号化映像データ等とともにサーバに転送することを想定する。エンコーダアプリケーションは、共有メモリに書き込まれたPCM音声データをフレーム毎に読み出す。読出し量は上述のシーケンスで変化する。受け取る側のサーバでは、各フレームの音声に対して十分な量の記録領域を確保しており、受取った音声をそのまま記録する。  図３（Ａ）はエンコーダから転送されサーバに格納される格納データ量が本来の音声データ量より小さい場合である。【０００７】
例えば、エンコーダが、現在のフレームを1601サンプルのフレームであると認識しているとする。しかし、共有メモリには1602サンプルのPCM音声データが書き込まれている。この結果、エンコーダアプリケーションは、３２０４バイトあるPCM音声データのうち、２１０２バイトしか転送せず、ビデオサーバは２バイト分の音声データを収録（記憶）できずに失うことになる。【０００８】
図３（Ｂ）は格納データ量が音声データ量より大きい場合である。例えば、エンコーダが、現在のフレームを1602サンプルのフレームであると認識しているのに対し、共有メモリには1601サンプルのPCM音声データしか書き込まれていない。このような現象は、映像と音声が別々の物理I/Fで入力される時などに起こり得る。この結果、エンコーダアプリケーションは、本来の３２０２バイトのPCM音声データに２バイト分のNull値（0x00）を付加した３２０４バイトのデータを転送し、転送すると、ビデオサーバはオリジナルには無かった２バイト分のNull値（0x00）を余計に収録（記憶）する。なお最後の２バイトがNull値となるのは、フレーム毎にメモリを初期化しているためである。【０００９】
このように、音声データは可変長になっているため、フレーム境界部でデータの過不足が生じやすい。過不足は音声ノイズとして素材に記録され、そのまま再生すると放送障害の一因となる。ただし、音声ノイズを特定するのは、高度な解析手段をもってしても困難である。また、ビデオサーバーシステムにおけるリアルタイム機器では、解析のような高い処理負荷を極力避ける必要がある。データ過剰は有効データに初期化データが付加された状態になる。初期化データが0x00だとしても、無音データは0x00の連続データであるため、0x00が必ずしもノイズ発生を示すわけではない。【００１０】
先行技術文献としては、例えば、特許文献１に、出力用フレーム同期信号を基準とした１フレームのオーディオサンプル数を１フレーム単位とみなして、サンプリング変換処理を行う発明が開示されている。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特許登録第３８２５６７７号公報
【特許文献２】特開２０１０−０２８２２３号公報
【特許文献３】特許登録第４１２２６２４号公報
【特許文献４】特開２０００−３０７６４５号公報
【特許文献５】特許登録第４８１２１７１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
本発明の目的は、音声データのフレーム境界部分に発生するノイズを低負荷で判別することである。
【課題を解決するための手段】
【００１３】
本発明の音声ノイズ検出装置は、音声データが映像フレーム周期で分割され、該分割の境界部分に既知の値のサンプルが挿入さることによって生じるノイズを検出する音声ノイズ検出装置であって、フレーム境界付近において既知の値を検出する境界部分判定部と、フレーム境界付近以外のサンプルに基づいて、フレーム毎に音量を判定する音量判定部と、判定された音量が所定値を超え、且つ既知の値が検出されたフレームにおいてカウントを行い、該カウント値に基づいてノイズを検出するノイズ判定部とを有する。【００１４】
前記既知の値は、０、NULL、または初期化データの値であり、境界部分判定部は、フレーム境界部分を、音声サンプルレートを映像フレームで除した非整数値の間隔で決定し、音量判定部は、フレーム境界付近以外のサンプルが前記既知の値と同じときに音量が所定値以下と判定することを特徴とする。【００１５】
さらに、本発明の音声ノイズ検出方法は、音声データのフレーム境界部分からノイズを検出する音声ノイズ検出方法であって、音声データのフレーム境界部分のデータをチェックし、音声データのフレーム境界部分以外のデータをチェックし、音声データのフレーム境界部分が0x00の場合には音量が所定値を超えているかを判定し、音量が所定値を超えている場合には0x00をカウントし、該カウント値が所定値以上の場合にはノイズ有りと判定することを特徴とする。
【発明の効果】
【００１６】
本発明によれば、音声データのフレーム境界部分に発生するノイズを低負荷で判別することができる。
【図面の簡単な説明】
【００１７】
【図１】一実施例に係る音声ノイズ検出装置のブロック図。
【図２】一実施例に係る音声ノイズ検出装置の動作を説明するためのフローチャート。
【図３】サーバ等に転送される音声データについて説明する図。
【発明を実施するための形態】
【００１８】
以下、本発明の実施形態について図面を参照して詳細に説明する。図１において、音声ノイズ検出装置１は、境界部分判定部１１、音量判定部１２、ノイズ判定部１４、ノイズ低減部１５で構成されている。ここでは、ノイズ原因となるNull値の初期化データは、フレーム境界において１サンプルのみ現れ、連続しないものとする。なお、音声ノイズ検出装置１は、ＣＰＵ（Central Processing Unit）等を用いたソフトウェア処理で音声ノイズを検出してもよい。
【００１９】
共有メモリ１０は、図示しないSDIやストレージ等のインタフェースや、CPUの実行する他のプロセス（例えば復号化プロセス）から、音声データのストリームが書き込まれ、音声ノイズ検出装置１に対してその音声データを読み取り可能に提供する。なお共有メモリ以外にも、メモリマップトI/O、メモリマップトファイルのような様々な抽象化レベルのプロセス間通信手法や関連するＡＰＩ（Application Programming Interface）が利用できる。これらで利用できるＡＰＩは、ストリームのオープンとクローズ、初期化の命令、読み出しの用意ができているか否かのフラグ、読出しがデータの最後に達したか否かのフラグなどに限られ、もしくは、そのようなＡＰＩでさえも部分的に利用できない。
【００２０】
境界部分判定部１１は、共有メモリから読み出した音声データについて、フレーム境界部分となるサンプル位置（約１６００サンプルのうち先頭と末尾）のみを対象としてデータチェックを行うとともに、読み出された音声データを音量判定部１２に渡す。フレーム境界は、1601.2サンプル間隔で設定し、そこを中心に連続する１乃至数サンプルをチェックのために抽出する。つまり1601.2サンプル間隔の境界が、ある２サンプルの間に来た場合、その２サンプルを対象とし、ちょうどあるサンプルのタイミングと一致した場合はその１サンプルを対象にすればよい。フレーム境界のずれや初期化データの混入が多重的に起こることを考慮すると、常時３サンプル以上抽出してもよい。なお、フレーム単位で音声データがバースト的に入力される場合、フレーム境界は明確であり、バーストの最後の１サンプルのみ、もしくはその前後を含めた３サンプルをチェックすればよい。チェックの結果、対象データにNull値のサンプル、あるいはその他の初期化データが含まれていた場合、それをノイズ判定部１４に通知する。
【００２１】
音量判定部１２は、無音区間で0x00をノイズとして誤検出することを防ぐ目的で、境界部分判定部１１から受取った音声データのフレーム境界部分以外に少なくとも１サンプル、例えば、約１６００サンプルの中間のデータが所定の音量を超える値であるかチェックする。例えば、データがNull値であれば当該フレーム付近において無音（音量が所定以下）、それ以外であれば有音（音量が所定を超えた）と判定し、その結果をノイズ判定部１４に出力する。有音フレームにおいてあるサンプルが0x00となる確率は無視できるほど小さい。音量判定部１２はまた、境界部分判定部１１から受取った音声データをそのままノイズ低減部１５に渡す。
【００２２】
ノイズ判定部１４は、カウンタを有し、境界部分判定部１１からNull値等の初期化データを検出した旨の通知がある度に、カウンタをインクリメントする。ただし音量判定部１２の判定結果が、音量が所定以下であることを示す場合には、無音区間と判定しインクリメントしない。従って、Null値が続いてもノイズ発生と見なされない。また、無音でない場合、かつフレーム数に対してカウント数が所定値以上の場合、処理異常に起因するノイズ発生であると判断し、ノイズ検出結果を出力する。ノイズ検出結果には、もし必要であれば、境界部分判定部１１で検出されたNull値等のサンプルのタイミングを示す情報が含まれる。一方で、ノイズ判定部１４は、２以上の所定フレーム数の周期でカウンタを無条件にデクリメントする（ただし負数にはならない）。これにより、単純なカウント数の閾値処理で判断できる。
【００２３】
ノイズ低減部１５は、ノイズ発生を示すノイズ検出結果を受け取ると、Null値等の初期化データのサンプルを、周辺のサンプルに基づく推定値で置換する。推定値ｓ2は、リアルタイム処理のために既定以下の処理遅延で算出されなければならず、例えば  ｓ2＝２×ｓ1−ｓ0で得られる。ただしｓ1はｓ2の１つ前のサンプル値、ｓ0はｓ2の２つ前のサンプル値である。なお、小さな遅延の要求が無ければ、置換されるべきサンプルの前後の多数のサンプルをFIRフィルタ等に入力して得られる推定値を用いてもよい。
【００２４】
図２は本発明の一実施例に係る音声ノイズ検出装置の動作を説明するためのフローチャートである。
音声ノイズ検出装置１は、音声データの読み込みを行う（Ｓ２０１）。
Ｓ２０２の処理では、フレーム境界部分となるサンプル位置（約１６００サンプルのうち先頭と末尾）のみを対象とし、データチェックを行う。
【００２５】
Ｓ２０３の処理では、フレーム境界部以外に１サンプル程度、約１６００サンプルの中間を参照し、データをチェックする。
Ｓ２０４の処理では、音声データが0x00であるか否かを判定し、音声データが0x00の場合（ＹＥＳ）にはＳ２０５の処理に進み、音声データが0x00でない場合（ＮＯ）にはＳ２１０の処理に進む。
【００２６】
Ｓ２０５の処理では、無音区間で0x00をノイズとして誤検出することを防ぐため、約１６００サンプルの中間のデータが所定の音量を超える値であるか否かを判定し、音量が所定以下の場合（ＮＯ）にはＳ２０６の処理に進み、音量が所定値を超える場合（ＹＥＳ）にはＳ２０７の処理に進む。
Ｓ２０６の処理では、無音区間と判定し、0x00等が続いてもノイズ発生と見なさないでＳ２１０の処理に進む。
【００２７】
Ｓ２０７の処理では、0x00である場合、またはその他の初期化データの場合としてカウントして、Ｓ２０８の処理に進む。
Ｓ２０８の処理では、カウント数が所定値以上か否かを判定し、カウント数が所定値以上の場合（ＹＥＳ）にはＳ２０９の処理に進み、カウント数が所定値未満の場合（ＮＯ）にはＳ２１０の処理に進む。
【００２８】
Ｓ２０９の処理では、フレーム境界部分に処理以上に起因するノイズ有りと判定したノイズ検出結果を出力する。
Ｓ２１０の処理では、次の処理に進む。
【００２９】
本発明の一実施例である音声ノイズ検出装置を収録装置に適用する場合は、収録する音声データに対して検出を行い、監視装置へのアラーム通知、および場合に応じて脱落サンプルを補正して収録、あるいはシステムを管理している装置に対して補正タスク命令を発行(出力)する。
【００３０】
また、本発明の一実施例である音声ノイズ検出装置を再生装置、編集装置等の素材を使用する装置に適用する場合は、再生・編集等に使用する音声データ対して検出を行い、監視装置へのアラーム通知、および場合に応じて脱落サンプルを補正して使用、あるいはシステムを管理している装置に対して補正タスク命令を発行(出力)する。
【００３１】
本発明の実施形態である音声ノイズ検出装置および音声ノイズ検出方法は、1601及び1602サンプルのフレームからなるシーケンスに相当する内部状態を持たない、ステートレス検証であり、本装置または方法自体がシーケンスを誤認して誤作動する恐れはない。また音声データのフレーム境界部分に発生するノイズを極めて低負荷で判別することができる。
【００３２】
以上、本発明の一実施形態について詳細に説明したが、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変更して実施することができる。
【産業上の利用可能性】
【００３３】
音声データの取扱い上の理由でノイズの発生しうる用途に適用でき、SDI信号に音声データを埋め込むSMPTE 272Mや299M、及びそのSDI信号をIPパケットでカプセル化するSMPTE 2022-6等に準拠したシステムや装置等に好適である。
【符号の説明】
【００３４】
１０：音声ノイズ検出装置、１１：境界部分判定部、１２：音量判定部、１４：ノイズ判定部、１５：ノイズ低減部。
【図１】
2017099123.tif 000003
【図２】
2017099123.tif 000004
【図３】
2017099123.tif 000005
【国際調査報告】
2017099123.tif 000006
2017099123.tif 000007
2017099123.tif 000008
2017099123.tif 000009