







摘要:目前煤礦視頻監(jiān)控數據傳輸存在高延遲問題,而視頻傳輸延遲的主要成因是編碼延遲。針對該問題,提出了一種無視頻編碼的基于媒體補充增強信息(SEI)的煤礦智能監(jiān)控視頻傳輸方法。該方法在解復用視頻流得到視頻壓縮幀后緩存一份副本,解碼視頻壓縮幀得到視頻解碼幀,通過SEI 存儲視頻解碼幀中AI 模型分析結果,根據時間戳對應關系將自定義SEI 寫入該視頻解碼幀對應視頻壓縮幀副本的網絡提取層單元,并復用視頻壓縮幀副本,實現煤礦智能監(jiān)控視頻實時傳輸。在24 核CPU 上對該方法進行實驗測試,結果表明:對于1 280×720 分辨率的視頻,采用該方法處理視頻時CPU 整體使用率由采用傳統方法時的24.7%~36.6% 降至20.3%~23.9%,端到端延遲由1 946 ms 降至345 ms;對于1 920×1 080 分辨率的視頻,采用該方法處理視頻時CPU 整體使用率由采用傳統方法時的29.2%~41.8% 降至18.5%~26.3%,端到端延遲由6 204 ms 降至479 ms。該方法通過規(guī)避視頻編碼環(huán)節(jié),降低了煤礦智能監(jiān)控視頻傳輸延遲,且節(jié)省了視頻編碼所需的CPU 或GPU 資源,降低了智能視頻監(jiān)控系統硬件成本。
關鍵詞:煤礦智能視頻監(jiān)控;監(jiān)控視頻傳輸;視頻AI 分析;無視頻編碼;媒體補充增強信息;端到端延遲
中圖分類號:TD76 文獻標志碼:A
0 引言
煤礦智能化是適應現代工業(yè)技術革命發(fā)展趨勢、保障國家能源安全、實現煤炭工業(yè)高質量發(fā)展的核心技術支撐[1]。煤礦智能視頻監(jiān)控是煤礦智能化建設中的重要一環(huán),對保障煤礦企業(yè)安全生產、作業(yè)人員生命安全具有重要意義[2-3]。其利用先進的視覺傳感、圖像處理、深度學習等技術,對煤礦生產現場進行實時、準確的監(jiān)控分析,輔助煤礦管理人員及時發(fā)現生產過程中的異常情況,實現集控中心或調度室操作人員長時間監(jiān)視生產畫面而產生視覺疲勞情況下的自主告警[4]、井下人員規(guī)范操作識別[5]、人員違規(guī)闖入特定區(qū)域檢測[6]、膠帶運輸系統異常檢測[7]等功能,以便企業(yè)及時采取措施,避免事故發(fā)生。
實時傳輸是煤礦智能視頻監(jiān)控及時指導煤礦安全生產的前提。針對目前煤礦視頻監(jiān)控數據傳輸高延遲問題,李文峰等[8]通過轉換視頻傳輸協議,采用UDP(User Datagram Protocol,用戶數據報協議)傳輸RTP(Real-time Transport Protocol,實時傳輸協議)格式視頻流,實現了煤礦監(jiān)控視頻的穩(wěn)定、實時傳輸;李敬兆等[9]提出了基于邊云協同框架的煤礦井下實時視頻處理系統,通過邊緣端及云端計算設備協同工作、邊緣端計算設備的AI 分析模型結構優(yōu)化等方式,提高視頻處理速度,從而降低傳輸延遲;毛清華等[10]采用5G 網絡高效傳輸數據,并適當降低視頻分辨率, 以降低傳輸延遲。上述方法從傳輸協議、AI 分析模型、傳輸網絡等方面進行優(yōu)化,均在一定程度上降低了傳輸延遲,但效果仍有待提高。
視頻傳輸延遲的主要成因是編碼延遲。本文從該角度入手展開研究。目前針對編碼延遲主要有2 種優(yōu)化方法:① 針對已有的編碼器及編碼參數進行優(yōu)化,通過降低視頻質量來減小傳輸延遲。② 通過SEI(Supplemental Enhancement Information, 媒體補充增強信息)等方法規(guī)避視頻編碼,從而消除編碼延遲。SEI 技術已廣泛用于傳輸視頻中的額外信息,如高飛等[11]提出了一種基于SEI 存儲數字水印信息的H.264[12]碼流實時傳輸方法;李曉輝等[13]提出了一種基于SEI 數據加密和混淆處理的H.264 碼流傳輸方法。本文將SEI 引入煤礦智能監(jiān)控視頻傳輸研究,采用SEI 存儲視頻解碼幀經AI 模型分析得到的結果,通過時間戳對應關系將SEI 寫入H.264 碼流中對應的壓縮視頻幀NALU(Network Abstraction LayerUnit,網絡提取層單元),實現監(jiān)控視頻的AI 分析結果實時傳輸。
1 視頻傳輸理論介紹
1.1 NALU 及SEI
NALU 是視頻編碼器輸出的基本數據單元。視頻編碼器在對視頻進行壓縮編碼時,將壓縮后的數據按照一定的結構進行劃分,形成若干個 NALU。H.264/AVC 和H.265/HEVC[14]標準中,NALU 的數據格式相似,通常由NALU 頭、負載數據、尾部填充3 個部分組成。
NALU 主要用于傳輸視頻流和對解碼過程中的數據進行分析,使解碼器更容易識別出各種類型的視頻數據,并對其進行正確的解碼和播放。NALU具有錯誤恢復機制,即在傳輸過程中出現丟包等情況時,解碼器可通過分析前后2 個接收到的NALU信息,對NALU 數據進行校驗并恢復,提高視頻傳輸的可靠性。
SEI 是一種NALU 類型,是在視頻編碼過程中傳輸附加信息的標準化機制。其允許在視頻碼流中嵌入不同類型的額外信息,以便對視頻進行更高級別的處理和分析。在視頻編碼中,SEI 根據傳輸信息可分為語法級和應用級。本文采用應用級SEI,其可攜帶時間戳、GPS 信息、設備ID 等數據,還可傳輸語音、字幕、場景描述等數據。應用級SEI 的負載類型一般為用戶自定義數據類型,通常會在負載前16 字節(jié)定義UUID(Universally Unique Identifier,通用唯一識別碼)標志用戶自定義的數據類型。
SEI 能幫助解碼器更好地理解視頻內容并做出更好的決策,從而提高視頻質量。本文充分利用SEI 特點,通過用戶自定義數據類型的SEI 存儲視頻AI 分析結果。
1.2 視頻轉碼
視頻轉碼是將視頻由一種格式轉換為另一種格式的過程,通常包括解復用、解碼、編碼和復用4 個步驟。在視頻轉碼過程中,編碼是最復雜、消耗系統資源最多的環(huán)節(jié)。根據采用的編碼器是否利用硬件加速,編碼過程可分為軟件編碼和硬件編碼兩類,H.264 或H.265 編碼器通常默認采用軟件編碼。2 種編碼方式均存在編碼延遲,區(qū)別在于軟件編碼直接消耗系統的CPU 資源,而硬件編碼則利用系統特定的硬件資源,如GPU 等。
傳統煤礦智能監(jiān)控視頻傳輸方法需將AI 模型分析結果顯式地繪制在實時畫面中,因此必須進行解復用、解碼得到原始視頻幀。從理論上講,視頻編碼非必須步驟,只需將AI 模型分析結果插入原始的壓縮視頻幀即可傳輸。
2 煤礦智能監(jiān)控視頻傳輸方法
煤礦智能視頻監(jiān)控領域中的AI 模型通常指CV(Computer Vision,計算機視覺)模型。CV 模型不涉及對音頻數據的處理,因此本文未研究音頻流處理方法。在實際的煤礦智能監(jiān)控視頻傳輸過程中,可視需求選擇丟棄音頻流,或將音頻流以解復用和復用方式直接傳輸。
傳統煤礦智能監(jiān)控視頻傳輸流程可分為解復用、解碼、幀處理(AI 模型分析)、編碼、復用5 個步驟。AI 模型分析在解碼后、編碼前,且需根據AI 模型輸入要求對視頻解碼幀(Frame)進行像素格式轉換。經AI 模型分析后,Frame 包含了AI 模型分析結果(通常包括預測框、類別、置信度等)。AI 模型分析會消耗GPU 資源,若采用硬件編碼方式,則視頻編碼會與AI 模型分析競爭GPU 資源。為避免該問題,本文采用軟件編碼方式。
煤礦智能監(jiān)控視頻傳輸延遲主要是由視頻編碼導致的,對此,本文提出取消視頻編碼,在解碼前緩存視頻壓縮幀(Packet)副本,將Frame 經AI 模型分析得到的結果保存到SEI 中的自定義數據部分,通過時間戳對應關系將SEI 寫到對應Packet 副本的NALU 中。具體流程如圖1 所示。
1) 解復用并緩存Packet 副本。將輸入視頻流解復用得到Packet, 緩存1 份Packet 副本, 并記錄該Packet 的DTS(Decoding Time Stamp,解碼時間戳) 、PTS(Presentation Time Stamp, 顯示時間戳) 。音頻Packet 直接進入復用流程,無需解碼、AI 模型分析等步驟。
2) 解碼。解碼核心是采用離散余弦逆變換等將Packet 中的data 部分解壓縮,從而得到Frame。記錄Frame 的pkt_pts(對應Packet 的PTS)。解碼器按照pkt_pts 遞增順序輸出Frame,按照DTS 遞增順序輸入Packet。為了保持Frame 和Packet 的對應關系,需記錄每個Frame 的pkt_dts。假設輸入Packet 的DTS0< DTS1< DTS2, PTS1< PTS2< PTS0, 則解碼器依次輸入Packet0, Packet1, Packet2, 依次輸出Frame1,Frame2,Frame0,如圖2 所示??煽闯鼋獯a器輸出Frame 順序與輸入Packet 順序不一致,無法按照解碼Frame 對應的Packet 順序直接復用解碼器輸入的Packet。針對該問題,根據Packet 的DTS 大小設計了優(yōu)先級隊列。
3) 將Frame 輸入AI 模型進行分析,保存AI 模型分析結果,根據用戶自定義SEI 結構將AI 模型分析結果保存到SEI 數據部分,如圖3 所示。
4) 根據Frame 的pkt_pts 找到PTS 相同的Packet副本, 將SEI 插入該Packet 的NALU。此時該Packet 的NALU 增加了1 個類型為SEI 的單元,將該Packet 狀態(tài)設置為ready(可復用)。
5) 按照DTS 遞增順序復用Packet 副本。完成步驟4)后,比較當前Packet 的DTS 與優(yōu)先級隊列中堆頂Packet 的DTS。若二者相等, 則直接復用該Packet,且pop 堆頂Packet,堆頂Packet 狀態(tài)為ready時, 繼續(xù)pop 堆頂Packet, 直到堆頂Packet 狀態(tài)為unready(不可復用);若二者不相等,將當前Packet 狀態(tài)重置為unready。
本文方法核心是通過時間戳找到Frame 對應的Packet 副本,然后按照用戶自定義數據類型的SEI將AI 模型分析結果添加到Packet 副本的NALU,以此實現AI 模型分析結果傳輸。若煤礦智能監(jiān)控視頻傳輸中需變換幀率,則根據具體情況進行相應調整:高幀率變?yōu)榈蛶蕰r,只需對幀率變換后保留下來的解碼幀按傳統的解復用、解碼、AI 模型分析、編碼、復用流程處理;低幀率變?yōu)楦邘蕰r,需根據幀率變換規(guī)則對Packet 進行復制。
本文方法取消了視頻編碼步驟,消除了編碼延遲,從而減小煤礦智能監(jiān)控視頻傳輸延遲,有利于提高傳輸實時性。此外,本文方法減少了煤礦智能監(jiān)控視頻傳輸中編碼所需的硬件資源,降低了煤礦智能視頻監(jiān)控系統成本。
3 實驗結果及分析
本文方法只處理煤礦安全監(jiān)控視頻流, 音頻流按照解復用、復用方法處理。AI 模型采用YOLOv5[15],模型預測結果可用六維向量描述,分別為id,confidence,x,y,w,h,其中id 為類別,confidence為類別得分,x 和y 分別為檢測矩形框在圖像中的橫縱坐標,w 和h 分別為檢測矩形框的寬度和高度。測試視頻中1 幀圖像檢測結果如圖4 所示。
本文方法減少了視頻編碼環(huán)節(jié),因此在軟件編碼情況下, 節(jié)約的CPU 資源近似為編碼所需的CPU 資源。實驗環(huán)境設置: CPU 為Intel(R) Xeon(R) Gold 6248R CPU @ 3.00 GHz 24core, GPU 為NVIDIA A100,操作系統為Ubuntu 18.04.5 LTS。測試視頻1 分辨率為1 280×720,幀率為30 幀/s,視頻時長1 min 22 s;測試視頻2 分辨率為1 920×1 080,幀率為30 幀/s,視頻時長為1 min 30 s。
傳統方法是對視頻進行H.264 編碼。對于本文中2 段測試視頻,編碼器的分辨率、幀率參數分別與輸入視頻的分辨率、幀率一致,其他參數設置見表1。
以OBS(Open Broadcaster Software)推流測試視頻得到的RTMP(Real-Time Messaging Protocol,實時消息傳輸協議)直播流模擬煤礦實時監(jiān)控視頻,輸入解碼器,輸出RTMP?FLV(Flash Video)協議視頻流。
分別采用傳統方法和本文方法完整處理1 次測試視頻,處理過程中CPU 使用率如圖5 所示。
從圖5 可看出,對于測試視頻1,傳統方法的整體CPU 使用率為24.7%~ 36.6%, 而本文方法為20.3%~23.9%,較傳統方法節(jié)約了4.4%~12.7%;對于測試視頻2, 傳統方法的整體CPU 使用率為29.2%~41.8%,本文方法為18.5%~26.3%,較傳統方法節(jié)約了10.7%~15.5%;本文方法在處理更高分辨率的視頻圖像時,可節(jié)約更多的CPU 資源。
測試視頻傳輸端到端延遲。具體方法:推流測試視頻時加上本地時間(北京時間),分別采用傳統方法與本文方法處理輸入視頻流,定制化的播放器(支持解析自定義SEI,將解析的AI 模型分析結果渲染至解碼幀上)端打開輸出流,計算播放器端與推流端的時間差,如圖6 所示。
因推流端跟AI 服務器不在同一個局域網內,采用上述方法測試端到端延遲時存在推流?拉流延遲。為了更直接地體現2 種方法在處理輸入流過程中的延遲,使用FFmpeg 軟件在AI 服務器上對測試視頻進行轉推(解復用后復用),以該過程中的端到端延遲近似為推流?拉流延遲。經測試,該端到端延遲(推流?拉流延遲)為2 415 ms。去掉該延遲,得到采用2 種方法時視頻傳輸端到端延遲,見表2。
從表2 可看出,本文方法較傳統方法有效降低了端到端延遲,且處理的視頻圖像分辨率越高,端到端延遲降幅越大。在固定編碼器參數(分辨率除外)情況下,高分辨率視頻需更大的編碼數據量,對內存和緩存的需求增加,編碼過程更復雜,導致編碼延遲增大。相應地,本文方法處理1 920×1 080 分辨率的測試視頻2 時端到端延遲降幅更顯著。
4 結論
1) 提出的煤礦智能監(jiān)控視頻傳輸方法基于Frame 和Packet 時間戳對應的原則,將AI 模型分析結果以SEI 形式添加到Packet 副本的NALU 中,規(guī)避了傳統方法將AI 模型分析的Frame 進行編碼步驟。
2) 所提方法較傳統方法降低了煤礦智能監(jiān)控視頻傳輸過程中的CPU 使用率,減小了系統硬件成本,且消除了視頻編碼延遲,提高了煤礦智能監(jiān)控視頻傳輸的實時性。
3) 與傳統方法相比,所提方法需額外開發(fā)定制化的播放器。在播放器解碼階段,需解析NALU 中自定義的SEI,并將SEI 攜帶的AI 模型分析結果還原,然后渲染到解碼幀上,以實現與傳統方法在播放器端相似的播放效果。
4) 未來研究方向: ① 采用Brotli 算法[16]、Zstandard 算法[17]、LZMA (Lempel-Ziv-Markov chain-Algorithm )算法[18]等對SEI 載荷進行編碼壓縮,之后插入Packet,以減小傳輸視頻流的數據量。② 鑒于以明文形式插入的SEI 在傳輸過程中易遭第三方非法截取甚至篡改,導致播放器端無法準確還原原始AI 模型分析結果,采用基于Base64 編碼的DES(Data Encryption Standard ,數據加密標準)算法[19]、基于RSA 和DES的混合加密算法[20]對SEI 進行加密傳輸。
參考文獻(References):
[ 1 ]王國法,劉峰,龐義輝,等. 煤礦智能化——煤炭工業(yè)高質量發(fā)展的核心技術支撐[J]. 煤炭學報, 2019,44(2):349-357.
WANG Guofa, LIU Feng, PANG Yihui, et al. Coalmine intellectualization: the core technology of highquality development[J]. Journal of China Coal Society,2019,44(2):349-357.
[ 2 ]賀勝寬. 煤礦自動化信息化系統集成軟件設計與實現[J]. 電子世界,2016 (19):134,138.
HE Shengkuan. Design and implementation of coal mineautomation information system integration software[J].Electronic World,2016 (19):134,138.
[ 3 ]程德強,錢建生,郭星歌,等. 煤礦安全生產視頻AI 識別關鍵技術研究綜述[J]. 煤炭科學技術, 2023,51(2):349-365.
CHENG Deqiang,QIAN Jiansheng,GUO Xingge,et al.Review on key technologies of AI recognition for videos in coal mine[J]. Coal Science and Technology, 2023,51(2):349-365.
[ 4 ]鞏師鑫,趙國瑞,王飛. 機器視覺感知理論與技術在煤炭工業(yè)領域應用進展綜述[J]. 工礦自動化, 2023,49(5):7-21.
GONG Shixin, ZHAO Guorui, WANG Fei. Review onthe application of machine vision perception theory andtechnology in coal industry[J]. Journal of MineAutomation,2023,49(5):7-21.
[ 5 ]楊景峰. 基于AI 視頻識別技術的井下規(guī)范操作監(jiān)控系統設計[J]. 陜西煤炭,2021,40(1):4-8,46.
YANG Jingfeng. Design of underground standardoperation monitoring system based on AI videorecognition technology[J]. Shaanxi Coal, 2021, 40(1) :4-8,46.
[ 6 ]陳芳. 基于AI 圖像識別技術的人員防闖入系統在煤礦的研究與應用[J]. 價值工程, 2021, 40(24) :172-174.
CHEN Fang. Exploration and application of personnelintrusion prevention system based on AI technology incoal mine[J]. Value Engineering, 2021, 40(24) :172-174.
[ 7 ]孔駿儒,郭夢琪,郭夢曦,等. 一種基于AI 圖像處理技術的煤礦皮帶運輸系統: CN202210850361. X[P].2023-06-28.
KONG Junru, GUO Mengqi, GUO Mengxi, et al. Acoal mine belt transportation system based on AI imageprocessing technology: CN202210850361. X[P]. 2023-06-28.
[ 8 ]李文峰,路建通,雷文禮,等. 礦用實時視頻傳輸系統設計[J]. 工礦自動化,2020,46(2):18-22.
LI Wenfeng, LU Jiantong, LEI Wenli, et al. Design ofmine-used real-time video transmission system[J].Industry and Mine Automation,2020,46(2):18-22.
[ 9 ]李敬兆,秦曉偉,汪磊. 基于邊云協同框架的煤礦井下實時視頻處理系統[J]. 工礦自動化, 2021, 47(12) :1-7.
LI Jingzhao,QIN Xiaowei,WANG Lei. Real-time videoprocessing system in coal mine based on edge-cloudcollaborative framework[J]. Industry and MineAutomation,2021,47(12):1-7.
[10]毛清華,郭文瑾,翟姣,等. 煤礦帶式輸送機異常狀態(tài)視頻AI 識別技術研究[J]. 工礦自動化,2023,49(9):36-46.
MAO Qinghua, GUO Wenjin, ZHAI Jiao, et al.Research on video AI recognition technology forabnormal state of coal mine belt conveyors[J]. Journal of Mine Automation,2023,49(9):36-46.
[11]高飛,趙杰,周幸福,等. 基于H. 264 標準的實時數字視頻水印方法:CN101860744A[P]. 2010-10-13.
GAO Fei, ZHAO Jie, ZHOU Xingfu, et al. Real-timedigital video watermarking method based on H.264standard:CN101860744A[P]. 2010-10-13.
[12]WIEGAND T, SULLIVAN G J, BJONTEGAARD G,et al. Overview of the H.264/AVC video codingstandard[J]. IEEE Transactions on Circuits and Systemsfor Video Technology,2003,13(7):560-576.
[13]鄧立平. 基于H.264 的視頻加密算法的研究及實現[D]. 南京:南京郵電大學,2011.
DENG Liping. Research and implementation of videoencryption algorithm based on H.264[D]. Nanjing:Nanjing University of Posts and Telecommunications,2011.
[14]SULLIVAN G J,OHM J R,HAN W J,et al. Overviewof the high efficiency video coding (HEVC)standard[J]. IEEE Transactions on Circuits and Systemsfor Video Technology,2012,22(12):1649-1668.
[15]DOE J. YOLOv5: a better version of YOLO[J]. IEEETransactions on Image Processing, 2021, 30(5) :1234-124.
[16]ALAKUIJALA J, FARRUGGIA A, FERRAGINA P,et al. Brotli: a general-purpose data compressor[J].ACM Transactions on Information Systems, 2018,37(1):1-30.
[17]COLLET Y, KUCHERAWY M. Standard compressionand the application/zstd media type[EB/OL]. [2023-10-02]. https://datatracker.ietf.org/doc/html/draft-kucherawydispatch-zstd-00.
[18]SOWMYALAKSHMI R,WALY M I,SIKKANDAR MY, et al. An optimal lempel ziv Markov basedmicroarray image compression algorithm[J].Computers, Materials amp; Continua, 2021, 69(2) . DOI:10.32604/cmc.2021.018636.
[19]LOGUNLEKO K B, ADENIJI O D, LOGUNLEKO AM. A comparative study of symmetric cryptographymechanism on DES, AES and EB64 for informationsecurity[J]. International Journal of Scientific Researchin Computer Science and Engineering, 2020, 8(1) :45-51.
[20]朱沙沙. 一種煤礦安全監(jiān)控系統數據加密算法[J]. 計算機應用與軟件,2020,37(11):324-327.
ZHU Shasha. A data encryption algorithm for coal minesafety monitoring system[J]. Computer Applicationsand Software,2020,37(11):324-327.
基金項目:中煤科工集團常州研究院科研項目(2024GY0003)。