32位元處理器之定點數MFCC演算法的改進與探討 Improvement and Discussion of MFCC Algorithm on 32-bit Fixed-point Processors 學生:陳奕宏 指導教授:張智星.

Slides:



Advertisements
Similar presentations
提高阶段: ——ARM部分 电气工程系 赵志衡.
Advertisements

北京大学数字视频编解码技术国家工程实验室 AVS标准工作组,AVS产业技术创新战略联盟
進階ERP – 物料規劃 指導老師:王正華 報告人:高嘉聰.
基于ARM7的心电监护仪 的软件设计与实现 指导老师:蒲宝明 学 生:王慧静 学 号:
估計的基本概念 估計量之性質 估計之方法 區間估計之基本概念 平均數之區間估計 樣本大小.
門神 在傳統觀念中,門是居住環境中與外界相通的出入口,具有重要的屏障作用。門神顧名思義就是護宅守門的神仙,每逢過年,上至天子百官下至普通百姓,家家戶戶必在門上張貼門神,以保一家平安。 門神種類主要有宅第大門上將軍武門神、內室門戶上祈福文門神,還有童子門神、仙子門神等,形象豐富多樣,皇家貴戚還往往在畫上瀝粉貼金,十分吉祥喜慶。
第 9 章 多媒體.
第十章 图像的频域变换.
102年10月17日 臺北市公共運輸處 報告人:陳榮明處長
手持裝置應用系統之設計 與未來發展 黃有評 大同大學 資訊工程系.
● 计算机组成与维护 外存储器 第5章 本章要点 硬盘、光驱、移动硬盘的组成 硬盘、光驱的性能指标 外存储器的使用.
第一章 绪论.

CHAPTER 4 微 分.
Audio.
Digital Signal Processing 授课教师:胡慧珠
Time and frequency domain
A TIME-FREQUENCY ADAPTIVE SIGNAL MODEL-BASED APPROACH FOR PARAMETRIC ECG COMPRESSION 14th European Signal Processing Conference (EUSIPCO 2006), Florence,
Meal-Assistance Robot
Applications of Digital Signal Processing
Large-Scale Malware Indexing Using Function-Call Graphs
Hardware Chen Ching-Jung
V. Homomorphic Signal Processing
XVI. Applications of Wavelet Transforms
報告人:丁英智 資策會 網路多媒體研究所 11/3/2006
MCS2 教育訓練 教師使用教育訓練.
Penetrate Image System
計算方法設計與分析 Design and Analysis of Algorithms 唐傳義
關鍵詞辨認 (Keyword Spotting)
調變技術 Modulation 陳哲儀 老師 行 動 網 路 技 術 調變技術 Modulation 陳哲儀 老師 元培資管系 陳哲儀 老師.
梅爾倒頻譜係數 (Mel-frequency cepstral coefficients)
1 Introduction Prof. Lin-Shan Lee TA: Chun-Hsuan Wang.
1 Introduction Prof. Lin-Shan Lee.
定点数字信号处理器(DSP) 技术与应用 16位定点DSP—ADSP218X/219X.
第5章 資料倉儲的資料建置.
無線通訊系統模擬 姓名:顏得洋 學號:B
緣由 由於積體電路(Integrated Circuit, IC)製造技術的精進,系統設計已由運用個別積體電路功能整合的方式進步至系統晶片(System-on-a-Chip, SoC) 設計的世代。原本分屬不同設計範疇的類比(Analog)積體電路設計與數位(Digital)積體電路設計已經必須同時整合,而進入新的混合訊號(Mixed-Signal)積體電路設計的世代。
語音處理簡介.
聲轉電信號.
VI. Brief Introduction for Acoustics
第十章 轉換編碼 視轉換為座標軸之旋轉 視轉換為基底函數之分解 影像轉換 轉換編碼之方法 JPEG DCT 演算法 JPEG DCT 之結果
Principle and Application of Digital Television
Source: IEEE Transactions on Image Processing, Vol. 25, pp ,
一般論文的格式 註:這裡指的是一般 journal papers 和 conference papers 的格式。
天線工程期中報告 “Low-SAR Hexa-Band Antenna for Mobile
A Study on the Next Generation Automatic Speech Recognition -- Phase 2
The First Course in Speech Lab
Channel Multiplexing 陳洋升 (2018/9/10).
1 Introduction Prof. Lin-Shan Lee.
Advanced Digital Signal Processing 高等數位訊號處理
第三章 付里叶分析 离散付氏级数的数学解释(The Mathematical Explanation of DFS)
Music:《美智丹增嘉措仁波切長久住世祈禱文》
Yu-Chen 嘉義市立北興國民中學 新校舍符合永續建築 廚房新建工程 忠孝、仁愛、中正、至善樓修繕工程.
第十章 模糊图像变换编码 任课教师: 高新波 报告人: 包志强 年 1 2 月.
Predictive Coding Chapter /4/28 資料壓縮 ※ 第七章 預測編碼 ※
运动学 第一章 chapter 1 kinematices.
3-3 錐度車削方法 一、尾座偏置車削法 二、錐度附件車削法 三、複式刀座車削法.
An Efficient MSB Prediction-based Method for High-capacity Reversible Data Hiding in Encrypted Images 基于有效MSB预测的加密图像大容量可逆数据隐藏方法。 本文目的: 做到既有较高的藏量(1bpp),
第三模块 函数的微分学 第一节 导数的概念 一、瞬时速度 曲线的切线斜率 二、导数的定义 三、导数的几何意义 四、导数的物理意义 五、导函数
T分配、卡方分配與F分配查表.
多變數函數的極值(含Lagrange法)
Reversible Data Hiding in Color Image with Grayscale Invariance
Fast Image Dehazing Algorithm using Morphological Reconstruction
第三章 音樂檢索技術 1) 內涵式音樂資訊檢索(content-based music information retrieval)
三角比的恆等式 .
第三章时 域 分 析 引言 语音信号的短时处理方法 短时能量和短时平均幅度 短时平均过零率 短时自相关函数 短时时域处理技术应用举例
鳥聲辨識之初步研究與分析 Initial Studies and Analysis of Birdsong Recognition
緣由 由於積體電路(Integrated Circuit, IC)製造技術的精進,系統設計已由運用個別積體電路功能整合的方式進步至系統晶片(System-on-a-Chip, SoC) 設計的世代。原本分屬不同設計範疇的類比(Analog)積體電路設計與數位(Digital)積體電路設計已經必須同時整合,而進入新的混合訊號(Mixed-Signal)積體電路設計的世代。
語音特徵擷取之 資料相關線性特徵轉換 研究生:張志豪 多酌墨在數學式的物理意義及精神。 老師、各位口試委員、各位同學大家好。
Hybrid fractal zerotree wavelet image coding
Presentation transcript:

