資料介紹
目前,音視頻技術(shù)日新月異,其中,視頻實(shí)時編碼傳輸極具代表性。在視頻壓縮算法領(lǐng)域,新一代視頻壓縮標(biāo)準(zhǔn)H.264以其優(yōu)異的壓縮性能和圖像質(zhì)量使視頻實(shí)時編碼傳輸技術(shù)的實(shí)現(xiàn)成為可能。但該標(biāo)準(zhǔn)的計算復(fù)雜度高,用一般的圖像處理芯片難以達(dá)到實(shí)時編解碼的要求,它需要快速、穩(wěn)定的處理器作為硬件平臺。ADSP-BF561是ADI公司推出的高性能多媒體處理器。其主要特點(diǎn)是具有兩個ADSP-BF533處理器核心(以下簡稱核心A和核心B),最高時鐘頻率達(dá)到600MHz,其內(nèi)部采用哈佛總線結(jié)構(gòu),存儲模型層次化。其典型應(yīng)用模式是A核運(yùn)行嵌入式操作系統(tǒng),B核運(yùn)行多媒體處理算法,如H.264。本文提出了一套采用ADSP-BF561芯片實(shí)現(xiàn)H.264視頻壓縮算法的設(shè)計方案,結(jié)合該DSP平臺對算法進(jìn)行了針對性的優(yōu)化,充分發(fā)揮了ADSP-BF561強(qiáng)大的處理能力。
1 算法介紹
1.1 H.264編碼模型框架
H.264以其高壓縮比、高圖像質(zhì)量和良好的網(wǎng)絡(luò)親和性廣受業(yè)界歡迎。在同等質(zhì)量條件下,H.264的數(shù)據(jù)壓縮比比MPEG-2高2~3倍,比MPEG-4高1.5~2倍。其需要的帶寬只有MPEG-4的50%, MPEG-2的12.5%。
H.264標(biāo)準(zhǔn)采用分層體系結(jié)構(gòu),系統(tǒng)分為:視頻編碼層VCL(Video CodingLayer),負(fù)責(zé)高效的數(shù)字視頻壓縮;網(wǎng)絡(luò)抽象層NAL(Network AbstractionLayer),負(fù)責(zé)對數(shù)據(jù)進(jìn)行打包和傳送。H.264編碼圖像通常分為三種類型:I幀、P幀、B幀。I幀為幀內(nèi)編碼幀,其編碼不依賴于已編碼的圖像數(shù)據(jù)。P幀為前向預(yù)測幀,B幀為雙向預(yù)測幀,編碼時都需要根據(jù)參考幀進(jìn)行運(yùn)動估計。同時,H.264在提高圖像傳輸容錯性方面做了大量工作,重新定義了適于圖像的結(jié)構(gòu)劃分。在編碼時,圖像幀各部分被劃分到多個Slice結(jié)構(gòu)中,每個Slice都可以被獨(dú)立編碼,不受其他部分影響。Slice由圖像最基本的結(jié)構(gòu)——宏塊組成,每個宏塊包含一個16×16的亮度塊和兩個8×8的色度塊。H.264標(biāo)準(zhǔn)的整體編碼框圖如圖1所示。編碼過程中,原始數(shù)據(jù)進(jìn)入編碼器后,當(dāng)采用幀內(nèi)編碼時,首先選擇相應(yīng)的幀內(nèi)預(yù)測模式進(jìn)行幀內(nèi)預(yù)測,隨后對實(shí)際值和預(yù)測值之間的差值進(jìn)行變換、量化和嫡編碼,同時編碼后的碼流經(jīng)過反量化和反變換之后重構(gòu)預(yù)測殘差圖像,再與預(yù)測值相加得出重構(gòu)幀,得出的結(jié)果經(jīng)過去塊濾波器平滑后送入幀存儲器。采用幀間編碼時,輸入的圖像塊首先在參考幀中進(jìn)行運(yùn)動估計,得到運(yùn)動矢量。運(yùn)動估計后的殘差圖像經(jīng)整數(shù)變換、量化和嫡編碼后與運(yùn)動矢量一起送入信道傳輸。同時另一路碼流以相同的方式重構(gòu)后,經(jīng)去塊濾波后送入幀存儲器作為下一幀編碼的參考圖像。

