视频编码方法、视频解码方法及相关装置与流程

文档序号:36241914发布日期:2023-12-02 04:35阅读:34来源:国知局
视频编码方法与流程

本技术涉及视频压缩,具体涉及一种视频编码方法、视频解码方法及相关装置。


背景技术:

1、随着视频压缩技术和通信技术的发展,全景视频已经出现在各个领域,给人们带来了新的观看方式和视觉体验。例如,在体育转播、演唱会、游戏直播、等场景,观众已不满足于单一视角,希望可以从多个视角观看,享受更加丰富的视频体验。

2、全景视频可以支持0~360°自由切换,通常需要传输多个视角的视频,每个视角的视频均独立进行编码压缩。多个视角的视频需要同时被编码压缩、传输和解码,不仅在编解码时需要消耗设备的很多计算资源,增加设备功耗,而且在传输过程中会占用过多的信道带宽,甚至会由于占用的带宽太大,导致无法传输,影响视频的正常播放。


技术实现思路

1、本技术实施例提供一种视频编码方法、视频解码方法及相关装置,用以减少视频编解码过程的资源消耗,同时减少视频在传输过程中占用的带宽。

2、第一方面,本技术实施例提供一种视频编码方法,该方法可以包括如下步骤:获取同一时刻的多个视角的视频图像,并将每个视频图像划分为n个图像块;基于多个视角的视频图像,生成n个图像块的编码数据;基于n个图像块的编码数据,得到多个视角的视频压缩流。其中,n为大于1的整数,n个图像块的编码数据中包括至少一个目标图像块的编码数据。目标图像块的编码数据中包括独立编码视角的目标图像块的编码信息和非独立编码视角的参考信息,非独立编码视角的参考信息用于指示非独立编码视角的目标图像块参照独立编码视角的目标图像块的编码信息进行解码;独立编码视角和非独立编码视角均为上述多个视角中的视角。

3、本技术实施例生成的n个图像块的编码数据中,至少一个图像块的编码数据包括非独立编码视角的参考信息,参考信息仅是用于指示该非独立编码视角的图像块可以参照其他视角的图像块的编码信息进行解码的指示信息。与对图像块进行编码得到的编码数据相比,参考信息的数据量很小,在某个非独立编码视角的图像块可以参照其他视角的相同位置的图像块时,采用参考信息可以减少冗余信息,提高数据压缩率,减小得到的编码数据的数据量,从而减小视频压缩流所占用的带宽,有利于多个视角的视频压缩流正常传输,使不同视角间的视频切换更加顺畅。

4、同时,与多个视角的视频图像均独立进行编码压缩相比,本技术实施例对可以参照其他视角的非独立编码视角的图像块不进行编码计算,可以节约视频编解码过程消耗设备的计算资源,降低设备功耗。

5、在一种可能的实现方式中,可以按照相同的划分方式将每个视频图像划分为n个图像块,每个视频图像中相同位置的图像块的编号相同。在生成n个图像块的编码数据时,可以按照n个图像块的编号顺序,依次将每个编号的图像块作为待编码图像块,通过如下方式生成待编码图像块的编码数据:对多个视角中的第一个视角的待编码图像块进行编码,得到第一个视角的编码信息;对于多个视角中除第一个视角之外的每个非首个视角,若该非首个视角为非独立编码视角,则生成该非首个视角的参考信息,若该非首个视角为独立编码视角,则生成该非首个视角的待编码图像块的编码信息;其中,第一个视角为独立编码视角。

6、上述实施例按照图像块的编号顺序,对同一编号的所有视角的图像块均处理完成之后,再对下一编号的所有视角的图像块进行处理。在对同一编号的图像块进行处理时,对于非独立编码视角,生成非独立编码视角的参考信息,可以减少视角间相同位置的图像块的冗余信息。

