JP2014011749A - 音声信号受信装置、揺らぎ吸収バッファ制御方法、音声信号再生システム - Google Patents
音声信号受信装置、揺らぎ吸収バッファ制御方法、音声信号再生システム Download PDFInfo
- Publication number
- JP2014011749A JP2014011749A JP2012148931A JP2012148931A JP2014011749A JP 2014011749 A JP2014011749 A JP 2014011749A JP 2012148931 A JP2012148931 A JP 2012148931A JP 2012148931 A JP2012148931 A JP 2012148931A JP 2014011749 A JP2014011749 A JP 2014011749A
- Authority
- JP
- Japan
- Prior art keywords
- value
- audio data
- audio signal
- absorbing buffer
- fluctuation absorbing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Communication Control (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
【課題】 ネットワークの状態に応じて適切な音声遅延量となるように音声信号を受信し、高品質で再生する。
【解決手段】 音声信号受信装置100は、受信した音声信号を表す音声データを保持し、音声信号受信装置100が有する同期信号に同期して音声データを出力する揺らぎ吸収バッファ5を備え、音声信号を受信し再生する。制御部7は、揺らぎ吸収バッファ5に保持された未出力の音声データの現在蓄積量と目標蓄積量を基に再生速度加減速率を求め、再生速度加減速率に従った再生速度で音声信号を再生する。
【選択図】 図1
【解決手段】 音声信号受信装置100は、受信した音声信号を表す音声データを保持し、音声信号受信装置100が有する同期信号に同期して音声データを出力する揺らぎ吸収バッファ5を備え、音声信号を受信し再生する。制御部7は、揺らぎ吸収バッファ5に保持された未出力の音声データの現在蓄積量と目標蓄積量を基に再生速度加減速率を求め、再生速度加減速率に従った再生速度で音声信号を再生する。
【選択図】 図1
Description
本発明は、音声信号受信装置、揺らぎ吸収バッファ制御方法、音声信号再生システムに係り、特に、ネットワークを介して音声信号を受信する揺らぎ音声信号受信装置、揺らぎ吸収バッファ制御方法、音声信号再生システムに関する。
非同期ネットワークを介して音声信号を受信し、その音声を途絶え無く連続的に再生しようとする場合、ネットワーク伝送遅延の揺らぎ(ジッタ)や送受信機器間のクロック偏差を吸収する受信バッファが用いられる。一般に、吸収できる揺らぎ量と再生までの音声遅延量との間でトレードオフの関係がある。すなわち、受信バッファ内の音声データ蓄積量が多いほど吸収できる揺らぎ量は多い一方で音声遅延量が増加する。そのため、遠隔会議システムなどの双方向通信では、必要最小限の音声データ蓄積量を求め、それを維持することが求められる。(非特許文献1)
特許文献1では、「受信バッファを有するパケット受信装置について、必要十分な受信バッファサイズを決定することができるパケット受信装置、方法およびプログラムを提供する。」と記載され、適切な受信バッファサイズを求める技術が開示されている。
特許文献1では、「受信バッファを有するパケット受信装置について、必要十分な受信バッファサイズを決定することができるパケット受信装置、方法およびプログラムを提供する。」と記載され、適切な受信バッファサイズを求める技術が開示されている。
ネットワークの状態が一定であれば、特許文献1あるいは類似の技術を用いることにより、適切な音声遅延量での通話実現が期待できる。一方、例えばインターネットのようにネットワークの状態が変化する場合、適切な受信バッファサイズあるいは音声データ蓄積量も同様に変化する。音声データ蓄積量を、継続的に音声データを受信・再生しながら、新たに求められた適切な量にするためには、再生する音声信号に対し圧縮や伸長などの加工を施す必要がある。
これに関連する技術として、特許文献2では、受信バッファの音声パケット蓄積量が予め定めた閾値を超えた場合に、この蓄積量が一定の量になる方向で音声パケットを構成する単位音声データの増減を行った後、音声パケットを再編成する方法が開示されている。
また、特許文献3では、音声の無音区間を検出した場合に、その音声の速度を可変とする方法が開示されている。
これに関連する技術として、特許文献2では、受信バッファの音声パケット蓄積量が予め定めた閾値を超えた場合に、この蓄積量が一定の量になる方向で音声パケットを構成する単位音声データの増減を行った後、音声パケットを再編成する方法が開示されている。
また、特許文献3では、音声の無音区間を検出した場合に、その音声の速度を可変とする方法が開示されている。
Colin Perkins, "RTP: Audio and Video for the Internet." (Chapter 6 to 9)
特許文献2に記載の技術は、ファクシミリの誤動作を防止することを主な目的としている。上述の技術を用いて加工された音声信号を人が聞いた場合には、音声データ増減処理が行われた区間とそうでない区間で容易に認識可能な差分が存在し、また、その境界で不連続性を感じやすいといった課題がある。
特許文献3に記載の技術は、単一話者の話声のみが集音された音声信号を前提とした場合、無音区間が存在することが想定されるため、適切に機能することが期待される。しかし、近年の通信システムの用途拡大により、例えば話声と同時に音楽が集音された音声信号を受信したい場合がある。このような場合にこのような技術は適さないことが想定される。
特許文献3に記載の技術は、単一話者の話声のみが集音された音声信号を前提とした場合、無音区間が存在することが想定されるため、適切に機能することが期待される。しかし、近年の通信システムの用途拡大により、例えば話声と同時に音楽が集音された音声信号を受信したい場合がある。このような場合にこのような技術は適さないことが想定される。
本発明の目的は、以上の点に鑑み、ネットワークの状態に応じて適切な音声遅延量となるように音声信号を受信し、かつ、音声の種類(話声等の無音区間が存在する音声、音楽等の無音区間が存在しない音声)に依らず高品質で再生することができる、音声信号受信装置、揺らぎ吸収バッファ制御方法、音声信号再生システムを提供することにある。
本発明の第1の解決手段によると、
音声信号受信装置であって、
受信した音声データを保持し、同期信号に同期して前記音声データを出力する揺らぎ吸収バッファ部と、
前記揺らぎ吸収バッファ部の音声データの入力および出力を制御する制御部と、
を備え、
前記制御部は、
前記揺らぎ吸収バッファ部に保持された未出力の前記音声データについて、現在の蓄積量の移動平均または平滑値を示す指標値である現在蓄積量と、前記揺らぎ吸収バッファ部へ蓄積された音声データの到達時間揺らぎ範囲または到達時間揺らぎ度合いに応じた指標値である目標蓄積量との差分量に比例して大きくなるように再生速度加減速率を求め、
前記再生速度加減速率を定める際に、予め定められた単位時間あたり再生速度変化率制限値を用い、再生速度がなだらかに変化するように制御し、
前記再生速度加減速率を定める際に、予め定められた再生速度加減速率制限値を用い、再生速度が一定範囲を超えて変化しないように制御する
ことを特徴とする音声信号受信装置が提供される。
音声信号受信装置であって、
受信した音声データを保持し、同期信号に同期して前記音声データを出力する揺らぎ吸収バッファ部と、
前記揺らぎ吸収バッファ部の音声データの入力および出力を制御する制御部と、
を備え、
前記制御部は、
前記揺らぎ吸収バッファ部に保持された未出力の前記音声データについて、現在の蓄積量の移動平均または平滑値を示す指標値である現在蓄積量と、前記揺らぎ吸収バッファ部へ蓄積された音声データの到達時間揺らぎ範囲または到達時間揺らぎ度合いに応じた指標値である目標蓄積量との差分量に比例して大きくなるように再生速度加減速率を求め、
前記再生速度加減速率を定める際に、予め定められた単位時間あたり再生速度変化率制限値を用い、再生速度がなだらかに変化するように制御し、
前記再生速度加減速率を定める際に、予め定められた再生速度加減速率制限値を用い、再生速度が一定範囲を超えて変化しないように制御する
ことを特徴とする音声信号受信装置が提供される。
本発明の第2の解決手段によると、
音声信号受信装置を用いた揺らぎ吸収バッファ制御方法であって、
前記音声信号受信装置は、
受信した音声データを保持し、同期信号に同期して前記音声データを出力する揺らぎ吸収バッファ部と、
前記揺らぎ吸収バッファ部の音声データの入力および出力を制御する制御部と、
を備え、
前記制御部は、
前記揺らぎ吸収バッファ部に保持された未出力の前記音声データについて、現在の蓄積量の移動平均または平滑値を示す指標値である現在蓄積量と、前記揺らぎ吸収バッファ部へ蓄積された音声データの到達時間揺らぎ範囲または到達時間揺らぎ度合いに応じた指標値である目標蓄積量との差分量に比例して大きくなるように再生速度加減速率を求め、
前記再生速度加減速率を定める際に、予め定められた単位時間あたり再生速度変化率制限値を用い、再生速度がなだらかに変化するように制御し、
前記再生速度加減速率を定める際に、予め定められた再生速度加減速率制限値を用い、再生速度が一定範囲を超えて変化しないように制御する
ことを特徴とする揺らぎ吸収バッファ制御方法が提供される。
音声信号受信装置を用いた揺らぎ吸収バッファ制御方法であって、
前記音声信号受信装置は、
受信した音声データを保持し、同期信号に同期して前記音声データを出力する揺らぎ吸収バッファ部と、
前記揺らぎ吸収バッファ部の音声データの入力および出力を制御する制御部と、
を備え、
前記制御部は、
前記揺らぎ吸収バッファ部に保持された未出力の前記音声データについて、現在の蓄積量の移動平均または平滑値を示す指標値である現在蓄積量と、前記揺らぎ吸収バッファ部へ蓄積された音声データの到達時間揺らぎ範囲または到達時間揺らぎ度合いに応じた指標値である目標蓄積量との差分量に比例して大きくなるように再生速度加減速率を求め、
前記再生速度加減速率を定める際に、予め定められた単位時間あたり再生速度変化率制限値を用い、再生速度がなだらかに変化するように制御し、
前記再生速度加減速率を定める際に、予め定められた再生速度加減速率制限値を用い、再生速度が一定範囲を超えて変化しないように制御する
ことを特徴とする揺らぎ吸収バッファ制御方法が提供される。
本発明の第3の解決手段によると、
音声信号再生システムであって、
音声信号送信装置または設定装置と、
受信した音声データを保持し、同期信号に同期して前記音声データを出力する揺らぎ吸収バッファ部と、
前記揺らぎ吸収バッファ部の音声データの入力および出力を制御する制御部と、
を備え、
前記制御部は、
前記揺らぎ吸収バッファ部に保持された未出力の前記音声データについて、現在の蓄積量の移動平均または平滑値を示す指標値である現在蓄積量と、前記揺らぎ吸収バッファ部へ蓄積された音声データの到達時間揺らぎ範囲または到達時間揺らぎ度合いに応じた指標値である目標蓄積量との差分量に比例して大きくなるように再生速度加減速率を求め、
前記再生速度加減速率を定める際に、予め定められた単位時間あたり再生速度変化率制限値を用い、再生速度がなだらかに変化するように制御し、
前記再生速度加減速率を定める際に、予め定められた再生速度加減速率制限値を用い、再生速度が一定範囲を超えて変化しないように制御し、
さらに、
前記制御部は、
前記音声信号送信装置または前記設定装置からの情報に基づき、
予め定められた再生速度加減速率制限値、予め定められた単位時間あたり再生速度変化率制限値、のいずれか1つ以上の値を変化させることを特徴とする音声信号再生システム音声信号再生システムが提供される。
音声信号再生システムであって、
音声信号送信装置または設定装置と、
受信した音声データを保持し、同期信号に同期して前記音声データを出力する揺らぎ吸収バッファ部と、
前記揺らぎ吸収バッファ部の音声データの入力および出力を制御する制御部と、
を備え、
前記制御部は、
前記揺らぎ吸収バッファ部に保持された未出力の前記音声データについて、現在の蓄積量の移動平均または平滑値を示す指標値である現在蓄積量と、前記揺らぎ吸収バッファ部へ蓄積された音声データの到達時間揺らぎ範囲または到達時間揺らぎ度合いに応じた指標値である目標蓄積量との差分量に比例して大きくなるように再生速度加減速率を求め、
前記再生速度加減速率を定める際に、予め定められた単位時間あたり再生速度変化率制限値を用い、再生速度がなだらかに変化するように制御し、
前記再生速度加減速率を定める際に、予め定められた再生速度加減速率制限値を用い、再生速度が一定範囲を超えて変化しないように制御し、
さらに、
前記制御部は、
前記音声信号送信装置または前記設定装置からの情報に基づき、
予め定められた再生速度加減速率制限値、予め定められた単位時間あたり再生速度変化率制限値、のいずれか1つ以上の値を変化させることを特徴とする音声信号再生システム音声信号再生システムが提供される。
本発明によれば、状況に応じた適切な音声遅延量となるよう動的適応され、かつ音声の種類に依らず高品質で再生することが可能な、音声通信が実現される。
以下、実施例を図面を用いて説明する。
A.概要
上記課題を解決するために本実施例では、例えば次のような構成を採用する。
一例を挙げるならば、
音声信号を受信し再生する音声信号受信装置であって、
受信した前記音声信号を表す音声データを保持し、前記受信装置が有する同期信号に同期して前記音声データを出力する揺らぎ吸収バッファを備え、
前記揺らぎ吸収バッファに保持された未出力の前記音声データの現在蓄積量を求める手段を有し、
前記揺らぎ吸収バッファに保持される未出力の前記音声データの目標蓄積量を求める手段を有し、
前記現在蓄積量と前記目標蓄積量を基に再生速度加減速率を求める手段を有し、
前記再生速度加減速率に従った再生速度で前記音声信号を再生する手段を有する
ことを特徴とする音声信号受信装置、
が採用される。
A.概要
上記課題を解決するために本実施例では、例えば次のような構成を採用する。
一例を挙げるならば、
音声信号を受信し再生する音声信号受信装置であって、
受信した前記音声信号を表す音声データを保持し、前記受信装置が有する同期信号に同期して前記音声データを出力する揺らぎ吸収バッファを備え、
前記揺らぎ吸収バッファに保持された未出力の前記音声データの現在蓄積量を求める手段を有し、
前記揺らぎ吸収バッファに保持される未出力の前記音声データの目標蓄積量を求める手段を有し、
前記現在蓄積量と前記目標蓄積量を基に再生速度加減速率を求める手段を有し、
前記再生速度加減速率に従った再生速度で前記音声信号を再生する手段を有する
ことを特徴とする音声信号受信装置、
が採用される。
B.第1の実施例の音声信号受信装置
本実施例では、音声信号の受信と再生を行う音声信号受信装置100の例を説明する。
図1は、本実施例の音声信号受信装置100の構成図の例である。
本実施例では、音声信号の受信と再生を行う音声信号受信装置100の例を説明する。
図1は、本実施例の音声信号受信装置100の構成図の例である。
音声信号受信装置100は、次の構成部を備える。
・ネットワーク1から受信する音声パケット2を一時的に保持するパケット受信バッファ部3、
・音声パケット2を、音声信号を本装置内部で扱うための形式である音声データに変換するデコーダ部4、
・ネットワーク1でのパケット伝送時間揺らぎを吸収し、本装置の同期信号に従い音声データを出力する揺らぎ吸収バッファ部5、
・音声データをアナログ信号として出力する、D/A変換(デジタル/アナログ変換)部6、
・制御部7。
・ネットワーク1から受信する音声パケット2を一時的に保持するパケット受信バッファ部3、
・音声パケット2を、音声信号を本装置内部で扱うための形式である音声データに変換するデコーダ部4、
・ネットワーク1でのパケット伝送時間揺らぎを吸収し、本装置の同期信号に従い音声データを出力する揺らぎ吸収バッファ部5、
・音声データをアナログ信号として出力する、D/A変換(デジタル/アナログ変換)部6、
・制御部7。
ネットワーク1は、例えばIP(インターネット・プロトコル)ネットワーク等の有線ネットワークまたは無線ネットワークである。
音声パケット2は、(例えば20ミリ秒分の)音声信号を、(例えばコーデックであるG.722による)エンコードを行った結果であるデータ、を含むパケットである。
パケット受信バッファ部3は、例えば一般にネットワークインターフェイス機器のメモリに存在したり、本装置で動作するOS(オペレーティング・システム)により管理されるメモリ領域に存在したりする、いわゆるFirst−In−First−Out(FIFO)バッファである。パケット受信バッファ部3は、典型的には、有限数の音声パケット2を保持することができ、後続の各機能部により未処理の音声パケット数がこれを超える場合には、新たに受信した音声パケット2は破棄される。
デコーダ部4は、受信したパケットに含まれるデータを基に、(例えばコーデックであるG.722による)デコードを行い、(例えばPCM(パルス・コード・モジュレーション)形式のデータである)音声データに変換する。
音声データの形式は、音声データの各単位データが時間方向に依存性無く、それぞれが音声信号成分として独立していればよい。PCMの他に、例えばμ−lawアルゴリズムにより圧縮されたデータ等の適宜の形式またはアルゴリズムによりデコードされたデータが使用できる。
また、ネットワーク1で一部のパケットが失われた場合に、情報が失われた区間の音声データを補間する機能を、本デコーダ部4に有することが望ましい。デコーダ部4では、補間機能が働いた場合には、一つの音声パケットを入力とし、複数の音声パケットに相当する量の音声データが出力されることがある。
揺らぎ吸収バッファ部5は、前述のように生成された音声データを入力とし、本装置の同期信号に従い音声データを出力することが可能となるように音声データを加工した上で、本装置の同期信号に従い音声データを出力する。この加工には、音声データ蓄積量を状況に応じた適切な量とするための処理が含まれる。加工手段の詳細については、後述する。
典型的には、揺らぎ吸収バッファ部5の処理は、本装置の制御部7に備える、Central Processing Unit(CPU)やDigital Signal Processor(DSP)等で動作するソフトウェア(プログラム)として実現する。ただし、実現方法はこれに限定されず、例えば、Application Specific Integrated Circuit(ASIC)、Field Programmable Gate Array(FPGA)などの集積ロジックICによりハード的に実行されるものでもよい。
揺らぎ吸収バッファ部5は、(例えば10ミリ秒の)所定間隔で、標本化された音声データを出力する。
揺らぎ吸収バッファ部5は、(例えば10ミリ秒の)所定間隔で、標本化された音声データを出力する。
D/A変換部6は、本装置の同期信号に従い、(例えば10ミリ秒の)所定間隔で、標本化された音声データである、揺らぎ吸収バッファ部5からの出力である同期後音声データを入力し、アナログ信号として出力することで音声信号を再生する。
なお、本実施例では説明を簡易にするためにD/A変換部6を装置内部に設けたが、必ずしも本装置内に存在する必要はなく、外部に存在してもよい。その場合、揺らぎ吸収バッファ部5の出力をもって本装置による音声信号の再生とする。
さらに、ネットワーク1から受信する音声信号は、上述の音声パケット2のように必ずしもパケット状に分割されたデータである必要はなく、また、デコーダ部4を必要としない形式のデータをネットワーク1から受信してもよい。これらの場合、パケット受信バッファ部3、および、デコーダ部4は必ずしも本装置に必要では無く、ネットワーク1から受信したデータを、揺らぎ吸収バッファに直接入力する形態でもよい。
音声データに関して、揺らぎ吸収バッファ部5への入力形式、揺らぎ吸収バッファ部5内部で扱う形式、および、揺らぎ吸収バッファ部5からの出力形式、が必ずしも同一である必要はない。例えば、入力形式がサンプリングレート16kHzのμ−lawデータ、内部で扱う形式がサンプリングレート96kHzのPCMデータ、および、出力形式がサンプリングレート48kHzのPCMデータ、であっても良い。なお、ここで用いる変換技術に関しては一般公知であるため、説明は省略する。
図2は、揺らぎ吸収バッファ部の構造についての説明図の例である。
次に、揺らぎ吸収バッファ部5の構造について、図2を用いて説明する。
次に、揺らぎ吸収バッファ部5の構造について、図2を用いて説明する。
揺らぎ吸収バッファ部5(1)は、同期前音声データ(2)(音声データブロック)を入力とし、同期後音声データ(3)(音声データブロック)を出力する。このとき、制御部7は、揺らぎ吸収バッファ部5内の音声データ(単位音声データの集合)の、現在蓄積量(4)と目標蓄積量(5)を求める。そして、制御部7は、これらに応じて音声データの伸縮を行うことにより、再生速度を変更することと同等の効果を得て、揺らぎ吸収バッファ部5内の音声データを適切な量に保つ。
ここで、「現在蓄積量」とは、揺らぎ吸収バッファ部5内の単位音声データが不足することがないように余裕分として現在蓄積されている単位音声データの数を示す指標値である。値の算出方法は後述する。
「目標蓄積量」とは、揺らぎ吸収バッファ部5内の単位音声データが不足することがないように余裕分として蓄積すべき単位音声データの必要十分な数を示す値である。値の算出方法は後述する。
「伸縮」は、音声データの間引きまたは引き延ばし、より具体的には、一部の単位音声データの破棄または複製により行われる。
揺らぎ吸収バッファ部5内の単位音声データ量が多すぎる、つまり、現在蓄積量が目標蓄積量より大きいときは、制御部7は、揺らぎ吸収バッファ部5から、より高速に音声を再生することで現在蓄積量が目標蓄積量に近づく。制御部7は、高速に再生することと同等の効果を得るために、例えば、揺らぎ吸収バッファ部5内の一部の単位音声データを(適切なタイミングで)破棄する。
揺らぎ吸収バッファ部5内の単位音声データ量が少なすぎる、つまり、現在蓄積量が目標蓄積量より小さいときは、制御部7は、揺らぎ吸収バッファ部5から、より低速に音声を再生することで現在蓄積量が目標蓄積量に近づく。制御部7は、低速に再生することと同等の効果を得るために、例えば、バッファ内の一部の単位音声データを(適切なタイミングで)複製する。
本実施例では、制御部7は、単位音声データの破棄や複製を行うタイミングを、現在蓄積量と目標蓄積量との差分量(差分の絶対値)に応じ、その差分量が大きいほど再生速度の加減速率(再生速度加減速率)も大きくなるように制御する。これにより、条件(ネットワークに依存する、音声データの到達時間揺らぎ量変化の大小)に応じ、再生速度の変化を必要最小限に抑えることができる。
一方で、本実施例では、単位音声データの破棄や複製を行うタイミングを、人の聴覚特性(徐々に生じる変化に鈍感である)に鑑み、再生速度がなだらかに変化するように制御する。これにより、再生速度の変化を認識しにくくする。
制御部7は、再生速度加減速率を定める際に、所定の単位時間あたり再生速度変化率制限値を用い、単位音声データの破棄や複製を行うタイミングを、再生速度がなだらかに変化するように制御することができる。
制御部7は、再生速度加減速率を定める際に、所定の単位時間あたり再生速度変化率制限値を用い、単位音声データの破棄や複製を行うタイミングを、再生速度がなだらかに変化するように制御することができる。
さらに、本実施例では、単位音声データの破棄や複製を行うタイミングを、再生速度が著しく変化しないように制御する。これにより、さらに再生速度の変化を認識しにくくする。
制御部7は、再生速度加減速率を定める際に、所定の再生速度加減速率制限値を用い、単位音声データの破棄や複製を行うタイミングを、再生速度が一定範囲を超えて変化しないように制御することができる。
制御部7は、再生速度加減速率を定める際に、所定の再生速度加減速率制限値を用い、単位音声データの破棄や複製を行うタイミングを、再生速度が一定範囲を超えて変化しないように制御することができる。
また、このとき、単位音声データの破棄や複製を行うタイミングが固定の周期とならないように制御する。これにより、音声の特定成分に偏った強い歪が生じないようにし、再生速度の変化に伴う音声品質の低下を抑える。
制御部7は、音声データの間引きまたは引き延ばしを行う間隔を、再生速度加減速率に従った間引きまたは引き延ばし間隔の期待値に、絶対値を予め定められた範囲とする乱数を加算することで定めることで、音声データの間引きまたは引き延ばしを行うタイミングが固定の周期とならないように制御することができる。
または、制御部7は、音声データの間引きまたは引き延ばしを行う間隔を、その間隔の平均値が、再生速度加減速率に従った間引きまたは引き延ばし間隔の期待値と等しくなるように定めることで、音声データの間引きまたは引き延ばしを行うタイミングが固定の周期とならないように制御することができる。
制御部7は、音声データの間引きまたは引き延ばしを行う間隔を、再生速度加減速率に従った間引きまたは引き延ばし間隔の期待値に、絶対値を予め定められた範囲とする乱数を加算することで定めることで、音声データの間引きまたは引き延ばしを行うタイミングが固定の周期とならないように制御することができる。
または、制御部7は、音声データの間引きまたは引き延ばしを行う間隔を、その間隔の平均値が、再生速度加減速率に従った間引きまたは引き延ばし間隔の期待値と等しくなるように定めることで、音声データの間引きまたは引き延ばしを行うタイミングが固定の周期とならないように制御することができる。
より具体的な実現手段の説明にあたり、説明を簡易にするため、本実施例では、一例として、揺らぎ吸収バッファ部5内の音声データ、同期前音声データ、および、同期後音声データは、全てサンプリングレート48kHzのPCMデータとして説明する。前述の通り、実際にはこれらは必ずしも同一である必要はなく、例えば、揺らぎ吸収バッファ部5で、より高いサンプリングレートのデータを用いることで、処理をより高精度に行い、音声品質の低下をさらに抑えることもできる。
本実施例を適用する場合には、データの入力間隔が著しく揺らいだなどの理由で、一時的に揺らぎ吸収バッファ部5でバッファサイズを超える量のデータが発生した場合、制御部7は、バッファされたデータを一旦クリアするなどの例外処理を行うことが望ましい。また、揺らぎ吸収バッファ部5にデータが存在しない状態で、揺らぎ吸収バッファ部5からの出力を必要とした場合、制御部7は、データが存在するように見せかける動作(例えば、値0を不足数分、出力する)とすることが望ましい。
以降、揺らぎ吸収バッファ部5は、データ入力の際にはデータを保持するのに十分な空き領域を持ち、データ出力の際には常に揺らぎ吸収バッファ部5内に必要なデータが存在するものとして説明する。
図8は、制御部の機能ブロック図の例である。
制御部7は、全体的な各種処理を実行する機能の他に、POP処理部71、PUSH処理部72を含む。
図3は、揺らぎ吸収バッファ部に関する制御部のプログラム処理フローの例である。
ここで、揺らぎ吸収バッファ部5に関する制御部7のプログラム処理フローについて、全体の大まかな流れを説明する。
制御部7は、全体的な各種処理を実行する機能の他に、POP処理部71、PUSH処理部72を含む。
図3は、揺らぎ吸収バッファ部に関する制御部のプログラム処理フローの例である。
ここで、揺らぎ吸収バッファ部5に関する制御部7のプログラム処理フローについて、全体の大まかな流れを説明する。
図3〜図5では、では、揺らぎ吸収バッファ部5への音声データブロック(例えば20ミリ秒分)の入力をPUSH、揺らぎ吸収バッファ部5からの音声データブロック(本実施例では10ミリ秒分)の出力をPOP、と表記している。
一連の処理は、本装置の同期信号に従い、本実施例では、制御部7は、以下の処理を所定間隔(例えば、10ミリ秒間隔)で行なう(ステップS1)。
ステップS2で、制御部7は、パケット受信バッファ部3に、既受信の音声パケットが保持されているかどうかを判断する。保持されていれば、ステップS3で、制御部7は、デコーダ4により、音声パケットをデコードし、揺らぎ吸収バッファ部5に音声データをPUSHする。このとき、制御部7は、音声パケットを、パケット受信バッファ部3から消去する。制御部7は、これらのステップS2およびS3を、パケット受信バッファ部3に音声パケットが保持されている間、繰り返す。
パケット受信バッファ部3に既受信の音声パケットが存在しなくなれば、ステップS4にて、制御部7は、揺らぎ吸収バッファ部5から音声データをPOPし、D/A変換部6に入力する。
本実施例においては、制御部7は、POP処理に際して、揺らぎ吸収バッファ部5から音声データブロックを取得すると同時に、音声データの現在蓄積量(変数CURRENTで示す)と目標蓄積量(変数TARGETで示す)とを求める。変数CURRENTと変数TARGETは、音声受信開始時に初期値0が設定され、以降、これらの値は継続して保持される。より具体的な手段(詳細フロー)は後述する。
一方、PUSH処理に際して、制御部7は、まずは、音声データの現在蓄積量と目標蓄積量との差分量である、伸縮を行うべき単位音声データ数を算出し、それを基に、音声再生速度を決定する。そして、制御部7は、その再生速度に従った適切なタイミングで単位音声データの破棄や複製を行いながら、揺らぎ吸収バッファ部5に各単位音声データを追加することで、最終的に音声データブロック全体を揺らぎ吸収バッファ部5に追加する。より具体的な手段(詳細フロー)は後述する。
このように、制御部7は、POPおよびPUSHに際して行う処理によって音声再生速度を制御し、結果として、音声データ蓄積量を徐々に目標量に近づける。
なお、上記概要、および下記詳細に示す、POPあるいはPUSH各処理の手順・順序は、一例を示すものであり、必ずしも全てを本実施例の通り行う必要はない。
本実施例では、同期信号に従った一連の処理で、PUSHおよびPOPを行うが、実際には必ずしもこの通りである必要はない。例えば、POPについてのみ同期信号に従った周期で行い、PUSHについては、音声パケットを受信次第、直ちに行う構成とすることもできる。
音声データの現在蓄積量と目標蓄積量とを求め、それらを基に音声再生速度を変化させることで、音声データ蓄積量を徐々に適切な量に近づけることができればよく、例えば、単位音声データの破棄や複製をPUSHではなく、POPで行うこととしても、同様の効果は実現できる。
図4は、揺らぎ吸収バッファ部に関する制御部のPOP処理フローの例である。
次に、POP処理の詳細フローについて説明する。
前述のとおり(図3−S4)、本実施例では、制御部7は、(例えば10ミリ秒の)一定間隔あたり一回、POP処理を行う。
次に、POP処理の詳細フローについて説明する。
前述のとおり(図3−S4)、本実施例では、制御部7は、(例えば10ミリ秒の)一定間隔あたり一回、POP処理を行う。
POP処理では、図4に示したフローに従い、制御部7は、揺らぎ吸収バッファ部5から音声データブロック(ブロックを構成する数分の単位音声データ)を取得した後、音声データの現在蓄積量(CURRENT)と目標蓄積量(TARGET)を更新する。以下、処理ステップを順に説明する。
ステップ1では、制御部7は、本処理が実行される時点の、揺らぎ吸収バッファ部5に保持されている単位音声データの数(瞬間値)を、Dlenに代入する。Dlenは、以降のステップで用いる、一時的な変数である。例えば100ミリ秒の音声データがバッファに存在する場合、それに相当する単位音声データの数である4800が代入される。また、制御部7は、計算のための一時的な変数であるDmin(下限値)に、それ以前より引き継いで用いるCURRENTの値を代入する。現在蓄積量を示す指標値であるCURRENTは、瞬間値であるDlenを基に、以下ステップに従い更新される一種の平滑値である。
ステップ2・ステップ3では、制御部7は、該データの揺らぎ吸収バッファ部5への到達時間揺らぎ範囲のDmin(下限値)・Dmax(上限値)を、下記のようにして求める。
ここで、α1、α2は、下式を満たす所定の定数で、それぞれ例えば、0.9、0.01、と定める。
0≦α2<α1≦1.0
また、Dmaxは、音声受信開始時に初期値0が設定され、以降、この値は継続して保持される変数である。
0≦α2<α1≦1.0
また、Dmaxは、音声受信開始時に初期値0が設定され、以降、この値は継続して保持される変数である。
ここで使用したDmin・Dmaxの算出方法は、Dlenの指数平滑移動平均を求める方法に類似する。すなわち、Dmin・Dmaxそれぞれの過去の値と、最新のDlenの値を、ある重みづけ比率で加算したものを、新たな値として保持する。
ただし、それぞれ、Dminを算出する際は、DlenがDminより小さい値の場合に、Dmaxを算出する際は、DlenがDmaxより大きい値の場合に、Dlenの値により重みを置くように操作することで、DminまたはDmaxを高速にDlenに追従させる。
また一方、上記に当てはまらない場合、すなわち、それぞれ、Dminを算出する際は、DlenがDmin以上の値の場合に、Dmaxを算出する際は、DlenがDmax以下の値の場合に、DminまたはDmaxとそれぞれの過去の値により重みを置くように操作することで、Dlenへの追従は低速になる。
また一方、上記に当てはまらない場合、すなわち、それぞれ、Dminを算出する際は、DlenがDmin以上の値の場合に、Dmaxを算出する際は、DlenがDmax以下の値の場合に、DminまたはDmaxとそれぞれの過去の値により重みを置くように操作することで、Dlenへの追従は低速になる。
その結果得られる最新のDmin・Dmaxを、それぞれ、その時刻での音声データの到達時間揺らぎ範囲の下限・上限を示す指標値としてみなす。
ステップ4では、制御部7は、音声データの目標蓄積量を示す変数TARGETと現在蓄積量を示す変数CURRENTを算出(更新)する。
その時刻での音声データの到達時間揺らぎ範囲である、DminとDmaxの差分(Dmax−Dmin)に、所定の比率定数であるRATIOを乗じた上で、同じく所定の定数であるOFFSETを加算したものを、TARGETとする。
RATIOによって、到達時間揺らぎ量が短時間で変化した場合に揺らぎ吸収バッファ部5内の音声データが不足する可能性を低減するためのマージン量を定める。RATIOは0以上の実数で、本実施例では、例えば0.3を用いる。
結果として、到達時間揺らぎ範囲に比例した量のマージンを揺らぎ吸収バッファ部5内に持つように目標蓄積量が算出される。RATIOの値が大きいほど、より短時間、あるいは、より大きな到達時間揺らぎ量変化に対応し、途絶えなく音声を再生することができる一方、再生までの音声遅延量が増加する。
結果として、到達時間揺らぎ範囲に比例した量のマージンを揺らぎ吸収バッファ部5内に持つように目標蓄積量が算出される。RATIOの値が大きいほど、より短時間、あるいは、より大きな到達時間揺らぎ量変化に対応し、途絶えなく音声を再生することができる一方、再生までの音声遅延量が増加する。
OFFSETは、突発的音声データ到達遅延(パケットロスなどに起因し発生する可能性がある)が発生した場合に、揺らぎ吸収バッファ部5内の音声データが不足することを防ぐために定める。
OFFSETは0以上の整数で、本実施例では、例えば2個の音声パケットに相当する音声データ(40ミリ秒)を構成する単位音声データ数である1920を用いる。
結果として、固定量の追加マージンを揺らぎ吸収バッファ部5内に持つように目標蓄積量が算出される。
OFFSETは0以上の整数で、本実施例では、例えば2個の音声パケットに相当する音声データ(40ミリ秒)を構成する単位音声データ数である1920を用いる。
結果として、固定量の追加マージンを揺らぎ吸収バッファ部5内に持つように目標蓄積量が算出される。
最後に、本実施例では、Dminを音声データの現在蓄積量とみなし、CURRENTに代入する。
以上、POP処理の詳細フローについて説明した。
図5は、揺らぎ吸収バッファ部に関する制御部のPUSH処理フローの例である。
次に、PUSH処理の詳細フローについて説明する。
次に、PUSH処理の詳細フローについて説明する。
PUSH処理では、制御部7は、図5に示したフローに従い、入力音声データブロックを構成する単位音声データを、順々にバッファに追加する。以下、処理ステップを順に説明する。
なお、以下に記号の説明をする。
・左辺 = 右辺 :右辺の計算結果を左辺に代入する
・左辺 == 右辺:左辺と右辺が等しいか
・左辺 < 右辺 :左辺が右辺より小さいか
また、以下に変数の意味を説明する(各変数は、音声受信開始時に初期値が設定され、以降、値は継続して保持される。)。
・CURRENT :単位音声データの現在蓄積量 (POP処理と共用)
・TARGET :単位音声データの目標蓄積量 (POP処理と共用)
・ADJUST_TOTAL :間引きまたは引き延ばしを行う必要のある、単位音声データ総量(数)。整数値で、代入時に小数点以下は切り捨てる。
・ADJUST_NEXT :次に間引きまたは引き延ばしを行うまでにバッファに追加する単位音声データの数(0になった場合、間引きまたは引き延ばしを行う)。整数値で、代入時に小数点以下は切り捨てる。
なお、以下に記号の説明をする。
・左辺 = 右辺 :右辺の計算結果を左辺に代入する
・左辺 == 右辺:左辺と右辺が等しいか
・左辺 < 右辺 :左辺が右辺より小さいか
また、以下に変数の意味を説明する(各変数は、音声受信開始時に初期値が設定され、以降、値は継続して保持される。)。
・CURRENT :単位音声データの現在蓄積量 (POP処理と共用)
・TARGET :単位音声データの目標蓄積量 (POP処理と共用)
・ADJUST_TOTAL :間引きまたは引き延ばしを行う必要のある、単位音声データ総量(数)。整数値で、代入時に小数点以下は切り捨てる。
・ADJUST_NEXT :次に間引きまたは引き延ばしを行うまでにバッファに追加する単位音声データの数(0になった場合、間引きまたは引き延ばしを行う)。整数値で、代入時に小数点以下は切り捨てる。
ステップ1では、制御部7は、パケット受信バッファ部3に追加すべき単位音声データが残っているか否かを判断し、残っていれば、対象の単位音声データについてPUSH処理を継続、残っていなければ、PUSH処理を終了する。
ステップ2−1では、制御部7は、それぞれPOP処理で求められる、音声データの現在蓄積量CURRENTから、音声データの目標蓄積量TARGETを減じ、必要に応じて小数点以下を切り捨てた上で、伸縮(間引きまたは引き延ばし)を行うべき単位音声データ総数ADJUST_TOTALとする。
ステップ2−2では、制御部7は、上述のように求めた伸縮を行うべき単位音声データ総数であるADJUST_TOTALが0に等しいか否かを判定し、等しい場合には、現在は伸縮の必要性が無いため、ステップ2−3に遷移し、残っている単位音声データを全て揺らぎ吸収バッファ部5に追加後、PUSH処理を終了する。一方、そうではない(等しくない)場合には、制御部7は、伸縮の必要性があるため、ステップ3に遷移する。
ステップ3では、制御部7は、(次に伸縮を行うまでにバッファに追加する単位音声データの数を示す)変数ADJUST_NEXTが0に等しいならば、伸縮を行うタイミングであると判断し、ステップ3−Y1に遷移する。これを満たさなければ、制御部7は、ステップ3−N1に遷移する。
ADJUST_NEXTは、音声受信開始時に初期値0が設定され、以降、この値は継続して保持される。制御部7は、伸縮を行う毎に、ADJUST_NEXTを後述のステップ3−Y2で新たに設定し、0になるまでのカウントダウンカウンタとして使用する。
ADJUST_NEXTは、音声受信開始時に初期値0が設定され、以降、この値は継続して保持される。制御部7は、伸縮を行う毎に、ADJUST_NEXTを後述のステップ3−Y2で新たに設定し、0になるまでのカウントダウンカウンタとして使用する。
ステップ3−N1、ステップ3−N2は、伸縮を行わないタイミングの処理である。制御部7は、対象の単位音声データを1つバッファに追加し、ADJUST_NEXTを1減じ、ステップ1に遷移する。
ステップ3−Y1、ステップ3−Y2は、伸縮を行うタイミングの処理である。制御部7は、音声データの現在蓄積量(CURRENT)が目標蓄積量(TARGET)より大きいか、そうで無いかにより、対象の単位音声データの破棄(間引き)、あるいは、対象の単位音声データの複製とバッファへの追加(引き延ばし)、のいずれかを行う。具体的には、制御部7は、
TARGET<CURRENT
ならば、
CURRENT=CURRENT−1
とし、現在の単位音声データは破棄する[間引き]。
そうでないならば、制御部7は、
CURRENT=CURRENT+1
とし、現在の単位音声データを複製しバッファに(計2つ)追加する[引き伸ばし]。
制御部7は、再生速度加減速率を、ADJUST_TOTALの値を基に定めることにより(後述参照)、間引きまたは引き延ばしを実施することができる。
その後、制御部7は、ADJUST_TOTALの値を基に、ADJUST_NEXTの値を新たに決定(決定方法後述)し、ステップ1に遷移する。
TARGET<CURRENT
ならば、
CURRENT=CURRENT−1
とし、現在の単位音声データは破棄する[間引き]。
そうでないならば、制御部7は、
CURRENT=CURRENT+1
とし、現在の単位音声データを複製しバッファに(計2つ)追加する[引き伸ばし]。
制御部7は、再生速度加減速率を、ADJUST_TOTALの値を基に定めることにより(後述参照)、間引きまたは引き延ばしを実施することができる。
その後、制御部7は、ADJUST_TOTALの値を基に、ADJUST_NEXTの値を新たに決定(決定方法後述)し、ステップ1に遷移する。
なお、上述の引き延ばしについては、追加する単位音声データが1つ増加すれば良く、例えば、複製による単位音声データ生成に替えて、対象の単位音声データの値と、次に対象となる単位音声データの値との平均値もつ単位音声データを生成することによっても実現できる。
次に、上述の、ADJUST_TOTALの値を基にしたADJUST_NEXTの決定について、数式を用いて説明する。
以下では、便宜上、決定処理がおこなわれるタイミングの時刻(1から開始するカウンタで、ステップ3−Y2からステップ1に遷移する都度1加算される)をt、n回前のタイミングの時刻をt−nで表記する。
Srは、揺らぎ吸収バッファ部5で使用する音声データのサンプリングレートに相当する定数、すなわち、1秒あたりの単位音声データの個数を表し、本実施例の場合、例えば、48000である。(記号:=は、定数値の定義を示すものとする。)
Sr:=48000
Sr:=48000
FCmaxは、再生速度の1秒当たり変化率の上限を示す1.0より大きい実数の定数で、例えば1.003である。大きい値を用いるほど揺らぎの変動に高速に追従し、小さい値を用いるほど音声品質低下が抑えられる。
FCmax:=1.003
FCmax:=1.003
FRmaxは、再生速度加減速率の上限を示す1.0より大きい実数の定数で、例えば1.03である。大きい値を用いるほどバッファの伸縮が高速に行われ、小さい値を用いるほど音声品質低下が抑えられる。
FRmax:=1.03
FRmax:=1.03
FR(t)は、再生速度加減速率を示す変数で、下式のように、FRtmp(t)を基に、再生速度加減速率の上限、および、再生速度の単位時間あたり変化率の上限、を超えない範囲で求める。(minは最小値選択を示す。)
εは、十分に小さい正の実数で、例えば0.00001を用いることができる。
RND(t)は、所定範囲の乱数で、本実施例では−0.5から0.5の範囲の一様乱数を用いる。
ADJUST_NEXTが連続的に同一または近い値となることを防止し、音声の特定成分に偏った歪が生じないようにすることで、聴感上の音声品質低下を抑える。
上記に限定されるものではなく、期待値が0であれば良い。
ADJUST_NEXTが連続的に同一または近い値となることを防止し、音声の特定成分に偏った歪が生じないようにすることで、聴感上の音声品質低下を抑える。
上記に限定されるものではなく、期待値が0であれば良い。
なお、本実施例ではADJUST_NEXTが0を下回ったり、極端に大きな値となったりしないように、AP(t)(以下で最大の整数値)を採用する際、0を下限値、Srを上限値としている。上限値については必ずしもSrとする必要はなく、適切な任意の値を用いることができる。
なお、各定数値に本実施例に例示した値そのものを用いた場合には、実際にAP(t)の値が0を下回ることは無い。
なお、各定数値に本実施例に例示した値そのものを用いた場合には、実際にAP(t)の値が0を下回ることは無い。
本実施例の具体的実装において、実現可能な演算精度に制約がある場合には、近似処理を行うことがある。例えばFR(t)の値が1.0に非常に近い値となった場合、演算精度が不十分であると、結果として0除算が発生してしまう。これを防ぐことを目的として、例えばFR(t)に下限値(例えば、1.00001)を設け、これを下まわらないようにする処理を加えても良い。
その他、本実施例の要旨範囲内で近似処理を行ってよい。
その他、本実施例の要旨範囲内で近似処理を行ってよい。
以上、ADJUST_NEXTの決定を含む、PUSH処理の詳細フローについて説明した。
前述のとおり、本実施例では、所定の制約定数を用いることで、再生速度やその単位時間あたり変化率に制約を与え、聴感上の音声品質低下を抑えることができる。
図6は、本実施例において、ある時刻に、揺らぎ吸収バッファ部5内の音声データ量の比較的大きな調整(現在蓄積量と目標蓄積量の差分量が1000ミリ秒分)が必要となった場合の再生速度変化の例を表すグラフである。
再生速度の変更が開始された直後は、再生速度の単位時間あたり変化率の上限に従い、時間あたり一定比率で再生速度が変化する。再生速度加減速率の上限に到達後、一定の再生速度で推移する。必要調整幅(現在蓄積量と目標蓄積量の差分量)が一定以下となった場合は、徐々に再生速度が音声信号本来の速度に近づく。
このように、音声品質低下を抑制しながら、揺らぎ吸収バッファ部5内の音声データが適切な量になるように調整を行う。
以上、本発明の実施の形態について説明した。
なお、本実施例においては、揺らぎ吸収バッファ部5で音声データの間引きまたは引き延ばしを行うことで、音声信号の再生速度を変更しているが、再生速度の変更方法はこれに限定されない。
例えば、同期信号の周波数を任意に変更する機能を有し、再生速度加減速率に従いその周波数を変更する構成であっても良い。
例えば、同期信号の周波数を任意に変更する機能を有し、再生速度加減速率に従いその周波数を変更する構成であっても良い。
また、本実施例においては、再生速度加減速率の上限は、再生速度加速の場合と再生速度減速の場合で同一の値を用いたが、これらで異なった値を用いることもできる。
C.第2の実施例の音声信号送受信装置
本実施例では、送信信号に関する情報を用いた制御を行う音声信号送受信装置の例を説明する。
本実施例では、送信信号に関する情報を用いた制御を行う音声信号送受信装置の例を説明する。
図7は、実施例2における音声信号送受信装置200を示す構成図の例である。
この音声信号送受信装置200は、実施例1の構成に、主に、音声信号送信機能部8を付加したものである。図7の音声信号送受信装置200のうち、既に説明した図1に示された同一の符号を付された構成と、同一の機能を有する部分については、説明を省略する。
音声信号送受信装置200は、音声信号送信機能部から送信信号の状態に関する情報に基づき、本装置の動作に関する制御定数である、FRmax、FCmax、OFFSET、RATIOのうち、1つ以上の値を変化させる。
例えば、送信信号の状態に関する情報が、送信を実行中か停止中であるかに関するものである場合、送信を実行中は双方向の通信となるため、受信音声信号が再生されるまでの遅延がより短く、また、より高速に音声データの伸縮が行われる値を用いる。つまり、比較的大きなFRmax、比較的大きなFCmax、比較的小さなOFFSET、および、比較的小さなRATIOが適する。一方、送信を停止中は、上述の遅延は比較的長くても問題になりにくいと想定されるため、比較的小さなFRmax、比較的小さなFCmax、比較的大きなOFFSET、および、比較的大きなRATIOを用いて、音声品質の低下をより抑える。
なお、音声信号送信機能部8の代わりに、各値を設定するための設定装置を設けるようにしてもよい。
なお、音声信号送信機能部8の代わりに、各値を設定するための設定装置を設けるようにしてもよい。
以上、本発明の実施の形態について説明した。
D.付記
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれている。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれている。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
なお、Dmin、Dmaxの計算に関しては、指数平滑移動平均の他にも、単純移動平均、指数移動平均、加重移動平均等の各種の平均又は平滑計算手法を用いることができる。
また、音声データの現在蓄積量であるCURRENTと、目標蓄積量であるTARGETの計算に関しては、上記した実施例に限定されるものではない。
現在蓄積量は、揺らぎ吸収バッファ部に保持された未出力の音声データの蓄積量に関しての、移動平均または平滑値を示す指標値であればよい。
目標蓄積量は、音声データの到達時間揺らぎ量(度合い)に応じ、揺らぎ度合いが大きくなるほど大きく、また、揺らぎ度合いが小さくなるほど小さく、変化する指標値であればよい。
例えば、DminとDmaxを用いたCURRENTとTARGETの計算に替えて、Dlenの平均値(Davg)、分散(Dvar)、標準偏差(Ddev)を、DminやDmaxを求める場合と同様、POP処理毎にそれぞれ下式のように逐次的に更新した上で、
CURRENT=Davg、
TARGET=OFFSET+β×Ddev、
とすることで現在蓄積量と目標蓄積量を求めることもできる。
(0<α≦1.0、β>0。例えばα=0.005、β=3.0。)
また、音声データの現在蓄積量であるCURRENTと、目標蓄積量であるTARGETの計算に関しては、上記した実施例に限定されるものではない。
現在蓄積量は、揺らぎ吸収バッファ部に保持された未出力の音声データの蓄積量に関しての、移動平均または平滑値を示す指標値であればよい。
目標蓄積量は、音声データの到達時間揺らぎ量(度合い)に応じ、揺らぎ度合いが大きくなるほど大きく、また、揺らぎ度合いが小さくなるほど小さく、変化する指標値であればよい。
例えば、DminとDmaxを用いたCURRENTとTARGETの計算に替えて、Dlenの平均値(Davg)、分散(Dvar)、標準偏差(Ddev)を、DminやDmaxを求める場合と同様、POP処理毎にそれぞれ下式のように逐次的に更新した上で、
TARGET=OFFSET+β×Ddev、
とすることで現在蓄積量と目標蓄積量を求めることもできる。
(0<α≦1.0、β>0。例えばα=0.005、β=3.0。)
100 実施例1の音声信号受信装置
200 実施例2の音声信号送受信装置
200 実施例2の音声信号送受信装置
Claims (10)
- 音声信号受信装置であって、
受信した音声データを保持し、同期信号に同期して前記音声データを出力する揺らぎ吸収バッファ部と、
前記揺らぎ吸収バッファ部の音声データの入力および出力を制御する制御部と、
を備え、
前記制御部は、
前記揺らぎ吸収バッファ部に保持された未出力の前記音声データについて、現在の蓄積量の移動平均または平滑値を示す指標値である現在蓄積量と、前記揺らぎ吸収バッファ部へ蓄積された音声データの到達時間揺らぎ範囲または到達時間揺らぎ度合いに応じた指標値である目標蓄積量との差分量に比例して大きくなるように再生速度加減速率を求め、
前記再生速度加減速率を定める際に、予め定められた単位時間あたり再生速度変化率制限値を用い、再生速度がなだらかに変化するように制御し、
前記再生速度加減速率を定める際に、予め定められた再生速度加減速率制限値を用い、再生速度が一定範囲を超えて変化しないように制御する
ことを特徴とする音声信号受信装置。
- 請求項1に記載の音声信号受信装置であって、
前記制御部は、
ひとつ又は複数ブロックの音声データを前記揺らぎ吸収バッファ部から出力した後に前記揺らぎ吸収バッファ部の保持された音声データ数の瞬時値(Dlen)、前記揺ら吸収バッファ部へ蓄積された音声データの移動平均または平滑値の到達時間揺らぎ範囲を表す上限値(Dmax)と下限値(Dmin)とを比較し、
DlenがDminより小さい値の場合、Dlenの値により重みを置くことでDminを比較的高速にDlenに追従させ、DlenがDmin以上の値の場合、Dminの過去の値により重みを置くことでDminを比較的低速にDlenに追従させることにより、Dminを更新し、
DlenがDmaxより大きい値の場合、Dlenの値により重みを置くことでDmaxを比較的高速にDlenに追従させ、DlenがDmax以下の値の場合、過去の値により重みを置くことでDmaxを比較的低速にDlenに追従させることにより、Dmaxを更新し、
前記揺らぎ吸収バッファ部に保持された未出力の前記音声データについて、現在の蓄積量の移動平均または平滑値を示す指標値である前記現在蓄積量を、Dminにより求め、
前記揺らぎ吸収バッファ部に保持された未出力の前記音声データについて、前記目標蓄積量を、DmaxとDminとの差により求めた前記到達時間揺らぎ範囲に応じた指標値により求める
ことを特徴とする音声信号受信装置。
- 請求項1に記載の音声信号受信装置であって、
前記制御部は、前記揺らぎ吸収バッファ部から音声データを出力するとき、前記再生速度加減速率に従い、前記現在蓄積量が前記目標蓄積量より大きい場合には前記音声データの間引きを行い、前記現在蓄積量が前記目標蓄積量以下の場合には前記音声データの引き延ばしを行うことにより、前記再生速度加減速率に従った再生速度で前記音声信号を再生することを特徴とする音声信号受信装置。
- 請求項1に記載の音声信号受信装置であって、
前記同期信号の周波数を変更することにより、前記再生速度加減速率に従った再生速度で前記音声信号を再生することを特徴とする音声信号受信装置。
- 請求項3に記載の音声信号受信装置であって、
前記制御部は、前記音声データの間引きまたは引き延ばしを行う間隔を、
(1)前記間隔の平均値が、前記再生速度加減速率に従った間引きまたは引き延ばし間隔の期待値と等しくなるように定めること、または、
(2)前記再生速度加減速率に従った間引きまたは引き延ばし間隔の期待値に、絶対値を予め定められた範囲とする乱数に1を加算した値を乗じることで定めること
を特徴とする音声信号受信装置。
- 請求項1に記載の音声信号受信装置であって、
前記目標蓄積量は、
予め定められたオフセット値である値1、
予め定められた比率である値2、
前記音声データの蓄積量に関して大きい方向に感度の高い平滑値として求められる値3、および、
前記音声データの蓄積量に関して小さい方向に感度の高い平滑値として求められる値4、
を用い、
式: 値1+値2×(値3−値4)
で求める値とすることを特徴とする音声信号受信装置。
- 請求項1に記載の音声信号受信装置であって、
前記制御部は、前記目標蓄積量を求める際に、現在の蓄積量、現在の蓄積量の分散、現在の蓄積量の標準偏差のうちいずれか一つ以上の移動平均または平滑値を用いることを特徴とする音声信号受信装置。
- 音声信号受信装置を用いた揺らぎ吸収バッファ制御方法であって、
前記音声信号受信装置は、
受信した音声データを保持し、同期信号に同期して前記音声データを出力する揺らぎ吸収バッファ部と、
前記揺らぎ吸収バッファ部の音声データの入力および出力を制御する制御部と、
を備え、
前記制御部は、
前記揺らぎ吸収バッファ部に保持された未出力の前記音声データについて、現在の蓄積量の移動平均または平滑値を示す指標値である現在蓄積量と、前記揺らぎ吸収バッファ部へ蓄積された音声データの到達時間揺らぎ範囲または到達時間揺らぎ度合いに応じた指標値である目標蓄積量との差分量に比例して大きくなるように再生速度加減速率を求め、
前記再生速度加減速率を定める際に、予め定められた単位時間あたり再生速度変化率制限値を用い、再生速度がなだらかに変化するように制御し、
前記再生速度加減速率を定める際に、予め定められた再生速度加減速率制限値を用い、再生速度が一定範囲を超えて変化しないように制御する
ことを特徴とする揺らぎ吸収バッファ制御方法。
- 音声信号再生システムであって、
音声信号送信装置または設定装置と、
受信した音声データを保持し、同期信号に同期して前記音声データを出力する揺らぎ吸収バッファ部と、
前記揺らぎ吸収バッファ部の音声データの入力および出力を制御する制御部と、
を備え、
前記制御部は、
前記揺らぎ吸収バッファ部に保持された未出力の前記音声データについて、現在の蓄積量の移動平均または平滑値を示す指標値である現在蓄積量と、前記揺らぎ吸収バッファ部へ蓄積された音声データの到達時間揺らぎ範囲または到達時間揺らぎ度合いに応じた指標値である目標蓄積量との差分量に比例して大きくなるように再生速度加減速率を求め、
前記再生速度加減速率を定める際に、予め定められた単位時間あたり再生速度変化率制限値を用い、再生速度がなだらかに変化するように制御し、
前記再生速度加減速率を定める際に、予め定められた再生速度加減速率制限値を用い、再生速度が一定範囲を超えて変化しないように制御し、
さらに、
前記制御部は、
前記音声信号送信装置または前記設定装置からの情報に基づき、
予め定められた再生速度加減速率制限値、予め定められた単位時間あたり再生速度変化率制限値、のいずれか1つ以上の値を変化させることを特徴とする音声信号再生システム。
- 請求項9に記載の音声信号再生システムであって、
前記音声信号送信装置からの情報は、信号送信の停止状態に関する情報であることを特徴とする音声信号再生システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012148931A JP2014011749A (ja) | 2012-07-02 | 2012-07-02 | 音声信号受信装置、揺らぎ吸収バッファ制御方法、音声信号再生システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012148931A JP2014011749A (ja) | 2012-07-02 | 2012-07-02 | 音声信号受信装置、揺らぎ吸収バッファ制御方法、音声信号再生システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014011749A true JP2014011749A (ja) | 2014-01-20 |
Family
ID=50108034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012148931A Pending JP2014011749A (ja) | 2012-07-02 | 2012-07-02 | 音声信号受信装置、揺らぎ吸収バッファ制御方法、音声信号再生システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014011749A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017124904A1 (zh) * | 2016-01-22 | 2017-07-27 | 广州视睿电子科技有限公司 | 一种音频播放方法及装置 |
-
2012
- 2012-07-02 JP JP2012148931A patent/JP2014011749A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017124904A1 (zh) * | 2016-01-22 | 2017-07-27 | 广州视睿电子科技有限公司 | 一种音频播放方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4146489B2 (ja) | 音声パケット再生方法、音声パケット再生装置、音声パケット再生プログラム、記録媒体 | |
US9472203B1 (en) | Clock synchronization for multichannel system | |
RU2616557C1 (ru) | Устройство и способ обработки речевого/аудио сигнала | |
EP2441072B1 (en) | Audio processing | |
KR100938032B1 (ko) | V o I P 용 적응성 디-지터 버퍼 | |
JP4918841B2 (ja) | 符号化システム | |
JP6141358B2 (ja) | 同期オーディオ再生の方法、装置、およびシステム | |
RU2663361C2 (ru) | Блок управления джиттер-буфером, аудиодекодер, способ и компьютерная программа | |
EP2140635B1 (en) | Method and apparatus for modifying playback timing of talkspurts within a sentence without affecting intelligibility | |
US9812146B1 (en) | Synchronization of inbound and outbound audio in a heterogeneous echo cancellation system | |
KR20170113087A (ko) | 오디오 재생을 위한 시스템 및 방법 | |
WO2008046967A1 (en) | Time scaling of multi-channel audio signals | |
JP2006135974A (ja) | 適応的バッファ遅延を有する音声受信機 | |
KR20060125678A (ko) | 버퍼 관리 시스템, 디지털 오디오 수신기, 헤드폰들,확성기, 버퍼 관리 방법 | |
KR20030010728A (ko) | 압축방법 및 장치, 신장방법 및 장치, 압축신장시스템,피크검출방법, 프로그램, 기록 매체 | |
CN110798458B (zh) | 数据同步方法、装置、设备及计算机可读存储介质 | |
JP2021526239A (ja) | ステレオ信号エンコード方法および装置 | |
JPH09509545A (ja) | 音声通信システムにおけるブロック符号化音声信号の処理方法及び装置 | |
JP2014011749A (ja) | 音声信号受信装置、揺らぎ吸収バッファ制御方法、音声信号再生システム | |
CN106973355B (zh) | 环绕立体声实现方法和装置 | |
KR20160145711A (ko) | 정보 손실을 감소시킨 전자 통신들을 위한 시스템들, 방법들 및 디바이스들 | |
CN113613221A (zh) | Tws主设备、tws从设备、音频设备及系统 | |
JP2004264497A (ja) | 音声復号装置 | |
US10056093B2 (en) | Encoding device, decoding device, and communication system for extending voice band | |
JP2016126037A (ja) | 信号処理装置、および信号処理方法、並びにプログラム |