本發(fā)明涉及媒體處理技術(shù)領(lǐng)域,具體涉及一種媒體處理方法、裝置及媒體服務(wù)器。
背景技術(shù):
媒體處理系統(tǒng)(例如音視頻通信系統(tǒng)、視頻監(jiān)控系統(tǒng))中,第一終端(即媒體數(shù)據(jù)采集終端,例如智能手機(jī)、平板電腦等移動(dòng)客戶端,專用的音視頻會(huì)議系統(tǒng)終端,攝像頭及麥克風(fēng)等)需要將采集到的音視頻數(shù)據(jù)進(jìn)行壓縮編碼,并通過網(wǎng)絡(luò)發(fā)送至媒體服務(wù)器上,該媒體服務(wù)器對(duì)接收到的音視頻碼流執(zhí)行媒體處理功能后再發(fā)送至第二終端(媒體數(shù)據(jù)呈現(xiàn)終端,例如智能手機(jī)、平板電腦等移動(dòng)客戶端,專用的音視頻會(huì)議系統(tǒng)終端,顯示器及揚(yáng)聲器等),該媒體處理功能包括編碼、解碼、碼流轉(zhuǎn)換、物體識(shí)別、圖像拼接、混音等,從而第二終端可以接收到適于其播放的音視頻碼流,并呈現(xiàn)出期望的音視頻效果。
現(xiàn)有媒體服務(wù)器通常采用通用媒體芯片執(zhí)行上述媒體處理功能。該通用媒體芯片可以執(zhí)行上述媒體處理功能中的任意一者,當(dāng)有待處理的媒體數(shù)據(jù)時(shí),均由這一通用媒體芯片來處理。
然而隨著現(xiàn)有音視頻系統(tǒng)、視頻監(jiān)控系統(tǒng)的普及應(yīng)用,越來越多的音視頻系統(tǒng)、視頻監(jiān)控系統(tǒng)產(chǎn)生越來越多的待處理媒體數(shù)據(jù);另一方面,由于客戶端對(duì)音視頻數(shù)據(jù)的處理能力千差萬(wàn)別,由此碼流轉(zhuǎn)換等媒體處理需求更加多樣化;此外,現(xiàn)有音視頻會(huì)議系統(tǒng)的會(huì)場(chǎng)規(guī)模越來越大,對(duì)圖像拼接、混音等媒體處理的要求越來越高。現(xiàn)有方式采用通用媒體芯片進(jìn)行媒體處理的方法,通用處理器的處理能力已難以勝任上述媒體處理需求。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明實(shí)施例提供了一種媒體處理方法、裝置及媒體服務(wù)器,以解決通用媒體芯片無(wú)法滿足更加多樣化及量越來越大的媒體數(shù)據(jù)的問題。
根據(jù)第一方面,本發(fā)明實(shí)施例提供了一種媒體處理方法,用于媒體服務(wù)器,所述媒體服務(wù)器包括一個(gè)主控芯片和多個(gè)媒體芯片;所述方法包括:所述主控芯片獲取媒體處理指令,所述媒體處理指令用于指示所述媒體服務(wù)器對(duì)待處理媒體數(shù)據(jù)進(jìn)行處理;所述主控芯片從預(yù)設(shè)媒體資源池中選取用于執(zhí)行所述媒體處理指令的一個(gè)或多個(gè)媒體芯片;所述媒體資源池為所述媒體服務(wù)器中媒體芯片的集合,其中每個(gè)媒體芯片對(duì)應(yīng)至少一種媒體數(shù)據(jù)處理的功能;所述主控芯片根據(jù)所述媒體處理指令在已選取的媒體芯片之間建立媒體處理流程;所述媒體處理流程為所述主控芯片與已選取的媒體芯片間的順序組合;所述主控芯片獲取待處理媒體數(shù)據(jù);所述主控芯片將所述待處理媒體數(shù)據(jù)發(fā)送至已選取的媒體芯片,由已選取的媒體芯片按照所述媒體處理流程依次處理所述待處理媒體數(shù)據(jù)。
可選地,所述主控芯片根據(jù)所述媒體處理指令在已選取的媒體芯片之間建立媒體處理流程的步驟,包括:所述主控芯片確定已選取的媒體芯片用于執(zhí)行所述媒體處理指令的順序;所述主控芯片與所述順序中的第一個(gè)媒體芯片建立通信連接;所述主控芯片向已選取的各媒體芯片發(fā)送所述各媒體芯片在所述順序中的下一媒體芯片的標(biāo)識(shí);所述各媒體芯片與其下一媒體芯片之間建立通信連接。
可選地,由所述已選取的媒體芯片按照所述媒體處理流程依次處理所述待處理媒體數(shù)據(jù)的步驟,包括:當(dāng)前媒體芯片接收所述待處理媒體數(shù)據(jù);所述當(dāng)前媒體芯片根據(jù)自身媒體處理功能處理所述待處理媒體數(shù)據(jù);所述當(dāng)前媒體芯片將其處理后的媒體數(shù)據(jù)發(fā)送至媒體處理流程中的下一媒體芯片。
可選地,所述媒體芯片包括與所述主控芯片可拆卸連接的第二媒體芯片;所述方法還包括:當(dāng)?shù)诙襟w芯片連接至所述主控芯片時(shí),所述第二媒體芯片向所述主控芯片發(fā)送注冊(cè)信息;所述注冊(cè)信息包括所述第二媒體芯片的媒體處理功能;所述主控芯片接收所述第二媒體芯片的注冊(cè)信息,并將所述第二媒體芯片的媒體處理功能存儲(chǔ)至所述媒體資源池。
可選地,所述媒體芯片包括與所述主控芯片可拆卸連接的第三媒體芯片;所述方法還包括:當(dāng)?shù)谌襟w芯片已向所述主控芯片發(fā)送其即將被拆除的通知或者所述第三媒體芯片運(yùn)行出現(xiàn)故障時(shí),所述主控芯片從所述媒體資源池中刪除第三媒體芯片;主控芯片從所述媒體資源池中選取第四媒體芯片;所述第四媒體芯片的處理類型與所述第三媒體芯片的媒體處理功能相同;所述第四媒體芯片與所述第三媒體芯片在媒體處理流程中的上一芯片及下一芯片分別建立通信連接。
根據(jù)第二方面,本發(fā)明實(shí)施例提供了一種媒體處理裝置,用于媒體服務(wù)器,所述媒體服務(wù)器包括一個(gè)主控芯片和多個(gè)媒體芯片;所述裝置包括:第一獲取單元,用于獲取媒體處理指令,所述媒體處理指令用于指示所述媒體服務(wù)器對(duì)待處理媒體數(shù)據(jù)進(jìn)行處理;第一選取單元,用于從預(yù)設(shè)媒體資源池中選取用于執(zhí)行所述媒體處理指令的一個(gè)或多個(gè)媒體芯片;所述媒體資源池為所述媒體服務(wù)器中媒體芯片的集合,其中每個(gè)媒體芯片對(duì)應(yīng)至少一種媒體數(shù)據(jù)處理的功能;第一建立單元,用于根據(jù)所述媒體處理指令在已選取的媒體芯片之間建立媒體處理流程;所述媒體處理流程為所述主控芯片與已選取的媒體芯片間的順序組合;第二獲取單元,用于獲取待處理媒體數(shù)據(jù);第一發(fā)送單元,用于將所述待處理媒體數(shù)據(jù)發(fā)送至已選取的媒體芯片,由已選取的媒體芯片按照所述媒體處理流程依次處理所述待處理媒體數(shù)據(jù)。
可選地,所述第一建立單元包括:確定子單元,用于確定已選取的媒體芯片用于執(zhí)行所述媒體處理指令的順序;第一建立子單元,用于與所述順序中的第一個(gè)媒體芯片建立通信連接;發(fā)送子單元,用于向已選取的各媒體芯片發(fā)送所述各媒體芯片在所述順序中的下一媒體芯片;第二建立子單元,用于在所述各媒體芯片與其下一媒體芯片之間建立通信連接。
可選地,所述裝置還包括:第一接收單元,用于接收所述待處理媒體數(shù)據(jù);處理單元,用于根據(jù)自身媒體處理功能處理所述待處理媒體數(shù)據(jù);第二發(fā)送單元,用于將處理后的媒體數(shù)據(jù)發(fā)送至媒體處理流程中的下一媒體芯片。
可選地,所述媒體芯片包括與所述主控芯片可拆卸連接的第二媒體芯片;所述裝置還包括:第三發(fā)送單元,用于當(dāng)?shù)诙襟w芯片連接至所述主控芯片時(shí),向所述主控芯片發(fā)送注冊(cè)信息;所述注冊(cè)信息包括所述第二媒體芯片的媒體處理功能;第二接收單元,用于接收所述第二媒體芯片的注冊(cè)信息,存儲(chǔ)單元,用于將所述第二媒體芯片的媒體處理功能存儲(chǔ)至所述媒體資源池。
可選地,所述媒體芯片包括與所述主控芯片可拆卸連接的第三媒體芯片;所述裝置還包括:刪除單元,用于當(dāng)?shù)谌襟w芯片已向所述主控芯片發(fā)送其即將被拆除的通知或者所述第三媒體芯片運(yùn)行出現(xiàn)故障時(shí),從所述媒體資源池中刪除第三媒體芯片;第二選取單元,用于從所述媒體資源池中選取第四媒體芯片;所述第四媒體芯片的處理類型與所述第三媒體芯片的媒體處理功能相同;第二建立單元,用于將所述第三媒體芯片在媒體處理流程中的上一芯片及下一芯片分別與所述第四媒體芯片建立通信連接。
根據(jù)第三方面,本發(fā)明實(shí)施例提供了一種媒體服務(wù)器,包括一個(gè)主控芯片和多個(gè)媒體芯片;其中,所述主控芯片用于獲取媒體處理指令;根據(jù)從預(yù)設(shè)媒體資源池中選取用于執(zhí)行所述媒體處理指令的一個(gè)或多個(gè)媒體芯片,并在已選取的媒體芯片之間建立媒體處理流程;所述媒體資源池為所述媒體服務(wù)器中的媒體芯片的集合,其中每個(gè)媒體芯片對(duì)應(yīng)至少一種媒體數(shù)據(jù)處理的功能;所述已選取的媒體芯片按照媒體處理流程依次處理待處理媒體數(shù)據(jù)。
本發(fā)明實(shí)施例所提供的媒體處理方法、裝置及媒體服務(wù)器,通過媒體服務(wù)器中的主控芯片獲取媒體處理指令,并從預(yù)設(shè)媒體資源池中選取用于執(zhí)行該媒體處理指令的一個(gè)或多個(gè)媒體芯片,在已選取的媒體芯片之間建立媒體處理流程,主控芯片獲取待處理媒體數(shù)據(jù)后將其發(fā)送至已選取的媒體芯片,由已選取的媒體芯片按照媒體處理流程依次處理待處理媒體數(shù)據(jù)。通過該方法,多種具有不同媒體處理功能的媒體芯片(即異構(gòu)芯片)能夠集群設(shè)置于媒體服務(wù)器中,使得媒體服務(wù)器可以支持多種不同的媒體處理需求;當(dāng)待處理媒體數(shù)據(jù)的量較大時(shí),媒體服務(wù)器可以根據(jù)需要靈活選擇多個(gè)具有同一媒體處理功能的媒體芯片并行處理媒體數(shù)據(jù),從而提高媒體處理的速度。
附圖說明
通過參考附圖會(huì)更加清楚的理解本發(fā)明的特征和優(yōu)點(diǎn),附圖是示意性的而不應(yīng)理解為對(duì)本發(fā)明進(jìn)行任何限制,在附圖中:
圖1示出了本發(fā)明實(shí)施例的應(yīng)用場(chǎng)景示意圖;
圖2示出了根據(jù)本發(fā)明實(shí)施例的一種媒體處理方法的流程圖;
圖3示出了根據(jù)本發(fā)明實(shí)施例的媒體處理流程的示意圖;
圖4示出了根據(jù)本發(fā)明實(shí)施例的另一媒體處理流程的示意圖;
圖5示出了根據(jù)本發(fā)明實(shí)施例的又一媒體處理流程的示意圖;
圖6示出了根據(jù)本發(fā)明實(shí)施例的另一種媒體處理方法的流程圖;
圖7示出了根據(jù)本發(fā)明實(shí)施例的一種媒體處理裝置的原理框圖;
圖8示出了根據(jù)本發(fā)明實(shí)施例的另一媒體處理裝置的原理框圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
圖1示出了本發(fā)明實(shí)施例的應(yīng)用場(chǎng)景示意圖。圖1中包括第一終端(媒體數(shù)據(jù)采集終端,例如智能手機(jī)、平板電腦等移動(dòng)客戶端,專用的音視頻會(huì)議系統(tǒng)終端,攝像頭及麥克風(fēng)等)、媒體服務(wù)器和第二終端(媒體數(shù)據(jù)呈現(xiàn)終端,例如智能手機(jī)、平板電腦等移動(dòng)客戶端,專用的音視頻會(huì)議系統(tǒng)終端,顯示器及揚(yáng)聲器等)。第一終端的數(shù)量為一個(gè)或多個(gè),第二終端的數(shù)量也可以為一個(gè)或多個(gè)。
通常情況下,第一終端與第二終端所處理的數(shù)據(jù)格式有所不同,因此需要對(duì)數(shù)據(jù)格式進(jìn)行轉(zhuǎn)換(即碼流轉(zhuǎn)換);或者,需要將第一終端所采集的數(shù)據(jù)進(jìn)一步處理后,再通過第二終端來呈現(xiàn)。這些媒體處理功能由本發(fā)明實(shí)施例中的媒體服務(wù)器來執(zhí)行。需要補(bǔ)充說明的是,除了碼流轉(zhuǎn)換外,媒體處理功能還包括編碼、解碼、物體識(shí)別(例如識(shí)別監(jiān)控圖像中的物體)、圖像拼接(例如將多個(gè)會(huì)場(chǎng)的圖像拼接成一幅圖像,或者將同一會(huì)場(chǎng)的多個(gè)圖像拼接成一幅圖像)、混音等。
媒體服務(wù)器與第一終端、第二終端分別連接,用于處理采集到的待處理媒體數(shù)據(jù),以使其適用于通過第二終端來呈現(xiàn)。如圖1所示,該媒體服務(wù)器包括一個(gè)主控芯片m和多個(gè)媒體芯片c1、c2、c3……該媒體芯片可以為h265編/解碼芯片、h264編/解碼芯片、mpeg編/解碼芯片、圖像縮放處理芯片、多畫面合成芯片、圖像去噪芯片、物體識(shí)別芯片、混音芯片等。需要補(bǔ)充說明的是,本申請(qǐng)中所述的媒體芯片也可以為執(zhí)行媒體處理功能的模塊。
可選地,該媒體服務(wù)器還可以包括一個(gè)備控芯片s,用于增強(qiáng)媒體服務(wù)器的容災(zāi)能力,以保障媒體服務(wù)器能夠正常執(zhí)行媒體處理功能。
具體地,本發(fā)明實(shí)施例的應(yīng)用場(chǎng)景中的第一終端和第二終端可以為音視頻會(huì)議終端,即音視頻會(huì)議系統(tǒng)中既可以采集媒體數(shù)據(jù)又可以對(duì)媒體數(shù)據(jù)進(jìn)行呈現(xiàn)的終端;媒體服務(wù)器可以為音視頻會(huì)議系統(tǒng)服務(wù)器,更具體地可以為音視頻會(huì)議系統(tǒng)的多點(diǎn)控制單元(英文:multi-pointcontrolunit,簡(jiǎn)稱:mcu)。
實(shí)施例一
圖2示出了根據(jù)本發(fā)明實(shí)施例的一種媒體處理方法的流程圖。該媒體處理方法適用于圖1中所示的媒體服務(wù)器。根據(jù)圖2所示,該方法包括如下步驟:
s101:主控芯片獲取媒體處理指令。
媒體處理指令用于指示媒體服務(wù)器對(duì)待處理媒體數(shù)據(jù)進(jìn)行處理。
在對(duì)待處理媒體數(shù)據(jù)進(jìn)行處理之前,主控芯片先獲取媒體處理指令。該媒體處理指令可以是設(shè)置于待處理媒體數(shù)據(jù)中,則主控芯片接收待處理媒體數(shù)據(jù)后先從中獲取媒體處理指令;或者,該媒體處理指令也可以是第一終端在發(fā)送待處理媒體數(shù)據(jù)之前預(yù)先發(fā)送的。
例如,主控芯片所獲取的媒體處理指令為將h265編碼的數(shù)據(jù)轉(zhuǎn)換為h264編碼的數(shù)據(jù),即實(shí)現(xiàn)碼流轉(zhuǎn)換。
s102:主控芯片從預(yù)設(shè)媒體資源池中選取用于執(zhí)行媒體處理指令的一個(gè)或多個(gè)媒體芯片。已選取的媒體芯片執(zhí)行媒體處理指令的過程便是其處理媒體數(shù)據(jù)的過程。
媒體資源池為媒體服務(wù)器中媒體芯片的集合,其中每個(gè)媒體芯片對(duì)應(yīng)至少一種媒體數(shù)據(jù)處理的功能。
沿用上例,假設(shè)媒體資源池中記錄有h265編碼芯片c、h265解碼芯片、h264編碼芯片、h264解碼芯片、h263編碼芯片、h263解碼芯片、mpeg編碼芯片、mpeg解碼芯片等。為實(shí)現(xiàn)上述碼流轉(zhuǎn)換,主控芯片需從媒體資源池中選取h265解碼芯片c1和h264編碼芯片c2。
s103:主控芯片根據(jù)媒體處理指令在已選取的媒體芯片之間建立媒體處理流程。其中媒體處理流程為主控芯片與已選取的媒體芯片間的順序組合。沿用上例,根據(jù)將h265編碼的數(shù)據(jù)轉(zhuǎn)換為h264編碼的數(shù)據(jù)這一媒體處理指令,已選取的媒體芯片間所建立的媒體處理流程為“h265解碼—h264編碼”,而并非“h264編碼—h265解碼”,如圖3所示。需要補(bǔ)充說明的是,在步驟s103主控芯片建立處理媒體處理流程之前,該h265解碼芯片c1和h264編碼芯片c2的媒體處理能力處于空閑狀態(tài),即未處于任何處理流程,此處所指“媒體處理能力”不同于媒體處理芯片自身,例如當(dāng)媒體處理芯片c1的全部媒體處理能力只使用了一半時(shí),其另一半的媒體處理能力便處于空閑狀態(tài)。此時(shí)主控芯片另外再建立一條媒體處理流程時(shí),還可以選擇該媒體處理芯片c1,即媒體處理芯片c1的全部媒體處理能力可以分屬于兩個(gè)不同的媒體處理流程。
s104:主控芯片獲取待處理媒體數(shù)據(jù)。
s105:主控芯片將待處理媒體數(shù)據(jù)發(fā)送至已選取的媒體芯片,由已選取的媒體芯片按照媒體處理流程依次處理待處理媒體數(shù)據(jù)。
沿用上例,主控芯片將待處理媒體數(shù)據(jù)先發(fā)送至h265解碼芯片c1進(jìn)行解碼,解碼完成后發(fā)送至媒體處理流程中的下一媒體芯片——h264芯片c2進(jìn)行編碼。
在媒體處理流程中的最后一個(gè)媒體芯片處理完成后,可以將處理后的數(shù)據(jù)返回至主控芯片;或者,主控芯片還可以設(shè)定目標(biāo)接口或芯片,使得媒體處理流程中的最后一個(gè)媒體芯片處理完成后,將處理后的數(shù)據(jù)發(fā)送至該目標(biāo)接口或芯片。
上述完整建立媒體處理流程的過程,可以是主控芯片獲取到待處理媒體數(shù)據(jù)后,將整個(gè)媒體處理流程隨同待處理媒體數(shù)據(jù)發(fā)送至媒體處理流程中的下一媒體芯片,例如發(fā)送至h265解碼芯片c1;每個(gè)媒體芯片在處理待處理媒體數(shù)據(jù)后,也根據(jù)該媒體處理流程將處理后的數(shù)據(jù)發(fā)送至媒體處理流程中的下一媒體芯片,例如h265解碼芯片c1在完成解碼后,讀取媒體處理流程,將解碼后的數(shù)據(jù)發(fā)送至所讀取到的下一媒體芯片——h264芯片c2。作為上述建立媒體處理流程的并列實(shí)施方式,也可以是主控芯片先根據(jù)媒體處理流程使已選取的媒體依次建立通信連接,為每個(gè)媒體芯片設(shè)定其下一媒體芯片,主控芯片將待處理媒體數(shù)據(jù)發(fā)送媒體處理流程中的媒體芯片,每個(gè)媒體芯片對(duì)數(shù)據(jù)處理完成后,直接發(fā)送至預(yù)先設(shè)定的下一媒體芯片,詳情請(qǐng)參閱實(shí)施例二的步驟s205、s206、s207和s208。
作為本實(shí)施例的再一種具體實(shí)施例,如圖4所示,媒體處理流程還可以是“媒體芯片c1—媒體芯片c4—媒體芯片c2”。當(dāng)媒體芯片c1為解碼芯片、媒體芯片c2為編碼芯片時(shí),媒體芯片c4可以為物體識(shí)別芯片、圖像拼接、混音芯片中的任意一者。此處所述的“芯片”也可以為執(zhí)行相應(yīng)功能的模塊。
作為本實(shí)施例的一種可選實(shí)施方式,主控芯片從媒體資源池中選取多個(gè)具有同一媒體處理功能的媒體芯片,這些媒體芯片并行處理上一媒體芯片所發(fā)的媒體數(shù)據(jù),如圖5所示(圖中媒體芯片的通信接口未畫出),媒體芯片c2為編碼芯片,媒體芯片c4可以為物體識(shí)別芯片、圖像拼接、混音芯片中的任意一者,媒體芯片c11、c12、c13為解碼芯片。多個(gè)具有相同媒體處理功能的媒體芯片共同處理媒體數(shù)據(jù)可以提高待處理媒體數(shù)據(jù)的處理速度。
需要指出的是,主控芯片所選取的用于執(zhí)行媒體處理指令的媒體芯片也可以為一個(gè),例如僅需要對(duì)待處理執(zhí)行圖像縮放的指令。
上述媒體處理方法,通過媒體服務(wù)器中的主控芯片獲取媒體處理指令,并從預(yù)設(shè)媒體資源池中選取用于執(zhí)行該媒體處理指令的一個(gè)或多個(gè)媒體芯片,在已選取的媒體芯片之間建立媒體處理流程,主控芯片獲取待處理媒體數(shù)據(jù)后將其發(fā)送至已選取的媒體芯片,由已選取的媒體芯片按照媒體處理流程依次處理待處理媒體數(shù)據(jù)。通過該方法,多種具有不同媒體處理功能的媒體芯片(即異構(gòu)芯片)能夠集群設(shè)置于媒體服務(wù)器中,使得媒體服務(wù)器可以支持多種不同的媒體處理需求;當(dāng)待處理媒體數(shù)據(jù)的量較大時(shí),媒體服務(wù)器可以根據(jù)需要靈活選擇多個(gè)具有同一媒體處理功能的媒體芯片并行處理媒體數(shù)據(jù),從而提高媒體處理的速度。
實(shí)施例二
圖6示出了根據(jù)本發(fā)明實(shí)施例的另一種媒體處理方法的流程圖。該媒體處理方法適用于圖1中所示的媒體服務(wù)器,其中,媒體服務(wù)器中的媒體芯片包括與主控芯片可拆卸連接的第二媒體芯片或第三媒體芯片。根據(jù)圖6所示,該方法包括如下步驟:
s201:當(dāng)?shù)诙襟w芯片連接至主控芯片時(shí),第二媒體芯片向主控芯片發(fā)送注冊(cè)信息。
該注冊(cè)信息包括第二媒體芯片的媒體處理功能,例如編碼、解碼、碼流轉(zhuǎn)換、物體識(shí)別、圖像拼接、混音等。
如圖3所示,假設(shè)媒體芯片c1為第二媒體芯片,即媒體芯片c1與主控芯片可拆卸連接,當(dāng)媒體芯片c1損壞時(shí)便于僅更換該解碼芯片,以減少維護(hù)成本;或者根據(jù)需求選擇是否在媒體服務(wù)器中安裝媒體芯片c1,以提高媒體服務(wù)器安裝的靈活性,減少安裝成本。
媒體芯片c1連接至主控芯片時(shí),會(huì)向主控芯片發(fā)送注冊(cè)信息,告知主控芯片其所能夠執(zhí)行的媒體處理功能為h265解碼。
s202:主控芯片接收第二媒體芯片的注冊(cè)信息。
s203:主控芯片將第二媒體芯片的媒體處理功能存儲(chǔ)至媒體資源池。
沿用上例,主控芯片接收到媒體芯片c1的注冊(cè)信息后,將該媒體芯片c1與其所對(duì)應(yīng)的h265解碼這一媒體數(shù)據(jù)處理功能存儲(chǔ)至媒體資源池。
媒體芯片c2可以是與主控芯片固定連接的;或者也可以是與主控芯片可拆卸連接的,媒體芯片c2向主控芯片發(fā)送注冊(cè)信息,主控芯片將其與其所對(duì)應(yīng)的h264編碼這一媒體數(shù)據(jù)處理功能存儲(chǔ)至媒體資源池。
s204:主控芯片獲取媒體處理指令,媒體處理指令用于指示媒體服務(wù)器對(duì)待處理媒體數(shù)據(jù)進(jìn)行處理。該步驟請(qǐng)參閱實(shí)施例一中的步驟s101,在此不再贅述。
s205:主控芯片從預(yù)設(shè)媒體資源池中選取用于執(zhí)行媒體處理指令的一個(gè)或多個(gè)媒體芯片。媒體資源池為媒體服務(wù)器中媒體芯片的集合。該步驟請(qǐng)參閱實(shí)施例一中的步驟s102,在此不再贅述。
s206:主控芯片確定已選取的媒體芯片用于執(zhí)行媒體處理指令的順序。
s207:主控芯片與順序中的第一個(gè)媒體芯片建立通信連接。
s208:主控芯片向已選取的各媒體芯片發(fā)送各媒體芯片在順序中的下一媒體芯片。
s209:各媒體芯片與其下一媒體芯片之間建立通信連接。
沿用上例,上述步驟s206、s207、s208和s209即為:主控芯片確定順序?yàn)椋篽265解碼芯片c1在h264編碼芯片c2之前處理數(shù)據(jù)。主控芯片首先與h265解碼芯片c1建立通信連接,并向h265解碼芯片c1發(fā)送其下一個(gè)媒體芯片為h264編碼芯片c2,然后h265解碼芯片c1與h264編碼芯片c2建立通信連接。可選地,主控芯片還向該順序中的最后一個(gè)媒體芯片h264編碼芯片c2發(fā)送其下一個(gè)媒體芯片為主控芯片。由此為每個(gè)已選取的媒體芯片設(shè)定了下一媒體芯片,也即在已選取的媒體芯片之間形成了實(shí)施例一種所述的媒體處理流程。
作為本實(shí)施例的一種可選實(shí)施方式,每個(gè)媒體芯片包括至少兩個(gè)pcie通信接口,分別用于與該媒體芯片的上一媒體芯片、下一媒體芯片建立通信連接。pcie通信總線的數(shù)據(jù)傳輸速率高,能夠提高媒體服務(wù)器對(duì)于媒體數(shù)據(jù)的處理速度。
s210:主控芯片獲取待處理媒體數(shù)據(jù)。
s211:主控芯片將待處理媒體數(shù)據(jù)發(fā)送至已選取的媒體芯片。循環(huán)執(zhí)行步驟s212、s213和s214,直至待處理媒體數(shù)據(jù)被媒體處理流程中的最后一個(gè)媒體芯片處理完畢。
s212:當(dāng)前媒體芯片接收待處理媒體數(shù)據(jù)。
s213:當(dāng)前媒體芯片根據(jù)自身媒體處理功能處理待處理媒體數(shù)據(jù)。
s214:當(dāng)前媒體芯片將其處理后的媒體數(shù)據(jù)發(fā)送至媒體處理流程中的下一媒體芯片。
上述步驟s212、s213和s214中,媒體處理流程中當(dāng)前正在處理媒體數(shù)據(jù)的媒體芯片即為該媒體處理流程的當(dāng)前媒體芯片。上一媒體芯片發(fā)送至當(dāng)前媒體處理芯片的媒體數(shù)據(jù)即為當(dāng)前媒體處理芯片的待處理媒體數(shù)據(jù)。沿用上例,當(dāng)前媒體芯片為h265解碼芯片c1時(shí),主控芯片發(fā)送至h265解碼芯片c1的媒體數(shù)據(jù)即為h265解碼芯片c1的待處理媒體數(shù)據(jù),h265解碼芯片c1對(duì)待處理媒體數(shù)據(jù)解碼后,將數(shù)據(jù)發(fā)送至預(yù)先設(shè)定的下一媒體芯片——h264編碼芯片c2;然后,當(dāng)前媒體芯片為h264編碼芯片c2,h265解碼芯片c1發(fā)送至h264編碼芯片c2的媒體數(shù)據(jù)即為h264編碼芯片c2的待處理媒體數(shù)據(jù),h264編碼芯片c2對(duì)待處理媒體數(shù)據(jù)編碼后,將數(shù)據(jù)發(fā)送至預(yù)先設(shè)定的下一媒體芯片——主控芯片(假設(shè)其預(yù)設(shè)下一媒體芯片為主控芯片)。至此,已選取的媒體芯片按照媒體處理流程完成了依次處理待處理媒體數(shù)據(jù)的步驟。
s215:當(dāng)?shù)谌襟w芯片已向主控芯片發(fā)送其即將被拆除的通知或者第三媒體芯片運(yùn)行出現(xiàn)故障時(shí),主控芯片從媒體資源池中刪除第三媒體芯片。
該第三媒體芯片與上述第二媒體芯片可以為同一媒體芯片。沿用上例,若媒體芯片c1出現(xiàn)故障時(shí),其向主控芯片發(fā)送故障通知后,或者主控芯片實(shí)施監(jiān)測(cè)媒體資源池中各個(gè)媒體芯片是否與主控芯片正常連接,當(dāng)監(jiān)測(cè)到該媒體芯片c1出現(xiàn)故障時(shí),主控芯片從媒體資源池中刪除該媒體芯片c1。或者,人工拆除該媒體芯片c1之前,先通過該媒體芯片c1上所設(shè)置的按鍵等向主控芯片發(fā)送其即將被拆除的通知,主控芯片接收到該通知后,主控芯片從媒體資源池中刪除該媒體芯片c1。
s216:主控芯片從媒體資源池中選取第四媒體芯片。第四媒體芯片的處理類型與第三媒體芯片的媒體處理功能相同。例如,第四媒體芯片和第三媒體芯片都用于h265解碼,或者都用于h264編碼,以便第四媒體芯片能夠接替第三媒體芯片的工作。
沿用上例,若媒體芯片c1(即第三媒體芯片)被從媒體資源池中刪除前,正處于某一媒體處理流程,則在刪除后,還斷開媒體芯片c1與其上一媒體芯片、下一媒體芯片之間的通信連接。此外,主控芯片還從媒體資源池中選取與該媒體芯片c1的媒體處理功能相同的媒體芯片c3(即第四媒體芯片),以承擔(dān)媒體芯片c1所執(zhí)行的步驟。
s217:第四媒體芯片與第三媒體芯片在媒體處理流程中的上一芯片及下一芯片分別建立通信連接。也即第四媒體芯片替代原先的第三媒體芯片,重新建立起媒體處理流程,以保障在第三媒體芯片拆除的情況下媒體服務(wù)器還能夠正常執(zhí)行媒體處理功能。
實(shí)施例三
圖7示出了根據(jù)本發(fā)明實(shí)施例的一種媒體處理裝置的原理框圖。該媒體處理裝置適用于媒體服務(wù)器,該媒體服務(wù)器包括一個(gè)主控芯片和多個(gè)媒體芯片。該裝置包括第一獲取單元10、第一選取單元20、第一建立單元30、第二獲取單元40和第一發(fā)送單元50。
第一獲取單元10,用于獲取媒體處理指令,媒體處理指令用于指示媒體服務(wù)器對(duì)待處理媒體數(shù)據(jù)進(jìn)行處理。
第一選取單元20,用于從預(yù)設(shè)媒體資源池中選取用于執(zhí)行媒體處理指令的一個(gè)或多個(gè)媒體芯片。媒體資源池為媒體服務(wù)器中媒體芯片的集合,其中每個(gè)媒體芯片對(duì)應(yīng)至少一種媒體數(shù)據(jù)處理的功能。
第一建立單元30,用于根據(jù)媒體處理指令在已選取的媒體芯片之間建立媒體處理流程。媒體處理流程為主控芯片與已選取的媒體芯片間的順序組合。
第二獲取單元40,用于獲取待處理媒體數(shù)據(jù)。
第一發(fā)送單元50,用于將待處理媒體數(shù)據(jù)發(fā)送至已選取的媒體芯片,由已選取的媒體芯片按照媒體處理流程依次處理待處理媒體數(shù)據(jù)。
上述各個(gè)單元所執(zhí)行的步驟具體請(qǐng)參閱實(shí)施例一或?qū)嵤├?/p>
上述媒體處理裝置,通過媒體服務(wù)器中的主控芯片獲取媒體處理指令,并從預(yù)設(shè)媒體資源池中選取用于執(zhí)行該媒體處理指令的一個(gè)或多個(gè)媒體芯片,在已選取的媒體芯片之間建立媒體處理流程,主控芯片獲取待處理媒體數(shù)據(jù)后將其發(fā)送至已選取的媒體芯片,由已選取的媒體芯片按照媒體處理流程依次處理待處理媒體數(shù)據(jù)。通過該方法,多種具有不同媒體處理功能的媒體芯片(即異構(gòu)芯片)能夠集群設(shè)置于媒體服務(wù)器中,使得媒體服務(wù)器可以支持多種不同的媒體處理需求;當(dāng)待處理媒體數(shù)據(jù)的量較大時(shí),媒體服務(wù)器可以根據(jù)需要靈活選擇多個(gè)具有同一媒體處理功能的媒體芯片并行處理媒體數(shù)據(jù),從而提高媒體處理的速度。
實(shí)施例四
圖8示出了根據(jù)本發(fā)明實(shí)施例的另一媒體處理裝置的原理框圖??蛇x地,第一獲取單元10、第一選取單元20、第一建立單元30、第二獲取單元40和第一發(fā)送單元50設(shè)置于主控芯片。該媒體處理裝置與實(shí)施例三的區(qū)別還在于,第一建立單元30包括確定子單元31、第一建立子單元32、發(fā)送子單元33和第二建立子單元34。
確定子單元31,用于確定已選取的媒體芯片用于執(zhí)行媒體處理指令的順序。
第一建立子單元32,用于與順序中的第一個(gè)媒體芯片建立通信連接。
發(fā)送子單元33,用于向已選取的各媒體芯片發(fā)送各媒體芯片在順序中的下一媒體芯片。
第二建立子單元34,用于在媒體芯片與其下一媒體芯片之間建立通信連接。
可選地,上述確定子單元31、第一建立子單元32和發(fā)送子單元33設(shè)置于主控芯片。第二建立子單元34設(shè)置于已選取的各媒體芯片。
作為本實(shí)施例的一種可選實(shí)施方式,實(shí)施例二中所述的媒體處理流程中的每個(gè)當(dāng)前媒體芯片均包括接收單元、處理單元和發(fā)送單元,分別用于執(zhí)行實(shí)施例二中的步驟s212、s213和s214。具體地,該裝置包括第一接收單元60、處理單元70和第二發(fā)送單元80。
第一接收單元60,用于接收待處理媒體數(shù)據(jù)。
處理單元70,用于根據(jù)自身媒體處理功能處理待處理媒體數(shù)據(jù)。
第二發(fā)送單元80,用于將處理后的媒體數(shù)據(jù)發(fā)送至媒體處理流程中的下一媒體芯片。
可選地,上述第一接收單元60、處理單元70和第二發(fā)送單元80設(shè)置于當(dāng)前媒體芯片,媒體處理流程中當(dāng)前正在處理媒體數(shù)據(jù)的媒體芯片即為該媒體處理流程的當(dāng)前媒體芯片。
作為本實(shí)施例的一種可選實(shí)施方式,媒體芯片包括與主控芯片可拆卸連接的第二媒體芯片。該裝置還包括第三發(fā)送單元90、第二接收單元100和存儲(chǔ)單元110。
第三發(fā)送單元90,用于當(dāng)?shù)诙襟w芯片連接至主控芯片時(shí),向主控芯片發(fā)送注冊(cè)信息。注冊(cè)信息包括第二媒體芯片的媒體處理功能。第二接收單元100,用于接收第二媒體芯片的注冊(cè)信息,
存儲(chǔ)單元110,用于將第二媒體芯片的媒體處理功能存儲(chǔ)至媒體資源池。
可選地,上述第三發(fā)送單元90設(shè)置于第二媒體芯片,第二接收單元100和存儲(chǔ)單元110設(shè)置于主控芯片。
作為本實(shí)施例的一種可選實(shí)施方式,媒體芯片包括與主控芯片可拆卸連接的第三媒體芯片。該裝置還包括刪除單元120、第二選取單元130和第二建立單元140。
刪除單元120,用于當(dāng)?shù)谌襟w芯片已向主控芯片發(fā)送其即將被拆除的通知或者第三媒體芯片運(yùn)行出現(xiàn)故障時(shí),從媒體資源池中刪除第三媒體芯片。
第二選取單元130,用于從媒體資源池中選取第四媒體芯片。第四媒體芯片的處理類型與第三媒體芯片的媒體處理功能相同。
第二建立單元140,用于將第三媒體芯片在媒體處理流程中的上一芯片及下一芯片分別與第四媒體芯片建立通信連接。
可選地,上述刪除單元120和第二選取單元130設(shè)置于主控芯片。第二建立單元140請(qǐng)參閱第一建立單元30。
上述各個(gè)單元所執(zhí)行的步驟具體請(qǐng)參閱實(shí)施例一或?qū)嵤├?/p>
實(shí)施例五
本發(fā)明實(shí)施例提供了一種媒體服務(wù)器,如圖1所示,包括一個(gè)主控芯片m和多個(gè)媒體芯片c1、c2、c3……。其中,主控芯片用于獲取媒體處理指令。根據(jù)從預(yù)設(shè)媒體資源池中選取用于執(zhí)行媒體處理指令的一個(gè)或多個(gè)媒體芯片,并在已選取的媒體芯片之間建立媒體處理流程。媒體資源池為媒體服務(wù)器中的媒體芯片的集合,其中每個(gè)媒體芯片對(duì)應(yīng)至少一種媒體數(shù)據(jù)處理的功能。已選取的媒體芯片按照媒體處理流程依次處理待處理媒體數(shù)據(jù)。具體請(qǐng)參與實(shí)施例一或?qū)嵤├?/p>
作為本實(shí)施例的一種可選實(shí)施方式,媒體服務(wù)器中還包括備控芯片s,該被控芯片實(shí)施備份主控芯片中關(guān)于各個(gè)媒體芯片的媒體處理能力使用情況及媒體處理流程的記錄。當(dāng)主控芯片出現(xiàn)故障時(shí),被控芯片接替執(zhí)行主控芯片的步驟,從而保障在主控芯片出現(xiàn)故障時(shí),媒體服務(wù)器依然能夠正常執(zhí)行媒體處理功能。
需要說明的是,對(duì)于前述的各方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本發(fā)明,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊并不一定是本發(fā)明所必須的。
在上述實(shí)施例中,對(duì)各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒有詳述的部分,可以參見其他實(shí)施例的相關(guān)描述。
在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的裝置,可通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可為個(gè)人計(jì)算機(jī)、移動(dòng)終端、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:u盤、只讀存儲(chǔ)器(rom,read-onlymemory)、隨機(jī)存取存儲(chǔ)器(ram,randomaccessmemory)、移動(dòng)硬盤、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
雖然結(jié)合附圖描述了本發(fā)明的實(shí)施例,但是本領(lǐng)域技術(shù)人員可以在不脫離本發(fā)明的精神和范圍的情況下作出各種修改和變型,這樣的修改和變型均落入由所附權(quán)利要求所限定的范圍之內(nèi)。