TWI720470B - 用於視訊編解碼中的獨立編碼樹的語法交錯方法和裝置 - Google Patents
用於視訊編解碼中的獨立編碼樹的語法交錯方法和裝置 Download PDFInfo
- Publication number
- TWI720470B TWI720470B TW108115050A TW108115050A TWI720470B TW I720470 B TWI720470 B TW I720470B TW 108115050 A TW108115050 A TW 108115050A TW 108115050 A TW108115050 A TW 108115050A TW I720470 B TWI720470 B TW I720470B
- Authority
- TW
- Taiwan
- Prior art keywords
- data unit
- coding
- block
- chrominance
- luminance
- Prior art date
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本發明一方面提供了一種用於視訊編碼和解碼中的塊分割的方法和裝置。 依據一種方法,使用推斷的分割將當前資料單元分割為初始塊,而不使用分割語法傳信。初始塊包括複數個初始亮度塊和複數個初始色度塊,並且初始亮度塊的尺寸是MxN,M和N是正整數,並且當前資料單元大於MxN以用於亮度分量。確定分割結構,用於將每個初始亮度塊和每個初始色度塊分別分成一個或複數個亮度編碼單元和一個或複數個色度CU。與當前資料單元中的一個初始塊相關聯的亮度語法和色度語法被發送或被解析,然後與當前資料單元中的一個下一個初始塊相關聯的亮度語法和色度語法被發送或被解析。
Description
本發明係有關於視訊編碼中的塊分割和語法傳信(signalling)。特别地,本發明係有關於交錯的亮度和色度語法傳信以及用於決定對亮度和色度塊應用共享編碼樹或獨立的編碼樹的各種推導。
高效視訊編碼(High Efficiency Video Coding,HEVC)標準是在ITU-T視訊編碼專家組(VCEG)和ISO/IEC運動圖像專家組(MPEG)標準化組織的聯合視訊項目下開發的,尤其是與視訊編碼聯合協作組(JCT-VC)合作而開發的。在HEVC中,一個片被分割為複數個編碼樹單元(multiple coding tree units,CTU)。在主配置文件中,CTU的最小和最大尺寸由序列參數集(SPS)中的語法元素指定。允許的CTU尺寸可以是8x8,16x16,32x32或64x64。對於每個切片,依據光柵掃描順序處理切片內的CTU。
CTU被進一步分割為複數個編碼單元(CU)以適應各種局部特性。表示為編碼樹的四叉樹用於將CTU分割為複數個CU。令CTU尺寸為MxM,其中M是64,32或16的值中的一個。CTU可以是單個CU(即,沒有分割)或者可以分成四個相同尺寸的較小單元(即,每個為M/2xM/2),其對應於編碼樹的節點。如果單元是編碼樹的葉節點,則單元變為CU。否則,可以迭代四叉樹
分割過程,直到節點的尺寸達到序列參數集(Sequence Parameter Set,SPS)中指定的最小允許CU尺寸。表示法產生由第1圖中的編碼樹(也稱為分割樹結構)120指定的遞歸結構。第1圖中示出了CTU分割110,其中實線指示CU邊界。使用畫面間(時間)或畫面內(空間)預測來編碼圖像區域的決定是在CU級別進行的。由於最小CU尺寸可以是8x8,因此用於在不同基本預測類型之間切換的最小粒度是8x8。
此外,依據HEVC,可以將每個CU分割為一個或複數個預測單元(prediction units,PU)。與CU耦合,PU用作共享預測訊息的基本代表塊。在每個PU內部,應用相同的預測過程,並且基於PU將相關訊息發送到解碼器。可以依據PU分割類型,將CU分成一個,兩個或四個PU。如第2圖所示,HEVC定義了用於將CU分成PU的八種形狀,包括2Nx2N,2NxN,Nx2N,NxN,2NxnU,2NxnD,nLx2N和nRx2N分割類型。與CU不同,PU可以僅依據HEVC分割一次。第二行中所示的分割對應於不對稱分割,其中兩個分割部分具有不同的尺寸。
在透過基於PU分割類型的預測過程獲得殘差塊之後,可以依據另一種四叉樹結構將CU的預測殘差分割為變換單元(TU)。如第1圖所示,該四叉樹結構類似於CU的編碼樹。實線表示CU邊界,虛線表示TU邊界。TU是具有用於應用整數變換和量化的殘差或變換係數的基本代表性塊。對於每個TU,應用具有與TU相同尺寸的一個整數變換以獲得殘差係數。在以TU為基礎量化之後,將這些係數發送到解碼器。
術語編碼樹塊(terms coding tree block,CTB),編碼塊(coding block,CB),預測塊(prediction block,PB)和變換塊(transform block,TB)被定義為指定與CTU,CU,PU和TU分別相關聯的一個顏色分量的2-D樣本陣列。因此,CTU由一個亮度CTB,兩個色度CTB和相關的語法元素組成。類似的關係對
CU,PU和TU有效。樹分割通常同時應用於亮度和色度,但是當達到色度的某些最小尺寸時,存在例外情況。
或者,在JCTVC-P1005(D.Flynn,et al,“HEVC Range Extensions Draft 6”,Joint Collaborative Team on Video Coding(JCT-VC)of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,16th Meeting:San Jose,US,9-17 January 2014,Document:JCTVC-P1005)中提出二叉樹塊分割結構。所提出的二叉樹分割結構中,可以使用如第3圖所示的各種二進制分割類型,將塊遞歸地分割成兩個較小的塊。最有效和最簡單的是如第3圖中前兩個分割所示的對稱的水平和垂直分割。對於尺寸為M×N的給定塊,一個標誌被發送以指示給定塊是否被分成兩個較小的塊。如果是,則另一語法元素被發送以指示使用哪種分割類型。如果使用水平分割,則將給定塊分成兩個尺寸為M×N/2的塊。如果使用垂直分割,則將給定塊分成兩個尺寸為M/2×N的塊。可以迭代二叉樹分割過程,直到分割塊的尺寸(寬度或高度)達到最小允許塊尺寸(寬度或高度)。可以在諸如SPS的高級語法中定義最小允許塊尺寸。由於二叉樹具有兩種分割類型(即水平和垂直),因此應指示最小允許塊寬度和塊高度。當分割將導致塊高度小於指示的最小值時,隱含地暗示非水平分割。當分割將導致塊寬度小於指示的最小值時,隱含地暗示非垂直分割。第4圖示出了塊分割410及其對應的二叉樹420的示例。在二叉樹的每個分割節點(即,非葉節點)中,使用一個標誌來指示使用哪種分割類型(水平或垂直),其中0表示水平分割,1表示垂直分割。
二叉樹結構可用於將圖像區域分割為複數個較小的塊,諸如將切片分割為CTU,將CTU分割為CU,將CU分割為PU,或將CU分割為TU,等等。二叉樹可以用於將CTU分割為CU,其中二叉樹的根節點是CTU,二叉樹的葉節點是CU。可以透過預測和變換編碼來進一步處理葉節點。為了簡化,
不存在從CU到PU或從CU到TU的進一步分割,這意味著CU等於PU並且PU等於TU。因此,換句話說,二叉樹的葉節點是用於預測和變換編碼的基本單元。
QTBT結構
二叉樹結構比四叉樹結構更靈活,因為可以支持更多的分割形狀,這也是編碼效率改進的來源。但是,編碼複雜度也會增加,以便選擇最佳的分割形狀。為了平衡複雜性和編碼效率,已經公開了一種組合四叉樹和二叉樹結構的方法,也稱為四叉樹加二叉樹(quadtree plus binary tree,QTBT)結構。依據QTBT結構,CTU(或I切片的CTB)是四叉樹的根節點,CTU首先由四叉樹分割,其中一個節點的四叉樹分割可以迭代,直到節點達到允許的最小四叉樹葉節點尺寸(即MinQTSize)為止。如果四叉樹葉節點尺寸不大於最大允許二叉樹根節點尺寸(即,MaxBTSize),則可以透過二叉樹進一步對其進行分割。可以迭代一個節點的二叉樹分割,直到節點達到最小允許二叉樹葉節點尺寸(即,MinBTSize)或最大允許二叉樹深度(即,MaxBTDepth)。二叉樹葉節點,即CU(或用於I切片的CB)將用於預測(例如,畫面內圖像或畫面間圖像預測)並且在沒有任何進一步分割的情況下進行變換。二叉樹分割中有兩種分割類型:對稱水平分割和對稱垂直分割。在QTBT結構中,允許的最小四叉樹葉節點尺寸,允許的最大二叉樹根節點尺寸,允許的最小二叉樹葉節點寬度和高度以及允許的最大二叉樹深度可以在高級語法中指示,例如在SPS中。第5圖示出了塊分割510及其對應的QTBT 520的示例。實線表示四叉樹分割,虛線表示二叉樹分割。在二叉樹的每個分割節點(即,非葉節點)中,一個標誌指示使用哪種分割類型(水平或垂直),0可以指示水平分割,1可以指示垂直分割。
上述QTBT結構可用於將圖像區域(例如,切片,CTU或CU)
分割為複數個較小的塊,例如將切片分割為CTU,將CTU分割為CU,將CU分割為PU,或將CU分割為TU等。例如,QTBT可以用於將CTU分割為CU,其中QTBT的根節點是CTU,其透過QTBT結構分割為複數個CU,並且CU透過預測和變換編解碼進一步處理。為了簡化,不存在從CU到PU或從CU到TU的進一步分割。這意味著CU等於PU並且PU等於TU。因此,換句話說,QTBT結構的葉節點是用於預測和變換的基本單元。
QTBT結構的示例如下所示。對於尺寸為128x128的CTU,允許的最小四叉樹葉節點尺寸設置為16x16,允許的最大二叉樹根節點尺寸設置為64x64,允許的最小二叉樹葉節點寬度和高度都設置為4,並且最大允許二叉樹深度設置為4。首先,CTU由四叉樹結構分割,葉四叉樹單元可以具有從16x16(即,允許的最小四叉樹葉節點尺寸)到128x128(等於CTU尺寸,即,沒有分割)。如果葉四叉樹單元是128x128,則由於尺寸超過允許的最大二叉樹根節點尺寸64x64,因此無法透過二叉樹進一步拆分。否則,葉四叉樹單元可以透過二叉樹進一步分割。葉四叉樹單元也是根二叉樹單元,其二叉樹深度為0。當二叉樹深度達到4(即,如所指示的最大允許二叉樹)時,隱含地暗示不分割。當相應二叉樹節點的塊的寬度等於4時,隱含地暗示非水平分割。當相應二叉樹節點的塊的高度等於4時,隱含地暗示非垂直分割。透過預測(畫面內圖像或畫面間圖像)和變換編碼進一步處理QTBT的葉節點。
對於I切片,QTBT樹結構通常應用亮度/色度分離編碼。例如,QTBT樹結構分別應用於I切片的亮度和色度分量,並且同時應用於P切片和B切片的亮度和色度(除非達到色度的某些最小尺寸)。換句話說,在I切片中,亮度CTB具有QTBT結構的塊分割,並且兩個色度CTB具有另一個QTBT結構的塊分割。在另一示例中,兩個色度CTB還可以具有它們自己的QTBT結構塊分割。
雙邊模板MV細化(也稱為DMVR)
在一些文獻中,雙邊模板MV細化(Bilateral Template MV Refinement,BTMVR)也稱為解碼器側MV細化(Xu Chen,et al.,“Decoder-Side Motion Vector Refinement Based on Bilateral Template Matching”,Joint Video Exploration Team(JVET)of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,4th Meeting:Chengdu,CN,15-21 October 2016,Document:JVET-D0029),公開了基於雙邊模板匹配的解碼器側運動矢量細化(Decoder-Side Motion Vector Refinement,DMVR)。BTMVR的過程如第6圖所示,其中塊610是當前塊。確定當前塊的初始運動向量MV0 620a和MV1 620b。例如,可以從合併候選者導出初始運動矢量。BTMVR過程應用於雙預測塊。換句話說,MV0指向L0參考圖像670a並且MV1指向L1參考圖像670b。L0參考圖像670a中的L0參考塊630a可以位於L0參考圖像670a和MV0 620a中的當前塊的對應位置610a。類似地,在L1參考圖像670b中的L1參考塊630b可以位於L1參考圖像670b和MV1 620b中的當前塊的對應位置610b。透過使用分別由MV0 620a和MV1 620b指向的兩個參考塊(630a和630b)的雙預測來生成模板640,如第6圖所示。在一個實施例中,雙邊模板640被計算為L0塊630a和L1塊630b的平均值,但不限於該實施例。在下一步驟中,它使用雙邊模板在L0參考圖像中的L0參考塊周圍進行整數運動估計(ME)和分數ME搜索,搜索範圍為P像素×Q像素,並找到最小ME成本的位置。ME成本具有許多實施例,一個實施例是絕對差之和(SAD),但不限於該實施例。最小ME成本的最終位置被分配給L0的細化(refined)MV。類似的步驟被應用於定位L1的細化MV。例如,如第6圖所示,使用模板作為新的當前塊並執行運動估計以在L0參考圖像660a和L1參考圖像660b中找到更好的匹配塊(即,細化的參考塊650a和細化的參考塊650b)。細化MV被稱為MV0' 660a和MV1' 660b,如第6圖所示。然後
細化MV(MV0'和MV1')用於生成當前塊的最終雙向預測的預測塊。
鄰近導出的預測偏移(Neighbouring-derived Prediction Offset,NPO)
鄰近導出的預測偏移(NPO)是最近開發的新編碼工具,用於改進添加預測偏移的運動補償預測器。透過該偏移,可以考慮幀之間的不同照明條件。使用相鄰重建像素(neighbouring reconstructed pixels,NRP)和擴展運動補償預測子(extended motion compensated predictors,EMCP)導出偏移。
第7圖示出了導出偏移的示例性實現。為NRP和EMCP選擇的模式分別是左邊的N行(columns)(712和722)以及當前PU 710和參考塊720頂部的M列(rows)(714和724),其中N和M是預定值。雖然在示例中示出了矩形NRP和EMCP,但是圖案可以具有任何尺寸和形狀,並且可以依據任何編碼參數來確定,例如PU或CU尺寸,只要NRP和EMCP兩者使用相同的尺寸和形狀。偏移量被計算為NRP的平均像素值減去EMCP的平均像素值。該導出的偏移將應用於整個PU以及運動補償預測器。
第8圖示出了導出偏移的另一示例性實現。首先,對於每個相鄰位置(即,當前塊830的左邊界以及頂邊界的左側像素810和上方像素820),NRP中的對應像素減去EMCP中的像素來計算個體偏移。對於左相鄰位置810的上述相鄰位置820和6,6,6和6的示例性偏移值6,4,2和-2在第8圖中示出。
在獲得相鄰位置的偏移值之後,將導出當前PU 830中的每個位置的導出偏移量作為從左側和上方位置的偏移的平均值,如箭頭840所示。例如,在當前PU 830的左上角831處的第一位置,將透過平均來自左側和上方的偏移(即,(6+6)/2=6)來生成偏移量6。對於右邊的下一個位置832,偏移量被推導為5(即,(6+4)/2=5)。可以以光柵掃描順序相應地處理和生成剩餘位置的偏移值。由於相鄰像素與邊界像素的相關性更高,因此偏移也是
如此。依據NPO,偏移可以適應像素位置。導出的偏移將在PU上進行調整,並且與運動補償預測子一起獨立地應用於每個PU位置。
局部照明補償(Local Illumination Compensation,LIC)
局部照明補償(LIC)是使用當前塊和參考塊的相鄰樣本來執行畫面間預測的方法。它基於使用比例因子a和偏移b的線性模型。該方法透過參考當前塊和參考塊的相鄰樣本來導出縮放因子a和偏移b。當前塊和參考塊的相鄰樣本對應於L形,包括當前塊和參考塊左側的相鄰像素和上方的相鄰像素。在導出縮放因子a和偏移b之後,依據l(x,y)=a*r(x,y)+b導出LIC處理的像素l(x,y),其中r(x,y)對應於運動補償的參考資料。此外,可以針對每個CU自適應地啟用或禁用LIC過程。
關於LIC的更多細節可以在JVET-C1001中找到(Xu Chen,et al.,“Algorithm Description of Joint Exploration Test Model 3”,Joint Video Exploration Team(JVET)of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,3rd Meeting:Geneva,CH,26 May-1 June 2016,Document:JVET-C1001)。
傳統的子PU時間運動矢量預測(Sub-PU TMVP)
為了提高編碼效率,在合併模式中應用子PU時間運動矢量預測(Sub-PU TMVP)(子PU時間運動矢量預測,也稱為高級時間運動矢量預測(ATMVP))模式。也就是說,Sub-PU TMVP是用於合併模式的合併候選。如第9圖所示,與傳統時間候選不同,Sub-PU TMVP模式將當前PU分割為複數個Sub-PU,並找到每個Sub-PU的所有對應的時間並置運動向量。尺寸為MxN的當前PU具有(M/P)×(N/Q)個子PU,每個子PU的尺寸為PxQ,其中M可被P整除,並且N可被Q整除。第9圖對應於當前PU 910被分割為16個子PU的情況(即,M/P=4且N/Q=4)。子PU 0(911)和子PU 1(912)被指示。子PU TMVP的詳細算法描述如下。
在步驟1中,對於當前PU 910,針對子PU TMVP模式確定表示為vec_init的“初始運動矢量”。例如,vec_init可以是當前PU 910的第一可用空間相鄰塊的MV。或者,其他相鄰塊的MV也可以用作初始運動矢量。傳統上,vec_init是空間相鄰塊中的第一個可用候選者。例如,如果第一可用空間相鄰塊具有L0和L1 MV,並且LX是用於搜索並置訊息的第一列表,則當LX=L0時vec_init使用L0 MV,或者當LX=L1時vec_init使用L1。LX(L0或L1)的值取決於哪個列表(L0或L1)更適合併置訊息。如果L0對於並置訊息(例如,POC(圖像順序計數)距離比L1更近)更好,則LX等於L0,反之亦然。可以在切片級別,磚級別(brick level),切片組級別或圖像級別執行LX分配。
然後開始“並置圖像搜索過程”。“並置圖像搜索過程”是為Sub-PU TMVP模式中的所有子PU找到主要並置圖像。主要並置圖像表示為main_colpic。傳統上,它首先搜索由第一可用空間相鄰塊選擇的參考圖像。然後,在B切片中,它搜索從L0(或L1),參考索引0,然后參考索引1,然后參考索引2依此類推(增加索引順序)開始的當前圖像的所有參考圖像。如果它完成搜索L0(或L1),則它搜索另一個列表。在P切片中,它首先搜索由第一可用空間相鄰塊選擇的參考圖像。然後,它從參考索引0,然後參考索引1,然後搜索索引2,依此類推(增加索引順序)開始搜索列表的當前圖像的所有參考圖像。
在搜索期間,對於每個搜索到的圖像,執行名為“可用性檢查”的過程。“可用性檢查”過程檢查由vec_init_scaled指向的當前PU的中心位置周圍的並置子PU,其中vec_init_scaled是具有來自vec_init的適當MV縮放的MV。可以使用各種方式來確定“圍繞中心位置”。“圍繞中心位置”可以對應於中心像素。例如,如果PU尺寸是M * N,則中心等於位置(M/2,N/2)。“圍繞中心位置”也可以對應於中心子PU的中心像素。“圍繞中心位置”可以是取決
於當前PU形狀的上述兩種方法的混合。在“可用性檢查”中,如果檢查結果是Inter模式,則可用性為真;否則(檢查結果是畫面內模式),則可用性為假。在“可用性檢查”之後,如果可用性為真,則將當前搜索到的圖像標誌為主並置圖像並且搜索過程結束。如果可用性為真,則使用“圍繞中心位置”的MV並針對當前塊縮放以導出“默認MV”。如果可用性為假,則它將搜索下一個參考圖像。
在“並置圖像搜索過程”期間,當vec_init的參考圖像不等於原始參考圖像時,需要MV縮放。MV縮放過程是使用運動矢量的縮放版本。基於當前圖像與vec_init的參考圖像,當前圖像與和搜索的參考圖像之間的時間距離分別縮放MV。在MV縮放之後,縮放的MV被表示為vec_init_scaled。
在步驟2中,對於每個子PU,它還在main_colpic中進一步找到並置位置。假設當前Sub-PU是Sub-PU i,則計算並置位置,如下所示:collocated location x=Sub-PU_i_x+vec_init_scaled_i_x(integer part)+shift_x,collocated location y=Sub-PU_i_y+vec_init_scaled_i_y(integer part)+shift_y.
在上述等式中,Sub-PU_i_x表示當前圖像內的子PU_i的水平左上位置(整數位置),Sub-PU_i_y表示當前圖像內的子PUi的垂直左上位置(整數位置),vec_init_scaled_i_x表示vec_init_scaled_i的水平部分,它有整數部分和小數部分,我們在計算中只使用整數部分,而vec_init_scaled_i_y表示vec_init_scaled_i的垂直部分,它有整數部分和小數部分,我們只使用整數部分計算。shift_x表示移位值。shift_x可以是子PU寬度的一半。shift_y表示移位值。在一個示例中,shift_y可以是子PU高度的一半,但是也可以使用其他方法。
最後,在步驟3中,它找到每個子PU的運動訊息時間預測子,其被表示為SubPU_MI_i。SubPU_MI_i是來自並置位置x和並置位置y上的collocated_picture_i_L0和collocated_picture_i_L1的運動訊息(MI)。這裡MI被定義為{MV_x,MV_y,參考列表,參考索引和其他合併模式敏感訊息(例如
局部照明補償標誌)}的集合。此外,在一個示例中,可以依據並置圖像,當前圖像和參考圖像的並置MV之間的時間距離關係來縮放MV_x和MV_y。如果MI不可用於某些Sub-PU,則將使用圍繞中心位置的Sub-PU的MI(換句話說,使用默認MV)。
傳統上,候選列表中僅存在一個Sub-PU TMVP候選者。
空間-時間運動矢量預測(STMVP)
在JEM-3.0(Chen et al.,“Algorithm Description of Joint Exploration Test Model 3”,Joint Video Exploration Team(JVET)of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,3rd Meeting:Geneva,CH,26 May-1 June 2016,Document:JVET-C1001),空間-時間運動矢量預測(STMVP)也包括在合併模式編碼中。在STMVP中,透過使用時間運動矢量預測器和空間相鄰運動矢量,在光柵掃描順序之後遞歸地導出子CU的運動矢量。第10圖說明了STMVP的概念。讓我們考慮包含四個4×4子CU,A,B,C和D的8×8 CU 1010。當前幀中的相鄰N×N塊標誌為a,b,c和d。子CU A的運動推導透過識別其兩個空間相鄰開始。第一個相鄰是子CU A之上的NxN塊(塊c)。如果該塊c不可用或者是畫面內編碼,則檢查子CU A上方的其他N×N塊(從左到右,從塊c開始)。第二相鄰是子CU A左側的塊(塊b)。如果塊b不可用或者是畫面內編碼,則檢查子CU A左側的其他塊(從上到下,從塊b開始)。從每個列表的相鄰塊獲得的運動訊息被縮放到給定列表的第一參考幀。接下來,透過遵循與HEVC中指定的TMVP推導相同的過程來導出子塊A的時間運動矢量預測器(TMVP)。位置D處的共同定位塊的運動訊息被獲取並相應地被縮放。最後,在檢索和縮放運動訊息之後,對每個參考列表分別平均所有可用運動矢量(最多3個)。平均運動矢量被指定為當前子CU的運動矢量。
PMVD模式或FRUC模式
PMVD模式(或稱為PMMVD或FRUC(幀速率上轉換)模式)是一種編碼工具,其可以使用L形模板或雙側模板來細化合併模式的MV並且保存比特MVD。FRUC的細節在JETM3(“Algorithm Description of Joint Exploration Test Model 3”,in Joint Video Exploration Team(JVET)of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11:3rd Meeting:Geneva,CH,26 May-1 June 2016)。與FRFUC相關的特定部分是第2.3.7節:模式匹配的運動矢量推導。
PMVD模式不限於JVET文檔中的描述,使用基於模式的細化作為PMVD行為的任何畫面間模式工具也可以表示為PMVD或FRUC模式。
LM色度模式
畫面內預測器通常被設計為利用圖像中的空間特徵,諸如平滑區域(DC模式),垂直線或邊緣,水平線或邊緣以及對角線或邊緣。此外,亮度和色度分量之間經常存在空間相關性。因此,重建的亮度像素可用於導出畫面內色度預測。在新興的高效視訊編碼(HEVC)中,已經考慮了基於重建的亮度訊號的色度畫面內預測模式。這種類型的色度畫面內預測被稱為線性模型(Linear Model,LM))預測。第11圖示出了LM模式的畫面內預測推導。首先,使用第11圖中的並置亮度塊(即,Y塊)的相鄰重建像素(由圓圈表示)和色度塊(即,U或V塊)的相鄰重建像素(由圓圈表示),以導出塊之間的線性模型參數。使用亮度塊的參數和重建像素生成色度塊的預測像素。在參數推導中,使用與當前亮度塊的頂部塊邊界相鄰的頂部重建像素列和與當前亮度塊的左塊邊界相鄰的左重建像素行。注意,使用來自左邊界的第二左重建像素行而不是緊鄰左邊界的左行,以匹配色度像素的採樣位置。使用亮度塊的特定列和行以匹配色度分量的4:2:0採樣格式。雖然第11圖示出了用於4:2:0採樣格式的LM色度模式的示例,但是用於其他色度採樣格式的LM色度模式也可
以類似地導出。
依據LM預測模式,從共同定位塊的重建亮度值預測色度值。色度分量可以具有比亮度分量低的空間分辨率。為了將亮度訊號用於色度畫面內預測,可能必須降低亮度訊號的分辨率以與色度分量的分辨率匹配。例如,對於4:2:0採樣格式,U和V分量僅具有垂直和水平方向上的樣本數量的一半作為亮度分量。因此,必須將垂直和水平方向上的2:1分辨率降低應用於重建的亮度樣本。降低分辨率可以透過下採樣過程或子採樣過程來實現。
在LM色度模式中,對於具有其並置的重構亮度樣本V col 的待預測色度樣本V,用於生成LM預測值P的線性模型公式如下:P=a.V col +b
在上面的等式中,a和b被稱為LM參數。可以從當前塊周圍的相鄰重構亮度和色度樣本導出LM參數,使得不需要在位元流中對參數進行編碼。在導出LM參數之後,可以依據線性模型從當前塊中的並置重構亮度樣本生成色度預測值。例如,如第11圖所示,如果視訊格式是YUV420,則每個8×8編碼單元有一個8×8亮度塊(1110)和兩個4×4色度塊(1120和1130)。在第11圖中,每個小方形對應於當前編碼單元(用於亮度的2Nx2N和用於色度的NxN)中被編碼的一個像素。首先基於當前編碼單元的相鄰重建樣本導出LM參數,其在第11圖中表示為圓圈。由於YUV420採樣格式,並置的色度位置位於兩個對應的垂直亮度樣本之間。兩個對應的垂直亮度樣本之間的平均值用於導出LM參數。對於頂部塊邊界上方的相鄰像素,平均值被垂直方向上的最接近的樣本替換,以便減少行緩衝器要求。如第11圖所示,當前亮度(Y)和色度(U或V)編碼單元的相鄰像素(如圓圈所示)用於導出各個色度分量的LM參數。導出LM參數之後,基於線性模型和並置的亮度重構樣本生成色度預測值。依據視訊格式,可以使用平均亮度值代替相應的亮度樣本。
雖然QTBT提供靈活的分割並且導致改進的編碼性能,但QBQT也增加了計算複雜性。此外,使用更高分辨率視訊內容的趨勢也導致增加的計算複雜性和高緩衝要求。期望開髮用於彩色視訊的塊分割和語法傳信技術以降低計算複雜性和/或緩衝要求。
依據本發明一實施方式,公開了一種在視訊編碼和解碼中用於塊分割的方法和裝置。依據本發明的一種方法,與當前圖像中的當前資料單元相關聯的輸入資料被接收,其中與當前資料單元相關聯的輸入資料對應於當前資料單元的像素資料。當前資料單元包括亮度分量和一個或複數個色度分量,並且當前資料單元包括亮度資料單元和色度資料單元,或者當前資料單元包括亮度分量塊和一個或複數個色度分量塊。使用推斷分割將當前資料單元分割為複數個初始塊而不進行分割語法傳信,其中複數個初始塊包括複數個初始亮度塊和複數個初始色度塊,並且其中初始亮度塊的尺寸是MxN,M和N是正整數以及當前資料單元大於MxN以用於亮度分量。確定分割結構,用於將初始塊的初始亮度塊和一個或複數個初始色度塊分別分成一個或複數個亮度編碼單元(CU)和一個或複數個色度CU。與當前資料單元中的一個初始塊相關聯的一個或複數個亮度語法和一個或複數個色度語法被發送或被解析,然後與當前資料單元中的一個下一個初始塊相關聯的一個或複數個亮度語法和一個或複數個色度語法被發送或被解析。當前資料單元可以對應於CTU(編碼樹單元)。此外,對於亮度分量,CTU可以具有對應於128×128或256×256的塊尺寸,並且M和N等於64。在一個實施例中,如果存在多於一個色度分量,則色度分量資料共享相同的編碼樹分割。在一個實施例中,當當前切片是I切片時或當當前切片是I切片並且啟用非編碼樹共享時,應用推斷的分割。
分割結構可以包括用於每個初始塊的獨立的編碼樹,以在每個初始塊中分割亮度塊和一個或複數個初始的色度塊。可以使用四叉樹(quadtree,QT)將當前資料單元分割為具有塊尺寸等於M×N的複數個初始亮度塊。
在一個實施例中,在與當前資料單元中的一個初始塊相關聯的一個或複數個色度語法之前,與當前資料單元中的一個初始塊相關聯的一個或複數個亮度語法被發送或被解析。
在一個實施例中,MxN對應於預定義或導出的塊尺寸,或最大變換單元(transform unitm,TU)尺寸,或與最大TU尺寸或最小TU尺寸相關的尺寸。可以在序列級別,圖像級別,切片級別,磚級別,磚片組級別或磚片級別,與M和N相關的訊息可被發送。
在一個實施例中,一個或複數個共享或獨立語法被發送或被解析以用於當前資料單元,以指示當前資料單元是使用編碼樹共享還是非編碼樹共享。如果所述一個或複數個共享或獨立語法指示當前資料單元使用編碼樹共享,則當前資料單元內的所有編碼單元使用編碼樹共享。如果所述一個或複數個共享或獨立語法指示當前資料單元使用非編碼樹共享,則當前資料單元內的所有編碼單元使用非編碼樹共享。
在一個實施例中,一個或複數個共享或獨立語法被發送或被解析以用於當前資料單元,以指示當前資料單元是使用編碼樹共享還是非編碼樹共享。如果所述一個或複數個共享或獨立語法指示當前資料單元使用編碼樹共享,則當前資料單元內的所有編碼單元使用編碼樹共享。如果所述一個或複數個共享或獨立語法指示當前資料單元使用非編碼樹共享,則當當前資料單元大於MxN以用於亮度分量時,使用推斷分割將當前資料單元分割為複數個初始塊而不使用分割語法傳信;確定分割結構以用於將初始塊的初始亮度塊和一個或複數個初始色度塊分別分成一個或複數個亮度CU和一個或複數個色度CU。
依據另一種方法,使用一個共享樹來分割亮度資料單元和色度資料單元,直到亮度資料單元和色度資料單元到達停止節點。如果停止節點大於MxN以用於亮度分量,則停止節點被編碼或解碼為葉編碼單元,M和N是正整數。如果停止節點小於或等於亮度分量的MxN以用於亮度分量,則預測模式被發送或被解析以用於停止節點。
在一個實施例中,如果停止節點的預測模式對應於畫面內模式,則一個或複數個第一語法被發送或被解析,以指示停止節點是使用編碼樹共享還是非編碼樹共享。如果所述一個或複數個第一語法指示停止節點使用編碼樹共享,則將停止節點指定為葉節點。此外,如果所述一個或複數個第一語法指示停止節點使用非編碼樹共享,則進一步分割停止節點。可以在與停止節點相關聯的一個或複數個色度語法之前,與停止節點相關聯的一個或複數個亮度語法被發送或被解析。在又一實施例中,如果停止節點的預測模式對應於畫面內模式或非畫面間模式,則使用非編碼樹共享進一步對停止節點進行編碼。
在另一實施例中,如果停止節點大於MxN以用於亮度分量,則停止節點的預測模式對應於畫面內模式,並且停止節點使用編碼樹共享。在又一實施例中,如果停止節點大於M×N以用於亮度分量,則在停止節點的殘差編碼中,推斷停止節點被分割為複數個變換單元。在又一個實施例中,如果停止節點大於MxN以用於亮度分量,則停止節點的預測模式被推斷為畫面間模式或者不被允許是畫面內模式。
110:CTU分割
120:編碼樹
410、510:塊分割
420:二叉樹
520:QTBT
610:塊
610a、610b:位置
620a:MV0
620b:MV1
630a:L0塊
630b:L1塊
640:模板
650a、650b:細化的參考塊
660a、670a:L0參考圖像
660b、670b:L1參考圖像
710、830、910:當前PU
712、722:行
714、724:列
720:參考塊
810、820:相鄰位置
830:當前塊
832:下一個位置
840:箭頭840
911:子PU 0
912:子PU 1
1010:CU
1110:亮度塊
1120、1130:色度塊
1210~1240、1310~1340:步驟
第1圖示出了使用四叉樹結構將編碼樹單元(CTU)分割為編碼單元(CU)的塊分割的示例。
第2圖示出了依據高效視訊編碼(HEVC)的非對稱運動分割(AMP),其中AMP定義了用於將CU分成PU的八種形狀。
第3圖示出了二叉樹分割結構使用的各種二進制分割類型的示例,其中可以使用分割類型將塊遞歸地分割成兩個較小的塊。
第4圖示出了塊分割及其對應的二叉樹的示例,其中在二叉樹的每個分割節點(即,非葉節點)中,一種語法用於指示哪種分割類型(水平或垂直)被使用,其中0表示水平分割,1表示垂直分割。
第5圖示出了塊分割及其對應的四叉樹加二叉樹結構(QTBT)的示例,其中實線指示四叉樹分割,虛線指示二叉樹分割。
第6圖示出了雙邊模板MV細化(BTMVR)過程的示例,其在一些文獻中也稱為解碼器側MV細化(DMVR)。
第7圖示出了依據鄰域導出預測偏移(Neighbouring-derived Prediction Offset,NPO)過程導出偏移的示例性實現。
第8圖示出了依據鄰域導出預測偏移(NPO)過程導出偏移的另一示例性實現。
第9圖示出了用於將當前PU分割成複數個子PU的子PU TMVP模式的實例,且發現每一子PU的所有對應時間並置運動向量。
第10圖示出了空間-時間運動矢量預測(STMVP)的概念。
第11圖示出了LM模式的畫面內預測推導的示例。
第12圖示出了依據本發明實施例的具有塊分割的示例性編解碼系統的流程圖。
第13圖示出了依據本發明實施例的具有塊分割的另一示例性編解碼系統的流程圖。
以下描述是實現本發明的最佳方案。進行該描述是為了說明本發明的一般原理,而不應被視為具有限制意義。參考所附请求项能最佳確定本發明的範圍。
更高分辨率視訊格式的使用正成為各種應用的趨勢。因此,用於更高分辨率視訊格式的視訊壓縮變得更加重要。在下一代視訊編碼中,CTU尺寸和最大TU尺寸分別大於64x64和32x32。例如,CTU尺寸可以是128x128或256x256,並且對於亮度,最大TU尺寸可以是64x64或128x128,對於色度分量,最大TU尺寸可以是32x32或64x64。然而,如果我們想要重用HEVC解碼器結構(例如32x32或64x64解碼器流水線),則可能必須修改一些語法設計或編碼/解碼算法以支持更大的CTU和更大的TU。
在用於大CTU的視訊編碼系統設計中,如果CTU尺寸大於最大TU尺寸,則存在兩種分割方法。一個是隱含地將CTU分成尺寸等於最大TU尺寸,或預定義,導出或發送的尺寸的CU,然後明確地發送CU分割語法。即使當CU尺寸大於最大TU尺寸時,另一個也明確地發送CU分割語法。如果葉CU尺寸大於最大TU尺寸,則在殘差編碼中,推斷當前CU被分成複數個TU,其尺寸等於最大TU尺寸,或預定義,導出或發送的尺寸。
在亮度/色度分離編碼中,首先編碼亮度CTB,然後對色度CTB進行編碼(即,Cb和Cr CTB)。如果亮度CTB尺寸為128x128或256x256且色度CTB尺寸為64x64或128x128,則具有在每個流水線階段處理或者每個管道緩衝器中處理64x64亮度紋理/殘差緩衝器和/或兩個32x32色度紋理殘留緩衝器能力的傳統的64x64流水線解碼器架構是不合適的。例如,128x128亮度CU可以隱式地分割為四個64x64 CU,並且64x64色度CU也可以隱式地分割為四個32x32 CU。然而,在位元流中,順序地用訊號通知四個亮度CU。在解碼器
中,它不能一起接收64x64亮度紋理/殘差和相應的32x32色度紋理/殘差,因為32x32色度紋理/殘差在4個64x64亮度紋理/殘差塊之後被發送。因此,傳統的64×64流水線解碼器架構不適合或需要針對具有大CTU的亮度/色度分離編碼進行修改。CTU是用於編碼過程的“資料單元”的示例。其他術語也可以用作其他視訊編碼系統中的資料單元。
為了重用傳統的64×64(或更小)流水線解碼器架構,重新排序與MxN塊交錯的亮度/色度分量相關語法(例如,殘差,量化級別,預測模式,編碼參數)的技術在應用亮度/色度分離編碼時公開了。MxN塊可以是預定義的或導出的塊尺寸(亮度樣本分辨率中的64×64塊),最大TU尺寸,與最大/最小TU尺寸相關的尺寸,或者俱有等於MxN的區域的塊。MxN還可以在SPS,PPS,切片級別,磚級別,磚片(tile)組級別或磚片級別被發送。為方便起見,MxN塊在本公開中也稱為“工作塊”。可以理解,工作塊的亮度分量的尺寸是M×N。工作塊的色度分量的尺寸取決於顏色格式。例如,對於YUV420格式,色度(即,U或V)塊的尺寸是M/2×N/2。首先,對MxN塊內的亮度語法進行編碼,然後對與M×N塊相關聯的色度語法進行編碼。在M×N塊內,亮度和色度分量可以具有不同的編碼樹(例如,不同的塊分割)。在這種情況下,CTU也被稱為在本公開中使用“非編碼樹共享”。在一個實施例中,當應用獨立的編碼樹時,推斷CTU分成複數個CU,並且每個CU具有複數個M×N塊。在一個示例中,四叉樹分割用於推斷的分割。對於每個M×N塊,首先,亮度分量編碼樹被發送,然後色度分量編碼被發送。
在一個示例中,如果亮度CTB尺寸是128x128並且色度CTB尺寸是64x64,並且亮度的最大TU尺寸是64x64並且對於色度是32x32,則推斷CTU分成四個CU。四個64x64亮度CU和四個32x32色度CU以交錯被發送。例如,64x64亮度CU之後是32x32色度CU(包括一個32x32 Cb CU和一個32x32
Cr CU),並且之後編碼三對{64x64亮度CU,32x32色度CU}。64x64亮度CU和32x32色度可以進一步分成子CU。在一個實施例中,仍然可以應用亮度/色度分離編碼的概念。64x64亮度CU和32x32色度CU可以具有不同的編碼樹。換句話說,依據本發明的實施例,獨立的樹分割可以從64×64-亮度/32×32-色度單元開始而不是從CTU開始。對於色度編碼樹,Cb和Cr分量資料共享相同的分割樹。例如,每個內切片(I切片)CTU首先被隱式地分成64×64亮度單元和32×32-色度單元。然後,每個64x64亮度和32x32色度單元的編碼樹是分開的,並且在每個64x64亮度單元和32x32色度單元內的色度語法之前,亮度語法被發送。在一個實施例中,在分離的色度編碼樹中,最小色度CU是4×4或最小色度CU尺寸/區域是16。2x2,4x2,2x4色度CU被禁用。在一個實施例中,上面提出的方法僅應用於I片,其中分離的編碼樹被應用。對於切片間,不應用所提出的方法。
在一個實施例中,在CTU級別一個或複數個語法被發送以指示共享編碼樹是否應用於整個CTU。如果是,則CTU內的所有CU使用共享編碼樹。該CTU級標誌也可以應用於畫面間切片。如果選擇獨立的樹,則CTU是具有獨立樹編碼的畫面內CTU。該CTU中的所有CU都是畫面內CU,並使用獨立的樹進行編碼。在另一實施例中,如果選擇獨立的樹,則應用上述方法。例如,CTU被推斷為分割為MxN個塊。對每個M×N塊應用獨立的樹編碼。
在另一個實施例中,可以選擇大CU(尺寸大於M×N的CU)。不必將CTU推斷為分成複數個MxN塊。MxN塊的尺寸可以是預定義的或導出的塊尺寸,等於最大TU尺寸,與最大/最小TU尺寸相關的尺寸,或者俱有區域等於MxN的塊。還可以在SPS,PPS,切片級別,磚級別,磚片組級別或磚片級別中發送MxN。在該實施例中,CU分割語法在CTU級別中被發送。如果CU尺寸大於MxN,則使用共享編碼樹。如果CU尺寸等於MxN塊,則應用
獨立的編碼樹。在一個示例中,亮度CTB尺寸是128x128並且色度CTB尺寸是64x64,並且亮度的最大TU尺寸是64x64並且色度是32x32。CU分割語法在CTU級別被發送。如果葉CU大於64×64(例如,128×128CU),則依據用於殘差編碼的推斷的分割或發送的TU分割語法將CU分成若干個TU。TU尺寸應等於或小於最大TU尺寸。對於每個TU,首先亮度係數被發送,然後色度係數被發送。
如果CU尺寸大於64×64,則應用共享編碼樹。例如,在128×128CU中,如果分割旗標為真或分割語法指示CU被分割,則使用相同的分割方法同時分割亮度CU和色度CU。換句話說,亮度CU和色度CU共享相同的編碼樹。它也被稱為CU使用“共享編碼樹”或CU使用“編碼樹共享”。當CU尺寸等於64x64時,應用獨立的編碼樹。對於64x64塊,64x64亮度CU和32x32色度CU可以具有不同的編碼樹。換句話說,依據該實施例,獨立的樹分割可以從64×64-亮度/32×32-色度單元開始而不是從CTU開始。對於大於64x64的塊,應用共享編碼樹。
在一個實施例中,在獨立的色度編碼樹中,最小色度CU是4×4或最小色度CU尺寸/區域是16。禁用2x2,4x2,2x4色度CU。在一個實施例中,上面提出的方法僅應用於I片,其中應用獨立的編碼樹。對於畫面間切片,不應用上面提出的方法。在一個實施例中,在CTU級別一個或複數個語法被發送以指示編碼樹共享是否應用於整個CTU。如果是,則CTU內的所有CU使用共享編碼樹。換句話說,CTU的每個CU內的亮度和色度分量共享編碼樹。
在另一實施例中,對於I切片編碼,共享編碼樹被應用為默認值。分割語法在CTU級別開始發出訊號。當CU尺寸大於M×N時,應用共享編碼樹。如果CU尺寸等於MxN,則一個或複數個共享/獨立的編碼樹語法(也稱為共享或獨立語法)被發送。MxN塊可以是預定義或導出的塊尺寸,該塊尺
寸等於最大TU尺寸,或者與最大/最小TU尺寸相關的尺寸。MxN還可以在SPS,PPS,切片級別,磚級別,磚片組級別或磚片級別中被發送。如果選擇了編碼樹共享,則該MxN內的亮度和色度CU分割使用共享編碼樹。如果應用非編碼樹共享,則該MxN內的亮度和色度CU分割使用獨立的編碼樹。否則,共享樹用於此MxN區域。MxN不能大於最大TU尺寸。
在一個實施例中,在CTU級別一個或複數個語法被發送以指示編碼樹共享是否應用於整個CTU。如果是,則CTU內的所有CU都使用編碼樹共享。在另一實施例中,在CTU級別一個或複數個語法被發送以指示該CTU的所有畫面內區域是否使用編碼樹共享。如果是,則CTU內的所有畫面內區域使用共享編碼樹。在另一實施例中,在CTU級別一個或複數個語法被發送以指示MxN尺寸的CTU的內的所有畫面內區域是否使用編碼樹共享。如果是,則CTU內的MxN尺寸內的所有畫面內區域使用編碼樹共享。在這種情況下,每個區域中的亮度和色度分量共享編碼樹。否則,CTU內MxN尺寸內的所有畫面內區域使用非編碼樹共享。在一個實施例中,在獨立的色度編碼樹中,最小色度CU是4×4。
在另一實施例中,對於I切片編碼,共享編碼樹被應用為默認值。分割語法在CTU級別被發送。如果CU停止分割並且CU尺寸等於或小於MxN,則在每個葉CU中一個或複數個共享/分離編碼樹語法(也稱為共享或獨立語法)被發送。MxN塊的尺寸可以是預定義或導出的塊尺寸,或等於最大TU尺寸,或者與最大/最小TU尺寸相關的尺寸。MxN還可以在SPS,PPS,切片級別,磚級別,磚片組級別或磚片級別中被發送。在該實施例中,在CTU級別CU分割語法被發送。當選擇共享編碼樹時,它暗示了畫面內CU。如果應用獨立的編碼樹,則在一個或複數個共享/分離的編碼樹語法之後,分割語法和分離的亮度/色度CU編碼被發送。在一個示例中,如果選擇獨立的編碼樹(即,
非編碼樹共享),則推斷第一亮度CU以進行分割。在這種情況下,僅分割模式被發送。在另一示例中,如果未分割亮度CU,則將色度CU推斷為分割。在這種情況下,僅分割模式被發送。在一個實施例中,如果CU尺寸等於或小於OxP,則獨立的編碼樹語法不被發送。推斷應用共享編碼樹。OxP可以在SPS,PPS,切片級別,磚級別,磚片組級別或磚片級別中被預定義或發送。對於大於M×N的葉CU尺寸,應用共享編碼樹。所提出的方法也可以應用於畫面間切片編碼。在一個實施例中,在CTU級別一個或複數個語法被發送以指示共享編碼樹是否應用於整個CTU。如果是,則CTU內的所有CU使用共享編碼樹。在另一實施例中,在CTU級別一個或複數個語法被發送以指示該CTU的所有畫面內區域是否使用共享編碼樹。如果是,則CTU內的所有畫面內區域使用共享編碼樹(即,編碼樹共享)。在另一實施例中,在CTU級別一個或複數個語法被發送以指示該CTU的MxN尺寸內的所有畫面內區域是否使用共享編碼樹(即,編碼樹共享)。如果是,則CTU內的MxN尺寸內的所有畫面內區域使用獨立的編碼樹(即,非編碼樹共享)。在一個實施例中,在分離的色度編碼樹中,最小色度CU是4×4或者最小色度CU尺寸/區域是16個樣本。
在另一實施例中,具有獨立的編碼樹的I切片的CTU尺寸被約束為不大於MxN。MxN可以是預定義或導出的塊尺寸,等於最大TU尺寸,或者與最大/最小TU尺寸相關的尺寸。MxN還可以在SPS,PPS,切片級別,磚級別,磚片組級別或磚片級別中發送。對於層間切片,CTU尺寸可以不受約束地小於或等於MxN。例如,CTU尺寸可以大於畫面間切片的MxN。
在本發明中,獨立的編碼樹也可以應用於畫面間切片。將獨立的編碼樹應用於畫面內編碼CU,該CU尺寸等於或小於M×N。MxN塊可以是預定義或導出的塊尺寸,等於最大TU尺寸,或者與最大/最小TU尺寸相關的尺寸。MxN還可以在SPS,PPS,切片級別,磚級別,磚片組級別或磚片級別被
發送。當CU大於MxN時,應用共享編碼樹。如果分割標誌為真或分割語法指示CU被分割,則亮度CU和色度CU利用相同的分割而同時為被分割。
當CU等於M×N時,語法被發送以指示獨立的編碼樹(即,非編碼樹共享)是否應用於該M×N塊。在一個示例中,獨立的編碼樹僅用於畫面內CU。如果MxN塊選擇使用獨立的編碼樹,則MxN內部的CU的預測模式都被推斷為畫面內模式。在另一示例中,將獨立的編碼樹應用於該M×N區域內的畫面內區域。如果M×N塊選擇使用獨立的編碼樹,則使用獨立的編碼樹,該M×N區域內的畫面內編碼塊被推斷。在另一實施例中,在CTU級別一個或複數個語法被發送以指示該CTU的所有畫面內區域是否使用共享編碼樹。如果是,則CTU內的所有畫面內區域使用共享編碼樹。在另一實施例中,在CTU級別一個或複數個語法被發送以指示該CTU的MxN尺寸內的所有畫面內區域是否使用共享編碼樹。如果是,則CTU內的MxN尺寸內的所有畫面內區域使用獨立的編碼樹。在另一實施例中,在CTU級別一個或複數個語法被發送以指示該CTU的MxN尺寸內的所有畫面內區域是否使用畫面內編碼並使用獨立的樹編碼。如果是,則CTU內的所有CU使用畫面內模式編碼,並且在每個MxN塊內,應用獨立的樹編碼。在一個示例中,推斷選擇獨立樹編碼的CTU以分成複數個M×N塊。可以使用QT分割。在一個實施例中,對於分離的色度編碼樹,最小色度CU是4×4。
在另一實施例中,當CU大於M×N時,應用共享編碼樹。如果葉CU大於M×N,則不應用獨立的編碼樹(例如,共享編碼樹)。在殘差編碼中,推斷CU被分成TU。在一個示例中,當CU未被進一步分割時,預測模式被發送。如果選擇畫面內模式並且CU尺寸等於或小於M×N,則一個或複數個其他分離語法被發送。如果進一步分割CU,則應用獨立的編碼樹。在一個示例中,已發送的分割語法用於亮度分量。如果CU未被進一步分割,則它是畫面內
葉CU。在另一示例中,當CU未被進一步分割時,預測模式被發送。如果畫面內模式被選擇並且CU尺寸等於或小於M×N,則一個或複數個獨立的編碼樹語法(也稱為共享或獨立語法)被發送以指示該CU是否使用獨立的編碼樹。如果不是,則是畫面內葉CU。如果是,則應用獨立的編碼樹。對於CU,亮度分量和色度分量可以具有不同的編碼樹。在色度分量語法之前,亮度分量語法被發送。該CU內的所有子CU都被推斷為畫面內模式或非畫面間模式。當CU尺寸大於MxN或預測模式是畫面間模式(或畫面內塊複製模式)時,獨立的編碼樹語法(例如,指示是否應用獨立編碼的標誌)不被發送,並將其推斷為未應用。在一個示例中,如果選擇獨立的編碼樹,則第一亮度CU推斷為被分割。在這種情況下,僅分割模式被發送。在另一示例中,如果亮度CU未被分割,則將色度CU推斷為分割。在這種情況下,僅分割模式被發送。在另一示例中,當選擇畫面內模式並且CU尺寸等於或小於M×N時,總是應用獨立的編碼樹。在該CU中,除了CU是最小CU之外,分割語法始終被發送。如果葉CU尺寸大於MxN並且是畫面內編碼的,則對於殘差編碼,CU被分成複數個TU(例如,透過推斷的分割或已發送的TU分割語法),使得TU尺寸應等於或小於最大TU尺寸。對於每個TU,亮度係數被發送,然後色度係數被發送。
在一個實施例中,如果CU尺寸等於或小於OxP,則獨立的編碼樹語法(也稱為共享或獨立語法)不被發送。推斷應用共享編碼樹。OxP可以在SPS,PPS,切片級別,磚級別,磚片組級別或磚片級別中被預定義或發送。在一個實施例中,在分離的色度編碼樹中,最小色度CU是4×4。在一個實施例中,在CTU級別一個或複數個語法被發送以指示共享編碼樹是否應用於整個CTU。如果是,則CTU內的所有CU使用共享編碼樹。在另一實施例中,在CTU級別一個或複數個語法被發送以指示該CTU的所有畫面內區域是否使用共享編碼樹。如果是,則CTU內的所有畫面內區域使用獨立的編碼樹。在另一實施例
中,在CTU級別一個或複數個語法被發送以指示該CTU的MxN尺寸內的所有畫面內區域是否使用共享編碼樹。如果是,則在CTU內的MxN尺寸內的所有畫面內區域(例如,尺寸小於或等於MxN且具有畫面內模式的葉CU)使用獨立的編碼樹(即,非編碼樹共享)。在另一實施例中,在CTU級別一個或複數個語法被發送以指示CTU是否是具有獨立樹編碼的畫面內CTU。如果是,則該CTU中的所有CU都是畫面內CU並且用獨立的樹編碼。
在又一實施例中,當CU大於M×N時,應用共享編碼樹。CU分割語法以CTU級別的訊號格式發送。如果CU未被進一步分割並且葉CU大於MxN,則預測模式被推斷為畫面間模式,或者畫面內模式不能被選擇(例如,位元流一致性阻止選擇畫面內模式被選擇)。如果CU停止分割並且葉CU等於或小於MxN,則預測模式被發送或導出。如果畫面內模式被選擇並且CU尺寸等於或小於M×N,則一個或複數個獨立的編碼樹語法(也稱為共享或獨立語法)被發送以指示該畫面內CU是否使用獨立的編碼樹。如果否,則將該CU指定為畫面內葉CU(即,不再進一步分割)。如果是,則獨立的編碼樹(即,非編碼樹共享)被應用。對於該CU,亮度分量和色度分量可以具有不同的編碼樹。在色度分量語法之前,亮度分量語法被發送。該CU內的所有子CU都被推斷為畫面內模式。當CU尺寸大於M×N或預測模式是畫面間模式時,獨立的編碼樹語法(例如,一個標誌指示是否應用獨立編碼)不被發送,並且將其推斷為未應用。
在一個實例中,如果選擇獨立的編碼樹,則將第一亮度CU推斷為分割。在這種情況下,僅分割模式被發送。在另一示例中,如果亮度CU未被分割,則將色度CU推斷為分割。僅分割模式被發送。在另一示例中,當畫面內模式被選擇並且CU尺寸等於或小於M×N時,總是應用獨立的編碼樹(即,非編碼樹共享)。在該CU中,除了CU是最小CU的情況之外,分割語法始終被
發送。在一個實施例中,如果CU尺寸等於或小於0xP,則獨立的編碼樹語法(也稱為共享或獨立語法)不被發送。推斷應用共享編碼樹。OxP可以在SPS,PPS,切片級別,磚級別,磚片組級別或磚片級別中被預定義或發送。在一個實施例中,在CTU級別一個或複數個語法被發送以指示共享編碼樹是否應用於整個CTU。如果是,則CTU內的所有CU使用共享編碼樹。在一個實施例中,在分離的色度編碼樹中,最小色度CU是4×4。在另一實施例中,在CTU級別一個或複數個語法被發送以指示該CTU的所有畫面內區域是否使用共享編碼樹。如果是,則CTU內的所有畫面內區域使用獨立的編碼樹。在另一實施例中,在CTU級別一個或複數個語法被發送以指示該CTU的MxN尺寸內的所有畫面內區域是否使用共享編碼樹。如果是,則CTU內的MxN尺寸內的所有畫面內區域使用獨立的編碼樹。在一個實施例中,在獨立的色度編碼樹中,最小色度CU是4×4。
在又一實施例中,對於層間編碼,在M×N塊級別中一個或複數個獨立的樹語法被發送。MxN塊可以是預定義或導出的塊尺寸,等於最大TU尺寸,或者與最大/最小TU尺寸相關的尺寸。MxN還可以在SPS,PPS,切片級別,磚級別,磚片組級別或磚片級別中被發送。如果選擇共享樹編碼,則該MxN區域中的所有CU使用共享樹編碼。如果選擇獨立的樹編碼,則MxN區域內的畫面內CU使用獨立的樹編碼。例如,在該MxN區域內,如果CU停止分割,則畫面間/畫面內模式被發送。如果CU處於畫面內模式並且獨立的樹編碼被應用,則用於亮度和色度分量的進一步分割語法被發送。注意,仍然可以應用QT/BTT約束。如果畫面內CU透過BT或TT分割而被分割,則亮度和色度編碼樹只能使用BT和/或TT分割進一步分割。在另一示例中,如果畫面內CU透過BT或TT分割而被分割,則可以使用QT,BT和/或TT分割來進一步分割亮度和色度編碼樹。如果選擇獨立的樹編碼,則在獨立的色度編碼樹中,最小色度CU是4×4。
在又一實施例中,對於層間編碼,在CTU級別中一個或複數個獨立的樹語法被發送。如果共享編碼樹被選擇,則使用共享樹編碼對所有CU進行編碼。如果獨立的樹編碼(即,非編碼樹共享)被選擇,則該CTU中的畫面內CU使用獨立的樹編碼。在另一示例中,如果選擇獨立的樹編碼,則除了具有大於M×N的尺寸的畫面內CU之外,CTU內的畫面內CU使用獨立的樹編碼。例如,當使用共享編碼樹對尺寸大於M×N的畫面內CU進行編碼時,畫面內CU實際上是葉畫面內CU。畫面內CU被分成一個或複數個TU。TU的尺寸應小於MxN。MxN塊可以是預定義或導出的塊尺寸,或等於最大TU尺寸,或者與最大/最小TU尺寸相關的尺寸。MxN還可以在SPS,PPS,切片級別,磚級別,磚片組級別或磚片級別中被發送。例如,如果CU停止分割,則發訊號通知畫面間/畫面內模式。如果CU是畫面間編碼CU或畫面內編碼CU並且尺寸大於MxN,則其使用共享樹編碼(即,編碼樹共享)。如果CU是畫面內編碼CU並且尺寸小於或等於M×N並且為該CTU選擇獨立的樹編碼,則用於亮度和色度分量的進一步分割語法被發送。注意,仍然可以應用QT/BTT約束。如果畫面內CU透過BT或TT分割而被分割,則亮度和色度編碼樹只能使用BT和/或TT分割進一步分割。在另一示例中,如果畫面內CU透過BT或TT分割進行分割,則可以使用QT,BT和/或TT分割來進一步分割亮度和色度編碼樹。如果獨立的樹編碼被選擇,則在分離的色度編碼樹中,最小色度CU是4×4。
在另一實施例中,在I切片編碼中,如果亮度CTB尺寸是128x128並且色度CTB尺寸是64x64,並且亮度的最大TU尺寸是64x64並且對於色度是32x32,則即使當CU尺寸大於最大TU尺寸時,CU分割被明確地被發送(例如,在128x128亮度CU和64x64色度CU中發送分割標誌)。如果將128x128亮度CU分成四個64x64 CU,則在對第一個64x64 CU進行編碼之後,對色度分量進行編碼/解碼。第一個64x64 CU可以進一步拆分為子CU。如果64x64色度
CU也被分成四個32x32 CU,則第一個32x32色度CU被編碼/解碼。第一個32x32色度CU也可以進一步分成子CU。在對第一32x32色度CU進行編碼/解碼之後,對第二64x64亮度CU進行編碼/解碼,並且對第二32x32色度CU進行編碼/解碼,依此類推。如果128x128亮度CU被分成四個64x64 CU但64x64色度未被分成子CU(色度TU被推斷為四個32×32TU),則本發明的實施例對第一個64x64亮度CU進行編碼/解碼,然後對64x64色度CU和第一個32x32色度TU的模式訊息進行編碼/解碼。在對第一個32x32色度TU進行編碼/解碼之後,對第二個64x64亮度CU進行編碼/解碼,並對第二個32x32色度TU進行編碼/解碼,依此類推。
當128x128亮度CU未被分割但是64x64色度CU被分割時,可以應用類似的概念。它首先對128x128亮度CU和第一個64x64亮度TU的模式訊息進行編碼/解碼,然後對64x64色度CU和第一個32x32色度CU的分割語法進行編碼/解碼。在對第一個32x32色度CU進行編碼/解碼之後,對第二個64x64亮度TU進行編碼/解碼,並對第二個32x32色度CU進行編碼/解碼,依此類推。在另一實例中,如果未分割128x128亮度CU和64x64色度CU,則首先對128x128亮度CU的分割語法和模式訊息進行編碼/解碼,然後對第一64x64亮度TU進行編碼/解碼。然後,對64×64色度CU和第一32×32色度CU的分割語法和模式訊息進行編碼/解碼。在對第一個32x32色度TU進行編碼/解碼之後,對第二個64x64亮度TU進行編碼/解碼,對第二個32x32色度TU進行編碼/解碼,依此類推。本段中提出的方法和上段也可以應用於Inter-slice。在畫面間編解碼中,對於每個CU(不限於葉CU),在CTU級一個或複數個獨立的編碼樹語法被發送。如果應用獨立的編碼樹,則應用本段和上段中提出的方法。可以將該CU中的所有子CU推斷為畫面內模式。在一個實施例中,在CTU級別一個或複數個語法被發送以指示共享編碼樹是否應用於整個CTU。如果是,
則CTU內的所有CU使用(即,編碼樹共享)。
在又一實施例中,對於畫面間編碼,在M×N塊級別中確定是否使用獨立的樹。MxN塊可以是預定義或導出的塊尺寸,或等於最大TU尺寸,或與最大/最小TU尺寸相關的尺寸,或等於CTU尺寸。還可以在SPS,PPS,切片級別,磚級別,磚片組級別或磚片級別中發送MxN。當從CTU級編碼/解碼CU分割時,當對具有等於或大於MxN的CU尺寸(區域,寬度或高度)的畫面內編碼葉CU進行編碼時,一個或複數個獨立的樹語法被發送。如果獨立的樹被選擇,則該畫面內CU的區域使用獨立的樹編碼。進一步的亮度/色度分離語法被發送。當CU分割到達MxN區域時,對應於使用獨立樹的語法被設置為假。當對具有小於M×N的CU尺寸(例如,區域,寬度或高度)的畫面內編碼葉CU進行編碼並且表示使用獨立樹的語法等於假時,一個或複數個獨立的樹語法被發送。如果獨立的樹被選擇,則該MxN區域中的畫面內CU使用獨立的樹編碼。針對畫面內CU,另外的亮度/色度分離語法被發送,並且將表示使用獨立樹的語法設置為等於真。在該MxN區域中,另一個獨立的樹語法不能被發送。換句話說,MxN區域中的獨立樹語法只能被發送一次。針對該MxN區域中的所有CU共享發送的語法。如果選擇了共享樹編碼,則該MxN區域中的所有CU都使用共享樹編碼。如果選擇獨立的樹編碼,則該MxN區域中的畫面內CU使用獨立的樹編碼。注意,仍然可以應用QT/BTT約束。如果畫面內CU透過BT或TT分割而被分割,則亮度和色度編碼樹的進一步分割僅可使用BT和/或TT分割。在另一示例中,如果畫面內CU透過BT或TT分割而被分割,則亮度和色度編碼樹的進一步分割可以使用QT,BT和/或TT分割。如果獨立的樹編碼被選擇,則在分離的色度編碼樹中,最小色度CU是4×4。
在一個實施例中,獨立的編碼樹不能應用於塊尺寸大於M×N的塊。MxN塊可以是預定義或導出的塊尺寸,等於最大TU尺寸,或者與最大/
最小TU尺寸相關的尺寸。與MxN相關的尺寸訊息也可以在SPS,PPS,切片級別,磚級別,磚片組級別或磚片級別中被發送。在另一個實施例中,獨立的編碼樹只能應用於塊尺寸等於或小於M×N的塊。MxN塊可以是預定義或導出的塊尺寸,等於最大TU尺寸,或者與最大/最小TU尺寸相關的尺寸。MxN還可以在SPS,PPS,切片級別,磚級別,磚片組級別或磚片級別中被發送。當CU尺寸大於M×N時,應用共享編碼樹分割。
在用於亮度和色度的獨立分割的原始設計中,亮度和色度塊的形狀可以是不同的,因此亮度塊可以跨越不同的色度塊延伸,反之亦然。一個結果是必須獨立處理亮度和色度塊,並且可能需要將用於預測和重建的緩衝樣本保存在存儲器中直到整個單元被處理。另一方面,例如,如果所有亮度塊不延伸跨越不同的色度塊(即,每個亮度塊完全在色度塊內),則在處理特定色度塊和其中的亮度塊之後,用於處理該塊的緩衝的樣本可以被丟棄。為實現此目的,可以多次對亮度和色度應用相同的分割,然後禁用其中一個組件的進一步分割。是否禁用進一步分割可以顯式地被發送或從當前塊的尺寸或深度隱式地導出。
在一個實施例中,在每個亮度分割標誌之前或之後,標誌chroma_split_end被發送,指示色度分割是否在此時終止,並且後續分割將僅應用於亮度分量。在chroma_split_end為真之前,色度分割與亮度分割相同。標誌chroma_split_end可以用於指示對應的分割標誌表示應用於色度分量的最後分割,或者對應的分割標誌和後續分割標誌不適用於色度分量。在一個示例中,當到達亮度葉CU並且色度分割未被終止時(例如,chroma_split_end全部為假),chroma_split_end被推斷為真,這意味著色度分量不再被分割。在另一示例中,當亮度分割到達亮度葉CU並且色度分割未終止時,應用chroma_split語法。色度分量可以進一步分割為更小的CU。當亮度分量是編碼四叉樹分割,二
叉樹分割或三元樹分割時,可以chroma_split_end可以被發送或被推斷。在一個示例中,當亮度分量編碼四叉樹分割時,可以chroma_split_end可以被發送或被推斷。如果QT分割在BT和/或TT分割之前,則意味著當亮度分量進行QT分割時,色度分量需要遵循QT分割或停止分割。當亮度分量進行BT/TT分割時,色度可以自由地使用BT/TT分割。在另一示例中,可以在亮度QT葉CU之前停止色度QT分割,並且可以透過使用BT/TT分割,來進一步分割色度QT葉CU。
在另一實施例中,在每個分割標誌之前或之後,標誌luma_split_end被發送,以指示亮度分割是否在此時終止。隨後的分割將僅應用於色度分量。luma_split_end標誌可用於指示對應的分割標誌表示應用於亮度組件的最後一個分割,或者對應的拆分標誌和後續的拆分標誌不適用於亮度組件。在一個示例中,當到達色度葉CU並且亮度分割未終止時(例如,luma_split_end全部為假),將luma_split_end推斷為真,這意味著亮度分量不再被分割。在另一示例中,當色度分割到達色度葉CU並且亮度分割未終止時,應用luma_split語法。亮度分量可以進一步分割為更小的CU。在一些實施例中,還可以採用前面提到的chroma_split_end和luma_split_end標誌。
可以使用QT深度和BT/TT深度概念。當透過QT/BT/TT分割分割CU時,QT深度/BT深度/TT深度增加1。BT深度和TT深度可以合併為CT深度(編碼樹-深度)。例如,當透過BT或TT分割來分割CU時,CT深度增加1。在一個實施例中,色度QT-深度不能大於亮度QT-深度加上閾值。閾值可以是零,正值或負值。在閾值等於零的示例中,如果其對應的亮度塊的QT深度是2,則色度CU的最大QT深度不能大於2。可以透過語法約束來應用約束,例如,當色度QT深度達到最大QT深度時,沒有QT分割語法,或者可以透過編碼器約束應用QT分割語法,例如,位元流一致性要求色度QT深度不
應大於最大QT深度。類似的約束可以應用於BT深度/TT深度/CT深度或總深度。例如,色度QT深度+CT深度不能大於其對應亮度塊的QT深度+CT深度加上閾值。在一個示例中,它僅約束色度QT深度。色度BT/TT/CT深度獨立於其對應的亮度CU。
在另一實施例中,使用語法chroma_split_end的類似概念可以透過使用另一種語法設計來實現。例如,首先對亮度編碼樹進行編碼或解碼。當對亮度葉CU進行編碼時或在對亮度葉CU進行編碼之後,對語法進行編碼/解析以指示色度葉CU尺寸。語法可以與分割深度(例如,QT深度,BT深度,TT深度,CT深度和/或總深度)相關。例如,可以使用語法chroma_depth_above。如果chroma_depth_above等於0,則意味著使用相同分割的色度CU和亮度CU並且具有相同的CU尺寸。對於4:2:0格式,相同的CU尺寸意味著實際的色度CU尺寸是實際亮度CU尺寸的1/4。如果chroma_depth_above大於0(例如K,K>0),則意味著在深度K之前停止色度CU分割。例如,如果亮度葉CU具有等於3的QT深度並且CT深度等於0,則最大CTU尺寸為128,並且該亮葉CU的尺寸為16x16。如果chroma_depth_above等於1,則意味著色度CU尺寸為32x32。色度CU的QT深度是2。在該示例中,如果在該32×32區域中chroma_depth_above被發送,則chroma_depth_above語法不被發送以用於隨後的亮度葉CU。例如,對於尺寸等於16×16(不一定是葉CU)的後續3個亮度QT CU,語法chroma_depth_above不被發送。在下一個32x32區域中的第一個亮度葉CU,語法chroma_depth_above不被發送。可以在第一亮葉CU之後或在32×32區域之後(32x32區域是基於上述示例chroma_depth_above值的示例)色度CU語法可被發送。
在另一實施例中,考慮色度LM模式。由於LM模式是壓縮色度分量資料的強大編碼工具,因此可以使用上面介紹的方法應用LM模式語法快
捷方式。例如,當chroma_split_end等於1或者chroma_depth_above被發送時,可以應用LM語法。
在另一實施例中,提出了自適應色度模式語法。色度模式語法可以是畫面內預測模式相關語法,運動訊息或變換/殘差相關語法。當色度CU尺寸或深度小於,等於或大於對應的亮度CU尺寸或深度時,色度語法次序/碼字可以是不同的。例如,如果色度CU尺寸小於對應的亮度CU尺寸或者如果色度CU深度大於對應的亮度CU深度,則DM模式語法向後移動。例如,在最可能模式列表中向後移動DM模式候選,或者在正常語法位置之後移動DM模式語法。
在另一個實施例中,可以在諸如SPS,PPS,VPS或切片報頭的高級語法中指定允許對亮度和色度進行統一分割的最大分割深度或最小塊尺寸。一旦分割深度超過最大深度,或者塊尺寸變得小於最小尺寸,則僅允許進一步分割亮度和色度分量中的一個。在另一實施例中,如果分割深度小於最大分割深度或者塊尺寸大於最小塊尺寸,則應用亮度和色度的統一分割。一旦分割深度超過最大深度,或者塊尺寸變得小於最小尺寸,則應用獨立的亮度/色度編碼樹。
在另一實施例中,亮度CU結構和色度CU結構應在編碼單元分割方面具有一些相關性。為了減少編碼運行時間並提高編碼效率,色度CU分割應遵循亮度CU分割,但色度CU分割可以提前終止或可以進一步分割。例如,如果對應的亮度CU正在使用QT分割/BT垂直分割/BT水平分割,則色度CU具有兩個選項。一種是遵循亮度分割類型,另一種是不分割。如果對應的亮度CU為未分割,則可進一步分割色度CU,或者在一個實施例中,分割色度CU不能被分割。可以在某些約束下推斷提前終止標誌或跟隨分割標誌。對於一個示例,第一K層,色度CU分割總是遵循亮度CU分割。在另一實例中,當CU
尺寸大於MxN時,色度CU分割總是遵循亮度CU分割。在另一示例中,色度QT分割總是遵循亮度QT分割。早期停止標誌僅適用於BT分割。
約束可以是自適應的。例如,K,M和N可以由解碼的CU或相鄰CU導出。
在另一實施例中,僅在色度CU和亮度CU具有相同QT深度時,應用所提出的引導CU分割,這意味著如果其QT葉CU具有相同尺寸,則色度BT分割遵循亮度BT分割。
在另一實例中,色度QT分割總是遵循亮度QT分割(即,共享相同的QT分割),但是對於BT分割沒有約束。
注意,在本發明中,使用4:2:0色度格式。因此,對於64x64亮度塊,其對應的色度塊為32x32。所有描述都基於這種色度格式。所提出的方法還可以應用於不同的色度格式,例如4:4:4,4:2:2,4:0:0。在本發明中,可以一起應用一種或多種方法。
可以在編碼器和/或解碼器中實現任何前述提出的方法。例如,任何所提出的方法可以在編碼器中的熵編碼模組或塊分割模組中實現,和/或在解碼器中的熵解析器模組或塊分割模組中實現。或者,任何所提出的方法都可以實作為耦合到編碼器中的熵編碼模組或塊分割模組的電路,和/或解碼器中的熵解析器模組或塊分割模組,以便提供熵解析器模組或塊分割模組所需的訊息。
第12圖示出了依據本發明實施例的具有塊分割的示例性編解碼系統的流程圖。流程圖中示出的步驟以及本公開中的其他後續流程圖可以實現為在編碼器側和/或解碼器側的一個或複數個處理器(例如,一個或複數個CPU)上可執行的程序代碼。流程圖中示出的步驟還可以基於諸如被佈置為執行流程圖中的步驟的一個或複數個電子設備或處理器的硬體來實現。依據該方法,在步驟1210中,與當前圖像中的當前資料單元相關聯的輸入資料被接收,其中與
當前資料單元相關聯的輸入資料包括亮度分量和色度分量。在步驟1220中,當當前資料單元大於MxN以用於亮度分量時,使用推斷分割而不使用分割語法傳信將當前資料單元分割為複數個初始塊,其中複數個初始塊中的每一個包括初始亮度塊和初始值色度塊,其中M和N是正整數。在步驟1230中,確定分割結構以用於將每個初始亮度塊和每個初始色度塊分別分成一個或複數個亮度CU(編碼單元)和一個或複數個色度CU。在步驟1240中,與當前資料單元中的一個初始塊相關聯的一個或複數個亮度語法和一個或複數個色度語法被發送或被解析,然後與當前資料單元中的下一個初始塊相關的一個或複數個亮度語法或一個或複數個色度語法被發送或被解析。
第13圖示出了依據本發明實施例的具有塊分割的另一示例性編碼系統的流程圖。依據該方法,在步驟1310中,接收與當前圖像中的當前資料單元相關聯的輸入資料,其中與當前資料單元相關聯的輸入資料對應於編碼器側的當前資料單元的像素資料,或與當前資料單元相關聯的輸入資料對應於解碼器側的當前資料單元的已編碼像素資料,並且其中當前資料單元包括亮度分量和色度分量,並且當前資料單元包括亮度資料單元和色度資料單元。在步驟1320中,使用一個共享樹來分割亮度資料單元和色度資料單元,直到亮度資料單元和色度資料單元到達停止節點。在步驟1330中,如果停止節點大於MxN以用於亮度分量,則停止節點是編碼或解碼為葉CU(編碼單元),其中M和N是正整數。在步驟1340中,如果停止節點小於或等於MxN以用於亮度分量,則針對停止節點,預測模式被發送或被解析。
所示的流程圖旨在示出依據本發明的視訊編碼的示例。在不脫離本發明的精神的情況下,本領域通常知識者可以修改每個步驟,重新安排步驟,分割步驟,或組合步驟以實施本發明。在本公開中,已經使用特定語法和語義來說明用於實現本發明的實施例的示例。本領域通常知識者可以透過用等同的
語法和語義替換語法和語義來實踐本發明而不脫離本發明的精神。
呈現以上描述是為了使得本領域通常知識者能夠實踐在特定應用及其要求的上下文中提供的本發明。對所描述的實施例的各種修改對於本領域通常知識者來說是顯而易見的,並且這裡定義的一般原理可以應用於其他實施例。因此,本發明不限於所示出和描述的特定實施例,而是與符合本文所公開的原理和新穎特徵的最寬範圍相一致。在以上詳細描述中,示出了各種具體細節以便提供對本發明的透徹理解。然而,本領域通常知識者將理解,可以實施本發明。
如上所述的本發明的實施例可以以各種硬體,軟體代碼或兩者的組合來實現。例如,本發明的實施例可以是集成到視訊壓縮芯片中的一個或複數個電路或集成到視訊壓縮軟體中的程序代碼,以執行這裡描述的處理。本發明的實施例還可以是要在數位訊號處理器(DSP)上執行的程序代碼,以執行這裡描述的處理。本發明還可以涉及由計算機處理器,數位訊號處理器,微處理器或現場可編程門陣列(FPGA)執行的許多功能。這些處理器可以被配置為透過執行定義本發明所體現的特定方法的機器可讀軟體代碼或韌體代碼來執行依據本發明的特定任務。軟體代碼或韌體代碼可以用不同的編程語言和不同的格式或樣式開發。還可以針對不同的目標平台編譯軟體代碼。然而,軟體代碼的不同代碼格式,樣式和語言以及配置代碼以執行依據本發明的任務的其他裝置將不脫離本發明的精神和範圍。
在不脫離本發明的精神或基本特徵的情況下,本發明可以以其他特定形式實施。所描述的示例在所有方面都應被視為僅是說明性的而非限制性的。因此,本發明的範圍由所附請求項而不是前面的描述表示。在請求項的含義和等同範圍內的所有變化都包含在其範圍內。
1210~1240‧‧‧步驟
Claims (24)
- 一種視訊編解碼方法,由視訊編解碼系統使用,該方法包括: 接收與當前圖像中的當前資料單元相關聯的輸入資料,其中與該當前資料單元相關聯的該輸入資料包括亮度分量和色度分量; 當當前資料單元大於MxN以用於該亮度分量時,使用推斷分割將該當前資料單元分割為複數個初始塊,而不需要分割語法傳信,其中複數個初始塊中的每一個包括初始亮度塊和初始色度塊,並且其中M和N是正整數; 確定分割結構,用於將每個初始塊的初始亮度塊和初始色度塊分別分成一個或複數個亮度編碼單元和一個或複數個色度編碼單元;以及 發送或解析與該當前資料單元中的一個初始塊相關聯的一個或複數個亮度語法和一個或複數個色度語法,然後發送或解析當前資料單元中與下一個初始塊相關聯的一個或複數個亮度語法以及一個或複數個色度語法。
- 如請求項1所述之視訊編解碼方法,其中該當前資料單元對應於編碼樹單元。
- 如請求項1所述之視訊編解碼方法,其中該分割結構包括用於每個初始塊的複數個獨立的編碼樹,以在每個初始塊中分割該初始亮度塊和初始色度塊。
- 如請求項1所述之視訊編解碼方法,其中在與該當前資料單元中的該一個初始塊相關聯的該一個或複數個色度語法之前,與該當前資料單元中的該一個初始塊相關聯的該一個或複數個亮度語法被發送或被解析。
- 如請求項1所述之視訊編解碼方法,其中使用四叉樹將該當前資料單元分割為該複數個初始塊,該複數個初始塊具有用於亮度分量的等於MxN的塊尺寸。
- 如請求項1所述之視訊編解碼方法,其中MxN對應於預定義或導出的塊尺寸,或最大變換單元尺寸,或與最大變換單元尺寸或最小變換單元尺寸相關的尺寸。
- 如請求項1所述之視訊編解碼方法,其中在序列級別,圖像級別,切片級別,磚級別,磚片組級別或磚片級別,與M和N相關的訊息被發送。
- 如請求項7所述之視訊編解碼方法,其中對於該亮度分量,M和N等於64。
- 如請求項1所述之視訊編解碼方法,其中一個或複數個共享或獨立語法被發送或被解析以用於該當前資料單元,以指示該當前資料單元是使用編碼樹共享還是非編碼樹共享。
- 如請求項9所述之視訊編解碼方法,其中如果該一個或複數個共享分離語法指示該當前資料單元使用編碼樹共享,則該當前資料單元內的所有編碼單元使用該編碼樹共享。
- 如請求項9所述之視訊編解碼方法,其中如果該一個或複數個共享或獨立語法指示該當前資料單元使用非編碼樹共享,則該當前資料單元內的所有編碼單元使用該非編碼樹共享。
- 如請求項9所述之視訊編解碼方法,其中如果該一個或複數個共享或獨立語法指示該當前資料單元使用非編碼樹共享,則當該當前資料單元大於用於亮度分量的MxN時,使用推斷分割將該當前資料單元分割成複數個初始塊而不使用分割語法傳信,以及確定分割結構,用於將每個初始塊的該初始亮度塊和該初始色度塊分別分成一個或複數個亮度編碼單元和一個或複數個色度編碼單元。
- 如請求項9所述之視訊編解碼方法,其中當當前切片是I切片時或者當該當前切片是I切片時且該非編碼樹共享被使能,使用該推斷的分割。
- 一種視訊編解碼裝置,分別由視訊編碼系統和視訊解碼系統使用,該裝置包括一個或複數個電子電路或處理器,用於: 接收與當前圖像中的當前資料單元相關聯的輸入資料,其中與該當前資料單元相關聯的該輸入資料包括亮度分量和色度分量; 當當前資料單元大於MxN以用於該亮度分量時,使用推斷分割將該當前資料單元分割為複數個初始塊,而不需要分割語法傳信,其中複數個初始塊中的每一個包括初始亮度塊和初始色度塊,並且其中M和N是正整數; 確定分割結構,用於將每個初始塊的初始亮度塊和初始色度塊分別分成一個或複數個亮度編碼單元和一個或複數個色度編碼單元;以及 發送或解析與該當前資料單元中的一個初始塊相關聯的一個或複數個亮度語法和一個或複數個色度語法,然後發送或解析當前資料單元中與下一個初始塊相關聯的一個或複數個亮度語法以及一個或複數個色度語法。
- 一種視訊編解碼方法,由視訊編解碼系統使用,該方法包括: 接收與當前圖像中的當前資料單元相關聯的輸入資料,其中與該當前資料單元相關聯的該輸入資料對應於該當前資料單元的像素資料,並且其中該當前資料單元包括亮度分量和色度分量,並且該當前資料單元包括亮度資料單元和色度資料單元; 使用一個共享樹分割該亮度資料單元和該色度資料單元,直到該亮度資料單元和該色度資料單元到達停止節點; 如果該停止節點大於MxN以用於亮度分量,則將停止節點編碼或解碼為葉編碼單元,M和N是正整數;以及 如果該停止節點小於或等於MxN以用於該色度分量,則發送或解析該停止節點的預測模式。
- 如請求項15所述之視訊編解碼方法,其中如果該停止節點的該預測模式對應於畫面內模式或非畫面間模式,則一個或複數個第一語法被發送或被解析以指示該停止節點是否使用編碼樹共享或非編碼樹共享。
- 如請求項16所述之視訊編解碼方法,其中如果該一個或複數個第一語法指示該停止節點使用該編碼樹共享,則該停止節點被指定為葉節點。
- 如請求項16所述之視訊編解碼方法,其中如果該一個或複數個第一語法指示該停止節點使用該非編碼樹共享,則該停止節點被進一步分割。
- 如請求項18所述之視訊編解碼方法,其中在與該停止節點相關聯的一個或複數個色度語法之前,與該停止節點相關聯的一個或複數個亮度語法被發送或被解析。
- 如請求項15所述之視訊編解碼方法,其中如果該停止節點大於MxN以用於該亮度分量,則該停止節點的該預測模式對應於畫面內模式,並且該停止節點使用編碼樹共享。
- 如請求項15所述之視訊編解碼方法,其中如果該停止節點的該預測模式對應於畫面內模式或非畫面間模式,則使用非編碼樹共享進一步對該停止節點進行編碼。
- 如請求項15所述之視訊編解碼方法,其中如果該停止節點大於MxN以用於該亮度分量,則在該停止節點的殘差編碼中,該停止節點被推斷分割為複數個變換單元。
- 如請求項15所述之視訊編解碼方法,其中如果該停止節點大於MxN以用於該亮度分量,則將該停止節點的預測模式被推斷為畫面間模式或者不被允許為畫面內模式。
- 一種視訊編解碼裝置,分別由視訊編碼系統和視訊解碼系統使用,該裝置包括一個或複數個電子電路或處理器,用於: 接收與當前圖像中的當前資料單元相關聯的輸入資料,其中與該當前資料單元相關聯的該輸入資料對應於該當前資料單元的像素資料,以及其中該當前資料單元包括亮度分量和色度分量,以及該當前資料單元包括亮度資料單元和色度資料單元; 利用一個共享樹分割該亮度資料單元和該色度資料單元,直到該亮度資料單元和該色度資料單元達到停止節點; 如果該停止節點大於MxN以用於亮度分量,則將停止節點編碼或解碼為葉編碼單元,M和N是正整數;以及 如果該停止節點小於或等於MxN以用於該色度分量,則發送或解析該停止節點的預測模式。
Applications Claiming Priority (12)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862664387P | 2018-04-30 | 2018-04-30 | |
US62/664,387 | 2018-04-30 | ||
US201862666177P | 2018-05-03 | 2018-05-03 | |
US62/666,177 | 2018-05-03 | ||
US201862676330P | 2018-05-25 | 2018-05-25 | |
US62/676,330 | 2018-05-25 | ||
US201862700265P | 2018-07-18 | 2018-07-18 | |
US62/700,265 | 2018-07-18 | ||
US201862714153P | 2018-08-03 | 2018-08-03 | |
US62/714,153 | 2018-08-03 | ||
WOPCT/CN2019/085273 | 2019-04-30 | ||
PCT/CN2019/085273 WO2019210857A1 (en) | 2018-04-30 | 2019-04-30 | Method and apparatus of syntax interleaving for separate coding tree in video coding |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201946465A TW201946465A (zh) | 2019-12-01 |
TWI720470B true TWI720470B (zh) | 2021-03-01 |
Family
ID=69582949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108115050A TWI720470B (zh) | 2018-04-30 | 2019-04-30 | 用於視訊編解碼中的獨立編碼樹的語法交錯方法和裝置 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI720470B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2023011955A (ja) * | 2019-12-03 | 2023-01-25 | シャープ株式会社 | 動画像符号化装置、動画像復号装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130322531A1 (en) * | 2012-06-01 | 2013-12-05 | Qualcomm Incorporated | External pictures in video coding |
WO2015138927A1 (en) * | 2014-03-14 | 2015-09-17 | Qualcomm Incorporated | Palette-based video coding |
-
2019
- 2019-04-30 TW TW108115050A patent/TWI720470B/zh active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130322531A1 (en) * | 2012-06-01 | 2013-12-05 | Qualcomm Incorporated | External pictures in video coding |
WO2015138927A1 (en) * | 2014-03-14 | 2015-09-17 | Qualcomm Incorporated | Palette-based video coding |
Also Published As
Publication number | Publication date |
---|---|
TW201946465A (zh) | 2019-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112055964B (zh) | 用于视频编解码中的独立编码树的语法交错方法和装置 | |
CN110662063B (zh) | 视频处理方法、装置和计算机可读存储介质 | |
CN113383554A (zh) | LUT和共享Merge列表之间的交互 | |
WO2020228578A1 (en) | Method and apparatus of luma most probable mode list derivation for video coding | |
CN113273186A (zh) | Lut更新的调用 | |
TW201813404A (zh) | 一種視訊編碼系統使用的視訊編碼方法及裝置 | |
TWI774141B (zh) | 視訊編解碼方法及裝置 | |
KR20190038405A (ko) | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 | |
TWI737142B (zh) | 視訊編碼中結合畫面間和畫面內預測之方法和裝置 | |
KR20190032642A (ko) | 움직임 정보 저장 방법 및 이를 이용한 시간적 움직임 벡터 예측자 유도 방법 | |
TW201941616A (zh) | 用於視訊編解碼的優化分割結構的方法和裝置 | |
KR20200033768A (ko) | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 | |
TWI729458B (zh) | 用於視訊編解碼的簡化的合併候選列表的方法和裝置 | |
WO2020098786A1 (en) | Method and apparatus of luma-chroma separated coding tree coding with constraints | |
US11800137B2 (en) | Efficient coding of global motion vectors | |
US20240048757A1 (en) | Adaptive motion vector prediction candidate in frames with global motion | |
TWI718079B (zh) | 用於視訊編解碼的簡化子模式的方法和裝置 | |
TWI720470B (zh) | 用於視訊編解碼中的獨立編碼樹的語法交錯方法和裝置 | |
TWI821103B (zh) | 在視訊編解碼系統中使用邊界匹配進行重疊塊運動補償的方法和裝置 | |
TWI737141B (zh) | 視訊編碼中用於畫面內分區之轉換類型分配方法和裝置 | |
CN113498609B (zh) | 用于视频编解码的依赖图片分辨率的配置 | |
RU2819393C2 (ru) | Способ и устройство кодирования/декодирования сигналов изображений | |
RU2808638C2 (ru) | Сигнализация глобального вектора движения в заголовке изображения | |
RU2819080C2 (ru) | Способ и устройство кодирования/декодирования сигналов изображений | |
TW202345594A (zh) | 視訊編解碼方法和裝置 |