欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種視頻預(yù)測編碼方法和解碼方法

文檔序號(hào):7965025閱讀:127來源:國知局
專利名稱:一種視頻預(yù)測編碼方法和解碼方法
技術(shù)領(lǐng)域
本發(fā)明涉及視頻或圖像處理領(lǐng)域,特別涉及一種視頻預(yù)測編碼方法和解碼方法。
背景技術(shù)
預(yù)測編碼(Predictive Coding)是一種廣泛地應(yīng)用于時(shí)間序列圖像數(shù)據(jù)或語音數(shù)據(jù)的壓縮編碼技術(shù)。預(yù)測編碼的方法是從相鄰像素之間有較強(qiáng)的相關(guān)性特點(diǎn)考慮,比如當(dāng)前像素的灰度或顏色信號(hào),數(shù)值上與其相鄰像素總是比較接近,除非處于邊界狀態(tài);那么,當(dāng)前像素的灰度或顏色信號(hào)的數(shù)值,可用前面已出現(xiàn)的像素的值進(jìn)行預(yù)測,得到一個(gè)預(yù)測值,將實(shí)際值與預(yù)測值求差,對(duì)差值信號(hào)進(jìn)行編碼后形成碼流并傳送,這種編碼方法稱為預(yù)測編碼方法。
對(duì)于視頻編碼通常采用的是幀內(nèi)預(yù)測編碼。幀內(nèi)預(yù)測編碼技術(shù)的特點(diǎn)是在同一幀畫面內(nèi),用前面已經(jīng)出現(xiàn)的像素對(duì)當(dāng)前處理的像素進(jìn)行預(yù)測,以確定當(dāng)前處理的像素的值。這樣就可能導(dǎo)致如下問題若某個(gè)像素在編碼過程中或信號(hào)傳送過程中發(fā)生錯(cuò)誤,則這個(gè)錯(cuò)誤有可能傳遞到后面的像素,使后面的像素也發(fā)生錯(cuò)誤,嚴(yán)重時(shí)可能使解碼后生成的整幀畫面變花。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的在于,提出一種易于糾錯(cuò)的視頻預(yù)測編碼方法,能夠很方便地對(duì)碼流中的錯(cuò)誤進(jìn)行檢測、控制并自動(dòng)糾錯(cuò)。該方法包括如下步驟A、按照預(yù)定的劃分方式將一幀圖像分成一個(gè)以上的像素集合;B、在各個(gè)像素集合內(nèi)分別進(jìn)行預(yù)測編碼。
步驟A包括判斷當(dāng)前處理的像素行是否為預(yù)設(shè)的像素集合的第1行,若是,在編碼生成的碼流中寫入集合頭標(biāo)記;否則在編碼生成的碼流中寫入行頭標(biāo)記。
步驟B所述在各個(gè)像素集合內(nèi)分別進(jìn)行預(yù)測編碼包括對(duì)像素集合的第一個(gè)像素用預(yù)先設(shè)定的預(yù)測值進(jìn)行預(yù)測編碼;對(duì)像素集合的其他像素,根據(jù)本像素集合內(nèi)已編碼的像素計(jì)算預(yù)測值并對(duì)其進(jìn)行預(yù)測編碼。
若像素值的位寬為8比特,則所述預(yù)先設(shè)定的預(yù)測值為128。
所述對(duì)像素集合的其他像素,根據(jù)本像素集合內(nèi)已編碼的像素計(jì)算預(yù)測值并對(duì)其進(jìn)行預(yù)測編碼包括判斷所述其他像素是否像素集合第一行的像素,若是,則根據(jù)該像素的前一個(gè)像素計(jì)算預(yù)測值并對(duì)其進(jìn)行預(yù)測編碼;否則,根據(jù)該像素的前一個(gè)像素以及前一個(gè)像素行內(nèi)與該像素相鄰的像素計(jì)算預(yù)測值并對(duì)其進(jìn)行預(yù)測編碼。
所述判斷所述其他像素是否像素集合第一行的像素為如下任意一種判斷所述其他像素的行號(hào)是否為32的倍數(shù),若是則該像素為像素集合的第一行的像素;判斷所述其他像素所處像素行的前一行的行頭標(biāo)記是否為0xFF1F,若是則該像素為像素集合的第一行的像素。
步驟B進(jìn)一步包括在每一行編碼結(jié)束后,根據(jù)該行的編碼結(jié)果計(jì)算校驗(yàn)碼,將所生成的校驗(yàn)碼寫入碼流中。
所述校驗(yàn)為如下任意一種異或校驗(yàn)、循環(huán)冗余校驗(yàn)或奇偶校驗(yàn)。
所述預(yù)測編碼為如下方法的任意一種 自適應(yīng)差分脈沖編碼調(diào)制ADPCM、差分脈沖編碼調(diào)制DPCM、離散余弦變換編碼或熵編碼。
本發(fā)明的另一目的在于,提出一種易于糾錯(cuò)的視頻預(yù)測解碼方法,能夠很方便地對(duì)碼流中的錯(cuò)誤進(jìn)行檢測、控制并自動(dòng)糾錯(cuò)。該方法包括a、將碼流中的數(shù)據(jù)劃分為不同的像素集合;
b、對(duì)屬于每一個(gè)像素集合的數(shù)據(jù)分別進(jìn)行預(yù)測解碼,并輸出解碼結(jié)果。
所述將碼流中的數(shù)據(jù)劃分為不同的像素集合為檢測碼流中是否出現(xiàn)集合頭標(biāo)記,將兩次出現(xiàn)集合頭標(biāo)記之間的編碼數(shù)據(jù)作為一個(gè)像素集合的數(shù)據(jù)。
步驟b進(jìn)一步包括檢測碼流中是否出現(xiàn)行頭標(biāo)記,根據(jù)檢測結(jié)果確定集合頭標(biāo)記與其后第一個(gè)行頭標(biāo)記之間的編碼數(shù)據(jù)為其所在像素集合的第一行像素的編碼數(shù)據(jù),并對(duì)第一行像素的編碼數(shù)據(jù)進(jìn)行預(yù)測解碼;確定相鄰兩次出現(xiàn)行頭標(biāo)記之間的編碼數(shù)據(jù)為其所在像素集合的非第一行像素的編碼數(shù)據(jù),并對(duì)非第一行像素的編碼數(shù)據(jù)進(jìn)行預(yù)測解碼。
步驟b所述對(duì)第一行像素的數(shù)據(jù)進(jìn)行預(yù)測解碼為對(duì)于所述像素集合的第一行第一個(gè)像素,采用預(yù)先設(shè)定的固定值作為預(yù)測值,并由所述像素集合的碼流中解碼得到第一個(gè)解碼值,將該解碼值與所述預(yù)測值相加得到所述像素集合的第一行第一個(gè)像素的像素值;對(duì)于所述像素集合的第一行其它像素,采用其前一個(gè)已經(jīng)解碼的像素的像素值進(jìn)行預(yù)測得到預(yù)測值,并從所述像素集合的碼流中解碼得到相應(yīng)的解碼值,將該解碼值與所述預(yù)測值相加得到解碼后的像素值。
步驟b所述對(duì)非第一行的像素進(jìn)行預(yù)測解碼為根據(jù)本像素集合內(nèi)已解碼的像素進(jìn)行預(yù)測得到預(yù)測值,并從所述像素集合的碼流中解碼得到相應(yīng)的解碼值,將該解碼值和預(yù)測值相加得到解碼后的像素值。
所述步驟b進(jìn)一步包括,根據(jù)碼流中像素集合內(nèi)每一行編碼值計(jì)算校驗(yàn)碼,將所計(jì)算出的校驗(yàn)碼與碼流中對(duì)應(yīng)的校驗(yàn)碼進(jìn)行比較,若比較結(jié)果一致,則對(duì)所述行像素值的校驗(yàn)通過,輸出解碼得到的當(dāng)前行像素;否則校驗(yàn)不通過。
所述校驗(yàn)不通過,且該行像素不是整幀圖像的第一行像素,則進(jìn)一步包括將解碼得到的上一行的像素值與當(dāng)前行解碼得到的像素值進(jìn)行比較,根據(jù)比較結(jié)果檢測所發(fā)生錯(cuò)誤是否嚴(yán)重,若是,則對(duì)當(dāng)前解碼得到的結(jié)果進(jìn)行糾錯(cuò)處理,并輸出糾錯(cuò)后的這一行像素;否則直接輸出解碼得到的當(dāng)前行像素。
所述將解碼得到的上一行的像素值與當(dāng)前行解碼得到的像素值進(jìn)行比較,根據(jù)比較結(jié)果檢測所發(fā)生錯(cuò)誤是否嚴(yán)重包括將當(dāng)前解碼得到的這一行的各個(gè)像素值分別與解碼得到的上一行同一列的像素值相減,所得差的絕對(duì)值相加后再平均,得到像素差特征值;將所得像素差特征值與預(yù)先設(shè)置的閾值比較,若大于閾值,則錯(cuò)誤嚴(yán)重,否則錯(cuò)誤不嚴(yán)重。
若像素值的位寬為8比特,則所述閾值為4。
所述糾錯(cuò)處理為將解碼得到的前一行像素值拷貝過來作為當(dāng)前處理像素行的像素值。
從以上技術(shù)方案可以看出,本發(fā)明方法將一幀畫面的全部像素分成多個(gè)像素集合,并對(duì)每個(gè)像素集合獨(dú)立采用預(yù)測編碼方法進(jìn)行編碼;這樣解碼時(shí)如果像素出現(xiàn)錯(cuò)誤,就可以使得錯(cuò)誤被限制在像素集合內(nèi)而不會(huì)蔓延到整個(gè)畫面。在此基礎(chǔ)上,還可以在解碼時(shí),對(duì)像素是否出現(xiàn)錯(cuò)誤以及錯(cuò)誤的嚴(yán)重程度進(jìn)行檢驗(yàn),并根據(jù)檢驗(yàn)的結(jié)果進(jìn)行糾錯(cuò),進(jìn)一步改善解碼生成的畫面質(zhì)量。


