技術(shù)領(lǐng)域
本發(fā)明涉及視頻編碼及解碼。
背景技術(shù):
數(shù)字視頻能力可并入到廣泛范圍的裝置中,包含數(shù)字電視、數(shù)字直播廣播系統(tǒng)、無線廣播系統(tǒng)、個(gè)人數(shù)字助理(PDA)、便攜式或臺(tái)式計(jì)算機(jī)、平板計(jì)算機(jī)、電子書閱讀器、數(shù)字?jǐn)z像機(jī)、數(shù)字記錄裝置、數(shù)字媒體播放器、視頻游戲裝置、視頻游戲控制臺(tái)、蜂窩式或衛(wèi)星無線電電話(所謂的“智能電話”)、視頻電話會(huì)議裝置、視頻流裝置及其類似者。數(shù)字視頻裝置實(shí)施視頻壓縮技術(shù),例如由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分高階視頻譯碼(AVC)定義的標(biāo)準(zhǔn)、目前正在開發(fā)的高效率視頻譯碼(HEVC)標(biāo)準(zhǔn)及這些標(biāo)準(zhǔn)的擴(kuò)展中所描述的那些視頻壓縮技術(shù)等。視頻裝置可通過實(shí)施這些視頻壓縮技術(shù)而更有效率地發(fā)射、接收、編碼、解碼及/或存儲(chǔ)數(shù)字視頻信息。
視頻壓縮技術(shù)執(zhí)行空間(圖片內(nèi))預(yù)測及/或時(shí)間(圖片間)預(yù)測來減少或移除視頻序列中固有的冗余。對于基于塊的視頻譯碼,可將視頻切片(即,視頻幀或視頻幀的一部分)分割成視頻塊。圖片的經(jīng)幀內(nèi)譯碼(I)切片中的視頻塊使用關(guān)于同一圖片中的相鄰塊中的參考樣本的空間預(yù)測來編碼。圖片的經(jīng)幀間譯碼(P或B)切片中的視頻塊可使用關(guān)于同一圖片中的相鄰塊中的參考樣本的空間預(yù)測或關(guān)于其它參考圖片中的參考樣本的時(shí)間預(yù)測。圖片可被稱作幀,且參考圖片可被稱作參考幀。
空間或時(shí)間預(yù)測產(chǎn)生待譯碼的塊的預(yù)測性塊。殘余數(shù)據(jù)表示待譯碼的原始塊與預(yù)測性塊之間的像素差。經(jīng)幀間譯碼塊根據(jù)指向形成預(yù)測性塊的參考樣本的塊的運(yùn)動(dòng)向量來編碼,且殘余數(shù)據(jù)指示經(jīng)譯碼塊與預(yù)測性塊之間的差。經(jīng)幀內(nèi)譯碼塊根據(jù)幀內(nèi)譯碼模式及殘余數(shù)據(jù)來編碼。為了進(jìn)一步壓縮,可將殘余數(shù)據(jù)從像素域變換到變換域,從而產(chǎn)生殘余系數(shù),接著可將殘余系數(shù)量化??蓲呙枳畛醢炊S陣列布置的經(jīng)量化的系數(shù)以便產(chǎn)生系數(shù)的一維向量,且可應(yīng)用熵譯碼以達(dá)成甚至更多壓縮。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的技術(shù)涉及基于調(diào)色板的視頻譯碼。舉例來說,在基于調(diào)色板的譯碼中,一種視頻譯碼器(視頻編碼器或視頻解碼器)可將“調(diào)色板”形成為用于表示特定區(qū)域(例如,給定塊)的視頻數(shù)據(jù)的色彩的表格?;谡{(diào)色板的譯碼可尤其適用于譯碼具有相對較小數(shù)目種色彩的視頻數(shù)據(jù)的區(qū)域。并非譯碼實(shí)際像素值(或其殘余),而是所述視頻譯碼器可譯碼像素中的一或多者的調(diào)色板索引,所述調(diào)色板索引使所述像素與表示所述像素的色彩的所述調(diào)色板中的條目相關(guān)。本發(fā)明中所描述的所述技術(shù)可包含用于進(jìn)行以下各操作中的一或多者的各種組合的技術(shù):用信號通知基于調(diào)色板的譯碼模式,發(fā)射調(diào)色板,導(dǎo)出調(diào)色板,及發(fā)射基于調(diào)色板的譯碼映射及其它語法元素。
在實(shí)例中,一種處理視頻數(shù)據(jù)的方法包含:確定塊層級語法元素的值,所述塊層級語法元素指示對于視頻數(shù)據(jù)的塊的所有樣本來說,所述塊的至少一個(gè)相應(yīng)樣本是否基于并不包含于用于譯碼視頻數(shù)據(jù)的所述塊的色彩的調(diào)色板中的所述至少一個(gè)相應(yīng)樣本的色彩值而譯碼;及基于所述值譯碼視頻數(shù)據(jù)的所述塊。
在另一實(shí)例中,一種用于處理視頻數(shù)據(jù)的裝置包含:存儲(chǔ)器,其經(jīng)配置以存儲(chǔ)視頻數(shù)據(jù)的樣本的塊;及一或多個(gè)處理器,其經(jīng)配置以確定塊層級語法元素的值,所述塊層級語法元素指示對于視頻數(shù)據(jù)的所述塊的所有所述樣本來說,所述塊的至少一個(gè)相應(yīng)樣本是否基于并不包含于用于譯碼視頻數(shù)據(jù)的所述塊的色彩的調(diào)色板中的所述至少一個(gè)相應(yīng)樣本的色彩值而譯碼,及基于所述值譯碼視頻數(shù)據(jù)的所述塊。
在另一實(shí)例中,一種用于處理視頻數(shù)據(jù)的設(shè)備包含:用于確定塊層級語法元素的值的裝置,所述塊層級語法元素指示對于視頻數(shù)據(jù)的塊的所有樣本來說,所述塊的至少一個(gè)相應(yīng)樣本是否基于并不包含于用于譯碼視頻數(shù)據(jù)的所述塊的色彩的調(diào)色板中的所述至少一個(gè)相應(yīng)樣本的色彩值而譯碼;及用于基于所述值譯碼視頻數(shù)據(jù)的所述塊的裝置。
在另一實(shí)例中,一種非暫時(shí)性計(jì)算機(jī)可讀媒體具有存儲(chǔ)于其上的指令,所述指令在經(jīng)執(zhí)行時(shí)使得一或多個(gè)處理器進(jìn)行以下操作:確定塊層級語法元素的值,所述塊層級語法元素指示對于視頻數(shù)據(jù)的塊的所有所述樣本來說,所述塊的至少一個(gè)相應(yīng)樣本是否基于并不包含于用于譯碼視頻數(shù)據(jù)的所述塊的色彩的調(diào)色板中的所述至少一個(gè)相應(yīng)樣本的色彩值而譯碼;及基于所述值譯碼視頻數(shù)據(jù)的所述塊。
在另一實(shí)例中,一種處理視頻數(shù)據(jù)的方法包含:譯碼以下各數(shù)據(jù)中的至少一者:指示用于譯碼視頻數(shù)據(jù)的塊的色彩值的調(diào)色板的最大調(diào)色板大小的數(shù)據(jù),或指示用于確定色彩值的所述調(diào)色板的調(diào)色板預(yù)測符的最大調(diào)色板預(yù)測符大小的數(shù)據(jù);及根據(jù)所述數(shù)據(jù)譯碼視頻數(shù)據(jù)的所述塊。
在另一實(shí)例中,一種用于處理視頻數(shù)據(jù)的裝置包含:存儲(chǔ)器,其經(jīng)配置以存儲(chǔ)視頻數(shù)據(jù)的塊;及一或多個(gè)處理器,其經(jīng)配置以進(jìn)行以下操作:譯碼以下各數(shù)據(jù)中的至少一者:指示用于譯碼視頻數(shù)據(jù)的塊的色彩值的調(diào)色板的最大調(diào)色板大小的數(shù)據(jù),或指示用于確定色彩值的所述調(diào)色板的調(diào)色板預(yù)測符的最大調(diào)色板預(yù)測符大小的數(shù)據(jù);及根據(jù)來自位流的經(jīng)譯碼的所述數(shù)據(jù)譯碼視頻數(shù)據(jù)的所述塊。
在另一實(shí)例中,一種用于處理視頻數(shù)據(jù)的設(shè)備包含:用于譯碼以下各數(shù)據(jù)中的至少一者的裝置:指示用于譯碼視頻數(shù)據(jù)的塊的色彩值的調(diào)色板的最大調(diào)色板大小的數(shù)據(jù),或指示用于確定色彩值的所述調(diào)色板的調(diào)色板預(yù)測符的最大調(diào)色板預(yù)測符大小的數(shù)據(jù);及用于根據(jù)所述數(shù)據(jù)譯碼視頻數(shù)據(jù)的所述塊的裝置。
在另一實(shí)例中,一種非暫時(shí)性計(jì)算機(jī)可讀媒體具有存儲(chǔ)于其上的指令,所述指令在經(jīng)執(zhí)行時(shí)使一或多個(gè)處理器進(jìn)行以下操作:譯碼以下各數(shù)據(jù)中的至少一者:指示用于譯碼視頻數(shù)據(jù)的塊的色彩值的調(diào)色板的最大調(diào)色板大小的數(shù)據(jù),或指示用于確定色彩值的所述調(diào)色板的調(diào)色板預(yù)測符的最大調(diào)色板預(yù)測符大小的數(shù)據(jù);及根據(jù)所述數(shù)據(jù)譯碼視頻數(shù)據(jù)的所述塊。
在另一實(shí)例中,一種譯碼視頻數(shù)據(jù)的方法包含:針對與調(diào)色板索引相關(guān)聯(lián)的像素,確定通過所述像素的所述調(diào)色板索引譯碼的調(diào)色板索引的行程的行程長度,所述調(diào)色板索引使所述像素的值與用于譯碼所述像素的色彩的調(diào)色板中的色彩值相關(guān);確定能夠通過所述像素的所述調(diào)色板索引譯碼的調(diào)色板索引的最大行程的最大行程長度;及基于所述所確定的最大行程長度譯碼指示所述行程長度的數(shù)據(jù)。
在另一實(shí)例中,一種用于譯碼視頻數(shù)據(jù)的裝置包含:存儲(chǔ)器,其經(jīng)配置以存儲(chǔ)與調(diào)色板索引相關(guān)聯(lián)的視頻數(shù)據(jù)的像素,所述調(diào)色板索引使所述像素的值與用于譯碼所述像素的色彩的調(diào)色板中的色彩值相關(guān);及一或多個(gè)處理器,其經(jīng)配置以進(jìn)行以下操作:針對所述像素,確定通過所述像素的所述調(diào)色板索引譯碼的調(diào)色板索引的行程的行程長度,確定能夠通過所述像素的所述調(diào)色板索引譯碼的調(diào)色板索引的最大行程的最大行程長度;及基于所述所確定的最大行程長度譯碼指示所述行程長度的數(shù)據(jù)。
在另一實(shí)例中,一種用于處理視頻數(shù)據(jù)的設(shè)備包含:用于針對與調(diào)色板索引相關(guān)聯(lián)的像素,確定通過所述像素的所述調(diào)色板索引譯碼的調(diào)色板索引的行程的行程長度的裝置,所述調(diào)色板索引使所述像素的值與用于譯碼所述像素的色彩的調(diào)色板中的色彩值相關(guān);用于確定能夠通過所述像素的所述調(diào)色板索引譯碼的調(diào)色板索引的最大行程的最大行程長度的裝置;及用于基于所述所確定的最大行程長度譯碼指示所述行程長度的數(shù)據(jù)的裝置。
在另一實(shí)例中,一種非暫時(shí)性計(jì)算機(jī)可讀媒體具有存儲(chǔ)于其上的指令,所述指令在經(jīng)執(zhí)行時(shí)使一或多個(gè)處理器進(jìn)行以下操作:針對與調(diào)色板索引相關(guān)聯(lián)的像素,確定通過所述像素的所述調(diào)色板索引譯碼的調(diào)色板索引的行程的行程長度,所述調(diào)色板索引使所述像素的值與用于譯碼所述像素的色彩的調(diào)色板中的色彩值相關(guān);確定能夠通過所述像素的所述調(diào)色板索引譯碼的調(diào)色板索引的最大行程的最大行程長度;及基于所述所確定的最大行程長度譯碼指示所述行程長度的數(shù)據(jù)。
在隨附圖式及以下描述中闡述本發(fā)明的一或多個(gè)實(shí)例的細(xì)節(jié)。其它特征、目標(biāo)及優(yōu)點(diǎn)將從描述、圖式及權(quán)利要求書顯而易見。
附圖說明
圖1為說明可利用本發(fā)明中所描述的技術(shù)的實(shí)例視頻譯碼系統(tǒng)的框圖。
圖2為說明可實(shí)施本發(fā)明中所描述的技術(shù)的實(shí)例視頻編碼器的框圖。
圖3為說明可實(shí)施本發(fā)明中所描述的技術(shù)的實(shí)例視頻解碼器的框圖。
圖4為說明與本發(fā)明的技術(shù)一致的確定用于基于調(diào)色板的視頻譯碼的調(diào)色板條目的實(shí)例的概念圖。
圖5為說明與本發(fā)明的技術(shù)一致的確定到用于像素的塊的調(diào)色板的調(diào)色板索引的實(shí)例的概念圖。
圖6為說明與本發(fā)明的技術(shù)一致的確定用于像素的塊的最大行程長度的實(shí)例的概念圖。
圖7為說明與本發(fā)明的技術(shù)一致的用于基于一或多個(gè)塊層級語法元素編碼視頻數(shù)據(jù)的塊的實(shí)例過程的流程圖,所述一或多個(gè)塊層級語法元素指示塊的任何樣本是否經(jīng)編碼為逃脫樣本。
圖8為說明與本發(fā)明的技術(shù)一致的用于基于一或多個(gè)塊層級語法元素解碼視頻數(shù)據(jù)的塊的實(shí)例過程的流程圖,所述一或多個(gè)塊層級語法元素指示塊的任何樣本是否經(jīng)解碼為逃脫樣本。
圖9為說明與本發(fā)明的技術(shù)一致的用于基于指示最大調(diào)色板大小及最大調(diào)色板預(yù)測符大小的一或多個(gè)語法元素編碼視頻數(shù)據(jù)的塊的實(shí)例過程的流程圖。
圖10為說明與本發(fā)明的技術(shù)一致的用于基于指示最大調(diào)色板大小及最大調(diào)色板預(yù)測符大小的一或多個(gè)語法元素編碼視頻數(shù)據(jù)的塊的實(shí)例過程的流程圖。
圖11為說明與本發(fā)明的技術(shù)一致的用于基于最大的可能行程長度譯碼(編碼或解碼)指示像素的行程的行程長度的數(shù)據(jù)的實(shí)例過程的流程圖。
具體實(shí)施方式
本發(fā)明的方面涉及用于視頻譯碼及壓縮的技術(shù)。詳言之,本發(fā)明描述用于視頻數(shù)據(jù)的基于調(diào)色板的譯碼的技術(shù)。在傳統(tǒng)視頻譯碼中,假定影像為連續(xù)色調(diào)且在空間上平滑。基于這些假定,已開發(fā)各種工具,例如基于塊的變換、濾波等,且這些工具已展示針對自然內(nèi)容視頻的良好性能。
然而,在類似遠(yuǎn)程臺(tái)式計(jì)算機(jī)、協(xié)同工作及無線顯示器的應(yīng)用中,計(jì)算機(jī)產(chǎn)生的屏幕內(nèi)容可為待壓縮的主要內(nèi)容。此類型的內(nèi)容傾向于具有離散色調(diào)及特征清晰線,及高對比度物件邊界。連續(xù)色調(diào)及平滑度的假定可能不再適用,且因此,傳統(tǒng)視頻譯碼技術(shù)可能為壓縮內(nèi)容的效率低下方式。
本發(fā)明描述基于調(diào)色板的譯碼,其可特別適合于屏幕產(chǎn)生的內(nèi)容譯碼(例如,屏幕內(nèi)容譯碼(SCC))。用于視頻數(shù)據(jù)的基于調(diào)色板的譯碼的技術(shù)可與一或多個(gè)其它譯碼技術(shù)(例如,用于幀間或幀內(nèi)預(yù)測性譯碼的技術(shù))一起使用。舉例來說,如下文更詳細(xì)描述,編碼器或解碼器或組合式編碼器解碼器(編碼解碼器)可經(jīng)配置以執(zhí)行幀間及幀內(nèi)預(yù)測性譯碼,以及基于調(diào)色板的譯碼。
在一些實(shí)例中,基于調(diào)色板的譯碼技術(shù)可經(jīng)配置以與一或多個(gè)視頻譯碼標(biāo)準(zhǔn)一起使用。舉例來說,高效率視頻譯碼(HEVC)為由ITU-T視頻譯碼專家群組(VCEG)及ISO/IEC運(yùn)動(dòng)圖片專家群組(MPEG)的視頻譯碼聯(lián)合合作小組(JCT-VC)開發(fā)的新的視頻譯碼標(biāo)準(zhǔn)。新近HEVC文本規(guī)范草案描述于布洛斯(Bross)等人的“高效率視頻譯碼(HEVC)文本規(guī)范草案10(用于FDIS及同意)(High Efficiency Video Coding(HEVC)Text Specification Draft 10(for FDIS&Consent))”(JCVC-L1003_v13,ITU-T SG16 WP 3及ISO/IEC JCT 1/SC 29/WG 11的JCT-VC的第12次會(huì)議,2013年1月14日到23日)(“HEVC草案10”)中。
關(guān)于HEVC構(gòu)架,作為實(shí)例,基于調(diào)色板的譯碼技術(shù)可經(jīng)配置以用作譯碼單元(CU)模式。在其它實(shí)例中,基于調(diào)色板的譯碼技術(shù)可經(jīng)配置以用作HEVC的構(gòu)架中的PU模式。因此,在CU模式的上下文中描述的所有以下所揭示過程可另外或替代地適用于PU。然而,這些基于HEVC的實(shí)例不應(yīng)被視為限定或限制本文中所描述的基于調(diào)色板的譯碼技術(shù),因而,這些技術(shù)可適用于獨(dú)立地或作為其它現(xiàn)有或尚待開發(fā)的系統(tǒng)/標(biāo)準(zhǔn)的部分而工作。在這些狀況下,用于調(diào)色板譯碼的單元可為正方形塊、矩形塊或甚至非矩形形狀的區(qū)。
在基于調(diào)色板的譯碼中,可假定視頻數(shù)據(jù)的特定區(qū)域具有相對較小數(shù)目種色彩。視頻譯碼器(視頻編碼器或視頻解碼器)可將所謂的“調(diào)色板”譯碼為用于表示特定區(qū)域(例如,給定塊)的視頻數(shù)據(jù)的色彩的表格。每一像素可與調(diào)色板中表示像素的色彩的條目相關(guān)聯(lián)。舉例來說,視頻譯碼器可譯碼使像素值與調(diào)色板中的適當(dāng)值相關(guān)的索引。
在上述實(shí)例中,視頻編碼器可通過以下操作編碼視頻數(shù)據(jù)的塊:確定用于塊的調(diào)色板,定位調(diào)色板中的條目以表示每一像素的值,及通過像素的使像素值與調(diào)色板相關(guān)的調(diào)色板索引(也被稱作調(diào)色板索引值)編碼調(diào)色板。視頻解碼器可從經(jīng)編碼位流獲得用于塊的調(diào)色板,以及用于塊的像素的調(diào)色板索引。視頻解碼器可使像素的調(diào)色板索引與調(diào)色板的條目相關(guān)以重建塊的像素值。像素(及/或指示像素值的相關(guān)調(diào)色板索引)大體上可被稱作樣本。
假定:使用水平光柵掃描次序處理(例如,掃描)塊中的樣本。舉例來說,視頻編碼器可通過使用水平光柵掃描次序掃描調(diào)色板索引而將調(diào)色板索引的二維塊轉(zhuǎn)換成一維陣列。同樣,視頻解碼器可使用水平光柵掃描次序重建調(diào)色板索引的塊。因此,本發(fā)明可將先前樣本稱作按掃描次序在塊中當(dāng)前經(jīng)譯碼的樣本之前的樣本。應(yīng)了解,除水平光柵掃描以外的掃描(例如,垂直光柵掃描次序)也可為可適用的。以上實(shí)例意欲提供基于調(diào)色板的譯碼的一般描述。
調(diào)色板通常包含通過索引編號且表示色彩分量(例如,RGB、YUV或其類似者)值或強(qiáng)度的條目。視頻編碼器及視頻解碼器兩者確定調(diào)色板條目的數(shù)目、用于每一調(diào)色板條目的色彩分量值,及用于當(dāng)前塊的調(diào)色板條目的確切排序。在本發(fā)明中,假定:每一調(diào)色板條目指定樣本的所有色彩分量的值。然而,本發(fā)明的概念可適用于針對每一色彩分量使用單獨(dú)調(diào)色板。
在一些實(shí)例中,調(diào)色板可使用來自先前經(jīng)譯碼塊的信息構(gòu)成。即,調(diào)色板可含有從用以譯碼先前塊的調(diào)色板預(yù)測的經(jīng)預(yù)測的調(diào)色板條目。舉例來說,如維普等人的“AHG10:用于基于RExt6.0的調(diào)色板譯碼的推薦軟件(AHG10:Suggested Software for Palette Coding based on RExt6.0)”(JCTVC-Q0094,西班牙瓦倫西亞市,2014年3月27日到4月4日)(在下文中為JCTVC-Q0094)的標(biāo)準(zhǔn)提交文件中所描述,調(diào)色板可包含從預(yù)測符調(diào)色板復(fù)制的條目。預(yù)測符調(diào)色板可包含來自先前使用調(diào)色板模式譯碼的塊或來自其它經(jīng)重建的樣本的調(diào)色板條目。對于預(yù)測符調(diào)色板中的每一條目,可譯碼二進(jìn)制旗標(biāo)以指示是否將與旗標(biāo)相關(guān)聯(lián)的條目復(fù)制到當(dāng)前調(diào)色板(例如,通過旗標(biāo)=1指示)。二進(jìn)制旗標(biāo)的字串可被稱作二進(jìn)制調(diào)色板預(yù)測向量。用于譯碼當(dāng)前塊的調(diào)色板也可包含數(shù)個(gè)新調(diào)色板條目,所述新調(diào)色板條目可經(jīng)明確地譯碼(例如,與調(diào)色板預(yù)測向量分離)。也可譯碼關(guān)于新條目的數(shù)目的指示。經(jīng)預(yù)測的條目及新條目的總和可指示用于塊的總調(diào)色板大小。
如所提議的JCTVC-Q0094,通過基于調(diào)色板的譯碼模式譯碼的塊中的每一樣本可使用如下文所闡述的三種調(diào)色板模式中的一者來譯碼:
●逃脫模式:在此模式中,樣本值并不作為調(diào)色板條目而包含到調(diào)色板中,且對于所有色彩分量,明確地用信號通知經(jīng)量化的樣本值。所述情形類似于新調(diào)色板條目的信號通知,但對于新調(diào)色板條目,并不將色彩分量值量化。
●CopyFromTop模式(也被稱作CopyAbove模式):在此模式中,從位于塊中的正上方處的樣本復(fù)制用于當(dāng)前樣本的調(diào)色板條目索引。
●值模式(也被稱作索引模式):在此模式中,明確地用信號通知調(diào)色板條目索引的值。
如本文所描述,調(diào)色板條目索引可被稱作調(diào)色板索引或簡稱為索引。這些術(shù)語可互換地使用以描述本發(fā)明的技術(shù)。另外,如下文更詳細(xì)描述,調(diào)色板索引可具有一或多個(gè)相關(guān)聯(lián)的色彩或強(qiáng)度值。舉例來說,調(diào)色板索引可具有與像素的單一色彩或強(qiáng)度分量(例如,RGB數(shù)據(jù)的紅色分量、YUV數(shù)據(jù)的Y分量,或其類似者)相關(guān)聯(lián)的單一相關(guān)聯(lián)的色彩或強(qiáng)度值。在另一實(shí)例中,調(diào)色板索引可具有多個(gè)相關(guān)聯(lián)的色彩或強(qiáng)度值。在一些情況下,可應(yīng)用基于調(diào)色板的譯碼來譯碼單色視頻。因此,“色彩值”大體上可指用以產(chǎn)生像素值的任何色彩或非彩色分量。
對于CopyFromTop模式及值模式,也可用信號通知行程值(其也可被簡稱作行程)。行程值可指示經(jīng)調(diào)色板譯碼的塊中的在一起譯碼的按特定掃描次序的連續(xù)樣本的數(shù)目(例如,樣本的行程)。在一些情況下,樣本的行程也可被稱作調(diào)色板索引的行程,此是因?yàn)樾谐痰拿恳粯颖揪哂械秸{(diào)色板的相關(guān)聯(lián)的索引。
行程值可指示使用相同的調(diào)色板譯碼模式譯碼的調(diào)色板索引的行程。舉例來說,關(guān)于值模式,視頻譯碼器(視頻編碼器或視頻解碼器)可譯碼調(diào)色板索引(也被稱作調(diào)色板索引值或簡稱為索引值),及指示具有相同的調(diào)色板索引且通過調(diào)色板索引譯碼的按掃描次序的連續(xù)樣本的數(shù)目的行程值。關(guān)于CopyFromTop模式,視頻譯碼器可譯碼關(guān)于基于上方相鄰樣本(例如,定位于塊中當(dāng)前經(jīng)譯碼的樣本上方的樣本)的索引復(fù)制用于當(dāng)前樣本值的索引的指示,及指示還從上方相鄰樣本復(fù)制調(diào)色板索引且通過調(diào)色板索引譯碼的按掃描次序的連續(xù)樣本的數(shù)目的行程值。因此,在上述實(shí)例中,調(diào)色板索引的行程指具有相同值的調(diào)色板索引的行程或從上方相鄰調(diào)色板索引復(fù)制的調(diào)色板索引的行程。
因此,行程可針對給定模式指定屬于相同模式的后續(xù)樣本的數(shù)目。在一些情況下,用信號通知索引及行程值可類似于行程長度譯碼。在實(shí)例中,出于說明的目的,塊的連續(xù)調(diào)色板索引的字串可為0、2、2、2、2、5(例如,其中每一索引對應(yīng)于塊中的樣本)。在此實(shí)例中,視頻譯碼器可使用值模式譯碼第二樣本(例如,第一調(diào)色板索引2)。在譯碼等于2的索引之后,視頻譯碼器可譯碼行程3,所述行程3指示三個(gè)后續(xù)樣本也具有相同的調(diào)色板索引2。以類似方式,在使用CopyFromTop模式譯碼索引之后譯碼四個(gè)調(diào)色板索引的行程可指示:從當(dāng)前經(jīng)譯碼的樣本位置上方的列中的對應(yīng)調(diào)色板索引復(fù)制總共五個(gè)調(diào)色板索引。
本發(fā)明中所描述的所述技術(shù)可包含用于進(jìn)行以下各操作中的一或多者的各種組合的技術(shù):用信號通知基于調(diào)色板的譯碼模式,發(fā)射調(diào)色板,導(dǎo)出調(diào)色板,及發(fā)射基于調(diào)色板的譯碼映射及其它語法元素。在一些實(shí)例中,本發(fā)明的技術(shù)可用以解決與JCTVC-Q0094(以及隨著文獻(xiàn)JCTVC-Q0094而上傳的實(shí)施調(diào)色板模式的參考軟件)中存在的調(diào)色板模式、調(diào)色板索引、行程及調(diào)色板大小的信號通知相關(guān)聯(lián)的可能的冗余。因此,如下文更詳細(xì)描述,在一些情況下,當(dāng)使用調(diào)色板模式譯碼視頻數(shù)據(jù)時(shí),本發(fā)明的技術(shù)可改良效率及改良位速率。
本發(fā)明的某些方面涉及用信號通知基于調(diào)色板的譯碼模式且,詳言之,涉及與用信號通知逃脫樣本相關(guān)聯(lián)的技術(shù)。舉例來說,逃脫樣本(也被稱作逃脫像素)可為塊的并不具有在用于譯碼塊的調(diào)色板中表示的對應(yīng)色彩的樣本(或像素)。因此,可能并不使用來自調(diào)色板的色彩條目(或像素值)來重建逃脫樣本。實(shí)情為,與調(diào)色板的色彩值分離地在位流中用信號通知用于逃脫樣本的色彩值。
如下文更詳細(xì)描述,視頻譯碼器(例如,視頻編碼器及視頻解碼器)可譯碼每一樣本數(shù)據(jù),所述每一樣本數(shù)據(jù)指示經(jīng)調(diào)色板譯碼的塊的樣本是否基于并不包含于用于塊的調(diào)色板中的樣本的色彩而譯碼,例如,使用上文稱作“逃脫模式”的過程。在實(shí)例中,視頻譯碼器可針對每一樣本譯碼旗標(biāo),所述旗標(biāo)指示樣本是否經(jīng)譯碼為逃脫樣本,例如,使用逃脫模式(在本文中被稱作隱含逃脫信號通知)。在另一實(shí)例中,視頻譯碼器可譯碼用于樣本的其它語法(例如,額外調(diào)色板索引,如下文所描述),所述其它語法指示樣本經(jīng)譯碼為逃脫樣本,例如,使用逃脫模式(在本文中被稱作顯式逃脫信號通知)。
根據(jù)本發(fā)明的方面,對于經(jīng)調(diào)色板譯碼的塊,一或多個(gè)語法元素可按塊層級(例如,CU層級或LCU層級)指示塊的任何樣本是否基于并不包含于調(diào)色板中的樣本(例如,經(jīng)譯碼為逃脫樣本)的色彩值而譯碼。所述一或多個(gè)語法元素可被稱作塊層級逃脫語法。舉例來說,塊層級語法可指在譯碼視頻數(shù)據(jù)的塊(例如,CU或LCU)時(shí)譯碼或確定的語法。塊層級語法可包含于標(biāo)頭中或與塊相關(guān)聯(lián)的其它數(shù)據(jù)(例如,在塊之前或之后譯碼的描述塊的特性的數(shù)據(jù))中。與此對比,并非塊層級語法的其它語法可包含于切片標(biāo)頭中或視頻數(shù)據(jù)的個(gè)別像素中。
在實(shí)例中,視頻譯碼器可經(jīng)配置以譯碼及/或確定旗標(biāo)(其可被稱作塊層級逃脫旗標(biāo)),所述旗標(biāo)指示塊的任何樣本是否基于并不包含于調(diào)色板中的色彩值而譯碼。舉例來說,旗標(biāo)值0可指示塊的樣本中無一者是使用逃脫模式譯碼。即,可基于包含于用于譯碼塊的調(diào)色板中的色彩值確定塊的所有樣本的值。旗標(biāo)值1可指示塊的至少一樣本是使用逃脫模式譯碼。即,至少一樣本的值并不包含于用于譯碼塊的調(diào)色板中且可分別地用信號通知。因此,旗標(biāo)可指示:對于視頻數(shù)據(jù)的塊的所有樣本,塊的至少一樣本是否具有并不包含于用于譯碼塊的調(diào)色板中的色彩值。
如下文更詳細(xì)描述,在一些情況下,塊層級逃脫語法可導(dǎo)致位節(jié)省。舉例來說,通過確定整個(gè)塊的任何樣本是否經(jīng)譯碼為逃脫樣本,視頻譯碼器可能能夠跳過與逃脫樣本相關(guān)聯(lián)的某些語法元素的譯碼。即,在語法指示無樣本經(jīng)譯碼為逃脫樣本的情況下,視頻譯碼器可能并不譯碼塊的與逃脫樣本相關(guān)聯(lián)的任何其它語法(例如,例如上文所提及的每一樣本語法)。如下文更詳細(xì)描述,當(dāng)語法基于用于經(jīng)譯碼的塊的調(diào)色板的大小指示塊的至少一樣本經(jīng)譯碼為逃脫樣本時(shí),視頻譯碼器也可跳過某些語法的譯碼。因此,當(dāng)使用基于調(diào)色板的譯碼來譯碼視頻數(shù)據(jù)時(shí),本發(fā)明的技術(shù)可改良位速率及譯碼效率。
本發(fā)明的其它方面涉及譯碼用于調(diào)色板模式的最大調(diào)色板參數(shù)。舉例來說,調(diào)色板的最大調(diào)色板大小通常可為在視頻編碼器及視頻解碼器兩者處定義的靜態(tài)值。同樣地,調(diào)色板預(yù)測符(用于預(yù)測調(diào)色板,如下文更詳細(xì)描述)的最大大小也可為在視頻編碼器及視頻解碼器兩者處定義的靜態(tài)值。因此,這些最大調(diào)色板參數(shù)可能并不改變,而不管經(jīng)譯碼的視頻數(shù)據(jù)的特定特性。
根據(jù)本發(fā)明的方面,視頻譯碼器可經(jīng)配置以譯碼指示最大調(diào)色板大小及/或最大調(diào)色板預(yù)測符大小的數(shù)據(jù)。舉例來說,根據(jù)本發(fā)明的方面,指示最大調(diào)色板大小及/或最大調(diào)色板預(yù)測符大小的數(shù)據(jù)可包含于例如序列參數(shù)集(SPS)的參數(shù)集中。因此,視頻譯碼器可譯碼以下各數(shù)據(jù)中的至少一者:指示用于譯碼視頻數(shù)據(jù)的塊的色彩值的調(diào)色板的最大調(diào)色板大小的數(shù)據(jù),或指示用于確定色彩值的調(diào)色板的調(diào)色板預(yù)測符的最大調(diào)色板預(yù)測符大小的數(shù)據(jù)。
譯碼指示最大調(diào)色板大小及/或最大調(diào)色板預(yù)測符大小的數(shù)據(jù)可提供靈活性,所述情形可改良譯碼效率。舉例來說,所述技術(shù)可允許視頻譯碼器基于經(jīng)譯碼的視頻數(shù)據(jù)的特性(例如,基于數(shù)據(jù)的位深度、塊大小、與數(shù)據(jù)相關(guān)聯(lián)的簡檔或?qū)蛹?,或其類似?而使用具有不同大小的調(diào)色板及調(diào)色板預(yù)測符。因此,可定制最大調(diào)色板參數(shù)以適合經(jīng)譯碼的視頻數(shù)據(jù),以使得可針對可受益于這些參數(shù)的塊定義相對較大的最大調(diào)色板參數(shù)。另外,可針對不大可能受益于相對較大參數(shù)的塊定義相對較小的最大調(diào)色板參數(shù)以降低與建構(gòu)調(diào)色板相關(guān)聯(lián)的復(fù)雜性。
本發(fā)明的其它方面涉及譯碼用于基于調(diào)色板的視頻譯碼的各種語法元素的技術(shù)。舉例來說,本發(fā)明的技術(shù)包含使用考慮經(jīng)譯碼的語法的最大可能值的碼譯碼用于調(diào)色板譯碼的語法,所述語法例如調(diào)色板索引的行程值(也被稱作行程長度值)、調(diào)色板預(yù)測向量或其它調(diào)色板相關(guān)語法。在一些情況下,根據(jù)本發(fā)明的方面,可使用一種形式的指數(shù)哥倫布碼(Exponential Golomb code)譯碼語法,如下文更詳細(xì)描述。在一些情況下,所述技術(shù)可減少表示調(diào)色板相關(guān)語法所需的位的數(shù)目。
圖1為說明可利用本發(fā)明的技術(shù)的實(shí)例視頻譯碼系統(tǒng)10的框圖。如本文所使用,術(shù)語“視頻譯碼器”大體上指視頻編碼器及視頻解碼器兩者。在本發(fā)明中,術(shù)語“視頻譯碼”或“譯碼”一般可指視頻編碼或視頻解碼。視頻譯碼系統(tǒng)10的視頻編碼器20及視頻解碼器30表示可經(jīng)配置以執(zhí)行根據(jù)本發(fā)明中所描述的各種實(shí)例的用于進(jìn)行基于調(diào)色板的視頻譯碼的技術(shù)的裝置的實(shí)例。舉例來說,視頻編碼器20及視頻解碼器30可經(jīng)配置以使用基于調(diào)色板的譯碼或非基于調(diào)色板的譯碼選擇性地譯碼視頻數(shù)據(jù)的各種塊(例如,HEVC譯碼中的CU或PU)。非基于調(diào)色板的譯碼模式可指各種幀間預(yù)測性時(shí)間譯碼模式或幀內(nèi)預(yù)測性空間譯碼模式,例如通過HEVC草案10指定的各種譯碼模式。
如圖1中所展示,視頻譯碼系統(tǒng)10包含源裝置12及目的地裝置14。源裝置12產(chǎn)生經(jīng)編碼視頻數(shù)據(jù)。因此,源裝置12可被稱作視頻編碼裝置或視頻編碼設(shè)備。目的地裝置14可解碼由源裝置12產(chǎn)生的經(jīng)編碼視頻數(shù)據(jù)。因此,目的地裝置14可被稱作視頻解碼裝置或視頻解碼設(shè)備。源裝置12及目的地裝置14可為視頻譯碼裝置或視頻譯碼設(shè)備的實(shí)例。
源裝置12及目的地裝置14可包括廣泛范圍的裝置,包含臺(tái)式計(jì)算機(jī)、移動(dòng)計(jì)算裝置、筆記型(例如,便攜式)計(jì)算機(jī)、平板計(jì)算機(jī)、機(jī)頂盒、例如所謂的“智能”電話的電話手機(jī)、電視機(jī)、攝像機(jī)、顯示裝置、數(shù)字媒體播放器、視頻游戲控制臺(tái)、車載計(jì)算機(jī)或其類似者。
目的地裝置14可經(jīng)由信道16從源裝置12接收經(jīng)編碼視頻數(shù)據(jù)。信道16可包括能夠?qū)⒔?jīng)編碼視頻數(shù)據(jù)從源裝置12移動(dòng)到目的地裝置14的一或多個(gè)媒體或裝置。在實(shí)例中,信道16可包括使源裝置12能夠?qū)崟r(shí)地將經(jīng)編碼視頻數(shù)據(jù)直接發(fā)射到目的地裝置14的一或多個(gè)通信媒體。在此實(shí)例中,源裝置12可根據(jù)通信標(biāo)準(zhǔn)(例如,無線通信協(xié)議)調(diào)制經(jīng)編碼視頻數(shù)據(jù),且可將經(jīng)調(diào)制視頻數(shù)據(jù)發(fā)射到目的地裝置14。一或多個(gè)通信媒體可包含無線及/或有線通信媒體,例如射頻(RF)頻譜或一或多個(gè)物理發(fā)射線。一或多個(gè)通信媒體可形成基于包的網(wǎng)絡(luò)例如局域網(wǎng)、廣域網(wǎng)或全球網(wǎng)絡(luò)(例如,因特網(wǎng))的部分。一或多個(gè)通信媒體可包含路由器、交換器、基站,或促進(jìn)從源裝置12到目的地裝置14的通信的其它設(shè)備。
在另一實(shí)例中,信道16可包含存儲(chǔ)由源裝置12產(chǎn)生的經(jīng)編碼視頻數(shù)據(jù)的存儲(chǔ)媒體。在此實(shí)例中,目的地裝置14可例如經(jīng)由磁盤存取或卡存取來存取存儲(chǔ)媒體。存儲(chǔ)媒體可包含多種本地存取的數(shù)據(jù)存儲(chǔ)媒體,例如藍(lán)光光盤、DVD、CD-ROM、閃存存儲(chǔ)器,或用于存儲(chǔ)經(jīng)編碼視頻數(shù)據(jù)的其它合適的數(shù)字存儲(chǔ)媒體。
在另一實(shí)例中,信道16可包含存儲(chǔ)由源裝置12產(chǎn)生的經(jīng)編碼視頻數(shù)據(jù)的文件服務(wù)器或另一中間存儲(chǔ)裝置。在此實(shí)例中,目的地裝置14可經(jīng)由流發(fā)射或下載來存取存儲(chǔ)于文件服務(wù)器或另一中間存儲(chǔ)裝置處的經(jīng)編碼視頻數(shù)據(jù)。文件服務(wù)器可為能夠存儲(chǔ)經(jīng)編碼視頻數(shù)據(jù)并將經(jīng)編碼視頻數(shù)據(jù)發(fā)射到目的地裝置14的類型的服務(wù)器。實(shí)例文件服務(wù)器包含web服務(wù)器(例如,用于網(wǎng)站)、文件傳送協(xié)議(FTP)服務(wù)器、網(wǎng)絡(luò)附加存儲(chǔ)(NAS)裝置及本地磁盤機(jī)。
目的地裝置14可經(jīng)由標(biāo)準(zhǔn)數(shù)據(jù)連接(例如,因特網(wǎng)連接)來存取經(jīng)編碼視頻數(shù)據(jù)。數(shù)據(jù)連接的實(shí)例類型可包含適合于存取存儲(chǔ)于文件服務(wù)器上的經(jīng)編碼視頻數(shù)據(jù)的無線信道(例如,Wi-Fi連接)、有線連接(例如,DSL、電纜調(diào)制解調(diào)器等)或兩者的組合。經(jīng)編碼視頻數(shù)據(jù)從文件服務(wù)器的發(fā)射可為流發(fā)射、下載發(fā)射或兩者的組合。
本發(fā)明的技術(shù)不限于無線應(yīng)用或設(shè)定。所述技術(shù)可應(yīng)用于支持多種多媒體應(yīng)用的視頻譯碼,例如空中電視廣播、有線電視發(fā)射、衛(wèi)星電視發(fā)射、流視頻發(fā)射(例如,經(jīng)由因特網(wǎng))、編碼存儲(chǔ)于數(shù)據(jù)存儲(chǔ)媒體上的視頻數(shù)據(jù)、解碼存儲(chǔ)于數(shù)據(jù)存儲(chǔ)媒體上的視頻數(shù)據(jù),或其它應(yīng)用。在一些實(shí)例中,視頻譯碼系統(tǒng)10可經(jīng)配置以支持單向或雙向視頻發(fā)射以支持例如視頻流、視頻播放、視頻廣播及/或視頻電話的應(yīng)用。
圖1中所說明的視頻譯碼系統(tǒng)10僅為實(shí)例,且本發(fā)明的技術(shù)可適用于未必包含編碼裝置與解碼裝置之間的任何數(shù)據(jù)通信的視頻譯碼設(shè)定(例如,視頻編碼或視頻解碼)。在其它實(shí)例中,數(shù)據(jù)是從本地存儲(chǔ)器擷取、經(jīng)由網(wǎng)絡(luò)流發(fā)射或經(jīng)過類似處理。視頻編碼裝置可編碼數(shù)據(jù)并將數(shù)據(jù)存儲(chǔ)到存儲(chǔ)器,及/或視頻解碼裝置可從存儲(chǔ)器擷取數(shù)據(jù)并解碼數(shù)據(jù)。在許多實(shí)例中,通過彼此并不通信但簡單地將數(shù)據(jù)編碼到存儲(chǔ)器及/或從存儲(chǔ)器擷取數(shù)據(jù)并解碼數(shù)據(jù)的裝置來執(zhí)行編碼及解碼。
在圖1的實(shí)例中,源裝置12包含視頻源18、視頻編碼器20及輸出接口22。在一些實(shí)例中,輸出接口22可包含調(diào)制器/解調(diào)器(調(diào)制解調(diào)器)及/或發(fā)射器。視頻源18可包含例如視頻攝像機(jī)的視頻俘獲裝置、含有先前所俘獲的視頻數(shù)據(jù)的視頻存檔、用以從視頻內(nèi)容提供者接收視頻數(shù)據(jù)的視頻饋入接口,及/或用于產(chǎn)生視頻數(shù)據(jù)的計(jì)算機(jī)圖形系統(tǒng),或視頻數(shù)據(jù)的這些源的組合。
視頻編碼器20可編碼來自視頻源18的視頻數(shù)據(jù)。在一些實(shí)例中,源裝置12經(jīng)由輸出接口22將經(jīng)編碼視頻數(shù)據(jù)直接發(fā)射到目的地裝置14。在其它實(shí)例中,經(jīng)編碼視頻數(shù)據(jù)也可存儲(chǔ)到存儲(chǔ)媒體上或文件服務(wù)器上,以供目的地裝置14稍后存取以用于解碼及/或播放。
在圖1的實(shí)例中,目的地裝置14包含輸入接口28、視頻解碼器30及顯示裝置32。在一些實(shí)例中,輸入接口28包含接收器及/或調(diào)制解調(diào)器。輸入接口28可經(jīng)由信道16來接收經(jīng)編碼視頻數(shù)據(jù)。顯示裝置32可與目的地裝置14集成或可在目的地裝置14外部。大體來說,顯示裝置32顯示經(jīng)解碼視頻數(shù)據(jù)。顯示裝置32可包括多種顯示裝置,例如液晶顯示器(LCD)、等離子顯示器、有機(jī)發(fā)光二極管(OLED)顯示器或另一類型的顯示裝置。
視頻編碼器20及視頻解碼器30各自可實(shí)施為多種合適電路系統(tǒng)中的任一者,例如一或多個(gè)微處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、離散邏輯、硬件或其任何組合。如果部分地以軟件來實(shí)施技術(shù),則裝置可將用于軟件的指令存儲(chǔ)于合適的非暫時(shí)性計(jì)算機(jī)可讀存儲(chǔ)媒體中,且可在硬件中使用一或多個(gè)處理器來執(zhí)行所述指令以執(zhí)行本發(fā)明的技術(shù)??蓪⑶笆龈髡?包含硬件、軟件、硬件與軟件的組合等)中的任一者視為一或多個(gè)處理器。視頻編碼器20及視頻解碼器30中的每一者可包含于一或多個(gè)編碼器或解碼器中,編碼器或解碼器中的任一者可集成為相應(yīng)裝置中的組合式編碼器/解碼器(編碼解碼器(CODEC))的部分。
本發(fā)明大體上可指視頻編碼器20將某一信息“用信號通知”或“發(fā)射”到另一裝置,例如視頻解碼器30。術(shù)語“用信號通知”或“發(fā)射”大體上可指用以解碼經(jīng)壓縮視頻數(shù)據(jù)的語法元素及/或其它數(shù)據(jù)的傳達(dá)。此傳達(dá)可實(shí)時(shí)地或近實(shí)時(shí)地發(fā)生。替代地,此傳達(dá)可在時(shí)間跨度內(nèi)發(fā)生,例如此傳達(dá)可能在當(dāng)編碼時(shí)在經(jīng)編碼位流中將語法元素存儲(chǔ)到計(jì)算機(jī)可讀存儲(chǔ)媒體時(shí)發(fā)生,接著,在存儲(chǔ)到此媒體之后可由解碼裝置在任何時(shí)間擷取所述語法元素。
在一些實(shí)例中,視頻編碼器20及視頻解碼器30根據(jù)視頻壓縮標(biāo)準(zhǔn)操作,視頻壓縮標(biāo)準(zhǔn)例如上文所提及的且描述于HEVC草案10中的HEVC標(biāo)準(zhǔn)。除基本HEVC標(biāo)準(zhǔn)之外,也存在持續(xù)努力以產(chǎn)生用于HEVC的可調(diào)式視頻譯碼、多視圖視頻譯碼及3D譯碼擴(kuò)展。另外,可提供(例如)如本發(fā)明中所描述的基于調(diào)色板的譯碼模式以用于擴(kuò)展HEVC標(biāo)準(zhǔn)。在一些實(shí)例中,本發(fā)明中針對基于調(diào)色板的譯碼而描述的技術(shù)可應(yīng)用于經(jīng)配置以根據(jù)其它視頻譯碼標(biāo)準(zhǔn)(例如,ITU-T-H.264/AVC標(biāo)準(zhǔn)或未來標(biāo)準(zhǔn))操作的編碼器及解碼器。因此,HEVC編碼解碼器中用于譯碼單元(CU)或預(yù)測單元(PU)的譯碼的基于調(diào)色板的譯碼模式的應(yīng)用是為了實(shí)例的目的而描述。
在HEVC及其它視頻譯碼標(biāo)準(zhǔn)中,視頻序列通常包含一系列圖片。圖片也可被稱作“幀”。圖片可包含三個(gè)樣本陣列,表示為SL、SCb及SCr。SL為明度樣本的二維陣列(即,塊)。SCb為Cb色度樣本的二維陣列。SCr為Cr色度樣本的二維陣列。色度(Chrominance)樣本在本文中也可被稱作“色度(chroma)”樣本。在其它情況下,圖片可為單色的,且可僅包含明度樣本陣列。
為了產(chǎn)生圖片的經(jīng)編碼表示,視頻編碼器20可產(chǎn)生一組譯碼樹型單元(CTU)。CTU中的每一者可為明度樣本的譯碼樹型塊、色度樣本的兩個(gè)對應(yīng)譯碼樹型塊,及用以譯碼譯碼樹型塊的樣本的語法結(jié)構(gòu)。譯碼樹型塊可為樣本的N×N塊。CTU也可被稱作“樹型塊”或“最大譯碼單元”(LCU)。HEVC的CTU可廣泛地類似于例如H.264/AVC的其它標(biāo)準(zhǔn)的宏塊。然而,CTU未必限于特定大小且可包含一或多個(gè)譯碼單元(CU)。切片可包含在光柵掃描中連續(xù)排序的整數(shù)數(shù)目個(gè)CTU。
為了產(chǎn)生經(jīng)譯碼CTU,視頻編碼器20可對CTU的譯碼樹型塊遞回地執(zhí)行四分樹分割,以將譯碼樹型塊劃分成譯碼塊,因此命名為“譯碼樹型單元”。譯碼塊為樣本的N×N塊。CU可為具有明度樣本陣列、Cb樣本陣列及Cr樣本陣列的圖片的明度樣本的譯碼塊及色度樣本的兩個(gè)對應(yīng)譯碼塊,及用以譯碼所述譯碼塊的樣本的語法結(jié)構(gòu)。視頻編碼器20可將CU的譯碼塊分割成一或多個(gè)預(yù)測塊。預(yù)測塊可為供應(yīng)用相同預(yù)測的樣本的矩形(即,正方形或非正方形)塊。CU的預(yù)測單元(PU)可為圖片的明度樣本的預(yù)測塊、圖片的色度樣本的兩個(gè)對應(yīng)預(yù)測塊,及用以對預(yù)測塊樣本進(jìn)行預(yù)測的語法結(jié)構(gòu)。視頻編碼器20可產(chǎn)生CU的每一PU的明度、Cb及Cr預(yù)測塊的預(yù)測性明度、Cb及Cr塊。
視頻編碼器20可使用幀內(nèi)預(yù)測或幀間預(yù)測來產(chǎn)生PU的預(yù)測性塊。如果視頻編碼器20使用幀內(nèi)預(yù)測產(chǎn)生PU的預(yù)測性塊,則視頻編碼器20可基于與PU相關(guān)聯(lián)的圖片的經(jīng)解碼樣本產(chǎn)生PU的預(yù)測性塊。
如果視頻編碼器20使用幀間預(yù)測產(chǎn)生PU的預(yù)測性塊,則視頻編碼器20可基于除與PU相關(guān)聯(lián)的圖片以外的一或多個(gè)圖片的經(jīng)解碼樣本產(chǎn)生PU的預(yù)測性塊。視頻編碼器20可使用單向預(yù)測或雙向預(yù)測來產(chǎn)生PU的預(yù)測性塊。當(dāng)視頻編碼器20使用單向預(yù)測來產(chǎn)生PU的預(yù)測性塊時(shí),PU可具有單一運(yùn)動(dòng)向量(MV)。當(dāng)視頻編碼器20使用雙向預(yù)測來產(chǎn)生PU的預(yù)測性塊時(shí),PU可具有兩個(gè)MV。
在視頻編碼器20產(chǎn)生CU的一或多個(gè)PU的預(yù)測性明度塊、Cb塊及Cr塊之后,視頻編碼器20可產(chǎn)生CU的明度殘余塊。CU的明度殘余塊中的每一樣本指示CU的預(yù)測性明度塊中的一者中的明度樣本與CU的原始明度譯碼塊中的對應(yīng)樣本之間的差異。另外,視頻編碼器20可產(chǎn)生CU的Cb殘余塊。CU的Cb殘余塊中的每一樣本可指示CU的預(yù)測性Cb塊中的一者中的Cb樣本與CU的原始Cb譯碼塊中的對應(yīng)樣本之間的差異。視頻編碼器20也可產(chǎn)生CU的Cr殘余塊。CU的Cr殘余塊中的每一樣本可指示CU的預(yù)測性Cr塊中的一者中的Cr樣本與CU的原始Cr譯碼塊中的對應(yīng)樣本之間的差異。
此外,視頻編碼器20可使用四分樹分割以將CU的明度殘余塊、Cb殘余塊及Cr殘余塊分解成一或多個(gè)明度變換塊、Cb變換塊及Cr變換塊。變換塊可為供應(yīng)用相同變換的樣本的矩形塊。CU的變換單元(TU)可為明度樣本的變換塊、色度樣本的兩個(gè)對應(yīng)變換塊,及用以對變換塊樣本進(jìn)行變換的語法結(jié)構(gòu)。因此,CU的每一TU可與明度變換塊、Cb變換塊及Cr變換塊相關(guān)聯(lián)。與TU相關(guān)聯(lián)的明度變換塊可為CU的明度殘余塊的子塊。Cb變換塊可為CU的Cb殘余塊的子塊。Cr變換塊可為CU的Cr殘余塊的子塊。
視頻編碼器20可將一或多個(gè)變換應(yīng)用于TU的明度變換塊,以產(chǎn)生TU的明度系數(shù)塊。系數(shù)塊可為變換系數(shù)的二維陣列。變換系數(shù)可為標(biāo)量。視頻編碼器20可將一或多個(gè)變換應(yīng)用于TU的Cb變換塊以產(chǎn)生TU的Cb系數(shù)塊。視頻編碼器20可將一或多個(gè)變換應(yīng)用于TU的Cr變換塊,以產(chǎn)生TU的Cr系數(shù)塊。
在產(chǎn)生系數(shù)塊(例如,明度系數(shù)塊、Cb系數(shù)塊或Cr系數(shù)塊)之后,視頻編碼器20可將系數(shù)塊量化。量化大體上指將變換系數(shù)量化以可能地減少用以表示變換系數(shù)的數(shù)據(jù)的量從而提供進(jìn)一步壓縮的過程。在視頻編碼器20將系數(shù)塊量化之后,視頻編碼器20可熵編碼指示經(jīng)量化的變換系數(shù)的語法元素。舉例來說,視頻編碼器20可對指示經(jīng)量化的變換系數(shù)的語法元素執(zhí)行上下文自適應(yīng)性二進(jìn)制算術(shù)譯碼(CABAC)。視頻編碼器20可在位流中輸出經(jīng)熵編碼的語法元素。
視頻編碼器20可輸出包含經(jīng)熵編碼的語法元素的位流。所述位流可包含形成經(jīng)譯碼圖片及相關(guān)聯(lián)數(shù)據(jù)的表示的序列位。位流可包括序列網(wǎng)絡(luò)抽象層(NAL)單元。NAL單元中的每一者包含NAL單元標(biāo)頭,且囊封原始位組序列有效負(fù)載(RBSP)。NAL單元標(biāo)頭可包含指示NAL單元類型碼的語法元素。通過NAL單元的NAL單元標(biāo)頭指定的NAL單元類型碼指示NAL單元的類型。RBSP可為含有囊封于NAL單元內(nèi)的整數(shù)數(shù)目個(gè)位組的語法結(jié)構(gòu)。在一些情況下,RBSP包含零個(gè)位。
不同類型的NAL單元可囊封不同類型的RBSP。舉例來說,第一種類型的NAL單元可囊封用于圖片參數(shù)集(PPS)的RBSP,第二種類型的NAL單元可囊封用于經(jīng)譯碼切片的RBSP,第三種類型的NAL單元可囊封用于SEI的RBSP,等等。囊封用于視頻譯碼數(shù)據(jù)的RBSP(與用于參數(shù)集及SEI消息的RBSP形成對比)的NAL單元可被稱作視頻譯碼層(VCL)NAL單元。
視頻解碼器30可接收由視頻編碼器20產(chǎn)生的位流。另外,視頻解碼器30可剖析位流以從位流解碼語法元素。視頻解碼器30可至少部分基于從位流解碼的語法元素重建視頻數(shù)據(jù)的圖片。用以重建視頻數(shù)據(jù)的過程大體上可與由視頻編碼器20執(zhí)行的過程互逆。舉例來說,視頻解碼器30可使用PU的MV來確定當(dāng)前CU的PU的預(yù)測性塊。另外,視頻解碼器30可將與當(dāng)前CU的TU相關(guān)聯(lián)的變換系數(shù)塊反量化。視頻解碼器30可對變換系數(shù)塊執(zhí)行反變換以重建與當(dāng)前CU的TU相關(guān)聯(lián)的變換塊。視頻解碼器30可通過將當(dāng)前CU的PU的預(yù)測性塊的樣本添加到當(dāng)前CU的TU的變換塊的對應(yīng)樣本來重建當(dāng)前CU的譯碼塊。通過重建圖片的每一CU的譯碼塊,視頻解碼器30可重建圖片。
在一些實(shí)例中,視頻編碼器20及視頻解碼器30可經(jīng)配置以執(zhí)行基于調(diào)色板的譯碼。舉例來說,在基于調(diào)色板的譯碼中,并非執(zhí)行上文所描述的幀內(nèi)預(yù)測性譯碼技術(shù)或幀間預(yù)測性譯碼技術(shù),而是視頻編碼器20及視頻解碼器30可將所謂的調(diào)色板譯碼為用于表示特定區(qū)域(例如,給定塊)的視頻數(shù)據(jù)的色彩的表格。每一像素可與調(diào)色板中表示像素的色彩的條目相關(guān)聯(lián)。舉例來說,視頻編碼器20及視頻解碼器30可譯碼使像素值與調(diào)色板中的適當(dāng)值相關(guān)的索引。
在上述實(shí)例中,視頻編碼器20可通過以下操作編碼視頻數(shù)據(jù)的塊:確定用于塊的調(diào)色板,定位調(diào)色板中的條目以表示每一像素的值,及通過像素的使像素值與調(diào)色板相關(guān)的調(diào)色板索引編碼調(diào)色板。視頻解碼器30可從經(jīng)編碼位流獲得用于塊的調(diào)色板,以及用于塊的像素的調(diào)色板索引。視頻解碼器30可使像素的調(diào)色板索引與調(diào)色板的條目相關(guān)以重建塊的像素值。
如上文所提及,視頻編碼器20及視頻解碼器30可使用數(shù)種不同的調(diào)色板譯碼模式來譯碼調(diào)色板的調(diào)色板索引。舉例來說,視頻編碼器20及視頻解碼器30可使用逃脫模式、CopyFromTop模式(也被稱作CopyAbove模式)或值模式(也被稱作索引模式)來譯碼塊的調(diào)色板索引。大體來說,使用“逃脫模式”譯碼樣本大體來說可指譯碼并不具有在用于譯碼塊的調(diào)色板中表示的對應(yīng)色彩的塊的樣本。如上文所提及,這些樣本可被稱作逃脫樣本或逃脫像素。
另一實(shí)例調(diào)色板譯碼模式描述于第三屏幕內(nèi)容譯碼核心實(shí)驗(yàn)分測驗(yàn)B.6中,如黃育文(Yu-Wen Huang)等人的“屏幕內(nèi)容核心實(shí)驗(yàn)3(SCCE3)的描述:調(diào)色板模式(Description of Screen Content Core Experiment 3(SCCE3):Palette Mode)”(JCTVC-Q1123,西班牙瓦倫西亞市,2014年3月27日到4月4日)(下文為Q1123)中所描述,另一模式引入到由卡農(nóng)(Canon)于2014年5月26日發(fā)布的軟件中。用于此模式的宏為“CANON_NEW_RUN_LAST_TRANSITION”且在本文中可被稱作轉(zhuǎn)變行程模式。轉(zhuǎn)變行程可類似于值模式在于:視頻編碼器20或視頻解碼器30可譯碼索引值,后接續(xù)譯碼指定具有相同的調(diào)色板索引的后續(xù)樣本的數(shù)目的行程。
值模式與轉(zhuǎn)變行程模式之間的差異在于:并不在位流中用信號通知轉(zhuǎn)變行程模式的調(diào)色板索引。確切來說,視頻編碼器20及視頻解碼器30可推斷調(diào)色板索引。如本文所描述,推斷值可指在不參考在位流中譯碼的表示值的專用語法的情況下確定值。即,視頻編碼器20及視頻解碼器30可推斷值,而不在位流中譯碼用于值的專用語法元素。所推斷的索引可被稱作轉(zhuǎn)變索引。
在一些實(shí)例中,可能存在用信號通知調(diào)色板模式的兩種方式。用于用信號通知調(diào)色板模式的第一種技術(shù)可被稱作顯式逃脫信號通知。舉例來說,在JCTVC-Q0094中,如果宏“PLT_REMOVE_ESCAPE_FLAG”為0,則視頻編碼器20可明確地編碼用于塊的每一樣本的逃脫旗標(biāo)以指示塊中經(jīng)譯碼的樣本是否在逃脫模式中經(jīng)譯碼。如果并非通過逃脫模式譯碼樣本,則視頻編碼器20可編碼額外數(shù)據(jù)以指示模式為CopyFromTop模式抑或值模式。在一些情況下,額外數(shù)據(jù)可為旗標(biāo),其在本文中被稱作SPoint旗標(biāo)(例如,SPoint旗標(biāo)值0可指示CopyFromTop模式且SPoint旗標(biāo)值1可指示值模式,或SPoint旗標(biāo)值1可指示CopyFromTop模式且SPoint旗標(biāo)值0可指示值模式)。
因此,通過顯式逃脫信號通知,SPoint旗標(biāo)可用以指示用于與所指示的模式相關(guān)聯(lián)的像素值的行程的特定行程類型。舉例來說,視頻編碼器20可編碼SPoint旗標(biāo)以指示當(dāng)前經(jīng)譯碼的索引及行程中經(jīng)譯碼的后續(xù)調(diào)色板索引的行程是使用CopyFromTop模式抑或值模式來譯碼。視頻編碼器20并不編碼用于后續(xù)行程樣本的逃脫旗標(biāo)(例如,“PLT_REMOVE_ESCAPE_FLAG”)及SPoint旗標(biāo)(在必要時(shí))。即,視頻編碼器20及視頻解碼器30可推斷用于行程中所包含的樣本的逃脫旗標(biāo)及SPoint旗標(biāo)的值。舉例來說,視頻編碼器20及視頻解碼器30可在不參考位流中表示這些值的專用語法的情況下確定用于行程中所包含的樣本的逃脫旗標(biāo)及SPoint旗標(biāo)的值。
用于用信號通知調(diào)色板模式的第二種技術(shù)可被稱作隱含逃脫信號通知。舉例來說,如果來自JCTVC-Q0094的宏“PLT_REMOVE_ESCAPE_FLAG”為1,則視頻編碼器20及視頻解碼器30可經(jīng)配置以將調(diào)色板的調(diào)色板條目的數(shù)目增加一,以適應(yīng)并不對應(yīng)于任何調(diào)色板條目的到調(diào)色板的特殊索引。在一些實(shí)例中,視頻編碼器20及視頻解碼器30可包含額外索引作為用于給定塊的增加的調(diào)色板中的最后的調(diào)色板索引。額外索引可用作關(guān)于逃脫模式的指示。
當(dāng)執(zhí)行隱含逃脫信號通知時(shí),視頻編碼器20可針對塊的特定樣本值編碼表示額外索引的數(shù)據(jù)以指示額外樣本經(jīng)譯碼為逃脫樣本(例如,并不具有在用于譯碼塊的調(diào)色板中表示的色彩值的樣本)。視頻編碼器20也可編碼逃脫樣本的色彩值。因此,在隱含逃脫信號通知的狀況下,僅存在待使用顯式語法用信號通知的兩種可能的模式(例如,CopyFromTop模式或值模式(也被稱作索引模式))。舉例來說,可僅用信號通知SPoint旗標(biāo)以區(qū)別所述模式。如果樣本是在值模式中譯碼且用于值模式的索引等于逃脫索引(例如,上文所提及的到調(diào)色板的額外索引),則視頻編碼器20及視頻解碼器30可推斷樣本經(jīng)譯碼為逃脫樣本。在此狀況下,并不用信號通知行程。當(dāng)在轉(zhuǎn)變行程模式情況下使用隱含逃脫信號通知時(shí),SPoint旗標(biāo)可采用值0(例如,值模式)、1(例如,CopyFromTop模式)或2(例如,轉(zhuǎn)變行程模式)。
本發(fā)明中所描述的所述技術(shù)可包含用于進(jìn)行以下各操作中的一或多者的各種組合的技術(shù):用信號通知基于調(diào)色板的譯碼模式,發(fā)射調(diào)色板,導(dǎo)出調(diào)色板,及發(fā)射基于調(diào)色板的譯碼映射及其它語法元素。在一些實(shí)例中,本發(fā)明的技術(shù)可用以解決與JCTVC-Q0094(以及隨著文獻(xiàn)JCTVC-Q0094而上傳的實(shí)施調(diào)色板模式的參考軟件)中存在的調(diào)色板模式、調(diào)色板索引、行程及調(diào)色板大小的信號通知相關(guān)聯(lián)的可能的冗余。
在JCTVC-Q0094中所描述的與所述技術(shù)相關(guān)聯(lián)的軟件中,已經(jīng)考慮并移除某些信號通知冗余。舉例來說,在JCTVC-Q0094中,并不針對塊的第一列中的樣本用信號通知SPoint旗標(biāo),此是因?yàn)橥ㄟ^調(diào)色板模式譯碼的塊通常不可能使用來自上方相鄰塊的經(jīng)重建的樣本來預(yù)測當(dāng)前塊。上方相鄰塊大體上可指與塊相鄰且定位于塊上方的塊。類似地,如果用于在當(dāng)前經(jīng)譯碼的樣本之前的樣本的模式為CopyFromTop,則用于當(dāng)前像素的模式不可能為CopyFromTop。
然而,本發(fā)明辨識(shí)其它信號通知冗余及/或低效率,可完全地或選擇性地移除所述其它信號通知冗余及/或低效率。如下文更詳細(xì)描述,所述技術(shù)改良視頻譯碼位速率效率,而實(shí)質(zhì)上并不引起失真。作為實(shí)例,如果當(dāng)前樣本的正上方的樣本為逃脫樣本,則視頻編碼器20及視頻解碼器30可經(jīng)配置從而并不使用CopyFromTop模式譯碼當(dāng)前樣本。在此狀況下,視頻編碼器20可能并不用信號通知用于樣本的SPoint,且視頻編碼器20及視頻解碼器30可推斷SPoint旗標(biāo)等于值模式(在需要時(shí))。
在另一實(shí)例中,根據(jù)本發(fā)明的技術(shù),如果先前樣本與塊中的當(dāng)前樣本的正上方的樣本都非逃脫樣本且先前樣本及上方樣本具有相同的調(diào)色板索引,則視頻編碼器20及視頻解碼器30經(jīng)配置從而并不使用CopyFromTop模式譯碼當(dāng)前樣本。此是因?yàn)椋簩τ贑opyFromTop模式,當(dāng)前樣本的索引將與先前樣本的索引相同。如果用于先前樣本的模式為值模式,則將與值模式相關(guān)聯(lián)的行程擴(kuò)展一以合并當(dāng)前樣本。另一方面,如果用于先前樣本的模式為CopyFromTop,則視頻編碼器20及視頻解碼器30可經(jīng)配置從而并不使用CopyFromTop模式譯碼當(dāng)前樣本,如上文所提及。因此,在此狀況下,視頻編碼器20可能并不用信號通知用于當(dāng)前樣本的SPoint旗標(biāo),且視頻編碼器20及視頻解碼器30可推斷SPoint旗標(biāo)等于值模式(在需要時(shí))。
在另一實(shí)例中,根據(jù)本發(fā)明的技術(shù),如果先前行程大于或等于經(jīng)譯碼的塊的寬度減去一所得值,則視頻編碼器20及視頻解碼器30可經(jīng)配置從而并不使用CopyFromTop模式譯碼當(dāng)前樣本。由于CopyFromTop模式可能并不會(huì)接續(xù)CopyFromTop模式,如上文所描述,因此視頻編碼器20及視頻解碼器30可推斷:如果與先前樣本相關(guān)聯(lián)的模式是使用CopyFromTop模式譯碼,則來自當(dāng)前樣本的模式可能并不使用CopyFromTop模式譯碼。如果先前行程是使用值模式譯碼且先前行程大于或等于塊的寬度減去一所得值,則視頻編碼器20及視頻解碼器30可經(jīng)配置以確定:用于先前樣本及當(dāng)前樣本的正上方的樣本的調(diào)色板索引相同(以類似于上文所描述的實(shí)例的方式)。在此狀況下,如果當(dāng)前樣本可能并不具有相同索引,則使得CopyFromTop模式成為不可能。因此,在此狀況下,視頻編碼器20可能并不用信號通知用于當(dāng)前樣本的SPoint旗標(biāo),且視頻編碼器20及視頻解碼器30可推斷SPoint旗標(biāo)等于值模式(在需要時(shí))。
在另一實(shí)例中,根據(jù)本發(fā)明的方面,如果在使用顯式逃脫信號通知時(shí),對于經(jīng)譯碼的塊來說,調(diào)色板大小為一,則視頻編碼器20及視頻解碼器30可經(jīng)配置從而并不譯碼某些調(diào)色板索引,例如描述于以下各美國臨時(shí)申請案中的調(diào)色板索引:2013年7月12日申請的第61/845,824號美國臨時(shí)申請案、2013年11月1日申請的第61/899,048號美國臨時(shí)申請案,或2013年12月6日申請的第61/913,040號美國臨時(shí)申請案。另外,視頻編碼器20可經(jīng)配置從而并不譯碼SPoint旗標(biāo),此是因?yàn)橐曨l編碼器20及視頻解碼器30可推斷SPoint旗標(biāo)等于值模式(在需要時(shí))。此是因?yàn)椋喝绻?dāng)前樣本并非經(jīng)譯碼為逃脫樣本(例如,并不具有在用于譯碼塊的調(diào)色板中表示的色彩值的樣本),則用于當(dāng)前樣本的調(diào)色板索引已經(jīng)已知且導(dǎo)出其等于0(因?yàn)閮H一種可能的調(diào)色板索引)。在此狀況下,僅用信號通知行程。不必要區(qū)別CopyFromTop模式及值模式,此是因?yàn)閮煞N模式提供相同結(jié)果。類似地,對于隱含逃脫信號通知,當(dāng)調(diào)色板大小為2時(shí),視頻編碼器20可用信號通知調(diào)色板索引以區(qū)別值模式及逃脫模式,但由于如上所述的相同原因而使得SPoint旗標(biāo)的信號通知并非必要的。
當(dāng)使用值模式、CopyFromTop模式及轉(zhuǎn)變行程模式時(shí),本發(fā)明的技術(shù)也可用以移除冗余。因此,所述技術(shù)可改良視頻譯碼位速率效率,而大體上并不引起失真。在實(shí)例中,出于說明的目的,當(dāng)前樣本是在值模式中譯碼且轉(zhuǎn)變行程模式并不可供使用(例如,僅CopyFromAbove模式及值模式可供使用)。在此實(shí)例中,當(dāng)用于先前樣本的模式為值模式時(shí),當(dāng)前樣本的索引不可能與先前樣本的索引相同,否則將當(dāng)前樣本包含到先前值模式中且將用于值模式的行程遞增一。類似地,當(dāng)用于先前樣本的模式為CopyFromTop模式時(shí),待譯碼的當(dāng)前樣本的索引不可能與上方樣本的索引相同,否則通過CopyFromTop模式譯碼當(dāng)前樣本且有可能將用于CopyFromTop模式的行程遞增一。
記住上文所描述的關(guān)系,當(dāng)用于當(dāng)前樣本的索引大于用于先前樣本(例如,如果先前樣本處于值模式中)或頂部樣本(例如,如果先前樣本處于CopyFromTop模式中)的索引時(shí),視頻編碼器20及視頻解碼器30可將用于當(dāng)前樣本的索引減少一。此過程描述于C.吉斯奎特(Gisquet)等人的“AHG10:調(diào)色板索引譯碼(AHG10:Palette Index Coding)”(JCTVC-Q0064,西班牙瓦倫西亞市,2014年3月27日到4月4日)(下文中為JCTVC-Q0064)中。又,將最大的可能調(diào)色板索引的數(shù)目減少一,而不管先前條件是否為真(當(dāng)前索引大于先前左側(cè)或上方調(diào)色板索引)。舉例來說,當(dāng)使用可變長度碼(例如,例如經(jīng)截短的二進(jìn)制碼)譯碼索引時(shí),可將調(diào)色板條目的數(shù)目減少一。
根據(jù)本發(fā)明的方面,關(guān)于上文所描述的過程,替代地或另外,當(dāng)使用轉(zhuǎn)變行程模式時(shí),可進(jìn)一步修改值模式中的索引調(diào)整過程。舉例來說,根據(jù)本發(fā)明的方面,如果樣本并非塊中的第一樣本且先前樣本并非經(jīng)譯碼為逃脫樣本,則視頻編碼器20及視頻解碼器30可執(zhí)行下文所描述的索引調(diào)整過程。
根據(jù)本發(fā)明的方面,如果先前樣本是在值模式或轉(zhuǎn)變行程模式中譯碼,則視頻編碼器20及視頻解碼器30可經(jīng)配置以將調(diào)色板條目的數(shù)目遞減一。另外,如果索引值大于或等于先前樣本的索引值(索引或轉(zhuǎn)變索引),則視頻編碼器20及視頻解碼器30可經(jīng)配置以將當(dāng)前索引值遞減一。本發(fā)明可將此遞減值稱作經(jīng)調(diào)整的索引值。接著,如果用于先前樣本的索引值并不等于轉(zhuǎn)變索引且調(diào)色板條目的數(shù)目大于一,則視頻編碼器20及視頻解碼器30可經(jīng)配置以將變數(shù)“更新”設(shè)定為1,否則將“更新”設(shè)定為0。如果更新等于1,則視頻編碼器20及視頻解碼器30可進(jìn)一步將調(diào)色板條目的數(shù)目遞減一。本發(fā)明可將調(diào)色板條目的遞減的數(shù)目稱作經(jīng)調(diào)整的調(diào)色板大小。
另外,如果轉(zhuǎn)變索引大于或等于用于先前樣本的索引值,則視頻編碼器20及視頻解碼器30可經(jīng)配置以將轉(zhuǎn)變索引遞減一。本發(fā)明可將遞減的轉(zhuǎn)變索引稱作經(jīng)調(diào)整的轉(zhuǎn)變索引值。如果更新等于1且經(jīng)調(diào)整的索引值大于經(jīng)調(diào)整的轉(zhuǎn)變索引值,則視頻編碼器20及視頻解碼器30可經(jīng)配置以進(jìn)一步將經(jīng)調(diào)整的索引值遞減一。另外,視頻編碼器20及視頻解碼器30可經(jīng)配置以僅在經(jīng)調(diào)整的調(diào)色板大小大于1的情況下才執(zhí)行最后的索引調(diào)整。此是因?yàn)椋涸诮?jīng)調(diào)整的調(diào)色板大小大于1的情況下,可僅用信號通知經(jīng)調(diào)整的索引值。
如果經(jīng)調(diào)整的調(diào)色板大小大于1,則視頻編碼器20可編碼關(guān)于經(jīng)調(diào)整的索引值的指示,從而考慮調(diào)色板索引的最大的可能數(shù)目可能等于經(jīng)調(diào)整的調(diào)色板大小。在此狀況下,視頻編碼器20及視頻解碼器30可經(jīng)配置以使用經(jīng)截短的二進(jìn)制化來譯碼,例如本文所描述的經(jīng)截短的二進(jìn)制譯碼。
在一些實(shí)例中,根據(jù)本發(fā)明的方面,可通過檢查用于當(dāng)前樣本的正上方的像素的像素值及模式而執(zhí)行與上文所描述的過程類似的過程。即,可改為關(guān)于上方相鄰像素執(zhí)行上文關(guān)于定位于當(dāng)前像素的左側(cè)的像素描述的過程,其中用上方像素值及模式替換上文所描述的左側(cè)樣本值及模式。
舉例來說,如果樣本并非處于第一行中且先前樣本是在CopyFromTop模式中譯碼且上方樣本并非經(jīng)譯碼為逃脫樣本,則視頻編碼器20及視頻解碼器30可經(jīng)配置以將調(diào)色板條目的數(shù)目遞減一。另外,如果當(dāng)前索引值大于或等于正上方樣本的索引值,則視頻編碼器20及視頻解碼器30可經(jīng)配置以將當(dāng)前索引值遞減一。此外,此遞減的索引值可被稱作經(jīng)調(diào)整的索引值。接著,如果正上方樣本的索引值并不等于轉(zhuǎn)變索引且調(diào)色板條目的數(shù)目大于1,則視頻編碼器20可將變數(shù)更新設(shè)定為1,否則,將更新設(shè)定為0。
如果更新等于1,則視頻編碼器20及視頻解碼器30可經(jīng)配置以進(jìn)一步將調(diào)色板條目的數(shù)目遞減一,所述遞減的數(shù)目可被稱作經(jīng)調(diào)整的調(diào)色板大小。另外,如果轉(zhuǎn)變索引大于或等于用于上方樣本的索引值,則視頻編碼器20及視頻解碼器30可經(jīng)配置以將轉(zhuǎn)變索引遞減一,所述遞減的轉(zhuǎn)變索引可被稱作經(jīng)調(diào)整的轉(zhuǎn)變索引值。如果更新等于0且經(jīng)調(diào)整的索引值大于經(jīng)調(diào)整的轉(zhuǎn)變索引值,則視頻編碼器20及視頻解碼器30可經(jīng)配置以將經(jīng)調(diào)整的索引值遞減一。另外,僅在經(jīng)調(diào)整的調(diào)色板大小大于1的情況下才可執(zhí)行最后的索引調(diào)整,此是因?yàn)樵诮?jīng)調(diào)整的調(diào)色板大小大于1的情況下,通常僅用信號通知經(jīng)調(diào)整的索引值。
如果經(jīng)調(diào)整的調(diào)色板大小大于1,則視頻編碼器20可經(jīng)配置以編碼關(guān)于經(jīng)調(diào)整的索引值的指示,且在一些實(shí)例中,可考慮調(diào)色板索引的最大的可能數(shù)目等于經(jīng)調(diào)整的調(diào)色板大小。在此狀況下,視頻編碼器20及視頻解碼器30可經(jīng)配置以使用經(jīng)截短的二進(jìn)制化,例如本文所描述的經(jīng)截短的二進(jìn)制譯碼。
上文描述了結(jié)合轉(zhuǎn)變行程模式進(jìn)行的調(diào)色板索引信號通知中的冗余移除。然而,這些技術(shù)可與有限行程方法組合,如下文及以下各美國臨時(shí)申請案中所描述:2014年5月23日申請的第62/002,717號美國臨時(shí)申請案,及2014年6月9日申請的第62/009,772號美國臨時(shí)申請案。在此狀況下,高于某一調(diào)色板索引值時(shí),行程始終等于0且因此,對于那些調(diào)色板索引,視頻編碼器20可經(jīng)配置從而并不編碼關(guān)于行程值的指示。確切來說,視頻編碼器20及視頻解碼器30可經(jīng)配置以導(dǎo)出行程值等于0。關(guān)于此組合,上文關(guān)于轉(zhuǎn)變行程模式描述的技術(shù)保持不變。即,例如,上文所描述的冗余移除技術(shù)也可與有限行程模式一起使用。
另外或替代地,本發(fā)明的技術(shù)也可與有限行程技術(shù)組合,如紀(jì)堯姆拉羅什(Guillaume Laroche)等人的“AHG10:用于調(diào)色板模式的行程譯碼(AHG10:Run Coding for Palette Mode)”(JCTVC-Q0066,西班牙瓦倫西亞市,2014年3月27日到4月4日)(在下文中為JCTVC-Q0066)的標(biāo)準(zhǔn)提交文件中所提議。在此實(shí)例中,也指定極限索引。然而,與上文所描述的有限行程技術(shù)的一個(gè)差異在于:大于極限索引的調(diào)色板索引也可具有一或大于一的行程。然而,視頻編碼器20可能并不用信號通知行程。當(dāng)實(shí)施此第二有限行程技術(shù)時(shí),可能僅在先前像素的索引值小于或等于極限索引值或上方像素的索引值小于或等于極限索引值的情況下,應(yīng)用本發(fā)明的冗余移除技術(shù)。
上文所描述的技術(shù)大體上是關(guān)于視頻編碼器(例如,視頻編碼器20)加以描述。在解碼器側(cè)(如(例如)通過視頻解碼器30實(shí)施)上,使用與編碼器側(cè)上的條件相同的條件,視頻解碼器30也可調(diào)整調(diào)色板條目的數(shù)目及轉(zhuǎn)變索引。視頻解碼器30可接著使用調(diào)色板條目的經(jīng)調(diào)整的數(shù)目解碼索引??墒褂门c編碼器側(cè)上的條件相同的條件遞增(而非遞減)經(jīng)解碼索引。
在CopyFromTop模式不可能的情況下,所描述的某些技術(shù)減少冗余,且因此可修改SPoint旗標(biāo)的信號通知,以使得視頻編碼器20及視頻解碼器30可推斷值模式。根據(jù)本發(fā)明的方面,可將冗余減少技術(shù)擴(kuò)展到也使用轉(zhuǎn)變行程模式的狀況。在此狀況下,如果以下條件中的任一者為真,則CopyFromTop模式為不可能的:
1.樣本處于第一行中。
2.用于先前樣本的模式為CopyFromTop。
3.上方像素是在逃脫模式中譯碼且樣本并非處于第一行中且先前樣本并非在CopyFromTop模式中譯碼。
4.上方樣本及先前樣本具有相同索引且先前樣本并非在逃脫模式中譯碼。
本發(fā)明的技術(shù)也提供用于明確地用信號通知用于逃脫調(diào)色板模式的逃脫旗標(biāo)的替代方案。舉例來說,并非通過顯式逃脫信號通知而在SPoint旗標(biāo)之前用信號通知逃脫旗標(biāo),而是根據(jù)本發(fā)明的方面,可交換旗標(biāo)的次序,同時(shí)也改變那些旗標(biāo)的語義。在此狀況下,視頻編碼器20可首先在位流中用信號通知SPoint旗標(biāo)。在此實(shí)例中,等于1的SPoint旗標(biāo)可指示值模式,而等于0的SPoint旗標(biāo)可指示用于當(dāng)前樣本的調(diào)色板模式為CopyFromTop模式或逃脫模式。另外,當(dāng)SPoint旗標(biāo)等于1時(shí),視頻編碼器20可用信號通知逃脫旗標(biāo)以區(qū)別CopyFromTop模式及逃脫模式。
在上述實(shí)例中,視頻編碼器20及視頻解碼器30可經(jīng)配置以使用CABAC來譯碼上文所描述的旗標(biāo)中的至少一者或上文所描述的旗標(biāo)中的兩者(例如,SPoint旗標(biāo)或逃脫旗標(biāo))。替代地,視頻編碼器20及視頻解碼器30可經(jīng)配置以使用CABAC繞過模式譯碼這些旗標(biāo)以減少上下文經(jīng)譯碼二進(jìn)制的數(shù)目。
如上文所描述,在某些條件下,CopyFromTop模式可能并非為可能的。在這些狀況下,當(dāng)使用替代信號通知方法(例如,例如交換旗標(biāo))時(shí),視頻編碼器20可經(jīng)配置以僅用信號通知SPoint旗標(biāo),而不用信號通知逃脫旗標(biāo)。在此狀況下,SPoint旗標(biāo)可具有不同語義。舉例來說,等于1的SPoint旗標(biāo)仍可指示模式為值模式,但等于0的SPoint旗標(biāo)可指示逃脫模式。如果SPoint旗標(biāo)是使用CABAC進(jìn)行上下文譯碼,則在CopyFromTop模式為不可能時(shí)的狀況下,可使用額外的單獨(dú)上下文來譯碼SPoint旗標(biāo)值。在調(diào)色板大小為1且使用逃脫模式的狀況下,如上文所描述,當(dāng)使用替代信號通知方法時(shí),視頻編碼器20及視頻解碼器30可經(jīng)配置以跳過SPoint旗標(biāo)的譯碼。
本發(fā)明的技術(shù)也提供用于用信號通知用于逃脫調(diào)色板模式的逃脫旗標(biāo)的另一替代信號通知技術(shù)(例如,相對于JCTVC-Q0094)。舉例來說,在JCTVC-Q0094中,已在參考軟件中考慮并移除某些信號通知冗余。作為實(shí)例,當(dāng)譯碼當(dāng)前樣本時(shí),如果用于先前樣本的調(diào)色板模式為CopyFromTop,則視頻編碼器20及視頻解碼器30可能并不使用CopyFromTop模式譯碼當(dāng)前像素。類似地,如果用于先前樣本的模式為具有調(diào)色板索引“X”的值模式,則視頻編碼器20及視頻解碼器30可能并不使用具有相同調(diào)色板索引“X”的值模式譯碼當(dāng)前像素。在剖析階段(例如,當(dāng)在視頻解碼器30處剖析來自經(jīng)編碼位流的語法元素時(shí)),視頻解碼器30檢查上文所提及的條件以確定允許哪些語法元素以便恰當(dāng)?shù)刈x取位流。如果將檢查許多這些條件,則此檢查過程可變得繁重。
根據(jù)本發(fā)明的方面,視頻編碼器20及視頻解碼器30可經(jīng)配置以“重新使用”上文所提及的冗余以隱含地用信號通知逃脫模式。舉例來說,當(dāng)譯碼塊的當(dāng)前樣本時(shí),如果先前樣本是使用CopyFromTop模式譯碼且用于當(dāng)前像素的模式也按CopyFromTop用信號通知,則視頻解碼器30可推斷用于當(dāng)前塊的模式為逃脫模式。即,視頻編碼器20可使用通過CopyFromTop模式譯碼的行中的兩個(gè)樣本的冗余來用信號通知逃脫模式。類似地,如果用于當(dāng)前經(jīng)譯碼的樣本的先前樣本的模式為具有調(diào)色板索引“X”的值模式且用信號通知的模式為具有相同調(diào)色板索引“X”的值模式,則視頻解碼器30可推斷用于當(dāng)前塊的模式為逃脫模式。類似地,也可以此方式來利用上文所描述的其它冗余。
在上文所描述的實(shí)例中,基于冗余進(jìn)行的用信號通知逃脫模式并不包含視頻編碼器20可用信號通知逃脫模式的所有可能的情形。因此,這些技術(shù)可用作用信號通知逃脫模式的補(bǔ)充方式。在其它實(shí)例中,也可對位流強(qiáng)加所述技術(shù),以使得可在這些受約束情形中僅用信號通知逃脫模式。
本發(fā)明的技術(shù)也涉及用信號通知:對于等于0的調(diào)色板大小,樣本為逃脫樣本。舉例來說,根據(jù)本發(fā)明的方面,如果在使用顯式逃脫信號通知時(shí),與當(dāng)前經(jīng)譯碼的塊相關(guān)聯(lián)的調(diào)色板的調(diào)色板大小等于0,則視頻編碼器20及視頻解碼器30可經(jīng)配置以推斷塊中的所有樣本經(jīng)譯碼為逃脫樣本。即,視頻編碼器20及視頻解碼器30可經(jīng)配置以確定塊中的所有樣本經(jīng)譯碼為逃脫樣本(例如,并不具有在用于譯碼塊的調(diào)色板中表示的色彩值的樣本),而并不編碼或解碼位流中表示逃脫模式的專用語法。同樣,如果在使用隱含逃脫信號通知時(shí),與當(dāng)前經(jīng)譯碼的塊相關(guān)聯(lián)的調(diào)色板的調(diào)色板大小等于1(例如,調(diào)色板的僅有的索引為用于用信號通知逃脫模式的額外索引,如上文所描述),則視頻編碼器20及視頻解碼器30可經(jīng)配置以推斷塊中的所有樣本經(jīng)譯碼為逃脫樣本。
在上文所描述的兩個(gè)實(shí)例中(例如,對于顯式及隱含逃脫信號通知兩者),視頻編碼器20及視頻解碼器30可對于塊的其余部分跳過某些基于調(diào)色板的語法的譯碼。舉例來說,對于顯式逃脫信號通知,視頻編碼器20可能并不用信號通知用于塊的樣本的逃脫旗標(biāo)。另外,對于顯式及隱含逃脫信號通知兩者,視頻編碼器20可能并不用信號通知SPoint旗標(biāo)(對于隱含及顯式逃脫信號通知兩者)。即,因?yàn)榭赏茢鄩K的所有樣本為逃脫樣本,所以視頻編碼器20無需用信號通知Spoint旗標(biāo)以區(qū)別CopyFromTop模式及值模式。視頻解碼器30同樣可跳過解碼此語法,所述情形可改良位速率及譯碼效率。
在替代實(shí)例中,視頻編碼器20及視頻解碼器30可按規(guī)范性方式將調(diào)色板大小限定為至少為一。在此實(shí)例中,視頻編碼器20可經(jīng)配置以修改調(diào)色板大小的信號通知以便用信號通知(調(diào)色板大小-1)。舉例來說,當(dāng)使用調(diào)色板預(yù)測符時(shí)(例如,如關(guān)于圖4的實(shí)例更詳細(xì)描述),對于調(diào)色板預(yù)測符的每一條目,視頻編碼器20可編碼一位旗標(biāo)以指示相應(yīng)調(diào)色板預(yù)測符條目是否包含于當(dāng)前塊的調(diào)色板中。這些條目被稱作經(jīng)預(yù)測的調(diào)色板條目且通過調(diào)色板預(yù)測二進(jìn)制向量(例如,一位旗標(biāo)的字串)來指示。視頻編碼器20也可用信號通知在經(jīng)預(yù)測的條目之后的新調(diào)色板條目的數(shù)目。在其它實(shí)例中,視頻編碼器20可用信號通知在經(jīng)預(yù)測的條目之前的新調(diào)色板條目的數(shù)目。在任何狀況下,如果經(jīng)預(yù)測的調(diào)色板條目的數(shù)目為0,則視頻編碼器20及視頻解碼器30可經(jīng)配置以譯碼指示(新調(diào)色板條目的數(shù)目-1)的數(shù)據(jù),而非譯碼新調(diào)色板條目的數(shù)目。
在另一實(shí)例中,視頻編碼器20及視頻解碼器30可經(jīng)配置以限定調(diào)色板模式以使得調(diào)色板大小不應(yīng)等于0。舉例來說,可按位流約束形式來達(dá)成此限定,即,位流不可能含有具有等于0的調(diào)色板大小的經(jīng)調(diào)色板譯碼的塊。
本發(fā)明的技術(shù)也涉及用信號通知調(diào)色板大小。舉例來說,可明確地用信號通知用于當(dāng)前塊(例如,當(dāng)前由視頻編碼器20或視頻解碼器30譯碼的CU)的調(diào)色板大小(例如,如(例如)2014年4月3日申請的第14/244,688號美國申請案及2014年4月3日申請的第14/244,711號美國申請案中所揭示)。在這些實(shí)例中,調(diào)色板大小包含經(jīng)預(yù)測的調(diào)色板條目(例如,使用調(diào)色板預(yù)測符確定)及新調(diào)色板條目(例如,如在位流中明確地用信號通知)兩者。
根據(jù)本發(fā)明的方面,如果用信號通知調(diào)色板大小,則可能不需要用信號通知新條目的數(shù)目,此是因?yàn)橐曨l編碼器20及視頻解碼器30可經(jīng)配置以從經(jīng)預(yù)測的條目的數(shù)目及調(diào)色板大小導(dǎo)出用于塊的新調(diào)色板條目的數(shù)目(例如,調(diào)色板大小-經(jīng)預(yù)測的條目的數(shù)目=新條目的數(shù)目)。另外,視頻編碼器20及視頻解碼器30可經(jīng)配置以在用信號通知調(diào)色板大小且在建構(gòu)用于當(dāng)前塊的調(diào)色板時(shí)達(dá)到用信號通知的大小數(shù)目時(shí),終止對先前調(diào)色板的條目的預(yù)測。
在一些實(shí)例中,可從先前調(diào)色板預(yù)測調(diào)色板大小,且視頻編碼器20可經(jīng)配置以僅用信號通知差異。視頻編碼器20及視頻解碼器30可經(jīng)配置以使用指數(shù)哥倫布、經(jīng)截短的一元或固定長度碼譯碼調(diào)色板大小與用于塊的經(jīng)預(yù)測的調(diào)色板大小之間的差。在一些情況下,視頻編碼器20及視頻解碼器30可經(jīng)配置以取決于(例如,基于)經(jīng)譯碼的塊大小而做出預(yù)測。舉例來說,對于8×8塊,可從與使用調(diào)色板模式譯碼的最新8×8塊(例如,按掃描次序在當(dāng)前塊之前的最近經(jīng)譯碼的8×8)相關(guān)聯(lián)的調(diào)色板預(yù)測調(diào)色板大小。同樣,視頻編碼器20及視頻解碼器30可經(jīng)配置以基于來自先前經(jīng)譯碼16×16塊的調(diào)色板預(yù)測用于16×16塊的調(diào)色板大小,且可將類似關(guān)系擴(kuò)展到具有其它大小的塊。替代地,在另一實(shí)例中,可從通過小于或等于當(dāng)前塊大小的大小譯碼的最新塊預(yù)測調(diào)色板大小。
本發(fā)明的技術(shù)也涉及用信號通知最大調(diào)色板大小及/或最大調(diào)色板預(yù)測符大小。舉例來說,根據(jù)本發(fā)明的方面,視頻編碼器20及視頻解碼器30可經(jīng)配置以譯碼指示最大調(diào)色板大小及/或最大調(diào)色板預(yù)測符大小的數(shù)據(jù)。在一些實(shí)例中,視頻編碼器20及視頻解碼器30可經(jīng)配置以根據(jù)SPS譯碼此數(shù)據(jù)。譯碼指示最大調(diào)色板大小及/或最大調(diào)色板預(yù)測符大小的數(shù)據(jù)可提供靈活性,例如,允許視頻編碼器20及視頻解碼器30針對不同簡檔、層級、位深度、塊大小或其類似者使用具有不同大小的調(diào)色板及調(diào)色板預(yù)測符。在視頻譯碼標(biāo)準(zhǔn)的上下文中,簡檔可對應(yīng)于算法、特征或工具及適用于其的約束的子集。舉例來說,簡檔可為通過細(xì)節(jié)指定的整個(gè)位流語法的子集。層級可對應(yīng)于對解碼器資源消耗的限制,例如解碼器存儲(chǔ)器及計(jì)算,其可涉及圖片分辨率、位速率及塊處理速率。簡檔可通過profile_idc(簡檔指示符)值來用信號通知,而層級可通過level_idc(層級指示符)值來用信號通知。
根據(jù)本發(fā)明的方面,視頻編碼器20及視頻解碼器30可經(jīng)配置以使用關(guān)于最大調(diào)色板大小的信息來確定與調(diào)色板模式相關(guān)聯(lián)的元素及旗標(biāo),例如,在用信號通知新調(diào)色板條目的數(shù)目時(shí)。作為實(shí)例,可通過MAX_PLT_SIZE來表示最大的可能調(diào)色板大小,所述MAX_PLT_SIZE可由視頻編碼器20來編碼及由視頻解碼器30來解碼。類似地,可通過MAX_PLT_PREDICTOR_SIZE來表示調(diào)色板預(yù)測符向量的最大的可能大小,所述MAX_PLT_PREDICTOR_SIZE可由視頻編碼器20來編碼及由視頻解碼器30來解碼。
作為另一實(shí)例,根據(jù)本發(fā)明的方面,視頻編碼器20及視頻解碼器30可譯碼指示調(diào)色板預(yù)測二進(jìn)制向量中的“一”的數(shù)目(例如,其可表示經(jīng)復(fù)制到用于譯碼當(dāng)前塊的調(diào)色板的來自調(diào)色板預(yù)測符的條目的數(shù)目)的數(shù)據(jù)。在一些情況下,視頻編碼器20及視頻解碼器30可經(jīng)配置以譯碼語法元素numPredPalette以指示經(jīng)預(yù)測的調(diào)色板條目的數(shù)目。如果numPredPalette的值等于MAX_PLT_SIZE的值(即,最大調(diào)色板大小),則視頻編碼器20及視頻解碼器30可經(jīng)配置以完全跳過新調(diào)色板條目的數(shù)目的譯碼。否則,如果numPredPalette的值小于MAX_PLT_SIZE的值,則視頻編碼器20及視頻解碼器30可基于(MAX_PLT_SIZE-numPredPalette)(其為用于新調(diào)色板條目的數(shù)目的最大的可能值)使用經(jīng)截短的二進(jìn)制化,以譯碼指示新條目的數(shù)目的數(shù)據(jù)。
大體來說,經(jīng)截短的二進(jìn)制化可包含通過以下操作使用關(guān)于用信號通知的特定參數(shù)(例如,例如新調(diào)色板條目的數(shù)目)的最大的可能值的信息的任何技術(shù):遞減在參數(shù)的二進(jìn)制化方法中使用的一些碼字的長度,同時(shí)維持獨(dú)特可解碼性。舉例來說,視頻編碼器20及視頻解碼器30可經(jīng)配置以使用給定參數(shù)(例如,例如新調(diào)色板條目的數(shù)目)的最大值建構(gòu)經(jīng)截短的二進(jìn)制碼。用于進(jìn)行經(jīng)截短的二進(jìn)制譯碼的實(shí)例技術(shù)描述于http://en.wikipedia.org/wiki/Truncated_binary_encoding處。
類似地,視頻編碼器20及視頻解碼器30可使用經(jīng)截短的一元或指數(shù)哥倫布或哥倫布-萊斯(Colomb-Rice)碼來基于新調(diào)色板條目的數(shù)目的最大的可能值用信號通知及解碼新調(diào)色板條目的數(shù)目。舉例來說,如果(MAX_PLT_SIZE-numPredPalette)=3,則視頻編碼器20可使用經(jīng)截短的一元碼來將3用信號通知為000,而非0001(例如,如在使用規(guī)則一元碼時(shí)將用信號通知的)。在經(jīng)截短的指數(shù)哥倫布或哥倫布-萊斯碼的狀況下,視頻編碼器20及視頻解碼器30可經(jīng)配置以將含有最大值的區(qū)間內(nèi)的前綴的長度減少一。因此,視頻編碼器20及視頻解碼器30可經(jīng)配置以將前綴從000...001改變成000...000。類似地,視頻編碼器20及視頻解碼器30可經(jīng)配置以取決于最大值而減少彼區(qū)間內(nèi)的二進(jìn)制化方法中的后綴位的數(shù)目。
對于大塊(及/或大CU),調(diào)色板大小傾向于為最大調(diào)色板大小。因此,在一些狀況下,視頻編碼器20及視頻解碼器30可經(jīng)配置以按常用方式的反方式映射(MAX_PLT_SIZE-numPredPalette)的二進(jìn)制化,即,其中將較短碼字長度指派給(MAX_PLT_SIZE-numPredPalette)的較大值,且將較長碼字長度指派給(MAX_PLT_SIZE-numPredPalette)的較小值。在一些實(shí)例中,并非使用數(shù)個(gè)0后接續(xù)1來用信號通知一元/經(jīng)截短的一元碼,或按哥倫布-萊斯或指數(shù)哥倫布或串接哥倫布-萊斯及指數(shù)哥倫布系列碼的前綴形式,而是視頻編碼器20及視頻解碼器30可經(jīng)配置以使用數(shù)個(gè)1后接續(xù)0。
此外,其它變化是有可能的。舉例來說,視頻編碼器20及視頻解碼器30可經(jīng)配置以將這些碼中的第一位解譯為指示新條目的數(shù)目為零抑或非零的旗標(biāo)。視頻編碼器20及視頻解碼器30可經(jīng)配置以將剩余位解譯為新調(diào)色板條目的數(shù)目減去1。在實(shí)例中,出于說明的目的,新調(diào)色板條目的最大值可為8且新調(diào)色板條目的數(shù)目可為3。使用經(jīng)截短的一元碼,視頻編碼器20及視頻解碼器30可經(jīng)配置以確定二進(jìn)制化為0001。如果視頻編碼器20及視頻解碼器30經(jīng)配置以將第一位解譯為旗標(biāo)(例如,0:一或多個(gè)新調(diào)色板條目,1:零個(gè)新調(diào)色板條目),則其余位(001)指示存在兩個(gè)新調(diào)色板條目。當(dāng)使用經(jīng)截短的碼時(shí),視頻編碼器20及視頻解碼器30可經(jīng)配置以將最大值向下調(diào)整一。
在其它實(shí)例中,視頻編碼器20及視頻解碼器30可經(jīng)配置以按反方式來解譯上文所描述的旗標(biāo)。在此狀況下,視頻編碼器20及視頻解碼器30可經(jīng)配置以將旗標(biāo)值1解譯為一或多個(gè)新調(diào)色板條目且將旗標(biāo)值0解譯為零個(gè)新調(diào)色板條目。在此狀況下,用于用信號通知具有最大值8的三個(gè)新調(diào)色板條目的位為1001。
在其它實(shí)例中,可將上文所描述的旗標(biāo)的概念擴(kuò)展到其它碼,例如指數(shù)哥倫布、哥倫布-萊斯或其類似者。舉例來說,當(dāng)用于新調(diào)色板條目的最大值為非零時(shí),視頻編碼器20可經(jīng)配置以用信號通知指示是否存在非零新條目的旗標(biāo)。如果旗標(biāo)指示存在非零新條目,則可使用指數(shù)哥倫布、哥倫布-萊斯、串接的指數(shù)哥倫布及哥倫布-萊斯或類似碼或其經(jīng)截短的版本來用信號通知新條目的數(shù)目減去一。當(dāng)使用經(jīng)截短的版本時(shí),可將最大值向下調(diào)整一。
在一些實(shí)例中,旗標(biāo)可使用CABAC來進(jìn)行上下文譯碼,而其余二進(jìn)制(例如,新調(diào)色板條目減去1)可繞過譯碼。替代地,旗標(biāo)以及其余二進(jìn)制(新調(diào)色板條目減去1)都可繞過譯碼。在一些情況下,來自新調(diào)色板條目減去1的碼的前綴二進(jìn)制的固定數(shù)目可使用CABAC進(jìn)行上下文譯碼,且其余二進(jìn)制可繞過譯碼。
根據(jù)本發(fā)明的方面,如上文所提及,可在參數(shù)集(例如,SPS)中用信號通知語法元素MAX_PLT_SIZE。在其它實(shí)例中,可在VPS、圖片參數(shù)集(PPS)、切片標(biāo)頭中、在塊層級下(例如,針對LCU或CU用信號通知語法)或在其它處用信號通知語法元素MAX_PLT_SIZE。在一些實(shí)例中,根據(jù)本發(fā)明的方面,可針對不同的塊大小指定不同的最大調(diào)色板大小。在其它實(shí)例中,最大調(diào)色板大小可取決于經(jīng)譯碼的視頻數(shù)據(jù)的簡檔或位深度。舉例來說,對于較大輸入位深度(或簡檔位深度),語法元素MAX_PLT_SIZE可用以指定相對較大的最大調(diào)色板大小。在再其它實(shí)例中,最大調(diào)色板大小可另外或替代地取決于經(jīng)譯碼的視頻數(shù)據(jù)的色度格式。舉例來說,語法元素MAX_PLT_SIZE可用以針對單色輸入指定相對較小的最大調(diào)色板大小(與針對4:2:0色度子取樣格式相比較),所述4:2:0色度子取樣格式又可具有比4:4:4色度子取樣格式化的輸入小的大小。
根據(jù)本發(fā)明的方面,并非按上文所描述的方式用信號通知語法元素MAX_PLT_SIZE,而是可用信號通知指示(MAX_PLT_SIZE-1)的數(shù)據(jù),此是因?yàn)榈扔?的MAX_PLT_SIZE語法元素可能為無效的(歸因于完全停用調(diào)色板)。
在另一實(shí)例中,并非在VPS、SPS、PPS或切片標(biāo)頭層級用信號通知單獨(dú)旗標(biāo)以啟用/停用調(diào)色板模式,而是視頻編碼器20可經(jīng)配置以僅用信號通知MAX_PLT_SIZE語法元素。在此實(shí)例中,視頻編碼器20及視頻解碼器30可經(jīng)配置以將為0的MAX_PLT_SIZE語法元素解譯為停用調(diào)色板模式。即,當(dāng)接收到調(diào)色板大小語法元素(例如,MAX_PLT_SIZE語法元素)時(shí),視頻解碼器30可基于所述語法元素確定已停用調(diào)色板模式??墒褂霉潭ㄩL度碼(假定關(guān)于MAX_PLT_SIZE的規(guī)范性極限)或哥倫布-萊斯或指數(shù)哥倫布碼來用信號通知MAX_PLT_SIZE語法元素或(MAX_PLT_SIZE-1)。
如上文所提及,本發(fā)明的技術(shù)還包含譯碼指示最大調(diào)色板預(yù)測符大小的數(shù)據(jù)。舉例來說,根據(jù)本發(fā)明的方面,視頻編碼器20及視頻解碼器30可經(jīng)配置以在VPS、SPS、PPS、切片標(biāo)頭中、在塊層級或在其它處譯碼指示最大調(diào)色板預(yù)測符大小的MAX_PLT_PREDICTOR_SIZE語法元素。在一些實(shí)例中,并非用信號通知MAX_PLT_PREDICTOR_SIZE語法元素,而是可用信號通知(MAX_PLT_PREDICTOR_SIZE-1)。在再其它實(shí)例中,視頻編碼器20及視頻解碼器30可經(jīng)配置以譯碼指示最大調(diào)色板預(yù)測符大小的其它數(shù)據(jù)。
在本文所描述的特定實(shí)例中,可使用固定長度碼(例如,假定關(guān)于MAX_PLT_PREDICTOR_SIZE的規(guī)范性極限)或哥倫布萊斯或指數(shù)哥倫布碼來用信號通知MAX_PLT_PREDICTOR_SIZE語法元素或(MAX_PLT_PREDICTOR_SIZE-1)。在一些實(shí)例中,視頻編碼器20及視頻解碼器30可經(jīng)配置以假定(例如,自動(dòng)確定):通過MAX_PLT_PREDICTOR_SIZE語法元素指示的大小大于或等于最大調(diào)色板大小(例如,如通過MAX_PLT_SIZE語法元素指示)。在此實(shí)例中,視頻編碼器20及視頻解碼器30可經(jīng)配置以使用固定長度碼或哥倫布-萊斯或指數(shù)哥倫布碼譯碼(MAX_PLT_PREDICTOR_SIZE-MAX_PLT_SIZE)。因此,根據(jù)本發(fā)明的方面,視頻編碼器20及視頻解碼器30可經(jīng)配置以譯碼指示最大調(diào)色板預(yù)測符大小與最大調(diào)色板大小之間的差量(例如,差值)的數(shù)據(jù)。
在按SPS層級用信號通知最大調(diào)色板大小及最大調(diào)色板預(yù)測符大小的實(shí)例中,視頻編碼器20及視頻解碼器30可經(jīng)配置以使用經(jīng)截短的一元碼譯碼指示新條目的數(shù)目的數(shù)據(jù)。新條目的數(shù)目加上自調(diào)色板預(yù)測符預(yù)測的條目的數(shù)目一起可能不超過在SPS中用信號通知的最大調(diào)色板大小。然而,如果在SPS中用信號通知的最大調(diào)色板大小相對較大,則新條目的數(shù)目可超過31。在此情況下,經(jīng)截短的一元碼超過32位長度,對于軟件及硬件實(shí)施來說,所述情形可能為不合需要的。
為了解決此問題,根據(jù)本發(fā)明的方面,在實(shí)例中,視頻編碼器20及視頻解碼器30可經(jīng)配置以限定新條目的數(shù)目,以使得用于用信號通知新條目的數(shù)目的碼的長度不會(huì)超過32。舉例來說,如果使用一元或經(jīng)截短的一元碼來用信號通知新條目的數(shù)目,則新條目的數(shù)目可限定于31。應(yīng)理解,長度限定32僅為實(shí)例(例如,可替代地使用其它長度限定)。
在HEVC屏幕內(nèi)容譯碼擴(kuò)展文本規(guī)范草案2(拉詹喬希(Rajan Joshi)等人的“高效率視頻譯碼(HEVC)屏幕內(nèi)容譯碼:草案2(High Efficiency Video Coding(HEVC)Screen Content Coding:Draft 2)”(JCTVC-S1005,日本札幌,2014年6月30日到7月9日)(下文中為JCTVC-S1005))中,使用經(jīng)截短的一元碼來用信號通知新調(diào)色板條目的數(shù)目,其中最大值等于在SPS中用信號通知的最大調(diào)色板大小(palette_max_size)減去從調(diào)色板預(yù)測符預(yù)測的調(diào)色板條目的數(shù)目。使用所提議的限定,可將最大值修改為以下兩者中的較小者:32,及在SPS中用信號通知的最大調(diào)色板大小(palette_max_size)與從調(diào)色板預(yù)測符預(yù)測的調(diào)色板條目的數(shù)目之間的差。如果執(zhí)行對最大值的此修改且使用JCTVC-S1005的經(jīng)截短的一元譯碼,則新調(diào)色板條目的最大數(shù)目可為32(而非31),而碼的長度不超過32個(gè)位。
在一些實(shí)例中,并非經(jīng)截短的一元譯碼,而是如果視頻編碼器20及視頻解碼器30經(jīng)配置從而使用例如指數(shù)哥倫布或其經(jīng)截短版本的另一碼,則可適當(dāng)?shù)匦薷淖畲罂稍试S的新調(diào)色板條目以使得長度不會(huì)超過32。如果存在具有碼字長度32的數(shù)個(gè)值,則視頻編碼器20及視頻解碼器30可經(jīng)配置以選擇此值中的最高者為新調(diào)色板條目的數(shù)目的最大可允許的值。
可使得本文所描述的關(guān)于新調(diào)色板條目的最大數(shù)目的限定為規(guī)范性限定。舉例來說,視頻編碼器20可經(jīng)配置以產(chǎn)生具有約束的位流,且視頻解碼器30可經(jīng)配置以依賴于相符位流中的約束。
根據(jù)本發(fā)明的方面,在實(shí)例中,可相對于JCTVC-S1005改變palette_num_signaled_entries語法元素的語義如下:語法元素palette_num_signaled_entries指定當(dāng)前調(diào)色板中明確地用信號通知的條目的數(shù)目。語法元素palette_num_signaled_entries的值將在0到31(包含0及31)的范圍內(nèi)。當(dāng)語法元素palette_num_signaled_entries不存在時(shí),推斷其等于0。
另外,變數(shù)CurrentPaletteSize的值指定當(dāng)前調(diào)色板的大小且如下來導(dǎo)出:
如果palette_share_flag[x0][y0]等于1,
則CurrentPaletteSize=PreviousPaletteSize(7-71)
否則(palette_share_flag[x0][y0]等于0)
CurrentPaletteSize=paletteNumPredictedEntries+palette_num_signaled_entries(7-72)
在上述實(shí)例中,CurrentPaletteSize的值將在0到palette_max_size(包含0及palette_max_size)的范圍內(nèi)。
根據(jù)本發(fā)明的方面,如果按上文所描述的方式修改最大值,則可修改語法元素palette_num_signaled_entries的值以使得所述值將在0到32(包含0及32)的范圍內(nèi)。
在另一實(shí)例中,可在SPS中用信號通知最大調(diào)色板大小且其可限于31。限制大小可通過以下操作來完成:在palette_max_size語法元素的語義中對palette_max_size語法元素強(qiáng)加上限,以使得palette_max_size語法元素指定最大允許的調(diào)色板大小。palette_max_size語法元素的值將在0到31(包含0及31)的范圍內(nèi)。當(dāng)不存在時(shí),推斷palette_max_size語法元素的值為0。在一些實(shí)例中,并非31,所述值可限定于32。
在另一實(shí)例中,palette_max_size語法元素的最大值可受限定,以使得在新調(diào)色板條目的數(shù)目等于palette_max_size的情況下,視頻編碼器20及視頻解碼器30可經(jīng)配置以使用不會(huì)超過32個(gè)位的碼譯碼新調(diào)色板條目的數(shù)目。在再一實(shí)例中,新調(diào)色板條目的數(shù)目的最大值可始終限于31,而不管用以譯碼最大值的碼。在再一實(shí)例中,最大值可限于32。
本發(fā)明的技術(shù)是關(guān)于塊層級逃脫信號通知(例如,對于CU或LCU)。舉例來說,根據(jù)本發(fā)明的方面,一或多個(gè)語法元素可指示:在塊層級(例如,CU層級),塊的樣本中的任一者是否經(jīng)譯碼為逃脫樣本(例如,并不具有在用于譯碼塊的調(diào)色板中表示的色彩值的樣本)。如上文所提及,所述一或多個(gè)語法元素可被稱作塊層級逃脫語法。此外,塊層級語法可指通過視頻數(shù)據(jù)的塊(例如,CU或LCU)譯碼或確定的語法,而非可包含于切片標(biāo)頭中或視頻數(shù)據(jù)的個(gè)別像素中的語法。
在使用調(diào)色板譯碼而譯碼的樣本的塊中的至少一樣本經(jīng)譯碼為逃脫樣本的情況下,本發(fā)明的技術(shù)可用以用信號通知此模式的存在。在實(shí)例中,出于說明的目的,視頻編碼器20及視頻解碼器30可經(jīng)配置以譯碼旗標(biāo)(其可被稱作塊層級逃脫旗標(biāo)),所述旗標(biāo)指示經(jīng)譯碼的塊的樣本中的任一者是否經(jīng)譯碼為逃脫樣本。在一些情況下,旗標(biāo)值0可指示塊的樣本或像素中無一者經(jīng)譯碼為逃脫樣本。旗標(biāo)值1可指示塊的至少一樣本或像素經(jīng)譯碼為逃脫樣本。因此,塊層級逃脫語法可指示:對于視頻數(shù)據(jù)的塊的所有樣本,塊的至少一樣本是通過使用到用于塊的色彩值的調(diào)色板的索引來譯碼抑或不通過使用到用于塊的色彩值的調(diào)色板的索引來譯碼,例如,是使用逃脫模式譯碼。
根據(jù)本發(fā)明的方面,相對于在無塊層級指示的情況下用信號通知逃脫樣本的技術(shù)來說,上文所描述的語法可達(dá)成位節(jié)省。舉例來說,在語法指示無塊的樣本經(jīng)譯碼為逃脫樣本的情況下(例如,上文所描述的旗標(biāo)為0),視頻編碼器20及視頻解碼器30可能并不譯碼用于塊的與逃脫樣本相關(guān)聯(lián)的任何其它語法。舉例來說,關(guān)于本文所描述的顯式逃脫信號通知,視頻編碼器20及視頻解碼器30可跳過樣本層級逃脫模式旗標(biāo)的譯碼。關(guān)于隱含逃脫信號通知,視頻編碼器20及視頻解碼器30可跳過用于調(diào)色板的指示逃脫樣本的額外索引的譯碼。在此實(shí)例中,視頻編碼器20及視頻解碼器30可僅譯碼SPoint旗標(biāo)以區(qū)別CopyFromTop模式及值模式。
在一些實(shí)例中,可在當(dāng)前經(jīng)譯碼的塊或CU的調(diào)色板條目之前用信號通知上文所描述的旗標(biāo)。在其它實(shí)例中,可在當(dāng)前經(jīng)譯碼的塊或CU的調(diào)色板條目之后用信號通知上文所描述的旗標(biāo)。在一些實(shí)例中,視頻編碼器20及視頻解碼器30可經(jīng)配置以對上文所描述的旗標(biāo)進(jìn)行上下文譯碼。在這些實(shí)例中,視頻編碼器20及視頻解碼器30可基于用于當(dāng)前塊或CU的塊或CU大小及/或調(diào)色板大小確定上下文。
在一些情況下,逃脫樣本的使用情況可隨塊大小而變化。舉例來說,在相對較小的塊中,對于逃脫樣本的使用可能不太流行。在這些情況下,視頻編碼器20及視頻解碼器30可經(jīng)配置以確定塊并不包含任何逃脫樣本且跳過上文所描述的旗標(biāo)的譯碼,藉此達(dá)成位節(jié)省。舉例來說,根據(jù)本發(fā)明的方面,視頻編碼器20及視頻解碼器30可能并不譯碼用于8×8塊的塊層級旗標(biāo),其中與較大塊大小情形相比較,更不大可能使用逃脫樣本。類似地,對于大的塊大小(例如,64×64像素或大于64×64像素的塊),視頻編碼器20及視頻解碼器30可經(jīng)配置以確定始終存在經(jīng)譯碼為逃脫樣本的樣本。在這些情況下,視頻編碼器20及視頻解碼器30可推斷:用于塊的塊層級逃脫旗標(biāo)等于1(例如,至少一樣本為逃脫樣本),且跳過塊層級逃脫旗標(biāo)的譯碼(例如,關(guān)于塊層級逃脫旗標(biāo)的指示并不包含于位流中)。
本發(fā)明的技術(shù)還涉及基于塊的任何樣本是否經(jīng)譯碼為逃脫樣本而譯碼樣本的塊。舉例來說,如上文所提及,本發(fā)明的技術(shù)可用以指示任何樣本是否經(jīng)譯碼為經(jīng)調(diào)色板譯碼的塊的逃脫樣本。在塊并不包含逃脫樣本的情況下且當(dāng)調(diào)色板的大小為1時(shí),視頻編碼器20及視頻解碼器30可經(jīng)配置以自動(dòng)地確定塊的所有樣本具有相同的索引值(例如,調(diào)色板的僅有的條目)。因此,視頻編碼器20及視頻解碼器30也可跳過用以確定塊的調(diào)色板索引的其它所有其它數(shù)據(jù)的譯碼。舉例來說,視頻編碼器20及視頻解碼器30可跳過SPoint旗標(biāo)、索引信號通知及與調(diào)色板索引的行程相關(guān)聯(lián)的數(shù)據(jù)的譯碼。
在實(shí)例中,出于說明的目的,視頻解碼器30可解碼塊層級逃脫旗標(biāo),所述塊層級逃脫旗標(biāo)指示當(dāng)前塊中不存在經(jīng)譯碼為逃脫樣本的樣本(例如,旗標(biāo)等于0)。視頻解碼器30也可解碼指示用于塊的調(diào)色板具有單一條目的數(shù)據(jù)(例如,指示調(diào)色板大小為1的數(shù)據(jù))或解碼具有單一條目的調(diào)色板。在此實(shí)例中,基于兩個(gè)條件評估為真(例如,無樣本為逃脫樣本且調(diào)色板大小為1),視頻解碼器30可自動(dòng)地確定塊的所有調(diào)色板索引等于包含于調(diào)色板中的單一條目。視頻解碼器30也可跳過用以確定塊的調(diào)色板索引的其它數(shù)據(jù)(例如,例如SPoint旗標(biāo)、調(diào)色板索引及行程信息)的解碼。
在另一實(shí)例中,根據(jù)本發(fā)明的方面,當(dāng)調(diào)色板大小為1時(shí),可通過逃脫樣本來終止通過調(diào)色板索引0譯碼的樣本的行程。即,調(diào)色板索引的行程可間雜有經(jīng)譯碼為逃脫樣本的位置。在此實(shí)例中,視頻編碼器20及視頻解碼器30可經(jīng)配置以跳過SPoint旗標(biāo)的譯碼。另外,在此實(shí)例中,視頻編碼器20及視頻解碼器30可經(jīng)配置以推斷用于調(diào)色板索引的模式為值模式以及值模式的索引(例如,在調(diào)色板中僅具有一個(gè)條目,可能不必用信號通知用于值模式的索引)。在此實(shí)例中,視頻編碼器20及視頻解碼器30可推斷緊接在行程之后的樣本經(jīng)譯碼為逃脫樣本且跳過逃脫相關(guān)語法的譯碼。
本發(fā)明的技術(shù)也涉及在調(diào)色板譯碼中譯碼指示調(diào)色板索引的行程的行程值的數(shù)據(jù)。舉例來說,如上文所提及,行程值可指示在經(jīng)調(diào)色板譯碼的塊中在一起譯碼的按特定掃描次序的連續(xù)樣本的數(shù)目(例如,樣本的行程)。在一些情況下,樣本的行程也可被稱作調(diào)色板索引的行程,此是因?yàn)樾谐痰拿恳粯颖揪哂械秸{(diào)色板的相關(guān)聯(lián)的索引。
行程值可指示使用相同的調(diào)色板譯碼模式譯碼的調(diào)色板索引的行程。舉例來說,關(guān)于值模式,視頻編碼器20及視頻解碼器30可譯碼索引值及行程值,所述行程值指示具有相同的索引值且通過索引值譯碼的按掃描次序的連續(xù)樣本的數(shù)目。關(guān)于CopyFromTop模式,視頻編碼器20及視頻解碼器30可譯碼關(guān)于基于上方相鄰樣本(例如,定位于塊中當(dāng)前經(jīng)譯碼的樣本上方的樣本)的索引復(fù)制用于當(dāng)前樣本值的索引的指示,及指示還從上方相鄰樣本復(fù)制索引值且通過索引值譯碼的按掃描次序的連續(xù)樣本的數(shù)目的行程值。
舉例來說,根據(jù)本發(fā)明的方面,可基于用于塊的最大的可能行程值譯碼指示視頻數(shù)據(jù)的塊中的調(diào)色板索引的行程的數(shù)據(jù)。即,視頻編碼器20及視頻解碼器30可針對與調(diào)色板索引(所述調(diào)色板索引使像素的值與調(diào)色板中的色彩值相關(guān))相關(guān)聯(lián)的像素,確定通過像素的調(diào)色板索引譯碼的調(diào)色板索引的行程的行程長度。視頻編碼器20及視頻解碼器30也可確定能夠通過像素的調(diào)色板索引譯碼的調(diào)色板索引的最大行程的最大行程長度。視頻編碼器20及視頻解碼器30可接著基于所確定的最大行程長度譯碼指示行程長度的數(shù)據(jù)。
在實(shí)例中,出于說明的目的,視頻數(shù)據(jù)的塊中的樣本的總數(shù)目可為N且樣本中的每一者可從0到(N-1)來編索引。對于具有位置j的樣本,視頻編碼器20及視頻解碼器30可確定最大的可能行程值為(N-j-1)。應(yīng)注意,行程值指示通過與當(dāng)前樣本相同的調(diào)色板譯碼模式(例如,值模式或CopyFromTop模式)譯碼的后續(xù)樣本的數(shù)目。根據(jù)本發(fā)明的方面,視頻編碼器20及視頻解碼器30可經(jīng)配置以使用經(jīng)截短的二進(jìn)制化譯碼指示行程值的數(shù)據(jù),從而考慮最大的可能行程值。大體來說,經(jīng)截短的二進(jìn)制化可包含通過以下操作使用關(guān)于用信號通知的特定參數(shù)(例如,例如新調(diào)色板條目的數(shù)目)的最大的可能值的信息的任何技術(shù):遞減在參數(shù)的二進(jìn)制化方法中使用的一些碼字的長度,同時(shí)維持獨(dú)特可解碼性。舉例來說,可使用基于行程的最大的可能值的經(jīng)截短的二進(jìn)制碼。類似地,可使用經(jīng)截短的一元或指數(shù)哥倫布或哥倫布萊斯碼來基于行程的最大的可能值譯碼及解碼行程值。在一些實(shí)例中,經(jīng)截短的二進(jìn)制化可為指數(shù)哥倫布及哥倫布-萊斯碼的組合。
舉例來說,第k階指數(shù)哥倫布(EGk)碼字是由兩個(gè)部分構(gòu)成:前綴及后綴。對于給定的無正負(fù)號整數(shù)x,EGk碼字的前綴部分由對應(yīng)于以下值的一元碼構(gòu)成:
將后綴部分計(jì)算為使用k+l(x)個(gè)位的x-2k(2l(x)-1)的二進(jìn)制表示。
作為實(shí)例,以下表1包含用于EG0的若干碼字。
表1-EG0實(shí)例
在2014年6月20日申請的第62/019,223號美國臨時(shí)申請案中,使用第2階指數(shù)哥倫布碼譯碼行程值。
根據(jù)本發(fā)明的方面,視頻編碼器20及視頻解碼器30可經(jīng)配置以使用經(jīng)截短的指數(shù)哥倫布碼譯碼指示行程值的數(shù)據(jù)。舉例來說,第k階經(jīng)截短的指數(shù)哥倫布(TEGk)碼字也由兩個(gè)部分構(gòu)成:前綴及后綴。前綴可為一元前綴且后綴可為二進(jìn)制后綴。舉例來說,對于給定的無正負(fù)號整數(shù)x及其最大的可能行程值Xmax(例如,最大行程長度),EGk碼字的前綴部分由對應(yīng)于以下值的經(jīng)截短的一元碼構(gòu)成:
具體言之,在以下情況下,可避免一元碼的“尾隨的1”:
如果前綴經(jīng)截短,即,則將TEGk的后綴部分計(jì)算為使用k+l(x)或k+l(x)-1個(gè)位的x-2k(2l(x)-1)的經(jīng)截短的二進(jìn)制表示。用于經(jīng)截短的二進(jìn)制碼的輸入的最大符號值為Xmax-2k(2l(x)-1)。
如果前綴并非經(jīng)截短,則TEGk的后綴部分與EGk相同,即,使用k+l(x)個(gè)位的x-2k(2l(x)-1)的二進(jìn)制表示。作為實(shí)例,以下表1包含用于TEG0的若干碼字。
表2-TEG0實(shí)例(X=5)
雖然以上表2的實(shí)例將那個(gè)前綴說明為數(shù)個(gè)0后接續(xù)尾隨的1(例如,00...1_),但應(yīng)理解,在其它實(shí)例中,視頻編碼器20及視頻解碼器30可譯碼數(shù)個(gè)1后接續(xù)尾隨的0(例如,11....0)。
根據(jù)本發(fā)明的方面,視頻編碼器20及視頻解碼器30可使用上文所描述的TEGk碼譯碼行程值。在一些實(shí)例中,視頻編碼器20及視頻解碼器30可針對塊(或CU)中的當(dāng)前像素位置,基于等式(Xmax=當(dāng)前CU中的像素的數(shù)目-按掃描次序的當(dāng)前位置-1)確定最大行程值Xmax。
在另一實(shí)例中,如果行程值首先是使用經(jīng)截短的一元前綴譯碼,則視頻編碼器20及視頻解碼器30可經(jīng)配置以(例如)基于經(jīng)截短的值相應(yīng)地調(diào)整最大行程值。舉例來說,在一些情況下,視頻編碼器20及視頻解碼器30可經(jīng)配置以將行程值譯碼為一系列三個(gè)旗標(biāo):大于0、大于1,及大于2。在此實(shí)例中,如果用信號通知的行程大于2,則視頻編碼器20及視頻解碼器30可譯碼剩余值(例如,行程值-3),可能通過另一種二進(jìn)制化方法,例如上文所描述的指數(shù)哥倫布及哥倫布-萊斯碼或TEGk碼的組合。
然而,如果(N-j-1)等于0,則視頻編碼器20及視頻解碼器30并不譯碼行程。同樣,如果(N-j-1)等于1,則視頻編碼器20及視頻解碼器30可僅譯碼大于0旗標(biāo)。同樣,如果(N-j-1)等于2,則視頻編碼器20及視頻解碼器30可僅譯碼大于0及大于1旗標(biāo)。同樣,如果(N-j-1)等于3,則視頻編碼器20及視頻解碼器30可僅譯碼大于0旗標(biāo)、大于1旗標(biāo)及大于2旗標(biāo)。如果(N-j-1)大于3,則除大于0旗標(biāo)、大于1旗標(biāo)及大于2旗標(biāo)之外,視頻編碼器20及視頻解碼器30也可譯碼高達(dá)最大值為(N-j-4)的剩余值。以類似方式,可將所描述的過程擴(kuò)展到使用除3個(gè)以外的數(shù)個(gè)旗標(biāo),例如,指示大于數(shù)目M的用信號通知的值的旗標(biāo),其中M可為從0開始的非負(fù)值。
根據(jù)本發(fā)明的方面,在上述實(shí)例中,視頻編碼器20及視頻解碼器30可使用上文所描述的TEGk碼譯碼剩余行程長度,其中最大行程值等于(當(dāng)前CU中的像素的數(shù)目-按掃描次序的當(dāng)前位置-4)。在另一實(shí)例中,視頻編碼器20及視頻解碼器30可經(jīng)配置以譯碼指示行程值是否大于0及指示剩余值為行程長度減去一的旗標(biāo)。舉例來說,視頻編碼器20及視頻解碼器30可譯碼大于0旗標(biāo)。視頻編碼器20及視頻解碼器30也可使用TEGk碼譯碼指示行程長度減去一的數(shù)據(jù),其中用于TEGk碼的最大值經(jīng)設(shè)定為等于最大行程長度減去一。在實(shí)例中,視頻編碼器20及視頻解碼器30可將k設(shè)定為等于0,以使得TEGk碼為TEG0碼。
在其它實(shí)例中,視頻編碼器20及視頻解碼器30可使用上文所描述的TEG碼的任何階來譯碼用于調(diào)色板譯碼的語法元素。在實(shí)例中,視頻編碼器20及視頻解碼器30可將k設(shè)定為等于2,以使得TEGk碼為TEG2碼。
雖然上述實(shí)例涉及在調(diào)色板譯碼中譯碼行程值加以描述,但視頻編碼器20及視頻解碼器30可經(jīng)配置以使用所述碼(例如,TEGk碼)來譯碼用于調(diào)色板譯碼的其它語法。舉例來說,如下文更詳細(xì)描述,視頻編碼器20及視頻解碼器30可使用上文所描述的碼來譯碼二進(jìn)制調(diào)色板預(yù)測向量、CopyAbove行程長度或其它值。
在喬希(Joshi)等人的“非SCCE3:用于譯碼索引行程的上下文(Non-SCCE3:Contexts for coding index runs)”(ITU-T SG 16 WP 3及ISO/IEC JTC 1/SC 29/WG 11的視頻譯碼聯(lián)合合作小組(JCT-VC),第18次會(huì)議,日本札幌,2014年6月30日到7月9日,JCTVC-R0174)(在下文中為JCTVC-R0174)中,作者提議在使用CopyLeft模式(例如,所述模式可按與CopyFromTop模式類似的方式操作)的情況下使得行程長度碼字的上下文取決于索引。然而,根據(jù)本發(fā)明的實(shí)例,如果當(dāng)前行程模式為CopyFromAbove,則視頻編碼器20及視頻解碼器30可基于定位于當(dāng)前經(jīng)譯碼的像素上方的像素的索引值確定用于對行程進(jìn)行CABAC譯碼的上下文。在此實(shí)例中,上方相鄰像素在當(dāng)前CU的外部,視頻編碼器20及視頻解碼器30可確定對應(yīng)索引等于預(yù)定義常數(shù)k。在一些實(shí)例中,常數(shù)k可等于0。
在一些實(shí)例中,如果用于譯碼當(dāng)前像素的調(diào)色板模式為CopyFromAbove模式,則視頻編碼器20及視頻解碼器30可基于上方相鄰像素是否具有等于0的索引而選擇兩個(gè)候選CABAC上下文中的一者來譯碼行程長度碼字的第一二進(jìn)制。作為另一實(shí)例,如果用于譯碼當(dāng)前像素的調(diào)色板模式為CopyPrevious模式,則視頻編碼器20及視頻解碼器30可基于索引是等于0、1、2抑或大于2而選擇四個(gè)候選CABAC上下文中的一者來譯碼行程長度碼字的第一二進(jìn)制。
圖2為說明可實(shí)施本發(fā)明的技術(shù)的實(shí)例視頻編碼器20的框圖。出于解釋的目的而提供圖2,且不應(yīng)將所述圖視為對如本發(fā)明中廣泛舉例說明及描述的技術(shù)的限制。出于解釋的目的,本發(fā)明在HEVC譯碼的上下文中描述視頻編碼器20。然而,本發(fā)明的技術(shù)可適用于其它譯碼標(biāo)準(zhǔn)或方法。
視頻編碼器20表示可經(jīng)配置以根據(jù)本發(fā)明中所描述的各種實(shí)例執(zhí)行用于基于調(diào)色板的視頻譯碼的技術(shù)的裝置的實(shí)例。舉例來說,視頻編碼器20可經(jīng)配置以使用基于調(diào)色板的譯碼或非基于調(diào)色板的譯碼選擇性地譯碼視頻數(shù)據(jù)的各種塊(例如,HEVC譯碼中的CU或PU)。非基于調(diào)色板的譯碼模式可指各種幀間預(yù)測性時(shí)間譯碼模式或幀內(nèi)預(yù)測性空間譯碼模式,例如通過HEVC草案10指定的各種譯碼模式。在實(shí)例中,視頻編碼器20可經(jīng)配置以產(chǎn)生具有指示像素值的條目的調(diào)色板,選擇調(diào)色板中的像素值以表示視頻數(shù)據(jù)的塊中的至少一些像素位置的像素值,及用信號通知使視頻數(shù)據(jù)的塊中的像素位置中的至少一些像素位置與調(diào)色板中的條目(所述條目分別對應(yīng)于調(diào)色板中的選定像素值)相關(guān)聯(lián)的信息。用信號通知的信息可由視頻解碼器30使用以解碼視頻數(shù)據(jù)。
在圖2的實(shí)例中,視頻編碼器20包含預(yù)測處理單元100、視頻數(shù)據(jù)存儲(chǔ)器101、殘余產(chǎn)生單元102、變換處理單元104、量化單元106、反量化單元108、反變換處理單元110、重建單元112、濾波器單元114、經(jīng)解碼圖片緩沖器116及熵編碼單元118。預(yù)測處理單元100包含幀間預(yù)測處理單元120及幀內(nèi)預(yù)測處理單元126。幀間預(yù)測處理單元120包含運(yùn)動(dòng)估計(jì)單元及運(yùn)動(dòng)補(bǔ)償單元(未圖示)。視頻編碼器20還包含基于調(diào)色板的編碼單元122,其經(jīng)配置以執(zhí)行本發(fā)明中所描述的基于調(diào)色板的譯碼技術(shù)的各種方面。在其它實(shí)例中,視頻編碼器20可包含較多、較少或不同功能的組件。
視頻數(shù)據(jù)存儲(chǔ)器101可存儲(chǔ)待由視頻編碼器20的組件編碼的視頻數(shù)據(jù)。存儲(chǔ)于視頻數(shù)據(jù)存儲(chǔ)器101中的視頻數(shù)據(jù)可(例如)從視頻源18獲得。經(jīng)解碼圖片緩沖器116可為參考圖片存儲(chǔ)器,其存儲(chǔ)用于由視頻編碼器20在編碼視頻數(shù)據(jù)(例如,在幀內(nèi)或幀間譯碼模式中)時(shí)使用的參考視頻數(shù)據(jù)。視頻數(shù)據(jù)存儲(chǔ)器101及經(jīng)解碼圖片緩沖器116可由多種存儲(chǔ)器裝置中的任一者形成,例如,動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM),包含同步DRAM(SDRAM)、磁阻式RAM(MRAM)、電阻式RAM(RRAM)或其它類型的存儲(chǔ)器裝置。可通過相同存儲(chǔ)器裝置或單獨(dú)存儲(chǔ)器裝置來提供視頻數(shù)據(jù)存儲(chǔ)器101及經(jīng)解碼圖片緩沖器116。在各種實(shí)例中,視頻數(shù)據(jù)存儲(chǔ)器101可與視頻編碼器20的其它組件一起在芯片上,或相對于那些組件來說在芯片外。
視頻編碼器20可接收視頻數(shù)據(jù)。視頻編碼器20可編碼視頻數(shù)據(jù)的圖片的切片中的每一CTU。CTU中的每一者可與圖片的相等大小的明度譯碼樹型塊(CTB)及對應(yīng)CTB相關(guān)聯(lián)。作為編碼CTU的部分,預(yù)測處理單元100可執(zhí)行四分樹分割以將CTU的CTB劃分成逐漸較小的塊。所述較小塊可為CU的譯碼塊。舉例來說,預(yù)測處理單元100可將與CTU相關(guān)聯(lián)的CTB分割成四個(gè)相等大小的子塊,將所述子塊中的一或多者分割成四個(gè)相等大小的子子塊,等等。
視頻編碼器20可編碼CTU的CU以產(chǎn)生CU的經(jīng)編碼表示(即,經(jīng)譯碼CU)。作為編碼CU的部分,預(yù)測處理單元100可在CU的一或多個(gè)PU當(dāng)中分割與CU相關(guān)聯(lián)的譯碼塊。因此,每一PU可與明度預(yù)測塊及對應(yīng)的色度預(yù)測塊相關(guān)聯(lián)。視頻編碼器20及視頻解碼器30可支持具有各種大小的PU。如上文所指示,CU的大小可指CU的明度譯碼塊的大小,且PU的大小可指PU的明度預(yù)測塊的大小。假定特定CU的大小為2N×2N,則視頻編碼器20及視頻解碼器30可支持用于幀內(nèi)預(yù)測的2N×2N或N×N的PU大小,及用于幀間預(yù)測的2N×2N、2N×N、N×2N、N×N或類似大小的對稱PU大小。視頻編碼器20及視頻解碼器30也可支持用于幀間預(yù)測的2N×nU、2N×nD、nL×2N及nR×2N的PU大小的不對稱分割。
幀間預(yù)測處理單元120可通過對CU的每一PU執(zhí)行幀間預(yù)測而產(chǎn)生用于PU的預(yù)測性數(shù)據(jù)。用于PU的預(yù)測性數(shù)據(jù)可包含PU的預(yù)測性塊及用于PU的運(yùn)動(dòng)信息。取決于PU是在I切片中、P切片中抑或B切片中,幀間預(yù)測單元121可針對CU的PU執(zhí)行不同操作。在I切片中,所有PU經(jīng)幀內(nèi)預(yù)測。因此,如果PU是在I切片中,則幀間預(yù)測單元121并不對PU執(zhí)行幀間預(yù)測。因此,對于在I模式中編碼的塊,經(jīng)預(yù)測的塊是使用空間預(yù)測從同一幀內(nèi)的先前經(jīng)編碼的相鄰塊而形成。
如果PU是在P切片中,則幀間預(yù)測處理單元120的運(yùn)動(dòng)估計(jì)單元可在用于PU的參考區(qū)的參考圖片列表(例如,“RefPicList0”)中搜尋參考圖片。PU的參考區(qū)可為參考圖片內(nèi)含有最緊密地對應(yīng)于PU的樣本塊的樣本塊的區(qū)。運(yùn)動(dòng)估計(jì)單元可產(chǎn)生指示含有用于PU的參考區(qū)的參考圖片的RefPicList0中的位置的參考索引。另外,運(yùn)動(dòng)估計(jì)單元可產(chǎn)生指示PU的譯碼塊與相關(guān)聯(lián)于參考區(qū)的參考位置之間的空間位移的MV。舉例來說,MV可為提供從當(dāng)前經(jīng)解碼圖片中的座標(biāo)到參考圖片中的座標(biāo)的偏移的二維向量。運(yùn)動(dòng)估計(jì)單元可輸出參考索引及MV作為PU的運(yùn)動(dòng)信息。幀間預(yù)測處理單元120的運(yùn)動(dòng)補(bǔ)償單元可基于通過PU的運(yùn)動(dòng)向量指示的參考位置處的實(shí)際或經(jīng)內(nèi)插的樣本而產(chǎn)生PU的預(yù)測性塊。
如果PU是在B切片中,則運(yùn)動(dòng)估計(jì)單元可針對PU執(zhí)行單向預(yù)測或雙向預(yù)測。為了針對PU執(zhí)行單向預(yù)測,運(yùn)動(dòng)估計(jì)單元可搜尋RefPicList0的參考圖片,或用于PU的參考區(qū)的第二參考圖片列表(“RefPicList1”)。運(yùn)動(dòng)估計(jì)單元可輸出以下各者作為PU的運(yùn)動(dòng)信息:指示含有參考區(qū)的參考圖片的RefPicList0或RefPicList1中的位置的參考索引、指示PU的預(yù)測塊與相關(guān)聯(lián)于參考區(qū)的參考位置之間的空間位移的MV,及指示參考圖片在RefPicList0抑或在RefPicList1中的一或多個(gè)預(yù)測方向指示符。幀間預(yù)測處理單元120的運(yùn)動(dòng)補(bǔ)償單元可至少部分地基于通過PU的運(yùn)動(dòng)向量指示的參考區(qū)處的實(shí)際或經(jīng)內(nèi)插的樣本而產(chǎn)生PU的預(yù)測性塊。
為了針對PU執(zhí)行雙向幀間預(yù)測,運(yùn)動(dòng)估計(jì)單元可在用于PU的參考區(qū)的RefPicList0中搜尋參考圖片,且也可在用于PU的另一參考區(qū)的RefPicList1中搜尋參考圖片。運(yùn)動(dòng)估計(jì)單元可產(chǎn)生指示含有參考區(qū)的參考圖片的RefPicList0及RefPicList1中的位置的參考圖片索引。另外,運(yùn)動(dòng)估計(jì)單元可產(chǎn)生指示相關(guān)聯(lián)于參考區(qū)的參考位置與PU的樣本塊之間的空間位移的MV。PU的運(yùn)動(dòng)信息可包含PU的參考索引及MV。運(yùn)動(dòng)補(bǔ)償單元可至少部分地基于通過PU的運(yùn)動(dòng)向量指示的參考區(qū)處的實(shí)際或經(jīng)內(nèi)插的樣本而產(chǎn)生PU的預(yù)測性塊。
根據(jù)本發(fā)明的各種實(shí)例,視頻編碼器20可經(jīng)配置以執(zhí)行基于調(diào)色板的譯碼。關(guān)于HEVC構(gòu)架,作為實(shí)例,基于調(diào)色板的譯碼技術(shù)可經(jīng)配置以用作譯碼單元(CU)模式。在其它實(shí)例中,基于調(diào)色板的譯碼技術(shù)可經(jīng)配置以用作HEVC的構(gòu)架中的PU模式。因此,本文中(貫穿本發(fā)明)在CU模式的上下文中描述的全部所揭示過程可另外或替代地適用于PU。然而,這些基于HEVC的實(shí)例不應(yīng)被視為限定或限制本文中所描述的基于調(diào)色板的譯碼技術(shù),因而,這些技術(shù)可適用于獨(dú)立地或作為其它現(xiàn)有或尚待開發(fā)的系統(tǒng)/標(biāo)準(zhǔn)的部分而工作。在這些狀況下,用于調(diào)色板譯碼的單元可為正方形塊、矩形塊或甚至非矩形形狀的區(qū)。
當(dāng)(例如)針對CU或PU選擇基于調(diào)色板的編碼模式時(shí),基于調(diào)色板的編碼單元122(例如)可執(zhí)行基于調(diào)色板的解碼。舉例來說,基于調(diào)色板的編碼單元122可經(jīng)配置以產(chǎn)生具有指示像素值的條目的調(diào)色板,選擇調(diào)色板中的像素值以表示視頻數(shù)據(jù)的塊中的至少一些位置的像素值,及用信號通知使視頻數(shù)據(jù)的塊的位置中的至少一些位置與調(diào)色板中的條目(所述條目分別對應(yīng)于選定像素值)相關(guān)聯(lián)的信息。盡管將各種功能描述為由基于調(diào)色板的編碼單元122執(zhí)行,但這些功能中的一些或全部可由其它處理單元或不同處理單元的組合來執(zhí)行。
根據(jù)本發(fā)明的方面,基于調(diào)色板的編碼單元122可經(jīng)配置以執(zhí)行本文中所描述的用于調(diào)色板譯碼的技術(shù)的任何組合。舉例來說,根據(jù)本發(fā)明的方面,基于調(diào)色板的編碼單元122可確定語法元素的值,所述語法元素指示對于視頻數(shù)據(jù)的塊的所有樣本來說,塊的至少一個(gè)相應(yīng)樣本是否通過第一調(diào)色板模式譯碼,其中第一調(diào)色板模式包含譯碼塊的相應(yīng)樣本,而不使用到用于塊的色彩值的調(diào)色板的索引。舉例來說,基于調(diào)色板的編碼單元122可確定塊層級語法元素的值,所述塊層級語法元素指示塊的任何樣本是否經(jīng)編碼為逃脫樣本(經(jīng)編碼為并不具有在用于譯碼塊的調(diào)色板中表示的色彩值的樣本)。在一些實(shí)例中,基于調(diào)色板的編碼單元122可確定用于塊的逃脫旗標(biāo),所述逃脫旗標(biāo)指示塊的任何樣本是否經(jīng)編碼為逃脫樣本。
另外或替代地,基于調(diào)色板的編碼單元122可確定以下各數(shù)據(jù)中的至少一者:指示用于譯碼視頻數(shù)據(jù)的塊的色彩值的調(diào)色板的最大調(diào)色板大小的數(shù)據(jù),或指示用于確定色彩值的調(diào)色板的調(diào)色板預(yù)測符的最大調(diào)色板預(yù)測符大小的數(shù)據(jù)。舉例來說,基于調(diào)色板的編碼單元122可將此數(shù)據(jù)包含于例如SPS的參數(shù)集中。
另外或替代地,基于調(diào)色板的編碼單元122可針對與調(diào)色板索引相關(guān)聯(lián)的像素確定通過像素的調(diào)色板索引譯碼的調(diào)色板索引的行程的行程長度,所述調(diào)色板索引使像素的值與用于譯碼像素的色彩的調(diào)色板中的色彩值相關(guān)。即,基于調(diào)色板的編碼單元122可確定:用于特定樣本的索引值是通過其它后續(xù)調(diào)色板索引的行程編碼?;谡{(diào)色板的編碼單元122也可確定用于能夠通過像素的調(diào)色板索引編碼的調(diào)色板索引的最大行程的最大行程長度。如下文關(guān)于熵編碼單元118更詳細(xì)描述,視頻編碼器20可基于所確定的最大行程長度編碼指示行程長度的數(shù)據(jù)。
幀內(nèi)預(yù)測處理單元126可通過對PU執(zhí)行幀內(nèi)預(yù)測而產(chǎn)生用于PU的預(yù)測性數(shù)據(jù)。用于PU的預(yù)測性數(shù)據(jù)可包含用于PU的預(yù)測性塊及各種語法元素。幀內(nèi)預(yù)測處理單元126可對I切片中、P切片中及B切片中的PU執(zhí)行幀內(nèi)預(yù)測。
為了對PU執(zhí)行幀內(nèi)預(yù)測,幀內(nèi)預(yù)測處理單元126可使用多個(gè)幀內(nèi)預(yù)測模式,以產(chǎn)生用于PU的多組預(yù)測性數(shù)據(jù)。幀內(nèi)預(yù)測處理單元126可使用來自相鄰PU的樣本塊的樣本來產(chǎn)生用于PU的預(yù)測性塊。對于PU、CU及CTU,假定從左到右、從上而下的編碼次序,則相鄰PU可在PU上方、右上方、左上方或左邊。幀內(nèi)預(yù)測處理單元126可使用各種數(shù)目種幀內(nèi)預(yù)測模式,例如,33種定向幀內(nèi)預(yù)測模式。在一些實(shí)例中,幀內(nèi)預(yù)測模式的數(shù)目可取決于與PU相關(guān)聯(lián)的區(qū)的大小。
預(yù)測處理單元100可從由幀間預(yù)測處理單元120針對PU產(chǎn)生的預(yù)測性數(shù)據(jù)或由幀內(nèi)預(yù)測處理單元126針對PU產(chǎn)生的預(yù)測性數(shù)據(jù)當(dāng)中選擇用于CU的PU的預(yù)測性數(shù)據(jù)。在一些實(shí)例中,預(yù)測處理單元100基于數(shù)組預(yù)測性數(shù)據(jù)的速率/失真度量而選擇用于CU的PU的預(yù)測性數(shù)據(jù)。選定預(yù)測性數(shù)據(jù)的預(yù)測性塊在本文中可被稱作選定預(yù)測性塊。
殘余產(chǎn)生單元102可基于CU的明度、Cb及Cr譯碼塊及CU的PU的選定預(yù)測性明度、Cb及Cr塊產(chǎn)生CU的明度、Cb及Cr殘余塊。舉例來說,殘余產(chǎn)生單元102可產(chǎn)生CU的殘余塊,使得殘余塊中的每一樣本具有等于CU的譯碼塊中的樣本與CU的PU的對應(yīng)的選定預(yù)測性塊中的對應(yīng)樣本之間的差的值。
變換處理單元104可執(zhí)行四分樹分割以將與CU相關(guān)聯(lián)的殘余塊分割成與CU的TU相關(guān)聯(lián)的變換塊。因此,TU可與明度變換塊及兩個(gè)色度變換塊相關(guān)聯(lián)。CU的TU的明度變換塊及色度變換塊的大小及位置可基于或可能不基于CU的PU的預(yù)測塊的大小及位置。被稱為“殘余四分樹”(RQT)的四分樹結(jié)構(gòu)可包含與區(qū)中的每一者相關(guān)聯(lián)的節(jié)點(diǎn)。CU的TU可對應(yīng)于RQT的葉節(jié)點(diǎn)。
變換處理單元104可通過將一或多個(gè)變換應(yīng)用于TU的變換塊而產(chǎn)生用于CU的每一TU的變換系數(shù)塊。變換處理單元104可將各種變換應(yīng)用于與TU相關(guān)聯(lián)的變換塊。舉例來說,變換處理單元104可將離散余弦變換(DCT)、定向變換或概念上類似的變換應(yīng)用于變換塊。在一些實(shí)例中,變換處理單元104并不將變換應(yīng)用于變換塊。在這些實(shí)例中,可將變換塊處理為變換系數(shù)塊。
量化單元106可將系數(shù)塊中的變換系數(shù)量化。量化過程可減少與變換系數(shù)中的一些或全部相關(guān)聯(lián)的位深度。舉例來說,在量化期間,可將n位變換系數(shù)降值舍位到m位變換系數(shù),其中n大于m。量化單元106可基于與CU相關(guān)聯(lián)的量化參數(shù)(QP)值將與CU的TU相關(guān)聯(lián)的系數(shù)塊量化。視頻編碼器20可通過調(diào)整與CU相關(guān)聯(lián)的QP值來調(diào)整應(yīng)用于與CU相關(guān)聯(lián)的系數(shù)塊的量化程度。量化可引入信息的損失,因此經(jīng)量化的變換系數(shù)可具有比原始變換系數(shù)低的精度。
反量化單元108及反變換處理單元110可分別將反量化及反變換應(yīng)用于系數(shù)塊,以從系數(shù)塊重建殘余塊。重建單元112可將經(jīng)重建的殘余塊添加到來自由預(yù)測處理單元100產(chǎn)生的一或多個(gè)預(yù)測性塊的對應(yīng)樣本,以產(chǎn)生與TU相關(guān)聯(lián)的經(jīng)重建的變換塊。通過以此方式重建CU的每一TU的變換塊,視頻編碼器20可重建CU的譯碼塊。
濾波器單元114可執(zhí)行一或多個(gè)解塊操作以減少與CU相關(guān)聯(lián)的譯碼塊中的塊偽影。在濾波器單元114對經(jīng)重建的譯碼塊執(zhí)行一或多個(gè)解塊操作之后,經(jīng)解碼圖片緩沖器116可存儲(chǔ)經(jīng)重建的譯碼塊。幀間預(yù)測處理單元120可使用含有經(jīng)重建的譯碼塊的參考圖片來對其它圖片的PU執(zhí)行幀間預(yù)測。另外,幀內(nèi)預(yù)測處理單元126可使用經(jīng)解碼圖片緩沖器116中的經(jīng)重建的譯碼塊來對與CU位于相同圖片中的其它PU執(zhí)行幀內(nèi)預(yù)測。
熵編碼單元118可從視頻編碼器20的其它功能組件接收數(shù)據(jù)。舉例來說,熵編碼單元118可從量化單元106接收系數(shù)塊,并可從預(yù)測處理單元100接收語法元素。熵編碼單元118可對數(shù)據(jù)執(zhí)行一或多個(gè)熵編碼操作以產(chǎn)生經(jīng)熵編碼的數(shù)據(jù)。舉例來說,熵編碼單元118可對數(shù)據(jù)執(zhí)行上下文自適應(yīng)性可變長度譯碼(CAVLC)操作、CABAC操作、可變到可變(V2V)長度譯碼操作、基于語法的上下文自適應(yīng)性二進(jìn)制算術(shù)譯碼(SBAC)操作、概率區(qū)間分割熵(PIPE)譯碼操作、指數(shù)哥倫布編碼操作或另一類型的熵編碼操作。視頻編碼器20可輸出包含由熵編碼單元118產(chǎn)生的經(jīng)熵編碼的數(shù)據(jù)的位流。舉例來說,位流可包含表示用于CU的RQT的數(shù)據(jù)。
根據(jù)本發(fā)明的方面,熵編碼單元118可經(jīng)配置以使用TEGk碼譯碼調(diào)色板數(shù)據(jù),如上文關(guān)于圖1的實(shí)例所描述。詳言之,根據(jù)本發(fā)明的方面,熵編碼單元118可基于所確定的最大行程長度編碼指示調(diào)色板索引的行程的行程長度的數(shù)據(jù)。在一些實(shí)例中,熵編碼單元118可使用TEG2碼編碼行程長度。
圖3為說明經(jīng)配置以實(shí)施本發(fā)明的技術(shù)的實(shí)例視頻解碼器30的框圖。出于解釋的目的而提供圖3,且其并不限制如本發(fā)明中廣泛舉例說明及描述的技術(shù)。出于解釋的目的,本發(fā)明在HEVC譯碼的上下文中描述視頻解碼器30。然而,本發(fā)明的技術(shù)可適用于其它譯碼標(biāo)準(zhǔn)或方法。
視頻編碼器20表示可經(jīng)配置以根據(jù)本發(fā)明中所描述的各種實(shí)例執(zhí)行用于基于調(diào)色板的視頻譯碼的技術(shù)的裝置的實(shí)例。舉例來說,視頻編碼器20可經(jīng)配置以使用基于調(diào)色板的譯碼或非基于調(diào)色板的譯碼選擇性地解碼視頻數(shù)據(jù)的各種塊(例如,HEVC譯碼中的CU或PU)。非基于調(diào)色板的譯碼模式可指各種幀間預(yù)測性時(shí)間譯碼模式或幀內(nèi)預(yù)測性空間譯碼模式,例如通過HEVC草案10指定的各種譯碼模式。在實(shí)例中,視頻解碼器30可經(jīng)配置以產(chǎn)生具有指示像素值的條目的調(diào)色板,接收使視頻數(shù)據(jù)的塊中的至少一些像素位置與調(diào)色板中的條目相關(guān)聯(lián)的信息,基于信息選擇調(diào)色板中的像素值,及基于調(diào)色板中的選定像素值重建塊的像素值。
在圖3的實(shí)例中,視頻解碼器30包含熵解碼單元150、視頻數(shù)據(jù)存儲(chǔ)器151、預(yù)測處理單元152、反量化單元154、反變換處理單元156、重建單元158、濾波器單元160,及經(jīng)解碼圖片緩沖器162。預(yù)測處理單元152包含運(yùn)動(dòng)補(bǔ)償單元164及幀內(nèi)預(yù)測處理單元166。視頻解碼器30還包含基于調(diào)色板的解碼單元165,其經(jīng)配置以執(zhí)行本發(fā)明中所描述的基于調(diào)色板的譯碼技術(shù)的各種方面。在其它實(shí)例中,視頻解碼器30可包含較多、較少或不同功能的組件。
視頻數(shù)據(jù)存儲(chǔ)器151可存儲(chǔ)待由視頻解碼器30的組件解碼的視頻數(shù)據(jù)(例如,經(jīng)編碼視頻位流)???例如)從信道16(例如,從本地視頻源,例如攝像機(jī))、經(jīng)由視頻數(shù)據(jù)的有線或無線網(wǎng)絡(luò)通信,或通過存取物理數(shù)據(jù)存儲(chǔ)媒體獲得存儲(chǔ)于視頻數(shù)據(jù)存儲(chǔ)器151中的視頻數(shù)據(jù)。視頻數(shù)據(jù)存儲(chǔ)器151可形成存儲(chǔ)來自經(jīng)編碼視頻位流的經(jīng)編碼視頻數(shù)據(jù)的經(jīng)譯碼圖片緩沖器(CPB)。經(jīng)解碼圖片緩沖器162可為存儲(chǔ)用于由視頻解碼器30在解碼視頻數(shù)據(jù)(例如,以幀內(nèi)或幀間譯碼模式)時(shí)使用的參考視頻數(shù)據(jù)的參考圖片存儲(chǔ)器。視頻數(shù)據(jù)存儲(chǔ)器151及經(jīng)解碼圖片緩沖器162可由多種存儲(chǔ)器裝置中的任一者形成,例如,動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM),包含同步DRAM(SDRAM)、磁阻式RAM(MRAM)、電阻式RAM(RRAM)或其它類型的存儲(chǔ)器裝置??赏ㄟ^相同存儲(chǔ)器裝置或單獨(dú)存儲(chǔ)器裝置來提供視頻數(shù)據(jù)存儲(chǔ)器151及經(jīng)解碼圖片緩沖器162。在各種實(shí)例中,視頻數(shù)據(jù)存儲(chǔ)器151可與視頻解碼器30的其它組件一起在芯片上,或相對于那些組件來說在芯片外。
經(jīng)譯碼圖片緩沖器(CPB)可接收并存儲(chǔ)位流的經(jīng)編碼視頻數(shù)據(jù)(例如,NAL單元)。熵解碼單元150可從CPB接收經(jīng)編碼視頻數(shù)據(jù)(例如,NAL單元)并剖析NAL單元以解碼語法元素。熵解碼單元150可對NAL單元中的經(jīng)熵編碼的語法元素進(jìn)行熵解碼。
根據(jù)本發(fā)明的方面,熵解碼單元150可經(jīng)配置以使用TEGk碼解碼調(diào)色板數(shù)據(jù),如上文關(guān)于圖1的實(shí)例所描述。詳言之,根據(jù)本發(fā)明的方面,熵解碼單元150可基于所確定的最大行程長度解碼指示調(diào)色板索引的行程(例如,具有相同值的索引的行程或從上方相鄰索引復(fù)制的索引的行程)的行程長度的數(shù)據(jù)。在一些實(shí)例中,熵解碼單元150可使用TEG2碼解碼行程長度。
預(yù)測處理單元152、反量化單元154、反變換處理單元156、重建單元158及濾波器單元160可基于從位流提取的語法元素產(chǎn)生經(jīng)解碼視頻數(shù)據(jù)。位流的NAL單元可包含經(jīng)譯碼切片NAL單元。作為解碼位流的部分,熵解碼單元150可提取及熵解碼來自經(jīng)譯碼切片NAL單元的語法元素。經(jīng)譯碼切片中的每一者可包含切片標(biāo)頭及切片數(shù)據(jù)。切片標(biāo)頭可含有關(guān)于切片的語法元素。切片標(biāo)頭中的語法元素可包含識(shí)別與含有切片的圖片相關(guān)聯(lián)的PPS的語法元素。
除解碼來自位流的語法元素之外,視頻解碼器30也可對未經(jīng)分割的CU執(zhí)行重建操作。為了對未經(jīng)分割的CU執(zhí)行重建操作,視頻解碼器30可對CU的每一TU執(zhí)行重建操作。通過對CU的每一TU執(zhí)行重建操作,視頻解碼器30可重建CU的殘余塊。
作為對CU的TU執(zhí)行重建操作的部分,反量化單元154可對與TU相關(guān)聯(lián)的系數(shù)塊進(jìn)行反量化(即,解量化)。反量化單元154可使用與TU的CU相關(guān)聯(lián)的QP值來確定量化程度且同樣地確定反量化單元154應(yīng)用的反量化程度。即,可通過調(diào)整在將變換系數(shù)量化時(shí)使用的QP的值來控制壓縮比,即,用以表示原始序列及經(jīng)壓縮序列的位的數(shù)目的比率。壓縮比也可取決于所使用的熵譯碼的方法。
在反量化單元154對系數(shù)塊進(jìn)行反量化之后,反變換處理單元156可將一或多個(gè)反變換應(yīng)用于系數(shù)塊以便產(chǎn)生與TU相關(guān)聯(lián)的殘余塊。舉例來說,反變換處理單元156可將反DCT、反整數(shù)變換、反卡忽南-拉維(Karhunen-Loeve)變換(KLT)、反旋轉(zhuǎn)變換、反定向變換或另一反變換應(yīng)用于系數(shù)塊。
如果PU是使用幀內(nèi)預(yù)測來編碼,則幀內(nèi)預(yù)測處理單元166可執(zhí)行幀內(nèi)預(yù)測來產(chǎn)生用于PU的預(yù)測性塊。幀內(nèi)預(yù)測處理單元166可使用幀內(nèi)預(yù)測模式來基于空間上相鄰的PU的預(yù)測塊產(chǎn)生用于PU的預(yù)測性明度、Cb及Cr塊。幀內(nèi)預(yù)測處理單元166可基于從位流解碼的一或多個(gè)語法元素確定用于PU的幀內(nèi)預(yù)測模式。
預(yù)測處理單元152可基于從位流提取的語法元素建構(gòu)第一參考圖片列表(RefPicList0)及第二參考圖片列表(RefPicList1)。此外,如果PU是使用幀間預(yù)測來編碼,則熵解碼單元150可提取用于PU的運(yùn)動(dòng)信息。運(yùn)動(dòng)補(bǔ)償單元164可基于PU的運(yùn)動(dòng)信息而確定用于PU的一或多個(gè)參考區(qū)。運(yùn)動(dòng)補(bǔ)償單元164可基于用于PU的一或多個(gè)參考塊處的樣本塊產(chǎn)生用于PU的預(yù)測性明度、Cb及Cr塊。
重建單元158可在適用時(shí)使用與CU的TU相關(guān)聯(lián)的明度、Cb及Cr變換塊以及CU的PU的預(yù)測性明度、Cb及Cr塊(即,幀內(nèi)預(yù)測數(shù)據(jù)或幀間預(yù)測數(shù)據(jù))來重建CU的明度、Cb及Cr譯碼塊。舉例來說,重建單元158可將明度、Cb及Cr變換塊的樣本添加到預(yù)測性明度、Cb及Cr塊的對應(yīng)樣本以重建CU的明度、Cb及Cr譯碼塊。
濾波器單元160可執(zhí)行解塊操作以減少與CU的明度、Cb及Cr譯碼塊相關(guān)聯(lián)的塊偽影。視頻解碼器30可將CU的明度、Cb及Cr譯碼塊存儲(chǔ)于經(jīng)解碼圖片緩沖器162中。經(jīng)解碼圖片緩沖器162可提供參考圖片以用于后續(xù)運(yùn)動(dòng)補(bǔ)償、幀內(nèi)預(yù)測及在顯示裝置(例如,圖1的顯示裝置32)上的呈現(xiàn)。舉例來說,視頻解碼器30可基于經(jīng)解碼圖片緩沖器162中的明度、Cb及Cr塊對其它CU的PU執(zhí)行幀內(nèi)預(yù)測或幀間預(yù)測操作。
根據(jù)本發(fā)明的各種實(shí)例,視頻解碼器30可經(jīng)配置以執(zhí)行基于調(diào)色板的譯碼。當(dāng)基于調(diào)色板的解碼模式經(jīng)選擇(例如)用于CU或PU時(shí),基于調(diào)色板的解碼單元165(例如)可執(zhí)行基于調(diào)色板的解碼。舉例來說,基于調(diào)色板的解碼單元165可經(jīng)配置以產(chǎn)生具有指示像素值的條目的調(diào)色板,接收使視頻數(shù)據(jù)的塊中的至少一些像素位置與調(diào)色板中的條目相關(guān)聯(lián)的信息,基于信息選擇調(diào)色板中的像素值,及基于調(diào)色板中的選定像素值重建塊的像素值。盡管各種功能經(jīng)描述為由基于調(diào)色板的解碼單元165執(zhí)行,但這些功能中的一些或全部可由其它處理單元或不同處理單元的組合來執(zhí)行。
基于調(diào)色板的解碼單元165可接收調(diào)色板譯碼模式信息,并在調(diào)色板譯碼模式信息指示調(diào)色板譯碼模式適用于塊時(shí)執(zhí)行上述操作。當(dāng)調(diào)色板譯碼模式信息指示調(diào)色板譯碼模式并不適用于塊時(shí),或當(dāng)其它模式信息指示對不同模式的使用時(shí),視頻解碼器30可使用非基于調(diào)色板的譯碼模式(例如,例如HEVC幀間預(yù)測性或幀內(nèi)預(yù)測性譯碼模式)解碼視頻數(shù)據(jù)的塊。視頻數(shù)據(jù)的塊可為(例如)根據(jù)HEVC譯碼過程產(chǎn)生的CU或PU。
根據(jù)本發(fā)明的方面,基于調(diào)色板的解碼單元165可經(jīng)配置以執(zhí)行本文中所描述的用于調(diào)色板譯碼的技術(shù)的任何組合。舉例來說,根據(jù)本發(fā)明的方面,基于調(diào)色板的解碼單元165可確定語法元素的值,所述語法元素指示對于視頻數(shù)據(jù)的塊的所有樣本來說,塊的至少一個(gè)相應(yīng)樣本是否通過第一調(diào)色板模式譯碼,其中第一調(diào)色板模式包含譯碼塊的相應(yīng)樣本,而不使用到用于塊的色彩值的調(diào)色板的索引。舉例來說,基于調(diào)色板的解碼單元165可確定塊層級語法元素的值,所述塊層級語法元素指示塊的任何樣本是否欲解碼為逃脫樣本(例如,可能并不使用來自調(diào)色板的色彩條目重建的樣本)。在一些實(shí)例中,基于調(diào)色板的解碼單元165可確定用于塊的一位逃脫旗標(biāo),所述一位逃脫旗標(biāo)指示塊的任何樣本是否欲解碼為逃脫樣本。
另外或替代地,基于調(diào)色板的解碼單元165可確定以下各數(shù)據(jù)中的至少一者:指示用于譯碼視頻數(shù)據(jù)的塊的色彩值的調(diào)色板的最大調(diào)色板大小的數(shù)據(jù),或指示用于確定色彩值的調(diào)色板的調(diào)色板預(yù)測符的最大調(diào)色板預(yù)測符大小的數(shù)據(jù)。舉例來說,基于調(diào)色板的解碼單元165可從例如SPS的參數(shù)集中解碼此數(shù)據(jù)。
另外或替代地,基于調(diào)色板的解碼單元165可針對與調(diào)色板索引相關(guān)聯(lián)的像素確定通過像素的調(diào)色板索引一起譯碼的調(diào)色板索引的行程(例如,具有相同值的索引的行程或從上方相鄰索引復(fù)制的索引的行程)的行程長度,所述調(diào)色板索引使像素的值與用于譯碼像素的色彩的調(diào)色板中的色彩值相關(guān)。即,基于調(diào)色板的解碼單元165可確定:用于特定樣本的索引值是通過其它后續(xù)調(diào)色板索引的行程來解碼?;谡{(diào)色板的解碼單元165也可確定用于能夠通過像素的調(diào)色板索引解碼的調(diào)色板索引的最大行程的最大行程長度。如上文關(guān)于熵解碼單元150所提及,視頻解碼器30可基于所確定的最大行程長度解碼指示行程長度的數(shù)據(jù)。
圖4為說明與本發(fā)明的技術(shù)一致的確定用于譯碼視頻數(shù)據(jù)的調(diào)色板的實(shí)例的概念圖。圖4的實(shí)例包含圖片178,其具有與第一調(diào)色板184相關(guān)聯(lián)的第一譯碼單元(CU)180及與第二調(diào)色板192相關(guān)聯(lián)的第二CU 188。如下文更詳細(xì)描述且根據(jù)本發(fā)明的技術(shù),第二調(diào)色板192是基于第一調(diào)色板184。圖片178也包含通過幀內(nèi)預(yù)測譯碼模式譯碼的塊196及通過幀間預(yù)測譯碼模式譯碼的塊200。
出于解釋的目的,在視頻編碼器20(圖1及圖2)及視頻解碼器30(圖1及圖3)的上下文中并關(guān)于HEVC視頻譯碼標(biāo)準(zhǔn)描述圖4的技術(shù)。然而,應(yīng)理解,本發(fā)明的技術(shù)不限于此方式,且可由其它視頻譯碼處理器及/或裝置在其它視頻譯碼過程及/或標(biāo)準(zhǔn)中應(yīng)用。
大體來說,調(diào)色板是指對于當(dāng)前經(jīng)譯碼的CU(在圖4的實(shí)例中為CU 188)來說為主要的及/或代表性的數(shù)個(gè)像素值。第一調(diào)色板184及第二調(diào)色板192經(jīng)展示為包含多個(gè)調(diào)色板。在一些實(shí)例中,根據(jù)本發(fā)明的方面,視頻譯碼器(例如,視頻編碼器20或視頻解碼器30)可針對CU的每一色彩分量單獨(dú)地譯碼調(diào)色板。舉例來說,視頻編碼器20可編碼用于CU的明度(Y)分量的調(diào)色板、用于CU的色度(U)分量的另一調(diào)色板,及用于CU的色度(V)分量的又一調(diào)色板。在此實(shí)例中,Y調(diào)色板的條目可表示CU的像素的Y值,U調(diào)色板的條目可表示CU的像素的U值,且V調(diào)色板的條目可表示CU的像素的V值。
在其它實(shí)例中,視頻編碼器20可編碼用于CU的全部色彩分量的單一調(diào)色板。在此實(shí)例中,視頻編碼器20可編碼具有為三重值(包含Yi、Ui及Vi)的第i個(gè)條目的調(diào)色板。在此狀況下,調(diào)色板包含用于像素的分量中的每一者的值。因此,呈具有多個(gè)個(gè)別調(diào)色板的一組調(diào)色板形式的第一調(diào)色板184及192的表示僅為實(shí)例且并不意欲為限制性的。
在圖4的實(shí)例中,第一調(diào)色板184包含分別具有條目索引值1、條目索引值2及條目索引值3的三個(gè)條目202到206。條目202到206分別使調(diào)色板索引與包含像素值A(chǔ)、像素值B及像素值C的像素值相關(guān)。如本文所描述,并非譯碼第一CU 180的實(shí)際像素值,而是視頻譯碼器(例如,視頻編碼器20或視頻解碼器30)可使用基于調(diào)色板的譯碼來使用調(diào)色板索引1到3譯碼塊的像素。即,對于第一CU 180的每一像素位置,視頻編碼器20可編碼像素的索引值,其中索引值與第一調(diào)色板184中的一或多者中的像素值相關(guān)聯(lián)。視頻解碼器30可從位流中獲得調(diào)色板索引且使用調(diào)色板索引及第一調(diào)色板184中的一或多者重建像素值。因此,第一調(diào)色板184是由視頻編碼器20在經(jīng)編碼視頻數(shù)據(jù)位流中發(fā)射以供視頻解碼器30在進(jìn)行基于調(diào)色板的解碼時(shí)使用。
根據(jù)本發(fā)明的方面,可針對第一調(diào)色板184用信號通知最大調(diào)色板大小。舉例來說,根據(jù)本發(fā)明的方面,視頻編碼器20及視頻解碼器30可經(jīng)配置以譯碼指示最大調(diào)色板大小(例如,就可包含于第一調(diào)色板184中的條目的數(shù)目來說)的數(shù)據(jù)。在一些實(shí)例中,指示最大調(diào)色板大小的一或多個(gè)語法元素(例如,MAX_PLT_SIZE)可包含于對于CU 180來說為作用中的SPS中。在其它實(shí)例中,指示最大調(diào)色板大小的一或多個(gè)語法元素可包含于另一參數(shù)集(例如,VPS或PPS)中,或可包含于標(biāo)頭數(shù)據(jù)(例如,切片標(biāo)頭數(shù)據(jù)或與LCU或CU相關(guān)聯(lián)的數(shù)據(jù))中。
在一些實(shí)例中,視頻編碼器20及視頻解碼器30可使用指示最大調(diào)色板大小的一或多個(gè)語法元素而變化,最大調(diào)色板大小可基于經(jīng)譯碼的視頻數(shù)據(jù)的特定簡檔、層級或位深度。在其它實(shí)例中,視頻編碼器20及視頻解碼器30可使用指示調(diào)色板大小的一或多個(gè)語法元素而變化,最大調(diào)色板大小可基于經(jīng)譯碼的塊(例如,CU 180)的大小。
在實(shí)例中,出于說明的目的,視頻編碼器20及視頻解碼器30可在針對CU 180建構(gòu)第一調(diào)色板184時(shí)使用指示最大調(diào)色板大小的數(shù)據(jù)。舉例來說,視頻編碼器20及視頻解碼器30可繼續(xù)添加條目到第一調(diào)色板184,直到達(dá)到通過數(shù)據(jù)指示的最大調(diào)色板大小為止。視頻編碼器20及視頻解碼器30可接著使用所建構(gòu)的第一調(diào)色板184來譯碼CU 180。
在一些實(shí)例中,視頻編碼器20及視頻解碼器30可基于第一調(diào)色板184確定第二調(diào)色板192。舉例來說,視頻編碼器20及/或視頻解碼器30可定位供確定預(yù)測性調(diào)色板(在此實(shí)例中,第一調(diào)色板184)的一或多個(gè)塊。用于預(yù)測的目的的條目的組合可被稱作預(yù)測符調(diào)色板。
在圖4的實(shí)例中,第二調(diào)色板192包含分別具有條目索引值1、條目索引值2及條目索引值3的三個(gè)條目208到212。條目208到212使調(diào)色板索引分別與包含像素值A(chǔ)、像素值B及像素值D的像素值相關(guān)。在此實(shí)例中,視頻編碼器20可譯碼指示第一調(diào)色板184(表示預(yù)測符調(diào)色板,但預(yù)測符調(diào)色板可包含數(shù)個(gè)塊的條目)中的哪些條目包含于第二調(diào)色板192中的一或多個(gè)語法元素。
在圖4的實(shí)例中,一或多個(gè)語法元素是作為向量216加以說明。向量216具有數(shù)個(gè)相關(guān)聯(lián)的二進(jìn)制(或位),其中每一二進(jìn)制指示與彼二進(jìn)制相關(guān)聯(lián)的調(diào)色板預(yù)測符是否用于預(yù)測當(dāng)前調(diào)色板的條目。舉例來說,向量216指示第一調(diào)色板184中的前兩個(gè)條目(202及204)包含于第二調(diào)色板192中(向量216中的值“1”),而第一調(diào)色板184中的第三條目不包含于第二調(diào)色板192中(向量216中的值“0”)。在圖4的實(shí)例中,向量為布林向量。向量可被稱作調(diào)色板預(yù)測向量。
在一些實(shí)例中,如上文所提及,視頻編碼器20及視頻解碼器30可在執(zhí)行調(diào)色板預(yù)測時(shí)確定調(diào)色板預(yù)測符(其也可被稱作調(diào)色板預(yù)測符表或調(diào)色板預(yù)測符列表)。調(diào)色板預(yù)測符可包含用以預(yù)測用于譯碼當(dāng)前塊的調(diào)色板的一或多個(gè)條目的來自一或多個(gè)相鄰塊的調(diào)色板的條目。視頻編碼器20及視頻解碼器30可以相同方式來建構(gòu)列表。視頻編碼器20及視頻解碼器30可譯碼數(shù)據(jù)(例如,向量216)以指示將調(diào)色板預(yù)測符中的哪些條目復(fù)制到用于譯碼當(dāng)前塊的調(diào)色板。
因此,在一些實(shí)例中,將先前經(jīng)解碼的調(diào)色板條目存儲(chǔ)于列表中以用作調(diào)色板預(yù)測符。此列表可用于預(yù)測當(dāng)前調(diào)色板模式CU中的調(diào)色板條目??稍谖涣髦杏眯盘柾ㄖM(jìn)制預(yù)測向量以指示在當(dāng)前調(diào)色板中重新使用列表中的哪些條目。在2014年6月27日申請的第62/018,461號美國臨時(shí)申請案中,使用行程長度譯碼來壓縮二進(jìn)制調(diào)色板預(yù)測符。在實(shí)例中,使用第0階指數(shù)哥倫布碼來譯碼行程長度值。
根據(jù)本發(fā)明的方面,在一些實(shí)例中,視頻編碼器20及視頻解碼器30(例如,熵編碼單元118及熵解碼單元150)可經(jīng)配置以使用第k階經(jīng)截短的指數(shù)哥倫布(TEGk)碼來譯碼(例如,分別編碼及解碼)用于塊的調(diào)色板的二進(jìn)制調(diào)色板預(yù)測向量,如上文關(guān)于圖1的實(shí)例所描述。
在一些情況下,視頻編碼器20及視頻解碼器30可經(jīng)配置以使用TEGk碼結(jié)合謝列金(Seregin)等人的“非SCCE3:用于調(diào)色板預(yù)測符的行程長度譯碼(Non-SCCE3:Run-Length Coding for Palette Predictor)”(JCTVC-R0228,日本札幌,2014年6月30日到7月9日)(在下文中為JCTVC-R0228)的標(biāo)準(zhǔn)提交文件中所描述的技術(shù)來譯碼二進(jìn)制調(diào)色板預(yù)測向量。在JCTVC-R0228中,通過以下條件及步驟使用行程長度譯碼來譯碼二進(jìn)制向量中的零元素:
●等于1的行程長度值指示預(yù)測的結(jié)束
●對于二進(jìn)制向量中的最后的1,并不用信號通知預(yù)測的結(jié)束
●對于二進(jìn)制向量中的每個(gè)1,譯碼先前零元素的數(shù)目
●如果零元素的數(shù)目大于0,則歸因于逃脫值1而用信號通知數(shù)目加一
●使用第0階指數(shù)哥倫布碼來譯碼行程長度值
在實(shí)例中,出于說明的目的,二進(jìn)制調(diào)色板預(yù)測向量可等于{1100100010000},其指示將調(diào)色板預(yù)測符的四個(gè)條目(通過四個(gè)1指示)復(fù)制到用于譯碼當(dāng)前塊的調(diào)色板。在此實(shí)例中,視頻編碼器20及視頻解碼器30可將向量譯碼為0-0-3-4-1。
根據(jù)本發(fā)明的方面,視頻編碼器20及視頻解碼器30可使用用于向量的最大行程值X(其可等于調(diào)色板預(yù)測符列表中的調(diào)色板條目的數(shù)目減去按掃描次序的當(dāng)前位置減去一)譯碼二進(jìn)制調(diào)色板預(yù)測向量。根據(jù)實(shí)例,視頻編碼器20及視頻解碼器30使用TEG0碼來譯碼行程值。
本發(fā)明的技術(shù)也涉及用信號通知最大調(diào)色板預(yù)測符大小。舉例來說,根據(jù)本發(fā)明的方面,視頻編碼器20及視頻解碼器30可經(jīng)配置以譯碼指示最大調(diào)色板預(yù)測符大小(例如,就可包含于向量216中的位的數(shù)目來說)的數(shù)據(jù)。在一些實(shí)例中,視頻編碼器20及視頻解碼器30可相對于一或多個(gè)其它值譯碼指示最大調(diào)色板預(yù)測符大小的數(shù)據(jù)。舉例來說,根據(jù)本發(fā)明的方面,視頻編碼器20及視頻解碼器30可經(jīng)配置以譯碼將最大調(diào)色板預(yù)測符大小指示為最大調(diào)色板預(yù)測符大小與最大調(diào)色板大小之間的差量(例如,差值)的數(shù)據(jù)。在一些情況下,視頻編碼器及視頻解碼器30可使用固定長度碼、哥倫布-萊斯碼或指數(shù)哥倫布碼中的至少一者來譯碼差量。
在一些實(shí)例中,可將指示最大調(diào)色板預(yù)測符大小的語法元素包含于SPS中。在其它實(shí)例中,可將指示最大調(diào)色板預(yù)測符大小的語法元素包含于另一參數(shù)集(例如,VPS或PPS)中,或包含于標(biāo)頭數(shù)據(jù)(例如,切片標(biāo)頭數(shù)據(jù)或與LCU或CU相關(guān)聯(lián)的數(shù)據(jù))中。
在一些實(shí)例中,視頻編碼器20及視頻解碼器30可使用指示最大調(diào)色板預(yù)測符大小的語法元素而變化,最大調(diào)色板預(yù)測符大小可基于經(jīng)譯碼的視頻數(shù)據(jù)的特定簡檔、層級或位深度。在其它實(shí)例中,視頻編碼器20及視頻解碼器30可使用指示最大調(diào)色板預(yù)測符大小的語法元素而變化,最大調(diào)色板預(yù)測符大小可基于經(jīng)譯碼的塊的大小。
在實(shí)例中,出于說明的目的,視頻編碼器20及視頻解碼器30可在建構(gòu)第二調(diào)色板192以譯碼CU 188時(shí)使用關(guān)于最大調(diào)色板預(yù)測符大小的數(shù)據(jù)。舉例來說,視頻編碼器20及視頻解碼器30可繼續(xù)添加條目到預(yù)測符調(diào)色板(例如,及添加位到向量216),直到達(dá)到如通過數(shù)據(jù)指示的最大調(diào)色板預(yù)測符大小為止。視頻編碼器20及視頻解碼器30可接著使用向量216來建構(gòu)用于CU 188的第二調(diào)色板192。
圖5為說明與本發(fā)明的技術(shù)一致的確定到用于像素的塊的調(diào)色板的調(diào)色板索引的實(shí)例的概念圖。舉例來說,圖5包含使相關(guān)聯(lián)于調(diào)色板索引的像素的相應(yīng)位置與調(diào)色板244的條目相關(guān)的調(diào)色板索引的映射240。舉例來說,索引1與值A(chǔ)相關(guān)聯(lián),索引2與值B關(guān)聯(lián),且索引3與值C相關(guān)聯(lián)。另外,當(dāng)使用隱含逃脫用信號通知來指示逃脫樣本時(shí),視頻編碼器20及視頻解碼器30也可添加額外索引(在圖5中說明為索引4)到調(diào)色板244,此情形可指示與索引4相關(guān)聯(lián)的映射240的樣本為逃脫樣本。在此狀況下,如果像素值不包含于調(diào)色板244中,則視頻編碼器20可針對映射240中的位置而編碼(且視頻解碼器30可從經(jīng)編碼位流獲得)實(shí)際像素值(或其經(jīng)量化的版本)的指示。
在一些實(shí)例中,視頻編碼器20及視頻解碼器30可經(jīng)配置以譯碼指示哪些像素位置與調(diào)色板索引相關(guān)聯(lián)的額外映射。舉例來說,假定映射中的(i,j)條目對應(yīng)于CU的(i,j)位置。視頻編碼器20可針對映射的每一條目(即,每一像素位置)編碼指示條目是否具有相關(guān)聯(lián)的索引值的一或多個(gè)語法元素。舉例來說,視頻編碼器20可編碼具有值一的旗標(biāo)以指示CU中的(i,j)位置處的像素值為調(diào)色板244中的值中的一者。
在此實(shí)例中,視頻編碼器20也可編碼調(diào)色板索引(在圖5的實(shí)例中展示為值1到3)以指示調(diào)色板中的像素值及允許視頻解碼器重建像素值。
在調(diào)色板244包含單一條目及相關(guān)聯(lián)的像素值的情況下,視頻編碼器20可跳過索引值的信號通知。視頻編碼器20可編碼具有值零的旗標(biāo)以指示CU中的(i,j)位置處的像素值并非調(diào)色板244中的值中的一者。在此實(shí)例中,視頻編碼器20也可編碼像素值的指示以供視頻解碼器30在重建像素值時(shí)使用。在一些情況下,可以有損方式譯碼像素值。
CU的位置中的像素的值可提供CU的其它位置中的一或多個(gè)其它像素的值的指示。舉例來說,可能存在CU的相鄰像素位置將具有相同像素值或可映射到相同索引值(在有損譯碼的狀況下,其中一個(gè)以上像素值可映射到單一索引值)的相對較高概率。
因此,視頻編碼器20可編碼指示在一起譯碼的按給定掃描次序的連續(xù)像素或調(diào)色板索引的數(shù)目的一或多個(gè)語法元素。如上文所提及,調(diào)色板索引(或通過調(diào)色板索引指示的像素值)的字串在本文中可被稱作行程。視頻解碼器30可從經(jīng)編碼位流獲得指示行程的語法元素,并可使用數(shù)據(jù)來確定具有相同像素或索引值的連續(xù)位置的數(shù)目。
如上文所提及,可結(jié)合CopyFromTop或值模式使用行程。在實(shí)例中,出于說明的目的,考慮映射240的行264及268。假定水平的、從左到右的掃描方向,行264包含三個(gè)調(diào)色板索引“1”、兩個(gè)調(diào)色板索引“2”及三個(gè)調(diào)色板索引“3”。行268包含五個(gè)調(diào)色板索引“1”、兩個(gè)調(diào)色板索引“3”,及不包含于調(diào)色板244中的樣本(通過索引4表示,但樣本層級逃脫旗標(biāo)可用于顯式逃脫信號通知),所述樣本可被稱作逃脫樣本。
在此實(shí)例中,視頻編碼器20可使用CopyFromTop模式來編碼用于行268的數(shù)據(jù)。舉例來說,視頻編碼器20可編碼指示行268的第一位置(行268的最左邊的位置)與行264的第一位置相同的一或多個(gè)語法元素。視頻編碼器20也可編碼指示行268中在掃描方向上的兩個(gè)連續(xù)條目的下一行程與行264的第一位置相同的一或多個(gè)語法元素。
在編碼指示行264的第一位置及兩個(gè)條目的行程(上文所提及)的一或多個(gè)語法元素之后,視頻編碼器20可使用值模式編碼行268中的第四及第五位置(從左到右)。舉例來說,視頻編碼器20可編碼針對第四位置指示值1的一或多個(gè)語法元素及指示行程為1(例如,值模式)的一或多個(gè)語法元素。因此,視頻編碼器20在不參考另一行的情況下編碼這些兩個(gè)位置。
視頻編碼器20可接著使用CopyFromTop模式相對于上行264編碼行268中具有索引值3的第一位置。舉例來說,視頻編碼器20可用信號通知CopyFromTop模式及行程1。因此,視頻編碼器20可在以下各者之間選擇:相對于一行的其它值譯碼所述行的像素值或調(diào)色板索引(例如,使用行程),相對于另一列(或行)的值譯碼一行的像素值或,或其組合。在一些實(shí)例中,視頻編碼器20可執(zhí)行速率/失真最佳化以做出選擇。
視頻編碼器20可接著針對行268的最終樣本(從左到右)編碼逃脫樣本,所述逃脫樣本不包含于第一調(diào)色板244中。舉例來說,視頻編碼器20可將行268的最終位置編碼為逃脫樣本。即,視頻編碼器20可編碼關(guān)于行268的最終位置為逃脫樣本(例如,索引4)的指示,以及樣本值的指示。視頻解碼器30可從經(jīng)編碼位流獲得上文所描述的語法并且可使用此語法重建行268。
如上文所提及,可能存在兩種技術(shù)來譯碼逃脫樣本。舉例來說,在顯式逃脫信號通知的情況下,視頻編碼器20及視頻解碼器30可針對映射240的每一樣本位置譯碼顯式每一樣本逃脫模式旗標(biāo)。如果特定樣本(例如,行268的最終樣本)經(jīng)譯碼為逃脫樣本,則視頻編碼器20及視頻解碼器30可譯碼指示用于特定樣本的色彩值的數(shù)據(jù)。如果樣本并非經(jīng)譯碼為逃脫樣本,則視頻編碼器20及視頻解碼器30可譯碼額外數(shù)據(jù)以指示模式為CopyFromTop模式抑或值模式,例如SPoint旗標(biāo)。
在隱含逃脫信號通知的情況下,視頻編碼器20及視頻解碼器30可添加到調(diào)色板244的額外索引(條目索引4)。視頻編碼器20及視頻解碼器30可使用到調(diào)色板244的額外索引來指示樣本經(jīng)譯碼為逃脫樣本,例如索引4。然而,額外索引并不具有相關(guān)聯(lián)的色彩值。確切來說,視頻編碼器20及視頻解碼器30也針對與額外索引相關(guān)聯(lián)的每一樣本譯碼色彩值。如果樣本并非經(jīng)譯碼為逃脫樣本,則視頻編碼器20及視頻解碼器30可譯碼數(shù)據(jù)以指示模式為CopyFromTop模式抑或值模式,例如SPoint旗標(biāo)。
根據(jù)本發(fā)明的方面,視頻編碼器20及視頻解碼器30可經(jīng)配置以譯碼一或多個(gè)塊層級語法元素,所述一或多個(gè)塊層級語法元素指示對于視頻數(shù)據(jù)的塊的所有樣本來說,塊的至少一樣本是否基于不包含于用于塊的色彩的調(diào)色板中的色彩值而譯碼。關(guān)于圖5的實(shí)例,視頻編碼器20及視頻解碼器30可譯碼與映射240相關(guān)聯(lián)的一或多個(gè)語法元素,所述一或多個(gè)語法元素指示映射240的至少一樣本經(jīng)譯碼為逃脫樣本,即,行268的最終樣本。
在實(shí)例中,所述一或多個(gè)語法元素可為塊層級逃脫旗標(biāo)(在下文中簡稱作“逃脫旗標(biāo)”)。舉例來說,視頻編碼器20可編碼具有值一的逃脫旗標(biāo)以指示映射240包含經(jīng)譯碼為逃脫樣本的樣本。同樣地,視頻解碼器30可解碼具有值一的逃脫旗標(biāo),所述逃脫旗標(biāo)指示映射240包含經(jīng)譯碼為逃脫樣本的樣本。因此,根據(jù)逃脫旗標(biāo),視頻編碼器20可編碼映射240且視頻解碼器30可解碼映射240。舉例來說,視頻編碼器20及視頻解碼器30可添加到第一調(diào)色板244的索引4,所述索引可用以表示經(jīng)譯碼為逃脫樣本的樣本。視頻編碼器20及視頻解碼器30可在譯碼映射240期間使用此額外索引。
根據(jù)本發(fā)明的方面,視頻編碼器20及視頻解碼器30可經(jīng)配置以基于逃脫旗標(biāo)及用以譯碼特定塊的調(diào)色板的大小而跳過某一語法的譯碼。即,盡管圖5的實(shí)例說明具有三個(gè)條目的第一調(diào)色板244,但在一些情況下,用于譯碼視頻數(shù)據(jù)的塊的調(diào)色板可包含單一條目。在這些情況下,視頻編碼器20及視頻解碼器30可經(jīng)配置以基于具有單一條目的調(diào)色板及指示無塊的樣本經(jīng)譯碼為逃脫樣本的逃脫旗標(biāo)而跳過某一與逃脫相關(guān)的語法的譯碼。
舉例來說,如在逃脫旗標(biāo)指示無塊的樣本為逃脫樣本的情況下且當(dāng)調(diào)色板的大小為一時(shí),視頻編碼器20及視頻解碼器30可經(jīng)配置以推斷塊的所有樣本具有相同的索引值(例如,調(diào)色板的僅有的條目)。因此,視頻編碼器20及視頻解碼器30也可跳過用以確定塊的調(diào)色板索引的其它所有其它數(shù)據(jù)的譯碼。
在上述實(shí)例中,視頻編碼器20及視頻解碼器30可明確地譯碼塊層級逃脫語法(例如,視頻編碼器20可在位流中編碼逃脫旗標(biāo),且視頻解碼器30可從位流解碼此旗標(biāo))。然而,在一些實(shí)例中,視頻編碼器20及視頻解碼器30可基于用以譯碼映射240的調(diào)色板244的大小推斷(例如,在不編碼或解碼上文所提及的語法元素的情況下確定)塊層級逃脫語法元素的值。舉例來說,視頻編碼器20及視頻解碼器30可關(guān)于調(diào)色板大小做出初步確定以便確定塊層級逃脫旗標(biāo)的值??蓛H在調(diào)色板大小大于零時(shí)在位流中譯碼塊層級逃脫語法元素。
根據(jù)本發(fā)明的方面,視頻編碼器20及視頻解碼器30最初可確定用于譯碼視頻數(shù)據(jù)的塊的調(diào)色板的大小。基于調(diào)色板的大小為零,視頻編碼器20及視頻解碼器30可確定逃脫旗標(biāo)等于一且塊的所有樣本經(jīng)譯碼為逃脫樣本,此是因?yàn)椴淮嬖诳捎糜谧g碼樣本的其它調(diào)色板條目。
舉例來說,如在調(diào)色板大小為零的情況下,視頻編碼器20及視頻解碼器30可經(jīng)配置以自動(dòng)地確定塊的所有樣本具有相同的索引值(例如,與指示逃脫樣本相關(guān)聯(lián)的調(diào)色板的額外條目)。因此,視頻編碼器20及視頻解碼器30也可跳過逃脫旗標(biāo)以及用以確定塊的調(diào)色板索引的所有其它數(shù)據(jù)的譯碼。
圖6為說明與本發(fā)明的技術(shù)一致的確定用于CopyFromAbove模式的最大行程長度(假定光柵掃描次序)的實(shí)例的概念圖。如上文所提及,本發(fā)明的技術(shù)包含使用考慮經(jīng)譯碼的語法的最大的可能值的碼來譯碼用于進(jìn)行調(diào)色板譯碼的語法。
在實(shí)例中,出于說明的目的,視頻編碼器20及視頻解碼器30可譯碼調(diào)色板索引的行程(例如,具有相同值的索引的行程或從上方相鄰索引復(fù)制的索引的行程)的行程長度。舉例來說,視頻編碼器20及視頻解碼器30可針對當(dāng)前經(jīng)調(diào)色板譯碼的樣本確定與當(dāng)前樣本一起經(jīng)譯碼的調(diào)色板索引的行程的行程長度。視頻編碼器20及視頻解碼器30也可確定能夠通過像素的調(diào)色板索引譯碼的調(diào)色板索引的最大行程的最大行程長度。視頻編碼器20及視頻解碼器30可接著基于所確定的最大行程長度譯碼指示行程長度的數(shù)據(jù)。
在一些情況下,根據(jù)本發(fā)明的方面,可使用一種形式的指數(shù)哥倫布碼(例如,本文所描述的TEGk碼)來譯碼語法。為了使用TEGk碼,視頻編碼器20及視頻解碼器30可確定最大行程長度為當(dāng)前CU中的像素的數(shù)目減去按掃描次序的當(dāng)前位置減去1。
在一些調(diào)色板譯碼技術(shù)中,不準(zhǔn)許與CopyFromAbove模式(其中視頻譯碼器復(fù)制在當(dāng)前像素上方的像素的索引)相關(guān)聯(lián)的像素的行程包含任何逃脫像素。即,如果當(dāng)前像素的上方相鄰像素為經(jīng)譯碼為逃脫樣本的像素,則視頻譯碼器必須停止CopyFromAbove行程。因此,最大CopyFromAbove行程長度是通過當(dāng)前像素位置與具有按掃描次序逃脫的上方相鄰像素的位置之間的距離來定界。
在實(shí)例中,出于說明的目的,CopyFromAbove行程按掃描次序的開始位置為A,位置A+L(L>0)(或在一些實(shí)例中,A+L(L>1))處的像素的上方相鄰像素經(jīng)譯碼為逃脫樣本,且位置A+l(l<L)處的像素的上方相鄰像素并非經(jīng)譯碼為逃脫樣本。如果不存在此像素L,則視頻編碼器20可將L指派給按掃描次序在塊中的最后像素之后的位置。根據(jù)本發(fā)明的技術(shù),視頻編碼器20及視頻解碼器30可使用TEGk來譯碼用于CopyFromAbove模式的行程長度,其中限定條件為:最大經(jīng)譯碼行程長度僅為L-1。替代地,如果在譯碼行程長度時(shí)使用大于0、大于1及大于2的一元前綴,則視頻編碼器20或視頻解碼器30可將待使用TEGk譯碼的索引映射的行程的最大行程長度設(shè)定為L-4。
在視頻解碼器30或視頻編碼器20無法確定位置中的像素是否對應(yīng)于逃脫像素的情況下,視頻編碼器20及視頻解碼器30可處理所述像素,如同其并非經(jīng)譯碼為逃脫樣本一般,即,最大經(jīng)譯碼行程長度并不停止。在圖6的實(shí)例中,如果通過虛線280涵蓋的像素中無一者經(jīng)譯碼為逃脫樣本,則最大的可能行程長度為35(即,未經(jīng)遮蔽的像素位置的數(shù)目)。如果虛線280內(nèi)的像素中的一或多者經(jīng)譯碼為逃脫樣本,假定標(biāo)記為逃脫像素(具有“X”的像素位置)的像素為虛線280內(nèi)按掃描次序的第一逃脫像素,則大于行程長度的最大的可能經(jīng)譯碼復(fù)本為五。
在一些實(shí)例中,視頻解碼器30可僅針對虛線280內(nèi)的像素確定行程模式(例如,譯碼像素的調(diào)色板模式)。因此,在最差狀況下,視頻解碼器30針對塊寬度-1個(gè)像素做出確定。在一些實(shí)例中,視頻解碼器30可經(jīng)配置以實(shí)施關(guān)于檢查行程模式所針對的像素的數(shù)目的最大值的某些限定。舉例來說,如果像素與當(dāng)前像素處于相同行中,則視頻解碼器30可僅檢查虛線280內(nèi)的像素。視頻解碼器30可推斷虛線280內(nèi)的所有其它像素并非經(jīng)譯碼為逃脫樣本。圖6中的實(shí)例假定光柵掃描次序。然而,所述技術(shù)可應(yīng)用于其它掃描次序,例如垂直、水平橫移及垂直橫移。
圖7為說明與本發(fā)明的技術(shù)一致的用于基于指示塊的任何樣本是否經(jīng)編碼為逃脫樣本的一或多個(gè)塊層級語法元素編碼視頻數(shù)據(jù)的塊的實(shí)例過程的流程圖。出于說明的目的,大體上將圖7的過程描述為由視頻編碼器20執(zhí)行,但多種其它處理器也可執(zhí)行圖7中所展示的過程。
在圖7的實(shí)例中,視頻編碼器20確定用于編碼視頻數(shù)據(jù)的塊的調(diào)色板(300)。在一些實(shí)例中,視頻編碼器20可(例如)使用調(diào)色板預(yù)測符來確定一或多個(gè)先前經(jīng)編碼塊的基于調(diào)色板的調(diào)色板。視頻編碼器20也可確定調(diào)色板的大小(302)。舉例來說,視頻編碼器20可確定所確定的調(diào)色板中的條目的數(shù)目。
視頻編碼器20可確定調(diào)色板大小是否為零(304)?;谡{(diào)色板大小等于零(步驟304的是分支),視頻編碼器20可確定指示塊的至少一樣本為逃脫樣本的塊層級逃脫語法(306)。在實(shí)例中,視頻編碼器20可確定塊層級逃脫旗標(biāo)等于一。視頻編碼器20接著將塊的所有樣本編碼為逃脫樣本而不針對塊編碼其它語法元素(308)。舉例來說,視頻編碼器20可能并不編碼塊層級逃脫旗標(biāo)的指示,此是因?yàn)閮H可在調(diào)色板大小大于零時(shí)在位流中編碼塊層級逃脫語法元素。另外,視頻編碼器20可能并不編碼用于塊的調(diào)色板索引的其它數(shù)據(jù),例如指示調(diào)色板模式(例如,值模式或CopyFromTop模式)的語法、與確定行程相關(guān)聯(lián)的語法、與調(diào)色板索引相關(guān)聯(lián)的語法,及任何其它相關(guān)語法。
如果調(diào)色板大小并非零(步驟304的否分支),則視頻編碼器20可確定塊的任何樣本是否經(jīng)編碼為逃脫樣本(310)。基于確定塊的至少一樣本經(jīng)編碼為逃脫樣本(步驟310的是分支),視頻編碼器20可確定指示所述塊的至少一樣本經(jīng)編碼為逃脫樣本的塊層級逃脫語法,且通過塊在位流中編碼塊層級語法的指示(312)。舉例來說,視頻編碼器20可設(shè)定塊層級逃脫旗標(biāo)等于一,且在位流中編碼逃脫旗標(biāo)的指示。視頻編碼器20也通過調(diào)色板譯碼模式來編碼塊,包含將塊的至少一像素編碼為逃脫樣本(314)。
基于無樣本經(jīng)編碼為逃脫樣本(步驟310的否分支),視頻編碼器20可確定用于塊的調(diào)色板的調(diào)色板大小是否等于一(316)。基于確定調(diào)色板大小不等于一(步驟316的否分支),視頻編碼器20可確定指示無塊的樣本經(jīng)編碼為逃脫樣本的塊層級逃脫語法,在位流中編碼塊層級逃脫語法的指示(318)。舉例來說,視頻編碼器20可設(shè)定塊層級逃脫旗標(biāo)等于零,且在位流中編碼逃脫旗標(biāo)的指示。視頻編碼器20也使用調(diào)色板譯碼模式來編碼塊,而不編碼任何逃脫樣本(320)。舉例來說,視頻編碼器20可使用CopyFromTop或值模式來編碼塊的調(diào)色板索引,且編碼與這些模式的使用相關(guān)聯(lián)的語法,例如,指示模式、調(diào)色板索引、行程及其類似者的語法。
基于確定調(diào)色板大小等于一(步驟316的是分支),視頻編碼器20可確定指示無塊的樣本經(jīng)譯碼為逃脫樣本的塊層級逃脫語法,且在位流中編碼塊層級逃脫語法的指示(322)。舉例來說,視頻編碼器20可設(shè)定塊層級逃脫旗標(biāo)等于零,且在位流中編碼逃脫旗標(biāo)的指示。視頻編碼器20也編碼關(guān)于塊的所有樣本具有相同索引值的指示,而不編碼其它語法(324)。舉例來說,視頻編碼器20可跳過與調(diào)色板模式的使用相關(guān)聯(lián)的語法(例如,指示模式、調(diào)色板索引、行程及其類似者的語法)的編碼。
圖8為說明與本發(fā)明的技術(shù)一致的用于基于指示塊的任何樣本是否經(jīng)解碼為逃脫樣本的一或多個(gè)塊層級語法元素解碼視頻數(shù)據(jù)的塊的實(shí)例過程的流程圖。出于說明的目的,大體上將圖8的過程描述為由視頻解碼器30執(zhí)行,但多種其它處理器也可執(zhí)行圖8中所展示的過程。
在圖8的實(shí)例中,視頻解碼器30確定用于解碼視頻數(shù)據(jù)的塊的調(diào)色板(340)。在一些實(shí)例中,視頻解碼器30可(例如)使用在經(jīng)解碼的位流中用信號通知的調(diào)色板預(yù)測符來確定一或多個(gè)先前經(jīng)編碼塊的基于調(diào)色板的調(diào)色板。視頻解碼器30也可確定調(diào)色板的大小(342)。舉例來說,視頻解碼器30可確定所確定的調(diào)色板中的條目的數(shù)目。
視頻解碼器30可確定調(diào)色板大小是否為零(344)?;谡{(diào)色板大小等于零(步驟344的是分支),視頻解碼器30可確定指示塊的至少一樣本經(jīng)編碼為逃脫樣本的塊層級逃脫語法(346)。在實(shí)例中,視頻解碼器30可確定塊層級逃脫旗標(biāo)等于一。舉例來說,視頻解碼器30可推斷塊層級逃脫旗標(biāo)等于一,而不從位流解碼所述旗標(biāo),此是因?yàn)閮H可在調(diào)色板大小大于零時(shí)在位流中譯碼塊層級逃脫語法元素。視頻解碼器30接著使用與逃脫樣本相關(guān)聯(lián)的色彩解碼塊的所有樣本,而不解碼用于塊的其它語法元素(例如,除與逃脫樣本相關(guān)聯(lián)的色彩值以外)(348)。舉例來說,如上文所提及,視頻解碼器30可能并不解碼塊層級逃脫旗標(biāo)的指示。另外,視頻解碼器30可能并不解碼用于塊的調(diào)色板索引的其它數(shù)據(jù),例如指示調(diào)色板模式(例如,值模式或CopyFromTop模式)的語法、指示索引值的語法、與確定行程相關(guān)聯(lián)的語法,及任何其它相關(guān)語法。
如果調(diào)色板大小并非零(步驟344的否分支),則視頻解碼器30可從位流解碼塊層級逃脫語法且確定塊層級語法的值(350)。舉例來說,視頻解碼器30可解碼塊層級逃脫旗標(biāo)且確定值等于零抑或一。
視頻解碼器30可接著(例如)基于經(jīng)解碼的語法確定塊的任何樣本是否經(jīng)譯碼為逃脫樣本(352)?;诖_定塊的至少一樣本經(jīng)編碼為逃脫樣本(步驟352的是分支),視頻解碼器30可通過調(diào)色板譯碼模式解碼塊,包含將塊的至少一樣本解碼為逃脫樣本(354)。視頻解碼器30也可解碼對應(yīng)于逃脫樣本的至少一色彩值。
基于無樣本經(jīng)編碼為逃脫樣本(步驟352的否分支),視頻解碼器30可確定用于塊的調(diào)色板的調(diào)色板大小是否等于一(356)?;诖_定調(diào)色板大小并非等于一(步驟356的否分支),視頻解碼器30可使用調(diào)色板譯碼模式解碼塊,而不解碼任何逃脫樣本(358)。舉例來說,視頻解碼器30可使用CopyFromTop模式或值模式解碼塊的調(diào)色板索引,且解碼與這些模式的使用相關(guān)聯(lián)的語法,例如指示模式、調(diào)色板索引、行程及其類似者的語法。
基于確定調(diào)色板大小等于一(步驟356的是分支),視頻解碼器30可使用調(diào)色板的調(diào)色板條目(例如,存在于調(diào)色板中的僅有的條目)來解碼塊,而不解碼其它語法(360)。舉例來說,視頻解碼器30可跳過與調(diào)色板模式的使用相關(guān)聯(lián)的語法(例如,指示模式、調(diào)色板索引、行程及其類似者的語法)的解碼。
圖9為說明與本發(fā)明的技術(shù)一致的用于基于指示最大調(diào)色板大小及最大調(diào)色板預(yù)測符大小的一或多個(gè)語法元素編碼視頻數(shù)據(jù)的塊的實(shí)例過程的流程圖。出于說明的目的,大體上將圖9的過程描述為由視頻編碼器20執(zhí)行,但多種其它處理器也可執(zhí)行圖9中所展示的過程。
在圖9的實(shí)例中,視頻編碼器20可確定用于在調(diào)色板模式中編碼視頻數(shù)據(jù)的當(dāng)前塊的調(diào)色板的最大大小(380)。舉例來說,視頻編碼器20可經(jīng)配置以基于經(jīng)編碼的視頻數(shù)據(jù)的特性確定最大調(diào)色板大小。在一些實(shí)例中,視頻編碼器20可基于數(shù)據(jù)的位深度(例如,輸入位深度或簡檔位深度)、塊的塊大小、與視頻數(shù)據(jù)相關(guān)聯(lián)的簡檔或?qū)蛹壔蚱漕愃普叽_定最大調(diào)色板大小。
視頻編碼器20也可確定用于產(chǎn)生當(dāng)前塊的調(diào)色板的調(diào)色板預(yù)測符的最大調(diào)色板預(yù)測符大小(382)。舉例來說,視頻編碼器20可經(jīng)配置以基于經(jīng)編碼的視頻數(shù)據(jù)的特性確定最大調(diào)色板預(yù)測符大小。在一些實(shí)例中,視頻編碼器20可基于數(shù)據(jù)的位深度(例如,輸入位深度或簡檔位深度)、塊的塊大小、與視頻數(shù)據(jù)相關(guān)聯(lián)的簡檔或?qū)蛹壔蚱漕愃普叽_定最大調(diào)色板預(yù)測符大小。
視頻編碼器20也在包含當(dāng)前塊的位流中編碼指示最大調(diào)色板大小及/或最大調(diào)色板預(yù)測符大小的數(shù)據(jù)(386)。在一些實(shí)例中,視頻編碼器20可相對于一或多個(gè)其它值編碼指示最大調(diào)色板大小及/或最大調(diào)色板預(yù)測符大小的數(shù)據(jù)。舉例來說,根據(jù)本發(fā)明的方面,視頻編碼器20可經(jīng)配置以譯碼將最大調(diào)色板預(yù)測符大小指示為最大調(diào)色板預(yù)測符大小與最大調(diào)色板大小之間的差量(例如,差值)的數(shù)據(jù)。
根據(jù)本發(fā)明的方面,視頻編碼器20可在SPS中編碼指示最大調(diào)色板大小及/或最大調(diào)色板預(yù)測符大小的一或多個(gè)語法元素。在其它實(shí)例中,視頻編碼器20可在另一參數(shù)集(例如,PPS)中、在包含當(dāng)前塊的切片的切片標(biāo)頭中或在位流中的其它處編碼此語法。
視頻編碼器20還根據(jù)指示最大調(diào)色板大小及/或最大調(diào)色板預(yù)測符大小的數(shù)據(jù)編碼當(dāng)前塊(388)。舉例來說,視頻編碼器20可確定通過最大調(diào)色板大小限制的調(diào)色板及/或通過最大調(diào)色板預(yù)測符大小限制的調(diào)色板預(yù)測符。
圖10為說明與本發(fā)明的技術(shù)一致的用于基于指示最大調(diào)色板大小及最大調(diào)色板預(yù)測符大小的一或多個(gè)語法元素編碼視頻數(shù)據(jù)的塊的實(shí)例過程的流程圖。出于說明的目的,大體上將圖10的過程描述為由視頻解碼器30執(zhí)行,但多種其它處理器也可執(zhí)行圖10中所展示的過程。
在圖10的實(shí)例中,視頻解碼器30從包含在調(diào)色板模式中解碼的當(dāng)前塊的位流解碼指示最大調(diào)色板大小及/或最大調(diào)色板預(yù)測符大小的數(shù)據(jù)(400)。在一些實(shí)例中,視頻編碼器20可相對于一或多個(gè)其它值編碼指示最大調(diào)色板大小及/或最大調(diào)色板預(yù)測符大小的數(shù)據(jù)。舉例來說,根據(jù)本發(fā)明的方面,視頻編碼器20可經(jīng)配置以譯碼將最大調(diào)色板預(yù)測符大小指示為最大調(diào)色板預(yù)測符大小與最大調(diào)色板大小之間的差量(例如,差值)的數(shù)據(jù)。
根據(jù)本發(fā)明的方面,視頻解碼器30可從SPS解碼指示最大調(diào)色板大小及/或最大調(diào)色板預(yù)測符大的一或多個(gè)語法元素。在其它實(shí)例中,視頻解碼器30可從另一參數(shù)集(例如,PPS)、從包含當(dāng)前塊的切片的切片標(biāo)頭或從位流中的其它處解碼此語法。
視頻解碼器30可基于經(jīng)解碼的數(shù)據(jù)確定用于解碼當(dāng)前塊的調(diào)色板的最大大小(402)。視頻解碼器30也可基于數(shù)據(jù)確定用于產(chǎn)生用于當(dāng)前塊的調(diào)色板的調(diào)色板預(yù)測符的最大調(diào)色板預(yù)測符大小(404)。視頻解碼器30也根據(jù)指示最大調(diào)色板大小及/或最大調(diào)色板預(yù)測符大小的數(shù)據(jù)解碼當(dāng)前塊(408)。舉例來說,視頻解碼器30可確定通過最大調(diào)色板大小限制的調(diào)色板及/或通過最大調(diào)色板預(yù)測符大小限制的調(diào)色板預(yù)測符。
圖11為說明與本發(fā)明的技術(shù)一致的用于基于最大的可能行程長度譯碼(編碼或解碼)指示像素的行程的行程長度的數(shù)據(jù)的實(shí)例過程的流程圖。出于說明的目的,大體上將圖11的過程描述為由視頻譯碼器(例如,視頻編碼器20或視頻解碼器30)執(zhí)行,但多種其它處理器也可執(zhí)行圖11中所展示的過程。
在圖11的實(shí)例中,視頻譯碼器可確定用于譯碼當(dāng)前像素的調(diào)色板模式(420)。舉例來說,視頻譯碼器可確定當(dāng)前像素是使用CopyFromTop模式、值模式抑或另一基于調(diào)色板的譯碼模式來譯碼。視頻譯碼器也確定用于當(dāng)前像素的行程的行程長度(422)。舉例來說,視頻譯碼器確定通過當(dāng)前像素的調(diào)色板索引譯碼的調(diào)色板索引的數(shù)目。
視頻譯碼器還確定用于行程的最大行程長度(424)。舉例來說,視頻譯碼器可確定能夠通過當(dāng)前像素的調(diào)色板索引譯碼的調(diào)色板索引的最大行程的最大行程長度。在實(shí)例中,視頻譯碼器可確定包含像素的視頻數(shù)據(jù)的塊中的像素的數(shù)目。視頻譯碼器也可基于用以掃描調(diào)色板索引的掃描次序確定塊中的當(dāng)前像素的位置。視頻譯碼器接著確定最大行程長度為塊中的像素的數(shù)目減去當(dāng)前像素的像素位置減去一。
視頻譯碼器還基于所確定的最大行程長度譯碼指示行程的行程長度的數(shù)據(jù)(426)。舉例來說,根據(jù)本發(fā)明的方面,視頻譯碼器可使用TEGk碼來譯碼指示行程長度的數(shù)據(jù)。
將認(rèn)識(shí)到,取決于實(shí)例,本文中所描述的技術(shù)中的任一者的某些動(dòng)作或事件可以不同序列來執(zhí)行、可添加、合并或完全省略(例如,對于實(shí)踐所述技術(shù)來說,并非所有所描述動(dòng)作或事件都為必要的)。此外,在某些實(shí)例中,可同時(shí)執(zhí)行(例如,經(jīng)由多線程處理、中斷處理或多個(gè)處理器)而非依序執(zhí)行動(dòng)作或事件。另外,盡管出于清晰性的目的將本發(fā)明的某些方面描述為由單一模塊或單元執(zhí)行,但應(yīng)理解,本發(fā)明的技術(shù)可由與視頻譯碼器相關(guān)聯(lián)的單元或模塊的組合來執(zhí)行。
出于說明的目的,已關(guān)于開發(fā)中的HEVC標(biāo)準(zhǔn)描述本發(fā)明的某些方面。然而,本發(fā)明中所描述的技術(shù)可能可用于其它視頻譯碼過程,包含尚未開發(fā)的其它標(biāo)準(zhǔn)或?qū)S幸曨l譯碼過程。
上文所描述的技術(shù)可由視頻編碼器20(圖1及2)及/或視頻解碼器30(圖1及3)來執(zhí)行,所述兩者大體上可被稱作視頻譯碼器。同樣地,視頻譯碼在適用時(shí)可指視頻編碼或視頻解碼。
雖然在上文描述技術(shù)的各種方面的特定組合,但提供這些組合僅為了說明本發(fā)明中所描述的技術(shù)的實(shí)例。因此,本發(fā)明的技術(shù)不應(yīng)限于這些實(shí)例組合且可涵蓋本發(fā)明中所描述的技術(shù)的各種方面的任何可設(shè)想組合。
在一或多個(gè)實(shí)例中,可以硬件、軟件、固件或其任何組合實(shí)施所描述的功能。如果以軟件實(shí)施,則所述功能可作為一或多個(gè)指令或程序代碼存儲(chǔ)于計(jì)算機(jī)可讀媒體上或經(jīng)由計(jì)算機(jī)可讀媒體予以發(fā)射,且由基于硬件的處理單元執(zhí)行。計(jì)算機(jī)可讀媒體可包含對應(yīng)于有形媒體(例如,數(shù)據(jù)存儲(chǔ)媒體)的計(jì)算機(jī)可讀存儲(chǔ)媒體,或包含促進(jìn)將計(jì)算機(jī)程式從一處傳送到另一處(例如,根據(jù)通信協(xié)議)的任何媒體的通信媒體。以此方式,計(jì)算機(jī)可讀媒體大體可對應(yīng)于(1)非暫時(shí)性的有形計(jì)算機(jī)可讀存儲(chǔ)媒體,或(2)例如信號或載波的通信媒體。數(shù)據(jù)存儲(chǔ)媒體可為可由一或多個(gè)計(jì)算機(jī)或一或多個(gè)處理器存取以擷取用于實(shí)施本發(fā)明中所描述的技術(shù)的指令、程序代碼及/或數(shù)據(jù)結(jié)構(gòu)的任何可用媒體。計(jì)算機(jī)程式產(chǎn)品可包含計(jì)算機(jī)可讀媒體。
作為實(shí)例而非限制,這些計(jì)算機(jī)可讀存儲(chǔ)媒體可包括RAM、ROM、EEPROM、CD-ROM或其它光盤存儲(chǔ)裝置、磁盤存儲(chǔ)裝置或其它磁性存儲(chǔ)裝置、閃存存儲(chǔ)器,或可用于存儲(chǔ)呈指令或數(shù)據(jù)結(jié)構(gòu)形式的所要程序代碼且可由計(jì)算機(jī)存取的任何其它媒體。又,任何連接被適當(dāng)?shù)胤Q為計(jì)算機(jī)可讀媒體。舉例來說,如果使用同軸纜線、光纜、雙絞線、數(shù)字用戶線(DSL)或無線技術(shù)(例如,紅外線、無線電及微波)從網(wǎng)站、服務(wù)器或其它遠(yuǎn)程源發(fā)射指令,則同軸纜線、光纜、雙絞線、DSL或無線技術(shù)(例如,紅外線、無線電及微波)包含于媒體的定義中。然而,應(yīng)理解,計(jì)算機(jī)可讀存儲(chǔ)媒體及數(shù)據(jù)存儲(chǔ)媒體不包含連接、載波、信號或其它暫時(shí)性媒體,而實(shí)情為有關(guān)非暫時(shí)性有形存儲(chǔ)媒體。如本文所使用的磁盤及光盤包含緊密光盤(CD)、激光光盤、光學(xué)光盤、數(shù)字影音光盤(DVD)、磁盤片及藍(lán)光光盤,其中磁盤通常以磁性方式再現(xiàn)數(shù)據(jù),而光盤用激光以光學(xué)方式再現(xiàn)數(shù)據(jù)。以上各者的組合也應(yīng)包含于計(jì)算機(jī)可讀媒體的范疇內(nèi)。
指令可由一或多個(gè)處理器執(zhí)行,例如一或多個(gè)數(shù)字信號處理器(DSP)、通用微處理器、專用集成電路(ASIC)、現(xiàn)場可編程邏輯陣列(FPGA)或其它等效的集成或離散邏輯電路系統(tǒng)。因此,如本文所使用的術(shù)語“處理器”可指上述結(jié)構(gòu)或適合于實(shí)施本文中所描述的技術(shù)的任何其它結(jié)構(gòu)中的任一者。另外,在一些方面中,可在經(jīng)配置用于編碼及解碼的專用硬件及/或軟件模塊內(nèi)提供本文中所描述的功能性,或?qū)⒈疚闹兴枋龅墓δ苄圆⑷胗诮M合式編碼解碼器中。又,所述技術(shù)可完全實(shí)施于一或多個(gè)電路或邏輯元件中。
本發(fā)明的技術(shù)可在廣泛多種裝置或設(shè)備中實(shí)施,所述裝置或設(shè)備包含無線手機(jī)、集成電路(IC)或一組IC(例如,芯片組)。本發(fā)明中描述各種組件、模塊或單元以強(qiáng)調(diào)經(jīng)配置以執(zhí)行所揭示的技術(shù)的裝置的功能方面,但未必要求由不同硬件單元來實(shí)現(xiàn)。確切來說,如上文所描述,各種單元可結(jié)合合適的軟件及/或固件組合于編碼解碼器硬件單元中或由互操作硬件單元的集合提供,硬件單元包含如上文所描述的一或多個(gè)處理器。
已描述各種實(shí)例。這些及其它實(shí)例處于以下權(quán)利要求書的范疇內(nèi)。