本發(fā)明涉及用于處理視頻信號(hào)的方法和設(shè)備。
背景技術(shù):
近來(lái),在各應(yīng)用領(lǐng)域中對(duì)高分辨率、高品質(zhì)圖像如高清晰度(hd)圖像和超高清晰度(uhd)圖像的需求已經(jīng)增加。隨著視頻數(shù)據(jù)具有更高分辨率和更高品質(zhì),視頻數(shù)據(jù)在量上大于傳統(tǒng)視頻數(shù)據(jù)。因此,如果視頻數(shù)據(jù)通過(guò)現(xiàn)有介質(zhì)如有線/無(wú)線寬帶電路進(jìn)行傳送或者被存儲(chǔ)在現(xiàn)有存儲(chǔ)介質(zhì)中,則傳送成本和存儲(chǔ)成本增大。為了避免較高分辨率、較高品質(zhì)的視頻數(shù)據(jù)遇到的這些問(wèn)題,可以使用高效的視頻壓縮技術(shù)。
存在各種視頻壓縮技術(shù),包括:根據(jù)當(dāng)前圖片之前或之后的圖片對(duì)包括在當(dāng)前圖片中的像素值進(jìn)行預(yù)測(cè)的圖片間預(yù)測(cè);使用當(dāng)前圖片中的像素信息對(duì)包括在當(dāng)前圖片中的像素值進(jìn)行預(yù)測(cè)的圖片內(nèi)預(yù)測(cè);以及向較頻繁的值分配短碼并且向較不頻繁的值分配長(zhǎng)碼的熵編碼。使用這樣的視頻壓縮技術(shù),視頻數(shù)據(jù)可以被高效地壓縮以及傳送或存儲(chǔ)。
隨著對(duì)高分辨率視頻的需求日益增加,對(duì)作為新的視頻服務(wù)的三維(3d)視頻內(nèi)容的需求也正在增加。用于高效地提供hd和uhd三維視頻內(nèi)容的視頻壓縮技術(shù)正在討論中。
技術(shù)實(shí)現(xiàn)要素:
技術(shù)問(wèn)題
本發(fā)明的目的是提供一種用于在對(duì)視頻信號(hào)進(jìn)行編碼/解碼時(shí)基于調(diào)色板模式來(lái)預(yù)測(cè)或重構(gòu)視頻信號(hào)的方法和設(shè)備。
本發(fā)明的目的是提供一種用于在對(duì)視頻信號(hào)進(jìn)行編碼/解碼時(shí)構(gòu)造要被編碼/解碼的塊的調(diào)色板映射的方法和設(shè)備。
本發(fā)明的目的是提供一種用于在對(duì)視頻信號(hào)進(jìn)行編碼/解碼時(shí)得到要被編碼/解碼的塊的調(diào)色板索引的方法和設(shè)備。
技術(shù)方案
根據(jù)本發(fā)明的用于對(duì)視頻信號(hào)進(jìn)行解碼的方法包括:構(gòu)造用于以調(diào)色板模式編碼的當(dāng)前塊的調(diào)色板映射;基于屬于調(diào)色板映射的調(diào)色板條目的數(shù)目來(lái)獲得逸出存在標(biāo)記;根據(jù)預(yù)定的掃描順序以當(dāng)前塊的樣本為單位得到調(diào)色板索引(paletteindex);以及通過(guò)使用逸出存在標(biāo)記、調(diào)色板映射和調(diào)色板索引中的至少一個(gè)來(lái)重構(gòu)當(dāng)前塊。
在根據(jù)本發(fā)明的視頻信號(hào)解碼方法中,僅當(dāng)屬于調(diào)色板映射的調(diào)色板條目的數(shù)目大于預(yù)定義的閾值時(shí),用信號(hào)傳送逸出存在標(biāo)記。
在根據(jù)本發(fā)明的視頻信號(hào)解碼方法中,使用索引模式(indexmode)和復(fù)制模式(copymode)中的至少一個(gè)來(lái)得到調(diào)色板索引。
在根據(jù)本發(fā)明的視頻信號(hào)解碼方法中,索引模式(indexmode)是基于經(jīng)編碼的調(diào)色板索引信息得到調(diào)色板索引的方法,并且復(fù)制模式(copymode)是使用相鄰樣本的調(diào)色板索引得到當(dāng)前樣本的調(diào)色板索引的方法。
在根據(jù)本發(fā)明的對(duì)視頻信號(hào)進(jìn)行解碼的方法中,如果所得到的與當(dāng)前樣本有關(guān)的調(diào)色板索引的值等于構(gòu)成當(dāng)前塊的調(diào)色板映射的調(diào)色板條目的數(shù)目,則基于逸出模式(esacpemode)來(lái)重構(gòu)當(dāng)前樣本。
根據(jù)本發(fā)明的用于對(duì)視頻信號(hào)進(jìn)行解碼的設(shè)備包括:熵解碼單元,用于從比特流獲得以調(diào)色板模式編碼的當(dāng)前塊的逸出存在標(biāo)記;以及預(yù)測(cè)單元,用于構(gòu)造與當(dāng)前塊有關(guān)的調(diào)色板映射,用于根據(jù)預(yù)定的掃描順序以當(dāng)前塊的樣本為單位得到調(diào)色板索引,以及用于通過(guò)使用逸出存在標(biāo)記、調(diào)色板映射或調(diào)色板索引中的至少一個(gè)來(lái)重構(gòu)當(dāng)前塊。
在根據(jù)本發(fā)明的視頻信號(hào)解碼設(shè)備中,基于屬于調(diào)色板映射的調(diào)色板條目的數(shù)目而選擇性地獲得逸出存在標(biāo)記。
在根據(jù)本發(fā)明的視頻信號(hào)解碼設(shè)備中,僅當(dāng)屬于調(diào)色板映射的調(diào)色板條目的數(shù)目大于預(yù)定義的閾值時(shí),用信號(hào)傳送逸出存在標(biāo)記。
在根據(jù)本發(fā)明的視頻信號(hào)解碼設(shè)備中,使用索引模式(indexmode)和復(fù)制模式(copymode)中的至少一個(gè)來(lái)確定調(diào)色板索引。
在根據(jù)本發(fā)明的視頻信號(hào)解碼設(shè)備中,索引模式(indexmode)是基于經(jīng)編碼的調(diào)色板索引信息得到調(diào)色板索引的方法,并且復(fù)制模式(copymode)是使用相鄰樣本的調(diào)色板索引得到當(dāng)前樣本的調(diào)色板索引的方法。
在根據(jù)本發(fā)明的預(yù)測(cè)單元中,如果所得到的與當(dāng)前樣本有關(guān)的調(diào)色板索引的值等于構(gòu)成當(dāng)前塊的調(diào)色板映射的調(diào)色板條目的數(shù)目,則基于逸出模式(escapemode)來(lái)重構(gòu)當(dāng)前樣本。
根據(jù)本發(fā)明的用于對(duì)視頻信號(hào)進(jìn)行編碼的方法包括:構(gòu)造用于以調(diào)色板模式編碼的當(dāng)前塊的調(diào)色板映射;基于屬于調(diào)色板映射的調(diào)色板條目的數(shù)目對(duì)逸出存在標(biāo)記進(jìn)行編碼;根據(jù)預(yù)定的掃描順序以當(dāng)前塊的樣本為單位確定調(diào)色板索引;以及通過(guò)使用逸出存在標(biāo)記、調(diào)色板映射或調(diào)色板索引中的至少一個(gè)來(lái)重構(gòu)當(dāng)前塊。
在根據(jù)本發(fā)明的視頻信號(hào)編碼方法中,僅當(dāng)屬于調(diào)色板映射的調(diào)色板條目的數(shù)目大于預(yù)定義的閾值時(shí),對(duì)逸出存在標(biāo)記進(jìn)行編碼。
在根據(jù)本發(fā)明的視頻信號(hào)編碼方法中,使用索引模式(indexmode)和復(fù)制模式(copymode)中的至少一個(gè)來(lái)確定調(diào)色板索引。
在根據(jù)本發(fā)明的對(duì)視頻信號(hào)進(jìn)行編碼的方法中,索引模式(indexmode)是基于經(jīng)編碼的調(diào)色板索引信息得到調(diào)色板索引的方法,復(fù)制模式(copymode)是使用相鄰樣本的調(diào)色板索引得到當(dāng)前樣本的調(diào)色板索引的方法。
在根據(jù)本發(fā)明的視頻信號(hào)編碼方法中,在重構(gòu)當(dāng)前樣本的步驟中,如果與當(dāng)前樣本有關(guān)的調(diào)色板索引的值等于構(gòu)成當(dāng)前塊的調(diào)色板映射的調(diào)色板條目的數(shù)目,則基于逸出模式(escapemode)來(lái)重構(gòu)當(dāng)前樣本。
根據(jù)本發(fā)明的用于對(duì)視頻信號(hào)進(jìn)行編碼的設(shè)備包括:熵編碼單元,用于對(duì)以調(diào)色板模式編碼的當(dāng)前塊的逸出存在標(biāo)記進(jìn)行編碼;以及預(yù)測(cè)單元,用于構(gòu)造與當(dāng)前塊有關(guān)的調(diào)色板映射,用于根據(jù)預(yù)定的掃描順序以當(dāng)前塊的樣本為單位確定調(diào)色板索引,以及用于通過(guò)使用逸出存在標(biāo)記、調(diào)色板映射或調(diào)色板索引中的至少一個(gè)來(lái)重構(gòu)當(dāng)前塊。
在根據(jù)本發(fā)明的視頻信號(hào)編碼設(shè)備中,基于屬于調(diào)色板映射的調(diào)色板條目的數(shù)目而選擇性地對(duì)逸出存在標(biāo)記進(jìn)行編碼。
在根據(jù)本發(fā)明的視頻信號(hào)編碼設(shè)備中,僅當(dāng)屬于調(diào)色板映射的調(diào)色板條目的數(shù)目大于預(yù)定義的閾值時(shí),對(duì)逸出存在標(biāo)記進(jìn)行編碼。
在根據(jù)本發(fā)明的預(yù)測(cè)單元中,如果所得到的與當(dāng)前樣本有關(guān)的調(diào)色板索引的值等于構(gòu)成當(dāng)前塊的調(diào)色板映射的調(diào)色板條目的數(shù)目,則基于逸出模式(escapemode)來(lái)重構(gòu)當(dāng)前樣本。
有益效果
根據(jù)本發(fā)明,能夠提高對(duì)要基于調(diào)色板模式編碼/解碼的塊的預(yù)測(cè)或重構(gòu)的效率。
根據(jù)本發(fā)明,可以通過(guò)根據(jù)先前塊的調(diào)色板映射得到要被編碼/解碼的塊的調(diào)色板映射來(lái)提高調(diào)色板條目編碼/解碼效率。
根據(jù)本發(fā)明,可以基于索引模式或復(fù)制模式高效地得到要被編碼/解碼的塊的調(diào)色板索引。
根據(jù)本發(fā)明,可以通過(guò)基于游程編碼(runencoding)對(duì)使用二進(jìn)制矢量的調(diào)色板索引進(jìn)行編碼來(lái)提高壓縮效率。
根據(jù)本發(fā)明,可以基于逸出模式來(lái)重構(gòu)要被編碼/解碼的塊的樣本值,以使得可以高效地對(duì)在調(diào)色板條目范圍之外的樣本進(jìn)行編碼/解碼。
附圖說(shuō)明
圖1是示出根據(jù)本發(fā)明的實(shí)施方式的視頻編碼設(shè)備的框圖。
圖2是示出根據(jù)本發(fā)明的實(shí)施方式的視頻解碼設(shè)備的框圖。
圖3示出了根據(jù)本發(fā)明的實(shí)施方式的基于調(diào)色板模式重構(gòu)當(dāng)前塊的方法。
圖4示出了根據(jù)本發(fā)明的實(shí)施方式的限制性地用信號(hào)傳送再次使用標(biāo)記(previous_palette_entry_flag)的方法。
圖5示出了根據(jù)本發(fā)明的實(shí)施方式的基于游程編碼用信號(hào)傳送二進(jìn)制矢量形式的再次使用標(biāo)記的方法。
圖6示出了根據(jù)本發(fā)明的實(shí)施方式的用于基于最后條目標(biāo)記(last_previous_entry_flag)來(lái)限制性地獲得再次使用標(biāo)記的方法。
圖7示出了根據(jù)本發(fā)明的實(shí)施方式的用于構(gòu)造與當(dāng)前塊有關(guān)的調(diào)色板映射的方法。
圖8示出了根據(jù)本發(fā)明的實(shí)施方式的基于調(diào)色板索引信息和調(diào)色板索引游程得到當(dāng)前塊的調(diào)色板索引的方法。
圖9示出了根據(jù)本發(fā)明的實(shí)施方式的用于基于復(fù)制模式(copymode)得到調(diào)色板索引的方法。
圖10示出了根據(jù)本發(fā)明的實(shí)施方式的在調(diào)色板模式下的掃描順序。
圖11示出了根據(jù)本發(fā)明的實(shí)施方式的用于基于逸出存在標(biāo)記獲得調(diào)色板索引的方法。
本發(fā)明的最佳實(shí)施方式
根據(jù)本發(fā)明的用于對(duì)視頻信號(hào)進(jìn)行解碼的方法包括:構(gòu)造用于以調(diào)色板模式編碼的當(dāng)前塊的調(diào)色板映射;基于屬于調(diào)色板映射的調(diào)色板條目的數(shù)目來(lái)獲得逸出存在標(biāo)記;根據(jù)預(yù)定的掃描順序以當(dāng)前塊的樣本為單位得到調(diào)色板索引(paletteindex);以及通過(guò)使用逸出存在標(biāo)記、調(diào)色板映射和調(diào)色板索引中的至少一個(gè)來(lái)重構(gòu)當(dāng)前塊。
在根據(jù)本發(fā)明的視頻信號(hào)解碼方法中,僅當(dāng)屬于調(diào)色板映射的調(diào)色板條目的數(shù)目大于預(yù)定義的閾值時(shí),用信號(hào)傳送逸出存在標(biāo)記。
在根據(jù)本發(fā)明的視頻信號(hào)解碼方法中,使用索引模式(indexmode)和復(fù)制模式(copymode)中的至少一個(gè)來(lái)得到調(diào)色板索引。
在根據(jù)本發(fā)明的視頻信號(hào)解碼方法中,索引模式(indexmode)是基于經(jīng)編碼的調(diào)色板索引信息得到調(diào)色板索引的方法,并且復(fù)制模式(copymode)是使用相鄰樣本的調(diào)色板索引得到當(dāng)前樣本的調(diào)色板索引的方法。
在根據(jù)本發(fā)明的對(duì)視頻信號(hào)進(jìn)行解碼的方法中,如果所得到的與當(dāng)前樣本有關(guān)的調(diào)色板索引的值等于構(gòu)成當(dāng)前塊的調(diào)色板映射的調(diào)色板條目的數(shù)目,則基于逸出模式(esacpemode)來(lái)重構(gòu)當(dāng)前樣本。
根據(jù)本發(fā)明的用于對(duì)視頻信號(hào)進(jìn)行解碼的設(shè)備包括:熵解碼單元,用于從比特流獲得以調(diào)色板模式編碼的當(dāng)前塊的逸出存在標(biāo)記;以及預(yù)測(cè)單元,用于構(gòu)造與當(dāng)前塊有關(guān)的調(diào)色板映射,用于根據(jù)預(yù)定的掃描順序以當(dāng)前塊的樣本為單位得到調(diào)色板索引,以及用于通過(guò)使用逸出存在標(biāo)記、調(diào)色板映射或調(diào)色板索引中的至少一個(gè)來(lái)重構(gòu)當(dāng)前塊。
在根據(jù)本發(fā)明的視頻信號(hào)解碼設(shè)備中,基于屬于調(diào)色板映射的調(diào)色板條目的數(shù)目而選擇性地獲得逸出存在標(biāo)記。
在根據(jù)本發(fā)明的視頻信號(hào)解碼設(shè)備中,僅當(dāng)屬于調(diào)色板映射的調(diào)色板條目的數(shù)目大于預(yù)定義的閾值時(shí),用信號(hào)傳送逸出存在標(biāo)記。
在根據(jù)本發(fā)明的視頻信號(hào)解碼設(shè)備中,使用索引模式(indexmode)和復(fù)制模式(copymode)中的至少一個(gè)來(lái)確定調(diào)色板索引。
在根據(jù)本發(fā)明的視頻信號(hào)解碼設(shè)備中,索引模式(indexmode)是基于經(jīng)編碼的調(diào)色板索引信息得到調(diào)色板索引的方法,并且復(fù)制模式(copymode)是使用相鄰樣本的調(diào)色板索引得到當(dāng)前樣本的調(diào)色板索引的方法。
在根據(jù)本發(fā)明的預(yù)測(cè)單元中,如果所得到的與當(dāng)前樣本有關(guān)的調(diào)色板索引的值等于構(gòu)成當(dāng)前塊的調(diào)色板映射的調(diào)色板條目的數(shù)目,則基于逸出模式(escapemode)來(lái)重構(gòu)當(dāng)前樣本。
根據(jù)本發(fā)明的用于對(duì)視頻信號(hào)進(jìn)行編碼的方法包括:構(gòu)造用于以調(diào)色板模式編碼的當(dāng)前塊的調(diào)色板映射;基于屬于調(diào)色板映射的調(diào)色板條目的數(shù)目對(duì)逸出存在標(biāo)記進(jìn)行編碼;根據(jù)預(yù)定的掃描順序以當(dāng)前塊的樣本為單位確定調(diào)色板索引;以及通過(guò)使用逸出存在標(biāo)記、調(diào)色板映射或調(diào)色板索引中的至少一個(gè)來(lái)重構(gòu)當(dāng)前塊。
在根據(jù)本發(fā)明的視頻信號(hào)編碼方法中,僅當(dāng)屬于調(diào)色板映射的調(diào)色板條目的數(shù)目大于預(yù)定義的閾值時(shí),對(duì)逸出存在標(biāo)記進(jìn)行編碼。
在根據(jù)本發(fā)明的視頻信號(hào)編碼方法中,使用索引模式(indexmode)和復(fù)制模式(copymode)中的至少一個(gè)來(lái)確定調(diào)色板索引。
在根據(jù)本發(fā)明的對(duì)視頻信號(hào)進(jìn)行編碼的方法中,索引模式(indexmode)是基于經(jīng)編碼的調(diào)色板索引信息得到調(diào)色板索引的方法,復(fù)制模式(copymode)是使用相鄰樣本的調(diào)色板索引得到當(dāng)前樣本的調(diào)色板索引的方法。
在根據(jù)本發(fā)明的視頻信號(hào)編碼方法中,在重構(gòu)當(dāng)前樣本的步驟中,如果與當(dāng)前樣本有關(guān)的調(diào)色板索引的值等于構(gòu)成當(dāng)前塊的調(diào)色板映射的調(diào)色板條目的數(shù)目,則基于逸出模式(escapemode)來(lái)重構(gòu)當(dāng)前樣本。
根據(jù)本發(fā)明的用于對(duì)視頻信號(hào)進(jìn)行編碼的設(shè)備包括:熵編碼單元,用于對(duì)以調(diào)色板模式編碼的當(dāng)前塊的逸出存在標(biāo)記進(jìn)行編碼;以及預(yù)測(cè)單元,用于構(gòu)造與當(dāng)前塊有關(guān)的調(diào)色板映射,用于根據(jù)預(yù)定的掃描順序以當(dāng)前塊的樣本為單位確定調(diào)色板索引,以及用于通過(guò)使用逸出存在標(biāo)記、調(diào)色板映射或調(diào)色板索引中的至少一個(gè)來(lái)重構(gòu)當(dāng)前塊。
在根據(jù)本發(fā)明的視頻信號(hào)編碼設(shè)備中,基于屬于調(diào)色板映射的調(diào)色板條目的數(shù)目而選擇性地對(duì)逸出存在標(biāo)記進(jìn)行編碼。
在根據(jù)本發(fā)明的視頻信號(hào)編碼設(shè)備中,僅當(dāng)屬于調(diào)色板映射的調(diào)色板條目的數(shù)目大于預(yù)定義的閾值時(shí),對(duì)逸出存在標(biāo)記進(jìn)行編碼。
在根據(jù)本發(fā)明的預(yù)測(cè)單元中,如果所得到的與當(dāng)前樣本有關(guān)的調(diào)色板索引的值等于構(gòu)成當(dāng)前塊的調(diào)色板映射的調(diào)色板條目的數(shù)目,則基于逸出模式(escapemode)來(lái)重構(gòu)當(dāng)前樣本。
具體實(shí)施方式
本發(fā)明可以以各種方式被改變和修改并且可以參考不同的示例性實(shí)施方式被說(shuō)明,其中一些實(shí)施方式將在附圖中描述和示出。然而,這些實(shí)施方式不意在限制本發(fā)明,而是被理解為包括屬于本發(fā)明的精神和技術(shù)范圍內(nèi)的所有修改、等同和替換。在附圖中自始至終相似的附圖標(biāo)記指代相似的元件。
雖然術(shù)語(yǔ)第一、第二等可以用于描述各種元件,但是這些元件不應(yīng)當(dāng)被這些術(shù)語(yǔ)限制。這些術(shù)語(yǔ)僅用于將一個(gè)元件與另一元件區(qū)分開(kāi)。例如,在不偏離本發(fā)明的教導(dǎo)的情況下,第一元件可以被稱為第二元件,并且同樣地第二元件可以被稱為第一元件。術(shù)語(yǔ)“和/或”包括多個(gè)關(guān)聯(lián)列出項(xiàng)的任何組合和所有組合。
將要理解,當(dāng)元件被稱為“連接至”或“耦接至”另一元件時(shí),該元件可以直接連接或耦接至另一元件或中間元件。相反,當(dāng)元件被稱為“直接連接至”或“直接耦接至”另一元件時(shí),不存在中間元件。
本文中所使用的術(shù)語(yǔ)僅用于描述特定實(shí)施方式的目的而不意在限制本發(fā)明。如本文中所使用的,除非上下文另外清楚地指出,否則單數(shù)形式“一(a)”、“一個(gè)(an)”和“該(the)”意在也包括復(fù)數(shù)形式。還將理解的是,當(dāng)在本說(shuō)明書(shū)中使用時(shí),術(shù)語(yǔ)“包括”和/或“具有”指定存在所陳述的特征、整數(shù)、步驟、操作、元件和/或部件,但是不排除存在或添加一個(gè)或更多個(gè)其他特征、整數(shù)、步驟、操作、元件、部件和/或其群組。
在下文中,將參照附圖來(lái)詳細(xì)描述本發(fā)明的示例性實(shí)施方式。在附圖中自始至終相似的附圖標(biāo)記指代相似的元件,并且在本文中將省略對(duì)相似元件的冗余描述。
圖1是示出根據(jù)本發(fā)明的實(shí)施方式的視頻編碼設(shè)備的框圖。
參照?qǐng)D1,視頻編碼設(shè)備100包括:圖片劃分單元110、預(yù)測(cè)單元120和125、變換單元130、量化單元135、重排單元160、熵編碼單元165、逆量化單元140、逆變換單元145、濾波器單元150以及存儲(chǔ)器155。
圖1所示的元件中的每個(gè)元件被獨(dú)立地示出以表示視頻編碼設(shè)備中的不同特征功能,但并不意指每個(gè)元件由單獨(dú)的硬件或一個(gè)軟件配置單元構(gòu)成。也就是說(shuō),為了方便描述,元件被獨(dú)立地布置,其中至少兩個(gè)元件可以組合成單個(gè)元件,或者單個(gè)元件可以被劃分為多個(gè)元件以執(zhí)行功能。要注意,在不偏離本發(fā)明的精神的情況下,一些元件被集成為一個(gè)組合元件和/或元件被劃分為多個(gè)分開(kāi)元件的實(shí)施方式包括在本發(fā)明的范圍內(nèi)。
一些元件對(duì)于本發(fā)明中的實(shí)質(zhì)功能并非是必需的,并且可能是僅用于提高性能的可選構(gòu)成部件??梢酝ㄟ^(guò)僅包括對(duì)于本發(fā)明的實(shí)施方式必需的構(gòu)成部件、而排除僅用于提高性能的構(gòu)成部件來(lái)實(shí)施本發(fā)明。僅包括必需構(gòu)成部件、而排除了僅用于提高性能的光學(xué)構(gòu)成部件的結(jié)構(gòu)屬于本發(fā)明的范圍。
圖片劃分單元110可以將輸入圖片劃分為至少一個(gè)處理單元。此處,所述處理單元可以是預(yù)測(cè)單元(pu)、變換單元(tu)或編碼單元(cu)。圖片劃分單元110可以將一個(gè)圖片劃分為cu、pu和tu的多個(gè)組合,并且通過(guò)基于預(yù)定準(zhǔn)則(例如成本函數(shù))選擇cu、pu和tu的一個(gè)組合來(lái)對(duì)圖片進(jìn)行編碼。
例如,一個(gè)圖片可以被劃分為多個(gè)cu??梢允褂眠f歸樹(shù)結(jié)構(gòu)如四叉樹(shù)結(jié)構(gòu)來(lái)將圖片劃分為cu。可以以圖片或最大大小的cu作為樹(shù)根的cu可以被劃分為具有與所劃分的cu一樣多的子節(jié)點(diǎn)的子編碼單元。根據(jù)預(yù)定限制不能再被劃分的cu是葉節(jié)點(diǎn)。也就是說(shuō),假設(shè)cu僅可以被劃分為四分體,則單個(gè)cu可以被劃分為最多四個(gè)不同的cu。
在本發(fā)明的實(shí)施方式中,cu不僅可以用于指編碼的單元而且可以用于指解碼的單元。
可以將pu劃分為cu中的相同大小的至少一個(gè)正方形或長(zhǎng)方形形式。對(duì)于從同一cu劃分的各pu,一個(gè)pu可以具有與另一pu不同的形狀和/或大小。
當(dāng)基于cu生成用于幀內(nèi)預(yù)測(cè)的pu并且cu不是最小cu時(shí),cu可以在不被劃分為多個(gè)pu(n×n)的情況下經(jīng)受幀內(nèi)預(yù)測(cè)。
預(yù)測(cè)單元120和125可以包括用于執(zhí)行幀間預(yù)測(cè)的幀間預(yù)測(cè)單元120和用于執(zhí)行幀內(nèi)預(yù)測(cè)的幀內(nèi)預(yù)測(cè)單元125。預(yù)測(cè)單元120和125可以確定對(duì)pu執(zhí)行幀間預(yù)測(cè)和幀內(nèi)預(yù)測(cè)中的哪一個(gè),并且可以確定所確定的預(yù)測(cè)方法的具體信息(例如,幀內(nèi)預(yù)測(cè)模式、運(yùn)動(dòng)矢量和參考圖片)。此處,被執(zhí)行預(yù)測(cè)的處理單元可以不同于被確定預(yù)測(cè)方法和關(guān)于預(yù)測(cè)方法的具體信息的處理單元。例如,可以針對(duì)每個(gè)pu來(lái)確定預(yù)測(cè)方法和預(yù)測(cè)模式,而可以針對(duì)每個(gè)tu來(lái)執(zhí)行預(yù)測(cè)。可以將生成的預(yù)測(cè)塊與原始?jí)K之間的殘差值(殘差塊)輸入至變換單元130。此外,用于預(yù)測(cè)的預(yù)測(cè)模式信息、運(yùn)動(dòng)矢量信息等可以與殘差值一起被熵編碼單元165編碼并且被傳送至解碼設(shè)備。當(dāng)使用特定編碼模式時(shí),原始?jí)K可以被編碼并且被傳送至解碼設(shè)備,而不通過(guò)預(yù)測(cè)單元120和125生成預(yù)測(cè)塊。
幀間預(yù)測(cè)單元120可以基于關(guān)于在當(dāng)前圖片的先前圖片和當(dāng)前圖片的后續(xù)圖片之中的至少一個(gè)圖片的信息來(lái)預(yù)測(cè)pu。在一些情況下,幀間預(yù)測(cè)單元120可以基于當(dāng)前圖片中的部分編碼的區(qū)域的信息來(lái)預(yù)測(cè)pu。幀間預(yù)測(cè)單元120可以包括參考圖片插值單元、運(yùn)動(dòng)預(yù)測(cè)單元以及運(yùn)動(dòng)補(bǔ)償單元。
可以向參考圖片插值單元提供來(lái)自存儲(chǔ)器155的參考圖片信息,并且參考圖片插值單元可以生成小于或等于參考圖片上的整像素的像素信息。在亮度像素的情況下,可以使用具有可變?yōu)V波器系數(shù)的基于dct(離散余弦變換)的8抽頭插值濾波器以1/4像素為單位生成小于或等于整像素的像素信息。在色度像素的情況下,可以使用具有可變?yōu)V波器系數(shù)的基于dct的4抽頭插值濾波器以1/8像素為單位生成小于或等于整像素的像素信息。
運(yùn)動(dòng)預(yù)測(cè)單元可以基于由參考圖片插值單元插值的參考圖片來(lái)執(zhí)行運(yùn)動(dòng)預(yù)測(cè)??梢允褂酶鞣N方法如基于全搜索的塊匹配算法(fbma)、三步搜索(tss)算法和新三步搜索(nts)算法來(lái)計(jì)算運(yùn)動(dòng)矢量。運(yùn)動(dòng)矢量具有基于插值像素的、以1/2或1/4像素為單位的運(yùn)動(dòng)矢量值。運(yùn)動(dòng)預(yù)測(cè)單元可以使用不同的運(yùn)動(dòng)預(yù)測(cè)方法來(lái)預(yù)測(cè)當(dāng)前pu??梢詫⒏鞣N方法如跳過(guò)模式、合并模式和先進(jìn)運(yùn)動(dòng)矢量預(yù)測(cè)(amvp)模式、塊內(nèi)復(fù)制模式等用作為運(yùn)動(dòng)預(yù)測(cè)方法。
幀內(nèi)預(yù)測(cè)單元125可以基于關(guān)于與當(dāng)前塊相鄰的參考像素的信息來(lái)生成pu。當(dāng)由于與當(dāng)前pu相鄰的塊是已經(jīng)執(zhí)行了幀間預(yù)測(cè)的塊而導(dǎo)致參考像素是已經(jīng)執(zhí)行了幀間預(yù)測(cè)的像素時(shí),可以用關(guān)于已經(jīng)執(zhí)行了幀內(nèi)預(yù)測(cè)的塊中的參考像素的信息來(lái)取代關(guān)于已經(jīng)執(zhí)行了幀間預(yù)測(cè)的塊中的參考像素的信息。也就是說(shuō),當(dāng)參考像素不可用時(shí),可以用關(guān)于可用參考像素中的至少一個(gè)參考像素的信息來(lái)取代關(guān)于不可用參考像素的信息。
幀內(nèi)預(yù)測(cè)的預(yù)測(cè)模式包括根據(jù)預(yù)測(cè)方向使用參考像素信息的方向預(yù)測(cè)模式、以及在執(zhí)行預(yù)測(cè)時(shí)不使用關(guān)于方向的信息的非方向預(yù)測(cè)模式。用于預(yù)測(cè)亮度信息的模式和用于預(yù)測(cè)色度信息的模式可以彼此不同。此外,可以使用用于獲得亮度信息的幀內(nèi)預(yù)測(cè)模式信息或預(yù)測(cè)的亮度信號(hào)信息來(lái)預(yù)測(cè)色度信息。
當(dāng)pu和tu具有相同大小時(shí),可以基于該pu的左側(cè)像素、左上方像素和上側(cè)像素對(duì)pu執(zhí)行幀內(nèi)預(yù)測(cè)。另一方面,當(dāng)pu和tu具有不同大小時(shí),可以通過(guò)使用基于tu確定的參考像素來(lái)執(zhí)行幀內(nèi)預(yù)測(cè)??梢詢H針對(duì)最小cu來(lái)執(zhí)行使用n×n劃分的幀內(nèi)預(yù)測(cè)。
在幀內(nèi)預(yù)測(cè)方法中,可以通過(guò)根據(jù)預(yù)測(cè)模式對(duì)參考像素應(yīng)用自適應(yīng)幀內(nèi)平滑(ais)濾波器來(lái)生成預(yù)測(cè)塊。可以對(duì)參考像素應(yīng)用不同類型的ais濾波器。在幀內(nèi)預(yù)測(cè)方法中,可以根據(jù)與當(dāng)前pu相鄰的pu的幀內(nèi)預(yù)測(cè)模式來(lái)預(yù)測(cè)當(dāng)前pu的幀內(nèi)預(yù)測(cè)模式。在使用根據(jù)相鄰pu預(yù)測(cè)的模式信息來(lái)預(yù)測(cè)當(dāng)前pu的預(yù)測(cè)模式時(shí),當(dāng)當(dāng)前pu與相鄰pu具有相同的幀內(nèi)預(yù)測(cè)模式時(shí),可以使用預(yù)定標(biāo)記信息來(lái)傳送用于指示當(dāng)前pu與相鄰pu具有相同的預(yù)測(cè)模式的信息。當(dāng)當(dāng)前pu與相鄰pu具有不同的預(yù)測(cè)模式時(shí),可以通過(guò)熵編碼對(duì)關(guān)于當(dāng)前塊的預(yù)測(cè)模式的信息進(jìn)行編碼。
可以生成包括殘差信息的殘差塊。殘差信息是pu的原始?jí)K與由預(yù)測(cè)單元120和125生成的pu的預(yù)測(cè)塊之間的差。可以將所生成的殘差塊輸入至變換單元130。
變換單元130可以使用變換方法如離散余弦變換(dct)、離散正弦變換(dst)或klt(卡亨南-洛維變換)來(lái)對(duì)殘差塊進(jìn)行變換。殘差塊包括關(guān)于由預(yù)測(cè)單元120和125生成的pu與原始?jí)K之間的殘差的信息??梢曰陉P(guān)于用于生成殘差塊的pu的幀內(nèi)預(yù)測(cè)模式的信息在dct、dst和klt之中確定用于對(duì)殘差塊進(jìn)行變換的變換方法。
量化單元135可以對(duì)由變換單元130變換到頻域的值進(jìn)行量化。量化系數(shù)可以取決于圖像的重要性或塊而改變。可以將從量化單元135輸出的值提供至逆量化單元140和重排單元160。
重排單元160可以對(duì)量化的系數(shù)進(jìn)行重新排列。
重排單元160可以通過(guò)系數(shù)掃描將二維(2d)的系數(shù)塊改變?yōu)橐痪S(1d)的系數(shù)矢量。例如,重排單元160可以通過(guò)使用之字形掃描從dc系數(shù)掃描至高頻域的系數(shù)來(lái)將2d系數(shù)塊改變?yōu)?d系數(shù)矢量。替代之字形掃描,可以取決于tu的大小和幀內(nèi)預(yù)測(cè)模式來(lái)使用用于沿垂直方向掃描2d系數(shù)塊的垂直掃描和用于沿水平方向掃描2d系數(shù)塊的水平掃描。也就是說(shuō),可以基于tu的大小和幀內(nèi)預(yù)測(cè)模式在之字形掃描、垂直掃描和水平掃描之中選擇掃描方法。
熵編碼單元165可以基于由重排單元160獲得的值來(lái)執(zhí)行熵編碼。針對(duì)熵編碼,可以使用各種編碼方法,如指數(shù)哥倫布(golomb)編碼、上下文自適應(yīng)可變長(zhǎng)度編碼(cavlc)或上下文自適應(yīng)二進(jìn)制算術(shù)編碼(cabac)。
熵編碼單元165可以對(duì)來(lái)自重排單元160以及預(yù)測(cè)單元120和125的各種信息如關(guān)于cu的塊類型信息和殘差系數(shù)信息、預(yù)測(cè)模式信息、劃分單元信息、pu信息、傳輸單元信息、運(yùn)動(dòng)矢量信息、參考幀信息、塊插值信息和濾波信息進(jìn)行編碼。
熵編碼單元165可以對(duì)從重排單元160輸入的cu的系數(shù)進(jìn)行熵編碼。
逆量化單元140和逆變換單元145對(duì)由量化單元135量化的值進(jìn)行逆量化以及對(duì)由變換單元130變換的值進(jìn)行逆變換??梢酝ㄟ^(guò)將殘差值加至所預(yù)測(cè)的pu來(lái)生成重構(gòu)塊。殘差值可以由逆量化單元140和逆變換單元145生成。所預(yù)測(cè)的pu可以由預(yù)測(cè)單元120和125的運(yùn)動(dòng)矢量預(yù)測(cè)單元、運(yùn)動(dòng)補(bǔ)償單元以及幀內(nèi)預(yù)測(cè)單元來(lái)預(yù)測(cè)。
濾波器單元150可以包括去塊濾波器、偏移單元以及自適應(yīng)環(huán)路濾波器(alf)中的至少一個(gè)。
去塊濾波器可以去除由于重構(gòu)圖片中的塊之間的邊界而生成的塊失真??梢曰诎ㄔ趬K的若干行或列中的像素來(lái)確定是否對(duì)當(dāng)前塊應(yīng)用去塊濾波器。當(dāng)對(duì)塊應(yīng)用去塊濾波器時(shí),可以取決于所需的去塊濾波強(qiáng)度來(lái)應(yīng)用強(qiáng)濾波器或弱濾波器。當(dāng)在應(yīng)用去塊濾波器時(shí)執(zhí)行水平濾波和垂直濾波時(shí),可以并行地執(zhí)行水平濾波和垂直濾波。
偏移單元可以以像素為單位對(duì)經(jīng)去塊濾波的圖像施加相對(duì)于原始圖像的偏移??梢栽趯D片的像素劃分為預(yù)定數(shù)目的區(qū)域之后確定可以施加偏移的區(qū)域??梢钥紤]關(guān)于每個(gè)像素的邊緣信息或?qū)λ_定的區(qū)域施加偏移的方法而對(duì)所確定的區(qū)域施加偏移。
alf可以基于經(jīng)濾波的重構(gòu)圖像與原始圖像的比較結(jié)果來(lái)執(zhí)行濾波??梢詫ㄔ趫D像中的像素劃分為預(yù)定組,可以確定要應(yīng)用于每個(gè)組的濾波器,并且可以針對(duì)每個(gè)組來(lái)執(zhí)行差分濾波。可以由每個(gè)編碼單元(cu)傳輸關(guān)于是否應(yīng)用alf的信息,并且要應(yīng)用于每個(gè)塊的alf的形狀和濾波器系數(shù)可以變化。此外,可以對(duì)塊應(yīng)用具有相同形式(固定形式)的alf,而不管塊的特征如何。
存儲(chǔ)器155可以存儲(chǔ)從濾波器單元150輸出的重構(gòu)塊或重構(gòu)圖片,并且當(dāng)執(zhí)行幀間預(yù)測(cè)時(shí),所存儲(chǔ)的重構(gòu)塊或重構(gòu)圖片可以被提供至預(yù)測(cè)單元120和125。
圖2是示出根據(jù)本發(fā)明的示例性實(shí)施方式的視頻解碼設(shè)備的框圖。
參照?qǐng)D2,視頻解碼設(shè)備200可以包括:熵解碼單元210、重排單元215、逆量化單元220、逆變換單元225、預(yù)測(cè)單元230和235、濾波器單元240以及存儲(chǔ)器245。
當(dāng)從視頻編碼設(shè)備輸入視頻比特流時(shí),可以根據(jù)在視頻編碼設(shè)備中執(zhí)行的視頻編碼過(guò)程的逆過(guò)程對(duì)輸入的比特流進(jìn)行解碼。
熵解碼單元210可以根據(jù)視頻編碼設(shè)備的熵編碼單元所進(jìn)行的熵編碼過(guò)程的逆過(guò)程來(lái)執(zhí)行熵解碼。例如,與視頻編碼設(shè)備使用的方法對(duì)應(yīng),可以使用各種方法如指數(shù)哥倫布編碼、cavlc或cabac來(lái)進(jìn)行熵編碼。
熵解碼單元210可以對(duì)與由編碼設(shè)備執(zhí)行的幀內(nèi)預(yù)測(cè)和幀間預(yù)測(cè)相關(guān)聯(lián)的信息進(jìn)行解碼。
重排單元215可以基于編碼單元的重排方法對(duì)由熵解碼單元210熵解碼的比特流進(jìn)行重新排列。重排單元215可以將1d矢量形式的系數(shù)重構(gòu)和重排為2d塊的系數(shù)??梢韵蛑嘏艈卧?15提供關(guān)于由編碼設(shè)備執(zhí)行的系數(shù)掃描的信息,并且重排單元215可以基于由編碼設(shè)備執(zhí)行的掃描順序使用對(duì)系數(shù)逆掃描的方法來(lái)執(zhí)行重排。
逆量化單元220可以基于從編碼設(shè)備提供的量化參數(shù)和經(jīng)重排的塊的系數(shù)來(lái)執(zhí)行逆量化。
逆變換單元225可以對(duì)由視頻編碼設(shè)備執(zhí)行的量化的結(jié)果執(zhí)行由變換單元執(zhí)行變換的逆變換(也就是說(shuō),逆dct、逆dst或逆klt)??梢曰谟梢曨l編碼設(shè)備確定的傳輸單元來(lái)執(zhí)行逆變換。視頻解碼設(shè)備的變換單元225可以取決于多個(gè)信息要素如預(yù)測(cè)方法、當(dāng)前塊的大小和預(yù)測(cè)方向等來(lái)選擇性地執(zhí)行變換方案(例如,dct、dst、klt)。
預(yù)測(cè)單元230和235可以基于所提供的用于生成預(yù)測(cè)塊的信息和關(guān)于先前解碼的塊或圖片的信息來(lái)生成預(yù)測(cè)塊。用于生成預(yù)測(cè)塊的信息可以由熵解碼單元210提供。關(guān)于先前解碼的塊或圖片的信息可以由存儲(chǔ)器245提供。
類似于上述視頻編碼設(shè)備的操作,當(dāng)pu和tu具有相同大小時(shí),基于pu的左側(cè)像素、左上方像素和上側(cè)像素對(duì)pu執(zhí)行幀內(nèi)預(yù)測(cè)。另一方面,當(dāng)pu和tu具有不同大小時(shí),可以使用基于tu確定的參考像素來(lái)執(zhí)行幀內(nèi)預(yù)測(cè)??梢詢H針對(duì)最小cu來(lái)使用利用n×n劃分的幀內(nèi)預(yù)測(cè)。
預(yù)測(cè)單元230和235可以包括pu確定單元、幀間預(yù)測(cè)單元以及幀內(nèi)預(yù)測(cè)單元。pu確定單元可以從熵解碼單元210接收各種信息,如pu信息、關(guān)于幀內(nèi)預(yù)測(cè)方法的預(yù)測(cè)模式信息和關(guān)于幀間預(yù)測(cè)方法的運(yùn)動(dòng)預(yù)測(cè)相關(guān)信息等,pu確定單元可以確定當(dāng)前cu的pu。pu確定單元可以確定對(duì)pu執(zhí)行幀間預(yù)測(cè)和幀內(nèi)預(yù)測(cè)中的哪一個(gè)。幀間預(yù)測(cè)單元230可以基于關(guān)于包括當(dāng)前pu的當(dāng)前圖片的先前圖片和后續(xù)圖片之中的至少一個(gè)圖片的信息對(duì)當(dāng)前pu執(zhí)行幀間預(yù)測(cè)。幀間預(yù)測(cè)單元230可以使用由視頻編碼設(shè)備提供的、用于當(dāng)前pu的幀間預(yù)測(cè)所必需的信息。可以基于包括當(dāng)前pu的當(dāng)前圖片中的預(yù)先重構(gòu)的部分區(qū)域的信息來(lái)執(zhí)行幀間預(yù)測(cè)。
為了執(zhí)行幀間預(yù)測(cè),可以以cu為單位來(lái)確定包括在cu中的pu的運(yùn)動(dòng)預(yù)測(cè)方法是跳過(guò)模式、合并模式、amvp模式還是塊內(nèi)復(fù)制模式。
幀內(nèi)預(yù)測(cè)單元235可以基于當(dāng)前圖片中的像素信息來(lái)生成預(yù)測(cè)塊。當(dāng)pu是執(zhí)行幀內(nèi)預(yù)測(cè)的pu時(shí),可以基于由視頻編碼設(shè)備提供的關(guān)于該pu的幀內(nèi)預(yù)測(cè)模式信息來(lái)執(zhí)行幀內(nèi)預(yù)測(cè)。幀內(nèi)預(yù)測(cè)單元235可以包括ais(自適應(yīng)幀內(nèi)平滑)濾波器、參考像素插值單元以及dc濾波器。ais濾波器對(duì)當(dāng)前塊的參考像素執(zhí)行濾波。ais濾波器可以取決于當(dāng)前pu的預(yù)測(cè)模式來(lái)決定是否應(yīng)用濾波器。可以使用由視頻編碼設(shè)備提供的pu的預(yù)測(cè)模式和關(guān)于ais濾波器的信息對(duì)當(dāng)前塊的參考像素執(zhí)行ais濾波。當(dāng)當(dāng)前塊的預(yù)測(cè)模式是不執(zhí)行ais濾波的模式時(shí),可以不應(yīng)用ais濾波器。
當(dāng)pu的預(yù)測(cè)模式指示基于通過(guò)對(duì)參考像素進(jìn)行插值而獲得的像素值來(lái)執(zhí)行幀內(nèi)預(yù)測(cè)的預(yù)測(cè)模式時(shí),參考像素插值單元可以通過(guò)對(duì)參考像素進(jìn)行插值以小于整像素(即全像素)的分?jǐn)?shù)像素為單位生成參考像素。當(dāng)當(dāng)前pu的預(yù)測(cè)模式指示在不對(duì)參考像素進(jìn)行插值的情況下生成預(yù)測(cè)塊的預(yù)測(cè)模式時(shí),可以不對(duì)參考像素進(jìn)行插值。當(dāng)當(dāng)前塊的預(yù)測(cè)模式是dc模式時(shí),dc濾波器可以通過(guò)濾波來(lái)生成預(yù)測(cè)塊。
可以將重構(gòu)塊或重構(gòu)圖片提供至濾波器單元240。濾波器單元240包括去塊濾波器、偏移單元以及alf。
視頻編碼設(shè)備可以提供關(guān)于是否對(duì)相應(yīng)塊或圖片應(yīng)用去塊濾波器的信息以及關(guān)于在使用去塊濾波器的情況下應(yīng)用強(qiáng)濾波器和弱濾波器中的哪個(gè)濾波器的信息??梢韵蛞曨l解碼設(shè)備的去塊濾波器提供來(lái)自視頻編碼設(shè)備的關(guān)于去塊濾波器的信息,并且去塊濾波器可以對(duì)相應(yīng)塊執(zhí)行去塊濾波。
偏移單元可以基于關(guān)于在編碼過(guò)程中應(yīng)用于圖片的偏移類型和偏移值的信息來(lái)對(duì)重構(gòu)圖片施加偏移。
可以基于由編碼設(shè)備提供的關(guān)于是否應(yīng)用alf的信息和alf系數(shù)信息等來(lái)對(duì)cu應(yīng)用alf??梢栽谔囟▍?shù)集中包括和提供alf信息。
存儲(chǔ)器245可以存儲(chǔ)用作為參考圖片或參考?jí)K的重構(gòu)圖片或重構(gòu)塊,并且存儲(chǔ)器245可以將重構(gòu)圖片提供至輸出單元。
如上所述,在本發(fā)明的實(shí)施方式中,為了方便描述,將術(shù)語(yǔ)“編碼單元”用作為編碼的單元。然而,術(shù)語(yǔ)“編碼單元”還可以用作為解碼的單元。
圖3示出了根據(jù)本發(fā)明的實(shí)施方式的基于調(diào)色板模式來(lái)重構(gòu)當(dāng)前塊的方法。
在圖像包括動(dòng)畫(huà)或圖形的情況下,可能發(fā)生的是圖像的全部或一部分包括僅特定像素值。在這種情況下,可以使用在不使用幀間預(yù)測(cè)或幀內(nèi)預(yù)測(cè)方法的情況下對(duì)構(gòu)成該區(qū)域的特定像素值進(jìn)行編碼的方法,這被稱為調(diào)色板模式。調(diào)色板模式可以應(yīng)用于塊單元(例如,編碼單元、預(yù)測(cè)單元)。出于這個(gè)目的,可以基于塊來(lái)用信號(hào)傳送用于指示是否使用調(diào)色板模式的標(biāo)記信息(palette_mode_flag)。
參照?qǐng)D3,可以構(gòu)造以調(diào)色板模式編碼的當(dāng)前塊的調(diào)色板映射(s300)。
調(diào)色板映射可以包括至少一個(gè)調(diào)色板條目以及用于標(biāo)識(shí)每個(gè)調(diào)色板條目的映射索引??梢愿鶕?jù)先前塊的調(diào)色板映射(在下文中被稱為先前調(diào)色板映射)得到當(dāng)前塊的調(diào)色板映射。此處,先前塊可以意指在當(dāng)前塊之前已經(jīng)被編碼或解碼的塊。
當(dāng)前塊的調(diào)色板條目可以包括預(yù)測(cè)的調(diào)色板條目或用信號(hào)傳送的調(diào)色板條目中的至少一個(gè)。當(dāng)前塊可以使用先前塊所使用的調(diào)色板條目中的所有調(diào)色板條目或一部分調(diào)色板條目。預(yù)測(cè)的調(diào)色板條目可以表示在先前塊中使用的調(diào)色板條目當(dāng)中的、在當(dāng)前塊中再次使用的調(diào)色板條目。
具體地,當(dāng)前塊可以使用與先前塊相同的調(diào)色板映射。對(duì)于此,可以用信號(hào)傳送用于指示當(dāng)前塊是否使用與先前塊相同的調(diào)色板映射的標(biāo)記(palette_share_flag)。此處,相同的調(diào)色板映射意指調(diào)色板映射的大小(或包括在調(diào)色板映射中的調(diào)色板條目的數(shù)目)相同并且包括在調(diào)色板映射中的調(diào)色板條目相同。當(dāng)palette_share_flag的值為1時(shí),當(dāng)前塊使用與先前塊相同的調(diào)色板映射。當(dāng)palette_share_flag的值為0時(shí),當(dāng)前塊可以使用以下調(diào)色板映射:包括在該調(diào)色板映射中的調(diào)色板條目或該調(diào)色板映射的大小中的至少一個(gè)與相鄰塊的不同。
可替選地,當(dāng)前塊可以選擇性地使用先前調(diào)色板映射中的一些調(diào)色板條目。出于這個(gè)目的,可以使用用于指定調(diào)色板條目是否被再次使用的標(biāo)記(previous_palette_entry_flag,在下文中被稱為再次使用標(biāo)記)。具體地,向先前調(diào)色板映射的調(diào)色板條目中的每個(gè)調(diào)色板條目分配再次使用標(biāo)記的值。再次使用標(biāo)記(previous_palette_entry_flag[i])指示與先前調(diào)色板映射中的映射索引i對(duì)應(yīng)的調(diào)色板條目是否被再次使用。例如,如果再次使用標(biāo)記的值為1,則在當(dāng)前塊的調(diào)色板映射中再次使用與先前調(diào)色板映射中的映射索引i對(duì)應(yīng)的調(diào)色板條目。否則,不再次使用該調(diào)色板條目??梢酝ㄟ^(guò)從先前調(diào)色板映射提取具有等于1的再次使用標(biāo)記的調(diào)色板條目并且順序地布置這些調(diào)色板條目來(lái)構(gòu)造當(dāng)前塊的調(diào)色板映射??梢砸葬槍?duì)每個(gè)調(diào)色板條目編碼的標(biāo)記的形式用信號(hào)傳送再次使用標(biāo)記,或者可以基于游程編碼以二進(jìn)制矢量的形式用信號(hào)傳送再次使用標(biāo)記,這將參照?qǐng)D4至圖6詳細(xì)進(jìn)行描述。
為了選擇性地使用先前塊的調(diào)色板映射中的一些調(diào)色板條目,可以使用用于指定先前調(diào)色板條目是否被再次使用的再次使用變量陣列(predictor_palette_entry_reuse_flag)以及用于指定在再次使用變量陣列中的非零再次使用變量之間的、等于0的再次使用變量的數(shù)目的語(yǔ)法palette_predictor_run值。
另外,當(dāng)前塊的調(diào)色板映射還可以包括由比特流傳送的、用信號(hào)傳送的調(diào)色板條目。此處,用信號(hào)傳送的調(diào)色板條目包括由當(dāng)前塊使用的調(diào)色板條目當(dāng)中的、未包括在先前調(diào)色板映射中的調(diào)色板條目。將通過(guò)進(jìn)一步參照?qǐng)D7來(lái)描述用于構(gòu)造調(diào)色板映射的方法。
參照?qǐng)D3,可以以當(dāng)前塊的樣本單位(或像素單位)根據(jù)預(yù)定的掃描順序來(lái)得到調(diào)色板索引(s310)。
作為本發(fā)明的掃描順序,可以使用水平掃描、垂直掃描、水平來(lái)回掃描、垂直來(lái)回掃描等,并且這將參照?qǐng)D10進(jìn)行詳細(xì)描述。
可以使用索引模式(indexmode)、復(fù)制模式(copymode)或逸出模式(escapemode)中的至少一個(gè)來(lái)得到用于當(dāng)前塊的調(diào)色板索引。此處,逸出模式(escapemode)可以被定義為獨(dú)立的模式,或者可以理解為索引模式(indexmode)的一個(gè)示例。
此處,索引模式(indexmode)可以指基于用于指定在當(dāng)前塊中使用的調(diào)色板索引的、經(jīng)編碼的調(diào)色板索引信息來(lái)得到調(diào)色板索引的方法。調(diào)色板索引信息具有在0與(調(diào)色板大小-1)之間的值,其中,調(diào)色板大小可以指示當(dāng)前塊的調(diào)色板映射的大小或構(gòu)成調(diào)色板映射的調(diào)色板條目的數(shù)目。在索引模式下,可以向當(dāng)前樣本的調(diào)色板索引分配通過(guò)比特流用信號(hào)傳送的調(diào)色板索引信息的值。將參照?qǐng)D8來(lái)詳細(xì)描述基于索引模式得到調(diào)色板索引的方法。
復(fù)制模式(copymode)可以指使用相鄰樣本的調(diào)色板索引得到當(dāng)前樣本的調(diào)色板索引的方法。例如,在復(fù)制模式下,可以基于相鄰樣本的調(diào)色板索引來(lái)預(yù)測(cè)當(dāng)前樣本的調(diào)色板索引,或者可以復(fù)制相鄰樣本的調(diào)色板索引并且將其設(shè)置為當(dāng)前樣本的調(diào)色板索引。此處,相鄰樣本可以意指與當(dāng)前樣本的頂側(cè)、底側(cè)、左側(cè)或右側(cè)鄰近的樣本。特別地,相鄰樣本可以位于與當(dāng)前樣本相同的水平線上或相同的垂直線上。
復(fù)制模式可以包括復(fù)制上方模式(copy_abovemode)或復(fù)制左側(cè)模式(copy_leftmode)中的至少一個(gè),其中,在復(fù)制上方模式下,將由與當(dāng)前樣本的上端鄰近的樣本所使用的調(diào)色板條目用作為當(dāng)前樣本的調(diào)色板條目,在復(fù)制左側(cè)模式下,將由與當(dāng)前樣本的左側(cè)鄰近的樣本所使用的調(diào)色板條目用作為當(dāng)前樣本的調(diào)色板條目??梢愿鶕?jù)當(dāng)前塊的掃描順序來(lái)選擇性地使用復(fù)制上方模式或復(fù)制左側(cè)模式中之一。例如,如果當(dāng)前塊使用水平掃描或水平來(lái)回掃描,則可以使用復(fù)制上方模式。如果當(dāng)前塊使用垂直掃描或垂直來(lái)回掃描,則可以使用復(fù)制左側(cè)模式。另外,當(dāng)前塊的掃描開(kāi)始位置不限于左上方樣本,并且可以將當(dāng)前塊的其他拐角樣本(例如,左下方樣本、右上方樣本以及右下方樣本)用作為掃描開(kāi)始位置。因此,根據(jù)當(dāng)前塊的掃描順序和掃描開(kāi)始位置,可以使用和與上側(cè)或左側(cè)鄰近的樣本相同的調(diào)色板條目,或者可以使用和與下側(cè)或右側(cè)鄰近的樣本相同的調(diào)色板條目。在這種情況下,復(fù)制模式還可以包括復(fù)制右側(cè)模式(copy_rightmode)和/或復(fù)制下方模式(copy_undermode)。
可替選地,不管掃描順序如何,可以選擇性地使用復(fù)制上方模式或復(fù)制左側(cè)模式中之一。出于這個(gè)目的,可以用信號(hào)傳送用于指定掃描模式的標(biāo)記(use_copy_above_flag)??梢栽谄^部、片段頭部或塊的基礎(chǔ)上用信號(hào)傳送use_copy_above_flag。如果use_copy_above_flag的值為1,則可以在相應(yīng)的片或塊中使用復(fù)制上方模式,并且如果use_copy_above_flag的值為0,則可以在該片或塊中使用復(fù)制左側(cè)模式。將參照?qǐng)D9來(lái)詳細(xì)描述基于復(fù)制模式得到調(diào)色板索引的方法。
可以使用用于指定得到當(dāng)前塊的每個(gè)樣本的調(diào)色板索引的方法的模式標(biāo)識(shí)符(palette_index_mode)來(lái)選擇性地使用諸如上述索引模式和復(fù)制模式的調(diào)色板索引模式中的任一個(gè)。在下文中將得到當(dāng)前塊的每個(gè)樣本的調(diào)色板索引的方法稱為調(diào)色板索引模式。例如,如果模式標(biāo)識(shí)符的值為1,則當(dāng)前塊的當(dāng)前樣本使用復(fù)制模式,并且如果模式標(biāo)識(shí)符的值為0,則當(dāng)前樣本可以使用索引模式或逸出模式。
可以基于用于指示當(dāng)前塊是否僅使用一個(gè)調(diào)色板索引模式的標(biāo)記(use_one_palette_mode_flag)來(lái)用信號(hào)傳送模式標(biāo)識(shí)符。可以以塊(例如,編碼單元、預(yù)測(cè)單元)為單位用信號(hào)傳送use_one_palette_mode_flag。
例如,當(dāng)根據(jù)use_one_palette_mode_flag的值,當(dāng)前塊僅使用一個(gè)調(diào)色板索引模式時(shí),不通過(guò)比特流用信號(hào)傳送模式標(biāo)識(shí)符,并且可以將在視頻解碼設(shè)備處預(yù)定義的調(diào)色板索引模式用作為當(dāng)前塊的索引模式。為此,當(dāng)前塊的每個(gè)樣本的模式標(biāo)識(shí)符的值可以被設(shè)置為1或0。
另一方面,當(dāng)使用多個(gè)調(diào)色板索引模式時(shí),根據(jù)use_one_palette_mode_flag的值,當(dāng)前塊不限于僅使用一個(gè)調(diào)色板索引模式,并且可以通過(guò)比特流用信號(hào)傳送模式標(biāo)識(shí)符。
可替選地,可以基于用于指示當(dāng)前塊中是否至少一個(gè)樣本使用復(fù)制模式的標(biāo)記(palette_above_present_flag)來(lái)用信號(hào)傳送模式標(biāo)識(shí)符。
例如,如果根據(jù)palette_above_present_flag的值,當(dāng)前塊中的樣本中的至少一個(gè)樣本使用復(fù)制模式,則可以通過(guò)比特流用信號(hào)傳送模式標(biāo)識(shí)符。另一方面,當(dāng)根據(jù)palette_above_present_flag的值,當(dāng)前塊的樣本不使用復(fù)制模式時(shí),不通過(guò)比特流用信號(hào)傳送模式標(biāo)識(shí)符,并且將在視頻解碼設(shè)備處預(yù)定義的調(diào)色板索引模式用作為當(dāng)前塊的調(diào)色板索引模式。為此,當(dāng)前塊的每個(gè)樣本的模式標(biāo)識(shí)符的值可以被設(shè)置為0。
同時(shí),還可以通過(guò)考慮逸出存在標(biāo)記來(lái)獲得調(diào)色板索引,這將參照?qǐng)D11來(lái)描述。
參照?qǐng)D3,可以基于在步驟s310中得到的調(diào)色板索引來(lái)重構(gòu)當(dāng)前塊的樣本(s320)。
具體地,可以基于在步驟s300中構(gòu)造的當(dāng)前塊的調(diào)色板映射和在步驟s310中得到的調(diào)色板索引來(lái)重構(gòu)當(dāng)前塊的樣本。從當(dāng)前塊的調(diào)色板映射中提取與所得到的調(diào)色板索引具有相同值的映射索引的調(diào)色板條目,并且然后可以使用該調(diào)色板條目來(lái)重構(gòu)當(dāng)前塊的樣本。例如,可以將從調(diào)色板映射中提取的調(diào)色板條目的值設(shè)置為當(dāng)前塊的樣本的預(yù)測(cè)值或重構(gòu)值。
然而,所得到的調(diào)色板索引的值可能等于構(gòu)成當(dāng)前塊的調(diào)色板映射的調(diào)色板條目的數(shù)目。在這種情況下,可以通過(guò)使用在步驟s300中構(gòu)造的調(diào)色板映射的調(diào)色板條目來(lái)重構(gòu)當(dāng)前塊的樣本。也就是說(shuō),由于調(diào)色板映射的映射索引具有0與(調(diào)色板條目的數(shù)目-1)之間的值,因此所得到的調(diào)色板索引的值等于調(diào)色板條目的數(shù)目意味著在步驟s300中構(gòu)造的調(diào)色板映射中不存在與所得到的調(diào)色板索引對(duì)應(yīng)的調(diào)色板條目。以這種方式,當(dāng)存在具有下述調(diào)色板索引的樣本時(shí),可以確定該樣本以逸出模式(escapemode)被編碼:該調(diào)色板索引具有與當(dāng)前塊中的調(diào)色板條目的數(shù)目相同的值。此處,逸出模式可以指下述方法:取代使用在步驟s300中構(gòu)造的調(diào)色板映射的調(diào)色板條目,該方法基于另外用信號(hào)傳送的調(diào)色板逸出值來(lái)重構(gòu)樣本值。因此,可以使用另外用信號(hào)傳送的調(diào)色板逸出值來(lái)重構(gòu)調(diào)色板索引等于調(diào)色板條目的數(shù)目的樣本。
另一方面,可以基于當(dāng)前塊的調(diào)色板映射中的調(diào)色板條目的數(shù)目(或當(dāng)前塊的調(diào)色板大小)中的至少一個(gè)來(lái)自適應(yīng)地使用逸出模式。
具體地,可以僅當(dāng)當(dāng)前塊的調(diào)色板映射中的調(diào)色板條目的數(shù)目大于預(yù)定義的閾值時(shí),用信號(hào)傳送用于指示是否使用逸出模式的標(biāo)記(palette_escape_val_present_flag)。此處,如果逸出存在標(biāo)記的值為1,則這可以意指以調(diào)色板模式編碼的當(dāng)前塊中所包括的至少一個(gè)樣本使用逸出模式。如果逸出存在標(biāo)記的值為0,則這可以意指當(dāng)前塊不使用逸出模式。因此,當(dāng)與當(dāng)前塊有關(guān)的存在標(biāo)記的值為1時(shí),另外用信號(hào)傳送前述調(diào)色板逸出值。
例如,如果當(dāng)前塊使用的調(diào)色板條目的數(shù)目大于0,則可以允許基于逸出模式來(lái)重構(gòu)當(dāng)前塊中的至少一個(gè)樣本。為此,可以僅當(dāng)當(dāng)前塊使用的調(diào)色板條目的數(shù)目大于0時(shí),用信號(hào)傳送逸出存在標(biāo)記。相反,如果當(dāng)前塊使用的調(diào)色板條目的數(shù)目等于0,則不允許基于逸出模式來(lái)重構(gòu)當(dāng)前塊。在這種情況下,不用信號(hào)傳送逸出存在標(biāo)記,并且圖像解碼設(shè)備可以利用預(yù)定義的值(例如0)得到逸出存在標(biāo)記的值。然而,對(duì)于編碼效率而言,預(yù)定義的閾值不限于0,并且預(yù)定義的閾值可以具有除0之外的隨機(jī)恒定值。
圖4示出了根據(jù)本發(fā)明的實(shí)施方式的用信號(hào)傳送再次使用標(biāo)記(previous_palette_entry_flag)的方法。
參照?qǐng)D4,可以從比特流獲得與當(dāng)前塊的調(diào)色板映射有關(guān)的再次使用數(shù)目信息(num_previous_palette_entry)(s400)。
此處,再次使用數(shù)目信息可以意指下述信息:該信息被編碼為用于指示先前調(diào)色板映射的調(diào)色板條目當(dāng)中的、被再次用作為當(dāng)前塊的調(diào)色板條目的調(diào)色板條目的數(shù)目。
可以從比特流獲得用于指定第i個(gè)調(diào)色板條目是否要被再次使用的再次使用標(biāo)記(previous_palette_entry_flag[i])(s410)。
依據(jù)先前調(diào)色板映射的大小(或包括在先前調(diào)色板映射中的調(diào)色板條目的數(shù)目)用信號(hào)傳送再次使用標(biāo)記。此處,i對(duì)應(yīng)于用于標(biāo)識(shí)先前調(diào)色板映射的調(diào)色板條目的映射索引,并且i的值在0到(先前調(diào)色板映射的大小-1)的范圍中。
可以檢查在步驟s410中獲得的再次使用標(biāo)記的值是否為1(s420)。
作為檢查的結(jié)果,如果再次使用標(biāo)記的值為1,則可以更新用于指示等于1的再次使用標(biāo)記的數(shù)目的變量numpredpreviouspalette(s430)。例如,可以將變量numpredpreviouspalette的值增加1。
另一方面,如果再次使用標(biāo)記的值為0,則可以從比特流獲得用于指定是否要再次使用第(i+1)個(gè)調(diào)色板條目的再次使用標(biāo)記(previous_palette_entry_flag[i+1])(s410)。
可以比較在步驟s430中增加的變量numpredpreviouspalette值與在步驟s400中獲得的再次使用數(shù)目信息是否相同(s440)。
如果變量numpredpreviouspalette不等于在步驟s400中獲得的數(shù)目信息,則可以從比特流獲得用于指定是否再次使用第(i+1)個(gè)調(diào)色板條目的再次使用標(biāo)記(previous_palette_entry_flag[i+1])(s410)。然而,如果變量numpredpreviouspalette等于在步驟s400中獲得的數(shù)目信息,則可以不將具有大于i的值的映射索引的調(diào)色板條目用作為當(dāng)前塊的調(diào)色板條目。為此,如果變量numpredpreviouspalette等于在步驟s400中獲得的數(shù)目信息,則可以得到i的值等于或大于先前調(diào)色板映射的大小。例如,可以通過(guò)將先前調(diào)色板映射的大小加上1來(lái)得到i的值。因此,通過(guò)將i的值設(shè)置為等于或大于先前調(diào)色板映射的大小,可以不用信號(hào)傳送與第(i+1)個(gè)調(diào)色板條目相關(guān)聯(lián)的再次使用標(biāo)記。
圖5示出了根據(jù)本發(fā)明的實(shí)施方式的基于游程編碼用信號(hào)傳送二進(jìn)制矢量形式的再次使用標(biāo)記的方法。
在本實(shí)施方式中,假設(shè)先前塊的調(diào)色板映射使用具有0至7的映射索引的8個(gè)調(diào)色板條目。
對(duì)于先前塊的具有索引0至7的調(diào)色板條目中的每個(gè)調(diào)色板條目,視頻編碼設(shè)備確定該調(diào)色板條目是否被再次用作為當(dāng)前塊的調(diào)色板條目。如果該調(diào)色板條目被再次用作為當(dāng)前塊的調(diào)色板條目,則可以將該調(diào)色板條目的再次使用標(biāo)記的值設(shè)置為1,否則,可以將該值設(shè)置為0。例如,如圖5所示,當(dāng)先前塊的調(diào)色板條目當(dāng)中的0、1、3和7的調(diào)色板條目被再次用作為當(dāng)前塊的調(diào)色板條目而剩余的調(diào)色板條目不被再次使用時(shí),可以生成由11010001表示的二進(jìn)制矢量。
然后,二進(jìn)制矢量中的1的數(shù)目(即,先前塊中的被再次用作為當(dāng)前塊的調(diào)色板條目的調(diào)色板條目的數(shù)目)或二進(jìn)制矢量中的在1前面的0的數(shù)目中的至少一個(gè)被編碼,然后可以用信號(hào)傳送至視頻解碼設(shè)備。例如,由于二進(jìn)制矢量中的1的數(shù)目為4,因此4可以被編碼為先前塊中的被再次用作為當(dāng)前塊的調(diào)色板條目的調(diào)色板條目的數(shù)目。另外,二進(jìn)制矢量中的在1前面的0的數(shù)目,也就是說(shuō),0、0、1和3可以被順序地編碼。
視頻解碼設(shè)備可以從視頻編碼設(shè)備接收關(guān)于先前塊中的被再次用作為當(dāng)前塊的調(diào)色板條目的調(diào)色板條目的數(shù)目的信息(num_previous_palette_entry)或關(guān)于二進(jìn)制矢量中的在1前面的0的數(shù)目的信息(palette_entry_run)中的至少一個(gè),并且然后通過(guò)使用所接收的信息來(lái)構(gòu)造當(dāng)前塊的調(diào)色板映射。
例如,視頻解碼設(shè)備從比特流中依次提取關(guān)于二進(jìn)制矢量中的在1前面的0的數(shù)目的信息(palette_entry_run),也就是說(shuō),0、0、1和3??梢酝ㄟ^(guò)使用所提取的信息來(lái)重構(gòu)用于指示是否要再次使用先前塊的調(diào)色板條目的二進(jìn)制矢量,也就是說(shuō),11010001。當(dāng)在重構(gòu)二進(jìn)制矢量的過(guò)程中生成1的值時(shí),可以將先前塊中的與值1對(duì)應(yīng)的調(diào)色板條目插入到當(dāng)前塊的調(diào)色板映射中。通過(guò)該過(guò)程,可以通過(guò)選擇性地再次使用來(lái)自先前塊的調(diào)色板映射的一些調(diào)色板條目來(lái)構(gòu)造當(dāng)前塊的調(diào)色板映射。
圖6示出了根據(jù)本發(fā)明的實(shí)施方式的基于最后條目標(biāo)記(last_previous_entry_flag)以限制的方式獲得再次使用標(biāo)記的方法。
參照?qǐng)D6,可以考慮先前塊的調(diào)色板映射的大小來(lái)獲得再次使用標(biāo)記(previous_palette_entry_flag[idx])(s600)。
再次使用標(biāo)記可以指示先前塊的調(diào)色板映射中的與當(dāng)前映射索引idx對(duì)應(yīng)的調(diào)色板條目是否被再次用作為當(dāng)前塊的調(diào)色板條目。在當(dāng)前映射索引idx小于先前塊的調(diào)色板映射的大小(或構(gòu)成先前塊的調(diào)色板映射的調(diào)色板條目的數(shù)目)的范圍內(nèi)可以獲得再次使用標(biāo)記。
可以基于在步驟s600中獲得的再次使用標(biāo)記來(lái)獲得最后條目標(biāo)記(last_previous_entry_flag)(s610)。
具體地,如果再次使用標(biāo)記的值為1,則從比特流中提取最后條目標(biāo)記,并且如果再次使用標(biāo)記的值為0,則不從比特流中提取最后條目標(biāo)記。
此處,最后條目標(biāo)記可以指示與當(dāng)前映射索引idx對(duì)應(yīng)的調(diào)色板條目是否是先前塊中的被再次用作為當(dāng)前塊的調(diào)色板條目的調(diào)色板條目中的最后調(diào)色板條目。例如,如果最后條目標(biāo)記的值為1,則不將具有大于當(dāng)前映射索引idx的映射索引值的調(diào)色板條目再次用作為當(dāng)前塊的調(diào)色板條目。另一方面,如果最后條目標(biāo)記的值為0,則可以將具有大于當(dāng)前映射索引idx的映射索引值的調(diào)色板條目中的至少一個(gè)調(diào)色板條目再次用作為當(dāng)前塊的調(diào)色板條目。
可以基于在步驟s610中獲得的最后條目標(biāo)記而將當(dāng)前映射索引idx的值更新為預(yù)定值(s620)。
例如,如果最后條目標(biāo)記的值為1,則可以將當(dāng)前映射索引idx的值更新為與先前塊的調(diào)色板映射的大小相同的值。在這種情況下,如上所述,由于再次使用標(biāo)記是在先前塊的調(diào)色板映射的大小范圍內(nèi)提取的,因此對(duì)于具有大于當(dāng)前映射索引idx的映射索引值的調(diào)色板條目,不用信號(hào)傳送再次使用標(biāo)記。
另一方面,當(dāng)最后條目標(biāo)記的值為0時(shí),這意味著具有大于當(dāng)前映射索引idx的映射索引的調(diào)色板條目中的至少一個(gè)調(diào)色板條目可以被再次用作為當(dāng)前塊的調(diào)色板條目。因此,可以將當(dāng)前映射索引idx增加1。也就是說(shuō),當(dāng)前映射索引idx的值被更新為(idx+1),并且可以重復(fù)步驟s600和步驟s610直到最后條目標(biāo)記的值達(dá)到1為止。
通過(guò)上述過(guò)程,可以基于最后條目標(biāo)記的值來(lái)限制性地用信號(hào)傳送本發(fā)明的再次使用標(biāo)記。
圖7示出了根據(jù)本發(fā)明的實(shí)施方式的構(gòu)造當(dāng)前塊的調(diào)色板映射的方法。
當(dāng)前塊可以使用與先前塊的調(diào)色板映射相同的調(diào)色板映射。因此,出于該目的,可以使用以下標(biāo)記(palette_share_flag):該標(biāo)記指示當(dāng)前塊的調(diào)色板映射的大小(或調(diào)色板條目的數(shù)目)是否等于先前塊的調(diào)色板映射的大小(或調(diào)色板條目的數(shù)目)以及當(dāng)前塊是否使用與先前塊的調(diào)色板映射相同的調(diào)色板映射。例如,如果palette_share_flag的值為1,則這可以意指當(dāng)前塊的調(diào)色板映射的大小和調(diào)色板條目與先前塊相同。另一方面,如果palette_share_flag的值為0(即,在當(dāng)前塊的調(diào)色板映射的大小或調(diào)色板條目中的至少一個(gè)與先前塊不同的情況下),則當(dāng)前塊可以選擇性地使用先前調(diào)色板映射的調(diào)色板條目的一部分或者可以使用超出先前調(diào)色板映射的調(diào)色板條目的附加調(diào)色板條目。
可以使用用于指示調(diào)色板條目是否被再次使用的標(biāo)記(previous_palette_entry_flag[i]),以選擇性地使用先前調(diào)色板映射的調(diào)色板條目的全部或一部分。例如,如果previous_palette_entry_flag[i]的值為1,則這可以意指先前調(diào)色板映射中的第i個(gè)調(diào)色板條目被再次用作為當(dāng)前塊的調(diào)色板條目。如果previous_palette_entry_flag[i]的值為0,則這可以意指第i個(gè)調(diào)色板條目不被再次用作為當(dāng)前塊的調(diào)色板條目。可以用信號(hào)傳送與包括在先前調(diào)色板映射中的調(diào)色板條目的數(shù)目一樣多的previous_palette_entry_flag[i]。
當(dāng)當(dāng)前塊另外使用未包括在先前調(diào)色板映射中的調(diào)色板條目(下文中稱為用信號(hào)傳送的調(diào)色板條目)時(shí),圖像編碼設(shè)備可以對(duì)用信號(hào)傳送的調(diào)色板條目的數(shù)目進(jìn)行編碼并且用信號(hào)傳送與用信號(hào)傳送的調(diào)色板條目的數(shù)目一樣多的調(diào)色板條目。例如,如果包括在先前調(diào)色板映射中的調(diào)色板條目的數(shù)目等于當(dāng)前塊的預(yù)測(cè)的調(diào)色板條目的數(shù)目,則這可以意指至少一個(gè)用信號(hào)傳送的調(diào)色板條目用于當(dāng)前塊。因此,圖像編碼設(shè)備可以對(duì)通過(guò)將用信號(hào)傳送的調(diào)色板條目的數(shù)目減去1得到的值(palette_num_signalled_entries_minus1,下文中稱為第一用信號(hào)傳送的條目數(shù)目信息)進(jìn)行編碼。如果包括在先前調(diào)色板映射中的調(diào)色板條目的數(shù)目與當(dāng)前塊的預(yù)測(cè)的調(diào)色板條目的數(shù)目不相同,則圖像編碼設(shè)備可以對(duì)用信號(hào)傳送的調(diào)色板條目的數(shù)目(palette_num_signalled_entries,下文中稱為第二用信號(hào)傳送的調(diào)色板條目)進(jìn)行編碼。
考慮當(dāng)前塊的預(yù)測(cè)的調(diào)色板條目的數(shù)目與包括在先前調(diào)色板中的調(diào)色板條目的數(shù)目是否相同,圖像解碼設(shè)備可以確定用信號(hào)傳送的條目的數(shù)目。
參照?qǐng)D7,當(dāng)當(dāng)前塊的預(yù)測(cè)的調(diào)色板條目的數(shù)目(palettenumpredictedentries)與包括在先前調(diào)色板中的調(diào)色板條目的數(shù)目(previouspalettesize)不同時(shí),圖像解碼設(shè)備可以獲得第二用信號(hào)傳送的條目數(shù)目信息(s700)。在這種情況下,可以得到當(dāng)前塊的用信號(hào)傳送的調(diào)色板條目的數(shù)目是與第二條目數(shù)目信息的值相同的值。
同時(shí),當(dāng)palettenumpredictedentries與previouspalettesize相同時(shí),可以獲得第一用信號(hào)傳送的條目數(shù)目信息(s710)。在這種情況下,可以通過(guò)將1加至第一用信號(hào)傳送的條目數(shù)目信息來(lái)得到當(dāng)前塊的用信號(hào)傳送的調(diào)色板條目的數(shù)目。
可以從比特流獲得與當(dāng)前塊的用信號(hào)傳送的調(diào)色板條目的數(shù)目一樣多的用信號(hào)傳送的調(diào)色板條目(s720)??梢酝ㄟ^(guò)使用根據(jù)先前調(diào)色板映射預(yù)測(cè)的調(diào)色板條目和用信號(hào)傳送的調(diào)色板條目來(lái)構(gòu)造當(dāng)前調(diào)色板映射??梢曰谙惹罢{(diào)色板映射的大小(或者,包括在先前調(diào)色板映射中的調(diào)色板條目的數(shù)目)和/或palettenumpredictedentries與previouspalettesize是否相同來(lái)得到當(dāng)前調(diào)色板映射的大小(或者,包括在當(dāng)前調(diào)色板映射中的調(diào)色板條目的數(shù)目currentpalettesize)如下:
(1)當(dāng)palette_share_flag的值等于1時(shí)
currentpalettesize=previouspalettesize
(2)當(dāng)palette_share_flag的值等于0時(shí),并且當(dāng)palettenumpredictedentries與previouspalettesize相同時(shí)
currentpalettesize=previouspalettesize+palette_num_signalled_entries_minus1+1
(3)當(dāng)palette_share_flag的值等于0時(shí),并且當(dāng)palettenumpredictedentries與previouspalettesize不同時(shí)
currentpalettesize=previouspalettesize+palette_num_signalled_entries
圖8示出了根據(jù)本發(fā)明的實(shí)施方式的基于調(diào)色板索引信息和調(diào)色板索引游程來(lái)得到當(dāng)前塊的調(diào)色板索引的方法。
首先,將描述在視頻編碼設(shè)備中對(duì)調(diào)色板索引信息和調(diào)色板索引游程進(jìn)行編碼的處理。為了方便說(shuō)明,假設(shè)當(dāng)前塊以索引模式編碼,如圖8所示,每個(gè)樣本使用在0至3范圍中的調(diào)色板索引,并且使用以當(dāng)前塊的左上方樣本為開(kāi)始位置的水平來(lái)回掃描。
參照?qǐng)D8,如果根據(jù)水平來(lái)回掃描順序以一維形式布置當(dāng)前塊使用的調(diào)色板索引,則可以將該調(diào)色板索引表示為下面的{0,2,2,2,3,3,3,3,2,0,0,0,0,1,1,1}。一維陣列可以被分組成連續(xù)且等值的調(diào)色板索引。也就是說(shuō),一維陣列可以包括:由一個(gè)0值組成的第一組、由三個(gè)2值組成的第二組、由四個(gè)3值組成的第三組、由一個(gè)2值組成的第四組、由四個(gè)0值組成的第五組以及由三個(gè)1值組成的第六組。去除了每個(gè)組的調(diào)色板索引的冗余。如下面的表1所示,可以通過(guò)指定并編碼要被編碼的調(diào)色板索引和/或要被編碼的調(diào)色板索引的數(shù)目來(lái)生成調(diào)色板索引信息和/或關(guān)于要被編碼的調(diào)色板索引的數(shù)目的信息。
【表1】
也就是說(shuō),可以通過(guò)消除每個(gè)組的調(diào)色板索引的冗余來(lái)獲得{0,2,3,2,0,1}。在這種情況下,要被編碼的調(diào)色板索引被指定為{0,2,3,2,0,1},并且要被編碼的調(diào)色板索引的數(shù)目可以被指定為六。
另外,視頻編碼設(shè)備可以對(duì)針對(duì)每個(gè)組而言同一調(diào)色板索引被重復(fù)的次數(shù)(在下文中被稱為調(diào)色板索引游程)進(jìn)行編碼。例如,如表1所示,由于第一組由一個(gè)0值組成,因此調(diào)色板索引游程被確定為0。在第二組中,由于在具有掃描順序(1)的樣本處使用調(diào)色板索引2并且在具有掃描順序(2)和掃描順序(3)的樣本處連續(xù)使用同一調(diào)色板索引2,因此調(diào)色板索引游程可以被確定為2。視頻編碼設(shè)備可以照原樣對(duì)所確定的調(diào)色板索引游程的值進(jìn)行編碼,或者為了編碼效率,可以將該值劃分為最高有效位(msb)和精細(xì)位。
通過(guò)上述過(guò)程,視頻編碼設(shè)備可以對(duì)以下中的至少一個(gè)進(jìn)行編碼:關(guān)于要被編碼的調(diào)色板索引的數(shù)目的信息、關(guān)于要被編碼的調(diào)色板索引的調(diào)色板索引信息或調(diào)色板索引游程。
視頻解碼設(shè)備可以從比特流獲得調(diào)色板索引信息和調(diào)色板索引游程,并且使用調(diào)色板索引信息和調(diào)色板索引游程來(lái)得到當(dāng)前塊的每個(gè)樣本的調(diào)色板索引。
可以獲得和與關(guān)于要被編碼的調(diào)色板索引的數(shù)目的信息對(duì)應(yīng)的數(shù)目一樣多的調(diào)色板索引信息??梢皂樞虻孬@得與每個(gè)調(diào)色板索引信息對(duì)應(yīng)的調(diào)色板索引游程,以得到當(dāng)前塊的調(diào)色板索引。例如,視頻解碼設(shè)備可以從比特流獲得調(diào)色板索引信息{0,2,3,2,0,1}。然后,可以從比特流獲得與調(diào)色板索引信息0對(duì)應(yīng)的調(diào)色板索引游程。如果與調(diào)色板索引信息0對(duì)應(yīng)的調(diào)色板索引游程的值為0,則視頻解碼設(shè)備可以向當(dāng)前塊的具有掃描順序(0)的樣本分配調(diào)色板索引0。然后,可以從比特流獲得與調(diào)色板索引信息2對(duì)應(yīng)的調(diào)色板索引游程。如果與調(diào)色板索引信息2對(duì)應(yīng)的調(diào)色板索引游程的值為2,則視頻解碼設(shè)備可以根據(jù)掃描順序向當(dāng)前塊的具有掃描順序(1)至(3)的樣本順序地分配調(diào)色板索引2。以這種方式,可以針對(duì)當(dāng)前塊中的所有樣本得到調(diào)色板索引。
圖9示出了根據(jù)本發(fā)明的實(shí)施方式的基于復(fù)制模式(copymode)得到調(diào)色板索引的方法。
復(fù)制模式可以是在當(dāng)前樣本之前解碼的相鄰樣本的調(diào)色板索引被復(fù)制并被用作為當(dāng)前樣本的調(diào)色板索引的模式。此處,相鄰樣本可以意指與當(dāng)前樣本鄰近的頂側(cè)或左側(cè)相鄰樣本,或者可以意指不與當(dāng)前樣本鄰近的頂側(cè)或左側(cè)相鄰樣本。頂側(cè)相鄰樣本可以與當(dāng)前樣本處于同一列中,并且左側(cè)相鄰樣本可以與當(dāng)前樣本處于同一行中??梢允褂闷苼?lái)指定在復(fù)制模式下使用的相鄰樣本(下文中稱為參考樣本)。此處,偏移可以表示當(dāng)前樣本與參考樣本之間的位置差(例如,行差或列差)??梢岳卯?dāng)前樣本與參考樣本之間的位置差對(duì)偏移進(jìn)行編碼,或者偏移可以被編碼為通過(guò)從偏移減去恒定值而獲得的值(例如,copy_previous_offest_minus1,copy_previous_offest_minus2)。在這種情況下,圖像解碼設(shè)備可以通過(guò)將恒定值加至經(jīng)編碼的偏移來(lái)重構(gòu)偏移。
可以順序地生成與當(dāng)前樣本具有相同偏移的樣本。在這種情況下,可以不針對(duì)每個(gè)樣本通過(guò)游程編碼對(duì)偏移進(jìn)行編碼。例如,可以對(duì)用于指示與當(dāng)前樣本具有相同偏移的連續(xù)樣本的數(shù)目的值(copy_run,下文中稱為復(fù)制游程)進(jìn)行編碼。復(fù)制游程的值可以被限制為預(yù)定范圍。例如,如果當(dāng)前樣本使用copy_abovemode(復(fù)制上方模式),則復(fù)制游程的值不能大于當(dāng)前塊的寬度。這是因?yàn)?,如果?fù)制游程的值大于當(dāng)前塊的寬度,則尚未被解碼的相鄰樣本被用作為參考樣本?;蛘撸绻?dāng)前樣本使用不與當(dāng)前樣本鄰近的相鄰樣本,則復(fù)制游程的值不能大于偏移*當(dāng)前塊的寬度(ncbs)。類似地,當(dāng)復(fù)制游程的值大于偏移*當(dāng)前塊的寬度(ncbs)時(shí),尚未被解碼的相鄰樣本被用作為參考樣本。
同時(shí),本發(fā)明的參考樣本可以被限制為當(dāng)前塊(例如,編碼塊或預(yù)測(cè)塊)中的樣本,或者可以被限制為還包括與當(dāng)前塊鄰近的相鄰塊的預(yù)定區(qū)域中的樣本。
如果參考樣本被包括在與當(dāng)前塊鄰近的相鄰塊中,則可以通過(guò)使用偏移和/或塊標(biāo)識(shí)信息來(lái)確定參考樣本。此處,塊標(biāo)識(shí)信息意指用于指定包括參考樣本的相鄰塊的信息,并且塊標(biāo)識(shí)信息可以包括相鄰塊的位置/大小信息、塊劃分信息等。具體地,在由塊標(biāo)識(shí)信息指定的相鄰塊中,可以將下述位置處的樣本確定為參考樣本:該位置從和當(dāng)前樣本具有相同位置的樣本移位與上述偏移一樣多。
或者,如果參考樣本被限制為當(dāng)前塊中的樣本,則可以根據(jù)當(dāng)前塊中的當(dāng)前樣本的位置(例如,當(dāng)前樣本所位于的行和/或列)來(lái)可選地使用經(jīng)編碼的偏移。例如,如果當(dāng)前樣本位于當(dāng)前塊的第三行并且當(dāng)前樣本將不與當(dāng)前樣本鄰近的相鄰樣本用作為參考樣本,則當(dāng)前樣本可以不使用經(jīng)編碼的偏移。在這種情況下,得到用于當(dāng)前樣本的偏移為0,并且可以通過(guò)復(fù)制位于第一行的參考樣本的調(diào)色板索引來(lái)得到當(dāng)前樣本的調(diào)色板索引。
圖10示出了根據(jù)本發(fā)明的實(shí)施方式的在調(diào)色板模式下使用的掃描順序。
參照?qǐng)D10,在調(diào)色板模式下使用的掃描順序包括:水平掃描、垂直掃描、水平來(lái)回掃描、以及垂直來(lái)回掃描。
具體地,水平掃描是從左至右掃描當(dāng)前塊的每個(gè)行的方法,并且垂直掃描是自上而下掃描當(dāng)前塊的每個(gè)列的方法。
水平來(lái)回掃描是從左至右掃描當(dāng)前塊的奇數(shù)行并且從右至左掃描偶數(shù)行的方法。垂直來(lái)回掃描是自上而下掃描當(dāng)前塊的奇數(shù)列而自下而上掃描偶數(shù)列的方法。
然而,在該實(shí)施方式中,假設(shè)當(dāng)前塊的左上方樣本被設(shè)置為掃描開(kāi)始位置,但是本發(fā)明不限于此,并且可以將當(dāng)前塊的另一拐角樣本設(shè)置為掃描開(kāi)始位置。
圖11示出了根據(jù)本發(fā)明的實(shí)施方式的用于基于逸出存在標(biāo)記來(lái)獲得調(diào)色板索引的方法。
參照?qǐng)D11,可以基于構(gòu)成當(dāng)前調(diào)色板映射的調(diào)色板條目的數(shù)目(currentpalettesize)來(lái)獲得逸出存在標(biāo)記(palette_escape_val_present_flag)(s1100)。例如,當(dāng)currentpalettesize不為0時(shí),可以獲得逸出存在標(biāo)記。這意指僅當(dāng)當(dāng)前調(diào)色板映射中存在至少一個(gè)調(diào)色板條目時(shí),確定當(dāng)前塊中是否至少一個(gè)樣本使用逸出模式。
可以基于palette_escape_val_present_flag和currentpalettesize中的至少一個(gè)來(lái)獲得每個(gè)樣本的調(diào)色板索引模式和/或調(diào)色板索引。
具體地,參照?qǐng)D11,當(dāng)palette_escape_val_present_flag的值和currentpalettesize的值不為1時(shí),可以從比特流獲得用于標(biāo)識(shí)調(diào)色板索引模式的模式標(biāo)識(shí)符(palette_run_type_flag)(s1110)。
可以根據(jù)palette_run_type_flag的值將復(fù)制模式或索引模式確定為當(dāng)前樣本的調(diào)色板索引模式。另一方面,如果palette_escape_val_present_flag或currentpalettesize中的至少一個(gè)不為1,則不用信號(hào)傳送palette_run_type_flag,并且可以將當(dāng)前樣本的調(diào)色板索引模式設(shè)置為逸出模式。
如果根據(jù)在步驟s1110中獲得的palette_run_type_flag當(dāng)前樣本使用索引模式,則可以從比特流獲得調(diào)色板索引(palette_index_idc)(s1120)。
如圖11所示,僅當(dāng)palette_escape_val_present_flag的值和currentpalettesize的值不等于1時(shí),可以獲得palette_index_idc。
如果palette_escape_val_present_flag或currentpalettesize中的至少一個(gè)為1,則不通過(guò)比特流用信號(hào)傳送palette_index_idc,并且可以基于currentpalettesize的值得到palette_index_idc。具體地,可以通過(guò)加法運(yùn)算或減法運(yùn)算來(lái)得到palette_index_idc,在該加法運(yùn)算或減法運(yùn)算中,輸入與屬于當(dāng)前調(diào)色板映射的調(diào)色板條目的數(shù)目有關(guān)的變量(currentpalettesize)和預(yù)定恒定值。此處,預(yù)定恒定值可以是取決于currentpalettesize而確定的可變值或預(yù)定義的固定恒定值。例如,可以通過(guò)將1加至currentpalettesize來(lái)得到palette_index_idc。
工業(yè)實(shí)用性
本發(fā)明可以用于對(duì)視頻信號(hào)進(jìn)行編碼/解碼。