?

通信音視頻編解碼技術的研究與應用

2022-12-06 09:05李勝輝王文敏
微型電腦應用 2022年11期
關鍵詞:編解碼碼率音視頻

李勝輝,王文敏

(中移在線服務有限公司,河南,鄭州 450000)

0 引言

隨著無線通信技術的迅速發展,可視化數字媒體豐富了人們日常生活,智能手機等信息采集設備逐漸普及,圖像、視頻音頻的采集更加便利。視頻數據庫、可視電話、視頻會議已經進入實用階段,音頻視頻信息內容豐富,數據量占有巨大空間。對音頻視頻的傳輸使用時間過長,數據的傳輸和存儲的實現成本非常大,對資源產生極大的消耗。

針對上述存在的問題,文獻[1]中基于TMS320DM642的通用音視頻解碼器,數據集并行和線程級并行增強了對音視頻信息的處理能力,但核心處理器的散熱性能較差,輸出圖像碼率不穩定。文獻[2]基于DSP軟硬件結合方法實現了音視頻編解碼,使用特殊的DSP數字信號處理芯片,數據傳輸采用HPI方式,但系統中沒有設計網絡接口,通信中視頻圖像的編解碼時延較大。

針對上述研究中存在的不足,本研究對通信音視頻編解碼進行了詳細的分析,并構建了通信音視頻編解碼系統,將編解碼過程分為音視頻編碼子系統和音視頻解碼子系統,并對視頻編碼算法進行了優化。

1 通信音視頻編解碼系統

1.1 系統整體設計

在多媒體通信過程中所傳輸的視頻圖像和音頻數據都含有大量的冗余信息,增加了通信傳輸的時間。如果音視頻的分辨率更高,傳輸的數據量迅速增加,使用的傳輸時間增加,無法保證通信的實時性。通信中視頻圖像信息中數字幀內有空域冗余,圖像的前后幀之間存在時域冗余[3]。為降低傳輸時間,保證通信的實時性,對音視頻信號進行編碼,消除通信信號中的冗余信息,降低相關性[4]。采用幀間編碼技術,將視頻數據的每一個幀分為若干區塊,每個區塊中像素的位移向量相同,視頻圖像中幀的相對變化稱為運動矢量[5]。根據視頻圖像的變化,每幀的畫面存在不同的運動矢量,通過熵編碼進一步對音視頻信號進行壓縮,能夠依照圖像中前一幀的像素預測下一幀的圖像,減少視頻信號中的冗余信息[6]。圖1為本研究通信音視頻編解碼系統總體結構框圖。

圖1 系統總體結構框圖

本研究通信音視頻編解碼系統分為系統核心部分、音視頻編碼子系統和音視頻解碼子系統。根據用戶對通信音視頻編碼需求,系統構建于Linux系統的開源框架之上,利用GSteamer插件加速視頻的處理,能夠提高通信圖像質量,減少音視頻信號中的噪聲[7]。音視頻解碼子系統能夠支持高達8路視頻的并行解碼和顯示,實現實時解碼、視頻圖像滿幀率顯示、不會出現卡頓的情況。當進程開始時根據設定參數開始解碼和顯示線程。系統核心部分采用共享內存完成各子系統之間的通信,并實現自動檢測視頻和顯示故障,通過無線通信通知用戶。系統升級模塊實現對整個系統的升級和維護,降低了成本,提高了升級速度[8]。表1為各模塊接口的具體指標。

表1 各模塊接口指標

在實際編碼工程中,視頻圖像的參考幀在經過編碼解碼和濾波后的通信視頻幀中選擇,這種方式可以提高預測精度和視頻圖像的壓縮編碼效率[9]。將預測值與視頻圖像進行處理,對音視頻信號變換量化后得到相應的變換系數[10]。根據變換系數對通信中的信號進行熵編碼,壓縮后的信號包含解碼的圖信息,通過網絡打包后進行傳輸。

1.2 音視頻編解碼硬件設計

音視頻編解碼模塊連接外部電源后,將外部電能轉換為系統所需的各類電源,提供標準工作電壓給各芯片使用,同時時鐘芯片輸出多種時鐘信號傳輸到各芯片中,使各芯片發揮正常功能。復位芯片發生復位信號使各芯片功能復位,經過AD模數轉換,然后傳輸到新視頻編解碼專用的輸入通道,按照指定的碼率和幀率對通信中傳輸信號進行編碼。視頻編碼芯片處理器的內部原理框如圖2所示。

