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

正文內(nèi)容

基于ac3及虛擬環(huán)繞聲實(shí)現(xiàn)-資料下載頁

2025-01-18 16:05本頁面
  

【正文】 出緩存器輸出 PCM圖 51 AC3 解碼 C 程序流程圖2. 同步檢錯AC3 數(shù)據(jù)流格式考慮到快速同步,16bits 同步字具有低的錯誤檢測概率,對于不對齊的輸入數(shù)據(jù)流,同步字錯誤檢測的概率為每輸入數(shù)據(jù)流的比特位置的 %。對于 384kbits/s 的數(shù)碼率,錯誤檢測同步字的概率為每幀 19%,字節(jié)對齊的輸入數(shù)據(jù)流將此概率降低到 %,而字對齊的則把它降低到 %。3. 解復(fù)用解碼過程固有的操作使把包括在數(shù)據(jù)流中各種不同類型的信息解包(解復(fù)用)。在這個可選項中這個數(shù)碼流信息的分配是:西南科技大學(xué)本科生畢業(yè)論文27?選擇的數(shù)據(jù)可從緩存器復(fù)制到專用寄存器。?有些來自輸入緩存器的數(shù)據(jù)可復(fù)制到特殊的工作存儲單元。?有些數(shù)據(jù)可以只安排在輸入緩存器中,其指針保存到另一存儲單元以便使用。音頻壓縮系統(tǒng)的指數(shù)以編碼的形式在數(shù)據(jù)流中傳遞,將指數(shù)解包和解碼,需兩中類型的“ 輔助信息”:?必須知道指數(shù)的數(shù)目。?必須知道個聲道正在使用的指數(shù)“ 策略”?!氨忍刂概傻挠嬎?”提示各尾數(shù)要多少比特,比特指派計算的輸入是解碼的指數(shù)及比特指派輔助信息。比特指派計算的輸出是一組比特指派指針(BAP),每個編碼尾數(shù)有一個 BAP。BAP 指出用于尾數(shù)的量化器,以及在數(shù)據(jù)流中將多少比特用于各尾數(shù)。粗量化的尾數(shù)組成大量的 AC3 數(shù)據(jù)流。將各尾數(shù)量化到相應(yīng)的 BAP 指示的精度等級,為了更有效的將尾數(shù)打成數(shù)據(jù)大包,把幾個尾數(shù)合成單個傳輸值。例如,兩個 11 級的量化值用單個 7bit 碼( 比特/值)數(shù)碼流中傳送。按 BAP 指示把聚集在一起的比特剝開來,以解開尾數(shù)的數(shù)據(jù)包,必須把組合的尾數(shù)拆開。單獨(dú)編碼的尾數(shù)值變?yōu)槿チ炕闹?。已指示具有零比特的尾?shù)可以再現(xiàn)為零,或隨機(jī)抖動值(在抖動標(biāo)志下)。4. 去偶合(depling)當(dāng)使用耦合過程時,被耦合的聲道必須去耦合,去耦合包括從公共耦合聲道和單獨(dú)聲道的耦合坐標(biāo),來重建各被耦合聲道的高頻部分(指數(shù)和尾數(shù))。在每個耦合帶內(nèi),耦合聲道的各個系數(shù)(指數(shù)和尾數(shù))將乘以單獨(dú)聲道的耦合坐標(biāo)。5. 重新設(shè)置矩陣的過程(rematrixing)在 2/0 音頻編碼模式中,可按重新設(shè)置矩陣坐標(biāo)的指示,采用重新設(shè)置矩陣(rematrixing )。當(dāng)這個標(biāo)志指示某個頻帶被重新設(shè)置矩陣時,數(shù)碼流中的編碼系數(shù)將是和與差的值,而不是左與右的值。6. 動態(tài)范圍壓縮(dynamic range pression)對于各個音頻塊,動態(tài)范圍控制值可以包含在數(shù)碼流中。解碼器通過約定,將用這個值按正確處理數(shù)據(jù)的要求來改變系數(shù)(指數(shù)和尾數(shù))的大小。7. 逆變換(inverse trsform)西南科技大學(xué)本科生畢業(yè)論文28本節(jié)所述進(jìn)行解碼的步驟將得到每個編碼聲道的一組頻率系數(shù),逆變換把這些頻率系數(shù)塊變成時間樣本塊。8. 加窗、重疊/相加()對時間樣本的單獨(dú)數(shù)據(jù)塊必須加窗,而且將相鄰的數(shù)據(jù)塊重疊和相加,以便重建最后連續(xù)時間的輸出 PCM 音頻信號。9. 向下混合(downmix)如果在解碼器輸出所需要的聲道數(shù)小于在數(shù)碼流中編碼的聲道,則進(jìn)行向下混合。10. 輸出緩存器(pcm output buffer)典型的 PCM 解碼器必須以 PCM 取樣率提供 PCM 輸出樣本。由于從解碼的過程中得出各個樣本塊,需要一個輸出緩存器。11. 輸出 PCM(output pcm)輸出的 PCM 樣本用適合于互連到數(shù)字模擬變換器的形式,或者用接收機(jī)要求的某種別的形式進(jìn)行傳遞。 MDCT 和 IMDCT 在 AC3 的編碼程序中,MDCT(即改進(jìn)的離散余弦變換)的作用就是把時域信號轉(zhuǎn)換到頻域,并對數(shù)據(jù)進(jìn)行壓縮;而 IMDCT 是 MDCT 的逆過程,把編碼后的頻域信號進(jìn)行變換,重建時域信號。這里列出了 AC3 標(biāo)準(zhǔn)提供的 MDCT和 IMDCT 公式,而其中的 IMDCT 并不是直接以 IMDCT 的公式做轉(zhuǎn)換,而是以 IFFT 的形式來實(shí)現(xiàn) IMDCT[16]。由于 MDCT 為非正交變換,因而由某一塊的 MDCT 譜無法完全重建出原始的信號,但采用時域混疊抵消(TDAC)的方法可以達(dá)到完全重建。所以AC3 的時 頻變換采用基于 TDAC 的 MDCT 變換。該變換基于樣本分塊來進(jìn)行。編碼器中每一個樣本塊與其前后相鄰的樣本塊各有 50%的重疊,解碼端經(jīng)IMDCT 恢復(fù)出來的信號引入了時域混疊分量,將恢復(fù)出的相鄰兩塊信號進(jìn)行50%的重疊相加即可抵消時域混疊分量,在非量化時完全重建出原始信號。圖52 說明了基于 TDAC 的 MDCT 分析和合成的處理過程。變化塊長度的選擇是音頻變換編碼的重要參數(shù)。因?yàn)樵诰幋a器的實(shí)現(xiàn)中,對算法的復(fù)雜程度和延時的限制,時間分辨率和頻率分辨率往往不能同時與人耳感覺特性匹配,二者必須折衷處理采用自適應(yīng)的方法變換選擇塊長度。對于穩(wěn)態(tài)信號,它的頻譜在時間上保持穩(wěn)態(tài),或者變換緩慢,需要高的頻率分辨率,西南科技大學(xué)本科生畢業(yè)論文29應(yīng)采用長的窗函數(shù)或長的 FIR 濾波器。反之,對于快速變化的瞬態(tài)信號,要求有高的時間分辨率,應(yīng)采用短的窗函數(shù)或短的 FIR 濾波器。因此在選擇塊長度時,必須考慮時間和頻率分辨率的要求。M M M M2 M2 M2 MM D C TM D C TM D C TMMMF r a m e k F r a m e k + 1 F r a m e k + 2 F r a m e k + 3 (a) MDCT 交疊分析處理過程MMMI M D C TI M D C TI M D C T2 M2 M2 MM MF r a m e k + 1 F r a m e k + 2. . . . . .(b) MDCT 交疊合成處理過程圖 52 基于 TDAC 的 MDCT 分析/合成處理過程AC3 編碼器根據(jù)信號的瞬態(tài)特性,塊長取 512 個樣點(diǎn)或 256 個樣點(diǎn)兩種。穩(wěn)態(tài)信號用長塊 MDCT 分析,得到 256 個頻率系數(shù)。瞬態(tài)信號用兩個短塊MDCT 分析,得到兩套 128 個頻率系數(shù)。將兩套系數(shù)互插形成 256 個頻率系數(shù),在以后的處理(聲道耦合、比特分配等)中與長塊頻率系數(shù)無區(qū)別對待。1. 塊長為 N 的 MDCT 變換定義如下()()()()1022cos12144nXkxhnkkNppa=230。246。247。231。++232。248。229。(51 )其中 , 是窗口函數(shù)序列12??()西南科技大學(xué)本科生畢業(yè)論文30 1 對于第一個短塊?? 0 對于第一個長塊 +1 對于第二個短塊N=512 為長塊,N=256 為短塊2. 反變換 IMDCT 定義如下: ()()()()/2102cos12144kynhXnkkNppa=230。246。247。231。 ++232。248。229。(52 )其中 , 為凱塞貝塞爾窗(KaiserBessel derived window,1N0??)n(簡稱 KBD 窗)函數(shù)。 程序設(shè)計錄入 AC3 音頻文件數(shù)據(jù)同步檢錯,比特分配等IMDCT 變 換虛 擬 環(huán) 繞 聲 處 理窗 口 疊 加生成 WAV 格式文件向下混合成兩聲道圖 53 C 程序?qū)崿F(xiàn)虛擬環(huán)繞聲流程圖C 語言編程實(shí)現(xiàn)基于 AC3 的虛擬環(huán)繞聲重放,是在 AC3 解碼程序的IMDCT 部分,對 IMDCT 的輸出數(shù)據(jù)(即 AC3 幀解碼后的六聲道數(shù)據(jù))進(jìn)行虛擬環(huán)繞聲處理的,然后通過窗口疊加和聲道混合,最終得到兩聲道的虛擬環(huán)繞聲,并寫入 WAV 文件。 C 程序?qū)崿F(xiàn)系統(tǒng)的流程如圖 53。 子函數(shù) IMDCTIMDCT 函數(shù)的功能是把各聲道的頻域系數(shù)進(jìn)行 IMDCT 變換重建時域信號西南科技大學(xué)本科生畢業(yè)論文31初始化,定義復(fù)數(shù)乘法函數(shù) static plex_t cmplx_mult(plex_t a,plex_t b)定義函數(shù) void imdct_do_512 (float x[],float y[],float delay[]) Pre IFFT 復(fù)數(shù)乘法 for(i=0。iN/4。i++){Z[i]=(X[N/22*i1]+j*X[2*i])*(xcos1[i]+j*xsin1[i])。}where xcos1[k]= cos(2pi*(8i+1)/(8*N))。xsin1[k]= sin(2pi*(8i+1)/(8*N))計算 Z(k)的 N/4 點(diǎn)復(fù)數(shù) IFFT 變換產(chǎn)生復(fù)數(shù)序列 for(n=0。nN/4。n++){ z[n]=0。for(k=0。kN/4。k++){z[n]+=Z[k]*(cos(8*pi*k*n/N)+j*sin(8*pi*k*n/N))。}}Post IFFT 復(fù)數(shù)乘法 for(n=0。nN/4。n++){y1[n]=z[n]*(xcos1[n]+j*xsin1[n])。}加窗并轉(zhuǎn)化得到時域信號 for(i=0。iN/8。i++){ y[0 +2*i] = y1[N/8+i].imag *window[0 +2*i]。y[0 +2*i+1] = y1[N/8i1].real *window[0 +2*i+1]。y[128 +2*i] = y1[i].real *window[128 +2*i]。y[128 +2*i+1] = y1[N/4i1].imag *window[128 +2*i+1]。y[256 +2*i] = y1[N/8+i].real *window[256 2*i1]。y[256 +2*i+1] = y1[N/8i1].imag *window[256 2*i2]。y[384 +2*i] = y1[i].imag *window[128 2*i1]。y[384 +2*i+1] = y1[N/4i1].real *window[128 2*i2]。}交疊和相加 for(i=0。i256。i++){ y[i]=2*(y[i]+delay[i])。 delay[i]=y[256+i]。}類似地定義 imdct_do_256(float x[],float y[],float delay[])for(i=0。ibsinfchans。i++)y if(audblkblksw[i]) n調(diào)用 imdct_do_256() 調(diào)用 imdct_do_512()if(bsilfeon) 調(diào)用 imdct_do_512()[17]。其程序框圖見圖 54。圖 54 IMDCT 函數(shù)框圖在程序流程中,長塊和短塊的解碼過程相似,不同的是短塊解碼是對兩組西南科技大學(xué)本科生畢業(yè)論文32256 個樣點(diǎn)進(jìn)行解碼,得到兩套 128 個頻率系數(shù),將兩套系數(shù)互插形成 256 個頻率系數(shù)。以后的處理過程與長塊處理一致。在 AC3 解碼程序中,IMDCT 函數(shù)的輸入信號數(shù)組定義為typedef struct stream_coeffs_s{float fbw[5][256]。float lfe[256]。} stream_coeffs_t。這個結(jié)構(gòu)體數(shù)組存儲的是每個聲道的頻域信號,它的存儲規(guī)則是:coeffs fbw[0][256] 對應(yīng) 左 L 聲道coeffs fbw[1][256] 對應(yīng) 中央 C 聲道coeffs fbw[2][256] 對應(yīng) 右 R 聲道coeffs fbw[3][256] 對應(yīng) 左環(huán)繞 LS 聲道coeffs fbw[4][256] 對應(yīng) 右環(huán)繞 RS 聲道coeffslfe[256] 對應(yīng) 低頻 LFE 聲道同時還定義結(jié)構(gòu)體數(shù)組typedef struct audblk_s{uint_16 blksw[5]。 } audblk_t。來指示每一個聲道數(shù)據(jù)是屬于長塊還是短塊,當(dāng) audblkblksw[i]==0,屬于長塊;audblkblksw[i]=1,屬于短塊。輸入的頻域信號經(jīng)過 IMDCT 處理以后輸出的數(shù)據(jù)就是解碼后時域的六個聲道的信號了,接下來我要做的就是對 IMDCT( )的輸出數(shù)據(jù)進(jìn)行虛擬環(huán)繞聲處理。解碼程序定義了一個結(jié)構(gòu)體多維數(shù)組typedef struct stream_samples_s{float channel[6][512]。} stream_samples_t。來存儲 IMDCT( )的輸出數(shù)據(jù)。其存儲規(guī)則是:sampleschannel[0][512] 對應(yīng) 左 L 聲道sampleschannel[1][512] 對應(yīng) 中央 C 聲道西南科技大學(xué)本科生畢業(yè)論文33sampleschannel[2][512] 對應(yīng) 右 R 聲道sampleschannel[3][512] 對應(yīng) 左環(huán)繞 LS 聲道sampleschannel[4][512] 對應(yīng) 右環(huán)繞 RS 聲道sampleschannel[5][512] 對應(yīng) 低頻 LFE 聲道虛擬環(huán)繞聲處理,即根據(jù)式(41),利用 和 序列對 channel[3][512](LSab聲道)和 channel[4][512](RS 聲道)中的數(shù)據(jù)進(jìn)行濾波。這一過程只需要在函數(shù) imdct_do_256( )的加窗處理后面加入一段 FIR 濾波程序即可。FIR 濾波器的系統(tǒng)差分方程表達(dá)式為 ()()10Nmynhxn=229。(53)它的橫截型結(jié)構(gòu)如圖 55 所示z1y(n)h(N1)h(N2)h(2)h
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1