支持多视图可适性的OLS的制作方法

文档序号:34878764发布日期:2023-07-25 11:47阅读:32来源:国知局
支持多视图可适性的OLS的制作方法

本发明通常涉及视频译码,具体地涉及在多层码流中配置输出层集(outputlayer set,ols),以支持多视图视频的空间可适性和信噪比(signal to noise,snr)可适性。


背景技术:

1、即使是相对较短的视频,也需要大量的视频数据来描述,这可能会导致数据在带宽容量受限的通信网络中进行流式传输或以其它方式传输时遇到困难。因此,视频数据通常需要先进行压缩,然后通过现代电信网络进行传输。由于内存资源可能有限,在存储设备中存储视频时,该视频的大小也可能是一个问题。视频压缩设备通常在源侧使用软件和/或硬件对该视频数据进行译码,然后进行传输或存储,从而减少用于表示数字视频图像所需的数据量。然后,对视频数据进行解码的视频解压缩设备在目的地侧接收压缩后的数据。在网络资源有限以及对更高视频质量的需求不断增长的情况下,需要改进压缩和解压缩技术,从而能够在几乎不影响图像质量的情况下提高压缩比。


技术实现思路

1、在一个实施例中,本发明包括一种由解码器实现的方法。所述方法包括:所述解码器的接收器接收包括输出层集(output layer set,ols)和视频参数集(video parameterset,vps)的码流,其中,所述ols包括一层或多层编码图像,所述vps包括ols模式识别码(ols_mode_idc),表示对于每个ols,所述每个ols中的所有层均为输出层;所述解码器的处理器根据所述vps中的ols_mode_idc确定所述输出层;所述解码器的处理器对来自所述输出层的编码图像进行解码,以产生解码图像。

2、一些视频译码系统用于仅解码并输出由层id表示的最高编码层以及一个或多个被指示的较低层。由于解码器可能不希望解码最高层,因此这可能会在可适性方面带来问题。具体地,解码器通常请求解码器能够支持的最高层,但是解码器通常又无法解码高于被请求层的层。在一个特定的示例中,解码器可能希望接收和解码总编码层为15层中的第三层。该第三层可以在没有第4层到第15层的情况下被发送到解码器,因为不需要通过这些层来解码第三层。但是,解码器可能无法正确解码和显示该第三层,因为最高层(第15层)不存在,而且视频系统总是被指示要解码并显示该最高层。因此,在此类系统中尝试视频可适性时会产生错误。因为解码器需要始终支持最高层,会导致系统无法根据不同的硬件和网络要求调整到中间层,所以这个问题很严重。使用多视图后,这个问题更加严重。在多视图中,将输出不止一层进行显示。例如,用户可以使用耳机,并且可以向每只眼睛显示不同的层,从而创建三维(three dimensional,3d)视频的印象。不支持可适性的系统也不支持多视图可适性。

3、本示例包括一种支持多视图可适性的机制。这些层包含在多个ols中。编码器可以发送包含这些层的ols,以调整到特定的特性,如大小或snr。进一步地,所述编码器可以,例如,在vps中传输ols_mode_idc语法元素。所述ols_mode_idc语法元素可以设置为1,表示支持多视图可适性。例如,所述ols_mode_idc可以表示ols的总数等于所述vps中指定的层的总数,表示第i个ols包括层0~层i(包括首尾值),并表示对于每个ols,所有层都被视为输出层。这样可以支持可适性,因为所述解码器可以接收并解码特定ols中的所有层。由于所有层均为输出层,因此所述解码器可以选择和渲染所需的输出层。这样,经编码的层的总数可能不会对解码过程产生影响,并且可以避免错误,同时仍然可以提供可适性多视图视频。因此,所公开的机制改进了编码器和/或解码器的功能。此外,所公开的机制还可以减小码流的大小,从而减少编码器侧和解码器侧对处理器、存储器和/或网络资源的使用。在一个特定实施例中,使用所述ols_mode_idc可以为包括共用很多数据的多个ols的多个编码码流节省比特,从而节省了流媒体服务器中的比特,并为传输此类码流节省带宽。例如,将所述ols_mode_idc设置为1的优点是支持多视图应用等的使用案例,其中,两个或多个视图(每个视图由一层表示)将同时输出并显示。

