TW202114413A - 用於編碼與解碼視訊樣本區塊的方法、設備以及系統 - Google Patents

用於編碼與解碼視訊樣本區塊的方法、設備以及系統 Download PDF

Info

Publication number
TW202114413A
TW202114413A TW109128776A TW109128776A TW202114413A TW 202114413 A TW202114413 A TW 202114413A TW 109128776 A TW109128776 A TW 109128776A TW 109128776 A TW109128776 A TW 109128776A TW 202114413 A TW202114413 A TW 202114413A
Authority
TW
Taiwan
Prior art keywords
coding
bit stream
sub
transform
quantization parameter
Prior art date
Application number
TW109128776A
Other languages
English (en)
Other versions
TWI796589B (zh
Inventor
克里斯多福 羅斯沃恩
埃泰哈爾 阿曼德
Original Assignee
日商佳能股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日商佳能股份有限公司 filed Critical 日商佳能股份有限公司
Publication of TW202114413A publication Critical patent/TW202114413A/zh
Application granted granted Critical
Publication of TWI796589B publication Critical patent/TWI796589B/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Abstract

一種從位元流解碼複數個編碼單元以產生影像訊框之方法與系統,該編碼單元是編碼樹單元之分解的結果,該複數個編碼單元形成位元流之一或多連續部分。該方法包含判定針對該位元流之一或多連續部分中各者的次劃分層級,各次劃分層級可應用到該位元流之該各別的連續部分之該編碼單元;對多個區域中的各者的量化參數差量(delta)進行解碼,各區域基於自編碼樹單元的分解到該位元流的各連續部分的編碼單元以及該對應判定的次劃分層級;根據針對該區域之該解碼的差量量化參數與該影像訊框的較先(earlier)編碼單元之該量化參數,判定針對各區域之量化參數;使用各區域之該判定的量化參數將該複數個編碼單元解碼,以產生該影像訊框。

Description

用於編碼與解碼視訊樣本區塊的方法、設備以及系統
本發明一般相關於數位視訊訊號處理,且更明確相關於用於編碼與解碼視訊樣本區塊的方法、設備以及系統。本發明亦相關於電腦程式產品,其包括電腦可讀媒體,該電腦可讀媒體上記錄有用於編碼與解碼視訊樣本區塊的電腦程式。 對相關申請案之參照
本申請案根據35 U.S.C. §119主張澳洲專利申請案第2019232797號的申請日(2019年9月17日申請)之優先權,透過對該案參照而將其全文併入本文中,如同在此完整陳述般。
當前存在許多對視訊編碼之應用,包括用於傳輸與儲存視訊資料之應用。也已發展出許多視訊編碼標準,且當今更在發展其他的視訊編碼標準。在視訊編碼標準化近來的發展導致成立了一個稱為「聯合視訊專家團隊」(JVET)的群組。聯合視訊專家團隊(JVET)包括國際電信聯盟(ITU)電信標準化部門(ITU-T)的第16研究組第6號問題(SG16 / Q6)的成員,也稱為「視訊編碼專家群組」(VCEG),以及國際標準化組織/國際電工委員會聯合技術委員會1 /小組委員會29 /工作組11(ISO / IEC JTC1 / SC29 / WG11)之成員,也稱為「移動畫面專家群組」(MPEG)。
聯合視訊專家團隊(JVET)發出了提案徵集(CfP),並在其在美國聖地亞哥舉行的第10次會議上對回應進行了分析。提交的回應表明,視訊壓縮功能大大優於當前最新的視訊壓縮標準,即「高效率視訊編碼」(HEVC)。基於這種出色的表現,決定開始發展新的視訊壓縮標準的專案,該標準將被稱為「多功能視訊編碼」(VVC)。VVC被預期可以滿足當前對越來越高壓縮性能之需求,特別是隨著視訊格式之功能的增強(例如具有更高的解析度和更高的訊框速率(frame rate)),以及滿足頻寬成本相對較高的WAN上服務交付市場需求的增長。例如沉浸式視訊的使用案例需要此種較高格式之即時編碼與解碼,例如,即便最終渲染「視埠」使用較低解析度,可使用8K格式之立方體貼圖投影(CMP)。VVC必須能在當代矽加工處理(silicon process)中實作並在實現的性能與實現成本之間提供可接受的權衡。可例如根據矽面積、CPU處理器負載、記憶體利用率和頻寬中的一或多項來考慮該實作成本。可透過將訊框區域劃分成數區段並且並行處理各區段,來處理較高視訊格式。從多區段之壓縮訊框所建構之位元流仍適用於由「單核」解碼器進行解碼,即根據應用需求將包括位元率等訊框層級限制分配給各區段。
視訊資料包括一序列的訊框之影像資料,各訊框包括一或多顏色通道。一般而言,需要一個主要顏色通道與兩個次要顏色通道。主要顏色通道一般被稱為「亮度」通道,而(一或多)次要顏色通道一般被稱為「色度」通道。雖然視訊資料典型上是在RGB(紅綠藍)顏色空間中顯示,但此顏色空間在該三種各別的分量之間有高程度的相關性。由編碼器或解碼器所見之視訊資料表示法通常使用諸如YCbCr的顏色空間。YCbCr將亮度(根據轉移函數映射到「亮度」)集中在Y(主要)通道中,而將色度集中在Cb和Cr(次要)通道中。由於使用去相關的YCbCr訊號,因此亮度通道之統計數據與色度通道的統計數據明顯不同。一主要差異在於在量化後,相較於對應亮度通道區塊之係數,針對一給定區塊之色度通道包含相對少的顯著係數。此外,與亮度通道相比,以較低速率在在空間上取樣Cb與Cr通道(次取樣),例如水平上與垂直上各為一半,已知為「4:2:0色度格式」。通常在「消費者」應用中使用4:2:0色度格式,諸如網際網路視訊串流、廣播電視、以及Blu-RayTM 碟片上之儲存。水平上以一半速率次取樣且垂直上不次取樣Cb和Cr被已知為「4:2:2色度格式」。典型上在專業應用中使用4:2:2色度格式,包括擷取電影製作等之畫面。4:2:2色度格式之較高取樣率使得產出視訊在諸如顏色漸層等編輯操作方面較有彈性。在分發給消費者之前,4:2:2色度格式材料通常被轉換成4:2:0色度格式並接著被編碼用於分發給消費者。除了色度格式以外,視訊特徵亦在於解析度與訊框速率。例示性解析度是具有3840x2160之解析度的超高定義(UHD)解析度或具有7680x4320之解析度的「8 K」解析度,以及例示性訊框速率為60或120Hz。亮度取樣率之範圍可在從大約每秒5億個樣本到每秒幾千兆樣本之範圍內。對於4:2:0色度格式而言,各色度通道之取樣率是亮度取樣率之四分之一,且針對4:2:2色度格式而言,各色度通道之取樣率是亮度取樣率之二分之一。
VVC標準是「基於區塊」編解碼器,其中訊框首先被劃分成方形陣列之區,已知為「編碼樹單元(CTU)」。CTU通常佔相對大的區域,諸如128×128個亮度樣本。然而,在各訊框右側與底邊緣之CTU面積可較小。與各CTU相關聯的是針對亮度通道與色度通道兩者之「編碼樹」(「共享樹」)或是各針對亮度通道與色度通道之分離樹。編碼樹定義將CTU之區域分解成一區塊集合,其亦被稱為「編碼區塊」(CB)。當使用共享樹時,單一編碼樹指定針對亮度通道與色度通道兩者之區塊,在任一情況下該並置編碼區塊之集合被稱為「編碼單元」(CU),亦即,各CU具有針對各顏色通道之編碼區塊。以特定順序處理CB以將其編碼或解碼。使用4:2:0色度格式之結果導致:具有針對128×128亮度樣本區域的亮度編碼樹之CTU具有針對64×64色度樣本區域的對應色度編碼樹,並與128×128亮度樣本區域並置。當使用單一編碼樹用於亮度通道與色度通道時,針對給定區域之並置區塊的集合通常被稱為「單元」,例如上述的CU,以及「預測單元」(PU)以及「變換單元」(TU)。一具有橫跨4:2:0色度格式視訊資料的顏色通道之CU的單一樹導致色度塊具有對應亮度區塊一半的寬度和高度。當針對給定區域使用分離編碼樹時,使用上述CB(以及「預測區塊」(PB))以及「變換區塊」(TB)。
儘管上述「單元」與「區塊」之間有所區隔,但術語「區塊」可被用作針對一訊框之區域或區之通用術語,其中可對所有顏色通道應用操作。
針對各CU,產生訊框資料之對應區域的內容(樣本值)之預測單元(PU)(prediction unit)。再者,形成該區域之預測與內容之間的差之代表(或「空間域」殘差),該代表被視為是到編碼器之輸入。各顏色通道之差可被變換並編碼成一序列之殘差係數,形成針對給定CU之一或多TU。該應用的變換可以是離散餘弦變換(DCT)或其他變換,其被應用到各區塊之殘差數值。可分別應用此變換,亦即,其是在兩過程中執行之二維變換。首先透過對區塊中各列樣本應用一維變換,來將該區塊變換。接著,透過對各行之部分結果應用一維變換,以將部分結果轉換,並產生最終區塊的變換係數,其實質上去相關該殘差樣本。各種尺寸之變換被VVC標準支援,包括矩形形狀區塊之變換,其中各邊維度是二之冪。將變換係數量化,用於熵編碼到位元流中。
VVC具框內訊框預測與框間訊框預測之特徵。框內訊框預測涉及在訊框中使用先前處理樣本,該樣本被使用已產生該訊框中當前區塊之樣本的預測。框間訊框預測涉及使用從先前解碼訊框中獲得的一區塊之樣本來產生訊框中當前區塊之樣本的預測。根據運動向量(其通常被應用過濾),將從先前解碼訊框獲得的該區塊之樣本從當前區塊之空間位置偏移。框內訊框預測區塊可以是:(i)均勻樣本值(「DC框內預測」);(ii)具有偏移以及水平與垂直梯度之平面(「平面框內預測」);(iii)沿特定方向應用相鄰樣本之該區塊之總體(「角度框內預測」);或(iv)使用相鄰樣本與選擇矩陣係數之矩陣相乘之結果。預測區塊與對應輸入樣本之間的進一步差異可被校正到透過將「殘差」編碼到位元流中之程度。殘差通常從空間域變換到頻率域,以形成殘差係數(在「主要變換域」中),其透過應用「次要變換」可被進一步轉換(以產生在「次要變換域」中的殘差係數)。根據量化參數,將殘差係數量化,造成在解碼器處產生的樣本重建之準確度的損失,但其在位元流中的位元率方面有所降低。量化參數可逐訊框而不同,也可在各訊框中有所不同。在訊框內量化參數之變化典型上是用於「率控制(rate controlled)」之編碼器。率控制的編碼器嘗試產生具有實質上恆定位元率之位元流,而無視接收到輸入樣本之統計數據,諸如雜訊特性、運動角度等等。由於位元流典型透過具有限頻寬之網路傳輸,故率控制(rate control)是用以在網路上確保可靠性能之廣知技術,其無視輸入到編碼器之原始訊框的變異。在並行區段中訊框被編碼處,使用率控制之彈性是被期望的,因為就期望保真度而言,不同區段可具有不同需求。
本發明之目的在於實質上克服,或至少改善,現存配置之一或多缺點。
本揭露之一態樣提供一種從位元流解碼複數個編碼單元以產生影像訊框之方法,該編碼單元是編碼樹單元之分解的結果,該複數個編碼單元形成位元流之一或多連續部分,該方法包含:判定針對該位元流之一或多連續部分中各者的次劃分層級,各次劃分層級可應用到該位元流之該各別的連續部分之該編碼單元;對多個區域中的各者的量化參數差量(delta)進行解碼,各區域基於從編碼樹單元的分解到該位元流的各連續部分的編碼單元以及該對應判定的次劃分層級;根據針對該區域之該解碼的差量量化參數與該影像訊框的較先(earlier)編碼單元之該量化參數,判定針對各區域之量化參數;使用各區域之該判定的量化參數將該複數個編碼單元解碼,以產生該影像訊框。
根據另一態樣,各區域是基於與該編碼單元相關聯的次劃分層級與針對該對應連續部分的判定次劃分層級之間的比較。
根據另一態樣,針對各區域所判定之量化參數差量是對應編碼樹,該對應編碼樹之次劃分層級小於或等於針對該對應連續部分的該判定次劃分層級。
根據另一態樣,針對該編碼樹單元中的任何節點設定新區域,該編碼樹單元之次劃分層級小於或等於該對應判定次劃分層級。
根據另一態樣,針對各連續部分所判定之該次劃分層級包含針對該連續部分的亮度編碼單元之第一次劃分層級以及針對色度編碼單元之第二次劃分層級。
根據另一態樣,該第一次劃分層級與該第二次劃分層級不同。
根據另一態樣,該方法更包含將指示與該位元流相關聯的一序列參數集的分割約束可以被複寫之旗標予以解碼。
根據另一態樣,針對該一或多連續部分中各者所判定之次劃分層級包括針對該區域之最大亮度編碼單元深度。
根據另一態樣,針對該一或多連續部分中各者所判定之次劃分層級包括針對該對應區域之最大色度編碼單元深度。
根據另一態樣,將針對該等連續部分中一者所判定之次劃分層級調整,以維持相對於針對該位元流的分割約束進行解碼的最深允許次劃分層級之偏移。
本揭露之另一態樣提供一種非暫態電腦可讀媒體,其上儲存有電腦程式,以實作從位元流解碼複數個編碼單元以產生影像訊框之方法,該編碼單元是編碼樹單元之分解的結果,該複數個編碼單元形成位元流之一或多連續部分,該方法包含:判定針對該位元流之一或多連續部分中各者的次劃分層級,各次劃分層級可應用到該位元流之該各別的連續部分之該編碼單元;對多個區域中的各者的量化參數差量進行解碼,各區域基於從編碼樹單元的分解到該位元流的各連續部分的編碼單元以及該對應判定的次劃分層級;根據針對該區域之該解碼的差量量化參數與該影像訊框的較先(earlier)編碼單元之該量化參數,判定針對各區域之量化參數;使用各區域之該判定的量化參數將該複數個編碼單元解碼,以產生該影像訊框。
本揭露之另一態樣提供一種視訊解碼器,其經組態以實作從位元流解碼複數個編碼單元以產生影像訊框之方法,該編碼單元是編碼樹單元之分解的結果,該複數個編碼單元形成位元流之一或多連續部分,該方法包含:判定針對該位元流之一或多連續部分中各者的次劃分層級,各次劃分層級可應用到該位元流之該各別的連續部分之該編碼單元;對多個區域中的各者的量化參數差量進行解碼,各區域基於從編碼樹單元的分解到該位元流的各連續部分的編碼單元以及該對應判定的次劃分層級;根據針對該區域之該解碼的差量量化參數與該影像訊框的較先(earlier)編碼單元之該量化參數,判定針對各區域之量化參數;以及使用各區域之該判定的量化參數將該複數個編碼單元解碼,以產生該影像訊框。
本揭露之另一態樣提供一種系統,其包含:記憶體;以及處理器,其中該處理器經組態以執行儲存在該記憶體上之碼,用於實作一種從位元流解碼複數個編碼單元以產生影像訊框之方法,該編碼單元是編碼樹單元之分解的結果,該複數個編碼單元形成位元流之一或多連續部分,該方法包含:判定針對該位元流之一或多連續部分中各者的次劃分層級,各次劃分層級可應用到該位元流之該各別的連續部分之該編碼單元;對多個區域中的各者的量化參數差量進行解碼,各區域基於從編碼樹單元的分解到該位元流的各連續部分的編碼單元以及該對應判定的次劃分層級;根據針對該區域之該解碼的差量量化參數與該影像訊框的較先(earlier)編碼單元之該量化參數,判定針對各區域之量化參數;以及使用各區域之該判定的量化參數將該複數個編碼單元解碼,以產生該影像訊框。
本揭露之另一態樣提供一種從出自視訊位元流的影像訊框之編碼樹單元中解碼編碼樹之編碼單元的方法,該編碼單元具有主要顏色通道與至少一次要顏色通道,該方法包含:根據該編碼樹單元之解碼的拆分旗標,判定包括該主要顏色通道與至少一次要顏色通道之編碼單元;將第一索引解碼以選擇針對該主要顏色通道之核心,以及將第二索引解碼以選擇針對該至少一次要顏色通道之核心;根據該第一索引選擇第一核心,以及根據該第二索引選擇第二核心;以及透過將該第一核心應用到該主要顏色通道之殘差係數與將該第二核心應用到該至少一次要顏色通道之殘差係數,以將該編碼單元解碼。
根據另一態樣,該第一索引或該第二索引是在將該編碼單元的最終顯著殘差係數的位置解碼之後立即解碼的。
根據另一態樣,針對複數個次要顏色通道,將該單一殘差係數解碼。
根據另一態樣,針對單一次要顏色通道,將該單一殘差係數解碼。
根據另一態樣,該第一索引與該第二索引彼此獨立。
根據另一態樣,該第一核心與該第二核心分別取決於針對該主要顏色通道之框內預測模式與針對該至少一次要顏色通道之框內預測模式。
根據另一態樣,該第一核心與該第二核心分別相關於該主要顏色通道之區塊尺寸與該至少一次要顏色通道之區塊尺寸。
根據另一態樣,該第二核心相關於該編碼的位元流之色度次取樣比例。
根據另一態樣,該等核心中各者實作不可分離的次要變換。
根據另一態樣,該編碼單元包含兩個次要顏色通道,以及針對該等次要顏色通道中各者將分離索引解碼。
本揭露之另一態樣提供一種非暫態電腦可讀媒體,其上儲存電腦程式以實作從出自視訊位元流的影像訊框之編碼樹單元中解碼編碼樹之編碼單元的方法,該編碼單元具有主要顏色通道與至少一次要顏色通道,該方法包含:根據該編碼樹單元之解碼的拆分旗標,判定包括該主要顏色通道與至少一次要顏色通道之編碼單元;將第一索引解碼以選擇針對該主要顏色通道之核心,以及將第二索引解碼以選擇針對該至少一次要顏色通道之核心;根據該第一索引選擇第一核心,以及根據該第二索引選擇第二核心;以及透過將該第一核心應用到該主要顏色通道之殘差係數與將該第二核心應用到該至少一次要顏色通道之殘差係數,以將該編碼單元解碼。
本揭露之另一態樣提供一種視訊解碼器,經組態以實作從出自視訊位元流的影像訊框之編碼樹單元中解碼編碼樹之編碼單元的方法,該編碼單元具有主要顏色通道與至少一次要顏色通道,該方法包含:根據該編碼樹單元之解碼的拆分旗標,判定包括該主要顏色通道與至少一次要顏色通道之編碼單元;將第一索引解碼以選擇針對該主要顏色通道之核心,以及將第二索引解碼以選擇針對該至少一次要顏色通道之核心;根據該第一索引選擇第一核心,以及根據該第二索引選擇第二核心;以及透過將該第一核心應用到該主要顏色通道之殘差係數與將該第二核心應用到該至少一次要顏色通道之殘差係數,以將該編碼單元解碼。
本揭露之另一態樣提供一種系統,其包含:記憶體;以及處理器,其中該處理器經組態以執行該記憶體上所儲存的碼,用於實作從出自視訊位元流的影像訊框之編碼樹單元中解碼編碼樹之編碼單元的方法,該編碼單元具有主要顏色通道與至少一次要顏色通道,該方法包含:根據該編碼樹單元之解碼的拆分旗標,判定包括該主要顏色通道與至少一次要顏色通道之編碼單元;將第一索引解碼以選擇針對該主要顏色通道之核心,以及將第二索引解碼以選擇針對該至少一次要顏色通道之核心;根據該第一索引選擇第一核心,以及根據該第二索引選擇第二核心;以及透過將該第一核心應用到該主要顏色通道之殘差係數與將該第二核心應用到該至少一次要顏色通道之殘差係數,以將該編碼單元解碼。
亦揭露其他態樣。
在本說明書中對任意一或多隨附圖式中的步驟及/或特徵(其具有相同參考編號)有作出參照處,其在本說明書中除非出現相反的意圖,否則該等步驟及/或特徵具有相同的功能或操作。
率控制視訊編碼器需要有彈性可以適用於該區塊分割約束之粒度來調整量化參數。從訊框之一部分到另一部分,其區塊分割約束可有所不同,例如,其中多視訊編碼器並行操作以壓縮各訊框。據此,針對需要量化參數調整的區域之粒度不同。此外,在從其產生被轉換之殘餘的預測訊號之範疇內,施加該應用變換選擇之控制(包括可能應用的次要變換)。明確而言,針對框內預測,可對亮度區塊與色度區塊使用不同模式,因為其可能使用不同的框內預測模式。
某些區段之視訊較其他區段對渲染視埠的保真度有更大的貢獻,且可以在區塊結構和量化參數的變化方面分配更大的位元率以及更大的靈活性。對渲染視埠之保真度有少貢獻之區段(諸如在渲染視圖之側邊或後方處者等等)可以被壓縮以具有較簡單區塊結構,用於降低編碼效力以及在量化參數之控制方面具有較低的靈活性。一般而言,對較低位元率,選擇較大的值以較粗糙量化變換係數。額外地,在亮度通道與色度通道之間,變換選擇之應用可以是獨立的,以藉由避免為了轉換選擇而共同考慮亮度和色度之需求,來進一步簡化該編碼處理。明確而言,在分別考慮針對亮度與色度之框內預測模式後,避免了需要對次要變換選擇共同考慮亮度與色度之需求。
圖1是示出視訊編碼與解碼系統100的功能模組之示意性方塊圖。系統100可改變訊框幀的不同部分中調整量化參數的區域,以適應可能在訊框的各個部分中生效的不同區塊分割約束。
系統100包括來源裝置110以及目的地裝置130。使用通訊通道120以將編碼的視訊資訊從來源裝置110通訊到目的地裝置130。在若干配置中,來源裝置110與目的地裝置130可任一或兩者皆包含各別的行動電話手機或「智慧型手機」,在該情況下通訊通道120是無線通道。在其他配置中,來源裝置110與目的地裝置130可包含視訊會議設備,在該情況下通訊通道120典型上是有線通道(諸如網際網路連接)。此外,來源裝置110與目的地裝置130可包含廣範圍的裝置中任意者,包括支援空中電視廣播之裝置、有線電視應用、網際網路視訊應用(包括串流)和在某些電腦可讀儲存媒體(例如檔案伺服器中的硬碟驅動器)上擷取編碼視訊資料的應用。
如圖1所示,來源裝置110包括視訊來源112、視訊編碼器114以及傳輸器116。視訊來源112典型包含擷取視訊訊框資料(以113示出)之來源,諸如影像擷取感測器、儲存在非暫態記錄媒體上之先前擷取到的視訊序列、或出自遠端影像擷取感測器之視訊饋送。視訊源極112也可以是電腦繪圖卡之輸出,例如顯示作業系統以及在計算裝置(例如,平板電腦)上執行的各種應用之視訊輸出。可包括影像擷取感測器作為視訊來源112之來源裝置110的實例包括智慧型電話、攜帶式視訊攝影機、專業視訊攝影機、以及網路視訊攝影機。
如將進一步參照圖3所述,視訊編碼器114將來自視訊來源112之擷取的訊框資料(由箭頭113所示)轉換(或「編碼」)成位元流(由箭頭115來指示)。透過通訊通道120,由傳輸器116將位元流115作為編碼的視訊資料(或「編碼的視訊資訊」)予以傳輸。也可以將位元流115儲存在非暫態儲存裝置122(諸如「快閃」記憶體或硬碟驅動器)中,直到稍後透過通訊通道120傳輸,或替代透過通訊通道120之傳輸。舉例而言,可視需要透過廣域網路(WAN)為視訊串流應用將編碼的視訊資料傳送到客戶方。
目的地裝置130包括接收器132、視訊解碼器134以及顯示器裝置136。接收器132從通訊通道120接收到編碼的視訊資料,並將接收到的視訊資料作為位元流(由箭頭133所指示)傳遞到視訊解碼器134。視訊解碼器134接著將解碼的訊框資料(由箭頭135所示)輸出到顯示器裝置136。解碼的訊框資料135具有與訊框資料113相同的色度格式。顯示器裝置136之實例包括陰極射線管、液晶顯示器、諸如智慧型電話、平板電腦、電腦螢幕或獨立電視機組。將來源裝置110與目的地裝置130各者之功能體現在單一裝置中是可行的,其實例包括行動電話手機與平板電腦。在對使用者予以表示之前,被解碼的訊框資料可被進一步變換。舉例而言,透過使用投影格式,可從解碼的訊框資料將具有特定橫寬長之「視埠」予以渲染以表示場景之360˚視角。
儘管有上述的例示性裝置,來源裝置110與目的地裝置130各者可經組態在通用計算系統中,典型上該組態是透過硬體與軟體組件之組合而達成。圖2A說明這種電腦系統200,其包括:電腦模組201;諸如鍵盤202、滑鼠指標裝置203、掃描器226、攝影機227(其可組態成視訊來源112)、以及麥克風280等輸入裝置;以及包括印表機215、顯示器裝置214(其可組態成顯示器裝置136)、以及擴音器217等輸出裝置。外部調變器-解調器(數據機)收發器裝置216可被電腦模組201使用,用於經由連接221來與通訊網路220來回通訊。通訊網路220(其可代表通訊通道120)可以是(WAN),諸如網際網路、蜂巢式電信網路、或私用WAN。在連接221是電話線時,數據機216可以是傳統「撥號」數據機。替代的,在連接221是高容量(例如,電纜或光學)連接時,數據機216可以是寬頻數據機。無線數據機也可用於與通訊網路220之無線連接。收發器裝置216可設有傳輸器116與接收器132之功能,以及通訊通道120可以被體現在連接221中。
電腦模組201典型上包括至少一個處理器單元205、以及記憶體單元206。舉例而言,記憶體單元206可具有半導體隨機存取記憶體(RAM)與半導體唯讀記憶體(ROM)。電腦模組201也包括數種輸入/輸出(I/O)介面,包括:音訊視訊介面207,其耦接到視訊顯示器214、擴音器217與麥克風280;I/O介面213,其耦接到鍵盤202、滑鼠203、掃描器226、攝影機227,並可選地耦接到搖桿或其他人機介面裝置(未描繪);以及用於外部數據機216與印表機215之介面208。從音訊視訊介面207到電腦螢幕214之訊號通常是電腦繪圖卡之輸出。在若干實作中,數據機216可以被結合到電腦模組201中,例如在介面208內。電腦模組201也具備區域網路介面211,其允許電腦系統200藉由連接223耦接到局部區域通訊網路222(已知為區域網路(LAN))。如圖2A所描繪,區域通訊網路222也可藉由連接224以耦接到廣網路220,該連接通常包括所謂「防火牆」裝置或具相似功能之裝置。區域網路介面211可包含乙太網路(EthernetTM )電路卡,藍牙(BluetoothTM )無線配置或IEEE802.11無線配置;然而,可對介面211實作數種其他類型之介面。區域網路介面211也可設有傳輸器116與接收器132之功能,以及通訊通道120也可以被體現在區域通訊網路222中。
I/O介面208與213可提供串列與並行連接中任一或兩者,前者典型上根據通用序列匯流排(USB)標準實作並具有對應的USB連接器(未描繪)。設置儲存裝置209且典型上其包括硬碟驅動器(HDD)210。也可使用諸如軟磁碟驅動器與磁帶式驅動器(未描繪)等其他儲存裝置。典型上設置光碟驅動器212以用作資料之非揮發性來源。可攜式記憶體裝置(例如,諸如光碟(例如,CD-ROM、DVD、Blu ray DiscTM )、USB-RAM、可攜式、外部硬碟機、以及軟磁碟等等)可被用作電腦系統200之適當資料來源。典型上,HDD 210、光學驅動器212、網路220以及222中任意者也可經組態以用作視訊來源112或解碼的視訊資料之目的地,該視訊資料將被儲存用於經由顯示器214重現。系統100之來源裝置110與目的地裝置130可以被實現於電腦系統200中。
電腦模組201之組件205至213典型上經由互連匯流排204進行通訊,且該通訊方式將導致電腦系統200在相關技術領域中具有通常知識者所習知的操作模式。舉例而言,透過使用連接218,處理器205耦接到系統匯流排204。相似的,透過連接219,記憶體206與光碟驅動器212耦接到系統匯流排204。可以實踐上述配置的電腦實例包括IBM-PC和相容電腦、Sun SPARCstation、Apple MacTM 或類似電腦系統。
在適當處或期望處,視訊編碼器114與視訊解碼器134(以及下述方法)可透過使用電腦系統200來實作。明確而言,視訊編碼器114、視訊解碼器134與將描述方法可被實作成一或多在電腦系統200內可執行之軟體應用程式233。明確而言,視訊編碼器114、視訊解碼器134、以及所描述方法之步驟是被軟體233中的指令231(請見圖2B)所影響,該軟體是在電腦系統200內被執行。軟體指令231可形成作一或多碼模組,其各執行一或多特定工作。軟體也可以被劃分成兩個分離部分,其中第一部分與對應碼模組執行所說明方法,以及第二部分與對應碼模組管理第一部分與使用者之間的使用者介面。
軟體可以被儲存在電腦可讀媒體中,舉例而言包括下述之儲存裝置。從電腦可讀媒體將軟體載入電腦系統200中,並接著由電腦系統200執行該軟體。具備此種軟體或電腦程式紀錄於其上之電腦可讀媒體是電腦程式產品。電腦程式產品在電腦系統200中之用途較佳影響有利設備用於實作視訊編碼器114、視訊解碼器134以及所述方法。
軟體233典型上被儲存在HDD 210中或記憶體206中。軟體是從電腦可讀媒體載入到電腦系統200中,並由電腦系統200執行。因此,舉例而言,軟體233可以被儲存在光學可讀碟片儲存媒體(例如,CD-ROM)225上,該CD-ROM可由光碟驅動器212進行讀取。
在若干情況下,在一或多CD-ROM 225可將編碼應用程式233供應到使用者,並經由對應驅動器212讀取其,或替代地可被來自網路220或222之使用者讀取。再進一步,軟體也可以從其他電腦可讀媒體被載入到電腦系統200中。電腦可讀儲存媒體指稱任何提供記錄指令及/或資料到電腦系統200供其執行及/或處理之非暫態有形儲存媒體。此種儲存媒體之實例包括軟磁碟、磁帶、CD-ROM、DVD、Blu ray DiscTM 、硬碟驅動器、ROM或積體電路、USB記憶體、磁性光碟、或諸如PCMCIA卡等等之電腦可讀卡,無論此等裝置是否是在電腦模組201內部或外部。在提供軟體、應用程式、指令及/或視訊資料或編碼的視訊資料到電腦模組401過程中也可參與之暫態或非有形電腦可讀傳輸媒體之實例包括無線電或紅外線傳輸通道,諸如到另一電腦或網路裝置之網路連接,以及網際網路或內部網路,其包括電子郵件傳輸與網站上記錄資訊等。
應用程式233之第二部分以及上述對應碼模組可以被執行以實作一或多圖形使用者介面(GUI),該圖形使用者介面要被渲染或否則表示於該顯示器214上。透過典型上操作鍵盤202與滑鼠203,電腦系統200與應用之使用者可以功能上可適應方式操控介面以提供控制指令及/或輸入到與(一或多)GUI相關聯之應用。也可實作其他形式之功能上可適應使用者介面,諸如運用經由擴音器217之言語提示輸出與經由麥克風280之使用者語音指令輸入的音訊介面。
圖2B是處理器205與「記憶體」234之詳細示意性方塊圖。記憶體234表示所有記憶體模組(包括HDD 209與半導體記憶體206)之邏輯聚合,該記憶體模組可由圖2A中的電腦模組201存取。
當電腦模組201初始通電時,執行通電自我測試(POST)程式250。POST程式250典型上儲存在圖2A的半導體記憶體206之ROM 249中。諸如儲存軟體的ROM 249之硬體裝置有時被稱做韌體。POST程式250檢查電腦模組201內之硬體以確保正常功能並典型上檢查處理器205、記憶體234(209、206)、以及基本輸入輸出系統軟體(BIOS)模組251(其也典型上儲存在ROM 249中),以用於正確的運作。一旦POST程式250已成功運行完成,BIOS 251啟用圖2A中的硬碟驅動器210。硬碟驅動器210之啟用造成常駐在硬碟驅動器210上的自舉(bootstrap)載入器(loader)程式252得以經由處理器205執行。這會將作業系統253載入RAM記憶體206中,並且在該記憶體上開始運作該作業系統253。作業系統253是系統層級應用(其可由處理器205執行),以達成各種高層級功能,諸如處理器管理、記憶體管理、裝置管理、儲存器管理、軟體應用程式介面以及通用使用者介面。
作業系統253管理記憶體234(209、206),以確保各在該電腦模組201上運行之處理或應用具有足夠的記憶體,以在不與分配給另一個處理的記憶體衝突前提下執行。此外,圖2A之電腦系統200中可用的不同類型之記憶體必須被正當使用,以使各處理可有效的運行。據此,聚集記憶體234並不旨在描繪特定記憶體之片段是如何被分配(除非否則有明確指示),而是在於提供由電腦系統200可存取的記憶體以如何使用其之概觀。
如圖2B所描繪,處理器205包括數種功能模組,包括控制單元239、算數邏輯單元(ALU)240、以及本地或內部記憶體248(有時被稱作快取記憶體)。快取記憶體248典型上在暫存器區段包括數種儲存暫存器244-246。一或多內部匯流排241功能上將此等功能模組互連。處理器205典型也具備一或多介面242,用於使用連接218經由系統匯流排204來與外部裝置通訊。透過使用連接219,記憶體234耦接到匯流排204。
應用程式233包括一序列之指令231,該指令可包括條件分支與迴圈指令。程式233也可包括資料232,該資料用於執行程式233。指令231與資料232分別被儲存在記憶體位置228、229、230與235、236、237中。取決於指令231與記憶體位置228-230之相對大小(size),特定指令可被儲存在單一記憶體位置中,如記憶體位置230中所示之指令所描繪般。替代地,指令可以被切割成多個部分,其各被儲存在分離記憶體位置中,如記憶體位置228與229所示指令片段所描繪。
普遍而言,處理器205被給定指令集,並在該處理器內執行該指令集。處理器205等待接續的輸入,針對該輸入,處理器205可透過執行另一指令集來反應。可從數種來源中一或多者提供各輸入,包括由輸入裝置202與203中一或多者所產生之資料、從橫跨網路220與202中一者之外部來源所接收之資料、從儲存裝置206與209中一者所取回之資料、或從插入對應讀取器212的儲存媒體225所取回之資料,上述所有者皆在圖2A中有所描繪。在若干情況下,該指令集的執行可能會造成資料之輸出。執行也可涉及將資料或變數儲存到記憶體234。
視訊編碼器114、視訊解碼器134、以及所述方法可使用輸入變數254,該變數被儲存在對應記憶體位置255、256、257的記憶體234中。視訊編碼器114、視訊解碼器134、以及所述方法產生輸出變數261,該變數被儲存在對應記憶體位置262、263、264的記憶體234中。中間變數258可以被儲存在記憶體位置259、260、266、及267中。
參照圖2B之處理器205,暫存器244、245、246,算數邏輯單元(ALU)240,以及控制單元239協同運作以執行數序列之微操作,該等微操作是用以對構成程式233之指令集中的每個指令執行「提取、解碼與執行」週期所需的。各提取、解碼、與執行週期包含: 提取操作,其從記憶體位置228、229、230提取或讀取指令231; 解碼操作,其中控制單元239判定已提取何指令;以及 執行操作,其中控制單元239及/或ALU 240執行該指令。
之後,可執行針對下個指令之進一步提取、解碼、以及執行週期。相似的,可執行儲存週期,透過其控制單元239將一值儲存或寫入記憶體位置232中。
將描述的圖13-18之方法中的各步驟或次處理是與程式233之一或多片段相關,且典型上是由處理器205中的暫存器區段244、245、247,ALU 240,以及控制單元239執行以協同運作以對程式233之標記片段之指令集中的各指令執行提取、解碼、以及執行週期。
圖3是示出視訊編碼器114的功能模組之示意性方塊圖。圖4是示出視訊解碼器134的功能模組之示意性方塊圖。一般而言,資料通常以樣本或係數之群組(諸如區塊之劃分到固定尺寸之子區塊)或以陣列形式在視訊編碼器114與視訊解碼器134內的功能模組之間傳遞。視訊編碼器114與視訊解碼器134可透過使用通用電腦系統200來實作,如圖2A與2B所示,其中各種功能模組可被電腦系統200中的專用硬體實作、由電腦系統200中可執行之軟體實作,該軟體諸如一或多常駐在硬碟驅動器205上並被處理器205控制其執行的軟體應用程式233之軟體碼模組。替代地,視訊編碼器114、視訊解碼器134可以透過在電腦系統200內可執行的軟體和專用硬體的組合來實現。視訊編碼器114、視訊解碼器134以及所述方法可替代實作在專用硬體中,諸如成一或多積體電路,其執行所述方法之功能或子功能。此種專用硬體可包括圖形處理單元(GPU)、數位訊號處理器(DSP)、專用標準產品(ASSP)、專用積體電路(ASIC)、現場可程式閘極陣列(FPGA)或一或多微處理器與相關聯記憶體。明確而言,視訊編碼器114包含模組310-390,以及視訊解碼器134包含模組420-496,其各可被實作成軟體應用程式233之一或多軟體碼模組。
雖然圖3之視訊編碼器114是多功能視訊編碼(VVC)視訊編碼管線之實例,但也可使用其他視訊編解碼器來執行本文所述之處理階段。視訊編碼器114接收擷取到的訊框資料113,諸如一序列之訊框,各訊框包括一或多顏色通道。訊框資料113可以是任何色度格式,例如,4:0:0、4:2:0、4:2:2、或4:4:4色度格式。區塊分割器310首先將訊框資料113劃分成CTU,同常形狀上是方形並且被組態以對CTU使用特定尺寸。舉例而言,CTU之尺寸可以是64×64、128×128、或256×256個亮度樣本。區塊分割器310根據亮度編碼樹與色度編碼樹將各CTU進一步劃分成一或多CB。亮度通道亦可被稱為主要顏色通道。各色度通道亦可被稱為次要顏色通道。CB具有各式各樣尺寸,且可包括方形與非方形長寬比。參照圖13-15進一步說明區塊分割器310之操作。然而,在VVC標準中,CB、CU、PU以及TU總是具有為2的冪之側邊長度。因此,根據CTU之亮度編碼樹與色度編碼樹,當前CB(由312表示)是從區塊分割器310輸出,其根據CTU之一或多區塊的迭代來進展。在下文中參照圖5與6,進一步描述將CTU分割成CB之選項。雖然通常以逐CTU方式描述操作,惟視訊編碼器114與視訊解碼器134可對較小尺寸區操作以降低記憶體消耗。舉例而言,各CTU可以被劃分成較小區,已知是具有64x64的尺寸之「虛擬管線資料單元」(VPDU)。VPDU形成的資料粒度較適用於硬體架構中管線處理,其中與對整個CTU操作相比,在記憶體占用面積方面降低會降低矽面積並進而降低成本。
從訊框資料113之第一劃分所造成之CTU可以光柵掃描順序方式掃描且可被分組到一或多「切片」中。切片可以是「框內」(或「I」)切片。框內切片(I切片)指示該切片中的每個CU是框內預測的。替代地,切片可以是單預測或雙預測(分別是「P」或「B」切片),其各別指示在切片中單預測與雙預測之額外可用性。
在I切片中,各CTU之編碼樹可以在64×64層級以下分支成兩個分離編碼樹,一者用於亮度且另一者用於色度。分離樹之使用允許可以在CTU之亮度64×64區域內的亮度與色度之間存在不同區塊結構。舉例而言,大色度CB可與數個較小亮度CB並置並且反之亦然。在P或B切片中,CTU之單一編碼樹界定亮度與色度共同之區塊結構。所產生區塊之單一樹可被框內預測或框間預測。
針對各CTU,視訊編碼器114在兩階段中操作。在第一階段(被稱為「搜尋」階段)中,區塊分割器310測試編碼樹之各種潛在組態。編碼樹之各潛在組態具有相關之「候選」CB。第一階段涉及測試各候選CB,以選擇提供相對高壓縮效率且具有相對低畸變之CB。該測試通常涉及拉格朗日最佳化(Lagrangian optimisation),藉此基於率(編碼成本)與畸變(相對於輸入訊框資料113之誤差)的加權組合之來評估候選CB。「最佳」候選CB(具有最低評估的率/畸變之CB)被選擇,用於接續編碼到位元流115中。在候選CB之評估中包括一個選項,可對給定區域使用CB,或根據各種拆分選項進一步將區域拆分,並使用進一步CB將產生的各較小區域編碼,或再進一步將該區域拆分。結果為造成編碼樹與CB皆在搜尋階段中被選定。
視訊編碼器114對各CB(例如CB 312)產生預測區塊(PB)(由箭頭320指示)。PB 320是相關聯CB 312之內容的預測。減法器模組322在PB 320與CB 312之間產生差(指示成324(或「殘差」,指稱在空間域中的差))。差324是PB 320和CB 312中相應樣本之間的區塊尺寸之差。差324被變換、量化並表示成變換區塊(TB),由箭頭336所示。PB 320與相關聯TB 336典型上是選自多個可能的候選CB中的一個,例如所述選擇是基於評估成本或畸變。
候選編碼區塊(CB)是從視訊編碼器114可用於關聯PB的預測模式之一與所得殘差得出的CB。當與視訊解碼器114中的預測PB結合時,TB 336降低了解碼的CB與原始CB 312之間的差,代價是在位元流中有額外發訊。
因此,各候選編碼區塊(CB)(其是預測區塊(PB)與變換區塊(TB)之組合)具有相關聯的編碼成本(或「率」)以及相關聯差(或「畸變」)。CB之畸變典型上被估計成樣本值中的差,諸如絕對差之總和(SAD)或平方差之總和(SSD)。從各候選PB所導致之估計可以是由模式選擇器386透過使用差324以判定預測模式387來判定。預測模式387指示對當前CB選擇特定預測模式之決策,該預測模式諸如框內訊框預測或框間訊框預測。可以以比殘差的熵編碼低得多的成本,來估計與每個候選預測模式與相應的殘差編碼相關聯的編碼成本。據此,即便在即時視訊編碼器中,也可評估多個候選者模式以判定在率失真方面最佳模式。
在率失真方面判定最佳模式典型上是透過使用拉格朗日最佳化之變異來實現。
可採用拉格朗日或相似最佳化處理以同時選擇CTU到CB之最佳化分割(由區塊分割器310執行)也可從複數個可能性中選擇出最佳預測模式。透過在模式選擇器模組386中應用候選模式之拉格朗日最佳化處理,具有最低成本測量之框內預測模式被選定成「最佳」模式。最低成本模式是所選的次要變換索引388並且也被熵編碼器338編碼到位元流115中。
在視訊編碼器114之操作的第二階段(稱作「編碼」階段)中,在視訊編碼器114中對各CTU確定的(一或多)編碼樹執行迭代。針對使用分離樹之CTU,對CTU之各64×64亮度區,首先將亮度編碼樹編碼再將色度編碼樹編碼。在亮度編碼樹中僅將亮度CB編碼,以及在色度編碼樹中僅將色度CB編碼。針對使用共享樹之CTU,單一樹根據共享樹之共用區塊結構來描述CU,亦即,亮度CB與色度CB。
熵編碼器338支援語法元素之可變長度編碼以及語法元素之算數編碼。諸如「參數集」的位元流之部分(例如,序列參數集(SPS)與畫面參數集(PPS))使用固定長度碼字與可變長度碼字之組合。切片(亦被稱為連續部分)具有使用可變長度編碼之切片標頭以及在其後並使用算數編碼之切片資料。切片標頭界定對當前切片特定之參數,諸如切片層級的量化參數偏移。切片資料包括切片內各CTU之語法元素。可變長度編碼與算數編碼之使用需要在位元流之各部分中序列性剖析。該等部分可以被起始碼敘述描繪,以形成「網路抽象層單元」或「NAL單元」。算數編碼是透過使用上下文適應性二元算數編碼處理來支援。算數上編碼的語法元素是由序列之一或多「筐」構成。筐(與位元相似)具有「0」或「1」之值。然而,筐並沒有如離散位元般被編碼到位元流115中。筐具有相關預測(或「有可能」或「最可能」)值以及相關聯機率(已知為「上下文」)。當要編碼之實際筐與預測數值匹配時,「最可能符號」(MPS)被編碼。在位元流115中消耗位元方面,將最可能符號編碼是相對不昂貴的,其包括其量為少於一個離散位元之成本。當要編碼之實際筐與可能值失配時,「最不可能符號」(LPS)被編碼。在消耗位元方面,將最不可能符號編碼具有相對高的成本。筐編碼技術賦能了筐之高效編碼,其中「0」對上「1」之機率偏斜。對具有兩個可能值(亦即,「旗標」)之語法元素,單一筐是適當的。對具有多個可能值之語法元素,一序列的筐是必須的。
基於序列中較早的筐之值,來判定序列中較晚的筐之存在。額外地,各筐可與多於一個的上下文相關聯。特定上下文之選擇可取決於語法元素中的較先筐、相鄰語法元素(亦即,來自相鄰區塊的語法元素)之筐值等等。每當上下文編碼筐被編碼時,對該筐(若有的話)所選擇之上下文被更新,更新方式在於反映該新的筐值。如此,二元算數編碼方案被稱作是適應性。
視訊編碼器114也支援缺乏上下文之筐(「旁路筐」)。假設「0」和「1」之間的等機率分佈,並對旁路筐進行編碼。因此,在位元流115中各筐具有一位元之編碼成本。上下文之不存在將節省記憶體並降低複雜度,因此在對特定筐之值的分佈不偏斜時使用旁路筐。採用上下文與適應的熵編碼器之一實例在該技藝中已知是CABAC(上下文適應性二元算數編碼器),以及此編碼器之許多變異已在視訊編碼中被採用。
透過使用上下文編碼與旁路編碼的筐的組合,熵編碼器338將量化參數392編碼,並且若用於當前CB則將LFNST索引388編碼。透過使用「差量QP」,將量化參數392編碼。在已知為「量化群組」之各區域中,最多將差量QP發訊一次。量化參數392被應用到亮度CB之殘差係數。調整過的量化參數被應用到並置色度CB的殘差係數。調整過的量化參數可包括根據映射表與CU層級偏移(從偏移列表中選定的)亮度量化參數392進行之映射。當與變換區塊相關聯的殘差僅在經受透過應用次要變換而變換成主要係數的該等係數位置中包括顯著殘差係數時,將次要變換索引388發訊。
根據判定的最佳框內預測模式,多工器模組384將PB 320從框內訊框預測模組364輸出,該最佳框內預測模式是選自各候選CB之測試預測模式。候選預測模式不需要包括由視訊編碼器114支援的每個可思及的預測模式。框內預測落在三種類型中。「DC框內預測」涉及使用單一值填充PB,該單一值代表附近重建樣本之平均值。「平面框內預測」涉及根據平面使用樣本來填充PB,並且從附近的重構相鄰樣本導出DC偏移以及垂直和水平梯度。附近重建樣本典型上包括在當前PB上方之一列重建樣本,延伸到PB右側到一程度,以及一行重建的樣本到當前PB左側並向下延伸超越PB到一程度。「角度框內預測」涉及使用在特定方向上(或角度)橫跨PB過濾與傳播的重建相鄰樣本來填充PB。在VVC,支援65個角度,其中矩形區塊能夠運用額外角度(該等額外角度對方形區塊不可用),以產生共87個角度。第四類型之框內預測可用於色度PB,藉此根據「跨越組件線性模型」(CCLM)模式,從並置亮度重建樣本中產生PB。三種不同的CCLM模式是可用的,其中各模式使用一從相鄰亮度與色度樣本導出的不同模型。該導出模型用以從並置的亮度樣本中產生用於色度PB的一區塊之樣本。
在先前重建樣本不可用處,例如在訊框邊緣處,使用樣本範圍一半之預設半色調值。舉例而言,對10位元視訊而言,使用512之值。由於針對位於訊框左上角位置處之CB沒有先前樣本為可用,故角度與平面框內預測模式產生與DC預測模式相同的輸出,亦即,具有半色調值作為量級之平的平面樣本。
針對框間訊框預測,由運動補償模組380產生預測區塊382,以及預測區塊382由多工器模組384輸出成PB 320,所述預測區塊產生過程是透過使用位元流中來自在當前訊框在編碼順序訊框之前的一或二訊框之樣本。此外,針對框間訊框預測,典型上將單一編碼樹用於亮度通道與色度通道。位元流中編碼訊框之順序可能與擷取或顯示時訊框之順序有所不同。當一訊框被用於預測時,區塊被稱作是被「單預測」且具有一個相關聯運動向量。當兩訊框被用於預測時,區塊被稱作是被「雙預測」且具有兩個相關聯運動向量。對於P切片而言,各CU可以是框內預測或單預測的。對於B切片而言,各CU可以是框內預測、單預測、或雙預測的。典型上使用「畫面群組」結構來將訊框編碼,以賦能訊框之時間階層(temporal hierarchy)。訊框可以被劃分成多個切片,其各編碼一部分之訊框。訊框之時間階層允許訊框可以參考在顯示訊框順序中的先前與接續畫面。以確保滿足解碼各訊框的依賴性的必要順序對影像進行編碼。
根據運動向量378與參考畫面索引來選擇樣本。運動向量378與參考畫面索引可應用到所有的顏色通道,且因此框間預測主要是對PU操作方面而非對PB操作方面來進行描述,亦即,使用單一編碼樹來描述各CTU分解成一或多框間預測區塊。框間預測方法在其精準性與運動參數數量方面可有所不同。運動參數典型上包含參考訊框索引,其指示參考訊框列表中何(一或多)參考訊框要被使用加上對各參考訊框之空間轉譯,但可包括更多訊框、特殊訊框、或諸如縮放與旋轉等複雜仿射參數。此外,預判定運動精化處理可被應用以基於參考樣本區塊產生密集運動估計。
在判定與選擇出PB 320,且在減法器322從原始樣本區塊中減去PB 320後,獲得具有最低編碼成本之殘差(表示成324)且該殘差受有損壓縮操作。有損壓縮處理包含變換、量化與熵編碼之步驟。前向主要變換模組326對差324應用前向變換,將差324從空間域轉換到頻率域,以及產生由箭頭328表示之主要變換係數。在一維度中最大的主要變換尺寸不是32點DCT-2變換(32-point DCT-2 transform)即是64點DCT-2變換(64-point DCT-2 transform)。如果正在編碼的CB大於最大支援之主要變換尺寸(表示為區塊尺寸),即64×64或32×32,則以平鋪(tiled)方式應用主要變換326來將差324的所有樣本變換。變換326之應用導致針對CB之多個TB。變換的各應用在大於32×32(例如,64×64)之差324的TB上進行操作,在TB左上32×32區域之外的所有產生的主要變換係數328均被設定成零,即被丟棄。剩餘主要變換係數328被傳遞到量化器模組334。根據與CB相關聯之量化參數392將主要變換係數328量化,以產生主要變換係數332。亮度CB與每個色度CB之量化參數392可能不同。透過執行不可分離的次要變換(NSST)操作或將次要變換旁路,主要變換係數332被傳遞到前向次要變換模組330以產生變換係數(由箭頭336表示)。前向主要變換典型上是可分離,先變換各TB之一集合的列並接著變換一集合的行。轉送主要變換模組326在水平與垂直方向上使用第二型(type-II)離散餘弦變換(DCT-2),或水平或垂直上旁路變換,或對於在寬度與高度上不超過16個樣本之亮度TB在水平或垂直方向任一者上使用第七型(type-VII)離散正弦變換(DST-7)與第八型離散餘弦變換(DCT-8)之組合。DST-7與DCT-8之組合使用在VVC標準中被稱為「多變換選擇集(MTS)」。
模組330之前向次要變換通常是不可分離的變換,其僅有應用於框內預測CU之殘差且可能還會被旁路。轉送次要變換對16個樣本(配置成主要轉換係數328之左上4×4子區塊)或對48個樣本(配置成主要轉換係數328之左上8×8係數中的三個4×4子區塊)進行操作,以產生一集合的次要變換係數。該集合的次要變換係數之數量可能比一集合的主要變換係數之數量更少,其中該集合的次要變換係數是從該組主要變換係數所導出。由於僅對彼此相鄰且包括DC係數之一集合的係數應用次要變換,因此次要變換被稱為「低頻率不可分離的次要變換(LFNST)」。此外,當應用LFNST時,在主要變換域與次要變換域中,TB中所有剩餘係數必須為零。
針對給定TB而言,量化參數392是恆定,且因此在TB的主要變換域中,會針對殘差係數之產生導致統一縮放。量化參數392可能會隨著發訊的「差量量化參數」而週期性變化。對給定區域內所含CU(被稱作「量化群組」),僅發訊差量量化參數(delta QP)一次。若CU大於量化群組尺寸,則以CU之TB之一將差量QP發訊一次。亦即,對CU中第一量化群組,由熵編碼器338將差量QP發訊一次,並且對CU之任意接續量化群組,不發訊該差量QP。透過應用「量化矩陣」,不均勻縮放亦是可行的,從而從量化參數392與縮放矩陣中的相應項目之組合中導出應用於各殘差係數的縮放因子。縮放矩陣可具有比TB尺寸小之尺寸,以及當應用於TB時,最近相鄰方法用於從尺寸小於TB尺寸的縮放矩陣中為各殘差係數提供縮放值。殘差係數336被提供給熵編碼器338,用於位元流115之編碼。典型上,根據掃描模式(scan pattern),掃描具有TU的至少一顯著殘差係數的各TB的殘差係數,以產生有序列表之數值。掃描模式通常如4x4「子區塊」之序列掃描TB,以4×4組之殘差係數的粒度提供常規掃描操作,其中子區塊的配置取決於TB的尺寸。各子區塊內的掃描以及從一個子區塊到下一個子區塊的進展通常遵循向後對角線掃描模式。額外地,在參照圖13-15所描述之條件下,透過使用差量(delta)QP語法元素,量化參數392被編碼到位元流115中,以及次要變換索引388被編碼到位元流115中。
如上述,視訊編碼器114需要存取與在視訊解碼器134中可見的解碼的訊框表示相對應的訊框表示。因此,殘差係數336被傳遞通過反向次要變換模組344,根據次要變換索引388操作以產生中間反變換係數(由箭頭342表示)。根據量化參數392,反量化器模組340將中間反變換係數反向量化,以產生反變換係數(由箭頭346表示)。中間反變換係數346被傳遞到反向主要變換模組348,以產生TU之殘差樣本(由箭頭350表示)。由反向次要變換模組344所執行的反變換之類型對應由前向次要變換模組330所執行之前向變換之類型。由反向主要變換模組348所執行的反變換之類型對應由主要變換模組326所執行之主要變換之類型。加總模組352將殘差樣本350與PU 320相加,以產生CU之重建樣本(由箭頭354指示)。
重建樣本354被傳遞到參考樣本快取356以及迴路內(in-loop)過濾器模組368。參考樣本快取356(典型上透過使用ASIC上靜態RAM來實作(藉此避免昂貴晶片外記憶體存取))提供需求的最小樣本儲存器,滿足對訊框中接續CU產生框內訊框PB的相依性。最小相依性典型上包括沿著CTU最底列的樣本之「行緩衝器」,用於由CTU下個列與行緩衝所使用,並且其範圍是由CTU高度所設。參考樣本快取356將參考樣本(由箭頭358表示)供應到參考樣本過濾器360。樣本過濾器360對所產生的過濾參考樣本(由箭頭362所指示)應用平滑操作。由框內訊框預測模組364使用過濾的參考樣本362以產生樣本之框內預測區塊(由箭頭366表示)。針對各候選者框內預測模式,框內訊框預測模組364製造一區塊之樣本(即,366)。該區塊之樣本366是由模組364透過使用諸如DC、平面或角度框內預測等技術所產生。
該迴路內過濾器模組368將些許過濾階段應用於重建樣本354。過濾階段包括「去區塊過濾器」(DBF),其應用與CU邊界對準之平滑化,以降低由於不連續性所造成之失真。迴路內過濾器模組368中存在的另一過濾階段是「適應性迴路過濾器」(ALF),其應用基於文納適應性過濾器(Wiener-based adaptive filter)以進一步降低畸變。迴路內過濾器模組368中的進一步可用過濾階段是「樣本適應性偏移」(SAO)過濾器。SAO過濾器操作方式為首先將重建樣本分類成一或多類別中,並根據分配類別,在樣本層級上應用偏移。
過濾之樣本(由箭頭370所表示)是出自迴路內過濾器模組368之輸出。過濾後的樣本370被儲存在訊框緩衝器372中。訊框緩衝器372典型上具有可以儲存些許(例如高達16個)畫面之容量,並因此被儲存在記憶體206中。由於需要大的記憶體消耗之緣故,因此訊框緩衝器372並非典型上使用晶載記憶體進行儲存。如此,在記憶體頻寬方面,存取訊框緩衝器372是費成本的。訊框緩衝器372將參考訊框(由箭頭374表示)提供到運動估計模組376以及運動補償模組380。
運動估計模組376估計多個「運動向量」(指示成378),各皆是相對於當前CB之位置的直角坐標空間偏移(Cartesian spatial offset),參照訊框緩衝器372中參考訊框之一者中的區塊。對各運動向量產生被過濾的參考樣本區塊(表示成382)。過濾的參考樣本382形成進一步候選模式,該候選模式可用於被模式選擇器386潛在選擇。此外,針對給定CU,可使用一個參考區塊(「單預測」)或可使用兩個參考區塊(「雙預測」)形成PU 320。針對所選運動向量,運動補償模組380根據支援運動向量中次像素準確度的過濾處理以產生PB 320。如此一來,相較於運動補償模組380(其僅對所選候選者進行操作),運動估計模組376(其對許多候選運動向量操作)可執行簡化過濾處理以實現降低的計算複雜度。當視訊編碼器114對CU選擇框間預測時,運動向量378被編碼到位元流115中。
雖然圖3之視訊編碼器114是參照多功能視訊編碼(VVC)來描述,但其他視訊編碼標準或實作也可以採用模組310-390之處理階段。訊框資料113(以及位元流115)也可以是從記憶體206、硬碟驅動器210、CD-ROM、Blu-ray DiscTM 或其他電腦可讀儲存媒體所讀取出(或寫入至其)。額外地,訊框資料113(以及位元流115)可以是從外部來源接收到的(或傳輸到外部來源),諸如連接到通訊網路220之伺服器或射頻接收器。通訊網路220可提供有限頻寬,使得在視訊編碼器114中使用率控制是必須的以避免在訊框資料113難以壓縮時令網路飽和。此外,可從一或多切片建構位元流115,此等切片是由視訊編碼器114之一或多實例所產生的並表示訊框資料113之空間區段(CTU之集合),並在處理器205之控制下以協調方式操作。在本揭露之情境下,切片也可被稱為位元流之「連續部分」。切片在位元流中是連續且可被編碼或解碼成分離部分,前提是例如若正使用並行處理。
在圖4中示出視訊解碼器134。雖然圖4之視訊解碼器134是多功能視訊編碼(VVC)視訊解碼管線之實例,但也可使用其他視訊編解碼器來執行本文所述之處理階段。如圖4所示,位元流133被輸出到視訊解碼器134。位元流133可以是從記憶體206、硬碟驅動器210、CD-ROM、Blu-ray DiscTM 或其他非暫態電腦可讀儲存媒體所讀取出。替代地,位元流133可以是從外部來源接收到的,諸如連接到通訊網路220之伺服器或射頻接收器。位元流133包含編碼的語法元素,該語法元素表示將要解碼之擷取訊框資料。
位元流133被輸入到熵解碼器模組420。透過將「筐」序列解碼並將語法元素之值傳遞到視訊解碼器134中的其他模組,熵解碼器模組420從位元流133擷取出語法元素。熵解碼器模組420使用可變長度以及固定長度解碼來解碼SPS、PPS或切片標頭,使用算數解碼引擎以將切片資料之語法元素解碼成一序列之一或多筐。各筐可使用一或多「上下文」,上下文描述要用於將針對筐之「一」與「零」值予以編碼所用之機率層級。在針對一給定筐有多個上下文可用時,執行「上下文建模」或「上下文選擇」步驟以選擇可用上下文中之一以用於將筐解碼。解碼筐之處理形成序列回饋迴路,因此各切片可以由給定熵解碼器420實例進行完整解碼。單一(或少數)高執行熵解碼器420實例可將出自位元流115的訊框之所有切片解碼。多個低效能熵解碼器420實例可同時將出自位元流133的訊框之該切片解碼。
熵解碼器模組420應用算數編碼演算法(例如「上下文適應性二元算數編碼」(CABAC))以從位元流133解碼出語法元素。解碼的語法元素用於在視訊解碼器134內重建參數。參數包括殘差係數(由箭頭424表示)、量化參數474、次要變換索引470、以及諸如框內預測模式(由箭頭458表示)等模式選擇資訊。模式選擇資訊也包括諸如運動向量以及各CTU分割成一或多CB等資訊。使用參數來產生PB,其典型上結合來自先前解碼CB之樣本資料。
殘差係數424被傳遞到反向次要變換模組436,其中根據圖16-18所描繪之方法,應用次要變換或不執行任何操作(旁路)。反向次要變換模組436從次要變換域係數產生重建的變換係數432(亦即主要變換域係數)。重建的變換係數432被輸入到反量化器模組428。反量化器模組428根據量化參數474對殘差係數432執行反向量化(或「縮放」),亦即,在主要變換係數域中,以產生重建中間變換係數(由箭頭440表示)。若位元流133中指示需使用不均勻反向量化矩陣,則視訊解碼器134從位元流133讀取出量化矩陣作為一序列之縮放因素,並將該縮放因素配置到矩陣中。反向縮放使用量化矩陣並結合使用量化參數,以產生重建中間變換係數440。
重建變換係數440被傳遞到反向主要變換模組444。模組444將係數440從頻率域變換回空間域。模組444之操作的結果是一區塊之殘差樣本(由箭頭448表示)。殘差樣本448之區塊之尺寸與相應CB尺寸相等。殘差樣本448被供應到加總模組450。在加總模組450,殘差樣本448被添加到解碼的PB(表示成452),以產生一區塊之重建樣本(由箭頭456表示)。重建樣本456被供應到重建樣本快取460以及迴路內過濾模組488。迴路內過濾模組488產生重建區塊之訊框樣本(表示成492)。訊框樣本492被寫入到訊框緩衝器496。
重建的樣本快取460與視訊編碼器114之重建樣本快取356以相似方法操作。重建的樣本快取460提供用於重建樣本之儲存器,其對於不使用記憶體206並框內預測接續CB是必須的(例如,取而代之透過使用資料232,其典型上是晶載記憶體)。參考樣本(由箭頭464表示)是自重建樣本快取460所獲得並且被供應到參考樣本過濾器468,以產生經過濾的參考樣本(由箭頭472指示)。過濾的參考樣本472被供應到框內訊框預測模組476。根據位元流133中發訊的並且被熵解碼器420解碼出的框內預測模式參數458,模組476產生一區塊之框內預測樣本(由箭頭480所表示)。該區塊之樣本480是透過使用諸如DC、平面或角度框內預測等模式所產生。
當CB之預測模式經指示以在位元流133中使用框內預測時,經由多工器模組484,框內預測的樣本480形成解碼的PB 452。框內預測產生樣本之預測區塊(PB),亦即,產生一在一顏色分量中的區塊,該區塊始透過使用相同顏色分量中「相鄰樣本」所導出者。相鄰樣本是與當前區塊相鄰之樣本,且由於該區塊解碼順序在之前而導致已經被重建。在亮度與色度區塊是並置處,亮度與色度區塊可使用不同的框內預測模式。惟,該兩個色度CB共享相同的框內預測模式。
當CB之預測模式在位元流133中被指示要是框間預測時,運動補償模組434透過使用運動向量(由熵解碼器420自位元流133解碼出)產生一區塊之框間預測樣本(表示成438),並且產生參考訊框索引以從訊框緩衝器496選擇出並過濾一區塊之樣本498。從儲存在訊框緩衝器496中被先前解碼的訊框,獲得該區塊之樣本498。針對雙預測,兩區塊之樣本被產生並且融合在一起以產生用於解碼的PB 452之樣本。訊框緩衝器496填有來自迴路內過濾模組488的經過濾的區塊資料492。與視訊編碼器114之迴路內過濾模組368相同,迴路內過濾模組488應用DBF、ALF與SAO過濾操作中任意者。一般而言,運動向量被應用到亮度與色度通道兩者上,雖然針對在亮度與色度通道中進行次樣本內插之過濾處理不同。
圖5是示出在多功能視訊編碼之樹結構中將一區劃分或拆分成一或多子區的可用方式之集合500的示意性方塊圖。集合500中所示的劃分可用於編碼器114的區塊分割器310,以根據由拉格朗日最佳化所判定的編碼樹將各CTU劃分成一或多個CU或CB,如參考圖3所述。
雖然集合500僅示出被劃分成其他可能是非方形子區之方形區,但應了解集合500是示出編碼樹中上代節點劃分成子節點之潛在劃分並且不需要上代節點對應到方形區。若所包含區是非方形,則由劃分所造成的區塊之維度,根據包含區塊之長寬比而被縮放。一旦一區不能再進一步拆分時,亦即,在編碼樹之葉節點處時,CU占據該區。
將區次劃分成子區之處理必須在產生之子區到達最小CU尺寸(通常是4×4亮度樣本)時被終止。除了約束CU以禁止區塊面積小於預定最小尺寸,例如16個樣本,CU亦受約束以具有為四之最小寬度或高度。在寬度與高度兩者方面或在寬度或高度中一者方面,其他最小值也是可行的。次劃分之處理也可在最深層分解之前被中止,導致CU大於最小CU尺寸。可能不會發生拆分,從而導致單個CU占據整個CTU。占據整個CTU之單一CU是最大的可用編碼單元尺寸。由於使用次取樣色度格式(諸如,4:2:0)之緣故,故視訊編碼器114與視訊解碼器134之配置可能會在亮度通道中拆分終止之前終止色度通道中區之拆分,包括在界定亮度與色度通道之區塊結構的共享編碼樹之情況中亦是如此。當分離編碼樹被用於亮度與色度時,對可用拆分操作之約束確保具16個樣本之最小色度CB區域,即便此等CB與較大的亮度區域(例如,64個亮度樣本)並置。
在編碼樹之葉節點處,存在CU,並且無進一步次劃分。舉例而言,葉節點510包含一個CU。在編碼樹之非葉節點處存在拆分成二或多進一步節點之分支,其各者可以是形成一CU之葉節點,或包含進一步拆分成具更小區之非葉節點。在編碼樹之各個葉節點處,一編碼區塊存在用於各顏色通道。針對亮度與色度兩者之拆分在相同深度終止,並結果產生三個並置CB。針對亮度在比針對色度更深處終止拆分會造成複數個亮度CB與色度通道之CB並置。
四元樹拆分512將包含區劃分成四個等尺寸區,如圖5所示。相較於HEVC,多功能視訊編碼(VVC)以額外拆分達到額外之彈性,包括水平二元拆分514與垂直二元拆分516。各拆分514與516將包含區劃分成兩個等尺寸區。在包含區塊內沿水平邊界(514)或垂直邊界(516)進行劃分。
透過引入三元水平拆分518與三元垂直拆分520,可達到多功能視訊編碼中進一步的彈性。三元拆分518與520將區塊劃分成三個區,其水平上(518)或垂直上(520)沿著包含區之寬度或高度之¼與¾界定。四元樹、二元樹、以及三元樹之組合被稱為「QTBTTT」。樹之根包括零或更多四元樹拆分(樹之「QT」區段)。一旦QT區段終止,零或更多二元或三元拆分可發生(「多樹」或樹之「MT」區段),最終在樹之葉節點以CB或CU結尾。在樹描述所有顏色通道處,樹葉節點是CU。在樹描述亮度通道或色度通道處,樹葉節點是CB。
相較於HEVC(其僅支援四元樹並且因此僅支援方形區塊),QTBTTT產生更多可能的CU尺寸,特別考慮到二元樹及/或三元樹拆分的潛在遞迴應用。當只有四元樹拆分是可用時,編碼樹深度之各種增加對應CU尺寸之降低(降低到上代面積之尺寸的四分之一)。在VVC中,二元與三元拆分支可用性代表編碼樹深度不再直接對應CU區域。透過限制拆分選項以消除可能導致區塊寬度或高度小於四個樣本或不是四個樣本的倍數的拆分,可以降低出現異常(非方形)區塊尺寸的可能性。一般而言,在考慮亮度樣本方面,該約束適用。然而,在所述配置中,該約束可被分離應用到針對色度通道之該區塊。例如,當訊框資料為4:2:0色度格式或4:2:2色度格式時,將約束應用於色度通道之拆分選項可能會導致亮度和色度的最小區塊尺寸之不同。相對於包含區,各拆分產生子區之側邊維度不是沒有改變,就是被減半或四分。接著,由於CTU尺寸是二的冪,因此所有CU之側邊維度也是二的冪。
圖6是描繪多功能視訊編碼中所用QTBTTT (或「編碼樹」)結構的資料流600之示意性流程圖。針對各CTU使用該QTBTTT結構,以界定CTU到一或多CU之劃分。各CTU之QTBTTT結構是透過視訊編碼器114中的區塊分割器310所判定並且被編碼到位元流115中,或由視訊解碼器134中的熵解碼器420自位元流133解碼出該QTBTTT結構。根據圖5所示的劃分,資料流600進一步特徵在於區塊分割器310可用於將CTU劃分成一個或多個CU的允許組合。
從階層頂層級開始(亦即在CTU),首先執行零或更多四元樹劃分。更明確地,由區塊分割器310做出四元樹(QT)拆分決策610。在610之回傳「1」符號之決策指示根據四元樹拆分512將當前節點拆分成四個子節點之決策。結果導致產生四個新節點,諸如在620,且針對各新的節點,遞迴到QT拆分決策610。各新的節點被視為是光柵(或Z掃描)順序。替代地,若QT拆分決策610指示沒有要執行進一步拆分(回傳「0」符號),則四元樹分割停止並接著考慮多樹(multi-tree, MT)拆分。
首先,由區塊分割器310做出MT拆分決策612。在612,指示用以執行MT分割之決策。在決策612處回傳「0」符號指示沒有要執行從節點到子節點之進一步拆分。若沒有要執行一節點之進一步拆分,則該節點是編碼樹之葉節點且對應CU。在622,葉節點被輸出。替代地,若MT拆分612指示執行MT拆分(回傳「1」符號)之決策,則區塊分割器310繼續進行到方向決策614。
方向決策614指示MT拆分之方向,為水平(「H」或「0」)或垂直(「V」或「1」)。若決策614回傳「0」,其指示水平方向,則區塊分割器310繼續進行到決策616。若決策614回傳「1」,其指示垂直方向,則區塊分割器310繼續進行到決策618。
在決策616與618各處,用於MT拆分之分割數量被指示成是BT/TT拆分之二(二元拆分或「BT」節點)或三(三元拆分或「TT」)。亦即,當來自614之指示方向是水平時,由區塊分割器310做出BT/TT拆分決策616;以及當來自614之指示方向是垂直時,由區塊分割器310做出BT/TT拆分決策618。
BT/TT拆分決策616指示水平拆分是二元拆分514(透過回傳「0」來指示)或是三元拆分518(透過回傳「1」來指示)。當BT/TT拆分決策616指示二元拆分時,在產生HBT CTU節點步驟625處,區塊分割器310根據二元水平拆分514產生兩個節點。當BT/TT拆分616指示三元拆分時,在產生HTT CTU節點步驟626處,區塊分割器310根據三元水平拆分518產生三個節點。
BT/TT拆分決策618指示垂直拆分是二元拆分516(透過回傳「0」來指示)或是三元拆分520(透過回傳「1」來指示)。當BT/TT拆分618指示二元拆分時,在產生VBT CTU節點步驟627處,區塊分割器310根據垂直二元拆分516產生兩個節點。當BT/TT拆分618指示三元拆分時,在產生VTT CTU節點步驟628處,區塊分割器310根據垂直三元拆分520產生三個節點。針對步驟625-628所導致產生之各節點,取決於方向614從左到右或上到下的順序,應用資料流600之遞迴回到MT拆分決策612。結果導致二元樹與三元樹拆分可被應用以產生具有各種尺寸之CU。
圖7A與7B提供CTU 710劃分成多個CU或CB之例示性劃分700。在圖7A中示出例示性CU 712。圖7A示出CTU 710中CU之空間配置。在圖7B中,例示性劃分700也以編碼樹720型態被示出。
在圖7A之CTU 710中的各個非葉節點處,例如節點714、716及718,以「Z順序」掃描或遍歷包含的節點(其可被進一步劃分或可以是CU)以建立節點之列表(其表示成編碼樹720中的行)。針對四元樹拆分,Z順序掃描導致左上到右上並接著左下到右下之順序。針對水平與垂直拆分,Z順序掃描(遍歷)個別簡化了上到下掃描與左到右掃描。圖7B之編碼樹720根據應用掃描順序列出所有節點與CU。在樹之下個層級,各拆分產生兩個、三個或四個新節點之列表直到到達葉節點(CU)。
在已經將影像分解成CTU並進一步由區塊分割器310分解成CU時,並且使用CU以產生各殘差區塊(324)(如參照圖3所描述),殘差區塊受視訊編碼器114進行前向變換與量化。產生之TB 336接著被掃描以形成殘差係數之序列列表,其是熵編碼模組338操作之一部分。在視訊解碼器134中執行等效處理,以從位元流133獲得TB。
圖8A、8B與8C示出由編碼樹中的拆分所造成的次劃分(subdivision)層級及對將編碼樹單元劃分成量化組的該對應影響。最多每量化群組中發訊一次差量QP(392)連帶TB之殘差。在HEVC中,量化群組之定義對應編碼樹深度,因為定義會導致固定尺寸的區域。在VVC中,額外拆分代表編碼樹樹深度已經不再是CTU區域的合適代理(proxy)。在VVC中界定「次劃分層級」,其中各增加對應於包含區域之減半。
圖8A示出編碼樹中拆分之集合800以及對應的次劃分層級。在編碼樹之根節點處,次劃分層級被初始化成零。當編碼樹包括四元樹拆分時,例如810,針對其內所含任何CU,次劃分層級增加二。當編碼樹包括二元樹拆分時,例如812,針對其內所含任何CU,次劃分層級增加一。當編碼樹包括三元樹拆分時,例如814,三元拆分將導致針對外部兩個CU,次劃分層級增加二,以及針對內部CU,次劃分層級增加一。隨著遍歷完各CTU之編碼樹,如參照圖6所描述,各產生CU之次劃分層級是根據集合800而判定。
圖8B示出CU節點之例示性集合840並說明拆分之效用。在圖8B之實例中,集合840之具有零之次劃分層級的例示性上代節點820對應具有64x64尺寸之CTU。上代節點820被三元拆分以產生三個子節點821、822以及823(其個別具有尺寸16×64、32×64、16×64 )。子節點821、822以及823個別具有2、1與2之次劃分層級。
在圖8B之實例中,量化群組臨界值被設定成1,對應於64×64區域之減半,亦即2048個樣本之區域。旗標追蹤新的QG之開始。針對任何具有小於或等於量化群組臨界值之次劃分層級的節點,追蹤新QG之旗標被重置。當遍歷具有為零的次劃分層級之上代節點820時,旗標被設定。雖然32×64尺寸之中央CU 822之區域具有2048個樣本,但兩個兄弟CU 821與823具有為二之次劃分層級,亦即,1024之區域以及因此當遍歷該中央CU時該旗標沒有被重置以及量化群組沒有從該中央CU開始。取而代之,依據初始旗標被重置,旗標從上代節點開始(在824示出)。有效的,QP可以僅在對準量化群組區域之倍數的邊界上改變。將差量QP連帶與CB相關的TB之殘差發訊。若沒有存在顯著係數,則沒有機會將差量QP編碼。
圖8C示出劃分實例860,其為CTU 862劃分成多個CU與QG以說明次劃分層級(QG)與差量QP之發訊之間的關係。垂直二元拆分將CTU 862劃分成兩半,左半部870包含CU CU0且右半部872包含些許CU(CU1-CU4)。在圖8C之實例中,量化群組臨界值被設定成二,導致量化群組通常具有的面積等於CTU面積之四分之一。由於上代節點具有為零的次劃分層級(亦即,是編碼樹之根節點),因此QG旗標被重置且新的QG會開始到下個編碼的CU(亦即,箭頭868所指CU)。CU0(870)具有編碼的係數且因此差量QP 864是連同CU0之殘差一同被編碼。右半部872受水平二元拆分處理,並且在右半部872之上與下區段中進一步拆分,造成CU1-CU4。對應右半部872之上區段(877,包括CU1與CU2)與下區段(878,包括CU3與CU4)之編碼樹節點具有二的次劃分層級。2之次劃分層級等於為二的量化群組臨界值,並且因此在各區段進行新的QG,其各別標記874與876。CU1沒有具有編碼的係數(無殘差)且CU2是「跳過」的CU,其也沒有具有編碼的係數。因此,針對上區段沒有編碼差量QP。CU3是跳過的CU且CU4具有編碼的殘差,以及因此針對包括CU3與CU4之QG,連同CU4之殘差將差量QP 866編碼。
圖9A與9B示出4X4變換區塊掃描圖案以及相關聯主要與次要變換係數。根據視訊編碼器114描述次要變換模組330對主要殘差係數進行之操作。根據向後對角線掃描模式910掃描4X4 TB 900。掃描模式910從「最終顯著係數」位置繼續進行,往後朝DC(左上)係數位置。所有未掃描的係數位置(例如,當考慮前向掃描時),位於最終顯著係數位置之後的殘差係數都隱含地是非顯著(non-significant)。當使用次要變換時,所有剩餘係數是非顯著。亦即,不受次要變換之所有次要域殘差係數是非顯著,且所有未透過應用次要變換填充的主要域殘差係數需要是非顯著的。此外,在被模組330應用前向次要變換後,次要變換係數的數量可能少於由次要變換模組330所處理之主要變換係數的數量。舉例而言,圖9B示出區塊集合920。在圖9B中,十六個(16)主要係數被配置成一個4x4子區塊,為4×4 TB 920之子區塊924。在圖9B之實例中,主要殘差係數可受次要變換,以產生次要變換區塊926。次要變換區塊926包含八個次要變換係數928。根據掃描模式910,八個次要變換係數928被儲存在TB中,從DC係數位置開始壓縮。4×4子區塊之剩餘係數位置(示出成區域930)包含從主要變換量化的殘差係數,且針對將應用之次要變換,該等量化的殘差係數需要全部是非顯著。因此,指定係數為TB 920的前八個掃描位置之一的係數之4×4 TB的最終顯著係數位置表示(i)次要變換的應用,或(ii)在量化後,主要變換的輸出,其除了TB 920的第八個掃描位置外沒有顯著的係數。
在可以對TB執行次要變換時,次要變換索引(亦即,388)被編碼,以指示次要變換之可能應用。次要變換索引也可指示(其中多個變換核心是可用),在模組330,何核心要被應用作次要變換。相應的,當最終顯著係數位置位於為保留用於保持次要變換係數的任一掃描位置中時,例如928,視訊解碼器134將次要變換索引470解碼。
雖然已描述次要變換核心將16個主要係數映射到八個次要係數,但不同核心是可行的,包括映射到不同數量之次要變換係數的核心。次要變換係數之數量可以與主要變換係數之數量相同,例如,有16個。針對具有寬度為4且具有大於4之高度的TB,相對於4×4TB所述之情形同樣適用於TB之頂部子區塊。當應用次要變換時,TB之其他子區塊具有零值之殘差係數。針對具有大於4之寬度且高度等於4的TB,相對於4×4TB所述之情形同樣適用於TB之左上子區塊,以及TB之其他子區塊具有零值殘差係數,允許可使用最終顯著係數位置來判定是否需要將次要變換索引解碼。
圖9C與9D示出8X8變換區塊掃描圖案以及例示性相關聯主要與次要變換係數。圖9C示出針對8×8 TB 940的4×4基於子區塊之向後對角線掃描模式950。在4×4基於子區塊之向後對角線掃描模式950中,將8×8 TB 940掃瞄。圖9D示出集合960,示出次要變換操作之效用。掃描950從「最終顯著係數」位置繼續進行,往後朝DC(左上)係數位置。當剩餘16個主要係數(示出為964)是零值時,對48個主要係數(示出為940之區域962)應用轉送次要變換核心是可行的。對區域962應用次要變換會導致產生16個次要變換係數(示出為966)。TB之其他係數位置是零值,標記為968。若8×8 TB 940之最終顯著位置指示次要變換係數是在966內,則次要變換索引(388)被編碼以指示由模組330進行特定變換核心(或旁路該核心)之應用。視訊解碼器134使用TB之最終顯著位置來判定是否要將次要變換索引(亦即,索引470)解碼。針對具有超過八的寬度或高度之變換區塊樣本,在左上角8×8區(亦即,TB之左上2×2子區塊)應用圖9C與9D之方法。
如參照圖9A-9D所述,兩個尺寸之次要變換核心是可用。一尺寸之次要變換核心是用於具有寬度或高度為4之變換區塊,以及另一尺寸之次要變換是用於具有寬度或高度大於4之變換區塊。在各尺寸之核心中,多組(例如,四個)次要變換核心是可用的。基於針對該區塊之框內預測模式選擇出一集合,其針對亮度區塊與色度區塊可能不同。在該所選集合中,一或兩個核心為可用。對於屬於編碼樹單元的共享樹之編碼單元中的亮度塊與色度塊獨立地,在所選集合中一核心之使用或次要變換之旁路是經由次要變換索引進行發訊。換言之,針對亮度通道所用之索引與針對(一或多)色度通道之索引是彼此獨立的。
圖10示出多功能視訊編碼(VVC)標準中可用的變換區塊之集合1000。圖10也示出對出自集合1000之變換區塊的殘差係數之子集應用次要變換。圖10示出具有範圍從4到32之寬度與高度之TB。然而,具有寬度及/或高度為64之TB是可行,但為了方便參考沒有將其示出。
16點的次要變換1052(以較深色階示出)被應用到4×4集合之係數。16點次要變換1052被應用到具有寬度或高度為4之TB,例如,4×4 TB 1010、8×4 TB 1012、16×4 TB 1014、32×4 TB 1016、4×8 TB 1020、4×16 TB 1030、以及4×32 TB 1040。若64點主要變換是可用,則16點次要變換1052被應用到尺寸為4×64及64×4之TB(圖10未示出)。針對具有寬度或高度為四但有多於16個主要係數之TB,僅對TB之左上4×4子區塊應用16點次要變換,以及其他子區塊需要具有零值之係數才可對其應用次要變換。16點次要變換之一般應用結果造成16個次要變換係數,該係數被封裝到TB中用於編碼到子區塊,並從中獲得原始的16個主要變換係數。例如參照圖9B所述,次要變換核心可能導致產生數量比主要變換係數之數量更少的次要變換係數,其中對該主要變換係數應用次要變換。
針對具有大於四之寬度與高度的變換尺寸,針對變換區塊之左上8×8區中的殘差係數之三個4×4子區塊,可應用48點次要變換1050(以較淺色階示出),如圖10所示。48點二次變換1050被應用到8×8變換區塊1022、16×8變換區塊1024、32x8變換區塊1026、8×16變換區塊1032、16×16變換區塊1034、32×16變換區塊1036、8x32變換區塊1042、16×32變換區塊1044和32×32變換區塊1046,在每種情況下均以淺色階和虛線框顯示。若64點主要變換是可用,則48點次要變換1050也可被應用到尺寸為8×64、16×64、32×64、64×64、64×32、64×16及64×8之TB(未示出)。48點次要變換核心之應用通常造成產生少於48個次要變換係數。舉例而言,可產生8或16個次要變換係數。次要變換係數被儲存在變換區塊中在左上區中,例如,圖9D中所示八個次要變換係數。不受次要變換處理之主要變換係數(「僅主要之係數」)(例如,TB 1034之係數1066(與圖9D之964相似))需要是零值,以為了應用次要變換。在前向方向中應用48點次要變換1050後,其可包含顯著係數之該區從48個係數降低到16個係數,進一步降低其可包含顯著係數的係數位置之數量。舉例而言,968將僅包含非顯著係數。針對反向次要變換,存在的解碼的顯著係數(例如,僅在TB之966中)被變換以產生係數,該任一係數在一接著受主要反變換的區域(例如,962)中可能是顯著的。當次要變換將一或多子區塊降低到一集合之16個次要變換係數,僅有左上4×4子區塊可包含顯著係數。位於可儲存次要變換係數的任意係數位置之最終顯著係數位置指示應用次要變換或僅應用了主要變換。惟,在量化後,如同已應用次要變換核心般,產生的顯著係數在相同區中。
當最終顯著係數位置指示TB中的次要變換係數位置(例如,922或962)時,需要一發訊的次要變換索引以區別應用次要變換核心或旁路次要變換。雖然已經從視訊編碼器114之角度描述圖10中對各種尺寸之TB應用次要變換,但在視訊解碼器134中執行對應的反向處理。視訊解碼器134首先將最終顯著係數位置解碼。若解碼的最終顯著係數位置指示次要變換之潛在應用 (對於分別產生8或16個次要變換係數的次要變換核心,該位置是在928或966之內),則次要變換索引被解碼的以判定應用或旁路該反向次要變換。
圖11示出針對具有多切片之位元流1101的語法結構1100。該切片各包括多個編碼單元。位元流1101可以由視訊編碼器114產生(例如,與位元流115相同)或可以由視訊解碼器134剖析(例如,與位元流133相同)。位元流1101被劃分成數部分,例如,網路抽象層(NAL)單元,其中透過在各NAL單元之前設有NAL單元標頭(諸如1108)來達到描繪(delineation)。一序列參數集(SPS)1110界定序列層級之參數,諸如用於將位元流、色度格式、樣本位元深度與訊框解析度編碼與解碼之設定檔(工具集合)。參數也被包括在集合1110中,該集合約束各CTU之編碼樹中,不同類型之拆分的應用。將拆分之類型約束的參數之編碼可被最佳化以用於更緊縮的表示法,例如透過使用區塊尺寸約束的log2基礎,並表示相對於其他參數(例如最小CTU之尺寸)之參數。編碼到SPS 1110中的些許參數是如下: •  log2_ctu_size_minus5:指定CTU尺寸,以編碼的值0、1、及2分別指定32×32、64×64與128x128之CTU尺寸。 •   partition_constraints_override_enabled_flag:賦能應用些許參數之切片層級置換(override)的能力,該參數共同地被稱為分割約束參數1130。 •   log2_min_luma_coding_block_size_minus2:指定(亮度樣本中)最小的編碼區塊尺寸,以值0、1、2、…等指定4×4、8×8、16x16、…之最小亮度CB尺寸。最大編碼值是受約束於指定CTU尺寸,亦即諸如log2_min_luma_coding_block_size_minus2 ≤ log2_ctu_size_minus5 + 3。可用色度區塊維度對應到可用亮度區塊維度,並根據所用色度格式之色度通道次取樣來將其進行縮放。 •   sps_max_mtt_hierarchy_depth_inter_slice:指定相對於針對框間(P或B)之切片編碼樹中的四元樹節點(即,一旦在編碼樹中停止四元樹拆分)的多樹類型拆分(即,二元與三元拆分)之編碼樹中編碼單元的最大階層深度,並且是參數1130之一。 •   sps_max_mtt_hierarchy_depth_intra_slice_luma:指定相對於針對框內(I)之切片編碼樹中的四元樹節點(即,一旦在編碼樹中停止四元樹拆分)的多樹類型拆分(即,二元與三元)之編碼樹中編碼單元的最大階層深度,並且是參數1130之一。 •   partition_constraints_override_flag:當SPS中的partition_constraints_override_enabled_flag等於1時,該參數被發訊於切片標頭中,並指示針對對應切片,如SPS中發訊的分割約束要被置換。
畫面參數集(PPS)1112界定可應用到零或更多訊框的集合之參數。PPS 1112中包括的參數包括將訊框劃分成一或多「片」及/或「磚」之參數。PPS 1112之參數也可包括一列表之CU色度QP偏移,其中之一可在CU層級應用,以從並置亮度CB之量化參數導出用於由色度區塊所用之量化參數。
形成一畫面的一序列之切片已知為存取單元(AU),諸如AU 0 1114。AU 0 1114包括三個切片,諸如切片0至2。切片1被標記1116。與其他切片相同,切片1(1116)包括切片標頭1118與切片資料1120。
切片標頭包括分組成1134之參數。群組1134包括: •   slice_max_mtt_hierarchy_depth_luma:當切片標頭中的partition_constraints_override_flag等於一並且置換該自SPS導出之值時,在切片標頭1118中將其發訊。針對I切片,使用slice_max_mtt_hierarchy_depth_luma而非使用sps_max_mtt_hierarchy_depth_intra_slice_luma在1134設定MaxMttDepth。針對P或B切片,使用slice_max_mtt_hierarchy_depth_luma而非使用sps_max_mtt_hierarchy_depth_inter_slice。 變數MinQtLog2SizeIntraY(未示出)是從語法元素sps_log2_diff_min_qt_min_cb_intra_slice_luma導出的,自SPS 1110解碼的,並指定從零或多針對I切片的四元樹拆分(亦即,在編碼樹中沒有進一步MTT拆分發生)產生之最小編碼區塊尺寸。變數MinQtLog2SizeInterY(未示出)是從語法元素sps_log2_diff_min_qt_min_cb_inter_slice導出的,且自SPS 1110解碼的。變數MinQtLog2SizeInterY指定從零或多針對P與B切片的四元樹拆分(亦即,在編碼樹中沒有進一步MTT拆分發生)產生之最小編碼區塊尺寸。由於從四元樹拆分導致產生之CU是方形,因此變數MinQtLog2SizeIntraY與MinQtLog2SizeInterY各指定寬度與高度兩者(為CU寬度/高度之log2)。
參數cu_qp_delta_subdiv可以在切片標頭1118中可選地發訊並指示最大次劃分層級,在針對共享樹或分離樹切片中的亮度分支的編碼樹中以該最大次劃分層級將差量QP發訊。針對I切片,cu_qp_delta_subdiv之範圍是在0到2*(log2_ctu_size_minus5+5-MinQtLog2SizeIntraY +MaxMttDepthY 1134之間。針對P或B切片,cu_qp_delta_subdiv之範圍是在0到2*(log2_ctu_size_minus5+5- MinQtLog2SizeInterY +MaxMttDepthY 1134之間。由於cu_qp_delta_subdiv之範圍是取決於數值MaxMttDepthY 1134,該MaxMttDepthY 1134是從不是自SPS1110獲得就是自切片標頭1118獲得的分割約束所導出,因此無剖析問題。
參數cu_chroma_qp_offset_subdiv可以在切片標頭1118中可選地發訊並指示最大次劃分層級,在共享樹或分離樹切片中的色度分支中以該最大次劃分層級將色度CU QP偏移發訊。針對I或P/B切片之對cu_chroma_qp_offset_subdiv之範圍約束是與對cu_qp_delta_subdiv之對應範圍約束相同。
針對切片1120中的CTU導出次劃分層級1136,針對亮度CB標記為cu_qp_delta_subdiv以及針對色度CB標記為cu_chroma_qp_offset_subdiv。次劃分層級是用於建立CTU中何進度時差量QP語法元素會被編碼,如參照圖8A-C所述。針對色度CB,色度CU層級偏移賦能(以及索引,若被賦能)被發訊,其也使用圖8A-C之方法。
圖12示出針對具有用於編碼樹單元(諸如CTU 1210)的亮度與色度編碼區塊的共享樹之位元流1101(例如,115或133)之切片資料1120的語法結構1200。CTU 1210包括一或多CU,如示出為CU 1214之實例。CU 1214包括發訊的預測模式1216a,以及其後之變換樹1216b。當CU 1214之尺寸不超越最大變換尺寸(32×32或64×64)時,則變換樹1216b包括一個變換單元(示出為TU 1218)。
若預測模式1216a指示針對CU 1214使用框內預測,則指定亮度框內預測模式與色度框內預測模式。針對CU 1214之亮度CB,主要變換類型也發訊成:(i)水平與垂直DCT-2,(ii)水平與垂直之變換跳過,或(iii)水平與垂直之DST-7與DCT-8的組合。若發訊的亮度變換類型是水平與垂直DCT-2(選項(i)),則在位元流中發訊額外亮度次要變換類型1220(已知是「低頻率不可分離的變換」(LFNST)索引),前提是要在參照圖9A-D所述之條件下。亦發訊色度次要變換類型1221。無論亮度主要變換類型是DCT-2與否,獨立發訊色度次要變換類型1221。
使用共享編碼樹,造成TU 1218,其包括針對各顏色通道之TB,示出為亮度TB Y 1222、第一色度TB Cb 1224以及第二色度TB Cr 1226。其中傳送單一色度TB以指定針對Cb和Cr通道兩者之色度殘差為可用之一種編碼模式已知是「聯合CbCr」編碼模式。當聯合(joint)CbCr編碼模式被賦能時,單一色度TB被編碼。
無視顏色通道,各TB包括最終位置1228。當考慮對角線掃描模式中係數時,最終位置1228指示TB中的最終顯著殘差係數位置,用以將TB之係數的陣列序列化在前向方向中(亦即,從DC係數開始)。若TB之最終位置1228指示只有次要變換域中的係數是顯著(亦即,所有剩餘係數將僅受主要轉換處理),則次要變換索引被發訊以指定是否應用次要變換。
若將應用次要變換,且多於一個次要變換核心是可用的,則次要變換索引將指示所選定之核心。一般而言,在「候選集合」中,一核心或兩個核心是可用。候選集合是從區塊之框內預測模式所判定。一般而言,有四個候選集合,雖然也可能有更少的候選集合。如上述,使用針對亮度與色度之次要變換並且相應所選之核心是個別取決於針對亮度與色度通道之框內預測模式。核心也取決於對應亮度與色度TB之區塊尺寸。針對色度所選之核心亦取決於位元流之色度次取樣比例。若只有一個核心可用,則發訊被限制為應用或不應用次要變換(索引範圍0到1)。若有兩個核心可用,則索引值為0(不應用),1(應用第一核心),或2(應用第二核心)。針對色度,對各色度通道應用相同的次要變換核心,並且因此Cb區塊1224與Cr區塊1226之殘差僅需要在受次要變換處理之位置處包括顯著係數,如參照圖9A-D所述者。若使用聯合CbCr編碼,則僅對單一編碼色度TB可應用該條件,該條件為僅在受次要變換處理之位置中包括顯著係數,這是因為產生的Cb和Cr殘差僅包含在對應於聯合編碼TB中顯著係數之位置中的顯著係數。若由單一TB(單一最終位置,例如,1228)描述給定次要索引之可應用(一或多)顏色通道(亦即,當使用聯合CbCr編碼時,亮度永遠僅需一個TB且色度需要一個TB),則可在編碼最終位置後立即將次要變換索引編碼(而非在TU之後將其編碼),亦即編碼成索引1230而非1220(或1221)。在位元流中先將次要變換發訊,會允許視訊解碼器134可以在殘差係數1232中各殘差係數被解碼時開始次要變換之應用,藉此降低系統100中的潛時。
在視訊編碼器114與視訊解碼器134之配置中,當無使用聯合CbCr編碼時針對各色度TB(亦即,1224與1226)發訊不同的次要變換索引,結果造成針對各顏色通道之次要變換的獨立控制。若各TB是獨立控制的,則可在針對亮度與針對色度之對應TB的最終位置後,立即發訊針對各TB之次要變換索引(無論是否應用聯合CbCr模式)。
圖13示出用於將訊框資料113編碼到位元流115中之方法1300,該位元流115包括將一或多切片編碼成編碼樹單元序列。方法1300可由諸如組態的FPGA、ASIC或ASSP的設備來實現。額外地,方法1300可由視訊編碼器114在受處理器205執行下被執行。由於編碼訊框之工作量,因此方法1300之步驟可在不同處理器中執行以分擔工作量,例如使用當代多核處理器,以使得不同切片是由不同處理器編碼。此外,各切片之分割約束與量化群組定義可有所不同,因為這對將位元流115之各部分(切片)進行編碼之率控制目的方面是有益的。為了對各編碼單元之殘差進行編碼的額外彈性,不僅量化群組次劃分層級可對各切片不同,對於亮度與色度可獨立控制次要變換之應用。如此一來,方法1300可以被儲存在電腦可讀儲存媒體上及/或記憶體206中。
方法1300從編碼SPS/PPS步驟1310開始。在步驟1310,視訊編碼器114將SPS 1110與PPS 1112編碼成序列之固定與可變長度編碼的參數,並編碼到位元流115中。partition_constraints_override_enabled_flag被編碼成SPS 1110之部分,在各別的切片(諸如1116)之切片標頭(1118)中指示分割約束能夠被置換。預設分割約束也可被視訊編碼器114編碼成SPS 1110之部分。
方法1300從步驟1310繼續到將訊框劃分成切片之步驟1320。在步驟1320之執行中,處理器205將訊框資料113劃分成一或多切片或連續部分。在期望並行性處,視訊編碼器114之不同例可在某種程度上獨立方式將各切片編碼。單一視訊編碼器114可序列性處理各切片,或可實作某種中間程度之並行性。一般而言,訊框劃分成切片(連續部分)與將訊框劃分成區(已知為「次畫面」或片(tiles)等等)之邊界對準。
方法1300從步驟1320繼續,到編碼切片標頭步驟1330。在步驟1330,熵編碼器338將切片標頭1118編碼到位元流115中。參照圖14,在下文中提供步驟1330之例示性實作。
方法1300從步驟1330繼續到將切片劃分成CTU之步驟1340。在步驟1340之執行中,視訊編碼器114將切片1116劃分成一序列之CTU。切片邊界對準CTU邊界且根據CTU掃描順序(通常是光柵掃描順序)將切片中的CTU排序。切片到CTU之劃分界定在當前切片之編碼中,訊框資料113之何部分要被視訊編碼器113處理。
方法1300從步驟1340繼續到判定編碼樹步驟1350。在步驟1350,視訊編碼器114判定針對切片中當前所選CTU之編碼樹。在第一次調用步驟1350時,方法1300從切片1116中第一CTU開始,並且在接續調用進展到切片1116中的接續CTU。在判定CTU之編碼樹過程中,由區塊分割器310產生各式各樣組合之四元樹、二元與三元拆分,並且該等拆分被測試。
方法1300從步驟1350繼續到判定編碼單元步驟1360。在步驟1360,視訊編碼器114執行以判定針對CU之「最佳化」編碼,該最佳化編碼是由使用已知方法進行評估的各種編碼樹得到的。判定最佳編碼涉及判定預測模式(例如,具有特定模式的框內預測或具有運動向量的框間預測)、變換選擇(主要變換類型與可選的次要變換類型)。若針對亮度TB主要變換類型被判定是DCT-2或不受前向次要變換操作之任何量化的主要變換係數是顯著時,針對亮度TB之次要變換索引可指示次要變換之應用。否則針對亮度之次要變換索引指示次要變換之旁路。針對亮度通道,主要變換類型被判定是DCT-2、變換跳過、或針對色度通道之MTS選項之一,DCT-2是可用變換類型。參照圖19A和19B進一步描述次要變換類型之判定。判定編碼也可包括判定可能在量化群組邊界處改變QP的量化參數。在判定個別編碼單元過程中,亦以聯合方式(joint manner)判定最佳化編碼樹。當編碼單元是要使用框內預測進行編碼時,判定亮度框內預測模式與色度框內預測。
當在由於應用DCT-2主要變換所造成產生的主要域殘差中沒有存在「AC」(在除了變換區塊的左上角位置以外的位置的係數)殘差係數時,判定編碼單元步驟1360可禁止次要變化之測試應用。若對僅包括DC係數(最終位置指示只有變換區塊之左上角係數是顯著)之變換區塊測試次要變換應用,則可見編碼增益。當僅存在DC主要係數時,測試次要變換之禁止是橫跨應用次要變換索引之區塊(亦即,當單一索引被編碼時,針對共享樹之Y、Cb和Cr(當Cb和Cr區塊具有兩個樣本之寬度或高度時,只有Y通道))。即便具DC係數之殘差只有在編碼成本方面比具有至少一AC係數之殘差低,對僅具有顯著DC係數之殘差而言次要變換之應用會結果導致在最終編碼DC係數之量級中進一步的降低。即便在編碼之前的進一步量化及/或四捨五入操作之後,其他(AC)係數在次要變換之後具有不足夠的量級,導致位元流中顯著編碼的殘差係數。在共享或分離樹編碼樹中,在至少一顯著主要係數存在之前提下,即便在次要變換索引之應用的範疇內只有各別的變換區塊之DC係數,視訊編碼器114亦對所選非零的次要變換索引值進行測試(亦即,用於次要變換之應用)。
方法1300從步驟1360繼續,到將編碼單元編碼步驟1370。在步驟1370,視訊編碼器114將步驟1360中判定的編碼單元編碼到位元流115中。編碼單元如何被編碼之一實例將透過參照圖15而詳細說明。
方法1300從步驟1370繼續到最終編碼單元測試步驟1380。在步驟1380,處理器205測試當前編碼單元是否為CTU中的最終編碼單元。若為否(步驟1380之「NO」),則處理器205中的控制進展到判定編碼單元步驟1360。否則,若當前編碼單元是最終編碼單元(步驟1380之「YES」),則處理器205中的控制進展到最終CTU測試步驟1390。
在最終CTU測試步驟1390,處理器205測試當前CTU是否為切片1116中的最終CTU。若其不是切片1116中的最終CTU,則處理器205中的控制返回到判定編碼樹步驟1350。否則,若當前CTU是最終者(步驟1390之「YES」),則處理器中的控制進展到最終切片測試步驟13100。
在最終切片測試步驟13100,處理器205測試正被編碼的當前切片是否為訊框中的最終切片。若其不是最終切片(步驟13100之「NO」),則處理器205中的控制進展到編碼切片標頭步驟1330。否則,若當前切片是最終切片且所有切片(連續部分)已經被編碼(步驟13100之「YES」),則方法1300終止。
圖14示出用於將切片標頭1118編碼到位元流115中之方法1400,如步驟1330處所實作者。方法1400可由諸如組態的FPGA、ASIC或ASSP的設備來實現。額外地,方法1400可由視訊編碼器114在受處理器205執行下被執行。如此一來,方法1400可以被儲存在電腦可讀儲存媒體上及/或記憶體206中。
方法1400從分割約束置換賦能測試步驟1410開始。在步驟1410,處理器205測試分割約束置換賦能的旗標(partition constraints override enabled flag)(如在SPS 1110中編碼者)是否指示分割約束可以在切片層級被置換。若分割約束可以在切片層級被置換(步驟1410之「YES」),則處理器205中的控制進展到判定分割約束步驟1420。否則,若分割約束不可在切片層級被置換(步驟1410之「NO」),則處理器205中的控制進展到編碼其他參數步驟1480。
在判定分割約束步驟1420,處理器205判定適用於當前切片1116之分割約束(例如,最大MTT拆分深度)。在一實例中,訊框資料310包含一場景360度視圖之投影,該場景被映射到2D訊框中且被劃分成些許次畫面。取決於所選擇視埠,特定切片可能需要較高保真度且其他切片可需要較低保真度。針對給定切片之分割約束可基於由切片編碼的部分訊框資料310之保真度需求而設定(例如,按照步驟1340)。在較低保真度被視為可接受處,具較大CU的較淺編碼樹是可接受,並且因此最大MTT深度可被設定到較低的值。相應判定次劃分層級1136(以旗標cu_qp_delta_subdiv發訊),至少在由判定最大MTT深度1134所造成之範圍內。對應色度次劃分層級也被判定與發訊。
方法1400從步驟1420繼續,到編碼分割約束置換旗標步驟1430。在步驟1430,熵編碼器338將旗標編碼到位元流115中,以指示如SPS 1110中所發訊的針對切片1116之分割約束是否要被置換。若特定於當前切片之分割約束在步驟1420被導出,則旗標數值將指示分割約束置換功能之使用。若在步驟1420判定之約束匹配該等已經在SPS 1110中編碼者,則無需求要置換分割約束,因為沒有變化要被發訊且旗標值被相應編碼。
方法1400從步驟1430繼續到分割約束置換測試步驟1440。在步驟1440,處理器205測試在步驟1430中編碼的旗標值。若旗標指示分割約束將被置換(步驟1440之「YES」),則處理器205中的控制進展到編碼切片分割約束步驟1450。否則,若分割約束不會被置換(步驟1440之「NO」),則處理器205中的控制進展到編碼其他參數步驟1480。
方法1400從步驟1440繼續,到編碼切片分割約束步驟1450。在步驟1450之執行中,熵編碼器338將針對切片之判定的分割約束編碼到位元流115中。針對切片之分割約束包括「slice_max_mtt_hierarchy_depth_luma」,從其可導出MaxMttDepthY 1134。
方法1400從步驟1450繼續,到編碼QP次劃分層級步驟1460。在步驟1460,透過使用 「cu_qp_delta_subdiv」語法元素,熵編碼器338將針對亮度CB之次劃分層級編碼,如參照圖11所述者。
方法1400從步驟1460繼續,到編碼色度QP次劃分層級步驟1470。在步驟1470,透過使用「cu_chroma_qp_offset_subdiv」語法元素,熵編碼器338將用於將CU色度QP偏移發訊之次劃分層級編碼,如參照圖11所述者。
步驟1460與1470操作以將針對訊框之切片(連續部分)的總體QP次劃分層級編碼。總體次劃分層級包含針對切片的亮度編碼單元之次劃分層級與針對切片的色度編碼單元之次劃分層級。色度與亮度次劃分層級可以不同,例如由於使用分離編碼樹用於I切片中的亮度與色度。
方法1400從步驟1470繼續,到編碼另一參數步驟1480。在步驟1480,熵編碼器338將其他參數編碼到切片標頭1118中,諸如該等用於控制特定工具(如去區塊、適應性迴圈過濾器、從先前發訊之(針對對變換區塊之量化參數的不均勻應用)縮放列表的可選選擇)之必要參數。在執行步驟1480後,方法1400終止。
圖15示出用於將編碼單元編碼到位元流115中之方法1500,對應圖13之步驟1370。方法1500可由諸如組態的FPGA、ASIC或ASSP的設備來實現。額外地,方法1500可由視訊編碼器114在受處理器205執行下被執行。如此一來,方法1500可以被儲存在電腦可讀儲存媒體上及/或記憶體206中。
方法1500從編碼預測模式步驟1510開始。在步驟1510,熵編碼器338將用於編碼單元之預測模式(如在步驟1360所判定者)編碼到位元流115中。「pred_mode」語法元素被編碼,以區別對編碼單元使用框內預測、框間預測或使用其他預測模式。若針對編碼單元使用框內預測,則亮度框內預測模式被編碼且色度框內預測模式被編碼。若針對編碼單元使用框間預測,則「合併索引」可以被編碼以從相鄰編碼單元選擇出運動向量,該運動向量由此編碼單元所用,運動向量差量可以被編碼以引入對從空間上相鄰區塊所導出的運動向量之偏移。主要變換類型被編碼,用以在使用水平與垂直DCT-2、水平與垂直變換跳過、或水平與垂直DCT-8與DST-7之組合之間作選擇,以用於編碼單元之亮度TB。
方法1500從步驟1510繼續到經編碼殘差(coded residual)測試步驟1520。在步驟1520,處理器205判定是否需要對編碼單元之殘差進行編碼。若針對編碼單元有任何的顯著殘差係數需要被編碼(步驟1520之「YES」),則處理器205中的控制進展到新的QG測試步驟1530。否則,若沒有顯著殘差係數要編碼(步驟1520之「NO」),則方法1500終止,因為將編碼單元解碼所需的所有資訊已經存在位元流115中。
在該新的QG測試步驟1530,處理器205判定編碼單元是否對應新的量化群組。若編碼單元對應新的量化群組(步驟1530之「YES」),則處理器205中的控制進展到編碼差量QP步驟1540。否則,若編碼單元與新的量化群組不相關(步驟1530之「NO」),則處理器205中的控制進展到執行主要變換步驟1550。在編碼各編碼單元過程中,在步驟1530,遍歷CTU之編碼樹的節點。在當前節點之任意子節點所具備次劃分層級少於或等於當前切片之次劃分層級1136時(如從「cu_qp_delta_subdiv」所判定),新的量化群組從與該節點相對應的CTU區域開始並且步驟1530回傳「YES」。用以包括經編碼殘差之量化群組中的第一CU將也包括編碼差量QP,將對量化參數的任何變化發訊,該參數適用於該量化群組中的殘差係數。
在編碼差量QP步驟1540,熵編碼器338將差量QP編碼到位元流115中。差量QP將預測QP與用於當前量化群組中的目標QP之間的差值進行編碼。透過將相鄰較先(上與左)量化群組之QP取平均,導出預測QP。當次劃分層級較低時,量化群組較大且差量QP以較低頻率編碼。差量QP較低頻率之編碼會導致QP中發訊變化之開銷較低,但亦造成率控制之較低彈性。用於各量化群組之量化參數的選擇是由QP控制器模組390所執行,該模組典型上實作率控制演算法以針對位元流115設定特定位元率之目標,在某種程度上與基礎訊框資料113的統計數據中的變化無關。方法1500從步驟1540繼續,到執行主要變換步驟1550。
在執行主要變換步驟1550中,前向主要變換模組326根據編碼單元之主要變換類型來執行主要變換,結果導致主要變換係數328。當對當前TU之接續調用步驟1550時,對各顏色通道執行主要變換,首先對亮度通道(Y)接著對Cb和Cr TB執行。針對亮度通道,執行主要變換類型(DCT-2、變換跳過、或MTS選項),且針對色度通道,執行DCT-2。
方法1500從步驟1550繼續,到量化主要變換係數步驟1560。在步驟1560,量化器模組334根據量化參數392將主要變換係數328量化,以產生量化主要變換係數332。當存在差量QP時使用該差量QP來將變換係數328編碼。
方法1500從步驟1560繼續,到執行次要變換步驟1570。在步驟1570,次要變換模組330根據針對當前變換區塊的次要變換索引388來對量化主要變換係數332執行次要變換,以產生次要變換係數336。雖然次要變換是在量化之後被執行,但與量化參數392之最終目標量化器步驟大小相比,主要變換係數328將維持較高程度的精準度,例如量級可能比直接應用量化參數392產生的量級大16倍,亦即四個額外位元之精準度可以被維持。在量化主要變換係數332中保留額外位元的精準度允許次要變換模組330可以對主要係數域中的係數以更高的準確度進行操作。在應用次要變換後,在步驟1560之最終縮放(例如,右移四個位元)會導致量化會是量化參數392之期望量化器步驟尺寸。「縮放列表」之應用是對與已知的變換基礎函數(DCT-2,DCT-8,DST-7)相對應的主要變換係數執行的,而不是對次要變換係數進行操作,該次要變換係數是從經訓練次要變換核心所獲得的。當用於變換區塊之次要變換索引388指示沒有應用次要變換時(索引值等於零),次要變換被旁路。亦即,主要變換係數332在沒有變化情況下傳播經過次要變換模組330,以變成次要變換係數336。結合亮度框內預測模式,使用亮度次要變換索引以選擇出用於應用到亮度TB之次要變換核心。結合色度框內預測模式,使用色度次要變換索引以選擇出用於應用到色度TB之次要變換核心。
方法1500從步驟1570繼續,到編碼最終位置步驟1580。在步驟1580,熵編碼器338將針對當前變換區塊的次要變換係數336中最終顯著係數之位置編碼到位元流115中。在步驟1580之第一調用時,亮度TB被考慮,且在接續調用時考慮Cb並接著考慮Cr TB。
在次要變換索引388是緊接著在最終位置之後被編碼的配置中,方法1500繼續到編碼LFNST索引步驟1590。在步驟1590,如果根據在步驟1580處編碼的最終位置未將次要變換索引推斷為零,則透過使用截斷的一元碼字,熵編碼器338將次要變換索引338編碼到位元流115中成為「lfnst_index」。各CU具有一個亮度TB,允許可以對亮度區塊執行步驟1590,且當針對色度使用「聯合」編碼模式時,單一色度TB被編碼,且因此可對色度執行步驟1590。將各殘差係數解碼之前的次要變換索引之知識會賦能可以在逐係數的基礎上隨著係數被解碼而應用次要變換,例如透過使用乘法與累加邏輯。方法1500從步驟1590繼續,到編碼子區塊步驟15100。
若次要變換索引388沒有緊接著最終位置之後被編碼,則方法1500從步驟1580繼續到編碼子區塊步驟15100。在編碼子區塊步驟15100處,當前變換區塊(336)之殘差係數被編碼到位元流115中成為一序列之子區塊。從包含最終顯著係數位置的子區塊往回進展到包含DC殘差係數的子區塊,對殘差係數進行編碼。
方法1500從步驟15100繼續到最終TB測試步驟15110。在該步驟,處理器205測試當前變換塊是否為顏色通道(即Y,Cb和Cr)中進展中的最終區塊。若剛編碼的變換區塊是針對Cr TB(步驟15110之「YES」),則處理器205中的控制進展到編碼亮度LFNST索引步驟15120。否則,若當前TB不是最終者(步驟15110之「YES」),則處理器205中的控制返回到執行主要變換步驟1550,以及下個TB(Cb或Cr)被選擇。
與共享編碼樹結構的實例相關聯地描述步驟1550至15110,其中該共享編碼樹結構之預測模式是框內預測並且使用DCT-2。諸如執行主要變換(1550)、量化主要變換係數(1560)、以及編碼最終位置(1590)步驟之操作可針對框間預測模式實作或針對非針對使用已知方法的共享編碼樹結構之框內預測模式實作。無論預測模式或編碼樹結構為何,步驟1510至1540可以被實作。
方法1500從步驟15110繼續,到編碼亮度LFNST索引步驟15120。在步驟15120處,若沒有被推論成為零(無應用次要變換),則應用到亮度TB之次要變換索引被熵編碼器338編碼到位元流115中。若針對亮度TB之最終顯著位置指示一顯著唯主要之殘差係數或如果執行了DCT-2以外之主要變換,則亮度次要變換索引被推論為零。額外的,僅針對使用框內預測與共享編碼樹結構之編碼單元之情況下,應用到亮度TB之次要變換索引被編碼到位元流中。應用到亮度TB之次要變換索引是使用旗標1220來進行編碼(或使用旗標1230用於聯合CbCr模式)。
方法1500從步驟15120繼續,到編碼色度LFNST索引步驟15130。在步驟1530處,若色度次要變換索引沒有被推論成為零(無應用次要變換),則應用到色度TB之次要變換索引被熵編碼器338編碼到位元流115中。若任一色度TB之最終顯著位置指示一顯著唯主要之殘差係數,則色度次要變換索引被推論為零。在執行步驟15130後,方法1500終止,且處理器205中的控制返回到方法1300。僅針對使用框內預測與共享編碼樹結構之編碼單元之情況下,應用到色度TB之次要變換索引被編碼到位元流中。應用到色度TB之次要變換索引是使用旗標1221來進行編碼(或使用旗標1230用於聯合CbCr模式)。
圖16示出用於將訊框從位元流解碼成配置成切片中的編碼單元序列之方法1600。方法1600可由諸如組態的FPGA、ASIC或ASSP的設備來實現。額外地,方法1600可由視訊解碼器134在受處理器205執行下被執行。如此一來,方法1600可以被儲存在電腦可讀儲存媒體上及/或記憶體206中。
方法1600將透過使用方法1300將編碼之位元流加以解碼,其中各切片之分割約束與量化群組定義可有所不同,因為這對將位元流115之各部分(切片)進行編碼之率控制目的方面是有益的。不僅量化群組次劃分層級可對各切片不同,對於亮度與色度可獨立控制次要變換之應用。
方法1600從解碼SPS/PPS步驟1610開始。在執行步驟1610中,視訊解碼器134將SPS 1110與PPS 1112從位元流133中解碼成序列之固定與可變長度參數。partition_constraints_override_enabled_flag被解碼成SPS 1110之部分,在各別的切片(例如,1116)之切片標頭(例如,1118)中指示分割約束是否能夠被置換。預設(亦即,如發訊於SPS 1110中並在缺乏接續置換情況下用於切片中的)分割約束參數1130也被視訊解碼器134解碼成SPS 1110之部分。
方法1600從步驟1610繼續到判定切片邊界步驟1620。在執行步驟1620中,處理器205判定位元流133裡當前存取單元中切片之位置。一般而言,透過判定NAL單元邊界來識別出切片(透過偵測「起始碼」),以及針對各NAL單元,讀取包括「NAL單元類型」之NAL單元標頭。特定NAL單元類型識別出切片類型(諸如「I切片」、「P切片」、以及「B切片」)。在識別出切片邊界後,應用233可分佈方法1600之接續步驟的性能於不同處理器上(例如,在多處理器架構上),以用於並行解碼。在多處理器系統中,不同切片可由不同處理器解碼以追求較高解碼產量。
方法1600從步驟1610繼續,到解碼切片標頭步驟1630。在步驟1630,熵解碼器420從位元流133將切片標頭1118解碼出。一種從位元流133解碼出切片標頭1118之例示性方法(如步驟1630處實作者)將在下文中參照圖17而作進一步說明。
方法1600從步驟1630繼續到將切片劃分成CTU之步驟1640。在步驟1640處,視訊解碼器134將切片1116劃分成一序列之CTU。切片邊界對準CTU邊界且根據CTU掃描順序將切片中的CTU排序。一般而言可以光柵掃描順序將CTU掃描。切片到CTU之劃分界定在當前切片之解碼中,訊框資料113之何部分要被視訊解碼器134處理。
方法1600從步驟1640繼續到解碼編碼樹步驟1650。在執行步驟1650中,視訊解碼器133從位元流133解碼出針對切片中當前CTU的編碼樹,其在第一次調用步驟1650時從切片1116之第一CTU開始。CTU之編碼樹是透過根據圖6解碼拆分旗標來進行解碼。在針對CTU的步驟1650之接續迭代中,對切片1116中接續CTU執行解碼。若使用框內預測模式與共享編碼樹結構來將該編碼樹進行編碼,則編碼單元具有主要顏色通道(亮度或Y)以及至少一次要顏色通道(色度、Cb和Cr或CbCr)。在此情況下,將編碼樹解碼是與根據該編碼樹單元之拆分旗標,將包括該主要顏色通道與至少一次要顏色通道之編碼單元進行解碼相關。
方法1600從步驟1660繼續到解碼編碼單元步驟1670。在步驟1670,視訊解碼器134從位元流133將編碼單元解碼出。一種將編碼單元解碼之例示性方法(如在步驟1670實作者)將在下文中參照圖18進一步說明。
方法1600從步驟1610繼續到最終編碼單元測試步驟1680。在步驟1680,處理器205測試當前編碼單元是否為CTU中的最終編碼單元。若不是最終編碼單元(步驟1680之「NO」),則處理器205中的控制進展返回到解碼編碼單元步驟1670,以將編碼樹單元之下個編碼單元進行解碼。若當前編碼單元是最終編碼單元(步驟1680之「YES」),則處理器205中的控制進展到最終CTU測試步驟1690。
在最終CTU測試步驟1690,處理器205測試當前CTU是否為切片1116中的最終CTU。若不是切片中的最終CTU(步驟1690之「NO」),則處理器205中的控制進展返回到解碼編碼樹步驟1650,以將切片1116之下個編碼樹單元進行解碼。若當前CTU是針對切片1116之最終CTU(步驟1690之「YES」),則處理器205中的控制進展到最終切片測試步驟16100。
在最終切片測試步驟16100,處理器205測試正被解碼的當前切片是否為訊框中的最終切片。若不是訊框中的最終切片(步驟16100之「NO」),則處理器205中的控制進展返回到解碼切片標頭步驟1630,以及步驟1630操作以將訊框中下個切片(例如,圖11之「切片2」)之切片標頭進行解碼。若當前切片是訊框中的最終切片(步驟1600之「YES」),則方法1600終止。
針對複數個編碼單元的方法1600之操作是操作以產生影像訊框,如相關於圖1之裝置130進行說明。
圖17示出用於將切片標頭解碼到位元流中之方法1700,如在步驟1630中所實作者。方法1700可由諸如組態的FPGA、ASIC或ASSP的設備來實現。額外地,方法1700可由視訊解碼器134在受處理器205執行下被執行。如此一來,方法1700可以被儲存在電腦可讀儲存媒體上及/或記憶體206中。
與方法1500相似,針對訊框(例如,訊框1101)中的當前切片或連續部分(1116)執行方法1700。方法1700從分割約束置換賦能測試步驟1710開始。在步驟1710,處理器205測試分割約束置換賦能的旗標(partition constraints override enabled flag)(如從SPS 1110解碼出者)是否指示分割約束可以在切片層級被置換。若分割約束可以在切片層級被置換(步驟1710之「YES」),則處理器205中的控制進展到解碼分割約束置換旗標步驟1720。否則,若分割約束置換賦能的旗標指示約束不可以在切片層級被置換(步驟1710之「NO」),則處理器205中的控制進展到解碼其他參數步驟1770。
在解碼分割約束置換旗標步驟1720,熵解碼器420從位元流133將分割約束置換旗標解碼出。解碼的旗標指示如SPS 1110中所發訊的針對當前切片1116之分割約束是否要被置換。
方法1700從步驟1720繼續到分割約束置換測試步驟1730。在執行步驟1730,處理器205測試在步驟1720中解碼的旗標值。若解碼的旗標指示分割約束將被置換(步驟1730之「YES」),則處理器205中的控制進展到解碼切片分割約束步驟1740。否則,若解碼的旗標指示分割約束不會被置換(步驟1730之「NO」),則處理器205中的控制進展到解碼其他參數步驟1770。
在解碼切片分割約束步驟1740中,熵解碼器420從位元流133將針對該切片的判定分割約束解碼出。針對切片之分割約束包括「slice_max_mtt_hierarchy_depth_luma」,從其可導出MaxMttDepthY 1134。
方法1700從步驟1740繼續,到解碼QP次劃分層級步驟1750。在步驟1720,透過使用「cu_qp_delta_subdiv」語法元素,熵解碼器420將針對亮度CB之次劃分層級解碼,如參照圖11所述者。
方法1700從步驟1750繼續,到解碼色度QP次劃分層級步驟1760。在步驟1760,透過使用「cu_chroma_qp_offset_subdiv」語法元素,熵解碼器420將用於將CU色度QP偏移發訊之次劃分層級解碼,如參照圖11所述者。
步驟1750與1760操作以判定針對位元流之特定連續部分(切片)的次劃分層級。步驟1630與16100間的重複迭代操作以判定針對位元流中各連續部分(切片)的次劃分層級。如下文所述,各次劃分層級可應用到對應切片(連續部分)之編碼單元。
方法1700從步驟1760繼續,到解碼另一參數步驟1770。在步驟1770,熵解碼器420從切片標頭1118解碼出其他參數,諸如該等用於控制特定工具(如去區塊、適應性迴圈過濾器、從先前發訊之(針對對變換區塊之量化參數的不均勻應用)縮放列表的可選選擇)之必要參數。在執行步驟1770後,方法1700終止。
圖18示出用於將編碼單元從位元流解碼出之方法1800。方法1800可由諸如組態的FPGA、ASIC或ASSP的設備來實現。額外地,方法1800可由視訊編碼器134在受處理器205執行下被執行。如此一來,方法1800可以被儲存在電腦可讀儲存媒體上及/或記憶體206中。
針對當前CTU(例如,切片1116之CTU0)之當前編碼單元實作方法1800。方法1800從解碼預測模式步驟1810開始。在步驟1800,熵解碼器420從位元流133將編碼單元之預測模式(如在圖13之步驟1360所判定者)解碼出。「pred_mode」語法元素在步驟1810被解碼,以區別對編碼單元使用框內預測、框間預測或使用其他預測模式。
若針對編碼單元使用框內預測,則在步驟1810亦解碼出亮度框內預測模式與色度框內預測模式。若針對編碼單元使用框間預測,則「合併索引」也可以在步驟1810被解碼以從相鄰編碼單元判定運動向量,該運動向量由此編碼單元所用,運動向量差量可以被解碼以引入對從空間上相鄰區塊所導出的運動向量之偏移。主要變換類型也在步驟1810被解碼,用以在使用水平與垂直DCT-2、水平與垂直變換跳過、或水平與垂直DCT-8與DST-7之組合之間作選擇,以用於編碼單元之亮度TB。
方法1800從步驟1810繼續到經編碼殘差測試步驟1820。在執行步驟1820中,處理器205判定是否需要透過使用熵解碼器420將針對編碼單元之「根編碼的區塊旗標」進行解碼,來對編碼單元之殘差進行解碼。若針對編碼單元有任何的顯著殘差係數需要被解碼(步驟1820之「YES」),則處理器205中的控制進展到新的QG測試步驟1830。否則,若沒有顯著殘差係數要被解碼(步驟1820之「NO」),則方法1800終止,因為將編碼單元解碼所需的所有資訊已在位元流115中獲得。在方法1800被終止後,諸如PB產生、應用迴路內過濾等接續步驟被執行,以產生解碼的樣本,如參照圖4所述。
在該新的QG測試步驟1830,處理器205判定編碼單元是否對應新的量化群組。若編碼單元對應新的量化群組(步驟1830之「YES」),則處理器205中的控制進展到解碼差量QP步驟1840。否則,若編碼單元不對應新的量化群組(步驟1830之「NO」),則處理器205中的控制進展到解碼最終位置步驟1850。新的量化群組與當前模式或編碼單元之次劃分層級相關。在解碼各編碼單元過程中,遍歷CTU之編碼樹的節點。在當前節點之任意子節點所具備次劃分層級少於或等於當前切片之次劃分層級1136時(亦即,如從「cu_qp_delta_subdiv」所判定),新的量化群組從與該節點相對應的CTU區域開始。用以包括經編碼殘差係數之量化群組中的第一CU將也包括編碼差量QP,將對量化參數的任何變化發訊,該參數適用於該量化群組中的殘差係數。對於每個區域(量化群組),有效地解碼一個(最多一個)量化參數差量。如相關圖8A至8C所述,各區域(量化群組)是基於各切片之編碼樹單元的分解且基於對應次劃分層級(例如在步驟1460與1470編碼般)。換言之,各區域或量化群組是基於與該編碼單元相關聯的次劃分層級與針對該對應連續部分的判定次劃分層級之間的比較。
在解碼差量QP步驟1840,熵解碼器420將差量QP從位元流133中解碼出。差量QP將預測QP與用於當前量化群組中的目標QP之間的差值進行編碼。透過將相鄰(上與左)量化群組之QP取平均,導出預測QP。
方法1800從步驟1840繼續,到解碼最終位置步驟1850。在執行步驟1850中,熵解碼器420將針對當前變換區塊的次要變換係數424中最終顯著係數之位置從位元流133中解碼出。在步驟1850之第一調用時,該步驟是針對亮度TB所執行。在針對當前CU的步驟1850之接續調用中,該步驟是針對Cb TB所執行。若最終位置指示針對亮度區塊或色度區塊之次要變換係數集合外部的顯著係數(亦即,在928或966外部),則個別針對亮度或色度通道之次要變換索引被推論為零。該步驟是在針對Cb迭代之後針對Cr TB實作。
如相關於圖15之步驟1590所述,在若干配置中,次要變換索引緊接著在編碼單元之最終顯著係數位置之後被編碼。若基於在步驟1840所解碼出針對TB的最終位置的位置推論次要變換索引470不是零,則在解碼相同編碼單元中,次要變換索引470緊接著在編碼單元之最終顯著殘差係數的位置之解碼之後被解碼。在次要變換索引470是緊接著在編碼單元之最終顯著係數位置後被解碼的配置中,方法1800從步驟1850繼續到解碼LFNST索引步驟1860。在步驟1860之執行中,當所有顯著係數受次要反變換處理時(例如,在928或966內),透過使用截斷的一元碼字,熵解碼器420從位元流133將次要變換索引470解碼出並作為「lfnst_index」。當透過使用單一變換區塊的色度TB之聯合編碼被執行時,可針對亮度TB或針對色度將該次要變換索引470解碼。方法1800從步驟1860繼續到解碼子區塊步驟1870。
若次要變換索引470沒有緊接著編碼單元的最終顯著位置之後被解碼,則方法1800從步驟1850繼續到解碼子區塊步驟1870。在步驟1870,當前變換區塊(亦即,424)之殘差係數從位元流133被解碼成一序列之子區塊,從包含最終顯著係數位置的子區塊往回進展到包含DC殘差係數的子區塊。
方法1800從步驟1870繼續到最終TB測試步驟1880。在步驟1880之執行中,處理器205測試當前變換塊是否為顏色通道(即Y,Cb和Cr)中進展中的最終變換區塊。若剛解碼(當前)的變換區塊是針對Cr TB,則在處理器205中控制的所有TB已經被解碼(步驟1880之「YES」),則方法1800進展到解碼亮度LFNST索引步驟1890。否則,若TB尚未被解碼(步驟1880之「NO」),則處理器205中的控制返回到解碼最終位置步驟1850。下個TB(在Y、Cb、Cr之順序中)被選定,用於在步驟1850之迭代的解碼。
方法1800從步驟1880繼續,到解碼亮度LFNST索引步驟1890。在步驟1890之執行中,若亮度TB之最終位置是在受次要反變換處理的(例如,928或966)該集合之係數內且亮度TB使用水平與垂直DCT-2作為主要變換,則熵解碼器420從位元流133解碼出要被應用到亮度TB之次要變換索引470。若亮度TB之最終顯著位置指示在受次要反變換處理的該集合係數外(例如,928或966外部)存在顯著主要係數,則亮度次要變換索引被推論為零(無應用次要變換)。在步驟1890解碼之次要變換索引被指示成圖12之1220(或聯合CbCr模式中的1230)。
方法1800從步驟1890繼續,到解碼色度LFNST索引步驟1895。在步驟1895中,若各色度TB之最終位置是在受次要反變換處理的(例如,928或966)該集合之係數內,則熵解碼器420從位元流133解碼出要被應用到色度TB之次要變換索引470。若任一色度TB之最終顯著位置指示在受次要反變換處理的該集合係數外(例如,928或966外部)存在顯著主要係數,則該色度次要變換索引被推論為零(無應用次要變換)。在步驟1895解碼之次要變換索引被指示成圖12之1221(或聯合CbCr模式中的1230)。在解碼亮度與色度之不同索引中,針對各截斷的一元碼字之任一不同算數上下文可用,或該等上下文可以被共享以使得各亮度與色度截斷的一元碼字之第n個筐共享相同的上下文。
有效的,步驟1890與1895分別相關於將第一索引(諸如1220)解碼以選擇針對亮度(主要顏色)通道之核心,以及將第二索引(諸如1221)解碼以選擇用於至少一色度(次要顏色通道)之核心。
方法1800從步驟1895繼續,到執行反向次要變換步驟18100。在該步驟,反向次要變換模組436根據針對當前變換區塊的次要變換索引470來對被解碼的殘差變換係數424執行反向次要變換,以產生次要變換係數432。在步驟1890解碼之次要變換索引是應用於亮度TB,且在步驟1895解碼之次要變換索引是應用於色度TB。針對亮度與色度選擇之核心亦分別取決於亮度框內預測模式與色度框內預測模式(其各者在步驟1810被解碼出)。步驟18100根據針對亮度之LFNST索引選擇核心以及根據針對色度之LFNST索引選擇核心。
方法1800從步驟18100繼續,到反向量化主要變換係數步驟18110。在步驟18110,反向量化器模組428根據量化參數474將次要變換係數432反向量化,以產生反向量化主要變換係數440。若在步驟1840解碼差量QP,則熵解碼器420根據針對該量化群組(區域)的該差量QP判定量化參數,以及判定影像訊框中較先編碼單元之量化參數。如前述,較先編碼單元典型上與相鄰左上角的編碼單元相關。
方法1800從步驟1870繼續,到執行主要變換步驟18120。在步驟1820中,反向主要變換模組444根據編碼單元之主要變換類型來執行反向主要變換,結果導致該變換係數440被轉換成空間域之殘差樣本448。當對當前TU之接續調用步驟1650時,對各顏色通道執行反向主要變換,首先對亮度通道(Y),接著對Cb和Cr TB執行。步驟18100到18120有效的操作以透過將根據步驟1890處對亮度的LFNST索引所選的核心應用到亮度通道之解碼殘差係數,以及透過將根據步驟1890處對色度的LFNST索引所選的核心應用到至少一色度通道之解碼殘差係數,將當前編碼單元解碼。
在執行步驟18120後,方法1800終止,且處理器205中的控制返回到方法1600。
與共享編碼樹結構的實例相關聯地描述步驟1850至18120,其中該共享編碼樹結構之預測模式是框內預測且該變換是DCT-2。舉例而言,僅針對使用框內預測與共享編碼樹結構之編碼單元之情況下,應用到亮度TB之次要變換索引是從位元流中解碼出(1890)。相似的,僅針對使用框內預測與共享編碼樹結構之編碼單元之情況下,應用到色度TB之次要變換索引是從位元流中解碼出(1895)。諸如解碼子區塊(1870)、反向量化主要變換係數(18110)、以及執行主要變換等步驟之操作可針對框間預測模式實作或針對非針對使用已知方法的共享編碼樹結構之框內預測模式實作。不論預測模式或結構為何,以所述方法執行步驟1810至1840。
一旦方法1800終止,執行用於解碼編碼單元之接續步驟,包括由模組476產生框內預測樣本480,由模組450將解碼的殘差樣本448與預測區塊452加總,以及迴路內過濾器模組488之應用以產生過濾的樣本492,並輸出成訊框資料135。
圖19A與19B示出用於應用或旁路對亮度與色度通道進行次要變換之規則。圖19A示出表1900,其例示化在CU中亮度與色度通道中應用次要變換之條件,該CU是從共享編碼樹所得到。
若亮度TB之最終顯著係數位置指示一非源自前向次要變換之解碼的顯著係數且因此其不受反向次要變換處理,則條件1901存在。若亮度TB之最終顯著係數位置指示一源自前向次要變換之解碼的顯著係數且因此其受反向次要變換處理,則條件1902存在。額外地,針對亮度通道,主要變換類型需要是DCT-2以利條件1902存在,否則條件1901存在。
若一或二色度TB之最終顯著係數位置指示一非源自前向次要變換之解碼的顯著係數且因此其不受反向次要變換處理,則條件1910存在。若一或二色度TB之最終顯著係數位置指示一源自前向次要變換之解碼的顯著係數且因此其受反向次要變換處理,則條件1911存在。額外地,色度區塊之寬度與高度需要至少是四個樣本(例如,當使用4:2:0或4:2:2色度格式時,色度次取樣會造成具有兩個樣本之寬度或高度),條件1911才會存在。
若條件1901與1910存在,則次要變換索引不會被發訊(無論是獨立或聯合發訊),且次要變換索引不會被應用到亮度或色度,亦即1920。若條件1901與1911存在,則一次要變換索引被發訊以指示所選擇核心之應用或僅旁路亮度通道,亦即1921。若條件1902與1910存在,則一次要變換索引被發訊以指示所選擇核心之應用或僅旁路色度通道,亦即1922。若條件1911與1902存在,則具有獨立發訊的配置會發出兩個次要變換索引,一個用於亮度TB,且一個用於色度TB,即1923。當條件1902與1911存在時,具有單一發訊的次要變換索引的配置使用一個索引以控制對亮度與色度之選擇,雖然所選核心亦取決於亮度與色度框內預測模式(其可能有所不同)。對亮度或色度應用次要變換(亦即,1921與1922)之能力結果造成編碼效率增益。
圖19B示出在步驟1360對視訊編碼器114可用的搜尋選項之表1950。針對亮度(1952)與色度(1953)之次要變換索引被分別示出成1952與1953。索引值0指示次要變換被旁路,且索引值1與2指示針對從亮度或色度框內預測模式導出的候選集合的兩核心中何者核心被使用。存在九個組合(「0,0」至「2,2」)的結果搜尋空間,該搜尋空間可能受參考圖19A所述約束而約束。相較於搜尋所有可允許組合,三種組合之簡化搜尋(1951)可僅測試其中亮度與色度次要變換索引是相同之組合,其將針對通道之索引歸零,該通道之最終顯著係數位置指示僅存在主要係數。舉例而言,當條件1921存在時,選項「1,1」與「2,2」分別變成「0,1」與「0,2」(亦即,1954)。當條件1922存在時,選項「1,1」與「2,2」分別變成「1,0」與「2,0」(亦即,1955)。當條件1920存在時,無須發訊次要變換索引,且使用「0,0」。有效的,條件1921與1922允許共享樹CU中的選項「0,1」、「0,2」、「1,0」、「2,0」,結果導致造成較高壓縮效率。若此等選項被禁止,則條件1901或1910會導致條件1920,亦即選項「1,1」與「2,2」將會被禁止,導致使用「0,0」(請見1956)。
切片標頭中量化群組次劃分層級之發訊提供在畫面層級之下較高粒度之控制。較高粒度之控制有利於其中從影像一部分至另一部分之編碼保真度需求有所變化之應用,且特別有利其中多編碼器可能需要某種程度上獨立操作以提供即時處理容量之應用。切片標頭中量化群組次劃分層級之發訊亦與切片標頭中的發訊分割置換設定以及縮放列表應用設定一致。
在視訊編碼器114與視訊解碼器134之一配置中,色度框內預測區塊之次要變換索引總是設定成零,亦即,沒有對色度框內預測區塊應用次要變換。在此事件中,無將色度次要變換索引發訊之需求,且因此步驟15130與1895可以被省略且步驟1360、1570與18100可相應的簡化。
若共享樹中編碼樹裡的節點具有64個亮度樣本之區域,則以二元或四元樹拆分進行進一步拆分將造成較小的亮度CB,諸如4×4區塊但不會導致較小的色度CB。取而代之,存在具有對應於64個亮度樣本的區域之尺寸的單一色度CB(諸如,4×4色度CB)。相應的,具有128個亮度樣本區域且受三元拆分的編碼樹節點會導致造成較小亮度CB以及一個色度CB之集合。各亮度CB具有對應亮度次要變換索引,以及色度CB具有色度次要變換索引。
當編碼樹中節點具有64的區域且進一步拆分被發訊,或該節點具有128個亮度樣本的區域且三元拆分被發訊,則該拆分僅被應用於亮度通道中且所造成CB(些許亮度CB與各色度通道之一色度CB)不是全部框內預測就是全部框間預測。當CU具有四個亮度樣本之寬度或高度且各顏色通道(Y、Cb和Cr)包括一個CB時,則CU之色度CB具有兩個樣本之寬度或高度。具有兩個樣本之寬度或高度的CB不能使用16點或48點的LFNST核心操作,且因此不需要次要變換。針對具有兩個樣本之寬度或高度的區塊,步驟15130、1895、1360、1570、以及18100不需要被執行。
在視訊編碼器114與視訊解碼器134之另一配置中,當亮度與色度中任一者或兩者僅在各別僅受主要變換的TB之區中包含非顯著殘差係數時,發訊單一個次要變換索引。如果亮度TB在已解碼殘差的非次要變換區(例如1066、968)中包含顯著的殘差係數,或者指示不使用DCT-2作為主要變換,則指示的次要變換核心(或次要變換旁路) 僅應用於色度TB。如果任一色度TB在已解碼殘差的非次要變換區中包含顯著的殘差係數,則指示的次要變換核心(或次要變換旁路) 僅應用於亮度TB。即使對於色度TB來說是不可能,但次要變換的應用對於亮度TB變成可能的,且反之亦然,前提是要求CU之任意TB可受次要變換之前,所有TB之最終位置是在次要係數域內相比,編碼效率提高。額外地,針對共享編碼樹中的CU,只需要一個次要變換索引。當亮度主要變換是DCT-2時,次要變換可被推論是針對色度也針對亮度而去能的。
在視訊編碼器114與視訊解碼器134之另一配置中,只有對CU之亮度TB應用次要變換(分別透過模組330與436)且不對CU之任何色度TB應用次要變換。色度通道缺少次要轉換邏輯可降低複雜度,例如縮短執行時間或減少矽面積。色度通道缺乏次要變換邏輯可導致僅需要將一次要變換索引發訊,其可在亮度TB之最終位置後被發訊。亦即,針對亮度TB執行步驟1590與1860,而非步驟15120與1890。在此事件中,步驟15130與1895被省略。
在視訊編碼器114與視訊解碼器134之另一配置中,界定量化群組尺寸之語法元素(亦即,cu_chroma_qp_offset_subdiv與cu_qp_delta_subdiv)被發訊於PPS 1112中。即便切片標頭1118中分割約束被置換,針對次劃分層級之值的範圍是根據SPS 1110中發訊的分割約束所界定。舉例而言,cu_qp_delta_subdiv與cu_chroma_qp_offset_subdiv之範圍是在0到2* (log2_ctu_size_minus5 + 5 - (MinQtLog2SizeInterY or MinQtLog2SizeIntraY) + MaxMttDepthY_SPS之間。值MaxMttDepthY是從SPS 1110導出。亦即,當當前切片是I切片時,MaxMttDepthY被設定成等於sps_max_mtt_hierarchy_depth_intra_slice_luma;以及當前切片是P或B切片時,MaxMttDepthY被設定成等於sps_max_mtt_hierarchy_depth_inter_slice。針對具有的分割約束被置換成比SPS 1110中發訊的深度更淺之切片,若從PPS 1112判定之量化群組次劃分層級比從切片標頭判定之較淺編碼樹深度下最高可實現次劃分層級還更高(更深),則針對該切片之量化群組次劃分層級被裁剪成等於針對該切片之最高可實現次劃分層級。舉例而言,針對特定切片,cu_qp_delta_subdiv與cu_chroma_qp_offset_subdiv被裁剪到在0到2* (log2_ctu_size_minus5 + 5 - (MinQtLog2SizeInterY or MinQtLog2SizeIntraY) + MaxMttDepthY_slice_header)之間,且該裁剪值被用於該切片。數值MaxMttDepthY_slice_header是從切片標頭1118導出,亦即MaxMttDepthY_slice_header被設定成等於slice_max_mtt_hierarchy_depth_luma。
在視訊編碼器114與視訊解碼器134之又另一配置中,從自PPS 1112解碼出的 cu_chroma_qp_offset_subdiv與cu_qp_delta_subdiv判定次劃分層級,以導出亮度與色度次劃分層級。當從切片標頭1118解碼出的分割約束結果導致針對該切片之不同範圍的次劃分層級時,應用到該切片之次劃分層級被調整以相對於根據從SPS 1110解碼出分割約束的最深允許的次劃分層級,維持相同的偏移。舉例而言,若SPS 1110指示為4之最大次劃分層級,PPS1112指示為3之次劃分層級,以及切片標頭1118將最大值降低到3,則應用於切片內之次劃分層級被設定成2(維持相對於最大允許次劃分層級為1之偏移)。將量化群組區域調整以對應針對特定切片之分割約束中的改變允許可以較低的頻率發訊次劃分層級(亦即,在PPS層級),同時提供對切片層級分割約束變化適應之粒度。在次劃分層級被發訊於PPS 1112中的配置中,透過使用根據從SPS 1110所解碼出的分割約束進而界定之範圍,其中之後可能的調整是基於從切片標頭1118解碼出的置換分割約束,避免了具有PPS語法元素之剖析依賴性問題(該PPS語法元素取決於切片標頭1118中之最終的分割約束)。 業界應用
所述配置可應用到電腦與資料處理業界,且更明確用於將解碼訊號進行編碼的數位訊號(諸如視訊與影像訊號)處理,以達到高壓縮效率。
本文所述之配置增加了在從輸入視訊資料產生高度壓縮的位元流時視訊編碼器可被提供的靈活性。可以在不同粒度控制訊框中不同區或次畫面之量化,以及逐區之粒度可不同,以降低經編碼殘差資料之量。可相應視需求實作較高的粒度,例如針對上述360度影像。
在若干配置中,如相關於步驟15120與15130(且對應步驟1890與1895)所述,次要變換之應用可針對亮度與色度獨立控制,達成經編碼殘差資料之進一度降低。所描述視訊解碼器具有用以將由此等視訊編碼器所產生的位元流予以解碼之必要功能。
前文僅述本發明之若干實施例,且可對其作出調整及/或改變而不會背離本發明之精神與範疇,以及實施例為說明性而非限制性。
100:視訊編碼與解碼系統 110:來源裝置 112:視訊來源 113:視訊訊框資料 114:視訊編碼器 115:位元流 116:傳輸器 120:通訊通道 122:非暫態儲存裝置 130:目的地裝置 132:接收器 133:位元流 134:視訊解碼器 135:訊框資料 136:顯示器裝置 200:電腦系統 201:電腦模組 202:鍵盤 203:滑鼠指標裝置 204:互連匯流排 205:處理器 206:記憶體 207:音訊視訊介面 208:I/O介面 209:儲存裝置 210:硬碟驅動器 211:區域網路介面 212:光碟驅動器 213:I/O介面 214:顯示器裝置 215:印表機 216:調變器-解調器(數據機)收發器裝置 217:擴音器 218:連接 219:連接 220:網路 221:連接 222:網路 223:連接 224:連接 225:光學可讀碟片儲存媒體 226:掃描器 227:攝影機 228:記憶體位置 229:記憶體位置 230:記憶體位置 231:指令 232:記憶體位置 233:程式 234:記憶體 235:記憶體位置 236:記憶體位置 237:記憶體位置 239:控制單元 240:算數邏輯單元(ALU) 241:匯流排 242:介面 244:暫存器 245:暫存器 246:暫存器 248:記憶體 249:ROM 250:POST程式 251:基本輸入輸出系統軟體(BIOS)模組 252:自舉載入器程式 253:作業系統 254:輸入變數 255:記憶體位置 256:記憶體位置 257:記憶體位置 258:中間變數 259:記憶體位置 260:記憶體位置 261:輸出變數 262:記憶體位置 263:記憶體位置 264:記憶體位置 266:記憶體位置 267:記憶體位置 280:麥克風 310:區塊分割器 312:編碼區塊(CB) 320:預測區塊(PB) 322:減法器 324:差 326:前向主要變換模組 328:主要變換係數 330:前向次要變換模組 332:主要變換係數 334:量化器模組 336:殘差係數 338:熵編碼器 340:反量化器模組 342:箭頭 344:反向次要變換模組 346:反變換係數 348:反向主要變換模組 350:殘差樣本 352:加總模組 354:樣本 356:參考樣本快取 358:迴路內過濾器模組 360:參考樣本過濾器 362:參考樣本 364:框內訊框預測模組 366:樣本 368:迴路內過濾器模組 370:樣本 372:訊框緩衝器 374:箭頭 376:運動估計模組 378:運動向量 380:運動補償模組 382:預測區塊 384:多工器模組 386:模式選擇器 387:預測模式 388:次要變換索引 390:QP控制器模組 392:量化參數 420:熵解碼器 424:次要變換係數 428:反向量化器模組 432:次要變換係數 434:運動補償模組 436:反向次要變換模組 438:樣本 440:主要變換係數 444:反向主要變換模組 448:殘差樣本 450:加總模組 452:預測區塊(PB) 456:樣本 458:框內預測模式參數 460:樣本快取 464:參考樣本 468:參考樣本過濾器 470:次要變換索引 472:參考樣本 474:量化參數 476:框內訊框預測模組 480:樣本 484:多工器模組 488:迴路內過濾模組 492:區塊資料 496:訊框緩衝器 498:樣本 500:集合 510:葉節點 512:四元樹拆分 514:水平二元拆分 516:垂直二元拆分 518:三元水平拆分 520:三元垂直拆分 600:資料流 610:四元樹(QT)拆分決策 612:MT拆分決策 614:方向決策 616:決策 618:決策 620:節點 622:節點 625:步驟 626:步驟 627:步驟 628:步驟 700:劃分 710:編碼樹單元(CTU) 712:編碼樹單元(CTU) 714:節點 716:節點 718:節點 720:編碼樹 726:四元樹(QT) 800:集合 810:四元樹拆分 812:二元樹拆分 814:三元樹拆分 820:上代節點 821:子節點 822:子節點 823:子節點 824:旗標 840:集合 860:劃分 862:編碼樹單元(CTU) 864:差量量化參數(QP) 866:差量量化參數(QP) 868:箭頭 870:編碼單元(CU)0 872:右半部 874:區段 876:區段 877:上區段 878:下區段 900:變換區塊(TB) 910:對角線掃描模式 920:集合 924:子區塊 926:次要變換區塊 928:次要變換係數 930:區域 940:變換區塊(TB) 950:對角線掃描模式 960:集合 962:區域 964:主要係數 966:次要變換係數 968:係數位置 1000:集合 1010:變換區塊(TB) 1012:變換區塊(TB) 1014:變換區塊(TB) 1016:變換區塊(TB) 1020:變換區塊(TB) 1022:變換區塊(TB) 1024:變換區塊(TB) 1026:變換區塊(TB) 1030:變換區塊(TB) 1032:變換區塊(TB) 1034:變換區塊(TB) 1036:變換區塊(TB) 1040:變換區塊(TB) 1042:變換區塊(TB) 1044:變換區塊(TB) 1046:變換區塊(TB) 1050:次要變換 1052:次要變換 1060:次要變換 1066:係數 1100:語法結構 1101:位元流 1108:NAL單元標頭 1110:序列參數集 1112:畫面參數集 1114:存取單元(AU)0 1116:切片1 1118:切片標頭 1120:切片資料 1130:參數 1134:最大MTT深度 1136:次劃分層級 1200:語法結構 1210:編碼樹單元 1214:編碼單元 1216a:預測模式 1216b:變換樹 1218:變換單元 1220:亮度次要變換類型 1221:色度次要變換類型 1222:Y 1224:Cb 1226:Cr 1228:最終位置 1230:索引 1232:殘差係數 1300:方法 1310:步驟 1320:步驟 1330:步驟 1340:步驟 1350:步驟 1360:步驟 1370:步驟 1380:步驟 1390:步驟 13100:步驟 1400:方法 1410:步驟 1420:步驟 1430:步驟 1440:步驟 1450:步驟 1460:步驟 1470:步驟 1480:步驟 1500:方法 1510:步驟 1520:步驟 1530:步驟 1540:步驟 1550:步驟 1560:步驟 1570:步驟 1580:步驟 1590:步驟 15100:步驟 15110:步驟 15120:步驟 15130:步驟 1600:方法 1610:步驟 1620:步驟 1630:步驟 1640:步驟 1650:步驟 1670:步驟 1680:步驟 1690:步驟 16100:步驟 1700:方法 1710:步驟 1720:步驟 1730:步驟 1740:步驟 1750:步驟 1760:步驟 1770:步驟 1800:方法 1810:步驟 1820:步驟 1830:步驟 1840:步驟 1850:步驟 1860:步驟 1870:步驟 1880:步驟 1890:步驟 1895:步驟 18100:步驟 18110:步驟 18120:步驟 1900:表 1901:條件 1902:條件 1910:條件 1911:條件 1920:決策 1921:決策 1922:決策 1923:決策 1950:表 1951:三種組合之搜尋 1952:亮度 1953:色度 1954:箭頭 1955:箭頭 1956:箭頭
現在將參照隨附圖式與附錄說明本發明之至少一實施例,其中:
[圖1]是示出視訊編碼與解碼系統之示意性方塊圖;
[圖2A與2B]形成其上實作圖1視訊編碼與解碼系統之一或兩者的通用電腦系統之示意性方塊圖;
[圖3]是示出視訊編碼器的功能模組之示意性方塊圖;
[圖4]是示出視訊解碼器的功能模組之示意性方塊圖;
[圖5]是示出在多功能視訊編碼之樹結構中將一區塊劃分成一或多區塊的可用方式之示意性方塊圖;
[圖6]是示出在多功能視訊編碼之樹結構中達成允許的將一區塊劃分成一或多區塊之資料流的示意描繪;
[圖7A與7B]示出將編碼樹單元(CTU)劃分成多個編碼單元(CU)的例示性劃分;
[圖8A、8B與8C]示出由編碼樹中的拆分所造成的次劃分(subdivision)層級及其對將編碼樹單元劃分成量化組的影響;
[圖9A與9B]示出4X4變換區塊掃描圖案以及相關聯主要與次要變換係數;
[圖9C與9D]示出8X8變換區塊掃描圖案以及相關聯主要與次要變換係數;
[圖10]示出應用次要變換之區,用於變換各種尺寸之區塊;
[圖11]示出針對具有多切片之位元流的語法結構,其各包括多個編碼單元;
[圖12]示出針對具有用於編碼樹單元的亮度與色度編碼區塊的共享樹之位元流的語法結構;
[圖13]示出用於將訊框編碼到位元流中之方法,其包括將一或多切片編碼成編碼單元序列;
[圖14]示出用於將切片標頭編碼到位元流中之方法;
[圖15]示出用於將編碼單元編碼到位元流中之方法;
[圖16]示出用於將訊框從位元流解碼成配置成切片中的編碼單元序列之方法;
[圖17]示出用於將切片標頭從位元流解碼出之方法;
[圖18]示出用於將編碼單元從位元流解碼出之方法;以及
[圖19A與19B]示出用於應用或旁路對亮度與色度通道進行次要變換之規則。
1600:方法

Claims (13)

  1. 一種從位元流解碼複數個編碼單元以產生影像訊框之方法,該編碼單元是編碼樹單元之分解的結果,該複數個編碼單元形成位元流之一或多連續部分,該方法包含: 判定針對該位元流之一或多連續部分中各者的次劃分層級,各次劃分層級可應用到該位元流之該各別的連續部分之該編碼單元; 對多個區域中的各者的量化參數差量進行解碼,各區域基於自編碼樹單元的分解到該位元流的各連續部分的編碼單元以及該對應判定的次劃分層級; 根據針對該區域之該解碼的差量量化參數與該影像訊框的較先(earlier)編碼單元之該量化參數,判定針對各區域之量化參數; 使用各區域之該判定的量化參數將該複數個編碼單元解碼,以產生該影像訊框。
  2. 如請求項1所述之方法,其中各區域是基於與該編碼單元相關聯的次劃分層級與針對該對應連續部分的判定次劃分層級之間的比較。
  3. 如請求項1所述之方法,其中針對各區域所判定之量化參數差量是對應編碼樹,該對應編碼樹之次劃分層級小於或等於針對該對應連續部分的該判定次劃分層級。
  4. 如請求項1所述之方法,其中針對該編碼樹單元中的任何節點設定新區域,該編碼樹單元之次劃分層級小於或等於該對應判定次劃分層級。
  5. 如請求項1所述之方法,其中針對各連續部分所判定之該次劃分層級包含針對該連續部分的亮度編碼單元之第一次劃分層級以及針對色度編碼單元之第二次劃分層級。
  6. 如請求項5所述之方法,其中該第一次劃分層級與該第二次劃分層級不同。
  7. 如請求項1所述之方法,更包含將指示與該位元流相關聯的一序列參數集的分割約束可以被複寫之旗標予以解碼。
  8. 如請求項7所述之方法,其中針對該一或多連續部分中各者所判定之次劃分層級包括針對該區域之最大亮度編碼單元深度。
  9. 如請求項7所述之方法,其中針對該一或多連續部分中各者所判定之次劃分層級包括針對該對應區域之最大色度編碼單元深度。
  10. 如請求項1所述之方法,其中將針對該連續部分中一者所判定之次劃分層級調整,以維持相對於針對該位元流的分割約束進行解碼的最深允許次劃分層級之偏移。
  11. 一種非暫態電腦可讀媒體,其上儲存有電腦程式,以實作從位元流解碼複數個編碼單元以產生影像訊框之方法,該編碼單元是編碼樹單元之分解的結果,該複數個編碼單元形成位元流之一或多連續部分,該方法包含: 判定針對該位元流之一或多連續部分中各者的次劃分層級,各次劃分層級可應用到該位元流之該各別的連續部分之該編碼單元; 對多個區域中的各者的量化參數差量進行解碼,各區域基於自編碼樹單元的分解到該位元流的各連續部分的編碼單元以及該對應判定的次劃分層級; 根據針對該區域之該解碼的差量量化參數與該影像訊框的較先(earlier)編碼單元之該量化參數,判定針對各區域之量化參數;以及 使用各區域之該判定的量化參數將該複數個編碼單元解碼,以產生該影像訊框。
  12. 一種視訊解碼器,其經組態以實作從位元流解碼複數個編碼單元以產生影像訊框之方法,該編碼單元是編碼樹單元之分解的結果,該複數個編碼單元形成位元流之一或多連續部分,該方法包含: 判定針對該位元流之一或多連續部分中各者的次劃分層級,各次劃分層級可應用到該位元流之該各別的連續部分之該編碼單元; 對多個區域中的各者的量化參數差量進行解碼,各區域基於自編碼樹單元的分解到該位元流的各連續部分的編碼單元以及該對應判定的次劃分層級; 根據針對該區域之該解碼的差量量化參數與該影像訊框的較先(earlier)編碼單元之該量化參數,判定針對各區域之量化參數;以及 使用各區域之該判定的量化參數將該複數個編碼單元解碼,以產生該影像訊框。
  13. 一種系統,其包含: 記憶體;及 處理器,其中該處理器經組態以執行儲存在該記憶體上之碼,用於實作一種從位元流解碼複數個編碼單元以產生影像訊框之方法,該編碼單元是編碼樹單元之分解的結果,該複數個編碼單元形成位元流之一或多連續部分,該方法包含: 判定針對該位元流之一或多連續部分中各者的次劃分層級,各次劃分層級可應用到該位元流之該各別的連續部分之該編碼單元; 對多個區域中的各者的量化參數差量進行解碼,各區域基於自編碼樹單元的分解到該位元流的各連續部分的編碼單元以及該對應判定的次劃分層級; 根據針對該區域之該解碼的差量量化參數與該影像訊框的較先(earlier)編碼單元之該量化參數,判定針對各區域之量化參數;以及 使用各區域之該判定的量化參數將該複數個編碼單元解碼,以產生該影像訊框。
TW109128776A 2019-09-17 2020-08-24 用於編碼與解碼視訊樣本區塊的方法、設備以及系統 TWI796589B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AU2019232797 2019-09-17
AU2019232797A AU2019232797A1 (en) 2019-09-17 2019-09-17 Method, apparatus and system for encoding and decoding a block of video samples

Publications (2)

Publication Number Publication Date
TW202114413A true TW202114413A (zh) 2021-04-01
TWI796589B TWI796589B (zh) 2023-03-21

Family

ID=74882922

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109128776A TWI796589B (zh) 2019-09-17 2020-08-24 用於編碼與解碼視訊樣本區塊的方法、設備以及系統

Country Status (9)

Country Link
US (1) US20240073431A1 (zh)
EP (1) EP4032277A4 (zh)
JP (2) JP7341254B2 (zh)
KR (1) KR20220041940A (zh)
CN (1) CN114365491A (zh)
AU (2) AU2019232797A1 (zh)
BR (1) BR112022001469A2 (zh)
TW (1) TWI796589B (zh)
WO (1) WO2021051156A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230083773A1 (en) * 2021-08-30 2023-03-16 Tencent America LLC Method and Apparatus for Secondary Transform with Adaptive Kernel Options
CN116405694A (zh) * 2022-03-18 2023-07-07 杭州海康威视数字技术股份有限公司 一种编码、解码方法、装置及其设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9294766B2 (en) * 2013-09-09 2016-03-22 Apple Inc. Chroma quantization in video coding
US10448056B2 (en) * 2016-07-15 2019-10-15 Qualcomm Incorporated Signaling of quantization information in non-quadtree-only partitioned video coding
US10904529B2 (en) * 2018-01-19 2021-01-26 Qualcomm Incorporated Quantization group for video coding
WO2019151257A1 (en) * 2018-01-30 2019-08-08 Sharp Kabushiki Kaisha Systems and methods for deriving quantization parameters for video blocks in video coding
CN112740689B (zh) * 2018-09-18 2024-04-12 华为技术有限公司 视频编码器、视频解码器及对应方法
JP2021034966A (ja) * 2019-08-28 2021-03-01 シャープ株式会社 動画像符号化装置、動画像復号装置

Also Published As

Publication number Publication date
EP4032277A4 (en) 2023-10-11
WO2021051156A1 (en) 2021-03-25
AU2019232797A1 (en) 2021-04-01
TWI796589B (zh) 2023-03-21
KR20220041940A (ko) 2022-04-01
BR112022001469A2 (pt) 2022-03-22
JP2023159400A (ja) 2023-10-31
CN114365491A (zh) 2022-04-15
JP2022548448A (ja) 2022-11-21
AU2022203416A1 (en) 2022-06-09
JP7341254B2 (ja) 2023-09-08
EP4032277A1 (en) 2022-07-27
US20240073431A1 (en) 2024-02-29
AU2022203416B2 (en) 2024-03-14

Similar Documents

Publication Publication Date Title
TWI821610B (zh) 用於將編碼樹單元編碼與解碼的方法、設備及系統
TWI784345B (zh) 用於將編碼樹單元編碼與解碼的方法、設備及系統
AU2022203416B2 (en) Method, apparatus and system for encoding and decoding a block of video samples
AU2022204353A1 (en) Method, apparatus and system for encoding and decoding a block of video samples
TW202034704A (zh) 用以編碼和解碼視頻樣本之區塊樹的方法、設備及系統
TW202101981A (zh) 用以編碼和解碼視頻樣本之區塊樹的方法、設備及系統
TWI836211B (zh) 用於編碼與解碼視訊樣本區塊的方法、設備及系統
AU2022271385B2 (en) Method, apparatus and system for encoding and decoding a block of video samples
JP2024046650A (ja) ビデオサンプルのブロックを符号化並びに復号するための方法、装置、及びシステム