[發(fā)明專利]一種高性能分布式結(jié)合的多路視頻實(shí)時(shí)處理方法在審
| 申請(qǐng)?zhí)枺?/td> | 202111010024.1 | 申請(qǐng)日: | 2021-08-31 |
| 公開(公告)號(hào): | CN113535366A | 公開(公告)日: | 2021-10-22 |
| 發(fā)明(設(shè)計(jì))人: | 劉必振;丁皓 | 申請(qǐng)(專利權(quán))人: | 知見科技(江蘇)有限公司 |
| 主分類號(hào): | G06F9/48 | 分類號(hào): | G06F9/48;H04N5/265 |
| 代理公司: | 南京蘇創(chuàng)專利代理事務(wù)所(普通合伙) 32273 | 代理人: | 吳太平 |
| 地址: | 211100 江蘇省南京市*** | 國(guó)省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 性能 分布式 結(jié)合 視頻 實(shí)時(shí)處理 方法 | ||
本發(fā)明涉及一種高性能分布式結(jié)合的多路視頻實(shí)時(shí)處理方法,屬于視頻處理技術(shù)領(lǐng)域。包括如下步驟:A、構(gòu)建視頻處理pipeline,所述視頻處理pipeline包括視頻解碼模塊、視頻前處理模塊、視頻模型推理模塊和視頻后處理模塊;B、開啟多進(jìn)程/線程:每個(gè)處理模塊開啟多進(jìn)程方式,而每個(gè)進(jìn)程開啟多個(gè)線程;各模塊開啟的進(jìn)程/線程數(shù)量,根據(jù)業(yè)務(wù)場(chǎng)景需要、模型性能和軟硬件資源限制共同確定;C、構(gòu)建上下游模塊間的共享隊(duì)列,設(shè)置數(shù)據(jù)存取策略。本發(fā)明視頻解碼、前處理、模型推理和后處理模塊全部分離,使用簡(jiǎn)單,特別設(shè)計(jì)的相鄰模塊間數(shù)據(jù)存取機(jī)制可顯著提升多路視頻處理效率。
技術(shù)領(lǐng)域
本發(fā)明涉及一種高性能分布式結(jié)合的多路視頻實(shí)時(shí)處理方法,屬于視頻處理技術(shù)領(lǐng)域。
背景技術(shù)
在智能安防、自動(dòng)駕駛等諸多場(chǎng)景中,對(duì)視頻進(jìn)行語(yǔ)音、文字、人臉、物體、場(chǎng)景多維度分析,自動(dòng)提取其中發(fā)生的一些特定事件或監(jiān)控目標(biāo)的特定行為,是基礎(chǔ)且十分重要的工作。而實(shí)際應(yīng)用時(shí),視頻處理分析的實(shí)時(shí)性與并發(fā)處理的路數(shù)是兩個(gè)非常關(guān)鍵的指標(biāo)。NVIDIA公司提供了一套數(shù)據(jù)流分析工具DeepStream,且支持GPU硬件加速。開發(fā)者無(wú)需設(shè)計(jì)端到端解決方案,只需專注于構(gòu)建用于視頻分析的核心深度學(xué)習(xí)網(wǎng)絡(luò)。但DeepStream工具也存在一些不足,由于各模塊緊密綁定,動(dòng)態(tài)刪除/添加/替換Pipeline中的插件,或修改模塊功能異常繁瑣。
發(fā)明內(nèi)容
本發(fā)明的目的在于,克服現(xiàn)有技術(shù)中存在的問題,提供一種高性能分布式結(jié)合的多路視頻實(shí)時(shí)處理方法,視頻解碼、前處理、模型推理和后處理模塊全部分離,使用簡(jiǎn)單,特別設(shè)計(jì)的相鄰模塊間數(shù)據(jù)存取機(jī)制可顯著提升多路視頻處理效率。
為了解決上述問題,本發(fā)明的一種高性能分布式結(jié)合的多路視頻實(shí)時(shí)處理方法,包括如下步驟:
A、構(gòu)建視頻處理pipeline,所述視頻處理pipeline包括視頻解碼模塊、視頻前處理模塊、視頻模型推理模塊和視頻后處理模塊;
B、開啟多進(jìn)程/線程:每個(gè)處理模塊開啟多進(jìn)程方式,而每個(gè)進(jìn)程開啟多個(gè)線程;各模塊開啟的進(jìn)程/線程數(shù)量,根據(jù)業(yè)務(wù)場(chǎng)景需要、模型性能和軟硬件資源限制共同確定;
C、構(gòu)建上下游模塊間的共享隊(duì)列,設(shè)置數(shù)據(jù)存取策略。
進(jìn)一步的,所述開啟多進(jìn)程/線程包括:設(shè)視頻源路數(shù)為;解碼模塊進(jìn)程數(shù)為,第個(gè)解碼進(jìn)程開啟的線程數(shù)為;前處理模塊進(jìn)程數(shù)為,第個(gè)前處理進(jìn)程開啟的線程數(shù)為;模型推理模塊進(jìn)程數(shù)為,第個(gè)模型推理進(jìn)程開啟的線程數(shù)為;后處理模塊進(jìn)程數(shù)為,第個(gè)后處理進(jìn)程開啟的線程數(shù)為。
進(jìn)一步的,步驟C具體包括如下步驟:
C1、視頻源數(shù)據(jù)讀取:僅考慮每路視頻只能被一個(gè)進(jìn)程/線程解碼,一個(gè)進(jìn)程/線程能夠解碼多路視頻的情形,則;
令,若滿足,其中,,則將第路視頻分發(fā)至第個(gè)解碼進(jìn)程的第個(gè)線程;
C2、上下游模塊進(jìn)程間數(shù)據(jù)存取:
C21、共享隊(duì)列數(shù)量設(shè)置:
記模塊與模塊間的隊(duì)列數(shù)為,則要求,避免多個(gè)進(jìn)程同時(shí)對(duì)一個(gè)隊(duì)列操作,從而產(chǎn)生系統(tǒng)切換開銷;
C22、數(shù)據(jù)存取策略設(shè)計(jì);
C23、模型批推理。
進(jìn)一步的,C22具體包括如下步驟:1)情形:
上游模塊進(jìn)程與共享隊(duì)列一一綁定,每個(gè)上游模塊進(jìn)程處理完的數(shù)據(jù)存入各自專有的共享隊(duì)列,下游模塊進(jìn)程采用拉的方式輪詢從共享隊(duì)列中讀取數(shù)據(jù);
2)情形:
上游模塊處理進(jìn)程采用推的方式將處理完的結(jié)果數(shù)據(jù)存放至從共享隊(duì)列,因此一個(gè)上游模塊處理進(jìn)程對(duì)應(yīng)多個(gè)共享隊(duì)列;
3)情形:
上下游模塊進(jìn)程數(shù)均小于共享隊(duì)列數(shù)量,此時(shí)采用高性能分布式結(jié)合方式進(jìn)行數(shù)據(jù)存取。
進(jìn)一步的,C23具體包括如下操作步驟:
1)建立臨時(shí)列表,設(shè)置批推理數(shù)據(jù)大小batch_size;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于知見科技(江蘇)有限公司,未經(jīng)知見科技(江蘇)有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111010024.1/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。





