CN117480778A - 残差编码和视频编码方法、装置、设备和系统 - Google Patents
残差编码和视频编码方法、装置、设备和系统 Download PDFInfo
- Publication number
- CN117480778A CN117480778A CN202180099185.4A CN202180099185A CN117480778A CN 117480778 A CN117480778 A CN 117480778A CN 202180099185 A CN202180099185 A CN 202180099185A CN 117480778 A CN117480778 A CN 117480778A
- Authority
- CN
- China
- Prior art keywords
- frame
- residual
- image
- current frame
- code rate
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 107
- 238000012545 processing Methods 0.000 claims description 45
- 238000013528 artificial neural network Methods 0.000 claims description 37
- 238000004590 computer program Methods 0.000 claims description 20
- 238000006073 displacement reaction Methods 0.000 claims description 13
- 230000006870 function Effects 0.000 claims description 8
- 239000011159 matrix material Substances 0.000 claims description 6
- 230000002596 correlated effect Effects 0.000 claims description 2
- 230000010339 dilation Effects 0.000 claims 1
- 230000033001 locomotion Effects 0.000 description 23
- 238000013139 quantization Methods 0.000 description 18
- 230000006835 compression Effects 0.000 description 13
- 238000007906 compression Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 13
- 230000011218 segmentation Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 11
- 230000000875 corresponding effect Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 6
- 230000004927 fusion Effects 0.000 description 6
- 238000003491 array Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000000877 morphologic effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001052 transient effect Effects 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本公开提供一种残差编码方法,在当前帧为帧间预测帧时,通过模式判决,确定只对当前帧中目标区域的残差编码,或者确定对当前帧整帧图像的残差编码,通过间歇性对背景区域的残差编码,在不影响图像主观质量的情况下提高编码效率。本公开还提供了基于所述残差编码方法和视频编码方法及相应的设备、装置和系统。
Description
本公开实施例涉及但不限于视频压缩技术,尤其涉及一种残差编码方法、视频编码方法及相应的装置、设备和系统。
数字视频压缩技术主要是将庞大的数字影像视频数据进行压缩,以便于传输以及存储等。随着互联网视频的激增以及人们对视频清晰度的要求越来越高,尽管已有的数字视频压缩标准能够节省不少视频数据,但目前仍然需要追求更好的数字视频压缩技术,以减少数字视频传输的带宽和流量压力。
发明概述
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本公开实施例提供了一种残差编码方法,包括:
在当前帧为帧间预测帧时,计算当前帧按照第一模式进行残差编码的影响因子,所述第一模式是只对帧中目标区域的残差编码的模式,所述影响因子根据编码后的第一图像质量和/或第一码率确定;
判断所述影响因子是否满足设定条件;
在所述影响因子满足设定条件的情况下,确定当前帧按照第一模式进行残差编码,在所述影响因子不满足设定条件的情况下,确定当前帧按照第二模式进行残差编码。所述第二模式是对整帧图像的残差编码的模式。
本公开实施例还提供了一种视频编码方法,包括:
在当前帧为帧间预测帧时,通过帧间预测得到当前帧的预测图像;
根据当前帧的原始图像和预测图像计算得到当前帧整帧图像的残差;
按照如本公开任一实施例所述的残差编码方法进行残差编码。
本公开实施例还提供了一种残差编码装置,包括处理器以及存储有可在所述处理器上运行的计算机程序的存储器,其中,所述处理器执行所述计算机程序时实现如本公开任一实施例所述的残差编码方法。
本公开实施例还提供了一种视频编码设备,包括处理器以及存储有可在所述处理器上运行的计算机程序的存储器,其中,所述处理器执行所述计算机程序时实现本公开任一实施例所述的视频编码方法。
本公开实施例还提供了一种视频编解码系统,其中,包括本公开任一实施例所述的视频编码设备。
本公开实施例还提供了一种非瞬态计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其中,所述计算机程序时被处理器执行时实现本公开任一实施例所述的残差编码方法或视频编码方法。
在阅读并理解了附图和详细描述后,可以明白其他方面。
附图概述
附图用来提供对本公开实施例的理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开的技术方案,并不构成对本公开技术方案的限制。
图1为一种可用于本公开实施例的视频编解码系统的示意图;
图2A和图2B分别是一种残差编码和解码处理框架的示意图;
图3为本公开一实施例视频编解码方法的示意图;
图4是本公开一实施例视频编码器的模块图;
图5是本公开一实施例用于I帧的视频编码方法的流程图;
图6是图4中残差编码处理装置的模块图;
图7是本公开一实施例用于帧间预测帧的视频编码方法的流程图;
图8为本公开一实施例残差编码方法的流程图;
图9为本公开一实施例间歇性对背景区域的残差编码的示意图;
图10为本公开一实施例对目标掩膜进行膨胀处理时使用的膨胀核的示意图;
图11是本公开一实施例残差编码装置的结构示意图;
图12是本公开一实施例视频解码器的功能模块图;
图13A是本公开一实施例用于I帧的视频解码方法的流程图;
图13B是本公开一实施例用于帧间预测帧的视频解码方法的流程图;
图14A是膨胀前的目标掩膜的示意图,图14B是对图14A的目标掩膜进行膨胀处理后的目标掩膜的示意图,图14C是使用图14A的目标掩膜处理后得到的图像,图14D是使用图14B的目标掩膜处理后得到的图像。
详述
本公开描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本公开所描述的实施例包含的范围内可以有更多的实施例和实现方案。
本公开的描述中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本公开中被描述为“示例性的”或者“例如”的任何实施例不应被解释为比其他实施例更优选或更具优势。本文中的“和/或”是对关联对象的关联关系的一种描述,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。“多个”是指两个或多于两个。另外,为了便于清楚描述本公开实施例的技术方案,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
在描述具有代表性的示例性实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本公开实施例的精神和范围内。
在本文中,将使用帧间预测方式进行编码的视频帧称为帧间预测帧,对于包括I帧、P帧和B帧的画面组(GOP:Group of Pictures),帧间预测帧包括P帧和B帧。对于包括I帧和P帧的画面组(GOP:Group of Pictures),帧间预测帧包括P帧。
图1为可用于本公开实施例的一种视频编解码系统的框图。如图1所示,该系统分为编码侧装置1和解码侧装置2,编码侧装置1产生码流。解码侧装置2可对码流进行解码。编码侧装置1和解码侧装置2可包含一个或多个处理器以及耦合到所述一个或多个处理器的存储器,如随机存取存储器、带电可擦可编程只读存储器、快闪存储器或其它媒体。编码侧装置1和解码侧装置2可以用各种装置实现,如台式计算机、移动计算装置、笔记本电脑、平板计算机、机顶盒、电视机、相机、显示装置、数字媒体播放器、车载计算机或其他类似的装置。
解码侧装置2可经由链路3从编码侧装置1接收码流。链路3包括能够将码流从编码侧装置1移动到解码侧装置2的一个或多个媒体或装置。在一个示例中,链路3包括使得编码侧装置1能够将码流直接发送到解码侧装置2的一个或多个通信媒体。编码侧装置1可根据通信标准(例如无线通信协议)来调制码流,且可将经调制的码流发送到解码侧装置2。所述一个或多个通信媒体可包含无线和/或有线通信媒体,例如射频(radio frequency,RF)频谱或一个或多个物理传输线。所述一个或多个通信媒体可形成基于分组的网络的一部分,基于分组的网络例如为局域网、广域网或全球网络(例如,因特网)。所述一个或多个通信媒体可包含路由器、交换器、基站或促进从编码侧装置1到解码侧装置2的通信的其它设备。在另一示例中,也可将码流从输出接口15输出到一个存储装置,解码侧装置2可经由流式传输或下载从该存储装置读取所存储的数据。该存储装置可包含多种分布式存取或本地存取的数据存储媒体中的任一种,例如硬盘驱动器、蓝光光盘、数字多功能光盘、只读光盘、快闪存储器、易失性或非易失性存储器、文件服务器等等。
在图1所示的示例中,编码侧装置1包含数据源11、编码器13和输出接口15。在一些示例中。数据源11可包括视频捕获装置(例如,摄像机)、含有先前捕获的数据的存档、用以从内容提供者接收数据的馈入接口,用于产生数据的计算机图形系统,或这些来源的组合。编码器13可对来自数据源11的数据进行编码后输出到输出接口15,输出接口15可包含调节器、调制解调器和发射器中的至少之一。
在图1所示的示例中,解码侧装置2包含输入接口21、解码器23和显示装置25。在一些示例中,输入接口21包含接收器和调制解调器中的至少之一。输入接口21可经由链路3或从存储装置接收码流。解码器23对接收的码流进行解码。显示装置25用于显示解码后的数据,显示装置25可与解码侧装置2的其他装置集成在一起或者单独设置。显示装置25例如可以是液晶显示器、等离子显示器、有机发光二极管显示器或其它类型的显示装置。在其他示例中,解码侧装置2也可以不包含所述显示装置25,或者包含应用解码后数据的其他装置或设备。
基于图1所示的视频编解码系统,可以使用各种视频编解码方法来实现视频压缩。国际上的视频编解码标准包括H.264/Advanced Video Coding(高级视频编码,AVC),H.265/High Efficiency Video Coding(高效视频编码,HEVC),H.266/Versatile Video Coding(多功能视频编码,VVC),MPEG(Moving Picture Experts Group,动态图像专家组),AOM(开放媒体联盟,Alliance for Open Media),AVS(Audio Video coding Standard,音视频编码标准)以及这些标准的拓展,或任何自定义的其他标准等,这些标准通过视频压缩技术减少传输的数据量和存储的数据量,以达到更高效的视频编解码和传输储存。上述视频编解码标准都采用了基于块的混合编码方式,这种编码方式先以块为基本单元进行帧内预测或帧间预测,然后对残差(也可为残差数据,残差块)进行变换、量化,对与分块、预测等相关的语法元素及量化后残差等进行熵编码,得到已编码视频码流(简称码流)。
伴随神经网络结构的发展,基于神经网络的图像、视频压缩技术也得到了长足的发展。基于随机神经网络的图像压缩、基于卷积神经网络的图像压缩、基于循环神经网络的图像压缩、基于生成对抗网络的图像压缩等技术都得到了快速发展。而基于神经网络的视频编解码技术在混合式神经网络视频编解码、神经网络率失真优化编解码以及端到端视频编解码等方面也取得了很多成果。其中,混合式神经网络视频编解码用神经网络代替传统编解码模块嵌入到传统的视频编解码框架,基于神经网络实现或优化帧内预测编码、帧间预测编码、环路滤波、熵编码等功能模块及相应的解码端模块,以进一步提升编解码性能。神经网络率失真优化编码可以使用神经网络完全替换传统的模式决策如帧内预测模式的决策。端到端视频编解码可以通过神经网络实现完整的视频编解码框架。
在一些方案中,视频编解码过程中对残差进行编解码处理的框架如图2A和图2B所示。在编码端,残差产生单元901将视频帧原始图像的像素值减去预测图像的像素值,得到的残差送入残差编码处理装置903。图示的示例中,残差编码处理装置903包括基于神经网络实现的残差编码网络9031和残差量化单元9033,残差在残差编码网络9031和残差量化单元9033进行编码、量化后得到残差编码数据,残差编码数据在熵编码单元905进行熵编码后写入码流。这里的残差量化单元可以对残差编码网络9031输出的数据进行上取整、下取整或四舍五入等量化运算。在解码端,如图2B所示,熵解码单元911对码流进行熵解码,提取出其中的残差编码数据,残差编码数据在残差解码处理装置913中解码,得到重建的残差。这里的残差解码处理装置913可以是基于神经网络实现的残差解码网络。这种对视频帧的残差进行编解码处理的方式,是对视频帧全幅图像的残差进行编码,经编码压缩后的平均码率相对较高,在带宽受限的情况下会影响观看体验。
在一些视频应用中,用户对图像中不同区域的关注程度不一样,对运动的物体、特定目标的关注度高,而对其他背景部分不太关心。例如道路监控中,道路上的运动车辆、行人是用户关注的目标,而路面、绿化带等背景部分不为用户关注。这些运动物体、特定目标的图像即目标图像,这些运动物体、特定目标所在的区域即目标区域,其他背景部分的图像即背景图像,其他背景部分所在的区域即背景区域。在一些基于神经网络实现的视频编解码方法中,视频帧经编码网络编码后得到图像特征图,图像特征图经量化后进行熵编码,再写入已编码视频码流(简称码流)。这种方法对视频帧编码时,显著度高的目标区域和显著度低的背景区域分配相同的码率,在码率资源紧张的情况下是一种浪费。
为了解决上述问题,本公开一实施例提出一种视频编码方法,其示意图如图3所示,图中X
t表示当前帧的原始图像,
表示上一帧的重建图像,X
t和
经帧间预测得到当前帧的预测图像
X
t减去
得到当前帧整帧图像的残差r
t,r
t经间歇性背景残差编码同时持续性目标残差编码后,再经残差解码得到重建残差
重建残差
和当前帧的预测图像
相加,得到当前帧的重建图像
其中,背景残差指帧中背 景区域的残差,目标残差指帧中目标区域的残差。本公开实施例对帧间预测帧(如P帧)编码时,采用间歇性背景残差编码的方式,在一定程度上节省了码率资源。如图所示,在对I帧编码时,可以采用端到端的基于目标的图像编码方法,且通过向目标图像分配较高的码率,向背景图像分配较低的码率,可以提升低码率条件下视频的主观质量。
`
本公开一实施例提供了一种视频编码器,用于实现本公开实施例的视频编码方法,该视频编码器可以基于端到端的视频编码框架实现。如图4所示,该视频编码器可分为I帧编码部分和帧间预测编码部分,帧间预测编码部分可以用于对P帧、B帧的编码,图中以对P帧编码为例。
如图4所示的示例中,I帧编码部分包括第一分割处理单元101、第一图像编码器103、第二图像编码器105、第一乘法器104、第二乘法器106、第一量化单元107、第二量化单元109、图像合并单元112、图像解码器113和熵编码单元131(熵编码单元为I帧编码部分和P帧)。在其他示例中,I帧编码部分也可以包括更多、更少或者不同的单元。
第一分割处理单元101设置为基于目标分割网络对I帧图像中的背景图像和目标图像进行分割,将分割结果处理为二值化的目标掩膜和背景掩膜;
第一图像编码器103设置为基于第一神经网络对I帧图像进行编码,输出第一码率的图像特征图;第二图像编码器105设置为基于第二神经网络对I帧图像进行编码,输出第二码率的图像特征图;其中,第一码率大于第二码率。第一神经网络和第二神经网络可以使用不同结构的神经网络,或者使用结构相同但参数(如权重、偏置等)不同的神经网络。第一神经网络以第一码率为目标码率进行训练,第二神经网络以第二码率为目标码率进行训练,从而可以分别输出第一码率和第二码率的图像特征图。
第一乘法器104设置为将第一图像编码器103输出的第一码率的图像特征图与第一分割处理单元101输出的目标掩膜相乘,输出第一码率的目标特征图(即目标图像的特征图)。
第二乘法器106设置为将第二图像编码器105输出的第二码率的图像特征图与第一分割处理单元101输出的背景掩膜相乘,输出第二码率的背景特征图(即背景图像的特征图)。
第一量化单元107设置为对目标特征图进行量化,输出量化后的目标特征图;第二量化单元109设置为对背景特征图进行量化,输出量化后的背景特征图。量化如可以是上取整、下取整、四舍五入等,本公开不做局限。
熵编码单元131对量化后的目标特征图和背景特征图进行熵编码,写入码流。
图像合并单元112设置为将量化后的目标特征图和量化后的背景特征图合并为整帧图像的特征图,输出到图像解码器113;
图像解码器113设置为对整帧图像的特征图进行解码,输出I帧重建图像。图像解码器113可以基于神经网络实现。图像解码器113输出的I帧重建图像保存在图像缓冲器209中,可以作为P帧进行帧间预测编码时的参考图像。
基于上述I帧编码部分的架构,本公开一实施例提供了一种对视频系列(如一个画面组)的第一帧图像即I帧图像的编码方法,如图5所示,包括:
步骤310,将I帧图像输入目标分割网络,将分割结果处理为二值化的目标掩膜和背景掩膜;
步骤320,将I帧图像分别输入两个基于神经网络的图像编码器,两个图像编码器分别输出第一码率的图像特征图和第二码率的图像特征图,其中,第一码率大于第二码率;
上述步骤310和步骤320并无固定的顺序,也可以并行执行。
步骤330,将第一码率的图像特征图与目标掩膜相乘,得到目标特征图;将第二码率的图像特征图与背景掩膜相乘,得到背景特征图;
步骤340,对目标特征图和背景特征图分别进行量化和熵编码,写入码流。
本实施例在I帧编码时,对I帧中的目标图像和背景图像分配不同的码率,通过向用户关注的目标图像分配更高的码率,赋予更多码率资源,向用户不关注的背景图像分配较低码率,提升了低码率下(如带宽受限时)视频的主观质量。
如图4所示,帧间预测编码部分用于实现P帧或B帧的帧间预测编码,包括特征融合网络201、运动 补偿单元203、残差产生单元204、残差编码处理装置205、残差解码处理装置207、重建单元208、图像缓冲器209、第三量化单元211和熵编码单元131。在其他示例中,帧间预测编码部分也可以包括更多、更少或者不同的单元。
特征融合网络201可以基于神经网络实现,设置为接收输入的当前帧(以P帧为例,也可以是B帧)的原始图像和上一帧的重建图像(也可称为参考图像),输出帧间运动信息特征图;
运动补偿单元203设置为根据上一帧的重建图像和特征融合网络201输出的帧间运动信息特征图进行运动补偿,输出当前帧的预测图像;
残差产生单元204设置为根据当前帧的原始图像和预测图像,产生当前帧的残差(也可称为残差数据);
残差编码处理装置205设置为对残差进行编码和量化,输出残差编码数据,其中,对残差的编码可以通过基于神经网络的残差编码网络来实现;残差编码数据可分为两路,一路输出到熵编码单元131进行熵编码后写入码流,一种输出到残差解码处理装置207进行解码以重建图像。
残差解码处理装置207设置为对残差编码数据进行解码,输出重建残差(也可称为重建残差数据)。残差解码处理装置207可以使用基于神经网络的残差解码网络对残差编码数据进行解码;
重建单元208设置为将当前帧的预测图像与重建残差相加,得到当前帧如P帧的重建图像,保存到图像缓冲器209;
图像缓冲器209设置为保存重建的视频帧图像,为运动补偿单元203提供运动补偿所需的参考图像。其中,重建的视频帧图像包括重建的I帧图像和重建的P帧图像,还可以包括重建的B帧图像;
第三量化单元211设置为对特征融合网络201输出的帧间运动信息特征图进行量化后,输出到熵编码单元131;
熵编码单元131还设置为对量化后的帧间运动信息特征图、残差编码数据等进行熵编码,写入码流。
上述视频编码器10中的多个量化单元主要用于将神经网络输出的数据量化为整数,如果这些神经网络被训练为可以输出整数,则这些量化单元也可以不设置。
图4中的视频编码器10可使用以下电路中的任意一种或者以下电路的任意组合来实现:一个或多个微处理器、数字信号处理器、专用集成电路、现场可编程门阵列、离散逻辑、硬件等。如果部分地以软件来实施本公开,那么可将用于软件的指令存储在合适的非易失性计算机可读存储媒体中,且可使用一个或多个处理器在硬件中执行所述指令,从而实施本公开任一实施例的视频编码方法。
图6是视频编码器10中残差编码处理装置205的一个示例性的功能单元图,如图所示,残差编码处理装置205包括第二目标分割网络2051、膨胀单元2053、第三乘法器2054、残差选择单元2055、残差编码网络2057和第四量化单元2059。在其他示例中,残差编码处理装置205也可以采用更多、更少或不同的单元实现。例如,略去膨胀单元2053、将残差编码网络2057改用变换单元,等等。
目标分割网络2051设置为对当前帧(图中以P帧为例)图像中的背景图像和目标图像进行分割,将分割结果处理为二值化的目标掩膜;
膨胀单元2053设置为对目标分割网络2051输出的目标掩膜进行形态学的膨胀处理,输出膨胀后的目标掩膜;
第三乘法器2054设置为将当前帧整帧图像的残差与膨胀后的目标掩膜相乘,输出当前帧中目标区域的残差;
残差选择单元2055设置为根据设定条件,从当前帧整帧图像的残差和当前帧中目标区域的残差中选择一个,输出到残差编码网络2057进行编码;
第四量化单元2059设置为对残差编码网络2057输出的数据进行量化,输出残差编码数据(量化后的数据)。
上述膨胀单元2053所做的膨胀处理方法,残差选择单元2055的选择方法可以见本发明实施例的残差编码方法中的相应说明,这里不再赘述。
上述残差编码处理装置205可使用以下电路中的任意一种或者任意组合来实现:一个或多个微处理器、数字信号处理器、专用集成电路、现场可编程门阵列、离散逻辑、硬件等。如果部分地以软件来实施本公开,那么可将用于软件的指令存储在合适的非易失性计算机可读存储媒体中,且可使用一个或多个处理器在硬件中执行所述指令,从而实施本公开任一实施例的残差编码方法。
本公开一实施例提供了一种视频编码方法,如图7所示,包括:
步骤410,在当前帧为帧间预测帧时,通过帧间预测得到当前帧的预测图像;
本步骤中,可以将上一帧的重建图像与当前帧的原始图像输入训练好的特征融合网络,特征融合网络输出帧间运动信息特征图。将帧间运动信息特征图和上一帧的重建图像相加,即得到当前帧的预测图像。帧间运动信息特征图经过量化和熵编码后写入码流。
步骤420,根据当前帧的原始图像和预测图像计算得到当前帧整帧图像的残差;
本步骤中,可以将当前帧的原始图像减去当前帧的预测图像(像素值相减),得到当前帧整帧图像的残差
步骤430,按照本公开任一实施例所述的残差编码方法进行残差编码。
本步骤中,对于残差编码时,可以将相应的残差(如目标区域的残差或整帧图像的残差)输入残差编码网络,再对残差编码网络输出的数据进行量化、熵编码后写入码流。
在本公开一示例性的实施例中,所述视频编码方法还包括以下对I帧编码的方法:当前帧为I帧时,采用第一神经网络和第二神经网络分别对所述当前帧的原始图像进行编码,得到第一码率的图像特征图和第二码率的图像特征图,其中,第一码率大于第二码率;将第一码率的图像特征图与目标掩膜相乘,得到目标特征图;将第二码率的图像特征图与背景掩膜相乘,得到背景特征图;及,分别对所述目标特征图和背景特征图进行量化和熵编码。本实施例通过给视频目标区域赋予更多码率资源,从而提升了极低码率下视频的主观质量。
在本公开一示例性的实施例提供了一种残差编码方法,用于帧间预测帧的残差编码,该残差编码方法可以基于图6中的残差编码处理装置来实现。如图8所示,所述残差编码方法包括:
步骤510,在当前帧为帧间预测帧时,计算当前帧按照第一模式进行残差编码的影响因子;所述第一模式是只对帧中目标区域的残差编码的模式,所述影响因子根据编码后的第一图像质量和/或第一码率确定。
在一个示例中,所述影响因子根据当前帧编码后的第一图像质量确定,而在另一示例中,所述影响因子根据当前帧编码后的第一图像质量和第一码率确定。
步骤520,判断所述影响因子是否满足设定条件,在所述影响因子满足设定条件的情况下,执行步骤530,在所述影响因子不满足设定条件的情况下,执行步骤540;
步骤530,确定当前帧按照所述第一模式进行残差编码;
步骤540,确定当前帧按照第二模式进行残差编码,所述第二模式是对整帧图像的残差编码的模式。
图9所示是本公开实施例残差编码方法的一个示意图。从该图可以看出,本公开实施例在进行残差编码时,通过模式判决选择对当前帧整帧图像的残差进行编码,或者选择对当前帧中目标区域的残差进行编码,编码结果写入码流,解码端对码流中的残差编码数据解码后得到重建残差。目标区域的残差通过将整帧图像的残差与膨胀处理后的目标掩膜相乘得到。
本公开实施例的残差编码处理装置和残差编码方法,根据设定条件选择帧间预测帧的整帧图像或帧中目标区域的残差进行编码,也即是间歇性地对帧中背景区域的残差编码,持续性地对帧中目标区域的残差编码,有选择性地对帧间预测帧中背景区域的残差进行补偿,减少编码量,提高编码效率,在保证目标图像视觉质量的同时略微降低背景图像的质量。由于背景图像不是用户观看视频所关注的区域,该方法对视频的主观质量影响较小。
上述步骤410中描述的“在当前帧为帧间预测帧时,计算当前帧按照第一模式进行残差编码的影响因子”,不应理解为对一个GOP中所有的帧间预测帧都必须计算所述影响因子。在本公开的一个示例中,对于GOP中的第一个帧间预测帧(通常是GOP中的第二个帧),也可以直接该帧确定按照第二模式进行残差编码,不进行影响因子的计算,此时。该第一个帧间预测帧可以作为参考帧,该第一个帧间预测帧编码后的图像质量和/或码率可用于计算出参考因子,在后续帧间预测帧的模式判决中使用。
在本公开一实施例中,在确定当前帧按照第一模式进行残差编码的情况下,可以将当前帧中背景区域的残差设置为等于0并进行编码,编码结果写入码流。将当前帧中背景区域的残差设置为等于0,实际上忽略了背景区域的残差,用很小的编码开销就可以完成这些0值的编码。同时没有改变残差编码的数据格 式,解码端仍然可以使用原来的解码方法完成解码,因此本公开实施例的编码方法对解码端具有很好的兼容性。
本公开实施例中,可以采用两种方法计算当前帧中目标区域的残差。
第一种方法是将当前帧整帧图像的残差与目标掩膜相乘,得到当前帧中目标区域的残差。可以通过将视频帧的原始图像输入目标分割网络,对整帧图像中的背景图像和目标图像进行分割,再将分割结果处理为二值化的所述目标掩膜。这种方法没有对目标掩膜进行膨胀处理,计算比较简单,便于实现。但由于本公开实施例间歇性对背景区域的残差编码,在没有对背景区域的残差编码的帧中,这种方法没有对目标边缘进行残差补偿,在解码后的图像中,目标边缘有可能出现主观质量缺陷,影响视频观看效果。
第二种方法是将当前帧整帧图像的残差与膨胀处理后的目标掩膜相乘,得到当前帧中目标区域的残差。这种方法计算得到的是经膨胀处理后的目标区域的残差,而目标区域的残差是持续性编码,因而每帧图像都对目标边缘进行了残差补偿,可以避免上述主观质量缺陷,提升视频观看体验。
上述第二种方法对目标掩膜进行膨胀处理时,可以先确定膨胀处理使用的膨胀核,使用膨胀核对目标掩膜进行膨胀处理。膨胀核在图像形状学中也称为结构元素(SE:structure element),膨胀核的尺寸和中心点都可以根据需要定义。本实施例中,所述膨胀核的大小与所述目标区域中像素的位移统计值正相关。所述位移统计值为所述目标区域中所有像素的位移值中的最大值,或者是所述目标区域中所有像素的位移值的平均值等,本公开不做局限。像素的位移值反映了目标(如监控画面的运动物体)在当前帧和前一帧之间的运动速度。这种处理方式将目标区域中像素的位移值与膨胀核的大小关联起来,像素的位移值越大,说明目标移动较快,此时选用较大的膨胀核对目标掩膜进行膨胀处理,可以使膨胀后的目标区域也变大,从而保证目标的边缘区域得到残差补偿。
基于上述第二种方法的一个示例中,对目标掩膜进行膨胀处理时所使用的膨胀核为一正方形,所述正方形的边长k
d根据下式计算:
k
d=ceil(max(D*M
o))+k
0
其中,D为当前帧中像素的位移值组成的矩阵,M
o为目标掩膜,k
0为设定的常数,ceil()为向上取整函数,max()表示取矩阵中元素最大值的函数。
假定计算得到的k
d=3,则可使用如图10所示的包括3×3个像素单元的膨胀核,一个像素单元可以包括一个或多个像素点,该膨胀核的中心点是图10中画有交叉线的点。常数的设置可以为计算提供一定的余量。虽然本示例是以正方形的膨胀核作为示例,但本公开对膨胀核的形状并不限定,例如膨胀核的形状也可以是三角形、矩形、五边形、十字形或者其他形状。
图14A是膨胀前的目标掩膜的示意图,图14B是对图14A的目标掩膜进行膨胀处理后的目标掩膜的示意图,图14C是使用图14A的目标掩膜处理后得到的图像,而图14D是使用图14B的目标掩膜处理后得到的图像。图14D中目标区域的边缘更为清晰。
上述步骤510计算的影响因子反应的是当前帧按照第一模式进行残差编码(即只对帧中目标区域的残差编码,不对帧中背景区域的残差编码)所带来的影响,该影响可以用编码后的视频质量等绝对指标来衡量,或者,该影响也可以用当前帧按照第一模式进行残差编码,相对于当前帧按照第二模式进行残差编码在视频质量、码率上的变化来衡量,或者,也可以用当前帧按照第一模式进行残差编码后的视频质量和/或码率,相对于之前已编码的帧间预测帧(文中称之为参考帧)按照第一模式或第二模式进行残差编码后的视频质量和/或码率的变化来衡量。使用相对变化来衡量的方式,是一种动态自适应地进行模式判决的方法,具有更好的适应性。
在本公开一示例性的实施例中,所述影响因子按照下式计算:
RD
cur=R
r_bkg+D
w/o_r_bkg
其中,RD
cur是影响因子,R
r_bkg是当前帧中背景区域的残差的码率,D
w/o_r_bkg是当前帧按照第一模式进行残差编码后的重建图像相对于原始图像的失真度。
所述设定条件为:RD
cur-RD
comp<λ,RD
comp=R‘
r_bkg+D
w_r_bkg,
其中,λ为设定的阈值,RD
comp为参考因子,R‘
r_bkg是参考帧中背景区域的残差的码率,D
w_r_bkg是所述参考帧的重建图像相对于原始图像的失真度,所述参考帧指当前帧所在画面组中已确定按照第二模式进行残差编码且距离当前帧最近的一个帧间预测帧。
本实施例对于GOP中的第一个帧间预测帧(如第一个P帧),可以不进行上述模式判决,直接确定该帧按照第二模式进行残差编码即对整帧图像的残差编码。同时可以根据RD
comp=R‘
r_bkg+D
w_r_bkg计算参考因子RD
comp。也即计算该帧按照第二模式进行残差编码后,该帧的重建图像相对于原始图像的失真度,以及该帧中背景区域的残差的码率。将计算的失真度和码率相加,保存为参考因子RD
comp。这样,从该GOP中第二个帧间预测帧开始,对当前帧进行残差编码时,就可以使用公式RD
cur-RD
comp<λ来进行模式判决。如果判决结果确定当前帧按照第二模式进行残差编码,同样可以根据RD
comp=R‘
r_bkg+D
w_r_bkg计算参考因子RD
comp,并将保存的RD
comp更新为此次计算出的RD
comp。但是本公开并非必须如此,在另一个实施例中,也可以将RD
comp的初始值设置为0或者其他值,以保证当前帧为GOP中的第一个帧间预测帧时,按照设定条件RD
cur-RD
comp<λ不成立(即影响因子不满足设定条件)即可,这与直接确定第一个帧间预测帧按照第二模式进行残差编码本质上是相同的。
在本实施例的一个变例中,影响因子的计算公式和设定条件与前述实施例相同,但R
r_bkg为当前帧中目标区域的残差的码率,R‘
r_bkg是参考帧中目标区域或者整帧图像的残差的码率,也是可以的。本实施例及变例中,编码后背景区域、目标区域或整帧图像的残差的码率可以通过对这些残差的数据进行熵编码来获取,也可以不进行熵编码,在使用残差编码网络对这些残差编码后,通过码率近似估计模式或其他方法估算出这些残差的码率。残差的码率是与残差编码后的比特开销关联的,残差编码后的比特开销越大,则码率也越大。同时考虑视频质量和码率,可以在提高编码效果和提升视频质量之间取得一个合理的平衡,达到性能的优化。
本实施例在设定条件中引入参考因子RD
comp,用影响因子与参考因子的差值与设定值比较,其反应的是当前帧按照第一模式进行残差编码时相对于同一GOP中已按照第二模式进行残差编码的参考帧在图像质量和码率上的差异,如果这个差异较大,则认为当前帧按照第一模式进行残差编码会导致图像质量和码率相对参考帧的劣化,当前帧不应按照第一模式进行残差编码,而应按照第二模式进行残差编码,如果这个差异较小,则认为当前帧按照第一模式进行残差编码后的图像质量和码率较之参考帧差别不大,确定当前帧按照第一模式进行残差编码。本实施例进行模式判决时同时考虑码率和失真度两个因素,可以达到更好的综合性能。
本实施例及其他实施例中,所述失真度用平均平方误差(MSE:Mean Squared Error)表示,但也可以采用绝对误差和(SAD:Sum of Absolute Difference)、差值变换后再绝对值求和(SATD:Sum of Absolute Transformed Difference)、差值的平方和(SSD:Sum of Squared Difference)或者平均绝对差值(MAD:Mean Absolute Difference)表示。
本实施例的影响因子能够更好地反应背景残差缺失的影响,而上述设定条件也可以自适应地进行模式判决,不局限于固定的阈值,可以更好地适用于各种视频编解码的场景。
在本公开一示例性的实施例中,提供了一种残差编码方法,包括:
步骤一,将帧间预测帧的图像输入目标分割网络,将分割结果处理为目标掩膜;
步骤二,对目标掩膜进行形态学的膨胀处理;
本步骤膨胀处理使用的膨胀核与目标区域像素最大位移值相关,由如下式子决定:
k
d=ceil(max(D*M
o))+k
0
其中,D为图像中每个像素在前后两帧之间的位移值组成的矩阵,矩阵中的每个元素为
(u,v)为每个像素的光流,M
o为膨胀前的目标掩膜;ceil()为向上取整函数;ceil(max(D*M
o))即为目标区域像素的最大位移值向上取整后的值。k
0为常数。
步骤三,当前帧为帧间预测帧时,计算用于衡量当前帧按照第一模式(即只对目标区域的残差编码,不对背景区域的残差编码或者说不对背景区域的残差进行补偿)进行残差编码的影响因子:
RD
cur=R
r_bkg+D
w/o_r_bkg
其中,RD
cur为当前帧的影响因子,R
r_bkg为当前帧中背景区域的残差的码率,D
w/o_r_bkg为当前帧按照第一模式进行残差编码后,重建图像相对于原图像的失真度,用MSE失真表示。在本实施例中,影响因子涉及码率和失真,也可以称为码率和失真的损失(RD loss)。
当前帧中目标区域的残差可以通过将当前帧整帧图像的残差与当前帧的目标掩膜相乘得到。当前帧中 背景区域的残差可以通过将当前帧整帧图像的残差与当前帧的背景掩膜相乘得到。
步骤四,判断影响因子RD
cur是否满足以下条件:
RD
cur-RD
comp<λ
其中,RD
comp是参考因子,λ是设定的阈值。
如果当前帧按照第一模式进行残差编码后,RD loss的增长超过了一定的阈值,即:RD
cur-RD
comp<λ成立时,确定当前帧按照第一模式进行残差编码,只将当前帧中目标区域的残差输入后续编码网络;当RD
cur-RD
comp≥λ时,确定当前帧按照第二模式进行残差编码,将当前帧整帧图像的残差输入网络。
并且更新保存的RD
comp值。
本实施例中,当前帧为GOP中的第一个帧间预测帧时,也可以不进行判决,直接确定当前帧按照第二模式进行残差编码,或者通过对RD
comp的初始值的设置,使得判决结果是当前帧按照第二模式进行残差编码。
对于确定按照第二模式进行残差编码的当前帧,按照下式计算出参考因子RD
comp并保存;
RD
comp=R‘
r_bkg+D
w_r_bkg
其中,R‘
r_bkg为当前帧按照第二模式进行残差编码时,帧中背景区域的残差的码率,D
w_r_bkg为当前帧按照第二模式进行残差编码时,重建图像相对于原始图像的失真度,可以用MSE损失(MSE loss)表示。
上述参考因子是当前帧按照第二模式进行残差编码时的RD loss,从GOP中的第二个帧间预测帧开始,如果模式判决结果是确定当前帧按照第二模式进行残差编码,需按照RD
comp=R‘
r_bkg+D
w_r_bkg计算出RD
comp,并且将保存的RD
comp更新为此次计算的RD
comp。对后续的帧间预测帧进行模式判决时,就可以直接获取到参考因子RD
comp进行判断。对参考因子的更新可以及时地适应视频质量的变化,做出更为合理的模式判决。
在图8所示的本公开实施例的残差编码方法中,所述设定条件包括以下条件中的一个或多个:
条件一,所述影响因子小于设定的第一阈值;
条件二,所述影响因子减去第一参考因子的差小于设定的第二阈值,所述第一参考因子根据当前帧按照第二模式进行残差编码后的第二图像质量和/或第二码率确定;
条件三,所述影响因子减去第二参考因子的差小于设定的第三阈值,所述第二参考因子根据参考帧按照第一模式或第二模式进行残差编码后的第三图像质量和/或第三码率确定,所述参考帧是当前帧所在画面组中已编码的帧间预测帧。例如,参考帧是当前帧所在GOP中已确定按照第二模式进行残差编码且距离当前帧最近的一个帧间预测帧,所述第二参考因子根据所述参考帧按照第二模式进行残差编码后的第三图像质量和/或第三码率确定。
其中,所述第一图像质量、第二图像质量和第三图像质量均用重建图像相对于原始图像的失真度表示;所述第一码率用背景区域或目标区域的残差的码率表示;所述第二码率用背景区域和目标区域的残差的码率表示;所述第三码率用背景区域和/或目标区域的残差的码率表示。在本公开的其他实施例中,所述第一图像质量、第二图像质量和第三图像质量也可以用重建图像相对于原始图像的相似度、峰值信噪比(PSNR:Peak Signal to Noise Ratio)等其他参数表示。
在本公开一示例性的实施例中,使用上述条件一进行模式判决,所述影响因子根据第一图像质量确定,如等于当前帧按照第一模式进行残差编码后,重建图像相对于原始图像的失真度。在判断所述影响因子是否满足设定条件时,如果所述影响因子小于设定的失真度阈值,说明编码后的失真度较小,则确定当前帧按照第一模式进行残差编码即只对帧中目标区域的残差编码,以节约编码开销。如果所述影响因子大于或等于设定的失真度阈值,说明编码后的失真度较大,则确定当前帧按照第二模式进行残差编码即对整帧图像的残差编码的模式,以保证视频质量。这种判决方式比较简单,比较适合用于阈值相对固定的场景。但不太灵活,对于视频质量需求存在变化的场景,难以满足需要。
在本公开一示例性的实施例中,使用上述条件二进行模式判决。影响因子等于当前帧按照第一模式进行残差编码后的第一图像质量加上第一码率,其中第一图像质量等于重建图像相对于原始图像的失真度,第一码率等于当前帧中目标区域的残差的码率。第一参考因子等于当前帧按照第二模式进行残差编码后的第二图像质量加上第二码率,其中,第二图像质量等于重建图像相对于原始图像的失真度,第二码率等于 参考帧中背景区域和目标区域(即整帧图像)的残差的码率。此时,影响因子相当于当前帧按照第一模式进行残差编码的率失真代价,第一参考因子相当于当前帧按照第二模式进行残差编码的率失真代价,第二阈值可以设定为0,也即可以通过比较第一模式和第二模式对应的率失真代价来进行模式判决,在第一模式对应的率失真代价(影响因子)小于第二模式对应的率失真代价(第一参考因子)时,确定当前帧按照第一模式进行残差编码即只对目标区域的残差编码,反之,确定当前帧按第二模式进行残差编码即对整帧图像的残差编码。
在本公开一示例性的实施例中,使用上述条件三进行模式判决。第二参考因子根据参考帧按照第一模式进行残差编码后的第三图像质量确定,第三图像质量等于参考帧编码后重建图像相对于原始图像的失真度。参考帧是当前帧所在画面组中的上一帧间预测帧。影响因子根据当前帧按照第一模式进行残差编码后的第一图像质量确定,第一图像质量等于当前帧编码后重建图像相对于原始图像的失真度。则本实施例使用影响因子减去第二参考因子的差,反应的是当前帧按照第一模式进行残差编码后的失真度,相对于上一帧按照第一模式进行残差编码后的失真度的变化,如果差小于设定的第三阈值,说明失真度的变化小,当前帧可以继续按照第一模式进行残差编码,如果差大于或等于设定的第三阈值,说明失真度有明显的劣化,当前帧应按照第二模式进行残差编码。本实施例的一个变列中,第二参考因子也可以根据参考帧按照第一模式进行残差编码后的第三图像质量和第三码率确定,影响因子也可以根据当前帧按照第一模式进行残差编码后的第一图像质量和第一码率确定。
在本公开一示例性的实施例中,使用上述条件三进行模式判决。第二参考因子根据参考帧按照第二模式进行残差编码后的第三图像质量和第三码率确定,其中,第三图像质量等于参考帧编码后重建图像相对于原始图像的失真度,第三码率等于参考帧整帧图像的残差的码率,参考帧是当前帧所在画面组中已确定按照第二模式进行残差编码且距离当前帧最近的一个帧间预测帧。而影响因子根据当前帧按照第一模式进行残差编码后的第一图像质量和第一码率确定,其中,第一图像质量等于当前帧编码后重建图像相对于原始图像的失真度,第一码率等于当前帧中目标区域的残差的码率。则本实施例使用影响因子减去第二参考因子的差,反应的是当前帧按照第一模式进行残差编码后的失真度和码率,相对于上一个按照第二模式进行残差编码的帧间预测帧编码后的失真度和码率的变化,如果差小于设定的第三阈值,说明失真度和码率的变化小,当前帧可以按照第一模式进行残差编码,如果差大于或等于设定的第三阈值,说明失真度和码率有明显的劣化,当前帧应按照第二模式进行残差编码。本实施例的一个变列中,第二参考因子也可以根据参考帧按照第二模式进行残差编码后的第三图像质量确定,影响因子也可以根据当前帧按照第一模式进行残差编码后的第一图像质量确定。
在本公开一示例性的实施例中,使用上述多个条件进行模式判决,例如,对GOP中头几个帧间预测帧,使用条件一进行模式判决,在出现确定按照第二模式进行残差编码的帧间预测帧后,改为使用条件三进行模式判决。或者,对于GOP中每一个帧间预测值,都使用条件一和条件二进行模式判决,或者使用条件一和条件三进行模式判决,或者使用条件二和条件三进行模式判决,等等。
本公开一实施例还提供了一种残差编码装置,如图11所示,包括处理器以及存储有可在所述处理器上运行的计算机程序的存储器,其中,所述处理器执行所述计算机程序时实现如本公开任一实施例所述的残差编码方法。
本公开一实施例还提供了一种视频编码设备,也可参见图11,包括处理器以及存储有可在所述处理器上运行的计算机程序的存储器,其中,所述处理器执行所述计算机程序时实现如本公开任一实施例所述的视频编码方法。
本公开一实施例还提供了一种视频编解码系统,包括如本公开任一实施所述的视频编码设备,还包括视频解码设备。
本公开一实施例还提供了一种非瞬态计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其中,所述计算机程序时被处理器执行时实现如本公开任一实施例所述的残差编码方法或视频编码方法。
本公开一实施例还提供了一种码流,其中,所述码流根据如本公开任一实施例所述的残差编码方法或者视频编码方法生成,其中,在确定当前帧按照第二模式进行残差编码的情况下,所述码流中包括只对当前帧中目标区域的残差编码得到的码字,在确定当前帧按照第一模式进行残差编码的情况下,所述码流中包括对当前帧整帧图像的残差编码得到的码字。
本公开一实施例还提供了一种视频解码器,用于实现本公开实施例的视频解码方法,该视频解码器可以基于端到端的视频解码框架实现。如图12所示,视频解码器30包括熵解码单元301、图像合并单元302、图像解码器303、图像缓冲器305、运动补偿单元307、残差解码处理装置309和重建单元308。在本公开 其他示例中,视频解码器30也可以包括更多、更少或者不同的单元。
熵解码单元301设置为对码流进行熵解码,提取出I帧的目标特征图和背景特征图、帧间预测帧的运动信息特征图、残差编码数据等信息,分别送入相应的单元进行处理;
图像合并单元302设置为将熵解码单元301提取的目标特征图和背景特征图合并为I帧整帧图像的特征图,输出到图像解码器303;
图像解码器303设置为对I帧整帧图像的特征图进行解码,输出I帧重建图像。图像解码器303可以基于神经网络实现;
图像缓冲器305设置为保存图像解码器303输出的I帧重建图像和重建单元308输出的帧间预测帧的重建图像,缓存的重建图像作为解码后视频数据输出显示,及为运动补偿单元307提供运动补偿所需的参考图像。
运动补偿单元307设置为根据参考图像(如上一帧的重建图像)和熵解码单元301提取的帧间运动信息特征图进行运动补偿,输出当前帧的预测图像;
残差解码处理装置309设置为对熵解码单元301提取的残差编码数据进行解码,输出重建残差。残差解码处理装置207可以使用基于神经网络的残差解码网络对残差编码数据进行解码;
重建单元308设置为将当前帧的预测图像与重建残差相加,得到帧间预测帧(以P帧为例)的重建图像,保存到图像缓冲器305;
图12中的视频解码器30可使用以下电路中的任意一种或者以下电路的任意组合来实现:一个或多个微处理器、数字信号处理器、专用集成电路、现场可编程门阵列、离散逻辑、硬件等。如果部分地以软件来实施本公开,那么可将用于软件的指令存储在合适的非易失性计算机可读存储媒体中,且可使用一个或多个处理器在硬件中执行所述指令,从而实施本公开任一实施例的视频解码方法。
本公开一实施例提出视频解码方法,可基于图12所示的视频解码框架实现。其中,对I帧的解码过程包括:
步骤610,对码流中的当前帧(I帧)进行熵解码,得到目标特征图和背景特征图;
步骤620,将所述目标特征图和背景特征图相加,得到当前帧(I帧)整帧图像的特征图;
步骤630,将当前帧(I帧)整帧图像的特征图输入基于神经网络的解码器,得到当前帧(I帧)的重建图像并保存。
当前帧为帧间预测帧(以P帧为例,也可以是B帧)时,相应的解码流程如图13B所示,包括:
步骤710,对码流中的当前帧(P帧)进行熵解码,得到残差编码数据和帧间运动信息特征图;
步骤720,利用帧间运动信息特征图补偿上一帧的重建图像,得到当前帧(P帧)的预测图像;
步骤730,对残差编码数据进行解码得到重建残差,将重建残差与当前帧(P帧)的预测图像相加,得到当前帧(P帧)的重建图像并保存。
在上述步骤中,不需要去识别编码端是按第一模式还是第二模式进行残差编码,解码端可以采用相同的方式完成对残差编码数据的解码。
采用H.264、H.265、NVC和本公开实施例的基于目标编码的视频压缩方法对样本图像进行编码,测试到的四种算法压缩该序列消耗的平均码率如下表所示:
H.264 | H.265 | NVC | OBVC | |
平均像素深度 | 0.0213 | 0.0199 | 0.0197 | 0.0175 |
峰值信噪比 | 22.40 | 23.71 | 23.58 | 23.20 |
本公开实施例通过给视频目标区域赋予更多码率资源,从而提升了极低码率下视频的主观质量。而通过间歇性补偿背景区域残差,逐帧补偿目标区域残差。保证目标区域视觉质量的同时略微降低背景区域质量,提升视频主观质量,一定程度上节省了码率资源。此外,本实施例通过将目标分割掩膜进行膨胀操作, 解决了间歇性补偿背景残差导致的目标边缘出现的目标边缘视觉缺陷。
在一或多个示例性实施例中,所描述的功能可以硬件、软件、固件或其任一组合来实施。如果以软件实施,那么功能可作为一个或多个指令或代码存储在计算机可读介质上或经由计算机可读介质传输,且由基于硬件的处理单元执行。计算机可读介质可包含对应于例如数据存储介质等有形介质的计算机可读存储介质,或包含促进计算机程序例如根据通信协议从一处传送到另一处的任何介质的通信介质。以此方式,计算机可读介质通常可对应于非暂时性的有形计算机可读存储介质或例如信号或载波等通信介质。数据存储介质可为可由一或多个计算机或者一或多个处理器存取以检索用于实施本公开中描述的技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可包含计算机可读介质。
举例来说且并非限制,此类计算机可读存储介质可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用来以指令或数据结构的形式存储所要程序代码且可由计算机存取的任何其它介质。而且,还可以将任何连接称作计算机可读介质举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电及微波等无线技术从网站、服务器或其它远程源传输指令,则同轴电缆、光纤电缆、双纹线、DSL或例如红外线、无线电及微波等无线技术包含于介质的定义中。然而应了解,计算机可读存储介质和数据存储介质不包含连接、载波、信号或其它瞬时(瞬态)介质,而是针对非瞬时有形存储介质。如本文中所使用,磁盘及光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软磁盘或蓝光光盘等,其中磁盘通常以磁性方式再生数据,而光盘使用激光以光学方式再生数据。上文的组合也应包含在计算机可读介质的范围内。
可由例如一或多个数字信号理器(DSP)、通用微处理器、专用集成电路(ASIC)现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一或多个处理器来执行指令。因此,如本文中所使用的术语“处理器”可指上述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文描述的功能性可提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或并入在组合式编解码器中。并且,可将所述技术完全实施于一个或多个电路或逻辑元件中。
本公开实施例的技术方案可在广泛多种装置或设备中实施,包含无线手机、集成电路(IC)或一组IC(例如,芯片组)。本公开实施例中描各种组件、模块或单元以强调经配置以执行所描述的技术的装置的功能方面,但不一定需要通过不同硬件单元来实现。而是,如上所述,各种单元可在编解码器硬件单元中组合或由互操作硬件单元(包含如上所述的一个或多个处理器)的集合结合合适软件和/或固件来提供。
Claims (16)
- 一种残差编码方法,包括:在当前帧为帧间预测帧时,计算当前帧按照第一模式进行残差编码的影响因子,所述第一模式是只对帧中目标区域的残差编码的模式,所述影响因子根据编码后的第一图像质量和/或第一码率确定;判断所述影响因子是否满足设定条件;在所述影响因子满足设定条件的情况下,确定当前帧按照第一模式进行残差编码,在所述影响因子不满足设定条件的情况下,确定当前帧按照第二模式进行残差编码,所述第二模式是对整帧图像的残差编码的模式。
- 如权利要求1所述的残差编码方法,其中:所述设定条件包括以下条件中的一个或多个:条件一,所述影响因子小于设定的第一阈值;条件二,所述影响因子减去第一参考因子的差小于设定的第二阈值,所述第一参考因子根据当前帧按照第二模式进行残差编码后的第二图像质量和/或第二码率确定;条件三,所述影响因子减去第二参考因子的差小于设定的第三阈值,所述第二参考因子根据参考帧按照第一模式或第二模式进行残差编码后的第三图像质量和/或第三码率确定,所述参考帧是当前帧所在画面组中已编码的帧间预测帧。
- 如权利要求2所述的残差编码方法,其中:所述参考帧是当前帧所在画面组中已确定按照第二模式进行残差编码且距离当前帧最近的一个帧间预测帧,所述第二参考因子根据所述参考帧按照第二模式进行残差编码后的第三图像质量和/或第三码率确定。
- 如权利要求1或2所述的残差编码方法,其中:所述第一图像质量、第二图像质量和第三图像质量均用重建图像相对于原始图像的失真度表示;所述第一码率用背景区域或目标区域的残差的码率表示;所述第二码率用背景区域和目标区域的残差的码率表示;所述第三码率用背景区域和/或目标区域的残差的码率表示。
- 如权利要求1所述的残差编码方法,其中:所述影响因子按照下式计算:RD cur=R r_bkg+D w/o_r_bkg其中,RD cur是所述影响因子,R r_bkg是当前帧中背景区域或目标区域的残差的码率,D w/o_r_bkg是当前帧按照第一模式进行残差编码后的重建图像相对于原始图像的失真度。
- 如权利要求5所述的残差编码方法,其中:所述设定条件为:RD cur-RD comp<λ,RD comp=R‘ r_bkg+D w_r_bkg,其中,λ为设定的阈值,RD comp为参考因子,R‘ r_bkg是参考帧中背景区域和/或目标区域的残差的码率,D w_r_bkg是所述参考帧的重建图像相对于原始图像的失真度,所述参考帧指当前帧所在画面组中已确定按照第二模式进行残差编码且距离当前帧最近的一个帧间预测帧。
- 如权利要求1所述的残差编码方法,其中:所述残差编码方法还包括:在确定当前帧按照第一模式进行残差编码的情况下,将当前帧中背景区域的残差设置为等于0并进行编码。
- 如权利要求1所述的残差编码方法,其中:所述当前帧中目标区域的残差通过以下方式得到:生成所述当前帧的目标掩膜,对所述目标掩膜进行膨胀处理;及,将所述当前帧整帧图像的残差数据与膨胀处理后的目标掩膜相乘。
- 如权利要求8所述的残差编码方法,其中:对所述目标掩膜进行膨胀处理,包括:确定膨胀处理使用的膨胀核,使用所述膨胀核对所述目标掩膜进行膨胀处理,其中,所述膨胀核的大小与所述当前帧中目标区域的像素的位移统计值正相关。
- 如权利要求9所述的残差编码方法,其中,所述膨胀核为正方形,所述正方形的边长k d根据下式计算:k d=ceil(max(D*M o))+k 0其中,D为当前帧中像素的位移值组成的矩阵,M o为膨胀处理前的第一目标掩膜,k 0为设定的常数,ceil()为向上取整函数,max()为取矩阵中元素最大值的函数。
- 一种视频编码方法,包括:在当前帧为帧间预测帧时,通过帧间预测得到当前帧的预测图像;根据当前帧的原始图像和预测图像计算得到当前帧整帧图像的残差;按照如权利要求1至10中任一所述的方法进行残差编码。
- 如权利要求11所述的视频编码方法,其中:所述视频编码方法方法还包括:当前帧为I帧时,采用第一神经网络和第二神经网络分别对所述当前帧的原始图像进行编码,得到第一码率的图像特征图和第二码率的图像特征图,其中,第一码率大于第二码率;将第一码率的图像特征图与目标掩膜相乘,得到目标特征图;将第二码率的图像特征图与背景掩膜相乘,得到背景特征图;分别对所述目标特征图和背景特征图进行量化和熵编码。
- 一种残差编码装置,包括处理器以及存储有可在所述处理器上运行的计算机程序的存储器,其中,所述处理器执行所述计算机程序时实现如权利要求1至10中任一所述的残差编码方法。
- 一种视频编码设备,包括处理器以及存储有可在所述处理器上运行的计算机程序的存储器,其中,所述处理器执行所述计算机程序时实现如权利要求11或12中任一所述的视频编码方法。
- 一种视频编解码系统,其中,包括如权利要求14所述的视频编码设备。
- 一种非瞬态计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其中,所述计算机程序时被处理器执行时实现如权利要求1至12中任一所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/100191 WO2022261838A1 (zh) | 2021-06-15 | 2021-06-15 | 残差编码和视频编码方法、装置、设备和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117480778A true CN117480778A (zh) | 2024-01-30 |
Family
ID=84526800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180099185.4A Pending CN117480778A (zh) | 2021-06-15 | 2021-06-15 | 残差编码和视频编码方法、装置、设备和系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117480778A (zh) |
WO (1) | WO2022261838A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115955568B (zh) * | 2023-03-14 | 2023-05-30 | 中国电子科技集团公司第五十四研究所 | 一种基于海思芯片的低延时视频压缩与智能目标识别方法 |
CN116828184B (zh) * | 2023-08-28 | 2023-12-22 | 腾讯科技(深圳)有限公司 | 视频编码、解码方法、装置、计算机设备和存储介质 |
CN117376551B (zh) * | 2023-12-04 | 2024-02-23 | 淘宝(中国)软件有限公司 | 视频编码加速方法及电子设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015085575A1 (en) * | 2013-12-13 | 2015-06-18 | Mediatek Singapore Pte. Ltd. | Methods for background residual prediction |
CN106162191A (zh) * | 2015-04-08 | 2016-11-23 | 杭州海康威视数字技术股份有限公司 | 一种基于目标的视频编码方法及系统 |
US10469841B2 (en) * | 2016-01-29 | 2019-11-05 | Google Llc | Motion vector prediction using prior frame residual |
CN107396124B (zh) * | 2017-08-29 | 2019-09-20 | 南京大学 | 基于深度神经网络的视频压缩方法 |
CN110351557A (zh) * | 2018-04-03 | 2019-10-18 | 朱政 | 视频编码中一种快速帧间预测编码方法 |
EP3977728A4 (en) * | 2019-06-21 | 2022-08-17 | Huawei Technologies Co., Ltd. | METHOD AND APPARATUS FOR ENCODING VIDEO AND STILL IMAGES USING ADAPTIVE RESIDUAL BLOCK SHAPE RESAMPLING |
-
2021
- 2021-06-15 WO PCT/CN2021/100191 patent/WO2022261838A1/zh active Application Filing
- 2021-06-15 CN CN202180099185.4A patent/CN117480778A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022261838A1 (zh) | 2022-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109997361B (zh) | 用于视频译码的低复杂度符号预测 | |
TWI625962B (zh) | 取樣自適應偏移解碼方法 | |
TWI399097B (zh) | 用於編碼視訊之系統及方法,以及電腦可讀取媒體 | |
TWI622288B (zh) | 視訊解碼方法 | |
JP2018050308A (ja) | ビデオコーディングのための動きベクトル予測の実行 | |
CN117480778A (zh) | 残差编码和视频编码方法、装置、设备和系统 | |
CN114501010B (zh) | 图像编码方法、图像解码方法及相关装置 | |
TWI741239B (zh) | 視頻資料的幀間預測方法和裝置 | |
TW201424397A (zh) | 可調式視訊解碼、編碼方法及其裝置與非暫時性電腦可讀記錄體 | |
TW201924339A (zh) | 藉由調適參數之漸進式修正之二位元算術寫碼 | |
US20240064309A1 (en) | Residual coding method and device, video coding method and device, and storage medium | |
US20230239464A1 (en) | Video processing method with partial picture replacement | |
CN114793282B (zh) | 带有比特分配的基于神经网络的视频压缩 | |
TWI661711B (zh) | 視訊解碼方法、視訊編碼方法、裝置及非暫態電腦可讀儲存媒體 | |
KR102520626B1 (ko) | 아티팩트 감소 필터를 이용한 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치 | |
Hu et al. | Complexity-guided slimmable decoder for efficient deep video compression | |
TWI841033B (zh) | 視頻數據的幀間預測方法和裝置 | |
CN110868601B (zh) | 帧间预测方法、装置以及视频编码器和视频解码器 | |
EP4354861A1 (en) | Video decoding and coding method, device and storage medium | |
CN118200576A (zh) | 视频编码方法、视频解码方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |