一种视频编码方法、视频解码方法以及相关设备与流程

文档序号:12498280阅读:来源:国知局

技术特征:

1.一种视频编码方法,其特征在于,包括:

编码器在视频数据的多个帧间编码帧中选择至少一个帧间编码帧,以作为虚拟随机接入帧;所述多个帧间编码帧中除了所述虚拟随机接入帧以外的帧间编码帧均为普通帧;

为所述视频数据中的多个帧内编码帧和所述多个帧间编码帧中各帧间编码帧分别设置对应的时序层次数值;携带所述时序层次数值的多个帧间编码帧包括所述虚拟随机接入帧和所述普通帧;所述时序层次数值是指时序层次代码对应的数值;

将携带所述时序层次数值的所述视频数据发送到解码器,以使所述解码器在检测到对所述视频数据中的目标普通帧进行播放操作时,根据所述目标普通帧对应的时序层次数值以及处于所述目标普通帧的解码顺序之前且距离最近的虚拟随机接入帧对应的时序层次数值,从处于所述目标普通帧的解码顺序之前且距离最近的帧内编码帧开始选择跳过至少一个帧间编码帧,直到解码完所述目标普通帧。

2.如权利要求1所述的方法,其特征在于,所述编码器在视频数据的多个帧间编码帧中选择至少一个帧间编码帧,以作为虚拟随机接入帧,具有包括:

分别在每个画面组GOP中的多个帧间编码帧中,每间隔预设数量或每间隔随机数量的帧间编码帧,设置一个虚拟随机接入帧;

其中,将任意一个虚拟随机接入帧作为待编码虚拟随机接入帧,所述待编码虚拟随机接入帧的参考帧包括最近的帧内编码帧或所述待编码虚拟随机接入帧与所述最近的帧内编码帧之间的虚拟随机接入帧;所述最近的帧内编码帧是处于所述待编码虚拟随机接入帧的编码顺序之前且距离所述待编码虚拟随机接入帧最近的帧内编码帧;

其中,将任意一个普通帧作为待编码普通帧,所述待编码普通帧的参考帧包括最近的虚拟随机接入帧或所述待编码普通帧与所述最近的虚拟随机接入帧之间的普通帧;所述最近的虚拟随机接入帧是处于所述待编码普通帧的编码顺序之前且距离所述待编码普通帧最近的虚拟随机接入帧。

3.如权利要求1或2所述的方法,其特征在于,所述为所述视频数据中的多个帧内编码帧和所述多个帧间编码帧中各帧间编码帧分别设置对应的时序层次数值,包括:

分别在每个GOP中,将各所述普通帧分别对应的时序层次数值均设置为第一数值,并将各所述帧内编码帧以及各所述虚拟随机接入帧分别对应的时序层次数值均设置为第二数值;所述第一数值大于所述第二数值。

4.如权利要求1或2所述的方法,其特征在于,所述为所述视频数据中的多个帧内编码帧和所述多个帧间编码帧中各帧间编码帧分别设置对应的时序层次数值,包括:

分别在每个GOP中,将所述虚拟随机接入帧和所述普通帧划分为至少两个帧组;每个帧组中的第一个帧为所述虚拟随机接入帧,且每个帧组分别包含各自帧组内的第一个帧到下一个虚拟随机接入帧之间的所有普通帧;

在每个GOP中,将位于GOP中最前的帧组中的虚拟随机接入帧和各普通帧分别对应的时序层次数值均设置为所在GOP中的最大时序层次数值,并按照所述时序层次数值从大到小的顺序,逐一设置各帧组中的虚拟随机接入帧和各普通帧分别对应的时序层次数值,直至将位于GOP中最后的帧组中的虚拟随机接入帧和各普通帧分别对应的时序层次数值均设置为所在GOP中的最小时序层次数值;

将每个GOP中的帧内编码帧对应的时序层次数值均设置为所在GOP中的最小时序层次数值。

5.如权利要求1或2所述的方法,其特征在于,所述为所述视频数据中的多个帧内编码帧和所述多个帧间编码帧中各帧间编码帧分别设置对应的时序层次数值,包括:

分别在每个GOP中,将所有普通帧分别对应的时序层次数值均设置为所在GOP中的最大时序层次数值;

