説明

デジタルオーディオ再生装置及びデジタルオーディオ再生方法

【課題】連続性のある音声波形データを生成し、違和感の無い楽音を再生することができる、デジタル音声再生装置及びデジタル音声再生方法を提供すること
【解決手段】本発明にかかるデジタルオーディオ再生装置は、基本波形データを記憶する基本波形記憶部B120と、入力される音声データを用いて、第1の音声波形データを生成する音声再生部B100と、基本波形データの振幅が0となる点における基本データの傾きと第1の音声波形データの振幅が0となる点における第1の音声波形データの傾きとを用いて、傾き比率を算出する傾き比率算出部B160と、音声データの欠落が発生した場合に、傾き比率を用いて基本波形データを補正した補正波形データと、第1の音声波形データとを組み合わせて第2の音声波形データを生成する補正処理部B150と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は音声データが欠落した場合において、音声再生波形データを生成するデジタルオーディオ再生装置に関する。
【背景技術】
【0002】
デジタルオーディオ再生装置の技術分野において、符号化で生成されたオーディオのストリームを復号化する処理の処理量が増加している。これに伴い、フレームが欠落するという現象が増加している。そのため、このような現象の時に発生するポップ音やクリック音などの音声ノイズによる音声の品質低下を解消することの要求(必要性)が高まってきた。
【0003】
特許文献1には、楽音データが欠落するという異常が生じ、楽音データが不連続となった場合に、ポップ音やクリック音などの音声ノイズの発生による音声の品質低下を解消することを目的とした技術が開示されている。具体的には、特許文献1には、楽音波形データが欠落した時点から予めメモリに記憶された楽音波形データを加工した補間用音声信号を用いて楽音波形データを補間する特徴を有している。楽音波形データが欠落した場合に予めメモリに記憶された楽音波形データの読み出しアドレスをジャンプさせ、さらに読み出した楽音波形データを圧縮及び伸張する動作を実行することが開示されている。
【0004】
図14を用いて特許文献1に開示されている楽音発生装置の具体的な処理について説明する。図14は、楽音発生装置および楽音発生方法に用いられる波形メモリに記憶させる楽音波形データの加工方法の原理的説明図である。図中、1は周期の長い元波形(周期長L1)のサンプル値、2は周期の短い元波形(周期長L2)のサンプル値、3は規格化された周期長CL(Cycle Length)の記憶波形のサンプル値である。楽音波形を記憶させる際に、周期の長い元波形は、圧縮率α1=CL/L1で圧縮され、周期の短い元波形は、圧縮率α2=CL/L2で伸張され、周期がCLに規格化された記憶波形を形成して波形メモリに記憶する。
【0005】
ここでの圧縮および伸張は、いわゆるサンプリングレート変換の技術を用いて波形データのサンプリング周波数を変更することにより実現され、それにより1周期あたりのサンプル数が変化する。例えば、1周期あたり100サンプルの波形データのサンプリング周波数を1.5倍すれば1周期あたり150サンプルの波形データが得られ、元波形は圧縮率α2=150/100で伸張され、周期長が150サンプルに規格化された記憶波形を形成して波形メモリに記憶される。このように、波形準備処理では、圧縮伸張により元波形の長さがα倍された記憶波形が生成される。
【0006】
具体的には、楽音波形データから、同位相となる時点を検出して、ここを元波形の区切りポイントとして指定し、このポイント間を1周期と定めて、その間のサンプル数が予め定められたサンプル数となるようにサンプル値を補間する処理を行い、規格化された周期長CLの記憶波形のサンプル値3を得る。サンプリング周波数が一定であるので、1周期あたりのサンプル数で周期長を表すことができる。上述した波形処理における、1周期当たりのサンプル数の増減により、周期長が圧縮または伸張されることになる。なお、α2=CL/L2は、1を超える値をとるが、圧縮の場合と同じ演算式を用いるために伸張も圧縮率αで表現している。
【0007】
周期の切れ目のポイントとしては、楽音波形を1つのポイントまで読み出し終わったときに、その時点で、別の任意のポイントから始まる波形の読み出しに直接つないだ場合でも、波形が比較的滑らかにつながり、比較的ノイズの発生しにくい位置が選ばれている。
【0008】
仮想アドレスに応じた第1の系列、第2の系列の読出アドレスの進行の様子が、図15に示されている。図15は、ピッチ一定で再生時間のみを圧縮する第1の例である。図中、91は圧縮伸張しない場合に出力される第1の系列の読出アドレス、92は仮想アドレスカウンタ、93及び95は第1の系列の読出アドレス、94及び96は第2の系列の読出アドレスである。
【0009】
横軸は時間であり、縦軸は楽音波形データを記憶している波形メモリのアドレスである。再生時間を圧縮する場合には、仮想アドレスカウンタの傾きを、圧縮伸張しない場合の第1の系列の読出アドレス91の傾きよりも急峻にする。最初、第1の系列の読出アドレス93をアドレスとして波形メモリから読み出した第1の系列を出力する。
【0010】
そうすると、第1の系列の読出アドレス93は、仮想アドレスカウンタ92から遅れて行き、この遅れが所定周期数に達したときに、第2の系列の読出アドレス94をアドレスとして、上述した所定周期数だけアドレスを進めた位置から波形メモリを読み出し、この第2の系列を出力する。その際、瞬時に切り替えるのではなく、切り替えの前後の所定時間においては、2系列の出力を用いて徐々に第2の系列の割合を多くして出力するようにする。
【0011】
その後は、第2の系列の読出アドレス94も、仮想アドレスカウンタ92から遅れる。そこで、この遅れが上述した所定周期数に達したときに、第1の系列の読出アドレス95をアドレスとして、上述した所定周期数だけアドレスを進めた位置から波形メモリを読み出し、この第1の系列を出力するようにする。この際も、切り替えの前後の所定時間においては、2系列の出力を用いて徐々に第1の系列の割合を多くしてするようにする。同様にして、第1の系列の読出アドレス95から第2の系列の読出アドレス96に切り替える。結局、仮想アドレスカウンタ92を目標値として交互に2系列を切り替え、かつ、読み出しアドレスを局部的に飛び越しさせながら1つの全波形を読み出す。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】特開平10−307587号公報
【発明の概要】
【発明が解決しようとする課題】
【0013】
しかし、特許文献1に開示されている楽音発生装置は、正常な楽音波形データと予めメモリに記憶された楽音波形データを滑らかにつなげるために図15のように、所定周期数だけアドレスを進める或いは遅らせた、アドレスから波形メモリを読み出す。これにより、楽音波形データを生成しているため、アドレスを進める或いは遅らせたところで、メモリから読み出された楽音波形データの連続性が損なわれる。さらに連続性が損なわれた楽音波形データから圧縮及び伸張して補間用音声信号を生成するので波形に歪みを生じるため、違和感のある楽音となるという問題がある。
【課題を解決するための手段】
【0014】
本発明の第1の態様にかかるデジタルオーディオ再生装置は、基本波形データの振幅が0となる点における基本波形データの傾きと、音声波形データの振幅が0となる点における音声波形データの傾きとを用いて、傾き比率を算出する傾き比率算出部を備える。さらに、デジタルオーディオ再生装置に入力される音声データの欠落が発生した場合に、算出した傾き比率を用いて基本波形データを補正した補正波形データと、音声波形データとを組み合わせて新たな音声波形データを生成する補正部を備える。
【0015】
このようなデジタルオーディオ再生装置を用いることにより、基本波形データと音声波形データとを用いて、それぞれの振幅が0となる点における傾き比率を算出することができる。そのため、音声データの欠落が生じた場合においても、傾き比率を用いて基本波形データを補正することにより、欠落部分を補間した音声波形データを生成することができる。
【0016】
本発明の第2の態様にかかるデジタルオーディオ再生方法は、基本波形データの振幅が0となる点における基本波形データの傾きと、音声波形データの振幅が0となる点における音声波形データの傾きとを用いて、傾き比率を算出し、デジタルオーディオ再生装置に入力される音声データの欠落が発生した場合に、算出した傾き比率を用いて基本波形データを補正した補正波形データと、音声波形データとを組み合わせて新たな音声波形データを生成する。
【0017】
このようなデジタルオーディオ再生方法を用いることにより、基本波形データと音声波形データとを用いて、それぞれの振幅が0となる点における傾き比率を算出することができる。そのため、音声データの欠落が生じた場合においても、傾き比率を用いて基本波形データを補正することにより、欠落部分を補間した音声波形データを生成することができる。
【発明の効果】
【0018】
本発明により、連続性のある音声波形データを生成し、違和感の無い楽音を再生することができる、デジタル音声再生装置及びデジタル音声再生方法を提供することができる。
【図面の簡単な説明】
【0019】
【図1】実施の形態1にかかるデジタルオーディオ再生装置の構成図である。
【図2】実施の形態1にかかる音声波形の波形象限を説明する図である。
【図3】実施の形態1にかかるWrite動作を示すフローチャートである。
【図4】実施の形態1にかかる基本波形記憶部が記憶する波形のアドレスと基本波形のサンプル値とを示した図である。
【図5】実施の形態1にかかるFIFO部に登録される音声データを示した図である。
【図6】実施の形態1にかかるRead処理の動作を示すフローチャート図である。
【図7】実施の形態1にかかる音声補間方法を用いて処理した波形図である。
【図8】実施の形態2にかかる音声波形の波形象限を説明する図である。
【図9】実施の形態2にかかるWrite動作を示すフローチャートである。
【図10】実施の形態2にかかる基本波形記憶部が記憶する波形のアドレスと基本波形のサンプル値とを示した図である。
【図11】実施の形態2にかかるFIFO部に登録される音声データを示した図である。
【図12】実施の形態2にかかるRead処理の動作を示すフローチャート図である。
【図13】実施の形態2にかかる音声補間方法を用いて処理した波形図である。
【図14】特許文献1に記載されている波形の規格化を説明する図である。
【図15】特許文献1に記載されている楽音波形データ生成を説明する図である。
【発明を実施するための形態】
【0020】
(実施の形態1)
以下、図面を参照して本発明の実施の形態について説明する。図1を用いて、本発明の実施の形態1に係るデジタルオーディオ再生装置の構成例について説明する。デジタルオーディオ再生装置は、音声再生部B100と、ゼロクロス算出部B110と、基本波形記憶部B120と、波形象限判定部B130と、アドレス生成部B140と、補正処理部B150と、傾き比率算出部B160と、フェード処理部B180と、アドレス生成部B190と、FIFO部B200と、音声選択制御部B210と、音声選択部B220とを備えている。
【0021】
音声入力データMUSINは、音声再生部B100に入力される。音声再生部B100は、圧縮された音声入力データMUSINを展開し、展開した音声データMUSDをFIFO部B200とゼロクロス算出部B110とアドレス生成部B190とに出力する。
【0022】
また、音声再生部B100は、音声入力データが枯渇したと判断した場合、フェードアウト要求を示すフェードアウト信号FOUTを、フェード処理部B180と音声選択制御部B210とへ出力する。さらに、音声再生部B100は、フェードアウト信号FOUTをフェード係数FEDKに基づいて解除する。
【0023】
ゼロクロス算出部B110は、直前に記憶された音声データMUSDの振幅値の符号と入力された音声データMUSDの振幅値の符号とが反転した場合、ゼロクロスポイントZRPTと判断してゼロクロスポイントZRPTを示すゼロクロスポイントフラグZRPFを設定し、ゼロクロスポイントZRPTを波形象限判定部B130と音声選択制御部B210とへ出力する。たとえば、ゼロクロスポイントフラグZRPFを設定する場合、「1」を設定し、ゼロクロスポイントフラグZRPFを解除する場合、「0」を設定する。また、ゼロクロス算出部B110は、直前に記憶された音声データMUSDと入力された音声データMUSDとの変化量VECTを算出し、変化量VECTを傾き比率算出部B160へ出力する。
【0024】
基本波形記憶部B120は、アドレス生成部B140のアドレス信号ADRSに従って、記憶している基本波形のサンプル値BVALを波形象限判定部B130と補正処理部B150とへ出力する。さらに、基本波形記憶部B120は、基本波形変化量BVECTをアドレス信号ADRSに従って読み出された基本波形のサンプル値BVALから算出して傾き比率算出部B160へ出力する。
【0025】
ここで、図2を用いて、一般的な音声波形の波形象限について説明する。図2に示すように音声データが正の値で増加している範囲を第1象限、音声データが正の値で減少している範囲を第2象限、音声データが負の値で減少している範囲を第3象限、音声データが負の値で増加している範囲を第4象限とする。
【0026】
図1に戻り、波形象限判定部B130は、音声データがどの波形象限の位置にいるか判定する。さらに、波形象限判定部B130は、波形象限位置WVPTを用いてカウンタ制御信号値CTUDを制御してアドレス生成部B140へ出力する。さらに、波形象限判定部B130は、波形象限位置WVPTをアドレス生成部B140と補正処理部B150とへ出力する。
【0027】
アドレス生成部B140は、基本波形記憶部アクセス信号BRENを受けとると、カウンタ制御信号値CTUDを用いてアドレス信号ADRSを算出し、アドレス信号ADRSを基本波形記憶部B120と波形象限判定部B130と音声選択制御部B210とへ出力する。補正処理部B150は、基本波形のサンプル値BVALと傾き比率VRATから補正サンプル値VALを算出し、補正サンプル値VALをフェード処理部B180へ出力する。傾き比率算出部B160は変化量VECTと基本波形変化量BVECTとから傾き比率VRATを算出し、傾き比率VRATを補正処理部B150へ出力する。
【0028】
フェード処理部B180は、フェードアウト信号FOUTを受けて、補正サンプル値VALに対してフェード処理、あるいは、遅延音声データFIFODに対してフェード処理を実施し、フェード処理データFADEを音声制御選択部B220へ出力する。さらに、フェード処理に使用するフェード係数FEDKを音声再生部B100へ出力する。フェード処理におけるフェードイン処理及びフェードアウト処理は、一般的な技術の為、詳細な動作は省略する。
【0029】
アドレス生成部B190は、音声データMUSDが入力されるごとにインクリメントされるライトアドレスWADRをFIFO部B200へ出力する。さらに、アドレス生成部B190は、リードアドレスRADRをFIFO部B200へ出力する。リードアドレスRADRは、フェード処理部B180と音声選択部B220とへ遅延音声データFIFODが出力されるごとにインクリメントされる。
【0030】
FIFO部B200は、音声データMUSDをライトアドレスWADRに従って記憶する。さらに、FIFO部B200は、記憶している音声データMUSDを遅延音声データFIFODとして、リードアドレスRADRに従ってフェード処理部B180と音声選択部B220とへ出力する。
【0031】
音声選択制御部B210は、ゼロクロスポイントフラグZRPFが設定された場合、ゼロクロスポイントZRPTのライトアドレスWADRをゼロアドレスZADRとして記憶する。また、音声選択制御部B210は、ゼロアドレスZADRとリードアドレスRADRとゼロクロスポイントZRPTとフェードアウト信号FOUTとを用いて音声選択信号MUSELを制御して、音声選択信号MUSELを音声選択部B220に出力する。さらに音声選択制御部B210は、フェードアウト信号FOUTを受け取ると、基本波形記憶部アクセス信号BRENを波形象限判定部B130とアドレス生成部B140とへ出力する。音声選択部B220は、音声選択信号MUSELに基づいて、フェード処理データFADEおよび遅延音声データFIFODのいずれか一方を選択して音声出力MUSOUTを出力する。
【0032】
続いて、図3を用いて本発明の実施の形態1にかかるデジタルオーディオ再生装置におけるWrite動作処理の流れについて説明する。はじめに、基本波形記憶部B120は、周期的に変化する波形の1/4周期分の基本波形のサンプル値BVALを記憶するようにして初期化を実行する(S1000)。さらに、基本波形記憶部B120は、基本波形変化量BVECTを基本波形のサンプル値BVALから式(1)を用いて算出する。
【0033】
BVECT=BVAL(1)−BVAL(0)・・・式(1)
括弧内の数字は基本波形のサンプル値を記憶しているアドレスを示している
【0034】
次に、音声再生部B100は、図示していない音声再生スイッチの状態を判定する(S1100)。音声再生部B100は、音声再生スイッチがONならばデータ枯渇判定ステップS1200へ遷移し、OFFならば処理終了へ遷移する
【0035】
次に、音声再生部B100は、音声入力データMUSINが枯渇しているか否かを判定する(S1200)。音声再生部B100は、一定の時間内に新たな音声入力データMUSINが入力されない場合、枯渇と判定し、フェードアウト状況判定ステップS2100へ遷移する。一方、音声再生部B100は、一定の時間内に新たな音声入力データMUSINが入力された場合は非枯渇と判定し、入力音声データ展開ステップS1300へ遷移する。
【0036】
次に、音声再生部B100は、圧縮された状態で入力されたパケット単位あるいはフレーム単位の音声入力データMUSINを展開して音声データMUSDを生成する(S1300)。次に、FIFO部B200は、音声データMUSDをライトアドレスWADRに従って記憶する(S1400)。次に、ゼロクロス算出部B110は、直前に記憶された音声データMUSD(t−1)と入力された音声データMUSD(t)の値が条件式(1a)又は条件式(1b)に該当するか否かを判定する(S1500)。
【0037】
MUSD(t−1)<0 かつ MUSD(t)≧0・・・条件式(1a)
MUSD(t−1)>0 かつ MUSD(t)≦0・・・条件式(1b)
【0038】
条件式(1a)及び条件式(1b)のいずれかを満たす場合、ゼロクロス算出部B110は、ライトアドレスWADRをゼロクロスポイントZRPTとして記憶する。さらにゼロクロス算出部B110は、ゼロクロスポイントフラグZRPFを設定する。
【0039】
条件式(1a)及び条件式(1b)のいずれかを満たす場合、波形の傾き算出ステップS1600へ遷移する。条件式(1a)及び条件式(1b)のいずれも満たさない場合ライトアドレス更新ステップS1900へ遷移する。
【0040】
次に、条件式(1a)と条件式(1b)のいずれかを満たす場合、ゼロクロス算出部B110は、変化量VECTを直前に記憶された音声データMUSD(t−1)と入力された音声データMUSD(t)とから式(2)を用いて算出する(S1600)。
【0041】
VECT=MUSD(t)−MUSD(t−1)・・・式(2)
【0042】
次に、傾き比率算出部B160は、傾き比率算出VRATを変化量VECTと基本波形変化量BVECTとから式(3)を用いて算出する(S1700)。
【0043】
VRAT=VECT/BVECT・・・式(3)
【0044】
次に、波形象限判定部B130は、ゼロクロスポイントZRPTと音声データMUSDと変化量VECTとを用いて波形象限位置WVPTを算出する(S1800)。波形象限判定部B130は、ゼロクロスポイントフラグZRPFが設定されている場合、音声データMUSD(t)がどの波形象限位置になるかを条件式(2a)、条件式(2b)より判定する。
【0045】
音声データMUSD≧0 かつ 変化量VECT>0・・・条件式(2a)
音声データMUSD≦0 かつ 変化量VECT<0・・・条件式(2b)
条件式(2a)の場合、波形象限位置WVPTを第1象限とする。
条件式(2b)の場合、波形象限位置WVPTを第3象限とする。
【0046】
さらに波形象限判定部B130は、波形象限位置WVPTを算出すると、ゼロクロスポイントフラグZRPFを解除する。次に、アドレス生成部B190は、ライトアドレスWADRをカウントアップする。次に、音声再生部B100は、ステップS1300において展開した音声データMUSDのすべてをFIFO部B200へ転送したか否かを判定する(S2000)。FIFO部B200への転送が未完了の場合、ステップS1400へ遷移する。FIFO部B200への転送が完了した場合、ステップS1100へ遷移する。
【0047】
ここで、ステップS1200において、音声再生部B100は、音声入力データMUSINが枯渇していると判定した場合、フェードアウト信号FOUTを設定し、フェード処理部B180と音声選択制御部B210とへ出力する(S2100)。次に、フェード処理部B180は、条件式(3a)〜条件式(3b)を用いて、フェード処理中か否かを判定する(S2200)。
【0048】
FEDK=0 条件式(3a)
FEDK≠0 条件式(3b)
【0049】
条件式(3a)を満たす場合、フェード処理完了と判定し、ステップS1100へ遷移する。条件式(3b)を満たす場合、フェード処理中と判定し、ステップS2200の処理を繰り返す。
【0050】
続いて、図3におけるフローチャートの動作の説明を、データを示しながら説明する。図4は、基本波形記憶部B120が記憶する1/4周期の波形のアドレスと基本波形のサンプル値を示した図である。基本波形のサンプル値BVALは、1/4周期の波形を一定間隔でサンプリングしたときの振幅値である。
【0051】
はじめに、初期化ステップS1000においては、基本波形記憶部B120は、図4に示すような値を基本波形のサンプル値BVALとして、アドレス0番地に0と、1番地に6と、2番地に12と、3番地に18と、さらに28番地に125と、29番地に126と、30番地に127と、31番地に127とを記憶する。さらに、基本波形記憶部B120は、基本波形変化量BVECTを基本波形のサンプル値BVALから式(1)を用いて算出する。
【0052】
BVECT=BVAL(1)−BVAL(0) ・・・式(1)
=6−0=6
【0053】
次に、再生スイッチ判定S1100においては、図示していない音声再生スイッチの状態をONと判定し、データ枯渇判定ステップS1200へ遷移する。次に、データ枯渇判定ステップS1200においては、音声再生部B100は、一定の時間内に新たな音声入力データMUSINが入力された場合、入力音声データ展開ステップS1300へ遷移する。
【0054】
ここで、図5を用いて、FIFO部B200に登録される音声データについて説明する。FIFO部B200には、音声データMUSDが、−120、−119、−117、・・・−23、−11、0、11、23,34、45,56、66、77の順に入力され、これ以降データが枯渇する。
【0055】
図3に戻り、入力音声データ展開ステップS1300においては、音声再生部B100は、圧縮された状態で入力されたパケット単位の音声入力データMUSINを展開して24個の音声データMUSDを生成する。次に、音声波形登録ステップS1400においては、FIFO部B200は、音声データMUSD=−120の値をライトアドレスWADR=0に記憶する。その後、ゼロクロス判定ステップS1500を経て、ステップS1900においてアドレス更新を行う。さらに、展開データ記憶完了判定ステップS2000を経て、ステップS1400へ遷移する。
【0056】
次に、音声波形登録ステップS1400においては、FIFO部B200は、音声データMUSD=−119の値をライトアドレスWADR=1に記憶する。次に、ゼロクロス判定ステップS1500においては、ゼロクロス算出部B110は、直前に記憶された音声データMUSD(0)=−120と入力された音声データMUSD(1)=−119とが条件式(1a)と条件式(1b)を満たさないと判定する。次に、ライトアドレス更新ステップS1900においては、アドレス生成部B190は、ライトアドレスWADR=1をカウントアップするため、ライトアドレスWADR=2に更新される。次に、展開データ記憶完了判定ステップS2000においては、音声生成部B100は、音声データMUSDのすべてがFIFO部B200へ転送されていないと判定し、音声波形登録ステップS1400へ遷移する。上記動作をライトアドレスWADR=15まで繰り返す。
【0057】
次に、ライトアドレスWADR=16のとき、ゼロクロス判定ステップS1500においては、直前に記憶された音声データMUSD(15)=−11と入力された音声データMUSD(16)=0とは、条件式(1a)を満たす。ゼロクロス算出部B110は、このときのライトアドレスWADR=16をゼロクロスポイントZRPT=16として記憶する。さらにゼロクロス算出部B110は、ゼロクロスポイントフラグZRPFを設定する。
【0058】
次に、波形の傾き算出ステップS1600においては、ゼロクロス算出部B110は、変化量VECTを直前に記憶された音声データMUSD(15)と入力された音声データMUSD(16)とから式(2)を用いて算出する。
【0059】
VECT=MUSD(16)−MUSD(15)・・・式(2)
=0−(−11)=11
【0060】
次に、傾き比率算出ステップS1700においては、傾き比率算出部B160は、傾き比率算出VRATを変化量VECTと基本波形変化量BVECTとから式(3)を用いて算出する。
【0061】
VRAT=VECT/BVECT・・・式(3)
=11/6=1.8
【0062】
次に、波形象限判定ステップS1800においては、音声データMUSD=0と変化量VECT=11とが条件式(2a)を満たすため、波形象限判定部B130は、波形象限位置WVPT=第1象限を算出する。さらに波形象限判定部B130は、ゼロクロスポイントZRPFを解除する。
【0063】
次に、ライトアドレス更新ステップS1900においては、アドレス生成部B190は、ライトアドレスWADR=16をカウントアップし、ライトアドレスWADR=17に更新する。上記動作がライトアドレスWADR=23まで繰り返される。
【0064】
ライトアドレスWADR=23のとき、展開データ記憶完了判定ステップS2000においては、音声データMUSDのすべてがFIFO部B200へ転送されたため、再生スイッチ判定ステップS1100へ遷移する。再生スイッチ判定S1100においては、音声再生部B100は、図示していない音声再生スイッチの状態をONと判定し、データ枯渇判定ステップS1200へ遷移する。データ枯渇判定ステップS1200においては、音声再生部B100は、一定の時間内に新たな音声入力データMUSINが入力されないと判定し、フェードアウト状況判定ステップS2100へ遷移する。
【0065】
フェードアウト割り込み要求ステップS2100においては、音声再生部B100は、フェードアウト信号FOUTを設定する。フェードアウト完了判定S2200においては、フェード処理部B180は、フェード係数FEDKを判断することにより、フェード処理中か否かを条件式(3a)、条件式(3b)より判断する。
【0066】
FEDK=0 条件式(3a)
FEDK≠0 条件式(3b)
【0067】
FEDKが条件式(3a)を満たす場合、音声再生部B100は、フェード処理完了と判定し、再生スイッチ判定ステップS1100へ遷移する。FEDKが条件式(3b)を満たす場合、音声再生部B100は、フェード処理中と判定し、フェードアウト完了判定ステップS2200の処理を繰り返す。
【0068】
ここでは、処理完了した時点で、再生スイッチ判定ステップS1100へ遷移すると、データ枯渇判定ステップS1200へ進み、データ枯渇判定ステップS1200では、音声再生部B100が、音声入力データMUSINが枯渇あるいは異常データであるかを判定する。音声再生部B100は、一定の時間内に新たな音声入力データMUSINが入力されない場合、フェードアウト信号を設定してフェードアウト状況判定ステップS2100へ遷移する。一方、一定の時間内に新たな音声入力データMUSINが入力された場合、入力音声データ展開ステップS1300へ遷移する。
【0069】
続いて、図6を用いて、本発明の実施形態1に係るデジタルオーディオ再生装置におけるRead処理の流れについて説明する。はじめに、音声再生部B100は、図示していない音声再生スイッチの状態を判定し、ONならゼロクロス判定ステップS3100へ、OFFなら処理終了へ遷移する(S3000)。
【0070】
次に、FIFO部B200は、ゼロクロスポイントZRPTとリードアドレスRADRとが一致するか否かを判定する(S3100)。ゼロクロスポイントZRPTとリードアドレスRADRとが一致しない場合、FIFO部B200は、遅延音声データFIFODをリードアドレスRADRに従って読み出す(S3200)。次に、音声選択部B220は、音声選択信号MUSELにより制御され、遅延音声データFIFODを音声出力MUSOUTへ出力する(S3600)。次に、アドレス生成部B190は、リードアドレスRADRをカウントアップし(S3700)、再生スイッチ判定ステップS3000へ遷移する。
【0071】
次に、ゼロクロス判定ステップS3100において、ゼロクロスポイントZRPTとリードアドレスRADRとが一致する場合、FIFO部200は、ゼロクロスポイントZRPTとリードアドレスRADRとが一致していることを音楽再生部B100へ通知し、音声再生部B100は、フェードアウト信号FOUTが設定されているか否かを判定する(S3800)。フェードアウト信号FOUTが設定されていない場合、音声データが枯渇していないため、ステップS3200へ遷移する。
【0072】
フェードアウト信号FOUTが設定されている場合、音声データが枯渇しているため、音声選択制御部B210は、基本波形記憶部アクセス信号BRENを設定し、基本波形記憶部アクセス信号BRENを波形象限判定部B130及びアドレス生成部B140へ出力する。次に、フェード処理部B180は、フェード係数FEDKが条件式(3a)もしくは条件式(3b)のいずれを満たすかを判定することにより、フェード処理中か否かを判定する(S4200)。
【0073】
FEDK=0 条件式(3a)
FEDK≠0 条件式(3b)
【0074】
フェード係数FEDKが条件式(3a)を満たす場合、フェード処理部B180は、フェード処理完了と判定し割り込み解除ステップS4900へ遷移する。フェード係数FEDKが条件式(3b)を満たす場合、フェード処理部B180は、フェード処理中と判定し基本波形読み出しステップS4200へ遷移する。
【0075】
次に、基本波形記憶部B120は、基本波形のサンプル値BVALをアドレス信号ADRSに従って読み出す(S4200)。データ値反転ステップS4300へ遷移する。アドレス信号ADRSは、基本波形記憶部アクセス信号BRENを受け取ったアドレス生成部B140から出力される。次に、補正処理部B150は、中間補正値TVALを基本波形のサンプル値BVALと波形象限位置WVPTとから式(5a)及び式(5b)を用いて算出する。
【0076】
波形象限位置WVPTが第1象限と第2象限の場合、
TVAL=BVAL ・・・式(5a)
波形象限位置WVPTが第3象限と第4象限の場合、
TVAL=BVAL×−1 ・・・式(5b)
【0077】
次に、補正処理部B150は、補正サンプル値VALを傾き比率VRATと中間補正値TVALとから式(6)を用いて算出する(S4400)。
【0078】
VAL=TVAL×VRAT・・・式(6)
【0079】
次に、フェード処理部B180は、フェード処理データFADEを補正サンプル値VALとフェード係数FEDKから式(7a)を用いて算出する(S4500)。
【0080】
FADE=VAL×FEDK・・・式(7a)
【0081】
また、フェード係数FEDKは、フェード補正係数FDKから式(7b)を用いて算出される。
【0082】
FEDK(t)=FEDK(t−1)−FDK・・・式(7b)
【0083】
次に、波形象限判定部B130は、基本波形記憶部アクセス信号BRENと波形象限位置WVPTとアドレス信号ADRSとを用いて、波形象限位置WVPTとカウンタ制御信号値CTUDとを更新する(S4600)。波形象限判定部B130は、基本波形記憶部アクセス信号BRENが"Highレベル"の場合、アドレス信号ADRSと波形象限位置WVPTとから波形象限を条件式(5a)〜条件式(5d)を用いて更新する。
【0084】
波形象限位置WVPT=第4象限かつアドレス信号ADRS=0・・・条件式(5a)
波形象限位置WVPT=第1象限かつアドレス信号ADRS=最大値・条件式(5b)
波形象限位置WVPT=第2象限かつアドレス信号ADRS=0・・・条件式(5c)
波形象限位置WVPT=第3象限かつアドレス信号ADRS=最大値・条件式(5d)
【0085】
条件式(5a)を満たす場合、波形象限位置WVPTを第1象限とする。条件式(5b)の場合、波形象限位置WVPTを第2象限とする。条件式(5c)の場合、波形象限位置WVPTを第3象限とする。条件式(5d)の場合、波形象限位置WVPTを第4象限とする。また、波形象限判定部B130は、カウンタ制御信号値CTUDを、波形象限位置WVPTが第1象限又は第3象限の場合 +1に設定し、波形象限位置WVPTが第2象限と第4象限の場合−1に設定する。
【0086】
次に、音声選択部B220は、フェード処理データFADEを音声選択信号MUSELにより制御され、音声出力MUSOUTとして出力する(S4700)。次に、アドレス生成部B140は、アドレス信号ADRSにカウンタ制御信号値CTUDを加えて、アドレス信号ADRSを更新する。次に、フェードアウト状況判定ステップS4000へ遷移する。
【0087】
続いて、図6のフローチャートの動作の説明を、データを示しながら説明する。図4は、基本波形の1/4周器の音声データの例である。図5は、FIFO部B200が登録する音声データの例である。ここでは入力順序の23番目以降のデータが枯渇するとしている。
【0088】
はじめに、再生スイッチ判定S3000においては、図示していない音声再生スイッチの状態をONと判定すると、ゼロクロス判定ステップS3100へ遷移する。ゼロクロス判定ステップS3100においては、音声選択制御部B210は、ゼロクロスポイントZRPT=16とリードアドレスRADR=0とが一致していないと判定し、音声波形読み出しステップS3200へ遷移する。
【0089】
次に、音声波形読み出しステップS3200においては、FIFO部B200は、リードアドレスRADR=0に従って遅延音声データFIFOD=−120を読み出す。次に、音声出力ステップS3600においては、音声選択部B2200は、音声選択信号MUSELにより制御され音声出力MUSOUT=−120を出力する。
【0090】
次に、リードアドレス更新ステップS3700においては、アドレス生成部B190は、リードアドレスRADR=0をカウントアップしてリードアドレスRADR=1にする。次に、再生スイッチ判定ステップS3000へ遷移する。上記動作をリードアドレスRADR=15まで繰り返す。
【0091】
次に、リードアドレス更新ステップS3700において、アドレス生成部B190は、リードアドレスRADR=15をカウントアップしてリードアドレスRADR=16にし、再生スイッチ判定ステップS3000へ遷移する。再生スイッチ判定S3000においては、図示していない音声再生スイッチの状態をONと判定し、ゼロクロス判定ステップS3100へ遷移する。ゼロクロス判定ステップS3100においては、音声選択制御部B210は、ゼロクロスポイントZRPT=16とリードアドレスRADR=16とが一致するため、フェードアウト要求判定ステップS3800へ遷移する。
【0092】
次に、フェードアウト要求判定ステップS3800においては、Write動作処理によってフェードアウト信号FOUTが設定されている場合、音声選択制御部B210は、基本波形記憶部アクセス信号BRENを設定し、波形象限判定部B130及びアドレス生成部B140へ出力する。次に、フェード係数判定ステップS4000においては、フェード処理部B180は、フェード係数FEDK=1の為、基本波形読み出しステップS4200へ遷移する。
【0093】
次に、基本波形読み出しステップS4200においては、基本波形記憶部B120は、アドレス信号ADRS=0に従って基本波形のサンプル値BVAL=0を読み出す。次に、データ値反転ステップS4300においては、補正処理部B150は、中間補正値TVALを、基本波形のサンプル値BVAL=0と波形象限位置WVPT=第1象限とから式(5a)を用いて算出する。
【0094】
TVAL=BVAL ・・・式(5a)
=0
【0095】
次に、レベル補正ステップS4400においては、補正処理部B150は、補正サンプル値VALを傾き比率VRAT=1.8と中間補正値TVAL=0とから式(6)を用いて算出する。
【0096】
VAL=TVAL×VRAT ・・・式(6)
=0×1.8=0
【0097】
次に、フェードアウト処理補正演算ステップS4500においては、フェード処理部B180が、フェード処理データFADEを、補正サンプル値VAL=0とフェード係数FEDK=1とから式(7a)を用いて算出する。
【0098】
FADE=VAL×FEDK・・・式(7a)
=0×1=0
【0099】
さらに、フェード係数FEDK(0)=1とフェード補正係数FDK=0.005とから式(7b)を用いて、フェード係数FEDK(1)を算出する。
【0100】
FEDK(1)=FEDK(0)−FDK・・・式(7b)
=1−0.005=0.995
【0101】
次に、波形象限更新ステップS4600においては、波形象限判定部B130は、基本波形記憶部アクセス信号BREN="HIGHレベル"と波形象限位置WVPT=第1象限とアドレス信号ADRS=0とが条件式(5a)〜(5d)を満たさないため、波形象限位置WVPT=第1象限の更新は行わない。また、波形象限判定部B130は、波形象限位置WVPT=第1象限であるため、カウンタ制御信号値CTUDを+1に設定をする。
【0102】
次に、音声出力ステップS4700においては、音声選択部B220は、フェード処理データFADE=0を出力するように音声選択信号MUSELにより制御され、音声出力MUSOUT=0を出力する。次に、アドレス更新ステップS4800においては、アドレス生成部B140は、アドレス信号ADRS=0にカウンタ制御信号値CTUDを加えてアドレス信号ADRS=1を生成する。次に、フェード係数判定ステップS4000へ遷移する。上記フェード係数判定ステップS4000までのステップをアドレス信号ADRS=31まで繰り返す。
【0103】
次に、アドレス信号ADRS=31の際の処理について説明する。フェード係数判定ステップS4000においては、フェード係数FEDKは、アドレス信号0〜30までの間に、0.005ずつ減少するため、0.845となっている。そのため、フェード処理部B180は、フェード係数FEDK=0.845であり条件式(3b)を満たすため、基本波形読み出しステップS4200へ遷移する。
【0104】
次に、基本波形読み出しステップS4200においては、基本波形記憶部B120は、基本波形のサンプル値BVALをアドレス信号ADRS=31に従って基本波形のサンプル値BVAL=127を読み出す。
【0105】
次に、データ値反転ステップS4300においては、補正処理部B150は、中間補正値TVALを基本波形のサンプル値BVAL=127と波形象限位置WVPT=第1象限とから式(5a)を用いて算出する。
【0106】
TVAL=BVAL・・・式(5a)
=127
【0107】
次に、レベル補正ステップS4400においては、補正処理部B150は、補正サンプル値VALを傾き比率VRAT=1.8と中間補正値TVAL=127とから式(6)を用いて算出する。
【0108】
VAL=TVAL×VRAT・・・式(6)
=127×1.8=228.6
【0109】
次に、フェードアウト処理補正演算ステップS4500においては、フェード処理部B180は、フェード処理データFADEを補正サンプル値VAL=228.6とフェード係数FEDK=0.845とから式(7a)を用いて算出する。
【0110】
FADE=VAL×FEDK ・・・式(7a)
=228.6×0.845 =193.1
【0111】
さらに、フェード係数FEDKを、フェード補正係数FDK=0.005から式(7b)を用いて算出する。
【0112】
FEDK=FEDK(31)−FDK・・・式(7b)
=0.845−0.005=0.84
【0113】
次に、波形象限判定ステップS4600においては、波形象限判定部B130は、基本波形記憶部アクセス信号BREN="HIGHレベル"と波形象限位置WVPT=第1象限とアドレス信号ADRS=31(最大値)とが条件式(5b)を満たすため、波形象限位置WVPT=第2象限に更新する。また、波形象限判定部B130は、カウンタ制御信号値CTUDを波形象限位置WVPT=第2象限より−1に設定をする。
【0114】
次に、音声出力ステップS4700においては、音声選択部B220は、音声選択信号MUSELの制御によりフェード処理データFADE=193.1を音声出力MUSOUT=193.1として出力する。
【0115】
次に、アドレス更新ステップS4800においては、アドレス生成部B140は、アドレス信号ADRS=31にカウンタ制御信号値CTUD=−1を加えてアドレス信号ADRS=30にする。上記フェード係数判定ステップS4000までのステップをアドレス信号ADRS=0まで繰り返す。
【0116】
次に、アドレス信号ADRS=0の際の処理について説明する。フェード係数判定ステップS4000においては、フェード処理部B180がフェード係数FEDK=0.69であり、条件式(3b)を満たすため、基本波形読み出しステップS4200へ遷移する。
【0117】
次に、基本波形読み出しステップS4200においては、基本波形記憶部B120は、アドレス信号ADRS=0に従って基本波形のサンプル値BVAL=0を読み出す。次に、データ値反転ステップS4300においては、補正処理部B150は、中間補正値TVALを基本波形のサンプル値BVAL=0と波形象限位置WVPT=第2象限とから式(5a)を用いて算出する。
【0118】
TVAL=BVAL ・・・式(5a)
=0
【0119】
次に、レベル補正ステップS4400においては、補正処理部B150は、補正サンプル値VALを傾き比率VRAT=1.8と中間補正値TVAL=0とから式(6)を用いて算出する。
【0120】
VAL=TVAL×VRAT ・・・式(6)
=0×1.8 =0
【0121】
次に、フェードアウト処理補正演算ステップS4500においては、フェード処理部B180は、フェード処理データFADEを補正サンプル値VAL=0とフェード係数FEDK=0.69とから式(7a)を用いて算出する。
【0122】
FADE=VAL×FEDK・・・式(7a)
=0×0.69=0
【0123】
さらに、フェード係数FEDKをフェード補正係数FDK=0.005から式(7b)を用いて算出する。
【0124】
FEDK=FEDK−FDK・・・式(7b)
=0.69−0.005=0.685
【0125】
次に、波形象限更新ステップS4600においては、波形象限判定部B130は、基本波形記憶部アクセス信号BREN="HIGHレベル"と波形象限位置WVPT=第2象限とアドレス信号ADRS=0とが条件式(5c)を満たすため、波形象限位置WVPT=第3象限に更新する。また、波形象限判定部B130は、カウンタ制御信号値CTUDを波形象限位置WVPT=第3象限より+1に設定をする。
【0126】
次に、音声出力ステップS4700においては、音声選択部B220は、音声選択信号MUSELにより制御され、フェード処理データFADE=0を音声出力MUSOUT=0として出力する。次に、アドレス更新ステップS4800においては、アドレス生成部B140が、アドレス信号ADRS=0にカウンタ制御信号値CTUDを加えてアドレス信号ADRS=1にする。次に、フェード係数判定ステップS4000へ遷移する。上記フェードアウト完了判定ステップS4000までのステップをアドレス信号ADRS=31まで繰り返す。
【0127】
次に、アドレス信号ADRS=31の際の処理について説明する。フェード係数判定ステップS4000においては、フェード処理部B180は、フェード係数FEDK=0.535であり、条件式(3b)を満たすため、基本波形読み出しステップS4200へ遷移する。
【0128】
次に、基本波形読み出しステップS4200においては、基本波形記憶部B120は、アドレス信号ADRS=31に従って基本波形のサンプル値BVAL=127を読み出す。次に、データ値反転ステップS4300においては、補正処理部B150は、中間補正値TVALを基本波形のサンプル値BVAL=127と波形象限位置WVPT=第3象限から式(5b)より算出する。
【0129】
TVAL=BVAL×(−1)・・・式(5b)
=−127
【0130】
次に、レベル補正ステップS4400においては、補正処理部B150は、補正サンプル値VALを傾き比率VRAT=1.8と中間補正値TVAL=127から式(6)で算出する。
【0131】
VAL=TVAL×VRAT ・・・式(6)
=−127×1.8 =−228.6
【0132】
次に、フェードアウト処理補正演算ステップS4500においては、フェード処理部B180は、フェード処理データFADEを補正サンプル値VAL=−228.6とフェード係数FEDK=0.535とから式(7a)を用いて算出する。
【0133】
FADE=VAL×FEDK・・・式(7a)
=−228.6×0.535=−122.3
【0134】
さらに、フェード係数FEDKをフェード補正係数FDK=0.005から式(7b)を用いて算出する。
【0135】
FEDK=FEDK−FDK・・・式(7b)
=0.535−0.005 =0.53
【0136】
次に、波形象限判定ステップS4600においては、波形象限判定部B130は、基本波形記憶部アクセス信号BREN="HIGHレベル"と波形象限位置WVPT=第3象限とアドレス信号ADRS=31(最大値)とが条件式(5d)を満たすため、波形象限位置WVPT=第4象限に更新する。また、波形象限判定部B130は、カウンタ制御信号値CTUDを波形象限位置WVPT=第4象限より−1に設定をする。
【0137】
次に、音声出力ステップS4700においては、音声選択部B220は、音声選択信号MUSELにより制御され、音声出力MUSOUT=−122.3を出力する。次に、アドレス更新ステップS4800においては、アドレス生成部B140は、アドレス信号ADRS=31にカウンタ制御信号値CTUD=−1を加えてアドレス信号ADRS=30にする。次に、フェード係数判定ステップS4000へ遷移する。上記フェードアウト完了判定ステップS4000までのステップをアドレス信号ADRS=0まで繰り返す。
【0138】
次に、アドレス信号ADRS=0の際の処理について説明する。フェード係数判定ステップS4000においては、フェード処理部B180は、フェード係数FEDK=0.48であり、条件式(3b)を満たすため、基本波形読み出しステップS4200へ遷移する。次に、基本波形読み出しステップS4200においては、基本波形記憶部B120は、基本波形のサンプル値BVALをアドレス信号ADRS=0に従って基本波形のサンプル値BVAL=0を読み出す。
【0139】
次に、データ値反転ステップS4300においては、補正処理部B150は、中間補正値TVALを基本波形のサンプル値BVAL=0と波形象限位置WVPT=第4象限から式(5b)より算出する。
【0140】
TVAL=BVAL×(−1)・・・式(5b)
=0
【0141】
次に、レベル補正ステップS4400においては、補正処理部B150は、補正サンプル値VALを傾き比率VRAT=1.8と中間補正値TVAL=0とから式(6)を用いて算出する。
【0142】
VAL=TVAL×VRAT・・・式(6)
=0×1.8=0
【0143】
次に、フェードアウト処理補正演算ステップS4500においては、フェード処理部B180は、フェード処理データFADEを補正サンプル値VAL=0とフェード係数FEDK=0.48とから式(7a)を用いて算出する。
【0144】
FADE=VAL×FEDK・・・式(7a)
=0×0.48=0
【0145】
さらに、フェード係数FEDKをフェード補正係数FDK=0.005から式(7b)を用いて算出する。
【0146】
FEDK=FEDK−FDK・・・式(7b)
=0.48−0.005=0.475
【0147】
次に、波形象限判定ステップS4600においては、波形象限判定部B130は、基本波形記憶部アクセス信号BREN="HIGHレベル"と波形象限位置WVPT=第4象限とアドレス信号ADRS=0とが条件式(5a)を満たすため、波形象限位置WVPT=第1象限に更新する。また、波形象限判定部B130は、カウンタ制御信号値CTUDを波形象限位置WVPT=第1象限より+1に設定をする。
【0148】
次に、音声出力ステップS4700においては、音声選択部B220は、フェード処理データFADE=0を音声選択信号MUSELにより制御され、音声出力MUSOUT=0を出力する。次に、アドレス更新ステップS4800においては、アドレス生成部B140は、アドレス信号ADRS=0にカウンタ制御信号値CTUD=1を加えてアドレス信号ADRS=1にする。次に、フェード係数判定ステップS4000へ遷移する。上記フェード係数判定ステップS4000までのステップをフェード係数FEDK=0となるまで繰り返す。
【0149】
続いて、上記説明した本発明の実施形態に係るデジタルオーディオ再生装置と音声補間方法を用いて処理した波形図を図7に示す。音声データの波形は、サンプリングポイント0〜23までの期間、音声レベル−120、−119、−117、・・・−23、−11、0、11、23,34、45,56、66、の順に入力され、これ以降の入力データが途切れて枯渇したとする。
【0150】
基本波形は、基本波形記憶部のアドレスを0〜31まで順に変化させ0、6、12、18、・・・125、126、127、127の1/4周期を読み出し、サンプリングポイント16〜47までである。
【0151】
補正波形は、基本波形記憶部のアドレス0〜31までの値0、6、12、18、・・・125、126、127、127までの値に傾き比率VRATの1.8を掛けた値0、10.8、21.6、32.4、・・・225、226.8、228.6、228.6をサンプリングポイント16〜47までとして生成する。
【0152】
フェードアウト波形は、出力波形であり、フェード係数を1、0.995、0.990、0.985、・・・0.86、0.855、0.85、0.845の順に補正波形に乗算して0、10.7、21.3、31.9、・・・193.5、193.9、194.3、193.1をサンプリングポイント16〜47まで出力する。以降は基本波形を元に、補正波形を生成し、フェード係数をかけることにより出力波形のフェード係数が0になるまで出力する。
【0153】
以上説明したように、本発明の実施の形態1にかかるデジタルオーディオ再生装置を用いることにより、音声データの欠落が発生した場合にゼロクロス点における正常な音声データの変化量と基本波形の変化量とから傾き比率を算出する。求めた傾き比率と基本波形サンプル値から補正サンプル値を算出し補正波形を生成することにより、波形データの連続性を保ち、波形の歪みを生じないため、違和感の無い音声データを生成することができる。
【0154】
さらに、本発明は音声データあるいは補正サンプル値がどの波形象限位置かを把握し、最小限の基本波形サンプル値から、値を反転、非反転の制御することで補正波形を生成することができるため、事前に用意する基本波形データを少ないデータ量で行うことができるため、装置を安価にできるという効果もある。
【0155】
(実施の形態2)
続いて、図8を用いて、本発明の実施の形態2にかかるデジタルオーディオ再生装置の構成例について説明する。基本波形記憶部B121は、アドレス生成部B140のアドレス信号ADRSに従って、記憶している基本波形のサンプル値BVALを波形象限判定部B130と補正処理部B150と比率算出部B160とに出力する。さらに、基本波形記憶部B120は、基本波形変化量BVECTと第2基本波形変化量BVECT2とを、アドレス信号ADRSに従って読み出された基本波形のサンプル値BVALから算出して傾き比率算出部B160へ出力する。
【0156】
アドレス生成部B141は、基本波形記憶部アクセス信号BRENを受け取ると、アドレス信号ADRSをカウンタ制御信号値CTUDとアドレス間隔値AINTとから算出して基本波形記憶部B120と波形象限判定部B130と音声選択制御部B140とへ出力する。傾き比率算出部B161は、傾き比率VRATを変化量VECTと基本波形変化量BVECTと第2基本波形変化量BVECT2から算出して補正処理部B150へ出力する。その他の構成は、図1と同様であるため、詳細な説明を省略する。
【0157】
次に、図9を用いて、本発明の実施形態2に係るデジタルオーディオ再生装置にかかるWrite処理の流れについて説明する。はじめに、基本波形記憶部B121は、1/4周期分の基本波形のサンプル値BVALを記憶する。さらに、基本波形記憶部B121は、基本波形変化量BVECTを基本波形のサンプル値BVALから式(1)を用いて算出する。また、第2基本波形変化量BVECT2を基本波形のサンプル値BVALから式(1a)を用いて算出する(S1010)。
【0158】
BVECT =BVAL(1)− BVAL(0)・・・式(1)
BVECT2=BVAL(2)− BVAL(0)・・・式(1a)
括弧内の数字は基本波形のサンプル値を記憶しているアドレスを示している
【0159】
ステップS1100からステップS1600は実施の形態1と同様の処理であるため、詳細な説明を省略する。
【0160】
次に、傾き比率算出部B161は、傾き比率算出VRATとアドレス間隔値AINTとを以下のように算出する(S1710)。
【0161】
VRAT=VECT/BVECT・・・式(3)
傾き比率算出VRATの値が
VRAT≦2の場合・・・条件式(6a)
AINT=1
VRAT>2の場合・・・条件式(6b)
AINT=2、VRAT=VECT/BVECT2
【0162】
ステップS1800からステップS2200は実施の形態1と同様の処理であるため、詳細な説明を省略する。
【0163】
続いて、図9のフローチャートの動作の説明を、データを示しながら説明する。図10は、本発明の実施形態2に係る基本波形のサンプル値を示した図である。図11は、本発明の第2の実施形態に係る音声データを示した図である。
【0164】
初期化ステップS1010においては、基本波形記憶部B121は、図10に示す値を基本波形のサンプル値BVALとして、0番地に0と、1番地に6と、2番地に12、3番地に18、・・・28番地に124と、29番地に125と、30番地に127と、31番地に127とを記憶する。さらに、基本波形記憶部B121は、基本波形変化量BVECTと第2基本波形変化量BVECT2とを基本波形のサンプル値BVALから式(1)、式(1a)を用いて算出する。
【0165】
BVECT =BVAL(1)−BVAL(0)・・・式(1)
=6−0=6
BVECT2=BVAL(2)−BVAL(0)・・・式(1a)
=12−0=12
【0166】
実施の形態1と同様に、ライトアドレスWADRを1から15まで、ステップS1400からステップS2000まで繰り返す。
【0167】
次にライトアドレスWADR=16の場合、ゼロクロス判定ステップS1500において、ゼロクロス算出部B110は、直前に記憶された音声データMUSD(15)=−21と入力された音声データMUSD(16)=0が、条件式(1a)を満たす。このときのライトアドレスWADR=16をゼロクロスポイントZRPT=16として記憶する。さらにゼロクロスポイントZRPFを設定する。
【0168】
次に、波形の傾き算出ステップS1600においては、ゼロクロス算出部B110は、変化量VECTを直前に記憶された音声データMUSD(15)と入力された音声データMUSD(16)とから式(2)を用いて算出する。
【0169】
VECT=MUSD(16)−MUSD(15)・・・式(2)
=0−(−21)=21
【0170】
次に、傾き比率算出ステップS1710においては、傾き比率算出部B161は、傾き比率算出VRATを変化量VECT=21と基本波形変化量BVECT=6から式(3)を用いて算出する。
【0171】
VRAT=VECT/BVECT・・・式(3)
=21/6=3.5
【0172】
算出した傾き比率算出VRATが2以上なので、条件式(6b)が成立する。そのため、傾き比率算出部B160は、傾き比率算出VRATを変化量VECT=21と第2基本波形変化量BVECT2=12とから条件式(6b)を用いて算出する。
【0173】
AINT=2
VRAT=VECT/BVECT2・・・条件式(6b)
=21/12 = 1.75≒1.8
【0174】
続いて、図12を用いて、本発明の実施の形態2に係るデジタルオーディオ再生装置のRead処理の流れについて説明する。ステップS3000からステップS4700までの処理は実施の形態1と同様の処理であるため、詳細な説明を省略する。
【0175】
次に、アドレス更新ステップS4810は、アドレス生成部B141は、アドレス信号ADRSをカウンタ制御信号値CTUDとアドレス間隔値AINTとから式(8a)、式(8b)を用いて算出する。
【0176】
カウンタ制御信号値CTUDが正の場合 ADRS=ADRS+AINT・式(8a)
カウンタ制御信号値CTUDが負の場合 ADRS=ADRS−AINT・式(8b)
【0177】
以下に、図12のフローチャートの動作の説明を、データを示しながら説明する。図10は、本発明の実施の形態2に係る基本波形のサンプル値を示した図である。図11は、本発明の実施の形態2に係る音声データを示した図である。
【0178】
実施の形態1と同様にリードアドレスRADR=15におけるリードアドレス更新ステップS3700まで繰り返す。次に、リードアドレスRADR=16における、ゼロクロス判定ステップS3100においては、音声選択制御部B210は、ゼロクロスポイントZRPT=16とリードアドレスRADR=16とが一致するため、フェードアウト要求判定ステップS3800へ遷移する。
【0179】
次に、フェードアウト要求判定ステップS3800においては、Write動作処理によりフェードアウト信号FOUTが設定されている場合、音声選択制御部B210は、基本波形記憶部アクセス信号BRENを設定し、波形象限判定部B130及びアドレス生成部B140へ出力する。次に、フェード係数判定ステップS4000においては、フェード処理部B180は、フェード係数FEDK=1の為、基本波形読み出しステップS4200へ遷移する。
【0180】
次に、基本波形読み出しステップS4200においては、基本波形記憶部B120は、基本波形のサンプル値BVALをアドレス信号ADRS=0に従って基本波形のサンプル値BVAL=0を読み出す。
【0181】
次に、データ値反転ステップS4300においては、補正処理部B150は、中間補正値TVALを基本波形のサンプル値BVAL=0と波形象限位置WVPT=第1象限とから式(5a)を用いて算出する。
【0182】
TVAL=BVAL ・・・式(5a)
=0
【0183】
次に、レベル補正ステップS4400においては、補正処理部B150は、補正サンプル値VALを傾き比率VRAT=1.8と中間補正値TVAL=0とから式(6)を用いて算出する。
【0184】
VAL=TVAL×VRAT・・・式(6)
=0×1.8=0
【0185】
続いて、フェードアウト処理補正演算ステップS4500においては、フェード処理部B180は、フェード処理データFADEを補正サンプル値VAL=0とフェード係数FEDK=1とから式(7a)を用いて算出する。
【0186】
FADE=VAL×FEDK ・・・式(7a)
=0×1 =0
【0187】
さらに、フェード係数FEDK=1をフェード補正係数FDK=0.005から式(7b)を用いて算出する。
【0188】
FEDK=FEDK−FDK ・・・式(7b)
=1−0.005=0.995
【0189】
次に、波形現象判定ステップS4600においては、波形象限判定部B130は、基本波形記憶部アクセス信号BREN="HIGHレベル"と波形象限位置WVPT=第1象限とアドレス信号ADRS=0とから条件式(5a)〜条件式(5d)に該当しないため、波形象限位置WVPT=第1象限のままとなる。また、波形象限判定部B130は、カウンタ制御信号値CTUDを波形象限位置WVPT=第1象限より+1に設定をする。
【0190】
次に、音声出力ステップS4700においては、音声選択部B220は、フェード処理データFADE=0を音声選択信号MUSELの制御により音声出力MUSOUT=0を出力する。
【0191】
次に、アドレス更新ステップS4810においては、アドレス生成部B140は、アドレス信号ADRS=0にアドレス間隔値AINT=2を加算してアドレス信号ADRS=2にする。上述の動作を、実施の形態1と同様に、アドレス信号ADRS=30のフェード係数判定ステップS4000まで繰り返す。
【0192】
アドレス信号ADRS=30の際に、フェード係数判定ステップS4000においては、フェード処理部B180は、フェード係数FEDK=0.925の為、基本波形読み出しステップS4200へ遷移する。
【0193】
次に、基本波形読み出しステップS4200においては、基本波形記憶部B121は、基本波形のサンプル値BVALをアドレス信号ADRS=30に従って基本波形のサンプル値BVAL=127を読み出す。
【0194】
次に、データ値反転ステップS4300においては、補正処理部B150は、中間補正値TVALを基本波形のサンプル値BVAL=127と波形象限位置WVPT=第1象限から式(5a)を用いて算出する。
【0195】
TVAL=BVAL・・・式(5a)
=127
【0196】
次に、レベル補正ステップS4400においては、補正処理部B150は、補正サンプル値VALを傾き比率VRAT=1.8と中間補正値TVAL=127とから式(6)を用いて算出する。
【0197】
VAL=TVAL×VRAT・・・式(6)
=127×1.8=228.6
【0198】
次に、フェードアウト処理補正演算ステップS4500においては、フェード処理部B180は、フェード処理データFADEを補正サンプル値VAL=0とフェード係数FEDK=0.925とから式(7a)を用いて算出する。
【0199】
FADE=VAL×FEDK ・・・式(7a)
=228.6×0.925 =211.4
【0200】
さらに、フェード係数FEDKをフェード補正係数FDK=0.005から式(7b)を用いて算出する。
【0201】
FEDK=FEDK−FDK・・・式(7b)
=0.925−0.005 =0.92
【0202】
次に、波形現象判定ステップS4600においては、波形象限判定部B130は、基本波形記憶部アクセス信号BREN="HIGHレベル"と波形象限位置WVPT=第1象限とアドレス信号ADRS=30(最大値)とが条件式(5b)を満たす為、波形象限位置WVPT=第2象限に更新される。また、波形象限判定部B130は、カウンタ制御信号値CTUDを−1に設定をする。
【0203】
次に、音声出力ステップS4700においては、音声選択部B220は、フェード処理データFADE=211.4を音声選択信号MUSELにより制御され、音声出力MUSOUT=211.4を出力する。
【0204】
次に、アドレス更新ステップS4810においては、アドレス生成部B141は、アドレス信号ADRS=30からアドレス間隔値AINT=2を減算してアドレス信号ADRS=28にする。これらの処理を、フェード係数FEDK=0となるまで繰り返す。
【0205】
上記説明した本発明の実施の形態2に係るデジタルオーディオ再生装置と音声補間方法で処理した波形図を図13に示す
【0206】
音声データの波形は、サンプリングポイント0〜23までの期間、音声レベル−219、−218、−215、・・・−42、−21、0、21、42、・・・103、122、139、の順に入力され、これ以降データが枯渇する。
【0207】
基本波形は、基本波形記憶部のアドレスを0〜30までをアドレス間隔値2を加算しながら基本波形の1/4周期の0、12、24、・・・、122、126、127を読み出し、サンプリングポイント16〜31まで出力する。
【0208】
補正波形は、基本波形記憶部のアドレス0〜30までの値0、12、24、・・・、122、126、127までの値に1.75を掛けた値0、21、42、・・・213.5、218.7、222.2をサンプリングポイント16〜31まで出力する。
【0209】
フェードアウト波形は、出力波形であり、フェード係数を1、0.995、0.990、0.985、・・・0.935、0.93、0.925の順に補正波形に乗算して0、20.8、41.5、・・・199.6、203.4、205.5、をサンプリングポイント16〜31まで出力する。
【0210】
次に基本波形記憶部のアドレスが最大アドレス30の為、基本波形サンプル値は、基本波形記憶部のアドレスを30〜0までをアドレス間隔値2を減算しながら、127、126、124、・・・42、21、0を読み出し、サンプリングポイント32〜46まで出力する。
【0211】
補正サンプリング値は、基本波形記憶部のアドレス30〜0までの値127、126、124、・・・42、21、0までの値に1.75を掛けた値、218.7、213.5、206.5、・・・42、21、0をサンプリングポイント32〜46まで出力する。
【0212】
フェードアウト波形は、フェード係数を0.92、0.915、0.91・・・0.86、0.855、0.85の順に補正サンプリング値に乗算して201.2、195.3、187.9、・・・36.1、17.9、0サンプリングポイント32〜46まで出力する。
【0213】
以上説明したように、本発明の実施の形態2にかかるデジタルオーディオ再生装置は、傾き比率からアドレス間隔値を算出する。算出したアドレス間隔値で基本波形のデータを読み出すことにより、補正波形の最大値を抑えることができるため、出力音声波形のダイナミックレンジオーバーによるクリッピング処理や、ダイナミックレンジオーバーによる波形の歪みによるノイズの発生を低減することが可能となる。
【0214】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【符号の説明】
【0215】
B100 音声再生部
B110 ゼロクロス算出部
B120、B121 基本波形記憶部
B130 波形象限判定部
B140 アドレス生成部
B150 補正処理部
B160、B161 傾き比率算出部
B180 フェード処理部
B190 アドレス生成部
B200 FIFO部
B210 音声選択制御部
B220 音声選択部

