本申請(qǐng)涉及圖像數(shù)據(jù)傳輸領(lǐng)域,更具體地,涉及一種嵌入式設(shè)備、圖像數(shù)據(jù)傳輸方法以及計(jì)算機(jī)程序產(chǎn)品。
背景技術(shù):
1、在自動(dòng)駕駛系統(tǒng)或駕駛輔助系統(tǒng)(例如adas系統(tǒng))中,視頻感知(viper)起著重要的作用,用于感知車輛周圍環(huán)境并獲取圖像/視頻數(shù)據(jù)。這些數(shù)據(jù)的獲取和高效傳輸對(duì)于系統(tǒng)感知和決策至關(guān)重要。
2、然而,基于現(xiàn)有自動(dòng)駕駛系統(tǒng)或駕駛輔助系統(tǒng)中的通信模塊(例如iceoryx)所實(shí)現(xiàn)的圖像傳輸速度非常慢,并且無法實(shí)現(xiàn)跨硬件的圖像傳輸,也不能滿足自動(dòng)駕駛系統(tǒng)或駕駛輔助系統(tǒng)(例如adas系統(tǒng))中圖像數(shù)據(jù)處理設(shè)備(例如感知模塊)的實(shí)時(shí)性需求。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)的發(fā)明人意識(shí)到,圖像數(shù)據(jù)生產(chǎn)方和圖像數(shù)據(jù)消費(fèi)方一般位于車輛操作系統(tǒng)aos中,因此需要設(shè)計(jì)方案使能夠滿足處理性能要求的圖像數(shù)據(jù)傳輸模塊(例如nvsteam模塊)適配車輛操作系統(tǒng)aos的底層通信機(jī)制,從而圖像數(shù)據(jù)生產(chǎn)方可經(jīng)由該圖像數(shù)據(jù)傳輸模塊將圖像數(shù)據(jù)傳輸給圖像數(shù)據(jù)消費(fèi)方。
2、根據(jù)本申請(qǐng)的一個(gè)方面,提供了一種嵌入式設(shè)備,所述嵌入式設(shè)備包括soc芯片,其中所述soc芯片配置成實(shí)現(xiàn)第一數(shù)據(jù)交互服務(wù)以及第二數(shù)據(jù)交互服務(wù),其中,圖像數(shù)據(jù)生產(chǎn)方利用所述第一數(shù)據(jù)交互服務(wù)發(fā)送第一多個(gè)軟件通信接口數(shù)據(jù)包,使得該第一多個(gè)軟件通信接口數(shù)據(jù)包被發(fā)送給圖像數(shù)據(jù)傳輸模塊,其中所述第一多個(gè)軟件通信接口數(shù)據(jù)包包括第一圖像數(shù)據(jù)指針;圖像數(shù)據(jù)消費(fèi)方利用所述第二數(shù)據(jù)交互服務(wù)從所述圖像數(shù)據(jù)傳輸模塊接收所述第一多個(gè)軟件通信接口數(shù)據(jù)包;以及所述圖像數(shù)據(jù)消費(fèi)方利用所述第一多個(gè)軟件通信接口數(shù)據(jù)包中的第一圖像數(shù)據(jù)指針來從共享內(nèi)存獲取對(duì)應(yīng)的圖像數(shù)據(jù),以便執(zhí)行后續(xù)數(shù)據(jù)處理。
3、作為上述方案的補(bǔ)充或替換,在上述設(shè)備中,所述軟件通信接口數(shù)據(jù)包為nvsci數(shù)據(jù)包,而所述圖像數(shù)據(jù)傳輸模塊為nvstream模塊。
4、作為上述方案的補(bǔ)充或替換,在上述設(shè)備中,所述soc芯片還配置成實(shí)現(xiàn)通道服務(wù),其中,所述通道服務(wù)用于在所述圖像數(shù)據(jù)傳輸模塊中建立有關(guān)所述圖像數(shù)據(jù)生產(chǎn)方和/或所述圖像數(shù)據(jù)消費(fèi)方的數(shù)據(jù)流。
5、作為上述方案的補(bǔ)充或替換,在上述設(shè)備中,所述圖像數(shù)據(jù)生產(chǎn)方為圖像獲取/捕獲設(shè)備的圖像獲取應(yīng)用,以及所述圖像數(shù)據(jù)消費(fèi)方為圖像處理應(yīng)用。
6、作為上述方案的補(bǔ)充或替換,在上述設(shè)備中,所述圖像獲取應(yīng)用為攝像頭感知進(jìn)程,以及所述圖像處理應(yīng)用為對(duì)象檢測(cè)進(jìn)程。
7、作為上述方案的補(bǔ)充或替換,在上述設(shè)備中,所述soc芯片還配置成實(shí)現(xiàn)第三數(shù)據(jù)交互服務(wù),其中,所述第二數(shù)據(jù)交互服務(wù)根據(jù)所述第一多個(gè)軟件通信接口數(shù)據(jù)包的狀態(tài)將所述第一多個(gè)軟件通信接口數(shù)據(jù)包的至少一部分轉(zhuǎn)發(fā)給所述第三數(shù)據(jù)交互服務(wù)。
8、作為上述方案的補(bǔ)充或替換,在上述設(shè)備中,所述soc芯片還配置成實(shí)現(xiàn)第四數(shù)據(jù)交互服務(wù)以及第五數(shù)據(jù)交互服務(wù),其中所述圖像數(shù)據(jù)生產(chǎn)方利用所述第四數(shù)據(jù)交互服務(wù)來進(jìn)行數(shù)據(jù)觸發(fā),以及所述圖像數(shù)據(jù)消費(fèi)方利用所述第五數(shù)據(jù)交互服務(wù)來進(jìn)行循環(huán)時(shí)間觸發(fā)。
9、作為上述方案的補(bǔ)充或替換,在上述設(shè)備中,所述soc芯片還配置成實(shí)現(xiàn)客戶端服務(wù),所述客戶端服務(wù)用于協(xié)調(diào)、獲取或釋放來自所述圖像數(shù)據(jù)傳輸模塊的數(shù)據(jù)包,其中,所述圖像數(shù)據(jù)生產(chǎn)方還從所述客戶端服務(wù)接收所述圖像數(shù)據(jù)傳輸模塊所釋放的新數(shù)據(jù)包,以便生成第二多個(gè)軟件通信接口數(shù)據(jù)包,并將其提供給所述第一數(shù)據(jù)交互服務(wù)使得該第二多個(gè)軟件通信接口數(shù)據(jù)包被發(fā)送給所述圖像數(shù)據(jù)傳輸模塊,其中所述第二多個(gè)軟件通信接口數(shù)據(jù)包包括第二圖像數(shù)據(jù)指針。
10、作為上述方案的補(bǔ)充或替換,在上述設(shè)備中,所述soc芯片還配置成實(shí)現(xiàn):核心服務(wù),所述核心服務(wù)用于處理數(shù)據(jù)包的創(chuàng)建、維護(hù)和銷毀,以及同步對(duì)象的協(xié)調(diào)和管理;圖像硬件引擎樣本服務(wù),用于處理圖像和視頻數(shù)據(jù),以便支持不同的圖像硬件引擎;以及流元素服務(wù),用于管理不同的圖像硬件引擎的資源分配和釋放。
11、作為上述方案的補(bǔ)充或替換,在上述設(shè)備中,所述嵌入式設(shè)備用于自動(dòng)駕駛或輔助駕駛功能,并且所述圖像數(shù)據(jù)生產(chǎn)方以及所述圖像數(shù)據(jù)消費(fèi)方均位于所述嵌入式設(shè)備中。
12、作為上述方案的補(bǔ)充或替換,在上述設(shè)備中,所述圖像數(shù)據(jù)生產(chǎn)方位于前視攝像頭中,而所述圖像數(shù)據(jù)消費(fèi)方位于域控制器中。
13、根據(jù)本申請(qǐng)的另一個(gè)方面,提供了一種圖像數(shù)據(jù)傳輸方法,所述方法包括:圖像數(shù)據(jù)生產(chǎn)方將第一多個(gè)軟件通信接口數(shù)據(jù)包放入第一數(shù)據(jù)交互服務(wù)使得該第一多個(gè)軟件通信接口數(shù)據(jù)包被發(fā)送給圖像數(shù)據(jù)傳輸模塊,其中所述第一多個(gè)軟件通信接口數(shù)據(jù)包包括第一圖像數(shù)據(jù)指針;圖像數(shù)據(jù)消費(fèi)方經(jīng)由第二數(shù)據(jù)交互服務(wù)從所述圖像數(shù)據(jù)傳輸模塊接收所述第一多個(gè)軟件通信接口數(shù)據(jù)包;以及所述圖像數(shù)據(jù)消費(fèi)方利用所述第一多個(gè)軟件通信接口數(shù)據(jù)包中的第一圖像數(shù)據(jù)指針來從共享內(nèi)存獲取對(duì)應(yīng)的圖像數(shù)據(jù),以便執(zhí)行后續(xù)數(shù)據(jù)處理。
14、作為上述方案的補(bǔ)充或替換,在上述方法中,所述軟件通信接口數(shù)據(jù)包為nvsci數(shù)據(jù)包,而所述圖像數(shù)據(jù)傳輸模塊為nvstream模塊。
15、作為上述方案的補(bǔ)充或替換,在上述方法中,所述圖像數(shù)據(jù)生產(chǎn)方采用數(shù)據(jù)驅(qū)動(dòng)機(jī)制來觸發(fā),而所述圖像數(shù)據(jù)消費(fèi)方采用循環(huán)時(shí)間機(jī)制來觸發(fā)。
16、根據(jù)本申請(qǐng)的又一個(gè)方面,提供了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如前所述的方法。
17、本申請(qǐng)的實(shí)施例的圖像數(shù)據(jù)傳輸方案通過利用soc芯片實(shí)現(xiàn)數(shù)據(jù)交互服務(wù)(包括第一數(shù)據(jù)交互服務(wù)、第二數(shù)據(jù)交互服務(wù)等),簡(jiǎn)化了圖像數(shù)據(jù)的傳輸流程,使得開發(fā)者可以更專注于業(yè)務(wù)邏輯的實(shí)現(xiàn),而不是底層的數(shù)據(jù)傳輸細(xì)節(jié),從而提高了開發(fā)效率。另外,本申請(qǐng)的實(shí)施例的圖像數(shù)據(jù)傳輸方案通過使用共享內(nèi)存和指針來訪問圖像數(shù)據(jù),減少了內(nèi)存的使用和數(shù)據(jù)復(fù)制的需要,從而降低了延遲并提高了性能。
18、最后,在本申請(qǐng)的一個(gè)實(shí)施例中,圖像數(shù)據(jù)傳輸模塊是nvstream模塊(即nvidia公司提供的圖像數(shù)據(jù)傳輸模塊,其可以利用gpu的并行計(jì)算能力和專用硬件引擎加速器進(jìn)行數(shù)據(jù)處理和壓縮,實(shí)現(xiàn)不同硬件之間高效、低延遲的圖像傳輸)。該實(shí)施例的圖像數(shù)據(jù)傳輸方案使得圖像數(shù)據(jù)消費(fèi)方能夠高效、準(zhǔn)確地從圖像數(shù)據(jù)生產(chǎn)方(經(jīng)由nvstream模塊)零拷貝獲取圖像,并提供不同的圖像處理能力,例如允許預(yù)先分配資源和用戶定義的訪問限制,從而支持不同硬件引擎之間高效的圖像傳輸。
1.一種嵌入式設(shè)備,其特征在于,所述嵌入式設(shè)備包括soc芯片,其中所述soc芯片配置成實(shí)現(xiàn)第一數(shù)據(jù)交互服務(wù)以及第二數(shù)據(jù)交互服務(wù),
2.如權(quán)利要求1所述的設(shè)備,其中,所述軟件通信接口數(shù)據(jù)包為nvsci數(shù)據(jù)包,而所述圖像數(shù)據(jù)傳輸模塊為nvstream模塊。
3.如權(quán)利要求1所述的設(shè)備,其中,所述soc芯片還配置成實(shí)現(xiàn)通道服務(wù),其中,所述通道服務(wù)用于在所述圖像數(shù)據(jù)傳輸模塊中建立有關(guān)所述圖像數(shù)據(jù)生產(chǎn)方和/或所述圖像數(shù)據(jù)消費(fèi)方的數(shù)據(jù)流。
4.如權(quán)利要求1所述的設(shè)備,其中,所述圖像數(shù)據(jù)生產(chǎn)方為圖像獲取/捕獲設(shè)備的圖像獲取應(yīng)用,以及所述圖像數(shù)據(jù)消費(fèi)方為圖像處理應(yīng)用。
5.如權(quán)利要求4所述的設(shè)備,其中,所述圖像獲取應(yīng)用為攝像頭感知進(jìn)程,以及所述圖像處理應(yīng)用為對(duì)象檢測(cè)進(jìn)程。
6.如權(quán)利要求1所述的設(shè)備,其中,所述soc芯片還配置成實(shí)現(xiàn)第三數(shù)據(jù)交互服務(wù),其中,所述第二數(shù)據(jù)交互服務(wù)根據(jù)所述第一多個(gè)軟件通信接口數(shù)據(jù)包的狀態(tài)將所述第一多個(gè)軟件通信接口數(shù)據(jù)包的至少一部分轉(zhuǎn)發(fā)給所述第三數(shù)據(jù)交互服務(wù)。
7.如權(quán)利要求1所述的設(shè)備,其中,所述soc芯片還配置成實(shí)現(xiàn)第四數(shù)據(jù)交互服務(wù)以及第五數(shù)據(jù)交互服務(wù),其中所述圖像數(shù)據(jù)生產(chǎn)方利用所述第四數(shù)據(jù)交互服務(wù)來進(jìn)行數(shù)據(jù)觸發(fā),以及所述圖像數(shù)據(jù)消費(fèi)方利用所述第五數(shù)據(jù)交互服務(wù)來進(jìn)行循環(huán)時(shí)間觸發(fā)。
8.如權(quán)利要求1所述的設(shè)備,其中,所述soc芯片還配置成實(shí)現(xiàn)客戶端服務(wù),所述客戶端服務(wù)用于協(xié)調(diào)、獲取或釋放來自所述圖像數(shù)據(jù)傳輸模塊的數(shù)據(jù)包,
9.如權(quán)利要求1所述的設(shè)備,其中,所述soc芯片還配置成實(shí)現(xiàn):
10.如權(quán)利要求1所述的設(shè)備,其中,所述嵌入式設(shè)備用于自動(dòng)駕駛或輔助駕駛功能,并且所述圖像數(shù)據(jù)生產(chǎn)方以及所述圖像數(shù)據(jù)消費(fèi)方均位于所述嵌入式設(shè)備中。
11.如權(quán)利要求1所述的設(shè)備,其中,所述圖像數(shù)據(jù)生產(chǎn)方位于前視攝像頭中,而所述圖像數(shù)據(jù)消費(fèi)方位于域控制器中。
12.一種圖像數(shù)據(jù)傳輸方法,其特征在于,所述方法包括:
13.如權(quán)利要求12所述的方法,其中,所述軟件通信接口數(shù)據(jù)包為nvsci數(shù)據(jù)包,而所述圖像數(shù)據(jù)傳輸模塊為nvstream模塊。
14.如權(quán)利要求12所述的方法,其中,所述圖像數(shù)據(jù)生產(chǎn)方采用數(shù)據(jù)驅(qū)動(dòng)機(jī)制來觸發(fā),而所述圖像數(shù)據(jù)消費(fèi)方采用循環(huán)時(shí)間機(jī)制來觸發(fā)。
15.一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,其特征在于,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求12至14中任一項(xiàng)所述的方法。