1.2 H.264關(guān)鍵技術(shù)
1.2.1 幀內(nèi)預(yù)測
H.264引入了幀內(nèi)預(yù)測以提高壓縮效率。幀內(nèi)預(yù)測編碼就是利用周圍鄰近的像素值來預(yù)測當(dāng)前的像素值,然后對預(yù)測誤差進(jìn)行編碼。這種預(yù)測是基于塊的。對于亮度分量,塊的大小可以在16×16和4×4之間選擇,16×16有4種預(yù)測模式,4×4有9種預(yù)測模式;對于色度分量,預(yù)測是對整個8×8塊進(jìn)行的,有4種預(yù)測模式。
1.2.2 幀間預(yù)測
幀間預(yù)測時所用塊的大小可變。假設(shè)基于塊的運(yùn)動模型,其塊內(nèi)的所有像素都做了相同的平移,在運(yùn)動比較劇烈或者運(yùn)動物體的邊緣外,這一假設(shè)會與實(shí)際出入較大,從而導(dǎo)致較大的預(yù)測誤差,這時減小塊的大小可以使假設(shè)在小塊中依然成立。另外小塊所造成的塊效應(yīng)相對也小,因此,小塊可以提高預(yù)測的效果。H.264一共采用了7種方式對一個宏塊進(jìn)行分割,每種方式下塊的大小和形狀都不相同,編碼器可以根據(jù)圖像的內(nèi)容選擇最好的預(yù)測模式。與僅使用16x16塊進(jìn)行預(yù)測相比,使用不同大小和形狀的塊可以使碼率節(jié)約15%以上。
同時,幀內(nèi)預(yù)測采用了更精細(xì)的預(yù)測精度,H.264中亮度分量的運(yùn)動矢量使用1/4像素精度。色度分量的運(yùn)動矢量使用1/8像素精度。
1.2.3 多幀參考
H.264支持多幀參考預(yù)測,最多可以有5個在當(dāng)前幀之前的解碼幀作為參考幀產(chǎn)生對當(dāng)前幀的預(yù)測,提高H.264解碼器的錯誤恢復(fù)能力。
1.2.4 整數(shù)變換
H.264對殘差圖像的4×4整數(shù)變換技術(shù),采用定點(diǎn)運(yùn)算來代替以往DCT變換中的浮點(diǎn)運(yùn)算。以降低編碼時間,同時也更適合硬件平臺的移植。
1.2.5 熵編碼
H.264支持兩種熵編碼方法,即CAVLC(基于上下文的自適應(yīng)可變長編碼)和CABAC(基于上下文的自適應(yīng)算術(shù)編碼)。其中CAVLC的抗差錯能力比較高,但編碼效率比CABAC低;而CABAC的編碼效率強(qiáng),但需要的計算量和存儲容量更大。
1.2.6 去方塊濾波
去方塊濾波的作用是消除經(jīng)反量化和反變換后重建圖像中由于預(yù)測誤差產(chǎn)生的塊效應(yīng),從而改善圖像的主觀質(zhì)量和預(yù)測誤差。經(jīng)過濾波后的圖像將根據(jù)需要放在緩存中用于幀間預(yù)測,而不是僅僅用來改善主觀質(zhì)量,因此該濾波器位于解碼環(huán)中。對于幀內(nèi)預(yù)測,使用的是未經(jīng)過濾波的重建圖像。
2 算法實(shí)現(xiàn)
2.1 平臺選擇
2.1.1 ADSP-BF561芯片介紹
ADSP-BF561是Blackfin系列中的一款高性能定點(diǎn)DSP視頻處理芯片。其主頻最高可達(dá)750MHz,內(nèi)核包含2個16位乘法器MAC、2個40位累加器ALU、4個8位視頻ALU,以及1個40位移位器。該芯片中的兩套數(shù)據(jù)地址產(chǎn)生器(DAG)可為同時從存儲器存取雙操作數(shù)提供地址,每秒可處理1 200兆次乘加運(yùn)算。芯片帶有專用的視頻信號處理指令以及100KB的片內(nèi)L1存儲器(16KB的指令Cache,16 KB的指令SRAM,64 KB的數(shù)據(jù)Cache/SRAM,4 KB的臨時數(shù)據(jù)SRAM)、128KB的片內(nèi)L2存儲器SRAM,同時具有動態(tài)電源管理功能。此外,Blackfin處理器還包括豐富的外設(shè)接口,包括EBIU接口(4個128 MBSDRAM接口,4個1MB異步存儲器接口)、3個定時/計數(shù)器、1個UART、1個SPI接口、2個同步串行接口和1路并行外設(shè)接口(支持ITU-656數(shù)據(jù)格式)等。Blackfin處理器在結(jié)構(gòu)上充分體現(xiàn)了對媒體應(yīng)用(特別是視頻應(yīng)用)算法的支持。
2.1.2 ADSP-561 EZkite
ADSP-BF561視頻編碼器平臺采用ADI公司的ADSP-BF561 EZ-kitLite評估板。此評估板包括1塊ADSP-BF561處理器、32 MB SDRAM和4 MBFlash,板中的AD-V1836音頻編解碼器可外接4輸入/6輸出音頻接口;而ADV7183視頻解碼器和ADV7171視頻編碼器則可外接3輸入/3輸出視頻接口。此外,該評估板還包括1個UART接口、1個USB調(diào)試接口和1個JTAG調(diào)試接口。攝像頭輸入的模擬視頻信號經(jīng)視頻芯片ADV7183A轉(zhuǎn)化為數(shù)字信號,此信號從ADSP-BF561的PPI1(并行外部接口)進(jìn)入ADSP-BF561芯片進(jìn)行壓縮,壓縮后的碼流則經(jīng)ADV7179轉(zhuǎn)換后從ADSP-BF561的PPI2口輸出。此系統(tǒng)可通過Flash加載程序,并支持串口及網(wǎng)絡(luò)傳輸。編碼過程中的原始圖像、參考幀等數(shù)據(jù)可存儲在SDRAM中。
1 算法介紹
1.1 H.264編碼模型框架
H.264以其高壓縮比、高圖像質(zhì)量和良好的網(wǎng)絡(luò)親和性廣受業(yè)界歡迎。在同等質(zhì)量條件下,H.264的數(shù)據(jù)壓縮比比MPEG-2高2~3倍,比MPEG-4高1.5~2倍。其需要的帶寬只有MPEG-4的50%, MPEG-2的12.5%。
H.264標(biāo)準(zhǔn)采用分層體系結(jié)構(gòu),系統(tǒng)分為:視頻編碼層VCL(Video CodingLayer),負(fù)責(zé)高效的數(shù)字視頻壓縮;網(wǎng)絡(luò)抽象層NAL(Network AbstractionLayer),負(fù)責(zé)對數(shù)據(jù)進(jìn)行打包和傳送。H.264編碼圖像通常分為三種類型:I幀、P幀、B幀。I幀為幀內(nèi)編碼幀,其編碼不依賴于已編碼的圖像數(shù)據(jù)。P幀為前向預(yù)測幀,B幀為雙向預(yù)測幀,編碼時都需要根據(jù)參考幀進(jìn)行運(yùn)動估計。同時,H.264在提高圖像傳輸容錯性方面做了大量工作,重新定義了適于圖像的結(jié)構(gòu)劃分。在編碼時,圖像幀各部分被劃分到多個Slice結(jié)構(gòu)中,每個Slice都可以被獨(dú)立編碼,不受其他部分影響。Slice由圖像最基本的結(jié)構(gòu)——宏塊組成,每個宏塊包含一個16×16的亮度塊和兩個8×8的色度塊。H.264標(biāo)準(zhǔn)的整體編碼框圖如圖1所示。編碼過程中,原始數(shù)據(jù)進(jìn)入編碼器后,當(dāng)采用幀內(nèi)編碼時,首先選擇相應(yīng)的幀內(nèi)預(yù)測模式進(jìn)行幀內(nèi)預(yù)測,隨后對實(shí)際值和預(yù)測值之間的差值進(jìn)行變換、量化和嫡編碼,同時編碼后的碼流經(jīng)過反量化和反變換之后重構(gòu)預(yù)測殘差圖像,再與預(yù)測值相加得出重構(gòu)幀,得出的結(jié)果經(jīng)過去塊濾波器平滑后送入幀存儲器。采用幀間編碼時,輸入的圖像塊首先在參考幀中進(jìn)行運(yùn)動估計,得到運(yùn)動矢量。運(yùn)動估計后的殘差圖像經(jīng)整數(shù)變換、量化和嫡編碼后與運(yùn)動矢量一起送入信道傳輸。同時另一路碼流以相同的方式重構(gòu)后,經(jīng)去塊濾波后送入幀存儲器作為下一幀編碼的參考圖像。