4、可选地,根据上述任一方面,在本方面的另一种实现方式中,所述ols_mode_idc表示所述vps指定的ols的总数等于所述vps指定的层数。

5、可选地,根据上述任一方面,在本方面的另一种实现方式中,所述ols_mode_idc表示第i个ols包括层索引为0~i(包括首尾值)的层。

6、可选地,根据上述任一方面,在本方面的另一种实现方式中,所述ols_mode_idc等于1。

7、可选地,根据上述任一方面,在本方面的另一种实现方式中,所述vps包括vps_max_layers_minusl(vps maximum layers minus one),表示所述vps指定的层数,其是参考所述vps的每个编码视频序列(coded video sequence,cvs)中允许的最大层数。

8、可选地,根据上述任一方面,在本方面的另一种实现方式中,当所述ols_mode_idc等于0时,或者当所述ols_mode_idc等于1时,所述ols的总数(totalnumolss)等于vps_max_layers_minus1+1。

9、可选地,根据上述任一方面,在本方面的另一种实现方式中,第i个ols中的层数(numlayersinols[i])和所述第i个ols中第j层的网络抽象层(network abstractionlayer,nal)单元头层标识(nuh_layer_id)的值(layeridinols[i][j])推导如下:

10、

11、

12、其中,vps_layer_id[i]为第i个vps层标识,totalnumolss为所述vps指定的ols的总数,each_layer_is_an_ols_flag(each layer is an ols flag)表示至少一个ols是否包括不止一层。

13、在一个实施例中,本发明包括一种由编码器实现的方法。所述方法包括:编码器的处理器对包括一个或多个ols的码流进行编码,其中,所述一个或多个ols包括一层或多层编码图像;所述处理器将vps编码到所述码流中,其中,所述vps包括ols_mode_idc,表示对于每个ols,所述每个ols中的所有层均为输出层;耦合到所述处理器的存储器存储所述码流,以发送给解码器。

14、一些视频译码系统用于仅解码并输出由层id表示的最高编码层以及一个或多个被指示的较低层。由于解码器可能不希望解码最高层,因此这可能会在可适性方面带来问题。具体地,解码器通常请求解码器能够支持的最高层,但是解码器通常又无法解码高于被请求层的层。在一个特定的示例中,解码器可能希望接收和解码总编码层为15层中的第三层。该第三层可以在没有第4层到第15层的情况下被发送到解码器,因为不需要通过这些层来解码第三层。但是,解码器可能无法正确解码和显示该第三层,因为最高层(第15层)不存在,而且视频系统总是被指示要解码并显示该最高层。因此,在此类系统中尝试视频可适性时会产生错误。因为解码器需要始终支持最高层,会导致系统无法根据不同的硬件和网络要求调整到中间层,所以这个问题很严重。使用多视图后,这个问题更加严重。在多视图中,将输出不止一层进行显示。例如,用户可以使用耳机,并且可以向每只眼睛显示不同的层,从而创建三维(three dimensional,3d)视频的印象。不支持可适性的系统也不支持多视图可适性。

15、本示例包括一种支持多视图可适性的机制。这些层包含在多个ols中。编码器可以发送包含这些层的ols,以调整到特定的特性,如大小或snr。进一步地,所述编码器可以,例如,在vps中传输ols_mode_idc语法元素。所述ols_mode_idc语法元素可以设置为1,表示支持多视图可适性。例如,所述ols_mode_idc可以表示ols的总数等于所述vps中指定的层的总数,表示第i个ols包括层0~层i(包括首尾值),并表示对于每个ols,所有层都被视为输出层。这样可以支持可适性,因为所述解码器可以接收并解码特定ols中的所有层。由于所有层均为输出层,因此所述解码器可以选择和渲染所需的输出层。这样,经编码的层的总数可能不会对解码过程产生影响,并且可以避免错误,同时仍然可以提供可适性多视图视频。因此,所公开的机制改进了编码器和/或解码器的功能。此外,所公开的机制还可以减小码流的大小,从而减少编码器侧和解码器侧对处理器、存储器和/或网络资源的使用。在一个特定实施例中,使用所述ols_mode_idc可以为包括共用很多数据的多个ols的多个编码码流节省比特,从而节省了流媒体服务器中的比特,并为传输此类码流节省带宽。例如,将所述ols_mode_idc设置为1的优点是支持多视图应用等的使用案例,其中,两个或多个视图(每个视图由一层表示)将同时输出并显示。

