H.264音視頻編解碼SoC芯片Hi3510的原理和應(yīng)用
進(jìn)入網(wǎng)絡(luò)時代以來,龐大的信息流帶來了人類文化的豐富,也帶來了存儲信息的煩惱。尤其是視頻信息的龐大數(shù)據(jù),催生了視頻壓縮技術(shù)的需求。視頻壓縮技術(shù)成為多媒體時代最熱門的技術(shù)之一,并廣泛地應(yīng)用在電視、電影、可視電話、視頻會議、遠(yuǎn)程監(jiān)控等圖像傳輸和存儲的領(lǐng)域。
H.264視頻壓縮原理
從信息論觀點(diǎn)來看,圖像作為一個信源,描述信源的數(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ù)測、運(yùn)動估值和運(yùn)動補(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ùn)動預(yù)測區(qū)域等方法對下一幀進(jìn)行精確預(yù)測,從而減少傳輸?shù)臄?shù)據(jù)量,實現(xiàn)降低圖像的時域相關(guān)性。H.264把運(yùn)動估值和幀內(nèi)預(yù)測的殘差結(jié)果從時域變換到頻域,使用了類似于4×4離散余弦變換(DCT)的整數(shù)變換,而不是像MPEG-2和MPEG-4那樣采用8×8 DCT的浮點(diǎn)數(shù)變換。以整數(shù)為基礎(chǔ)的空間變換具備效果好、計算快(只需加法與移位運(yùn)算),反變換過程中不會出現(xiàn)適配問題等優(yōu)點(diǎn),并且結(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)動估計(幀間預(yù)測)、幀內(nèi)預(yù)測、DCT變換、量化、熵編碼(CAVLC+Exp-Golomb)、IDCT變換、反量化、運(yùn)動補(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)視頻點(diǎ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既可以作為獨(dú)立的編碼器工作,也可以作為獨(dú)立的解碼器工作,也可以同時編解碼工作,充分考慮到了編解碼市場的各種應(yīng)用場合。Hi3510是一個典型的多應(yīng)用的單芯片解決方案,大大降低了設(shè)備的BOM組成和成本。如圖2所示為芯片同時編解碼的應(yīng)用。
圖2:Hi3510是一款典型的多應(yīng)用的單芯片解決方案。
i3510編解碼的應(yīng)用
Hi3510自帶的Linux操作系統(tǒng)(同時支持Vxworks、WinCE等開放式操作系統(tǒng))和ARM處理器,使得芯片除了編解碼功能外,還可以實現(xiàn)許多豐富的應(yīng)用功能開發(fā)。如圖2所示,只要附加一片普通AD就可實現(xiàn)復(fù)合視頻信號的數(shù)字化、壓縮和存儲和傳輸?shù)墓δ?。Hi3510開發(fā)包提供上層API接口,就可以調(diào)用實現(xiàn)所有的芯片功能,并能開發(fā)自己的個性化功能。圖3為芯片的編碼方案的應(yīng)用設(shè)計。
評論