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

文档序号:9870840阅读:来源:国知局
的分辨率W及相关的编码层级 进行更新,W适应新的网络状况,在网络状况没有变化,或者变化较小时,所述控制模块根 据视频画面的情况对视频编码的层级不断自适应调节。
[0085] 进一步地,所述控制模块包括:如表一所示的配置参数,并根据表一的配置参数进 行如下操作:
[0086] 将运行苹果IOS操作系统的智能终端的CPU能力及所使用的经过优化的H. 264编 码器的分类层次按表一方式进行设置,
[0087] 将运行谷歌An化Oid操作系统的智能终端的CPU能力按表一方式映射到对应型号 的运行苹果IOS操作系统的智能终端的CPU能力,
[0088] 表一
[0089]

[0091] 进一步地,所述控制模块包括:如表二所示的配置参数,并根据表二的配置参数进 行如下操作:
[0092] 按表二方式设置网络带宽及智能终端的CPU能力与推荐分辨率与顿率之间的对 应关系:
[0093] 表二
[0095] 进一步地,所述编码模块包括:如表H所示的配置参数,并根据表H的配置参数进 行如下操作:
[0096] 设各项参数如表H所示:
[0097] 表 H
[0098]
[0099]
[0100] 确定宽高比的操作如下:
[0101] 女口果,recomm_width〉recomm_hei邑ht*tar邑et_aspect
[0102] 贝[|,new_width = recomm_hei邑ht*tar邑et_aspect
[0103] new_hei邑ht = recomm_hei邑ht
[0104] 否则,new_wi化h = recomm_width
[0105] new_hei邑ht = recomm-width/target-aspect
[0106] 如果上述计算得到的宽高不是16的整数倍,则裁剪为16的倍数。
[0107] 进一步地,所述控制模块进一步用于:
[0108] 当检测到网络带宽发生改变并超过阔值范围时,对编码的分辨率W及相关的编码 层级进行更新,W适应新的网络状况。
[0109] 进一步地,所述编码模块包括;如表四、表五所示的配置参数,并根据表四、表五的 配置参数进行如下操作:
[0110] 按表四对编码层级进行分类
[0111] 表四
[0112]

[0113] 设各项参数如表五所示:
[0114] 表五 [011 引
[0116]
[0117] 确定带宽的变化层级的操作如下:
[0118] bitrate_change_level = log(curr_bitrate/prev_bitrate)/log(2. 0)
[0119] 如果,bitrate_change_level〉0
[0120] 则, bitrate_change_level = bitrate_change_level*0. 8
[0121] 否则,bitrate_change_level = bitrate_change_level巧.0
[0122] 确定新的编码层级的操作如下:
[0123] curr_encoding_level = prev_encoding_level+bitrate_change_level
[0124] 在得到新的编码层级后,根据新得到的编码层级所对应的分辨率和顿率来进行编 码。
[0125] 进一步地,所述控制模块进一步用于:
[0126] 在网络状况没有变化,或者变化较小时,视频编码的层级仍根据视频画面的情况 不断自适应调节:
[0127] 计算视频编码在当前带宽所编码的分辨率与顿率时前3砂的量化值QP的平均值, 并进行如下判断:
[0128] 当平均值小于 24 时,编码层级州;r;r_encoding_level = prev_encoding_ level+1 ;
[0129] 当平均值大于 32 时,编码层级 cu;r;r_encoding_level = prev_encoding_level - I ;
[0130] 其中,当计算得到的编码层级cu;r;r_encoding_level大于10时,最大设置curL encoding-level 为 10 ;
[0131] 当计算得到的编码层级cu;r;r_encoding_level小于0时,最小设置CiirL encoding-level 为 0。
[0132] 本发明提供的基于视频通话场景的自适应视频编码方法及装置,能够在不断变化 的网络环境及视频画面内容情况下进行自适应视频编码,并实现较好的视频清晰度与流畅 度。
[0133] 本发明附加的方面和优点将在下面的描述中部分给出,送些将从下面的描述中变 得明显,或通过本发明的实践了解到。
【附图说明】
[0134] 图1示出本发明的基于视频通话场景的自适应视频编码方法的流程示意图;
[0135] 图2示出本发明的基于视频通话场景的自适应视频编码方法的详细流程示意图;
[0136] 图3示出本发明的基于视频通话场景的自适应视频编码装置的模块示意图。
【具体实施方式】
[0137] 下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始 至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参 考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
[0138] 本技术领域技术人员可W理解,除非特意声明,送里使用的单数形式"一"、"一 个"、"所述"和"该"也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措 辞"包括"是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加 一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元 件被"连接"或"禪接"到另一元件时,它可W直接连接或禪接到其他元件,或者也可W存在 中间元件。此外,送里使用的"连接"或"禪接"可W包括无线连接或禪接。送里使用的措 辞"和/或"包括一个或更多个相关联的列出项的任一单元和全部组合。
[0139] 本技术领域技术人员可W理解,除非另外定义,送里使用的所有术语(包括技术 术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应 该理解的是,诸如通用字典中定义的郝些术语应该被理解为具有与现有技术的上下文中的 意义一致的意义,并且除非像送里一样定义,不会用理想化或过于正式的含义来解释。
[0140] 图1示出本发明的一种基于IPv6的IPSec安全联盟硬件查找装置的总体结构示 意图。如图1所示,本发明公开了一种基于视频通话场景的自适应视频编码方法,包括:步 骤101,在建立视频通话时,检测当前网络环境下的初始网络带宽,并设置与检测到的网络 带宽相匹配的初始编码分辨率和顿率进行视频编码;步骤102,当检测到网络环境变化时, 进一步检测变化后的网络环境下的更新后的网络带宽,根据更新后的网络带宽、更新前的 网络带宽W及更新前正在编码的分辨率和顿率来确定更新后的编码分辨率与顿率,接着根 据更新后的编码分辨率与顿率进行随后的视频编码;步骤103,根据检测出的之前一段时 间的视频的平均误差,来自适应的调节此时的编码分辨率与顿率。其中,所述之前一段时间 的视频的平均误差是根据在基于当前分辨率与顿率进行编码时,对应的网络带宽得到的一 定时间间隔内的量化步长的均值。其中,所述自适应的调节此时的编码分辨率与顿率是通 过误差大于阔值则调降编码分辨率与顿率,误差小于阔值则调升编码率与顿率。作为一种 实施方式,网络带宽的检测是通过最近一次视频的一个"关键顿"从开始接收数据到完成接 收数据需要的时间及接收的数据大小计算得到的。其中,所述之前一段时间是根据不同需 求来定的,当需要较快适应网络变化时,可W设置较短的时间,但是画面质量变化会非常剧 烈,不稳定;当认为画面稳定较为重要时,需要稍长一定的时间;一般设为3-6砂间隔。其 中,所述视频的平均误差是根据在基于当前分辨率与顿率编码时,对应的网络带宽得到的 一定时间间隔内的"量化步长"的均值。其中,所述阔值是根据对画质的可接受度设置的一 个经验值。"量化步长"是指在视频压缩时,为实现目标压缩码率来对视频的数据来进行控 制的一个数值;一般地,该数值越大,视频压缩的越严重,同原始视频误差越大。
[0141] 进一步地,所述步骤101包括;步骤201,根据移动设备的CPU能力CPlLcapacity 及所使用的编码器来设定视频通话编码的分类等级层次,其中:所述CPlLcapacity包括 主频及核数;步骤202,在启动视频通话时检测网络带宽与对端画面的宽高比,根据所获得 的信息设置适应于编码器的初始编码分辨率与顿率,其中:所获得的信息包括网络带宽和 CPU能力,并且所述CPU能力取各通讯端中能力最小者的值Vmin ;步骤203,根据得到的推 荐分辨率W及对端屏幕的宽高比,裁剪出和对端宽高比接近的分辨率进行编码。
[0142] 作为一种实施方式,所述根据移动设备的CPU能力CPlLcapacity及所使用的编码 器来设定视频通话编码的分类等级层次(步骤201),可W包括;将运行苹果IOS操作系统 的智能终端的CPU能力及所使用的经过优化的H. 264编码器的分类层次按表一方式进行设 置。
[0143] 表一
[0144]

[0146] 作为另一种实施方式,将运行谷歌Amlroid操作系统的智能终端的CPU能力按表 一方式映射到对应型号的运行苹果IOS操作系统的智能终端的CPU能力。
[0147] 步骤201,根据移动设备的CPU能力(主频及核数)及所使用的编码器来设定视频 通话编码的分类等级层次;
[014引例如,对于苹果IOS系统的不同型号终端的CPU能力及所使用的经过优化的H. 264 编码器,分类层次如下:
[0149] CPU_Capacity> = IPH0NE_5S
[0150] 分辨率分类层次;640x480,480x320, 320x240, 240x160,160x120,120x80,80x60
[0151] 顿率分类层次;15,9, 5, 3,1
[0152] 所有分类层次均开启1/4分数像素的运动估计及16x16到4x4的所有编码块结 构。
[0153] CPU-Capacity == IPHONE-S
[0154] 分辨率分类层次;640x480,480x320, 320x240, 240x160,160x120,120x80,80x60
[0155] 顿率分类层次;15,9, 5, 3,1
[0156] 对于640x480分辨率,顿率为15时,只开启1/2像素的运动估计及16x16到8x8 的编码块结构,1/4像素及8x4,4x8与4x4编码块结构不开启;
[0157] 其它分类层次均开启1/4分数像素的运动估计及16x16到4x4的所有编码块结 构。
[0158] CPU-Capacity == IPH0NE_4S
[0159] 分辨率分类层次;480x320, 320x240, 240x160,160x120,120x80,80x60
[0160] 顿率分类层次;15,9, 5, 3,1
[0161] 对于480x320分辨率,顿率为15时,只开启1/2像素的运动估计及16x16到8x8 的编码块结构,1/4像素及8x4,4x8与4x4编码块结构不开启;
[0162] 其它分类层次均开启1/4分数像素的运动估计及16x16到4x4的所有编码块结 构。
[0163] CPU-Capacity = IPH0NE_4
[0164] 分辨率分类层次;240xl60,160x120,120x80,80x60
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1