视频数据流的生成方法技术

技术编号:39766677 阅读:8 留言:0更新日期:2023-12-22 02:20
本说明书中实施方式提供了一种视频数据流的生成方法,应用于编码器,以对摄像头采集到的图像帧进行编码,所述图像帧被划分至少一个区块,所述方法包括:生成图像帧的第

【技术实现步骤摘要】
视频数据流的生成方法、解码方法及相关装置


[0001]本说明书中实施方式涉及视频编解码
,特别是涉及一种视频数据流的生成方法

解码方法及相关装置


技术介绍

[0002]现有技术中的视频编码过程,通常是基于帧的编码方法,将视频分成多个帧并进行压缩编码

一个图像帧被划分为
n
个宏块,针对宏块作为基本单元进行编码处理

在视频的图像帧中存在运动物体的情况下,可以利用运动矢量预测技术

具体的,通过分析相邻图像帧之间的差异,根据参考帧预测当前帧中的物体运动信息

即,通过运动矢量差值反映当前帧和参考帧之间的相似性,根据运动矢量差值的大小推测运动物体可能的位置,其中,运动矢量
(Motion Vector

MV)
表示当前编码块与其参考图像中的最佳匹配块之间的相对位移

运动矢量差值可以表示当前帧的
MV
与参考帧的
MV
之间的差异

在现有技术中,在物体静止或几乎静止的情况下,可以采用零矢量表示当前帧中的编码块与参考帧中的对应块位置不变,从而减少编码复杂度和数据量

[0003]然而,在实际的视频图像帧中,经常存在物体运动程度较为剧烈的情况

此时,现有技术中仍使用零矢量进行运动矢量预测,则会增加编码产生的比特数,导致视频压缩效率低

因此,现有技术中存在视频画面运动场景下运动矢量压缩效率低的技术问题


技术实现思路

[0004]有鉴于此,本说明书中多个实施方式提供一种视频数据流的生成方法

解码方法及相关装置,以提高视频压缩率

[0005]本说明书的一个实施方式提供一种视频数据流的生成方法,应用于编码器,以对摄像头采集到的图像帧进行编码,所述图像帧被划分至少一个区块,所述方法包括:生成图像的帧第
n
个宏块,相对于指定参考图像帧的运动矢量;在针对所述第
n
个宏块相对于所述指定参考图像帧的预测运动矢量生成失败的情况下,获取所述第
n
个宏块所属于的区块对应的区块运动矢量;所述区块运动矢量用于表征所述区块相对于所述指定参考图像帧的运动信息;根据所述第
n
个宏块的运动矢量和所述区块运动矢量,计算得出所述第
n
个宏块的运动矢量差值;针对所述第
n
个宏块的运动矢量差值进行编码处理,得到所述第
n
个宏块的数据流

[0006]本说明书的一个实施方式提供一种视频数据流的解码方法,应用于解码器,以对接收到的视频数据流进行解码,所述方法包括:针对所述视频数据流进行解码得到第
n
个宏块对应的运动矢量差值;其中,所述运动矢量差值是生成所述数据流的编码器根据所述第
n
个宏块的运动矢量和所述第
n
个宏块所属的区块的区块运动矢量生成的;其中,所述区块运动矢量用于表征所述区块相对于所述指定参考图像帧的运动信息;获取所述第
n
个宏块所属的区块的区块运动矢量;根据
n
个宏块的运动矢量差值

区块运动矢量和所述指定参考图像帧,重建图像帧

[0007]本说明书的一个实施方式提供一种编码器,包括:运动矢量生成单元,生成图像帧的第
n
个宏块相对于指定参考图像帧的运动矢量;区块运动矢量预测单元,在针对所述第
n
个宏块相对于所述指定参考图像帧的预测运动矢量生成失败的情况下,获取所述第
n
个宏块所属于的区块对应的区块运动矢量;所述区块运动矢量用于表征所述区块相对于所述指定参考图像帧的运动信息;计算单元,根据所述第
n
个宏块的运动矢量和所述区块运动矢量,计算得出所述第
n
个宏块的运动矢量差值;编码单元,针对所述第
n
个宏块的运动矢量差值进行编码处理,得到所述第
n
个宏块的数据流

[0008]本说明书的一个实施方式提供一种解码器,包括:解码单元,针对所述视频数据流进行解码得到第
n
个宏块对应的运动矢量差值;其中,所述运动矢量差值是生成所述数据流的编码器根据所述第
n
个宏块的运动矢量和所述第
n
个宏块所属的区块的区块运动矢量生成的;其中,所述区块运动矢量用于表征所述区块相对于所述指定参考图像帧的运动信息;获取单元,获取所述第
n
个宏块所属的区块的区块运动矢量;重建单元,根据
n
个宏块的运动矢量差值

