基于视频通话场景的自适应视频编码方法及装置的制造方法

文档序号:9870840
基于视频通话场景的自适应视频编码方法及装置的制造方法
【技术领域】
[0001] 本发明涉及视频编码技术领域,特别涉及一种基于视频通话场景的自适应视频编 码方法及装置。
【背景技术】
[0002] 随着终端等智能移动通讯设备的普及和无线通讯网络的升级,利用终端进行视频 通话也成为了智能移动设备的较常见的应用。
[0003] 无线网络的信号和带宽是随着用户身处的环境的变化而不断变化的,同时用户自 身运动状态的变化也会造成无线网络的信号和带宽的相应变化,例如,用户在进行行走时 或者坐在颠鑛的汽车里与较平静坐在座位上,智能移动设备的视频画面的变化情况也是不 同的。
[0004] 顿率化rames Per Second)概念;一顿就是一副静止的画面,连续的顿就形成动 画,如电视图象等。视频序列由连续的顿图像组成,顿率是指每砂中包含的图像顿数,也可 W理解为图形处理器每砂钟进行刷新的次数,通常用巧S表示。每一顿都是静止的图象,快 速连续地显示顿便形成了运动的假象。顿率越高,每砂的顿图像数(巧S)越多,可W得到更 流畅、更逼真的动画,人眼感觉视频序列越流畅,视觉效果也越好。但是,顿率的提高会大大 增加需要传输的视频数据量,从而提高对网络信道带宽的要求,同时也要求用户终端设备 具有较强的处理能力和显示能力。
[0005] 码流值ata Rate)概念;是指视频文件在单位时间内使用的数据流量,也叫码率, 是他是视频编码中画面质量控制中最重要的部分。同样分辨率下,视频文件的码流越大,压 缩比就越小,画面质量就越高。
[0006] 视频分辨率概念;是指视频成像产品所成图像的大小或尺寸,在成像的两组数字 中,前者为图片长度,后者为图片的宽度,两者相乘得出的是图片的像素。
[0007] 最新的视频压缩编码标准是IS0/IEC的MPEG组织和口U-T的VCEG组织共同开发 的,比早期研发的MPEG和H. 263标准编码性能更好,命名为AVC,也被称为口U-T比264建 议和MPEG-4的第10部分的标准,通常简称H. 264/AVC或H. 264。比264视频压缩编码标准 的算法具有很高的编码效率,送是因为H. 264标准包括如下技术特点:
[0008] 1、分层设计,视频编码层具有高效的视频内容表示功能,网络提取层将网络中所 需要的数据进行打包和传送;
[0009] 2、高精度、多模式运动估计,支持1/4或1/8像素精度的运动矢量,多模式的灵活 和细致的划分,大提高了运动估计的精确程度,多顿参考技术;
[0010] 3、顿内预测功能,在空间域进行预测编码算法,W便取得更有效的压缩;
[0011] 4、4X4块的整数变换,由于用二变换块的尺寸缩小,运动物体的划分更精确,送样 不但变换计算量比较小,而且在运动物体边缘处的衔接误疾差也大为减小,为了提高码率 控制的能力,量化步长的变化的幅度控制在125%左右,而不是W不变的增幅变化。为了强 调彩色的逼真性,对色度系数采用了较小量化步长;
[0012] 5、统一的化C,为快速再同步而经过优化的,可W有效防止误码。
[0013] 视频通话质量的高低取决于在送些网络环境及画面情况不断变化的情景下能否 实现自适应地切换。目前,现有技术中的自适应切换方式通常仅单独依靠检测网络带宽的 变化来改变相应编码的顿率而实现,而无法根据网络环境和、视频画面的变化情况W及移 动状态下的抖动情况等多种因素来改变相应编码的分辨率及顿率。
[0014] 有鉴于此,针对现有技术中存在的不足,本领域亟需一种基于视频通话场景的自 适应视频编码方法及装置,能够针对不断变化的网络环境和视频画面内容,进行自适应视 频编码,从而实现较好的视频清晰度与流畅度。

【发明内容】

[0015] 本发明要解决的技术问题是针对不断变化的网络环境和视频画面内容,需要进行 自适应视频编码,W实现较好的视频清晰度与流畅度,提出一种基于视频通话场景的自适 应视频编码方法及装置。
[0016] 为了解决上述技术问题,本发明公开了一种基于视频通话场景的自适应视频编码 方法,包括:
[0017] 步骤101,在建立视频通话时,检测当前网络环境下的初始网络带宽,并设置与检 测到的网络带宽相匹配的初始编码分辨率和顿率进行视频编码;
[0018] 步骤102,当检测到网络环境变化时,进一步检测变化后的网络环境下的更新后的 网络带宽,根据更新后的网络带宽、更新前的网络带宽W及更新前正在编码的分辨率和顿 率来确定更新后的编码分辨率与顿率,根据更新后的编码分辨率与顿率进行随后的视频编 码;
[0019] 步骤103,根据检测出的之前一段时间的视频的平均误差,来自适应的调节此时的 编码分辨率与顿率,其中:
[0020] 所述之前一段时间的视频的平均误差是根据在基于当前分辨率与顿率进行编码 时,对应的网络带宽得到的一定时间间隔内的量化步长的均值;
[0021] 所述自适应的调节此时的编码分辨率与顿率是通过误差大于阔值则调降编码分 辨率与顿率,误差小于阔值则调升编码率与顿率。
[0022] 优选地,一定时间间隔内一般为3-6砂。
[0023] 进一步地,所述步骤101包括:
[0024] 步骤201,根据移动设备的CPU能力CPlLcapacity及所使用的编码器来设定视频 通话编码的分类等级层次,其中:所述CPlLcapacity包括主频及核数;
[00巧]步骤202,在启动视频通话时检测网络带宽与对端画面的宽高比,根据所获得的信 息设置适应于编码器的初始编码分辨率与顿率,其中:所获得的信息包括网络带宽和CPU 能力,并且所述CPU能力取各通讯端中能力最小者的值Vmin ;
[0026] 步骤203,根据得到的推荐分辨率W及对端屏幕的宽高比,裁剪出和对端宽高比接 近的分辨率进行编码。
[0027] 进一步地,所述步骤201包括:
[0028] 将运行苹果IOS操作系统的智能终端的CPU能力及所使用的经过优化的H. 264编 码器的分类层次按表一方式进行设置,
[0029] 将运行谷歌An化Oid操作系统的智能终端的CPU能力按表一方式映射到对应型号 的运行苹果IOS操作系统的智能终端的CPU能力,
[0030] 表一