圖2 處理器內部原理框圖

本文應用Hi3531處理器,具有雙核處理器,能夠同時對多路視頻進行編解碼,安裝有特定的網絡加速模塊,同時具有高度集成和多個外圍接口,能夠滿足多種差異的產品功能和圖像質量要求。處理器最高主頻可支持390 MHz,提供獨立的32 kB L1I緩存、32 kB L1D緩存和共享265 kB L2緩存。支持多協議視頻解碼,包括H.264/AVC Baseline、Main和High三個檔次以及MJPEG/JPEG Baseline、MPEG-4、MPEG-2、AVS基準檔次等,自適應比特率的碼率在16~40 Mbit/s范圍內,編碼幀率最高為60 fps。還能夠對圖像信息去隔行,對通信中視頻圖像進行邊緣增強,增強圖像的對比度,減小圖像的冗余信息。

視頻AD轉換芯片的性能直接關系到視頻信息解碼速度和圖像質量,本研究選用AD9886A作為視頻輸入芯片,如圖3所示。

圖3 AD9886A芯片圖

編碼器的視頻輸入芯片支持VGA格式的視頻信號,視頻經過A/D,輸出數字RGB/YUV格式的視頻。同具有110 MSPS轉換速率,4∶2∶2輸出模式,140 MHz模擬帶寬,最大功耗為500 MW。

本研究選用TW2984芯片用來采集音頻信號,支持4路音頻同步輸入,內置4個完整的音頻ADC和1個音頻DAC轉換器,支持多通道的輸入,采樣頻率為8/16/32/44.1/48 kHz。該芯片的內部結構如圖4所示。

圖4 TW2984芯片圖

音視頻編碼模塊通過AD轉換芯片轉換為數字RGB視頻信號和音頻信號,進行編碼壓縮后通過連接的線路輸出。

1.3 視頻編解碼算法

采集到音視頻信號后,音視頻編碼子系統開始對原始數據進行圖像幀編碼。使用圖像中的幀間像素進行預測,進一步對誤差變化和量化處理。通常使用的變換方式有離散余弦變換和小波變換等,視頻圖像經過特定變換后能夠達到更好的視覺效果。

由于DCT整數變換,對通信中的音視頻信號量化壓縮前,引入H.264標準將時域信號轉換為頻域信號。通過離散余弦變換,避免了采用泛用性較強的DCT變換引起逆變換中錯配的問題。在對數據量化過程中,H.264根據視頻圖像的像素值變化范圍使用非靜態方法確定量化參數,能夠最大程度地保留圖像的細節,不損失視頻信息完整性的同時去除了不必要的碼流。H.264編碼方式如圖5所示。

圖5 H.264混合編碼

在對音視頻數據中比例因子進行編碼時,除第一個比例因子外,剩余的比例因子都應該利用特殊的霍夫曼碼進行差分編碼,使用了頻域去除數據中的冗余信息,均勻量化可表示為

(1)

其中,Sn表示輸出的反量化音視頻數據,Sm表示輸入的量化點數,b表示每個音視頻數據自帶的位數。

而MP3使用非均勻量化可以進一步壓縮對音視頻數據編碼的碼率,進一步減小量化誤差,可表示為

(2)

其中,X(j)表示量化后的數值,ri(j)表示第i個頻帶的頻域值,Ci表示綜合因子。與之對應的反量化公式為

(3)

其中,xri為反量化結果,A為綜合指數。量化不同的步長解析不同的頻譜系數采用非均勻量化,公式為

X(j)=int[(|ri(j)|×21/4s-cs)3/4+M]

(4)

其中,s表示比例因子,cs表示全局比例因子,M表示調整偏差。與之對應反量化可表示為

(5)

關于時域混疊消除法的改進離散余弦變換是一種與傅里葉變換有關的變換,處理對于數據量級較大的音視頻信息時的效果更好。在視頻圖像數據信號中,出現前一塊數據與之后的數據重疊的情況,使用離散余弦變換能夠避免音視頻數據區塊邊界出現冗余。AVS音視頻壓縮標準可表示為

