一种静止帧模式的编解码方法与流程

文档序号:33162777发布日期:2023-02-04 00:58阅读:28来源:国知局
一种静止帧模式的编解码方法与流程

1.本发明属于数据压缩领域,特别是一种静止帧模式的编解码方法。


背景技术:

2.数据集是由数据的样值也称元素(例如:字节、比特、像素、像素分量、空间采样点、变换域系数)组成的排列成一定空间(一维、二维、或多维)形状的有限数据的集合(例如:一个一维数据队列、一个二维数据文件、一帧图像、一个视频序列、一个变换域、一个变换块、多个变换块、一个三维场景、一个持续变化的三维场景的序列)。对数据集,进行编码以及解码时,通常把此数据集划分成若干具有预定形状的子集,称为编码块以及解码块,以编码块或解码块为单位,按照预定的时间顺序,一块一块进行编码或解码。在任一时刻,正在编码中的编码块称为当前编码块。在任一时刻,正在解码中的解码块称为当前解码块。当前编码块或当前解码块统称为当前编码块或解码块或简称为当前块。正在编码或解码中的样值称为当前编码样值或当前解码样值,简称为当前样值也称为当前元素。
3.在现有的混合编解码框架中,对不同特征的图像内容的编解码块,采用日益增多的不同预测模式进行编解码,即对图像中的各编解码单元,依次采用各种预测模式进行预编码和解码,并计算出各模式获得的率失真值,从中选择率失真值最小的模式作为编解码单元的最佳模式进行编码。但是,对于在线会议和远程课堂等应用场景,其屏幕内容场景的显著特点是画面在一定时间内的前后帧变化内容很小,甚至是没有变化,现有算法对这些没有变化的场景仍进行复杂的块划分和多种编码模式的率失真优化,增加编解码的复杂性。


技术实现要素:

