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

文档序号:9870840阅读:来源:国知局
g_ level = 7 ;小米4的起始推荐分辨率为160x120,顿率为5,编码层级cu;r;r_encoding_level =4 ;由于IPH0NE4S要按照16:9编码,所W实际起始编码分辨率为240x144 ;小米4要按照 3:2编码,实际起始编码分辨率为160x108。
[0344] 第H步,由于在通话过程中,外部网络环境的变化,IPH0NE4S的网络是上传与下载 带宽分别变为156化ps/208化ps,小米4上传与下载带宽分别变为96化ps/120化PS ;郝么 IPH0NE4S的编码带宽也变为不能超过120化PS (IPH0NE4S上传带宽与小米4下载带宽的较 小者),小米4的编码带宽变为不能超过96化PS (IPH0NE4S下载带宽与小米4上传带宽的较 小者);
[0345] 根据计算带宽的变化层级的公式计算IPH0NE4S的bitrate_change_level =0.8*log(120/64)/log(2. 0) = 0.73<1,计算小米 4 的 bitrate_change_level = 0. 8*log巧6/32)/log(2. 0) = 1. 27<2 ;所W IPH0NE4S不需要提升编码的层级,不改变分辨 率与顿率;而小米4编码层级需要提升一个档次,curr_encoding_level = 5,分辨率变为 160x108,顿率变为9。
[0346] 第四步,由于视频通话中的小米4用户都从行走的状态变为稳定的坐在座位上, 虽然网络情况没有变化,但是画面变得稳定;在3砂后,统计得到小米4用户的H. 264编 码的平均QP小于24,编码层级提升一档curr_encoding_level = 5,分辨率被自动调整为 160x108,顿率变为9 ;再过3砂,发现小米4用户统计得到H. 264编码的平均QP仍然小于 24,编码层级再提升一档curr_encoding_level = 6,于是再次调整分辨率到240x160 ;之后 一直稳定到通话结束。
[0347] 本技术领域技术人员可W理解,本发明可W涉及用于执行本申请中所述操作中的 一项或多项操作的设备。所述设备可W为所需的目的而专口设计和制造,或者也可W包括 通用计算机中的已知设备,所述通用计算机有存储在其内的程序选择性地激活或重构。送 样的计算机程序可W被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子 指令并分别禪联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型 的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、随即存储器(RAM)、只读存储器(ROM)、 电可编程ROM、电可擦ROM(EPROM)、电可擦除可编程ROM巧EPROM)、闪存、磁性卡片或光线卡 片。可读介质包括用于W由设备(例如,计算机)可读的形式存储或传输信息的任何机构。 例如,可读介质包括随即存储器(RAM)、只读存储器(ROM)、磁盘存储介质、光学存储介质、 闪存装置、W电的、光的、声的或其他的形式传播的信号(例如载波、红外信号、数字信号) 等。
[034引本技术领域技术人员可W理解,可W用计算机程序指令来实现送些结构图和/或 框图和/或流图中的每个框W及送些结构图和/或框图和/或流图中的框的组合。可W将 送些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器 来生成机器,从而通过计算机或其他可编程数据处理方法的处理器来执行的指令创建了用 于实现结构图和/或框图和/或流图的框或多个框中指定的方法。
[0349] 本技术领域技术人员可W理解,本发明中已经讨论过的各种操作、方法、流程中的 步骤、措施、方案可W被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各 种操作、方法、流程中的其他步骤、措施、方案也可W被交替、更改、重排、分解、组合或删除。 进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案 也可W被交替、更改、重排、分解、组合或删除。
[0350] W上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人 员来说,在不脱离本发明原理的前提下,还可W做出若干改进和润饰,送些改进和润饰也应 视为本发明的保护范围。
【主权项】
1. 一种基于视频通话场景的自适应视频编码方法,其特征在于,包括: 步骤101,在建立视频通话时,检测当前网络环境下的初始网络带宽,并设置与检测到 的网络带宽相匹配的初始编码分辨率和帧率进行视频编码; 步骤102,当检测到网络环境变化时,进一步检测变化后的网络环境下的更新后的网络 带宽,根据更新后的网络带宽、更新前的网络带宽以及更新前正在编码的分辨率和帧率来 确定更新后的编码分辨率与帧率,根据更新后的编码分辨率与帧率进行随后的视频编码; 步骤103,根据检测出的之前一段时间的视频的平均误差,来自适应的调节此时的编码 分辨率与帧率,其中: 所述之前一段时间的视频的平均误差是根据在基于当前分辨率与帧率进行编码时,对 应的网络带宽得到的一定时间间隔内的量化步长的均值; 所述自适应的调节此时的编码分辨率与帧率是通过误差大于阈值则调降编码分辨率 与帧率,误差小于阈值则调升编码率与帧率。2. 根据权利要求1所述的方法,其特征在于,所述步骤101进一步包括: 步骤201,根据移动设备的CPU能力及所使用的编码器来设定视频通话编码的分类等 级层次,其中:所述CPU能力包括主频及核数; 步骤202,在启动视频通话时检测网络带宽与对端画面的宽高比,根据所获得的信息设 置适应于编码器的初始编码分辨率与帧率,其中:所获得的信息包括网络带宽和CPU能力, 并且所述CPU能力取各通讯端中能力最小者的值Vmin ; 步骤203,根据得到的推荐分辨率以及对端屏幕的宽高比,裁剪出和对端宽高比接近的 分辨率进行编码。3. 根据权利要求2所述的方法,其特征在于,所述步骤201进一步包括: 将运行苹果IOS操作系统的智能终端的CPU能力及所使用的经过优化的H. 264编码器 的分类层次按表一方式进行设置, 将运行谷歌Android操作系统的智能终端的CPU能力按表一方式映射到对应型号的运 行苹果I0S操作系统的智能终端的CPU能力, 表一4. 根据权利要求3所述的方法,其特征在于,所述步骤202进一步包括: 按表二方式设置网络带宽及智能终端的CPU能力与推荐分辨率与帧率之间的对应关 系: 表一5. 根据权利要求3所述的方法,其特征在于,所述步骤203进一步包括:设各项参数如 表三所示: 表三确定宽高比的方法如下: 如果,recomm-width>recomm-height*target-aspect 则,new-width = recomm-height氺target-aspect new_height = recomm_height 否贝[I, new_width = recomm_width new_height = recomm_width/target_aspect 如果上述计算得到的宽高不是16的整数倍,则裁剪为16的倍数。6. 根据权利要求1所述的方法,其特征在于,所述步骤102进一步包括: 步骤204,当检测到网络带宽发生改变并超过阈值范围时,对编码的分辨率以及相关的 编码层级进行更新,以适应新的网络状况。7. 根据权利要求6所述的方法,其特征在于,所述步骤204进一步包括: 按表四对编码层级进行分类 表四设各项参数如表五所示: 表五确定带宽的变化层级的方法如下: bitrate_change_level = log(curr-bitrate/prev-bitrate)/log(2.0) 如果,bitrate-change-level>0 则,bitrate_change_level = bitrate_change_level*0· 8 否则,bitrate_change_level = bitrate_change_level*2. 0 确定新的编码层级的方法如下: curr_encoding_level = prev_encoding_level+bitrate_change_level 在得到新的编码层级后,根据新得到的编码层级所对应的分辨率和帧率来进行编码。8.根据权利要求7所述的方法,其特征在于,所述步骤103进一步包括: 步骤205,在网络状况没有变化,或者变化较小时,视频编码的层级仍根据视频画面的 情况不断自适应调节: 计算视频编码在当前带宽所编码的分辨率与帧率时前3秒的量化值QP的平均值,并进 行如下判断: 当平均值小于 24 时,编码层级 curr_encoding_level = prev_encoding_level+l ; 当平均值大于 32 时,编码层级 curr_encoding_level = prev_encoding_level - 1 ; 其中,当计算得到的编码层级curr_encoding_level大于10时,最大设置curr_ encoding-level 为 10 ; 当计算得到的编码层级curr_encoding_level小于0时,最小设置curr_encoding_ level 为 0〇9. 一种基于视频通话场景的自适应视频编码装置,其特征在于,包括: 检测模块、控制模块和编码模块,其中: 所述检测模块,用于对网络情况及画面情况进行检测; 所述控制模块,用于根据检测模块检测到的网络情况及画面情况对编码分辨率与帧率 进行计算; 所述编码模块,根据控制模块计算出的编码分辨率与帧率对视频进行编码; 其中: 对于在特定网络环境下开启的视频通话,所述检测模块检测初始的带宽,所述控制模 块根据检测到的网络带宽设置一个初始的经验编码分辨率与帧率, 当所述检测模块检测到网络情况发生改变时,所述控制模块根据所述检测模块新检测 得到的带宽及之前带宽所采用的视频编码分辨率与帧率,计算出一个新的编码分辨率和帧 率,所述编码模块根据新的编码分辨率和帧率来进行接下来的编码, 所述检测模块检测出的之前一段时间的视频的平均误差,所述控制模块根据该平均误 差来自适应的调节此时的编码分辨率与帧率,误差大于阈值则调降编码分辨率与帧率,误 差小于阈值则调升编码率与帧率。10. 根据权利要求9所述的装置,其特征在于,包括: 所述控制模块进一步根据移动设备的CPU能力及所使用的编码器来设定视频通话编 码的分类等级层次; 在启动视频通话时,所述检测模块检测网络带宽与对端画面的宽高比,所述控制模块 根据所获得的信息设置适应于编码器的初始编码分辨率与帧率,其中:所获得的信息包括 网络带宽和CPU能力,并且所述CPU能力取各通讯端中能力最小者的值Vmin ; 所述控制模块根据得到的推荐分辨率以及对端的终端屏幕的宽高比,裁剪出和对端宽 高比接近的分辨率,编码模块根据该分辨率进行编码; 当所述检测模块检测到网络带宽发生改变并超过阈值范围时,所述控制模块对编码的 分辨率以及相关的编码层级进行更新,以适应新的网络状况,在网络状况没有变化,或者变 化较小时,所述控制模块根据视频画面的情况对视频编码的层级不断自适应调节。
【专利摘要】公开一种基于视频通话场景的自适应视频编码方法,包括:在建立视频通话时,检测当前网络环境下的初始网络带宽,并设置与检测到的网络带宽相匹配的初始编码分辨率和帧率进行视频编码;当检测到网络环境变化时,进一步检测变化后的网络环境下的更新后的网络带宽,根据更新后的网络带宽、更新前的网络带宽以及更新前正在编码的分辨率和帧率来确定更新后的编码分辨率与帧率,根据更新后的编码分辨率与帧率进行随后的视频编码;根据检测出的之前一段时间的视频的平均误差,来自适应的调节此时的编码分辨率与帧率。本发明的自适应视频编码方法,能够在不断变化的网络环境及视频画面内容情况下进行自适应视频编码,并实现较好的视频清晰度与流畅度。
【IPC分类】H04N19/30, H04N19/164, H04N19/146, H04N19/196
【公开号】CN105635734
【申请号】CN201410609593
【发明人】焦华龙, 朱华智, 邓志国, 王磊, 陈翔宇
【申请人】掌赢信息科技(上海)有限公司
【公开日】2016年6月1日
【申请日】2014年11月3日
当前第5页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1