專利名稱:針對(duì)移動(dòng)網(wǎng)絡(luò)視頻傳輸?shù)恼`碼掩蓋技術(shù)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種能夠在各種網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)上提高數(shù)碼視頻質(zhì)量的誤碼
掩蓋技術(shù)的方法和裝置,尤其涉及能夠針對(duì)3G網(wǎng)絡(luò)環(huán)境改善視頻質(zhì)量的方 法和裝置。
根據(jù)本發(fā)明實(shí)例,視頻在發(fā)送到網(wǎng)絡(luò)之前在視頻切片層進(jìn)行數(shù)據(jù)分包。 在3G數(shù)據(jù)報(bào)交換網(wǎng)絡(luò)中,數(shù)據(jù)報(bào)丟失是不可避免的。如果丟失了一個(gè)數(shù)據(jù) 報(bào),那么在視頻解碼器端就不能獲得該報(bào)中整個(gè)視頻切片的信息。必須通過 一種誤碼掩蓋技術(shù)來恢復(fù)丟失的信息,使信息丟失對(duì)視頻質(zhì)量的影響最小
化。視頻傳輸誤碼掩蓋方法的工作原理基于以下兩種誤碼掩蓋技術(shù)
-基于僅使用當(dāng)前畫面數(shù)據(jù)的空域誤碼掩蓋技術(shù);
_基于僅使用其相鄰畫面數(shù)據(jù)的時(shí)域誤碼掩蓋技術(shù)。
本發(fā)明誤碼掩蓋方法收集當(dāng)前已解碼的視頻切片中使用幀間模式編碼 宏塊的數(shù)目信息,該信息將用來決定如何進(jìn)行誤碼掩蓋。如果幀間模式編碼 的宏塊百分比超過一個(gè)預(yù)定義的閾值,當(dāng)其相鄰切片丟失時(shí),運(yùn)用時(shí)域誤碼 掩蓋技術(shù)來恢復(fù)丟失切片中的視頻信息;否則,運(yùn)用空域與時(shí)域混合的誤碼 掩蓋技術(shù)。
原則上講,本發(fā)明方法和裝置所提供的誤碼掩蓋引擎可用于任何消費(fèi)電 子設(shè)備,包括手機(jī),PDA等。另外,本發(fā)明誤碼掩蓋引擎可能用來針對(duì)任何 分層視頻壓縮格式掩蓋網(wǎng)絡(luò)傳輸錯(cuò)誤,如MPEG (運(yùn)動(dòng)圖像專家組的縮寫),
H. 26x, WAV,以及RM等。
背景技術(shù):
無線信道容易發(fā)生錯(cuò)誤,如傳輸比特誤碼和數(shù)據(jù)報(bào)丟失。由于視頻壓縮 算法去掉了視頻信息中的冗余,因此壓縮后的數(shù)據(jù)間具有高度的相互依賴 性。傳輸過程中壓縮數(shù)據(jù)任何部分的丟失都會(huì)影響在解碼器端重建后的視頻 質(zhì)量。如果丟失的數(shù)據(jù)是針對(duì)運(yùn)動(dòng)預(yù)測(cè)的一部分,則會(huì)加重這種影響,導(dǎo)致 時(shí)域誤碼擴(kuò)散和誤碼累加。
為了減輕由于丟失或錯(cuò)誤地接收比特流數(shù)據(jù)對(duì)重建后的視頻質(zhì)量的影 響,視頻解碼器應(yīng)對(duì)重建后的幀進(jìn)行后處理,以改善主觀視頻質(zhì)量。這個(gè)過 程稱作誤碼掩蓋。誤碼掩蓋技術(shù)利用存在于視頻信號(hào)中的空域和時(shí)域的相互 關(guān)聯(lián)的特性實(shí)施視頻數(shù)據(jù)恢復(fù)。這些技術(shù)被稱為空域或時(shí)域誤碼掩蓋。
本發(fā)明致力于尋求提高流式視頻傳輸?shù)囊曨l質(zhì)量,例如,能夠恢復(fù)由于 通信丟失的視頻信息的有效方法,意在解決網(wǎng)絡(luò)擁塞或傳輸誤碼對(duì)視頻流的 影響的相關(guān)問題。
在易出錯(cuò)的網(wǎng)絡(luò)鏈接上提供有效視頻服務(wù)的傳統(tǒng)解決方法是在視頻宏 塊層使用空域或時(shí)域誤碼掩蓋技術(shù)(視頻編碼的分層結(jié)構(gòu)如圖3所示)。當(dāng) 丟失了一個(gè)數(shù)據(jù)報(bào),空域誤碼掩蓋技術(shù)可以用來克服該問題,通過其可用相 鄰切片來恢復(fù)丟失的信息。圖1中,掩蓋宏塊的信息可由其相鄰因果宏塊A, B,和C恢復(fù),其使用優(yōu)先級(jí)為A, B, C順序,即宏塊A有效時(shí),使用宏塊 A實(shí)施空域誤碼掩蓋;若宏塊A無效(該宏塊本身有誤碼),則使用宏塊B 實(shí)施空域誤碼掩蓋;依此順序類推。
針對(duì)丟失的幀間編碼宏塊,可以應(yīng)用時(shí)域誤碼掩蓋技術(shù)。為了掩蓋一個(gè) 幀間編碼的宏塊,我們需要恢復(fù)其運(yùn)動(dòng)矢量及殘差。由于殘差信號(hào)是非相關(guān)
的,所以很難從相鄰宏塊去估算它們。然而,研究顯示,如果可以恢復(fù)運(yùn)動(dòng) 矢量,則重建后的視頻質(zhì)量將會(huì)大大地提高。由于來自相鄰宏塊的運(yùn)動(dòng)矢量 具有較高的相關(guān)性,所以解碼器能嘗試從正確接收的相鄰宏塊的運(yùn)動(dòng)矢量恢 復(fù)丟失宏塊的運(yùn)動(dòng)矢量。
目前己經(jīng)在工業(yè)界應(yīng)用的一種測(cè)量失真標(biāo)準(zhǔn),稱為"相鄰絕對(duì)誤差"。相 鄰絕對(duì)誤差計(jì)算當(dāng)前宏塊的相鄰像素及其對(duì)應(yīng)的參考幀中的宏塊之間的絕 對(duì)值誤差。為了減少復(fù)雜性,只包含來自其頂部,底部,左邊和右邊的每一 個(gè)相鄰部分的一個(gè)像素行。相鄰絕對(duì)誤差的計(jì)算如下
<formula>formula see original document page 6</formula>其中&4Z^,&4ZV&4^和&4Z^分別為頂部,底部,左邊和右邊相鄰部分的 絕對(duì)誤差。/(x,力為運(yùn)動(dòng)補(bǔ)償(給定一個(gè)候選運(yùn)動(dòng)矢量)之后估算的宏塊, /(x,力為正確接收的頂部,左邊,底部和右邊的相鄰部分。最終的相鄰絕對(duì) 誤差為所有四個(gè)邊上的絕對(duì)誤差相加。
圖2說明了相鄰絕對(duì)誤差是如何計(jì)算的。兩個(gè)深色宏塊為丟失宏塊及其 參考幀(給定一個(gè)候選運(yùn)動(dòng)矢量)中的對(duì)應(yīng)宏塊。白色像素為其相鄰部分。 沿每一邊只有一個(gè)像素行(16個(gè)像素)用于計(jì)算相鄰絕對(duì)誤差的值。
在3G網(wǎng)絡(luò)環(huán)境中,視頻數(shù)據(jù)是按切片打成數(shù)據(jù)報(bào)并進(jìn)行傳輸?shù)模瑔蝹€(gè) 誤碼掩蓋技術(shù)不能有效地解決這個(gè)問題,因?yàn)椴皇撬泻陦K的編碼模式在丟 失切片時(shí)都是可以得知的。如果針對(duì)3G移動(dòng)網(wǎng)絡(luò)的一種視頻誤碼掩蓋方法 或裝置是實(shí)用的,那么它應(yīng)該盡可能地簡(jiǎn)單,因?yàn)樵搼?yīng)用提供在消費(fèi)電子設(shè) 備上,如,手機(jī),PDA等。在移動(dòng)網(wǎng)絡(luò)上的實(shí)時(shí)視頻通信的場(chǎng)景中,誤碼掩 蓋技術(shù)對(duì)于整個(gè)應(yīng)用的成功是至關(guān)重要的,因?yàn)橐苿?dòng)網(wǎng)的數(shù)據(jù)報(bào)丟失是不可 避免的。目前還沒有這樣有效的方法或裝置。
發(fā)明內(nèi)容
本發(fā)明的第一目標(biāo)是提供一種能夠改善移動(dòng)網(wǎng)絡(luò)上實(shí)時(shí)視頻傳輸服務(wù) 的誤碼掩蓋方法和裝置,使主觀視頻質(zhì)量不會(huì)有明顯的降低。
本發(fā)明的第二目標(biāo)是提供一種適用于任何消費(fèi)電子設(shè)備,如手機(jī)、PDA 等,并且能有效恢復(fù)由于網(wǎng)絡(luò)擁塞或傳輸誤碼導(dǎo)致視頻數(shù)據(jù)丟失的誤碼掩蓋 方法和裝置。
本發(fā)明的第三目標(biāo)是提供一種具有低計(jì)算復(fù)雜度的誤碼掩蓋方法和裝置。
根據(jù)本發(fā)明實(shí)例原則,通過提供一種誤碼掩蓋引擎,以其最寬的涵蓋形 式,根據(jù)其相鄰切片的運(yùn)動(dòng)狀態(tài),決定選擇空域或時(shí)域誤碼掩蓋技術(shù)來彌補(bǔ) 丟失切片中的視頻數(shù)據(jù);如果選擇時(shí)域誤碼掩蓋技術(shù),那么其相鄰切片的宏 塊的平均運(yùn)動(dòng)矢量用做丟失切片中每個(gè)宏塊的運(yùn)動(dòng)矢量;如果選擇空域誤碼 掩蓋技術(shù),那么相鄰切片所對(duì)應(yīng)宏塊的紋理信息用來恢復(fù)丟失的視頻數(shù)據(jù), 以實(shí)現(xiàn)上述目標(biāo)。
本發(fā)明實(shí)例使用相鄰切片的幀間模式編碼宏塊百分比來決定使用空域
或時(shí)域或二者的組合技術(shù)來進(jìn)行誤碼掩蓋。為了達(dá)到實(shí)時(shí)進(jìn)行誤碼掩蓋,只 使用來自可用因果相鄰部分的視頻信息。依照利用相鄰部分的因果結(jié)構(gòu),掩 蓋宏塊處理順序遵循光柵掃描模式,即從左邊到右邊,如圖3所示。本發(fā)明 視頻誤碼掩蓋技術(shù)實(shí)現(xiàn)了高效,因?yàn)樗⒉灰蟠罅康挠?jì)算來決定針對(duì)丟失 視頻切片的誤碼掩蓋技術(shù);本發(fā)明視頻誤碼掩蓋技術(shù)獲得高度的精確性,因 為使用了多種簡(jiǎn)單誤碼掩蓋技術(shù)及其組合來恢復(fù)丟失的數(shù)據(jù)。
本發(fā)明可應(yīng)用于視頻編解碼器,如MPEG4, H.263, H. 264等。業(yè)內(nèi)人士 應(yīng)該可以看出,本發(fā)明也可會(huì)適用于其他具有分層編碼結(jié)構(gòu)的視頻壓縮格 式。
圖l宏塊與其相鄰切片中的相鄰宏塊,(a)非邊緣宏塊,(b)左邊緣宏 塊,(c)右邊緣宏塊;
圖2相鄰絕對(duì)誤差的計(jì)算;
圖3視頻編碼分層結(jié)構(gòu)及光柵掃描的順序;
圖4本發(fā)明誤碼掩蓋技術(shù)的工作流程圖5本發(fā)明時(shí)域誤碼掩蓋技術(shù)的工作流程圖6本發(fā)明混合誤碼掩蓋技術(shù)的工作流程圖7誤碼掩蓋示例。(a)原始圖像,(b)丟失數(shù)據(jù)報(bào)圖像,(c)經(jīng)過誤 碼掩蓋技術(shù)處理后的圖像。
具體實(shí)施例方式
如圖4所示,本發(fā)明是通過一個(gè)視頻誤碼掩蓋引擎400實(shí)現(xiàn)的,由一個(gè)
誤碼檢測(cè)器410, 一個(gè)計(jì)算器420,記錄因果相鄰切片的幀間模式編碼宏塊 的百分比, 一個(gè)時(shí)域掩蓋引擎430以及由空域和時(shí)域二者組合成的掩蓋引擎 440組成。如圖5所示,本發(fā)明空域掩蓋引擎500包括一個(gè)切片運(yùn)動(dòng)矢量估 算器510,為相鄰切片的平均運(yùn)動(dòng)矢量,和一個(gè)時(shí)域掩蓋引擎520。如圖6 所描述, 一個(gè)混合的掩蓋引擎600包含一個(gè)編碼模式估算器610, 一個(gè)空域 掩蓋引擎620,利用最近的相鄰部分來對(duì)丟失切片中的一個(gè)宏塊進(jìn)行時(shí)域掩 蓋,以及一個(gè)時(shí)域掩蓋引擎630,利用最近的相鄰部分的運(yùn)動(dòng)矢量來對(duì)丟失 切片中的一個(gè)宏塊進(jìn)行空域掩蓋。與現(xiàn)有誤碼掩蓋技術(shù)不同,本發(fā)明根據(jù)其 相鄰切片狀態(tài)使用多種誤碼掩蓋技術(shù)來恢復(fù)錯(cuò)誤信息。為了確保丟失切片里 的每個(gè)宏塊在其相鄰切片中具有一個(gè)相鄰可用的宏塊, 一個(gè)視頻切片定義為 一整行宏塊。此外,還使用了交錯(cuò)傳輸技術(shù)來避免誤碼集中發(fā)生時(shí),相鄰視 頻切片全部丟失的情況。
為了克服移動(dòng)網(wǎng)絡(luò)的高誤碼率和高丟包率,MPEG和ITU H.26x視頻編 碼標(biāo)準(zhǔn)都采用了大量誤碼掩蓋技術(shù)。在這兩種標(biāo)準(zhǔn)系列中,引入了切片或視 頻數(shù)據(jù)報(bào)概念?;靖拍顬?, 一個(gè)視頻幀被分成許多切片,所有編碼技術(shù), 如數(shù)據(jù)預(yù)測(cè),運(yùn)動(dòng)估算等,都應(yīng)用在一個(gè)單獨(dú)切片中,不越過該切片的邊界。 當(dāng)傳輸時(shí),每個(gè)切片通常打包為一個(gè)包。使用交錯(cuò)傳輸技術(shù)來確保沒有因?yàn)?網(wǎng)絡(luò)擁塞或高傳輸誤碼率造成相鄰切片丟失。這樣,當(dāng)丟失了一個(gè)切片,它 可以由它的相鄰切片重建,該相鄰切片在那個(gè)時(shí)候通常是可用的。
傳統(tǒng)的誤碼掩蓋技術(shù)在宏塊層彌補(bǔ)誤碼,不提供通過組合空域和時(shí)域技 術(shù)來進(jìn)行誤碼掩蓋的機(jī)制。當(dāng)一個(gè)切片數(shù)據(jù)丟失了,該切片中的宏塊應(yīng)該根 據(jù)其可用相鄰宏塊的編碼狀態(tài)用不同的誤碼掩蓋技術(shù)進(jìn)行彌補(bǔ)。 一種好的誤 碼掩蓋技術(shù)應(yīng)該有效補(bǔ)償丟失的視頻數(shù)據(jù),而不會(huì)引起可感知視頻質(zhì)量大幅
降低。本發(fā)明誤碼掩蓋技術(shù)可以實(shí)現(xiàn)以上目的。
根據(jù)圖7所示的實(shí)驗(yàn)結(jié)果,本發(fā)明誤碼掩蓋技術(shù)能夠掩蓋丟失的視頻數(shù) 據(jù),而不會(huì)造成可感知視頻質(zhì)量的大幅降低。
業(yè)內(nèi)人士應(yīng)該可以看出,本發(fā)明誤碼掩蓋技術(shù)的首要目的是促進(jìn)移動(dòng)網(wǎng) 絡(luò)基礎(chǔ)結(jié)構(gòu)上的視頻傳輸,以提供可接受的視頻質(zhì)量。
由于本發(fā)明的誤碼掩蓋實(shí)例不需要專門的硬件支持,只通過軟件即可實(shí) 現(xiàn)其功能,但不排除專門的硬件實(shí)現(xiàn)方式,因此該技術(shù)可容易地應(yīng)用于任何
類型的消費(fèi)電子產(chǎn)品上,如手機(jī),PDA等。此外,本發(fā)明可用于除MPEG系 列外的任何有分層的視頻編解碼器,如H. 26x系列,WMA, RM等。
前面已經(jīng)十分詳細(xì)地描述了本發(fā)明所提請(qǐng)的技術(shù),使業(yè)內(nèi)人士能夠了解 和使用本發(fā)明,但是,還要提請(qǐng)注意的是,在不偏離本發(fā)明實(shí)質(zhì)的前提下, 還可以對(duì)所提請(qǐng)的技術(shù)發(fā)明進(jìn)行變更和改進(jìn),并且本發(fā)明不受以上說明或附 圖的限制,而是按照所附權(quán)利要求來予以限定。
權(quán)利要求
1.針對(duì)移動(dòng)網(wǎng)絡(luò)視頻傳輸?shù)恼`碼掩蓋方法包括以下步驟a.檢測(cè)由于數(shù)據(jù)報(bào)丟失或傳輸錯(cuò)誤或網(wǎng)絡(luò)系統(tǒng)延遲導(dǎo)致的視頻數(shù)據(jù)錯(cuò)誤;b.計(jì)算相鄰切片的幀內(nèi)編碼宏塊的百分比;c.如果步驟b的結(jié)果不小于預(yù)定義的閾值,那么整個(gè)發(fā)生錯(cuò)誤的切片會(huì)通過時(shí)域掩蓋技術(shù)進(jìn)行補(bǔ)償,其中運(yùn)動(dòng)矢量使用相鄰切片運(yùn)動(dòng)矢量的平均值;d.如果步驟b的結(jié)果小于預(yù)定義的閾值,那么發(fā)生錯(cuò)誤的切片中的每個(gè)宏塊由空域或時(shí)域技術(shù)進(jìn)行補(bǔ)償,分為兩個(gè)步驟1)如果錯(cuò)誤切片中一個(gè)宏塊的最相鄰可用宏塊是幀間模式編碼的,那么錯(cuò)誤切片中的該宏塊利用該可用相鄰宏塊的運(yùn)動(dòng)矢量通過時(shí)域技術(shù)進(jìn)行掩蓋;2)如果錯(cuò)誤切片中一個(gè)宏塊的最相鄰可用宏塊是幀內(nèi)模式編碼的,那么錯(cuò)誤切片中的該宏塊利用其可用相鄰宏塊的紋理信息通過空域技術(shù)進(jìn)行掩蓋。
2. 如權(quán)利要求1所述的方法,其中步驟a包括檢測(cè)視頻數(shù)據(jù)錯(cuò)誤的 多個(gè)步驟,如數(shù)據(jù)報(bào)丟失,傳輸錯(cuò)誤,延遲發(fā)送報(bào)等。
3. 如權(quán)利要求1所述的方法,其中步驟c包括計(jì)算相鄰切片的平均 運(yùn)動(dòng)矢量,并利用該平均運(yùn)動(dòng)矢量來對(duì)整個(gè)錯(cuò)誤切片進(jìn)行時(shí)域掩蓋的多個(gè)步 驟。
4. 如權(quán)利要求1所述的方法,其中步驟d包括步驟為如果其相鄰宏塊為幀間模式編碼,對(duì)宏塊應(yīng)用時(shí)域掩蓋;如果其相鄰宏塊為幀內(nèi)模式編碼,對(duì)宏塊應(yīng)用空域掩蓋。
5. 針對(duì)移動(dòng)網(wǎng)絡(luò)視頻傳輸?shù)恼`碼掩蓋技術(shù)裝置包括a. 檢測(cè)由于數(shù)據(jù)報(bào)丟失或傳輸錯(cuò)誤或網(wǎng)絡(luò)系統(tǒng)延遲導(dǎo)致的視頻數(shù)據(jù) 錯(cuò)誤的單元;b. 計(jì)算相鄰切片的幀間編碼宏塊百分比的單元;c. 如果相鄰切片中幀間模式編碼的宏塊的百分比不小于預(yù)定義的閾 值,對(duì)整個(gè)切片應(yīng)用時(shí)域掩蓋的單元;d. 如果其最近可用宏塊是幀間編碼的,對(duì)宏塊應(yīng)用時(shí)域掩蓋;如果 其最近可用宏塊是幀內(nèi)編碼的,對(duì)宏塊應(yīng)用空域掩蓋。
6. 如權(quán)利要求5所述的裝置,其中單元a包括檢測(cè)視頻數(shù)據(jù)錯(cuò)誤的 多個(gè)單元,如數(shù)據(jù)報(bào)丟失,傳輸錯(cuò)誤,延遲發(fā)送報(bào)等。
7. 如權(quán)利要求5所述的裝置,其中單元c包括計(jì)算相鄰切片的平 均運(yùn)動(dòng)矢量,并利用該平均運(yùn)動(dòng)矢量對(duì)整個(gè)錯(cuò)誤的切片進(jìn)行時(shí)域掩蓋。
8. 如權(quán)利要求5所述的裝置,其中單元d包括如果其相鄰宏塊是 幀間模式編碼的,對(duì)宏塊應(yīng)用時(shí)域掩蓋的單元;如果其相鄰宏塊是幀內(nèi)模式 編碼的,對(duì)宏塊應(yīng)用空域掩蓋的單元。
全文摘要
一種針對(duì)包含3G在內(nèi)的移動(dòng)網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)上的實(shí)時(shí)多媒體應(yīng)用的視頻誤碼掩蓋方法和裝置,能夠提高主觀視頻質(zhì)量,通過采用多種誤碼掩蓋技術(shù)在視頻切片層進(jìn)行誤碼補(bǔ)償。本發(fā)明誤碼掩蓋技術(shù)的工作原理,基于以下兩種掩蓋技術(shù)1)空域掩蓋僅基于從當(dāng)前畫面可獲得的數(shù)據(jù);2)時(shí)域掩蓋僅基于從相鄰畫面可獲得的數(shù)據(jù)。本發(fā)明誤碼掩蓋方法對(duì)當(dāng)前已解碼的視頻切片收集幀間模式編碼的宏塊數(shù)目信息,用來決定當(dāng)下一視頻切片出現(xiàn)錯(cuò)誤時(shí)如何進(jìn)行誤碼掩蓋。如果一個(gè)視頻切片中幀間模式編碼的宏塊百分比超過一個(gè)預(yù)定義的閾值,那么,當(dāng)其相鄰切片丟失的時(shí)候,應(yīng)用時(shí)域誤碼掩蓋技術(shù),否則應(yīng)用空域與時(shí)域混合的掩蓋技術(shù)。本發(fā)明所設(shè)計(jì)的誤碼掩蓋技術(shù)既便于實(shí)施又能高效掩蓋由于數(shù)據(jù)報(bào)丟失,傳輸錯(cuò)誤,網(wǎng)絡(luò)延遲等導(dǎo)致的視頻誤碼。該方法可以容易地應(yīng)用于各種手持設(shè)備,如手機(jī),PDA等。
文檔編號(hào)H04N7/64GK101175217SQ20071017715
公開日2008年5月7日 申請(qǐng)日期2007年11月12日 優(yōu)先權(quán)日2007年11月12日
發(fā)明者高成偉 申請(qǐng)人:昊迪移通(北京)技術(shù)有限公司;高成偉