技術(shù)領(lǐng)域
本發(fā)明涉及視頻編碼和解碼。
背景技術(shù):
數(shù)字視頻能力可以并入到多種多樣的裝置中,包含數(shù)字電視、數(shù)字直播系統(tǒng)、無線廣播系統(tǒng)、個人數(shù)字助理(PDA)、膝上型或桌上型計算機(jī)、平板計算機(jī)、電子圖書閱讀器、數(shù)碼相機(jī)、數(shù)字記錄裝置、數(shù)字媒體播放器、視頻游戲裝置、視頻游戲控制臺、蜂窩式或衛(wèi)星無線電電話(所謂的“智能電話”)、視頻電話會議裝置、視頻串流裝置及其類似者。數(shù)字視頻裝置實(shí)施視頻壓縮技術(shù),例如描述于以下各者中的那些技術(shù):由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分高級視頻譯碼(AVC)定義的標(biāo)準(zhǔn)、高效率視頻譯碼(HEVC)標(biāo)準(zhǔn),及此些標(biāo)準(zhǔn)的擴(kuò)展。視頻裝置可以通過實(shí)施此類視頻壓縮技術(shù)來更有效率地發(fā)射、接收、編碼、解碼和/或存儲數(shù)字視頻信息。
視頻壓縮技術(shù)執(zhí)行空間(圖片內(nèi))預(yù)測及/或時間(圖片間)預(yù)測來減少或去除視頻序列中固有的冗余。對于基于塊的視頻譯碼,可將視頻切片(即,視頻幀或視頻幀的一部分)分割成視頻塊。使用關(guān)于同一圖片中的相鄰塊中的參考樣本的空間預(yù)測對圖片的經(jīng)幀內(nèi)譯碼(I)切片中的視頻塊進(jìn)行編碼。圖片的經(jīng)幀間編碼(P或B)切片中的視頻塊可使用相對于同一圖片中的相鄰塊中的參考樣本的空間預(yù)測或相對于其它參考圖片中的參考樣本的時間預(yù)測。圖片可被稱為幀。
空間或時間預(yù)測產(chǎn)生待譯碼塊的預(yù)測性塊。殘余數(shù)據(jù)表示待譯碼原始塊與預(yù)測性塊的間的像素差。經(jīng)幀間譯碼塊是根據(jù)指向形成預(yù)測性塊的參考樣本塊的運(yùn)動向量及指示經(jīng)譯碼塊與預(yù)測性塊之間的差的殘余數(shù)據(jù)編碼的。根據(jù)幀內(nèi)譯碼模式和殘余數(shù)據(jù)來編碼經(jīng)幀內(nèi)譯碼塊。為了進(jìn)一步壓縮,可將殘余數(shù)據(jù)自像素域變換至變換域,從而產(chǎn)生殘余系數(shù),可接著量化所述殘余系數(shù)。
技術(shù)實(shí)現(xiàn)要素:
一般來說,本申請案描述用于使用調(diào)色板模式對視頻數(shù)據(jù)進(jìn)行編碼和解碼的技術(shù)。如本文中所描述,調(diào)色板包括多個條目。所述條目中的每一者可指定一或多個樣本值。經(jīng)調(diào)色板譯碼塊的每一像素與指示調(diào)色板中的條目的調(diào)色板索引相關(guān)聯(lián)。連續(xù)像素經(jīng)常具有與像素左邊或上方的像素相同的調(diào)色板索引。因此,并非用信號表示每一像素的調(diào)色板索引,視頻編碼器可用信號表示像素的“游程”的長度。像素的游程中的每一相應(yīng)像素可從相應(yīng)像素上方復(fù)制或從相應(yīng)像素左邊的像素復(fù)制。根據(jù)本發(fā)明的技術(shù),視頻編碼器可省略用信號表示塊的第一或最后游程的長度。
在一個實(shí)例中,這揭示了一種對視頻數(shù)據(jù)進(jìn)行解碼的方法,所述方法包括:從包括所述視頻數(shù)據(jù)的塊的經(jīng)編碼表示的位流獲得語法元素,其中所述塊包括一系列游程,所述系列的游程包含兩個或更多個游程,所述系列的游程中的每一相應(yīng)游程由所述塊的一個像素或者兩個或更多個連續(xù)像素組成,所述系列的游程中的每一相應(yīng)游程的每一像素具有相同調(diào)色板樣本模式;從所述位流獲得一或多個調(diào)色板游程長度語法元素的集合,其中所述一或多個調(diào)色板游程長度語法元素指示所述系列的游程中的一或多個游程的長度;基于具有特定值的所述語法元素確定調(diào)色板游程長度語法元素的所述集合不指示所述系列的游程中的第一游程的長度;基于所述塊中的像素的數(shù)目以及由調(diào)色板游程語法元素的所述集合指示的所述長度而確定所述系列的游程中的所述第一游程的所述長度;基于所述塊的所述像素的所述調(diào)色板樣本模式而確定所述塊的非轉(zhuǎn)義經(jīng)譯碼像素的調(diào)色板索引,其中對于所述塊的每一相應(yīng)非轉(zhuǎn)義經(jīng)譯碼像素,所述相應(yīng)非轉(zhuǎn)義經(jīng)譯碼像素的相應(yīng)調(diào)色板索引指示調(diào)色板中的條目,所述調(diào)色板中的每一相應(yīng)條目指示相應(yīng)樣本值集合;以及基于所述塊的所述非轉(zhuǎn)義經(jīng)譯碼像素的所述調(diào)色板索引而確定所述塊的所述非轉(zhuǎn)義經(jīng)譯碼像素的值。
在另一實(shí)例中,本發(fā)明描述一種對視頻數(shù)據(jù)進(jìn)行編碼的方法,所述方法包括:確定所述視頻數(shù)據(jù)的塊的非轉(zhuǎn)義經(jīng)譯碼像素的調(diào)色板索引,其中對于所述塊的每一相應(yīng)非轉(zhuǎn)義經(jīng)譯碼像素,所述相應(yīng)非轉(zhuǎn)義經(jīng)譯碼像素的所述調(diào)色板索引指示調(diào)色板中的條目,其中所述調(diào)色板中的每一相應(yīng)條目指示相應(yīng)樣本值集合;識別所述塊中的一系列游程,所述系列的游程包含兩個或更多個游程,所述系列的游程中的每一相應(yīng)游程由所述塊的一個像素或者兩個或更多個連續(xù)像素組成,所述系列的游程中的每一相應(yīng)游程的每一像素具有相同調(diào)色板樣本模式;產(chǎn)生一或多個調(diào)色板游程長度語法元素的集合,其中所述一或多個調(diào)色板游程長度語法元素指示所述系列的游程中的一或多個游程的長度;以及產(chǎn)生具有特定值的語法元素,所述特定值指示調(diào)色板游程長度語法元素的所述集合不指示所述系列的游程中的第一游程的長度。
在另一實(shí)例中,本發(fā)明描述一種用于對視頻數(shù)據(jù)進(jìn)行解碼的裝置,所述裝置包括:存儲器,其經(jīng)配置以存儲所述視頻數(shù)據(jù);以及一或多個處理器,其經(jīng)配置以:從包括所述視頻數(shù)據(jù)的塊的經(jīng)編碼表示的位流獲得語法元素,其中所述塊包括一系列游程,所述系列的游程包含兩個或更多個游程,所述系列的游程中的每一相應(yīng)游程由所述塊的一個像素或者兩個或更多個連續(xù)像素組成,所述系列的游程中的每一相應(yīng)游程的每一像素具有相同調(diào)色板樣本模式;從所述位流獲得一或多個調(diào)色板游程長度語法元素的集合,其中所述一或多個調(diào)色板游程長度語法元素指示所述系列的游程中的一或多個游程的長度;基于具有特定值的所述語法元素確定調(diào)色板游程長度語法元素的所述集合不指示所述系列的游程中的第一游程的長度;基于所述塊中的像素的數(shù)目以及由調(diào)色板游程語法元素的所述集合指示的所述長度而確定所述系列的游程中的所述第一游程的所述長度;基于所述塊的非轉(zhuǎn)義經(jīng)譯碼像素的所述調(diào)色板樣本模式而確定所述塊的所述非轉(zhuǎn)義經(jīng)譯碼像素的調(diào)色板索引,其中對于所述塊的每一相應(yīng)非轉(zhuǎn)義經(jīng)譯碼像素,所述相應(yīng)非轉(zhuǎn)義經(jīng)譯碼像素的相應(yīng)調(diào)色板索引指示調(diào)色板中的條目,所述調(diào)色板中的每一相應(yīng)條目指示相應(yīng)樣本值集合;以及基于所述塊的所述非轉(zhuǎn)義經(jīng)譯碼像素的所述調(diào)色板索引而確定所述塊的所述非轉(zhuǎn)義經(jīng)譯碼像素的值。
在另一實(shí)例中,本發(fā)明描述一種用于對視頻數(shù)據(jù)進(jìn)行編碼的裝置,所述裝置包括:存儲器,其經(jīng)配置以存儲所述視頻數(shù)據(jù);以及一或多個處理器,其經(jīng)配置以:確定所述視頻數(shù)據(jù)的塊的非轉(zhuǎn)義經(jīng)譯碼像素的調(diào)色板索引,其中對于所述塊的每一相應(yīng)非轉(zhuǎn)義經(jīng)譯碼像素,所述相應(yīng)像素的所述調(diào)色板索引指示調(diào)色板中的條目,其中所述調(diào)色板中的每一相應(yīng)條目指示相應(yīng)樣本值集合;識別所述塊中的一系列游程,所述系列的游程包含兩個或更多個游程,所述系列的游程中的每一相應(yīng)游程由所述塊的一個像素或者兩個或更多個連續(xù)像素組成,所述系列的游程中的每一相應(yīng)游程的每一像素具有相同調(diào)色板樣本模式;產(chǎn)生一或多個調(diào)色板游程長度語法元素的集合,其中所述一或多個調(diào)色板游程長度語法元素指示所述系列的游程中的一或多個游程的長度;以及產(chǎn)生具有特定值的語法元素,所述特定值指示調(diào)色板游程長度語法元素的所述集合不指示所述系列的游程中的第一游程的長度。
在另一實(shí)例中,本發(fā)明描述一種用于對視頻數(shù)據(jù)進(jìn)行解碼的裝置,所述裝置包括:用于從包括所述視頻數(shù)據(jù)的塊的經(jīng)編碼表示的位流獲得語法元素的裝置,其中所述塊包括一系列游程,所述系列的游程包含兩個或更多個游程,所述系列的游程中的每一相應(yīng)游程由所述塊的一個像素或者兩個或更多個連續(xù)像素組成,所述系列的游程中的每一相應(yīng)游程的每一像素具有相同調(diào)色板樣本模式;用于從所述位流獲得一或多個調(diào)色板游程長度語法元素的集合的裝置,其中所述一或多個調(diào)色板游程長度語法元素指示所述系列的游程中的一或多個游程的長度;用于基于具有特定值的所述語法元素確定調(diào)色板游程長度語法元素的所述集合不指示所述系列的游程中的第一游程的長度的裝置;用于基于所述塊中的像素的數(shù)目以及由調(diào)色板游程語法元素的所述集合指示的所述長度而確定所述系列的游程中的所述第一游程的所述長度的裝置;用于基于所述塊的所述像素的所述調(diào)色板樣本模式而確定所述塊的非轉(zhuǎn)義經(jīng)譯碼像素的調(diào)色板索引的裝置,其中對于所述塊的每一相應(yīng)非轉(zhuǎn)義經(jīng)譯碼像素,所述相應(yīng)非轉(zhuǎn)義經(jīng)譯碼像素的相應(yīng)調(diào)色板索引指示調(diào)色板中的條目,所述調(diào)色板中的每一相應(yīng)條目指示相應(yīng)樣本值集合;以及用于基于所述塊的所述非轉(zhuǎn)義經(jīng)譯碼像素的所述調(diào)色板索引而確定所述塊的所述非轉(zhuǎn)義經(jīng)譯碼像素的值的裝置。
在另一實(shí)例中,本發(fā)明描述一種用于對視頻數(shù)據(jù)進(jìn)行編碼的裝置,所述裝置包括:用于確定所述視頻數(shù)據(jù)的塊的非轉(zhuǎn)義經(jīng)譯碼像素的調(diào)色板索引的裝置,其中對于所述塊的每一相應(yīng)非轉(zhuǎn)義經(jīng)譯碼像素,所述相應(yīng)非轉(zhuǎn)義經(jīng)譯碼像素的所述調(diào)色板索引指示調(diào)色板中的條目,其中所述調(diào)色板中的每一相應(yīng)條目指示相應(yīng)樣本值集合;用于識別所述塊中的一系列游程的裝置,所述系列的游程包含兩個或更多個游程,所述系列的游程中的每一相應(yīng)游程由所述塊的一個像素或者兩個或更多個連續(xù)像素組成,所述系列的游程中的每一相應(yīng)游程的每一像素具有相同調(diào)色板樣本模式;用于產(chǎn)生一或多個調(diào)色板游程長度語法元素的集合的裝置,其中所述一或多個調(diào)色板游程長度語法元素指示所述系列的游程中的一或多個游程的長度;以及用于產(chǎn)生具有特定值的語法元素的裝置,所述特定值指示調(diào)色板游程長度語法元素的所述集合不指示所述系列的游程中的第一游程的長度。
在另一實(shí)例中,本發(fā)明描述一種具有存儲于其上的指令的數(shù)據(jù)存儲媒體,所述指令當(dāng)執(zhí)行時致使用于對視頻數(shù)據(jù)進(jìn)行解碼的裝置:從包括所述視頻數(shù)據(jù)的塊的經(jīng)編碼表示的位流獲得語法元素,其中所述塊包括一系列游程,所述系列的游程包含兩個或更多個游程,所述系列的游程中的每一相應(yīng)游程由所述塊的一個像素或者兩個或更多個連續(xù)像素組成,所述系列的游程中的每一相應(yīng)游程的每一像素具有相同調(diào)色板樣本模式;從所述位流獲得一或多個調(diào)色板游程長度語法元素的集合,其中所述一或多個調(diào)色板游程長度語法元素指示所述系列的游程中的一或多個游程的長度;基于具有特定值的所述語法元素確定調(diào)色板游程長度語法元素的所述集合不指示所述系列的游程中的第一游程的長度;基于所述塊中的像素的數(shù)目以及由調(diào)色板游程語法元素的所述集合指示的所述長度而確定所述系列的游程中的所述第一游程的所述長度;基于所述塊的所述像素的所述調(diào)色板樣本模式而確定所述塊的非轉(zhuǎn)義經(jīng)譯碼像素的調(diào)色板索引,其中對于所述塊的每一相應(yīng)非轉(zhuǎn)義經(jīng)譯碼像素,所述相應(yīng)非轉(zhuǎn)義經(jīng)譯碼像素的相應(yīng)調(diào)色板索引指示調(diào)色板中的條目,所述調(diào)色板中的每一相應(yīng)條目指示相應(yīng)樣本值集合;以及基于所述塊的所述非轉(zhuǎn)義經(jīng)譯碼像素的所述調(diào)色板索引而確定所述塊的所述非轉(zhuǎn)義經(jīng)譯碼像素的值。
在另一實(shí)例中,本發(fā)明描述一種具有存儲于其上的指令的數(shù)據(jù)存儲媒體,所述指令當(dāng)執(zhí)行時致使用于對視頻數(shù)據(jù)進(jìn)行編碼的裝置:確定所述視頻數(shù)據(jù)的塊的非轉(zhuǎn)義經(jīng)譯碼像素的調(diào)色板索引,其中對于所述塊的每一相應(yīng)非轉(zhuǎn)義經(jīng)譯碼像素,所述相應(yīng)非轉(zhuǎn)義經(jīng)譯碼像素的所述調(diào)色板索引指示調(diào)色板中的條目,其中所述調(diào)色板中的每一相應(yīng)條目指示相應(yīng)樣本值集合;識別所述塊中的一系列游程,所述系列的游程包含兩個或更多個游程,所述系列的游程中的每一相應(yīng)游程由所述塊的一個像素或者兩個或更多個連續(xù)像素組成,所述系列的游程中的每一相應(yīng)游程的每一像素具有相同調(diào)色板樣本模式;產(chǎn)生一或多個調(diào)色板游程長度語法元素的集合,其中所述一或多個調(diào)色板游程長度語法元素指示所述系列的游程中的一或多個游程的長度;以及產(chǎn)生具有特定值的語法元素,所述特定值指示調(diào)色板游程長度語法元素的所述集合不指示所述系列的游程中的第一游程的長度。
在附圖和下文描述中陳述本發(fā)明的一或多個實(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)色板的索引的實(shí)例的概念圖。
圖6A是說明根據(jù)本發(fā)明的技術(shù)的視頻編碼器的實(shí)例操作的流程圖。
圖6B是說明根據(jù)本發(fā)明的技術(shù)的視頻解碼器的實(shí)例操作的流程圖。
具體實(shí)施方式
本發(fā)明描述用于視頻譯碼和壓縮的技術(shù)。確切地說,本發(fā)明描述用于視頻數(shù)據(jù)的基于調(diào)色板的譯碼的技術(shù)。在傳統(tǒng)的視頻譯碼中,假定圖像為連續(xù)色調(diào)且空間上平滑?;谶@些假設(shè),已經(jīng)開發(fā)各種工具,例如基于塊的變換、濾波等,且此些工具已展示用于自然內(nèi)容視頻的良好性能。
然而,在比如遠(yuǎn)程桌上型、協(xié)作式工作和無線顯示器的應(yīng)用中,計算機(jī)生成的屏幕內(nèi)容可為待壓縮的主要內(nèi)容。此類型的內(nèi)容傾向于具有離散色調(diào)及特征清晰線,及高對比度對象邊界。連續(xù)色調(diào)和平滑度的假設(shè)不再適用,且因此,傳統(tǒng)的視頻譯碼技術(shù)可能是壓縮計算機(jī)產(chǎn)生的屏幕內(nèi)容的低效方式。
本發(fā)明描述基于調(diào)色板的譯碼,其可具體來說適合于屏幕產(chǎn)生的內(nèi)容譯碼(例如,屏幕內(nèi)容譯碼(SCC))。用于視頻數(shù)據(jù)的基于調(diào)色板的譯碼的技術(shù)可與一或多個其它譯碼技術(shù)一起使用,例如用于幀間或幀內(nèi)預(yù)測性譯碼的技術(shù)。舉例來說,如下文更詳細(xì)地描述,編碼器或解碼器或組合編碼器-解碼器(編解碼器)可經(jīng)配置以執(zhí)行幀間和幀內(nèi)預(yù)測性譯碼以及基于調(diào)色板的譯碼。
在基于調(diào)色板的譯碼中,可以假設(shè)視頻數(shù)據(jù)的特定區(qū)域具有相對較少數(shù)目的顏色。視頻譯碼器(即,視頻編碼器或視頻解碼器)可將所謂的“調(diào)色板”譯碼為用于表示特定區(qū)域(例如,給定塊)的視頻數(shù)據(jù)的顏色的表。每一像素可與調(diào)色板中表示像素的顏色的條目相關(guān)聯(lián)。因此,在基于調(diào)色板的譯碼中,調(diào)色板可包括由相應(yīng)索引編號且表示顏色分量(例如,RGB、YUV或類似物)值和/或強(qiáng)度的條目,其可用作用于塊的預(yù)測符或最終經(jīng)重構(gòu)塊樣本。舉例來說,視頻譯碼器可對使像素與調(diào)色板中的適當(dāng)值相關(guān)的索引(即,“調(diào)色板索引”或“調(diào)色板條目索引”)進(jìn)行譯碼,其中所述值指示顏色分量和/或強(qiáng)度分量。
在以上實(shí)例中,視頻編碼器可通過確定塊的調(diào)色板、在調(diào)色板中定位表示每一像素的值的條目以及以使像素值與調(diào)色板相關(guān)的用于像素的索引值對調(diào)色板進(jìn)行編碼來對視頻數(shù)據(jù)塊進(jìn)行編碼。視頻解碼器可確定用于塊的調(diào)色板以及用于所述塊的像素的索引值。舉例來說,視頻解碼器可從經(jīng)編碼位流獲得用于塊的調(diào)色板以及用于所述塊的像素的索引值。視頻解碼器可使像素的索引值與調(diào)色板的條目相關(guān)以重構(gòu)塊的像素值。以上實(shí)例既定提供基于調(diào)色板的譯碼的一般描述。
舉例來說,調(diào)色板索引可具有與像素的單個顏色或明度分量(例如,RGB數(shù)據(jù)的紅色分量、YUV數(shù)據(jù)的Y分量或類似者)相關(guān)聯(lián)的單個相關(guān)聯(lián)顏色或明度值。在另一實(shí)例中,調(diào)色板索引可具有多個相關(guān)聯(lián)顏色或明度值。舉例來說,調(diào)色板中的每一條目可含有一個顏色分量(例如,明度值)或兩個分量(例如,兩個色度值)或三個顏色分量(例如,RGB、YUV等)。在一些情況下,可應(yīng)用基于調(diào)色板的譯碼以對單色視頻進(jìn)行譯碼。因此,術(shù)語“顏色值”一般可指用以產(chǎn)生像素值的任何顏色或非顏色分量。
經(jīng)調(diào)色板譯碼塊中的每一樣本可屬于三個模式(即,調(diào)色板樣本模式)中的一者,如下文闡述:
●轉(zhuǎn)義模式。在此模式中,由于針對所有顏色分量顯式地用信號表示調(diào)色板條目和經(jīng)量化樣本值,因此樣本值不包含在調(diào)色板中。轉(zhuǎn)義模式類似于新調(diào)色板條目的信令,但在一些實(shí)例中,對于新調(diào)色板條目,顏色分量值不經(jīng)量化。這些樣本可被稱為轉(zhuǎn)義樣本或轉(zhuǎn)義像素。
●“復(fù)制左邊游程”模式(也被稱作“索引復(fù)制調(diào)色板樣本模式”、“復(fù)制索引調(diào)色板樣本模式”或“值調(diào)色板樣本模式”)。在此模式中,可首先用信號表示調(diào)色板索引,接著是值M,其意味著隨后M個調(diào)色板索引與用信號表示的所述調(diào)色板索引相同。
●“復(fù)制上方游程”模式(也被稱作“復(fù)制上方調(diào)色板樣本模式”或“從頂部復(fù)制調(diào)色板樣本模式”)。在此模式中,可發(fā)射值N以指示對于隨后N個調(diào)色板索引分別與其上方相鄰者相同。
游程可為一個像素或具有同一調(diào)色板樣本模式的兩個或更多個連續(xù)像素的集合。此外,指定兩個游程類型。即,復(fù)制上方游程類型(即,“COPY_ABOVE游程類型”)和復(fù)制索引游程類型(即,“INDEX_COPY游程類型”)。具有復(fù)制上方游程類型的游程在本文中可被稱作復(fù)制上方游程。具有復(fù)制索引游程類型的游程在本文中可被稱作復(fù)制索引游程或索引復(fù)制游程。在一些實(shí)例中,具有復(fù)制上方游程類型的游程中的每一像素具有復(fù)制上方調(diào)色板樣本模式。具有復(fù)制索引游程類型的游程中的每一像素可具有復(fù)制索引調(diào)色板樣本模式或轉(zhuǎn)義調(diào)色板樣本模式。因此,復(fù)制索引游程可包括具有從左邊相鄰樣本復(fù)制的調(diào)色板索引的樣本的游程。在其中轉(zhuǎn)義像素由特殊調(diào)色板索引指示的實(shí)例中,如果第一像素具有特殊調(diào)色板索引,那么復(fù)制索引游程可為轉(zhuǎn)義像素的游程。
可針對每一游程用信號表示游程長度值。游程長度值也可被稱作“游程值”。信令索引和游程長度值稍類似于游程長度譯碼。游程長度值指定屬于同一調(diào)色板樣本模式的后續(xù)像素的數(shù)目。舉例來說,如果連續(xù)調(diào)色板索引對于第二像素是0、2、2、2、2、5,那么可用信號表示復(fù)制索引模式。在此實(shí)例中,在以上實(shí)例中用信號表示等于2的調(diào)色板索引之后,用信號表示3的游程長度值,其表示3個后續(xù)像素也具有相同調(diào)色板索引(即,2)。類似地,遵循復(fù)制上方模式的4的游程長度值意味著從上方對應(yīng)調(diào)色板索引復(fù)制總共5個索引。
用于視頻數(shù)據(jù)的基于調(diào)色板的譯碼的技術(shù)可與一或多個其它譯碼技術(shù)一起使用,例如用于幀間或幀內(nèi)預(yù)測性譯碼的技術(shù)。舉例來說,編碼器或解碼器或組合的編碼器-解碼器(編解碼器)可經(jīng)配置以執(zhí)行幀間和幀內(nèi)預(yù)測性譯碼以及基于調(diào)色板的譯碼。
通常,視頻編碼器針對塊的每一游程用信號表示游程長度語法元素。換句話說,游程長度語法元素的數(shù)目與塊的游程之間存在1比1關(guān)系。每一相應(yīng)游程長度語法元素指示相應(yīng)游程的長度。換句話說,每一相應(yīng)游程長度語法元素指示相應(yīng)游程長度值。
本發(fā)明描述不必針對塊的每一相應(yīng)游程用信號表示游程長度語法元素的技術(shù)。舉例來說,在一些情況下,視頻解碼器可能夠基于塊的像素的數(shù)目和其它游程的長度而確定塊的第一或最后游程的長度,而無需指示所述第一或最后游程的長度的游程長度語法元素的信令。因此,在至少一些環(huán)境中,視頻編碼器不必用信號表示指示第一或最后游程的長度的游程長度語法元素。
一般來說,需要較多二進(jìn)位來表示指示較長游程的游程長度語法元素。因此,如果第一游程的長度長于最后游程的長度,那么可能有利的是跳過指示第一游程的長度的游程長度語法元素的信令。相反,如果最后游程的長度長于第一游程的長度,那么可能有利的是跳過指示最后游程的長度的游程長度語法元素的信令。因此,根據(jù)本發(fā)明的實(shí)例技術(shù),視頻編碼器可用信號表示指示用于第一或最后游程的游程長度語法元素是否被省略的語法元素。
因此,根據(jù)本發(fā)明的實(shí)例技術(shù),視頻編碼器可確定視頻數(shù)據(jù)塊的像素的調(diào)色板索引。對于塊的每一相應(yīng)像素,相應(yīng)像素的調(diào)色板索引指示調(diào)色板中的條目。調(diào)色板中的每一相應(yīng)條目指示樣本值的相應(yīng)集合。此外,在此實(shí)例中,視頻編碼器可識別塊中的一系列游程。所述系列的游程中的每一相應(yīng)游程可由塊的一個像素或兩個或更多個連續(xù)像素組成。所述系列的游程中的每一相應(yīng)游程的每一像素可具有相同的調(diào)色板樣本模式。在此實(shí)例中,視頻編碼器可產(chǎn)生指示所述系列的游程中的一或多個游程的長度的一或多個調(diào)色板游程長度語法元素的集合。此外,在此實(shí)例中,視頻編碼器可產(chǎn)生具有特定值的語法元素,所述特定值指示調(diào)色板游程長度語法元素的集合不指示所述系列的游程中的第一游程的長度。
在相似實(shí)例中,視頻解碼器可從位流獲得包括視頻數(shù)據(jù)塊的經(jīng)編碼表示的語法元素。塊包括一系列游程。所述系列的游程包含兩個或更多個游程。所述系列的游程中的每一相應(yīng)游程可由塊的一個像素或兩個或更多個連續(xù)像素組成。所述系列的游程中的每一相應(yīng)游程的每一像素具有相同的調(diào)色板樣本模式。此外,在此實(shí)例中,視頻解碼器可從位流獲得一或多個調(diào)色板游程長度語法元素的集合。所述一或多個調(diào)色板游程長度語法元素指示所述系列的游程中的一或多個游程的長度。在此實(shí)例中,視頻解碼器可基于具有特定值的語法元素確定調(diào)色板游程長度語法元素的所述集合不指示所述系列的游程中的第一游程的長度。視頻解碼器可基于塊中的像素的數(shù)目以及由調(diào)色板游程語法元素的集合指示的長度而確定所述系列的游程中的第一游程的長度。此外,在此實(shí)例中,視頻解碼器可基于塊的像素的調(diào)色板樣本模式而確定所述塊的像素的調(diào)色板索引。對于塊的每一相應(yīng)像素,相應(yīng)像素的相應(yīng)調(diào)色板索引指示調(diào)色板中的條目。調(diào)色板中的每一相應(yīng)條目指示樣本值的相應(yīng)集合。視頻解碼器可基于塊的像素的調(diào)色板索引而確定所述塊的像素的值。
圖1是說明可利用本發(fā)明的技術(shù)的實(shí)例視頻譯碼系統(tǒng)10的框圖。如本文所使用,術(shù)語“視頻譯碼器”一般是指視頻編碼器及視頻解碼器兩者。在本發(fā)明中,術(shù)語“視頻譯碼”或“譯碼”可一般地指代視頻編碼或視頻解碼。
如圖1中所示,視頻譯碼系統(tǒng)10包含源裝置12和目的地裝置14。源裝置12產(chǎn)生經(jīng)編碼視頻數(shù)據(jù)。因此,源裝置12可被稱為視頻編碼裝置或視頻編碼設(shè)備。目的地裝置14可以對由源裝置12所產(chǎn)生的經(jīng)編碼的視頻數(shù)據(jù)進(jìn)行解碼。因此,目的地裝置14可以被稱為視頻解碼裝置或視頻解碼設(shè)備。源裝置12以及目的地裝置14可以是視頻編解碼裝置或視頻編解碼設(shè)備的實(shí)例。
源裝置12和目的地裝置14可包括廣泛范圍的裝置,包含桌上型計算機(jī)、移動計算裝置、筆記本(例如,膝上型計算機(jī))計算機(jī)、平板計算機(jī)、機(jī)頂盒、例如所謂的“智能”電話等電話手持機(jī)、電視機(jī)、相機(jī)、顯示裝置、數(shù)字媒體播放器、視頻游戲控制臺、車內(nèi)計算機(jī)、無線通信裝置或類似物。
目的地裝置14可經(jīng)由信道16從源裝置12接收經(jīng)編碼的視頻數(shù)據(jù)。信道16可包括能夠?qū)⒔?jīng)編碼的視頻數(shù)據(jù)從源裝置12移動到目的地裝置14的一或多個媒體或裝置。在一個實(shí)例中,信道16可包括使得源裝置12能夠?qū)崟r地將經(jīng)編碼的視頻數(shù)據(jù)直接發(fā)射到目的地裝置14的一或多個通信媒體。在此實(shí)例中,源裝置12可根據(jù)通信標(biāo)準(zhǔn)(例如無線通信協(xié)議)來調(diào)制經(jīng)編碼的視頻數(shù)據(jù),且可將經(jīng)調(diào)制視頻數(shù)據(jù)發(fā)射到目的地裝置14。所述一或多個通信媒體可包含無線和/或有線通信媒體,例如射頻(RF)頻譜或一或多個物理傳輸線。所述一或多個通信媒體可形成基于分組的網(wǎng)絡(luò)的一部分,基于分組的網(wǎng)絡(luò)例如為局域網(wǎng)、廣域網(wǎng)或全球網(wǎng)絡(luò)(例如,因特網(wǎng))。所述一或多個通信媒體可包含路由器、交換器、基站或促進(jìn)從源裝置12到目的地裝置14的通信的其它設(shè)備。
在另一實(shí)例中,信道16可包含存儲由源裝置12產(chǎn)生的經(jīng)編碼視頻數(shù)據(jù)的存儲媒體。在此實(shí)例中,目的地裝置14可(例如)經(jīng)由磁盤存取或卡存取來存取存儲媒體。存儲媒體可以包含多種本地存取的數(shù)據(jù)存儲媒體,例如藍(lán)光光盤、DVD、CD-ROM、快閃存儲器或用于存儲經(jīng)編碼的視頻數(shù)據(jù)的其它合適數(shù)字存儲媒體。
在另一實(shí)例中,信道16可以包含存儲由源裝置12產(chǎn)生的經(jīng)編碼的視頻數(shù)據(jù)的文件服務(wù)器或另一中間存儲裝置。在此實(shí)例中,目的地裝置14可以經(jīng)由流式傳輸或下載來存取存儲于文件服務(wù)器或其它中間存儲裝置處的經(jīng)編碼的視頻數(shù)據(jù)。文件服務(wù)器可為能夠存儲經(jīng)編碼視頻數(shù)據(jù)及將經(jīng)編碼視頻數(shù)據(jù)發(fā)射至目的地裝置14的服務(wù)器類型。實(shí)例文件服務(wù)器包含網(wǎng)絡(luò)服務(wù)器(例如,用于網(wǎng)站)、文件傳輸協(xié)議(FTP)服務(wù)器、網(wǎng)絡(luò)連接存儲(NAS)裝置和本地磁盤驅(qū)動器。
目的地裝置14可以通過標(biāo)準(zhǔn)數(shù)據(jù)連接(例如因特網(wǎng)連接)來存取經(jīng)編碼的視頻數(shù)據(jù)。實(shí)例類型的數(shù)據(jù)連接可包含無線信道(例如Wi-Fi連接)、有線連接(例如DSL、電纜調(diào)制解調(diào)器等),或適合于存取存儲在文件服務(wù)器上的經(jīng)編碼視頻數(shù)據(jù)的兩者的組合。經(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))、編碼視頻數(shù)據(jù)以供存儲于數(shù)據(jù)存儲媒體上、解碼存儲在數(shù)據(jù)存儲媒體上的視頻數(shù)據(jù),或其它應(yīng)用。在一些實(shí)例中,視頻譯碼系統(tǒng)10可經(jīng)配置以支持單向或雙向視頻傳輸以支持例如視頻流式傳輸、視頻回放、視頻廣播及/或視頻電話等應(yīng)用。
圖1中說明的視頻譯碼系統(tǒng)10僅為實(shí)例,并且本發(fā)明的技術(shù)可適用于未必包含編碼裝置與解碼裝置之間的任何數(shù)據(jù)通信的視頻譯碼設(shè)定(例如,視頻編碼或視頻解碼)。在其它實(shí)例中,數(shù)據(jù)從本地存儲器檢索、在網(wǎng)絡(luò)上流式傳輸?shù)鹊?。視頻編碼裝置可對數(shù)據(jù)進(jìn)行編碼且將數(shù)據(jù)存儲到存儲器,和/或視頻解碼裝置可從存儲器檢索且解碼數(shù)據(jù)(例如,視頻數(shù)據(jù))。在許多實(shí)例中,由并不彼此通信而是僅編碼數(shù)據(jù)到存儲器和/或從存儲器檢索數(shù)據(jù)且解碼數(shù)據(jù)的裝置執(zhí)行編碼和解碼。
在圖1的實(shí)例中,源裝置12包含視頻源18、視頻編碼器20及輸出接口22。在一些實(shí)例中,輸出接口22可包含調(diào)節(jié)器/解調(diào)器(調(diào)制解調(diào)器)及/或發(fā)射器。視頻源18可包含視頻捕獲裝置(例如,攝像機(jī))、含有先前捕獲的視頻數(shù)據(jù)的視頻存檔、從視頻內(nèi)容提供商接收視頻數(shù)據(jù)的視頻饋入接口和/或用于產(chǎn)生視頻數(shù)據(jù)的計算機(jī)圖形系統(tǒng)或視頻數(shù)據(jù)的此類來源的組合。
視頻編碼器20可對來自視頻源18的視頻數(shù)據(jù)進(jìn)行編碼。在一些實(shí)例中,源裝置12經(jīng)由輸出接口22將經(jīng)編碼的視頻數(shù)據(jù)直接發(fā)射到目的地裝置14。在其它實(shí)例中,經(jīng)編碼的視頻數(shù)據(jù)也可存儲到存儲媒體或文件服務(wù)器上以供稍后由目的地裝置14存取以用于解碼和/或回放。
在圖1的實(shí)例中,目的地裝置14包含輸入接口28、視頻解碼器30及顯示裝置32。在一些實(shí)例中,輸入接口28包含接收器及/或調(diào)制解調(diào)器。輸入接口28可以在信道16上接收經(jīng)編碼的視頻數(shù)據(jù)。顯示裝置32可以與目的地裝置14集成在一起或可以在目的地裝置14的外部。一般來說,顯示裝置32顯示經(jīng)解碼的視頻數(shù)據(jù)。顯示裝置32可以包括多種顯示裝置,例如液晶顯示器(LCD)、等離子顯示器、有機(jī)發(fā)光二極管(OLED)顯示器或另一類型的顯示裝置。
視頻譯碼系統(tǒng)10的視頻編碼器20和視頻解碼器30表示可經(jīng)配置以執(zhí)行根據(jù)本發(fā)明中描述的各種實(shí)例的用于基于調(diào)色板的視頻譯碼的技術(shù)的裝置的實(shí)例。舉例來說,視頻編碼器20和視頻解碼器30可經(jīng)配置以使用基于調(diào)色板的譯碼或非基于調(diào)色板的譯碼中的任一者選擇性譯碼各種視頻數(shù)據(jù)塊,例如高效視頻譯碼(HEVC)中的譯碼單元(CU)或預(yù)測單元(PU)。非基于調(diào)色板的譯碼模式可指代各種幀間預(yù)測時間譯碼模式或幀內(nèi)預(yù)測性空間譯碼模式,例如由布洛斯等人的“高效視頻譯碼(HEVC)文字規(guī)范草案10(用于FDIS和同意)(High Efficiency Video Coding(HEVC)Text Specification Draft 10(for FDIS&Consent))”(JCVC-L1003_v13,ITU-T SG16WP 3和ISO/IEC JCT1/SC 29/WG 11的JCT-VC第12次會議,2013年1月14-23日(下文為“HEVC草案10”)),可得自http://phenix.int-evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC-L1003-v13.zip)指定的各種譯碼模式。視頻編碼器20和視頻解碼器30各自可實(shí)施為例如以下各者的多種合適電路中的任一者:一或多個微處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、離散邏輯、硬件或其任何組合。如果部分地以軟件實(shí)施技術(shù),那么裝置可將軟件的指令存儲于合適的非暫時性計算機(jī)可讀存儲媒體中且可使用一或多個處理器以硬件執(zhí)行指令從而執(zhí)行本發(fā)明的技術(shù)。前述內(nèi)容(包含硬件、軟件、硬件與軟件的組合等)中的任一者可被視為一或多個處理器。視頻編碼器20和視頻解碼器30中的每一者可以包含在一或多個編碼器或解碼器中,所述編碼器或解碼器中的任一者可以集成為相應(yīng)裝置中的組合編碼器/解碼器(編解碼器)的部分。
本發(fā)明可大體上將視頻編碼器20稱為將某些信息“用信號表示”或“發(fā)射”到例如視頻解碼器30的另一裝置。術(shù)語“用信號表示”或“發(fā)射”可大體上指代用以對經(jīng)壓縮視頻數(shù)據(jù)進(jìn)行解碼的語法元素和/或其它數(shù)據(jù)的傳送。此傳送可實(shí)時或幾乎實(shí)時發(fā)生。替代地,此通信可經(jīng)過一段時間后發(fā)生,例如可在編碼時以經(jīng)編碼位流將語法元素存儲到計算機(jī)可讀存儲媒體時發(fā)生,解碼裝置接著可在所述語法元素存儲到此媒體之后的任何時間檢索所述語法元素。
在一些實(shí)例中,視頻編碼器20和視頻解碼器30根據(jù)視頻壓縮標(biāo)準(zhǔn)操作,所述視頻壓縮標(biāo)準(zhǔn)例如是高效視頻譯碼(HEVC)。HEVC是由ITU-T視頻譯碼專家組(VCEG)和ISO/IEC運(yùn)動圖片專家組(MPEG)的視頻譯碼聯(lián)合合作小組(JCT-VC)開發(fā)的新視頻譯碼標(biāo)準(zhǔn)。HEVC草案10是最近的HEVC文字規(guī)范草案。
除基礎(chǔ)HEVC標(biāo)準(zhǔn)以外,存在持續(xù)努力產(chǎn)生用于HEVC的可縮放視頻譯碼、多視圖視頻譯碼和3D譯碼擴(kuò)展。此外,可提供(例如)如本發(fā)明中所描述的基于調(diào)色板的譯碼模式以用于HEVC標(biāo)準(zhǔn)的擴(kuò)展。舉例來說,基于調(diào)色板的譯碼技術(shù)在拉詹·喬希等人的“高效視頻譯碼(HEVC)屏幕內(nèi)容譯碼:草案2(High Efficiency Video Coding(HEVC)Screen Content Coding:Draft 2)”(JCTVC-S1005,日本札幌,2014年6月30日-7月9日(下文為“SCC草案2”))中描述。SCC草案2的副本在http://phenix.int-evry.fr/jct/doc_end_user/documents/19_Strasbourg/wg11/JCTVC-S1005-v1.zip可用。在一些實(shí)例中,本發(fā)明中針對基于調(diào)色板的譯碼而描述的技術(shù)可應(yīng)用于經(jīng)配置以根據(jù)其它視頻譯碼標(biāo)準(zhǔn)(例如,ITU-T-H.264/AVC標(biāo)準(zhǔn)或?qū)順?biāo)準(zhǔn))操作的編碼器和解碼器。因此,將基于調(diào)色板的譯碼模式用于HEVC編解碼器中的譯碼單元(CU)或預(yù)測單元(PU)的譯碼是為了實(shí)例的目的而描述。
在HEVC和其它視頻譯碼標(biāo)準(zhǔn)中,視頻序列通常包含一連串圖片。圖片也可被稱作“幀”。圖片可包含一或多個樣本陣列。舉例來說,圖片可包含三個樣本陣列,表示為SL、SCb和SCr。SL是明度樣本的二維陣列(即,塊)。SCb是Cb色度樣本的二維陣列。SCr是Cr色度樣本的二維陣列。色度樣本在本文中還可以被稱為“色度”樣本。在其它情況下,圖片可為單色的且可僅包含明度樣本陣列。
為了產(chǎn)生圖片的經(jīng)編碼的表示,視頻編碼器20可以產(chǎn)生一組譯碼樹單元(CTU)。CTU中的每一者可為明度樣本的譯碼樹塊、色度樣本的兩個對應(yīng)譯碼樹塊及用于對譯碼樹塊的樣本進(jìn)行譯碼的語法結(jié)構(gòu)。譯碼樹塊可為樣本的NxN塊。CTU也可以被稱為“樹塊”或“最大譯碼單元(LCU)”。HEVC的CTU可以廣泛地類似于例如H.264/AVC等其它標(biāo)準(zhǔn)的宏塊。然而,CTU未必限于特定大小,并且可以包含一或多個譯碼單元(CU)。切片可包含光柵掃描中連續(xù)排序的整數(shù)數(shù)目的CTU。
為了產(chǎn)生經(jīng)譯碼CTU,視頻編碼器20可在CTU的譯碼樹塊上以遞歸方式執(zhí)行四叉樹分割,以將譯碼樹塊劃分為譯碼塊,因此命名為“譯碼樹單元”。譯碼塊是樣本的NxN塊。CU可為具有明度樣本陣列、Cb樣本陣列和Cr樣本陣列的圖片的明度樣本的譯碼塊和色度樣本的兩個對應(yīng)譯碼塊,以及用于對譯碼塊的樣本進(jìn)行譯碼的語法結(jié)構(gòu)。在單色圖片或具有三個單獨(dú)顏色平面的圖片中,CU可包括單個譯碼塊和用以對譯碼塊的樣本進(jìn)行譯碼的語法結(jié)構(gòu)。
視頻編碼器20可將CU的譯碼塊分割為一或多個預(yù)測塊。預(yù)測塊可為應(yīng)用相同預(yù)測的樣本的矩形(即,正方形還是非正方形)塊。CU的預(yù)測單元(PU)可以是圖片的明度樣本的預(yù)測塊,圖片的色度樣本的兩個對應(yīng)的預(yù)測塊,以及用以對預(yù)測塊樣本進(jìn)行預(yù)測的語法結(jié)構(gòu)。視頻編碼器20可以產(chǎn)生用于CU的每個PU的明度預(yù)測塊、Cb預(yù)測塊以及Cr預(yù)測塊的預(yù)測性明度塊、Cb塊以及Cr塊。在單色圖片或具有三個單獨(dú)顏色平面的圖片中,PU可包括單個預(yù)測塊和用以預(yù)測預(yù)測塊的語法結(jié)構(gòu)。
視頻編碼器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)的圖片以外的一或多個圖片的經(jīng)解碼樣本產(chǎn)生PU的預(yù)測性塊。視頻編碼器20可使用單向預(yù)測或雙向預(yù)測來產(chǎn)生PU的預(yù)測性塊。當(dāng)視頻編碼器20使用單向預(yù)測來產(chǎn)生PU的預(yù)測性塊時,PU可具有單個運(yùn)動向量(MV)。當(dāng)視頻編碼器20使用雙向預(yù)測來產(chǎn)生PU的預(yù)測性塊時,PU可具有兩個MV。
在視頻編碼器20產(chǎn)生CU的一或多個PU的預(yù)測性塊(例如,預(yù)測性明度塊、Cb塊和Cr塊)之后,視頻編碼器20可產(chǎn)生CU的殘余塊。CU的殘余塊中的每一樣本指示CU的PU的預(yù)測性塊中的樣本與CU的譯碼塊中的對應(yīng)樣本之間的差異。舉例來說,視頻編碼器20可產(chǎn)生CU的明度殘余塊。CU的明度殘余塊中的每一樣本指示CU的PU的預(yù)測性明度塊中的明度樣本與CU的明度譯碼塊中的對應(yīng)樣本之間的差異。另外,視頻編碼器20可產(chǎn)生CU的Cb殘余塊。CU的Cb殘余塊中的每一樣本可指示CU的PU的預(yù)測性Cb塊中的Cb樣本與CU的Cb譯碼塊中的對應(yīng)樣本之間的差異。視頻編碼器20還可產(chǎn)生CU的Cr殘余塊。CU的Cr殘余塊中的每一樣本可指示CU的PU的預(yù)測性Cr塊中的Cr樣本與CU的Cr譯碼塊中的對應(yīng)樣本之間的差異。
此外,視頻編碼器20可使用四叉樹分割將CU的殘余塊(例如,明度、Cb及Cr殘余塊)分解為一或多個變換塊(例如,明度、Cb及Cr變換塊)。變換塊可為其上應(yīng)用相同變換的樣本的矩形塊。CU的變換單元(TU)可為明度樣本的變換塊、色度樣本的兩個對應(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殘余塊的子塊。在單色圖片或具有三個單獨(dú)顏色平面的圖片中,TU可包括單個變換塊和用以對變換塊的樣本進(jìn)行變換的語法結(jié)構(gòu)。
視頻編碼器20可將一或多個變換應(yīng)用到TU的變換塊從而產(chǎn)生TU的系數(shù)塊。舉例來說,視頻編碼器20可將一或多個變換應(yīng)用于TU的明度變換塊以產(chǎn)生TU的明度系數(shù)塊。視頻編碼器20可將一或多個變換應(yīng)用至TU的Cb變換塊以產(chǎn)生TU的Cb系數(shù)塊。視頻編碼器20可將一或多個變換應(yīng)用至TU的Cr變換塊以產(chǎn)生TU的Cr系數(shù)塊。系數(shù)塊可為變換系數(shù)的二維陣列。變換系數(shù)可為標(biāo)量。
在產(chǎn)生系數(shù)塊(例如,明度系數(shù)塊、Cb系數(shù)塊或Cr系數(shù)塊)之后,視頻編碼器20可以量化系數(shù)塊。量化總體上是指對變換系數(shù)進(jìn)行量化以可能減少用以表示變換系數(shù)的數(shù)據(jù)的量從而提供進(jìn)一步壓縮的過程。在視頻編碼器20量化系數(shù)塊之后,視頻編碼器20可以對指示經(jīng)量化變換系數(shù)的語法元素進(jìn)行熵編碼。舉例來說,視頻編碼器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)頭且封裝原始字節(jié)序列有效負(fù)載(RBSP)。NAL單元標(biāo)頭可包含指示NAL單元類型碼的語法元素。由NAL單元的NAL單元標(biāo)頭指定的所述NAL單元類型代碼指示NAL單元的類型。RBSP可為含有囊封在NAL單元內(nèi)的整數(shù)數(shù)目個字節(jié)的語法結(jié)構(gòu)。在一些情況下,RBSP包含零個位。
不同類型的NAL單元可囊封不同類型的RBSP。舉例來說,第一類型的NAL單元可囊封用于圖片參數(shù)集(PPS)的RBSP,第二類型的NAL單元可囊封用于經(jīng)譯碼切片的RBSP,第三類型的NAL單元可囊封用于補(bǔ)充增強(qiáng)信息(SEI)的RBSP,等等。封裝視頻譯碼數(shù)據(jù)的RBSP(與參數(shù)集及SEI消息的RBSP相對)的NAL單元可被稱為視頻編碼層(VCL)NAL單元。
在圖1的實(shí)例中,視頻解碼器30接收視頻編碼器20所產(chǎn)生的位流。另外,視頻解碼器30可剖析所述位流以從所述位流獲得語法元素。作為獲得語法元素的部分,視頻解碼器30可將CABAC解碼應(yīng)用于特定語法元素。視頻解碼器30可至少部分地基于從位流獲得的語法元素重構(gòu)視頻數(shù)據(jù)的圖片。重構(gòu)視頻數(shù)據(jù)的過程通常可與由視頻編碼器20執(zhí)行的過程互逆。舉例來說,視頻解碼器30可使用幀內(nèi)預(yù)測或幀間預(yù)測來確定當(dāng)前CU的PU的預(yù)測性塊。另外,視頻解碼器30可逆量化當(dāng)前CU的TU的系數(shù)塊。視頻解碼器30可對系數(shù)塊執(zhí)行逆變換以重構(gòu)當(dāng)前CU的TU的變換塊。通過將用于當(dāng)前CU的PU的預(yù)測性塊的樣本增加到當(dāng)前CU的TU的變換塊的對應(yīng)的樣本上,視頻解碼器30可以重構(gòu)當(dāng)前CU的譯碼塊。通過重構(gòu)用于圖片的每一CU的譯碼塊,視頻解碼器30可重構(gòu)圖片。
如上文所指出,視頻編碼器20和視頻解碼器30可應(yīng)用CABAC譯碼。為了將CABAC編碼應(yīng)用于語法元素,視頻編碼器20可將語法元素二進(jìn)制化以形成被稱為“二進(jìn)位”的一系列一或多個位。另外,視頻編碼器20可識別譯碼上下文。譯碼上下文可以識別譯碼二進(jìn)位具有特定值的概率。舉例來說,譯碼上下文可以指示對0值二進(jìn)位進(jìn)行譯碼的0.7概率,以及對1值二進(jìn)位進(jìn)行譯碼的0.3概率。在識別出譯碼上下文之后,視頻編碼器20可將區(qū)間劃分成下部子區(qū)間和上部子區(qū)間。所述子區(qū)間中的一者可與值0相關(guān)聯(lián),且另一子區(qū)間可與值1相關(guān)聯(lián)。所述子區(qū)間的寬度可與由經(jīng)識別的譯碼上下文關(guān)于相關(guān)聯(lián)值所指示的概率成比例。如果語法元素的二進(jìn)位具有與下部子區(qū)間相關(guān)聯(lián)的值,那么經(jīng)編碼值可等于下部子區(qū)間的下邊界。如果語法元素的同一二進(jìn)位具有與上部子區(qū)間相關(guān)聯(lián)的值,那么經(jīng)編碼值可等于上部子區(qū)間的下邊界。為了編碼語法元素的下一個二進(jìn)位,視頻編碼器20可重復(fù)這些步驟,其中區(qū)間為與經(jīng)編碼位的值相關(guān)聯(lián)的子區(qū)間。當(dāng)視頻編碼器20針對下一個二進(jìn)位重復(fù)這些步驟時,視頻編碼器20可使用基于由經(jīng)識別的譯碼上下文指示的概率及經(jīng)編碼的二進(jìn)位的實(shí)際值的經(jīng)修改概率。
當(dāng)視頻解碼器30對語法元素執(zhí)行CABAC解碼時,視頻解碼器30可識別譯碼上下文。視頻解碼器30可接著將區(qū)間劃分成下部子區(qū)間和上部子區(qū)間。所述子區(qū)間中的一者可與值0相關(guān)聯(lián),且另一子區(qū)間可與值1相關(guān)聯(lián)。所述子區(qū)間的寬度可與由經(jīng)識別的譯碼上下文關(guān)于相關(guān)聯(lián)值所指示的概率成比例。如果經(jīng)編碼值在下部子區(qū)間內(nèi),那么視頻解碼器30可解碼具有與下部子區(qū)間相關(guān)聯(lián)的值的二進(jìn)位。如果經(jīng)編碼值在上部子區(qū)間內(nèi),那么視頻解碼器30可解碼具有與上部子區(qū)間相關(guān)聯(lián)的值的二進(jìn)位。為了解碼語法元素的下一個二進(jìn)位,視頻解碼器30可重復(fù)這些步驟,其中區(qū)間為含有經(jīng)編碼值的子區(qū)間。當(dāng)視頻解碼器30針對下一個二進(jìn)位重復(fù)這些步驟時,視頻解碼器30可使用基于由經(jīng)識別的譯碼上下文指示的概率及經(jīng)解碼的二進(jìn)位的經(jīng)修改概率。視頻解碼器可接著對二進(jìn)位去二進(jìn)制化以恢復(fù)語法元素。
在一些實(shí)例中,視頻編碼器20和視頻解碼器30可經(jīng)配置以執(zhí)行基于調(diào)色板的譯碼。舉例來說,在基于調(diào)色板的譯碼中,并非執(zhí)行上文所描述的幀內(nèi)預(yù)測性或幀間預(yù)測性譯碼技術(shù),視頻編碼器20和視頻解碼器30可將所謂的調(diào)色板譯碼為用于表示特定區(qū)域(例如,給定塊)的視頻數(shù)據(jù)的顏色的表。因此,像素可與調(diào)色板中的表示像素的顏色的條目相關(guān)聯(lián)。舉例來說,視頻編碼器20和視頻解碼器30可對使像素與調(diào)色板中的適當(dāng)值相關(guān)的索引進(jìn)行譯碼。
視頻編碼器20可通過確定用于塊的調(diào)色板、定位所述調(diào)色板中表示每一像素的值的條目以及以使像素值與調(diào)色板相關(guān)的用于像素的索引值對調(diào)色板進(jìn)行編碼,而對視頻數(shù)據(jù)塊進(jìn)行編碼。視頻解碼器30可從經(jīng)編碼位流獲得塊的調(diào)色板以及所述塊的像素的索引值。視頻解碼器30可使像素的索引值與調(diào)色板的條目相關(guān)以重構(gòu)塊的像素值。
在本發(fā)明中,假定每一調(diào)色板條目指定像素的所有顏色分量的值。然而,本發(fā)明的概念適用于使用用于每一顏色分量的單獨(dú)的調(diào)色板。并且,假定使用水平光柵掃描次序處理塊中的樣本。舉例來說,視頻編碼器可以通過使用水平光柵掃描次序來掃描索引而將索引的二維塊轉(zhuǎn)換成一維陣列。類似地,視頻解碼器可以使用水平光柵掃描次序重構(gòu)索引塊。因此,本發(fā)明可將先前樣本指代為塊中以掃描次序在當(dāng)前經(jīng)譯碼的樣本之前的樣本。應(yīng)了解,也可以應(yīng)用除水平光柵掃描之外的掃描,例如垂直光柵掃描次序。以上實(shí)例既定提供基于調(diào)色板的譯碼的一般描述。然而,例如垂直光柵掃描次序的其它掃描也適用。
基于調(diào)色板的譯碼技術(shù)可經(jīng)配置以與一或多個視頻譯碼標(biāo)準(zhǔn)一起使用。舉例來說,相對于HEVC框架,基于調(diào)色板的譯碼技術(shù)可經(jīng)配置以用作CU模式。在其它實(shí)例中,基于調(diào)色板的譯碼技術(shù)可經(jīng)配置以用作HEVC的框架中的PU模式。因此,在CU模式的上下文中描述的所有以下所揭示的過程可另外或替代地應(yīng)用于PU。然而,這些基于HEVC的實(shí)例不應(yīng)被視為對本文所描述的基于調(diào)色板的譯碼技術(shù)的限定或限制,因為此些技術(shù)可應(yīng)用以獨(dú)立地工作或作為其它現(xiàn)有或尚待開發(fā)的系統(tǒng)/標(biāo)準(zhǔn)的部分而應(yīng)用。在這些情況下,用于調(diào)色板譯碼的單元可為正方形塊、矩形塊或甚至非矩形形狀的區(qū)。
以基于調(diào)色板的譯碼模式譯碼的塊中的每一樣本可使用三個調(diào)色板樣本模式中的一者譯碼:轉(zhuǎn)義模式,復(fù)制上方游程模式,以及索引復(fù)制游程模式。對于復(fù)制上方游程模式和索引復(fù)制游程模式,也可以用信號表示其值指示游程長度的語法元素。游程長度值可指示經(jīng)調(diào)色板譯碼塊中以特定掃描次序一起經(jīng)譯碼的一個樣本或兩個或更多個連續(xù)樣本(例如,樣本的游程)的數(shù)目。
游程長度值可指示使用同一調(diào)色板譯碼模式經(jīng)譯碼的索引的游程的長度。舉例來說,相對于索引復(fù)制游程模式,視頻譯碼器(視頻編碼器或視頻解碼器)可對調(diào)色板索引和游程長度值進(jìn)行譯碼。在此實(shí)例中,游程長度值指示按掃描次序的具有樣本調(diào)色板樣本模式的一個樣本或兩個或更多個連續(xù)樣本的數(shù)目。舉例來說,游程長度值可指示按掃描次序的具有相同索引值且以所述索引值譯碼的一個樣本或兩個或更多個連續(xù)樣本的數(shù)目。
相對于復(fù)制上方游程模式,視頻譯碼器可對游程類型指示符和游程長度指示符進(jìn)行譯碼。游程類型指示符是用于一樣本的調(diào)色板索引是從上方相鄰樣本(例如,定位于當(dāng)前正譯碼樣本的正上方的樣本)的調(diào)色板索引復(fù)制的指示。游程長度指示符指示按掃描次序的也從相應(yīng)上方相鄰樣本復(fù)制調(diào)色板索引的一個樣本(或像素)或兩個或更多個連續(xù)樣本(或像素)的數(shù)目。
在SCC草案2中,首先用信號表示指示用信號表示的調(diào)色板索引的數(shù)目的語法元素,接著是每一個別調(diào)色板索引值。隨后以與調(diào)色板游程長度語法元素交錯的模式用信號表示指定調(diào)色板游程類型的語法元素,例如COPY_ABOVE或INDEX_COPY。
具體來說,SCC草案2指定CU可包含含有與調(diào)色板譯碼相關(guān)的語法元素的palette_coding語法結(jié)構(gòu)。以下表1示出了SCC草案2中的界定用于palette_coding語法結(jié)構(gòu)的語法。
表1
在表1中,粗體文字指示語法元素。語法元素palette_run_type_flag[xC][yC]是游程類型指示符。如SCC草案2中所描述,等于COPY_ABOVE_MODE的palette_run_type_flag[xC][yC]指定用于在位置[xC][yC]處的樣本的調(diào)色板索引等于在上方行中同一位置的調(diào)色板索引。等于COPY_INDEX_MODE的palette_run_type_flag[xC][yC]指定樣本的調(diào)色板索引的指示在位流中經(jīng)譯碼。陣列索引xC、yC指定樣本相對于圖片的左上方明度樣本的位置(xC,yC)。當(dāng)palette_run_type_flag不存在時,推斷其等于COPY_INDEX_MODE。此外,在表1中,語法元素palette_index_idc指定調(diào)色板條目索引。如SCC草案2中所描述,palette_index_idc是由currentPaletteEntries表示的陣列的索引的指示。
在表1中,兩個語法元素palette_run_msb_id_plus1和palette_run_refinement_bits可用以指示游程長度。如SCC草案文本2中所描述,變量paletteRun指定當(dāng)palette_run_type_flag等于COPY_ABOVE_MODE時具有與上方行中的位置相同的調(diào)色板索引的連續(xù)位置的數(shù)目減1,或指定當(dāng)palette_run_type_flag等于COPY_INDEX_MODE時具有相同調(diào)色板索引的連續(xù)位置的數(shù)目減1。此外,在SCC草案文本2中,palette_run_msb_id_plus1減1指定paletteRun的二進(jìn)制表示中的最高有效位。palette_run_refinement_bits指定paletteRun的二進(jìn)制表示中的精煉位。當(dāng)palette_run_refinement_bits不存在時,推斷其等于0。變量paletteRun如下導(dǎo)出:
-如果indexMax大于0
○如果palette_run_msb_id_plus1大于1,
paletteRun=(1<<(palette_run_msb_id_plus1-1))+palette_run_refinement_bits(7-80)
○否則(palette_run_msb_id_plus1等于1)將paletteRun設(shè)定成(palette_run_msb_id_plus1-1)。
-否則,將paletteRun設(shè)定成(nCbS*nCbS-1)。
nCbS指示當(dāng)前CU的譯碼塊的高度或?qū)挾?。因此,palette_run_msb_id_plus1語法元素和palette_run_refinement_bits語法元素一起可指示調(diào)色板游程長度。
此外,在表1中,語法元素palette_escape_val指定用于分量的經(jīng)量化轉(zhuǎn)義經(jīng)譯碼樣本值。變量PaletteEscapeVal[cIdx][xC][yC]指定paletteSampleMode[xC][yC]等于ESCAPE_MODE的樣本的轉(zhuǎn)義值。陣列索引cIdx指定顏色分量。如前所述,陣列索引xC、yC指定樣本相對于圖片的左上方明度樣本的位置(xC,yC)。因此,在表1中,在COPY_INDEX游程中用信號表示轉(zhuǎn)義像素。
本發(fā)明描述用信號表示和/或一般指示調(diào)色板游程長度,同時繞過某些游程長度語法元素的信令(即,非信令)以改善譯碼效率的方法、設(shè)備和技術(shù)。在一些實(shí)例中,視頻編碼器20和視頻解碼器30可經(jīng)配置以對在塊的開始發(fā)射的用信號表示的調(diào)色板索引的數(shù)目實(shí)施本發(fā)明的調(diào)色板游程隱藏技術(shù)。在本發(fā)明的其它實(shí)例中,視頻編碼器20和視頻解碼器30可經(jīng)配置以實(shí)施技術(shù),借此可使用關(guān)于視頻數(shù)據(jù)塊的譯碼特性的一些其它已知信息來導(dǎo)出將使用的調(diào)色板索引的數(shù)目的值。舉例來說,如果用信號表示指示調(diào)色板游程類型的語法值,那么可根據(jù)本發(fā)明的技術(shù)導(dǎo)出用信號表示的調(diào)色板索引的數(shù)目。下文描述的本發(fā)明的各種技術(shù)可個別地或以任何組合使用。
在本發(fā)明的一或多個實(shí)例中,視頻編碼器20和視頻解碼器30實(shí)施調(diào)色板游程隱藏技術(shù),其可用以繞過信令和/或接收在基于調(diào)色板的視頻譯碼中使用的某些語法元素以便改善視頻譯碼效率。
本發(fā)明的技術(shù)涉及基于調(diào)色板的視頻譯碼。舉例來說,在基于調(diào)色板的譯碼中,視頻譯碼器(視頻編碼器或視頻解碼器)可形成“調(diào)色板”作為用于表示特定區(qū)域(例如,給定塊)的視頻數(shù)據(jù)的顏色的表?;谡{(diào)色板的譯碼可尤其有用于對具有相對少量的顏色的視頻數(shù)據(jù)區(qū)域進(jìn)行譯碼。并非對實(shí)際像素值(或其殘余)進(jìn)行譯碼,視頻譯碼器可對所述像素中的一或多者的索引值進(jìn)行譯碼,所述索引值使所述像素與調(diào)色板中表示所述像素的顏色的條目相關(guān)。本發(fā)明中描述的技術(shù)可包含用于調(diào)色板游程隱藏的技術(shù)。
在本發(fā)明的第一實(shí)例中,視頻編碼器20可經(jīng)配置以用信號表示塊層級語法元素(例如,旗標(biāo))以指示塊中的調(diào)色板游程長度語法元素的第一發(fā)生是否未用信號表示。本發(fā)明可將此塊層級語法元素稱為“游程長度跳過語法元素”。在另一實(shí)例中,視頻編碼器20可經(jīng)配置以用信號表示所述塊層級語法元素以指示塊中的調(diào)色板游程長度語法元素的最后發(fā)生是否未用信號表示。在SCC草案2的上下文中,palette_run_msb_id_plus1和palette_run_refinement_bits是調(diào)色板游程長度語法元素。
因此,在此實(shí)例中,視頻編碼器20可確定視頻數(shù)據(jù)的塊(例如,CU的譯碼塊)的像素的調(diào)色板索引。在本發(fā)明中,像素的論述可應(yīng)用于樣本,反之亦然。對于塊的每一相應(yīng)像素,相應(yīng)像素的調(diào)色板索引指示調(diào)色板中的條目。調(diào)色板中的每一條目指示樣本值的集合。視頻編碼器20可識別塊中的一系列游程。所述系列的游程中的每一相應(yīng)游程可由塊的一個像素或兩個或更多個連續(xù)像素組成。所述系列的游程中的每一相應(yīng)游程的每一像素可具有相同調(diào)色板樣本模式(例如,轉(zhuǎn)義模式、復(fù)制上方模式、復(fù)制索引模式)。此外,在此實(shí)例中,視頻編碼器20可產(chǎn)生一或多個調(diào)色板游程長度語法元素的集合。在此實(shí)例中,所述一或多個調(diào)色板游程長度語法元素指示所述系列的游程中的一或多個游程的長度。此外,在此實(shí)例中,視頻編碼器20可產(chǎn)生具有特定值的游程長度跳過語法元素,所述特定值指示調(diào)色板游程長度語法元素的集合不指示所述系列的游程中的第一游程的長度。在此實(shí)例中,具有除所述特定值外的值(例如,第二值)的游程長度跳過語法元素可指示調(diào)色板游程長度語法元素的集合不指示所述系列的游程中的最后游程的長度。
在相似實(shí)例中,視頻解碼器30可從包括視頻數(shù)據(jù)塊的經(jīng)編碼表示的位流獲得游程長度跳過語法元素。在此實(shí)例中,所述塊包括一系列游程。所述系列的游程可包含兩個或更多個游程。所述系列的游程中的每一相應(yīng)游程可由塊的一個像素或兩個或更多個連續(xù)像素組成。所述系列的游程中的每一相應(yīng)游程的每一像素可具有相同調(diào)色板樣本模式(例如,轉(zhuǎn)義模式、復(fù)制上方模式、索引復(fù)制模式)。此外,在此實(shí)例中,視頻解碼器30可從位流獲得一或多個調(diào)色板游程長度語法元素的集合。所述一或多個調(diào)色板游程長度語法元素指示所述系列的游程中的一或多個游程的長度。在此實(shí)例中,視頻解碼器30基于具有特定值(例如,第一值)的游程長度跳過語法元素而確定調(diào)色板游程長度語法元素的集合不指示所述系列的游程中的第一游程的長度。此外,在此實(shí)例中,視頻解碼器30基于塊中的像素的數(shù)目和由調(diào)色板游程語法元素的集合指示的長度而確定所述系列的游程中的第一游程的長度。另外,在此實(shí)例中,視頻解碼器30基于塊的像素的調(diào)色板樣本模式而確定所述塊的像素的調(diào)色板索引。對于塊的每一相應(yīng)像素,相應(yīng)像素的相應(yīng)調(diào)色板索引指示調(diào)色板中的條目。調(diào)色板中的每一相應(yīng)條目指示樣本值的相應(yīng)集合。此外,在此實(shí)例中,視頻解碼器30可基于塊的像素的調(diào)色板索引而確定塊的像素的值。
在此實(shí)例中,如果游程長度跳過語法元素具有除所述特定值外的值(例如,第二值),那么視頻解碼器30可基于具有所述第二值的游程長度跳過語法元素而確定調(diào)色板游程長度語法元素的集合不指示所述系列的游程中的最后游程的長度。在此實(shí)例中,視頻解碼器30可基于塊中的像素的數(shù)目和由調(diào)色板游程語法元素的集合指示的長度而確定所述系列的游程中的最后游程的長度。在此實(shí)例中,視頻解碼器30可基于塊的像素的調(diào)色板樣本模式而確定所述塊的像素的調(diào)色板索引。此外,在此實(shí)例中,視頻解碼器30可基于塊的像素的調(diào)色板索引而確定塊的像素的值。
在一個實(shí)例中,視頻編碼器20可經(jīng)配置以在用于當(dāng)前塊的調(diào)色板大小是一且所述塊中不存在轉(zhuǎn)義像素的情況下繞過上述游程長度跳過語法元素的信令(即,不用信號表示)。視頻編碼器20可進(jìn)一步經(jīng)配置在用于當(dāng)前塊的調(diào)色板大小是零的情況下繞過此游程長度跳過語法元素的信令(即,不用信號表示)。在這些實(shí)例中的每一者中,視頻解碼器30可經(jīng)配置以推斷游程長度為整個視頻數(shù)據(jù)塊的大小。因此,在此實(shí)例中,視頻編碼器20可響應(yīng)于確定(1)調(diào)色板的大小不等于1或塊中存在轉(zhuǎn)義像素;以及(2)調(diào)色板的大小不是0而產(chǎn)生游程長度跳過語法元素。類似地,在此實(shí)例中,視頻解碼器30可響應(yīng)于確定(1)調(diào)色板的大小不等于1或塊中存在轉(zhuǎn)義像素;以及(2)調(diào)色板的大小不是0而確定位流包含所述語法元素。
在一些實(shí)例中,上述游程長度跳過語法元素可使用具有上下文的CABAC來譯碼。使用的上下文可基于以下各項中的一或多者:視頻塊大小、用于視頻塊的調(diào)色板大小、轉(zhuǎn)義像素的存在、用信號表示和/或推斷的調(diào)色板索引的數(shù)目,或其它特性。因此,在一個此類實(shí)例中,視頻編碼器20可從多個上下文選擇上下文。在此實(shí)例中,所述選擇是基于以下各項中的至少一者:塊的塊大小、調(diào)色板大小、塊中是否存在轉(zhuǎn)義像素,以及塊中的用信號表示的調(diào)色板索引的數(shù)目。此外,在此實(shí)例中,視頻編碼器20使用CABAC中的選定上下文對游程長度跳過語法元素進(jìn)行編碼。在相似實(shí)例中,視頻解碼器30從多個上下文選擇上下文。在此實(shí)例中,所述選擇是基于以下各項中的至少一者:塊的塊大小、調(diào)色板大小、塊中是否存在轉(zhuǎn)義像素,以及塊中的用信號表示的調(diào)色板索引的數(shù)目。此外,在此實(shí)例中,視頻解碼器30使用CABAC中的選定上下文對游程長度跳過語法元素進(jìn)行解碼。
在視頻解碼器30處,如果上述游程長度跳過語法元素指示塊中的調(diào)色板游程長度語法元素的第一發(fā)生被跳過(即,未在位流中接收),那么視頻解碼器30可臨時將等于0的偽游程長度指派給第一游程長度,且解碼程序繼續(xù)直到最后游程長度經(jīng)解碼為止。換句話說,如果游程長度跳過語法元素指示調(diào)色板游程長度語法元素的集合不指示塊的第一游程的長度,那么視頻解碼器30可初始地假定第一游程的長度是0。視頻解碼器30可隨后以等于塊中的像素的總數(shù)目減去在解碼最后像素之后在塊中的位置的值替換所述第一游程長度。
舉例來說,假定4×4的塊大小具有三個用信號表示的游程長度(6,2,5)。在此實(shí)例中,如果第一游程長度是隱藏的(即,未用信號表示),那么視頻解碼器30為第一游程長度初始地指派偽游程長度值0。在解碼最后游程長度5之后,4x4塊中的當(dāng)前位置等于:1(像素位置)+0(偽游程)+1(像素位置)+2(經(jīng)解碼游程長度)+1(像素位置)+5(經(jīng)解碼游程長度)=10。在此實(shí)例中,游程長度指示跟隨具有與游程中的每一像素相同的調(diào)色板樣本模式的像素之后的像素位置的數(shù)目。因此,第一游程長度恢復(fù)為16-10=6,因為16是4x4塊中的像素的總數(shù)目且10是在解碼最后像素之后在塊中的位置。
在SCC草案2中,如果塊的第一線(例如,頂部行)中的像素且所述像素是游程的第一像素,那么視頻編碼器20不用信號表示所述游程的游程類型信息。舉例來說,視頻編碼器20不用信號表示所述游程是復(fù)制上方游程還是復(fù)制索引游程。換句話說,在SCC草案2中,如果像素在塊的第一線中,那么不用信號表示游程類型信息。在此情況下,視頻解碼器30可推斷游程類型為復(fù)制索引。然而,在本發(fā)明的一些實(shí)例中,如果游程長度跳過語法元素指示第一游程長度被繞過,那么視頻編碼器20可用信號表示在塊的第一線中的當(dāng)前像素處開始的游程的調(diào)色板游程類型,以下條件中的任一者為真的情況除外:
●當(dāng)前像素是塊中按掃描次序的第一像素。在此情況下,視頻解碼器30可推斷游程類型為COPY_ABOVE。
●當(dāng)前像素不是塊中的第一像素且先前游程類型是COPY_ABOVE。應(yīng)注意,在一些實(shí)例中,當(dāng)前游程類型可推斷為INDEX_COPY,因為可能存在COPY_ABOVE游程無法由另一COPY_ABOVE游程跟隨的規(guī)范性限制。
因此,在一個此類實(shí)例中,當(dāng)調(diào)色板游程長度語法元素的集合不指示塊的第一游程的長度時,視頻編碼器20產(chǎn)生用于特定游程的調(diào)色板游程類型語法元素(例如,palette_run_type_flag語法元素),除非(1)當(dāng)前像素是塊的按掃描次序的第一像素,或(2)當(dāng)前像素不是塊的第一像素且前一游程的游程類型具有復(fù)制上方游程類型。在此實(shí)例中,當(dāng)前像素在塊的第一線中且是特定游程的第一像素。在當(dāng)前像素不是塊的第一像素且前一游程存在時,特定游程跟隨前一游程且所述特定游程與前一游程之間不存在其它游程。此外,在此實(shí)例中,游程類型語法元素指示用于特定游程的調(diào)色板樣本模式,其中調(diào)色板樣本模式是復(fù)制上方或復(fù)制索引中的一者。對于具有復(fù)制上方游程類型的游程的每一相應(yīng)像素,相應(yīng)像素的調(diào)色板索引與相應(yīng)像素正上方的像素的調(diào)色板索引相同。對于具有索引復(fù)制游程類型的游程的每一相應(yīng)像素,相應(yīng)像素的調(diào)色板索引與相應(yīng)像素左邊緊鄰的像素的調(diào)色板索引相同。
在相似實(shí)例中,響應(yīng)于確定調(diào)色板游程長度語法元素的集合不指示塊的第一游程的長度,視頻解碼器30從位流獲得游程類型語法元素,除非(1)當(dāng)前像素是塊的按掃描次序的第一像素,或(2)當(dāng)前像素不是塊的第一像素且前一游程的游程類型具有復(fù)制上方游程類型。在此實(shí)例中,當(dāng)前像素在塊的第一線中且是特定游程的第一像素。此外,在此實(shí)例中,在當(dāng)前像素不是塊的第一像素且前一游程存在時,特定游程跟隨前一游程且所述特定游程與前一游程之間不存在其它游程。此外,在此實(shí)例中,調(diào)色板游程類型語法元素指示特定游程的游程類型是復(fù)制上方游程類型或索引復(fù)制游程類型中的一者。
在一個此類實(shí)例中,視頻解碼器30從位流獲得游程長度跳過語法元素。在此實(shí)例中,塊包括一系列游程且所述系列的游程包含兩個或更多個游程。此外,在此實(shí)例中,視頻解碼器30從位流獲得一或多個調(diào)色板游程長度語法元素的集合。所述一或多個調(diào)色板游程長度語法元素指示所述系列的游程中的一或多個游程的長度。此外,在此實(shí)例中,視頻解碼器30基于具有特定值的游程長度跳過語法元素而確定調(diào)色板游程長度語法元素的集合不指示所述系列的游程中的第一游程的長度。另外,在此實(shí)例中,視頻解碼器30基于塊中的像素的數(shù)目和由調(diào)色板游程語法元素的集合指示的長度而確定所述系列的游程中的第一游程的長度。此外,在此實(shí)例中,響應(yīng)于確定調(diào)色板游程長度語法元素的集合不指示所述系列的游程中的第一游程的長度且確定當(dāng)前像素是塊的按掃描次序的第一像素,視頻解碼器30推斷所述系列的游程中的第一游程具有復(fù)制上方游程類型。在此實(shí)例中,當(dāng)前像素在塊的第一線中且是第一游程的第一像素。如本發(fā)明中在別處所描述,對于具有復(fù)制上方游程類型的游程的每一相應(yīng)像素,所述相應(yīng)像素具有復(fù)制上方調(diào)色板樣本模式,且因此,相應(yīng)像素的調(diào)色板索引與所述相應(yīng)像素上方緊鄰的像素的調(diào)色板索引相同。在此實(shí)例中,視頻解碼器30基于塊的像素的調(diào)色板樣本模式而確定所述塊的像素的調(diào)色板索引。在此實(shí)例中,視頻解碼器30基于塊的像素的調(diào)色板索引而確定塊的像素的值。
在另一此類實(shí)例中,視頻解碼器30從位流獲得游程長度跳過語法元素。在此實(shí)例中,塊包括一系列游程,其包含兩個或更多個游程。此外,在此實(shí)例中,視頻解碼器30從位流獲得一或多個調(diào)色板游程長度語法元素的集合。所述一或多個調(diào)色板游程長度語法元素指示所述系列的游程中的一或多個游程的長度。此外,視頻解碼器30基于具有特定值的游程長度跳過語法元素而確定調(diào)色板游程長度語法元素的集合不指示所述系列的游程中的第一游程的長度。在此實(shí)例中,視頻解碼器30基于塊中的像素的數(shù)目和由調(diào)色板游程語法元素的集合指示的長度而確定所述系列的游程中的第一游程的長度。此外,在此實(shí)例中,響應(yīng)于確定調(diào)色板游程長度語法元素的集合不指示所述系列的游程中的第一游程的長度且確定當(dāng)前像素不是塊的按掃描次序的第一像素且前一游程的游程類型是復(fù)制上方游程類型,視頻解碼器30推斷所述系列的游程中的第一游程具有索引復(fù)制游程類型。在此實(shí)例中,當(dāng)前像素在塊的第一線中且是特定游程的第一像素。在此實(shí)例中,特定游程跟隨前一游程且所述特定游程與前一游程之間不存在其它游程。在此實(shí)例中,視頻解碼器30基于塊的像素的調(diào)色板樣本模式而確定所述塊的像素的調(diào)色板索引。另外,在此實(shí)例中,視頻解碼器30基于塊的像素的調(diào)色板索引而確定塊的像素的值。
根據(jù)本發(fā)明的一些實(shí)例,當(dāng)?shù)谝挥纬涕L度被繞過(即,未在視頻位流中用信號表示)且實(shí)際第一游程長度和/或最后游程長度等于0時,視頻編碼器20可經(jīng)配置以不用信號表示最后游程的游程類型。在此情況下,視頻解碼器30可經(jīng)配置以推斷游程類型。
在一個此類實(shí)例中,視頻編碼器20可產(chǎn)生一或多個游程類型語法元素的集合。在此實(shí)例中,游程類型語法元素集合的每一相應(yīng)游程類型語法元素指示所述系列的游程中的相應(yīng)游程的游程類型。相應(yīng)游程的游程類型指示相應(yīng)游程的像素的調(diào)色板樣本模式。在此實(shí)例中,當(dāng)調(diào)色板游程長度語法元素的集合不指示所述系列的游程中的第一游程的長度時且響應(yīng)于確定所述系列的游程中的第一游程的長度等于0和/或所述系列的游程中的最后游程的長度等于0,游程類型語法元素的集合不包含指示所述系列的游程中的最后游程的游程類型的游程類型語法元素。
類似地,在一個此類實(shí)例中,視頻解碼器30從位流獲得一或多個游程類型語法元素的集合。在此實(shí)例中,游程類型語法元素集合的每一相應(yīng)游程類型語法元素指示所述系列的游程中的相應(yīng)游程的游程類型。相應(yīng)游程的游程類型指示相應(yīng)游程的像素的調(diào)色板樣本模式。此外,在此實(shí)例中,響應(yīng)于確定調(diào)色板游程長度語法元素的集合不指示所述系列的游程中的第一游程的長度且響應(yīng)于確定所述系列的游程中的第一游程的長度等于0和/或所述系列的游程中的最后游程的長度等于0,視頻解碼器30確定游程類型語法元素的集合不包含指示所述系列的游程中的最后游程的游程類型的游程類型語法元素。
在本發(fā)明的一些實(shí)例中,視頻編碼器20可經(jīng)配置以根據(jù)要求COPY_ABOVE游程長度必須大于0的規(guī)范性位流限制而用信號表示語法元素。視頻解碼器30將經(jīng)配置以根據(jù)此規(guī)范性限制而接收且剖析語法元素。在一個實(shí)例中,當(dāng)對等于L的COPY_ABOVE游程長度進(jìn)行譯碼而不是對L進(jìn)行編碼時,視頻編碼器20可經(jīng)配置以可對L-1進(jìn)行編碼。最大可能的游程長度的所需參數(shù)也可以減少一。舉例來說,在SCC草案2的一些建議中,視頻編碼器20可以指定最大可行的游程長度(取決于當(dāng)前像素在塊中的位置)的參數(shù)M對L進(jìn)行編碼。根據(jù)本發(fā)明的技術(shù),視頻編碼器20可經(jīng)配置以用參數(shù)M-1對L-1進(jìn)行編碼。
作為以上實(shí)例的一個替代方案,視頻編碼器20可經(jīng)配置以用信號表示指示當(dāng)前塊中的所有COPY_ABOVE游程長度是否大于零的語法元素(例如,旗標(biāo))。如果是這樣,而不是用信號表示實(shí)際COPY_ABOVE游程長度R,那么視頻編碼器20可用信號表示R-1。如果當(dāng)前塊的調(diào)色板大小是一且塊中不存在轉(zhuǎn)義像素,或如果當(dāng)前塊的調(diào)色板大小是零,那么在此實(shí)例中的所述語法元素可被繞過(即,不用信號表示)。在此些情況下,游程長度可推斷為整個塊。指示當(dāng)前塊中的所有COPY_ABOVE游程長度是否大于零的語法元素可使用具有上下文的CABAC來譯碼。使用的上下文可基于以下各項中的一或多者:視頻塊大小、用于視頻塊的調(diào)色板大小、轉(zhuǎn)義像素的存在、用信號表示和/或推斷的調(diào)色板索引的數(shù)目,或其它特性。
因此,在一個此類實(shí)例中,塊可具有一系列游程。在此實(shí)例中,視頻編碼器20產(chǎn)生指示所述系列的游程中具有復(fù)制上方游程類型的所有游程是否具有大于0的長度的語法元素。在此實(shí)例中,當(dāng)所述語法元素指示所述系列的游程中具有復(fù)制上方游程類型的所有游程具有大于0的長度時,對于所述系列的游程中具有復(fù)制上方游程類型的每一相應(yīng)游程,調(diào)色板游程長度語法元素的集合的相應(yīng)調(diào)色板游程長度語法元素比所述相應(yīng)游程的實(shí)際長度小1。
在相似實(shí)例中,塊具有一系列游程。在此實(shí)例中,視頻解碼器30從位流獲得語法元素。在此實(shí)例中,語法元素指示所述系列的游程中具有復(fù)制上方游程類型的所有游程是否具有大于0的長度。在此實(shí)例中,響應(yīng)于確定所述語法元素指示所述系列的游程中具有復(fù)制上方游程類型的所有游程具有大于0的長度,視頻解碼器30針對所述系列的游程中具有復(fù)制上方游程類型的每一相應(yīng)游程確定調(diào)色板游程長度語法元素的集合的相應(yīng)調(diào)色板游程長度語法元素比所述相應(yīng)游程的實(shí)際長度小1。
根據(jù)SCC草案2的一些建議,如果當(dāng)前塊中的所有COPY_ABOVE游程長度大于0,那么組合(游程類型,游程長度)=(COPY_ABOVE,0)在當(dāng)前塊中是無效的。因此,本發(fā)明提出使用此組合(即,(游程類型,游程長度)=(COPY_ABOVE,0))來指示當(dāng)前INDEX_COPY游程長度被繞過(例如,不用信號表示)。舉例來說,假定塊大小是4×4,且存在三個用信號表示的INDEX_COPY游程長度,其為(6,2,5)。如果視頻解碼器30接收到組合(INDEX_COPY,6)、(COPY_ABOVE,0)、(INDEX_COPY,5),那么視頻解碼器30可經(jīng)配置以恢復(fù)實(shí)際序列為:(INDEX_COPY,6)、(INDEX_COPY,16-3-5-6)、(INDEX_COPY,5)。在此實(shí)例中,值3可從用信號表示的游程的數(shù)目導(dǎo)出。
因此,在一個此類實(shí)例中,塊包括一系列游程,其包含兩個或更多個游程。所述系列的游程中的每一相應(yīng)游程可由塊的一個像素或兩個或更多個連續(xù)像素組成。所述系列的游程中的每一相應(yīng)游程的每一像素具有相同的調(diào)色板樣本模式。在此實(shí)例中,視頻解碼器30從位流獲得一或多個調(diào)色板游程長度語法元素的集合。所述一或多個調(diào)色板游程長度語法元素指示所述系列的游程中的一或多個游程的長度。在此實(shí)例中,以下各項中的一者適用:
●位流經(jīng)受所述系列的游程中具有復(fù)制上方游程類型的每一游程具有大于0的長度的要求,且
●位流包含指示所述系列的游程中具有復(fù)制上方游程類型的所有游程具有大于0的長度的語法元素。
在此實(shí)例中,響應(yīng)于從位流獲得指示所述系列的游程中的特定游程具有復(fù)制上方游程類型的游程類型語法元素以及調(diào)色板游程長度語法元素的集合中指示特定游程的長度是0的調(diào)色板游程長度語法元素,視頻解碼器30確定所述特定游程實(shí)際具有索引復(fù)制游程類型且所述特定游程的長度實(shí)際等于塊中的像素的總數(shù)目減去所述系列的游程中的每一其它游程的長度減去所述系列的游程中的游程的數(shù)目。
以上技術(shù)以組合應(yīng)用。舉例來說,由于上文所論述的方法中存在(COPY_ABOVE,0)的至多一個組合,因此在視頻解碼器30對組合(COPY_ABOVE,0)進(jìn)行解碼之后,可應(yīng)用與上文所論述的規(guī)范性限制相關(guān)的技術(shù)。
如上文所描述,在調(diào)色板模式中,調(diào)色板包含由表示可被用作塊樣本的預(yù)測符或用作最終經(jīng)重構(gòu)塊樣本的顏色分量值的索引所編號的條目。此外,如上文簡要地描述,調(diào)色板塊中的樣本可使用三個游程模式譯碼,即復(fù)制左邊(即,索引復(fù)制),復(fù)制上方,以及轉(zhuǎn)義,或其等效物。視頻編碼器20可在位流中用信號表示一個二進(jìn)位palette_mode旗標(biāo)以指示模式是否為COPY_ABOVE游程模式。如果模式不是COPY_ABOVE游程模式,那么視頻編碼器20用信號表示palette_index語法元素。如果palette_index等于保留調(diào)色板索引值,那么當(dāng)前像素是轉(zhuǎn)義像素。舉例來說,如果palette_index等于palette_size,那么當(dāng)前像素是轉(zhuǎn)義像素。否則,當(dāng)前像素是索引游程模式(即,索引復(fù)制游程模式)的起始位置?!胺荂E6:轉(zhuǎn)義顏色信令(Non-CE6:Escape color signaling)”(文獻(xiàn)編號JCTVC-S0055(下文為JCTVC-S0055))提出將轉(zhuǎn)義像素譯碼為一對(palette_mode=COPY_ABOVE和palette_run=0)。如果當(dāng)前像素是COPY_ABOVE游程的開始,那么palette_run的值是一加上實(shí)際游程長度以使得解碼器可分辨COPY_ABOVE和轉(zhuǎn)義。在一些情況下,JCTVC-S0055的技術(shù)可減少指示當(dāng)前像素是轉(zhuǎn)義像素所需的位數(shù)目。
然而,因為對于COPY_ABOVE游程模式,零游程長度是最可能情況,所以保留零游程長度用于轉(zhuǎn)義可導(dǎo)致譯碼效率損失。舉例來說,在一個實(shí)例中,在JCTVC-S0055的技術(shù)中,如果palette_run語法元素的值是使用以0終止的一元值來表示,那么以使用一元值0表示的palette_run語法元素用信號表示轉(zhuǎn)義像素且以使用一元值10表示的palette_run語法元素用信號表示零游程長度。然而,零的游程長度可比轉(zhuǎn)義像素更常見。因此,在此實(shí)例中,JCTVC-S0055的技術(shù)的結(jié)果可為視頻編碼器用信號表示使用等于10的一元值表示的palette_run語法元素比使用等于0的一元值表示的palette_run語法元素更多,從而導(dǎo)致譯碼效率損失。
根據(jù)本發(fā)明的一或多種技術(shù),視頻編碼器20將轉(zhuǎn)義模式用信號表示為一對:
palette_mode=COPY_ABOVE且palette_run等于大于0的預(yù)定值。在一些實(shí)例中,palette_run=1或2。
在一些實(shí)例中,具有大于或等于大于0的預(yù)定值(例如,1或2)的長度的COPY_ABOVE游程可比轉(zhuǎn)義像素較不常見和/或比具有等于0的長度的COPY_ABOVE游程較不常見。因此,在此些實(shí)例中,將轉(zhuǎn)義像素用信號表示為等于COPY_ABOVE的palette_mode以及等于預(yù)定值的palette_run可相對于JCTVC-S0055的技術(shù)增加譯碼效率。
作為本發(fā)明的技術(shù)的實(shí)例,如果將轉(zhuǎn)義模式用信號表示為COPY_ABOVE和palette_run=1,那么對于真實(shí)COPY_ABOVE模式,palette_run語法映射到:
如果游程長度等于0,那么palette_run=0
如果游程長度大于1,那么palette_run=游程長度+1。
作為本發(fā)明的技術(shù)的另一實(shí)例,如果將轉(zhuǎn)義模式用信號表示為COPY_ABOVE且palette_run=2,那么對于真實(shí)COPY_ABOVE模式,palette_run語法映射到:
如果游程長度等于0,那么palette_run=0
如果游程長度等于1,那么palette_run=1
如果游程長度大于1,那么palette_run=游程長度+1。
因此,根據(jù)本發(fā)明的一或多種技術(shù),視頻解碼器30可從包括視頻數(shù)據(jù)的經(jīng)編碼表示的位流獲得第一語法元素(例如,palette_mode)和第二語法元素(例如,run_length)。當(dāng)所述第一語法元素等于第一值且所述第二語法元素等于大于0的預(yù)定值時,確定視頻數(shù)據(jù)的當(dāng)前像素是轉(zhuǎn)義像素。在至少一些實(shí)例中,如果當(dāng)前像素是轉(zhuǎn)義像素,那么當(dāng)前像素的值未包含在調(diào)色板中。如果當(dāng)前像素不是轉(zhuǎn)義像素,那么當(dāng)前像素的值包含在調(diào)色板中。此外,在此實(shí)例中,當(dāng)所述第一語法元素等于第一值且所述第二語法元素不等于預(yù)定值時,視頻解碼器30可確定當(dāng)前像素的值等于當(dāng)前圖片中當(dāng)前像素上方緊鄰的像素的值。另外,當(dāng)所述第一語法元素等于第一值且所述第二語法元素不等于預(yù)定值時,視頻解碼器30可基于所述第二語法元素的值而確定指示當(dāng)前塊中按解碼次序跟隨當(dāng)前像素的具有與上方相鄰像素相同的值的像素的數(shù)目的游程長度。
在一些實(shí)例中,當(dāng)所述第一語法元素的值等于第二不同值時,視頻解碼器30可從位流獲得第三語法元素,所述第三語法元素指示到調(diào)色板中的索引。另外,當(dāng)所述第一語法元素等于所述第二值時,視頻解碼器30可確定當(dāng)前像素的值等于由調(diào)色板中對應(yīng)于所述索引的條目指定的值。
如上文所指出,視頻解碼器30可基于所述第二語法元素的值而確定游程長度(例如,run_length)。在一些實(shí)例中,當(dāng)所述第二語法元素的值小于預(yù)定值時,視頻解碼器30可確定所述游程長度等于所述第二語法元素的值。在此實(shí)例中,當(dāng)所述第二語法元素的值大于預(yù)定值時,視頻解碼器30可確定游程長度等于所述第二語法元素的值加上1。
舉例來說,在一個實(shí)例中,所述預(yù)定值等于1。在此實(shí)例中,當(dāng)所述第二語法元素的值等于0時,視頻解碼器30可確定游程長度等于0。當(dāng)所述第二語法元素的值大于1時,視頻解碼器30可確定游程長度等于所述第二語法元素的值加上1。
在另一實(shí)例中,所述預(yù)定值等于2。在此實(shí)例中,當(dāng)所述第二語法元素的值等于0時,視頻解碼器30可確定游程長度等于0。當(dāng)所述第二語法元素的值等于1時,視頻解碼器30可確定游程長度等于1。當(dāng)所述第二語法元素的值大于2時,視頻解碼器30可確定游程長度等于所述第二語法元素的值加上1。
此外,根據(jù)本發(fā)明的一或多種技術(shù),視頻編碼器20可在包括視頻數(shù)據(jù)的經(jīng)編碼表示的位流中包含第一語法(例如,palette_mode)和第二語法元素(例如,run_length)。當(dāng)視頻數(shù)據(jù)的當(dāng)前像素是轉(zhuǎn)義像素時,所述第一語法元素等于第一值且所述第二語法元素等于大于0的預(yù)定值。如果當(dāng)前像素是轉(zhuǎn)義像素,那么當(dāng)前像素未包含在調(diào)色板中。如果當(dāng)前像素不是轉(zhuǎn)義像素,那么當(dāng)前像素的值包含在調(diào)色板中。在當(dāng)前像素的值等于當(dāng)前圖片中當(dāng)前像素上方緊鄰的像素的值時,所述第一語法元素等于第一值且所述第二語法元素不等于預(yù)定值。此外,在當(dāng)前像素的值等于當(dāng)前圖片中當(dāng)前像素上方緊鄰的像素的值時,游程長度可(例如,由視頻解碼器30)從所述第二語法元素的值確定,所述游程長度指示按解碼次序跟隨當(dāng)前像素的具有與上方相鄰像素相同的值的像素的數(shù)目。
此外,在一些實(shí)例中,當(dāng)所述第一語法元素等于第二不同值時,視頻編碼器20可從位流包含第三語法元素,所述第三語法元素指示到調(diào)色板中的索引。當(dāng)前像素的值等于由調(diào)色板中對應(yīng)于所述索引的條目指定的值。
在一些實(shí)例中,當(dāng)所述第二語法元素(例如,run_length)的值小于預(yù)定值時,游程長度等于所述第二語法元素的值。在此些實(shí)例中,當(dāng)所述第二語法元素的值大于預(yù)定值時,游程長度等于所述第二語法元素的值加上1。舉例來說,在一個實(shí)例中,所述預(yù)定值等于1。在此實(shí)例中,當(dāng)所述第二語法元素的值等于0時,游程長度等于0。當(dāng)所述第二語法元素的值大于1時,游程長度等于所述第二語法元素的值加上1。
在另一實(shí)例中,所述預(yù)定值等于2。在此實(shí)例中,當(dāng)所述第二語法元素的值等于0時,游程長度等于0。當(dāng)所述第二語法元素的值等于1時,游程長度等于1。當(dāng)所述第二語法元素的值大于2時,游程長度等于所述第二語法元素的值加上1。
當(dāng)palette_mode等于COPY_ABOVE時palette_run的上下文可取決于palette_escape_val_present_flag和/或palette_size和/或CU大小。palette_escape_val_present_flag可指示當(dāng)前塊(例如,CU、PU)中轉(zhuǎn)義樣本的存在??稍诋?dāng)前CU的末尾用信號表示所有語法palette_escape_val以減少剖析相依性。palette_escape_val語法元素可指示轉(zhuǎn)義像素的值。
因此,在一些實(shí)例中,視頻解碼器30可基于指定當(dāng)前塊中是否存在轉(zhuǎn)義像素的語法元素的值而選擇熵譯碼上下文。視頻解碼器30可使用選定熵譯碼上下文對所述第一語法元素進(jìn)行熵解碼(例如,CABAC解碼)。類似地,視頻編碼器20可基于當(dāng)前塊中是否存在轉(zhuǎn)義像素而選擇熵譯碼上下文。視頻編碼器20可使用選定熵譯碼上下文對所述第一語法元素進(jìn)行熵編碼(例如,CABAC編碼)。
圖2是說明可實(shí)施本發(fā)明的技術(shù)的實(shí)例視頻編碼器20的框圖。圖2是出于解釋的目的而提供,且不應(yīng)被視為將技術(shù)限制為本發(fā)明中所大致例示和描述的技術(shù)。出于解釋的目的,本發(fā)明描述在HEVC譯碼的上下文中的視頻編碼器20。然而,本發(fā)明的技術(shù)可以適用于其它譯碼標(biāo)準(zhǔn)或方法。
視頻編碼器20表示可經(jīng)配置以執(zhí)行根據(jù)本發(fā)明中描述的各種實(shí)例的用于基于調(diào)色板的視頻譯碼的技術(shù)的裝置的實(shí)例。舉例來說,視頻編碼器20可經(jīng)配置以使用基于調(diào)色板的譯碼或非基于調(diào)色板的譯碼選擇性對例如HEVC譯碼中的CU或PU等各種視頻數(shù)據(jù)塊進(jìn)行譯碼。非基于調(diào)色板的譯碼模式可指各種幀間預(yù)測性時間譯碼模式或幀內(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ù)進(jìn)行解碼。
在圖2的實(shí)例中,視頻編碼器20包含預(yù)測處理單元100、視頻數(shù)據(jù)存儲器101、殘余產(chǎn)生單元102、變換處理單元104、量化單元106、逆量化單元108、逆變換處理單元110、重構(gòu)單元112、濾波器單元114、經(jīng)解碼圖片緩沖器116和熵編碼單元118。預(yù)測處理單元100包含幀間預(yù)測處理單元120和幀內(nèi)預(yù)測處理單元126。幀間預(yù)測處理單元120包含運(yùn)動估計單元和運(yùn)動補(bǔ)償單元(未示出)。視頻編碼器20還包含基于調(diào)色板的編碼單元122,其經(jīng)配置以執(zhí)行本發(fā)明中描述的基于調(diào)色板的譯碼技術(shù)的各種方面。在其它實(shí)例中,視頻編碼器20可包括更多、更少或不同功能組件。
視頻數(shù)據(jù)存儲器101經(jīng)配置以存儲待由視頻編碼器20的組件編碼的視頻數(shù)據(jù)??衫鐝囊曨l源18獲得存儲于視頻數(shù)據(jù)存儲器101中的視頻數(shù)據(jù)。經(jīng)解碼圖片緩沖器116可為存儲參考視頻數(shù)據(jù)以供在視頻編碼器20例如以幀內(nèi)或幀間譯碼模式編碼視頻數(shù)據(jù)時使用的參考圖片存儲器。視頻數(shù)據(jù)存儲器101和經(jīng)解碼圖片緩沖器116可由多種存儲器裝置中的任一者形成,例如動態(tài)隨機(jī)存取存儲器(DRAM),包含同步DRAM(SDRAM)、磁阻式RAM(MRAM)、電阻式RAM(RRAM)或其它類型的存儲器裝置。視頻數(shù)據(jù)存儲器101和經(jīng)解碼圖片緩沖器116可由相同存儲器裝置或單獨(dú)的存儲器裝置提供。在各種實(shí)例中,視頻數(shù)據(jù)存儲器101可與視頻編碼器20的其它組件一起在芯片上,或相對于所述組件在芯片外。
視頻編碼器20接收視頻數(shù)據(jù)。視頻編碼器20可對視頻數(shù)據(jù)的圖片的切片中的每個CTU進(jìn)行編碼。CTU中的每一者可以與圖片的大小相等的明度譯碼樹塊(CTB)以及對應(yīng)的CTB相關(guān)聯(lián)。作為對CTU進(jìn)行編碼的一部分,預(yù)測處理單元100可以執(zhí)行四叉樹分割以將CTU的CTB劃分為逐漸更小的塊。這些更小的塊可以是CU的譯碼塊。舉例來說,預(yù)測處理單元100可將與CTU相關(guān)聯(lián)的CTB分割成四個大小相等的子塊,將子塊中的一或多者分割成四個大小相等的子子塊等。
視頻編碼器20可對CTU的CU進(jìn)行編碼以產(chǎn)生CU的經(jīng)編碼表示(即,經(jīng)譯碼的CU)。作為對CU進(jìn)行編碼的部分,預(yù)測處理單元100可在CU的一或多個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的大小為2Nx2N,視頻編碼器20及視頻解碼器30可支持用于幀內(nèi)預(yù)測的2Nx2N或NxN的PU大小,及用于幀間預(yù)測的2Nx2N、2NxN、Nx2N、NxN或類似大小的對稱PU大小。視頻編碼器20以及視頻解碼器30還可以支持用于幀間預(yù)測的2NxnU、2NxnD、nLx2N以及nRx2N的PU大小的非對稱分割。
幀間預(yù)測處理單元120可通過對CU的每個PU執(zhí)行幀間預(yù)測來產(chǎn)生用于PU的預(yù)測性數(shù)據(jù)。PU的預(yù)測性數(shù)據(jù)可包含PU的預(yù)測性塊和PU的運(yùn)動信息。幀間預(yù)測處理單元120可取決于PU是在I切片、P切片還是B切片中而對CU的PU執(zhí)行不同操作。在I切片中,所有PU都是經(jīng)幀內(nèi)預(yù)測。因此,如果PU是在I切片中,那么幀間預(yù)測處理單元120不對PU執(zhí)行幀間預(yù)測。因此,對于在I模式中編碼的塊,使用來自同一幀內(nèi)的經(jīng)先前編碼的相鄰塊的空間預(yù)測而形成經(jīng)預(yù)測塊。如果PU在P切片中,那么幀間預(yù)測處理單元120可使用單向幀間預(yù)測以產(chǎn)生PU的預(yù)測性塊。
根據(jù)本發(fā)明的各種實(shí)例,視頻編碼器20可經(jīng)配置以執(zhí)行基于調(diào)色板的譯碼。作為一實(shí)例,相對于HEVC框架,基于調(diào)色板的譯碼技術(shù)可經(jīng)配置以用作CU模式。在其它實(shí)例中,基于調(diào)色板的譯碼技術(shù)可經(jīng)配置以用作HEVC的框架中的PU模式。因此,本文在CU模式的上下文中描述的所揭示過程(貫穿本發(fā)明)可另外或替代地適用于PU。然而,這些基于HEVC的實(shí)例不應(yīng)被視為對本文所描述的基于調(diào)色板的譯碼技術(shù)的限定或限制,因為此些技術(shù)可應(yīng)用以獨(dú)立地工作或作為其它現(xiàn)有或尚待開發(fā)的系統(tǒng)/標(biāo)準(zhǔn)的部分而應(yīng)用。在這些情況下,用于調(diào)色板譯碼的單元可為正方形塊、矩形塊或甚至非矩形形狀的區(qū)。
當(dāng)(例如)針對CU或PU選擇基于調(diào)色板的編碼模式時,基于調(diào)色板的編碼單元122(例如)可執(zhí)行基于調(diào)色板的解碼。舉例來說,基于調(diào)色板的編碼單元122可配置以產(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í)行下文相對于圖4到5描述的調(diào)色板譯碼的技術(shù)的任何組合。舉例來說,基于調(diào)色板的編碼單元122可經(jīng)配置以執(zhí)行本文所描述的用于調(diào)色板游程隱藏的技術(shù)的任何組合。
此外,根據(jù)本發(fā)明的實(shí)例技術(shù),基于調(diào)色板的編碼單元122可確定視頻數(shù)據(jù)的塊的非轉(zhuǎn)義經(jīng)譯碼像素的調(diào)色板索引。此外,基于調(diào)色板的編碼單元122可識別塊中的一系列兩個或更多個游程。所述系列的游程中的每一相應(yīng)游程可包含塊的一個像素或兩個或更多個連續(xù)像素。所述系列的游程中的每一相應(yīng)游程的每一像素可具有相同的調(diào)色板樣本模式。另外,基于調(diào)色板的編碼單元122可產(chǎn)生一或多個調(diào)色板游程長度語法元素的集合。所述一或多個調(diào)色板游程長度語法元素可指示所述系列的游程中的一或多個游程的長度?;谡{(diào)色板的編碼單元122可產(chǎn)生具有特定值的語法元素,所述特定值指示調(diào)色板游程長度語法元素的集合不指示所述系列的游程中的第一游程的長度。
幀內(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可使用多個幀內(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可從PU的由幀間預(yù)測處理單元120產(chǎn)生的預(yù)測性數(shù)據(jù)或PU的由幀內(nèi)預(yù)測處理單元126產(chǎn)生的預(yù)測性數(shù)據(jù)當(dāng)中選擇CU的PU的預(yù)測性數(shù)據(jù)。在一些實(shí)例中,預(yù)測處理單元100基于預(yù)測性數(shù)據(jù)集合的速率/失真量度選擇CU的PU的預(yù)測性數(shù)據(jù)。所選預(yù)測性數(shù)據(jù)的預(yù)測性塊在本文中可被稱作所選預(yù)測性塊。
殘余產(chǎn)生單元102可基于用于CU的譯碼塊(例如,明度、Cb和Cr譯碼塊)和用于CU的PU的選定預(yù)測性塊(例如,預(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可以與明度變換塊以及兩個色度變換塊相關(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可以通過將一或多個變換應(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)整適用于與CU相關(guān)聯(lián)的系數(shù)塊的量化程度。量化可能使得信息丟失,因此經(jīng)量化的變換系數(shù)可以具有比原始變換系數(shù)更低的精度。
逆量化單元108和逆變換處理單元110可分別將逆量化和逆變換應(yīng)用于系數(shù)塊,以由所述系數(shù)塊重構(gòu)殘余塊。重構(gòu)單元112可將經(jīng)重構(gòu)的殘余塊添加到來自由預(yù)測處理單元100產(chǎn)生的一或多個預(yù)測性塊的對應(yīng)樣本,以產(chǎn)生與TU相關(guān)聯(lián)的經(jīng)重構(gòu)變換塊。通過以此方式重構(gòu)CU的每一TU的變換塊,視頻編碼器20可重構(gòu)CU的譯碼塊。
濾波器單元114可執(zhí)行一或多個解塊操作來減少與CU相關(guān)聯(lián)的譯碼塊中的塊效應(yīng)。在濾波器單元114對經(jīng)重構(gòu)譯碼塊執(zhí)行一或多個解塊操作之后,經(jīng)解碼圖片緩沖器116可存儲經(jīng)重構(gòu)譯碼塊。幀間預(yù)測處理單元120可使用含有經(jīng)重構(gòu)譯碼塊的參考圖片來對其它圖片的PU執(zhí)行幀間預(yù)測。另外,幀內(nèi)預(yù)測處理單元126可使用經(jīng)解碼圖片緩沖器116中的經(jīng)重構(gòu)的譯碼塊以對處于與CU相同的圖片中的其它PU執(zhí)行幀內(nèi)預(yù)測。
熵編碼單元118可以從視頻編碼器20的其它功能組件接收數(shù)據(jù)。例如,熵編碼單元118可以從量化單元106接收系數(shù)塊,并且可以從預(yù)測處理單元100接收語法元素。熵編碼單元118可以對數(shù)據(jù)執(zhí)行一或多個熵編碼操作以產(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ù)。
圖3是說明經(jīng)配置以實(shí)施本發(fā)明的技術(shù)的實(shí)例視頻解碼器30的框圖。圖3是出于解釋的目的而提供,且不應(yīng)被視為將技術(shù)限制為本發(fā)明中所大致例示和描述的技術(shù)。出于解釋的目的,本發(fā)明描述在HEVC譯碼的背景下的視頻解碼器30。然而,本發(fā)明的技術(shù)可以適用于其它譯碼標(biāo)準(zhǔn)或方法。
視頻解碼器30表示可經(jīng)配置以執(zhí)行根據(jù)本發(fā)明中描述的各種實(shí)例的用于基于調(diào)色板的視頻譯碼的技術(shù)的裝置的實(shí)例。舉例來說,視頻解碼器30可經(jīng)配置以使用基于調(diào)色板的譯碼或非基于調(diào)色板的譯碼選擇性對例如HEVC譯碼中的CU或PU等各種視頻數(shù)據(jù)塊進(jìn)行解碼。非基于調(diào)色板的譯碼模式可指代各種幀間預(yù)測性時間譯碼模式或幀內(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)色板中的選定像素值來重構(gòu)塊的像素值。
在圖3的實(shí)例中,視頻解碼器30包含熵解碼單元150、視頻數(shù)據(jù)存儲器151、預(yù)測處理單元152、逆量化單元154、逆變換處理單元156、重構(gòu)單元158、濾波器單元160和經(jīng)解碼圖片緩沖器162。預(yù)測處理單元152包含運(yùn)動補(bǔ)償單元164和幀內(nèi)預(yù)測處理單元166。視頻解碼器30還包含基于調(diào)色板的解碼單元165,其被配置以執(zhí)行本發(fā)明中描述的基于調(diào)色板的譯碼技術(shù)的各種方面。在其它實(shí)例中,視頻解碼器30可包含較多、較少或不同的功能組件。
視頻數(shù)據(jù)存儲器151經(jīng)配置以存儲待由視頻解碼器30的組件解碼的經(jīng)編碼視頻數(shù)據(jù),例如經(jīng)編碼視頻位流。存儲在視頻數(shù)據(jù)存儲器151中的視頻數(shù)據(jù)可(例如)從信道16、從例如相機(jī)等本地視頻源、經(jīng)由視頻數(shù)據(jù)的有線或無線網(wǎng)絡(luò)通信或者通過存取物理數(shù)據(jù)存儲媒體而獲得。視頻數(shù)據(jù)存儲器151可形成存儲來自經(jīng)編碼視頻位流的經(jīng)編碼視頻數(shù)據(jù)的經(jīng)譯碼圖片緩沖器(CPB)。經(jīng)解碼圖片緩沖器162可為參考圖片存儲器,其經(jīng)配置以存儲例如供視頻解碼器30例如在幀內(nèi)或幀間譯碼模式和/或輸出中解碼視頻數(shù)據(jù)時使用的經(jīng)解碼(例如,參考)視頻數(shù)據(jù)。視頻數(shù)據(jù)存儲器151和經(jīng)解碼圖片緩沖器162可由多種存儲器裝置中的任一者形成,例如動態(tài)隨機(jī)存取存儲器(DRAM),包含同步DRAM(SDRAM)、磁阻式RAM(MRAM)、電阻式RAM(RRAM)或其它類型的存儲器裝置。視頻數(shù)據(jù)存儲器151和經(jīng)解碼圖片緩沖器162可由相同存儲器裝置或單獨(dú)的存儲器裝置提供。在各種實(shí)例中,視頻數(shù)據(jù)存儲器151可與視頻解碼器30的其它組件一起在芯片上,或相對于所述組件在芯片外。
視頻數(shù)據(jù)存儲器151接收且存儲位流的經(jīng)編碼視頻數(shù)據(jù)(例如,NAL單元)。熵解碼單元150可從CPB接收經(jīng)編碼視頻數(shù)據(jù)(例如,NAL單元)且剖析NAL單元以獲得語法元素。熵解碼單元150可對NAL單元中的經(jīng)熵編碼語法元素進(jìn)行熵解碼。預(yù)測處理單元152、逆量化單元154、逆變換處理單元156、重構(gòu)單元158以及濾波器單元160可以基于從位流提取的語法元素來產(chǎn)生經(jīng)解碼的視頻數(shù)據(jù)。熵解碼單元150可執(zhí)行與熵編碼單元118的過程大體上互逆的過程。
作為對位流進(jìn)行解碼的部分,熵解碼單元150可從經(jīng)譯碼切片的NAL單元提取語法元素且對所述語法元素進(jìn)行熵解碼。經(jīng)譯碼切片中的每一者可包含切片標(biāo)頭以及切片數(shù)據(jù)。切片標(biāo)頭可以含有關(guān)于切片的語法元素。切片標(biāo)頭中的語法元素可包含識別與含有切片的圖片相關(guān)聯(lián)的PPS的語法元素。
除了獲得來自位流的語法元素之外,視頻解碼器30可對未分割的CU執(zhí)行重構(gòu)操作。為了對CU執(zhí)行重構(gòu)操作,視頻解碼器30可對CU的每一TU執(zhí)行重構(gòu)操作。通過對CU的每一TU執(zhí)行重構(gòu)操作,視頻解碼器30可重構(gòu)CU的殘余塊。
作為對CU的TU執(zhí)行重構(gòu)操作的一部分,逆量化單元154可逆量化(即,解量化)與TU相關(guān)聯(lián)的系數(shù)塊。逆量化單元154可使用與TU的CU相關(guān)聯(lián)的QP值來確定量化的程度,且同樣地確定逆量化單元154將應(yīng)用的逆量化的程度。即,可通過調(diào)整在量化變換系數(shù)時使用的QP值來控制壓縮比,即,用于表示原始序列和壓縮序列的位數(shù)的比率。壓縮比還可取決于所采用的熵譯碼的方法。
在逆量化單元154逆量化系數(shù)塊之后,逆變換處理單元156可將一或多個逆變換應(yīng)用于系數(shù)塊以便產(chǎn)生與TU相關(guān)聯(lián)的殘余塊。例如,逆變換處理單元156可以將逆DCT、逆整數(shù)變換、逆卡忽南-拉維(Karhunen-Loeve)變換(KLT)、逆旋轉(zhuǎn)變換、逆定向變換或另一逆變換應(yīng)用于系數(shù)塊。
如果使用幀內(nèi)預(yù)測對PU進(jìn)行編碼,那么幀內(nèi)預(yù)測處理單元166可執(zhí)行幀內(nèi)預(yù)測以產(chǎn)生PU的預(yù)測性塊。幀內(nèi)預(yù)測處理單元166可使用幀內(nèi)預(yù)測模式以基于樣本空間相鄰塊產(chǎn)生PU的預(yù)測性塊。幀內(nèi)預(yù)測處理單元166可基于從位流獲得的一或多個語法元素確定用于PU的幀內(nèi)預(yù)測模式。
如果PU是使用幀間預(yù)測經(jīng)編碼,那么熵解碼單元150可確定所述PU的運(yùn)動信息。運(yùn)動補(bǔ)償單元164可基于PU的運(yùn)動信息來確定一或多個參考塊。運(yùn)動補(bǔ)償單元164可基于所述一或多個參考塊產(chǎn)生PU的預(yù)測性塊(例如,預(yù)測性明度、Cb和Cr塊)。
預(yù)測處理單元152可基于從位流提取的語法元素來構(gòu)造第一參考圖片列表(RefPicList0)及第二參考圖片列表(RefPicList1)。此外,如果使用幀間預(yù)測對PU進(jìn)行編碼,則熵解碼單元150可以提取用于PU的運(yùn)動信息。運(yùn)動補(bǔ)償單元164可基于PU的運(yùn)動信息來確定用于PU的一或多個參考區(qū)域。運(yùn)動補(bǔ)償單元164可以基于在用于PU的一或多個參考區(qū)處的樣本產(chǎn)生用于PU的預(yù)測性明度塊、Cb塊以及Cr塊。
重構(gòu)單元158可在適當(dāng)時使用CU的TU的變換塊以及CU的PU的預(yù)測性塊,即幀內(nèi)預(yù)測數(shù)據(jù)或幀間預(yù)測數(shù)據(jù),來重構(gòu)用于CU的譯碼塊。舉例來說,重構(gòu)單元158可將變換塊的樣本添加到預(yù)測性塊的對應(yīng)樣本以重構(gòu)CU的譯碼塊。
濾波器單元160可執(zhí)行解塊操作以減少與CU的譯碼塊相關(guān)聯(lián)的成塊假象。視頻解碼器30可將CU的譯碼塊存儲在經(jīng)解碼圖片緩沖器162中。經(jīng)解碼圖片緩沖器162可提供參考圖片用于后續(xù)運(yùn)動補(bǔ)償、幀內(nèi)預(yù)測和在顯示裝置(例如圖1的顯示裝置32)上呈現(xiàn)。舉例來說,視頻解碼器30可基于經(jīng)解碼圖片緩沖器162中的塊對其它CU的PU執(zhí)行幀內(nèi)預(yù)測或幀間預(yù)測操作。
視頻解碼器30可經(jīng)配置以執(zhí)行基于調(diào)色板的譯碼。舉例來說,基于調(diào)色板的解碼單元165可當(dāng)選擇基于調(diào)色板的解碼模式例如用于CU或PU時執(zhí)行基于調(diào)色板的解碼。舉例來說,基于調(diào)色板的解碼單元165可產(chǎn)生具有指示像素值的條目的調(diào)色板,接收使視頻數(shù)據(jù)塊中的至少一些像素位置與調(diào)色板中的條目相關(guān)聯(lián)的信息,基于所述信息選擇調(diào)色板中的像素值,且基于調(diào)色板中的選定像素值來重構(gòu)塊的像素值。雖然將各種功能描述為由基于調(diào)色板的解碼單元165執(zhí)行,但此些功能中的一些或全部可由其它處理單元或不同處理單元的組合來執(zhí)行。
基于調(diào)色板的解碼單元165可接收調(diào)色板樣本模式信息,且當(dāng)調(diào)色板樣本模式信息指示調(diào)色板樣本模式應(yīng)用于塊時執(zhí)行上述操作。當(dāng)調(diào)色板樣本模式信息指示調(diào)色板樣本模式不應(yīng)用于塊時,或當(dāng)其它模式信息指示使用不同模式時,基于調(diào)色板的解碼單元165使用非基于調(diào)色板的譯碼模式(例如,HEVC幀間預(yù)測性或幀內(nèi)預(yù)測性譯碼模式)解碼視頻數(shù)據(jù)塊。視頻數(shù)據(jù)塊可(例如)為根據(jù)HEVC譯碼過程產(chǎn)生的CU或PU?;谡{(diào)色板的譯碼模式可包括多個不同基于調(diào)色板的譯碼模式中的一者,或可存在單個基于調(diào)色板的譯碼模式。
根據(jù)本發(fā)明的一些實(shí)例,基于調(diào)色板的解碼單元165可經(jīng)配置以執(zhí)行上文所論述的游程隱藏技術(shù)。舉例來說,熵解碼單元150可從位流獲得包括視頻數(shù)據(jù)塊的經(jīng)編碼表示的語法元素。所述塊可包括一系列游程,所述系列的游程包含一或多個游程。所述系列的游程中的每一相應(yīng)游程可由塊的一個像素或兩個或更多個連續(xù)像素組成。此外,熵解碼單元150可從位流獲得一或多個調(diào)色板游程長度語法元素的集合。所述一或多個調(diào)色板游程長度語法元素指示所述系列的游程中的一或多個游程的長度。基于調(diào)色板的解碼單元165可基于具有特定值的語法元素確定調(diào)色板游程長度語法元素的所述集合不指示所述系列的游程中的第一游程的長度。另外,基于調(diào)色板的解碼單元165可基于塊中的像素的數(shù)目以及由調(diào)色板游程語法元素的集合指示的長度而確定所述系列的游程中的第一游程的長度。此外,基于調(diào)色板的解碼單元165可基于塊的像素的調(diào)色板樣本模式而確定塊的非轉(zhuǎn)義經(jīng)譯碼像素的調(diào)色板索引。對于塊的每一相應(yīng)非轉(zhuǎn)義經(jīng)譯碼像素,所述相應(yīng)非轉(zhuǎn)義經(jīng)譯碼像素的相應(yīng)調(diào)色板索引指示調(diào)色板中的條目。調(diào)色板中的每一相應(yīng)條目可指示樣本值的相應(yīng)集合。此外,基于調(diào)色板的解碼單元165可基于塊的非轉(zhuǎn)義經(jīng)譯碼像素的調(diào)色板索引而確定所述塊的非轉(zhuǎn)義經(jīng)譯碼像素的值。
根據(jù)本發(fā)明的方面,基于調(diào)色板的解碼單元165可經(jīng)配置以執(zhí)行下文相對于圖4到5描述的調(diào)色板譯碼的技術(shù)的任何組合。
圖4是說明符合本發(fā)明的技術(shù)的確定用于對視頻數(shù)據(jù)進(jìn)行譯碼的調(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)前正譯碼的CU(圖4的實(shí)例中的CU 188)來說為主要和/或代表性的若干像素值。將第一調(diào)色板184和第二調(diào)色板192示出為包含多個調(diào)色板。在一些實(shí)例中,根據(jù)本發(fā)明的方面,視頻譯碼器(例如視頻編碼器20或視頻解碼器30)可針對CU的每一顏色分量單獨(dú)地對調(diào)色板進(jìn)行譯碼。舉例來說,視頻編碼器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條目的調(diào)色板進(jìn)行編碼。在此情況下,調(diào)色板包含像素的分量中的每一者的值。因此,作為具有多個個別調(diào)色板的調(diào)色板的集合的調(diào)色板184和192的表示僅是一個實(shí)例且并不希望為限制性的。
在圖4的實(shí)例中,第一調(diào)色板184包含三個條目202到206,其分別具有條目索引值1、條目索引值2和條目索引值3。條目202到206使索引值相關(guān)到分別包含像素值A(chǔ)、像素值B和像素值C的像素值。如本文中所描述,并非譯碼第一CU 180的實(shí)際像素值,視頻譯碼器(例如視頻編碼器20或視頻解碼器30)可使用基于調(diào)色板的譯碼,使用索引1到3來譯碼所述塊的像素。也就是說,對于第一CU 180的每一像素位置,視頻編碼器20可編碼像素的索引值,其中所述索引值與第一調(diào)色板184中的一或多者中的像素值相關(guān)聯(lián)。視頻解碼器30可從位流獲得索引值,或另外基于位流中的語法元素確定索引值,且使用所述索引值和第一調(diào)色板184中的一或多者重構(gòu)像素值。因此,視頻編碼器20在經(jīng)編碼的視頻數(shù)據(jù)位流中發(fā)射第一調(diào)色板184,以供視頻解碼器30用于基于調(diào)色板的解碼。
在一些實(shí)例中,視頻編碼器20和視頻解碼器30可使用指示最大調(diào)色板大小的一或多個語法元素。在一些實(shí)例中,最大調(diào)色板大小可基于正譯碼的視頻數(shù)據(jù)的特定簡檔、層級或位深度。在其它實(shí)例中,視頻編碼器20和視頻解碼器30可使用指示最大調(diào)色板大小的一或多個語法元素且最大調(diào)色板大小可基于例如CU 180等正譯碼的塊的大小。
在一實(shí)例中出于說明的目的,視頻編碼器20和視頻解碼器30可在構(gòu)造用于CU 180的第一調(diào)色板184時使用指示最大調(diào)色板大小的數(shù)據(jù)。舉例來說,視頻編碼器20和視頻解碼器30可繼續(xù)對第一調(diào)色板184添加條目直到到達(dá)由數(shù)據(jù)指示的最大調(diào)色板大小為止。視頻編碼器20和視頻解碼器30接著可使用所構(gòu)造第一調(diào)色板184對CU 180進(jìn)行譯碼。
在一些實(shí)例中,視頻編碼器20和視頻解碼器30可基于第一調(diào)色板184確定第二調(diào)色板192。舉例來說,視頻編碼器20和/或視頻解碼器30可定位一或多個塊,從所述一或多個塊確定預(yù)測性調(diào)色板(在此實(shí)例中,第一調(diào)色板184)。用于預(yù)測目的的條目組合可被稱為預(yù)測值調(diào)色板。在一些實(shí)例(例如,圖4中說明的實(shí)例)中,當(dāng)確定用于第二CU188的預(yù)測性調(diào)色板時,視頻編碼器20和/或視頻解碼器30可定位先前經(jīng)譯碼的CU,例如,左相鄰CU(第一CU 180)。
在圖4的實(shí)例中,第二調(diào)色板192包含三個條目208到212,其分別具有條目索引值1、條目索引值2和條目索引值3。條目208到212使索引值相關(guān)到分別包含像素值A(chǔ)、像素值B和像素值D的像素值。在此實(shí)例中,視頻編碼器20可對指示第一調(diào)色板184(表示預(yù)測值調(diào)色板,但是所述預(yù)測值調(diào)色板可包含多個塊的條目)的哪些條目包含于第二調(diào)色板192中的一或多個語法元素進(jìn)行譯碼。
圖5是說明與本發(fā)明的技術(shù)一致的確定到像素塊的調(diào)色板的索引的實(shí)例的概念圖。舉例來說,圖5包含使與索引值相關(guān)聯(lián)的像素的相應(yīng)位置與調(diào)色板244的條目有關(guān)的索引值(值1、2和3)的映射240。
舉例來說,索引1與值A(chǔ)相關(guān)聯(lián),索引2與值B相關(guān)聯(lián),且索引3與值C相關(guān)聯(lián)。另外,當(dāng)使用隱式轉(zhuǎn)義信號發(fā)送指示轉(zhuǎn)義樣本時,視頻編碼器20和視頻解碼器30還可將額外索引添加到調(diào)色板244,所述額外索引在圖5中說明為索引4,其可指示映射240的與索引4相關(guān)聯(lián)的樣本為轉(zhuǎn)義樣本。
雖然在圖5的實(shí)例中將映射240說明為包含用于每一像素位置的索引值,但應(yīng)理解在其它實(shí)例中,不是所有像素位置可與使像素值相關(guān)到調(diào)色板244的條目的索引值相關(guān)聯(lián)。即,如上所述,在一些實(shí)例中,視頻編碼器20可在像素值并未包含在調(diào)色板244中的情況下對用于映射240中的一位置的實(shí)際像素值(或其經(jīng)量化版本)的指示進(jìn)行編碼(且視頻解碼器30可從經(jīng)編碼位流獲得所述指示)。
在一些實(shí)例中,視頻編碼器20和視頻解碼器30可經(jīng)配置以對指示哪些像素位置與索引值相關(guān)聯(lián)的額外映射進(jìn)行譯碼。舉例來說,假定所述映射中的(i,j)條目對應(yīng)于CU的(i,j)位置。視頻編碼器20可針對所述映射的每一條目(即,每一像素位置)對一或多個語法元素進(jìn)行編碼,其指示所述條目是否具有相關(guān)聯(lián)索引值。舉例來說,視頻編碼器20可對具有值1的旗標(biāo)進(jìn)行編碼,以指示CU中的(i,j)位置處的像素值是調(diào)色板244中的值中的一者。
在此類實(shí)例中,視頻編碼器20還可對指示調(diào)色板中的像素值并且允許視頻解碼器重構(gòu)所述像素值的調(diào)色板索引(在圖5的實(shí)例中展示為值1到3)進(jìn)行編碼。在調(diào)色板244包含單個條目和相關(guān)聯(lián)像素值的實(shí)例中,視頻編碼器20可跳過索引值的用信號表示。視頻編碼器20可將旗標(biāo)編碼為具有值零以指示在CU中的(i,j)位置處的像素值不是調(diào)色板244中的值中的一者。在此實(shí)例中,視頻編碼器20還可對供視頻解碼器30用于重構(gòu)像素值的像素值的指示進(jìn)行編碼。在一些實(shí)例中,可以有損方式對像素值進(jìn)行譯碼。
CU的一個位置中的像素的值可提供所述CU的其它位置中的一或多個其它像素的值的指示。舉例來說,可存在CU的相鄰像素位置具有相同像素值或可映射到相同索引值(在有損譯碼的情況下,其中一個以上像素值可映射到單個索引值)的相對高概率。
因此,視頻編碼器20可對指示按給定掃描次序的具有相同像素值或索引值的一個像素兩個或更多個兩個或更多個連續(xù)像素或索引值的數(shù)目的一或多個語法元素進(jìn)行編碼。如上所述,具有相同調(diào)色板樣本模式(例如,轉(zhuǎn)義模式、復(fù)制上方、索引復(fù)制)的像素串可在本文中被稱作游程。在一實(shí)例中出于說明的目的,如果按給定掃描次序的兩個連續(xù)像素具有不同索引值,那么游程等于零。如果按給定掃描次序的兩個連續(xù)像素具有相同索引值但按掃描次序的第三像素具有不同索引值,那么類型索引復(fù)制的游程等于一。對于具有相同索引值的三個連續(xù)像素,游程是二,等等。視頻解碼器30可從經(jīng)編碼位流獲得指示游程的語法元素且使用所述數(shù)據(jù)確定具有相同調(diào)色板樣本模式的連續(xù)位置的數(shù)目。
如上所述,游程可與CopyFromTop(即,COPY_ABOVE)或值(即,INDEX_COPY)模式結(jié)合使用。在出于說明目的的實(shí)例中,考慮映射240的行264和268。假定水平的從左到右掃描方向的行264包含三個索引值“1”、兩個索引值“2”和三個索引值“3”。行268包含五個索引值“1”、兩個索引值“3”,以及不包含于調(diào)色板244中的一個樣本(由索引4表示,但是樣本層級的轉(zhuǎn)義旗標(biāo)可用于顯式轉(zhuǎn)義信號表示),其可被稱為轉(zhuǎn)義樣本。在此實(shí)例中,視頻編碼器20可識別行264的特定條目,隨后是當(dāng)編碼用于行268的數(shù)據(jù)時的游程(例如,CopyFromTop模式)。舉例來說,視頻編碼器20可編碼指示行268的第一位置(行268的最左邊位置)與行264的第一位置相同的一或多個語法元素。視頻編碼器20也可對指示行268中的在掃描方向上的兩個連續(xù)條目的下一游程與行264的對應(yīng)第一位置相同的語法元素進(jìn)行編碼。
在此實(shí)例中,視頻編碼器20可使用CopyFromAbove模式對用于行268的數(shù)據(jù)進(jìn)行編碼。舉例來說,視頻編碼器20可對指示行268的第一位置(行268的最左邊位置)與行264的第一位置相同的一或多個語法元素進(jìn)行編碼。視頻編碼器20還可對指示行268中在掃描方向上的兩個連續(xù)條目的下一游程與行264的第一位置相同的一或多個語法元素進(jìn)行編碼。
在編碼指示行264的第一位置和兩個條目的游程(上文提到)的一或多個語法元素(上文指出)之后,視頻編碼器20可為行268中第四和第五位置(從左到右)編碼針對第四位置指示值1的一或多個語法元素和指示游程1(例如,值模式)的一或多個語法元素。因此,視頻編碼器20在不參考另一線的情況下編碼這兩個位置。
視頻編碼器20接著可相對于上部行264使用CopyFromTop模式對行268中具有索引值3的第一位置進(jìn)行編碼。舉例來說,視頻編碼器20可用信號表示CopyFromTop模式和1的游程。因此,視頻編碼器20可在相對于線的其它值對所述線的像素或索引值(例如,使用游程)進(jìn)行譯碼、相對于另一線(或列)的值對線的像素或索引值進(jìn)行譯碼或其組合之間進(jìn)行選擇。在一些實(shí)例中,視頻編碼器20可執(zhí)行速率/失真優(yōu)化以做出所述選擇。
視頻編碼器20接著可對行268的最終樣本的轉(zhuǎn)義樣本(從左到右)進(jìn)行編碼,所述轉(zhuǎn)義樣本不包含于第一調(diào)色板244中。舉例來說,視頻編碼器20可將行268的最終位置編碼為轉(zhuǎn)義樣本。也就是說,視頻編碼器20可對行268的最終位置為轉(zhuǎn)義樣本(例如,索引4)的指示以及樣本值的指示進(jìn)行編碼。視頻解碼器30可從經(jīng)編碼位流獲得上述語法并且使用此類語法重構(gòu)行268。
視頻解碼器30可接收上述語法元素且重構(gòu)行268。舉例來說,視頻解碼器30可獲得指示相鄰行中從其復(fù)制當(dāng)前正譯碼的映射240的位置的相關(guān)聯(lián)索引值的特定位置的數(shù)據(jù)。視頻解碼器30還可獲得指示按掃描次序的具有相同索引值的連續(xù)位置(例如,一個位置或兩個或更多個連續(xù)位置)的數(shù)目。雖然關(guān)于水平掃描次序描述,但本發(fā)明的技術(shù)也可應(yīng)用到另一掃描方向,例如,垂直或?qū)蔷€(例如,在塊中成對角線的45度或135度)掃描方向。
根據(jù)本發(fā)明的技術(shù),在圖5的實(shí)例中,視頻編碼器20可用信號表示游程長度跳過語法元素,其指示映射240的第一游程或最后游程的長度的信令是否被跳過。
圖6A是說明根據(jù)本發(fā)明的技術(shù)的視頻編碼器20的實(shí)例操作的流程圖。提供本發(fā)明的流程圖作為實(shí)例。根據(jù)本發(fā)明的技術(shù)的其它實(shí)例操作可包含更多、更少或不同動作。此外,根據(jù)本發(fā)明的技術(shù)的其它實(shí)例操作可包含按不同次序或并行的動作。
在圖6A的實(shí)例中,視頻編碼器20確定視頻數(shù)據(jù)的塊的非轉(zhuǎn)義經(jīng)譯碼像素的調(diào)色板索引(300)。對于塊的每一相應(yīng)非轉(zhuǎn)義經(jīng)譯碼像素,所述相應(yīng)非轉(zhuǎn)義經(jīng)譯碼像素的調(diào)色板索引指示調(diào)色板中的條目。調(diào)色板中的每一條目指示一或多個樣本值的集合。非轉(zhuǎn)義經(jīng)譯碼像素是使用除轉(zhuǎn)義模式外的調(diào)色板樣本模式(例如,復(fù)制上方模式或索引復(fù)制模式)編碼的像素。
此外,在圖6A的實(shí)例中,視頻編碼器20識別塊中的一系列游程(302)。所述系列的游程可包含兩個或更多個游程。所述系列的游程中的每一相應(yīng)游程可由塊的一個像素或兩個或更多個連續(xù)像素組成。所述系列的游程中的每一相應(yīng)游程的每一像素可具有相同調(diào)色板樣本模式(例如,轉(zhuǎn)義模式、復(fù)制上方模式、索引復(fù)制模式)。
另外,在圖6A的實(shí)例中,視頻編碼器20產(chǎn)生一或多個調(diào)色板游程長度語法元素的集合(304)。所述一或多個調(diào)色板游程長度語法元素指示所述系列的游程中的一或多個游程的長度。此外,在圖6A的實(shí)例中,視頻編碼器20產(chǎn)生具有特定值的語法元素,所述特定值指示調(diào)色板游程長度語法元素的集合不指示所述系列的游程中的第一游程的長度(306)。
圖6B是說明根據(jù)本發(fā)明的技術(shù)的視頻解碼器30的實(shí)例操作的流程圖。在圖6B的實(shí)例中,視頻解碼器30從包括視頻數(shù)據(jù)的塊的經(jīng)編碼表示的位流獲得語法元素(350)。所述塊包括一系列游程。所述系列的游程可包含兩個或更多個游程。所述系列的游程中的每一相應(yīng)游程可由塊的一個像素或兩個或更多個連續(xù)像素組成。此外,所述系列的游程中的每一相應(yīng)游程的每一像素具有相同調(diào)色板樣本模式(例如,轉(zhuǎn)義模式、復(fù)制上方模式、索引復(fù)制模式)。另外,在圖6B的實(shí)例中,視頻解碼器30從位流獲得一或多個調(diào)色板游程長度語法元素的集合(352)。所述一或多個調(diào)色板游程長度語法元素指示所述系列的游程中的一或多個游程的長度。
此外,在圖6B的實(shí)例中,視頻解碼器30基于具有特定值的語法元素而確定調(diào)色板游程長度語法元素的集合不指示所述系列的游程中的第一游程的長度(354)。此外,在圖6B的實(shí)例中,視頻解碼器30基于塊中的像素的數(shù)目以及由調(diào)色板游程語法元素的集合指示的長度而確定所述系列的游程中的第一游程的長度(356)。
另外,在圖6B的實(shí)例中,視頻解碼器30基于塊的像素的調(diào)色板樣本模式而確定所述塊的非轉(zhuǎn)義經(jīng)譯碼像素的調(diào)色板索引(358)。對于塊的每一相應(yīng)非轉(zhuǎn)義經(jīng)譯碼像素,所述相應(yīng)非轉(zhuǎn)義經(jīng)譯碼像素的相應(yīng)調(diào)色板索引指示調(diào)色板中的條目。調(diào)色板中的每一相應(yīng)條目指示一或多個樣本值的相應(yīng)集合。在圖6B的實(shí)例中,視頻解碼器30基于塊的非轉(zhuǎn)義經(jīng)譯碼像素的調(diào)色板索引而確定所述塊的非轉(zhuǎn)義經(jīng)譯碼像素的值(360)。
以下是本發(fā)明的段落列表一些實(shí)例。
實(shí)例1。一種處理視頻數(shù)據(jù)的方法,所述方法包括:使用顏色值的調(diào)色板以及一或多個調(diào)色板游程長度語法元素對視頻數(shù)據(jù)塊進(jìn)行譯碼,所述調(diào)色板游程長度語法元素指示所述塊中使用相同調(diào)色板索引的像素的數(shù)目的游程長度;以及對指示所述一或多個調(diào)色板游程長度語法元素中的特定一者是否未用信號表示的第一語法元素進(jìn)行譯碼。
實(shí)例2。實(shí)例1的方法,其中所述一或多個調(diào)色板游程長度語法元素中的所述特定一者是所述視頻數(shù)據(jù)塊中的第一調(diào)色板游程長度語法元素。
實(shí)例3。實(shí)例2的方法,其中所述第一語法元素指示所述第一調(diào)色板游程長度語法元素未用信號表示,所述方法進(jìn)一步包括:推斷所述第一調(diào)色板游程長度語法元素的游程長度為臨時游程長度零;以及通過基于所述視頻數(shù)據(jù)塊的隨后所接收調(diào)色板游程長度語法元素計算實(shí)際游程長度而替換所述臨時游程長度零。
實(shí)例4。實(shí)例2的方法,其中所述第一語法元素指示所述第一調(diào)色板游程長度語法元素未用信號表示,且其中對所述視頻數(shù)據(jù)塊進(jìn)行譯碼進(jìn)一步包括根據(jù)調(diào)色板游程類型對所述視頻數(shù)據(jù)塊進(jìn)行譯碼,所述方法進(jìn)一步包括:在所述視頻數(shù)據(jù)塊的第一線中的當(dāng)前經(jīng)譯碼像素不是按掃描次序的第一像素的情況下對指示所述視頻數(shù)據(jù)塊的所述第一線的所述調(diào)色板游程類型的第二語法元素進(jìn)行譯碼;以及在所述視頻數(shù)據(jù)塊的所述第一線中的所述當(dāng)前經(jīng)譯碼像素是按所述掃描次序的所述第一像素的情況下推斷指示所述調(diào)色板游程類型的所述第二語法元素的值為COPY_ABOVE游程類型。
實(shí)例5。實(shí)例2的方法,其中所述第一語法元素指示所述第一調(diào)色板游程長度語法元素未用信號表示,且其中對所述視頻數(shù)據(jù)塊進(jìn)行譯碼進(jìn)一步包括根據(jù)調(diào)色板游程類型對所述視頻數(shù)據(jù)塊進(jìn)行譯碼,所述方法進(jìn)一步包括:在所述視頻數(shù)據(jù)塊的第一線中的當(dāng)前經(jīng)譯碼像素是所述塊中的第一像素且前一調(diào)色板游程類型不是COPY_ABOVE游程類型的情況下對指示所述視頻數(shù)據(jù)塊的所述第一線的所述調(diào)色板游程類型的第二語法元素進(jìn)行譯碼;以及在所述視頻數(shù)據(jù)塊的所述第一線中的所述當(dāng)前經(jīng)譯碼像素不是所述塊中的第一像素且所述前一調(diào)色板游程類型是所述COPY_ABOVE游程類型的情況下推斷指示所述調(diào)色板游程類型的所述第二語法元素的值為INDEX_COPY游程類型。
實(shí)例6。實(shí)例1的方法,其中COPY_ABOVE游程長度經(jīng)界定為具有大于零的長度。
實(shí)例7。實(shí)例6的方法,其進(jìn)一步包括:對指示用于所述視頻數(shù)據(jù)塊的所有COPY_ABOVE游程長度是否大于零的第三語法元素進(jìn)行譯碼。
實(shí)例8。實(shí)例7的方法,其進(jìn)一步包括:在所述第三語法元素指示用于所述視頻數(shù)據(jù)塊的所有COPY_ABOVE游程長度大于零的情況下,對所述COPY_ABOVE游程類型和游程長度零的組合進(jìn)行譯碼以指示INDEX_COPY游程長度。
實(shí)例9。實(shí)例1的方法,其中所述一或多個調(diào)色板游程長度語法元素中的所述特定一者是所述視頻數(shù)據(jù)塊中的最后調(diào)色板游程長度語法元素。
實(shí)例10。實(shí)例1的方法,其進(jìn)一步包括:在顏色值的所述調(diào)色板具有一的大小且對所述視頻數(shù)據(jù)塊進(jìn)行譯碼涉及非轉(zhuǎn)義像素的使用的情況下推斷所述第一語法元素的值;以及推斷用于整個視頻數(shù)據(jù)塊的游程長度。
實(shí)例11。實(shí)例1的方法,其進(jìn)一步包括:在顏色值的所述調(diào)色板具有零的大小的情況下推斷所述第一語法元素的值;以及推斷用于整個視頻數(shù)據(jù)塊的游程長度。
實(shí)例12。實(shí)例1的方法,其進(jìn)一步包括:使用上下文自適應(yīng)二進(jìn)制算術(shù)譯碼(CABAC)對所述第一語法元素進(jìn)行譯碼。
實(shí)例13。一種視頻編碼器,其經(jīng)配置以執(zhí)行實(shí)例1到12的技術(shù)的任何組合。
實(shí)例14。一種視頻解碼器,其經(jīng)配置以執(zhí)行實(shí)例1到12的技術(shù)的任何組合。
實(shí)例15。一種設(shè)備,其包括用于執(zhí)行實(shí)例1到12的技術(shù)的任何組合的裝置。
實(shí)例16。一種方法,其包括實(shí)例1到12的技術(shù)的任何組合。
實(shí)例17。一種存儲指令的計算機(jī)可讀存儲媒體,所述指令當(dāng)執(zhí)行時致使一或多個處理器執(zhí)行實(shí)例1到12的技術(shù)的任何組合。
應(yīng)理解,本文中描述的所有技術(shù)可個別地或組合地使用。應(yīng)認(rèn)識到,取決于實(shí)例,本文中所描述的技術(shù)中的任一者的某些動作或事件可用不同序列來執(zhí)行,可添加、合并或全部省略所述動作或事件(例如,實(shí)踐所述技術(shù)未必需要所有所描述動作或事件)。此外,在某些實(shí)例中,可(例如)通過多線程處理、中斷處理或多個處理器同時而非依序地執(zhí)行動作或事件。此外,雖然為了清晰起見,本發(fā)明的某些方面被描述為是通過單個模塊或單元執(zhí)行,但是應(yīng)理解,本發(fā)明的技術(shù)可以通過與視頻譯碼器相關(guān)聯(lián)的單元或模塊的組合執(zhí)行。
出于說明的目的已經(jīng)相對于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ù)的各種方面的特定組合,但提供這些組合僅為了說明本發(fā)明中描述的技術(shù)的實(shí)例。因此,本發(fā)明的技術(shù)不應(yīng)限于這些實(shí)例組合且可涵蓋本發(fā)明中描述的技術(shù)的各種方面的任何可設(shè)想的組合。
在一或多個實(shí)例中,所描述的功能可以硬件、軟件、固件或其任何組合來實(shí)施。如果用軟件實(shí)施,則所述功能可作為一或多個指令或代碼在計算機(jī)可讀媒體上存儲或傳輸,且由基于硬件的處理單元執(zhí)行。計算機(jī)可讀媒體可包含計算機(jī)可讀存儲媒體,其對應(yīng)于例如數(shù)據(jù)存儲媒體等有形媒體,或包含任何促進(jìn)將計算機(jī)程序從一處傳送到另一處的媒體(例如,根據(jù)一種通信協(xié)議)的通信媒體。以此方式,計算機(jī)可讀媒體大體上可以對應(yīng)于(1)非暫時性的有形計算機(jī)可讀存儲媒體,或(2)通信媒體,例如信號或載波。數(shù)據(jù)存儲媒體可為可由一或多個計算機(jī)或者一或多個處理器存取以檢索用于實(shí)施本發(fā)明中描述的技術(shù)的指令、代碼及/或數(shù)據(jù)結(jié)構(gòu)的任何可用媒體。計算機(jī)程序產(chǎn)品可以包含計算機(jī)可讀媒體。
借助于實(shí)例而非限制,此類計算機(jī)可讀存儲媒體可包括RAM、ROM、EEPROM、CD-ROM或其它光盤存儲裝置、磁盤存儲裝置或其它磁性存儲裝置、快閃存儲器或可以用來存儲指令或數(shù)據(jù)結(jié)構(gòu)的形式的期望程序代碼并且可以由計算機(jī)存取的任何其它媒體。并且,任何連接被恰當(dāng)?shù)胤Q作計算機(jī)可讀媒體。舉例來說,如果使用同軸纜線、光纖纜線、雙絞線、數(shù)字訂戶線(DSL)或例如紅外線、無線電和微波等無線技術(shù)從網(wǎng)站、服務(wù)器或其它遠(yuǎn)程源傳輸指令,那么同軸纜線、光纖纜線、雙絞線、DSL或例如紅外線、無線電和微波等無線技術(shù)包含在媒體的定義中。但是,應(yīng)理解,所述計算機(jī)可讀存儲媒體和數(shù)據(jù)存儲媒體并不包含連接、載波、信號或其它暫時性媒體,而是實(shí)際上針對于非暫時性有形存儲媒體。如本文中所使用,磁盤和光盤包含壓縮光盤(CD)、激光光盤、光學(xué)光盤、數(shù)字多功能光盤(DVD)、軟性磁盤和藍(lán)光光盤,其中磁盤通常以磁性方式再現(xiàn)數(shù)據(jù),而光盤利用激光以光學(xué)方式再現(xiàn)數(shù)據(jù)。以上各項的組合也應(yīng)包含在計算機(jī)可讀媒體的范圍內(nèi)。
可由例如一或多個數(shù)字信號處理器(DSP)、通用微處理器、專用集成電路(ASIC)、現(xiàn)場可編程邏輯陣列(FPGA)或其它等效集成或離散邏輯電路等一或多個處理器來執(zhí)行指令。因此,如本文中所使用的術(shù)語“處理器”可指前述結(jié)構(gòu)或適合于實(shí)施本文中所描述的技術(shù)的任一其它結(jié)構(gòu)中的任一者。另外,在一些方面中,本文中所描述的功能性可以在經(jīng)配置用于編碼和解碼的專用硬件和/或軟件模塊內(nèi)提供,或者并入在組合編解碼器中。而且,所述技術(shù)可完全實(shí)施于一或多個電路或邏輯元件中。
本發(fā)明的技術(shù)可以在廣泛多種裝置或設(shè)備中實(shí)施,包含無線手持機(jī)、集成電路(IC)或一組IC(例如,芯片組)。本發(fā)明中描述各種組件、模塊或單元是為了強(qiáng)調(diào)經(jīng)配置以執(zhí)行所公開的技術(shù)的裝置的功能方面,但未必需要由不同硬件單元實(shí)現(xiàn)。實(shí)際上,如上文所描述,各種單元可以結(jié)合合適的軟件及/或固件組合在編解碼器硬件單元中,或者通過互操作硬件單元的集合來提供,所述硬件單元包含如上文所描述的一或多個處理器。
描述了各種實(shí)例。這些和其它實(shí)例在所附權(quán)利要求書的范圍內(nèi)。