曹文繼 喻娜 任小平 王龍廣 賈羽 白奉強(qiáng)
摘要:世界上數(shù)量眾多的先進(jìn)國(guó)家均把衛(wèi)星通信視作救災(zāi)搶險(xiǎn)、維護(hù)社會(huì)穩(wěn)定發(fā)展的主要途徑重要保障手段以及應(yīng)急通信途徑。因此基于衛(wèi)星通信的高抗干擾性要求下造成的低通信帶寬的特點(diǎn),本文針對(duì)性地設(shè)計(jì)一種低碼率的視頻編碼系統(tǒng)。該系統(tǒng)采用H265圖像壓縮編解碼標(biāo)準(zhǔn),使用華為海思公司的HI3516A和ADI公司的ADV7441A搭建硬件平臺(tái),在linux系統(tǒng)架構(gòu)進(jìn)行軟件功能實(shí)現(xiàn)。最終實(shí)現(xiàn)高清視頻信號(hào)在1Mbps低傳輸帶寬的傳輸。
關(guān)鍵詞:衛(wèi)星通信;H265;HI3516A;linux
中圖分類(lèi)號(hào):TN927.2 ? 文獻(xiàn)標(biāo)識(shí)碼:A ? 文章編號(hào):1672-9129(2018)15-0061-02
Abstract:Many advanced countries in the world regard satellite communication as an important means of security and emergency communication for disaster relief and social stability. Therefore, based on the characteristics of low communication bandwidth caused by high anti-jamming requirements of satellite communication, a low bit rate video coding system is designed in this paper. The system adopts H265 image compression codec standard, uses HI3516A of Huawei Heise Company and ADV7441A of ADI Company to build hardware platform, and implements software function in Linux system architecture. Finally, high-definition video signals are transmitted at low transmission bandwidth of 1Mbps.
Keywords:satellite communication;H265;HI3516A;linux
引言:對(duì)于衛(wèi)星應(yīng)急通信來(lái)講,其是在發(fā)生人為或是自然突發(fā)性緊急狀況、通信設(shè)施被嚴(yán)重毀壞時(shí),可以有效地保障救援保障工作而需要的通信所和必要通信所需的通信保障方法方式,其具有高時(shí)效性以及暫時(shí)性強(qiáng)等特征。所以,找到一種具備遠(yuǎn)距離傳輸、所受地理環(huán)境限制較小、便于攜帶與架設(shè)的衛(wèi)星通信模式,同時(shí),設(shè)計(jì)一個(gè)體積小,重量輕,攜帶方便,操作簡(jiǎn)單,成本低廉,在突發(fā)狀況下可及時(shí)響應(yīng)的便攜式寬帶衛(wèi)星通信終端,成為迫切任務(wù)。本系統(tǒng)實(shí)現(xiàn)便攜式寬帶衛(wèi)星通信終端中視頻通信的重要功能,并且基于衛(wèi)星通信的高抗干擾性要求下造成的低通信帶寬的條件下,需要設(shè)計(jì)一種低碼率的視頻編解碼系統(tǒng)。
衛(wèi)星通信系統(tǒng)中衛(wèi)星信號(hào)傳輸通道受衛(wèi)星天線(xiàn)增益、地球同步軌道通信衛(wèi)星自身參數(shù)、經(jīng)緯度、天氣狀況、衛(wèi)星帶寬資源有限等特點(diǎn)的限制,一般上行帶寬超不過(guò)1.5Mbps[1],去掉信號(hào)包頭開(kāi)銷(xiāo),實(shí)際凈荷帶寬一般不超過(guò)1Mbps。而衛(wèi)星應(yīng)急通信中,音視頻信號(hào)是主要通信業(yè)務(wù)。在這種傳輸條件下,需要設(shè)計(jì)一種低碼率音視頻編碼器才能滿(mǎn)足系統(tǒng)要求。傳統(tǒng)視頻壓縮編碼采用H264標(biāo)準(zhǔn),但此標(biāo)準(zhǔn)無(wú)法滿(mǎn)足高清圖像的低碼率壓縮傳輸。H265編碼標(biāo)準(zhǔn)作為最新視頻壓縮標(biāo)準(zhǔn),具有比H264標(biāo)準(zhǔn)更高大約40%的高效圖像壓縮比[2],完全可以滿(mǎn)足本系統(tǒng)要求。
1 系統(tǒng)的總結(jié)構(gòu)設(shè)計(jì)
音視頻編碼系統(tǒng)主要由視頻信號(hào)采集、音頻信號(hào)采集、音視頻壓縮、信號(hào)傳輸?shù)榷鄠€(gè)功能部分組成。其中視頻采集部分需要使用ADV7441A視頻AD進(jìn)行視頻信號(hào)模數(shù)轉(zhuǎn)換,然后通過(guò)BT656或BT1120數(shù)字接口傳送給HI3516A進(jìn)行視頻信號(hào)壓縮。而HI3516A音視頻SOC因?yàn)閮?nèi)置音頻CODEC,可直接采集模擬音頻信號(hào)并壓縮。所有壓縮完成后音視頻信號(hào)通過(guò)以太網(wǎng)進(jìn)入無(wú)線(xiàn)衛(wèi)星通信網(wǎng)絡(luò)。圖1為系統(tǒng)的總體設(shè)計(jì)圖。
2 系統(tǒng)硬件方案設(shè)計(jì)
2.1編解碼主控芯片。Hi3516A作為新一代行業(yè)專(zhuān)用HD IP攝像機(jī)SoC,集成新一代ISP,采用業(yè)界最新的H.265視頻壓縮編碼器同時(shí)采用先進(jìn)低功耗工藝和低功耗構(gòu)架設(shè)計(jì),這一切使Hi3516A在低碼率、高圖像質(zhì)量和低功耗方面持續(xù)引領(lǐng)行業(yè)水平。Hi3516A最高可支持五百萬(wàn)像素實(shí)時(shí)視頻編碼,通過(guò)海思網(wǎng)絡(luò)傳輸技術(shù),能得到小于的網(wǎng)傳延遲。
2.2視頻采集AD芯片。ADV7441A,其為一類(lèi)多格式、高質(zhì)量的圖形數(shù)字化以及視頻解碼器及儀儀器,且集成了2:1多路復(fù)用HDMI接收器。其所涵蓋的處理部分為以下兩個(gè):其一,標(biāo)清處理器,其能對(duì)全部種類(lèi)PAL、NTSC、SECAM信號(hào)進(jìn)行處理。其二,分量處理器。其能對(duì)RGB以及YPrPb分量格式進(jìn)行處理,涵蓋RGB圖形。CP也可以對(duì)來(lái)自HDMI接收器的視頻信號(hào)進(jìn)行處理。對(duì)于模擬工作模式來(lái)講,ADV7441A能夠讓HDMI源和選定HDMI端口間的HDCP鏈路處于活動(dòng)狀態(tài)中,進(jìn)而能夠迅速地切換于HDMI模式與模擬模式之間。
ADV7441A,其作為解碼器能夠把S視頻信號(hào)以及PAL、NTSC、SECAM復(fù)合信號(hào)轉(zhuǎn)成為數(shù)字ITU-R BT.656格式。其也能夠把RGB或YPrPb分量視頻信號(hào)解碼成數(shù)字YPrPb或是RGB像素輸出流。此器件支持525i、625i、525p、625p、720p、1080i、1080p與1250i分量視頻標(biāo)準(zhǔn)。除此之外,也可以對(duì)CVBS以及標(biāo)清RGB信號(hào)進(jìn)行同時(shí)處理,進(jìn)而支持疊加功能以及SCART。此器件能夠數(shù)字化處理VGA到UXGA速率RGB圖形信號(hào),把它轉(zhuǎn)換成為數(shù)字RGB或YPrPb像素輸出流。ADV7441A內(nèi)置雙路輸入HDMI兼容型接收器,最高能支持UXGA的顯示分辨率以及1080p的高清電視格式。在HDCP功能被增加之后,也可以對(duì)加密視頻進(jìn)行接收。HDMI接收器存在著自適應(yīng)均衡特性,保證此接口可以工作于長(zhǎng)達(dá)三十米的電纜上。
3 系統(tǒng)軟件方案設(shè)計(jì)
3.1系統(tǒng)軟件整體設(shè)計(jì)。系統(tǒng)主要由H.265編碼程序設(shè)計(jì)、視頻圖像采集和Live555程序分析三個(gè)大模塊組成。
(1)H.265編碼程序設(shè)計(jì)。程序通過(guò)調(diào)用HiMPP平臺(tái)下的MPI來(lái)實(shí)現(xiàn)。首先,需要ADV7441采集實(shí)時(shí)圖像,本系統(tǒng)利用用戶(hù)選擇的方式采集信號(hào)或者高清信號(hào)。第二,對(duì)MPP平臺(tái)進(jìn)行初始化,主要對(duì)輸入和預(yù)處理系統(tǒng)變量進(jìn)行初始化;第三,分配緩存池,本系統(tǒng)中,設(shè)置緩存池最大個(gè)數(shù)MaxPoolCnt為128,每池塊數(shù)為20塊,每塊大小為SAMPLE_COMM_SYS_CalcPicVbBlkSize()所計(jì)算的值,即每幀圖像大小。第四設(shè)置Vpss;具體對(duì)stVpssGrpAttr結(jié)構(gòu)體和stVpssChnMode結(jié)構(gòu)體進(jìn)行設(shè)置;使圖像的寬、高、像素格式等等滿(mǎn)足所需。然后使用SAMPLE_COMM_VENC_BindVpss()函數(shù)將vpss與vi通道進(jìn)行綁定。最后SAMPLE_COMM_VENC_Start()開(kāi)始編碼,并用SAMPLE_COMM_VENC_BindVpss()將編碼通道與Vpss通道進(jìn)行綁定,編碼開(kāi)始。
(2)視頻圖像采集。VI模塊由視頻輸入設(shè)備和物理通道組成,Hi3516A包含一個(gè)視頻輸入設(shè)備(DEV0),和一個(gè)支持16個(gè)擴(kuò)展通道的物理視頻通道(CHN0)。DEV支持BT.656、BT.1120等接口的視頻格式。本系統(tǒng)使用ADV7441A進(jìn)行實(shí)時(shí)圖像的采集。
(3)Live555程序分析。最新的live555(2018-09-06版)支持H.265格式視頻的傳輸,但live555默認(rèn)只支持發(fā)送音視頻文件,對(duì)實(shí)時(shí)流文件的傳輸需要對(duì)源碼進(jìn)行改動(dòng)。live555利用TaskScheduler類(lèi)庫(kù)完成socket的調(diào)度,來(lái)構(gòu)成運(yùn)行的框架。RTSP協(xié)議服務(wù)機(jī)制如下圖2所示。
RTSP負(fù)責(zé)建立和控制會(huì)話(huà),RTP負(fù)責(zé)多媒體的傳輸,rtcp配合RTP做控制和流量統(tǒng)計(jì)。以下是其具體過(guò)程:其一,與RTSP服務(wù)器監(jiān)聽(tīng)客戶(hù)端的連接請(qǐng)求進(jìn)行構(gòu)建,響應(yīng)客戶(hù)端所發(fā)起的請(qǐng)求,當(dāng)連接被構(gòu)建后,對(duì)RTSPClientSession文件進(jìn)行創(chuàng)建,RTSP協(xié)議即實(shí)現(xiàn)于RTSPClientSession文件中。其二,實(shí)現(xiàn)RTSP協(xié)議的過(guò)程,客戶(hù)端發(fā)送RTSP描述命令給服務(wù)器端,服務(wù)器將對(duì)應(yīng)的媒體文件查找到,且形成會(huì)話(huà)描述協(xié)議(SDP)信息實(shí)施回應(yīng);然后,客戶(hù)端發(fā)送RTSP建立命令服務(wù)器端建立RTP/RTRTP/RT,且對(duì)特定的Source和Sink進(jìn)行構(gòu)建,為得到數(shù)據(jù)、封包數(shù)據(jù)、發(fā)送數(shù)據(jù)而做好準(zhǔn)備工作;當(dāng)上述步驟被完成后,播放命令通過(guò)客戶(hù)端所發(fā)送,服務(wù)器端與其請(qǐng)求相響應(yīng),循環(huán)地調(diào)用Source對(duì)象的成員方法得到數(shù)據(jù)且借助Sink對(duì)象的成員方法實(shí)施封包以及發(fā)送,促使流媒體服務(wù)器功能的實(shí)現(xiàn);當(dāng)播放時(shí),客戶(hù)端能通過(guò)終止命令發(fā)送而結(jié)束流媒體會(huì)話(huà)[3]。
3.2應(yīng)用層軟件設(shè)計(jì)。如圖3所示Hi3516A應(yīng)用層軟件主要由進(jìn)程A和進(jìn)程B構(gòu)成。其中進(jìn)程A完成外部模塊(如ADV7441A的初始化)、系統(tǒng)變量初始化、采集VI視頻、啟動(dòng)VPSS視頻處理、啟動(dòng)VENC視頻編碼以及可選視頻數(shù)據(jù)文件本地存儲(chǔ)功能。進(jìn)程B主要完成壓縮音視頻數(shù)據(jù)獲取以及數(shù)據(jù)的以RTSP協(xié)議的方式打包傳輸。程序設(shè)計(jì)最后應(yīng)對(duì)共享內(nèi)存的分配進(jìn)行釋放,防止系統(tǒng)崩潰[4]。首先,進(jìn)程A基于HiMPP設(shè)計(jì),利用Hi3516a_viu將ADV7441a解碼得到的BT.1120/BT.656接口的視頻采集輸入,并通過(guò)Vpss(視頻預(yù)處理模塊)對(duì)輸入進(jìn)行剪裁縮放等預(yù)處理,再通過(guò)Hi3516a_venc模塊對(duì)與處理后的圖像進(jìn)行H.265編碼;同時(shí)通過(guò)內(nèi)存管理器開(kāi)辟共享內(nèi)存,將編碼處理后的H.256流文件存入其中,并合理使用系統(tǒng)內(nèi)存。進(jìn)程B利用Live555開(kāi)源代碼移植完成。第一,獲得共享內(nèi)存中的H.265流,并通過(guò)RTP協(xié)議進(jìn)行傳送;第二,RTSP協(xié)議對(duì)視頻流的播放、暫停等進(jìn)行控制;第三,通過(guò)RTCP對(duì)傳輸質(zhì)量和網(wǎng)絡(luò)狀態(tài)進(jìn)行監(jiān)測(cè)。
4 結(jié)論
經(jīng)過(guò)實(shí)際測(cè)試,1080P高清信號(hào)傳輸在500Kbps的速率帶寬下,最后經(jīng)過(guò)軟件解碼回放,圖像畫(huà)面產(chǎn)生大量馬賽克和丟幀情況。當(dāng)速率到達(dá)1Mbps的時(shí)候,圖像畫(huà)面得到很大改觀,視頻畫(huà)面也比較流暢,沒(méi)有丟幀的情況。音視頻編碼系統(tǒng)軟件可以正常運(yùn)行,壓縮音視頻信號(hào)經(jīng)過(guò)電腦軟件解碼后也可以正常顯示。在碼率為1Mbps的情況下,表面圖像質(zhì)量較好,沒(méi)有出現(xiàn)馬賽克等誤碼丟包現(xiàn)象。系統(tǒng)中音頻采用G.711標(biāo)準(zhǔn)PCM編碼格式,速率為64Kbps。因?yàn)橐纛l信號(hào)速率很低,不會(huì)對(duì)系統(tǒng)信號(hào)整體傳輸造成丟失或誤碼的情況,所以本次測(cè)試沒(méi)有對(duì)音頻進(jìn)行專(zhuān)門(mén)測(cè)試。根據(jù)測(cè)試結(jié)果,此音視頻編碼系統(tǒng)完全可以滿(mǎn)足衛(wèi)星通信終端的功能和性能要求。
參考文獻(xiàn):
[1]賁海霞. H_265在衛(wèi)星動(dòng)中通圖像傳輸中的應(yīng)用.數(shù)字通信世界, 2014,04;11-13
[2]董文輝. H_265標(biāo)準(zhǔn)概覽及應(yīng)用研究.廣播與電視技術(shù),2015,40,12,60-64
[3]胡博,趙旦峰,王中刊. 基于H.265編解碼高清視頻傳輸系統(tǒng). 應(yīng)用科技,1009-671X(2017)01-027-06
[4]魯云,韓賓,程錦發(fā),等.基于Hi3516A的H265碼流實(shí)時(shí)傳輸系統(tǒng)沒(méi)汁[J].微型機(jī)與立用,2015,34:(20):42-44.
作者簡(jiǎn)介:曹文繼(1974-),男,高級(jí)工程師,碩士,主要從事數(shù)據(jù)通信和圖像處理傳輸方面的研究.