本申請案主張2016年8月11日申請之美國臨時申請案第
62 / 373 , 884
號之權益,該申請案之全部內容特此以引用的方式併入。 本發明係關於具有高動態範圍(HDR)及廣色域(WCG)表示之視訊信號的寫碼。更特定而言,本發明之技術包括應用於某些色彩空間中之視訊資料以實現HDR及WCG視訊資料之更高效壓縮的傳信及操作。所提出之技術可改良用於寫碼HDR及WCG視訊資料之基於混合的視訊寫碼系統(例如基於HEVC之視訊寫碼器)的壓縮效率。在附圖及以下描述中闡述本發明之一或多個實例的細節。其他特徵、目標及優勢將自描述、圖式及申請專利範圍而顯而易見。 圖1為說明可利用本發明之技術之實例視訊編碼及解碼系統10的方塊圖。如圖1中所展示,系統10包括源器件12,該源器件提供稍後時間將由目的地器件14解碼的經編碼視訊資料。特定言之,源器件12經由電腦可讀媒體16將視訊資料提供至目的地器件14。源器件12及目的地器件14可包含廣泛範圍之器件中的任一者,包括桌上型電腦、筆記型(亦即,膝上型)電腦、平板電腦、機上盒、諸如所謂的「智慧型」電話之電話手持機、所謂的「智慧型」平板、電視、攝影機、顯示器件、數位媒體播放器、視訊遊戲控制台、視訊串流器件或其類似者。在一些情況下,可裝備源器件12及目的地器件14以用於無線通信。 在圖1之實例中,源器件12包括視訊源18、包括視訊預處理器單元19及視訊編碼器20之視訊編碼單元21,以及輸出介面22。目的地器件14包括輸入介面28、包括視訊解碼器30及視訊後處理器單元31之視訊解碼單元29,以及顯示器件32。根據本發明之一些實例,視訊預處理器單元19及視訊後處理器單元31可經組態以執行本發明中所描述之具體技術的全部或部分。舉例而言,視訊預處理器單元19及視訊後處理器單元31可包括經組態以應用靜態轉移函數之靜態轉移函數單元,但具有可調適信號特性之預處理及後處理單元。 在其他實例中,源器件及目的地器件可包括其他組件或配置。舉例而言,源器件12可自諸如外部攝影機之外部視訊源18接收視訊資料。同樣地,目的地器件14可與外部顯示器件介接,而非包括整合式顯示器件。 圖1之所說明系統10僅為一個實例。用於處理視訊資料之技術可由任何數位視訊編碼及/或解碼器件執行。儘管本發明之技術通常由視訊編碼器件執行,但該等技術亦可由視訊編碼器/解碼器(通常被稱作「編解碼器」)執行。為了易於描述,參考在源器件12及目的地器件14中之各別一者中執行本發明中所描述之實例技術的視訊預處理器單元19及視訊後處理器單元31來描述本發明。源器件12及目的地器件14僅為源器件12產生經寫碼視訊資料以供傳輸至目的地器件14之此類寫碼器件的實例。在一些實例中,器件12、14可以實質上對稱的方式操作,使得器件12、14中之每一者包括視訊編碼及解碼組件。因此,系統10可支援視訊器件12、14之間的單向或雙向視訊傳輸,例如用於視訊串流、視訊播放、視訊廣播或視訊電話。 源器件12之視訊源18可包括視訊捕捉器件,諸如視訊攝影機、含有先前捕捉之視訊的視訊存檔及/或用以自視訊內容提供者接收視訊資料的視訊饋入介面。作為另一替代例,視訊源18可產生基於電腦圖形之資料作為源視訊,或實況視訊、存檔視訊及電腦產生之視訊的組合。在一些情況下,若視訊源18為視訊攝影機,則源器件12及目的地器件14可形成所謂的攝影機電話或視訊電話。源器件12可包含經組態以儲存視訊資料之一或多個資料儲存媒體。然而,如上文所提及,本發明中所描述之技術通常可適用於視訊寫碼,且可應用於無線及/或有線應用。在每一情況下,經捕捉、經預捕捉或電腦產生之視訊可由視訊編碼單元21編碼。經編碼視訊資訊可接著由輸出介面22輸出至電腦可讀媒體16上。 目的地器件14可經由電腦可讀媒體16接收待解碼之經編碼視訊資料。電腦可讀媒體16可包含能夠將經編碼視訊資料自源器件12移動至目的地器件14的任何類型之媒體或器件。在一個實例中,電腦可讀媒體16可包含使得源器件12能夠即時將經編碼視訊資料直接傳輸至目的地器件14的通信媒體。可根據諸如無線通信協定之通信標準來調變經編碼視訊資料,且將經編碼視訊資料傳輸至目的地器件14。通信媒體可包含任何無線或有線通信媒體,諸如射頻(RF)頻譜或一或多個實體傳輸線。通信媒體可形成基於封包之網路(諸如,區域網路、廣域網路或諸如網際網路之全域網路)的部分。通信媒體可包括路由器、交換器、基地台或可用於促進自源器件12至目的地器件14的通信之任何其他設備。目的地器件14可包含經組態以儲存經編碼視訊資料及經解碼視訊資料之一或多個資料儲存媒體。 在一些實例中,經編碼資料可自輸出介面22輸出至儲存器件。類似地,可藉由輸入介面自儲存器件存取經編碼資料。儲存器件可包括各種分佈式或本端存取之資料儲存媒體中之任一者,諸如硬碟機、藍光光碟、DVD、CD-ROM、快閃記憶體、揮發性或非揮發性記憶體或用於儲存經編碼視訊資料之任何其他合適的數位儲存媒體。在另一實例中,儲存器件可對應於檔案伺服器或可儲存由源器件12產生之經編碼視訊的另一中間儲存器件。目的地器件14可經由串流或下載自儲存器件存取所儲存之視訊資料。檔案伺服器可為能夠儲存經編碼視訊資料且將彼經編碼視訊資料傳輸至目的地器件14之任何類型的伺服器。實例檔案伺服器包括網頁伺服器(例如,用於網站)、FTP伺服器、網路附接儲存(NAS)器件或本端磁碟機。目的地器件14可經由任何標準資料連接(包括網際網路連接)來存取經編碼視訊資料。此連接可包括適合於存取儲存於檔案伺服器上之經編碼視訊資料的無線頻道(例如,Wi-Fi連接)、有線連接(例如,DSL、電纜數據機等)或兩者之組合。自儲存器件的經編碼視訊資料之傳輸可為串流傳輸、下載傳輸或其組合。 本發明之技術不必限於無線應用或設定。該等技術可應用於視訊寫碼以支援各種多媒體應用中之任一者的視訊寫碼,該等應用諸如空中電視廣播、有線電視傳輸、衛星電視傳輸、諸如HTTP動態自適應串流(DASH)之網際網路串流視訊傳輸、經編碼至資料儲存媒體上之數位視訊、儲存於資料儲存媒體上的數位視訊之解碼,或其他應用。在一些實例中,系統10可經組態以支援單向或雙向視訊傳輸從而支援諸如視訊串流、視訊播放、視訊廣播及/或視訊電話之應用。 電腦可讀媒體16可包括暫態媒體,諸如無線廣播或有線網路傳輸,或儲存媒體(亦即,非暫時性儲存媒體),諸如硬碟、快閃驅動器、緊密光碟、數位視訊光碟、藍光光碟或其他電腦可讀媒體。在一些實例中,網路伺服器(未圖示)可自源器件12接收經編碼視訊資料且將經編碼視訊資料提供至目的地器件14,例如經由網路傳輸。類似地,諸如光碟衝壓設施之媒體生產設施的計算器件可自源器件12接收經編碼視訊資料且生產含有經編碼視訊資料之光碟。因此,在各種實例中,電腦可讀媒體16可理解為包括各種形式之一或多個電腦可讀媒體。 目的地器件14之輸入介面28自電腦可讀媒體16接收資訊。電腦可讀媒體16之資訊可包括由視訊編碼單元21之視頻編碼器20定義的語法資訊,該語法資訊亦由視訊解碼單元29之視訊解碼器30使用,該語法資訊包括描述區塊及其他經寫碼單元(例如,圖像群組(GOP))之特性及/或處理的語法元素。顯示器件32向使用者顯示經解碼視訊資料,且可包含各種顯示器件中之任一者,諸如陰極射線管(CRT)、液晶顯示器(LCD)、電漿顯示器、有機發光二極體(OLED)顯示器或另一類型之顯示器件。 如所說明,視訊預處理器單元19自視訊源18接收視訊資料。視訊預處理器單元19可經組態以處理視訊資料從而將視訊資料轉換成適合於使用視訊編碼器20編碼之形式。舉例而言,視訊預處理器單元19可執行動態範圍壓緊(例如使用非線性轉移函數)、至更緊密或穩固色彩空間之色彩轉換及/或浮點至整數表示轉換。視訊編碼器20可對由視訊預處理器單元19輸出之視訊資料執行視訊編碼。視訊解碼器30可執行視訊編碼器20之反向以解碼視訊資料,且視訊後處理器單元31可執行由視訊預處理器單元19執行之操作的反向以將視訊資料轉換成適合於顯示之形式。舉例而言,視訊後處理器單元31可執行整數至浮點轉換、自緊密或穩固色彩空間之色彩轉換及/或動態範圍壓緊之反向來產生適合於顯示的視訊資料。 視訊編碼單元21及視訊解碼單元29各自可實施為各種適合之處理電路中的任一者,包括固定功能處理電路及/或可程式化處理電路,諸如一或多個微處理器、數位信號處理器(DSP)、特殊應用積體電路(ASIC)、場可程式化閘陣列(FPGA)、離散邏輯、軟體、硬體、韌體,或其任何組合。當該等技術部分以軟體實施時,器件可將用於軟體之指令儲存於合適的非暫時性電腦可讀媒體中,且使用一或多個處理器在硬體中執行該等指令,以執行本發明之技術。視訊編碼單元21及視訊解碼單元29中之每一者可包括於一或多個編碼器或解碼器中,編碼器或解碼器中之任一者可整合為各別器件中的組合式編碼器/解碼器(編解碼器)之部分。 儘管視訊預處理器單元19及視訊編碼器20經說明為視訊編碼單元21內之單獨單元,且視訊後處理器單元31及視訊解碼器30經說明為視訊解碼單元29內之單獨單元,但本發明中所描述之技術並不限於此。視訊預處理器單元19及視訊編碼器20可形成為共同器件(例如,積體電路或容納在同一晶片內)。類似地,視訊後處理器單元31及視訊解碼器30可形成為共同器件(例如,積體電路或容納在同一晶片內)。 在一些實例中,視訊編碼器20及視訊解碼器30可根據由ITU-T視訊寫碼專家群組(VCEG)及ISO/IEC運動圖像專家群組(MPEG)之視訊寫碼聯合合作小組(JCT-VC))開發的高效率視訊寫碼(HEVC)標準而操作。被稱作「HEVC草案規範」之HEVC標準草案係描述於Bross等人之「High Efficiency Video Coding (HEVC) Defect Report 3」(ITU-T SG16 WP3及ISO/IEC JTC1/SC29/WG11之視訊寫碼聯合合作小組(JCT-VC),第16次會議,San Jose,US,2014年1月,文獻號JCTVC-P1003_v1)中。HEVC草案規範可自http://phenix.it-sudparis.eu/jct/doc_end_user/documents/ 16_San%20Jose/wg11/JCTVC-P1003-v1.zip 獲得。HEVC規範亦可於http://www.itu.int/rec/T-REC-H.265-201504-I/en 存取。 此外,正不斷努力產生HEVC之可調式視訊寫碼擴展。HEVC之可調式視訊寫碼擴展可被稱作SHEVC或SHVC。另外,VCEG及MPEG之3D視訊寫碼聯合合作小組(JCT-3C)正在開發基於HEVC之3DV標準。針對基於HEVC之3DV標準的標準化努力之部分包括基於HEVC之多視圖視訊編解碼器之標準化(亦即,MV-HEVC)。 在HEVC及其他視訊寫碼規範中,視訊序列通常包括一系列圖像。圖像亦可被稱作「圖框」。圖像可包括三個樣本陣列,標示為S
L
、S
Cb
及S
Cr
。S
L
為明度樣本之二維陣列(亦即,區塊)。S
Cb
為Cb色度(chrominance)樣本之二維陣列。S
Cr
為Cr色度樣本之二維陣列。色度樣本亦可在本文中被稱作「色度(chroma)」樣本。在其他情況下,圖像可為單色的且可僅包括明度樣本陣列。 為產生圖像之經編碼表示,視訊編碼器20可產生寫碼樹型單元(CTU)之集合。CTU中之每一者可包含明度樣本之寫碼樹型區塊、色度樣本之兩個對應的寫碼樹型區塊,及用以寫碼該等寫碼樹型區塊之樣本的語法結構。在單色圖像或具有三個單獨色彩平面之圖像中,CTU可包含單一寫碼樹型區塊及用以寫碼該寫碼樹型區塊之樣本的語法結構。寫碼樹型區塊可為樣本之N×N區塊。CTU亦可被稱作「樹型區塊」或「最大寫碼單元」(LCU)。HEVC之CTU可廣泛地類似於諸如H.264/AVC的其他標準之巨集區塊。然而,CTU未必限於特定大小,且可包括一或多個寫碼單元(CU)。圖塊可包括按光柵掃描次序連續地定序之整數數目個CTU。 本發明可使用術語「視訊單元」或「視訊區塊」或「區塊」來指代一或多個樣本區塊及用以寫碼樣本之一或多個區塊之樣本的語法結構。視訊單元之實例類型可包括CTU、CU、PU、變換單元(TU)、巨集區塊、巨集區塊分區,等等。在一些上下文中,PU之論述可與巨集區塊或巨集區塊分區之論述互換。 為產生經寫碼的CTU,視訊編碼器20可對CTU之寫碼樹型區塊遞迴地執行四分樹分割,以將寫碼樹型區塊劃分成寫碼區塊,因此命名為「寫碼樹型單元」。寫碼區塊可為樣本之N×N區塊。CU可包含具有明度樣本陣列、Cb樣本陣列及Cr樣本陣列之圖像的明度樣本之寫碼區塊,及色度樣本之兩個對應寫碼區塊,及用以寫碼該等寫碼區塊之樣本的語法結構。在單色圖像或具有三個單獨色彩平面之圖像中,CU可包含單一寫碼區塊及用以寫碼該寫碼區塊之樣本的語法結構。 視訊編碼器20可將CU之寫碼區塊分割成一或多個預測區塊。預測區塊為被施加有相同預測之樣本的矩形(亦即,正方形或非正方形)區塊。CU之預測單元(PU)可包含明度樣本之預測區塊、色度樣本之兩個對應的預測區塊及用以預測該等預測區塊的語法結構。在單色圖像或具有三個單獨色彩平面之圖像中,PU可包含單一預測區塊及用以預測該預測區塊的語法結構。視訊編碼器20可針對CU之每一PU的預測區塊(例如明度、Cb及Cr預測區塊)產生預測性區塊(例如明度、Cb及Cr預測性區塊)。 視訊編碼器20可使用框內預測或框間預測來產生PU之預測性區塊。若視訊編碼器20使用框內預測來產生PU之預測性區塊,則視訊編碼器20可基於包括PU之圖像的經解碼樣本來產生PU之預測性區塊。 在視訊編碼器20產生CU之一或多個PU的預測性區塊(例如明度、Cb及Cr預測性區塊)之後,視訊編碼器20可產生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之變換區塊以產生TU之係數區塊。舉例而言,視訊編碼器20可將一或多個變換應用於TU之明度變換區塊以產生TU之明度係數區塊。係數區塊可為變換係數之二維陣列。變換係數可為純量。視訊編碼器20可將一或多個變換應用於TU之Cb變換區塊以產生TU之Cb係數區塊。視訊編碼器20可將一或多個變換應用於TU之Cr變換區塊以產生TU之Cr係數區塊。 在產生係數區塊(例如,明度係數區塊、Cb係數區塊或Cr係數區塊)之後,視訊編碼器20可量化係數區塊。量化通常係指變換係數經量化以可能減少用以表示變換係數的資料之量從而提供進一步壓縮之程序。在視訊編碼器20量化係數區塊之後,視訊編碼器20可熵編碼指示經量化變換係數之語法元素。舉例而言,視訊編碼器20可對指示經量化變換係數之語法元素執行上下文自適應性二進位算術寫碼(CABAC)。 視訊編碼器20可輸出包括形成經寫碼圖像及相關聯資料之表示的位元序列之位元串流。因此,位元串流包含視訊資料之經編碼表示。位元串流可包含網路抽象層(NAL)單元之序列。NAL單元為含有NAL單元中之資料類型之指示的語法結構及含有呈視需要穿插有模擬阻止位元之原始位元組序列有效負載(RBSP)形式之彼資料的位元組。NAL單元中之每一者可包括NAL單元標頭且囊封RBSP。NAL單元標頭可包括指示NAL單元類型碼之語法元素。由NAL單元之NAL單元標頭指定的NAL單元類型碼指示NAL單元之類型。RBSP可為含有囊封於NAL單元內的整數數目個位元組之語法結構。在一些情況下,RBSP包括零個位元。 視訊解碼器30可接收由視訊編碼器20產生之位元串流。另外,視訊解碼器30可剖析位元串流以自位元串流獲得語法元素。視訊解碼器30可至少部分地基於自位元串流獲得之語法元素重建構視訊資料之圖像。重建構視訊資料之程序可大體上與由視訊編碼器20執行之程序互逆。舉例而言,視訊解碼器30可使用PU之運動向量來判定當前CU之PU的預測性區塊。另外,視訊解碼器30可反量化當前CU之TU的係數區塊。視訊解碼器30可對係數區塊執行反變換以重建構當前CU之TU的變換區塊。視訊解碼器30可藉由將當前CU之PU的預測性區塊之樣本添加至當前CU之TU的變換區塊之對應樣本來重建構當前CU之寫碼區塊。藉由重建構圖像之每一CU的寫碼區塊,視訊解碼器30可重建構該圖像。 現將論述HDR/WCG之態樣。預期下一代視訊應用以表示具有HDR及WCG之經捕捉景物的視訊資料來操作。所利用之動態範圍及色域之參數為視訊內容之兩個獨立屬性,且出於數位電視及多媒體服務之目的,其規範由若干國際標準定義。舉例而言,標準ITU-R BT. 709-5,「Parameter values for the HDTV standards for production and international programme exchange」(2002)(以下稱作「ITU-R BT. Rec. 709」)定義高清晰度電視(high definition television,HDTV)之參數,諸如標準動態範圍(SDR)及標準色域。另一方面,ITU-R Rec. 2020指定超高清晰度電視 (ultra-high definition television,UHDTV)參數,諸如HDR及WCG。亦存在指定其他系統中之動態範圍及色域屬性的其他標準開發組織(SDO)文獻。舉例而言,P3色域定義於SMPTE-231-2 (電影及電視工程師協會)中,且HDR的一些參數定義於SMPTE ST 2084中。在下文提供視訊資料之動態範圍及色域的簡要描述。 現將論述動態範圍之態樣。動態範圍通常經定義為視訊信號之最小亮度與最大亮度之間的比率。動態範圍亦可根據一或多個「f光圈刻度(f-stops)」來量測,其中一個f光圈刻度對應於信號動態範圍之倍增。在MPEG之定義中,HDR內容為以多於16個f光圈刻度的亮度變化為特徵的此類內容。在一些術語中,10個f光圈刻度與16個f光圈刻度之間的位準被視為中間動態範圍,但在其他定義中被視為HDR。同時,人類視覺系統(HVS)能夠感知較大(例如「較寬」或「較廣」)動態範圍。然而,HVS包括用以窄化所謂的「同時範圍」之調適機制。 圖2為說明由HDTV之SDR、UHDTV之預期HDR及HVS動態範圍提供的動態範圍之可視化的概念圖。舉例而言,圖2說明由ITU-R BT.709調節且提供SDR之當前視訊應用及服務。當前視訊應用及服務通常支援每平方公尺(m^2)(cd/m^2之單位通常被稱作「尼特(nit)」)約0.1至100坎德拉(cd)之亮度(或明度)的範圍,從而導致少於或低於10個f光圈刻度。預期下一代視訊服務提供高達16個f光圈刻度之動態範圍,且儘管詳細規範當前在開發中,但一些初始參數已在SMPTE ST 2084及ITU-R BT.2020中指定。 現將論述色域。除HDR以外更真實的視訊體驗之另一態樣為色彩維度,其習知地由色域定義。圖3為展示SDR色域(基於ITU-R BT.709紅色、綠色及藍色原色之三角形)以及UHDTV之較廣色域(基於ITU-R BT.2020紅色、綠色及藍色原色之三角形)的概念圖。圖3亦描繪所謂的光譜軌跡(由舌形區域定界),從而表示天然色之界限。如圖3所說明,自ITU-R BT.709移動至ITU-R BT.2020色彩原色旨在向UHDTV服務提供約多於70%的色彩或更多色彩。D65為給定規範指定白色。 色域規範之少許實例展示於下文表1中。
表 1 . 色域參數
現將論述HDR視訊資料之表示的態樣。HDR/WCG通常以每分量極高精度(甚至浮點)經獲取及儲存,具有4:4:4色度格式及極寬色彩空間(例如XYZ)。由國際照明委員會闡述之CIE 1931係XYZ色彩空間之實例。此表示以高精度為目標且在數學上(幾乎)無損。然而,此格式特徵可包括許多冗餘且對於壓縮目的而言並非最佳的。具有基於HVS之假定的較低精確度格式通常用於目前先進技術的視訊應用。 出於壓縮之目的之視訊資料格式轉換程序的一個實例包括三個主程序,如由圖4之轉換程序109所展示。圖4之技術可由源器件12執行。線性RGB資料110可為HDR/WCG視訊資料且可儲存於浮點表示中。可使用用於動態範圍壓緊之非線性轉移函數(TF) 112來壓緊線性RGB資料110。轉移函數112可使用任何數目之非線性轉移函數(例如,如SMPTE-2084中所定義之PQ TF)來壓緊線性RGB資料110。在一些實例中,色彩轉換程序114將經壓緊之資料轉換成較適合於由混合型視訊編碼器壓縮的更緊密或穩固之色彩空間(例如,YUV或YCrCb色彩空間)。接著使用浮點至整數表示量化單元116來量化此資料以產生經轉換HDR之資料118。在此實例中,HDR之資料118呈整數表示。現今HDR之資料呈較適合於由混合型視訊編碼器(例如應用HEVC技術之視訊編碼器20)壓縮的格式。圖4中所描繪之程序的次序係作為實例給出,且在其他應用中可變化。舉例而言,色彩轉換可先於TF程序。另外,例如空間子取樣之額外處理可應用於色彩分量。 藉助於程序129,圖5中描繪在解碼器側處之實例反轉換。目的地器件14之視訊後處理器單元31可執行圖5之技術。經轉換HDR之資料120可在目的地器件14處經由使用混合型視訊解碼器(例如,應用HEVC技術之視訊解碼器30)解碼視訊資料而獲得。接著可藉由反量化單元122來反量化HDR之資料120。接著可將反色彩轉換程序124應用於經反量化HDR之資料。反色彩轉換程序124可為色彩轉換程序114之反向。舉例而言,反色彩轉換程序124可將HDR之資料自YCrCb格式轉換回至RGB格式。接下來,可將反轉移函數126應用於資料以加回由轉移函數112壓緊之動態範圍,從而重建線性RGB資料128。使用經利用之非線性轉移函數(TF)壓緊呈線性之輸入RGB資料及浮點表示的高動態範圍。舉例而言,如SMPTE ST 2084中所定義之感知量化器(PQ) TF,其隨後轉換成較適合於壓縮的目標色彩空間,例如Y'CbCr,且隨後經量化以獲得整數表示。此等元素之次序作為實例給出,且可在真實世界應用中變化,例如,色彩轉換可先於TF模組以及額外處理,例如空間子取樣可應用於色彩分量。在下文更詳細地描述此等三個分量。 現將較詳細地論述圖4中所描繪之某些態樣,諸如轉移函數(TF)。將呈現於影像容器中之數位值映射至光能且自光能映射該等數位值可能需要瞭解TF。將TF應用於資料以壓緊資料之動態範圍且使得可能表示具有有限數目個位元之資料。此函數通常為一維(1D)非線性函數,其反映終端使用者顯示器之電光轉移函數(EOTF)之反向,如ITU-R BT. 1886及Rec. 709中針對SDR所指定;或估計對亮度改變之HVS感知,如SMPTE ST 2084中針對HDR所指定的PQ TF。OETF之反向程序為EOTF (電光轉移函數),其將碼等級映射回至明度。圖6展示TF之若干實例。此等映射亦可分別應用於每一R、G及B分量。將此等映射應用於R、G及B分量可將其等各別地轉換成R'、G'及B'。 ITU-R標準BT.1886中所指定之參考EOTF由以下方程式指定:
其中:
L
:以cd/m^2為單位的螢幕明度
L W
:白色之螢幕明度
L B
:黑色之螢幕明度
V
:輸入視訊信號位準(經正規化,在V = 0處為黑色,在V = 1處為白色)。針對根據標準ITU-R BT.709所掌握之內容,10位元數位程式碼值「D」根據以下方程式映射至V值中:V = (
D
-64)/876 γ:功率函數之冪數,γ = 2.404
a
:使用者增益之變量(傳統「對比」控制)
b
:使用者黑色位準上升之變量(傳統「亮度」控制)
上述變量
a
及
b
藉由求解以下方程式而導出,以使V = 1得出 L =
L W
,且V = 0得出L =
L B
:
為了更有效率地支援較高動態範圍,SMPTE最近已標準化被稱作SMPTE ST-2084之新轉移函數。ST2084之規範按如下描述來定義EOTF應用。將TF應用於標準化線性R、G、B值,此產生R'、G'、B'之非線性表示。ST2084藉由NORM=10000定義正規化,其與10000尼特(cd/m^2)之峰值亮度相關聯。 o R' = PQ_TF(max(0, min(R/NORM,1)) ) o G' = PQ_TF(max(0, min(G/NORM,1)) ) (1) o B' = PQ_TF(max(0, min(B/NORM,1)) ) 其中
通常,EOTF經定義為具備浮點準確度之函數。因此,若應用反TF (所謂的OETF),則無誤差被引入至具有此非線性的信號。如下使用反PQ函數來定義ST2084中所指定之反TF (OETF): o R = 10000*inversePQ_TF(R') o G = 10000*inversePQ_TF(G') (2) o B = 10000*inversePQ_TF(B') 其中反
EOTF及OETF為活躍研究之對象,且一些視訊寫碼系統中所利用之TF可不同於如ST2084中所指定之TF。 現將論述色彩變換。RGB資料通常用作輸入,此係因為RGB資料常常由影像捕捉感測器產生。然而,此色彩空間在其分量當中具有高冗餘且對於緊密表示而言並非最佳的。為達成更緊密且更穩固之表示,RGB分量通常轉換(例如,執行色彩變換)成更適合於壓縮之更不相關色彩空間,例如,YCbCr。此色彩空間將呈明度形式之亮度及呈不同的不相關分量之色彩資訊隔開。 對於現代視訊寫碼系統,通常使用或典型地使用之色彩空間為YCbCr,如ITU-R BT.709中所指定。BT.709標準中之YCbCr色彩空間指定自R'G'B'至Y'CbCr之以下轉換程序(非恆定明度表示): · Y' = 0.2126 * R' + 0.7152 * G' + 0.0722 * B' ·
(3) ·
以上程序亦可使用避免分裂Cb及Cr分量的以下近似轉換來實施: · Y' = 0.212600 * R' + 0.715200 * G' + 0.072200 * B' · Cb = -0.114572 * R' - 0.385428 * G' + 0.500000 * B' (4) · Cr = 0.500000 * R' - 0.454153 * G' - 0.045847 * B' ITU-R BT.2020標準指定自RGB至Y'CbCr之兩個不同轉換程序:恆定明度(CL)及非恆定明度(NCL),標準ITU-R BT. 2020,「Parameter values for ultra-high definition television systems for production and international programme exchange」(2012)。RGB資料可處於線性光中且Y'CbCr資料為非線性的。圖7為說明非恆定明度之實例的方塊圖。特定言之,圖7藉助於程序131展示NCL方法之實例。圖7之NCL方法在OETF (134)之後應用自R'G'B'至Y'CbCr之轉換(136)。ITU-R BT.2020標準指定自R'G'B'至Y'CbCr之以下轉換程序(非恆定明度表示): · Y' = 0.2627 * R' + 0.6780 * G' + 0.0593 * B' ·
(5) ·
以上程序亦可使用避免分裂Cb及Cr分量的以下近似轉換來實施,如以下方程式中所描述: · Y' = 0.262700 * R'+ 0.678000 * G + 0.059300 * B' · Cb = -0.139630 * R' - 0.360370 * G' + 0.500000 * B' (6) · Cr = 0.500000 * R' - 0.459786 * G' - 0.040214 * B' 現將論述量化/固定點轉換。在色彩變換之後,將仍以高位元深度(例如浮點準確度)表示之目標色彩空間中的輸入資料轉換成目標位元深度。某些研究展示,結合PQ TF的十至十二(10至12)位元準確度足以提供具有低於恰可辨差異(JND)之失真的16f光圈刻度之HDR資料。以10位元準確度表示之資料可進一步藉由目前先進技術之視訊寫碼解決方案中之大多數來寫碼。此量化(138)為有損寫碼之元素且可為引入至經轉換資料之不準確度之源。 在各種實例中,此等量化可應用於目標色彩空間中之碼字。下文展示應用YCbCr之一實例。將以浮點準確度表示之輸入值YCbCr轉換成明度(Y)值之固定位元深度BitDepthY及色度值(Cb、Cr)之固定位元深度BitDepthC的信號。 o
o
(7) o
其中 Round( x ) = Sign( x ) * Floor( Abs( x ) + 0.5 ) Sign ( x ) = -1若x < 0, 0若x=0, 1若x > 0 Floor( x ) 小於或等於x之最大整數 Abs( x ) = x若x>=0, -x若x<0 Clip1
Y
( x ) = Clip3( 0, ( 1 << BitDepth
Y
) - 1, x ) Clip1
C
( x ) = Clip3( 0, ( 1 << BitDepth
C
) - 1, x ) Clip3( x,y,z ) = x若z<x, y若z>y, z其他 轉移函數及色彩變換中之一些可在信號表示的動態範圍內產生以恰可辨差異(JND)臨限值之顯著變化為特徵的視訊資料表示。針對此等表示,在明度值之動態範圍內為均勻的量化方案將在信號片段(其表示動態範圍之分區)內引入具有感知之不同優點的量化誤差。對信號之此類影響可解釋為具有在經處理資料範圍內產生不相等信號雜訊比之非均勻量化的處理系統。圖7之程序131亦包括自4:4:4至4:2:0之轉換(140)及HEVC 4:2:0 10b編碼(142)。 此類表示之一實例為非恆定明度(NCL) YCbCr色彩空間中所表示之視訊信號,其中色彩原色定義於ITU-R Rec. BT.2020中,且具有ST 2084轉移函數。如下文表2中所說明,此表示(例如NCL YCbCr色彩空間中所表示之視訊信號)針對信號的較低強度值分配顯著較大量的碼字。舉例而言,碼字之30%表示低於十尼特(<10尼特)的線性光樣本。相比而言,用明顯地更少量的碼字來表示高強度樣本(高亮度)。舉例而言,對於1000至10,000尼特範圍內的線性光分配碼字之25%。其結果是,以對所有範圍的資料均勻量化為特徵之視訊寫碼系統,諸如H.265/HEVC視訊寫碼系統,將引入更多嚴重寫碼假影至高強度樣本(信號之亮區),而引入至較低強度樣本(相同信號之暗區)的失真將遠低於可辨差異。 有效地,上文所描述之因素可意謂視訊寫碼系統設計,或編碼演算法,可需要針對每一經選擇視訊資料表示(即針對每一經選擇轉移函數及色彩空間)而被調節。由於碼字差異,SDR寫碼器件對於HDR內容可能並非最佳化的。又,已在SDR動態範圍及SCG色彩(由Rec. 709提供)中捕捉大量視訊內容。相比於HDR及WCG,SDR-SCG視訊捕捉法提供較窄範圍。因此,相對於HDR-WCG視訊資料,SDR-SCG所捕捉視訊資料可佔據碼字方案之相對較小佔據面積。為了說明,Rec. 709之SCG覆蓋35.9%之CIE 1931色彩空間,而Rec. 2020之WCG覆蓋75.8%。
表 2
.線性光強度與SMPTE ST 2084中之程式碼值(位元深度 = 10)之間的關係 如上文表2中所展示,碼字之高集中度(「全範圍」行中所展示)集中於較低亮度範圍。亦即,總計307個碼字(其構成約碼字之30%)群集於線性光強度之0至10尼特範圍內在較低亮度情況下。色彩資訊可能並不易於感知,且可在視覺靈敏度之較低層級下可見。由於碼字的經集中群集定位於較低亮度範圍中,視訊編碼器件可以高品質或極高品質來在較低亮度範圍中編碼大量的。此外,位元串流可消耗較大量之頻寬以便輸送經編碼雜訊。當重建構位元串流時,歸因於經編碼雜訊包括於位元串流中,視訊解碼器件可產生較大數目之假影。 下文論述用以改良非最佳感知品質碼字分佈之現有提議。一個此類提議為「Dynamic Range Adjustment SEI to enable High Dynamic Range video coding with Backward-Compatible Capability」,由D. Rusanovskyy、A. K. Ramasubramonian、D. Bugdayci、S. Lee、J. Sole、M. Karczewicz提出,VCEG文獻COM16-C 1027-E,2015年9月(以下稱作「Rusanovskyy I」)。Rusanovskyy I包括在視訊寫碼之前將碼字再分佈應用於視訊資料之提議。根據此提議,ST 2084/BT.2020表示中之視訊資料在視訊壓縮之前經受碼字再分佈。引入再分佈之此提議經由動態範圍調節在資料之動態範圍內引入感知失真(信號雜訊比)的線性化。此再分佈係為了在位元速率約束下改良視覺品質。為了補償再分佈且將資料轉換成原始ST 2084/BT.2020表示,在視訊解碼之後將反向程序應用於資料。另外在美國專利申請案第15/099,256號(主張臨時專利申請案# 62/149,446之優先權)及美國專利申請案第15/176,034號(主張臨時專利申請案# 62/184,216之優先權)中進一步描述由Rusanovskyy I提出之該等技術,該等申請案中之每一者的全部內容全文併入本文中。 然而,根據Rusanovskyy I中所描述之該等技術,預處理及後處理之程序通常在基於區塊之基礎上自由目前先進技術編碼器所採用之率失真最佳化處理來去耦合。因此,所描述之技術係根據預處理及後處理之視角,其超出視訊編解碼器之寫碼迴路的範圍(或在視訊編解碼器之寫碼迴路外部)。 另一此類提議為「Performance investigation of high dynamic range and wide color gamut video coding techniques」,由J. Zhao、S.-H. Kim、A. Segall、K. Misra提出,VCEG文獻COM16-C 1030-E,2015年9月(以下稱作「Zhao I」)。Zhao提出強度相關性空間變化(基於區塊的)量化方案,以對準應用於Y2020 (ST2084/BT2020)與Y709 (BT1886/BT 2020)表示之視訊寫碼之間的位元速率分配及視覺感知失真。觀察到為了維持相同位準之量化明度,在Y2020及Y709中之信號的量化必須相差取決於明度之值,以使得: QP_ Y2020 = QP_Y709 - f (Y2020 ) 函數f (Y2020)被認為對於在Y2020中之視訊的強度值(亮度等級)為線性,且該函數可近似為: f (Y2020 ) = max( 0.03* Y2020 - 3, 0 ) Zhao I提出在編碼階段引入的空間變化量化方案被認為能夠針對ST 2084/BT.2020表示中之經寫碼視訊信號改良視覺感知的信號至量化雜訊比。 Zhao I所提出之該等技術的潛在缺點為QP調適之基於區塊的粒度。通常,經選擇在編碼器側用於壓縮之所利用的區塊大小係經由率失真最佳化程序導出,且可不表示視訊信號之動態範圍性質。因此,經選擇QP設定對於區塊內部之信號可為次佳的。此潛在問題可能對於傾向於採用較大維度之預測及變換區塊大小之下一代視訊寫碼系統變得甚至愈加重要。此設計之另一態樣需要傳信QP調適參數。將QP調適參數傳信至解碼器以用於反解量化。另外,在編碼器側之量化參數的空間調適可增加編碼最佳化之複雜度且可干擾速率控制演算法。 另一此類提議為「Intensity dependent spatial quantization with application in HEVC」,由Matteo Naccari及Marta Mrak在IEEE ICME 2013之會刊中提出,2013年7月(以下稱作「Naccari」)。Naccari提出強度相關性空間量化(IDSQ)感知機制,其利用人類視覺系統之強度遮蔽且在感知上調節區塊層級處的信號之量化。此論文提出採用迴路內像素域縮放。根據此提議,用於當前經處理區塊之迴路內縮放的參數係自經預測區塊中之明度分量的平均值導出。在解碼器側,執行反向縮放,且解碼器自在解碼器側可用的經預測區塊導出縮放之參數。 類似於上文所論述之Zhao I中的研究,由於應用於經處理區塊之所有樣本的縮放參數之次佳性,此方法之基於區塊的粒度限制此方法之效能。此論文之所提出的解決方案之另一態樣在於縮放值係自經預測區塊導出且並不反映可發生在當前編解碼器區塊與經預測區塊之間的信號波動。 另一此類提議為「De-quantization and scaling for next generation containers」,由J. Zhao、A. Segall、S.-H. Kim、K. Misra提出,JVET文獻B0054,2016年1月(以下稱作「Zhao II」)。為改良ST 2084/BT2020表示中之非均勻感知失真,此論文提出採用基於迴路內強度相關性區塊之變換域縮放。根據此提議,用於當前經處理區塊之經選擇變換係數(AC係數)的迴路內縮放之參數經導出作為經預測區塊中之明度分量的平均值之函數,且DC值經導出以用於當前區塊。在解碼器側,執行反向縮放,且解碼器自在解碼器側可用的經預測區塊且自經傳信至解碼器之經量化DC值導出AC係數縮放之參數。 類似於上文所論述之Zhao I及Naccari中的研究,由於應用於經處理區塊之所有樣本的縮放參數之次佳性,此方法之基於區塊的粒度限制此方法之效能。此論文的所提出方案之另一態樣為縮放值僅應用於AC變換係數,對此信號雜訊比改良並不影響DC值,其減少方案之效能。除了上文所論述之態樣以外,在一些視訊寫碼系統設計中,在AC值縮放時,經量化DC值可能並非可用的,諸如在其中量化程序遵循一系列變換操作之情況下。此提議之另一限制為當編碼器選擇當前區塊之變換跳過或變換/量化旁路模式時,並不應用縮放(因此,在解碼器處,縮放並不經定義用於變換跳過及變換/量化旁路模式),該縮放歸因於排除此兩種模式之潛在寫碼增益為次佳的。 在Dmytro Rusanovskyy等人之美國專利申請案第No. 15/595,793號(主張臨時專利申請案第62/337,303號之優先權) (以下稱作「Rusanovskyy II」)中,用於具有非均勻分佈恰可辨差異(JND)之視訊信號的迴路內樣本處理。根據Rusanovskyy II之技術,用於具有非均勻分佈恰可辨差異的信號之更高效寫碼的若干迴路內寫碼方法。Rusanovskyy II描述表示在像素、殘餘或變換域中之信號樣本的縮放及偏移之應用。已提出用於導出縮放及偏移之若干演算法。Rusanovskyy II之內容以全文引用的方式併入本文中。 本發明論述可應用於視訊寫碼系統之迴路中的若干器件、組件、裝置及處理方法。本發明之技術可包括在像素域中或在變換域中量化及/或縮放視訊信號以改良經處理資料之信號至量化雜訊比的程序。舉例而言,本發明之系統及技術可減少在轉換成HDR-WCG格式時藉由轉換以SDR-SCG格式捕捉之視訊資料所產生之假影。本文所描述之技術可使用明度及/或色度資料中之一者或兩者來滿足精確度。所揭示之系統及技術亦併入有或包括用於自信號之時空鄰域導出量化或縮放參數的若干演算法。亦即,本發明之實例系統及技術係關於獲得用以在寫碼程序中修改與當前區塊相關聯之殘餘資料的一或多個參數值。如本文中所使用,用以修改殘餘資料之參數值可包括量化參數(用以在編碼程序或解碼程序中分別藉由量化或解量化殘餘資料來修改殘餘資料),或縮放參數(用以在編碼程序或解碼程序中分別藉由縮放或反向縮放殘餘資料來修改殘餘資料)。 圖8為說明當前經寫碼區塊152之時空鄰域之態樣的概念圖。根據本發明之一或多種技術,視訊編碼器20可使用資訊自當前經寫碼區塊152之時空鄰域導出量化參數(用於量化當前經寫碼區塊152之樣本)。舉例而言,視訊編碼器20可使用用於相鄰區塊154、156及158中之一或多者的QP值來導出與當前經寫碼區塊152一起使用之參考QP或預設QP。舉例而言,視訊編碼器20可使用相鄰區塊154至158中之一或多者的QP值作為相對於當前經寫碼區塊152之差異QP導出程序中的指標或運算元。以此方式,視訊編碼器20可實施本發明之一或多種技術以考慮左相鄰區塊156之樣本、上相鄰區塊158之樣本及由視差向量「DV」指向的時間相鄰區塊154之樣本。 因此,若視訊編碼器20判定時空相鄰區塊之樣本良好匹配於當前經寫碼區塊152之樣本,則視訊編碼器20可實施本發明之技術以將當前經寫碼區塊152的差異QP導出程序擴展到差異QP導出程序至少部分地基於時空鄰域之各種相鄰區塊。在參考樣本之區塊與區塊分區之多個CU重疊且因此可具有不同QP的情況下,視訊編碼器20可自眾多可用QP導出QP。舉例而言,視訊編碼器20可相對於多個QP值實施取平均值之程序,以導出當前經寫碼區塊152之樣本的QP值。在各種實例中,視訊編碼器20可實施上文所描述之導出技術以導出QP值及/或差異QP參數中之一者或兩者。 在各種用例情況下,視訊編碼器20亦可使用資訊自當前經寫碼區塊152之時空鄰域導出當前經寫碼區塊152之樣本的縮放參數。舉例而言,根據其中縮放操作取代均勻量化之設計,視訊編碼器20可應用上文所描述之基於時空鄰域的導出程序來導出當前經寫碼區塊152之參考縮放參數或預設縮放參數。 根據一些現有HEVC/JEM技術,視訊寫碼器件可將縮放操作應用於當前經處理區塊之所有變換係數。舉例而言,在一些HEVC/JEM設計中,在將殘餘變換係數用於導出縮放參數時,視訊寫碼器件可將一或多個縮放參數應用於變換係數之子集。舉例而言,根據JVET B0054,視訊寫碼器件可將用於當前經處理區塊之經選擇變換係數(即AC係數)的迴路內縮放參數導出作為經預測區塊中之明度分量的平均值的函數,且可導出當前區塊的DC值。 根據本發明之一或多種技術,視訊編碼器20可針對當前經寫碼區塊152將一或多個DC變換係數包括於縮放程序中。在一些實例中,視訊編碼器20可將當前經寫碼區塊152的縮放參數導出作為DC值及自經預測樣本導出之參數的函數。視訊編碼器20可實施包括用於AC縮放之查找表(LUT)以及用於DC值之獨立LUT的縮放參數導出程序。DC及AC變換係數之正向縮放導致經縮放值被標示為DC'及AC'。視訊編碼器20可實施如下文所描述之縮放操作以獲得經縮放值DC'及AC': AC' = scale (fun1(DC, avgPred)) * AC;及 DC' = scale (fun2(DC, avgPred)) * DC 根據本發明之基於縮放參數的技術,視訊解碼器30可實施與上文關於視訊編碼器20所描述的操作大體上互逆的操作。舉例而言,視訊解碼器30可實施將經縮放值DC'及AC'用作運算元之反向縮放程序。在下以方程式中,反向縮放程序之結果被標示為DC''及AC''。視訊解碼器30可如以下方程式中所說明來實施反向縮放操作: DC'' = DC'/scale (fun1(DC', avgPred));及 AC'' = AC'/scale (fun2(DC'', avgPred)) 相對於縮放及反向縮放操作兩者,術語『fun1』及『fun2』定義使用參考樣本之平均值及基於DC的值作為引數之縮放導出函數/程序。如關於由視頻編碼器20及視頻解碼器30實施之縮放及反向縮放技術兩者所說明,本發明之技術能夠在導出經縮放及經反向縮放DC及AC變換係數值兩者時使用DC變換係數值。以此方式,若縮放/反向縮放操作替代變換係數之量化及解量化執行,則本發明之技術使視頻編碼器20及視頻解碼器30能夠在縮放及反向縮放操作中利用DC變換係數值。 本發明亦提供在視訊編碼器20並不傳信任何非零變換係數的情況下用於導出量化參數或縮放參數之技術。HEVC之當前規範、JVET開發之初步測試模型及JVET B0054中所描述之設計指定作為存在的經編碼非零變換係數的函數之QP值(或縮放參數,視具體情況而定)之導出。根據HEVC之當前規範、JVET之初步測試模型及JVET B0054之設計,在所有變換係數經量化為零的情況下不傳信QP調節或本端應用之縮放。實情為,解碼器件對變換係數應用全域(例如圖塊層級) QP/縮放參數或自空間相鄰CU導出之QP。 本發明之技術利用導致非零變換係數不存在之預測(不論框內或框間)的相對準確度。舉例而言,視訊解碼器30可實施本發明之技術以使用來自經預測樣本之參數導出QP值或縮放參數。之後,視訊解碼器30可利用經導出之QP值或縮放參數來解量化當前區塊的樣本或反向縮放當前區塊之變換係數。以此方式,視訊解碼器30可實施本發明之技術來在視訊解碼器30未接收到區塊之非零變換係數的情況下利用預測準確度,藉此取代一或多個基於預設之解量化及HEVC/JEM實踐之反向縮放態樣。 下文描述所揭示之技術的各種實例實施。應理解,下文描述之實施為非限制性實例,且根據本發明之態樣的所揭示之技術的其他實施亦係可能的。 根據一些實施,視訊編碼器20可自附接的(上方及左方)區塊(CU)導出參考QP值。關於圖8描述,視訊編碼器20可自與上相鄰區塊158及左相鄰區塊156相關聯之資料導出當前經寫碼區塊152的參考QP。藉由以下假碼描述此實例實施之一實例: Char TComDataCU::getRefQP( UInt uiCurrAbsIdxInCtu ) { TComDataCU* cULeft = getQpMinCuLeft ( lPartIdx, m_absZIdxInCtu + uiCurrAbsIdxInCtu ); TComDataCU* cUAbove = getQpMinCuAbove( aPartIdx, m_absZIdxInCtu + uiCurrAbsIdxInCtu ); return (((cULeft? cULeft->getQP( lPartIdx ): m_QuLastCodedQP) + (cUAbove? cUAbove->getQP( aPartIdx ): m_QuLastCodedQP) + 1) >> 1); } 在上述假碼中,附接區塊表示為符號「cUAbove」及「cULeft」。 根據本發明之技術的一些實施,視訊編碼器20可在QP導出程序中考量參考樣本之一或多個QP值。藉由以下假碼描述此實施之一實例: Char TComDataCU::getRefQP2( UInt uiCurrAbsIdxInCtu ) { TComDataCU* cULeft = getQpMinCuLeft ( lPartIdx, m_absZIdxInCtu + uiCurrAbsIdxInCtu ); TComDataCU* cUAbove = getQpMinCuAbove( aPartIdx, m_absZIdxInCtu + uiCurrAbsIdxInCtu ); TComDataCU* cURefer = getQpMinCuReference( aPartIdx, m_absZIdxInCtu + uiCurrAbsIdxInCtu ); return value = function (cULeft->getLastQP(), cUAbove->getLastQP(), cURefer ->getLastQP()); } 在上述假碼中,符號「cURefer」表示包括參考樣本之區塊。 根據所描述之技術的一些實施,視訊編碼器20及/或視訊解碼器30可儲存應用於參考區塊之樣本上之QP及/或用作參考圖像之所有圖像的全域QP (例如圖塊層級QP)。根據一些實施,視訊編碼器20及/或視訊解碼器30可儲存應用於參考區塊之樣本上之縮放參數及/或用作參考圖像之所有圖像的全域縮放(例如圖塊層級縮放)參數。若參考樣本之區塊與經分割區塊之多個CU重疊(且因此引入不同QP跨該等分區的可能性),則視訊編碼器20可自眾多可用QP導出QP。作為一實例,視訊編碼器20可對來自多個CU之多個QP實施取平均值程序。藉由以下假碼描述此實施之一實例: Int sum= 0; for (Int i=0; i < numMinPart; i++) { sum += m_phInferQP[COMPONENT_Y][uiAbsPartIdxInCTU + i]; } avgQP = (sum)/numMinPart; 根據上述假碼,視訊編碼器20藉由跨區塊分區計算QP之平均值來執行取平均值程序。平均QP計算展示於上述假碼中之最後一個操作中。亦即,視訊編碼器20劃分集合(表示為整數「總和」之最終值),該集合由分區之數目(表示為運算元「numMinPart」)劃分。 在本文中所描述之技術的又一實施中,視訊編碼器20可導出QP作為明度分量平均亮度之函數。舉例而言,視訊編碼器20可自查表(LUT)獲得明度分量之平均亮度。藉由以下假碼描述此實施,其中符號「avgPred」表示參考樣本之平均亮度值: QP = PQ_LUT[avgPred]; 在一些實施中,視訊編碼器20可自一或多個全域QP值導出當前區塊之參考QP值。視訊編碼器20可使用之全域QP值的一實例為在圖塊層級中指定之QP。亦即,視訊編碼器20可使用針對包括當前區塊之圖塊的整體指定的QP值來導出當前區塊之QP值。藉由以下假碼描述此實施: qp = (((Int) pcCU->getSlice()->getSliceQp() + iDQp + 52 + 2*qpBdOffsetY )%(52+ qpBdOffsetY)) - qpBdOffsetY; 在上述假碼中,視訊編碼器20使用由getSliceQp()函數傳回之值在操作中作為運算元以獲得當前區塊之QP (標示為「qp」)。 在本文所描述之技術的一些實施中,視訊編碼器20可將一或多個參考樣本值用於導出QP。藉由以下假碼描述此實施: QP = PQ_LUT[avgPred]; 在上述假碼中,「PQ_LUT」為視訊編碼器20可利用以將經預測區塊之平均亮度值(表示為「avgPred」)映射至相關聯感知量化器(PQ)值的查找表。視訊編碼器20可計算avgPred的值作為參考樣本的函數,諸如參考樣本之平均值。可根據本發明之計算使用的平均值之實例包括平均值、中位值及模式值中之一或多者。 在一些實施中,視訊編碼器20可縮放當前區塊之參數而非QP。在一些實施中,視訊編碼器20可執行自經導出QP至縮放參數之轉換程序,或反之亦然。在一些實施中,視訊編碼器20可利用分析型表式來自參考樣本導出QP。視訊編碼器20可使用於QP導出之分析型表式的一個實例為參數導出模型。 無論視訊編碼器20使用上述技術中的哪一種導出當前區塊之QP,視訊編碼器20可基於經導出QP來將資料傳信至視訊解碼器30。舉例而言,視訊編碼器20可傳信自QP值導出的視訊編碼器20用以量化樣本當前區塊之差異QP值。之後,視訊解碼器30可使用在經編碼視訊位元串流中接收之差異QP值來獲得區塊的QP值,且可使用該QP值解量化區塊之樣本。 在視訊編碼器20獲得代替當前區塊之QP值或除當前區塊的QP值之外的縮放參數的實例中,視訊編碼器20可將縮放參數(或自其導出之資料)傳信至視訊解碼器30。之後,視訊解碼器30可直接自經編碼視訊位元串流或藉由自經傳信資料導出參數來重建構縮放參數。視訊解碼器30可執行經縮放變換係數之反向縮放。舉例而言,根據本發明之態樣,視訊解碼器30可執行DC及AC變換係數兩者之經縮放版本的反向縮放。 上文已描述各種實例(例如實施)。可分別地或以與其他實例中之一或多者的各種組合來使用本發明之實例。 圖9為說明可實施本發明之技術的視訊編碼器20之實例的方塊圖。視訊編碼器20可執行視訊圖塊內之視訊區塊之框內寫碼及框間寫碼。框內寫碼依賴於空間預測以減少或移除給定視訊圖框或圖像內之視訊的空間冗餘。框間寫碼依賴於時間預測以減少或移除視訊序列之相鄰圖框或圖像內之視訊的時間冗餘。框內模式(I模式)可指若干基於空間之寫碼模式中之任一者。諸如單向預測(P模式)或雙向預測(B模式)之框間模式可指若干基於時間之寫碼模式中之任一者。 如圖9中所展示,視訊編碼器20接收待編碼之視訊圖框內的當前視訊區塊。在圖9之實例中,視訊編碼器20包括模式選擇單元40、視訊資料記憶體41、經解碼圖像緩衝器64、求和器50、變換處理單元52、量化單元54及熵編碼單元56。模式選擇單元40又包括運動補償單元44、運動估計單元42、框內預測處理單元46及分割單元48。對於視訊區塊重建構,視訊編碼器20亦包括反量化單元58、反變換處理單元60及求和器62。亦可包括解區塊濾波器(圖9中未展示)以對區塊邊界進行濾波,從而自經重建構視訊移除區塊效應假影。若需要,解區塊濾波器通常將對求和器62之輸出進行濾波。除解區塊濾波器以外亦可使用額外濾波器(例如,迴路內或迴路後)。為簡潔起見未展示此等濾波器,但若需要,此等濾波器可對求和器50之輸出進行濾波(作為迴路內濾波器)。 視訊資料記憶體41可儲存待由視訊編碼器20之組件編碼的視訊資料。可例如自視訊源18獲得儲存於視訊資料記憶體41中之視訊資料。經解碼圖像緩衝器64可為儲存供視訊編碼器20用於例如在框內寫碼模式或框間寫碼模式中編碼視訊資料之參考視訊資料的參考圖像記憶體。視訊資料記憶體41及經解碼圖像緩衝器64可由各種記憶體器件中之任一者形成,諸如動態隨機存取記憶體(DRAM) (包括同步DRAM (SDRAM))、磁阻式RAM (MRAM)、電阻式RAM (RRAM)或其他類型之記憶體器件。可由相同記憶體器件或單獨記憶體器件提供視訊資料記憶體41及經解碼圖像緩衝器64。在各種實例中,視訊資料記憶體41可與視訊編碼器20之其他組件一起在晶片上,或相對於彼等組件在晶片外。 在編碼程序期間,視訊編碼器20接收待寫碼之視訊圖框或圖塊。可將該圖框或圖塊劃分成多個視訊區塊。運動估計單元42及運動補償單元44執行所接收之視訊區塊相對於一或多個參考圖框中之一或多個區塊的框間預測性寫碼以提供時間預測。框內預測處理單元46可替代地執行所接收視訊區塊相對於在與待寫碼之區塊相同的圖框或圖塊中之一或多個相鄰區塊的框內預測性寫碼,以提供空間預測。視訊編碼器20可執行多個寫碼遍次,例如用以選擇用於每一視訊資料區塊之適當寫碼模式。 此外,分割單元48可基於對先前寫碼遍次中之先前分割方案的評估而將視訊資料之區塊分割成子區塊。舉例而言,分割單元48可首先將圖框或圖塊分割成LCU,且基於率-失真分析(例如,率-失真最佳化)來將該等LCU中之每一者分割成子CU。模式選擇單元40可進一步產生指示將LCU分割成子CU之四分樹資料結構。四分樹之葉節點CU可包括一或多個PU及一或多個TU。 模式選擇單元40可(例如,基於誤差結果)選擇框內或框間寫碼模式中之一者,且可將所得框內或框間寫碼區塊提供至求和器50以產生殘餘區塊資料且提供至求和器62以重建構用作參考圖框之經編碼區塊。模式選擇單元40亦將諸如運動向量、框內模式指示符、分區資訊及其他此類語法資訊之語法元素提供至熵編碼單元56。 運動估計單元42及運動補償單元44可高度整合,但出於概念目的而單獨說明。由運動估計單元42執行之運動估計為產生運動向量之程序,該等運動向量估計視訊區塊之運動。舉例而言,運動向量可指示當前視訊圖框或圖像內之視訊區塊的PU相對於與當前圖像(或其他經寫碼單元)內正經寫碼的當前區塊有關的參考圖像(或其他經寫碼單元)內之預測性區塊之位移。預測性區塊為就像素差而言被發現緊密地匹配待寫碼區塊之區塊,該像素差可藉由絕對差總和(SAD)、平方差總和(SSD)或其他差度量判定。在一些實例中,視訊編碼器20可計算儲存於經解碼圖像緩衝器64中之參考圖像之子整數像素位置的值。舉例而言,視訊編碼器20可內插該參考圖像之四分之一像素位置、八分之一像素位置或其他分數像素位置的值。因此,運動估計單元42可執行關於全像素位置及分數像素位置之運動搜尋並輸出具有分數像素精確度之運動向量。 運動估計單元42藉由比較PU之位置與參考圖像之預測性區塊的位置而計算經框間寫碼圖塊中之視訊區塊的PU的運動向量。該參考圖像可選自第一參考圖像清單(清單0)或第二參考圖像清單(清單1),該等參考圖像清單中之每一者識別儲存於經解碼圖像緩衝器64中之一或多個參考圖像。運動估計單元42將所計算之運動向量發送至熵編碼單元56及運動補償單元44。 由運動補償單元44執行之運動補償可涉及基於由運動估計單元42判定之運動向量來提取或產生預測性區塊。再者,在一些實例中,運動估計單元42及運動補償單元44可在功能上整合。在接收到當前視訊區塊之PU的運動向量之後,運動補償單元44可在參考圖像清單中之一者中定位運動向量所指向之預測性區塊。求和器50藉由自正經寫碼之當前視訊區塊的像素值減去預測性區塊之像素值來形成殘餘視訊區塊,從而形成像素差值,如下文所論述。大體而言,運動估計單元42相對於明度分量執行運動估計,且運動補償單元44將基於該等明度分量計算之運動向量用於色度分量與明度分量兩者。模式選擇單元40亦可產生與視訊區塊及視訊圖塊相關聯之語法元素以供視訊解碼器30在解碼視訊圖塊之視訊區塊時使用。 如上文所描述,作為由運動估計單元42及運動補償單元44所執行之框間預測的替代,框內預測處理單元46可對當前區塊進行框內預測。特定言之,框內預測處理單元46可判定框內預測模式以用於編碼當前區塊。在一些實例中,框內預測處理單元46可例如在單獨編碼遍次期間使用各種框內預測模式來編碼當前區塊,且框內預測處理單元46 (或在一些實例中模式選擇單元40)可自所測試模式選擇適當框內預測模式以供使用。 舉例而言,框內預測處理單元46可使用針對各種所測試框內預測模式之率-失真分析來計算率-失真值,且在所測試模式間選擇具有最佳率-失真特性之框內預測模式。率-失真分析大體上判定經編碼區塊與原始未經編碼區塊(其經編碼以產生經編碼區塊)之間的失真(或誤差)量,以及用以產生經編碼區塊之位元速率(亦即,位元之數目)。框內預測處理單元46可自各種經編碼區塊之失真及速率計算比率以判定哪一框內預測模式展現該區塊之最佳率-失真值。 在選擇區塊之框內預測模式之後,框內預測處理單元46可將指示區塊之所選擇框內預測模式的資訊提供至熵編碼單元56。熵編碼單元56可編碼指示所選擇框內預測模式之資訊。視訊編碼器20可將以下各者包括在所傳輸之位元串流中:組態資料,其可包括複數個框內預測模式索引表及複數個經修改之框內預測模式索引表(亦被稱作碼字映射表);各種區塊之編碼上下文的定義;及待用於該等上下文中之每一者的最可能之框內預測模式、框內預測模式索引表及經修改之框內預測模式索引表的指示。 視訊編碼器20藉由自經寫碼之原始視訊區塊減去來自模式選擇單元40之預測資料而形成殘餘視訊區塊。求和器50表示執行此減法運算之一或多個組件。變換處理單元52將變換(諸如離散餘弦變換(DCT)或概念上類似之變換)應用於殘餘區塊,從而產生包含殘餘變換係數值之視訊區塊。變換處理單元52可執行概念上類似於DCT之其他變換。亦可使用小波變換、整數變換、子頻帶變換或其他類型之變換。在任何情況下,變換處理單元52將變換應用於殘餘區塊,從而產生殘餘變換係數區塊。變換可將殘餘資訊自像素值域轉換為變換域,諸如頻域。變換處理單元52可將所得變換係數發送至量化單元54。 量化單元54量化變換係數以進一步減小位元速率。量化程序可減小與係數中之一些或所有相關聯的位元深度。量化程度可藉由調整量化參數來修改。在一些實例中,量化單元54可接著執行對包括經量化變換係數之矩陣的掃描。替代地,熵編碼單元56可執行掃描。 在量化之後,熵編碼單元56熵寫碼經量化之變換係數。舉例而言,熵編碼單元56可執行上下文自適應可變長度寫碼(CAVLC)、上下文自適應二進位算術寫碼(CABAC)、基於語法之上下文自適應二進位算術寫碼(SBAC)、機率區間分割熵(PIPE)寫碼或另一熵寫碼技術。在基於上下文之熵寫碼的情況下,上下文可基於相鄰區塊。在藉由熵編碼單元56進行熵寫碼之後,可將經編碼位元串流傳輸至另一器件(例如視訊解碼器30)或加以存檔以供稍後傳輸或擷取。 反量化單元58及反變換處理單元60分別地應用反量化及反變換以在像素域中重建構殘餘區塊,例如以供稍後用作參考區塊。運動補償單元44可藉由將殘餘區塊添加至經解碼圖像緩衝器64之圖框中的一者之預測性區塊而計算參考區塊。運動補償單元44亦可將一或多個內插濾波器應用於經重建構殘餘區塊,以計算子整數像素值以用於運動估計。求和器62將經重建構之殘餘區塊添加至由運動補償單元44產生之運動補償預測區塊,以產生用於儲存於經解碼圖像緩衝器64中之經重建構視訊區塊。該經重建構的視訊區塊可由運動估計單元42及運動補償單元44用作參考區塊以對後續視訊圖框中之區塊進行框間寫碼。 視訊編碼器20可實施本發明之各種技術以自區塊之時空相鄰區塊導出當前經編碼區塊的量化參數(QP)值,及/或將縮放操作應用於當前經編碼區塊之所有(例如DC及AC)變換係數。 在以下描述中亦參考圖8。在一些實施中,視訊編碼器20可自時空鄰域之附接區塊(CU)導出當前經寫碼區塊152的參考QP值。亦即,視訊編碼器20可使用上相鄰區塊158及左相鄰區塊156導出當前經寫碼區塊152之QP值。藉由以下假碼描述此實施之一實例,其中視訊編碼器20使用上相鄰區塊158及左相鄰區塊156導出當前經寫碼區塊152之QP值: Char TComDataCU::getRefQP( UInt uiCurrAbsIdxInCtu ) { TComDataCU* cULeft = getQpMinCuLeft ( lPartIdx, m_absZIdxInCtu + uiCurrAbsIdxInCtu ); TComDataCU* cUAbove = getQpMinCuAbove( aPartIdx, m_absZIdxInCtu + uiCurrAbsIdxInCtu ); return (((cULeft? cULeft->getQP( lPartIdx ): m_QuLastCodedQP) + (cUAbove? cUAbove->getQP( aPartIdx ): m_QuLastCodedQP) + 1) >> 1); } 在一些實施中,視訊編碼器20可藉由考慮參考樣本之一或多個QP值來導出當前經寫碼區塊152的QP值。藉由以下假碼描述此實施之一實例,其中視訊編碼器20使用參考樣本之QP值來導出當前經寫碼區塊152的QP值: Char TComDataCU::getRefQP2( UInt uiCurrAbsIdxInCtu ) { TComDataCU* cULeft = getQpMinCuLeft ( lPartIdx, m_absZIdxInCtu + uiCurrAbsIdxInCtu ); TComDataCU* cUAbove = getQpMinCuAbove( aPartIdx, m_absZIdxInCtu + uiCurrAbsIdxInCtu ); TComDataCU* cURefer = getQpMinCuReference( aPartIdx, m_absZIdxInCtu + uiCurrAbsIdxInCtu ); return value = function (cULeft->getLastQP(), cUAbove->getLastQP(), cURefer ->getLastQP()); } 根據本文中所描述之技術的一些實施,視訊編碼器20可儲存應用於參考區塊之樣本之QP及/或用作參考圖像之所有圖像的全域QP (例如圖塊層級QP)。根據本文中所描述之技術的一些實施,視訊編碼器20可儲存應用於參考區塊之樣本之縮放參數及/或用作參考圖像之所有圖像的全域縮放(例如圖塊層級縮放)參數。若參考樣本之區塊與區塊分區之多個CU重疊(因此可能具有跨該等分區之不同QP),則視訊編碼器20可自眾多可用QP導出QP。舉例而言,視訊編碼器20可藉由對多個可用QP實施取平均值之程序來導出當前經寫碼區塊152的QP。藉由以下假碼描述一實施之一實例,根據該實施視訊編碼器20可藉由對來自參考樣本之多個可用的QP取平均值來導出當前經寫碼區塊152的QP值: Int sum= 0; for (Int i=0; i < numMinPart; i++) { sum += m_phInferQP[COMPONENT_Y][uiAbsPartIdxInCTU + i]; } avgQP = (sum)/numMinPart; 在本文中所描述之QP導出技術的又一實施中,視訊編碼器20可(諸如自查找表(LUT))導出QP作為明度分量之平均亮度的函數。藉由以下假碼描述此實施,其中『avgPred』為參考樣本之平均亮度: QP = PQ_LUT[avgPred]; 根據本文中所描述之QP導出技術的一些實施,視訊編碼器20可自一或多個全域QP值導出參考QP值。全域QP值之一實例為圖塊層級中所指定之QP值。藉由以下假碼描述此實施: qp = (((Int) pcCU->getSlice()->getSliceQp() + iDQp + 52 + 2*qpBdOffsetY )%(52+ qpBdOffsetY)) - qpBdOffsetY; 根據本文中所描述之QP導出技術的一些實施,視訊編碼器20可藉由利用一或多個參考樣本值導出QP值。藉由以下假碼描述此實施: QP = PQ_LUT[avgPred]; 在上述假碼中,「PQ_LUT」表示視訊編碼器20可藉以將經預測區塊之平均亮度值(「avgPred」)映射至相關聯PQ值的查找表。視訊編碼器20可計算avgPred的值作為參考樣本的函數,諸如藉由計算參考樣本之平均值。視訊編碼器20可根據本發明之計算使用的平均值之實例包括平均值、中位值及模式值中之一或多者。 在一些實施中,視訊編碼器20可導出縮放參數而非QP值。在其他實施中,視訊編碼器20可使用將經導出QP值轉換成縮放參數之轉換程序,或反之亦然。在一些實施中,視訊編碼器20可利用分析型表式自一或多個參考樣本導出QP值。舉例而言,為了利用分析型表式,視訊編碼器20可使用參數導出模型。 圖10為說明可實施本發明之技術的視訊解碼器30之實例的方塊圖。在圖10之實例中,視訊解碼器30包括熵解碼單元70、視訊資料記憶體71、運動補償單元72、框內預測處理單元74、反量化單元76、反變換處理單元78、經解碼圖像緩衝器82及求和器80。在一些實例中,視訊解碼器30可執行與關於視訊編碼器20 (圖9)描述之編碼遍次大體上互逆的解碼遍次。運動補償單元72可基於自熵解碼單元70接收之運動向量產生預測資料,而框內預測處理單元74可基於自熵解碼單元70接收之框內預測模式指示符產生預測資料。 視訊資料記憶體71可儲存待由視訊解碼器30之組件解碼的視訊資料,諸如經編碼視訊位元串流。舉例而言,儲存於視訊資料記憶體71中的視訊資料可經由視訊資料之有線或無線網路通信或藉由存取實體資料儲存媒體而自電腦可讀媒體16 (例如自諸如攝影機之本端視訊源)獲得。視訊資料記憶體71可形成儲存來自經編碼視訊位元串流之經編碼視訊資料的經寫碼圖像緩衝器(CPB)。經解碼圖像緩衝器82可為儲存供視訊解碼器30用於例如在框內寫碼模式或框間寫碼模式中解碼視訊資料之參考視訊資料的參考圖像記憶體。視訊資料記憶體71及經解碼圖像緩衝器82可由各種記憶體器件中之任一者形成,諸如動態隨機存取記憶體(DRAM) (包括同步DRAM (SDRAM))、磁阻式RAM (MRAM)、電阻式RAM (RRAM)或其他類型之記憶體器件。可由相同記憶體器件或單獨記憶體器件提供視訊資料記憶體71及經解碼圖像緩衝器82。在各種實例中,視訊資料記憶體71可與視訊解碼器30之其他組件一起在晶片上,或相對於彼等組件在晶片外。 在解碼程序期間,視訊解碼器30自視訊編碼器20接收表示經編碼視訊圖塊之視訊區塊及相關聯語法元素的經編碼視訊位元串流。視訊解碼器30之熵解碼單元70熵解碼位元串流以產生經量化係數、運動向量或框內預測模式指示符及其他語法元素。熵解碼單元70將運動向量及其他語法元素轉遞至運動補償單元72。視訊解碼器30可接收視訊圖塊層級及/或視訊區塊層級下之語法元素。 當視訊圖塊經寫碼為經框內寫碼(I)圖塊時,框內預測處理單元74可基於經傳信框內預測模式及來自當前圖框或圖像之先前經解碼區塊的資料而產生當前視訊圖塊之視訊區塊的預測資料。當視訊圖框經寫碼為經框間寫碼(亦即B或P)圖塊時,運動補償單元72基於運動向量及自熵解碼單元70接收之其他語法元素而產生當前視訊圖塊之視訊區塊的預測性區塊。可由參考圖像清單中之一者內的參考圖像中之一者產生預測性區塊。視訊解碼器30可基於儲存於經解碼圖像緩衝器82中之參考圖像使用預設建構技術來建構參考圖像清單(清單0及清單1)。運動補償單元72藉由剖析運動向量及其他語法元素來判定用於當前視訊圖塊之視訊區塊的預測資訊,且使用該預測資訊來產生經解碼之當前視訊區塊之預測性區塊。舉例而言,運動補償單元72使用所接收語法元素中之一些來判定用於寫碼視訊圖塊之視訊區塊的預測模式(例如,框內或框間預測)、框間預測圖塊類型(例如,B圖塊或P圖塊)、該圖塊之參考圖像清單中之一或多者的建構資訊、該圖塊之每一經框間編碼視訊區塊的運動向量、該圖塊之每一經框間寫碼視訊區塊的框間預測狀態及用以解碼當前視訊圖塊中之視訊區塊的其他資訊。 運動補償單元72亦可基於內插濾波器執行內插。運動補償單元72可使用如由視訊編碼器20在視訊區塊之編碼期間使用的內插濾波器,以計算參考區塊之子整數像素的內插值。在此情況下,運動補償單元72可自所接收之語法元素判定由視訊編碼器20使用之內插濾波器且使用該等內插濾波器產生預測性區塊。 反量化單元76反量化(亦即,解量化)位元串流中所提供且由熵解碼單元70解碼的經量化變換係數。反量化程序可包括使用視訊解碼器30針對視訊圖塊中之每一視訊區塊計算之量化參數QP
Y
來判定應應用的量化程度及同樣地反量化程度。反變換處理單元78將例如反DCT、反整數變換或概念上類似的反變換程序之反變換應用於變換係數,以便在像素域中產生殘餘區塊。 在運動補償單元72基於運動向量及其他語法元素產生用於當前視訊區塊之預測性區塊之後,視訊解碼器30藉由將來自反變換處理單元78之殘餘區塊與運動補償單元72所產生之對應預測性區塊求和而形成經解碼視訊區塊。求和器80表示執行此求和運算之一或多個組件。若需要,亦可應用解區塊濾波器來對經解碼區塊進行濾波以便移除區塊效應假影。其他迴路濾波器(在寫碼迴路內或在寫碼迴路之後)亦可用於使像素轉變平滑,或另外改良視訊質量。接著將給定圖框或圖像中之經解碼視訊區塊儲存於經解碼圖像緩衝器82中,該經解碼圖像緩衝器儲存用於後續運動補償之參考圖像。經解碼圖像緩衝器82亦儲存供稍後在顯示器件(諸如,圖1之顯示器件32)上呈現的經解碼視訊。 視訊解碼器30可根據上文所描述之技術中之一或多者在經編碼視訊位元串流中接收自由視訊編碼器20獲得之QP值導出的差異QP值。使用差異QP值,視訊解碼器30可獲得關於當前經解碼區塊(諸如圖8中所說明的當前經寫碼區塊152)之QP值。之後,視訊解碼器30可使用QP值解量化當前經寫碼區塊152。 在視訊解碼器30接收當前經寫碼區塊152之縮放參數的情況下,視訊解碼器30可使用縮放參數來實施與使用經縮放值DC'及AC'作為運算元之各種程序大體上互逆的反向縮放程序。亦即,視訊解碼器30可應用縮放參數以反向縮放經縮放DC變換係數DC'及經縮放AC變換係數AC',從而獲得如由以下方程式表達之經反向縮放DC係數DC''及經反向縮放AC變換係數AC''。視訊解碼器30可如以下方程式中所說明來實施反向縮放操作: DC'' = DC'/scale (fun1(DC', avgPred));及 AC'' = AC'/scale (fun2(DC'', avgPred)) 術語『fun1』及『fun2』定義使用參考樣本之平均值及基於DC的值作為引數之縮放導出函數/程序。如關於由視訊解碼器30實施之反向縮放技術所說明,本發明之技術能夠在導出DC及AC變換係數值兩者時使用DC變換係數值。以此方式,不論反向縮放操作是替代變換係數之量化及反解量化執行還是與變換係數之量化及解量化組合執行,本發明之技術使視訊解碼器30能夠在反向縮放操作中利用DC變換係數值。 圖11為說明根據本發明之各種態樣之視訊解碼器30可執行的實例程序170之流程圖。程序170可在視訊解碼器30接收包括當前區塊152之經編碼表示的經編碼視訊位元串流時開始(172)。視訊解碼器30可重建構基於當前區塊152之時空相鄰QP資訊的QP值(174)。舉例而言,視訊解碼器30可自在經編碼視訊位元串流中傳信之差異QP值重建構QP。經重建構QP值可係基於來自圖8中所說明的區塊154至158中之一或多者的QP資訊。如上文所論述,為重建構QP值,視訊解碼器30可對時空相鄰區塊154至158中之兩者或多於兩者的QP值取平均值以產生參考QP值,接著將差異QP值添加至參考QP值以最終產生當前區塊之經重建構QP值。之後,視訊解碼器30 (且更特定言之,反量化單元76)可使用基於時空相鄰QP資訊的經重建構QP值來解量化(亦即,反量化)當前區塊152之經CABAC解碼的變換係數(176)。在一些實例中,視訊解碼器30可基於時空鄰域之樣本獲得當前區塊152的樣本之參考QP值,且可將差異QP值添加至參考QP值以導出用於解量化當前區塊152之樣本的QP值。 圖12為說明根據本發明之各種態樣之視訊解碼器30可執行的實例程序190之流程圖。程序190可在視訊解碼器30接收包括當前區塊152之經編碼表示的經編碼視訊位元串流時開始(192)。視訊解碼器30可重建構基於當前區塊152之時空相鄰縮放資訊的縮放參數(194)。舉例而言,經重建構縮放參數可係基於來自圖8中所說明的區塊154至158中之一或多者的縮放資訊。之後,視訊解碼器30可使用基於時空相鄰QP資訊的經重建構縮放參數來反向縮放當前區塊152 (196)。在一些實例中,視訊解碼器30可將第一反向縮放導出程序應用於當前區塊152之變換係數的複數個DC變換係數以獲得複數個經反向縮放DC變換係數,且可將第二反向縮放導出程序應用於當前區塊152之變換係數的複數個反向經縮放DC變換係數以獲得複數個經反向縮放AC變換係數。 圖13為說明根據本發明之各種態樣之視訊編碼器20可執行的實例程序210之流程圖。程序210可在視訊編碼器20自當前區塊152之時空相鄰QP資訊導出當前區塊152的QP值時開始(212)。視訊編碼器20可使用自時空相鄰QP資訊導出之QP值來量化當前區塊152 (214)。之後,視訊編碼器20可在經編碼視訊位元串流中傳信自基於時空相鄰QP資訊的QP導出之差異QP值(216)。在一些實例中,視訊編碼器20可選擇與空間相鄰區塊154及/或156及/或時間相鄰區塊158中之兩者或多於兩者的樣本相關聯之相鄰QP值。在一些實例中,視訊編碼器20可對所選擇之相鄰QP值取平均值以獲得平均QP值,且可自平均值導出當前區塊之QP值。在一些實例中,視訊編碼器20可基於時空鄰域之樣本獲得當前區塊152的樣本之參考QP值。在此等實例中,視訊編碼器20可自QP值減去參考QP值以導出當前區塊152之樣本的差異量化參數(QP)值,且可在經編碼視訊位元串流中傳信差異QP值。 圖14為說明根據本發明之各種態樣之視訊編碼器20可執行的實例程序240之流程圖。程序240可在視訊編碼器20自當前區塊152之時空相鄰縮放資訊導出當前區塊152的縮放參數時開始(242)。視訊編碼器20可使用自時空相鄰縮放資訊導出之縮放參數來縮放當前區塊152 (244)。之後,視訊編碼器20可在經編碼視訊位元串流中傳信基於時空相鄰縮放資訊的縮放參數(246)。 如上文所描述,所揭示之系統及技術亦併入有或包括用於自信號之時空鄰域導出量化或縮放參數的若干演算法。亦即,本發明之實例系統及技術係關於獲得用以在寫碼程序中修改與當前區塊相關聯之殘餘資料的一或多個參數值。如本文中所使用,用以修改殘餘資料之參數值可包括量化參數(用以在編碼程序或解碼程序中分別藉由量化或解量化殘餘資料來修改殘餘資料),或縮放參數(用以在編碼程序或解碼程序中分別藉由縮放或反向縮放殘餘資料來修改殘餘資料)。 出於說明之目的,本發明之某些態樣已經關於HEVC標準之擴展而描述。然而,本發明中所描述之技術可用於其他視訊寫碼程序,包括尚未開發之其他標準或專屬視訊寫碼程序。 如本發明中所描述之視訊寫碼器可指視訊編碼器或視訊解碼器。類似地,視訊寫碼單元可指視訊編碼器或視訊解碼器。同樣地,如適用,視訊寫碼可指視訊編碼或視訊解碼。 應認識到,取決於實例,本文中所描述之技術中之任一者的某些動作或事件可以不同序列執行、可添加、合併或完全省略該等動作或事件(例如,並非所有所描述動作或事件對於該等技術之實踐係必要的)。此外,在某些實例中,可例如經由多線緒處理、中斷處理或多個處理器同時地而非順序地執行動作或事件。 在一或多個實例中,所描述功能可以硬體、軟體、韌體或其任何組合來實施。若以軟體實施,則該等功能可作為一或多個指令或程式碼而儲存於電腦可讀媒體上或經由電腦可讀媒體傳輸,且由基於硬體之處理單元執行。電腦可讀媒體可包括電腦可讀儲存媒體(其對應於諸如資料儲存媒體之有形媒體)或通信媒體,該通信媒體包括例如根據通信協定來促進電腦程式自一處傳送至另一處的任何媒體。以此方式,電腦可讀媒體通常可對應於(1)非暫時性之有形電腦可讀儲存媒體,或(2)諸如信號或載波之通信媒體。資料儲存媒體可為可由一或多個電腦或一或多個處理器存取以擷取指令、程式碼及/或資料結構以用於實施本發明中所描述之技術的任何可用媒體。電腦程式產品可包括電腦可讀媒體。 藉助於實例而非限制,此類電腦可讀儲存媒體可包含RAM、ROM、EEPROM、CD-ROM或其他光碟儲存器、磁碟儲存器或其他磁性儲存器件、快閃記憶體或可用以儲存呈指令或資料結構形式之所需程式碼且可由電腦存取的任何其他媒體。又,任何連接被適當地稱為電腦可讀媒體。舉例而言,若使用同軸纜線、光纜、雙絞線、數位用戶線(DSL)或無線技術(諸如紅外線、無線電及微波)自網站、伺服器或其他遠端源傳輸指令,則同軸纜線、光纜、雙絞線、DSL或無線技術(諸如紅外線、無線電及微波)包括於媒體之定義中。然而,應理解,電腦可讀儲存媒體及資料儲存媒體不包括連接、載波、信號或其他暫時性媒體,而實際上係關於非暫時性有形儲存媒體。如本文所使用,磁碟及光碟包括緊密光碟(CD)、雷射光碟、光學光碟、數位多功能光碟(DVD)、軟碟及藍光光碟,其中磁碟通常以磁性方式再現資料,而光碟用雷射以光學方式再現資料。以上各者的組合亦應包括於電腦可讀媒體之範疇內。 可藉由諸如一或多個數位信號處理器(DSP)、通用微處理器、特殊應用積體電路(ASIC)、場可程式化邏輯陣列(FPGA)或其他等效積體或離散邏輯電路之一或多個處理器來執行指令。因此,如本文中所使用之術語「處理器」可指前述結構或適於實施本文中所描述之技術的任何其他結構中之任一者。另外,在一些態樣中,本文中所描述之功能性可提供於經組態用於編碼及解碼的專用硬體及/或軟體模組內,或併入於組合式編解碼器中。又,該等技術可完全實施於一或多個電路或邏輯元件中。 本發明之技術可實施於廣泛各種器件或裝置中,包括無線手持機、積體電路(IC)或IC集合(例如晶片組)。在本發明中描述各種組件、模組或單元以強調經組態以執行所揭示技術之器件的功能態樣,但未必需要由不同硬體單元來實現。確切地說,如上文所描述,可將各種單元組合於編解碼器硬體單元中,或藉由互操作性硬體單元(包括如上文所描述之一或多個處理器)之集合結合適合的軟體及/或韌體來提供該等單元。 各種實例已予以描述。此等及其他實例係在以下申請專利範圍之範疇內。