進(jìn)行視頻碼流處理的設(shè)備及方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了進(jìn)行視頻碼流處理的設(shè)備及方法,其中,該設(shè)備包括Intel主控芯片、PCI-E橋接芯片和至少一塊Netra從芯片;所述Intel主控芯片,讀取來(lái)自外部設(shè)備的視頻碼流,配置從芯片映射空間,確定映射空間地址,將視頻碼流通過(guò)PCI-E橋接芯片發(fā)送給與映射空間地址對(duì)應(yīng)的Netra從芯片共享內(nèi)存;所述PCI-E橋接芯片,進(jìn)行Intel主控芯片和Netra從芯片之間的信息交互;所述Netra從芯片,從共享內(nèi)存讀取視頻碼流,進(jìn)行碼流視頻處理,將處理后的碼流發(fā)送出去。本發(fā)明方案既能提高碼流處理能力,又能解決視頻碼流處理受限的問(wèn)題。
【專(zhuān)利說(shuō)明】進(jìn)行視頻碼流處理的設(shè)備及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及信息處理技術(shù),尤其涉及進(jìn)行視頻碼流處理的設(shè)備及方法。
【背景技術(shù)】
[0002]在視頻數(shù)據(jù)處理領(lǐng)域,人們對(duì)設(shè)備進(jìn)行視頻碼流處理的性能要求越來(lái)越高,單個(gè)芯片的設(shè)備性能已經(jīng)不能滿(mǎn)足市場(chǎng)需求,所以多核芯片方案近年來(lái)發(fā)展迅速,各種解決方案層出不窮。
[0003]設(shè)備進(jìn)行視頻碼流的處理具體包括:芯片讀取來(lái)自外部設(shè)備的視頻碼流,進(jìn)行碼流視頻處理,將處理后的碼流發(fā)送出去。
[0004]現(xiàn)在的多核芯片方案基本上是多個(gè)Intel芯片的組合或者是多個(gè)Netra芯片的組合,下面分別進(jìn)行說(shuō)明。
[0005]方案一,設(shè)備由多個(gè)Intel芯片組成:
[0006]由于Intel芯片處理能力有限的的特點(diǎn),使此方案有著明顯的缺陷,導(dǎo)致Intel芯片的視頻碼流處理能力不能滿(mǎn)足用戶(hù)對(duì)高集成度、高清視頻日益增長(zhǎng)的需求。
[0007]方案二,設(shè)備由多個(gè)Netra芯片組成:
[0008]Netra,是專(zhuān)門(mén)針對(duì)數(shù)字視頻監(jiān)控應(yīng)用的強(qiáng)大數(shù)字媒體處理平臺(tái);Netra芯片集成了 ARM-A8和數(shù)字信號(hào)處理器(DSP,Digital Signal Processor)。Netra芯片在業(yè)界具有較佳的碼流處理能力,將高清多通道碼流的讀取、壓縮、顯示以及控制功能整合于Netra芯片上,可滿(mǎn)足高清視頻的需求。但Nerta芯片運(yùn)行在Linux系統(tǒng)下,Nerta芯片首先使用軟件開(kāi)發(fā)工具包(SDK, Software Development Kit)SDK讀取視頻碼流,具體地,調(diào)用SDK取流函數(shù)讀取來(lái)自外部設(shè)備的視頻碼流;然后Nerta芯片再進(jìn)行視頻碼流處理。下面先對(duì)SDK進(jìn)行說(shuō)明。
[0009]SDK指用于為特定的軟件包、軟件框架、硬件平臺(tái)、操作系統(tǒng)等建立應(yīng)用軟件的開(kāi)發(fā)工具的集合,本發(fā)明中指用于進(jìn)行視頻流讀取的SDK。讀取的視頻碼流來(lái)自外部設(shè)備,夕卜部設(shè)備具體如視頻監(jiān)控系統(tǒng)中的監(jiān)控設(shè)備,監(jiān)控設(shè)備采集視頻碼流后發(fā)送給碼流處理設(shè)備進(jìn)行碼流處理,包括編碼、解碼、轉(zhuǎn)碼等。視頻監(jiān)控系統(tǒng)中往往包含多個(gè)不同廠商的監(jiān)控設(shè)備,碼流處理設(shè)備需要對(duì)多個(gè)不同廠商的監(jiān)控設(shè)備進(jìn)行碼流處理。Linux是一種自由和開(kāi)放源碼的類(lèi)Unix操作系統(tǒng),而各個(gè)廠商提供的SDK大多是在windows系統(tǒng)下開(kāi)發(fā)的,導(dǎo)致很多SDK無(wú)法在Netra芯片上運(yùn)行,進(jìn)而不能成功讀取來(lái)自不同外部設(shè)備的視頻碼流,使視頻碼流處理受限。
[0010]由以上分析,采用方式一,Intel芯片運(yùn)行在windows系統(tǒng)下,能夠正常調(diào)用SDK取流函數(shù),讀取來(lái)自外部設(shè)備的視頻碼流,再進(jìn)行碼流視頻處理;但由于Intel芯片處理能力有限,卻不能滿(mǎn)足需求。采用方式二,Netra芯片雖然有較佳的處理能力,卻因運(yùn)行在Linux系統(tǒng),不能集成SDK,導(dǎo)致不能讀取來(lái)自不同外部設(shè)備的視頻碼流,使視頻碼流處理受限。
[0011]綜上,現(xiàn)有進(jìn)行視頻碼流處理的方案要么存在處理能力不足的缺陷,要么存在因不能兼容SDK而引起的視頻碼流處理受限的缺陷。
【發(fā)明內(nèi)容】
[0012]本發(fā)明提供了一種進(jìn)行視頻碼流處理的設(shè)備,該設(shè)備既能提高碼流處理能力,又能解決視頻碼流處理受限的問(wèn)題。
[0013]本發(fā)明提供了一種進(jìn)行視頻碼流處理的方法,該方法既能提高碼流處理能力,又能解決視頻碼流處理受限的問(wèn)題。
[0014]一種進(jìn)行視頻碼流處理的設(shè)備,該方法設(shè)備包括Intel主控芯片、擴(kuò)展外設(shè)部件互聯(lián)標(biāo)準(zhǔn)PC1-E橋接芯片和至少一塊Netra從芯片;
[0015]所述Intel主控芯片,讀取來(lái)自外部設(shè)備的視頻碼流,配置從芯片映射空間,確定映射空間地址,將視頻碼流通過(guò)PC1-E橋接芯片發(fā)送給與映射空間地址對(duì)應(yīng)的Netra從芯片共享內(nèi)存;
[0016]所述PC1-E橋接芯片,進(jìn)行Intel主控芯片和Netra從芯片之間的信息交互;
[0017]所述Netra從芯片,從共享內(nèi)存讀取視頻碼流,進(jìn)行碼流視頻處理,將處理后的碼流發(fā)送出去。
[0018]較佳地,所述Netra從芯片包括ARM-A8和數(shù)字信號(hào)處理器DSP ;
[0019]所述Intel主控芯片,在讀取來(lái)自外部設(shè)備的視頻碼流之前,還通過(guò)所述PC1-E橋接芯片接收來(lái)自所述ARM-A8的映射空間地址信息,通過(guò)所述PC1-E橋接芯片向所述ARM-A8反饋?lái)憫?yīng)消息;
[0020]所述ARM-A8,通過(guò)所述PC1-E橋接芯片將映射空間地址信息發(fā)送給所述Intel主控芯片,并通過(guò)所述PC1-E橋接芯片接收來(lái)自所述Intel主控芯片的反饋?lái)憫?yīng)消息,啟動(dòng)所述 DSP ;
[0021]所述DSP,從共享內(nèi)存中讀取視頻碼流,對(duì)其進(jìn)行碼流視頻處理,將處理后的碼流發(fā)送出去。
[0022]較佳地,所述DSP,從共享內(nèi)存中讀取視頻碼流,對(duì)其進(jìn)行解碼、編碼或轉(zhuǎn)碼處理,將處理后的碼流發(fā)送出去。
[0023]較佳地,所述Intel主控芯片,在接收來(lái)自所述ARM-A8的映射空間地址信息之后,還將初始化參數(shù)賦值通過(guò)所述PC1-E橋接芯片發(fā)送給ARM-A8。
[0024]較佳地,所述Intel主控芯片,調(diào)用軟件開(kāi)發(fā)工具包SDK取流函數(shù),讀取來(lái)自外部設(shè)備視頻碼流。
[0025]一種進(jìn)行視頻碼流處理的方法,該方法包括:
[0026]Intel主控芯片讀取來(lái)自外部設(shè)備的視頻碼流;
[0027]Intel主控芯片配置從芯片映射空間,確定映射空間地址,將視頻碼流通過(guò)PC1-E橋接芯片發(fā)送給與映射空間地址對(duì)應(yīng)的Netra從芯片共享內(nèi)存;
[0028]Netra從芯片從共享內(nèi)存讀取視頻碼流,進(jìn)行碼流視頻處理;
[0029]Netra從芯片將處理后的碼流發(fā)送出去。
[0030]較佳地,所述Intel主控芯片讀取來(lái)自外部設(shè)備的視頻碼流之前,該方法還包括:
[0031]Netra從芯片的ARM-A8通過(guò)PC1-E橋接芯片將映射空間地址信息發(fā)送給Intel主控芯片;
[0032]Intel主控芯片通過(guò)PC1-E橋接芯片接收來(lái)自Netra從芯片的ARM-A8的映射空間地址信息后,通過(guò)PC1-E橋接芯片向Netra從芯片的ARM-A8反饋?lái)憫?yīng)消息;
[0033]Netra從芯片的ARM-A8接收反饋?lái)憫?yīng)消息后啟動(dòng)DSP ;
[0034]Netra從芯片從共享內(nèi)存讀取視頻碼流,進(jìn)行碼流視頻處理,將處理后的碼流發(fā)送出去,具體包括:DSP從共享內(nèi)存中讀取視頻碼流,對(duì)其進(jìn)行碼流視頻處理,將處理后的碼流發(fā)送出去。
[0035]較佳地,所述DSP對(duì)讀取的視頻碼流進(jìn)行碼流視頻處理包括:
[0036]DSP對(duì)讀取的視頻碼流進(jìn)行解碼、編碼或轉(zhuǎn)碼處理。
[0037]較佳地,所述Netra從芯片的ARM-A8通過(guò)PC1-E橋接芯片將映射空間地址信息發(fā)送給Intel主控芯片之前,該方法包括:
[0038]Netra從芯片的ARM-A8讀取類(lèi)型參數(shù)中的索引值,判斷索引值是否為從芯片標(biāo)識(shí),如果是,則執(zhí)行所述通過(guò)PC1-E橋接芯片將映射空間地址信息發(fā)送給Intel主控芯片;
[0039]Intel主控芯片在接收來(lái)自ARM-A8的映射空間地址信息之后,還將初始化參數(shù)賦值通過(guò)PC1-E橋接芯片發(fā)送給Netra從芯片的ARM-A8。
[0040]較佳地,所述Intel主控芯片讀取來(lái)自外部設(shè)備的視頻碼流,包括:
[0041]Intel主控芯片調(diào)用SDK取流函數(shù),讀取來(lái)自外部設(shè)備視頻碼流。
[0042]從上述方案可以看出,本發(fā)明中,進(jìn)行視頻碼流處理的設(shè)備包括Intel主控芯片、PC1-E橋接芯片和至少一塊Netra從芯片;Intel主控芯片讀取來(lái)自外部設(shè)備的視頻碼流;Intel主控芯片配置從芯片映射空間,確定映射空間地址,將視頻碼流通過(guò)PC1-E橋接芯片發(fā)送給與映射空間地址對(duì)應(yīng)的Netra從芯片共享內(nèi)存;Netra從芯片從共享內(nèi)存讀取視頻碼流,進(jìn)行碼流視頻處理;Netra從芯片將處理后的碼流發(fā)送出去。本發(fā)明采用Intel主控芯片加Netra從芯片的方式實(shí)現(xiàn)視頻碼流處理設(shè)備,Intel主控芯片讀取視頻碼流。這樣,Intel主控芯片運(yùn)行在windows系統(tǒng)下,當(dāng)需要時(shí)能夠正常運(yùn)行SDK進(jìn)行視頻碼流的讀取;并且,充分應(yīng)用Netra芯片極強(qiáng)的處理能力,對(duì)讀取的視頻碼流進(jìn)行處理。從而,既提高碼了碼流處理能力,又解決了視頻碼流處理受限的問(wèn)題。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0043]圖1為本發(fā)明進(jìn)行視頻碼流處理的設(shè)備結(jié)構(gòu)示意圖;
[0044]圖2為本發(fā)明進(jìn)行視頻碼流處理的方法示意性流程圖;
[0045]圖3為本發(fā)明主控芯片與從芯片之間進(jìn)行啟動(dòng)通訊的流程圖實(shí)例。
【具體實(shí)施方式】
[0046]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下面結(jié)合實(shí)施例和附圖,對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。
[0047]本發(fā)明采用Intel主控芯片加Netra從芯片的方式實(shí)現(xiàn)視頻碼流處理設(shè)備,由Intel主控芯片讀取視頻碼流,再運(yùn)用Netra從芯片對(duì)讀取的視頻碼流進(jìn)行處理;這樣,Intel主控芯片運(yùn)行在windows系統(tǒng)下,當(dāng)需要時(shí)能夠正常運(yùn)行SDK進(jìn)行視頻碼流的讀??;并且,充分應(yīng)用Netra芯片極強(qiáng)的處理能力,對(duì)讀取的視頻碼流進(jìn)行處理。從而,既提高碼了碼流處理能力,又解決了視頻碼流處理受限的問(wèn)題。
[0048]參見(jiàn)圖1,為本發(fā)明進(jìn)行視頻碼流處理的設(shè)備結(jié)構(gòu)示意圖,該設(shè)備包括Intel主控芯片、擴(kuò)展外設(shè)部件互聯(lián)標(biāo)準(zhǔn)(PC1-E, Peripheral Component Interconnect Express)橋接芯片和至少一塊Netra從芯片,圖1為4個(gè)Netra從芯片的實(shí)例;
[0049]所述Intel主控芯片,讀取來(lái)自外部設(shè)備的視頻碼流,配置從芯片映射空間,確定映射空間地址,將視頻碼流通過(guò)PC1-E橋接芯片發(fā)送給與映射空間地址對(duì)應(yīng)的Netra從芯片共享內(nèi)存;
[0050]所述PC1-E橋接芯片,進(jìn)行Intel主控芯片和Netra從芯片之間的信息交互;
[0051]所述Netra從芯片,從共享內(nèi)存讀取視頻碼流,進(jìn)行碼流視頻處理,將處理后的碼流發(fā)送出去。
[0052]外部設(shè)備為Intel主控芯片掛載的設(shè)備,例如,通過(guò)局域網(wǎng)(LAN, Local AreaNetwork)連接的掛載設(shè)備,或者,通過(guò)Inter集成電路(I2C, Inter-1ntegrated Circuit)總線連接的掛載設(shè)備。
[0053]Intel主控芯片對(duì)視頻碼流處理進(jìn)行整體控制,Intel主控芯片內(nèi)存儲(chǔ)了各Netra從芯片的映射空間地址,映射空間地址對(duì)應(yīng)Netra從芯片的共享空間;在需要時(shí),確定出映射空間地址,將視頻碼流通過(guò)PC1-E橋接芯片發(fā)送到相應(yīng)的共享空間,確定出的映射空間地址可能對(duì)應(yīng)的是一個(gè)Netra從芯片的部分或全部共享空間,也可能對(duì)應(yīng)兩個(gè)以上Netra從芯片的部分或全部共享空間。
[0054]Intel主控芯片和Netra從芯片之間通過(guò)PC1-E橋接芯片進(jìn)行信息交互,米用PC1-E總線進(jìn)行信息傳輸;具體地,將來(lái)自Intel主控芯片的信息發(fā)送給Netra從芯片,將來(lái)自Netra從芯片的信息發(fā)送給Intel主控芯片。
[0055]較佳地,所述Netra從芯片具體包括ARM-A8和DSP ;
[0056]所述Intel主控芯片,在讀取來(lái)自外部設(shè)備的視頻碼流之前,還通過(guò)所述PC1-E橋接芯片接收來(lái)自所述ARM-A8的映射空間地址信息,通過(guò)所述PC1-E橋接芯片向所述ARM-A8反饋?lái)憫?yīng)消息;
[0057]所述ARM-A8,通過(guò)所述PC1-E橋接芯片將映射空間地址信息發(fā)送給所述Intel主控芯片,并通過(guò)所述PC1-E橋接芯片接收來(lái)自所述Intel主控芯片的反饋?lái)憫?yīng)消息,啟動(dòng)所述 DSP ;
[0058]所述DSP,從共享內(nèi)存中讀取視頻碼流,對(duì)其進(jìn)行碼流視頻處理,將處理后的碼流發(fā)送出去。
[0059]所述DSP對(duì)視頻碼流的處理包括多種,例如解碼、編碼或轉(zhuǎn)碼處理等。
[0060]Intel主控芯片讀取來(lái)自外部設(shè)備的視頻碼流之前,Intel主控芯片和Netra從芯片之間將進(jìn)行啟動(dòng)通訊過(guò)程,該過(guò)程中,Netra從芯片的ARM-A8將各自的映射空間地址信息通知給Intel主控芯片。
[0061]較佳地,所述Intel主控芯片,在接收來(lái)自所述ARM-A8的映射空間地址信息之后,還將初始化參數(shù)賦值通過(guò)所述PC1-E橋接芯片發(fā)送給ARM-A8。所述初始化參數(shù)賦值為Intel主控芯片在啟動(dòng)過(guò)程中通知給Netra從芯片的初始化參數(shù),可根據(jù)需要設(shè)定,例如包括視頻碼流處理設(shè)備的類(lèi)型、設(shè)備包含的DSP總個(gè)數(shù)、視頻制式等;其中視頻制式為Netra從芯片進(jìn)行視頻碼流處理后的制式。
[0062]Intel主控芯片讀取來(lái)自外部設(shè)備視頻碼流時(shí),對(duì)于需要運(yùn)行SDK的情況,從自身存儲(chǔ)空間中讀取相應(yīng)的SDK,運(yùn)行SDK,調(diào)用SDK取流函數(shù),讀取來(lái)自外部設(shè)備視頻碼流。Intel主控芯片中存儲(chǔ)的SDK,可以是預(yù)先從指定網(wǎng)站獲取后保存在自身存儲(chǔ)空間中的。當(dāng)然,本發(fā)明方案不僅適用于需要運(yùn)用SDK的情況,也適用于其他不調(diào)用SDK取流函數(shù)進(jìn)行視頻碼流讀取的情況,如采用私有協(xié)議或標(biāo)準(zhǔn)協(xié)議從外部設(shè)備讀取視頻碼流的情況。
[0063]本發(fā)明中,進(jìn)行視頻碼流處理的設(shè)備包括Intel主控芯片、PC1-E橋接芯片和至少一塊Netra從芯片;Intel主控芯片讀取來(lái)自外部設(shè)備的視頻碼流;Intel主控芯片配置從芯片映射空間,確定映射空間地址,將視頻碼流通過(guò)PC1-E橋接芯片發(fā)送給與映射空間地址對(duì)應(yīng)的Netra從芯片共享內(nèi)存;Netra從芯片從共享內(nèi)存讀取視頻碼流,進(jìn)行碼流視頻處理;Netra從芯片將處理后的碼流發(fā)送出去。本發(fā)明采用Intel主控芯片加Netra從芯片的方式實(shí)現(xiàn)視頻碼流處理設(shè)備,Intel主控芯片讀取視頻碼流,Netra從芯片對(duì)讀取的視頻碼流進(jìn)行處理;這樣,Intel主控芯片運(yùn)行在windows系統(tǒng)下,當(dāng)需要時(shí)能夠正常運(yùn)行SDK進(jìn)行視頻碼流的讀?。徊⑶?,充分應(yīng)用Netra芯片極強(qiáng)的處理能力,對(duì)讀取的視頻碼流進(jìn)行處理。從而,既提高碼了碼流處理能力,又解決了視頻碼流處理受限的問(wèn)題。
[0064]參見(jiàn)圖2,為本發(fā)明進(jìn)行視頻碼流處理的方法示意性流程圖,其包括以下步驟:
[0065]步驟201, Intel主控芯片讀取來(lái)自外部設(shè)備的視頻碼流。
[0066]本步驟之前,Intel主控芯片將進(jìn)行驅(qū)動(dòng)初始化,且Intel主控芯片和Netra從芯片之間將進(jìn)行啟動(dòng)通訊過(guò)程,該過(guò)程中,Netra從芯片的ARM-A8將各自的映射空間地址信息通知給Intel主控芯片。
[0067]設(shè)備上電,Intel主控芯片運(yùn)行主控程序,主控程序進(jìn)行驅(qū)動(dòng)初始化,進(jìn)行DSP初始化的準(zhǔn)備工作;Intel主控芯片的驅(qū)動(dòng)初始化與一般的Intel芯片初始化過(guò)程類(lèi)似,這里進(jìn)行簡(jiǎn)要說(shuō)明;其大致包括:設(shè)備上電,Intel主控芯片對(duì)設(shè)備進(jìn)行復(fù)位,防止設(shè)備無(wú)法操作;Intel主控芯片映射設(shè)備的寄存器地址;下載uboot以及設(shè)備運(yùn)行參數(shù),啟動(dòng)uboot的運(yùn)行,檢測(cè)內(nèi)存是否成功初始化;下載內(nèi)核;下載文件系統(tǒng);啟動(dòng)內(nèi)核。進(jìn)行驅(qū)動(dòng)初始化之后,Intel主控芯片和Netra從芯片之間將進(jìn)行啟動(dòng)通訊過(guò)程。
[0068]下面通過(guò)圖3,對(duì)Intel主控芯片和Netra從芯片之間進(jìn)行啟動(dòng)通訊進(jìn)行實(shí)例說(shuō)明,該流程中Intel主控芯片和Netra從芯片的信息交互通過(guò)經(jīng)過(guò)PC1-E橋接芯片進(jìn)行中轉(zhuǎn)傳輸,這里為了便于敘述,不將PC1-E橋接芯片表述在流程中。圖3的流程中,Intel主控芯片運(yùn)行Windows系統(tǒng),Netra從芯片的操作流程都由其中的ARM-A8執(zhí)行,在ARM-A8中的應(yīng)用程序?yàn)閔icore,這里,只運(yùn)行hicore的中DSP初始化和DSP命令處理線程,以實(shí)現(xiàn)啟動(dòng) DSP。
[0069]圖3的流程包括以下步驟:
[0070]步驟301, Intel主控芯片和Netra從芯片分別讀取各自的DSP索引值(dspldx),如果dspldx為0,則執(zhí)行步驟302,否則等待來(lái)自從芯片的啟動(dòng)中斷。
[0071]Intel主控芯片和Netra從芯片中分別存儲(chǔ)了各自的類(lèi)型參數(shù),以表明為主控芯片還是從芯片;類(lèi)型參數(shù)用DSP索引值表示,本實(shí)例中,如果為0,則表明為主控芯片,否則為從芯片。設(shè)備上電后,Intel主控芯片和Netra從芯片將讀取各自的dspldx,進(jìn)行數(shù)值判斷;具體地,Netra從芯片首先啟動(dòng)的是ARM-A8上,由ARM-A8進(jìn)行數(shù)值判斷。
[0072]對(duì)于需要運(yùn)行SDK的情況,本步驟具體包括=Intel主控芯片調(diào)用SDK取流函數(shù),讀取來(lái)自外部設(shè)備視頻碼流。
[0073]步驟302, Netra從芯片向Intel主控芯片發(fā)送啟動(dòng)中斷。
[0074]Intel主控芯片接收啟動(dòng)中斷后,繼續(xù)等待Netra從芯片發(fā)送映射空間地址信息。
[0075]這里進(jìn)行Intel主控芯片和Netra從芯片之間的第一次時(shí)間同步:Netra從芯片向Intel主控芯片發(fā)送啟動(dòng)中斷,表示從芯片已經(jīng)進(jìn)入hicore的DSP啟動(dòng)進(jìn)程。
[0076]步驟303,Netra從芯片向Intel主控芯片發(fā)送映射空間地址信息。
[0077]具體地,ARM-A8映射DSP的空間地址,獲取DSP的共享空間地址信息,這里將獲取的共享空間地址信息稱(chēng)為映射空間地址信息。
[0078]步驟304,Intel主控芯片將初始化參數(shù)賦值發(fā)送給Netra從芯片。
[0079]Intel主控芯片為DSP進(jìn)行初始化參數(shù)賦值。
[0080]步驟305, Intel主控芯片向Netra從芯片發(fā)送初始化中斷。
[0081]這里進(jìn)行Intel主控芯片和Netra從芯片之間的第二次時(shí)間同步:主芯片向從芯片發(fā)送關(guān)于初始化參數(shù)賦值完成的初始化中斷,表示在主芯片上已經(jīng)建立了 DSP狀態(tài)映射地址且參數(shù)賦值成功。
[0082]Intel主控芯片向Netra從芯片發(fā)送初始化中斷,以告知Netra從芯片啟動(dòng)DSP。
[0083]步驟306,Netra從芯片接收Intel主控芯片的初始化中斷,啟動(dòng)DSP。
[0084]步驟307, Netra從芯片向Intel主控芯片發(fā)送初始化完成中斷。
[0085]這里進(jìn)行Intel主控芯片和Netra從芯片之間的第三次時(shí)間同步:從芯片DSP啟動(dòng)完成之后,發(fā)送關(guān)于DSP啟動(dòng)完成的初始化完成中斷。
[0086]步驟202,Intel主控芯片配置從芯片映射空間,確定映射空間地址,將視頻碼流通過(guò)PC1-E橋接芯片發(fā)送給與映射空間地址對(duì)應(yīng)的Netra從芯片共享內(nèi)存。
[0087]Intel主控芯片內(nèi)存儲(chǔ)了各Netra從芯片的映射空間地址,映射空間地址對(duì)應(yīng)Netra從芯片的共享空間;在需要時(shí),確定出映射空間地址,將視頻碼流通過(guò)PC1-E橋接芯片發(fā)送到相應(yīng)的共享空間,確定出的映射空間地址可能對(duì)應(yīng)的是一個(gè)Netra從芯片的共享空間,也可能對(duì)應(yīng)兩個(gè)以上Netra從芯片的共享空間。
[0088]步驟203,Netra從芯片從共享內(nèi)存讀取視頻碼流,進(jìn)行碼流視頻處理。
[0089]對(duì)視頻碼流的處理包括解碼、編碼或轉(zhuǎn)碼等。
[0090]步驟204,Netra從芯片將處理后的碼流發(fā)送出去。
[0091]具體地,例如發(fā)送給顯示墻進(jìn)行顯示。
[0092]以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
【權(quán)利要求】
1.一種進(jìn)行視頻碼流處理的設(shè)備,其特征在于,該設(shè)備包括Intel主控芯片、擴(kuò)展外設(shè)部件互聯(lián)標(biāo)準(zhǔn)PC1-E橋接芯片和至少一塊Netra從芯片; 所述Intel主控芯片,讀取來(lái)自外部設(shè)備的視頻碼流,配置從芯片映射空間,確定映射空間地址,將視頻碼流通過(guò)PC1-E橋接芯片發(fā)送給與映射空間地址對(duì)應(yīng)的Netra從芯片共享內(nèi)存; 所述PC1-E橋接芯片,進(jìn)行Intel主控芯片和Netra從芯片之間的信息交互; 所述Netra從芯片,從共享內(nèi)存讀取視頻碼流,進(jìn)行碼流視頻處理,將處理后的碼流發(fā)送出去。
2.如權(quán)利要求1所述的設(shè)備,其特征在于,所述Netra從芯片包括ARM-A8和數(shù)字信號(hào)處理器DSP ; 所述Intel主控芯片,在讀取來(lái)自外部設(shè)備的視頻碼流之前,還通過(guò)所述PC1-E橋接芯片接收來(lái)自所述ARM-A8的映射空間地址信息,通過(guò)所述PC1-E橋接芯片向所述ARM-A8反饋?lái)憫?yīng)消息; 所述ARM-A8,通過(guò)所述PC1-E橋接芯片將映射空間地址信息發(fā)送給所述Intel主控芯片,并通過(guò)所述PC1-E橋接芯片接收來(lái)自所述Intel主控芯片的反饋?lái)憫?yīng)消息,啟動(dòng)所述DSP ; 所述DSP,從共享內(nèi)存中讀取視頻碼流,對(duì)其進(jìn)行碼流視頻處理,將處理后的碼流發(fā)送出去。
3.如權(quán)利要求2所述的設(shè)備,其特征在于,所述DSP,從共享內(nèi)存中讀取視頻碼流,對(duì)其進(jìn)行解碼、編碼或轉(zhuǎn)碼處理,將處理后的碼流發(fā)送出去。
4.如權(quán)利要求2所述的設(shè)備,其特征在于,所述Intel主控芯片,在接收來(lái)自所述ARM-A8的映射空間地址信息之后,還將初始化參數(shù)賦值通過(guò)所述PC1-E橋接芯片發(fā)送給ARM-A8。
5.如權(quán)利要求1至4中任一項(xiàng)所述的設(shè)備,其特征在于, 所述Intel主控芯片,調(diào)用軟件開(kāi)發(fā)工具包SDK取流函數(shù),讀取來(lái)自外部設(shè)備視頻碼流。
6.一種基于權(quán)利要求1所述設(shè)備進(jìn)行視頻碼流處理的方法,其特征在于,該方法包括: Intel主控芯片讀取來(lái)自外部設(shè)備的視頻碼流; Intel主控芯片配置從芯片映射空間,確定映射空間地址,將視頻碼流通過(guò)PC1-E橋接芯片發(fā)送給與映射空間地址對(duì)應(yīng)的Netra從芯片共享內(nèi)存; Netra從芯片從共享內(nèi)存讀取視頻碼流,進(jìn)行碼流視頻處理; Netra從芯片將處理后的碼流發(fā)送出去。
7.如權(quán)利要求6的方法,其特征在于,所述Intel主控芯片讀取來(lái)自外部設(shè)備的視頻碼流之前,該方法還包括: Netra從芯片的ARM-A8通過(guò)PC1-E橋接芯片將映射空間地址信息發(fā)送給Intel主控芯片; Intel主控芯片通過(guò)PC1-E橋接芯片接收來(lái)自Netra從芯片的ARM-A8的映射空間地址信息后,通過(guò)PC1-E橋接芯片向Netra從芯片的ARM-A8反饋?lái)憫?yīng)消息; Netra從芯片的ARM-A8接收反饋?lái)憫?yīng)消息后啟動(dòng)DSP ; Netra從芯片從共享內(nèi)存讀取視頻碼流,進(jìn)行碼流視頻處理,將處理后的碼流發(fā)送出去,具體包括:DSP從共享內(nèi)存中讀取視頻碼流,對(duì)其進(jìn)行碼流視頻處理,將處理后的碼流發(fā)送出去。
8.如權(quán)利要求7的方法,其特征在于,所述DSP對(duì)讀取的視頻碼流進(jìn)行碼流視頻處理包括: DSP對(duì)讀取的視頻碼流進(jìn)行解碼、編碼或轉(zhuǎn)碼處理。
9.如權(quán)利要求7的方法,其特征在于,所述Netra從芯片的ARM-A8通過(guò)PC1-E橋接芯片將映射空間地址信息發(fā)送給Intel主控芯片之前,該方法包括: Netra從芯片的ARM-A8讀取類(lèi)型參數(shù)中的索引值,判斷索引值是否為從芯片標(biāo)識(shí),如果是,則執(zhí)行所述通過(guò)PC1-E橋接芯片將映射空間地址信息發(fā)送給Intel主控芯片; Intel主控芯片在接收來(lái)自ARM-A8的映射空間地址信息之后,還將初始化參數(shù)賦值通過(guò)PC1-E橋接芯片發(fā)送給Netra從芯片的ARM-A8。
10.如權(quán)利要求6至9中任一項(xiàng)所述的方法,其特征在于,所述Intel主控芯片讀取來(lái)自外部設(shè)備的視頻碼流,包括: Intel主控芯片調(diào)用SDK取流函數(shù),讀取來(lái)自外部設(shè)備視頻碼流。
【文檔編號(hào)】H04N19/42GK104519359SQ201310456600
【公開(kāi)日】2015年4月15日 申請(qǐng)日期:2013年9月29日 優(yōu)先權(quán)日:2013年9月29日
【發(fā)明者】宋義 申請(qǐng)人:杭州海康威視數(shù)字技術(shù)股份有限公司