TWI838406B - Chroma mode intra coding - Google Patents
Chroma mode intra coding Download PDFInfo
- Publication number
- TWI838406B TWI838406B TW108134477A TW108134477A TWI838406B TW I838406 B TWI838406 B TW I838406B TW 108134477 A TW108134477 A TW 108134477A TW 108134477 A TW108134477 A TW 108134477A TW I838406 B TWI838406 B TW I838406B
- Authority
- TW
- Taiwan
- Prior art keywords
- block
- mode
- intra
- chroma
- current block
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 211
- 238000006243 chemical reaction Methods 0.000 claims abstract description 68
- 238000012545 processing Methods 0.000 claims abstract description 46
- 238000004590 computer program Methods 0.000 claims description 11
- 230000015654 memory Effects 0.000 claims description 7
- 241000023320 Luma <angiosperm> Species 0.000 description 54
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 54
- 238000005516 engineering process Methods 0.000 description 42
- 239000013598 vector Substances 0.000 description 26
- 230000008569 process Effects 0.000 description 23
- 239000000523 sample Substances 0.000 description 20
- 230000000007 visual effect Effects 0.000 description 20
- 238000013138 pruning Methods 0.000 description 14
- 238000001914 filtration Methods 0.000 description 12
- 238000012886 linear function Methods 0.000 description 11
- 230000009466 transformation Effects 0.000 description 6
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 239000013074 reference sample Substances 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101001121408 Homo sapiens L-amino-acid oxidase Proteins 0.000 description 1
- 102100026388 L-amino-acid oxidase Human genes 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/184—Methods 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 bits, e.g. of the compressed video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/186—Methods 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 a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
本專利文件涉及視頻編解碼技術、設備和系統。 This patent document relates to video encoding and decoding technology, equipment and system.
本申請是為了及時要求於2018年9月24日提交的國際專利申請No.PCT/CN2018/107180的優先權和利益。上述專利申請的全部內容通過引用而並入作為本專利文件的公開的一部分。 This application is to timely claim the priority and benefits of the international patent application No. PCT/CN2018/107180 filed on September 24, 2018. The entire contents of the above patent application are incorporated by reference as part of the disclosure of this patent document.
儘管視頻壓縮技術有所進步,但數位視頻仍然占互聯網和其他數位通信網路上的最大頻寬使用。隨著能夠接收和顯示視頻的連接用戶設備的數量增加,預計對數位視頻使用的頻寬需求將繼續增長。 Despite advances in video compression technology, digital video still accounts for the largest bandwidth usage on the Internet and other digital communications networks. As the number of connected user devices capable of receiving and displaying video increases, the demand for bandwidth used by digital video is expected to continue to grow.
描述了與數位視頻編解碼,特別是基於過去(例如,歷史或統計)信息的圖像和視頻的幀內模式編解碼和色度模式編解碼有關的設備、系統和方法。所描述的方法可以應用於現有視頻 編解碼標準(例如,高效視頻編解碼(High Efficiency Video Coding,HEVC))和未來視頻編解碼標準(例如,多功能視頻編解碼(Versatile Video Coding,VVC))或編解碼器。 Apparatus, systems and methods are described that are related to digital video coding, in particular intra-mode coding and chroma-mode coding of images and videos based on past (e.g., historical or statistical) information. The described methods can be applied to existing video codec standards (e.g., High Efficiency Video Coding (HEVC)) and future video codec standards (e.g., Versatile Video Coding (VVC)) or codecs.
在一個代表性方面,所公開的技術可以用來提供用於視頻處理的方法。該示例方法包括:對於可視媒體數據的當前塊和當前塊的位元流表示之間的轉換,至少基於包括幀內預測模式集合的統計信息的歷史幀內編解碼信息的第一集合來選擇第一幀內預測模式;以及基於第一幀內預測模式來執行該轉換。 In one representative aspect, the disclosed technology can be used to provide a method for video processing. The exemplary method includes: for a conversion between a current block of visual media data and a bitstream representation of the current block, selecting a first intra-frame prediction mode based on at least a first set of historical intra-frame encoding and decoding information including statistical information of a set of intra-frame prediction modes; and performing the conversion based on the first intra-frame prediction mode.
在另一代表性方面,所公開的技術可以用來提供用於視頻處理的方法。該示例方法包括:對於可視媒體數據的當前塊和當前塊的位元流表示之間的轉換,至少基於與當前塊的非鄰近鄰居(neighbor)相關聯的幀內預測模式來選擇第一幀內預測模式。該方法還包括基於第一幀內預測模式來執行該轉換。 In another representative aspect, the disclosed technology can be used to provide a method for video processing. The example method includes: for a conversion between a current block of visual media data and a bitstream representation of the current block, selecting a first intra-frame prediction mode based at least on an intra-frame prediction mode associated with a non-neighbor of the current block. The method also includes performing the conversion based on the first intra-frame prediction mode.
在另一代表性方面,所公開的技術可以用來提供用於視頻處理的方法。該示例方法包括:對於可視媒體數據的當前塊和當前塊的位元流表示之間的轉換,基於當前塊的空域相鄰塊中的至少一個來選擇幀內預測模式;以及基於幀內預測模式來執行該轉換。空域相鄰塊中的至少一個與位於當前塊的第一列的左側的第一塊和位於當前塊的第一行的上側的第二塊不同。 In another representative aspect, the disclosed technology can be used to provide a method for video processing. The example method includes: for a conversion between a current block of visual media data and a bitstream representation of the current block, selecting an intra-frame prediction mode based on at least one of the spatially adjacent blocks of the current block; and performing the conversion based on the intra-frame prediction mode. At least one of the spatially adjacent blocks is different from a first block located to the left of a first column of the current block and a second block located above a first row of the current block.
在另一代表性方面,所公開的技術可以用來提供用於視頻處理的方法。該示例方法包括:對於可視媒體數據的當前塊和當前塊的位元流表示之間的轉換,生成最終預測塊;以及基於最 終預測塊來執行該轉換。最終預測塊的至少一部分基於第一預測塊和第二預測塊的組合而生成,其中第一預測塊和第二預測塊基於來自包括當前塊的圖像段的重構樣點。 In another representative aspect, the disclosed technology can be used to provide a method for video processing. The example method includes: generating a final prediction block for a conversion between a current block of visual media data and a bitstream representation of the current block; and performing the conversion based on the final prediction block. At least a portion of the final prediction block is generated based on a combination of a first prediction block and a second prediction block, wherein the first prediction block and the second prediction block are based on reconstructed samples from a picture segment including the current block.
在另一代表性方面,所公開的技術可以用來提供用於視頻處理的方法。該示例方法包括:在可視媒體數據的當前塊和當前塊的位元流表示之間的轉換期間,維護運動候選的第一表;以及至少基於運動候選的第一表來確定使用幀內塊複製(Intra Block Copy,IBC)模式而編解碼的當前塊的運動信息,在該IBC模式中,至少一個運動向量指向包括當前塊的圖像段。該方法還包括基於運動信息來執行該轉換。 In another representative aspect, the disclosed technology can be used to provide a method for video processing. The example method includes: during a conversion between a current block of visual media data and a bitstream representation of the current block, maintaining a first table of motion candidates; and determining motion information of the current block encoded and decoded using an intra-block copy (IBC) mode based at least on the first table of motion candidates, in which at least one motion vector points to a picture segment including the current block. The method also includes performing the conversion based on the motion information.
在一個代表性方面,所公開的技術可以用來提供用於視頻處理的方法。該用於視頻處理的示例方法包括:對於視頻數據的當前塊和當前塊的位元流表示之間的轉換,至少基於與當前塊不鄰近的塊的一個或多個編解碼模式來確定當前塊的色度分量的第一編解碼模式。該方法還包括基於第一編解碼模式來執行位元流表示和當前塊之間的轉換。 In one representative aspect, the disclosed technology can be used to provide a method for video processing. The example method for video processing includes: for a conversion between a current block of video data and a bitstream representation of the current block, determining a first codec mode for a chroma component of the current block based at least on one or more codec modes of blocks not adjacent to the current block. The method also includes performing the conversion between the bitstream representation and the current block based on the first codec mode.
在另一代表性方面,所公開的技術可以用來提供用於視頻處理的方法。該用於視頻處理的示例方法包括:對於色度塊的位元流表示和色度塊之間的轉換,基於對應於色度塊的亮度塊的空域相鄰塊來確定幀內編解碼模式。該方法還包括基於幀內編解碼模式來執行位元流表示和色度塊之間的轉換。 In another representative aspect, the disclosed technology can be used to provide a method for video processing. The example method for video processing includes: for a bitstream representation of a chroma block and a conversion between the chroma block, determining an intra-frame encoding/decoding mode based on spatially adjacent blocks of a luminance block corresponding to the chroma block. The method also includes performing the conversion between the bitstream representation and the chroma block based on the intra-frame encoding/decoding mode.
在另一代表性方面,所公開的技術可以用來提供用於視 頻編解碼的方法。該用於視頻編解碼的示例方法包括:對於可視媒體數據的當前塊的位元流表示,基於過去幀內編解碼信息的第一集合從幀內預測模式集合中選擇第一幀內預測模式;以及基於第一幀內預測模式來處理位元流表示,以生成當前塊。 In another representative aspect, the disclosed technology can be used to provide a method for video encoding and decoding. The example method for video encoding and decoding includes: for a bit stream representation of a current block of visual media data, selecting a first intra-frame prediction mode from an intra-frame prediction mode set based on a first set of past intra-frame encoding and decoding information; and processing the bit stream representation based on the first intra-frame prediction mode to generate the current block.
在另一代表性方面,所公開的技術可以用來提供用於視頻編解碼的方法。該用於視頻編解碼的示例方法包括:對於可視媒體數據的當前塊的位元流表示,從與當前塊鄰近或不鄰近的空域相鄰塊中的至少一個選擇幀內預測模式;以及基於幀內預測模式來處理位元流表示,以生成當前塊。 In another representative aspect, the disclosed technology can be used to provide a method for video encoding and decoding. The example method for video encoding and decoding includes: for a bit stream representation of a current block of visual media data, selecting an intra-frame prediction mode from at least one of spatially adjacent blocks that are adjacent or non-adjacent to the current block; and processing the bit stream representation based on the intra-frame prediction mode to generate the current block.
在又一代表性方面,所公開的技術可以用來提供用於視頻編解碼的方法。該用於視頻編解碼的示例方法包括:對於可視媒體數據的當前塊的位元流表示,生成基於來自包括當前塊的圖像段的重構樣點的第一預測塊和第二預測塊;基於第一預測塊和第二預測塊的線性函數來生成最終預測塊的至少一部分;以及基於最終預測塊來處理位元流表示,以生成當前塊。 In another representative aspect, the disclosed technology can be used to provide a method for video encoding and decoding. The example method for video encoding and decoding includes: for a bitstream representation of a current block of visual media data, generating a first prediction block and a second prediction block based on reconstructed samples from a picture segment including the current block; generating at least a portion of a final prediction block based on a linear function of the first prediction block and the second prediction block; and processing the bitstream representation based on the final prediction block to generate the current block.
在另一代表性方面,所公開的技術可以用來提供用於視頻編解碼的方法。該視頻編解碼的示例方法包括:對於包括亮度分量和色度分量的當前塊的位元流表示,選擇色度分量的第一編解碼模式;以及基於第一編解碼模式來執行位元流表示和當前塊之間的轉換。 In another representative aspect, the disclosed technology can be used to provide a method for video encoding and decoding. The example method of video encoding and decoding includes: for a bit stream representation of a current block including a luminance component and a chrominance component, selecting a first encoding and decoding mode of the chrominance component; and performing conversion between the bit stream representation and the current block based on the first encoding and decoding mode.
在另一代表性方面,所公開的技術可以用來提供用於視頻編解碼的方法。該視頻編解碼的示例方法包括:對於包括亮度 分量和色度分量的當前塊的位元流表示,從亮度分量的空域相鄰塊選擇幀內編解碼模式;將幀內編解碼模式添加到色度幀內模式列表;以及基於幀內編解碼模式來執行位元流表示和當前塊之間的轉換。 In another representative aspect, the disclosed technology can be used to provide a method for video encoding and decoding. The example method of video encoding and decoding includes: for a bit stream representation of a current block including a luminance component and a chrominance component, selecting an intra-frame encoding and decoding mode from a spatially adjacent block of the luminance component; adding the intra-frame encoding and decoding mode to a chrominance intra-frame mode list; and performing conversion between the bit stream representation and the current block based on the intra-frame encoding and decoding mode.
在又一代表性方面,上述方法以處理器可運行代碼的形式而體現,並且被儲存在電腦可讀程式介質中。 In another representative aspect, the above method is embodied in the form of processor executable code and stored in a computer readable program medium.
在又一代表性方面,公開了一種被配置為或可操作來執行上述方法的設備。該設備可以包括被編程為實施該方法的處理器。 In yet another representative aspect, a device configured or operable to perform the above method is disclosed. The device may include a processor programmed to implement the method.
在又一代表性方面,視頻解碼器裝置可以實施如本文所描述的方法。 In yet another representative aspect, a video decoder device may implement the method as described herein.
在附圖、說明書和申請專利範圍中更詳細地描述了所公開技術的上述以及其他方面和特徵。 The above and other aspects and features of the disclosed technology are described in more detail in the accompanying drawings, the specification and the patent application scope.
1400、1500、1600、1900、2000、2100、2200、2300、2400、2500、2600、2700:方法 1400, 1500, 1600, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700: Methods
1910、1920、2010、2020、2110、2120、2310、2320、2330、2610、2620、2710、2720:操作 1910, 1920, 2010, 2020, 2110, 2120, 2310, 2320, 2330, 2610, 2620, 2710, 2720: Operation
1410、1420、1510、1520、1610、1620、1630、2210、2220、2410、2420、2510、2520、2530:步驟 1410, 1420, 1510, 1520, 1610, 1620, 1630, 2210, 2220, 2410, 2420, 2510, 2520, 2530: Steps
1700:裝置 1700:Device
1702:處理器 1702: Processor
1704:儲存器 1704: Storage
1706:視頻處理硬體 1706: Video processing hardware
1800:系統 1800:System
1802:輸入 1802: Input
1804、1806、1808:組件 1804, 1806, 1808: Components
1810:顯示介面 1810: Display interface
圖1示出了67個幀內預測模式的示例。 Figure 1 shows an example of 67 intra-frame prediction patterns.
圖2示出了用於幀內模式預測的相鄰塊的示例。 Figure 2 shows an example of neighboring blocks used for intra-frame mode prediction.
圖3A和圖3B示出了非方形塊的廣角幀內預測模式的參考樣點的示例。 Figures 3A and 3B show examples of reference samples for the wide-angle intra-frame prediction mode for non-square blocks.
圖4示出了當使用廣角幀內預測時的不連續性的示例。 Figure 4 shows an example of discontinuity when using wide-angle in-frame prediction.
圖5A-圖5D示出了基於位置的幀內預測組合 (Position-Dependent Intra Prediction Combination,PDPC)方法使用的樣點的示例。 Figures 5A-5D show examples of samples used by the Position-Dependent Intra Prediction Combination (PDPC) method.
圖6示出了用於推導線性模型的權重的樣點的位置的示例。 Figure 6 shows an example of the locations of sample points used to derive the weights of the linear model.
圖7示出了將相鄰樣點分類為兩組的示例。 Figure 7 shows an example of classifying adjacent sample points into two groups.
圖8A示出了色度樣點及其對應亮度樣點的示例。 Figure 8A shows an example of chrominance samples and their corresponding luminance samples.
圖8B示出了用於聯合探索模型(Joint Exploration Model,JEM)中的跨分量線性模型(Cross-Component Linear Model,CCLM)的下濾波的示例。 Figure 8B shows an example of down-filtering for the Cross-Component Linear Model (CCLM) in the Joint Exploration Model (JEM).
圖9A和圖9B示出了色度塊及其對應亮度塊的示例。 Figures 9A and 9B show examples of chrominance blocks and their corresponding luminance blocks.
圖10示出了具有默認模式的幀內預測模式的示例。 Figure 10 shows an example of the in-frame prediction mode with the default mode.
圖11A和圖11B示出了色度CB的對應子塊的示例。 Figures 11A and 11B show examples of corresponding sub-blocks of the chroma CB.
圖12示出了幀內塊複製的示例。 Figure 12 shows an example of block replication within a frame.
圖13A-圖13F示出了可以被選擇用於幀內模式編解碼的不同鄰近塊的示例。 Figures 13A-13F show examples of different neighboring blocks that may be selected for intra-frame mode encoding and decoding.
圖14示出了根據所公開技術的用於基於過去信息的幀內模式編解碼的示例方法的流程圖。 FIG14 shows a flow chart of an example method for intra-frame mode encoding and decoding based on past information according to the disclosed technology.
圖15示出了根據所公開技術的用於基於過去信息的幀內模式編解碼的另一示例方法的流程圖。 FIG15 shows a flow chart of another example method for intra-frame mode encoding and decoding based on past information according to the disclosed technology.
圖16示出了根據所公開技術的用於基於過去信息的幀內模式編解碼的又一示例方法的流程圖。 FIG16 shows a flow chart of another example method for intra-frame mode encoding and decoding based on past information according to the disclosed technology.
圖17是用於實施本文件中描述的可視媒體解碼或可視媒體編碼技術的硬體平臺的示例的方塊圖。 FIG. 17 is a block diagram of an example of a hardware platform for implementing the visual media decoding or visual media encoding techniques described in this document.
圖18是可以在其中實施所公開技術的示例視頻處理系統的方塊圖。 FIG. 18 is a block diagram of an example video processing system in which the disclosed technology may be implemented.
圖19示出了根據所公開技術的用於視頻處理的示例方法的流程圖。 FIG19 shows a flow chart of an example method for video processing according to the disclosed technology.
圖20示出了根據所公開技術的用於視頻處理的另一示例方法的流程圖。 FIG20 shows a flow chart of another example method for video processing according to the disclosed technology.
圖21示出了根據所公開技術的用於視頻處理的另一示例方法的流程圖。 FIG21 shows a flow chart of another example method for video processing according to the disclosed technology.
圖22示出了根據所公開技術的用於視頻處理的另一示例方法的流程圖。 FIG22 shows a flow chart of another example method for video processing according to the disclosed technology.
圖23示出了根據所公開技術的用於視頻處理的另一示例方法的流程圖。 FIG23 shows a flow chart of another example method for video processing according to the disclosed technology.
圖24示出了基於過去信息的色度模式編解碼的示例方法的流程圖。 FIG24 shows a flow chart of an example method for chroma mode encoding and decoding based on past information.
圖25示出了基於過去信息的色度模式編解碼的另一示例方法的流程圖。 FIG25 shows a flowchart of another example method of chroma mode encoding and decoding based on past information.
圖26示出了根據所公開技術的用於視頻處理的示例方法的流程圖。 FIG26 shows a flow chart of an example method for video processing according to the disclosed technology.
圖27示出了根據所公開技術的用於視頻處理的又一示例方法的流程圖。 FIG27 shows a flow chart of another example method for video processing according to the disclosed technology.
由於對更高解析度視頻的日益增長的需求,視頻編解碼方法和技術在現代技術中無處不在。視頻編解碼器通常包括壓縮或解壓縮數位視頻的電子電路或軟體,並且不斷被改進以提供更高的編解碼效率。視頻編解碼器將未壓縮的視頻轉換為壓縮格式,反之亦然。視頻質量、用來表示視頻的數據量(由位元率確定)、編碼和解碼算法的複雜性、對數據丟失和錯誤的敏感性、編輯的簡易性、隨機存取和端到端延遲(時延)之間存在複雜的關係。壓縮格式通常符合標準視頻壓縮規範,例如,高效視頻編解碼(HEVC)標準(也已知為H.265或MPEG-H第2部分)、要完成的多功能視頻編解碼標準(VVC)、或其他當前和/或未來視頻編解碼標準。 Video codecs and techniques are ubiquitous in modern technology due to the growing demand for higher resolution video. Video codecs typically consist of electronic circuits or software that compress or decompress digital video and are constantly being improved to provide greater codec efficiency. Video codecs convert uncompressed video to a compressed format and vice versa. There is a complex relationship between video quality, the amount of data used to represent the video (determined by the bit rate), the complexity of the encoding and decoding algorithms, the sensitivity to data loss and errors, the ease of editing, random access, and end-to-end delay (latency). The compression format typically conforms to a standard video compression specification, such as the High Efficiency Video Codec (HEVC) standard (also known as H.265 or MPEG-H Part 2), the upcoming Versatile Video Codec (VVC), or other current and/or future video codec standards.
所公開技術的實施例可以應用於現有視頻編解碼標準(例如,HEVC、H.265)和未來標準以改進運行時性能。在本文件中使用章節標題以提高描述的可讀性,並且不以任何方式將討論或實施例(和/或實施方式)僅限制於各個章節。 Embodiments of the disclosed technology can be applied to existing video codec standards (e.g., HEVC, H.265) and future standards to improve runtime performance. Section headings are used in this document to improve the readability of the description and do not in any way limit the discussion or embodiments (and/or implementation methods) to only the sections.
1 VVC中的幀內預測的示例 1 Example of intra-frame prediction in VVC
1.1 具有67個幀內預測模式的幀內模式編解碼 1.1 Intra-frame mode encoding and decoding with 67 intra-frame prediction modes
為了捕獲自然視頻中呈現的任意邊緣方向,方向幀內模式的數量從如HEVC中使用的33個擴展到65個。附加的方向模式在圖1中被描繪為紅色虛線箭頭,並且平面模式和DC模式保持不變。這些更密集的方向幀內預測模式適用於所有塊尺寸以及亮度幀內預測和色度幀內預測。 To capture arbitrary edge directions present in natural video, the number of directional intra modes is expanded from 33 as used in HEVC to 65. The additional directional modes are depicted as red dashed arrows in Figure 1, and the planar and DC modes remain unchanged. These denser directional intra prediction modes apply to all block sizes and to both luma intra prediction and chroma intra prediction.
如圖1所示,傳統的角度幀內預測方向被定義為以順時針方向從45度至-135度。在VTM2中,對於非方形塊,用廣角幀內預測模式自適應地替換幾個傳統的角度幀內預測模式。使用原始方法信令通知所替換的模式,並且在解析後將其重新映射到廣角模式的索引。幀內預測模式的總數不變(例如,67),並且幀內模式編解碼不變。 As shown in Figure 1, the traditional angular intra-frame prediction direction is defined as from 45 degrees to -135 degrees in a clockwise direction. In VTM2, for non-square blocks, several traditional angular intra-frame prediction modes are adaptively replaced with wide-angle intra-frame prediction modes. The replaced modes are signaled using the original method and remapped to the index of the wide-angle mode after parsing. The total number of intra-frame prediction modes remains unchanged (e.g., 67), and the intra-frame mode encoding and decoding remains unchanged.
在HEVC中,每個幀內編解碼塊具有正方形形狀,並且其每邊的長度是2的幂。因此,使用DC模式生成幀內預測值不需要除法運算。在VTV2中,塊可以具有矩形形狀,這在一般情況下需要每塊使用除法運算。為了避免DC預測的除法運算,僅使用較長的邊來計算非方形塊的平均。 In HEVC, each intra-frame codec block has a square shape, and the length of each side is a power of 2. Therefore, no division operation is required to generate intra-frame prediction values using DC mode. In VTV2, blocks can have a rectangular shape, which generally requires a division operation for each block. To avoid division operations for DC prediction, only the longer side is used to calculate the average of non-square blocks.
1.2 幀內模式編解碼的示例 1.2 Example of intra-frame mode encoding and decoding
在一些實施例中,為了保持MPM列表生成的複雜度低,使用具有3個最可能模式(Most Probable Mode,MPM)的幀內模式編解碼方法。對MPM列表考慮以下三個方面:--相鄰幀內模式;--推導的幀內模式;和--默認幀內模式。 In some embodiments, in order to keep the complexity of MPM list generation low, an intra-frame mode encoding and decoding method with 3 most probable modes (MPM) is used. The following three aspects are considered for the MPM list: -- neighboring intra-frame modes; -- derived intra-frame modes; and -- default intra-frame modes.
對於相鄰幀內模式(A和B),考慮位於左側和上側的兩個相鄰塊。左側和上側的塊是那些連接到當前塊的左上角樣點的塊,如圖2所示。通過對兩個相鄰幀內模式執行修剪過程來形成初始MPM列表。修剪過程用來移除重複的模式,使得僅唯一模式 可以被包括到MPM列表中。如果兩個相鄰模式彼此不同,則在用現有的兩個MPM進行修剪檢查之後,默認模式(例如,PLANA(0)、DC(1)、ANGULAR50(例如,50))中的一個被添加到MPM列表中。當兩個相鄰模式相同時,在修剪檢查之後,默認模式或推導的模式被添加到MPM列表。三個MPM列表的詳細生成過程如下推導:如果兩個相鄰候選模式相同(即,A==B),如果A小於2,則candModeList[3]={0,1,50}。 For adjacent intra-frame patterns (A and B), consider two adjacent blocks located on the left and top. The blocks on the left and top are those connected to the top left corner sample of the current block, as shown in Figure 2. An initial MPM list is formed by performing a pruning process on two adjacent intra-frame patterns. The pruning process is used to remove duplicate patterns so that only unique patterns can be included in the MPM list. If the two adjacent patterns are different from each other, one of the default patterns (e.g., PLANA (0), DC (1), ANGULAR50 (e.g., 50)) is added to the MPM list after pruning checks with the existing two MPMs. When the two adjacent patterns are the same, the default pattern or the derived pattern is added to the MPM list after pruning checks. The detailed generation process of the three MPM lists is derived as follows: If two adjacent candidate modes are the same (i.e., A==B), if A is less than 2, then candModeList[3]={0,1,50}.
否則,candModeList[0]={A,2+((A+61)% 64),2+((A-1)% 64)} Otherwise, candModeList[0]={A,2+((A+61)% 64),2+((A-1)% 64)}
否則,如果A和B都不等於0,則candModeList[3]={A,B,0}。 Otherwise, if neither A nor B is equal to 0, candModeList[3]={A,B,0}.
否則,如果A和B都不等於1,則candModeList[3]={A,B,1}。 Otherwise, if neither A nor B is equal to 1, candModeList[3]={A,B,1}.
否則,candModeList[3]={A,B,50}。 Otherwise, candModeList[3]={A,B,50}.
附加的修剪過程被用來移除重複的模式,以便僅唯一模式可以被包括在MPM列表中。對於64個非MPM模式的熵編解碼,則使用6位元固定長度碼(Fixed Length Code,FLC)。 An additional pruning process is used to remove duplicate patterns so that only unique patterns can be included in the MPM list. For entropy encoding and decoding of the 64 non-MPM patterns, a 6-bit Fixed Length Code (FLC) is used.
1.3 非方形塊的廣角幀內預測 1.3 Wide-angle frame prediction for non-square blocks
在一些實施例中,傳統的角度幀內預測方向被定義為以順時針方向從45度至-135度。在VTM2中,對於非方形塊,用廣角幀內預測模式自適應地替換幾個傳統的角度幀內預測模式。使 用原始方法信令通知所替換的模式,並且在解析後將其重新映射到廣角模式的索引。某個塊的幀內預測模式的總數不變,例如67,並且幀內模式編解碼不變。 In some embodiments, the traditional angular intra-frame prediction direction is defined as from 45 degrees to -135 degrees in a clockwise direction. In VTM2, for non-square blocks, several traditional angular intra-frame prediction modes are adaptively replaced with wide-angle intra-frame prediction modes. The replaced modes are signaled using the original method and remapped to the index of the wide-angle mode after parsing. The total number of intra-frame prediction modes for a block remains unchanged, for example 67, and the intra-frame mode encoding and decoding remains unchanged.
為了支持這些預測方向,如圖3A和圖3B中的示例所示,定義長度為2W+1的上側參考和長度為2H+1的左側參考。 To support these prediction directions, an upper reference of length 2W+1 and a left reference of length 2H+1 are defined as shown in the examples in Figures 3A and 3B.
在一些實施例中,廣角方向模式中的所替換的模式的模式編號取決於塊的長寬比。表1中示出了所替換的幀內預測模式。 In some embodiments, the mode number of the replaced mode in the wide angle direction mode depends on the aspect ratio of the block. The replaced intra-frame prediction modes are shown in Table 1.
如圖4所示,在廣角幀內預測的情況下,兩個垂直鄰近的預測樣點可以使用兩個非鄰近參考樣點。因此,低通參考樣點濾波和側平滑(side smoothing)被應用於廣角預測,以減少所增加的間隙△pα的負面影響。 As shown in Figure 4, in the case of wide-angle intra-frame prediction, two vertically adjacent prediction samples can use two non-adjacent reference samples. Therefore, low-pass reference sample filtering and side smoothing are applied to wide-angle prediction to reduce the negative impact of the increased gap Δp α .
1.4 基於位置的幀內預測組合(PDPC)的示例 1.4 Example of Position-Based Prediction Combination (PDPC)
在VTM2中,平面模式的幀內預測的結果通過基於位置的幀內預測組合(PDPC)方法被進一步修改。PDPC是一種調用未濾波的邊界參考樣點和具有濾波後的邊界參考樣點的HEVC式幀內預測的組合的幀內預測方法。PDPC應用於以下幀內模式而無 需信令通知:平面模式、DC模式、水平模式、垂直模式、左下角角度模式及其八個鄰近角度模式、以及右上角角度模式及其八個鄰近角度模式。 In VTM2, the results of intra prediction for planar mode are further modified by the Position-Based Intra Prediction Combination (PDPC) method. PDPC is an intra prediction method that calls for a combination of unfiltered boundary reference samples and HEVC-style intra prediction with filtered boundary reference samples. PDPC is applied to the following intra modes without signaling: planar mode, DC mode, horizontal mode, vertical mode, bottom left angle mode and its eight neighboring angle modes, and top right angle mode and its eight neighboring angle modes.
預測樣點pred(x,y)使用幀內預測模式(DC、平面、角度)和參考樣點的線性組合根據如下等式而預測:pred(x,y)=(wL×R-1,y+wT×Rx,-1-wTL×R-1,-1+(64-wL-wT+wTL)×pred(x,y)+32)>>shift The prediction sample pred(x,y) is predicted using the linear combination of the intra-frame prediction mode (DC, planar, angular) and the reference sample according to the following equation: pred(x,y)=(wL×R -1,y +wT×R x,-1 -wTL×R -1,-1 +(64-wL-wT+wTL)×pred(x,y)+32)>>shift
本文中,Rx,-1、R-1,y分別表示位於當前樣點(x,y)的上側和左側的參考樣點,並且R-1,-1表示位於當前塊的左上角的參考樣點。 Herein, R x,-1 , R -1,y represent reference samples located above and to the left of the current sample (x, y), respectively, and R -1,-1 represents a reference sample located at the upper left corner of the current block.
在一些實施例中,如果PDPC應用於DC模式、平面模式、水平模式和垂直模式,則不需要附加的邊界濾波,例如在HEVC的情況下需要的DC模式邊界濾波或水平/垂直模式邊緣濾波。 In some embodiments, if PDPC is applied to DC mode, planar mode, horizontal mode, and vertical mode, no additional boundary filtering is required, such as DC mode boundary filtering or horizontal/vertical mode edge filtering required in the case of HEVC.
圖5A-圖5D示出了在各種預測模式上應用的PDPC的參考樣點(Rx,-1、R-1,y和R-1,-1)的定義。預測樣點pred(x’,y’)位於預測塊內的(x’,y’)處。參考樣點Rx,-1的坐標x由x=x’+y’+1給出,並且參考樣點R-1,y的坐標y類似地由y=x’+y’+1給出。 5A-5D show the definition of reference samples (R x,-1 , R -1,y and R -1,-1 ) of PDPC applied on various prediction modes. The prediction sample pred(x',y') is located at (x',y') within the prediction block. The coordinate x of the reference sample R x,-1 is given by x=x'+y'+1, and the coordinate y of the reference sample R -1,y is similarly given by y=x'+y'+1.
在一些實施例中,PDPC權重取決於預測模式並被示出在表2中,其中S=shift。 In some embodiments, the PDPC weights depend on the prediction mode and are shown in Table 2, where S=shift.
1.5 色度編解碼的示例 1.5 Chroma encoding and decoding example
在HEVC色度編解碼中,對於色度塊允許五個模式(包括一個直接模式(Direct Mode,DM)和四個默認模式,該直接模式是來自左上角對應亮度塊的幀內預測模式)。這兩個顏色分量共享相同的幀內預測模式。 In HEVC chroma encoding and decoding, five modes are allowed for chroma blocks (including one direct mode (DM) and four default modes, where the direct mode is the intra-frame prediction mode from the corresponding luma block in the upper left corner). The two color components share the same intra-frame prediction mode.
在一些實施例中,不同於HEVC中的設計,已經提出了兩種新方法,包括:跨分量線性模型(CCLM)預測模式和多DM。 In some embodiments, different from the design in HEVC, two new methods have been proposed, including: Cross-Component Linear Model (CCLM) prediction mode and multi-DM.
1.5.1 跨分量線性模型(CCLM)的示例 1.5.1 Example of Cross-Component Linear Model (CCLM)
在一些實施例中,為了減少跨分量冗餘,在JEM中使用跨分量線性模型(CCLM)預測模式(也稱為LM),對於CCLM通過使用如下線性模型基於相同CU的重構亮度樣點來預測色度樣點:predC(i,j)=α.recL '(i,j)+β (1) In some embodiments, to reduce cross-component redundancy, a cross-component linear model (CCLM) prediction mode (also referred to as LM) is used in JEM, where CCLM predicts chrominance samples based on reconstructed luma samples of the same CU using the following linear model: pred C (i, j) = α. rec L ' (i, j) + β (1)
這裏,predC(i,j)表示CU中的預測色度樣點,並且對於顏色格式4:2:0或4:2:2,recL '(i,j)表示相同CU的降采樣的重構亮度樣點,而對於顏色格式4:4:4,recL '(i,j)表示相同CU的重構亮度樣點。CCLM參數α和β通過最小化當前塊周圍的相鄰重構亮度和色度樣點之間的回歸誤差來推導,如下所示:
以及 as well as
這裏,L(n)表示降采樣(對於顏色格式4:2:0或4:2:2)或原始(對於顏色格式4:4:4)的上側和左側相鄰重構亮度樣點,C(n)表示上側和左側相鄰重構色度樣點,並且N的值等於當前色度編解碼塊的寬度和高度中的最小一個的兩倍。 Here, L(n) represents the downsampled (for color format 4:2:0 or 4:2:2) or original (for color format 4:4:4) upper and left adjacent reconstructed luma samples, C(n) represents the upper and left adjacent reconstructed chroma samples, and the value of N is equal to twice the minimum of the width and height of the current chroma codec block.
在一些實施例中,對於方形形狀的編解碼塊,直接應用上述兩個等式。在其他實施例中,對於非方形編解碼塊,首先對較長邊界的相鄰樣點進行子采樣,以具有與較短邊界相同的數量的樣點。圖6示出了CCLM模式中涉及的左側和上側重構樣點以及當前塊的樣點的位置。 In some embodiments, for a square-shaped codec block, the above two equations are directly applied. In other embodiments, for a non-square codec block, the adjacent samples of the longer boundary are first sub-sampled to have the same number of samples as the shorter boundary. Figure 6 shows the positions of the left and top reconstruction samples and the samples of the current block involved in the CCLM mode.
在一些實施例中,該回歸誤差最小化計算是作為解碼過程的一部分而執行的,而不僅僅是作為編碼器搜索操作,所以不使用語法來傳達α值和β值。 In some embodiments, the regression error minimization calculation is performed as part of the decoding process, rather than just as an encoder search operation, so no syntax is used to communicate the alpha and beta values.
在一些實施例中,CCLM預測模式還包括兩個色度分量之間的預測,例如,從Cb(藍差(blue-difference))分量預測Cr(紅差(red-difference))分量。代替使用重構樣點信號,CCLM Cb到Cr(Cb-to-Cr)預測應用於殘差域中。這是通過將加權重構Cb殘差添加到原始Cr幀內預測來形成最終Cr預測而實施的:
這裏,resiCb '(i,j)表示位置(i,j)處的重構Cb殘差樣點。 Here, resi Cb ' (i,j) represents the reconstructed Cb residual sample at position (i,j).
在一些實施例中,縮放因子α可以以與CCLM亮度到色度
預測中相似的方式來推導。唯一的差异是相對於誤差函數中的默認α值添加了回歸成本,使得推導的縮放因子如下所示偏向默認值-0.5:
這裏,Cb(n)表示相鄰的重構Cb樣點,Cr(n)表示相鄰的重構Cr樣點,並且λ等於Σ(Cb(n).Cb(n))>>9。 Here, Cb(n) represents the adjacent reconstructed Cb sample point, Cr(n) represents the adjacent reconstructed Cr sample point, and λ is equal to Σ(Cb(n).Cb(n))>>9.
在一些實施例中,CCLM亮度到色度預測模式被添加作為一個附加的色度幀內預測模式。在編碼器側,添加了針對色度分量的再一個RD成本檢查,以用於選擇色度幀內預測模式。當除了CCLM亮度到色度預測模式之外的幀內預測模式用於CU的色度分量時,CCLM Cb到Cr預測用於Cr分量預測。 In some embodiments, CCLM luma-to-chroma prediction mode is added as an additional chroma intra prediction mode. On the encoder side, one more RD cost check for chroma components is added for selecting the chroma intra prediction mode. When an intra prediction mode other than CCLM luma-to-chroma prediction mode is used for the chroma components of a CU, CCLM Cb-to-Cr prediction is used for Cr component prediction.
1.5.2 多模型CCLM的示例 1.5.2 Example of multi-model CCLM
在JEM中,有兩個CCLM模式:單模型CCLM模式和多模型CCLM模式(Multiple Model CCLM Mode,MMLM)。如名稱所指示的,對於整個CU,單模型CCLM模式采用一個線性模型來從亮度樣點預測色度樣點的,而在MMLM中,可以有兩個模型。 In JEM, there are two CCLM modes: Single Model CCLM Mode and Multiple Model CCLM Mode (MMLM). As the name indicates, for the entire CU, Single Model CCLM Mode uses a linear model to predict chrominance samples from luma samples, while in MMLM, there can be two models.
在MMLM中,當前塊的相鄰亮度樣點和相鄰色度樣點被分類為兩組,每一組被用作訓練集以推導線性模型(即,針對特定組推導特定α和β)。此外,當前亮度塊的樣點也基於對相鄰亮度樣點進行分類的相同規則而分類。 In MMLM, the neighboring luma samples and neighboring chroma samples of the current block are classified into two groups, and each group is used as a training set to derive a linear model (i.e., derive a specific α and β for a specific group). In addition, the samples of the current luma block are also classified based on the same rules for classifying neighboring luma samples.
圖7示出了將相鄰樣點分類為兩組的示例。Threshold被計算為相鄰的重構亮度樣點的平均值。Rec′L[x,y]<=Threshold 的相鄰樣點被分類為組1;而Rec′L[x,y]>Threshold的相鄰樣點被分類為組2。 FIG7 shows an example of classifying neighboring samples into two groups. Threshold is calculated as the average value of neighboring reconstructed brightness samples. Neighboring samples with Rec′ L [x, y] <= Threshold are classified into group 1; and neighboring samples with Rec′ L [x, y] > Threshold are classified into group 2.
圖8A和圖8B分別示出了色度樣點及其對應亮度樣點的示例和聯合探索模型(JEM)中的跨分量線性模型(CCLM)的下濾波的示例。 Figures 8A and 8B show examples of chrominance samples and their corresponding luminance samples and an example of down-filtering of the cross-component linear model (CCLM) in the joint exploration model (JEM), respectively.
1.5.3 VVC中的色度編解碼的示例 1.5.3 Example of chroma encoding and decoding in VVC
關於現有實施方式,在VTM-2.0中采用了JEM中的CCLM,而在VTM-2.0中沒有采用JEM中的MM-CCLM。 Regarding the existing implementation method, CCLM in JEM is adopted in VTM-2.0, but MM-CCLM in JEM is not adopted in VTM-2.0.
在一些實施例中,對於色度幀內編解碼,可以首先推導色度幀內預測模式的候選列表,並且其中可以包括三個部分: In some embodiments, for chroma intra-frame encoding and decoding, a candidate list of chroma intra-frame prediction modes can be first derived, and the candidate list can include three parts:
(1)一個直接模式(DM),其被設置為與覆蓋色度塊的並置的左上角位置的亮度CB相關聯的一個幀內亮度預測模式。圖9A和圖9B中示出了示例,其中並置位置表示為“TL” (1) A direct mode (DM) that is set to an intra-frame luminance prediction mode associated with the luminance CB at the collocated upper left corner position of the overlaying chrominance block. Examples are shown in Figures 9A and 9B, where the collocated position is indicated as "TL"
(2)一個跨分量線性模型(CCLM)模式 (2) A cross-component linear model (CCLM) model
(3)四個默認模式(DC模式、平面模式、水平模式和垂直模式,如圖1中突出顯示的)。在一個示例中,如果四個默認模式中的一個與DM模式相同,則它由具有最大模式索引的幀內預測模式(例如,由圖10中描繪的虛線指示的幀內預測模式)替換。 (3) Four default modes (DC mode, planar mode, horizontal mode, and vertical mode, as highlighted in FIG1). In one example, if one of the four default modes is the same as the DM mode, it is replaced by the intra-frame prediction mode with the largest mode index (e.g., the intra-frame prediction mode indicated by the dotted line depicted in FIG10).
1.6 VVC2中的語法、語義和解碼的示例 1.6 Syntax, semantics and decoding examples in VVC2
在一些實施例中,幀內模式相關信息的語法和語義可以被如下指定:
編解碼單元語義的示例。在一些實施例中,語法元素intra_luma_mpm_flag[x0][y0]、intra_luma_mpm_idx[x0][y0]和intra_luma_mpm_remainder[x0][y0]指定亮度樣點的幀內預測 模式。陣列索引x0、y0指定所考慮的預測塊的左上角亮度樣點相對於圖片的左上角亮度樣點的位置(x0,y0)。當intra_luma_mpm_flag[x0][y0]等於1時,根據規範(例如,條款8.2.2)從相鄰的幀內預測的預測單元推斷幀內預測模式。 Example of codec unit semantics . In some embodiments, the syntax elements intra_luma_mpm_flag[x0][y0], intra_luma_mpm_idx[x0][y0], and intra_luma_mpm_remainder[x0][y0] specify the intra prediction mode for luma samples. The array indices x0, y0 specify the position (x0, y0) of the top-left luma sample of the prediction block under consideration relative to the top-left luma sample of the picture. When intra_luma_mpm_flag[x0][y0] is equal to 1, the intra prediction mode is inferred from the prediction unit of the adjacent intra prediction according to the specification (e.g., clause 8.2.2).
在一些實施例中,intra_chroma_pred_mode[x0][y0]指定色度樣點的幀內預測模式。陣列索引x0、y0指定所考慮的預測塊的左上角亮度樣點相對於圖片的左上角亮度樣點的位置(x0,y0)。 In some embodiments, intra_chroma_pred_mode[x0][y0] specifies the intra prediction mode for chroma samples. Array index x0, y0 specifies the position (x0, y0) of the top-left luma sample of the considered prediction block relative to the top-left luma sample of the picture.
推導亮度幀內預測模式的示例。在一些實施例中,該過程的輸入是亮度位置(xPb,yPb),其指定當前亮度預測塊的相對於當前圖片的左上角亮度樣點的左上角樣點。在該過程中,亮度幀內預測模式IntraPredModeY[xPb][yPb]被推導。表4指定了幀內預測模式的值和相關聯的名稱。 Example of deriving luma intra prediction mode . In some embodiments, the input to this process is the luma position (xPb, yPb) which specifies the top left corner sample of the current luma prediction block relative to the top left corner luma sample of the current picture. In this process, the luma intra prediction mode IntraPredModeY[xPb][yPb] is derived. Table 4 specifies the values and associated names of the intra prediction modes.
在表4的上下文中,幀內預測模式INTRA_CCLM僅可應用於色度分量,並且標記0..66的IntraPredModeY[xPb][yPb]表示如圖1所示的預測的方向。在一些實施例中,IntraPredModeY[xPb][yPb]通過以下順序步驟而推導: In the context of Table 4, the intra-frame prediction mode INTRA_CCLM is applicable only to chrominance components, and IntraPredModeY[xPb][yPb] labeled 0..66 represents the direction of prediction as shown in Figure 1. In some embodiments, IntraPredModeY[xPb][yPb] is derived by the following sequential steps:
1. 相鄰位置(xNbA,yNbA)和(xNbB,yNbB)分別被設置為等於(xPb-1,yPb)和(xPb,yPb-1)。 1. The adjacent positions (xNbA, yNbA) and (xNbB, yNbB) are set equal to (xPb-1, yPb) and (xPb, yPb-1) respectively.
2. 對於被A或B替換的X,變量candIntraPredModeX如下推導: 2. For X replaced by A or B, the variable candIntraPredModeX is derived as follows:
- 調用塊的可用性推導過程,其中位置(xCurr,yCurr)被設置為等於(xPb,yPb)並且相鄰位置(xNbY,yNbY)被設置為等於(xNbX,yNbX)作為輸入,並且輸出被分配給availableX。 - The availability derivation process of the call block is taken, where the position (xCurr, yCurr) is set equal to (xPb, yPb) and the adjacent position (xNbY, yNbY) is set equal to (xNbX, yNbX) as input, and the output is assigned to availableX.
- 候選幀內預測模式candIntraPredModeX如下推導: - The candidate intra-frame prediction mode candIntraPredModeX is derived as follows:
- 如果以下條件中的一個或多個為真,則candIntraPredModeX被設置為等於INTRA_DC。 - candIntraPredModeX is set equal to INTRA_DC if one or more of the following conditions are true.
- 變量availableX等於FALSE。 - The variable availableX is equal to FALSE.
- CuPredMode[xNbX][yNbX]不等於MODE_INTRA。 - CuPredMode[xNbX][yNbX] is not equal to MODE_INTRA.
- X等於B並且yPb-1小於((yPb>>CtbLog2SizeY)<<CtbLog2SizeY)。 - X is equal to B and yPb-1 is less than ((yPb>>CtbLog2SizeY)<<CtbLog2SizeY).
- 否則,candIntraPredModeX被設置為等於IntraPredModeY[xNbX][yNbX]。 - Otherwise, candIntraPredModeX is set equal to IntraPredModeY[xNbX][yNbX].
3. candModeList[x],其中x=0..2,如下推導: 3. candModeList[x], where x=0..2, is derived as follows:
- 如果candIntraPredModeB等於candIntraPredModeA,則以下適用: - If candIntraPredModeB is equal to candIntraPredModeA, the following applies:
- 如果candIntraPredModeA小於2(即等於INTRA_PLANAR或INTRA_DC),則candModeList[x],其中x=0..2,如下推導: candModeList[0]=INTRA_PLANAR (8-1) - If candIntraPredModeA is less than 2 (i.e. equal to INTRA_PLANAR or INTRA_DC), then candModeList[x], where x=0..2, is derived as follows: candModeList[0]=INTRA_PLANAR (8-1)
candModeList[1]=INTRA_DC (8-2) candModeList[1]=INTRA_DC (8-2)
candModeList[2]=INTRA_ANGULAR50 (8-3) candModeList[2]=INTRA_ANGULAR50 (8-3)
- 否則,candModeList[x],其中x=0..2,如下推導:candModeList[0]=candIntraPredModeA(8-4) - Otherwise, candModeList[x], where x=0..2, is derived as follows: candModeList[0]=candIntraPredModeA(8-4)
candModeList[1]=2+((candIntraPredModeA+61)% 64)(8-5) candModeList[1]=2+((candIntraPredModeA+61)% 64)(8-5)
candModeList[2]=2+((candIntraPredModeA-1)% 64)(8-6) candModeList[2]=2+((candIntraPredModeA-1)% 64)(8-6)
- 否則(candIntraPredModeB不等於candIntraPredModeA),以下適用: - Otherwise (candIntraPredModeB is not equal to candIntraPredModeA), the following applies:
- candModeList[0]和candModeList[1]如下推導:candModeList[0]=candIntraPredModeA(8-7) - candModeList[0] and candModeList[1] are derived as follows: candModeList[0]=candIntraPredModeA(8-7)
candModeList[1]=candIntraPredModeB(8-8) candModeList[1]=candIntraPredModeB(8-8)
- 如果candModeList[0]和candModeList[1]都不等於INTRA_PLANAR,則candModeList[2]被設置為等於INTRA_PLANAR, - If both candModeList[0] and candModeList[1] are not equal to INTRA_PLANAR, candModeList[2] is set equal to INTRA_PLANAR,
- 否則,如果candModeList[0]和candModeList[1]都不等於INTRA_DC,則candModeList[2]被設置為等於INTRA_DC, - Otherwise, if both candModeList[0] and candModeList[1] are not equal to INTRA_DC, candModeList[2] is set equal to INTRA_DC,
- 否則,candModeList[2]被設置為等於INTRA_ANGULAR50。 - Otherwise, candModeList[2] is set equal to INTRA_ANGULAR50.
4. IntraPredModeY[xPb][yPb]通過應用以下過程而被推導: 4. IntraPredModeY[xPb][yPb] is derived by applying the following process:
- 如果intra_luma_mpm_flag[xPb][yPb]等於1,則IntraPredModeY[xPb][yPb]被設置為等於candModeList[intra_luma_mpm_idx[xPb][yPb]]。 - If intra_luma_mpm_flag[xPb][yPb] is equal to 1, then IntraPredModeY[xPb][yPb] is set equal to candModeList[intra_luma_mpm_idx[xPb][yPb]].
- 否則,IntraPredModeY[xPb][yPb]通過應用以下順序步驟而被推導: - Otherwise, IntraPredModeY[xPb][yPb] is derived by applying the following sequence of steps:
1. 陣列candModeList[x],其中x=0..2,通過以下順序步驟而被修改: 1. The array candModeList[x], where x=0..2, is modified by the following sequence of steps:
i. 當candModeList[0]大於candModeList[1]時,兩個值如下交換:(candModeList[0],candModeList[1])=Swap(candModeList[0],candModeList[1]) (8-9) i. When candModeList[0] is greater than candModeList[1], the two values are swapped as follows: (candModeList[0], candModeList[1])=Swap(candModeList[0], candModeList[1]) (8-9)
ii. candModeList[0]大於candModeList[2]時,兩個值如下交換:(candModeList[0],candModeList[2])=Swap(candModeList[0],candModeList[2]) (8-10) ii. When candModeList[0] is greater than candModeList[2], the two values are swapped as follows: (candModeList[0], candModeList[2])=Swap(candModeList[0], candModeList[2]) (8-10)
iii. candModeList[1]大於candModeList[2]時,兩個值如下交換:(candModeList[1],candModeList[2])= Swap(candModeList[1],candModeList[2]) (8-11) iii. When candModeList[1] is greater than candModeList[2], the two values are swapped as follows: (candModeList[1], candModeList[2]) = Swap(candModeList[1], candModeList[2]) (8-11)
2. IntraPredModeY[xPb][yPb]通過以下順序步驟而被推導: 2. IntraPredModeY[xPb][yPb] is derived through the following sequence of steps:
i. IntraPredModeY[xPb][yPb]被設置為等於intra_luma_mpm_remainder[xPb][yPb]。 i. IntraPredModeY[xPb][yPb] is set equal to intra_luma_mpm_remainder[xPb][yPb].
ii. 對於i等於0至2(含0和2),當IntraPredModeY[xPb][yPb]大於或等於candModeList[i]時,IntraPredModeY[xPb][yPb]的值以1遞增。 ii. For i equal to 0 to 2 (inclusive), when IntraPredModeY[xPb][yPb] is greater than or equal to candModeList[i], the value of IntraPredModeY[xPb][yPb] is incremented by 1.
變量IntraPredModeY[x][y],其中x=xPb..xPb+cbWidth-1且y=yPb..yPb+cbHeight-1,被設置為等於IntraPredModeY[xPb][yPb]。 The variable IntraPredModeY[x][y], where x=xPb..xPb+cbWidth-1 and y=yPb..yPb+cbHeight-1, is set equal to IntraPredModeY[xPb][yPb].
推導色度幀內預測模式的示例。在一些實施例中,該過程的輸入是亮度位置(xPb,yPb),其指定當前色度預測塊的相對於當前圖片的左上角亮度樣點的左上角樣點。在該過程中,推導色度幀內預測模式IntraPredModeC[xPb][yPb]。 Example of deriving chroma intra prediction mode . In some embodiments, the input to this process is the luma position (xPb, yPb) which specifies the top left corner sample of the current chroma prediction block relative to the top left corner luma sample of the current picture. In this process, the chroma intra prediction mode IntraPredModeC[xPb][yPb] is derived.
在一些實施例中,使用如表5和表6中指定的intra_chroma_pred_mode[xPb][yPb]和IntraPredModeY[xPb][yPb]推導色度幀內預測模式IntraPredModeC[xPb][yPb]。 In some embodiments, the chroma intra-frame prediction mode IntraPredModeC[xPb][yPb] is derived using intra_chroma_pred_mode[xPb][yPb] and IntraPredModeY[xPb][yPb] as specified in Tables 5 and 6.
表5:針對sps_cclm_enabled_flag=0的IntraPredModeC[xPb][yPb]的示例規範
1.7 多直接模式(DM)的示例 1.7 Example of multiple direct mode (DM)
最近JEM采用了現有實施方式(例如,JVET-D0111)。由於I條帶中的亮度和色度分量的單獨塊分割結構,一個色度CB可以對應於幾個亮度CB。因此,為了進一步提高編解碼效率,提出了一種用於色度幀內編解碼的多直接模式(Multiple Direct Modes,MDM)方法。在MDM中,色度模式候選的列表包括以下三個部分: Recently, JEM has adopted existing implementations (e.g., JVET-D0111). Due to the separate block partitioning structure of luma and chroma components in the I slice, one chroma CB can correspond to several luma CBs. Therefore, in order to further improve the coding efficiency, a Multiple Direct Modes (MDM) method for coding and decoding within chroma frames is proposed. In MDM, the list of chroma mode candidates includes the following three parts:
(1)CCLM模式 (1)CCLM mode
(2)從覆蓋當前色度塊的並置的五個位置的亮度CB推導的幀內預測模式:要按順序檢查的五個位置被定義為:在I條帶的當前色度塊的對應亮度塊內的中心、左上角、右上角、左下 角和右下角4x4塊。對於P條帶和B條帶,不需要檢查這五個子塊,因為它們將在一個CB內。圖11A和圖11B中示出了五個並置亮度位置的示例,它們分別由CR、TL、TR、BL和BR表示。 (2) Intra-frame prediction mode derived from five collocated luma CBs covering the current chroma block: The five positions to be checked in order are defined as: the center, top left, top right, bottom left, and bottom right 4x4 blocks within the corresponding luma block of the current chroma block for the I slice. For P and B slices, these five sub-blocks do not need to be checked because they will be within one CB. Examples of five collocated luma positions are shown in Figures 11A and 11B, which are represented by CR, TL, TR, BL, and BR, respectively.
(3)用來統一亮度和色度模式推導過程的來自空域相鄰塊的色度預測模式(注明移除和添加): (3) Chroma prediction models from spatially adjacent blocks used to unify the derivation process of luminance and chroma models (note removals and additions):
○來自當前塊的左側、上側、左下側、右上側和左上側空域相鄰塊的5個色度預測模式,以及如Merge模式中的5個空域塊的位置(平面模式和DC模式被移除) ○ 5 chroma prediction modes from the left, top, bottom left, top right and top left spatial neighbors of the current block, and the positions of the 5 spatial blocks as in Merge mode (Planar and DC modes are removed)
○平面模式和DC模式被添加 ○ Planar mode and DC mode added
○推導的模式被添加,這些幀內模式通過將-1或+1添加到已經被包括到列表中的角度模式而獲得 ○ Derived modes are added, these in-frame modes are obtained by adding -1 or +1 to the angle modes already included in the list
○默認模式按以下順序被添加:垂直(模式18)、水平(模式50)、模式2、模式34、模式66、模式10、模式26(模式66、模式10和模式26被添加) ○Default modes are added in the following order: vertical (mode 18), horizontal (mode 50), mode 2, mode 34, mode 66, mode 10, mode 26 (mode 66, mode 10 and mode 26 are added)
○添加以下規則:如果四個默認模式(平面模式、水平模式、垂直模式和DC模式)中的任何一個不被包括在列表中,則缺失的默認模式用來替換最後一個或多個候選。 ○ Add the following rule: If any of the four default modes (planar, horizontal, vertical, and DC) is not included in the list, the missing default mode is used to replace the last candidate or candidates.
在一些實施例中,每當新的色度幀內模式被添加到候選列表時,都應用修剪過程。在該貢獻中,色度幀內模式候選列表尺寸總是被設置為10。 In some embodiments, the pruning process is applied every time a new chroma intra mode is added to the candidate list. In this contribution, the chroma intra mode candidate list size is always set to 10.
1.8 幀內塊複製的示例 1.8 Example of copying blocks within a frame
在一些實施例中,HEVC屏幕內容編解碼(Screen Content Coding,SCC)擴展采用新的編解碼工具,幀內塊複製(IBC),也名為幀內塊補償或當前圖片參考(Current Picture Referencing,CPR),在編解碼性能改進方面是非常有效的技術。IBC是從位於相同圖片的已經重構的區域的參考塊預測當前預測塊的塊匹配技術。 In some embodiments, HEVC Screen Content Coding (SCC) is extended with a new codec tool, Intra-frame Block Copying (IBC), also known as Intra-frame Block Compensation or Current Picture Referencing (CPR), which is a very effective technique in improving codec performance. IBC is a block matching technique that predicts the current prediction block from a reference block located in an already reconstructed area of the same picture.
在IBC中,位移向量(稱為塊向量或BV、或運動向量)用來信令通知從當前塊的位置到參考塊的位置的相對位移。此外,相同圖片內的先前重構的參考塊被添加到預測誤差,以形成重構的當前塊。在該技術中,參考樣點對應於環路濾波操作之前的當前圖片的重構樣點。在HEVC中,環路濾波是指去方塊濾波和樣點自適應偏移(Sample Adaptive Offset,SAO)濾波。圖12中示出了幀內塊補償的示例。 In IBC, a displacement vector (called a block vector or BV, or motion vector) is used to signal the relative displacement from the position of the current block to the position of a reference block. In addition, a previously reconstructed reference block within the same picture is added to the prediction error to form the reconstructed current block. In this technique, the reference samples correspond to the reconstructed samples of the current picture before the loop filtering operation. In HEVC, loop filtering refers to deblocking filtering and sample adaptive offset (SAO) filtering. An example of intra-frame block compensation is shown in Figure 12.
在一些實施例中,在序列和圖片級別處信令通知對IBC模式的使用。當IBC模式在序列參數集(Sequence Parameter Set,SPS)處被啟用時,它可以在圖片級別處被啟用。當IBC模式在圖片級別處被啟用時,當前重構圖片被視為參考圖片。因此,在HEVC SCC中,除了現有的HEVC幀間模式之外,不需要塊級別上的語法改變來信令通知對IBC模式的使用。 In some embodiments, the use of IBC mode is signaled at the sequence and picture level. When IBC mode is enabled at the Sequence Parameter Set (SPS), it can be enabled at the picture level. When IBC mode is enabled at the picture level, the current reconstructed picture is considered as a reference picture. Therefore, in HEVC SCC, no syntax changes at the block level are required to signal the use of IBC mode in addition to the existing HEVC inter-frame mode.
在一些實施例中,以下是HEVC SCC中的IBC模式的特徵的列表: In some embodiments, the following is a list of features of IBC mode in HEVC SCC:
-- 在IBC模式中支持HEVC幀間模式中的所有預測單元分割模式,例如2N×2N或2N×N或N×2N或N×N和非對稱運動分 割(Asymmetrical Motion Partitioning,AMP)模式。 -- Support all prediction unit partitioning modes in HEVC inter-frame mode in IBC mode, such as 2N×2N or 2N×N or N×2N or N×N and asymmetrical motion partitioning (AMP) mode.
-- Merge和跳過模式也可用於IBC模式。Merge候選列表建構是統一的,包含來自相鄰位置的以IBC模式或以HEVC幀間模式編解碼的Merge候選。取決於所選擇的Merge索引,Merge或跳過模式下的當前塊可以合並到IBC模式編解碼的鄰居或HEVC幀間模式編解碼的鄰居中。 -- Merge and Skip modes are also available in IBC mode. The Merge candidate list construction is unified and contains Merge candidates from neighboring locations coded in IBC mode or in HEVC inter-frame mode. Depending on the selected Merge index, the current block in Merge or Skip mode can be merged into the neighbor coded in IBC mode or the neighbor coded in HEVC inter-frame mode.
-- 用於IBC模式的塊向量預測和編解碼方案重用用於HEVC幀間模式中的運動向量預測和編解碼的方案(AMVP和MVD編解碼)。 -- The block vector prediction and coding scheme for IBC mode reuses the motion vector prediction and coding scheme used in HEVC inter-frame mode (AMVP and MVD codecs).
-- 殘差變換、量化和係數編解碼與HEVC幀間模式中相同。 -- Residual transform, quantization and coefficient encoding and decoding are the same as in HEVC inter-frame mode.
除了上面列舉的特徵之外,一些實施例包括用於IBC模式的附加的特徵(或處理),包括: In addition to the features listed above, some embodiments include additional features (or processes) for IBC mode, including:
-- IBC模式的運動向量,也稱為塊向量,以整數像素精度編解碼,但解碼後以四分之一像素精度儲存在儲存器中,因為插值和去方塊階段需要四分之一像素精度。當所儲存的向量預測值用於IBC模式的運動向量預測時,所儲存的向量預測值將被右移2。 -- IBC mode motion vectors, also called block vectors, are encoded and decoded with integer pixel precision, but are stored in registers with quarter pixel precision after decoding because the interpolation and deblocking stages require quarter pixel precision. When the stored vector prediction value is used for IBC mode motion vector prediction, the stored vector prediction value will be right shifted by 2.
-- 具有啟用的IBC模式的條帶將被視為P條帶或B條帶,即使除了當前圖片本身之外沒有其他圖片被用作參考圖片。 -- A slice with enabled IBC mode will be treated as a P slice or a B slice, even if no other pictures are used as reference pictures except the current picture itself.
-- 對於IBC模式禁用加權預測,因為沒有觀察到明顯的壓縮益處。 -- Disable weighted prediction for IBC mode as no significant compression benefit was observed.
2 現有實施方式中的缺點的示例 2 Examples of shortcomings in existing implementations
JEM或VTM中的當前幀內模式編解碼實施方式至少展示出以下問題: Current intra-frame mode codec implementations in JEM or VTM exhibit at least the following issues:
●對於亮度編解碼,僅考慮鄰近的空域相鄰塊的預測模式。先前編解碼塊的統計幀內預測信息的缺乏導致有限的編解碼性能改進。 ●For luma codecs, only the prediction patterns of nearby spatially neighboring blocks are considered. The lack of statistical intra-frame prediction information of previously coded blocks results in limited codec performance improvements.
●在現有實施方式中,提出檢查要被添加到MPM列表的更多相鄰塊,以便更好地編解碼幀內預測模式。由於鄰近的空域相鄰塊的多次存取,複雜性也增加了。 ● In existing implementations, it is proposed to check more neighboring blocks to be added to the MPM list for better encoding and decoding of intra-frame prediction modes. The complexity is also increased due to multiple accesses of nearby spatial neighboring blocks.
●對於色度編解碼,多DM解決方案可以帶來附加的編解碼增益,代價是更高的複雜性,因為相鄰色度模式需要被儲存,而這在HEVC中是不需要的。 ●For chroma coding, multi-DM solution can bring additional coding gain at the cost of higher complexity, because adjacent chroma modes need to be stored, which is not required in HEVC.
●IBC可以處理遠離當前塊的重複圖案,並且幀內編解碼模式可以處理減少更少的空域相關性。然而,兩個中的任何一個都只能對某種情況有益。 ●IBC can handle repeated patterns far from the current block, and intra-frame encoding and decoding mode can handle fewer spatial dependencies. However, either one is only beneficial in certain situations.
3 基於過去信息的幀內模式編解碼的示例方法 3 Example method of intra-frame mode encoding and decoding based on past information
本公開技術的實施例克服了現有實施方式的缺點,從而提供了編解碼效率更高但計算複雜性更低的視頻編解碼。基於過去信息的幀內模式編解碼,如在本文件中所描述的,可以增強現有視頻編解碼標準和未來視頻編解碼標準,在針對各種實施方式描述的以下示例中被闡述。下面提供的所公開技術的示例解釋了一般概念,並且不意味著被解釋為限制。在示例中,除非明確相 反指示,否則這些示例中描述的各種特徵可以被組合。 Embodiments of the disclosed technology overcome the shortcomings of existing implementations, thereby providing video codecs with higher coding efficiency but lower computational complexity. Intra-frame mode coding based on past information, as described in this document, can enhance existing video codec standards and future video codec standards, as illustrated in the following examples described for various implementations. The examples of the disclosed technology provided below illustrate the general concepts and are not meant to be interpreted as limiting. In the examples, the various features described in these examples may be combined unless explicitly indicated otherwise.
基於歷史信息的幀內模式編解碼的示例Example of intra-frame mode encoding and decoding based on historical information
示例1。在一個示例中,可以在編碼/解碼過程中維護具有幀內預測模式(Intra Prediction Mode,IPM)的統計信息的表,以幫助幀內模式編解碼。 Example 1. In one example, a table with statistics of intra prediction mode (IPM) may be maintained during encoding/decoding to assist intra mode encoding and decoding.
(a)在一個示例中,該表包括每個IPM的出現(occurrence)和/或頻率。可替代地,該表可以具有允許的IPM的部分集合的條目。 (a) In one example, the table includes the occurrence and/or frequency of each IPM. Alternatively, the table may have entries for a partial set of allowed IPMs.
(b)表中列出的部分IPM可以作為新的MPM被添加到MPM列表。 (b) Some of the IPMs listed in the table can be added to the MPM list as new MPMs.
(i)在一個示例中,來自空域相鄰塊的IPM首先按順序被添加到MPM列表。之後,來自該表的一些IPM可以在修剪之後按順序被添加。如果列表未滿,則還可以添加推導的IPM。 (i) In one example, IPMs from spatially adjacent blocks are first added to the MPM list in order. Afterwards, some IPMs from that table may be added in order after pruning. If the list is not full, derived IPMs may also be added.
(ii)在一個示例中,MPM列表尺寸可以擴展。在這種情況下,來自空域相鄰塊和推導的模式的IPM可以首先按順序被添加到MPM列表。之後,來自該表的一些IPM可以在修剪之後按順序被添加。 (ii) In one example, the MPM list size may be expanded. In this case, IPMs from spatially adjacent blocks and derived patterns may first be added to the MPM list in sequence. Afterwards, some IPMs from that table may be added in sequence after pruning.
(c)被包括在MPM列表中的IPM可以基於該表而重新排序。 (c) The IPMs included in the MPM list can be reordered based on this table.
(i)在一個示例中,首先基於相鄰塊和推導的模式來建構MPM列表(例如,如章節1.2中所描述的)。之後,基於與記錄在表中的IPM相關聯的出現或頻率的降序,對MPM列表進行 重新排序。這樣,MPM列表中具有最高出現或頻率的IPM將被調整為處於MPM列表的第一位置。 (i) In one example, an MPM list is first constructed based on neighbor blocks and inferred patterns (e.g., as described in Section 1.2). Thereafter, the MPM list is reordered based on the descending order of the occurrence or frequency associated with the IPMs recorded in the table. Thus, the IPM with the highest occurrence or frequency in the MPM list will be adjusted to be at the first position in the MPM list.
示例2。不同的表可以用於不同的顏色分量。 Example 2. Different tables can be used for different color components.
(a)例如,一個表用於亮度幀內模式編解碼,並且另一個表用於色度幀內模式編解碼。 (a) For example, one table is used for luma intra-mode coding and another table is used for chroma intra-mode coding.
(b)可替代地,僅一個表用於亮度幀內模式編解碼。 (b) Alternatively, only one table is used for luma intra-mode encoding and decoding.
(c)可替代地,使用多個表還是一個表取決於單獨的編解碼樹是否分別用於亮度和色度。 (c) Alternatively, whether multiple tables or one table is used depends on whether separate codec trees are used for luma and chroma.
示例3。表中的一個模式M的頻率或出現在用模式M對塊進行解碼之後被累加K(例如,K=1) Example 3. The frequency or occurrence of a mode M in the table is accumulated by K (e.g., K=1) after decoding a block with mode M.
(a)在一個示例中,模式的出現具有最大值(例如,255)。 (a) In one example, the occurrence of a pattern has a maximum value (e.g., 255).
(b)如果模式的至少一個出現達到最大值,則應用規則化(regulation)(或歸一化)過程。 (b) If at least one occurrence of the pattern reaches a maximum, a regularization (or normalization) process is applied.
(i)在一個示例中,表中的所有出現數被右移一個數,諸如2。 (i) In one example, all occurrences of a number in a table are shifted right by one number, say 2.
(ii)在另一示例中,表中的所有出現數減去一個數,諸如表中的最小出現數。 (ii) In another example, all occurrences in the table are reduced by a number, such as the minimum occurrence in the table.
示例4。代替利用鄰近的相鄰塊的IPM來對塊進行編解碼,可以利用非鄰近的相鄰塊的幀內預測模式。 Example 4. Instead of using the IPM of adjacent neighboring blocks to encode and decode a block, the intra-frame prediction mode of non-adjacent neighboring blocks can be used.
(a)非鄰近的相鄰塊的IPM可以被添加到MPM列表。可替代地,可以應用IPM的修剪。如果非鄰近的相鄰塊的IPM不 同於MPM列表中的任何IPM,則它可以被添加到MPM列表。 (a) The IPM of a non-adjacent neighbor block may be added to the MPM list. Alternatively, pruning of the IPM may be applied. If the IPM of a non-adjacent neighbor block is different from any IPM in the MPM list, it may be added to the MPM list.
(b)在一個示例中,MPM列表尺寸可以被擴展。在這種情況下,來自鄰近的相鄰塊和推導的模式的IPM可以首先按順序被添加到MPM列表。之後,來自非鄰近的相鄰塊的IPM可以在修剪之後按順序被添加。 (b) In one example, the MPM list size may be expanded. In this case, IPMs from adjacent neighbor blocks and derived patterns may be first added to the MPM list in order. Afterwards, IPMs from non-adjacent neighbor blocks may be added in order after pruning.
(c)非鄰近的相鄰塊的IPM可以用來對非MPM IPM進行重新排序。在一個示例中,對於與非鄰近的相鄰塊相關聯的那些IPM,可以分配更高的優先級,例如,可以使用更少的位元來對它們進行編解碼。 (c) IPMs of non-adjacent neighboring blocks can be used to reorder non-MPM IPMs. In one example, those IPMs associated with non-adjacent neighboring blocks can be assigned a higher priority, for example, they can be encoded or decoded using fewer bits.
示例5。與當前塊相關聯的IPM的編解碼可以取決於該表、來自鄰近的空域相鄰塊的IPM、來自非鄰近的空域相鄰塊的IPM。 Example 5. The encoding and decoding of the IPM associated with the current block may depend on the table, the IPMs from adjacent spatially neighboring blocks, and the IPMs from non-adjacent spatially neighboring blocks.
對鄰近的相鄰塊的選擇的示例Example of selection of adjacent neighbors
示例6。代替使用相對於當前塊的左上角位置的上側和左側相鄰塊來用於幀內模式編解碼(諸如使用上側和左側相鄰塊的幀內預測模式來建構MPM列表),可以利用不同的位置。 Example 6. Instead of using the top and left neighboring blocks relative to the top left corner position of the current block for intra mode encoding and decoding (such as using intra prediction mode of the top and left neighboring blocks to construct the MPM list), different positions can be used.
(a)在一個示例中,相對於當前塊的左上角位置的上側相鄰塊由相對於當前塊的第一列的中心位置的上側相鄰塊替換,如圖13A所示。 (a) In one example, the upper neighboring block relative to the upper left corner position of the current block is replaced by the upper neighboring block relative to the center position of the first column of the current block, as shown in FIG13A.
(b)在一個示例中,相對於當前塊的左上角位置的左側相鄰塊由相對於當前塊的第一行的中心位置的左側相鄰塊替換,如圖13D所示。 (b) In one example, the left neighboring block relative to the upper left corner position of the current block is replaced by the left neighboring block relative to the center position of the first row of the current block, as shown in FIG13D.
示例7。代替利用所有種類的塊的固定的M個相對相鄰塊,對M個相鄰塊的選擇可以取決於塊形狀和/或塊尺寸。 Example 7. Instead of utilizing fixed M relative neighbor blocks for all kinds of blocks, the selection of the M relative neighbor blocks may depend on the block shape and/or the block size.
(a)在一個示例中,如果塊是方形塊,則相對於用於幀內模式編解碼的當前塊的左上角位置的上側和左側相鄰塊的幀內預測模式可以用於編解碼當前塊的幀內預測模式。 (a) In one example, if the block is a square block, the intra prediction modes of the upper and left neighboring blocks relative to the upper left corner position of the current block for intra mode encoding and decoding may be used for encoding and decoding the intra prediction mode of the current block.
(b)在一個示例中,如果塊是非方形塊,則相對於用於幀內模式編解碼的當前塊的第一列和/或第一行的中心位置的上側和/或左側相鄰塊的幀內預測模式可以用於編解碼當前塊的幀內預測模式。 (b) In one example, if the block is a non-square block, the intra prediction mode of the upper and/or left adjacent blocks relative to the center position of the first column and/or first row of the current block used for intra mode encoding and decoding can be used to encode the intra prediction mode of the current block.
一個幀內編解碼塊的多個預測塊的示例Example of multiple prediction blocks for a single frame codec block
示例8。來自包含當前塊的相同片/條帶/圖片的重構樣點可以用來生成多個預測塊。 Example 8. Reconstructed samples from the same slice/strip/picture containing the current block can be used to generate multiple prediction blocks.
(a)在一個示例中,可以首先生成兩個預測塊,並且從這兩個預測塊生成最終預測塊。其中它們中的一個通過幀內預測模式而生成,並且另一個通過指向包含當前塊的相同片/條帶/圖片(例如,幀內塊複製;並且運動向量也稱為塊向量)的運動向量而生成。 (a) In one example, two prediction blocks may be first generated, and a final prediction block may be generated from the two prediction blocks. One of them is generated by intra prediction mode, and the other is generated by a motion vector pointing to the same slice/strip/picture containing the current block (e.g., intra block copy; and the motion vector is also referred to as a block vector).
(b)在一個示例中,線性函數被應用於兩個預測塊,以推導最終幀內預測塊。 (b) In one example, a linear function is applied to two prediction blocks to derive the final intra-frame prediction block.
(i)可替代地,僅最終預測塊的一部分從多個(例如,兩個)預測塊生成,並且剩餘部分從多個預測塊中的一個直接複製。 (i) Alternatively, only a portion of the final prediction block is generated from multiple (e.g., two) prediction blocks, and the remainder is copied directly from one of the multiple prediction blocks.
(ii)在一個示例中,兩個預測塊的平均(即,兩個預測塊的權重相等)被用作最終幀內預測塊。 (ii) In one example, the average of two prediction blocks (i.e., the two prediction blocks are equally weighted) is used as the final intra-frame prediction block.
(iii)在一個示例中,可以對相對於一個塊的不同的位置應用不同的權重,和/或可以對不同的幀內預測模式應用不同的權重。 (iii) In one example, different weights may be applied to different positions relative to a block, and/or different weights may be applied to different intra-frame prediction modes.
(iv)在一個示例中,可以在SPS/PPS/VPS/圖片或序列或條帶標頭/片/CTU組/CTU/CU/PU/TU中信令通知權重。 (iv) In one example, the weights may be signaled in SPS/PPS/VPS/picture or sequence or slice header/slice/CTU group/CTU/CU/PU/TU.
(v)可以預先定義應用於兩個預測塊的權重。 (v) The weights applied to the two prediction blocks can be predefined.
示例9。上述方法可以在某些條件下應用。 Example 9. The above method can be applied under certain conditions.
(a)它可以應用於某些顏色分量,例如,僅亮度分量。 (a) It can be applied to certain color components, for example, only the brightness component.
(b)它可以應用於某個塊尺寸/塊形狀等。 (b) It can be applied to a certain block size/block shape etc.
示例10。當IBC被視為幀間模式(即,具有用來推導預測塊的至少一個運動向量)時,可以使用基於歷史的運動向量預測(History-based Motion Vector Prediction,HMVP)方法,該方法利用用於運動信息預測的先前編解碼的運動信息。HMVP方法允許基於歷史數據(例如,已經被處理的塊)執行編碼/解碼過程。在編碼/解碼過程期間,具有來自先前編解碼塊的運動信息的一個或多個表被維護。每個表可以與計數器相關聯,以跟踪儲存在表中的運動候選的數量。在一個塊的編碼/解碼期間,可以取決於塊的編解碼特性(例如,塊是否是IBC編解碼)(例如,通過添加到運動候選列表)使用表中的相關聯的運動信息。在對塊進行編碼/解碼之後,可以基於塊的編解碼特性來更新表。也就是說,表的 更新基於編碼/解碼順序。在一些實施例中,在處理新的條帶、新的最大編解碼單元(Largest Coding Unit,LCU)行或新的片之前,可以重置表(例如,移除所儲存的候選並將相關聯的計數器設置為0)。 Example 10. When IBC is considered as an inter-frame mode (i.e., having at least one motion vector used to derive a predicted block), a history-based motion vector prediction (HMVP) method can be used, which utilizes motion information from previous codecs for motion information prediction. The HMVP method allows the encoding/decoding process to be performed based on historical data (e.g., blocks that have already been processed). During the encoding/decoding process, one or more tables with motion information from previously encoded and decoded blocks are maintained. Each table can be associated with a counter to track the number of motion candidates stored in the table. During the encoding/decoding of a block, the associated motion information in the table can be used depending on the codec characteristics of the block (e.g., whether the block is an IBC codec) (e.g., by adding to a motion candidate list). After encoding/decoding a block, the table may be updated based on the codec characteristics of the block. That is, the table is updated based on the encoding/decoding order. In some embodiments, the table may be reset (e.g., removing the stored candidates and setting the associated counters to 0) before processing a new slice, a new Largest Coding Unit (LCU) row, or a new slice.
(a)在一個示例中,可以用來自IBC編解碼塊的運動信息更新查找表。 (a) In one example, the lookup table can be updated with motion information from an IBC codec block.
(b)可替代地,不允許用來自IBC編解碼塊的運動信息更新查找表。 (b) Alternatively, do not allow the lookup table to be updated with motion information from IBC codec blocks.
(c)在一個示例中,對於IBC模式,不允許來自先前編解碼塊的運動信息預測IBC編解碼塊的運動信息。 (c) In one example, for IBC mode, motion information from previous codec blocks is not allowed to predict motion information of an IBC codec block.
(d)在一個示例中,僅來自先前IBC編解碼塊的運動信息可以用來預測當前IBC編解碼塊的運動信息。一個查找表用來僅包括來自IBC編解碼塊的運動信息,並且這樣的查找表僅用於IBC編解碼塊。 (d) In one example, only motion information from a previous IBC codec block can be used to predict motion information for a current IBC codec block. A lookup table is used to include only motion information from an IBC codec block, and such a lookup table is used only for IBC codec blocks.
(e)可替代地,對於IBC模式,允許來自先前編解碼塊的運動信息預測IBC編解碼塊的運動信息。 (e) Alternatively, for IBC mode, motion information from previous codec blocks is allowed to predict motion information for the IBC codec block.
(i)在一個示例中,查找表可以包括來自IBC編解碼塊和其他種類的幀間編解碼塊的運動信息。例如,如果查找表中的運動候選是從IBC編解碼塊推導的,則它可以用來對當前IBC編解碼塊進行編碼/解碼。 (i) In one example, the lookup table may include motion information from IBC codec blocks and other types of inter-frame codec blocks. For example, if a motion candidate in the lookup table is derived from an IBC codec block, it can be used to encode/decode the current IBC codec block.
(ii)可替代地,可能需要多個查找表,並且它們中的至少一個僅包括來自IBC編解碼塊的運動信息,並且它們中的一個 僅包括來自其他種類的幀間編解碼塊的運動信息。例如,第一查找表可以包括IBC編解碼塊的運動信息。不同的第二查找表可以包括不是IBC編解碼的塊(例如,該塊可以用幀間模式編解碼)的運動信息。在相應的轉換完成之後,可以更新第一查找更新表和第二查找更新表。在一些實施例中,可以使用更新後的第一查找表來執行IBC編解碼塊的第一後續轉換,並且可以使用更新後的第二查找表來執行幀間編解碼塊的第二後續轉換。 (ii) Alternatively, multiple lookup tables may be required, and at least one of them includes only motion information from IBC-coded blocks, and one of them includes only motion information from other types of inter-frame coded blocks. For example, a first lookup table may include motion information for IBC-coded blocks. A different second lookup table may include motion information for blocks that are not IBC-coded (e.g., blocks that may be coded in inter-frame mode). The first lookup update table and the second lookup update table may be updated after the corresponding conversions are completed. In some embodiments, the updated first lookup table may be used to perform a first subsequent conversion of the IBC-coded block, and the updated second lookup table may be used to perform a second subsequent conversion of the inter-frame coded block.
在一些實施例中,在通過添加從編解碼塊獲得的運動候選來如示例10所述更新查找表之前,可以應用修剪。 In some embodiments, pruning can be applied before updating the lookup table as described in Example 10 by adding motion candidates obtained from the codec block.
(a)在一個示例中,要添加的新運動候選需要與所選擇的表中的所有現有運動候選進行修剪。也就是說,可以將新運動候選與所選擇的表中的所有現有運動候選進行比較,以確保沒有重複的候選。 (a) In one example, new motion candidates to be added need to be pruned against all existing motion candidates in the selected table. That is, the new motion candidates can be compared with all existing motion candidates in the selected table to ensure that there are no duplicate candidates.
(b)可替代地,新運動候選可以僅與某個數量的現有運動候選進行修剪。例如,在選擇性地將它添加作為LUT的最後條目之前,可以將其與查找表中的最後m個運動候選(m是整數)進行比較。 (b) Alternatively, a new motion candidate may be pruned only against a certain number of existing motion candidates. For example, it may be compared against the last m motion candidates (m being an integer) in the lookup table before optionally adding it as the last entry in the LUT.
(c)在一些實施例中,所選擇的表是用來建構編解碼塊的從其獲得運動候選的運動候選列表的表。在一些實施例中,運動候選可以用來更新可用查找表的部分或全部。 (c) In some embodiments, the selected table is used to construct a motion candidate list from which motion candidates are obtained for a codec block. In some embodiments, the motion candidates can be used to update some or all of the available lookup tables.
在一些實施例中,當用Merge或AMVP模式對塊進行編解碼時,可以使用如示例10所述的查找表。也就是說,可以使用 IBC Merge模式或IBC AMVP模式對當前塊進行編解碼。 In some embodiments, when a block is encoded or decoded using the Merge or AMVP mode, a lookup table as described in Example 10 may be used. That is, the current block may be encoded or decoded using the IBC Merge mode or the IBC AMVP mode.
在一些實施例中,除了鄰近候選之外,非鄰近候選(例如,Merge候選或AMVP候選)可以在查找表中被組合。 In some embodiments, in addition to neighboring candidates, non-neighboring candidates (e.g., Merge candidates or AMVP candidates) can be combined in the lookup table.
(a)在一個示例中,m個候選(非鄰近和/或鄰近候選)和來自查找表的n個運動候選可以被添加(例如,當列表未滿時)。m和n都是正整數(>0)。 (a) In one example, m candidates (non-neighbor and/or neighbor candidates) and n motion candidates from the lookup table can be added (e.g., when the list is not full). Both m and n are positive integers (>0).
(b)在一個示例中,m個候選(非鄰近和/或鄰近候選)可以被檢查和/或來自查找表的n個運動候選可以被檢查。當列表未滿時,經檢查的候選可以被添加。 (b) In one example, m candidates (non-neighboring and/or neighboring candidates) may be checked and/or n motion candidates from a lookup table may be checked. When the list is not full, checked candidates may be added.
(c)在一個示例中,可以以交錯方式添加鄰近或非鄰近候選和來自查找表的運動候選。 (c) In one example, neighboring or non-neighboring candidates and motion candidates from a lookup table may be added in an interleaved manner.
(i)檢查鄰近或非鄰近候選的順序保持不變。檢查一個候選,隨後是來自查找表的運動候選。 (i) The order of checking neighbor or non-neighbor candidates remains unchanged. A candidate is checked, followed by the moving candidate from the lookup table.
(ii)檢查非鄰近塊的順序保持不變。然而,如果一個非鄰近塊位於某個範圍之外(例如,在當前LCU行之外),則它將由查找表中的運動候選替換。 (ii) The order in which non-neighboring blocks are checked remains unchanged. However, if a non-neighboring block is outside a certain range (e.g., outside the current LCU row), it will be replaced by a motion candidate in the lookup table.
(iii)在一個示例中,檢查非鄰近塊的順序保持不變。然而,如果一個鄰近或非鄰近塊是用幀內模式或幀內塊複製模式編解碼的,則它將由查找表中的運動候選替換(例如,在確定查找表中的運動候選不同於鄰近或非鄰近塊時)。 (iii) In one example, the order in which non-adjacent blocks are checked remains unchanged. However, if a neighboring or non-adjacent block is encoded or decoded using intra mode or intra block copy mode, it will be replaced by the motion candidate in the lookup table (e.g., upon determining that the motion candidate in the lookup table is different from the neighboring or non-adjacent block).
(d)在一個示例中,與來自查找表的運動候選相比,非鄰近候選具有更高的優先級。 (d) In one example, non-neighboring candidates are given higher priority than motion candidates from a lookup table.
(i)在這種情況下,首先檢查所有非鄰近塊。如果候選的總數仍然小於最大允許數量,則進一步檢查來自查找表的運動候選。 (i) In this case, all non-neighboring blocks are checked first. If the total number of candidates is still less than the maximum allowed number, further motion candidates from the lookup table are checked.
(ii)可替代地,與非鄰近運動候選相比,來自查找表的運動候選具有更高的優先級。首先檢查來自查找表的運動候選。如果候選的總數仍然小於最大允許數量,則檢查非鄰近塊以將非鄰近候選添加到Merge候選列表。 (ii) Alternatively, motion candidates from the lookup table have higher priority than non-neighboring motion candidates. The motion candidates from the lookup table are checked first. If the total number of candidates is still less than the maximum allowed number, the non-neighboring blocks are checked to add the non-neighboring candidates to the Merge candidate list.
(iii)類似地,當在高級運動向量預測(Advanced Motion Vector Prediction,AMVP)編解碼過程中允許非鄰近方法和基於查找表的方法兩者時,可以以與上述示例中描述的方式類似方式來處理優先級。 (iii) Similarly, when both non-neighboring methods and lookup table based methods are allowed in the Advanced Motion Vector Prediction (AMVP) encoding and decoding process, the priority can be handled in a similar manner to that described in the above example.
在一些實施例中,類似於將具有運動候選的查找表用於運動向量預測,提出可以建構、和/或更新一個或多個查找表以儲存來自先前編解碼塊的幀內預測模式,並且查找表可以用於對幀內編解碼塊進行編碼/解碼。 In some embodiments, similar to using a lookup table with motion candidates for motion vector prediction, it is proposed that one or more lookup tables can be constructed and/or updated to store intra-frame prediction patterns from previously coded blocks, and the lookup tables can be used to encode/decode intra-frame coded blocks.
(a)每個LUT的條目的數量相同,例如,等於允許的幀內預測的總數。 (a) Each LUT has the same number of entries, e.g., equal to the total number of allowed intra-frame predictions.
(b)還可以為每個幀內預測模式分配變量(即,cnt),以記錄幀內預測模式已經在先前編解碼塊中被使用了多少次。 (b) A variable (i.e., cnt) can also be assigned to each intra-frame prediction mode to record how many times the intra-frame prediction mode has been used in the previous coded code block.
(c)當用所選擇的幀內預測模式更新查找表時,可以修改相關聯的cnt,諸如增加1。 (c) When the lookup table is updated with the selected intra-frame prediction mode, the associated cnt can be modified, for example by increasing it by 1.
在一些實施例中,非鄰近塊的幀內預測模式可以用作用 於對幀內編解碼塊進行編解碼的幀內預測模式預測值。 In some embodiments, the intra-frame prediction mode of a non-neighboring block may be used as an intra-frame prediction mode prediction value for encoding and decoding an intra-frame coded block.
在一些實施例中,可以聯合利用基於查找表的方法和基於非鄰近的方法。在一個示例中,可以在MPM列表建構過程中使用查找表或非鄰近塊中的幀內預測模式。可替代地,可以使用查找表或非鄰近塊中的幀內預測模式來對非MPM幀內預測模式進行重新排序。 In some embodiments, the lookup table based method and the non-neighboring based method can be used jointly. In one example, the intra-frame prediction mode in the lookup table or the non-neighboring block can be used in the MPM list construction process. Alternatively, the non-MPM intra-frame prediction mode can be reordered using the lookup table or the intra-frame prediction mode in the non-neighboring block.
在一些實施例中,IBC編解碼塊的運動候選列表可以如下建構: In some embodiments, the motion candidate list for an IBC codec block can be constructed as follows:
(a)如果存在與當前塊的兩個空域相鄰塊相關聯的唯一塊向量(也稱為如上所討論的位移向量或運動向量),則將它們添加到列表。 (a) If there are unique block vectors (also called displacement vectors or motion vectors as discussed above) associated with the two spatially adjacent blocks of the current block, add them to the list.
(b)檢查表中的最後的可用運動候選(即,最新候選)。如果列表中沒有重複的候選,那麼最後的可用運動候選被添加到列表。 (b) The last available motion candidate in the list (i.e., the latest candidate) is checked. If there are no duplicate candidates in the list, then the last available motion candidate is added to the list.
(c)如果列表未滿,則添加查找表中的剩餘運動候選。 (c) If the list is not full, add the remaining motion candidates in the lookup table.
色度模式編解碼的示例 Chroma mode encoding and decoding example
示例11。在一個示例中,提出了對於色度模式編解碼,默認模式(例如,HEVC和VVC中的DC/平面/HOR/VER)可以由從查找表或非鄰近色度塊推導的模式替換。 Example 11. In one example, it is proposed that for chroma mode encoding and decoding, the default mode (e.g., DC/Planar/HOR/VER in HEVC and VVC) can be replaced by a mode derived from a lookup table or non-adjacent chroma blocks.
(a)可替代地,在檢查來自查找表或非鄰近色度塊的那些模式之後,如果色度模式列表未滿,則默認模式仍然可以被添加到色度模式列表。 (a) Alternatively, after checking those modes from the lookup table or non-neighboring chroma blocks, the default mode can still be added to the chroma mode list if the chroma mode list is not full.
示例12。在一個示例中,提出了對於色度模式編解碼,默認模式(例如,HEVC和VVC中的DC/平面/HOR/VER)可以由從非鄰近亮度塊(例如,不是色度塊的對應亮度塊的亮度塊)推導的模式替換。 Example 12. In one example, it is proposed that for chroma mode encoding and decoding, the default mode (e.g., DC/Planar/HOR/VER in HEVC and VVC) can be replaced by a mode derived from a non-neighboring luma block (e.g., a luma block that is not the corresponding luma block of a chroma block).
(a)可替代地,在檢查來自非鄰近亮度塊的那些模式之後,如果色度模式列表未滿,則默認模式仍然可以被添加到色度模式列表。 (a) Alternatively, after checking those modes from non-neighboring luma blocks, the default mode may still be added to the chroma mode list if the chroma mode list is not full.
示例13。在一個示例中,提出了對應亮度塊的空域相鄰塊的幀內模式也可以被添加到色度幀內模式列表。 Example 13. In one example, it is proposed that the intra-frame mode of the spatially neighboring blocks corresponding to the luma block can also be added to the chroma intra-frame mode list.
(a)檢查位於對應亮度塊的左上角樣點的左側和/或上側相鄰塊,並且可以使用其幀內模式。例如,可以檢查圖11A中示出的“TL”的左側和/或上側相鄰塊。 (a) Check the left and/or upper neighboring blocks located at the upper left corner sample of the corresponding luminance block, and its intra-frame mode may be used. For example, the left and/or upper neighboring blocks of "TL" shown in FIG. 11A may be checked.
(b)可以使用圖13A-圖13F中示出的示例,其中當前亮度塊是色度塊的對應亮度塊。可替代地,鄰居的亮度幀內模式可以被添加到色度模式列表。也就是說,當前亮度塊的相鄰亮度塊的幀內模式可以被添加到色度模式列表。 (b) The examples shown in FIG. 13A-FIG. 13F may be used, where the current luma block is the corresponding luma block of the chroma block. Alternatively, the neighboring luma intra-frame mode may be added to the chroma mode list. That is, the intra-frame mode of the neighboring luma block of the current luma block may be added to the chroma mode list.
上述示例可以被並入以下描述的例如可以在視頻編碼器和/或解碼器處實施的方法1400、1500和1600的方法的上下文中。 The above examples may be incorporated into the context of the methods described below, such as methods 1400, 1500, and 1600, which may be implemented at a video encoder and/or decoder.
圖14示出了用於跨分量預測的示例方法的流程圖。方法1400包括,在步驟1410處,對於可視媒體數據的當前塊的位元流表示,基於過去幀內編解碼信息的第一集合從幀內預測模式集合中選擇第一幀內預測模式。在一些實施例中,過去幀內編解碼信 息的第一集合包括歷史幀內編解碼信息。 FIG. 14 shows a flow chart of an example method for cross-component prediction. The method 1400 includes, at step 1410, for a bitstream representation of a current block of visual media data, selecting a first intra-frame prediction mode from a set of intra-frame prediction modes based on a first set of past intra-frame coding and decoding information. In some embodiments, the first set of past intra-frame coding and decoding information includes historical intra-frame coding and decoding information.
在一些實施例中,並且在示例1的上下文中,過去幀內編解碼信息的第一集合包括統計幀內編解碼信息。在一個示例中,統計幀內編解碼信息包括持續時間內幀內預測模式集合中的每一個幀內預測模式的出現次數,並且方法1400進一步包括以下步驟:基於當前塊的相鄰塊來建構最可能模式(MPM)列表,以及基於出現次數對MPM列表進行重新排序。 In some embodiments, and in the context of Example 1, the first set of past intraframe coding and decoding information includes statistical intraframe coding and decoding information. In one example, the statistical intraframe coding and decoding information includes the number of occurrences of each intraframe prediction mode in the set of intraframe prediction modes within the duration, and the method 1400 further includes the steps of constructing a most probable mode (MPM) list based on neighboring blocks of the current block, and reordering the MPM list based on the number of occurrences.
方法1400包括,在步驟1420處,基於第一幀內預測模式來處理位元流表示以生成當前塊。 Method 1400 includes, at step 1420, processing the bitstream representation based on the first intra-frame prediction mode to generate a current block.
在一些實施例中,並且在示例2的上下文中,當前塊包括亮度分量和色度分量,過去幀內編解碼信息的第一集合用於對亮度分量進行幀內模式編解碼,並且過去幀內編解碼信息的第二集合用於對色度分量進行幀內模式編解碼。在示例中,亮度分量基於第一編解碼樹,色度分量基於不同的第二編解碼樹。 In some embodiments, and in the context of Example 2, the current block includes a luma component and a chroma component, a first set of past intra-frame coding and decoding information is used to perform intra-frame mode coding and decoding on the luma component, and a second set of past intra-frame coding and decoding information is used to perform intra-frame mode coding and decoding on the chroma component. In the example, the luma component is based on a first coding tree and the chroma components are based on a different second coding tree.
在一些實施例中,並且在示例3的上下文中,對於幀內預測模式集合中對應於第一幀內預測模式的幀內預測模式,出現次數遞增。然後,方法1400進一步包括以下步驟:確定出現次數中的至少一個等於最大出現次數。在一個示例中,該方法進一步包括將出現次數中的每一個右移一個預定義的數。在另一示例中,該方法進一步包括從出現次數中的每一個減去最小出現次數。 In some embodiments, and in the context of Example 3, for the intra-frame prediction mode in the set of intra-frame prediction modes corresponding to the first intra-frame prediction mode, the number of occurrences is incremented. Then, method 1400 further includes the following steps: determining that at least one of the number of occurrences is equal to a maximum number of occurrences. In one example, the method further includes right-shifting each of the number of occurrences by a predetermined number. In another example, the method further includes subtracting the minimum number of occurrences from each of the number of occurrences.
在一些實施例中,並且在示例4的上下文中,方法1400進一步包括以下步驟:將幀內預測模式集合中的第一子集添加到 最可能模式(MPM)列表。在其他實施例中,方法1400可以進一步包括增加MPM列表的尺寸,以及將幀內預測模式集合中的第一子集添加到MPM列表,其中幀內預測模式的第一子集對應於作為當前塊的空域鄰居的塊。在這些情況下,方法1400可以進一步包括修剪MPM列表,以及將幀內預測模式集合的第二子集添加到MPM列表,其中第二子集中的幀內預測模式的排序在MPM列表中被維持。 In some embodiments, and in the context of Example 4, method 1400 further includes the step of adding a first subset of the set of intra-frame prediction modes to a most probable mode (MPM) list. In other embodiments, method 1400 may further include increasing the size of the MPM list, and adding a first subset of the set of intra-frame prediction modes to the MPM list, wherein the first subset of intra-frame prediction modes corresponds to blocks that are spatial neighbors of the current block. In these cases, method 1400 may further include pruning the MPM list, and adding a second subset of the set of intra-frame prediction modes to the MPM list, wherein the ordering of the intra-frame prediction modes in the second subset is maintained in the MPM list.
圖15示出了用於跨分量預測的另一示例方法的流程圖。方法1500包括,在步驟1510處,對於可視媒體數據的當前塊的位元流表示,從與當前塊鄰近或不鄰近的空域相鄰塊中的至少一個選擇幀內預測模式。 FIG15 shows a flow chart of another example method for cross-component prediction. Method 1500 includes, at step 1510, for a bitstream representation of a current block of visual media data, selecting an intra-frame prediction mode from at least one of spatially adjacent blocks that are adjacent or non-adjacent to the current block.
在一些實施例中,並且在示例6的上下文中,鄰近的空域相鄰塊中的至少一個是相對於當前塊的左上角位置的上側相鄰塊、或相對於當前塊的第一列的中心位置的上側相鄰塊、或相對於當前塊的右上角位置的上側相鄰塊、或相對於當前塊的左上角位置的左側相鄰塊、或相對於當前塊的第一行的中心位置的左側相鄰塊、或相對於當前塊的左下角位置的左側相鄰塊。 In some embodiments, and in the context of Example 6, at least one of the adjacent spatially adjacent blocks is an upper adjacent block relative to the upper left corner position of the current block, or an upper adjacent block relative to the center position of the first column of the current block, or an upper adjacent block relative to the upper right corner position of the current block, or a left adjacent block relative to the upper left corner position of the current block, or a left adjacent block relative to the center position of the first row of the current block, or a left adjacent block relative to the lower left corner position of the current block.
方法1500包括,在步驟1520處,基於幀內預測模式來處理位元流表示以生成當前塊。 Method 1500 includes, at step 1520, processing the bitstream representation based on the intra-frame prediction mode to generate the current block.
圖16示出了用於跨分量預測的又一示例方法的流程圖。方法1600包括,在步驟1610處,對於可視媒體數據的當前塊的位元流表示,生成基於來自包括當前塊的圖像段的重構樣點的第 一預測塊和第二預測塊。 FIG16 shows a flow chart of another example method for cross-component prediction. Method 1600 includes, at step 1610, for a bitstream representation of a current block of visual media data, generating a first prediction block and a second prediction block based on reconstructed samples from a picture segment including the current block.
方法1600包括,在步驟1620處,基於第一預測塊和第二預測塊的線性函數來生成最終預測塊的至少一部分。在一些實施例中,最終預測塊是第一預測塊和第二預測塊的平均。 Method 1600 includes, at step 1620, generating at least a portion of a final prediction block based on a linear function of the first prediction block and the second prediction block. In some embodiments, the final prediction block is an average of the first prediction block and the second prediction block.
在一些實施例中,並且在示例8的上下文中,最終預測塊的一部分基於第一預測塊和第二預測塊的線性函數,並且剩餘部分直接從第一預測塊或第二預測塊複製。在一些實施例中,線性函數的權重是在序列參數集(SPS)、圖片參數集(PPS)、視頻參數集(VPS)、條帶標頭、片標頭、編解碼樹單元(Coding Tree Unit,CTU)組、編解碼單元(CU)、預測單元(Prediction Unit,PU)或變換單元(Transform Unit,TU)中信令通知的。 In some embodiments, and in the context of Example 8, a portion of the final prediction block is based on a linear function of the first prediction block and the second prediction block, and the remainder is directly copied from the first prediction block or the second prediction block. In some embodiments, the weight of the linear function is signaled in a sequence parameter set (SPS), a picture parameter set (PPS), a video parameter set (VPS), a slice header, a slice header, a coding tree unit (CTU) group, a coding unit (CU), a prediction unit (PU), or a transform unit (TU).
方法1600包括,在步驟1630處,基於最終預測塊來處理位元流表示以生成當前塊。 Method 1600 includes, at step 1630, processing the bitstream representation based on the final prediction block to generate a current block.
圖24示出了基於過去信息的色度模式編解碼的示例方法的流程圖。方法2400包括,在步驟2410處,對於包括亮度分量和色度分量的當前塊的位元流表示,選擇色度分量的第一編解碼模式。 FIG24 shows a flow chart of an example method for chroma mode encoding and decoding based on past information. Method 2400 includes, at step 2410, for a bit stream representation of a current block including a luminance component and a chroma component, selecting a first encoding and decoding mode for the chroma component.
方法2400包括,在步驟2420處,基於第一編解碼模式來執行位元流表示和當前塊之間的轉換。在一些實施例中,該轉換從位元流表示生成當前塊(例如,如可以在視頻解碼器中實施的)。在其他實施例中,該轉換從當前塊生成位元流表示(例如,如可以在視頻編碼器中實施的)。 Method 2400 includes, at step 2420, performing a conversion between a bitstream representation and a current block based on a first encoding/decoding mode. In some embodiments, the conversion generates the current block from the bitstream representation (e.g., as may be implemented in a video decoder). In other embodiments, the conversion generates the bitstream representation from the current block (e.g., as may be implemented in a video encoder).
在一些實施例中,並且在示例11的上下文中,色度分量的第一編解碼模式是默認模式,其可以是DC模式、平面模式、垂直模式或水平模式。 In some embodiments, and in the context of Example 11, the first encoding/decoding mode of the chrominance component is a default mode, which can be a DC mode, a planar mode, a vertical mode, or a horizontal mode.
在一些實施例中,方法2400可以進一步包括如下步驟:用從查找表或非鄰近色度塊推導的第二編解碼模式替換默認模式。在示例中,並且在示例11的上下文中,在確定色度模式列表包括來自非鄰近色度塊的第二編解碼模式並且未滿時,默認模式被添加到色度模式列表。 In some embodiments, method 2400 may further include the step of replacing the default mode with a second codec mode derived from a lookup table or a non-neighboring chroma block. In the example, and in the context of Example 11, upon determining that the chroma mode list includes a second codec mode from a non-neighboring chroma block and is not full, the default mode is added to the chroma mode list.
在一些實施例中,方法2400可以進一步包括以下步驟:用從非鄰近亮度塊推導的第二編解碼模式替換默認模式。在示例中,並且在示例12的上下文中,在確定色度模式列表包括來自非鄰近亮度塊的第二編解碼模式並且未滿時,默認模式被添加到色度模式列表。 In some embodiments, method 2400 may further include the step of replacing the default mode with a second codec mode derived from a non-neighboring luma block. In the example, and in the context of Example 12, upon determining that the chroma mode list includes a second codec mode from a non-neighboring luma block and is not full, the default mode is added to the chroma mode list.
圖25示出了基於過去信息的色度模式編解碼的另一示例方法的流程圖。方法2500包括,在步驟2510處,對於包括亮度分量和色度分量的當前塊的位元流表示,從亮度分量的空域相鄰塊選擇幀內編解碼模式。 FIG25 shows a flowchart of another example method for chroma mode encoding and decoding based on past information. Method 2500 includes, at step 2510, for a bit stream representation of a current block including a luminance component and a chrominance component, selecting an intra-frame encoding and decoding mode from a spatially adjacent block of the luminance component.
方法2500包括,在步驟2520處,將幀內編解碼模式添加到色度幀內模式列表。 Method 2500 includes, at step 2520, adding the intra-frame encoding/decoding mode to the chroma intra-frame mode list.
方法2500包括,在步驟2530處,基於幀內編解碼模式來執行位元流表示和當前塊之間的轉換。 Method 2500 includes, at step 2530, performing conversion between the bitstream representation and the current block based on the intra-frame encoding/decoding mode.
在一些實施例中,並且在示例6和13的上下文中,空域 相鄰塊可以是相對於當前塊的左上角位置的上側相鄰塊、相對於當前塊的第一列的中心位置的上側相鄰塊、相對於當前塊的右上角位置的上側相鄰塊、相對於當前塊的第一行的中心位置的左側相鄰塊、或相對於當前塊的左下角位置的左側相鄰塊。 In some embodiments, and in the context of Examples 6 and 13, the spatial domain adjacent block may be an upper adjacent block relative to the upper left corner position of the current block, an upper adjacent block relative to the center position of the first column of the current block, an upper adjacent block relative to the upper right corner position of the current block, a left adjacent block relative to the center position of the first row of the current block, or a left adjacent block relative to the lower left corner position of the current block.
5 所公開技術的示例實施方式 5 Example implementations of the disclosed technology
圖17是視頻處理裝置1700的方塊圖。裝置1700可以用來實施本文描述的方法中的一種或多種。裝置1700可以體現在智能電話、平板電腦、電腦、物聯網(Internet of Things,IoT)接收器等中。裝置1700可以包括一個或多個處理器1702、一個或多個儲存器1704、以及視頻處理硬體1706。(多個)處理器1702可以被配置為實施本文件中描述的一種或多種方法(包括但不限於方法1400、1500和1600)。儲存器(多個儲存器)1704可以用於儲存用於實施本文描述的方法和技術的數據和代碼。視頻處理硬體1706可以用來在硬體電路中實施本文件中描述的一些技術。 FIG. 17 is a block diagram of a video processing device 1700. Device 1700 may be used to implement one or more of the methods described herein. Device 1700 may be embodied in a smart phone, a tablet, a computer, an Internet of Things (IoT) receiver, etc. Device 1700 may include one or more processors 1702, one or more memories 1704, and video processing hardware 1706. Processor(s) 1702 may be configured to implement one or more methods described in this document (including but not limited to methods 1400, 1500, and 1600). Memory(s) 1704 may be used to store data and code for implementing the methods and techniques described herein. Video processing hardware 1706 may be used to implement some of the techniques described in this document in hardware circuits.
在一些實施例中,視頻編解碼方法可以使用如參考圖17所描述的在硬體平臺上實施的裝置而實施。 In some embodiments, the video encoding and decoding method can be implemented using a device implemented on a hardware platform as described with reference to FIG. 17 .
圖18是示出可以在其中實施本文公開的各種技術的示例視頻處理系統1800的方塊圖。各種實施方式可以包括系統1800的一些或所有組件。系統1800可以包括用於接收視頻內容的輸入1802。視頻內容可以以原始或未壓縮格式(例如,8或10位元多分量像素值)接收,或者可以是壓縮或編碼格式。輸入1802可以表示網路介面、週邊匯流排介面或儲存介面。網路介面的示例包 括諸如乙太網、無源光網路(Passive Optical Network,PON)等的有線介面和諸如Wi-Fi或蜂窩介面的無線介面。 FIG. 18 is a block diagram illustrating an example video processing system 1800 in which various techniques disclosed herein may be implemented. Various implementations may include some or all components of system 1800. System 1800 may include an input 1802 for receiving video content. The video content may be received in a raw or uncompressed format (e.g., 8 or 10-bit multi-component pixel values), or may be in a compressed or encoded format. Input 1802 may represent a network interface, a peripheral bus interface, or a storage interface. Examples of network interfaces include wired interfaces such as Ethernet, Passive Optical Network (PON), and wireless interfaces such as Wi-Fi or cellular interfaces.
系統1800可以包括可以實施本文件中描述的各種編碼或解碼方法的編解碼組件1804。編解碼組件1804可以將來自輸入1802的視頻的平均位元率減小到編解碼組件1804的輸出,以產生視頻的編解碼表示。編解碼技術因此有時被稱為視頻壓縮或視頻轉碼技術。編解碼組件1804的輸出可以被儲存,或者經由如由組件1806表示的通信連接而發送。在輸入1802處接收的視頻的儲存或通信傳送的位元流(或編解碼)表示可以由組件1808用於生成像素值或被傳送到顯示介面1810的可顯示視頻。從位元流表示生成用戶可視視頻的過程有時被稱為視頻解壓縮。此外,雖然某些視頻處理操作被稱為“編解碼”操作或工具,但是將理解,編解碼工具或操作在編碼器處使用,並且反轉編解碼結果的對應解碼工具或操作將由解碼器執行。 System 1800 may include a codec component 1804 that may implement the various encoding or decoding methods described in this document. Codec component 1804 may reduce the average bit rate of the video from input 1802 to the output of codec component 1804 to produce a codec representation of the video. Codec techniques are therefore sometimes referred to as video compression or video transcoding techniques. The output of codec component 1804 may be stored or sent via a communication connection such as represented by component 1806. The stored or communicated bitstream (or codec) representation of the video received at input 1802 may be used by component 1808 to generate pixel values or be sent to a displayable video of display interface 1810. The process of generating user-viewable video from a bitstream representation is sometimes referred to as video decompression. Furthermore, although certain video processing operations are referred to as "encoding" operations or tools, it will be understood that the encoding tools or operations are used at the encoder and that the corresponding decoding tools or operations that reverse the encoding and decoding results will be performed by the decoder.
週邊匯流排介面或顯示介面的示例可以包括通用串列匯流排(Universal Serial Bus,USB)、或高清晰度多媒體介面(High Definition Multimedia Interface,HDMI)、或顯示端口(Displayport)等。儲存介面的示例包括SATA(Serial Advanced Technology Attachment,串列高級技術附件)、PCI、IDE介面等。本文件中描述的技術可以體現在諸如移動電話、膝上型電腦、智能電話、或能夠執行數位數據處理和/或視頻顯示的其他設備的各種電子設備中。 Examples of peripheral bus interfaces or display interfaces may include Universal Serial Bus (USB), High Definition Multimedia Interface (HDMI), or Displayport, etc. Examples of storage interfaces include SATA (Serial Advanced Technology Attachment), PCI, IDE interfaces, etc. The technology described in this document may be embodied in various electronic devices such as mobile phones, laptops, smart phones, or other devices capable of performing digital data processing and/or video display.
圖19示出了根據所公開技術的用於視頻編解碼的示例方法1900的流程圖。方法1900包括,在操作1910處,對於可視媒體數據的當前塊和當前塊的位元流表示之間的轉換,至少基於包括幀內預測模式集合的統計信息的歷史幀內編解碼信息的第一集合來選擇第一幀內預測模式。方法1900還包括,在操作1920處,基於第一幀內預測模式來執行該轉換。 FIG. 19 shows a flow chart of an example method 1900 for video encoding and decoding according to the disclosed technology. The method 1900 includes, at operation 1910, for conversion between a current block of visual media data and a bitstream representation of the current block, selecting a first intra-frame prediction mode based on at least a first set of historical intra-frame encoding and decoding information including statistical information of a set of intra-frame prediction modes. The method 1900 also includes, at operation 1920, performing the conversion based on the first intra-frame prediction mode.
在一些實施例中,該轉換包括對當前塊進行編碼以生成位元流表示。在一些實施例中,該轉換包括對位元流表示進行解碼以生成當前塊。在一些實施例中,統計幀內編解碼信息包括持續時間內幀內預測模式集合中的每一個幀內預測模式的出現次數。在一些實施例中,統計幀內編解碼信息包括持續時間內幀內預測模式集合中的一部分幀內預測模式的出現次數。 In some embodiments, the conversion includes encoding the current block to generate a bitstream representation. In some embodiments, the conversion includes decoding the bitstream representation to generate the current block. In some embodiments, the statistical intra-frame encoding and decoding information includes the number of occurrences of each intra-frame prediction mode in a set of intra-frame prediction modes within a duration. In some embodiments, the statistical intra-frame encoding and decoding information includes the number of occurrences of a portion of the intra-frame prediction modes in the set of intra-frame prediction modes within a duration.
在一些實施例中,該方法進一步包括,在執行該轉換之後,更新歷史幀內編解碼信息的集合。在一些實施例中,更新包括在歷史幀內編解碼信息的第一集合中將第一幀內預測模式的出現次數累加k,k是正整數。在一些實施例中,當前塊的後續塊基於更新後的歷史幀內編解碼信息而處理。 In some embodiments, the method further includes, after performing the conversion, updating the set of historical intraframe codec information. In some embodiments, the updating includes accumulating the number of occurrences of the first intraframe prediction mode in the first set of historical intraframe codec information by k, where k is a positive integer. In some embodiments, subsequent blocks of the current block are processed based on the updated historical intraframe codec information.
在一些實施例中,歷史幀內編解碼信息的第一集合中的每個幀內預測模式與出現次數的限值(limit)相關聯。在一些實施例中,該方法包括,在出現次數達到限值之後,基於預定義規則來減少出現次數。在一些實施例中,預定義規則包括將出現次數除以第一預定義值,或者從出現次數減去第二預定義值。 In some embodiments, each intra-frame prediction mode in the first set of historical intra-frame coding and decoding information is associated with a limit of the number of occurrences. In some embodiments, the method includes, after the number of occurrences reaches the limit, reducing the number of occurrences based on a predefined rule. In some embodiments, the predefined rule includes dividing the number of occurrences by a first predefined value, or subtracting a second predefined value from the number of occurrences.
在一些實施例中,該方法包括至少基於幀內預測模式集合來建構最可能模式(MPM)列表。在一些實施例中,該方法包括將幀內預測模式集合的子集添加到MPM列表。在一些實施例中,該方法包括:將與當前塊的空域鄰居相關聯的幀內預測模式添加到MPM列表;將幀內預測模式集合的子集添加到MPM列表;以及修剪MPM列表。在一些實施例中,該方法包括將推導的幀內預測模式添加到MPM列表。在一些實施例中,該方法包括增加MPM列表的尺寸。在一些實施例中,該方法包括基於歷史幀內編解碼信息的集合對MPM列表進行重新排序。在一些實施例中,MPM列表是基於幀內預測模式集合的統計信息的降序而重新排序的。 In some embodiments, the method includes constructing a most probable mode (MPM) list based at least on a set of intra-frame prediction modes. In some embodiments, the method includes adding a subset of the set of intra-frame prediction modes to the MPM list. In some embodiments, the method includes: adding intra-frame prediction modes associated with spatial neighbors of a current block to the MPM list; adding a subset of the set of intra-frame prediction modes to the MPM list; and pruning the MPM list. In some embodiments, the method includes adding a derived intra-frame prediction mode to the MPM list. In some embodiments, the method includes increasing the size of the MPM list. In some embodiments, the method includes reordering the MPM list based on a set of historical intra-frame encoding and decoding information. In some embodiments, the MPM list is reordered in descending order based on statistical information of the set of intra-frame prediction modes.
在一些實施例中,當前塊包括亮度分量和色度分量。歷史幀內編解碼信息的第一集合用於對亮度分量進行幀內模式編解碼。在一些實施例中,歷史幀內編解碼信息的第二集合用於對色度分量進行幀內模式編解碼。在一些實施例中,亮度分量基於第一編解碼樹,色度分量基於不同於第一編解碼樹的第二編解碼樹。 In some embodiments, the current block includes a luma component and a chroma component. A first set of historical intra-frame coding and decoding information is used to perform intra-frame mode coding and decoding on the luma component. In some embodiments, a second set of historical intra-frame coding and decoding information is used to perform intra-frame mode coding and decoding on the chroma component. In some embodiments, the luma component is based on a first coding and decoding tree, and the chroma component is based on a second coding and decoding tree different from the first coding and decoding tree.
在一些實施例中,選擇第一幀內預測模式進一步基於當前塊的空域鄰居的幀內預測模式或當前塊的非鄰近鄰居的幀內預測模式。在一些實施例中,歷史幀內編解碼信息被儲存在表中。 In some embodiments, selecting the first intra-frame prediction mode is further based on the intra-frame prediction mode of the spatial neighbors of the current block or the intra-frame prediction mode of the non-neighboring neighbors of the current block. In some embodiments, the historical intra-frame encoding and decoding information is stored in a table.
圖20示出了根據所公開技術的用於視頻處理的另一示例方法2000的流程圖。方法2000包括,在操作2010處,對於可視媒體數據的當前塊和當前塊的位元流表示之間的轉換,至少基於 與當前塊的非鄰近鄰居相關聯的幀內預測模式來選擇第一幀內預測模式。方法2000還包括,在操作2020處,基於第一幀內預測模式來執行該轉換。 FIG. 20 shows a flow chart of another example method 2000 for video processing according to the disclosed technology. The method 2000 includes, at operation 2010, for converting between a current block of visual media data and a bitstream representation of the current block, selecting a first intra-frame prediction mode based at least on an intra-frame prediction mode associated with a non-neighboring neighbor of the current block. The method 2000 also includes, at operation 2020, performing the conversion based on the first intra-frame prediction mode.
在一些實施例中,該轉換包括對當前塊進行編碼以生成位元流表示。在一些實施例中,該轉換包括對位元流表示進行解碼以生成當前塊。 In some embodiments, the conversion includes encoding the current block to generate a bitstream representation. In some embodiments, the conversion includes decoding the bitstream representation to generate the current block.
在一些實施例中,該方法進一步包括,對於當前塊和當前塊的位元流表示之間的轉換,基於與當前塊的非鄰近鄰居相關聯的幀內預測模式來建構最可能模式(MPM)列表。該轉換進一步基於MPM列表而執行。在一些實施例中,建構MPM列表包括將與當前塊的空域鄰居相關聯的幀內預測模式添加到MPM列表並修剪MPM列表。在一些實施例中,建構MPM列表包括將推導的幀內預測模式添加到MPM列表。在一些實施例中,該方法包括增加MPM列表的尺寸。 In some embodiments, the method further includes, for a conversion between a current block and a bitstream representation of the current block, constructing a most probable mode (MPM) list based on intra-frame prediction modes associated with non-neighboring neighbors of the current block. The conversion is further performed based on the MPM list. In some embodiments, constructing the MPM list includes adding intra-frame prediction modes associated with spatial neighbors of the current block to the MPM list and pruning the MPM list. In some embodiments, constructing the MPM list includes adding derived intra-frame prediction modes to the MPM list. In some embodiments, the method includes increasing the size of the MPM list.
在一些實施例中,該方法包括根據與當前塊的非鄰近鄰居相關聯的幀內預測模式對不在MPM列表中的幀內預測模式進行重新排序。在一些實施例中,對於重新排序,與當前塊的非鄰近鄰居相關聯的幀內預測模式與更高優先級相關聯。 In some embodiments, the method includes reordering intra-frame prediction modes that are not in the MPM list according to intra-frame prediction modes associated with non-neighboring neighbors of the current block. In some embodiments, for the reordering, intra-frame prediction modes associated with non-neighboring neighbors of the current block are associated with a higher priority.
圖21示出了根據所公開技術的用於視頻處理的示例方法2100的流程圖。方法2100包括,在操作2110處,對於可視媒體數據的當前塊和當前塊的位元流表示之間的轉換,基於當前塊的空域相鄰塊中的至少一個來選擇幀內預測模式。空域相鄰塊中的 至少一個與位於當前塊的第一列的左側的第一塊和位於當前塊的第一行的上側的第二塊不同。方法2100還包括,在操作2110處,基於幀內預測模式來執行該轉換。 FIG. 21 shows a flow chart of an example method 2100 for video processing according to the disclosed technology. The method 2100 includes, at operation 2110, for a conversion between a current block of visual media data and a bitstream representation of the current block, selecting an intra-frame prediction mode based on at least one of the spatially adjacent blocks of the current block. At least one of the spatially adjacent blocks is different from a first block located to the left of a first column of the current block and a second block located above a first row of the current block. The method 2100 also includes, at operation 2110, performing the conversion based on the intra-frame prediction mode.
在一些實施例中,該轉換包括對當前塊進行編碼以生成位元流表示。在一些實施例中,該轉換包括對位元流表示進行解碼以生成當前塊。 In some embodiments, the conversion includes encoding the current block to generate a bitstream representation. In some embodiments, the conversion includes decoding the bitstream representation to generate the current block.
在一些實施例中,空域相鄰塊中的至少一個包括與當前塊鄰近的塊。在一些實施例中,空域相鄰塊中的至少一個包括與當前塊不鄰近的塊。在一些實施例中,鄰近的空域相鄰塊中的至少一個包括與當前塊的左上角位置鄰近的塊。在一些實施例中,鄰近的空域相鄰塊中的至少一個包括與當前塊的第一列的中心位置鄰近的塊。在一些實施例中,鄰近的空域相鄰塊中的至少一個包括與當前塊的第一行的中心位置鄰近的塊。 In some embodiments, at least one of the spatially adjacent blocks includes a block adjacent to the current block. In some embodiments, at least one of the spatially adjacent blocks includes a block that is not adjacent to the current block. In some embodiments, at least one of the adjacent spatially adjacent blocks includes a block adjacent to the upper left corner position of the current block. In some embodiments, at least one of the adjacent spatially adjacent blocks includes a block adjacent to the center position of the first column of the current block. In some embodiments, at least one of the adjacent spatially adjacent blocks includes a block adjacent to the center position of the first row of the current block.
在一些實施例中,基於當前塊的一個或多個維度來選擇空域相鄰塊中的至少一個。在一些實施例中,當前塊具有方形形狀,並且鄰近的空域相鄰塊中的至少一個包括與當前塊的左上角位置鄰近的塊。所選擇的幀內預測模式可以被添加到當前塊的最可能模式列表。 In some embodiments, at least one of the spatially neighboring blocks is selected based on one or more dimensions of the current block. In some embodiments, the current block has a square shape, and at least one of the neighboring spatially neighboring blocks includes a block that is adjacent to the upper left corner position of the current block. The selected intra-frame prediction mode can be added to the most likely mode list of the current block.
在一些實施例中,當前塊具有非方形形狀,並且空域相鄰塊中的至少一個包括與當前塊的第一列的中心位置鄰近的塊或與當前塊的第一行的中心位置鄰近的塊。 In some embodiments, the current block has a non-square shape, and at least one of the spatially adjacent blocks includes a block adjacent to a center position of a first column of the current block or a block adjacent to a center position of a first row of the current block.
圖22示出了根據所公開技術的用於視頻處理的示例方法 2200的流程圖。方法2200包括,在操作2210處,對於可視媒體數據的當前塊和當前塊的位元流表示之間的轉換,生成最終預測塊。方法2200包括,在操作2220處,基於最終預測塊來執行該轉換。最終預測塊的至少一部分基於第一預測塊和第二預測塊的組合而生成,其中該第一預測塊和第二預測塊基於來自包括當前塊的圖像段的重構樣點。在一些實施例中,該轉換包括對當前塊進行編碼以生成位元流表示。在一些實施例中,該轉換包括對位元流表示進行解碼以生成當前塊。 FIG. 22 shows a flow chart of an example method 2200 for video processing according to the disclosed technology. The method 2200 includes, at operation 2210, generating a final prediction block for a conversion between a current block of visual media data and a bitstream representation of the current block. The method 2200 includes, at operation 2220, performing the conversion based on the final prediction block. At least a portion of the final prediction block is generated based on a combination of a first prediction block and a second prediction block, wherein the first prediction block and the second prediction block are based on reconstructed samples from an image segment including the current block. In some embodiments, the conversion includes encoding the current block to generate a bitstream representation. In some embodiments, the conversion includes decoding the bitstream representation to generate the current block.
在一些實施例中,第一預測塊根據幀內預測模式而生成。在一些實施例中,第二預測塊基於指向圖像段的運動向量而生成。在一些實施例中,第二預測塊基於其中運動向量指向的重構樣點被複製的幀內塊複製技術而生成。在一些實施例中,第二預測塊基於其中在應用環路濾波操作之前,運動補償被應用於運動向量指向的重構樣點的幀內塊複製技術而生成。 In some embodiments, the first prediction block is generated according to an intra-frame prediction mode. In some embodiments, the second prediction block is generated based on a motion vector pointing to an image segment. In some embodiments, the second prediction block is generated based on an intra-frame block copy technique in which the reconstructed samples pointed to by the motion vector are copied. In some embodiments, the second prediction block is generated based on an intra-frame block copy technique in which motion compensation is applied to the reconstructed samples pointed to by the motion vector before applying a loop filtering operation.
在一些實施例中,在應用環路濾波操作之前,重構樣點被生成。在一些實施例中,最終預測塊的剩餘部分直接從第一預測塊或第二預測塊複製。在一些實施例中,第一預測塊和第二預測塊的組合包括第一預測塊和第二預測塊的線性函數。在一些實施例中,線性函數包括第一預測塊和第二預測塊的平均。在一些實施例中,線性函數包括第一預測塊和第二預測塊的加權線性函數。在一些實施例中,對於相對於第一預測塊或第二預測塊的不同的位置,應用不同的權重。在一些實施例中,對於不同的幀內 預測模式,應用不同的權重。在一些實施例中,加權線性函數的權重是在序列參數集(SPS)、圖片參數集(PPS)、視頻參數集(VPS)、條帶標頭、片標頭、編解碼樹單元(CTU)組、編解碼單元(CU)、預測單元(PU)或變換單元(TU)中信令通知的。在一些實施例中,加權線性函數的權重是預定義的。 In some embodiments, the reconstructed samples are generated before the loop filtering operation is applied. In some embodiments, the remainder of the final prediction block is copied directly from the first prediction block or the second prediction block. In some embodiments, the combination of the first prediction block and the second prediction block includes a linear function of the first prediction block and the second prediction block. In some embodiments, the linear function includes an average of the first prediction block and the second prediction block. In some embodiments, the linear function includes a weighted linear function of the first prediction block and the second prediction block. In some embodiments, different weights are applied for different positions relative to the first prediction block or the second prediction block. In some embodiments, different weights are applied for different intra-frame prediction modes. In some embodiments, the weights of the weighted linear function are signaled in a sequence parameter set (SPS), a picture parameter set (PPS), a video parameter set (VPS), a slice header, a slice header, a codec tree unit (CTU) group, a codec unit (CU), a prediction unit (PU), or a transform unit (TU). In some embodiments, the weights of the weighted linear function are predefined.
在一些實施例中,圖像段包括圖片、條帶或片。在一些實施例中,第一預測塊和第二預測塊是針對當前塊的所選擇的顏色分量而生成的。在一些實施例中,所選擇的顏色分量包括亮度顏色分量。在一些實施例中,在確定當前塊的尺寸或形狀滿足預定義準則時,生成第一預測塊和第二預測塊。 In some embodiments, the image segment includes a picture, a strip, or a slice. In some embodiments, the first prediction block and the second prediction block are generated for a selected color component of the current block. In some embodiments, the selected color component includes a luminance color component. In some embodiments, the first prediction block and the second prediction block are generated when it is determined that the size or shape of the current block meets a predefined criterion.
圖23示出了根據所公開技術的用於視頻處理的示例方法2300的流程圖。方法2300包括,在操作2310處,在可視媒體數據的當前塊和當前塊的位元流表示之間的轉換期間,維護運動候選的第一表。方法2300包括,在操作2320處,至少基於運動候選的第一表來確定使用幀內塊複製(IBC)模式編解碼的當前塊的運動信息,在該IBC模式中,至少一個運動向量指向包括當前塊的圖像段。方法2300還包括,在操作2330處,基於運動信息來執行該轉換。在一些實施例中,該轉換包括對當前塊進行編碼以生成位元流表示。在一些實施例中,該轉換包括對位元流表示進行解碼以生成當前塊。 FIG. 23 shows a flow chart of an example method 2300 for video processing according to the disclosed technology. The method 2300 includes, at operation 2310, maintaining a first table of motion candidates during a conversion between a current block of visual media data and a bitstream representation of the current block. The method 2300 includes, at operation 2320, determining motion information of the current block encoded and decoded using an intra-frame block copy (IBC) mode based at least on the first table of motion candidates, in which at least one motion vector points to a picture segment including the current block. The method 2300 also includes, at operation 2330, performing the conversion based on the motion information. In some embodiments, the conversion includes encoding the current block to generate a bitstream representation. In some embodiments, the conversion includes decoding the bitstream representation to generate the current block.
在一些實施例中,該方法包括基於規則使用用於該轉換的運動信息來選擇性地更新運動候選的第一表。在一些實施例中, 該規則指定將運動信息添加到運動候選的第一表。在一些實施例中,該規則指定從運動候選的第一表排除運動信息。 In some embodiments, the method includes selectively updating the first table of motion candidates using the motion information used for the transformation based on a rule. In some embodiments, the rule specifies adding the motion information to the first table of motion candidates. In some embodiments, the rule specifies excluding the motion information from the first table of motion candidates.
在一些實施例中,該方法包括,在轉換之後,基於當前塊的運動信息來更新運動候選的第一表。在一些實施例中,該方法包括使用更新後的運動候選的第一表來執行可視媒體數據的第二塊和第二塊的位元流表示之間的第二轉換。第二塊可以是使用幀內塊複製模式而編解碼的。在一些實施例中,運動候選的第一表僅包括來自使用幀內塊複製模式而編解碼的塊的運動信息。在一些實施例中,運動候選的第一表僅用於處理使用幀內塊複製模式而編解碼的塊。在一些實施例中,運動候選的第一表包括來自使用幀內塊複製模式而編解碼的塊的運動信息,並且排除來自使用其他技術而編解碼的塊的運動信息。在一些實施例中,運動候選的第一表包括來自使用幀內塊複製模式而編解碼的塊的運動信息和來自使用其他技術而編解碼的塊的運動信息。在一些實施例中,第二轉換是使用與更新後的運動候選的第一表中的IBC編解碼塊相關聯的運動候選而執行的。 In some embodiments, the method includes, after the conversion, updating the first table of motion candidates based on the motion information of the current block. In some embodiments, the method includes using the updated first table of motion candidates to perform a second conversion between a second block of visual media data and a bitstream representation of the second block. The second block may be encoded or decoded using an intra-frame block copy mode. In some embodiments, the first table of motion candidates includes only motion information from blocks encoded or decoded using the intra-frame block copy mode. In some embodiments, the first table of motion candidates is used only to process blocks encoded or decoded using the intra-frame block copy mode. In some embodiments, the first table of motion candidates includes motion information from blocks encoded using the intra-frame block copy mode and excludes motion information from blocks encoded using other techniques. In some embodiments, the first table of motion candidates includes motion information from blocks encoded using the intra-frame block copy mode and motion information from blocks encoded using other techniques. In some embodiments, the second transformation is performed using motion candidates associated with IBC-coded blocks in the updated first table of motion candidates.
在一些實施例中,該方法包括:對於可視媒體數據的第三塊和第三塊的位元流表示之間的第三轉換,維護運動候選的第二表;基於運動候選的第二表來執行第三塊和第三塊的位元流表示之間的第三轉換。在一些實施例中,第三轉換在不使用更新後的運動候選的第一表的情況下而執行。在一些實施例中,第二表包括來自使用不同於IBC模式的其他技術而編碼的塊的運動信息。 在一些實施例中,第三塊是使用不同於IBC模式的技術而編解碼的。在一些實施例中,該技術包括幀間模式。在一些實施例中,該方法包括使用用於第三轉換的運動信息來更新運動候選的第二表。在一些實施例中,該方法包括基於更新後的第一表來執行IBC編解碼塊之間的第四轉換,以及基於更新後的第二表來執行幀間編解碼塊之間的第五轉換。 In some embodiments, the method includes: maintaining a second table of motion candidates for a third transformation between a third block of visual media data and a bitstream representation of the third block; and performing the third transformation between the third block and the bitstream representation of the third block based on the second table of motion candidates. In some embodiments, the third transformation is performed without using the updated first table of motion candidates. In some embodiments, the second table includes motion information from blocks encoded using other techniques other than IBC mode. In some embodiments, the third block is encoded and decoded using a technique other than IBC mode. In some embodiments, the technique includes an inter-frame mode. In some embodiments, the method includes updating the second table of motion candidates using the motion information used for the third transformation. In some embodiments, the method includes performing a fourth conversion between IBC codec blocks based on the updated first table, and performing a fifth conversion between inter-frame codec blocks based on the updated second table.
在一些實施例中,該方法包括將與當前塊相關聯的運動候選與第一表中的多個條目進行比較。第一表基於該比較而更新。在一些實施例中,多個條目對應於第一表中的所有條目。在一些實施例中,條目的數量是m,m是整數,並且m個條目是第一表中的最後m個條目。在一些實施例中,更新第一表包括將運動候選添加到第一表。在一些實施例中,第一表不包括重複的條目。 In some embodiments, the method includes comparing a motion candidate associated with the current block to a plurality of entries in a first table. The first table is updated based on the comparison. In some embodiments, the plurality of entries corresponds to all entries in the first table. In some embodiments, the number of entries is m, m is an integer, and the m entries are the last m entries in the first table. In some embodiments, updating the first table includes adding the motion candidate to the first table. In some embodiments, the first table does not include duplicate entries.
在一些實施例中,該方法包括確定當前塊是使用IBC Merge模式或IBC高級運動向量預測(AMVP)模式進一步編解碼的。在一些實施例中,該方法包括通過組合運動候選的第一表和當前塊的鄰近或非鄰近候選集合來確定當前塊的運動候選的列表,並且基於該列表來執行該轉換。在一些實施例中,該組合包括檢查來自鄰近或非鄰近候選集合的m個候選,以及檢查來自運動候選的第一表的n個運動候選,其中m和n是正整數。在一些實施例中,該方法包括,在確定運動候選的列表未滿時,將來自鄰近或非鄰近候選集合的m個候選中的至少一個添加到運動候選的列表。在一些實施例中,該方法包括,在確定運動候選的列表未滿 時,將來自運動候選的第一表的n個運動候選中的至少一個添加到運動候選的列表。 In some embodiments, the method includes determining that the current block is further encoded or decoded using an IBC Merge mode or an IBC Advanced Motion Vector Prediction (AMVP) mode. In some embodiments, the method includes determining a list of motion candidates for the current block by combining a first table of motion candidates and a neighboring or non-neighboring candidate set for the current block, and performing the conversion based on the list. In some embodiments, the combining includes checking m candidates from the neighboring or non-neighboring candidate set, and checking n motion candidates from the first table of motion candidates, where m and n are positive integers. In some embodiments, the method includes, when determining that the list of motion candidates is not full, adding at least one of the m candidates from the neighboring or non-neighboring candidate set to the list of motion candidates. In some embodiments, the method includes, upon determining that the list of motion candidates is not full, adding at least one of the n motion candidates from the first table of motion candidates to the list of motion candidates.
在一些實施例中,該組合包括以交錯方式檢查來自鄰近或非鄰近候選集合和運動候選的第一表的候選。在一些實施例中,該方法包括,在檢查來自第一表的運動候選之前,檢查來自鄰近或非鄰近候選集合的候選。在一些實施例中,該檢查包括檢查來自鄰近或非鄰近候選集合的候選,並且基於與鄰近或非鄰近候選相關聯的鄰近或非鄰近塊的編解碼特性,用來自運動候選的第一表的運動候選替換該候選。在一些實施例中,鄰近或非鄰近塊的編解碼特性指示鄰近或非鄰近塊位於預定義範圍之外。在一些實施例中,鄰近或非鄰近塊的編解碼特性指示鄰近或非鄰近塊是幀內編解碼的。在一些實施例中,添加運動候選進一步包括,在確定來自運動候選的第一表的運動候選與來自鄰近或非鄰近候選集合的至少一個候選不同時,將運動候選添加到列表。在一些實施例中,鄰近或非鄰近候選集合具有比運動候選的第一表更高的優先級。 In some embodiments, the combining includes checking candidates from the first list of neighboring or non-neighboring candidate sets and motion candidates in an interleaved manner. In some embodiments, the method includes checking candidates from the neighboring or non-neighboring candidate set before checking the motion candidate from the first list. In some embodiments, the checking includes checking a candidate from the neighboring or non-neighboring candidate set and replacing the candidate with a motion candidate from the first list of motion candidates based on a codec characteristic of a neighboring or non-neighboring block associated with the neighboring or non-neighboring candidate. In some embodiments, the codec characteristic of the neighboring or non-neighboring block indicates that the neighboring or non-neighboring block is outside a predefined range. In some embodiments, the coding characteristic of the neighboring or non-neighboring block indicates that the neighboring or non-neighboring block is intra-coded. In some embodiments, adding the motion candidate further includes adding the motion candidate to the list upon determining that the motion candidate from the first list of motion candidates is different from at least one candidate from the neighboring or non-neighboring candidate set. In some embodiments, the neighboring or non-neighboring candidate set has a higher priority than the first list of motion candidates.
在一些實施例中,運動候選的列表包括用於IBC Merge編解碼塊的多個Merge候選。在一些實施例中,運動候選的列表包括用於IBC AMVP編解碼塊的多個AMVP候選。在一些實施例中,運動候選的列表包括用於幀內編解碼塊的幀內預測模式。在一些實施例中,第一表的尺寸是預先定義的或在位元流表示中信令通知的。在一些實施例中,第一表與指示第一表中的可用運動 候選的數量的計數器相關聯。 In some embodiments, the list of motion candidates includes multiple Merge candidates for IBC Merge codec blocks. In some embodiments, the list of motion candidates includes multiple AMVP candidates for IBC AMVP codec blocks. In some embodiments, the list of motion candidates includes an intra-frame prediction mode for intra-frame codec blocks. In some embodiments, the size of the first table is predefined or signaled in the bitstream representation. In some embodiments, the first table is associated with a counter indicating the number of available motion candidates in the first table.
在一些實施例中,該方法包括,在處理新的條帶、新的LCU行或新的片之前,重置第一表。在一些實施例中,在處理新的條帶、新的LCU行或新的片之前,計數器被設置為零。 In some embodiments, the method includes resetting the first table before processing a new stripe, a new LCU row, or a new slice. In some embodiments, the counter is set to zero before processing a new stripe, a new LCU row, or a new slice.
圖26示出了根據所公開技術的用於視頻處理的示例方法2600的流程圖。方法2600包括,在操作2610處,對於視頻數據的當前塊和當前塊的位元流表示之間的轉換,至少基於與當前塊不鄰近的塊的一個或多個編解碼模式來確定當前塊的色度分量的第一編解碼模式。方法2600還包括,在操作2620處,基於第一編解碼模式來執行位元流表示和當前塊之間的轉換。 FIG. 26 shows a flow chart of an example method 2600 for video processing according to the disclosed technology. The method 2600 includes, at operation 2610, for a conversion between a current block of video data and a bitstream representation of the current block, determining a first codec mode for a chroma component of the current block based at least on one or more codec modes of blocks not adjacent to the current block. The method 2600 also includes, at operation 2620, performing the conversion between the bitstream representation and the current block based on the first codec mode.
在一些實施例中,該轉換從位元流表示生成當前塊。在一些實施例中,該轉換從當前塊生成位元流表示。 In some embodiments, the transform generates the current block from a bitstream representation. In some embodiments, the transform generates the bitstream representation from the current block.
在一些實施例中,第一編解碼模式是從運動候選的表或非鄰近色度塊推導的。在一些實施例中,第一編解碼模式是從與色度分量的對應亮度塊不同的亮度塊推導的。在一些實施例中,第一編解碼模式是從與色度分量的對應亮度塊不鄰近的亮度塊推導的。在一些實施例中,第一編解碼模式被確定為第一默認編解碼模式。 In some embodiments, the first codec mode is derived from a table of motion candidates or a non-adjacent chroma block. In some embodiments, the first codec mode is derived from a luma block that is different from a corresponding luma block of a chroma component. In some embodiments, the first codec mode is derived from a luma block that is non-adjacent to a corresponding luma block of a chroma component. In some embodiments, the first codec mode is determined as a first default codec mode.
在一些實施例中,該方法包括將第一默認編解碼模式添加到當前塊的色度模式候選列表。在一些實施例中,該方法進一步包括確定包括DC模式、平面模式、垂直模式或水平模式中的一個的第二默認編解碼模式。在一些實施例中,在檢查第一默認模 式之後確定色度模式列表未滿時,第二默認編解碼模式被添加到色度模式列表。 In some embodiments, the method includes adding a first default codec mode to a chroma mode candidate list for the current block. In some embodiments, the method further includes determining a second default codec mode including one of a DC mode, a planar mode, a vertical mode, or a horizontal mode. In some embodiments, when it is determined that the chroma mode list is not full after checking the first default mode, the second default codec mode is added to the chroma mode list.
在一些實施例中,運動候選的表中的運動候選對應於先前編解碼塊的幀內預測模式。在一些實施例中,該方法包括在該轉換之後更新運動候選的表。在一些實施例中,該方法包括基於更新後的表來執行視頻數據的後續塊和後續塊的位元流表示之間的第二轉換。 In some embodiments, the motion candidates in the table of motion candidates correspond to intra-frame prediction modes of previously encoded code blocks. In some embodiments, the method includes updating the table of motion candidates after the conversion. In some embodiments, the method includes performing a second conversion between a subsequent block of video data and a bitstream representation of the subsequent block based on the updated table.
圖27示出了根據所公開技術的用於視頻處理的示例方法2700的流程圖。方法2700包括,在操作2710處,對於色度塊的位元流表示和色度塊之間的轉換,基於對應於色度塊的亮度塊的空域相鄰塊來確定幀內編解碼模式。方法2700還包括,在操作2720處,基於幀內編解碼模式來執行位元流表示和色度塊之間的轉換。 FIG. 27 shows a flow chart of an example method 2700 for video processing according to the disclosed technology. The method 2700 includes, at operation 2710, for a conversion between a bitstream representation of a chroma block and the chroma block, determining an intra-frame encoding/decoding mode based on spatially adjacent blocks of a luminance block corresponding to the chroma block. The method 2700 also includes, at operation 2720, performing the conversion between the bitstream representation and the chroma block based on the intra-frame encoding/decoding mode.
在一些實施例中,該轉換從位元流表示生成色度塊。在一些實施例中,該轉換從色度塊生成位元流表示。在一些實施例中,該方法包括將幀內編解碼模式添加到色度塊的色度幀內模式列表。 In some embodiments, the transform generates a chroma block from a bitstream representation. In some embodiments, the transform generates a bitstream representation from a chroma block. In some embodiments, the method includes adding the intra-frame encoding/decoding mode to a chroma intra-frame mode list of the chroma block.
在一些實施例中,空域相鄰塊包括相對於色度塊的左上角位置的上側相鄰塊。在一些實施例中,空域相鄰塊包括相對於色度塊的左上角位置的左側相鄰塊。在一些實施例中,空域相鄰塊包括相對於色度塊的右上角位置的上側相鄰塊。在一些實施例中,空域相鄰塊包括相對於色度塊的左下角位置的左側相鄰塊。 在一些實施例中,空域相鄰塊包括與色度塊的第一列的中心位置鄰近的塊。在一些實施例中,空域相鄰塊是與色度塊的第一行的中心位置鄰近的塊。 In some embodiments, the spatially adjacent block includes an upper adjacent block relative to the upper left corner position of the chroma block. In some embodiments, the spatially adjacent block includes a left adjacent block relative to the upper left corner position of the chroma block. In some embodiments, the spatially adjacent block includes an upper adjacent block relative to the upper right corner position of the chroma block. In some embodiments, the spatially adjacent block includes a left adjacent block relative to the lower left corner position of the chroma block. In some embodiments, the spatially adjacent block includes a block adjacent to the center position of the first column of the chroma block. In some embodiments, the spatially adjacent block is a block adjacent to the center position of the first row of the chroma block.
根據前述內容,可以理解本文已經出於說明的目的描述了本公開技術的具體實施方案,但是在不脫離本發明範圍的情況下可以進行各種修改。因此,本公開技術不受除了所附申請專利範圍之外的限制。 Based on the foregoing, it can be understood that this article has described the specific implementation of the disclosed technology for the purpose of illustration, but various modifications can be made without departing from the scope of the invention. Therefore, the disclosed technology is not limited except to the scope of the attached patent application.
本專利文件中描述的主題和功能操作的實施方式可以在各種系統、數位電子電路或電腦軟體、韌體或硬體(包括本說明書中公開的結構及其結構等同物、或者它們中的一個或多個的組合)中實施。本說明書中描述的主題的實施方式可以實施為一個或多個電腦程式產品,即編碼在有形和非暫時性電腦可讀介質上的電腦程式指令的一個或多個模組,該電腦程式指令用於由數據處理裝置運行或控制數據處理裝置的操作。電腦可讀介質可以是機器可讀儲存設備、機器可讀儲存基板、儲存器設備、影響機器可讀傳播信號的物質的組合、或它們中的一個或多個的組合。術語“數據處理單元”或“數據處理裝置”包含用於處理數據的所有裝置、設備和機器,包括例如可編程處理器、電腦、或多個處理器或電腦。除了硬體之外,裝置還可以包括為所討論的電腦程式創建運行環境的代碼,例如,構成處理器韌體、協議棧、數據庫管理系統、操作系統、或它們中的一個或多個的組合的代碼。 The implementation of the subject matter and functional operations described in this patent document can be implemented in various systems, digital electronic circuits or computer software, firmware or hardware (including the structures disclosed in this specification and their structural equivalents, or a combination of one or more of them). The implementation of the subject matter described in this specification can be implemented as one or more computer program products, that is, one or more modules of computer program instructions encoded on a tangible and non-transitory computer-readable medium, which are used to be run by a data processing device or control the operation of the data processing device. The computer-readable medium can be a machine-readable storage device, a machine-readable storage substrate, a storage device, a combination of substances that affect machine-readable propagated signals, or a combination of one or more of them. The term "data processing unit" or "data processing apparatus" encompasses all devices, equipment and machines for processing data, including, for example, a programmable processor, a computer, or multiple processors or computers. In addition to hardware, the apparatus may also include code that creates an operating environment for the computer program in question, for example, code constituting processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.
電腦程式(也已知為程式、軟體、軟體應用、腳本或代 碼)可以以任何形式的編程語言(包括編譯或解釋語言)編寫,並且其可以以任何形式部署,包括作為獨立程式或作為適合在計算環境中使用的模組、組件、子例程或其他單元。電腦程式不一定對應於文件系統中的文件。程式可以儲存在保存其他程式或數據(例如,儲存在標記語言文件中的一個或多個腳本)的文件的一部分中,儲存在專用於所討論的程式的單個文件中,或儲存在多個協調文件中(例如,儲存一個或多個模組、子程式或代碼部分的文件)。電腦程式可以被部署以在一個電腦上或在位於一個站點上或跨多個站點分布並通過通信網路互連的多個電腦上運行。 A computer program (also known as a program, software, software application, script, or code) may be written in any form of programming language (including compiled or interpreted languages), and it may be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program may be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language file), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that hold one or more modules, subroutines, or portions of code). A computer program may be deployed to run on one computer or on multiple computers located at one site or distributed across multiple sites and interconnected by a communications network.
本說明書中描述的過程和邏輯流程可以由運行一個或多個電腦程式的一個或多個可編程處理器執行,以通過對輸入數據進行操作並生成輸出來執行功能。過程和邏輯流程也可以由專用邏輯電路執行,並且裝置也可以實施為專用邏輯電路,例如,FPGA(Field Programmable Gate Array,現場可編程門陣列)或ASIC(Application Specific Integrated Circuit,專用積體電路)。 The processes and logic flows described in this specification may be performed by one or more programmable processors running one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows may also be performed by dedicated logic circuits, and the apparatus may also be implemented as dedicated logic circuits, such as FPGAs (Field Programmable Gate Arrays) or ASICs (Application Specific Integrated Circuits).
適合於運行電腦程式的處理器包括例如通用和專用微處理器、以及任何類型的數位電腦的任何一個或多個處理器。通常,處理器將從只讀儲存器或隨機存取儲存器或兩者接收指令和數據。電腦的基本元件是用於執行指令的處理器和用於儲存指令和數據的一個或多個儲存器設備。通常,電腦還將包括用於儲存數據的一個或多個大容量儲存設備(例如,磁盤、磁光盤或光盤),或可操作地耦合以從該一個或多個大容量儲存設備接收數據或向該一 個或多個大容量儲存設備傳遞數據、或者從其接收數據並向其傳遞數據。然而,電腦不需要這樣的設備。適用於儲存電腦程式指令和數據的電腦可讀介質包括所有形式的非揮發性儲存器、介質和儲存器設備,包括例如半導體儲存器設備,例如EPROM、EEPROM和快閃記憶體。處理器和儲存器可以由專用邏輯電路補充或並入專用邏輯電路中。 Processors suitable for running computer programs include, for example, general-purpose and special-purpose microprocessors, and any one or more processors of any type of digital computer. Typically, the processor will receive instructions and data from read-only memory or random access memory, or both. The basic elements of a computer are a processor for executing instructions and one or more storage devices for storing instructions and data. Typically, a computer will also include one or more mass storage devices (e.g., magnetic disks, magneto-optical disks, or optical disks) for storing data, or be operatively coupled to receive data from or transfer data to the one or more mass storage devices, or to receive data from and transfer data to the one or more mass storage devices. However, a computer does not require such devices. Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and storage devices, including, for example, semiconductor storage devices such as EPROM, EEPROM, and flash memory. The processor and memory may be supplemented by or incorporated in dedicated logic circuitry.
說明書與附圖一起旨在被視為是示例性的,其中示例性意味著示例。如本文所使用的,除非上下文另有清楚說明,否則單數形式“一”和“該”旨在也包括複數形式。另外,除非上下文另有清楚說明,否則使用“或”旨在包括“和/或”。 The specification, together with the drawings, are intended to be regarded as exemplary, where exemplary means example. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. In addition, the use of "or" is intended to include "and/or" unless the context clearly indicates otherwise.
雖然本專利文件包含許多細節,但這些細節不應被解釋為對任何發明或可能要求保護的範圍的限制,而是作為特定於特定發明的特定實施例的特徵的描述。在單獨的實施例的上下文中在本專利文件中描述的某些特徵也可以在單個實施例中組合實施。相反,在單個實施例的上下文中描述的各種特徵也可以分別在多個實施例中或以任何合適的子組合實施。此外,儘管特徵可以在上面描述為以某些組合起作用並且甚至最初如此要求保護,但是在一些情況下可以從組合排除來自所要求保護的組合的一個或多個特徵,並且所要求保護的組合可以針對子組合或子組合的變化。 Although this patent document contains many details, these details should not be construed as limitations on the scope of any invention or what may be claimed, but rather as descriptions of features specific to particular embodiments of particular inventions. Certain features described in this patent document in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented separately in multiple embodiments or in any suitable subcombination. Furthermore, although features may be described above as functioning in certain combinations and even initially claimed as such, in some cases one or more features from a claimed combination may be excluded from the combination, and a claimed combination may be directed to a subcombination or variations of a subcombination.
類似地,雖然在附圖中以特定順序描繪了操作,但是這不應該被理解為要求以所示的特定順序或以先後順序執行這樣的 操作或者執行所有示出的操作以實現期望的結果。此外,在本專利文件中描述的實施例中的各種系統組件的分離不應被理解為在所有實施例中都需要這樣的分離。 Similarly, although operations are depicted in a particular order in the accompanying drawings, this should not be understood as requiring that such operations be performed in the particular order shown or in a sequential order, or that all of the operations shown be performed to achieve the desired results. In addition, the separation of various system components in the embodiments described in this patent document should not be understood as requiring such separation in all embodiments.
僅描述了一些實施方式和示例,並且可以基於本專利文件中描述和示出的內容來進行其他實施方式、增強和變化。 Only some implementations and examples are described, and other implementations, enhancements, and variations may be made based on what is described and shown in this patent document.
2600:方法 2600:Methods
2610、2620:操作 2610, 2620: Operation
Claims (24)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
WOPCT/CN2018/107180 | 2018-09-24 | ||
CN2018107180 | 2018-09-24 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202017378A TW202017378A (en) | 2020-05-01 |
TWI838406B true TWI838406B (en) | 2024-04-11 |
Family
ID=68136476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108134477A TWI838406B (en) | 2018-09-24 | 2019-09-24 | Chroma mode intra coding |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN110944198B (en) |
TW (1) | TWI838406B (en) |
WO (1) | WO2020065508A1 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021222871A1 (en) * | 2020-04-30 | 2021-11-04 | Beijing Dajia Internet Information Technology Co., Ltd. | Methods and devices for prediction dependent residual scaling for video coding |
CN114071158A (en) | 2020-07-29 | 2022-02-18 | 腾讯科技(深圳)有限公司 | Motion information list construction method, device and equipment in video coding and decoding |
WO2024120307A1 (en) * | 2022-12-07 | 2024-06-13 | Mediatek Inc. | Method and apparatus of candidates reordering of inherited cross-component models in video coding system |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170332084A1 (en) * | 2016-05-13 | 2017-11-16 | Qualcomm Incorporated | Neighbor based signaling of intra prediction modes |
WO2018116925A1 (en) * | 2016-12-21 | 2018-06-28 | シャープ株式会社 | Intra prediction image generating device, image decoding device, and image coding device |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101611409B1 (en) * | 2011-09-28 | 2016-04-14 | 한국전자통신연구원 | Method for encoding/decoding an intra prediction mode and apparatus for the same |
WO2017008255A1 (en) * | 2015-07-14 | 2017-01-19 | Mediatek Singapore Pte. Ltd. | Advanced intra prediction mode signaling in video coding |
KR20170058837A (en) * | 2015-11-19 | 2017-05-29 | 한국전자통신연구원 | Method and apparatus for encoding/decoding of intra prediction mode signaling |
-
2019
- 2019-09-24 WO PCT/IB2019/058066 patent/WO2020065508A1/en active Application Filing
- 2019-09-24 CN CN201910904951.4A patent/CN110944198B/en active Active
- 2019-09-24 TW TW108134477A patent/TWI838406B/en active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170332084A1 (en) * | 2016-05-13 | 2017-11-16 | Qualcomm Incorporated | Neighbor based signaling of intra prediction modes |
WO2018116925A1 (en) * | 2016-12-21 | 2018-06-28 | シャープ株式会社 | Intra prediction image generating device, image decoding device, and image coding device |
Also Published As
Publication number | Publication date |
---|---|
CN110944198A (en) | 2020-03-31 |
TW202017378A (en) | 2020-05-01 |
WO2020065508A1 (en) | 2020-04-02 |
CN110944198B (en) | 2023-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI833807B (en) | History based motion vector predictor for intra block copy | |
JP7299342B2 (en) | Video processing method, apparatus, storage medium and storage method | |
CN114339221B (en) | Convolutional neural network based filter for video encoding and decoding | |
TWI816858B (en) | Implicit coding for transform matrix selection | |
JP7403555B2 (en) | Matrix derivation in intracoding mode | |
CN114390288A (en) | Using neural network filtering in video coding and decoding | |
CN113711597B (en) | Context modeling and selection of multiple transformation matrices | |
JP2023164589A (en) | Matrix-based intra prediction using filtering | |
US11632575B2 (en) | Binarization of partitioning related to extended quadtree | |
TWI838406B (en) | Chroma mode intra coding | |
CN113632493B (en) | Sub-block transforms in transform skip mode | |
RU2815738C2 (en) | Determination of chromaticity coding mode using matrix-based intra-frame prediction | |
WO2022194197A1 (en) | Separate Tree Coding Restrictions | |
WO2024077562A1 (en) | Coding method and apparatus, decoding method and apparatus, coder, decoder, code stream, and storage medium | |
TW202046721A (en) | Gradient-based prediction refinement for video coding | |
TW202041002A (en) | Constraints on decoder-side motion vector refinement |