freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

c聲音壓縮及應(yīng)用實(shí)例設(shè)計(jì)(doc畢業(yè)設(shè)計(jì)論文)(編輯修改稿)

2024-07-25 08:13 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 ()4) 計(jì)算中間變量: ()5) 計(jì)算32個(gè)子帶的輸出樣本: () 其中。濾波器組完成了輸入樣本從時(shí)域到頻域的映射,由于標(biāo)準(zhǔn)提供了特定的時(shí)頻映射變換矩陣,所以計(jì)算得到的頻域樣本數(shù)與時(shí)域樣本數(shù)相同。與層層2不同的是,在第3層編碼中采用了分節(jié)處理的方法,即將每一幀數(shù)據(jù)分為兩節(jié)來處理,每節(jié)的樣本數(shù)為576,兩節(jié)數(shù)據(jù)的處理方法基本相同,都是將它們分為32個(gè)子帶分別量化。而且,在ISO/IEC 111723標(biāo)準(zhǔn)中,第3層編碼濾波器組的頻域分辨率與信號(hào)有關(guān),可以有632或1832個(gè)頻率樣本。如果采用632個(gè)樣本,則每一子帶分為三組且樣本被分別量化。這樣,總的樣本數(shù)仍是每節(jié)576個(gè),一幀樣本數(shù)仍是每通道1152個(gè)。(2)心理聲學(xué)模型心理聲學(xué)模型[13]是為了獲得濾波器組每一子帶內(nèi)剛好可察覺的噪聲級(jí),即它的掩蔽閾值。對(duì)于子帶濾波器組輸出的譜值量化后產(chǎn)生的噪聲,如果能夠被控制在掩蔽閾值以下,則最終的壓縮數(shù)據(jù)被解碼后的結(jié)果與原始信號(hào)可以不加區(qū)分。一個(gè)給定信號(hào)的掩蔽能力取決于它的頻率和響度,所以心理聲學(xué)模型的最終輸出是信掩比SMR(signaltomask ratio),即信號(hào)強(qiáng)度與掩蔽閾值的比率。MPEG1音頻標(biāo)準(zhǔn)提供了兩種心理聲學(xué)模型,模型1比模型2簡(jiǎn)單,兩個(gè)模型對(duì)所有層次都適用。MPEG1建議第1, 2層采用模型1計(jì)算,而第3層則用模型2。第1, 2層輸出的是每一子帶的信掩比,而第3層輸出的并不是面向32個(gè)子帶的信掩比,而是將時(shí)頻映射后輸出的譜值重新分割,把它們分為若干個(gè)閾值分區(qū),從而得到每個(gè)分區(qū)的信掩比。輸入緩沖存儲(chǔ)器FFT變換,(長塊窗口大小1024,短塊窗口256)計(jì)算非預(yù)測(cè)性參數(shù)C分區(qū)閾值的計(jì)算計(jì)算心理模型的聽覺熵pepeswitch_pe?短塊閾值的計(jì)算長塊閾值的計(jì)算ny計(jì)算閾值比率,塊類型及聽覺熵pe輸出緩存:塊類型、閾值比率、聽覺熵 MP3心理聲學(xué)模型算法流程根據(jù)心理聲學(xué)模型的輸出,對(duì)子帶濾波器組的輸出部分進(jìn)行處理,首先要經(jīng)過改進(jìn)型離散余弦變換(MDCT)。從心理聲學(xué)模型得到每節(jié)數(shù)據(jù)的編碼塊類型,子帶濾波器組對(duì)不同塊類型的輸出有不同的計(jì)算矩陣。對(duì)于每個(gè)子帶,每節(jié)輸出18個(gè)樣本值,再加上前一節(jié)同一子帶的18個(gè)樣本值,共有36個(gè)樣本作為一次MDCT的輸入:1) “normal”型 ()2) “start”型 ()3) “stop”型 ()4) “short”型 對(duì)于short型,36個(gè)樣本值被重疊分為三塊: () () () 每塊分別計(jì)算: ()對(duì)Z取MDCT: ()其中,長塊計(jì)算時(shí)n=36,短塊計(jì)算時(shí)n=12。對(duì)于長塊計(jì)算還需要進(jìn)行蝶形對(duì)消來減少混疊。得到的每組的值將被量化后進(jìn)行編碼。(3)量化與編碼根據(jù)心理聲學(xué)模型的輸出,對(duì)經(jīng)過MDCT后輸出的樣本以節(jié)為單位進(jìn)行比特位的量化與分配。MPEG1使用了一個(gè)三級(jí)迭代的循環(huán)模型[14],最高一級(jí)稱為幀循環(huán)程序,幀循環(huán)程序調(diào)用一個(gè)稱為外層迭代循環(huán)的子程序,外層迭代循環(huán)調(diào)用內(nèi)層迭代循環(huán)。首先,幀循環(huán)對(duì)此模型所用到的迭代變量復(fù)位,計(jì)算壓縮每節(jié)數(shù)據(jù)所能提供的最大比特?cái)?shù)。然后調(diào)用外層迭代模型,這層循環(huán)首先調(diào)用內(nèi)層迭代循環(huán),內(nèi)層迭代循環(huán)對(duì)輸入矢量進(jìn)行量化,通過遞增量化步長使量化輸出能夠在一定的比特位數(shù)之內(nèi)被編碼。然后確定哈夫曼編碼表的選擇,并對(duì)量化頻譜進(jìn)行比特編碼。如果經(jīng)過量化產(chǎn)生的噪聲過大,則可能導(dǎo)致樣本失真,無法被正確地解碼,所以外層迭代循環(huán)根據(jù)內(nèi)層輸出來檢測(cè)每個(gè)比例因子頻段的量化噪聲,如果超過了允許的最低掩蔽閩值,則以比例因子為迭代變量,不斷遞增其值,重新調(diào)用內(nèi)層迭代循環(huán),使量化滿足要求。一旦滿足要求,存儲(chǔ)每個(gè)比例因子頻段最終的比例因子數(shù)值,跳出外層迭代循環(huán)。在幀循環(huán)程序中計(jì)算存儲(chǔ)每節(jié)數(shù)據(jù)所用的比特位數(shù)。MP3編碼將一幀數(shù)據(jù)分為兩節(jié)來處理,其中第一節(jié)數(shù)據(jù)的比例因子頻段的比例因子必須編碼傳送,它的比例因子能否被第二節(jié)利用,即第二節(jié)數(shù)據(jù)的比例因子是否傳送需要經(jīng)過計(jì)算。算法提供了四個(gè)標(biāo)準(zhǔn)來判斷,如果標(biāo)準(zhǔn)有一個(gè)不符合,則所有比例因子頻段的比例因子選擇信息 (scfsi)為0,如果scfsi=0,則第二節(jié)的每個(gè)頻段的比例因子需要重新計(jì)算并且傳送,否則不傳送該節(jié)各頻段的比例因子,它的值按照第一節(jié)的比例因子系數(shù)計(jì)算。內(nèi)層循環(huán)對(duì)MDCT輸出的頻譜值進(jìn)行量化,然后進(jìn)行哈夫曼編碼。外層迭代循環(huán)也稱失真控制循環(huán),這級(jí)循環(huán)控制在內(nèi)層迭代循環(huán)過程中由于譜線的量化而產(chǎn)生的量化噪聲。通過給比例因子頻段分配比例因子從而對(duì)量化噪聲進(jìn)行整形,每次比例因子都是以1開始。若發(fā)現(xiàn)某頻段內(nèi)的量化噪聲超過了允許的閾值,則通過遞增比例因子來減小量化噪聲。因?yàn)樵叫〉牧炕肼?,就需要越多的量化次?shù)才能掩蓋。一旦所有頻段的量化噪聲都在允許的范圍之內(nèi),則外層迭代循環(huán)結(jié)束。(4)碼流格式化為了編碼數(shù)據(jù)能夠被正確解碼,必須按照MPEG的標(biāo)準(zhǔn)對(duì)其進(jìn)行格式化處理。通常一幀數(shù)據(jù)由幀頭信息、附帶信息以及主數(shù)據(jù)組成。 MP3算法解碼原理MP3算法的解碼流程其實(shí)就是其編碼的逆過程,不過解碼流程要比編碼過程的復(fù)雜度小很多。因?yàn)樵诰幋a過程中需要額外通過一個(gè)心理聲學(xué)模型模塊,而在心理聲學(xué)模型中需要大量的運(yùn)算,所以解碼流程的計(jì)算量相對(duì)較小。下圖為解碼流程圖:開始打開所含待解碼的MP3音頻流文件讀入MP3音頻流,找到其同步頭解碼同步頭,獲得相關(guān)信息獲得邊帶信息獲得主信息獲得定標(biāo)因子哈夫曼解碼反量化采樣立體聲處理抗鋸齒處理IMDCT多相頻率倒置結(jié)束 MP3算法解碼流程圖子帶合成輸出已解碼音頻流解碼主要包括同步、附加信息、主數(shù)據(jù)開始、縮放因子、哈夫曼解碼、逆量化器、逆量化和全縮放公式、重排序、立體聲處理(包括MS_立體聲模式和強(qiáng)度立體聲模式)、合成濾波器組、混迭信號(hào)的減除等。MP3文件由多個(gè)幀組成,也就是說幀是MP3音樂文件的最小組成單位。每個(gè)幀又由幀頭和幀數(shù)據(jù)組成。每個(gè)幀頭長4字節(jié),其數(shù)據(jù)結(jié)構(gòu)如下:typedef struct_tagHeader{ unsigned int sync:12。//同步信息 unsigned int version:1。//版本 unsigned int layer:2。//層 unsigned int error_protection:1。//CRC校正 unsigned int bit_rate_index:4。//位率索引 unsigned int sample_rate_index:2。//采樣率索引 unsigned int padding:1。//空白字 unsigned int extension:1。//私有標(biāo)志 unsigned int channel_mode:2。//立體聲模式 unsigned int mode extension:2。//保留 unsigned int copyright:1。//版權(quán)標(biāo)志 unsigned int original:1。//原始媒體 unsigned int emphasis:2。//強(qiáng)調(diào)方式}HEADER,*LPHEADER。其中幀同步標(biāo)記為0xFFF。在幀頭后邊是Side Info(姑且稱之為通道信息)。對(duì)標(biāo)準(zhǔn)的立體聲MP3文件來說其長度為32字節(jié)。通道信息后面是Scale factor(增益因子)信息。當(dāng)解碼器在讀到上述信息后,就可以解碼了。當(dāng)MP3文件被打開后,播放器首先試圖對(duì)幀進(jìn)行同步,然后分別讀取通道信息及增益因子等數(shù)據(jù),再進(jìn)行哈夫曼解碼,至此我們已經(jīng)獲得解壓后的數(shù)據(jù)。但這些數(shù)據(jù)仍然不能進(jìn)行播放,它們還處于頻域,要想聽到歌曲還要將它由頻域通過特定的手段轉(zhuǎn)換到時(shí)域。接下來的處理分別為立體聲處理;抗鋸齒處理;IMDCT變換;IDCT變換及窗口化滑動(dòng)處理。第四章 寬帶聲音壓縮算法的設(shè)計(jì)與實(shí)現(xiàn) 寬帶聲音壓縮算法的設(shè)計(jì) 設(shè)計(jì)的整體思路本次課題主要研究基于寬帶聲音子帶編碼的數(shù)據(jù)壓縮算法??紤]到MP3是目前最為普及的音頻壓縮格式,與MP3相關(guān)的軟件產(chǎn)品層出不窮,而且更多的硬件產(chǎn)品也開始支持MP3,我們能夠買到的VCD/DVD播放機(jī)都能夠支持MP3,還有很多便攜式MP3播放器等等,故本次課題主要實(shí)現(xiàn)MP3的編解碼算法,感受該算法強(qiáng)大的壓縮功能及完美的保真效果。音頻壓縮實(shí)際上由編碼和解碼兩個(gè)部分組成。把波形文件里的數(shù)字音頻數(shù)據(jù)轉(zhuǎn)換為高度壓縮的形式(稱為比特流)即為編碼;把比特流重建為波形文件即為解碼。故本次設(shè)計(jì)主要包括兩個(gè)部分,即編碼部分和解碼部分,另外再加一個(gè)播放波形文件的部分,用來比較壓縮前后的保真效果。 設(shè)計(jì)的模塊圖及流程圖(1)模塊圖主模塊錄音編碼模塊MP3解碼播放模塊WAVE文件播放模塊 功能模塊圖(2)功能流程圖播放WAVE格式文件程序開始錄音成MP3格式文件播放MP3格式文件程序退出 功能流程圖① 播放WAVE文件a) OnButtonOpen()開始打開通用對(duì)話框是否已在播放聲音?N取得設(shè)備ID并設(shè)置兩個(gè)狀態(tài)指示值得到用戶選擇的文件名Y是否打的開音頻設(shè)備?NY結(jié)束關(guān)閉音頻設(shè)備報(bào)告錯(cuò)誤 OnButtonOpen()函數(shù)流程圖b) OnButtonPlay()開始是否不在播放聲音?NY結(jié)束處理MM_MCINOTIFY消息的窗口句柄從文件頭開始播放是否播放有誤?Y是否沒暫停?Y暫停NN置是否播放狀態(tài)指示值為TRUE報(bào)告錯(cuò)誤放音是否有錯(cuò)?報(bào)告錯(cuò)誤NY OnButtonPlay()函數(shù)流程圖c) OnButtonStop()停止播放開始是否有錯(cuò)?報(bào)告錯(cuò)誤NY重置兩個(gè)狀態(tài)指示值為FALSE結(jié)束 OnButtonStop()函數(shù)流程圖② 錄音 打開通用對(duì)話框開始輸入要保存的文件名停止錄音結(jié)束開始錄音 錄音模塊功能流程圖③ 播放MP3文件打開通用對(duì)話框開始選擇已保存的文件名停止播放結(jié)束開始播放 MP3播放模塊功能流程圖 寬帶聲音壓縮算法的實(shí)現(xiàn)基于PCM編碼的WAV文件是音質(zhì)最好的格式,已經(jīng)成為了事實(shí)上的通用音頻格式。WAV也是音樂編輯創(chuàng)作的首選格式,適合保存音樂素材。但它對(duì)存儲(chǔ)空間需求太大,不便于保存、交流和傳播。因此,選擇對(duì)其進(jìn)行壓縮,從而體現(xiàn)MP3編碼算法的高壓縮效率。 (1)利用MCI控制WAV文件的播放這里主要利用MCI來控制WAV文件的播放。MCI有兩種不同的調(diào)用方式:發(fā)送命令字串和發(fā)送命令消息,分別與之對(duì)應(yīng)的是兩個(gè)最常用的MCI函數(shù):mciSendString()和mciSendCommand()。我們主要利用mciSendCommand()函數(shù)[15]發(fā)送命令消息實(shí)現(xiàn)聲音的播放。mciSendCommand()的函數(shù)原型如下:MCIERROR mciSendCommand(MCIDEVICED IDDevice,UNIT uMsg,DWORD fdwCommand,DWORD dwParam)。其中的四個(gè)參數(shù)說
點(diǎn)擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1