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

文档序号:9870840阅读:来源:国知局
IP册肥_4
[0巧9] 进一步地,所述控制模块包括:如表二所示的配置参数,并根据表二的配置参数进 行如下操作:
[0260] 按表二方式设置网络带宽及智能终端的CPU能力与推荐分辨率与顿率之间的对 应关系:
[0261] 表二
[0263] 作为一种实施方式,在启动视频通话时检测模块检测网络带宽与对端画面的宽高 比,控制模块根据所获得的信息设置适应于编码器的初始编码分辨率与顿率,其中,所获得 的信息包括网络带宽和CPU能力,并且所述CPU能力取各通讯端中能力最小者的值Vmin。
[0264] 其中,网络带宽及终端CPU能力与推荐分辨率与顿率之间的对应关系为:
[0265] 带宽〉=128化ps, CPU_Capacity> = IPH0NE_4S,编码分辨率为 320x240,顿率为 15,编码层级为8 ;
[0266] 带宽〉=128kbps, CPU_Capacit}<IP册肥_4S,编码分辨率为 240x160,顿率为 15, 编码层级为7 ;
[0267] 128化ps>带宽〉=64化PS,对所有终端,编码分辨率为240x160,顿率为15,编码 层级为7 ;
[026引 64化PS〉带宽〉=32化PS,对所有终端,编码分辨率为160x120,顿率为5,编码层 级为4 ;
[0269] 带宽<32化PS,对所有终端,编码分辨率为80x60,顿率为3,编码层级为1。
[0270] 进一步地,所述编码模块包括:如表H所示的配置参数,并根据表H的配置参数进 行如下操作:
[0271] 设各项参数如表H所示:
[027引表H
[0273]

[0274] 确定宽高比的操作如下:
[0275] 女口果,recomm_width〉recomm_height*target_aspect
[0276] 贝[|,new-width = recomm-hei邑ht*tar邑et-aspect
[0277] new_height = recomm_height
[027引 否则,new_wi化h = recomm_wi化h
[0279] new_hei邑ht = recomm-width/target-aspect
[0280] 如果上述计算得到的宽高不是16的整数倍,则裁剪为16的倍数。
[0281] 作为一种实施方式,控制模块根据得到的推荐分辨率W及对端的终端屏幕的宽高 比,裁剪出和对端宽高比接近的分辨率,编码模块根据该分辨率进行编码。
[0282] 其中,确定宽高比的方法如下:
[028引设对端画面的宽高比为target_aspect,推荐的分辨率中的宽高分别为recomm_ width, recomm-height,新的编石马宽与高为 new_width, new_height,
[0284] 女口果,recomm_width〉recomm_hei邑ht*tar邑et_aspect
[0285] 贝[I, new-width = recomm-hei邑ht*tar邑et-aspect
[0286] new_hei邑ht = recomm_hei邑ht
[0287] 否则,
[0288] new_width = recomm_width
[0289] new_hei邑ht = recomm-width/target-aspect
[0290] 如果上述计算得到的宽高不是16的整数倍,则裁剪为16的倍数。
[0291] 进一步地,所述控制模块进一步用于:
[0292] 当检测到网络带宽发生改变并超过阔值范围时,对编码的分辨率W及相关的编码 层级进行更新,W适应新的网络状况。
[0293] 进一步地,所述编码模块包括;如表四、表五所示的配置参数,并根据表四、表五的 配置参数进行如下操作:
[0294] 按表四对编码层级进行分类
[0295] 表四
[0296]
[0297] 设各项参数如表五所示:
[029引 表五
[0300]
[0301] 确定带宽的变化层级的操作如下:
[0302] bitrate_change_level = log(curr_bitrate/prev_bitrate)/log(2.0)
[0303] 如果,bitrate_change_level〉0
[0304] 则,bitrate_change_level 二 bitrate_change_level*0. 8
[0305] 否则,bitrate_change_level 二 bitrate_change_level*2. 0
[0306] 确定新的编码层级的操作如下:
[0307] curr_encoding_level = prev_encoding_level+bitrate_change_level
[030引在得到新的编码层级后,根据新得到的编码层级所对应的分辨率和帧率来进行编 码。作为一种实施方式,当检测模块检测到网络带宽发生改变并超过關值范围时,控制模块 对编码的分辨率W及相关的编码层级进行更新,W适应新的网络状况;
[0309] 其中,编码层级分类为:
[0310]
[0311] 设当前带宽为curr_bitrate,之前的带宽为prev_bitrate,则计算带宽的变化层 级的公式为:
[0312] bitrate_change_level = log(curr_bitrate/prev_bitrate)/log(2.0)
[031 引 if 化itrate_change_level〉0)
[0314] bitrate_change_level = bitrate_change_level本0. 8 [0引引 else
[0316] bitrate_change_level 二 bitrate_change_level本2. 0
[0317] 设之前的编码层级为prev_encoding_level,新的编码层级为:
[0318] curr_encoding_level = prev_encoding_level+bitrate_change_level
[0319] 在得到新的编码层级后,编码模块根据新得到的编码层级所对应的分辨率和顿率 来进行编码。
[0320] 进一步地,所述控制模块进一步用于:
[0321] 在网络状况没有变化,或者变化较小时,视频编码的层级仍根据视频画面的情况 不断自适应调节:
[0322] 计算视频编码在当前带宽所编码的分辨率与顿率时前3砂的量化值QP的平均值, 并进行如下判断:
[032引 当平均值小于24时,编码层级州;r;r_encoding_level=prev_encoding_ level+1 ;
[0324]当平均值大于 32 时,编码层级 cu;r;r_encoding_level = prev_encoding_level - I ;
[032引其中,当计算得到的编码层级cu;r;r_encoding_level大于10时,最大设置CiirL encoding-level 为 10 ;
[0326] 当计算得到的编码层级cu;r;r_encoding_level小于0时,最小设置CiirL encoding-level 为 0。
[0327] 作为一种实施方式,在网络状况没有变化,或者变化较小时,控制模块根据视 频画面的情况对视频编码的层级不断自适应调节:计算H. 264视频编码在当前带宽所 编码的分辨率与顿率时,前3砂的量化值QP的平均值,当平均值小于24时,编码层级 州;r;r_encoding_level = prev_encoding_level+l ;当平均值大于 32 时,编码层级 CiirL encoding-level = prev_encoding_level - 1。
[032引其中,当计算得到的编码层级cu;r;r_encoding_level大于10时,设置CiirL encoding_level为10 ;当计算得到的编码层级cu;r;r_encoding_level小于0时,最小设置 curr_encoding_level 为 0。
[0329] 本发明公开的基于视频通话场景的自适应视频编码装置能够在不断变化的网络 环境及视频画面内容情况下进行视频编码并实现较好的视频清晰度与流畅度。
[0330] 具体实施例1 :
[0331] 假定进行视频通话的两部终端分别为IPH0NE5S(屏幕宽高比是16:9)与华为 P7 (CPU为4核1. 8G主频,屏幕宽高比为16:9),他们都在稳定的512化PS上传与下载的WIFI 网络环境下进行视频通话的,编码器用H. 264进行编码。
[0332] 第一步,根据CPU能力及所使用的编码器的对应关系,送两部终端的参数设置为:
[0333] 分辨率分类层次;640x480,480x320, 320x240, 240x160,160x120,120x80,80x60
[0334] 顿率分类层次;15,9, 5, 3,1
[0335] 所有分类层次均开启1/4分数像素的运动估计及16x16到4x4的所有编码块结 构,同时两边视频的宽高比均为16:9。
[0336] 第二步,根据网络带宽及终端CPU能力的对应关系,送两部终端视频通话的起始 推荐分辨率为320x240,顿率为15 ;由于320x240的宽高比不是16:9,经过裁剪后确定用 320x180 来实际编码,编码层级 cu;r;r_encoding_level = 8。
[0337] 第H步,由于用户通话时坐在室内,画面比较稳定;在3砂后,统计得到H. 264编码 的平均QP小于24,分辨率被自动调整为480x272,编码层级curr_encoding_level = 9 ;再 过3砂,发现统计得到H. 264编码的平均QP仍然小于24,于是再次调整分辨率到640x360, 编码层级curr_encoding_level = 10 ;之后一直稳定到通话结束。
[033引具体实施例2 :
[0339] 假定进行视频通话的两部终端分别为IPH0NE4S(屏幕宽高比是3:2)与小米4(CPU 为4核2. 5G主频,屏幕宽高比为16:9),他们都在网络环境下不断变化的3G条件下进行视 频通话的,编码器用H. 264进行编码。
[0340] 第一步,根据CPU能力及所使用的编码器的对应关系,取送两部终端能力的较 小者,所W参数设置为;分辨率分类层次;480x320,320x240,240x 160,160x 120,120x80, 80x60,顿率分类层次;15,9, 5, 3,1。
[0341] 对于480x320分辨率,顿率为15时,只开启1/2像素的运动估计及16x16到8x8 的编码块结构,1/4像素及8x4,4x8与4x4编码块结构不开启。
[0342] 其它分类层次均开启1/4分数像素的运动估计及16x16到4x4的所有编码块结 构。同时IPH0NE4S按照小米4的16:9宽高比来编码,小米4按照IPH0NE4S的3:2来编码。
[0343] 第二步,刚开始IPH0NE4S的网络是上传与下载带宽分别为64化ps/128化PS, 小米4上传与下载带宽分别为32化ps/64化PS ;郝么IPH0NE4S的编码带宽不能超过 6地bps (IPH0NE4S上传带宽与小米4下载带宽的较小者),小米4的编码带宽不能超过 32化PS (IPH0NE4S下载带宽与小米4上传带宽的较小者);根据网络带宽及终端CPU能力的 对应关系,IPH0NE4S的起始推荐分辨率为240x160,顿率为15,编码层级curr_encodin
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1