一種視頻編碼的幀內(nèi)預(yù)測(cè)方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)字視頻壓縮技術(shù)領(lǐng)域,特別涉及一種視頻編碼的幀內(nèi)預(yù)測(cè)方法及系統(tǒng)。
【背景技術(shù)】
[0002]視頻圖像在時(shí)域和空域上存在一定的相關(guān)性??沼蛏希粓D像內(nèi)的相鄰像素的值接近,根據(jù)這一事實(shí)預(yù)測(cè)當(dāng)前編碼塊的技術(shù)稱(chēng)為幀內(nèi)預(yù)測(cè)技術(shù);時(shí)域上,相鄰幀之間具有相似性,根據(jù)這一事實(shí)預(yù)測(cè)當(dāng)前編碼塊的技術(shù)稱(chēng)為幀間預(yù)測(cè)技術(shù)。
[0003]早期的幀內(nèi)預(yù)測(cè)技術(shù)根據(jù)已編碼的8x8塊的直流分量(對(duì)應(yīng)該塊的平均值)預(yù)測(cè)當(dāng)前編碼的8x8塊的直流分量。算法簡(jiǎn)單但壓縮效率低,沒(méi)有充分利用相鄰像素的相關(guān)性。
[0004]在H.264和AVS中,利用當(dāng)前編碼塊左側(cè)和上側(cè)的已重建的一列和/或一行像素來(lái)預(yù)測(cè)當(dāng)前編碼塊,編碼塊的尺寸不再局限于8x8,預(yù)測(cè)方式不再是簡(jiǎn)單的預(yù)測(cè)平均值,而是采用了多種預(yù)測(cè)方式,以適應(yīng)像素值的空間分布特點(diǎn)。
[0005]在H.265和AVS2中,仍然利用當(dāng)前編碼塊左側(cè)和上側(cè)的已重建的一列和/或一行像素來(lái)預(yù)測(cè)當(dāng)前編碼塊,但是編碼塊的尺寸更加多樣化,預(yù)測(cè)方式也更多。有效地提高了幀內(nèi)預(yù)測(cè)的準(zhǔn)確性,從而提高了幀內(nèi)編碼的壓縮效率。
[0006]上述的幀內(nèi)預(yù)測(cè)技術(shù)都是利用當(dāng)前編碼塊左側(cè)和上側(cè)的已重建的一列和/或一行像素來(lái)預(yù)測(cè)當(dāng)前編碼塊,沒(méi)有考慮到圖像內(nèi)部可能存在的周期性特征,如圖1所示。這種周期性的紋理會(huì)使現(xiàn)有的直流預(yù)測(cè)模式(DC mode)、方向預(yù)測(cè)模式(direct1nal mode)和平面預(yù)測(cè)模式(plane mode)都不能獲得好的的預(yù)測(cè)效果。為了適應(yīng)這種具有周期性紋理的圖像,本發(fā)明提供一種新的幀內(nèi)預(yù)測(cè)方法和系統(tǒng),可以在圖像內(nèi)具有周期性紋理的時(shí)候獲得更好的預(yù)測(cè)效果,從而提高壓縮效率。
【發(fā)明內(nèi)容】
[0007]本發(fā)明的目的在于提供一種視頻編碼的幀內(nèi)預(yù)測(cè)方法及系統(tǒng),其利用當(dāng)前圖像已編碼重建的部分與當(dāng)前編碼塊之間的相關(guān)性,對(duì)當(dāng)前編碼塊進(jìn)行更準(zhǔn)確的預(yù)測(cè),從而有效地提高編碼壓縮效率。
[0008]為解決上述技術(shù)問(wèn)題,本發(fā)明提供一種視頻編碼的幀內(nèi)預(yù)測(cè)方法,包括:
[0009]步驟一:將待編碼的圖像劃分成若干個(gè)編碼塊,編碼塊為矩形,水平方向的長(zhǎng)度可以是4/8/16/32/64等,單位是像素,垂直方向的長(zhǎng)度可以是4/8/16/32/64等,單位是像素;
[0010]步驟二:依次編碼每個(gè)編碼塊,編碼一個(gè)編碼塊包括以下步驟:
[0011]步驟2.1根據(jù)當(dāng)前圖像的重建部分(所有已經(jīng)完成編碼的塊的重建塊)預(yù)測(cè)當(dāng)前編碼塊,嘗試各種幀內(nèi)預(yù)測(cè)模式,包括直流預(yù)測(cè)模式(DC mode)、方向預(yù)測(cè)模式(direct1nal mode)、平面預(yù)測(cè)模式(plane mode)和塊匹配模式(block-match mode);
[0012]步驟2.2計(jì)算每一種幀內(nèi)預(yù)測(cè)模式的率失真代價(jià),選擇其中率失真代價(jià)最小的模式作為最終的幀內(nèi)預(yù)測(cè)模式;
[0013]步驟2.3根據(jù)最終的幀內(nèi)預(yù)測(cè)模式計(jì)算當(dāng)前塊的預(yù)測(cè)塊;
[0014]步驟2.4用當(dāng)前塊減去預(yù)測(cè)塊,得到殘差塊;
[0015]步驟2.5對(duì)殘差塊進(jìn)行變換,得到變換系數(shù)矩陣;
[0016]步驟2.6對(duì)變換系數(shù)矩陣進(jìn)行量化,得到量化后的變換系數(shù)矩陣;
[0017]步驟2.7對(duì)量化后的變換系數(shù)矩陣和幀內(nèi)預(yù)測(cè)模式信息進(jìn)行變長(zhǎng)碼編碼,得到當(dāng)前塊的編碼數(shù)據(jù);
[0018]步驟2.8對(duì)量化后的變換系數(shù)矩陣進(jìn)行反量化,得到反量化后的變換系數(shù)矩陣;
[0019]步驟2.9對(duì)反量化后的變換系數(shù)矩陣進(jìn)行反變換,得到反變換后的殘差塊;
[0020]步驟2.10用反變換后的殘差塊加上預(yù)測(cè)塊,得到當(dāng)前編碼塊的重建塊;
[0021]步驟2.11將當(dāng)前編碼塊的重建塊放到步驟2.1所述的當(dāng)前圖像的重建部分中。
[0022]步驟2.12如果當(dāng)前圖像的所有編碼塊都已經(jīng)編碼完畢,則結(jié)束;否則轉(zhuǎn)步驟2.1o
[0023]進(jìn)一步的,在所述的視頻編碼的幀內(nèi)預(yù)測(cè)方法中,在步驟2.1中,所述的塊匹配模式(block-match mode)是指,在當(dāng)前圖像的重建部分中搜索與當(dāng)前編碼塊最接近的塊,作為當(dāng)前塊的預(yù)測(cè)塊;
[0024]進(jìn)一步的,所述在當(dāng)前圖像的重建部分中搜索與當(dāng)前編碼塊最接近的塊的方法,是類(lèi)似于運(yùn)動(dòng)估計(jì)的方法,與運(yùn)動(dòng)估計(jì)的區(qū)別在于搜索的范圍是如圖2所示的不規(guī)則區(qū)域。
[0025]進(jìn)一步的,所述預(yù)測(cè)塊可以部分超出當(dāng)前圖像的重建部分,超出部分的像素的值取當(dāng)前圖像的重建部分中與該像素距離最近的像素的值。
[0026]進(jìn)一步的,在步驟2.7中,所述的‘幀內(nèi)預(yù)測(cè)模式信息’中,當(dāng)預(yù)測(cè)模式是塊匹配模式時(shí),還包括一個(gè)向量,表示預(yù)測(cè)塊與當(dāng)前塊的位置偏移。該向量的單位是像素。
[0027]相應(yīng)的,本發(fā)明還提供一種視頻編碼的幀內(nèi)預(yù)測(cè)系統(tǒng),包括:
[0028]劃分模塊,用于將一待編碼的圖像劃分成若干個(gè)編碼塊;
[0029]編碼模塊,用于依次編碼所述劃分好的每個(gè)編碼塊。
[0030]進(jìn)一步的,在所述的視頻編碼的幀內(nèi)預(yù)測(cè)系統(tǒng)中,所述編碼模塊包括:
[0031]幀內(nèi)預(yù)測(cè)模塊,用于根據(jù)當(dāng)前圖像的重建部分(所有已經(jīng)完成編碼的塊的重建塊)預(yù)測(cè)當(dāng)前編碼塊;計(jì)算采用各種預(yù)測(cè)模式的率失真代價(jià),并選擇率失真代價(jià)最小的模式作為最終的預(yù)測(cè)模式;根據(jù)最終的預(yù)測(cè)模式計(jì)算當(dāng)前塊的預(yù)測(cè)塊,并根據(jù)當(dāng)前塊和預(yù)測(cè)塊得到殘差塊;
[0032]變換模塊,用于對(duì)所述殘差塊進(jìn)行變換,得到變換系數(shù)矩陣;
[0033]量化模塊,用于對(duì)所述變換系數(shù)矩陣進(jìn)行量化,得到量化后的變換系數(shù)矩陣;對(duì)所述量化后的變換系數(shù)矩陣和預(yù)測(cè)模式的信息進(jìn)行變長(zhǎng)碼編碼,得到當(dāng)前塊的編碼數(shù)據(jù);
[0034]反量化模塊,用于對(duì)所述量化后的變換系數(shù)矩陣進(jìn)行反量化,得到反量化后的變換系數(shù)矩陣;
[0035]反變換模塊,用于對(duì)所述反量化后的變換系數(shù)矩陣進(jìn)行反變換,得到反變化后的殘差塊;
[0036]預(yù)測(cè)補(bǔ)償模塊,用于根據(jù)所述反變化后的殘差塊和預(yù)測(cè)塊,得到當(dāng)前編碼的重建塊,并將所述當(dāng)前編碼的重建塊放置于所述當(dāng)前圖像的重建部分中;
[0037]循環(huán)模塊,用于循環(huán)上述所有步驟,直至劃分好的塊均編碼完畢。
[0038]進(jìn)一步的,在所述的視頻編碼的幀內(nèi)預(yù)測(cè)系統(tǒng)中,在幀內(nèi)預(yù)測(cè)模塊中,所述采用的預(yù)測(cè)模式包括以下模式的一種或多種:直流預(yù)測(cè)模式、方向預(yù)測(cè)模式、平面預(yù)測(cè)模式和塊匹配模式。
[0039]本發(fā)明提供的視頻編碼的幀內(nèi)預(yù)測(cè)方法及系統(tǒng),具有以下有益效果:本發(fā)明利用當(dāng)前圖像的重建部分預(yù)測(cè)當(dāng)前編碼塊,考慮了圖像中可能存在的周期性紋理,并針對(duì)周期性紋理設(shè)計(jì)了一種新的幀內(nèi)預(yù)測(cè)模式:塊匹配模式,從而有效地提高了幀內(nèi)編碼的壓縮效率。
【附圖說(shuō)明】
[0040]圖1是現(xiàn)有技術(shù)基于塊的編碼器框圖;
[0041]圖2是本發(fā)明優(yōu)選實(shí)施例的的視頻編碼的幀內(nèi)預(yù)測(cè)方法的當(dāng)前圖像的重建部分與當(dāng)前編碼塊的示意圖;
[0042]圖3是本發(fā)明優(yōu)選實(shí)施例的視頻編碼的幀內(nèi)預(yù)測(cè)方法的流程圖。
【具體實(shí)施方式】
[0043]以下結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明提出的視頻編碼的幀內(nèi)預(yù)測(cè)方法及系統(tǒng)作進(jìn)一步詳細(xì)說(shuō)明。根據(jù)下面說(shuō)明和權(quán)利要求書(shū),本發(fā)明的優(yōu)點(diǎn)和特征將更清楚。需說(shuō)明的是,附圖均采用非常簡(jiǎn)化的形式且均使用非精準(zhǔn)的比例,僅用以方便、明晰地輔助說(shuō)明本發(fā)明實(shí)施例的目的。
[0044]請(qǐng)參考圖3,其是本發(fā)明優(yōu)選實(shí)施例的視頻編碼的幀內(nèi)預(yù)測(cè)方法的流程圖。如圖3所示,本發(fā)明提供一種視頻編碼的幀內(nèi)預(yù)測(cè)方法,包括:
[0045]步驟一:將待