專利名稱:一種基于rtp協(xié)議的視頻流分片組幀方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種計算機數(shù)據(jù)處理方法。
背景技術(shù):
本實用信息涉及一種視頻RTP流分片組幀算法,是指視頻流在網(wǎng)絡(luò)傳輸時,由于采用UDP方式傳輸時對每次傳輸?shù)臄?shù)據(jù)大小有限制,因此必須將一幀視頻數(shù)據(jù)分片進行多次傳輸,然后在接收端根據(jù)分片方式對接收到的分片數(shù)據(jù)重新組裝成視頻幀數(shù)據(jù)的過程。視頻幀分片傳輸,在接收端對分片數(shù)據(jù)重新組幀時,計算機需要重新對分片數(shù)據(jù)進行排序和重組,這樣會耗費計算機大量CPU和內(nèi)存資源。
發(fā)明內(nèi)容
本發(fā)明意在提供一種基于RTP協(xié)議的視頻流分片組幀方法,以解決現(xiàn)有技術(shù)中視頻流分片數(shù)據(jù)的排序和重組耗費計算機大量CPU和內(nèi)存資源的問題。本發(fā)明的目的可以通過以下措施來達到一種基于RTP協(xié)議的視頻流分片組幀方法,其包括以下步驟
一、在接收端建立Hash表數(shù)據(jù)結(jié)構(gòu);
二、在接收端建立一個預(yù)分配內(nèi)存空間的隊列,該隊列為空閑隊列,隊列每個節(jié)點指向固定大小的內(nèi)存空間;
三、通過基于RTP協(xié)議的UDP傳輸方式,接收端接受來自發(fā)送端的分片數(shù)據(jù),同時將所述分片數(shù)據(jù)依次裝入所述節(jié)點對應(yīng)的內(nèi)存空間內(nèi),同時按被裝入分片數(shù)據(jù)的順序?qū)⑺龉?jié)點依次插入Hash表;
四、在接收端,根據(jù)Hash表中節(jié)點裝入順序?qū)Ψ制瑪?shù)據(jù)進行組裝,輸出幀數(shù)據(jù)。所述發(fā)送端和接收端均為具備必要硬件配置的計算機系統(tǒng),其間通過電纜或GRPS 設(shè)備通訊連接,視頻數(shù)據(jù)存儲在發(fā)送端內(nèi),接收端欲接收所述的視頻數(shù)據(jù)。本方案的目的是高效的對視頻傳輸?shù)姆制瑪?shù)據(jù)進行組幀,與背景技術(shù)相比,具體使用了 Hash算法,對分片數(shù)據(jù)在計算機內(nèi)存中的重組也只需要拷貝一次,因此提高了效率,分片數(shù)據(jù)的排序和重組不再耗費計算機大量CPU和內(nèi)存資源。進一步,在所述步驟三中首先從空閑隊列里取得一節(jié)點,將一分片數(shù)據(jù)拷貝進該節(jié)點指向的內(nèi)存空間,并標(biāo)明長度;然后將該節(jié)點從空閑隊列里刪除,并將該節(jié)點插入 Hash 表,
依上述步驟將所述成組分片數(shù)據(jù)全部裝入內(nèi)存空間,同時將裝有分片數(shù)據(jù)的節(jié)點插入 Hash 表。上述技術(shù)方案簡明易實施,同樣能夠?qū)崿F(xiàn)第一方案中所述的技術(shù)效果。進一步,在所述步驟三中當(dāng)所述空閑隊列已全部裝入分片數(shù)據(jù)時,在對已裝入的分片數(shù)據(jù)組幀輸出后清空隊列。此特征可保證幀數(shù)據(jù)的分片數(shù)據(jù)總量超出空閑隊列中所有節(jié)點對應(yīng)內(nèi)存空間對應(yīng)容量時不至于出錯,處理方式更加靈活。
進一步,在所述步驟三中在節(jié)點依次插入Hash表時,判斷當(dāng)前節(jié)點對應(yīng)的分片數(shù)據(jù)類型,如果不是最后的分片數(shù)據(jù),則繼續(xù)將余下的分片數(shù)據(jù)全部裝入空閑節(jié)點對應(yīng)的內(nèi)存空間;如果是最后的分片數(shù)據(jù),則根據(jù)Hash表中節(jié)點裝入順序?qū)Ψ制瑪?shù)據(jù)進行組裝, 輸出幀數(shù)據(jù)。此特征約定了末尾分片數(shù)據(jù)的處理方式,在每一幀的分片數(shù)據(jù)處理完畢后可以迅速的結(jié)束操作,提高了工作效率。
下面結(jié)合附圖和具體實施方式
對本發(fā)明作進一步詳細的說明 圖1為本發(fā)明實施例中視頻分片數(shù)據(jù)組幀的流程圖。
具體實施例方式在本實施例中揭示了一種基于RTP協(xié)議的視頻流分片組幀方法,作為發(fā)送端的服務(wù)器與作為接收端的PC通過電纜連接,現(xiàn)欲將視頻數(shù)據(jù)從發(fā)送端送至接收端,具體流程如圖1所示
在接收端建立Hash表數(shù)據(jù)結(jié)構(gòu)。在接收端建立一個預(yù)分配內(nèi)存空間的隊列,該隊列初始狀態(tài)為空閑隊列,隊列每個節(jié)點指向固定大小的內(nèi)存空間。通過基于RTP協(xié)議的UDP傳輸方式,接收端接受來自發(fā)送端的分片數(shù)據(jù),首先從空閑隊列里取得一節(jié)點,將一分片數(shù)據(jù)拷貝進該節(jié)點指向的內(nèi)存空間,并標(biāo)明長度;然后將該節(jié)點從空閑隊列里刪除,并將該節(jié)點插入Hash表。在節(jié)點依次插入Hash表時,判斷當(dāng)前節(jié)點對應(yīng)的分片數(shù)據(jù)類型,如果不是最后的分片數(shù)據(jù),則繼續(xù)將余下的分片數(shù)據(jù)依樣全部裝入空閑節(jié)點對應(yīng)的內(nèi)存空間;如果是最后的分片數(shù)據(jù),則根據(jù)Hash表中節(jié)點裝入順序?qū)Ψ制瑪?shù)據(jù)進行組裝,輸出幀數(shù)據(jù)。當(dāng)所述空閑隊列已全部裝入分片數(shù)據(jù)時,在對已裝入的分片數(shù)據(jù)組幀輸出后清空隊列,進行余下尚未組幀的分片數(shù)據(jù)的操作。依上述步驟將所述成組分片數(shù)據(jù)全部裝入內(nèi)存空間,同時將裝有分片數(shù)據(jù)的節(jié)點插入Hash表。最后,根據(jù)Hash表中節(jié)點裝入順序?qū)Ψ制瑪?shù)據(jù)進行組裝,輸出幀數(shù)據(jù),完成幀數(shù)據(jù)的傳輸工作。以上所述的僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本領(lǐng)域的技術(shù)人員來說, 在不脫離本發(fā)明結(jié)構(gòu)的前提下,還可以作出若干變形和改進,這些也應(yīng)該視為本發(fā)明的保護范圍,這些都不會影響本發(fā)明實施的效果和專利的實用性。
權(quán)利要求
1.一種基于RTP協(xié)議的視頻流分片組幀方法,其特征是包括以下步驟在接收端建立Hash表數(shù)據(jù)結(jié)構(gòu);在接收端建立一個預(yù)分配內(nèi)存空間的隊列,該隊列初始狀態(tài)為空閑隊列,隊列每個節(jié)點指向固定大小的內(nèi)存空間;通過基于RTP協(xié)議的UDP傳輸方式,接收端接受來自發(fā)送端的分片數(shù)據(jù),同時將所述分片數(shù)據(jù)依次裝入所述節(jié)點對應(yīng)的內(nèi)存空間內(nèi),同時按被裝入分片數(shù)據(jù)的順序?qū)⑺龉?jié)點依次插入Hash表;在接收端,根據(jù)Hash表中節(jié)點裝入順序?qū)Ψ制瑪?shù)據(jù)進行組裝,輸出幀數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的基于RTP協(xié)議的視頻流分片組幀方法,其特征是在所述步驟三中首先從空閑隊列里取得一節(jié)點,將一分片數(shù)據(jù)拷貝進該節(jié)點指向的內(nèi)存空間,并標(biāo)明長度;然后將該節(jié)點從空閑隊列里刪除,并將該節(jié)點插入Hash表,依上述步驟將所述成組分片數(shù)據(jù)全部裝入內(nèi)存空間,同時將裝有分片數(shù)據(jù)的節(jié)點插入 Hash 表。
3.根據(jù)權(quán)利要求1或2所述的基于RTP協(xié)議的視頻流分片組幀方法,其特征是在所述步驟三中當(dāng)所述空閑隊列已全部裝入分片數(shù)據(jù)時,在對已裝入的分片數(shù)據(jù)組幀輸出后清空隊列。
4.根據(jù)權(quán)利要求3所述的基于RTP協(xié)議的視頻流分片組幀方法,其特征是在所述步驟三中在節(jié)點依次插入Hash表時,判斷當(dāng)前節(jié)點對應(yīng)的分片數(shù)據(jù)類型,如果不是最后的分片數(shù)據(jù),則繼續(xù)將余下的分片數(shù)據(jù)全部裝入空閑節(jié)點對應(yīng)的內(nèi)存空間;如果是最后的分片數(shù)據(jù),則根據(jù)Hash表中節(jié)點裝入順序?qū)Ψ制瑪?shù)據(jù)進行組裝,輸出幀數(shù)據(jù)。
全文摘要
本發(fā)明涉及一種計算機數(shù)據(jù)處理方法,意在提供一種基于RTP協(xié)議的視頻流分片組幀方法,以解決現(xiàn)有技術(shù)中視頻流分片數(shù)據(jù)的排序和重組耗費資源的問題。包括以下步驟在接收端建立Hash表數(shù)據(jù)結(jié)構(gòu);在接收端建立一個預(yù)分配內(nèi)存空間的隊列,該隊列為空閑隊列,隊列每個節(jié)點指向固定大小的內(nèi)存空間;通過基于RTP協(xié)議的UDP傳輸方式,接收端接受來自發(fā)送端的分片數(shù)據(jù),同時將所述分片數(shù)據(jù)依次裝入所述節(jié)點對應(yīng)的內(nèi)存空間內(nèi),同時按被裝入分片數(shù)據(jù)的順序?qū)⑺龉?jié)點依次插入Hash表;在接收端,根據(jù)Hash表中節(jié)點裝入順序?qū)Ψ制瑪?shù)據(jù)進行組裝,輸出幀數(shù)據(jù)。與背景技術(shù)相比,具體使用了Hash算法,對分片數(shù)據(jù)在計算機內(nèi)存中的重組也只需要拷貝一次,因此提高了效率。
文檔編號H04N7/26GK102256182SQ20111020998
公開日2011年11月23日 申請日期2011年7月26日 優(yōu)先權(quán)日2011年7月26日
發(fā)明者唐廷燁 申請人:重慶大唐科技股份有限公司