4.本发明要解决的技术问题是现有算法在面对静止帧场景时,编解码的复杂性过高。
5.本发明提出一种静止帧模式的编码和解码方法。
6.一种静止帧模式的编码方法,包括:
7.步骤1,获取数据集,获取数据集中当前帧和前一参考帧的原始像素,判断当前编码帧是否为静止帧,将该判断条件定为静止帧信息,产生包含静止帧信息的数据码流;
8.步骤2,当静止帧信息的判断结果为当前编码帧为静止帧时,对当前帧的编码块的划分方式采用最大尺寸不划分方式,当前帧的编码块的编码模式采用静止帧编码模式,产生表示当前编码帧为静止帧的信息的压缩数据码流;否则,产生包含表示当前编码帧为非静止帧的信息的压缩数据码流。
9.优选的,所述将当前编码帧判断为静止帧的方法包括下列条件之一或其任意组合:当前编码帧所有位置的原始像素与前一参考帧所有位置的原始像素完全相等,或当前编码帧所有位置的原始像素与前一参考帧所有位置的原始像素相等数目占所有像素数目的比例超过预设阈值a,或当前编码帧中的每个像素哈希值与前一参考帧中对应位置的每
个像素的哈希值完全相等,或当前编码帧中的每个像素的哈希值与前一参考帧中对应位置的每个像素的哈希值相等数目占所有像素数目的比例超过预设阈值b,或当前编码帧中的每个分块的哈希值与前一参考帧中对应位置的分块的哈希值完全相等,或当前编码帧中的每个分块的哈希值与前一参考帧中对应位置的分块的哈希值相等数目占所有分块数目的比例超过预设阈值c。
10.优选的,所述静止帧编码模式包括下列模式之一或其组合:skip模式或复制前一帧重建像素模式。
11.优选的,所述最大尺寸不划分方式中,当前位置的编码块的水平起始位置或垂直起始位置加上最大尺寸小于等于图像的宽或高。
12.优选的,所述最大尺寸不划分方式中,最大尺寸的大小为宽和高相等的固定值。
13.一种静止帧模式的解码方法,包括:
14.解码包含当前解码帧是否为静止帧的信息的数据码流,获得当前解码帧是否为静止帧的信息,如果该信息的判断结果为当前解码帧为静止帧,则对包含静止帧的数据码流进行解码,解码块的划分方式采用最大不划分方式,编码模式采用静止帧编码模式,不解码当前解码帧的解码块的划分方式和编码模式信息;如果该信息的判断结果为当前解码帧为非静止帧,则对包含非静止帧的数据码流进行解码。
15.优选的,所述,其特征在于,所述静止帧编码模式包括下列模式之一或其组合:skip模式或复制前一帧重建像素模式。
16.优选的,所述最大尺寸不划分方式中,当前位置的编码块的水平起始位置或垂直起始位置加上最大尺寸小于等于图像的宽或高。
17.优选的,所述最大尺寸不划分方式中,最大尺寸的大小为宽和高相等的固定值。
18.一种静止帧模式的编码方法,至少包括三个模块:
19.判断当前编码帧是否为静止帧信息编码模块:采用预设的方法判断当前编码帧是否为静止帧;对表示当前帧是否为静止帧信息的压缩数据码流;
20.静止帧编码模块:如果上述当前编码帧是否为静止帧信息表示当前编码帧为静止帧,则对当前帧的编码块的划分方式采用最大不划分方式,编码模式采用静止帧编码模式;其他编码模块采用现有标准的编码方法;至少产生表示静止帧的压缩数据码流;
21.非静止帧编码模块:如果当前编码帧为非静止帧,则采用现有标准的编码方法,至少产生表示非静止帧的压缩数据码流。
22.一种静止帧模式的解码方法,至少包括三个模块:
23.解码标识静止帧模式的语法元素模块:对至少包含当前解码帧是否为静止帧信息的压缩数据码流进行解码,获得当前解码帧是否为静止帧信息;
24.静止帧解码模块:如果上述当前解码帧是否为静止帧信息表示当前解码帧为静止帧,则对至少包含静止帧的压缩数据码流进行解码,不解码当前解码帧的解码块的划分方式和编码模式信息,解码块的划分方式默认采用最大尺寸不划分方式,编码模式默认采用为静止帧编码模式;其他模块采用现有标准的解码方法进行解码;
25.非静止帧解码模块:如果上述当前解码帧是否为静止帧信息表示当前解码帧为非静止帧,则对至少包含非静止帧的压缩数据码流进行解码,采用现有标准的解码方法进行解码。
26.本发明同现有技术相比具有以下优点及效果:
27.根据预设方法判断当前帧是否为静止帧,对静止帧采用低复杂度和高效的静止帧模式,在保持较低的复杂度的前提下,达到消耗比特数和失真的最佳平衡,从而进一步提高图像编解码效率。
附图说明
28.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
29.图1是本发明的编码方法示意图。
30.图2是本发明的解码方法示意图。
具体实施方式
31.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
32.实施例1:一种静止帧模式的编码方法,包括:
33.步骤1,获取数据集,获取数据集中当前帧和前一参考帧的原始像素,判断当前编码帧是否为静止帧。当前编码帧判断为静止帧的方法包括下列条件之一或其任意组合:当前编码帧所有位置的原始像素与前一参考帧所有位置的原始像素完全相等,或当前编码帧所有位置的原始像素与前一参考帧所有位置的原始像素相等数目占所有像素数目的比例超过预设阈值a,或当前编码帧中的每个像素哈希值与前一参考帧中对应位置的每个像素的哈希值完全相等,或当前编码帧中的每个像素的哈希值与前一参考帧中对应位置的每个像素的哈希值相等数目占所有像素数目的比例超过预设阈值b,或当前编码帧中的每个分块的哈希值与前一参考帧中对应位置的分块的哈希值完全相等,或当前编码帧中的每个分块的哈希值与前一参考帧中对应位置的分块的哈希值相等数目占所有分块数目的比例超过预设阈值c。将该判断条件定为静止帧信息,产生包含静止帧信息的数据码流。
34.步骤2,当静止帧信息的判断结果为当前编码帧为静止帧时,对当前帧的编码块的划分方式采用最大尺寸不划分方式。最大不划分方式是指按现有块划分方式的最大尺寸大小进行图像划分(例如现有的块划分方式的最大尺寸大小为128*128,则将图像按照128*128大小划分),可以计算出在水平方向上最多可划分为m个,垂直方向上最多可划分出n个,若水平方向或垂直方向上无法整除(按128*128大小划分时,为不能整除128),则会剩余部分像素,该部分像素的区域为静止帧模式的边界区域,已被划分的区域为非边界区域,边界区域采用任一现有标准的划分方式,划分尺寸不固定;非边界区域采用静止帧编码模式的最大尺寸划分,划分尺寸为最大尺寸大小(例如128*128)。当前帧的编码块的编码模式采用静止帧编码模式,静止帧编码模式包括下列模式之一或其组合:skip模式或复制前一帧重建像素模式。产生表示当前编码帧为静止帧的信息的压缩数据码流;否则,产生包含表示当前编码帧为非静止帧的信息的压缩数据码流。
35.在一些实施方式中,通过摄影机获取1920*1080尺寸的30帧视频序列,输入到编码器中,编码器依次读取每帧图像,在编码过程中,视频中的每一帧都是由1920x1080个像素组成的,每个像素在一帧中的二维坐标表示像素空间位置,而正在编码的帧中所有像素称为当前编码帧所有位置的像素,前一参考帧中的所有像素称为前一参考帧的所有位置像素。若两帧图像所有位置像素值对应相等,则称当前编码帧为静止帧,然后对当前编码帧采用静止帧编码模式进行编码,静止帧编码模式会编码一个表示静止帧信息的flag,此flag在当前编码帧所有位置像素值与前一参考帧所有位置像素值对应相等后,设此flag值为1,否则为0。
36.当flag为1时,对当前帧的编码块的划分方式采用最大不划分方式,所谓最大不划分方式是指按现有块划分方式的最大尺寸128*128大小进行图像划分,将1920*1080图像按照128*128大小划分,可以计算出在水平方向上,可划分为1920/128=15个,垂直方向上可划分出1080/128=8.4375,即可最多划分为8个,且在垂直方向还剩56个像素且小于静止帧模式的128个像素,最后在整帧图像的底部区域形成1920*56大小的区域,即在静止帧模式中定义为静止帧模式的边界区域。同理,若图像的宽不为1920,且是不能被128整除的尺寸,那么在图像右侧也会出现边界区域,再举例:若图像为1980*1080,则在图像右侧出现60*1080大小的边界区域且在图像底部出现1980*56的边界区域。已划分的区域为非边界区域。边界区域采用现有标准的划分方式,划分尺寸不固定;非边界区域采用静止帧模式的最大尺寸划分,划分尺寸为128*128。非边界区域的最大尺寸编码块,将前一参考值对应位置像素块的值作为当前编码块的预测值,而静止帧模式的边界区域的不固定尺寸的编码块采用现有标准的编码方法进行编码块的预测编码。最终编码器生成产生表示当前编码帧为静止帧的信息的压缩数据码流。
37.一种静止帧模式的解码方法,包括解码包含当前解码帧是否为静止帧的信息的数据码流,获得当前解码帧是否为静止帧的信息,如果该信息的判断结果为当前解码帧为静止帧,则对包含静止帧的数据码流进行解码,解码块的划分方式采用最大不划分方式,编码模式采用静止帧编码模式,不解码当前解码帧的解码块的划分方式和编码模式信息;如果该信息的判断结果为当前解码帧为非静止帧,则对包含非静止帧的数据码流进行解码。
38.在一些实施方式中,对至少包含当前解码帧是否为静止帧信息的压缩数据码流进行解码,获得当前解码帧是否为静止帧信息。所谓获取是指解码器读取存储在硬盘中的包含静止帧模式信息的二进制码流文件,所谓获取当前帧是否为静止帧信息,具体指表示静止帧模式的flag的值。若解码此flag的值为1,则当前解码帧为静止帧,否则为非静止帧模式,则对至少包含静止帧的压缩数据码流进行解码,不解码当前解码帧的解码块的划分方式,解码块的划分方式默认采用最大不划分方式,对静止帧模式的非边界区域默认采用静止帧模式解码,对静止帧模式的边界区域默认采用现有标准的解码模式进行解码。在flag为1时,即将前一解码帧对应位置的像素块的值作为采用最大不划分方式的静止帧模式非边界区域解码块的解码值,另外根据现有标准的解码模式得到的解码值作为静止帧模式的边界区域的解码块的解码值,最终实现静止帧模式的解码。
39.以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1