圖1為本發(fā)明實(shí)施例將一幀畫面劃分為像素集合的示意圖;圖2為本發(fā)明實(shí)施例的碼流結(jié)構(gòu)示意圖;圖3為本發(fā)明實(shí)施例編碼階段的流程圖;圖4為本發(fā)明實(shí)施例預(yù)測編碼方式的示意圖;圖5為本發(fā)明實(shí)施例解碼階段的流程圖。
具體實(shí)施例方式
本發(fā)明的核心內(nèi)容是將待編碼的一幀畫面的全部像素分成多個(gè)像素集合,對(duì)于每個(gè)像素集合獨(dú)立采用預(yù)測編碼方法進(jìn)行編碼。這樣解碼時(shí)如果像素出現(xiàn)錯(cuò)誤,就可以使得錯(cuò)誤被限制在像素集合內(nèi)而不會(huì)蔓延到整個(gè)畫面。在此基礎(chǔ)上,還可以在解碼時(shí),對(duì)像素是否出現(xiàn)錯(cuò)誤以及錯(cuò)誤的嚴(yán)重程度進(jìn)行檢驗(yàn),并根據(jù)檢驗(yàn)的結(jié)果進(jìn)行糾錯(cuò),進(jìn)一步改善解碼生成的畫面質(zhì)量。
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖與具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步的詳細(xì)闡述。
本實(shí)施例采用的預(yù)測編碼方法為自適應(yīng)差分脈沖編碼調(diào)制(AdaptiveDifferential Pulse Code Modulation,ADPCM)。本發(fā)明方法還可適用于其他預(yù)測編碼方法,包括差分脈沖編碼調(diào)制(Differential Pulse Code Modulation,DPCM)、離散余弦變換編碼、熵編碼等本實(shí)施例中,如圖1所示,將一幀畫面每32行像素作為一個(gè)像素集合,設(shè)畫面中像素的總行數(shù)為m,則一幀畫面中的像素可分為n=m/32個(gè)像素集合。本實(shí)施例的像素集合的劃分方式僅是一種示例,本發(fā)明并未對(duì)所述像素集合的劃分方式作出限定。
編碼時(shí),在每個(gè)像素集合內(nèi)部獨(dú)立采用ADPCM方法進(jìn)行編碼,在每個(gè)像素集合開始時(shí)加入集合頭標(biāo)記,然后對(duì)該像素集合的第一行像素進(jìn)行ADPCM編碼;對(duì)于其他像素行,在每一行開始加入行頭標(biāo)記,再分別對(duì)每一行進(jìn)行ADPCM編碼;對(duì)于像素集合內(nèi)的每一行編碼過程中,要對(duì)編碼產(chǎn)生的碼流進(jìn)行校驗(yàn),并在每一行編碼后面寫入對(duì)這一行的校驗(yàn)碼。本實(shí)施例采用的校驗(yàn)方法為異或校驗(yàn)(Block Check Character,BCC),實(shí)際也可采用其他校驗(yàn)方法如循環(huán)冗余校驗(yàn)(Cyclic Redundancy Check,CRC)、奇偶校驗(yàn)等等。本發(fā)明并未對(duì)所采用的具體校驗(yàn)方法作出限制。
圖2所示為本發(fā)明實(shí)施例編碼后產(chǎn)生的碼流結(jié)構(gòu),其中上圖表示一幀畫面的碼流是由該畫面內(nèi)各個(gè)像素集合編碼產(chǎn)生的碼流所組成;下圖表示一個(gè)像素集合的碼流依次為集合頭標(biāo)記、該像素集合第0行的編碼、該像素集合第0行編碼的校驗(yàn)碼、第1行頭標(biāo)記、該像素集合第1行的編碼、該像素集合第1行編碼的校驗(yàn)碼……第31行頭標(biāo)記、該像素集合第31行的編碼、該像素集合第31行編碼的校驗(yàn)碼。
本實(shí)施例的對(duì)一幀畫面的編碼流程如圖3所示,包括如下步驟步驟301在編碼過程中,判斷當(dāng)前編碼的像素行是否為像素集合第1行,若是,則執(zhí)行步驟302,否則執(zhí)行步驟303。具體判斷方式可以有多種,例如根據(jù)當(dāng)前編碼的像素行的行號(hào)是否為32的倍數(shù)進(jìn)行判斷,若是則當(dāng)前編碼的像素行為像素集合的第1行;或者根據(jù)上一行的行頭標(biāo)記的值是否為0xFF1F進(jìn)行判斷,若是則當(dāng)前編碼的像素行為像素集合的第1行。
步驟302生成集合頭標(biāo)記并寫入碼流中,對(duì)當(dāng)前編碼行進(jìn)行ADPCM編碼,并對(duì)編碼結(jié)果作BCC校驗(yàn),然后轉(zhuǎn)至步驟304。
所述集合頭標(biāo)記可以是無符號(hào)的16比特?cái)?shù),取值范圍可以在0xFF20至0xFFCF之間;每一幀的第1個(gè)集合頭標(biāo)記取值為0xFF20,而其他每個(gè)集合頭標(biāo)記的取值為上一個(gè)集合頭標(biāo)記取值加1。
編碼的方式有多種,如一種較佳實(shí)施例中編碼方式如下用預(yù)先設(shè)定的固定值作為預(yù)測值對(duì)該行第一個(gè)像素進(jìn)行編碼,對(duì)于該行的其他像素,采用前一個(gè)像素的預(yù)測值對(duì)其進(jìn)行編碼。像素值是用三個(gè)分量值表示,若像素分量值位寬為8比特,則所述預(yù)先設(shè)定的固定值可以設(shè)為128。如圖4所示,像素1為像素集合第一行的第一個(gè)像素,則采用預(yù)測值為128對(duì)像素1進(jìn)行編碼;對(duì)于像素2,則用像素1的值計(jì)算出預(yù)測值對(duì)其進(jìn)行編碼;對(duì)于像素3則采用像素2的值計(jì)算預(yù)測值,并依此類推。
BCC校驗(yàn)碼為無符號(hào)的8比特?cái)?shù),其初值為0,將BCC校驗(yàn)碼與當(dāng)前編碼的像素行的編碼結(jié)果的第1個(gè)8比特作異或,運(yùn)算結(jié)果再與編碼結(jié)果的第二個(gè)8比特作異或,…依此類推,與這一行的編碼結(jié)果運(yùn)算完畢后,最終結(jié)果即為這一行的BCC校驗(yàn)碼。
步驟303生成行頭標(biāo)記并寫入碼流中,根據(jù)當(dāng)前編碼的像素行所在的像素集合完成編碼的像素行,對(duì)當(dāng)前編碼像素行進(jìn)行ADPCM編碼,并對(duì)編碼結(jié)果作BCC校驗(yàn),然后轉(zhuǎn)至步驟304。
正如本領(lǐng)域內(nèi)普通技術(shù)人員所知,編碼的方式有很多種,如一種較佳實(shí)施例中的編碼方式可以為對(duì)于每一個(gè)像素,采用與該像素相鄰,且已經(jīng)編碼的像素值計(jì)算預(yù)測值對(duì)其進(jìn)行編碼。如圖4所示,對(duì)于像素7,采用像素1和像素2的值計(jì)算其預(yù)測值;對(duì)于像素8,則采用像素1、像素2、像素3和像素7的值計(jì)算其預(yù)測值;對(duì)于像素9,則采用像素2、像素3、像素4和像素7的值計(jì)算其預(yù)測值,并依此類推。
所述行頭標(biāo)記可以為無符號(hào)的16比特?cái)?shù),取值范圍可以在0xFF01至0xFF1F之間;每個(gè)像素集合的第一個(gè)行頭標(biāo)記取值為0xFF01,而其他每次生成的行頭標(biāo)記的取值為本像素集合內(nèi)上一個(gè)行頭標(biāo)記取值加1。
步驟304將當(dāng)前編碼的像素行的編碼結(jié)果和校驗(yàn)碼依次寫入碼流中。
步驟305判斷當(dāng)前幀內(nèi)是否要有需要編碼的像素行,若是則轉(zhuǎn)至步驟301,否則結(jié)束當(dāng)前幀的編碼。由于通常都是按照自上而下的順序進(jìn)行編碼,本步驟一般是判斷當(dāng)前處理的像素行下面是否還有像素行,若是,則將下一行像素作為當(dāng)前處理像素行并轉(zhuǎn)至步驟301,否則結(jié)束當(dāng)前幀的編碼而轉(zhuǎn)入下一幀的編碼,而下一幀采用與上述完全相同的方法進(jìn)行編碼。
本實(shí)施例的對(duì)一幀畫面編碼形成的碼流的解碼流程如圖5所示,包括如下步驟步驟501檢測當(dāng)前需要進(jìn)行解碼的碼流中是否出現(xiàn)集合頭標(biāo)記還是行頭標(biāo)記,若出現(xiàn)集合頭標(biāo)記則轉(zhuǎn)至步驟502;若出現(xiàn)行頭標(biāo)記則轉(zhuǎn)至步驟503。
步驟502集合頭標(biāo)記到與之相鄰的行頭標(biāo)記之間的編碼內(nèi)容作為像素集合的第一行像素進(jìn)行ADPCM解碼,并根據(jù)BCC校驗(yàn)碼值對(duì)編碼內(nèi)容進(jìn)行校驗(yàn),校驗(yàn)完畢后轉(zhuǎn)至步驟504。
解碼具體方法如下對(duì)于所述像素集合的第一行第一個(gè)像素,采用預(yù)先設(shè)定的固定值作為預(yù)測值,并由所述像素集合的碼流中解碼得到第一個(gè)解碼值,將該解碼值與所述預(yù)測值相加得到所述像素集合的第一行第一個(gè)像素的像素值;對(duì)于所述像素集合的第一行其它像素,采用其前一個(gè)已經(jīng)解碼的像素的像素值進(jìn)行預(yù)測得到預(yù)測值,并從所述像素集合的碼流中解碼得到相應(yīng)的解碼值,將該解碼值與所述預(yù)測值相加得到解碼后的像素值。
步驟503確定所述行頭標(biāo)記到下一個(gè)行頭標(biāo)記之間的編碼數(shù)據(jù)為其所在像素集合的非第一行像素的編碼數(shù)據(jù),并對(duì)該行像素的編碼數(shù)據(jù)進(jìn)行預(yù)測解碼,并根據(jù)BCC校驗(yàn)碼值對(duì)編碼內(nèi)容進(jìn)行校驗(yàn)。
具體解碼方式如下根據(jù)本像素集合內(nèi)已解碼的像素進(jìn)行預(yù)測得到預(yù)測值,并從所述像素集合的碼流中解碼得到相應(yīng)的解碼值,將該解碼值和預(yù)測值相加得到解碼后的像素值。
步驟504判斷BCC校驗(yàn)是否通過,若通過則轉(zhuǎn)至步驟507,否則執(zhí)行步驟505。所述判斷BCC校驗(yàn)是否通過為根據(jù)解碼得到的內(nèi)容計(jì)算BCC校驗(yàn)碼,將所計(jì)算的BCC校驗(yàn)碼與碼流中讀取的BCC校驗(yàn)碼進(jìn)行比較,若相同則校驗(yàn)通過,否則為校驗(yàn)不通過。
步驟505將上一行解碼得到的像素值與當(dāng)前行解碼得到的像素值進(jìn)行比較,根據(jù)比較結(jié)果檢測所發(fā)生錯(cuò)誤是否嚴(yán)重,若是,則執(zhí)行步驟506,否則轉(zhuǎn)至步驟507。
所述檢測錯(cuò)誤的具體做法是將當(dāng)前解碼得到的這一行的各個(gè)像素值分別與解碼得到的上一行同一列的像素值相減,所得差的絕對(duì)值相加后再平均,得到像素差特征值。由于像素值具有三個(gè)分量,所述像素值相減是像素值的三個(gè)分量分別相減,則所述像素差特征值也包括三個(gè)分量。將像素差特征值的這三個(gè)分量分別與預(yù)先設(shè)置的閾值相比較,若都大于閾值,則認(rèn)為錯(cuò)誤是嚴(yán)重的,需要進(jìn)行糾錯(cuò);否則認(rèn)為錯(cuò)誤不嚴(yán)重,解碼得到的結(jié)果可以接受。
所述閾值設(shè)置方式如下若像素的分量值用8比特表示,即像素分量值的取值范圍為0~255,則閾值可以設(shè)置為4。實(shí)際閾值也可根據(jù)實(shí)際需要設(shè)置為其他值,當(dāng)所設(shè)置的閾值越大,則可能出現(xiàn)的錯(cuò)誤越嚴(yán)重;但如果閾值設(shè)置過小,又可能對(duì)圖像過多地進(jìn)行糾錯(cuò)處理,影響畫面質(zhì)量。
步驟506對(duì)當(dāng)前解碼得到的結(jié)果進(jìn)行糾錯(cuò)處理,并輸出糾錯(cuò)后的這一行像素。所述校正的方法可以有多種選擇,最簡單的方式是將解碼得到的前一行像素值拷貝過來作為當(dāng)前處理像素行的像素值;然后輸出當(dāng)前處理行的像素值,并轉(zhuǎn)至步驟508;步驟507輸出解碼得到的當(dāng)前行的像素。
步驟508判斷當(dāng)前幀是否還有需要解碼的像素,若是,則轉(zhuǎn)至步驟501,否則結(jié)束對(duì)當(dāng)前幀的解碼。
本實(shí)施例中,當(dāng)像素集合第一行像素也是圖像的第一行像素時(shí),可以對(duì)該行像素解碼時(shí)不進(jìn)行糾錯(cuò)處理,因此在這種情況下,步驟502進(jìn)行解碼并輸出這一行像素后可直接轉(zhuǎn)至步驟501。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種視頻預(yù)測編碼方法,其特征在于,該方法包括A、按照預(yù)定的劃分方式將一幀圖像分成一個(gè)以上的像素集合;B、在各個(gè)像素集合內(nèi)分別進(jìn)行預(yù)測編碼。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟A包括判斷當(dāng)前處理的像素行是否為預(yù)設(shè)的像素集合的第1行,若是,在編碼生成的碼流中寫入集合頭標(biāo)記;否則在編碼生成的碼流中寫入行頭標(biāo)記。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,步驟B所述在各個(gè)像素集合內(nèi)分別進(jìn)行預(yù)測編碼包括對(duì)像素集合的第一個(gè)像素用預(yù)先設(shè)定的預(yù)測值進(jìn)行預(yù)測編碼;對(duì)像素集合的其他像素,根據(jù)本像素集合內(nèi)已編碼的像素計(jì)算預(yù)測值并對(duì)其進(jìn)行預(yù)測編碼。
4.根據(jù)權(quán)利要求3所述方法,其特征在于,若像素值的位寬為8比特,則所述預(yù)先設(shè)定的預(yù)測值為128。
5.根據(jù)權(quán)利要求3所述方法,其特征在于,所述對(duì)像素集合的其他像素,根據(jù)本像素集合內(nèi)已編碼的像素計(jì)算預(yù)測值并對(duì)其進(jìn)行預(yù)測編碼包括判斷所述其他像素是否像素集合第一行的像素,若是,則根據(jù)該像素的前一個(gè)像素計(jì)算預(yù)測值并對(duì)其進(jìn)行預(yù)測編碼;否則,根據(jù)該像素的前一個(gè)像素以及前一個(gè)像素行內(nèi)與該像素相鄰的像素計(jì)算預(yù)測值并對(duì)其進(jìn)行預(yù)測編碼。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述判斷所述其他像素是否像素集合第一行的像素為如下任意一種判斷所述其他像素的行號(hào)是否為32的倍數(shù),若是則該像素為像素集合的第一行的像素;判斷所述其他像素所處像素行的前一行的行頭標(biāo)記是否為0xFF1F,若是則該像素為像素集合的第一行的像素。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟B進(jìn)一步包括在每一行編碼結(jié)束后,根據(jù)該行的編碼結(jié)果計(jì)算校驗(yàn)碼,將所生成的校驗(yàn)碼寫入碼流中。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述校驗(yàn)為如下任意一種異或校驗(yàn)、循環(huán)冗余校驗(yàn)或奇偶校驗(yàn)。
9.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述預(yù)測編碼為如下方法的任意一種自適應(yīng)差分脈沖編碼調(diào)制ADPCM、差分脈沖編碼調(diào)制DPCM、離散余弦變換編碼或熵編碼。
10.一種視頻預(yù)測解碼方法,其特征在于,該方法包括a、將碼流中的數(shù)據(jù)劃分為不同的像素集合;b、對(duì)屬于每一個(gè)像素集合的數(shù)據(jù)分別進(jìn)行預(yù)測解碼,并輸出解碼結(jié)果。
11.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述將碼流中的數(shù)據(jù)劃分為不同的像素集合為檢測碼流中是否出現(xiàn)集合頭標(biāo)記,將兩次出現(xiàn)集合頭標(biāo)記之間的編碼數(shù)據(jù)作為一個(gè)像素集合的數(shù)據(jù)。
12.根據(jù)權(quán)利要求11所述的方法,其特征在于,步驟b進(jìn)一步包括檢測碼流中是否出現(xiàn)行頭標(biāo)記,根據(jù)檢測結(jié)果確定集合頭標(biāo)記與其后第一個(gè)行頭標(biāo)記之間的編碼數(shù)據(jù)為其所在像素集合的第一行像素的編碼數(shù)據(jù),并對(duì)第一行像素的編碼數(shù)據(jù)進(jìn)行預(yù)測解碼;確定相鄰兩次出現(xiàn)行頭標(biāo)記之間的編碼數(shù)據(jù)為其所在像素集合的非第一行像素的編碼數(shù)據(jù),并對(duì)非第一行像素的編碼數(shù)據(jù)進(jìn)行預(yù)測解碼。
13.根據(jù)權(quán)利要求12所述的方法,其特征在于,步驟b所述對(duì)第一行像素的數(shù)據(jù)進(jìn)行預(yù)測解碼為對(duì)于所述像素集合的第一行第一個(gè)像素,采用預(yù)先設(shè)定的固定值作為預(yù)測值,并由所述像素集合的碼流中解碼得到第一個(gè)解碼值,將該解碼值與所述預(yù)測值相加得到所述像素集合的第一行第一個(gè)像素的像素值;對(duì)于所述像素集合的第一行其它像素,采用其前一個(gè)已經(jīng)解碼的像素的像素值進(jìn)行預(yù)測得到預(yù)測值,并從所述像素集合的碼流中解碼得到相應(yīng)的解碼值,將該解碼值與所述預(yù)測值相加得到解碼后的像素值。
14.根據(jù)權(quán)利要求12所述的方法,其特征在于,步驟b所述對(duì)非第一行的像素進(jìn)行預(yù)測解碼為根據(jù)本像素集合內(nèi)已解碼的像素進(jìn)行預(yù)測得到預(yù)測值,并從所述像素集合的碼流中解碼得到相應(yīng)的解碼值,將該解碼值和預(yù)測值相加得到解碼后的像素值。
15.根據(jù)權(quán)利要求10所述的方法,其特征在于,所述步驟b進(jìn)一步包括,根據(jù)碼流中像素集合內(nèi)每一行編碼值計(jì)算校驗(yàn)碼,將所計(jì)算出的校驗(yàn)碼與碼流中對(duì)應(yīng)的校驗(yàn)碼進(jìn)行比較,若比較結(jié)果一致,則對(duì)所述行像素值的校驗(yàn)通過,輸出解碼得到的當(dāng)前行像素;否則校驗(yàn)不通過。
16.根據(jù)權(quán)利要求15所述的方法,其特征在于,所述校驗(yàn)不通過,且該行像素不是整幀圖像的第一行像素,則進(jìn)一步包括將解碼得到的上一行的像素值與當(dāng)前行解碼得到的像素值進(jìn)行比較,根據(jù)比較結(jié)果檢測所發(fā)生錯(cuò)誤是否嚴(yán)重,若是,則對(duì)當(dāng)前解碼得到的結(jié)果進(jìn)行糾錯(cuò)處理,并輸出糾錯(cuò)后的這一行像素;否則直接輸出解碼得到的當(dāng)前行像素。
17.根據(jù)權(quán)利要求16所述的方法,其特征在于,所述將解碼得到的上一行的像素值與當(dāng)前行解碼得到的像素值進(jìn)行比較,根據(jù)比較結(jié)果檢測所發(fā)生錯(cuò)誤是否嚴(yán)重包括將當(dāng)前解碼得到的這一行的各個(gè)像素值分別與解碼得到的上一行同一列的像素值相減,所得差的絕對(duì)值相加后再平均,得到像素差特征值;將所得像素差特征值與預(yù)先設(shè)置的閾值比較,若大于閾值,則錯(cuò)誤嚴(yán)重,否則錯(cuò)誤不嚴(yán)重。
18.根據(jù)權(quán)利要求17所述方法,其特征在于,若像素值的位寬為8比特,則所述閾值為4。
19.根據(jù)權(quán)利要求16所述的方法,其特征在于,所述糾錯(cuò)處理為將解碼得到的前一行像素值拷貝過來作為當(dāng)前處理像素行的像素值。
全文摘要
本發(fā)明公開了一種視頻預(yù)測編碼方法,該方法包括A.按照預(yù)定的劃分方式將一幀圖像分成一個(gè)以上的像素集合;B.在各個(gè)像素集合內(nèi)分別進(jìn)行預(yù)測編碼。本發(fā)明還公開了一種視頻預(yù)測解碼方法。該方法包括a.將碼流中的數(shù)據(jù)劃分為不同的像素集合;b.對(duì)屬于每一個(gè)像素集合的數(shù)據(jù)分別進(jìn)行預(yù)測解碼,并輸出解碼結(jié)果。通過應(yīng)用本發(fā)明方法,可以方便地對(duì)視頻預(yù)測編碼的碼流中的可能出現(xiàn)的錯(cuò)誤進(jìn)行檢測、控制并自動(dòng)糾錯(cuò)。
文檔編號(hào)H04N7/32GK1878314SQ200610103399
公開日2006年12月13日 申請(qǐng)日期2006年7月21日 優(yōu)先權(quán)日2006年7月21日
發(fā)明者盧虹 申請(qǐng)人:北京中星微電子有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
阿拉善左旗| 恩平市| 平武县| 衡山县| 肃南| 连州市| 涡阳县| 宜春市| 兰州市| 遂宁市| 贡山| 恭城| 皮山县| 陵川县| 阳高县| 呼图壁县| 乡宁县| 新龙县| 郴州市| 贵阳市| 汕头市| 枣强县| 新宁县| 固安县| 朝阳市| 治县。| 霍城县| 黄陵县| 于田县| 庄浪县| 霞浦县| 胶州市| 西盟| 梅州市| 阿拉善右旗| 郎溪县| 武穴市| 定日县| 科技| 凌源市| 黑山县|