分别在每个GOP中,将所有虚拟随机接入帧划分为至少两个虚拟随机接入帧组;每个虚拟随机接入帧组均包含至少两个虚拟随机接入帧,且每个虚拟随机接入帧组中每相邻两个虚拟随机接入帧之间存在至少一个普通帧;

在每个GOP中,将位于GOP中最前的虚拟随机接入帧组中的各虚拟随机接入帧分别对应的时序层次数值均设置为所在GOP中的第二大时序层次数值,并按照所述时序层次数值从大到小的顺序,逐一设置各虚拟随机接入帧组中的各虚拟随机接入帧分别对应的时序层次数值,直至将位于GOP中最后的虚拟随机接入帧组中的各虚拟随机接入帧分别对应的时序层次数值均设置为所在GOP中的最小时序层次数值;

将每个GOP中的帧内编码帧对应的时序层次数值设置为所在GOP中的最小时序层次数值。

6.一种视频解码方法,其特征在于,包括:

解码器接收编码器发送的携带时序层次数值的视频数据;所述视频数据中的多个帧间编码帧包括预先由所述编码器所选择出的虚拟随机接入帧,所述多个帧间编码帧中除了所述虚拟随机接入帧以外的帧间编码帧均为普通帧;所述视频数据中的多个帧内编码帧和所述多个帧间编码帧中各帧间编码帧分别具有对应的时序层次数值;所述时序层次数值是指时序层次代码对应的数值;

当检测到对所述视频数据中的目标普通帧进行播放操作时,查找与所述目标普通帧相关联的目标虚拟随机接入帧和帧内编码帧,并解码与所述目标普通帧相关联的帧内编码帧;

从解码后的帧内编码帧开始解码具有所述目标虚拟随机接入帧对应的时序层次数值的虚拟随机接入帧,直到解码完所述目标虚拟随机接入帧,则从解码后的目标虚拟随机接入帧开始解码具有所述目标普通帧对应的时序层次数值的普通帧,直到解码完所述目标普通帧。

7.如权利要求6所述的方法,其特征在于,所述当检测到对所述视频数据中的目标普通帧进行播放操作时,查找与所述目标普通帧相关联的目标虚拟随机接入帧和帧内编码帧,并解码与所述目标普通帧相关联的帧内编码帧,具体包括:

当检测到对所述视频数据中的目标普通帧进行播放操作时,将位于所述目标普通帧的解码顺序之前且距离所述目标普通帧最近的虚拟随机接入帧,作为目标虚拟随机接入帧,并解码位于所述目标普通帧的解码顺序之前且距离所述目标普通帧最近的帧内编码帧。

8.如权利要求6或7所述的方法,其特征在于,

所述解码后的帧内编码帧与所述目标虚拟随机接入帧之间的各帧间编码帧分别对应的时序层次数值大于或等于所述目标虚拟随机接入帧对应的时序层次数值;

所述目标普通帧与所述目标虚拟随机接入帧之间的各普通帧的时序层次数值均等于所述目标普通帧对应的时序层次数值。

9.如权利要求8所述的方法,其特征在于,所述从解码后的帧内编码帧开始解码具有所述目标虚拟随机接入帧对应的时序层次数值的虚拟随机接入帧,直到解码完所述目标虚拟随机接入帧,则从解码后的目标虚拟随机接入帧开始解码具有所述目标普通帧对应的时序层次数值的普通帧,直到解码完所述目标普通帧,包括:

将解码条件参数设置为所述目标虚拟随机接入帧对应的时序层次数值,生成第一解码条件;所述第一解码条件是解码时序层次数值小于或等于所述目标虚拟随机接入帧对应的时序层次数值的帧;

根据所述第一解码条件,从解码后的帧内编码帧开始按照所述解码顺序解码具有所述目标虚拟随机接入帧对应的时序层次数值的虚拟随机接入帧,并跳过时序层次数值大于所述目标虚拟随机接入帧对应的时序层次数值的虚拟随机接入帧和/或普通帧,直到解码完所述目标虚拟随机接入帧;

