CN105208388B - 视频通讯中动态调整编码帧率的方法和系统 - Google Patents
视频通讯中动态调整编码帧率的方法和系统 Download PDFInfo
- Publication number
- CN105208388B CN105208388B CN201410290252.2A CN201410290252A CN105208388B CN 105208388 B CN105208388 B CN 105208388B CN 201410290252 A CN201410290252 A CN 201410290252A CN 105208388 B CN105208388 B CN 105208388B
- Authority
- CN
- China
- Prior art keywords
- video
- motion vector
- image
- frame
- preset
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004891 communication Methods 0.000 title claims abstract description 39
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000004364 calculation method Methods 0.000 claims abstract description 12
- 239000013598 vector Substances 0.000 claims description 87
- 238000013139 quantization Methods 0.000 claims description 34
- 238000012935 Averaging Methods 0.000 claims description 6
- 238000000605 extraction Methods 0.000 claims description 5
- 238000001514 detection method Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 4
- 230000035945 sensitivity Effects 0.000 description 4
- 230000007423 decrease Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000010219 correlation analysis Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000012467 final product Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000007619 statistical method Methods 0.000 description 2
- 230000010267 cellular communication Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明提供一种视频通讯中动态调整编码帧率的方法,包括步骤:采集视频源序列;提取所述视频源序列中视频图像的特征信息;根据检测到的码率及所述特征信息,计算编码帧率。本发明还提供对应的视频通讯中动态调整编码帧率的系统,本发明能自适应调整编码帧率,同时满足视频图像质量与视频流畅性的要求。
Description
技术领域
本发明涉及视频通讯技术领域,特别是涉及一种视频通讯中动态调整编码帧率的方法,以及一种视频通讯中动态调整编码帧率的系统。
背景技术
在现有的即时通信(IM,Instant Messaging)应用中,视频通讯是一项常见的应用。
在实时视频通信中,网络带宽经常变化,网络环境不稳定会导致编码器的编码码率也会相应变化。当码率波动时如何选择一个最佳的编码帧率显得非常重要,目前的技术方案基本是采用经验值的方法,也就是根据当前码率查找预设的码表得到一个对应的编码帧率。
现有技术通过查找码表来获取帧率,其编码帧率是由当前码率唯一决定的,因此很难适应各种场景的变化。如果帧率设的过高,则编码图像会显得模糊,图像质量会下降,甚至造成码率溢出,出现网络拥塞;而如果帧率设的过低,则视频图像会出现卡顿现象,视频播放不流畅。
发明内容
基于此,本发明提供一种视频通讯中动态调整编码帧率的方法和系统,能自适应调整编码帧率,同时满足视频图像质量与视频流畅性的要求。
一种视频通讯中动态调整编码帧率的方法,包括如下步骤:
采集视频源序列;
提取所述视频源序列中视频图像的特征信息;
根据检测到的码率及所述特征信息,计算编码帧率并发送至编码器;其中,所述特征信息包括纹理特征和运动特征。
一种视频通讯中动态调整编码帧率的系统,包括:
采集模块,用于采集视频源序列;
提取模块,用于提取所述视频源序列中视频图像的特征信息;
计算模块,用于根据检测到的码率及所述特征信息,计算编码帧率并发送至编码器;其中,所述特征信息包括纹理特征和运动特征。
上述视频通讯中动态调整编码帧率的方法和系统,首先采集视频数据,得到视频源序列,通过检测视频源序列中多帧视频图像的纹理特征和运动特征,根据所述纹理特征和运动特征及检测到的编码码率,计算得到编码帧率发送给编码器,以供编码器对当前的视频源序列进行编码;本发明计算得到的编码帧率,同时考虑了视频图像内容的特征信息和当前的编码码率,实现了动态调整编码帧率,从而能获得视频图像质量与视频流畅度的最佳平衡。
附图说明
图1为本发明视频通讯中动态调整编码帧率方法在一实施例中的流程示意图。
图2为本发明视频通讯中动态调整编码帧率方法在一实施例中计算编码帧率的流程示意图。
图3为本发明视频通讯中动态调整编码帧率方法在一实施例中检测视频源序列中视频图像的特征信息的流程示意图。
图4为本发明视频通讯中动态调整编码帧率系统在一实施例中的结构示意图。
图5为本发明视频通讯中动态调整编码帧率系统在另一实施例中的结构示意图。
图6为本发明视频通讯中动态调整编码帧率系统在另一实施例中的结构示意图。
图7为本发明视频通讯中动态调整编码帧率系统在另一实施例中的结构示意图。
图8为本发明实施例的一个计算机系统1000的模块图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细说明,但本发明的实施方式不限于此。
如图1所示,是本发明视频通讯中动态调整编码帧率的方法在一实施例中的流程示意图,包括如下步骤:
S11、采集视频源序列;
S12、提取所述视频源序列中视频图像的特征信息;
S13、根据检测到的码率及所述特征信息,计算编码帧率并发送至编码器;其中,所述特征信息包括纹理特征和运动特征;
视频通讯中,两个或两个以上终端通过网络实现视频通讯;终端具有视频编码功能,每个终端采集本地视频数据,将视频数据进行编码后通过网络服务器转发给其他终端,其他终端接收后进行解码获得视频数据;上述的视频通讯中的终端,可包括移动终端、智能设备或计算机等不同类型的支持即时通讯应用的终端;多个不同类型的终端可同时进行视频通讯,不局限于同一类型的终端。
在本实施例中首先需要采集视频数据,得到视频源序列;接着从视频源序列中提取多帧视频图像的特征信息,提取出的特征信息能够有效表征当前视频图像的内容。
结合所述特征信息及检测到的编码码率,计算编码当前视频源序列的编码帧率;检测编码码率时,可通过与服务器建立网络连接,接收由服务器给定的根据当前网络状况确定的码率;
本实施例编码帧率的计算过程,可在视频源序列采集的过程中实时进行,也可根据一预设周期定时计算,计算得到结果则输出至编码器,编码器每次接收到该编码帧率时,则可根据最新接收到的编码帧率对当前采集的视频源序列进行编码。
视频图像的特征信息可包括颜色特征、纹理特征、形状特征、运动特征或轮廓特征等等;在视频通讯中,视频图像的纹理复杂度和运动剧烈程度对于视频图像质量和视频数据大小的影响较高,因此本实施例中提取的特征信息采用纹理信息和运动信息,根据这两类特征信息获得实时的编码帧率,以保证视频质量和视频流畅性的平衡。
本实施例在计算编码帧率时,同时考虑了视频图像内容的特征信息和编码码率,实现了动态调整编码帧率,从而能获得视频图像质量与视频流畅度的最佳平衡。
在一较佳实施例中,所述纹理特征可包括图像亮度信息,所述运动特征可包括运动矢量大小和运动矢量方向;通过提取图像亮度信息作为所述纹理特征、提取运动矢量大小和运动矢量方向作为所述运动特征,可有效提高图像特征提取速度;纹理特征与运动特征也可通过从图像中提取其他信息作为表征,具体可根据需要而选择合适的图像特征数据。
在一较佳实施例中,所述根据检测到的码率及所述特征信息,计算编码帧率并发送至编码器的步骤可包括:
S21、根据预设的参数调整模型,通过下式计算模型参数:
其中,为所述模型参数,A为所述参数调整模型,所述参数调整模型包含多
个预设的所述模型参数与所述图像亮度信息、运动矢量大小及运动矢量方向的相关性系
数,μFD为所述图像亮度信息,σMVM为所述运动矢量大小,σMDA为所述运动矢量方向;
S22、将所述模型参数输入预设的码率模型和图像质量模型,得到图像质量值最大的帧率作为所述编码帧率并发送至编码器;
其中,所述码率模型为所述图像质量模型为R(q,t)为所述检测到的码率,Q(q,t)为所述图像质量值,qmin为预设的最小量化步长,tmax为预设的最大可用帧率,q为量化步长,t为所述帧率,Qmax为预设的量化步长为qmin、帧率为tmax时对应的图像质量值。
本实施例中涉及了两个模型:
码率模型为:其表征了在给定编码帧率(t)和量化步长(q)的情况下,编码当前图像序列需要的码率。
其中,qmin为预设的最小量化步长,tmax为预设的最大可用帧率;
Rmax为编码当前视频图像需要的最大码率,所述的最大码率并不是指编码码率不能超过该值,而是指当编码码率超出该值的时候,图像质量不会再有明显提升;例如,在H.264编码中,当量化步长低于24的时候,继续降低量化步长对提高图像质量的作用较小,因此可预设量化步长为24时对应的编码码率为所述编码当前视频图像需要的最大码率;在该码率模型中,Rmax即为量化步长为qmin、编码帧率为tmax时对应的编码码率;
参数a和b表征了R(q,t)对q和t变化的敏感程度;参数a越大,q增加时码率下降越快;参数b越大,帧率下降时,码率下降越快;a和b是与视频图像内容相关的参数,即参数a和b与图像特征信息具有相关性;其中,视频图像的纹理越复杂,a越大;视频图像的运动越剧烈,b越大。
另一个是图像质量模型:
其建立了图像质量与图像特征信息之间的关系,表征了当编码帧率为t、量化步长为q时,当前图像的MOS(Mean Opinion Score,平均意见值)值的大小。
其中,Q(q,t)为量化步长为q、编码帧率为t时对应的图像质量值;
Qmax为图像的最大MOS值,也即是量化步长为qmin、编码帧率为tmax时对应的MOS值;当量化步长低于qmin、编码帧率高于tmax的时候,即使再继续降低量化系数或者提高帧率,图像质量也不会有明显提升;因此,qmin、tmax对应的MOS值为最大MOS值;
参数αq和αt表征了Q(q,t)对q和t变化的敏感程度;参数αq越大,q增加时质量下降越快;参数αt越小,帧率下降时,质量下降越快;αq和αt也是与视频图像内容相关的参数,因此参数αq和αt与图像特征信息也具有相关性。
因此,计算编码帧率就是在上述码率模型和图像质量模型中选择qopt和topt,使得Q(qopt,topt)最大,也即是在检查到给定的编码码率R0下选择最佳编码帧率t,使得在满足R(q,t)<R0的条件下,Q(q,t)达到最大。
其中,a、b、Rmax、αq和αt是与视频图像的特征信息具有相关关系的参数,可通过提取到的视频图像的特征信息而确定;
因此,根据预设的参数调整模型,可通过下式计算模型参数:
其中,为所述模型参数,A为所述参数调整模型,所述参数调整模型包含多
个预设的所述模型参数与所述图像亮度信息、运动矢量大小及运动矢量方向的相关性系
数,μFD为所述图像亮度信息,σMVM为所述运动矢量大小,σMDA为所述运动矢量方向;
本实施例中,可预先对已知编码码率和编码帧率的视频图像样本进行统计分析,
计算得到多组包含模型参数及图像亮度信息、运动矢量大小及运动矢量方向的数据,
再进行相关性分析,得到所述参数调整模型,参数调整模型中包括多个元素,各个元素分别
为所述模型参数与图像亮度信息、运动矢量大小及运动矢量方向的相关性系数;参数调整
模型中各相关性系数的个数可根据实际操作中样本的个数和精确度需求而选择。
如下式所示,示出了参数调整模型的一个例子:
本实施例的参数调整模型为矩阵,矩阵中包括多个元素:
即为所述模型参数与图像亮度信息、运动矢
量大小及运动矢量方向的相关性系数。
在获得上述模型参数后,将模型参数输入至码率模型:
令R(q,t)为所述检测到的码率,码率模型中包含了一个未知变量:编码帧率t;结合图像质量模型则可得到图像质量值最大的帧率,作为所述编码帧率;
具体的,在计算编码帧率时,可将码率模型做如下变换,得到下式:
再将该式代入到图像质量模型中,通过求解,即可通过找到最佳编码帧率;
计算的过程比较复杂,而可选帧率都是离散、有限的,因此,也通过遍历的方式,从一较小的帧率逐步递增到预设的最大可用帧率tmax,依次计算每个帧率下的Q(q,t)值,选择Q(q,t)最大时对应帧率作为编码帧率,可使计算过程更加简单,提高处理速度。
具体的,上述遍历的过程可如下表示:
在一较佳实施例中,所述检测所述视频源序列中视频图像的特征信息的步骤包括:
读取预设帧数的视频图像,检测每帧视频图像的平均亮度值,通过下列公式计算所述图像亮度信息:
其中,μFD为所述图像亮度信息;
FD(k)=fk-fk-1,fk和fk-1分别为第k帧视频图像的平均亮度值和第k-1帧视频图像的平均亮度值;N为所述预设帧数;
表示N帧视频图像的平均亮度值;
本实施例通过检测每帧视频图像的平均亮度值,再对多帧视频图像的平均亮度值取平均值,能精确并快速地检测出当前视频源序列的纹理特征信息。
在一较佳实施例中,如图3所示,所述检测所述视频源序列中视频图像的特征信息的步骤可包括:
S31、读取预设帧数的视频图像,检测每帧视频图像中预设宏块的运动信息;
S32、根据所述视频图像中预设宏块的运动信息,通过下列公式计算所述运动矢量大小:
其中,σMVM为所述运动矢量大小;
表示第k帧视频图像的运动矢量大小,m为所述第k帧视频图像中预设宏块的个数;
表示为第k帧视频图像中第(i,j)个所述宏块的运动矢量大小,mvxk(i,j)和mvyk(i,j)分别为第k帧中第(i,j)个所述宏块的水平分量和垂直分量;
表示对N帧视频图像的运动矢量大小的方差取平均值;
S33、根据所述视频图像中预设宏块的运动信息,通过下列公式计算所述运动矢量方向:
其中,σMDA为所述运动矢量方向;
表示第k帧视频图像的运动矢量方向;
MDAk(i,j)=arctan(mvyk(i,j)/mvxk(i,j)),表示第k帧视频图像中第(i,j)个所述宏块的运动矢量方向;
本实施例通过检测每帧视频图像中宏块的运动矢量数据,再对多帧视频图像的运动矢量数据取方差,能精确并快速地检测出当前视频源序列的运动特征信息。
如图4所示,是本发明一种视频通讯中动态调整编码帧率的系统在一实施例中的结构示意图,包括:
采集模块41,用于采集视频源序列;
提取模块42,用于提取所述视频源序列中视频图像的特征信息;
计算模块43,用于根据检测到的码率及所述特征信息,计算编码帧率并发送至编码器;其中,所述特征信息包括纹理特征和运动特征;
视频通讯中,两个或两个以上终端通过网络实现视频通讯;终端具有视频编码功能,每个终端采集本地视频数据,将视频数据进行编码后通过网络服务器转发给其他终端,其他终端接收后进行解码获得视频数据;上述的视频通讯中的终端,可包括移动终端、智能设备或计算机等不同类型的支持即时通讯应用的终端;多个不同类型的终端可同时进行视频通讯,不局限于同一类型的终端。
在本实施例中首先需要采集视频数据,得到视频源序列;接着从视频源序列中提取多帧视频图像的特征信息,提取出的特征信息能够有效表征当前视频图像的内容。
结合所述特征信息及检测到的编码码率,计算编码当前视频源序列的编码帧率;检测编码码率时,可通过与服务器建立网络连接,接收由服务器给定的根据当前网络状况确定的码率;
本实施例编码帧率的计算过程,可在视频源序列采集的过程中实时进行,也可根据一预设周期定时计算,计算得到结果则输出至编码器,编码器每次接收到该编码帧率时,则可根据最新接收到的编码帧率对当前采集的视频源序列进行编码。
视频图像的特征信息可包括颜色特征、纹理特征、形状特征、运动特征或轮廓特征等等;在视频通讯中,视频图像的纹理复杂度和运动剧烈程度对于视频图像质量和视频数据大小的影响较高,因此本实施例中提取的特征信息采用纹理信息和运动信息,根据这两类特征信息获得实时的编码帧率,以保证视频质量和视频流畅性的平衡。
本实施例在计算编码帧率时,同时考虑了视频图像内容的特征信息和编码码率,实现了动态调整编码帧率,从而能获得视频图像质量与视频流畅度的最佳平衡。
在一较佳实施例中,所述纹理特征可包括图像亮度信息,所述运动特征可包括运动矢量大小和运动矢量方向;通过提取图像亮度信息作为所述纹理特征、提取运动矢量大小和运动矢量方向作为所述运动特征,可有效提高图像特征提取速度;纹理特征与运动特征也可通过从图像中提取其他信息作为表征,具体可根据需要而选择合适的图像特征数据。
在一较佳实施例中,如图5所示,所述计算模块43还可包括:
模型参数计算模块51,用于根据预设的参数调整模型,通过下式计算模型参数:
其中,为所述模型参数,A为所述参数调整模型,所述参数调整模型包含多
个预设的所述模型参数与所述图像亮度信息、运动矢量大小及运动矢量方向的相关性系
数,μFD为所述图像亮度信息,σMVM为所述运动矢量大小,σMDA为所述运动矢量方向;
输入模块52,用于将所述模型参数输入预设的码率模型和图像质量模型,得到图像质量值最大的帧率作为所述编码帧率并发送至编码器;
其中,所述码率模型为所述图像质量模型为R(q,t)为所述检测到的码率,Q(q,t)为所述图像质量值,qmin为预设的最小量化步长,tmax为预设的最大可用帧率,q为量化步长,t为所述帧率,Qmax为预设的量化步长为qmin、编码帧率为tmax时对应的图像质量值。
本实施例中涉及了两个模型:
码率模型为:其表征了在给定编码帧率(t)和量化步长(q)的情况下,编码当前图像序列需要的码率。
其中,qmin为预设的最小量化步长,tmax为预设的最大可用帧率;
Rmax为编码当前视频图像需要的最大码率,所述的最大码率并不是指编码码率不能超过该值,而是指当编码码率超出该值的时候,图像质量不会再有明显提升;例如,在H.264编码中,当量化步长低于24的时候,继续降低量化步长对提高图像质量的作用较小,因此可预设量化步长为24时对应的编码码率为所述编码当前视频图像需要的最大码率;在该码率模型中,Rmax即为量化步长为qmin、编码帧率为tmax时对应的编码码率;
参数a和b表征了R(q,t)对q和t变化的敏感程度;参数a越大,q增加时码率下降越快;参数b越大,帧率下降时,码率下降越快;a和b是与视频图像内容相关的参数,即参数a和b与图像特征信息具有相关性;其中,视频图像的纹理越复杂,a越大;视频图像的运动越剧烈,b越大。
另一个是图像质量模型:
其建立了图像质量与图像特征信息之间的关系,表征了当编码帧率为t、量化步长为q时,当前图像的MOS(Mean Opinion Score,平均意见值)值的大小。
其中,Q(q,t)为量化步长为q、编码帧率为t时对应的图像质量值;
Qmax为图像的最大MOS值,也即是量化步长为qmin、编码帧率为tmax时对应的MOS值;当量化步长低于qmin、编码帧率高于tmax的时候,即使再继续降低量化系数或者提高帧率,图像质量也不会有明显提升;因此,qmin、tmax对应的MOS值为最大MOS值;
参数αq和αt表征了Q(q,t)对q和t变化的敏感程度;参数αq越大,q增加时质量下降越快;参数αt越小,帧率下降时,质量下降越快;αq和αt也是与视频图像内容相关的参数,因此参数αq和αt与图像特征信息也具有相关性。
因此,计算编码帧率就是在上述码率模型和图像质量模型中选择qopt和topt,使得Q(qopt,topt)最大,也即是在检查到给定的编码码率R0下选择最佳编码帧率t,使得在满足R(q,t)<R0的条件下,Q(q,t)达到最大。
其中,a、b、Rmax、αq和αt是与视频图像的特征信息具有相关关系的参数,可通过提取到的视频图像的特征信息而确定;
因此,根据预设的参数调整模型,可通过下式计算模型参数:
其中,为所述模型参数,A为所述参数调整模型,所述参数调整模型包含多
个预设的所述模型参数与所述图像亮度信息、运动矢量大小及运动矢量方向的相关性系
数,μFD为所述图像亮度信息,σMVM为所述运动矢量大小,σMDA为所述运动矢量方向;
本实施例中,可预先对已知编码码率和编码帧率的视频图像样本进行统计分析,
计算得到多组包含模型参数及图像亮度信息、运动矢量大小及运动矢量方向的数
据,再进行相关性分析,得到所述参数调整模型,参数调整模型中包括多个元素,各个元素
分别为所述模型参数与图像亮度信息、运动矢量大小及运动矢量方向的相关性系数;参数
调整模型中各相关性系数的个数可根据实际操作中样本的个数和精确度需求而选择。
如下式所示,示出了参数调整模型的一个例子:
本实施例的参数调整模型为矩阵,矩阵中包括多个元素:
即为所述模型参数与图像亮度信息、运动矢
量大小及运动矢量方向的相关性系数。
在获得上述模型参数后,将模型参数输入至码率模型:
令R(q,t)为所述检测到的码率,码率模型中包含了一个未知变量:编码帧率t;结合图像质量模型则可得到图像质量值最大的帧率,作为所述编码帧率;
在计算编码帧率时,可将码率模型做如下变换,得到下式:
再将该式代入到图像质量模型中,通过求解,即可通过找到最佳编码帧率topt;
计算的过程比较复杂,而可选帧率都是离散、有限的,因此,也通过遍历的方式,依次计算每个帧率下的Q(q,t)值,选择Q(q,t)最大时的帧率作为编码帧率,可使计算过程更加简单,提高处理速度;
具体的,上述遍历的过程可如下表示:
在一较佳实施例中,所述提取模块42可包括亮度信息提取模块61,用于读取预设帧数的视频图像,检测每帧视频图像的平均亮度值,通过下列公式计算所述图像亮度信息:
其中,μFD为所述图像亮度信息;
FD(k)=fk-fk-1,fk和fk-1分别为第k帧视频图像的平均亮度值和第k-1帧视频图像的平均亮度值;N为所述预设帧数;
表示N帧视频图像的平均亮度值;
本实施例通过检测每帧视频图像的平均亮度值,再对多帧视频图像的平均亮度值取平均值,能精确并快速地检测出当前视频源序列的纹理特征信息。
在一较佳实施例中,所述提取模块42还可包括:
检测模块71,用于读取预设帧数的视频图像,检测每帧视频图像中预设宏块的运动信息;
模块72,用于根据所述视频图像中预设宏块的运动信息,通过下列公式计算所述运动矢量大小:
其中,σMVM为所述运动矢量大小;
表示第k帧视频图像的运动矢量大小,m为所述第k帧视频图像中预设宏块的个数;
表示为第k帧视频图像中第(i,j)个所述宏块的运动矢量大小,mvxk(i,j)和mvyk(i,j)分别为第k帧中第(i,j)个所述宏块的水平分量和垂直分量;
表示对N帧视频图像的运动矢量大小的方差取平均值;
运动矢量方向计算模块73,用于根据所述视频图像中预设宏块的运动信息,通过下列公式计算所述运动矢量方向:
其中,σMDA为所述运动矢量方向;
表示第k帧视频图像的运动矢量方向;
MDAk(i,j)=arctan(mvyk(i,j)/mvxk(i,j)),表示第k帧视频图像中第(i,j)个所述宏块的运动矢量方向;
本实施例通过检测每帧视频图像中宏块的运动矢量数据,再对多帧视频图像的运动矢量数据取方差,能精确并快速地检测出当前视频源序列的运动特征信息。
本发明视频通讯中动态调整编码帧率的方法和系统,首先采集视频数据,得到视频源序列,通过检测视频源序列中多帧视频图像的纹理特征和运动特征,根据所述纹理特征和运动特征及检测到的编码码率,计算得到编码帧率发送给编码器,以供编码器对当前的视频源序列进行编码;本发明计算得到的编码帧率,同时考虑了视频图像内容的特征信息和当前的编码码率,实现了动态调整编码帧率,从而能获得视频图像质量与视频流畅度的最佳平衡。
本发明中的步骤虽然用标号进行了排列,但并不用于限定步骤的先后次序,除非明确说明了步骤的次序或者某步骤的执行需要其他步骤作为基础,否则步骤的相对次序是可以调整的。可以理解,本文中所使用的术语“和/或”涉及且涵盖相关联的所列项目中的一者或一者以上的任何和所有可能的组合。
图8为能实现本发明实施例的一个计算机系统1000的模块图。该计算机系统1000只是一个适用于本发明的计算机环境的示例,不能认为是提出了对本发明的使用范围的任何限制。计算机系统1000也不能解释为需要依赖于或具有图示的示例性的计算机系统1000中的一个或多个部件的组合。
图8中示出的计算机系统1000是一个适合用于本发明的计算机系统的例子。具有不同子系统配置的其它架构也可以使用。例如有大众所熟知的台式机、笔记本、个人数字助理、智能电话、平板电脑等类似设备可以适用于本发明的一些实施例。但不限于以上所列举的设备。
如图8所示,计算机系统1000包括处理器1010、存储器1020和系统总线1022。包括存储器1020和处理器1010在内的各种系统组件连接到系统总线1022上。处理器1010是一个用来通过计算机系统中基本的算术和逻辑运算来执行计算机程序指令的硬件。存储器1020是一个用于临时或永久性存储计算程序或数据(例如,程序状态信息)的物理设备。系统总线1020可以为以下几种类型的总线结构中的任意一种,包括存储器总线或存储控制器、外设总线和局部总线。处理器1010和存储器1020可以通过系统总线1022进行数据通信。其中存储器1020包括只读存储器(ROM)或闪存(图中都未示出),以及随机存取存储器(RAM),RAM通常是指加载了操作系统和应用程序的主存储器。
计算机系统1000还包括显示接口1030(例如,图形处理单元)、显示设备1040(例如,液晶显示器)、音频接口1050(例如,声卡)以及音频设备1060(例如,扬声器)。显示设备1040和音频设备1060是用于体验多媒体内容的媒体设备。
计算机系统1000一般包括一个存储设备1070。存储设备1070可以从多种计算机可读介质中选择,计算机可读介质是指可以通过计算机系统1000访问的任何可利用的介质,包括移动的和固定的两种介质。例如,计算机可读介质包括但不限于,闪速存储器(微型SD卡),CD-ROM,数字通用光盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁存储设备,或者可用于存储所需信息并可由计算机系统1000访问的任何其它介质。
计算机系统1000还包括输入装置1080和输入接口1090(例如,IO控制器)。用户可以通过输入装置1080,如键盘、鼠标、显示装置1040上的触摸面板设备,输入指令和信息到计算机系统1000中。输入装置1080通常是通过输入接口1090连接到系统总线1022上的,但也可以通过其它接口或总线结构相连接,如通用串行总线(USB)。
计算机系统1000可在网络环境中与一个或者多个网络设备进行逻辑连接。网络设备可以是个人电脑、服务器、路由器、智能电话、平板电脑或者其它公共网络节点。计算机系统1000通过局域网(LAN)接口1100或者移动通信单元1110与网络设备相连接。局域网(LAN)是指在有限区域内,例如家庭、学校、计算机实验室、或者使用网络媒体的办公楼,互联组成的计算机网络。WiFi和双绞线布线以太网是最常用的构建局域网的两种技术。WiFi是一种能使计算机系统1000间交换数据或通过无线电波连接到无线网络的技术。移动通信单元1110能在一个广阔的地理区域内移动的同时通过无线电通信线路接听和拨打电话。除了通话以外,移动通信单元1110也支持在提供移动数据服务的2G,3G或4G蜂窝通信系统中进行互联网访问。
应当指出的是,其它包括比计算机系统1000更多或更少的子系统的计算机系统也能适用于发明。例如,计算机系统1000可以包括能在短距离内交换数据的蓝牙单元,用于照相或拍摄的图像传感器,以及用于采集语音的语音传感器等。
如上面详细描述的,适用于本发明的计算机系统1000能执行视频通讯中动态调整编码帧率的方法的指定操作。计算机系统1000通过处理器1010运行在计算机可读介质中的软件指令的形式来执行这些操作。这些软件指令可以从存储设备1070或者通过局域网接口1100从另一设备读入到存储器1020中。存储在存储器1020中的软件指令使得处理器1010执行上述的视频通讯中动态调整编码帧率的方法。此外,通过硬件电路或者硬件电路结合软件指令也能同样实现本发明。因此,实现本发明并不限于任何特定硬件电路和软件的组合。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种视频通讯中动态调整编码帧率的方法,其特征在于,包括如下步骤:
采集视频源序列;
提取所述视频源序列中视频图像的特征信息;
根据检测到的码率及所述特征信息,计算编码帧率并发送至编码器;其中,所述特征信息包括纹理特征和运动特征。
2.根据权利要求1所述的视频通讯中动态调整编码帧率的方法,其特征在于,所述纹理特征包括图像亮度信息,所述运动特征包括运动矢量大小和运动矢量方向。
3.根据权利要求2所述的视频通讯中动态调整编码帧率的方法,其特征在于,所述根据检测到的码率及所述特征信息,计算编码帧率并发送至编码器的步骤包括:
根据预设的参数调整模型,通过下式计算模型参数:
其中,为所述模型参数,A为所述参数调整模型,所述参数调整模型包含多个预
设的所述模型参数与所述图像亮度信息、运动矢量大小及运动矢量方向的相关性系数,μFD
为所述图像亮度信息,σMVM为所述运动矢量大小,σMDA为所述运动矢量方向;
将所述模型参数输入预设的码率模型和图像质量模型,得到图像质量值最大的帧率作为所述编码帧率并发送至编码器;
其中,所述码率模型为所述图像质量模型为R(q,t)为所述检测到的码率,Q(q,t)为所述图像质量值,qmin为预设的最小量化步长,tmax为预设的最大可用帧率,q为量化步长,t为编码帧率,Qmax为预设的量化步长为qmin、编码帧率为tmax时对应的图像质量值。
4.根据权利要求3所述的视频通讯中动态调整编码帧率的方法,其特征在于,所述提取所述视频源序列中视频图像的特征信息的步骤包括:
读取预设帧数的视频图像,检测每帧视频图像的平均亮度值,通过下列公式计算所述图像亮度信息:
其中,μFD为所述图像亮度信息;
FD(k)=fk-fk-1,fk和fk-1分别为第k帧视频图像的平均亮度值和第k-1帧视频图像的平均亮度值;N为所述预设帧数;
表示N帧视频图像的平均亮度值。
5.根据权利要求3所述的视频通讯中动态调整编码帧率的方法,其特征在于,所述提取所述视频源序列中视频图像的特征信息的步骤包括:
读取预设帧数的视频图像,检测每帧视频图像中预设宏块的运动信息;
根据所述视频图像中预设宏块的运动信息,通过下列公式计算所述运动矢量大小:
其中,σMVM为所述运动矢量大小;
表示第k帧视频图像的运动矢量大小,m为所述第k帧视频图像中预设宏块的个数;
表示为第k帧视频图像中第(i,j)个所述宏块的运动矢量大小,mvxk(i,j)和mvyk(i,j)分别为第k帧中第(i,j)个所述宏块的水平分量和垂直分量;
表示对N帧视频图像的运动矢量大小的方差取平均值;
根据所述视频图像中预设宏块的运动信息,通过下列公式计算所述运动矢量方向:
其中,σMDA为所述运动矢量方向;
表示第k帧视频图像的运动矢量方向;
MDAk(i,j)=arctan(mvyk(i,j)/mvxk(i,j)),表示第k帧视频图像中第(i,j)个所述宏块的运动矢量方向。
6.一种视频通讯中动态调整编码帧率的系统,其特征在于,包括:
采集模块,用于采集视频源序列;
提取模块,用于提取所述视频源序列中视频图像的特征信息;
计算模块,用于根据检测到的码率及所述特征信息,计算编码帧率并发送至编码器;其中,所述特征信息包括纹理特征和运动特征。
7.根据权利要求6所述的视频通讯中动态调整编码帧率的系统,其特征在于,所述纹理特征包括图像亮度信息,所述运动特征包括运动矢量大小和运动矢量方向。
8.根据权利要求7所述的视频通讯中动态调整编码帧率的系统,其特征在于,所述计算模块还包括:
模型参数计算模块,用于根据预设的参数调整模型,通过下式计算模型参数:
其中,为所述模型参数,A为所述参数调整模型,所述参数调整模型包含多个预
设的所述模型参数与所述图像亮度信息、运动矢量大小及运动矢量方向的相关性系数,μFD
为所述图像亮度信息,σMVM为所述运动矢量大小,σMDA为所述运动矢量方向;
输入模块,用于将所述模型参数输入预设的码率模型和图像质量模型,得到图像质量值最大的帧率作为所述编码帧率并发送至编码器;
其中,所述码率模型为所述图像质量模型为R(q,t)为所述检测到的码率,Q(q,t)为所述图像质量值,qmin为预设的最小量化步长,tmax为预设的最大可用帧率,q为量化步长,t为编码帧率,Qmax为预设的量化步长为qmin、编码帧率为tmax时对应的图像质量值。
9.根据权利要求8所述的视频通讯中动态调整编码帧率的系统,其特征在于,所述提取模块包括亮度信息提取模块,用于读取预设帧数的视频图像,检测每帧视频图像的平均亮度值,通过下列公式计算所述图像亮度信息:
其中,μFD为所述图像亮度信息;
FD(k)=fk-fk-1,fk和fk-1分别为第k帧视频图像的平均亮度值和第k-1帧视频图像的平均亮度值;N为所述预设帧数;
表示N帧视频图像的平均亮度值。
10.根据权利要求8所述的视频通讯中动态调整编码帧率的系统,其特征在于,所述提取模块包括:
检测模块,用于读取预设帧数的视频图像,检测每帧视频图像中预设宏块的运动信息;
运动矢量大小计算模块,用于根据所述视频图像中预设宏块的运动信息,通过下列公式计算所述运动矢量大小:
其中,σMVM为所述运动矢量大小;
表示第k帧视频图像的运动矢量大小,m为所述第k帧视频图像中预设宏块的个数;
表示为第k帧视频图像中第(i,j)个所述宏块的运动矢量大小,mvxk(i,j)和mvyk(i,j)分别为第k帧中第(i,j)个所述宏块的水平分量和垂直分量;
表示对N帧视频图像的运动矢量大小的方差取平均值;
运动矢量方向计算模块,用于根据所述视频图像中预设宏块的运动信息,通过下列公式计算所述运动矢量方向:
其中,σMDA为所述运动矢量方向;
表示第k帧视频图像的运动矢量方向;
MDAk(i,j)=arctan(mvyk(i,j)/mvxk(i,j)),表示第k帧视频图像中第(i,j)个所述宏块的运动矢量方向。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410290252.2A CN105208388B (zh) | 2014-06-24 | 2014-06-24 | 视频通讯中动态调整编码帧率的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410290252.2A CN105208388B (zh) | 2014-06-24 | 2014-06-24 | 视频通讯中动态调整编码帧率的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105208388A CN105208388A (zh) | 2015-12-30 |
CN105208388B true CN105208388B (zh) | 2019-03-05 |
Family
ID=54955776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410290252.2A Active CN105208388B (zh) | 2014-06-24 | 2014-06-24 | 视频通讯中动态调整编码帧率的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105208388B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107493478B (zh) * | 2017-09-01 | 2020-04-14 | 广州市百果园网络科技有限公司 | 编码帧率设置方法及设备 |
CN110650320B (zh) * | 2019-10-23 | 2021-11-02 | 海能达通信股份有限公司 | 动态帧率存储方法及装置、监控设备 |
CN111385637B (zh) * | 2020-03-18 | 2022-05-20 | Oppo广东移动通信有限公司 | 媒体数据编码方法、装置及电子设备 |
CN112351254A (zh) * | 2020-10-30 | 2021-02-09 | 重庆中星微人工智能芯片技术有限公司 | 监控视频编解码装置 |
CN112672149B (zh) * | 2020-12-15 | 2022-10-11 | 广州博冠信息科技有限公司 | 一种视频处理方法、装置、存储介质及服务器 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101552917A (zh) * | 2008-03-31 | 2009-10-07 | 深圳市融合视讯科技有限公司 | 一种视频压缩码率控制方法 |
CN101835040A (zh) * | 2010-03-17 | 2010-09-15 | 天津大学 | 数字视频来源取证方法 |
CN102780869A (zh) * | 2012-06-27 | 2012-11-14 | 宇龙计算机通信科技(深圳)有限公司 | 一种录像装置及方法 |
CN103096084A (zh) * | 2013-01-29 | 2013-05-08 | 海能达通信股份有限公司 | 一种无线传输中码率自适应调节的方法、装置及系统 |
CN103634594A (zh) * | 2012-08-21 | 2014-03-12 | 华为技术有限公司 | 一种获得视频编码压缩质量的方法及装置 |
-
2014
- 2014-06-24 CN CN201410290252.2A patent/CN105208388B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101552917A (zh) * | 2008-03-31 | 2009-10-07 | 深圳市融合视讯科技有限公司 | 一种视频压缩码率控制方法 |
CN101835040A (zh) * | 2010-03-17 | 2010-09-15 | 天津大学 | 数字视频来源取证方法 |
CN102780869A (zh) * | 2012-06-27 | 2012-11-14 | 宇龙计算机通信科技(深圳)有限公司 | 一种录像装置及方法 |
CN103634594A (zh) * | 2012-08-21 | 2014-03-12 | 华为技术有限公司 | 一种获得视频编码压缩质量的方法及装置 |
CN103096084A (zh) * | 2013-01-29 | 2013-05-08 | 海能达通信股份有限公司 | 一种无线传输中码率自适应调节的方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105208388A (zh) | 2015-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105208388B (zh) | 视频通讯中动态调整编码帧率的方法和系统 | |
CN111918066B (zh) | 视频编码方法、装置、设备及存储介质 | |
EP3606050A1 (en) | Video frame coding method, terminal, and storage medium | |
JP6026680B1 (ja) | 画像識別を行うための方法およびシステム | |
JP6109956B2 (ja) | ビデオコンテンツを前処理するエンコーダハードウェアの活用 | |
KR101620933B1 (ko) | 제스쳐 인식 메커니즘을 제공하는 방법 및 장치 | |
WO2017041551A1 (zh) | 基于spice协议的图像传输方法及装置 | |
WO2021129007A1 (zh) | 视频码率的确定方法、装置、计算机设备及存储介质 | |
TW201306601A (zh) | 基於圖框相似性及視覺品質及興趣之圖框編碼選擇 | |
CN109462759A (zh) | 用于视频编解码的编码码率确定方法 | |
CN110740316A (zh) | 数据编码方法及装置 | |
CN113490055A (zh) | 数据处理方法和装置 | |
US20140254688A1 (en) | Perceptual Quality Of Content In Video Collaboration | |
CN114913471B (zh) | 一种图像处理方法、装置和可读存储介质 | |
CN114374841B (zh) | 视频编码码率控制的优化方法、装置及电子设备 | |
WO2018153161A1 (zh) | 一种视频质量评价方法及装置、设备、存储介质 | |
CN116506665A (zh) | 自适应码率控制的vr串流方法、系统、装置及存储介质 | |
CN107493478B (zh) | 编码帧率设置方法及设备 | |
US20240098316A1 (en) | Video encoding method and apparatus, real-time communication method and apparatus, device, and storage medium | |
CN117768647A (zh) | 图像处理方法、装置、设备及可读存储介质 | |
WO2018192518A1 (zh) | 数据处理方法、装置及存储介质 | |
US12088817B2 (en) | Data coding method and apparatus, and computer-readable storage medium | |
CN106921840B (zh) | 一种即时视频中的人脸美化方法、设备及系统 | |
CN110855908A (zh) | 多方视频混屏方法、装置、网络设备及存储介质 | |
CN106254873B (zh) | 一种视频编码方法及视频编码装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |