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

文档序号:9456183阅读:来源:国知局
度;参数a q越大,q增加时 质量下降越快;参数ct t越小,帧率下降时,质量下降越快;a q和a t也是与视频图像内容 相关的参数,因此参数α。和Cit与图像特征信息也具有相关性。
[0051] 因此,计算编码帧率就是在上述码率模型和图像质量模型中选择9_和t。#,使得 ^cipt)最大,也即是在检查到给定的编码码率RO下选择最佳编码帧率t,使得在满足 R(q, t) < R。的条件下,Q(q, t)达到最大。
[0052] 其中,a、b、R_、%和Cit是与视频图像的特征信息具有相关关系的参数,可通过 提取到的视频图像的特征信息而确定;
[0053] 因此,根据预设的参数调整模型,可通过下式计算模型参数:
[0055] 其中,
为所述模型参数,A为所述参数调整模型,所述参数调整模型包含多 个预设的所述模型参数与所述图像亮度信息、运动矢量大小及运动矢量方向的相关性系 数,Ufd为所述图像亮度信息,σ μ?为所述运动矢量大小,0MM为所述运动矢量方向;
[0056] 本实施例中,可预先对已知编码码率和编码帧率的视频图像样本进行统计分析, 计算得到多组包含模型参f
及图像亮度信息、运动矢量大小及运动矢量方向的数据, 再进行相关性分析,得到所述参数调整模型,参数调整模型中包括多个元素,各个元素分别 为所述模型参数与图像亮度信息、运动矢量大小及运动矢量方向的相关性系数;参数调整 模型中各相关性系数的个数可根据实际操作中样本的个数和精确度需求而选择。
[0057] 如下式所示,示出了参数调整模型的一个例子:
[0059] 本实施例的参数调整模型为矩阵,矩阵中包括多个元素:
即为所述模型参数与图像亮度信息、运动矢 量大小及运动矢量方向的相关性系数。
[0061] 在获得上述模型参数后,将模型参数输入至码率模型:
[0063] 令R(q,t)为所述检测到的码率,码率模型中包含了一个未知变量:编码帧率t ;结 合图像质量模型
则可得到图像质量值最大的帧率, 作为所述编码帧率;
[0064] 具体的,在计算编码帧率时,可将码率模型做如下变换,得到下式:
,再将该式代入到图像质量模型中,通过求解,即可通 过與?(仏〇/_& = 〇找到最佳编码帧率;
[0066] 计算的过程比较复杂,而可选帧率都是离散、有限的,因此,也通过 遍历的方式,从一较小的帧率逐步递增到预设的最大可用帧率t_,依次计算每个帧率下的 Q(q,t)值,选择Q(q,t)最大时对应帧率作为编码帧率,可使计算过程更加简单,提高处理 速度。
[0067] 具体的,上述遍历的过程可如下表示:
[0070] 在一较佳实施例中,所述检测所述视频源序列中视频图像的特征信息的步骤包 括:
[0071] 读取预设帧数的视频图像,检测每帧视频图像的平均亮度值,通过下列公式计算 所述图像亮度信息:
[0073] 其中,μ FD为所述图像亮度信息;
[0074] FD (k) = fk_fk i,fk和fk i分别为第k帧视频图像的平均亮度值和第k-Ι帧视频图 像的平均亮度值;N为所述预设帧数;
[0076] 本实施例通过检测每帧视频图像的平均亮度值,再对多帧视频图像的平均亮度值 取平均值,能精确并快速地检测出当前视频源序列的纹理特征信息。
[0077] 在一较佳实施例中,如图3所示,所述检测所述视频源序列中视频图像的特征信 息的步骤可包括:
[0078] S31、读取预设帧数的视频图像,检测每帧视频图像中预设宏块的运动信息;
[0079] S32、根据所述视频图像中预设宏块的运动信息,通过下列公式计算所述运动矢量 大小:
[0081] 其中,σ _为所述运动矢量大小;
表示第k帧视频图像的运动矢量大小,m为所述 第k帧视频图像中预设宏块的个数;
表示为第k帧视频图像中第(i,j)个所述 宏块的运动矢量大小,mvxk(i, j)和mvyk(i, j)分别为第k帧中第(i,j)个所述宏块的水平 分量和垂直分量;
[0085] S33、根据所述视频图像中预设宏块的运动信息,通过下列公式计算所述运动矢量 方向:
[0087] 其中,〇MDA为所述运动矢量方向;
表示第k帧视频图像的运动矢量方向;
[0089] MDAk(i, j) = arctan(mvyk(i, j)/mvxk(i, j)),表示第 k 帧视频图像中第(i,j)个 所述宏块的运动矢量方向;
[0090] 本实施例通过检测每帧视频图像中宏块的运动矢量数据,再对多帧视频图像的运 动矢量数据取方差,能精确并快速地检测出当前视频源序列的运动特征信息。
[0091] 如图4所示,是本发明一种视频通讯中动态调整编码帧率的系统在一实施例中的 结构示意图,包括:
[0092] 采集模块41,用于采集视频源序列;
[0093] 提取模块42,用于提取所述视频源序列中视频图像的特征信息;
[0094] 计算模块43,用于根据检测到的码率及所述特征信息,计算编码帧率并发送至编 码器;其中,所述特征信息包括纹理特征和运动特征;
[0095] 视频通讯中,两个或两个以上终端通过网络实现视频通讯;终端具有视频编码功 能,每个终端采集本地视频数据,将视频数据进行编码后通过网络服务器转发给其他终端, 其他终端接收后进行解码获得视频数据;上述的视频通讯中的终端,可包括移动终端、智能 设备或计算机等不同类型的支持即时通讯应用的终端;多个不同类型的终端可同时进行视 频通讯,不局限于同一类型的终端。
[0096] 在本实施例中首先需要采集视频数据,得到视频源序列;接着从视频源序列中提 取多帧视频图像的特征信息,提取出的特征信息能够有效表征当前视频图像的内容。
[0097] 结合所述特征信息及检测到的编码码率,计算编码当前视频源序列的编码帧率; 检测编码码率时,可通过与服务器建立网络连接,接收由服务器给定的根据当前网络状况 确定的码率;
[0098] 本实施例编码帧率的计算过程,可在视频源序列采集的过程中实时进行,也可根 据一预设周期定时计算,计算得到结果则输出至编码器,编码器每次接收到该编码帧率时, 则可根据最新接收到的编码帧率对当前采集的视频源序列进行编码。
[0099] 视频图像的特征信息可包括颜色特征、纹理特征、形状特征、运动特征或轮廓特征 等等;在视频通讯中,视频图像的纹理复杂度和运动剧烈程度对于视频图像质量和视频数 据大小的影响较高,因此本实施例中提取的特征信息采用纹理信息和运动信息,根据这两 类特征信息获得实时的编码帧率,以保证视频质量和视频流畅性的平衡。
[0100] 本实施例在计算编码帧率时,同时考虑了视频图像内容的特征信息和编码码率, 实现了动态调整编码帧率,从而能获得视频图像质量与视频流畅度的最佳平衡。
[0101] 在一较佳实施例中,所述纹理特征可包括图像亮度信息,所述运动特征可包括运 动矢量大小和运动矢量方向;通过提取图像亮度信息作为所述纹理特征、提取运动矢量大 小和运动矢量方向作为所述运动特征,可有效提高图像特征提取速度;纹理特征与运动特 征也可通过从图像中提取其他信息作为表征,具体可根据需要而选择合适的图像特征数 据。
[0102] 在一较佳实施例中,如图5所示,所述计算模块43还可包括:
[0103] 模型参数计算模块51,用于根据预设的参数调整模型,通过下式计算模型参数:
[0105] 其中:
为所述模型参数,A为所述参数调整模型,所述参数调整模型包含多 个预设的所述模型参数与所述图像亮度信息、运动矢量大小及运动矢量方向的相关性系 数,Ufd为所述图像亮度信息,σ μ?为所述运动矢量大小,0MM为所述运动矢量方向;
[0106] 输入模块52,用于将所述模型参数输入预设的码率模型和图像质量模型,得到图 像质量值最大的帧率作为所述编码帧率并发送至编码器;
[0107] 其中,所述码率模型为
> 所述图像质量模型为
为所述检测到的码率,Q(q,t)为所述图像 质量值,q_为预设的最小量化步长,t_为预设的最大可用帧率,q为量化步长,t为所述帧 率,为预设的量化步长为q_、编码帧率为时对应的图像质量值。
[0108] 本实施例中涉及了两个模型:
[0109] 码率模型为:
其表征了在给定编码帧率(t)和量化 步长(q)的情况下,编码当前图像序列需要的码率。
[0110] 其中,q_为预设的最小量化步长,t_为预设的最大可用帧率;
[0111] 1?_为编码当前视频图像需要的最大码率,所述的最大码率并不是指编码码率不 能超过该值,而是指当编码码率超出该值的时候,图像质量不会再有明显提升;例如,在 H. 264编码中,当量化步长低于24的时候,继续降低量化步长对提高图像质量的作用较小, 因此可预设量化步长为24时对应的编码码率为所述编码当前视频图像需要的最大码率;
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1