将解码条件参数重新设置为所述目标普通帧对应的时序层次数值,生成第二解码条件;所述第二解码条件是解码时序层次数值小于或等于所述目标普通帧对应的时序层次数值的帧;

根据所述第二解码条件,从解码后的目标虚拟随机接入帧开始按照所述解码顺序逐一解码具有所述目标普通帧对应的时序层次数值的普通帧,直到解码完所述目标普通帧。

10.一种视频编码装置,其特征在于,包括:

选择模块,用于在视频数据的多个帧间编码帧中选择至少一个帧间编码帧,以作为虚拟随机接入帧;所述多个帧间编码帧中除了所述虚拟随机接入帧以外的帧间编码帧均为普通帧;

设置模块,用于为所述视频数据中的多个帧内编码帧和所述多个帧间编码帧中各帧间编码帧分别设置对应的时序层次数值;携带所述时序层次数值的多个帧间编码帧包括所述虚拟随机接入帧和所述普通帧;所述时序层次数值是指时序层次代码对应的数值;

发送模块,用于将携带所述时序层次数值的所述视频数据发送到解码器,以使所述解码器在检测到对所述视频数据中的目标普通帧进行播放操作时,根据所述目标普通帧对应的时序层次数值以及处于所述目标普通帧的解码顺序之前且距离最近的虚拟随机接入帧对应的时序层次数值,从处于所述目标普通帧的解码顺序之前且距离最近的帧内编码帧开始选择跳过至少一个帧间编码帧,直到解码完所述目标普通帧。

11.如权利要求10所述的装置,其特征在于,

所述选择模块,具体用于分别在每个画面组GOP中的多个帧间编码帧中,每间隔预设数量或每间隔随机数量的帧间编码帧,设置一个虚拟随机接入帧;

其中,将任意一个虚拟随机接入帧作为待编码虚拟随机接入帧,所述待编码虚拟随机接入帧的参考帧包括最近的帧内编码帧或所述待编码虚拟随机接入帧与所述最近的帧内编码帧之间的虚拟随机接入帧;所述最近的帧内编码帧是处于所述待编码虚拟随机接入帧的编码顺序之前且距离所述待编码虚拟随机接入帧最近的帧内编码帧;

其中,将任意一个普通帧作为待编码普通帧,所述待编码普通帧的参考帧包括最近的虚拟随机接入帧或所述待编码普通帧与所述最近的虚拟随机接入帧之间的普通帧;所述最近的虚拟随机接入帧是处于所述待编码普通帧的编码顺序之前且距离所述待编码普通帧最近的虚拟随机接入帧。

12.如权利要求10或11所述的装置,其特征在于,

所述设置模块,具体用于分别在每个GOP中,将各所述普通帧分别对应的时序层次数值均设置为第一数值,并将各所述帧内编码帧以及各所述虚拟随机接入帧分别对应的时序层次数值均设置为第二数值;所述第一数值大于所述第二数值。

13.如权利要求10或11所述的装置,其特征在于,所述设置模块包括:

第一帧组划分单元,用于分别在每个GOP中,将所述虚拟随机接入帧和所述普通帧划分为至少两个帧组;每个帧组中的第一个帧为所述虚拟随机接入帧,且每个帧组分别包含各自帧组内的第一个帧到下一个虚拟随机接入帧之间的所有普通帧;

第一编码设置单元,用于在每个GOP中,将位于GOP中最前的帧组中的虚拟随机接入帧和各普通帧分别对应的时序层次数值均设置为所在GOP中的最大时序层次数值,并按照所述时序层次数值从大到小的顺序,逐一设置各帧组中的虚拟随机接入帧和各普通帧分别对应的时序层次数值,直至将位于GOP中最后的帧组中的虚拟随机接入帧和各普通帧分别对应的时序层次数值均设置为所在GOP中的最小时序层次数值;

所述第一编码设置单元,还用于将每个GOP中的帧内编码帧对应的时序层次数值均设置为所在GOP中的最小时序层次数值。

14.如权利要求10或11所述的装置,其特征在于,所述设置模块包括:

第二编码设置单元,用于分别在每个GOP中,将所有普通帧分别对应的时序层次数值均设置为所在GOP中的最大时序层次数值;

