CN114630132A - 视频编解码的基于神经网络的环路内滤波器中的模型选择 - Google Patents
视频编解码的基于神经网络的环路内滤波器中的模型选择 Download PDFInfo
- Publication number
- CN114630132A CN114630132A CN202111505591.4A CN202111505591A CN114630132A CN 114630132 A CN114630132 A CN 114630132A CN 202111505591 A CN202111505591 A CN 202111505591A CN 114630132 A CN114630132 A CN 114630132A
- Authority
- CN
- China
- Prior art keywords
- video
- filter model
- filter
- unit
- video unit
- 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
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 225
- 238000000034 method Methods 0.000 claims abstract description 113
- 230000011664 signaling Effects 0.000 claims description 24
- 239000011449 brick Substances 0.000 claims description 23
- 238000013139 quantization Methods 0.000 claims description 20
- 241000023320 Luma <angiosperm> Species 0.000 claims description 18
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 14
- 230000015654 memory Effects 0.000 claims description 12
- 238000005192 partition Methods 0.000 claims description 9
- 230000009977 dual effect Effects 0.000 claims description 3
- 230000033001 locomotion Effects 0.000 description 71
- 238000013527 convolutional neural network Methods 0.000 description 55
- 230000008569 process Effects 0.000 description 23
- 238000012545 processing Methods 0.000 description 23
- 238000001914 filtration Methods 0.000 description 21
- 238000007906 compression Methods 0.000 description 18
- 239000013598 vector Substances 0.000 description 18
- 230000006835 compression Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 17
- 230000002123 temporal effect Effects 0.000 description 16
- 238000005070 sampling Methods 0.000 description 15
- 230000003044 adaptive effect Effects 0.000 description 12
- 210000004027 cell Anatomy 0.000 description 11
- 238000012549 training Methods 0.000 description 11
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 9
- 229910003460 diamond Inorganic materials 0.000 description 9
- 239000010432 diamond Substances 0.000 description 9
- 238000013461 design Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000003860 storage Methods 0.000 description 8
- 230000009466 transformation Effects 0.000 description 8
- 230000001419 dependent effect Effects 0.000 description 6
- 238000012805 post-processing Methods 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000005457 optimization Methods 0.000 description 5
- 230000011218 segmentation Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000009795 derivation Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000003672 processing method Methods 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 101150114515 CTBS gene Proteins 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000000844 transformation 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
- 230000005540 biological transmission Effects 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 235000005979 Citrus limon Nutrition 0.000 description 1
- 244000131522 Citrus pyriformis Species 0.000 description 1
- 101001126234 Homo sapiens Phospholipid phosphatase 3 Proteins 0.000 description 1
- 241000176705 Lycaena helle Species 0.000 description 1
- 102100030450 Phospholipid phosphatase 3 Human genes 0.000 description 1
- 241001674048 Phthiraptera Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000002146 bilateral effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004576 sand Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012546 transfer Methods 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/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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/117—Filters, e.g. for pre-processing or post-processing
-
- 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/124—Quantisation
-
- 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
-
- 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/172—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 picture, frame or field
-
- 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/174—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 slice, e.g. a line of blocks or a group of blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/184—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/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
-
- 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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本公开涉及视频编解码的基于神经网络的环路内滤波器中的模型选择。一种由视频编解码装置实施的方法。该方法包括针对每个视频单元从多个神经网络(NN)滤波器模型候选中选择NN滤波器模型。针对第一视频单元选择的NN滤波器模型不同于针对第二视频单元选择的NN滤波器模型。该方法还包括基于针对视频单元选择的一个或多个NN滤波器模型在视频媒体文件与比特流之间进行转换。还公开了对应的视频编解码装置和非暂时性计算机可读介质。
Description
相关申请的交叉引用
本专利申请要求Lemon,Inc.于2020年12月10日提交的标题为“针对视频编解码的基于神经网络的环路内滤波器中的模型选择(Model Selection in Neural Network-Based In-loop Filter for Video Coding)”的美国临时专利申请第63/123,973号的权益,通过引用将其并入本文。
技术领域
本公开通常涉及视频编解码,并且具体地涉及图像/视频编码中的环路内滤波器。
背景技术
在互联网和其他数字通信网络中,数字视频占据了最大的带宽使用量。随着能够接收和显示视频的连接用户设备的数量的增加,预计数字视频使用的带宽需求将继续增长。
发明内容
所公开的方面/实施例提供一个或多个神经网络(NN)滤波器模型,该神经网络(NN)滤波器模型被训练为在用于减少压缩期间产生的失真的后处理阶段中使用的环路内滤波技术或滤波技术的一部分。此外,具有不同特性的样点由不同的NN滤波器模型处理。本公开还阐述了如何设计多个NN滤波器模型,如何从多个NN滤波器模型中选择,以及如何信令通知所选的NN滤波器索引。
第一方面涉及由编解码装置实施的方法。该方法包括针对每个视频单元从多个神经网络(NN)滤波器模型候选中选择NN滤波器模型,其中针对第一视频单元选择的NN滤波器模型不同于针对第二视频单元选择的NN滤波器模型;以及基于针对每个视频单元选择的NN滤波器模型在视频媒体文件与比特流之间进行转换。
可选地,在前述方面的任一方面中,该方面的另一实施方式提供了在选择之前导出包含多个NN滤波器模型候选的NN滤波器模型索引。
可选地,在前述方面的任一方面中,该方面的另一实施方式提供了视频单元是图片序列、图片、条带、片、砖块、子图片、编解码树单元(CTU)、CTU行和编解码单元(CU)中的一个,并且其中,与图片序列、图片、条带、片、砖块、子图片、CTU、CTU行和CU中的每一个对应的多个NN滤波器模型候选是不同的。
可选地,在前述方面的任一方面中,该方面的另一实施方式提供了多个滤波器模型候选包含用于视频单元的亮度分量的第一NN滤波器模型候选集合和用于视频单元的色度分量的第二NN滤波器模型候选集合。
可选地,在前述方面的任一方面中,该方面的另一实施方式提供了第一NN滤波器模型候选集合包含与第二NN滤波器模型候选集合不同数量的NN滤波器模型候选。
可选地,在前述方面的任一方面中,该方面的另一实施方式提供了多个NN滤波器模型候选依赖于视频单元的树分割结构,其中树分割结构包括单树或双树。
可选地,在前述方面的任一方面中,该方面的另一实施方式提供了信令通知或导出一个或多个语法元素以表示NN滤波器模型索引,并且其中NN滤波器模型索引对应于NN滤波器模型候选。
可选地,在前述方面的任一方面中,该方面的另一实施方式提供了NN滤波器模型索引对应于多个NN滤波器模型候选中的一个NN滤波器模型候选。
可选地,在前述方面的任一方面中,该方面的另一实施方式提供了针对视频单元中的每个颜色分量,信令通知标识多个NN滤波器模型候选中的一个或多个NN滤波器模型候选的NN滤波器模型索引。
可选地,在前述方面的任一方面中,该方面的另一实施方式提供了信令通知指示NN滤波器模型索引是否由视频单元中的不同颜色分量共享的标志。
可选地,在前述方面的任一方面中,该方面的另一实施方式提供了信令通知指示所选择的NN滤波器模型将用于视频单元还是将用于视频单元的颜色分量的标志。
可选地,在前述方面的任一方面中,该方面的另一实施方式提供了将标志二值化为二进制位字符串,并且用一个或多个上下文或用旁路模式对至少一个二进制位进行编解码。
可选地,在前述方面的任一方面中,该方面的另一实施方式提供了用固定长度码、一元码、截断一元码、指数Golomb码或截断指数Golomb码对标志进行二值化。
可选地,在前述方面的任一方面中,该方面的另一实施方式提供了基于当前块或相邻块的编解码信息对标志进行二值化,并且其中编解码信息包括一个或多个量化参数。
可选地,在前述方面的任一方面中,该方面的另一实施方式提供了信令通知标志以指示NN滤波器模型索引是至少部分地基于先前NN滤波器模型索引预测的还是从该先前NN滤波器模型索引继承的。
可选地,在前述方面的任一方面中,该方面的另一实施方式提供了在图片级别、条带级别、编解码树块(CTB)级别或编解码树单元(CTU)级别信令通知该标志。
可选地,在前述方面的任一方面中,该方面的另一实施方式提供了该标志指示应如何将NN滤波器模型应用于视频单元内的子视频单元,或者应如何针对子视频单元信令通知NN滤波器模型索引。
可选地,在前述方面的任一方面中,该方面的另一实施方式提供了该标志指示视频单元内的所有样点是否共享相同的开和关控制,并指示要应用于这些样点的NN滤波器模型。
第二方面涉及用于编解码视频数据的装置,该装置包括处理器和在其上具有指令的非暂时性存储器,其中指令在被处理器执行时使得该处理器:针对每个视频单元从多个神经网络(NN)滤波器模型候选中选择NN滤波器模型,其中针对第一视频单元选择的NN滤波器模型不同于针对第二视频单元选择的NN滤波器模型;以及基于针对每个视频单元选择的NN滤波器模型在视频媒体文件与比特流之间进行转换。
第三方面涉及非暂时性计算机可读介质,该非暂时性计算机可读介质包括供编解码装置使用的计算机程序产品,该计算机程序产品包括存储在非暂时性计算机可读介质上的计算机可执行指令,当该指令由一个或多个处理器执行时,使得编解码装置:针对每个视频单元从多个神经网络(NN)滤波器模型候选中选择NN滤波器模型,其中针对第一视频单元选择的NN滤波器模型不同于针对第二视频单元选择的NN滤波器模型;以及基于针对每个视频单元选择的NN滤波器模型在视频媒体文件与比特流之间进行转换。
为了清楚起见,前述实施例中的任何一个可与其它前述实施例中的任何一个或多个组合以在本公开的范围内创建新的实施例。
从以下结合附图和权利要求的具体实施方式中,将更清楚地理解这些和其他特征。
附图说明
为了更完整地理解本公开,现在参考以下结合附图和具体实施方式的简要描述,其中相似的附图标记表示相似的部分。
图1是图片的光栅扫描条带分割的示例。
图2是图片的矩形条带分割的示例。
图3是分割为片、砖块和矩形条带的图片的示例。
图4A是穿过底部图片边界的编解码树块(CTB)的示例。
图4B是穿过右图片边界的CTB的示例。
图4C是穿过右底部图片边界的CTB的示例。
图5是编码器框图的示例。
图6是8×8样点块内的样点的图示。
图7是涉及滤波器开/关决策和强/弱滤波器选择的像素的示例。
图8示出了用于EO样点分类的四个一维(1-D)方向样式。
图9示出了基于几何变换的自适应环路滤波器(GALF)滤波器形状的示例。
图10示出了5×5菱形滤波器支持的相对坐标。
图11示出了用于5×5菱形滤波器支持的相对坐标的示例。
图12A是所提出的CNN滤波器的示例架构。
图12B是残差块(ResBlock)的构造的示例。
图13是示出了示例视频处理系统的框图。
图14是视频处理装置的框图。
图15是示出了示例视频编解码系统的框图。
图16是示出了视频编码器的示例的框图。
图17是示出了视频解码器的示例的框图。
图18是根据本公开的实施例的用于编解码视频数据的方法。
具体实施方式
首先应当理解,尽管下面提供了一个或多个实施例的说明性实施方式,但是可以使用任何数量的技术来实施所公开的系统和/或方法,无论这些技术是当前已知的还是存在的。不应以任何方式将本公开限制于下文所示的说明性实施方式、附图和技术(包括本文图示和描述的示例性设计和实施方式),而是可以在所附权利要求的范围内以及其等效物的全部范围内对本公开进行修改。
在一些描述中使用H.266术语只是为了便于理解,而不是为了限制所公开技术的范围。因此,本文描述的技术也适用于其他视频编解码器协议和设计。
视频编码标准主要是通过著名的国际电信联盟-电信(ITU-T)和国际标准化组织(ISO)/国际电工委员会(IEC)标准的开发而发展起来的。ITU-T制作了H.261和H.263,ISO/IEC制作了运动图片专家组(MPEG)-1和MPEG-4 Visual,这两个组织联合制作了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),以制定多功能视频编解码(VVC)标准,其目的是相较于HEVC降低50%的比特率。VVC版本1于2020年7月完成。
讨论颜色空间和色度子采样。颜色空间,也称为颜色模型(或颜色系统),是一个抽象的数学模型,它简单地将颜色范围描述为数字元组,通常为3或4个值或颜色分量(例如,红色-绿色-蓝色(RGB))。从根本上说,颜色空间是坐标系和子空间的细化。
对于视频压缩,最常用的颜色空间是YCbCr和RGB。Y′CbCr,或YPb/CbPr/Cr,也写作YCBCR或Y′CBCR,是一系列颜色空间,其用作视频和数字摄影系统中彩色图像管线的一部分。Y′是亮度分量(luma component),CB和CR是蓝色差和红色差色度分量。Y′(带上标符号)与Y不同,Y是辉度(luminance),这意味着光强度是基于伽马校正的RGB原色进行非线性编码的。
色度子采样是利用人类视觉系统对色差的敏锐度低于对亮度的敏锐度,通过对色度信息实施比亮度信息更低的分辨率来编码图像的做法。
对于4:4:4色度子采样,三个Y′CbCr分量中的每一个都具有相同的采样率,因此没有色度子采样。该方案有时用于高端胶片扫描仪和电影后期制作。
对于4:2:2色度子采样,两个色度分量以亮度采样率的一半进行采样:水平色度分辨率减半。这将未压缩视频信号的带宽减少了三分之一,而几乎没有视觉差异。
对于4:2:0色度子采样,水平采样是4:1:1的两倍,但在该方案中,由于Cb和Cr通道仅在每个交替线上采样,因此垂直分辨率减半。因此,数据速率是相同的。Cb和Cr分别在水平和垂直方向上以因数2进行子采样。4:2:0方案有三种变体,具有不同的水平和垂直选址。
在MPEG-2中,Cb和Cr在水平上是同位的(co-sited)。Cb和Cr位于垂直方向的像素之间(位于间隙)。在联合图像专家组(JPEG)/JPEG文件交换格式(JFIF)、H.261和MPEG-1中,Cb和Cr位于交替亮度样点之间的间隙位置。在4:2:0 DV中,Cb和Cr在水平方向上是同位的。在垂直方向,它们在交替线上是同位的。
提供了视频单元的定义。图片被划分为一个或多个片行和一个或多个片列。片是覆盖图片的矩形区域的编解码树单元(CTU)的序列。片被划分为一个或多个砖块,每个砖块由片内的多个CTU行组成。未分割成多个砖块的片也被称为砖块。但是,作为片的真子集的砖块不被称为片。条带包含图片的若干片或片的若干砖块。
支持两种条带模式,即光栅扫描条带模式和矩形条带模式。在光栅扫描条带模式中,条带包含图片的片光栅扫描中的片序列。在矩形条带模式中,条带包含图片的多个砖块,这些砖块共同形成图片的矩形区域。矩形条带内的砖块按条带的砖块光栅扫描顺序排列。
图1是图片100的光栅扫描条带分割的示例,其中图片被划分为十二个片102和三个光栅扫描条带104。如图所示,片102和条带104中的每一个都包含多个CTU 106。
图2是根据VVC规范的图片200的矩形条带分割的示例,其中图片被划分为二十四个片202(六个片列203和四个片行205)和九个矩形条带204。如图所示,片202和条带204中的每一个都包含多个CTU 206。
图3是根据VVC规范分割为片、砖块和矩形条带的图片300的示例,其中图片被划分为四个片302(两个片列303和两个片行305)、十一个砖块304(左上片包含一个砖块,右上片包含五个砖块,左下片包含两个砖块,右下片包含三个砖块)和四个矩形条带306。
讨论CTU和编解码树块(CTB)大小。在VVC中,由语法元素log2_ctu_size_minus2在序列参数集(SPS)中信令通知的编解码树单元(CTU)大小可以小到4×4。序列参数设置原始字节序列有效负载(RBSP)语法如下。
log2_ctu_size_minus2加2指定每个CTU的亮度编解码树块大小。
log2_min_luna_coding_block_size_minus2加2指定最小亮度编解码块大小。
变量CtbLog2SizeY、CtbSizeY、MinCbLog2SizeY、MinCbSizeY、MinTbLog2SizeY、MaxTbLog2SizeY、MinTbSizeY、MaxTbSizeY、PicWidthInCtbsY、PicHeightInCtbsY、PicSizeInCtbsY、PicWidthInMinCbsY、PicHeightInMinCbsY、PicSizeInMinCbsY、PicSizeInSamplesY、PicWidthInSamplesC和PicHeightInSamplesC的推导如下。
CtbLog2SizeY=log2_ctu_size_minus2+2 (7-9)
CtbSizeY=1<<CtbLog2SizeY (7-10)
MinCbLog2SizeY=log2_min_luna_coding_block_size_minus2+2 (7-11)
MinCbSizeY=1<<MinCbLog2SizeY (7-12)
MinTbLog2SizeY=2 (7-13)
MaxTbLog2SizeY=6 (7-14)
MinTbSizeY=1<<MinTbLog2SizeY (7-15)
MaxTbSizeY=1<<MaxTbLog2SizeY (7-16)
PicWidthInCtbsY=Ceil(pic_width_in_luna_samples÷CtbSizeY) (7-17)
PicHeightInCtbsY=Ceil(pic_height_in_luna_samples÷CtbSizeY) (7-18)
PicSizeInCtbsY=PicWidthInCtbsY*PicHeightInCtbsY (7-19)
PicWidthInMinCbsY=pic_width_in_luna_samples/MinCbSizeY (7-20)
PicHeightInMinCbsY=pic_height_in_luna_samples/MinCbSizeY (7-21)
PicSizeInMinCbsY=PicWidthInMinCbsY*PicHeightInMinCbsY (7-22)
PicSizeInSamplesY=pic_width_in_luna_samples*pic_height_in_luna_samples (7-23)
PicWidthInSamplesC=pic_width_in_luna_samples/SubWidthC (7-24)
PicHeightInSamplesC=pic_height_in_luna_samples/SubHeightC (7-25)
图4A是穿过底部图片边界的CTB的示例。图4B是穿过右图片边界的CTB的示例。图4C是穿过右底部图片边界的CTB的示例。在图4A-图4C中,分别是K=M,L<N;K<M,L=N;K<M,L<N。
参考图4A-图4C讨论图片400中的CTU。假设由M×N指示的CTB/最大编解码单元(LCU)大小(通常M等于N,如HEVC/VVC中所定义),并且对于位于图片(或片或条带或其他类型,以图片边界为例)边界的CTB,K×L样点在图片边界内,其中K<M或L<N。对于如图4A-图4C所示的那些CTB 402,CTB大小仍然等于M×N,然而,CTB的底边界/右边界在图片400之外。
讨论典型视频编码器/解码器(也称为编解码器)的编解码流程。图5是VVC的编码器框图示例,其包含三个环路内滤波块:去方块滤波器(DF)、采样自适应偏移(SAO)和自适应环路滤波器(ALF)。与使用预定义滤波器的DF不同,SAO和ALF利用信令通知偏移和滤波器系数的编解码侧信息,分别通过添加偏移和应用有限脉冲响应(FIR)滤波器来利用当前图片的原始样点以减少原始样点和重建样点之间的均方误差。ALF位于每个图片的最后处理阶段并且可以被视为试图捕获和修复前一阶段产生的伪影的工具。
图5是编码器500的示意图。编码器500适合于实施VVC的技术。编码器500包括三个环路内滤波器,即去方块滤波器(DF)502、采样自适应偏移(SAO)504和ALF 506。与使用预定义滤波器的DF 502不同,SAO 504和ALF 506利用信令通知偏移和滤波器系数的编解码侧信息,分别通过添加偏移和应用FIR滤波器来利用当前图片的原始样点以减小原始样点和重建样点之间的均方误差。ALF 506位于每个图片的最后处理阶段并且可以被视为试图捕获和修复前一阶段产生的伪影的工具。
编码器500还包括帧内预测组件508和被配置为接收输入视频的运动估计/补偿(ME/MC)组件510。帧内预测组件508被配置为执行帧内预测,而ME/MC组件510被配置为利用从参考图片缓冲器512获得的参考图片来执行帧间预测。来自帧间预测或帧内预测的残差块被馈送到变换组件514和量化组件516以生成量化残差变换系数,该量化残差变换系数被馈送到熵编解码组件518。熵编解码组件518对预测结果和量化变换系数进行熵编解码,并将其发送到视频解码器(未示出)。从量化组件516输出的量化组件可以馈送到逆量化组件520、逆变换组件522和重建(REC)组件524。REC组件524能够将图像输出到DF 502、SAO 504和ALF 506,以在这些图像被存储在参考图片缓冲器512中之前进行滤波。
DF 502的输入是环路内滤波器之前的重建样点。首先对图片中的垂直边缘进行滤波。然后将由垂直边缘滤波过程修改的样点作为输入对图片中的水平边缘进行滤波。每个CTU的CTB中的垂直和水平边缘在编解码单元的基础上单独处理。从编解码块的左侧的边缘开始,以编解码块的几何顺序,朝向编解码块的右侧行进穿过边缘,对编解码单元中的编解码块的垂直边缘进行滤波。从编解码块的顶部的边缘开始,以编解码块的几何顺序,朝向编解码块的底部行进穿过边缘,对编解码单元中的编解码块的水平边缘进行滤波。
图6是8×8样点块604内的样点602的图示600。如图所示,图示600分别包括8×8网格606、608上的水平和垂直块边界。此外,图示600描绘了8×8样点的非重叠块610,其可以被并行去方块。
讨论边界决策。滤波被应用于8×8块边界。此外,(例如,由于使用仿射运动预测、交替时间运动矢量预测(ATMVP))它必须是变换块边界或编解码子块边界。对于不是此类边界的边界,禁用滤波器。
讨论边界强度计算。对于变换块边界/编解码子块边界,如果其位于8×8网格中,则变换块边界/编解码子块边界可以被滤波,并且该边缘的bS[xDi][yDj](其中[xDi][yDj]表示坐标)的设置分别在表1和表2中定义。
表1.边界强度(当SPS IBC被禁用时)
表2.边界强度(当启用SPS IBC时)
讨论亮度组件的去方块决策。
图7是涉及滤波器开/关决策和强/弱滤波器选择的像素的示例700。仅当所有条件1、条件2和条件3均为真时,才使用更宽更强的亮度滤波器。条件1是“大块条件”。该条件检测P侧和Q侧的样点是否属于大块,其分别由变量bSidePisLargeBlk和bSideQisLargeBlk表示。bSidePisLargeBlk和bSideQisLargeBlk的定义如下。
bSidePisLargeBlk=((边缘类型为垂直且p0属于宽度>=32的CU)||(边缘类型为水平且p0属于高度>=32的CU))?真:假
bSideQisLargeBlk=((边缘类型为垂直且q0属于宽度>=32的CU)||(边缘类型为水平且q0属于高度>=32的CU))?真:假
基于bSidePisLargeBlk和bSideQisLargeBlk,条件1定义如下。
条件1=(bSidePisLargeBlk||bSidePisLargeBlk)?真:假
接下来,如果条件1为真,将进一步检查条件2。首先,导出以下变量。
与在HEVC中一样,首先导出dp0、dp3、dq0、dq3
如果(p侧大于或等于32)
dp0=(dp0+Abs(p50-2*p40+p30)+1)>>1
dp3=(dp3+Abs(p53-2*p43+p33)+1)>>1
如果(q侧大于或等于32)
dq0=(dq0+Abs(q50-2*q40+q30)+1)>>1
dq3=(dq3+Abs(q53-2*q43+q33)+1)>>1
条件2=(d<β)?真:假
其中d=dp0+dq0+dp3+dq3。
如果条件1和条件2有效,则进一步检查是否有任何块使用子块。
如果(bSidePisLargeBlk)
{
如果(模式块P==SUBBLOCKMODE)
Sp=5
否则
Sp=7
}
否则
Sp=3
如果(bSideQisLargeBlk)
{
如果(模式块Q==SUBBLOCKMODE)
Sq=5
其它
Sq=7
}
否则
Sq=3
最后,如果条件1和条件2都有效,则提出的去方块方法将检查条件3(大块强滤波条件),其定义如下。
在条件3 StrongFilterCondition中,导出以下变量。
与在HEVC中一样,导出dpq。
与在HEVC中导出一样,sp3=Abs(p3-p0)
如果(p侧大于或等于32)
如果(Sp==5)
sp3=(sp3+Abs(p5-p3)+1)>>1
否则
sp3=(sp3+Abs(p7-p3)+1)>>1
与在HEVC中导出一样,sq3=Abs(q0-q3)
如果(q侧大于或等于32)
如果(Sq==5)
sq3=(sq3+Abs(q5-q3)+1)>>1
否则
sq3=(sq3+Abs(q7-q3)+1)>>1
与在HEVC中一样,StrongFilterCondition=(dpq小于(β>>2),sp3+sq3小于(3*β>>5)并且Abs(p0-q0)小于(5*tC+1)>>1)?真:假。
讨论针对亮度的更强的去方块滤波器(设计用于更大的块)。
当边界任意一侧的样点属于大块时,使用双线性滤波器。属于大块的样点定义为垂直边缘的宽度>=32,水平边缘的高度>=32。
下面列出了双线性滤波器。
然后,将上述HEVC去方块中i=0至Sp-1的块边界样点pi和j=0至Sq-1的块边界样点qj(pi和qj是用于滤波垂直边缘的行内的第i个样点,或用于滤波水平边缘的列内的第i个样点)替换为线性插值,如下所示。
pi′=(fi*Middles,t+(64-fi)*Ps+32)>>6),裁剪到pi±tcPDi
qj′=(gj*Middles,t+(64-gj)*Qs+32)>>6),裁剪到qj±tcPDj
其中tcPDi和tcPDj术语是下文所述的位置相关裁剪(position dependentclipping),并且下文给出了gj、fi、Middles,t、Ps和Qs。
讨论色度的去方块控制。
色度强滤波器用于块边界的两侧。这里,当色度边缘的两侧大于或等于8(色度位置),并且满足以下具有三个条件的决策时选择色度滤波器:第一个条件用于边界强度以及大块的决策。在色度采样域中,当正交穿过块边缘的块宽度或高度等于或大于8时,可以应用所提出的滤波器。第二条件和第三条件与HEVC-亮度去方块决策基本相同,分别是开/关决策和强滤波决策。
在第一决策中,修改用于色度滤波的边界强度(bS),并依次检查条件。如果满足条件,则跳过优先级较低的其余条件。
当bS等于2时执行色度去方块,或者当检测到大块边界时bS等于1。
第二和第三条件与HEVC-亮度强滤波器决策基本相同,如下所示。
在第二条件中:然后像在HEVC-亮度去方块中一样导出d。当d小于β时,第二条件将为真。
在第三条件StrongFilterCondition中,推导如下。
与在HEVC中导出一样,sp3=Abs(p3-p0)
与在HEVC中导出一样,sq3=Abs(q0-q3)
如在HEVC设计中,StrongFilterCondition=(dpq小于(β>>2),sp3+sq3小于(β>>3),并且Abs(p0-q0)小于(5*tC+1)>>1)。
讨论用于色度的强去方块滤波器。定义了以下用于色度的强去方块滤波器。
p2′=(3*p3+2*p2+p1+p0+q0+4)>>3
p1′=(2*p3+p2+2*p1+p0+q0+q1+4)>>3
p0′=(p3+p2+p1+2*p0+q0+q1+q2+4)>>3
提出的色度滤波器在4×4色度采样网格上执行去方块。
讨论位置相关裁剪(tcPD)。位置相关裁剪tcPD被应用于亮度滤波过程的输出样点,该过程涉及在边界处修改7、5和3个样点的强长滤波器。假设量化误差分布,提出对预期具有较高量化噪声的样点增加裁剪值,从而预期重建样点值与真实样点值的偏差较大。
对于使用非对称滤波器滤波的每个P或Q边界,根据边界强度计算中的决策过程的结果,从两个表(即,下面列出的Tc7和Tc3)中选择位置相关阈值表,其被提供给解码器作为边信息。
Tc7={6,5,4,3,2,1,1};Tc3={6,4,2};
tcPD=(Sp==3)?Tc3:Tc7;
tcQD=(Sq==3)?Tc3:Tc7;
对于使用短对称滤波器滤波的P或Q边界,应用较低幅度的位置相关阈值。
Tc3={3,2,1};
定义阈值后,根据tcP和tcQ裁剪值裁剪滤波后的p’i和q’j样点值。
p”i=Clip3(p’i+tcPi,p’i-tcPi,p’i);
q”j=Clip3(q’j+tcQj,q’j-tcQj,q’j);
其中p’i和q’j是滤波样点值,p”i和q”j是裁剪后的输出样点值,tcPi、tcPj是从VVCtc参数以及tcPD和tcQD导出的裁剪阈值。函数Clip3是VVC中规定的裁剪函数。
讨论子块去方块调整。
为了使用长滤波器和子块去方块来实现并行友好地去方块,长滤波器被限制为在使用子块去方块的一侧(AFFINE或ATMVP或解码器侧运动矢量细化(DMVR))修改最多5个样点,如长滤波器的亮度控制中所示。此外,调整子块去方块以使得8×8网格上靠近编解码单元(CU)或隐式TU边界的子块边界被限制为在每侧修改最多两个样点。
以下适用于不与CU边界对齐的子块边界。
其中,边缘等于0对应于CU边界,边缘等于2或等于正交长度-2对应于来自CU边界的8个样点的子块边界等。其中,如果使用TU的隐式分割,则隐式TU为真。
讨论采样自适应偏移(SAO)。SAO的输入是去方块(DB)后的重建样点。SAO的概念是通过首先用选择的分类器将区域样点分类为多个类别,获得每个类别的偏移,然后将该偏移添加到该类别的每个样点,从而减少区域的平均样点失真,其中在比特流中对分类器索引和区域的偏移进行编解码。在HEVC和VVC中,区域(针对SAO参数信令的单元)被定义为CTU。
HEVC采用了能够满足低复杂度要求的两种SAO类型。这两种类型是边缘偏移(EO)和频带偏移(BO),下面将对其进一步详细讨论。对SAO类型的索引进行编解码(该索引在[0,2]的范围内)。对于EO,样点分类基于根据一维(1-D)方向样式的当前样点与相邻样点之间的比较,一维方面模式包括:水平、垂直、135°对角线和45°对角线。
图8示出了用于EO样点分类的四个一维(1-D)方向样式800:水平(EO类=0)、垂直(EO类=1)、135°对角线(EO类=2)和45°对角线(EO类=3)。
对于给定的EO类,CTB内的每个样点被分类为五个类别中的一个。将标记为“c”的当前样点值与其沿所选一维样式的两个相邻样点值进行比较。表3总结了每个样点的分类规则。类别1和类别4分别与沿所选一维样式的局部谷值和局部峰值相关联。类别2和类别3分别与沿所选一维样式的凹角和凸角相关联。如果当前样点不属于EO类别1-4,则其是类别0并且不应用SAO。
表3:边缘偏移的样点分类规则
类别 | 条件 |
1 | c<a且c<b |
2 | (c<a&&c==b)||(c==a&&c<b) |
3 | (c>a&&c==b)||(c==a&&c>b) |
4 | c>a&&c>b |
5 | 以上都没有 |
讨论联合探索模型(JEM)中基于几何变换的自适应环路滤波器。DB的输入是DB和SAO之后的重建样点。样点分类和滤波过程基于DB和SAO之后的重建样点。
在JEM中,应用了具有基于块的滤波器自适应的基于几何变换的自适应环路滤波器(GALF)。对于亮度分量,基于局部梯度的方向和活动,为每个2×2块选择25个滤波器中的一个。
讨论滤波器的形状。图9示出了GALF滤波器形状900的示例,包括左边的5×5菱形,中间的7×7菱形,和右边的是的9×9菱形。在JEM中,最多可以针对亮度分量选择三个菱形滤波器形状(如图9所示)。在图片级别信令通知索引,以指示用于亮度分量的滤波器形状。每个正方形表示一个样点,Ci(i为0~6(左)、0~12(中)、0~20(右))指示要应用于样点的系数。对于图片中的色度分量,始终使用5×5菱形。
索引i和j指的是2×2块中左上样点的坐标,R(i,j)指示坐标(i,j)处的重建样点。
将水平和垂直方向的梯度的最大值和最小值设置为:
将两个对角线方向的梯度的最大值和最小值设置为:
为了推导方向性D的值,将这些值相互比较,并用两个阈值t1和t2进行比较:
活动性值A计算如下:
对于图片中的两个色度分量,不应用分类方法,即,对每个色度分量应用ALF系数的单个集合。
讨论滤波器系数的几何变换。
图10分别示出了5×5菱形滤波器支持-对角线、垂直翻转和旋转(从左到右)的相对坐标1000。
在对每个2×2块进行滤波之前,根据为该块计算的梯度值,将几何变换(诸如旋转或对角线和垂直翻转)应用于与坐标(k,l)相关联的滤波系数f(k,l)。这相当于将这些变换应用于滤波器支持区域中的样点。这个想法是通过对齐应用ALF的不同块的方向性来使它们更加相似。
引入了三种几何变换,包括对角线、垂直翻转和旋转:
其中K是滤波器的大小,0≤k,l≤K-1是系数坐标,因此位置(0,0)位于左上角,位置(K-1,K-1)位于右下角。根据为该块计算的梯度值,将变换应用于滤波器系数f(k,l)。表4总结了变换与四个方向的四个梯度之间的关系。
表4:为一个块计算的梯度映射和变换
梯度值 | 变换 |
g<sub>d2</sub><g<sub>d1</sub>且g<sub>h</sub><g<sub>v</sub> | 不变换 |
g<sub>d2</sub><g<sub>d1</sub>且g<sub>v</sub><g<sub>h</sub> | 对角线 |
g<sub>d1</sub><g<sub>d2</sub>且g<sub>h</sub><g<sub>v</sub> | 垂直翻转 |
g<sub>d1</sub><g<sub>d2</sub>且<sub>gv</sub><g<sub>h</sub> | 旋转 |
讨论滤波器参数信令。在JEM中,针对第一CTU信令通知GALF滤波器参数,即,在条带标头之后和第一CTU的SAO参数之前。最多可信令通知25个亮度滤波器系数的集合。为了减少比特开销,可以合并不同分类的滤波器系数。此外,存储参考图片的GALF系数,并允许将其重新用作当前图片的GALF系数。当前图片可以选择使用为参考图片存储的GALF系数,并旁路GALF系数信令。在这种情况下,仅信令通知到参考图片之一的索引,并且针对当前图片继承所指示的参考图片的存储的GALF系数。
为了支持GALF时域预测,保持GALF滤波器集的候选列表。在解码新序列的开始,候选列表为空。在解码一个图片之后,可以将对应的滤波器集合添加到候选列表中。一旦候选列表的大小达到最大允许值(即,当前JEM中为6),新的滤波器集合将以解码顺序覆盖最旧的滤波器集合,也就是说,应用先进先出(FIFO)规则来更新候选列表。为避免重复,仅当对应图片不使用GALF时域预测时,才能将集合添加到列表中。为了支持时域可扩展性,存在多个滤波器集的候选列表,并且每个候选列表与时域层相关联。更具体地,由时域层索引(TempIdx)分配的每个数组可以组成具有等于较低TempIdx的先前解码图片的滤波器集合。例如,第k个数组被分配为与等于k的TempIdx相关联,并且第k个数组仅包含来自其中TempIdx小于或等于k的图片的滤波器集合。对某个图片进行编解码后,与该图片关联的滤波器集合将用于更新与相等或更高的TempIdx相关联的那些数组。
GALF系数的时域预测用于帧间编解码帧以最小化信令开销。对于帧内帧,时域预测不可用,并且为每个类分配一个16个固定滤波器的集合。为了指示固定滤波器的使用,信令通知每个类的标志,并且如果需要,信令通知所选固定滤波器的索引。即使当针对给定类选择固定滤波器时,仍可以针对该类发送自适应滤波器f(k,l)的系数,在这种情况下,将应用于重建图像的滤波器的系数是两个系数集合的总和。
可以在CU级别控制亮度分量的滤波过程。信令通知标志以指示是否将GALF应用于CU的亮度分量。对于色度分量,仅在图片级别指示是否应用GALF。
讨论滤波过程。在解码器侧,当针对块启用GALF时,对块内的每个样点R(i,j)进行滤波,产生如下所示的样点值R′(i,j),其中L表示滤波器长度,fm,n表示滤波器系数,f(k,l)表示解码的滤波器系数。
图11示出了用于假设当前样点的坐标(i,j)为(0,0)的5×5菱形滤波器支持的相对坐标的示例。不同坐标中填充相同颜色的样点乘以相同的滤波器系数。
讨论VVC中基于几何变换的自适应环路滤波器(GALF)。在VVC测试模型4.0(VTM4.0)中,自适应环路滤波器的滤波过程执行如下:
O(x,y)=∑(i,j)w(i,j).I(x+i,y+j), (11)
其中,样点I(x+i,y+j)是输入样点,O(x,y)是滤波后的输出样点(即滤波器结果),并且w(i,j)表示滤波器系数。实际上,在VTM4.0中,它是使用整数算法实现定点精度计算
其中L表示滤波器长度,其中w(i,j)是定点精度的滤波器系数。
与JEM相比,VVC中GALF的当前设计有以下主要变化:
1)移除自适应滤波器形状。针对亮度分量只允许7×7滤波器形状,针对色度分量允许5×5滤波器形状。
2)ALF参数的信令从条带/图片级别移除到CTU级别。
3)类索引的计算是在4×4级别而不是在2×2级别执行。此外,如JVET-L0147中所述,使用子采样拉普拉斯计算方法进行ALF分类。更具体地说,不需要为一个块内的每个样点计算水平/垂直/45对角线/135度梯度。相反,使用1∶2子采样。
关于滤波再形成讨论当前VVC中的非线性ALF。
等式(11)可以在不影响编解码效率的情况下,用以下表达式重新表述:
O(x,y)=I(x,y)+∑(i,j)≠(0,0)w(i,j).(I(x+i,y+j)-I(x,y)), (13)
其中w(i,j)与等式(11)中的滤波器系数相同[除了w(0,0)在等式(13)中等于1,而在等式(11)中等于1-∑(i,j)≠(0,0)w(i,j)的情况外]。
使用上述滤波器公式(13),VVC引入了非线性,通过使用简单的裁剪函数来降低相邻样点值I(x+i,y+j))与被滤波的当前样本值I(x,y)相差太大时这些相邻样点值的影响,从而使ALF更有效。
更具体地,ALF滤波器修改如下:
O′(x,y)=I(x,y)+∑(i,j)≠(0,0)w(i,j).K(I(x+i,y+j)-I(x,y),k(i,j)), (14)
其中K(d,b)=min(b,max(-b,d))为裁剪函数,k(i,j)为裁剪参数,其取决于(i,j)滤波器系数。编码器执行优化以找到最佳的k(i,j)。
在JVET-N0242实现中,为每个ALF滤波器指定裁剪参数k(i,j),每个滤波器系数信令通知一个裁剪值。这意味着每个亮度滤波器在比特流中最多可信令通知12个裁剪值,针对色度滤波器最多可信令通知6个裁剪值。
为了限制信令开销和编码器复杂度,仅使用4个固定值,这些固定值对于帧间条带和帧内条带是相同的。
由于亮度的局部差异方差通常高于色度,因此应用了针对亮度滤波器和色度滤波器的两个不同集合。还引入了每个集合中的最大样点值(此处1024表示10比特比特深度),以便在不需要时可禁用裁剪。
表5提供了JVET-N0242测试中使用的裁剪值集合。这4个值是通过在对数域中大致相等地划分亮度的全部范围的样点值(以10比特编解码)和色度的从4到1024的范围的样点值来选择的。
更准确地说,已通过以下公式获得裁剪值的亮度表:
类似地,根据以下公式获得裁剪值的色度表:
表5:授权的裁剪值
通过使用与上表5中的裁剪值的索引对应的Golomb编码方案,在“alf_data”语法元素中对所选裁剪值进行编解码。此编码方案与滤波器索引的编码方案相同。
讨论用于视频编解码的基于卷积神经网络的环路滤波器。
在深度学习中,卷积神经网络(CNN或ConvNet)是一类深度神经网络,最常用于分析视觉图像。它们在图像和视频识别/处理、推荐系统、图像分类、医学图像分析、自然语言处理等领域有着非常成功的应用。
CNN是多层感知器的正则化版本。多层感知器通常是指完全连接的网络,即一层中的每个神经元连接到下一层中的所有神经元。这些网络的“全连接性”使它们容易过度拟合数据。正则化的典型方法包括向损失函数添加某种形式的权重的度量测量。CNN对正则化采取不同的方法:它们利用数据中的分层样式,并使用更小、更简单的样式装配更复杂的样式。因此,在连通性和复杂性方面,CNN处于较低的极限。
与其他图像分类/处理算法相比,CNN使用的预处理相对较少。这意味着网络学习传统算法中手工设计的滤波器。这种独立于特征设计中的先验知识和人力是一个主要优势。
基于深度学习的图像/视频压缩通常有两种含义:纯粹基于神经网络的端到端压缩和通过神经网络增强的传统框架。纯粹基于神经网络的端到端压缩在Johannes Ballé、Valero Laparra和Eero P.Simoncelli的“End-to-end optimization of nonlineartransform codes for perceptual quality”(“感知质量的非线性变换代码的端到端优化”),于:2016图片编解码研讨会(PCS),第1-5页,电气和电子工程师协会(IEEE)以及LucasTheis、Wenzhe Shi、Andrew Cunningham和Ferenc Huszár的“Lossy image compressionwith compressiVe autoencoders”(“使用压缩自动编解码器的有损图像压缩”),arXiv预印本arXiv:1703.00395(2017)中进行讨论。神经网络增强的传统框架在Jiahao Li、BinLi、Jizheng Xu、Ruiqin Xiong和Wen Gao的“Fully Connected Network-Based IntraPrediction for Image Coding”(“用于图像编解码的基于全连接网络的帧内预测”),IEEE图像处理学报27,7(2018),3236-3247,Yuanying Dai、Dong Liu和Feng Wu的“Aconvolutional neural network approach for post-processing in HEVC intracoding”(“用于HEVC帧内编解码中后处理的卷积神经网络方法”),MMM.Springer,28-39;Rui Song、Dong Liu、Houqiang Li和Feng Wu的“Neural network-based arithmeticcoding of intra prediction modes in HEVC”(“HEVC中基于神经网络的帧内预测模式算术编解码”),VCIP.IEEE,1-4以及J.Pfaff、P.Helle、D.Maniry、S.Kaltenstadler、W.Samek、H.Schwarz、D.Marpe和T.Wiegand的“Neural network based intra prediction forvideo coding”(“用于视频编解码的基于神经网络的帧内预测”),数字图像处理应用XLI,第10752卷,国际光学和光子学会,1075213中进行讨论。
第一类型通常采用类似自动编码器的结构,通过卷积神经网络或递归神经网络实现。虽然纯粹依靠神经网络进行图像/视频压缩可以避免任何手动优化或手工设计,但压缩效率可能并不令人满意。因此,分布在第二类型中的工作以神经网络为辅助,通过替换或增强某些模块来增强传统的压缩框架。通过这种方式,它们可以继承高度优化的传统框架的优点。例如,HEVC中提出了用于帧内预测的全连接网络,如Jiahao Li、Bin Li、Jizheng Xu、Ruiqin Xiong和Wen Gao的“Fully Connected Network-Based Intra Prediction forImage Coding”(“用于图像编解码的基于全连接网络的帧内预测”),IEEE图像处理学报27,7(2018),第3236-3247页所讨论的。
除了帧内预测,还利用深度学习来增强其他模块。例如,HEVC的环路内滤波器被卷积神经网络取代,并在Yuanying Dai、Dong Liu和Feng Wu的“A convolutional neuralnetwork approach for post-processing in HEVC intra coding”(“用于HEVC帧内编解码中后处理的卷积神经网络方法”),MMM.Springer,28-39中取得了可喜的结果。Rui Song、Dong Liu、Houqiang Li和Feng Wu的“Neural network-based arithmetic coding ofintra prediction modes in HEVC”(“HEVC中基于神经网络的帧内预测模式算术编解码”),VCIEIEEE,1-4中的工作应用神经网络来改进算术编解码引擎。
讨论基于卷积神经网络的环路内滤波。在有损图像/视频压缩中,重建帧是原始帧的近似值,因为量化过程是不可逆的,因此会导致重建帧失真。为了减轻这种失真,可以训练卷积神经网络来学习从失真帧到原始帧的映射。实际上,在部署基于CNN的环路内滤波之前,必须执行训练。
讨论训练。训练过程的目的是寻找包括权重和偏差在内的参数的最佳值。
首先,使用编解码器(例如HM、JEM、VTM等)压缩训练数据集以生成失真的重建帧。然后,将重建的帧馈送到CNN,并使用CNN的输出和真实帧(原始帧)计算成本。常用的成本函数包括绝对差之和(SAD)和均方误差(MSE)。接下来,通过反向传播算法导出成本相对于每个参数的梯度。使用梯度,可以更新参数的值。重复上述过程,直到满足收敛标准。完成训练后,导出的最优参数被保存以供推理阶段使用。
讨论卷积过程。在卷积过程中,滤波器从左到右、从上到下在图像上移动,水平移动时一个像素列发生变化,垂直移动时一个像素行发生变化。滤波器对输入图像的应用之间的移动量被称为步幅,并且其在高度和宽度尺寸上几乎总是对称的。对于高度和宽度移动,二维的默认步幅为(1,1)。
图12A是所提出的CNN滤波器的示例架构1200,图12B是残差块(ResBlock)的构造1250的示例。在大多数深度卷积神经网络中,残差块被用作基本模块,并堆叠多次以构建最终网络,其中在一个示例中,残差块通过组合卷积层、ReLU/PReLU激活函数和卷积层获得,如图12B所示。
讨论推理。在推理阶段期间,失真的重建帧被馈送到CNN中,并由CNN模型进行处理,CNN模型的参数在训练阶段已经被确定。对CNN的输入样点可以是DB之前或之后的重建样点,或者是SAO之前或之后的重建样点,或者是ALF之前或之后的重建样点。
当前基于CNN的环路滤波存在以下问题。首先,条带中具有不同特性的样点由单个CNN模型处理。其次,不同时域层的样点由单个CNN模型处理。第三,用于不同时域层的CNN模型具有相同的结构。
本文公开了解决上述一个或多个问题的技术。例如,本公开提供了一个或多个神经网络(NN)滤波器模型,该神经网络(NN)滤波器模型被训练为用于减少压缩期间产生的失真的后处理阶段中使用的环路内滤波技术或滤波技术的一部分。此外,具有不同特性的样点由不同的NN滤波器模型处理。本公开还详细阐述了如何设计多个NN滤波器模型,如何从多个NN滤波器模型中选择,以及如何信令通知所选择的NN滤波器索引。
视频编解码是一个有损过程。可以训练卷积神经网络(CNN)来恢复压缩过程中丢失的细节。也就是说,人工智能(AI)过程可以基于训练数据创建CNN滤波器。
不同的CNN滤波器对不同的情况最有效。编码器和解码器可以访问已提前训练(也称为预训练)的多个CNN滤波器。本公开描述了允许编码器向解码器信令通知针对每个视频单元使用哪个CNN滤波器的方法和技术。视频单元可以是图片序列、图片、条带、片、砖块、子图片、编解码树单元(CTU)、CTU行、编解码单元(CU)等。作为示例,不同的CNN滤波器可用于不同的层、不同的分量(例如,亮度、色度、Cb、Cr等)、不同的特定视频单元等。可以信令通知标志和/或索引,以指示针对每个视频项目应使用哪个CNN滤波器。可以基于相邻视频单元是否使用滤波器来信令通知CNN滤波器。当使用树分割视频单元时,还提供了父节点与子节点之间CNN滤波器的继承。
下面列出的实施例应被视为解释一般概念的示例。不应以狭义的方式解释这些实施例。此外,这些实施例可以以任何方式组合。
在本公开中,NN滤波器可以是任何种类的NN滤波器,例如卷积神经网络(CNN)滤波器。在下面的讨论中,NN滤波器也可以被称为CNN滤波器。
在下面的讨论中,视频单元可以是序列、图片、条带、片、砖块、子图片、CTU/CTB、CTU/CTB行、一个或多个CU/编解码块(CB)、一个或多个CTU/CTB、一个或多个虚拟管线数据单元(VPDU)、图片/条带/片/砖块内的子区域。父视频单元表示比视频单元大的单元。通常,父单元将包含多个视频单元,例如,当视频单元为CTU时,父单元可以是条带、CTU行、多个CTU等。
提供了模型选择的讨论。
示例1
在第一实施例中,可以针对视频单元从多个NN滤波器模型候选中选择NN滤波器模型。
a.在一个示例中,在视频单元级别(例如,在CTU级别)执行模型选择。对于给定的视频单元(例如,CTU),首先导出NN滤波器模型索引。给定模型索引,给定的视频单元(例如CTU)将由对应的选择的NN滤波器模型进行处理。
b.替代地,针对视频单元,可以选择和/或信令通知多个候选。
c.在一个示例中,视频单元中的亮度分量和色度分量可以使用不同的NN滤波器模型候选集合。
i.在一个示例中,针对亮度和色度分量允许相同数量的NN滤波器模型候选,但对于亮度和色度分量,滤波器模型候选不同。
ii.例如,可以存在用于亮度分量的L个NN滤波器模型候选和用于色度的C个NN滤波器模型候选,其中L不等于C,例如,L>C。
iii.在一个示例中,视频单元中的色度分量(例如Cb和Cr或者U和V)可以共享相同的NN滤波器模型候选。
d.在一个示例中,可以向解码器信令通知NN滤波器模型候选的数量。
e.在一个示例中,对于不同的视频单元(例如,序列/图片/条带/片/砖块/子图片/CTU/CTU行/CU),NN滤波器模型候选可以不同。
f.在一个示例中,NN滤波器模型候选可以依赖于树分割结构(例如,双树或单树)。
示例2
在第二实施例中,可以针对视频单元信令通知一个或多个NN滤波器模型索引的指示符。
a.在一个示例中,指示符是NN滤波器模型索引。i.替代地,可以信令通知或导出一个以上的语法元素以表示一个NN滤波器模型索引。1)在一个示例中,可以信令通知第一语法元素以指示索引是否不大于K0(例如,K0=0)。a.替代地,此外,可以信令通知第二语法元素以指示索引是否不大于K1(例如,K1=1)。b.替代地,此外,可以信令通知第二语法元素以指示索引是否减去K0。
b.在一个示例中,索引对应于NN滤波器模型候选。c.在一个示例中,视频单元中的不同颜色分量(包括亮度和色度)可以共享相同的一个或多个信令通知的NN滤波器模型索引。(i)替代地,针对视频单元中的每个颜色分量信令通知滤波器索引。(ii)替代地,针对第一颜色分量(例如亮度)信令通知第一滤波器索引,针对第二和第三颜色分量(例如Cb和Cr,或者U和V)信令通知第二滤波器索引。(iii)替代地,信令通知指示符(例如,标志)发送信号,以指示所有颜色分量是否将共享相同的NN滤波器模型索引。1)在一个示例中,当标志为真时,针对视频单元信令通知一个CNN滤波器模型索引。否则,根据上述项目符号i或项目符号ii信令通知滤波器索引。(iv)替代地,信令通知指示符(例如,标志)以指示两个分量(例如,第二颜色分量和第三颜色分量,或者Cb和Cr,或者U和V)是否将共享相同的NN滤波器模型索引。1)在一个示例中,当标志为真时,针对两个分量信令通知一个CNN滤波器模型索引。否则,将针对两个分量中的每个分量信令通知单独的滤波器索引。
v.替代地,信令通知指示符(例如,标志)以指示NN滤波器是否将用于当前视频单元。1)在一个示例中,如果标志为假,则当前视频单元将不被NN滤波器处理,这意味着不传输任何NN滤波器模型索引。否则,根据上述项目符号i、项目符号ii、项目符号iii或项目符号iv,信令通知NN滤波器模型索引。
vi.替代地,信令通知指示符(例如,标志)以指示NN滤波器是否将用于当前视频单元中的两个分量(例如,第二颜色分量和第三颜色分量,或者Cb和Cr,或者U和V)。1)在一个示例中,如果标志为假,则两个分量将不被NN滤波器处理,这意味着没有针对两个分量的任何NN滤波器模型索引的传输。否则,根据上述项目符号i、项目符号ii、项目符号iii或项目符号iv,信令通知NN滤波器模型索引。
vii.可以在算术编解码中用一个或多个上下文对指示符进行编解码。1)在一个示例中,索引的指示符可以被二值化为二进制位(bin)字符串,并且可以用一个或多个上下文对至少一个二进制位进行编解码。2)替代地,可以先将索引的指示符二值化为二进制位字符串,并且可以使用旁路模式对至少一个二进制位进行编解码。3)可以从当前单元和/或相邻单元的编解码信息导出上下文。
viii.在上述示例中,指示符的特定值(例如,等于0)可进一步用于指示是否应用NN滤波器。
ix.指示符可以用固定长度码、或一元码、或截断一元码、或指数Golomb码(例如,第K个EG码,其中K=0)或截断指数Golomb码进行二值化。
x.可以基于当前和/或相邻块的编解码信息(例如量化参数(QP))对指示符进行二值化。1)在一个示例中,将当前视频单元的QP表示为q,然后分别对应于q1,q2,..qK训练K个CNN滤波器模型,其中q1,q2,..qK是K个不同的QP。a.替代地,此外,基于qi=q,将较短的码长度分配给对应于模型的索引。b.替代地,此外,基于qi将较短的码长度分配给对应于模型的索引,其中与其它qj相比,abs(qi-q)是最小的,。2)在一个示例中,将当前视频单元的QP表示为q,然后分别对应于q1,q,q2训练三个CNN滤波器模型,其中q1<q<q2。然后,信令通知第一标志以指示是否使用了与QP=q对应的模型。如果该标志为假,则信令通知第二标志以指示是否使用了与QP=q1对应的模型。如果第二标志仍然为假,则进一步信令通知第三标志以指示是否使用了与QP=q2对应的模型。
d.在一个示例中,可以以预测方式对NN滤波器模型索引进行编解码。i.例如,先前编码/解码的NN滤波器模型索引可以用作当前NN滤波器模型索引的预测。1)可以信令通知标志以指示当前NN滤波器模型索引是否等于先前编码/解码的NN滤波器模型索引。
e.在一个示例中,当前视频单元中的一个或多个NN滤波器模型索引的指示符可以从先前编解码的/相邻的视频单元继承。i.在一个示例中,当前视频单元的NN滤波器模型索引可以从先前编解码的/相邻的视频单元继承。1)在一个示例中,将先前编解码的/相邻的视频单元候选的数量表示为C。然后为当前视频单元信令通知继承索引(范围从0到C-1)以指示将被继承的候选。ii.在一个示例中,当前视频单元的NN滤波器开/关控制可以从先前编解码的/相邻的视频单元继承。
f.在上面的示例中,信令通知的指示符可以进一步表示是否应用NN滤波方法。i.在一个示例中,假设针对视频单元允许M个滤波器模型,则可以以下列方式信令通知指示符。
1)替代地,可以交换上表中第k个二进制位的“0”和“1”值。
ii.替代地,假设针对视频单元允许M个滤波器模型,则可以以下列方式信令通知指示符。
g.在以上示例中,针对两个视频单元的指示符的相同值可以表示用于应用于两个视频单元的不同滤波器模型。i.在一个示例中,如何针对视频单元选择滤波器模型可以取决于指示符的解码值和视频单元的特性(例如,QP/预测模式/其他编解码信息)。
示例3
3.在第三实施例中,可以以与编码器和解码器相同的方式针对单元导出一个或多个NN滤波器模型索引和/或开/关控制。a.推导可以取决于当前单元和/或相邻单元的编解码信息。i.编解码信息包括QP。
示例4
在第四实施例中,可以针对一个视频单元信令通知多个NN滤波器模型索引的指示符,并且可以进一步即时确定针对一个视频单元内的子区域的索引的选择。a.在一个示例中,可以在第一级别(例如,图片/条带)中信令通知第一NN滤波器模型集合的指示符,并且可以在第二级别中进一步信令通知或导出第一集合内的索引的指示符(其中第二级中的样点数小于第一级中的样点数)。i.在一个示例中,第二级是CTU/CTB级别。ii.在一个示例中,第二级是固定M×N区域。
示例5
在第五实施例中,可以信令通知/导出语法元素(例如,标志)以指示对于视频单元是启用还是禁用NN滤波器。a.在一个示例中,语法元素可以是上下文编解码的或旁路编解码的。i.在一个示例中,使用一个上下文对语法元素进行编解码。ii.在一个示例中,可以利用多个上下文,例如,上下文的选择可取决于与相邻块相关联的语法元素的值。b.在一个示例中,可以在多个级别(例如,在图片和条带级别;在条带和CTB/CTU级别)中进行信令通知。I.替代地,此外,是否在第二级别(例如,CTB/CTU)中信令通知语法元素可以基于第一级别(例如,条带)中的语法元素的值。
示例6
在第六实施例中,可以有条件地信令通知多个NN滤波器模型索引的指示符。a.在一个示例中,是否信令通知指示符可以取决于是否针对视频单元启用NN滤波器。i.替代地,此外,当针对视频单元禁用NN滤波器时,跳过指示符的信令。
示例7
在第七实施例中,可以在父单元中信令通知第一指示符,以指示将如何针对包含在父单元中的每个视频单元信令通知NN滤波器模型索引,或者如何将NN滤波器用于包含在父单元中的每个视频单元。a.在一个示例中,第一指示符可用于指示父单元内的所有样点是否共享相同的开/关控制。i.替代地,此外,可以基于第一指示符有条件地信令通知父单元内用于指示NN滤波器的使用的视频单元的第二指示符。
b.在一个示例中,第一指示符可用于指示哪个模型索引用于父单元内的所有样点。i.替代地,此外,如果使用了表示给定模型索引的第一指示符,则可以进一步信令通知父单元内用于指示NN滤波器的使用的视频单元的第二指示符。ii.替代地,此外,如果使用了表示给定模型索引的第一指示符,则可以跳过父单元内用于指示NN滤波器的使用的视频单元的第二指示符。
c.在一个示例中,第一指示符可用于指示是否在父单元内进一步信令通知视频单元的信号索引。d.在一个示例中,指示符可以具有K+2个选项,其中K是NN滤波器模型候选的数量。i.在一个示例中,当指示符为0时,对父单元中包含的所有视频单元禁用NN滤波器。ii.在一个示例中,当指示符为i(1≤i≤K)时,第i个NN滤波器模型将用于包含在父单元中的所有视频单元。显然,对于刚才提到的K+1选项,不需要为父单元中包含的任何视频单元信令通知任何NN滤波器模型索引。1)替代地,仍然信令通知视频单元的开/关控制信息,并且当其打开时,使用第i个NN滤波器模型。iii.在一个示例中,当指示符为K+1时,将针对包含在父单元中的每个视频单元信令通知NN滤波器模型索引(例如,滤波器索引和/或开/关控制)。
讨论针对视频单元的多个CNN滤波器模型的推导。
示例8
在第八实施例中,针对不同的重建质量级别,可以使用不同的CNN滤波器模型候选。a.在一个示例中,针对每个重建质量级别,使用预训练的CNN滤波器候选模型。b.在一个示例中,从量化参数(QP)推断视频质量级别。在一个示例中,将当前视频单元的QP表示为q,并且分别对应于q1,q2,..qK训练CNN滤波器模型的K个(例如,K=3)集合,其中,是q1,q2,..qK是围绕q的三个不同的QP。当前视频单元将由K个集合中的一个进行处理。
1)在一个示例中,q1,q2,..qK中的至少一个小于q。2)在一个示例中,q1,q2,..qK中的至少一个大于q。3)在一个示例中,可通过q和{q1,q2,..qK}确定选择K个集合中的一个。a.在一个示例中,将选择与qi对应的集合,qi给出与q的最小差异。
4)替代地,可以允许对于一个集合来处理当前视频单元。a.在一个示例中,可以允许选择来自多于一个集合的滤波器模型,并且可以信令通知对多于一个集合的索引的指示符。b.在一个示例中,可以信令通知与多于一个集合相对应的所选择的集合索引的指示符。i.替代地,此外,可以进一步信令通知所选择的集合索引内的滤波器模型索引的指示符。1.如何信令通知或是否信令通知滤波器模型索引的指示符可以取决于所选择的集合索引内的滤波器模型的数量。
示例9
在第九实施例中,多个CNN滤波器模型候选可以具有不同的结构。a.在一个示例中,不同的CNN滤波器模型候选可以具有不同的网络大小。i.在一个示例中,网络大小由层数控制。ii.在一个示例中,网络大小由特征图(feature map)的数量控制。iii.在一个示例中,网络大小由中间特征图的分辨率控制。iv.在一个示例中,网络大小由刚刚三个项目符号中呈现的特征的组合控制。
提供了用于不同时域层的CNN滤波器模型的讨论。
示例10
在第十实施例中,针对跨不同时域层的视频单元,NN滤波器模型候选组可以相同或不同。a.在一个示例中,针对不同时域层中的视频单元,NN滤波器模型候选组可以相同。b.在一个示例中,针对每个时域层使用单独的NN滤波器模型候选组。i.在一个示例中,针对较高时域层中的视频单元,滤波器组包含具有较小大小的模型。1)较小的大小意味着较少的特征图,或分辨率较低的特征图,或更浅的网络。c.在一个示例中,时域层被分组为几个子组。针对每个子组,使用单独的NN滤波器模型候选组。
讨论一般解决方案。
在第十一实施例中,其他环路内滤波器(例如,去方块滤波器、SAO、ALF、CCALF、双边滤波器)的指示可以取决于是否和/或如何应用NN滤波器(例如,滤波器模型索引)。a.在一个示例中,可以根据是否和/或如何应用NN滤波器来有条件地信令通知其他环路内滤波器的指示的信令。b.在一个示例中,是否和/或如何应用其他环路内滤波器可以取决于是否和/或如何应用NN滤波器。c.在一个示例中,如果将NN滤波器应用于一个块,则在不信令通知CCALF的情况下禁用CCALF。
在第十二实施例中,在上述所有示例中,术语“相邻块”可以是邻近空域相邻块,或者是同一条带/片/图片/子图片中的非邻近空域块。d.替代地,与包含当前视频单元的当前图片相比,它可以是不同图片中的块(例如,定位块(located blcok))。i.在一个示例中,不同图片被限制为当前图片/条带的参考图片。
提供实施例示例。1.针对每个CTU导出cnnlf_model_index[i](i为0..M-1),其中M是总颜色通道数。a.在一个示例中,如果cnnlf_model_idx[i]=0,0≤i≤M-1,则NN滤波器将不用于第i个分量。如果cnnlf_model_idx[i]=k,1≤k≤L(例如,L=3),则第k个cnnlf模型将用于第i个分量。B.解析slice_indication[i](i为0..N-1),其中N不大于总颜色通道数。i.在一个示例中,如果slice_indication[i]=k,0≤k≤S(例如,S=3),则针对当前条带中的所有CTU设置cnnlf_model_index[i]=k。如果lice_indication[i]=(S+1),则针对每个CTU的第i个分量解析cnnlf_model_index[i]。
c.CTU中第i个分量的cnnlf_model_index[i]解析过程执行如下。i.解析第一比特。如果其为1,则设置cnnlf_model_index[i]=1,解析过程结束。否则,解析第二比特。如果其为1,则设置cnnlf_model_index[i]=2,解析过程结束。否则,解析第三比特。如果其为1,则设置cnnlf_model_index[i]=3。如果其为0,则设置cnnlf_model_index[i]=0。1)在一个示例中,在算术编解码中,使用一个上下文对每个二进制位进行编解码。
2)针对每个CTU,如果1≤cnnlf_model_index[i]≤3,1≤i≤3,则使用第k(k=cnnlf_model_index[i])个cnnlf模型以对第i个分量进行滤波。
图13是示出了其中可以实施本文公开的各种技术的示例视频处理系统1300的框图。各种实施方式可以包括视频处理系统1300的部分或全部组件。视频处理系统1300可以包括用于接收视频内容的输入1302。视频内容可以以原始或未压缩格式(例如,8或10比特多分量像素值)接收,或者可以以压缩或编码格式接收。输入1302可以表示网络接口、外围总线接口或存储接口。网络接口的示例包括有线接口,例如以太网、无源光网络(PON)等,以及无线接口,例如Wi-Fi或蜂窝接口。
视频处理系统1300可以包括编解码组件1304,其可以实施本文档中描述的各种解码或编码方法。编解码组件1304可以将视频的平均比特率从输入1302降低到编解码组件1304的输出,以产生视频的编解码表示。因此,编解码技术有时被称为视频压缩或视频转码技术。编解码组件1304的输出可以被存储,或者经由由组件1306表示的连接的通信来发送。组件1308可以使用在输入1302处接收的视频的存储的或通信的比特流(或编解码的)表示来生成被发送到显示接口1310的像素值或可显示视频。从比特流表示生成用户可视视频的过程有时被称为视频解压缩。此外,虽然某些视频处理操作被称为“编解码”操作或工具,但应理解,在编码器处使用编码工具或操作,并且解码器将执行反转编码的结果的相应的解码工具或操作。
外围总线接口或显示接口的示例可包括通用串行总线(USB)或高清晰度多媒体接口(HDMI)或显示端口等。存储接口的示例包括SATA(串行高级技术附件)、外围组件互连(PCI)、集成驱动电子(IDE)接口等。本文档中描述的技术可以体现在各种电子设备中,例如移动电话、膝上型电脑、智能手机或能够执行数字数据处理和/或视频显示的其他设备。
图14是视频处理装置1400的框图。装置1400可用于实施本文所述的一个或多个方法。装置1400可以体现在智能手机、平板电脑、计算机、物联网(IoT)接收器等中。装置1400可以包括一个或多个处理器1402、一个或多个存储器1404和视频处理硬件1406。(一个或多个)处理器1402可以被配置为实施本文档中描述的一个或多个方法。(一个或多个)存储器1404可用于存储用于实施本文所述方法和技术的数据和代码。视频处理硬件1406可用于在硬件电路中实施本文档中描述的一些技术。在一些实施例中,硬件1406可以部分或完全位于处理器1402(例如图形处理器)内。
图15是示出了可利用本公开的技术的示例视频编解码系统1500的框图。如图15所示,视频编解码系统1500可以包括源设备1510和目标设备1520。源设备1510生成编码的视频数据,源设备110可以被称为视频编码设备。目标设备1520可以对源设备1510生成的编码的视频数据进行解码,目标设备120可以被称为视频解码设备。
源设备1510可以包括视频源1512、视频编码器1514和输入/输出(I/O)接口1516。
视频源1512可以包括诸如视频捕获设备的源、用于从视频内容提供商接收视频数据的接口和/或用于生成视频数据的计算机图形系统,或这些源的组合。视频数据可以包括一个或多个图片。视频编码器1514对来自视频源1512的视频数据进行编码以生成比特流。比特流可以包括形成视频数据的编解码表示的比特序列。比特流可以包括编解码图片和相关联的数据。编解码图片是图片的编解码表示。相关联的数据可以包括序列参数集、图片参数集和其他语法结构。I/O接口1516可以包括调制器/解调器(调制解调器)和/或发送器。编码的视频数据可以通过网络1530经由I/O接口1516直接发送到目标设备1520。编码的视频数据还可以存储在存储介质/服务器1540上,以供目标设备1520访问。
目标设备1520可以包括I/O接口1526、视频解码器1524和显示设备1522。
I/O接口1526可以包括接收器和/或调制解调器。I/O接口1526可以从源设备1510或存储介质/服务器1540获取编码的视频数据。视频解码器1524可解码编码的视频数据。显示设备1522可以向用户显示解码的视频数据。显示设备1522可以与目标设备1520集成,或者可以在目标设备1520外部,该目标设备1520可被配置为与外部显示设备接口。
视频编码器1514和视频解码器1524可以根据视频压缩标准操作,例如高效视频编解码(HEVC)标准、多功能视频编解码(VVC)标准和其他当前和/或进一步的标准。
图16是示出了视频编码器1600的示例的框图,其可以是图15所示的视频编解码系统1500中的视频编码器1514。
视频编码器1600可被配置为执行本公开的任何或所有技术。在图16的示例中,视频编码器1600包括多个功能组件。本公开中描述的技术可以在视频编码器1600的各个组件之间共享。在一些示例中,处理器可被配置为执行本公开中描述的任何或所有技术。
视频编码器1600的功能组件可以包括分割单元1601、预测单元1602、、残差生成单元1607、变换单元1608、量化单元1609,逆量化单元1610、逆变换单元1611、重建单元1612、缓冲器1613和熵编码单元1614,预测单元1602可以包括模式选择单元1603、运动估计单元1604、运动补偿单元1605和帧内预测单元1606。
在其他示例中,视频编码器1600可以包括更多、更少或不同的功能组件。在一个示例中,预测单元1602可以包括块内复制(IBC)单元。IBC单元可以在IBC模式下执行预测,其中至少一个参考图片是当前视频块所在的图片。
此外,一些组件,例如运动估计单元1604和运动补偿单元1605可以是高度集成的,但是为了解释的目的在图16的示例中分别表示。
分割单元1601可以将图片分割成一个或多个视频块。图15的视频编码器1514和视频解码器1524可以支持各种视频块大小。
模式选择单元1603可以例如基于错误结果选择一种编解码模式(帧内或帧间),并将得到的帧内或帧间编码块提供给残差生成单元1607以生成残差块数据,并提供给重建单元1612以重建编码块以用作参考图片。在一些示例中,模式选择单元1603可以选择组合帧内和帧间预测(CIIP)模式,其中预测基于帧间预测信号和帧内预测信号。模式选择单元1603还可以在帧间预测的情况下为块选择运动矢量的分辨率(例如,子像素或整数像素精度)。
为了对当前视频块执行帧间预测,运动估计单元1604可以通过将来自缓冲器1613的一个或多个参考帧与当前视频块进行比较来生成当前视频块的运动信息。运动补偿单元1605可以基于运动信息和来自缓冲器1613的除与当前视频块相关联的图片之外的图片的解码样点来确定当前视频块的预测视频块。
例如,运动估计单元1604和运动补偿单元1605可以根据当前视频块是在I条带、P条带还是B条带中,对当前视频块执行不同的操作。I-条带(或I-帧)的可压缩性最低,但不需要其他视频帧来解码。S-条带(或P-帧)可以使用来自先前帧的数据进行解压缩,并且比I帧更具可压缩性。B-条带(或B-帧)可以使用先前帧和前向帧作为数据参考,以获得最高的数据压缩量。
在一些示例中,运动估计单元1604可以对当前视频块执行单向预测,并且运动估计单元1604可以在列表0或列表1的参考图片中搜索当前视频块的参考视频块。然后,运动估计单元1604可以生成参考索引和运动矢量,该参考索引指示包含参考视频块的列表0或列表1中的参考图片以及该运动矢量指示当前视频块与参考视频块之间的空域位移。运动估计单元1604可以输出参考索引、预测方向指示符和运动矢量作为当前视频块的运动信息。运动补偿单元1605可以基于由当前视频块的运动信息指示的参考视频块生成当前块的预测视频块。
在其他示例中,运动估计单元1604可以对当前视频块执行双向预测,运动估计单元1604可以在列表0中的参考图片中搜索当前视频块的参考视频块,并且还可以在列表1中的参考图片中搜索当前视频块的另一参考视频块。然后,运动估计单元1604可以生成指示包含参考视频块的列表0和列表1中的参考图片的参考索引,和指示参考视频块与当前视频块之间的空域位移的运动矢量。运动估计单元1604可以输出当前视频块的参考索引和运动矢量作为当前视频块的运动信息。运动补偿单元1605可以基于由当前视频块的运动信息指示的参考视频块生成当前视频块的预测视频块。
在一些示例中,运动估计单元1604可以输出用于解码器的解码处理的运动信息的完整集合。
在一些示例中,运动估计单元1604可以不输出当前视频的运动信息的完整集合。相反,运动估计单元1604可以参考另一视频块的运动信息来信令通知当前视频块的运动信息。例如,运动估计单元1604可以确定当前视频块的运动信息与相邻视频块的运动信息足够相似。
在一个示例中,运动估计单元1604可以在与当前视频块相关联的语法结构中指示值,该值向视频解码器1524指示当前视频块与另一视频块具有相同的运动信息。
在另一示例中,运动估计单元1604可以在与当前视频块相关联的语法结构中识别另一视频块和运动矢量差(MVD)。运动矢量差指示当前视频块的运动矢量与所指示视频块的运动矢量之间的差。视频解码器1524可以使用所指示视频块的运动矢量和运动矢量差来确定当前视频块的运动矢量。
如上所述,视频编码器1514可以预测地信令通知运动矢量。可由视频编码器1514实施的预测性信令技术的两个示例包括高级运动矢量预测(AMVP)和merge模式信令。
帧内预测单元1606可以对当前视频块执行帧内预测。当帧内预测单元1606对当前视频块执行帧内预测时,帧内预测单元1606可以基于同一图片中其他视频块的解码样点生成当前视频块的预测数据。当前视频块的预测数据可以包括预测视频块和各种语法元素。
残差生成单元1607可以通过从当前视频块减去(例如,由减号指示)当前视频块的(一个或多个)预测视频块来生成当前视频块的残差数据。当前视频块的残差数据可以包括对应于当前视频块中的样点的不同样点分量的残差视频块。
在其他示例中,例如在跳过模式下,可以没有当前视频块的残差数据,并且残差生成单元1607可以不执行减法操作。
变换单元1608可以通过将一个或多个变换应用于与当前视频块相关联的残差视频块来生成当前视频块的一个或多个变换系数视频块。
在变换单元1608生成与当前视频块相关联的变换系数视频块之后,量化单元1609可以基于与当前视频块相关联的一个或多个量化参数(QP)值对与当前视频块相关联的变换系数视频块进行量化。
逆量化单元1610和逆变换单元1611可分别对变换系数视频块应用逆量化和逆变换,以从变换系数视频块重建残差视频块。重建单元1612可以将重建的残差视频块添加到来自由预测单元1602生成的一个或多个预测视频块的对应样点中,以产生与当前块相关联的重建视频块,以存储在缓冲器1613中。
在重建单元1612重建视频块之后,可以执行环路滤波操作以减少视频块中的视频块效应伪影。
熵编码单元1614可以从视频编码器1600的其他功能组件接收数据。当熵编码单元1614接收到数据时,熵编码单元1614可以执行一个或多个熵编码操作以生成熵编码数据并输出包括熵编码数据的比特流。
图17是示出了视频解码器1700的示例的框图,其可以是图15所示的视频编解码系统1500中的视频解码器1524。
视频解码器1700可被配置为执行本公开的任何或所有技术。在图17的示例中,视频解码器1700包括多个功能组件。本公开中描述的技术可以在视频解码器1700的各个组件之间共享。在一些示例中,处理器可被配置为执行本公开中描述的任何或所有技术。
在图17的示例中,视频解码器1700包括熵解码单元1701、运动补偿单元1702、帧内预测单元1703、逆量化单元1704、逆变换单元1705、重建单元1706和缓冲器1707。在一些示例中,视频解码器1700可以执行与关于视频编码器1514(图15)描述的编码过程大体相反的解码过程。
熵解码单元1701可以检索编码的比特流。编码的比特流可包括熵编解码视频数据(例如,视频数据的编码块)。熵解码单元1701可以对熵编解码视频数据进行解码,并且运动补偿单元1702可以从熵解码视频数据确定包括运动矢量、运动矢量精度、参考图片列表索引的运动信息和其他运动信息。例如,运动补偿单元1702可以通过执行AMVP和merge模式信令来确定这样的信息。
运动补偿单元1702可以产生运动补偿块,可能基于插值滤波器执行插值。可以在语法元素中包括以子像素精度使用的插值滤波器的标识符。
运动补偿单元1702可以使用视频编码器1514在视频块的编码期间使用的插值滤波器来计算参考块的子整数像素的内插值。运动补偿单元1702可以根据接收到的语法信息确定视频编码器1514使用的插值滤波器,并使用该插值滤波器来产生预测块。
运动补偿单元1702可以使用一些语法信息来确定用于对编码的视频序列的(一个或多个)帧和/或(一个或多个)条带进行编码的块的大小、描述如何对编码的视频序列的图片的每个宏块进行分割的分区信息、指示如何对每个分区进行编码的模式、用于每个帧间编码块的一个或多个参考帧(和参考帧列表),以及用于对编码的视频序列进行编码的其他信息。
帧内预测单元1703可以使用例如在比特流中接收的帧内预测模式来从空域邻近块形成预测块。逆量化单元1704对在比特流中提供并由熵解码单元1701解码的量化视频块系数进行逆量化(即,去量化)。逆变换单元1705应用逆变换。
重建单元1706可以将残差块与由运动补偿单元1702或帧内预测单元1703生成的对应预测块相加,以形成解码块。如果需要,还可以应用去方块滤波器对解码块进行滤波,以去除块效应伪影。解码视频块随后存储在缓冲器1707中,缓冲器1707为后续运动补偿/帧内预测提供参考块,并且还产生解码的视频以在显示设备上呈现。
图18是根据本公开的实施例的用于编解码视频数据的方法1800。方法1800可由具有处理器和存储器的编解码装置(例如,编码器)执行。当确定如何选择NN滤波器模型或如何将其应用于视频单元时,可以实施方法1800。
在框1802中,编解码装置针对每个视频单元从多个神经网络(NN)滤波器模型候选中选择NN滤波器模型。在一个实施例中,针对第一视频单元(例如,第一条带、条带中的第一样点)选择的NN滤波器模型不同于针对第二视频单元(例如,第二条带、条带中的第二样点)选择的NN滤波器模型。在框1804中,编解码装置基于针对每个视频单元选择的NN滤波器模型在视频媒体文件与比特流之间进行转换。
当在编码器中实施时,转换包括接收媒体文件(例如,视频单元)并将对应于针对媒体文件选择的一个或多个NN滤波器模型的索引编码到比特流中。
当在解码器中实施时,转换包括接收包括对应于针对媒体文件选择的一个或多个NN滤波器模型的索引的比特流,以及解码该比特流以获得对应于针对媒体文件选择的一个或多个NN滤波器模型的索引。
在一个实施例中,方法1800可以利用或结合本文公开的其他方法的一个或多个特征或过程。
接下来提供一些实施例的优选的解决方案的列表。
以下解决方案示出了本公开中讨论的技术的示例实施例。
1.一种视频处理方法,包括:针对视频的视频单元与视频的编解码表示之间的转换,确定用于转换的去方块滤波器的一个或多个神经网络(NN)模型;以及基于该确定执行转换;其中,基于从可用于视频单元的多个NN候选模型中进行选择的规则来确定该一个或多个NN模型。
2.根据解决方案1的方法,其中,选择规则指定在每个视频单元的基础上选择一个或多个NN模型。
3.根据解决方案1的方法,其中,该一个或多个NN模型包括一个以上的NN模型。
4.根据解决方案1-3中任一解决方案的方法,其中,在编解码表示中指示该一个或多个NN模型。
5.根据解决方案1-3中任一解决方案的方法,其中,使用对应的一个或多个索引在编解码表示中指示该一个或多个NN模型。
6.根据解决方案5的方法,其中,选择规则指定视频的不同颜色分量共享该一个或多个NN模型。
7.根据解决方案5的方法,其中,选择规则指定视频的不同颜色分量具有不同的一个或多个NN模型。
8.根据解决方案1的方法,其中,确定是基于视频单元的编解码信息和/或一个或多个相邻视频单元的编解码信息。
以下解决方案示出了本公开中讨论的技术的示例实施例。
9.一种视频处理方法,包括:在视频的视频单元和该视频的编解码表示之间执行转换,其中,编解码表示符合规则,其中规则指定是否以及如何在编解码表示中指示用于转换的去方块滤波器的一个或多个神经网络(NN)模型。
10.根据解决方案9的方法,其中,规则指定针对第一级别的视频单元包括多个NN模型,并且其中规则进一步指定根据视频的编解码条件确定来自多个模型的NN模型与第二级别的视频单元的子区域之间的对应关系。
11.根据解决方案10的方法,其中,第一级别是图片级别或条带级别,第二级别是编解码树单元或编解码树块级别。
以下解决方案示出了本公开中讨论的技术的示例实施例。
12.根据解决方案9的方法,其中,规则指定根据编解码表示中的语法元素启用一个或多个NN模型。
以下解决方案示出了本公开中讨论的技术的示例实施例。
13.根据解决方案9的方法,其中,规则指定基于条件在编解码表示中选择性地指示NN模型。
14.根据解决方案13的方法,其中,条件是针对视频单元启用一个或多个NN模型的使用。
以下解决方案示出了本公开中讨论的技术的示例实施例。
15.一种视频处理方法,包括:根据规则在视频的视频单元和该视频的编解码表示之间执行转换;其中,规则指定用于转换期间使用的去方块滤波器的计算神经网络(CNN)模型与视频单元的重建视频的质量和/或用于指示CNN模型的语法结构之间的关系。
16.根据解决方案15的方法,其中,规则针对每个质量级别指定预先训练的CNN模型。
17.根据解决方案15的方法,其中,规则指定量化参数级别与CNN模型之间的关系。
以下解决方案示出了本公开中讨论的技术的示例实施例。
18.一种视频处理方法,包括:根据规则在包括多个时域层的视频与该视频的编解码表示之间执行转换;其中,规则指定用于跨不同时域层的对应或同位的视频单元的去方块滤波的计算神经网络(CNN)模型之间的关系。
19.根据解决方案18的方法,其中,规则指定针对跨不同时域层的对应视频单元使用相同的CNN模型。
20.根据解决方案18的方法,其中,规则规定将时域层组织成不同的子组,使得相同的CNN模型用于每个子组中的对应视频单元。
21.根据解决方案1-20中任一解决方案的方法,其中,转换包括对编解码表示进行解析和解码以生成视频。
22.根据解决方案1-20中任一解决方案的方法,其中,转换包括对视频进行编码以生成编解码表示。
23.一种视频解码装置,包括处理器,其被配置为实施解决方案1至22中的一个或多个中所述的方法。
24.一种视频编码装置,包括处理器,其被配置为实施在解决方案1到22中的一个或多个解决方案中叙述的方法。
25.一种计算机程序产品,其上存储有计算机代码,当该代码由处理器执行时,使得处理器实施在解决方案1至22中任一解决方案中叙述的方法。
26.一种本文档中描述的方法、装置或系统。本文档中描述的公开和其他解决方案、示例、实施例、模块和功能操作可在数字电子电路中或在计算机软件、固件或硬件(包括本文档中公开的结构及其结构等效物,或以它们中的一种或多种的组合)中实施。所公开的实施例和其他实施例可以实施为一个或多个计算机程序产品,即,编码在计算机可读介质上的计算机程序指令的一个或多个模块,用于由数据处理装置执行或控制其操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储设备、影响机器可读传播信号的物质的组合物,或者它们中的一个或多个的组合。术语“数据处理装置”包括用于处理数据的所有装置、设备和机器,例如包括可编程处理器、计算机或多个处理器或计算机。除了硬件之外,装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。传播信号是人为生成的信号,例如,机器生成的电、光或电磁信号,其被生成用于对信息进行编码以传输到合适的接收器装置。
通过引用将以下文件整体并入:
[1]Johannes Ballé、Valero Laparra和Eero P Simoncelli,“End-to-endoptimization of nonlinear transform codes for perceptual quality”(“感知质量的非线性变换代码的端到端优化”),PCS IEEE(2016),1-5。
[2]Lucas Theis、Wenzhe Shi、Andrew Cunningham和Ferenc Huszár,“Lossyimage compression with compressive autoencoders”(“使用压缩自动编解码器的有损图像压缩”),arXiv预印本arXiv:1703.00395(2017)。
[3]Jiahao Li、Bin Li、Jizheng Xu、Ruiqin Xiong和Wen Gao,“Fully ConnectedNetwork-Based Intra Prediction for Image Coding”(“用于图像编解码的基于全连接网络的帧内预测”),IEEE图像处理学报,27,7(2018),3236-3247。
[4]Yuanying Dai、Dong Liu和Feng Wu,“A convolutional neural networkapproach for post-processing in HEVC intra coding”(“用于HEVC帧内编解码中后处理的卷积神经网络方法”),MMM.Springer,28-39。
[5]Rui Song、Dong Liu、Houqiang Li和Feng Wu,“Neural network-basedarithmetic coding of intra prediction modes in HEVC”(“HEVC中基于神经网络的帧内预测模式算术编解码”),VCIP IEEE(2017),1-4。
[6]J.Pfaff、P.Helle、D.Maniry、S.Kaltenstadler、W.Samek、H.Schwarz、D.Marpe和T.Wiegand的“Neural network based intraprediction for video coding”(“用于视频编解码的基于神经网络的帧内预测”),数字图像处理应用XLI,第10752卷,国际光学和光子学会,1075213(2018)。
计算机程序(也称为程序、软件、软件应用程序、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程,或其他适合在计算环境中使用的单元。计算机程序不一定与文件系统中的文件相对应。程序可以存储在保存其他程序或数据的文件的一部分(例如,标记语言文档中存储的一个或多个脚本)、专用于所讨论的程序的单个文件或多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。计算机程序可以被部署在一台计算机上以被执行或者被部署在位于一个站点或分布在多个站点并通过通信网络互连的多台计算机上以被执行。
本文档中描述的过程和逻辑流可由一个或多个可编程处理器执行,该处理器执行一个或多个计算机程序,通过操作输入数据和生成输出来执行功能。过程和逻辑流还可以由专用逻辑电路执行,并且装置也可以实现为专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
例如,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储设备。通常,计算机还将包括或操作地耦合以从用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘)接收数据或向其传输数据或两者。然而,计算机不需要具有这样的设备。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)和闪存设备;磁盘,例如内部硬盘或可移动盘;磁光盘;以及光盘只读存储器(CD-ROM)和数字多功能光盘只读存储器(DVD-ROM)盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路中。
尽管本专利文档包含许多细节,但这些细节不应被解释为对任何主题或可能要求保护的内容的范围的限制,而是对可能特定于特定技术的特定实施例的特征的描述。本专利文档中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实施。此外,尽管上述特征可以被描述为在某些组合中起作用,甚至最初被声称为这样,但在一些情况下,可以从组合中删除来自所声称的组合的一个或多个特征,并且所声称的组合可以被定向到子组合或子组合的变体。
类似地,虽然在附图中以特定次序描述操作,但这不应理解为要求以所示的特定次序或顺序次序执行此类操作,或要求执行所有图示操作以实现期望结果。此外,本专利文档中描述的实施例中的各种系统组件的分离不应理解为在所有实施例中都需要这种分离。
仅描述了一些实施方式和示例,并且可以基于本专利文档中描述和说明的内容来做出其他实施方式、增强和变化。
Claims (20)
1.一种由视频编解码装置实施的方法,包括:
针对每个视频单元从多个神经网络(NN)滤波器模型候选中选择NN滤波器模型,其中针对第一视频单元选择的NN滤波器模型不同于针对第二视频单元选择的NN滤波器模型;以及
基于针对每个视频单元选择的NN滤波器模型在视频媒体文件与比特流之间进行转换。
2.根据权利要求1所述的方法,还包括在所述选择之前导出包含所述多个NN滤波器模型候选的NN滤波器模型索引。
3.根据权利要求1所述的方法,其中,所述视频单元是图片序列、图片、条带、片、砖块、子图片、编解码树单元(CTU)、CTU行和编解码单元(CU)中的一个,并且其中,与所述图片序列、所述图片、所述条带、所述片、所述砖块、所述子图片、所述CTU、所述CTU行和所述CU中的每一个对应的所述多个NN滤波器模型候选是不同的。
4.根据权利要求1所述的方法,其中,所述多个滤波器模型候选包含用于所述视频单元的亮度分量的第一NN滤波器模型候选集合和用于所述视频单元的色度分量的第二NN滤波器模型候选集合。
5.根据权利要求4所述的方法,其中,所述第一NN滤波器模型候选集合包含与所述第二NN滤波器模型候选集合不同数量的NN滤波器模型候选。
6.根据权利要求1所述的方法,其中,所述多个NN滤波器模型候选依赖于所述视频单元的树分割结构,其中所述树分割结构包括单树或双树。
7.根据权利要求1所述的方法,其中,信令通知或导出一个或多个语法元素以表示NN滤波器模型索引,并且其中所述NN滤波器模型索引对应于NN滤波器模型候选。
8.根据权利要求7所述的方法,其中,所述NN滤波器模型索引对应于所述多个NN滤波器模型候选中的一个NN滤波器模型候选。
9.根据权利要求1所述的方法,其中,针对所述视频单元中的每个颜色分量,信令通知标识所述多个NN滤波器模型候选中的一个或多个NN滤波器模型候选的NN滤波器模型索引。
10.根据权利要求7所述的方法,其中,信令通知指示所述NN滤波器模型索引是否由所述视频单元中的不同颜色分量共享的标志。
11.根据权利要求1所述的方法,其中,信令通知指示所选择的NN滤波器模型将用于所述视频单元还是将用于所述视频单元的颜色分量的标志。
12.根据权利要求11所述的方法,其中,将所述标志二值化为二进制位字符串,并且用一个或多个上下文或用旁路模式对至少一个二进制位进行编解码。
13.根据权利要求11所述的方法,其中,用固定长度码、一元码、截断一元码、指数Golomb码或截断指数Golomb码对所述标志进行二值化。
14.根据权利要求11所述的方法,其中,基于当前块或相邻块的编解码信息对所述标志进行二值化,并且其中所述编解码信息包括一个或多个量化参数。
15.根据权利要求7所述的方法,其中,信令通知标志以指示所述NN滤波器模型索引是至少部分地基于先前NN滤波器模型索引预测的还是从所述先前NN滤波器模型索引继承的。
16.根据权利要求11所述的方法,其中,在图片级别、条带级别、编解码树块(CTB)级别或编解码树单元(CTU)级别信令通知所述标志。
17.根据权利要求11所述的方法,其中,所述标志指示应如何将所述NN滤波器模型应用于所述视频单元内的子视频单元,或者应如何针对所述子视频单元信令通知所述NN滤波器模型索引。
18.根据权利要求11所述的方法,其中,所述标志指示所述视频单元内的所有样点是否共享相同的开和关控制,并指示要应用于所述样点的所述NN滤波器模型。
19.一种用于编解码视频数据的装置,所述装置包括处理器和在其上具有指令的非暂时性存储器,其中所述指令在被所述处理器执行时使得所述处理器:
针对每个视频单元从多个神经网络(NN)滤波器模型候选中选择NN滤波器模型,其中针对第一视频单元选择的NN滤波器模型不同于针对第二视频单元选择的NN滤波器模型;以及
基于针对每个视频单元选择的NN滤波器模型在视频媒体文件与比特流之间进行转换。
20.一种非暂时性计算机可读介质,包括供编解码装置使用的计算机程序产品,所述计算机程序产品包括存储在所述非暂时性计算机可读介质上的计算机可执行指令,当所述计算机可执行指令由一个或多个处理器执行时,使得所述编解码装置:
针对每个视频单元从多个神经网络(NN)滤波器模型候选中选择NN滤波器模型,其中针对第一视频单元选择的NN滤波器模型不同于针对第二视频单元选择的NN滤波器模型;以及
基于针对每个视频单元选择的NN滤波器模型在视频媒体文件与比特流之间进行转换。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063123973P | 2020-12-10 | 2020-12-10 | |
US63/123,973 | 2020-12-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114630132A true CN114630132A (zh) | 2022-06-14 |
CN114630132B CN114630132B (zh) | 2023-12-19 |
Family
ID=81897710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111505591.4A Active CN114630132B (zh) | 2020-12-10 | 2021-12-10 | 视频编解码的基于神经网络的环路内滤波器中的模型选择 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11716469B2 (zh) |
CN (1) | CN114630132B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024061330A1 (en) * | 2022-09-21 | 2024-03-28 | Douyin Vision Co., Ltd. | Method, apparatus, and medium for video processing |
WO2024149081A1 (en) * | 2023-01-11 | 2024-07-18 | Douyin Vision Co., Ltd. | Method, apparatus, and medium for video processing |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12058314B2 (en) * | 2021-04-30 | 2024-08-06 | Tencent America LLC | Block-wise content-adaptive online training in neural image compression with post filtering |
US20220405979A1 (en) * | 2021-06-16 | 2022-12-22 | Tencent America LLC | Content-adaptive online training method and apparatus for deblocking in block-wise image compression |
WO2023245194A1 (en) * | 2022-06-17 | 2023-12-21 | Bytedance Inc. | Partitioning information in neural network-based video coding |
WO2023241634A1 (en) * | 2022-06-18 | 2023-12-21 | Beijing Bytedance Network Technology Co., Ltd. | Method, apparatus, and medium for video processing |
WO2024010672A1 (en) * | 2022-07-05 | 2024-01-11 | Qualcomm Incorporated | Neural network based filtering process for multiple color components in video coding |
WO2024016156A1 (zh) * | 2022-07-19 | 2024-01-25 | Oppo广东移动通信有限公司 | 滤波方法、编码器、解码器、码流以及存储介质 |
WO2024054927A1 (en) * | 2022-09-08 | 2024-03-14 | Bytedance Inc. | Method, apparatus, and medium for video processing |
WO2024078599A1 (en) * | 2022-10-13 | 2024-04-18 | Douyin Vision Co., Ltd. | Method, apparatus, and medium for video processing |
WO2024078598A1 (en) * | 2022-10-13 | 2024-04-18 | Douyin Vision Co., Ltd. | Method, apparatus, and medium for video processing |
WO2024086568A1 (en) * | 2022-10-17 | 2024-04-25 | Bytedance Inc. | Method, apparatus, and medium for video processing |
WO2024141079A1 (en) * | 2022-12-31 | 2024-07-04 | Beijing Bytedance Network Technology Co., Ltd. | Method, apparatus, and medium for video processing |
WO2024149310A1 (en) * | 2023-01-12 | 2024-07-18 | Douyin Vision Co., Ltd. | Method, apparatus, and medium for video processing |
WO2024208338A1 (en) * | 2023-04-06 | 2024-10-10 | Douyin Vision Co., Ltd. | Method, apparatus, and medium for video processing |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105850121A (zh) * | 2013-11-15 | 2016-08-10 | 联发科技股份有限公司 | 用于基于块的自适应环路滤波的滤波器控制的方法 |
JP2018041319A (ja) * | 2016-09-08 | 2018-03-15 | 日本電信電話株式会社 | 移動状況学習装置、移動状況認識装置、方法、及びプログラム |
WO2018128239A1 (ko) * | 2017-01-03 | 2018-07-12 | 엘지전자 주식회사 | 영상 코딩 시스템에서 블록 분할 구조에 따른 영상 디코딩 방법 및 장치 |
CN109714584A (zh) * | 2019-01-11 | 2019-05-03 | 杭州电子科技大学 | 基于深度学习的3d-hevc深度图编码单元快速决策方法 |
CN110046693A (zh) * | 2018-01-13 | 2019-07-23 | Arm有限公司 | 选择编码选项 |
WO2019201239A1 (en) * | 2018-04-17 | 2019-10-24 | Mediatek Inc. | Method and apparatus of neural network for video coding |
CN110401836A (zh) * | 2018-04-25 | 2019-11-01 | 杭州海康威视数字技术股份有限公司 | 一种图像解码、编码方法、装置及其设备 |
US20200012926A1 (en) * | 2018-07-05 | 2020-01-09 | Hitachi, Ltd. | Neural network learning device and neural network learning method |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019009448A1 (ko) * | 2017-07-06 | 2019-01-10 | 삼성전자 주식회사 | 영상을 부호화 또는 복호화하는 방법 및 장치 |
EP3685577A4 (en) * | 2017-10-12 | 2021-07-28 | MediaTek Inc. | METHOD AND DEVICE OF A NEURAL NETWORK FOR VIDEO ENCODING |
US20190289327A1 (en) * | 2018-03-13 | 2019-09-19 | Mediatek Inc. | Method and Apparatus of Loop Filtering for VR360 Videos |
US10999606B2 (en) * | 2019-01-08 | 2021-05-04 | Intel Corporation | Method and system of neural network loop filtering for video coding |
US11930215B2 (en) * | 2020-09-29 | 2024-03-12 | Qualcomm Incorporated | Multiple neural network models for filtering during video coding |
-
2021
- 2021-12-07 US US17/544,638 patent/US11716469B2/en active Active
- 2021-12-10 CN CN202111505591.4A patent/CN114630132B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105850121A (zh) * | 2013-11-15 | 2016-08-10 | 联发科技股份有限公司 | 用于基于块的自适应环路滤波的滤波器控制的方法 |
JP2018041319A (ja) * | 2016-09-08 | 2018-03-15 | 日本電信電話株式会社 | 移動状況学習装置、移動状況認識装置、方法、及びプログラム |
WO2018128239A1 (ko) * | 2017-01-03 | 2018-07-12 | 엘지전자 주식회사 | 영상 코딩 시스템에서 블록 분할 구조에 따른 영상 디코딩 방법 및 장치 |
CN110046693A (zh) * | 2018-01-13 | 2019-07-23 | Arm有限公司 | 选择编码选项 |
WO2019201239A1 (en) * | 2018-04-17 | 2019-10-24 | Mediatek Inc. | Method and apparatus of neural network for video coding |
CN110401836A (zh) * | 2018-04-25 | 2019-11-01 | 杭州海康威视数字技术股份有限公司 | 一种图像解码、编码方法、装置及其设备 |
US20200012926A1 (en) * | 2018-07-05 | 2020-01-09 | Hitachi, Ltd. | Neural network learning device and neural network learning method |
CN109714584A (zh) * | 2019-01-11 | 2019-05-03 | 杭州电子科技大学 | 基于深度学习的3d-hevc深度图编码单元快速决策方法 |
Non-Patent Citations (3)
Title |
---|
KAI ZHANG ET AL.: "Beyand a Gaussian Deniser:Residual Learning of Deep CNN for Image Denoising", 《IEEE TRANSACTIONS ON IMAGE PROCESSING》 * |
丁丹丹等: "多特征增量学习的视频重建图像质量增强算法", 《万方数据库》 * |
王飞锋; 陈婧; 曾焕强; 蔡灿辉: "参数重用的HEVC多描述视频编码", 《信号处理》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024061330A1 (en) * | 2022-09-21 | 2024-03-28 | Douyin Vision Co., Ltd. | Method, apparatus, and medium for video processing |
WO2024149081A1 (en) * | 2023-01-11 | 2024-07-18 | Douyin Vision Co., Ltd. | Method, apparatus, and medium for video processing |
Also Published As
Publication number | Publication date |
---|---|
CN114630132B (zh) | 2023-12-19 |
US20220191483A1 (en) | 2022-06-16 |
US11716469B2 (en) | 2023-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114630132B (zh) | 视频编解码的基于神经网络的环路内滤波器中的模型选择 | |
CN114339221B (zh) | 用于视频编解码的基于卷积神经网络的滤波器 | |
US12113995B2 (en) | Neural network-based post filter for video coding | |
US11792438B2 (en) | Using neural network filtering in video coding | |
US12022098B2 (en) | Neural network-based in-loop filter with residual scaling for video coding | |
US20220337853A1 (en) | On Neural Network-Based Filtering for Imaging/Video Coding | |
US20220394288A1 (en) | Parameter Update of Neural Network-Based Filtering | |
US12095988B2 (en) | External attention in neural network-based video coding | |
US20230051066A1 (en) | Partitioning Information In Neural Network-Based Video Coding | |
US20240056570A1 (en) | Unified Neural Network Filter Model | |
US20240298020A1 (en) | Unified Neural Network In-Loop Filter | |
CN115225895A (zh) | 统一神经网络环路滤波器信令通知 | |
US20220394309A1 (en) | On Padding Methods For Neural Network-Based In-Loop Filter | |
US20230023579A1 (en) | Configurable Neural Network Model Depth In Neural Network-Based Video Coding | |
CN112262574A (zh) | 一种用于帧内预测的设备和方法 | |
WO2024010860A1 (en) | Geometric transform in neural network-based coding tools for video coding | |
WO2024148056A1 (en) | On unified neural network for in-loop filtering for video coding | |
CN118044195A (zh) | 用于视频处理的方法、设备和介质 | |
WO2023245194A1 (en) | Partitioning information in neural network-based video coding | |
CN118805374A (zh) | 用于视频处理的方法、装置及介质 | |
CN118266217A (zh) | 用于视频处理的方法、设备和介质 | |
CN118633289A (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 |