32位元處理器之定點數MFCC演算法的改進與探討 Improvement and Discussion of MFCC Algorithm on 32-bit Fixed-point Processors 學生:陳奕宏 指導教授:張智星

Outline 研究簡介 參考資料與相關研究 基礎理論 方法改進 實驗數據與分析 結論及未來工作

研究簡介 嵌入式語音之應用: 手機上聲控撥號系統 嵌入式語音學習軟體 Smart Phone 與PDA 上的語音辨識 PMP (Portable Multi-media Player) 上的語音辨識與控制

研究簡介 實作上的困難 嵌入式系統上的記憶體容量相對於PC來的小 嵌入式系統上的處理器 (CPU) 運算時脈較低 嵌入式系統上並未搭載浮點運算器 (FPU) 演算法由浮點資料型態更改為整數型態時,所造成的誤差

參考資料與相關研究 Jia-Ching Wang, Jhing-Fa Wang, Yu-Sheng Weng, “Chip design of MFCC Extraction for Speech Recognition”, INTEGRATION, the VLSI journal 32 (2002) 111–131 Soontorn Oraintara, Ying-Jui Chen, Trunong Q. Nguyen, “Integer Fast Fourier Transformation”, IEEE Transactions on Signal Processing, Vol. 50, NO.3, March 2002 Po-Chien Hsueh, Jyh-Shing Roger Jang, “Embedded Speech Recognition”, Master Thesis, July 2004 Chin-Lung Hart Su, Jyh-Shing Roger Jang “Speech Recognition on 32-bit Fixed-point Processors: Implementation & Discussions”, Master Thesis, July 2005

基礎理論:語音特徵參數擷取 常見的語音特徵參數擷取的方法: 線性預測編碼 (Linear Predictive Coding) 梅爾倒頻譜係數 (Mel-Scale Frequency Cepstral Coefficients) 線性預測編碼 梅爾倒頻譜係數 運算量 運算量較低 運算量較高 強韌度 雜音大時,辨識率降低 雜音大時,仍能維持一定的辨識率