16、可选地,根据上述任一方面,在本方面的另一种实现方式中,所述ols_mode_idc表示所述vps指定的ols的总数等于所述vps指定的层数。

17、可选地,根据上述任一方面,在本方面的另一种实现方式中,所述ols_mode_idc表示第i个ols包括层索引为0~i(包括首尾值)的层。

18、可选地,根据上述任一方面,在本方面的另一种实现方式中,所述ols_mode_idc等于1。

19、可选地,根据上述任一方面,在本方面的另一种实现方式中,所述vps包括vps_max_layers_minusl,表示所述vps指定的层数,其是参考所述vps的每个cvs中允许的最大层数。

20、可选地,根据上述任一方面,在本方面的另一种实现方式中,当所述ols_mode_idc等于0时,或者当所述ols_mode_idc等于1时,totalnumolss等于vps_max_layers_minus1+1。

21、可选地,根据上述任一方面,在本方面的另一种实现方式中,numlayersinols[i]和layeridinols[i][j]推导如下:

22、

23、其中,vps_layer_id[i]为第i个vps层标识,totalnumolss为所述vps指定的ols的总数,each_layer_is_an_ols_flag(each layer is an ols flag)表示至少一个ols是否包括不止一层。

24、在一个实施例中,本发明包括一种视频译码设备。所述视频译码设备包括:处理器、耦合到所述处理器的接收器、耦合到所述处理器的存储器和耦合到所述处理器的发送器,其中,所述处理器、所述接收器、所述存储器和所述发送器用于执行上述任一方面所述的方法。

25、在一个实施例中,本发明包括一种非瞬时性计算机可读介质。所述非瞬时性计算机可读介质包括供视频译码设备使用的计算机程序产品,其中,所述计算机程序产品包括存储在所述非瞬时性计算机可读介质中的计算机可执行指令,当所述计算机可执行指令由处理器执行时,使得所述视频译码设备执行上述任一方面所述的方法。

26、在一个实施例中,本发明包括一种解码器。所述解码器包括:接收模块,用于接收包括ols和vps的码流,其中,所述ols包括一层或多层编码图像,所述vps包括ols_mode_idc,表示对于每个ols,所述每个ols中的所有层均为输出层;确定模块,用于根据所述vps中的ols_mode_idc确定所述输出层;解码模块,用于对来自所述输出层的编码图像进行解码,以产生解码图像;转发模块,用于转发所述解码图像,以显示为解码视频序列的一部分。

27、一些视频译码系统用于仅解码并输出由层id表示的最高编码层以及一个或多个被指示的较低层。由于解码器可能不希望解码最高层,因此这可能会在可适性方面带来问题。具体地,解码器通常请求解码器能够支持的最高层,但是解码器通常又无法解码高于被请求层的层。在一个特定的示例中,解码器可能希望接收和解码总编码层为15层中的第三层。该第三层可以在没有第4层到第15层的情况下被发送到解码器,因为不需要通过这些层来解码第三层。但是,解码器可能无法正确解码和显示该第三层,因为最高层(第15层)不存在,而且视频系统总是被指示要解码并显示该最高层。因此,在此类系统中尝试视频可适性时会产生错误。因为解码器需要始终支持最高层,会导致系统无法根据不同的硬件和网络要求调整到中间层,所以这个问题很严重。使用多视图后,这个问题更加严重。在多视图中,将输出不止一层进行显示。例如,用户可以使用耳机,并且可以向每只眼睛显示不同的层,从而创建三维(three dimensional,3d)视频的印象。不支持可适性的系统也不支持多视图可适性。

