视频通讯中动态调整编码帧率的方法和系统的制作方法_3

文档序号:9456183阅读:来源:国知局
在该码率模型中,R_即为量化步长为q_、编码帧率为t_时对应的编码码率;
[0112] 参数a和b表征了 R(q,t)对q和t变化的敏感程度;参数a越大,q增加时码率 下降越快;参数b越大,帧率下降时,码率下降越快;a和b是与视频图像内容相关的参数, 即参数a和b与图像特征信息具有相关性;其中,视频图像的纹理越复杂,a越大;视频图像 的运动越剧烈,b越大。
[0113] 另一个是图像质量模型:
其建立了图像质量与图像特征信息之间 的关系,表征了当编码帧率为t、量化步长为q时,当前图像的MOS (Mean Opinion Score,平 均意见值)值的大小。
[0115] 其中,Q(q,t)为量化步长为q、编码帧率为t时对应的图像质量值;
[0116] Qniax为图像的最大MOS值,也即是量化步长为q_、编码帧率为t_时对应的MOS值; 当量化步长低于q_、编码帧率高于t_的时候,即使再继续降低量化系数或者提高帧率,图 像质量也不会有明显提升;因此,q_、t_对应的MOS值为最大MOS值;
[0117] 参数a q和a t表征了 Q (q,t)对q和t变化的敏感程度;参数a q越大,q增加时 质量下降越快;参数ct t越小,帧率下降时,质量下降越快;a q和a t也是与视频图像内容 相关的参数,因此参数α。和Cit与图像特征信息也具有相关性。
[0118] 因此,计算编码帧率就是在上述码率模型和图像质量模型中选择1#和Icipt,使得 ^ cipt)最大,也即是在检查到给定的编码码率RO下选择最佳编码帧率t,使得在满足 R(q, t) < R。的条件下,Q(q, t)达到最大。
[0119] 其中,a、b、R_、%和at是与视频图像的特征信息具有相关关系的参数,可通过 提取到的视频图像的特征信息而确定;
[0120] 因此,根据预设的参数调整模型,可通过下式计算模型参数:
[0122] 其中
为所述模型参数,A为所述参数调整模型,所述参数调整模型包含多 个预设的所述模型参数与所述图像亮度信息、运动矢量大小及运动矢量方向的相关性系 数,Ufd为所述图像亮度信息,σ μ?为所述运动矢量大小,0MM为所述运动矢量方向;
[0123] 本实施例中,可预先对已知编码码率和编码帧率的视频图像样本进行统计分析, 计算得到多组包含模型参数
及图像亮度信息、运动矢量大小及运动矢量方向的数 据,再进行相关性分析,得到所述参数调整模型,参数调整模型中包括多个元素,各个元素 分别为所述模型参数与图像亮度信息、运动矢量大小及运动矢量方向的相关性系数;参数 调整模型中各相关性系数的个数可根据实际操作中样本的个数和精确度需求而选择。
[0124] 如下式所示,示出了参数调整模型的一个例子:
[0126] 本实施例的参数调整模型为矩阵,矩阵中包括多个元素:
即为所述模型参数与图像亮度信息、运动矢 量大小及运动矢量方向的相关性系数。
[0128] 在获得上述模型参数后,将模型参数输入至码率模型:
[0130] 令R(q,t)为所述检测到的码率,码率模型中包含了一个未知变量:编码帧率t ;结 合图像质量模型
则可得到图像质量值最大的帧率,作 为所述编码帧率;
[0131] 在计算编码帧率时,可将码率模型做如下变换,得到下式:
,再将该式代入到图像质量模型中,通过求解,即可通 过(士/')/改=G找到最佳编码帧率tcipt ;
[0133] Π ·兑a'CXyAH/zO的过程比较复杂,而可选帧率都是离散、有限的,因此,也通过 遍历的方式,依次计算每个帧率下的Q(q,t)值,选择Q(q,t)最大时的帧率作为编码帧率, 可使计算过程更加简单,提高处理速度;
[0134] 具体的,上述遍历的过程可如下表示:
[0136] 在一较佳实施例中,所述提取模块42可包括亮度信息提取模块61,用于读取预 设帧数的视频图像,检测每帧视频图像的平均亮度值,通过下列公式计算所述图像亮度信 息:
[0138] 其中,μ FD为所述图像亮度信息;
[0139] FD (k) = fk_fk p fk和fk i分别为第k帧视频图像的平均亮度值和第k-Ι帧视频图 像的平均亮度值;N为所述预设帧数;
[0141] 本实施例通过检测每帧视频图像的平均亮度值,再对多帧视频图像的平均亮度值 取平均值,能精确并快速地检测出当前视频源序列的纹理特征信息。
[0142] 在一较佳实施例中,所述提取模块42还可包括:
[0143] 检测模块71,用于读取预设帧数的视频图像,检测每帧视频图像中预设宏块的运 动信息;
[0144] 模块72,用于根据所述视频图像中预设宏块的运动信息,通过下列公式计算所述 运动矢量大小:
[0146] 其中,〇 _为所述运动矢量大小;
第k帧视频图像中预设宏块的个数;
表示为第k帧视频图像中第(i,j)个所述 宏块的运动矢量大小,mvxk(i, j)和mvyk(i, j)分别为第k帧中第(i,j)个所述宏块的水平 分量和垂直分量;
[0150] 运动矢量方向计算模块73,用于根据所述视频图像中预设宏块的运动信息,通过 下列公式计算所述运动矢量方向:
[0152] 其中,〇MDA为所述运动矢量方向;
[0154] MDAk(i, j) = arctan(mvyk(i, j)/mvxk(i, j)),表示第 k 帧视频图像中第(i,j)个 所述宏块的运动矢量方向;
[0155] 本实施例通过检测每帧视频图像中宏块的运动矢量数据,再对多帧视频图像的运 动矢量数据取方差,能精确并快速地检测出当前视频源序列的运动特征信息。
[0156] 本发明视频通讯中动态调整编码帧率的方法和系统,首先采集视频数据,得到视 频源序列,通过检测视频源序列中多帧视频图像的纹理特征和运动特征,根据所述纹理特 征和运动特征及检测到的编码码率,计算得到编码帧率发送给编码器,以供编码器对当前 的视频源序列进行编码;本发明计算得到的编码帧率,同时考虑了视频图像内容的特征信 息和当前的编码码率,实现了动态调整编码帧率,从而能获得视频图像质量与视频流畅度 的最佳平衡。
[0157] 本发明中的步骤虽然用标号进行了排列,但并不用于限定步骤的先后次序,除非 明确说明了步骤的次序或者某步骤的执行需要其他步骤作为基础,否则步骤的相对次序是 可以调整的。可以理解,本文中所使用的术语"和/或"涉及且涵盖相关联的所列项目中的 一者或一者以上的任何和所有可能的组合。
[0158] 图8为能实现本发明实施例的一个计算机系统1000的模块图。该计算机系统 1000只是一个适用于本发明的计算机环境的示例,不能认为是提出了对本发明的使用范围 的任何限制。计算机系统1000也不能解释为需要依赖于或具有图示的示例性的计算机系 统1000中的一个或多个部件的组合。
[0159] 图8中示出的计算机系统1000是一个适合用于本发明的计算机系统的例子。具 有不同子系统配置的其它架构也可以使用。例如有大众所熟知的台式机、笔记本、个人数字 助理、智能电话、平板电脑等类似设备可以适用于本发明的一些实施例。但不限于以上所列 举的设备。
[0160] 如图8所示,计算机系统1000包括处理器1010、存储器1020和系统总线1022。包 括存储器1020和处理器1010在内的各种系统组件连接到系统总线1022上。处理器1010 是一个用来通过计算机系统中基本的算术和逻辑运算来执行计算机程序指令的硬件。存储 器1020是一个用于临时或永久性存储计算程序或数据(例如,程序状态信息)的物理设 备。系统总线1020可以为以下几种类型的总线结构中的任意一种,包括存储器总线或存储 控制器、外设总线和局部总线。处理器1010和存储器1020可以通过系统总线1022进行数 据通信。其中存储器1020包括只读存储器(ROM)或闪存(图中都未示出),以及随机存取 存储器(RAM),RAM通常是指加载了操作系统和应用程序的主存储器。
[0161] 计算机系统1000还包括显示接口 1030(例如,图形处理单元)、显示设备1040(例 如,液晶显示器)、音频接口 1050(例如,声卡)以及音频设备1060(例如,扬声器)。显示 设备1040和音频设备1060是用于体验多媒体内容的媒体设备。
[0162] 计算机系统1000 -般包括一个存储设备1070。存储设备1070可以从多种计算机 可读介质中选择,计算机可读介质是指可以通过计算机系统1000访问的任何可利用的介 质,包括移动的和固定的两种介质。例如,计算机可读介质包括但不限于,闪速存储器(微 型SD卡),CD-R0M,数字通用光盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁 存储设备,或者可用于存储所需信息并可由计算机系统1000访问的任何其它介质。
[0163] 计算机系统1000还包括输入装置1080和输入接口 1090 (例如,IO控制器)。用 户可以通过输入
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1