5?
[0034] 进一步地,所述步骤202包括:
[0035] 按表二方式设置网络带宽及智能终端的CPU能力与推荐分辨率与顿率之间的对 应关系:
[0036] 表二
Cl'
[0038] 进一步地,所述步骤203包括:
[0039] 设各项参数如表H所示:
[0040] 表 H
[0041]
[0042] 确定宽高比的方法如下:
[0043] 女口果,recomm_width〉recomm_hei邑ht*tar邑et_aspect
[0044] 贝[I, new-width = recomm-hei邑ht*tar邑et-aspect
[0045] new_hei邑ht = recomm_hei邑ht
[0046] 否则,new_wi化h = recomm_width
[0047] new_hei邑ht = recomm-width/target-aspect
[004引如果上述计算得到的宽高不是16的整数倍,则裁剪为16的倍数。
[0049] 进一步地,所述步骤102包括:
[0050] 步骤204,当检测到网络带宽发生改变并超过阔值范围时,对编码的分辨率W及相 关的编码层级进行更新,W适应新的网络状况。
[0051] 进一步地,所述步骤204包括:
[0052] 按表四对编码层级进行分类 [00閲表四
[0054]
[0055] 设各项参数如表五所示:
[0056] 表五
[0057]
[0058]
[0059] 确定带宽的变化层级的方法如下:
[0060] bitrate_change_level = log(curr_bitrate/prev_bitrate)/log(2. 0)
[0061] 如果,bitrate_change_level〉0
[0062] 则,bitrate_change_level = bitrate_change_level*0. 8
[0063] 否则,bitrate_change_level = bitrate_change_level巧.0
[0064] 确定新的编码层级的方法如下:
[0065] curr_encoding_level = prev_encoding_level+bitrate_change_level
[0066] 在得到新的编码层级后,根据新得到的编码层级所对应的分辨率和顿率来进行编 码。
[0067] 进一步地,所述步骤103包括:
[0068] 步骤205,在网络状况没有变化,或者变化较小时,视频编码的层级仍根据视频画 面的情况不断自适应调节:
[0069] 计算视频编码在当前带宽所编码的分辨率与顿率时前3砂的量化值QP的平均值, 并进行如下判断:
[0070] 当平均值小于24时,编码层级州;r;r_encoding_level=prev_encoding_ level+1 ;
[0071] 当平均值大于 32 时,编码层级 curr_encoding_level 二 prev_encoding_level - 1 ;
[0072] 其中,当计算得到的编码层级curr_encoding_level大于10时,设置curr_ encoding-level 为 10 ;
[007引 当计算得到的编码层级州;r;r_encoding_level小于O时,最小设置州;r;r_ encoding-level 为 0。
[0074] 优选地,网络状况变化较小一般是指网络带宽相对于当前值的变化在10% W下。
[00巧]为了解决上述技术问题,本发明还公开了一种基于视频通话场景的自适应视频编 码装置,包括:
[0076] 检测模块、控制模块和编码模块,其中:
[0077] 所述检测模块,用于对网络情况及画面情况进行检测;
[0078] 所述控制模块,用于根据检测模块检测到的网络情况及画面情况对编码分辨率与 顿率进行计算;
[0079] 所述编码模块,根据控制模块计算出的编码分辨率与顿率对视频进行编码;
[0080] 其中:
[0081] 对于在特定网络环境下开启的视频通话,所述检测模块检测初始的带宽,所述控 制模块根据检测到的网络带宽设置一个初始的经验编码分辨率与顿率,
[0082] 当所述检测模块检测到网络情况发生改变时,所述控制模块根据所述检测模块新 检测得到的带宽及之前带宽所采用的视频编码分辨率与顿率,计算出一个新的编码分辨率 和顿率,所述编码模块根据新的编码分辨率和顿率来进行接下来的编码,
[0083] 所述检测模块检测出的之前一段时间的视频的平均误差,所述控制模块根据该平 均误差来自适应的调节此时的编码分辨率与顿率,误差大于阔值则调降编码分辨率与顿 率,误差小于阔值则调升编码率与顿率。
[0084] 进一步地,所述控制模块进一步根据移动设备的CPU能力及所使用的编码器来设 定视频通话编码的分类等级层次;在启动视频通话时,所述检测模块检测网络带宽与对端 画面的宽高比,所述控制模块根据所获得的信息设置适应于编码器的初始编码分辨率与顿 率,其中:所获得的信息包括网络带宽和CPU能力,并且所述CPU能力取各通讯端中能力最 小者的值Vmin ;所述控制模块根据得到的推荐分辨率W及对端的终端屏幕的宽高比,裁剪 出和对端宽高比接近的分辨率,编码模块根据该分辨率进行编码;当所述检测模块检测到 网络带宽发生改变并超过阔值范围时,所述控制模块对编码
再多了解一些
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1