7、在一种可能的实现方式中,对于非首个视角,可以分别将该非首个视角的待编码图像块与已确定的每个独立编码视角的待编码图像块进行比较,确定每个独立编码视角相对于非首个视角的差异度;如果不存在差异度满足设定的差异度阈值的独立编码视角,则确定该非首个视角为独立编码视角,对该非首个视角的待编码图像块进行编码,得到该非首个视角的待编码图像块的编码信息。如果存在差异度满足设定的差异度阈值的独立编码视角,则确定该非首个视角为非独立编码视角,基于候选独立编码视角的信息生成非首个视角的参考信息;其中,候选独立编码视角指差异度满足设定的差异阈值的独立编码视角。

8、示例性地,如果候选独立编码视角仅包括一个独立编码视角,则将候选独立编码视角作为目标独立编码视角,基于目标独立编码视角的视角标识信息,生成该非首个视角的参考信息。如果候选独立编码视角中包括多个独立编码视角,则将差异度最小的独立编码视角作为目标独立编码视角,基于目标独立编码视角的视角标识信息,生成该非首个视角的参考信息。

9、上述实施例中,非独立编码视角的参考信息中仅包含目标独立编码视角的视角标识信息,其数据量很小,可以大幅度减小传输编码数据所占用的带宽和存储编码数据所占用的存储空间。

10、在一种可能的实现方式中,在生成非首个视角的参考信息时,可以确定该非首个视角的待编码图像块相对于目标独立编码视角的待编码图像块的像素点偏移量,生成包含目标独立编码视角的视角标识信息和像素点偏移量的参考信息,将得到的参考信息作为该非首个视角的参考信息。

11、上述实施例中,非独立编码视角的参考信息中包含像素点偏移量,在进行解码时,可以基于像素点偏移量,对目标独立编码视角的图像块进行调整,更准确地得到该非独立编码视角的图像块。

12、第二方面,本技术实施例提供一种视频解码方法,该方法包括如下步骤:

13、接收多个视角的视频压缩流,并获取视频压缩流中包含的n个图像块的编码数据;其中,n为大于1的整数。n个图像块的编码数据是对同一时刻的多个视角的视频图像进行编码得到的;n个图像块的编码数据中包括至少一个目标图像块的编码数据;目标图像块的编码数据中包括独立编码视角的目标图像块的编码信息和非独立编码视角的参考信息;非独立编码视角的参考信息用于指示非独立编码视角的目标图像块参照独立编码视角的目标图像块的编码信息进行解码;独立编码视角和非独立编码视角均包含在多个视角中;

14、对n个图像块的编码数据进行解码,得到n个图像块的解码数据;每个图像块的解码数据中均包括多个视角的解码数据;

15、分别将每个视角的解码数据拼接成一个视频图像,得到多个视角的视频图像。

16、与多个视角的视频图像均独立进行编码压缩相比,本技术实施例对编码数据中包含的非独立编码视角的参考信息,无需进行独立解码,可以参照其对应的目标独立编码视角的图像块的解码数据,获得该非独立编码视角的图像块的解码数据,因此可以减少解码过程的计算量,节约视频解码过程消耗的计算资源,降低视频播放设备的功耗。

17、在一种可能的实现方式中,在对n个图像块的编码数据进行解码时,可以按照n个图像块的编号顺序,依次将每个编号的图像块作为待解码图像块,通过如下方式得到待解码图像块的解码数据:对待解码图像块的编码数据中包含的独立编码视角的编码信息进行解码,得到独立编码视角的解码数据;若待解码图像块的编码数据中包含非独立编码视角的参考信息,则基于非独立编码视角的参考信息中包含的视角标识信息,确定非独立编码视角所参考的目标独立编码视角;基于目标独立编码视角的解码数据,得到非独立编码视角的解码数据;目标独立编码视角的解码数据是对目标独立编码视角的待解码图像块的编码信息进行解码得到的。

18、在一种可能的实现方式中,非独立编码视角的参考信息中包括像素点偏移量,可以基于像素点偏移量,对目标独立编码视角的解码数据进行调整,得到非独立编码视角的解码数据。

