專利名稱:一種編碼數(shù)據(jù)的解碼方法和裝置的制作方法
背景技術(shù):
本發(fā)明涉及一種編碼數(shù)據(jù)的解碼方法和裝置,尤其涉及一種編碼圖象數(shù)據(jù)的解碼方法和裝置。
MPEG(Moving Picture Expert Group)標(biāo)準(zhǔn)提供了一個關(guān)于對數(shù)字視頻信號進(jìn)行壓縮/編碼的技術(shù)方案。該方案采用了預(yù)測編碼技術(shù),將待編碼的原始數(shù)據(jù)中的各幀圖象(picture)進(jìn)行相應(yīng)的關(guān)聯(lián),并根據(jù)其關(guān)聯(lián)特性確定每一幀圖象相應(yīng)的圖象類型。
MPEG標(biāo)準(zhǔn)的視頻圖象幀的類型一般有三種,即I幀,P幀和B幀。I幀是一種內(nèi)部(intraframe)編碼圖象,該幀圖象在編碼時僅使用自身信息進(jìn)行編碼。P幀是一種預(yù)測(interframe forward-direction predictive)編碼圖象,該幀圖象是根據(jù)前面已編碼的I幀或P幀使用運(yùn)動補(bǔ)償預(yù)測進(jìn)行編碼。B幀是一種雙向預(yù)測(interframe bi-direction predictive)編碼圖象,該幀圖象是根據(jù)前面已編碼的I幀或P幀和后續(xù)的I幀或P幀使用運(yùn)動補(bǔ)償預(yù)測進(jìn)行編碼。
相應(yīng)地,在解碼過程中,一個I幀圖象僅使用自身數(shù)據(jù)來解碼。一個P幀圖象使用前面已解碼的I幀或P幀中的數(shù)據(jù)來解碼。類似地,一個B幀圖象使用在先的和后續(xù)的I幀和/或P幀中的數(shù)據(jù)來解碼。
在MPEG標(biāo)準(zhǔn)的視頻圖象的編碼過程中,所有的圖象幀可被劃分成若干個圖象組(GOP,Group of picture)。一個典型的圖象組包括15幀圖象,其中至少有一個為I幀圖象,一般情況下,在編解碼順序上,該I幀是該圖象組的第一幀圖象。同時,一般在每一幀圖象的內(nèi)容前增加一個頭信息(picture header)。
下面介紹一個符合MPEG標(biāo)準(zhǔn)的圖象頭信息的內(nèi)容結(jié)構(gòu)。該頭信息包含有三個重要的代碼,第一個代碼是picture_start_code,該代碼用于識別一幀圖象的開始,即告訴解碼器一幀新的圖象的到來;第二個代碼是temporal_reference,該代碼用于表明該幀圖象在其圖象組中的位置,最終用于表明該幀圖象在顯示時的順序;第三個代碼是picture_coding_type,該代碼用于表明一幀圖象的類型,如I幀、P幀或B幀。該圖象頭信息中的其它代碼與發(fā)明關(guān)系不緊密,故在此不加以詳述。
一個符合MPEG標(biāo)準(zhǔn)的數(shù)字視頻節(jié)目可被存儲在一個存儲介質(zhì)中,如一個DVD(Digital Versatile Disc)盤片。該節(jié)目可在回放過程中被一個符合MPEG標(biāo)準(zhǔn)的解碼器所解碼,從而獲得編碼前的原始圖象以供播放。但由于DVD盤片的質(zhì)量問題,如劃傷,一些圖象幀的頭信息,特別是其中的picture_start_code,會丟失,由此會造成播放質(zhì)量的降低,如馬賽克,或甚至不能播放。
該符合MPEG標(biāo)準(zhǔn)的數(shù)字視頻節(jié)目還可被通過一個特定信道進(jìn)行傳輸,如廣播。在接收端,該節(jié)目可被一個符合MPEG標(biāo)準(zhǔn)的解碼器所解碼,從而獲得編碼前的原始圖象以供播放。同樣,由于頻道干擾,接收端會接收不到一些圖象的頭信息,丟失了picture_start_code,由此會造成播放質(zhì)量的降低,如馬賽克。
圖1是一個解釋頭信息丟失的損害的示意圖。圖中3號幀、4號幀和5號幀的picture_start_code被損壞,在這種情況下,由于3-5號幀圖象不能被檢測到,解碼器會略過3-5號幀而直接解碼6號幀。該解碼會在0號幀,即I幀,的基礎(chǔ)上進(jìn)行重建。在不發(fā)生上述損壞的情況下,6號幀的解碼重建應(yīng)當(dāng)基于3號幀。由此可見,由于3號幀的丟失,導(dǎo)致6號幀的解碼基于一個錯誤的基礎(chǔ)上,解碼質(zhì)量必然會降低。進(jìn)一步說,由于6號幀還是后續(xù)的7-14號幀的解碼重建的基礎(chǔ),這一解瑪錯誤會被傳播到后續(xù)的幀上,從而擴(kuò)大了錯誤的影響范圍,解碼質(zhì)量必然會大大降低,馬賽克就會被清楚地觀察到。
美國專利5838265(InventorDirk Adolph,Date ofPatentNov.171998)提供了一種解決上述問題的技術(shù)方案。該專利提及了上述問題,并通過在編碼時在組塊(Slice)的頭信息中備份圖象的頭信息中的一些重要參數(shù),從而在圖象的頭信息丟失的情況下可從組塊的頭信息中獲得關(guān)于該圖象的一些重要參數(shù)來供解碼使用。
該專利的缺陷在于盡管該專利提及了圖象的頭信息,特別是picture_start_code,丟失的問題,但并未提出如何確認(rèn)一幀圖象丟失的技術(shù)方案。該專利所采用的技術(shù)方案為備份圖象的頭信息中的一些重要參數(shù),這樣會增加編碼后的數(shù)據(jù)冗余。而且,現(xiàn)有的符合MPEG標(biāo)準(zhǔn)的編碼數(shù)據(jù)在采用該技術(shù)方案后均需要重新編碼,這一工作量將是巨大的。
因此,需要一種新的解碼編碼數(shù)據(jù)的方法和裝置,可以在解碼過程中識別丟失的圖象幀,并進(jìn)行相應(yīng)的處理,從而使得解碼可以順利進(jìn)行,提高解碼質(zhì)量。
發(fā)明內(nèi)容
本發(fā)明的目的之一是為了消除現(xiàn)有的視頻解碼器的缺陷,提供一種新的解碼視頻數(shù)據(jù)的方法和裝置,可以在解碼過程中識別丟失的圖象幀,并進(jìn)行相應(yīng)的處理,從而使得解碼可以順利進(jìn)行,提高解碼質(zhì)量。
本發(fā)明提供了一種錯誤處理方法,用于解碼數(shù)據(jù),該數(shù)據(jù)包含一個圖象組,該圖象組包含多幀相關(guān)的圖象。該方法包括首先,檢測接收到的該圖象組是否連續(xù);然后,如果該圖象組是不連續(xù)的,確定丟失圖象的類型;最后,根據(jù)所確定的丟失圖象的類型以及相應(yīng)的糾錯策略,對該圖象組進(jìn)行處理。其中所述的圖象的類型包括解碼其它圖象需參考的圖象和解碼其它圖象不需參考的圖象。
在本發(fā)明所提供的方法中,可以檢測一個圖象組中的圖象的連續(xù)性,還可進(jìn)一步確定丟失圖象的類型,因此,所采取的錯誤處理策略就更有針對性,從而即使在圖象頭信息丟失的情況下亦可很好地進(jìn)行解碼。
在本發(fā)明的一個實(shí)施例中,所述的圖象組中的圖象在時間順序上是相互關(guān)聯(lián)的,將接收到的圖象的時間順序參數(shù)與預(yù)期可能的時間順序參數(shù)進(jìn)行對比,從而能夠判斷接收到的圖象與之前接收到的一幀圖象是否連續(xù)。該預(yù)期可能的時間順序參數(shù)是通過對接收到的該圖象組中的不同類型的圖象進(jìn)行分別計(jì)數(shù)來獲得。
在本發(fā)明的另一個實(shí)施例中,如果丟失圖象是解碼其它圖象需參考的圖象,則根據(jù)在該丟失圖象之前接收到的同類圖象恢復(fù)該丟失圖象。這樣一來,在解碼其后續(xù)的圖象時仍可參考該圖象,而不至于參考到錯誤的圖象上去,從而避免了錯誤的擴(kuò)散。
本發(fā)明還提供了一種錯誤處理裝置,用于解碼數(shù)據(jù),該數(shù)據(jù)包含一個圖象組,該圖象組包含多幀相關(guān)的圖象。該裝置包括一個檢測裝置,用于檢測接收到的該圖象組是否連續(xù);一個確定裝置,用于如果該圖象組是不連續(xù)的,確定丟失圖象的類型;和一個處理裝置,用于根據(jù)所確定的丟失圖象的類型以及相應(yīng)的糾錯策略,對該圖象組進(jìn)行處理。
本發(fā)明還提供了一個解碼器,用于解碼數(shù)據(jù),該數(shù)據(jù)包含一個圖象組,該圖象組包含多幀圖象。該解碼器包括一個頭解碼裝置,用于對圖象的頭信息進(jìn)行解碼;一個內(nèi)容解碼裝置,用于對圖象的內(nèi)容信息進(jìn)行解碼;和一個錯誤處理裝置,用于根據(jù)圖象的頭信息對錯誤進(jìn)行檢測和進(jìn)行相應(yīng)的處理。該錯誤處理裝置包括一個檢測裝置,用于檢測接收到的該圖象組是否連續(xù);一個確定裝置,用于如果該圖象組是不連續(xù)的,確定丟失圖象的類型;和一個處理裝置,用于根據(jù)所確定的丟失圖象的類型以及相應(yīng)的糾錯策略,對該圖象組進(jìn)行處理。
通過參照結(jié)合附圖所進(jìn)行的如下描述和權(quán)利要求,本發(fā)明的其它目的和成就將是顯而易見的,并對本發(fā)明也會有更為全面的理解。
本發(fā)明通過實(shí)例的方式,參照附圖進(jìn)行詳盡的解釋,其中圖1是一個解釋頭信息丟失的損害的示意圖;圖2是根據(jù)本發(fā)明的一個實(shí)施例的一個錯誤處理裝置的系統(tǒng)框圖;圖3是根據(jù)本發(fā)明的一個實(shí)施例的一個解碼器的系統(tǒng)框圖;圖4是根據(jù)本發(fā)明的一個實(shí)施例的進(jìn)行圖象連續(xù)性判斷的運(yùn)行示意圖。
圖5是根據(jù)本發(fā)明的一個實(shí)施例的一個在解碼過程中進(jìn)行錯誤處理的流程示意圖。
在所有的附圖中,相同的參照數(shù)字表示相似的或相同的特征和功能。
具體實(shí)施例方式
圖2是根據(jù)本發(fā)明的一個實(shí)施例的一個錯誤處理裝置的系統(tǒng)框圖。該錯誤處理裝置200,用于解碼數(shù)據(jù),該數(shù)據(jù)包含一個圖象組,該圖象組包含多幀相關(guān)的圖象。這些圖象在編碼時被相互關(guān)聯(lián),并且根據(jù)其關(guān)聯(lián)特性被分為不同的類型。該圖象的類型包括解碼其它圖象需參考的圖象和解碼其它圖象不需參考的圖象。
裝置200包括一個檢測裝置210,一個確定裝置220和一個處理裝置。裝置200還可選擇性包括一個創(chuàng)建裝置240。
裝置200可為一個解碼器(圖中未顯示)的一部分,其中部分裝置的功能可通過軟件來實(shí)施。裝置200所包括的上述裝置對于本領(lǐng)域的熟練技術(shù)人員來說可以通過多種現(xiàn)有的裝置來實(shí)現(xiàn),只要其組合在一起可以達(dá)到本發(fā)明的功能即可。
檢測裝置210,用于檢測接收到的一個圖象組是否連續(xù)。該檢測裝置根據(jù)接收到的圖象組的頭信息判斷是否接收到一組新的圖象,還可根據(jù)接收到的圖象的頭信息判斷該圖象與其前接收到的圖象是否連續(xù)。檢測裝置210進(jìn)一步包括一個計(jì)數(shù)裝置212和一個對比裝置218。計(jì)數(shù)裝置212用于對接收到的圖象組中的不同類型的圖象進(jìn)行分別計(jì)數(shù)來獲得預(yù)期可能的時間順序參數(shù),關(guān)于該計(jì)數(shù)裝置的工作原理參見下面圖4所述。對比裝置218將接收到的圖象的時間順序參數(shù)與計(jì)數(shù)裝置212中的預(yù)期可能的時間順序參數(shù)進(jìn)行比較,從而確定該圖象與其前接收到的圖象是否連續(xù)。
確定裝置220,用于如果該圖象組是不連續(xù)的,確定已丟失的圖象的類型。如果檢測裝置210的檢測結(jié)果是接收到的圖象與其前接收到的圖象是不連續(xù)的,則確定裝置根據(jù)創(chuàng)建裝置240所創(chuàng)建的圖象類型表和該兩幀圖象(即當(dāng)前接收到的圖象和其前接收到的圖象)的時間順序參數(shù)確定出丟失的圖象的類型。
處理裝置230,用于根據(jù)丟失的圖象的類型和相應(yīng)的糾錯策略,對該圖象組進(jìn)行相應(yīng)的處理。該處理裝置根據(jù)確定裝置220所確定的丟失的圖象的類型,采取相應(yīng)的錯誤處理策略來對該丟失的圖象和/或其后續(xù)的圖象進(jìn)行處理。該處理裝置可選擇性地包括一個忽略裝置232、一個丟棄裝置234和一個恢復(fù)裝置236。如果該丟失的圖象是解碼其它圖象不需參考的圖象,忽略裝置232忽略該丟失的圖象,即忽略該錯誤,無須采取進(jìn)一步行動。如果該丟失的圖象是解碼其它圖象需參考的圖象,該忽略裝置232可忽略丟失的圖象,并且,丟棄裝置234丟棄該圖象組中在該丟失的圖象后的所有圖象。當(dāng)然,在這種情況下,另一種選擇是恢復(fù)裝置236根據(jù)在該丟失的圖象之前接收到的同類圖象恢復(fù)該丟失的圖象。
創(chuàng)建裝置240用于根據(jù)接收到的一組連續(xù)的圖象創(chuàng)建一個圖象類型表,該圖象類型表用于表明該組圖象中每一幀圖象的類型及其對應(yīng)的時間順序參數(shù)。該組連續(xù)的圖象的類型及其對應(yīng)的時間順序參數(shù)可從檢測裝置210獲得。
裝置200的運(yùn)行流程詳見下面圖5所述,其中檢測裝置210的運(yùn)行流程詳見圖4所述。
圖3是根據(jù)本發(fā)明的一個實(shí)施例的一個解碼器的系統(tǒng)框圖。該解碼器包括一個頭解碼裝置310、一個錯誤解碼裝置200、和一個內(nèi)容解碼裝置330。
頭解碼裝置310同現(xiàn)有技術(shù)中的頭解碼器基本一樣,用于對序列頭(sequence header)、圖組頭(GOP header)、圖象頭(picture header)和組塊頭(slice header)等進(jìn)行解碼獲得相應(yīng)的頭信息。
錯誤解碼裝置200的結(jié)構(gòu)和功能如上面圖2所述。該裝置根據(jù)頭解碼裝置310獲得的頭信息對接收到的圖象進(jìn)行檢測,判斷其是否與其前接收到的圖象連續(xù),如果不連續(xù),則進(jìn)一步判斷丟失的圖象的類型,并根據(jù)丟失的圖象的類型來采取相應(yīng)的糾錯措施。如果丟失的圖象的類型是解碼其它圖象不需參考的圖象,則該錯誤可被忽略。如果該丟失的圖象是解碼其它圖象需參考的圖象,該丟失的圖象亦可忽略,并且,該圖象組中在該丟失的圖象后的所有圖象會被丟棄,而不會被送到內(nèi)容解碼裝置330進(jìn)行內(nèi)容解碼。當(dāng)然,如果該丟失的圖象是解碼其它圖象需參考的圖象,另一種選擇是可根據(jù)在該丟失的圖象之前接收到的同類圖象恢復(fù)該丟失的圖象,該恢復(fù)的圖象可作為內(nèi)容解碼裝置330在解碼其后續(xù)的圖象的參考。
內(nèi)容解碼裝置330同現(xiàn)有技術(shù)中的內(nèi)容解碼裝置基本一樣,包括變長碼解碼器(VLD,Variable Length Coding)、反量化(IQ,Inverse Quantization)、反離散余玹變換(IDCT,Inverse Discrete Cosine Transform)、運(yùn)動補(bǔ)償(motion compensation)等。內(nèi)容解碼裝置300在錯誤處理裝置的控制下進(jìn)行有選擇的內(nèi)容解碼。如果錯誤處理裝置200確定的丟失的圖象是解碼其它圖象需參考的圖象,并且相應(yīng)的糾錯措施是根據(jù)在先接收到的同類圖象恢復(fù)該丟失的圖象,則內(nèi)容解碼裝置330可根據(jù)該恢復(fù)的圖象來解碼其后續(xù)的圖象。
裝置300所包括的上述裝置對于本領(lǐng)域的熟練技術(shù)人員來說可以通過多種現(xiàn)有的裝置來實(shí)現(xiàn),只要其組合在一起可以達(dá)到本發(fā)明的功能即可。其中部分裝置的功能可通過軟件來實(shí)施。
裝置300的運(yùn)行流程詳見下面圖5所述。
圖4是根據(jù)本發(fā)明的一個實(shí)施例的進(jìn)行圖象連續(xù)性判斷的運(yùn)行示意圖。該運(yùn)行示意圖反映了檢測裝置210的運(yùn)行過程。
在本實(shí)施例中,所述的圖象來自于一個編碼圖象數(shù)據(jù)流,該編碼數(shù)據(jù)符合MPEG標(biāo)準(zhǔn),包含多個圖象組,每一個圖象組包含15幀圖象,這些圖象在編碼時被相互關(guān)聯(lián),并且根據(jù)其關(guān)聯(lián)特性被分為不同的類型,I幀、P幀和B幀。其中I幀和P幀是解碼其它圖象需參考的圖象,而B幀是解碼其它圖象不需參考的圖象。
該圖象組中的15幀的編碼順序是I、B、B、P、B、B、P、B、B、P、B、B、P、B、B,其相應(yīng)的時間順序參考,temporal_reference(TR),為2、0、1、5、3、4、8、6、7、11、9、10、14、12、13。該TR值被編碼在圖象頭中,代表其在顯示時的實(shí)際顯示順序。
在該實(shí)施例中,每檢測到一個picture_start_code,就意味接收到一幀新的圖象,每一幀接收到的圖象的類型可通過該圖象的頭信息中的picture_coding_type來獲得。
當(dāng)接收到一個新的圖象組的第一幀圖象,即I幀時,將計(jì)數(shù)器IP_counter設(shè)置為該幀的相應(yīng)的TR值,此處TR為2,其后,每接收到一幀該圖象組的圖象,不管該圖象的類型,該IP_counter的值自動加一。該IP_counter的值是一個預(yù)期可能的時間順序參數(shù),可用于預(yù)測接收到的I幀或P幀的TR值。
當(dāng)接收到該圖象組的第一幀B幀時,將計(jì)數(shù)器B_counter設(shè)置為該幀的相應(yīng)的TR值,此處TR為0,其后,每接收到一幀該圖象組的圖象,不管該圖象的類型,該B_counter的值自動加一。該B_counter的值是另一個預(yù)期可能的時間順序參數(shù),可用于預(yù)測接收到的B幀的TR值。
對于一個連續(xù)的圖象組,通過將IP_counter和B_counter的值與接收到的圖象的TR值進(jìn)行比較,不難發(fā)現(xiàn),如果該圖象是I幀或P幀,該TR值應(yīng)該等于IP_counter的值;或者,如果該圖象是B幀,該TR值應(yīng)該等于B_counter的值。由此,如果該TR值既不等于IP_counter值,也不等于B_counter值,則表明接收到的圖象與其前接收到的一幀圖象是不連續(xù)的,即該圖象組是不連續(xù)的,在解碼過程中丟失了圖象。其中一個很重要的原因是該丟失的圖象的picture_start_code未能被檢測到。
在MPEG標(biāo)準(zhǔn)中,每一個圖象組的第一幀圖象一般都是I幀。如果一個圖象組的第一幀圖象,即I幀,丟失,可將該I幀的缺省TR值,如2,賦予IP_counter。
另外,特別是在對一個編碼數(shù)據(jù)流開始解碼時,如果在該流程中檢測到一個連續(xù)的圖象組,還可根據(jù)該圖象組中的所有圖象的頭信息創(chuàng)建一個圖象類型表,該圖象類型表用于表明該組圖象中每一幀圖象的類型及其對應(yīng)的時間順序參數(shù)。該表的內(nèi)容見表1。
表1圖象類型
由于一般在一個編碼數(shù)據(jù)流中所有的圖象組一般具有相同的圖象類型順序,所以該創(chuàng)建過程在一個編碼數(shù)據(jù)的解碼過程中可只進(jìn)行一次,而所獲得的圖象類型表可暫存下來以供在解碼后續(xù)的圖象組時確定丟失圖象的類型之用。該表以鏈表形式存在,當(dāng)然亦可以其它形式存在,只要能達(dá)到相同的功能即可。
該圖象類型表亦可在編碼時根據(jù)編碼的原則將其一次性地加到碼流中,如MPEG標(biāo)準(zhǔn)的user_data( )中,這樣一來,在解碼時就可直接從碼流中獲得該表而無需再去創(chuàng)建該表。對于符合DTV(Digital TV)標(biāo)準(zhǔn)的編碼數(shù)據(jù)節(jié)目,可將該表以一個應(yīng)用的形式插入到節(jié)目中進(jìn)行輪播(Carousel),如每10秒鐘播一次,以便用戶在節(jié)目進(jìn)行過程中的任何時候都能接收到該圖象類型表。
圖5是根據(jù)本發(fā)明的一個實(shí)施例的一個在解碼過程中進(jìn)行錯誤處理的流程示意圖。該流程可應(yīng)用在圖2所示的解碼器上。
首先,接收一組符合MPEG標(biāo)準(zhǔn)的編碼圖象數(shù)據(jù)(步驟S510),該編碼數(shù)據(jù)包含多個圖象組,每一個圖象組包含多幀(如15幀)圖象,這些圖象在編碼時被相互關(guān)聯(lián),并且根據(jù)其關(guān)聯(lián)特性被分為不同的類型,如I幀、P幀和B幀。其中I幀和P幀是解碼其它圖象需參考的圖象,而B幀是解碼其它圖象不需參考的圖象。每一個圖象組在編碼時被加上一個圖組頭信息,該信息包括一個group_strat_code代碼,通過獲取該代碼可得知一個新的圖象組的到來。
其次,獲取一個圖象的頭信息(步驟S520)。該頭信息包括一個picture_start_code代碼,該代碼用于識別一幀圖象的到來,一個temporal_reference代碼,該代碼用于表明該幀圖象在其圖象組中的位置,最終用于表明該幀圖象在顯示時的順序,和一個picture_coding_type代碼,該代碼用于表明一幀圖象的類型,如I幀、P幀或B幀。
然后,根據(jù)圖象頭信息中的內(nèi)容檢測該圖象與所接收到的前一幀圖象是否連續(xù)(步驟S530)。該檢測過程的一種方案參見上面圖4所述,即將該圖象的頭信息中的時間順序參考TR值與其預(yù)期可能的時間順序參數(shù),如IP_counter和/或B_counter進(jìn)行比較。如果該TR值等于IP_counter或B_counter,表明該圖象與其前一幀圖象是連續(xù)的,則對該接收到的圖象進(jìn)行內(nèi)容解碼(步驟S580)。
如果步驟S530的檢測結(jié)果表明該圖象與所接收到的前一幀圖象是不連續(xù),則確定在該不連續(xù)處所丟失的圖象類型(步驟S540)。該確定的過程是運(yùn)用該圖象的TR值和其前一幀接收到的圖象的TR值到表1所示的圖象類型表中進(jìn)行查找獲得丟失的圖象的類型。比如當(dāng)前接收到的圖象的TR值是3,而其前一幀接收到的圖象的TR值是1,則從表1中可以確定出丟失的圖象是TR為5的P幀。
接下來,根據(jù)丟失的圖象的類型采取相應(yīng)的糾錯措施。如果丟失的圖象是B幀(步驟S550),由于B幀是解碼其它圖象不需參考的圖象,故可忽略該錯誤,即忽略該丟失的圖象(步驟S560),并對當(dāng)前接收的圖象進(jìn)行內(nèi)容解碼(步驟S580)。當(dāng)然,亦可采用現(xiàn)有的糾錯措施將該丟失的B幀恢復(fù)出來。
如果丟失的圖象不是B幀(步驟S550),即是I幀或P幀,由于I幀或P幀是解碼其它圖象需參考的圖象,故可采用一定的糾錯措施將該丟失的圖象恢復(fù)出來(步驟S570),如根據(jù)前面兩幀P幀的圖象信息外推從而得到該丟失的幀的內(nèi)容,或者,根據(jù)前一幀P幀和后續(xù)的一個圖象組中的I幀的內(nèi)容內(nèi)插從而得到該丟失的幀的內(nèi)容。然后,根據(jù)該恢復(fù)的圖象的內(nèi)容對當(dāng)前接收到的圖象進(jìn)行內(nèi)容解碼(步驟S580)。當(dāng)然,另一種簡單的糾錯措施為忽略該丟失的圖象,同時將該圖象組中在丟失的圖象后的所有圖象拋棄掉。在這種情況下,當(dāng)前接收到的圖象及其后續(xù)的屬于該圖象組的圖象均被拋棄,無需進(jìn)行內(nèi)容解碼,直到下一個圖象組的頭信息到來,則回到步驟S510開始一個新的流程。
最后,在步驟S580后,判斷該組圖象是否已處理完畢(步驟S590)。該判斷由在該內(nèi)容解碼后的圖象后的一個頭信息的類型來確定。如果該頭信息仍是一幀圖象的頭信息,則表明該組圖象尚未處理完畢,應(yīng)回到步驟S520獲取該圖象的頭信息。如果該頭信息是一個圖象組的頭信息,則表明該組圖象已處理完畢,一個新的圖象組已到,該數(shù)據(jù)尚未解碼完畢(步驟S592),應(yīng)回到步驟S510接收另一組符合MPEG標(biāo)準(zhǔn)的編碼圖象數(shù)據(jù)。如果該頭信息包含一個sequence_end_code,則表明該組圖象已處理完畢(步驟S590),同時該數(shù)據(jù)已解碼完畢(步驟S592),整個解碼流程結(jié)束。
由于在一個編碼數(shù)據(jù)流中,圖象組的頭信息和該圖象組所包含的各個圖象的頭信息是按順序排列的,故上述流程可循環(huán)進(jìn)行直到解碼完整個編碼數(shù)據(jù)流。
在上述流程中,由于圖象的連續(xù)性可被檢測,因此,即使圖象的頭信息,特別是picture_start_code丟失時,丟失圖象的后續(xù)圖象的解碼也不會基于一個錯誤的參考圖象。進(jìn)一步說,由于丟失的圖象的類型可被確定,針對不同的圖象類型可采用不同的糾錯措施,因此,本發(fā)明的優(yōu)點(diǎn)就顯得尤為明顯。
另外,在本發(fā)明的實(shí)施例中以符合MPEG標(biāo)準(zhǔn)的編碼數(shù)據(jù)為例,事實(shí)上,對于任何一種編碼數(shù)據(jù),只要該編碼數(shù)據(jù)包含多個圖象組,每一個圖象組包含多幀圖象,這些圖象在編碼時被相互關(guān)聯(lián),并且根據(jù)其關(guān)聯(lián)特性被分為不同的類型,本發(fā)明所提出的方法和裝置均可適用其中。
雖然經(jīng)過對本發(fā)明結(jié)合具體實(shí)施例進(jìn)行描述,對于在本技術(shù)領(lǐng)域熟練的人士,根據(jù)上文的敘述作出的許多替代、修改和變化將是顯而易見的。因此,當(dāng)這樣的替代、修改和變化落入附后的權(quán)利要求的精神和范圍內(nèi)時,應(yīng)該被包括在本發(fā)明中。應(yīng)當(dāng)注意到,上述實(shí)施方式只是說明性的,而不是限制本發(fā)明,本領(lǐng)域中的普通技術(shù)人員能夠在不偏離所附權(quán)利要求書范圍的前提下,設(shè)計(jì)出許多可替代的實(shí)施方式。在權(quán)利要求書中,“包括”一詞不排除權(quán)利要求中沒有列出的部件(element)或步驟。在部件前面的詞“一個”不排除多個這樣的部件的存在。本發(fā)明可以通過包括幾個特定部件的硬件來實(shí)現(xiàn),亦可通過適當(dāng)編程的計(jì)算機(jī)來實(shí)現(xiàn)。
權(quán)利要求
1.一種錯誤處理方法,用于解碼數(shù)據(jù),該數(shù)據(jù)包含一個圖象組,該圖象組包含多幀相關(guān)的圖象,該方法包括步驟檢測接收到的該圖象組是否連續(xù);如果該圖象組是不連續(xù)的,確定丟失圖象的類型;和根據(jù)所確定的丟失圖象的類型以及相應(yīng)的糾錯策略,對該圖象組進(jìn)行處理。
2.如權(quán)利要求1所述的方法,其中所述的圖象在時間順序上是相互關(guān)聯(lián)的,所述的檢測步驟包括將接收到的圖象的時間順序參數(shù)與預(yù)期可能的時間順序參數(shù)進(jìn)行對比。
3.如權(quán)利要求2所述的方法,其中所述的預(yù)期可能的時間順序參數(shù)是通過對接收到的該圖象組中的不同類型的圖象進(jìn)行分別計(jì)數(shù)來獲得。
4.如權(quán)利要求1所述的方法,其中所述的圖象的類型包括解碼其它圖象需參考的圖象和解碼其它圖象時不需參考的圖象。
5.如權(quán)利要求4所述的方法,其中如果所確定的丟失圖象是解碼其它圖象不需參考的圖象,所述的處理步驟包括忽略該丟失圖象。
6.如權(quán)利要求4所述的方法,其中如果所確定的丟失圖象是解碼其它圖象需參考的圖象,所述的處理步驟包括忽略該丟失圖象;丟棄該圖象組中在該丟失圖象后的所有圖象。
7.如權(quán)利要求4所述的方法,其中如果所確定的丟失圖象是解碼其它圖象需參考的圖象,所述的處理步驟包括根據(jù)在該丟失圖象之前接收到的同類圖象恢復(fù)該丟失的圖象。
8.如權(quán)利要求1所述的方法,還包括步驟如果該圖象組是連續(xù)的,根據(jù)該圖象組創(chuàng)建一個圖象類型表,該圖象類型表用于表明該圖象組中每一幀圖象的類型及其對應(yīng)的時間順序參數(shù)。
9.如權(quán)利要求1所述的方法,其中所述的數(shù)據(jù)符合MPEG(Moving Picture Expert Group)標(biāo)準(zhǔn)。
10.如權(quán)利要求1或9所述的方法,其中所述的圖象的類型包括I幀、P幀和B幀。
11.一種錯誤處理裝置,用于解碼數(shù)據(jù),該數(shù)據(jù)包含一個圖象組,該圖象組包含多幀相關(guān)的圖象,該裝置包括一個檢測裝置,用于檢測接收到的該圖象組是否連續(xù);一個確定裝置,用于如果該圖象組是不連續(xù)的,確定丟失圖象的類型;和一個處理裝置,用于根據(jù)所確定的丟失圖象的類型以及相應(yīng)的糾錯策略,對該圖象組進(jìn)行處理。
12.如權(quán)利要求11所述的裝置,其中所述的圖象在時間順序上是相互關(guān)聯(lián)的,所述的檢測裝置包括一個對比裝置將接收到的圖象的時間順序參數(shù)與預(yù)期可能的時間順序參數(shù)進(jìn)行比較。
13.如權(quán)利要求12所述的裝置,其中所述的檢測裝置還包括一個計(jì)數(shù)裝置,用于對接收到的該圖象組中的不同類型的圖象進(jìn)行分別計(jì)數(shù)來獲得預(yù)期可能的時間順序參數(shù)。
14.如權(quán)利要求11所述的裝置,其中所述的圖象的類型包括解碼其它圖象需參考的圖象和解碼其它圖象不需參考的圖象。
15.如權(quán)利要求14所述的裝置,其中如果所確定的丟失圖象是解碼其它圖象不需參考的圖象,所述的處理裝置包括一個忽略裝置,用于忽略該丟失圖象。
16.如權(quán)利要求14所述的裝置,其中如果所確定的丟失圖象是解碼其它圖象需參考的圖象,所述的處理裝置包括一個忽略裝置,用于忽略該丟失圖象;一個丟棄裝置,用于丟棄該圖象組中在該丟失圖象后的所有圖象。
17.如權(quán)利要求14所述的裝置,其中如果所確定的丟失圖象是解碼其它圖象需參考的圖象,所述的處理裝置包括一個恢復(fù)裝置,用于根據(jù)在該丟失圖象之前接收到的同類圖象恢復(fù)該丟失圖象。
18.如權(quán)利要求11所述的裝置,還包括一個創(chuàng)建裝置,用于如果該圖象組是連續(xù)的,根據(jù)該圖象組創(chuàng)建一個圖象類型表,該圖象類型表用于表明該圖象組中每一幀圖象的類型及其對應(yīng)的時間順序參數(shù)。
19.一個解碼器,用于解碼數(shù)據(jù),該數(shù)據(jù)包含一個圖象組,該圖象組包含多幀相關(guān)的圖象,該解碼器包括一個頭解碼裝置,用于對圖象的頭信息進(jìn)行解碼;一個內(nèi)容解碼裝置,用于對圖象的內(nèi)容信息進(jìn)行解碼;和一個錯誤處理裝置,用于根據(jù)圖象的頭信息對錯誤進(jìn)行檢測和進(jìn)行相應(yīng)的處理,該錯誤處理裝置包括一個檢測裝置,用于檢測接收到的該圖象組是否連續(xù),一個確定裝置,用于如果該圖象組是不連續(xù)的,確定丟失圖象的類型,和一個處理裝置,用于根據(jù)所確定的丟失圖象的類型以及相應(yīng)的糾錯策略,對該圖象組進(jìn)行處理。
全文摘要
本發(fā)明提供了一種錯誤處理方法和裝置,用于解碼數(shù)據(jù),該數(shù)據(jù)包含一個圖象組,該圖象組包含多幀相關(guān)的圖象。首先,檢測接收到的該圖象組是否連續(xù);然后,如果該圖象組是不連續(xù)的,確定丟失圖象的類型;最后,根據(jù)所確定的丟失圖象的類型以及相應(yīng)的糾錯策略,對該圖象組進(jìn)行處理。其中所述的圖象的類型包括解碼其它圖象需參考的圖象和解碼其它圖象不需參考的圖象。在本發(fā)明所提供的技術(shù)方案中,可以檢測一個圖象組中的圖象的連續(xù)性,還可進(jìn)一步確定丟失圖象的類型,因此,所采取的錯誤處理策略就更有針對性,從而即使在圖象頭信息丟失的情況下亦可很好地進(jìn)行解碼。
文檔編號H03M13/00GK1722830SQ200410069940
公開日2006年1月18日 申請日期2004年7月13日 優(yōu)先權(quán)日2004年7月13日
發(fā)明者郭曉天 申請人:皇家飛利浦電子股份有限公司