H.264音視頻編解碼SoC芯片Hi3510的原理和應(yīng)用
H.264視頻壓縮原理
從信息論觀點來看,圖像作為一個信源,描述信源的數(shù)據(jù)是信息量(信源熵)和信息冗余量之和。信息冗余量有許多種,如空間冗余、時間冗余、結(jié)構(gòu)冗余、知識冗余、視覺冗余等,數(shù)據(jù)壓縮實質(zhì)上是減少這些冗余量??梢娙哂嗔繙p少可以減少數(shù)據(jù)量而不減少信源的信息量。從數(shù)學(xué)上講,圖像可以看作一個多維函數(shù),壓縮描述這個函數(shù)的數(shù)據(jù)量實質(zhì)是減少其相關(guān)性。
根據(jù)圖像信息的組成元素,H.264采用了幀內(nèi)預(yù)測、幀間預(yù)測、運動估值和運動補(bǔ)償、整數(shù)變換等方式,以提高對圖像的壓縮率。其中幀內(nèi)預(yù)測是H.264根據(jù)圖像中相鄰像素可能相同的性質(zhì),利用相鄰像素的相關(guān)性,采用新的幀內(nèi)預(yù)測模式,通過當(dāng)前像素塊的左邊和上邊的像素(已編碼重建的像素)進(jìn)行預(yù)測,只對實際值和預(yù)測值的差值進(jìn)行編碼,從而能用較少的比特數(shù)來表達(dá)幀內(nèi)編碼的像素塊信息;而幀間預(yù)測通過多幀參考和更小運動預(yù)測區(qū)域等方法對下一幀進(jìn)行精確預(yù)測,從而減少傳輸?shù)臄?shù)據(jù)量,實現(xiàn)降低圖像的時域相關(guān)性。H.264把運動估值和幀內(nèi)預(yù)測的殘差結(jié)果從時域變換到頻域,使用了類似于4×4離散余弦變換(DCT)的整數(shù)變換,而不是像MPEG-2和MPEG-4那樣采用8×8 DCT的浮點數(shù)變換。以整數(shù)為基礎(chǔ)的空間變換具備效果好、計算快(只需加法與移位運算),反變換過程中不會出現(xiàn)適配問題等優(yōu)點,并且結(jié)合量化過程,保證了在16位計算系統(tǒng)中,計算結(jié)果有最大精度且不會溢出。4×4的變換塊也8×8更能減少塊效應(yīng)和震鈴效應(yīng)。
Hi3510工作原理
Hi3510是海思公司推出的一款基于H.264 BP算法的視頻壓縮芯片,該芯片采用ARM+DSP+硬件加速引擎的多核高集成度的SoC構(gòu)架,具備強(qiáng)大的視頻處理功能??蓪崿F(xiàn)DVD畫質(zhì)的實時編碼性能,能自適應(yīng)各種網(wǎng)絡(luò)環(huán)境,確保畫面的清晰度和實時性,低碼率的H.264編碼技術(shù)極大減少網(wǎng)絡(luò)存儲空間,并通過集成DES/3DES加解密硬件引擎確保網(wǎng)絡(luò)安全。Hi3510采用0.13μm工藝、LFBGA400封裝,大小為19×19mm,引腳間距為0.8mm,片內(nèi)集成了包括數(shù)字視頻接口、USB、ETH、I2S、I2C、GPIO、SPI、UART、SDRAM、DDR等接口,滿足各種應(yīng)用場景的設(shè)備開發(fā)的同時能大大降低了設(shè)備的BOM成本。
Hi3510的工作原理:視頻輸入單元通過ITU-R BT.601/656接口接收由VADC輸出的數(shù)字視頻信息,并通過AHB總線把接收到的原始圖像寫入到外存(SDR SDRAM或DDR SDRAM)中;視頻編解碼器從外存中讀取圖像,進(jìn)行運動估計(幀間預(yù)測)、幀內(nèi)預(yù)測、DCT變換、量化、熵編碼(CAVLC+Exp-Golomb)、IDCT變換、反量化、運動補(bǔ)償?shù)炔僮?,最后將符合H.264協(xié)議的裸碼流和編碼重構(gòu)幀(作為下一幀的參考幀)寫入到外存中;視頻輸出單元從外存中讀取圖像并通過ITU-R BT.601/656接口送給VDAC進(jìn)行顯示,應(yīng)用的需求不同,視頻輸出單元從外存中讀取的圖像內(nèi)容也不同,當(dāng)需要對輸入圖像進(jìn)行預(yù)覽時,視頻輸出單元從外存中讀取原始圖像,當(dāng)需要觀察視頻編碼器的編碼效果時,視頻輸出單元從外存中讀取編碼重構(gòu)幀;ARM對視頻編碼器輸出的碼流進(jìn)行協(xié)議棧的封裝,然后送網(wǎng)口發(fā)送,以實現(xiàn)視頻點播業(yè)務(wù)。
如圖1所示,該芯片由ARM+DSP+視頻編解碼加速器+圖形引擎縮放器的核心構(gòu)成,集成了豐富的外圍接口,并內(nèi)部集成包括如數(shù)字水印、DES/3DES算法,使得單芯片能適應(yīng)基乎所有的工作,降低與其它芯片配合的開發(fā)難度,也免除廠商對算法等標(biāo)準(zhǔn)部分的內(nèi)容進(jìn)行重復(fù)開發(fā),大大降低了設(shè)備廠商的投入門檻。配合海思不同應(yīng)用形態(tài)的開發(fā)包,可以開發(fā)出PMP、可視電話、網(wǎng)絡(luò)監(jiān)控、PVR、可視對講等各種產(chǎn)品。
圖1:Hi3510 H.264音視頻編解碼SoC邏輯框圖。
Hi3510編解碼方案的實現(xiàn)
作為SoC架構(gòu)的編解碼芯片,Hi3510在設(shè)計時充分考慮到兼容性和使用的方便性。支持幾乎所有的公司生產(chǎn)的系列AD/DA芯片。Hi3510既可以作為獨立的編碼器工作,也可以作為獨立的解碼器工作,也可以同時編解碼工作,充分考慮到了編解碼市場的各種應(yīng)用場合。Hi3510是一個典型的多應(yīng)用的單芯片解決方案,大大降低了設(shè)備的BOM組成和成本。如圖2所示為芯片同時編解碼的應(yīng)用。
圖2:Hi3510是一款典型的多應(yīng)用的單芯片解決方案。
[!--empirenews.page--]i3510編解碼的應(yīng)用
Hi3510自帶的Linux操作系統(tǒng)(同時支持Vxworks、WinCE等開放式操作系統(tǒng))和ARM處理器,使得芯片除了編解碼功能外,還可以實現(xiàn)許多豐富的應(yīng)用功能開發(fā)。如圖2所示,只要附加一片普通AD就可實現(xiàn)復(fù)合視頻信號的數(shù)字化、壓縮和存儲和傳輸?shù)墓δ堋i3510開發(fā)包提供上層API接口,就可以調(diào)用實現(xiàn)所有的芯片功能,并能開發(fā)自己的個性化功能。圖3為芯片的編碼方案的應(yīng)用設(shè)計。
圖3:Hi3510芯片編碼方案的應(yīng)用設(shè)計。
而解碼器應(yīng)用在架構(gòu)設(shè)計上與編碼器相同(方便方案可保持一致性,可實現(xiàn)一套硬件滿足不通需求,只需要軟件升級)。解碼器只需要配搭DA芯片(如果是LCD數(shù)字屏幕可以節(jié)省該芯片),就可實現(xiàn)把數(shù)據(jù)碼流解碼的作用,并且通過GUI或者OSD實現(xiàn)用戶人機(jī)互動的菜單操作,實現(xiàn)PMP等類似功能的產(chǎn)品應(yīng)用。圖4為芯片的解碼方案的應(yīng)用設(shè)計。
圖4:Hi3510芯片解碼方案的應(yīng)用設(shè)計。
本文小結(jié)
H.264標(biāo)準(zhǔn)的應(yīng)用,為視頻的網(wǎng)絡(luò)傳輸,尤其是低帶寬下(如無線傳輸方式)的傳輸提供了技術(shù)支持。在信息爆炸的今天,市場要求設(shè)計人員推出產(chǎn)品的速度越來越快,而且為了保持產(chǎn)品的競爭力,在產(chǎn)品價格、產(chǎn)品應(yīng)用功能特點上要保持足夠優(yōu)勢,尤其是在多媒體市場領(lǐng)域。海思的SoC芯片在提供了標(biāo)準(zhǔn)算法的基礎(chǔ)上,給予設(shè)計人員最大的靈活度以設(shè)計合適的產(chǎn)品,大大降低了廠商的投入成本,縮短了廠商的推出新產(chǎn)品的時間,為贏得市場做準(zhǔn)備。