国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種基于實(shí)時傳輸協(xié)議的多媒體數(shù)據(jù)傳輸控制方法

      文檔序號:7972818閱讀:712來源:國知局
      專利名稱:一種基于實(shí)時傳輸協(xié)議的多媒體數(shù)據(jù)傳輸控制方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種分組包交換網(wǎng)絡(luò)中的多媒體數(shù)據(jù)傳輸控制方法,尤其涉及一種基于RTP (Real-time Transport Protocol,實(shí)時傳輸協(xié)議)的多媒體數(shù) 據(jù)傳輸控制方法。
      背景技術(shù)
      隨著網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展和全球信息化程度的加深,多媒體實(shí)時通信已 成為網(wǎng)絡(luò)通信中的一個非常重要的業(yè)務(wù),這些業(yè)務(wù)主要包括視頻點(diǎn)播、可視電話、會議電視、遠(yuǎn)程教育、流媒體等,這些應(yīng)用中的關(guān)鍵技術(shù)是數(shù)字視頻 的實(shí)時采集和傳輸。實(shí)時傳輸協(xié)議是在多媒體實(shí)時通信領(lǐng)域被廣泛采用的一種傳輸協(xié)議。 RTP被定義在一對一或一對多的傳輸情況下工作。RTP通常使用UDP來 傳送數(shù)據(jù),但RTP也可以在TCP或ATM等其他協(xié)議下工作。RFC( Request for Comments,請求注解)標(biāo)準(zhǔn)集對不同視頻壓縮格式定義了不同的數(shù)據(jù)包 并設(shè)計(jì)了相應(yīng)的傳輸控制方法。對于H.263格式視頻數(shù)據(jù)的RTP傳輸,RFC 2190中在RTP頭信息中定 義的負(fù)載(paylaod)信息,包括解碼需要的編碼數(shù)據(jù)類型,編碼特性和數(shù) 據(jù)包前后關(guān)系,發(fā)出的時間信息以及數(shù)據(jù)包分割方法。對于11.263+格式視頻數(shù)據(jù)的RTP傳輸,RFC 2429中定義了視頻流的開 始、結(jié)束,以及各種幀數(shù)據(jù)的同步幀數(shù)據(jù)關(guān)系,可以用于指導(dǎo)解碼前如何進(jìn) 行組包。對于H.264格式視頻數(shù)據(jù)的RTP傳輸,RFC 3984中利用MIME (Multipurpose Internet Mail Extensions,多用途網(wǎng)際郵件擴(kuò)充協(xié)議)來控制 初始順序,最大到達(dá)時間差異等,有利于組包的靈活控制。RFC 3640中定 義了音頻視頻數(shù)據(jù)碼流的負(fù)載格式。此外RFC 3640中還允許數(shù)據(jù)包以交疊 (Interleave)方式傳輸,增大了網(wǎng)絡(luò)傳輸?shù)娜蒎e能力。但是,上述各種與RTP傳輸相關(guān)的協(xié)議都沒有從數(shù)據(jù)封裝格式方面為 接收端提供預(yù)見數(shù)據(jù)到達(dá)的能力;并且,由于經(jīng)過包交換網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)會 產(chǎn)生亂序、丟失等問題,接收端在收到經(jīng)過網(wǎng)絡(luò)發(fā)送的數(shù)據(jù)包后,還需要對 其進(jìn)行重新排序,數(shù)據(jù)包的存儲也通常需要以鏈表形式進(jìn)行保存,加重了接 收端的處理負(fù)荷,降低了接收端的處理能力。發(fā)明內(nèi)容本發(fā)明要解決的技術(shù)問題是,克服現(xiàn)有技術(shù)中基于RTP的多媒體數(shù)據(jù) 傳輸控制方法的不足,提出一種從數(shù)據(jù)封裝格式方面為接收端提供預(yù)見數(shù)據(jù) 到達(dá)的能力,并使接收端能夠以實(shí)時組包、零拷貝的方式對音頻視頻數(shù)據(jù)流 進(jìn)行處理的多媒體數(shù)據(jù)傳輸控制方法。為了解決上述問題,本發(fā)明提供一種基于實(shí)時傳輸協(xié)議的多媒體數(shù)據(jù)傳 輸控制方法,包含如下步驟步驟A:發(fā)送端完成一個AU組的編碼后,在該AU組包含的AU頭信 息中寫入該AU在所屬AU組內(nèi)的相對位置信息;并將該AU組包含的AU 發(fā)送至接收端;步驟B:接收端根據(jù)AU頭信息中包含的該AU在所屬AU組內(nèi)的相對 位置信息和該AU的AU索引或索引差信息,以解碼順序?qū)⑵浔4嬖谝粋€可 用的AU組緩存的緩存單元中。此外,所述AU在所屬AU組內(nèi)的相對位置信息為該AU所屬AU組內(nèi) 的其它AU相對于該AU的偏移值。此外,所述AU在所屬AU組內(nèi)的相對位置信息還可以是該AU相對于 所屬AU組內(nèi)特定AU的偏移值。此外,在所述步驟A之前還包含如下步驟 發(fā)送端和接收端對AU組參數(shù)進(jìn)行協(xié)商和確定。 此外,在所述步驟B之后還包舍如下步驟步驟C:接收端的接收模塊完成一個AU組數(shù)據(jù)的接收后,通知相應(yīng)的 AU處理程序進(jìn)行處理,同時標(biāo)記該AU組對應(yīng)緩存單元的狀態(tài)為不可用;步驟D: AU處理程序完成對AU組數(shù)據(jù)的處理后通知接收模塊,接收 模塊標(biāo)記相應(yīng)的緩存單元的狀態(tài)為可用。此外,AU組中包含多于一個的可有效解碼的數(shù)據(jù)單元。此外,所述AU頭信息中包含可用于標(biāo)記該AU是否為所屬組內(nèi)最后一 個AU的字段。本發(fā)明針對各種不同的音頻視頻數(shù)據(jù)格式都可以通過在RTP包的AU 頭信息中加入?yún)⒖紨?shù)據(jù)塊的相對位置信息,并在發(fā)送端和接收端的處理流程 上進(jìn)行相應(yīng)的改進(jìn),使得接收端能夠以更為高效的方式對多媒體數(shù)據(jù)流進(jìn)行對多媒體數(shù)據(jù)流同步進(jìn)行處理。


      圖1是RFC 3640定義的RTP包的負(fù)載格式;圖2是RFC3640定義的RTP包中的AU頭部分的結(jié)構(gòu)示意圖;圖3是RFC 3640定義的AU頭信息的基本結(jié)構(gòu)示意圖;圖4是本發(fā)明增加了 AU在組內(nèi)的相對位置信息的AU頭信息的結(jié)構(gòu)示 意圖。
      具體實(shí)施方式
      本發(fā)明的基本思路是,通過在RTP包的AU頭信息中加入各參考數(shù)據(jù)
      塊的相對位置信息,接收端根據(jù)該相對位置信息及AU索引信息將該AU以 正確的解碼位置放入緩存中。下面將結(jié)合附圖,并以RFC 3640的RTP封裝格式為例對本發(fā)明進(jìn)行詳 細(xì)的說明。AU( Access Unit,訪問單元)作為最小的解碼有效單元,通常是發(fā)送 端和接收端編碼、解碼和傳輸控制的基本單位,如何對AU進(jìn)行傳輸控制、 存儲和讀取是發(fā)送端和接收端快速高效地進(jìn)行多媒體通訊的關(guān)鍵因素。圖1是RFC 3640定義的RTP包的負(fù)載格式。圖2是RFC 3640定義的RTP包中的AU頭部分的結(jié)構(gòu)示意圖。如圖1和圖2所示,RTP包頭包含RTP頭、AU頭部分、附加數(shù)據(jù)部分 和AU數(shù)據(jù)部分。由于一個RTP包中可包含多個AU,所以RTP包的AU頭 部分包含AU頭長度和多個AU頭。圖3是RFC3640定義的AU頭信息的基本結(jié)構(gòu)示意圖。如圖3所示,AU頭信息中包含AU的大小、AU索引或索引差、CTS 標(biāo)志、CTS差值、DTS標(biāo)志、DTS差值、RAP標(biāo)志和流狀態(tài)。各字段在 RFC 3640文檔中都有詳細(xì)的定義。為了使接收端在接收到RTP包以及其中包含的AU時,能夠?qū)⑵渲苯?以正確的解碼順序存^t,可將AU進(jìn)行分組,并在AU頭信息中加入該AU 在組內(nèi)的相對位置信息。AU組中包含AU的數(shù)量由多種因素所決定。首先AU組中包舍AU的 數(shù)量需大于一次編解碼有效的所有AU包/AU片斷數(shù)量的總和。此外,為了 對以交疊方式傳輸?shù)腁U進(jìn)行正確的處理,AU組包含AU的數(shù)量需大于 maxDisplacement。關(guān)于maxDisplacement的定義以及計(jì)算方法i青參見RFC 3640文檔。此外,AU組中包含AU的數(shù)量需要考慮到接收端上層應(yīng)用的處理能力 以及視頻/音頻數(shù)據(jù)顯示/播放的視覺/聽覺平滑效果;此外AU組中包含AU
      的數(shù)量還與發(fā)送端和接收端能夠提供的緩存大小等因素直接相關(guān)。AU組中 包含AU的數(shù)量還受到發(fā)送方編碼器產(chǎn)生數(shù)據(jù)速度限制。圖4是本發(fā)明增加了 AU在組內(nèi)的相對位置信息的AU頭信息的結(jié)構(gòu)示 意圖。如圖4所示,"前面第x個AU的偏移值"表示本AU的前面第x個 AU的第一個字節(jié)相對于本AU的笫一個字節(jié)的偏移值,以字節(jié)表示。"后 面第y個AU的偏移值,,表示本AU的后面第y個AU的第一個字節(jié)相對于 本AU的第一個字節(jié)的偏移值,以字節(jié)表示。上述偏移值由發(fā)送端完成對 AU的編碼后,在發(fā)送前分別進(jìn)行設(shè)置。圖4中的"忽略標(biāo)志"可表示該AU是否可忽略,也可作其它用途。當(dāng)然,AU在組內(nèi)的相對位置信息也可以其它方式表示,例如在AU頭 信息中包含該AU相對于組內(nèi)第 一個AU的偏移值。在接收端,在接收到RTP數(shù)據(jù)包后,需要將RTP數(shù)據(jù)包中包含的各AU 的AU數(shù)據(jù)部分才艮據(jù)其所在的AU組和在組內(nèi)的相對位置信息存儲在相應(yīng)的 AU組緩存中。上述AU組緩存的大小可通過如下方式確定AU緩存的大小-nx (AU組最大長度);其中,n表示AU組緩存中可以存儲的AU組的數(shù)量,n>l。AU組最大長度=(AU組中包含AU數(shù)量的最大值)x (AU最大長度)。上述"AU組中包含AU數(shù)量的最大值"和"AU最大長度"可采用如 下方式進(jìn)行估算當(dāng)選定了一種編解碼格式后,根據(jù)數(shù)據(jù)處理能力,發(fā)送方和接收方根據(jù) 所采用的平臺建立一個參考測試環(huán)境,通過系統(tǒng)一般情況下和系統(tǒng)CPU和 其它資源竟?fàn)幘o張情況下數(shù)據(jù)的接收能力來確定。此外,估算還需參考如下
      因素網(wǎng)卡的處理速度,TCP/IP的數(shù)據(jù)呑吐量,編碼器和解碼器的處理速 度,在多任務(wù)情況下緩沖隊(duì)列處理和數(shù)據(jù)搬移速度等。另外發(fā)送方和接收方 在有多個傳輸通路并行處理時還需要考慮每個通路的平均數(shù)據(jù)處理速度。上述AU組緩存中可以存儲的AU組的數(shù)量n的取值受到上層應(yīng)用程序 對數(shù)據(jù)的處理速度的制約,通常n取為大于3的整數(shù)。允許同時接收多個 AU時,上層可以至少處理一個AU組。由于網(wǎng)絡(luò)發(fā)送的延遲到達(dá)和數(shù)據(jù)包 到達(dá)順序有可能與解碼順序不一致,因此可以允許有至少兩個AU組同時在 接收。上述AU組緩存可分為n個緩存單元,其中,每個緩存單元保存一個 AU組,緩存單元大小等于AU組最大長度。此外,AU組緩存還可采用鏈 表和環(huán)形數(shù)組等方式。由于AU組的接收和對AU組數(shù)據(jù)的處理可由接收端的接收模塊和上層 應(yīng)用程序同時進(jìn)行,所以需對AU組緩存的使用進(jìn)行同步處理。同步處理可 采用全局變量、信號量、系統(tǒng)消息等方式實(shí)現(xiàn)。例如,當(dāng)AU組接收模塊完 成對一個AU組的接收時,發(fā)送系統(tǒng)消息給上層應(yīng)用程序,系統(tǒng)消息中包含 保存該AU組的緩存單元的編號及起始地址和數(shù)據(jù)長度等信息,同時將對應(yīng) 的AU組緩存單元設(shè)置為不可用狀態(tài);當(dāng)上層應(yīng)用程序?qū)υ揂U組的數(shù)據(jù)處 理完畢后,發(fā)送系統(tǒng)消息給接收模塊,接收模塊將對應(yīng)的AU組緩存單元設(shè) 置為可用狀態(tài),將接收到的下一個AU組的數(shù)據(jù)保存在狀態(tài)為可用的AU組 緩存單元中。上述"AU組中包含AU數(shù)量的最大值,,和"AU最大長度,,等AU組 參數(shù)可以采用靜態(tài)配置的方式在發(fā)送端和接收端分別進(jìn)行配置。但是,為了 增加系統(tǒng)的靈活性,適應(yīng)各種音頻視頻格式的多媒體數(shù)據(jù)的處理,上述各參數(shù)可在發(fā)送前或發(fā)送過程中進(jìn)行動態(tài)配置,參數(shù)的動態(tài)配置及發(fā)送接收流程 包含如下步驟
      步驟l:發(fā)送端向接收端發(fā)送控制信息; 上述控制信息中包舍AU最大長度等信息; 上迷控制信息可采用MIME/SDP格式進(jìn)行定義和解析。步驟2:接收端根據(jù)發(fā)送端發(fā)送的控制信息及接收端對數(shù)據(jù)的處理能力 計(jì)算AU組中包含AU數(shù)量的最大值,并將此信息發(fā)送至發(fā)送端;步驟3:發(fā)送端根據(jù)自身的處理能力和數(shù)據(jù)緩沖的大小,修改并確定 AU組中包含AU數(shù)量的最大值,并將該值發(fā)送至接收端;同時建立發(fā)送隊(duì) 列及相應(yīng)資源;步驟4:接收端根據(jù)最終確定的AU組中包含AU數(shù)量的最大值、AU 最大長度等信息分配用于保存AU組數(shù)據(jù)的AU組緩存;步驟5:發(fā)送端開始編碼并將編碼后的AU數(shù)據(jù)保存至發(fā)送隊(duì)列中;步驟6:發(fā)送端完成一個AU組的編碼后,將各AU在AU組內(nèi)的相對 位置信息寫入AU頭信息中,將AU組發(fā)送至接收端;步驟7:接收端根據(jù)AU頭信息中包含的AU在所屬AU組內(nèi)的相對位 置信息和AU索引或索引差信息,以解碼順序?qū)⒏鰽U保存在一個可用的 AU組緩存區(qū)中;步驟8:接收端接收到完整的AU組數(shù)據(jù)時,將保存該AU組數(shù)據(jù)的AU 組緩存區(qū)的地址、長度等信息通知上層應(yīng)用程序進(jìn)行處理;步驟9:上層應(yīng)用程序?qū)υ揂U組處理完畢,通知接收端,接收端標(biāo)志 相應(yīng)AU組緩存區(qū)為可用。此外,當(dāng)AU組發(fā)送延遲過大時,發(fā)送端可在當(dāng)前AU組尚未發(fā)送完成 時,將組內(nèi)的待發(fā)AU封裝成下一個AU組的AU進(jìn)行發(fā)送,同時在該待發(fā) AU的AU頭信息的忽略標(biāo)志中,寫入該AU在先前所屬的AU組中的序號。 接收端對AU頭信息的忽略標(biāo)志進(jìn)行判斷,當(dāng)忽略標(biāo)志大于0時,根據(jù)該 AU的AU索引和忽略標(biāo)志中的該AU在先前所屬的AU組中的序號獲知該AU先前所屬的AU組,并停止該先前所屬AU組的后續(xù)AU的接收,當(dāng)該 AU先前所屬AU組中AU索引值小于該AU的組內(nèi)AU接收完畢時,標(biāo)記 該AU組接收完畢,通知上層應(yīng)用程序?qū)υ揂U組進(jìn)行處理。此外,由于AU組中包含的AU數(shù)不一定每次相同,AU頭信息的忽略 標(biāo)志可用于表示當(dāng)前AU為組內(nèi)最后一個AU。此外,在AU組的接收過程中可以根據(jù)上述maxDisplacement值對當(dāng)前 的網(wǎng)絡(luò)的穩(wěn)定性進(jìn)行監(jiān)測,即出現(xiàn)當(dāng)前接收到的AU的AU時間戳和最早應(yīng) 該出現(xiàn)但是沒有出現(xiàn)的AU的AU時間戳的差值大于maxDisplacement時, 可以認(rèn)為網(wǎng)絡(luò)條件不穩(wěn)定,即應(yīng)該接收到的數(shù)據(jù)沒有到達(dá)。此時系統(tǒng)應(yīng)進(jìn)行 如下處理如果相應(yīng)的標(biāo)準(zhǔn)中規(guī)定了對沒有到達(dá)的非關(guān)鍵AU不可以忽略,則告知 上層應(yīng)用程序,由上層應(yīng)用程序決定是否丟棄該AU組,當(dāng)這種情況頻繁發(fā) 生時,系統(tǒng)可以重新回到接收的初始狀態(tài),發(fā)送方重新開始發(fā)送。
      權(quán)利要求
      1. 一種基于實(shí)時傳輸協(xié)議的多媒體數(shù)據(jù)傳輸控制方法,包含如下步驟步驟A發(fā)送端完成一個AU組的編碼后,在該AU組包含的AU頭信息中寫入該AU在所屬AU組內(nèi)的相對位置信息;并將該AU組包含的AU發(fā)送至接收端;步驟B接收端根據(jù)AU頭信息中包含的該AU在所屬AU組內(nèi)的相對位置信息和該AU的AU索引或索引差信息,以解碼順序?qū)⑵浔4嬖谝粋€可用的AU組緩存的緩存單元中。
      2、 如權(quán)利要求1所述的基于實(shí)時傳輸協(xié)議的多媒體數(shù)據(jù)傳輸控制方 法,其特征在于,所述AU在所屬AU組內(nèi)的相對位置信息為該AU所屬 AU組內(nèi)的其它AU相對于該AU的偏移值。
      3、 如權(quán)利要求1所述的基于實(shí)時傳輸協(xié)議的多媒體數(shù)據(jù)傳輸控制方 法,其特征在于,所述AU在所屬AU組內(nèi)的相對位置信息為該AU相對于 所屬AU組內(nèi)特定AU的偏移值。
      4、 如權(quán)利要求1所述的基于實(shí)時傳輸協(xié)議的多媒體數(shù)據(jù)傳輸控制方 法,其特征在于,在所述步驟A之前還包含如下步驟發(fā)送端和接收端對AU組參數(shù)進(jìn)行協(xié)商和確定。
      5、 如權(quán)利要求1所述的基于實(shí)時傳輸協(xié)議的多媒體數(shù)據(jù)傳輸控制方 法,其特征在于,在所述步驟B之后還包含如下步驟步驟C:接收端的接收模塊完成一個AU組數(shù)據(jù)的接收后,通知相應(yīng)的 AU處理程序進(jìn)行處理,同時標(biāo)記該AU組對應(yīng)緩存單元的狀態(tài)為不可用;步驟D: AU處理程序完成對AU組數(shù)據(jù)的處理后通知接收模塊,接收 模塊標(biāo)記相應(yīng)的緩存單元的狀態(tài)為可用。
      6、 如權(quán)利要求1所述的基于實(shí)時傳輸協(xié)議的多媒體數(shù)據(jù)傳輸控制方 法,其特征在于,AU組中包含多于一個的可有效解碼的數(shù)據(jù)單元。
      7、如權(quán)利要求1所述的基于實(shí)時傳輸協(xié)議的多媒體數(shù)據(jù)傳輸控制方法,其特征在于,所述AU頭信息中包含可用于標(biāo)記該AU是否為所屬組內(nèi) 最后一個AU的字段。
      全文摘要
      一種基于實(shí)時傳輸協(xié)議的多媒體數(shù)據(jù)傳輸控制方法,包含如下步驟步驟A發(fā)送端完成一個AU組的編碼后,在該AU組包含的AU頭信息中寫入該AU在所屬AU組內(nèi)的相對位置信息;并將該AU組包含的AU發(fā)送至接收端;步驟B接收端根據(jù)AU頭信息中包含的該AU在所屬AU組內(nèi)的相對位置信息和該AU的AU索引或索引差信息,以解碼順序?qū)⑵浔4嬖谝粋€可用的AU組緩存的緩存單元中。本發(fā)明針對各種不同的音頻視頻數(shù)據(jù)格式都可以通過在RTP包的AU頭信息中加入?yún)⒖紨?shù)據(jù)塊的相對位置信息,并在發(fā)送端和接收端的處理流程上進(jìn)行相應(yīng)的改進(jìn),使得接收端能夠以更為高效的方式對多媒體數(shù)據(jù)流進(jìn)行處理。
      文檔編號H04L29/06GK101212452SQ200610156209
      公開日2008年7月2日 申請日期2006年12月31日 優(yōu)先權(quán)日2006年12月31日
      發(fā)明者張明華, 朱佐亮, 羅宏宇 申請人:中興通訊股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1