第二帧组划分单元,用于分别在每个GOP中,将所有虚拟随机接入帧划分为至少两个虚拟随机接入帧组;每个虚拟随机接入帧组均包含至少两个虚拟随机接入帧,且每个虚拟随机接入帧组中每相邻两个虚拟随机接入帧之间存在至少一个普通帧;

所述第二编码设置单元,还用于在每个GOP中,将位于GOP中最前的虚拟随机接入帧组中的各虚拟随机接入帧分别对应的时序层次数值均设置为所在GOP中的第二大时序层次数值,并按照所述时序层次数值从大到小的顺序,逐一设置各虚拟随机接入帧组中的各虚拟随机接入帧分别对应的时序层次数值,直至将位于GOP中最后的虚拟随机接入帧组中的各虚拟随机接入帧分别对应的时序层次数值均设置为所在GOP中的最小时序层次数值;

所述第二编码设置单元,还用于将每个GOP中的帧内编码帧对应的时序层次数值设置为所在GOP中的最小时序层次数值。

15.一种视频解码装置,其特征在于,包括:

接收模块,用于接收编码器发送的携带时序层次数值的视频数据;所述视频数据中的多个帧间编码帧包括预先由所述编码器所选择出的虚拟随机接入帧,所述多个帧间编码帧中除了所述虚拟随机接入帧以外的帧间编码帧均为普通帧;所述视频数据中的多个帧内编码帧和所述多个帧间编码帧中各帧间编码帧分别具有对应的时序层次数值;所述时序层次数值是指时序层次代码对应的数值;

第一解码模块,用于当检测到对所述视频数据中的目标普通帧进行播放操作时,查找与所述目标普通帧相关联的目标虚拟随机接入帧和帧内编码帧,并解码与所述目标普通帧相关联的帧内编码帧;

第二解码模块,用于从解码后的帧内编码帧开始解码具有所述目标虚拟随机接入帧对应的时序层次数值的虚拟随机接入帧,直到解码完所述目标虚拟随机接入帧,则从解码后的目标虚拟随机接入帧开始解码具有所述目标普通帧对应的时序层次数值的普通帧,直到解码完所述目标普通帧。

16.如权利要求15所述的装置,其特征在于,

所述第一解码模块,具体用于当检测到对所述视频数据中的目标普通帧进行播放操作时,将位于所述目标普通帧的解码顺序之前且距离所述目标普通帧最近的虚拟随机接入帧,作为目标虚拟随机接入帧,并解码位于所述目标普通帧的解码顺序之前且距离所述目标普通帧最近的帧内编码帧。

17.如权利要求15或16所述的装置,其特征在于,

所述解码后的帧内编码帧与所述目标虚拟随机接入帧之间的各帧间编码帧分别对应的时序层次数值大于或等于所述目标虚拟随机接入帧对应的时序层次数值;

所述目标普通帧与所述目标虚拟随机接入帧之间的各普通帧的时序层次数值均等于所述目标普通帧对应的时序层次数值。

18.如权利要求17所述的装置,其特征在于,所述第二解码模块包括:

设置生成单元,用于将解码条件参数设置为所述目标虚拟随机接入帧对应的时序层次数值,生成第一解码条件;所述第一解码条件是解码时序层次数值小于或等于所述目标虚拟随机接入帧对应的时序层次数值的帧;

目标解码单元,用于根据所述第一解码条件,从解码后的帧内编码帧开始按照所述解码顺序解码具有所述目标虚拟随机接入帧对应的时序层次数值的虚拟随机接入帧,并跳过时序层次数值大于所述目标虚拟随机接入帧对应的时序层次数值的虚拟随机接入帧和/或普通帧,直到解码完所述目标虚拟随机接入帧;

所述设置生成单元,还用于将解码条件参数重新设置为所述目标普通帧对应的时序层次数值,生成第二解码条件;所述第二解码条件是解码时序层次数值小于或等于所述目标普通帧对应的时序层次数值的帧;

所述目标解码单元,还用于根据所述第二解码条件,从解码后的目标虚拟随机接入帧开始按照所述解码顺序逐一解码具有所述目标普通帧对应的时序层次数值的普通帧,直到解码完所述目标普通帧。

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