一种视频数据编码、解码的方法和装置转让专利

申请号 : CN201410100869.3

文献号 : CN104935944B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 瑟乔夫·马克西姆宋锦

申请人 : 华为技术有限公司

摘要 :

本发明公开了一种视频数据编码、解码的方法和装置,涉及编码解码术领域,能够提高传输灵活性,增强了鲁棒性。本发明提供的编码方法包括:确定待编码视频序列中的一待编码信息组;生成与所述待编码信息组对应的基本信息组,基本信息组包括第一数据信息,表示所述待编码信息组是基本信息组还是冗余信息组的指示信息和所述基本信息组的位置信息;生成与所述待编码信息组对应的冗余信息组,冗余信息组包含第二数据信息,所述冗余信息组的位置信息,表示所述待编码信息组是基本信息组还是冗余信息组的指示信息和所述冗余信息组与所述基本信息组的位置关系信息;将所述基本信息组和所述冗余信息组编入码流。

权利要求 :

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

确定待编码视频序列中的一待编码信息组;

生成与所述待编码信息组对应的基本信息组,基本信息组包括第一数据信息,表示所述待编码信息组是基本信息组还是冗余信息组的指示信息和所述基本信息组的位置信息;

生成与所述待编码信息组对应的冗余信息组,冗余信息组包含第二数据信息,所述冗余信息组的位置信息,表示所述待编码信息组是基本信息组还是冗余信息组的指示信息和所述冗余信息组与所述基本信息组的位置关系信息;

将所述基本信息组和所述冗余信息组编入码流。

2.根据权利要求1所述的方法,其特征在于,

所述基本信息组的位置信息,包括:所述基本信息组在码流中的位置,或者在编码过程中的顺序,或者图像显示顺序;

所述冗余信息组的位置信息,包括:所述冗余信息组在码流中的位置,或者在编码过程中的顺序,或者图像显示顺序。

3.根据权利要求2所述的方法,其特征在于,所述位置关系信息包括:所述冗余信息组与所述基本信息组的位置差的绝对值和先后顺序,所述位置差的绝对值和先后顺序包括,所述基本信息组或者所述冗余信息组在码流中的位置差的绝对值和先后顺序,或者在编码过程中的顺序差的绝对值和先后顺序,或者图像显示顺序差的绝对值和先后顺序。

4.根据权利要求3所述的方法,其特征在于,所述位置关系信息还包括:

表示所述冗余信息组的位置信息与所述基本信息组的位置信息是否属于同一个图片组的标示信息。

5.根据权利要求4所述的方法,其特征在于,当所述冗余信息组的位置信息与所述基本信息组的位置信息不属于同一个图片组时,所述位置关系信息还包括所述冗余信息组与所述基本信息组间隔的图片组的个数。

6.根据权利要求3所述的方法,其特征在于,所述位置关系信息还包括:表示所述冗余信息组与所述基本信息组间隔的图片组的个数。

7.根据权利要求1-6任一项所述的方法,其特征在于,所述生成与所述待编码信息组对应的冗余信息组,冗余信息组包含第二数据信息,所述冗余信息组的位置信息,表示所述待编码信息组是基本信息组还是冗余信息组的指示信息和所述冗余信息组与所述基本信息组的位置关系信息,包括:确定所述基本信息组是否已经生成;

如果所述基本信息组未生成,则设定一预设位置关系信息作为所述冗余信息组与所述基本信息组的位置关系信息,并生成所述第二数据信息以及所述冗余信息组的位置信息;

如果所述基本信息组已经生成,则计算所述冗余信息组与所述基本信息组的所述位置关系信息作为所述冗余信息组与所述基本信息组的位置关系信息,并生成所述第二数据信息以及所述冗余信息组的位置信息。

8.根据权利要求1-6任一项所述的方法,其特征在于,所述生成与所述待编码信息组对应的基本信息组,基本信息组包括第一数据信息,表示所述待编码信息组是基本信息组还是冗余信息组的指示信息和所述基本信息组的位置信息,包括:确定所述冗余信息组是否已经生成;

如果所述冗余信息组未生成,则设定一预设基本信息组与所述冗余信息组所述位置关系信息作为所述冗余信息组与所述基本信息组的位置关系信息,并生成所述第一数据信息以及所述基本信息组的位置信息;

如果所述冗余信息组已经生成,则计算所述冗余信息组与所述基本信息组的所述位置关系信息作为所述冗余信息组与所述基本信息组的位置关系信息,并生成所述第一数据信息以及所述基本信息组的位置信息。

9.根据权利要求2所述的方法,其特征在于,如果所述位置信息为图像显示顺序,在所述生成与所述待编码信息组对应的基本信息组和所述生成与所述待编码信息组对应的冗余信息组时,对所述基本信息组与所述冗余信息组的图像显示顺序按照预设规则进行设置,以使得所述基本信息组和所述冗余信息组的图像显示顺序不相同。

10.根据权利要求9所述的方法,其特征在于,所述对所述基本信息组与所述冗余信息组的图像显示顺序按照预设规则进行设置,以使得所述基本信息组和所述冗余信息组的图像显示顺序不相同,包括:将所述基本信息组的图像显示顺序设置为连续偶数,所述冗余信息组的图像显示顺序设置为所对应的基本信息组的图像显示顺序加1。

11.根据权利要求1-6任一项所述的方法,其特征在于,所述基本信息组还包括:所述冗余信息组与所述基本信息组的位置关系信息。

12.根据权利要求1-6任一项所述的方法,其特征在于,所述冗余信息组还包括:所述冗余信息组所对应的所述基本信息组的属性信息。

13.根据权利要求12所述的方法,其特征在于,所述基本信息组的属性信息,包括以下信息中的至少一种:表征所述基本信息组是否属于即时刷新帧的信息,表征所述基本信息组是否可以被参考的信息,表征所述基本信息组是否在解码端显示的信息,表征所述基本信息组是否可以被丢弃的信息。

14.根据权利要求1-6任一项所述的方法,其特征在于,所述待编码信息组,包括:图像、帧、条带、片,基本编码单元的集合的任意一种或多种。

15.根据权利要求1-6任一项所述的方法,其特征在于,所述位置关系信息位于补充增强信息,网络抽象层单元头,条带头,帧头,片头,图像参数集至少一者之中。

16.根据权利要求13所述的方法,其特征在于,所述表示所述待编码信息组是基本信息组还是冗余信息组的指示信息和所述冗余信息组所对应的所述基本信息组的属性信息位于补充增强信息,网络抽象层单元头,条带头,帧头,片头,图像参数集至少一者之中。

17.一种视频数据的解码方法,其特征在于,包括:

获取待解码码流,确定一待解码信息组;

解析得到与所述待解码信息组对应的基本信息组,基本信息组包括第一数据信息,表示所述待解码信息组是基本信息组还是冗余信息组的指示信息和所述基本信息组的位置信息;

解析得到与所述待解码信息组对应的冗余信息组,冗余信息组包含第二数据信息,所述冗余信息组的位置信息,表示所述待解码信息组是基本信息组还是冗余信息组的指示信息和所述冗余信息组与所述基本信息组的位置关系信息,所述冗余信息组与所述基本信息组的位置关系信息用于推导所述基本信息组的位置信息;

