特表-13154027IP Force 特許公報掲載プロジェクト 2015.5.11 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ソニー株式会社の特許一覧
再表2013-154027復号装置および方法、オーディオ信号処理装置および方法、並びにプログラム
<>
  • 再表WO2013154027-復号装置および方法、オーディオ信号処理装置および方法、並びにプログラム 図000003
  • 再表WO2013154027-復号装置および方法、オーディオ信号処理装置および方法、並びにプログラム 図000004
  • 再表WO2013154027-復号装置および方法、オーディオ信号処理装置および方法、並びにプログラム 図000005
  • 再表WO2013154027-復号装置および方法、オーディオ信号処理装置および方法、並びにプログラム 図000006
  • 再表WO2013154027-復号装置および方法、オーディオ信号処理装置および方法、並びにプログラム 図000007
  • 再表WO2013154027-復号装置および方法、オーディオ信号処理装置および方法、並びにプログラム 図000008
  • 再表WO2013154027-復号装置および方法、オーディオ信号処理装置および方法、並びにプログラム 図000009
  • 再表WO2013154027-復号装置および方法、オーディオ信号処理装置および方法、並びにプログラム 図000010
  • 再表WO2013154027-復号装置および方法、オーディオ信号処理装置および方法、並びにプログラム 図000011
  • 再表WO2013154027-復号装置および方法、オーディオ信号処理装置および方法、並びにプログラム 図000012
  • 再表WO2013154027-復号装置および方法、オーディオ信号処理装置および方法、並びにプログラム 図000013
  • 再表WO2013154027-復号装置および方法、オーディオ信号処理装置および方法、並びにプログラム 図000014
  • 再表WO2013154027-復号装置および方法、オーディオ信号処理装置および方法、並びにプログラム 図000015
  • 再表WO2013154027-復号装置および方法、オーディオ信号処理装置および方法、並びにプログラム 図000016
< >
(19)【発行国】日本国特許庁(JP)
【公報種別】再公表特許(A1)
(11)【国際公開番号】WO/0
(43)【国際公開日】2013年10月17日
【発行日】2015年12月17日
(54)【発明の名称】復号装置および方法、オーディオ信号処理装置および方法、並びにプログラム
(51)【国際特許分類】
   G10L 19/005 20130101AFI20151120BHJP
   H04L 1/00 20060101ALI20151120BHJP
【FI】
   G10L19/005
   H04L1/00 A