19、第三方面,本技术实施例还提供一种视频编码装置,包括处理器和收发机;

20、处理器用于:获取同一时刻的多个视角的视频图像,并将每个视频图像划分为n个图像块;基于多个视角的视频图像,生成n个图像块的编码数据,并基于n个图像块的编码数据,得到多个视角的视频压缩流;其中,n为大于1的整数;n个图像块的编码数据中包括至少一个目标图像块的编码数据;目标图像块的编码数据中包括独立编码视角的目标图像块的编码信息和非独立编码视角的参考信息;非独立编码视角的参考信息用于指示该非独立编码视角的目标图像块参照独立编码视角的目标图像块的编码信息进行解码;独立编码视角和非独立编码视角均包含在多个视角中。

21、收发机用于:在处理器的控制下,发送多个视角的视频压缩流。

22、在一种可能的实现方式中,每个视频图像中相同位置的图像块的编号相同;处理器具体可以用于,按照n个图像块的编号顺序,依次将每个编号的图像块作为待编码图像块,通过如下方式生成待编码图像块的编码数据:对多个视角中的第一个视角的待编码图像块进行编码,得到第一个视角的编码信息;其中,第一个视角为独立编码视角;对于多个视角中除第一个视角之外的每个非首个视角,若非首个视角为非独立编码视角,则生成非首个视角的参考信息,若非首个视角为独立编码视角,则生成非首个视角的待编码图像块的编码信息。

23、在一种可能的实现方式中,处理器具体可以用于:分别将非首个视角的待编码图像块与已确定的每个独立编码视角的待编码图像块进行比较,确定每个独立编码视角相对于非首个视角的差异度;若存在差异度满足设定的差异度阈值的独立编码视角,则确定非首个视角为非独立编码视角;基于候选独立编码视角的信息生成非首个视角的参考信息,其中,候选独立编码视角指差异度满足设定的差异阈值的独立编码视角。

24、在一种可能的实现方式中,处理器具体可以用于:若候选独立编码视角包括一个独立编码视角,则将候选独立编码视角作为目标独立编码视角;基于目标独立编码视角的视角标识信息,生成非首个视角的参考信息。

25、在一种可能的实现方式中,处理器具体可以用于:若候选独立编码视角包括多个独立编码视角,则将差异度最小的独立编码视角作为目标独立编码视角;基于目标独立编码视角的视角标识信息,生成非首个视角的参考信息。

26、在一种可能的实现方式中,处理器具体可以用于:确定非首个视角的待编码图像块相对于目标独立编码视角的待编码图像块的像素点偏移量;生成包含目标独立编码视角的视角标识信息和像素点偏移量的参考信息,其中,参考信息为非首个视角的参考信息。

27、在一种可能的实现方式中,处理器具体可以用于:分别将非首个视角的待编码图像块与已确定的每个独立编码视角的待编码图像块进行比较,确定每个独立编码视角相对于非首个视角的差异度;若不存在差异度满足设定的差异度阈值的独立编码视角,则确定非首个视角为独立编码视角;对非首个视角的待编码图像块进行编码,得到非首个视角的待编码图像块的编码信息。

28、第四方面,本技术实施例还提供一种视频解码装置,包括收发机和处理器;

29、收发机用于:在处理器的控制下,接收多个视角的视频压缩流;

30、处理器用于:获取视频压缩流中包含的n个图像块的编码数据,其中,n为大于1的整数;n个图像块的编码数据是对同一时刻的多个视角的视频图像进行编码得到的;n个图像块的编码数据中包括至少一个目标图像块的编码数据;目标图像块的编码数据中包括独立编码视角的目标图像块的编码信息和非独立编码视角的参考信息;非独立编码视角的参考信息用于指示非独立编码视角的目标图像块参照独立编码视角的目标图像块的编码信息进行解码;独立编码视角和非独立编码视角均包含在多个视角中;