基于所述解析得到的基本信息组或者所述解析得到的冗余信息组获取已解码信息组,所述已解码信息组用于已编码视频序列的重建。

18.根据权利要求17所述的解码方法,其特征在于,

所述基本信息组的位置信息,包括:所述基本信息组在码流中的位置,或者在编码过程中的顺序,或者图像显示顺序;

所述冗余信息组的位置信息,包括:所述冗余信息组在码流中的位置,或者在编码过程中的顺序,或者图像显示顺序。

19.根据权利要求18所述的解码方法,其特征在于,

所述位置关系信息包括:所述冗余信息组与所述基本信息组的位置差的绝对值和先后顺序,所述位置差的绝对值和先后顺序包括,所述基本信息组或者所述冗余信息组在码流中的位置差的绝对值和先后顺序,或者在编码过程中的顺序差的绝对值和先后顺序,或者图像显示顺序差的绝对值和先后顺序。

20.根据权利要求19所述的解码方法,其特征在于,所述位置关系信息还包括:表示所述冗余信息组的位置信息与所述基本信息组的位置信息是否属于同一个图片组的标示信息。

21.根据权利要求20所述的解码方法,其特征在于,当所述冗余信息组的位置信息与所述基本信息组的位置信息不属于同一个图片组时,所述位置关系信息还包括所述冗余信息组与所述基本信息组间隔的图片组的个数。

22.根据权利要求19所述的解码方法,其特征在于,所述位置关系信息还包括:表示所述冗余信息组与所述基本信息组间隔的图片组的个数。

23.根据权利要求17-22任一项所述的解码方法,其特征在于,所述解析得到与所述待解码信息组对应的冗余信息组,冗余信息组包含第二数据信息,所述冗余信息组的位置信息,表示待编码信息组是基本信息组还是冗余信息组的指示信息和所述冗余信息组与所述基本信息组的位置关系信息,所述冗余信息组与所述基本信息组的位置关系信息用于推导所述基本信息组的位置信息,包括:确定所述基本信息组是否被正确解析;

如果所述基本信息组被正确解析,则停止解析所述待解码信息组,不用再解析得到与所述待解码信息组对应的冗余信息组,并基于所述解析得到的基本信息组获取所述已解码信息组,所述已解码信息组用于已编码视频序列的重建;

如果所述基本信息组未被正确解析,则继续解析得到与所述待解码信息组对应的冗余信息组,冗余信息组包含第二数据信息,所述冗余信息组的位置信息,表示所述待编码信息组是基本信息组还是冗余信息组的指示信息和所述冗余信息组与所述基本信息组的位置关系信息,所述冗余信息组与所述基本信息组的位置关系信息用于推导所述基本信息组的位置信息,并基于所述解析得到的冗余信息组获取所述已解码信息组,所述已解码信息组用于已编码视频序列的重建。

24.根据权利要求18所述的解码方法,其特征在于,如果所述位置信息为图像显示顺序,在生成与所述待解码信息组对应的基本信息组和生成与所述待解码信息组对应的冗余信息组时,根据按照预设规则进行设置的所述基本信息组与所述冗余信息组的图像显示顺序确认所述基本信息组与所述冗余信息组的图像显示顺序,所述基本信息组和所述冗余信息组的图像显示顺序不相同。

25.根据权利要求24所述的解码方法,其特征在于,所述基本信息组的图像显示顺序被设置为连续偶数,所述冗余信息组的图像显示顺序被设置为所对应的基本信息组的图像显示顺序加1。

26.根据权利要求17-22任一项所述的解码方法,其特征在于,所述冗余信息组还包括:所述冗余信息组所对应的所述基本信息组的属性信息。

27.根据权利要求26任一项所述的解码方法,其特征在于,所述基本信息组的属性信息,包括以下信息中的至少一种:表征所述基本信息组是否属于即时刷新帧的信息,表征所述基本信息组是否可以被参考的信息,表征所述基本信息组是否在解码端显示的信息,表征所述基本信息组是否可以被丢弃的信息。

28.根据权利要求17-22任一项所述的解码方法,其特征在于,所述待解码信息组,包括:图像、帧、条带、片,基本编码单元的集合的任意一种或多种。

29.根据权利要求17-22任一项所述的解码方法,其特征在于,所述位置关系信息位于补充增强信息,网络抽象层单元头,条带头,帧头,片头,图像参数集至少一者之中。

30.根据权利要求27所述的解码方法,其特征在于,所述表示所述待解码信息组是基本信息组还是冗余信息组的指示信息和所述冗余信息组所对应的所述基本信息组的属性信息位于补充增强信息,网络抽象层单元头,条带头,帧头,片头,图像参数集至少一者之中。

31.一种视频数据编码的装置,其特征在于,包括处理器,所述处理器被配置为:确定待编码视频序列中的一待编码信息组;

生成与所述待编码信息组对应的基本信息组,基本信息组包括第一数据信息,表示所述待编码信息组是基本信息组还是冗余信息组的指示信息和所述基本信息组的位置信息;

生成与所述待编码信息组对应的冗余信息组,冗余信息组包含第二数据信息,所述冗余信息组的位置信息,表示所述待编码信息组是基本信息组还是冗余信息组的指示信息和所述冗余信息组与所述基本信息组的位置关系信息;

将所述基本信息组和所述冗余信息组编入码流。

32.根据权利要求31所述的装置,其特征在于,所述基本信息组的位置信息,包括:所述基本信息组在码流中的位置,或者在编码过程中的顺序,或者图像显示顺序;

所述冗余信息组的位置信息,包括:所述冗余信息组在码流中的位置,或者在编码过程中的顺序,或者图像显示顺序。

33.根据权利要求32所述的装置,其特征在于,所述位置关系信息包括:所述冗余信息组与所述基本信息组的位置差的绝对值和先后顺序,所述位置差的绝对值和先后顺序包括,所述基本信息组或者所述冗余信息组在码流中的位置差的绝对值和先后顺序,或者在编码过程中的顺序差的绝对值和先后顺序,或者图像显示顺序差的绝对值和先后顺序。

34.根据权利要求33所述的装置,其特征在于,所述位置关系信息还包括:表示所述冗余信息组的位置信息与所述基本信息组的位置信息是否属于同一个图片组的标示信息。

35.根据权利要求34所述的装置,其特征在于,当所述冗余信息组的位置信息与所述基本信息组的位置信息不属于同一个图片组时,所述位置关系信息还包括所述冗余信息组与所述基本信息组间隔的图片组的个数。

36.根据权利要求33所述的装置,其特征在于,所述位置关系信息还包括:表示所述冗余信息组与所述基本信息组间隔的图片组的个数。

37.根据权利要求31-36任一项所述的装置,其特征在于,所述处理器进一步配置为,确定所述基本信息组是否已经生成;

如果所述基本信息组未生成,则设定一预设位置关系信息作为所述冗余信息组与所述基本信息组的位置关系信息,并生成所述第二数据信息以及所述冗余信息组的位置信息;

如果所述基本信息组已经生成,则计算所述冗余信息组与所述基本信息组的所述位置关系信息作为所述冗余信息组与所述基本信息组的位置关系信息,并生成所述第二数据信息以及所述冗余信息组的位置信息。

