技術領域
本發明涉及視頻編碼和視頻解碼。
背景技術:
數字視頻能力可并入到多種多樣的裝置中,包含數字電視、數字直播系統、無線廣播系統、個人數字助理(PDA)、膝上型或桌上型計算機、平板計算機、電子書閱讀器、數碼相機、數字記錄裝置、數字媒體播放器、視頻游戲裝置、視頻游戲控制臺、蜂窩式或衛星無線電電話(所謂的“智能電話”)、視頻電話會議裝置、視頻流式傳輸裝置等。數字視頻裝置實施視頻壓縮技術,例如描述于以下各項中的那些技術:由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分高級視頻譯碼(AVC)定義的標準、高效率視頻譯碼(HEVC)標準,以及此些標準的擴展。視頻裝置可通過實施此類視頻壓縮技術來更有效率地發射、接收、編碼、解碼和/或存儲數字視頻信息。
視頻壓縮技術執行空間(圖片內)預測和/或時間(圖片間)預測,來減少或去除視頻序列中固有的冗余。對于基于塊的視頻譯碼,可將視頻切片(即,視頻幀或視頻幀的一部分)分割成視頻塊。使用關于同一圖片中的相鄰塊中的參考樣本的空間預測對圖片的經幀內譯碼(I)切片中的視頻塊進行編碼。圖片的經幀間編碼(P或B)切片中的視頻塊可使用相對于同一圖片中的相鄰塊中的參考樣本的空間預測或相對于其它參考圖片中的參考樣本的時間預測。圖片可被稱為幀,且參考圖片可被稱為參考幀。
空間或時間預測產生待譯碼塊的預測性塊。殘差數據表示待譯碼原始塊與預測性塊之間的像素差。經幀間譯碼塊是根據指向形成預測性塊的參考樣本塊的運動向量以及指示經譯碼塊與預測性塊之間的差的殘差數據編碼的。根據幀內譯碼模式和殘差數據來編碼經幀內譯碼塊。為了進一步壓縮,可將殘差數據從像素域變換到變換域,從而產生殘差變換系數,可接著量化所述殘差變換系數。可掃描最初布置成二維陣列的經量化系數,以便產生系數的一維向量,且可應用熵譯碼來實現更多壓縮。
技術實現要素:
一般來說,本發明描述用于視頻數據的調色板模式譯碼的技術。如本文所述,視頻譯碼器可確定包含一或多個候選者條目的調色板預測符列表。所述候選者條目中的每一者可指定與當前塊相鄰的不同相應經重構像素的至少一個樣本值。所述視頻譯碼器可包含所述當前塊的調色板中調色板預測符列表的一或多個候選者條目。
在一個實例中,本發明描述一種解碼視頻數據的方法,所述方法包括:確定包括一或多個候選者的調色板預測符列表,所述調色板預測符列表中的每一相應候選者指定來自一或多個經重構相鄰像素之中的不同相應經重構相鄰像素的至少一個樣本值,其中所述一或多個經重構相鄰像素中的每一者鄰近于所述視頻數據的當前塊;將所述調色板預測符列表中的至少一個候選者包含在用于所述當前塊的調色板中;基于在位流中發信號通知的一或多個語法元素來獲得用于所述當前塊的像素的索引值;識別所述調色板中對應于所述像素的索引值的調色板條目;以及基于所識別的調色板條目所指定的至少一個樣本值來確定所述像素的至少一個經重構樣本值。
在另一實例中,本發明描述一種編碼視頻數據的方法,所述方法包括:確定包括一或多個候選者的調色板預測符列表,所述調色板預測符列表中的每一相應候選者指定來自一或多個經重構相鄰像素之中的不同相應經重構相鄰像素的至少一個樣本值,其中所述一或多個經重構相鄰像素中的每一者在所述視頻數據的當前塊上方的行或左側的列中;將所述調色板預測符列表中的至少一個候選者包含在用于所述當前塊的調色板中;以及在位流中發信號通知指示所述當前塊的像素的索引值的一或多個語法元素,所述索引值對應于所述調色板中的條目。
在另一實例中,本發明描述一種經配置以譯碼視頻數據的裝置,所述裝置包括:存儲器,其經配置以存儲所述視頻數據;以及一或多個處理器,其經配置以:確定包括一或多個候選者的調色板預測符列表,所述調色板預測符列表中的每一相應候選者指定來自一或多個經重構相鄰像素之中的不同相應經重構相鄰像素的至少一個樣本值,其中所述一或多個經重構相鄰像素中的每一者位于所述視頻數據的當前塊上方的行或左側的列中;以及將所述調色板預測符列表中的至少一個候選者包含在用于所述當前塊的調色板中。
在另一實例中,本發明描述一種經配置以解碼視頻數據的裝置,所述裝置包括:用于確定包括一或多個候選者的調色板預測符列表的裝置,所述調色板預測符列表中的每一相應候選者指定來自一或多個經重構相鄰像素之中的不同相應經重構相鄰像素的至少一個樣本值,其中所述一或多個經重構相鄰像素中的每一者位于所述視頻數據的當前塊上方的行或左側的列中;以及用于將所述調色板預測符列表中的至少一個候選者包含在用于所述當前塊的調色板中的裝置。
在另一實例中,本發明描述一種上面存儲有指令的數據存儲媒體,所述指令在被執行時致使用于譯碼視頻數據的裝置:確定包括一或多個候選者的調色板預測符列表,所述調色板預測符列表中的每一相應候選者指定來自一或多個經重構相鄰像素之中的不同相應經重構相鄰像素的至少一個樣本值,其中所述一或多個經重構相鄰像素中的每一者位于所述視頻數據的當前塊上方的行或左側的列中;以及將所述調色板預測符列表中的至少一個候選者包含在用于所述當前塊的調色板中。
在附圖和下文描述中陳述本發明的一或多個實例的細節。其它特征、目標和優點將從所述描述、圖式以及所附權利要求書而顯而易見。
附圖說明
圖1是說明可利用本發明中所描述的技術的實例視頻譯碼系統的框圖。
圖2是說明實例調色板填充過程的概念圖。
圖3是說明實例預測旗標的概念圖。
圖4是說明用于額外調色板預測符列表的候選者像素的概念圖。
圖5是說明可實施本發明中描述的技術的實例視頻編碼器的框圖。
圖6是說明可實施本發明中描述的技術的實例視頻解碼器的框圖。
圖7是說明根據本發明的技術的實例解碼操作的流程圖。
圖8是說明根據本發明的技術的實例編碼操作的流程圖。
圖9是說明根據本發明的技術的用于產生調色板的實例操作的流程圖。
圖10是說明根據本發明的技術的視頻解碼器產生原始調色板預測符列表的實例操作的流程圖。
圖11是說明根據本發明的技術的視頻解碼器產生額外調色板預測符列表的實例操作的流程圖。
圖12是說明根據本發明的技術的視頻編碼器產生原始調色板預測符列表的實例操作的流程圖。
圖13是說明根據本發明的技術的視頻編碼器產生額外調色板預測符列表的實例操作的流程圖。
具體實施方式
本發明的各方面是針對用于視頻譯碼和視頻數據壓縮的技術。確切地說,本發明描述用于視頻數據的基于調色板的譯碼的技術。在傳統的視頻譯碼中,假定圖像為連續色調且空間上平滑。基于這些假定,已經開發了各種工具,例如基于塊的變換、過濾和其它譯碼工具,并且此類工具已經表現出針對自然的內容視頻的良好性能。
然而,在比如遠程桌上型、協作式工作和無線顯示的應用中,計算機生成的屏幕內容可為待壓縮的主要內容。此類型的內容趨向于具有離散色調,清晰線和高對比度對象邊界。連續色調和光滑的假定可能不再適用,并且因此,傳統的視頻譯碼技術可能在壓縮內容時效率低下。
本發明描述基于調色板的譯碼,其可尤其適用于屏幕內容譯碼或其中一或多個傳統譯碼工具效率低下時的其它內容。視頻數據的基于調色板的譯碼可結合一或多個其它譯碼技術使用,例如用于幀間或幀內預測性譯碼的技術。舉例來說,如下文更詳細地描述,編碼器或解碼器或組合式編碼器-解碼器(編解碼器)可經配置以執行幀間和幀內預測性譯碼以及基于調色板的譯碼。
在調色板模式譯碼中,調色板包含由表示色彩分量值的索引編號的條目或由其構成,其可用作塊樣本的預測符或用作最終經重構塊樣本。所述調色板中的每一條目可含有一個色彩分量(例如亮度值)或兩個分量(例如兩個色度值)或三個色彩分量的三元組(例如RGB、YUV或其它色彩空間的分量)。在其它情境中還可使用四個或大于四個色彩分量,例如具有四分量色彩空間,如“CMYK”。
可通過針對所述塊的每一樣本指示指向所述調色板中的對應條目的索引來譯碼視頻數據塊。通過指示指向調色板中的同一條目的索引的游程而不是個別地發信號通知索引來實現進一步的效率。可使用具有游程模式(例如,“復制-左”(其在本文中還可稱作“索引-復制”)和“復制-上方”)的游程長度譯碼來譯碼調色板模式塊中的樣本。
為了減少用來發信號通知調色板的位,使用先前解碼的調色板條目來預測調色板中的條目。先前解碼的調色板條目(在精簡掉重復條目之后)形成列表,被稱作調色板預測符列表。對于調色板預測符列表中的每一條目,使用一個二進位來指示對應條目是否在當前調色板中再用。這些二進位可形成二進制向量。此向量對應于previous_palette_entry_flag[i]的語法元素。
在解碼器中,在解碼所有的previous_palette_entry_flag之后,將調色板預測符列表中對應previous_palette_entry_flag等于1的條目放置在當前塊的調色板的開頭。換句話說,當前調色板可在邏輯上分成兩個區域。第一區域(下文命名為ZONE_P,放置在開頭)由來自調色板預測符列表的再用條目組成。第二區域(下文命名為ZONE_T,放置在第一區域之后)由新的調色板條目組成,其不在調色板預測符列表中且直接在位流中發信號通知。
所述調色板預測符列表并不包含用于先前經譯碼塊中的所謂的“轉義像素”。轉義像素是調色板經譯碼塊中存在的像素,但不包含于用于所述塊的調色板中。可存在先前經譯碼塊的轉義像素也用于所述當前塊中的較高概率,尤其是在那些轉義像素鄰近于所述當前塊的情況下。因此,在所述當前塊的調色板預測符列表中包含先前經譯碼塊的轉義像素中的至少一些可為有利的。
本發明描述使用相鄰經重構像素的技術,例如來自當前塊上方的行以及所述當前塊左側的行的像素,作為額外候選者調色板預測符來預測當前塊的調色板。舉例來說,視頻譯碼器可使用相鄰經重構像素來構造另一調色板預測列表,在本文中被稱作“額外調色板預測符列表”。視頻譯碼器可以與視頻譯碼器將使用調色板中的其它像素相同的方式使用“額外調色板預測符列表”中的像素。舉例來說,所述位流可包含指向“額外調色板預測符列表”中的條目的索引,以指示當前塊的對應像素具有所述條目所指定的樣本值。
因此,根據本發明的實例,視頻譯碼器可確定包括一或多個候選者或由其組成的調色板預測符列表。在此實例中,調色板預測符列表中的每一相應候選者指定來自一或多個經重構相鄰像素之中的不同相應經重構相鄰像素的至少一個樣本值。此外,在此實例中,所述一或多個經重構相鄰像素中的每一者在所述視頻數據的當前塊上方的行或左側的列中。舉例來說,所述相鄰像素可鄰近于所述當前塊。在一些實例中,所述相鄰像素可來自上方的行或所述當前塊上方的兩個或更多個行。所述相鄰像素還可來自當前塊的左列或左邊兩個或更多個列。在此實例中,所述視頻譯碼器將所述調色板預測符列表中的至少一個候選者包含在用于所述當前塊的調色板中。
圖1是說明可利用本發明的技術的實例視頻譯碼系統10的框圖。如本文所使用,術語“視頻譯碼器”一般是指視頻編碼器和視頻解碼器兩者。在本發明中,術語“視頻譯碼”或“譯碼”可一般地指代視頻編碼或視頻解碼。
如圖1中所示,視頻譯碼系統10包含源裝置12和目的地裝置14。源裝置12產生經編碼視頻數據。因此,源裝置12可被稱為視頻編碼裝置或視頻編碼設備。目的地裝置14可對由源裝置12所產生的經編碼的視頻數據進行解碼。因此,目的地裝置14可被稱為視頻解碼裝置或視頻解碼設備。源裝置12和目的地裝置14可為視頻譯碼裝置或視頻譯碼設備的實例。解碼表示從經編碼視頻數據重構樣本值。
源裝置12和目的地裝置14可包括各種裝置,包含桌上型計算機、移動計算裝置、筆記型電腦(例如膝上型計算機)計算機、平板計算機、機頂盒、電話手持機(例如所謂的“智能”電話)、電視機、相機、顯示裝置、數字媒體播放器、視頻游戲控制臺、車載計算機、視頻會議裝置或其它類型的具有媒體功能的裝置。
目的地裝置14可經由信道16從源裝置12接收經編碼的視頻數據。信道16可包括能夠將經編碼的視頻數據從源裝置12移動到目的地裝置14的一或多個媒體或裝置。在一個實例中,信道16可包括使得源裝置12能夠實時地將經編碼的視頻數據直接發射到目的地裝置14的一或多個通信媒體。在此實例中,源裝置12可根據例如無線通信協議等通信標準調制經編碼的視頻數據,并且可將經調制的視頻數據發射到目的地裝置14。一或多個通信媒體可包含無線通信媒體和/或有線通信媒體,例如射頻(RF)頻譜或一或多個物理傳輸線。所述一或多個通信媒體可形成基于分組的網絡的一部分,例如局域網、廣域網或全球網絡(例如,因特網)。所述一或多個通信媒體可包含路由器、交換器、基站或促進從源裝置12到目的地裝置14的通信的其它設備。
在另一實例中,信道16可包含存儲由源裝置12產生的經編碼的視頻數據的存儲媒體。在此實例中,目的地裝置14可經由磁盤存取或卡存取來存取存儲媒體。存儲媒體可包含多種本地存取的數據存儲媒體,例如藍光光盤、DVD、CD-ROM、快閃存儲器或用于存儲經編碼的視頻數據的其它合適數字存儲媒體。
在另一實例中,信道16可包含存儲由源裝置12產生的經編碼的視頻數據的文件服務器或另一中間存儲裝置。在此實例中,目的地裝置14可經由流式傳輸或下載來存取存儲在文件服務器或其它中間存儲裝置處的經編碼的視頻數據。文件服務器可為能夠存儲經編碼的視頻數據并且將經編碼的視頻數據發射到目的地裝置14的服務器類型。實例文件服務器包含網絡服務器(例如,用于網站)、文件傳輸協議(FTP)服務器、網絡附接存儲(NAS)裝置以及本地磁盤驅動器。
目的地裝置14可通過標準數據連接(例如因特網連接)來存取經編碼的視頻數據。實例類型的數據連接可包含無線信道(例如Wi-Fi連接)、有線連接(例如DSL、電纜調制解調器等),或適合于存取存儲在文件服務器上的經編碼視頻數據的兩者的組合。經編碼視頻數據從文件服務器的發射可為流式發射、下載發射或兩者的組合。
本發明的技術不限于無線應用或設置。所述技術可應用于視頻譯碼以支持多種多媒體應用,例如空中電視廣播、有線電視傳輸、衛星電視傳輸、流式視頻傳輸(例如,經由因特網)、對視頻數據進行編碼以存儲于數據存儲媒體上、對存儲在數據存儲媒體上的視頻數據進行解碼,或其它應用。在一些實例中,視頻譯碼系統10可經配置以支持單向或雙向視頻傳輸以支持例如視頻流式傳輸、視頻回放、視頻廣播和/或視頻電話等應用。
圖1僅為實例,且本發明的技術可適用于未必包含編碼裝置與解碼裝置之間的任何數據通信的視頻譯碼設定(例如,視頻編碼或視頻解碼)。在其它實例中,從本地存儲器檢索、在網絡上流式傳輸或以類似方式處理數據(例如,視頻數據)。視頻編碼裝置可將數據(例如,視頻數據)編碼且存儲到存儲器,和/或視頻解碼裝置可從存儲器檢索且解碼數據(例如,視頻數據)。在許多實例中,編碼和解碼是由并不彼此通信但簡單地將數據(例如視頻數據)編碼到存儲器和/或從存儲器檢索且解碼數據(例如,視頻數據)的裝置執行。
在圖1的實例中,源裝置12包含視頻源18、視頻編碼器20和輸出接口22。在一些實例中,輸出接口22可包含調制器/解調器(調制解調器)和/或發射器。視頻源18可包含視頻捕獲裝置(例如,攝像機)、含有先前捕獲的視頻數據的視頻存檔、用以從視頻內容提供者接收視頻數據的視頻饋入接口,和/或用于產生視頻數據的計算機圖形系統,或視頻數據的此些來源的組合。
視頻編碼器20可對來自視頻源18的視頻數據進行編碼。在一些實例中,源裝置12經由輸出接口22將經編碼的視頻數據直接發射到目的地裝置14。在其它實例中,經編碼的視頻數據也可存儲到存儲媒體或文件服務器上以供稍后由目的地裝置14存取來用于解碼和/或重放。
在圖1的實例中,目的地裝置14包含輸入接口28、視頻解碼器30和顯示裝置32。在一些實例中,輸入接口28包含接收器和/或調制解調器。輸入接口28可從信道16接收經編碼視頻數據。顯示裝置32可與目的地裝置14集成或可在目的地裝置14外部。一般來說,顯示裝置32顯示經解碼視頻數據。顯示裝置32可包括多種顯示裝置,例如液晶顯示器(LCD)、等離子顯示器、有機發光二極管(OLED)顯示器或另一類型的顯示裝置。
本發明可大體上將視頻編碼器20稱為將某些信息“發信號通知”或“發射”到例如視頻解碼器30的另一裝置。術語“發信號通知”或“發射”可大體上指代用以對經壓縮視頻數據進行解碼的語法元素和/或其它數據的傳送。此傳送可實時或幾乎實時發生。或者,此通信可經過一段時間后發生,例如可在編碼時以經編碼位流將語法元素存儲到計算機可讀存儲媒體時發生,解碼裝置接著可在所述語法元素存儲到此媒體之后的任何時間檢索所述語法元素。因此,雖然視頻解碼器30可被稱為“接收”某些信息,但信息的接收不一定實時或近實時發生,且可在存儲之后的某個時間從媒體檢索。
視頻編碼器20和視頻解碼器30各自可實施為例如以下各項的多種合適電路中的任一者:一或多個微處理器、數字信號處理器(DSP)、專用集成電路(ASIC)、現場可編程門陣列(FPGA)、離散邏輯、硬件或其任何組合。當部分地以軟件實施技術時,裝置可將軟件的指令存儲于合適的非暫時性計算機可讀存儲媒體中且可使用一或多個處理器以硬件執行指令從而執行本發明的技術。前述內容(包含硬件、軟件、硬件與軟件的組合等)中的任一者可被視為一或多個處理器。視頻編碼器20及視頻解碼器30中的每一者可包含在一或多個編碼器或解碼器中,所述編碼器或解碼器中的任一者可集成為相應裝置中的組合編碼器/解碼器(編解碼器)的部分。
在一些實例中,視頻編碼器20和視頻解碼器30可根據視頻壓縮標準(例如HEVC)操作。HEVC的版本,下文稱作“HEVC版本1”,可從https://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-H.265-201304-S!!PDF-E&type=items獲得。除基礎HEVC版本1以外,產生用于HEVC的可縮放視頻譯碼、多視圖視頻譯碼和3D譯碼擴展的努力也在不斷進行中。另外,可為HEVC的擴展提供基于調色板的譯碼模式,例如如本發明中所描述。在一些實例中,本發明中針對基于調色板的譯碼而描述的技術可應用于經配置以根據其它視頻譯碼標準(例如,ITU-T-H.264/AVC標準或將來標準)操作的編碼器和解碼器。因此,將基于調色板的譯碼模式用于HEVC編解碼器中的譯碼單元(CU)或預測單元(PU)的譯碼是為了實例的目的而描述。
視頻譯碼系統10的視頻編碼器20和視頻解碼器30表示可經配置以執行根據本發明中描述的各種實例的用于基于調色板的視頻譯碼的技術的裝置的實例。舉例來說,視頻編碼器20和視頻解碼器30可經配置以使用基于調色板的譯碼或非基于調色板的譯碼選擇性地對例如HEVC譯碼中的CU或PU等各種視頻數據塊進行譯碼。非基于調色板的譯碼模式可指代各種幀間預測性時間譯碼模式或幀內預測性空間譯碼模式,例如由HEVC版本1指定的各種譯碼模式。
在HEVC和其它視頻譯碼標準中,視頻序列通常包含一連串圖片。圖片也可被稱作“幀”。圖片可包含三個樣本陣列,表示為SL、SCb以及SCr。SL是亮度樣本的二維陣列(即,塊)。SCb是Cb色度樣本的二維陣列。SCr是Cr色度樣本的二維陣列。色度樣本在本文中還可以被稱為“色度”樣本。在其它情況下,圖片可為單色的且可僅包含亮度樣本陣列。
為了產生圖片的經編碼的表示,視頻編碼器20可產生一組譯碼樹單元(CTU)。CTU中的每一者可為亮度樣本的譯碼樹塊、色度樣本的兩個對應譯碼樹塊,以及用于對譯碼樹塊的樣本進行譯碼的語法結構。譯碼樹塊可為樣本的NxN塊。CTU也可被稱為“樹塊”或“最大譯碼單元(LCU)”。HEVC的CTU可廣泛地類似于例如H.264/AVC等其它標準的宏塊。然而,CTU未必限于特定大小,并且可包含一或多個譯碼單元(CU)。切片可包含光柵掃描中連續排序的整數數目的CTU。
為了產生經譯碼CTU,視頻編碼器20可在CTU的譯碼樹塊上以遞歸方式執行四叉樹分割,以將譯碼樹塊劃分為若干譯碼塊,因此命名為“譯碼樹單元”。譯碼塊是樣本的NxN塊。CU可為具有亮度樣本陣列、Cb樣本陣列和Cr樣本陣列的圖片的亮度樣本的譯碼塊和色度樣本的兩個對應譯碼塊,以及用于對譯碼塊的樣本進行譯碼的語法結構。在單色圖片或具有三個單獨色彩平面的圖片中,CU可包括單個譯碼塊以及用以對譯碼塊的樣本進行譯碼的語法結構。
視頻編碼器20可將CU的譯碼塊分割為一或多個預測塊。預測塊可為應用相同預測的樣本的矩形(即,正方形或非正方形)塊。CU的預測單元(PU)可為圖片的亮度樣本的預測塊,圖片的色度樣本的兩個對應的預測塊,以及用以對預測塊樣本進行預測的語法結構。視頻編碼器20可產生用于CU的每個PU的亮度、Cb以及Cr的預測性亮度塊、Cb塊以及Cr塊。在單色圖片或具有三個單獨色彩平面的圖片中,PU可包括單個預測塊和用以預測預測塊的語法結構。
視頻編碼器20可使用幀內預測或幀間預測來產生PU的預測性塊。預測性塊也可被稱作“預測性樣本塊”。如果視頻編碼器20使用幀內預測產生PU的預測性塊,那么視頻編碼器20可基于與PU相關聯的圖片的經解碼樣本來產生PU的預測性塊。在本發明中,在一些情況下,“基于”可解釋為“至少部分地基于”。
如果視頻編碼器20使用幀間預測產生PU的預測性塊,那么視頻編碼器20可基于除與PU相關聯的圖片以外的一或多個圖片的經解碼樣本產生PU的預測性塊。視頻編碼器20可使用單向預測或雙向預測來產生PU的預測性塊。當視頻編碼器20使用單向預測來產生PU的預測性塊時,PU可具有單個運動向量。當視頻編碼器20使用雙向預測來產生PU的預測性塊時,PU可具有兩個運動向量。
在視頻編碼器20產生CU的一或多個PU的預測性塊(例如,預測性亮度塊、Cb塊和Cr塊)之后,視頻編碼器20可產生CU的殘差塊。所述殘差塊中的每一樣本指示CU的預測性塊中的一者中的樣本與CU的原始譯碼塊中的一者中的對應樣本之間的差異。舉例來說,視頻編碼器20可產生CU的亮度殘差塊。CU的亮度殘差塊中的每個樣本指示CU的預測性亮度塊中的一者中的亮度樣本與CU的原始亮度譯碼塊中的對應樣本之間的差異。另外,視頻編碼器20可產生CU的Cb殘差塊。CU的Cb殘差塊中的每一樣本可指示CU的預測性Cb塊中的一者中的Cb樣本與CU的原始Cb譯碼塊中對應的樣本之間的差異。視頻編碼器20還可產生CU的Cr殘差塊。CU的Cr殘差塊中的每一樣本可指示CU的預測性Cr塊中的一者中的Cr樣本與CU的原始Cr譯碼塊中的對應樣本之間的差異。
此外,視頻編碼器20可使用四叉樹分區將CU的殘差塊(例如,亮度、Cb和Cr殘差塊)分解為一或多個變換塊(例如,亮度、Cb和Cr變換塊)。變換塊可為其上應用相同變換的樣本的矩形塊。CU的變換單元(TU)可為亮度樣本的變換塊、色度樣本的兩個對應的變換塊,以及用以對變換塊樣本進行變換的語法結構。因此,CU的每一TU可對應于亮度變換塊、Cb變換塊以及Cr變換塊。與TU相關聯的亮度變換塊可為CU的亮度殘差塊的子塊。Cb變換塊可為CU的Cb殘差塊的子塊。Cr變換塊可為CU的Cr殘差塊的子塊。在單色圖片或具有三個單獨色彩平面的圖片中,TU可包括單個變換塊以及用以對變換塊的樣本進行變換的語法結構。
視頻編碼器20可將一或多個變換應用于變換塊從而產生TU的系數塊。系數塊可為變換系數的二維陣列。變換系數可為標量。舉例來說,視頻編碼器20可將一或多個變換應用于TU的亮度變換塊以產生TU的亮度系數塊。視頻編碼器20可將一或多個變換應用于TU的Cb變換塊以產生TU的Cb系數塊。視頻編碼器20可將一或多個變換應用于TU的Cr變換塊以產生TU的Cr系數塊。
在產生系數塊(例如,亮度系數塊、Cb系數塊或Cr系數塊)之后,視頻編碼器20可量化所述系數塊。量化總體上是指對變換系數進行量化以可能減少用以表示變換系數的數據的量從而提供進一步壓縮的過程。在視頻編碼器20量化系數塊之后,視頻編碼器20可對指示經量化變換系數的語法元素進行熵編碼。舉例來說,視頻編碼器20可對指示經量化變換系數的語法元素執行上下文自適應二進制算術譯碼(CABAC)。視頻編碼器20可在位流中輸出經熵編碼語法元素。位流還可包含未經熵編碼的語法元素。
視頻編碼器20可輸出包含經熵編碼的語法元素的位流。所述位流可包含形成經譯碼圖片和相關聯數據的表示的位序列。換句話說,所述位流可包括視頻數據的經編碼表示。所述位流可包括一連串網絡抽象層(NAL)單元。所述NAL單元中的每一者包含NAL單元標頭且封裝原始字節序列有效負載(RBSP)。所述NAL單元標頭可包含指示NAL單元類型代碼的語法元素。由NAL單元的NAL單元標頭指定的所述NAL單元類型代碼指示NAL單元的類型。RBSP可為含有包封在NAL單元內的整數數目個字節的語法結構。在一些情況下,RBSP包含零個位元。
不同類型的NAL單元可包封不同類型的RBSP。舉例來說,第一類型的NAL單元可囊封用于圖片參數集(PPS)的RBSP,第二類型的NAL單元可囊封用于經譯碼切片的RBSP,第三類型的NAL單元可囊封用于補充增強信息(SEI)的RBSP,等等。包封用于視頻譯碼數據的RBSP(相對于用于參數集和SEI消息的RBSP)的NAL單元可被稱為視頻譯碼層(VCL)NAL單元。SEI可含有不是從VCL NAL單元解碼經譯碼圖片的樣本所必需的信息(例如由其構成)。SEI RBSP可含有一或多個SEI消息。
VPS是包括應用于零個或更多個完整經譯碼視頻序列(CVS)的語法元素的語法結構。序列參數集(SPS)也是包括應用于零個或多個完整CVS的語法元素的語法結構。SPS可包含識別在SPS在作用中時在作用中的VPS的語法元素。因此,VPS的語法元素可比SPS的語法元素更一般地適用。圖片參數集合(PPS)是包括應用于零個或多個完整經譯碼圖片的語法元素的語法結構。PPS可包含識別在PPS在作用中時在作用中的SPS的語法元素。切片的切片標頭可包含指示當切片正被譯碼時在作用中的PPS的語法元素。
視頻解碼器30可接收由視頻編碼器20產生的位流。另外,視頻解碼器30可剖析所述位流以從所述位流中獲得(例如,解碼)語法元素。視頻解碼器30可至少部分地基于從位流解碼的語法元素重構視頻數據的圖片。用于重構視頻數據的過程通常可與由視頻編碼器20執行的過程互逆。
舉例來說,視頻解碼器30可使用PU的運動向量來確定當前CU的PU的預測性塊。另外,視頻解碼器30可逆量化與當前CU的TU相關聯的變換系數塊。視頻解碼器30可對變換系數塊執行逆變換以重構與當前CU的TU相關聯的變換塊。通過將用于當前CU的PU的預測性樣本塊的樣本添加到當前CU的TU的變換塊的對應樣本,視頻解碼器30可重構當前CU的譯碼塊。通過重構用于圖片的每一CU的譯碼塊,視頻解碼器30可重構圖片。
在一些實例中,視頻編碼器20和視頻解碼器30可經配置以執行基于調色板的譯碼。舉例來說,在基于調色板的譯碼中,視頻編碼器20和視頻解碼器30可將所謂的調色板譯碼為用于表示特定區域(例如給定塊)的視頻數據的色彩表。每一像素可與調色板中表示所述像素的至少一個樣本的條目相關聯。舉例來說,視頻編碼器20和視頻解碼器30可譯碼像素的索引,其識別指定所述像素的一或多個樣本的調色板條目。在一些實例中,“像素值”是單一色彩分量(例如亮度、Cb、Cr)的單一樣本值。在其它實例中,“像素值”是多個樣本值(例如亮度樣本值、Cb樣本值和Cr樣本值)。
視頻編碼器20可在CU層級發信號通知調色板相關語法元素。舉例來說,如果使用調色板模式來編碼CU,所述CU可包含一或多個palette_coding_component語法結構。palette_coding_component語法結構的語法在下文的表1中再現。
表1
以下段落描述表1中的語法元素的示范性語義。
previous_palette_entry_flag[i]等于1指定來自先前使用的調色板的調色板條目是復制的。previous_palette_entry_flag[i]等于0指定來自先前使用的調色板的調色板條目不是復制的。previousPaletteSize是在調色板模式下解碼的先前CU的調色板的大小。對于每一CTB行以及切片的第一解碼的調色板CU,將變量previousPaletteSize設定成等于0。
palette_num_signalled_entries指定針對當前CU明確發信號通知的調色板中的條目數目。當palette_num_signalled_entries不存在時,推斷其等于0。
palette_entries[cIdx][i]指定用于色彩分量cIdx的調色板中的第i個元素。陣列previousPaletteEntries等于在調色板模式下解碼的最后一個CU的陣列palette_entries。
palette_escape_val指定轉義像素值。
palette_run_type_flag等于1指定解碼過程是COPY_ABOVE_MODE,其中經解碼的像素值等于上方行中同一位置處的像素。palette_run_type_flag等于0指定解碼過程模式是INDEX_MODE,其中所述像素的調色板索引在位流中譯碼。當palette_run_type_flag不存在時,推斷其等于INDEX_MODE。
palette_index是指向調色板條目的索引。如果palette_index等于palette_size,那么將所述像素譯碼為ESCAPE_PIXEL。
palette_run在palette_run_type_flag等于COPY_ABOVE_MODE時指示連續位置的數目減1,具有與上方行中的位置相同的調色板索引,或在palette_run_type_flag等于INDEX_MODE時表示連續位置的數目減1,具有相同的調色板索引。
因此,在調色板模式下(即,基于調色板的譯碼),調色板可由表示可用作塊樣本的預測符或最終經重構塊樣本的色彩分量值的索引編號的條目構成。調色板中的每一條目可含有一個色彩分量(例如亮度值)或兩個分量(例如兩個色度值)或三個色彩分量(例如RGB、YUV等)的三元組。使用游程長度譯碼來譯碼調色板模式塊中的樣本。舉例來說,可使用三游程模式,包含“復制-左”(其在本文也可稱為“索引復制”)、“復制-上方”和“轉義”。見例如樸(Pu)等人的“SCCE3基礎軟件缺陷修正報告”,ITU-T SG 16WP 3和ISO/IEC JTC 1/SC 29/WG 11的視頻譯碼聯合合作小組(JCT-VC),第18次會議,日本札幌市,2014年6月30日到7月9日,文獻JCTVC-R0306(下文,“JCTVC-R0306-WD”)。
在一些實例中,視頻編碼器20可通過確定用于所述塊的調色板,定位所述調色板中的條目以表示每一項素的值,且用所述像素的使像素值與所述調色板相關的索引值來編碼所述調色板。視頻解碼器30可從經編碼位流獲得塊的調色板以及所述塊的像素的索引值。視頻解碼器30可使像素的索引值與調色板的條目相關以重構塊的像素值。
為了減少用以發信號通知調色板的位,可使用先前解碼的調色板條目來預測調色板中的條目(見(例如),JCTVC-R0306-WD,以及吉斯凱(Gisquet)等人,“SCCE3測試A.3:調色板填充”,ITU-T SG 16WP 3和ISO/IEC JTC 1/SC 29/WG 11的視頻譯碼聯合合作小組(JCT-VC),第18次會議,日本札幌市,2014年6月30日到7月9日,文獻JCTVC-R0082(下文,“JCTVC-R0082”)。先前解碼的調色板條目(在精簡掉重復條目之后)形成列表,被稱作調色板預測符列表。對于調色板預測符列表中的每一條目,使用一個二進位來指示對應條目是否在當前調色板中再用。這些二進位形成二進制向量。在JCTVC-R0306-WD中,此向量對應于語法元素previous_palette_entry_flag[i]。已開發了各種方法來壓縮此向量,例如卡克孜維茲(Karczewicz)等人的“SCCE3:測試A.8-對調色板預測向量發信號通知的改進”,ITU-T SG 16WP 3和ISO/IEC JTC 1/SC 29/WG 11的視頻譯碼聯合合作小組(JCT-VC),第18次會議,日本札幌市,2014年6月30日到7月9日,文獻JCTVC-R0063(下文,“JCTVC-R0063”)。
吉斯凱等人的“AhG10:調色板預測符填充”,ITU-T SG 16WP 3和ISO/IEC JTC 1/SC29/WG 11的視頻譯碼聯合合作小組(JCT-VC),第18次會議,日本札幌市,2014年6月30日到7月9日,文獻JCTVC-Q0063(下文,“JCTVC-Q0063”)提供如何產生調色板預測符列表的另一實例。在JCTVC-Q0063中,視頻譯碼器使用最后一個經譯碼調色板作為預測符。JCTVC-Q0063提出在此預測符的末尾填充來自當前預測符的未用值,如圖2中示出。圖2是說明實例調色板填充過程的概念圖。在圖2中,在已編碼CU1之后,可使預測符可用于CU2。當前,其為CU1的調色板。產生并譯碼指示預測符元素的再用的位旗標。CU2調色板將通常用作CU3的預測符。通過檢查來自CU2的調色板預測符的位旗標,有可能確定哪些元素尚未再用。將那些元素添加到所述預測符的末尾。
將額外元素包含在預測符中可為有益的,因為那些元素在過去實際上已出現過,且仍可出現。然而,那些額外元素再次出現的概率較低。通過此遞歸構造,產生預測符,其中元素在某種程度上按照概率來排序。另外,增加預測符的大小可有可能且有益,歸因于有效預測提供的高壓縮比。
明確地說,當預測符的大小比要預測的實際調色板大得多時,可發生以下情況,通過大部分在預測符的開頭的元素來預測所述調色板,如圖3中所描繪。圖3是說明實例預測旗標的概念圖。如在圖3中可看出,所述預測方案可具有受限的效率。典型的改進將為所述元素的CABAC譯碼,但這將要求對至少32個旗標的頻繁更新。所提出的JCTVC-Q0063改為添加中間旗標,被稱作“預測結束”,以指示何時無法再預測元素。然而,因為這添加較多旗標,所以其可導致旗標位圖的擴展。因此,可較好地將旗標插入在位圖中的特定位置處。
在一些情況下,在視頻解碼器30處,在解碼所有的previous_palette_entry_flag語法元素之后,調色板預測符列表中對應previous_palette_entry_flag等于1的條目放置在所述當前塊的調色板的開頭。換句話說,當前調色板可在邏輯上分成兩個區域。第一區域(下文命名為ZONE_P,其放置在開頭)由來自調色板預測符列表的再用條目組成。第二區域(下文命名為ZONE_T,其放置在第一區域之后)由新的調色板條目組成,其不在調色板預測符列表中且直接在位流中發信號通知。
調色板預測符列表并不包含用于先前經譯碼塊中的所謂的“轉義像素”。轉義像素是調色板經譯碼塊中存在的像素,但不包含于用于所述塊的調色板中。舉例來說,可直接發信號通知轉義像素,且在一些實例中,不預測性地譯碼所述轉義像素。可存在先前塊的轉義像素也用于所述當前塊中的較高可能,尤其是在那些轉義像素鄰近于所述當前塊的情況下。因此,在所述當前塊的調色板預測符列表中包含先前經譯碼塊的轉義像素中的至少一些可為有利的。如果此類轉義像素不包含在調色板預測符列表中,但用于所述當前塊中,那么此類像素可需要作為所述當前塊的額外調色板條目或所述當前塊的轉義像素來發信號通知。
本發明提出使用相鄰經重構像素(例如來自在所述當前塊正上方的一或多個行的像素(如果可用),以及在所述當前塊的緊靠左側的一或多個行(如果可用)),作為額外候選者調色板預測符來預測當前塊的調色板。為了避免混淆,本發明涉及基于先前塊的調色板的調色板預測符列表,例如用于JCTVC-Q0063中的調色板預測符列表,作為“原始調色板預測符列表”。
本發明提出使用相鄰經重構像素來構造另一調色板預測列表,在本文中被稱作“額外調色板預測符列表”。舉例來說,如果相鄰經重構像素指定樣本值3、5和7,那么視頻譯碼器可確定額外調色板預測符列表,其包含指定樣本值3、5和7的候選者(即,條目)。
舉例來說,視頻編碼器20可確定包含一或多個候選者的調色板預測符列表。在此實例中,調色板預測符列表中的每一相應候選者指定來自一或多個經重構相鄰像素之中的不同相應經重構相鄰像素的至少一個樣本值。在此實例中,所述一或多個經重構相鄰像素中的每一者在所述視頻數據的當前塊上方的行或左側的列中。此外,在此實例中,視頻編碼器20可在用于所述當前塊的調色板中包含所述調色板預測符列表中的至少一個候選者。在此實例中,視頻編碼器20可在位流中發信號通知指示用于所述當前塊的像素的索引值的一或多個語法元素,所述索引值對應于所述調色板中的條目。
在類似實例中,視頻解碼器30可確定包括一或多個候選者或由一或多個候選者組成的調色板預測符列表。在此實例中,調色板預測符列表中的每一相應候選者指定來自一或多個經重構相鄰像素之中的不同相應經重構相鄰像素的至少一個樣本值。在此實例中,所述一或多個經重構相鄰像素中的每一者在所述視頻數據的當前塊上方的行或左側的列中。此外,在此實例中,視頻解碼器30可在用于所述當前塊的調色板中包含所述調色板預測符列表中的至少一個候選者。在一些情況下,視頻解碼器30并不包含用于所述當前塊的調色板中的候選者中的任一者。視頻解碼器30還可基于在位流中發信號通知的一或多個語法元素來獲得所述當前塊的像素的索引值。舉例來說,所述一或多個語法元素可指定所述索引值。在另一實例中,視頻解碼器30可通過基于一或多個語法元素和特定規則推斷所述當前塊的所述像素的索引值,來獲得所述索引值。在此實例中,視頻解碼器30可識別對應于所述像素的索引值的調色板中的調色板條目。視頻解碼器30還可基于所識別的調色板條目所指定的至少一個樣本值來確定所述像素的至少一個經重構樣本值。
根據本發明的一些實例,假定“額外調色板預測符列表”中存在N(>=0或>0)個條目,視頻編碼器20可發信號通知二進制向量(例如二進制值陣列),在位流中,其大小等于N,以指示“額外調色板預測符列表”中的每一個別條目是否由所述當前塊再用。舉例來說,如果N等于5,那么視頻編碼器20可發信號通知二進制向量11101,以指示額外調色板預測符列表中的第一、第二、第三和第五候選者在所述當前塊中再用。如果候選者在所述當前塊中不再用,那么視頻譯碼器可省略來自所述當前塊的調色板的候選者。所述二進制向量可直接在位流中發射,或使用用以壓縮原始調色板預測符列表的方法來壓縮。
以此方式,視頻編碼器20可確定包括一或多個候選者的調色板預測符列表。調色板預測符列表中的每一相應候選者可指定來自一或多個經重構相鄰像素之中的不同經重構相鄰像素的值。所述一或多個經重構相鄰像素中的每一者在所述視頻數據的當前塊(例如CU、宏塊等)上方的行或左側的列中。此外,視頻編碼器20可在位流中發信號通知包括一或多個語法元素的二進制向量。所述一或多個語法元素中的每一者對應于所述調色板預測符列表中的不同候選者。對于所述調色板預測符列表中的每一相應候選者,如果對應于所述相應候選者的所述語法元素指示用于所述視頻數據的當前塊的調色板包含相應候選者所指定的值,那么所述調色板包含指定所述相應候選者所指定的值的調色板條目。如果對應于相應候選者的語法元素指示調色板不包含相應候選者所指定的值,那么所述調色板省略指定相應候選者所指定的值的調色板條目。此外,視頻編碼器20可在位流中發信號通知指示用于所述當前塊的樣本的索引值的一或多個語法元素,所述索引值對應于所述調色板中的條目。在一些實例中,用于所述當前塊的調色板中的調色板條目可指定殘差像素值。在其它實例中,所述當前塊的調色板條目可指定非殘差像素值。
此外,以此方式,視頻解碼器30可確定包括一或多個候選者的調色板預測符列表,所述調色板預測符列表中的每一相應候選者指定來自一或多個經重構相鄰像素之中的不同經重構相鄰像素的值,其中所述一或多個經重構相鄰像素中的每一者在所述視頻數據的當前塊(例如CU、宏塊等)上方的行或左側的列中。視頻解碼器30可從位流獲得包括一或多個語法元素的二進制向量,其中所述一或多個語法元素中的每一者對應于所述調色板預測符列表中的不同候選者。對于調色板預測符列表中的每一相應候選者,如果對應于所述相應候選者的語法元素指示用于所述視頻數據的當前塊的調色板包含所述相應候選者所指定的值,那么視頻解碼器30可在所述調色板中包含指定所述相應候選者所指定的值的調色板條目。如果對應于相應候選者的語法元素指示所述調色板不包含相應候選者所指定的值,那么視頻解碼器30可從所述調色板省略指定所述相應候選者所指定的值的調色板條目。此外,視頻解碼器30可基于在位流中發信號通知的一或多個額外語法元素,獲得所述當前塊的樣本的索引值。另外,視頻解碼器30可識別所述調色板中對應于所述樣本的索引值的調色板條目。視頻解碼器30可基于所識別的調色板條目所指定的像素值來確定所述樣本的經重構值。舉例來說,在一些實例中,所述樣本的經重構值可與所述所識別的調色板條目所指定的像素值匹配。在其它實例中,所述所識別的調色板條目所指定的像素值是殘差像素值,且視頻解碼器30可確定所述樣本的經重構值,使得所述樣本的經重構值等于所述調色板條目所指定的像素值與預測性塊的像素值的總和。
根據本發明的一或多種技術,一種視頻譯碼器可執行“額外調色板預測符列表”構建方法。在第一實例構建方法中,視頻譯碼器拾取到K(其中K>0)個相鄰經重構像素,從而形成“額外調色板預測符列表”。在一些實例中,K=5,且在圖4中,視頻譯碼器使用像素A0、A1、B0、B1和B2。圖4是說明用于額外調色板預測符列表的候選者像素的概念圖。舉例來說,如果像素A0、A1、B0、B1和B2分別指定樣本值5、10、15、20和25,那么視頻譯碼器可確定包含分別指定樣本值5、10、15、20和25的候選者的額外調色板預測符列表。因此,用于額外調色板預測列表中的經重構相鄰像素可包含以下各項中的至少一者:左下方經重構相鄰像素(即,A0)、左經重構相鄰像素(即,A1)、左上方經重構相鄰像素(即,B2)、上方經重構相鄰像素(即,B1)或右上方經重構相鄰像素(即,B0)。定義次序來對K個候選者進行分級。舉例來說,可將所述候選者排序為(B2、A0、B0、A1、B1)。可應用精簡過程來去除重復候選者。在精簡之后,如果存在少于K個候選者,那么可添加某些預定義候選者。舉例來說,可添加具有YUV值(0,0,0)的條目。作為另一實例,可添加具有YUV值(128,128,128)的條目。
視頻譯碼器可將冗余候選者從所述列表去除。在一些實例中,還可將列表中靠近本身之前的另一候選者的候選者從所述列表去除。舉例來說,如果額外調色板預測符列表中的另一候選者靠近所述特定候選者,那么所述視頻譯碼器可將特定候選者從所述額外調色板預測符列表去除。舉例來說,如果閾值距離是5,額外調色板預測符列表中的第一候選者所指定的樣本值是100,且額外調色板預測符列表中的第二候選者所指定的樣本值是99,那么視頻譯碼器可將第一或第二候選者從額外調色板預測符列表去除。可使用例如絕對差總和(SAD)或平方誤差總和(SSE)等度量來測量“靠近性”。
在另一實例構建方法中,視頻譯碼器根據其出現次數,對上方行和左側列中的像素或來自上方行和左側列的像素的子集進行分級。將高頻像素放置在額外調色板預測符列表中的低頻像素前面。因此,在一些實例中,作為確定額外調色板預測符列表的一部分,視頻譯碼器可根據所述多個所述經重構相鄰像素的樣本值的頻率,在額外調色板預測符列表內,對所述多個經重構相鄰像素中的兩個或更多個進行分級。舉例來說,如果額外調色板預測符列表包含候選者A、B、C和D,且候選者D對應于在相鄰像素之中出現兩次的樣本值,而候選者A,B和C對應于在相鄰像素中僅出現一次的樣本值,那么視頻譯碼器可在額外調色板預測符列表內對所述候選者進行分級,使得候選者D在候選者A,B和C之前。
此分級可基于以下假定,如果樣本值在所述相鄰像素之中較頻繁地使用,那么所述樣本值更有可能用于所述當前塊中。此外,因為指示調色板條目的索引值可表示為一元代碼,所以使更可能的樣本值與較小索引值相關聯可減小位流大小。因此,對在額外調色板預測符列表的開頭的更可能候選者進行分級可減小位流大小。
在一些實例中,如果額外調色板預測符列表中存在超過N個候選者,那么視頻譯碼器可應用列表截短過程來將所述候選者列表大小切割到N。因此,在一些實例中,作為確定額外調色板預測符列表的一部分,視頻譯碼器可截短額外調色板預測符列表,使得額外調色板預測符列表的大小限于特定數目的候選者。舉例來說,如果N為4,且額外調色板預測符列表包含候選者A、B、C、D、E和F,那么視頻譯碼器可截短額外調色板預測符列表,使得額外調色板預測符列表僅包含候選者A、B、C和D。
此外,在一些實例中,經重構相鄰像素可為“環路內濾波之前”值以減少解碼延遲。舉例來說,在確定調色板預測符列表之后,視頻譯碼器可將環路內濾波應用于一或多個經重構相鄰像素。
根據本發明的一或多種技術,在視頻譯碼器為所述當前塊構造額外調色板預測符列表和原始調色板預測符列表之后,視頻譯碼器可應用精簡過程。視頻譯碼器可在每塊基礎上構造額外調色板預測符列表。舉例來說,如果額外調色板預測符列表中的條目也包含于原始調色板預測符列表中,那么去除所述條目。此外,在一些實例中,如果額外調色板預測符列表中的所述條目與原始調色板預測符列表中的任何條目之間的最小距離在閾值內,那么去除此條目。舉例來說,如果距離是5,那么原始調色板預測符列表中的候選者所指定的樣本值是101,且額外調色板預測符列表中的候選者所指定的樣本值是99,視頻譯碼器可去除原始調色板預測符列表中的候選者或額外調色板預測符列表中的候選者。所述閾值可取決于量化參數。在一些實例中,所述距離可為SAD、SSE或其它度量。
在一些實例中,在解碼所述當前塊之后,額外調色板預測符列表中的條目可不合并到原始調色板預測符列表中。因此,在此些實例中,調色板預測符列表的候選者未包含在用以為在所述當前塊之后處理的視頻數據的塊確定調色板的調色板預測符列表。
根據本發明的一或多種技術,假定所述當前塊中來自額外調色板預測符列表的調色板條目形成名為ZONE_E的新區域。視頻譯碼器可根據以下實例中的一或多者來對三個區域進行排序。在第一實例中,視頻譯碼器將來自額外調色板預測符列表的條目放置到當前塊的調色板的開頭,接著是來自原始調色板預測符列表的調色板條目。換句話說,在此第一實例中,三個區域排序為ZONE_E、ZONE_P、ZONE_T。在第二實例中,視頻譯碼器將來自原始調色板預測符列表的條目放置到當前塊的調色板的開頭,接著是來自額外調色板預測符列表的調色板條目。換句話說,在此第二實例中,三個區域排序為ZONE_P、ZONE_E、ZONE_T。還可使用其它次序,例如ZONE_P、ZONE_T、ZONE_E。
圖5是說明可實施本發明的技術的實例視頻編碼器20的框圖。圖5是出于解釋的目的而提供,且不應被視為將技術限制為本發明中所大致例示和描述者。出于解釋的目的,本發明描述在HEVC譯碼的上下文中的視頻編碼器20。然而,本發明的技術可適用于其它譯碼標準或方法。
視頻編碼器20表示可經配置以執行根據本發明中描述的各種實例的用于基于調色板的視頻譯碼的技術的裝置的實例。舉例來說,視頻編碼器20可經配置以使用基于調色板的譯碼或非基于調色板的譯碼來選擇性對例如HEVC譯碼中的CU或PU等各種視頻數據塊進行譯碼。非基于調色板的譯碼模式可指代各種幀間預測性時間譯碼模式或幀內預測性空間譯碼模式,例如由HEVC版本1指定的各種譯碼模式。在一個實例中,視頻編碼器20可經配置以產生具有指示像素值的條目的調色板,選擇調色板中表示視頻數據塊的至少一些位置的像素值的像素值,且發信號通知使視頻數據塊的位置中的至少一些與調色板中分別對應于選定像素值的條目關聯的信息。發信號通知的信息可由視頻解碼器30使用以對視頻數據進行解碼。
在圖5的實例中,視頻編碼器20包含視頻數據存儲器101、預測處理單元100、殘差產生單元102、變換處理單元104、量化單元106、逆量化單元108、逆變換處理單元110、重構單元112、濾波器單元114、經解碼圖片緩沖器116和熵編碼單元118。預測處理單元100包含幀間預測處理單元120和幀內預測處理單元126。幀間預測處理單元120可包含運動估計單元和運動補償單元(未圖示)。視頻編碼器20還包含基于調色板的編碼單元122,其經配置以執行本發明中描述的基于調色板的譯碼技術的各種方面。在其它實例中,視頻編碼器20可包括更多、更少或不同功能組件。
視頻數據存儲器101可存儲待由視頻編碼器20的組件編碼的視頻數據。可例如從視頻源18獲得存儲在視頻數據存儲器101中的視頻數據。經解碼圖片緩沖器116可為參考圖片存儲器,其存儲用于由視頻編碼器20(例如)以幀內或幀間譯碼模式編碼視頻數據的參考視頻數據。視頻數據存儲器101和經解碼圖片緩沖器116可由多種存儲器裝置中的任一者形成,例如動態隨機存取存儲器(DRAM),包含同步DRAM(SDRAM)、磁阻式RAM(MRAM)、電阻式RAM(RRAM)或其它類型的存儲器裝置。視頻數據存儲器101和經解碼圖片緩沖器116可由相同存儲器裝置或單獨存儲器裝置提供。在各種實例中,視頻數據存儲器101可與視頻編碼器20的其它組件一起在芯片上,或相對于所述組件在芯片外。
視頻編碼器20可接收視頻數據。視頻編碼器20可對視頻數據的圖片的切片中的每個CTU進行編碼。CTU中的每一者可與圖片的大小相等的亮度譯碼樹塊(CTB)以及對應的CTB相關聯。作為對CTU進行編碼的一部分,預測處理單元100可執行四叉樹分割以將CTU的CTB劃分為逐漸更小的塊。較小塊可為CU的譯碼塊。舉例來說,預測處理單元100可將與CTU相關聯的CTB分割成四個大小相等的子塊,將子塊中的一或多者分割成四個大小相等的子子塊等。
視頻編碼器20可對CTU的CU進行編碼以產生CU的經編碼表示(即,經譯碼的CU)。作為對CU進行編碼的一部分,預測處理單元100可在CU的一或多個PU當中分割與CU相關聯的譯碼塊。因此,每一PU可與亮度預測塊和對應的色度預測塊相關聯。視頻編碼器20和視頻解碼器30可支持具有各種大小的PU。如上文所指示,CU的大小可指CU的亮度譯碼塊的大小,并且PU的大小可指PU的亮度預測塊的大小。假定特定CU的大小為2Nx2N,視頻編碼器20和視頻解碼器30可支持用于幀內預測的2Nx2N或N×N的PU大小,以及用于幀間預測的2Nx2N、2NxN、Nx2N、NxN或類似大小的對稱PU大小。視頻編碼器20以及視頻解碼器30還可支持用于幀間預測的2NxnU、2NxnD、nLx2N以及nRx2N的PU大小的非對稱分割。
幀間預測處理單元120可通過對CU的每個PU執行幀間預測來產生用于PU的預測性數據。PU的預測性數據可包含PU的預測性塊和PU的運動信息。幀間預測處理單元120可取決于PU是在I切片、P切片還是B切片中而對CU的PU執行不同操作。在I切片中,所有PU都是經幀內預測的。因此,如果PU是在I切片中,那么幀間預測處理單元120不對PU執行幀間預測。因此,對于在I模式下編碼的塊,使用來自同一幀內的經先前編碼的相鄰塊的空間預測來形成經預測塊。
如果PU在P切片中,那么幀間預測處理單元120的運動估計單元可搜索參考圖片列表(例如,“RefPicList0”)中的參考圖片是否有用于PU的參考區。PU的參考區可為參考圖片內含有最緊密對應于PU的預測塊的樣本塊的區。幀間預測處理單元120可產生指示含有用于PU的參考區的參考圖片的RefPicList0中的位置的參考索引。另外,幀間預測處理單元120可產生指示PU的預測塊和與參考區相關聯的參考位置之間的空間位移的運動向量。舉例來說,所述運動向量可為指示從當前經解碼圖片中的坐標到參考圖片中的坐標的偏移的二維向量。幀間預測處理單元120可將參考索引和運動向量作為PU的運動信息輸出。幀間預測處理單元120的幀間預測處理單元120可基于在由PU的運動向量指示的參考位置處的實際或經內插樣本而產生PU的預測性塊。
如果PU是在B切片中,那么幀間預測處理單元120可對PU執行單向預測或雙向預測。為了對PU執行單向預測,幀間預測處理單元120可搜索RefPicList0或第二參考圖片列表(“RefPicList1”)的參考圖片,以尋找用于所述PU的參考區。幀間預測處理單元120可輸出指示RefPicList0或RefPicList1中含有參考區的參考圖片的位置的參考索引、指示PU的樣本塊和與所述參考區相關聯的參考位置之間的空間位移的運動向量,以及指示參考圖片是在RefPicList0中還是RefPicList1中的一或多個預測方向指示符,作為PU的運動信息。幀間預測處理單元120可至少部分地基于由PU的運動向量指示的參考區處的實際或經內插樣本產生PU的預測性塊。
為了對PU執行雙向幀間預測,幀間預測處理單元120可搜索RefPicList0中的參考圖片以尋找用于所述PU的參考區,并且還可搜索RefPicList1中的參考圖片以尋找用于所述PU的另一參考區。幀間預測處理單元120可產生指示RefPicList0和RefPicList1中含有參考區的參考圖片的位置的參考圖片索引。另外,幀間預測處理單元120可產生指示與參考區相關聯的參考位置與PU的預測塊之間的空間位移的運動向量。PU的運動信息可包含PU的參考索引和運動向量。幀間預測處理單元120可至少部分地基于由PU的運動向量指示的參考區處的實際或經內插樣本產生PU的預測性塊。
根據本發明的各種實例,視頻編碼器20可經配置以執行基于調色板的譯碼。相對于HEVC構架,作為一實例,基于調色板的譯碼技術可經配置以用作CU模式。在其它實例中,基于調色板的譯碼技術可經配置以用作HEVC的框架中的PU模式。因此,本文在CU模式的上下文中描述的所揭示過程(貫穿本發明)可另外或替代地適用于PU。然而,這些基于HEVC的實例不應被視為對本文所描述的基于調色板的譯碼技術的限定或限制,因為可應用此些技術來獨立地工作或作為其它現有或尚待開發的系統/標準的部分而應用。在這些情況下,用于調色板譯碼的單元可為正方形塊、矩形塊或甚至非矩形形狀的區。
舉例來說,基于調色板的編碼單元122可例如對CU或PU執行基于調色板的編碼。舉例來說,基于調色板的編碼單元122可經配置以:產生包含條目的調色板,所述條目各自指示至少一個樣本值;選擇調色板中的樣本值來表示視頻數據塊的至少一些位置的樣本值;且發信號通知使視頻數據塊的位置中的至少一些與調色板中分別對應于選定像素值的條目關聯的信息。雖然將各種功能描述為由基于調色板的編碼單元122執行,但此類功能中的一些或全部可由其它處理單元或不同處理單元的組合執行。在其它實例中,基于調色板的編碼單元122可在預測處理單元100外部。
根據本發明的一些實例,基于調色板的編碼單元122可確定包含一或多個候選者或由一或多個候選者組成的調色板預測符列表。所述調色板預測符列表中的每一相應候選者可指定來自一或多個經重構相鄰像素之中的不同相應經重構相鄰像素的至少一個樣本值。所述一或多個經重構相鄰像素中的每一者可在所述視頻數據的當前塊上方的行或左側的列中。基于調色板的編碼單元122可在用于當前塊的調色板中包含調色板預測符列表中的至少一個候選者。此外,基于調色板的編碼單元122可在位流中發信號通知指示所述當前塊內的像素位置的索引值的一或多個語法元素,所述索引值對應于所述調色板中的條目。
幀內預測處理單元126可通過對PU執行幀內預測來產生PU的預測性數據。PU的預測性數據可包含PU的預測性塊和各種語法元素。幀內預測處理單元126可對I切片、P切片以及B切片中的PU執行幀內預測。
為了對PU執行幀內預測,幀內預測處理單元126可使用多個幀內預測模式來產生PU的多組預測性數據。在一些實例中,幀內預測處理單元126可基于相鄰塊中的參考樣本的值來確定預測性塊的樣本。假定對于PU、CU和CTU采用從左到右、從上到下的編碼次序,相鄰PU可在所述PU的上方、右上方、左上方或左方。幀內預測處理單元126可使用各種數目的幀內預測模式,例如,33個定向幀內預測模式。在一些實例中,幀內預測模式的數目可取決于與PU相關聯的區的大小。
預測處理單元100可從PU的由幀間預測處理單元120產生的預測性數據或PU的由幀內預測處理單元126產生的預測性數據當中選擇CU的PU的預測性數據。在一些實例中,預測處理單元100基于預測性數據集合的速率/失真量度選擇CU的PU的預測性數據。所選預測性數據的預測性塊在本文中可被稱作所選預測性塊。
殘差產生單元102可基于CU的譯碼塊(例如,亮度譯碼塊、Cb譯碼塊和Cr譯碼塊)和CU的PU的所選預測性塊(例如,預測性亮度塊、Cb塊和Cr塊)產生CU的殘差塊(例如,亮度殘差塊、Cb殘差塊和Cr殘差塊)。舉例來說,殘差產生單元102可產生CU的殘差塊,使得殘差塊中的每一樣本具有等于CU的譯碼塊中的樣本與CU的PU的對應選定預測性樣本塊中的對應樣本之間的差的值。
變換處理單元104可執行四叉樹分割以將與CU相關聯的殘差塊分割成與CU的TU相關聯的變換塊。因此,TU可與亮度變換塊以及兩個色度變換塊相關聯。CU的TU的亮度變換塊以及色度變換塊的大小和位置可或可不基于CU的PU的預測塊的大小和位置。被稱為“殘差四叉樹”(RQT)的四叉樹結構可包含與所述區中的每一者相關聯的節點。CU的TU可對應于RQT的葉節點。
變換處理單元104可通過將一個或一個以上變換應用于TU的變換塊而產生用于CU的每一TU的變換系數塊。變換處理單元104可將各種變換應用于TU的變換塊。舉例來說,變換處理單元104可將離散余弦變換(DCT)、定向變換或概念上類似的變換應用于變換塊。在一些實例中,變換處理單元104并不將變換應用于變換塊。在此類實例中,變換塊可被視作變換系數塊。
量化單元106可量化系數塊中的變換系數。量化過程可減少與變換系數中的一些或全部相關聯的位深度。舉例來說,n位變換系數可在量化期間舍入到m位變換系數,其中n大于m。量化單元106可基于與CU相關聯的量化參數(QP)值來量化與CU的TU相關聯的系數塊。視頻編碼器20可通過調整與CU相關聯的QP值來調整應用于與CU相關聯的系數塊的量化的程度。量化可引入信息丟失,因此經量化的變換系數可具有比原始變換系數低的精度。
逆量化單元108和逆變換處理單元110可分別將逆量化和逆變換應用于系數塊,以從系數塊重構殘差塊。重構單元112可將經重構的殘差塊添加到來自由預測處理單元100產生的一或多個預測性樣本塊的對應樣本,以產生與TU相關聯的經重構變換塊。通過以此方式重構CU的每一TU的變換塊,視頻編碼器20可重構CU的譯碼塊。
濾波器單元114可執行一或多個去塊操作來減少與CU相關聯的譯碼塊中的成塊假影。在濾波器單元114對經重構譯碼塊執行一或多個去塊操作之后,經解碼圖片緩沖器116可存儲經重構譯碼塊。幀間預測處理單元120可使用含有經重構譯碼塊的參考圖片來對其它圖片的PU執行幀間預測。另外,幀內預測處理單元126可使用經解碼圖片緩沖器116中的經重構譯碼塊,以對處于與CU相同的圖片中的其它PU執行幀內預測。
熵編碼單元118可從視頻編碼器20的其它功能組件接收數據。舉例來說,熵編碼單元118可從量化單元106接收系數塊,并且可從預測處理單元100接收語法元素。熵編碼單元118可對數據執行一或多個熵編碼操作以產生經熵編碼的數據。舉例來說,熵編碼單元118可對數據執行CABAC操作、上下文自適應可變長度譯碼(CAVLC)操作、可變到可變(V2V)長度譯碼操作、基于語法的上下文自適應二進制算術譯碼(SBAC)操作、概率區間分割熵(PIPE)譯碼操作、指數哥倫布編碼操作或另一類型的熵編碼操作。視頻編碼器20可輸出包含由熵編碼單元118產生的經熵編碼的數據的位流。舉例來說,位流可包含表示用于CU的RQT的數據。
圖6是說明經配置以實施本發明的技術的實例視頻解碼器30的框圖。圖6是出于解釋的目的而提供,且并不將技術限制為本發明中所大致例示和描述者。出于解釋的目的,本發明描述在HEVC譯碼的上下文中的視頻解碼器30。然而,本發明的技術可適用于其它譯碼標準或方法。
視頻解碼器30表示經配置以執行根據本發明中描述的各種實例的用于基于調色板的視頻譯碼的技術的裝置的實例。舉例來說,視頻解碼器30可經配置以使用基于調色板的譯碼或非基于調色板的譯碼來選擇性地對例如HEVC譯碼中的CU或PU等各種視頻數據塊進行解碼。非基于調色板的譯碼模式可指代各種幀間預測性時間譯碼模式或幀內預測性空間譯碼模式,例如由HEVC版本1指定的各種譯碼模式。在一個實例中,視頻解碼器30可經配置以產生具有指示像素值的條目的調色板,接收使視頻數據塊的至少一些位置與調色板中的條目相關聯的信息,基于所述信息選擇調色板中的像素值,以及基于選定像素值重構塊的像素值。
在圖6的實例中,視頻解碼器30包含熵解碼單元150、視頻數據存儲器151、預測處理單元152、逆量化單元154、逆變換處理單元156、重構單元158、濾波器單元160和經解碼圖片緩沖器162。預測處理單元152包含運動補償單元164和幀內預測處理單元166。視頻解碼器30還包含基于調色板的解碼單元165,其經配置以執行本發明中描述的基于調色板的譯碼技術的各種方面。在其它實例中,視頻解碼器30可包含較多、較少或不同的功能組件。
視頻數據存儲器151可存儲待由視頻解碼器30的組件解碼的視頻數據,例如經編碼視頻位流。存儲在視頻數據存儲器151中的視頻數據可(例如)從信道16、從例如相機等本地視頻源、經由視頻數據的有線或無線網絡通信或者通過存取物理數據存儲媒體而獲得。視頻數據存儲器151可形成存儲來自經編碼視頻位流的經編碼視頻數據的經譯碼圖片緩沖器(CPB)。經解碼圖片緩沖器162可為存儲參考視頻數據以供在視頻解碼器30例如以幀內或幀間譯碼模式解碼視頻數據時使用的參考圖片存儲器。視頻數據存儲器151和經解碼圖片緩沖器162可由多種存儲器裝置中的任一者形成,例如動態隨機存取存儲器(DRAM),包含同步DRAM(SDRAM)、磁阻式RAM(MRAM)、電阻式RAM(RRAM)或其它類型的存儲器裝置。視頻數據存儲器151和經解碼圖片緩沖器162可由相同存儲器裝置或單獨的存儲器裝置提供。在各種實例中,視頻數據存儲器151可與視頻解碼器30的其它組件一起在芯片上,或相對于所述組件在芯片外。
經譯碼圖片緩沖器(CPB)可接收且存儲位流的經編碼視頻數據(例如,NAL單元)。熵解碼單元150可從CPB接收經編碼視頻數據(例如,NAL單元),且可剖析NAL單元以對語法元素進行解碼。熵解碼單元150可對NAL單元中的經熵編碼語法元素進行熵解碼。預測處理單元152、逆量化單元154、逆變換處理單元156、重構單元158和濾波器單元160可基于從位流提取的語法元素而產生經解碼視頻數據。
位流的NAL單元可包含經譯碼切片NAL單元。作為對位流進行解碼的一部分,熵解碼單元150可從經譯碼切片NAL單元提取語法元素并且對所述語法元素進行熵解碼。經譯碼切片中的每一者可包含切片標頭和切片數據。切片標頭可含有關于切片的語法元素。切片標頭中的語法元素可包含識別與含有切片的圖片相關聯的PPS的語法元素。
除了對來自位流的語法元素進行解碼之外,視頻解碼器30還可對未經分割的CU執行重構操作。為了對未經分割的CU執行重構操作,視頻解碼器30可對CU的每一TU執行重構操作。通過對CU的每一TU執行重構操作,視頻解碼器30可重構CU的殘差塊。
作為對CU的TU執行重構操作的一部分,逆量化單元154可逆量化(即,去量化)與TU相關聯的系數塊。逆量化單元154可使用與TU的CU相關聯的QP值來確定量化的程度,且同樣地確定逆量化單元154將應用的逆量化的程度。就是說,可通過調整當量化變換系數時所使用的QP的值來控制壓縮比,即用以表示原始序列以及經壓縮的序列的位的數目的比率。壓縮比還可取決于所使用的熵譯碼方法。
在逆量化單元154逆量化系數塊之后,逆變換處理單元156可將一或多個逆變換應用于系數塊以便產生與TU相關聯的殘差塊。舉例來說,逆變換處理單元156可將逆DCT、逆整數變換、逆卡忽南-拉維(Karhunen-Loeve)變換(KLT)、逆旋轉變換、逆定向變換或另一逆變換應用于變換系數塊。
如果使用幀內預測對PU進行編碼,那么幀內預測處理單元166可執行幀內預測以產生PU的預測性塊。幀內預測處理單元166可使用幀內預測模式來基于空間上相鄰的PU的預測塊而產生PU的預測性塊(例如預測性亮度、Cb和Cr塊)。幀內預測處理單元166可基于從位流解碼的一或多個語法元素確定用于PU的幀內預測模式。
預測處理單元152可基于從位流提取的語法元素來構造第一參考圖片列表(RefPicList0)和第二參考圖片列表(RefPicList1)。此外,如果使用幀間預測對PU進行編碼,那么熵解碼單元150可提取用于PU的運動信息。運動補償單元164可基于PU的運動信息來確定用于PU的一個或一個以上參考區。運動補償單元164可基于在PU的一或多個參考塊處的樣本塊而產生PU的預測性塊(例如,預測性亮度、Cb和Cr塊)。
重構單元158可使用CU的TU的變換塊(例如,亮度、Cb和Cr變換塊)以及CU的PU的預測性塊(例如,預測性亮度、Cb和Cr塊)(即,在適用時,幀內預測數據或幀間預測數據)來重構CU的譯碼塊(例如,亮度、Cb和Cr譯碼塊)。舉例來說,重構單元158可將變換塊(例如亮度、Cb和Cr變換塊)的樣本添加到預測性塊(例如預測性亮度、Cb和Cr塊)的對應樣本,來重構CU的譯碼塊(例如亮度、Cb和Cr譯碼塊)。
濾波器單元160可執行去塊操作以減少與CU的譯碼塊(例如,亮度、Cb和Cr譯碼塊)相關聯的成塊假影。視頻解碼器30可將CU的譯碼塊(例如,亮度、Cb和Cr譯碼塊)存儲在經解碼圖片緩沖器162中。經解碼圖片緩沖器162可提供參考圖片以用于后續運動補償、幀內預測以及在例如圖1的顯示裝置32等顯示裝置上的呈現。舉例來說,視頻解碼器30可基于經解碼圖片緩沖器162中的塊(例如,亮度、Cb和Cr塊)對其它CU的PU執行幀內預測或幀間預測操作。以此方式,視頻解碼器30可從位流提取有效系數塊的變換系數層級,對所述變換系數層級進行逆量化,對所述變換系數層級應用變換以產生變換塊,至少部分地基于變換塊產生譯碼塊并且輸出譯碼塊以供顯示。
當基于調色板的解碼模式經選擇(例如)用于CU或PU時,基于調色板的解碼單元165(例如)可執行基于調色板的解碼。舉例來說,基于調色板的解碼單元165可經配置以產生具有指示像素值的條目的調色板,接收使視頻數據塊的至少一些位置與調色板中的條目關聯的信息,基于所述信息選擇調色板中的像素值,且基于選定像素值重構塊的像素值。盡管將各種功能描述為由基于調色板的解碼單元165執行,但此類功能中的一些或全部可由其它處理單元或不同處理單元的組合來執行。
根據本發明的一些實例,基于調色板的解碼單元165可確定包含一或多個候選者或由一或多個候選者組成的調色板預測符列表。所述調色板預測符列表中的每一相應候選者可指定來自一或多個經重構相鄰像素之中的不同相應經重構相鄰像素的至少一個樣本值。所述一或多個經重構相鄰像素中的每一者可在所述視頻數據的當前塊上方的行或左側的列中。此外,基于調色板的解碼單元165可在用于所述當前塊的調色板中包含所述調色板預測符列表中的至少一個候選者。基于調色板的解碼單元165可基于在位流中發信號通知的一或多個語法元素來獲得所述當前塊的像素的索引值。此外,基于調色板的解碼單元165可識別所述調色板中對應于所述像素的索引值的調色板條目。另外,基于調色板的解碼單元165可基于所識別的調色板條目所指定的至少一個樣本值來確定所述像素的至少一個經重構樣本值。通過確定所述當前塊的像素的經重構樣本值,基于調色板的解碼單元165可重構所述當前塊。
圖7是說明根據本發明的技術的實例解碼操作的流程圖。提供本發明的流程圖作為實例。在其它實例中,流程圖中所示的操作可包含較多、較少或不同動作。此外,在其它實例中,可以不同次序或并行執行動作。圖7是從視頻解碼器30的上下文描述的,盡管還可使用其它類型的裝置或解碼器來執行圖7中所示的動作。
在圖7的實例中,視頻解碼器30確定包括一或多個候選者或其組成的調色板預測符列表(700)。所述調色板預測符列表中的每一相應候選者可指定來自一或多個經重構相鄰像素之中的不同相應經重構相鄰像素的至少一個樣本值。所述一或多個經重構相鄰像素中的每一者在所述視頻數據的當前塊上方的行或左側的列中。視頻解碼器30可在用于當前塊的調色板中包含調色板預測符列表中的至少一個候選者(702)。
此外,視頻解碼器30可基于在位流中發信號通知的一或多個語法元素(例如palette_index語法元素)獲得所述當前塊的像素的索引值(704)。另外,視頻解碼器30可識別所述調色板中對應于所述像素的索引值的調色板條目(706)。視頻解碼器30還可基于所識別的調色板條目所指定的至少一個樣本值來確定所述像素的至少一個經重構樣本值(708)。
圖8是說明根據本發明的技術的實例編碼操作的流程圖。圖7是從視頻編碼器20的上下文描述的,盡管還可使用其它類型的裝置或編碼器來執行圖8中所示的動作。在圖8的實例中,視頻編碼器20確定包括一或多個候選者或由其組成的調色板預測符列表(800)。在圖8的實例中,調色板預測符列表中的每一相應候選者指定來自一或多個經重構相鄰像素之中的不同相應經重構相鄰像素的至少一個值。此外,在圖8的實例中,所述一或多個經重構相鄰像素中的每一者鄰近于視頻數據的當前塊。
在圖8的實例中,視頻編碼器20可在用于當前塊的調色板中包含調色板預測符列表中的至少一個候選者(802)。視頻編碼器20在位流中發信號通知指示所述當前塊的像素的索引值的一或多個語法元素,所述索引值對應于所述調色板中的條目(804)。
圖9是說明根據本發明的技術的用于產生調色板的實例操作的流程圖。在圖9的實例中,視頻譯碼器(例如視頻編碼器或視頻解碼器)產生原始調色板預測符列表(900)。在本發明中別處詳細描述的圖10是視頻解碼器可用來產生原始調色板預測符列表的實例操作。在本發明中別處詳細描述的圖12是視頻編碼器可用來產生原始調色板預測符列表的實例操作。
此外,在圖9的實例中,視頻譯碼器產生額外調色板預測符列表(902)。在本發明中別處詳細描述的圖13是視頻編碼器產生額外調色板預測符列表的實例操作。在本發明中別處詳細描述的圖11是視頻解碼器產生額外調色板預測符列表的實例操作。
在圖9的實例中,視頻譯碼器將精簡過程應用于原始調色板預測符列表和額外調色板預測符列表(904)。在其它實例中,視頻譯碼器并不執行精簡過程。如果額外調色板預測符列表中的特定候選者與原始調色板預測符列表中的候選者匹配,所述精簡過程可將所述特定候選者從額外調色板預測符列表去除。此外,在一些實例中,作為應用精簡過程的一部分,視頻譯碼器基于額外調色板預測符列表中的第一候選者與原始調色板預測符列表中的第二候選者的相似性的度量,確定是否將第一候選者從額外調色板預測符列表去除。所述視頻譯碼器可響應于所述確定將第一候選者從額外調色板預測符列表去除。
此外,在圖9的實例中,視頻譯碼器從所述位流獲得指定一或多個額外調色板條目的語法元素(例如palette_entries語法元素)(906)。在圖9的實例中,視頻譯碼器將對應于原始調色板預測符列表、額外調色板預測符列表和額外調色板條目中的其余候選者的調色板條目包含在用于所述當前塊的調色板中(908)。在一些實例中,所述視頻譯碼器并不獲得指定額外調色板條目的任何語法元素,或將此類額外調色板條目包含在所述調色板中。
在一些實例中,視頻譯碼器對用于所述當前塊的調色板中的調色板條目如下排序:指定額外調色板預測符列表中的候選者的調色板條目、指定原始調色板預測符列表中的候選者的調色板條目,以及額外調色板條目。在其它實例中,視頻譯碼器將用于當前塊的調色板中的調色板條目如下排序:指定原始調色板預測符列表中的候選者的調色板條目、指定額外調色板預測符列表中的候選者的調色板條目,以及額外調色板條目。
圖10是說明根據本發明的技術的用以產生原始調色板預測符列表的視頻解碼器30的實例操作的流程圖。圖10是從視頻解碼器30的上下文描述的,盡管還可使用其它類型的裝置或解碼器來執行圖10中所示的動作。圖10的操作可為圖9的用以確定原始調色板預測符列表的動作900的實例。在圖10的實例中,對于先前經譯碼塊的每一相應調色板條目,視頻解碼器30將相應候選者包含在原始調色板預測符列表中(1000)。所述相應候選者將同一像素指定為相應調色板條目。因此,視頻解碼器30可確定原始調色板預測符列表,使得原始調色板預測符列表包括一或多個候選者,原始調色板預測符列表中的每一相應候選者指定調色板中用于視頻數據的先前經譯碼塊的調色板條目。在一些實例中,原始調色板預測符列表還可包含基于調色板中用于在先前經譯碼塊之前譯碼的塊的條目的一或多個候選者,如JCTVC-R0082中所描述。
此外,視頻解碼器30可從所述位流獲得用于原始調色板預測符列表的二進制向量(1002)。在圖10的實例中,用于原始調色板預測符列表的二進制向量包括一或多個二進制向量語法元素(例如previous_palette_entry_flag語法元素)。所述一或多個二進制向量語法元素中的每一者對應于原始調色板預測符列表中的不同候選者。
在圖10的實例中,視頻解碼器30可對原始調色板預測符列表中的每一相應候選者執行動作(1004)到(1008)。明確地說,視頻解碼器30可確定對應于原始調色板預測符列表中的相應候選者的二進制向量語法元素是否指示相應候選者在當前塊中再用(1004)。響應于確定對應于原始調色板預測符列表中的相應候選者的二進制向量語法元素指示相應候選者在所述當前塊中再用(1004的“是”),視頻解碼器30將相應候選者保持在原始調色板預測符列表中(1006)。否則,響應于確定對應于原始調色板預測符列表中的相應候選者的二進制向量語法元素指示相應候選者不在當前塊中再用(1004的“否”),視頻解碼器30將所述相應候選者從所述原始調色板預測符列表省略(1008)。舉例來說,二進制向量“01001…”指示原始調色板預測符列表中的第二和第五候選者保持在原始調色板預測符列表中,且原始調色板預測符列表中的第一、第三和第四候選者最后從原始調色板預測符列表省略。
因為視頻解碼器30將相應候選者從原始調色板預測符列表省略,所以視頻解碼器30有效地確定相應候選者不包含于當前塊的調色板中。因此,在圖10的實例中,對于原始調色板預測符列表中的每一相應候選者,視頻解碼器30可基于對應于原始調色板預測符列表中的相應候選者的二進制向量語法元素,確定原始調色板預測符列表中的相應候選者不包含于用于所述當前塊的調色板中。
圖11是說明根據本發明的技術的視頻解碼器30產生額外調色板預測符列表的實例操作的流程圖。盡管圖11是從視頻解碼器30的上下文描述的,但還可使用其它類型的裝置或解碼器來執行圖11中所示的動作。圖11的操作可為圖9的用以確定額外調色板預測符列表的動作902的實例。在圖11的實例中,對于當前塊上方的行或左側的列中的預定義相鄰像素集合中的每一相應相鄰像素,視頻解碼器30在額外調色板預測符列表中產生指定相應相鄰像素的值的相應候選者(1100)。
此外,視頻解碼器30可將冗余候選者從額外調色板預測符列表去除(1102)。舉例來說,視頻解碼器30可將匹配候選者從額外調色板預測符列表去除。在一個實例中,作為將冗余候選者從額外調色板預測符列表去除的一部分,視頻解碼器30可基于調色板預測符列表中的第一候選者與調色板預測符列表中的第二候選者的相似性度量來確定是否將第一候選者從調色板預測符列表去除。在此實例中視頻解碼器30可響應于所述確定將第一候選者從調色板預測符列表去除。
在圖11的實例中,視頻解碼器30可確定額外調色板預測符列表中的候選者的數目是否超過閾值(1104)。響應于確定額外調色板預測符列表中的候選者的數目超過閾值(1104的“是”),視頻解碼器30可截短額外調色板預測符列表,使得額外調色板預測符列表的大小限于候選者的特定數目(例如閾值)(1106)。響應于確定額外調色板預測符列表中的候選者的數目不超過閾值(1104的“否”),視頻解碼器30可制止截短額外調色板預測符列表(1108)。
另外,視頻解碼器30可從位流獲得用于額外調色板預測符列表的二進制向量(1110)。用于額外調色板預測符列表的二進制向量包含一或多個語法元素。所述一或多個語法元素中的每一者對應于所述調色板預測符列表中的不同候選者。
在圖11的實例操作中,視頻解碼器30可對額外調色板預測符列表中的每一相應候選者執行動作(1112)到(1116)。明確地說,視頻解碼器30確定對應于相應候選者的語法元素是否指示相應候選者在當前塊中再用(1112)。響應于確定對應于相應候選者的語法元素指示相應候選者在所述當前塊中再用(1112的“是”),視頻解碼器30將所述相應候選者保持在額外調色板預測符列表中(1114)。響應于確定對應于相應候選者的語法元素指示候選者不在所述當前塊中再用(1112的“否”),視頻解碼器30可將相應候選者從額外調色板預測符列表省略(1116)。舉例來說,二進制向量“01001…”指示額外調色板預測符列表中的第二和第五候選者(例如第二和第五相鄰經重構像素)保持在額外調色板預測符列表中,且額外調色板預測符列表中的第一、第三和第四候選者(例如第一、第三和第四相鄰經重構像素)最后從額外調色板預測符列表省略。
因為視頻解碼器30將相應候選者從額外調色板預測符列表省略,所以視頻解碼器30有效地確定相應候選者不包含于當前塊的調色板中。因此,在圖11的實例中,對于每一額外調色板預測符列表中的相應候選者,視頻解碼器30可基于對應于額外調色板預測符列表中的相應候選者的二進制向量語法元素,確定額外調色板預測符列表中的相應候選者不包含于用于所述當前塊的調色板中。
圖12是說明根據本發明的技術的視頻編碼器20產生原始調色板預測符列表的實例操作的流程圖。盡管圖12是從視頻編碼器20的上下文描述的,但還可使用其它類型的裝置或解碼器來執行圖12中所示的動作。圖12的操作可為圖9的用以確定原始調色板預測符列表的動作900的實例。在圖12的實例中,對于先前經譯碼塊的每一相應調色板條目,視頻編碼器20將相應候選者包含在原始調色板預測符列表中(1200)。所述相應候選者將同一像素指定為相應調色板條目。因此,視頻編碼器20可確定原始調色板預測符列表,使得原始調色板預測符列表包括一或多個候選者,原始調色板預測符列表中的每一相應候選者指定調色板中用于視頻數據的先前經譯碼塊的調色板條目。在一些實例中,原始調色板預測符列表還可包含基于調色板中用于在先前經譯碼塊之前譯碼的塊的條目的一或多個候選者,如JCTVC-R0082中所描述。
此外,視頻編碼器20可在位流中發信號通知用于原始調色板預測符列表的二進制向量(1202)。在圖12的實例中,用于原始調色板預測符列表的二進制向量包括一或多個二進制向量語法元素。所述一或多個二進制向量語法元素中的每一者對應于原始調色板預測符列表中的不同候選者。
在圖12的實例中,視頻編碼器20可對原始調色板預測符列表中的每一相應候選者執行動作(1204)到(1208)。明確地說,視頻編碼器20可確定對應于原始調色板預測符列表中的相應候選者的二進制向量語法元素是否指示相應候選者在當前塊中再用(1204)。響應于確定對應于原始調色板預測符列表中的相應候選者的二進制向量語法元素指示候選者在所述當前塊中再用(1204的“是”),視頻編碼器20將相應候選者保持在原始調色板預測符列表中(1206)。
否則,響應于確定對應于原始調色板預測符列表中的相應候選者的二進制向量語法元素指示候選者不在當前塊中再用(1204的“否”),視頻編碼器20將所述相應候選者從所述原始調色板預測符列表省略(1208)。因為視頻編碼器20將相應候選者從原始調色板預測符列表省略,所以視頻編碼器20有效地確定相應候選者不包含于當前塊的調色板中。因此,在圖12的實例中,對于原始調色板預測符列表中的每一相應候選者,視頻編碼器20可基于對應于原始調色板預測符列表中的相應候選者的二進制向量語法元素,確定原始調色板預測符列表中的相應候選者不包含于用于所述當前塊的調色板中。
圖13是說明根據本發明的技術的視頻編碼器20產生額外調色板預測符列表的實例操作的流程圖。盡管圖13是從視頻編碼器20的上下文描述的,但還可使用其它類型的裝置或解碼器來執行圖13所示的動作。圖13的操作可為圖9的用以確定額外調色板預測符列表的動作902的實例。在圖13的實例中,對于當前塊上方的行或左側的列中的預定義相鄰像素集合中的每一相應相鄰像素,視頻編碼器20在額外調色板預測符列表中產生指定相應相鄰像素的值的相應候選者(1300)。
此外,視頻編碼器20可將冗余候選者從額外調色板預測符列表去除(1302)。舉例來說,視頻編碼器20可將匹配候選者從額外調色板預測符列表去除。在一個實例中,作為將冗余候選者從額外調色板預測符列表去除的一部分,視頻編碼器20可基于調色板預測符列表中的第一候選者與調色板預測符列表中的第二候選者的相似性度量,確定是否將第一候選者從調色板預測符列表去除。在此實例中,視頻編碼器20可響應于所述確定,將第一候選者從調色板預測符列表去除。
在圖13的實例中,視頻編碼器20可確定額外調色板預測符列表中的候選者的數目是否超過閾值(1304)。響應于確定額外調色板預測符列表中的候選者的數目超過閾值(1304的“是”),視頻編碼器20可截短額外調色板預測符列表,使得額外調色板預測符列表的大小限于候選者的特定數目(例如閾值)(1306)。響應于確定額外調色板預測符列表中的候選者的數目不超過閾值(1304的“否”),視頻編碼器20可制止截短額外調色板預測符列表(1308)。
另外,視頻編碼器20可在位流中發信號通知用于額外調色板預測符列表的二進制向量(1310)。用于額外調色板預測符列表的二進制向量包含一或多個語法元素。所述一或多個語法元素中的每一者對應于所述調色板預測符列表中的不同候選者。
在圖13的實例操作中,視頻編碼器20可對額外調色板預測符列表中的每一相應候選者執行動作(1312)到(1316)。明確地說,視頻編碼器20確定對應于相應候選者的語法元素是否指示相應候選者在當前塊中再用(1312)。響應于確定對應于相應候選者的語法元素指示相應候選者在所述當前塊中再用(1312的“是”),視頻編碼器20將所述相應候選者保持在額外調色板預測符列表中(1314)。
響應于確定對應于相應候選者的語法元素指示候選者不在所述當前塊中再用(1312的“否”),視頻編碼器20可將相應候選者從額外調色板預測符列表省略(1316)。因為視頻編碼器20將相應候選者從額外調色板預測符列表省略,所以視頻編碼器20有效地確定相應候選者不包含于當前塊的調色板中。因此,在圖13的實例中,對于額外調色板預測符列表中的每一相應候選者,視頻編碼器20可基于對應于額外調色板預測符列表中的相應候選者的二進制向量語法元素,確定額外調色板預測符列表中的相應候選者不包含于用于所述當前塊的調色板中。
以下段落列出本發明的若干實例。
實例1.一種解碼視頻數據的方法,所述方法包括:確定包括一或多個候選者的調色板預測符列表,所述調色板預測符列表中的每一相應候選者指定來自一或多個經重構相鄰像素之中的不同經重構相鄰像素的值,其中所述一或多個經重構相鄰像素中的每一者鄰近于所述視頻數據的當前塊;從位流獲得包括一或多個語法元素的二進制向量,其中所述一或多個語法元素中的每一者對應于所述調色板預測符列表中的不同候選者;對于所述調色板預測符列表中的每一相應候選者:如果對應于相應候選者的語法元素指示用于視頻數據的當前塊的調色板包含相應候選者所指定的值,那么將指定由所述相應候選者所指定的所述值的調色板條目包含在所述調色板中;以及如果對應于相應候選者的語法元素指示所述調色板并不包含所述相應候選者所指定的值,那么將指定由所述相應候選者所指定的值的調色板條目從所述調色板省略;基于在位流中發信號通知的一或多個額外語法元素,獲得用于所述當前塊的樣本的索引值;識別所述調色板中對應于所述樣本的索引值的調色板條目;以及基于所識別的調色板條目所指定的像素值,確定所述樣本的經重構值。
實例2.根據實例1所述的方法,其中所述經重構相鄰像素包含來自所述當前塊上方的行的經重構相鄰像素。
實例3.根據實例1或2所述的方法,其中所述經重構相鄰像素包含來自所述當前塊左側的列的經重構相鄰像素。
實例4.根據實例1所述的方法,其中所述經重構相鄰像素包含以下各項中的至少一者:左下方經重構相鄰像素、左經重構相鄰像素,和左上方經重構相鄰像素、上方經重構相鄰像素或右上方經重構相鄰像素。
實例5.根據實例1所述的方法,其中所述經重構相鄰像素包含以下各項中的每一者:左下方經重構相鄰像素、左經重構相鄰像素,和左上方經重構相鄰像素、上方經重構相鄰像素和右上方經重構相鄰像素。
實例6.根據實例1到5中任一實例所述的方法,其中產生所述第一調色板預測符列表包括:將一或多個冗余候選者從第一調色板預測符列表去除。
實例7.根據實例1到6中任一實例所述的方法,其中產生第一調色板預測符列表包括:基于調色板預測符列表中的第一候選者與調色板預測符列表中的第二候選者的相似性的度量,確定是否將第一候選者從調色板預測符列表去除;以及響應于所述確定,將第一候選者從調色板預測符列表去除。
實例8.根據實例1到7中任一實例的方法,其中所述一或多個相鄰像素包含多個相鄰像素,且產生第一調色板預測符列表包括:根據所述多個經重構相鄰像素的值的頻率,對所述多個經重構相鄰像素中的兩個或更多個進行分級。
實例9.根據實例1到8中任一者所述的方法,其中確定所述調色板預測符列表包括:截短所述調色板預測符列表,使得所述調色板預測符列表的大小限于特定數目的候選者。
實例10.根據實例1到9中任一實例所述的方法,其中不將環路內濾波應用于調色板預測符列表中的候選者所指定的一或多個經重構相鄰像素的值。
實例11.根據實例1到10中任一實例所述的方法,其中所述調色板預測符列表是第一調色板預測符列表,且所述二進制向量是第一二進制向量,所述方法進一步包括:確定包括一或多個候選者的第二調色板預測符列表,所述第二調色板預測符列表中的每一相應候選者指定用于視頻數據的先前經譯碼塊的調色板中的調色板條目;從位流獲得第二二進制向量,所述第二二進制向量包括一或多個第二二進制向量語法元素,其中所述一或多個第二二進制向量語法元素中的每一者對應于第二調色板預測符列表中的不同候選者;以及對于第二調色板預測符列表中的每一相應候選者:如果對應于第二調色板預測符列表中的相應候選者的第二二進制向量語法元素指示用于所述當前塊的調色板包含相應候選者所指定的調色板條目,那么將所述相應候選者所指定的調色板條目包含在用于所述當前塊的調色板中;以及如果對應于第二調色板預測符列表中的相應候選者的第二二進制向量語法元素指示用于所述當前塊的調色板不包含所述相應候選者所指定的調色板條目,從用于所述當前塊的調色板省略所述相應候選者所指定的調色板條目。
實例12.根據實例11所述的方法,其進一步包括:將精簡過程應用于第一和第二調色板預測符列表。
實例13.根據實例12所述的方法,其中將精簡過程應用于第一和第二調色板預測符列表包括:如果第一調色板預測符列表中的特定候選者與第二調色板預測符列表中的候選者匹配,那么將所述特定候選者從第一調色板預測符列表去除。
實例14.根據實例12或13所述的方法,其中將精簡過程應用于第一和第二調色板預測符列表包括:基于第一調色板預測符列表中的第一候選者與第二調色板預測符列表中的第二候選者的相似性的度量,確定是否將第一候選者從第一調色板預測符列表去除;以及響應于所述確定,將所述第一候選者從所述第一調色板預測符列表去除。
實例15.根據實例11到14中任一者所述的方法,其進一步包括:從所述位流獲得指定一或多個額外調色板條目的語法元素;以及將所述一或多個額外調色板條目包含在用于所述當前塊的調色板中。
實例16.根據實例15所述的方法,其中用于所述當前塊的調色板中的調色板條目如下排序:指定第一調色板預測符列表中的候選者所指定的值的調色板條目、額外調色板條目,以及第二調色板預測符列表所指定的調色板條目。
實例17.根據實例15所述的方法,其中用于所述當前塊的所述調色板中的調色板條目如下排序:指定第一調色板預測符列表中的候選者所指定的值的調色板條目、第二調色板預測符列表所指定的調色板條目,以及額外調色板條目。
實例18.根據實例1到17中任一實例所述的方法,其中所述調色板預測符列表的候選者未包含在用以確定用于在所述當前塊之后處理的視頻數據的塊的調色板的調色板預測符列表中。
實例19.一種編碼視頻數據的方法,所述方法包括:確定包括一或多個候選者的調色板預測符列表,所述調色板預測符列表中的每一相應候選者指定一或多個經重構相鄰像素之中的不同經重構相鄰像素的值,其中所述一或多個經重構相鄰像素中的每一者鄰近于視頻數據的當前塊;在位流中發信號通知包括一或多個語法元素的二進制向量,其中所述一或多個語法元素中的每一者對應于調色板預測符列表中的不同候選者;對于調色板預測符列表中的每一相應候選者:如果對應于所述相應候選者的語法元素指示用于視頻數據的當前塊的調色板包含所述相應候選者所指定的值,那么所述調色板包含指定所述相應候選者所指定的值的調色板條目;以及如果對應于所述相應候選者的語法元素指示所述調色板并不包含所述相應候選者所指定的值,那么所述調色板省略指定所述相應候選者所指定的值的調色板條目;以及在位流中發信號通知指示所述當前塊的樣本的索引值的一或多個語法元素,所述索引值對應于所述調色板中的條目。
實例20.根據實例19所述的方法,其中所述經重構相鄰像素包含來自所述當前塊上方的行的經重構相鄰像素。
實例21.根據實例19或20所述的方法,其中所述經重構相鄰像素包含來自所述當前塊左側的列的經重構相鄰像素。
實例22.根據實例19所述的方法,其中所述經重構相鄰像素包含以下各項中的至少一者:左下方經重構相鄰像素、左經重構相鄰像素,以及左上方經重構相鄰像素、上方經重構相鄰像素或右上方經重構相鄰像素。
實例23.根據實例19所述的方法,其中所述經重構相鄰像素包含以下各項中的每一者:左下方經重構相鄰像素、左經重構相鄰像素,和左上方經重構相鄰像素、上方經重構相鄰像素和右上方經重構相鄰像素。
實例24.根據實例19到23中任一實例所述的方法,其中產生所述第一調色板預測符列表包括:將一或多個冗余候選者從第一調色板預測符列表去除。
實例25.根據實例19到24中任一實例所述的方法,其中產生第一調色板預測符列表包括:基于調色板預測符列表中的第一候選者與調色板預測符列表中的第二候選者的相似性的度量,確定是否將第一候選者從調色板預測符列表去除;以及響應于所述確定,將第一候選者從調色板預測符列表去除。
實例26.根據實例19到25中任一實例的方法,其中所述一或多個相鄰像素包含多個相鄰像素,且產生第一調色板預測符列表包括:根據所述多個經重構相鄰像素的值的頻率,對所述多個經重構相鄰像素中的兩個或更多個進行分級。
實例27.根據實例19到26中任一者所述的方法,其中確定所述調色板預測符列表包括:截短所述調色板預測符列表,使得所述調色板預測符列表的大小限于特定數目的候選者。
實例28.根據實例19到27中任一實例所述的方法,其中不將環路內濾波應用于調色板預測符列表中的候選者所指定的一或多個經重構相鄰像素的值。
實例29.根據實例19到28中任一者所述的方法,其中所述調色板預測符列表是第一調色板預測符列表,且所述二進制向量是第一二進制向量,所述方法進一步包括:確定包括一或多個候選者的第二調色板預測符列表,所述第二調色板預測符列表中的每一相應候選者指定用于視頻數據的先前經譯碼塊的調色板中的調色板條目;在位流中發信號通知第二二進制向量,所述第二二進制向量包括一或多個第二二進制向量語法元素,其中所述一或多個第二二進制向量語法元素中的每一者對應于第二調色板預測符列表中的不同候選者;以及對于第二調色板預測符列表中的每一相應候選者:如果對應于第二調色板預測符列表中的相應候選者的第二二進制向量語法元素指示用于所述當前塊的調色板包含相應候選者所指定的調色板條目,那么用于所述當前塊的調色板包含所述相應候選者所指定的調色板條目;以及如果對應于所述第二調色板預測符列表中的相應候選者的第二二進制向量語法元素指示用于所述當前塊的調色板并不包含所述相應候選者所指定的調色板條目,那么所述當前塊的調色板省略所述相應候選者所指定的調色板條目。
實例30.根據實例29所述的方法,其進一步包括:將精簡過程應用于第一和第二調色板預測符列表。
實例31.根據實例30所述的方法,其中將精簡過程應用于第一和第二調色板預測符列表包括:如果第一調色板預測符列表中的特定候選者與第二調色板預測符列表中的候選者匹配,那么將所述特定候選者從第一調色板預測符列表去除。
實例32.根據實例30或31所述的方法,其中將精簡過程應用于第一和第二調色板預測符列表包括:基于第一調色板預測符列表中的第一候選者與第二調色板預測符列表中的第二候選者的相似性的度量,確定是否將第一候選者從第一調色板預測符列表去除;以及響應于所述確定,將所述第一候選者從所述第一調色板預測符列表去除。
實例33.根據實例29到32中任一實例所述的方法,其進一步包括:將一或多個額外調色板條目包含在用于所述當前塊的調色板中;以及在位流中發信號通知指定一或多個額外調色板條目的語法元素。
實例34.根據實例33所述的方法,其中用于所述當前塊的調色板中的調色板條目如下排序:指定第一調色板預測符列表中的候選者所指定的值的調色板條目、額外調色板條目,以及第二調色板預測符列表所指定的調色板條目。
實例35.根據實例33所述的方法,其中用于所述當前塊的所述調色板中的調色板條目如下排序:指定第一調色板預測符列表中的候選者所指定的值的調色板條目、第二調色板預測符列表所指定的調色板條目,以及額外調色板條目。
實例36.根據權利要求19到35中任一實例所述的方法,其中所述調色板預測符列表的候選者未包含在用以確定用于在所述當前塊之后處理的視頻數據的塊的調色板的調色板預測符列表中。
實例37.一種經配置以解碼視頻數據的裝置,所述裝置包括:存儲器,其經配置以存儲所述視頻數據;以及一或多個處理器,其經配置以執行根據實例1到18中任一實例所述的方法。
實例38.一種經配置以編碼視頻數據的裝置,所述裝置包括:存儲器,其經配置以存儲所述視頻數據;以及一或多個處理器,其經配置以執行根據實例19到36中任一實例所述的方法。
實例39.一種經配置以解碼視頻數據的裝置,所述裝置包括用于執行根據實例1到18中任一實例所述的方法的裝置。
實例40.一種經配置以編碼視頻數據的裝置,所述裝置包括用于執行根據實例19到36中任一實例所述的方法的裝置。
實例41.一種上面存儲有指令的計算機可讀存儲媒體,所述指令在被執行時致使裝置的所述一或多個處理器執行根據實例1到18中任一實例所述的方法。
實例42.一種上面存儲有指令的計算機可讀存儲媒體,所述指令在被執行時致使裝置的所述一或多個處理器執行根據實例19到36中任一實例所述的方法。
應認識到,取決于實例,本文中所描述的技術中的任一者的某些動作或事件可用不同序列來執行,可添加、合并或全部省略(例如,實踐所述技術未必需要所有的所描述動作或事件)。此外,在某些實例中,可例如經由多線程處理、中斷處理或多個處理器同時而非循序執行動作或事件。另外,雖然為了清晰起見,將本發明的某些方面描述為是由單個模塊或單元執行,但應理解,本發明的技術可由與視頻譯碼器相關聯的單元或模塊的組合執行。
出于說明的目的,已經相對于HEVC標準而描述了本發明的某些方面。然而,本發明中描述的技術可有用于其它視頻譯碼過程,包含尚未開發的其它標準或專有視頻譯碼過程。
上文所描述的技術可由視頻編碼器20(圖1和5)和/或視頻解碼器30(圖1和6)執行,其兩者可通常被稱作視頻譯碼器。同樣地,在適用時,視頻譯碼可指視頻編碼或視頻解碼。
雖然在上文描述所述技術的各種方面的特定組合,但提供這些組合僅為了說明本發明中描述的技術的實例。因此,本發明的技術不應限于這些實例組合,而是可涵蓋本發明中描述的技術的各種方面的任何可設想的組合。
在一個或一個以上實例中,所描述功能可硬件、軟件、固件或其任何組合來實施。如果用軟件實施,那么所述功能可作為一或多個指令或代碼在計算機可讀媒體上存儲或傳輸,且由基于硬件的處理單元執行。計算機可讀媒體可包含計算機可讀存儲媒體,其對應于例如數據存儲媒體等有形媒體,或包含任何促進將計算機程序從一處傳送到另一處的任何媒體(例如,根據一種通信協議)的通信媒體。以此方式,計算機可讀媒體通常可以對應于(1)有形計算機可讀存儲媒體,其是非暫時的,或(2)通信媒體,例如信號或載波。數據存儲媒體可為可由一或多個計算機或一個或多個處理器存取以檢索用于實施本發明中描述的技術的指令、代碼和/或數據結構的任何可用媒體。計算機程序產品可包含計算機可讀媒體。
作為實例而非限制,此類計算機可讀存儲媒體可包括RAM、ROM、EEPROM、CD-ROM或其它光盤存儲裝置、磁盤存儲裝置或其它磁性存儲裝置、快閃存儲器或可用來存儲指令或數據結構的形式的期望程序代碼并且可由計算機存取的任何其它媒體。并且,任何連接被恰當地稱作計算機可讀媒體。舉例來說,如果使用同軸纜線、光纖纜線、雙絞線、數字訂戶線(DSL)或例如紅外線、無線電和微波等無線技術從網站、服務器或其它遠程源傳輸指令,那么同軸纜線、光纖纜線、雙絞線、DSL或例如紅外線、無線電和微波等無線技術包含在媒體的定義中。但是,應理解,所述計算機可讀存儲媒體和數據存儲媒體并不包括連接、載波、信號或其它暫時媒體,而是實際上針對于非暫時性有形存儲媒體。如本文中所使用,磁盤和光盤包含壓縮光盤(CD)、激光光盤、光學光盤、數字多功能光盤(DVD)、軟性磁盤和藍光光盤,其中磁盤通常以磁性方式再現數據,而光盤利用激光以光學方式再現數據。以上各項的組合也應包含在計算機可讀媒體的范圍內。
指令可由一或多個處理器執行,所述一或多個處理器例如為一或多個數字信號處理器(DSP)、通用微處理器、專用集成電路(ASIC)、現場可編程門陣列(FPGA)、或其它等效的集成或離散邏輯電路。因此,如本文中所使用的術語“處理器”可指前述結構或適合于實施本文中所描述的技術的任一其它結構中的任一者。另外,在一些方面中,本文中所描述的功能性可在經配置以用于編碼和解碼的專用硬件和/或軟件模塊內提供,或者并入在組合編解碼器中。而且,所述技術可完全實施于一或多個電路或邏輯元件中。
本發明的技術可在廣泛多種裝置或設備中實施,包含無線手持機、集成電路(IC)或一組IC(例如,芯片組)。本發明中描述各種組件、模塊或單元是為了強調經配置以執行所公開的技術的裝置的功能方面,但未必需要由不同硬件單元實現。實際上,如上文所描述,各種單元可結合合適的軟件和/或固件組合在編碼解碼器硬件單元中,或者通過互操作硬件單元的集合來提供,所述硬件單元包含如上文所描述的一或多個處理器。
已描述了各種實例。這些和其它實例在所附權利要求書的范圍內。