国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于YOLOv3與碼率重分配的視頻直播系統(tǒng)

2021-07-31 10:52:08林鵬程
物聯(lián)網(wǎng)技術(shù) 2021年7期
關(guān)鍵詞:宏塊處理速度碼率

林鵬程

(廈門大學(xué)嘉庚學(xué)院 信息科學(xué)與技術(shù)學(xué)院,福建 漳州 363105)

0 引 言

視頻流是直播行業(yè)的主要載體,其傳輸質(zhì)量影響著最終的呈現(xiàn)效果以及用戶體驗(yàn)。然而受限于帶寬和資源,視頻在傳輸過程中常采用低碼率壓縮[1]。這意味著壓縮后的視頻會丟失重要的細(xì)節(jié),比如人物主播臉部的細(xì)節(jié)、美食外觀紋理等,諸如此類都是用戶的感興趣區(qū)域[2](Regions of Interest,ROI)。提高ROI的碼率可提高區(qū)域的視頻流質(zhì)量與用戶的觀看體驗(yàn)。最重要的是,在帶寬一定的情況下,提高ROI碼率的同時降低背景碼率能夠保證整體碼率處于穩(wěn)定狀態(tài),解決直播服務(wù)中帶寬的限制問題。

目前,已有諸多文獻(xiàn)做過相關(guān)研究。文獻(xiàn)[3]利用圖像小波變化得到圖像的ROI,再進(jìn)行區(qū)分編碼;文獻(xiàn)[4]利用支持向量機(jī)檢測出圖片的ROI區(qū)域并在JPEG2000的基礎(chǔ)上進(jìn)行分區(qū)域壓縮,結(jié)果表明,ROI壓縮方式能得到區(qū)域清晰的圖片;文獻(xiàn)[5]基于壓縮感知提取ROI區(qū)域并編碼,提供了一種可行的ROI圖像編碼方法。之后,研究者把目光轉(zhuǎn)向視頻壓縮領(lǐng)域[6]。文獻(xiàn)[7]根據(jù)圖像復(fù)雜度和能量設(shè)定不同的權(quán)重因子,以此重新分配碼率;文獻(xiàn)[8]分別對時空域λ和QP值進(jìn)行調(diào)整限制;文獻(xiàn)[9]在率失真理論基礎(chǔ)上,對ROI失真估計(jì)進(jìn)行縮放,以提高ROI碼率及優(yōu)先權(quán)。但上述研究還存在一些問題:研究停留在仿真層面,未在實(shí)際系統(tǒng)中實(shí)現(xiàn),尤其在對算法實(shí)時性要求高的場景。本文在直播系統(tǒng)的基礎(chǔ)上設(shè)計(jì)了一種基于YOLOv3與碼率分配的ROI編碼方法。在提取階段,使用YOLOv3對視頻進(jìn)行ROI提取,同時采用TensorRT加速模型;在編碼階段通過復(fù)雜度評估重新分配碼率。實(shí)驗(yàn)數(shù)據(jù)表明,本文方法在改善ROI視頻質(zhì)量的同時,能滿足直播對壓縮速度的要求。

1 系統(tǒng)結(jié)構(gòu)與處理流程

本文結(jié)構(gòu)將作為在Nginx直播平臺的插件運(yùn)行,系統(tǒng)框架如圖1所示。

圖1 系統(tǒng)框架

當(dāng)用戶端把需要直播的音視頻流推送到服務(wù)端的Nginx時,Nginx將數(shù)據(jù)傳送到本文結(jié)構(gòu),經(jīng)過ROI檢測并進(jìn)行碼率重分配、編碼后,重新生成壓縮的數(shù)據(jù)回傳至Nginx,由此,服務(wù)端便可為用戶提供高質(zhì)量的音視頻流服務(wù)。

本文結(jié)構(gòu)對ROI處理的主要流程如圖2所示。當(dāng)接收到Nginx傳來的視頻幀數(shù)據(jù)時,先解壓視頻幀數(shù)據(jù),得到原始YUV視頻數(shù)據(jù),接著進(jìn)行如下操作:

圖2 系統(tǒng)處理過程

(1)初步處理:將視頻YUV數(shù)據(jù)轉(zhuǎn)化為模型推流所需的RGB格式數(shù)據(jù),并進(jìn)行歸一化處理;

(2)模型推理:將視頻數(shù)據(jù)輸入YOLOv3模型,檢測ROI。推理時采用基于GPU加速的TensorRT框架加速模型推理,運(yùn)用多線程進(jìn)行多流水線同時推理,提高推理速度;

(3)后處理:模型推理得到的數(shù)據(jù)是關(guān)于ROI位置的概率矩陣—box信息,因此需要對概率排序、篩選,最終確定是否為ROI。若為ROI,則需激活box信息。系統(tǒng)選用ReLU函數(shù)作為激活函數(shù),得到當(dāng)前視頻幀ROI的位置坐標(biāo);

(4)box信息傳遞:ROI的位置坐標(biāo)用于編碼,因此需要將該信息傳入libx264編碼庫。本系統(tǒng)采用FFmpeg中預(yù)留的libx264接口將信息傳入底層libx264;

(5)碼率重分配:在編碼之前,根據(jù)對幀內(nèi)各宏塊復(fù)雜度的估計(jì),重新分配各宏塊的碼率,分配不同的QP值對幀內(nèi)宏塊進(jìn)行調(diào)整編碼;

(6)封裝視頻流:重新壓縮后的視頻數(shù)據(jù)可使用FFMpeg封裝成易于網(wǎng)絡(luò)傳輸?shù)腗P4、FLV格式,供用戶觀看。