31、对n个图像块的编码数据进行解码,得到n个图像块的解码数据,每个图像块的解码数据中均包括多个视角的解码数据;

32、分别将每个视角的解码数据拼接成一个视频图像,得到多个视角的视频图像。

33、在一种可能的实现方式中,处理器具体可以用于:按照n个图像块的编号顺序,依次将每个编号的图像块作为待解码图像块,通过如下方式得到待解码图像块的解码数据:对待解码图像块的编码数据中包含的独立编码视角的编码信息进行解码,得到独立编码视角的解码数据;若待解码图像块的编码数据中包含非独立编码视角的参考信息,则基于非独立编码视角的参考信息中包含的视角标识信息,确定非独立编码视角所参考的目标独立编码视角;基于目标独立编码视角的解码数据,得到非独立编码视角的解码数据;目标独立编码视角的解码数据是对目标独立编码视角的待解码图像块的编码信息进行解码得到的。

34、在一种可能的实现方式中,非独立编码视角的参考信息中包括像素点偏移量。处理器具体可以用于:基于像素点偏移量,对目标独立编码视角的解码数据进行调整,得到非独立编码视角的解码数据。

35、第五方面,本技术实施例还提供一种视频编码装置,该视频编码装置包括相应的功能模块,分别用于实现第一方面提供的各方法中的步骤,具体参见方法示例中的详细描述,此处不做赘述。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。例如,视频编码装置可以包括图像划分单元和编码单元。图像划分单元,用于获取同一时刻的多个视角的视频图像,并将每个视频图像划分为n个图像块;其中,n为大于1的整数;编码单元,用于基于多个视角的视频图像,生成n个图像块的编码数据,并基于n个图像块的编码数据,得到多个视角的视频压缩流;其中,n个图像块的编码数据中包括至少一个目标图像块的编码数据;目标图像块的编码数据中包括独立编码视角的目标图像块的编码信息和非独立编码视角的参考信息;非独立编码视角的参考信息用于指示该非独立编码视角的目标图像块参照独立编码视角的目标图像块的编码信息进行解码;独立编码视角和非独立编码视角均包含在多个视角中。

36、第六方面,本技术实施例还提供一种视频解码装置,该视频解码装置包括相应的功能模块,分别用于实现第二方面提供的各方法中的步骤,具体参见方法示例中的详细描述,此处不做赘述。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。例如,视频解码装置可以包括数据接收单元和解码单元;数据接收单元,用于接收多个视角的视频压缩流,并获取视频压缩流中包含的n个图像块的编码数据,其中,n为大于1的整数;n个图像块的编码数据是对同一时刻的多个视角的视频图像进行编码得到的;n个图像块的编码数据中包括至少一个目标图像块的编码数据;目标图像块的编码数据中包括独立编码视角的目标图像块的编码信息和非独立编码视角的参考信息;非独立编码视角的参考信息用于指示非独立编码视角的目标图像块参照独立编码视角的目标图像块的编码信息进行解码;独立编码视角和非独立编码视角均包含在多个视角中;解码单元,用于对n个图像块的编码数据进行解码,得到n个图像块的解码数据,每个图像块的解码数据中均包括多个视角的解码数据;分别将每个视角的解码数据拼接成一个视频图像,得到多个视角的视频图像。

37、第七方面,本技术实施例还提供一种视频传输系统,包括第三方面提供的任一种视频编码装置和第四方面提供的任一种视频解码装置。

38、第八方面,本技术提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序或指令,当计算机程序或指令被终端设备执行时,使得该终端设备执行上述第一方面提供的任一种方法或第二方面提供的任一种方法。

39、第九方面,本技术提供一种计算机程序产品,该计算机程序产品包括计算机程序或指令,当该计算机程序或指令被终端设备执行时,实现上述第一方面提供的任一种方法或第二方面提供的任一种方法。

40、上述第三方面至第九方面中任一方面可以达到的技术效果可以参照上述第一方面或第二方面中有益效果的描述,此处不再重复赘述。

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