1.2 H.264關(guān)鍵技術(shù)
1.2.1 幀內(nèi)預(yù)測
H.264引入了幀內(nèi)預(yù)測以提高壓縮效率。幀內(nèi)預(yù)測編碼就是利用周圍鄰近的像素值來預(yù)測當(dāng)前的像素值,然后對預(yù)測誤差進(jìn)行編碼。這種預(yù)測是基于塊的。對于亮度分量,塊的大小可以在16×16和4×4之間選擇,16×16有4種預(yù)測模式,4×4有9種預(yù)測模式;對于色度分量,預(yù)測是對整個8×8塊進(jìn)行的,有4種預(yù)測模式。
1.2.2 幀間預(yù)測
幀間預(yù)測時所用塊的大小可變。假設(shè)基于塊的運(yùn)動模型,其塊內(nèi)的所有像素都做了相同的平移,在運(yùn)動比較劇烈或者運(yùn)動物體的邊緣外,這一假設(shè)會與實(shí)際出入較大,從而導(dǎo)致較大的預(yù)測誤差,這時減小塊的大小可以使假設(shè)在小塊中依然成立。另外小塊所造成的塊效應(yīng)相對也小,因此,小塊可以提高預(yù)測的效果。H.264一共采用了7種方式對一個宏塊進(jìn)行分割,每種方式下塊的大小和形狀都不相同,編碼器可以根據(jù)圖像的內(nèi)容選擇最好的預(yù)測模式。與僅使用16x16塊進(jìn)行預(yù)測相比,使用不同大小和形狀的塊可以使碼率節(jié)約15%以上。
同時,幀內(nèi)預(yù)測采用了更精細(xì)的預(yù)測精度,H.264中亮度分量的運(yùn)動矢量使用1/4像素精度。色度分量的運(yùn)動矢量使用1/8像素精度。
1.2.3 多幀參考
H.264支持多幀參考預(yù)測,最多可以有5個在當(dāng)前幀之前的解碼幀作為參考幀產(chǎn)生對當(dāng)前幀的預(yù)測,提高H.264解碼器的錯誤恢復(fù)能力。
1.2.4 整數(shù)變換
H.264對殘差圖像的4×4整數(shù)變換技術(shù),采用定點(diǎn)運(yùn)算來代替以往DCT變換中的浮點(diǎn)運(yùn)算。以降低編碼時間,同時也更適合硬件平臺的移植。
1.2.5 熵編碼
H.264支持兩種熵編碼方法,即CAVLC(基于上下文的自適應(yīng)可變長編碼)和CABAC(基于上下文的自適應(yīng)算術(shù)編碼)。其中CAVLC的抗差錯能力比較高,但編碼效率比CABAC低;而CABAC的編碼效率強(qiáng),但需要的計算量和存儲容量更大。
1.2.6 去方塊濾波
去方塊濾波的作用是消除經(jīng)反量化和反變換后重建圖像中由于預(yù)測誤差產(chǎn)生的塊效應(yīng),從而改善圖像的主觀質(zhì)量和預(yù)測誤差。經(jīng)過濾波后的圖像將根據(jù)需要放在緩存中用于幀間預(yù)測,而不是僅僅用來改善主觀質(zhì)量,因此該濾波器位于解碼環(huán)中。對于幀內(nèi)預(yù)測,使用的是未經(jīng)過濾波的重建圖像。
2 算法實(shí)現(xiàn)
2.1 平臺選擇
2.1.1 ADSP-BF561芯片介紹
ADSP-BF561是Blackfin系列中的一款高性能定點(diǎn)DSP視頻處理芯片。其主頻最高可達(dá)750MHz,內(nèi)核包含2個16位乘法器MAC、2個40位累加器ALU、4個8位視頻ALU,以及1個40位移位器。該芯片中的兩套數(shù)據(jù)地址產(chǎn)生器(DAG)可為同時從存儲器存取雙操作數(shù)提供地址,每秒可處理1 200兆次乘加運(yùn)算。芯片帶有專用的視頻信號處理指令以及100KB的片內(nèi)L1存儲器(16KB的指令Cache,16 KB的指令SRAM,64 KB的數(shù)據(jù)Cache/SRAM,4 KB的臨時數(shù)據(jù)SRAM)、128KB的片內(nèi)L2存儲器SRAM,同時具有動態(tài)電源管理功能。此外,Blackfin處理器還包括豐富的外設(shè)接口,包括EBIU接口(4個128 MBSDRAM接口,4個1MB異步存儲器接口)、3個定時/計數(shù)器、1個UART、1個SPI接口、2個同步串行接口和1路并行外設(shè)接口(支持ITU-656數(shù)據(jù)格式)等。Blackfin處理器在結(jié)構(gòu)上充分體現(xiàn)了對媒體應(yīng)用(特別是視頻應(yīng)用)算法的支持。
2.1.2 ADSP-561 EZkite
ADSP-BF561視頻編碼器平臺采用ADI公司的ADSP-BF561 EZ-kitLite評估板。此評估板包括1塊ADSP-BF561處理器、32 MB SDRAM和4 MBFlash,板中的AD-V1836音頻編解碼器可外接4輸入/6輸出音頻接口;而ADV7183視頻解碼器和ADV7171視頻編碼器則可外接3輸入/3輸出視頻接口。此外,該評估板還包括1個UART接口、1個USB調(diào)試接口和1個JTAG調(diào)試接口。攝像頭輸入的模擬視頻信號經(jīng)視頻芯片ADV7183A轉(zhuǎn)化為數(shù)字信號,此信號從ADSP-BF561的PPI1(并行外部接口)進(jìn)入ADSP-BF561芯片進(jìn)行壓縮,壓縮后的碼流則經(jīng)ADV7179轉(zhuǎn)換后從ADSP-BF561的PPI2口輸出。此系統(tǒng)可通過Flash加載程序,并支持串口及網(wǎng)絡(luò)傳輸。編碼過程中的原始圖像、參考幀等數(shù)據(jù)可存儲在SDRAM中。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- AN-813: ADSP-BF533/ADSP-BF561 Blackfin處理器與高速并行ADC接口
- EE-272:管理ADSP-BF561 Blackfin處理器上的多個DXE
- EE-265使用ADSP-BF561 Blackfin?處理器標(biāo)志針模擬PCM接口
- EE-272在ADSP-BF561 Blackfin?處理器上管理多個DXE
- ADSP-BF561黑線Processor硬件參考
- 適用于ADSP-BF561 Blackfin處理器的EZ-KIT Lite
- EE-314:啟動ADSP-BF561 Blackfin?處理器
- ADSP-BF561黑體-歐美/SUV-Processor硬件參考
- ADSP-BF561 Blackfin版本0.3、0.5異常列表 0次下載
- EE-272:在ADSP-BF561 Blackfin?處理器上管理多個DXE
- AN-813: ADSP-BF533/ADSP-BF561 Blackn?處理器與高速并行ADC接口
- 基于ADSP-BF561的嵌入式鍵盤設(shè)計與實(shí)現(xiàn)
- H.264視頻編碼在DM642上的實(shí)現(xiàn)與優(yōu)化
- 基于ADSP-BF561的H.263編解碼器實(shí)現(xiàn)
- 基于ADSP-BF561 的數(shù)字?jǐn)z像系統(tǒng)設(shè)計
- 基于H.264實(shí)現(xiàn)最優(yōu)重疊塊匹配加權(quán)窗的系數(shù)設(shè)計 3433次閱讀
- 用于實(shí)現(xiàn)并行處理加速硬件的H.264算法的改進(jìn)和優(yōu)化 2278次閱讀
- 基于H.264解碼芯片的FPGA原型驗(yàn)證平臺實(shí)現(xiàn)視頻控制模塊的設(shè)計 2624次閱讀
- 基于DE2開發(fā)板和NiosII處理器實(shí)現(xiàn)H.264編碼器的設(shè)計 2502次閱讀
- 基于BlackfinBF533處理器對H.264去方塊濾波器性能進(jìn)行優(yōu)化 1319次閱讀
- 矽海達(dá)科技SUE1 H.264編碼模塊介紹 1959次閱讀
- 矽海達(dá)科技SUE2 H.264編碼模塊介紹 2012次閱讀
- 矽海達(dá)科技SUE3 SDI H.264編碼模塊介紹 2176次閱讀
- 矽海達(dá)科技SHD2低延時H264解碼板介紹 2716次閱讀
- 銳爾威視科技H.264百萬USB攝像頭模組規(guī)格 3037次閱讀
- Blackfin系列處理器在網(wǎng)絡(luò)多媒體中的應(yīng)用及介紹 6196次閱讀
- FFMPEG視頻編解碼流程 H.264硬件編解碼實(shí)現(xiàn) 1.9w次閱讀
- H.264和AVS核心技術(shù)分析 1550次閱讀
- 基于ADSP-BF561的寬帶信息終端設(shè)計 1294次閱讀
- AVS視頻標(biāo)準(zhǔn)和H.264核心技術(shù)的區(qū)別 1946次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開關(guān)電源基礎(chǔ)知識
- 5.73 MB | 6次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計
- 0.60 MB | 3次下載 | 免費(fèi)
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計與實(shí)現(xiàn)
- 0.61 MB | 2次下載 | 免費(fèi)
- 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計
- 0.70 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計實(shí)例指南
- 未知 | 21548次下載 | 免費(fèi)
- 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動電路設(shè)計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191185次下載 | 免費(fèi)
- 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183278次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評論