一种视频编码方法及装置制造方法及图纸

技术编号:11756253 阅读:120 留言:0更新日期:2015-07-22 04:18
本申请公开了一种视频编码方法,获取表征一段视频图像的若干帧图像数据,从非I帧图像数据中确定独立宏块,在编码时对独立宏块上的图像数据进行独立编码。通过这种方法,可以减小图像误差累计,降低图像出现错误的概率,并且,将独立编码宏块分配在各帧图像中,在提高流畅度的同时也能兼顾流量。同时,本申请还公开了一种视频编码装置。

【技术实现步骤摘要】

本申请涉及视频
,尤其涉及到一种视频编码方法及装置
技术介绍
在实时视频发布系统中的视频编解码算法中,I帧(I frame),即独立帧,是非常关键的帧,解码时只需要本帧数据就可以完成。而在实时视频发布系统中其它类型的帧,即B帧和P帧,都是在I帧的基础上来进行的双向或单向预测编码。由于I帧占据了很大的数据量,因此,在网络带宽受限时,就会引起延迟,造成视频画面的停滞、卡等现象,影响视频发布的实时性。相对于I巾贞,B帧(宏块)和P帧(宏块)的压缩率都很小,能够节省空间。因此,现有的很多算法(如H.264算法)中,在一组连续图像(GOP, Group of Pictures)的视频中,除了第一帧为I帧以外,其它帧均为P帧和B帧,或者既包括B宏块又包括P宏块。对于一个G0P,除了第一帧为帧内编码,其它帧均采用帧间编码的形式进行编码,换言之,各帧图像数据都是依赖于其它帧进行编码。这会带来一个致命的缺点,如果某些P帧的宏块或者某些P宏块丢失以后,以后所有参照该帧(宏块)的视频图像,都将建立在错误的预测块上,永远不能回复,并会产生误差积累,导致图像严重的错误。此外,一段视频通常由多个GOP构成,而每一个GOP都需要一帧I帧图像数据,在受到网络的约束时,也容易影响视频发布的实时性。
技术实现思路
本申请提供一种视频编码方法及其装置。根据本申请的第一方面,本申请提供一种视频编码方法,包括:获取表征一段视频图像的若干帧图像数据;将每帧图像数据划分为连续且不重叠的若干宏块;至少将该段视频图像数据中第一帧确定为I帧图像数据;对I帧图像数据中的各宏块的图像数据进行独立编码;在每一帧非I帧图像数据中确定出该帧的独立宏块,且每帧非I帧图像数据中的独立宏块的数量小于该帧图像数据划分的宏块总数量,所有非I帧图像数据中的独立宏块的集合至少包括由一帧图像数据划分出的所有宏块;对非I帧图像数据中的独立宏块的图像数据进行独立编码,对非I帧图像数据中的其它宏块的图像数据采用非独立编码方式进行编码。根据本申请的第二方面,本申请提供一种视频编码装置,包括:获取模块,获取模块用于获取表征一段视频图像的若干帧图像数据;划分模块,划分模块用于将每帧图像数据划分为连续且不重叠的若干宏块;区分模块,区分模块用于区分I帧图像数据和非I帧图像数据,至少将该段视频图像数据中第一帧确定为I帧图像数据;确定模块,确定模块用于在每一帧非I帧图像数据中确定出该帧的独立宏块,且每帧非I帧图像数据中的独立宏块的数量小于该帧图像数据划分的宏块总数量,所有非I帧图像数据中的独立宏块的集合至少包括由一帧图像数据划分出的所有宏块;第一编码模块,第一编码模块用于对I帧图像数据中的各宏块的图像数据进行独立编码,还用于对非I帧图像数据中的独立宏块的图像数据进行独立编码;第二编码模块,第二编码模块用于对非I帧图像数据中的其它宏块的图像数据采用非独立编码方式进行编码。本申请的有益效果是:本申请提供的视频编码方法及装置,可以减小视频图像中的误差累计,降低避免图像出现错误的概率。【附图说明】图1为本申请实施例提供的一种视频编码装置结构图;图2为本申请实施例确定模块的结构图;图3为本申请实施例公开的一种视频编码方法流程图;图4为本申请实施例公开的各帧图像数据划分成宏块的示意图;图5为本申请实施例公开的一种从非I帧图像数据中确定独立宏块的方法流程图;图6为本申请实施例公开的对独立宏块位置遍历的策略示意图,其中,(a)示意了按行遍历的示例;(b)示意了按列遍历的示例。【具体实施方式】首先对本申请用到的术语进行解释。I帧:内部画面(intra picture),为全帧压缩编码帧,将全帧图像信息进行JPEG压缩编码及传输。I帧通常是每个GOP的第一个帧,经过适度地压缩,可以当成图象。那么,对应的非I帧则表示除了 I帧以外的其它帧,包括由B宏块、P宏块及其组合或者其它形式编码的宏块构成的图像数据帧。独立编码:采用I帧帧内压缩编码的形式,对选定的区域数据进行JPEG压缩编码/传输。下面通过【具体实施方式】结合附图对本申请作进一步详细说明。在本申请实施例中,在对一段视频图像数据编码时,将非I帧的图像数据帧中的某些宏块设置为独立编码的宏块,并对独立编码的宏块的图像数据进行独立编码。请参考图1,为本实施例提供的视频编码装置的结构图,具体结构包括:获取模块1,获取模块I用于表征一段视频图像的若干帧图像数据;划分模块2,划分模块2用于将每帧图像数据划分为连续且不重叠的若干宏块;区分模块3,区分模块3用于区分I帧图像数据和非I帧图像数据,至少将该段视频图像数据中第一帧确定为I帧图像数据;进一步地,在一种具体实施例中,区分模块3将获取的一段视频图像数据中,第一帧确定为I帧,其余帧均为非I帧;确定模块4,确定模块4用于在每一巾贞非I巾贞图像数据中确定出该巾贞的独立宏块,且每帧非I帧图像数据中的独立宏块的数量小于该帧图像数据划分的宏块总数量,所有非I帧图像数据中的独立宏块的集合至少包括由一帧图像数据划分出的所有宏块;第一编码模块5,第一编码模块5用于对I帧图像数据中的各宏块的图像数据进行独立编码,还用于对非I帧图像数据中的独立宏块的图像数据进行独立编码;第二编码模块6,第二编码模块6用于对非I帧图像数据中的其它宏块的图像数据采用非独立编码方式进行编码。在一种具体实施例中,请参考图2,确定模块4包括:分组单元41,分组单元41用于将非I帧图像数据分成至少一组;确定单元42,确定单元42用于基于一组中的非I帧图像数据帧数和一帧图像数据划分出的宏块数分别确定各帧图像数据的独立宏块,使得该组所有的独立宏块的集合至少包括由一帧图像数据划分出的所有宏块。在一种具体实施例中,确定单元42在每一帧非I帧图像数据中确定出的n/N个宏块为独立宏块,其中η为由一帧图像数据划分出的宏块数,N为第一组至倒数第二组各组图像数据的帧数,其中,η和N均为大于I的整数,η为N的倍数。请参考图3,为本实施例公开的视频编码方法流程图,适用于上述装置,具体方法步骤包括:步骤100、获取图像数据。获取表征一段视频图像的若干帧图像数据。本领域技术人员应该理解,通常而言,一段视频图像包括若干组连续图像(GOP, Group of pictures)数据,而每个GOP的第一中贞为I帧,其余帧为非I帧,由包括B宏块、P宏块及其组合或者其它形式编码的宏块构成。因此,一般而言,一段视频图像的图像数据中会包括多帧I帧。步骤200、划分宏块。将每帧图像数据划分为连续且不重叠的若干宏块。请参考图4,每帧图像数据被划分成连续且不重叠的U*v个宏块,构成了 U行V列的宏块矩阵,其中,U和V为正整数。在一帧图像中,宏块可以通过坐标来定位,譬如(i,j)表示第i行第j列位置上的宏块,其中I彡i彡u,l彡j彡V,均为整数。步骤300、确定I帧。至少将该段视频图像数据中第一帧确定为I帧图像数据。根据步骤100的讨论可知,通常而言,一段视频图像会包括多个I帧。而在本实施例中,获取表征一段视频图像的若干帧图像数据后,只需将这些图像数据帧中的第一帧设为I帧,其余帧均作为非I帧并不再单独设置I帧。换言之,本实施例中,一段包括多个连续图像组的图像数据中,可以只有第一巾贞为I中贞。本文档来自技高网...

【技术保护点】
一种视频编码方法,其特征在于,包括:获取表征一段视频图像的若干帧图像数据;将每帧图像数据划分为连续且不重叠的若干宏块;至少将该段视频图像数据中第一帧确定为I帧图像数据;对I帧图像数据中的各宏块的图像数据进行独立编码;在每一帧非I帧图像数据中确定出该帧的独立宏块,且每帧非I帧图像数据中的独立宏块的数量小于该帧图像数据划分的宏块总数量,所有非I帧图像数据中的独立宏块的集合至少包括由一帧图像数据划分出的所有宏块;对非I帧图像数据中的独立宏块的图像数据进行独立编码,对非I帧图像数据中的其它宏块的图像数据采用非独立编码方式进行编码。

【技术特征摘要】

【专利技术属性】
技术研发人员:赵勇
申请(专利权)人:深圳市中瀛鑫科技股份有限公司
类型:发明
国别省市:广东;44

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

1