38.根据权利要求31-36任一项所述的装置,其特征在于,所述处理器进一步配置为,确定所述冗余信息组是否已经生成;

如果所述冗余信息组未生成,则设定一预设基本信息组与所述冗余信息组所述位置关系信息作为所述冗余信息组与所述基本信息组的位置关系信息,并生成所述第一数据信息以及所述基本信息组的位置信息;

如果所述冗余信息组已经生成,则计算所述冗余信息组与所述基本信息组的所述位置关系信息作为所述冗余信息组与所述基本信息组的位置关系信息,并生成所述第一数据信息以及所述基本信息组的位置信息。

39.根据权利要求32所述的装置,其特征在于,所述处理器进一步配置为,如果所述位置信息为图像显示顺序,在所述生成与所述待编码信息组对应的基本信息组和所述生成与所述待编码信息组对应的冗余信息组时,对所述基本信息组与所述冗余信息组的图像显示顺序按照预设规则进行设置,以使得所述基本信息组和所述冗余信息组的图像显示顺序不相同。

40.根据权利要求39所述的装置,其特征在于,所述处理器进一步配置为,将所述基本信息组的图像显示顺序设置为连续偶数,所述冗余信息组的图像显示顺序设置为所对应的基本信息组的图像显示顺序加1。

41.根据权利要求31-36任一项所述的装置,其特征在于,所述基本信息组还包括:所述冗余信息组与所述基本信息组的位置关系信息。

42.据权利要求31-36任一项所述的装置,其特征在于,所述冗余信息组还包括:所述冗余信息组所对应的所述基本信息组的属性信息。

43.根据权利要求42所述的装置,其特征在于,所述基本信息组的属性信息,包括以下信息中的至少一种:表征所述基本信息组是否属于即时刷新帧的信息,表征所述基本信息组是否可以被参考的信息,表征所述基本信息组是否在解码端显示的信息,表征所述基本信息组是否可以被丢弃的信息。

44.根据权利要求31-33任一项所述的装置,其特征在于,所述待编码信息组,包括:图像、帧、条带、片,基本编码单元的集合的任意一种或多种。

45.根据权利要求31-34任一项所述的装置,其特征在于,其特征在于,所述位置关系信息位于补充增强信息,网络抽象层单元头,条带头,帧头,片头,图像参数集至少一者之中。

46.根据权利要求43所述的装置,其特征在于,所述表示所述待编码信息组是基本信息组还是冗余信息组的指示信息和所述冗余信息组所对应的所述基本信息组的属性信息位于补充增强信息,网络抽象层单元头,条带头,帧头,片头,图像参数集至少一者之中。

47.一种视频数据解码的装置,其特征在于,包括处理器,所述处理器被配置为:获取待解码码流,确定一待解码信息组;

解析得到与所述待解码信息组对应的基本信息组,基本信息组包括第一数据信息,表示所述待解码信息组是基本信息组还是冗余信息组的指示信息和所述基本信息组的位置信息;

解析得到与所述待解码信息组对应的冗余信息组,冗余信息组包含第二数据信息,所述冗余信息组的位置信息,表示所述待解码信息组是基本信息组还是冗余信息组的指示信息和所述冗余信息组与所述基本信息组的位置关系信息,所述冗余信息组与所述基本信息组的位置关系信息用于推导所述基本信息组的位置信息;

基于所述解析得到的基本信息组或者所述解析得到的冗余信息组获取已解码信息组,所述已解码信息组用于已编码视频序列的重建。

48.根据权利要求47所述的装置,其特征在于,

所述基本信息组的位置信息,包括:所述基本信息组在码流中的位置,或者在编码过程中的顺序,或者图像显示顺序;

所述冗余信息组的位置信息,包括:所述冗余信息组在码流中的位置,或者在编码过程中的顺序,或者图像显示顺序。

49.根据权利要求48所述的装置,其特征在于,

所述位置关系信息包括:所述冗余信息组与所述基本信息组的位置差的绝对值和先后顺序,所述位置差的绝对值和先后顺序包括,所述基本信息组或者所述冗余信息组在码流中的位置差的绝对值和先后顺序,或者在编码过程中的顺序差的绝对值和先后顺序,或者图像显示顺序差的绝对值和先后顺序。

50.根据权利要求49所述的装置,其特征在于,所述位置关系信息还包括:表示所述冗余信息组的位置信息与所述基本信息组的位置信息是否属于同一个图片组的标示信息。

51.根据权利要求50所述的装置,其特征在于,当所述冗余信息组的位置信息与所述基本信息组的位置信息不属于同一个图片组时,所述位置关系信息还包括所述冗余信息组与所述基本信息组间隔的图片组的个数。

52.根据权利要求48所述的装置,其特征在于,所述位置关系信息还包括:表示所述冗余信息组与所述基本信息组间隔的图片组的个数。

53.根据权利要求47-52任一项所述的装置,其特征在于,所述处理器被进一步配置为:确定所述基本信息组是否被正确解析;

如果所述基本信息组被正确解析,则停止解析所述待解码信息组,不用再解析得到与所述待解码信息组对应的冗余信息组,并基于所述解析得到的基本信息组获取所述已解码信息组,所述已解码信息组用于已编码视频序列的重建;

如果所述基本信息组未被正确解析,则继续解析得到与所述待解码信息组对应的冗余信息组,冗余信息组包含第二数据信息,所述冗余信息组的位置信息,表示待编码信息组是基本信息组还是冗余信息组的指示信息和所述冗余信息组与所述基本信息组的位置关系信息,所述冗余信息组与所述基本信息组的位置关系信息用于推导所述基本信息组的位置信息,并基于所述解析得到的冗余信息组获取所述已解码信息组,所述已解码信息组用于已编码视频序列的重建。

54.根据权利要求48所述的装置,其特征在于,所述处理器被进一步配置为,如果所述位置信息为图像显示顺序,在生成与所述待解码信息组对应的基本信息组和生成与所述待解码信息组对应的冗余信息组时,根据按照预设规则进行设置的所述基本信息组与所述冗余信息组的图像显示顺序确认所述基本信息组与所述冗余信息组的图像显示顺序,所述基本信息组和所述冗余信息组的图像显示顺序不相同。

55.根据权利要求54所述的装置,其特征在于,所述处理器被记你一部配置为,所述基本信息组的图像显示顺序被设置为连续偶数,所述冗余信息组的图像显示顺序被设置为所对应的基本信息组的图像显示顺序加1。

56.根据权利要求47-52任一项所述的装置,其特征在于,所述冗余信息组还包括:所述冗余信息组所对应的所述基本信息组的属性信息。

57.根据权利要求56所述的装置,其特征在于,所述基本信息组的属性信息,包括以下信息中的至少一种:表征所述基本信息组是否属于即时刷新帧的信息,表征所述基本信息组是否可以被参考的信息,表征所述基本信息组是否在解码端显示的信息,表征所述基本信息组是否可以被丢弃的信息。

58.根据权利要求47-52任一项所述的装置,其特征在于,所述待解码信息组,包括:图像、帧、条带、片,基本编码单元的集合的任意一种或多种。

59.根据权利要求47-52任一项所述的装置,其特征在于,所述位置关系信息位于补充增强信息,网络抽象层单元头,条带头,帧头,片头,图像参数集至少一者之中。

60.根据权利要求47所述的装置,其特征在于,所述表示所述待解码信息组是基本信息组还是冗余信息组的指示信息和所述冗余信息组所对应的所述基本信息组的属性信息位于补充增强信息,网络抽象层单元头,条带头,帧头,片头,图像参数集至少一者之中。

说明书 :

一种视频数据编码、解码的方法和装置

技术领域

[0001] 本发明涉及编码解码术领域,尤其涉及一种视频数据编码、解码的方法和装置。

背景技术

[0002] 在视讯通信系统中,一般使用RTP(Real-time Transport Protocol,实时传输协议)对视频数据进行打包,生成RTP数据包;再使用UDP(User Datagram Protocol,用户数据报协议)传输RTP数据包。其中,视频由多个图像帧构成。但是,UDP是非可靠的传输协议,在传输过程中,当网络阻塞时,容易出现丢包,从而影响解码端重构的视频的质量。
[0003] 为了解决上述问题,可以在视频数据的编码过程中引入冗余图像技术。在视频编码压缩技术中,每一个视频显示画面被称为图像,相对于隔行扫描一幅图像得到的一场而言,也可以称逐行扫描的一幅图像为一帧。一帧中可以包含一个或多个条带,也可以包含一个或多个片,区别在于条带是以基本编码单元的顺序划分的,而片是以图像区域划分的。仅以帧为处理单位举例,具体可以包括:在视频数据的编码过程中,对每个图像帧进行编码产生基本帧,同时产生与基本帧对应的一个或者多个冗余帧;将基本条带和冗余条带封装到不同的分组进行传输。这样,解码端可以通过以下方法进行解码:解析当前帧的头信息,得到当前帧的属性信息,当前帧的属性信息用于表征当前帧为基本帧或者冗余帧;若当前帧为冗余帧且当前帧对应的基本帧为正常帧(即未丢包,重构该帧的数据完整),则丢弃当前冗余帧;若当前帧为冗余帧且当前帧对应的基本帧为非正常帧(即已丢包,无法正常解码),则拷贝该基本帧的头信息至当前帧的头信息位置,并继续解析当前帧的其他信息,从而使用冗余帧重构视频。
[0004] 上述解码方法要求基本帧与其所对应的冗余帧在解码位置上相邻,否则无法反映基本帧与冗余帧的对应关系,使基本帧和冗余帧同时丢失的可能性增大,同时基本帧必须在冗余帧之前到达解码端,降低了传输的灵活性。

发明内容

[0005] 本发明实施例提供的视频数据编码、解码的方法和装置,能够降低基本帧和冗余帧同时丢失的概率,增强了传输的鲁棒性和灵活性。
[0006] 本发明的实施例提供一种视频数据的编码方法,包括:
[0007] 确定待编码视频序列中的一待编码信息组;
[0008] 生成与所述待编码信息组对应的基本信息组,基本信息组包括第一数据信息,表示所述待编码信息组是基本信息组还是冗余信息组的指示信息和所述基本信息组的位置信息;
[0009] 生成与所述待编码信息组对应的冗余信息组,冗余信息组包含第二数据信息,所述冗余信息组的位置信息,表示所述待编码信息组是基本信息组还是冗余信息组的指示信息和所述冗余信息组与所述基本信息组的位置关系信息;
[0010] 将所述基本信息组和所述冗余信息组编入码流。
[0011] 本发明实施例还提供一种视频数据的解码方法,包括:
[0012] 获取待解码码流,确定一待解码信息组;
[0013] 解析得到与所述待解码信息组对应的基本信息组,基本信息组包括第一数据信息,表示所述待编码信息组是基本信息组还是冗余信息组的指示信息和所述基本信息组的位置信息;
[0014] 解析得到与所述待解码信息组对应的冗余信息组,冗余信息组包含第二数据信息,所述冗余信息组的位置信息,表示所述待编码信息组是基本信息组还是冗余信息组的指示信息和所述冗余信息组与所述基本信息组的位置关系信息,所述所述冗余信息组与所述基本信息组的位置关系信息用于推导所述基本信息组的位置信息;
[0015] 基于所述解析得到的基本信息组或者所述解析得到的冗余信息组获取所述已解码信息组,所述已解码信息组用于已编码视频序列的重建。
[0016] 本发明实施例还提供一种视频数据编码的装置,其特征在于,包括处理器,所述处理器被配置为:
[0017] 确定待编码视频序列中的一待编码信息组;
[0018] 生成与所述待编码信息组对应的基本信息组,基本信息组包括第一数据信息,表示所述待编码信息组是基本信息组还是冗余信息组的指示信息和所述基本信息组的位置信息;
[0019] 生成与所述待编码信息组对应的冗余信息组,冗余信息组包含第二数据信息,所述冗余信息组的位置信息,表示所述待编码信息组是基本信息组还是冗余信息组的指示信息和所述冗余信息组与所述基本信息组的位置关系信息;
[0020] 将所述基本信息组和所述冗余信息组编入码流。
[0021] 本发明实施例还提供一种视频数据解码的装置,包括处理器,所述处理器被配置为:
[0022] 获取待解码码流,确定一待解码信息组;
[0023] 解析得到与所述待解码信息组对应的基本信息组,基本信息组包括第一数据信息,表示所述待编码信息组是基本信息组还是冗余信息组的指示信息和所述基本信息组的位置信息;
[0024] 解析得到与所述待解码信息组对应的冗余信息组,冗余信息组包含第二数据信息,所述冗余信息组的位置信息,表示所述待编码信息组是基本信息组还是冗余信息组的指示信息和所述冗余信息组与所述基本信息组的位置关系信息,所述所述冗余信息组与所述基本信息组的位置关系信息用于推导所述基本信息组的位置信息;
[0025] 基于所述解析得到的基本信息组或者所述解析得到的冗余信息组获取所述已解码信息组,所述已解码信息组用于已编码视频序列的重建。
[0026] 上述方案的编码、解码方法和装置,允许基本帧和所对应的冗余帧在码流中的位置保持一定的间隔,降低了基本帧和所对应的冗余帧同时丢失的可能性,增强了传输的鲁棒性,并且解码端对于解码基本帧和冗余帧的次序不再有要求,提高了传输的灵活性。

附图说明

[0027] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0028] 图1为本发明实施例一提供的一种视频数据编码的方法的流程图;
[0029] 图2为本发明实施例二提供的一种视频数据解码的方法的流程图;
[0030] 图3为本发明实施例三提供的另一种视频数据解码的方法的流程图;
[0031] 图4为本发明实施例四提供的另一种视频数据解码的方法的流程图;
[0032] 图5为本发明实施例五提供的另一种视频数据解码的方法的流程图;
[0033] 图6为本发明实施例六提供的另一种视频数据解码的方法的流程图;
[0034] 图7为本发明实施例七提供的一种视频数据编码的装置的结构示意图;
[0035] 图8为本发明实施例八提供的一种视频数据解码的装置的结构示意图;
[0036] 图9为本发明实施例一提供的一种视频编码方法的语法结构图。
[0037] 图10为本发明实施例一提供的一种视频编码方法的帧结构示意图。

