公开/公告号CN104394423A
专利类型发明专利
公开/公告日2015-03-04
原文格式PDF
申请/专利权人 山东电子职业技术学院;
申请/专利号CN201410766150.3
申请日2014-12-12
分类号H04N21/2343;H04N19/59;H04N19/40;H04N19/176;H04N19/513;
代理机构济南金迪知识产权代理有限公司;
代理人吕利敏
地址 250200 山东省济南市章丘大学城文化路888号山东电子职业技术学院办公室
入库时间 2023-12-17 04:44:31
法律状态公告日
法律状态信息
法律状态
2018-03-13
授权
授权
2015-04-01
实质审查的生效 IPC(主分类):H04N21/2343 申请日:20141212
实质审查的生效
2015-03-04
公开
公开
技术领域
本发明涉及一种空间分辨率视频转码中宏块运动矢量的计算方法,属于多媒体信号处 理的技术领域。
背景技术
在视频点播的应用中,为了能给更广泛的用户提供丰富的视频资源,视频内容提供商 需要保存各种格式下的视频资源,如高清品质,标清品质,一般品质等。这样才能满足各 类不同用户的需求,如个人电脑用户,手机用户等。为了能解决不同用户终端带来的差异, 可以使用视频转码技术。在该技术中,可以实时对视频流中的图像大小,帧率,图像质量 等各参数进行调整,从而符合接入网络和播放终端的要求。比如在图1所述的视频点播中, 就可以在视频服务器上加入视频转码模块,用户就可以通过无线终端完成点播,从而解决 了无线信道过窄无法点播的问题。
视频转码的输入是一种比特流格式(如图像大小,帧率,码率,编码标准等),经过 转码模块,可以得到另一个输出比特流格式。根据输入和输出比特流格式,视频转码通常 分为标准间转码和标准内转码两种。标准间转码是指输入比特流和输出比特流属于不同的 标准。标准内转码指输入比特流和输出比特流属于同一标准,又常分为图像尺寸转码,帧 率转码,比特率转码三个方面。
发明内容
针对现有技术的不足,本发明提供一种空间分辨率视频转码中宏块运动矢量的计算方 法。该方法适用于无线视频监控,互联网视频监控,视频点播等领域,本方法不仅可以显 著加快转码速度,而且保证了重新编码后的图像质量,满足了实时性的要求。
本发明的技术方案如下:
空间分辨率转码也就是图像尺寸转码,即从较大尺寸图像转码到较小尺寸图像。图像 尺寸缩放因子一般分为整数和任意值两种。本发明支持任意值缩放因子的情况,并约定图 像尺寸缩放前图像尺寸为N1×M1,图像尺寸缩放后图像尺寸为N2×M2,因此横向和纵向 的图像缩放因子分别为N1/N2和M1/M2。
附图2中给出了图像尺寸缩放前后图像中子块的对应关系。图2b为图像尺寸缩放后一 个子块,宽度和高度均为B个像素,本说明称之为B×B子块。图2a为B×B子块对应到图 像尺寸缩放前图像中的位置,其中阴影区域,即图中标识为区域A2为B×B子块在图像尺 寸缩放前图像中的对应区域,设B×B子块在图像尺寸缩放后图像中的左上角坐标为(x,y), 则区域A2在图像尺寸缩放前图像中的左上角坐标为(x·N1/N2,y·M1/M2)。区域A1定义为: 其横向和纵向尺寸均为B个像素的整数倍,且刚好完全包含区域A2,在图2a中黑粗线所 包围区域即为A1
选择图像中16×16像素的子块作为一个宏块,称为当前宏块。每个当前宏块都被划分 为16个4×4的子块,划分方法见附图3。本发明涉及的宏块类型为P16×16,P16×8,P8×16, P8×8,划分示意见附图4。
一种空间分辨率视频转码中宏块运动矢量的计算方法,包括步骤如下:
1)对每个4×4子块估计运动矢量:方法为计算区域A1,其中B=4时所有运动矢量的 中间值;区域A1中每个4×4子块都有一个运动矢量,在解码时从视频流中提取得到;计 算得到的运动矢量共计16个,为mvi,i=0,1,…,15,计算结果为表1:
表1 宏块内各个4×4子块的运动矢量的计算结果
2)将步骤1)中的16个运动矢量划分为9个不同的集合,划分方法如下:
MV1={mv0,mv1,mv2,mv3,mv4,mv5,mv6,mv7,mv8,mv9,mv10,mv11,mv12,mv13,mv14,mv15}
MV2={mv0,mv1,mv2,mv3,mv4,mv5,mv6,mv7}
MV3={mv8,mv9,mv10,mv11,mv12,mv13,mv14,mv15}
MV4={mv0,mv1,mv4,mv5,mv8,mv9,mv12,mv13}
MV5={mv2,mv3,mv6,mv7,mv10,mv11,mv14,mv15}
MV6={mv0,mv1,mv4,mv5}
MV7={mv2,mv3,mv6,mv7}
MV8={mv8,mv9,mv12,mv13}
MV9={mv10,mv11,mv14,mv15}
3)为当前宏块选择候选类型,选择方法采用现有公开的算法;
4)如果当前宏块类型选择为P16×16,其中P16×16类型包括一个初始运动矢量mv16×16 和一个细化步长re16×16,其计算方法为:
其中median{·}表示计算括号内所有数值的中间值;
5)如果当前宏块类型选择为P16×8,其中P16×8类型包括上、下两个初始运动矢量, 分别为:mv16×80和mv16×81,每个运动矢量分别对应一个细化步长,分别为:re16×80, re16×81,其计算方法为:
6)如果当前宏块类型选择为P8×16,其中P8×16类型包括左、右两个初始运动矢量, 分别为:mv8×160和mv8×161,每个运动矢量分别对应一个细化步长,分别为:re8×160, re8×161,其计算方法为:
7)如果当前宏块类型选择为P8×8,其中P8×8类型包括上、下、左、右四个初始运动 矢量,分别为:mv8×80,mv8×81,mv8×82,mv8×83,每个运动矢量分别对应一个细化步长, 分别为:re8×80,re8×81,re8×82,re8×83,其计算方法为:
8)采用上述步骤计算得到的初始运动矢量,采用现有公开的运动估计算法对其进行运 动细化。
本发明的有益效果是:
1)本发明充分利用了原始码流的丰富信息,快速进行宏块的运动矢量计算,并尽可 能保证选择的正确性;运动矢量的计算是转码中最耗时的部分,本发明能快速完成该部分 内容,从而转码速度较快。
2)本发明采用了基于像素域的视频转码,不会出现漂移误差,也就不会导致漂移效 应,从而保证了重新编码后的图像质量。
3)本发明适用的图像缩放因子不局限于整数值,而是任意值,从而扩展了视频转码 的应用范围。
4)本发明在计算运动矢量中,采用了中间值滤波器,从而精度较高;初始运动矢量 是经过计算得到,只在运动细化中运用了运动估计,因此速度较快。
附图说明
图1转码在视频点播服务中的应用原理图;
图2a转码前后图像中子块对应关系,即转码前图像;
图2b转码前后图像中子块对应关系,即转码后子块;
图3宏块的划分;
图4本发明中各个宏块类型图。
具体实施方式
为了便于理解和实施本发明,下面结合无线视频点播实例来对本发明作进一步详细描 述,但不限于此。
如图1–图4所示。
实施例1、
在无线视频点播中,已编码的视频流存放在视频服务器上,这些视频流都是在高比特 率的前提下压缩的,即图像尺寸大,帧率高,图像质量较好。当有用户进行点播某个视频 段时,会将相应所要求的参数同时发送到视频服务器,这些参数包括:图像尺寸,帧率, 比特率等。视频服务器根据这些参数的要求,启动转码模块,将已经编码好的视频流转码 到所要求的格式下,并实时地将转码后的视频流发送到用户终端。
视频服务器根据用户端的参数要求,启动在线转码模块,在线转码中需要对每个宏块 选择一个类型,该模块的具体实施步骤如下:
(1)在线解码。启动解码器将在线的实时视频流完全解码,得到像素域数据。
(2)提取信息。从解码信息中提取出宏块类型,残差数据等信息。
(3)缩小图像尺寸。根据终端的需要,缩小图像尺寸;此处所述的缩小图像尺寸的 算法可以使用公开的算法。
(4)宏块类型选择。利用公开的算法,完成宏块的类型选择。
(5)计算运动矢量。使用本发明的算法为宏块计算运动矢量。
(6)重新编码。使用选择好的宏块类型,重新计算的运动矢量,对视频进行重新编 码并输出。
一种空间分辨率视频转码中宏块运动矢量的计算方法,包括步骤如下:
1)对每个4×4子块估计运动矢量:方法为计算区域A1,其中B=4时所有运动矢量的 中间值;区域A1中每个4×4子块都有一个运动矢量,在解码时从视频流中提取得到;计 算得到的运动矢量共计16个,为mvi,i=0,1,…,15,计算结果为表1:
表1 宏块内各个4×4子块的运动矢量的计算结果
2)将步骤1)中的16个运动矢量划分为9个不同的集合,划分方法如下:
MV1={mv0,mv1,mv2,mv3,mv4,mv5,mv6,mv7,mv8,mv9,mv10,mv11,mv12,mv13,mv14,mv15}
MV2={mv0,mv1,mv2,mv3,mv4,mv5,mv6,mv7}
MV3={mv8,mv9,mv10,mv11,mv12,mv13,mv14,mv15}
MV4={mv0,mv1,mv4,mv5,mv8,mv9,mv12,mv13}
MV5={mv2,mv3,mv6,mv7,mv10,mv11,mv14,mv15}
MV6={mv0,mv1,mv4,mv5}
MV7={mv2,mv3,mv6,mv7}
MV8={mv8,mv9,mv12,mv13}
MV9={mv10,mv11,mv14,mv15}
3)为当前宏块选择候选类型,选择方法采用现有公开的算法;
4)如果当前宏块类型选择为P16×16,其中P16×16类型包括一个初始运动矢量mv16×16 和一个细化步长re16×16,其计算方法为:
其中median{·}表示计算括号内所有数值的中间值;
5)如果当前宏块类型选择为P16×8,其中P16×8类型包括上、下两个初始运动矢量, 分别为:mv16×80和mv16×81,每个运动矢量分别对应一个细化步长,分别为:re16×80, re16×81,其计算方法为:
6)如果当前宏块类型选择为P8×16,其中P8×16类型包括左、右两个初始运动矢量, 分别为:mv8×160和mv8×161,每个运动矢量分别对应一个细化步长,分别为:re8×160, re8×161,其计算方法为:
7)如果当前宏块类型选择为P8×8,其中P8×8类型包括上、下、左、右四个初始运动 矢量,分别为:mv8×80,mv8×81,mv8×82,mv8×83,每个运动矢量分别对应一个细化步长, 分别为:re8×80,re8×81,re8×82,re8×83,其计算方法为:
8)采用上述步骤计算得到的初始运动矢量,采用现有公开的运动估计算法对其进行运 动细化。
机译: 在编码/解码视频信号时从基层图片的运动矢量中推导宏块的运动矢量的方法和装置
机译: 在编码/解码视频信号时从基层图片的运动矢量中推导宏块的运动矢量的方法和装置
机译: 在编码/解码视频信号时从基层图片的运动矢量中推导宏块的运动矢量的方法和装置