信号処理装置、信号処理方法、およびプログラム
【課題】伝送路のエラーを隠蔽するためのオーディオ信号の代替信号を低演算量で生成することができるようにする。
【解決手段】低域スペクトル抽出器は、フレーム単位のオーディオ信号のスペクトルの一部を部分スペクトルとして抽出する。IMDCTN変換器は、部分スペクトルを逆直交変換する。隠蔽信号生成器は、逆直交変換の結果得られる部分オーディオ信号に基づいて、オーディオ信号の隠蔽信号を生成する。本技術は、例えば、オーディオ信号復号装置に適用することができる。
【解決手段】低域スペクトル抽出器は、フレーム単位のオーディオ信号のスペクトルの一部を部分スペクトルとして抽出する。IMDCTN変換器は、部分スペクトルを逆直交変換する。隠蔽信号生成器は、逆直交変換の結果得られる部分オーディオ信号に基づいて、オーディオ信号の隠蔽信号を生成する。本技術は、例えば、オーディオ信号復号装置に適用することができる。
【発明の詳細な説明】
【技術分野】
【0001】
本技術は、信号処理装置、信号処理方法、およびプログラムに関し、特に、オーディオ信号の代替信号を低演算量で生成することができるようにした信号処理装置、信号処理方法、およびプログラムに関する。
【背景技術】
【0002】
オーディオ信号を符号化する符号化装置は、オーディオ信号を直交変換してスペクトル信号を生成し、そのスペクトル信号を量子化して符号化することにより、符号化データを生成する。このような符号化データを復号する復号装置は、伝送路のエラーなどにより正確に符号化データを受信できなかった場合、そのエラーを隠蔽するために代替信号を生成する必要があるが(例えば、特許文献1参照)、代替信号の生成は難しい。
【0003】
代替信号を生成する方法としては、過去に復号されたオーディオ信号のピッチ周期やピッチ利得を検出し、そのピッチ周期やピッチ利得に応じたオーディオ信号を代替信号として生成する方法が考えられている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許4603091号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上述した方法では、特にサンプリング周波数の高いオーディオ信号の符号化データを復号する復号装置において、ピッチ周期やピッチ利得を検出するために、多くの演算量が必要とされる。
【0006】
本技術は、このような状況に鑑みてなされたものであり、オーディオ信号の代替信号を低演算量で生成することができるようにするものである。
【課題を解決するための手段】
【0007】
本技術の一側面の信号処理装置は、フレーム単位のオーディオ信号のスペクトルの一部を部分スペクトルとして抽出するスペクトル抽出部と、前記スペクトル抽出部により抽出された前記部分スペクトルを逆直交変換する部分逆直交変換部と、前記部分逆直交変換部による逆直交変換の結果得られる部分オーディオ信号に基づいて、前記オーディオ信号の第1の代替信号を生成する第1の代替信号生成部とを備える信号処理装置である。
【0008】
本技術の一側面の信号処理方法およびプログラムは、本技術の一側面の信号処理装置に対応する。
【0009】
本技術の一側面においては、フレーム単位のオーディオ信号のスペクトルの一部が部分スペクトルとして抽出され、抽出された前記部分スペクトルが逆直交変換され、逆直交変換の結果得られる部分オーディオ信号に基づいて、前記オーディオ信号の第1の代替信号が生成される。
【発明の効果】
【0010】
本技術の一側面によれば、オーディオ信号の代替信号を低演算量で生成することができる。
【図面の簡単な説明】
【0011】
【図1】本技術を適用した復号装置の第1実施の形態の構成例を示すブロック図である。
【図2】エラー状態変数errStatusの遷移図である。
【図3】符号化対象のオーディオ信号を示す図である。
【図4】長期時間信号xPの例を示す図である。
【図5】図1の復号装置の復号処理を説明するフローチャートである。
【図6】図1の復号装置の復号処理を説明するフローチャートである。
【図7】IMDCTw変換器により復元されるオーディオ信号xwの例を示す図である。
【図8】隠蔽信号の例を示す図である。
【図9】出力オーディオ信号xoutの例を示す図である。
【図10】本技術を適用した復号装置の第2実施の形態の構成例を示すブロック図である。
【図11】符号化データRXと復号されたオーディオ信号を説明する図である。
【図12】図10の復号装置による復号前処理を説明するフローチャートである。
【図13】コンピュータの一実施の形態の構成例を示す図である。
【発明を実施するための形態】
【0012】
<第1実施の形態>
[復号装置の第1実施の形態の構成例]
図1は、本技術を適用した復号装置の第1実施の形態の構成例を示すブロック図である。
【0013】
図1の復号装置10は、逆多重化器11、パラメータ解釈器12、エラー制御器13、逆量子化器14、スイッチ15、IMDCTw変換器16、乗算器17、スイッチ18、加算器19、二値変換器20、低域スペクトル抽出器21、IMDCTN変換器22、乗算器23、加算器24、スイッチ25、メモリ26、V/UV検出器27、ピッチ・利得抽出器28、隠蔽信号生成器29、アップサンプリング器30、乗算器31、論理積器32、メモリ33、極性操作器34、スイッチ35、および乗算器36により構成される。
【0014】
復号装置10は、時間信号であるオーディオ信号の符号化パラメータPARを含むビットストリームBSが多重化された符号化データRXを復号する。なお、符号化パラメータPARは、オーディオ信号が比較的短いフレーム長LでMDCT(Modified Discrete Cosine Transform)変換され、量子化されたものである。
【0015】
具体的には、復号装置10の逆多重化器11は、外部の符号化装置から伝送路を介して伝送されてくるフレーム単位の符号化データRXを受信する。逆多重化器11は、受信された符号化データRXからビットストリームBSを逆多重化(分離)する。また、逆多重化器11は、符号化データRXが受信でき、かつ、逆多重化の際にエラーが発生していないかどうかを判定する。
【0016】
なお、本明細書では、特に断りのない限り、符号化データRXの破損や消失などにより、正常に受信した符号化データRXから情報を取得できない状態をエラーという。
【0017】
逆多重化器11は、符号化データRXが受信できなかったか、または、逆多重化の際にエラーが発生したと判定した場合、エラーフラグerrFlag0を1に設定する。一方、逆多重化器11は、符号化データRXが受信でき、かつ、逆多重化の際にエラーが発生していないと判定した場合、エラーフラグerrFlag0を0に設定する。逆多重化器11は、エラーフラグerrFlag0をエラー制御器13に供給する。また、逆多重化器11は、逆多重化の結果得られるビットストリームBSをパラメータ解釈器12(Parameter Parser)に供給する。
【0018】
パラメータ解釈器12は、逆多重化器11から供給されるビットストリームBSから符号化パラメータPARを分解する。また、パラメータ解釈器12は、符号化パラメータPARを分解する際にエラーが発生していないかどうかを判定する。パラメータ解釈器12は、エラーが発生したと判定した場合、エラーフラグerrFlag1を1に設定する。また、パラメータ解釈器12は、エラーが発生していないと判定した場合にエラーフラグerrFlag1を0に設定する。パラメータ解釈器12は、エラーフラグerrFlag1をエラー制御器13に供給する。また、パラメータ解釈器12は、分解された符号化パラメータPARを逆量子化器14に供給する。
【0019】
エラー制御器13は、エラーフラグerrFlag0およびエラーフラグerrFlag1に基づいて、以下の式(1)により、統合エラーフラグerrFlagを決定する。
【0020】
errFlag=errFlag0|errFlag1
・・・(1)
【0021】
式(1)によれば、エラーフラグerrFlag0またはエラーフラグerrFlag1が1のとき、統合エラーフラグerrFlagは1となり、エラーフラグerrFlag0が0でかつエラーフラグerrFlag1が0のとき統合エラーフラグerrFlagは0となる。
【0022】
なお、以下では、統合エラーフラグerrFlagが1である状態を、復号エラーが発生している状態という。
【0023】
また、エラー制御器13は、統合エラーフラグerrFlagに基づいてエラー状態変数errStatusを設定し、エラー状態変数errStatusをスイッチ15と二値変換器20に供給する。
【0024】
ここで、エラー状態変数errStatusの設定方法について、図2を参照して説明する。図2は、エラー状態変数errStatusの遷移図である。なお、図2において、円は、円の中に付された数字のエラー状態変数errStatusを表し、矢印近傍に付された数字は、その矢印が表す遷移が行われる場合の統合エラーフラグerrFlagの値を示す。
【0025】
エラー状態変数errStatusの初期値は0である。図2に示すように、エラー状態変数errStatusが0である場合、統合エラーフラグerrFlagが1に設定されるまで、エラー状態変数errStatusは0のままである。統合エラーフラグerrFlagが1に設定されると、統合エラーフラグerrFlagが連続して1に設定されるたびに、エラー状態変数errStatusが順に1ずつ加算されSまで増加する。エラー状態変数errStatusがSに設定された後も、統合エラーフラグerrFlagが連続して1に設定される場合、エラー状態変数errStatusは、統合エラーフラグerrFlagが1に設定されなくなるまでSとなる。
【0026】
また、エラー状態変数errStatusが1以上である場合、即ち、統合エラーフラグerrFlagが1回以上連続して1に設定された場合、統合エラーフラグerrFlagが0に設定されると、エラー状態変数errStatusは-1に設定される。そして、統合エラーフラグerrFlagが再度0に設定されると、エラー状態変数errStatusは-2に設定され、さらに再度0に設定されると、エラー状態変数errStatusは0となる。
【0027】
一方、エラー状態変数errStatusが0より小さい場合、即ち、統合エラーフラグerrFlagが1回以上1に設定された後、1回または2回連続して0に設定された場合、再び統合エラーフラグerrFlagが1に設定されると、エラー状態変数errStatusは1に設定される。その後、統合エラーフラグerrFlagが連続して1に設定されると、連続するたびに、エラー状態変数errStatusは順にSまで増加する。
【0028】
以上により、1回も統合エラーフラグerrFlagが1に設定されていないか、または、統合エラーフラグerrFlagが1に設定された後、3回以上連続して0に設定された場合、エラー状態変数errStatusは0になる。一方、統合エラーフラグerrFlagが1回以上連続して1に設定された場合、エラー状態変数errStatusは1以上となる。また、統合エラーフラグerrFlagが1に設定された後、3回未満連続して0に設定された場合、エラー状態変数errStatusは0より小さくなる。
【0029】
逆量子化器14は、パラメータ解釈器12から供給される符号化パラメータPARを逆量子化してスペクトル信号XW[i](0≦i≦L-1)を復元し、スイッチ15に供給する。ここで、スペクトル信号のフレーム長Lは、IMDCTW変換器16の逆MDCT変換における変換ブロック長に等しい。
【0030】
スイッチ15は、エラー制御器13から供給されるエラー状態変数errStatusに応じて、逆量子化器14から供給されるスペクトル信号XW、または、スイッチ35から供給される変形スペクトル信号Xw’[i](0≦i≦L-1)を選択し、IMDCTw変換器16に供給する。
【0031】
具体的には、スイッチ15は、エラー状態変数errStatusが0以下である場合、スペクトル信号XWをIMDCTw変換器16、低域スペクトル抽出器21、およびメモリ33に供給する。一方、エラー状態変数errStatusが0より大きい場合、変形スペクトル信号Xw'をIMDCTw変換器16、低域スペクトル抽出器21、およびメモリ33に供給する。
【0032】
IMDCTw変換器16は、通常の広帯域用の逆MDCT変換器である。IMDCTw変換器16は、スイッチ15から供給されるスペクトル信号XWまたは変形スペクトル信号Xw'を逆MDCT変換し、時間信号であるオーディオ信号xw[i](0≦i≦L-1)を復元する。IMDCTw変換器16は、復元されたオーディオ信号xwを乗算器17に供給するとともに、スイッチ18に供給する。
【0033】
乗算器17は、以下の式(2)により、IMDCTw変換器16から供給されるオーディオ信号xwに、エラー状態変数errStatusによって異なる補間係数gi(errStatus)’(0≦i≦L-1)を乗算し、乗算の結果得られるオーディオ信号xw'[i](0≦i≦L-1)をスイッチ18に供給する。
【0034】
xw'[i]=gi(errStatus)’・xw[i](0≦i≦L-1)
・・・(2)
【0035】
スイッチ18は、論理積器32から供給される演算値に基づいて、IMDCTw変換器16から供給されるオーディオ信号xw、または、乗算器17から供給されるオーディオ信号xw'を選択し、加算器19に供給する。具体的には、スイッチ18は、演算値が0である場合、オーディオ信号xwを加算器19に供給し、演算値が1である場合、オーディオ信号xw'を加算器19に供給する。
【0036】
加算器19は、スイッチ18から供給されるオーディオ信号xwまたはオーディオ信号xw'と、乗算器36から供給される乗算信号を加算し、加算の結果得られる信号を、出力オーディオ信号xoutとして出力する。
【0037】
例えば、スイッチ18からオーディオ信号xw'が供給される場合、加算器19は、以下の式(3)により、J番目のフレームのビットストリームBSに対応する出力オーディオ信号xout[J・L+i]を生成する。
【0038】
xout[J・L+i]=gi(errStatus)・cxW[i]+xw'[i](0≦i≦L-1)
・・・(3)
【0039】
なお、式(3)において、gi(errStatus)・cxW[i]は、乗算器36から供給される乗算信号である。
【0040】
二値変換器20は、エラー制御器13から供給されるエラー状態変数errStatusが0である場合、変数errBinaryを0に設定する。一方、二値変換器20は、エラー状態変数errStatusが0以外である場合変数errBinaryを1に設定する。二値変換器20は、変数errBinaryを論理積器32に供給する。
【0041】
低域スペクトル抽出器21は、スイッチ15から供給されるスペクトル信号XWまたは変形スペクトル信号Xw’の低域成分を、低域スペクトル信号XW[i](0≦i≦L/M-1)として抽出する。そして、低域スペクトル抽出器21は、以下の式(4)により、抽出された低域スペクトル信号XWに所定の重み係数wiを掛けることで狭帯域スペクトル信号XN[i](0≦i≦L/M-1)を生成し、IMDCTN変換器22に供給する。
【0042】
XN[i]=wiXw[i](0≦i≦L/M-1)
・・・(4)
【0043】
なお、重み係数wiは、例えば、高域であるL/M-1付近で0に向けて、周波数が高いほど減少していき、それ以外は1となる係数である。
【0044】
IMDCTN変換器22は、変換ブロック長がIMDCTW変換器16における変換ブロック長Lの1/Mである狭帯域用の逆MDCT変換器であり、部分逆直交変換部として機能する。IMDCTN変換器22は、低域スペクトル抽出部21から供給される狭帯域スペクトル信号XNに対して逆MDCT変換を行う。これにより、スペクトル信号XWまたは変形スペクトル信号Xw’に対応する時間信号をダウンサンプリングした時間信号であるオーディオ信号xN[i](0≦i≦L/M-1)が生成される。IMDCTN変換器22は、このオーディオ信号xNを乗算器23およびスイッチ25に供給する。
【0045】
乗算器23は、以下の式(5)により、IMDCTN変換器22から供給されるオーディオ信号xNに、エラー状態変数errStatusによって異なる補間係数hi(errStatus)'を乗算し、乗算信号xN'[i](0≦i≦L/M-1)を加算器24に供給する。
【0046】
xN'[i]=hi(errStatus)'・xN[i](0≦i≦L/M-1)
・・・(5)
【0047】
加算器24は、以下の式(6)により、乗算器23から供給される乗算信号と、乗算器31から供給される乗算信号を加算し、その結果得られる変形狭帯域信号xN''[i](0≦i≦L/M-1)をスイッチ25に供給する。
【0048】
xN''[i]=hi(errStatus)・cxN[i]+ xN'[i](0≦i≦L/M-1)
・・・(6)
【0049】
なお、式(6)において、hi(errStatus)・cxN[i]は、乗算器31から供給される乗算信号である。
【0050】
スイッチ25は、論理積器32から供給される演算値に応じて、IMDCTN変換器22から供給されるオーディオ信号xNまたは加算器24から供給される変形狭帯域信号xN''を選択し、メモリ26に供給する。具体的には、スイッチ25は、論理積器32から供給される演算値が0である場合、IMDCTN変換器22から供給されるオーディオ信号xNをメモリ26に供給する。一方、論理積器32から供給される演算値が1である場合、スイッチ25は、加算器24から供給される変形狭帯域信号xN''をメモリ26に供給する。
【0051】
メモリ26は、記憶部として機能し、以下の式(7)または式(8)により、スイッチ25から供給される直近のNフレーム分のオーディオ信号xNまたは変形狭帯域信号xN''を、長期時間信号xP[i](0≦i≦N・L/M-1)として保持する。
【0052】
xP[i]=xP[i+L/M](0≦i≦(N-1)L/M−1)
xP[i+(N-1)L/M-1]=xN[i](0≦i≦L/M−1)
・・・(7)
【0053】
xP[i]=xP[i+L/M](0≦i≦(N-1)L/M−1)
xP[i+(N-1)L/M-1]=xN''[i](0≦i≦L/M−1)
・・・(8)
【0054】
V/UV検出器27は、メモリ26から長期時間信号xPを読み出す。V/UV検出器27は、判定部として機能し、長期時間信号xPを分析し、長期時間信号に対応する音声が、有声音(V)であるか、または、無声音(UV)であるかを検出する。V/UV検出器27は、長期時間信号に対応する音声が有声音であることを検出した場合、有声音フラグvuvFlagを1に設定し、無声音であることを検出した場合、有声音フラグvuvFlagを0に設定する。V/UV検出器27は、有声音フラグvuvFlagをピッチ・利得抽出器28、論理積器32、およびスイッチ35に供給する。
【0055】
ピッチ・利得抽出器28は、メモリ26から長期時間信号xPを読み出す。ピッチ・利得抽出器28は、ピッチ抽出部として機能し、V/UV検出器27から供給される有声音フラグvuvFlagに基づいて、長期時間信号xPからピッチ周期pitchおよびピッチ利得pch_gを抽出する。具体的には、有声音フラグvuvFlagが1である場合、ピッチ・利得抽出器28は、ピッチ周期pitchおよびピッチ利得pch_gを抽出し、有声音フラグvuvFlagが0である場合、ピッチ周期pitchおよびピッチ利得pch_gを0とする。ピッチ・利得抽出器28は、ピッチ周期pitchおよびピッチ利得pch_gを隠蔽信号生成器29に供給する。
【0056】
隠蔽信号生成器29とアップサンプリング器30は、第1の代替信号生成部として機能する。隠蔽信号生成器29は、メモリ26から長期時間信号xPを読み出す。隠蔽信号生成器29は、ピッチ・利得抽出器28から供給されるピッチ周期pitchおよびピッチ利得pch_gに基づいて、以下の式(9)により、長期時間信号xPから隠蔽信号cxN[i](0≦i≦L/M−1)を生成する。隠蔽信号生成器29は、隠蔽信号cxNをアップサンプリング器30と乗算器31に供給する。
【0057】
cxN=pch_g・xP[N・L/M−pitch+i](0≦i≦L/M−1)
・・・(9)
【0058】
アップサンプリング器30は、隠蔽信号生成器29から供給される隠蔽信号cxN[i](0≦i≦L/M−1)をM倍にアップサンプリングし、アップサンプリングされた隠蔽信号cxW[i](0≦i≦L-1)(第1の代替信号)をスイッチ35に供給する。
【0059】
乗算器31は、隠蔽信号生成器29から供給される隠蔽信号cxNに、エラー状態変数errStatusによって異なる補間係数hi(errStatus)(0≦i≦L/M−1)を乗算し、乗算信号を加算器24に供給する。
【0060】
論理積器32は、二値変換器20から供給される変数errBinaryと、V/UV検出器27から供給される有声音フラグvuvFlagの論理積を演算し、その結果得られる演算値をスイッチ18およびスイッチ25に供給する。即ち、論理積器32は、変数errBinaryまたは有声音フラグvuvFlagの少なくとも一方が0である場合、演算値として0をスイッチ18およびスイッチ25に供給し、変数errBinaryと有声音フラグvuvFlagの両方が1である場合、演算値として1をスイッチ18およびスイッチ25に供給する。
【0061】
メモリ33は、スイッチ15から供給されるスペクトル信号XWまたは変形スペクトル信号Xw’を記憶する。
【0062】
極性操作器34は、メモリ33に記憶されている、直近のエラー状態変数errStatusが0以下である場合のスペクトル信号XWを、スペクトル信号XW(P)[i](0≦i≦L-1)として読み出す。極性操作器34は、第2の代替信号生成部として機能し、以下の式(10)により、スペクトル信号XW(P)の極性を操作して、変形スペクトル信号Xw’[i](0≦i≦L-1)を生成する。そして、極性操作器34は、変形スペクトル信号Xw’(第2の代替信号)をスイッチ35に供給する。
【0063】
Xw’[i]=rnd(-1,1)XW(P)[i](0≦i≦L-1)
・・・(10)
【0064】
なお、式(10)において、rnd(-1,1)は、-1または1をランダムにとる関数である。変形スペクトル信号Xw’の演算は、式(10)の演算に限定されない。
【0065】
スイッチ35は、出力部として機能する。スイッチ35は、V/UV検出部27から供給される有声音フラグvuvFlagに基づいて、アップサンプリング器30からの隠蔽信号cxWを乗算器36に供給するか、または、極性操作器34からの変形スペクトル信号Xw’をスイッチ15に供給する。具体的には、スイッチ35は、有声音フラグvuvFlagが1である場合、隠蔽信号cxWを乗算器36に供給し、有声音フラグvuvFlagが0である場合、極性操作器34からの変形スペクトル信号Xw’をスイッチ15に供給する。
【0066】
乗算器36は、スイッチ35から供給される隠蔽信号cxWに、エラー状態変数errStatusによって異なる補間係数gi(errStatus)[i](0≦i≦L-1)を乗算し、乗算信号を加算器19に供給する。なお、補間係数gi(errStatus)は、エラー状態変数errStatusが0であるとき0である。
【0067】
[ピッチ利得の算出方法]
図3は、符号化データRXを伝送してくる符号化装置における符号化対象のオーディオ信号を示す図である。
【0068】
なお、図3において、横軸は、サンプル単位の時刻を表し、縦軸は、オーディオ信号の振幅を表す。このことは、後述する図4および図7乃至図9においても同様である。また、図3の例では、サンプリング周波数は48kHzである。
【0069】
図3に示すオーディオ信号が符号化された符号化データRXを復号する場合に、図3の区間(A)に対応するブロックで復号エラーが発生している場合、区間(A)だけでなく、逆MDCT変換において区間(A)とオーバーラップされる、区間(A)の直後のブロックに対応する区間(B)に対しても、復号エラーの隠蔽を行う必要がある。
【0070】
図4は、図3の区間(A)に対応するブロックに対して、メモリ26に記憶される長期時間信号xPの例を示す図である。
【0071】
なお、図4の例では、Mは4である。即ち、長期時間信号xPのサンプリング周波数は、12kHzである。
【0072】
図3の区間(A)に対応するブロックでエラーが検出され、有声音フラグvuvFlagが1である場合、ピッチ・利得抽出器28は、図4に示す長期時間信号xPの周期性からピッチ周期pitchを抽出する。
【0073】
また、ピッチ・利得抽出器28は、長期時間信号xPの直近サンプルから1ピッチ周期の区間である区間(D)と、区間(D)より前の1ピッチ周期の区間である区間(C)の振幅比を、以下の式(11)により、ピッチ利得pch_gとして求める。
【0074】
【数1】
【0075】
[復号装置の処理の説明]
図5および図6は、図1の復号装置10の復号処理を説明するフローチャートである。この復号処理は、例えば、外部の符号化装置から伝送路を介してフレーム単位の符号化データRXが伝送されてきたとき、開始される。
【0076】
ステップS11において、逆多重化器11は、フレーム単位の符号化データRXを受信して、その符号化データRXからビットストリームBSを逆多重化し、パラメータ解釈器12に供給する。
【0077】
ステップS12において、逆多重化器11は、符号化データRXが受信でき、かつ、逆多重化の際にエラーが発生していないかどうかを判定する。ステップS12で符号化データRXが受信でき、かつ、逆多重化の際にエラーが発生していないと判定された場合、逆多重化器11は、エラーフラグerrFlag0を0に設定し、エラー制御器13に供給する。
【0078】
そして、ステップS13において、パラメータ解釈器12は、逆多重化器11から供給されるビットストリームBSから符号化パラメータPARを分解し、逆量子化器14に供給する。
【0079】
ステップS14において、パラメータ解釈器12は、符号化パラメータPARを分解する際にエラーが発生していないかどうかを判定する。ステップS14で符号化パラメータPARを分解する際にエラーが発生していないと判定された場合、パラメータ解釈器12は、エラーフラグerrFlag1を0に設定してエラー制御器13に供給する。これにより、エラー制御器13は、上述した式(1)にしたがって、統合エラーフラグerrFlagを0に設定する。
【0080】
そして、ステップS15において、逆量子化器14は、パラメータ解釈器12から供給される符号化パラメータPARを逆量子化してスペクトル信号XWを復元し、スイッチ15に供給する。このとき、エラーフラグerrFlag0とエラーフラグerrFlag1は0であり、エラー状態変数errStatusは0以下であるため、スイッチ15は、スペクトル信号XWをIMDCTw変換器16、低域スペクトル抽出器21、およびメモリ33に供給する。
【0081】
ステップS16において、メモリ33は、スイッチ15から供給されるスペクトル信号XWを記憶する。
【0082】
ステップS17において、IMDCTw変換器16は、スイッチ15から供給されるスペクトル信号XWに対して逆MDCT変換を行い、時間信号であるオーディオ信号xwを復元する。そして、IMDCTw変換器16は、オーディオ信号xwを乗算器17とスイッチ18に供給する。
【0083】
ステップS18において、低域スペクトル抽出器21は、スイッチ15から供給されるスペクトル信号XWの低域成分を、低域スペクトル信号XWとして抽出する。そして、低域スペクトル抽出器21は、上述した式(4)により、抽出された低域スペクトル信号XWに所定の重み係数wiを掛けることで狭帯域スペクトル信号XNを生成し、IMDCTN変換器22に供給する。
【0084】
ステップS19において、IMDCTN変換器22は、低域スペクトル抽出部21から供給される狭帯域スペクトル信号XNに対して逆MDCT変換を行うことにより、ダウンサンプリングされた時間信号であるオーディオ信号xNを生成する。IMDCTN変換器22は、そのオーディオ信号xNを乗算器23およびスイッチ25に供給する。
【0085】
ステップS20において、エラー制御器13は、エラー状態変数errStatusが0であるかどうかを判定する。統合エラーフラグerrFlagが0であるので、ステップS20でエラー状態変数errStatusが0であると判定された場合、エラー制御器13は、エラー状態変数errStatusを0のままとし、スイッチ15と二値変換器20に供給する。
【0086】
これにより、二値変換器20は、変数errBinaryとして0を論理積器32に供給し、論理積器32は、演算値として0をスイッチ18およびスイッチ25に供給する。その結果、スイッチ25は、IMDCTN変換器22から供給されるオーディオ信号xNをメモリ26に供給する。また、スイッチ18は、IMDCTw変換器16から供給されるオーディオ信号xwを加算器19に供給する。
【0087】
このとき、補間係数gi(errStatus)は0であるため、加算器19は、オーディオ信号xwに0を加算し、オーディオ信号xwを出力オーディオ信号xoutとして出力する。その結果、J番目のフレームのビットストリームBSに対応する出力オーディオ信号xout[J・L+i]は、以下の式(11)で表される。
【0088】
xout[J・L+i]=xw[i](0≦i≦L-1)
(11)
【0089】
そして、図6のステップS21において、メモリ26は、スイッチ25からのオーディオ信号xNを用いて、上述した式(7)により、長期時間信号xPを更新し、処理を終了する。
【0090】
以上のように、統合エラーフラグerrFlagおよびエラー状態変数errStatusが0である場合、即ち、まだ1度も復号エラーが発生していないか、過去3フレーム以上復号エラーが発生しておらず、現在のフレームでも復号エラーが発生していない場合、符号化パラメータPARに対応するオーディオ信号xwがそのまま出力される。また、符号化パラメータPARに対応するダウンサンプリングされたオーディオ信号xwが、メモリ26に保持される。
【0091】
一方、ステップS20でエラー状態変数errStatusが0ではないと判定された場合、ステップS22において、エラー制御器13は、エラー状態変数errStatusが0より大きいかどうかを判定する。
【0092】
統合エラーフラグerrFlagが0であるので、ステップS22でエラー状態変数errStatusが0より大きいと判定された場合、ステップS23において、エラー制御器13は、エラー状態変数errStatusを-1に設定し、スイッチ15と二値変換器20に供給する。そして、処理はステップS27に進む。
【0093】
また、ステップS22でエラー状態変数errStatusが0より大きくはないと判定された場合、即ちエラー状態変数errStatusが0より小さい場合、ステップS24において、エラー制御器13は、エラー状態変数errStatusが-1であるかどうかを判定する。
【0094】
統合エラーフラグerrFlagが0であるので、ステップS24でエラー状態変数errStatusが-1であると判定した場合、ステップS25において、エラー制御器13は、エラー状態変数errStatusを-2に設定し、スイッチ15と二値変換器20に供給する。そして、処理はステップS27に進む。
【0095】
ステップS24でエラー状態変数errStatusが-1ではないと判定された場合、即ちエラー状態変数errStatusが-2である場合、処理はステップS26に進む。統合エラーフラグerrFlagが0であるので、ステップS26において、エラー制御器13は、エラー状態変数errStatusを0に設定し、スイッチ15と二値変換器20に供給する。そして、処理はステップS27に進む。
【0096】
ステップS27において、スイッチ35は、V/UV検出器27から供給される有声音フラグvuvFlagが1であるかどうかを判定する。ステップS27で有声音フラグvuvFlagが1であると判定された場合、スイッチ35は、アップサンプリング器30と乗算器36を接続し、論理積器32は、演算値として1をスイッチ18およびスイッチ25に供給する。
【0097】
これにより、スイッチ18は、乗算器17により、上述した式(2)を用いて、IMDCTw変換器16からのオーディオ信号xwに補間係数gi(errStatus)’が乗算された結果得られるオーディオ信号xw'を加算器19に供給する。
【0098】
そして、ステップS28において、隠蔽信号生成器29は、メモリ26から長期時間信号xPを読み出し、ピッチ・利得抽出器28からのピッチ周期pitchおよびピッチ利得pch_gに基づいて、上述した式(9)により、長期時間信号xPから隠蔽信号cxNを生成する。隠蔽信号生成器29は、隠蔽信号cxNをアップサンプリング器30と乗算器31に供給する。
【0099】
ステップS29において、アップサンプリング器30は、隠蔽信号生成器29から供給される隠蔽信号cxNをM倍にアップサンプリングし、アップサンプリングされた隠蔽信号cxWをスイッチ35に供給する。ここで、スイッチ35は、アップサンプリング器30と乗算器36を接続しているので、アップサンプリング器30からの隠蔽信号cxWはスイッチ35を介して乗算器36に供給される。
【0100】
ステップS30において、乗算器36は、スイッチ35から供給される隠蔽信号cxWに補間係数gi(errStatus)を乗算する。そして、乗算器36は、乗算の結果得られる乗算信号を加算器19に供給する。
【0101】
ステップS31において、加算器19は、上述した式(3)に示すように、スイッチ18から供給されるオーディオ信号xw'と乗算器36から供給される乗算信号を加算し、その結果得られる出力オーディオ信号xoutを出力する。
【0102】
ステップS32において、乗算器31は、隠蔽信号生成器29から供給される隠蔽信号cxNに補間係数hi(errStatus)を乗算し、乗算信号を加算器24に供給する。
【0103】
ステップS33において、加算器24は、上述した式(6)により、乗算器23から供給される乗算信号と、乗算器31から供給される乗算信号を加算し、その結果得られる変形狭帯域信号xN''をスイッチ25に供給する。論理積器32から供給される演算値が1であるため、スイッチ25は、加算器24から供給される変形狭帯域信号xN''[0,…,L/M-1]をメモリ26に供給する。
【0104】
そして、処理はステップS21に進み、メモリ26は、スイッチ25から供給される変形狭帯域信号xN''を用いて、上述した式(8)により長期時間信号xPを更新し、処理を終了する。
【0105】
以上のように、統合エラーフラグerrFlagが0であり、エラー状態変数errStatusが0以外である場合、即ち、現在のフレームまで連続する復号エラーが発生していないフレームが3フレーム未満であり、現在のフレームにおいても復号エラーが発生していない場合、かつ、有声音フラグvuvFlagが1である場合、符号化パラメータPARに対応するオーディオ信号xw'と、アップサンプリングされた隠蔽信号cxWに対応する乗算信号gi(errStatus)・cxWとが加算されて、出力される。また、符号化パラメータPARに対応するダウンサンプリングされた乗算信号hi(errStatus)'・xNと、隠蔽信号cxNに対応する乗算信号hi(errStatus)・cxNの加算結果である変形狭帯域信号xN''が、メモリ26に保持される。即ち、ダウンサンプリングされた出力オーディオ信号xoutに対応する変形狭帯域信号xN''がメモリ26に保持される。
【0106】
一方、ステップS27でV/UV検出器27から供給される有声音フラグvuvFlagが1ではないと判定された場合、即ち有声音フラグvuvFlagが0である場合、スイッチ35は、極性操作器34とスイッチ15を接続する。また、論理積器32は、二値変換器20から供給される変数errBinaryが1であり、有声音フラグvuvFlagが0であるので、演算値として0をスイッチ18およびスイッチ25に供給する。
【0107】
これにより、スイッチ18は、IMDCTw変換器16から供給されるオーディオ信号xwを加算器19に供給する。ここで、乗算器36は、アップサンプリング器30に接続されていないので、加算器19に何の信号も供給しない。従って、加算器19は、スイッチ18から供給されるオーディオ信号xwを、そのまま出力オーディオ信号xoutとして出力する。また、スイッチ25は、IMDCTN変換器22から供給されるオーディオ信号xNをメモリ26に供給する。
【0108】
そして、ステップS21において、メモリ26は、スイッチ25からのオーディオ信号xNを用いて、上述した式(7)により、長期時間信号xPとして保持している直近のNフレーム分のオーディオ信号xNを更新し、処理を終了する。
【0109】
以上のように、統合エラーフラグerrFlagが0であり、エラー状態変数errStatusが0以外である場合、即ち、現在のフレームまで連続する復号エラーが発生していないフレームが3フレーム未満であり、現在のフレームにおいても復号エラーが発生していない場合、かつ、有声音フラグvuvFlagが0である場合、符号化パラメータPARに対応するオーディオ信号xwがそのまま出力される。また、符号化パラメータPARに対応するダウンサンプリングされたオーディオ信号xNが、メモリ26に保持される。
【0110】
一方、ステップS12で符号化データRXが受信できなかったか、または、逆多重化の際にエラーが発生したと判定された場合、逆多重化器11は、エラーフラグerrFlag0を0に設定してエラー制御器13に供給する。そして、エラー制御器13は、上述した式(1)により、統合エラーフラグerrFlagを1に設定し、処理をステップS34に進める。
【0111】
また、ステップS14で符号化パラメータPARを分解する際にエラーが発生したと判定された場合、パラメータ解釈器12は、エラーフラグerrFlag1を0に設定してエラー制御器13に供給する。そして、エラー制御器13は、上述した式(1)により、統合エラーフラグerrFlagを1に設定し、処理をステップS34に進める。
【0112】
ステップS34において、エラー制御器13は、エラー状態変数errStatusが0以下であるかどうかを判定する。ステップS34でエラー状態変数errStatusが0以下であると判定された場合、処理はステップS35に進む。
【0113】
統合エラーフラグerrFlagが1であるので、ステップ35において、エラー制御器13は、エラー状態変数errStatusを1に設定し、スイッチ15と二値変換器20に供給する。これにより、二値変換器20は、変数errBinaryとして1を論理積器32に供給する。
【0114】
ステップS36において、V/UV検出器27は、メモリ26から長期時間信号xPを読み出し、長期時間信号xPを分析して、長期時間信号xPに対応する音声が、有声音(V)であるか、または、無声音(UV)であるかを検出する。
【0115】
ステップS37において、V/UV検出器27は、長期時間信号xPに対応する音声が有声音であるかどうかを判定する。ステップS37で有声音であると判定された場合、ステップS38において、V/UV検出器27は、有声音フラグvuvFlagを1に設定し、ピッチ・利得抽出器28、論理積器32、およびスイッチ35に供給する。
【0116】
これにより、論理積器32は、二値変換器20からの変数errBinaryとしての1と、V/UV検出器27からの有声音フラグvuvFlagとしての1との論理積の演算値として1を、スイッチ18およびスイッチ25に供給する。その結果、スイッチ18は、乗算器17と加算器19を接続し、スイッチ25は、加算器24とメモリ26を接続する。また、有声音フラグvuvFlagが1であるので、スイッチ35は、アップサンプリング器30と乗算器36を接続する。
【0117】
ステップS39において、ピッチ・利得抽出器28は、メモリ26から長期時間信号xPを読み出し、長期時間信号xPからピッチ周期pitchおよびピッチ利得pch_gを抽出する。そして、ピッチ・利得抽出器28は、ピッチ周期pitchおよびピッチ利得pch_gを隠蔽信号生成器29に供給する。
【0118】
ステップS40において、隠蔽信号生成器29は、メモリ26から長期時間信号xPを読み出し、ピッチ・利得抽出器28からのピッチ周期pitchおよびピッチ利得pch_gに基づいて、上述した式(9)により、長期時間信号xPから隠蔽信号cxNを生成する。隠蔽信号生成器29は、隠蔽信号cxNをアップサンプリング器30と乗算器31に供給する。
【0119】
ステップS41において、アップサンプリング器30は、隠蔽信号生成器29から供給される隠蔽信号cxNをM倍にアップサンプリングし、アップサンプリングされた隠蔽信号cxWをスイッチ35に供給する。
【0120】
ステップS42において、スイッチ15は、エラー制御器13から供給されるエラー状態変数errStatusに基づいて、スイッチ35とIMDCTw変換器16を接続することにより、スペクトル信号XWをクリアする。即ち、スイッチ15は、スイッチ35とIMDCTw変換器16を接続するが、上述したようにスイッチ35は、アップサンプリング器30と乗算器36を接続し、極性操作器34とスイッチ15の接続を切断する。従って、スイッチ15は、変形スペクトル信号Xw’として0信号を、IMDCTw変換器16および低域スペクトル抽出器21に出力する。
【0121】
これにより、低域スペクトル抽出器21は、変形スペクトル信号Xw’としての0信号の低域成分である0信号を、低域スペクトル信号XW(0≦i≦L/M-1)として抽出する。そして、低域スペクトル抽出器21は、上述した式(4)により、抽出された低域スペクトル信号XWに所定の重み係数wiを掛けることで狭帯域スペクトル信号XN[i](0≦i≦L/M-1)として0信号を生成し、IMDCTN変換器22に供給する。
【0122】
ステップS43において、IMDCTw変換器16は、スイッチ15から供給される変形スペクトル信号Xw’としての0信号に対して逆MDCT変換を行い、オーディオ信号xwを復元する。IMDCTw変換器16は、復元されたオーディオ信号xwを乗算器17に供給するとともに、スイッチ18に供給する。
【0123】
ステップS44において、IMDCTN変換器22は、低域スペクトル抽出部21から供給される狭帯域スペクトル信号XNとしての0信号に対して逆MDCT変換を行うことにより、オーディオ信号xNを生成する。IMDCTN変換器22は、オーディオ信号xNを乗算器23およびスイッチ25に供給する。
【0124】
そして、処理は図6のステップS30に進み、以降の処理が繰り返される。その結果、アップサンプリングされた隠蔽信号cxWに補間係数gi(errStatus)を乗算した結果得られる乗算信号gi(errStatus)・cxWが、乗算器17から出力されるオーディオ信号xw'に加算され、出力オーディオ信号xoutとして出力される。また、隠蔽信号cxNに補間係数hi(errStatus)を乗算した結果得られる乗算信号が、乗算器23から出力される乗算信号xN'に加算されて、変形狭帯域信号xN''としてメモリ26に供給され、長期時間信号xPが更新される。
【0125】
以上のように、統合エラーフラグerrFlagが1であり、エラー状態変数errStatusが0以下である場合、即ち、直前のフレームで復号エラーが発生しておらず、現在のフレームで復号エラーが発生した場合、かつ、有声音フラグvuvFlagが1である場合、アップサンプリングされた隠蔽信号cxWに対応する乗算信号gi(errStatus)・cxWにオーディオ信号xw'が加算されて出力される。また、隠蔽信号cxNに対応する乗算信号hi(errStatus)・cxNが乗算信号xN'と加算され、変形狭帯域信号xN''としてメモリ26に保持される。即ち、ダウンサンプリングされた出力オーディオ信号xoutに対応する変形狭帯域信号xN''がメモリ26に保持される。
【0126】
一方、ステップS37で無声音であると判定された場合、ステップS45において、V/UV検出器27は、有声音フラグvuvFlagを0に設定し、ピッチ・利得抽出器28、論理積器32、およびスイッチ35に供給する。
【0127】
これにより、論理積器32は、二値変換器20からの変数errBinaryとしての1と、V/UV検出器27からの有声音フラグvuvFlagとしての0との論理積の演算値として0を、スイッチ18およびスイッチ25に供給する。その結果、スイッチ18は、IMDCTW16と加算器19を接続し、スイッチ25は、IMDCTN22とメモリ26を接続する。また、有声音フラグvuvFlagが0であるので、スイッチ35は、極性操作器34とスイッチ15とを接続する。
【0128】
ステップS46において、極性操作器34は、メモリ33に記憶されている、直近のエラー状態変数errStatusが0である場合のフレームのスペクトル信号XWを、スペクトル信号XW(P)として読み出し、上述した式(10)により、スペクトル信号XW(P)の極性を操作する。極性操作器34は、その結果得られる変形スペクトル信号Xw’をスイッチ35に供給する。上述したように、スイッチ35は、極性操作器34とスイッチ15を接続するので、変形スペクトル信号Xw’は、スイッチ15に供給される。そして、エラー状態変数errStatusが1であるので、スイッチ15は、スイッチ35から供給される変形スペクトル信号Xw’をIMDCTW変換器16に供給する。
【0129】
ステップS47において、IMDCTW変換器16は、変形スペクトル信号Xw’に対して逆MDCT変換を行い、オーディオ信号xwを復元する。IMDCTw変換器16は、復元されたオーディオ信号xwを乗算器17に供給するとともに、スイッチ18に供給する。そして、上述したように、スイッチ18は、IMDCTW変換器16と加算器19を接続するので、オーディオ信号xwは加算器19に供給される。また、上述したように、スイッチ35は、極性操作器34とスイッチ15を接続し、アップサンプリング器30と乗算器36の接続を切断するので、加算器19には乗算器36からゼロ信号が供給される。従って、加算器19は、オーディオ信号xwをそのまま出力オーディオ信号xoutとして出力する。
【0130】
ステップS48において、低域スペクトル抽出器21は、スイッチ15から供給される変形スペクトル信号Xw’の低域成分を、低域スペクトル信号XWとして抽出する。そして、低域スペクトル抽出器21は、上述した式(4)により、抽出された低域スペクトル信号XWに所定の重み係数wiを掛けることで狭帯域スペクトル信号XNを生成し、IMDCTN変換器22に供給する。
【0131】
ステップS49において、IMDCTN変換器22は、低域スペクトル抽出部21から供給される狭帯域スペクトル信号XNに対して逆MDCT変換を行うことにより、ダウンサンプリングされたオーディオ信号xNを生成する。IMDCTN変換器22は、そのオーディオ信号xNを乗算器23およびスイッチ25に供給する。上述したように、スイッチ25は、IMDCTN変換器22とメモリ26を接続するので、メモリ26には、オーディオ信号xNがそのまま供給される。
【0132】
そして、処理は、図6のステップS21に進み、上述したように、メモリ26は、オーディオ信号xNを用いて、上述した式(7)により長期時間信号xPを更新し、処理を終了する。
【0133】
以上のように、統合エラーフラグerrFlagが1であり、エラー状態変数errStatusが0以下である場合、即ち、直前のフレームで復号エラーが発生しておらず、現在のフレームで復号エラーが発生した場合、かつ、有声音フラグvuvFlagが0である場合、直近の復号エラーが発生していないフレームのスペクトル信号XWの極性を操作して逆MDCT変換した結果得られるオーディオ信号xwが出力される。これにより、違和感の少ない出力オーディオ信号xoutを出力することができる。また、前の復号エラーが発生していないフレームのスペクトル信号XWの極性を操作した後、低域成分を抽出して逆MDCT変換した結果得られるダウンサンプリングされたオーディオ信号xNが、メモリ26に保持される。
【0134】
一方、ステップS34でエラー状態変数errStatusが0以下ではないと判定された場合、ステップS50において、エラー制御器13は、エラー状態変数errStatusが最大値Sであるかどうかを判定する。
【0135】
ステップS50でエラー状態変数errStatusが最大値Sではないと判定した場合、ステップS51において、エラー制御器13は、エラー状態変数errStatusを1だけインクリメントし、スイッチ15と二値変換器20に供給する。そして、処理はステップS52に進む。
【0136】
一方、ステップS50でエラー状態変数errStatusが最大値Sであると判定した場合、エラー制御器13は、エラー状態変数errStatusを最大値Sのままにし、スイッチ15と二値変換器20に供給する。そして、処理はステップS52に進む。
【0137】
ステップS52において、エラー制御器13は、有声音フラグvuvFlagが1であるかどうかを判定し、有声音フラグvuvFlagが1であると判定した場合、処理はステップS40に進む。
【0138】
即ち、統合エラーフラグerrFlagが1であり、エラー状態変数errStatusが0より大きい場合、即ち、直前のフレームおよび現在のフレームにおいて連続して復号エラーが発生した場合、かつ、有声音フラグvuvFlagが1である場合、エラー状態変数errStatusが0以下である場合と同様に、アップサンプリングされた隠蔽信号cxWに対応する乗算信号gi(errStatus)・cxWにオーディオ信号xw'が加算されて出力される。また、隠蔽信号cxNに対応する乗算信号hi(errStatus)・cxNが乗算信号xN'と加算され、変形狭帯域信号xN''としてメモリ26に保持される。
【0139】
一方、ステップS52で有声音フラグvuvFlagが1ではないと判定された場合、処理はステップS46に進む。
【0140】
即ち、統合エラーフラグerrFlagが1であり、エラー状態変数errStatusが0より大きい場合、即ち、直前のフレームおよび現在のフレームにおいて連続して復号エラーが発生した場合、かつ、有声音フラグvuvFlagが0である場合、エラー状態変数errStatusが0以下である場合と同様に、直近の復号エラーが発生していないフレームのスペクトル信号XWの極性を操作して逆MDCT変換した結果得られるオーディオ信号xwが出力される。また、前の復号エラーが発生していないフレームのスペクトル信号XWの極性を操作した後、低域成分を抽出して逆MDCT変換した結果得られるダウンサンプリングされたオーディオ信号xNが、メモリ26に保持される。
【0141】
なお、図5および図6の復号処理では、説明の便宜上、スイッチ15,18,25,35により選択されない信号の生成に関する処理については適宜省略している。本実施の形態では、スイッチ15,18,25,および35により選択される信号だけでなく、選択されない信号も生成されるようにしているが、スイッチ15,18,25,および35により選択される信号だけが生成されるようにしてもよい。
【0142】
[復号結果の例]
図7は、IMDCTw変換器16により復元されるオーディオ信号xwの例を示す図である。
【0143】
なお、図7の例では、サンプル(E)からサンプル(F)までの区間が、統合エラーフラグerrFlagが1であり、エラー状態変数errStatusが0以下である区間である。また、図7の例では、有声音フラグが1に設定されている。
【0144】
この場合、図7に示すように、サンプル(E)からサンプル(F)までの区間のスペクトル信号XWは、スイッチ18によりクリアされるので、IMDCTw変換器16により復元されるオーディオ信号xwは略0信号である。
【0145】
図8は、隠蔽信号生成器29により生成されるサンプル(E)からサンプル(F)までの区間に対応する隠蔽信号の例を示す図である。
【0146】
図8に示すように、隠蔽信号生成器29は、長期時間信号xPから、オーディオ信号xwのサンプリング周波数に比べて1/M(図8の例ではM=4)倍にダウンサンプリングされた信号を隠蔽信号cxNとして生成する。そして、アップサンプリング器30は、隠蔽信号cxNのサンプリング周波数をM倍にアップサンプリングし、アップサンプリングされた隠蔽信号cxWのサンプリング周波数をオーディオ信号xwの周波数と同一にする。
【0147】
また、図8に示すように、統合エラーフラグerrFlagが1である、サンプル(E)からサンプル(F)までの区間に対応するサンプル(E)’からサンプル(F)’までの区間以降も、統合エラーフラグerrFlagとして1が3回以上連続するまで、隠蔽信号cxNが生成される。
【0148】
図9は、図7のオーディオ信号xwを図8の隠蔽信号cxNを用いて隠蔽した結果得られる出力オーディオ信号xoutの例を示す図である。
【0149】
図9に示すように、統合エラーフラグerrFlagおよびエラー状態変数errStatusが0である、サンプル(E)までの出力オーディオ信号xoutは、図7のオーディオ信号xwそのものとなる。また、サンプル(E)からサンプル(F)までの区間の出力オーディオ信号xoutは、アップサンプリングされた図8のサンプル(E)’からサンプル(F)’までの区間の隠蔽信号cxWに対応する乗算信号gi(errStatus)・cxWとなる。
【0150】
さらに、サンプル(F)以降の、統合エラーフラグerrFlagとして1が3回以上連続するまでの区間の出力オーディオ信号xoutは、図7のオーディオ信号xwに対応するオーディオ信号xw'と、アップサンプリングされた図8のサンプル(F)'以降の隠蔽信号cxWに対応する乗算信号gi(errStatus)・cxWとが加算された信号となる。即ち、出力オーディオ信号xoutは、サンプル(F)において、アップサンプリングされた隠蔽信号cxWに対応する乗算信号gi(errStatus)・cxWとオーディオ信号xwが滑らかに接続されるように、クロスフェードしている。
【0151】
以上のように、復号装置10は、スペクトル信号XWまたは変形スペクトル信号Xw’の一部である低域成分を逆MDCT変換することにより、オーディオ信号xwをダウンサンプリングし、そのオーディオ信号xwに基づいて隠蔽信号を生成する。従って、ダウンサンプリングに必要な演算量が少なくて済む。
【0152】
また、復号装置10は、ダウンサンプリングされたオーディオ信号xNまたは変形狭帯域信号xN''を、隠蔽信号を生成するためにメモリ26に保持するので、隠蔽信号を生成するために必要なメモリ26のサイズを比較的小さくすることができる。
【0153】
<第2実施の形態>
[復号装置の第2実施の形態の構成例]
図10は、本技術を適用した復号装置の第2実施の形態の構成例を示すブロック図である。
【0154】
図10に示す構成のうち、図1の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【0155】
図10の復号装置50の構成は、主に、逆多重化器11とエラー制御器13の代わりに、逆多重化器51、エラーカウンタ制御器52、メモリ53、スイッチ54、およびエラー制御器55が設けられている点が図1の構成と異なる。
【0156】
復号装置50には、所定のフレームのオーディオ信号の符号化パラメータPARのビットストリームBSと、そのフレームより後のNフレーム分のオーディオ信号の符号化パラメータPARのビットストリームである冗長ビットストリームBS(r)からなる符号化データRXを復号する。
【0157】
具体的には、復号装置50の逆多重化器51は、受信部として機能し、外部の符号化装置から伝送路を介して伝送されてくる符号化データRXを受信する。逆多重化器51は、受信された符号化データRXからビットストリームBSと冗長ビットストリームBS(r)を逆多重化する。また、逆多重化器51は、符号化データRXが受信でき、かつ、逆多重化の際にエラーが発生していないかどうかを判定する。
【0158】
逆多重化器51は、符号化データRXが受信できなかったか、または、逆多重化の際にエラーが発生したと判定した場合、エラーフラグerrFlag0を1に設定する。一方、逆多重化器51は、符号化データRXが受信でき、かつ、逆多重化の際にエラーが発生していないと判定した場合、エラーフラグerrFlag0を0に設定する。そして、逆多重化器51は、逆多重化の結果得られるビットストリームBSをスイッチ54に供給し、冗長ビットストリームBS(r)をメモリ53に供給する。逆多重化器51は、エラーフラグerrFlag0をエラーカウンタ制御器52に供給する。
【0159】
エラーカウンタ制御器52は、逆多重化器51から供給されるエラーフラグerrFlag0とパラメータ解釈器12から供給されるエラーフラグerrFlag1に基づいて、エラーカウンタCNTを設定する。具体的には、エラーカウンタ制御器52は、エラーフラグerrFlag0およびエラーフラグerrFlag1が0である場合、エラーカウンタCNTを0に設定する。一方、エラーカウンタ制御器52は、エラーフラグerrFlag0またはエラーフラグerrFlag1が1である場合、エラーカウンタCNTを1だけインクリメントする。エラーカウンタ制御器52は、エラーカウンタCNTを、メモリ53およびスイッチ54に供給する。
【0160】
また、エラーカウンタ制御器52は、エラーカウンタCNTがN以下である場合、統合エラーフラグerrFlagを0に設定し、エラーカウンタCNTがNより大きい場合、統合エラーフラグerrFlagを1に設定する。エラーカウンタ制御器52は、統合エラーフラグerrFlagをエラー制御器55に供給する。
【0161】
メモリ53は、エラーカウンタ制御器52から供給されるエラーカウンタCNTが0である場合、逆多重化器51から供給される冗長ビットストリームBS(r)を記憶する。また、メモリ53は、エラーカウンタCNTが1以上N以下である場合、記憶している現在の復号対象のフレームよりCNTフレーム前のフレームのビットストリームBSに対応する冗長ビットストリームBS(r)のうちの、現在の復号対象のフレームの冗長ビットストリームBS(r)(-cnt)を読み出す。メモリ53は、読み出された冗長ビットストリームBS(r)(-cnt)をスイッチ54に供給する。
【0162】
スイッチ54は、エラーカウンタ制御器52から供給されるエラーカウンタCNTに基づいて、逆多重化器51から供給されるビットストリームBSまたはメモリ53から供給される冗長ビットストリームBS(r)(-cnt)を選択し、パラメータ解釈器12に供給する。
【0163】
具体的には、スイッチ54は、エラーカウンタCNTが0である場合、ビットストリームBSをパラメータ解釈器12に供給し、エラーカウンタCNTが0ではない場合、冗長ビットストリームBS(r)(-cnt)をパラメータ解釈器12に供給する。
【0164】
エラー制御器55は、エラーカウンタ制御器52から供給される統合エラーフラグerrFlagに基づいて、図1のエラー制御器13と同様に、エラー状態変数errStatusを設定し、エラー状態変数errStatusをスイッチ15と二値変換器20に供給する。
【0165】
[符号化データとオーディオ信号の説明]
図11は、符号化装置から伝送されてくる符号化データRXと、その符号化データの復号結果であるオーディオ信号を説明する図である。
【0166】
図11の例では、Nは2であり、復号装置50に伝送されてくる各フレームの符号化データRXは、そのフレームのビットストリームBSと、そのフレームより1フレーム後および2フレーム後の冗長ビットストリームBS(r)により構成される。例えば、n-1フレーム目の符号化データRXは、n-1フレーム目のビットストリームBSであるData[n-1]、n-1フレームより1フレーム後のnフレーム目の冗長ビットストリームBS(r)であるrData[n]、および2フレーム後のn+1フレーム目の冗長ビットストリームBS(r)であるrData[n+1]からなる。
【0167】
この場合、例えば、nフレーム目以降のフレームで復号エラーが発生すると、nフレーム目の復号時にエラーカウンタCNTは1となり、復号エラーが発生していないn-1フレーム目のData[n-1]とともに符号化データRXに含まれるnフレーム目のrData[n]が、メモリ53から読み出される。そして、nフレーム目の復号結果は、読み出されたnフレーム目のrData[n]を復号することにより生成される。
【0168】
また、n+1フレーム目の復号時には、エラーカウンタCNTは2となり、エラーが発生していないn-1フレーム目のData[n-1]とともに符号化データRXに含まれるn+1フレーム目のrData[n+1]が、メモリ53から読み出される。そして、n+1フレーム目の復号結果は、読み出されたn+1フレーム目のrData[n+1]を復号することにより生成される。
【0169】
一方、n+2フレーム目の復号時には、エラーカウンタCNTは3となり、Nである2より大きい。即ち、n+2フレーム目の冗長ビットストリームBS(r)は、n-1フレーム目の符号化データRXに含まれていない。従って、n+2フレーム目の復号結果は、隠蔽信号cxNなどを用いて生成される。
【0170】
[復号装置の処理の説明]
図10の復号装置50の復号処理は、図5のステップS11乃至S14の処理の代わりに復号前処理が行われる点を除いて図5および図6の復号処理と同様であるので、以下では復号前処理についてのみ説明する。
【0171】
図12は、図10の復号装置50による復号前処理を説明するフローチャートである。この復号前処理は、例えば、外部の符号化装置から伝送路を介してフレーム単位の符号化データRXが伝送されてきたとき、開始される。
【0172】
図12のステップS70において、復号装置50の逆多重化器51は、外部の符号化装置から伝送路を介して伝送されてくる符号化データRXを受信し、その符号化データRXからビットストリームBSと冗長ビットストリームBS(r)を逆多重化する。そして、逆多重化器51は、逆多重化の結果得られるビットストリームBSをスイッチ54に供給し、冗長ビットストリームBS(r)をメモリ53に供給する。
【0173】
ステップS71において、逆多重化器51は、符号化データRXが受信でき、かつ、逆多重化の際にエラーが発生していないかどうかを判定する。
【0174】
ステップS71で符号化データRXが受信でき、かつ、逆多重化の際にエラーが発生していないと判定した場合、逆多重化器51は、エラーフラグerrFlag0を0に設定してエラーカウンタ制御器52に供給する。
【0175】
そして、ステップS72において、エラーカウンタ制御器52は、エラーカウンタCNTを0に設定し、スイッチ54に供給する。スイッチ54は、逆多重化器51から供給されるビットストリームBSをパラメータ解釈器12に供給する。
【0176】
ステップS73において、パラメータ解釈器12は、スイッチ54から供給されるビットストリームBSから符号化パラメータPARを分解し、逆量子化器14に供給する。
【0177】
ステップS74において、パラメータ解釈器12は、符号化パラメータPARを分解する際にエラーが発生していないかどうかを判定する。ステップS74でエラーが発生していないと判定された場合、パラメータ解釈器12は、エラーフラグerrFlag1を0に設定し、エラーカウンタ制御器52に供給する。エラーカウンタ制御器52は、エラーカウンタCNTをステップS72の処理前の値に変更する。
【0178】
そして、ステップS75において、メモリ53は、逆多重化器51から供給される冗長ビットストリームBS(r)を記憶し、処理をステップS80に進める。
【0179】
一方、ステップS71で符号化データRXが受信できなかったか、または、逆多重化の際にエラーが発生したと判定された場合、逆多重化器51は、エラーフラグerrFlag0を1に設定する。そして、逆多重化器51は、そのエラーフラグerrFlag0をエラーカウンタ制御器52に供給し、処理をステップS76に進める。
【0180】
また、ステップS74でエラーが発生したと判定された場合、パラメータ解釈器12は、エラーフラグerrFlag1を1に設定し、そのエラーフラグerrFlag1をエラーカウンタ制御器52に供給する。そして、処理はステップS76に進む。
【0181】
ステップS76において、エラー制御器55は、エラーカウンタCNTを1だけインクリメントし、メモリ53およびスイッチ54に供給する。
【0182】
ステップS77において、メモリ53は、エラーカウンタCNTがN以下であるかどうかを判定する。ステップS77でエラーカウンタCNTがN以下であると判定された場合、処理はステップS78に進む。
【0183】
ステップS78において、メモリ53は、記憶している現在の復号対象のフレームよりCNTフレーム前のフレームのビットストリームBSに対応する冗長ビットストリームBS(r)のうちの、現在の復号対象のフレームの冗長ビットストリームBS(r)(-cnt)を読み出す。メモリ53は、読み出された冗長ビットストリームBS(r)(-cnt)をスイッチ54に供給する。そして、スイッチ54は、冗長ビットストリームBS(r)(-cnt)を、ビットストリームBSとしてパラメータ解釈器12に供給する。
【0184】
ステップS79において、パラメータ解釈器12は、スイッチ54から供給されるビットストリームBSから符号化パラメータPARを分解し、逆量子化器14に供給して、処理をステップS80に進める。
【0185】
ステップS80において、エラーカウンタ制御器52は、統合エラーフラグerrFlagを0に設定し、エラー制御器55に供給して、処理は終了する。この後、図5のステップS15以降の処理が行われる。
【0186】
一方、ステップS77でエラーカウンタCNTがNより大きいと判定された場合、処理はステップS81に進む。ステップS81において、エラーカウンタ制御器52は、統合エラーフラグerrFlagを1に設定し、エラー制御器55に供給する。そして、処理は終了し、この後、図5のステップS34以降の処理が行われる。
【0187】
なお、本実施の形態におけるメモリは、リングバッファ構造を有するようにしてもよい。この場合、更新時の演算量を削減することができる。
【0188】
[本技術を適用したコンピュータの説明]
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【0189】
そこで、図13は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【0190】
プログラムは、コンピュータに内蔵されている記録媒体としての記憶部208やROM(Read Only Memory)202に予め記録しておくことができる。
【0191】
あるいはまた、プログラムは、リムーバブルメディア211に格納(記録)しておくことができる。このようなリムーバブルメディア211は、いわゆるパッケージソフトウエアとして提供することができる。ここで、リムーバブルメディア211としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。
【0192】
なお、プログラムは、上述したようなリムーバブルメディア211からドライブ210を介してコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵する記憶部208にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。
【0193】
コンピュータは、CPU(Central Processing Unit)201を内蔵しており、CPU201には、バス204を介して、入出力インタフェース205が接続されている。
【0194】
CPU201は、入出力インタフェース205を介して、ユーザによって、入力部206が操作等されることにより指令が入力されると、それに従って、ROM202に格納されているプログラムを実行する。あるいは、CPU201は、記憶部208に格納されたプログラムを、RAM(Random Access Memory)203にロードして実行する。
【0195】
これにより、CPU201は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU201は、その処理結果を、必要に応じて、例えば、入出力インタフェース205を介して、出力部207から出力、あるいは、通信部209から送信、さらには、記憶部208に記録等させる。
【0196】
なお、入力部206は、キーボードや、マウス、マイク等で構成される。また、出力部207は、LCD(Liquid Crystal Display)やスピーカ等で構成される。
【0197】
ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。
【0198】
また、プログラムは、1のコンピュータ(プロセッサ)により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【0199】
本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【0200】
なお、本技術は、以下のような構成もとることができる。
(1)
フレーム単位のオーディオ信号のスペクトルの一部を部分スペクトルとして抽出するスペクトル抽出部と、
前記スペクトル抽出部により抽出された前記部分スペクトルを逆直交変換する部分逆直交変換部と、
前記部分逆直交変換部による逆直交変換の結果得られる部分オーディオ信号に基づいて、前記オーディオ信号の第1の代替信号を生成する第1の代替信号生成部と
を備える信号処理装置。
(2)
前記第1の代替信号生成部は、複数フレームの前記部分オーディオ信号に基づいて前記第1の代替信号を生成する
前記(1)に記載の信号処理装置。
(3)
前記部分オーディオ信号に基づいて、前記オーディオ信号に対応する音声が有声音であるかどうかを判定する判定部と、
前記判定部により前記オーディオ信号に対応する音声が有声音であると判定された場合、前記部分オーディオ信号に基づいて、前記オーディオ信号のピッチ周期とピッチ利得を抽出するピッチ抽出部と
をさらに備え、
前記第1の代替信号生成部は、前記ピッチ抽出部により抽出された前記ピッチ周期と前記ピッチ利得に基づいて、前記部分オーディオ信号から前記第1の代替信号を生成する
前記(1)または(2)に記載の信号処理装置。
(4)
前記第1の代替信号生成部は、所定のフレームより前記ピッチ周期前の1フレーム分の前記部分オーディオ信号と前記ピッチ利得とに基づいて、前記所定のフレームの前記第1の代替信号を生成する
前記(3)に記載の信号処理装置。
(5)
前記スペクトル抽出部は、前記オーディオ信号のスペクトルの低域成分を前記部分スペクトルとして抽出する
前記(1)乃至(4)のいずれかに記載の信号処理装置。
(6)
前記スペクトル抽出部は、前記部分スペクトルのうちの高域のスペクトルを周波数が高いほど減衰させ、
前記部分逆直交変換部は、前記スペクトル抽出部により減衰された前記部分スペクトルを逆直交変換する
前記(1)乃至(5)のいずれかに記載の信号処理装置。
(7)
所定のフレームの直近のエラーが発生していないフレームの前記オーディオ信号のスペクトルを用いて、前記所定のフレームのオーディオ信号の第2の代替信号を生成する第2の代替信号生成部と、
前記所定のフレームのオーディオ信号のスペクトルにエラーが発生しており、前記所定のフレームのオーディオ信号に対応する音声が有声音である場合、前記第1の代替信号を前記所定のフレームのオーディオ信号として出力し、前記所定のフレームのオーディオ信号のスペクトルにエラーが発生しており、前記所定のフレームのオーディオ信号に対応する音声が無声音である場合、前記所定のフレームの前記第2の代替信号を前記所定のフレームのオーディオ信号として出力する出力部と
をさらに備える
前記(1)乃至(6)のいずれかに記載の信号処理装置。
(8)
複数フレームの前記部分オーディオ信号を記憶する記憶部
をさらに備え、
前記記憶部は、前記所定のフレームのオーディオ信号のスペクトルにエラーが発生しており、前記所定のフレームのオーディオ信号に対応する音声が無声音である場合、前記代替信号生成部により生成された前記所定のフレームの前記第2の代替信号のスペクトルの一部のオーディオ信号を前記所定のフレームの前記部分オーディオ信号として記憶し、
前記第1の代替信号生成部は、前記記憶部に記憶される前記複数フレームの前記部分オーディオ信号に基づいて、前記第1の代替信号を生成する
前記(7)に記載の信号処理装置。
(9)
複数フレームの前記部分オーディオ信号を記憶する記憶部
をさらに備え、
前記記憶部は、所定のフレームのオーディオ信号のスペクトルにエラーが発生しており、前記所定のフレームのオーディオ信号に対応する音声が有声音である場合、前記第1の代替信号のスペクトルの一部のオーディオ信号を前記所定のフレームの前記部分オーディオ信号として記憶し、
前記第1の代替信号生成部は、前記記憶部に記憶される前記複数フレームの前記部分オーディオ信号に基づいて、前記第1の代替信号を生成する
前記(1)乃至(7)のいずれかに記載の信号処理装置。
(10)
所定のフレームの前記オーディオ信号のスペクトルを本スペクトルとして受信するとともに、そのフレームより後のフレームの前記オーディオ信号のスペクトルを冗長スペクトルとして受信する受信部
をさらに備え、
前記スペクトル抽出部は、前記本スペクトルにエラーが発生している場合、前記冗長スペクトルの一部を前記部分スペクトルとして抽出する
前記(1)乃至(9)のいずれかに記載の信号処理装置。
(11)
信号処理装置が、
フレーム単位のオーディオ信号のスペクトルの一部を部分スペクトルとして抽出するスペクトル抽出ステップと、
前記スペクトル抽出ステップの処理により抽出された前記部分スペクトルを逆直交変換する部分逆直交変換ステップと、
前記部分逆直交変換ステップの処理による逆直交変換の結果得られる部分オーディオ信号に基づいて、前記オーディオ信号の第1の代替信号を生成する第1の代替信号生成ステップと
信号処理方法。
(12)
コンピュータに、
フレーム単位のオーディオ信号のスペクトルの一部を部分スペクトルとして抽出するスペクトル抽出ステップと、
前記スペクトル抽出ステップの処理により抽出された前記部分スペクトルを逆直交変換する部分逆直交変換ステップと、
前記部分逆直交変換ステップの処理による逆直交変換の結果得られる部分オーディオ信号に基づいて、前記オーディオ信号の第1の代替信号を生成する第1の代替信号生成ステップと
を含む処理を実行させるためのプログラム。
【符号の説明】
【0201】
10 復号装置, 16 IMDCTW変換器, 21 低域スペクトル抽出器, 22 IMDCTN変換器, 26 メモリ, 27 V/UV検出器, 28 ピッチ・利得抽出器, 29 隠蔽信号生成器, 34 極性操作器, 35 スイッチ, 50 復号装置, 51 逆多重化器
【技術分野】
【0001】
本技術は、信号処理装置、信号処理方法、およびプログラムに関し、特に、オーディオ信号の代替信号を低演算量で生成することができるようにした信号処理装置、信号処理方法、およびプログラムに関する。
【背景技術】
【0002】
オーディオ信号を符号化する符号化装置は、オーディオ信号を直交変換してスペクトル信号を生成し、そのスペクトル信号を量子化して符号化することにより、符号化データを生成する。このような符号化データを復号する復号装置は、伝送路のエラーなどにより正確に符号化データを受信できなかった場合、そのエラーを隠蔽するために代替信号を生成する必要があるが(例えば、特許文献1参照)、代替信号の生成は難しい。
【0003】
代替信号を生成する方法としては、過去に復号されたオーディオ信号のピッチ周期やピッチ利得を検出し、そのピッチ周期やピッチ利得に応じたオーディオ信号を代替信号として生成する方法が考えられている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許4603091号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上述した方法では、特にサンプリング周波数の高いオーディオ信号の符号化データを復号する復号装置において、ピッチ周期やピッチ利得を検出するために、多くの演算量が必要とされる。
【0006】
本技術は、このような状況に鑑みてなされたものであり、オーディオ信号の代替信号を低演算量で生成することができるようにするものである。
【課題を解決するための手段】
【0007】
本技術の一側面の信号処理装置は、フレーム単位のオーディオ信号のスペクトルの一部を部分スペクトルとして抽出するスペクトル抽出部と、前記スペクトル抽出部により抽出された前記部分スペクトルを逆直交変換する部分逆直交変換部と、前記部分逆直交変換部による逆直交変換の結果得られる部分オーディオ信号に基づいて、前記オーディオ信号の第1の代替信号を生成する第1の代替信号生成部とを備える信号処理装置である。
【0008】
本技術の一側面の信号処理方法およびプログラムは、本技術の一側面の信号処理装置に対応する。
【0009】
本技術の一側面においては、フレーム単位のオーディオ信号のスペクトルの一部が部分スペクトルとして抽出され、抽出された前記部分スペクトルが逆直交変換され、逆直交変換の結果得られる部分オーディオ信号に基づいて、前記オーディオ信号の第1の代替信号が生成される。
【発明の効果】
【0010】
本技術の一側面によれば、オーディオ信号の代替信号を低演算量で生成することができる。
【図面の簡単な説明】
【0011】
【図1】本技術を適用した復号装置の第1実施の形態の構成例を示すブロック図である。
【図2】エラー状態変数errStatusの遷移図である。
【図3】符号化対象のオーディオ信号を示す図である。
【図4】長期時間信号xPの例を示す図である。
【図5】図1の復号装置の復号処理を説明するフローチャートである。
【図6】図1の復号装置の復号処理を説明するフローチャートである。
【図7】IMDCTw変換器により復元されるオーディオ信号xwの例を示す図である。
【図8】隠蔽信号の例を示す図である。
【図9】出力オーディオ信号xoutの例を示す図である。
【図10】本技術を適用した復号装置の第2実施の形態の構成例を示すブロック図である。
【図11】符号化データRXと復号されたオーディオ信号を説明する図である。
【図12】図10の復号装置による復号前処理を説明するフローチャートである。
【図13】コンピュータの一実施の形態の構成例を示す図である。
【発明を実施するための形態】
【0012】
<第1実施の形態>
[復号装置の第1実施の形態の構成例]
図1は、本技術を適用した復号装置の第1実施の形態の構成例を示すブロック図である。
【0013】
図1の復号装置10は、逆多重化器11、パラメータ解釈器12、エラー制御器13、逆量子化器14、スイッチ15、IMDCTw変換器16、乗算器17、スイッチ18、加算器19、二値変換器20、低域スペクトル抽出器21、IMDCTN変換器22、乗算器23、加算器24、スイッチ25、メモリ26、V/UV検出器27、ピッチ・利得抽出器28、隠蔽信号生成器29、アップサンプリング器30、乗算器31、論理積器32、メモリ33、極性操作器34、スイッチ35、および乗算器36により構成される。
【0014】
復号装置10は、時間信号であるオーディオ信号の符号化パラメータPARを含むビットストリームBSが多重化された符号化データRXを復号する。なお、符号化パラメータPARは、オーディオ信号が比較的短いフレーム長LでMDCT(Modified Discrete Cosine Transform)変換され、量子化されたものである。
【0015】
具体的には、復号装置10の逆多重化器11は、外部の符号化装置から伝送路を介して伝送されてくるフレーム単位の符号化データRXを受信する。逆多重化器11は、受信された符号化データRXからビットストリームBSを逆多重化(分離)する。また、逆多重化器11は、符号化データRXが受信でき、かつ、逆多重化の際にエラーが発生していないかどうかを判定する。
【0016】
なお、本明細書では、特に断りのない限り、符号化データRXの破損や消失などにより、正常に受信した符号化データRXから情報を取得できない状態をエラーという。
【0017】
逆多重化器11は、符号化データRXが受信できなかったか、または、逆多重化の際にエラーが発生したと判定した場合、エラーフラグerrFlag0を1に設定する。一方、逆多重化器11は、符号化データRXが受信でき、かつ、逆多重化の際にエラーが発生していないと判定した場合、エラーフラグerrFlag0を0に設定する。逆多重化器11は、エラーフラグerrFlag0をエラー制御器13に供給する。また、逆多重化器11は、逆多重化の結果得られるビットストリームBSをパラメータ解釈器12(Parameter Parser)に供給する。
【0018】
パラメータ解釈器12は、逆多重化器11から供給されるビットストリームBSから符号化パラメータPARを分解する。また、パラメータ解釈器12は、符号化パラメータPARを分解する際にエラーが発生していないかどうかを判定する。パラメータ解釈器12は、エラーが発生したと判定した場合、エラーフラグerrFlag1を1に設定する。また、パラメータ解釈器12は、エラーが発生していないと判定した場合にエラーフラグerrFlag1を0に設定する。パラメータ解釈器12は、エラーフラグerrFlag1をエラー制御器13に供給する。また、パラメータ解釈器12は、分解された符号化パラメータPARを逆量子化器14に供給する。
【0019】
エラー制御器13は、エラーフラグerrFlag0およびエラーフラグerrFlag1に基づいて、以下の式(1)により、統合エラーフラグerrFlagを決定する。
【0020】
errFlag=errFlag0|errFlag1
・・・(1)
【0021】
式(1)によれば、エラーフラグerrFlag0またはエラーフラグerrFlag1が1のとき、統合エラーフラグerrFlagは1となり、エラーフラグerrFlag0が0でかつエラーフラグerrFlag1が0のとき統合エラーフラグerrFlagは0となる。
【0022】
なお、以下では、統合エラーフラグerrFlagが1である状態を、復号エラーが発生している状態という。
【0023】
また、エラー制御器13は、統合エラーフラグerrFlagに基づいてエラー状態変数errStatusを設定し、エラー状態変数errStatusをスイッチ15と二値変換器20に供給する。
【0024】
ここで、エラー状態変数errStatusの設定方法について、図2を参照して説明する。図2は、エラー状態変数errStatusの遷移図である。なお、図2において、円は、円の中に付された数字のエラー状態変数errStatusを表し、矢印近傍に付された数字は、その矢印が表す遷移が行われる場合の統合エラーフラグerrFlagの値を示す。
【0025】
エラー状態変数errStatusの初期値は0である。図2に示すように、エラー状態変数errStatusが0である場合、統合エラーフラグerrFlagが1に設定されるまで、エラー状態変数errStatusは0のままである。統合エラーフラグerrFlagが1に設定されると、統合エラーフラグerrFlagが連続して1に設定されるたびに、エラー状態変数errStatusが順に1ずつ加算されSまで増加する。エラー状態変数errStatusがSに設定された後も、統合エラーフラグerrFlagが連続して1に設定される場合、エラー状態変数errStatusは、統合エラーフラグerrFlagが1に設定されなくなるまでSとなる。
【0026】
また、エラー状態変数errStatusが1以上である場合、即ち、統合エラーフラグerrFlagが1回以上連続して1に設定された場合、統合エラーフラグerrFlagが0に設定されると、エラー状態変数errStatusは-1に設定される。そして、統合エラーフラグerrFlagが再度0に設定されると、エラー状態変数errStatusは-2に設定され、さらに再度0に設定されると、エラー状態変数errStatusは0となる。
【0027】
一方、エラー状態変数errStatusが0より小さい場合、即ち、統合エラーフラグerrFlagが1回以上1に設定された後、1回または2回連続して0に設定された場合、再び統合エラーフラグerrFlagが1に設定されると、エラー状態変数errStatusは1に設定される。その後、統合エラーフラグerrFlagが連続して1に設定されると、連続するたびに、エラー状態変数errStatusは順にSまで増加する。
【0028】
以上により、1回も統合エラーフラグerrFlagが1に設定されていないか、または、統合エラーフラグerrFlagが1に設定された後、3回以上連続して0に設定された場合、エラー状態変数errStatusは0になる。一方、統合エラーフラグerrFlagが1回以上連続して1に設定された場合、エラー状態変数errStatusは1以上となる。また、統合エラーフラグerrFlagが1に設定された後、3回未満連続して0に設定された場合、エラー状態変数errStatusは0より小さくなる。
【0029】
逆量子化器14は、パラメータ解釈器12から供給される符号化パラメータPARを逆量子化してスペクトル信号XW[i](0≦i≦L-1)を復元し、スイッチ15に供給する。ここで、スペクトル信号のフレーム長Lは、IMDCTW変換器16の逆MDCT変換における変換ブロック長に等しい。
【0030】
スイッチ15は、エラー制御器13から供給されるエラー状態変数errStatusに応じて、逆量子化器14から供給されるスペクトル信号XW、または、スイッチ35から供給される変形スペクトル信号Xw’[i](0≦i≦L-1)を選択し、IMDCTw変換器16に供給する。
【0031】
具体的には、スイッチ15は、エラー状態変数errStatusが0以下である場合、スペクトル信号XWをIMDCTw変換器16、低域スペクトル抽出器21、およびメモリ33に供給する。一方、エラー状態変数errStatusが0より大きい場合、変形スペクトル信号Xw'をIMDCTw変換器16、低域スペクトル抽出器21、およびメモリ33に供給する。
【0032】
IMDCTw変換器16は、通常の広帯域用の逆MDCT変換器である。IMDCTw変換器16は、スイッチ15から供給されるスペクトル信号XWまたは変形スペクトル信号Xw'を逆MDCT変換し、時間信号であるオーディオ信号xw[i](0≦i≦L-1)を復元する。IMDCTw変換器16は、復元されたオーディオ信号xwを乗算器17に供給するとともに、スイッチ18に供給する。
【0033】
乗算器17は、以下の式(2)により、IMDCTw変換器16から供給されるオーディオ信号xwに、エラー状態変数errStatusによって異なる補間係数gi(errStatus)’(0≦i≦L-1)を乗算し、乗算の結果得られるオーディオ信号xw'[i](0≦i≦L-1)をスイッチ18に供給する。
【0034】
xw'[i]=gi(errStatus)’・xw[i](0≦i≦L-1)
・・・(2)
【0035】
スイッチ18は、論理積器32から供給される演算値に基づいて、IMDCTw変換器16から供給されるオーディオ信号xw、または、乗算器17から供給されるオーディオ信号xw'を選択し、加算器19に供給する。具体的には、スイッチ18は、演算値が0である場合、オーディオ信号xwを加算器19に供給し、演算値が1である場合、オーディオ信号xw'を加算器19に供給する。
【0036】
加算器19は、スイッチ18から供給されるオーディオ信号xwまたはオーディオ信号xw'と、乗算器36から供給される乗算信号を加算し、加算の結果得られる信号を、出力オーディオ信号xoutとして出力する。
【0037】
例えば、スイッチ18からオーディオ信号xw'が供給される場合、加算器19は、以下の式(3)により、J番目のフレームのビットストリームBSに対応する出力オーディオ信号xout[J・L+i]を生成する。
【0038】
xout[J・L+i]=gi(errStatus)・cxW[i]+xw'[i](0≦i≦L-1)
・・・(3)
【0039】
なお、式(3)において、gi(errStatus)・cxW[i]は、乗算器36から供給される乗算信号である。
【0040】
二値変換器20は、エラー制御器13から供給されるエラー状態変数errStatusが0である場合、変数errBinaryを0に設定する。一方、二値変換器20は、エラー状態変数errStatusが0以外である場合変数errBinaryを1に設定する。二値変換器20は、変数errBinaryを論理積器32に供給する。
【0041】
低域スペクトル抽出器21は、スイッチ15から供給されるスペクトル信号XWまたは変形スペクトル信号Xw’の低域成分を、低域スペクトル信号XW[i](0≦i≦L/M-1)として抽出する。そして、低域スペクトル抽出器21は、以下の式(4)により、抽出された低域スペクトル信号XWに所定の重み係数wiを掛けることで狭帯域スペクトル信号XN[i](0≦i≦L/M-1)を生成し、IMDCTN変換器22に供給する。
【0042】
XN[i]=wiXw[i](0≦i≦L/M-1)
・・・(4)
【0043】
なお、重み係数wiは、例えば、高域であるL/M-1付近で0に向けて、周波数が高いほど減少していき、それ以外は1となる係数である。
【0044】
IMDCTN変換器22は、変換ブロック長がIMDCTW変換器16における変換ブロック長Lの1/Mである狭帯域用の逆MDCT変換器であり、部分逆直交変換部として機能する。IMDCTN変換器22は、低域スペクトル抽出部21から供給される狭帯域スペクトル信号XNに対して逆MDCT変換を行う。これにより、スペクトル信号XWまたは変形スペクトル信号Xw’に対応する時間信号をダウンサンプリングした時間信号であるオーディオ信号xN[i](0≦i≦L/M-1)が生成される。IMDCTN変換器22は、このオーディオ信号xNを乗算器23およびスイッチ25に供給する。
【0045】
乗算器23は、以下の式(5)により、IMDCTN変換器22から供給されるオーディオ信号xNに、エラー状態変数errStatusによって異なる補間係数hi(errStatus)'を乗算し、乗算信号xN'[i](0≦i≦L/M-1)を加算器24に供給する。
【0046】
xN'[i]=hi(errStatus)'・xN[i](0≦i≦L/M-1)
・・・(5)
【0047】
加算器24は、以下の式(6)により、乗算器23から供給される乗算信号と、乗算器31から供給される乗算信号を加算し、その結果得られる変形狭帯域信号xN''[i](0≦i≦L/M-1)をスイッチ25に供給する。
【0048】
xN''[i]=hi(errStatus)・cxN[i]+ xN'[i](0≦i≦L/M-1)
・・・(6)
【0049】
なお、式(6)において、hi(errStatus)・cxN[i]は、乗算器31から供給される乗算信号である。
【0050】
スイッチ25は、論理積器32から供給される演算値に応じて、IMDCTN変換器22から供給されるオーディオ信号xNまたは加算器24から供給される変形狭帯域信号xN''を選択し、メモリ26に供給する。具体的には、スイッチ25は、論理積器32から供給される演算値が0である場合、IMDCTN変換器22から供給されるオーディオ信号xNをメモリ26に供給する。一方、論理積器32から供給される演算値が1である場合、スイッチ25は、加算器24から供給される変形狭帯域信号xN''をメモリ26に供給する。
【0051】
メモリ26は、記憶部として機能し、以下の式(7)または式(8)により、スイッチ25から供給される直近のNフレーム分のオーディオ信号xNまたは変形狭帯域信号xN''を、長期時間信号xP[i](0≦i≦N・L/M-1)として保持する。
【0052】
xP[i]=xP[i+L/M](0≦i≦(N-1)L/M−1)
xP[i+(N-1)L/M-1]=xN[i](0≦i≦L/M−1)
・・・(7)
【0053】
xP[i]=xP[i+L/M](0≦i≦(N-1)L/M−1)
xP[i+(N-1)L/M-1]=xN''[i](0≦i≦L/M−1)
・・・(8)
【0054】
V/UV検出器27は、メモリ26から長期時間信号xPを読み出す。V/UV検出器27は、判定部として機能し、長期時間信号xPを分析し、長期時間信号に対応する音声が、有声音(V)であるか、または、無声音(UV)であるかを検出する。V/UV検出器27は、長期時間信号に対応する音声が有声音であることを検出した場合、有声音フラグvuvFlagを1に設定し、無声音であることを検出した場合、有声音フラグvuvFlagを0に設定する。V/UV検出器27は、有声音フラグvuvFlagをピッチ・利得抽出器28、論理積器32、およびスイッチ35に供給する。
【0055】
ピッチ・利得抽出器28は、メモリ26から長期時間信号xPを読み出す。ピッチ・利得抽出器28は、ピッチ抽出部として機能し、V/UV検出器27から供給される有声音フラグvuvFlagに基づいて、長期時間信号xPからピッチ周期pitchおよびピッチ利得pch_gを抽出する。具体的には、有声音フラグvuvFlagが1である場合、ピッチ・利得抽出器28は、ピッチ周期pitchおよびピッチ利得pch_gを抽出し、有声音フラグvuvFlagが0である場合、ピッチ周期pitchおよびピッチ利得pch_gを0とする。ピッチ・利得抽出器28は、ピッチ周期pitchおよびピッチ利得pch_gを隠蔽信号生成器29に供給する。
【0056】
隠蔽信号生成器29とアップサンプリング器30は、第1の代替信号生成部として機能する。隠蔽信号生成器29は、メモリ26から長期時間信号xPを読み出す。隠蔽信号生成器29は、ピッチ・利得抽出器28から供給されるピッチ周期pitchおよびピッチ利得pch_gに基づいて、以下の式(9)により、長期時間信号xPから隠蔽信号cxN[i](0≦i≦L/M−1)を生成する。隠蔽信号生成器29は、隠蔽信号cxNをアップサンプリング器30と乗算器31に供給する。
【0057】
cxN=pch_g・xP[N・L/M−pitch+i](0≦i≦L/M−1)
・・・(9)
【0058】
アップサンプリング器30は、隠蔽信号生成器29から供給される隠蔽信号cxN[i](0≦i≦L/M−1)をM倍にアップサンプリングし、アップサンプリングされた隠蔽信号cxW[i](0≦i≦L-1)(第1の代替信号)をスイッチ35に供給する。
【0059】
乗算器31は、隠蔽信号生成器29から供給される隠蔽信号cxNに、エラー状態変数errStatusによって異なる補間係数hi(errStatus)(0≦i≦L/M−1)を乗算し、乗算信号を加算器24に供給する。
【0060】
論理積器32は、二値変換器20から供給される変数errBinaryと、V/UV検出器27から供給される有声音フラグvuvFlagの論理積を演算し、その結果得られる演算値をスイッチ18およびスイッチ25に供給する。即ち、論理積器32は、変数errBinaryまたは有声音フラグvuvFlagの少なくとも一方が0である場合、演算値として0をスイッチ18およびスイッチ25に供給し、変数errBinaryと有声音フラグvuvFlagの両方が1である場合、演算値として1をスイッチ18およびスイッチ25に供給する。
【0061】
メモリ33は、スイッチ15から供給されるスペクトル信号XWまたは変形スペクトル信号Xw’を記憶する。
【0062】
極性操作器34は、メモリ33に記憶されている、直近のエラー状態変数errStatusが0以下である場合のスペクトル信号XWを、スペクトル信号XW(P)[i](0≦i≦L-1)として読み出す。極性操作器34は、第2の代替信号生成部として機能し、以下の式(10)により、スペクトル信号XW(P)の極性を操作して、変形スペクトル信号Xw’[i](0≦i≦L-1)を生成する。そして、極性操作器34は、変形スペクトル信号Xw’(第2の代替信号)をスイッチ35に供給する。
【0063】
Xw’[i]=rnd(-1,1)XW(P)[i](0≦i≦L-1)
・・・(10)
【0064】
なお、式(10)において、rnd(-1,1)は、-1または1をランダムにとる関数である。変形スペクトル信号Xw’の演算は、式(10)の演算に限定されない。
【0065】
スイッチ35は、出力部として機能する。スイッチ35は、V/UV検出部27から供給される有声音フラグvuvFlagに基づいて、アップサンプリング器30からの隠蔽信号cxWを乗算器36に供給するか、または、極性操作器34からの変形スペクトル信号Xw’をスイッチ15に供給する。具体的には、スイッチ35は、有声音フラグvuvFlagが1である場合、隠蔽信号cxWを乗算器36に供給し、有声音フラグvuvFlagが0である場合、極性操作器34からの変形スペクトル信号Xw’をスイッチ15に供給する。
【0066】
乗算器36は、スイッチ35から供給される隠蔽信号cxWに、エラー状態変数errStatusによって異なる補間係数gi(errStatus)[i](0≦i≦L-1)を乗算し、乗算信号を加算器19に供給する。なお、補間係数gi(errStatus)は、エラー状態変数errStatusが0であるとき0である。
【0067】
[ピッチ利得の算出方法]
図3は、符号化データRXを伝送してくる符号化装置における符号化対象のオーディオ信号を示す図である。
【0068】
なお、図3において、横軸は、サンプル単位の時刻を表し、縦軸は、オーディオ信号の振幅を表す。このことは、後述する図4および図7乃至図9においても同様である。また、図3の例では、サンプリング周波数は48kHzである。
【0069】
図3に示すオーディオ信号が符号化された符号化データRXを復号する場合に、図3の区間(A)に対応するブロックで復号エラーが発生している場合、区間(A)だけでなく、逆MDCT変換において区間(A)とオーバーラップされる、区間(A)の直後のブロックに対応する区間(B)に対しても、復号エラーの隠蔽を行う必要がある。
【0070】
図4は、図3の区間(A)に対応するブロックに対して、メモリ26に記憶される長期時間信号xPの例を示す図である。
【0071】
なお、図4の例では、Mは4である。即ち、長期時間信号xPのサンプリング周波数は、12kHzである。
【0072】
図3の区間(A)に対応するブロックでエラーが検出され、有声音フラグvuvFlagが1である場合、ピッチ・利得抽出器28は、図4に示す長期時間信号xPの周期性からピッチ周期pitchを抽出する。
【0073】
また、ピッチ・利得抽出器28は、長期時間信号xPの直近サンプルから1ピッチ周期の区間である区間(D)と、区間(D)より前の1ピッチ周期の区間である区間(C)の振幅比を、以下の式(11)により、ピッチ利得pch_gとして求める。
【0074】
【数1】
【0075】
[復号装置の処理の説明]
図5および図6は、図1の復号装置10の復号処理を説明するフローチャートである。この復号処理は、例えば、外部の符号化装置から伝送路を介してフレーム単位の符号化データRXが伝送されてきたとき、開始される。
【0076】
ステップS11において、逆多重化器11は、フレーム単位の符号化データRXを受信して、その符号化データRXからビットストリームBSを逆多重化し、パラメータ解釈器12に供給する。
【0077】
ステップS12において、逆多重化器11は、符号化データRXが受信でき、かつ、逆多重化の際にエラーが発生していないかどうかを判定する。ステップS12で符号化データRXが受信でき、かつ、逆多重化の際にエラーが発生していないと判定された場合、逆多重化器11は、エラーフラグerrFlag0を0に設定し、エラー制御器13に供給する。
【0078】
そして、ステップS13において、パラメータ解釈器12は、逆多重化器11から供給されるビットストリームBSから符号化パラメータPARを分解し、逆量子化器14に供給する。
【0079】
ステップS14において、パラメータ解釈器12は、符号化パラメータPARを分解する際にエラーが発生していないかどうかを判定する。ステップS14で符号化パラメータPARを分解する際にエラーが発生していないと判定された場合、パラメータ解釈器12は、エラーフラグerrFlag1を0に設定してエラー制御器13に供給する。これにより、エラー制御器13は、上述した式(1)にしたがって、統合エラーフラグerrFlagを0に設定する。
【0080】
そして、ステップS15において、逆量子化器14は、パラメータ解釈器12から供給される符号化パラメータPARを逆量子化してスペクトル信号XWを復元し、スイッチ15に供給する。このとき、エラーフラグerrFlag0とエラーフラグerrFlag1は0であり、エラー状態変数errStatusは0以下であるため、スイッチ15は、スペクトル信号XWをIMDCTw変換器16、低域スペクトル抽出器21、およびメモリ33に供給する。
【0081】
ステップS16において、メモリ33は、スイッチ15から供給されるスペクトル信号XWを記憶する。
【0082】
ステップS17において、IMDCTw変換器16は、スイッチ15から供給されるスペクトル信号XWに対して逆MDCT変換を行い、時間信号であるオーディオ信号xwを復元する。そして、IMDCTw変換器16は、オーディオ信号xwを乗算器17とスイッチ18に供給する。
【0083】
ステップS18において、低域スペクトル抽出器21は、スイッチ15から供給されるスペクトル信号XWの低域成分を、低域スペクトル信号XWとして抽出する。そして、低域スペクトル抽出器21は、上述した式(4)により、抽出された低域スペクトル信号XWに所定の重み係数wiを掛けることで狭帯域スペクトル信号XNを生成し、IMDCTN変換器22に供給する。
【0084】
ステップS19において、IMDCTN変換器22は、低域スペクトル抽出部21から供給される狭帯域スペクトル信号XNに対して逆MDCT変換を行うことにより、ダウンサンプリングされた時間信号であるオーディオ信号xNを生成する。IMDCTN変換器22は、そのオーディオ信号xNを乗算器23およびスイッチ25に供給する。
【0085】
ステップS20において、エラー制御器13は、エラー状態変数errStatusが0であるかどうかを判定する。統合エラーフラグerrFlagが0であるので、ステップS20でエラー状態変数errStatusが0であると判定された場合、エラー制御器13は、エラー状態変数errStatusを0のままとし、スイッチ15と二値変換器20に供給する。
【0086】
これにより、二値変換器20は、変数errBinaryとして0を論理積器32に供給し、論理積器32は、演算値として0をスイッチ18およびスイッチ25に供給する。その結果、スイッチ25は、IMDCTN変換器22から供給されるオーディオ信号xNをメモリ26に供給する。また、スイッチ18は、IMDCTw変換器16から供給されるオーディオ信号xwを加算器19に供給する。
【0087】
このとき、補間係数gi(errStatus)は0であるため、加算器19は、オーディオ信号xwに0を加算し、オーディオ信号xwを出力オーディオ信号xoutとして出力する。その結果、J番目のフレームのビットストリームBSに対応する出力オーディオ信号xout[J・L+i]は、以下の式(11)で表される。
【0088】
xout[J・L+i]=xw[i](0≦i≦L-1)
(11)
【0089】
そして、図6のステップS21において、メモリ26は、スイッチ25からのオーディオ信号xNを用いて、上述した式(7)により、長期時間信号xPを更新し、処理を終了する。
【0090】
以上のように、統合エラーフラグerrFlagおよびエラー状態変数errStatusが0である場合、即ち、まだ1度も復号エラーが発生していないか、過去3フレーム以上復号エラーが発生しておらず、現在のフレームでも復号エラーが発生していない場合、符号化パラメータPARに対応するオーディオ信号xwがそのまま出力される。また、符号化パラメータPARに対応するダウンサンプリングされたオーディオ信号xwが、メモリ26に保持される。
【0091】
一方、ステップS20でエラー状態変数errStatusが0ではないと判定された場合、ステップS22において、エラー制御器13は、エラー状態変数errStatusが0より大きいかどうかを判定する。
【0092】
統合エラーフラグerrFlagが0であるので、ステップS22でエラー状態変数errStatusが0より大きいと判定された場合、ステップS23において、エラー制御器13は、エラー状態変数errStatusを-1に設定し、スイッチ15と二値変換器20に供給する。そして、処理はステップS27に進む。
【0093】
また、ステップS22でエラー状態変数errStatusが0より大きくはないと判定された場合、即ちエラー状態変数errStatusが0より小さい場合、ステップS24において、エラー制御器13は、エラー状態変数errStatusが-1であるかどうかを判定する。
【0094】
統合エラーフラグerrFlagが0であるので、ステップS24でエラー状態変数errStatusが-1であると判定した場合、ステップS25において、エラー制御器13は、エラー状態変数errStatusを-2に設定し、スイッチ15と二値変換器20に供給する。そして、処理はステップS27に進む。
【0095】
ステップS24でエラー状態変数errStatusが-1ではないと判定された場合、即ちエラー状態変数errStatusが-2である場合、処理はステップS26に進む。統合エラーフラグerrFlagが0であるので、ステップS26において、エラー制御器13は、エラー状態変数errStatusを0に設定し、スイッチ15と二値変換器20に供給する。そして、処理はステップS27に進む。
【0096】
ステップS27において、スイッチ35は、V/UV検出器27から供給される有声音フラグvuvFlagが1であるかどうかを判定する。ステップS27で有声音フラグvuvFlagが1であると判定された場合、スイッチ35は、アップサンプリング器30と乗算器36を接続し、論理積器32は、演算値として1をスイッチ18およびスイッチ25に供給する。
【0097】
これにより、スイッチ18は、乗算器17により、上述した式(2)を用いて、IMDCTw変換器16からのオーディオ信号xwに補間係数gi(errStatus)’が乗算された結果得られるオーディオ信号xw'を加算器19に供給する。
【0098】
そして、ステップS28において、隠蔽信号生成器29は、メモリ26から長期時間信号xPを読み出し、ピッチ・利得抽出器28からのピッチ周期pitchおよびピッチ利得pch_gに基づいて、上述した式(9)により、長期時間信号xPから隠蔽信号cxNを生成する。隠蔽信号生成器29は、隠蔽信号cxNをアップサンプリング器30と乗算器31に供給する。
【0099】
ステップS29において、アップサンプリング器30は、隠蔽信号生成器29から供給される隠蔽信号cxNをM倍にアップサンプリングし、アップサンプリングされた隠蔽信号cxWをスイッチ35に供給する。ここで、スイッチ35は、アップサンプリング器30と乗算器36を接続しているので、アップサンプリング器30からの隠蔽信号cxWはスイッチ35を介して乗算器36に供給される。
【0100】
ステップS30において、乗算器36は、スイッチ35から供給される隠蔽信号cxWに補間係数gi(errStatus)を乗算する。そして、乗算器36は、乗算の結果得られる乗算信号を加算器19に供給する。
【0101】
ステップS31において、加算器19は、上述した式(3)に示すように、スイッチ18から供給されるオーディオ信号xw'と乗算器36から供給される乗算信号を加算し、その結果得られる出力オーディオ信号xoutを出力する。
【0102】
ステップS32において、乗算器31は、隠蔽信号生成器29から供給される隠蔽信号cxNに補間係数hi(errStatus)を乗算し、乗算信号を加算器24に供給する。
【0103】
ステップS33において、加算器24は、上述した式(6)により、乗算器23から供給される乗算信号と、乗算器31から供給される乗算信号を加算し、その結果得られる変形狭帯域信号xN''をスイッチ25に供給する。論理積器32から供給される演算値が1であるため、スイッチ25は、加算器24から供給される変形狭帯域信号xN''[0,…,L/M-1]をメモリ26に供給する。
【0104】
そして、処理はステップS21に進み、メモリ26は、スイッチ25から供給される変形狭帯域信号xN''を用いて、上述した式(8)により長期時間信号xPを更新し、処理を終了する。
【0105】
以上のように、統合エラーフラグerrFlagが0であり、エラー状態変数errStatusが0以外である場合、即ち、現在のフレームまで連続する復号エラーが発生していないフレームが3フレーム未満であり、現在のフレームにおいても復号エラーが発生していない場合、かつ、有声音フラグvuvFlagが1である場合、符号化パラメータPARに対応するオーディオ信号xw'と、アップサンプリングされた隠蔽信号cxWに対応する乗算信号gi(errStatus)・cxWとが加算されて、出力される。また、符号化パラメータPARに対応するダウンサンプリングされた乗算信号hi(errStatus)'・xNと、隠蔽信号cxNに対応する乗算信号hi(errStatus)・cxNの加算結果である変形狭帯域信号xN''が、メモリ26に保持される。即ち、ダウンサンプリングされた出力オーディオ信号xoutに対応する変形狭帯域信号xN''がメモリ26に保持される。
【0106】
一方、ステップS27でV/UV検出器27から供給される有声音フラグvuvFlagが1ではないと判定された場合、即ち有声音フラグvuvFlagが0である場合、スイッチ35は、極性操作器34とスイッチ15を接続する。また、論理積器32は、二値変換器20から供給される変数errBinaryが1であり、有声音フラグvuvFlagが0であるので、演算値として0をスイッチ18およびスイッチ25に供給する。
【0107】
これにより、スイッチ18は、IMDCTw変換器16から供給されるオーディオ信号xwを加算器19に供給する。ここで、乗算器36は、アップサンプリング器30に接続されていないので、加算器19に何の信号も供給しない。従って、加算器19は、スイッチ18から供給されるオーディオ信号xwを、そのまま出力オーディオ信号xoutとして出力する。また、スイッチ25は、IMDCTN変換器22から供給されるオーディオ信号xNをメモリ26に供給する。
【0108】
そして、ステップS21において、メモリ26は、スイッチ25からのオーディオ信号xNを用いて、上述した式(7)により、長期時間信号xPとして保持している直近のNフレーム分のオーディオ信号xNを更新し、処理を終了する。
【0109】
以上のように、統合エラーフラグerrFlagが0であり、エラー状態変数errStatusが0以外である場合、即ち、現在のフレームまで連続する復号エラーが発生していないフレームが3フレーム未満であり、現在のフレームにおいても復号エラーが発生していない場合、かつ、有声音フラグvuvFlagが0である場合、符号化パラメータPARに対応するオーディオ信号xwがそのまま出力される。また、符号化パラメータPARに対応するダウンサンプリングされたオーディオ信号xNが、メモリ26に保持される。
【0110】
一方、ステップS12で符号化データRXが受信できなかったか、または、逆多重化の際にエラーが発生したと判定された場合、逆多重化器11は、エラーフラグerrFlag0を0に設定してエラー制御器13に供給する。そして、エラー制御器13は、上述した式(1)により、統合エラーフラグerrFlagを1に設定し、処理をステップS34に進める。
【0111】
また、ステップS14で符号化パラメータPARを分解する際にエラーが発生したと判定された場合、パラメータ解釈器12は、エラーフラグerrFlag1を0に設定してエラー制御器13に供給する。そして、エラー制御器13は、上述した式(1)により、統合エラーフラグerrFlagを1に設定し、処理をステップS34に進める。
【0112】
ステップS34において、エラー制御器13は、エラー状態変数errStatusが0以下であるかどうかを判定する。ステップS34でエラー状態変数errStatusが0以下であると判定された場合、処理はステップS35に進む。
【0113】
統合エラーフラグerrFlagが1であるので、ステップ35において、エラー制御器13は、エラー状態変数errStatusを1に設定し、スイッチ15と二値変換器20に供給する。これにより、二値変換器20は、変数errBinaryとして1を論理積器32に供給する。
【0114】
ステップS36において、V/UV検出器27は、メモリ26から長期時間信号xPを読み出し、長期時間信号xPを分析して、長期時間信号xPに対応する音声が、有声音(V)であるか、または、無声音(UV)であるかを検出する。
【0115】
ステップS37において、V/UV検出器27は、長期時間信号xPに対応する音声が有声音であるかどうかを判定する。ステップS37で有声音であると判定された場合、ステップS38において、V/UV検出器27は、有声音フラグvuvFlagを1に設定し、ピッチ・利得抽出器28、論理積器32、およびスイッチ35に供給する。
【0116】
これにより、論理積器32は、二値変換器20からの変数errBinaryとしての1と、V/UV検出器27からの有声音フラグvuvFlagとしての1との論理積の演算値として1を、スイッチ18およびスイッチ25に供給する。その結果、スイッチ18は、乗算器17と加算器19を接続し、スイッチ25は、加算器24とメモリ26を接続する。また、有声音フラグvuvFlagが1であるので、スイッチ35は、アップサンプリング器30と乗算器36を接続する。
【0117】
ステップS39において、ピッチ・利得抽出器28は、メモリ26から長期時間信号xPを読み出し、長期時間信号xPからピッチ周期pitchおよびピッチ利得pch_gを抽出する。そして、ピッチ・利得抽出器28は、ピッチ周期pitchおよびピッチ利得pch_gを隠蔽信号生成器29に供給する。
【0118】
ステップS40において、隠蔽信号生成器29は、メモリ26から長期時間信号xPを読み出し、ピッチ・利得抽出器28からのピッチ周期pitchおよびピッチ利得pch_gに基づいて、上述した式(9)により、長期時間信号xPから隠蔽信号cxNを生成する。隠蔽信号生成器29は、隠蔽信号cxNをアップサンプリング器30と乗算器31に供給する。
【0119】
ステップS41において、アップサンプリング器30は、隠蔽信号生成器29から供給される隠蔽信号cxNをM倍にアップサンプリングし、アップサンプリングされた隠蔽信号cxWをスイッチ35に供給する。
【0120】
ステップS42において、スイッチ15は、エラー制御器13から供給されるエラー状態変数errStatusに基づいて、スイッチ35とIMDCTw変換器16を接続することにより、スペクトル信号XWをクリアする。即ち、スイッチ15は、スイッチ35とIMDCTw変換器16を接続するが、上述したようにスイッチ35は、アップサンプリング器30と乗算器36を接続し、極性操作器34とスイッチ15の接続を切断する。従って、スイッチ15は、変形スペクトル信号Xw’として0信号を、IMDCTw変換器16および低域スペクトル抽出器21に出力する。
【0121】
これにより、低域スペクトル抽出器21は、変形スペクトル信号Xw’としての0信号の低域成分である0信号を、低域スペクトル信号XW(0≦i≦L/M-1)として抽出する。そして、低域スペクトル抽出器21は、上述した式(4)により、抽出された低域スペクトル信号XWに所定の重み係数wiを掛けることで狭帯域スペクトル信号XN[i](0≦i≦L/M-1)として0信号を生成し、IMDCTN変換器22に供給する。
【0122】
ステップS43において、IMDCTw変換器16は、スイッチ15から供給される変形スペクトル信号Xw’としての0信号に対して逆MDCT変換を行い、オーディオ信号xwを復元する。IMDCTw変換器16は、復元されたオーディオ信号xwを乗算器17に供給するとともに、スイッチ18に供給する。
【0123】
ステップS44において、IMDCTN変換器22は、低域スペクトル抽出部21から供給される狭帯域スペクトル信号XNとしての0信号に対して逆MDCT変換を行うことにより、オーディオ信号xNを生成する。IMDCTN変換器22は、オーディオ信号xNを乗算器23およびスイッチ25に供給する。
【0124】
そして、処理は図6のステップS30に進み、以降の処理が繰り返される。その結果、アップサンプリングされた隠蔽信号cxWに補間係数gi(errStatus)を乗算した結果得られる乗算信号gi(errStatus)・cxWが、乗算器17から出力されるオーディオ信号xw'に加算され、出力オーディオ信号xoutとして出力される。また、隠蔽信号cxNに補間係数hi(errStatus)を乗算した結果得られる乗算信号が、乗算器23から出力される乗算信号xN'に加算されて、変形狭帯域信号xN''としてメモリ26に供給され、長期時間信号xPが更新される。
【0125】
以上のように、統合エラーフラグerrFlagが1であり、エラー状態変数errStatusが0以下である場合、即ち、直前のフレームで復号エラーが発生しておらず、現在のフレームで復号エラーが発生した場合、かつ、有声音フラグvuvFlagが1である場合、アップサンプリングされた隠蔽信号cxWに対応する乗算信号gi(errStatus)・cxWにオーディオ信号xw'が加算されて出力される。また、隠蔽信号cxNに対応する乗算信号hi(errStatus)・cxNが乗算信号xN'と加算され、変形狭帯域信号xN''としてメモリ26に保持される。即ち、ダウンサンプリングされた出力オーディオ信号xoutに対応する変形狭帯域信号xN''がメモリ26に保持される。
【0126】
一方、ステップS37で無声音であると判定された場合、ステップS45において、V/UV検出器27は、有声音フラグvuvFlagを0に設定し、ピッチ・利得抽出器28、論理積器32、およびスイッチ35に供給する。
【0127】
これにより、論理積器32は、二値変換器20からの変数errBinaryとしての1と、V/UV検出器27からの有声音フラグvuvFlagとしての0との論理積の演算値として0を、スイッチ18およびスイッチ25に供給する。その結果、スイッチ18は、IMDCTW16と加算器19を接続し、スイッチ25は、IMDCTN22とメモリ26を接続する。また、有声音フラグvuvFlagが0であるので、スイッチ35は、極性操作器34とスイッチ15とを接続する。
【0128】
ステップS46において、極性操作器34は、メモリ33に記憶されている、直近のエラー状態変数errStatusが0である場合のフレームのスペクトル信号XWを、スペクトル信号XW(P)として読み出し、上述した式(10)により、スペクトル信号XW(P)の極性を操作する。極性操作器34は、その結果得られる変形スペクトル信号Xw’をスイッチ35に供給する。上述したように、スイッチ35は、極性操作器34とスイッチ15を接続するので、変形スペクトル信号Xw’は、スイッチ15に供給される。そして、エラー状態変数errStatusが1であるので、スイッチ15は、スイッチ35から供給される変形スペクトル信号Xw’をIMDCTW変換器16に供給する。
【0129】
ステップS47において、IMDCTW変換器16は、変形スペクトル信号Xw’に対して逆MDCT変換を行い、オーディオ信号xwを復元する。IMDCTw変換器16は、復元されたオーディオ信号xwを乗算器17に供給するとともに、スイッチ18に供給する。そして、上述したように、スイッチ18は、IMDCTW変換器16と加算器19を接続するので、オーディオ信号xwは加算器19に供給される。また、上述したように、スイッチ35は、極性操作器34とスイッチ15を接続し、アップサンプリング器30と乗算器36の接続を切断するので、加算器19には乗算器36からゼロ信号が供給される。従って、加算器19は、オーディオ信号xwをそのまま出力オーディオ信号xoutとして出力する。
【0130】
ステップS48において、低域スペクトル抽出器21は、スイッチ15から供給される変形スペクトル信号Xw’の低域成分を、低域スペクトル信号XWとして抽出する。そして、低域スペクトル抽出器21は、上述した式(4)により、抽出された低域スペクトル信号XWに所定の重み係数wiを掛けることで狭帯域スペクトル信号XNを生成し、IMDCTN変換器22に供給する。
【0131】
ステップS49において、IMDCTN変換器22は、低域スペクトル抽出部21から供給される狭帯域スペクトル信号XNに対して逆MDCT変換を行うことにより、ダウンサンプリングされたオーディオ信号xNを生成する。IMDCTN変換器22は、そのオーディオ信号xNを乗算器23およびスイッチ25に供給する。上述したように、スイッチ25は、IMDCTN変換器22とメモリ26を接続するので、メモリ26には、オーディオ信号xNがそのまま供給される。
【0132】
そして、処理は、図6のステップS21に進み、上述したように、メモリ26は、オーディオ信号xNを用いて、上述した式(7)により長期時間信号xPを更新し、処理を終了する。
【0133】
以上のように、統合エラーフラグerrFlagが1であり、エラー状態変数errStatusが0以下である場合、即ち、直前のフレームで復号エラーが発生しておらず、現在のフレームで復号エラーが発生した場合、かつ、有声音フラグvuvFlagが0である場合、直近の復号エラーが発生していないフレームのスペクトル信号XWの極性を操作して逆MDCT変換した結果得られるオーディオ信号xwが出力される。これにより、違和感の少ない出力オーディオ信号xoutを出力することができる。また、前の復号エラーが発生していないフレームのスペクトル信号XWの極性を操作した後、低域成分を抽出して逆MDCT変換した結果得られるダウンサンプリングされたオーディオ信号xNが、メモリ26に保持される。
【0134】
一方、ステップS34でエラー状態変数errStatusが0以下ではないと判定された場合、ステップS50において、エラー制御器13は、エラー状態変数errStatusが最大値Sであるかどうかを判定する。
【0135】
ステップS50でエラー状態変数errStatusが最大値Sではないと判定した場合、ステップS51において、エラー制御器13は、エラー状態変数errStatusを1だけインクリメントし、スイッチ15と二値変換器20に供給する。そして、処理はステップS52に進む。
【0136】
一方、ステップS50でエラー状態変数errStatusが最大値Sであると判定した場合、エラー制御器13は、エラー状態変数errStatusを最大値Sのままにし、スイッチ15と二値変換器20に供給する。そして、処理はステップS52に進む。
【0137】
ステップS52において、エラー制御器13は、有声音フラグvuvFlagが1であるかどうかを判定し、有声音フラグvuvFlagが1であると判定した場合、処理はステップS40に進む。
【0138】
即ち、統合エラーフラグerrFlagが1であり、エラー状態変数errStatusが0より大きい場合、即ち、直前のフレームおよび現在のフレームにおいて連続して復号エラーが発生した場合、かつ、有声音フラグvuvFlagが1である場合、エラー状態変数errStatusが0以下である場合と同様に、アップサンプリングされた隠蔽信号cxWに対応する乗算信号gi(errStatus)・cxWにオーディオ信号xw'が加算されて出力される。また、隠蔽信号cxNに対応する乗算信号hi(errStatus)・cxNが乗算信号xN'と加算され、変形狭帯域信号xN''としてメモリ26に保持される。
【0139】
一方、ステップS52で有声音フラグvuvFlagが1ではないと判定された場合、処理はステップS46に進む。
【0140】
即ち、統合エラーフラグerrFlagが1であり、エラー状態変数errStatusが0より大きい場合、即ち、直前のフレームおよび現在のフレームにおいて連続して復号エラーが発生した場合、かつ、有声音フラグvuvFlagが0である場合、エラー状態変数errStatusが0以下である場合と同様に、直近の復号エラーが発生していないフレームのスペクトル信号XWの極性を操作して逆MDCT変換した結果得られるオーディオ信号xwが出力される。また、前の復号エラーが発生していないフレームのスペクトル信号XWの極性を操作した後、低域成分を抽出して逆MDCT変換した結果得られるダウンサンプリングされたオーディオ信号xNが、メモリ26に保持される。
【0141】
なお、図5および図6の復号処理では、説明の便宜上、スイッチ15,18,25,35により選択されない信号の生成に関する処理については適宜省略している。本実施の形態では、スイッチ15,18,25,および35により選択される信号だけでなく、選択されない信号も生成されるようにしているが、スイッチ15,18,25,および35により選択される信号だけが生成されるようにしてもよい。
【0142】
[復号結果の例]
図7は、IMDCTw変換器16により復元されるオーディオ信号xwの例を示す図である。
【0143】
なお、図7の例では、サンプル(E)からサンプル(F)までの区間が、統合エラーフラグerrFlagが1であり、エラー状態変数errStatusが0以下である区間である。また、図7の例では、有声音フラグが1に設定されている。
【0144】
この場合、図7に示すように、サンプル(E)からサンプル(F)までの区間のスペクトル信号XWは、スイッチ18によりクリアされるので、IMDCTw変換器16により復元されるオーディオ信号xwは略0信号である。
【0145】
図8は、隠蔽信号生成器29により生成されるサンプル(E)からサンプル(F)までの区間に対応する隠蔽信号の例を示す図である。
【0146】
図8に示すように、隠蔽信号生成器29は、長期時間信号xPから、オーディオ信号xwのサンプリング周波数に比べて1/M(図8の例ではM=4)倍にダウンサンプリングされた信号を隠蔽信号cxNとして生成する。そして、アップサンプリング器30は、隠蔽信号cxNのサンプリング周波数をM倍にアップサンプリングし、アップサンプリングされた隠蔽信号cxWのサンプリング周波数をオーディオ信号xwの周波数と同一にする。
【0147】
また、図8に示すように、統合エラーフラグerrFlagが1である、サンプル(E)からサンプル(F)までの区間に対応するサンプル(E)’からサンプル(F)’までの区間以降も、統合エラーフラグerrFlagとして1が3回以上連続するまで、隠蔽信号cxNが生成される。
【0148】
図9は、図7のオーディオ信号xwを図8の隠蔽信号cxNを用いて隠蔽した結果得られる出力オーディオ信号xoutの例を示す図である。
【0149】
図9に示すように、統合エラーフラグerrFlagおよびエラー状態変数errStatusが0である、サンプル(E)までの出力オーディオ信号xoutは、図7のオーディオ信号xwそのものとなる。また、サンプル(E)からサンプル(F)までの区間の出力オーディオ信号xoutは、アップサンプリングされた図8のサンプル(E)’からサンプル(F)’までの区間の隠蔽信号cxWに対応する乗算信号gi(errStatus)・cxWとなる。
【0150】
さらに、サンプル(F)以降の、統合エラーフラグerrFlagとして1が3回以上連続するまでの区間の出力オーディオ信号xoutは、図7のオーディオ信号xwに対応するオーディオ信号xw'と、アップサンプリングされた図8のサンプル(F)'以降の隠蔽信号cxWに対応する乗算信号gi(errStatus)・cxWとが加算された信号となる。即ち、出力オーディオ信号xoutは、サンプル(F)において、アップサンプリングされた隠蔽信号cxWに対応する乗算信号gi(errStatus)・cxWとオーディオ信号xwが滑らかに接続されるように、クロスフェードしている。
【0151】
以上のように、復号装置10は、スペクトル信号XWまたは変形スペクトル信号Xw’の一部である低域成分を逆MDCT変換することにより、オーディオ信号xwをダウンサンプリングし、そのオーディオ信号xwに基づいて隠蔽信号を生成する。従って、ダウンサンプリングに必要な演算量が少なくて済む。
【0152】
また、復号装置10は、ダウンサンプリングされたオーディオ信号xNまたは変形狭帯域信号xN''を、隠蔽信号を生成するためにメモリ26に保持するので、隠蔽信号を生成するために必要なメモリ26のサイズを比較的小さくすることができる。
【0153】
<第2実施の形態>
[復号装置の第2実施の形態の構成例]
図10は、本技術を適用した復号装置の第2実施の形態の構成例を示すブロック図である。
【0154】
図10に示す構成のうち、図1の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【0155】
図10の復号装置50の構成は、主に、逆多重化器11とエラー制御器13の代わりに、逆多重化器51、エラーカウンタ制御器52、メモリ53、スイッチ54、およびエラー制御器55が設けられている点が図1の構成と異なる。
【0156】
復号装置50には、所定のフレームのオーディオ信号の符号化パラメータPARのビットストリームBSと、そのフレームより後のNフレーム分のオーディオ信号の符号化パラメータPARのビットストリームである冗長ビットストリームBS(r)からなる符号化データRXを復号する。
【0157】
具体的には、復号装置50の逆多重化器51は、受信部として機能し、外部の符号化装置から伝送路を介して伝送されてくる符号化データRXを受信する。逆多重化器51は、受信された符号化データRXからビットストリームBSと冗長ビットストリームBS(r)を逆多重化する。また、逆多重化器51は、符号化データRXが受信でき、かつ、逆多重化の際にエラーが発生していないかどうかを判定する。
【0158】
逆多重化器51は、符号化データRXが受信できなかったか、または、逆多重化の際にエラーが発生したと判定した場合、エラーフラグerrFlag0を1に設定する。一方、逆多重化器51は、符号化データRXが受信でき、かつ、逆多重化の際にエラーが発生していないと判定した場合、エラーフラグerrFlag0を0に設定する。そして、逆多重化器51は、逆多重化の結果得られるビットストリームBSをスイッチ54に供給し、冗長ビットストリームBS(r)をメモリ53に供給する。逆多重化器51は、エラーフラグerrFlag0をエラーカウンタ制御器52に供給する。
【0159】
エラーカウンタ制御器52は、逆多重化器51から供給されるエラーフラグerrFlag0とパラメータ解釈器12から供給されるエラーフラグerrFlag1に基づいて、エラーカウンタCNTを設定する。具体的には、エラーカウンタ制御器52は、エラーフラグerrFlag0およびエラーフラグerrFlag1が0である場合、エラーカウンタCNTを0に設定する。一方、エラーカウンタ制御器52は、エラーフラグerrFlag0またはエラーフラグerrFlag1が1である場合、エラーカウンタCNTを1だけインクリメントする。エラーカウンタ制御器52は、エラーカウンタCNTを、メモリ53およびスイッチ54に供給する。
【0160】
また、エラーカウンタ制御器52は、エラーカウンタCNTがN以下である場合、統合エラーフラグerrFlagを0に設定し、エラーカウンタCNTがNより大きい場合、統合エラーフラグerrFlagを1に設定する。エラーカウンタ制御器52は、統合エラーフラグerrFlagをエラー制御器55に供給する。
【0161】
メモリ53は、エラーカウンタ制御器52から供給されるエラーカウンタCNTが0である場合、逆多重化器51から供給される冗長ビットストリームBS(r)を記憶する。また、メモリ53は、エラーカウンタCNTが1以上N以下である場合、記憶している現在の復号対象のフレームよりCNTフレーム前のフレームのビットストリームBSに対応する冗長ビットストリームBS(r)のうちの、現在の復号対象のフレームの冗長ビットストリームBS(r)(-cnt)を読み出す。メモリ53は、読み出された冗長ビットストリームBS(r)(-cnt)をスイッチ54に供給する。
【0162】
スイッチ54は、エラーカウンタ制御器52から供給されるエラーカウンタCNTに基づいて、逆多重化器51から供給されるビットストリームBSまたはメモリ53から供給される冗長ビットストリームBS(r)(-cnt)を選択し、パラメータ解釈器12に供給する。
【0163】
具体的には、スイッチ54は、エラーカウンタCNTが0である場合、ビットストリームBSをパラメータ解釈器12に供給し、エラーカウンタCNTが0ではない場合、冗長ビットストリームBS(r)(-cnt)をパラメータ解釈器12に供給する。
【0164】
エラー制御器55は、エラーカウンタ制御器52から供給される統合エラーフラグerrFlagに基づいて、図1のエラー制御器13と同様に、エラー状態変数errStatusを設定し、エラー状態変数errStatusをスイッチ15と二値変換器20に供給する。
【0165】
[符号化データとオーディオ信号の説明]
図11は、符号化装置から伝送されてくる符号化データRXと、その符号化データの復号結果であるオーディオ信号を説明する図である。
【0166】
図11の例では、Nは2であり、復号装置50に伝送されてくる各フレームの符号化データRXは、そのフレームのビットストリームBSと、そのフレームより1フレーム後および2フレーム後の冗長ビットストリームBS(r)により構成される。例えば、n-1フレーム目の符号化データRXは、n-1フレーム目のビットストリームBSであるData[n-1]、n-1フレームより1フレーム後のnフレーム目の冗長ビットストリームBS(r)であるrData[n]、および2フレーム後のn+1フレーム目の冗長ビットストリームBS(r)であるrData[n+1]からなる。
【0167】
この場合、例えば、nフレーム目以降のフレームで復号エラーが発生すると、nフレーム目の復号時にエラーカウンタCNTは1となり、復号エラーが発生していないn-1フレーム目のData[n-1]とともに符号化データRXに含まれるnフレーム目のrData[n]が、メモリ53から読み出される。そして、nフレーム目の復号結果は、読み出されたnフレーム目のrData[n]を復号することにより生成される。
【0168】
また、n+1フレーム目の復号時には、エラーカウンタCNTは2となり、エラーが発生していないn-1フレーム目のData[n-1]とともに符号化データRXに含まれるn+1フレーム目のrData[n+1]が、メモリ53から読み出される。そして、n+1フレーム目の復号結果は、読み出されたn+1フレーム目のrData[n+1]を復号することにより生成される。
【0169】
一方、n+2フレーム目の復号時には、エラーカウンタCNTは3となり、Nである2より大きい。即ち、n+2フレーム目の冗長ビットストリームBS(r)は、n-1フレーム目の符号化データRXに含まれていない。従って、n+2フレーム目の復号結果は、隠蔽信号cxNなどを用いて生成される。
【0170】
[復号装置の処理の説明]
図10の復号装置50の復号処理は、図5のステップS11乃至S14の処理の代わりに復号前処理が行われる点を除いて図5および図6の復号処理と同様であるので、以下では復号前処理についてのみ説明する。
【0171】
図12は、図10の復号装置50による復号前処理を説明するフローチャートである。この復号前処理は、例えば、外部の符号化装置から伝送路を介してフレーム単位の符号化データRXが伝送されてきたとき、開始される。
【0172】
図12のステップS70において、復号装置50の逆多重化器51は、外部の符号化装置から伝送路を介して伝送されてくる符号化データRXを受信し、その符号化データRXからビットストリームBSと冗長ビットストリームBS(r)を逆多重化する。そして、逆多重化器51は、逆多重化の結果得られるビットストリームBSをスイッチ54に供給し、冗長ビットストリームBS(r)をメモリ53に供給する。
【0173】
ステップS71において、逆多重化器51は、符号化データRXが受信でき、かつ、逆多重化の際にエラーが発生していないかどうかを判定する。
【0174】
ステップS71で符号化データRXが受信でき、かつ、逆多重化の際にエラーが発生していないと判定した場合、逆多重化器51は、エラーフラグerrFlag0を0に設定してエラーカウンタ制御器52に供給する。
【0175】
そして、ステップS72において、エラーカウンタ制御器52は、エラーカウンタCNTを0に設定し、スイッチ54に供給する。スイッチ54は、逆多重化器51から供給されるビットストリームBSをパラメータ解釈器12に供給する。
【0176】
ステップS73において、パラメータ解釈器12は、スイッチ54から供給されるビットストリームBSから符号化パラメータPARを分解し、逆量子化器14に供給する。
【0177】
ステップS74において、パラメータ解釈器12は、符号化パラメータPARを分解する際にエラーが発生していないかどうかを判定する。ステップS74でエラーが発生していないと判定された場合、パラメータ解釈器12は、エラーフラグerrFlag1を0に設定し、エラーカウンタ制御器52に供給する。エラーカウンタ制御器52は、エラーカウンタCNTをステップS72の処理前の値に変更する。
【0178】
そして、ステップS75において、メモリ53は、逆多重化器51から供給される冗長ビットストリームBS(r)を記憶し、処理をステップS80に進める。
【0179】
一方、ステップS71で符号化データRXが受信できなかったか、または、逆多重化の際にエラーが発生したと判定された場合、逆多重化器51は、エラーフラグerrFlag0を1に設定する。そして、逆多重化器51は、そのエラーフラグerrFlag0をエラーカウンタ制御器52に供給し、処理をステップS76に進める。
【0180】
また、ステップS74でエラーが発生したと判定された場合、パラメータ解釈器12は、エラーフラグerrFlag1を1に設定し、そのエラーフラグerrFlag1をエラーカウンタ制御器52に供給する。そして、処理はステップS76に進む。
【0181】
ステップS76において、エラー制御器55は、エラーカウンタCNTを1だけインクリメントし、メモリ53およびスイッチ54に供給する。
【0182】
ステップS77において、メモリ53は、エラーカウンタCNTがN以下であるかどうかを判定する。ステップS77でエラーカウンタCNTがN以下であると判定された場合、処理はステップS78に進む。
【0183】
ステップS78において、メモリ53は、記憶している現在の復号対象のフレームよりCNTフレーム前のフレームのビットストリームBSに対応する冗長ビットストリームBS(r)のうちの、現在の復号対象のフレームの冗長ビットストリームBS(r)(-cnt)を読み出す。メモリ53は、読み出された冗長ビットストリームBS(r)(-cnt)をスイッチ54に供給する。そして、スイッチ54は、冗長ビットストリームBS(r)(-cnt)を、ビットストリームBSとしてパラメータ解釈器12に供給する。
【0184】
ステップS79において、パラメータ解釈器12は、スイッチ54から供給されるビットストリームBSから符号化パラメータPARを分解し、逆量子化器14に供給して、処理をステップS80に進める。
【0185】
ステップS80において、エラーカウンタ制御器52は、統合エラーフラグerrFlagを0に設定し、エラー制御器55に供給して、処理は終了する。この後、図5のステップS15以降の処理が行われる。
【0186】
一方、ステップS77でエラーカウンタCNTがNより大きいと判定された場合、処理はステップS81に進む。ステップS81において、エラーカウンタ制御器52は、統合エラーフラグerrFlagを1に設定し、エラー制御器55に供給する。そして、処理は終了し、この後、図5のステップS34以降の処理が行われる。
【0187】
なお、本実施の形態におけるメモリは、リングバッファ構造を有するようにしてもよい。この場合、更新時の演算量を削減することができる。
【0188】
[本技術を適用したコンピュータの説明]
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【0189】
そこで、図13は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【0190】
プログラムは、コンピュータに内蔵されている記録媒体としての記憶部208やROM(Read Only Memory)202に予め記録しておくことができる。
【0191】
あるいはまた、プログラムは、リムーバブルメディア211に格納(記録)しておくことができる。このようなリムーバブルメディア211は、いわゆるパッケージソフトウエアとして提供することができる。ここで、リムーバブルメディア211としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。
【0192】
なお、プログラムは、上述したようなリムーバブルメディア211からドライブ210を介してコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵する記憶部208にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。
【0193】
コンピュータは、CPU(Central Processing Unit)201を内蔵しており、CPU201には、バス204を介して、入出力インタフェース205が接続されている。
【0194】
CPU201は、入出力インタフェース205を介して、ユーザによって、入力部206が操作等されることにより指令が入力されると、それに従って、ROM202に格納されているプログラムを実行する。あるいは、CPU201は、記憶部208に格納されたプログラムを、RAM(Random Access Memory)203にロードして実行する。
【0195】
これにより、CPU201は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU201は、その処理結果を、必要に応じて、例えば、入出力インタフェース205を介して、出力部207から出力、あるいは、通信部209から送信、さらには、記憶部208に記録等させる。
【0196】
なお、入力部206は、キーボードや、マウス、マイク等で構成される。また、出力部207は、LCD(Liquid Crystal Display)やスピーカ等で構成される。
【0197】
ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。
【0198】
また、プログラムは、1のコンピュータ(プロセッサ)により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【0199】
本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【0200】
なお、本技術は、以下のような構成もとることができる。
(1)
フレーム単位のオーディオ信号のスペクトルの一部を部分スペクトルとして抽出するスペクトル抽出部と、
前記スペクトル抽出部により抽出された前記部分スペクトルを逆直交変換する部分逆直交変換部と、
前記部分逆直交変換部による逆直交変換の結果得られる部分オーディオ信号に基づいて、前記オーディオ信号の第1の代替信号を生成する第1の代替信号生成部と
を備える信号処理装置。
(2)
前記第1の代替信号生成部は、複数フレームの前記部分オーディオ信号に基づいて前記第1の代替信号を生成する
前記(1)に記載の信号処理装置。
(3)
前記部分オーディオ信号に基づいて、前記オーディオ信号に対応する音声が有声音であるかどうかを判定する判定部と、
前記判定部により前記オーディオ信号に対応する音声が有声音であると判定された場合、前記部分オーディオ信号に基づいて、前記オーディオ信号のピッチ周期とピッチ利得を抽出するピッチ抽出部と
をさらに備え、
前記第1の代替信号生成部は、前記ピッチ抽出部により抽出された前記ピッチ周期と前記ピッチ利得に基づいて、前記部分オーディオ信号から前記第1の代替信号を生成する
前記(1)または(2)に記載の信号処理装置。
(4)
前記第1の代替信号生成部は、所定のフレームより前記ピッチ周期前の1フレーム分の前記部分オーディオ信号と前記ピッチ利得とに基づいて、前記所定のフレームの前記第1の代替信号を生成する
前記(3)に記載の信号処理装置。
(5)
前記スペクトル抽出部は、前記オーディオ信号のスペクトルの低域成分を前記部分スペクトルとして抽出する
前記(1)乃至(4)のいずれかに記載の信号処理装置。
(6)
前記スペクトル抽出部は、前記部分スペクトルのうちの高域のスペクトルを周波数が高いほど減衰させ、
前記部分逆直交変換部は、前記スペクトル抽出部により減衰された前記部分スペクトルを逆直交変換する
前記(1)乃至(5)のいずれかに記載の信号処理装置。
(7)
所定のフレームの直近のエラーが発生していないフレームの前記オーディオ信号のスペクトルを用いて、前記所定のフレームのオーディオ信号の第2の代替信号を生成する第2の代替信号生成部と、
前記所定のフレームのオーディオ信号のスペクトルにエラーが発生しており、前記所定のフレームのオーディオ信号に対応する音声が有声音である場合、前記第1の代替信号を前記所定のフレームのオーディオ信号として出力し、前記所定のフレームのオーディオ信号のスペクトルにエラーが発生しており、前記所定のフレームのオーディオ信号に対応する音声が無声音である場合、前記所定のフレームの前記第2の代替信号を前記所定のフレームのオーディオ信号として出力する出力部と
をさらに備える
前記(1)乃至(6)のいずれかに記載の信号処理装置。
(8)
複数フレームの前記部分オーディオ信号を記憶する記憶部
をさらに備え、
前記記憶部は、前記所定のフレームのオーディオ信号のスペクトルにエラーが発生しており、前記所定のフレームのオーディオ信号に対応する音声が無声音である場合、前記代替信号生成部により生成された前記所定のフレームの前記第2の代替信号のスペクトルの一部のオーディオ信号を前記所定のフレームの前記部分オーディオ信号として記憶し、
前記第1の代替信号生成部は、前記記憶部に記憶される前記複数フレームの前記部分オーディオ信号に基づいて、前記第1の代替信号を生成する
前記(7)に記載の信号処理装置。
(9)
複数フレームの前記部分オーディオ信号を記憶する記憶部
をさらに備え、
前記記憶部は、所定のフレームのオーディオ信号のスペクトルにエラーが発生しており、前記所定のフレームのオーディオ信号に対応する音声が有声音である場合、前記第1の代替信号のスペクトルの一部のオーディオ信号を前記所定のフレームの前記部分オーディオ信号として記憶し、
前記第1の代替信号生成部は、前記記憶部に記憶される前記複数フレームの前記部分オーディオ信号に基づいて、前記第1の代替信号を生成する
前記(1)乃至(7)のいずれかに記載の信号処理装置。
(10)
所定のフレームの前記オーディオ信号のスペクトルを本スペクトルとして受信するとともに、そのフレームより後のフレームの前記オーディオ信号のスペクトルを冗長スペクトルとして受信する受信部
をさらに備え、
前記スペクトル抽出部は、前記本スペクトルにエラーが発生している場合、前記冗長スペクトルの一部を前記部分スペクトルとして抽出する
前記(1)乃至(9)のいずれかに記載の信号処理装置。
(11)
信号処理装置が、
フレーム単位のオーディオ信号のスペクトルの一部を部分スペクトルとして抽出するスペクトル抽出ステップと、
前記スペクトル抽出ステップの処理により抽出された前記部分スペクトルを逆直交変換する部分逆直交変換ステップと、
前記部分逆直交変換ステップの処理による逆直交変換の結果得られる部分オーディオ信号に基づいて、前記オーディオ信号の第1の代替信号を生成する第1の代替信号生成ステップと
信号処理方法。
(12)
コンピュータに、
フレーム単位のオーディオ信号のスペクトルの一部を部分スペクトルとして抽出するスペクトル抽出ステップと、
前記スペクトル抽出ステップの処理により抽出された前記部分スペクトルを逆直交変換する部分逆直交変換ステップと、
前記部分逆直交変換ステップの処理による逆直交変換の結果得られる部分オーディオ信号に基づいて、前記オーディオ信号の第1の代替信号を生成する第1の代替信号生成ステップと
を含む処理を実行させるためのプログラム。
【符号の説明】
【0201】
10 復号装置, 16 IMDCTW変換器, 21 低域スペクトル抽出器, 22 IMDCTN変換器, 26 メモリ, 27 V/UV検出器, 28 ピッチ・利得抽出器, 29 隠蔽信号生成器, 34 極性操作器, 35 スイッチ, 50 復号装置, 51 逆多重化器
【特許請求の範囲】
【請求項1】
フレーム単位のオーディオ信号のスペクトルの一部を部分スペクトルとして抽出するスペクトル抽出部と、
前記スペクトル抽出部により抽出された前記部分スペクトルを逆直交変換する部分逆直交変換部と、
前記部分逆直交変換部による逆直交変換の結果得られる部分オーディオ信号に基づいて、前記オーディオ信号の第1の代替信号を生成する第1の代替信号生成部と
を備える信号処理装置。
【請求項2】
前記第1の代替信号生成部は、複数フレームの前記部分オーディオ信号に基づいて前記第1の代替信号を生成する
請求項1に記載の信号処理装置。
【請求項3】
前記部分オーディオ信号に基づいて、前記オーディオ信号に対応する音声が有声音であるかどうかを判定する判定部と、
前記判定部により前記オーディオ信号に対応する音声が有声音であると判定された場合、前記部分オーディオ信号に基づいて、前記オーディオ信号のピッチ周期とピッチ利得を抽出するピッチ抽出部と
をさらに備え、
前記第1の代替信号生成部は、前記ピッチ抽出部により抽出された前記ピッチ周期と前記ピッチ利得に基づいて、前記部分オーディオ信号から前記第1の代替信号を生成する
請求項1に記載の信号処理装置。
【請求項4】
前記第1の代替信号生成部は、所定のフレームより前記ピッチ周期前の1フレーム分の前記部分オーディオ信号と前記ピッチ利得とに基づいて、前記所定のフレームの前記第1の代替信号を生成する
請求項3に記載の信号処理装置。
【請求項5】
前記スペクトル抽出部は、前記オーディオ信号のスペクトルの低域成分を前記部分スペクトルとして抽出する
請求項1に記載の信号処理装置。
【請求項6】
前記スペクトル抽出部は、前記部分スペクトルのうちの高域のスペクトルを周波数が高いほど減衰させ、
前記部分逆直交変換部は、前記スペクトル抽出部により減衰された前記部分スペクトルを逆直交変換する
請求項1に記載の信号処理装置。
【請求項7】
所定のフレームの直近のエラーが発生していないフレームの前記オーディオ信号のスペクトルを用いて、前記所定のフレームのオーディオ信号の第2の代替信号を生成する第2の代替信号生成部と、
前記所定のフレームのオーディオ信号のスペクトルにエラーが発生しており、前記所定のフレームのオーディオ信号に対応する音声が有声音である場合、前記第1の代替信号を前記所定のフレームのオーディオ信号として出力し、前記所定のフレームのオーディオ信号のスペクトルにエラーが発生しており、前記所定のフレームのオーディオ信号に対応する音声が無声音である場合、前記所定のフレームの前記第2の代替信号を前記所定のフレームのオーディオ信号として出力する出力部と
をさらに備える
請求項1に記載の信号処理装置。
【請求項8】
複数フレームの前記部分オーディオ信号を記憶する記憶部
をさらに備え、
前記記憶部は、前記所定のフレームのオーディオ信号のスペクトルにエラーが発生しており、前記所定のフレームのオーディオ信号に対応する音声が無声音である場合、前記代替信号生成部により生成された前記所定のフレームの前記第2の代替信号のスペクトルの一部のオーディオ信号を前記所定のフレームの前記部分オーディオ信号として記憶し、
前記第1の代替信号生成部は、前記記憶部に記憶される前記複数フレームの前記部分オーディオ信号に基づいて、前記第1の代替信号を生成する
請求項7に記載の信号処理装置。
【請求項9】
複数フレームの前記部分オーディオ信号を記憶する記憶部
をさらに備え、
前記記憶部は、所定のフレームのオーディオ信号のスペクトルにエラーが発生しており、前記所定のフレームのオーディオ信号に対応する音声が有声音である場合、前記第1の代替信号のスペクトルの一部のオーディオ信号を前記所定のフレームの前記部分オーディオ信号として記憶し、
前記第1の代替信号生成部は、前記記憶部に記憶される前記複数フレームの前記部分オーディオ信号に基づいて、前記第1の代替信号を生成する
請求項1に記載の信号処理装置。
【請求項10】
所定のフレームの前記オーディオ信号のスペクトルを本スペクトルとして受信するとともに、そのフレームより後のフレームの前記オーディオ信号のスペクトルを冗長スペクトルとして受信する受信部
をさらに備え、
前記スペクトル抽出部は、前記本スペクトルにエラーが発生している場合、前記冗長スペクトルの一部を前記部分スペクトルとして抽出する
請求項1に記載の信号処理装置。
【請求項11】
信号処理装置が、
フレーム単位のオーディオ信号のスペクトルの一部を部分スペクトルとして抽出するスペクトル抽出ステップと、
前記スペクトル抽出ステップの処理により抽出された前記部分スペクトルを逆直交変換する部分逆直交変換ステップと、
前記部分逆直交変換ステップの処理による逆直交変換の結果得られる部分オーディオ信号に基づいて、前記オーディオ信号の第1の代替信号を生成する第1の代替信号生成ステップと
信号処理方法。
【請求項12】
コンピュータに、
フレーム単位のオーディオ信号のスペクトルの一部を部分スペクトルとして抽出するスペクトル抽出ステップと、
前記スペクトル抽出ステップの処理により抽出された前記部分スペクトルを逆直交変換する部分逆直交変換ステップと、
前記部分逆直交変換ステップの処理による逆直交変換の結果得られる部分オーディオ信号に基づいて、前記オーディオ信号の第1の代替信号を生成する第1の代替信号生成ステップと
を含む処理を実行させるためのプログラム。
【請求項1】
フレーム単位のオーディオ信号のスペクトルの一部を部分スペクトルとして抽出するスペクトル抽出部と、
前記スペクトル抽出部により抽出された前記部分スペクトルを逆直交変換する部分逆直交変換部と、
前記部分逆直交変換部による逆直交変換の結果得られる部分オーディオ信号に基づいて、前記オーディオ信号の第1の代替信号を生成する第1の代替信号生成部と
を備える信号処理装置。
【請求項2】
前記第1の代替信号生成部は、複数フレームの前記部分オーディオ信号に基づいて前記第1の代替信号を生成する
請求項1に記載の信号処理装置。
【請求項3】
前記部分オーディオ信号に基づいて、前記オーディオ信号に対応する音声が有声音であるかどうかを判定する判定部と、
前記判定部により前記オーディオ信号に対応する音声が有声音であると判定された場合、前記部分オーディオ信号に基づいて、前記オーディオ信号のピッチ周期とピッチ利得を抽出するピッチ抽出部と
をさらに備え、
前記第1の代替信号生成部は、前記ピッチ抽出部により抽出された前記ピッチ周期と前記ピッチ利得に基づいて、前記部分オーディオ信号から前記第1の代替信号を生成する
請求項1に記載の信号処理装置。
【請求項4】
前記第1の代替信号生成部は、所定のフレームより前記ピッチ周期前の1フレーム分の前記部分オーディオ信号と前記ピッチ利得とに基づいて、前記所定のフレームの前記第1の代替信号を生成する
請求項3に記載の信号処理装置。
【請求項5】
前記スペクトル抽出部は、前記オーディオ信号のスペクトルの低域成分を前記部分スペクトルとして抽出する
請求項1に記載の信号処理装置。
【請求項6】
前記スペクトル抽出部は、前記部分スペクトルのうちの高域のスペクトルを周波数が高いほど減衰させ、
前記部分逆直交変換部は、前記スペクトル抽出部により減衰された前記部分スペクトルを逆直交変換する
請求項1に記載の信号処理装置。
【請求項7】
所定のフレームの直近のエラーが発生していないフレームの前記オーディオ信号のスペクトルを用いて、前記所定のフレームのオーディオ信号の第2の代替信号を生成する第2の代替信号生成部と、
前記所定のフレームのオーディオ信号のスペクトルにエラーが発生しており、前記所定のフレームのオーディオ信号に対応する音声が有声音である場合、前記第1の代替信号を前記所定のフレームのオーディオ信号として出力し、前記所定のフレームのオーディオ信号のスペクトルにエラーが発生しており、前記所定のフレームのオーディオ信号に対応する音声が無声音である場合、前記所定のフレームの前記第2の代替信号を前記所定のフレームのオーディオ信号として出力する出力部と
をさらに備える
請求項1に記載の信号処理装置。
【請求項8】
複数フレームの前記部分オーディオ信号を記憶する記憶部
をさらに備え、
前記記憶部は、前記所定のフレームのオーディオ信号のスペクトルにエラーが発生しており、前記所定のフレームのオーディオ信号に対応する音声が無声音である場合、前記代替信号生成部により生成された前記所定のフレームの前記第2の代替信号のスペクトルの一部のオーディオ信号を前記所定のフレームの前記部分オーディオ信号として記憶し、
前記第1の代替信号生成部は、前記記憶部に記憶される前記複数フレームの前記部分オーディオ信号に基づいて、前記第1の代替信号を生成する
請求項7に記載の信号処理装置。
【請求項9】
複数フレームの前記部分オーディオ信号を記憶する記憶部
をさらに備え、
前記記憶部は、所定のフレームのオーディオ信号のスペクトルにエラーが発生しており、前記所定のフレームのオーディオ信号に対応する音声が有声音である場合、前記第1の代替信号のスペクトルの一部のオーディオ信号を前記所定のフレームの前記部分オーディオ信号として記憶し、
前記第1の代替信号生成部は、前記記憶部に記憶される前記複数フレームの前記部分オーディオ信号に基づいて、前記第1の代替信号を生成する
請求項1に記載の信号処理装置。
【請求項10】
所定のフレームの前記オーディオ信号のスペクトルを本スペクトルとして受信するとともに、そのフレームより後のフレームの前記オーディオ信号のスペクトルを冗長スペクトルとして受信する受信部
をさらに備え、
前記スペクトル抽出部は、前記本スペクトルにエラーが発生している場合、前記冗長スペクトルの一部を前記部分スペクトルとして抽出する
請求項1に記載の信号処理装置。
【請求項11】
信号処理装置が、
フレーム単位のオーディオ信号のスペクトルの一部を部分スペクトルとして抽出するスペクトル抽出ステップと、
前記スペクトル抽出ステップの処理により抽出された前記部分スペクトルを逆直交変換する部分逆直交変換ステップと、
前記部分逆直交変換ステップの処理による逆直交変換の結果得られる部分オーディオ信号に基づいて、前記オーディオ信号の第1の代替信号を生成する第1の代替信号生成ステップと
信号処理方法。
【請求項12】
コンピュータに、
フレーム単位のオーディオ信号のスペクトルの一部を部分スペクトルとして抽出するスペクトル抽出ステップと、
前記スペクトル抽出ステップの処理により抽出された前記部分スペクトルを逆直交変換する部分逆直交変換ステップと、
前記部分逆直交変換ステップの処理による逆直交変換の結果得られる部分オーディオ信号に基づいて、前記オーディオ信号の第1の代替信号を生成する第1の代替信号生成ステップと
を含む処理を実行させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2012−242785(P2012−242785A)
【公開日】平成24年12月10日(2012.12.10)
【国際特許分類】
【出願番号】特願2011−115879(P2011−115879)
【出願日】平成23年5月24日(2011.5.24)
【出願人】(000002185)ソニー株式会社 (34,172)
【公開日】平成24年12月10日(2012.12.10)
【国際特許分類】
【出願日】平成23年5月24日(2011.5.24)
【出願人】(000002185)ソニー株式会社 (34,172)
[ Back to top ]