区块运动矢量和所述指定参考图像帧,重建图像帧

[0009]本说明书的一个实施方式提供一种电子设备,所述电子设备包括处理器及存储器,所述存储器中存储有计算机程序指令,当所述计算机程序指令被所述处理器执行时实现如上述任一所述的方法

[0010]本说明书提供的多个实施方式,通过生成图像帧的第
n
个宏块相对于指定参考图像帧的运动矢量;所述运动矢量对应的运动信息传输到解码器中

如果在摄像头拍摄视频的过程中发生了画面抖动的情况,使得连续帧之间的像素差异较大,可能导致所述第
n
个宏块相对于所述指定参考图像帧的预测运动矢量生成失败

在这种情况下,获取所述第
n
个宏块所属于的区块对应的区块运动矢量;根据所述第
n
个宏块的运动矢量和所述区块运动矢量,计算得出所述第
n
个宏块的运动矢量差值;最后,针对所述第
n
个宏块的运动矢量差值进行编码

这样可以有效地降低表示运动信息的比特数

相比直接传输运动矢量,传输运动矢量差值可以节省码字

如此,提高视频压缩率

附图说明
[0011]为了更清楚地说明本说明书实施方式的技术方案,下面将对实施方式描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图

[0012]图1为本说明书的一个实施方式提供的一种视频数据流的生成方法的流程示意图

[0013]图2为本说明书的一个实施方式提供的一种视频数据流的解码方法的流程示意图

[0014]图3为本说明书的一个实施方式提供的一种编码器示意图

[0015]图4为本说明书的一个实施方式提供的一种解码器示意图

[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种视频数据流的生成方法,其特征在于,应用于编码器,以对摄像头采集到的图像帧进行编码,所述图像帧被划分至少一个区块,所述方法包括:生成图像帧的第
n
个宏块相对于指定参考图像帧的运动矢量;在针对所述第
n
个宏块相对于所述指定参考图像帧的预测运动矢量生成失败的情况下,获取所述第
n
个宏块所属于的区块对应的区块运动矢量;所述区块运动矢量用于表征所述区块相对于所述指定参考图像帧的运动信息;根据所述第
n
个宏块的运动矢量和所述区块运动矢量,计算得出所述第
n
个宏块的运动矢量差值;针对所述第
n
个宏块的运动矢量差值进行编码处理,得到所述第
n
个宏块的数据流
。2.
根据权利要求1所述的方法,其特征在于,在针对所述第
n
个宏块相对于所述指定参考图像帧的预测运动矢量生成失败的情况下,获取所述第
n
个宏块所属于的区块对应的区块运动矢量的步骤,所述方法还包括:将所述摄像头采集到的整个图像帧作为一个区块,计算图像帧整体的全局运动矢量,作为区块运动矢量;其中,所述全局运动矢量用于表征所述整个图像帧相对于所述指定参考图像帧的运动信息
。3.
根据权利要求1所述的方法,其特征在于,所述区块中包括多个宏块,在针对所述第
n
个宏块相对于所述指定参考图像帧的预测运动矢量生成失败的情况下,获取所述第
n
个宏块所属于的区块对应的区块运动矢量的步骤,所述方法还包括:将所述摄像头采集到的图像帧划分多个区块;计算每个区块的区块运动矢量
。4.
根据权利要求3所述的方法,其特征在于,所述宏块对应的区块通过坐标对所述图像帧进行划分,每个区块对应有一个区块编号;每个坐标对应有区块编号;所述方法包括:获取所述第
n
个宏块的坐标;其中,所述坐标用于指示第
n
个宏块的位置;确定所述第
n
个宏块所属区块的区块编号;获取所述区块编号对应区块的区块运动矢量
。5.
根据权利要求1所述的方法,其特征在于,区块被设置有缺省矢量标识位,缺省矢量标识位具有表示被允许使用区块运动矢量的第一取值,和不允许使用区块运动矢量的第二取值;所述方法还包括:在针对所述第
n
个宏块相对于所述指定参考图像帧的预测运动矢量生成失败,且区块的缺省矢量标识位处于第一取值的情况下,才获取所述第
n
个宏块所属于的区块对应的区块运动矢量
。6.
一种视频数据流的解码方法,其特征在于,应用于解码器,以对接收到的视频数据流进行解码,所述方法包括:针对所述视频数据流进...

【专利技术属性】
技术研发人员:马伟赖丽秋
申请(专利权)人:中星电子股份有限公司北京中星微电子有限公司
类型:发明
国别省市:

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

1