基礎理論:MFCC 流程 語音訊號 三角帶通濾波器 Logarithm DCT 音框化 與 計算能量 1st order Regression 2nd order 預強調 Pre-emphasis 漢明窗 快速傅立葉轉換 39 dimensions MFCC

基礎理論:MFCC-音框化與取能量 音框化 計算能量 人類的語音訊號在20ms~30ms會呈現半穩態 取音框大小320個訊號點,重疊範圍160個訊號點,作為一個語音特徵之觀測單位 計算能量 計算每一個音框的能量,作為MFCC第13個參數 取能量數學式:

基礎理論:MFCC-預強調 消除並補償聲帶與嘴唇所產生壓抑高頻的效應 凸顯高頻的共振峰 預強調數學式:

基礎理論:MFCC-漢明窗 增加音框與音框間的左右連續性 避免往後作快速傅立葉轉換 (FFT)產生較多的訊號,導致分析上的誤差及錯誤產生 漢明窗數學式:

基礎理論:MFCC-快速傅立葉轉換 將在時域上的訊號轉換成頻率域,使得我們較容易從能量的分佈來觀測語音訊號的特性 離散傅立葉轉換(DFT)數學式: 快速傅立葉轉換,則運用DFT中有複數對偶之特性,來加速運算

基礎理論: MFCC-三角帶通濾波器與計算對數能量 梅爾頻率數學式: 將FFT後所得的能量頻譜,乘上一組M個的三角帶通濾波器來降低資料維度 將所得M個頻帶能量計算ln,取得對數能量

基礎理論:MFCC-離散餘弦轉換 離散餘弦數學式: 26維的資料由頻率域轉成時域上12維的資料 運算量較IDFT低

基礎理論:MFCC-差量倒頻譜 差量倒頻譜數學式: 運用兩次差量計算出Delta與Acceleration參數,來表示MFCC對於時間的變化

方法改進:觀測語料資訊 TCC300與TIMIT語料資訊 TCC300 Corpus TIMIT Corpus Speaker 150 males and 150 females 483 males and 192 females Sampling rate 16 kHz Bits per sample 16 bits Total files 8913 6300 Total Time 26.34 hours 5.38 hours

方法改進:MFCC-計算能量 計算能量的數學式: 避免資料溢位,我們將上述數學式子改寫為:

方法改進:MFCC-計算能量-TCC300 sv 以e0, e2, …e8, 代入運算,得到TCC300語料發生資料溢位的機率

方法改進:MFCC-計算能量-TIMIT sv 以e0, e2, …e8, 代入運算,得到TIMIT語料發生資料溢位的機率

方法改進:MFCC-計算能量 TCC300計算能量: TIMIT計算能量:

方法改進:MFCC-預強調 預強調數學式: 將a放大214倍: 預強調數學式改寫成:

方法改進:MFCC-漢明窗 乘上漢明窗後訊後數學式: 建立整數漢明窗表:

方法改進:MFCC-漢明窗 漢明窗放大不同的倍率圖

方法改進:MFCC-漢明窗 不同的放大倍率,資料鑑別度的差異

方法改進:MFCC-漢明窗 避免資料溢位與兼顧資料離散鑑別度,因此取放大係數 為214 數學式改寫成:

方法改進:MFCC-SIN表的建立 建立整數的SIN表,運用查表的方式來代替原本運用泰勒展開式原理,來運算的浮點數SIN函式 Weight Cepstrum 快速傅立葉轉換 (FFT)

方法改進:MFCC-SIN表的建立- Weight Cepstrum 總共有12個值需要做SIN運算,因此我們將經過SIN運算後之值放大214倍,並存入SIN表內 ftemp = PI / cepLifter; lby2 = cepLifter / 2.0f; FOR cepNumCounter = 1 TO numCepCoef DO cepWin[cepNumCounter] = 1.0f + lby2*sin(cepNumCounter * ftemp); END DO Cepstrum Lifter:22 Number of Cepstrum coefficent:12 需經 SIN 運算之值

方法改進:MFCC-SIN表的建立 -快速傅立葉轉換 FFT 及 FFT 副函式之虛擬碼: TPI = 6.28318530717959 需經sin 運算之值 sub-routine of fft n為 fft所要計算的點數 需經sin 運算之值 function of fft

方法改進:MFCC-SIN表的建立 -快速傅立葉轉換 FFT副函式中需經SIN運算的值: FFT函式中需經SIN運算之值: Index 2 Index 1 Round 8 Round 7 Round 6 Round 5 Round 4 Round 3 Round 2 Round 1 Round 1 Index 2 Index 1

