專利名稱:對(duì)被通道噪聲破壞的視頻數(shù)據(jù)進(jìn)行譯碼的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻數(shù)據(jù)的譯碼方法,更具體地講,涉及對(duì)譯碼器接收到的視頻數(shù)據(jù)進(jìn)行檢錯(cuò)和糾錯(cuò)的方法。
抗差錯(cuò)性(error-robustness)一直是視頻通訊中,尤其是帶有易出許多錯(cuò)誤的系統(tǒng)比如說(shuō)無(wú)線通訊系統(tǒng)中的主要關(guān)注之一。因此,盡了許多努力來(lái)提高視頻通訊系統(tǒng)中被傳輸數(shù)據(jù)的抗差錯(cuò)性。
提高視頻通訊系統(tǒng)抗差錯(cuò)性的方法,從反饋通道概念的觀點(diǎn)來(lái)講,大約可分為兩類一類是反饋方法,另一類是前饋方法。
在典型的反饋方法中,數(shù)據(jù)按照譯碼器和編碼器之間的相互作用被重新傳輸。
圖1是應(yīng)用反饋方法的無(wú)線通訊系統(tǒng)的概念性的方框圖。
當(dāng)譯碼器15由于通道中引入的差錯(cuò)而沒(méi)有能譯出所接收的比特流時(shí),差錯(cuò)檢測(cè)器16檢測(cè)出錯(cuò)誤或錯(cuò)誤存在的數(shù)據(jù)部分,并向譯碼器發(fā)送一個(gè)反饋信號(hào)比如拒絕認(rèn)可(NAK)信號(hào),該拒絕認(rèn)可(NAK)信號(hào)作為自動(dòng)重傳輸請(qǐng)求(ARQ)信號(hào)經(jīng)控制通道或者數(shù)據(jù)通道送給編碼器11。除了重傳輸數(shù)據(jù)外,譯碼器15還要求編碼器11用或不用錯(cuò)誤跟蹤消息或不相等錯(cuò)誤保護(hù)(UEQ)信息來(lái)完成INTRA更新。圖1中參考數(shù)字12和14分別表示處于編碼器一邊及譯碼器一邊的射頻(RF)單元。
用這些方法補(bǔ)充保證了快速差錯(cuò)恢復(fù),從而最終提高圖像質(zhì)量。
然而,反饋通道方法降低了整個(gè)通道的吞吐量并增加了使用該方法的通訊系統(tǒng)的復(fù)雜性,雖然它提供了出錯(cuò)幀的快速更新并保證了業(yè)務(wù)質(zhì)量(QOS)。
而且,反饋方法的一個(gè)重要問(wèn)題是反饋信息不能被錯(cuò)誤破壞。如果反饋信息被破壞,就有更多的反饋信息需要傳輸,或者整個(gè)系統(tǒng)不正常工作,直到系統(tǒng)被校正恢復(fù)。
另一方面,前饋系統(tǒng)由于不用反饋信息,故只增加視頻編碼器或譯碼器的一點(diǎn)兒復(fù)雜性用來(lái)抗差錯(cuò)和/或者提高業(yè)務(wù)質(zhì)量(QOS)。和反饋方法比較,前饋方法保持了整個(gè)通道的吞吐量,并且采用該方法的通訊系統(tǒng)的復(fù)雜性也很低。
有兩種可能實(shí)現(xiàn)前饋的技術(shù)在編碼器估算錯(cuò)誤或在譯碼器檢測(cè)/校正錯(cuò)誤。
圖2A是應(yīng)用前饋技術(shù)中的差錯(cuò)估算方法的無(wú)線通訊系統(tǒng)的概念性的方框圖。
在圖2A所示的系統(tǒng)中,編碼器21通過(guò)監(jiān)控射頻(RF)功率的方法或應(yīng)用出錯(cuò)模型22計(jì)算錯(cuò)誤度的方法來(lái)估算通道差錯(cuò),以便更新或不等同地保護(hù)編碼后的圖像。然后,圖像數(shù)據(jù)與估算的差錯(cuò)信息一起,通過(guò)兩個(gè)射頻(RF)單元(25和26)及其間的通道,傳輸給譯碼器26。
對(duì)可能出錯(cuò)的圖像的特定部分進(jìn)行刷新,產(chǎn)生快速差錯(cuò)恢復(fù),同時(shí)不等同的差錯(cuò)保護(hù)提高了抗差錯(cuò)性。如果編碼器21的差錯(cuò)估算模型22高度可靠,該模型使得譯碼器進(jìn)一步提高業(yè)務(wù)質(zhì)量(QOS)。
然而,該方法通常增加了為抗差錯(cuò)的附加信息,這就可能增加新的比特預(yù)算。其它兩個(gè)缺點(diǎn)是傳輸中附加信息易受通道錯(cuò)誤影響和未保護(hù)區(qū)域可能發(fā)生錯(cuò)誤。
圖2B是應(yīng)用前饋技術(shù)中的差錯(cuò)檢測(cè)/校正方法的無(wú)線通訊系統(tǒng)的概念性的方框圖。
在圖2B所示的系統(tǒng)中,差錯(cuò)檢測(cè)器36提供譯碼器35有關(guān)從編碼器31經(jīng)射頻(RF)單元32和34及其間的通道傳送來(lái)的數(shù)據(jù)中的差錯(cuò)信息,從而譯碼器35校正錯(cuò)誤。
在該方法中,僅在譯碼器方對(duì)到來(lái)的比特流進(jìn)行差錯(cuò)的檢測(cè)和校正,正如圖2B所描繪的。屬于后一種情況的其中一種典型方法是差錯(cuò)隱藏方法。
該方法的基本概念是,當(dāng)譯碼器處于出錯(cuò)的語(yǔ)法(例如,管理信息、運(yùn)動(dòng)矢量、直流/交流(DC/AC)系數(shù),等)時(shí),譯碼器或者用前一幀中無(wú)錯(cuò)誤的組模塊(GOB)或宏模塊(MB)數(shù)據(jù)來(lái)替換出錯(cuò)的組模塊(GOB)或宏模塊數(shù)據(jù),或者使用前一幀中組模塊/宏模塊(GOB/MB)上的運(yùn)動(dòng)矢量信息,以便成功地隱藏當(dāng)前出錯(cuò)的組模塊/宏模塊(GOB/MB),從而,主觀上的視覺(jué)失真便注意不到了。
該技術(shù)的一些優(yōu)點(diǎn)是在比特率低和執(zhí)行起來(lái)復(fù)雜性小的情況下具有相對(duì)較好的視覺(jué)質(zhì)量。然而,在要求高質(zhì)量圖像的高比特率通訊中,由于可能積累的錯(cuò)誤,錯(cuò)誤傳輸效果便可看見(jiàn)。
由于本發(fā)明主要關(guān)注H.263協(xié)議,故值得提一些H.263相比較于H.261所具有的特征。H.263的一個(gè)引人注意的特征是它有四個(gè)可通行選項(xiàng),這毫無(wú)疑問(wèn)提供了比H.261提高很多的特性。另外,H.263由于去掉了運(yùn)動(dòng)矢量(MV)限制符,因而有更簡(jiǎn)單的語(yǔ)法結(jié)構(gòu),這也提供了更好的壓縮性。
同時(shí),H.263的優(yōu)點(diǎn)只有在通道是高度可靠時(shí)才能得到保證,比如說(shuō),在有線的ISDN和POTS線中,其比特錯(cuò)誤率為可忽略不計(jì)的數(shù)量級(jí)10-8或10-9。然而,H.263的優(yōu)點(diǎn)在易出錯(cuò)通道由于下列原因不能得到保證(1)既有隨機(jī)錯(cuò)誤也有突發(fā)錯(cuò)誤的無(wú)線通道在可變長(zhǎng)度編碼(VLC)方式中信息遭到破壞;(2)可通行選項(xiàng)使得管理信息,比如說(shuō),色度宏模塊類型和編碼的模塊型式(MCBPC),有一整套可能的語(yǔ)法元素,而在譯碼器方很難檢錯(cuò)。換句話說(shuō),加入的信息由于四個(gè)可通行選項(xiàng)也使得H.263的比特流在無(wú)線鏈接中易出通道錯(cuò)誤;(3)由于缺少宏模塊限制符,增加了丟掉的模塊數(shù)。
本發(fā)明的目的在于通過(guò)犧牲編碼效率提供一種能有效地對(duì)被破壞的視頻數(shù)據(jù)進(jìn)行譯碼并減少丟失的宏模塊的譯碼方法。
為達(dá)到上述目的,提供了一種對(duì)安排在第一單元的視頻數(shù)據(jù)進(jìn)行譯碼的方法。該第一單元包括多個(gè)第二數(shù)據(jù)單元。每個(gè)第二數(shù)據(jù)單元包含關(guān)于各自第二數(shù)據(jù)單元的狀態(tài)信息。此方法包含以下步驟(a)確定當(dāng)前第二數(shù)據(jù)單元的狀態(tài)信息是否為無(wú)效;(b)如果上述步驟(a)確定第二數(shù)據(jù)單元中的狀態(tài)信息為無(wú)效,則將狀態(tài)信息改變?yōu)橐唤M可能的狀態(tài)信息中的另一個(gè),以便根據(jù)改變的狀態(tài)信息,對(duì)當(dāng)前第一單元中從當(dāng)前第二單元到最后一個(gè)第二單元進(jìn)行視頻數(shù)據(jù)的譯碼;(c)如果對(duì)當(dāng)前第一單元中從當(dāng)前第二單元到最后第二單元進(jìn)行的視頻數(shù)據(jù)譯碼工作,對(duì)任何可能的狀態(tài)信息都不成功,則改變代表視頻數(shù)據(jù)的編碼方案的標(biāo)志,以使該標(biāo)志表示該第二單元是用幀間模式進(jìn)行編碼的;(d)按照改變后的標(biāo)志,對(duì)當(dāng)前第一單元中從當(dāng)前第二單元到最后第二單元進(jìn)行視頻數(shù)據(jù)的譯碼;以及(e)如果上述步驟(d)中對(duì)視頻數(shù)據(jù)的譯碼不成功,則將當(dāng)前第一單元中從當(dāng)前第二單元到最后第二單元的視頻數(shù)據(jù)以先前幀中相應(yīng)的第二單元數(shù)據(jù)替換。
圖1是應(yīng)用反饋方法的無(wú)線通訊系統(tǒng)的概念性方框圖;圖2A是應(yīng)用前饋技術(shù)中的差錯(cuò)估算方法的無(wú)線通訊系統(tǒng)的概念性方框圖;圖2B是應(yīng)用前饋技術(shù)中的差錯(cuò)檢測(cè)/校正方法的無(wú)線通訊系統(tǒng)的概念性方框圖;圖3說(shuō)明H.263協(xié)議中宏模塊層的典型結(jié)構(gòu);圖4說(shuō)明在每個(gè)編碼模式中可能有的MCBPC的組數(shù);圖5是說(shuō)明本發(fā)明的優(yōu)選實(shí)例的流程圖。
在本發(fā)明的特別優(yōu)選實(shí)例中,數(shù)據(jù)按照H.263協(xié)議編碼并傳送,其中H.263是由國(guó)際電信協(xié)會(huì)(ITU)推薦的。
在H.263協(xié)議中,每張圖都被分成模塊組(GOB)。另外,每個(gè)模塊組(GOB)被分成宏模塊(MB)。而且,每個(gè)宏模塊由四個(gè)亮度模塊和兩個(gè)空間上對(duì)應(yīng)的色差模塊組成。
圖3說(shuō)明H.263協(xié)議中宏模塊層的典型結(jié)構(gòu)。
如圖3所示,每個(gè)宏模塊數(shù)據(jù)由宏模塊頭及隨在其后的模塊數(shù)據(jù)組成。宏模塊頭包括編碼宏模塊指示(COD)、色度宏模塊類型和編碼模塊型式(MCBPC)、B模塊的宏模塊模式(MODB)、B模塊的編碼模塊型式(CBPB)、亮度編碼模塊型式(CBPY)、量化信息(DQUANT)、和運(yùn)動(dòng)矢量數(shù)據(jù)(MVD、MVD2、MVD3、MVD4和MVDB)。
COD僅出現(xiàn)在圖像的每個(gè)宏模塊用幀內(nèi)(INTRA)方式編碼的情況。MCBPC也是出現(xiàn)在圖像的每個(gè)宏模塊用幀內(nèi)(INTRA)方式編碼的情況。MODB出現(xiàn)在PB一幀模式下的宏模塊型0-4選擇時(shí)的情況。CBPY、DQUANT、MVD、和MVID2到MVD4是在被MCBPC指示的時(shí)候出現(xiàn)。CBPB和MVDB僅在被MODB指示時(shí)出現(xiàn)。
另外,在圖3所示宏模塊結(jié)構(gòu)中,模塊數(shù)據(jù)是在被MCBPC和CBPY指示時(shí)出現(xiàn)。
在本發(fā)明實(shí)例中,譯碼器接收在基本編碼方式下編碼的視頻數(shù)據(jù),該基本編碼方式不用所推薦的更高性能的H.263協(xié)議的四個(gè)可通行編碼選項(xiàng)。這樣,譯碼器就能很容易地確定某些語(yǔ)法出錯(cuò)位置,而這些語(yǔ)法錯(cuò)誤若是通過(guò)應(yīng)用H.263協(xié)議的可通行選項(xiàng)而利用其全部功能時(shí)是很難發(fā)現(xiàn)的。
換句話說(shuō),本發(fā)明由于視頻數(shù)據(jù)是按照H.263協(xié)議編碼而不用其可通行選項(xiàng),因而語(yǔ)法錯(cuò)誤容易被檢測(cè)到,因此減少了可能的語(yǔ)法組數(shù)。
而且,視頻數(shù)據(jù)是在甚至比基本編碼方式更簡(jiǎn)單的簡(jiǎn)單編碼模式下編碼的。在該簡(jiǎn)單編碼模式下,每個(gè)單幀除初始幀外都在INTER模式下編碼,初始幀是在INTRA模式下編碼。另外,四個(gè)可通行選項(xiàng)沒(méi)有一個(gè)被應(yīng)用。該簡(jiǎn)單編碼模式在通訊中也不包含任何量化值的改變。
如果數(shù)據(jù)在簡(jiǎn)單模式下編碼,能提高語(yǔ)法錯(cuò)誤的校正,因?yàn)樽g碼器已經(jīng)知道某些可能及預(yù)期的語(yǔ)法型式。
同時(shí),全部語(yǔ)法錯(cuò)誤中MCBPC或CBPY中的錯(cuò)誤在重新組建的影像質(zhì)量中起著關(guān)鍵作用。MCBPC和/或CBPY的損壞可導(dǎo)致許多視覺(jué)上惱人的人工現(xiàn)象。因而,本發(fā)明中,視頻數(shù)據(jù)是在存在于MCBPC中的差錯(cuò)基礎(chǔ)上被譯碼的。
圖4示出每個(gè)編碼模式下可能有的MCBPC組數(shù)。
當(dāng)可通行選項(xiàng)、INTRA更新和自適應(yīng)量化都被采用時(shí),可能有的MCBPC元素?cái)?shù)為20,而在標(biāo)準(zhǔn)的H.263協(xié)議下的數(shù)為16。然而,在上述定義的簡(jiǎn)單編碼方式下僅有4個(gè)可能的MCBPC{0x00,0x10,0x20,0x30}。上面描述的可能的MCBPC數(shù)不考慮用于比特填充的一種可能的MCBPC,因?yàn)榧词乖诤?jiǎn)單模式下,關(guān)于比特填充的信息很容易被譯碼。
圖5是說(shuō)明本發(fā)明優(yōu)選實(shí)例的流程圖。
在第50步,確定在宏模塊MB中的MCBPC是否為無(wú)效。執(zhí)行此確定的宏模塊稱作第n個(gè)宏模塊MB N。同時(shí),MCBPC的存在意味著給定MB的COD置為0。如果MB的COD為1,那么對(duì)于這個(gè)MB沒(méi)有更多信息傳送。在這種情況下,對(duì)于整個(gè)模塊為0且無(wú)系數(shù)數(shù)據(jù),譯碼器將此MB作為具有運(yùn)用運(yùn)動(dòng)矢量的在幀間模式下編碼的宏模塊(INTER MB)。
如果在第50步確定MB N的MCBPC為有效,對(duì)當(dāng)前組模塊(GOB)中的從MB N到最后一個(gè)MB宏模塊在步驟52中進(jìn)行譯碼,程序終止。
如果在步驟50中確定MB N的MCBPC為無(wú)效,用MB N的四個(gè)可能的MCBPC繼續(xù)譯碼,直到對(duì)當(dāng)前GOB譯碼完畢。為達(dá)此目的,MCBPC被改變?yōu)榭赡艿腗CBPC中的另一個(gè)(步驟54)。然后,在步驟56中,當(dāng)前GOB中的從MB N到最后一個(gè)MB的宏模塊根據(jù)MCBPC被譯碼。此后,確定當(dāng)前GOB的MB N與末尾MB間是否有錯(cuò)誤發(fā)生(步驟58)。如果無(wú)錯(cuò)誤存在且譯碼工作成功執(zhí)行,程序終止。然而,如果在步驟58中確定譯碼過(guò)程中有錯(cuò)誤發(fā)生,則確定是否對(duì)所有可能的MCBPC都嘗試了譯碼工作(步驟60)。如果在步驟60中確定沒(méi)有對(duì)所有可能的MCBPC嘗試譯碼,則重復(fù)步驟54到60。
如果到在步驟60中確定對(duì)所有可能的MCBPC都嘗試了譯碼工作,換句話說(shuō),對(duì)當(dāng)中GOB中從MB N到末尾的數(shù)據(jù)的譯碼工作對(duì)任何一個(gè)可能的MCBPC沒(méi)有一個(gè)是成功的,則在步驟62中,將已編碼的宏模塊指示(COD)設(shè)置為1,以表示此MB N是在幀間模式下編碼的宏模塊(INTER MB)。
此后,在步驟64中,對(duì)當(dāng)前GOB中從MBN到最后的宏模塊進(jìn)行譯碼。在此過(guò)程中,譯碼器需要對(duì)MB N+1嘗試所有的可能的MCBPC。如果在步驟66中確定譯碼成功,程序終止。
然而,如果在步驟66中確定譯碼不成功,當(dāng)前GOB中從MB N到最后的宏模塊出錯(cuò)的宏模塊用先前幀相同位置的無(wú)錯(cuò)的宏模塊替換(步驟68)。
通過(guò)計(jì)算機(jī)仿真,本發(fā)明的錯(cuò)誤校正方法被證明對(duì)消除“綠色/粉紅色”模塊人造現(xiàn)象非常有效。另外,得到了極大改進(jìn)的PSNR合成曲線,即,得到了較好的測(cè)量結(jié)果。另外,通過(guò)應(yīng)用COD和MCBP錯(cuò)誤校正法,55千位/秒的“汽車電話”序列中總的出錯(cuò)宏模塊的大約10%被成功譯碼。
當(dāng)然,按照本發(fā)明,H.263協(xié)議的編碼效率損失了一點(diǎn)。
然而,通過(guò)犧牲H.263協(xié)議的編碼效率,在易出錯(cuò)通道,借助檢測(cè)和校正語(yǔ)法錯(cuò)誤得到了有效的視頻譯碼。那就是說(shuō),錯(cuò)誤檢測(cè)容易做到,因而視覺(jué)上惱人的模塊人造現(xiàn)象便消除了。另外,因?yàn)楸景l(fā)明不用任何一種反饋方法,系統(tǒng)保持了固定通道吞吐量。而且,由于本發(fā)明減少了被丟掉的宏模塊數(shù),因而還改善了視覺(jué)質(zhì)量。
權(quán)利要求
1.一種對(duì)安排在第一單元的視頻數(shù)據(jù)進(jìn)行譯碼的方法,第一單元包括多個(gè)第二數(shù)據(jù)單元,每個(gè)第二數(shù)據(jù)單元包括關(guān)于各自第二數(shù)據(jù)單元的狀態(tài)信息,所說(shuō)的方法包括下列步驟(a)確定當(dāng)前第二單元中的狀態(tài)信息是否為無(wú)效;(b)如果在所述步驟(a)中確定第二單元的狀態(tài)信息為無(wú)效,則將此狀態(tài)信息改變?yōu)橐唤M可能的狀態(tài)信息中的另一個(gè),根據(jù)改變后的狀態(tài)信息,對(duì)當(dāng)前第一單元中從當(dāng)前第二單元到最后一個(gè)第二單元的視頻數(shù)據(jù)進(jìn)行譯碼;(c)如果對(duì)當(dāng)前第一單元中從當(dāng)前第二單元到最后第二單元中的視頻數(shù)據(jù)進(jìn)行的譯碼工作對(duì)任何一個(gè)可能的狀態(tài)信息都不成功,則改變代表視頻數(shù)據(jù)編碼方案的標(biāo)志,以使該標(biāo)志表示本第二單元是用幀間模式進(jìn)行編碼;(d)按照改變后的標(biāo)志,對(duì)當(dāng)前第一單元中從當(dāng)前第二單元到最后第二單元進(jìn)行視頻數(shù)據(jù)的譯碼;以及(e)如果上述步驟(d)中對(duì)視頻數(shù)據(jù)的譯碼不成功,則將當(dāng)前第一單元中從當(dāng)前第二單元到最后第二單元的視頻數(shù)據(jù)以先前幀中相應(yīng)的第二單元數(shù)據(jù)替換。
2.如權(quán)利要求書(shū)1中所述的對(duì)視頻數(shù)據(jù)譯碼的方法,還包括在所說(shuō)的步驟(a)后,根據(jù)狀態(tài)信息,對(duì)當(dāng)前第一單元中從當(dāng)前第二單元到最后第二單元進(jìn)行視頻數(shù)據(jù)的譯碼的步驟。
3.如權(quán)利要求書(shū)1中所述的對(duì)視頻數(shù)據(jù)譯碼的方法,其中的步驟(b)包括以下步驟(b1)將所述狀態(tài)信息改變?yōu)橐唤M可能的狀態(tài)信息中的另一個(gè);(b2)根據(jù)改變后的狀態(tài)信息,對(duì)當(dāng)前第一單元中從當(dāng)前第二單元到最后第二單元進(jìn)行視頻數(shù)據(jù)的譯碼;(b3)確定當(dāng)前第一單元中當(dāng)前第二單元與最后第二單元之間是否有錯(cuò)誤發(fā)生;(b4)如果在所說(shuō)的步驟(b3)中確定在對(duì)從當(dāng)前第二單元到最后第二單元進(jìn)行的視頻數(shù)據(jù)的譯碼過(guò)程中有錯(cuò)誤發(fā)生,則確定在所說(shuō)步驟(b2)的基礎(chǔ)上,一組可能的狀態(tài)信息中是否有任何一種狀態(tài)信息還沒(méi)試過(guò);以及(b5)如果在所說(shuō)的步驟(b4)中,確定在所說(shuō)步驟(2)的基礎(chǔ)上,一組可能的狀態(tài)信息中確有未被試過(guò)的狀態(tài)信息,則重復(fù)步驟(b1)到(b4)。
全文摘要
一種視頻數(shù)據(jù)的譯碼方法,要被解碼的數(shù)據(jù)安排在第一單元,該第一單元包括多個(gè)包含各自狀態(tài)信息的第二數(shù)據(jù)單元。若當(dāng)前第二單元中的狀態(tài)信息被確認(rèn)無(wú)效,則將該狀態(tài)信息改變?yōu)榱硪粋€(gè)可能的狀態(tài)信息。根據(jù)該狀態(tài)信息對(duì)第一單元中從第二單元到最后第二單元進(jìn)行譯碼,若譯碼工作對(duì)任何一個(gè)可能的狀態(tài)信息都不成功,則改變視頻數(shù)據(jù)編碼方案標(biāo)志,并按改變后的標(biāo)志重復(fù)上述譯碼過(guò)程。若譯碼還不成功,用先前幀相位數(shù)據(jù)替換該視頻數(shù)據(jù)。
文檔編號(hào)H04N7/32GK1201334SQ9810432
公開(kāi)日1998年12月9日 申請(qǐng)日期1998年1月20日 優(yōu)先權(quán)日1997年4月21日
發(fā)明者樸東植 申請(qǐng)人:三星電子株式會(huì)社