具体实施方式

[0038] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0039] 本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以已经生成三种关系,例如,A和/或B,可以表示:单独已经生成A,同时已经生成A和B,单独已经生成B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
[0040] 实施例均以每一个基本帧最多只有一个相对应的冗余帧的情况具体举例说明,显然可以推广到每一个基本帧已经生成多个冗余帧的情况。
[0041] 实施例一
[0042] 如图1所示,为本发明实施例提供的一种视频数据编码的方法,包括:
[0043] 101:从待编码编码序列中确定一待编码帧。
[0044] 102:依照视频压缩编码标准的规定步骤对所述待编码帧进行处理,一般包括预测、变换、量化、熵编码、滤波等,视频压缩标准可以为H.264、H.265或者SVC(scalable video coding,可分级编码)等,生成基本帧的编码数据信息,包括预测模式信息、分块模式信息、变换模式信息、量化参数信息、滤波参数以及残差信息等。
[0045] 103:为该帧确定POC(picture order count,图像顺序数)。POC代表了编码帧在视频序列中显示顺序的先后,由于基本帧和冗余帧对应了同一个编码帧,为了避免它们的POC相同,示例性的,如果每一个基本帧最多只有一个相对应的冗余帧,不妨把基本帧的POC限制为连续偶数,例如:0,2,4,6……冗余帧的POC限制为奇数,根据实际应用的需要,可以是连续奇数,例如:1,3,5,7……也可以是不连续奇数,例如:冗余帧的POC可以设定为所对应的基本帧的POC加一。
[0046] 104:为该帧确定基本帧的标志。需要解释的是,如图10所示,单帧数据可以被分为不同的网络抽象层单元。网络抽象层单元由网络抽象层单元头和数据部分组成。网络抽象层单元头包含网络抽象层单元类型,网络抽象层单元类型决定了网络抽象层单元包含的数据种类。后文提到的PREFIX_SEI_NUT(补充加强信息前缀)就是网络抽象头单元类型的一种。示例性的,可以在PREFIX_SEI_NUT中添加一标志位,如果写入数值A,则该帧为基本帧,如果写入数值B,则该帧为冗余帧,具体的可以举例:
[0047] 举例一:
[0048]if(nal_unit_type==PREFIX_SEI_NUT)
......
else if(payloadType==135)
redundant_pic_info(payloadSize)
else if(payloadType==136)
primary_pic_info(payloadSize)
[0049] 即,
[0050]如果网络抽象层单元类型是补充加强信息前缀
......
或者如果信息负载类型是135
设置冗余帧信息(信息负载大小)
或者如果信息负载类型是136
设置基本帧信息(信息负载大小)
[0051] 可以解释为,
[0052] 如果网络抽象层单元类型为补充加强信息前缀,且信息负载类型是135,则该帧为冗余帧;如果网络抽象层单元类型为补充加强信息前缀,且如果信息负载类型是136,则该帧为基本帧。
[0053] 举例二:
[0054]if(nal_unit_type==PREFIX_SEI_NUT)
......
else if(payloadType==135)
if(pic_type==0)
redundant_pic_info(payloadSize)
else
primary_pic_info(payloadSize)
[0055] 即,
[0056]如果网络抽象层单元类型是补充加强信息前缀
......
或者如果信息负载类型是135
如果帧类型是0
设置冗余帧信息(信息负载大小)
否则
设置基本帧信息(信息负载大小)
[0057] 可以解释为,
[0058] 如果网络抽象层单元类型为补充加强信息前缀,且信息负载类型是135,且帧类型是0,则该帧为冗余帧;如果网络抽象层单元类型为补充加强信息前缀,且信息负载类型是135,且帧类型是1,则该帧为基本帧。
[0059] 举例三:
[0060]if(nal_unit_type==PREFIX_SEI_NUT)
......
else if(payloadType==135)
redundant_pic_info(payloadSize)
else if(nal_unit_type==SUFFIX_SEI_NUT)
......
else if(payloadType==135)
primary_pic_info(payloadSize)
[0061] 即,
[0062]如果网络抽象层单元类型是补充加强信息前缀
......
或者如果信息负载类型是135
设置冗余帧信息(信息负载大小)
或者如果网络抽象层单元类型是补充加强信息后缀
......
或者如果信息负载类型是135
设置基本帧信息(信息负载大小)
[0063] 可以解释为,
[0064] 如果网络抽象层单元类型为补充加强信息前缀,且信息负载类型是135,则该帧为冗余帧;如果网络抽象层单元类型为补充加强信息后缀,且如果信息负载类型是135,则该帧为基本帧。
[0065] 105:可选的,为该帧确定与该帧所对应的冗余帧之间的位置关系。示例性的,设当前基本帧的POC表示为currPicOrderCntVal,所对应的冗余帧的POC表示为rdnPicOrderCntVal,两帧之间的POC差值表示为pic_order_cnt_delta。如果所述冗余帧已经已经生成,则位置关系pic_order_cnt_delta=rdnPicOrderCntVal–
currPicOrderCntVal。pic_order_cnt_delta可以为正值,也可以为负值,代表基本帧与所对应冗余帧的先后顺序关系,也即可以用正负号来表示,取值的绝对值范围可以为0~256。
如果所述冗余帧未生成,则可以根据实际需要设定位置关系,不妨设为1。
[0066] 举例:
[0067]primary_pic_info(payloadSize){
pic_order_cnt_delta
}
[0068] 特殊情况,当允许基本帧和所对应的冗余帧位于不同的GOP(group of picture,图片组)中时,为了描述所述位置关系,还要确定基本帧和所对应的冗余帧间的GOP关系。示例性的,确定基本帧和所对应的冗余帧是否属于同一GOP;如果不属于同一GOP,确定GOP的间隔数。
[0069] 举例一:设置基本帧与所对应的冗余帧属于同一GOP的标志为gop_flag,属于同一GOP,则gop_flag为0,否则为1;设置基本帧与所对应的的冗余帧之间相隔gop_circle个GOP,gop_circle可以为正数或者负数;则基本帧与所对应的冗余帧之间的实际位置差值为pic_order_cnt_delta+gop_circle x gop_flag;
[0070] 举例二:设置基本帧与所对应的的冗余帧之间相隔gop_circle个GOP,gop_circle为整数;则基本帧与所对应的冗余帧之间的实际位置差值为pic_order_cnt_delta+gop_circle。
[0071] 在本实施例中对于位置关系的描述,仅以视频帧的显示顺序(即POC)作为位置的表示,还可以以表征处理每一帧数据的先后顺序的实际编码顺序作为位置的表示,还可以以把编码数据以二进制形式写入码流的写入顺序作为位置的表示等,不做限定。
[0072] 106:依照视频压缩编码标准的规定步骤对所述待编码帧进行处理,一般包括预测、变换、量化、熵编码、滤波等,视频压缩标准可以为H.264、H.265或者SVC等,但一般与压缩相对应的基本帧使用相同的压缩标准,生成冗余帧的编码数据信息,包括预测模式信息、分块模式信息、变换模式信息、量化参数信息、滤波参数以及残差信息等,和相对应的基本帧的生成信息可以相同或者不同。
[0073] 107:为该帧确定POC,POC的确定方法与步骤103保持一致。
[0074] 108:为该帧确定冗余帧的标志。示例性的,可以在PREFIX_SEI_NUT中添加一标志位,如果写入数值A,则该帧为基本帧,如果写入数值B,则该帧为冗余帧,冗余帧标志的确定方式与步骤104保持一致。
[0075] 109:为该帧确定与该帧所对应的基本帧之间的位置关系。示例性的,如果所述基本帧已经已经生成,则位置关系pic_order_cnt_delta=currPicOrderCntVal–rdnPicOrderCntVal。pic_order_cnt_delta可以为正值,也可以为负值,代表冗余帧与所对应基本帧的先后顺序关系,取值的绝对值可以为0~256。如果所述基本帧未生成,则可以根据实际需要设定位置关系,不妨设为1。
[0076] 举例:
[0077]redundant_pic_info(payloadSize){
pic_order_cnt_delta
}
[0078] 特殊情况,当允许冗余帧和所对应的基本帧位于不同的GOP中时,为了描述所述位置关系,还要确定冗余帧和所对应的基本帧间的GOP关系。示例性的,确定冗余帧和所对应的基本帧是否属于同一GOP;如果不属于同一GOP,确定GOP的间隔数。
[0079] 110:确定该帧所对应的基本帧的属性信息。示例性的,设prm_poc_reset_flag表示所述基本帧是否为即时刷新帧,即遇到该类型帧POC重置。
[0080] 举例:
[0081]redundant_pic_info(payloadSize){
prm_poc_reset_flag
}
[0082] 111:按照编码顺序,将基本帧的编码数据信息、POC信息、标示信息和冗余帧的编码数据信息、POC信息、标示信息编入码流,其中基本帧和冗余帧的先后编码顺序没有限定。
[0083] 如图9所示,包含了实施例一中的一套典型的语法结构。
[0084] 利用本方案进行编码,允许基本帧和所对应的冗余帧在码流中的位置保持一定的间隔,降低了基本帧和所对应的冗余帧同时丢失的可能性,增强了传输的鲁棒性,并且解码端对于解码基本帧和冗余帧的次序不再有要求,提高了传输的灵活性。
[0085] 实施例二
[0086] 本实施例提供的视频数据解码的方法,与上述视频数据编码的方法对应。如图2所示,包括:
[0087] 基本帧的解码顺序在所对应的冗余帧之前,基本帧未缺失,当前待解码帧为基本帧的情况。
[0088] 201:从待解码码流中确定一待解码帧。
[0089] 202:解析该帧属于基本帧还是冗余帧的标志。示例性的,可以解析nal_unit_type,如果nal_unit_type为PREFIX_SEI_NUT,则解析payloadType,如果payloadType为数值A,则该帧属于基本帧,具体举例与步骤104对应。
[0090] 203:根据码流信息,可选的,解析该帧与该帧所对应的冗余帧之间的位置关系,特殊情况,当允许基本帧和所对应的冗余帧位于不同的GOP中时,为了描述所述位置关系,还要确定基本帧和所对应的冗余帧间的GOP关系,与步骤105对应。本步骤所获得的信息可以作为额外信息供特殊的解码要求使用。
[0091] 204:解析该帧的POC,与步骤103对应。
[0092] 205:按照视频压缩编码标准,解析该帧的编码数据信息,与步骤102对应。
[0093] 206:按照解析该帧码流得到的信息,重建该解码帧。
[0094] 207:在POC指定的顺序,输出该已解码帧。
[0095] 实施例三
[0096] 本实施例提供的视频数据解码的方法,与实施例一中视频数据编码的方法对应。如图3所示,包括:
[0097] 基本帧的解码顺序在所对应的冗余帧之前,基本帧未缺失,当前待解码帧为冗余帧的情况。
[0098] 301:从待解码码流中确定一待解码帧。
[0099] 302:解析该帧属于基本帧还是冗余帧的标志。示例性的,可以解析nal_unit_type,如果nal_unit_type为PREFIX_SEI_NUT,则解析payloadType,如果payloadType为数值B,则该帧属于冗余帧,具体举例与步骤108对应。
[0100] 303:解析该帧与该帧所对应的基本帧之间的位置关系,特殊情况,当允许冗余帧和所对应的基本帧位于不同的GOP中时,为了描述所述位置关系,还要确定冗余帧和所对应的基本帧间的GOP关系,与步骤109对应。该步骤可以确定该帧所对应的基本帧的位置。
[0101] 304:检查步骤303中获得的位置是否有基本帧已经生成。
[0102] 305:如果有基本帧已经生成,舍弃该解码帧的所有信息。
[0103] 实施例四
[0104] 本实施例提供的视频数据解码的方法,与实施例一中视频数据编码的方法对应。如图4所示,包括:
[0105] 基本帧的解码顺序在所对应的冗余帧之前,基本帧缺失,当前待解码帧为冗余帧的情况。
[0106] 401:从待解码码流中确定一待解码帧。
[0107] 402:解析该帧属于基本帧还是冗余帧的标志。示例性的,可以解析nal_unit_type,如果nal_unit_type为PREFIX_SEI_NUT,则解析payloadType,如果payloadType为数值B,则该帧属于冗余帧,具体举例与步骤108对应。
[0108] 403:解析该帧与该帧所对应的基本帧之间的位置关系,特殊情况,当允许冗余帧和所对应的基本帧位于不同的GOP中时,为了描述所述位置关系,还要确定冗余帧和所对应的基本帧间的GOP关系,与步骤109对应。该步骤可以确定该帧所对应的基本帧的位置。
[0109] 404:检查步骤303中获得的位置是否有基本帧已经生成。
[0110] 405:如果基本帧未生成,则解析该帧所对应的基本帧的属性信息,与步骤110对应。该属性信息将作为该解码帧的属性信息。
[0111] 406:解析该帧的POC,与步骤107对应。该POC将作为该解码帧的POC。
[0112] 407:按照视频压缩编码标准,解析该帧的编码数据信息,与步骤106对应。
[0113] 408:按照解析该帧码流得到的信息,重建该解码帧。
[0114] 409:在POC指定的顺序,输出该已解码帧。
[0115] 实施例五
[0116] 本实施例提供的视频数据解码的方法,与实施例一中视频数据编码的方法对应。如图5所示,包括:
[0117] 冗余帧的解码顺序在所对应的基本帧之前,当前待解码帧为冗余帧的情况。
[0118] 501:从待解码码流中确定一待解码帧。
[0119] 502:解析该帧属于基本帧还是冗余帧的标志。示例性的,可以解析nal_unit_type,如果nal_unit_type为PREFIX_SEI_NUT,则解析payloadType,如果payloadType为数值B,则该帧属于冗余帧,具体举例与步骤108对应。
[0120] 503:解析该帧与该帧所对应的基本帧之间的位置关系,特殊情况,当允许冗余帧和所对应的基本帧位于不同的GOP中时,为了描述所述位置关系,还要确定冗余帧和所对应的基本帧间的GOP关系,与步骤109对应。该步骤可以确定该帧所对应的基本帧的位置。
[0121] 504:检查步骤503中获得的位置是否有基本帧已经生成。
[0122] 505:如果基本帧未生成,则解析该帧所对应的基本帧的属性信息,与步骤110对应。该属性信息将作为该解码帧的属性信息。
[0123] 506:解析该帧的POC,与步骤107对应。该POC将作为该解码帧的POC。
[0124] 507:按照视频压缩编码标准,解析该帧的编码数据信息,与步骤106对应。
[0125] 508:按照解析该帧码流得到的信息,重建该解码帧。
[0126] 509:在POC指定的顺序,存储该解码帧。
[0127] 510:在指定的时延之后,没有解析到该解码帧所对应的基本帧数据,则在POC指定的顺序,输出该已解码帧。
[0128] 实施例六
[0129] 本实施例提供的视频数据解码的方法,与上述视频数据编码的方法对应。如图6所示,包括:
[0130] 冗余帧的解码顺序在所对应的基本帧之前,当前待解码帧为基本帧的情况。
[0131] 601:从待解码码流中确定一待解码帧。
[0132] 602:解析该帧属于基本帧还是冗余帧的标志。示例性的,可以解析nal_unit_type,如果nal_unit_type为PREFIX_SEI_NUT,则解析payloadType,如果payloadType为数值A,则该帧属于基本帧,具体举例与步骤104对应。
[0133] 603:根据码流信息,可选的,解析该帧与该帧所对应的冗余帧之间的位置关系,特殊情况,当允许基本帧和所对应的冗余帧位于不同的GOP中时,为了描述所述位置关系,还要确定基本帧和所对应的冗余帧间的GOP关系,与步骤105对应。本步骤所获得的信息可以作为额外信息供特殊的解码要求使用。
[0134] 604:解析该帧的POC,与步骤103对应。
[0135] 605:按照视频压缩编码标准,解析该帧的编码数据信息,与步骤102对应。
[0136] 606:按照解析该帧码流得到的信息,重建该解码帧。
[0137] 607:在POC指定的顺序,输出该已解码帧。
[0138] 与现有方案相比实施例二到六提供的解码方法,由于码流中携带了基本帧和所对应的冗余帧之间的位置关系信息,允许基本帧和所对应的冗余帧在码流中的位置保持一定的间隔,降低了基本帧和所对应的冗余帧同时丢失的可能性,增强了传输的鲁棒性,并且解码端对于解码基本帧和冗余帧的次序不再有要求,提高了传输的灵活性。
[0139] 实施例七
[0140] 如图7所示,为本发明实施例提供的一种视频数据编码的装置1110,具体的,该装置可以包括一种通用处理器(例如CPU),或者为一专用处理器(例如GPU),用以执行图1所示的视频数据编码的方法,该装置1110包括处理器1111,发射电路1114,存储器1112,总线1113。具体的,发射电路可以用于将编码后得到的码流向外发送,存储器用于存储处理过程中得到的数据,总线用于连接各装置以承载通信,该处理器1111可以配置为:
[0141] 用于从待编码编码序列中确定一待编码帧;
[0142] 还用于依照视频压缩编码标准的规定步骤对所述待编码帧进行处理,一般包括预测、变换、量化、熵编码、滤波等,视频压缩标准可以为H.264、H.265或者SVC等,生成基本帧的编码数据信息,包括预测模式信息、分块模式信息、变换模式信息、量化参数信息、滤波参数以及残差信息等。
[0143] 还用于为该帧确定POC。POC代表了编码帧在视频序列中显示顺序的先后,由于基本帧和冗余帧对应了同一个编码帧,为了避免它们的POC相同,示例性的,如果每一个基本帧最多只有一个相对应的冗余帧,不妨把基本帧的POC限制为连续偶数,冗余帧的POC限制为奇数,具体的,冗余帧的POC可以设定为所对应的基本帧的POC加一。
[0144] 还用于为该帧确定基本帧的标志。示例性的,可以在PREFIX_SEI_NUT中添加一标志位,如果写入数值A,则该帧为基本帧,如果写入数值B,则该帧为冗余帧。
[0145] 可选的,还用于为该帧确定与该帧所对应的冗余帧之间的位置关系。示例性的,设当前基本帧的POC表示为currPicOrderCntVal,所对应的冗余帧的POC表示为rdnPicOrderCntVal,两帧之间的POC差值表示为pic_order_cnt_delta。如果所述冗余帧已经已经生成,则位置关系pic_order_cnt_delta=rdnPicOrderCntVal–
currPicOrderCntVal。pic_order_cnt_delta可以为正值,也可以为负值,代表基本帧与所对应冗余帧的先后顺序关系,取值的绝对值可以为0~256。如果所述冗余帧未生成,则可以根据实际需要设定位置关系,不妨设为1。
[0146] 特殊情况,当允许基本帧和所对应的冗余帧位于不同的GOP中时,为了描述所述位置关系,还要确定基本帧和所对应的冗余帧间的GOP关系。示例性的,确定基本帧和所对应的冗余帧是否属于同一GOP;如果不属于同一GOP,确定GOP的间隔数。
[0147] 可选的,还用于依照视频压缩编码标准的规定步骤对所述待编码帧进行处理,一般包括预测、变换、量化、熵编码、滤波等,视频压缩标准可以为H.264、H.265或者SVC等,但一般与压缩相对应的基本帧使用相同的压缩标准,生成冗余帧的编码数据信息,包括预测模式信息、分块模式信息、变换模式信息、量化参数信息、滤波参数以及残差信息等,和相对应的基本帧的生成信息可以相同或者不同。
[0148] 还用于为该帧确定POC,POC的确定方法与步骤103保持一致。
[0149] 还用于为该帧确定冗余帧的标志。示例性的,可以在PREFIX_SEI_NUT中添加一标志位,如果写入数值A,则该帧为基本帧,如果写入数值B,则该帧为冗余帧,冗余帧标志的确定方式与步骤104保持一致。
[0150] 还用于为该帧确定与该帧所对应的基本帧之间的位置关系。示例性的,如果所述基本帧已经已经生成,则位置关系pic_order_cnt_delta=currPicOrderCntVal–rdnPicOrderCntVal。pic_order_cnt_delta可以为正值,也可以为负值,代表冗余帧与所对应基本帧的先后顺序关系,取值的绝对值可以为0~256。如果所述基本帧未生成,则可以根据实际需要设定位置关系,不妨设为1。
[0151] 特殊情况,当允许冗余帧和所对应的基本帧位于不同的GOP中时,为了描述所述位置关系,还要确定冗余帧和所对应的基本帧间的GOP关系。示例性的,确定冗余帧和所对应的基本帧是否属于同一GOP;如果不属于同一GOP,确定GOP的间隔数。
[0152] 还用于确定该帧所对应的基本帧的属性信息。示例性的,设prm_poc_reset_flag表示所述基本帧是否为即时刷新帧,即遇到该类型帧POC重置。
[0153] 还用于按照编码顺序,将基本帧的编码数据信息、POC信息、标示信息和冗余帧的编码数据信息、POC信息、标示信息编入码流,其中基本帧和冗余帧的先后编码顺序没有限定。
[0154] 本发明实施例提供的视频数据编码的装置,允许基本帧和所对应的冗余帧在码流中的位置保持一定的间隔,降低了基本帧和所对应的冗余帧同时丢失的可能性,增强了传输的鲁棒性,并且解码端对于解码基本帧和冗余帧的次序不再有要求,提高了传输的灵活性。
[0155] 实施例八
[0156] 如图8所示,为本发明实施例提供的一种视频数据解码的装置1000,具体的,该装置可以包括一种通用处理器(例如CPU),或者为一专用处理器(例如GPU),用以执行图2所示的视频数据解码的方法,该装置1000包括处理器1001,接收电路1004,存储器1002,总线1003。具体的,接收电路可以用于接收已经编码的码流,存储器用于存储处理过程中得到的数据,总线用于连接各装置以承载通信,上述装置用以执行图2所示的视频数据解码的方法,该处理器1001可以配置为:
[0157] 用于从待解码码流中确定一待解码帧。
[0158] 还用于确定该帧属于基本帧还是冗余帧。示例性的,可以解析nal_unit_type,如果nal_unit_type为PREFIX_SEI_NUT,则解析payloadType,如果payloadType为数值A,则该帧属于基本帧。
[0159] 还用于根据码流信息,可选的,用于确定该帧与该帧所对应的冗余帧之间的位置关系,特殊情况,当允许基本帧和所对应的冗余帧位于不同的GOP中时,为了描述所述位置关系,还要确定基本帧和所对应的冗余帧间的GOP关系。
[0160] 还用于确定该帧的POC。
[0161] 还用于按照视频压缩编码标准,解析该帧的编码数据信息。
[0162] 还用于按照解析该帧码流得到的信息,重建该解码帧。
[0163] 还用于在POC指定的顺序,输出该已解码帧。
[0164] 实施例九
[0165] 本发明实施例提供的一种视频数据解码的装置,包括处理器,用以执行图3所示的视频数据解码的方法,该处理器具体配置为:
[0166] 用于从待解码码流中确定一待解码帧。
[0167] 还用于确定该帧属于基本帧还是冗余帧。示例性的,可以解析nal_unit_type,如果nal_unit_type为PREFIX_SEI_NUT,则解析payloadType,如果payloadType为数值B,则该帧属于冗余帧。
[0168] 还用于确定该帧与该帧所对应的基本帧之间的位置关系,特殊情况,当允许冗余帧和所对应的基本帧位于不同的GOP中时,为了描述所述位置关系,还要确定冗余帧和所对应的基本帧间的GOP关系。
[0169] 还用于判断上述获得的位置是否有基本帧已经生成。
[0170] 还用于如果有基本帧已经生成,用于舍弃该解码帧的所有信息。
[0171] 实施例十
[0172] 本发明实施例提供的一种视频数据解码的装置,包括处理器,用以执行图4所示的视频数据解码的方法,该处理器具体配置为::
[0173] 用于从待解码码流中确定一待解码帧。
[0174] 还用于确定该帧属于基本帧还是冗余帧。示例性的,可以解析nal_unit_type,如果nal_unit_type为PREFIX_SEI_NUT,则解析payloadType,如果payloadType为数值B,则该帧属于冗余帧。
[0175] 还用于确定该帧与该帧所对应的基本帧之间的位置关系,特殊情况,当允许冗余帧和所对应的基本帧位于不同的GOP中时,为了描述所述位置关系,还要确定冗余帧和所对应的基本帧间的GOP关系。
[0176] 还用于判断上述获得的位置是否有基本帧已经生成。
[0177] 如果基本帧未生成,用于确定该帧所对应的基本帧的属性信息。
[0178] 还用于确定该帧的POC。
[0179] 还用于按照视频压缩编码标准,解析该帧的编码数据信息。
[0180] 第二处理单元1008,用于按照解析该帧码流得到的信息,重建该解码帧。
[0181] 还用于在POC指定的顺序,输出该已解码帧。
[0182] 实施例十一
[0183] 本发明实施例提供的一种视频数据解码的装置,包括处理器,用以执行图5所示的视频数据解码的方法,该处理器被具体配置为:
[0184] 用于从待解码码流中确定一待解码帧。
[0185] 还用于确定该帧属于基本帧还是冗余帧。示例性的,可以解析nal_unit_type,如果nal_unit_type为PREFIX_SEI_NUT,则解析payloadType,如果payloadType为数值B,则该帧属于冗余帧。
[0186] 还用于确定该帧与该帧所对应的基本帧之间的位置关系,特殊情况,当允许冗余帧和所对应的基本帧位于不同的GOP中时,为了描述所述位置关系,还要确定冗余帧和所对应的基本帧间的GOP关系。
[0187] 还用于判断上述位置是否有基本帧已经生成。
[0188] 如果基本帧未生成,用于确定该帧所对应的基本帧的属性信息。
[0189] 还用于确定该帧的POC。
[0190] 还用于按照视频压缩编码标准,解析该帧的编码数据信息。
[0191] 还用于按照解析该帧码流得到的信息,重建该解码帧。
[0192] 还用于在POC指定的顺序,存储该解码帧。
[0193] 还用于在指定的时延之后,没有解析到该解码帧所对应的基本帧数据,则在POC指定的顺序,输出该已解码帧。
[0194] 实施例十二
[0195] 本发明实施例提供的一种视频数据解码的装置,包括处理器,用以执行图6所示的视频数据解码的方法,该处理器被具体配置为:
[0196] 用于从待解码码流中确定一待解码帧。
[0197] 还用于确定该帧属于基本帧还是冗余帧。示例性的,可以解析nal_unit_type,如果nal_unit_type为PREFIX_SEI_NUT,则解析payloadType,如果payloadType为数值A,则该帧属于基本帧。
[0198] 根据码流信息,可选的,第三确定单元1203,用于确定该帧与该帧所对应的冗余帧之间的位置关系,特殊情况,当允许基本帧和所对应的冗余帧位于不同的GOP中时,为了描述所述位置关系,还要确定基本帧和所对应的冗余帧间的GOP关系。
[0199] 还用于确定该帧的POC。
[0200] 还用于按照视频压缩编码标准,解析该帧的编码数据信息。
[0201] 还用于按照解析该帧码流得到的信息,重建该解码帧。
[0202] 还用于在POC指定的顺序,输出该已解码帧。
[0203] 本发明实施例二到六提供的解码装置,由于可以解码基本帧和所对应的冗余帧之间的位置关系信息,允许基本帧和所对应的冗余帧在码流中的位置保持一定的间隔,降低了基本帧和所对应的冗余帧同时丢失的可能性,增强了传输的鲁棒性,并且解码端对于解码基本帧和冗余帧的次序不再有要求,提高了传输的灵活性。
[0204] 需要另外说明的是,在本发明实施例中,在编码过程中,生成与所述待编码信息组对应的基本信息组和生成与所述待编码信息组对应的冗余信息组的步骤没有先后顺序,本发明实施例并不特别限定生成与所述待编码信息组对应的基本信息组一定要早于生成与所述待编码信息组对应的冗余信息组的步骤没有先后顺序。相应的,在解码过程中,本发明实施例也不限定解析得到与所述待解码信息组对应的基本信息组和解析得到与所述待解码信息组对应的冗余信息组的先后顺序。
[0205] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0206] 在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0207] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0208] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0209] 上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随机存取存储器)、磁碟或者光盘等各种可以存储程序代码的介质。
[0210] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。