夏宏飛 呂曉鵬 劉 峰
摘要:在IP網(wǎng)絡(luò)上提供網(wǎng)絡(luò)電視(IPTV)業(yè)務(wù)要面對傳輸帶寬、傳輸延時和抖動、丟包等困難。以終端為中心的實(shí)現(xiàn)方案通過在接收終端以及信源編碼中加入一定的控制策略如擁塞控制策略、差錯控制策略,可以較好地改善圖像質(zhì)量。在IP網(wǎng)絡(luò)上采用端到端的應(yīng)用層可靠性解決方案,能很好的提供IPTV業(yè)務(wù)。應(yīng)用層前向糾錯(AL-FEC)技術(shù)解決網(wǎng)絡(luò)丟包問題,從而保證端到端的可靠性。
關(guān)鍵詞:IP網(wǎng)絡(luò);網(wǎng)絡(luò)電視;應(yīng)用層差錯控制;應(yīng)用層前向糾錯
Abstract: IP networks will face such difficulties as transmission bandwidth, delay, jitter and packet loss when they provide IPTV services. A terminal-centric implementation solution can better improve the image quality by add certain control policies like congestion control and error control to both the receiving terminal and source code. An end-to-end application layer reliability method is often required to satisfy the IPTV requirements in the IP network. The Application Layer Forward Error Correction (AL-FEC) technology solves the problem of packet loss, therefore, it can ensure the end-to-end reliability for IPTV services.
Key words:IP networks; IPTV; application layer error control; AL-FEC
隨著現(xiàn)代網(wǎng)絡(luò)和多媒體業(yè)務(wù)的發(fā)展,人們已經(jīng)不再滿足于在IP網(wǎng)絡(luò)上進(jìn)行傳統(tǒng)的網(wǎng)頁瀏覽、視頻下載、郵件發(fā)送等,開始關(guān)注并利用IP網(wǎng)絡(luò)提供交互式電視業(yè)務(wù),即網(wǎng)絡(luò)電視(IPTV)業(yè)務(wù)。
IPTV這類視頻流業(yè)務(wù)具有信息量大,實(shí)時性強(qiáng)等特點(diǎn)。由于傳統(tǒng)的IP網(wǎng)絡(luò)更多考慮的是不保證實(shí)時傳輸?shù)臄?shù)據(jù)通信,而如今要在IP網(wǎng)絡(luò)上進(jìn)行實(shí)時多媒體業(yè)務(wù)的傳輸,面臨著許多問題[1]。
目前的解決方案主要從網(wǎng)絡(luò)和終端兩方面進(jìn)行研究[2]。根本的解決方案是從網(wǎng)絡(luò)本身入手,但基于網(wǎng)絡(luò)的解決策略對網(wǎng)絡(luò)的體系結(jié)構(gòu)有較為嚴(yán)格的要求,在實(shí)際應(yīng)用中存在較多困難。而以終端為中心的實(shí)現(xiàn)方案通過在接收終端以及信源編碼中加入一定的控制策略如擁塞控制策略、差錯控制策略,可以較好地改善圖像質(zhì)量。這種不改變IP網(wǎng)絡(luò)結(jié)構(gòu)體系,針對IP網(wǎng)絡(luò)中擁塞產(chǎn)生碼流數(shù)據(jù)包丟包或者傳輸錯誤造成的圖像質(zhì)量下降問題,選擇基于應(yīng)用層的差錯控制技術(shù)來提高IPTV業(yè)務(wù)的服務(wù)質(zhì)量(QoS)成為研究熱點(diǎn)。應(yīng)用層差錯控制技術(shù)主要分為編碼端的前向糾錯編碼、解碼端的后處理差錯隱藏、編碼端和解碼端的交互差錯控制等[3]。
1 應(yīng)用層差錯控制技術(shù)
1.1 編碼端的前向糾錯編碼
編碼端的前向糾錯編碼是指在進(jìn)行信源編碼及信道編碼時,采取某種措施使編碼碼流具備一定的差錯復(fù)原能力,即糾錯編碼。主要有分層編碼(LC)、多描述編碼(MDC)以及結(jié)合兩者的分層多描述或多描述分層編碼策略等。
(1)分層編碼
分層編碼(LC)是指將視頻信息編碼成一個基本層(BL)和一個或多個增強(qiáng)層(EL)。其中,BL提供較低但是可接受的視頻質(zhì)量,每個EL在BL的基礎(chǔ)上逐漸提高視頻質(zhì)量。在BL中包含了視頻信息中最重要的內(nèi)容,如運(yùn)動矢量信息等,一旦BL信息丟失,那么EL信息就是無效的。分層編碼使得具有不同帶寬或解碼能力的接收者能訪問同一個視頻源,獲得不同的服務(wù)質(zhì)量。分層編碼的可分級形式很多,通常包括空域可分級、時域可分級、信噪比可分級以及這些分級選項(xiàng)的組合等。
(2)多描述編碼
多描述編碼(MDC)是解決多媒體信息實(shí)時傳輸問題的一種有效方法。在這種系統(tǒng)中,一個原始視頻序列將被編碼成兩個或者更多的數(shù)據(jù)流(我們將這樣的數(shù)據(jù)流稱為對視頻源的描述),且每一個數(shù)據(jù)流都可以被獨(dú)立地解碼出來。多描述編碼有幾個主要的屬性:(a)多描述編碼產(chǎn)生的每一個描述都是獨(dú)立的,都可以重構(gòu)一定質(zhì)量的視頻。(b)每個描述符之間都存在著互補(bǔ)的信息,收到的描述符數(shù)量越多,重構(gòu)的視頻質(zhì)量越高。(c)多描述適合于丟包的環(huán)境,例如網(wǎng)絡(luò)傳輸,因?yàn)閷ν灰曨l的多個描述被封裝在不同的數(shù)據(jù)包里,這樣當(dāng)某些數(shù)據(jù)包丟失時,解碼端就可以根據(jù)己接收到的數(shù)據(jù)包來獲得一個較差質(zhì)量的圖像,而當(dāng)接收到的數(shù)據(jù)包越多時,解碼端的重建圖像質(zhì)量越好。多描述編碼實(shí)現(xiàn)的方法很多,主要多描述量化、多描述變換編碼、多描述運(yùn)動補(bǔ)償以及多描述亞采樣等。
(3)分層多描述或多描述分層編碼
基于分層編碼與多描述編碼的特點(diǎn),可以將多描述編碼與分層編碼技術(shù)相結(jié)合,發(fā)揮兩者各自的優(yōu)勢,在保證系統(tǒng)性能的前提下,實(shí)現(xiàn)對多終端用戶的實(shí)時傳輸。根據(jù)結(jié)合方式的不同可分為具有多描述性的可分級編碼和具有可分級性的多描述編碼兩種。
1.2 解碼端的后處理差錯隱藏
在編碼端,通過利用碼流中的冗余信息來對抗差錯。而解碼端的后處理差錯隱藏是一種可以獨(dú)立于編碼的處理技術(shù),它本身并不改變由于網(wǎng)絡(luò)傳輸而引起的差錯,而是充分利用已接收到的視頻序列在時域和空域的相關(guān)性,采取某些后處理技術(shù),盡可能掩蓋出現(xiàn)的差錯,使圖像的視覺效果接近于不發(fā)生差錯時的效果。換句話說,差錯隱藏技術(shù)不對編碼器作任何要求,不需要增加編碼冗余度,即不增加通信的傳輸負(fù)擔(dān),這種方法屬于視頻信息的后處理方法,原則上對任何圖像編解碼格式和標(biāo)準(zhǔn)都適用,因此其應(yīng)用范圍很廣,是一類較為有效的提高視頻質(zhì)量方法。差錯隱藏主要分為空域差錯隱藏、無運(yùn)動補(bǔ)償?shù)臅r域差錯隱藏和基于運(yùn)動補(bǔ)償?shù)臅r域差錯隱藏等三大類。
1.3 編碼端和解碼端的交互差錯控制
除了在編碼端的前向糾錯編碼和解碼端的后處理差錯隱藏外,還可以利用解碼端的反饋信息來控制編碼,以進(jìn)行差錯控制。另一類交互手段就是普通數(shù)據(jù)傳輸中常用的重傳機(jī)制。
1.4 存在的問題
上述幾種差錯控制技術(shù),確實(shí)可以在一定程度上提高視頻傳輸?shù)聂敯粜?。但同時也存在著一些明顯的缺點(diǎn),降低了它們的實(shí)用價值。
在第一類編碼端的前向糾錯編碼方法中,都是通過增加冗余信息來實(shí)現(xiàn)的。由于信道的時變特性,在進(jìn)行差錯控制時,都是依據(jù)信道的最壞情形來添加冗余信息,缺乏靈活性,浪費(fèi)有限的帶寬資源。而且添加的冗余信息改變了原來的碼流結(jié)構(gòu),不利于編解碼的進(jìn)行。
第二類解碼端的后處理差錯隱藏技術(shù)既不會降低編碼效率,又不會破壞碼流結(jié)構(gòu)和兼容性。但是它的差錯控制能力有限,只能針對誤碼率較低的情況,一旦信道誤碼率較高時,圖像受損的部分過多,僅僅靠后處理的方法很難獲取可接受的圖象質(zhì)量。
第三類編碼端和解碼端的交互差錯控制需要通過反饋信息來實(shí)現(xiàn),如果是少數(shù)丟包情況出現(xiàn)的話,此方法比較適用;但出現(xiàn)丟包較多時,只可能導(dǎo)致網(wǎng)絡(luò)狀況的進(jìn)一步惡化。
IPTV業(yè)務(wù)中規(guī)定的視頻質(zhì)量要求至少達(dá)到廣播電視的視頻質(zhì)量[4],從分辨率來講,標(biāo)清電視(SDTV)的分辨率為720×576,而高清電視(HDTV)的分辨率可以為1 920×1 080。針對這樣的視頻質(zhì)量要求,將分層編碼或者多描述編碼技術(shù)應(yīng)用于IPTV中,實(shí)際上是以降低視頻質(zhì)量為代價來達(dá)到可以觀看的效果,對于要實(shí)現(xiàn)真正IPTV的視頻質(zhì)量是不可能的。而且多描述編碼在低丟包率情況下的效果反而不如單描述編碼。換句話說,通過分層編碼或者多描述編碼技術(shù)無法從根本上解決IPTV中的問題。但對于開展與IPTV業(yè)務(wù)相似的其他業(yè)務(wù)時,這些技術(shù)是可利用的。比如采用P2P技術(shù)的Joost、PPlive、Sopcast等(因?yàn)樗鼈儗σ曨l質(zhì)量沒有具體要求)。而差錯隱藏作為一種后處理技術(shù),抵抗差錯的能力有限,但在解碼端的后處理差錯隱藏中提到的特點(diǎn)決定了可以將此技術(shù)應(yīng)用于IPTV業(yè)務(wù)中。編解碼端的交互差錯控制在IPTV業(yè)務(wù)中被廣泛用到,通過重傳來解決小部分的丟包問題是切實(shí)可行的。總的來說,這些技術(shù)無法從根本上保障IPTV業(yè)務(wù)的順利開展。
2 應(yīng)用層前向糾錯
基于以上這些缺點(diǎn),使用這幾種差錯控制技術(shù)并不能保證IPTV業(yè)務(wù)的視頻傳輸質(zhì)量,但如果在IP網(wǎng)絡(luò)上采用端到端的應(yīng)用層可靠性解決方案,則能很好的提供IPTV業(yè)務(wù)[5]。事實(shí)上應(yīng)用層前向糾錯(AL-FEC)技術(shù)就提供了這樣一種簡單而強(qiáng)有力的方法來解決網(wǎng)絡(luò)丟包問題,從而保證了端到端的可靠性。與鏈路層和物理層FEC(主要是實(shí)現(xiàn)糾錯功能)相比,AL-FEC透明地工作在IP層之上的應(yīng)用層,它應(yīng)用在諸如IPTV流之類的特殊的端到端應(yīng)用流。一種典型的應(yīng)用情況是,AL-FEC發(fā)送端在IPTV服務(wù)器處對所有或選擇的一組IPTV流進(jìn)行處理,然后相應(yīng)的AL-FEC接收端在終端設(shè)備處進(jìn)行處理。AL-FEC的價值在于IPTV流在即使有丟包的情況下,終端用戶的觀看質(zhì)量可以和原始視頻流一樣高。IPTV中的AL-FEC大致可分為3種[6]:Raptor編碼、Pro-MPEG CoP3編碼以及FEC與重傳相結(jié)合。
AL-FEC的基本思想在于糾刪碼的使用。在AL-FEC發(fā)送端,對IPTV流進(jìn)行分割,分成大小相同的數(shù)據(jù)包,通過糾刪碼編碼器對這些數(shù)據(jù)包編碼產(chǎn)生修復(fù)數(shù)據(jù)包,將修復(fù)數(shù)據(jù)包和原始數(shù)據(jù)包一同發(fā)往接收端。在AL-FEC接收端,糾刪碼譯碼器通過修復(fù)數(shù)據(jù)包和原始數(shù)據(jù)包來恢復(fù)所有的原始IPTV流。理想的情況是:接收端只要接收到N 個編碼數(shù)據(jù)包中的任意K 個數(shù)據(jù)包就能完全恢復(fù)所有數(shù)據(jù),整個過程如圖1所示。
2.1 Raptor編碼
從整個AL-FEC機(jī)制來看,操作比較簡單,不需要對原有的網(wǎng)絡(luò)協(xié)議棧進(jìn)行大的改動。但是糾刪碼的種類很多,選擇何種糾刪碼成為AL-FEC成敗的一個關(guān)鍵因素。噴泉碼作為一類新興的具有創(chuàng)新性的糾刪碼可被用于任何概率的刪除信道。第一種有效和實(shí)用的噴泉碼即LT碼。并在此基礎(chǔ)上,擴(kuò)展LT碼后形成了Raptor碼。Raptor碼擁有很低的接收開銷和系統(tǒng)碼等特性。將Raptor碼應(yīng)用于IPTV業(yè)務(wù)中成為一種很具吸引力的選擇。數(shù)字視頻廣播(DVB)的IPTV應(yīng)用和3GPP的多媒體廣播組播業(yè)務(wù)(MBMS)都選擇了Raptor碼作為其AL-FEC規(guī)范[7-8]。
數(shù)字噴泉碼[9]的編碼器就像噴泉噴涌,能夠源源不斷的產(chǎn)生無窮多個編碼數(shù)據(jù)包。假設(shè)源文件的大小為Kl比特,編碼器每次輸出的碼元大小為l 比特,而接收端接收過程可以形象地比喻成拿水桶到噴泉下接水一樣,當(dāng)接收的碼元數(shù)目比K 稍大一點(diǎn)時,就能恢復(fù)源文件。
噴泉碼是碼率無關(guān)的,由源文件經(jīng)過編碼產(chǎn)生的碼元數(shù)目不受限制,可以產(chǎn)生無限多的碼元,這樣一種與碼率無關(guān)的編碼方式?jīng)Q定了它具有很重要的實(shí)際應(yīng)用價值,它不需要像傳統(tǒng)的糾刪碼那樣對信道的刪除情況有個預(yù)判,靈活性大大增強(qiáng)。
Michael Luby[10]找到了一種具有線形編譯碼復(fù)雜度的數(shù)字噴泉碼編碼方式,稱為LT碼。LT碼編碼和譯碼的代價僅為k logek(其中k 是文件大小),而Raptor碼是一種比LT碼編譯碼復(fù)雜度更低的噴泉碼,它通過預(yù)編碼技術(shù)可以允許在無損誤碼性能的條件下,進(jìn)一步降低LT碼度分布概率(用來形成編碼生成矩陣)的復(fù)雜度,實(shí)現(xiàn)大數(shù)據(jù)包條件下,編碼復(fù)雜度與k無關(guān),譯碼復(fù)雜度與k 呈線形關(guān)系。換句話說,因?yàn)橛辛祟A(yù)編碼這一過程,通過LT碼譯碼只需恢復(fù)一部分間接數(shù)據(jù)包,再用傳統(tǒng)糾刪碼來恢復(fù)所有的數(shù)據(jù)包。圖2為Raptor碼編碼過程[11]。
通過使用AL-FEC(Raptor),提供了應(yīng)用層端到端的可靠性[12]。
AL-FEC(Raptor)的優(yōu)勢:
被DVB-H、3GPP、IETF采用,足以說明該方法存在的巨大優(yōu)勢;
能對抗高丟包率情況,擁有靈活的糾錯能力(針對不同的文件及不同的丟包率設(shè)置不同的保護(hù)參數(shù));
高效性,只需很少的修復(fù)數(shù)據(jù)來保證重構(gòu)源文件;
高效的編譯碼效率,只需用軟件實(shí)現(xiàn),很容易部署;
縮短了整個文件的傳輸時間;
無約束的源塊大小來適應(yīng)各種文件;
提高覆蓋范圍,適合于廣播和組播環(huán)境;
與物理層FEC結(jié)合,成為一種最為高效的解決方案;
很好的向后兼容性。
AL-FEC(Raptor)的劣勢:
必須與物理層及鏈路層的FEC相結(jié)合使用;
網(wǎng)絡(luò)帶寬代價一般在5%~10%;
文件過小并不適用。
2.2 Pro-MPEG CoP3編碼
Pro-MPEG CoP3[13]編碼其實(shí)就是一種簡單的奇偶檢驗(yàn)碼,它可以分為CoP3 1D(對行或列進(jìn)行編碼)和CoP3 2D(對行與列都編碼)。圖3為編碼過程:分別對一行或一列數(shù)據(jù)包進(jìn)行異或產(chǎn)生一個編碼數(shù)據(jù)包。
當(dāng)僅使用CoP3 1D時,生成的編碼數(shù)據(jù)包為圖3中最下面一行或者最右面一列,它只能保護(hù)一行或一列中出現(xiàn)一個數(shù)據(jù)包丟失的情況,如果原始數(shù)據(jù)包序列中出現(xiàn)連續(xù)兩個數(shù)據(jù)包被丟失(比如數(shù)據(jù)包0和數(shù)據(jù)包1或者數(shù)據(jù)包0和數(shù)據(jù)包L ),則丟失的兩個數(shù)據(jù)包將無法恢復(fù)。但當(dāng)使用CoP3 2D時,這種情況將不會出現(xiàn)。
如果使用CoP3 2D,一般需要20%的冗余。它最大的優(yōu)點(diǎn)就是操作簡單,但由于它以極大的消耗網(wǎng)絡(luò)帶寬為代價換取傳輸?shù)某晒β?使得它的利用率很低。
2.3 FEC與重傳相結(jié)合
當(dāng)使用這種解決方案時,先通過FEC恢復(fù)絕大部分的丟失數(shù)據(jù),然后剩余的小部分未被恢復(fù)的數(shù)據(jù)通過重傳來獲取。由于網(wǎng)絡(luò)狀況的不同,選擇何種FEC技術(shù)成為此方案好壞的一個關(guān)鍵。
在通過不對稱數(shù)字用戶線(ADSL)來開展的IPTV業(yè)務(wù)中已經(jīng)使用到了這樣的技術(shù)[14],其中絕大多數(shù)選擇使用Pro-MPEG CoP3編碼作為FEC技術(shù)(編解碼過程簡單)。它的優(yōu)點(diǎn)就是增大了恢復(fù)丟失數(shù)據(jù)的概率以及減輕了原來重傳服務(wù)器的負(fù)擔(dān)。它的缺點(diǎn)是沒有一個快速的頻道切換方案,當(dāng)使用Pro-MPEG CoP3編碼時,應(yīng)對隨機(jī)丟包情況時保護(hù)程度不夠。
3 結(jié)束語
隨著IPTV業(yè)務(wù)的深入開展,如何保證視頻質(zhì)量成為IPTV業(yè)務(wù)成敗的關(guān)鍵。無論是編碼端的前向糾錯編碼、解碼端的后處理差錯隱藏或者編碼端和解碼端的交互差錯控制技術(shù),雖然能夠在一定程度上提高視頻傳輸?shù)聂敯粜?但它們自身存在的缺點(diǎn)使得它們不可能成為解決IPTV業(yè)務(wù)問題的完美方案。近幾年,標(biāo)準(zhǔn)化組織已經(jīng)對AL-FEC進(jìn)行了評估并由于它的極佳性能而采用了這種技術(shù)。而且隨著Raptor碼的研究深入,使得AL-FEC技術(shù)由理論開始轉(zhuǎn)向?qū)嵱谩?/p>
4 參考文獻(xiàn)
[1] 石峻. IP網(wǎng)絡(luò)視頻通信若干問題研究[D]. 上海:上海交通大學(xué), 2001.
[2] WU D, HOU T, YAO J, et al. Transmission of real-time video over the Internet: A big picture[C]// Proceedings of the IEEE Networld+Interop, May 7-12, 2000, Las Vegas, NV,USA. Piscataway, NJ,USA: IEEE, 2000:10-11.
[3] 馬然. Internet視頻傳輸中差錯控制的若干關(guān)鍵技術(shù)研究[D]. 上海:上海大學(xué), 2007.
[4] BEGEN A C. Error control for IPTV over xDSL networks[C]// Proceedings of the 5th IEEE Consumer Communications and Networking Conference (CCNC08), Jan 10-12,2008, Las Vegas, NV, USA. Piscataway, NJ,USA: IEEE, 2008: 632-637.
[5] LUBY M, STOCKHAMMER T, WATSON M. IPTV systems, standards and architectures: Part II - Application layer FEC in IPTV services[J]. IEEE Communications Magazine, 2008, 46(5): 94-101.
[6] MILLER J, MIMNAUGH A. Quality - The number one obstacle to IPTV adoption[R]. Fremont, CA USA: Digital Fountain Inc, 2008.
[7] 3GPP TS 26.346 V7.4.0.Multimedia Broadcast/Multicast Service(MBMS); Protocols and Codecs[S]. 2007.
[8] ETSI TS 102 472 V1.1.1. Digital Video Broadcasting (DVB); IP datacast over DVB-H: Content delivery protocols[S]. 2005.
[9] MACKAY D J C. Fountain codes[R]. Cambridge, UK: Cavendish Laboratory, University of Cambridge, 1998.
[10] LUBY M. LT Codes[C]//Proceedings of the 43rd Annual IEEE Symposium on Foundations of Computer Science (FOCS'02),Nov 16-19,2002, Vancouver, Canada. Los Alamitos, CA, USA:IEEE Computer Society, 2002: 271-280.
[11] SHOKROLLAHI A. Raptor codes[J]. IEEE Transactions on Information Theory,2006, 52(6): 2551-2567.
[12] LUBY M G, MILLER J W, PORTER K M. Benefits of AL-FEC for mobile file broadcast: More bandwidth, more range, more ARPU[R]. Fremont,CA USA: Digital Fountain Inc, 2007.
[13] SMPTE specification 2022-1. Forward error correction for real-time video/audio transport over IP networks[S]. 2007.
[14] LI Zhi, ZHU Xiaoqing, BEGEN A C, et al. Forward and retransmitted systematic lossy of error protection for IPTV video multicast[C]//Proceedings of the 17th International Packet Video Workshop (PV09), May,11-12,2009, Seattle, WA,USA. Piscataway, NJ,USA: IEEE, 2009: 9.
收稿日期:2009-05-25
夏宏飛,中興通訊股份有限公司業(yè)務(wù)研究院預(yù)研部主任工程師,從事IPTV、視頻監(jiān)控等多媒體業(yè)務(wù)關(guān)鍵技術(shù)的預(yù)研工作。
呂曉鵬,南京郵電大學(xué)圖像處理與圖像通信江蘇省重點(diǎn)實(shí)驗(yàn)室在讀碩士研究生,研究方向?yàn)閷?shí)時視頻傳輸中的信道編碼技術(shù)——噴泉編碼。
劉峰,南京郵電大學(xué)通信與信息工程學(xué)院副院長、教授,長期從事圖像處理與多媒體通信的教學(xué)與科研工作。