本申請案主張以下各者之權益: 2016年12月21日申請之美國臨時申請案第
62/437,642
號; 2017年3月24日申請之美國臨時申請案第
62/476
,
375
號;及 2017年8月23日申請之美國臨時申請案第
62/549,336
號,該等案中的每一者之整個內容以引用的方式併入本文中。 本發明係關於如應用於框內或框間寫碼區塊以及在其他模式中寫碼之區塊的用於視訊編碼及解碼之變換係數符號位元預測的技術。本發明之態樣可用於進階視訊編解碼器之情形中,諸如HEVC之擴展或下一代視訊寫碼標準。 ITU-T VCEG (Q6/16)及ISO/IEC MPEG (JTC 1/SC 29/WG 11)現正研究對於將具有顯著超過當前HEVC標準(包括其當前擴展及針對螢幕內容寫碼及高動態範圍寫碼的近期擴展)之壓縮能力的壓縮能力之未來視訊寫碼技術標準化的潛在需要。該等群組正共同致力於聯合合作工作(被稱為聯合視訊探索小組(JVET))中之此探索活動,以評估由此領域中之群組提議的壓縮技術設計。JVET在2015年10月19日至21日期間第一次會面。為減輕各種編解碼器複雜度問題,若干最佳化方法經設計用於聯合探索模型(JEM)中之演算法加速。JEM為用於下一代視訊寫碼技術之探索的視訊編解碼器平台。JEM之其他態樣經描述於ITU-T SG 16 WP 3及ISO/IEC JTC 1/SC 29/WG 11的聯合視訊探索小組(JVET),2016年2月20日至26日,美國聖地亞哥第2次會議,文件號JVET-B1001_v1,「Algorithm Description of Joint Exploration Test Model 2」中。參考軟體之版本(亦即,聯合探索模型3 (JEM 3))可自https://jvet.hhi.fraunhofer.de/svn/svn_HMJEMSoftware/tags/HM-16.6-JEM-3.0/下載。聯合探索測試模型3(JEM3)之演算法描述可稱為JVET-C1001。 圖1為說明可經組態以執行本發明之技術之實例視訊編碼及解碼系統10的方塊圖。如圖1中所示,系統10包括源器件12,源器件12提供待在稍後時間由目的地器件14解碼之經編碼視訊資料。詳言之,源器件12經由電腦可讀媒體16將視訊資料提供至目的地器件14。源器件12及目的地器件14可包含廣泛範圍之器件中的任一者,包括桌上型電腦、筆記型(亦即,膝上型)電腦、平板電腦、機上盒、諸如所謂的「智慧型」電話之電話手機、平板電腦、電視、攝影機、顯示器件、數位媒體播放器、視訊遊戲控制台、視訊串流器件或其類似者。在一些狀況下,源器件12及目的地器件14可經裝備以用於無線通信。因此,源器件12及目的地器件14可為無線通信器件。源器件12為實例視訊編碼器件(亦即,用於編碼視訊資料之器件)。目的地器件14為實例視訊解碼器件(亦即,用於解碼視訊資料之器件)。 在圖1的實例中,源器件12包括視訊源18、經組態以儲存視訊資料之儲存媒體20、視訊編碼器22及輸出介面24。目的地器件14包括輸入介面26、經組態以儲存經編碼視訊資料之儲存媒體28、視訊解碼器30及顯示器件32。在其他實例中,源器件12及目的地器件14包括其他組件或配置。舉例而言,源器件12可自外部視訊源(諸如,外部攝影機)接收視訊資料。同樣地,目的地器件14可與外部顯示器件介接,而非包括整合式顯示器件32。 圖1之所說明系統10僅為一個實例。用於處理及/或寫碼視訊資料之技術可藉由任一數位視訊編碼及/或解碼器件執行。儘管通常本發明之技術由視訊編碼器件或視訊解碼器件來執行,但該等技術亦可由視訊編碼器/解碼器(通常被稱為「編解碼器」)執行。源器件12及目的地器件14僅為源器件12產生經寫碼視訊資料以供傳輸至目的地器件14的此類寫碼器件之實例。在一些實例中,源器件12及目的地器件14可以實質上對稱方式操作,使得源器件12及目的地器件14中之每一者包括視訊編碼及解碼組件。因此,系統10可支援源器件12與目的地器件14之間的單向或雙向視訊傳輸,例如用於視訊串流、視訊播放、視訊廣播或視訊電話。 源器件12之視訊源18可包括視訊俘獲器件,諸如視訊攝影機、含有先前俘獲之視訊的視訊存檔及/或用以自視訊內容提供者接收視訊資料的視訊饋入介面。作為另一替代方案,視訊源18可產生基於電腦圖形之資料作為源視訊,或實況視訊、經存檔視訊及電腦產生之視訊的組合。源器件12可包含經組態以儲存視訊資料的一或多個資料儲存媒體(例如,儲存媒體20)。本發明中所描述之技術可大體上適用於視訊寫碼,且可應用於無線及/或有線應用。在每一狀況下,可由視訊編碼器22對所俘獲、預先俘獲或電腦產生之視訊進行編碼。輸出介面24可將經編碼視訊資訊輸出至電腦可讀媒體16。 目的地器件14可經由電腦可讀媒體16接收待解碼之經編碼視訊資料。電腦可讀媒體16可包含能夠將經編碼視訊資料自源器件12移動至目的地器件14的任一類型之媒體或器件。在一些實例中,電腦可讀媒體16包含通信媒體以使源器件12能夠即時地將經編碼視訊資料直接傳輸至目的地器件14。可根據通信標準(諸如,無線通信協定)調變經編碼視訊資料,且將其傳輸至目的地器件14。通信媒體可包含任何無線或有線通信媒體,諸如,射頻(RF)頻譜或一或多個實體傳輸線。通信媒體可形成基於封包之網路(諸如,區域網路、廣域網路或諸如網際網路之全域網路)之部分。通信媒體可包括路由器、交換器、基地台或可用於促進自源器件12至目的地器件14的通信之任何其他設備。目的地器件14可包含經組態以儲存經編碼視訊資料及經解碼視訊資料之一或多個資料儲存媒體。 在一些實例中,經編碼資料可自輸出介面24輸出至儲存器件。類似地,可藉由輸入介面自儲存器件存取經編碼資料。儲存器件可包括多種分散式或本端存取之資料儲存媒體中之任一者,諸如,硬碟機、Blu-ray碟片、DVD、CD-ROM、快閃記憶體、揮發性或非揮發性記憶體或用於儲存經編碼視訊資料之任何其他合適之數位儲存媒體。在再一實例中,儲存器件可對應於檔案伺服器或可儲存由源器件12產生之經編碼視訊的另一中間儲存器件。目的地器件14可經由串流或下載自儲存器件存取儲存之視訊資料。檔案伺服器可為能夠儲存經編碼視訊資料且將彼經編碼視訊資料傳輸至目的地器件14的任何類型之伺服器。實例檔案伺服器包括網頁伺服器(例如,用於網站)、FTP伺服器、網路附加儲存(NAS)器件或本端磁碟機。目的地器件14可經由任何標準資料連接(包括網際網路連接)而存取經編碼之視訊資料。此連接可包括適合於存取儲存於檔案伺服器上之經編碼視訊資料的無線通道道(例如,Wi-Fi連接)、有線連接(例如,DSL、纜線數據機等)或兩者之組合。自儲存器件的經編碼視訊資料之傳輸可為串流傳輸、下載傳輸或其組合。 本發明中描述之技術可應用於視訊寫碼以支援多種多媒體應用中之任一者,諸如,空中電視廣播、有線電視傳輸、衛星電視傳輸、網際網路串流視訊傳輸(諸如,HTTP動態自適應串流(DASH))、經編碼至資料儲存媒體上之數位視訊、儲存於資料儲存媒體上之數位視訊的解碼或其他應用。在一些實例中,系統10可經組態以支援單向或雙向視訊傳輸從而支援諸如視訊串流、視訊播放、視訊廣播及/或視訊電話之應用。 電腦可讀媒體16可包括暫時性媒體,諸如無線廣播或有線網路傳輸,或儲存媒體(亦即,非暫時性儲存媒體),諸如硬碟、快閃驅動器、緊密光碟、數位視訊光碟、藍光光碟或其他電腦可讀媒體。在一些實例中,網路伺服器(未展示)可自源器件12接收經編碼視訊資料且例如經由網路傳輸提供經編碼視訊資料至目的地器件14。類似地,諸如光碟衝壓設施之媒體生產設施的計算器件可自源器件12接收經編碼視訊資料且生產含有經編碼視訊資料之光碟。因此,在各種實例中,電腦可讀媒體16可理解為包括各種形式之一或多個電腦可讀媒體。 目的地器件14之輸入介面26自電腦可讀媒體16接收資訊。電腦可讀媒體16之資訊可包括由視訊編碼器22之視訊編碼器22定義的語法資訊,語法資訊亦由視訊解碼器30使用,語法資訊包括描述區塊及其他寫碼單元(例如,圖像群組(GOP))之特性及/或處理的語法元素。儲存媒體28可儲存藉由輸入介面26接收之經編碼視訊資料。顯示器件32向使用者顯示經解碼視訊資料,且可包含多種顯示器件中之任一者,諸如陰極射線管(CRT)、液晶顯示器(LCD)、電漿顯示器、有機發光二極體(OLED)顯示器或另一類型之顯示器件。 視訊編碼器22及視訊解碼器單元30各自可經實施為多種合適編碼器或解碼器電路中之任一者,諸如一或多個微處理器、處理電路(例如,固定功能電路、可程式化處理電路,或固定功能電路及可程式化處理電路之任何組合)、數位信號處理器(DSP)、特定應用積體電路(ASIC)、場可程式化閘陣列(FPGA)、離散邏輯、軟體、硬體、韌體或其任何組合。當該等技術以軟體部分地實施時,器件可將用於軟體之指令儲存於合適之非暫時性電腦可讀媒體中,且在硬體中使用一或多個處理器執行指令以執行本發明之技術。視訊編碼器22及視訊解碼器30中之每一者可包括於一或多個編碼器或解碼器中,編碼器或解碼器中之任一者可整合為各別器件中之組合式編碼器/解碼器(編解碼器)之部分。 在一些實例中,視訊編碼器22及視訊解碼器30可根據視訊寫碼標準操作。實例視訊寫碼標準包括但不限於:ITU-T H.261、ISO/IEC MPEG-1 Visual、ITU-T H.262或ISO/IEC MPEG-2 Visual、ITU-T H.263、ISO/IEC MPEG-4 Visual及ITU-T H.264(亦稱為ISO/IEC MPEG-4 AVC),包括其可調式視訊寫碼(SVC)及多視圖視訊寫碼(MVC)擴展。另外,最近已藉由ITU-T視訊寫碼專家群(VCEG)及ISO/IEC運動圖像專家群(MPEG)之視訊寫碼聯合合作小組(JCT-VC)開發新的視訊寫碼標準(亦即,高效率視訊寫碼(HEVC)或ITU-T H.265),包括其範圍及螢幕內容寫碼擴展、3D視訊寫碼(3D-HEVC)及多視圖擴展(MV-HEVC)及可調式擴展(SHVC)。在ITU-H.265完成後,在本發明的時間處正開發下一代視訊寫碼標準。本發明之技術可結合使用或適合於使用符號預測之各種視訊寫碼技術而使用,該等技術諸如本文中列出的各種標準中描述之技術、當前在開發中之下一代視訊寫碼標準中描述之技術、JEM之視訊寫碼技術等。 在HEVC及其他視訊寫碼規範中,視訊序列通常包括一系列圖像。圖像亦可被稱為「圖框」。圖像可包括三個樣本陣列,表示為S
L
、S
Cb
及S
Cr
。S
L
為明度樣本之二維陣列(亦即,區塊)。S
Cb
為Cb色訊樣本之二維陣列。S
Cr
為Cr色訊樣本之二維陣列。色訊樣本亦可在本文中稱為「色度(chroma)」樣本。在其他情況下,圖像可為單色的,且可僅包括明度樣本之陣列。 為了產生圖像之經編碼表示,視訊編碼器22可產生寫碼樹型單元(CTU)之集合。CTU中之每一者可包含明度樣本之寫碼樹型區塊、色度樣本之兩個對應寫碼樹型區塊,及用以寫碼寫碼樹型區塊之樣本的語法結構。在單色圖像或具有三個單獨色彩平面之圖像中,CTU可包含單一寫碼樹型區塊及用以寫碼該寫碼區塊之樣本的語法結構。寫碼樹型區塊可為樣本之N×N區塊。CTU亦可被稱作「樹型區塊」或「最大寫碼單元」(LCU)。HEVC之CTU可廣泛地類似於諸如H.264/AVC之其他標準之巨集區塊。然而,CTU未必限於特定大小,且可包括一或多個寫碼單元(CU)。圖塊可包括按光柵掃描次序連續地定序之整數數目個CTU。 本發明可使用術語「視訊單元」或「視訊區塊」或「區塊」以指代一或多個樣本區塊及用以寫碼樣本之一或多個區塊之樣本的語法結構。視訊單元之實例類型可包括CTU、CU、PU、變換單元(TU)、巨集區塊、巨集區塊分區,等等。在一些情形中,PU之論述可與巨集區塊或巨集區塊分區之論述互換。視訊區塊之實例類型可包括寫碼樹型區塊、寫碼區塊及視訊資料之其他類型之區塊。 為產生經寫碼CTU,視訊編碼器22可對CTU之寫碼樹型區塊遞迴地執行四分樹分割,以將寫碼樹型區塊劃分成寫碼區塊,因此命名為「寫碼樹型單元」。寫碼區塊為樣本之N×N區塊。CU可包含明度樣本之寫碼區塊及具有明度樣本陣列、Cb樣本陣列及Cr樣本陣列之圖像的色度樣本之兩個對應寫碼區塊,以及用於寫碼該寫碼區塊之樣本的語法結構。在單色圖像或具有三個單獨色彩平面之圖像中,CU可包含單個寫碼區塊及用於寫碼該寫碼區塊之樣本的語法結構。 視訊編碼器22可將CU之寫碼區塊分割為一或多個預測區塊。預測區塊為供應用相同預測的樣本之矩形(亦即,正方形或非正方形)區塊。CU之預測單元(PU)可包含明度樣本之預測區塊、色度樣本之兩個對應預測區塊及用以預測該預測區塊的語法結構。在單色圖像或具有三個單獨色彩平面之圖像中,PU可包含單個預測區塊及用以預測該預測區塊的語法結構。視訊編碼器22可針對CU之每一PU的預測區塊(例如,明度、Cb及Cr預測區塊)產生預測性區塊(例如,明度、Cb及Cr預測性區塊)。 視訊編碼器22可使用框內預測或框間預測以產生用於PU之預測性區塊。若視訊編碼器22使用框內預測以產生PU之預測性區塊,則視訊編碼器22可基於包括PU之圖像的經解碼樣本產生PU之預測性區塊。 在視訊編碼器22產生CU之一或多個PU的預測性區塊(例如,明度、Cb及Cr預測性區塊)之後,視訊編碼器22可產生CU之一或多個殘餘區塊。作為一個實例,視訊編碼器22可產生CU之明度殘餘區塊。CU之明度殘餘區塊中之每一樣本指示CU之預測性明度區塊中的一者中之明度樣本與CU之原始明度寫碼區塊中之對應樣本之間的差異。另外,視訊編碼器22可產生用於CU之Cb殘餘區塊。在色度預測之一個實例中,CU的Cb殘餘區塊中之每一樣本可指示CU之預測性Cb區塊中的一者中之Cb樣本與CU之原始Cb寫碼區塊中之對應樣本之間的差異。視訊編碼器22亦可產生用於CU之Cr殘餘區塊。CU之Cr殘餘區塊中之每一樣本可指示CU之預測性Cr區塊之中之一者中的Cr樣本與CU之原始Cr寫碼區塊中之對應樣本之間的差異。然而,應理解可使用用於色度預測之其他技術。 另外,視訊編碼器22可使用四分樹分割以將CU之殘餘區塊(例如,明度、Cb及Cr殘餘區塊)分解成一或多個變換區塊(例如,明度、Cb及Cr變換區塊)。變換區塊為供應用相同變換的樣本之矩形(例如,正方形或非正方形)區塊。CU之變換單元(TU)可包含明度樣本之變換區塊、色度樣本之兩個對應變換區塊及用以變換該等變換區塊樣本之語法結構。因此,CU之每一TU可具有明度變換區塊、Cb變換區塊及Cr變換區塊。TU之明度變換區塊可為CU之明度殘餘區塊的子區塊。Cb變換區塊可為CU之Cb殘餘區塊之子區塊。Cr變換區塊可為CU之Cr殘餘區塊的子區塊。在單色圖像或具有三個單獨色彩平面之圖像中,TU可包含單一變換區塊及用於變換該變換區塊之樣本的語法結構。 視訊編碼器22可將一或多個變換應用於TU之變換區塊以產生TU之係數區塊。舉例而言,視訊編碼器22可將一或多個變換應用於TU之明度變換區塊,以產生TU之明度係數區塊。係數區塊可為變換係數之二維陣列。變換係數可為純量。視訊編碼器22可將一或多個變換應用於TU之Cb變換區塊以產生TU之Cb係數區塊。視訊編碼器22可將一或多個變換應用於TU之Cr變換區塊,以產生TU之Cr係數區塊。 在產生係數區塊(例如,明度係數區塊、Cb係數區塊或Cr係數區塊)之後,視訊編碼器22可將係數區塊量化。量化大體上係指將變換係數量化以可能地減少用以表示變換係數之資料之量從而提供進一步壓縮的程序。在視訊編碼器22量化係數區塊之後,視訊編碼器22可熵編碼指示經量化之變換係數之語法元素。舉例而言,視訊編碼器22可對指示經量化變換係數之語法元素執行上下文適應性二進位算術寫碼(CABAC)。 視訊編碼器22可輸出包括形成經寫碼圖像及相關聯資料之表示的位元序列之位元串流。因此,位元串流包含視訊資料之經編碼表示。該位元串流可包含網路抽象層(NAL)單元之序列。NAL單元為含有NAL單元中的資料之類型之指示及含有彼資料的呈按需要穿插有模擬阻止位元之原始位元組序列有效負載(RBSP)之形式的位元組之語法結構。NAL單元中之每一者可包括NAL單元標頭且囊封RBSP。NAL單元標頭可包括指示NAL單元類型碼之語法元素。藉由NAL單元之NAL單元標頭指定的NAL單元類型碼指示NAL單元之類型。RBSP可為含有囊封在NAL單元內之整數數目個位元組的語法結構。在一些情況下,RBSP包括零個位元。 視訊解碼器30可接收由視訊編碼器22產生之位元串流。另外,視訊解碼器30可剖析位元串流以自位元串流獲得語法元素。視訊解碼器30可至少部分基於自位元串流獲得之語法元素而重建視訊資料之圖像。重建視訊資料之過程可與由視訊編碼器22執行之過程大體互逆。舉例而言,視訊解碼器30可使用PU之運動向量判定當前CU之PU的預測性區塊。另外,視訊解碼器30可反量化當前CU之TU之係數區塊。視訊解碼器30可對係數區塊執行反變換,以重建當前CU之TU的變換區塊。視訊解碼器30可藉由將當前CU之PU的預測性區塊之樣本添加至當前CU之TU的變換區塊之對應樣本來重建當前CU之寫碼區塊。藉由重建圖像之每一CU的寫碼區塊,視訊解碼器30可重建圖像。 下文論述係數符號位元預測的HEVC及現有技術中之變換係數寫碼之態樣。根據HEVC變換係數寫碼,變換係數區塊(TB)首先經分成係數群組(CG),其中每一CG表示子區塊,諸如4×4子區塊。舉例而言,32×32 TU具有總共64個CG,且16×16 TU具有總共16個CG。在CG之單元中執行TB之熵寫碼。根據給定掃描次序寫碼TB內部之CG。當寫碼每一CG時,根據用於4×4區塊之某一預定義掃描次序掃描並寫碼當前CG內部之係數。在JEM中,CG大小可為4×4或2×2,此取決於一個TB之高度或寬度是否等於2。 圖2為說明基於係數群組之係數掃描的實例之概念圖。更特定言之,圖2說明在HEVC中含有4個CG的8×8 TB 42之係數掃描。用於每一色彩分量,視訊編碼器22可首先發信一位元旗標至視訊解碼器30以指示當前TB(在此狀況下TB 42)是否具有至少一個非零係數。若在當前TB(TB 42)中存在至少一個非零係數,則視訊編碼器22接著可藉由相對於TB之左上角之一座標(或多個座標)在TB中以係數掃描次序明確地編碼最後有效係數之位置。該(等)座標之垂直或水平分量由其首碼及後綴表示,其中首碼藉由截短之萊斯(TR)二進位化,且後綴藉由固定長度二進位化。 運用此位置編碼及發信,及亦CG之係數掃描次序,視訊編碼器22可進一步發信針對除最後CG(按掃描次序)之外的所有CG之一位元旗標,其指示各別CG是否含有任何非零係數。對於含有非零係數之彼等CG,視訊編碼器22可進一步根據預定義4×4係數掃描次序編碼及發信顯著旗標、係數之絕對值,及每一係數的非零係數之符號資訊。在HEVC變換係數熵寫碼方案中,符號位元(若經寫碼)始終經旁通寫碼。舉例而言,視訊編碼器22及視訊解碼器30可不應用上下文,且可始終使用相等機率(EP)假定編碼/解碼每一符號位元之一(1)位元。 在此段落中論述符號資料掩蔽之態樣。對於每一CG,且取決於一或多個準則,視訊編碼器22 (在使用符號資料掩蔽(SDH)時)可省略編碼最後非零係數(按反向掃描次序)之符號,該最後非零係數按前向掃描次序為第一非零係數。實際上,視訊編碼器22可使用預定義定則在CG之層級的總和之奇偶校驗中嵌入符號值。預定義定則描述如下:偶數對應於「+」且奇數對應於「-」。使用SDH之實例準則為CG之第一非零係數與最後非零係數之間的按掃描次序計之距離。若CG中第一非零係數與最後非零係數之間的距離相等或大於四(4),則視訊編碼器22可使用SDH。因為值四(4)對HEVC測試序列提供最大增益,所以選擇該值。 在以下段落中描述係數符號預測之態樣。為改良符號位元資訊之寫碼效率,係數符號預測方法已在各種文獻中提議。舉例而言,藉由2016年10月,文獻JVET-D0031,ITU-T SG 16 WP 3及ISO/IEC JTC 1/SC 29/WG 11聯合視訊探索小組(JVET),Felix Henry及Gordon Clare之「Residual Coefficient Sign Prediction」(下文中,「Henry」)提議JEM上的符號預測方法。 為預測一個係數之符號,視訊解碼器30可使用用於各別符號之正值及負值兩者重建TB 42。使用候選符號值之每一區塊重建被稱作「假設重建」。視訊解碼器30可使用給定空間域成本函數評估兩個假設重建,且最小化成本函數之假設產生預測之符號值。亦即,使用不同符號或不同符號組合以產生區塊之每一各別假設重建,視訊解碼器30可產生區塊之各別假設重建。 另外,為預測TB 42之多個符號(例如,「N」數目個符號),視訊解碼器30可使用候選符號預測值之不同組合來重建TB 42,其包括總共2N個不同假設重建。類似地,視訊解碼器30可使用給定空間域成本函數評估每一假設,且最小化成本函數之假設給出預測之符號值組合。 成本函數通常使用假設中之一者來量測先前經重建相鄰像素與當前經測試重建區塊之間的空間不連續。關於上文所描述的假設預測技術,展示當前區塊之區塊邊界處的最平滑像素值轉變的假設被認為係最佳預測。舉例而言,在Henry中,代價係使用假設重建之最左邊及最頂像素來量測。 圖3A及圖3B為說明假設重建及預測技術之圖式。圖3A說明Henry之假設重建及預測技術,視訊解碼器30結合本發明之技術使用該等技術。圖3A說明TB 42之各種像素的座標,且亦指示用於假設重建之先前經重建相鄰像素。圖3B闡述說明視訊解碼器30可結合本發明之技術實施的假設重建及預測技術的數學式。 根據Henry中描述之特定符號預測方案,視訊解碼器30可最初解量化TU,且接著選擇執行符號預測所針對之「n」個係數。視訊解碼器30可按光柵掃描次序掃描係數。當收集「n」個係數來處理時,超過預定義臨限值之經解量化值較佳優於低於預定義臨限值之值。運用此等「n」個值,視訊解碼器30可如下文所描述針對「2n」個時機執行簡化邊界重建,其中針對「n」個係數,每一獨特符號組合一個重建。 為減少執行符號預測之複雜度,視訊解碼器30可執行基於模板之假設重建。對於特定假設重建,視訊解碼器30可自經添加至區塊預測之反變換僅重新產生區塊之最左邊及最頂像素。儘管(根據圖3A中所說明之使用狀況情境)第一(垂直)反變換係完整的,但第二(水平)反變換僅必須產生最左邊及最頂像素輸出,且因此更快。額外旗標「左上」已被添加至反變換函數以允許此。 另外,所執行的反變換操作之數目藉由使用「模板」之系統而得以減少。以此方式,當預測區塊中之「n」個符號時,視訊解碼器30可僅執行「n+1」數目個反變換操作。下文列出所執行步驟之實例: 1. 視訊解碼器30可對經解量化係數執行單一反變換操作,其中預測的所有符號之值經設定成正。在被添加至當前區塊之預測後,此對應於第一假設之邊界重建。 2. 對於視訊解碼器30預測符號所針對的「n」個係數中之每一者,對作為其唯一非空元素之含有對應經解量化(及正)係數的另外空區塊進行反變換操作。最左邊及最頂邊界值經保存於被稱為「模板」之物中以供在稍後重建期間使用。 視訊解碼器30可藉由取得先前假設的適當保存之重建起始稍後假設之邊界重建,該適當保存之重建僅僅使用待自正改變至負的單一預測符號以便建構所要當前假設。視訊解碼器30接著可藉由加倍對應於預測之符號的模板之假設邊界及自其中減去而接近於此符號變化。若邊界重建可用於視訊解碼器30以再用於建構一或多個稍後假設,則接著保存在應用成本函數量測之後的邊界重建。 以下表1將模板名映射至對應模板
表1 以下表2展示針對3符號、8項目使用狀況之保存/恢復及模板應用
表2 在一些實例中,視訊解碼器30可僅在符號預測過程期間使用此等近似值,且並不在最終重建期間使用此等近似值。對於具有較大量值之變換係數,符號預測通常產生達成正確預測之較好機率。此係因為對於具有較大量值之變換係數的不正確符號預測通常展示關於邊界樣本平滑度之更多差異。 運用符號預測,而非寫碼明確符號值,視訊編碼器22及視訊解碼器30可編碼/解碼符號預測之正確性。舉例而言,為了預測實際上具有正值之係數符號,若預測符號亦為正(例如若符號預測係正確的),則視訊編碼器22可編碼,且視訊解碼器30可解碼「0」位元子。另外,若預測符號為負(例如,若符號預測係不正確的),則視訊編碼器22可編碼,且視訊解碼器30可解碼「1」位元子。以此方式,符號預測可利用變換係數之層級值(例如,量值)作為用於寫碼符號預測之正確性的上下文,此係因為變換係數之較大量值趨向於(或「傾向於」)朝向「0」位元子之較高機率。 現有符號預測技術可引起一或多個可能問題。作為一個實例,現有符號預測技術展示針對編碼器及解碼器兩者之相對較高複雜度,此係因為現有符號預測技術可使用多個反變換程序以在寫碼運行期間或「在運作中」產生最左邊及最頂像素樣本。舉例而言,四個(4)符號將導致總共十六個(16)可能性,其中每一假設有多個重建。結果,視訊解碼器30將在每一狀況下十六(16)次執行反變換、反量化,及重建。增加之複雜度可不合實際視訊編解碼器需要。此外,對於較大數目,預測符號之數目可以快速速率增加。亦即,若預測相對較大數目之符號,則現有符號預測技術之複雜度增加可迅速增加。在一些實例中,可存在針對給定區塊之6、7、8或更大數目個預測符號。 本發明之各種技術通常係關於減輕或可能去除上文關於符號預測所論述問題中之一或多者。本發明之各種技術的態樣在下文經描述為藉由視訊編碼器22及視訊解碼器30執行。然而,應瞭解本文中所描述的技術可藉由各種視訊寫碼器件(包括經組態以(例如,經由「解碼迴路」)解碼經編碼視訊資料之視訊編碼器)執行。 圖4為說明可實施本發明之技術的實例視訊編碼器22之方塊圖。出於解釋之目的提供圖4,且不應將該圖視為對如本發明中廣泛例示及描述之技術的限制。本發明之技術可應用於各種寫碼標準或方法。 在圖4之實例中,視訊編碼器22包括預測處理單元100、視訊資料記憶體101、殘餘產生單元102、變換處理單元104、量化單元106、反量化單元108、反變換處理單元110、重建單元112、濾波器單元114、經解碼圖像緩衝器116及熵編碼單元118。預測處理單元100包括框間預測處理單元120及框內預測處理單元126。框間預測處理單元120可包括運動估計單元及運動補償單元(未展示)。 視訊資料記憶體101可經組態以儲存待由視訊編碼器22之組件編碼的視訊資料。儲存於視訊資料記憶體101中之視訊資料可(例如)自視訊源18獲得。經解碼圖像緩衝器116可為參考圖像記憶體,其儲存用於由視訊編碼器22在編碼視訊資料(例如,在框內或框間寫碼模式中)時使用之參考視訊資料。視訊資料記憶體101及經解碼圖像緩衝器116可由多種記憶體器件中之任一者形成,諸如,動態隨機存取記憶體(DRAM),包括同步DRAM(SDRAM)、磁阻式RAM(MRAM)、電阻式RAM(RRAM)或其他類型之記憶體器件。可藉由相同記憶體器件或獨立記憶體器件來提供視訊資料記憶體101及經解碼圖像緩衝器116。在各種實例中,視訊資料記憶體101可與視訊編碼器22之其他組件一起在晶片上,或相對於彼等組件在晶片外。視訊資料記憶體101可與圖1之儲存媒體20相同或為圖1之儲存媒體20的部分。 視訊編碼器22接收視訊資料。視訊編碼器22可編碼視訊資料之圖像之圖塊中之每一CTU。該等CTU中之每一者可與圖像之相等大小的明度寫碼樹型區塊(CTB)及對應CTB相關聯。作為編碼CTU之部分,預測處理單元100可執行分割以將CTU之CTB分割成逐漸較小的區塊。該等較小區塊可為CU之寫碼區塊。舉例而言,預測處理單元100可根據樹狀結構分割與CTU相關聯的CTB。根據本發明的一或多種技術,對於在樹型結構之每一深度層級處的樹型結構之每一各別非葉節點,存在針對各別非葉節點的複數個允許之分裂圖案且對應於各別非葉節點之視訊區塊根據該複數個允許之分裂圖案中的一者而分割成對應於各別非葉節點之子節點的視訊區塊。 視訊編碼器22可編碼CTU之CU以產生該等CU之經編碼的表示(亦即,經寫碼之CU)。作為編碼CU之部分,預測處理單元100可分割與CU之一或多個PU中的CU相關聯之寫碼區塊。因此,每一PU可與明度預測區塊及對應的色度預測區塊相關聯。視訊編碼器22及視訊解碼器30可支援具有各種大小之PU。如上文所指示,CU之大小可指CU之明度寫碼區塊的大小,且PU之大小可指PU之明度預測區塊的大小。假定特定CU之大小為2N×2N,則視訊編碼器22及視訊解碼器30可支援用於框內預測的2N×2N或N×N之PU大小,及用於框間預測的2N×2N、2N×N、N×2N、N×N或類似大小之對稱PU大小。視訊編碼器22及視訊解碼器30亦可支援用於框間預測的2N×nU、2N×nD、nL×2N及nR×2N之PU大小的不對稱分割。 框間預測處理單元120可藉由對CU之每一PU執行框間預測而產生用於PU之預測性資料。用於PU之預測性資料可包括PU之預測性區塊及用於PU之運動資訊。取決於PU係在I圖塊中、P圖塊中抑或B圖塊中,框間預測處理單元120可針對CU之PU執行不同操作。在I圖塊中,所有PU經框內預測。因此,若PU在I圖塊中,則框間預測處理單元120並不對PU執行框間預測。因此,對於I模式中編碼的區塊,經預測區塊係使用來自經先前編碼之同一圖框內的相鄰區塊的空間預測而形成。若PU在P圖塊中,則框間預測處理單元120可使用單向框間預測以產生PU之預測性區塊。若PU在B圖塊中,則框間預測處理單元120可使用單向或雙向框間預測以產生PU之預測性區塊。 框內預測處理單元126可藉由對PU執行框內預測而產生用於PU之預測性資料。用於PU之預測性資料可包括PU之預測性區塊及各種語法元素。框內預測處理單元126可對I圖塊、P圖塊及B圖塊中之PU執行框內預測。 為對PU執行框內預測,框內預測處理單元126可使用多個框內預測模式來產生用於PU之預測性資料的多個集合。框內預測處理單元126可使用來自相鄰PU之樣本區塊的樣本以產生用於PU之預測性區塊。對於PU、CU及CTU,假定自左至右、自上而下之編碼次序,則該等相鄰PU可在PU上方、右上方、左上方或左邊。框內預測處理單元126可使用各種數目之框內預測模式,例如,33個定向框內預測模式。在一些實例中,框內預測模式之數目可取決於與PU相關聯之區域的大小。 預測處理單元100可自由框間預測處理單元120所產生的用於PU之預測性資料中,或自由框內預測處理單元126所產生的用於PU之預測性資料中選擇用於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相關聯之係數區塊。視訊編碼器22可藉由調整與CU相關聯之QP值來調整應用於與CU相關聯之係數區塊的量化程度。量化可引入資訊之損失。因此,經量化變換係數可具有比最初變換係數低的精度。 反量化單元108及反變換處理單元110可分別將反量化及反變換應用於係數區塊,以自係數區塊重建殘餘區塊。重建單元112可將經重建之殘餘區塊添加至來自由預測處理單元100產生之一或多個預測性區塊的對應樣本,以產生與TU相關聯的經重建之變換區塊。藉由以此方式重建CU之每一TU的變換區塊,視訊編碼器22可重建CU之寫碼區塊。 濾波器單元114可執行一或多個解區塊操作以減少與CU相關聯之寫碼區塊中的區塊假影。經解碼圖像緩衝器116可在濾波器單元114對經重建寫碼區塊執行一或多個解區塊操作之後,儲存經重建寫碼區塊。框間預測處理單元120可使用含有經重建寫碼區塊之參考圖像來對其他圖像之PU執行框間預測。另外,框內預測處理單元126可使用經解碼圖像緩衝器116中之經重建寫碼區塊,以對處於與CU相同之圖像中的其他PU執行框內預測。 熵編碼單元118可自視訊編碼器22之其他功能組件接收資料。在各種實例中,熵編碼單元118可經組態以實施本發明之一或多種技術。舉例而言,熵編碼單元118可自量化單元106接收係數區塊且可自預測處理單元100接收語法元素。熵編碼單元118可對資料執行一或多個熵編碼操作,以產生經熵編碼資料。舉例而言,熵編碼單元118可對資料執行CABAC操作、上下文自適應性可變長度寫碼(CAVLC)操作、可變至可變(V2V)長度寫碼操作、基於語法之上下文自適應性二進位算術寫碼(SBAC)操作、概率區間分割熵(PIPE)寫碼操作、指數哥倫布編碼操作或另一類型之熵編碼操作。視訊編碼器22可輸出包括由熵編碼單元118產生的經熵編碼之資料的位元串流。舉例而言,位元串流可包括表示用於CU之RQT的資料。 根據本發明之一些態樣,視訊編碼器22可使用經重建殘餘樣本之預儲存集合以執行假設重建。視訊編碼器22使用預儲存經重建殘餘樣本所藉以的本發明之技術在本文中通常稱為「基於模板之重建」技術。舉例而言,預儲存經重建殘餘樣本可儲存至視訊編碼器22之處理電路可存取(例如,經由直接或間接通信耦接)的任一記憶體,諸如源器件12之儲存媒體20及/或視訊資料記憶體101。在根據本發明之態樣的基於模板之重建的一些情況下,視訊編碼器22可儲存一或多個經完全重建及/或經部分重建之殘餘區塊,且接著使用所儲存資訊之某一組合(例如,線性組合)以形成模板。又,視訊編碼器22可使用模板來導出所有可能的經重建值。殘餘區塊之每一儲存集合可使用預定義變換係數區塊來預計算。為執行假設重建,視訊編碼器22可將經完全及/或部分重建之殘餘區塊的選定群組識別為所儲存集合,且使用以此方式識別之經重建殘餘區塊的某一組合產生/估計假設重建。 如上文所論述,視訊編碼器22(及/或其組件)可根據本發明之態樣經組態以減輕與現有符號預測技術相關聯的各種問題。根據本發明之基於模板之重建技術的一些實例,視訊編碼器22可使用預定義經量化變換係數區塊(TB)、給定反量化參數及給定主要變換及/或給定輔助變換來形成所儲存集合之每一經重建區塊。下文關於特定係數論述實例,該特定係數之位置在M×N TB中經表示為f(x,y),其中0<=x<M,0<=y<N。給定反變換方法(包括主要變換及/或輔助變換)及反量化參數,視訊編碼器22可藉由將f(x,y)設定成特定值及藉由將所有其他係數設定成與經指派給f(x,y)之值不同的值而產生經量化係數區塊(表示為
B
)。舉例而言,視訊編碼器22可將f(x,y)之值設定成一(1),且可將所有其他係數設定成零(0)。 又,視訊編碼器22可藉由將給定反量化及反變換應用於經量化係數區塊
B
上而預計算經完全或部分重建之殘餘區塊(表示為
R
)。視訊編碼器22可將經重建殘餘區塊
R
預儲存至記憶體(例如,至源器件12之儲存媒體20及/或至視訊資料記憶體101)。藉由預儲存經部分或完全重建之區塊
R
,視訊編碼器22可充分利用現有資源(例如,呈儲存媒體20及/或視訊資料記憶體101形式)以快取可用以改良待在後期執行的計算之效率的經預計算資訊。以此方式,在符號預測操作期間,若係數f(x,y)之符號需要在M×N TB中運用相同反變換及反量化參數來預測,則本發明之技術使得視訊編碼器22能夠避免對於f(x,y)執行反變換。實際上,視訊編碼器22可藉由|f(x,y)|之因子縮放預儲存經重建殘餘區塊
R
且接著使用預儲存經重建殘餘區塊
R
之經縮放版本來估計經重建區塊。 在本發明之基於模板之重建技術的另一實例中,視訊編碼器22可預儲存TB之經解量化版本。亦即,在此等實例中,視訊編碼器22可使用經儲存至儲存媒體20的(完全或部分)重建區塊之經解量化版本來重建當前區塊。換言之,根據此等實例,視訊編碼器22可使用預定義經解量化TB及給定主變換或給定輔助變換中之一者或兩者來重建當前區塊。 下文在給定反變換方法(包括主要變換及/或輔助變換)情況下關於M×N TB中之特定係數f(x,y)描述本發明之基於模板之重建技術的基於經解量化TB之實施的一個使用狀況情境,其中0<=x<M,0<=y<N。在此實例中,視訊編碼器22可藉由將f(x,y)設定成特定值及藉由將所有其他係數設定成另一值而產生經解量化係數區塊
B
。舉例而言,視訊編碼器22可將f(x,y)設定成值一(1),且可將所有剩餘係數設定至零(0)值。又,視訊編碼器22可藉由將給定反變換應用於
B
上而預計算經完全或部分重建之殘餘區塊
R
,且可將經重建殘餘區塊
R
預儲存至記憶體(例如,至儲存媒體20及/或視訊資料記憶體101)。 以此方式,在符號預測期間,若運用相同反變換在M×N TB中預測經量化係數f(x,y)之符號,則本發明之技術使得視訊編碼器22及/或視訊解碼器30能夠避免針對f(x,y)進行反變換。實際上,視訊編碼器22可首先將經量化係數f(x,y)反量化成f(x,y)'(以表示經解量化係數),接著視訊編碼器22可藉由|f(x,y)'|之因子縮放預儲存經重建殘餘區塊
R
。視訊編碼器22接著可使用預儲存經解量化重建之殘餘區塊
R
的經縮放版本(亦即,使用經解量化值縮放)來估計經重建區塊。如上文論述中所說明,視訊編碼器22可藉由視情況使用預儲存模板之經解量化TB資訊來實施本發明之基於模板之重建技術,其中不同計算複雜度起因於反量化操作的可選使用或不使用。 在本發明之基於模板之重建技術的一些實施中,視訊編碼器22可預儲存具有分數精度的經部分及/或完全重建之殘餘區塊的集合。在一些實例中,視訊編碼器22可首先運用預定義因子(例如,2、4、8、16等)縮放經重建殘餘區塊之集合,且接著將結果降值捨位至最接近的整數,並儲存經降值捨位經縮放結果至儲存媒體20及/或視訊資料記憶體101。以此方式,視訊編碼器22可增加經預儲存重建殘餘區塊之精度。此外,在上文所描述的分數精度實施及基於縮放/降值捨位之實施兩者中,視訊編碼器22可利用本發明之基於模板之重建技術的益處,同時降低關於儲存媒體20及/或視訊資料記憶體101的記憶體要求。 根據本發明之基於模板之重建技術的一些實施,視訊編碼器22可預儲存具有經剪輯值之經完全及/或部分重建之殘餘區塊的集合。在一些情況下,視訊編碼器22可在儲存之前剪輯經重建殘餘區塊之值,使得經剪輯值適合表示之限制位元範圍。舉例而言,藉由使用負八(-8)之最小值(Vmin)及七(7)之最大值(Vmax)的約束而剪輯該等值,視訊編碼器22可形成預儲存經重建殘餘值之項目,使得可使用至多四個(4)位元呈現所有預儲存經重建殘餘值。在各種使用狀況情形中,視訊編碼器22可根據本發明之各種態樣個別地或以任何組合方式利用基於模板之重建技術的分數精度實施、縮放/降值捨位實施,或基於剪輯實施中的一或多者。 在本發明之基於模板之重建技術的一些實例中,視訊編碼器22可使用所儲存經重建殘餘區塊之某些經識別重建殘餘區塊之線性組合來重建當前TB。舉例而言,線性組合可表示所識別經儲存重建殘餘區塊之加權和。為計算加權和,視訊編碼器22可使用預測符號所針對的經量化或經解量化(視具體情況而定)變換係數之量值(亦稱作「層級值」)判定各別權重。藉由使用多個所儲存經重建殘餘區塊的加權和,視訊編碼器22可藉由利用來自多個先前經重建區塊之資料改良假設精度。 在一些實例中,視訊編碼器22可以利用離線計算的方式實施本發明之基於模板之重建技術。因為不同變換及/或量化方法可用於視訊編碼器22,所以視訊編碼器22可需要儲存用於單一經量化係數區塊之多個經重建區塊。為減輕儲存要求及減弱存取經預計算殘餘區塊之資源消耗,視訊編碼器22可利用離線計算能力。舉例而言,視訊編碼器22可對預儲存殘餘區塊執行合併程序,使得多個殘餘區塊經合併並由一個殘餘區塊表示。在一些實例中,視訊編碼器22可預定義函數
f
以自另一預儲存殘餘區塊導出一個預儲存殘餘區塊,使得若干殘餘區塊中的僅一者可需要被儲存。亦即,在此等實例中,視訊編碼器22可儲存一個殘餘區塊,且可使用預定義函數
f
及單一所儲存殘餘區塊導出其他殘餘區塊。 在本發明之基於模板之重建技術的一些實施中,視訊編碼器22可將經預計算殘餘區塊儲存至源器件12之晶片外記憶體(亦稱作「外部」記憶體)。在一些情況下,經預計算殘餘區塊之集合的總大小可較大,且因此可難以儲存於晶片上記憶體中。為在可用儲存約束內操作的同時繼續使用本發明之基於模板之重建技術,視訊編碼器22可預儲存經預計算殘餘區塊之集合至晶片外記憶體,其在一些實例中趨向於表示比晶片上記憶體更便宜的記憶體。在此等實施中,視訊編碼器22可根據需要僅將殘餘區塊載入至晶片上記憶體。舉例而言,視訊編碼器22可每較大區塊或較大圖像區域(諸如用於最大寫碼單元(LCU))一次載入殘餘區塊。 根據本發明之基於模板之重建技術的一些實施,視訊編碼器22可使用部分殘餘區塊之預儲存集合中的每一者作為用於符號預測之模板。在一些實例中,視訊編碼器22可僅儲存經預計算殘餘區塊的最左邊及最頂殘餘像素。在一個實例中,除了頂部列之一或多個殘餘像素(自直接定位於左上方殘餘像素之右邊的殘餘像素開始)之及/或最左邊行之一或多個殘餘像素(自直接定位於左上方殘餘像素之下方的殘餘像素開始)外,視訊編碼器22還可儲存左上方殘餘像素。在一些實例中,視訊編碼器22可以模板並不由在運作中進行部分反變換而產生的此種方式,結合(本發明之)部分殘餘區塊之預儲存集合應用Henry中描述的基於模板之符號預測程序。實際上,視訊編碼器22可藉由存取部分殘餘區塊之預儲存集合,及執行縮放操作而產生模板。 在一些實例中,視訊編碼器22可根據本發明之態樣而組態以執行選擇性符號預測。舉例而言,視訊編碼器22可關於低頻率變換係數執行選擇性符號預測。視訊編碼器22亦可執行選擇性符號預測以避免對於離群值區塊大小(例如極大或極小區塊大小)的符號預測。下文論述視訊編碼器22根據本發明之技術可使用的離群值尺寸之實例。為執行本發明之選擇性符號預測技術,視訊編碼器22可判定符號預測被執行或替代地跳過所根據之各種條件。以下段落中描述用於本發明之選擇性符號選擇態樣的各種條件。 視訊編碼器22可在逐區塊基礎上應用用於本發明之選擇性符號預測態樣的若干條件。此等條件可係關於各種特徵,包括(但不限於)區塊寬度、區塊高度、區塊面積(亦稱作「大小」)、變換係數頻率位置、最後位置、框內預測模式、是否僅主要變換用以寫碼區塊、僅特定變換函數抑或某一變換子集用於寫碼區塊、反變換方法、區塊係經框內寫碼抑或經框間寫碼區塊,或當前及/或相鄰區塊之任何其他解碼資訊。 根據本發明之選擇性符號預測技術的一些實施,若當前編碼區塊之寬度或當前編碼區塊之高度大於預定義臨限值,則視訊編碼器22可不應用符號預測。對比而言,根據現有符號預測技術,不管區塊寬度或高度而將應用符號預測,視具體情況而定。在一些實例中,臨限值可經組態,且視訊編碼器22可發信臨限值。在各種實例中,視訊編碼器22可將臨限值設定至包括(但不限於)以下各者之值:4、8、16、32或64。 在本發明之選擇性符號預測技術的一些實例中,視訊編碼器22可將臨限值組態為取決於用以編碼區塊之寫碼模式。舉例而言,視訊編碼器22可針對經框內寫碼區塊及經框間寫碼區塊將臨限值組態為不同。在一個實例中,視訊編碼器22可針對經框內寫碼區塊將臨限值設定成32,同時針對經框間寫碼區塊將臨限值設定成64。在一些實例中,若區塊寬度或區塊高度的最小值或最大值超過臨限值,則視訊編碼器22可不應用符號預測。 根據本發明之符號預測技術的一些實例,視訊編碼器22可不針對未定位於TB之左上方K×L部分中的變換係數應用符號預測。K×L可表示TB之正方形子區塊,諸如具有2×2、3×3、4×4或8×8等之維度的子區塊。對比而言,根據現有符號預測技術,符號預測將應用於定位於TB之左上K×L部分之外部的變換係數。在一些實例中,K及/或L之值可進一步取決於寫碼模式及/或量化參數。在表示2×2子區塊之TB的K×L部分之特定實例中,可存在僅四個(4)可能預測符號。 在本發明之選擇性符號預測技術的一些實施中,視訊編碼器22可將在符號預測程序中執行的反變換限制於特定反變換。舉例而言,視訊編碼器22可在假設預測程序期間產生假設的同時強加反變換約束條件。所選擇變換可不同於視訊編碼器22在導出實際係數符號之後所應用以產生實際經重建區塊的反變換。 在一個此實例中,視訊編碼器22可在符號預測期間僅使用離散餘弦變換類型-II(DCT-II)作為主要反變換。在另一此實例中,在符號預測期間,視訊編碼器22可置換輔助變換與使用預定義排列矩陣之變換。預定義排列矩陣可包括「+1」及「-1」之項目。在另一實例中,視訊編碼器22可在符號預測期間使用輔助變換。 根據本發明之選擇性符號預測技術的一些實例,視訊編碼器22可僅針對僅使用主要變換編碼之彼等區塊應用符號預測。藉由以此方式限制符號預測,視訊編碼器22可減少編碼複雜度,以使得反變換之複雜度可小於起因於共同應用主要變換及輔助變換的複雜度。在另一實例中,視訊編碼器22可僅對於使用特定變換核心或特定變換集合/子集編碼的彼等區塊應用符號預測。以此方式限制符號預測可產生潛在益處,此係因為符號預測可對於所有變換基礎/核心並不有效地起作用,且寫碼複雜度藉此可藉由以此方式限制符號預測之應用而減少。 本發明之一些態樣係針對用於成本函數量測之技術。根據本發明之成本函數量測態樣,視訊編碼器22可利用經先前解碼資訊(經由重建迴路而獲得)以量測用於每一假設重建之成本函數。視訊編碼器22可充分利用用於成本函數量測的經先前解碼資訊包括(但不限於)當前區塊之寬度、當前區塊之高度、當前區塊之面積(本文中亦被稱作「大小」)、變換係數頻率位置、最後位置、用於編碼區塊之框內預測模式、評估區塊係經框內編碼抑或經框間寫碼,抑或當前及/或鄰近區塊之任何經編碼資訊。 在一些實例中,視訊編碼器22 (或其一或多個組件)可藉由量測鄰近區塊之經重建樣本與沿邊界定位的當前區塊的經重建樣本之間的差實施本發明之成本函數量測態樣。所量測差在本文中亦被稱作「梯度」以說明差可表達為曲線之給出點處的斜率。亦即,視訊編碼器22可實施本發明之成本函數量測技術以量測沿邊界定位的鄰近經重建樣本與當前區塊之經重建樣本之間比較的二階(差或梯度)資訊,而非量測表示樣本值之一階資訊。 根據此實施,視訊編碼器22可藉由自定位於當前區塊邊界處之預測樣本減去鄰近經重建樣本(或反之亦然)產生估計之邊界殘餘樣本。亦即,視訊編碼器22可使用減法運算以獲得表示為所估計邊界殘餘樣本與候選邊界殘餘樣本之間的差的二階資訊。對於符號之每一候選組合,所產生殘餘樣本表示「候選殘餘樣本」之集合。藉由使用鄰近殘餘樣本與當前區塊之邊界介接殘餘樣本之間的二階梯度資訊,視訊編碼器22可避免重複重建程序之情況,其中相同預測樣本用以多次產生候選殘餘樣本。以此方式,本發明之技術使得視訊編碼器22能夠減少計算資源消耗並節省為了冗餘候選殘餘樣本產生及冗餘候選殘餘樣本資訊之發信而另外將被消耗的頻寬。 在本發明之成本函數量測技術的一些實例中,視訊編碼器22可經組態以量測沿框內預測方向之像素值差(在本文中亦被稱作「像素梯度值」)以量測成本函數。在一個此實例中,視訊編碼器22可預選擇所允許框內預測方向之部分子集,且可將每一所允許之框內預測方向映射至可用以接近於框內預測方向之經預先選擇框內方向中之一者。在此實例中,視訊編碼器22可在成本函數計算時量測沿映射方向之像素值差。 在框內預測方向不可用於視訊編碼器22之狀況下(例如,在所評估區塊中之一者經框間寫碼的情況下),視訊編碼器22可實際上導出框內預測模式。視訊編碼器22可自空間相鄰寫碼區塊或藉由經寫碼圖像中之運動向量所識別的區塊導出框內預測模式。若框內預測方向指向分數位置,則視訊編碼器22可應用內插程序以導出分數位置之值。視訊編碼器22可應用用於產生框內預測區塊之內插濾波器,或可實際上使用不同(例如,較簡單)內插濾波器。 根據本發明之成本函數量測態樣中之一些,視訊編碼器22可使用像素值差之二階或更高階(N階,其中「N」表示二或大於二之整數值)量測成本函數。舉例而言,視訊編碼器22可使用多個參考線(例如,兩個或大於兩個)以量測代價值。視訊編碼器22用於量測代價值的參考線之數目可取決於經編碼資訊,包括(但不限於)框內預測模式及/或相鄰經重建值。在一些情況下,視訊編碼器22可將參考線之最大數目設定成等於用於框內預測之參考線的所需要數目。 根據本發明之成本函數量測態樣的一些實施,視訊編碼器22可取決於是否滿足一或多個給定準則而自成本函數量測操作排除一些像素。在一個實例中,視訊編碼器22使用一階、二階(梯度)或N階導數之絕對值是否低於給定臨限值的準則。在另一實例中,視訊編碼器22使用用以計算N階導數之相鄰經重建樣本是否可用的準則。在又一實例中,視訊編碼器22使用恆等變換抑或變換跳過應用於水平或垂直變換的準則。 根據本發明之成本函數量測態樣的一些實施,視訊編碼器22可在使用相鄰經重建值量測代價時計算多個方向之代價值。亦即,視訊編碼器22可計算多個方向之代價值而非計算沿固定或預定義方向(例如,對於左邊區塊邊界之水平方向及對於頂部區塊邊界之垂直方向)之一階、二階(梯度)或N階差。實情為,根據此等實施,視訊編碼器22計算多個方向之代價值且使用最小代價用於量測代價。 在本發明之成本函數量測技術的一些實例中,對於相對較大區塊大小,視訊編碼器22可使用經下取樣假設重建計算成本函數。藉由使用經下取樣假設重建用於成本函數量測,視訊編碼器22可減少關於較大區塊大小的成本函數應用之複雜度。根據本發明之成本函數量測技術中之一些,視訊編碼器22可僅對於經重建區塊及鄰近區塊中之部分像素量測像素值差。部分像素可例如為拐角像素。對於拐角像素,誤差通常趨向於較大。在另一實例中,視訊編碼器22可基於為潛在離群值之拐角像素自差量測排除拐角像素,或可指派不同權重至所選擇像素。 根據本發明之成本函數量測態樣的一些實施,視訊編碼器22可以預測符號之數目取決於先前經編碼資訊之方式判定預測符號之數目(例如,0、1、2、3、4、5、6等)。視訊編碼器22可用於判定預測符號之數目的先前編碼資訊之非限制性實例包括(但不限於)框內預測模式、區塊寬度/高度、區塊大小(面積)、QP、彩色分量、時間層、區塊係經框內編碼抑或經框間編碼、係應用變換跳過抑或恆等變換、是否應用不可分離輔助變換、經量化係數、增強之多個變換(EMT)索引的呈現/值,或位置相依預測組合(PDPC)旗標或索引之呈現/值。 根據本發明之成本函數量測態樣的一些實施,視訊編碼器22可在多個「M」符號被預測時以單元或群組方式執行符號預測。亦即,視訊編碼器22可對於群組執行符號預測,而非測試所有可能的2^M個假設重建,其中「M」個符號分成「N」個群組。若剩餘符號群組尚未被預測,則視訊編碼器22可藉由將符號之剩餘群組設定為經先前預測值或預設值而預測每一符號群組。視訊編碼器22可多輪反覆基於群組之符號預測程序直至預定義限制滿足為止。視訊編碼器22可在預測具有相對低係數層級之符號群組之前預測具有較大變換係數層級之符號群組。視訊編碼器22可在每一群組之預測符號不再變化時終止反覆,或反覆數目已滿足預定義臨限值,或反覆(例如,後續反覆)之間的代價差已停止超過某一臨限值。 以下段落描述大體上係關於待預測之係數符號的選擇的本發明之態樣。根據本發明之係數符號選擇態樣,視訊編碼器22可藉由利用已可用之解碼資訊(例如,經由藉由視訊編碼器22實施的解碼迴路)選擇及/或判定預測之變換係數。視訊編碼器22可用於係數符號選擇的先前解碼之資訊包括(但不限於)以下各者中之一或多者:當前區塊之寬度、當前區塊之高度、當前區塊之面積(亦稱作「大小」)、當前區塊內之變換係數頻率位置、最後位置、用以編碼當前區塊及/或相鄰區塊的框內預測模式、符號資料掩蔽是否關於當前及/或相鄰區塊而應用、當前及/或相鄰區塊係經框內寫碼抑或經框間寫碼,或當前及/或相鄰區塊之任一解碼資訊。在各種實例中,視訊編碼器22(或其一或多個組件)可實施本發明之係數符號選擇態樣,使得預測符號之最大數目取決於當前區塊係經框間寫碼抑或經框內寫碼。在一些實例中,視訊編碼器22可基於應用於反量化區塊的反變換方法(例如,其為主要及/或輔助變換)設定預測符號之最大數目。 在一些實例中,視訊編碼器22可甚至在符號預測應用於區塊(TB)時應用符號掩蔽。在此等實例中,視訊編碼器22可掩蔽在前向掃描次序中的最後非零係數之符號,而非掩蔽在前向掃描次序中的第一非零係數。另外,在一些此類實例中,視訊編碼器22可不在CG層級處執行符號資料掩蔽。亦即,在此等情況中,連續非零係數(即使定位於不同CG中)可被聯合地認為用於符號資料掩蔽。 在一些實例中,視訊編碼器22可預定義若干臨限值(表示為t
0
, t
1
, …, t
N
),其中t
0
>t
1
>…>t
N
。在此等實例中,視訊編碼器22可按降序導出若干區間為(t
0
, +∞)、[t
1
, t
0
),…[ t
N
, t
N-1
)。此外,視訊編碼器22可比較經解量化係數層級與給定區間中之每一者直至視訊編碼器22識別或偵測到涵蓋反量化係數層級之一個區間。視訊編碼器22可根據臨限值之降序識別係數之符號為經預測符號。 舉例而言,視訊編碼器22可首先將區間(t
0,
+∞)中之係數的符號置放至預測符號之清單中,且接著將區間[t
1,
t
0
)中之係數的符號置放至預測符號之清單中。視訊編碼器22可繼續針對每一區間按降序反覆此程序直至預測符號之數目到達預測符號的預定義最大數目,或視訊編碼器22已檢查所有可用區間為止。若視訊編碼器22判定係數具有小於t
N
之層級,則視訊編碼器22可不將符號認為係預測符號。(600, +∞)、[300, 600)表示常用或甚至典型設定。在此實例中,視訊編碼器22可並不將小於300的經解量化係數層級之符號認為預測之符號。 本發明之一些態樣係關於判定CABAC上下文以用於寫碼係數符號。亦即,根據此等技術,視訊編碼器22可藉由針對係數層級之不同區間設定不同上下文而定義符號之上下文值。再次,區間可基於各種特徵而變化。視訊編碼器22用以編碼係數符號的上下文值可取決於對應係數之經解量化層級(例如,絕對值)。視訊編碼器22可預定義若干區間,且可使用經解量化層級值所屬的區間之索引來判定上下文值中之一者。 區間之實例設定為(0, 600)、[600, +∞)或(0, 600]、(600, +∞)。在此區間設定情況下,若係數層級落在(0, 600)之範圍內,則視訊編碼器22可將上下文值設定成零(0)。否則(亦即,若係數層級落在(0, 600)範圍外部),視訊編碼器22可將上下文值設定成一(1)。在各種實例中,視訊編碼器22(或其一或多個組件)可實施本發明之CABAC上下文判定態樣以將區間判定為取決於經先前編碼資訊,包括(但不限於)區塊之QP、區塊面積(「大小」)、區塊寬度或區塊高度中之一或多者。 本發明之各種態樣係關於用於假設之搜尋次序,諸如用於視訊編碼器22可在區塊之假設重建期間形成的兩個假設中之一者。再次,每一假設由候選符號值之一個可能組合組成。舉例而言,若視訊編碼器22預測兩個符號,則視訊編碼器22可需要形成總共四個假設。亦即,在兩個符號情境中,視訊編碼器22可形成候選符號值之四個可能組合,包括以下: 假設索引0:{0, 0} 假設索引1:{0, 1} 假設索引2:{1, 0} 假設索引3:{1, 1}, 其中第一數位指示第一預測符號,且第二數位指示第二預測符號。在上述實例中,零(0)指示正號,而一(1)指示負號。每一假設中之候選符號值之組合對應於假設索引的二進位化表示。舉例而言,{1, 1}組合產生假設索引三,此係因為2^0位元及2^1位元兩者均設定成「1」值。若寫碼器件按遞增次序或遞減次序搜尋假設,則在兩個相鄰假設之間可存在符號值之大於一個變化。如以上實例所示,自假設索引1轉變至假設索引2,值發生兩個符號變化(例如,藉由雙態切換)。因而涉及兩個符號之雙態切換的邊界樣本變化可需要在假設重建中加以考慮。 為考慮某些邊界樣本之兩個符號雙態切換,視訊編碼器22可根據下文所描述之技術中之一或多者實施本發明之假設搜尋次序態樣。為減少複雜度,根據本發明之態樣,視訊編碼器22可在格雷(Gray)碼之後實施搜尋次序。根據基於格雷碼之符號指派,視訊編碼器22可根據以下符號索引指派搜尋四個假設: 假設索引0:{0, 0} 假設索引1:{0, 1} 假設索引2:{1, 1} 假設索引3:{1, 0} 如上文所示,當兩個相鄰假設之間發生轉變時本發明之基於格雷碼之假設指派導致僅一個符號值經雙態觸發。以此方式,基於針對先前假設產生之邊界樣本值,根據本發明之態樣,視訊編碼器22可藉由始終考慮藉由僅一個符號引發之變化(雙態觸發)產生用於當前假設之邊界樣本值。以此方式,視訊編碼器22可藉由併入格雷碼至假設搜尋次序中實施本發明之技術以減少假設產生之複雜度,且調整代價計算程序。 圖5為說明經組態以實施本發明之技術的實例視訊解碼器30之方塊圖。出於解釋之目的而提供圖5,且其並不限制如本發明中所廣泛例示及描述之技術。出於解釋之目的,本發明描述在HEVC寫碼之上下文中的視訊解碼器30。然而,本發明之技術可適用於其他寫碼標準或方法。 在圖5之實例中,視訊解碼器30包括熵解碼單元150、視訊資料記憶體151、預測處理單元152、反量化單元154、反變換處理單元156、重建單元158、濾波器單元160,及經解碼圖像緩衝器162。預測處理單元152包括運動補償單元164及框內預測處理單元166。在其他實例中,視訊解碼器30可包括較多、較少或不同的功能組件。 視訊資料記憶體151可儲存待由視訊解碼器30之組件解碼的經編碼視訊資料,諸如經編碼視訊位元串流。儲存於視訊資料記憶體151中之視訊資料可(例如)經由視訊資料之有線或無線網路通信例如自電腦可讀媒體16 (例如,自本端視訊源,諸如攝影機)或藉由存取實體資料儲存媒體獲得。視訊資料記憶體151可形成儲存來自經編碼視訊位元串流之經編碼視訊資料的經寫碼圖像緩衝器(CPB)。經解碼圖像緩衝器162可為儲存用於由視訊解碼器30在解碼視訊資料(例如,以框內或框間寫碼模式)時使用,或用於輸出的參考視訊資料之參考圖像記憶體。視訊資料記憶體151及經解碼圖像緩衝器162可由多種記憶體器件中之任一者形成,諸如,動態隨機存取記憶體(DRAM),包括同步DRAM(SDRAM)、磁阻式RAM(MRAM)、電阻式RAM(RRAM)或其他類型之記憶體器件。可由同一記憶體器件或獨立記憶體器件提供視訊資料記憶體151及經解碼圖像緩衝器162。在各種實例中,視訊資料記憶體151可與視訊解碼器30之其他組件一起在晶片上,或相對於彼等組件在晶片外。視訊資料記憶體151可與圖1之儲存媒體28相同或為圖1之儲存媒體28的部分。 視訊資料記憶體151接收並儲存位元串流之經編碼視訊資料(例如,NAL單元)。熵解碼單元150可自視訊資料記憶體151接收經編碼視訊資料(例如,NAL單元),且可剖析NAL單元以獲得語法元素。熵解碼單元150可對NAL單元中之經熵編碼語法元素進行熵解碼。預測處理單元152、反量化單元154、反變換處理單元156、重建單元158及濾波器單元160可基於自位元串流提取的語法元素而產生經解碼視訊資料。熵解碼單元150可執行大體上與熵編碼單元118之彼程序互逆的程序。在各種實例中,熵解碼單元150可經組態以實施本發明之一或多種技術。 根據本發明之一些實例,熵解碼單元150可判定樹型結構作為自位元串流獲得語法元素之部分。樹型結構可指定如何將初始視訊區塊(諸如,CTB)分割成較小視訊區塊(諸如,寫碼單元)。根據本發明的一或多種技術,對於在樹型結構之每一深度層級處的樹型結構之每一各別非葉節點,存在針對各別非葉節點的複數個允許之分裂圖案且對應於各別非葉節點之視訊區塊根據該複數個允許之分裂圖案中的一者而分割成對應於各別非葉節點之子節點的視訊區塊。 除自位元串流獲得語法元素之外,視訊解碼器30可對未經分割之CU執行重建操作。為對CU執行重建操作,視訊解碼器30可對CU之每一TU執行重建操作。藉由對CU之每一TU執行重建操作,視訊解碼器30可重建CU之殘餘區塊。 作為對CU之TU執行重建操作之部分,反量化單元154可反量化(亦即,解量化)與TU相關聯之係數區塊。在反量化單元154反量化係數區塊之後,反變換處理單元156可將一或多個反變換應用於係數區塊,以便產生與TU相關聯之殘餘區塊。舉例而言,反變換處理單元156可將反DCT、反整數變換、反Karhunen-Loeve變換(KLT)、反旋轉變換、反定向變換或另一反變換應用於係數區塊。 若使用框內預測編碼PU,則框內預測處理單元166可執行框內預測以產生PU之預測性區塊。框內預測處理單元166可使用框內預測模式來基於樣本空間相鄰區塊產生PU之預測性區塊。框內預測處理單元166可基於自位元串流獲得的一或多個語法元素判定用於PU之框內預測模式。 若使用框間預測編碼PU,則熵解碼單元150可判定PU之運動資訊。運動補償單元164可基於PU之運動資訊而判定一或多個參考區塊。運動補償單元164可基於一或多個參考區塊產生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之寫碼區塊相關聯的區塊假影。視訊解碼器30可將CU之寫碼區塊儲存於經解碼圖像緩衝器162中。經解碼圖像緩衝器162可提供參考圖像用於後續運動補償、框內預測及在顯示器件(諸如圖1之顯示器件32)上的呈現。舉例而言,視訊解碼器30可基於經解碼圖像緩衝器162中的區塊對其他CU之PU執行框內預測或框間預測操作。 根據本發明之一些態樣,視訊解碼器30可使用經重建殘餘樣本之預儲存集合以執行假設重建。視訊解碼器30使用預儲存經重建殘餘樣本所藉以的本發明之技術在本文中通常稱為「基於模板之重建」技術,且可表示對應於上文關於視訊編碼器22所描述的基於模板之重建技術的解碼器側操作。在根據本發明之態樣的基於模板之重建的一些情況下,視訊解碼器30可儲存一或多個經完全重建及/或經部分重建之殘餘區塊,且接著使用所儲存資訊之某一組合(例如,線性組合)以形成模板。 舉例而言,預儲存經重建殘餘樣本可儲存至視訊解碼器30之處理電路可存取(例如,經由直接或間接通信耦接)的任一記憶體,諸如目的地器件14之儲存媒體28及/或視訊資料記憶體151。又,視訊解碼器30可使用模板來導出所有可能的經重建值。殘餘區塊之每一儲存集合可使用預定義變換係數區塊來預計算。為執行假設重建,視訊解碼器30可將經完全及/或部分重建之殘餘區塊的選定群組識別為所儲存集合,且使用以此方式識別之經重建殘餘區塊的某一組合產生/估計假設重建。 如上文所論述,視訊解碼器30(及/或其組件)可根據本發明之態樣經組態以減輕與現有符號預測技術相關聯的各種問題。根據本發明之基於模板之重建技術的一些實例,視訊解碼器30可使用預定義經量化變換係數區塊(TB)、給定反量化參數及給定主要變換及/或給定輔助變換來形成所儲存集合之每一經重建區塊。下文關於特定係數論述實例,該特定係數之位置在M×N TB中經表示為f(x,y),其中0<=x<M,0<=y<N。給定反變換方法(包括主要變換及/或輔助變換)及反量化參數,視訊解碼器30可藉由將f(x,y)設定成特定值,及藉由將所有其他係數設定成與經指派給f(x,y)之值不同的值產生經量化係數區塊(表示為
B)
。舉例而言,視訊解碼器30可將f(x,y)之值設定成一(1),且可將所有其他係數設定成零(0)。 又,視訊解碼器30可藉由對經量化係數區塊
B
應用給定反量化及反變換來預計算經完全或部分重建之殘餘區塊(表示為
R
)。視訊解碼器30可預儲存經重建殘餘區塊
R
至記憶體(例如,至目的地器件14之儲存媒體28及/或至視訊資料記憶體101)。藉由預儲存經部分或完全重建之區塊
R
,視訊解碼器30可充分利用現有資源(例如,呈儲存媒體20及/或視訊資料記憶體151之形式)以快取可用於改良在後期執行的計算之效率的經預計算資訊。以此方式,在符號預測操作期間,若係數f(x,y)之符號需要在M×N TB中運用相同反變換及反量化參數來預測,則本發明之技術使得視訊解碼器30能夠避免對於f(x,y)執行反變換。實際上,視訊解碼器30可藉由|f(x,y)|之因子縮放預儲存經重建殘餘區塊
R
且接著使用預儲存經重建殘餘區塊
R
之經縮放版本以估計經重建區塊。 在本發明之基於模板之重建技術的另一實例中,視訊解碼器30可預儲存TB之經解量化版本。亦即,在此等實例中,視訊解碼器30可使用經儲存至儲存媒體28的(完全或部分)重建區塊之經解量化版本來重建當前區塊。換言之,根據此等實例,視訊解碼器30可使用預定義經解量化TB,及給定主要變換或給定輔助變換中之一者或兩者重建當前區塊。 下文在給定反變換方法(包括主要變換及/或輔助變換)情況下關於M×N TB中之特定係數f(x,y)描述本發明之基於模板之重建技術的基於經解量化TB之實施的一個使用狀況情境,其中0<=x<M,0<=y<N。在此實例中,視訊解碼器30可藉由將f(x,y)設定成特定值,及藉由將所有其他係數設定成另一值產生經解量化係數區塊
B
。舉例而言,視訊解碼器30可將f(x,y)設定成值一(1),且可將所有剩餘係數設定成值零(0)。又,視訊解碼器30可藉由對
B
應用給定反變換預計算經完全或部分重建之殘餘區塊
R
,且可預儲存經重建殘餘區塊
R
至記憶體(例如,至儲存媒體28及/或視訊資料記憶體151)。 以此方式,在符號預測期間,若經量化係數f(x,y)之符號需要運用相同反變換在M×N TB中來預測,則本發明之技術使得視訊解碼器30及/或視訊解碼器30能夠避免針對f(x,y)進行反變換。實際上,視訊解碼器30可首先將經量化係數f(x,y)反量化成f(x,y)'(以表示經解量化係數),接著視訊解碼器30可藉由|f(x,y)'|之因子縮放預儲存經重建殘餘區塊
R
。視訊解碼器30接著可使用預儲存經解量化重建之殘餘區塊
R
的經縮放版本(亦即,使用經解量化值縮放)來估計經重建區塊。如上文論述中所說明,視訊解碼器30可藉由視情況使用預儲存模板之經解量化TB資訊來實施本發明之基於模板之重建技術,其中不同計算複雜度起因於反量化操作的可選使用或不使用。 在本發明之基於模板之重建技術的一些實施中,視訊解碼器30可以分數精度預儲存經部分及/或完全重建殘餘區塊之集合。在一些實例中,視訊解碼器30可首先運用預定義因子(例如,2、4、8、16等)縮放經重建殘餘區塊之集合,且接著降值捨位結果至最接近的整數,且儲存降值捨位經縮放結果至儲存媒體28及/或視訊資料記憶體151。以此方式,視訊解碼器30可增加經預儲存重建殘餘區塊之精度。此外,在上文所描述的分數精度實施及基於縮放/降值捨位之實施兩者中,視訊解碼器30可利用本發明之基於模板之重建技術的益處,同時減少關於儲存媒體28及/或視訊資料記憶體151的記憶體要求。 根據本發明之基於模板之重建技術的一些實施,視訊解碼器30可預儲存具有經剪輯值的經完全及/或部分重建之殘餘區塊的集合。在一些情況下,視訊解碼器30可在儲存之前剪輯經重建殘餘區塊之值,使得經剪輯值適合表示之限制位元範圍。舉例而言,藉由使用負八(-8)之最小值(Vmin)及七(7)之最大值(Vmax)的約束而剪輯該等值,視訊解碼器30可形成預儲存經重建殘餘值之項目,使得可使用至多四個(4)位元呈現所有預儲存經重建殘餘值。在各種使用狀況情形中,視訊解碼器30可根據本發明之各種態樣個別地或以任何組合方式利用分數精度實施、縮放/降值捨位實施,或基於模板之重建技術的基於剪輯之實施中的一或多者。 在本發明之基於模板之重建技術的一些實例中,視訊解碼器30可使用所儲存經重建殘餘區塊之某些經識別重建殘餘區塊之線性組合來重建當前TB。舉例而言,線性組合可表示所識別經儲存重建殘餘區塊之加權和。為計算加權和,視訊解碼器30可使用預測符號所針對的經量化或經解量化(視具體情況而定)變換係數之量值(亦稱作「層級值」)判定各別權重。藉由使用多個所儲存經重建殘餘區塊的加權和,視訊解碼器30可藉由利用來自多個先前經重建區塊之資料改良假設精度。 在一些實例中,視訊解碼器30可以利用離線計算的方式實施本發明之基於模板之重建技術。因為不同變換及/或量化方法可用於視訊解碼器30,視訊解碼器30可需要儲存用於單一經量化係數區塊之多個經重建區塊。為減輕儲存要求及減弱存取經預計算殘餘區塊之資源消耗,視訊解碼器30可利用離線計算能力。舉例而言,視訊解碼器30可對預儲存殘餘區塊執行合併程序,使得多個殘餘區塊經合併並由一個殘餘區塊表示。在一些實例中,視訊解碼器30可預定義函數
f
以自另一預儲存殘餘區塊導出一個預儲存殘餘區塊,使得若干殘餘區塊中的僅一者可需要被儲存。亦即,在此等實例中,視訊解碼器30可儲存一個殘餘區塊,且可使用預定義函數
f
及單一儲存之殘餘區塊導出其他殘餘區塊。 在本發明之基於模板之重建技術的一些實施中,視訊解碼器30可儲存經預計算殘餘區塊至源器件12之晶片外記憶體(亦稱作「外部」記憶體)。在一些情況下,經預計算殘餘區塊之集合的總大小可較大,且因此可難以儲存於晶片上記憶體中。為在可用儲存約束內操作的同時繼續使用本發明之基於模板之重建技術,視訊解碼器30可預儲存經預計算殘餘區塊之集合至晶片外記憶體,其在一些實例中趨向於表示比晶片上記憶體更便宜的記憶體。在此等實施中,視訊解碼器30僅可根據需要載入殘餘區塊至晶片上記憶體。舉例而言,視訊解碼器30可每較大區塊或較大圖像區域(諸如用於最大寫碼單元(LCU))一次載入殘餘區塊。 根據本發明之基於模板之重建技術的一些實施,視訊解碼器30可使用部分殘餘區塊之預儲存集合中的每一者作為用於符號預測之模板。在一些實例中,視訊解碼器30可僅儲存經儲存用於經預計算殘餘區塊的最左邊及最頂殘餘像素。在一個實例中,除了頂部列之一或多個殘餘像素(自直接定位於左上方殘餘像素之右邊的殘餘像素開始)及/或最左邊行之一或多個殘餘像素(自直接定位於左上方殘餘像素之下方的殘餘像素開始)外,視訊解碼器30還可儲存左上方殘餘像素。在一些實例中,視訊解碼器30可以模板並不由在運作中進行部分反變換而產生的此種方式,結合(本發明之)部分殘餘區塊之預儲存集合應用Henry中描述的基於模板之符號預測程序。實際上,視訊解碼器30可藉由存取部分殘餘區塊之預儲存集合,及執行縮放操作而產生模板。 在一些實例中,視訊解碼器30可根據本發明之態樣而組態以執行選擇性符號預測。舉例而言,視訊解碼器30可關於低頻率變換係數執行選擇性符號預測。視訊解碼器30亦可執行選擇性符號預測以避免用於離群值區塊大小(例如極大或極小區塊大小)的符號預測。下文論述視訊解碼器30根據本發明之技術可使用的離群值尺寸之實例。為執行本發明之選擇性符號預測技術,視訊解碼器30可判定符號預測被執行或替代地跳過所根據之各種條件。以下段落中描述用於本發明之選擇性符號選擇態樣的各種條件。 視訊解碼器30可在逐區塊基礎上應用用於本發明之選擇性符號預測態樣的若干條件。此等條件可係關於各種特徵,包括(但不限於)區塊寬度、區塊高度、區塊面積(亦稱作「大小」)、變換係數頻率位置、最後位置、框內預測模式、是否僅主要變換用以寫碼區塊、僅特定變換函數抑或某一變換子集用於寫碼區塊、反變換方法、區塊係經框內寫碼抑或經框間寫碼區塊,或當前及/或相鄰區塊之任何其他解碼資訊。 根據本發明之選擇性符號預測技術的一些實施,若當前解碼區塊之寬度或當前解碼區塊之高度大於預定義臨限值,則視訊解碼器30可不應用符號預測。對比而言,根據現有符號預測技術,不管區塊寬度或高度而將應用符號預測,視具體情況而定。在一些實例中,臨限值可係可組態的,且視訊解碼器30可接收藉由視訊編碼器22發信的經編碼視訊位元串流中之臨限值。在各種實例中,視訊解碼器30可將臨限值(使用經發信資訊或另外方式)設定成包括(但不限於)4、8、16、32或64的值。 在本發明之選擇性符號預測技術的一些實例中,視訊解碼器30可將臨限值組態為取決於編碼區塊所根據的寫碼模式(且相反地,視訊解碼器30可使用該等模式來解碼經編碼區塊)。舉例而言,視訊解碼器30可針對經框內寫碼區塊及經框間寫碼區塊將臨限值組態為不同。在一個實例中,視訊解碼器30可針對經框內寫碼區塊將臨限值設定成32,同時針對經框間寫碼區塊將臨限值設定成64。在一些實例中,若區塊寬度或區塊高度的最小值或最大值超過臨限值,則視訊解碼器30可不應用符號預測。 根據本發明之符號預測技術的一些實例,視訊解碼器30可不針對未定位於TB之左上方K×L部分中的變換係數應用符號預測。K×L可表示TB之正方形子區塊,諸如具有2×2、3×3、4×4或8×8等之維度的子區塊。對比而言,根據現有符號預測技術,符號預測將應用於定位於TB之左上K×L部分之外部的變換係數。在一些實例中,K及/或L之值可進一步取決於寫碼模式及/或量化參數。在表示2×2子區塊之TB的K×L部分之特定實例中,可存在僅四個(4)可能符號預測。 在本發明之選擇性符號預測技術的一些實施中,視訊解碼器30可將在符號預測程序中執行的反變換限制於某一(些)反變換。舉例而言,視訊解碼器30可在假設預測程序期間產生假設的同時強加反變換約束條件。所選擇變換可不同於視訊解碼器30在導出實際係數符號之後所應用以產生實際經重建區塊的反變換。 在一個此實例中,視訊解碼器30可在符號預測期間僅使用離散餘弦變換類型-II(DCT-II)作為主要反變換。在另一此實例中,在符號預測期間,視訊解碼器30可置換輔助變換與使用預定義排列矩陣之變換。預定義排列矩陣可包括「+1」及「-1」之項目。在另一實例中,視訊解碼器30可在符號預測期間不使用輔助變換。 根據本發明之選擇性符號預測技術的一些實例,視訊解碼器30可將符號預測僅應用於使用僅主要變換編碼的彼等編碼區塊。藉由以此方式限制符號預測,視訊解碼器30可減少寫碼複雜度,使得反變換之複雜度可小於起因於經共同應用之主要變換及輔助變換的複雜度。在另一實例中,視訊解碼器30可僅對於使用某一變換核心或某一變換集合/子集編碼的彼等編碼區塊應用符號預測。以此方式限制符號預測可產生潛在益處,此係因為符號預測可對於所有變換基礎/核心並不有效地起作用,且寫碼複雜度藉此可藉由以此方式限制符號預測之應用而減少。 本發明之一些態樣係針對用於成本函數量測之技術。根據本發明之成本函數量測態樣,視訊解碼器30可利用經先前解碼資訊(經由解碼迴路而獲得)以量測用於每一假設重建之成本函數。視訊解碼器30可充分利用用於成本函數量測之先前解碼資訊包括(但不限於):當前區塊之寬度、當前區塊之高度、當前區塊之面積(本文中亦稱作「大小」)、變換係數頻率位置、最後位置、用於編碼區塊之框內預測模式、所評估區塊係經框內寫碼抑或經框間寫碼,或當前及/或相鄰區塊之任一解碼資訊。 在一些實例中,視訊解碼器30(或其一或多個組件)可藉由量測相鄰區塊之經重建樣本與沿著邊界定位的當前區塊之經重建樣本之間的差而實施本發明之成本函數量測態樣。所量測差在本文中亦被稱作「梯度」以說明差可表達為曲線之給出點處的斜率。亦即,視訊解碼器30可實施本發明之成本函數量測技術以量測相鄰經重建樣本與沿著邊界定位的當前區塊之經重建樣本之間比較的二階(差或梯度)資訊,而非量測表示樣本值之一階資訊。 根據此實施,視訊解碼器30可藉由自定位於當前區塊邊界處之預測樣本減去相鄰經重建樣本(或反之亦然)產生估計之邊界殘餘樣本。亦即,視訊解碼器30可使用減法運算以獲得表示為所估計邊界殘餘樣本與候選邊界殘餘樣本之間的差的二階資訊。對於符號之每一候選組合,所產生殘餘樣本表示「候選殘餘樣本」之集合。藉由使用相鄰殘餘樣本與當前區塊之邊界介接殘餘樣本之間的二階梯度資訊,視訊解碼器30可避免重複重建程序之情況,其中相同預測樣本用以多次產生候選殘餘樣本。以此方式,本發明之技術使得視訊解碼器30能夠減少另外為冗餘候選殘餘樣本產生將耗盡的計算資源消耗。以此方式,視訊解碼器30亦可藉由減少視訊編碼器22發信經編碼視訊位元串流中之冗餘候選殘餘樣本資訊的需要而減少頻寬要求。 在本發明之成本函數量測技術的一些實例中,視訊解碼器30可經組態以量測沿著用以量測成本函數之框內預測方向的像素值差(在本文中亦被稱作「像素梯度值」)。在一個此實例中,視訊解碼器30可預選擇所允許框內預測方向之部分子集,且可將每一所允許之框內預測方向映射至可用以接近於框內預測方向之經預先選擇框內方向中之一者。在此實例中,視訊解碼器30可在成本函數計算時量測沿映射方向之像素值差。 在框內預測方向不可用於視訊解碼器30之狀況下(例如,在所評估區塊中之一者經框間寫碼的情況下),視訊解碼器30可實際上導出框內預測模式。視訊解碼器30可自空間相鄰寫碼區塊,或藉由經寫碼圖像中之運動向量識別的區塊導出框內預測模式。若框內預測方向指向分數位置,則視訊解碼器30可應用內插程序以導出分數位置之值。視訊解碼器30可應用用於產生框內預測區塊之內插濾波器,或可實際上使用不同(例如,較簡單)內插濾波器。 根據本發明之成本函數量測態樣中之一些,視訊解碼器30可使用像素值差的二階或更高階(N階,其中「N」表示二或更大之整數值)量測成本函數。舉例而言,視訊解碼器30可使用多個參考線(例如,兩個或大於兩個)以量測代價值。視訊解碼器30用於量測代價值的參考線之數目可取決於經寫碼資訊,包括(但不限於)框內預測模式及/或相鄰經重建值。在一些情況下,視訊解碼器30可將參考線之最大數目設定成等於用於框內預測的參考線之所需要數目。 根據本發明之成本函數量測態樣的一些實施,視訊解碼器30可取決於是否滿足一或多個給定準則而自成本函數量測操作排除一些像素。在一個實例中,視訊解碼器30使用一階、二階(梯度)或N階導數之絕對值是否小於給定臨限值的準則。在另一實例中,視訊解碼器30使用用以計算N階導數之相鄰經重建樣本是否可用的準則。在又一實例中,視訊解碼器30使用恆等變換抑或變換跳過應用於水平或垂直變換的準則。 根據本發明之成本函數量測態樣的一些實施,視訊解碼器30 (在使用相鄰經重建值量測代價時)可計算多個方向之代價值。亦即,視訊解碼器30可計算多個方向之代價值,而非計算沿著固定或預定義方向(例如,對於左區塊邊界之水平方向及對於頂部區塊邊界之垂直方向)之一階、二階(梯度)或N階差值。實情為,根據此等實施,視訊解碼器30計算多個方向之代價值,且使用用於量測代價之最小代價。 在本發明之成本函數量測技術的一些實例中,對於相對較大區塊大小,視訊解碼器30可使用經下取樣假設重建來計算成本函數。藉由使用經下取樣假設重建用於成本函數量測,視訊解碼器30可減少關於較大區塊大小的成本函數應用之複雜度。根據本發明之成本函數量測技術中之一些,視訊解碼器30可僅針對經重建區塊及相鄰區塊中之部分像素量測像素值差。部分像素可例如為拐角像素。對於拐角像素,誤差通常趨向於較大。在另一實例中,視訊解碼器30可基於為潛在離群值之拐角像素自差量測排除拐角像素,或可指派不同權重至所選擇像素。 根據本發明之成本函數量測態樣的一些實施,視訊解碼器30可以預測符號之數目取決於先前經解碼資訊之方式判定預測符號之數目(例如,0、1、2、3、4、5、6等)。視訊解碼器30可用於判定預測符號之數目的先前解碼資訊之非限制性實例包括但不限於框內預測模式、區塊寬度/高度、區塊大小(面積)、QP、色彩分量、時間層、區塊係經框內寫碼抑或經框間寫碼、係一樣變換跳過抑或恆等變換、是否應用不可分離輔助變換、經量化係數、增強之多變換(EMT)索引之呈現/值,或位置相依預測組合(PDPC)旗標或索引之呈現/值。 根據本發明之成本函數量測態樣的一些實施,視訊解碼器30可在多個「M」符號被預測時,以單元或群組方式執行符號預測。亦即,視訊解碼器30可對於群組執行符號預測,而非測試所有可能的2^M個假設重建,其中「M」個符號分成「N」個群組。若剩餘群組符號尚未被預測,則視訊解碼器30可藉由將剩餘群組符號設定為經先前預測值或預設值而預測每一群組符號。視訊解碼器30可多輪反覆基於群組之符號預測程序直至預定義限制滿足為止。視訊解碼器30可在預測具有相對低係數層級之群組符號之前預測具有較大變換係數層級之群組符號。視訊解碼器30可在每一群組之預測符號不再變化,或反覆數目已滿足預定義臨限值,或反覆(例如,後續反覆)之間的代價差已停止超過某一臨限值時終止反覆。 以下段落描述大體上係關於待預測之係數符號的選擇的本發明之態樣。根據本發明之係數符號選擇態樣,視訊解碼器30可藉由利用已可用之解碼資訊(例如,經由藉由視訊解碼器30實施的解碼迴路)選擇經預測變換係數。視訊解碼器30可用於係數符號選擇的先前解碼之資訊包括(但不限於)以下各者中之一或多者:當前區塊之寬度、當前區塊之高度、當前區塊之面積(亦稱作「大小」)、當前區塊內之變換係數頻率位置、最後位置、編碼當前區塊及/或相鄰區塊所根據的框內預測模式、符號資料掩蔽是否關於當前及/或相鄰區塊而應用、當前及/或相鄰區塊係經框內寫碼抑或經框間寫碼,或當前及/或相鄰區塊之任一解碼資訊。在各種實例中,視訊解碼器30(或其一或多個組件)可實施本發明之係數符號選擇態樣,以使得預測符號之最大數目取決於當前區塊係經框間寫碼抑或經框內寫碼。在一些實例中,視訊解碼器30可基於應用於反量化區塊的反變換方法(例如,其為主要及/或輔助變換)設定預測符號之最大數目。 在一些實例中,視訊解碼器30可甚至在符號預測應用於區塊(TB)時應用符號掩蔽。在此等實例中,視訊解碼器30可掩蔽在前向掃描次序中的最後非零係數之符號,而非掩蔽在前向掃描次序中的第一非零係數。另外,在一些此等實例中,視訊解碼器30可並不在CG層級處執行符號資料掩蔽。亦即,在此等情況中,連續非零係數(即使定位於不同CG中)可被聯合地認為用於符號資料掩蔽。 在一些實例中,視訊解碼器30可預定義若干臨限值(表示為t
0
, t
1
, …, t
N
),其中t
0
>t
1
>…>t
N
。在此等實例中,視訊解碼器30可按降序導出若干區間為(t
0
, +∞)、[t
1
, t
0
),…[ t
N
, t
N-1
)。此外,視訊解碼器30可比較經解量化係數層級與給定區間中之每一者直至視訊解碼器30識別或偵測到涵蓋反量化係數層級之一個區間。視訊解碼器30可根據臨限值之降序識別係數之符號為經預測符號。 舉例而言,視訊解碼器30可首先將區間(t
0,
+∞)中之係數的符號置放至預測符號之清單中,且接著將區間[t
1,
t
0
)中之係數的符號置放至預測符號之清單中。視訊解碼器30可繼續針對每一區間按降序反覆此程序直至預測符號之數目到達預測符號的預定義最大數目,或視訊解碼器30已檢查所有可用區間為止。若視訊解碼器30判定係數具有小於t
N
之層級,則視訊解碼器30可不將符號認為係預測符號。(600, +∞)、[300, 600)表示常用或甚至典型設定。在此實例中,視訊解碼器30可並不將小於300的經解量化係數層級之符號認為預測之符號。 本發明之一些態樣係關於判定CABAC上下文以用於寫碼係數符號。亦即,根據此等技術,視訊解碼器30可藉由針對係數層級之不同區間設定不同上下文而定義符號之上下文值。再次,區間可基於各種特徵而變化。視訊解碼器30用以編碼係數符號的上下文值可取決於對應係數之經解量化層級(例如,絕對值)。視訊解碼器30可預定義若干區間,且可使用經解量化層級值所屬的區間之索引來判定上下文值中之一者。 區間之常用或甚至典型設定為(0, 600)、[600, +∞)或(0, 600]、(600, +∞)。在此區間設定情況下,若係數層級落在(0, 600)之範圍內,則視訊解碼器30可將上下文值設定成零(0)。否則(亦即若係數層級落在(0, 600)範圍外部),視訊解碼器30可將上下文值設定成一(1)。在各種實例中,視訊解碼器30(或其一或多個組件)可實施本發明之CABAC上下文判定態樣以判定區間為取決於經先前解碼資訊,包括(但不限於)用於區塊之QP、區塊面積(「大小」)、區塊寬度或區塊高度中之一或多者。 本發明之各種態樣係關於用於假設之搜尋次序,諸如用於視訊解碼器30可在區塊之假設重建期間形成的兩個假設中之一者。再次,每一假設由候選符號值之一個可能組合組成。舉例而言,若視訊解碼器30預測兩個符號,則視訊解碼器30可需要形成總共四個假設。亦即,在兩個符號情境中,視訊解碼器30可形成候選符號值之四個可能組合,包括以下: 假設索引0:{0, 0} 假設索引1:{0, 1} 假設索引2:{1, 0} 假設索引3:{1, 1}, 其中第一數位指示第一預測符號,且第二數位指示第二預測符號。在上述實例中,零(0)指示正號,而一(1)指示負號。每一假設中之候選符號值之組合對應於假設索引的二進位化表示。舉例而言,{1, 1}組合產生假設索引三,此係因為2^0位元及2^1位元兩者均設定成「1」值。若寫碼器件按遞增次序或遞減次序搜尋假設,則在兩個相鄰假設之間可存在符號值之大於一個變化。如以上實例所示,自假設索引1轉變至假設索引2,值發生兩個符號變化(例如,藉由雙態切換)。因而涉及兩個符號之雙態切換的邊界樣本變化可需要在假設重建中加以考慮。 為考慮某些邊界樣本之兩符號雙態切換,視訊解碼器30可根據下文所描述之技術中的一或多者實施本發明之假設搜尋次序態樣。為減少複雜度,根據本發明之態樣,視訊解碼器30可在格雷碼之後實施搜尋次序。根據基於格雷碼之符號指派,視訊解碼器30可根據以下符號索引指派搜尋四個假設: 假設索引0:{0, 0} 假設索引1:{0, 1} 假設索引2:{1, 1} 假設索引3:{1, 0} 如上文所示,當兩個相鄰假設之間發生轉變時本發明之基於格雷碼之假設指派導致僅一個符號值經雙態觸發。以此方式,基於針對先前假設產生之邊界樣本值,根據本發明之態樣,視訊解碼器30可藉由始終考慮藉由僅一個符號引發之變化(雙態觸發)產生用於當前假設之邊界樣本值。以此方式,視訊解碼器30可藉由併入格雷碼至假設搜尋次序中實施本發明之技術以減少假設產生之複雜度,且調整代價計算程序。 圖6為說明作為當前區塊之假設重建之部分的視訊寫碼器件可執行本發明之基於模板之重建技術所藉以的實例程序180之流程圖。儘管多種視訊寫碼器件可執行程序180,但圖6經描述為藉由視訊解碼器30(且更特定言之,其處理電路)執行,作為非限制性實例。程序180可在視訊解碼器30之處理電路識別預儲存殘餘樣本之集合時開始(182)。舉例而言,視訊解碼器30之處理電路可識別可自視訊資料記憶體151獲得的預儲存視訊資料內的預儲存殘餘樣本之集合。在一些實例中,預儲存殘餘樣本可包括於完整預儲存區塊中,或儲存至視訊資料記憶體151之部分區塊中。 在一些實例中,預儲存殘餘樣本可表示經硬寫碼常數,可不屬於經先前重建殘餘區塊。相反地,在此等實例中,預儲存殘餘樣本可表示經重建殘餘資料之近似,且並非實際經重建殘餘資料。又,視訊解碼器30之處理電路可組合預儲存殘餘樣本之所識別集合(184)。視訊解碼器30之處理電路可藉由實施多種組合邏輯形成先前經重建殘餘區塊之所識別集合的組合。在一些實例中,視訊解碼器30之處理電路可形成所識別先前經重建殘餘區塊的線性組合。舉例而言,為形成先前經重建殘餘區塊之所識別集合的線性組合,視訊解碼器30之處理電路可計算區塊之變換係數層級的加權和。 另外,視訊解碼器30之處理電路可使用預儲存殘餘樣本之組合獲得當前區塊之多個假設重建(186)。舉例而言,視訊解碼器30之處理電路可將不同符號或符號之不同組合應用於預儲存殘餘樣本之組合以形成每一各別假設重建。以此方式,視訊解碼器30之處理電路可實施本發明之技術以使用預儲存殘餘樣本(其亦稱作「儲存模板」)來關於當前區塊執行假設重建。 又,視訊解碼器30之處理電路可導出多個假設重建之各別成本函數(188)。基於針對多個假設重建所導出的不同成本函數的比較,視訊解碼器30之處理電路可選擇假設重建中的一者(190)。以此方式,視訊解碼器30之處理電路可執行本發明之基於模板之重建技術以藉由利用呈儲存至視訊資料記憶體151的先前經重建區塊之形式的所儲存資訊對於經編碼視訊資料之當前區塊執行假設重建。 在一些情況下,預儲存殘餘樣本之所識別集合的每一預儲存殘餘樣本包括於經量化變換係數區塊中。在一些實例中,預儲存殘餘樣本的所識別集合之每一預儲存殘餘樣本包括於經解量化變換係數區塊中。根據每一預儲存樣本包括於經解量化變換係數區塊中的一些實施,視訊解碼器30可指派第一絕對值至預儲存殘餘樣本之集合的每一預儲存殘餘樣本之第一變換係數,且指派第二絕對值至除了被指派第一絕對值的各別第一變換係數之外的預儲存殘餘樣本之集合之每一預儲存殘餘樣本之所有剩餘變換係數,第二絕對值不同於第一絕對值。在此等實例中,視訊解碼器30可將反變換應用於預儲存殘餘樣本之集合之每一預儲存殘餘樣本以形成經解量化重建殘餘樣本之集合。 根據每一預儲存樣本包括於經解量化變換係數區塊中的一些實施,視訊解碼器30可使用與第一變換係數中之每一者相關聯的經解量化值縮放經解量化殘餘樣本的集合之每一經解量化殘餘樣本,且可使用經縮放解量化殘餘樣本之集合來重建當前區塊。在一些實例中,預儲存殘餘樣本的所識別集合之一或多個預儲存殘餘樣本以分數精度儲存於視訊資料之儲存部分中。在一些實例中,視訊解碼器30可使用預定義因子剪輯預儲存殘餘樣本的所識別集合之每一預儲存殘餘樣本,以使得每一經剪輯預儲存殘餘樣本可使用資料之四個(4)位元或少於四個(4)位元而呈現。 在一些實例中,為組合預儲存殘餘樣本之集合以形成預儲存殘餘樣本之組合,視訊解碼器30可執行預儲存殘餘樣本之集合的一線性組合以形成預儲存殘餘樣本之一線性組合。在一些實例中,為執行預儲存殘餘樣本之集合之線性組合,視訊解碼器30可至少部分藉由指派各別權重至預儲存殘餘樣本的集合之每一預儲存殘餘樣本而計算預儲存殘餘樣本之集合的加權和。在一些實例中,為組合預儲存殘餘樣本之集合以形成預儲存殘餘樣本之組合,視訊解碼器30可合併預儲存殘餘樣本之集合以形成單一合併殘餘區塊,且可在記憶體器件中運用單一合併殘餘區塊覆寫預儲存殘餘樣本之集合。 根據一些實例,視訊解碼器30可使用預儲存殘餘樣本之識別集合的一或多個預儲存殘餘樣本導出單一殘餘區塊,且可在記憶體器件中運用導出之單一殘餘區塊覆寫預儲存殘餘樣本之集合。在一些實例中,包括預儲存殘餘樣本之集合的視訊資料之儲存部分儲存至第一記憶體器件,且視訊解碼器30可在每圖像一次或每最大寫碼單元(LCU)一次中的一者基礎上將預儲存殘餘樣本之集合的一或多個預儲存殘餘樣本自第一記憶體器件載入至第二記憶體器件。第一記憶體器件可表示晶片外記憶體且第二記憶體器件可為晶片上記憶體。再次,晶片外記憶體通常表示比晶片上記憶體更便宜的記憶體。 圖7為說明作為寫碼當前視訊資料區塊之部分的視訊寫碼器件可執行本發明之選擇性符號預測技術所藉以的實例程序220之流程圖。儘管多種視訊寫碼器件可執行程序220,但圖7經描述為藉由視訊解碼器30(且更特定言之,其處理電路)執行,作為非限制性實例。程序220可在視訊解碼器30之處理電路判定經編碼視訊資料之當前區塊適合於使用符號預測解碼時開始(222)。又,視訊解碼器30之處理電路可判定當前區塊是否滿足基於區塊之準則(決定區塊224)。 在各種實例中,視訊解碼器30之處理電路可基於各種因素設定基於區塊之準則,各種因素包括(但不限於)當前區塊之寬度、當前區塊之高度、編碼當前區塊所根據的寫碼模式,或當前區塊內之一或多個符號預測變換係數的位置。若視訊解碼器30之處理電路判定當前區塊滿足基於預定區塊之準則(決定區塊224之是分支),則視訊解碼器30之處理電路可關於當前區塊執行符號預測(226)。又,視訊解碼器30之處理電路可基於所執行符號預測來寫碼(在此實例中,解碼)當前區塊(228)。然而,若視訊解碼器30之處理電路判定當前區塊不滿足基於預定區塊之準則(決定區塊224之否分支),則視訊解碼器30之處理電路可寫碼(在此實例中,解碼)當前區塊而不需執行符號預測(230)。 在一些實例中,視訊解碼器30之處理電路可僅在區塊之寬度等於或大於預定臨限寬度時才判定區塊滿足預定準則。在一些實例中,視訊解碼器30之處理電路可僅在區塊之高度等於或大於預定臨限高度時才判定區塊滿足預定的準則。在一些實例中,視訊解碼器30之處理電路可僅在符號預測變換係數定位於區塊之左上方子區塊中時才判定區塊滿足預定的準則。 根據其中準則係基於定位於左上方子區塊中之變換係數的一些實施,左上方子區塊為正方形子區塊。在各種實例中,正方形子區塊可具有2×2、3×3、4×4或8×8中的一者之維度。在具有2×2維度之正方形子區塊之一些情況下,視訊解碼器30之處理電路可使用總共四個可能預測符號來執行符號預測。 在一些實例中,為寫碼視訊資料,視訊解碼器30之處理電路可解碼視訊資料之經編碼區塊。在一些此等實例中,視訊解碼器30之處理電路可使用第一反變換以關於編碼區塊執行假設重建程序,基於假設重建程序自複數個符號預測選擇符號預測,及使用不同於第一反變換之第二反變換重建經編碼區塊。在一些此等實例中,視訊解碼器30之處理電路可接收經編碼視訊位元串流中之表示預定準則的資料。在此等實例中,視訊編碼器22可發信經編碼視訊位元串流中之表示預定準則的資料。 圖8為說明作為當前區塊之假設重建之部分的視訊寫碼器件可執行本發明之成本函數量測技術所藉以的實例程序250之流程圖。儘管多種視訊寫碼器件可執行程序250,但圖8經描述為藉由視訊解碼器30(且更特定言之,其處理電路)執行,作為非限制性實例。程序250可在視訊解碼器30獲得當前區塊之多個假設重建時藉由將不同符號組合應用於當前區塊之變換係數而開始(252)。在其中視訊解碼器30使用兩個符號(例如,0及1)執行假設重建的一實例使用狀況中,視訊解碼器30可使用總共四個符號組合({0, 0}、{0, 1}、{1, 1}及{1, 0})以獲得當前區塊之多個假設重建。 又,視訊解碼器30可使用假設重建之樣本與一或多個相鄰區塊之樣本之間的像素值梯度量測用於多個假設重建之各別成本函數(254)。舉例而言,視訊解碼器30可藉由計算假設重建之邊界樣本的絕對值與相鄰區塊之樣本的絕對值之間的二階差資訊(例如差分或微分資料)量測各別成本函數。視訊解碼器30可將針對多個假設重建量測之成本函數彼此進行比較(256)。 基於針對多個假設重建所量測的不同成本函數的比較,視訊解碼器30可選擇假設重建中的一者以供用於解碼當前區塊(258)。以此方式,視訊解碼器30可藉由實施本發明之基於梯度之代價量測技術減少冗餘。 在一些實例中,為判定像素值梯度之第一集合,視訊解碼器30之處理電路可判定區塊之第一假設重建的樣本之絕對值與相鄰區塊之樣本的絕對值之間的二階差。在此等實例中,為判定像素值梯度之第二集合,視訊解碼器30之處理電路可判定區塊之第二假設重建的樣本之絕對值與相鄰區塊之樣本的絕對值之間的二階差。 在一些實例中,用於量測第一成本函數的區塊之第一假設重建之樣本係沿著區塊之第一假設重建與相鄰區塊之間的邊界而定位。在此等實例中,用於量測第二成本函數之區塊的第二假設重建之樣本係沿著區塊之第二假設重建與相鄰區塊之間的邊界而定位。在一些實例中,視訊解碼器30之處理電路可將第三符號組合應用於視訊資料之區塊的變換係數以獲得關於視訊資料之區塊的第三假設重建,且將第四符號組合應用於視訊資料之區塊的變換係數以獲得關於視訊資料之區塊的第四假設重建。 在一些此等實例中,視訊解碼器30之處理電路可使用格雷碼序來在第一假設重建、第二假設重建、第三假設重建及第四假設重建當中搜尋。為使用格雷碼來搜尋,視訊解碼器30之處理電路可根據符號組合之以下次序搜尋:{0, 0}、{0, 1}、{1, 1}、{1, 0}。 在下文以項目編號及子項目編號形式論述本發明之態樣。然而,應瞭解在下文各種項目編號及子項目編號中列出的態樣可根據本發明之技術經個別地或以任何組合方式應用。 下文列出之項目編號及子項目編號通常係關於適用於經重建殘餘樣本之預儲存集合的本發明之技術。根據本發明之此等態樣,經完全或部分重建之殘餘區塊的集合(各自使用預定義變換係數區塊而預計算(下文進一步詳細解釋))經預儲存用於視訊編碼器22及視訊解碼器30兩者。當進行假設重建時,經重建殘餘區塊之選定群組係自所儲存經重建殘餘區塊的集合而識別,且假設重建係使用此等所識別儲存之經重建殘餘區塊的組合(例如,線性)而產生或估計。 a) 經重建殘餘區塊之所儲存集合中的每一者可為使用預定義經量化變換係數區塊、給定反量化參數、給定主要變換及/或給定輔助變換的經重建區塊。 § 舉例而言,對於M×N TB中之特定係數f(x,y),其中0<=x<M,0<=y<N,給定反變換方法(包括主要變換及/或輔助變換)及反量化參數,經量化係數區塊
B
藉由將f(x,y)設定成特定值(例如一(1))而產生,且所有其他係數設定成另一值(例如零(0)),接著經完全或部分重建之殘餘區塊
R
藉由對
B
應用給定反量化及反變換而預計算
。
經重建殘餘區塊
R
預儲存於記憶體中。以此方式,在符號預測期間,若係數f(x,y)之符號需要運用相同反變換及反量化參數在M×N TB中預測,則本發明之技術使得視訊編碼器22及/或視訊解碼器30能夠避免針對f(x,y)進行反變換。實際上,預儲存經重建殘餘區塊
R
可藉由|f(x,y)|因子縮放且接著用以估計經重建區塊。 b) 所儲存重建殘餘區塊之集合可為使用預定義經解量化變換係數區塊、給定主要變換及/或給定輔助變換的重建區塊。 § 舉例而言,對於M×N TB中之特定係數f(x,y),其中0<=x<M,0<=y<N,給定反變換方法(包括主要變換及/或輔助變換),經解量化係數區塊
B
係藉由將f(x,y)設定成特定值(例如,一(1))而產生,且所有其他係數經設定成另一值(例如,零(0)),接著經完全或部分重建之殘餘區塊
R
係藉由將給定反變換應用於
B
上而預計算。經重建殘餘區塊
R
經預儲存於記憶體中。以此方式,在符號預測期間,若經量化係數(x,y)之符號需要運用相同反變換在M×N TB中預測,則本發明之技術使得視訊編碼器22及/或視訊解碼器30能夠避免對於f(x,y)進行反變換。實際上,經量化係數f(x,y)首先經解量化為f(x,y)',接著預儲存經重建殘餘區塊
R
可藉由因子|f(x,y)'|而縮放且接著用以估計經重建區塊。 c) 預儲存經重建殘餘區塊之集合可以分數精度儲存,或等效地,經重建殘餘區塊之集合可由首先以預定義因子(亦即2、4、8、16)縮放而儲存,且降值捨位至最接近的整數。以此方式,增加預儲存經重建殘餘區塊之精度。 d) 預儲存經重建殘餘區塊之集合可儲存有經剪輯值以適合表示之限制位元範圍。舉例而言,藉由運用最小值Vmin=-8及最大值Vmax=7應用剪輯,所有預儲存經重建殘餘值之項目可以4個位元呈現。項目編號(c)及(d)可聯合地或個別地,運用在本發明中描述之技術的其他組合來應用。 e) 在一個實例中,此等所識別儲存之經重建殘餘區塊之線性組合為此等所識別儲存之經重建殘餘區塊的加權和,且權重可藉由預測符號所針對的經量化或經解量化變換係數之層級值決定。 f) 因為不同變換及/或量化方法可供用於視訊編碼器22及視訊解碼器30,所以多個經重建區塊可需要預儲存用於一個特定經量化係數區塊,其可增加儲存及存取經預計算殘餘區塊之負擔。為了處置此問題,根據本發明之態樣可對預儲存殘餘區塊進行合併程序,使得多個殘餘區塊經合併且由一個殘餘區塊表示。 替代地,函數
f
經預定義以自另一預儲存殘餘區塊導出一個預儲存殘餘區塊,使得若干殘餘區塊中之僅一者可需要被儲存且其他係使用預定義函數
f
導出。 g) 經預計算殘餘區塊之集合的總大小可係較大的,且可難以儲存於晶片上記憶體中。替代地,經預計算殘餘區塊之集合經預儲存於外部(例如,較便宜)記憶體中,且僅所需要殘餘區塊以每較大區塊或圖像區域(例如最大寫碼單元(LCU))一次方式載入至晶片上記憶體。 h) 在一個實例中,部分殘餘區塊的預儲存集合中之每一者為用於符號預測之模板(例如,僅最左邊及最頂殘餘像素被儲存)。在Henry中描述的基於模板之符號預測程序可以模板並不藉由在運作中進行部分反變換產生的方式結合部分殘餘區塊之預儲存集合而應用。實際上,模板係藉由存取部分殘餘區塊之預儲存集合及執行縮放操作而產生。 下文列出之項目編號及子項目編號通常係關於大體上係關於使用符號預測之條件的本發明之技術。根據本發明之此等態樣,若干條件可應用於可應用符號預測的區塊。此等條件可包括(但不限於)區塊寬度及高度、區塊面積大小、變換係數頻率位置、最後位置、框內預測模式、是否僅主要變換用以寫碼區塊、是僅使用特定變換函數抑或某些變換子集、反變換方法、其係框內抑或框間寫碼區塊,或當前及/或相鄰區塊之任何其他解碼資訊。 a. 在一個實例中,若區塊寬度或區塊高度中之任一者大於臨限值,則不應用符號預測,其中臨限值可經預定義。(其中另外,符號預測將根據現有符號預測技術來應用)。替代地,臨限值可係可組態的且可經發信。典型臨限值可為(但不限於)4、8、16、32或64。 § 替代地,臨限值可取決於寫碼模式。在一個實例中,臨限值可對於框內及框間寫碼區塊而係不同的。舉例而言,對於經框內寫碼區塊,臨限值可為32,而對於框間寫碼區塊,臨限值可為64。 § 替代地,若區塊寬度或區塊高度之最小值或最大值大於臨限值,則不應用符號預測。 b. 在另一實例中,符號預測不應用於並非定位於TB之左上方K×J部分中的變換係數,其中K×J值之典型設定可為2×2、3×3、4×4或8×8等(其中另外,符號預測將根據現有符號預測技術應用)。替代地,K及/或L之值可進一步取決於寫碼模式及/或量化參數。 c. 在符號預測程序中執行的反變換(例如,估計假設)可限於某一(些)反變換。所選擇變換可不同於在已導出實際係數符號之後產生實際經重建區塊所應用的反變換。 § 在一個實例中,僅至類型-II(DCT-II)之離散餘弦轉換在符號預測期間用作主要反變換。 § 在另一實例中,在符號預測期間,輔助變換由使用預定義排列矩陣的變換替換,且預定義排列矩陣可包括「+1」及「-1」之項目。 § 在另一實例中,在符號預測期間不使用輔助變換。 d. 在一個實例中,符號預測可經應用僅針對使用僅主要變換的區塊。在此實例中,反變換之複雜度可小於起因於共同應用主要及輔助變換的複雜度。在另一實例中,符號預測可僅針對使用某一變換核心或某一變換集合/子集的區塊而應用,此係因為可能的係符號預測可並不對所有變換基礎/核心有效起作用,且可藉由限制符號預測應用而減小複雜度。 下文列出之項目編號及子項目編號通常係關於大體上係關於成本函數的本發明之技術。根據本發明之此等態樣,用於量測每一假設重建之成本函數可利用其他解碼資訊,包括(但不限於)區塊寬度及高度、區塊面積大小、變換係數頻率位置、最後位置、框內預測模式、區塊係框內寫碼區塊抑或框間寫碼區塊,或當前區塊及/或相鄰區塊之任一解碼資訊。在各種實例中,視訊編碼器22及/或視訊解碼器30(或其一或多個組件)可根據下文列出的技術中之一或多者實施本發明之成本函數態樣。 a. 成本函數可經組態以量測沿著框內預測方向的像素值差或像素梯度值差。 a. 在一個實例中,所允許框內預測方向之部分子集經預先選擇,且每一所允許框內預測方向經映射至接近框內預測方向的經預先選擇框內方向中之一者。另外,沿著映射方向之像素值差係在成本函數中量測。 b. 在框內預測方向並不可用(例如,一個區塊係運用框間模式寫碼)的狀況下,實際上可使用導出框內預測模式。所導出框內預測模式可來自空間相鄰寫碼區塊,或藉由經寫碼圖像中之運動向量識別的區塊。 c. 當框內預測方向指向分數位置時,內插程序經應用以導出彼分數位置之值。可應用用於產生框內預測區塊之內插濾波器,使用不同及/或較簡單之內插濾波器。 b. 成本函數可藉由像素值差之二階或N階來量測。 a. 多個參考線(例如,大於2)用以量測代價值。 b. 用於量測代價值之參考線的數目可取決於經寫碼資訊,包括(但不限於)框內預測模式、相鄰經重建值。 c. 參考線之最大數目可經設定成等於用於框內預測的參考線之所需要數目。 c. 一些像素取決於給定準則自量測代價值排除。 a. 在一個實例中,準則包括1階、2階(梯度)或N階導數的絕對值是否小於給定臨限值。 b. 在另一實例中,準則為用以計算N階導數的相鄰經重建樣本是否可用。 c. 在另一實例中,準則可包括恆等變換/變換跳過是否應用於水平/垂直變換。 d. 當使用相鄰經重建值量測代價,而非計算沿著固定或預定義方向(例如,對於左邊區塊邊界,其為水平方向,對於頂部區塊邊界,其為垂直方向)的1階、2階(梯度)或N階差值時,計算用於多個方向之代價值,且最小代價用於量測代價。 e. 對於較大區塊大小,成本函數可使用經下取樣假設重建,以使得應用成本函數之複雜度可對於較大區塊大小而減少。 f. 可僅針對經重建及相鄰區塊中之部分像素量測像素值差。彼等像素可為(例如)拐角,其中通常誤差較大,或彼等拐角像素可自差量測值中作為潛在離群值排除,或不同權重可經指派用於彼等所選擇的像素。 g. 所估計邊界殘餘樣本係由減去相鄰經重建樣本及位於當前區塊邊界處的預測樣本而產生,而非量測相鄰經重建樣本與位於當前區塊邊界處的經重建樣本之間的1階、梯度(2階)差。接著量測所估計邊界殘餘樣本與候選邊界殘餘樣本之間的差。以此方式,本發明之技術可避免重複重建程序,該程序需要添加相同預測樣本及不同候選殘餘樣本。如本文所使用,候選殘餘樣本指使用一個候選符號組合產生的殘餘樣本。 h. 所預測符號之數目(例如,0、1、2、3、4、5、6)可取決於經解碼/經編碼資訊,包括(但不限於)框內預測模式、區塊寬度/高度、區塊大小、QP、色彩分量、時間層、框內/框間寫碼、是否應用變換跳過/恆等變換、是否應用不可分離輔助變換、經量化係數、EMT索引、PDPC旗標/索引。 i. 當多個「M」符號待被預測,而非測試所有可能的2
M
個假設重建時,「M」個符號分成「N」個群組,接著在群組單元中執行符號預測。若每一群組符號先前尚未預測,則其係藉由將剩餘群組符號設定為先前預測值或預設值而預測。此程序可反覆若干輪直至預定義限制滿足為止。 § 具有較大變換係數層級之群組符號係在具有相對低係數層級之群組符號之前被預測。 § 當每一群組之所預測符號不再變化或反覆數目已滿足預定義臨限值,或反覆(例如,後續反覆)之間的代價差不超過某一臨限值時,反覆可終止。 下文列出之項目編號及子項目編號通常係關於大體上係關於哪些係數符號將被預測的選擇的本發明之技術。根據本發明之此等態樣,預測變換係數之選擇可利用其他解碼資訊,包括(但不限於)區塊寬度及高度、區塊面積大小、變換係數頻率位置、最後位置、框內預測模式、是否應用符號資料掩蔽、區塊係框內寫碼區塊抑或框間寫碼區塊,或當前及/或相鄰區塊之任一解碼資訊。在各種實例中,視訊編碼器22及/或視訊解碼器30(或其一或多個組件)可根據下文列出的技術中之一或多者實施本發明之係數符號選擇態樣。 a. 可預定義若干臨限值,例如,t
0
, t
1
, …, t
N
,其中例如t
0
>t
1
>…>t
N
,且若干區間按降序而導出為(t
0
, +∞),[t
1
, t
0
),… [t
N
, t
N-1
)。經解量化係數層級與給定區間中的每一者相比較直至識別涵蓋反量化係數層級之一個區間為止。係數之符號經識別為根據降序的預測符號。舉例而言,區間(t
0
, +∞)中之係數的符號首先將被置入經預測符號之清單中,接著區間(t
1
,t
0
)中之係數的符號將被置入經預測符號之清單中,且此程序按降序繼續用於每一區間直至預測符號之數目達到預測符號之預定義最大數目,或已檢查所有可用區間為止。若係數具有小於t
N
之層級,則符號可不認為預測符號。區間之典型設定可為(600, +∞)、[300, 600),此意謂例如小於300的經解量化係數層級之符號不被視為預測符號。 a. 在一個實例中,區間係取決於寫碼資訊而選擇,寫碼資訊包括(但不限於)QP,及/或區塊大小、區塊寬度、區塊高度。 b. 最大預測符號之數目可取決於經解碼資訊,例如,區塊係經框間寫碼抑或經框內寫碼,或反變換方法(例如,應用哪一主要/輔助變換)。 c. 當符號預測應用於某一TB時,可仍應用符號資料掩蔽。在此狀況下,可隱蔽按前向掃描次序之最後非零係數的符號,而非掩蔽按前向掃描次序之第一非零係數。另外,在一個實例中,可不在CG層級處執行符號資料掩蔽。亦即,連續非零係數(即使定位在不同CG中)可被聯合地認為用於符號資料掩蔽。 本發明之一些態樣係關於判定CABAC上下文以用於寫碼係數符號。寫碼係數符號之上下文值可取決於對應係數之經解量化層級(絕對值)。若干區間經預定義,藉由經解量化層級值所屬的區間之索引決定上下文值中之一者。區間之常用或甚至典型設定為(0, 600)、[600, +∞)或(0, 600]、(600, +∞)。運用此設定情況下,若層級在(0, 600)之範圍內,則上下文值為0,否則,上下文值為1。在各種實例中,視訊編碼器22及/或視訊解碼器30(或其一或多個組件)可根據下文所描述之技術中之一或多者實施本發明之CABAC上下文判定態樣。 a. 區間取決於寫碼資訊,包括(但不限於)QP,及/或區塊大小、區塊寬度、區塊高度。 本發明之一些態樣係關於用於假設之搜尋次序。每一假設由候選符號值之一個可能組合組成。舉例而言,當預測2個符號時,存在總計4個假設(候選符號值之4個可能組合),包括: 假設索引0:{0, 0} 假設索引1:{0, 1} 假設索引2:{1, 0} 假設索引3:{1, 1}, 其中第一數位指示第一預測符號,且第二數位指示第二預測符號,0指示正號且1指示負號,且每一假設中之候選符號值的組合對應於假設索引之二進位化表示。應注意,若系統按遞增/遞減次序搜尋假設,則可在兩個相鄰假設之間存在符號值之大於1的變化(例如,自假設索引1至索引2),存在改變該等值之兩個符號,此意謂吾人需要考慮藉由兩個符號引發的邊界樣本變化。 在各種實例中,視訊編碼器22及/或視訊解碼器30(或其一或多個組件)可根據下文所描述之技術中之一或多者實施本發明之假設搜尋次序態樣。為減少複雜度,根據本發明之態樣,應用在格雷碼之後的搜尋次序: 假設索引0:{0, 0} 假設索引1:{0, 1} 假設索引2:{1, 1} 假設索引3:{1, 0}, 可注意,藉由指派每一假設之格雷碼值,在兩個相鄰假設之間僅存在符號值之1變化。以此方式,基於先前假設的產生之邊界樣本值,對於當前假設,為產生邊界樣本值,本發明之系統及技術僅考慮藉由一個符號引發之邊界樣本變化。此減少複雜度並調整代價計算程序。 本發明之一些態樣係關於用於視訊寫碼的變換係數符號之最大似然解碼器側估計的技術。在最新視訊壓縮標準(如HEVC)中,非零變換係數之符號(正或負)係使用每一符號一個位元來寫碼。若干方法已經提議用以減少寫碼彼等符號所需要的平均位元速率,但使用直接估計之程序相對複雜,且產生小增益。一個實例方法係藉由使解碼器列舉一些符號值之所有組合而間接估計符號,針對每一狀況應用反變換,且發現使沿著具有已知區塊之邊界平滑度最大化的一種狀況。 本發明引入藉由採用問題之新的最大似然(ML)公式擴展此方法的技術,該公式展示先前技術實際上為ML技術之經驗近似值。使用彼等新的工具,本發明描述可經由統計屬性及技術之較好使用而改良符號估計之若干新的技術。在下文概述稍後在本發明中更詳細描述之變化: · 使用絕對差和(SAD)而非平方和之理論及實際優點; · 採用來自反變換值之任一集合的資訊,及不僅沿著區塊邊界之彼等; · 基於權重之集合的決策及熵寫碼匹配區塊預測的每一類型(時間、空間、定向等),及亦匹配變換之類型; · 二階預測之使用,使用像素預測之誤差的方差的估計,以改良符號區別功能。 在視訊壓縮標準中,線性變換可在寫碼之前適用於視訊信號,且非零係數具有首先寫碼之其量值,繼之以符號(正或負)。若干技術已經提議用以使用基於上下文算術寫碼以更有效編碼變換係數之量值,但使用符號之上下文寫碼之優點已大部分限於小波變換,且在對於視訊區塊變換之應用的最新研究中,已決定使用一個位元寫碼符號而不需上下文寫碼(對應於HEVC標準中之旁路模式)更有實際意義。 存在一種在一些狀況下避免寫碼係數之集合中之一個符號的技術,稱為如2012年12月,視訊技術之電路及系統IEEE彙刊中,第1765至1777頁,由J. Sole, R. Joshi, N. Nguyen, T. Ji, M. Karczewicz, G. Clare, F. Henry及A. Dueñas在「Transform coefficient coding in HEVC」中所闡述之「符號資料掩蔽」(SDH),但此等技術可與本發明之技術不相關(亦即,兩種技術可獨立地使用)。 在其他實例中,用於猜測正確符號值之技術包括列舉符號值之所有組合,針對每一狀況應用反變換,且接著使用來自相鄰區塊之資訊或統計模型來選擇產生最佳匹配關於正被寫碼的區塊之一些額外資訊的區塊的組合。 圖9展示用於藉由評估藉由應用反變換獲得之邊界像素,使用符號猜測之陣列來預測符號(在視訊解碼器處,諸如視訊解碼器30)之系統的一實例。此想法至影像壓縮的應用係在2007年1月美國加州聖何塞,國際光學工程學會會刊6497卷:影像處理演算法系統V中,N. Ponomarenko, A. V. Bazhyna及K. O. Egiazarian之「Prediction of signs of DCT coefficients in block-based lossy image compression」中首先提議,且稍後適合於2012年5月波蘭克拉科夫第29屆圖像寫碼會議會刊,第385至388頁,J. Koyama, A. Yamori, K. Kazui, S. Shimada及A. Nakagawa之「Coefficient sign bit compression in video coding」中之視訊寫碼,且在圖9中展示基本方法。其利用運用此等列舉方法正確預測的符號之機率與其對應係數之量值一起增長的事實。舉例而言,若係數之量值在相對大值之某一範圍中,則此係數之符號可平均在95%狀況下被正確地預測,且若係數量值相對較小,則其可在僅55%百分比狀況下被預測。 其為可藉由算術編碼器採用的此機率差,以減少用以寫碼區塊中具有最大量值的變換係數之符號的位元數目,如Ponomarenko等在上文所引用之「Prediction of signs of DCT coefficients in block-based lossy image compression」中所提議。本發明可解決用於符號估計之現有技術所帶有的一或多個問題。已展示圖9之符號估計方法可有效地改良壓縮,但其純粹基於經驗觀測結果,經驗觀測結果對於設計改良之版本非常無用(尤其在最近版本之視訊編解碼器中),最近版本之視訊編解碼器採用許多不同預測模式及殘餘變換。舉例而言,若致力於改良其功效,本發明引入將有待於測試的像素之集合擴展至整個區塊並使用已由編碼器使用的相同預測之技術,則方法將並不起作用。 此發生係因為變換係正交的,且因此可能殘餘值之平方和獨立於變換係數之符號,且將對於被測試的符號之所有集合保持恆定。當考慮到大量計算藉由編碼器採用,以發現整個區塊之極好預測時,其不可用以促進估計變換係數符號係異常的。以下描述解釋異常並不與估計問題本質上相關,但實際上其係使用次最佳估計方法的結果。 因此,藉由本發明之技術解決的主要問題係如何使用用於預測模式之所有不同類型及變換類型的進階統計方法(而非特用技術)最佳化在解碼器處估計變換係數符號之技術。 現將描述本發明之技術,開始於所使用之通用方法的概述。考慮到本發明之技術認為此問題可經規劃為統計符號估計問題,且因此可運用進階統計方法來解決,而非僅僅採用經驗最佳匹配準則來決定符號值,本發明之技術可解決上文所論述之問題。 因此,本發明之技術使用最大似然方法,且將圖9之系統修改成圖10中展示之一個系統,其中新的元素標記為「變換係數」、「係數權重」、「選擇最大因子」、「係數索引」、「符號陣列」、「恢復區塊像素」、「區塊子集」、「模型參數」、「對數似然計算」、「預測符號」、「符號校正」及「解碼像素」。本發明之以下部分論述彼等階段中之每一者如何可潛在地得以改良。此章節以一般術語概述最大似然技術如何應用於符號估計問題。 在尺寸W×H之區塊中,符號
s
指示被測試的符號之陣列,使用
,
;
, 以指示具有根據
s
修改之符號的變換係數,且將變換值表示為
,
;
. 另外,定義
K
以表示解碼器可用於估計符號(例如,相鄰區塊中之解碼像素、具有已知符號之變換係數、統計模型等)的瞭解。 圖10展示根據本發明之技術的用於使用最大似然預測符號(在諸如視訊解碼器30之視訊解碼器處)的系統之實例。 尋找在給定
K
情況下最大化條件似然函數的陣列
s , 其中在給定解碼器瞭解
K
的情況下,
為殘餘之機率密度函數。等效地,對數似然函數可經最大化如下:
. 機率分佈函數通常根據用於資料之模型而定義。舉例而言,在成像應用中已知殘餘值具有很好表示為廣義高斯分佈的機率,其中機率密度函數
, 其中
、
、
分別表示形狀參數、平均值及標準差,且
. 因此,對於符號估計問題,為評估符號值之陣列
s
,除了常數項以外,等於對數似然之函數呈以下形式
(1) 在此等定義之後,可定義解碼器側符號估計技術可如何整合至複雜視訊寫碼系統中。 1. 對於每一預測模式及變換類型,判定在解碼變換係數量值之後可用的瞭解,並定義殘餘之條件統計模型。 2. 給定統計模型,判定其典型參數(例如來自訓練),且使用彼等參數,設計最佳化符號估計方法,該方法具有針對預測模式及變換類型中之每一者的特定規則。 3. 符號估計列舉至編碼及解碼程式中,添加方法及資料以判定最佳化參數及準則,其特異性針對每一預測模式及變換類型。 舉例而言,在使用等式(1)時,條件統計模型完全由形狀、平均值及方差參數定義,亦即
,
,
,,其應亦在編碼及解碼期間被估計,但具有大大減少之準確度,或簡化之模型。舉例而言,可使用以下準則: · 若殘餘分佈經假定為拉普拉斯(Laplacian) (形狀參數
r
=1),則可使用下式:
其中位置權重之陣列
. 此意謂在此狀況下絕對差和(SAD)或加權絕對差和(WSAD)應用於量測恢復像素之集合如何適合統計模型。 · 若殘餘分佈經假定為高斯(形狀參數
r
=2),則可使用下式:
在此狀況下,平方差和(SSD)或加權平方差和(WSSD)應用於量測對模型之適合度。應注意各種現有技術可被視為此最後等式之逼近,其中若殘餘在區塊邊界中,則權重等於一(1),且否則,權重等於零,且所估計平均值等於當前預測與來自相鄰區塊之像素值之間的差。本發明之接下來章節呈現關於如何使用上文所描述程序,及不同於現有技術之方式的一些細節。 現將描述關於對數似然估計中之可變權重及空間支援的本發明之態樣。用於符號估計之前述方法僅使用沿區塊邊界之像素來量測由不正確符號值產生的不連續。本發明引入用於使用對數似然函數以判定哪些像素應包括於符號決策中的技術。如由等式(1)之對數似然目標函數所指示,具有最小估計方差之像素在對數似然函數中具有更多重要性。因此,為減少估計之複雜度,本發明描述用於僅使用預期具有充分小方差之像素值的技術。此取決於統計模型、預測方法、變換類型等,且可不同於在區塊邊界處之像素。 圖11展示此可如何進行之實例。在圖中,灰度值用以指示用於對數似然之權重,其中較暗指示較大,且白色指示等於零的零(及因此,忽略之像素)。現有技術可使用邊界像素中之相等權重,而本發明之技術包括允許取決於統計之不同位置中之變數。 圖11展示根據本發明之技術的取決於統計模型及複雜度考慮因素可如何在區塊中存在可變權重(較暗表示較大權重,且白色表示等於零之權重之實例)。 現將描述關於來自預測之似然權重之判定的本發明的態樣。現有技術與可變權重之使用之間的一個更重要差別(如最後章節中描述)為亦允許使用彼等權重之兩個不同模式: · 權重之集合可經預定義用於不同預測模式及變換類型,且儲存於固定表中。 · 在編碼及解碼的同時,根據可供解碼器使用的瞭解(
K
),可使用藉由視訊編碼器22及視訊解碼器30共用以估計統計參數的演算法比較權重之集合。 圖12展示在分析區塊預測之特性之後編碼器及解碼器如何決定待用於似然計算的權重之集合。 圖12展示新程序:區塊預測(其藉由編碼器及解碼器共用)可用以估計殘餘之方差,且可自彼等方差導出待用於似然函數之權重。 現將描述關於變換係數選擇之本發明的額外態樣。在現有技術中,需要使其符號由解碼器估計的係數之集合僅僅藉由係數量值來定義,其中選擇最大非零係數。 估計係數之符號的效果取決於量值,但其亦取決於其他因素,包括: · 用於計算對數似然函數之像素集合,及其方差; · 評估對應於係數之變換基底函數在像素之集合上的投射。 此等因素之組合可係重要的,此係因為其判定估計將如何好地起作用。舉例而言,若某一變換係數對其中似然函數被評估的像素極少有效果,或其僅影響其中方差極大的位置,則彼係數之量值可能對於符號估計不太重要。 使用此特性,本發明引入用於改變準則以選擇使其符號在解碼器處運用以下所述來估計的變換係數之技術。 1. 對於每一預測模式及變換,定義非負乘數之集合
,
;
, 其中量值與似然估計中之彼係數的效應之估計成比例。 2. 選擇具有量值與乘數之最大乘積(亦即,替代僅量值)的係數用於符號測試,使用該等乘積
,
;
, 如在用於似然函數之權重的狀況中,此等乘數可經預計算,或基於共用預測資料藉由編碼器及解碼器導出。 現將描述關於熵寫碼之本發明的態樣。根據現有技術,使用取決於其係數之量值的上下文來熵寫碼符號校正位元。如前述章節中所指示,估計程序之效果取決於似然評估,其又取決於若干其他因素。 為潛在地改良壓縮,本發明描述用於添加額外上下文至熵寫碼階段的技術,包括以下: 1. 上下文取決於區塊大小及預測類型,亦即框內或框間預測。 2. 對於框內預測,添加基於預測模式之上下文,添加基於預測模式之某一集合資料。 3. 添加基於變換類型之額外上下文。更特定言之,在JEM-3.0編解碼器中,變換根據經編碼資訊、根據嵌入之多變換(EMT)旗標及不可分離輔助變換(NSST)旗標應用於區塊。因此,為適應於變換,上下文可能取決於EMT及NSST旗標,或基於彼等旗標之某一集合資料。 使用由變換係數量值與其對應乘數之乘積的區間定義的上下文,如前述章節中所定義。 為了說明之目的,本發明之某些態樣已經關於HEVC標準之擴展而描述。然而,本發明中所描述之技術可用於其他視訊寫碼程序,包括尚未開發之其他標準或專有視訊寫碼程序。 如本發明中所描述之視訊寫碼器可指視訊編碼器或視訊解碼器(例如,視訊編碼器件或視訊解碼器件)。類似地,視訊寫碼單元可指視訊編碼器或視訊解碼器。同樣地,如適用,視訊寫碼可指視訊編碼或視訊解碼。 應認識到,取決於實例,本文中所描述之技術中之任一者的某些動作或事件可以不同序列被執行、可被添加、合併或完全省去(例如,並非所有所描述動作或事件為實踐該等技術所必要)。此外,在某些實例中,可例如經由多線緒處理、中斷處理或多個處理器同時而非順序執行動作或事件。 在一或多個實例中,所描述功能可以硬體、軟體、韌體或其任何組合來實施。若實施於軟體中,則該等功能可作為一或多個指令或程式碼而儲存於電腦可讀媒體上或經由電腦可讀媒體進行傳輸,且由基於硬體之處理單元執行。電腦可讀媒體可包括電腦可讀儲存媒體(其對應於諸如資料儲存媒體之有形媒體)或通信媒體,該通信媒體包括(例如)根據通信協定促進電腦程式自一處傳送至另一處的任何媒體。以此方式,電腦可讀媒體通常可對應於(1)非暫時性之有形電腦可讀儲存媒體,或(2)諸如信號或載波之通信媒體。資料儲存媒體可為可藉由一或多個電腦或一或多個處理器存取以擷取指令、程式碼及/或資料結構以用於實施本發明所描述之技術的任何可用媒體。電腦程式產品可包括電腦可讀媒體。 藉由實例而非限制,此等電腦可讀儲存媒體可包含RAM、ROM、EEPROM、CD-ROM或其他光碟儲存器、磁碟儲存器或其他磁性儲存器件、快閃記憶體或可用於儲存呈指令或資料結構形式之所要程式碼且可由電腦存取的任何其他媒體。而且,任何連接被恰當地稱為電腦可讀媒體。舉例而言,若使用同軸纜線、光纖纜線、雙絞線、數位用戶線(DSL)或諸如紅外線、無線電及微波之無線技術,自網站、伺服器或其他遠端源來傳輸指令,則同軸纜線、光纖纜線、雙絞線、DSL或諸如紅外線、無線電及微波之無線技術包括於媒體之定義中。然而,應理解,電腦可讀儲存媒體及資料儲存媒體不包括連接、載波、信號或其他暫時性媒體,而實情為關於非暫時性有形儲存媒體。如本文中所使用,磁碟及光碟包括緊密光碟(CD)、雷射光碟、光學光碟、數位影音光碟(DVD)、軟碟及藍光光碟,其中磁碟通常以磁性方式再生資料,而光碟藉由雷射以光學方式再生資料。以上各者的組合亦應包括於電腦可讀媒體之範疇內。 指令可由一個或多個處理器執行,諸如一或多個數位信號處理器(DSP)、通用微處理器、處理電路(例如,固定功能電路、可程式化處理電路或固定功能電路與可程式化處理電路之任何組合)、特定應用積體電路(ASIC)、場可程式化邏輯陣列(FPGA)或其他等效整合或離散邏輯電路。因此,如本文中所使用之術語「處理器」可指上述結構或適合於實施本文中所描述之技術的任何其他結構中之任一者。此外,在一些態樣中,本文所描述之功能可設置於經組態以供編碼及解碼或併入於經組合編解碼器中之專用硬體及/或軟體模組內。此外,該等技術可完全實施於一或多個電路或邏輯元件中。 本發明之技術可實施於廣泛多種器件或裝置中,包括無線手持機、積體電路(IC)或IC集合(例如,晶片組)。本發明中描述各種組件、模組或單元以強調經組態以執行所揭示之技術之器件的功能態樣,但未必要求由不同硬體單元來實現。確切地說,如上文所描述,可將各種單元組合於可在編解碼器硬體單元中,或藉由互操作性硬體單元(包括如上文所描述之一或多個處理器)之集合而結合適合之軟體及/或韌體來提供該等單元。 各種實例已予以描述。此等及其他實例在以下申請專利範圍之範疇內。