方法改進:MFCC-SIN表的建立 建立包含30個元素大小,並放大214倍的整數SIN表 表的結構: Weight Cepstrum 12個整數資料 FFT 副函式 所需計算的SIN值 16個整數資料 FFT 函式 所需計算的SIN值 2個整數資料

方法改進:MFCC-三角帶通濾波器 三角帶通濾波器數學式:

方法改進:MFCC-三角帶通濾波器 建立一個可包含256個元素,整數 表 ,其中爲避免資料溢位,我們將之改寫為: 實部 虛部 能量

方法改進:MFCC-三角帶通濾波器 TCC300語料 的最大值與不同放大倍率之 表相乘後發生資料溢位的機率圖

方法改進:MFCC-三角帶通濾波器 TIMIT語料 的最大值與不同放大倍率之 表 相乘後發生資料溢位的機率圖

方法改進:MFCC-三角帶通濾波器 的值放大211倍,並存入整數 表內 將三角帶通濾波器的數學式改寫成:

方法改進:MFCC-COS表的建立 建立整數的COS表,運用查表的方式來代替原本運用泰勒展開式原理來作運算的浮點數COS函式 MFCC中使用到COS運算處有離散餘弦轉換 (DCT) ,數學式:

方法改進:MFCC-COS表的建立 DCT 虛擬碼: Cepstrum 參數數目:12 需經COS運算之值 三角濾通器個數:26 總共有312個值需要做COS運算,因此我們將經過COS運算後之值放大214倍,存入COS表內

方法改進:MFCC-對數表的建立 避免直接使用內建浮點數之對數函式 建立相對應的整數對數表,提高運算速度 建立適當大小的整數對數表,降低對數表所佔的記憶體空間 保持一定的精準度

方法改進:MFCC-對數表的建立 自然對數函式特性:

方法改進:MFCC-對數表的建立 將y軸切割成等距離,計算出x軸相對應之值,將之存入對應表

方法改進:MFCC-對數表的建立 利用Binary Search找出所要查表的值,相對應的Index即是查表完後的對數值 10 25 53 ln(X) = 3 X = 64 10 25 53 98 182 401 Index 1 Index 2 Index 3 Index 4 Index 5 Index 6

方法改進:MFCC-開平方根表的建立 避免直接使用標準浮點數之開平方根函式 建立相對應的開平方根表,提高運算速度 建立適當大小的開平方根表,降低開平方根表所佔的記憶體空間 保持一定的精準度

方法改進:MFCC-開平方根表的建立 將y軸切割成等距離,計算出x軸相對應之值,將之存入對應表

方法改進:MFCC-表的資訊 元素個數 表的個數 所需記憶體大小 查詢時間 先前的對數表 283211 3 1.08MB 我們的對數表 15526 1 0.058MB 我們的開方根表 16384 0.06MB

實驗數據與分析:誤差公式 使用四種誤差:

實驗數據與分析:COS and SIN Table 誤差 最大誤差 最大相對誤差 平均誤差 平均相對誤差 先前的做法 2 468.35 (%) 0.826027 129.791525 (%) 我們的做法 5.81E-05 100 (%) 2.43E-05 0.0038154 (%) SIN 表的誤差 SIN 表 最大誤差 最大相對誤差 平均誤差 平均相對誤差 先前的做法 9.7E-04 100 (%) 4.7E-04 0.07521 (%) 我們的做法 5.64E-05 2.45E-05 0.00546976 (%)

實驗數據與分析:COS and SIN Table大小 Size of COS Table SIN Table 先前的方法 4KB 我們的方法 1.22KB 0.12KB 節省空間 (%) 69.5313% 97.073%

實驗數據與分析:LOG及開方根表的誤差 LOG 表的誤差 開方根表的誤差 LOG 表 最大誤差 最大相對誤差 平均誤差 平均相對誤差 先前的做法 9.0011 100 (%) 7.7191 94.012 (%) 我們的做法 0.28578 0.0167 0.0204 (%) 開方根表 最大誤差 最大相對誤差 平均誤差 平均相對誤差 我們的做法 0.49874 29.289 (%) 0.24996 0.375 (%)

