專利名稱:識別和處理數(shù)據(jù)流內(nèi)數(shù)據(jù)的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本系統(tǒng)涉及編碼視頻數(shù)據(jù),尤其是涉及提供一種識別和處理數(shù)據(jù)流內(nèi)數(shù)據(jù)的裝置。
背景技術(shù):
多媒體數(shù)據(jù)流是編碼視頻數(shù)據(jù)流,其能夠被傳輸而被播放器應(yīng)用程序接收,一般為媒體播放器應(yīng)用程序。在傳輸多媒體數(shù)據(jù)流以前,數(shù)據(jù)流分割成多個數(shù)據(jù)包,其包含表示編碼視頻數(shù)據(jù)的幀的一部分的數(shù)據(jù)。流本身和流的每個相應(yīng)的數(shù)據(jù)包都包括首部,其為接收系統(tǒng)提供關(guān)于接收的流和/或數(shù)據(jù)包的代表流語法(syntax)的信息?,F(xiàn)有系統(tǒng)以至少文本和二進制格式中的一種來編碼該信息。然而,這些格式有問題,因為其不容易升級且要求播放器以指令系統(tǒng)硬編碼,其能以編碼格式為流解碼。因此,減小了流的靈活性,因為必須更新用于解碼數(shù)據(jù)流的流代理服務(wù)器(proxy)以運用任何更改的流語法,否則流代理服務(wù)器將遭受失敗。
標記(markup)語言是廣泛使用的語言,其提供了一種描述與數(shù)據(jù)單元關(guān)聯(lián)的邏輯結(jié)構(gòu)或語義學(xué)(semantics)的方式,并給系統(tǒng)提供了關(guān)于如何進行至少一個運用、處理和顯示接收的數(shù)據(jù)流的指令。標記語言的例子如超文本標記語言(HTML)、可擴展標記語言(XML)和標準通用標記語言(SGML)。標記語言提供了注解數(shù)據(jù)或數(shù)字數(shù)據(jù)集合的機制,以便說明文檔或數(shù)據(jù)文件的結(jié)構(gòu)及其數(shù)據(jù)單元的內(nèi)容。這些語言可以很容易擴展。然而,其通常與數(shù)據(jù)流關(guān)聯(lián)而且不隨之集成形成。
根據(jù)本發(fā)明原理的系統(tǒng)處理這些缺點和有關(guān)的問題。
發(fā)明內(nèi)容
編碼視頻數(shù)據(jù)流的系統(tǒng)和方法。測定器確定與視頻數(shù)據(jù)流關(guān)聯(lián)的屬性。編碼器接收來自第一測定器的屬性并編碼識別流語法的流首部,流首部用標記語言編碼。多路復(fù)用器使編碼流首部和視頻數(shù)據(jù)流相結(jié)合。
用于解碼編碼的視頻數(shù)據(jù)流的系統(tǒng)。解析器分析所接收的數(shù)據(jù)流和流首部以確定用于識別所接收的數(shù)據(jù)流和數(shù)據(jù)流的幀的屬性的標記標簽的存在。解碼器解碼所接收的數(shù)據(jù)流和標記標簽。顯示發(fā)生器響應(yīng)于所接收的數(shù)據(jù)流的識別的屬性而產(chǎn)生解碼的視頻數(shù)據(jù)流的顯示。
圖1是根據(jù)本發(fā)明原理包括多種類型首部的數(shù)據(jù)流;圖2是根據(jù)本發(fā)明原理編碼的首部的結(jié)構(gòu)圖;圖3是根據(jù)本發(fā)明原理數(shù)據(jù)流編碼器的結(jié)構(gòu)圖;圖4是詳述本發(fā)明編碼器工作的流程圖;圖5是根據(jù)本發(fā)明原理媒體播放器應(yīng)用程序的結(jié)構(gòu)圖;和圖6是根據(jù)本發(fā)明原理詳述媒體播放器應(yīng)用程序工作的流程圖。
具體實施例方式
這里使用的應(yīng)用程序是可執(zhí)行計算機程序或包含代碼或機器可讀指令的指令系統(tǒng),以實現(xiàn)預(yù)定功能,包括操作系統(tǒng)、醫(yī)療信息系統(tǒng)或其它信息處理系統(tǒng)如響應(yīng)用戶命令或輸入的功能??蓤?zhí)行程序是一段代碼(機器可讀指令)、子程序、或執(zhí)行一個或更多個特殊處理的代碼的其它獨立段或可執(zhí)行程序的一部分,可執(zhí)行程序可以包括在接收的輸入?yún)?shù)上(或響應(yīng)于接收的輸入?yún)?shù))執(zhí)行操作并提供作為結(jié)果的輸出參數(shù)。這里使用的處理器是執(zhí)行任務(wù)的機器可讀指令裝置和/或系統(tǒng)。處理器包括硬件、固件和/或軟件中的任何一個或其組合。處理器通過處理、分析、修改、轉(zhuǎn)換或傳輸信息以使可執(zhí)行程序或信息設(shè)備使用信息,和/或通過將信息發(fā)送到輸出設(shè)備而作用于信息。例如,處理器可以使用或包括控制器或微處理器的性能。這里使用的多媒體內(nèi)容或內(nèi)容流是任何編碼或未編碼的數(shù)據(jù),其至少有視頻數(shù)據(jù)和音頻數(shù)據(jù)中的一個。這里使用的幀表示應(yīng)用程序數(shù)據(jù)的極小的單位,而幀組指一組幀。
可以使用多種不同的編碼方案來編碼和壓縮多媒體數(shù)據(jù)流。改變編碼方案的選擇取決于接收和處理視頻數(shù)據(jù)的應(yīng)用程序。系統(tǒng)包括使用專用編碼格式編碼的多媒體數(shù)據(jù)流,從而視頻數(shù)據(jù)流被分割成單獨的幀組,其中每個單獨的幀組由多個單獨的視頻幀組成。根據(jù)使用的編碼方案來確定幀組的結(jié)構(gòu)和形成組的幀。這里使用的數(shù)據(jù)流被認為是系統(tǒng)流且圖1示出示意性的系統(tǒng)流20。
每個系統(tǒng)流20包括流首部22和多個幀組26、28。用標記語言如XML編碼流首部22。流首部22是標記語言編碼文檔,并描述至少一個與插入流首部的數(shù)據(jù)流有關(guān)的流屬性。在流首部22中描述的每個單獨的流屬性由標記語言標簽表示,且至少一個標簽識別表示單獨屬性的數(shù)據(jù)并提供關(guān)于處理表示單獨屬性的數(shù)據(jù)的指令。這些流屬性共同定義流語法,所述語法為媒體播放器應(yīng)用程序可讀,并需要為媒體播放器應(yīng)用程序提供關(guān)于如何處理接收的流數(shù)據(jù)的指令。例如流首部能提供信息以便為解碼接收的數(shù)據(jù)流而初始化正確的解碼器。沒有正確的指令或如果數(shù)據(jù)流包括媒體應(yīng)用程序不可讀的首部,媒體播放器應(yīng)用程序?qū)⑹∏覕?shù)據(jù)流將不被解碼。因此,必須提供配有關(guān)于如何運用每個標記語言標簽的指令系統(tǒng)的媒體播放器應(yīng)用程序。
使用標記語言來編碼流屬性數(shù)據(jù)是有利的。標記語言容易擴展以合并關(guān)于其表示的數(shù)據(jù)的新的特征和功能。任何理想的流屬性可在流首部22內(nèi)編碼。這有助于數(shù)據(jù)流格式將來的擴展和推廣應(yīng)用。此外,在XML中提供流語法的系統(tǒng)流允許任何媒體播放器應(yīng)用程序接收并解碼由已知標簽表示的信息而忽略由未知標簽表示的信息。因此,當試圖解碼與之有關(guān)的未知指令信息時,媒體播放器應(yīng)用程序?qū)⒉皇?。流屬性包括但不限于高度、寬度、比特率、流大小和流持續(xù)時間。
圖1示出的數(shù)據(jù)流包括兩個幀組,第一幀組26和第二幀組28。每個單獨的幀組26,28包括多個單獨的幀。第一幀組26包括三個幀26A、26B、26C而第二幀組28包括兩個幀28A、28B。這里顯示的流只是為了舉例,而數(shù)據(jù)流20可包括由任何數(shù)量的單獨幀組成的任何數(shù)量的幀組,所述幀由用于編碼數(shù)據(jù)流20的編碼方案確定。每個單獨的幀組至少有一個與之關(guān)聯(lián)的幀組屬性。系統(tǒng)流20提供多個分段首部24,每個分段首部24在相應(yīng)幀組的第一單獨幀的前面緊接著放置。類似于流首部22,分段首部24是包括符合至少一個流屬性的信息的標記語言編碼文檔。幀組屬性包括但不限于幀組類型,即關(guān)鍵(I)幀組或增量(P)幀組、組長和組序列號。
流首部22和分段首部24表示屬性信息。這些首部22、24不等同于單獨數(shù)據(jù)包或數(shù)據(jù)報首部,其包括關(guān)于單獨數(shù)據(jù)包或數(shù)據(jù)報的成幀和序列信息。相反,流首部22和數(shù)據(jù)包首部24與數(shù)據(jù)包或數(shù)據(jù)報分離而嵌入數(shù)據(jù)流20內(nèi),且為媒體播放器應(yīng)用程序提供指示應(yīng)用程序如何處理并使用數(shù)據(jù)流的信息。
每個數(shù)據(jù)流和幀組的屬性隨同幀數(shù)據(jù)一起通過應(yīng)用程序接口。XML編碼器分析屬性并檢測這些屬性中的變化。當檢測到屬性中的變化時,編碼器或者編碼流首部22或者編碼分段首部24,并當檢測到有關(guān)的變化時插入相應(yīng)的標記語言標簽。流的一些屬性由操作碼(operator)間接規(guī)定。例如,如果操作碼規(guī)定視頻以320×240像素編碼,這些參數(shù)將被編碼入流首部。任何流語法的升級將作為新標簽出現(xiàn)在首部內(nèi)。
圖2是作為例證的流首部22。每個流首部22和分段首部24的格式是相同的且直接取決于在單獨的首部22、24內(nèi)描述的屬性的數(shù)量,該屬性描述與之關(guān)聯(lián)的或者數(shù)據(jù)流或者幀組。流首部22包括開始字段12,其包含識別被編碼為首部的文檔的標記語言標簽。流首部22進一步包括多個屬性字段14,每個屬性字段都有符合描述首部所嵌入的數(shù)據(jù)流的屬性的信息。第一屬性字段14A包括第一標記語言標簽,其表示代表第一屬性的數(shù)據(jù)。第二屬性字段14B、第三屬性字段14C和第四屬性字段14D中每一個都包括標記語言標簽,其表示代表圖1所示數(shù)據(jù)流20的附加屬性的數(shù)據(jù)。流首部22包括包含標記語言標簽的結(jié)束字段16,該標簽表示首部22結(jié)束且沒有附加信息存在。
圖3是系統(tǒng)編碼器的結(jié)構(gòu)圖。提供了用預(yù)定編碼方案編碼的源視頻數(shù)據(jù)30。為第一測定器34、第二測定器36和多路復(fù)用器42中的每一個提供編碼視頻數(shù)據(jù)。第一測定器34檢查編碼數(shù)據(jù)流,確定與視頻數(shù)據(jù)流關(guān)聯(lián)的屬性,并為第一首部編碼器38提供確定的屬性。第一首部編碼器38編碼流首部,其用標記語言并響應(yīng)于確定的流屬性而規(guī)定流語法。第二測定器36分析形成數(shù)據(jù)流的幀組,并確定與數(shù)據(jù)流內(nèi)每個單獨的幀組關(guān)聯(lián)的屬性。為第二首部編碼器40提供確定的幀組屬性,以編碼幀組首部,其用標記語言并響應(yīng)確定的幀組屬性而規(guī)定幀組語法。第一首部編碼器38和第二首部編碼器40為將首部和視頻數(shù)據(jù)流結(jié)合在一起的多路復(fù)用器42提供編碼流和幀組首部。多路復(fù)用的視頻數(shù)據(jù)流提供到分割器44以將數(shù)據(jù)流分割成可傳輸?shù)臄?shù)據(jù)包。可傳輸?shù)臄?shù)據(jù)包提供到廣播裝置46以廣播其中的數(shù)據(jù)包48。
圖4是詳述由系統(tǒng)執(zhí)行的編碼操作的流程圖。在步驟S400,為測定器提供視頻數(shù)據(jù)流。代表提供的數(shù)據(jù)流的屬性在測定器確定,如步驟S402所示。在步驟S404,編碼器響應(yīng)確定的流屬性而編碼流首部。使用標記語言如XML來執(zhí)行步驟S404。在步驟S404中編碼的流首部包括多個屬性字段,其數(shù)量與從步驟S402確定的流屬性的數(shù)量直接有關(guān)。從視頻數(shù)據(jù)流進一步確定關(guān)于數(shù)據(jù)流內(nèi)幀組的存在。如果不存在,那么本方法繼續(xù)進行到下面將討論的步驟S412。如果幀內(nèi)有幀組,則在步驟S408,第二測定器確定與流內(nèi)每個單獨的幀組關(guān)聯(lián)的屬性。響應(yīng)步驟S408中的確定,在步驟S410編碼每個單獨幀組的分段首部。與流首部類似,分段首部包括多個屬性字段,其數(shù)量與從步驟S408確定的幀組屬性的數(shù)量直接有關(guān)。在步驟S412,如圖5和圖6中將要討論的,視頻數(shù)據(jù)流與每個流首部和單獨的分段首部結(jié)合,每個流首部和單獨的分段首部被處理并被傳輸以使媒體播放器應(yīng)用程序接收。在步驟S412合并期間,流首部在任何單獨的幀組前插入,而每個分段首部在與之關(guān)聯(lián)的相應(yīng)的幀組前緊接著插入。
圖5是接收多個數(shù)據(jù)包48的媒體播放器應(yīng)用程序50的結(jié)構(gòu)圖。媒體播放器應(yīng)用程序50包括接收器52、編譯器、解析器54、第一解碼器56、第二解碼器58、標簽表55和顯示發(fā)生器60。接收器52接收由圖3所示廣播裝置廣播的數(shù)據(jù)包48的源。編譯器53編譯接收的數(shù)據(jù)包以形成包括多個幀的數(shù)據(jù)流。傳輸層在解碼之前將流首部和每個單獨的分段首部作為分離的幀來處理。解析器54解析接收的數(shù)據(jù)流并分析至少流首部和分段首部之一。此分析確定存在識別單獨的流屬性和幀組屬性的標記標簽。每個標簽的值儲存在標簽表55中。標簽表55中的值呈現(xiàn)給每個解碼器56、58。解碼器重新檢查首部內(nèi)的標簽并審閱表中的條目以確定標簽是否包含啟動由解碼器56、58執(zhí)行的功能的指令。當確定了與至少一個數(shù)據(jù)流或流內(nèi)單獨幀組關(guān)聯(lián)的屬性時,啟動第一解碼器和第二解碼器的任何一個以解碼接收的數(shù)據(jù)流。為顯示發(fā)生器60提供解碼流以產(chǎn)生通過媒體播放器應(yīng)用程序輸出數(shù)據(jù)流的顯示。顯示發(fā)生器60也可以與解析器54通信,并響應(yīng)與流首部或分段首部內(nèi)分別的標記標簽相關(guān)聯(lián)的數(shù)據(jù)而操作。
圖6是詳述圖5所示的媒體播放器應(yīng)用程序的工作流程圖。在步驟S600,媒體播放器應(yīng)用程序通過接收器接收多個形成解碼數(shù)據(jù)流的數(shù)據(jù)包。在步驟S602,解析數(shù)據(jù)流并分析每個流首部和單獨的分段首部。在步驟S604,解析器確定識別全部數(shù)據(jù)流屬性的任何標記標簽的存在,并在步驟S606為任何單獨組件提供關(guān)于數(shù)據(jù)流如何響應(yīng)于存在的標記標簽而被解碼的指令。在步驟S608確定是否數(shù)據(jù)流包括任何幀組。如果不包括,則所述過程在下面討論的步驟S614繼續(xù)。如果數(shù)據(jù)流包括幀組,則解析器對分段首部作任何標記標簽方面的分析,該標簽代表與有關(guān)幀組相關(guān)聯(lián)的幀組屬性。為組件提供來自分段首部的指令以便利用在步驟S160中確定的標記標簽來解碼數(shù)據(jù)流的幀組。響應(yīng)流和分別的幀組的解碼,為顯示發(fā)生器提供解碼流以使用媒體播放器應(yīng)用程序產(chǎn)生解碼流的顯示。
到流版本格式的升級是顯而易見的且容易完成,因為不需要對多個媒體播放器應(yīng)用程序的新的流解碼參數(shù)的任何顯著的配置。標記語言允許現(xiàn)有的媒體播放器解碼新的流版本,因為媒體播放器應(yīng)用程序僅僅分析和利用其熟悉的標記語言標簽。因此,附加類型的數(shù)據(jù)如注釋、同步媒體事件數(shù)據(jù)或任何其它屬性可選擇性地加到流語法中而不會使先前配置的組件無效。
權(quán)利要求
1.一種用于編碼視頻數(shù)據(jù)流的系統(tǒng),所述系統(tǒng)包括第一測定器,其用于確定與所述視頻數(shù)據(jù)流關(guān)聯(lián)的屬性;編碼器,其用于接收來自所述第一測定器的所述屬性并編碼識別流語法的流首部,所述流首部是用標記語言編碼的;和多路復(fù)用器,其用于結(jié)合所述編碼的流首部和所述視頻數(shù)據(jù)流。
2.如權(quán)利要求1所述的系統(tǒng),進一步包括第二測定器,所述第二測定器用于確定與所述數(shù)據(jù)流內(nèi)幀組關(guān)聯(lián)的屬性。
3.如權(quán)利要求2所述的系統(tǒng),其中,所述編碼器編碼包括所述確定的屬性的分段首部,所述確定的屬性識別所述數(shù)據(jù)流的每個幀組在標記語言中的幀組語法。
4.如權(quán)利要求3所述的系統(tǒng),其中,所述標記語言為XML。
5.如權(quán)利要求3所述的系統(tǒng),其中,所述多路復(fù)用器在所述數(shù)據(jù)流的有效載荷之前放置所述編碼的流首部,其中所述有效載荷包括所有的所述幀組。
6.如權(quán)利要求5所述的系統(tǒng),其中,所述多路復(fù)用器在各幀組之前定位所述數(shù)據(jù)流中的每個編碼的分段首部。
7.如權(quán)利要求1所述的系統(tǒng),進一步包括分割器44,所述分割器用于將所述數(shù)據(jù)流分割成可傳輸?shù)臄?shù)據(jù)包。
8.如權(quán)利要求1所述的系統(tǒng),其中,所述流首部包括多個字段,每個字段定義所述確定的流屬性中各一個。
9.如權(quán)利要求3所述的系統(tǒng),其中,每個所述分段首部包括多個字段,每個字段定義所述確定的幀組屬性中各一個。
10.一種用于解碼編碼的視頻數(shù)據(jù)流的系統(tǒng),所述系統(tǒng)包括編譯器,其用于編譯多個接收的數(shù)據(jù)包以形成包括多個幀的數(shù)據(jù)流;解析器,其用于分析所述數(shù)據(jù)流和流首部以確定存在識別所述接收的數(shù)據(jù)流和所述數(shù)據(jù)流的幀的屬性的標記標簽;解碼器,其用于解碼所述接收的數(shù)據(jù)流和標記標簽;顯示發(fā)生器,其用于響應(yīng)于所述接收數(shù)據(jù)流的識別的屬性而產(chǎn)生所述解碼的視頻數(shù)據(jù)流的顯示。
11.如權(quán)利要求10所述的系統(tǒng),其中,所述標記語言為XML。
12.一種編碼視頻數(shù)據(jù)流的方法,所述方法包括以下步驟確定與所述視頻數(shù)據(jù)流關(guān)聯(lián)的屬性;編碼流首部,所述流首部基于所述確定的流屬性識別流語法,所述流首部用標記語言編碼;和結(jié)合所述編碼的流首部和所述視頻數(shù)據(jù)流。
13.如權(quán)利要求12所述的方法,進一步包括以下步驟確定與所述數(shù)據(jù)流內(nèi)每個幀組關(guān)聯(lián)的屬性;和為每個單獨的幀組編碼分段首部,每個分段首部定義所述單獨的幀組的幀組語法。
14.如權(quán)利要求12所述的方法,其中,所述標記語言為XML。
全文摘要
一種涉及編碼視頻數(shù)據(jù)流的系統(tǒng)。該系統(tǒng)包括確定與視頻數(shù)據(jù)流關(guān)聯(lián)的屬性的第一測定器和接收來自第一測定器的屬性并編碼識別流語法的流首部的編碼器。流首部用標記語言編碼。多路復(fù)用器使編碼的流首部和視頻數(shù)據(jù)流相結(jié)合。
文檔編號H04N7/167GK101069428SQ200580041448
公開日2007年11月7日 申請日期2005年10月5日 優(yōu)先權(quán)日2004年10月5日
發(fā)明者喬恩·拉科沃斯克, 丹尼爾·維特 申請人:維克多曼克斯公司