專利名稱:一種編解碼方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻編解碼技術(shù),尤其涉及一種子圖像塊依次排列的編碼方法。
背景技術(shù):
視頻編碼壓縮的基本原理是,利用空域、時域和碼字之間的相關(guān)性,盡可能去除冗余。目前流行的做法是采用基于塊的混合視頻編碼框架,通過預(yù)測、變換、量化、熵編碼等步驟來實現(xiàn)視頻編碼壓縮。這一編碼框架,顯示了很強的生命力,從最早的MPEG-I到現(xiàn)在最新的視頻編碼標(biāo)準(zhǔn)H. 264/AVC,甚至JCTVC工作組(MPEG和VECG成立的聯(lián)合工作組)正在制定的下一代視頻編碼壓縮標(biāo)準(zhǔn)HEVC,仍然沿用這種基于塊的混合視頻編碼框架。在視頻編解碼中一般都采用基于塊的空域預(yù)測編碼技術(shù),基本原理是利用相鄰塊之間的相關(guān)性去除空域冗余。即利用相鄰塊作為參考塊,對當(dāng)前塊進(jìn)行預(yù)測。為了提高像素預(yù)測的準(zhǔn)度,現(xiàn)有技術(shù)中一般都會將當(dāng)前圖像塊進(jìn)行十字形分割,得到四個完全相同的正方形的子圖像塊,然后分別以這四個子圖像塊為單位,根據(jù)所述當(dāng)前圖像塊的相鄰塊的像素值進(jìn)行預(yù)測。有時候為了進(jìn)一步的提高預(yù)測的準(zhǔn)度,還會對這四個子圖像塊中的一個進(jìn)行進(jìn)一步的劃分,以得到四個更小的正方形的子圖象塊。比如,64X64規(guī)格的當(dāng)前圖像塊可以劃分成4個32X32規(guī)格的子圖像塊,一個32X32規(guī)格的子圖像塊可以劃分成4個16X16規(guī)格的子圖像塊。很顯然,現(xiàn)有技術(shù)中的這種圖像塊的劃分和預(yù)測方式,只是單純的將圖像塊劃分成四個正方形的子圖像塊,而子圖像塊也是單純的依照當(dāng)前圖像塊的相鄰塊進(jìn)行預(yù)測,缺乏靈活性,很難保證預(yù)測的準(zhǔn)度和編解碼的效果。因此,就有必要在現(xiàn)有的方塊劃分的圖像塊劃分的基礎(chǔ)上,提供其他可選的非方塊劃分方式,以使得圖像塊的劃分有更多的選擇,可以對應(yīng)于更多種的像素排列環(huán)境。而業(yè)界也一直在這方面做出了各種各樣的嘗試,并產(chǎn)生了越來越多的圖像塊的劃分方法。而在實際的編碼過程中,只需要通過遍歷的方式,利用各種圖像塊劃分方式將圖像塊劃分一遍,然后根據(jù)像素預(yù)測的結(jié)果,選擇最優(yōu)的劃分方式。而發(fā)明人就提出了一種將圖像塊劃分成沿水平方向或垂直方向依次排列的子圖像塊的劃分方法。但是,無論采用何種劃分方法,最后都需要將子圖像塊的預(yù)測方向?qū)懭氪a流中,以便于解碼端可以根據(jù)預(yù)測方向得到所述子圖像塊的預(yù)測像素值,而當(dāng)圖像塊被劃分成數(shù)量很多的子圖像塊時,大量的子圖像塊的預(yù)測方向信息就為碼流的傳輸帶來了很大的壓力。因此,業(yè)界也一直在努力研究,如何僅依靠少量的預(yù)測方向信息就可以對盡可能多的子圖像塊進(jìn)行預(yù)測。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種編碼方法,其包括將當(dāng)前編碼對象進(jìn)行劃分,得到多個子圖像塊,其中,所述多個子圖像塊沿水平或豎直方向依次排列,且所述多個子圖像塊中至少包括處于所述當(dāng)前編碼對象的邊界的第一子圖像塊,以及與所述第一子圖像塊相鄰的第二子圖像塊;確定所述第一子圖像塊的第一預(yù)測方向,并根據(jù)所述當(dāng)前編碼對象的相鄰圖像塊,按照所述第一預(yù)測方向,對所述第一子圖像塊進(jìn)行預(yù)測,得到所述第一子圖像塊的預(yù)測像素值,以及所述預(yù)測像素值與所述子圖像塊的原始像素值之間的殘差;根據(jù)所述預(yù)測像素值和所述殘差得到所述第一子圖像塊的重構(gòu)像素值;根據(jù)所述第一預(yù)測方向和所述第一子圖像的重構(gòu)像素值,對所述第二子圖像塊進(jìn)行預(yù)測,得到所述第二子圖像塊的預(yù)測像素值,以及所述預(yù)測像素值與所述第二子圖像塊的原始像素值之間的殘差;將所述當(dāng)前編碼對象的劃分方式信息、所述第一預(yù)測方向、所述第一子圖像塊的所述殘差和所述第二子圖像塊的所述殘差寫入碼流中。本發(fā)明實施例還提供相應(yīng)的解碼方法,其包括從碼流中獲得所述當(dāng)前解碼對象的劃分方式信息、所述第一預(yù)測方向、所述當(dāng)前幀解碼對象的第一子圖像塊的殘差和所述當(dāng)前幀解碼對象的第二子圖像塊的殘差;根據(jù)所述劃分方式信息,將所述當(dāng)前解碼對象進(jìn)行劃分,得到沿水平或垂直方向依次排列的多個子圖像塊,其中所述多個子圖像塊中至少包括第一子圖像塊和第二子圖像塊;根據(jù)所述第一預(yù)測方向獲得所述第一子圖像塊的參考圖像塊的重構(gòu)像素值;根據(jù)所述第一預(yù)測方向、所述參考圖像塊的重構(gòu)像素值、以及所述第一子圖像塊的殘差獲得所述第一子圖像塊的重構(gòu)像素值;根據(jù)所述第一預(yù)測方向、所述第一子圖像塊的重構(gòu)像素值、以及所述第二子圖像塊的殘差,獲得所述第二子圖像塊的重構(gòu)像素值。本發(fā)明實施例還相應(yīng)提供了應(yīng)用上述預(yù)測方法的編解碼裝置。應(yīng)用了本發(fā)明實施例所提供的方法進(jìn)行編碼,編碼端僅需要在碼流中寫入當(dāng)前編碼對象的一個子圖像塊的預(yù)測方向即可,節(jié)省了碼流。
圖1所示為本發(fā)明實施例所提供的編碼方法的示意圖。圖2所示為本發(fā)明實施例所提供的解碼方法的示意圖。圖3所示為本發(fā)明實施例所提供的編碼裝置的示意圖。圖4所示為本發(fā)明實施例所提供的解碼裝置的示意圖。
具體實施例方式請參照圖1,本發(fā)明實施例提供一種編碼方法,其包括步驟101 將當(dāng)前編碼對象進(jìn)行劃分,得到多個子圖像塊;其中,所述多個子圖像塊沿水平或豎直方向依次排列,且所述多個子圖像塊中至少包括處于所述當(dāng)前編碼對象的邊界的第一子圖像塊,以及與所述第一子圖像塊相鄰的第二子圖像塊。在本發(fā)明實施例中,所述當(dāng)前編碼對象可以為一個64X64規(guī)格的圖像塊的子圖像塊,其可以為采用現(xiàn)有方塊劃分技術(shù)劃分出來的32X32規(guī)格的子圖像塊,也可以是在32X32規(guī)格的子圖像塊的基礎(chǔ)上進(jìn)一步劃分出來的四個16X16規(guī)格的子圖像塊、或者四個8X32規(guī)格的子圖像塊、以及其他尺寸規(guī)格的矩形的子圖像塊。當(dāng)然,這些16X16規(guī)格的子圖像塊、8X32規(guī)格的子圖像塊或者其它規(guī)格的子圖像塊也可以作為本發(fā)明實施例所述的當(dāng)前編碼對象,來做進(jìn)一步的劃分。
步驟102 確定所述第一子圖像塊的第一預(yù)測方向,并根據(jù)所述當(dāng)前編碼對象的相鄰圖像塊,按照所述第一預(yù)測方向,對所述第一子圖像塊進(jìn)行預(yù)測,得到所述第一子圖像塊的預(yù)測像素值,以及所述預(yù)測像素值與所述子圖像塊的原始像素值之間的殘差;其中,所述確定所述第一子圖像塊的第一預(yù)測方向的方法可以依照現(xiàn)有技術(shù)中的遍歷的方法,以當(dāng)前編碼對象的相鄰塊中的像素值按照所遍歷的預(yù)測方向?qū)λ鲎訄D像塊進(jìn)行預(yù)測,得到多個預(yù)測方向所對應(yīng)的所述子圖像塊的預(yù)測像素值,從所述多個預(yù)測像素值中選擇編碼效率最高的預(yù)測像素值所對應(yīng)的預(yù)測方向,作為所述第一子圖像塊的預(yù)測方向,更或者如HEVC中提出的UDI預(yù)測技術(shù)中所提出的,從34或其它數(shù)字的多個預(yù)測方向中選擇一個預(yù)測效果最好的方向。甚至可以預(yù)設(shè)一系列的預(yù)測方向,當(dāng)所述第一子圖像塊滿足一定條件時,從中選擇相應(yīng)的預(yù)測方向作為所述第一預(yù)測方向。在其他可選擇的實施例中,當(dāng)所述多個子圖像塊為沿水平方向依次排列時,所述第一子圖像塊位于所述當(dāng)前編碼對象的左側(cè)內(nèi)邊界,所述確定所述第一子圖像塊的第一預(yù)測方向包括取所述當(dāng)前編碼對象的左相鄰圖像塊中的、與所述第一子圖像塊相鄰的子圖像塊的預(yù)測方向,作為所述第一子圖像塊的預(yù)測方向。可選的,還可以取所述當(dāng)前編碼對象的上相鄰圖像塊中的、與所述第一子圖像塊相鄰的子圖像塊的預(yù)測方向,作為所述第一子圖像塊的預(yù)測方向。以及,當(dāng)所述多個子圖像塊為沿垂直方向依次排列時,所述第一子圖像塊位于所述當(dāng)前編碼對象的上側(cè)邊界,所述確定所述第一子圖像塊的第一預(yù)測方向包括:取所述當(dāng)前編碼對象的上相鄰圖像塊中的、與所述第一子圖像塊相鄰的子圖像塊的預(yù)測方向,作為所述第一子圖像塊的預(yù)測方向??蛇x的,還可以取所述當(dāng)前編碼對象的左相鄰圖像塊中的、與所述第一子圖像塊相鄰的子圖像塊的預(yù)測方向,作為所述第一子圖像塊的預(yù)測方向。步驟103 根據(jù)所述預(yù)測像素值和所述殘差得到所述第一子圖像塊的重構(gòu)像素值。其中,得到重構(gòu)值的方法為在當(dāng)前子塊中,依次對當(dāng)前編碼對象的每個像素位置的像素點所對應(yīng)的所述預(yù)測像素值和所述殘差相加。需要理解的是,在本發(fā)明實施例中,所述“第一預(yù)測方向,,并不包含任何排序的含義,其僅僅為經(jīng)過確定之后的第一子圖像塊的預(yù)測方向。步驟104 根據(jù)所述第一預(yù)測方向和所述第一子圖像的重構(gòu)像素值,對所述第二子圖像塊進(jìn)行預(yù)測,得到所述第二子圖像塊的預(yù)測像素值,以及所述預(yù)測像素值與所述子圖像塊的原始像素值之間的殘差;在本發(fā)明實施例中,所述第二子圖像塊依據(jù)第一子圖像塊的預(yù)測方向從所述第二子圖像塊的相鄰塊中獲得參考像素,并根據(jù)所述參考像素獲得第二子圖像塊的預(yù)測像素值和殘差。當(dāng)然,如果所述當(dāng)前編碼對象劃分后還包括與所述第二子圖像塊相鄰的第三子圖像塊,則還要根據(jù)所述第二子圖像塊的預(yù)測像素值和殘差得到所述第二子圖像塊的重構(gòu)像素值,所述第三子圖像塊則根據(jù)所述第一預(yù)測方向和所述第二子圖像塊的重構(gòu)像素值進(jìn)行預(yù)測??蛇x的,所述第三子圖像塊還可以根據(jù)所述第一預(yù)測方向和所述第三子圖像塊的其它相鄰塊中的重構(gòu)像素值進(jìn)行預(yù)測。如果還有第四字圖像塊、第五子圖像塊則以此類推,直到所有子圖像塊編碼完畢。
步驟105 將所述當(dāng)前編碼對象的劃分方式信息、所述第一預(yù)測方向、所述第一子圖像塊的所述殘差和所述第二子圖像塊的所述殘差寫入碼流中。其中,在本發(fā)明實施例中,所述劃分方式信息包括用于指示所述當(dāng)前編碼對象被劃分成沿水平或垂直方向依次排列的多個子圖像塊的信息。在實際應(yīng)用中,劃分方式信息可以為一個標(biāo)識信息,以對應(yīng)于不同的劃分方式。在本發(fā)明實施例所提供的編碼方法中,將當(dāng)前編碼對象劃分成依次排列的子圖像塊后,當(dāng)處于首位的第一個子圖像塊的預(yù)測方向確定之后,其后的子圖像塊則以所述第一個子圖像塊的預(yù)測方向作為預(yù)測方向,并且依次以在先的所述子圖像塊的相鄰塊作為參考圖像塊進(jìn)行像素預(yù)測。顯然,當(dāng)當(dāng)前編碼對象的像素值沿水平或垂直方向的變化較小時,采用將當(dāng)前編碼對象劃分成沿水平或垂直方向依次排列的子圖像塊的的劃分方法會取得較好的預(yù)測效果,而這時候,采用本發(fā)明實施例所提供的預(yù)測方法,使得所有子圖像塊僅依照排在首位的子圖像塊的預(yù)測方向進(jìn)行像素預(yù)測,不僅可以保證較好的預(yù)測效果,而且只需要將所述第一預(yù)測方向信息寫入碼流中,就可以實現(xiàn)當(dāng)前編碼對象的所有子圖像塊的像素預(yù)測,極大地節(jié)省了碼流。請參照圖2,本發(fā)明實施例還提供一種相應(yīng)的解碼方法,包括步驟201 從碼流中獲得所述當(dāng)前解碼對象的劃分方式信息、所述第一預(yù)測方向、所述當(dāng)前幀解碼對象的第一子圖像塊的殘差和所述當(dāng)前幀解碼對象的第二子圖像塊的殘差;其中,所述當(dāng)前解碼對象可以為任意待解碼的圖像塊。比如可以為64X64規(guī)格圖像塊的子圖像塊,或者是64X64規(guī)格圖像塊的子圖像塊的子圖像塊,甚至是更下一級的子圖像塊,只要其沒有超出預(yù)設(shè)的子圖像塊尺寸規(guī)格。步驟202 根據(jù)所述劃分方式信息,將所述當(dāng)前解碼對象進(jìn)行劃分,得到依次沿水平或垂直方向排列的多個子圖像塊,其中所述多個子圖像塊中至少包括第一子圖像塊和第二子圖像塊;步驟203 根據(jù)所述第一預(yù)測方向獲得所述第一子圖像塊的參考圖像塊的重構(gòu)像
素值;可以理解的是,按照與編碼相同的順序進(jìn)行解碼,第一子圖像塊的參考圖像塊自然應(yīng)該是已經(jīng)重構(gòu)完成了的,因此在這里可以直接獲得所述參考圖象塊的重構(gòu)像素值步驟204 根據(jù)所述第一預(yù)測方向、所述參考圖像塊的重構(gòu)像素值、以及所述第一子圖像塊的殘差獲得所述第一子圖像塊的重構(gòu)像素值;步驟205 根據(jù)所述第一預(yù)測方向、所述第一子圖像塊的重構(gòu)像素值、以及所述第二子圖像塊的殘差,獲得所述第二子圖像塊的重構(gòu)像素值。實際上,在本發(fā)明實施例中,所述第二子圖像塊以所述第一子圖像塊作為參考圖像塊,根據(jù)第一預(yù)測方向從所述第一子圖像塊中獲得第二子圖像塊的預(yù)測像素值??蛇x的,還可以根據(jù)第一預(yù)測方向從所述第二子圖像塊的其它相鄰塊中獲得第二子圖像塊的預(yù)測像素值,根據(jù)所述預(yù)測像素值、所述第二子圖像塊的殘差來獲得第二子圖像塊的重構(gòu)像素值。需要理解的是,如果根據(jù)劃分方式信息,所述當(dāng)前解碼對象還包括與所述第二子圖像塊相鄰的第三子圖像塊,則從碼流中獲得所述第三子圖像塊的殘差,跟據(jù)所述第一預(yù)
8測方向、以所述第二子圖像塊為參考圖像塊,獲得所述第三子圖像塊的預(yù)測像素值,可選的,所述第三子圖像塊還可以根據(jù)所述第一預(yù)測方向和所述第三子圖像塊的其它相鄰塊中的重構(gòu)像素值進(jìn)行預(yù)測。然后再根據(jù)所述第三子圖像塊的殘差和預(yù)測像素值獲得所述第三子圖像塊的重構(gòu)像素值。如果還存在與第三子圖像塊相鄰的第四子圖像塊、與第四子圖像塊相鄰的第五子圖像塊....,以此類推,參照處理。請參照圖3,本發(fā)明實施例還提供了與本發(fā)明方法實施例相對應(yīng)的編碼裝置,其包括劃分模塊301,用于將當(dāng)前編碼對象進(jìn)行劃分,得到多個子圖像塊;其中,所述多個子圖像塊沿水平或豎直方向依次排列,且所述多個子圖像塊中至少包括處于所述當(dāng)前編碼對象的邊界的第一子圖像塊,以及與所述第一子圖像塊相鄰的第
二子圖像塊。子圖像塊預(yù)測模塊302,用于用于確定所述第一子圖像塊的第一預(yù)測方向,并根據(jù)所述當(dāng)前編碼對象的相鄰圖像塊,按照所述第一預(yù)測方向,對所述第一子圖像塊進(jìn)行預(yù)測, 得到所述第一子圖像塊的預(yù)測像素值,以及所述預(yù)測像素值與所述子圖像塊的原始像素值之間的殘差;以及,用于根據(jù)所述第一預(yù)測方向和所述第一子圖像的重構(gòu)像素值,對所述第二子圖像塊進(jìn)行預(yù)測,得到所述第二子圖像塊的預(yù)測像素值,以及所述預(yù)測像素值與所述子圖像塊的原始像素值之間的殘差;重構(gòu)像素值獲得模塊303,用于根據(jù)所述預(yù)測像素值和所述殘差得到所述當(dāng)前幀編碼圖像的子圖像塊的所述重構(gòu)像素值;寫入模塊304,用于將所述當(dāng)前編碼對象的劃分方式信息、所述第一預(yù)測方向、所述第一子圖像塊的所述殘差和所述第二子圖像塊的所述殘差寫入碼流中??梢岳斫?,本發(fā)明實施例所提供的編碼裝置其實是一種應(yīng)用于編碼端的預(yù)測器。請參照圖4,本發(fā)明實施例還提供了一種與本發(fā)明方法實施例相對應(yīng)的解碼裝置, 其包括參數(shù)獲得模塊401,用于從碼流中獲得所述當(dāng)前解碼對象的劃分方式信息、所述第一預(yù)測方向、所述當(dāng)前幀解碼對象的第一子圖像塊的殘差和所述當(dāng)前幀解碼對象的第二子圖像塊的殘差;劃分模塊402,用于根據(jù)所述劃分方式信息,將所述當(dāng)前解碼對象進(jìn)行劃分,得到多個子圖像塊,其中所述多個子圖像塊中至少包括第一子圖像塊和第二子圖像塊;重構(gòu)模塊403,用于根據(jù)所述第一預(yù)測方向獲得所述第一子圖像塊的參考圖像塊的重構(gòu)像素值,根據(jù)所述第一預(yù)測方向、所述參考圖像塊的重構(gòu)像素值、以及所述第一子圖像塊的殘差獲得所述第一子圖像塊的重構(gòu)像素值;以及根據(jù)所述第一預(yù)測方向、所述第一子圖像塊的重構(gòu)像素值、以及所述第二子圖像塊的殘差,獲得所述第二子圖像塊的重構(gòu)像素值。通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在存儲介質(zhì)中,如ROM/ RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機裝置(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)裝置等)執(zhí)行本發(fā)明各個實施例或者實施例的某些部分所述的方法。
以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以作出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護范圍。
權(quán)利要求
1.一種編碼方法,其特征在于,包括將當(dāng)前編碼對象進(jìn)行劃分,得到多個子圖像塊,其中,所述多個子圖像塊沿水平或豎直方向依次排列,且所述多個子圖像塊中至少包括處于所述當(dāng)前編碼對象的邊界的第一子圖像塊,以及與所述第一子圖像塊相鄰的第二子圖像塊;確定所述第一子圖像塊的第一預(yù)測方向,并根據(jù)所述當(dāng)前編碼對象的相鄰圖像塊,按照所述第一預(yù)測方向,對所述第一子圖像塊進(jìn)行預(yù)測,得到所述第一子圖像塊的預(yù)測像素值,以及所述預(yù)測像素值與所述子圖像塊的原始像素值之間的殘差;根據(jù)所述預(yù)測像素值和所述殘差得到所述第一子圖像塊的重構(gòu)像素值;根據(jù)所述第一預(yù)測方向和所述第一子圖像的重構(gòu)像素值,對所述第二子圖像塊進(jìn)行預(yù)測,得到所述第二子圖像塊的預(yù)測像素值,以及所述預(yù)測像素值與所述子圖像塊的原始像素值之間的殘差;將所述當(dāng)前編碼對象的劃分方式信息、所述第一預(yù)測方向、所述第一子圖像塊的所述殘差和所述第二子圖像塊的所述殘差寫入碼流中。
2.如權(quán)利要求1中所述的編碼方法,其特征在于,所述確定所述第一子圖像塊的第一預(yù)測方向包括通過遍歷或者直接指定的方式從預(yù)先定義的多個預(yù)測方向中選擇一個預(yù)測方向,作為所述第一子圖像塊的預(yù)測方向。
3.如權(quán)利要求1中所述的編碼方法,其特征在于,當(dāng)所述多個子圖像塊為沿水平方向依次排列時,所述第一子圖像塊位于所述當(dāng)前編碼對象的左側(cè)邊界,所述確定所述第一子圖像塊的第一預(yù)測方向包括取所述當(dāng)前編碼對象的左相鄰圖像塊中的、與所述第一子圖像塊相鄰的子圖像塊的預(yù)測方向,作為所述第一子圖像塊的預(yù)測方向。
4.如權(quán)利要求1中所述的編碼方法,其特征在于,當(dāng)所述多個子圖像塊為沿垂直方向依次排列時,所述第一子圖像塊位于所述當(dāng)前編碼對象的上側(cè)邊界,所述確定所述第一子圖像塊的第一預(yù)測方向包括取所述當(dāng)前編碼對象的上相鄰圖像塊中的、與所述第一子圖像塊相鄰的子圖像塊的預(yù)測方向,作為所述第一子圖像塊的預(yù)測方向。
5.一種解碼方法,其特征在于,包括從碼流中獲得所述當(dāng)前解碼對象的劃分方式信息、所述第一預(yù)測方向、所述當(dāng)前幀解碼對象的第一子圖像塊的殘差和所述當(dāng)前幀解碼對象的第二子圖像塊的殘差;根據(jù)所述劃分方式信息,將所述當(dāng)前解碼對象進(jìn)行劃分,得到沿水平或垂直方向依次排列的多個子圖像塊,其中所述多個子圖像塊中至少包括第一子圖像塊和第二子圖像塊;根據(jù)所述第一預(yù)測方向獲得所述第一子圖像塊的參考圖像塊的重構(gòu)像素值;根據(jù)所述第一預(yù)測方向、所述參考圖像塊的重構(gòu)像素值、以及所述第一子圖像塊的殘差獲得所述第一子圖像塊的重構(gòu)像素值;根據(jù)所述第一預(yù)測方向、所述第一子圖像塊的重構(gòu)像素值、以及所述第二子圖像塊的殘差,獲得所述第二子圖像塊的重構(gòu)像素值。
6.如權(quán)利要求5中所述的解碼方法,其特征在于,所述根據(jù)所述第一預(yù)測方向、所述參考圖像塊的重構(gòu)像素值、以及所述第一子圖像塊的殘差獲得所述第一子圖像塊的重構(gòu)像素值包括根據(jù)所述第一預(yù)測方向和所述參考圖象塊的重構(gòu)像素值獲得所述第一子圖像塊的預(yù)測像素值;根據(jù)所述第一子圖像塊的預(yù)測像素值和所述第一子圖像塊的殘差獲得所述第一子圖像塊的重構(gòu)像素值。
7.如權(quán)利要求5中所述的解碼方法,其特征在于,所述根據(jù)所述第一預(yù)測方向、所述第一子圖像塊的重構(gòu)像素值、以及所述第二子圖像塊的殘差,獲得所述第二子圖像塊的重構(gòu)像素值包括根據(jù)所述第一預(yù)測方向和所述第一子圖像塊的重構(gòu)像素值獲得所述第二子圖像塊的預(yù)測像素值;根據(jù)所述第二子圖像塊的預(yù)測像素值和所述第二子圖像塊的殘差獲得所述第二子圖像塊的重構(gòu)像素值。
8.一種編碼裝置,其特征在于,包括劃分模塊,將當(dāng)前編碼對象進(jìn)行劃分,得到多個子圖像塊,其中,所述多個子圖像塊沿水平或豎直方向依次排列,且所述多個子圖像塊中至少包括處于所述當(dāng)前編碼對象的邊界的第一子圖像塊,以及與所述第一子圖像塊相鄰的第二子圖像塊;子圖像塊預(yù)測模塊,用于確定所述第一子圖像塊的第一預(yù)測方向,并根據(jù)所述當(dāng)前編碼對象的相鄰圖像塊,按照所述第一預(yù)測方向,對所述第一子圖像塊進(jìn)行預(yù)測,得到所述第一子圖像塊的預(yù)測像素值,以及所述預(yù)測像素值與所述子圖像塊的原始像素值之間的殘差;以及,用于根據(jù)所述第一預(yù)測方向和所述第一子圖像的重構(gòu)像素值,對所述第二子圖像塊進(jìn)行預(yù)測,得到所述第二子圖像塊的預(yù)測像素值,以及所述預(yù)測像素值與所述子圖像塊的原始像素值之間的殘差;重構(gòu)像素值獲得模塊,用于根據(jù)所述預(yù)測像素值和所述殘差得到所述當(dāng)前幀編碼圖像的子圖像塊的所述重構(gòu)像素值;寫入模塊,用于將所述當(dāng)前編碼對象的劃分方式信息、所述第一預(yù)測方向、所述第一子圖像塊的所述殘差和所述第二子圖像塊的所述殘差寫入碼流中。
9.如權(quán)利要求8中所述的編碼裝置,其特征在于,所述重構(gòu)像素值獲得模塊用于根據(jù)所述第一子圖像塊的殘差和所述第一子圖像塊的預(yù)測像素值獲得所述第一子圖像塊的重構(gòu)圖像值。
10.一種解碼裝置,其特征在于,包括參數(shù)獲得模塊,用于從碼流中獲得所述當(dāng)前解碼對象的劃分方式信息、所述第一預(yù)測方向、所述當(dāng)前幀解碼對象的第一子圖像塊的殘差和所述當(dāng)前幀解碼對象的第二子圖像塊的殘差;劃分模塊,用于根據(jù)所述劃分方式信息,將所述當(dāng)前解碼對象進(jìn)行劃分,得到多個子圖像塊,其中所述多個子圖像塊中至少包括第一子圖像塊和第二子圖像塊;重構(gòu)模塊,用于根據(jù)所述第一預(yù)測方向獲得所述第一子圖像塊的參考圖像塊的重構(gòu)像素值,根據(jù)所述第一預(yù)測方向、所述參考圖像塊的重構(gòu)像素值、以及所述第一子圖像塊的殘差獲得所述第一子圖像塊的重構(gòu)像素值;以及根據(jù)所述第一預(yù)測方向、所述第一子圖像塊的重構(gòu)像素值、以及所述第二子圖像塊的殘差,獲得所述第二子圖像塊的重構(gòu)像素值。
11.如權(quán)利要求10中所述的解碼裝置,其特征在于,所述根據(jù)所述第一預(yù)測方向、所述參考圖像塊的重構(gòu)像素值、以及所述第一子圖像塊的殘差獲得所述第一子圖像塊的重構(gòu)像素值包括根據(jù)所述第一預(yù)測方向和所述參考圖象塊的重構(gòu)像素值獲得所述第一子圖像塊的預(yù)測像素值;根據(jù)所述第一子圖像塊的預(yù)測像素值和所述第一子圖像塊的殘差獲得所述第一子圖像塊的重構(gòu)像素值。
12.如權(quán)利要求10中所述的解碼裝置,其特征在于,所述根據(jù)所述第一預(yù)測方向、所述第一子圖像塊的重構(gòu)像素值、以及所述第二子圖像塊的殘差,獲得所述第二子圖像塊的重構(gòu)像素值包括根據(jù)所述第一預(yù)測方向和所述第一子圖像塊的重構(gòu)像素值獲得所述第二子圖像塊的預(yù)測像素值;根據(jù)所述第二子圖像塊的預(yù)測像素值和所述第二子圖像塊的殘差獲得所述第二子圖像塊的重構(gòu)像素值。
全文摘要
本發(fā)明實施例提供一種編碼方法和裝置,其包括將圖像塊進(jìn)行劃分,得到多個子圖像塊;確定第一子圖像塊的第一預(yù)測方向,并根據(jù)圖像塊的相鄰圖像塊,按照第一預(yù)測方向,對第一子圖像塊進(jìn)行預(yù)測,得到第一子圖像塊的預(yù)測像素值,以及預(yù)測像素值與子圖像塊的原始像素值之間的殘差;根據(jù)預(yù)測像素值和殘差得到第一子圖像塊的重構(gòu)像素值;根據(jù)第一預(yù)測方向和第一子圖像的重構(gòu)像素值,對第二子圖像塊進(jìn)行預(yù)測,得到第二子圖像塊的預(yù)測像素值,以及預(yù)測像素值與子圖像塊的原始像素值之間的殘差;將第一預(yù)測方向?qū)懭氪a流中。應(yīng)用了本發(fā)明實施例所提供的編碼方法,編碼端僅需要在碼流中寫入圖像塊的一個子圖像塊的預(yù)測方向即可,節(jié)省了碼流。
文檔編號H04N7/26GK102595117SQ201110007660
公開日2012年7月18日 申請日期2011年1月14日 優(yōu)先權(quán)日2011年1月14日
發(fā)明者何蕓, 曹瀟然, 林永兵, 賴昌材 申請人:華為技術(shù)有限公司, 清華大學(xué)