28、本示例包括一种支持多视图可适性的机制。这些层包含在多个ols中。编码器可以发送包含这些层的ols,以调整到特定的特性,如大小或snr。进一步地,所述编码器可以,例如,在vps中传输ols_mode_idc语法元素。所述ols_mode_idc语法元素可以设置为1,表示支持多视图可适性。例如,所述ols_mode_idc可以表示ols的总数等于所述vps中指定的层的总数,表示第i个ols包括层0~层i(包括首尾值),并表示对于每个ols,所有层都被视为输出层。这样可以支持可适性,因为所述解码器可以接收并解码特定ols中的所有层。由于所有层均为输出层,因此所述解码器可以选择和渲染所需的输出层。这样,经编码的层的总数可能不会对解码过程产生影响,并且可以避免错误,同时仍然可以提供可适性多视图视频。因此,所公开的机制改进了编码器和/或解码器的功能。此外,所公开的机制还可以减小码流的大小,从而减少编码器侧和解码器侧对处理器、存储器和/或网络资源的使用。在一个特定实施例中,使用所述ols_mode_idc可以为包括共用很多数据的多个ols的多个编码码流节省比特,从而节省了流媒体服务器中的比特,并为传输此类码流节省带宽。例如,将所述ols_mode_idc设置为1的优点是支持多视图应用等的使用案例,其中,两个或多个视图(每个视图由一层表示)将同时输出并显示。

29、可选地,根据上述任一方面,在本方面的另一种实现方式中,所述解码器还用于执行上述任一方面所述的方法。

30、在一个实施例中,本发明包括一种编码器。所述编码器包括:编码模块,用于:对包括一个或多个ols的码流进行编码,其中,所述一个或多个ols包括一层或多层编码图像;将vps编码到所述码流中,其中,所述vps包括ols_mode_idc,表示对于每个ols,所述每个ols中的所有层均为输出层;存储模块,用于存储所述码流,以发送给解码器。

31、一些视频译码系统用于仅解码并输出由层id表示的最高编码层以及一个或多个被指示的较低层。由于解码器可能不希望解码最高层,因此这可能会在可适性方面带来问题。具体地,解码器通常请求解码器能够支持的最高层,但是解码器通常又无法解码高于被请求层的层。在一个特定的示例中,解码器可能希望接收和解码总编码层为15层中的第三层。该第三层可以在没有第4层到第15层的情况下被发送到解码器,因为不需要通过这些层来解码第三层。但是,解码器可能无法正确解码和显示该第三层,因为最高层(第15层)不存在,而且视频系统总是被指示要解码并显示该最高层。因此,在此类系统中尝试视频可适性时会产生错误。因为解码器需要始终支持最高层,会导致系统无法根据不同的硬件和网络要求调整到中间层,所以这个问题很严重。使用多视图后,这个问题更加严重。在多视图中,将输出不止一层进行显示。例如,用户可以使用耳机,并且可以向每只眼睛显示不同的层,从而创建三维(three dimensional,3d)视频的印象。不支持可适性的系统也不支持多视图可适性。

32、本示例包括一种支持多视图可适性的机制。这些层包含在多个ols中。编码器可以发送包含这些层的ols,以调整到特定的特性,如大小或snr。进一步地,所述编码器可以,例如,在vps中传输ols_mode_idc语法元素。所述ols_mode_idc语法元素可以设置为1,表示支持多视图可适性。例如,所述ols_mode_idc可以表示ols的总数等于所述vps中指定的层的总数,表示第i个ols包括层0~层i(包括首尾值),并表示对于每个ols,所有层都被视为输出层。这样可以支持可适性,因为所述解码器可以接收并解码特定ols中的所有层。由于所有层均为输出层,因此所述解码器可以选择和渲染所需的输出层。这样,经编码的层的总数可能不会对解码过程产生影响,并且可以避免错误,同时仍然可以提供可适性多视图视频。因此,所公开的机制改进了编码器和/或解码器的功能。此外,所公开的机制还可以减小码流的大小,从而减少编码器侧和解码器侧对处理器、存储器和/或网络资源的使用。在一个特定实施例中,使用ols_mode_idc可以为包括共用很多数据的多个ols的多个编码码流节省比特,从而节省了流媒体服务器中的比特,并为传输此类码流节省带宽。例如,将ols_mode_idc设置为1的优点是支持多视图应用等的使用案例,其中,两个或多个视图(每个视图由一层表示)将同时输出并显示。

33、可选地,根据上述任一方面,在本方面的另一种实现方式中,所述编码器还用于执行上述任一方面所述的方法。

34、为了清楚起见,任一上述实施例可以与上述其它任何一个或多个实施例组合,创建本发明范围内的新实施例。

35、根据以下结合附图和权利要求书描述的具体实施方式,可以更清楚地理解这些特征及其它特征。

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