自适应多tile编码码率控制方法、装置、设备和存储介质与流程

文档序号:17009093发布日期:2019-03-02 02:10阅读:580来源:国知局
自适应多tile编码码率控制方法、装置、设备和存储介质与流程

本发明涉及视频编码领域,尤其是一种自适应多tile编码码率控制方法、装置、设备和存储介质。



背景技术:

目前,在进行多个tile分片的编码过程中,一般采用先进行tile分片,再进行tile编码(如h.265的motion-constrainedtilesets(mcts)编码)的方式,这种方式把每一个tile分片当作一个独立的输入源进行编码处理,而且对每个tile分片设置一样的目标码率进行编码。这种操作带来的问题是:每个分片之间不存在编码相关性,也就不能在整个帧的所有tile分片之间进行码率控制,会出现编码时对于某些简单区域,例如天空、墙面等单一画面tile分片分配的目标码率过高;而对于运动剧烈,纹理丰富的tile分片分配的目标码率又过低,造成编码资源的不均衡。因此提出一种根据tile分片不同权重进行自适应编码码率控制的方法是很有必要的。



技术实现要素:

本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的目的是提供一种根据tile分片不同权重进行自适应编码码率控制的方法、装置、设备和存储介质。

本发明所采用的技术方案是:

第一方面,本发明提供一种自适应多tile编码码率控制方法,包括步骤:

获取各个tile分片的码率分配权重序列;

根据总码率以及所述码率分配权重序列,为各个tile分片分配对应的编码码率。

进一步地,所述为各个tile分片分配对应的编码码率具体为:根据tile分片的像素空间复杂度和像素时间复杂度得到该tile分片的码率分配权重。

进一步地,所述码率分配权重序列具体计算方式为:

其中,wn表示第n个tile分片的码率分配权重值,tc表示平均像素复杂度,tcn表示第n个tile分片的平均像素复杂度,tci表示第i个tile分片的平均像素复杂度,n表示tile分片的总个数。

所述码率分配权重序列中各tile分片的码率分配权重值满足条件:

其中,wn表示第n个tile分片的码率分配权重值,n表示tile分片的总个数。

进一步地,所述平均像素复杂度具体为:

其中,m表示当前tile分片内像素总数,cp表示像素复杂度,cpj表示第j个像素的像素复杂度。

进一步地,所述像素复杂度具体为:

cp=s+λ*t

其中,s表示像素空间复杂度,t表示像素时间复杂度,λ表示时间-空间复杂度调节系数。

进一步地,所述像素空间复杂度s由像素梯度确定,所述像素时间复杂度t由前向帧差确定。

进一步地,所述码率的计算方法为:

rn=tr*wn

其中,rn表示第n个tile分片的码率,tr表示总码率,wn表示第n个tile分片的码率分配权重值。

第二方面,本发明提供一种自适应tile编码码率控制装置,包括:

获取分配权重序列模块:用于获取tile分片的码率分配权重序列;

自适应编码码率控制模块:用于根据总码率以及所述码率分配权重序列,进行tile分片自适应编码码率控制;

所述进行tile分片自适应编码码率控制具体是:为每一个tile分片分配不同的码率。

第三方面,本发明提供一种自适应tile编码码率控制的控制设备,包括:

至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如第一方面任一项自适应tile编码码率控制方法。

第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如第一方面任一项自适应tile编码码率控制方法。

本发明的有益效果是:

本发明通过获取tile分片的码率分配权重序列,并根据总码率以及所述码率分配权重序列,进行tile分片自适应编码码率控制,为每一个tile分片分配不同的码率,即根据tile分片不同权重进行自适应编码码率控制,每个分片之间存在编码相关性,能在整个帧的所有tile分片之间进行码率控制,能够实现编码时对于某些简单区域,例如天空、墙面等单一画面tile分片分配目标码率较低;而对于运动剧烈,纹理丰富的tile分片分配目标码率较高,能够均衡编码资源,提高编码效率。

附图说明

图1是本发明一种实施方式的自适应tile编码码率控制方法流程图;

图2是本发明一种实施方式的自适应tile编码码率控制装置结构框图。

具体实施方式

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

实施例一:

如图1所示,为本实施例的自适应tile编码码率控制方法流程图,包括步骤:s1:获取分配权重序列,具体为获取tile分片的码率分配权重序列;s2:进行自适应编码码率控制,具体为根据总码率以及所述码率分配权重序列,进行tile分片自适应编码码率控制,为每一个tile分片分配不同的码率。

在多tile分片编码之前,统计一段时间内整帧上每个像素点的空间和时间复杂度,然后按照tile划分规则,计算每个tile分片的平均像素复杂度,包括像素空间复杂度和像素时间复杂度,最后以此为权重值分配总的码率数,得到每个tile分片的自适应码率。

具体的,码率分配权重序列计算方式为:

其中,wn表示第n个tile分片的码率分配权重值,tc表示平均像素复杂度,tcn表示第n个tile分片的平均像素复杂度,tci表示第i个tile分片的平均像素复杂度,n表示tile分片的总个数。

并且公式(1)中码率分配权重序列中各tile分片的码率分配权重值满足条件:

公式(1)中,平均像素复杂度由所有属于该tile分片的像素点进行平均得到,具体计算方法为:

其中,m表示当前tile分片内像素总数,cp表示像素复杂度,cpj表示第j个像素的像素复杂度。

公式(3)中,像素复杂度具体为:

其中,s表示像素空间复杂度,t表示像素时间复杂度,λ表示时间-空间复杂度调节系数。像素空间复杂度s由像素梯度确定,梯度方向是该像素邻域上变化最快的方向,像素时间复杂度t由前向帧差确定,即相邻两帧作差分运算。

因此得到本实施例中码率的计算方法为:

rn=tr*wn(5)

其中,rn表示第n个tile分片的码率,tr表示总码率,wn表示第n个tile分片的码率分配权重值,即根据不同的tile分片分配不同的权重值,根据权重值和总码率即可得到每个tile分片的码率。

实施例二:

如图2所示,为本实施例一种自适应tile编码码率控制装置结构框图,包括:获取分配权重序列模块:用于获取tile分片的码率分配权重序列;自适应编码码率控制模块:用于根据总码率以及所述码率分配权重序列,进行tile分片自适应编码码率控制,为每一个tile分片分配不同的码率。

另一方面,本发明还提供一种自适应tile编码码率控制的控制设备,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如实施例一的自适应tile编码码率控制方法。

另一方面,本发明提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令用于使计算机执行如实施例一的自适应tile编码码率控制方法。

本发明通过获取tile分片的码率分配权重序列,并根据总码率以及所述码率分配权重序列,进行tile分片自适应编码码率控制,为每一个tile分片分配不同的码率,即根据tile分片不同权重进行自适应编码码率控制,每个分片之间存在编码相关性,能在整个帧的所有tile分片之间进行码率控制,能够实现编码时对于某些简单区域,例如天空、墙面等单一画面tile分片分配目标码率较低;而对于运动剧烈,纹理丰富的tile分片分配目标码率较高,能够均衡编码资源,提高编码效率。

以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1