CN114793282B - 带有比特分配的基于神经网络的视频压缩 - Google Patents
带有比特分配的基于神经网络的视频压缩 Download PDFInfo
- Publication number
- CN114793282B CN114793282B CN202210087538.5A CN202210087538A CN114793282B CN 114793282 B CN114793282 B CN 114793282B CN 202210087538 A CN202210087538 A CN 202210087538A CN 114793282 B CN114793282 B CN 114793282B
- Authority
- CN
- China
- Prior art keywords
- video
- unit
- current video
- frame
- current
- 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.)
- Active
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 89
- 230000006835 compression Effects 0.000 title abstract description 90
- 238000007906 compression Methods 0.000 title abstract description 90
- 238000003672 processing method Methods 0.000 claims abstract description 13
- 230000007704 transition Effects 0.000 claims abstract description 4
- 238000000034 method Methods 0.000 claims description 134
- 238000013139 quantization Methods 0.000 claims description 30
- 230000006870 function Effects 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 22
- 230000002123 temporal effect Effects 0.000 claims description 21
- 238000006243 chemical reaction Methods 0.000 claims description 15
- 230000015654 memory Effects 0.000 claims description 6
- 239000013598 vector Substances 0.000 description 16
- 238000010586 diagram Methods 0.000 description 13
- 238000003860 storage Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 12
- 238000004590 computer program Methods 0.000 description 10
- 238000009826 distribution Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 10
- 238000012549 training Methods 0.000 description 10
- 238000011156 evaluation Methods 0.000 description 9
- 230000009466 transformation Effects 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 8
- 230000015572 biosynthetic process Effects 0.000 description 6
- 238000003786 synthesis reaction Methods 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000001537 neural effect Effects 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 239000000203 mixture Substances 0.000 description 4
- 230000000644 propagated effect Effects 0.000 description 4
- 101000933252 Homo sapiens Protein BEX3 Proteins 0.000 description 3
- 102100025955 Protein BEX3 Human genes 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 102100037812 Medium-wave-sensitive opsin 1 Human genes 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- CMWTZPSULFXXJA-VIFPVBQESA-N naproxen Chemical compound C1=C([C@H](C)C(O)=O)C=CC2=CC(OC)=CC=C21 CMWTZPSULFXXJA-VIFPVBQESA-N 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000001303 quality assessment method Methods 0.000 description 1
- 235000008001 rakum palm Nutrition 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/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
-
- 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/587—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
-
- 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
-
- 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/044—Recurrent networks, e.g. Hopfield 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/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
-
- 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/109—Selection of coding mode or of prediction mode among a plurality of temporal 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/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/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- 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/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/177—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 group of pictures [GOP]
-
- 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/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/31—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
-
- 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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/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
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (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
提供了一种带有比特分配的基于神经网络的视频压缩。一种视频处理方法,包括确定视频的当前视频单元的目标比特率,目标比特率基于率失真函数,在率失真函数中使用λ对比率部分进行加权,其中λ是有理数,并且其中λ是针对视频的每个视频单元自适应调整的,以及执行当前视频单元和视频的比特流之间的转换。
Description
交叉引用
根据适用的专利法和/或依据巴黎公约的规则,本申请是为了及时要求2021年1月25日提交的美国专利申请第63/141,059号的优先权和权益。所有上述专利申请全部引入本文作为参考。
技术领域
本专利文档涉及数字音频视频媒体信息的生成、存储和消费。
背景技术
数字视频占互联网和其他数字通信网络上最大的带宽使用。随着能够接收和显示视频的连接用户设备数量的增加,预计数字视频使用的带宽需求将继续增长。
发明内容
本文档公开了可由视频编码器和解码器用于处理视频或图像的编解码表示的技术。
在一个示例方面,公开了一种视频处理方法。该方法包括确定视频的当前视频单元的目标比特率,目标比特率基于率失真函数,其中使用λ对比率部分进行加权,其中λ是有理数,并且其中λ是对视频的每个视频单元自适应调整的;以及执行当前视频单元和视频的比特流之间的转换。
在另一示例方面,公开了一种视频处理方法。该方法包括:使用神经网络,使用率失真函数确定具有多个时域层的视频的每个时域层的目标比特率,其中使用时域层特定的λ值对率失真函数的比率部分进行加权,其中每个λ值是基本λ值的缩放版本,其中λ值是有理数;以及执行当前视频单元和视频的比特流之间的转换。
在另一示例方面,公开了一种视频处理方法。该方法包括根据规则在包括当前视频帧的视频和该视频的比特流之间执行转换;其中使用N个参考帧对当前视频帧进行预测编解码,其中N是大于2的整数。
在另一示例方面,公开了一种视频处理方法。该方法包括根据率失真函数确定视频单元的视频区域的目标比特率,其中使用每个视频区域的区域特定的λ值对率失真函数的比率部分进行加权;以及执行当前视频单元和视频的比特流之间的转换。
在另一示例方面,公开了一种视频处理方法。该方法包括根据规则在包括视频帧的视频和视频的比特流之间执行转换;其中规则指定使用残差帧在比特流中编解码视频帧的当前视频帧,所述残差帧使用基于从多个视频帧确定的插值帧的残差来编解码。
在又一示例方面,公开了一种视频编码器装置。该视频编码器包括被配置为实现上述方法的处理器。
在又一示例方面,公开了一种视频解码器装置。该视频解码器包括被配置为实现上述方法的处理器。
在又一示例方面,公开了一种其上存储有代码的计算机可读介质。该代码以处理器可执行代码的形式体现了本文描述的方法之一。
在又一示例方面,公开了一种其上存储有比特流的计算机可读介质。使用本文档中描述的方法生成或处理该比特流。
本文档通篇描述了这些和其他特征。
附图说明
图1是示例视频处理***的框图。
图2是视频处理设备的框图。
图3是视频处理的示例方法的流程图。
图4是示出根据本公开的一些实施例的视频编解码***的框图。
图5是示出根据本公开的一些实施例的编码器的框图。
图6是示出根据本公开的一些实施例的解码器的框图。
图7示出了编码器框图示例。
图8是典型变换编解码方案的图示。
图9示出了提出的视频处理方法的示例框架
图10示出了图片组(group of pictures,GOP)中层次层次压缩结构的示例。
图11示出了双向帧合成(bi-directional frame synthesis,BFS)模块的示例。
图12是辅助预测残差编解码示例的图示。
具体实施方式
为了便于理解,在本文档中使用了章节标题,并且不将每个章节中公开的技术和实施例的适用性仅限于该章节。此外,在一些描述中使用H.266术语仅仅是为了便于理解,而不是为了限制所公开技术的范围。这样,本文描述的技术也适用于其他视频编解码器协议和设计。在本文档中,相对于VVC规范或ISOBMFF文件格式规范的当前草案,对文本的编辑更改以删除线显示,指示取消的文本,并且通过突出显示(包括粗体斜体)表示增加的文本。
1.介绍
本文档涉及使用神经网络的视频压缩,并且更具体地,涉及为基于神经网络(基于NN)的视频压缩的比特分配。它可以应用于端到端(end-to-end)压缩框架,其中所有模块都在联合优化。它也可以应用于混合压缩框架,其中基于神经网络的编解码工具被集成到现有视频编解码标准(例如,HEVC、VVC)或未来视频编解码标准的框架中。
所描述的技术涉及最佳率失真(R-D)性能的改进算法和方法。通常,所描述的技术能够在基于神经网络的视频编解码***中实现自适应比特分配。也就是说,通过调整每个层次级别的比特分布以适应各种序列的固有率失真(R-D)特性,提供了与内容相关的比特分配机制。例如,自适应比特分配可以基于视频内容调整不同图片之间的比特百分比,使得重要图片总是能够以更好的质量被编解码,从而导致更好的R-D性能。此外,比特分配也可以在基本单元(basic unit,BU)级别执行,即调整图片内不同小补丁(patch)的比特分布。
为了进一步提高帧间编解码性能,本文提出了多参考帧技术。例如,当对较高时域层中的帧进行编码时,缓冲区中存在多于两个的重建的帧,除了两个基本参考帧之外,可以利用重建的帧来增强帧间编解码增益。
为了进一步开发对来自帧间预测的残差进行编解码的方法,本文提出了辅助预测残差编解码的技术。例如,当压缩和解压缩帧间预测的帧的残差部分时,帧间预测的图片可以提供附加信息来帮助学习更紧凑的潜在表示,从而使得编解码性能的提高。
视频编解码介绍
过去的十年见证了深度学习在各种领域的快速发展,尤其是在计算机视觉和图像处理领域。受深度学习技术在计算机视觉领域的巨大成功的启发,许多研究人员已经将注意力从传统的图像/视频压缩技术转移到神经图像/视频压缩技术。神经网络最初是随着神经科学和数学的交叉研究而发明的。它在非线性变换和分类方面表现出很强的能力。在过去的五年中,基于神经网络的图像/视频压缩技术取得了重大进展。据报道,最新的基于神经网络的图像压缩算法实现了与通用视频编解码(VVC)相当的R-D性能,通用视频编解码是联合视频专家团队(JVET)与MPEG和VCEG的专家共同开发的最新视频编解码标准。随着神经图像压缩性能的不断提高,基于神经网络的视频压缩已经成为积极发展的研究领域。然而,基于神经网络的视频编解码由于其固有的困难性仍处于起步阶段。
图像/视频压缩
图像/视频压缩通常是指将图像/视频压缩成二进制代码以方便存储和传输的计算技术。二进制代码可能支持也可能不支持无损重建原始图像/视频,称为无损压缩和有损压缩。大部分精力都放在有损压缩上,因为无损重建在大多数情况下是不必要的。通常从压缩比和重建质量两个方面来评价图像/视频压缩算法的性能。压缩比与二进制码数直接相关,越少越好;重建质量是通过将重建的图像/视频与原始图像/视频进行比较来衡量的,越高越好。
图像/视频压缩技术可以分为两个分支,经典的视频编解码方法和基于神经网络的视频压缩方法。经典的视频编解码方案采用基于变换的解决方案,其中研究人员通过精心手工设计熵编码(hand-engineering entropy code)来模拟量化区域中的相关性,从而利用了潜在变量(例如,DCT或小波系数)中的统计相关性。基于神经网络的视频压缩有两种风格,即基于神经网络的编解码工具和基于端到端神经网络的视频压缩。前者作为编解码工具嵌入到现有的经典的视频编解码器中,并且仅作为框架的一部分,而后者是基于神经网络开发的独立框架,不依赖于经典的视频编解码器。
在过去的三十年中,已经开发了一系列经典的视频编解码标准来适应日益增长的视觉内容。国际标准化组织ISO/IEC有两个专家组,即联合图像专家组(JPEG)和运动图片专家组(MPEG),ITU-T也有自己的视频编解码专家组(VCEG),其负责图像/视频编解码技术的标准化。这些组织发布的有影响力的视频编解码标准包括JPEG、JPEG 2000、H.262、H.264/AVC和H.265/HEVC。继H.265/HEVC之后,由MPEG和VCEG组成的联合视频专家团队(JVET)一直致力于一种新的视频编解码标准——通用视频编解码(VVC)。VVC的第一版于2020年7月发布。与HEVC相比,在相同的视觉质量下,VVC平均降低了50%的比特率。
基于神经网络的图像/视频压缩并不是新发明,因为有许多研究人员致力于基于神经网络的图像编码。但网络架构相对较浅,并且性能不尽如人意。得益于丰富的数据和强大计算资源的支持,基于神经网络的方法在各种应用中得到了更好的利用。目前,基于神经网络的图像/视频压缩已经显示出有希望的改进,证实了其可行性。尽管如此,这项技术仍远未成熟,还有许多挑战需要解决。
2.2神经网络
神经网络,又称人工神经网络(artificial neural network,ANN),是机器学习技术中使用的计算模型,通常包括多个处理层,每层包括多个简单但非线性的基本计算单元。这种深度网络的一个好处被认为是能够处理具有多个抽象级别的数据,并将数据转换成不同类型的表示。请注意,这些表示不是手动设计的;相反,包括处理层的深度网络是使用通用机器学习过程从海量数据中学习的。深度学习消除了手工表示的必要性,因此被认为特别适用于处理原始的非结构化数据,诸如声音和视觉信号,而处理这种数据一直是人工智能领域的长期难题。
2.3图像压缩的神经网络
现有的神经网络图像压缩方法可以分为两类,即像素概率建模和自动编码器。前者属于预测编解码策略,而后者是基于变换的解决方案。有时,这两种方法在文献中结合在一起。
2.3.1像素概率建模
根据香农信息论(Shannon’s information theory),无损编解码的最佳方法可以达到最小码率log2p(x),其中p(x)是符号x的概率。文献中发展了许多无损编解码方法,其中算术编解码被认为是最佳方法之一。给定概率分布p(x),算术编解码确保编解码比率尽可能接近其理论极限log2p(x),而不考虑取整误差。因此,剩下的问题是如何确定概率,然而由于维数灾难,这对于自然图像/视频来说是非常具有挑战性的。
遵循预测编解码策略,建模p(x)的一种方法是基于先前的观察,以光栅扫描顺序逐个预测像素概率,其中x是图像。
p(x)=p(x1)p(x2|x1)…p(xi|x1,…,xi-1)…p(xm×n|x1,…,xm×n-1) (1)
其中m和n分别是图像的高度和宽度。先前的观察也被称为当前像素的上下文(context)。当图像较大时,很难估计条件概率,因此简化的方法是限制其上下文的范围。
p(x)=p(x1)p(x2|x1)…p(xi|xi-k,…,xi-1)…p(xm×n|xm×n-k,…,xm×n-1) (2)
其中k是控制上下文范围的预定义常数。
应当注意,该条件也可以考虑其他颜色分量的样点值。例如,当编解码RGB颜色分量时,R样点依赖于先前编解码的像素(包括R/G/B样点),当前G样点可以根据先前编解码的像素和当前R样点进行编解码,而对于编解码当前B样点,也可以考虑先前编解码的像素和当前R和G样点。
神经网络最初是为计算机视觉任务而引入的,并已被证明在回归和分类问题中是有效的。因此,已经提出使用神经网络来估计给定其上下文x1,x2,...,xi-1的概率p(xi)。提出了二进制图像(即xi∈{-1,+1})的像素概率。神经自回归分布估计器(neuralautoregressive distribution estimator,NADE)被设计用于在具有单个隐藏层的前馈网络中的像素概率建模。介绍了类似的工作,前馈网络也有跳过隐藏层的连接,并且参数也是共享的。对二进制化的MNIST数据集进行实验。NADE被推广到实值模型RNADE,其中概率p(xi|x1,...,xi-1)是由高斯混合导出的。他们的前馈网络也有单个隐藏层,但隐藏层带有重新缩放以避免饱和,并使用整流线性单元(ReLU)代替sigmoid。NADE和RNADE通过重新组织像素的顺序和更深的神经网络得到了改进。
设计先进的神经网络在改进像素概率建模方面起着重要作用。提出了多维长短期记忆(long short-term memory,LSTM),它与条件高斯尺度混合的混合一起用于概率建模。LSTM是特殊种类的递归神经网络(recurrent neural network,RNN),被证明能够很好地对序列数据进行建模。LSTM的空域变体用于图像。分别研究了几种不同的神经网络,包括RNN和CNN,即PixelRNN和PixelCNN。在PixelRNN中,提出了LSTM的两种变体,称为行(row)LSTM和对角线BiLSTM,其中后者是专门为图像设计的。PixelRNN结合了残差连接,帮助训练多达12层的深度神经网络。在PixelCNN中,使用掩膜卷积(masked convolution)来适应上下文的形状。与之前的工作相比,PixelRNN和PixelCNN更专注于自然图像:它们将像素视为离散值(例如,0,1,…,255),并预测离散值上的多项式分布;它们在RGB颜色空间中处理彩色图像;它们在大尺寸图像数据集ImageNet上运行良好。提出了门控PixelCNN以改进PixelCNN,并获得了与PixelRNN相当的性能,但复杂度要低得多。提出了PixelCNN++,对PixelCNN进行了以下改进:使用离散逻辑混合似然,而不是256路多项式分布;下采样用于捕获多个分辨率的结构;引入附加的捷径连接(short-cut connection)以加快训练速度;为正则化采用丢弃(dropout);RGB是为一个像素进行组合。提出了PixelSNAIL,其中随意的卷积与自注意力(self-attention)相结合。
上述方法大多直接对像素域的概率分布进行建模。一些研究人员还试图将概率分布建模为基于显式或潜在表示的条件分布。话虽如此,我们可以估计
其中h是附加条件,并且p(x)=p(h)p(x|h),这意味着建模划分为无条件建模和有条件建模。附加条件可以是图像标签信息或高级别表示。
2.3.2自动编码器
自动编码器源于辛顿(Hinton)和萨拉赫库季诺夫(Salakhutdinov)提出的著名工作。该方法经过降维训练,由编码和解码两部分组成。编码部分将高维输入信号转换为低维表示,通常具有减小的空域尺寸但通道数量更多。解码部分试图从低维表示中恢复高维输入。自动编码器实现了表示的自动学习,并消除了手工特征的需要,这也被认为是神经网络最重要的优势之一。
图8是典型变换编解码方案的图示。通过分析网络ga对原始图像x进行变换,实现潜在表示y。潜在表示y被量化并压缩成比特。比特数R用于衡量编解码率。量化的潜在表示然后被合成网络gs逆变换以获得重建图像/>通过使用函数gp变换变换x和/>在感知空间中计算失真。
将自动编码器网络应用于有损图像压缩是很直观的。实施例可能只需要对来自训练有素的神经网络的学习的潜在表示进行编码。然而,使自动编码器适应图像压缩并非易事,因为原始自动编码器没有针对压缩进行优化,因此直接使用经过训练的自动编码器效率不高。此外,还存在其他主要挑战:首先,低维表示在被编码之前应该被量化,但是量化是不可微的,这在训练神经网络的反向传播中是需要的。其次,压缩场景下的目标是不同的,因为失真和比率都需要考虑。估算这个比率具有挑战性。第三,实用的图像编解码方案需要支持可变比率、可扩展性、编码/解码速度、互操作性。为了应对这些挑战,许多研究人员一直在积极致力于这一领域。
图像压缩的原型自动编码器如图8所示,它可以被视为变换编解码策略。原始图像x用分析网络y=ga(x)进行变换,其中y为潜在表示,其将被量化和编解码。合成网络将量化的潜在表示逆变换回来以获得重建图像/>该框架使用率失真损失函数、即进行训练,其中,D是x和/>之间的失真,R是根据量化表示/>计算或估计的比率,并且λ是拉格朗日乘数。应当注意,可以在像素域或感知域中计算D。所有现有的研究工作都遵循这个原型,并且区别可能只是网络结构或损失函数。
在网络结构方面,RNN和CNN是应用最广泛的架构。在RNN相关类别中,提出了使用RNN的可变比率图像压缩的通用框架。使用二进制量化来生成代码,并且在训练期间不考虑比率。该框架确实提供了可扩展的编解码功能,其中具有卷积和去卷积层的RNN被报道表现良好。随后提出了改进的版本,用类似于PixelRNN的神经网络升级编码器,以压缩二进制代码。据报道,在使用MS-SSIM评价标准的柯达(Kodak)图像数据集上,性能优于JPEG。通过引入隐藏状态启动进一步改进了基于RNN的解决方案。此外,还设计了SSIM加权损失函数,并启用了空域自适应比特率机制。在使用MS-SSIM作为评估指标的柯达图像数据集上,他们取得了比BPG更好的结果。通过训练停止码容忍RNN来支持空域自适应比特率。
提出了为率失真优化图像压缩的通用框架。使用多进制量化来生成整数代码,并考虑训练期间的比率,即损失是联合率失真成本,可能是MSE或其他。它们在训练期间添加随机噪声来刺激量化,并使用噪声码的差分熵作为比率的代理。他们使用广义除归一化(generalized divisive normalization,GDN)作为网络结构,网络结构包括线性映射和其后的非线性参数归一化。验证了GDN对图像编解码的有效性。然后提出了改进的版本,其中使用了3个卷积层,每个卷积层后面是下采样层和GDN层作为前向变换。相应地,使用了3层逆GDN,每层后接上采样层和卷积层来刺激逆变换。此外,还设计了一种算术编解码方法来压缩整数码。据报道,就MSE而言,该算法在柯达数据集上的性能优于JPEG和JPEG 2000。此外,通过在自动编码器中设计缩放超先验(scale hyper-prior)来改进该方法。它们将带有子网ha的潜在表示y转换为z=ha(y)并且z将被量化并作为边信息(side information)传输。因此,逆变换是用试图从量化的边信息解码为量化的/>标准偏差的子网hs来实现的,这将在/>的算术编解码期间进一步使用。在柯达图像集上,他们的方法在PSNR方面比BGP稍差。通过引入自回归模型来估计标准差和平均值,进一步利用了残差空间中的结构。在最新的工作中,使用高斯混合模型进一步去除残差中的冗余。在使用PSNR作为评价标准的柯达图像集上,报告的性能与VVC不相上下。
2.4用于视频压缩的神经网络
与传统的视频编解码技术类似,神经图像压缩是基于神经网络的视频压缩中帧内压缩的基础,因此基于神经网络的视频压缩技术的发展晚于基于神经网络的图像压缩,但由于其复杂性,需要付出更大的努力来解决这些挑战。从2017年开始,一些研究人员一直在研究基于神经网络的视频压缩方案。与图像压缩相比,视频压缩需要有效的方法来消除图片间的冗余。图片间预测是这些工作的关键步骤。运动估计和补偿被广泛采用,但是直到最近才通过经训练的神经网络来实现。
基于神经网络的视频压缩研究可以根据目标场景分为两类:随机访问和低延迟。在随机访问的情况下,它要求解码可以从序列的任何点开始,通常将整个序列分成多个单独的片段,并且每个片段可以独立解码。在低延迟的情况下,它旨在减少解码时间,从而通常只有时域上先前的帧可以用作参考帧来解码后续帧。
2.4.1低延迟
提出了一种具有经训练的神经网络的视频压缩方案。首先将视频序列帧划分成块,并且每个块将从两种可用模式中选择一种,帧内编解码或帧间编解码。如果选择了帧内编解码,则有相关联的自动编码器来压缩该块。如果选择帧间编解码,则使用传统方法执行运动估计和补偿,并且经训练的神经网络将用于残差压缩。自动编码器的输出通过霍夫曼(Huffman)方法直接量化和编解码。
提出了另一种具有PixelMotionCNN的基于神经网络的视频编解码方案。帧按时间顺序压缩,并且每个帧被划分成按光栅扫描顺序压缩的块。每个帧将首先用前面两个重建的帧外推。当块要被压缩时,外推的帧连同当前块的上下文一起被馈送到PixelMotionCNN以导出潜在表示。然后,残差被可变比率图像方案压缩。这个方案的性能与H.264相当
提出了基于真正意义上的端到端神经网络的视频压缩框架,其中所有模块都用神经网络实现。该方案接受当前帧和先前重建的帧作为输入,并且将使用预训练的神经网络导出光流作为运动信息。运动信息将随着参考帧被扭曲,随后是生成运动补偿帧的神经网络。残差和运动信息用两个独立的神经自动编码器压缩。整个框架是用单个率失真损失函数训练的。它实现了比H.264更好的性能。
提出了一种先进的基于神经网络的视频压缩方案。它继承和扩展了传统的神经网络视频编解码方案,具有以下主要特点:1)仅使用一个自动编码器来压缩运动信息和残差;2)具有多个帧和多个光流的运动补偿;3)随着时间的推移,在线状态通过以下帧被学习和传播。该方案在MS-SSIM中的性能优于HEVC参考软件。
基于上述端到端神经网络的视频压缩框架提出了一种扩展的基于端到端神经网络的视频压缩框架。在该解决方案中,多个帧被用作参考。因此,它能够通过使用多个参考帧和相关联的运动信息来提供当前帧的更准确的预测。此外,还采用了运动场预测来消除沿时间通道的运动冗余。在这项工作中还引入了后处理网络,以消除先前过程中的重建伪影。就PSNR和MS-SSIM而言,性能明显优于上述基于端到端神经网络的视频压缩框架和H.265。
在上述基于端到端神经网络的视频压缩框架的框架基础上增加了一个尺度参数,提出用尺度空间流代替常用的光流。据报道,它取得了比H.264更好的性能。
在上述基于端到端神经网络的视频压缩框架的基础上提出了光流的多分辨率表示。具体来说,运动估计网络产生多个不同分辨率的光流,让网络在损失函数下学习选择哪一个。性能较上述基于端到端神经网络的视频压缩框架]略有提升,并且优于H.265。
2.4.2随机存取
提出了一种基于神经网络的帧插值视频压缩方案。关键帧首先用神经图像压缩器压缩,并且其余帧按层次顺序压缩。在感知域中执行运动补偿,即在原始帧的多个空域尺度上导出特征图,并使用运动来扭曲特征图,这将用于图像压缩器。据报道,这种方法与H.264不相上下。
提出了一种基于插值的视频压缩方法,其中插值模型结合了运动信息压缩和图像合成,并且相同的自动编码器用于图像和残差。
提出了一种基于神经网络的视频压缩方法,该方法基于具有确定性编码器的可变自动编码器。具体来说,该模型由自动编码器和自回归先验构成。与以前的方法不同,该方法接受图片组(GOP)作为输入,并通过在编解码潜在表示时考虑时间相关性来结合3D自回归先验。它提供了与H.265相当的性能
2.5准备工作
几乎所有的自然图像/视频都是数字格式的。灰度数字图像可以表示为其中/>是像素值的集合,m是图像高度,且m是图像宽度。例如,/>是常见的设置,并且在这种情况下/>因此像素可以用8比特整数表示。未压缩的灰度数字图像具有8比特每像素(bit-per-pixel,bpp),而压缩的比特肯定更少。
彩色图像通常以多个通道表示,以记录颜色信息。例如,在RGB颜色空间中,可以用具有存储红色、绿色和蓝色信息的三个独立通道的来表示图像。与8比特灰度图像类似,未压缩的8比特RGB图像具有24bpp。数字图像/视频可以用不同的颜色空间表示。基于神经网络的视频压缩方案大多是在RGB颜色空间中开发的,而传统的编解码器通常使用YUV颜色空间来表示视频序列。在YUV颜色空间中,图像被分解成三个通道,即Y、Cb和Cr,其中Y是亮度分量,且Cb/Cr是色度分量。好处是Cb和Cr通常被下采样以实现预压缩,因为人类视觉***对色度分量不太敏感。
彩***序列包括多个彩色图像,这些图像称为帧,用于记录不同时间戳的场景。例如,在RGB颜色空间中,彩***可以用X={x0,x1,…,xt,…,xT-1}来表示,其中T是该视频序列中的帧数。如果m=1080,n=1920,/>并且视频具有50帧每秒(frame-per-second,fps),则该未压缩的视频的数据比率为1920×1080×8×3×50=2,488,320,000比特每秒(bps),约为2.32Gbps,这需要大量存储,因此肯定需要在通过互联网传输之前进行压缩。
通常无损方法对于自然图像可以达到约1.5比3的压缩比,这显然低于要求。因此,有损压缩被开发来实现进一步的压缩比,但代价是引起失真。失真可以通过计算原始图像和重建的图像之间的平均平方差,即均方误差(mean-squared-error,MSE)来测量。对于灰度图像,MSE可以用以下公式计算。
因此,与原始图像相比,重建的图像的质量可以通过峰值信噪比(peak signal-to-noise ratio,PSNR)来测量:
其中是/>的最大值,例如对于8比特灰度图像为255。还有其他质量评估指标,诸如结构相似性(SSIM)和多尺度SSIM(MS-SSIM)[4]。
要比较不同的无损压缩方案,只要在给定结果比率的情况下比较压缩比就足够了,反之亦然。然而,为了比较不同的有损压缩方法,必须同时考虑比率和重建的质量。例如,计算几个不同质量水平的相对比率,然后对该比率进行平均,这是一种常用的方法;平均相对比率被称为Bjontegaard的delta-rate(BD-rate)。评估图像/视频编解码方案还有其他重要方面,包括编码/解码复杂性、可扩展性、鲁棒性等。
3.由公开的技术方案解决的技术问题的示例
现有的基于神经网络的视频压缩解决方案仍然存在以下问题:
1.比特分配方案在现有解决方案中是次优的。对于不同的时域层使用统一的比特分配,即,将相同数量的比特分配给所有时域层,这不是最佳解决方案,因为存在“质量依赖性”。然而,在经典的视频编解码器(例如,H.264、H.265)中,比特分配是将R-D性能推向理论最佳的重要工具。据报道,使用层次比特分配平均节省8.4%的比特。然而,基于神经网络的视频压缩的比特分配在现有技术中还没有被研究。更频繁被引用的帧应该以更好的质量被编解码,以减少传播到后续帧的失真,从而应该被分配更多的比特,反之亦然。
2.现有的随机访问方法不能充分利用可用信息来预测当前帧。当预测/插值当前帧时,例如,根据其解码顺序,可以使用两个以上的参考帧来提高预测精度。
3.现有方法没有考虑帧内的比特分配,即空域比特分配。为了获得最佳的R-D性能,比特分配应该基于其纹理在帧中针对不同的区域进行区分。
4.可用的信息没有被充分利用来编解码插值的帧的残差。插值/预测的帧可以用作附加信息来增强残差编解码。
4.技术解决方案的示例
下面按项目列举的解决方案和实施例应该被认为是解释一般概念的示例。不应狭隘地解释这些项目。此外,这些项目可以以任何方式组合。
在此文描述的技术提供了一种具有比特分配的基于神经网络的视频压缩方法。通过将不同数量的比特分配给不同的时域层,***根据“质量依赖”现象提供了更好的R-D性能。不仅比特分配在时域上存在,而且在空域空域上也存在。本文还描述了空域比特分配,用于将不同数量的比特分配给帧内的不同区域。总之,本发明包括以下内容:
1.替代对一个视频内的所有图片使用相同的λ(lambda)值(对应于目标比特率的推导),提出使用自适应调整的λ值来编解码一个视频。
a.在一个示例中,对于给定的目标比特率,首先导出基本(例如,序列级)λ值。此外,对于要编解码的视频单元,进一步导出/选择应用于基本λ值的缩放因子,并且缩放后的λ值(表示为最终λ值)用于编解码视频单元。
i.在一个示例中,缩放因子和/或给定缩放因子和/或最终λ值可以从给定的缩放因子集中选择。
a)在一个示例中,给定的缩放因子集可以包括{1.0,0.25,0.20,0.08}。
ii.在一个示例中,缩放因子和/或给定的缩放因子集和/或最终λ值可以取决于目标比特率。
iii.在一个示例中,缩放因子和/或给定的缩放因子集和/或最终λ值可以取决于图片的编解码顺序。
iv.在一个示例中,缩放因子和/或给定的缩放因子集和/或最终λ值可以取决于时域层id(例如,VVC的TemporalId)。
a)可选地,此外,缩放因子可以随着时域层索引的增加而增加。
b)可选地,此外,缩放因子可以随着时域层索引的增加而减小。
c)可选地,此外,对于具有连续时域层索引的两个层,缩放因子可以被设置为相同的值。
d)可选地,此外,对于给定的时域层id,缩放因子可以被设置为1(例如,调整的λ值等于基本λ值)。
v.在一个示例中,缩放因子和/或给定的缩放因子集和/或最终λ值可以取决于一个视频单元的位置,例如,是否靠近某个边界(例如,图片边界、条带边界、片边界)。
vi.在一个示例中,缩放因子和/或给定的缩放因子集和/或最终λ值可以取决于颜色分量。
a)在一个示例中,对于第一颜色(例如,Y颜色分量)和第二颜色(例如,Cb或Cr颜色分量)分量,最终λ可以被设置为不同的值。
b)在一个示例中,对于第一颜色(例如,Y颜色分量)和第二颜色(例如,Cb或Cr颜色分量)分量,最终λ可以被设置为不同的值;而对于第二和第三颜色分量,最终的λ可以被设置为相同的值
a.在一个示例中,Cb和Cr分量可以共享相同的值,该值不同于用于编解码Y颜色分量的值。
b.在一个示例中,B和R分量可以共享相同的值,该值不同于用于编解码G颜色分量的值。
c.在一个示例中,G和B分量可以共享相同的值,该值不同于用于编解码R颜色分量的值。
b.或者,对于给定的目标比特率和对于要编解码的视频单元,可以从给定的目标比特率直接导出λ值。
c.在一个示例中,视频单元是图片/条带/片/子图片。
d.在一个示例中,视频单元是图片/条带/片/子图片内的CTU行/CTU/CTB/CU/PU/TU/CB/TB/VPDU/区域。
e.在一个示例中,视频单元是CTU内的一个或多个像素/样点。
f.在一个示例中,对于一个λ可以产生一个以上的神经网络。
i.例如,可以为具有不同缩放因子的一个λ产生不同的神经网络。
ii.在一个示例中,可以向解码器信令通知哪个神经网络用于一个λ。
2.一种基于神经网络的视频压缩的时间比特分配方法,包括为给定的目标比特率确定对应的基本λ值,从每个时域层确定对于调整的λ值的缩放因子。
a.在一个示例中,比特分配方法可以取决于图片组(GOP)的结构,诸如GOP的尺寸和参考图片设置。
3.当前帧可以从解码的图片缓冲区中的两个以上的参考帧中预测。
a.在一个示例中,要利用多少帧可以取决于时域层id/编解码顺序等。
b.在一个示例中,定义了参考帧的最大数量(例如,表示为C)。当可用参考帧的数量超过最大数量时,利用在时域距离方面最接近的C个参考帧。
c.在一个示例中,对于基于神经网络的编解码方案,不同的参考帧可以用于不同的区域。
4.提出了一种空域比特分配方法,该方法将不同数量的比特分配给视频单元内的不同区域(例如,图片/条带/片/子图片/CTU行/CTU)。基于空域位置的特性和/或其他信息,通过利用应用于基本λ值的缩放因子来调整λ值或者调整量化步长来部署空域比特分配。
a.在一个示例中,当使用调整的λ值时,潜在表示的空域位置的缩放因子被动态确定或者从给定的候选集合中选择。
i.或者,此外,缩放因子的确定可以取决于项目符号1中提到的信息(例如,时域层id)。
b.在一个示例中,可以对图片的一个或多个或所有空域区域信令通知与基于NN的视频压缩相关的信息。
c.在一个示例中,可以在像素/样点空间、感知空间或任何其他空间中测量补丁的特性。
i.在一个示例中,像素空间/样点空间中的标准可以包括熵、梯度等。
ii.在一个示例中,感知空间中的标准可以包括从预先训练的神经网络等导出的感知分数。
iii.在一个示例中,当使用调整的量化步长时,可以应用上述方法,
5.插值的帧被用作附加信息来增强残差编解码。
a.在一个示例中,插值的帧与残差帧级联,然后在编码器和解码器侧都作为输入。
b.在一个示例中,首先从插值的帧和残差帧中提取单独特征,然后在编码器和解码器侧将其融合在一起。
5实施例示例
比特分配是视频压缩中的一项有用技术,是比率控制中的关键步骤。我们提出了一种具有层次比特分配的端到端神经视频压缩方案。现有方法由于对不同时域层使用统一比特分配而受到限制。原始视频序列以层次顺序压缩成图片组(GOP)。比特分配是基于R-λ模型开发的。所有模块都通过单个率失真损失函数进行联合优化。渐进训练策略用于优化整个方案。以下小节提供了示例。
5.1框架
图9示出了提出的方法的示例框架。原始视频序列被分成图片组(GOP)。在每个GOP中,关键帧用图像压缩方法压缩,其余帧用双向帧合成(BFS)模块合成。
让X={x0,x1,…,xt,…}表示视频序列。xt,和/>表示时间t处的原始的、预测的/插值的和重建的/解码的帧。rt和/>是原始帧和预测帧之间的残差和重建的残差。
我们在本节中介绍了基本版本(使用2个参考帧),并且多帧版本在第5.2节中进行了描述。图9示出了所提出的基于端到端神经网络的视频压缩方案。原始视频序列被分成GOP。每个GOP包括N个连续的帧,并且可以独立编码和解码。两个连续的GOP共享边界帧。
图10示出了图片组(GOP)中的层次压缩结构的示例。
GOP中的第一帧和最后一帧是关键帧,直接使用图像压缩方法进行压缩。中间帧以层次顺序合成,如图10和等式6所示,其中hψ是视频帧插值网络。
/>
损失函数是整个GOP的平均R-D损失,如下所示。
其中N是GOP尺寸;Ri和Di分别是帧i的每像素比特数和失真;并且λi是用于训练的λ值,并且取决于它所属的时域层。第5.3节描述了推导λi的细节。
5.2多帧插值
图11示出了双向帧合成(BFS)模块的示例。
双向帧合成(BFS)模块接受两个或更多个参考帧,并生成重建的帧。本模块包括两个步骤:插值和残差编解码。插值的目的是在给定参考帧的情况下导出预测的帧,而残差编解码对预测的帧与其原始帧之间的差值进行编码。只要支持多个输入,插值网络可以是任何形式的神经网络。残差编解码网络应该是自动编码器类型的神经网络。当解码的帧缓冲区中有两个以上的参考帧可用时,可以合并更多的参考帧用于插值。在一个示例中,当GOP尺寸为8时,表1中列出了用于插值当前帧的参考帧。
表1.当GOP尺寸为8时,用于插值当前帧的参考帧列表示例。
当前帧 | 参考帧 |
x4 | x0,x8 |
x2 | x0,x4,x8 |
x6 | x0,x4,x8 |
x1 | x0,x2,x4 |
x3 | x0,x2,x4 |
x5 | x4,x6,x8 |
x7 | x4,x6,x8 |
应当注意的是,参考帧的数量不应局限于固定数量。
a.在一个示例中,当插值x5时,不仅使用x4,x6,x8,还可以使用一个或多个其他可用的参考帧,例如x0,x1,x2,x3。
如果输入数量不同,则需要训练单独的BFS模块。例如,具有三个参考帧输入的BFS模块需要单独的网络系数的集合,就像具有两个参考帧输入的BFS模块一样。此外,当相对时间距离关系改变时,可能需要训练单独的BFS模块。例如,例如,用于使用x0,x2,x4插值x1的BFS模块可能不同于用于使用x0,x2,x4插值x3的BFS模块。
5.3辅助预测残差编解码
图12是辅助预测残差编解码的示意图。插值的帧还被馈送到自动编码器(用黑色标记,编号为1200),以辅助残差编解码过程。
为了充分利用可用信息以获得更好的R-D性能,插值的帧还用作对残差进行编解码的辅助信息。如图12所示,自动编码器不仅接受rt,而且还接受/>以辅助残差编解码。
5.4时间比特分配
5.4.1R-λ率控制模型
在经典的视频编解码技术中,λ是R-D曲线的斜率。当将这一信息与双曲线R-D模型相结合时,我们得到如下表示的λ。
其中,
其中C和K是与视频内容的特性相关的模型参数。等式8示出R-D关系可以用λ域来描述。
5.4.2神经视频压缩的比特分配
由于帧之间的GOP中存在“质量依赖性”,即当前帧的质量通常对后续帧的质量有显著影响。因此,我们应该压缩失真较小的重要图片。由于λi是确定特定图片的比特率和失真的关键因子,因此图片级别的比特分配可以公式化为为每个图片选择合适的λi,以最小化GOP中所有图片的总失真。已经证明,当前图片的λ值应该与其对整个序列的影响成反比,以便优化图片级比特分配,如等式9所示。
其中ωi是从基本时域层应用到λ的加权因子。
为了选择当前图片的合适的ωi,我们基于方法开发了比特分配模型。具有相同时域标识的帧应该使用相同的λ。不失一般性,我们为时域层0中的帧设置ωi作为比特分配的基础。应该注意的是,我们在损失函数中惩罚D而不是R。基于ωi设置,表2中列出了基于端到端神经网络的视频压缩的调整的ωi设置。
表2.对于分级比特分配的ωi
其中ρ表示目标比特率,并且ρ0是边界目标比特率,确定表2中用于推导ωi的公式,ωi的计算公式如下。
λ=α·ρβ (10)
其中α=3.2003并且β=-1.367。因此,边界比特率ρ0可以如下计算。
λL在给定目标比特率的情况下,用公式10导出。应该注意的是,我们可以调整ρ以实现不同的率失真性能,但这是相对的概念,而不是指最终的比特率,因为实际比特率很大程度上取决于视频内容和相关的优化参数。对于不同的情况,模型可能有不同的α和β值。此外,应用层次比特分配时,不同的图片级别也有不同的模型参数。例如,如果GOP尺寸为8,则存在4个图片级别;并且每个图片级别可以有它自己的一对α和β;即使在相同的图片级别内,α和β的值也在很大程度上取决于视频内容和实际比特率。因此,可能需要为每个运行点尝试多个ρ值,以找到具有更好率失真性能的值。
5.5空域比特分配
基于神经网络的视频压缩中现有的量化被加性均匀噪声所取代。因此,等效量化步长为1。然而,帧的不同区域可能需要不同的比特数来达到最佳的R-D性能。所提出的空域比特分配可以采用调整的λ值或调整的量化步长。
当使用调整的λ值时,为每个空域位置导出相对于基本λ值的缩放因子。当前位置补丁使用调整的λ值,而不是基本λ值。潜在表示的每个空域位置的缩放因子是动态确定的,或者是从给定的候选集中选择的。基本λ值、表示为λ0,由用户指定。
1.当使用预定义的候选列表来导出缩放因子时,在一个示例中,候选列表可以被定义为γ={0.5,0.8,1.5,2.8}。
2.在动态推导缩放因子时,缩放因子可以表述如下。应当注意,等式中的参数(π,η和κ)的值取决于视频内容、优化参数和指定的评估标准。
γ=πηκ (12)
当使用调整的量化步长时,训练并保存多个量化模型,其中每个量化模型对应于单独的量化步长。量化模型选择基于用户在当前补丁上指定的评估标准。使用调整的量化步长的空域比特分配描述如下。
1.预先定义了量化步长的集合Q={q0,q1,…,qK-1},(q0>q1>…>qK-1)。
2.输入帧被划分成尺寸为H×W的小补丁。
3.使用第4-4.c节中描述的特定评估标准,从补丁或潜在表示(即特征图)中定义阈值的集合T={τ0,τ1,…,τK-2}。
4.当网络接受输入补丁时,导出潜在表示,基于该潜在表示,如果当前补丁的指定的评估标准满足以下等式,选择量化步长qi,(i∈{0,1,…,K-1}):
τi-1≤H(x)<τi (13)
其中H(x)表示使用指定的评估标准对输入补丁x的评估分数。
确定量化步长集是基于网络架构、输入像素值范围等。在一个示例中,它可以被定义为Q={2.0,1.6,1.2,0.8,0.4。应当注意,间隔可以不相等,例如,Q={1.8,1.0,0.4,0.2的量化集合也是可能的。
当决定阈值集T时,可以使用预先训练的图像压缩网络来导出潜在表示的统计结果。在一个示例中,大量图像被划分成补丁,并通过预先训练的图像压缩网络馈送,以在瓶颈(bottleneck)处导出特征图。当横轴与Q中定义的量化步长成比例时,通过导出的特征图计算熵,并且阈值设置为交叉点处的垂直位置。
图1是示出示例视频处理***1900的框图,其中可以实现本文公开的各种技术。各种实现可以包括***1900的一些或所有组件。***1900可以包括用于接收视频内容的输入1902。视频内容可以以原始或未压缩格式接收,例如8或10比特多分量像素值,或者可以是压缩或编码格式。输入1902可以代表网络接口、***总线接口或存储接口。网络接口的示例包括有线接口,例如以太网、无源光网络(PON)等,以及无线接口,诸如Wi-Fi或蜂窝接口。
***1900可以包括编解码组件1904,其可以实现本文档中描述的各种编解码或编码方法。编解码组件1904可以降低从输入1902到编解码组件1904的输出的视频的平均比特率,以产生视频的编解码表示。因此,编解码技术有时被称为视频压缩或视频代码转换技术。编解码组件1904的输出可以被存储,或者经由连接的通信来传输,如组件1906所表示的。组件1908可以使用在输入端1902接收的视频的存储或传送的比特流(或编解码)表示来生成发送到显示接口1910的像素值或可显示视频。从比特流表示生成用户可视视频的过程有时被称为视频解压缩。此外,虽然某些视频处理操作被称为“编解码”操作或工具,但是应当理解,编解码工具或操作在编码器处使用,并且反转编解码的结果的对应的解码工具或操作将由解码器执行。
***总线接口或显示接口的示例可以包括通用串行总线(USB)或高清晰度多媒体接口(HDMI)或显示端口等。存储接口的示例包括SATA(串行高级技术附件)、PCI、IDE接口等。本文档中描述的技术可以体现在各种电子设备中,诸如移动电话、膝上型电脑、智能手机或能够执行数字数据处理和/或视频显示的其他设备。
图2是视频处理装置3600的框图。装置3600可用于实现本文所述的一种或多种方法。装置3600可以体现在智能手机、平板电脑、计算机、物联网接(IoT)收器等中。装置3600可以包括一个或多个处理器3602、一个或多个存储器3604和视频处理硬件3606。处理器3602可以被配置成实现本文档中描述的一种或多种方法。存储器3604可以用于存储用于实现本文描述的方法和技术的数据和代码。视频处理硬件3606可以用于在硬件电路中实现本文档中描述的一些技术。在一些实施例中,视频处理硬件3606可以至少部分地包括在处理器3602中,例如图形协处理器。
图4是示出可以利用本公开的技术的示例视频编解码***100的框图。
如图4所示,视频编解码***100可以包括源设备110和目标设备120。源设备110生成编码的视频数据,其可以被称为视频编码设备。目标设备120可以解码由源设备110生成的编码的视频数据,源设备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)标准和其他当前和/或进一步的标准。
图5是示出视频编码器200的示例的框图,视频编码器200可以是图4所示的***100中的视频编码器114。
视频编码器200可以被配置成执行本公开的任何或所有技术。在图5的示例中,视频编码器200包括多个功能组件。本公开中描述的技术可以在视频编码器200的各种组件之间共享。在一些示例中,处理器可以被配置成执行本公开中描述的任何或所有技术。
视频编码器200的功能组件可以包括分割单元201、预测单元202、残差生成单元207、变换单元208、量化单元209、逆量化单元210、逆变换单元211、重建单元212、缓冲区213和熵编码单元214,预测单元202可以包括模式选择单元203、运动估计单元204、运动补偿单元205和帧内预测单元206。
在其他示例中,视频编码器200可以包括更多、更少或不同的功能组件。在示例中,预测单元202可以包括块内拷贝(IBC)单元。IBC单元可以在IBC模式中执行预测,其中至少一个参考图片是当前视频块所在的图片。
此外,一些组件,诸如运动估计单元204和运动补偿单元205可以高度集成,但是为了解释的目的,在图5的示例中被单独表示。
分割单元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可以确定当前视频块的运动信息与临近(neighboring)视频块的运动信息足够相似。
在一个示例中,运动估计单元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可以执行一个或多个熵编码操作以生成熵编码的数据并输出包括熵编码的数据的比特流。
图6是示出视频解码器300的示例的框图,视频解码器300可以是图4所示的***100中的视频解码器114。
视频解码器300可以被配置为执行本公开的任何或所有技术。在图6的示例中,视频解码器300包括多个功能组件。本公开中描述的技术可以在视频解码器300的各种组件之间共享。在一些示例中,处理器可以被配置成执行本公开中描述的任何或所有技术。
在图6的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、逆量化单元304、逆变换单元305以及重建单元306和缓冲区307。在一些示例中,视频解码器300可以执行通常与关于视频编码器200(图5)描述的编码过程相反的解码过程。
熵解码单元301可以检索编码的比特流。编码的比特流可以包括熵编解码的视频数据(例如,编码的视频数据的块)。熵解码单元301可以解码熵编解码的视频数据,并且根据熵解解码的视频数据,运动补偿单元302可以确定包括运动矢量、运动矢量精度、参考图片列表索引和其他运动信息的运动信息。运动补偿单元302例如可以通过执行AMVP和合并模式来确定这样的信息。
运动补偿单元302可以产生运动补偿块,可能基于插值滤波器执行插值。语法元素中可以包括要以子像素精度(sub-pixel precision)使用的插值滤波器的标识符。
运动补偿单元302可以使用由视频编码器200在视频块编码期间使用的插值滤波器来计算参考块的子整数像素的经插值的值。运动补偿单元302可以根据接收的语法信息确定视频编码器200使用的插值滤波器,并使用插值滤波器来产生预测块。
运动补偿单元302可以使用一些语法信息来确定用于对编码的视频序列的帧和/或条带进行编码的块的尺寸、描述编码的视频序列的图片的每个宏块如何被分割的分割信息、指示每个分割如何被编码的模式、每个帧间编解码的块的一个或多个参考帧(和参考帧列表)以及对编码的视频序列进行解码的其他信息。
帧内预测单元303可以使用例如在比特流中接收的帧内预测模式来从空域相邻(adjacent)的块形成预测块。逆量化单元303逆量化,即解量化在比特流中提供并由熵解码单元301解码的量化视频块系数。逆变换单元303应用逆变换。
重建单元306可以将残差块与由运动补偿单元202或帧内预测单元303生成的对应的预测块相加,以形成解码块。如果需要,还可以应用解块滤波器来对解码的块进行滤波,以便去除块效应伪影。解码的视频块然后被存储在缓冲区307中,缓冲区307为后续的运动补偿/帧内预测提供参考块,并且还产生解码的视频以呈现在显示设备上。
接下来提供一些实施例优选的解决方案列表。
以下解决方案示出了在先前节中讨论的技术的示例实施例(例如,项目1)。
1.一种视觉媒体处理方法(例如,图3中描述的方法700),包括确定(702)视频的当前视频单元的目标比特率,目标比特率基于率失真函数,其中使用λ对比率部分进行加权,其中λ是有理数,并且其中λ是针对视频的每个视频单元自适应调整的;以及执行(704)当前视频单元和视频的比特流之间的转换。
2.解决方案1的方法,其中基于在每个视频单元的基础上缩放的视频的基本λ值,为视频的每个视频单元自适应地调整λ。
3.解决方案1-2中任一项的方法,其中响应于每个视频单元的目标比特率来调整每个视频单元的λ值。
4.解决方案1-3中任一项的方法,其中使用为确定多个视频单元的值而训练的多个神经网络来调整λ值。
5.解决方案1-4的方法,其中视频单元是编解码树单元行或编解码树单元或编解码树块或编解码单元或预测单元或变换单元或编解码块或变换块或虚拟流水线数据单元或图片或条带或片或子图片。
6.解决方案1-4中任一项的方法,其中视频单元是编解码树单元内的像素的子集。
以下解决方案示出了在先前节中讨论的技术的示例实施例(例如,项目2)。
7.一种视频处理方法,包括:使用神经网络,使用率失真函数确定具有多个时域层的视频的每个时域层的目标比特率,其中使用时域层特定的λ值对率失真函数的比率部分进行加权,其中每个λ值是基本λ值的缩放版本,其中λ值是有理数;以及执行当前视频单元和视频的比特流之间的转换。
8.解决方案7的方法,其中时域层的λ值响应于图片组(GOP)的结构。
9.解决方案8的方法,其中GOP的结构包括GOP的尺寸或GOP的参考图片设置。
以下解决方案示出了在先前节中讨论的技术的示例实施例(例如,项目3)。
10.一种视频处理方法,包括:根据规则在包括当前视频帧的视频和该视频的比特流之间执行转换;其中使用N个参考帧对当前视频帧进行预测编解码,其中N是大于2的整数。
11.解决方案10的方法,其中N取决于当前视频帧的时域层标识符。
12.解决方案10-11的方法,其中N取决于当前视频帧的编解码顺序。
13.根据解决方案10-12中任一项的方法,其中规则指定数字C,数字C表示对于视频N可以取的最大值,并且其中,在C大于N的情况下,N个参考帧对应于与当前视频帧在时域上最接近的N个参考帧。
14.解决方案10-13中任一个的方法,其中神经网络确定用于当前视频帧的不同视频区域的参考帧。
以下解决方案示出了在先前节中讨论的技术的示例实施例(例如,项目4)。
15.一种视频处理方法,包括:根据率失真函数确定视频单元的视频区域的目标比特率,其中使用每个视频区域的区域特定的λ值对率失真函数的比率部分进行加权;以及执行当前视频单元和视频的比特流之间的转换。
16.解决方案15的方法,其中通过将缩放因子应用于基本λ值来获得区域特定的λ值。
17.解决方案15的方法,其中通过调整对应的视频区域的量化步长或对应的视频区域在视频单元内的位置来获得给定区域特定的λ值。
18.根据解决方案15-17中任一项的方法,其中视频单元包括视频图片、条带、片、子图片、编解码树单元行或编解码树单元。
以下解决方案示出了在先前节中讨论的技术的示例实施例(例如,项目5)。
19.一种视频处理方法,包括:根据规则在包括视频帧的视频和视频的比特流之间执行转换;其中规则指定使用残差帧在比特流中编解码视频帧的当前视频帧,所述残差帧使用基于从多个视频帧确定的插值的帧的残差来编解码。
20.解决方案19的方法,其中,为了编解码,插值帧与残差帧级联。
21.解决方案19的方法,其中首先从插值的帧和残差帧中提取单独特征,并在转换期间融合在一起。
22.一种视频解码装置,包括被配置为实现解决方案1至21中的一个或多个所述的方法的处理器。
23.一种视频编码装置,包括被配置为实现解决方案1至21中的一个或多个中所述的方法的处理器。
24.一种其上存储有计算机代码的计算机程序产品,当由处理器执行时,该代码使得处理器实现解决方案1至21中任一个中所述的方法。
25.一种计算机可读介质,在计算机可读介质介质上生成符合根据解决方案1至21中任一项所述的比特流格式的比特流。
26.一种方法,包括根据解决方案1至21中任一项所述的方法生成比特流,并将比特流写入计算机可读介质。
27.根据本文档中描述的公开方法或***生成的方法、装置、比特流。
在本文描述的解决方案中,编码器可以通过根据格式规则产生编解码表示来符合格式规则。在本文描述的解决方案中,解码器可以使用格式规则来解析编解码表示中的语法元素,同时根据格式规则了解语法元素的存在和不存在,以产生解码的视频。
在本文档中,术语“视频处理”可以指视频编码、视频解码、视频压缩或视频解压缩。例如,视频压缩算法可以在从视频的像素表示到对应的比特流表示的转换期间应用,反之亦然。如语法所定义的,当前视频块的比特流表示可以例如对应于位于比特流内不同位置或在比特流内不同位置扩展的比特。例如,宏块可以根据变换和编解码的误差残差值进行编码,并且还可以使用报头中的比特和比特流中的其他字段。此外,在转换期间,解码器可以基于该确定,在知道一些字段可能存在或不存在的情况下解析比特流,如以上解决方案中所述。类似地,编码器可以确定是否包括某些语法字段,并通过从编解码表示中包括或排除语法字段来相应地生成编解码表示。
本文档中描述的所公开的和其他解决方案、示例、实施例、模块和功能操作可以在数字电子电路中实现,或者在计算机软件、固件或硬件中实现,包括本文档中公开的结构及其结构等同物,或者在它们中的一个或多个的组合中实现。所公开的和其他实施例可以被实现为一个或多个计算机程序产品,即编码在计算机可读介质上的计算机程序指令的一个或多个模块,用于由数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基底、存储设备、实现机器可读传播信号的物质组合,或者它们中的一个或多个的组合。术语“数据处理装置”包括用于处理数据的所有设备、装置和机器,包括例如可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该装置可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理***、操作***或它们中的一个或多个的组合的代码。传播信号是人工生成的信号,例如机器生成的电、光或电磁信号,其被生成来编码信息以传输到合适的接收器设备。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言,并且它可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或适合在计算环境中使用的其他单元。计算机程序不一定对应于文件***中的文件。程序可以存储在保存其他程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本),存储在专用于所讨论的程序的单个文件中,或者存储在多个协同文件中(例如,存储一个或多个模块、子程序或部分代码的文件)。计算机程序可以被部署为在一台计算机上或位于一个站点或分布在多个站点并通过通信网络互连的多台计算机上执行。
本文档中描述的过程和逻辑流程可以由一个或多个可编程处理器执行,该处理器执行一个或多个计算机程序,以通过对输入数据进行操作并生成输出来执行功能。这些过程和逻辑流程也可以由专用逻辑电路来执行,并且设备也可以被实现为专用逻辑电路,例如,FPGA(现场可编程门阵)列或ASIC(专用集成电路)。
举例来说,适合于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和一个或多个用于存储指令和数据的存储设备。通常,计算机还将包括或可操作地耦合到一个或多个用于存储数据的大容量存储设备,例如磁盘、磁光盘或光盘,以从其接收数据或向其传输数据,或两者兼有。然而,计算机不需要有这样的设备。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,包括例如半导体存储设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;和CD ROM以及DVD-ROM盘。处理器和存储器可以由专用逻辑电路来补充或结合在其中。
尽管本专利文件包含许多细节,但这些细节不应被解释为对任何主题或所要求保护的范围的限制,而是对特定技术的特定实施例可能特定的特征的描述。本专利文件中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独实现或者在任何合适的子组合中实现。此外,尽管特征可以在上面被描述为在某些组合中起作用,并且甚至最初被这样要求保护,但是在一些情况下,来自所要求保护的组合的一个或多个特征可以从该组合中删除,并且所要求保护的组合可以指向子组合或子组合的变体。
类似地,虽然在附图中以特定顺序描述了操作,但是这不应该被理解为要求以所示的特定顺序或顺序执行这些操作,或者要求执行所有示出的操作,以获得期望的结果。此外,本专利文件中描述的实施例中的各种***组件的分离不应被理解为在所有实施例中都需要这种分离。
仅描述了几个实现和示例,并且可以基于本专利文件中描述和示出的内容进行其他实现、增强和变化。
Claims (19)
1.一种视频处理方法,包括:
为视频的当前视频帧的当前视频单元和所述视频的比特流之间的转换,确定所述当前视频单元的目标比特率,所述目标比特率基于率失真函数,在所述率失真函数中使用λ对比率部分进行加权,其中λ是有理数,其中λ是对所述视频的每个视频单元自适应调整的,并且其中使用多个神经网络来调整λ,并且所述多个神经网络中的不同神经网络被训练来确定不同视频单元的λ值;以及
执行所述确定执行所述转换。
2.根据权利要求1所述的方法,其中,基于至少一个缩放因子来缩放所述当前视频单元的λ,并且所述至少一个缩放因子取决于缩放因子集、目标比特率、编解码顺序、所述当前视频单元的时域层标识符、所述当前视频单元的位置和颜色分量中的至少一个。
3.根据权利要求1所述的方法,其中,所述当前视频单元的λ基于所述当前视频单元的目标比特率。
4.根据权利要求1所述的方法,其中,所述当前视频单元是编解码树单元行或编解码树单元或编解码树块或编解码单元或预测单元或变换单元或编解码块或变换块或虚拟流水线数据单元或图片或条带或片或子图片或编解码树单元内的像素子集。
5.根据权利要求1所述的方法,其中,所述当前视频单元的λ基于所述当前视频帧的时域层标识符。
6.根据权利要求5所述的方法,其中,所述当前视频单元的λ基于所述视频的图片组(GOP)的结构,并且所述图片组的结构包括图片组(GOP)的尺寸或图片组(GOP)的参考图片设置。
7.根据权利要求1所述的方法,其中,基于相关信息,通过将缩放因子应用于基本λ值或调整量化步长来获得所述当前视频单元内的当前区域的λ,并且对所述视频的当前视频单元的每个视频区域自适应地调整λ。
8.根据权利要求7所述的方法,其中,所述缩放因子是动态确定的或者从候选集合中选择的。
9.根据权利要求7所述的方法,其中,对所述视频的图片的一个或多个或所有空域区域信令通知所述相关信息,所述相关信息包括所述当前区域的空域位置的特性,并且在样点空间或感知空间中测量所述特性。
10.根据权利要求1所述的方法,其中,使用N个参考帧对所述当前视频帧进行预测编解码,其中N是大于2的整数,并且N取决于所述当前视频帧的时域层标识符或所述当前视频帧的编解码顺序。
11.根据权利要求10所述的方法,其中,在可用参考帧的数量大于C的情况下,所述N个参考帧对应于在时域上最接近所述当前视频帧的C个参考帧,其中C是所述视频的最大参考帧数量。
12.根据权利要求10所述的方法,其中,神经网络确定用于所述当前视频单元的不同视频区域的参考帧。
13.根据权利要求1所述的方法,其中,使用残差帧在所述比特流中编解码所述当前视频帧,所述残差帧是使用基于从所述视频的多个视频帧确定的插值帧的残差来编解码的。
14.根据权利要求13所述的方法,其中,为了所述转换,所述插值帧与所述残差帧级联。
15.根据权利要求13所述的方法,其中,从所述插值帧与所述残差帧中提取单独的特征,并在所述转换期间将所述特征融合在一起。
16.根据权利要求1所述的方法,其中,所述转换包括将所述当前视频单元编码到所述比特流中。
17.根据权利要求1所述的方法,其中,所述转换包括从所述比特流解码所述当前视频单元。
18.一种处理视频数据的装置,包括处理器和其上具有指令的非暂时性存储器,其中,所述指令在由所述处理器执行时使得所述处理器:
为所述视频的当前视频帧的当前视频单元和所述视频的比特流之间的转换,确定所述当前视频单元的目标比特率,所述目标比特率基于率失真函数,在所述率失真函数中使用λ对比率部分进行加权,其中λ是有理数,其中对所述视频的每个视频单元自适应地调整λ,并且其中使用多个神经网络来调整λ,并且所述多个神经网络中的不同神经网络被训练来确定不同视频单元的λ值;以及
基于所述确定执行所述转换。
19.一种存储视频的比特流的非暂时性计算机可读记录介质,所述视频的比特流由视频处理设备执行的方法生成,其中,所述方法包括:
为所述视频的当前视频帧的当前视频单元确定所述当前视频单元的目标比特率,所述目标比特率基于率失真函数,在所述率失真函数中使用λ对比率部分进行加权,其中λ是有理数,其中,对所述视频的每个视频单元自适应地调整λ,并且其中使用多个神经网络来调整λ,并且所述多个神经网络中的不同神经网络被训练来确定不同视频单元的λ值;以及
基于所述确定生成所述比特流。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163141059P | 2021-01-25 | 2021-01-25 | |
US63/141,059 | 2021-01-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114793282A CN114793282A (zh) | 2022-07-26 |
CN114793282B true CN114793282B (zh) | 2024-01-12 |
Family
ID=82460807
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210087538.5A Active CN114793282B (zh) | 2021-01-25 | 2022-01-25 | 带有比特分配的基于神经网络的视频压缩 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11895330B2 (zh) |
CN (1) | CN114793282B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2024512577A (ja) * | 2021-06-12 | 2024-03-19 | グーグル エルエルシー | 動画コンテンツアイテムの知覚品質インジケータを決定するための方法、システム、および媒体 |
CN116743182B (zh) * | 2023-08-15 | 2023-12-08 | 国网江西省电力有限公司信息通信分公司 | 一种数据无损压缩方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102148973A (zh) * | 2010-02-04 | 2011-08-10 | 成都市世嘉电子实业有限公司 | 基于拉格朗日乘数因子的3层码率控制方法 |
CN102165772A (zh) * | 2008-09-16 | 2011-08-24 | 杜比实验室特许公司 | 自适应视频编码器控制 |
CN103096076A (zh) * | 2012-11-29 | 2013-05-08 | 中国科学院研究生院 | 视频编码方法 |
CN108235025A (zh) * | 2018-03-13 | 2018-06-29 | 电子科技大学 | 自适应帧间参考结构的拉格朗日乘子优化方法 |
CN110139101A (zh) * | 2019-06-20 | 2019-08-16 | 电子科技大学 | 一种基于λ域码率控制的帧级比特分配方法 |
CN111193931A (zh) * | 2018-11-14 | 2020-05-22 | 深圳市中兴微电子技术有限公司 | 一种视频数据的编码处理方法和计算机存储介质 |
CN111970511A (zh) * | 2020-07-21 | 2020-11-20 | 上海交通大学 | 一种基于vmaf的感知视频率失真编码优化方法及装置 |
CN112203093A (zh) * | 2020-10-12 | 2021-01-08 | 苏州天必佑科技有限公司 | 一种基于深度神经网络的信号处理方法 |
KR20210004859A (ko) * | 2019-07-03 | 2021-01-13 | 한국과학기술원 | 비디오 처리 방법 및 장치 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080056354A1 (en) * | 2006-08-29 | 2008-03-06 | Microsoft Corporation | Transcoding Hierarchical B-Frames with Rate-Distortion Optimization in the DCT Domain |
US8351513B2 (en) * | 2006-12-19 | 2013-01-08 | Allot Communications Ltd. | Intelligent video signal encoding utilizing regions of interest information |
US8462849B2 (en) * | 2008-12-23 | 2013-06-11 | General Instrument Corporation | Reference picture selection for sub-pixel motion estimation |
US9973749B2 (en) * | 2012-01-20 | 2018-05-15 | Nokia Technologies Oy | Method for video coding and an apparatus, a computer-program product, a system, and a module for the same |
US10425641B2 (en) * | 2013-05-30 | 2019-09-24 | Intel Corporation | Quantization offset and cost factor modification for video encoding |
US10491895B2 (en) * | 2016-05-23 | 2019-11-26 | Intel Corporation | Fast and robust human skin tone region detection for improved video coding |
US11532073B2 (en) * | 2018-03-29 | 2022-12-20 | Pixar | Temporal techniques of denoising Monte Carlo renderings using neural networks |
US11457244B2 (en) * | 2018-04-09 | 2022-09-27 | Nokia Technologies Oy | Apparatus, a method and a computer program for video coding and decoding |
US11449756B2 (en) | 2018-09-24 | 2022-09-20 | Samsung Electronics Co., Ltd. | Method to balance sparsity for efficient inference of deep neural networks |
EP3857447A4 (en) * | 2018-09-30 | 2022-06-29 | BOE Technology Group Co., Ltd. | Apparatus and method for image processing, and system for training neural network |
US10886943B2 (en) * | 2019-03-18 | 2021-01-05 | Samsung Electronics Co., Ltd | Method and apparatus for variable rate compression with a conditional autoencoder |
CN111507262B (zh) * | 2020-04-17 | 2023-12-08 | 北京百度网讯科技有限公司 | 用于检测活体的方法和装置 |
US11418795B2 (en) * | 2020-08-05 | 2022-08-16 | University Of Electronic Science And Technology Of China | Temporal domain rate distortion optimization based on video content characteristic and QP-λcorrection |
US11798254B2 (en) * | 2020-09-01 | 2023-10-24 | Northwestern University | Bandwidth limited context based adaptive acquisition of video frames and events for user defined tasks |
-
2022
- 2022-01-14 US US17/576,487 patent/US11895330B2/en active Active
- 2022-01-25 CN CN202210087538.5A patent/CN114793282B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102165772A (zh) * | 2008-09-16 | 2011-08-24 | 杜比实验室特许公司 | 自适应视频编码器控制 |
CN102148973A (zh) * | 2010-02-04 | 2011-08-10 | 成都市世嘉电子实业有限公司 | 基于拉格朗日乘数因子的3层码率控制方法 |
CN103096076A (zh) * | 2012-11-29 | 2013-05-08 | 中国科学院研究生院 | 视频编码方法 |
CN108235025A (zh) * | 2018-03-13 | 2018-06-29 | 电子科技大学 | 自适应帧间参考结构的拉格朗日乘子优化方法 |
CN111193931A (zh) * | 2018-11-14 | 2020-05-22 | 深圳市中兴微电子技术有限公司 | 一种视频数据的编码处理方法和计算机存储介质 |
CN110139101A (zh) * | 2019-06-20 | 2019-08-16 | 电子科技大学 | 一种基于λ域码率控制的帧级比特分配方法 |
KR20210004859A (ko) * | 2019-07-03 | 2021-01-13 | 한국과학기술원 | 비디오 처리 방법 및 장치 |
CN111970511A (zh) * | 2020-07-21 | 2020-11-20 | 上海交通大学 | 一种基于vmaf的感知视频率失真编码优化方法及装置 |
CN112203093A (zh) * | 2020-10-12 | 2021-01-08 | 苏州天必佑科技有限公司 | 一种基于深度神经网络的信号处理方法 |
Non-Patent Citations (3)
Title |
---|
An improved R-D optimized motion estimation method for video coding;Alireza Aminlou;《2009 Picture Coding Symposium》;全文 * |
基于最小二乘支持向量机的比特分配算法;张忠伟;《电子学报》;全文 * |
基于深度学习的视频编码加速及智能比特分配;石隽;《中国优秀硕士学位论文全文数据库(电子期刊)》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114793282A (zh) | 2022-07-26 |
US20220239944A1 (en) | 2022-07-28 |
US11895330B2 (en) | 2024-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9307237B2 (en) | Reference pixel reduction for intra LM prediction | |
CN113661708A (zh) | 基于双向光流的视频编解码和解码 | |
CN116405687A (zh) | 视频译码中使用交叉分量线性模型进行帧内预测 | |
EP3146719B1 (en) | Re-encoding image sets using frequency-domain differences | |
CN111819853A (zh) | 变换域中预测的信令残差符号 | |
CN114793282B (zh) | 带有比特分配的基于神经网络的视频压缩 | |
US12034916B2 (en) | Neural network-based video compression with spatial-temporal adaptation | |
CN117136540A (zh) | 残差编码方法及设备、视频编码方法及设备、存储介质 | |
CN113068026B (zh) | 编码预测方法、装置及计算机存储介质 | |
US20240031580A1 (en) | Method and apparatus for video coding using deep learning based in-loop filter for inter prediction | |
CN115836525A (zh) | 用于从多个交叉分量进行预测的方法和*** | |
CN116918331A (zh) | 编码方法和编码装置 | |
WO2024020053A1 (en) | Neural network-based adaptive image and video compression method | |
US20230239462A1 (en) | Inter prediction method based on variable coefficient deep learning | |
Jenab et al. | Content-adaptive resolution control to improve video coding efficiency | |
CN117616751A (zh) | 动态图像组的视频编解码 | |
WO2023241690A1 (en) | Variable-rate neural network based compression | |
WO2024149308A1 (en) | Method, apparatus, and medium for video processing | |
WO2024140951A1 (en) | A neural network based image and video compression method with integer operations | |
WO2024149392A1 (en) | Method, apparatus, and medium for visual data processing | |
WO2024083250A1 (en) | Method, apparatus, and medium for video processing | |
WO2024149395A1 (en) | Method, apparatus, and medium for visual data processing | |
US20240137517A1 (en) | Super Resolution Position and Network Structure | |
WO2024149394A1 (en) | Method, apparatus, and medium for visual data processing | |
US20240137577A1 (en) | Super Resolution Upsampling and Downsampling |
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 |