基于Hi3510的H.264編解碼器的設計與實現(xiàn)
1 H.264簡介
本文引用地址:http://www.ex-cimer.com/article/189055.htmH.264是ITU-T和ISO/IEC聯(lián)合制定的最新編碼標準,它最先由ITU-T于1997年提出,目標是提出一種更高性能(相對于當時的H.263)的視頻編碼標準。相對于其它標準,H.264具有以下特點:
(1) 碼率低。和MPEG-2等壓縮技術相比,在同等圖像質量下,采用H.264技術壓縮后的數(shù)據(jù)量只有MPEG-2的1/2~1/3。顯然,H.264壓縮技術的采用將大大節(jié)省存儲容量、信道帶寬及用戶的下載時間和數(shù)據(jù)流量收費。
(2) 圖像質量高。H.264能提供連續(xù)、流暢的高質量圖像。
(3) 應用范圍廣。H.264的不同Profile既可以應用于有嚴格時延限制的實時通信中,也可以應用于對時延要求不高的其他應用中(如視頻存儲、流媒體等等)。
(4) 魯棒性。H.264在設計時,針對分組交換網(wǎng)如Internet中的分組丟失和無線網(wǎng)絡中比特誤碼都提出了相應的工具,使得H.264在這些網(wǎng)絡中傳播時具有更強的抗誤碼性能。
(5) 對各種網(wǎng)絡的友好性。H.264中增加了NAL層,負責將編碼器的輸出碼流適配到各種類型的網(wǎng)絡中,從而提供了友好的網(wǎng)絡接口。
H.264之所以能夠達到以上性能,是因為采用了以下一些先進的技術:
首先是幀內(nèi)預測編碼,充分利用圖像空域相關性,來降低碼率。根據(jù)像條編碼類型,每個宏塊可以選擇幾種編碼類型之一。共有13種預測模式(4×4塊大小9種預測模式,16×16塊大小4種預測模式),這在以往標準中是沒有的。
其次是采用新的快速運動估值算法UMHexagonS(中國專利),它是一種運算量相對于H.264中原有的快速全搜索算法可節(jié)約90%以上的新算法,全名叫“非對稱十字型多層次六邊形格點搜索算法”(unsymmetrical-cross muti-hexagon search),這是一種整像素運動估值算法。由于它在高碼率大運動圖像序列編碼時,在保持較好失真率性能的條件下,運算量十分低,已被H.264標準正式采納。H.264有7種塊匹配模式,編碼時對其逐一計算,選擇最優(yōu)。例如較為精細的部分采用4×4塊大小,不運動的背景可以采用16×16塊大小等等。以往標準只有固定的一種或者兩種塊大小模式。H.264采用多幀參考,最大限度地利用實域相關性。參考幀可以從1幀到15幀,以往標準都是單幀參考。還有采用1/4或1/8精度的亞象素運動估計,以往標準至多采用1/2精度亞象素搜索,而且不是必選選項。為了消除視頻編碼中常出現(xiàn)的塊效應,H.264使用了去塊效應濾波器。
H.264還采用了整數(shù)DCT變換,以提高變換速度,采用CAVLC,CABAC等新的熵編碼方法以提高編碼效果。
H264標準使運動圖像壓縮技術上升到了一個更高的階段,在較低帶寬上提供高質量的圖像傳輸是H.264的應用亮點。H.264因具有較低的傳輸比特率且對存儲的要求較低,基本系統(tǒng)無需使用版權,具有開放的性質,目前有望取代MPEG-2。
Hi3510是海思公司推出的一款基于H.264 BP算法的視頻壓縮芯片,該芯片采用 ARM+DSP+硬件加速引擎的多核高集成度的SoC構架,具備強大的視頻處理功能。可實現(xiàn)DVD畫質的實時編碼,能白適應各種網(wǎng)絡環(huán)境,確保畫面的清晰度和實時性,低碼率的H.264編碼技術極大減少了網(wǎng)絡存儲空間,并通過集成DES/3DES加解密硬件引擎確保網(wǎng)絡安全。
Hi3510采用0.13μm工藝、LFBGA400封裝,大小為19×19mm,引腳間距為0.8mm,片內(nèi)集成了包括數(shù)字視頻接口、USB、ETH、I2S、I2C、GPIO、SPI、UART、SDRAM、DDR等接口,滿足各種應用場景設備開發(fā)的同時能大大降低設備的BOM成本。
Hi3510的工作原理:視頻輸入單元通過ITU-RBT.601/656接口接收由VADC輸出的數(shù)字視頻信息,并通過AHB總線把接收到的原始圖像寫入到外存(SDR SDRAM或DDR SDRAM)中;視頻編解碼器器從外存中讀取圖像,進行運動估計(幀間預測)、幀內(nèi)預測、DCT變換、 量化、熵編碼(CAVLC+Exp-Golomb)、IDCT變換、反量化、運動補償?shù)炔僮鳎詈髮⒎螲.264協(xié)議的裸碼流和編碼重構幀(作為下一幀的參考幀)寫入到外存中;視頻輸出單元從外存中讀取圖像數(shù)據(jù)并通過ITU-R BT.601/656接口送給VDAC進行顯示,應用的需求不同,視頻輸出單元從外存中讀取的圖像內(nèi)容也不同,當需要對輸入圖像進行預覽時,視頻輸出單元從外存中讀取原始圖像,當需要觀察視頻編碼器的編碼效果時,視頻輸出單元從外存中讀取編碼重構幀;ARM對視頻編碼器輸出的碼流進行協(xié)議棧的封裝,然后送給網(wǎng)口發(fā)送,以實現(xiàn)視頻點播業(yè)務。
Hi3510的H.264音視頻編解碼SoC邏輯框圖如圖1所示,該芯片由ARM+DSP+視頻編解碼加速器+圖形引擎縮放器的核心構成,集成了豐富的外圍接口,并內(nèi)部集成包括如數(shù)字水印、DES/3DES算法,使得單芯片能適應幾乎所有的工作,降低與其它芯片配合的開發(fā)難度,也免除廠商對算法等標準部分的內(nèi)容進行重復開發(fā),大大降低了設備廠商的投入門檻。配合海思不同應用形態(tài)的開發(fā)包,可以開發(fā)出PMP、可視電話、網(wǎng)絡監(jiān)控、PVR、可視對講等各種產(chǎn)品。
3 Hi3510的編解碼設計方案
作為SoC架構的編解碼芯片,Hi3510在設計時充分考慮到兼容性和使用的方便性。支持幾乎所有公司生產(chǎn)的系列AD/DA芯片。Hi3510既可以作為獨立的編碼器工作,也可以作為獨立的解碼器工作,也可以同時進行編解碼工作,充分考慮到了編解碼市場的各種應用場合。Hi3510是一個典型的多應用的單芯片解決方案,大大降低了設備的BOM組成和成本。
Hi3510的同時編解碼設計方案如圖2所示。
4 Hi3510編解碼應用
Hi3510自帶的Linux操作系統(tǒng)(同時支持Vxworks、WinCE等開放式操作系統(tǒng))和ARM處理器,使得芯片除了編解碼功能外,還可以實現(xiàn)許多豐富的應用功能開發(fā)。在圖2中,只要附加一片普通AD就可實現(xiàn)復合視頻信號的數(shù)字化壓縮、存儲和傳輸?shù)墓δ堋i3510開發(fā)包提供上層API接口,就可以調用實現(xiàn)所有的芯片功能,并能開發(fā)自己的個性化功能。
Hi3510芯片的編碼應用設計如圖3所示。
而解碼器應用在架構設計上與編碼器相同(方便方案可以保持一致性,可以實現(xiàn)一套硬件滿足不同需求,只需要軟件升級)。解碼器只需要配搭DA芯片(如果是LCD數(shù)字屏幕可以節(jié)省該芯片),就可以實現(xiàn)把數(shù)據(jù)碼流解碼的作用,并且通過GUI或者OSD實現(xiàn)用戶人機互動的菜單操作,實現(xiàn)PMP等類似功能的產(chǎn)品應用。
Hi3510芯片的解碼應用設計如圖4所示。
H.264標準的應用,為視頻的網(wǎng)絡傳輸,尤其是低帶寬下(如無線傳輸方式)的傳輸提供了技術支持。在信息爆炸的今天,市場要求設計人員推出產(chǎn)品的速度越來越快,而且為了保持產(chǎn)品的競爭力,在產(chǎn)品價格、產(chǎn)品應用功能特點上要保持足夠優(yōu)勢,尤其是在多煤體市場領域。海思的SoC芯片在提供了標準算法的基礎上,給予設計人員最大的靈活度以設計合適的產(chǎn)品,大大降低了廠商的投放成本,縮短了廠商的推出新產(chǎn)品的時間,為贏得市場做準備。近年來,每一個便攜式個人電子設備似乎都配備了音視頻功能,包括移動電話、便攜式媒體播放器和PDA。這種基于Hi3510設計的高性價比H.264編解碼器一定會有廣闊的市場前景。
評論