本公开总体上涉及视频处理。具体地,本公开涉及用于视频编码中的熵编码的上下文初始化。
背景技术:
1、诸如智能手机、平板电脑、以及计算机等普遍存在的有摄像功能的设备使采集视频或图像变得比以往更容易。然而,即使是短视频,数据量也可以非常大。视频编码技术(包括视频编码和视频解码)可以将视频数据压缩得更小,从而可以存储和传输各种视频。视频编码已被广泛应用于诸如数字电视广播、通过互联网和移动网络的视频传输、实时应用(例如,视频聊天、视频会议)、dvd和蓝光光盘等。为了减少用于存储视频的存储空间和/或用于传输视频的网络带宽消耗,需要提高视频编码方案的效率。
技术实现思路
1、一些实施例涉及用于视频编码中的熵编码的上下文初始化。在一个示例中,一种用于从表示视频的视频码流中解码视频的方法包括:从视频码流中访问二进制串,二进制串表示视频的帧的条带;将条带的熵编码模型的初始上下文值确定为针对条带的先前条带中的第一ctu存储的第一上下文值、针对先前条带中的第二ctu存储的第二上下文值、以及与先前条带无关的默认初始上下文值中的一个;通过根据具有初始上下文值的熵编码模型解码二进制串的至少一部分,对条带进行解码;至少部分地基于解码的条带重建视频的帧;以及使重建的帧与视频的其他帧一起被显示。
2、在另一示例中,一种非暂时性计算机可读介质存储有程序代码,并且该程序代码可在一个或多个处理设备上运行以执行操作。上述操作包括从表示视频的视频码流中访问二进制串,二进制串表示视频的帧的条带;将条带的熵编码模型的初始上下文值确定为针对条带的先前条带中的第一ctu存储的第一上下文值、针对先前条带中的第二ctu存储的第二上下文值、以及与先前条带无关的默认初始上下文值中的一个;通过根据具有初始上下文值的熵编码模型解码二进制串的至少一部分,对条带进行解码;至少部分地基于解码的条带重建视频的帧;以及使重建的帧与视频的其他帧一起被显示。
3、在又一示例中,一种系统包括:处理设备;以及通信地耦合到该处理设备的非暂时性计算机可读介质。处理设备用于执行存储在非暂时性计算机可读介质中的程序代码,从而执行操作。上述操作包括从表示视频的视频码流中访问二进制串,二进制串表示视频的帧的条带;将条带的熵编码模型的初始上下文值确定为针对条带的先前条带中的第一ctu存储的第一上下文值、针对先前条带中的第二ctu存储的第二上下文值、以及与先前条带无关的默认初始上下文值中的一个;通过根据具有初始上下文值的熵编码模型解码二进制串的至少一部分,对条带进行解码;至少部分地基于解码的条带重建视频的帧;以及使重建的帧与视频的其他帧一起被显示。
4、在一个示例中,一种用于从表示视频的视频码流中解码视频的方法包括:从视频码流中访问二进制串,二进制串表示视频的划分;从视频码流中访问二进制串,二进制串表示视频的划分;通过基于与先前划分相关联的初始上下文值、先前划分的条带量化参数、以及划分的条带量化参数对针对划分的先前划分中的ctu存储的上下文值进行转换,确定划分的熵编码模型的初始上下文值;通过根据具有初始上下文值的熵编码模型解码二进制串的至少一部分,对划分进行解码;至少部分地基于解码的划分重建视频的帧;以及使重建的帧被显示。
5、在另一示例中,一种非暂时性计算机可读介质存储有程序代码,并且该程序代码可在一个或多个处理设备上运行以执行操作。上述操作包括从视频码流中访问二进制串,二进制串表示视频的划分;通过基于与先前划分相关联的初始上下文值、先前划分的条带量化参数、以及划分的条带量化参数对针对划分的先前划分中的ctu存储的上下文值进行转换,确定划分的熵编码模型的初始上下文值;通过根据具有初始上下文值的熵编码模型解码二进制串的至少一部分,对划分进行解码;至少部分地基于解码的划分重建视频的帧;以及使重建的帧被显示。
6、在又一示例中,一种系统包括:处理设备;以及通信地耦合到该处理设备的非暂时性计算机可读介质。处理设备用于执行存储在非暂时性计算机可读介质中的程序代码,从而执行操作。上述操作包括从视频的视频码流中访问二进制串,二进制串表示视频的帧的划分;通过基于与先前划分相关联的初始上下文值、先前划分的条带量化参数、以及划分的条带量化参数对针对帧的先前帧中的ctu存储的上下文值进行转换,确定划分的熵编码模型的初始上下文值;通过根据具有初始上下文值的熵编码模型解码二进制串的至少一部分,对划分进行解码;至少部分地基于解码的划分重建视频的帧;以及使重建的帧被显示。
7、在一个示例中,一种用于从表示视频的视频码流中解码视频的方法包括:从视频码流中访问二进制串,二进制串表示视频的帧的划分;通过基于与先前帧相关联的初始上下文值、先前帧的量化参数、以及帧的条带量化参数对针对帧的先前帧中的ctu存储在缓冲器中的上下文值进行转换,确定划分的熵编码模型的初始上下文值;通过根据具有初始上下文值的熵编码模型解码二进制串的至少一部分,对划分进行解码;用在解码划分时确定的帧中的ctu的上下文值替换存储在缓冲器中的上下文值;至少部分地基于解码的划分重建视频的帧;以及使重建的帧被显示。
8、在另一示例中,一种非暂时性计算机可读介质存储有程序代码,并且该程序代码可在一个或多个处理设备上运行以执行操作。上述操作包括从视频的视频码流中访问二进制串,二进制串表示视频的划分;通过基于与先前帧相关联的初始上下文值、先前帧的条带量化参数、以及帧的条带量化参数对针对划分的先前划分中的ctu存储在缓冲器中的上下文值进行转换,确定划分的熵编码模型的初始上下文值;通过根据具有初始上下文值的熵编码模型解码二进制串的至少一部分,对划分进行解码;用在解码划分时确定的帧中的ctu的上下文值替换存储在缓冲器中的上下文值;至少部分地基于解码的划分重建视频的帧;以及使重建的帧被显示。
9、在又一示例中,一种系统包括:处理设备;以及通信地耦合到该处理设备的非暂时性计算机可读介质。处理设备用于执行存储在非暂时性计算机可读介质中的程序代码,从而执行操作。上述操作包括从视频的视频码流中访问二进制串,二进制串表示视频的帧的划分;通过基于与先前帧相关联的初始上下文值、先前帧的条带量化参数、以及帧的量化参数对针对帧的先前帧中的ctu存储在缓冲器中的上下文值进行转换,确定划分的熵编码模型的初始上下文值;通过根据具有初始上下文值的熵编码模型解码二进制串的至少一部分,对划分进行解码;用在解码划分时确定的帧中的ctu的上下文值替换存储在缓冲器中的上下文值;至少部分地基于解码的划分重建视频的帧;以及使重建的帧被显示。
10、提及这些说明性实施例不是为了限制或定义本公开,而是为了提供示例来帮助理解本公开。具体实现方式中讨论了其他实施例,并提供了进一步的描述。
1.一种用于从表示视频的视频码流中解码所述视频的方法,所述方法包括:
2.根据权利要求1所述的方法,其中,所述先前条带中的ctu根据编码顺序被编码,并且在所述先前条带中所述第一ctu在所述第二ctu之前被编码。
3.根据权利要求2所述的方法,其中,所述第一ctu的位置通过以下确定
4.根据权利要求1所述的方法,其中,确定所述初始上下文值包括:
5.根据权利要求4所述的方法,其中,确定所述初始上下文值还包括:
6.根据权利要求1所述的方法,其中,确定所述初始上下文值包括:
7.根据权利要求1所述的方法,其中,确定所述初始上下文值包括:
8.一种非暂时性计算机可读介质,所述非暂时性计算机可读介质存储有程序代码,所述程序代码可在一个或多个处理设备上运行以执行包括以下的操作:
9.根据权利要求8所述的非暂时性计算机可读介质,其中,所述先前条带中的ctu根据编码顺序被编码,并且在所述先前条带中所述第一ctu在所述第二ctu之前被编码。
10.根据权利要求9所述的非暂时性计算机可读介质,其中,所述第一ctu的位置通过以下确定
11.根据权利要求8所述的非暂时性计算机可读介质,其中,确定所述初始上下文值包括:
12.根据权利要求11所述的非暂时性计算机可读介质,其中,确定所述初始上下文值还包括:
13.根据权利要求8所述的非暂时性计算机可读介质,其中,确定所述初始上下文值包括:
14.根据权利要求8所述的非暂时性计算机可读介质,其中,确定所述初始上下文值包括:
15.一种系统,包括:
16.根据权利要求15所述的系统,其中,所述第一ctu的位置通过以下确定
17.根据权利要求15所述的系统,其中,确定所述初始上下文值包括:
18.根据权利要求17所述的系统,其中,确定所述初始上下文值还包括:
19.根据权利要求15所述的系统,其中,确定所述初始上下文值包括:
20.根据权利要求15所述的系统,其中,确定所述初始上下文值包括:
21.一种用于从表示视频的视频码流中解码所述视频的方法,所述方法包括:
22.根据权利要求21所述的方法,其中,针对所述先前划分中的ctu存储的所述上下文值包括针对先前划分中的解码顺序上的中心ctu存储的第一上下文值,或针对所述先前划分中的所述解码顺序上的最后ctu存储的第二上下文值。
23.根据权利要求21所述的方法,其中,与所述先前划分相关联的所述初始上下文值包括至少部分地基于所述先前划分的所述条带量化参数确定的默认初始上下文值,或至少部分地基于针对所述先前划分的先前划分中的ctu存储的上下文值确定的初始上下文值。
24.根据权利要求21所述的方法,其中,所述划分是帧,并且所述先前划分是根据所述视频的编码顺序在所述帧之前的帧。
25.根据权利要求21所述的方法,其中,所述划分是帧,并且所述先前划分是在所述帧之前编码的、所述帧下方的时域层中最接近的帧。
26.根据权利要求21所述的方法,其中,所述划分是帧,并且根据所述视频的运动补偿信息,所述先前划分是所述帧的参考帧。
27.根据权利要求26所述的方法,其中,确定所述划分的所述熵编码模型的所述初始上下文值还基于针对所述划分的第二先前划分中的第二ctu存储的第二上下文值,并且其中根据所述视频的所述运动补偿信息,所述第二先前划分是所述帧的第二参考帧。
28.一种非暂时性计算机可读介质,所述非暂时性计算机可读介质存储有程序代码,所述程序代码可在一个或多个处理设备上运行以执行包括以下的操作:
29.根据权利要求28所述的非暂时性计算机可读介质,其中,针对所述先前划分中的ctu存储的所述上下文值包括针对先前划分中的解码顺序上的中心ctu存储的第一上下文值,或针对所述先前划分中的解码顺序上的最后ctu存储的第二上下文值。
30.根据权利要求28所述的非暂时性计算机可读介质,其中,与所述先前划分相关联的所述初始上下文值包括至少部分地基于所述先前划分的所述条带量化参数而确定的默认初始上下文值,或至少部分地基于针对所述先前划分的先前划分中的ctu存储的上下文值而确定的初始上下文值。
31.根据权利要求28所述的非暂时性计算机可读介质,其中,所述划分是帧,并且所述先前划分是根据所述视频的编码顺序在所述帧之前的帧。
32.根据权利要求28所述的非暂时性计算机可读介质,其中,所述划分是帧,并且所述先前划分是在所述帧之前编码的、所述帧下方的时域层中最接近的帧。
33.根据权利要求28所述的非暂时性计算机可读介质,其中,所述划分是帧,并且根据所述视频的运动补偿信息,所述先前划分是所述帧的参考帧。
34.根据权利要求33所述的非暂时性计算机可读介质,其中,确定所述划分的所述熵编码模型的所述初始上下文值还基于针对所述划分的第二先前划分中的第二ctu存储的第二上下文值,并且其中根据所述视频的所述运动补偿信息,所述第二先前划分是所述帧的第二参考帧。
35.一种系统,包括:
36.根据权利要求35所述的系统,其中,针对所述先前划分中的ctu存储的所述上下文值包括针对先前划分中的解码顺序上的中心ctu存储的第一上下文值,或针对所述先前划分中的解码顺序上的最后ctu存储的第二上下文值。
37.根据权利要求35所述的系统,其中,与所述先前划分相关联的所述初始上下文值包括至少部分地基于所述先前划分的所述条带量化参数而确定的默认初始上下文值,或至少部分地基于针对所述先前划分的先前划分中的ctu存储的上下文值而确定的初始上下文值。
38.根据权利要求35所述的系统,其中,所述划分是帧,并且所述先前划分是根据所述视频的编码顺序在所述帧之前的帧,或是在所述帧之前编码的、所述帧下方的时域层中最接近的帧。
39.根据权利要求35所述的系统,其中,所述划分是帧,并且根据所述视频的运动补偿信息,所述先前划分是所述帧的参考帧。
40.根据权利要求39所述的系统,其中,确定所述划分的所述熵编码模型的所述初始上下文值还基于针对所述划分的第二先前划分中的第二ctu存储的第二上下文值,并且其中根据所述视频的所述运动补偿信息,所述第二先前划分是所述帧的第二参考帧。
41.一种用于从表示视频的视频码流中解码所述视频的方法,所述方法包括:
42.根据权利要求41所述的方法,其中,针对所述先前帧中的ctu存储的所述上下文值包括针对所述先前帧的划分中的解码顺序上的中心ctu存储的第一上下文值,或针对所述先前帧的所述划分中的所述解码顺序上的最后ctu存储的第二上下文值。
43.根据权利要求41所述的方法,其中,与所述先前帧相关联的所述初始上下文值包括至少部分地基于所述先前帧的所述条带量化参数确定的默认初始上下文值。
44.根据权利要求41所述的方法,其中,与所述先前帧相关联的所述初始上下文值包括至少部分地基于针对所述先前帧的先前帧中的ctu存储的上下文概率确定的初始上下文值,其中,确定所述划分的所述熵编码模型的所述初始上下文值包括,响应于确定所述帧的所述条带量化参数与所述先前帧的所述条带量化参数相同,将所述初始上下文值确定为存储在所述缓冲器中的所述上下文值,其中,响应于确定所述帧的所述条带量化参数与所述先前帧的所述条带量化参数不同,执行所述转换。
45.根据权利要求41所述的方法,其中,基于所述帧的时域层索引识别所述缓冲器。
46.根据权利要求45所述的方法,其中,所述缓冲器是多个缓冲器中的一个,所述多个缓冲器中的每个缓冲器用于存储多个时域层中的对应时域层中的帧的上下文值。
47.根据权利要求46所述的方法,其中,所述多个缓冲器中的缓冲器的数量被确定为5与视频参数集(vps)或序列参数集(sps)中指定的max_sublayers_minus1之间的较大值,其中,max_sublayers_minus1表示所述视频的最大时域层数。
48.一种非暂时性计算机可读介质,所述非暂时性计算机可读介质存储有程序代码,所述程序代码可在一个或多个处理设备上运行以执行包括以下的操作:
49.根据权利要求48所述的非暂时性计算机可读介质,其中,针对所述先前帧中的ctu存储的所述上下文值包括针对所述先前帧的划分中的解码顺序上的中心ctu存储的第一上下文值,或针对所述先前帧的所述划分中的解码顺序上的最后ctu存储的第二上下文值。
50.根据权利要求48所述的非暂时性计算机可读介质,其中,与所述先前帧相关联的所述初始上下文值包括至少部分地基于所述先前帧的所述条带量化参数而确定的默认初始上下文值。
51.根据权利要求48所述的非暂时性计算机可读介质,其中,与所述先前帧相关联的所述初始上下文值包括至少部分地基于针对所述先前帧的先前帧中的ctu存储的上下文概率而确定的初始上下文值,其中,确定所述划分的所述熵编码模型的所述初始上下文值包括,响应于确定所述帧的所述条带量化参数与所述先前帧的所述条带量化参数相同,将所述初始上下文值确定为存储在所述缓冲器中的所述上下文值,其中,响应于确定所述帧的所述条带量化参数与所述先前帧的所述条带量化参数不同,执行所述转换。
52.根据权利要求48所述的非暂时性计算机可读介质,其中,基于所述帧的时域层索引识别所述缓冲器。
53.根据权利要求52所述的非暂时性计算机可读介质,其中,其中,所述缓冲器是多个缓冲器中的一个,所述多个缓冲器中的每个缓冲器用于存储多个时域层中的对应时域层中的帧的上下文值。
54.根据权利要求53所述的非暂时性计算机可读介质,其中,所述多个缓冲器中的缓冲器的数量被确定为5与视频参数集(vps)或序列参数集(sps)中指定的max_sublayers_minus1之间的较大值,其中,max_sublayers_minus1表示所述视频的最大时域层数。
55.一种系统,包括:
56.根据权利要求55所述的系统,其中,针对所述先前帧中的ctu存储的所述上下文值包括针对所述先前帧的划分中的解码顺序上的中心ctu存储的第一上下文值,或针对所述先前帧的所述划分中的解码顺序上的最后ctu存储的第二上下文值。
57.根据权利要求55所述的系统,其中,与所述先前帧相关联的所述初始上下文值包括至少部分地基于所述先前帧的所述条带量化参数而确定的默认初始上下文值。
58.根据权利要求55所述的系统,其中,与所述先前帧相关联的所述初始上下文值包括至少部分地基于针对所述先前帧的先前帧中的ctu存储的上下文概率而确定的初始上下文值,其中,确定所述划分的所述熵编码模型的所述初始上下文值包括,响应于确定所述帧的所述条带量化参数与所述先前帧的所述条带量化参数相同,将所述初始上下文值确定为存储在所述缓冲器中的所述上下文值,其中,响应于确定所述帧的所述条带量化参数与所述先前帧的所述条带量化参数不同,执行所述转换。
59.根据权利要求55所述的系统,其中,基于所述帧的时域层索引识别所述缓冲器,并且其中,所述缓冲器是多个缓冲器中的一个,所述多个缓冲器中的每个缓冲器用于存储多个时域层中的对应时域层中的帧的上下文值。
60.根据权利要求59所述的系统,其中,所述多个缓冲器中的缓冲器的数量被确定为5与视频参数集(vps)或序列参数集(sps)中指定的max_sublayers_minus1之间的较大值,其中,max_sublayers_minus1表示所述视频的最大时域层数。