視頻數(shù)據(jù)的解碼方法
【專利摘要】提供了以下方法:導(dǎo)出當(dāng)前預(yù)測單元的參考圖片索引和運動向量;利用所述參考圖片索引與所述運動向量生成所述當(dāng)前預(yù)測單元的預(yù)測區(qū)塊,通過反掃描、反量化以及反變換生成殘余區(qū)塊;以及利用所述預(yù)測區(qū)塊和所述殘余區(qū)塊生成重建的像素。利用根據(jù)所述運動向量所選擇的內(nèi)插濾波器來生成所述預(yù)測區(qū)塊的預(yù)測像素。相應(yīng)地,通過將各種合并候選區(qū)塊包括進來而提高運動信息的編碼效率。另外,根據(jù)所述運動向量所確定的預(yù)測像素的位置來選擇不同的濾波器,以此減小編碼器和解碼器的計算復(fù)雜度。
【專利說明】視頻數(shù)據(jù)的解碼方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種對視頻數(shù)據(jù)解碼的方法,具體而言,涉及一種通過利用空間合并候選區(qū)塊和時間合并候選區(qū)塊建構(gòu)出合并候選區(qū)塊列表,以此在合并模式下導(dǎo)出運動信息,并且利用所述運動信息來生成預(yù)測區(qū)塊的方法。
【背景技術(shù)】
[0002]用于對視頻數(shù)據(jù)進行壓縮的方法包括MPEG-2、MPEG-4以及H.264/MPEG-4AVC。在這些方法中,一副圖片被分成若干個宏塊以對圖像進行編碼,其中各個宏塊的編碼是利用幀內(nèi)預(yù)測或幀間預(yù)測來產(chǎn)生預(yù)測區(qū)塊而進行的。原始區(qū)塊與預(yù)測區(qū)塊之間的差異經(jīng)過變換形成變換后的區(qū)塊,生成的變換后的區(qū)塊然后加以量化,量化過程中利用了一個量化參數(shù)以及多個預(yù)定的量化矩陣中的一個矩陣。用預(yù)定的掃描方式對量化后的區(qū)塊的量化系數(shù)進行掃描,然后進行熵編碼。對每個宏塊執(zhí)行量化參數(shù)的調(diào)整,并利用先前的量化參數(shù)進行編碼。
[0003]在H.264/MPEG-4AVC方法中,利用運動估計來消除連續(xù)圖片之間的時間冗余。為檢測時間冗余,利用一個或多個參考圖片來估計當(dāng)前區(qū)塊的運動,并利用運動信息執(zhí)行運動補償來產(chǎn)生預(yù)測區(qū)塊。運動信息包括一個或多個參考圖片索引以及一個或多個運動向量。
[0004]在H.264/MPEG-4AVC方法中,只有運動向量的預(yù)測和編碼用到相鄰的運動向量,而參考圖片索引的編碼并不使用相鄰的參考圖片索引。另外,因為預(yù)測區(qū)塊的內(nèi)插使用的是長抽頭濾波器,所以用于產(chǎn)生預(yù)測區(qū)塊的計算復(fù)雜度高。
[0005]然而,如果幀間預(yù)測使用了各種大小,那么當(dāng)前區(qū)塊的運動信息與一個或多個相鄰區(qū)塊的運動信息之間的關(guān)聯(lián)性增加。如果圖像幾乎不發(fā)生運動或運動緩慢,那么隨著圖片不斷變大,當(dāng)前區(qū)塊的運動向量與參考圖片內(nèi)相鄰區(qū)塊的運動向量之間的關(guān)聯(lián)性增加。因此,在圖片大小大于高清晰度圖片的大小,并且在運動估計和運動補償中可以使用各種大小的情況下,上述傳統(tǒng)的壓縮方法對運動信息的壓縮效率便會降低。
【發(fā)明內(nèi)容】
[0006][技術(shù)問題]
[0007]本發(fā)明涉及一種對視頻數(shù)據(jù)解碼的方法:通過利用空間合并候選區(qū)塊和時間合并候選區(qū)塊構(gòu)建合并候選區(qū)塊來以此導(dǎo)出運動信息,利用由所述運動向量確定的濾波器生成預(yù)測區(qū)塊。
[0008][技術(shù)解決方案]
[0009]本發(fā)明的一個方面提供一種對視頻數(shù)據(jù)解碼的方法,包括:導(dǎo)出當(dāng)前預(yù)測單元的參考圖片索引和運動向量;利用所述參考圖片索引與所述運動向量生成所述當(dāng)前預(yù)測單元的預(yù)測區(qū)塊;通過對量化系數(shù)分量執(zhí)行反掃描生成量化后的區(qū)塊;利用量化參數(shù)對所述量化后的區(qū)塊執(zhí)行反量化生成變換后的區(qū)塊;通過對所述變換后的區(qū)塊執(zhí)行反變換生成殘余區(qū)塊;以及利用所述預(yù)測區(qū)塊和所述殘余區(qū)塊生成重建的像素。利用根據(jù)所述運動向量所選擇的內(nèi)插濾波器來生成所述預(yù)測區(qū)塊的預(yù)測像素。
[0010][有利效果]
[0011]根據(jù)本發(fā)明的方法包括:導(dǎo)出當(dāng)前預(yù)測單元的參考圖片索引和運動向量;利用所述參考圖片索引與所述運動向量生成所述當(dāng)前預(yù)測單元的預(yù)測區(qū)塊;通過反掃描、反量化以及反變換生成殘余區(qū)塊;以及利用所述預(yù)測區(qū)塊和所述殘余區(qū)塊生成重建的像素。利用根據(jù)所述運動向量所選擇的內(nèi)插濾波器來生成所述預(yù)測區(qū)塊的預(yù)測像素。相應(yīng)地,通過將各種合并候選區(qū)塊包括進來而提高運動信息的編碼效率。另外,根據(jù)所述運動向量所確定的這些預(yù)測像素的位置來選擇不同的濾波器,以此減小編碼器和解碼器的計算復(fù)雜度。
【專利附圖】
【附圖說明】
[0012]圖1是根據(jù)本發(fā)明的圖像編碼裝置的方框圖。
[0013]圖2是示出了根據(jù)本發(fā)明的以幀間預(yù)測模式對視頻數(shù)據(jù)編碼的方法的流程圖。
[0014]圖3是示出了根據(jù)本發(fā)明的由運動向量表示像素位置的概念圖。
[0015]圖4是示出了根據(jù)本發(fā)明的以合并模式對運動信息編碼的方法的流程圖。
[0016]圖5是示出了根據(jù)本發(fā)明的空間合并候選區(qū)塊的位置的概念圖。
[0017]圖6是示出了根據(jù)本發(fā)明的按不對稱分割模式的空間合并候選區(qū)塊的位置的概念圖。
[0018]圖7是示出了根據(jù)本發(fā)明的按再一種不對稱分割模式的空間合并候選區(qū)塊的位置的概念圖。
[0019]圖8是示出了根據(jù)本發(fā)明的按另一種不對稱分割模式的空間合并候選區(qū)塊的位置的概念圖。
[0020]圖9是示出了根據(jù)本發(fā)明的按又一種不對稱分割模式的空間合并候選區(qū)塊的位置的概念圖。
[0021]圖10是示出了根據(jù)本發(fā)明的時間合并候選區(qū)塊的位置的概念圖。
[0022]圖11是示出了根據(jù)本發(fā)明的存儲運動信息的方法的概念圖。
[0023]圖12是根據(jù)本發(fā)明的圖像解碼裝置200的方框圖。
[0024]圖13是示出了根據(jù)本發(fā)明的以幀間預(yù)測模式對圖像解碼的方法的流程圖。
[0025]圖14是示出了以合并模式導(dǎo)出運動信息的方法的流程圖。
[0026]圖15是示出了根據(jù)本發(fā)明的以幀間預(yù)測模式生成殘余區(qū)塊的過程的流程圖。
【具體實施方式】
[0027]下文中,結(jié)合附圖詳細描述本發(fā)明的各實施例。然而,本發(fā)明不限于下文所述的示范性實施例,而是可以按各種方式實施。因此,可以對本發(fā)明進行許多其他的修改和更改,并且應(yīng)了解,在所公開的概念的范圍內(nèi),本發(fā)明可以按不同于所具體描述的其他方式加以實踐。
[0028]根據(jù)本發(fā)明的圖像編碼裝置以及圖像解碼裝置可以是用戶終端,例如個人計算機、個人移動終端、移動多媒體播放器、智能電話或無線通信終端。所述圖像編碼裝置以及圖像解碼裝置可以包括用于與各種設(shè)備通信的通信單元、用于存儲在圖像編碼和解碼中所用到的各種程序和數(shù)據(jù)的存儲器。
[0029]圖1是根據(jù)本發(fā)明的圖像編碼裝置100的方框圖。
[0030]參看圖1,根據(jù)本發(fā)明的圖像編碼裝置100包括圖片分割單元110、幀內(nèi)預(yù)測單元120、巾貞間預(yù)測單元130、變換單元140、量化單元150、掃描單元160、熵編碼單元170、反量化/變換單元180、后處理單元190以及圖片存儲單元195。
[0031]圖片分割單元110將一幅圖片或切片(slice)分割成若干個最大編碼單元(LCU),然后將每個IXU分割成一個或多個編碼單元。IXU的大小可以是32x32、64x64或128x128。圖片分割單元110用于確定每個編碼單元的預(yù)測模式和分割模式。
[0032]一個IXU包括一個或多個編碼單元。該IXU采用遞歸四叉樹結(jié)構(gòu),以此規(guī)定IXU的分割結(jié)構(gòu)。用于規(guī)定編碼單元大小的最大值和最小值的各個參數(shù)包括在一個序列參數(shù)集中。分割結(jié)構(gòu)用一個或多個分開的編碼單元標(biāo)記(split_cu_flag)來規(guī)定。編碼單元的大小是2Nx2N。如果IXU的大小是64x64,最小編碼單元(SOT)的大小是8x8,那么編碼單元的大小可以是 64x64,32x32,16x16 或 8x8。
[0033]一個編碼單元包括一個或多個預(yù)測單元。在幀內(nèi)預(yù)測中,預(yù)測單元的大小是2Nx2N或NxN。在幀間預(yù)測中,預(yù)測單元的大小由分割模式?jīng)Q定。如果編碼單元是對稱分割的,那么分割模式采用2Nx2N、2NxN、Nx2N與NxN其中之一。如果編碼單元是不對稱分割的,那么分割模式采用2NXnU、2NXnD、nLX2N與nRx2N其中之一。分割模式可以根據(jù)編碼單元的大小而定以減小硬件復(fù)雜度。如果編碼單元的大小是最小值,那么不可以采用不對稱分割。同樣,如果編碼單元的大小是最小值,那么不可以采用NxN分割模式。
[0034]一個編碼單元包括一個或多個變換單元。變換單元采用遞歸四叉樹結(jié)構(gòu),以此規(guī)定編碼單元的分割結(jié)構(gòu)。分割結(jié)構(gòu)用一個或多個分開的變換單元標(biāo)記(split_tu_flag)來規(guī)定。用于規(guī)定變換單元大小的最大值和最小值的各個參數(shù)包括在一個序列參數(shù)集中。
[0035]幀內(nèi)預(yù)測單元120用于確定當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式,并利用這個幀內(nèi)預(yù)測模式產(chǎn)生預(yù)測區(qū)塊。
[0036]幀間預(yù)測單元130利用存儲在圖片存儲單元195中的一個或多個參考圖片來確定當(dāng)前預(yù)測單元的運動信息,并生成所述預(yù)測單元的預(yù)測區(qū)塊。其中運動信息包括一個或多個參考圖片索引以及一個或多個運動向量。
[0037]變換單元140用于變換殘余區(qū)塊,以生成變換后的區(qū)塊。殘余區(qū)塊的大小與變換單元相同。如果預(yù)測單元大于變換單元,那么當(dāng)前區(qū)塊與預(yù)測區(qū)塊之間的殘余信號被分成多個殘余區(qū)塊。
[0038]量化單元150用于確定變換后的區(qū)塊的量化中使用的量化參數(shù)。量化參數(shù)是一個量化步長。量化參數(shù)根據(jù)每個量化單元來確定。量化單元的大小可以變化,并且可以是編碼單元所允許的大小中的一個。如果編碼單元的大小等于或大于量化單元大小的最小值,那么編碼單元成為量化單元。最小的量化單元中可以包括多個編碼單元。根據(jù)每個圖片確定量化單元大小的最小值,用于規(guī)定量化單元大小的最小值的參數(shù)被包括在圖片參數(shù)集之中。
[0039]量化單元150產(chǎn)生一個量化參數(shù)預(yù)測值,然后將這個量化參數(shù)預(yù)測值從量化參數(shù)中減去,生成一個差值量化參數(shù)。對差值量化參數(shù)進行熵編碼。
[0040]量化參數(shù)預(yù)測值是利用相鄰編碼單元的量化參數(shù)以及先前編碼單元的量化參數(shù)生成的,如下所述。
[0041]依次獲取左量化參數(shù)、上量化參數(shù)以及先前的量化參數(shù)。當(dāng)有兩個或兩個以上的量化參數(shù)可用時,將以此次序獲取的前兩個可用的量化參數(shù)的平均值設(shè)置為所述量化參數(shù)預(yù)測值;當(dāng)僅有一個量化參數(shù)可用時,將這個可用的量化參數(shù)設(shè)置為量化參數(shù)預(yù)測值。也就是,如果左量化參數(shù)和上量化參數(shù)可用,那么將左量化參數(shù)和上量化參數(shù)的平均值設(shè)置為所述量化參數(shù)預(yù)測值。如果左量化參數(shù)與上量化參數(shù)中只有一個可用,那么將這個可用的量化參數(shù)與先前的量化參數(shù)的平均值設(shè)置為所述量化參數(shù)預(yù)測值。如果左量化參數(shù)和上量化參數(shù)都不可用,那么將先前的量化參數(shù)設(shè)置為所述量化參數(shù)預(yù)測值。平均值采取四舍五入法。
[0042]通過二進制化處理,將差值量化參數(shù)轉(zhuǎn)換成用于表示所述差值量化參數(shù)的絕對值的二進制序列與一個用于表示所述差值量化參數(shù)的正負號的二進制位,然后對這個二進制序列進行算術(shù)編碼。如果差值量化參數(shù)的絕對值是0,那么這個表示正負號的二進制位可以省略。絕對值的二進制化使用截斷一元碼。
[0043]量化單元150利用量化矩陣和量化參數(shù)對變換后的區(qū)塊進行量化以生成量化后的區(qū)塊。將量化后的區(qū)塊提供給反量化/變換單元180和掃描單元160。
[0044]由掃描單兀160確定對量化后的區(qū)塊應(yīng)用掃描模式。
[0045]在幀間預(yù)測中,如果熵編碼使用的是CABAC,那么掃描模式采用的是對角線掃描。量化后的區(qū)塊的量化系數(shù)被分解成系數(shù)分量。這些系數(shù)分量為有效標(biāo)記(significantflag)、系數(shù)正負號以及系數(shù)級。對每一個系數(shù)分量應(yīng)用對角線掃描。有效標(biāo)記表示的是對應(yīng)的量化系數(shù)是否為零。系數(shù)正負號表示非零的量化系數(shù)的正負號,系數(shù)級表示非零的量化系數(shù)的絕對值。
[0046]當(dāng)變換單元的大小大于預(yù)定大小時,量化后的區(qū)塊被分割成多個子集并且對每個子集應(yīng)用對角線掃描。每個子集的有效標(biāo)記、系數(shù)正負號以及系數(shù)級都分別按對角線掃描模式進行掃描。預(yù)定大小是4x4。子集是含有16個變換系數(shù)的4x4區(qū)塊。
[0047]掃描子集的掃描模式與掃描系數(shù)分量的掃描模式相同。對每個子集的有效標(biāo)記、系數(shù)正負號以及系數(shù)級的掃描按反方向進行。這些子集的掃描也按反方向進行。
[0048]對表示最后一個非零系數(shù)位置的參數(shù)編碼并將其傳輸?shù)浇獯a側(cè)。表示最后一個非零系數(shù)位置的參數(shù)指示了量化后的區(qū)塊中最后一個非零量化系數(shù)的位置。為除第一子集和最后子集以外的其他每個子集定義一個非零子集標(biāo)記并將其傳輸?shù)浇獯a側(cè)。第一子集含有一個DC系數(shù)。最后子集含有最后的非零系數(shù)。非零子集標(biāo)記用來表示子集是否含有非零系數(shù)。
[0049]熵編碼單元170對被掃描單元160掃描后的分量、從幀內(nèi)預(yù)測單元120接收到的幀內(nèi)預(yù)測信息、從幀間預(yù)測單元130接收到的運動信息等進行熵編碼。
[0050]反量化/變換單元180對量化后的區(qū)塊的量化系數(shù)進行反量化,對反量化后的區(qū)塊進行反變換,以生成殘余信號。
[0051]后處理單元190執(zhí)行去塊濾波處理,以去除圖片重建中產(chǎn)生的塊效應(yīng)。
[0052]圖片存儲單元195從后處理單元190接收后處理后的圖像并將圖像存儲到圖片單元中。圖片可以是幀或場(field)。
[0053]圖2是示出了根據(jù)本發(fā)明的以幀間預(yù)測模式對視頻數(shù)據(jù)編碼的方法的流程圖。[0054]確定當(dāng)前區(qū)塊的運動信息(SllO)。當(dāng)前區(qū)塊是預(yù)測單元。當(dāng)前區(qū)塊的大小由編碼單元的大小和分割模式進行確定。
[0055]運動信息隨預(yù)測類型而變。如果預(yù)測類型是單向預(yù)測,那么運動信息包括用于指定參考列表O的圖片的參考索引和一個運動向量。如果預(yù)測類型是雙向預(yù)測,那么運動信息包括用來指定參考列表O的圖片和參考列表1的圖片的兩個參考索弓丨,以及列表O運動向量和列表1運動向量。
[0056]利用這些運動信息生成當(dāng)前區(qū)塊的預(yù)測區(qū)塊(S120)。
[0057]如果運動向量表示整數(shù)型像素位置,那么拷貝運動向量所指定的參考圖片的區(qū)塊來生成預(yù)測區(qū)塊。如果運動向量指示子像素位置,那么對參考圖片的像素執(zhí)行內(nèi)插來生成預(yù)測區(qū)塊。運動向量采用的是四分之一像素單位。
[0058]圖3是示出了根據(jù)本發(fā)明的由運動向量表示像素位置的概念圖。
[0059]在圖3中,標(biāo)記為LO、RO、Rl、LUAO和BO的像素是參考圖片的整數(shù)型位置像素,子像素位置處標(biāo)記為到rui的像素是要通過內(nèi)插濾波器進行內(nèi)插的小數(shù)像素,內(nèi)插濾波器基于運動向量來選擇。
[0060]如果要執(zhí)行內(nèi)插的像素位于子像素位置aM、bL0或Cui處,那么通過對水平方向上最接近的整數(shù)型位置像素應(yīng)用內(nèi)插濾波器來生成標(biāo)記為Bmbui或Cui的像素。如果要執(zhí)行內(nèi)插的像素位于子像素位置屯、hL0或Ilui處,那么通過對垂直方向上最接近的整數(shù)型位置像素應(yīng)用內(nèi)插濾波器來生成標(biāo)記為Clu^hui或IIui的像素。如果要執(zhí)行內(nèi)插的像素位于子像素位置或九。處,那么通過對垂直方向上最接近的內(nèi)插所得的像素(其中每一個的標(biāo)記中包括字符“a”)應(yīng)用內(nèi)插濾波器來生成標(biāo)記為eM、或Pui的像素。如果要執(zhí)行內(nèi)插的像素位于子像素位置gM、kL0或Y。處,那么通過對垂直方向上最接近的內(nèi)插所得的像素(其中每一個的標(biāo)記中包括字符“c”)應(yīng)用內(nèi)插濾波器來生成標(biāo)記為gmh或的像素。如果要執(zhí)行內(nèi)插的像素位于子像素位置L、jL0或Qul處,那么通過對垂直方向上相鄰的內(nèi)插所得的像素(其中每一個的標(biāo)記中包括字符“c”)應(yīng)用內(nèi)插濾波器來生成標(biāo)記為Ldui或的像素。
[0061]根據(jù)要執(zhí)行內(nèi)插的像素的子像素位置確定內(nèi)插濾波器,也可以根據(jù)預(yù)測模式與要執(zhí)行內(nèi)插的像素的子像素位置來確定。
[0062]表1顯示了示范性的濾波器。子像素位置H表示內(nèi)插方向上的半像素位置。例如,位置bLc^hL。、:^。、jm和1?對應(yīng)于子像素位置H。子像素位置FL和FR表示內(nèi)插方向上的四分之一像素位置。例如,位置a^!、dL0> eL0> fL0和gLd對應(yīng)于子像素位置FL,位置C11^ nL0> pL0>qL0和b對應(yīng)于子像素位置FR。
[0063] 表1
【權(quán)利要求】
1.一種對視頻數(shù)據(jù)解碼的方法,包括: 導(dǎo)出當(dāng)前預(yù)測單元的參考圖片索引和運動向量; 利用所述參考圖片索引與所述運動向量生成所述當(dāng)前預(yù)測單元的預(yù)測區(qū)塊; 通過對量化系數(shù)分量執(zhí)行反掃描生成量化后的區(qū)塊; 利用量化參數(shù)對所述量化后的區(qū)塊執(zhí)行反量化生成變換后的區(qū)塊; 通過對所述變換后的區(qū)塊執(zhí)行反變換生成殘余區(qū)塊;以及 利用所述預(yù)測區(qū)塊和所述殘余區(qū)塊生成重建的像素, 其中,所述預(yù)測區(qū)塊的預(yù)測像素是利用根據(jù)所述運動向量所選擇的內(nèi)插濾波器來生成的。
2.根據(jù)權(quán)利要求1所述的方法,其中,如果所述運動向量指示的是四分之一像素位置,那么所述內(nèi)插濾波器是7抽頭不對稱濾波器或6抽頭不對稱濾波器。
3.根據(jù)權(quán)利要求1所述的方法,其中,按每個量化單元導(dǎo)出所述量化參數(shù),并且所述量化單元的大小是編碼單元所允許的大小中的一個。
4.根據(jù)權(quán)利要求3所述的方法,其中,利用差值量化參數(shù)與量化參數(shù)預(yù)測值來導(dǎo)出所述量化參數(shù)。
5.根據(jù)權(quán)利要求4所述的方法,其中,如果左量化參數(shù)、上量化參數(shù)以及先前的量化參數(shù)中有至少兩個可用,那么所述量化參數(shù)預(yù)測值是兩個可用量化參數(shù)的平均值。
6.根據(jù)權(quán)利要求5所述的方法,其中,如果所述當(dāng)前編碼單元位于圖片或切片的上邊界處,那么所述量化參數(shù)是所述左量化參數(shù)與所述先前的量化參數(shù)的平均值。
7.根據(jù)權(quán)利要求1所述的方法,其中,所述濾波器的抽頭的數(shù)量根據(jù)所述運動向量所指示的預(yù)測像素位置來確定。
【文檔編號】H04N19/139GK104012094SQ201280054703
【公開日】2014年8月27日 申請日期:2012年11月2日 優(yōu)先權(quán)日:2011年11月7日
【發(fā)明者】吳秀美, 梁文玉 申請人:李英錦