【審査請求】未請求
【予備審査請求】未請求
【全頁数】42
【出願番号】特願2014-510137(P2014-510137)
(21)【国際出願番号】PCT/0/0
(22)【国際出願日】2013年4月4日
(31)【優先権主張番号】特願2012-91823(P2012-91823)
(32)【優先日】2012年4月13日
(33)【優先権主張国】JP
(31)【優先権主張番号】特願2012-140462(P2012-140462)
(32)【優先日】2012年6月22日
(33)【優先権主張国】JP
(81)【指定国】 AP(BW,GH,GM,KE,LR,LS,MW,MZ,NA,RW,SD,SL,SZ,TZ,UG,ZM,ZW),EA(AM,AZ,BY,KG,KZ,RU,TJ,TM),EP(AL,AT,BE,BG,CH,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HR,HU,IE,IS,IT,LT,LU,LV,MC,MK,MT,NL,NO,PL,PT,RO,RS,SE,SI,SK,SM,TR),OA(BF,BJ,CF,CG,CI,CM,GA,GN,GQ,GW,ML,MR,NE,SN,TD,TG),AE,AG,AL,AM,AO,AT,AU,AZ,BA,BB,BG,BH,BN,BR,BW,BY,BZ,CA,CH,CL,CN,CO,CR,CU,CZ,DE,DK,DM,DO,DZ,EC,EE,EG,ES,FI,GB,GD,GE,GH,GM,GT,HN,HR,HU,ID,IL,IN,IS,JP,KE,KG,KM,KN,KP,KR,KZ,LA,LC,LK,LR,LS,LT,LU,LY,MA,MD,ME,MG,MK,MN,MW,MX,MY,MZ,NA,NG,NI,NO,NZ,OM,PA,PE,PG,PH,PL,PT,QA,RO,RS,RU,RW,SC,SD,SE,SG,SK,SL,SM,ST,SV,SY,TH,TJ,TM,TN,TR,TT,TZ,UA,UG,US,UZ,VC
(71)【出願人】
【識別番号】000002185
【氏名又は名称】ソニー株式会社
(74)【代理人】
【識別番号】100121131
【弁理士】
【氏名又は名称】西川 孝
(74)【代理人】
【識別番号】100082131
【弁理士】
【氏名又は名称】稲本 義雄
(72)【発明者】
【氏名】戸栗 康裕
(72)【発明者】
【氏名】前田 祐児
(72)【発明者】
【氏名】松本 淳
【テーマコード(参考)】
5K014
【Fターム(参考)】
5K014BA01
5K014FA06
(57)【要約】
本技術は、より少ない演算で、違和感の少ない補間信号を得ることができるようにする復号装置および方法、オーディオ信号処理装置および方法、並びにプログラムに関する。
フレーム信号復号部はフレームデータを復号して復号信号を生成し、補間状態判定部はエラーフラグに基づいて、出力信号を得るために行なわれる処理パターンを決定する補間ステータスを判定する。類似信号検出部は、過去の出力信号を間引くことで得られた間引き信号の一部を抽出する。アップサンプル部は、抽出された間引き信号をアップサンプルし、スムージング部は、アップサンプルされた間引き信号にスムージング処理を施し、補間信号を生成する。出力切替部は、補間ステータスに応じて、復号信号、補間信号、または復号信号と補間信号を重み付き重複加算して得られる信号の何れかを、出力信号として出力する。本技術は、オーディオ信号処理装置に適用することができる。
【特許請求の範囲】
【請求項1】
フレーム単位のオーディオ信号を復号して復号信号を生成する復号部と、
過去に出力された出力信号に間引き処理を施して間引き信号を生成する間引き部と、
前記間引き信号に基づいて補間信号を生成する補間信号生成部と、
フレームのエラー情報に応じて、前記復号信号、または前記補間信号の何れかを前記出力信号として出力する出力切替部と
を備える復号装置。
【請求項2】
前記間引き部は、前記出力信号に対してそのまま前記間引き処理を施すことで、前記出力信号の高域の折り返し成分が混入された前記間引き信号を生成する
請求項1に記載の復号装置。
【請求項3】
前記間引き信号を保持する間引き信号保持部と、
処理対象のフレームの前記オーディオ信号が消失した場合、消失した前記オーディオ信号の直前の時刻の前記間引き信号の区間と類似する類似区間を、前記間引き信号保持部に保持されている前記間引き信号から検出する類似信号検出部と
をさらに備え、
前記補間信号生成部は、前記間引き信号保持部に保持されている前記間引き信号のうち、前記類似区間直後の区間の信号に基づいて前記補間信号を生成する
請求項2に記載の復号装置。
【請求項4】
前記補間信号生成部は、前記間引き信号保持部に保持されている前記間引き信号のうち、前記類似区間直後の区間の信号をアップサンプルし、
前記補間信号生成部によりアップサンプルされた信号に対して、ローパスフィルタを用いたフィルタ処理を施して前記補間信号とするスムージング部をさらに備える
請求項3に記載の復号装置。
【請求項5】
前記スムージング部は、消失した前記処理対象のフレームの前記オーディオ信号の直前の前記オーディオ信号、または消失した前記オーディオ信号の直前の時刻の前記間引き信号をアップサンプルして得られる信号を、前記ローパスフィルタの内部状態の初期値として用いる
請求項4に記載の復号装置。
【請求項6】
前記間引き部は、前記出力信号として前記出力切替部から出力された、前記復号信号または前記補間信号に前記間引き処理を施して前記間引き信号を生成する
請求項5に記載の復号装置。
【請求項7】
フレームの前記エラー情報に基づいて、補間ステータスを判定する補間状態判定部をさらに備え、
前記出力切替部は、前記補間信号と前記復号信号を重み付き重複加算することで加算信号を生成し、前記補間ステータスに応じて、前記復号信号、前記補間信号、または前記加算信号の何れかを前記出力信号として出力する
請求項6に記載の復号装置。
【請求項8】
フレーム単位のオーディオ信号を復号して復号信号を生成し、
過去に出力された出力信号に間引き処理を施して間引き信号を生成し、
前記間引き信号に基づいて補間信号を生成し、
フレームのエラー情報に応じて、前記復号信号、または前記補間信号の何れかを前記出力信号として出力する
ステップを含む復号方法。
【請求項9】
フレーム単位のオーディオ信号を復号して復号信号を生成し、
過去に出力された出力信号に間引き処理を施して間引き信号を生成し、
前記間引き信号に基づいて補間信号を生成し、
フレームのエラー情報に応じて、前記復号信号、または前記補間信号の何れかを前記出力信号として出力する
ステップを含む処理をコンピュータに実行させるプログラム。
【請求項10】
所定の長さの2つのバッファからなるダブルバッファが用いられてオーディオ信号に対する処理が行なわれる場合に、前記ダブルバッファをスイッチさせるタイミングで、内部タイミング信号を出力するタイミング信号発生部と、
前記内部タイミング信号と、外部から供給される外部タイミング信号とが同期していない場合、前記内部タイミング信号と前記外部タイミング信号との位相差だけ、前記ダブルバッファをスイッチさせるタイミングを短縮させることで、前記内部タイミング信号と前記外部タイミング信号を同期させる同期制御部と
を備えるオーディオ信号処理装置。
【請求項11】
前記内部タイミング信号と前記外部タイミング信号が同期している場合、同期完了状態として、前記ダブルバッファを用いた前記オーディオ信号に対する処理を実行させ、前記内部タイミング信号と前記外部タイミング信号が同期していない場合、同期未完了状態として、前記オーディオ信号に対する処理を停止させる状態遷移部をさらに備える
請求項10に記載のオーディオ信号処理装置。
【請求項12】
前記状態遷移部は、複数のチャンネルの前記オーディオ信号に対する処理の実行を制御し、処理対象となる前記オーディオ信号のチャンネル数の変更が要求された場合、前記同期未完了状態として、前記オーディオ信号に対する処理を停止させる
請求項11に記載のオーディオ信号処理装置。
【請求項13】
前記同期制御部は、前記位相差だけ前記ダブルバッファを構成する1つのバッファの長さを短くすることで、前記ダブルバッファをスイッチさせるタイミングを短縮させて前記内部タイミング信号と前記外部タイミング信号を同期させた後、短くしたバッファの長さをもとの長さに戻すことで、前記ダブルバッファの次のスイッチまでの長さを短縮前のもとの長さに戻す
請求項12に記載のオーディオ信号処理装置。
【請求項14】
前記タイミング信号発生部は、受信された前記オーディオ信号を前記ダブルバッファを構成する一方のバッファに格納していき、前記一方のバッファへの前記オーディオ信号の格納が終了したタイミングで前記ダブルバッファをスイッチさせて前記内部タイミング信号を出力し、
前記状態遷移部は、前記同期完了状態であるか、または前記同期未完了状態であるかに応じて、前記オーディオ信号の符号化を制御し、
前記同期完了状態である場合、前記ダブルバッファを構成する他方のバッファに格納されている前記オーディオ信号を符号化する符号化部をさらに備える
請求項13に記載のオーディオ信号処理装置。
【請求項15】
前記タイミング信号発生部は、前記ダブルバッファを構成する一方のバッファに格納されている、復号された前記オーディオ信号を送信していき、前記一方のバッファの前記オーディオ信号の送信が終了したタイミングで前記ダブルバッファをスイッチさせて前記内部タイミング信号を出力し、
前記状態遷移部は、前記同期完了状態であるか、または前記同期未完了状態であるかに応じて、前記オーディオ信号の復号を制御し、
前記同期完了状態である場合、前記オーディオ信号を復号して前記ダブルバッファを構成する他方のバッファに格納していく復号部をさらに備える
請求項13に記載のオーディオ信号処理装置。
【請求項16】
処理対象となる前記オーディオ信号のチャンネル数の取り得る最大値により定まる大きさの記録領域が、各チャンネルの前記オーディオ信号に対する処理に必要な情報を格納するための静的データ格納領域として確保され、
前記チャンネル数の変更が要求された場合、前記オーディオ信号に対する処理に必要な情報が格納されるチャンネルごとの静的データ領域が前記静的データ格納領域上に確保される
請求項12に記載のオーディオ信号処理装置。
【請求項17】
所定の長さの2つのバッファからなるダブルバッファが用いられてオーディオ信号に対する処理が行なわれる場合に、前記ダブルバッファをスイッチさせるタイミングで、内部タイミング信号を出力し、
前記内部タイミング信号と、外部から供給される外部タイミング信号とが同期していない場合、前記内部タイミング信号と前記外部タイミング信号との位相差だけ、前記ダブルバッファをスイッチさせるタイミングを短縮させることで、前記内部タイミング信号と前記外部タイミング信号を同期させる
ステップを含むオーディオ信号処理方法。
【請求項18】
所定の長さの2つのバッファからなるダブルバッファが用いられてオーディオ信号に対する処理が行なわれる場合に、前記ダブルバッファをスイッチさせるタイミングで、内部タイミング信号を出力し、
前記内部タイミング信号と、外部から供給される外部タイミング信号とが同期していない場合、前記内部タイミング信号と前記外部タイミング信号との位相差だけ、前記ダブルバッファをスイッチさせるタイミングを短縮させることで、前記内部タイミング信号と前記外部タイミング信号を同期させる
ステップを含む処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本技術は復号装置および方法、オーディオ信号処理装置および方法、並びにプログラムに関し、特に、オーディオ信号を符号化または復号する場合に用いて好適な復号装置および方法、オーディオ信号処理装置および方法、並びにプログラムに関する。
【背景技術】
【0002】
従来、オーディオ符号化装置において、MDCT(Modified Discrete Cosine Transform,修正コサイン変換)のような隣接するブロックのオーディオ信号を重複させて直交変換し、符号化する符号化装置がよく用いられている。
【0003】
このような符号化装置で符号化されたデータがパケット化されて伝送され、そのパケットが伝送中に消失した場合、あるいはデータにエラーが発生した場合は、そのデータのフレームだけでなく次のフレームも正しく復号できず、音声が途切れたりして音質が著しく低下する。これを防ぐため、パケットが消失した場合や復号時にエラーが発生した場合には、エラー部分を補足する目的で消失したフレーム信号を補間する補間信号を生成する必要がある。
【0004】
補間信号の生成方法としては、例えば、無音や雑音で置き換える方法、前のフレームデータを用いる方法、過去の類似波形で置換する方法(WS(Waveform Substitution)法)、ピッチ波形を反復する方法(PWS(Pitch Waveform Substitution)法)などがある。
【0005】
波形置換法(WS法)やピッチ波形置換法(PWS法)は、例えば非特許文献1、および非特許文献2に詳しく書かれている。
【0006】
また、高帯域成分についての補間を、その周期的強度に基づいて、ピッチ反復に基づく補間と前のフレームの繰り返しによる補間を切り替える方法も提案されている(例えば、特許文献1参照)。
【先行技術文献】
【非特許文献】
【0007】
【非特許文献1】D.J.Goodman, et al,「Waveform Substitution Techniques for Recovering Missing Speech Segments in Packet Voice Communications」 ,IEEE Transactions on Acoustics, Speech, and Signal Processing、ASSP−34 No.6 1440-1448(1986)
【非特許文献2】O.J.Wasem et al., 「The effect of waveform substitution on the quality of PCM packet communications」 IEEE Trans. Acoustics, Speech, and Sig. Processing, vol.36, no.3, Mar.1988, pp.342-48
【特許文献】
【0008】
【特許文献1】特許第4603091号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、上述した方法でピッチ周期を求めて補間信号を生成するためには多くのメモリと演算が必要である。特に、サンプリング周波数が高い場合、ピッチ周期の想定範囲に対応するサンプル数の範囲が広いため、ピッチ周期を求めるためのバッファサイズや演算量は大きくなる。そのため、少ない演算量で、違和感の少ない補間信号を得る方法が望まれていた。
【0010】
ところで、放送局等では、多チャンネルのオーディオ信号を符号化,復号し、そのチャンネル構成を迅速に変更する必要がある。ところが、各チャンネルに対応するオーディオ信号符号化,復号装置の静的データ領域を動的に確保した場合、チャンネル設定変更するには一度確保した静的データ領域を解放し、新たに静的メモリ領域を確保する必要があり、最悪の場合、データの断片化を引き起こす恐れがあった。
【0011】
またオーディオ信号と、ビデオ(画像)等の他の信号との同期を取る必要があるため、同期した状態でチャンネル設定を変更すると装置が不安定になる恐れがあった。
【0012】
さらに、オーディオ信号を画像等の他の信号と同期させるため、オーディオ信号符号化,復号装置の所定のサンプル数で構成されるフレーム周期で外部同期信号を信号処理装置に供給する必要がある。そこで、この外部同期信号に従ってオーディオ信号を取り込むには、オーディオ信号の各サンプルの送受信割り込みの際に外部同期信号を受信したか否かを検出する手法も考えられるが過大な負荷を要することになり、リングバッファで音声、音声オーディオ信号の送受信を行い、外部同期信号を受信したタイミングでオーディオ信号を取り込むとすると、オーディオ信号送受信のポインタの管理が煩雑になってしまう。
【0013】
本技術は、このような状況に鑑みてなされたものであり、より少ない演算で、違和感の少ない補間信号を得ることができるようにするものである。また、本技術は、より簡単にオーディオ信号と他の信号を同期させて符号化または復号を行なうことができるようにするものである。
【課題を解決するための手段】
【0014】
本技術の第1の側面の復号装置は、フレーム単位のオーディオ信号を復号して復号信号を生成する復号部と、過去に出力された出力信号に間引き処理を施して間引き信号を生成する間引き部と、前記間引き信号に基づいて補間信号を生成する補間信号生成部と、フレームのエラー情報に応じて、前記復号信号、または前記補間信号の何れかを前記出力信号として出力する出力切替部とを備える。
【0015】
前記間引き部には、前記出力信号に対してそのまま前記間引き処理を施すことで、前記出力信号の高域の折り返し成分が混入された前記間引き信号を生成させることができる。
【0016】
復号装置には、前記間引き信号を保持する間引き信号保持部と、処理対象のフレームの前記オーディオ信号が消失した場合、消失した前記オーディオ信号の直前の時刻の前記間引き信号の区間と類似する類似区間を、前記間引き信号保持部に保持されている前記間引き信号から検出する類似信号検出部とをさらに設け、前記補間信号生成部には、前記間引き信号保持部に保持されている前記間引き信号のうち、前記類似区間直後の区間の信号に基づいて前記補間信号を生成させることができる。
【0017】
前記補間信号生成部には、前記間引き信号保持部に保持されている前記間引き信号のうち、前記類似区間直後の区間の信号をアップサンプルさせ、復号装置には、前記補間信号生成部によりアップサンプルされた信号に対して、ローパスフィルタを用いたフィルタ処理を施して前記補間信号とするスムージング部をさらに設けることができる。
【0018】
前記スムージング部には、消失した前記処理対象のフレームの前記オーディオ信号の直前の前記オーディオ信号、または消失した前記オーディオ信号の直前の時刻の前記間引き信号をアップサンプルして得られる信号を、前記ローパスフィルタの内部状態の初期値として用いるようにさせることができる。
【0019】
前記間引き部には、前記出力信号として前記出力切替部から出力された、前記復号信号または前記補間信号に前記間引き処理を施して前記間引き信号を生成させることができる。
【0020】
復号装置には、フレームの前記エラー情報に基づいて、補間ステータスを判定する補間状態判定部をさらに設け、前記出力切替部には、前記補間信号と前記復号信号を重み付き重複加算することで加算信号を生成させ、前記補間ステータスに応じて、前記復号信号、前記補間信号、または前記加算信号の何れかを前記出力信号として出力させることができる。
【0021】
本技術の第1の側面の復号方法またはプログラムは、フレーム単位のオーディオ信号を復号して復号信号を生成し、過去に出力された出力信号に間引き処理を施して間引き信号を生成し、前記間引き信号に基づいて補間信号を生成し、フレームのエラー情報に応じて、前記復号信号、または前記補間信号の何れかを前記出力信号として出力するステップを含む。
【0022】
本技術の第1の側面においては、フレーム単位のオーディオ信号が復号されて復号信号が生成され、過去に出力された出力信号に間引き処理が施されて間引き信号が生成され、前記間引き信号に基づいて補間信号が生成され、フレームのエラー情報に応じて、前記復号信号、または前記補間信号の何れかが前記出力信号として出力される。
【0023】
本技術の第2の側面のオーディオ信号処理装置は、所定の長さの2つのバッファからなるダブルバッファが用いられてオーディオ信号に対する処理が行なわれる場合に、前記ダブルバッファをスイッチさせるタイミングで、内部タイミング信号を出力するタイミング信号発生部と、前記内部タイミング信号と、外部から供給される外部タイミング信号とが同期していない場合、前記内部タイミング信号と前記外部タイミング信号との位相差だけ、前記ダブルバッファをスイッチさせるタイミングを短縮させることで、前記内部タイミング信号と前記外部タイミング信号を同期させる同期制御部とを備える。
【0024】
オーディオ信号処理装置には、前記内部タイミング信号と前記外部タイミング信号が同期している場合、同期完了状態として、前記ダブルバッファを用いた前記オーディオ信号に対する処理を実行させ、前記内部タイミング信号と前記外部タイミング信号が同期していない場合、同期未完了状態として、前記オーディオ信号に対する処理を停止させる状態遷移部をさらに設けることができる。
【0025】
前記状態遷移部には、複数のチャンネルの前記オーディオ信号に対する処理の実行を制御させ、処理対象となる前記オーディオ信号のチャンネル数の変更が要求された場合、前記同期未完了状態として、前記オーディオ信号に対する処理を停止させることができる。
【0026】
前記同期制御部には、前記位相差だけ前記ダブルバッファを構成する1つのバッファの長さを短くすることで、前記ダブルバッファをスイッチさせるタイミングを短縮させて前記内部タイミング信号と前記外部タイミング信号を同期させた後、短くしたバッファの長さをもとの長さに戻すことで、前記ダブルバッファの次のスイッチまでの長さを短縮前のもとの長さに戻させることができる。
【0027】
前記タイミング信号発生部には、受信された前記オーディオ信号を前記ダブルバッファを構成する一方のバッファに格納させていき、前記一方のバッファへの前記オーディオ信号の格納が終了したタイミングで前記ダブルバッファをスイッチさせて前記内部タイミング信号を出力させ、前記状態遷移部には、前記同期完了状態であるか、または前記同期未完了状態であるかに応じて、前記オーディオ信号の符号化を制御させ、オーディオ信号処理装置には、前記同期完了状態である場合、前記ダブルバッファを構成する他方のバッファに格納されている前記オーディオ信号を符号化する符号化部をさらに設けることができる。
【0028】
前記タイミング信号発生部には、前記ダブルバッファを構成する一方のバッファに格納されている、復号された前記オーディオ信号を送信させていき、前記一方のバッファの前記オーディオ信号の送信が終了したタイミングで前記ダブルバッファをスイッチさせて前記内部タイミング信号を出力させ、前記状態遷移部には、前記同期完了状態であるか、または前記同期未完了状態であるかに応じて、前記オーディオ信号の復号を制御させ、オーディオ信号処理装置には、前記同期完了状態である場合、前記オーディオ信号を復号して前記ダブルバッファを構成する他方のバッファに格納していく復号部をさらに設けることができる。
【0029】
処理対象となる前記オーディオ信号のチャンネル数の取り得る最大値により定まる大きさの記録領域が、各チャンネルの前記オーディオ信号に対する処理に必要な情報を格納するための静的データ格納領域として確保され、前記チャンネル数の変更が要求された場合、前記オーディオ信号に対する処理に必要な情報が格納されるチャンネルごとの静的データ領域が前記静的データ格納領域上に確保されるようにすることができる。
【0030】
本技術の第2の側面のオーディオ信号処理方法またはプログラムは、所定の長さの2つのバッファからなるダブルバッファが用いられてオーディオ信号に対する処理が行なわれる場合に、前記ダブルバッファをスイッチさせるタイミングで、内部タイミング信号を出力し、前記内部タイミング信号と、外部から供給される外部タイミング信号とが同期していない場合、前記内部タイミング信号と前記外部タイミング信号との位相差だけ、前記ダブルバッファをスイッチさせるタイミングを短縮させることで、前記内部タイミング信号と前記外部タイミング信号を同期させるステップを含む。
【0031】
本技術の第2の側面においては、所定の長さの2つのバッファからなるダブルバッファが用いられてオーディオ信号に対する処理が行なわれる場合に、前記ダブルバッファをスイッチさせるタイミングで、内部タイミング信号が出力され、前記内部タイミング信号と、外部から供給される外部タイミング信号とが同期していない場合、前記内部タイミング信号と前記外部タイミング信号との位相差だけ、前記ダブルバッファをスイッチさせるタイミングを短縮させることで、前記内部タイミング信号と前記外部タイミング信号が同期される。
【発明の効果】
【0032】
本技術の第1の側面によれば、より少ない演算で、違和感の少ない補間信号を得ることができる。また、本技術の第2の側面によれば、より簡単にオーディオ信号と他の信号を同期させて符号化または復号を行なうことができる。
【図面の簡単な説明】
【0033】
図1】オーディオ信号処理装置の構成例を示す図である。
図2】補間ステータスと処理パターンについて説明する図である。
図3】補間ステータスの遷移について説明する図である。
図4】出力切替部の内部の構成例を示す図である。
図5】重みの一例を示す図である。
図6】復号処理について説明するフローチャートである。
図7】折り返し混入間引きの効果について説明する図である。
図8】補間信号の生成について説明する図である。
図9】オーディオ信号処理装置の構成例を示す図である。
図10】オーディオ信号のフレーム同期について説明する図である。
図11】各チャンネルの静的データ領域の確保について説明する図である。
図12】同期状態の遷移について説明する図である。
図13】符号化・復号処理について説明するフローチャートである。
図14】コンピュータの構成例を示す図である。
【発明を実施するための形態】
【0034】
以下、図面を参照して、本技術を適用した実施の形態について説明する。
【0035】
〈第1の実施の形態〉
[本技術の特徴について]
まず、第1の実施の形態で示す本技術の特徴について説明する。
【0036】
本技術は、符号化された音声データ(オーディオ信号)を復号するときに、伝送パケットの消失などによりエラーが発生した場合に、より少ない演算量で、簡単に違和感の少ない補間信号(代替信号)を得ることができるようにするものである。特に、本技術は、以下の(1)乃至(7)の特徴を有している。
【0037】
(1)
入力信号のフレームデータを間引いて保存し、フレームが消失した場合に、過去の間引きデータを元に消失フレームの補間信号を生成する音声信号の補間方法,装置
【0038】
(2)
上記(1)において、フレームデータを間引く際に、高域除去フィルタを適用せずに間引きを行うことで、高域の折り返し成分を混入させる間引き処理を特徴とするもの
【0039】
(3)
上記(1),(2)において、間引いたフレーム信号をバッファに保存し、フレームデータが消失した場合に、バッファ内にある消失直前の間引き信号と類似した部分をバッファ内の信号から探し、その類似部分の直後の間引き信号をアップサンプルし、ローパスフィルタを適用してスムージングすることで補間信号を生成することを特徴とするもの
【0040】
(4)
上記(3)において、アップサンプルした信号にローパスフィルタを適用する際に、フィルタの内部状態の初期値として、消失フレームの直前の信号サンプル、もしくは、直前の間引き信号をアップサンプルした信号を用いるもの
【0041】
(5)
上記(1)乃至(4)において、補間処理によって生成された補間信号を、補間信号の生成のために間引き処理を行って、バッファに保存するもの
【0042】
(6)
符号化されたデータを復号する復号装置であって、復号された信号と補間処理によって生成された補間信号をフレームの先頭から所定のサンプル数だけ重みつき重複加算して出力を生成する上記(1)乃至(5)の補間装置
【0043】
(7)
上記(1)乃至(6)において、補間ステータスを保持する状態変数を有し、その補間ステータスに基づいて、上記類似部分検出サーチおよび重み付き重複加算の有無を切り替えるもの
【0044】
[オーディオ信号処理装置の構成]
次に、本技術を適用したオーディオ信号処理装置について説明する。図1は、本技術を適用したオーディオ信号処理装置の一実施の形態の構成例を示す図である。
【0045】
図1のオーディオ信号処理装置11は、入力端子21、エラーフラグ入力端子22、フレーム信号復号部23、補間状態判定部24、出力切替部25、折り返し混入間引き部26、間引き信号バッファ27、類似信号検出部28、アップサンプル部29、スムージング部30、および出力端子31から構成される。
【0046】
すなわち、オーディオ信号処理装置11は、符号化されたフレームデータを入力する入力端子21、エラーフラグ入力端子22、フレームデータを復号して時間信号サンプルに変換するフレーム信号復号部23、フレームの補間ステータスを判定する補間状態判定部24、出力するフレームデータを合成して切替する出力切替部25、出力信号を間引いて折り返し信号を混入させる折り返し混入間引き部26、間引かれた信号サンプルを保存する間引き信号バッファ27、バッファの中から補間信号の生成に最適な部分を検出する類似信号検出部28、検出された位置の信号をアップサンプルして中間補間信号を生成するアップサンプル部29、アップサンプルされた信号をスムージングして前フレームとスムーズな接続を行うスムージング部30、フレームの時間信号サンプルを出力する出力端子31から構成される。
【0047】
[オーディオ信号処理装置の動作について]
次にオーディオ信号処理装置11の動作について説明する。
【0048】
入力端子21には、所定のフレーム単位で符号化されて伝送されたフレームデータが入力され、フレーム信号復号部23に供給される。例えば、入力端子21に入力されるフレームデータは、処理対象のフレームの復号時に、処理対象のフレームと、そのフレームの直前のフレームが必要となるMDCTなどの方式により符号化されたオーディオ信号の各フレームのデータとされる。
【0049】
また、エラーフラグ入力端子22には、現在フレームの消失有無を示すフレームエラーフラグが入力され、補間状態判定部24に供給される。
【0050】
ここで、正常にフレームデータを受信した場合は、このエラーフラグはOFF(値0)である。一方、伝送中のエラーや遅延などによりパケットが規定の時間までに到着しない場合は、そのパケットに含まれるフレームデータは消失したとみなされ、エラーフラグはON(値1)になる。
【0051】
エラーフラグがONの場合、入力端子21からはフレームデータは入力されない(あるいはダミーデータが入力される)。
【0052】
補間状態判定部24は、エラーフラグ入力端子22から入力されたエラーフラグにしたがって補間処理のステータス(補間ステータス)を判断する。このステータスによって装置の動作が異なる。ここで、図2に補間ステータスと対応する処理の一覧を示す。
【0053】
図2では、補間ステータス「Status」、フレーム(n−2),フレーム(n−1),フレームnの各フレームのエラーフラグ(消失フラグ)「Sn−2」,「Sn−1」,「S」、処理パターン、および処理内容が示されている。
【0054】
すなわち、図2において「Status」は、状態を区別する補間ステータスであり、補間ステータスには、「0」乃至「7」の各ステータスがある。
【0055】
また、「S」はn番目のフレーム、つまりフレームnにおけるエラーフラグの値である。具体的には、エラーフラグの値「0」(S=0)は、フレームnが正常フレームデータであることを示しており、エラーフラグの値「1」(S=1)は、フレームnがエラーで消失した消失フレームであることを示している。
【0056】
同様に「Sn−1」は前フレームのエラーフラグ、つまり(n−1)番目のフレーム(n−1)のエラーフラグの値を示しており、「Sn−2」は前の前のフレームのエラーフラグ、つまり(n−2)番目のフレーム(n−2)のエラーフラグの値を示している。
【0057】
また、処理パターンP0,P1,P2,P3,P4は、各補間ステータスに対応する処理のパターンである。
【0058】
図3は、図2に示す補間ステータスStatusの状態遷移図である。図3では、各楕円内に記された数値が各補間ステータスを表している。例えば、数値「0」が記されている楕円は、補間ステータス「0」を表している。また、各補間ステータスを結ぶ矢印に記された数値は、エラーフラグの値を示している。
【0059】
例えば、(n−1)フレームまで正常フレームが続けば補間ステータスStatusは「0」であるが、n番目のフレームが消失してエラーフラグがONになると補間ステータスStatusは「1」になる。続くn+1番目のフレームで正常フレームが受信されれば、補間ステータスStatusは「2」となるが、エラーが続けば補間ステータスStatusは「3」となる。
【0060】
このようにして、過去のエラーフラグによって補間ステータスStatusが遷移し、図2に示したように補間ステータスStatusの値によって行うべき処理が異なる。
【0061】
補間ステータスStatus「0」は、正常フレームが続いている場合で、この場合、復号処理のみが行なわれ、通常の復号信号が出力される。このような処理が処理パターン「P0」とされる。
【0062】
補間ステータスStatus「1」では、バッファ内から補間信号の生成に最適な部分をサーチする初期サーチが行われてから、消失したフレームの補間信号が生成される。このような処理が処理パターン「P1」とされる。補間ステータスStatus「1」となるのは、直前の2フレームは正常フレームであったが、現フレームでフレームの消失が発生した場合である。
【0063】
補間ステータスStatus「2」では、上記初期サーチが行なわれず、前フレームの補間処理で用いた情報から継続した補間信号が生成されるとともに、次のフレームのために受信したフレームが復号される(但し復号信号は正しくないので出力しない)。このような処理が処理パターン「P2」とされる。
【0064】
補間ステータスStatus「3」では、上記初期サーチが行なわれず、前フレームの補間処理から継続した補間信号が生成される。このような処理が処理パターン「P3」とされる。補間ステータスStatus「2」や補間ステータスStatus「3」のように、現フレームの前のフレームにおいてフレームの消失が生じ、補間信号が生成される場合には、初期サーチが行なわれずに補間信号が生成される。
【0065】
補間ステータスStatus「4」では、受信したフレームが通常復号されるとともに、直前フレームの補間信号とスムーズに接続するため、重みつき重複加算(オーバーラップ加算)が行なわれる。このような処理が処理パターン「P4」とされる。
【0066】
また、補間ステータスStatus「5」と補間ステータスStatus「7」での処理は、補間ステータスStatus「3」における処理と同じ処理パターン「P3」の処理である。補間ステータスStatus「6」での処理は、補間ステータスStatus「2」における処理と同じ処理パターン「P2」の処理である。
【0067】
以降、補間ステータスStatusによって処理が異なる。
【0068】
まず、出力切替部25について説明する。図4は、出力切替部25の内部の構成例を示す図である。
【0069】
図4に示す出力切替部25は、端子61、乗算部62、端子63、乗算部64、加算部65、切替スイッチ66、および出力端子67を備えている。また、切替スイッチ66には、端子T0乃至端子T2が設けられており、切替スイッチ66は、端子T0乃至端子T2の何れかと、出力端子67とを接続することで、出力を切り替える。
【0070】
端子61には、フレーム信号復号部23からの復号信号が供給され、この復号信号は、乗算部62および端子T0に供給される。また、乗算部62は、端子61からの復号信号に重みWdecを乗算し、加算部65に供給する。
【0071】
端子63には、スムージング部30からの補間信号が供給され、この補間信号は、乗算部64および端子T2に供給される。また、乗算部64は、端子63からの補間信号に重み(1−Wdec)を乗算し、加算部65に供給する。
【0072】
加算部65は、乗算部62からの復号信号と乗算部64からの補間信号を加算し、端子T1に供給する。切替スイッチ66は、補間状態判定部24から供給された補間ステータスに基づいて、端子T0乃至端子T2の何れかを出力端子67に接続させる。
【0073】
すなわち、補間ステータスStatus=0である場合、端子T0が出力端子67に接続され、復号信号がそのまま出力端子31に出力される。
【0074】
また、補間ステータスStatus=4である場合、端子T1が出力端子67に接続され、加算部65から出力された、重複加算された信号が出力端子31に出力される。さらに、補間ステータスが0でも4でもない場合、端子T2が出力端子67に接続され、補間信号がそのまま出力端子31に出力される。
【0075】
ここで、乗算部62で復号信号に乗算される重みWdecは、例えば図5に示すような重みとされる。なお、図5において、縦軸は重みWdecの値を示しており、横軸は復号信号のサンプルを示している。
【0076】
図5の例では、1フレーム分の復号信号はNサンプルからなり、復号信号の先頭のサンプルからM番目のサンプルまでは、各サンプルに乗算される重みWdecの値が、時間的に後にあるサンプルに乗算される重みほど直線的に大きくなっている。そして、M番目以降のサンプルの重みWdecの値は1となっている。
【0077】
したがって、復号信号と補間信号が、重みWdecにより重み付き重複加算される場合、出力として得られるフレームは、M番目のサンプルまでは補間信号から復号信号へとしだいに変化していき、その後は復号信号となる。このような重み付き重複加算により、補間信号から復号信号にスムーズに遷移していく信号が得られる。
【0078】
[オーディオ信号処理装置の動作について]
続いて、図6のフローチャートを参照して、オーディオ信号処理装置11による復号処理について説明する。なお、この復号処理は、オーディオ信号処理装置11に1フレーム分のフレームデータが供給されるたびに行われる。
【0079】
ステップS11において、補間状態判定部24は、エラーフラグ入力端子22から供給されたエラーフラグに基づいて、補間ステータスStatusを判定し、その判定結果を出力切替部25の切替スイッチ66および類似信号検出部28に供給する。例えば、図2に示したように、エラーフラグSn−2,Sn−1,Sから補間ステータスが定められる。
【0080】
ステップS12において、オーディオ信号処理装置11は、補間ステータスStatusの値が偶数であるか否かを判定する。
【0081】
まず、補間ステータスStatus=0である場合の処理について説明する。すなわち、ステップS12において、補間ステータスStatusの値が偶数であると判定された場合、処理はステップS13に進む。補間ステータスStatusの値が偶数であれば、最新フレーム、すなわち処理対象である現フレームのエラーフラグは0であるので、フレームデータの復号が可能である。
【0082】
ステップS13において、フレーム信号復号部23は、入力端子21から供給されたフレームデータを復号し、その結果得られた復号信号を出力切替部25の端子61に供給する。このとき、フレーム信号復号部23は、現フレームの直前のフレームを用いて、入力端子21から供給された現フレームのフレームデータを復号する。
【0083】
ステップS14において、出力切替部25の切替スイッチ66は、補間状態判定部24から供給された補間ステータスStatusの値が0であるか否かを判定する。ステップS14において、補間ステータスStatusの値が0であると判定された場合、処理はステップS15へと進む。
【0084】
ステップS15において、出力切替部25の切替スイッチ66は、切替スイッチSwitchを復号信号側の端子T0に切り替える。これにより、端子T0と出力端子67が接続され、フレーム信号復号部23から端子61を介して端子T0に入力された復号信号が、そのまま出力端子67を介して出力端子31に供給される。つまり、復号信号がそのまま出力信号(フレーム信号)とされる。
【0085】
ステップS16において、出力端子31は、出力切替部25の出力端子67から供給されたフレーム信号(復号信号)を、出力信号として後段の装置に出力する。また、出力端子67から出力された出力信号は、折り返し混入間引き部26にも供給される。
【0086】
ステップS17において、折り返し混入間引き部26は、出力切替部25から供給されたフレーム信号(出力信号)を、所定のサンプル単位(例えば、2,4,8などのサンプル単位)で間引いてダウンサンプリングを行ない、その結果得られた間引き信号を間引き信号バッファ27に供給し、保存させる。
【0087】
この際、通常行われるような、間引き前のエイリアシングを防ぐためのローパスフィルタは適用しない。これによって、フィルタ演算による処理負荷をなくし、さらに信号の高域エネルギーを損失することなく低域成分に変換して、間引き信号に混入させることができる。
【0088】
フレーム信号に対する間引きにより得られた間引き信号は、間引き信号バッファ27に供給されて保存される。間引き信号バッファ27は、最新のサンプルから所定の過去サンプル数(40乃至200m秒分程度)のサンプルを記憶しており、これらの間引き信号のサンプルはフレームデータが欠落した場合に補間信号の生成に利用される。
【0089】
ステップS17の処理が行なわれて間引き信号が保存されると、復号処理は終了し、次のフレームのフレームデータに対する復号処理が行なわれる。
【0090】
ところで、図7は、折り返し成分を混入することによる効果を示す図である。
【0091】
図7の左側に示すように、高域に周期性をもったエネルギーが集中し、低域にエネルギーがないような入力信号の場合、この信号に対して通常の折り返しカットのフィルタを行う間引き処理を行ったとき、図中、右上に示すように、間引かれた信号からは高域にあったエネルギーや周期性が消失し、その信号にはノイズ性の微弱な低域成分しか残らない。
【0092】
この信号を元に補間信号を生成すると、本来の信号と比べてエネルギーが消失し、ノイズ化によって補間処理の音質が劣化する。
【0093】
図中、左側に示す入力信号のスペクトルでは、入力信号のエネルギーは高域側に集中しており、高域成分には周期性がある。このような入力信号に対して、通常行なわれている間引き処理が行なわれたとする。
【0094】
通常、間引き処理が行なわれる場合、まず入力信号に対してローパスフィルタによるフィルタ処理が施され、その結果得られた信号のサンプルが間引かれる。そうすると、間引き処理により得られる信号のスペクトルは、図中、右上に示すようになる。この例では、得られた信号のスペクトルには低域成分のみが含まれており、その低域成分の波形は、入力信号の低域成分の波形とほぼ同じとなっている。
【0095】
つまり、通常の間引き処理では、入力信号のエネルギーや周期性が消失してしまうので、間引き処理により得られる信号はノイズのような時間波形の信号となってしまう。このようにして得られた信号を用いて補間信号を生成しても、出力信号の音質劣化を抑制することはできない。
【0096】
一方、オーディオ信号処理装置11の折り返し混入間引き部26では、折り返し除去のためのローパスフィルタを適用しないでサンプルが間引かれる。この場合、図中、右下に示すように、高域の周期性をもったエネルギーが低域成分に折り返して混入し、高周波の周期成分は、低域成分に変換された周期波形となる。これによって元の信号のエネルギーと高域の周期性が保持され、補間処理の音質を向上させることができる。
【0097】
すなわち、折り返し混入間引き部26では、入力された出力信号に対して何ら処理が施されず、そのまま出力信号のサンプルが間引かれる。これにより、間引きにより得られる間引き信号には、出力信号の高域の折り返し成分が混入されることになる。なお、以下、出力信号に対してフィルタ処理等を施さず、出力信号を直接間引く処理を折り返し混入間引き処理と称することとする。
【0098】
例えば、図中、左側に示す入力信号に対して折り返し混入間引き処理が行なわれると、その結果得られた間引き信号のスペクトルは、図中、右下に示すようになる。この例では、間引き信号の低域成分のスペクトル波形は、もとの入力信号の高域成分の波形を低域側に折り返して得られる波形となっている。
【0099】
このことは、折り返し混入間引き処理で得られた間引き信号には、もとの入力信号の高域の周期性をもったエネルギーが低域側に折り返されて混入していることを示している。つまり、間引き信号には、もとの入力信号の高域成分に含まれていたエネルギーと周期性(高域の折り返し成分)が含まれている。そのため、このようにして得られた間引き信号を用いて補間信号を生成すれば、出力信号の音質を向上させることができる。しかも、折り返し混入間引き処理では、フィルタ処理等が行なわれず、直接、出力信号のサンプルが間引かれるので、補間信号生成のための処理量を大幅に削減することができる。
【0100】
続いて、補間ステータスStatus=1である場合の処理について説明する。
【0101】
図6のフローチャートの説明に戻り、ステップS12において、補間ステータスStatusの値が偶数でないと判定された場合、処理はステップS18に進む。この場合、現フレームのエラーフラグは1であるので、入力端子21に入力されるフレームデータはダミーデータであるか、またはフレームデータが入力されない。
【0102】
ステップS18において、類似信号検出部28は、補間状態判定部24から供給された補間ステータスStatusの値が1であるか否かを判定する。ステップS18において、補間ステータスStatusの値が1であると判定された場合、処理はステップS19へと進む。
【0103】
ステップS19において、類似信号検出部28は、類似信号位置の初期サーチを行なう。すなわち、類似信号検出部28は、間引き信号バッファ27の中から過去の間引き信号を読み出して、補間信号の生成に最適な抽出バッファ位置(例えば、後述する図8の抽出バッファ位置P)を検出する。類似信号検出部28は、検出した抽出バッファ位置Pを示す情報をアップサンプル部29に供給する。
【0104】
例えば、類似信号検出部28は、間引き信号バッファ27に保持されている間引き信号における最も時刻が新しい区間、つまり消失した現フレームのオーディオ信号の直前の時刻の間引き信号部分を抽出し、抽出した区間と類似する間引き信号の他の区間を検索する。そして、類似信号検出部28は、検索により得られた区間の直後の位置を抽出バッファ位置Pとする。
【0105】
間引き信号における最も時刻が新しい区間と類似する他の区間の信号は、出力信号の現フレームの直前にある区間と類似する区間の間引き信号である。したがって、このような類似する他の区間直後の間引き信号を用いて補間信号を生成すれば、エラーにより消失してしまった出力信号の現フレームの信号と類似する信号が得られるはずである。
【0106】
ステップS19において初期サーチが行なわれたか、ステップS18において補間ステータスStatusの値が1でないと判定されたか、またはステップS14において補間ステータスStatusの値が0でないと判定された場合、ステップS20の処理が行なわれる。
【0107】
ステップS20において、アップサンプル部29は、抽出バッファ位置Pから1フレーム分の類似間引き信号を抽出する。例えば、アップサンプル部29は、類似信号検出部28から供給された情報に基づいて、間引き信号バッファ27に保持されている間引き信号における、抽出バッファ位置P直後に位置する1フレーム分の区間の信号を、類似間引き信号として抽出する。
【0108】
ステップS21において、アップサンプル部29は、抽出したサンプル(類似間引き信号)を元の入力サンプリングレートにまでアップサンプルして中間補間信号を生成し、スムージング部30に供給する。すなわち、類似間引き信号のサンプリングレートが、復号信号(出力信号)と同じサンプリングレートになるように、類似間引き信号がアップサンプルされ、中間補間信号とされる。
【0109】
また、スムージング部30は、アップサンプル部29から供給された中間補間信号にローパスフィルタを施してスムージングし、補間信号を生成する。スムージング部30は、生成された補間信号を出力切替部25の端子63に供給する。
【0110】
ステップS22において、出力切替部25の切替スイッチ66は、補間状態判定部24から供給された補間ステータスStatusの値が4であるか否かを判定する。
【0111】
ステップS22において、補間ステータスStatusの値が4であると判定された場合、処理はステップS23へと進み、ステップS22において、補間ステータスStatusの値が4でないと判定された場合、処理はステップS24へと進む。
【0112】
ここでは、補間ステータスStatusの値が1である場合について説明するので、処理はステップS24へと進むことになる。
【0113】
ステップS24において、出力切替部25の切替スイッチ66は、切替スイッチSwitchを補間信号側の端子T2に切り替える。これにより、端子T2と出力端子67が接続され、スムージング部30から端子63を介して端子T2に入力された補間信号が、そのまま出力端子67を介して出力端子31に供給される。つまり、補間信号がそのまま出力信号(フレーム信号)とされる。
【0114】
ステップS25において、類似信号検出部28は、抽出バッファ位置Pを1フレーム分(Nサンプル)だけ時間方向の後ろ側にシフトする(図8のP’の位置にシフトする)。
【0115】
ステップS25の処理が行なわれると、その後、処理はステップS16に進み、フレーム信号(出力信号)が出力される。さらに、その後、ステップS17の処理が行なわれて、フレーム信号が間引かれて間引き信号とされ、間引き信号が保存されると、復号処理は終了し、次のフレームのフレームデータに対する復号処理が行なわれる。すなわち、生成された補間信号の出力は、未来のフレームの補間処理のために再利用される。
【0116】
次に、補間ステータスStatusの値が1以外の奇数(3,5,7)である場合について説明する。補間ステータスStatusが「3」,「5」,「7」の何れかである場合、少なくとも現フレームのエラーフラグは1であり、かつ現フレームの直前の2フレームのうち、少なくとも1つのフレームのエラーフラグは1である。
【0117】
ステップS18において、補間ステータスStatusの値が1でない場合、つまり補間ステータスStatusの値が1ではない奇数の場合、ステップS19の処理はスキップされて、処理はステップS20へと進む。
【0118】
この場合、先にステップS19の初期サーチで検出された抽出バッファ位置Pが継続して用いられる。但し、より詳細には、抽出バッファ位置Pの位置は、これまでのステップS25の処理によって、初期サーチで検出された位置から1または数フレーム分だけずれた位置となっている。
【0119】
なお、補間ステータスStatusの値が1ではない奇数の場合、ステップS20以降の処理は、補間ステータスStatusの値が1である場合と同様であるので、その説明は省略する。すなわち、ステップS20乃至ステップS17の処理が行なわれて、復号処理は終了する。
【0120】
最後に、補間ステータスStatusの値が0以外の偶数(2,4,6)である場合について説明する。
【0121】
この場合、上述したステップS14において、補間ステータスStatusの値が0でないと判定され、処理はステップS20へと進む。そして、その後、上述したステップS20およびステップS21の処理が行なわれ、補間信号が生成される。
【0122】
さらに、ステップS21の後、ステップS22において、補間ステータスStatusの値が4であるか否かが判定される。
【0123】
ステップS22において、補間ステータスStatusの値が4でないと判定された場合、つまり補間ステータスStatusの値が2または6である場合、処理はステップS24に進み、出力切替部25の切替スイッチ66により、切替スイッチSwitchが補間信号側の端子T2に切り替えられる。これにより、端子T2と出力端子67が接続され、スムージング部30から端子63を介して端子T2に入力された補間信号が、そのまま出力端子67を介して出力端子31に供給される。つまり、補間信号がそのまま出力信号(フレーム信号)とされる。
【0124】
この場合、入力されたフレームデータは、フレーム信号復号部23で復号信号に復号されるが、この復号された時間信号(復号信号)は前フレームがエラーであったため、正常な信号ではない。したがって、出力切替部25は、これを出力せずに補間信号を出力する。なお、このときに得られた復号信号は、次のフレームの復号に適宜用いられる。
【0125】
これに対して、ステップS22において、補間ステータスStatusの値が4であると判定された場合、処理はステップS23に進む。
【0126】
ステップS23において、出力切替部25の切替スイッチ66は、切替スイッチSwitchを重複加算された信号側の端子T1に切り替える。これにより、端子T1と出力端子67が接続され、加算部65から出力された、重複加算された信号が出力端子67を介して出力端子31に供給される。つまり、補間信号と復号信号とを重み付き重複加算して得られた信号が出力される。
【0127】
例えば、図5に示した重み関数(重みWdec)が用いられて、フレームの先頭からMサンプルについて、補間信号と復号信号がオーバーラップされる。
【0128】
すなわち、補間信号のサンプルをXcon(n)とし、復号信号のサンプルをXdec(n)とし、生成する出力信号(フレーム信号)をXout(n)とし、フレームサンプル長をNとすると、次式(1)の計算により、出力信号Xout(n)が求められる。
【0129】
Xout(n)=Wdec×Xdec(n)+(1-Wdec)×Xcon(n) ・・・(1)
【0130】
但し、Xcon(n)、Xdec(n)、およびXout(n)におけるnは、n=0,1,2,…,N-1である。
【0131】
このような式(1)の計算により、出力がオーバーラップにより合成され、出力信号(フレーム信号)とされる。なお、オーバーラップする長さMは、フレーム長Nの1/4乃至1/2程度がよい。このようにして、前フレームの補間信号と復号された信号がスムーズに接続される。
【0132】
補間ステータスStatusが「4」である場合、現フレームと、現フレームの直前のフレームではフレーム消失は生じていないが、現フレームの2フレーム前のフレームでフレーム消失が生じている。また、現フレームの直前のフレームでは補間信号が出力信号とされている。そこで、前のフレームで出力信号として出力された補間信号と、復号により得られた復号信号とを滑らかに接続するために、重み付き重複加算により得られた信号が、出力信号として出力される。
【0133】
ステップS23の処理が行なわれて、出力信号が得られると、その後、ステップS25乃至ステップS17の処理が行なわれて、復号処理は終了する。
【0134】
ここで、ステップS19における、類似信号位置の初期サーチの具体的方法について説明する。この処理は、補間ステータスStatusの値が1である場合のみに行なわれる処理である。初期サーチでは、消失フレームの直前の所定サンプルと最も類似した信号がバッファ内でサーチされ、補間信号の生成に用いるためのバッファ位置が検出される。
【0135】
図8は、そのような処理の流れを説明する図である。図8において、上段は復号された信号サンプルの波形(復号信号の波形)であり、下段は間引き信号バッファ27に保存されている過去フレームの間引き信号である。
【0136】
まず、図中のブロックAは、消失フレームの直前の所定サンプル(例えば16乃至64サンプル)の間引き信号サンプルである。すなわち、消失フレームの直前の出力信号(復号信号)を間引きして得られた間引き信号の区間である。
【0137】
このブロックAの信号に最も類似した信号が間引き信号バッファ27に保持されている間引き信号の中から探索(サーチ)される。例えば、相互相関係数が最大となる位置、あるいは、ベクトル間距離(歪)が最小となる位置としてサーチが行なわれる。
【0138】
その結果、ブロックAの信号に最も類似した信号として、図中のブロックA’の部分の信号が得られたとする。この場合、図中、ブロックA’の直後(右側)にある点Pが信号抽出位置(抽出バッファ位置P)とされて、抽出バッファ位置Pから始まる1フレーム分の時間長のブロックBのサンプルが補間信号の生成に用いられる。
【0139】
すなわち、まず、アップサンプル部29において、ブロックBのサンプルをゼロ挿入によって元の信号のサンプリングレートにアップサンプルすることで、中間補間信号B’が生成される。次に、アップサンプリングによるイメージングを除去するためのローパスフィルタを通す処理がスムージング部30により行なわれる。
【0140】
このとき、フィルタの初期状態として、消失フレーム直前のバッファサンプルCをアップサンプルした信号が用いられる。すなわち、間引き信号のうちのブロックCの部分が、中間補間信号B’の直前に位置する信号であるものとされて、ブロックCの部分の信号をローパスフィルタの内部状態の初期値としたフィルタ処理が中間補間信号B’に対して行なわれ、補間信号が生成される。これにより、生成された補間信号と直前のフレーム信号との不連続性が緩和され、スムーズな接続が可能になる。
【0141】
すなわち、このローパスフィルタはイメージング除去とフレーム接続処理を兼ねている。スムージング部30においてスムージング処理された補間信号は、消失したフレームの代替信号として用いられる。なお、消失フレームの直前の時刻のバッファサンプルCをアップサンプルして得られた信号を、ローパスフィルタの内部状態の初期値として用いると説明したが、消失フレームの直前の出力信号を内部状態の初期値として用いてもよい。つまり、現フレームの直前のフレームの出力信号を、ローパスフィルタの内部状態の初期値として用いるようにしてもよい。
【0142】
以上のようにして、オーディオ信号処理装置11は、フレームのエラー情報(エラーフラグ)から、補間ステータスを判定し、その判定結果に応じた出力を行なう。
【0143】
オーディオ信号処理装置11によれば、出力信号を間引いて得られる間引き信号が補間信号の生成に用いられるので、補間信号を生成するための過去データを保持するバッファメモリを削減することができ、フレーム消失時の補間処理の演算負荷を削減することができる。
【0144】
また、オーディオ信号処理装置11によれば、正常復号時において補間信号を生成するための演算負荷を低減できる。さらに、折り返し混入間引き処理を行なうことで、生成された補間信号のエネルギー低下と周期性の消失を防ぎ、よりよい音質で消失データの補間ができる。
【0145】
さらに、オーディオ信号処理装置11によれば、少ない演算負荷で補間信号を滑らかに接続することができ、音質を向上させることができる。
【0146】
〈第2の実施の形態〉
[本技術の特徴について]
次に、第2の実施の形態で示す本技術の特徴について説明する。
【0147】
本技術は、特に以下の(1)乃至(4)の特徴を有している。
【0148】
(1)
以下の(ア)乃至(カ)の要素を持つ多チャンネル・オーディオ(音声)信号処理装置
(ア)所定の1以上のサンプル数で構成されるフレーム周期でオーディオ信号を符号化するオーディオ符号化装置およびオーディオ信号を復号するオーディオ復号装置
(イ)オーディオ符号化装置より受信した符号化ビットストリームを外部に送信し、外部より受信した符号化ビットストリームをオーディオ復号装置に送信するビットストリーム送受信装置
(ウ)上記サンプル毎にオーディオ信号を送受信し、基本的に上記フレーム周期で内部タイミング信号を発生させるオーディオ信号送受信装置
(エ)上記フレーム周期で外部より供給される外部同期信号に上記内部タイミング信号を同期させる機能を有するとともに、同期したか否かを示す情報を出力する同期処理装置
(オ)同期したか否かの情報を取得し、同期していれば、オーディオ信号を符号化、復号し符号化ビットストリームを送受信する同期完了状態に遷移し、同期していなければ同期するまで待機する同期未完了状態に遷移する状態遷移装置
(カ)初期化または動作中においても、外部からのチャンネル設定変更要求に応えて、チャンネル設定変更を可能にするチャンネル設定変更装置
(2)
上記(1)について、(ウ)の上記オーディオ信号送受信装置では、音声、オーディオ信号は基本的に上記サンプル数からなるダブルバッファにより送受信され、上記内部タイミング信号は上記ダブルバッファがスイッチするタイミングで発せられるとともに、(エ)の上記同期処理装置は、上記外部同期信号を受信したタイミングで、上記外部同期信号と上記内部タイミング信号の位相差を検出し、0サンプルを超える位相差を検出したときに、一方のバッファのサンプル長を位相差の分だけ短縮し、同期していない旨の情報を出力し、その後サンプル長を短縮したバッファから通常のサンプル長のバッファにスイッチするタイミングで短縮したサンプル長を通常のサンプル長に戻し、外部同期信号と内部タイミング信号を同期させる
(3)
上記(1)について、外部よりチャンネル設定変更要求を受信したときに上記同期完了状態であったときには、上記同期未完了状態に遷移した上でチャンネル設定を変更するチャンネル設定変更装置
(4)
上記(3)について、動作中のチャンネル設定変更に対応するため、上記オーディオ符号化・復号装置の取りうる多チャンネルの構成を十分収容可能なメモリ領域を予め確保するとともに、チャンネル設定変更要求を受信した際は各チャンネルの音声、オーディオ符号化、復号装置の静的データ領域を静的に確保し初期化するチャンネル設定変更装置
【0149】
[オーディオ信号処理装置の構成]
次に、本技術を適用したオーディオ信号処理装置について説明する。図9は、本技術を適用したオーディオ信号処理装置の一実施の形態の構成例を示す図である。
【0150】
図9のオーディオ信号処理装置101は、CPU(Central Processing Unit)102よりチャンネル設定変更(初期設定を含む)要求を受信すると、コマンド処理部121がこれを解釈し、チャンネル設定変更部122を呼び出す。
【0151】
チャンネル設定変更部122は、コマンドに従い符号化チャンネル数NCHEをオーディオ符号化器123、復号チャンネル数NCHDをオーディオ復号器124にそれぞれ送るとともに、両チャンネル数をオーディオ信号送受信部(Audio I/F)125に送る。
【0152】
また、チャンネル設定変更部122は、チャンネル設定変更時にチャンネル設定変更フラグchFlagに1をセットして同期制御部126に送る。
【0153】
オーディオ信号送受信部125は、符号化チャンネル数NCHE、および復号チャンネル数NCHDをセットし、オーディオ入力(Audio In)を受信し、オーディオ受信信号(AURX)としてオーディオ符号化器123に送るとともに、オーディオ復号器124よりオーディオ送信信号(AUTX)を受信し、オーディオ出力(Audio Out)として送信する。
【0154】
また、オーディオ信号送受信部125において、受信部(RX)125aは、基本的にNFサンプルからなるフレーム周期のタイミングで発生する受信タイミング信号TMGRX、および次の受信タイミング信号TMGRXまでのサンプル数を示す受信サンプルカウンタNDRXを同期制御部126に送信する。
【0155】
同様に、オーディオ信号送受信部125の送信部(TX)125bは、基本的にNFサンプルからなるフレーム周期のタイミングで発生する送信タイミングで発生する送信タイミング信号TMGTX、および次の送信タイミング信号TMGTXまでのサンプル数を示す送信サンプルカウンタNDTXを同期制御部126に送信する。
【0156】
オーディオ符号化器123は、NCHEチャンネルのオーディオ受信信号(AURX)を符号化し、送信ビットストリームBSTXとしてビットストリーム送受信部(Bitstream I/F)127に送信する。オーディオ復号器124は、ビットストリーム送受信部127で受信したビットストリームBSRXを復号し、NCHDチャンネルのオーディオ送信信号(AUTX)を送信する。
【0157】
同期制御部126は、外部同期信号(FSYNC)を受信するとともに、オーディオ信号送受信部125より受信タイミング信号TMGRX、受信サンプルカウンタNDRX、送信タイミング信号TMGTX、送信サンプルカウンタNDTXを受信し、受信部125aに修正受信フレーム長LENRX、送信部125bに修正送信フレーム長LENTXを送信する。
【0158】
また同期制御部126は、同期していたら1、同期していなかったら0をセットして出力する同期状態フラグsyncFlagを状態遷移部128に出力する。さらに、同期制御部126は、チャンネル設定変更部122より1にセットされたチャンネル設定変更フラグchFlagを受信すると同期状態フラグsyncFlagに0をセットして出力する。
【0159】
状態遷移部128は、同期状態フラグsyncFlagを受信し、同期していないと(syncFlag=0)、同期未完了状態に遷移し、同期状態変数STSYNCに0をセットし、オーディオ符号化器123、オーディオ復号器124を初期化し、同期していると(syncFlag=1)、同期完了状態に遷移し、同期状態変数STSYNCに1をセットし、オーディオ符号化器123によるオーディオ信号の符号化、オーディオ復号器124によるオーディオ信号の復号を実行させる。
【0160】
また、オーディオ信号送受信部125には、オーディオ入力の受信と符号化に用いられる図示せぬダブルバッファが設けられている。例えば、ダブルバッファを構成するバッファの一方をバッファ0とし、他方をバッファ1とすると、これらのバッファは、交互に受信処理用である入力用バッファ、または符号化処理用である作業用バッファとして用いられる。
【0161】
具体的には、バッファ0が入力用バッファとされ、バッファ1が作業用バッファであるとすると、作業用バッファには、既に受信された前のフレームのオーディオ受信信号が格納されている。
【0162】
この状態から、受信部125aは、符号化チャンネル数NCHEに基づいて外部から受信したオーディオ入力を、オーディオ受信信号として入力用バッファに格納していく。このとき、受信部125aは、処理対象のフレームのオーディオ受信信号全てを入力用バッファに格納するまでに処理すべきサンプルの数を、受信サンプルカウンタNDRXとして同期制御部126に供給する。
【0163】
一方で、オーディオ符号化器123は、作業用バッファに格納されている前のフレームのオーディオ受信信号を読み出して、読み出したオーディオ受信信号を符号化し、送信部127aに供給する。
【0164】
そして、受信部125aは1フレーム分のオーディオ受信信号を全て受信し、入力用バッファに格納すると、入力用バッファと作業用バッファをスイッチさせ、受信タイミング信号TMGRXを同期制御部126に供給する。これにより、これまで入力用バッファとして利用されていたバッファ0が作業用バッファとなり、これまで作業用バッファであったバッファ1が入力用バッファとされて、次のフレームの受信と符号化が行なわれる。つまり、入力用バッファであるバッファ1に新たなフレームのオーディオ受信信号が格納され、作業用バッファであるバッファ0に格納されているオーディオ受信信号が符号化される。
【0165】
また、オーディオ信号送受信部125には、受信部125aにより利用されるダブルバッファと同様に、送信部125bにより利用されるダブルバッファ(図示せず)も設けられている。このダブルバッファでは、一方がオーディオ送信信号の送信用である出力用バッファとして用いられ、他方が受信ビットストリームの復号用である作業用バッファとして用いられる。
【0166】
具体的には、復号チャンネル数NCHDに基づいて、出力用バッファを用いたオーディオ送信信号の送信が行なわれ、その送信状況に応じて、送信部125bから同期制御部126には送信サンプルカウンタNDTXが供給される。つまり、出力用バッファに格納されている復号済みのオーディオ送信信号が読み出されて送信されていく。このとき、作業用バッファには、オーディオ復号器124が受信ビットストリームを復号することで得られたオーディオ送信信号が、オーディオ復号器124により順次格納されていく。
【0167】
また、1フレーム分のオーディオ送信信号の送信が行なわれ、出力用バッファと作業用バッファがスイッチすると、送信部125bから同期制御部126には、送信タイミング信号TMGTXが供給される。
【0168】
さらに、オーディオ信号処理装置101には、オーディオ符号化器123およびオーディオ復号器124により共用される図示せぬメモリが設けられ、そのメモリにはオーディオ信号の符号化や復号に必要な情報が格納される静的データ格納領域が確保されている。例えば、静的データ格納領域には、符号化または復号の対象となる各チャンネルのオーディオ信号に関する情報として、ビットレートや、1フレーム前の信号の情報である状態変数などが格納されている。オーディオ符号化器123およびオーディオ復号器124は、静的データ格納領域に格納されている各チャンネルの情報を参照しながら、オーディオ信号の符号化や復号を行なう。
【0169】
ところで、オーディオ信号の受信や符号化、復号や送信などは、オーディオ信号の1フレーム周期で行なわれるが、これらの処理は、ビデオ信号の処理など、外部における他の処理と同期して行なわれる必要がある。すなわち、オーディオ信号処理装置101の各処理、具体的には受信タイミング信号TMGRXや送信タイミング信号TMGTXの発生タイミングと、外部同期信号の発生タイミングとが同期する必要がある。
【0170】
そこで、同期制御部126は、オーディオ信号送受信部125から供給される受信サンプルカウンタNDRXや送信サンプルカウンタNDTXに基づいて、外部同期信号と、オーディオ信号処理装置101で行なわれるオーディオ信号に対する各処理とを同期させる。
【0171】
ここで、オーディオ信号送受信部125および同期制御部126による外部同期信号とオーディオ・フレームの同期方法について図10を参照して説明する。
【0172】
図10において、矢印QAにより示される部分は、外部同期信号(FSYNC)とオーディオ・フレームの内部タイミング信号(TMG)のタイム・チャートであり、矢印QBにより示される部分は、ダブルバッファを使用した内部タイミング信号(TMG)の同期合わせ方法を示している。
【0173】
なお、内部タイミング信号(TMG)の制御過程は送受信とも共通なので、記号TX、RXは省略する。すなわち、以下では、受信タイミング信号TMGRXと送信タイミング信号TMGTXを特に区別する必要のない場合には、それらの信号を内部タイミング信号TMGとも称することとする。
【0174】
時刻t1前は、外部同期信号(FSYNC)、内部タイミング信号(TMG)ともに1フレーム周期に当たるNFサンプルごとに信号が発生している。
【0175】
矢印QBに示されるように、オーディオバッファはダブルバッファであり、2個のサンプル長NFのバッファをオーディオ入力(出力)用および作業用として交互に切り替えるとともに、切替タイミングで内部タイミング信号TMGを発生させる。ここで、図10に示すオーディオバッファ0とオーディオバッファ1は、オーディオ信号送受信部125に設けられたダブルバッファである。なお、ここではオーディオバッファ0とオーディオバッファ1からなるダブルバッファが、受信部125aまたは送信部125bの何れにより利用されるダブルバッファであるかは、特に区別しないこととする。
【0176】
時刻t1で外部同期信号(FSYNC)が入ったときに、オーディオバッファ0がオーディオ入力(出力)用、オーディオバッファ1が作業用として動作中であるとする。この時、オーディオポインタはサンプルカウンタNDの位置にいるが、NDの値は、現在の外部同期信号と内部タイミング信号の位相差にあたり、この値がフレーム長NFより小さい場合、同期未完了状態とし、同期状態フラグsyncFlagに0がセットされる。
【0177】
すなわち、時刻t1におけるオーディオバッファ0のオーディオポインタの位置は、これまでにオーディオ信号の受信または送信が完了したサンプル位置を示している。換言すれば、オーディオポインタの位置は、処理対象のフレームに対する受信または送信が完了するまでに処理されるべきオーディオ信号のサンプルの数を示しているともいえる。
【0178】
したがって、オーディオポインタの位置により特定されるサンプル数が、サンプルカウンタND、つまり受信サンプルカウンタNDRX、または送信サンプルカウンタNDTXとして、同期制御部126に出力されることになる。
【0179】
なお、外部同期信号と内部タイミング信号の同期が完了した状態では位相差はなく、ダブルバッファの他方に入力(出力)用バッファが移っているため、サンプルカウンタNDの値はNFと同じ値になる。
【0180】
ここで、同期確立の過程に入り、現在作業用のバッファであるオーディオバッファ1のバッファ長LENが次式(2)の通り変更される。
【0181】
LEN=NF-ND ・・・(2)
【0182】
式(2)では、フレーム周期NFとサンプルカウンタNDとの差が、変更後のオーディオバッファ1のバッファ長LENとされている。このようにして変更されたオーディオバッファ1のバッファ長LENが、修正受信フレーム長LENRX、または修正送信フレーム長LENTXとして、同期制御部126から受信部125aまたは送信部125bに供給される。
【0183】
時刻t2で、ダブルバッファの切替タイミングのため、内部タイミング信号TMGが発生し、オーディオバッファ0は作業用、オーディオバッファ1は入力(出力)用となる。
【0184】
例えば、オーディオバッファ1が入力用であるとすると、入力用のオーディオバッファ1に、新たな処理対象のフレームのオーディオ信号が格納されていく。この場合、オーディオバッファ1のバッファ長は1フレーム分のサンプル数よりも少ない「LEN」とされているため、(LEN)個のサンプルがオーディオバッファ1に格納された時点で、つまり時刻t3となった時点でダブルバッファの切替が行なわれることになる。換言すれば、ダブルバッファの切替(スイッチ)までの期間が、サンプルカウンタNDの分だけ短縮されたことになる。
【0185】
時刻t3で、オーディオポインタがバッファ長LENの位置となるとオーディオバッファの切替が起こり、内部タイミング信号TMGが外部同期信号と同じタイミングで発生する。このとき、同期制御部126による制御によって、オーディオバッファ1のバッファ長が、変更前のもとの長さであるNFに戻され、同期完了状態として同期状態フラグsyncFlagに1がセットされる。すなわち、外部同期信号と内部タイミング信号の位相差分だけ短縮されていたダブルバッファの切替(スイッチ)までの時間の長さが、短縮前のもとの長さに戻されることになる。
【0186】
以上の過程により、外部同期信号とオーディオ・フレームの同期が確立する。そして、時刻t2において処理対象とされていたフレームの次のフレームが処理対象とされ、そのフレームのオーディオ信号の符号化や復号が行なわれる。
【0187】
次に、オーディオ・チャンネル設定の変更処理について説明する。
【0188】
まず、オーディオ符号化器123、オーディオ復号器124の静的データ領域の静的確保方法について述べる。
【0189】
オーディオ信号処理装置101においては、チャンネルあたりの符号化器の静的データサイズがSEバイト、同様に復号器の静的データサイズがSDバイトであるとする。さらに、取りうる符号化器の最大チャンネル数をMCH_E、復号器の最大チャンネル数をMCH_Dとする。
【0190】
このとき、全チャンネル分を収容可能なメモリ領域のサイズTS[バイト]は次式(3)の通りとなる。
【0191】
TS = MCH_E・SE + MCH_D・SD ・・・(3)
【0192】
そこで、オーディオ信号処理装置101の図示せぬメモリ上にTSバイト分の静的データ格納領域をオーディオ信号処理装置101の初期化時点で確保しておく。
【0193】
図11は、チャンネル設定変更時の各チャンネルの静的データ領域の確保方法を示したものである。
【0194】
チャンネル設定変更前において、オーディオ符号化器123の符号化器はチャンネル数NE、オーディオ復号器124の復号器はチャンネル数NDとして設定されており、符号化器の静的データ領域ESn、復号器の静的データ領域DSn(nはチャンネル番号)が静的データ格納領域に確保されている。
【0195】
そして各静的データ領域は先頭アドレスポインタを指定し、符号化器ならSEバイト、復号器ならSDバイトの静的データサイズ分の領域を占有することで確保されている。ここで、各先頭アドレスポインタは、各静的データ領域ESnや静的データ領域DSnの先頭位置を示している。
【0196】
また、各チャンネルについて設けられた静的データ領域ESnには、それらのチャンネルのオーディオ信号の符号化に必要な情報、例えばビットレートや状態変数が格納される。同様に、各チャンネルについて設けられた静的データ領域DSnには、それらのチャンネルのオーディオ信号の復号に必要な情報、つまりビットレートや状態変数が格納される。
【0197】
今、チャンネル設定変更要求により符号化器のチャンネル数がNE’、復号器のチャンネル数がND’に変更されたとすると、一旦先頭アドレスポインタを解放し、新たに各チャンネルの静的データ領域の先頭アドレスポインタと静的データサイズ分の領域を順次確保し、初期化していく。この例では、静的データ格納領域には、符号化器の静的データ領域ES1乃至静的データ領域ESNE’と、復号器の静的データ領域DS1乃至静的データ領域DSND’とが新たに確保されている。
【0198】
このように、全チャンネル分を収容可能なメモリ領域のサイズを静的データ格納領域として、動的にではなく、オーディオ信号処理装置101の初期化時点で予め確保しておくことで、チャンネル設定変更があった場合でもデータの断片化を防止することができる。
【0199】
また、図12に示すように、オーディオ信号処理装置101は、オーディオ信号が外部同期信号により同期した「同期完了状態」と同期していない「同期未完了状態」の2つの状態を持ち、2つの状態は、同期制御部126の出力である同期状態フラグsyncFlagの値が1になると同期完了状態、0になると同期未完了状態になる。
【0200】
ここで、同期した状態で、チャンネル設定を変更すると、オーディオ符号化器123およびオーディオ復号器124は不安定な状態に陥る可能性がある。
【0201】
そこで、チャンネル設定変更要求が入るとチャンネル設定変更部122よりチャンネル設定変更フラグchFlagに1がセットされて同期制御部126に入力され、同期制御部126が同期状態フラグsyncFlagに0をセットし、状態遷移部128が同期未完了状態に移行し、チャンネル設定変更後の各チャンネルについてオーディオ符号化器123,オーディオ復号器124を初期化し、同期制御部126が同期を確立し同期状態フラグsyncFlag=1を出力するまで状態遷移部128は同期未完了状態に留まることになる。
【0202】
[符号化・復号処理の説明]
次に、図13のフローチャートを参照して、オーディオ信号処理装置101により行なわれる符号化・復号処理について説明する。
【0203】
ステップS61において、コマンド処理部121は、CPU102より受信したチャンネル設定変更コマンドをチャンネル設定変更部122に送る。そして、チャンネル設定変更部122が、コマンド処理部121からのチャンネル設定変更コマンドを、オーディオ信号送受信部(Audio I/F)125、オーディオ符号化器123、およびオーディオ復号器124に送る。
【0204】
ステップS62において、オーディオ信号送受信部125は、チャンネル設定に従い初期化を行ない、ステップS63において、オーディオ符号化器123およびオーディオ復号器124を初期化する。
【0205】
例えばステップS62では、オーディオ信号送受信部125は、チャンネル設定変更部122からチャンネル設定変更コマンドとともに供給された、符号化チャンネル数NCHEと復号チャンネル数NCHDに基づいて、符号化チャンネル数と復号チャンネル数を設定する。
【0206】
また、ステップS63において、オーディオ信号処理装置101は、符号化チャンネル数NCHEと復号チャンネル数NCHDに基づいて、例えばメモリ上の静的データ格納領域に、図11に示した静的データ領域ES1乃至ESNE’と、復号器の静的データ領域DS1乃至DSND’を確保する。さらに、オーディオ符号化器123およびオーディオ復号器124は、静的データ格納領域に確保された静的データ領域に、チャンネルごとのビットレートや状態変数の初期値などを格納する。
【0207】
ステップS64において、同期制御部126は、外部同期信号が入ったか否かを検出する。ステップS64において、外部同期信号が入ったことが検出された場合、処理はステップS65に進む。
【0208】
ステップS65において、同期制御部126によりサンプルカウンタNDの値がフレーム周期NFに等しいか否かチェックされる。すなわち、同期制御部126は、受信部125aからの受信サンプルカウンタNDRX、および送信部125bからの送信サンプルカウンタNDTXについて、それらのサンプルカウンタNDの値がフレーム周期NFと等しいか否かを判定する。
【0209】
そして、ステップS65において、サンプルカウンタNDの値がフレーム周期NFに等しいとされた場合、処理はステップS66に進む。この場合、サンプルカウンタNDとフレーム周期NFが等しいので、外部同期信号(FSYNC)と内部タイミング信号(TMG)とが同期している状態である。
【0210】
ステップS66において、同期制御部126は、同期状態フラグsyncFlagに1をセットし、同期が完了したとして状態遷移部128にて同期完了状態に進むべく、処理は、ステップS71に進む。このとき、同期制御部126は1がセットされた同期状態フラグsyncFlagを状態遷移部128に供給する。
【0211】
また、ステップS64において、同期制御部126にて外部同期信号の入力が検出されなかった場合、処理はステップS69に進む。
【0212】
さらに、ステップS65において、サンプルカウンタNDの値がフレーム周期NFと等しくないと判定された場合、処理はステップS67に進む。この場合、サンプルカウンタNDとフレーム周期NFが等しくないので、外部同期信号(FSYNC)と内部タイミング信号(TMG)とが同期していない状態である。
【0213】
ステップS67において、同期制御部126は、同期状態フラグsyncFlagに0をセットし、状態遷移部128に供給する。
【0214】
ステップS68において、同期確立過程にて図10を参照して説明した時刻t1乃至時刻t3の各過程が実行される。
【0215】
すなわち、同期制御部126は、上述した式(2)を計算して変更後のオーディオバッファのバッファ長LENを算出し、得られたバッファ長LENを修正受信フレーム長LENRX、または修正送信フレーム長LENTXとして、受信部125aと送信部125bに供給する。すると受信部125aや送信部125bは、作業用として利用している、オーディオ信号送受信部125のオーディオバッファのバッファ長を変更する。
【0216】
これにより、作業用のオーディオバッファと、入力用または出力用のオーディオバッファとがスイッチするタイミング、つまりダブルバッファの切替タイミングで、外部同期信号(FSYNC)と内部タイミング信号(TMG)とが同期するようになる。
【0217】
ステップS68において同期確立過程の処理が行なわれたか、またはステップS64において、外部同期信号の入力が検出されなかった場合、ステップS69の処理が行なわれる。
【0218】
すなわち、ステップS69において、チャンネル設定変更要求が受信されたか否かがチャンネル設定変更部122により判定される。
【0219】
ステップS69において、チャンネル設定変更要求が受信されたと判定された場合、ステップS70において、チャンネル設定変更部122は、チャンネル設定を変更し、その後、処理はステップS62に戻り、上述した処理が繰り返される。
【0220】
すなわち、チャンネル設定変更部122は、チャンネル設定変更フラグchFlagに1をセットして同期制御部126に供給する。また、チャンネル設定変更部122は、符号化チャンネル数NCHEをオーディオ符号化器123およびオーディオ信号送受信部125に供給するとともに、復号チャンネル数NCHDをオーディオ復号器124およびオーディオ信号送受信部125に供給する。
【0221】
これに対して、ステップS69において、チャンネル設定変更要求が受信されていないと判定された場合、処理はステップS64に戻り、上述した処理が繰り返される。
【0222】
また、ステップS66において、同期状態フラグsyncFlagに1がセットされると、ステップS71において、同期制御部126は、外部同期信号を検出したか否かを判定する。
【0223】
ステップS71において、外部同期信号を検出したと判定された場合、ステップS72において、サンプルカウンタNDがフレーム周期NFに等しいか否かが同期制御部126により判定される。
【0224】
ステップS72において、サンプルカウンタNDがフレーム周期NFに等しいと判定された場合、同期状態が継続しているとして、処理はステップS73に進む。
【0225】
ステップS73において、同期制御部126は、同期状態フラグsyncFlagに1をセットして状態遷移部128に供給する。また、状態遷移部128は、同期制御部126からの同期状態フラグに応じて同期状態変数STSYNCに1をセットし、オーディオ符号化器123およびオーディオ復号器124に供給する。すなわち、同期完了状態とされる。
【0226】
そして、ステップS74において、オーディオ符号化器123によりオーディオ符号化が行なわれ、さらにステップS75においてオーディオ復号器124によりオーディオ復号が行なわれる。すなわち、オーディオ符号化器123は、受信部125aからのオーディオ受信信号を符号化して送信部127aに供給し、オーディオ復号器124は受信部127bからの受信ビットストリームを復号して送信部125bに供給する。オーディオ復号が行なわれると、その後、処理はステップS71に戻り、上述した処理が繰り返される。
【0227】
また、ステップS72において、サンプルカウンタNDがフレーム周期NFと等しくないと判定された場合、同期状態が確立していないとして処理はステップS76に進む。この場合、何らかの理由により、外部同期信号と内部タイミング信号とが同期していない状態となっている。
【0228】
ステップS76において、同期制御部126は、同期状態フラグsyncFlagに0をセットし、状態遷移部128にて同期未完了状態に進む。すなわち、ステップS76の処理が行なわれると、その後、処理はステップS63に戻り、上述した処理が繰り返される。
【0229】
具体的には、同期制御部126から状態遷移部128に、0がセットされた同期状態フラグsyncFlagが供給されると、状態遷移部128は、同期状態変数STSYNCに0をセットしてオーディオ符号化器123およびオーディオ復号器124に供給する。これにより、同期未完了状態となり、オーディオ符号化器123による符号化処理や、オーディオ復号器124による復号処理が停止される。このように、外部同期信号と内部タイミング信号とが同期していない状態であるときに、符号化処理や復号処理を一旦停止させ、オーディオ符号化器123や、オーディオ復号器124を初期化することで、オーディオ信号処理装置101が不安定となることを防止することができる。
【0230】
さらに、ステップS71において、同期制御部126により外部同期信号が検出されなかったと判定された場合、処理はステップS77に進む。
【0231】
ステップS77において、チャンネル設定変更部122は、チャンネル設定変更要求を受信したか否かを判定する。
【0232】
ステップS77において、チャンネル設定変更要求を受信したと判定された場合、ステップS78において、チャンネル設定変更部122は、チャンネル設定変更を行ない、チャンネル設定変更フラグchFlagに1をセットして同期制御部126に送る。また、チャンネル設定変更部122は、符号化チャンネル数NCHEをオーディオ符号化器123およびオーディオ信号送受信部125に供給するとともに、復号チャンネル数NCHDをオーディオ復号器124およびオーディオ信号送受信部125に供給する。
【0233】
ステップS79において、同期制御部126は、同期状態フラグsyncFlagに0をセットして、状態遷移部128に供給する。また、状態遷移部128は、オーディオ符号化器123、およびオーディオ復号器124を初期化するため同期状態変数STSYNCに0をセットし、同期未完了状態に進む。すなわち、ステップS79の処理が行われると、その後、処理はステップS62に戻り、上述した処理が繰り返される。
【0234】
ステップS79の処理が行なわれて同期未完了状態となると、オーディオ符号化器123による符号化処理や、オーディオ復号器124による復号処理が停止され、外部同期信号と内部タイミング信号との同期がとられる。このように、符号化処理や復号処理を一旦停止させた状態で、外部同期信号と内部タイミング信号の同期をとるようにすることで、オーディオ信号処理装置101が不安定となることを防止することができる。
【0235】
一方、ステップS77において、チャンネル設定変更要求を受信していないと判定された場合、処理はステップS71にもどり、上述した処理が繰り返される。
【0236】
以上のようにして、オーディオ信号処理装置101は、外部同期信号とオーディオ・フレームとの同期を確立させ、オーディオ信号の符号化・復号を行なう。
【0237】
オーディオ信号処理装置101によれば、オーディオ信号を画像などの信号と同期させて処理する場合に、外部同期信号に基づき同期完了状態と同期未完了状態の2状態に分けることで、明確に処理すべきタスクを分離でき、煩雑化を避けることができる。
【0238】
また、外部同期信号と、オーディオ信号送受信部125で発生させる内部タイミング信号との同期処理について、ダブルバッファを用いて、外部同期信号と内部タイミング信号の位相差を検出し、位相差に基づきダブルバッファの一方のバッファ長を変更し、内部タイミング信号の発生タイミングをずらすことで、低リソースで外部同期信号と内部タイミング信号を同期させることができる。
【0239】
さらに、チャンネル設定変更処理について、オーディオ符号化器123、およびオーディオ復号器124の静的データ領域を静的データ格納領域に静的に確保することで、オーディオ信号処理装置101が動作中でもメモリの断片化の発生を起こさずに各チャンネルの符号化器、復号器の静的データ領域を配置可能にするとともに、外部同期信号とオーディオ信号処理装置101が同期した状態でも、一旦同期未完了状態に移行し、各チャンネルの符号化器、復号器の静的データ領域の確保、初期化を実施することで、オーディオ信号処理装置101が不安定になるのを避けることができる。
【0240】
ところで、上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウェアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
【0241】
図14は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
【0242】
コンピュータにおいて、CPU(Central Processing Unit)201,ROM(Read Only Memory)202,RAM(Random Access Memory)203は、バス204により相互に接続されている。
【0243】
バス204には、さらに、入出力インターフェース205が接続されている。入出力インターフェース205には、入力部206、出力部207、記録部208、通信部209、及びドライブ210が接続されている。
【0244】
入力部206は、キーボード、マウス、マイクロホン、撮像素子などよりなる。出力部207は、ディスプレイ、スピーカなどよりなる。記録部208は、ハードディスクや不揮発性のメモリなどよりなる。通信部209は、ネットワークインターフェースなどよりなる。ドライブ210は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア211を駆動する。
【0245】
以上のように構成されるコンピュータでは、CPU201が、例えば、記録部208に記録されているプログラムを、入出力インターフェース205及びバス204を介して、RAM203にロードして実行することにより、上述した一連の処理が行われる。
【0246】
コンピュータ(CPU201)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア211に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【0247】
コンピュータでは、プログラムは、リムーバブルメディア211をドライブ210に装着することにより、入出力インターフェース205を介して、記録部208にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部209で受信し、記録部208にインストールすることができる。その他、プログラムは、ROM202や記録部208に、あらかじめインストールしておくことができる。
【0248】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【0249】
また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【0250】
例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【0251】
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
【0252】
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
【0253】
さらに、本技術は、以下の構成とすることも可能である。
【0254】
[1]
フレーム単位のオーディオ信号を復号して復号信号を生成する復号部と、
過去に出力された出力信号に間引き処理を施して間引き信号を生成する間引き部と、
前記間引き信号に基づいて補間信号を生成する補間信号生成部と、
フレームのエラー情報に応じて、前記復号信号、または前記補間信号の何れかを前記出力信号として出力する出力切替部と
を備える復号装置。
[2]
前記間引き部は、前記出力信号に対してそのまま前記間引き処理を施すことで、前記出力信号の高域の折り返し成分が混入された前記間引き信号を生成する
[1]に記載の復号装置。
[3]
前記間引き信号を保持する間引き信号保持部と、
処理対象のフレームの前記オーディオ信号が消失した場合、消失した前記オーディオ信号の直前の時刻の前記間引き信号の区間と類似する類似区間を、前記間引き信号保持部に保持されている前記間引き信号から検出する類似信号検出部と
をさらに備え、
前記補間信号生成部は、前記間引き信号保持部に保持されている前記間引き信号のうち、前記類似区間直後の区間の信号に基づいて前記補間信号を生成する
[1]または[2]に記載の復号装置。
[4]
前記補間信号生成部は、前記間引き信号保持部に保持されている前記間引き信号のうち、前記類似区間直後の区間の信号をアップサンプルし、
前記補間信号生成部によりアップサンプルされた信号に対して、ローパスフィルタを用いたフィルタ処理を施して前記補間信号とするスムージング部をさらに備える
[3]に記載の復号装置。
[5]
前記スムージング部は、消失した前記処理対象のフレームの前記オーディオ信号の直前の前記オーディオ信号、または消失した前記オーディオ信号の直前の時刻の前記間引き信号をアップサンプルして得られる信号を、前記ローパスフィルタの内部状態の初期値として用いる
[4]に記載の復号装置。
[6]
前記間引き部は、前記出力信号として前記出力切替部から出力された、前記復号信号または前記補間信号に前記間引き処理を施して前記間引き信号を生成する
[1]乃至[5]の何れかに記載の復号装置。
[7]
フレームの前記エラー情報に基づいて、補間ステータスを判定する補間状態判定部をさらに備え、
前記出力切替部は、前記補間信号と前記復号信号を重み付き重複加算することで加算信号を生成し、前記補間ステータスに応じて、前記復号信号、前記補間信号、または前記加算信号の何れかを前記出力信号として出力する
[1]乃至[6]の何れかに記載の復号装置。
[8]
フレーム単位のオーディオ信号を復号して復号信号を生成し、
過去に出力された出力信号に間引き処理を施して間引き信号を生成し、
前記間引き信号に基づいて補間信号を生成し、
フレームのエラー情報に応じて、前記復号信号、または前記補間信号の何れかを前記出力信号として出力する
ステップを含む復号方法。
[9]
フレーム単位のオーディオ信号を復号して復号信号を生成し、
過去に出力された出力信号に間引き処理を施して間引き信号を生成し、
前記間引き信号に基づいて補間信号を生成し、
フレームのエラー情報に応じて、前記復号信号、または前記補間信号の何れかを前記出力信号として出力する
ステップを含む処理をコンピュータに実行させるプログラム。
[10]
所定の長さの2つのバッファからなるダブルバッファが用いられてオーディオ信号に対する処理が行なわれる場合に、前記ダブルバッファをスイッチさせるタイミングで、内部タイミング信号を出力するタイミング信号発生部と、
前記内部タイミング信号と、外部から供給される外部タイミング信号とが同期していない場合、前記内部タイミング信号と前記外部タイミング信号との位相差だけ、前記ダブルバッファをスイッチさせるタイミングを短縮させることで、前記内部タイミング信号と前記外部タイミング信号を同期させる同期制御部と
を備えるオーディオ信号処理装置。
[11]
前記内部タイミング信号と前記外部タイミング信号が同期している場合、同期完了状態として、前記ダブルバッファを用いた前記オーディオ信号に対する処理を実行させ、前記内部タイミング信号と前記外部タイミング信号が同期していない場合、同期未完了状態として、前記オーディオ信号に対する処理を停止させる状態遷移部をさらに備える
[10]に記載のオーディオ信号処理装置。
[12]
前記状態遷移部は、複数のチャンネルの前記オーディオ信号に対する処理の実行を制御し、処理対象となる前記オーディオ信号のチャンネル数の変更が要求された場合、前記同期未完了状態として、前記オーディオ信号に対する処理を停止させる
[11]に記載のオーディオ信号処理装置。
[13]
前記同期制御部は、前記位相差だけ前記ダブルバッファを構成する1つのバッファの長さを短くすることで、前記ダブルバッファをスイッチさせるタイミングを短縮させて前記内部タイミング信号と前記外部タイミング信号を同期させた後、短くしたバッファの長さをもとの長さに戻すことで、前記ダブルバッファの次のスイッチまでの長さを短縮前のもとの長さに戻す
[11]または[12]に記載のオーディオ信号処理装置。
[14]
前記タイミング信号発生部は、受信された前記オーディオ信号を前記ダブルバッファを構成する一方のバッファに格納していき、前記一方のバッファへの前記オーディオ信号の格納が終了したタイミングで前記ダブルバッファをスイッチさせて前記内部タイミング信号を出力し、
前記状態遷移部は、前記同期完了状態であるか、または前記同期未完了状態であるかに応じて、前記オーディオ信号の符号化を制御し、
前記同期完了状態である場合、前記ダブルバッファを構成する他方のバッファに格納されている前記オーディオ信号を符号化する符号化部をさらに備える
[11]乃至[13]の何れかに記載のオーディオ信号処理装置。
[15]
前記タイミング信号発生部は、前記ダブルバッファを構成する一方のバッファに格納されている、復号された前記オーディオ信号を送信していき、前記一方のバッファの前記オーディオ信号の送信が終了したタイミングで前記ダブルバッファをスイッチさせて前記内部タイミング信号を出力し、
前記状態遷移部は、前記同期完了状態であるか、または前記同期未完了状態であるかに応じて、前記オーディオ信号の復号を制御し、
前記同期完了状態である場合、前記オーディオ信号を復号して前記ダブルバッファを構成する他方のバッファに格納していく復号部をさらに備える
[11]乃至[13]の何れかに記載のオーディオ信号処理装置。
[16]
処理対象となる前記オーディオ信号のチャンネル数の取り得る最大値により定まる大きさの記録領域が、各チャンネルの前記オーディオ信号に対する処理に必要な情報を格納するための静的データ格納領域として確保され、
前記チャンネル数の変更が要求された場合、前記オーディオ信号に対する処理に必要な情報が格納されるチャンネルごとの静的データ領域が前記静的データ格納領域上に確保される
[12]に記載のオーディオ信号処理装置。
[17]
所定の長さの2つのバッファからなるダブルバッファが用いられてオーディオ信号に対する処理が行なわれる場合に、前記ダブルバッファをスイッチさせるタイミングで、内部タイミング信号を出力し、
前記内部タイミング信号と、外部から供給される外部タイミング信号とが同期していない場合、前記内部タイミング信号と前記外部タイミング信号との位相差だけ、前記ダブルバッファをスイッチさせるタイミングを短縮させることで、前記内部タイミング信号と前記外部タイミング信号を同期させる
ステップを含むオーディオ信号処理方法。
[18]
所定の長さの2つのバッファからなるダブルバッファが用いられてオーディオ信号に対する処理が行なわれる場合に、前記ダブルバッファをスイッチさせるタイミングで、内部タイミング信号を出力し、
前記内部タイミング信号と、外部から供給される外部タイミング信号とが同期していない場合、前記内部タイミング信号と前記外部タイミング信号との位相差だけ、前記ダブルバッファをスイッチさせるタイミングを短縮させることで、前記内部タイミング信号と前記外部タイミング信号を同期させる
ステップを含む処理をコンピュータに実行させるプログラム。
【符号の説明】
【0255】
11 オーディオ信号処理装置, 23 フレーム信号復号部, 24 補間状態判定部, 25 出力切替部, 26 折り返し混入間引き部, 27 間引き信号バッファ, 28 類似信号検出部, 30 スムージング部, 101 オーディオ信号処理装置, 122 チャンネル設定変更部, 123 オーディオ符号化器, 124 オーディオ復号器, 126 同期制御部, 128 状態遷移部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
【国際調査報告】