CN114270825A - 基于计数器的帧内预测模式的初始化 - Google Patents
基于计数器的帧内预测模式的初始化 Download PDFInfo
- Publication number
- CN114270825A CN114270825A CN202080058247.2A CN202080058247A CN114270825A CN 114270825 A CN114270825 A CN 114270825A CN 202080058247 A CN202080058247 A CN 202080058247A CN 114270825 A CN114270825 A CN 114270825A
- Authority
- CN
- China
- Prior art keywords
- video
- unit
- intra
- ctu
- mode
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000006243 chemical reaction Methods 0.000 claims abstract description 101
- 238000012545 processing Methods 0.000 claims abstract description 80
- 238000003672 processing method Methods 0.000 claims abstract description 22
- 238000000034 method Methods 0.000 claims description 572
- 230000008569 process Effects 0.000 claims description 71
- 230000007704 transition Effects 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 17
- 239000011449 brick Substances 0.000 claims description 14
- 230000001174 ascending effect Effects 0.000 claims description 10
- 239000000523 sample Substances 0.000 description 42
- 241000023320 Luma <angiosperm> Species 0.000 description 40
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 40
- 239000013598 vector Substances 0.000 description 28
- 238000013507 mapping Methods 0.000 description 26
- 239000011159 matrix material Substances 0.000 description 21
- 238000005192 partition Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 14
- 238000010276 construction Methods 0.000 description 8
- 238000013139 quantization Methods 0.000 description 8
- 238000005070 sampling Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 230000004044 response Effects 0.000 description 7
- 101150055297 SET1 gene Proteins 0.000 description 5
- 230000015654 memory Effects 0.000 description 5
- 230000011664 signaling Effects 0.000 description 5
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000000644 propagated effect Effects 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000009795 derivation Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 2
- 101100129500 Caenorhabditis elegans max-2 gene Proteins 0.000 description 2
- 101100102504 Caenorhabditis elegans ver-4 gene Proteins 0.000 description 2
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 229910003460 diamond Inorganic materials 0.000 description 2
- 239000010432 diamond Substances 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000013138 pruning Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 230000008901 benefit Effects 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
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
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/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- 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/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/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- 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/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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- 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/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- 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/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/167—Position within a video image, e.g. region of interest [ROI]
-
- 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/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/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/1883—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 relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/436—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
-
- 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)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种视频处理方法,包括:执行包括多个视频单元的视频与该视频的编解码表示之间的转换,其中,依次处理多个视频单元,其中,当在转换中处理多个视频单元中的视频单元时,一个或多个频率表和/或一个或多个已排序的帧内预测模式(IPM)表被重置或初始化,其中,一个或多个频率表包括关于用于处理多个视频单元中的先前视频单元的一个或多个帧内预测模式的频率的信息,其中,先前视频单元在时间上先于该视频单元,其中,该频率指示用于转换的一个或多个帧内预测模式的出现,并且其中,一个或多个已排序的IPM表指示在处理中使用的一个或多个帧内预测模式。
Description
相关申请的交叉引用
根据适用的《专利法》和/或《巴黎公约》的规定,本申请及时要求于2019年8月19日提交的国际专利申请号PCT/CN2019/101443、于2019年8月28日提交的国际专利申请号PCT/CN2019/103075、以及于2019年8月30日提交的国际专利申请号PCT/CN2019/103647的优先权和利益。出于法律上的所有目的,将以上申请的全部公开以引用方式并入本文,作为本申请公开的一部分。
技术领域
本专利文件涉及视频编解码技术、设备和***。
背景技术
尽管在视频压缩上取得了进步,数字视频在互联网和其他数字通信网络上仍然占据最大的带宽使用。随着能够接收和显示视频的连接用户设备数量的增加,预期数字视频使用的带宽需求将继续增长。
发明内容
涉及数字视频编解码,具体是涉及基于计数器的视频和图像的帧内编解码和解码的设备、***和方法。所描述的方法可以应用于现有的视频编解码标准(例如,高效视频编解码(HEVC))和将来的视频/图像编解码标准或视频/图像编解码器。
在一个示例方面,一种视频处理的示例方法,包括:执行包含视频单元的视频和该视频的编解码表示之间的转换,其中,在转换中处理视频单元时,选择性地更新一个或多个频率表,以包括关于在处理中使用的视频单元的一个或多个帧内预测模式的频率的信息,其中,该频率指示用于转换的一个或多个帧内预测模式的出现,并且其中,在处理视频单元时,选择性地更新一个或多个已排序的帧内预测模式(IPM)表以指示在处理中使用的一个或多个帧内预测模式。
在又一示例方面,一种视频处理的示例方法,包括:使用一个或多个频率表或一个或多个已排序的帧内预测模式(IPM)表来执行视频的视频单元和该视频的编解码表示之间的转换,其中,一个或多个频率表包括关于在视频的转换中使用的一个或多个帧内预测模式的频率的信息,其中,该频率指示用于转换的一个或多个帧内预测模式的出现,其中,一个或多个已排序的IPM表以排序的顺序指示一个或多个帧内预测模式,其中,该一个或多个频率表或该一个或多个已排序的IPM表用于在构建尺寸为N的最可能模式(MPM)列表的过程中的帧内模式编解码,其中N是整数。
在又一示例方面,一种视频处理的示例方法,包括:执行视频的视频块和该视频的编解码表示之间的转换,其中,编解码表示包括指示用于转换的选择的帧内预测模式的语法元素,该编解码表示不包括指示最可能模式(MPM)、或MPM列表的索引、或除了MPM列表中包括的帧内预测模式以外的其余帧内预测模式的一个或多个语法元素,并且其中,选择的帧内预测模式是基于历史信息的,该历史信息指示在视频块的转换之前、在视频的一个或多个视频块与该视频之间的另一转换所使用的一个或多个帧内预测模式的频率。
在又一示例方面,一种视频处理的示例方法,包括:执行包括多个视频单元的视频与该视频的编解码表示之间的转换,其中,依次处理该多个视频单元,其中,当在转换中处理多个视频单元中的一个视频单元时,重置或初始化一个或多个频率表和/或一个或多个已排序的帧内预测模式(IPM)表,其中,一个或多个频率表包括关于用于处理多个视频单元中的先前视频单元的一个或多个帧内预测模式的频率的信息,其中,先前视频单元在时间上先于该视频单元,其中,该频率指示转换所使用的一个或多个帧内预测模式的出现,并且其中,一个或多个已排序的IPM表指示在处理中使用的一个或多个帧内预测模式。
在又一示例方面,一种视频处理的示例方法,包括:执行包括多个视频单元的视频与该视频的编解码表示之间的转换,其中,依次处理该多个视频单元,其中,该转换包括使用频率表中的一个或多个条目的一个或多个特定值来重置或初始化频率表,其中,该频率表包括关于用于在转换中处理多个视频单元的一个或多个帧内预测模式的频率的信息,并且其中,该频率指示该转换所使用的一个或多个帧内预测模式的出现。
在又一示例方面,一种视频处理的示例方法,包括:执行包括多个视频单元的视频与该视频的编解码表示之间的转换,其中,依次处理该多个视频单元;以及,在对多个视频单元中的一个视频单元执行转换之后,确定:(1)是否对频率表、已排序的帧内预测模式(IPM)表、和/或基于历史的运动预测(HMVP)表启用重置或初始化过程,和/或(2)利用其重置或初始化频率表、已排序的IPM表、和/或HMVP表的技术,其中,该确定是基于除了解码的帧内预测模式的视频单元的解码信息,其中,该频率表包括关于用于在转换中处理多个视频单元中的先前视频单元的一个或多个帧内预测模式的频率的信息,其中,先前视频单元在时间上先于该视频单元,其中,该频率指示用于转换的一个或多个帧内预测模式的出现,并且其中,已排序的IPM表指示在处理中使用的一个或多个帧内预测模式。
在又一示例方面,一种视频处理的示例方法,包括:执行包括视频单元的视频和该视频的编解码表示之间的转换,其中,在利用帧内预测模式对视频单元进行编码或解码之后,根据规则选择性地更新一个或多个频率表和/或一个或多个已排序的帧内预测模式(IPM)表,其中,一个或多个频率表包括关于用于在转换中处理视频单元的帧内预测模式的频率的信息,其中,该频率指示用于转换的帧内预测模式的出现,并且其中,一个或多个已排列的IPM表指示在处理中使用的帧内预测模式。
在又一示例方面,公开了一种视频处理方法。该方法包括:使用一个或多个频率表来执行视频的视频单元和该视频单元的编解码表示之间的转换,其中,该一个或多个频率表包括关于在视频的转换中使用的帧内预测模式的频率的信息;以及,由于该转换,基于视频单元的编解码模式选择性地更新该一个或多个频率表。
在另一示例方面,公开了另一视频处理方法。该方法包括:使用频率表来执行视频的视频单元和该视频单元的编解码表示之间的转换,其中,该频率表包括多个条目,每个条目代表该转换中的对应帧内编解码模式的出现的频率;以及,利用该转换,基于该视频单元的编解码信息选择性地更新该频率表。
在另一方面,公开了另一视频处理方法。该方法包括:使用一个或多个频率表和/或使用根据在该一个或多个频率表中指示的频率顺序排序的一个或多个帧内预测模式表,来执行视频的当前视频单元和下一视频单元与编解码表示之间的转换;其中,该一个或多个频率表包括关于在转换中使用的帧内预测模式的频率的信息;并且其中,该一个或多个频率表和/或该一个或多个帧内预测模式表在当前视频单元的转换的使用和下一视频单元的转换的使用之间被重置或初始化。
在又一示例方面,公开了另一视频处理方法。该方法包括:使用一个或多个频率表来执行视频的视频单元和该视频单元的编解码表示之间的转换,其中,该一个或多个频率表包括关于在视频的转换中使用的帧内预测模式的频率的信息以及关于帧内预测模式的出现的辅助信息。
在另一示例方面,公开了另一视频处理方法。该方法包括:对于视频的视频单元和该视频的编解码表示之间的转换,确定用于该转换的帧内预测模式;以及,基于该帧内预测模式执行该转换;其中,以编解码表示中的语法元素信令通知该帧内预测模式。
在又一代表性方面,以处理器可执行代码的形式体现上述方法并被存储在计算机可读程序介质中。
在又一代表性方面,公开了一种被配置为或可操作为执行上述方法的设备。该设备可以包括被编程为实施该方法的处理器。
在又一代表性方面,视频解码器装置可以实施本文所描述的方法。
在附图、说明书和权利要求书中更详细地描述了所公开技术的以上和其他方面以及特征。
附图说明
图1示出了67个帧内预测模式。
图2示出了用于4×4块的ALWIP的示例。
图3示出了用于8×8块的ALWIP的示例。
图4是用于8×4块的ALWIP的示例。
图5是用于16×16块的ALWUP的示例。
图6示出了与预测块临近的四个参考线的示例。
图7示出了4×8块和8×4块的分隔的示例。
图8示出了除4×8、8×4和4×4以外的所有块的分隔的示例。
图9示出了用于MPM列表构建过程的临近块的示例。
图10示出了从对应亮度块推导DM的“CR”位置的示例。
图11示出了双线性帧内预测模式的示例。
图12是更新频率表和已排序的IPM表的示例图示。
图13-图14示出了一些实施例中的解码流程图的示例。
图15示出了更新和重新排序过程的示例。
图16示出了利用频率表构建MPM列表和非MPM列表的示例。
图17示出了利用频率表以及非MPM列表构建所有MPM模式的示例。
图18是利用局部和全局子列表的MPM构建程序的图示。
图19A-图19B是视频处理方法的流程图。
图20是用于实施视频处理技术的示例硬件平台的框图。
图21是用于视频处理的示例方法的流程图。
图22示出了一个示例实施例中更新和重新排序过程的示例。
图23示出了可用于更新表的CTU内的区域(填充为阴影)的示例。
图24A-图24B示出了在对CTU内的灰色CU/PU/TU进行解码之前应用重置的示例。在一个示例中,B和C=2,H是CTU高度,W是CTU宽度。
图25A-图25B示出了在对CTU内的灰色CU/PU/TU进行解码之前应用重置的示例。在一个示例中,B和C=2,H是CTU高度,W是CTU宽度。
图26是示出了可在其中实施本文所公开的各种技术的示例视频处理***的框图。
图27是图示根据本公开的一些实施例的视频编解码***的框图。
图28是图示根据本公开的一些实施例的编码器的框图。
图29是图示根据本公开的一些实施例的解码器的框图。
图30A-图30G示出了视频处理的示例方法。
具体实施方式
所公开技术的实施例可应用于现有视频编解码标准(例如,HEVC、H.265)和未来标准以改善压缩性能。在本文中,使用章节标题用于提高说明书的可读性,并且不以任何方式将讨论或实施例的范围仅限于各章节。
1.概述
本文件涉及图像/视频编解码技术。具体地,其涉及图像/视频编解码中的帧内模式编解码。它可以被应用于现有的视频编解码标准,如HEVC,或待定案的标准(多功能视频编解码)。它也可能适用于未来的视频编解码标准或视频编解码器。
2.初步讨论
视频编解码标准主要是通过开发众所周知的ITU-T和ISO/IEC标准而发展起来的。ITU-T制定了H.261和H.263,ISO/IEC制定了MPEG-1和MPEG-4视觉,并且两个组织联合制定了H.262/MPEG-2视频和H.264/MPEG-4高级视频编解码(AVC)和H.265/高效视频编解码(HEVC)标准。自H.262以来,视频编解码标准基于混合视频编解码结构,其中采用了时域预测加变换编解码。为了探索HEVC之外的未来视频编解码技术,VCEG和MPEG于2015年共同成立了联合视频探索小组(JVET)。此后,JVET采用了许多新的方法,并将其应用到名为联合探索模型(JEM)的参考软件中。2018年4月,成立了VCEG(Q6/16)与ISO/IEC JTC1 SC29/WG11(MPEG)之间的联合视频专家团队(JVET),致力于开发下一代多功能视频编解码(VersatileVideo Coding,VVC)标准,目标是比HEVC降低50%的比特率。
VVC草案的最新版本,即多功能视频编解码(提交草案)可以在以下位置找到:
http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/15_Gothenburg/wg11/JVET-O2001-v14.zip
称为VTM的VVC的最新参考软件可以在以下位置找到:
https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/tags/VTM-5.0
2.1亮度帧内预测方法
2.1.1具有67个帧内预测模式的帧内模式编解码
为了捕获自然视频中呈现的任意边缘方向,定向帧内模式的数目从HEVC中使用的33个扩展到65个。附加的定向模式在图1中用虚线箭头表示,平面和DC模式保持不变。因此,总共有67个帧内预测模式。这些更密集的定向帧内预测模式适用于所有块尺寸以及亮度和色度帧内预测。
常规角度帧内预测方向被定义为在顺时针方向上45度到-135度,如图1所示。在VTM2中,对于非正方形块,将几种常规角度帧内预测模式自适应地替换为广角帧内预测模式。使用原始方法信令通知被替换的模式,并在解析后重新映射到广角模式的索引。帧内预测模式的总数不变,即67个,并且帧内模式编解码不变。
在HEVC中,每个帧内编解码块均具有正方形形状,并且每个侧边的长度是2的幂。因此,不需要除法运算来使用DC模式生成帧内预测因子。在VVV中,块可以具有矩形形状,在通常情况下,必须对每个块使用除法运算。为了避免进行DC预测的除法运算,仅将较长的一侧边用于计算非正方形块的平均值。
除了67个帧内预测模式之外,还为特定块启用了针对非正方形块的广角帧内预测(WAIP)和位置相关帧内预测组合(PDPC)方法。PDPC适用于以下内部模式,而无需信令通知:平面、DC、水平、垂直、左下方角度模式及其八个临近的角度模式、以及右上方角度模式及其八个临近的角度模式。
2.1.2仿射线性加权帧内预测(ALWIP,又称基于矩阵的帧内预测)
在JVET-N0217中提出了仿射线性加权帧内预测(ALWIP,又称基于矩阵的帧内预测(MIP))。
2.1.2.1通过矩阵矢量乘法生成缩减的预测信号
首先,通过平均对临近的参考样点进行下采样,以产生缩减的参考信号bdryred。然后,通过计算矩阵矢量乘积并加上偏移量,来计算出缩减的预测信号predred。
predred=A·bdryred+b
此处,A是矩阵,该矩阵在W=H=4的情况下具有Wred·Hred行和4列,而在所有其他情况下具有8列。b是尺寸Wred·Hred的矢量。
2.1.2.2整个ALWIP过程的图示
图2至图5中针对不同形状示出了平均、矩阵矢量乘法、和线性插值的整个过程。请注意,其余形状均按以下所示情况之一处理。
1.给定4×4的块,ALWIP沿边界的每个轴取两个平均值。所得的四个输入样点进入矩阵矢量乘法运算。矩阵取自集合S0。添加偏移量后,将得出16个最终预测样点。线性插值对于生成预测信号不是必需的。因此,每个样点总共执行(4·16)/(4·4)=4次乘法运算。图2是针对4×4块的ALWIP的图示。
2.给定8×8的块,ALWIP沿边界的每个轴取四个平均值。所得的八个输入样点进入矩阵矢量乘法运算。矩阵取自集合S1。在预测块的奇数位置上产生16个样点。因此,每个样点共执行(8·16)/(8·8)=2次乘法运算。添加偏移量后,将使用缩小的顶部边界对这些样点进行垂直插值。随后使用原始的左边界进行水平插值。图3是针对8×8块的ALWIP的图示。
3.给定一个8×4的块,ALWIP沿边界的水平轴取四个平均值,在左边界取四个原始边界值。所得的八个输入样点进入矩阵矢量乘法运算。矩阵取自集合S1。在预测块的水平奇数位及每个垂直位置上产生16个样点。因此,每个样点总共执行(8·16)/(8·4)=4次乘法运算。添加偏移后,将使用原始的左边界对这些样点进行水平插值。图4是针对8×4块的ALWIP的图示。
转置后的情况也对应处理。
4.给定16×16的块,ALWIP沿边界的每个轴取四个平均值。所得的八个输入样点进入矩阵矢量乘法运算。矩阵取自集合S2。在预测块的奇数位置上产生64个样点。因此,每个样点总共执行(8·64)/(16·16)=2次乘法运算。添加偏移量后,将使用顶部边界的八个平均值对这些样点进行垂直插值。随后使用原始的左边界进行水平插值。在这种情况下,插值过程不会添加任何乘法运算。因此,总体来说,每个样点需要两次乘法运算以计算ALWIP预测。图5是针对16×16块的ALWIP的图示。
对于较大的形状,程序基本相同,并且很容易检查每个样点的乘法次数少于四次。
对于W×8块(W>8),因为是在水平奇数位及每个垂直位置给出的样点,所以只需要水平插值。
最后,对于W×4块(W>8),令Ak为矩阵,其形成是通过舍弃与下采样块的水平轴上的奇数项对应的每一行。因此,输出尺寸为32,同样,只需执行水平插值。
转置后的情况也对应处理。
2.1.2.3帧内模式设置
基于块尺寸,在MIP中使用的帧内预测模式的总数有不同的设置。更具体地说,以下适用:
-对于4x4块,有34种模式
-否则,如果块的宽度和高度都不大于8,则有18种模式
-否则(块的宽度和高度均大于8),存在10种模式
在MPM列表构建过程中,如果临近块以MIP模式编解码,则将相应的帧内预测模式设置为平面模式。
2.1.3多参考线(MRL)
多参考线(MRL)帧内预测使用更多参考线进行帧内预测。在图6中,示出了4个参考线的示例,其中分段A和F的样点不是从重构的临近样点中获取的,而是分别由分段B和E的最接近的样点来填补的。HEVC帧内图片预测使用最近的参考线(即,参考线0)。在MRL中,使用了2条附加行(参考线1和参考线3)。
信令通知选定参考线的索引(mrl_idx),并将其用于生成帧内预测因子。对于大于0的参考线索引,仅在MPM列表中包括附加参考线模式,并且仅信令通知MPM索引而没有其余模式。在帧内预测模式之前信令通知参考线索引,并且,在信令通知非零参考线索引的情况下,从帧内预测模式中排除平面模式和DC模式。
在CTU内对第一行的块禁用MRL,以防止在当前CTU行之外使用扩展的参考样点。同样,当使用附加行时,禁用PDPC。
2.1.4帧内子块分割(ISP)
在JVET-M0102中,提出了ISP,如表1所示,其根据块的尺寸将亮度帧内预测块垂直或水平地分割为2个或4个子分割。图7和图8示出了两种可能性的示例。所有子分割均满足至少有16个样点的条件。对于块尺寸,如果允许4×N或N×4(N>8),则可能存在1×N或N×1个子分割。
表1:取决于块尺寸的子分割数目(由maxTBSize表示最大变换尺寸)
对于这些子分割中的每一个,通过对由编码器发送的系数进行熵解码,再对其进行逆量化和逆变换,来生成残差信号。然后,对该子分割进行帧内预测,最后通过将残差信号加在预测信号上来获得相应的重构样点。因此,每个子分割的重构值将可用于生成下一分割的预测,重复该过程,依此类推。所有子分割共享相同的帧内模式。
表2:取决于predModeIntra的trTypeHor和trTypeVer的规定
2.2亮度帧内模式编解码
所允许的帧内预测模式分为两部分:处于最可能模式(MPM)列表中的帧内预测模式;以及其余模式。使用MPM列表中的模式还是其余模式由标志(intra_luma_mpm_flag)控制。
对于MPM列表,第一个始终设置为平面模式,因此,首先信令通知一个单独的标志,以指示所选模式是否为平面。如果不是,则假设MPM列表大小等于6,进一步将该MPM列表的索引减去1进行信令通知。
可替代地,可以不同地认为MPM列表的尺寸为5,且列表中不包括平面模式。但是,在intra_luma_mpm_flag等于真的情况下仍然信令通知该模式是否为平面模式。在这种情况下,当块选择非平面MPM模式时,信令通知该MPM列表的索引。
2.2.1MPM列表的构建
假设将左侧的模式表示为“左(Left)”,并将上方的模式表示为“上(Above)”,则通过以下步骤依次构建统一的MPM列表:
–当临近块的帧内预测模式无效时,默认将其帧内模式设置为“平面”。
–如果“左”和“上”模式相同且都成角度:
○MPM列表→{平面、左、左-1、左+1、DC、左-2}
–如果“左”和“上”模式不同并且都成角度:
○将“最大”(Max)模式设置为“左”和“上”模式中的较大模式
○如果“左”和“上”模式的差异在2到62之间(包括2和62)
■MPM列表→{平面、左、上、DC、最大-1、最大+1}
○否则
■MPM列表→{平面、左、上、DC、最大-2、最大+2}
–如果“左”和“上”模式不同,并且“左”和“上”模式之一是角度模式,另一个是非角度模式:
○将“最大”(Max)模式设置为“左”和“上”模式中的较大模式
○MPM列表→{平面、最大、DC、最大-1、最大+1、最大-2}
–如果“左”和“上”两种模式均为非角度模式:
○MPM列表→{平面、DC、V、H、V-4、V+4}
图9示出了用于MPM列表构建过程的临近块的示例。
2.2.2关于帧内模式编解码的规定
7.3.8.5编解码单元语法
8.4.2亮度帧内预测模式的推导过程
该过程的输入是:
–亮度位置(xCb,yCb),规定相对于当前图片的左上亮度样点的当前亮度编解码块的左上样点,
–变量cbWidth,规定亮度样点中当前编解码块的宽度,
–变量cbHeight,规定亮度样点中当前编解码块的高度。
在此处理中,推导了亮度帧内预测模式IntraPredModeY[xCb][yCb]。
表8-1规定帧内预测模式IntraPredModeY[xCb][yCb]的值以及相关联的名称。
表8-1帧内预测模式和相关联名称的规定
备注:帧内预测模式INTRA_LT_CCLM、INTRA_L_CCLM、和INTRA_T_CCLM仅适用于色度分量。
按照如下推导IntraPredModeY[xCb][yCb]:
–如果intra_luma_not_planar_flag[xCb][yCb]等于0,则将IntraPredModeY[xCb][yCb]设置为等于INTRA_PLANAR。
–否则,如果BdpcmFlag[xCb][yCb]等于1,则将IntraPredModeY[xCb][yCb]设置为等于BdpcmDir[xCb][yCb]?INTRA_ANGULAR50:INTRA_ANGULAR18。
–否则(intra_luma_not_planar_flag[xCb][yCb]等于1),适用以下顺序步骤:
1.将临近位置(xNbA,yNbA)和(xNbB,yNbB)分别设置为等于(xCb-1,yCb+cbHeight-1)和(xCb+cbWidth-1,yCb-1)。
2.对于被A或B替换的X,如下推导变量candIntraPredModeX:
–调用第6.4.4节中规定的临近块可用性的推导过程,将设置为等于(xCb,yCb)的位置(xCurr,yCurr)、设置为等于(xNbX,yNbX)的临近位置(xNbY,yNbY)、设置为等于FALSE的checkPredModeY、和设置为等于0的cIdx作为输入,并将输出分配给availableX。
–如下推导候选帧内预测模式candIntraPredModeX:
–如果以下一个或多个条件为真(true),则将candIntraPredModeX设置为等于INTRA_PLANAR。
–变量availableX等于FALSE。
–CuPredMode[0][xNbX][yNbX]不等于MODE_INTRA。
–intra_mip_flag[xNbX][yNbX]等于1。
–X等于B并且yCb-1小于((yCb>>CtbLog2SizeY)<<CtbLog2SizeY)。
–否则,将candIntraPredModeX设置为等于IntraPredModeY[xNbX][yNbX]。
3.如下推导x=0..4的candModeList[x]:
–如果candIntraPredModeB等于candIntraPredModeA,并且candIntraPredModeA大于INTRA_DC,则如下推导x=0..4的candModeList[x]:
candModeList[0]=candIntraPredModeA (8-6)
candModeList[1]=2+((candIntraPredModeA+61)%64) (8-7)
candModeList[2]=2+((candIntraPredModeA-1)%64) (8-8)
candModeList[3]=2+((candIntraPredModeA+60)%64) (8-9)
candModeList[4]=2+(candIntraPredModeA%64) (8-10)
–否则,如果candIntraPredModeB不等于candIntraPredModeA,并且candIntraPredModeA或candIntraPredModeB大于INTRA_DC,则以下适用:
–如下推导变量minAB和maxAB:
minAB=Min(candIntraPredModeA,candIntraPredModeB) (8-11)
maxAB=Max(candIntraPredModeA,candIntraPredModeB) (8-12)
–如果candIntraPredModeA和candIntraPredModeB都大于INTRA_DC,则如下推导x=0..4的candModeList[x]:
candModeList[0]=candIntraPredModeA (8-13)
candModeList[1]=candIntraPredModeB (8-14)
–如果maxAB-minAB等于1(包括1),则适用以下:
candModeList[2]=2+((minAB+61)%64) (8-15)
candModeList[3]=2+((maxAB-1)%64) (8-16)
candModeList[4]=2+((minAB+60)%64) (8-17)
–否则,如果maxAB-minAB大于或等于62,则适用以下:
candModeList[2]=2+((minAB-1)%64) (8-18)
candModeList[3]=2+((maxAB+61)%64) (8-19)
candModeList[4]=2+(minAB%64) (8-20)
–否则,如果maxAB-minAB等于2,则适用以下:
candModeList[2]=2+((minAB-1)%64) (8-21)
candModeList[3]=2+((minAB+61)%64) (8-22)
candModeList[4]=2+((maxAB-1)%64) (8-23)
–否则,适用以下:
candModeList[2]=2+((minAB+61)%64) (8-24)
candModeList[3]=2+((minAB-1)%64) (8-25)
candModeList[4]=2+((maxAB+61)%64) (8-26)
–否则,(candIntraPredMode或candIntraPredModeB大于INTRA_DC),则如下推导x=0..4的candModeList[x]:
candModeList[0]=maxAB (8-27)
candModeList[1]=2+((maxAB+61)%64) (8-28)
candModeList[2]=2+((maxAB-1)%64) (8-29)
candModeList[3]=2+((maxAB+60)%64) (8-30)
candModeList[4]=2+(maxAB%64) (8-31)
–否则,适用以下:
candModeList[0]=INTRA_DC (8-32)
candModeList[1]=INTRA_ANGULAR50 (8-33)
candModeList[2]=INTRA_ANGULAR18 (8-34)
candModeList[3]=INTRA_ANGULAR46 (8-35)
candModeList[4]=INTRA_ANGULAR54 (8-36)
4.通过应用以下程序来推导IntraPredModeY[xCb][yCb]:
–如果intra_luma_mpm_flag[xCb][yCb]等于1,则将IntraPredModeY[xCb][yCb]设置为等于candModeList[intra_luma_mpm_idx[xCb][yCb]]。
–否则,通过应用以下顺序步骤,可以推导IntraPredModeY[xCb][yCb]:
1.当i=0..3且对于每个i,j=(i+1)..4,candModeList[i]大于candModeList[j]时,两个值交换如下:(candModeList[i],candModeList[j])=Swap(candModeList[i],candModeList[j]) (8-37)
2.IntraPredModeY[xCb][yCb]按以下顺序步骤推导:
i.将IntraPredModeY[xCb][yCb]设置为等于intra_luma_mpm_remainder[xCb][yCb]。
ii.IntraPredModeY[xCb][yCb]的值增加1。
iii.对于等于0到4的i(包括0和4),当IntraPredModeY[xCb][yCb]大于或等于candModeList[i]时,IntraPredModeY[xCb][yCb]的值增加1。
将x=xCb..xCb+cbWidth-1且y=yCb..yCb+cbHeight-1的变量IntraPredModeY[x][y]设置为等于IntraPredModeY[xCb][yCb]。
2.3色度帧内预测模式
对于色度帧内模式编解码,取决于是否启用了跨分量线性模型(CCLM),色度帧内模式编解码总共允许8个或5个内部模式。这些模式包括五个传统的内部模式和三个跨分量线性模型模式(将IntraPredModeC分别设置为81、82、和83)。
2.3.1DM模式
在色度直接模式或衍生模式(DM)中,同位亮度块的预测模式用于推导色度帧内预测模式。
首先,推导帧内预测模式lumaIntraPredMode:
●如果将同位亮度块在MIP模式下编解码,则将lumaIntraPredMode设置为等于平面模式。
●否则,如果将该同位亮度块在IBC模式或调色板模式下编解码,则将lumaIntraPredMode设置为等于DC模式。
●否则,将lumaIntraPredMode设置为等于覆盖色度块中心的相应亮度样点的同位亮度块的帧内预测模式。图10中示出了示例。
其次,根据下表中以粗体斜体突出显示的lumaIntraPredMode推导色度内预测模式(称为IntraPredModeC)。请注意,等于4的intra_chroma_pred_mode是指DM模式。
表8-2取决于cclm_mode_flag、cclm_mode_idx、intra_chroma_pred_mode和lumaIntraPredMode的IntraPredModeC[xCb][yCb]的规定
最后,如果图片的颜色格式为4:2:2,则根据下表针对DM模式进一步修改IntraPredModeC。
当chroma_format_idc等于2时,从色度帧内预测模式X到模式Y的4:2:2映射过程的规定
在VVCCD中定义了如下的有关推导色度帧内预测模式的详细草案:
8.4.3色度帧内预测模式的推导过程
该过程的输入是:
–亮度位置(xCb,yCb),规定相对于当前图片的左上亮度样点的当前色度编解码块的左上样点,
–变量cbWidth,规定亮度样点中当前编解码块的宽度,
–变量cbHeight,规定亮度样点中当前编解码块的高度。
在该处理中,推导了色度帧内预测模式IntraPredModeY[xCb][yCb]。
对应的亮度帧内预测模式lumaIntraPredMode推导如下:
–如果intra_mip_flag[xCb][yCb]等于1,则将lumaIntraPredMode设置为等于INTRA_PLANAR。
–否则,如果CuPredMode[0][xCb][yCb]等于MODE_IBC或MODE_PLT,则lumaIntraPredMode设置为等于INTRA_DC。
–否则,将lumaIntraPredMode设置为等于IntraPredModeY[xCb+
cbWidth/2][yCb+cbHeight/2]。
使用表8-2中规定的cclm_mode_mode_flag、cclm_mode_idx、intra_chroma_pred_mode和lumaIntraPredMode来推导色度帧内预测模式IntraPredModeC[xCb][yCb]。
表8-2取决于cclm_mode_flag、cclm_mode_idx、intra_chroma_pred_mode和lumaIntraPredMode的IntraPredModeC[xCb][yCb]的规定
当chroma_format_idc等于2时,按照表8-3中规定的使用表8-2中的色度帧内预测模式X推导色度帧内预测模式Y,并且随后将色度帧内预测模式X设置为等于色度帧内预测模式Y。
表8-3当chroma_format_idc等于2时,从色度帧内预测模式X到模式Y的4:2:2映射过程的规定
2.4音频视频编解码标准(AVS)中的帧内预测
除了角度帧内预测模式外,AVS还支持平面模式和双线性模式的变型。
在AVS的平面模式下,使用以下公式通过对左侧和上方临近块中的两个样点进行线性插值来获得预测值:
P[x,y]=(a+(x-(M>>1)+1)×b+(y-(N>>1)+1)×c+16)>>5
其中,(x,y)表示相对于当前块中左上样点的坐标,变量a、b、c取决于块宽度M和块高度N的值以及重构的临近样点。
在AVS的双线性模式下,需要多步插值过程。要预测的样点表示为“C”,其顶部的两个临近样点表示为“A”和“H”,同一行中其左侧的两个临近样点表示为“B”和“G”,同一列中底部的样点表示为“E”,且同一行中最右侧的样点表示为“F”。所有样点的关系在图1中示出。首先,使用A和B通过线性插值法推导出当前块中右下样点“D”的预测值。然后,基于距离信息,使用样点“B”和预测样点“D”推导出“E”的预测值,并且使用样点“A”和预测样点“D”推导出“F”的预测值。随后,使用样点“G”、“H”,和“E”和“F”的预测值获得“C”的预测值。
图11描绘了双线性帧内预测模式的示例。
3由本文件提供的解决方案克服的技术问题的示例
帧内模式编解码的现有技术设计仍然取决于空域临近块的帧内预测模式(IPM)。但是,对于屏幕内容,非临近块的IPM具有更高的相关性。有必要研究如何更好地利用这些信息。
4技术和实施例的列举
以下列举将作为解释一般概念的示例。不应狭义地解释这些发明。此外,能以任何方式组合这些发明。
在下面的讨论中,传统的帧内预测方法可以代表使用临近行/列进行帧内预测的方式,该方式可以沿预测方向使用插值滤波器。并且,附加帧内编解码方法可以代表在VVC中新引入的可以在未来被引入的那些方法,并且需要用于该方法的使用的附加信令通知。附加方法可以是ALWIP、MRL、ISP或QR-BDPCM/PCM等中的一个或多个。
假设给定块类型有M个允许的帧内预测模式(IPM)。例如,块类型可以是给定的块维度(无论是4×4或更大);给定的编解码方法(例如,无论是一般帧内编解码或MIP)。
以下示例说明了频率表和IPM表的使用。例如,如果在转换期间以帧内模式对100个块进行编解码,10是DC(索引为1的IPM),20是平面(索引为0的IPM),40是Ver(索引为50的IPM),30是IPM且索引7。
在这种情况下,频率表可能如[40、30、20、10...],而IPM表是[50、7、0、1]。因此,在此实施例中,因此对于等于k的索引,IPMTable[k]的值是帧内预测模式,而FrequenceTable[k]的值示出模式IPMTable[k]的出现。
以下描述的方法可以被称为基于历史的帧内预测。
频率表和已排序的IPM表的一般概念
1.在视频单元的编码/解码过程中维护一个或多个频率表(又称为历史表/历史列表),其中,频率表记录帧内模式的频率。当块(例如,CU或PU)完成编码/解码时,可以更新频率表和已排序的IPM表。
a.在一个示例中,频率表可以进一步与已排序的IPM表相关联。
i.此外,可替代地,当更新频率表时,可以相应地更新已排序的IPM表。
ii.可替代地,频率表中的条目可以与帧内预测模式和该帧内预测模式的出现/频率相关联。在这种情况下,无需进一步维护与频率表对应的已排序的IPM表。
iii.在一个示例中,该已排序的IPM表的第k个条目表示历史中第k个最高频率使用的IPM。
b.在一个示例中,频率表可以进一步与IPM顺序映射表相关联。
i.在一个示例中,该IPM顺序映射表的第k个条目表示索引等于k的IPM的顺序的索引。
c.在一个示例中,假设频率表由FrequenceTable表示,已排序的IPM表由IPMTable表示,而IPM顺序映射表由表示。那么,对于等于k的索引,IPMTable[k]的值是指示排序结果的帧内预测模式,而FrequenceTable[k]的值示出模式IPMTable[k]的出现。
d.在一个示例中,假设频率表由freqT表示,已排序的IPM表由modeT表示,而IPM顺序映射表由orderT表示。那么,对于等于k的索引,modeT[k]的值是指示排序结果的帧内预测模式,orderT[k]的值是对索引等于k的模式进行排序后的映射索引,而freqT[k]的值示出索引等于k的模式的出现。
i.此外,可替代地,orderT[modeT[k]]=k,其中,例如,k可以代表顺序索引k。
ii.此外,可替代地,modeT[orderT[m]]=m,其中,例如,m可以代表帧内预测模式;
iii.此外,可替代地,freqT[modeT[k]]>=freqT[modeT[k+1]]。
e.在一个示例中,视频单元是CTU(例如,VPDU)/CTU/CTB/多个CTU/多个CU/CTU行/片/砖块(brick)/条带/图片/子图片等的子区域。
f.在一个示例中,可以将更新后的表进一步用于对后续块进行编解码。
g.在一个示例中,对于每种块类型,可以维护频率表和/或已排序的IPM表。
i.可替代地,可以为多种块维护一个频率表和/或已排序的IPM表。
ii.一类(或一种)块可以指具有相同宽度和/或相同高度的块。
2.频率表可以与M个条目相关联,并且每个条目与所允许的M个帧内预测模式中的一个帧内预测模式的频率相关联。
a.在一个示例中,IPM排序的表可以具有与相关联的频率表相同数目的条目。
b.在一个示例中,可以将M个帧内预测模式分组为N个类别。
i.此外,可替代地,频率表可以与N个条目相关联,其中N小于M,并且每个条目与可以对应于一个或多个预测模式的一个类别的频率相关联。
1)此外,可替代地,与频率表相关联的已排序的IPM表也可以具有N个条目,这些条目示出已排序的类别索引。
c.在一个示例中,频率表可以与N个条目相关联,N小于M。N个条目对应于从M个帧内预测模式中选择的N个帧内预测模式。
i.在一个示例中,M个帧内预测模式可以不包括广角帧内预测模式。
ii.在一个示例中,N个帧内预测模式可以包括DC、平面、水平、垂直、和双线性IPM中的至少一个。
iii.在一个示例中,N个选择的帧内预测模式可以是预定义的或者信令通知的或者根据编解码信息(例如,是否为屏幕内容)推导的。
d.在一个示例中,频率表可以与N个条目相关联,N小于M。N个条目对应于基于解码信息被即时更新的N个帧内预测模式。
i.在一个示例中,N个IPM可以首先被初始化,然后基于解码信息被更新。
已排序的IPM表的使用(也称为基于表的帧内模式编解码)
3.频率表/已排序的IPM表可用于MPM列表构建过程中的帧内模式编解码,假设MPM列表尺寸为N。
a.在一个示例中,从一个或多个已排序的IPM表中确定整个MPM列表。
i.在一个示例中,可以将示出最高频率的前N个模式用作MPM列表的输入。
4.帧内模式编解码可以基于频率表/已排序的IPM表和其他非基于表的方法两者。
a.在一个示例中,根据一个或多个已排序的IPM表和其他非基于表的方法中确定整个MPM列表。
i.在一个示例中,可以将示出最高频率的前M(M<N)个模式用作MPM列表的输入。
b.在一个示例中,可以将从已排序的IPM表中选择的模式与从非基于表的方法中推导出的其他帧内预测模式组合以形成最终的MPM列表。
i.在一个示例中,从非基于表的方法推导出的其他帧内预测模式可以包括使用一些默认模式(例如,平面/DC)。
ii.可替代地,从非基于表的方法推导出的其他帧内预测模式可以是从空域临近(紧邻或不紧邻)块推导出的一些模式。
1)在一个示例中,空域临近块可以被定义为当前块的“上方”块和“左侧”块,如图9中所描绘的。
2)在一个示例中,默认模式顺序为{左侧块的模式、上方块的模式、平面、DC}。
3)在一个示例中,对于上方块或左侧块不可用(例如CTU或条带边界)的情况,使用-1代替缺少的模式索引。
iii.在一个示例中,可以将其他帧内预测模式添加到MPM列表中从已排序的IPM表中选择的那些模式之前。
iv.在一个示例中,可以将其他帧内预测模式添加到MPM列表中从已排序的IPM表中选择的那些模式之后。
v.在一个示例中,可以将其他帧内预测模式添加到MPM列表中从已排序的IPM表中选择的那些模式之前和之后。
vi.在一个示例中,可应用修剪以避免将冗余模式添加到MPM列表。
vii.在一个示例中,对于在块与块之间、一个视频单元到另一个视频单元之间,添加从已排序的IPM表和非基于表的方法推导出的IPM的顺序是可以改变的。
viii.在一个示例中,对于块到块之间、一个视频单元到另一个视频单元之间,从已排序的IPM表和从非基于表的方法推导出的IPM的数目是可以改变的。
ix.在一个示例中,可以将已排序的表中的前L个(例如,L=2或6)模式添加到MPM列表。
x.在一个示例中,可以将已排序的表中的最后L个(例如,L=2或6)模式添加到MPM列表。
xi.在一个示例中,当将已排序的表中的模式(选择的L个(例如,L=2或6))添加到MPM列表时,可以基于条目索引的升序/降序来进行添加。
xii.在一个示例中,当将已排序的表中的模式(选择的L个(例如,L=2或6))添加到MPM列表时,可以基于帧内预测模式索引的升序/降序来进行添加。
1)在一个示例中,可以选择已排序的表中的前L个模式的索引以将其添加到MPM列表,表示为iPM0,iPM1..,iPML-1,其中,orderT[iPMm]=m,m为[0,L-1]。如果iPMi小于iPMj,则可以将iPMi添加在iPMj之前。
a.可替代地,如果iPMi大于iPMj,则可以将iPMi添加在iPMj之前。
c.是否从已排序的IPM表确定整个MPM列表可以取决于频率。
d.是否从已排序的IPM表确定整个MPM列表可以取决于解码信息,例如块维度(例如,块的宽度和/或高度是否不大于阈值)/视频内容类型(例如,是否为屏幕内容)。
5.已排序的IPM表可以用于除MPM之外的其余模式的帧内模式编解码。
a.在一个示例中,其余模式的较小的信令通知的索引对应于已排序的IPM表中具有较高频率的模式。
6.不是编解码MPM标志/MPM列表索引/除MPM之外的其余帧内预测模式,而是可以对一个语法元素进行编解码以指示所选择的IPM,所选择的IPM可以取决于历史信息(例如,频率信息)。另外,可替代地,对于从块到块之间,编解码语法元素值到IPM之间的映射是改变的。
a.在一个示例中,提出了直接将索引编解码到已排序的IPM表。
i.此外,可替代地,从索引推导出将用于对块进行编码/解码的IPM。
ii.在一个示例中,假设已排序的IPM表是[VER、HOR、DC、平面、模式3……],则将等于0的索引解释为垂直帧内预测模式。
b.在一个示例中,提出了基于与IPM相关联的频率的降序直接对与帧内预测模式相对应的索引进行编解码。
i.在一个示例中,假设频率表是[F(Planar),F(DC),F(Mode 1),..F(VER),..]。如果F(VER)和F(DC)是两个最大值,则可以编解码索引“0”以指示“VER”模式,编解码索引“1”以指示“DC”模式。
c.在一个示例中,可以用二值化方法对索引进行编解码,诸如截断的一元/截断的二进制/指数哥伦布(exp-golomb)方法等。
d.在一个示例中,可以针对所有容器(bin)或部分容器(诸如前几个容器)对索引进行上下文编解码。
7.所提出的方法可以应用于色度直接模式(DM)编解码,其中,DM是根据频率表/已排序的IPM表/IPM顺序映射表(诸如与最高频率表相关联的IPM)确定的。
8.所提出的方法可以应用于色度直接模式(DM)编解码,其中,色度模式候选列表是根据频率表/已排序的IPM表/IPM顺序映射表(例如与最高频率相关联的IPM)确定的。
频率表和/或已排序的IPM表的重置/初始化
9.在对新的视频单元进行编码/解码时,可以重置/初始化频率表和/或已排序的IPM表。
a.在一个示例中,视频单元是CTU(例如,VPDU)/CTU/CTB/多个CTU/多个CU/CTU行/片/砖块/条带/图片/子图片等的子区域。
b.在一个示例中,可以将已排序的IPM表按索引的升序重置/初始化为与允许的帧内预测模式相同,例如[平面、DC、模式2,……,模式66]。
c.在一个示例中,可以将已排序的IPM表按索引的降序重置/初始化为与允许的帧内预测模式相同,诸如[模式66、模式65、……,模式2、DC、平面]。
d.在一个示例中,已排序的IPM表可以被重置/初始化以首先包括多个默认MPM,然后是其余模式。
i.在一个示例中,默认MPM可以包括{VER、HOR、VER-4、VER+4、2、DIA}
ii.在一个示例中,默认MPM可以包括{平面、DC、VER、HOR、2、DIA}
iii.在一个示例中,上述DIA是具有最大索引的IPM。
iv.此外,可替代地,可以将这些默认模式以不同顺序放入表中。
v.此外,可替代地,如何定义这些默认模式和/或如何放置这些默认模式可以取决于块类型/解码信息。
10.频率表可以通过表中一个或多个条目的特定的值来重置/初始化。
a.在一个示例中,可以将对应于IPM的特定值设置为相等的值。
i.在一个示例中,“相等的值”可以被设置为N(例如,N=0)。
b.在一个示例中,可以将对应于IPM的特定值设置为唯一值,即对于任何两个IPM,它们的初始化频率值都不同。
c.在一个示例中,可以将对应于IPM的特定值设置为相同或不同的值,即对于至少两个IPM,它们的初始化频率值是不同的;对于至少另外两个IPM,它们的初始化频率值是相同的。
d.在一个示例中,假设允许的MPM用K表示,则定义默认的MPM
列表。
i.在一个示例中,在MPM列表中排除的第i个IPM的初始化值被设置为(M-1-i)。
ii.在一个示例中,将MPM列表中第j个IPM的初始化值(其中,j在[0,K-1]的范围内)设置为M+f(j),其中f(j)返回一个正整数值。
1)在一个示例中,将f(j)设置为(K-j)。
e.在一个示例中,可以预先定义多组特定值,并且可以根据编解码信息从中选择一组值。
何时更新频率表和/或已排序的IPM表
11.可以在以一般帧内预测模式对块进行编码/解码之后,更新频率表和/
或已排序的IPM表。
a.在一个示例中,仅当预测模式为帧内模式时,才可以更新频率表和/或已排序的IPM表。
i.此外,可替代地,当预测模式不等于帧内模式时,频率表和/或已排序的IPM表不允许被更新。
b.在一个示例中,在以基于矩阵的帧内预测(MIP)模式对块进行编码/解码之后,可以更新或不更新频率表和/或已排序的IPM表。
i.可替代地,在对以基于矩阵的帧内预测(MIP)模式编解码的块进行解码之后,更新频率表和/或已排序的IPM表。
ii.在一个示例中,可以更新MIP模式到一般帧内模式的转换。
c.在一个示例中,可以在对以帧内子分割(ISP)模式编解码的块进行解码之后,不更新频率表和/或已排序的IPM表。
i.可替代地,可以在对以帧内子分割(ISP)模式编解码的块进行解码之后,更新频率表和/或已排序的IPM表。
1)例如,可以在解码整个块之后更新一次频率表和/或已排序的IPM表。
2)例如,可以在解码一个子分割之后更新一次频率表和/或已排序的IPM表。
d.在一个示例中,在以BDPCM/RDPCM模式对块进行编码/解码之后,可以更新或不更新频率表和/或已排序的IPM表。
e.在一个示例中,在以帧内预测模式对块进行编码/解码之后,可以不更新频率表和/或已排序的IPM表,该帧内预测模式不是所选择的帧内预测模式的一部分,例如在项目符号2.c中提到的。
12.可以在以与帧内模式不相等的预测模式(诸如,帧间/IBC/调色板模式)对块进行编码/解码之后,更新频率表和/或已排序的IPM表。
a.在一个示例中,如果以与帧内模式不相等的预测模式对一个块进行编解码,并且生成帧内预测信号,诸如使用组合帧内帧间预测(CIIP)模式,则可以更新频率表和/或已排序的IPM表。
b.在一个示例中,如果以与帧内模式不相等的预测模式对一个块进行编解码并且未生成帧内预测信号,则可以不允许更新频率表和/或已排序的IPM表。
i.可替换地,可以使用默认IPM对表进行更新。
如何更新频率表和/或已排序的IPM表
13.可以基于输入IPM(例如,当前块的解码的IPM)来更新频率表。
假设在该表的第n次更新之前(其中n从1开始),输入IPM表示为
Mi,频率表示为Fn(Mi)。
a.在一个示例中,将与Mi相关联的频率更新为Fn+1(Mi),例如,Fn+1
(Mi)=Fn(Mi)+K,其中,K是整数。
i.在一个示例中,将K设置为1。
ii.在一个示例中,将K设置为大于1的值。
iii.在一个示例中,将K设置为等于(1<<A)的值,其中A是整数值。
iv.在一个示例中,将K设置为大于频率表中的条目数目的整数值。
v.在一个示例中,K可以取决于初始化值,即,F0。
1)在一个示例中,将K设置为等于P*初始化值的最大值(即,F0(Mi)的最大值),其中,P是正整数值。
vi.在一个示例中,K取决于帧内预测模式和/或块类型。
1)在一个示例中,将K设置为大于允许的帧内预测模式的数目的整数值。
2)在一个示例中,将K设置为等于P*允许的帧内预测模式的数目,其中,P是正整数值。
vii.在一个示例中,K取决于表更新的次数,例如,基于变量n。
viii.在一个示例中,可以基于解码器信息(例如,帧内预测模式)即时更新K。
b.在一个示例中,与除Mi之外的其他IPM相关联的频率保持不变,即Fn+1(Mj)=Fn(Mj)。
i.可替换地,可以改变与除了Mi之外的其他IPM的一部分相关联的频率,并且对于其余的IPM,频率保持不变。
c.可替换地,可以基于输入类别索引(例如,具有当前块的解码的IPM的映射类别索引)和具有输入类别索引的关联频率来更新频率表。
d.在一个示例中,频率表的长度可以小于允许的IPM的数目(例如6、12)。
i.在一个示例中,可以将频率表的长度设置为允许的MPM的数目。
ii.在一个示例中,当需要以输入模式更新频率表时,并且如果输入模式的频率已经包括在频率表中,则可以相应地更新对应频率。
iii.在一个示例中,当需要以输入模式更新频率表时,并且如果该输入模式的频率并未被包括在频率表中,则可以将具有最低频率的条目(对应的IPM为Mn)替换为输入模式的频率。
1)此外,可替换地,已排序的IPM表也可以用输入模式代替模式Mn。
14.可以应用与不同的IPM相关联的频率的排序以生成更新的已排序的IPM表。
a.在一个示例中,根据更新后的模式频率的值以降序对频率表进行全排序。
b.可以从对应于输入模式的当前条目到最后条目执行排序过程。
i.可替换地,可以从对应于输入模式的当前条目到第一条目执行排序过程。
c.图12中示出了一个示例。更新之后,与Mi相关联的频率为Fn+1(Mi)。应用前向搜索,直到找到满足Fn+1(Mj)>Fn+1(Mi)>=Fn+1(Mj-1)的一个模式Mj为止。
d.一旦找到满足某些条件的模式,则可以终止排序过程。
i.图12中示出了一个示例。更新后,与Mi相关联的频率为Fn+1(Mi)。一旦找到满足Fn+1(Mj)>Fn+1(Mi)>=Fn+1(Mj-1)的一个模式Mj,就应用前向搜索。
e.在一个示例中,利用顺序表来记录显示模式顺序频率表,而不是对频率表进行排序。可以根据顺序表来参考Mi的顺序,并能获得对应频率。
f.在一个示例中,仅将频率表的几个元素考虑到排序过程中。
i.在一个示例中,当针对当前模式更新频率表时,比较过程涉及前L个元素。
图12是更新频率表和已排序的IPM表的示例图示。
15.除了模式出现信息之外,频率表还可以存储其他辅助信息,例如模式出现的位置。
a.在一个示例中,该位置可以包含起始坐标(例如,相对于视频单元、CTU/条带/等等)和/或块尺寸。
b.在一个示例中,在对帧内块进行编码/解码之后,需要更新模式频率和位置信息两者。
i.在一个示例中,将与Mi相关联的频率更新为Fn+1(Mi)(Fn+1(Mi)=Fn(Mi)+K),其中,K是整数。
ii.在一个示例中,将与Mi相关联的位置信息替换为最新的编码/解码块。
c.在一个示例中,可以在对新的块进行编码/解码之前根据位置信息对频率表进行排序。
i.在一个示例中,可以根据当前位置和记录的位置之间的欧几里得距离对频率表进行排序。
关于基于历史的帧内预测/基于历史的运动预测(HMVP)的一般解决方案(例如,在
PCT/CN2018/093663、PCT/CN2018/102370、PCT/CN2018/107178、PCT/CN2019/101443中描述
的,其全部内容通过引用并入本文)。
16.是否和/或如何更新频率表和/或已排序的IPM表和/或HMVP表可以取决于解码信息。
a.在一个示例中,可以针对某个区域内的块调用更新过程,该区域可以小于可以覆盖多个CU的CTU/CTB/VPDU/A*B区域。
图23示出了可用于更新表的CTU内的区域(填充为红色或灰色)的示例。
b.在一个示例中,解码信息可以包括当前块的位置(例如,左上样点相对于当前图片/CTU/VPDU/预定义区域的相对位置)。
i.在一个示例中,相对于当前条带/片/砖块/图片,用(x,y)表示一个视频单元(例如CU/PU/TU/VPDU/CTU/预定区域尺寸)的左上样点的坐标。在(x,y)满足的某些条件的情况下调用重置/初始化过程。
1)在一个示例中,当x%M等于K0和/或y%N等于K1时,可以调用该过程。
2)在一个示例中,当(M–(x%M))大于K0和/或(N–(y%N))大于K1时,可以调用该过程。
3)在一个示例中,当(M–(x%M))等于K0和/或(N–(y%N))等于K1时,可以调用该过程。
4)在一个示例中,当(x%W==0&&y%H==0)||(W-(x%W)>=A0&&H-(y%H)>=A1)时,可以调用该过程。其中,A0和A1是正整数,诸如4/8。
5)在一个示例中,M是CTU/CTB的宽度,或1/S*CTU/CTB的宽度,其中,S是正整数(例如,S=2)。
6)在一个示例中,N是CTU/CTB的高度,或1/S*CTU/CTB的高度,其中,S是正整数(例如,S=2)。
7)在一个示例中,K0和K1分别等于4/8/最小的CU/PU/TU/CB的宽度和高度。
c.在一个示例中,可以在对视频单元(例如,CU/PU/TU/VPDU/CTU/预定区域尺寸)进行编码/解码之后,调用更新过程。
d.在一个示例中,解码信息可以是已经对多少个CU/PU/TU进行了编解码(例如,多少个利用一般帧内预测模式的CU)。
e.在一个示例中,当CU内有多个PU/TU时,仅在CU内某个(例如,最后一个)PU/TU之后才调用更新过程。
i.可替换地,当CU内有多个PU/TU时,可以在CU内的每个PU/TU之后调用更新过程。
17.是否和/或如何重置/初始化频率表和/或已排序的IPM表和/或HMVP表可以取决于除了解码的预测模式之外的解码信息。
a.在一个示例中,可以在CTU/CTB/VPDU/预定义区域尺寸内调用重置/初始化过程。
i.图23示出了针对空白区域中的块的重置/初始化过程的示例。
ii.在一个示例中,可以在对新的CTU和/或CU/PU/TU/CB/TB/PB(其相对于CTU的左上样点的y坐标位于CTU的一半处,而x坐标等于0)进行编码/解码之前,调用重置/初始化过程。
iii.在一个示例中,可以在对新的CTU和/或CU/PU/TU/CB/TB/PB(其相对于CTU的左上样点的x坐标位于CTU的一半处,而y坐标等于0)进行编码/解码之前,调用重置/初始化过程。
图24A示出了以灰色突出显示的CU,其左上样点的y坐标等于H/B且x坐标等于0。
图24B示出了以灰色突出显示的CU,其左上样点的x坐标等于W/C。图24A-图24B示出了在对CTU内的灰色的CU/PU/TU进行解码之前应用重置的示例。在一个示例中,B和C=2,H是CTU高度,W是CTU宽度。
iv.在一个示例中,可以在对新的CTU和/或CU/PU/TU/CB/TB/PB(其相对于CTU的左上样点的y坐标位于CTU的一半处或等于0,而x坐标等于0)进行编码/解码之前,调用重置/初始化过程。
v.在一个示例中,可以在对新的CTU和/或CU/PU/TU/CB/TB/PB(其相对于CTU的左上样点的x坐标位于CTU的一半处或等于0,而y坐标等于0)进行编码/解码之前,调用重置/初始化过程。
图25A示出了以灰色突出显示的CU,其左上样点的x坐标等于W/C或0,且y坐标等于0。
图25B示出了以灰色突出显示的CU,其左上样点的y坐标等于H/B或0,且x坐标等于0。
图25A-图25B示出了在对CTU内的灰色的CU/PU/TU进行解码之前应用重置的示例。在一个示例中,B和C=2,H是CTU高度,W是CTU宽度。
b.在一个示例中,解码信息可以包括当前块的位置(例如,左上样点相对于当前图片/CTU/VPDU/预定义区域的位置)。
i.在一个示例中,相对于当前条带/片/砖块/图片,用(x,y)表示一个视频单元(例如CU/CB/PU/PB/TU/TB/VPDU/CTU/CTB/
预定区域尺寸)的左上样点的坐标。在(x,y)满足某些条件的情况下调用重置/初始化过程。
1)在一个示例中,当x%M和/或y%N等于0时,可以调用该过程。
2)在一个示例中,当(M–(x%M))不大于K0和/或(N–(y%N))不大于K1时,可以调用该过程。
3)在一个示例中,当(M–(x%M))等于K0和/或(N–(y%N))等于K1时,可以调用该过程。
4)在一个示例中,M是CTU/CTB的宽度(由WCTU表示),或1/S*CTU/CTB的宽度,其中,S是正整数(例如,S=2)。
5)在一个示例中,N是CTU/CTB的高度(由HCTU表示),或1/S*CTU/CTB的高度,其中,S是正整数(例如,S=2)。
6)在一个示例中,K0和K1分别等于4/8/最小的CU/PU/TU/CB的宽度和高度。
7)在一个示例中,当满足以下条件时,可以调用该过程:(x%WCTU==0&&y%HCTU==0)||(WCTU–(x%WCTU)<=4&&(HCTU–(y%HCTU)<=4))
8)在一个示例中,当满足以下条件时,可以调用该过程:(x%(WCTU>>1)==0&&y%HCTU==0)
9)在一个示例中,当满足以下条件时,可以调用该过程:(x%WCTU==0&&y%(HCTU>>1)==0)
c.在一个示例中,解码信息可以是已经对多少CU/PU/TU进行了编解码(例如,多少个利用一般帧内预测模式的CU)。
启用所提出的方法
18.可以在视频单元级别中信令通知是否启用所提出的方法和/或要应用哪些项目符号的指示。
a.在一个示例中,视频单元可以是片/砖块/条带/图片/子图片/序列/视图等。
b.在一个示例中,可以在序列参数集/视图参数集/适配参数集/图片参数集/图片标头/条带标头/序列标头中信令通知是否启用所提出的方法和/或如何启用所提出的方法。
i.在一个示例中,可以信令通知语法元素以指示是否启用从频率表//已排序的IPM表/IPM顺序映射表中确定IPM。
ii.在一个示例中,可以信令通知语法元素以指示可以从频率表//已排序的IPM表/IPM顺序映射表中确定多少个IPM。
iii.在一个示例中,可以信令通知语法元素以指示可以从频率表/已排序的IPM表/IPM顺序映射表中确定多少个MPM。
c.在一个示例中,可以由其他语法元素(诸如用于指示视频内容是否为屏幕内容的一个语法元素)控制是否启用所提出的方法和/或如何启用所提出的方法,。
d.在一个示例中,可以由从先前编解码的块中的重构样点推导出的一些特征来控制是否启用所提出的方法和/或如何启用所提出的方法。
19.是否启用所提出的方法和/或如何启用所提出的方法可以取决于编解码信息,诸如块维度、条带类型/图片类型/时域层索引/视频内容等。
a.在一个示例中,对于宽度不大于T1且高度不大于T2的块,可以应用所提出的方法。
b.在一个示例中,对于宽度不大于T1或高度不大于T2的块,可以应用所提出的方法。
c.在一个示例中,对于宽度乘以高度不大于T3的块,可以应用所提出的方法。
d.在一个示例中,对于宽度不大于T1且高度不大于T2的块,可以禁用所提出的方法。
e.在一个示例中,对于宽度不大于T1或高度不大于T2的块,可以禁用所提出的方法。
f.在一个示例中,对于宽度乘以高度不大于T3的块,可以禁用所提出的方法。
20.是否启用所提出的方法和/或如何启用所提出的方法可以取决于颜色分量/颜色编解码方法(例如,单独的平面编解码)/颜色格式(例如4:2:2或4:4:4)/分割树编解码方法(例如,单树或双树)。
a.在一个示例中,所提出的方法可以仅应用于亮度帧内预测模式编解码。
出于说明的目的,描述了使用上文列出的技术的一些实施例。
5实施例示例
解码过程的示例如下所示。在编码/解码过程中维护并更新具有帧内模式频率的表。更具体地,该表记录帧内模式的频率,并且通过累积的频率对模式进行排序。
5.1实施例#1
图13和图14示出了使用所提出的方法的解码流程图的示例。
首先,当遇到新条带或新CTU时,利用一系列固定值(或由临近块的模式构成的阵列)来重置表。在对具有帧内信息的块进行解码/编码之后,可以相应地更新表。在随后的块的编码和解码期间,可以进一步利用更新的表。
5.2实施例#2
首先,当遇到新的视频单元(例如,条带或新的CTU)时,用一系列固定值(或由临近块的模式构成的阵列)来重置表。特别是,可以根据条带的内容重置或初始化表。如果它是屏幕内容条带,则使用模式set0进行初始化。否则,可以使用模式set1。基于VVC,模式set0包括六个模式{VER、HOR、VER-4、VER+4、2、DIA},当遇到屏幕内容条带时,可以为其分配较高的初始频率。模式set1也包含六个模式。模式set1中的前六个模式可以是{平面、DC、VER、HOR、2、DIA}。可替代地,当遇到自然场景条带时,初始化模式set1可以被分配有更高的初始频率。更具体地,如果模式Mi不在set0或set1中,则模式Mi的频率Fn(Mi)被重置为Fn(Mi)=(66-Mi)。否则,将模式Mj的频率Fn(Mj)重置为Fn(Mj)=67+(6-idx(Mj)),其中idx(Mj)表示set0或set1中的关联索引。在VVC中,支持67种帧内模式。因此,i和j在0到66的范围内。
其次,在对包含帧内信息的块进行解码之后,通过重新计算相关联的帧内模式的频率来更新表。特别是,帧内信息可以是帧内编解码块中的帧内模式或帧内-帧间组合块中的帧内模式。如图15所示,特别地,在模式更新之后,将与当前帧内模式相关联的频率调整为Fn+1(Mi)=Fn(Mi)+δ(δ=1)。
图15示出了更新和重新排序过程的示例。
第三,在模式更新之后,以降序根据更新的模式频率重新排序频率表。特别地,对更新模式和先前模式的频率进行比较和位置互换两者,直到更新模式的频率低于先前模式的频率。
为了有效实施,采用了顺序表来辅助更新和排序程序。特别是,顺序表同时记录频率表中的相关联的模式顺序。能够根据顺序表来参考Mi的顺序,并可能获得对应频率。这样,可以极大节省搜索时间。
利用顺序表,排序过程中仅涉及六个候选。特别是,对当前帧内模式以及顺序表中的前六个模式进行比较。
因此,能在最可能模式(MPM)列表或其余模式(RM)列表构建过程中使用该表。
对于MPM列表的构建,首先将频率表前部附近的模式添加到MPM列表中的左侧临近块的模式、上方临近块的模式、平面和DC模式之后。随后,应用冗余检查以跳过相同模式。在确定MPM列表之后,可以使用不在MPM中的模式来构建其余模式,然后根据频率表按照模式频率对其余模式进行排序。在图16中示出总体确定流程。
图16示出了使用频率表构建MPM列表和非MPM列表的示例。
然而,如图17所示,也能直接地利用频率表中的前几个模式来建立MPM列表。
图17示出了利用频率表以及非MPM列表来构建所有MPM模式的示例。
5.3实施例#3
维护两个子列表,其命名为局部和全局子列表。局部子列表包含一些从临近块推导出的模式,而全局子列表对应于已排序的IPM表。根据某些条件,将决定有多少MPM来自局部子列表以及有多少MPM来自全局子列表。在图18中示出了示例。
图18是利用局部和全局子列表的MPM构建程序的图示。
在图19A中示出了示例编码器编解码流程。MPM列表的构建策略被替代为我们提出的方法,该方法同时利用了短距离和长距离相关性来进一步提高帧内编解码效率。特别是,局部和全局子列表将遵循预定义的原则进行单独维护。采用局部子列表来保留能表征短距离相关性的模式。通常,DC、平面、和临近CU的模式以一定顺序包含在局部子列表中。此外,还建立了全局子列表,以借助频率表捕获具有长距离相似性的模式。这样,进行了基于条件随机字段(CRF)的合并以构建最终的MPM列表。随后,执行RDO,并且将当前块的最佳帧内模式用于CU编解码。
5.4实施例#4
首先,当遇到新的视频单元(例如,条带或新的CTU)时,用一系列固定值重置表。模式set0用于初始化。在一个示例中,模式set0包括可以被分配较高初始频率的两个模式{VER、HOR}。支持N(例如,34或66)个帧内预测模式,并且支持L(例如,2)个MPM。更具体地,如果帧内预测模式Mi不在set0中,则模式Mi的频率Fn(Mi)被重置为Fn(Mi)=(N-Mi)。否则,将模式Mj的频率Fn(Mj)重置为Fn(Mj)=N+(L-idx(Mj)),其中,idx(Mj)表示set0中的关联索引(例如idx(VER)=0,idx(HOR)=1)。这样,i和j在0到N-1的范围内。
●在一个示例中,假设使用34种模式的频率进行检查和更新。在初始化/重置过程中,以下适用:
F0[VER]=33+(2-0),F0[HOR]=33+(2-1);
orderT[VER]=0,orderT[HOR]=1;
modeT[0]=VER,modeT[1]=HOR;
对于其余的IPM(不包括VER和HOR),以下适用:
–设置currOrder=2;
–对于2到33的模式,以下顺序适用:
○F0[mode]=(33–mode).或者,F0[mode]=L.
○orderT[mode]=currOrder.或者,orderT[mode]=2.
○modeT[currOrder]=mode
○currOrder++.
其中,VER和HOR分别是垂直/水平帧内预测模式;freqT是频率表,Fn表示第n次更新过程后的状态,modeT是已排序的帧内预测模式表,orderT用于推导给定帧内预测模式的映射索引。
其次,在解码包含帧内信息的块之后,通过重新计算相关联的帧内模式的频率来更新表。特别地,帧内信息可以是帧内编解码块中的帧内模式。如图22所示,特别地,在模式更新之后,将与当前帧内模式相关联的频率(由Mi表示)调整为Fn+1(Mi)=Fn(Mi)+δ(例如,δ=70或1)。
第三,在模式更新之后,根据更新后的模式频率以降序对频率表重新排序。特别地,对更新模式和先前模式的频率进行比较和位置互换两者,直到更新模式的频率低于先前模式的频率。可替换地,可以仅将更新的频率与和排序表中的前L个模式相关联的频率进行比较。
为了有效实施,采用了顺序表来辅助更新和排序程序。特别是,顺序表同时将相关的模式顺序记录在频率表中。可以根据顺序表来参考Mi的顺序,并能获得相应的频率。这样,可以极大节省搜索时间。
对于顺序表,排序过程中仅涉及L(例如,2)个候选。特别是,对当前帧内模式和顺序表中的前L个模式进行比较。
因此,可以在最可能模式(MPM)列表或其余模式(RM)列表构建过程中使用该表。对于MPM列表的构建,还可以直接使用频率表中的前几个(例如,2)模式来建立MPM列表。特别是,可以根据模式索引以升序对MPM列表中的模式进行排序。随后,应用冗余检查以删除相同的模式。
5.5实施例#5
3术语和描述
以下术语和定义适用于本文件。
帧内模式频率表:
其用于帧内预测,由预测单元的帧内预测模式的频率组成。
4缩写
FIMC基于频率信息的帧内模式编解码(基于频率的帧内模式编解码)
7.1.2.2序列标头描述
有关序列标头的描述,请参见表14。
表14序列标头描述
7.2.2.2序列标头
频率帧内模式编码许可标志fimc_enable_flag
二进制变量。值“1”表示可以使用基于频率的帧内模式编解码;值“0”表示不应使用基于频率的帧内模式编解码。FimcEnableFlag的值等于fimc_enable_flag的值。如果比特流中不存在fimc_enable_flag,则FimcEnableFlag的值等于0。
9.4最大编解码单元解码
根据条带内的光栅扫描顺序对最大解码单元依次进行解码,解码过程如下:
–如果当前最大编解码单元是条带中当前行的第一最大编解码单元,则将历史运动信息表中候选编号CntHmvp的值初始化为0
–在下面的讨论中,符号IpdCnt表示帧内预测模式的数目。EIPM关闭时,IpdCnt的值设置为34;EIPM打开时,IpdCnt的值设置为66。x0和y0代表水平和垂直位置。LcuSizeInBit在默认情况下设置为8表示log2(LcuSize)。在解码当前编解码单元时遇到条件“((x0%(1<<LcuSizeInBit))==0)&&((y0%(1<<(LcuSizeInBit-1))==0)”时,将帧内模式频率表中的高频率模式候选编号CntFimc的值初始化为2,并将帧内模式频率表中的高频率模式ModeFimc[0]和ModeFimc[1]的值分别初始化为Intra_Luma_Vertical(12)、Intra_Luma_Horizontal(24),并且按照以下步骤初始化帧内模式频率表FimcFrequencyList。
解码当前最大编解码单元的编解码树,并依次解码该编解码树的每个编解码单元(见9.5)。在完成当前最大编解码单元的解码之后,按照以下步骤更新LcuIndex。更新之后,如果LcuIndex/pictureWidthInLcu的值大于或等于PatchBelowInLcu,则结束当前芯片中所有最大解码单元的解码。
9.5编码单元的解码
9.5.6.2一般帧内预测模式
当前编解码单元的每个预测块使用以下方法来确定其一般帧内预测模式:
a)如果当前预测块E是亮度块
1)如果FimcEnableFlag的值为1,则根据以下步骤计算当前预测块预测模式的预测值:
◆predIntraPredMode0等于Min(ModeFimc[0],ModeFimc[1])
◆predIntraPredMode1等于Max(ModeFimc[0],ModeFimc[1])
2)如果FimcEnableFlag的值为0,则按照以下步骤计算当前预测块预
测模式的预测值:
◆如果左侧预测块A“存在”并且是一般帧内预测块,则将A的IntraLumaPredMode分配给intraPredModeA;否则,intraPredModeA等于0
◆如果上方预测块B“存在”并且是一般帧内预测块,则将B的IntraLumaPredMode分配给intraPredModeB;否则,intraPredModeB等于0。
◆如果intraPredModeA不等于intraPredModeB,则predIntraPredMode0等于最小值(intraPredModeA,intraPredModeB),并且predIntraPredMode1等于最大值(intraPredModeA,intraPredModeB);否则:
1.如果intraPredModeA等于0,则predIntraPredMode0等于0,并且predIntraPredMode1等于2。
2.如果intraPredModeA不等于0,则predIntraPredMode0等于0,并且predIntraPredMode1等于intraPredModeA。
3)如果intra_luma_pred_mode的值为0,则IntraLumaPredMode等于predIntraPredMode0;否则,如果intra_luma_pred_mode的值为1,则IntraLumaPredMode等于predIntraPredMode1;否则:
◆如果intra_luma_pred_mode减去2的值小于predIntraPredMode0,则IntraLumaPredMode等于intra_luma_pred_mode减去2;
◆否则,如果intra_luma_pred_mode减去1的值大于predIntraPredMode0且小于predIntraPredMode1,则IntraLumaPredMode等于intra_luma_pred_mode减去1;
◆否则,IntraLumaPredMode等于intra_luma_pred_mode。
4)如果FimcEnableFlag的值为1,则根据9.20中定义的方法,使用当前预测单元的亮度帧内预测模式IntraLumaPredMode更新帧内模式频率表。
b)如果当前预测块E是色度块:
1)如果当前编解码单元中PredBlockOrder值为0的预测块的亮度预测模式IntraLumaPredMode等于0、2、12或24,则isRedundant等于1;否则,isRedundant等于0。
2)如果tscpm_enable_flag的值等于“1”,并且intra_chroma_pred_mode的值等于1,则IntraChromaPredMode等于5;
3)否则,
◆如果tscpm_enable_flag的值等于“1”,并且intra_chroma_pred_mode的值不等于0,则intra_chroma_pred_mode的值减去1;
◆如果isRedundant等于0,则IntraChromaPredMode等于intra_chroma_pred_mode;否则,依次执行以下操作:
●如果IntraLumaPredMode等于0,则predIntraChromaPredMode等于1;如果IntraLumaPredMode等于2,则predIntraChromaPredMode等于4;如果IntraLumaPredMode等于12,则predIntraChromaPredMode等于3;如果IntraLumaPredMode等于24,则predIntraChromaPredMode等于2。
●如果intra_chroma_pred_mode的值等于0,则IntraChromaPredMode等于0;否则,如果intra_chroma_pred_mode的值小于predIntraChromaPredMode,则IntraChromaPredMode等于intra_chroma_pred_mode;否则,IntraChromaPredMode等于intra_chroma_pred_mode加1。
c)根据IntraLumaPredMode的值,查找表79,以获得亮度预测块的帧内预测模式。根据IntraChromaPredMode的值,查找表80,以获得色度预测块的帧内预测模式。
9.20更新帧内模式的频率表
在完成当前预测单元的解码之后,如果当前预测单元是帧内预测单元而不是块复制帧内预测单元,则当FimcEnableFlag等于1时,根据当前预测块的亮度帧内预测模式IntraLumaPredMode以及高频率模式来更新帧内模式频率表FimcFrequencyList;否则,将不会执行本文中定义的操作。
a)在FimcFrequencyList[IntraLumaPredMode]中添加70;
b)令FreqCurr等于FimcFrequencyList[IntraLumaPredMode];
c)令Mode0等于ModeFimc[0],而Freq0等于FimcFrequencyList[Mode0];
d)令Mode1等于ModeFimc[1],而Freq1等于FimcFrequencyList[Mode1];
e)如果FreqCurr大于或等于Freq0,则ModeFimc[0]等于IntraLumaPredMode;
1)如果Mode0不等于IntraLumaPredMode,则ModeFimc[1]等于Mode0。
2)否则,ModeFimc[1]等于Mode1。
f)否则,如果FreqCurr大于或等于Freq1,则ModeFimc[1]等于IntraLumaPredMode。
1)否则,将不会更新ModeFimc。
图20是视频处理装置2000的框图。装置2000可以用于实施本文描述的一种或多种方法。装置2000可以体现为智能手机、平板电脑、计算机、物联网(IoT)接收器等。装置2000可以包括一个或多个处理器2002、一个或多个存储器2004、和视频处理硬件2006。(多个)处理器2002可以被配置为实施本文中描述的一种或多种方法。(多个)存储器2004可以用于存储用于实施本文描述的方法和技术的数据和代码。视频处理硬件2006可以用于在硬件电路中实施本文中描述的一些技术。在一些实施例中,硬件2006可以至少部分在处理器2002中,例如在图形协处理器中。
在一些实施例中,以下解决方案可以被实施为优选解决方案。
以下解决方案可以与在上一节中列出的各项(例如,第1、3、4和5项)中描述的附加技术一起实施。
1.一种视频处理方法(例如,图21中所示的方法2100),包括:使用一个或多个频率表执行(2102)视频的视频单元与该视频单元的编解码表示之间的转换,其中,该一个或多个频率表包括关于视频的转换中使用的帧内预测模式的频率的信息;以及,由于该转换,基于视频单元的编解码模式选择性地更新(2104)该一个或多个频率表。
2.根据解决方案1所述的方法,还包括:确定一个或多个已排序的帧内预测模式(IPM)表,该表以该一个或多个频率表中的频率顺序存储帧内预测模式。
3.根据解决方案1-2中的任一项所述的方法,其中,选择性地更新包括:在视频单元的转换期间使用帧内预测模式的情况下,更新一个或多个频率表。
4.根据解决方案1-2中的任一项所述的方法,其中,选择性地更新包括:在视频单元的转换期间不使用帧内预测模式的情况下,避免更新一个或多个频率表。
5.根据解决方案1-4中的任一项所述的方法,其中,该一个或多个频率表包括用于多种类型的视频单元的表。
6.根据解决方案1-5中的任一项所述的方法,其中,视频单元是预测单元(PU)。
7.根据解决方案1-5中的任一项所述的方法,其中,视频单元是编解码单元(CU)。
8.根据解决方案1所述的方法,其中,对于转换,使用一个或多个频率表和/或一个或多个IPM表来构建最可能编解码模式(MPM)列表。
9.根据解决方案8所述的方法,其中,可以使用来自具有最高频率的一个或多个已排序的IPM表的N个条目来构建MPM编解码列表。
10.根据解决方案1-9中的任一项所述的方法,其中,基于一个或多个频率表、一个或多个IPM表、以及非基于表的操作,来推导出用于视频单元的转换的编解码模式。
11.根据解决方案10所述的方法,其中,通过首先生成MPM编解码列表来推导出编解码模式。
12.根据解决方案10所述的方法,其中,使用一个或多个IPM表和非基于表的操作来构建MPM编解码列表,并且从MPM列表中确定编解码模式。
13.根据解决方案8所述的方法,其中,从一个或多个IPM表以及不在MPM编解码列表中的其余模式推导出用于视频单元的转换的编解码模式。
以下解决方案可以与在上一节中列出的各项(例如,第9项和第10项)中描述的附加技术一起实施。
14.根据解决方案3所述的方法,其中,帧内预测模式是一般帧内预测模式。
15.根据解决方案2所述的方法,其中,由于转换,根据是否将帧内模式用于转换,来选择性地更新一个或多个频率表和一个或多个IPM表。
16.根据解决方案2所述的方法,其中,由于使用基于矩阵的帧内预测(MIP)模式的转换,选择性地更新一个或多个频率表和一个或多个IPM表。
17.根据解决方案2所述的方法,其中,由于使用基于矩阵的帧内预测(MIP)模式的转换,不更新一个或多个频率表和一个或多个IPM表。
18.根据解决方案2所述的方法,其中,由于使用帧内子分割(ISP)模式进行的转换,不更新一个或多个频率表和一个或多个IPM表。
19.根据解决方案2所述的方法,其中,由于使用非帧内模式的转换,选择性地更新一个或多个频率表和一个或多个IPM表。
20.根据解决方案19所述的方法,其中,非帧内模式是帧间模式或帧内块复制模式或调色板模式。
以下解决方案可以与在上一节中列出的项(例如,第11项)中描述的附加技术一起实施。
21.根据解决方案3所述的方法,其中,在转换期间使用的帧内预测模式是Mi,并且其中,在第n次更新之前对应的频率由Fn(Mi)表示,其中n从1开始,然后对于Mi,将Fn(Mi)更新为Fn+1(Mi),其中Fn+1(Mi)=Fn(Mi)+K,其中,K是整数。
22.根据解决方案21所述的方法,其中,K=1。
23.根据解决方案21所述的方法,其中,K是编解码单元或帧内预测模式的类型的函数。
以下解决方案可以与在上一节中列出的项(例如,第12项)中描述的附加技术一起实施。
24.根据解决方案2所述的方法,其中,一个或多个已排序的IMP表是根据排序规则进行排序的。
25.根据解决方案24所述的方法,其中,排序规则规定在更新之后按照降序来排序。
26.根据解决方案24所述的方法,其中,排序规则规定在找到满足条件的条目时终止排序。
以下解决方案可以与在上一节中列出的项(例如,第2项)中描述的附加技术一起实施。
27.一种视频处理方法,包括:使用频率表执行视频的视频单元和该视频单元的编解码表示之间的转换,其中,该频率表包括多个条目,每个条目代表在转换中对应帧内编解码模式的出现的频率;以及,利用该转换,基于该视频单元的编解码信息选择性地更新频率表。
28.根据解决方案27所述的方法,还包括:维护已排序的帧内预测模式(IPM)表,该表包括与频率表中的对应M个条目相关联的M个条目。
29.根据解决方案27-28中的任一项所述的方法,其中,M个条目被分组为N个类别,其中,N小于M。
30.根据解决方案27所述的方法,其中,频率表包括N个条目,该方法还包括:
维护已排序的帧内预测模式(IPM)表,该表包括M个条目,其中M大于N,并且其中,频率表的N个条目与IPM表中的对应N个条目相关联。
以下解决方案可以与在上一节中列出的各项(例如,第7项和第8项)中描述的附加技术一起实施。
31.一种视频处理方法,包括:使用一个或多个频率表和/或使用根据该一个或多个频率表中指示的频率顺序排序的一个或多个帧内预测模式表,执行视频的当前视频单元和下一视频单元与编解码表示之间的转换;其中,该一个或多个频率表包括关于在转换中使用的帧内预测模式的频率的信息;并且其中,该一个或多个频率表和/或该一个或多个帧内预测模式表在当前视频单元的转换中的使用与下一视频单元的转换中的使用之间被重置或初始化。
32.根据解决方案31所述的方法,其中,当前视频单元和/或下一视频单元是该视频的:编解码树单元的子区域、或编解码树单元、或编解码树块、或多个编解码树单元、或编解码树单元行的多个编解码单元、或片、或砖块、或条带、或图片、或子图片。
33.根据解决方案31-32中的任一项所述的方法,其中,频率的顺序是频率的升序。
34.根据解决方案31-33中的任一项所述的方法,其中,该一个或多个帧内预测模式表的重置或初始化包括在升序和降序之间切换。
35.根据解决方案31-34中的任一项所述的方法,其中,该一个或多个频率表的重置或初始化包括将该一个或多个频率表的条目设置为预定值。
36.根据解决方案35所述的方法,其中,预定值彼此相等。
37.根据解决方案35所述的方法,其中,预定值彼此不同。
38.根据解决方案35-37中的任一项所述的方法,其中,在多个集合中定义预定值,并且基于在转换中使用的编解码信息来选择特定集合。
以下解决方案可以与在上一节中列出的项(例如,第13项)中描述的附加技术一起实施。
39.一种视频处理方法,包括:使用一个或多个频率表来执行视频的视频单元和该视频单元的编解码表示之间的转换,其中,该一个或多个频率表包括关于在视频的转换中使用的帧内预测模式的频率的信息以及关于该帧内预测模式的出现的辅助信息。
40.根据解决方案39所述的方法,其中,辅助信息包括帧内预测模式出现的起始位置或块尺寸。
41.根据解决方案39-40中的任一项所述的方法,其中,该一个或多个频率表和/或辅助信息在视频单元的转换时被更新。
42.根据解决方案39-41中的任一项所述的方法,其中,通过首先根据起始位置对该一个或多个频率表进行排序来执行转换。
以下解决方案可以与在上一节中列出的各项(例如,第14项和第15项)中描述的附加技术一起实施。
43.根据解决方案1-42中的任一项所述的方法,其中,编解码表示中的字段指示在转换期间使用该方法。
44.根据解决方案1-42中的任一项所述的方法,其中,视频单元对应于视频的片、砖块、条带、图片、子图片、序列、或视图。
45.根据解决方案1-42中的任一项所述的方法,其中,由于视频单元满足准则,而将该方法应用于该转换。
46.根据解决方案3所述的方法,其中,准则包括视频单元的尺寸、或条带类型、或图片类型、或时域层索引、或视频的内容。
47.根据解决方案1至46中的任一项所述的方法,其中,该一个或多个频率与视频单元的特定类型相关联。
48.根据解决方案1至46中的任一项所述的方法,其中,一个频率表与视频单元的一种特定类型相关联;并且,不同的频率表与视频单元的不同特定类型相关联。
49.根据解决方案47-48中的任一项所述的方法,其中,特定类型对应于特定块维度。
50.根据解决方案47-48中的任一项所述的方法,其中,特定类型对应于在转换期间使用的特定编解码方法。
以下解决方案可以与在上一节中列出的项(例如,第6项)中描述的附加技术一起实施。
51.一种视频处理方法,包括:对于视频的视频单元和该视频的编解码表示之间的转换,确定用于该转换的帧内预测模式;以及,基于该帧内预测模式执行转换;其中,在编解码表示中以语法元素信令通知该帧内预测模式。
52.根据解决方案51所述的方法,其中,对于该视频单元到另一视频单元,语法元素的值是可以改变的。
53.根据解决方案51-52中的任一项所述的方法,其中,帧内预测模式基于转换期间的先前帧内预测模式的历史或频率信息。
54.根据解决方案51-53中的任一项所述的方法,其中,语法元素编解码帧内预测模式表的索引。
55.根据解决方案54所述的方法,其中,索引基于以降序排列的帧内预测模式表。
56.根据解决方案1-55中的任一项所述的方法,其中,视频单元对应于视频编解码块。
57.根据解决方案1至56中的任一项所述的方法,其中,转换包括将视频编码为编解码表示。
58.根据解决方案1至56中的任一项所述的方法,其中,转换包括对编解码表示进行解码以生成视频的像素值。
59.一种视频解码设备,包括:处理器,被配置为实现根据解决方案1至58中的一项或多项所述的方法。
60.一种视频编码设备,包括:处理器,被配置为实现根据解决方案1至58中的一项或多项所述的方法。
61.一种计算机程序产品,其上存储有计算机代码,该代码在由处理器执行时使该处理器实现根据解决方案1至58中的任一项所述的方法。
62.本文件中描述的方法、装置或***。
图26是示出示例视频处理***2600的框图,其中可以实施本文公开的各种技术。各种实现可能包括***2600的部分或全部组件。***2600可包括用于接收视频内容的输入2602。视频内容可以原始或未压缩格式接收,例如8位或10位多分量像素值,或者可以压缩或编码格式接收。输入2602可以表示网络接口、***总线接口或存储接口。网络接口的示例包括诸如以太网、无源光网络(PON)等的有线接口,以及诸如Wi-Fi或蜂窝接口的无线接口。
***2600可包括编解码组件2604,其可实现本文中所描述的各种编码或解码方法。编解码组件2604可以降低从输入2602到编解码组件2604的输出的视频的平均比特率,以产生视频的编解码表示。因此,编解码技术有时被称为视频压缩或视频转码技术。编解码组件2604的输出可以被存储,也可以通过连接的通信进行传输,如组件2606所示。输入2602处接收的视频的存储或通信比特流(或编解码)表示可由组件2608用于生成像素值或发送到显示接口2610的可显示视频。从比特流表示生成用户可观看视频的处理有时称为视频解压缩。此外,尽管某些视频处理操作被称为“编解码”操作或工具,但应当理解的是,编解码工具或操作被用于编码器处,并且逆向编解码结果的相应的解码工具或操作将由解码器执行。
***总线接口或显示接口的示例可以包括通用串行总线(USB)或高清晰度多媒体接口(HDMI)或显示端口等。存储接口的示例包括SATA(串行高级技术附件)、PCI、IDE接口等。本文中所述的技术可实施在各种电子设备中,例如移动电话、笔记本电脑、智能手机或其他能够执行数字数据处理和/或视频显示的设备。
所公开技术的一些实施例包括做出启用视频处理工具或模式的决定或确定。在一个示例中,当启用视频处理工具或模式时,编码器将在视频块的处理中使用或实现该工具或模式,但是不一定基于该工具或模式的使用来修改所产生的比特流。也就是说,从视频块到视频的比特流表示的转换将在基于该决定或确定启用视频处理工具或模式时使用该视频处理工具或模式。在另一示例中,当启用视频处理工具或模式时,解码器在已知基于视频处理工具或模式修改比特流的情况下处理该比特流。即,将使用基于该决定或确定而启用的视频处理工具或模式来执行从视频的比特流表示到视频块的转换。
所公开技术的一些实施例包括做出禁用视频处理工具或模式的决定或确定。在一个示例中,当禁用视频处理工具或模式时,编码器将在视频块到视频的比特流表示的转换中不使用该工具或模式。在另一示例中,当禁用视频处理工具或模式时,解码器在已知尚未使用基于决定或确定而启用的视频处理工具或模式来修改比特流的情况下处理该比特流。
图27是示出可利用本发明的技术的示例视频编解码***100的框图。如图27所示,视频编解码***100可以包括源设备110和目标设备120。源设备110生成编码的视频数据,其可被称为视频编码设备。目标设备120可以对由源设备110生成的编码的视频数据进行解码,其可被称为视频解码设备。源设备110可以包括视频源112、视频编码器114、和输入/输出(I/O)接口116。
视频源112可以包括源,诸如视频捕获设备之类的源、从视频内容提供商接收视频数据的接口、和/或用于生成视频数据的计算机图形***,或者这些源的组合。视频数据可以包括一个或多个图片。视频编码器114对来自视频源112的视频数据进行编码以生成比特流。比特流可以包括形成视频数据的编解码表示的比特序列。比特流可以包括编解码图片和关联数据。编解码图片是图片的编解码表示。关联数据可以包括序列参数集、图片参数集、和其他语法结构。I/O接口116可以包括调制器/解调器(调制解调器)和/或发送器。编码的视频数据可以通过网络130a经由I/O接口116直接发送到目标设备120。编码的视频数据也可以存储在存储介质/服务器130b上,以供目标设备120访问。
目标设备120可以包括I/O接口126、视频解码器124和显示设备122。
I/O接口126可以包括接收器和/或调制解调器。I/O接口126可以从源设备110或存储介质/服务器130b获取编码的视频数据。视频解码器124可以解码编码的视频数据。显示设备122可以将解码的视频数据显示给用户。显示设备122可以与目标设备120集成在一起,或者可以在目标设备120外部,该目标设备120被配置为与外部显示设备接口。
视频编码器114和视频解码器124可以根据视频压缩标准来操作,比如高效视频编解码(HEVC)标准、多功能视频编解码(VVM)标准、和其他当前的和/或进一步标准。
图28是示出视频编码器200的示例的框图,视频编码器200可为图27中所示出的***100中的视频编码器114。
视频编码器200可以被配置为执行本公开的任何或所有技术。在图28的示例中,视频编码器200包括多个功能组件。本公开中描述的技术可以在视频编码器200的各个组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
视频编码器200的功能组件可包括分割单元201,可包括模式选择单元203、运动估计单元204、运动补偿单元205和帧内预测单元206的预测单元202,残差生成单元207,变换单元208,量化单元209,逆量化单元210,逆变换单元211,重构单元212,缓冲区213和熵编码单元214。
在其他示例中,视频编码器200可以包括更多、更少或不同的功能组件。在示例中,预测单元202可以包括帧内块复制(IBC)单元。IBC单元可以在IBC模式下执行预测,其中,至少一个参考图片是当前视频块所在的图片。
此外,一些组件,诸如运动估计单元204和运动补偿单元205,可以高度集成,但是为了解释在图28的示例中分开表示。
分割单元201可以将图片分割为一个或多个视频块。视频编码器200和视频解码器300可以支持各种视频块尺寸。
模式选择单元203可以例如基于误差结果选择编解码模式之一,帧内或帧间,并将得到的帧内或帧间编码块提供给残差生成单元207以生成残差块数据,并且提供给重构单元212,用于重构编解码块以用作参考图片。在一些示例中,模式选择单元203可以选择帧内预测和帧间预测(CIIP)模式的组合,其中,该预测基于帧间预测信号和帧内预测信号。在帧间预测的情况下,模式选择单元203还可以为块选择运动矢量的分辨率(例如,子像素或整数像素精度)。
为了对当前视频块执行帧间预测,运动估计单元204可以通过将来自缓冲区213的一个或多个参考帧与当前视频块进行比较来生成当前视频块的运动信息。运动补偿单元205可基于运动信息以及来自缓冲区213的图片的解码样点,而非基于与当前视频块相关联的图片,来确定当前视频块的预测的视频块。
运动估计单元204和运动补偿单元205可以例如根据当前视频块是在I条带、P条带、还是B条带中,对当前视频块执行不同的操作。
在一些示例中,运动估计单元204可对当前视频块执行单向预测,并且运动估计单元204可以为当前视频块的参考视频块搜索列表0或列表1的参考图片。然后,运动估计单元204可以生成参考索引和运动矢量,该参考索引指示列表0或列表1中包含参考视频块的参考图片,该运动矢量指示当前视频块与参考视频块之间的空域位移。运动估计单元204可输出参考索引、预测方向指示符、和运动矢量作为当前视频块的运动信息。运动补偿单元205可基于由当前视频块的运动信息指示的参考视频块来生成当前块的预测的视频块。
在其他示例中,运动估计单元204可以对当前视频块执行双向预测,运动估计单元204可以为当前视频块的参考视频块搜索列表0中的参考图片,并且还可以为当前视频块的另一个参考视频块搜索列表1中的参考图片。运动估计单元204然后可生成参考索引和运动矢量,该参考索引指示列表0或列表1中包含参考视频块的参考图片,该运动矢量指示参考视频块与当前视频块之间的空域位移。运动估计单元204可输出当前视频块的参考索引和运动矢量作为当前视频块的运动信息。运动补偿单元205可基于由当前视频块的运动信息指示的参考视频块来生成当前视频块的预测的视频块。
在一些示例中,运动估计单元204可以输出全套运动信息以用于解码器的解码处理。
在一些示例中,运动估计单元204可不输出用于当前视频的全套运动信息。而是,运动估计单元204可参考另一视频块的运动信息来用信令通知当前视频块的运动信息。例如,运动估计单元204可以确定当前视频块的运动信息与临近视频块的运动信息足够相似。
在一个示例中,运动估计单元204可在与当前视频块相关联的语法结构中指示向视频解码器300指示当前视频块具有与另一视频块相同的运动信息的值。
在另一个示例中,运动估计单元204可以在与当前视频块关联的语法结构中识别另一个视频块和运动矢量差(MVD)。运动矢量差指示当前视频块的运动矢量与所指示的视频块的运动矢量之间的差。视频解码器300可以使用所指示的视频块的运动矢量和运动矢量差来确定当前视频块的运动矢量。
如上所述,视频编码器200可预测性地信令通知运动矢量。可由视频编码器200实现的预测信令技术的两个示例包括高级运动矢量预测(AMVP)和合并模式信令。
帧内预测单元206可以对当前视频块执行帧内预测。当帧内预测单元206对当前视频块执行帧内预测时,帧内预测单元206可以基于同一图片中其他视频块的解码样点来生成针对当前视频块的预测数据。当前视频块的预测数据可以包括预测的视频块和各种语法元素。
残差生成单元207可通过从当前视频块中减去(例如,由负号表示)当前视频块的预测的视频块来生成当前视频块的残差数据。当前视频块的残差数据可以包括对应于当前视频块中的样点的不同样点分量的残差视频块。
在其他示例中,对于当前视频块,例如在跳过模式下,可能没有针对当前视频块的残差数据,并且残差生成单元207可以不执行减法运算。
变换处理单元208可通过将一或多个变换应用于与当前视频块相关联的残差视频块来生成用于当前视频块的一个或多个变换系数视频块。
在变换处理单元208生成与当前视频块相关联的变换系数视频块之后,量化单元209可以基于与当前视频块相关联的一个或多个量化参数(QP)值来量化与当前视频块相关联的变换系数视频块。
逆量化单元210和逆变换单元211可以分别将逆量化和逆变换应用于变换系数视频块,以从变换系数视频块中重构残差视频块。重构单元212可以将重构的残差视频块添加到由预测单元202生成的一个或多个预测的视频块的相应样点中,以产生与当前块相关联的重构视频块,以存储在缓冲区213中。
在重构单元212重构视频块之后,可执行环路滤波操作以减少视频块中的视频块状伪像。
熵编码单元214可从视频编码器200的其他功能组件中接收数据。当熵编码单元214接收数据时,熵编码单元214可执行一个或多个熵编码操作以生成熵编码的数据并输出包括该熵编码的数据的比特流。
图29是示出了视频解码器300的实例的框图,视频解码器300可以是图27所示的***100中的视频解码器114。
视频解码器300可以被配置为执行本公开的任何或全部技术。在图29的示例中,视频解码器300包括多个功能组件。本公开中描述的技术可以在视频解码器300的各个组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
在图29的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、逆量化单元304、逆变换单元305、以及重构单元306和缓冲区307。在一些示例中,视频解码器300可以执行通常与针对视频编码器200(图28)描述的编码过程相反的解码过程。
熵解码单元301可以获取编码的比特流。该编码的比特流可以包括熵编码的视频数据(例如,视频数据的编码的块)。熵解码单元301可以对熵编码的视频数据进行解码,并且运动补偿单元302可以从熵解码的视频数据中确定运动信息,包括运动矢量、运动矢量精度、参考图片列表索引、以及其他运动信息。运动补偿单元302可以例如通过执行AMVP和合并模式来确定这类信息。
运动补偿单元302可产生运动补偿的块,有可能基于插值滤波器执行插值。语法元素中可以包括以子像素精度使用的插值滤波器的标识符。
运动补偿单元302可以在视频块的编码期间使用视频编码器200所使用的插值滤波器,以计算参考块的子整数像素的插值。运动补偿单元302可以根据接收到的语法信息确定由视频编码器200使用的插值滤波器,并使用该插值滤波器产生预测块。
运动补偿单元302可使用一些语法信息来确定用于对编码的视频序列的(多个)帧和/或(多个)条带进行编码的块的尺寸、描述如何分割编码的视频序列的图像的每个宏块的分割信息、指示每个分割如何编码的模式、每个帧间编码的块的一个或多个参考帧(和参考帧列表)、以及用于解码该编码的视频序列的其他信息。
帧内预测单元303可以使用例如在比特流中接收的帧内预测模式,以从空域临近的块中形成预测块。逆量化单元303对在比特流中提供并由熵解码单元301解码的量化的视频块系数进行逆量化,即,去量化。逆变换单元303进行逆变换。
重构单元306可以将残差块与由运动补偿单元202或帧内预测单元303生成的相应预测块相加,以形成解码的块。如果需要,还可以应用去方块滤波器来对解码的块进行滤波,以去除块状伪像。然后,将解码的视频块存储在缓冲区307中,该缓冲区为后续的运动补偿/帧内预测提供参考块,并且还产生解码的视频以呈现在显示设备上。
图30A示出了视频处理的示例方法3000A。该方法3000A包括:执行(3002A)包含视频单元的视频和该视频的编解码表示之间的转换,其中,在转换中处理视频单元时,选择性地更新一个或多个频率表,以包括关于在处理中使用的视频单元的一个或多个帧内预测模式的频率的信息,其中,该频率指示用于转换的一个或多个帧内预测模式的出现,并且其中,在处理视频单元时,选择性地更新一个或多个已排序的帧内预测模式(IPM)表以指示在处理中使用的一个或多个帧内预测模式。
图30B示出了视频处理的示例方法3000B。该方法3000B包括:使用一个或多个频率表或一个或多个已排序的帧内预测模式(IPM)表来执行(3002B)视频的视频单元和该视频的编解码表示之间的转换,其中,一个或多个频率表包括关于在视频的转换中使用的一个或多个帧内预测模式的频率的信息,其中,该频率指示用于转换的一个或多个帧内预测模式的出现,其中,一个或多个已排序的IPM表以排序顺序指示一个或多个帧内预测模式,其中,该一个或多个频率表或该一个或多个已排序的IPM表用于在构建尺寸为N的最可能模式(MPM)列表的过程中的帧内模式编解码,其中N是整数。
图30C示出了视频处理的示例方法3000C。该方法3000C包括:执行(3002C)视频的视频块和该视频的编解码表示之间的转换,其中,编解码表示包括指示用于转换的所选择的帧内预测模式的语法元素,其中,该编解码表示不包括一个或多个语法元素,该语法元素指示最可能模式(MPM)、或MPM列表的索引、或除了MPM列表中包括的帧内预测模式以外的其余帧内预测模式,并且其中,所选择的帧内预测模式是基于历史信息的,该历史信息指示在视频块的转换之前的、在视频的一个或多个视频块和该视频之间的另一转换中所使用的一个或多个帧内预测模式的频率。
图30D示出了视频处理的示例方法3000D。该方法3000D包括:执行(3002D)包括多个视频单元的视频和该视频的编解码表示之间的转换,其中,依次处理多个视频单元,其中,当在转换中处理多个视频单元中的一个视频单元时,一个或多个频率表和/或一个或多个已排序的帧内预测模式(IPM)表被重置或初始化,其中,一个或多个频率表包括关于用于处理多个视频单元中的先前视频单元的一个或多个帧内预测模式的频率的信息,其中,先前视频单元在时间上先于该视频单元,其中,该频率指示用于转换的一个或多个帧内预测模式的出现,并且其中,一个或多个已排序的IPM表指示在处理中使用的一个或多个帧内预测模式。
图30E示出了视频处理的示例方法3000E。该方法3000E包括:执行(3002E)包括多个视频单元的视频和该视频的编解码表示之间的转换,其中,依次处理多个视频单元,其中,该转换包括使用频率表中的一个或多个条目的一个或多个特定值来重置或初始化频率表,其中,该频率表包括关于用于在转换中处理多个视频单元的一个或多个帧内预测模式的频率的信息,并且其中,该频率指示用于转换的一个或多个帧内预测模式的出现。
图30F示出了视频处理的示例方法3000F。该方法3000F包括:执行(3002F)包括多个视频单元的视频与该视频的编解码表示之间的转换,其中,依次处理多个视频单元;以及,在对多个视频单元中的一个视频单元执行转换之后,确定(3004F):(1)是否对频率表、已排序的帧内预测模式(IPM)表、和/或基于历史的运动预测(HMVP)表启用重置或初始化过程,和/或(2)利用其重置或初始化频率表、已排序的IPM表、和/或HMVP表的技术,其中,该确定是基于除了解码的帧内预测模式的视频单元的解码信息,其中,该频率表包括关于用于在转换中处理多个视频单元中的先前视频单元的一个或多个帧内预测模式的频率的信息,其中,先前视频单元在时间上先于视频单元,其中,该频率指示用于转换的一个或多个帧内预测模式的出现,并且其中,已排序的IPM表指示在处理中使用的一个或多个帧内预测模式。
图30G示出了视频处理的示例方法3000G。该方法3000G包括:执行(3002G)包括视频单元的视频与该视频的编解码表示之间的转换,其中,在使用帧内预测模式对视频单元进行编码或解码之后,根据规则选择性地更新一个或多个频率表和/或一个或多个已排序的帧内预测模式(IPM)表,其中,该一个或多个频率表包括关于用于在转换中用于处理视频单元的帧内预测模式的频率的信息,其中,该频率指示用于转换的帧内预测模式的出现,并且其中,一个或多个已排序的IPM表指示在处理中使用的帧内预测模式。
以下三个章节描述示例视频处理技术:
章节A
示例1.一种视频处理方法,包括:
执行包含视频单元的视频和该视频的编解码表示之间的转换,
其中,在转换中处理视频单元时,选择性地更新一个或多个频率表,以包括关于在处理中使用的视频单元的一个或多个帧内预测模式的频率的信息,
其中,该频率指示用于转换的一个或多个帧内预测模式的出现,并且
其中,在处理所述视频单元时,选择性地更新一个或多个已排序的帧内预测模式(IPM)表以指示在处理中使用的一个或多个帧内预测模式。
示例2.根据示例1所述的方法,其中,一个或多个已排序的IPM表与一个或多个频率表相关联。
示例3.根据示例1-2中的任一项所述的方法,其中,当更新一个或多个频率表时,相应地更新一个或多个已排序的IPM表。
示例4.根据示例1-2中的任一项所述的方法,其中,由于一个或多个频率表中的条目包括帧内预测模式和该帧内预测模式的出现或频率,而不更新一个或多个已排序的IPM表。
示例5.根据示例1-2中的任一项所述的方法,其中,一个或多个已排序的IPM表的第k个条目表示历史上第k个最高频率使用的帧内预测模式。
示例6.根据示例1所述的方法,其中,视频单元包括编解码树单元(CTU)的子区域。
示例7.根据示例6所述的方法,其中,CTU的子区域包括虚拟管线数据单元(VPDU)、另一CTU、编解码树块(CTB)、多个CTU、多个编解码单元(CU)、CTU行、片、砖块、条带、图片、或子图片。
示例8.根据示例1所述的方法,其中,一个或多个频率表与IPM顺序映射表相关联。
示例9.根据示例8所述的方法,其中,IPM顺序映射表的第k个条目表示具有等于k的索引的帧内预测模式的排序索引。
示例10.根据示例1所述的方法,其中,视频单元是预测单元(PU)。
示例11.根据示例1所述的方法,其中,视频单元是编解码单元(CU)。
示例12.根据示例1所述的方法,其中,一个或多个频率表和一个或多个已排序的IPM表用于视频的一个或多个附加视频单元与视频的编解码表示之间的另一转换,其中,视频单元在时间上先于一个或多个附加视频单元。
示例13.根据示例1所述的方法,其中,在已排序的IPM表中的帧内预测模式的值与索引值相关联,该索引值与频率表中的帧内预测模式的频率的索引值相同。
示例14.根据示例1所述的方法,其中,针对视频的每一种块类型来更新一个或多个频率表和一个或多个已排序的IPM表。
示例15.根据示例1所述的方法,其中,针对视频的多种块类型更新来自一个或多个频率表的一个频率表和一个或多个已排序的IPM表。
示例16.根据示例14-15中的任一项所述的方法,其中,块类型包括具有相同宽度和/或相同高度的块。
示例17.根据示例1所述的方法,其中,对于等于k的索引值:
第一值modeT[k]是与已排序的IPM表中的等于k的索引值相关联的帧内预测模式,
第二值orderT[k]是在对IPM顺序映射表中的帧内预测模式进行排序之后,与等于k的索引值相关联的帧内预测模式的映射索引,以及
第三值freqT[k]是与频率表中的等于k的索引值相关联的帧内预测模式的频率。
示例18.根据示例17所述的方法,其中,orderT[modeT[k]]=k,其中,k表示顺序索引。
示例19.根据示例17所述的方法,其中,modeT[orderT[m]]=m,其中,m表示帧内预测模式。
示例20.根据示例17所述的方法,其中,freqT[modeT[k]]>=freqT[modeT[k+1]]。
示例21.根据示例1所述的方法,其中,来自一个或多个频率表的频率表与M个条目相关联,其中,M是整数,并且其中,每个条目与所允许的M个帧内预测模式中的一个帧内预测模式的频率相关联。
示例22.根据示例21所述的方法,其中,来自一个或多个已排序的IPM表的已排序的IPM表包括与该已排序的IPM表相关联的频率表中的条目数目相同的条目。
示例23.根据示例21所述的方法,其中,将所允许的M个帧内预测模式分组为N个类别,其中,N是整数。
示例24.根据示例23所述的方法,其中,频率表包括N个条目,其中,N是小于M的整数,并且其中,频率表中的每个条目与对应于该一个或多个帧内预测模式的一个类别的频率相关联。
示例25.根据示例23所述的方法,其中,一个或多个已排序的IPM表与所述频率表相关联,并且其中,一个或多个已排序的IPM表包括具有已排序的类别索引的N个条目。
示例26.根据示例21所述的方法,其中,频率表包括N个条目,其中,N是小于M的整数,并且其中,N个条目对应于来自所述所允许的M个帧内预测模式的N个选择的帧内预测模式。
示例27.根据示例26所述的方法,其中,所允许的M个帧内预测模式不包括广角帧内预测模式。
示例28.根据示例26所述的方法,其中,N个选择的帧内预测模式包括直流(DC)模式、平面模式、水平模式、垂直模式、或双线性帧内预测模式中的至少一种。
示例29.根据示例26所述的方法,其中,N个选择的帧内预测模式是预定义的或者信令通知的或者是根据视频单元的编解码信息推导的。
示例30.根据示例29所述的方法,其中,编解码信息指示视频单元是否包括屏幕内容。
示例31.根据示例21所述的方法,其中,频率表包括N个条目,其中,N是小于M的整数,其中,N个条目对应于N个帧内预测模式,并且其中,基于视频单元的解码信息在转换期间来更新包括N个条目的频率表。
示例32.根据示例31所述的方法,其中,N个帧内预测模式首先被初始化,然后基于视频单元的解码信息而被更新。
示例33.一种视频处理方法,包括:
使用一个或多个频率表或一个或多个已排序的帧内预测模式(IPM)表来执行视频的视频单元和该视频的编解码表示之间的转换,
其中,一个或多个频率表包括关于在视频的转换中使用的一个或多个帧内预测模式的频率的信息,
其中,频率指示用于转换的一个或多个帧内预测模式的出现,
其中,一个或多个已排序的IPM表以排序顺序指示一个或多个帧内预测模式,
其中,一个或多个频率表或一个或多个已排序的IPM表用于构建尺寸为N的最可能模式(MPM)列表的过程中的帧内模式编解码,以及
其中N是整数。
示例34.根据示例33所述的方法,其中,所有MPM列表是由一个或多个已排序的IPM表确定的。
示例35.根据示例34所述的方法,其中,一个或多个帧内预测模式包括与最高频率相关联的前N个帧内预测模式,并且其中,前N个帧内预测模式用作MPM列表的输入。
示例36.根据示例33所述的方法,其中,一个或多个频率表和一个或多个已排序的IPM表用于帧内模式编解码。
示例37.根据示例36所述的方法,其中,所有MPM列表是由所述一个或多个已排序的IPM表以及其他非基于表的帧内预测方法确定的。
示例38.根据示例37所述的方法,其中,与最高频率相关联的前M个帧内预测模式被用作MPM列表的输入,其中,M是小于N的整数。
示例39.根据示例36所述的方法,其中,将来自一个或多个已排序的IPM表的一个或多个选择的帧内预测模式与从非基于表的帧内预测方法推导的其他帧内预测模式组合以形成MPM列表。
示例40.根据示例39所述的方法,其中,其他帧内预测模式是从包括一个或多个默认帧内预测模式的非基于表的帧内预测方法中推导的。
示例41.根据示例40所述的方法,其中,一个或多个默认帧内预测模式包括平面模式或直流(DC)模式。
示例42.根据示例39所述的方法,其中,其他帧内预测模式是从非基于表的帧内预测方法中推导的,该非基于表的帧内预测方法包括从对于视频单元可用的空域临近块中得出的一个或多个帧内预测模式。
示例43.根据示例42所述的方法,其中,空域临近块包括与视频单元紧邻的临近块或与视频单元不紧邻的临近块。
示例44.根据示例42所述的方法,其中,空域临近块包括位于视频单元上方的上方临近块或位于视频单元左侧的左侧临近块。
示例45.根据示例42所述的方法,其中,默认帧内预测模式顺序为:来自位于所述视频单元左侧的左侧临近块的帧内预测模式、来自位于视频单元上方的上方临近块的帧内预测模式、平面模式、和直流(DC)模式。
示例46.根据示例39所述的方法,其中,对于在视频单元左侧不可用的、与左侧邻块相关联的第一帧内预测模式,或对于在视频单元的上方不可用的、与上方临近块相关联的第二帧内预测模式,将值-1用于替换MPM列表中缺少的模式索引。
示例47.根据示例46所述的方法,其中,视频单元包括编解码树单元或条带边界。
示例48.根据示例39所述的方法,其中,在将来自一个或多个已排序的IPM表的一个或多个选择的帧内预测模式添加到MPM列表之前,将其他帧内预测模式添加到MPM列表。
示例49.根据示例39所述的方法,其中,在将来自一个或多个已排序的IPM表的一个或多个选择的帧内预测模式添加到MPM列表之后,将其他帧内预测模式添加到MPM列表。
示例50.根据示例39所述的方法,其中,在将来自一个或多个已排序的IPM表的一个或多个选择的帧内预测模式添加到MPM列表之前和之后,将其他帧内预测模式添加到MPM列表。
示例51.根据示例39所述的方法,其中,将修剪技术应用于其他帧内预测模式和一个或多个选择的帧内预测模式,以避免将冗余的帧内预测模式添加到MPM列表。
示例52.根据示例39所述的方法,其中,对于在视频的一个视频单元到视频的另一视频单元之间以及在视频的一个视频块到视频的另一视频块之间,从一个或多个已排序的IPM表以及从非基于表的帧内预测方法推导的帧内预测模式的添加顺序是改变的。
示例53.根据示例39所述的方法,其中,对于在视频的一个视频单元到视频的另一视频单元之间以及在视频的一个视频块到视频的另一视频块之间,从一个或多个已排序的IPM表以及从非基于表的帧内预测方法推导的帧内预测模式的数目是改变的。
示例54.根据示例39所述的方法,其中,将一个或多个已排序的IPM表中的前L个帧内预测模式添加到MPM列表。
示例55.根据示例39所述的方法,其中,将一个或多个已排序的IPM表中的最后L个帧内预测模式添加到MPM列表。
示例56.根据示例39所述的方法,其中,基于已排序的IPM表的条目索引的升序,将来自已排序的IPM表的一个或多个选择的帧内预测模式添加到MPM列表。
示例57.根据示例39所述的方法,其中,基于已排序的IPM表的条目索引的降序,将来自已排序的IPM表的一个或多个选择的帧内预测模式添加到MPM列表。
示例58.根据示例39所述的方法,其中,基于帧内预测模式索引的升序,将来自已排序的IPM表的一个或多个选择的帧内预测模式添加到MPM列表。
示例59.根据示例39所述的方法,其中,基于帧内预测模式索引的降序,将来自已排序的IPM表的一个或多个选择的帧内预测模式添加到所述MPM列表。
示例60.根据示例58-59中的任一项所述的方法,其中,在已排序的IPM表中的前L个帧内预测模式的一个或多个索引被选择为添加到MPM列表中。
示例61.根据示例60所述的方法,其中,响应于第一帧内预测模式的第一值小于第二帧内预测模式的第二值,在将第二帧内预测模式添加到MPM列表中之前,将第一帧内预测模式添加到MPM列表。
示例62.根据示例60所述的方法,其中,响应于第一帧内预测模式的第一值大于第二帧内预测模式的第二值,在将第二帧内预测模式添加到MPM列表中之前,将第一帧内预测模式添加到MPM列表中。
示例63.根据示例28所述的方法,其中,是否从一个或多个已排序的IPM表确定整个MPM列表取决于一个或多个帧内预测模式的频率。
示例64.根据示例36所述的方法,其中,是否从一个或多个已排序的IPM表确定整个MPM列表取决于与视频单元的解码信息相关联的规则。
示例65.根据示例64所述的方法,其中,解码信息包括块维度或视频内容类型。
示例66.根据示例65所述的方法,其中,与块维度相关联的规则包括块宽度和/或块高度是否大于阈值。
示例67.根据示例65所述的方法,其中,与视频内容类型相关联的规则包括视频内容类型是否为屏幕内容。
示例68.根据示例33所述的方法,其中,来自一个或多个已排序的IPM表中的已排序的IPM表是用于MPM列表中包括的最可能模式以外的其余帧内预测模式的帧内模式编解码。
示例69.根据示例68所述的方法,
其中,第一其余帧内预测模式的第一索引的第一值对应于第一帧内预测模式,
其中,第二其余帧内预测模式的第二索引的第二值对应于第二帧内预测模式,
其中,响应于第一帧内预测模式具有比第二帧内预测模式更高的频率,第一值小于第二值,以及
其中,第一值包括在编解码表示中。
示例70.一种视频处理方法,包括:
执行视频的视频块和该视频的编解码表示之间的转换,
其中,编解码表示包括指示用于转换的选择的帧内预测模式的语法元素,
其中,编解码表示不包括指示最可能模式(MPM)、或MPM列表的索引、或除了MPM列表中包括的帧内预测模式以外的其余帧内预测模式的一个或多个语法元素,并且
其中,所选择的帧内预测模式是基于历史信息的,该历史信息指示在视频块的转换之前、在视频的一个或多个视频块与视频之间进行的另一转换所使用的一个或多个帧内预测模式的频率。
示例71.根据示例70所述的方法,其中,对于从一个视频块到另一视频块,语法元素与所选择的帧内预测模式之间的映射是改变的。
示例72.根据示例70-71中任一项所述的方法,
其中,已排序的帧内预测模式(IPM)表包括与已排序的IPM表中的一个或多个帧内预测模式相关联的一个或多个索引,
其中,所选择的帧内预测模式来自一个或多个帧内预测模式,并且
其中,语法元素包括来自一个或多个索引的索引。
示例73.根据示例求72所述的方法,其中,使用一个或多个索引来选择所选择的帧内预测模式。
示例74.根据示例72所述的方法,其中,一个或多个索引包括索引值零,该索引值零对应于在已排序的IPM表中列出的第一帧内预测模式。
示例75.根据示例70-71中任一项所述的方法,
其中,已排序的帧内预测模式(IPM)表包括与已排序的IPM表中的帧内预测模式相关联的索引,
其中,索引是基于与帧内预测模式相关联的使用频率的降序,
其中,所选择的帧内预测模式是来自帧内预测模式,并且
其中,语法元素包括来自所述索引的索引。
示例76.根据示例75所述的方法,其中,具有最低值的索引与具有最高使用频率的帧内预测模式相关联。
示例77.根据示例70-71中任一项所述的方法,
其中,已排序的帧内预测模式(IPM)表包括与已排序的IPM表中的一个或多个帧内预测模式相关联的一个或多个索引,
其中,一个或多个索引是以二值化技术编解码的,
其中,所选择的帧内预测模式是来自一个或多个帧内预测模式的,并且
其中,语法元素包括来自一个或多个索引的索引。
示例78.根据示例77所述的方法,其中,二值化技术包括截断的一元方法、截断的二进制方法、或指数哥伦布方法。
示例79.根据示例求70-71中任一项所述的方法,
其中,已排序的帧内预测模式(IPM)表包括与已排序的IPM表中的一个或多个帧内预测模式相关联的一个或多个索引,
其中,针对所有容器或部分容器对一个或多个索引进行上下文编解码,
其中,所选择的帧内预测模式是来自一个或多个帧内预测模式的,并且
其中,语法元素包括来自一个或多个索引的索引。
示例80.根据示例79所述的方法,其中,部分容器包括第一数目的容器。
示例81.根据示例1-80中任一项所述的方法,
其中,色度直接模式(DM)编解码被应用于视频单元或视频块,并且
其中,基于频率表、或一个或多个频率表、或已排序的IPM表、或一个或多个已排序的IPM表、或IPM排序映射表确定DM编解码。
示例82.根据示例81所述的方法,其中,IPM排序映射表包括与最高频率表相关联的帧内预测模式。
示例83.根据示例1-80中任一项所述的方法,
其中,色度直接模式(DM)编解码被应用于视频单元或视频块,并且
其中,基于频率表、或一个或多个频率表、或已排序的IPM表、或一个或多个已排序的IPM表、或IPM排序映射表确定色度DM候选列表。
示例84.根据示例1-83中的任一项所述的方法,其中,在视频单元级别的编解码表示中信令通知是否为视频单元选择性地更新或使用一个或多个频率表或一个或多个已排序的IPM表的指示。
示例85.根据示例84所述的方法,其中,视频单元包括片、砖块、条带、图片、子图片、序列、或视图。
示例86.根据示例84所述的方法,其中,在序列参数集、视图参数集、适配参数集、图片参数集、图片标头、条带标头、或序列标头中指示是否选择性地更新或使用一个或多个频率表或一个或多个已排序的IPM表的指示和/或利用其选择地更新一个或多个频率表或一个或多个已排序的IPM表的技术的另一指示。
示例87.根据示例86所述的方法,其中,编解码表示中的语法元素指示是否启用从一个或多个频率表、或一个或多个已排序的IPM表、或IPM顺序映射表确定一个或多个帧内预测模式。
示例88.根据示例86所述的方法,其中,编解码表示中的语法元素指示从一个或多个频率表、或一个或多个已排序的IPM表、或IPM顺序映射表中确定的一个或多个帧内预测模式的数目。
示例89.根据示例86所述的方法,其中,编解码表示中的语法元素指示从来自一个或多个频率表、或一个或多个已排序的IPM表、或IPM顺序映射表的一个或多个帧内预测模式确定的最可能模式的数目。
示例90.根据示例84所述的方法,
其中,在编解码表示中的语法元素中指示是否选择性地更新或使用一个或多个频率表或一个或多个已排序的IPM表和/或利用其选择地更新和使用一个或多个频率表或一个或多个已排序的IPM表的技术,并且
其中,语法元素指示视频单元的视频内容是否为屏幕内容。
示例91.根据示例84所述的方法,
其中,是否选择性地更新或使用一个或多个频率表或一个或多个已排序的IPM表和/或利用其选择地更新和使用一个或多个频率表或一个或多个已排序的IPM表的技术是基于从先前编解码的块中的重构样点中推导的特征,该先前编解码块在时间上先于与视频单元相关联的视频块。
示例92.根据示例1-91中任一项所述的方法,
其中,是否选择性地更新或使用一个或多个频率表或一个或多个已排序的IPM表和/或利用其选择地更新或使用一个或多个频率表或一个或多个已排序的IPM表的技术是基于视频块的编解码信息。
示例93.根据示例92所述的方法,其中,编解码信息包括视频单元的块维度、条带类型、图片类型、时域层索引、或视频内容。
示例94.根据示例92所述的方法,其中,当视频单元的宽度小于或等于T1并且高度小于或等于T2时,选择性地更新或使用一个或多个频率表或一个或多个已排序的IPM表,其中T1和T2是整数。
示例95.根据示例92所述的方法,其中,当视频单元的宽度小于或等于T1或高度小于或等于T2时,选择性地更新或使用一个或多个频率表或者一个或多个已排序的IPM表,其中T1和T2是整数。
示例96.根据示例92所述的方法,其中,当视频单元的宽度乘以高度小于或等于T3时,选择性地更新或使用一个或多个频率表或者一个或多个已排序的IPM表,其中T3是整数。
示例97.根据示例92所述的方法,其中,当视频单元的宽度小于或等于T1且高度小于或等于T2时,禁止选择性地更新或使用一个或多个频率表或者一个或多个已排序的IPM表,其中T1和T2是整数。
示例98.根据示例92所述的方法,其中,当视频单元的宽度小于或等于T1或高度小于或等于T2时,禁止选择性地更新或使用一个或多个频率表或者一个或多个已排序的IPM表,其中T1和T2是整数。
示例99.根据示例92所述的方法,其中,当视频单元的宽度乘以高度小于或等于T3时,禁止选择性地更新或使用一个或多个频率表或者一个或多个排列的IPM表,其中T3是整数。
示例100.根据示例1至99中任一项所述的方法,
其中,是否选择性地更新一个或多个频率表或者一个或多个已排序的IPM表和/或利用其选择地更新一个或多个频率表或者一个或多个已排序的IPM表的技术是基于视频单元的颜色分量、或颜色编解码方法、或颜色格式、或分割树编解码方法。
示例101.根据示例100所述的方法,其中,一个或多个频率表或者一个或多个已排序的IPM表被选择性地更新和/或利用其选择地更新一个或多个频率表或者一个或多个已排序的IPM表的技术仅用于亮度帧内预测模式编解码。
示例102.根据示例1至101中任一项所述的方法,其中,转换包括将视频编码成编解码表示。
示例103.根据示例1至101中任一项所述的方法,其中,转换包括对编解码表示进行解码以生成视频的像素值。
示例104.一种视频解码装置,包括:处理器,被配置为实施根据示例1至103中的一项或多项所述的方法。
示例105.一种视频编码装置,包括:处理器,被配置为实施根据示例1至103中的一项或多项所述的方法。
示例106.一种计算机程序产品,其上存储有计算机代码,该代码在由处理器执行时使处理器实施根据示例1至103中任一项所述的方法。
章节B
示例1.一种视频处理方法,包括:
执行包括多个视频单元的视频和该视频的编解码表示之间的转换,其中,依次处理该多个视频单元,
其中,当在转换中处理多个视频单元中的一个视频单元时,一个或多个频率表和/或一个或多个已排序的帧内预测模式(IPM)表被重置或初始化,
其中,一个或多个频率表包括关于用于处理多个视频单元中的先前视频单元的一个或多个帧内预测模式的频率的信息,
其中,先前视频单元在时间上先于该视频单元,
其中,该频率指示用于转换的一个或多个帧内预测模式的出现,并且
其中,该一个或多个已排序的IPM表指示在处理中使用的一个或多个帧内预测模式。
示例2.根据示例1所述的方法,其中,该视频单元包括编解码树单元(CTU)的子区域。
示例3.根据示例1所述的方法,其中,该CTU的子区域包括虚拟管线数据单元(VPDU)、另一CTU、编解码树块(CTB)、多个CTU、多个编解码单元(CU)、CTU行、片、砖块、条带、图片、或子图片。
示例4.根据示例1所述的方法,其中,将该一个或多个已排序的IPM表重置或初始化为与按索引的升序排列的帧内预测模式允许集合相同。
示例5.根据示例1所述的方法,其中,将该一个或多个已排序的IPM表重置或初始化为与按索引的降序排列的帧内预测模式允许集合相同。
示例6.根据示例5所述的方法,其中,该一个或多个已排序的IPM表首先包括多个默认最可能模式(MPM),随后是除了多个默认MPM之外的其余帧内预测模式。
示例7.根据示例6所述的方法,其中,该多个默认MPM包括以下模式集合:{垂直模式、水平模式、偏移为-4的垂直模式、偏移为+4的垂直模式、模式2、对角线模式}。
示例8.根据示例6所述的方法,其中,该多个默认MPM包括以下模式集合:{平面模式、直流(DC)模式、垂直模式、水平模式、模式2、对角线模式}。
示例9.根据示例7-8中的任一项所述的方法,其中,对角线模式是具有最大索引的帧内预测模式。
示例10.根据示例6所述的方法,其中,该多个默认MPM以不同顺序被包括在一个或多个已排序的IPM表中。
示例11.根据示例6所述的方法,其中,该多个默认MPM的标识以及利用其将该多个默认MPM添加到该一个或多个已排序的IPM表中的技术是基于视频的块类型或视频单元的解码信息。
示例12.一种视频处理方法,包括:
执行包括多个视频单元的视频和该视频的编解码表示之间的转换,其中,依次处理多个视频单元,
其中,该转换包括使用频率表中一个或多个条目的一个或多个特定值来重置或初始化频率表,
其中,该频率表包括关于在转换中用于处理该多个视频单元的一个或多个帧内预测模式的频率的信息,并且,
其中,该频率指示用于该转换的一个或多个帧内预测模式的出现。
示例13.根据示例12所述的方法,其中,与一个或多个帧内预测模式相对应的一个或多个特定值被设置为相同值。
示例14.根据示例13所述的方法,其中,相同的值被设置为N,并且其中,N是整数。
示例15.根据示例14所述的方法,其中,N等于零。
示例16.根据示例12所述的方法,其中,将与一个或多个帧内预测模式相对应的一个或多个特定值设置为一个或多个唯一值,其中,每个帧内预测模式与唯一值相关联。
示例17.根据示例12所述的方法,其中,与一个或多个帧内预测模式相对应的一个或多个特定值包括对于至少两个帧内预测模式的第一集合相同的至少两个值的第一集合以及对于至少两个帧内预测模式的第二集合不同的至少两个值的第二集合。
示例18.根据示例12所述的方法,其中,用K表示允许的最可能模式(MPM)的数目,并且其中,定义了默认的MPM列表。
示例19.根据示例18所述的方法,其中,将从默认MPM列表中排除的第i个帧内预测模式的初始化值设置为(M-1-i),其中,M是整数。
示例20.根据示例18所述的方法,其中,将第j个帧内预测模式的初始化值设置为M+f(j),其中,f(j)返回正整数值,其中,M是整数,并且其中,j在包括0和K-1的0至K-1的范围内。
示例21.根据示例20所述的方法,其中,将f(j)设置为(K-j)。
示例22.根据示例12所述的方法,其中,预先定义了频率表内多个条目的多个特定值集合,并且其中,基于多个视频单元的编解码信息,从频率表中为条目集合选择特定值集合。
示例23.一种视频处理方法,包括:
执行包括多个视频单元的视频和该视频的编解码表示之间的转换,其中,依次处理多个视频单元;以及
在对多个视频单元中的视频单元执行转换之后,确定:(1)是否对频率表、已排序的帧内预测模式(IPM)表、和/或基于历史的运动预测(HMVP)表启用重置或初始化过程,和/或(2)利用其重置或初始化频率表、已排序的IPM表和/或HMVP表的技术,
其中,该确定是基于除了解码的帧内预测模式的视频单元的解码信息,
其中,该频率表包括关于用于在转换中处理多个视频单元中的先前视频单元的一个或多个帧内预测模式的频率的信息,
其中,先前视频单元在时间上早于视频单元,
其中,该频率指示用于转换的一个或多个帧内预测模式的出现,并且
其中,已排序的IPM表指示在处理中使用的一个或多个帧内预测模式。
示例24.根据示例23所述的方法,其中,在视频单元的编解码树单元(CTU)、视频单元的编解码树块(CTB)、视频单元的虚拟管线数据单元(VPDU)、或视频单元的预定义区域尺寸内启用重置或初始化过程。
示例25.根据示例24所述的方法,
其中,在对视频单元的新CTU,和/或视频单元的编解码单元(CU)、预测单元(PU)、变换单元(TU)、编解码块(CB)、变换块(TB)、或预测块(PB)进行编码或解码之前,启用重置或初始化过程,
其中,新CTU或CU或PU或TU或CB或TB或PB的左上样点的y坐标位于视频单元的CTU的一半处,并且
其中,新CTU或CU或PU或TU或CB或TB或PB的左上样点的x坐标为零。
示例26.根据示例24所述的方法,
其中,在对视频单元的新CTU,和/或视频单元的编解码单元(CU)、预测单元(PU)、变换单元(TU)、编解码块(CB)、变换块(TB)、或预测块(PB)进行编码或解码之前,启用重置或初始化过程,
其中,新CTU或CU或PU或TU或CB或TB或PB的左上样点的x坐标位于视频单元的CTU的一半处,并且
其中,新CTU或CU或PU或TU或CB或TB或PB的左上样点的y坐标为零。
示例27.根据示例24所述的方法,
其中,在对视频单元的新CTU,和/或视频单元的编解码单元(CU)、预测单元(PU)、变换单元(TU)、编解码块(CB)、变换块(TB)、或预测块(PB)进行编码或解码之前,启用重置或初始化过程,
其中,新CTU或CU或PU或TU或CB或TB或PB的左上样点的y坐标位于视频单元CTU的一半或等于零,并且
其中,新CTU或CU或PU或TU或CB或TB或PB的左上样点的x坐标为零。
示例28.根据示例24所述的方法,
其中,在对视频的视频单元的新CTU,和/或视频单元的编解码单元(CU)、预测单元(PU)、变换单元(TU)、编解码块(CB)、变换块(TB)、或预测块(PB)进行编码或解码之前,启用重置或初始化过程,
其中,新CTU或CU或PU或TU或CB或TB或PB的左上样点的x坐标位于视频单元CTU的一半或等于零,并且
其中,新CTU或CU或PU或TU或CB或TB或PB的左上样点的y坐标为零。
示例29.根据示例23所述的方法,其中,解码信息包括与视频单元相关联的当前视频块的位置。
示例30.根据示例29所述的方法,其中,相对于当前条带或片或砖块或图片的视频单元的左上样点的坐标为(x,y),并且其中,该确定是否启用重置或初始化过程是基于x坐标和/或y坐标的。
示例31.根据示例30所述的方法,其中,视频单元包括编解码单元、编解码块、预测单元、预测块、变换单元、变换块、视频单元的虚拟管线数据单元(VPDU)、编解码树单元(CTU)、编解码树块(CTB)、或预定义区域。
示例32.根据示例30-31中的任一项所述的方法,其中,当(x%M)和/或(y%N)等于零时,启用重置或初始化过程,其中,%是取模运算符。
示例33.根据示例30-31中的任一项所述的方法,其中,当(M–x%M))不大于K0和/或(N–(y%N))不大于K1时,启用重置或初始化过程,其中,%是取模运算符。
示例34.根据示例30-31中的任一项所述的方法,其中,当(M–(x%M))等于K0和/或(N–(y%N))等于K1时,启用重置或初始化过程,其中,%是取模运算符。
示例35.根据示例32-34中的任一项所述的方法,
其中,M是CTU或CTB的宽度,或者
其中,M是(1/S*CTU或CTB的宽度),
其中,S是正整数。
示例36.根据示例32-34中的任一项所述的方法,
其中,N是CTU或CTB的高度,或者
其中,N是(1/S*CTU或CTB的高度),
其中,S是正整数。
示例37.根据示例32-34中的任一项所述的方法,
其中,K0和K1等于4或8,或者分别等于最小编解码单元(CU)的宽度和高度,或者分别等于最小预测单元(PU)的宽度和高度,或者分别等于最小变换单元(TU)的宽度和高度,或者分别等于最小编解码块(CB)的宽度和高度。
示例38.根据示例30-31中的任一项所述的方法,
其中,当x%WCTU等于零且y%HCTU等于0时,或者当(WCTU–(x%WCTU)小于或等于4且(HCTU–(y%HCTU)小于或等于4时,启用重置或初始化过程,
其中,%是取模运算符,并且
其中,WCTU和HCTU分别是CTU的宽度和高度。
示例39.根据示例30-31中的任一项所述的方法,
其中,当x%(WCTU>>1)等于0且y%HCTU等于0时,启用重置或初始化过程,
其中,%是取模运算符,
其中,WCTU和HCTU分别是CTU的宽度和高度,并且
其中,>>是右移运算符。
示例40.根据示例30-31中的任一项所述的方法,
其中,x%WCTU等于0且y%(HCTU>>1)等于0时,启用重置或初始化过程,
其中,%是取模运算符,
其中,WCTU和HCTU分别是CTU的宽度和高度,并且
其中,>>是右移运算符。
示例41.根据示例23所述的方法,其中,解码信息指示已被编解码的编解码单元(CU)的数目、或预测单元(PU)的数目、或变换单元(TU)的数目。
示例42.根据示例1-41中的任一项所述的方法,其中,该转换包括:将视频编码为编解码表示。
示例43.根据示例1-41中的任一项所述的方法,其中,该转换包括:对编解码表示进行解码以生成视频的像素值。
示例44.一种视频解码装置,包括:处理器,该处理器被配置为实现根据示例1至43中的一个或多个所述的方法。
示例45.一种视频编码装置,包括:处理器,该处理器被配置为实现根据示例1至43中的一个或多个所述的方法。
示例46.一种计算机程序产品,其上存储有计算机代码,该代码在由处理器执行时使处理器实现根据示例1至43中任一项所述的方法。
章节C
示例1.一种视频处理方法,包括:
执行包括视频单元的视频和该视频的编解码表示之间的转换,
其中,在利用帧内预测模式对该视频单元进行编码或解码后,根据规则选择性地更新一个或多个频率表和/或一个或多个已排序的帧内预测模式(IPM)表,
其中,一个或多个频率表包括关于在转换中用于处理视频单元的帧内预测模式的频率的信息,
其中,频率指示用于转换的帧内预测模式的出现,并且
其中,一个或多个已排序的IPM表指示在处理中使用的帧内预测模式。
示例2.根据示例1所述的方法,其中,该规则规定仅当帧内预测模式是帧内模式时,才更新一个或多个频率表和一个或多个已排序的IPM表。
示例3.根据示例1所述的方法,其中,该规则规定当帧内预测模式不是帧内模式时,不允许更新一个或多个频率表和一个或多个已排序的IPM表。
示例4.根据示例1所述的方法,其中,该规则规定当帧内预测模式是基于矩阵的帧内预测(MIP)模式时,更新一个或多个频率表和一个或多个已排序的IPM表。
示例5.根据示例1所述的方法,其中,该规则规定当帧内预测模式是基于矩阵的帧内预测(MIP)模式时,不允许更新一个或多个频率表和一个或多个已排序的IPM表。
示例6.根据示例4所述的方法,其中,当将MIP模式转换为帧内预测模式时,更新一个或多个频率表和一个或多个已排序的IPM表。
示例7.根据示例1所述的方法,其中,该规则规定在对以帧内子分割(ISP)模式编解码的视频单元进行解码之后,不更新一个或多个频率表和一个或多个已排序的IPM表。
示例8.根据示例1所述的方法,其中,该规则规定在对以帧内子分割(ISP)模式编解码的视频单元进行解码之后,更新一个或多个频率表和一个或多个已排序的IPM表。
示例9.根据示例8所述的方法,其中,在对视频单元进行完全解码之后,对一个或多个频率表和一个或多个已排序的IPM表进行一次更新。
示例10.根据示例8所述的方法,其中,在对视频单元的一个子分割进行解码之后,对一个或多个频率表和一个或多个已排序的IPM表进行一次更新。
示例11.根据示例1所述的方法,其中,该规则规定在使用块差分脉冲编解码调制(BDPCM)模式或残差差分脉冲编解码调制(RDPCM)模式对视频单元进行编码或解码之后,更新一个或多个频率表和一个或多个已排序的IPM表。
示例12.根据示例1所述的方法,其中,该规则规定在使用块差分脉冲编解码调制(BDPCM)模式或残差差分脉冲编解码调制(RDPCM)模式对视频单元进行编码或解码之后,不更新一个或多个频率表和一个或多个已排序的IPM表。
示例13.根据示例1所述的方法,其中,该规则规定在使用在选择的帧内预测模式集合中不包括的帧内预测模式对视频单元进行编码或解码之后,不更新一个或多个频率表和一个或多个已排序的IPM表。
示例14.根据示例1所述的方法,其中,该规则规定在使用除帧内模式以外的预测模式对视频单元进行编码或解码之后,更新一个或多个频率表和一个或多个已排序的IPM表。
示例15.根据示例14所述的方法,其中,该帧内模式包括帧间模式、帧内块复制(IBC)模式、或调色板模式。
示例16.根据示例14所述的方法,其中,该规则规定响应于在对视频单元进行编解码时生成的帧内预测信号来更新一个或多个频率表和一个或多个已排序的IPM表。
示例17.根据示例16所述的方法,其中,视频单元以组合帧内帧间预测(CIIP)模式被编解码。
示例18.根据示例14所述的方法,其中,该规则规定响应于在对视频单元进行编解码时不生成帧内预测信号,而不允许更新一个或多个频率表和一个或多个已排序的IPM表。
示例19.根据示例18所述的方法,其中,该规则进一步规定使用一个或多个帧内预测模式的默认集合来更新一个或多个频率表和一个或多个已排序的IPM表。
示例20.根据示例1所述的方法,
其中,该规则进一步规定基于被选择用于编码或解码视频单元的帧内预测模式来更新一个或多个频率表。
示例21.根据示例20所述的方法,
其中,用于对视频的先前视频单元进行编码或解码的帧内预测模式的频率为Fn(Mi),
其中,帧内预测模式是Mi,
其中,先前视频单元在时间上先于该视频单元,
其中,该规则规定在对该视频单元进行编码或解码之后,将帧内预测模式的频率更新为Fn+1(Mi)=Fn(Mi)+K,并且
其中,K和n是整数。
示例22.根据示例21所述的方法,其中,将K设置为1。
示例23.根据示例21所述的方法,其中,将K设置为大于1的值。
示例24.根据示例21所述的方法,其中,将K设置为等于(1<<A)的值,其中,A是整数值,并且其中,<<是左移位运算符。
示例25.根据示例21所述的方法,其中,将K设置为大于该一个或多个频率表中的频率表中的条目数的整数值。
示例26.根据示例21所述的方法,其中,K基于初始值集合。
示例27.根据示例26所述的方法,其中,将K设置为(P*初始值集合的最大值),其中,P是正整数值。
示例28.根据示例21所述的方法,其中,K的值是基于视频单元的帧内预测模式和/或块类型。
示例29.根据示例28所述的方法,其中,将K设置为大于允许的帧内预测模式数目的整数值。
示例30.根据示例28所述的方法,其中,K等于(P*允许的帧内预测模式的数目),其中,P是正整数值。
示例31.根据示例21所述的方法,其中,K的值是基于表更新的次数。
示例32.根据示例21所述的方法,其中,K的值是基于变量n。
示例33.根据示例21所述的方法,其中,基于视频单元的解码器信息,K的值是可确定的。
示例34.根据示例33所述的方法,其中,解码器信息指示帧内预测模式。
示例35.根据示例20所述的方法,
其中,该视频的先前视频单元的帧内预测模式的频率为Fn(Mi),
其中,帧内预测模式是Mi,
其中,先前视频单元在时间上先于该视频单元,
其中,该规则规定在使用帧内预测模式(Mi)对视频单元进行编码或解码之后,其他帧内预测模式的其他频率(Fn+1(Mj))保持不变,
其中,Fn+1(Mj)=Fn(Mj),
其中,该其他帧内预测模式不同于该帧内预测模式,并且
其中,n是整数。
示例36.根据示例35所述的方法,其中,该规则规定与除了该帧内预测模式之外的其他帧内预测模式中的一些模式相关联的频率被改变,并且其中,除了其他帧内预测模式中的一些模式之外的其余帧内预测模式的频率保持不变。
示例37.根据示例20所述的方法,其中,该规则规定基于输入类别索引和该输入类别索引的相关联的频率来更新该一个或多个频率表。
示例38.根据示例37所述的方法,其中,该输入类别索引包括具有该视频单元的当前块的解码的帧内预测模式的映射的类别索引。
示例39.根据示例37所述的方法,其中,来自一个或多个频率表的频率表的长度小于允许的帧内预测模式的数目。
示例40.根据示例39所述的方法,其中,该频率表的长度被设置为允许的最可能模式(MPM)的数目。
示例41.根据示例39所述的方法,其中,当要用输入模式更新频率表时,响应于输入模式的频率先前被包括在频率表中,而相应地更新输入模式的频率。
示例42.根据示例39所述的方法,其中,当要用输入模式更新频率表时,响应于输入模式的频率先前未被包括在频率表中,而将具有最低频率的另一帧内预测模式被替换为输入模式的频率。
示例43.根据示例42所述的方法,其中,该一个或多个已排序IPM表中的已排序的IPM表将另一帧内预测模式替换为输入模式。
示例44.根据示例1所述的方法,
其中,该规则规定更新一个或多个频率表中的频率表,
其中,根据更新后的频率表中与多个帧内预测模式相关联的频率,对一个或多个已排序的IPM表中的已排序的IPM表进行排序,并且
其中,多个帧内预测模式包括该帧内预测模式。
示例45.根据示例44所述的方法,其中,在更新频率表之后,根据多个帧内预测模式的频率的值以降序对频率表进行排序。
示例46.根据示例44所述的方法,其中,基于与添加到频率表中的最后一个条目的频率表中的帧内预测模式相关联的当前条目,对频率表进行排序。
示例47.根据示例44所述的方法,其中,基于与添加到频率表中的第一个条目的频率表中的帧内预测模式相关联的当前条目,对频率表进行排序。
示例48.根据示例44所述的方法,其中,在更新频率表和已排序的IPM表之后,应用前向搜索技术,直到找到满足Fn+1(Mj)>Fn+1(Mi)>=Fn+1(Mj-1)的一个帧内预测模式(Mj),其中,Mi是帧内预测模式,并且其中,与Mi相关联的频率是Fn+1(Mi)。
示例49.根据示例44所述的方法,其中,在找到满足条件的一个帧内预测模式时终止对频率表的排序。
示例50.根据示例49所述的方法,其中,在更新频率表之后,应用一次前向搜索技术以找到满足以下条件的一个帧内预测模式(Mj):Fn+1(Mj)>=Fn+1(Mi)>=Fn+1(Mj-1),其中,Mi是帧内预测模式,并且其中,与Mi相关联的频率是Fn+1(Mi)。
示例51.根据示例44所述的方法,其中,顺序表记录该多个帧内预测模式的顺序,并且其中,从该顺序表获得帧内预测模式(Mi)的顺序。
示例52.根据示例44所述的方法,其中,该频率表的至少一些条目用于对频率表进行排序。
示例53.根据示例52所述的方法,其中,在对频率表进行排序和更新时,在比较过程中使用该频率表的前L个元素。
示例54.根据示例1所述的方法,其中,一个或多个频率表存储视频单元的辅助信息。
示例55.根据示例54所述的方法,其中,辅助信息包括对其应用了帧内预测模式的视频单元的位置信息。
示例56.根据示例55所述的方法,其中,该位置信息包括起始坐标和/或块尺寸。
示例57.根据示例56所述的方法,其中,该起始坐标是相对于所述视频单元或编解码树单元(CTU)或条带的。
示例58.根据示例55所述的方法,其中,在对与视频块相关联的帧内块进行编码或解码之后,更新帧内预测模式的频率和位置信息。
示例59.根据示例58所述的方法,其中,将帧内预测模式(Mi)的频率Fn+1(Mi)更新为Fn+1(Mi)=Fn(Mi)+K,其中,K是整数。
示例60.根据示例58所述的方法,其中,与帧内预测模式相关联的位置信息被视频的最新编码或解码的视频块替换。
示例61.根据示例55所述的方法,其中,在对视频的新视频块进行编码或解码之前,根据位置信息对频率表进行排序。
示例62.根据示例60所述的方法,其中,该频率表是根据当前位置与存储在频率表中的位置信息之间的欧几里得距离来排序的。
示例63.根据示例1所述的方法,其中,该规则规定利用其更新一个或多个频率表、一个或多个已排序的IPM表、和/或一个或多个基于历史的运动矢量预测(HVMP)表的技术是基于视频单元的解码信息。
示例64.根据示例63所述的方法,其中,该规则规定针对视频单元的区域内的视频块,更新一个或多个频率表、一个或多个已排序的IPM表、和/或一个或多个基于历史的运动矢量预测(HVMP)表。
示例65.根据示例64所述的方法,
其中,该区域小于编解码树单元(CTU)、编解码树块(CTB)、虚拟管线数据单元(VPDU),并且
其中,该区域覆盖多个编解码单元(CU)。
示例66.根据示例63所述的方法,其中,该解码信息包括视频单元的位置。
示例67.根据示例66所述的方法,其中,该位置包括相对于当前图片或编解码树单元(CTU)、虚拟管线数据单元(VPDU)、或预定义区域的视频单元左上样点的相对位置。
示例68.根据示例67所述的方法,其中,视频单元的左上样点的坐标为(x,y),并且其中,对一个或多个频率表、一个或多个已排序的IPM表、和/或HMVP表启用重置或初始化过程是基于坐标(x,y)是否满足条件。
示例69.根据示例67所述的方法,其中,视频单元包括编解码单元(CU)、预测单元(PU)、变换单元(TU)、虚拟管线数据单元(VPDU)、编解码树单位(CTU)、或预定义区域尺寸,并且其中,坐标(x,y)是相对于当前条带、片、砖块、或图片确定的。
示例70.根据示例67所述的方法,其中,当(x%M)等于K0和/或(y%N)等于K1时启用重置或初始化过程,其中%是取模运算符。
示例71.根据示例67所述的方法,其中,当(M–(x%M))大于K0和/或(N–(y%N))大于K1时,启用重置或初始化过程,其中,%是取模运算符。
示例72.根据示例67所述的方法,其中,当(M–(x%M))等于K0和/或(N–(y%N))等于K1时,启用重置或初始化过程,其中,%是取模运算符。
示例73.根据示例67所述的方法,其中,当(x%W)等于0且(y%H)等于0,或当(W-(x%W)>=A0且H-(y%H)>=A1)时,启用重置或初始化过程,其中,A0和A1是正整数,其中,%是取模运算符。
示例74.根据示例73所述的方法,其中,A0或A1为4或8。
示例75.根据示例70-72中的任一项所述的方法,其中,M是编解码树单元(CTU)或编解码树块的宽度,或者其中,M是1/S*CTU或CTB的宽度,其中,S是正整数。
示例76.根据示例70-72中的任一项所述的方法,其中,N是编解码树单元(CTU)或编解码树块的高度,或者其中,N是1/S*CTU或CTB的高度,其中,S是正整数。
示例77.根据示例70-72中的任一项所述的方法,其中,K0和K1等于4或8、或分别等于最小编解码单元(CU)的宽度和高度、或分别等于最小预测单元(PU)的宽度和高度、或分别等于最小转换单元(TU)的宽度和高度,或分别等于最小编解码块(CB)的宽度和高度。
示例78.根据示例63所述的方法,其中,该规则规定在对该视频单元进行编码或解码之后,更新一个或多个频率表和/或一个或多个已排序的IPM表。
示例79.根据示例78所述的方法,其中,视频单元包括编解码单元(CU)、预测单元(PU)、变换单元(TU)、虚拟管线数据单元(VPDU)、编解码树单元(CTU)、或预定义区域。
示例80.根据示例63所述的方法,其中,解码信息包括已使用帧内预测模式编解码的编解码单元(CU)的数目量、预测单元(PU)的数目、变换单元(TU)的数目。
示例81.根据示例63所述的方法,其中,该规则规定,对于包括编解码单元(CU)内的多个预测单元(PU)或变换单元(TU)的视频单元,在CU内的某个预测单元(PU)或变换单元(TU)之后,更新一个或多个频率表、一个或多个已排序的IPM表、和/或一个或多个基于历史的运动矢量预测(HVMP)表。
示例82.根据示例63所述的方法,其中,该规则规定,对于在编解码单元(CU)内包括多个预测单元(PU)或变换单元(TU)的视频单元,在CU内的每个预测单元(PU)或每个变换单元(TU)之后,更新一个或多个频率表、一个或多个已排序的IPM表、和/或一个或多个基于历史的运动矢量预测(HVMP)表。
示例83.根据示例1-82中的任一项所述的方法,其中,该转换包括将视频编码为编解码表示。
示例84.根据示例1-82中的任一项所述的方法,其中,该转换包括对编解码表示进行解码以生成视频的像素值。
示例85.一种视频解码装置,包括:处理器,被配置为实现根据示例1至84中的一项或多项所述的方法。
示例86.一种视频编码装置,包括:处理器,被配置为实现根据示例1至84中的一项或多项所述的方法。
示例87.一种计算机程序产品,其上存储有计算机代码,该代码在由处理器执行时使该处理器实现根据示例1至84中任一项所述的方法。
根据前述内容,可以理解的是,出于说明的目的,本文已经描述了当前公开的技术的特定实施例,但是在不脱离本发明的范围的情况下可以进行各种修改。因此,除了所附权利要求书外,当前公开的技术不受限制。
本文中公开的和其他描述的解决方案、示例、实施例、模块和功能操作可以在数字电子电路、或计算机软件、固件或硬件中实现,包括本文中所公开的结构及其结构等效体,或其中一个或多个的组合。公开的实施例和其他实施例可以实现为一个或多个计算机程序产品,即一个或多个编码在计算机可读介质上的计算机程序指令的模块,以供数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储设备、影响机器可读传播信号的物质组成或其中一个或多个的组合。术语“数据处理装置”包括用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多处理器或计算机组。除硬件外,该装置还可以包括为计算机程序创建执行环境的代码,例如,构成处理器固件的代码、协议栈、数据库管理***、操作***或其中一个或多个的组合。传播信号是人为产生的信号,例如机器产生的电信号、光学信号或电磁信号,生成这些信号以对信息进行编码,以便传输到适当的接收装置。
本文中公开的和其他描述的解决方案、示例、实施例、模块和功能操作可以在数字电子电路、或计算机软件、固件或硬件中实现,包括本文中所公开的结构及其结构等效体,或其中一个或多个的组合。公开的实施例和其他实施例可以实现为一个或多个计算机程序产品,即一个或多个编码在计算机可读介质上的计算机程序指令的模块,以供数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储设备、影响机器可读传播信号的物质组成或其中一个或多个的组合。术语“数据处理装置”包括用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多处理器或计算机组。除硬件外,该装置还可以包括为计算机程序创建执行环境的代码,例如,构成处理器固件的代码、协议栈、数据库管理***、操作***或其中一个或多个的组合。传播信号是人为产生的信号,例如机器产生的电信号、光学信号或电磁信号,生成这些信号以对信息进行编码,以便传输到适当的接收装置。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言(包括编译语言或解释语言)编写,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子程序或其他适合在计算环境中使用的单元。计算机程序不一定与文件***中的文件对应。程序可以存储在保存其他程序或数据的文件的部分中(例如,存储在标记语言文档中的一个或多个脚本)、专用于该程序的单个文件中、或多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。计算机程序可以部署在一台或多台计算机上来执行,这些计算机位于一个站点上或分布在多个站点上,并通过通信网络互连。
本文中描述的处理和逻辑流可以通过一个或多个可编程处理器执行,该处理器执行一个或多个计算机程序,通过在输入数据上操作并生成输出来执行功能。处理和逻辑流也可以通过特殊用途的逻辑电路来执行,并且装置也可以实现为特殊用途的逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
例如,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型数字计算机的任何一个或多个。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是执行指令的处理器和存储指令和数据的一个或多个存储设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,或通过操作耦合到一个或多个大容量存储设备来从其接收数据或将数据传输到一个或多个大容量存储设备,或两者兼有。然而,计算机不一定具有这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光磁盘;以及CDROM和DVD-ROM光盘。处理器和存储器可以由专用逻辑电路来补充,或合并到专用逻辑电路中。
虽然本专利文件包含许多细节,但不应将其解释为对任何实现或权利要求范围的限制,而应解释为对特定实施例的特征的描述。本专利文件在单独实施例的上下文描述的一些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种功能也可以在多个实施例中单独实施,或在任何合适的子组合中实施。此外,尽管上述特征可以描述为在一些组合中起作用,甚至最初要求是这样,但在一些情况下,可以从组合中移除权利要求组合中的一个或多个特征,并且权利要求的组合可以指向子组合或子组合的变体。
同样,尽管附图中以特定顺序描述了操作,但这不应理解为要获得想要的结果必须按照所示的特定顺序或顺序执行此类操作,或执行所有说明的操作。此外,本专利文件实施例中各种***组件的分离不应理解为在所有实施例中都需要这样的分离。
仅描述了一些实现和示例,其他实现、增强和变体可以基于本专利文件中描述和说明的内容做出。
Claims (46)
1.一种视频处理方法,包括:
执行包括多个视频单元的视频与所述视频的编解码表示之间的转换,其中,依次处理所述多个视频单元,
其中,当在所述转换中处理所述多个视频单元中的一个视频单元时,一个或多个频率表和/或一个或多个已排序的帧内预测模式(IPM)表被重置或初始化,
其中,所述一个或多个频率表包括关于用于处理所述多个视频单元中的先前视频单元的一个或多个帧内预测模式的频率的信息,
其中,所述先前视频单元在时间上先于该视频单元,
其中,所述频率指示用于所述转换的所述一个或多个帧内预测模式的出现,并且
其中,所述一个或多个已排序的IPM表指示在所述处理中使用的所述一个或多个帧内预测模式。
2.根据权利要求1所述的方法,其中,所述视频单元包括编解码树单元(CTU)的子区域。
3.根据权利要求1所述的方法,其中,所述CTU的子区域包括虚拟管线数据单元(VPDU)、另一CTU、编解码树块(CTB)、多个CTU、多个编解码单元(CU)、CTU行、片、砖块、条带、图片、或子图片。
4.根据权利要求1所述的方法,其中,将所述一个或多个已排序的IPM表重置或初始化为与按索引的升序排列的帧内预测模式允许集合相同。
5.根据权利要求1所述的方法,其中,将所述一个或多个已排序的IPM表重置或初始化为与按索引的降序排列的帧内预测模式允许集合相同。
6.根据权利要求5所述的方法,其中,所述一个或多个已排序的IPM表首先包括多个默认最可能模式(MPM),随后是除了所述多个默认MPM之外的其余帧内预测模式。
7.根据权利要求6所述的方法,其中,所述多个默认MPM包括以下模式集合:{垂直模式、水平模式、偏移为-4的垂直模式、偏移为+4的垂直模式、模式2、对角线模式}。
8.根据权利要求6所述的方法,其中,所述多个默认MPM包括以下模式集合:{平面模式、直流(DC)模式、垂直模式、水平模式、模式2、和对角线模式}。
9.根据权利要求7-8中的任一项所述的方法,其中,所述对角线模式是具有最大索引的帧内预测模式。
10.根据权利要求6所述的方法,其中,所述多个默认MPM以不同顺序被包括在所述一个或多个已排序的IPM表中。
11.根据权利要求6所述的方法,其中,所述多个默认MPM的标识以及利用其将所述多个默认MPM添加到所述一个或多个已排序的IPM表中的技术是基于所述视频的块类型或所述视频单元的解码信息。
12.一种视频处理方法,包括:
执行包括多个视频单元的视频与所述视频的编解码表示之间的转换,其中,依次处理所述多个视频单元,
其中,所述转换包括使用频率表中一个或多个条目的一个或多个特定值来重置或初始化所述频率表,
其中,所述频率表包括关于在所述转换中用于处理所述多个视频单元的一个或多个帧内预测模式的频率的信息,并且,
其中,所述频率指示用于所述转换的所述一个或多个帧内预测模式的出现。
13.根据权利要求12所述的方法,其中,与所述一个或多个帧内预测模式相对应的所述一个或多个特定值被设置为相同值。
14.根据权利要求13所述的方法,其中,所述相同值被设置为N,并且其中,N是整数。
15.根据权利要求14所述的方法,其中,N等于零。
16.根据权利要求12所述的方法,其中,将与所述一个或多个帧内预测模式相对应的所述一个或多个特定值设置为一个或多个唯一值,其中,每个帧内预测模式与唯一值相关联。
17.根据权利要求12所述的方法,其中,与所述一个或多个帧内预测模式相对应的所述一个或多个特定值包括对于至少两个帧内预测模式的第一集合相同的至少两个值的第一集合以及对于至少两个帧内预测模式的第二集合不同的至少两个值的第二集合。
18.根据权利要求12所述的方法,其中,用K表示允许的最可能模式(MPM)的数目,并且其中,定义了默认MPM列表。
19.根据权利要求18所述的方法,其中,将从所述默认MPM列表中排除的第i个帧内预测模式的初始化值设置为(M-1-i),其中,M是整数。
20.根据权利要求18所述的方法,其中,将第j个帧内预测模式的初始化值设置为M+f(j),其中,f(j)返回正整数值,其中,M是整数,并且其中,j在包括0和K-1的0至K-1的范围内。
21.根据权利要求20所述的方法,其中,将f(j)设置为(K-j)。
22.根据权利要求12所述的方法,其中,预先定义了所述频率表内多个条目的多个特定值集合,并且其中,基于所述多个视频单元的编解码信息,从所述频率表中为条目集合选择特定值集合。
23.一种视频处理方法,包括:
执行包括多个视频单元的视频与所述视频的编解码表示之间的转换,其中,依次处理所述多个视频单元;以及
在对所述多个视频单元中的视频单元执行所述转换之后,确定:(1)是否对频率表、已排序的帧内预测模式(IPM)表、和/或基于历史的运动预测(HMVP)表启用重置或初始化过程,和/或(2)利用其重置或初始化所述频率表、所述已排序的IPM表和/或所述HMVP表的技术,
其中,所述确定是基于除了解码的帧内预测模式的所述视频单元的解码信息,
其中,所述频率表包括关于用于在所述转换中处理所述多个视频单元中的先前视频单元的一个或多个帧内预测模式的频率的信息,
其中,所述先前视频单元在时间上先于该视频单元,
其中,所述频率指示用于所述转换的所述一个或多个帧内预测模式的出现,并且
其中,所述已排序的IPM表指示在所述处理中使用的所述一个或多个帧内预测模式。
24.根据权利要求23所述的方法,其中,在所述视频单元的编解码树单元(CTU)、所述视频单元的编解码树块(CTB)、所述视频单元的虚拟管线数据单元(VPDU)、或所述视频单元的预定义区域尺寸内启用所述重置或初始化过程。
25.根据权利要求24所述的方法,
其中,在对所述视频单元的新CTU,和/或所述视频单元的编解码单元(CU)、预测单元(PU)、变换单元(TU)、编解码块(CB)、变换块(TB)、或预测块(PB)进行编解码或解码之前,启用所述重置或初始化过程,
其中,所述新CTU或CU或PU或TU或CB或TB或PB的左上样点的y坐标位于所述视频单元的CTU的一半处,并且
其中,所述新CTU或CU或PU或TU或CB或TB或PB的所述左上样点的x坐标为零。
26.根据权利要求24所述的方法,
其中,在对所述视频单元的新CTU,和/或所述视频单元的编解码单元(CU)、预测单元(PU)、变换单元(TU)、编解码块(CB)、变换块(TB)、或预测块(PB)进行编解码或解码之前,启用所述重置或初始化过程,
其中,所述新CTU或CU或PU或TU或CB或TB或PB的左上样点的x坐标位于所述视频单元的CTU的一半处,并且
其中,所述新CTU或CU或PU或TU或CB或TB或PB的所述左上样点的y坐标为零。
27.根据权利要求24所述的方法,
其中,在对所述视频单元的新CTU,和/或所述视频单元的编解码单元(CU)、预测单元(PU)、变换单元(TU)、编解码块(CB)、变换块(TB)、或预测块(PB)进行编解码或解码之前,启用所述重置或初始化过程,
其中,所述新CTU或CU或PU或TU或CB或TB或PB的左上样点的y坐标位于所述视频单元CTU的一半或等于零,并且
其中,所述新CTU或CU或PU或TU或CB或TB或PB的所述左上样点的x坐标为零。
28.根据权利要求24所述的方法,
其中,在对所述视频的所述视频单元的新CTU,和/或所述视频单元的编解码单元(CU)、预测单元(PU)、变换单元(TU)、编解码块(CB)、变换块(TB)、或预测块(PB)进行编解码或解码之前,启用所述重置或初始化过程,
其中,所述新CTU或CU或PU或TU或CB或TB或PB的左上样点的x坐标位于所述视频单元CTU的一半或等于零,并且
其中,所述新CTU或CU或PU或TU或CB或TB或PB的所述左上样点的y坐标为零。
29.根据权利要求23所述的方法,其中,所述解码信息包括与所述视频单元相关联的当前视频块的位置。
30.根据权利要求29所述的方法,其中,相对于当前条带或片或砖块或图片的所述视频单元的左上样点的坐标为(x,y),并且其中,所述确定是否启用所述重置或初始化过程是基于x坐标和/或y坐标。
31.根据权利要求30所述的方法,其中,所述视频单元包括编解码单元、编解码块、预测单元、预测块、变换单元、变换块、视频单元的虚拟管线数据单元(VPDU)、编解码树单元(CTU)、编解码树块(CTB)、或预定义区域。
32.根据权利要求30-31中的任一项所述的方法,其中,当(x%M)和/或(y%N)等于零时,启用所述重置或初始化过程,其中,%是取模运算符。
33.根据权利要求30-31中的任一项所述的方法,其中,当(M–(x%M))不大于K0和/或(N–(y%N))不大于K1时,启用所述重置或初始化过程,其中,%是取模运算符。
34.根据权利要求30-31中的任一项所述的方法,其中,当(M–(x%M))等于K0和/或(N–(y%N))等于K1时,启用所述重置或初始化过程,其中,%是取模运算符。
35.根据权利要求32-34中的任一项所述的方法,
其中,M是CTU或CTB的宽度,或者
其中,M是(1/S*CTU或CTB的宽度),
其中,S是正整数。
36.根据权利要求32-34中的任一项所述的方法,
其中,N是CTU或CTB的高度,或者
其中,N是(1/S*CTU或CTB的高度),
其中,S是正整数。
37.根据权利要求32-34中的任一项所述的方法,
其中,K0和K1等于4或8,或者分别等于最小编解码单元(CU)的宽度和高度,或者分别等于最小预测单元(PU)的宽度和高度,或者分别等于最小变换单元(TU)的宽度和高度,或者分别等于最小编解码块(CB)的宽度和高度。
38.根据权利要求30-31中的任一项所述的方法,
其中,当x%WCTU等于零且y%HCTU等于0时,或者当(WCTU–(x%WCTU)小于或等于4且(HCTU–(y%HCTU)小于或等于4时,启用所述重置或初始化过程,
其中,%是取模运算符,并且
其中,WCTU和HCTU分别是CTU的宽度和高度。
39.根据权利要求30-31中的任一项所述的方法,
其中,当x%(WCTU>>1)等于0且y%HCTU等于0时,启用所述重置或初始化过程,
其中,%是取模运算符,
其中,WCTU和HCTU分别是CTU的宽度和高度,并且
其中,>>是右移运算符。
40.根据权利要求30-31中的任一项所述的方法,
其中,x%WCTU等于0且y%(HCTU>>1)等于0时,启用所述重置或初始化过程,
其中,%是取模运算符,
其中,WCTU和HCTU分别是CTU的宽度和高度,并且
其中,>>是右移运算符。
41.根据权利要求23所述的方法,其中,所述解码信息指示已被编解码的编解码单元(CU)的数目、或预测单元(PU)的数目、或变换单元(TU)的数目。
42.根据权利要求1-41中的任一项所述的方法,其中,所述转换包括:将所述视频编解码为所述编解码表示。
43.根据权利要求1-41中的任一项所述的方法,其中,所述转换包括:对所述编解码表示进行解码以生成所述视频的像素值。
44.一种视频解码装置,包括:处理器,被配置为实施根据权利要求1至43中的一项或多项所述的方法。
45.一种视频编解码装置,包括:处理器,被配置为实施根据权利要求1至43中的一项或多项所述的方法。
46.一种计算机程序产品,其上存储有计算机代码,该代码在由处理器执行时使所述处理器实施根据权利要求1至43中任一项所述的方法。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2019101443 | 2019-08-19 | ||
CNPCT/CN2019/101443 | 2019-08-19 | ||
CNPCT/CN2019/103075 | 2019-08-28 | ||
CN2019103075 | 2019-08-28 | ||
CN2019103647 | 2019-08-30 | ||
CNPCT/CN2019/103647 | 2019-08-30 | ||
PCT/CN2020/109961 WO2021032112A1 (en) | 2019-08-19 | 2020-08-19 | Initialization for counter-based intra prediction mode |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114270825A true CN114270825A (zh) | 2022-04-01 |
CN114270825B CN114270825B (zh) | 2024-06-28 |
Family
ID=74659958
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080057707.XA Pending CN114287131A (zh) | 2019-08-19 | 2020-08-19 | 基于计数器的帧内预测模式的更新 |
CN202080058247.2A Active CN114270825B (zh) | 2019-08-19 | 2020-08-19 | 基于计数器的帧内预测模式的初始化 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080057707.XA Pending CN114287131A (zh) | 2019-08-19 | 2020-08-19 | 基于计数器的帧内预测模式的更新 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11917196B2 (zh) |
CN (2) | CN114287131A (zh) |
WO (2) | WO2021032112A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020235959A1 (ko) * | 2019-05-22 | 2020-11-26 | 엘지전자 주식회사 | 영상 코딩 시스템에서 bdpcm을 사용하는 영상 디코딩 방법 및 그 장치 |
CN117499628A (zh) * | 2020-03-26 | 2024-02-02 | 阿里巴巴(中国)有限公司 | 用于对视频进行编码或解码的方法和装置 |
US11863752B2 (en) * | 2020-12-28 | 2024-01-02 | Qualcomm Incorporated | Most probable modes for intra prediction for video coding |
US20220337875A1 (en) * | 2021-04-16 | 2022-10-20 | Tencent America LLC | Low memory design for multiple reference line selection scheme |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012173315A1 (ko) * | 2011-06-17 | 2012-12-20 | 엘지전자 주식회사 | 인트라 예측 모드 부호화/복호화 방법 및 장치 |
US20130202036A1 (en) * | 2009-03-31 | 2013-08-08 | Texas Instruments Incorporated | Intra/Inter Mode Decision for Predictive Frame Encoding |
CN104937936A (zh) * | 2013-02-01 | 2015-09-23 | 高通股份有限公司 | 用于帧内预测的模式决策简化 |
WO2016205154A1 (en) * | 2015-06-16 | 2016-12-22 | Microsoft Technology Licensing, Llc | Intra/inter decisions using stillness criteria and information from previous pictures |
US20170347103A1 (en) * | 2016-05-25 | 2017-11-30 | Arris Enterprises Llc | Weighted angular prediction coding for intra coding |
CN107743705A (zh) * | 2015-06-18 | 2018-02-27 | 高通股份有限公司 | 帧内预测及帧内模式译码 |
CN110062227A (zh) * | 2019-03-12 | 2019-07-26 | 浙江大华技术股份有限公司 | 帧内预测模式的编解码方法、装置、设备和可读存储介质 |
Family Cites Families (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010135864A (ja) | 2007-03-29 | 2010-06-17 | Toshiba Corp | 画像符号化方法及び装置並びに画像復号化方法及び装置 |
US9031129B2 (en) | 2007-06-15 | 2015-05-12 | Microsoft Technology Licensing, Llc | Joint spatio-temporal prediction for video coding |
US20090003443A1 (en) | 2007-06-26 | 2009-01-01 | Nokia Corporation | Priority-based template matching intra prediction video and image coding |
JP2011024066A (ja) * | 2009-07-17 | 2011-02-03 | Sony Corp | 画像処理装置および方法 |
WO2012008125A1 (ja) | 2010-07-15 | 2012-01-19 | 三菱電機株式会社 | 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法 |
KR101611409B1 (ko) | 2011-09-28 | 2016-04-14 | 한국전자통신연구원 | 인트라 예측 모드 부호화/복호화 방법 및 장치 |
CN104053007B (zh) * | 2013-03-15 | 2019-05-07 | 乐金电子(中国)研究开发中心有限公司 | 深度图像帧内编码模式索引值配置方法及装置 |
US9674533B2 (en) | 2013-04-05 | 2017-06-06 | Qualcomm Incorporated | Picture alignments in multi-layer video coding |
US9571809B2 (en) | 2013-04-12 | 2017-02-14 | Intel Corporation | Simplified depth coding with modified intra-coding for 3D video coding |
KR102135997B1 (ko) | 2013-09-27 | 2020-07-20 | 퀄컴 인코포레이티드 | 심도 인트라 예측 모드들에 대한 잔차 코딩 |
RU2654129C2 (ru) | 2013-10-14 | 2018-05-16 | МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи | Функциональные возможности режима внутреннего предсказания с блочным копированием для кодирования и декодирования видео и изображений |
WO2015101329A1 (en) | 2014-01-02 | 2015-07-09 | Mediatek Singapore Pte. Ltd. | Method and apparatus for intra prediction coding with boundary filtering control |
CN104378643B (zh) * | 2014-12-04 | 2017-11-14 | 南京理工大学 | 一种3d视频深度图像帧内预测模式选择方法及*** |
CN107211121B (zh) | 2015-01-22 | 2020-10-23 | 联发科技(新加坡)私人有限公司 | 视频编码方法与视频解码方法 |
WO2016200984A1 (en) | 2015-06-08 | 2016-12-15 | Vid Scale, Inc. | Intra block copy mode for screen content coding |
US20160373782A1 (en) | 2015-06-18 | 2016-12-22 | Qualcomm Incorporated | Intra prediction and intra mode coding |
US11463689B2 (en) | 2015-06-18 | 2022-10-04 | Qualcomm Incorporated | Intra prediction and intra mode coding |
US10142627B2 (en) | 2015-06-18 | 2018-11-27 | Qualcomm Incorporated | Intra prediction and intra mode coding |
US10841593B2 (en) | 2015-06-18 | 2020-11-17 | Qualcomm Incorporated | Intra prediction and intra mode coding |
US20160373742A1 (en) | 2015-06-18 | 2016-12-22 | Qualcomm Incorporated | Intra prediction and intra mode coding |
WO2017008255A1 (en) | 2015-07-14 | 2017-01-19 | Mediatek Singapore Pte. Ltd. | Advanced intra prediction mode signaling in video coding |
KR20170058837A (ko) * | 2015-11-19 | 2017-05-29 | 한국전자통신연구원 | 화면내 예측모드 부호화/복호화 방법 및 장치 |
WO2017139937A1 (en) | 2016-02-18 | 2017-08-24 | Mediatek Singapore Pte. Ltd. | Advanced linear model prediction for chroma coding |
WO2017143467A1 (en) | 2016-02-22 | 2017-08-31 | Mediatek Singapore Pte. Ltd. | Localized luma mode prediction inheritance for chroma coding |
EP3446480A1 (en) | 2016-04-22 | 2019-02-27 | VID SCALE, Inc. | Prediction systems and methods for video coding based on filtering nearest neighboring pixels |
US10939096B2 (en) | 2016-05-05 | 2021-03-02 | Interdigital Madison Patent Holdings, Sas | Control-point based intra direction representation for intra coding |
EP3453174A1 (en) | 2016-05-06 | 2019-03-13 | VID SCALE, Inc. | Method and system for decoder-side intra mode derivation for block-based video coding |
US10917660B2 (en) | 2017-01-13 | 2021-02-09 | Vid Scale, Inc. | Prediction approaches for intra planar coding |
US10764587B2 (en) | 2017-06-30 | 2020-09-01 | Qualcomm Incorporated | Intra prediction in video coding |
US10965941B2 (en) | 2017-10-09 | 2021-03-30 | Qualcomm Incorporated | Position-dependent prediction combinations in video coding |
KR20190045885A (ko) * | 2017-10-24 | 2019-05-03 | 주식회사 윌러스표준기술연구소 | 비디오 신호 처리 방법 및 장치 |
CN107801024B (zh) | 2017-11-09 | 2019-07-12 | 北京大学深圳研究生院 | 一种用于帧内预测的边界滤波方法 |
US11070847B2 (en) | 2017-12-05 | 2021-07-20 | Qualcomm Incorporated | Intra-prediction with far neighboring pixels |
CN107995489A (zh) | 2017-12-20 | 2018-05-04 | 北京大学深圳研究生院 | 一种用于p帧或b帧的帧内帧间组合预测方法 |
WO2019137732A1 (en) * | 2018-01-12 | 2019-07-18 | Telefonaktiebolaget Lm Ericsson (Publ) | Intra mode coding using mode use statistics to generate mpm list |
CN108366256A (zh) * | 2018-01-25 | 2018-08-03 | 西安电子科技大学 | 一种hevc帧内预测模式快速选择***及方法 |
US11509889B2 (en) * | 2018-06-27 | 2022-11-22 | Kt Corporation | Method and apparatus for processing video signal |
CN110677667B (zh) | 2018-07-02 | 2022-06-07 | 北京字节跳动网络技术有限公司 | 查找表的使用 |
EP3821626A4 (en) * | 2018-08-09 | 2021-08-04 | Huawei Technologies Co., Ltd. | HISTORY-BASED INTRA MODE CODING PROCESS AND APPARATUS |
CN116347109A (zh) | 2018-08-17 | 2023-06-27 | 北京字节跳动网络技术有限公司 | 一种处理视频数据的方法和装置 |
TW202025732A (zh) * | 2018-09-19 | 2020-07-01 | 大陸商北京字節跳動網絡技術有限公司 | 用於幀內編碼的鄰近的相鄰塊的選擇 |
CN113316931B (zh) | 2018-11-22 | 2024-04-12 | 北京字节跳动网络技术有限公司 | 视频处理中的脉冲编解码调制技术 |
US11206413B2 (en) * | 2019-08-13 | 2021-12-21 | Qualcomm Incorporated | Palette predictor updates for local dual trees |
-
2020
- 2020-08-19 CN CN202080057707.XA patent/CN114287131A/zh active Pending
- 2020-08-19 CN CN202080058247.2A patent/CN114270825B/zh active Active
- 2020-08-19 WO PCT/CN2020/109961 patent/WO2021032112A1/en active Application Filing
- 2020-08-19 WO PCT/CN2020/109971 patent/WO2021032113A1/en active Application Filing
-
2022
- 2022-02-22 US US17/651,964 patent/US11917196B2/en active Active
- 2022-02-22 US US17/651,975 patent/US20220182667A1/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130202036A1 (en) * | 2009-03-31 | 2013-08-08 | Texas Instruments Incorporated | Intra/Inter Mode Decision for Predictive Frame Encoding |
WO2012173315A1 (ko) * | 2011-06-17 | 2012-12-20 | 엘지전자 주식회사 | 인트라 예측 모드 부호화/복호화 방법 및 장치 |
CN104937936A (zh) * | 2013-02-01 | 2015-09-23 | 高通股份有限公司 | 用于帧内预测的模式决策简化 |
WO2016205154A1 (en) * | 2015-06-16 | 2016-12-22 | Microsoft Technology Licensing, Llc | Intra/inter decisions using stillness criteria and information from previous pictures |
CN107743705A (zh) * | 2015-06-18 | 2018-02-27 | 高通股份有限公司 | 帧内预测及帧内模式译码 |
US20170347103A1 (en) * | 2016-05-25 | 2017-11-30 | Arris Enterprises Llc | Weighted angular prediction coding for intra coding |
CN110062227A (zh) * | 2019-03-12 | 2019-07-26 | 浙江大华技术股份有限公司 | 帧内预测模式的编解码方法、装置、设备和可读存储介质 |
Non-Patent Citations (1)
Title |
---|
WEIWEI XU: "CE4-related: CTU-level Initialization of History-based Motion Vector Prediction", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 12TH MEETING: MACAO, CN, 3–12 OCT. 2018,JVET-L0575, 12 October 2018 (2018-10-12) * |
Also Published As
Publication number | Publication date |
---|---|
US11917196B2 (en) | 2024-02-27 |
CN114270825B (zh) | 2024-06-28 |
US20220182666A1 (en) | 2022-06-09 |
US20220182667A1 (en) | 2022-06-09 |
WO2021032113A1 (en) | 2021-02-25 |
WO2021032112A1 (en) | 2021-02-25 |
CN114287131A (zh) | 2022-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7250892B2 (ja) | 映像符号化方法及び映像に対するデータの送信方法 | |
US9497477B1 (en) | Method and apparatus for encoding image, and method and apparatus for decoding image | |
US11863760B2 (en) | Video signal processing method and device | |
US11979554B2 (en) | Intra prediction-based video signal processing method and device | |
CN114270825B (zh) | 基于计数器的帧内预测模式的初始化 | |
KR20180059444A (ko) | 영상 코딩 시스템에서 amvr 기반한 영상 코딩 방법 및 장치 | |
CN113287311A (zh) | 两步交叉分量预测模式的指示 | |
JP2022531435A (ja) | 複数のイントラ符号化方法の相互作用 | |
US11870995B2 (en) | Method and device for processing video signal by using cross-component linear model | |
JP2022521911A (ja) | イントラ予測ベースのビデオ信号処理方法及び装置 | |
CN114258679A (zh) | 基于计数器的帧内预测模式 | |
US20240022730A1 (en) | Image encoding/decoding method and device | |
KR20210091208A (ko) | 현재 픽쳐 참조를 이용한 비디오 신호 처리 방법 및 장치 | |
JP2023523638A (ja) | 分割構文のためのエントロピーコーディング | |
US20240259557A1 (en) | Intra prediction-based video signal processing method and device | |
KR20240118089A (ko) | 비디오 신호 처리 방법 및 이를 위한 장치 | |
CN118355657A (zh) | 用于解码器侧帧内模式推导的方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |