首页> 中国专利> 一种空间分辨率视频转码中宏块运动矢量的计算方法

一种空间分辨率视频转码中宏块运动矢量的计算方法

摘要

一种空间分辨率视频转码中宏块运动矢量的计算方法,本发明充分利用了原始码流的丰富信息,快速进行宏块的运动矢量计算,并尽可能保证计算结果的正确性;运动矢量的计算是转码中最耗时的部分,本发明能快速完成该部分内容,从而转码速度较快。本发明采用了像素域的视频转码,不会出现漂移误差,也就不会导致漂移效应,从而保证了重新编码后的图像质量。

著录项

  • 公开/公告号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子块的运动矢量的计算结果

mv0mv1mv2mv3mv4mv5mv6mv7mv8mv9mv10mv11mv12mv13mv14mv15

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,其计算方法为:

re16×16=116Σi=015|mv16x16-mv|,mvMV1

其中median{·}表示计算括号内所有数值的中间值;

5)如果当前宏块类型选择为P16×8,其中P16×8类型包括上、下两个初始运动矢量, 分别为:mv16×80和mv16×81,每个运动矢量分别对应一个细化步长,分别为:re16×80, re16×81,其计算方法为:

mv16×8k=median{mvMVk+2}re16×8k=18Σi=07|mv16×8k-mv|,mvMVk+2,k=0,1;

6)如果当前宏块类型选择为P8×16,其中P8×16类型包括左、右两个初始运动矢量, 分别为:mv8×160和mv8×161,每个运动矢量分别对应一个细化步长,分别为:re8×160, re8×161,其计算方法为:

mv8×8k=median{mvMVk+4}re8×16k=18Σi=07|mv8×16k-mv|,mvMVk+4,k=0,1;

7)如果当前宏块类型选择为P8×8,其中P8×8类型包括上、下、左、右四个初始运动 矢量,分别为:mv8×80,mv8×81,mv8×82,mv8×83,每个运动矢量分别对应一个细化步长, 分别为:re8×80,re8×81,re8×82,re8×83,其计算方法为:

mv8×8k=median{mvMVk+6}re8×8k=14Σi=03|mv8×8k-mv|,mvMVk+6,k=0,1,2,3;

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子块的运动矢量的计算结果

mv0mv1mv2mv3mv4mv5mv6mv7mv8mv9mv10mv11mv12mv13mv14mv15

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,其计算方法为:

mv16×16=median{mvMV1}re16×16=116Σi=015|mv16×16-mv|,mvMV

其中median{·}表示计算括号内所有数值的中间值;

5)如果当前宏块类型选择为P16×8,其中P16×8类型包括上、下两个初始运动矢量, 分别为:mv16×80和mv16×81,每个运动矢量分别对应一个细化步长,分别为:re16×80, re16×81,其计算方法为:

mv16×8k=median{mvMVk+2}re16×8k=18Σi=07|mv16×8k-mv|,mvMVk+2,k=0,1;

6)如果当前宏块类型选择为P8×16,其中P8×16类型包括左、右两个初始运动矢量, 分别为:mv8×160和mv8×161,每个运动矢量分别对应一个细化步长,分别为:re8×160, re8×161,其计算方法为:

mv8×8k=median{mvMVk+4}re8×16k=18Σi=07|mv8×16k-mv|,mvMVk+4,k=0,1;

7)如果当前宏块类型选择为P8×8,其中P8×8类型包括上、下、左、右四个初始运动 矢量,分别为:mv8×80,mv8×81,mv8×82,mv8×83,每个运动矢量分别对应一个细化步长, 分别为:re8×80,re8×81,re8×82,re8×83,其计算方法为:

mv8×8k=median{mvMVk+6}re8×8k=14Σi=03|mv8×8k-mv|,mvMVk+6,k=0,1,2,3;

8)采用上述步骤计算得到的初始运动矢量,采用现有公开的运动估计算法对其进行运 动细化。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号