實驗數據與分析:TCC300-MFCC所有步驟之誤差表 先前方法的誤差: Maximum Average Absolute error Relative error Energy 1.224397 3125.52717 % 0.779034 122.442522 % Pre-emphasis 1.777343 110.756283 % 0.502014 0.240768 % Windowing 6.097656 100% 0.792114 0.702443 % FFT 745597.1875 9658170497.2 % 742.784652 33.543611 % Triangular filter 2152004436 1073298958.9 100.000817% Logarithm 3.93088 114.632 % 0.1242663 1.337575 % DCT 5.3998 408045871.145 % 0.18537 19.0496 % Weight Cepstrum 21.020127 404236090.82 % 1.4163288341 25.166302 % Delta 0.8347596644 26.56967208 % Acceleration 0.6092158652 27.180834 %

實驗數據與分析:TCC300-MFCC所有步驟之誤差表 我們方法的誤差: Maximum Average Absolute error Relative error Energy 1.22439717 3125.52717 % 0.77903400 122.442522 % Pre-emphasis 2.174194 110.7562 % 0.50223 0.24083 % Windowing 6.09765 100% 0.792131861 0.70245213 % FFT 646366.5 9432897797.4 % 582.55845871 25.96243 % Triangular filter 2151875678 1073298622.8 100.00078 % Logarithm 4.54862 90.1297 % 0.05821 0.61552 % DCT 4.18056 414368395.132 % 0.1166 12.005 % Weight Cepstrum 27.3529 414202583.35 % 0.907 15.8155 % Delta 0.5213 16.279 % Acceleration 414202583.350 % 0.37671 16.4986 %

實驗數據與分析:TCC300-MFCC所有步驟之誤差表-平均相對誤差比較 比較圖:

實驗數據與分析:TIMIT-MFCC所有步驟之誤差表 先前方法的誤差: Maximum Average Absolute error Relative error Energy 1.22428749 122.89031 % 0.8654990 122.40858 % Pre-emphasis 1.2502746 100 % 0.4941173 0.3746495 % Windowing 2.123046875 0.77052 1.08196 % FFT 126594.32 1274604075.9 % 362.66144 32.463512 % Triangular filter 2148490350 1073520286.7 100.0003 % Logarithm 3.7583 215.54560 % 0.1113 1.2498 % DCT 4.9989 6224711.201 % 0.1751 16.427 % Weight Cepstrum 16.124829 6214868.90 % 1.32690822 22.7336514 % Delta 8700327.12 % 0.79291050 24.6836269 % Acceleration 16.12482 11020803.92 % 0.5816822 25.501602 %

實驗數據與分析:TIMIT-MFCC所有步驟之誤差表 我們方法的誤差: Maximum Average Absolute error Relative error Energy 1.22428749 122.89031 % 0.8654990 122.40858 % Pre-emphasis 1.250274 100 % 0.49419 0.374706 % Windowing 2.1230468 0.770528 1.081972 % FFT 122648.32 820230374.6 % 280.07471 25.101727 % Triangular filter 2148460253 1073520142.63 100.0003 % Logarithm 2.53228 221.1282 % 0.042115 0.47255 % DCT 4.43561 1354309.307 % 0.07678 7.20696 % Weight Cepstrum 11.38171 1353576.937 % 0.63146 10.80133 % Delta 6859157.902 % 0.37397 11.6258 % Acceleration 11.3817 0.2733 11.968 %

實驗數據與分析:TIMIT-MFCC所有步驟之誤差表-平均相對誤差比較 比較圖:

實驗數據與分析:辨識率比較 TCC300 測試語句: TIMIT:Free Phone Decoding Testing Data Content Tang Poem Speaker 7 Males and 1 Female Sample Rate 16 kHz Bits Per Sample 16 bits Total 2331 Files = 3.2 hours

實驗數據與分析:辨識率比較 TCC300 TIMIT 先前的方法 我們的方法 辨識率 88.37% 89.45% 先前的方法 我們的方法 48.66% 47.41%

實驗數據與分析:錯誤分析 開方根表與標準開方根函數的誤差 LOG、SIN及COS表誤差均比先前的方法小,與開方根的誤差相互抵銷 先前的方法誤差雖然較大一些,但是MFCC的變化趨勢較接近浮點數MFCC的變化趨勢

結論及未來工作 結論: 未來工作: 我們的方法大幅度縮小表所佔的記憶體空間 MFCC一半以上的流程中,誤差值降低約4~12% 辨識率也維持在一定的水準 未來工作: 採用更低維度的特徵來訓練語料 採用自動化方式去計算MFCC各個流程中所需適當放大倍率的參數 採用更短的資料長度,如16-bits之資料長度來儲存資料,以便將ASR移植到16-bits micro processor

謝謝