本发明涉及计算机领域,具体而言,涉及一种视频解码方法及装置,视频编码方法及装置。
背景技术:
在现有的视频编码过程中,如图1所示,如果对于视频中的一帧中的不同块都采用了高分辨率进行编码,则在传输的带宽比较小(例如,小于图1中所示的带宽阈值th)的情况下,对于视频中的一帧中的不同块采用高分辨率进行编码时所对应的峰值信噪比psnr1要低于对于视频中的一帧中的不同块采用低分辨率进行编码时所对应的峰值信噪比psnr2,也就是说,在传输带宽较小时采用高分辨率进行编码时的峰值信噪比psnr1相对较小,失真相对较大。
同理,如果对于视频中的一帧中的不同块都采用了低分辨率进行编码,则在传输的带宽比较大(例如,大于图1中所示的带宽阈值th)的情况下,对于视频中的一帧中的不同块采用低分辨率进行编码时所对应的峰值信噪比psnr3要低于对于视频中的一帧中的不同块采用高分辨率进行编码时所对应的峰值信噪比psnr4,也就是说,在传输带宽较大时采用低分辨率进行编码时的峰值信噪比psnr3相对较小,失真相对较大。
此外,对于不同类型的视频或者同一视频中的不同帧或者同一帧中的不同块,上述交点d会移动,从而增加了现有技术中选择哪种分辨率对视频中的帧进行编码的选择难度。
针对上述的问题,目前尚未提出有效的解决方案。
技术实现要素:
本发明实施例提供了一种视频解码方法及装置,视频编码方法及装置,以至少解决相关技术中采用相同分辨率对视频进行编解码导致峰值信噪比波动较大的技术问题。
根据本发明实施例的一个方面,提供了一种视频解码方法,包括:
获取待解码视频帧;
确定所述待解码视频帧的感兴趣区域;
采用第一分辨率对所述感兴趣区域进行解码,采用第二分辨率对所述待解码视频帧的至少除所述感兴趣区域之外的其他区域进行解码,其中,所述第一分辨率高于所述第二分辨率。
根据本发明实施例的另一方面,还提供了一种视频编码方法,包括:
获取待编码视频帧;
在所述待编码视频帧上确定感兴趣区域;
采用第一分辨率对所述感兴趣区域进行编码,采用第二分辨率对所述待编码视频帧的至少除所述感兴趣区域之外的其他区域进行编码,其中,所述第一分辨率高于所述第二分辨率。
根据本发明实施例的另一方面,还提供了一种视频解码装置,包括:
第一获取模块,用于获取待解码视频帧;
第一确定模块,用于确定所述待解码视频帧的感兴趣区域;
解码模块,用于采用第一分辨率对所述感兴趣区域进行解码,采用第二分辨率对所述待解码视频帧的至少除所述感兴趣区域之外的其他区域进行解码,其中,所述第一分辨率高于所述第二分辨率。
可选地,所述第一解码单元用于:
采用多个分辨率对所述多个视频块中除所述目标视频块之外的其他视频块进行解码,其中,所述第二分辨率包括所述多个分辨率。
根据本发明实施例的另一方面,还提供了一种视频编码装置,包括:
第二获取模块,用于获取待编码视频帧;
第二确定模块,用于在所述待编码视频帧上确定感兴趣区域;
编码模块,用于采用第一分辨率对所述感兴趣区域进行编码,采用第二分辨率对所述待编码视频帧的至少除所述感兴趣区域之外的其他区域进行编码,其中,所述第一分辨率高于所述第二分辨率。
可选地,所述处理单元用于:
采用多个分辨率对所述多个视频块中除所述目标视频块之外的其他视频块进行编码,其中,所述第二分辨率包括所述多个分辨率。
可选地,所述装置还包括:
添加模块,用于在采用所述第一分辨率对所述多个视频块中与所述感兴趣区域具有重叠部分的目标视频块进行编码,采用所述第二分辨率对所述多个视频块中除所述目标视频块之外的其他视频块进行编码之后,为所述目标视频块对应的第一编码数据添加第一语法元素,为所述其他视频块对应的第二编码数据添加第二语法元素,其中,所述第一编码数据是采用所述第一分辨率对所述目标视频块进行编码得到的数据,所述第二编码数据是采用所述第二分辨率对所述其他视频块进行编码得到的数据,所述第一语法元素用于指示所述第一分辨率,所述第二语法元素用于指示所述第二分辨率。
根据本发明实施例的另一方面,还提供了一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项中所述的方法。
根据本发明实施例的另一方面,还提供了一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行上述任一项中所述的方法。
在本发明实施例中,采用获取待解码视频帧;确定待解码视频帧的感兴趣区域;采用第一分辨率对感兴趣区域进行解码,采用第二分辨率对待解码视频帧的至少除感兴趣区域之外的其他区域进行解码,其中,第一分辨率高于第二分辨率的方式,对于视频中的一帧中的不同块自适应采用对应的分辨率进行编码,这样无论是在传输的带宽比较小的情况下,还是在传输的带宽比较大的情况下,对应的峰值信噪比都相对较大,失真相对较小,从而保证了峰值信噪比能够在一个较小的范围内变化,并且峰值信噪比都相对较大,从而实现了避免对视频进行编解码的峰值信噪比波动较大的技术效果,进而解决了相关技术中采用相同分辨率对视频进行编解码导致峰值信噪比波动较大的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是相关技术中编解码方式的峰值信噪比的示意图;
图2是根据本发明实施例的一种可选的视频解码方法的示意图;
图3是根据本发明实施例的一种可选的视频解码方法的应用环境示意图;
图4是根据本发明可选的实施方式的一种可选的视频解码方法的示意图一;
图5是根据本发明实施例的一种可选的视频解码方法的示意图;
图6是根据本发明实施例的一种可选的视频解码方法的应用环境示意图;
图7是根据本发明实施例的一种可选的视频解码装置的示意图;
图8是根据本发明实施例的一种可选的视频编码装置的示意图;
图9是根据本发明实施例的一种可选的视频编解码方法的应用场景示意图一;
图10是根据本发明实施例的一种可选的视频编解码方法的应用场景示意图二;以及
图11是根据本发明实施例的一种可选的电子装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种视频解码方法,如图2所示,该方法包括:
s202,获取待解码视频帧;
s204,确定所述待解码视频帧的感兴趣区域;
s206,采用第一分辨率对所述感兴趣区域进行解码,采用第二分辨率对所述待解码视频帧的至少除所述感兴趣区域之外的其他区域进行解码,其中,所述第一分辨率高于所述第二分辨率。
可选地,在本实施例中,上述视频解码方法可以应用于如图3所示的服务器302和客户端304所构成的硬件环境中。如图3所示,服务器302获取待解码视频帧;确定待解码视频帧的感兴趣区域;采用第一分辨率对感兴趣区域进行解码,采用第二分辨率对待解码视频帧的至少除感兴趣区域之外的其他区域进行解码,其中,第一分辨率高于第二分辨率。服务器302将解码后得到的视频发送给客户端304进行播放。
可选地,在本实施例中,上述视频解码方法可以但不限于应用于音视频处理的场景中。比如:客户端a与客户端b进行视频通话,客户端a侧和客户端b侧分别采集视频画面,对采集到的视频画面进行编码,将编码后的视频发送给对方,在对方对接收到的视频进行解码,并播放解码后的视频。
可选地,在本实施例中,上述视频解码方法还可以但不限于应用于视频文件的播放、视频直播等场景中。
其中,上述客户端可以但不限于为各种类型的应用,例如,在线教育应用、即时通讯应用、社区空间应用、游戏应用、购物应用、浏览器应用、金融应用、多媒体应用、直播应用等。具体的,可以但不限于应用于在上述即时通讯应用中对音视频进行处理的场景中,或还可以但不限于应用于在上述多媒体应用中对音视频进行处理的场景中,以避免对视频进行编解码的峰值信噪比波动较大。上述仅是一种示例,本实施例中对此不做任何限定。
可选地,在本实施例中,待解码视频帧上包括感兴趣区域(roi区域)和非感兴趣区域(非roi区域),即可以将待解码视频帧上除感兴趣区域之外的其他区域成为非感兴趣区域。采用较高的分辨率对感兴趣区域进行解码,从而保证感兴趣区域的画面质量,采用较低的分辨率对待解码视频帧上除感兴趣区域之外的其他区域进行解码,从而能够更加保证峰值信噪比的稳定。
可选地,在本实施例中,对于感兴趣区域(regionofinterest,简称为roi),在机器视觉、图像处理中,从被处理的图像中以方框、圆、椭圆、不规则多边形等方式勾勒出需要处理的区域,称为感兴趣区域,roi。可以在halcon、opencv、matlab等机器视觉软件上使用各种算子(operator)和函数来求得感兴趣区域roi。
在图像处理领域,感兴趣区域(roi)是从图像中选择的一个图像区域,这个区域是对图像进行分析所关注的重点。圈定该区域以便进行进一步处理。使用roi圈定想读的目标,可以减少处理时间,增加精度。
在一个可选的实施方式中,如图4所示,获取待解码视频帧,确定所述待解码视频帧的感兴趣区域(roi区域),采用分辨率1对感兴趣区域(roi区域)进行解码,采用分辨率2对待解码视频帧的至少除感兴趣区域之外的其他区域(非roi区域)进行解码,其中,分辨率1高于分辨率2。
可见,通过上述步骤,对于视频中的一帧中的不同区域自适应采用对应的分辨率进行编码,这样无论是在传输的带宽比较小的情况下,还是在传输的带宽比较大的情况下,对应的峰值信噪比都相对较大,失真相对较小,从而保证了峰值信噪比能够在一个较小的范围内变化,并且峰值信噪比都相对较大,从而实现了避免对视频进行编解码的峰值信噪比波动较大的技术效果,进而解决了相关技术中采用相同分辨率对视频进行编解码导致峰值信噪比波动较大的技术问题。
作为一种可选的方案,采用第一分辨率对所述感兴趣区域进行解码,采用第二分辨率对所述待解码视频帧的至少除所述感兴趣区域之外的其他区域进行解码,包括:
s1,采用所述第一分辨率对多个视频块中与所述感兴趣区域具有重叠部分的目标视频块进行解码,采用所述第二分辨率对所述多个视频块中除所述目标视频块之外的其他视频块进行解码,其中,所述待解码视频帧被划分为所述多个视频块。
可选地,在本实施例中,对于待解码视频帧来说,可以将位于视频帧中心的区域确定为感兴趣区域,或者将视频帧上出现的主要人物或者事物的区域作为感兴趣区域,又或者将视频帧上存在运动的画面区域作为感兴趣区域。
作为一种可选的方案,采用所述第二分辨率对所述多个视频块中除所述目标视频块之外的其他视频块进行解码,包括:
s1,采用多个分辨率对所述多个视频块中除所述目标视频块之外的其他视频块进行解码,其中,所述第二分辨率包括所述多个分辨率。
可选地,在本实施例中,解码非感兴趣区域上的视频块时采用的分辨率可以相同也可以不同。当采用不同分辨率解码时,可以根据视频块距离感兴趣区域的中心的距离确定采用的分辨率的大小,比如:距离较远则采用较小的分辨率,距离较近则采用较大的分辨率。
作为一种可选的方案,采用第一分辨率对所述待解码视频帧上的感兴趣区域进行解码,采用第二分辨率对所述待解码视频帧上除所述感兴趣区域之外的其他区域进行解码,包括:
s1,从多个视频块的待解码数据中的每个待解码数据中获取语法元素,其中,所述多个视频块中与所述感兴趣区域具有重叠部分的目标视频块对应的语法元素指示了解码所述目标视频块所采用的分辨率为所述第一分辨率,所述多个视频块中除所述目标视频块之外的其他视频块对应的语法元素指示了解码所述其他视频块所采用的分辨率为所述第二分辨率;
s2,采用所述每个待解码数据对应的语法元素所指示的分辨率对所述每个待解码数据进行解码。
可选地,在本实施例中,解码的过程可以但不限于是按照待解码视频帧所划分的视频块进行的。
可选地,在本实施例中,解码过程中使用的分辨率可以但不限于是通过待解码数据中提供的语法元素来指示的。
可选地,在本实施例中,每个区域对应的分辨率可以但不限于是由编码端添加在语法元素中传递给解码端的。通过语法元素中的标志位数据来指示区域和分辨率之间的对应关系,从而使得解码端使用区域对应的分辨率对其进行解码。
可选地,在本实施例中,用于指示解码每个区域所采用的分辨率的语法元素可以是位于待解码视频帧的固定位置上的一段数据,在该位置上不同的数据值代表了不同的分辨率。可以将代表区域对应的分辨率的语法元素添加在该位置上。
可选地,在本实施例中,在视频的重构过程中,从当前待解码视频帧中,确定所要重构的至少一对解码区域,其中,在至少一对解码区域中的每对解码区域包括采用分辨率a的第一解码区域和采用分辨率b的第二解码区域,第一解码区域与第二解码区域为位置邻接的解码区域;
将第一解码区域的分辨率a调整为目标分辨率,并将第二解码区域的分辨率b调整为目标分辨率;
从第一解码区域中确定出第一边缘像素点集,并从第二解码区域中确定出第二边缘像素点集,其中,第一边缘像素点集的位置与第二边缘像素点集的位置邻接;
对第一边缘像素点集进行滤波处理,得到滤波后的第一边缘像素点集,并对第二边缘像素点集进行滤波处理,得到滤波后的第二边缘像素点集,其中,滤波后的第一边缘像素点集与滤波后的第二边缘像素点集相匹配。
滤波后的第一边缘像素点集中第i个像素点的像素值与滤波后的第二边缘像素点集中与第i个像素点对应的第j个像素点的像素值之间的第一差值,小于第一边缘像素点集中第i个像素点的像素值与第二边缘像素点集中第j个像素点的像素值之间的第二差值,i为正整数,且小于等于第一边缘像素点集中像素点的总数,j为正整数,且小于等于第二边缘像素点集中像素点的总数。
其中,调整为目标分辨率包括:
1)在目标分辨率等于分辨率a的情况下,将分辨率b调整为分辨率a;
2)在目标分辨率等于分辨率b的情况下,将分辨率a调整为分辨率b;
3)在目标分辨率等于分辨率c的情况下,将分辨率a调整为分辨率c,并将分辨率b调整为分辨率c,其中,该分辨率c与分辨率a不同,且与分辨率b不同。
在分辨率统一后,才可以边缘滤波。通过对上述解码区域进行分辨率调整,并对解码区域中确定出的边缘像素点集进行边缘滤波处理,以使得在重构过程中可以避免在视频中出现明显接缝,从而保证准确地还原出视频中的内容,进而解决了分辨率不一致导致的视频失真的技术问题。
根据本发明实施例的一个方面,提供了一种视频编码方法,如图5所示,该方法包括:
s502,获取待编码视频帧;
s504,在所述待编码视频帧上确定感兴趣区域;
s506,采用第一分辨率对所述感兴趣区域进行编码,采用第二分辨率对所述待编码视频帧的至少除所述感兴趣区域之外的其他区域进行编码,其中,所述第一分辨率高于所述第二分辨率。
可选地,在本实施例中,上述视频编码方法可以应用于如图6所示的服务器602、服务器302、客户端604和客户端304所构成的硬件环境中。如图6所示,服务器602获取到客户端604采集的待编码视频帧;在所述待编码视频帧上确定感兴趣区域;采用第一分辨率对所述感兴趣区域进行编码,采用第二分辨率对所述待编码视频帧的至少除所述感兴趣区域之外的其他区域进行编码,其中,所述第一分辨率高于所述第二分辨率。服务器602将编码后得到的视频发送给服务器302进行解码。服务器302将解码后的视频发送给客户端304进行播放。
可选地,在本实施例中,上述视频编码方法可以但不限于应用于音视频处理的场景中。比如:客户端a与客户端b进行视频通话,客户端a侧和客户端b侧分别采集视频画面,对采集到的视频画面进行编码,将编码后的视频发送给对方,在对方对接收到的视频进行解码,并播放解码后的视频。
可选地,在本实施例中,上述视频编码方法还可以但不限于应用于视频文件的播放、视频直播等场景中。
其中,上述客户端可以但不限于为各种类型的应用,例如,在线教育应用、即时通讯应用、社区空间应用、游戏应用、购物应用、浏览器应用、金融应用、多媒体应用、直播应用等。具体的,可以但不限于应用于在上述即时通讯应用中对音视频进行处理的场景中,或还可以但不限于应用于在上述多媒体应用中对音视频进行处理的场景中,以避免对视频进行编解码的峰值信噪比波动较大。上述仅是一种示例,本实施例中对此不做任何限定。
可选地,在本实施例中,待编码视频帧中的不同类型的区域采用不同分辨率进行编码。比如:待编码视频帧被划分为2种类型的区域,分别是区域1为感兴趣区域,区域2为非感兴趣区域,其中,对于区域1采用较高的分辨率1进行编码,对于区域2采用较低的分辨率2进行编码。
可选地,在本实施例中,待编码视频帧被划分为一组视频块,落入感兴趣区域的视频块可以采用一个分辨率进行编码,落入非感兴趣区域的视频块可以采用另一个分辨率进行编码。
可选地,在本实施例中,对于感兴趣区域(regionofinterest,简称为roi),在机器视觉、图像处理中,从被处理的图像中以方框、圆、椭圆、不规则多边形等方式勾勒出需要处理的区域,称为感兴趣区域,roi。可以在halcon、opencv、matlab等机器视觉软件上使用各种算子(operator)和函数来求得感兴趣区域roi。
在图像处理领域,感兴趣区域(roi)是从图像中选择的一个图像区域,这个区域是对图像进行分析所关注的重点。圈定该区域以便进行进一步处理。使用roi圈定想读的目标,可以减少处理时间,增加精度。
可见,通过上述步骤,对于视频中的一帧中的不同块自适应采用对应的分辨率进行编码,这样无论是在传输的带宽比较小的情况下,还是在传输的带宽比较大的情况下,对应的峰值信噪比都相对较大,失真相对较小,从而保证了峰值信噪比能够在一个较小的范围内变化,并且峰值信噪比都相对较大,从而实现了避免对视频进行编解码的峰值信噪比波动较大的技术效果,进而解决了相关技术中采用相同分辨率对视频进行编解码导致峰值信噪比波动较大的技术问题。
作为一种可选的方案,采用所述第一分辨率对所述感兴趣区域进行编码,采用所述第二分辨率对所述待编码视频帧的至少除所述感兴趣区域之外的其他区域进行编码,包括:
s1,将所述待编码视频帧划分为多个视频块;
s2,采用所述第一分辨率对所述多个视频块中与所述感兴趣区域具有重叠部分的目标视频块进行编码,采用所述第二分辨率对所述多个视频块中除所述目标视频块之外的其他视频块进行编码。
可选地,在本实施例中,待编码视频帧被划分为视频块,对于与感兴趣区域有重叠的目标视频块采用第一分辨率进行编码,对于其他视频块采用第二分辨率进行编码。也就是说,只要视频块有落入感兴趣区域的部分,就会采用较高的第一分辨率进行编码。
作为一种可选的方案,采用所述第二分辨率对所述多个视频块中除所述目标视频块之外的其他视频块进行编码,包括:
s1,采用多个分辨率对所述多个视频块中除所述目标视频块之外的其他视频块进行编码,其中,所述第二分辨率包括所述多个分辨率。
可选地,在本实施例中,编码非感兴趣区域上的视频块时采用的分辨率可以相同也可以不同。当采用不同分辨率编码时,可以根据视频块距离感兴趣区域的中心的距离确定采用的分辨率的大小,比如:距离较远则采用较小的分辨率,距离较近则采用较大的分辨率。
作为一种可选的方案,在采用所述第一分辨率对所述多个视频块中与所述感兴趣区域具有重叠部分的目标视频块进行编码,采用所述第二分辨率对所述多个视频块中除所述目标视频块之外的其他视频块进行编码之后,还包括:
s1,为所述目标视频块对应的第一编码数据添加第一语法元素,为所述其他视频块对应的第二编码数据添加第二语法元素,其中,所述第一编码数据是采用所述第一分辨率对所述目标视频块进行编码得到的数据,所述第二编码数据是采用所述第二分辨率对所述其他视频块进行编码得到的数据,所述第一语法元素用于指示所述第一分辨率,所述第二语法元素用于指示所述第二分辨率。
可选地,在本实施例中,可以通过添加标志位数据的方式来指示每个视频块编码时使用的分辨率。
可选地,在本实施例中,用于指示编码每个视频块所采用的分辨率的语法元素可以是位于待解码视频帧的固定位置上的一段数据,在该位置上不同的数据值代表了不同的分辨率。可以将代表区域对应的分辨率的语法元素添加在该位置上。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的另一个方面,还提供了一种用于实施上述视频解码方法的视频解码装置,如图7所示,该装置包括:
1)第一获取模块72,用于获取待解码视频帧;
2)第一确定模块74,用于确定所述待解码视频帧的感兴趣区域;
3)解码模块76,用于采用第一分辨率对所述感兴趣区域进行解码,采用第二分辨率对所述待解码视频帧的至少除所述感兴趣区域之外的其他区域进行解码,其中,所述第一分辨率高于所述第二分辨率。
可选地,所述解码模块,包括:
第一解码单元,用于采用所述第一分辨率对多个视频块中与所述感兴趣区域具有重叠部分的目标视频块进行解码,采用所述第二分辨率对所述多个视频块中除所述目标视频块之外的其他视频块进行解码,其中,所述待解码视频帧被划分为所述多个视频块。
可选地,所述第一解码单元用于:
采用多个分辨率对所述多个视频块中除所述目标视频块之外的其他视频块进行解码,其中,所述第二分辨率包括所述多个分辨率。
可选地,所述解码模块,包括:
获取单元,用于从多个视频块的待解码数据中的每个待解码数据中获取语法元素,其中,所述多个视频块中与所述感兴趣区域具有重叠部分的目标视频块对应的语法元素指示了解码所述目标视频块所采用的分辨率为所述第一分辨率,所述多个视频块中除所述目标视频块之外的其他视频块对应的语法元素指示了解码所述其他视频块所采用的分辨率为所述第二分辨率;
第二解码单元,用于采用所述每个待解码数据对应的语法元素所指示的分辨率对所述每个待解码数据进行解码。
根据本发明实施例的另一个方面,还提供了一种用于实施上述视频编码方法的视频编码装置,如图8所示,该装置包括:
1)第二获取模块82,用于获取待编码视频帧;
2)第二确定模块84,用于在所述待编码视频帧上确定感兴趣区域;
3)编码模块86,用于采用第一分辨率对所述感兴趣区域进行编码,采用第二分辨率对所述待编码视频帧上除所述感兴趣区域之外的其他区域进行编码,其中,所述第一分辨率高于所述第二分辨率。
可选地,所述编码模块,包括:
划分单元,用于将所述待编码视频帧划分为多个视频块;
第三处理单元,用于采用所述第一分辨率对所述多个视频块中与所述感兴趣区域具有重叠部分的目标视频块进行编码,采用所述第二分辨率对所述多个视频块中除所述目标视频块之外的其他视频块进行编码。
可选地,所述处理单元用于:
采用多个分辨率对所述多个视频块中除所述目标视频块之外的其他视频块进行编码,其中,所述第二分辨率包括所述多个分辨率。
可选地,所述装置还包括:
添加模块,用于在采用所述第一分辨率对所述多个视频块中与所述感兴趣区域具有重叠部分的目标视频块进行编码,采用所述第二分辨率对所述多个视频块中除所述目标视频块之外的其他视频块进行编码之后,为所述目标视频块对应的第一编码数据添加第一语法元素,并为所述其他视频块对应的第二编码数据添加第二语法元素,其中,所述第一编码数据是采用所述第一分辨率对所述目标视频块进行编码得到的数据,所述第二编码数据是采用所述第二分辨率对所述其他视频块进行编码得到的数据,所述第一语法元素用于指示所述第一分辨率,所述第二语法元素用于指示所述第二分辨率。
本发明实施例的应用环境可以但不限于参照上述实施例中的应用环境,本实施例中对此不再赘述。本发明实施例提供了用于实施上述实时通信的连接方法的一种可选的具体应用示例。
作为一种可选的实施例,上述视频编解码的方法可以但不限于应用于如图9所示的对视频进行编解码处理的场景中。在本场景中,对于视频中待编码的第t帧,将第t帧中的区域划分为roi和非roi,如图9所示。作为一种可选的方式,roi可以位于帧的正中间区域、且为正方形或长方形。然而,这只是一种示例,本发明不限于此,roi还可以位于其他位置和为其他形状,例如,可以根据帧中的画面内容确定roi和非roi,roi的位置和形状对应于画面中的目标人脸。
然后,为roi中的块选择高分辨率,对于非roi中的块选择低分辨率。作为一种可选的示例,roi中的块采用同一个分辨率(例如,分辨率1)进行编码,非roi中的块采用同一个分辨率(例如,分辨率2)进行编码,其中,分辨率1高于分辨率2。
作为一种可选的示例,上述分辨率1和分辨率2都是从预先确定的分辨率集合中选择得到的。
如图10所示,在本发明的视频编码过程中,对于视频中的一帧中的不同块自适应采用对应的分辨率进行编码,这样无论是在传输的带宽比较小(例如,小于图10中所示的带宽阈值th)的情况下,还是在传输的带宽比较大(例如,大于图10中所示的带宽阈值th)的情况下,对应的峰值信噪比都相对较大,失真相对较小。
此外,由于对于视频中的一帧中的不同块自适应采用对应的分辨率进行编码,从而不需要在对视频中的帧进行编码时根据不同类型的视频或同一视频的不同帧或同一帧中不同的块所对应的交点(如,图1中的交点)来选择对应的分辨率,降低了编码复杂度。
根据本发明实施例的又一个方面,还提供了一种用于实施上述视频解码方法或者视频编码方法的电子装置,如图11所示,该电子装置包括:一个或多个(图中仅示出一个)处理器1102、存储器1104、传感器1106、编码器1108以及传输装置1110,该存储器中存储有计算机程序,该处理器被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
s1,获取待解码视频帧;
s2,确定所述待解码视频帧的感兴趣区域;
s3,采用第一分辨率对感兴趣区域进行解码,采用第二分辨率对所述待解码视频帧的至少除所述感兴趣区域之外的其他区域进行解码,其中,所述第一分辨率高于所述第二分辨率。
可选地,在本实施例中,上述处理器还可以被设置为通过计算机程序执行以下步骤:
s1,获取待编码视频帧;
s2,在所述待编码视频帧上确定感兴趣区域;
s3,采用第一分辨率对所述感兴趣区域进行编码,采用第二分辨率对所述待编码视频帧的至少除所述感兴趣区域之外的其他区域进行编码,其中,所述第一分辨率高于所述第二分辨率。
可选地,本领域普通技术人员可以理解,图11所示的结构仅为示意,电子装置也可以是智能手机(如android手机、ios手机等)、平板电脑、掌上电脑以及移动互联网设备(mobileinternetdevices,mid)、pad等终端设备。图11其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图11中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图11所示不同的配置。
其中,存储器1104可用于存储软件程序以及模块,如本发明实施例中的视频解码或者编码方法和装置对应的程序指令/模块,处理器1102通过运行存储在存储器1104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的目标组件的控制方法。存储器1104可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1104可进一步包括相对于处理器1102远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置1110用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1110包括一个网络适配器(networkinterfacecontroller,nic),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1110为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器1104用于存储应用程序。
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
s1,获取待解码视频帧;
s2,确定所述待解码视频帧的感兴趣区域;
s3,采用第一分辨率对感兴趣区域进行解码,采用第二分辨率对待解码视频帧的至少除感兴趣区域之外的其他区域进行解码,其中,第一分辨率高于第二分辨率。
可选地,在本实施例中,上述存储介质还可以被设置为存储用于执行以下步骤的计算机程序:
s1,获取待编码视频帧;
s2,在所述待编码视频帧上确定感兴趣区域;
s3,采用第一分辨率对所述感兴趣区域进行编码,采用第二分辨率对所述待编码视频帧的至少除所述感兴趣区域之外的其他区域进行编码,其中,所述第一分辨率高于所述第二分辨率。
可选地,存储介质还被设置为存储用于执行上述实施例中的方法中所包括的步骤的计算机程序,本实施例中对此不再赘述。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-onlymemory,rom)、随机存取器(randomaccessmemory,ram)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。