本發(fā)明涉及媒體信息傳播技術(shù)領(lǐng)域,具體涉及一種無(wú)線WiFi多媒體廣播系統(tǒng)的自適應(yīng)組交織方法和裝置。
背景技術(shù):
近年來(lái),無(wú)線WiFi技術(shù)的發(fā)展日新月異,深刻的改變了我們的生活方式。同時(shí)也給我們的世界帶來(lái)了巨大的方便,使得我們能夠輕松快速地溝通交流和獲取大量的信息。隨著無(wú)線WiFi通信技術(shù)發(fā)展的同時(shí),人們對(duì)無(wú)線WiFi通信的功能和用戶(hù)數(shù)量將迅速增長(zhǎng),這必定會(huì)對(duì)無(wú)線WiFi通信傳輸質(zhì)量提出了越來(lái)越高的要求。
由于在無(wú)線WiFi通信系統(tǒng)中,經(jīng)常會(huì)發(fā)生突發(fā)性錯(cuò)誤,如果錯(cuò)誤的時(shí)間過(guò)長(zhǎng),就形成連續(xù)的錯(cuò)誤,這往往會(huì)超過(guò)了糾錯(cuò)碼的糾錯(cuò)能力。因此在無(wú)線WiFi通信信號(hào)處理技術(shù)中,一般會(huì)引入交織技術(shù)來(lái)解決這個(gè)問(wèn)題。這種方法主要是把連續(xù)幀數(shù)據(jù)的順序有規(guī)則的分散錯(cuò)開(kāi),防止數(shù)據(jù)整幀的出現(xiàn)錯(cuò)誤或者丟失,以提高無(wú)線WiFi通信系統(tǒng)的抗干擾能力。在交織技術(shù)中,交織的深度越大,糾錯(cuò)能力越強(qiáng),但是延遲越大。因此,需要在交織長(zhǎng)度和延遲之間做出折中。再者,不同的交織方法,也會(huì)影響到糾錯(cuò)能力。特別地,在互聯(lián)網(wǎng)視頻數(shù)據(jù)的傳送過(guò)程中,一般是使用TCP的形式發(fā)送,進(jìn)行流量控制和差錯(cuò)控制,使得數(shù)據(jù)包的數(shù)量發(fā)生變化,反饋后,重傳的是丟失的數(shù)據(jù)包。如果采用傳統(tǒng)的交織方法,數(shù)據(jù)塊的長(zhǎng)度和內(nèi)容通常是相同和固定不變,在出現(xiàn)突發(fā)錯(cuò)誤的時(shí)候,錯(cuò)誤和丟失的數(shù)據(jù)包會(huì)更多,沒(méi)能夠有效的進(jìn)行流量控制和差錯(cuò)控制。因此,在無(wú)線WiFi多媒體廣播覆蓋系統(tǒng)的視頻數(shù)據(jù)通信中,我們有必要尋找一種更有效的交織方法。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種無(wú)線WiFi多媒體廣播系統(tǒng)的自適應(yīng)組交織方法和裝置,以克服視頻數(shù)據(jù)傳輸過(guò)程中隨機(jī)錯(cuò)誤和突發(fā)錯(cuò)誤,防止節(jié)目流數(shù)據(jù)幀整體丟失和傳輸錯(cuò)誤。
為解決上述問(wèn)題,本發(fā)明是通過(guò)以下技術(shù)方案實(shí)現(xiàn)的:
無(wú)線WiFi多媒體廣播系統(tǒng)的自適應(yīng)組交織方法,包括如下步驟:
步驟1、把接收到的多路節(jié)目流按照系統(tǒng)需求復(fù)用為多節(jié)目IP包的形式;
步驟2、檢測(cè)多節(jié)目IP包中每路節(jié)目流的速率;
步驟3、根據(jù)傳播條件確定數(shù)據(jù)組的長(zhǎng)度,并根據(jù)每路節(jié)目流的速率確定每個(gè)數(shù)據(jù)組中的IP包數(shù)量,從而將多節(jié)目IP包分為數(shù)據(jù)組的形式,實(shí)現(xiàn)自適應(yīng)分組;
步驟4、完成多節(jié)目IP包的分組劃分后,對(duì)每一組數(shù)據(jù)進(jìn)行標(biāo)號(hào);
步驟5、將標(biāo)號(hào)后的數(shù)據(jù)組進(jìn)行間隔錯(cuò)亂排列,從而完成多路節(jié)目流的交織處理。
上述步驟5中,對(duì)數(shù)據(jù)組采用的間隔錯(cuò)亂排列為環(huán)形排列。
實(shí)現(xiàn)上述方法的無(wú)線WiFi多媒體廣播系統(tǒng)的自適應(yīng)組交織裝置,包括復(fù)用模塊、碼流速率檢測(cè)模塊、自適應(yīng)分組模塊、標(biāo)號(hào)模塊和亂序排列模塊;
復(fù)用模塊,把接收到的多路節(jié)目流按照系統(tǒng)需求復(fù)用為多節(jié)目IP包的形式;
碼流速率檢測(cè)模塊,檢測(cè)復(fù)用模塊輸出的多節(jié)目IP包中每路節(jié)目流的速率;
自適應(yīng)分組模塊,根據(jù)傳播條件確定數(shù)據(jù)組的長(zhǎng)度,并根據(jù)碼流速率檢測(cè)模塊所輸出的每路節(jié)目流的速率確定每個(gè)數(shù)據(jù)組中的IP包數(shù)量,從而將多節(jié)目IP包分為數(shù)據(jù)組的形式,實(shí)現(xiàn)自適應(yīng)分組;
標(biāo)號(hào)模塊,對(duì)自適應(yīng)分組模塊輸出的每一組數(shù)據(jù)進(jìn)行標(biāo)號(hào);
亂序排列模塊,將標(biāo)號(hào)模塊輸出的標(biāo)號(hào)后的數(shù)據(jù)組進(jìn)行間隔錯(cuò)亂排列,從而完成多路節(jié)目流的交織處理。
與現(xiàn)有技術(shù)相比,本發(fā)明具有如下特點(diǎn):
第一,塊(組)交織實(shí)現(xiàn)簡(jiǎn)單,計(jì)算復(fù)雜度較低,而且解交織也比較容易實(shí)現(xiàn),延遲時(shí)間比較合理;
第二,每個(gè)組的長(zhǎng)度是根據(jù)碼流速率大小實(shí)時(shí)變化,根據(jù)實(shí)際的通信環(huán)境自動(dòng)調(diào)節(jié)每個(gè)數(shù)據(jù)組的長(zhǎng)度和內(nèi)容,可以克服隨機(jī)錯(cuò)誤和突發(fā)錯(cuò)誤,防止視頻節(jié)目流整體的丟失和錯(cuò)誤;
第三,糾錯(cuò)能力比較強(qiáng),可以提高無(wú)線WiFi通信系統(tǒng)中的抗干擾能力,保證了系統(tǒng)的傳輸質(zhì)量;
第四,這種交織方法可以應(yīng)用于視頻數(shù)據(jù)的無(wú)線WiFi通信和其他數(shù)據(jù)的通信系統(tǒng)中。
附圖說(shuō)明
圖1是本發(fā)明的自適應(yīng)的組交織技術(shù)在無(wú)線通信中應(yīng)用的示意圖。
圖2是無(wú)線WiFi多媒體廣播系統(tǒng)的自適應(yīng)組交織的原理示意圖。
圖3是本發(fā)明的組交織和結(jié)構(gòu)圖。
具體實(shí)施方式
本發(fā)明的技術(shù)方案是:首先在有限范圍無(wú)線WiFi多媒體廣播覆蓋系統(tǒng)中采集到多路視頻節(jié)目流,然后對(duì)視頻節(jié)目數(shù)據(jù)流分組處理,其中數(shù)據(jù)組的長(zhǎng)度是根據(jù)碼流速率大小自適應(yīng)變化,然后在數(shù)據(jù)組之間進(jìn)行交織處理,主要是數(shù)據(jù)組之間是環(huán)形排列,這樣防止了節(jié)目流數(shù)據(jù)幀整體的丟失和傳輸錯(cuò)誤。本發(fā)明可以提高無(wú)線WiFi多媒體廣播覆蓋系統(tǒng)中視頻數(shù)據(jù)傳送的質(zhì)量,保證視頻播放的流暢和清晰。
一種無(wú)線WiFi多媒體廣播系統(tǒng)的自適應(yīng)組交織方法,包括如下步驟:
步驟A、覆蓋系統(tǒng)視頻節(jié)目流的采集。
節(jié)目的來(lái)源形式,可以是遠(yuǎn)程多路(多頻道節(jié)目)多信號(hào)源采集。比如,衛(wèi)星信號(hào),有線電視,地面數(shù)字電視,窄帶的OFDM透?jìng)髋浜线h(yuǎn)端節(jié)目源,和IPTV(Interactive personality TV,IPTV)。特別地,能夠?qū)崿F(xiàn)本地插卡獲取信號(hào)源。因此,能夠?qū)崿F(xiàn)多媒體的隨時(shí)隨地接入和播放,極大的方便了用戶(hù)。這里的數(shù)據(jù)流接收和處理形式可以分為三種格式:1)將接收到的多個(gè)單路節(jié)目IP流經(jīng)過(guò)處理為單通路多節(jié)目IP流;2)多節(jié)目TS(transition stream,TS)復(fù)用流,經(jīng)過(guò)解復(fù)用數(shù)據(jù)流得到各個(gè)單節(jié)目TS流并轉(zhuǎn)碼為多通路多節(jié)目IP流;3)多節(jié)目TS復(fù)用流,經(jīng)過(guò)轉(zhuǎn)換處理為單通路多節(jié)目IP流。我們主要是基于第三種多節(jié)目TS復(fù)用流進(jìn)行分發(fā)處理。
詳細(xì)地,假設(shè)在WiFi覆蓋系統(tǒng)中接收到的數(shù)據(jù)是多路節(jié)目流。這里定義變量R是在覆蓋系統(tǒng)中接收到的數(shù)據(jù),那么
這里N是數(shù)據(jù)流節(jié)目總路數(shù)量,si是第i路數(shù)據(jù)流,κi是比例因子。從式子(1),我們可以看到直播系統(tǒng)中的視頻數(shù)據(jù)是由多路或者多節(jié)目流組成。我們可以把接收到的視頻數(shù)據(jù)流看作是復(fù)用多節(jié)目TS流,每一路節(jié)目流TS流可以看作是由一個(gè)個(gè)TS包組成。每一路TS流有不同的PID(packet identifier,PID)號(hào)標(biāo)記TS包,如圖3中的TS流結(jié)構(gòu)示意圖。
在現(xiàn)有的基于802.11協(xié)議的視頻傳輸系統(tǒng)中,在分發(fā)端接收處理的是基于單路節(jié)目分時(shí)按需分發(fā)。如果響應(yīng)多個(gè)節(jié)目傳輸請(qǐng)求,需要足夠的帶寬資源,而且增加分發(fā)處理器負(fù)荷,且需要大緩存支持。因此,為了解決這兩個(gè)問(wèn)題,在接收到視頻流之后,我們把接收到的復(fù)用節(jié)目流按照系統(tǒng)需求復(fù)用為多節(jié)目IP包的形式,按序發(fā)送。從而可以提高WiFi系統(tǒng)的數(shù)據(jù)傳輸速率和帶寬利用率,以及降低分發(fā)處理器的運(yùn)算負(fù)荷。
詳細(xì)地,根據(jù)多節(jié)目TS流形式,我們把各路數(shù)據(jù)流si按照節(jié)目流速率大小復(fù)用為多節(jié)目IP流的形式,可以表示成為
這里一個(gè)多節(jié)目IP包里面有7個(gè)相同或者不同節(jié)目的TS包(一個(gè)TS包長(zhǎng)度是188字節(jié)),如圖3所示。一個(gè)IP包是一路音視頻節(jié)目當(dāng)中的一幀全部或者部分信息。特別地,這里的數(shù)據(jù)IP包的節(jié)目?jī)?nèi)容是根據(jù)通信狀況確定,這樣可以根據(jù)通信環(huán)境的好壞合理的分配帶寬空間,提高系統(tǒng)的帶寬利用率。
步驟B、節(jié)目流速率檢測(cè)。
在對(duì)多節(jié)目IP流分組之前,自動(dòng)檢測(cè)多節(jié)目流量。根據(jù)不同的節(jié)目流,分配的數(shù)據(jù)幀IP包的數(shù)量不同,為下一步的自適應(yīng)分組做鋪墊。這樣可以有效合理的分配信道帶寬,防止高速率和高動(dòng)態(tài)節(jié)目流中的數(shù)據(jù)出現(xiàn)突發(fā)性錯(cuò)誤和丟包的現(xiàn)象,從而提高多媒體通信質(zhì)量。
用變量R表示視頻數(shù)據(jù)流,在接收到的視頻數(shù)據(jù)包含了多路節(jié)目流,這里用變量N表示節(jié)目流總數(shù)。vi表示第i路節(jié)目的速率,即
vi=f(R),i=1,2,…,N (3)
這里f(·)表示視頻節(jié)目流檢測(cè)函數(shù)。
基于式子(3)檢測(cè)各個(gè)節(jié)目流,從而獲得視頻數(shù)據(jù)流的速率和動(dòng)態(tài)情況。主要是為了檢測(cè)視頻數(shù)據(jù)高速率和高動(dòng)態(tài)的節(jié)目流,用變量Hj(t)表示。那么,Hj(t)的計(jì)算式子為
Hj(t)=Φ(vi|i=1,2,…,N),j=1,…,M (4)
我們需要定義高速率和高動(dòng)態(tài)節(jié)目流。通常假設(shè)沒(méi)有高速率和高動(dòng)態(tài)節(jié)目流的速度是S,設(shè)定一個(gè)閾值Λ,當(dāng)滿(mǎn)足下列式子
|vi-S|≥Λ (5)
的時(shí)候判斷該節(jié)目流存在高速率和高動(dòng)態(tài)現(xiàn)象。這種節(jié)目流通常情況下會(huì)出現(xiàn)數(shù)據(jù)量較大和傳輸突變的現(xiàn)象。
步驟C、以多節(jié)目IP包形式的視頻數(shù)據(jù)流自適應(yīng)分組。
在視頻傳輸過(guò)程中,每個(gè)節(jié)目的碼流速率是各不相同,而且同一個(gè)節(jié)目的碼流在不同時(shí)刻的速率也是變化。因此,為了在發(fā)送視頻數(shù)據(jù)過(guò)程中能夠根據(jù)不同的節(jié)目碼流速率自適應(yīng)地確定發(fā)送數(shù)據(jù)的大小,從而提高信道利用率和數(shù)據(jù)傳輸效率,我們對(duì)視頻數(shù)據(jù)流分組處理,其中數(shù)據(jù)組的長(zhǎng)度是根據(jù)傳播條件自適應(yīng)變化。但是,在選擇了一種長(zhǎng)度的情況下,每個(gè)組的多節(jié)目IP包數(shù)量保持相同。而對(duì)于每一個(gè)節(jié)目流的多節(jié)目IP包數(shù)量是隨著碼流大小和通信狀況自適應(yīng)變化。就像前面陳述的一個(gè)IP包里面有7個(gè)同一節(jié)目的TS包(一個(gè)TS包長(zhǎng)度是188字節(jié))。一個(gè)IP包是一路音視頻節(jié)目當(dāng)中的一幀全部或者部分信息。
由式子(3)-(5)進(jìn)行的節(jié)目流檢測(cè)情況,不同的速率分配不同數(shù)量的IP包。我們規(guī)定速率比較高的節(jié)目流分配的IP包就比較少,這樣可以保證傳輸?shù)馁|(zhì)量。當(dāng)檢測(cè)到高速率和高動(dòng)態(tài)的節(jié)目流,對(duì)應(yīng)的數(shù)據(jù)組被分配的IP包數(shù)量較少。正常速度節(jié)目流分配到IP包數(shù)量是Nt。那么,存在高速率和高動(dòng)態(tài)節(jié)目流的數(shù)據(jù)組被分配的IP包的數(shù)量為
按照不同節(jié)目流的數(shù)據(jù)包數(shù)量封裝數(shù)據(jù)流。根據(jù)不同的節(jié)目流情況分配不同數(shù)量的IP包。
我們可以把以上思路數(shù)學(xué)模型化。定義視頻數(shù)據(jù)流可以分為T(mén)個(gè)組,即
V={G0,G1,…,GT-1} (7)
這里V表示視頻數(shù)據(jù),Gt是第t個(gè)數(shù)據(jù)組。這里分組的數(shù)量T是由視頻數(shù)據(jù)的實(shí)際情況決定。每一個(gè)數(shù)據(jù)組的長(zhǎng)度是按照干擾程度和出錯(cuò)情況(丟包情況)來(lái)自動(dòng)選擇。初始的組長(zhǎng)度是人工手動(dòng)設(shè)置,通常是節(jié)目數(shù)量的10倍。
這里的一組數(shù)據(jù)可以包含20到120幀的IP包。而且,每一組之間是串行排列,數(shù)據(jù)組的長(zhǎng)度是根據(jù)碼流速率大小自適應(yīng)變化。同理,每一組數(shù)據(jù)中包含Nt幀IP包,即
這里20≤Nt≤120,具體可以使用式子(6)確定。而每一幀IP包中包含了6個(gè)TS包,式子(2)可以簡(jiǎn)化成如下列式子所示
IPn={TS1,TS2,…,TS7} (9)
這里的TS包封裝成IP包的形式如圖3中所示。就像式子(9),IP包的長(zhǎng)度是固定不變,而其中的內(nèi)容可以隨著節(jié)目流速率大小變化。一般情況下,一個(gè)IP包中可以包含一路節(jié)目或者多路節(jié)目的TS包。接著使用式子(8)把IP包分為數(shù)據(jù)組的形式,從而完成了視頻數(shù)據(jù)流的分組。這里每個(gè)數(shù)據(jù)組中的IP包數(shù)量是隨著每路節(jié)目流速率變化而變化,因此實(shí)現(xiàn)了自適應(yīng)分組。
步驟D、視頻數(shù)據(jù)組標(biāo)號(hào)處理。
這里的標(biāo)號(hào)處理的規(guī)則是把數(shù)據(jù)流的多節(jié)目IP包分組劃分后,對(duì)每一組數(shù)據(jù)順序編號(hào)。
詳細(xì)地,根據(jù)步驟C中獲得的多節(jié)目IP數(shù)據(jù)流,為了方便判斷客戶(hù)端丟包情況,數(shù)據(jù)重組,在媒體合成處理接收端由編碼器送來(lái)的復(fù)用多節(jié)目IP包后,數(shù)據(jù)小緩存。根據(jù)數(shù)據(jù)復(fù)用多節(jié)目IP流格式,我們定義的嵌入式系統(tǒng)架構(gòu)是2M小緩存。這可以在保證數(shù)據(jù)快速存在的同時(shí)降低硬件資源的損耗。然后,在用戶(hù)數(shù)據(jù)報(bào)UDP(User Datagram Protocol,UDP)上封裝成一個(gè)MPTS(Multi-program transport stream,MPTS)。而且MPTS有自己的數(shù)據(jù)段編號(hào),所以可以用MSTP對(duì)每個(gè)數(shù)據(jù)段從0到65535循環(huán)編號(hào)。這里實(shí)際是每路節(jié)目流有自己的端口號(hào),而每路節(jié)目流中的TS包也有獨(dú)立的編號(hào)。這里對(duì)各個(gè)數(shù)據(jù)組按照順序編號(hào),是為了方便后面的數(shù)據(jù)組交織處理。
步驟E、數(shù)據(jù)組自適應(yīng)組交織處理。
在現(xiàn)有的數(shù)據(jù)流交織技術(shù)中,主要有卷積交織和塊交織。這兩種方法的特點(diǎn)是把數(shù)據(jù)有規(guī)則的錯(cuò)亂排列,而且數(shù)據(jù)的交織單位(即,交織的單位數(shù)據(jù)長(zhǎng)度)是固定不變。特別是塊交織技術(shù),數(shù)據(jù)塊的大小都是相同。
根據(jù)步驟D中分組標(biāo)號(hào)后的數(shù)據(jù),進(jìn)行組之間的交織,如圖3所示。這里的交織思路是把完整節(jié)目流的數(shù)據(jù)有規(guī)則的錯(cuò)開(kāi)排列,從而使得在無(wú)線傳輸過(guò)程中不出現(xiàn)完整數(shù)據(jù)幀的丟失,提高通信系統(tǒng)的抗干擾性能。對(duì)每組數(shù)據(jù)進(jìn)行排列,這里是進(jìn)行一個(gè)環(huán)形排列。如圖3中,數(shù)據(jù)組之間進(jìn)行間隔錯(cuò)亂排列,比如首先排列G1和G2,然后排到第二次G1,接著是G3,和第二次的G2,后面的數(shù)據(jù)組依次相間隔一個(gè)數(shù)據(jù)組環(huán)形排列。
根據(jù)圖3中的環(huán)形排列方法,把數(shù)據(jù)組排列,從而完成視頻數(shù)據(jù)流的交織處理。這里的交織屬于塊交織,相對(duì)于現(xiàn)有的塊交織技術(shù)我們的創(chuàng)新在于而每個(gè)數(shù)據(jù)塊的長(zhǎng)度是根據(jù)碼流速率大小自適應(yīng)變化。交織的處理主要是把數(shù)據(jù)分組后,有規(guī)則的對(duì)數(shù)據(jù)進(jìn)行重新排列。從而實(shí)現(xiàn)在無(wú)線WiFi通信傳輸過(guò)程中抗干擾要求。
一種無(wú)線WiFi多媒體廣播系統(tǒng),如圖1所示,數(shù)據(jù)流服務(wù)器、多媒體合成控制器、自適應(yīng)組交織裝置、WiFi發(fā)射端和客戶(hù)端組成。自適應(yīng)組交織裝置連接在多媒體合成控制器和WiFi發(fā)射端之間。上述自適應(yīng)組交織裝置,如圖2所示,包括復(fù)用模塊、碼流速率檢測(cè)模塊、自適應(yīng)分組模塊、標(biāo)號(hào)模塊和亂序排列模塊。
復(fù)用模塊,把接收到的多路節(jié)目流按照系統(tǒng)需求復(fù)用為多節(jié)目IP包的形式;
碼流速率檢測(cè)模塊,檢測(cè)復(fù)用模塊輸出的多節(jié)目IP包中每路節(jié)目流的速率;
自適應(yīng)分組模塊,根據(jù)傳播條件確定數(shù)據(jù)組的長(zhǎng)度,并根據(jù)碼流速率檢測(cè)模塊所輸出的每路節(jié)目流的速率確定每個(gè)數(shù)據(jù)組中的IP包數(shù)量,從而將多節(jié)目IP包分為數(shù)據(jù)組的形式,實(shí)現(xiàn)自適應(yīng)分組;
標(biāo)號(hào)模塊,對(duì)自適應(yīng)分組模塊輸出的每一組數(shù)據(jù)進(jìn)行標(biāo)號(hào);
亂序排列模塊,將標(biāo)號(hào)模塊輸出的標(biāo)號(hào)后的數(shù)據(jù)組進(jìn)行間隔錯(cuò)亂排列,從而完成多路節(jié)目流的交織處理。
以上模塊使用C言語(yǔ)在ARM平臺(tái)嵌入式系統(tǒng)中編程實(shí)現(xiàn)。并且應(yīng)用到無(wú)形WiFi多媒體廣播覆蓋系統(tǒng)中。
通過(guò)評(píng)估本發(fā)明所提出的自適應(yīng)組交織方法在基于WiFi方式的多媒體廣播系統(tǒng)中的性能,其丟包率可以降低至2.87e-4,這完全可以保證視頻節(jié)目流暢的播放,從而證明了使用廣播方式發(fā)送數(shù)字電視等多媒體信息的可行性和有效性??梢?jiàn),本發(fā)明不僅可以提高系統(tǒng)的吞吐量和速率,而且能夠保證多節(jié)目視頻數(shù)據(jù)傳輸速度和質(zhì)量的情況下大幅度提高同時(shí)接入系統(tǒng)通用移動(dòng)用戶(hù)端的數(shù)量。
上述的實(shí)施案例,僅為對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)一步詳細(xì)說(shuō)明的具體個(gè)例;本發(fā)明并非限定于此。凡在本發(fā)明的公開(kāi)的范圍之內(nèi)所做的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍之內(nèi)。