AV1的滤波方法及装置制造方法及图纸

技术编号:36467060 阅读:16 留言:0更新日期:2023-01-25 23:08
本申请公开了一种AV1的滤波方法,包括:确定待滤波分区,所述待滤波分区包括多个块,所述多个块形成多个行;通过若干个线程,对所述多个块中的至少两个块执行并行滤波操作;其中,所述若干个线程一一对应地负责若干个行的滤波操作,所述若干个行包括所述多个行中连续的至少两个行,所述至少两个块中的各个块分别位于不同的行中。本申请还公开了滤波装置、计算机设备以及计算机可读存储介质。本申请提供的技术方案包括如下优点:相对于通过单线程逐个块的滤波方式,本申请采用了若干个线程,在符合滤波规则的前提下,可以通过两个或更多线程对不同的块并行滤波操作,从而提高效率。从而提高效率。从而提高效率。

【技术实现步骤摘要】
AV1的滤波方法及装置


[0001]本申请涉及视频编码领域,尤其涉及一种AV1的滤波方法、装置、计算机设备和计算机可读存储介质。

技术介绍

[0002]AOMedia Video 1(AV1)是为网络实时传输设计的开放式视频编解码格式。AV1是由开放媒体联盟(AOMedia)开发的VP9的后续产品。AV1项目的许多组成部分来源于联盟成员先前的研究工作。个人贡献者很早就开始了实验技术平台:Xiph/Mozilla的Daala已经在2010年发布了代码,谷歌(Google)的实验性VP9进化项目VP10于2014年9月12日发布,思科(Cisco)的Thor于2015年8月11日发布。AV1以VP9的代码库为基础,结合了其他技术,其中一些技术是以这些实验性格式开发的。AV1参考编解码器的第一版0.1.0于2016年4月7日发布。该联盟于2018年3月28日宣布发布AV1比特流规范、以及基于软件的参考编码器和解码器。2018年6月25日,发布了该规范经过验证的版本1.0.0。2019年1月8日,发布了带有规范勘误表1的经过验证的版本1.0.0。AV1比特流规范包括参考视频编解码器。随着针对AV1编码器的优化,AV1可以实现比VP9和H.264更高的压缩效率。
[0003]AV1的编码过程一般包括块划分、预测(帧间预测、帧内预测)、数据变换、量化、熵编码以及滤波等操作。然而,当前的滤波方式一定程度上制约了编码效率的提升。

技术实现思路

[0004]本申请实施例的目的是提供一种AV1的滤波方法、装置、计算机设备以及计算机可读存储介质,可以用于解决上文所述的问题。
[0005]本申请实施例的一个方面又提供了一种AV1的滤波方法,包括:
[0006]确定待滤波分区,所述待滤波分区包括多个块,所述多个块形成多个行;
[0007]通过若干个线程,对所述多个块中的至少两个块执行并行滤波操作;其中,所述若干个线程一一对应地负责若干个行的滤波操作,所述若干个行包括所述多个行中连续的至少两个行,所述至少两个块中的各个块分别位于不同的行中。
[0008]可选地,所述若干个行包括第一行及随后的一个或多个后续行;所述对所述多个块中的至少两个块执行并行滤波操作,包括:
[0009]针对所述第一行,执行如下滤波操作:对所述第一行的各个块从左到右依次滤波;
[0010]针对所述一个或多个后续行,执行如下滤波操作:对目标行中的各个块从左到右依次滤波,其中,所述目标行的滤波进度比所述目标行的上一行的滤波进度落后两个块的滤波时间,所述目标行是所述一个或多个后续行中的任意一个。
[0011]可选地,所述若干个行包括第m行及随后的一个或多个后续行,m为≥2的整数;所述对所述多个块中的至少两个块执行并行滤波操作,包括:
[0012]通过分配给目标行的线程,对所述目标行中的各个块从左到右依次滤波;
[0013]其中,所述目标行的滤波进度比所述目标行的上一行的滤波进度落后两个块的滤
波时间,所述目标行是所述第m行或者是所述一个或多个后续行中的任意一个。
[0014]可选地,所述目标行对应为第n行,n为≥2的整数;所述对所述多个块中的至少两个块执行并行滤波操作,包括:
[0015]记录每个行的滤波块数量,所述滤波数据标识当前已滤波的块的个数;
[0016]在所述第n

1行中的滤波块数量大于最大预设值的情况下,对所述第n行中当前未滤波的块进行滤波;其中,所述最大预设值为所述第n

1行中的块的总数量;
[0017]在所述滤波块数量大于2且小于或等于所述最大预设值的情况下,对所述第n行中的相应块进行滤波,所述相应块在所述第n行中的位置为所述滤波块数量减2。
[0018]可选地,所述方法还包括:
[0019]在所述第n

1行中的滤波块数量大于最大预设值的情况下,将所述第n