2 碼率分配原理

原始的分配方式可分為幀間分配和幀內(nèi)分配。前者根據(jù)設(shè)定的碼率分配緩沖區(qū),編碼前根據(jù)每個幀的復(fù)雜度、剩余緩沖區(qū)給每個幀分配對應(yīng)的碼率,并通過線性關(guān)系轉(zhuǎn)化為QP值[10];后者根據(jù)幀內(nèi)每個宏塊的復(fù)雜度,將前者分配的碼率按權(quán)重分配給各宏塊,并轉(zhuǎn)化為各宏塊的QP值偏置量。最后,在編碼階段,編碼器將根據(jù)QP值與偏置量對每個宏塊進(jìn)行量化。該碼率分配方式較均勻,本文在幀內(nèi)編碼階段將背景區(qū)域的碼率轉(zhuǎn)化為ROI的碼率,以此提高ROI的質(zhì)量。若一幀的碼率為Rf,ROI的碼率為Rr,背景的碼率為Rb,三者關(guān)系如下:

將ROI的Rb縮減設(shè)定的比例系數(shù)為β,重分配后的碼率調(diào)整為:

重新分配背景與ROI碼率后,將新碼率分配給各宏塊,背景宏塊碼率和ROI宏塊碼率分別乘以系數(shù)α、β,以保證幀總體碼率不變。根據(jù)率失真模型,每個宏塊的碼率與復(fù)雜度存在線性關(guān)系,可據(jù)此建立復(fù)雜度Mco與碼率間的關(guān)系:

3 實(shí)驗(yàn)結(jié)果

實(shí)驗(yàn)條件見表1所列。

表1 實(shí)驗(yàn)條件參數(shù)表

實(shí)驗(yàn)分為算法速度測試與視頻質(zhì)量變化測試。在算法速度方面,對不同的視頻進(jìn)行處理,并采用處理過程中的FPS作為評價標(biāo)準(zhǔn),結(jié)果見表2所列。

表2 算法速度測試結(jié)果 FPS

從結(jié)果可以看出,本文算法在TensorRT加速、單線程情況下達(dá)到約25 FPS的處理速度,增加加速線程后,處理速度約為40 FPS,基本滿足直播平臺對處理速度的要求。經(jīng)過大量測試表明,當(dāng)線程數(shù)為10時,對大部分1 080P視頻的處理速度達(dá)到最佳,為50 FPS。

在視頻質(zhì)量測試方面,將視頻分別轉(zhuǎn)成5種碼率進(jìn)行對比。將每段視頻抽取編號1,10,50,70,100,125作為代表進(jìn)行比較。如圖3所示,第一行圖片代表原始視頻,第二行圖片代表實(shí)驗(yàn)組視頻,第三行圖片代表對照組視頻,從圖片可以直觀看出,對照組存在馬賽克,質(zhì)量較實(shí)驗(yàn)組差,實(shí)驗(yàn)組較接近原始視頻質(zhì)量。

圖3 實(shí)驗(yàn)結(jié)果對比

為了進(jìn)一步說明本文方法的有效性,采用PSNR作為評價標(biāo)準(zhǔn)。以視頻5組實(shí)驗(yàn)數(shù)據(jù)為例,結(jié)果見表3所列。

表3 碼率結(jié)果(無量綱)

通過表3可以看出,本文方法能有效提高ROI碼率,實(shí)驗(yàn)組相比對照組PSNR提高約10%。

4 結(jié) 語

本文提出的基于YOLOv3與碼率重分配的視頻直播系統(tǒng)與其他文獻(xiàn)相比,具有以下創(chuàng)新點(diǎn):

(1)采用TensorRT加速YOLOv3推理,并在推理中使用多線程加速;

(2)在幀內(nèi)分配碼率時,通過2個因子α、β將碼率重新分配給ROI與背景。

實(shí)驗(yàn)結(jié)果表明,本文方法能夠提高ROI編碼質(zhì)量,同時,TensorRT與多線程加速后,處理速度達(dá)到40 FPS,完全可滿足在直播場景的應(yīng)用要求。

猜你喜歡
宏塊處理速度碼率
大數(shù)據(jù)視角下信息管理與信息系統(tǒng)專業(yè)建設(shè)分析
智富時代(2019年2期)2019-04-18 07:44:42
基于狀態(tài)機(jī)的視頻碼率自適應(yīng)算法
看電視太多 損害認(rèn)知功能
老同志之友(2016年5期)2016-05-14 07:10:19
基于場景突變的碼率控制算法
基于選擇特征宏塊的快速視頻穩(wěn)像
X264多線程下碼率控制算法的優(yōu)化
多光譜圖像壓縮的聯(lián)合碼率分配—碼率控制方法
基于宏塊合并的H.264模式選擇算法
一種適合硬件實(shí)現(xiàn)的低復(fù)雜度MAD預(yù)測算法
一種支持H.264與AVS的高效環(huán)路濾波器設(shè)計(jì)
巴彦淖尔市| 台南市| 云林县| 饶阳县| 太谷县| 民乐县| 江北区| 铜鼓县| 霸州市| 鲁山县| 望谟县| 波密县| 元氏县| 常山县| 潜江市| 灌阳县| 福泉市| 永城市| 政和县| 瑞安市| 江城| 平凉市| 和政县| 桐柏县| 龙南县| 长岭县| 威信县| 图们市| 福泉市| 塔河县| 定安县| 大厂| 鸡泽县| 汉寿县| 彭阳县| 沙河市| 凌源市| 镶黄旗| 轮台县| 女性| 民丰县|