【特許請求の範囲】
【請求項1】
基本波形データを記憶する基本波形記憶部と、
入力される音声データを用いて、第1の音声波形データを生成する音声再生部と、
前記基本波形データの振幅が0となる点における前記基本データの傾きと前記第1の音声波形データの振幅が0となる点における前記第1の音声波形データの傾きとを用いて、傾き比率を算出する傾き比率算出部と、
前記音声データの欠落が発生した場合に、前記傾き比率を用いて前記基本波形データを補正した補正波形データと、前記第1の音声波形データとを組み合わせて第2の音声波形データを生成する補正部と、を備えるデジタルオーディオ再生装置。
【請求項2】
前記基本波形記憶部は、
少なくとも1/4周期の基本波形データを記憶する、請求項1記載のデジタルオーディオ再生装置。
【請求項3】
前記補正部は、
予め定められた補正係数を用いて前記補正波形データの振幅を段階的に小さくするように制御する、請求項1又は2記載のデジタルオーディオ再生装置。
【請求項4】
前記基本波形記憶部は、
記憶領域毎に割り当てられているアドレスと前記基本波形データを構成するデータとを対応付けて管理し、
前記補正部は、
前記傾き比率と予め定められた閾値とを比較し、前記比較した結果に応じて前記基本波形記憶部から読み出すアドレスを変化させる、請求項1乃至3のいずれか1項に記載のデジタルオーディオ再生装置。
【請求項5】
基本波形データを記憶し、
入力される音声データを用いて、第1の音声波形データを生成し、
前記基本波形データの振幅が0となる点における前記基本データの傾きと前記第1の音声波形データの振幅が0となる点における前記第1の音声波形データの傾きとを用いて、傾き比率を算出し、
前記音声データの欠落が発生した場合に、前記傾き比率を用いて前記基本波形データを補正した補正波形データと、前記第1の音声波形データとを組み合わせて第2の音声波形データを生成するデジタルオーディオ再生方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2012−237846(P2012−237846A)
【公開日】平成24年12月6日(2012.12.6)
【国際特許分類】
【出願番号】特願2011−106178(P2011−106178)
【出願日】平成23年5月11日(2011.5.11)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)