(6)

其中,Xk表示混疊重建后輸入的音視頻信號,xn表示經過變換后的輸入值。對音視頻信號量化后使用熵編碼進行壓縮,同時不會產生任何編碼損耗。音視頻信號構成為A={ai|i=1,2,…,m},其中每個信號出現的可能性表示為P(ai),音視頻信號的信息容量為I(ai)=-log2P(ai),其中某一音視頻信號在信源端與其他信號不關聯,信號源的熵可定義為

(7)

其中,H(X)表示通信中某一音視頻信號的平均信息量。音視頻信號出現的可能性完全一致時,信號的熵達到最大,在實際通信音視頻信號編碼過程中出現信號的冗余,時信號編碼的復雜程度增加。H.264中采用CAVLVC算法可表示為

(8)

其中,Xij為通信信息中視頻圖像塊第i行第j列的值,Xmn表示變換矩陣中的系數值。量化公式為

(9)

其中,F表示輸出的音視頻信號量化值,Qstep表示量化步長。利用通信中用音視頻信號完成編碼的信息塊消除音視頻信號將出現概率上的聯系,減少了對音視頻編碼使用的資源,在一定程度上提高了編碼效率。

2 應用測試

為驗證本文研究通信音視頻編解碼技術的性能,分別使用文獻[1]編解碼方式、文獻[2]編解碼方式和本研究音視頻編解碼技術對視頻實驗樣本進行處理,比較分析輸出碼率水平和端到端時延。表2為本研究軟件實驗環境。表3為實驗數據樣本。

表2 實驗環境

表3 數據樣本

本研究實驗設定目標幀率為30 fps,與視頻圖像的輸入幀率相同,設定為恒定碼率控制,I幀和P幀初始參數為28,編碼過程根據碼率對量化參數進行調整。對標準測試圖像樣本進行測試輸出的碼率如圖6所示。對圖像數據樣本的時延分析如圖7所示。

圖6 圖像序列輸出碼率

由圖6可知,本研究圖像序列輸出碼率范圍在5~6 Mbps,輸出碼率比較穩定,有利于音視頻碼流的平穩傳輸。

圖7 編解碼時延分析

觀察實驗結果可知,本研究對音視頻數據的編解碼技術的時延最低,編解碼效率最高。本研究編解碼的幀頻為30 fps,編碼時延為65 ms,傳輸、解碼時延為168 ms,說明本研究編解碼技術具有更好的實時性,減少了音視頻信號中的冗余信息。

文獻[1]編解碼方式的幀率同樣為30 fps,編碼時延為125 ms,傳輸、解碼時延高達318 ms。文獻[2]編解碼方式的幀率為25 fps,編碼時延為86 ms,傳輸、解碼時延為272 ms。文獻[1]和文獻[2]的編解碼方式對視頻圖像樣本編解碼時延過高,算法過于復雜,運算量較大,所使用的時間過長,效率不高,壓縮增益效果較差。

3 總結

本研究對通信音視頻編解碼系統的設計和實現進行了詳細的分析,能夠最大程度地滿足用戶通信需求。采用Linux系統的開源框架實現了通信中編解碼功能,提高了應用程序的適用性。詳細說明了新視頻編解碼模塊的功能和設計,使用H.264視頻編碼和G.711音頻編碼,并分析了子系統的實現過程。

本文研究還存在一些不足之處有待改進,對于視頻信息中內容復雜、運動較為強烈的情況,運動估計算法的精度有待提高。信號中變換和量化使用的時間過長,對熵編碼還需進一步優化。

猜你喜歡
編解碼碼率音視頻
Microchip推出首款車載以太網音視頻橋接(AVB)全集成解決方案
一種基于HEVC 和AVC 改進的碼率控制算法
基于FPGA的多碼率卷積編碼器設計與實現
ASN.1 的PER 分層運行庫系統的設計和實現
1553B總線控制器編解碼設計
為多重編解碼世界做好準備
3KB深圳市一禾音視頻科技有限公司
大型民機試飛遙測視頻編解碼方法研究
基于狀態機的視頻碼率自適應算法
WIFI音視頻信號傳輸的關鍵問題探究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合