本發(fā)明涉及用于圖像編碼系統(tǒng)的塊預(yù)測(cè)(blockprediction)。具體地,本發(fā)明涉及使用圖像壓縮應(yīng)用(例如,通過(guò)顯示鏈路的圖像數(shù)據(jù)傳輸)的可變塊大小進(jìn)行塊預(yù)測(cè)的方法和裝置。
背景技術(shù):
目前已經(jīng)有各種視頻編碼標(biāo)準(zhǔn)以減少視頻傳輸所需的比特率或存儲(chǔ)所需的容量。例如,mpeg-2、mpeg-4和avc/h.264已經(jīng)廣泛用于各種應(yīng)用中。近年來(lái),在諸如vp8、vp9和新興的高效率視頻編碼(highefficiencyvideocoding,hevc)標(biāo)準(zhǔn)的較新的視頻壓縮格式中,編碼效率已經(jīng)大大提高。
在涉及圖像顯示的各種設(shè)備中,存在需要數(shù)據(jù)壓縮的另一類型的應(yīng)用程序。特別地,將計(jì)算機(jī)連接到監(jiān)視器、將機(jī)頂盒連接到電視機(jī)、以及將應(yīng)用處理器連接到顯示面板的顯示鏈路是在工業(yè)中廣泛使用的數(shù)字接口格式。顯示鏈接使用數(shù)字接口。隨著對(duì)更高顯示分辨率和更高幀速率的不斷增長(zhǎng)的需求,通過(guò)顯示鏈路發(fā)送的數(shù)據(jù)量變得非常高。例如,在120hz幀速率下,機(jī)頂盒設(shè)備和1080p的高清電視(high-definitiontv,hdtv)之間的顯示鏈路將需要大于7gb/秒(gbits/sec)。對(duì)于超高清(ultrahighdefinition,uhd)電視,所需的數(shù)據(jù)將高達(dá)上述的四倍。因此,顯示鏈接通常是壓縮格式。例如,視頻電子標(biāo)準(zhǔn)協(xié)會(huì)(videoelectronicsstandardsassociation,vesa)和mipi聯(lián)盟聯(lián)合開(kāi)發(fā)了顯示流壓縮(displaystreamcompression,dsc)標(biāo)準(zhǔn),以滿足顯示應(yīng)用(displayapplications)中的數(shù)據(jù)壓縮的需要。
由于不同的要求,dsc標(biāo)準(zhǔn)不同于流行的視頻編碼標(biāo)準(zhǔn),諸如mpeg-2/4,avc/h.264和hevc。例如,用于顯示應(yīng)用中的壓縮的顏色空間(colorspace)可以是ycocg顏色空間,而不是yuv顏色空間。此外,dsc僅包括幀內(nèi)(intra-frame)壓縮而沒(méi)有幀間(inter-frame)壓縮,以最小化處理延遲并避免需要參考圖像緩沖器(referencepicturebuffer)。在典型的應(yīng)用中,dsc所需的壓縮比遠(yuǎn)小于視頻存儲(chǔ)或網(wǎng)絡(luò)傳輸?shù)膲嚎s比。圖1a為示例性dsc編碼器的主要功能塊的示意圖。如圖所示。如圖1a所示,dsc編碼器包括源緩沖器110、預(yù)測(cè)/量化/重構(gòu)單元112、可變長(zhǎng)度編碼(variablelengthcoding,vlc)熵編碼單元114、平坦度(flatness)確定單元116、速率控制單元118、行緩沖器(linebuffer)120以及索引顏色歷史(indexedcolorhistory,ich)單元122。如果輸入圖像數(shù)據(jù)是rgb顏色格式,則在dsc編碼器中使用對(duì)應(yīng)于rgb至ycocg顏色格式轉(zhuǎn)換器的顏色空間轉(zhuǎn)換器(圖1a中未示出)。來(lái)自平坦度確定單元116的信息可以用于調(diào)整速率控制單元118中的量化參數(shù)(quantizationparameter,qp)。如圖1a所示,使用vlc熵編碼單元114對(duì)平坦度指示(flatnessindication)進(jìn)行熵編碼,并將其并入比特流中。根據(jù)dsc,像素使用1x3的塊大小進(jìn)行處理,如圖1b所示。其中,當(dāng)前塊130由相同像素行中的參考?jí)K132來(lái)預(yù)測(cè)。參考?jí)K132的位置由對(duì)應(yīng)的塊向量134來(lái)指示。
隨著對(duì)顯示鏈路的越來(lái)越多的需要,以支持用于顏色分量的更高的顯示分辨率和更高的位深度,vesa發(fā)起了建立用于高級(jí)顯示流壓縮(advanceddisplaystreamcompression,adsc)的標(biāo)準(zhǔn)的開(kāi)發(fā)努力。此外,adsc支持原生的4:2:0和4:2:2編碼,以消除將像素轉(zhuǎn)換為rgb分量的需要。例如,adsc允許以ycbcr4:2:0顏色取樣圖案進(jìn)行更有效的壓縮。此外,adsc還支持高動(dòng)態(tài)范圍(highdynamicrange,hdr),以適應(yīng)較新的電視節(jié)目和電影中較高的顏色深度。
顯示鏈接的處理經(jīng)常使用基于塊的(block-based)壓縮,其中將圖片(picture)劃分為塊,并且將壓縮應(yīng)用于每個(gè)塊。此外,壓縮設(shè)置可以應(yīng)用于小于圖片的圖像單元(imageunit)。例如,正在開(kāi)發(fā)的高級(jí)dsc(adsc)被應(yīng)用于每個(gè)圖片的切片,并且目標(biāo)比特率被施加在每個(gè)切片上。每個(gè)切片被劃分為多個(gè)編碼單元(即,塊),并且每個(gè)編碼單元由n×m個(gè)像素的塊組成,其中n對(duì)應(yīng)于塊寬度,m對(duì)應(yīng)于塊高度。根據(jù)adsc,每個(gè)塊的特性根據(jù)“平坦度”來(lái)評(píng)估,其中每個(gè)塊的平坦度被分類到如下的五個(gè)平坦度類型之中:
·類型:-1表示“復(fù)雜塊”
·類型:0表示“平坦區(qū)域”
·類型:1表示“平坦區(qū)域(比類型0較不平坦”)
·類型:2表示“復(fù)雜到平坦塊”
·類型:3表示“平坦到復(fù)雜塊”
根據(jù)每個(gè)塊及其相鄰塊的復(fù)雜度信息確定平坦度類型。平坦度類型影響每個(gè)塊中的速率控制行為。根據(jù)現(xiàn)有的adsc草案標(biāo)準(zhǔn),平坦度類型的語(yǔ)法在每個(gè)編碼單元中被通知。
圖1c為根據(jù)adsc草案的示例性編碼系統(tǒng)的主要功能塊的示意圖。adsc編碼器包括源緩沖器140,用于為正被編碼的當(dāng)前塊選擇最佳模式的模式?jīng)Q定單元142,使用由模式?jīng)Q定單元142選擇的最佳模式對(duì)當(dāng)前塊應(yīng)用預(yù)測(cè)、量化和重構(gòu)的塊編碼單元144,vlc熵編碼單元146,平坦度確定單元148,速率控制單元150和重構(gòu)緩沖器152。在重構(gòu)緩沖器152中緩沖的重構(gòu)數(shù)據(jù)將用作為編碼當(dāng)前塊和/或后續(xù)塊的參考數(shù)據(jù)。在重建緩沖器152中緩沖的重構(gòu)數(shù)據(jù)也將被用于模式?jīng)Q定。
根據(jù)adsc,使用各種編碼模式來(lái)對(duì)塊進(jìn)行編碼。編碼模式包括轉(zhuǎn)換模式、dpcm(deltapulsecodemodulation)模式、塊預(yù)測(cè)(blockprediction,bp)模式、圖案(pattern)模式、中點(diǎn)預(yù)測(cè)(midpointprediction,mpp)模式和mpp回退(mppfallback,mppf)模式。中點(diǎn)預(yù)測(cè)模式使用中點(diǎn)值作為每個(gè)塊中的預(yù)測(cè)器。例如,中點(diǎn)值可以由像素的動(dòng)態(tài)范圍的一半或當(dāng)前塊的相鄰重構(gòu)像素的平均值來(lái)確定。
圖1d為根據(jù)adsc草案的示例性模式?jīng)Q定處理的示意圖。模式的類型包括常規(guī)模式(160至164)和回退模式(165和166)。對(duì)于每種模式,計(jì)算速率-失真成本(rate-distortioncost,r-d成本),并將其提供給相應(yīng)的處理單元(170)以執(zhí)行速率失真優(yōu)化、緩沖器預(yù)算和錯(cuò)誤校驗(yàn)功能。處理單元170檢查每個(gè)可用模式的緩沖器預(yù)算。如果檢測(cè)到所有可用的常規(guī)模式都有緩沖器錯(cuò)誤(溢出)或者剩余比特小于閾值,則根據(jù)相應(yīng)的r-d成本從回退模式(例如,mppf模式或bp跳躍模式(bp-skip))中選擇最佳模式。否則,編碼器通過(guò)r-d成本從常規(guī)模式中選擇最佳模式。
希望進(jìn)一步提高adsc的壓縮效率。具體地,本發(fā)明涉及塊預(yù)測(cè)模式的性能改進(jìn)。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明提供一種使用塊預(yù)測(cè)的視頻編碼方法。
依據(jù)本發(fā)明一實(shí)施方式,提供一種使用塊預(yù)測(cè)的視頻編碼方法,所述塊預(yù)測(cè)使用多個(gè)塊大小,所述方法包括:接收當(dāng)前切片中的當(dāng)前塊的輸入像素,其中所述當(dāng)前切片被劃分為多個(gè)塊;獲得使用具有第一塊大小的所述塊預(yù)測(cè)來(lái)編碼的所述當(dāng)前塊的第一失真,其中所述當(dāng)前塊被分割成具有所述第一塊大小的一個(gè)或多個(gè)第一分區(qū),所述第一失真對(duì)應(yīng)于所述當(dāng)前塊的一個(gè)或多個(gè)第一預(yù)測(cè)器和與所述當(dāng)前塊相關(guān)的所述一個(gè)或多個(gè)第一分區(qū)之間的偏差,并且每個(gè)所述第一預(yù)測(cè)器是從所述當(dāng)前塊之前的重構(gòu)像素獲得的;獲得使用具有第二塊大小的所述塊預(yù)測(cè)來(lái)編碼的所述當(dāng)前塊的第二失真,其中所述當(dāng)前塊被分割成具有所述第二塊大小的一個(gè)或多個(gè)第二分區(qū),所述第二失真對(duì)應(yīng)于所述當(dāng)前塊的一個(gè)或多個(gè)第二預(yù)測(cè)器和與所述當(dāng)前塊相關(guān)的所述一個(gè)或多個(gè)第二分區(qū)之間的偏差,并且每個(gè)所述第二預(yù)測(cè)器是從所述當(dāng)前塊之前的所述重構(gòu)像素獲得的,其中所述第二失真是使用至少部分所述第一失真來(lái)計(jì)算的;從所述一個(gè)或多個(gè)第一預(yù)測(cè)器和所述一個(gè)或多個(gè)第二預(yù)測(cè)器確定一個(gè)或多個(gè)最佳預(yù)測(cè)器;以及將具有選定的塊大小的所述塊預(yù)測(cè)應(yīng)用于使用所述一個(gè)或多個(gè)最佳預(yù)測(cè)器的所述當(dāng)前塊,其中所述選定的塊大小與所述最佳預(yù)測(cè)器相關(guān)。
依據(jù)本發(fā)明另一實(shí)施方式,提供一種使用塊預(yù)測(cè)的視頻編碼方法,所述塊預(yù)測(cè)使用可變塊大小,所述方法包括:接收與當(dāng)前切片中的當(dāng)前塊相關(guān)的輸入數(shù)據(jù),其中所述當(dāng)前切片被劃分為多個(gè)塊;確定使用所述可變塊大小的所述塊預(yù)測(cè)是否被啟用;如果使用所述可變塊大小的所述塊預(yù)測(cè)被啟用:確定所述當(dāng)前塊的一個(gè)或多個(gè)第一預(yù)測(cè)器,所述當(dāng)前塊使用具有所述可變塊大小允許的每個(gè)塊大小的所述塊預(yù)測(cè)來(lái)編碼,其中所述一個(gè)或多個(gè)第一預(yù)測(cè)器是從所述當(dāng)前塊之前的重構(gòu)像素獲得的;從所述可變塊大小的所述一個(gè)或多個(gè)第一預(yù)測(cè)器確定一個(gè)或多個(gè)最佳預(yù)測(cè)器;以及將具有選定的塊大小的所述塊預(yù)測(cè)應(yīng)用于使用所述一個(gè)或多個(gè)最佳預(yù)測(cè)器的所述當(dāng)前塊,其中所述選定的塊大小與所述一個(gè)或多個(gè)最佳預(yù)測(cè)器相關(guān);以及如果使用所述可變塊大小的所述塊預(yù)測(cè)沒(méi)有被啟用:確定所述當(dāng)前塊的一個(gè)或多個(gè)第二預(yù)測(cè)器,所述當(dāng)前塊使用具有固定塊大小的所述塊預(yù)測(cè)來(lái)編碼;以及將具有所述固定塊大小的所述塊預(yù)測(cè)應(yīng)用于使用所述一個(gè)或多個(gè)第二預(yù)測(cè)器的所述當(dāng)前塊。
依據(jù)本發(fā)明另一實(shí)施方式,提供一種使用塊預(yù)測(cè)的視頻編碼方法,所述塊預(yù)測(cè)使用可變塊大小,所述方法包括:接收與當(dāng)前切片中的當(dāng)前塊相關(guān)的輸入數(shù)據(jù),其中所述當(dāng)前切片被劃分為多個(gè)塊;如果將所述當(dāng)前塊分割成多個(gè)分區(qū)的、具有來(lái)自所述可變塊大小的選定的塊大小的所述塊預(yù)測(cè)被使用:為每個(gè)分區(qū)確定一個(gè)預(yù)測(cè)器,所述每個(gè)分區(qū)與使用具有所述選定的塊大小的所述塊預(yù)測(cè)來(lái)編碼的所述當(dāng)前塊相關(guān),其中兩個(gè)不同分區(qū)的兩個(gè)預(yù)測(cè)器是從不同像素行組獲得的,并且每個(gè)像素行組包括在所述當(dāng)前塊之前處理的一個(gè)或多個(gè)重構(gòu)像素行;以及將具有所述選定的塊大小的所述塊預(yù)測(cè)應(yīng)用于分別使用所述多個(gè)分區(qū)的所述預(yù)測(cè)器的所述當(dāng)前塊。
依據(jù)本發(fā)明另一實(shí)施方式,提供一種使用塊預(yù)測(cè)的視頻編碼方法,所述塊預(yù)測(cè)使用非444格式的彩色視頻數(shù)據(jù)的可變塊大小,所述方法包括:接收與當(dāng)前切片中的當(dāng)前塊相關(guān)的輸入數(shù)據(jù),其中所述當(dāng)前切片被劃分為多個(gè)塊,所述當(dāng)前塊包括與所述非444格式的所述彩色視頻數(shù)據(jù)相關(guān)的亮度像素和色度像素;確定所述當(dāng)前塊的所述亮度像素的一個(gè)或多個(gè)預(yù)測(cè)器,所述當(dāng)前塊使用具有所述可變塊大小允許的每個(gè)選定的塊大小的所述塊預(yù)測(cè)來(lái)編碼,其中所述當(dāng)前塊根據(jù)所述選定的塊大小被劃分為一個(gè)或多個(gè)分區(qū),并且從所述當(dāng)前塊之前處理的重構(gòu)亮度像素獲得每個(gè)分區(qū)的一個(gè)預(yù)測(cè)器;從與所述可變塊大小相關(guān)的所述一個(gè)或多個(gè)預(yù)測(cè)器中確定一個(gè)或多個(gè)最佳亮度預(yù)測(cè)器;將具有所述選定的塊大小的所述塊預(yù)測(cè)應(yīng)用于使用所述一個(gè)或多個(gè)最佳亮度預(yù)測(cè)器的所述當(dāng)前塊的所述亮度像素,其中所述選定的塊大小與所述一個(gè)或多個(gè)最佳亮度預(yù)測(cè)器相關(guān);以及將具有所述選定的塊大小的所述塊預(yù)測(cè)應(yīng)用于使用一個(gè)或多個(gè)最佳色度預(yù)測(cè)器的所述當(dāng)前塊的所述色度像素,其中所述一個(gè)或多個(gè)最佳色度預(yù)測(cè)器是從屬于所述一個(gè)或多個(gè)最佳亮度預(yù)測(cè)器的重構(gòu)色度像素獲得的。
依據(jù)本發(fā)明又一實(shí)施方式,提供一種使用塊預(yù)測(cè)的視頻編碼方法,所述塊預(yù)測(cè)使用可變塊大小,所述方法包括:接收與當(dāng)前切片中的當(dāng)前塊相關(guān)的輸入數(shù)據(jù),其中所述當(dāng)前切片被劃分為多個(gè)塊,并且所述當(dāng)前塊包括亮度像素;確定所述當(dāng)前塊的第一預(yù)測(cè)器,所述當(dāng)前塊使用具有對(duì)應(yīng)于當(dāng)前塊大小的第一塊大小的塊預(yù)測(cè)來(lái)編碼,其中所述第一預(yù)測(cè)器使用從所述當(dāng)前塊指向所述第一預(yù)測(cè)器的第一塊向量來(lái)定位,且所述第一塊向量被限制為一維的;確定與所述當(dāng)前塊相關(guān)的多個(gè)分區(qū)的多個(gè)第二預(yù)測(cè)器,所述當(dāng)前塊使用具有從所述可變塊大小中選擇的允許的第二塊大小的所述塊預(yù)測(cè)來(lái)編碼,以及所述第二塊大小小于所述第一塊大小,其中,所述當(dāng)前塊被劃分為具有所述第二塊大小的所述多個(gè)分區(qū),為每個(gè)分區(qū)獲得一個(gè)所述第二預(yù)測(cè)器,所述每個(gè)分區(qū)具有從一個(gè)所述分區(qū)指向一個(gè)所述第二預(yù)測(cè)器的一個(gè)第二塊向量,并且允許所述第二塊向量中的至少一個(gè)是二維的;從與所述可變塊大小相關(guān)的候選預(yù)測(cè)器中確定一個(gè)或多個(gè)最佳預(yù)測(cè)器,其中所述候選預(yù)測(cè)器包括所述第一預(yù)測(cè)器和所述多個(gè)第二預(yù)測(cè)器;以及將具有選定的塊大小的所述塊預(yù)測(cè)應(yīng)用于使用所述一個(gè)或多個(gè)最佳預(yù)測(cè)器的所述當(dāng)前塊,其中所述選定的塊大小與所述一個(gè)或多個(gè)最佳預(yù)測(cè)器相關(guān)。
本發(fā)明所提供的使用塊預(yù)測(cè)的視頻編碼方法,能夠改善使用塊預(yù)測(cè)模式的性能,提高adsc的壓縮效率。
對(duì)于已經(jīng)閱讀后續(xù)由各附圖及內(nèi)容所顯示的較佳實(shí)施方式的本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明的各目的是明顯的。
附圖說(shuō)明
圖1a為基于顯示流壓縮(dsc)標(biāo)準(zhǔn)的示例性系統(tǒng)的主要功能塊的示意圖。
圖1b為根據(jù)dsc標(biāo)準(zhǔn)的塊預(yù)測(cè)的示意圖。
圖1c為根據(jù)adsc草案的示例性編碼系統(tǒng)的主要功能塊的示意圖。
圖1d為根據(jù)adsc草案的示例性模式?jīng)Q定處理(modedecisionprocess)的示意圖。
圖2a為根據(jù)adscv0.3的塊預(yù)測(cè)模式的允許可變塊大小(即,2x2和1x2)的示意圖。
圖2b為由2x8個(gè)像素組成的圖像區(qū)域的示意圖,其被劃分為四個(gè)2x2塊。對(duì)于每個(gè)2x2塊,該塊可以被編碼為一個(gè)2x2塊或兩個(gè)1x2分區(qū)(partition)。
圖3a為根據(jù)常規(guī)adsc的位于切片的第一行的2x2塊的1x2塊預(yù)測(cè)模式的塊預(yù)測(cè)的實(shí)施例。
圖3b為根據(jù)傳統(tǒng)adsc的使用1x2塊預(yù)測(cè)模式的切片的非第一行中的當(dāng)前塊的塊預(yù)測(cè)的另一實(shí)施例。
圖4a為根據(jù)常規(guī)adsc的在切片的第一行處的2x2塊預(yù)測(cè)模式的塊預(yù)測(cè)的實(shí)施例。
圖4b為根據(jù)常規(guī)adsc的在切片的非第一行處的2x2塊預(yù)測(cè)模式的塊預(yù)測(cè)的實(shí)施例。
圖5a為使用重用(reusing)先前獲得的(derived)至少部分失真的方法的實(shí)施例。
圖5b為使用具有不同塊大小(即,1x2)的塊預(yù)測(cè)來(lái)計(jì)算當(dāng)前塊的失真的實(shí)施例。
圖6為分別從不同像素線組得到的屬于不同像素線組的分區(qū)的預(yù)測(cè)器的實(shí)施例。
圖7a為4:2:0顏色取樣圖案(colorsamplingpattern)705的實(shí)施例,其中每四個(gè)亮度像素存在一個(gè)色度像素,其中色度像素位于兩個(gè)左邊的亮度像素的中間。
圖7b為基于當(dāng)前塊的亮度像素的預(yù)測(cè)器為圖7a所示的顏色取樣圖案獲得色度預(yù)測(cè)器的實(shí)施例。
圖7c為基于當(dāng)前塊的亮度像素的預(yù)測(cè)器為圖7a所示的顏色取樣圖案獲得色度預(yù)測(cè)器的另一實(shí)施例。
圖8a為4:2:0顏色取樣圖案的實(shí)施例,其中每四個(gè)亮度像素存在一個(gè)色度像素,其中色度像素位于兩個(gè)右邊的亮度像素的中間。
圖8b為基于用于當(dāng)前塊的亮度像素的預(yù)測(cè)器為圖8a所示的顏色取樣圖案獲得色度預(yù)測(cè)器的實(shí)施例。
圖8c為基于用于當(dāng)前塊的亮度像素的預(yù)測(cè)器為圖8a所示的顏色取樣圖案獲得色度預(yù)測(cè)器的另一實(shí)施例。
圖9a為4:2:0顏色取樣圖案的實(shí)施例,其中每四個(gè)亮度像素存在一個(gè)色度像素,其中色度像素位于四個(gè)亮度像素的中心。
圖9b為基于當(dāng)前塊的亮度像素的預(yù)測(cè)器為圖9a所示的顏色取樣圖案的獲得色度預(yù)測(cè)器的實(shí)施例。
圖9c為基于當(dāng)前塊的亮度像素的預(yù)測(cè)器為圖9a所示的顏色取樣圖案的獲得色度預(yù)測(cè)器的另一實(shí)施例。
圖10為用于當(dāng)前塊的分區(qū)的預(yù)測(cè)器的實(shí)施例,其中從分區(qū)指向預(yù)測(cè)器的塊向量可以是二維的。
圖11a為根據(jù)本發(fā)明的實(shí)施例的結(jié)合可變大小塊預(yù)測(cè)的示例性系統(tǒng)的主要功能塊的示意圖。
圖11b為根據(jù)本發(fā)明實(shí)施例的根據(jù)結(jié)合可變大小塊預(yù)測(cè)的示例性系統(tǒng)的模式?jīng)Q定處理的示意圖。
圖12為結(jié)合本發(fā)明的實(shí)施例的示例性編碼系統(tǒng)的流程圖,其中與具有第一塊大小的塊預(yù)測(cè)相關(guān)的失真重用與具有第二塊大小的塊預(yù)測(cè)相關(guān)的失真。
圖13為結(jié)合本發(fā)明的實(shí)施例的示例性編碼系統(tǒng)的流程圖,信息被發(fā)信以指示使用可變塊大小的塊預(yù)測(cè)是否被啟用。
圖14為結(jié)合本發(fā)明的實(shí)施例的示例性編碼系統(tǒng)的流程圖,其中兩個(gè)不同分區(qū)的兩個(gè)預(yù)測(cè)器是從不同像素線組得到的,并且每個(gè)像素線組包括在當(dāng)前塊之前處理的一個(gè)或多個(gè)重構(gòu)像素線。
圖15為結(jié)合本發(fā)明的實(shí)施例的示例性編碼系統(tǒng)的流程圖,其中圖像數(shù)據(jù)為非444格式(non-444format),并且當(dāng)前塊的色度像素的預(yù)測(cè)器是從屬于當(dāng)前塊的亮度像素的預(yù)測(cè)器的色度像素獲得的。
圖16為結(jié)合本發(fā)明的實(shí)施例的示例性編碼系統(tǒng)的流程圖,其中當(dāng)前塊被劃分為多個(gè)分區(qū),并且為每個(gè)分區(qū)獲得一個(gè)預(yù)測(cè)器,其中預(yù)測(cè)器具有允許是二維的一個(gè)塊向量。
具體實(shí)施方式
以下描述為本發(fā)明的較佳實(shí)施例。以下實(shí)施例僅用來(lái)舉例闡釋本發(fā)明的技術(shù)特征,并非用以限定本發(fā)明。本發(fā)明的保護(hù)范圍當(dāng)視權(quán)利要求書(shū)所界定為準(zhǔn)。
在大多數(shù)圖像和視頻編碼系統(tǒng)中,圖片被劃分為塊,并且編碼處理被應(yīng)用于各個(gè)塊。通常,在大多數(shù)圖像和視頻壓縮系統(tǒng)中允許可變塊大小。例如,新的視頻編碼標(biāo)準(zhǔn),hevc(高效率視頻編碼)廣泛地使用可變塊大小用于編碼(即,編碼單元,cu)和預(yù)測(cè)(即,預(yù)測(cè)單元,pu)。在高級(jí)顯示流壓縮(adsc)中,塊預(yù)測(cè)模式的塊大小也可以是可變塊大小。例如,adscv0.3中的塊預(yù)測(cè)模式的塊大小可以是1x2或2x2,如圖2a所示。塊大小可以針對(duì)每個(gè)2x2塊自適應(yīng)地確定。例如,圖2b為由2x8個(gè)像素組成的圖像區(qū)域的示意圖,其被劃分為四個(gè)2x2塊。對(duì)于每個(gè)2x2塊,該塊可以被編碼為一個(gè)2x2塊或兩個(gè)1x2分區(qū),如圖2b所示。
對(duì)于adsc塊預(yù)測(cè)模式,將每一圖像分割成一個(gè)或一個(gè)以上切片,且將每一切片分割成2x2塊。每個(gè)塊可以使用2x2或1x2塊預(yù)測(cè)模式來(lái)編碼。圖3a為根據(jù)常規(guī)adsc的位于切片的第一行的2x2塊的1x2塊預(yù)測(cè)模式的塊預(yù)測(cè)的實(shí)施例。分區(qū)310a和分區(qū)310b表示正在被處理的當(dāng)前塊的兩個(gè)1x2分區(qū),并且用斜線填充的像素行340表示在正在被處理的當(dāng)前塊之前的重構(gòu)像素。塊320和塊330分別對(duì)應(yīng)于當(dāng)前塊的分區(qū)310b和分區(qū)310a的兩個(gè)候選塊。塊向量312和塊向量313分別表示從分區(qū)310b指向候選預(yù)測(cè)器(candidatepredictor)320和從分區(qū)310a指向候選預(yù)測(cè)器330的塊向量。通常來(lái)說(shuō),候選預(yù)測(cè)器是從候選塊中經(jīng)過(guò)一些計(jì)算/處理而提取出來(lái)的。在本實(shí)施例中,候選預(yù)測(cè)器是直接使用候選塊的像素值來(lái)作為當(dāng)前塊的像素預(yù)測(cè)器,值得注意的是,上述說(shuō)明僅用來(lái)說(shuō)明本發(fā)明的一種實(shí)施方式,并非用來(lái)限制本發(fā)明的范圍。
圖3b為根據(jù)傳統(tǒng)adsc的使用1x2塊預(yù)測(cè)模式的切片的非第一行中的當(dāng)前塊的塊預(yù)測(cè)的另一實(shí)施例,其中同一切片中的上方重構(gòu)像素線390用于獲取預(yù)測(cè)器(predictor)。塊350a和塊350b表示正在被處理的兩個(gè)1x2分區(qū)。塊360和塊370分別對(duì)應(yīng)于當(dāng)前分區(qū)350a和350b的兩個(gè)候選塊。塊向量356和塊向量357分別表示從當(dāng)前分區(qū)350a指向候選塊360和從當(dāng)前分區(qū)350b指向候選塊370的塊向量。再次,根據(jù)常規(guī)adsc,在1x2塊預(yù)測(cè)模式中,僅一行重構(gòu)像素被用于塊預(yù)測(cè)。
圖4a為根據(jù)常規(guī)adsc的在切片的第一行處的2x2塊預(yù)測(cè)模式的塊預(yù)測(cè)的實(shí)施例。塊410表示正在被處理的2x2塊,并且用斜線填充的像素行440表示在塊410之前的兩個(gè)重構(gòu)像素行。塊420和塊430對(duì)應(yīng)于當(dāng)前塊的兩個(gè)候選預(yù)測(cè)器。塊向量412和塊向量413表示分別從當(dāng)前塊410指向候選預(yù)測(cè)器420和候選預(yù)測(cè)器430的塊向量。
圖4b為根據(jù)常規(guī)adsc的在切片的非第一行處的2x2塊預(yù)測(cè)模式的塊預(yù)測(cè)的實(shí)施例。分區(qū)450a和450b表示正在被處理的2x2塊的兩部分。塊460對(duì)應(yīng)于兩個(gè)分區(qū)450a和450b的候選預(yù)測(cè)器。塊向量456a和456b表示從分區(qū)450a指向候選塊460和從分區(qū)450b指向候選塊460的塊向量。
根據(jù)常規(guī)adsc,針對(duì)具有所有允許塊大小的所有可能候選來(lái)評(píng)估編碼性能。例如,可能必須針對(duì)可變塊大小來(lái)評(píng)估塊預(yù)測(cè)殘差(在本申請(qǐng)中也稱為失真)。在使用不同塊大小的編碼性能評(píng)估期間將存在一些冗余。因此,期望開(kāi)發(fā)用于塊預(yù)測(cè)的編碼處理,其允許可變塊大小以消除或減少與失真評(píng)估相關(guān)的冗余。因此,在本發(fā)明的一個(gè)方法中,針對(duì)使用具有第二塊大小的塊預(yù)測(cè)而編碼的當(dāng)前塊所計(jì)算的第二失真,利用針對(duì)使用具有第一塊大小的塊預(yù)測(cè)而編碼的當(dāng)前塊所計(jì)算的至少部分第一失真。根據(jù)包括通過(guò)利用至少部分第一失真獲得的第二失真的性能評(píng)估信息來(lái)確定最佳候選和塊大小。結(jié)合此方法的編碼系統(tǒng)可將圖片分割成一個(gè)或多個(gè)切片。每個(gè)切片被分割成用于塊預(yù)測(cè)的多個(gè)塊。對(duì)于當(dāng)前塊,確定與使用第一塊大小的塊預(yù)測(cè)的第一塊向量相關(guān)的重構(gòu)區(qū)域中的第一候選預(yù)測(cè)器。計(jì)算第一候選預(yù)測(cè)器(即,重構(gòu)像素)和當(dāng)前塊(即,源像素)之間的第一失真。確定與使用第二塊大小的塊預(yù)測(cè)的第二塊向量相關(guān)的重構(gòu)區(qū)域中的第二候選預(yù)測(cè)器。計(jì)算第二候選預(yù)測(cè)器(即,重構(gòu)像素)和當(dāng)前塊(即,源像素)之間的第二失真。根據(jù)本方法,第二失真的計(jì)算將至少部分利用第一失真。
基于該方法的系統(tǒng)可以使用不同的配置。例如,系統(tǒng)可以僅允許一維塊向量,例如僅在水平方向上具有非零值的塊向量。在這種情況下,只有當(dāng)前塊左側(cè)的重構(gòu)像素可以用作預(yù)測(cè)像素。在另一實(shí)施例中,系統(tǒng)使用當(dāng)前塊上方的重構(gòu)像素作為預(yù)測(cè)像素。該系統(tǒng)還可以從同一圖像中的重構(gòu)像素獲得預(yù)測(cè)像素。
圖5a為使用重用先前獲得的至少部分失真的方法的實(shí)施例。塊510表示在2x2塊預(yù)測(cè)模式中編碼的當(dāng)前塊。候選預(yù)測(cè)器520基于塊向量512來(lái)定位。候選預(yù)測(cè)器520和當(dāng)前塊510之間的失真可以針對(duì)上面部分510a和下面部分510b以兩個(gè)部分來(lái)計(jì)算(即,塊510的兩個(gè)部分的失真)??梢詫?dāng)前塊的總失真計(jì)算為這兩個(gè)部分的失真的和。圖5b為使用具有不同塊大小(即,1x2)的塊預(yù)測(cè)來(lái)計(jì)算當(dāng)前塊的失真的實(shí)施例。塊550表示下面部分的塊分區(qū)。候選預(yù)測(cè)器560基于塊向量556來(lái)定位。候選預(yù)測(cè)器560和當(dāng)前塊550之間的失真與2x2塊510的下面部分的部分失真完全相同。根據(jù)本方法,從兩個(gè)部分失真來(lái)計(jì)算塊510的失真。下面部分的失真可以被分區(qū)550使用,以計(jì)算1x2塊預(yù)測(cè)模式的失真。因此,塊550的失真計(jì)算可以重用來(lái)自在2x2塊預(yù)測(cè)模式中編碼的塊510的部分失真。或者,可以首先針對(duì)使用1x2塊大小的塊分區(qū)來(lái)計(jì)算失真。在這種情況下,對(duì)于使用1x2塊大小的塊預(yù)測(cè)的塊550的失真,將通過(guò)使用2x2塊大小的塊預(yù)測(cè)的失真計(jì)算來(lái)重用。
在本發(fā)明的另一方面中,系統(tǒng)發(fā)信(signal)一標(biāo)志(flag)以指示可變大小塊預(yù)測(cè)是啟用還是停用。該標(biāo)志可以在比特流中被發(fā)信。例如,該標(biāo)志可以在比特流的序列層級(jí)(sequencelevel)、幀層級(jí)、切片層級(jí)或塊層級(jí)中被發(fā)信。當(dāng)該標(biāo)志在選定的層級(jí)中被發(fā)信時(shí),對(duì)整個(gè)層級(jí)啟用或禁用可變大小塊預(yù)測(cè)。例如,如果在幀層級(jí)中發(fā)信該標(biāo)志,則根據(jù)該標(biāo)志對(duì)整個(gè)幀啟用或禁用可變大小塊預(yù)測(cè)。塊向量可以被限制到一個(gè)方向。例如,僅允許水平塊向量。在這種情況下,系統(tǒng)將僅使用當(dāng)前塊左側(cè)的重構(gòu)像素。在根據(jù)該方法的其他實(shí)施例中,系統(tǒng)可以使用當(dāng)前塊上方的重構(gòu)像素。此外,代替直接使用重構(gòu)像素作為預(yù)測(cè)像素,系統(tǒng)還可以基于重構(gòu)像素獲得預(yù)測(cè)像素。
根據(jù)本發(fā)明的另一方法,屬于不同像素線組的分區(qū)的預(yù)測(cè)器分別從不同像素線組得到。每個(gè)線組至少包括一個(gè)像素線。通過(guò)分割具有第一塊大小的塊來(lái)生成分區(qū)。在分區(qū)之后,每個(gè)分區(qū)具有第二塊大小。使用具有第一塊大小的塊預(yù)測(cè)對(duì)具有第一塊的塊進(jìn)行編碼,而使用具有第二塊大小的塊預(yù)測(cè)對(duì)分區(qū)進(jìn)行編碼。在塊被劃分為兩個(gè)分區(qū)的情況下,根據(jù)該方法,分別從所述兩個(gè)不同的像素線組得到屬于兩個(gè)不同像素線組的兩個(gè)分區(qū)的預(yù)測(cè)器。換句話說(shuō),如果第一分區(qū)屬于第一像素線組,并且第二分區(qū)屬于第二像素線組,則從第一像素線組得到第一分區(qū)的預(yù)測(cè)器,并從第二像素線組得到第二分區(qū)的預(yù)測(cè)器。系統(tǒng)可以將圖像分割成一個(gè)或多個(gè)切片,并且將每個(gè)切片分割成多個(gè)塊。系統(tǒng)可以具有各種配置以實(shí)現(xiàn)該方法。例如,用于不同像素線組中的不同分區(qū)的預(yù)測(cè)器的本方法是從不同像素線組得到的,可以應(yīng)用于使用可變塊大小的塊預(yù)測(cè)??勺儔K大小可以包括第一塊大小和第二塊大小,其中第一塊大小大于第二塊大小。在一個(gè)實(shí)施例中,第一塊大小可以等于當(dāng)前塊大小。在另一實(shí)施例中,第一塊大小等于第二塊大小的n倍,其中n是大于1的整數(shù)。在又一實(shí)施例中,第一塊大小為至少兩個(gè)像素高。在又一實(shí)施例中,第二塊大小為一個(gè)像素高。
圖6為分別從不同像素線組得到的屬于不同像素線組的分區(qū)的預(yù)測(cè)器的實(shí)施例。2x2塊被劃分為兩個(gè)分區(qū)610a和610b,并且每個(gè)使用1x2塊預(yù)測(cè)模式來(lái)編碼。根據(jù)該方法,分區(qū)610a在上方像素線630a中,并且允許使用上方像素線630a中的重構(gòu)像素來(lái)獲得候選預(yù)測(cè)器。因此,預(yù)測(cè)器620a位于上方像素線630a中,具有用于分區(qū)610a的對(duì)應(yīng)塊向量612a。類似地,預(yù)測(cè)器620b位于下方像素線630b中,具有用于分區(qū)610b的對(duì)應(yīng)塊向量612b。在該實(shí)施例中,每個(gè)像素線組僅包括一個(gè)像素線。
根據(jù)本發(fā)明的另一種方法,使用與相應(yīng)亮度像素相關(guān)的塊向量來(lái)對(duì)色度像素進(jìn)行編碼。例如,當(dāng)塊被劃分為兩個(gè)分區(qū)時(shí),兩個(gè)分區(qū)的亮度像素的預(yù)測(cè)器來(lái)自相同的亮度像素線組,其中像素線組包括一個(gè)或多個(gè)像素線。例如,如果每個(gè)分區(qū)對(duì)應(yīng)于1x2塊,則對(duì)應(yīng)的像素線組僅包含一個(gè)像素線。一個(gè)選定的亮度分區(qū)的塊向量可以用作當(dāng)前塊的色度像素的塊向量。當(dāng)前塊的色度像素的預(yù)測(cè)器可以從屬于選定的亮度分區(qū)的亮度預(yù)測(cè)器的色度像素獲得。
圖7a為4:2:0顏色取樣圖案(colorsamplingpattern)705的實(shí)施例,其中每四個(gè)亮度像素存在一個(gè)色度像素。在該實(shí)施例中,色度像素位于兩個(gè)左邊的亮度像素的中間。圖7b為根據(jù)該方法的獲得色度預(yù)測(cè)器的實(shí)施例。在該實(shí)施例中,2x2塊被劃分為兩個(gè)分區(qū)710a和710b,并且每個(gè)分區(qū)使用塊大小等于1x2的塊預(yù)測(cè)來(lái)編碼。使用塊向量712a和712b來(lái)分別定位同一像素線中的兩個(gè)預(yù)測(cè)器720a和720b。如果上方的分區(qū)(即710a)的預(yù)測(cè)器被用于確定當(dāng)前塊的色度象素的預(yù)測(cè)器,則色度象素“b”將被用作當(dāng)前塊的色度象素“k”的預(yù)測(cè)器。圖7c為根據(jù)該方法的獲得色度預(yù)測(cè)器的另一實(shí)施例。在該實(shí)施例中,使用塊向量713a來(lái)定位預(yù)測(cè)器730a。如果上方的分區(qū)(即710a)的預(yù)測(cè)器被用于確定當(dāng)前塊的色度象素的預(yù)測(cè)器,則色度象素“c”將被用作當(dāng)前塊的色度象素“k”的預(yù)測(cè)器。
圖8a為4:2:0顏色取樣圖案805的實(shí)施例,其中每四個(gè)亮度像素存在一個(gè)色度像素。在該實(shí)施例中,色度像素位于兩個(gè)右邊的亮度像素的中間。圖8b為根據(jù)該方法的獲得色度預(yù)測(cè)器的實(shí)施例。在該實(shí)施例中,2x2塊被劃分為兩個(gè)分區(qū)810a和810b,并且每個(gè)分區(qū)使用塊大小等于1x2的塊預(yù)測(cè)來(lái)編碼。使用塊向量812a和812b來(lái)分別定位同一像素線中的兩個(gè)預(yù)測(cè)器820a和820b。如果上方的分區(qū)(即810a)的預(yù)測(cè)器被用于確定當(dāng)前塊的色度象素的預(yù)測(cè)器,則色度象素“b”將被用作當(dāng)前塊的色度象素“k”的預(yù)測(cè)器。圖8c為根據(jù)該方法的獲得色度預(yù)測(cè)器的另一實(shí)施例。在該實(shí)施例中,使用塊向量813a來(lái)定位預(yù)測(cè)器830a。如果上方的分區(qū)(即810a)的預(yù)測(cè)器被用于確定當(dāng)前塊的色度象素的預(yù)測(cè)器,則色度象素“b”將被用作當(dāng)前塊的色度象素“k”的預(yù)測(cè)器。
圖9a為4:2:0顏色取樣圖案905的實(shí)施例,其中每四個(gè)亮度像素存在一個(gè)色度像素。在該實(shí)施例中,色度像素的位置在四個(gè)亮度像素的中間。圖9b為根據(jù)該方法的獲得色度預(yù)測(cè)器的實(shí)施例。在該實(shí)施例中,2x2塊被分割成兩個(gè)分區(qū)910a和910b,并且每個(gè)分區(qū)使用塊大小等于1x2的塊預(yù)測(cè)來(lái)編碼。使用塊向量912a和912b來(lái)分別定位同一像素線中的兩個(gè)預(yù)測(cè)器920a和920b。如果上方的分區(qū)(即910a)的預(yù)測(cè)器被用于確定當(dāng)前塊的色度象素的預(yù)測(cè)器,則色度象素“b”將被用作當(dāng)前塊的色度象素“k”的預(yù)測(cè)器。圖9c為根據(jù)該方法的獲得色度預(yù)測(cè)器的另一實(shí)施例。在該實(shí)施例中,使用塊向量913a來(lái)定位預(yù)測(cè)器930a。如果上方的分區(qū)(即910a)的預(yù)測(cè)器被用于確定當(dāng)前塊的色度像素的預(yù)測(cè)器,則色度像素“b”或“c”將被用作色度像素“k”的預(yù)測(cè)器當(dāng)前塊。在多個(gè)候選預(yù)測(cè)器的情況下,可以在比特流中發(fā)信選擇信息,使得解碼器可以使用與編碼器相同的預(yù)測(cè)器?;蛘?,可通過(guò)對(duì)多個(gè)候選預(yù)測(cè)器應(yīng)用算術(shù)運(yùn)算來(lái)從多個(gè)候選預(yù)測(cè)器中獲得預(yù)測(cè)器。例如,色度像素“b”和色度像素“c”的平均值可以用作圖9c所示的色度像素“k”的色度預(yù)測(cè)器。
在獲得色度預(yù)測(cè)器的上述實(shí)施例中,用于不同像素線組中的當(dāng)前塊的分區(qū)的預(yù)測(cè)器總是從相同的重建像素線組獲得的。然而,本方法不限于使用相同的像素線組來(lái)獲得預(yù)測(cè)器。根據(jù)另一實(shí)施例,用于不同像素線組中的當(dāng)前塊的分區(qū)的預(yù)測(cè)器可以分別從不同的像素線組獲得。
根據(jù)本發(fā)明的另一方法,當(dāng)對(duì)當(dāng)前塊啟用使用可變塊大小的塊預(yù)測(cè)時(shí),當(dāng)前塊可使用具有第一塊大小和第二塊大小的塊預(yù)測(cè),其中第一塊大小大于第二塊大小。當(dāng)將具有第一塊大小的塊預(yù)測(cè)用于當(dāng)前塊時(shí),塊向量被限制為一維。當(dāng)將具有第二塊大小的塊預(yù)測(cè)用于當(dāng)前塊時(shí),允許塊向量是一維的。例如,系統(tǒng)可以將圖片分割成一個(gè)或多個(gè)切片,并且每個(gè)切片進(jìn)一步分成多個(gè)塊。使用具有可變塊大小的塊預(yù)測(cè)模式來(lái)對(duì)塊進(jìn)行編碼。例如,第一塊大小對(duì)應(yīng)于2x2,第二塊大小對(duì)應(yīng)于1x2。根據(jù)該方法的2x2塊預(yù)測(cè)可以與上面公開(kāi)的其他方法相同,例如圖6所示的方法。根據(jù)該方法的1x2塊預(yù)測(cè)的實(shí)施例如圖10所示。在該實(shí)施例中,使用具有指向預(yù)測(cè)器1020b的一維塊向量1012b的塊預(yù)測(cè)來(lái)編碼下方的分區(qū)1010b。在該實(shí)施例中,上方的分區(qū)1010a具有指向預(yù)測(cè)器1020a的二維塊向量1012a。二維塊向量1012a具有水平分量1012a_h和垂直分量1012a_v。
圖11a為根據(jù)本發(fā)明的實(shí)施例的結(jié)合可變大小塊預(yù)測(cè)的示例性系統(tǒng)的主要功能塊的示意圖。編碼系統(tǒng)是基于圖1c所示的編碼系統(tǒng)。然而,塊編碼單元1110是基于如上所公開(kāi)的新的塊預(yù)測(cè)。此外,模式?jīng)Q定單元1120在最佳模式確定期間考慮新的塊預(yù)測(cè)模式。其余的主要功能塊可以保持相同。
圖11b為根據(jù)本發(fā)明實(shí)施例的根據(jù)結(jié)合可變大小塊預(yù)測(cè)的示例性系統(tǒng)的模式?jīng)Q定處理的示意圖。模式?jīng)Q定處理是基于圖1d所示的模式?jīng)Q定處理。然而,會(huì)使用新的塊預(yù)測(cè)單元1130。此外,新的處理單元1140用于執(zhí)行速率失真優(yōu)化、緩沖器預(yù)算和錯(cuò)誤校驗(yàn)功能。
圖12為結(jié)合本發(fā)明的實(shí)施例的示例性編碼系統(tǒng)的流程圖,其中與具有第一塊大小的塊預(yù)測(cè)相關(guān)的失真重用與具有第二塊大小的塊預(yù)測(cè)相關(guān)的失真。在步驟1210中,系統(tǒng)接收當(dāng)前切片中的當(dāng)前塊的輸入像素,其中當(dāng)前切片被劃分為多個(gè)塊。在步驟1220中,獲得使用具有第一塊大小的塊預(yù)測(cè)來(lái)編碼的當(dāng)前塊的第一失真,其中當(dāng)前塊被分割成具有第一塊大小的一個(gè)或多個(gè)第一分區(qū)。第一失真對(duì)應(yīng)于當(dāng)前塊的一個(gè)或多個(gè)第一預(yù)測(cè)器和與當(dāng)前塊相關(guān)的所述一個(gè)或多個(gè)第一分區(qū)之間的偏差(differences),并且每個(gè)第一預(yù)測(cè)器是從當(dāng)前塊之前的重構(gòu)像素獲得的。如果第一塊大小等于當(dāng)前塊大小,則不對(duì)當(dāng)前塊進(jìn)行分割,并且對(duì)于當(dāng)前塊僅存在一個(gè)預(yù)測(cè)器。然而,如果第一塊大小小于當(dāng)前塊大小(例如,1/2),則當(dāng)前塊將被劃分為多個(gè)分區(qū),并且將獲得多個(gè)預(yù)測(cè)器。在步驟1230中,獲得使用具有第二塊大小的塊預(yù)測(cè)來(lái)編碼的當(dāng)前塊的第二失真,其中當(dāng)前塊被分割成具有第二塊大小的一個(gè)或多個(gè)第二分區(qū)。第二失真對(duì)應(yīng)于當(dāng)前塊的一個(gè)或多個(gè)第二預(yù)測(cè)器和與當(dāng)前塊相關(guān)的所述一個(gè)或多個(gè)第二分區(qū)之間的偏差,并且每個(gè)第二預(yù)測(cè)器是從當(dāng)前塊之前的重構(gòu)像素獲得的,其中第二失真是使用至少部分第一失真來(lái)計(jì)算的。在步驟1240中,從所述一個(gè)或多個(gè)第一預(yù)測(cè)器和所述一個(gè)或多個(gè)第二預(yù)測(cè)器確定一個(gè)或多個(gè)最佳預(yù)測(cè)器。在步驟1250中,將具有選定的塊大小的塊預(yù)測(cè)應(yīng)用于使用所述一個(gè)或多個(gè)最佳預(yù)測(cè)器的當(dāng)前塊,其中選定的塊大小與最佳預(yù)測(cè)器相關(guān)。
圖13為結(jié)合本發(fā)明的實(shí)施例的示例性編碼系統(tǒng)的流程圖,其中信息被發(fā)信以指示使用可變塊大小的塊預(yù)測(cè)是否被啟用。在步驟1310中,系統(tǒng)接收與當(dāng)前切片中的當(dāng)前塊相關(guān)的輸入數(shù)據(jù),其中當(dāng)前切片被劃分為多個(gè)塊。在編碼器側(cè),與當(dāng)前塊相關(guān)的輸入數(shù)據(jù)對(duì)應(yīng)于將被編碼的當(dāng)前塊的像素值。在解碼器側(cè),與當(dāng)前塊相關(guān)的輸入數(shù)據(jù)對(duì)應(yīng)于包括當(dāng)前塊的已編碼的數(shù)據(jù)或比特流。在步驟1320中,檢查使用可變塊大小的塊預(yù)測(cè)是否被啟用。如果結(jié)果為“是”,則執(zhí)行步驟1330至1350。如果結(jié)果為“否”,則執(zhí)行步驟1360至1370。在步驟1330中,確定當(dāng)前塊的一個(gè)或多個(gè)第一預(yù)測(cè)器,該當(dāng)前塊使用可變塊大小允許的每個(gè)塊大小的塊預(yù)測(cè)來(lái)編碼,其中所述一個(gè)或多個(gè)第一預(yù)測(cè)器是從當(dāng)前塊之前的重構(gòu)像素獲得的。在步驟1340中,從可變塊大小的所述一個(gè)或多個(gè)第一預(yù)測(cè)器確定一個(gè)或多個(gè)最佳預(yù)測(cè)器。在步驟1350中,將具有選定的塊大小的塊預(yù)測(cè)應(yīng)用于使用所述一個(gè)或多個(gè)最佳預(yù)測(cè)器的當(dāng)前塊,其中選定的塊大小與所述一個(gè)或多個(gè)最佳預(yù)測(cè)器相關(guān)。在步驟1360中,為使用具有固定塊大小的塊預(yù)測(cè)來(lái)編碼的當(dāng)前塊確定一個(gè)或多個(gè)第二預(yù)測(cè)器。在步驟1370中,將具有固定塊大小的塊預(yù)測(cè)應(yīng)用于使用所述一個(gè)或多個(gè)第二預(yù)測(cè)器的當(dāng)前塊。
圖14為結(jié)合本發(fā)明的實(shí)施例的示例性編碼系統(tǒng)的流程圖,其中兩個(gè)不同分區(qū)的兩個(gè)預(yù)測(cè)器是從不同像素線組得到的,并且每個(gè)像素線組包括在當(dāng)前塊之前處理的一個(gè)或多個(gè)重構(gòu)像素線。在步驟1410中,系統(tǒng)接收與當(dāng)前切片中的當(dāng)前塊相關(guān)的輸入數(shù)據(jù),其中當(dāng)前切片被劃分為多個(gè)塊。在步驟1420中,檢查塊預(yù)測(cè)是否被使用,所述塊預(yù)測(cè)具有從將當(dāng)前塊分割為多個(gè)分區(qū)的可變塊大小中選定的塊大小。如果結(jié)果為“是”,則執(zhí)行步驟1430至1440。如果結(jié)果為“否”,則跳過(guò)步驟1430至1440。在步驟1430中,確定與使用具有選定的塊大小的塊預(yù)測(cè)來(lái)編碼的當(dāng)前塊相關(guān)的每個(gè)分區(qū)的一個(gè)預(yù)測(cè)器,其中兩個(gè)不同分區(qū)的兩個(gè)預(yù)測(cè)器是從不同像素線組獲得的,且每一像素線組包括一個(gè)或多個(gè)在當(dāng)前塊之前處理的重構(gòu)像素行。在步驟1440中,將具有選定的塊大小的塊預(yù)測(cè)應(yīng)用于使用所述多個(gè)分區(qū)的預(yù)測(cè)器的當(dāng)前塊。
圖15為結(jié)合本發(fā)明的實(shí)施例的示例性編碼系統(tǒng)的流程圖,其中圖像數(shù)據(jù)為非444格式(non-444format),并且當(dāng)前塊的色度像素的預(yù)測(cè)器是從屬于當(dāng)前塊的亮度像素的預(yù)測(cè)器的色度像素獲得的。如在彩色圖像(colorimage)和視頻數(shù)據(jù)領(lǐng)域中已知的,彩色信號(hào)可以由亮度和色度分量(例如,yuv)來(lái)表示。為了節(jié)省帶寬,降低比特率或減少所需的處理,色度信號(hào)通常是子采樣格式(sub-sampledchrominance),例如yuv422和yuv420格式。444格式(例如yuv444)對(duì)應(yīng)于具有所有分量全分辨率的格式。非444格式指具有子采樣色度分量的任何顏色格式。在步驟1510中,系統(tǒng)接收與當(dāng)前切片中的當(dāng)前塊相關(guān)的輸入數(shù)據(jù),其中當(dāng)前切片被劃分為多個(gè)塊,并且當(dāng)前塊包括與非444格式中的彩色圖像數(shù)據(jù)相關(guān)的亮度像素和色度像素。在步驟1520中,確定當(dāng)前塊的亮度像素的一個(gè)或多個(gè)預(yù)測(cè)器以用于塊預(yù)測(cè),塊預(yù)測(cè)具有可變塊大小允許的每個(gè)選定的塊大小。根據(jù)選定的塊大小將當(dāng)前塊劃分為一個(gè)或多個(gè)分區(qū),以及為每個(gè)分區(qū)從在當(dāng)前塊之前處理的重構(gòu)亮度像素獲得一個(gè)預(yù)測(cè)器。在步驟1530中,從與可變塊大小相關(guān)的所述一個(gè)或多個(gè)預(yù)測(cè)器中確定一個(gè)或多個(gè)最佳亮度預(yù)測(cè)器。在步驟1540中,將具有選定的塊大小的塊預(yù)測(cè)應(yīng)用于使用所述一個(gè)或多個(gè)最佳亮度預(yù)測(cè)器的當(dāng)前塊的亮度像素,其中選定的塊大小與所述一個(gè)或多個(gè)最佳亮度預(yù)測(cè)器相關(guān)。在步驟1550中,將具有選定的塊大小的塊預(yù)測(cè)應(yīng)用于使用一個(gè)或多個(gè)最佳色度預(yù)測(cè)器的當(dāng)前塊的色度像素,其中所述一個(gè)或多個(gè)最佳色度預(yù)測(cè)器是從屬于所述一個(gè)或多個(gè)最佳亮度預(yù)測(cè)器的重構(gòu)色度像素獲得的。
圖16為結(jié)合本發(fā)明的實(shí)施例的示例性編碼系統(tǒng)的流程圖,其中當(dāng)前塊被劃分為多個(gè)分區(qū),并且為每個(gè)分區(qū)獲得一個(gè)預(yù)測(cè)器,其中預(yù)測(cè)器具有允許是二維的一個(gè)塊向量。在步驟1610中,系統(tǒng)接收與當(dāng)前切片中的當(dāng)前塊相關(guān)的輸入數(shù)據(jù),其中當(dāng)前切片被劃分為多個(gè)塊,并且當(dāng)前塊包括亮度像素。在步驟1620中,確定使用具有對(duì)應(yīng)于當(dāng)前塊大小的第一塊大小的塊預(yù)測(cè)來(lái)編碼當(dāng)前塊的第一預(yù)測(cè)器,其中使用從當(dāng)前塊指向第一預(yù)測(cè)器的第一塊向量來(lái)定位第一預(yù)測(cè)器,第一塊向量被限制為一維的。在步驟1630中,確定多個(gè)第二預(yù)測(cè)器,以編碼多個(gè)分區(qū),該多個(gè)分區(qū)與使用具有從所允許的可變塊大小中選擇的第二塊大小的塊預(yù)測(cè)的當(dāng)前塊相關(guān),并且第二塊大小小于第一塊大小,其中當(dāng)前塊被分割為具有第二塊大小的所述多個(gè)分區(qū),為每個(gè)分區(qū)獲得一個(gè)第二預(yù)測(cè)器,其中第二預(yù)測(cè)器具有從所述一個(gè)分區(qū)指向所述一個(gè)第二預(yù)測(cè)器的一個(gè)第二塊向量,并且允許至少一個(gè)第二塊向量是二維的。在步驟1640中,從與可變塊大小相關(guān)的候選預(yù)測(cè)器中確定一個(gè)或多個(gè)最佳預(yù)測(cè)器,其中候選預(yù)測(cè)器包括第一預(yù)測(cè)器和所述多個(gè)第二預(yù)測(cè)器。在步驟1650中,將具有選定的塊大小的塊預(yù)測(cè)應(yīng)用于使用所述一個(gè)或多個(gè)最佳預(yù)測(cè)器的當(dāng)前塊,其中選定的塊大小與所述一個(gè)或多個(gè)最佳預(yù)測(cè)器相關(guān)。
以上所示的流程圖旨在說(shuō)明本發(fā)明的圖像編碼的實(shí)施例。本領(lǐng)域的技術(shù)人員可以修改每個(gè)步驟、重新安排步驟的順序、拆分步驟或者結(jié)合某些步驟來(lái)實(shí)現(xiàn)本發(fā)明,而不脫離本發(fā)明的精神。
以上的描述是使本領(lǐng)域的技術(shù)人員在本文提供的特定應(yīng)用和需求下能夠?qū)嵺`本發(fā)明。本領(lǐng)域的技術(shù)人員將容易地觀察到,在不脫離本發(fā)明的精神和范圍內(nèi),可以進(jìn)行多種修改和變動(dòng)。因此,本發(fā)明并非限定在所示和描述的特定的實(shí)施例上,而本發(fā)明公開(kāi)是為了符合原則和新穎性的最廣泛的范圍。在上述詳細(xì)的描述中,各種具體的細(xì)節(jié),用以提供對(duì)本發(fā)明的透徹的了解。盡管如此,將被本領(lǐng)域的技術(shù)人員理解的是,本發(fā)明能夠被實(shí)踐。
如上述所述的本發(fā)明的實(shí)施例,可以使用硬件、軟件或其組合來(lái)實(shí)現(xiàn)。例如,本發(fā)明的一實(shí)施例可以是集成到視頻壓縮芯片中的電路或集成到視頻壓縮軟件中的程序代碼,以執(zhí)行所描述的處理。本發(fā)明的實(shí)施例也可以是將在數(shù)字信號(hào)處理器上執(zhí)行的程序代碼來(lái)執(zhí)行所描述的處理。本發(fā)明還涉及一系列的由計(jì)算機(jī)處理器、數(shù)字信號(hào)處理器、微處理器和現(xiàn)場(chǎng)可編程門(mén)陣列(fpga)執(zhí)行的功能。根據(jù)本發(fā)明,這些處理器可以被配置為執(zhí)行特定任務(wù),通過(guò)執(zhí)行定義特定方法的計(jì)算機(jī)可讀軟件代碼或固件代碼來(lái)實(shí)現(xiàn)。軟件代碼或固件代碼可以用不同的編程語(yǔ)言和不同的格式或樣式來(lái)開(kāi)發(fā)。軟件代碼也可以為不同的目標(biāo)平臺(tái)所編譯。然而,軟件代碼的不同的代碼格式、風(fēng)格和語(yǔ)言,以及配置代碼的其他方式以執(zhí)行任務(wù),均不脫離本發(fā)明之精神和范圍。
本發(fā)明可以以其它具體形式實(shí)施而不背離其精神或本質(zhì)特征。所描述的實(shí)施例在所有方面都僅是說(shuō)明性的而不是限制性。本發(fā)明的范圍因此由所附權(quán)利要求為準(zhǔn)而不是由前面的描述所界定。因此,各種修改、改編以及所描述的實(shí)施例的各種特征的組合可以在不脫離本發(fā)明的范圍如權(quán)利要求書(shū)中闡述的情況下實(shí)施。