1行的线程配置为对第n+N

1行进行滤波操作,N为正整数并用于表示所述若干个线程的总数量。
[0020]本申请实施例的一个方面又提供了AV1的滤波装置,包括:
[0021]确定模块,用于确定待滤波分区,所述待滤波分区包括多个块,所述多个块形成多个行;
[0022]滤波模块,用于通过若干个线程,对所述多个块中的至少两个块执行并行滤波操作;其中,所述若干个线程一一对应地负责若干个行的滤波操作,所述若干个行包括所述多个行中连续的至少两个行,所述至少两个块中的各个块分别位于不同的行中。
[0023]可选地,所述滤波模块,还用于:
[0024]记录每个行的滤波块数量,所述滤波数据标识当前已滤波的块的个数;
[0025]在所述第n

1行中的滤波块数量大于最大预设值的情况下,对所述第n行中当前未滤波的块进行滤波;其中,所述最大预设值为所述第n

1行中的块的总数量,n为≥2的整数;
[0026]在所述滤波块数量大于2且小于或等于所述最大预设值的情况下,对所述第n行中的相应块进行滤波,所述相应块在所述第n行中的位置为所述滤波块数量减2。
[0027]可选地,所述装置还包括配置模块,用于:
[0028]在所述第n

1行中的滤波块数量大于最大预设值的情况下,将所述第n

1行的线程配置为对第n+N

1行进行滤波操作,N为正整数并用于表示所述若干个线程的总数量。
[0029]本申请实施例的一个方面又提供了一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时用于实现如上述AV1的滤波方法的步骤。
[0030]本申请实施例的一个方面又提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如上述AV1的滤波方法的步骤。
[0031]本申请实施例提供的AV1的滤波方法、装置、计算机设备以及计算机可读存储介质,包括如下优点:
[0032]相对于通过单线程逐个块的滤波方式,本实施例采用了若干个线程,在符合滤波规则的前提下,可以通过两个或更多线程对不同的块并行滤波操作,从而提高效率。
附图说明
[0033]图1示意性示出了AV1的传统滤波方式。
[0034]图2示意性示出了根据本申请实施例的AV1的滤波方法的应用环境图;
[0035]图3示意性示出了根据本申请实施例一的AV1的滤波方法的流程图;
[0036]图4示意性示出了包括多个块的分区;
[0037]图5示意性示出了多个块的滤波次序;
[0038]图6示意性示出了多个块的坐标;
[0039]图7示意性示出了根据本申请实施例一的AV1的滤波方法在示例性应用中的操本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种AV1的滤波方法,其特征在于,包括:确定待滤波分区,所述待滤波分区包括多个块,所述多个块形成多个行;通过若干个线程,对所述多个块中的至少两个块执行并行滤波操作;其中,所述若干个线程一一对应地负责若干个行的滤波操作,所述若干个行包括所述多个行中连续的至少两个行,所述至少两个块中的各个块分别位于不同的行中。2.根据权利要求1所述的方法,其特征在于,所述若干个行包括第一行及随后的一个或多个后续行;所述对所述多个块中的至少两个块执行并行滤波操作,包括:针对所述第一行,执行如下滤波操作:对所述第一行的各个块从左到右依次滤波;针对所述一个或多个后续行,执行如下滤波操作:对目标行中的各个块从左到右依次滤波,其中,所述目标行的滤波进度比所述目标行的上一行的滤波进度落后两个块的滤波时间,所述目标行是所述一个或多个后续行中的任意一个。3.根据权利要求1所述的方法,其特征在于,所述若干个行包括第m行及随后的一个或多个后续行,m为≥2的整数;所述对所述多个块中的至少两个块执行并行滤波操作,包括:通过分配给目标行的线程,对所述目标行中的各个块从左到右依次滤波;其中,所述目标行的滤波进度比所述目标行的上一行的滤波进度落后两个块的滤波时间,所述目标行是所述第m行或者是所述一个或多个后续行中的任意一个。4.根据权利要求2或3所述的方法,其特征在于,所述目标行对应为第n行,n为≥2的整数;所述对所述多个块中的至少两个块执行并行滤波操作,包括:记录每个行的滤波块数量,所述滤波数据标识当前已滤波的块的个数;在所述第n

1行中的滤波块数量大于最大预设值的情况下,对所述第n行中当前未滤波的块进行滤波;其中,所述最大预设值为所述第n

1行中的块的总数量;在所述滤波块数量大于2且小于或等于所述最大预设值的情况下,对所述第n行中的相应块进行滤波,所述相应块在所述第n行中的位置为所述滤波块数量减2。5.根据权利要求4所述的方法,其特征在于,还包括:在所述第n

1行中的滤波块数量...

【专利技术属性】
技术研发人员:李晓波蔡春磊叶天晓
申请(专利权)人:上海哔哩哔哩科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1