專利名稱:用于過濾媒體分組的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總地涉及對視頻會議數(shù)據(jù)的處理。更具體的說,本發(fā)明涉及從視頻會議數(shù)據(jù)流中過濾媒體分組的方法,以及諸如多點控制單元之類的執(zhí)行該方法的視頻會議設(shè)備。
背景技術(shù):
視頻會議和相關(guān)硬件大體落入兩個陣營。在第一陣營中,“會議”在僅兩個參與者之間發(fā)生,并且參與者通過某種形式的數(shù)據(jù)網(wǎng)絡(luò)而彼此直接連接。在該形式的網(wǎng)絡(luò)中,僅涉及兩個端點,并且僅在這兩個端點站點之一處存在多個參與者的情況下發(fā)生真實會議。這類會議的示例在低技術(shù)端是利用諸如NetMeeting⑧或Skype 之類的軟件的PC使能的端點互連,并且在更高端是利用例如經(jīng)由ISDN或IP (因特網(wǎng)協(xié)議)鏈路而互連的專用端點硬件的設(shè)備。在第二陣營中,視頻會議允許多于兩個端點彼此交互。這是通過提供至少一個集 中式協(xié)調(diào)點即所謂的“多點控制單元(MCU) ”來實現(xiàn)的,MCU接收來自端點的視頻和音頻流,以期望方式使其組合,并且將組合后的復(fù)合視頻/音頻流重新發(fā)送到參與者。發(fā)送到端點的會議視圖對于每個端點經(jīng)常是相同的。構(gòu)成可隨時間過去而改變但是對于所有參與者是相同的。僅提供單個構(gòu)成是重要的問題,這是因為每個參與者因而必須接收如下會議流,該會議流被剪裁以使得其對會議中最低能力的端點而言是可以接受的。因此在該情形下許多端點未被最大限度使用并且因而可經(jīng)歷降級的圖像和音頻。最近,現(xiàn)代MCU已被設(shè)計為允許為每個參與者創(chuàng)建唯一的視圖。這允許每個端點的能力被充分利用并且還允許針對不同參與者的不同構(gòu)成,結(jié)果,例如會議中的具體參與者的重點對于不同用戶可以是不同的。然而,視頻數(shù)據(jù)的實時處理是高度處理器密集型任務(wù)。其還涉及大量數(shù)據(jù)的移動。一旦為了執(zhí)行高質(zhì)量處理而解壓縮了數(shù)據(jù)尤其如此。因此,處理能力和帶寬約束在允許產(chǎn)生會議的多個視圖的高質(zhì)量視頻會議MCU的創(chuàng)建中是重要瓶頸。圖I示出了典型的現(xiàn)有技術(shù)MCU架構(gòu)。該示例性架構(gòu)具有諸如德州儀器TMS系列之類的經(jīng)由時分復(fù)用(TDM)總線4互連的多個數(shù)字信號處理器2。控制器和網(wǎng)絡(luò)接口 6也被連接到TDM總線。每個DSP 2被分配TDM總線上的一個或多個時間槽。將會認(rèn)識到,TDM總線是顯著瓶頸。在可以通過添加更多強大DSP或附加DSP來實現(xiàn)MCU的增加處理能力的同時,在DSP之間以及在網(wǎng)絡(luò)8與DSP之間流動的所有數(shù)據(jù)必須適合TDM總線4上的有限數(shù)目的時間槽。因此,該形式的架構(gòu)一般可擴展性極差,并且無法滿足依照參與者的構(gòu)成的處理要求。圖2示出了替代性的現(xiàn)有技術(shù)配置。在該示例中,多個DSP 2-1被各自連接到外圍組件互連(PCI)總線10-1。類似地,多個DSP 2-2、2-3和2-4被連接到相應(yīng)的PCI總線10-2、10-3和10-4。PCI總線10-2、10-3和10-4又經(jīng)由緩沖器12連接到另一 PCI總線14。該架構(gòu)相對于圖I所示架構(gòu)的顯著優(yōu)點在于組2-1中的DSP可相互通信,唯一瓶頸是PCI總線10-1。對組2-2、2-3和2-4也是如此。然而,如果組2_1中的DSP希望與例如組2_3中的DSP通信,那么PCI總線14必須被利用。因此,雖然該架構(gòu)在擴展性以及有效利用多個DSP的能力方面是對圖I中示出的架構(gòu)的顯著改進,但是PCI總線14仍然必須被用于DSP內(nèi)通信的某些組合,因而可變成MCU架構(gòu)的性能限制因素。已經(jīng)做出從DSP卸載處理的嘗試。例如,IDT以零件編號IDT70K2000制造與DSP一起使用的“預(yù)處理交換機(PPS) ”。PPS在遞送到諸如DSP或FPGA之類的處理器之前執(zhí)行預(yù)定功能。處理是基于分組所被發(fā)送到的交換機上的地址范圍來確定的。芯片例如是針對3G移動電話中的用途來設(shè)計的,并且例如被設(shè)計用于從DSP卸載通常將被DSP低效執(zhí)行的
基本任務(wù)。提供高度可擴展并且非常強大的處理平臺的第三MCU架構(gòu)在US20080158338和US20090213126中被公開。圖3示出了母板20,該母板承載了現(xiàn)場可編程門陣列(FPGA) 24以及多個子板22。FPGA 24在控制器(未示出)、網(wǎng)絡(luò)接口(未示出)以及多個子板22之 間路由數(shù)據(jù)。使母板20與子板的第一層相連的鏈路26可具有例如3Gb/秒或者更高的帶寬。每個子板具有多個處理器,即經(jīng)由子板交換機互連的數(shù)字信號處理器(DSP)。每個子板交換機被配置為在多個DSP之間以及在母板、子板和其他子板之間交換數(shù)據(jù)。在一個示例中,并且還參考圖4,每個子板20具有各自具有關(guān)聯(lián)存儲器30的四個DSP 28。每個子板還具有包括交換機34的FPGA 32。FPGA 32還包括處理器36,以及兩個高帶寬鏈路38。雖然該架構(gòu)是對替代現(xiàn)有技術(shù)的極大改進,這是因為板到板通信被極大減少,但是板到板通信仍然依賴于處理器過濾分組和利用滿網(wǎng)絡(luò)堆棧向DSP重新分配媒體分組。這對處理器造成不必要的負(fù)擔(dān),從而使系統(tǒng)減慢。盡管聯(lián)系圖3和4的架構(gòu)具體提到,但是這對于在圖2中示出的基于PCI總線的MCU架構(gòu)甚至是更大的問題。
發(fā)明內(nèi)容
本領(lǐng)域中存在對用于過濾來自視頻會議媒體流的媒體分組而不必借助于滿網(wǎng)絡(luò)堆棧的方法和設(shè)備的需要。本發(fā)明的方法和設(shè)備允許在小型軟核處理器上實現(xiàn)對來自視頻會議媒體流的媒體分組的過濾,以便對千兆位以太網(wǎng)線路速度的媒體分組進行驗證、分類和重定向。本發(fā)明由所附權(quán)利要求書指示。根據(jù)本發(fā)明的第一方面,包括一種用于在視頻會議設(shè)備中過濾來自視頻會議數(shù)據(jù)流的媒體分組的方法,該視頻會議設(shè)備包括媒體處理網(wǎng)絡(luò)、通用網(wǎng)絡(luò)、軟核處理器、查找表存儲器(LUT)以及滿網(wǎng)絡(luò)堆棧。所述軟核處理器處接收視頻會議媒體流的分組,并且首先確定該分組的長度是否長到足以包含媒體,然后所述軟核處理器確定其是否支持該分組的協(xié)議。在初始驗證步驟之后,所述軟核處理器找到該分組的媒體流ID,并且利用該媒體流ID作為輸入值來向所述LUT發(fā)送請求,同時并行確定該分組是否為有效媒體分組。當(dāng)所述軟核處理器從所述LUT接收到所述媒體處理網(wǎng)絡(luò)中的目的地地址,并且該分組被確定為有效媒體分組時,所述軟核處理器利用從所述LUT接收到的所述目的地地址來修改該分組的頭部;并且將該分組路由到修改后的目的地地址。根據(jù)本發(fā)明的第二方面,當(dāng)確定分組是有效媒體分組同時未從所述LUT接收到所述媒體處理網(wǎng)絡(luò)中的目的地地址時,將該分組路由到所述滿網(wǎng)絡(luò)堆棧,其中該分組在媒體網(wǎng)絡(luò)中的目的地地址被解析,并且該分組被路由到所述媒體網(wǎng)絡(luò)中的目的地地址。隨后,使用該分組的對應(yīng)媒體流ID作為索引值,利用媒體網(wǎng)絡(luò)中的目的地地址來更新所述LUT。根據(jù)本發(fā)明的第三方面,未被確定為有效媒體分組、可能的媒體分組并且/或者在未被所述軟核處理器支持的協(xié)議中的分組被直接路由到所述滿網(wǎng)絡(luò)堆棧。在結(jié)合附圖回顧對本發(fā)明具體實施例的以下描述之后,本發(fā)明的其他方面和特征對本領(lǐng)域普通技術(shù)人員將變得顯而易見。
圖I是現(xiàn)有技術(shù)MCU架構(gòu)的示意性框圖;圖2是替代現(xiàn)有技術(shù)MCU架構(gòu)的示意性框圖;圖3是不出另一替代現(xiàn)有技術(shù)MCU架構(gòu)的不意性框圖; 圖4是根據(jù)圖3的現(xiàn)有技術(shù)MCU架構(gòu)的現(xiàn)有技術(shù)子板的不意性框圖;圖5是根據(jù)本發(fā)明一個示例性實施例的媒體分組過濾單元的示意性框圖;圖6是根據(jù)本發(fā)明的用于媒體分組過濾的方法的流程圖;并且圖7是根據(jù)本發(fā)明的用于媒體分組過濾的方法的另一示例性流程圖。
具體實施例方式給出以下描述是為了使得本領(lǐng)域的普通技術(shù)人員能夠做出和使用本發(fā)明的各種方面和示例。對具體設(shè)備、技術(shù)和應(yīng)用的描述僅是作為示例提供的。對在此描述的示例的各種修改對本領(lǐng)域的普通技術(shù)人員而言將是顯而易見的,并且在此定義的一般性原理可被應(yīng)用到其他示例和應(yīng)用,而不脫離本發(fā)明的精神和范圍。因此,本發(fā)明并不欲限于所示出并在此描述的示例,而是將符合與權(quán)利要求一致的范圍。參考圖5,媒體分組過濾單元50包括三FIFO 51、軟核處理器52以及查找表LUT59。三FIFO 51是具有三個端口 53、54和55的同步或異步的FIFO(先入先出)。第一端口是通常與數(shù)據(jù)流送網(wǎng)絡(luò)相連的數(shù)據(jù)輸入端口 53,該端口被配置為根據(jù)數(shù)據(jù)流送網(wǎng)絡(luò)的網(wǎng)絡(luò)協(xié)議接收數(shù)據(jù)以及相應(yīng)的控制信令。第三端口是與媒體處理網(wǎng)絡(luò)相連的數(shù)據(jù)輸出端口55。媒體處理網(wǎng)絡(luò)通常由大量DSP、交換機等組成,如上面參考圖1、2和3描述的。媒體處理網(wǎng)絡(luò)還被連接到主MCU中的通用網(wǎng)絡(luò),該通用網(wǎng)絡(luò)是由滿網(wǎng)絡(luò)堆?;蛘咧骶W(wǎng)絡(luò)堆棧58控制的。主網(wǎng)絡(luò)堆棧還與LUT 59操作地相連。數(shù)據(jù)輸出端口 55被配置為根據(jù)媒體處理網(wǎng)絡(luò)的網(wǎng)絡(luò)協(xié)議將媒體數(shù)據(jù)流送到媒體處理網(wǎng)絡(luò)中。或者數(shù)據(jù)輸出端口 55被配置為隨機訪問讀取端口。第二端口是與軟核處理器52相連的軟核處理器接口端口 54。接口端口 54被配置為向軟核處理器52發(fā)送和從軟核處理器52接收數(shù)據(jù)。在本發(fā)明的示例性實施例中,接口端口 54被配置為讀取/寫入隨機訪問端口。另外,三FIFO還包括在三個端口之間的傳遞的至少三個,優(yōu)選至少四個,數(shù)據(jù)分組緩沖器56,從而從端口 53循環(huán)到端口 54、從端口54循環(huán)到端口 55,并且最終從端口 55返回端口 53。數(shù)據(jù)分組緩沖器是本領(lǐng)域技術(shù)人員已知的傳統(tǒng)數(shù)據(jù)分組緩沖器。在示例性的主網(wǎng)絡(luò)堆棧中,應(yīng)用層使用RTP,傳輸層使用TCP/UDP,因特網(wǎng)層使用IP (IPv4),并且鏈路層使用以太網(wǎng)。因特網(wǎng)層例如可以是IPv4或IPv6。主網(wǎng)絡(luò)堆棧必須包括對UDP和TCP兩者的處理。TCP被多數(shù)控制協(xié)議使用。主堆棧上還需要RTP堆棧,以便處理未被軟核處理器和LUT識別出的分組,使得它們可被轉(zhuǎn)發(fā)到正確的目的地。期望對正確的以太網(wǎng)和因特網(wǎng)操作所必需的控制元件的處理是由主網(wǎng)絡(luò)堆棧而非軟核處理器和LUT處理的。這將對ARP、ICMP和以太網(wǎng)PHY和MAC的處理包括在相關(guān)設(shè)備驅(qū)動程序中。事實是存在對設(shè)備驅(qū)動程序和主機上的網(wǎng)絡(luò)堆棧透明的軟核處理器和LUT-設(shè)備驅(qū)動程序和IP網(wǎng)絡(luò)堆棧的正確操作不需要(未在主機上見到的)被過濾的分組。本領(lǐng)域技術(shù)人員所已知的軟核處理器52是完全利用邏輯綜合(logicsynthesis)實現(xiàn)的微處理器核。其可以經(jīng)由包含可編程邏輯(例如,F(xiàn)PGA、CPLD)的不同半導(dǎo)體器件來實現(xiàn)。本發(fā)明的軟核處理器可以是8位、16位或者32位的處理器。軟核處理器52還與LUT 59 (查找表存儲器)進行通信。LUT 59利用快速存儲器來保存當(dāng)在下面描述LUT的功能時更詳細(xì)描述的信息。在一個不例性實施例中,LUT被實現(xiàn)在與軟核處理器52相同的芯片上,快速存儲器優(yōu)選被實現(xiàn)為片上SRAM(內(nèi)部FPGA,例如“塊RAM”)。在另一示例性實施例中,LUT位于軟核處理器52外部,在該情況下快速存儲器是諸如DDR2SRAM之類的外部存儲器。 雖然在上面被描述為分立器件,但是在本發(fā)明的優(yōu)選實施例中,三FIFO 51、軟核處理器52和LUT 59被實現(xiàn)在單個FPGA中。再次參考圖5,三FIFO 51在數(shù)據(jù)輸入端口 53上接收來自數(shù)據(jù)流送網(wǎng)絡(luò)的數(shù)據(jù)。取決于流送網(wǎng)絡(luò)協(xié)議,數(shù)據(jù)輸入端口 53還接收控制信號,例如wr(寫)和eop (分組結(jié)束),如本領(lǐng)域技術(shù)人員可以容易理解的。在該示例中,數(shù)據(jù)輸入端口 53首先寫入緩沖器56a。當(dāng)緩沖器56a是滿的時,某一時間限制已經(jīng)過去,或者由于其他已知觸發(fā),緩沖器被傳遞到軟核處理器接口端口 54。緩沖器56c同時被從輸出端口 55傳遞到輸入端口 53,并且緩沖器56b被從接口端口 54傳遞到輸出端口 55。在接口端口 54處,來自緩沖器(在該示例中為56a)的數(shù)據(jù)被發(fā)送到軟核處理器52。軟核處理器52然后接收分組并對接收到的分組執(zhí)行初始驗證,然后使用下面參考圖6描述的新穎和創(chuàng)造性的方法與繼續(xù)進行對接收到的分組的驗證并行地進行向LUT 59的投機請求(speculative request)。圖6示出了當(dāng)前發(fā)明的方法,其中該方法在軟核處理器接收分組時開始60。在初始驗證步驟61中,分組的長度被檢查以查找該分組是否長到足以包含媒體,例如包含媒體的RTP (實時協(xié)議)分組。然后,如果發(fā)現(xiàn)分組是包含媒體的可能的候選者,那么讀取分組的頭部以確定軟核處理器是否支持分組的協(xié)議?;蛘撸谝蕴W(wǎng)實施例中,以太網(wǎng)目的地驗證和以太網(wǎng)CRC(循環(huán)冗余校驗)驗證也將是初始驗證步驟的一部分。在這些初始驗證中的任一個失敗的情況下,分組被返回到接口端口 54,并且對下一分組的處理開始。被返回到接口端口的分組最終被路由到主滿網(wǎng)絡(luò)堆棧65。以下包括各種頭部的長度示例。以太網(wǎng)頭部=14個八位字節(jié)(注最小以太網(wǎng)有效載荷是46個八位字節(jié))IPv4頭部=20個八位字節(jié)UDP頭部=8個八位字節(jié)RTP 頭部=12這暗示,不包括以太網(wǎng)幀在內(nèi),不包含有效載荷的數(shù)據(jù)報是40個八位字節(jié)。我們假定24個八位字節(jié)足以包含有用數(shù)據(jù),故長度小于64個八位字節(jié)的數(shù)據(jù)報被發(fā)送到主網(wǎng)絡(luò)堆棧。長度上具有64個或更多個八位字節(jié)的數(shù)據(jù)報被認(rèn)為長到足以包含媒體。64個八位字節(jié)僅僅是一個示例,并且其他值可被使用。在某些情形下,使用40個八位字節(jié)是更合理的,因為丟棄無效數(shù)據(jù)報可以是接收數(shù)據(jù)處理節(jié)點(DSP)中的RDP堆棧的責(zé)任。軟核處理器52和LUT 59然后僅需防止它們自己嘗試處理以太網(wǎng)幀中的不存在數(shù)據(jù),從而防止引起無效內(nèi)部狀態(tài)。在初始驗證步驟之后,下一步驟62是尋找分組的流ID。通過讀取 分組頭部長度,并且取決于分組的協(xié)議而在分組中距離分組頭部一偏移處讀取字段,例如在UDP的情況下是目的地m)P端口號碼,來找到流ID。雖然在此參考UDP來描述,但是因為分組中的流ID根據(jù)分組的協(xié)議總被布置在分組中距離頭部恒定偏移處,因此該尋找流ID的方法適用于若干其他協(xié)議,如知曉本公開的本領(lǐng)域技術(shù)人員容易理解的。對本發(fā)明有用的媒體流ID包括,但不限于,UDP數(shù)據(jù)報的目的地端口、RDP SCRID、RTP SSRC、H460/18復(fù)用ID等。然后,因為對LUT或LUT查找的請求要花時間,為了使得本發(fā)明以千兆位以太網(wǎng)線路速度工作,包含流ID的投機請求62被發(fā)送到LUT59,同時對分組的進一步驗證63并行地繼續(xù)。本公開意義下的投機假定與被發(fā)送到LUT的流ID相對應(yīng)的分組是有效的未損壞的媒體分組,作為流ID所標(biāo)識的假定媒體流的一部分。在步驟62,使用唯一媒體流ID作為輸入值或索引值,請求被發(fā)送到LUT 59。如果媒體流ID在LUT中已經(jīng)存在,那么軟核處理器52從LUT接收屬于該流ID的信息或者元數(shù)據(jù)。從LUT接收到的信息是流統(tǒng)計和/或媒體處理網(wǎng)絡(luò)中的正確目的地地址。該地址可以是IPv4目的地地址、接口索引(MAC地址)、源/目的地(src/dst)端口或者根據(jù)網(wǎng)絡(luò)協(xié)議的任何其他網(wǎng)絡(luò)地址。在媒體流ID未被在LUT中列出的情況下,軟核處理器接收表明對于該媒體流ID不存在信息的消息,或者作為替代接收空信息消息。當(dāng)LUT查找發(fā)生時,對與媒體流ID相對應(yīng)的分組的進一步驗證在步驟63中繼續(xù)。通常包括進一步的分組格式驗證、頭部格式驗證、分組有效載荷類型等在內(nèi)的進一步的分組驗證確定分組是否為有效的媒體分組。在這些進一步驗證中的任一個失敗的情況下,分組被返回到接口端口 54,由LUT得到的任何數(shù)據(jù)被丟棄,并且對下一分組的處理開始。被返回到接口端口的分組最終被路由到主滿網(wǎng)絡(luò)堆棧65。在損壞分組的情況下,LUT中的查找將基于被解釋為媒體流ID的偽數(shù)據(jù)。如果針對該媒體流ID存在條目,那么LUT將返回有效但是不相關(guān)的數(shù)據(jù),該數(shù)據(jù)然后當(dāng)分組被進一步分組驗證63認(rèn)為是無效時被丟棄。在進一步分組驗證63確定分組是有效媒體分組,并且LUT返回與該分組相對應(yīng)的媒體流ID的元數(shù)據(jù)的情況下;然后在步驟66中,軟核處理器基于從LUT 59接收到的信息利用媒體處理網(wǎng)絡(luò)中的正確目的地地址來改寫所接收到的媒體分組的分組頭部,并且將修改后的分組返回到接口端口 54處的緩沖器。屬于具有未被LUT 59識別出的媒體流ID的媒體流的分組和/或未被確定為有效媒體分組的分組被未經(jīng)修改地返回到接口端口 54處的緩沖器。當(dāng)接口端口 54處的緩沖器(在該示例中為56a)是滿的時,某一時間限制已經(jīng)過去,或者由于其他已知的觸發(fā),緩沖器被傳遞給數(shù)據(jù)輸出端口 55。或者,利用主網(wǎng)絡(luò)堆棧58的地址來修改頭部。數(shù)據(jù)輸出端口 55從緩沖器(在該示例中為56a)中讀出數(shù)據(jù),并且具有修改后的分組頭部的媒體分組被直接向著媒體處理網(wǎng)絡(luò)中的各個正確目的地地址發(fā)送到該網(wǎng)絡(luò)中。所有其他分組被路由到主網(wǎng)絡(luò)堆棧。主網(wǎng)絡(luò)堆棧然后利用新媒體分組的媒體流ID以及其在媒體處理網(wǎng)絡(luò)中的各個目的地地址來更新LUT 59。取決于媒體處理網(wǎng)絡(luò)協(xié)議,數(shù)據(jù)輸出端口 55還接收控制信號,例如來自媒體處理網(wǎng)絡(luò)的rd (讀取)和done (完成),如本領(lǐng)域技術(shù)人員可以容易理解的。圖7示出了根據(jù)本發(fā)明的一個示例性實施例,其中媒體分組是通過IP/UDP傳輸?shù)腞TP分組。在步驟71中,分組長度被檢查以確定分組長度是否足以包含RTP媒體分組,在“是”的情況下方法前進到步驟72。如果未發(fā)現(xiàn)分組有可能包含RTP分組,那么分組被路由到主網(wǎng)絡(luò)堆棧,步驟81,并且對下一分組的處理開始。在下一步驟72中,分組的頭部被讀取以確定分組是否為IP/UDP分組。再次,如果分組不是IP/UDP分組,那么分組被路由到主網(wǎng)絡(luò)堆棧,步驟81,并且對下一分組的處理開 始。在步驟73中,通過讀取IP頭部長度以及IP頭部長度到目的地UDP端口號碼的偏移來找到分組的流ID。然后使用目的地UDP端口號碼作為輸入值或索引值來將請求74發(fā)送到LUT 59。在目的地UDP端口號碼未被在LUT中列出的情況下,LUT發(fā)送表明針對該UDP端口號碼不存在信息的消息,或者作為替代LUT發(fā)送空信息消息,并且分組被路由到主網(wǎng)絡(luò)堆棧,步驟81,并且對下一分組的處理開始。如果UDP端口號碼在LUT中已經(jīng)存在,那么LUT返回媒體處理網(wǎng)絡(luò)中的正確目的地地址,在該情況下為IPv4目的地地址。如上面參考圖6描述的,當(dāng)LUT查找發(fā)生時,分組在步驟75-79中被進一步驗證,并且如果這些步驟中的任一個再次失敗,那么分組被路由到主網(wǎng)絡(luò)堆棧,步驟81,并且對下一分組的處理開始。步驟75-79中的測試是本領(lǐng)域技術(shù)人員所已知的常見分組驗證測試,因此將不被詳細(xì)描述。步驟75驗證IP分組校驗和。步驟76驗證IP頭部格式,例如檢查IP版本號是
4。步驟77驗證UDP分組格式。步驟78驗證RTP分組格式;并且最終步驟79檢查RTP標(biāo)志和有效載荷類型是否表明分組包含媒體。在步驟80,被識別為RTP媒體分組并且通過具有正確版本協(xié)議的IP/UDP發(fā)送的分組的頭部被利用從LUT接收到的元數(shù)據(jù)修改并且被路由到媒體處理網(wǎng)絡(luò)中的正確目的地地址。在此公開的用于過濾來自視頻會議數(shù)據(jù)流的媒體分組的方法以及對應(yīng)的視頻會議設(shè)備可被實現(xiàn)在多點控制單元(MCU)中。當(dāng)然,其他特征和優(yōu)點對本領(lǐng)域技術(shù)人員將會顯而易見。前述系統(tǒng)概覽表示某些示例性實現(xiàn)方式,但是其他實現(xiàn)方式將對本領(lǐng)域技術(shù)人員顯而易見,并且所有這種替代方式被認(rèn)為是等同的并且在僅受權(quán)利要求限制的本發(fā)明的精神和范圍內(nèi)。另外,雖然被單獨列出,但是多個裝置、元件或方法步驟可由例如單個單元或處理器實現(xiàn)。此外,雖然單獨特征可被包括在不同的權(quán)利要求中,但是這些可能能被有利地組合,并且包括在不同的權(quán)利要求中并非暗示特征的組合不是可行和/或有利的。另外,在一種類別的權(quán)利要求中包含一特征并非暗示對該類別的限制,而是該特征視情況可同樣適用于其他權(quán)利要求類別。
權(quán)利要求
1.一種用于在視頻會議設(shè)備中過濾來自視頻會議數(shù)據(jù)流的媒體分組的方法,所述視頻會議設(shè)備包括媒體處理網(wǎng)絡(luò)、通用網(wǎng)絡(luò)、軟核處理器、查找表存儲器(LUT)以及滿網(wǎng)絡(luò)堆棧,該方法包括以下步驟 在所述軟核處理器處接收視頻會議媒體流的分組, 確定該分組的長度是否長到足以包含媒體, 確定該分組的協(xié)議是否被所述軟核處理器支持, 找到該分組的媒體流ID, 在并行確定該分組是否為有效媒體分組的同時,利用所述媒體流ID作為輸入值來向所述LUT發(fā)送請求;以及 當(dāng)從所述LUT接收到所述媒體處理網(wǎng)絡(luò)中的目的地地址并且確定該分組是有效媒體分組時, 利用從所述LUT接收到的所述目的地地址來修改該分組的頭部;并且 將該分組路由到修改后的目的地地址。
2.如權(quán)利要求I所述的方法,其中所述方法還包括以下步驟 當(dāng)確定該分組是有效媒體分組并且未從所述LUT接收到所述媒體處理網(wǎng)絡(luò)中的目的地地址時, 將該分組路由到所述滿網(wǎng)絡(luò)堆棧, 解析該分組在媒體網(wǎng)絡(luò)中的目的地地址, 將該分組路由到所述媒體網(wǎng)絡(luò)中的目的地地址;并且 使用該分組的對應(yīng)媒體流ID作為索引值,利用所述媒體網(wǎng)絡(luò)中的所述目的地地址來更新所述LUT。
3.如權(quán)利要求I所述的方法,其中,分組的媒體流ID是通過在該分組中距離分組頭部由該分組的協(xié)議所定義的偏移處讀取字段而找到的。
4.如權(quán)利要求I所述的方法,其中,在所述分組未長到足以包含媒體數(shù)據(jù)的情況下,將該分組路由到所述滿網(wǎng)絡(luò)堆棧。
5.如權(quán)利要求I所述的方法,其中,在所述分組的協(xié)議不被所述軟核處理器支持的情況下,將所述分組路由到所述滿網(wǎng)絡(luò)堆棧。
6.如權(quán)利要求I所述的方法,其中,在所述分組被確定為不是有效媒體分組的情況下,將所述分組路由到所述滿網(wǎng)絡(luò)堆棧。
7.一種適用于執(zhí)行如前述權(quán)利要求中的一個所述的方法的視頻會議設(shè)備,該視頻會議設(shè)備包括三 FIFO, 軟核處理器,以及 查找表存儲器(LUT)。
8.如權(quán)利要求7所述的視頻會議設(shè)備,其中,所述LUT和所述軟核處理器被實現(xiàn)在一個半導(dǎo)體器件上。
9.如權(quán)利要求7所述的視頻會議設(shè)備,其中,所述三FIFO、所述LUT和所述軟核處理器被實現(xiàn)在一個半導(dǎo)體器件上。
10.如權(quán)利要求8或9所述的視頻會議設(shè)備,其中,所述半導(dǎo)體器件是現(xiàn)場可編程門陣列(FPGA)。
11.如權(quán)利要求7所述的視頻會議設(shè)備,其中,所述三FIFO包括至少三個數(shù)據(jù)分組緩沖器。
12.如權(quán)利要求11所述的視頻會議設(shè)備,其中,所述三FIFO包括四個數(shù)據(jù)分組緩沖器。
13.如權(quán)利要求7-12中的一個所述的視頻會議設(shè)備被實現(xiàn)在多點控制單元(MCU)中。
全文摘要
一種視頻會議設(shè)備中的用于過濾來自視頻會議數(shù)據(jù)流的媒體分組的方法。所述視頻會議設(shè)備包括媒體處理網(wǎng)絡(luò)、通用網(wǎng)絡(luò)、軟核處理器、查找表存儲器(LUT)以及滿網(wǎng)絡(luò)堆棧。該方法包括在所述軟核處理器處接收視頻會議媒體流的分組,確定該分組的長度是否長到足以包含媒體,確定該分組的協(xié)議是否被所述軟核處理器支持,找到該分組的媒體流ID,利用所述媒體流ID作為輸入值來向所述LUT發(fā)送請求同時并行確定該分組是否為有效媒體分組;以及當(dāng)從所述LUT接收到所述媒體處理網(wǎng)絡(luò)中的目的地地址并且確定該分組是有效媒體分組時,利用從所述LUT接收到的所述目的地地址來修改該分組的頭部;并且將該分組路由到修改后的目的地地址。一種視頻會議設(shè)備適用于執(zhí)行該方法。
文檔編號G06F15/163GK102823201SQ201080058459
公開日2012年12月12日 申請日期2010年12月20日 優(yōu)先權(quán)日2009年12月21日
發(fā)明者西蒙·羅賓斯 申請人:思科系統(tǒng)國際公司