一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于视频译码的参考图像管理方法与流程

2022-08-28 06:27:55 来源:中国专利 TAG:
用于视频译码的参考图像管理方法1.相关申请交叉引用2.本专利申请要求于2020年1月23日提交的pct/ru2020/000027和于2020年1月27日提交的pct/ru2020/000035的优先权。上述专利申请的公开内容以全文引用的方式并入本文中。
技术领域
:3.本技术实施例大体上涉及图像处理领域,更具体地涉及视频译码。
背景技术
::4.视频译码(视频编码和解码)广泛用于数字视频应用,例如广播数字电视、基于互联网和移动网络的视频传输、视频聊天和视频会议等实时会话应用、dvd和蓝光光盘、视频内容采集和编辑系统以及安全应用的可携式摄像机。5.即使在视频较短的情况下也需要大量的视频数据来描述,当数据要在带宽容量受限的通信网络中发送或以其它方式发送时,这样会造成困难。因此,视频数据通常要先压缩,然后通过现代电信网络进行传输。由于内存资源可能有限,当在存储设备中存储视频时,该视频的大小也可能是一个问题。视频压缩设备通常在源侧使用软件和/或硬件,以在发送或存储之前对视频数据进行译码,从而减少用来表示数字视频图像所需的数据量。然后,对视频数据进行解码的视频解压缩设备在目的地侧接收压缩数据。在网络资源有限以及对更高视频质量的需求不断增长的情况下,需要改进压缩和解压缩技术,这些改进的技术在几乎不影响图像质量的情况下能够提高压缩比。6.具体地,在对原则上可以使用的不同方案进行高效处理和选择方面,在帧间预测处理的上下文中高效地实现参考图像管理方案仍然带来了一个急需解决的问题。技术实现要素:7.本技术实施例提供了独立权利要求所述的用于编码和解码的装置和方法。8.上述和其它目的是通过由独立权利要求请求保护的主题来实现的。其它实现方式在从属权利要求、说明书和附图中显而易见。9.特定实施例在所附独立权利要求中概述,其它实施例在从属权利要求中概述。10.根据一个方面,提供了一种对编码视频序列进行解码的方法,所述方法包括:11.从所述视频序列的码流中获取参考图像列表(referencepicturelist,rpl)语法元素(例如,sps_rpl_flag)的值,所述rpl语法元素表示与参考图像列表相关的语法元素在所述码流中是否存在;12.当所述rpl语法元素表示所述与参考图像列表相关的语法元素在所述码流中存在时:(a)从所述码流中获取所述与参考图像列表相关的语法元素的值;13.(b)使用所获取的所述与参考图像列表相关的语法元素的值构建至少一个用于帧间预测的参考图像列表。14.具体地,提供了一种对编码视频序列进行解码的方法,所述方法包括:15.从所述视频序列的码流中获取参考图像列表(referencepicturelist,rpl)语法元素的值,所述rpl语法元素表示与参考图像列表相关的语法元素在所述码流中是否存在;16.当所述rpl语法元素表示所述与参考图像列表相关的语法元素在所述码流中存在时,从所述码流中获取所述与参考图像列表相关的语法元素的值。17.rpl语法元素的值可以通过解析码流获取。与现有技术不同的是,提供了语法元素(rpl语法元素),所述语法元素使得能够(例如,由解码设备)检测与参考图像列表相关的语法在码流中是否存在,因此,检测参考图像列表方法是否可用于帧间预测过程。因此,可以高效地控制帧间预测过程的管理,特别是参考图像管理。18.根据一种实现方式,所述方法还包括:当所述rpl语法元素表示所述与参考图像列表相关的语法元素在所述码流中不存在时,构建至少一个用于帧间预测的参考图像列表,而不进一步从所述码流中获取语法元素的值。所述构建至少一个用于帧间预测的参考图像列表,而不进一步从所述码流中获取语法元素的值可以包括:执行滑动窗口方法,以构建至少一个用于帧间预测的参考图像列表。19.因此,可以执行不基于参考图像列表的参考图像列表管理。在这种情况下,可以执行滑动窗口方法。因此,可以提供不同参考图像管理方案的高效管理,一方面包括vvc使用的参考图像列表管理,另一方面包括avc使用的滑动窗口方法。20.根据一种实现方式,所述方法还包括:当所述rpl语法元素表示所述与参考图像列表相关的语法元素在所述码流中不存在时,从所述码流中获取与参考图像标识相关的第二语法元素(例如,max_num_tid0_ref_pics)的值(如由avc使用)。所述参考图像标识可以提供关于可用于对所述视频序列的图像进行帧间预测的最大参考图像(在时间层0中)数量的信息。该信息可很容易地用于确定解码图像缓冲区的大小。21.根据一种实现方式,所述与参考图像列表相关的语法元素是与参考图像列表构建相关的第一语法元素(如由vvc使用)。这些与参考图像列表构建相关的第一语法元素可以包括在至少一个参考图像列表语法结构中,其中,每个参考图像列表语法结构用于构建一个(单个)参考图像列表。使用这种参考图像列表语法结构能够对构建参考图像列表所需的信息进行高效的译码。22.根据一种实现方式,所述rpl语法元素是标志(例如,命名为“sps_rpl_flag”,也请参见下面的详细描述),其中,所述标志的第一值(例如,1)表示与参考图像列表相关的语法在所述码流中存在,并且所述标志的不同于所述第一值的第二值(例如,0)表示与参考图像列表相关的语法在所述码流中不存在。在译码的比特大小方面,通过这种标志检测/指示与参考图像列表相关的语法在码流中是否存在非常高效。23.原则上,所述rpl语法元素的所述值可以从序列参数集、图像参数集和条带头中的一个中获取。因此,设想在参数集的不同层次级别进行指示。24.根据一种实现方式,所述与参考图像列表相关的语法元素从序列参数集和/或条带头中获取。同样,可以适当地使用参数集的不同层次级别。25.根据一种实现方式,解码方法包括:当所述rpl语法元素表示与参考图像列表相关的语法在所述码流中存在时,从条带头中获取至少一个第三语法元素(例如,ref_pic_list_sps_flag)的值,所述至少一个第三语法元素的所述值表示所述与参考图像列表相关的语法元素是否可从序列参数集或条带头中获取。因此,可以高效地实现对基于参考图像列表的帧间预测过程的管理。26.根据一种实现方式,所述至少一个第三语法元素包括两个第三语法元素,其中,所述两个第三语法元素中的一个第三语法元素的所述值经获取用于第一参考图像列表,在从所述码流中获取的第四语法元素(例如,rpl1_idx_present_flag)表示所述两个第三语法元素中的另一个第三语法元素在所述码流中存在的情况下,所述另一个第三语法元素的所述值经获取用于第二参考列表。27.所述第四语法元素可以是另一个标志,所述另一个标志的值1表示所述第二参考列表在所述码流中存在。使用这种标志能够在译码的比特大小方面进行高效地指示。28.根据一种实现方式,所述第三语法元素的所述至少一个值是在存在至少一个参考图像列表语法结构在所述码流中在序列参数集级别指示的情况下获取的,其中,每个参考图像列表语法结构用于构建一个参考图像列表。29.所述第三语法元素的所述至少一个值可以从条带头获取,所述条带头包括30.根据另一种实现方式,所述第三语法元素的所述至少一个值从条带头获取,所述条带头包括31.[0032][0033]根据第二方面,提供了一种与上述解码方法相对应并与上述解码方法具有相同或类似优点的对视频序列进行编码的方法。第二方面所述的对视频序列进行编码的方法包括:[0034]确定与参考图像列表相关的语法元素的值是否(由解码设备)用于构建至少一个用于帧间预测的参考图像列表;[0035]生成包括rpl语法元素的码流,所述rpl语法元素表示与参考图像列表相关的语法元素在所述码流中是否存在,其中,在确定所述与参考图像列表相关的语法元素的所述值将(由解码设备)用于构建至少一个用于帧间预测的参考图像列表的情况下,所述rpl语法元素表示所述与参考图像列表相关的语法元素在所述码流中存在。[0036]根据一种实现方式,当确定与参考图像列表相关的语法元素的值不用于构建至少一个用于帧间预测的参考图像列表时,所述码流包括与参考图像标识相关的第二语法元素。[0037]所述与参考图像列表相关的语法元素可以是与参考图像列表构建相关的第一语法元素。[0038]所述与参考图像列表构建相关的第一语法元素可以包括在至少一个参考图像列表语法结构中,其中,每个参考图像列表语法结构用于构建一个参考图像列表。[0039]根据一种实现方式,所述与参考图像标识相关的第二语法元素提供关于可用于对所述视频序列的图像进行帧间预测的最大参考图像(在时间层0中)数量的信息。[0040]根据一种实现方式,所述rpl语法元素是标志,并且所述标志的第一值(例如,1)表示与参考图像列表相关的语法在所述码流中存在,并且所述标志的不同于所述第一值的第二值(例如,0)表示与参考图像列表相关的语法在所述码流中不存在。[0041]所述rpl语法元素可以在序列参数集、图像参数集和条带头中的一个中指示。[0042]所述与参考图像列表相关的语法元素可以包括在序列参数集和/或条带头中。[0043]根据一种实现方式,当确定与参考图像列表相关的语法元素的值将用于构建至少一个用于帧间预测的参考图像列表时,至少一个第三语法元素在条带头中指示,所述至少一个第三语法元素表示所述与参考图像列表相关的语法元素是否可从序列参数集或条带头中获取。[0044]根据一种实现方式,所述码流包括第四语法元素,并且所述至少一个第三语法元素包括两个第三语法元素,其中,所述两个第三语法元素中的一个第三语法元素用于第一参考图像列表,在所述第四语法元素的值表示所述两个第三语法元素中的另一个第三语法元素在所述码流中存在的情况下,所述另一个第三语法元素用于第二参考列表。[0045]所述第四语法元素可以是另一个标志,所述另一个标志的值1表示所述另一个第三语法元素在所述码流中存在。[0046]根据一种实现方式,所述至少一个参考图像列表语法结构在所述码流中在序列参数集级别指示,其中,每个参考图像列表语法结构用于构建一个参考图像列表。[0047]所述第三语法元素可以在条带头中指示,所述条带头包括[0048][0049][0050]根据另一种实现方式,所述第三语法元素在条带头中指示,所述条带头包括[0051]此外,提供了用于执行本发明解码方法的上述实施例的解码器和一种用于执行本发明编码方法的上述实施例的编码器。具体地,提供了一种解码器,所述解码器包括用于执行本发明解码方法的上述实施例的处理电路,以及一种编码器,所述编码器包括用于执行本发明编码方法的上述实施例的处理电路。[0052]此外,提供了一种计算机程序产品,所述计算机程序产品包括程序代码,所述程序代码当在计算机或处理器上执行时,用于执行上述方法。[0053]提供了一种解码器,所述解码器包括:一个或多个处理器;非瞬时性计算机可读存储介质,耦合到所述处理器并存储供所述处理器执行的程序,其中,所述程序在由所述处理器执行时,使所述解码器执行上述方法。[0054]提供了一种编码器,所述编码器包括:一个或多个处理器;非瞬时性计算机可读存储介质,耦合到所述处理器并存储供所述处理器执行的程序,其中,所述程序在由所述处理器执行时,使所述编码器执行上述方法。[0055]此外,提供了一种非瞬时性计算机可读介质,所述非瞬时性计算机可读介质携带程序代码,所述程序代码当由计算机设备执行时,使所述计算机设备执行上述方法。[0056]此外,提供了以下解码和编码设备,所述解码和编码设备提供了与上面讨论的相同或类似的优点。[0057]根据另一个方面,提供了一种用于对编码视频序列进行解码的解码设备,所述解码设备包括:[0058]获取单元,用于从所述视频序列的码流中获取参考图像列表(referencepicturelist,rpl)语法元素的值,所述rpl语法元素表示与参考图像列表相关的语法元素在所述码流中是否存在,[0059]当所述rpl语法元素表示所述与参考图像列表相关的语法元素在所述码流中存在时,从所述码流中获取所述与参考图像列表相关的语法元素的值;[0060]rpl构建单元,用于当所述rpl语法元素表示所述与参考图像列表相关的语法元素在所述码流中存在时,使用所获取的所述与参考图像列表相关的语法元素的值构建至少一个用于帧间预测的参考图像列表。[0061]具体地,提供了一种用于对编码视频序列进行解码的解码设备,所述解码设备包括:获取单元,用于从所述视频序列的码流中获取参考图像列表(referencepicturelist,rpl)语法元素的值,所述rpl语法元素表示与参考图像列表相关的语法元素在所述码流中是否存在,[0062]当所述rpl语法元素表示所述与参考图像列表相关的语法元素在所述码流中存在时,从所述码流中获取所述与参考图像列表相关的语法元素的值。[0063]根据一种实现方式,所述rpl构建单元用于当所述rpl语法元素表示所述与参考图像列表相关的语法元素在所述码流中不存在时,构建至少一个用于帧间预测的参考图像列表,而不进一步从所述码流中获取语法元素的值。[0064]所述构建至少一个用于帧间预测的参考图像列表,而不进一步从所述码流中获取语法元素的值可以包括:执行滑动窗口方法,以构建至少一个用于帧间预测的参考图像列表。[0065]根据一种实现方式,所述获取单元用于当所述rpl语法元素表示所述与参考图像列表相关的语法元素在所述码流中不存在时,从所述码流中获取与参考图像标识相关的第二语法元素的值。[0066]所述与参考图像列表相关的语法元素可以是与参考图像列表构建相关的第一语法元素。[0067]根据一种实现方式,所述与参考图像列表构建相关的第一语法元素包括在至少一个参考图像列表语法结构中,并且,所述rpl构建单元用于使用每个参考图像列表语法结构来构建一个参考图像列表。[0068]所述与参考图像标识相关的第二语法元素可以提供关于可用于对所述视频序列的图像进行帧间预测的最大参考图像数量的信息。[0069]所述rpl语法元素可以是标志,其中,所述标志的第一值(例如,1)表示与参考图像列表相关的语法在所述码流中存在,并且所述标志的不同于所述第一值的第二值(例如,0)表示与参考图像列表相关的语法在所述码流中不存在。[0070]根据一种实现方式,所述获取单元用于从序列参数集、图像参数集和条带头中的一个中获取所述rps语法元素的所述值。[0071]根据一种实现方式,所述获取单元用于从序列参数集和/或条带头中获取所述与参考图像列表相关的语法元素。[0072]根据一种实现方式,所述获取单元用于,当所述rpl语法元素表示与参考图像列表相关的语法在所述码流中存在时,从条带头中获取至少一个第三语法元素的值,所述至少一个第三语法元素的所述值表示所述与参考图像列表相关的语法元素是否可从序列参数集或条带头中获取。[0073]根据一种实现方式,所述至少一个第三语法元素包括两个第三语法元素,其中,所述获取单元用于获取所述两个第三语法元素中的一个第三语法元素的所述值用于第一参考图像列表,在从所述码流中获取的第四语法元素表示所述两个第三语法元素中的另一个第三语法元素在所述码流中存在的情况下,获取所述另一个第三语法元素的所述值用于第二参考列表。[0074]48.根据权利要求47所述的解码设备,其特征在于,所述第四语法元素是另一个标志,所述另一个标志的值1表示所述另一个第三语法元素在所述码流中存在。[0075]根据一种实现方式,所述获取单元用于在存在至少一个参考图像列表语法结构在所述码流中在序列参数集级别指示的情况下,获取所述第三语法元素的所述至少一个值,并且其中,所述rpl构建单元用于使用每个参考图像列表语法结构来构建一个参考图像列表。[0076]根据一种实现方式,所述获取单元用于从条带头中获取所述第三语法元素的所述至少一个值,所述条带头包括[0077][0078][0079]此外,所述获取单元可以用于从条带头中获取所述第三语法元素的所述至少一个值,所述条带头包括[0080][0081]根据另一个方面,提供了一种用于对视频序列进行编码的编码设备,所述编码设备包括:[0082]确定单元,用于确定与参考图像列表相关的语法元素的值是否用于构建至少一个用于帧间预测的参考图像列表;[0083]码流生成单元,用于生成包括rpl语法元素的码流,所述rpl语法元素表示与参考图像列表相关的语法元素在所述码流中是否存在,其中,在由所述确定单元确定所述与参考图像列表相关的语法元素的所述值将用于构建至少一个用于帧间预测的参考图像列表的情况下,所述rpl语法元素表示所述与参考图像列表相关的语法元素在所述码流中存在。[0084]当由所述确定单元确定与参考图像列表相关的语法元素的值不用于构建至少一个用于帧间预测的参考图像列表时,所述码流包括与参考图像标识相关的第二语法元素。[0085]所述与参考图像列表相关的语法元素可以是与参考图像列表构建相关的第一语法元素。[0086]根据一种实现方式,所述与参考图像列表构建相关的第一语法元素包括在至少一个参考图像列表语法结构中,其中,每个参考图像列表语法结构用于构建一个参考图像列表。[0087]根据一种实现方式,所述与参考图像标识相关的第二语法元素提供关于可用于对所述视频序列的图像进行帧间预测的最大参考图像数量的信息。[0088]根据一种实现方式,所述rpl语法元素是标志,并且所述标志的第一值(例如,1)表示与参考图像列表相关的语法在所述码流中存在,并且所述标志的不同于所述第一值的第二值(例如,0)表示与参考图像列表相关的语法在所述码流中不存在。[0089]所述rpl语法元素可以包括在序列参数集、图像参数集和条带头中的一个中。[0090]所述与参考图像列表相关的语法元素可以包括在序列参数集和/或条带头中。[0091]根据一种实现方式,当由所述确定单元确定与参考图像列表相关的语法元素的值将用于构建至少一个用于帧间预测的参考图像列表时,至少一个第三语法元素包括在条带头中,所述至少一个第三语法元素表示所述与参考图像列表相关的语法元素是否可从序列参数集或条带头中获取。[0092]根据一种实现方式,所述码流包括第四语法元素,并且所述至少一个第三语法元素包括两个第三语法元素,其中,所述两个第三语法元素中的一个第三语法元素用于第一参考图像列表,在所述第四语法元素的值表示所述两个第三语法元素中的另一个第三语法元素在所述码流中存在的情况下,所述另一个第三语法元素用于第二参考列表。[0093]所述第四语法元素可以是另一个标志,所述另一个标志的值1表示所述另一个第三语法元素在所述码流中存在。[0094]根据一种实现方式,至少一个参考图像列表语法结构包括在序列参数集中,其中,每个参考图像列表语法结构用于构建一个参考图像列表。[0095]所述第三语法元素可以包括在条带头中,所述条带头包括[0096][0097][0098]所述第三语法元素可以包括在条带头中,所述条带头包括[0099][0100]附图及以下说明中将详细描述一个或多个实施例。其它特征、目的和优点在说明书、附图和权利要求书中是显而易见的。附图说明[0101]下文结合附图对本发明实施例进行详细描述。在附图中:[0102]图1a为用于实现本发明实施例的视频译码系统的一个示例的框图;[0103]图1b为用于实现本发明实施例的视频译码系统的另一个示例的框图;[0104]图2为用于实现本发明实施例的视频编码器的一个示例的框图;[0105]图3为用于实现本发明实施例的视频解码器的一个示例的框图;[0106]图4为编码装置或解码装置的一个示例的框图;[0107]图5为编码装置或解码装置的另一个示例的框图;[0108]图6为实现内容分发业务的内容供应系统3100的示例性结构的框图;[0109]图7为终端设备的一个示例的结构的框图;[0110]图8为实施例提供的对编码视频序列进行解码的方法的流程图;[0111]图9为实施例提供的对视频序列进行编码的方法的流程图;[0112]图10为实施例提供的解码设备的框图;[0113]图11为实施例提供的编码设备的框图。[0114]在下文中,除非另外明确说明,否则相同的附图标记是指相同或至少功能上等效的特征。具体实施方式[0115]以下描述中,参考组成本发明一部分并以说明的方式示出本发明实施例的具体方面或可以使用本发明实施例的具体方面的附图。应当理解的是,本发明实施例可以在其它方面中使用,并且可以包括附图中未描绘的结构变化或逻辑变化。因此,以下详细描述不应以限制性的意义来理解,且本发明的范围由所附权利要求书界定。[0116]例如,应当理解的是,与所描述的方法有关的公开内容对用于执行所述方法的对应设备或系统也同样适用,反之亦然。例如,如果描述一个或多个具体方法步骤,则对应的设备可以包括一个或多个单元(例如,功能单元)来执行所描述的一个或多个方法步骤(例如,一个单元执行一个或多个步骤,或多个单元各自执行多个步骤中的一个或多个步骤),即使附图中未明确描述或示出这种一个或多个单元。另一方面,例如,如果根据一个或多个单元(例如,功能单元)来描述具体装置,则对应的方法可以包括一个步骤来执行一个或多个单元的功能(例如,一个步骤执行一个或多个单元的功能,或多个步骤各自执行多个单元中的一个或多个单元的功能),即使附图中未明确描述或示出这种一个或多个单元。此外,应当理解的是,除非另外明确说明,本文中所描述的各个示例性实施例和/或方面的特征可以相互组合。[0117]视频译码通常指对构成视频或视频序列的图像序列进行的处理。在视频译码领域,术语“帧(frame)”与“图像(picture/image)”可以用作同义词。视频译码(或通常为译码)包括视频编码和视频解码两部分。视频编码在源侧执行,通常包括处理(例如,通过压缩)原始视频图像,以减少表示视频图像所需的数据量(从而更高效地存储和/或传输)。视频解码在目的地侧执行,通常包括相对于编码器作逆处理,以重建视频图像。实施例涉及的视频图像(或通常为图像)的“译码”应理解为视频图像或相应视频序列的“编码”或“解码”。编码部分和解码部分也合称为编解码(编码和解码,codec)。[0118]在无损视频译码情况下,可以重建原始视频图像,即经重建视频图像具有与原始视频图像相同的质量(假设存储或传输期间没有传输损耗或其它数据丢失)。在有损视频译码情况下,通过量化等执行进一步压缩,来减少表示视频图像所需的数据量,而解码器侧无法完全重建视频图像,即经重建视频图像的质量相比原始视频图像的质量较低或较差。[0119]几个视频编码标准属于“有损混合视频编解码器”组(即,将样本域中的空间预测和时间预测与变换域中用于进行量化的2d变换译码相结合)。视频序列中的每个图像通常分割成不重叠的块集合,通常在块级进行译码。换句话说,在编码器侧,通常在块(视频块)级对视频进行处理(即编码),例如,通过空间(帧内)预测和/或时间(帧间)预测来生成预测块;从当前块(当前处理/待处理的块)中减去预测块,得到残差块;在变换域中变换残差块并量化残差块,以减少待发送(压缩)的数据量,而在解码器侧,对经编码或压缩块进行相对于编码器的逆处理,以重建当前块进行表示。此外,编码器复制解码器处理循环,使得编码器和解码器生成相同的预测(例如,帧内预测和帧间预测)和/或重建,以对后续块进行处理(即译码)。[0120]在以下视频译码系统10的实施例中,视频编码器20和视频解码器30根据图1至图3进行描述。[0121]图1a为示例性译码系统10的示意性框图,例如可以利用本技术技术的视频译码系统10(或简称为译码系统10)。视频译码系统10中的视频编码器20(或简称为编码器20)和视频解码器30(或简称为解码器30)为可用于根据本技术中描述的各种示例执行各技术的设备示例。[0122]如图1a所示,译码系统10包括源设备12,源设备12用于将经编码图像数据21提供给目的地设备14等,以对经编码图像数据13进行解码。[0123]源设备12包括编码器20,并且可以另外(即可选地)包括图像源16、预处理器(或预处理单元)18(例如,图像预处理器18)和通信接口或通信单元22。[0124]图像源16可以包括或可以是任何类型的图像捕获设备,例如用于捕获真实世界图像的摄像机;和/或任何类型的图像生成设备,例如用于生成计算机动画图像的计算机图形处理器;或者任何类型的用于获取和/或提供真实世界图像、计算机生成图像(例如屏幕内容、虚拟现实(virtualreality,vr)图像)和/或其任何组合(例如,增强现实(augmentedreality,ar)图像)的其它设备。图像源可以为任何类型的存储任一上述图像的存储器(memory/storage)。[0125]为了区分预处理器18和预处理单元18执行的处理,图像或图像数据17也可以称为原始图像或原始图像数据17。[0126]预处理器18用于接收(原始)图像数据17,并对图像数据17执行预处理,得到经预处理的图像19或经预处理的图像数据19。预处理器18执行的预处理可以包括修剪(trimming)、颜色格式转换(例如,从rgb转换为ycbcr)、调色或去噪等。应当理解的是,预处理单元18可以为可选组件。[0127]视频编码器20用于接收经预处理的图像数据19并提供经编码图像数据21(下面将根据图2等进一步详细描述)。[0128]源设备12中的通信接口22可以用于接收经编码图像数据21,并通过通信信道13将经编码图像数据21(或对经编码图像数据21进一步处理后得到的数据)发送给另一设备(例如,目的地设备14)或任何其它设备,以便进行存储或直接重建。[0129]目的地设备14包括解码器30(例如,视频解码器30),并且可以另外(即可选地)包括通信接口或通信单元28、后处理器32(或后处理单元32)和显示设备34。[0130]目的地设备14中的通信接口28用于直接从源设备12或从存储设备(例如经编码图像数据存储设备)等任何其它源,接收经编码图像数据21(或对经编码图像数据21进一步处理后得到的数据),并将经编码图像数据21提供给解码器30。[0131]通信接口22和通信接口28可以用于通过源设备12与目的地设备14之间的直接通信链路(例如,直接有线或无线连接),或通过任何类型的网络(例如,有线或无线网络或其任何组合,或任何类型的专用网络和公共网络),或其任何组合发送或接收经编码图像数据21或经编码数据13。[0132]例如,通信接口22可以用于将经编码图像数据21封装成合适的格式(例如数据包),和/或通过任何类型的传输编码或处理方式来处理经编码图像数据,以便通过通信链路或通信网络进行传输。[0133]例如,与通信接口22对应的通信接口28可以用于接收传输数据,并通过任何类型的对应传输解码或处理和/或解封装方式来处理传输数据,得到经编码图像数据21。[0134]通信接口22和通信接口28均可配置为图1a中从源设备12指向目的地设备14的通信信道13的箭头所表示的单向通信接口,或者配置为双向通信接口,并且可以用于发送和接收消息等,以建立连接、确认并交换与通信链路和/或数据传输(例如经编码图像数据传输)相关的任何其它信息等。[0135]解码器30用于接收经编码图像数据21并提供经解码图像数据31或经解码图像31(下面将根据图3或图5等进一步详细描述)。[0136]目的地设备14中的后处理器32用于对经解码图像数据31(也称为重建图像数据)(例如经解码图像31)进行后处理,得到经后处理图像数据33(例如经后处理图像33)。例如,由后处理单元32执行的后处理可以包括颜色格式转换(例如,从ycbcr转换为rgb)、调色、修剪或重采样,或任何其它处理,例如,用于提供经解码图像数据31以供显示设备34等显示。[0137]目的地设备14中的显示设备34用于接收经后处理图像数据33,以便向用户或观看者等显示图像。显示设备34可以为或可以包括任何类型的用于表示重建图像的显示器,例如集成或外部显示器或显示屏。例如,显示器可以包括液晶显示器(liquidcrystaldisplay,lcd)、有机发光二极管(organiclightemittingdiode,oled)显示器、等离子显示器、投影仪、微型led显示器、硅基液晶(liquidcrystalonsilicon,lcos)显示器、数字光处理器(digitallightprocessor,dlp)或任何类型的其它显示器。[0138]尽管图1a将源设备12和目的地设备14作为单独的设备进行描述,但是设备实施例还可以包括两种设备或两种功能,即源设备12或对应功能以及目的地设备14或对应功能。在这些实施例中,可以使用相同硬件和/或软件,或使用单独的硬件和/或软件,或其任何组合来实施源设备12或对应的功能以及目的地设备14或对应的功能。[0139]根据描述,图1a所示的源设备12和/或目的地设备14中的不同单元或功能的存在和(准确)划分可能根据实际设备和应用而有所不同,这对技术人员来说是显而易见的。[0140]编码器20(例如,视频编码器20)或解码器30(例如,视频解码器30),或编码器20和解码器30两者均可通过如图1b所示的处理电路实现,例如一个或多个微处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(application-specificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)、离散逻辑、硬件、视频译码专用处理器或其任意组合。编码器20可以通过处理电路46实现,以包括结合图2的编码器20和/或本文描述的任何其它编码器系统或子系统论述的各种模块。解码器30可以通过处理电路46实现,以包括结合图3解码器30和/或本文描述的任何其它解码器系统或子系统论述的各种模块。所述处理电路可用于执行下文描述的各种操作。如图5所示,如果所述技术部分地以软件形式实现,则设备可以将软件的指令存储在合适的非瞬时性计算机可读存储介质中,并且可以使用一个或多个处理器执行硬件中的指令,以执行本发明的技术。视频编码器20和视频解码器30中的其中一个可作为组合编解码器(encoder/decoder,codec)的一部分集成在单个设备中,如图1b所示。[0141]源设备12和目的地设备14可以包括多种设备中的任一种,包括任何类型的手持设备或固定设备,例如,笔记本电脑或膝上型电脑、手机、智能手机、平板电脑(tablet/tabletcomputer)、摄像机、台式计算机、机顶盒、电视机、显示设备、数字媒体播放器、视频游戏机、视频流设备(例如,内容服务服务器或内容分发服务器)、广播接收器设备、广播发射器设备等,并且可以不使用或使用任何类型的操作系统。在一些情况下,可以配备源设备12和目的地设备14以用于无线通信。因此,源设备12和目的地设备14可以是无线通信设备。[0142]在一些情况下,图1a所示的视频译码系统10仅仅是示例性的,本技术中的技术可以适用于不一定包括编码设备与解码设备之间的任何数据通信的视频译码设置(例如,视频编码或视频解码)。在其它示例中,数据可从本地存储器检索、通过网络传输等。视频编码设备可以对数据进行编码并且将数据存储到存储器,和/或视频解码设备可以从存储器检索数据并且对数据进行解码。在一些示例中,编码和解码由相互不通信而只是将数据编码到存储器和/或从存储器检索数据并对数据进行解码的设备来执行。[0143]为便于描述,本文参考由itu-t视频编码专家组(videocodingexpertsgroup,vceg)和iso/iec运动图像专家组(motionpictureexpertsgroup,mpeg)的视频编码联合工作组(jointcollaborationteamonvideocoding,jct-vc)开发的高效视频编码(high-efficiencyvideocoding,hevc)或通用视频编码(versatilevideocoding,vvc)(下一代视频编码标准)参考软件等描述本发明实施例。本领域普通技术人员理解本发明实施例不限于hevc或vvc。[0144]编码器和编码方法[0145]图2为用于实现本技术技术的示例性视频编码器20的示意性框图。在图2的示例中,视频编码器20包括输入端201(或输入接口201)、残差计算单元204、变换处理单元206、量化单元208、反量化单元210和逆变换处理单元212、重建单元214、环路滤波单元220、解码图像缓冲区(decodedpicturebuffer,dpb)230、模式选择单元260、熵编码单元270和输出端272(或输出接口272)。模式选择单元260可以包括帧间预测单元244、帧内预测单元254和分割单元262。帧间预测单元244可以包括运动估计单元和运动补偿单元(未示出)。图2所示的视频编码器20也可以称为混合视频编码器或根据混合视频编解码器的视频编码器。[0146]残差计算单元204、变换处理单元206、量化单元208和模式选择单元260可以组成编码器20的前向信号路径,而反量化单元210、逆变换处理单元212、重建单元214、缓冲区216、环路滤波器220、解码图像缓冲区(decodedpicturebuffer,dpb)230、帧间预测单元244和帧内预测单元254可以组成视频编码器20的后向信号路径,其中,视频编码器20的后向信号路径对应于解码器(参见图3中的视频解码器30)的信号路径。反量化单元210、逆变换处理单元212、重建单元214、环路滤波器220、解码图像缓冲区(decodedpicturebuffer,dpb)230、帧间预测单元244和帧内预测单元254还组成视频编码器20的“内置解码器”。[0147]高级语法(highlevelsyntax,hls)[0148]存在几种高级语法元素集,它们被设计用于传输可以例如被特定图像、图像的条带或块重复使用的不同的高级语法元素,例如工具的控制标志、视频序列特定参数(例如,分辨率、外部和内部位深等)以及一些编解码例程。[0149]在vvc和evc等现代编解码中,通常使用以下3种参数集:(1)序列参数集(sequenceparameterset,sps);(2)图像参数集(pictureparameterset,pps);(3)条带头(sliceheader,sh)。sps是最通用的集合,包括对于几个编码图像或在几个编码图像内不会改变的信息,例如,视频分辨率、内部和外部位深通常在sps中(或在sps级别)指示。pps包括可能因图像而异的信息,例如,分块或pps级别增量qp信息。sh包括可能因条带而异的信息,以及相对较小或仅与某些条带或图像类型相关的此类图像相关信息。sps、pps和sh可以被认为形成高级语法集的层次,其中,sps定义最高级别,pps定义下一个较低级别,sh定义在这种级别层次中的更低级别。实施例可以用于实现这三个参数集和其它参数集。[0150]图像和图像分割(图像和块)[0151]编码器20可以用于通过输入端201等接收图像17(或图像数据17),例如形成视频或视频序列的图像序列中的图像。接收到的图像或图像数据也可以是经预处理的图像19(或经预处理的图像数据19)。为简单起见,以下描述使用图像17。图像17还可以称为当前图像或待译码图像(尤其是在视频译码中将当前图像与同一视频序列(也就是同样包括当前图像的视频序列)中的其它图像(例如先前的经编码和/或解码图像)区分开)。[0152](数字)图像为或可以视为具有强度值的样本组成的二维阵列或矩阵。阵列中的样本也可以称为像素(pixel/pel)(图像元素的简称)。阵列或图像的水平方向和垂直方向(或轴线)上的样本数量限定了图像的大小和/或分辨率。为了表示颜色,通常采用3个颜色分量,即图像可以表示为或可以包括3个样本阵列。在rgb格式或颜色空间中,一个图像包括对应的红色、绿色和蓝色样本阵列。但是,在视频译码中,每个像素通常以亮度和色度格式或颜色空间表示,例如ycbcr,包括y表示的亮度分量(有时也用l表示)和cb和cr表示的2个色度分量。亮度(luminance,简写为luma)分量y表示亮度或灰度级强度(例如在灰度等级图像中两者相同),而2个色度(chrominance,简写为chroma)分量cb和cr表示色度或颜色信息分量。相应地,ycbcr格式的图像包括亮度样本值(y)的亮度样本阵列和色度值(cb和cr)的两个色度样本阵列。rgb格式的图像可以转换或变换成ycbcr格式,反之亦然,该过程也称为颜色转换或颜色变换。如果图像是黑白的,则该图像可以仅包括亮度样本阵列。相应地,例如,图像可以为黑白格式的亮度样本阵列或4:2:0、4:2:2和4:4:4颜色格式的亮度样本阵列和2个对应的色度样本阵列。[0153]视频编码器20的实施例可以包括图像分割单元(图2中未示出),用于将图像17分割成多个(通常不重叠)图像块203。这些块也可以称为根块、宏块(h.264/avc),或(h.265/hevc和vvc中的)编码树块(codingtreeblock,ctb)或编码树单元(codingtreeunit,ctu)。图像分割单元可以用于对视频序列中的所有图像使用相同的块大小和使用限定块大小的对应网格,或者在图像或图像子集或图像组之间改变块大小,并将每个图像分割成多个对应块。[0154]在其它实施例中,视频编码器可以用于直接接收图像17中的块203,例如组成图像17的一个、几个或所有块。图像块203也可以称为当前图像块或待编码图像块。[0155]与图像17类似,图像块203同样是或可以看作是具有强度值(样本值)的样本的二维阵列或矩阵,但是,图像块203的尺寸比图像17小。换句话说,根据所应用的颜色格式,块203可以包括(例如)一个样本阵列(例如黑白图像17情况下的亮度阵列或彩色图像情况下的亮度阵列或色度阵列)或3个样本阵列(例如彩色图像17情况下的1个亮度阵列和2个色度阵列)或任何其它数量和/或类型的阵列。块203的水平方向和垂直方向(或轴线)上的样本数量限定了块203的大小。相应地,一个块可以为m×n(m列×n行)的样本阵列,或m×n的变换系数阵列等。[0156]图2所示的视频编码器20的实施例可以用于逐块对图像17进行编码,例如,按块203进行编码和预测。[0157]图2所示的视频编码器20的实施例还可以用于使用条带(slice)(也称为视频条带)对图像进行分割和/或编码,其中,可以使用一个或多个条带(通常为非重叠的)对图像进行分割或编码。每个条带可以包括一个或多个块(例如,ctu)或一个或多个块组(例如,分块(tile)(h.265/hevc和vvc)或砖(brick)(vvc))。[0158]图2所示的视频编码器20的实施例还可以用于使用条带/分块组(也称为视频分块组)和/或分块(也称为视频分块)对图像进行分割和/或编码,其中,可以使用一个或多个条带/分块组(通常为非重叠的)对图像进行分割或编码。每个条带/分块组可以包括一个或多个块(例如ctu)或一个或多个分块等,其中,每个分块可以为矩形等形状,可以包括一个或多个块(例如ctu),例如完整或部分块。[0159]残差计算[0160]残差计算单元204可以用于根据图像块203和预测块265(后续提供了预测块265的更多详细内容)计算残差块205(也称为残差205),例如,通过逐样本(逐像素)将图像块203的样本值减去预测块265的样本值,以在样本域中获取残差块205。[0161]变换[0162]变换处理单元206可以用于对残差块205的样本值进行离散余弦变换(discretecosinetransform,dct)或离散正弦变换(discretesinetransform,dst)等变换,得到变换域中的变换系数207。变换系数207也可以称为变换残差系数,表示变换域中的残差块205。[0163]变换处理单元206可以用于应用dct/dst(例如为h.265/hevc指定的变换)的整数近似值。与正交dct变换相比,这种整数近似通常通过某一因子按比例缩放(scale)。为了维持经正变换和逆变换处理的残差块的范数,应用其它缩放因子作为变换过程的一部分。缩放因子通常是根据某些约束条件来选择的,例如,缩放因子是用于移位运算的2的幂、变换系数的位深度、精度与实现成本之间的权衡等。例如,通过逆变换处理单元212等为逆变换(以及在视频解码器30侧,通过逆变换处理单元312等为对应的逆变换)指定具体的缩放因子;相应地,可以在编码器20侧,通过变换处理单元206等为正变换指定对应的缩放因子。[0164]视频编码器20(相应地,变换处理单元206)的实施例可以用于直接或通过熵编码单元270编码或压缩等输出变换参数(例如,一种或多种变换的类型),使得例如视频解码器30可以接收并使用变换参数进行解码。[0165]量化[0166]量化单元208可以用于通过应用标量量化或矢量量化等对变换系数207进行量化,得到量化系数209。量化系数209也可以称为量化变换系数209或量化残差系数209。[0167]量化过程可以降低与一些或全部变换系数207相关的位深度。例如,可以在量化期间将n位变换系数向下舍入到m位变换系数,其中,n大于m。可以通过调整量化参数(quantizationparameter,qp)修改量化程度。例如,对于标量量化,可以应用不同程度的标度来实现较细或较粗的量化。较小量化步长对应于较细量化,而较大量化步长对应于较粗量化。可通过量化参数(quantizationparameter,qp)表示合适的量化步长。例如,量化参数可以为合适的量化步长的预定义集合的索引。例如,较小的量化参数可以对应于精细量化(较小量化步长),较大的量化参数可以对应于粗糙量化(较大量化步长),反之亦然。量化可以包括除以量化步长,以及例如通过反量化单元210执行的对应解量化和/或对应反解量化可以包括乘以量化步长。根据hevc等一些标准的实施例可以使用量化参数来确定量化步长。通常,可以根据量化参数使用包括除法的方程的定点近似来计算量化步长。可以引入其它缩放因子来进行量化和解量化,以恢复可能由于在量化步长和量化参数的等式的定点近似中使用的缩放而修改的残差块的范数。在一种示例性实现方式中,可以合并逆变换和解量化的标度。或者,可以使用自定义量化表并在码流中等将自定义量化表从编码器向解码器指示(signal)。量化是有损操作,其中,量化步长越大,损耗越大。[0168]在实施例中,视频编码器20(相应地,量化单元208)可以用于输出量化参数(quantizationparameter,qp),例如直接输出或由熵编码单元270进行编码后输出,使得例如视频解码器30可以接收并使用量化参数进行解码。[0169]反量化[0170]反量化单元210用于对量化系数进行量化单元208的反量化,得到解量化系数211,例如根据或使用与量化单元208相同的量化步长,执行与量化单元208所执行的量化方案的反量化方案。解量化系数211也可以称为解量化残差系数211,对应于变换系数207,但是由于量化造成的损耗,解量化系数211通常与变换系数不同。[0171]逆变换[0172]逆变换处理单元212用于执行变换处理单元206执行的变换的逆变换,例如逆离散余弦变换(discretecosinetransform,dct)或逆离散正弦变换(discretesinetransform,dst),得到样本域中的重建残差块213(或对应的解量化系数213)。重建残差块213也可称为变换块213。[0173]重建[0174]重建单元214(例如,加法器或求和器214)用于通过逐样本将重建残差块213的样本值与预测块265的样本值相加,将变换块213(即重建残差块213)添加到预测块265,以得到样本域中的重建块215。[0175]滤波[0176]环路滤波器单元220(或简称“环路滤波器”220)用于对重建块215进行滤波,得到经滤波的块221,或通常用于对重建样本进行滤波,得到经滤波的样本值。例如,环路滤波单元用于顺利进行像素转变或以其它方式提高视频质量。环路滤波单元220可以包括一个或多个环路滤波器,例如去块效应滤波器、样本自适应偏移(sample-adaptiveoffset,sao)滤波器或一个或多个其它滤波器,例如自适应环路滤波器(adaptiveloopfilter,alf)、噪声抑制滤波器(noisesuppressionfilter,nsf)或其任意组合。在一个示例中,环路滤波单元220可以包括去块效应滤波器、sao滤波器和alf滤波器。滤波过程的顺序可以是去块效应滤波、sao滤波和alf滤波。在另一个示例中,增加一种称为亮度映射与色度缩放(lumamappingwithchromascaling,lmcs)(即自适应环内整形器)的过程。该过程在去块效应滤波之前执行。在另一个示例中,去块效应滤波过程也可以应用于内部子块边缘,例如仿射子块边缘、atmvp子块边缘、子块变换(sub-blocktransform,sbt)边缘和帧内子分区(intrasub-partition,isp)边缘。尽管环路滤波单元220在图2中示为环内滤波器,但是在其它配置中,环路滤波单元220可以实现为后环路滤波器。经滤波的块221也可称为经滤波的重建块221。[0177]在视频编码器20的实施例中,视频编码器20(对应地,环路滤波单元220)可用于,例如,直接输出或经熵编码单元270进行编码后输出环路滤波参数(例如,sao滤波参数、alf滤波参数或lmcs参数),使得解码器30可以接收并使用相同或不同的环路滤波参数进行解码。[0178]解码图像缓冲区[0179]解码图像缓冲区(decodedpicturebuffer,dpb)230可以是存储参考图像或通常存储参考图像数据以供视频编码器20在对视频数据进行编码时使用的存储器。dpb230可以由多种存储器设备中的任一种形成,例如动态随机存取存储器(dynamicrandomaccessmemory,dram),包括同步dram(synchronousdram,sdram)、磁阻ram(magnetoresistiveram,mram)、电阻ram(resistiveram,rram)或其它类型的存储器设备。解码图像缓冲区(decodedpicturebuffer,dpb)230可以用于存储一个或多个经滤波的块221。解码图像缓冲区230还可以用于存储同一个当前图像或不同图像(例如先前的重建图像)中的其它先前经滤波的块(例如先前经滤波的重建块221),并可以提供先前完整的重建(即经解码)图像(和对应的参考块和样本)和/或部分重建的当前图像(和对应的参考块和样本),以进行帧间预测等。如果重建块215未由环路滤波单元220进行滤波,则解码图像缓冲区(decodedpicturebuffer,dpb)230还可以用于存储一个或多个未经滤波的重建块215,或通常存储未经滤波的重建样本,或未进行任何其它处理的重建块或重建样本。[0180]在视频编解码规范中,出于多种目的识别图像,包括用作帧间预测中的参考图像、用于从解码图像缓冲区(decodedpicturebuffer,dpb)输出图像、用于运动矢量的缩放、用于加权预测等。在avc和hevc中,图像可以通过图像顺序编号(pictureordercount,poc)来识别。在avc和hevc中,dpb中的图像可以被标识为“用于短期参考”、“用于长期参考”或“不用于参考”。一旦图像被标识为“不用于参考”,则该图像不可以再用于预测。当不再需要输出该图像时,可以从dpb中删除该图像。[0181]avc中存在两种参考图像:短期参考图像和长期参考图像。当参考图像不再用于预测参考时,可以将该参考图像标识为“不用于参考”。三种状态(短期参考、长期参考、不用于参考)之间的转换通过解码参考图像标识过程进行控制。存在两种可选的解码参考图像标识机制:隐式滑动窗口过程和显式内存管理控制操作(memorymanagementcontroloperation,mmco)过程。当参考帧的数量等于给定的最大数量(序列参数集(sequenceparameterset,sps)中的max_num_ref_frames)时,滑动窗口过程将短期参考图像标识为“不用于参考”。这些短期参考图像以先入先出的方式存储,使得最近解码的短期图像保存在dpb中。[0182]显式mmco过程可以包括多个mmco命令。mmco命令可以将一个或多个短期参考图像或长期参考图像标识为“不用于参考”,可以将所有图像标识为“不用于参考”,或者可以将当前参考图像或现有的短期参考图像标识为长期参考图像,然后将长期图像索引分配给该长期参考图像。[0183]在avc中,参考图像标识操作以及从dpb中输出和去除图像的过程是在图像完成解码之后执行的。本发明的实施例可以用于实现这些方法中的任何一种方法,并且可以用于使用隐式滑动窗口过程、显式内存管理控制操作(memorymanagementcontroloperation,mmco)或两者。[0184]vvc中使用了另一种参考图像管理方法。该方法被称为参考图像列表(referencepicturelist,rpl)方法,包括以下方面,每个方面都可以单独应用,其中一些方面可以组合应用。(1)参考图像标识直接基于两个参考图像列表,即参考图像列表0和参考图像列表1。(1a)用于推导两个参考图像列表的信息根据sps、pps和/或条带头中的语法元素和语法结构指示。(1b)图像的两个参考图像列表中的每一个在参考图像列表结构中显式地指示。(1b.i)一个或多个参考图像列表结构可以在sps中指示,并且它们中的每一个都可以通过条带头的索引参考。(1b.ii)参考图像列表0和参考图像列表1中的每一个都可以直接在条带头中指示。(2)用于推导两个参考图像列表的信息被指示用于所有类型的条带,即b(双向预测)条带、p(单向预测)条带和i(帧内)条带。术语“条带”是指编码树单元的集合,例如hevc或最新的vvcwd或evcwd中的条带;也可以指编码树单元的一些其它集合,例如hevc中的分块。(3)为所有类型的条带(即b条带、p条带和i条带)生成两个参考图像列表。(4)两个参考图像列表在不使用参考图像列表初始化过程和参考图像列表修改过程的情况下直接构建。(5)在两个参考图像列表中的每一个中,可用于对当前图像进行帧间预测的参考图像仅可以被在列表开头的多个条目参考。这些条目在列表中被称为活跃条目,而其它条目在列表中被称为非活跃条目。可以推导列表中总条目的数量和活跃条目的数量。(6)不允许参考图像列表中的非活跃条目所参考的图像被参考图像列表中的另一个条目或另一个参考图像列表中的任何条目参考。(7)长期参考图像仅由一定数量的poclsb标识,其中,该数量可以大于条带头中指示的用于推导poc值的poclsb的数量,并且该数量在sps中指示。(8)参考图像列表结构仅在条带头中指示,短期参考图像和长期参考图像都由它们的poclsb标识,它们的poclsb可以由位数表示,该位数与用于表示条带头中指示的用于推导poc值的poclsb的位数不同,并且用于表示用于识别短期参考图像和长期参考图像的poclsb的位数可以不同。(9)参考图像列表结构仅在条带头中指示,不区分短期参考图像和长期参考图像,所有参考图像都只称为参考图像,并且参考图像由它们的poclsb标识,它们的poclsb可以由位数表示,该位数与用于表示条带头中指示的用于推导poc值的poclsb的位数不同。本发明的实施例可以用于实现这些方法中的任何一种方法。[0185]rpl方法的通用实现假定以下语法元素在码流中存在。[0186][0187][0188][0189]其中,新添加的与rpl相关的语法元素的语义如下所示。rpl1_same_as_rpl0_flag等于1表示语法结构num_ref_pic_lists_in_sps[1]和ref_pic_list_struct(1,rplsidx,ltrpflag)不存在。[0190]num_ref_pic_lists_in_sps[i]表示sps中包括的、listidx等于i的语法结构ref_pic_list_struct(listidx,rplsidx,ltrpflag)的数量。num_ref_pic_lists_in_sps[i]的值应在0到64的范围内(包括端值)。[0191]语法结构ref_pic_list_struct(listidx,rplsidx,ltrpflag)在当前图像的条带头中直接指示。[0192]rpl1_idx_present_flag等于0表示ref_pic_list_sps_flag[1]和ref_pic_list_idx[1]在条带头中不存在。rpl1_idx_present_flag等于1表示ref_pic_list_sps_flag[1]和ref_pic_list_idx[1]可以在条带头中存在。[0193]ref_pic_list_sps_flag[i]等于1表示当前图像的参考图像列表i是根据活跃sps中的、listidx等于i的语法结构ref_pic_list_struct(listidx,rplsidx,ltrpflag)中的一个推导的。ref_pic_list_sps_flag[i]等于0表示当前图像的参考图像列表i是根据直接包括在当前图像的条带头中的、listidx等于i的语法结构ref_pic_list_struct(listidx,rplsidx,ltrpflag)推导的。当num_ref_pic_lists_in_sps[i]等于0时,ref_pic_list_sps_flag[i]的值应等于0。当rpl1_idx_present_flag等于0且ref_pic_list_sps_flag[0]存在时,ref_pic_list_sps_flag[1]的值被推断为等于ref_pic_list_sps_flag[0]的值。当rep_pic_list_sps_flag[i]不存在时,rep_pic_list_sps_flag[i]的值被推断为等于0。[0194]ref_pic_list_idx[i]表示用于推导当前图像的参考图像列表i的、listidx等于i的语法结构ref_pic_list_struct(listidx,rplsidx,ltrpflag)在活跃sps中包括的、listidx等于i的语法结构ref_pic_list_struct(listidx,rplsidx,ltrpflag)的列表中的索引。语法元素ref_pic_list_idx[i]由ceil(log2(num_ref_pic_lists_in_sps[i]))个比特表示。当ref_pic_list_idx[i]不存在时,ref_pic_list_idx[i]的值被推断为等于0。ref_pic_list_idx[i]的值应在0到num_ref_pic_lists_in_sps[i]–1的范围内(包括端值)。当rpl1_idx_present_flag等于0且ref_pic_list_sps_flag[0]存在时,ref_pic_list_idx[1]的值被推断为等于ref_pic_list_idx[0]的值。[0195]num_strp_entries[listidx][rplsidx]表示语法结构ref_pic_list_struct(listidx,rplsidx,ltrpflag)中的strp条目的数量。当num_ltrp_entries[listidx][rplsidx]不存在时,num_ltrp_entries[listidx][rplsidx]的值被推断为等于0。num_strp_entries[listidx][rplsidx]的值应在0到sps_max_dec_pic_buffering_minus1的范围内(包括端值)。[0196]num_ltrp_entries[listidx][rplsidx]表示语法结构ref_pic_list_struct(listidx,rplsidx,ltrpflag)中的ltrp条目的数量。当num_ltrp_entries[listidx][rplsidx]不存在时,num_ltrp_entries[listidx][rplsidx]的值被推断为等于0。[0197]变量numentriesinlist[listidx][rplsidx]推导如下:[0198]numentriesinlist[listidx][rplsidx]=[0199]num_strp_entries[listidx][rplsidx] num_ltrp_entries[listidx][rplsidx](123)[0200]numentriesinlist[listidx][rplsidx]的值应在0到sps_max_dec_pic_buffering_minus1的范围内(包括端值)。[0201]lt_ref_pic_flag[listidx][rplsidx][i]等于1表示语法结构ref_pic_list_struct(listidx,rplsidx,ltrpflag)中的第i个条目是ltrp条目。lt_ref_pic_flag[listidx][rplsidx][i]等于0表示语法结构ref_pic_list_struct(listidx,rplsidx,ltrpflag)中的第i个条目是strp条目。当lt_ref_pic_flag[listidx][rplsidx][i]不存在时,lt_ref_pic_flag[listidx][rplsidx][i]的值被推断为等于0。[0202]对于在0到numentriesinlist[listidx][rplsidx]–1范围内(包括端值)的所有值i,lt_ref_pic_flag[listidx][rplsidx][i]的总和应等于num_ltrp_entries[listidx][rplsidx]。[0203]delta_poc_st[listidx][rplsidx][i]当第i个条目是语法结构ref_pic_list_struct(rplsidx,ltrpflag)中的第一strp条目时,表示当前图像的图像顺序编号值与第i个条目所参考的图像的图像顺序编号值之间的绝对差值,或者当第i个条目是strp条目但不是语法结构ref_pic_list_struct(rplsidx,ltrpflag)中的第一strp条目时,表示第i个条目所参考的图像的图像顺序编号值与语法结构ref_pic_list_struct(listidx,rplsidx,ltrpflag)中的前一个strp条目所参考的图像的图像顺序编号值之间的绝对差值。[0204]delta_poc_st[listidx][rplsidx][i]的值应在–215到215–1的范围内(包括端值)。[0205]strp_entry_sign_flag[listidx][rplsidx][i]等于1表示语法结构ref_pic_list_struct(listidx,rplsidx,ltrpflag)中的第i个条目的值大于或等于0。strp_entry_sign_flag[listidx][rplsidx]等于0表示语法结构ref_pic_list_struct(listidx,rplsidx,ltrpflag)中的第i个条目的值小于0。当strp_entry_sign_flag[i][j]不存在时,strp_entry_sign_flag[i][j]的值被推断为等于1。[0206]列表deltapocst[listidx][rplsidx]推导如下:[0207][0208]poc_lsb_lt[listidx][rplsidx][i]表示语法结构ref_pic_list_struct(listidx,rplsidx,ltrpflag)中第i个条目所参考的图像的图像顺序编号模数maxpicordercntlsb的值。语法元素poc_lsb_lt[listidx][rplsidx][i]的长度为log2_max_pic_order_cnt_lsb_minus4 4个比特。[0209]本发明的实施例可以用于实现这些方法中的任何一种方法。[0210]模式选择(分割和预测)[0211]模式选择单元260包括分割单元262、帧间预测单元244和帧内预测单元254,并且用于从解码图像缓冲区230或其它缓冲区(例如行缓冲区,图中未示出)等接收或获取原始块203(当前图像17中的当前块203)等原始图像数据以及重建图像数据(例如同一个(当前)图像和/或一个或多个先前经解码图像中的经滤波和/或未经滤波的重建样本或块)。重建图像数据用作帧间预测或帧内预测等预测所需的参考图像数据,得到预测块265或预测值265。[0212]模式选择单元260可以用于为当前块预测模式(包括不分割)确定或选择一种分割方式以及确定或选择一种预测模式(例如帧内预测模式或帧间预测模式),生成对应的预测块265,以对残差块205进行计算和对重建块215进行重建。[0213]模式选择单元260的实施例可以用于选择分割和预测模式(例如,从模式选择单元260支持或可用的那些模式中选择)。所述预测模式提供最佳匹配或者说最小残差(最小残差是指传输或存储中更好的压缩),或提供最小指示开销(最小指示开销是指传输或存储中更好的压缩),或同时考虑或平衡以上两者。模式选择单元260可以用于根据率失真优化(ratedistortionoptimization,rdo)确定分割和预测模式,即选择提供最小率失真的预测模式。本文中的“最佳”、“最小”、“最优”等术语不一定指总体上“最佳”、“最小”、“最优”等,但也可以指满足终止或选择标准的情况,例如超过或低于阈值的值或其它约束条件可能导致“次优选择”,但会降低复杂度且减少处理时间。[0214]换句话说,分割单元262可以用于将视频序列的图像分割成一系列编码树单元(codingtreeunit,ctu),ctu203还可以被进一步分割成更小的分割部分或子块(再次形成块),例如,使用四叉树(quad-tree,qt)分割、二叉树(binary-tree,bt)分割或三叉树(triple-tree,tt)分割或其任何组合迭代地进行,并对每个块分割部分或子块进行预测等,其中,所述模式选择包括选择分割块203的树结构,以及将预测模式应用于每个块分割部分或子块。[0215]下文将详细地描述由示例性视频编码器20执行的分割(例如,由分割单元260执行)和预测处理(由帧间预测单元244和帧内预测单元254执行)。[0216]分割[0217]分割单元262可以用于将视频序列中的一个图像分割为一系列编码树单元(codingtreeunit,ctu),分割单元262可以将编码树单元(codingtreeunit,ctu)203分割(或划分)成较小的分割部分,例如方形或矩形小块。对于具有三个样本阵列的图像,ctu由一个n×n的亮度样本块和两个对应的色度样本块组成。ctu中的亮度块的最大允许大小在正在开发的通用视频编码(versatilevideocoding,vvc)中指定为128×128,但是将来可以指定为不同于128×128的值,例如256×256。图像的ctu可以聚集/分组为条带/分块组、分块或砖。分块覆盖图像的矩形区域,可以将分块分割为一个或多个砖。一个砖由一个分块内的多个ctu行组成。没有分割成多个砖的分块可以称为砖。但是,砖是分块的真子集,不称为分块。vvc支持两种分块组模式,分别为光栅扫描条带/分块组模式和矩形条带模式。在光栅扫描分块组模式中,一个条带/分块组包括对图像进行分块光栅扫描时的分块序列。在矩形条带模式中,条带包括一个图像中的多个砖,这些砖共同组成图像的矩形区域。矩形条带内的砖按照条带中的砖光栅扫描顺序进行排列。可以将这些较小块(也可以称为子块)进一步分割为甚至更小的分割部分。这也称为树分割或层次树分割,其中,可以递归地分割例如根树层次0(层次级别0,深度0)的根块,例如分割为两个或两个以上下一较低树层次的块,例如树层次1(层次级别1,深度1)的节点。可以再次将这些块分割为两个或两个以上下一较低层次,例如树层次2(层次级别2,深度2)的块等,直到例如因为满足结束标准(例如达到最大树深度或最小块大小),分割结束。未进一步分割的块也称为树的叶块或叶节点。分割为两个分割部分的树称为二叉树(binary-tree,bt),分割为三个部分的树称为三叉树(ternary-tree,tt),分割为四个部分的树称为四叉树(quad-tree,qt)。[0218]例如,编码树单元(codingtreeunit,ctu)可以为或可以包括具有三个样本阵列的图像中的亮度样本的一个ctb、该图像中的色度样本的两个对应ctb,或黑白图像中的或使用三个单独颜色平面和语法结构进行译码的图像中的样本的一个ctb。这些语法结构用于对样本进行译码。相应地,编码树块(codingtreeblock,ctb)可以为n×n个样本块,其中,n可以设为某个值,从而将分量划分为多个ctb,这就是分割。编码单元(codingunit,cu)可以为或包括具有三个样本阵列的图像中的亮度样本的一个编码块、色度样本的两个对应编码块,或黑白图像中的或使用三个单独颜色平面和语法结构进行译码的图像中的样本组成的一个编码块。这些语法结构用于对上述样本进行译码。相应地,编码块(codingblock,cb)可以为m×n个样本块,其中,m和n可以设为某个值,使得一个ctb划分为多个编码块,这就是分割。[0219]在实施例中,例如根据hevc,可以通过表示为编码树的四叉树结构将编码树单元(codingtreeunit,ctu)划分为多个cu。在叶cu级决定是使用帧间(时间)预测还是帧内(空间)预测对图像区域进行译码。每个叶cu还可以根据pu划分类型划分为1个、2个或4个pu。一个pu内应用相同的预测过程,并以pu为单位向解码器发送相关信息。在通过进行预测过程而获得残差块后,根据pu划分类型,可以根据与cu的编码树类似的另一种四叉树结构将叶cu分割为变换单元(transformunit,tu)。[0220]在实施例中,例如根据当前开发的称为通用视频编码(versatilevideocoding,vvc)的最新视频编码标准,组合式四叉树嵌套多类型树(使用二叉树划分和三叉树划分)分段(segmentation)结构,例如用于分割编码树单元。在编码树单元内的编码树结构中,cu可以为正方形或矩形。例如,编码树单元(codingtreeunit,ctu)首先通过四叉树进行分割。然后,四叉树叶节点可以通过多类型树结构进行进一步分割。多类型树结构中,有四种划分类型:垂直二叉树划分(split_bt_ver)、水平二叉树划分(split_bt_hor)、垂直三叉树划分(split_tt_ver)和水平三叉树划分(split_tt_hor)。多类型树叶节点称为编码单元(codingunit,cu),除非cu的大小对于最大变换长度而言太大,这样的分段用于预测和变换处理,无需任何进一步分割。在大多数情况下,这表示cu、pu和tu在四叉树嵌套多类型树的编码块结构中具有相同的块大小。当最大支持变换长度小于cu的彩色分量的宽度或高度时,就会出现该异常情况。vvc制定了在四叉树嵌套多类型树的编码树结构中用于分割划分信息的唯一指示机制。在该指示机制中,编码树单元(codingtreeunit,ctu)作为四叉树的根,并且首先通过四叉树结构分割。然后,通过多类型树结构对每个四叉树叶节点(当太大而需要分割时)进行进一步分割。在多类型树结构中,指示第一标志(mtt_split_cu_flag)来表示节点是否进一步分割;当节点进一步分割时,先指示第二标志(mtt_split_cu_vertical_flag)来表示划分方向,再指示第三标志(mtt_split_cu_binary_flag)来表示划分是二叉树划分还是三叉树划分。根据mtt_split_cu_vertical_flag和mtt_split_cu_binary_flag的值,cu的多类型树分割模式(mttsplitmode)可以由解码器根据预定义的规则或表格推导。需要说明的是,对于某种设计,例如vvc硬件解码器中的64×64亮度块和32×32色度流水线设计,当亮度编码块的宽度或高度大于64时,都禁止tt划分,如图6所示。当色度编码块的宽度或高度大于32时,也禁止tt划分。流水线设计将图像分割为虚拟流水线数据单元(virtualpipelinedataunit,vpdu),这些虚拟流水线数据单元定义为图像中的非重叠单元。在硬件解码器中,连续的vpdu由多个流水线阶段同时处理。在大多数流水线阶段,vpdu大小与缓冲区大小大致成正比,因此保持vpdu大小较小是很重要的。在大多数硬件解码器中,vpdu大小可以设置为最大变换块(transformblock,tb)大小。但是,在vvc中,三叉树(ternarytree,tt)和二叉树(binarytree,bt)分割可能会增加vpdu的大小。[0221]另外,需要说明的是,当树节点块的一部分超出图像的底部边界或右边界时,强制对该树节点块进行划分,直到每个经译码的cu的所有样本都位于图像边界内。[0222]例如,根据块大小,帧内子划分(intrasub-partition,isp)工具可以将亮度帧内预测块垂直或水平地划分为2个或4个子部分。[0223]在一个示例中,视频编码器20中的模式选择单元260可以用于执行本文描述的分割技术的任意组合。[0224]如上所述,视频编码器20用于从(例如预定的)预测模式集合中确定或选择最好或最优的预测模式。预测模式集合可以包括帧内预测模式和/或帧间预测模式等。[0225]帧内预测[0226]帧内预测模式集合可以包括35种不同的帧内预测模式,例如,如dc(或均值)模式和平面模式等非方向性模式,或如hevc中定义的方向性模式,或者可以包括67种不同的帧内预测模式,例如,如dc(或均值)模式和平面模式等非方向性模式,或如vvc中定义的方向性模式。例如,若干种传统角度帧内预测模式自适应地替换为vvc中定义的非正方形块的广角帧内预测模式。又例如,为了避免dc预测的除法运算,仅使用较长边来计算非正方形块的平均值。而且,平面模式的帧内预测结果还可以通过位置决定的帧内预测组合(positiondependentintrapredictioncombination,pdpc)方法进行修改。[0227]帧内预测单元254用于根据帧内预测模式集合中的帧内预测模式,使用同一当前图像的相邻块的重建样本来生成帧内预测块265。[0228]帧内预测单元254(或通常为模式选择单元260)还用于将帧内预测参数(或通常为表示块的选定帧内预测模式的信息)以语法元素266的形式输出到熵编码单元270,以包括到经编码图像数据21中,使得例如视频解码器30可以接收并使用预测参数进行解码。[0229]帧间预测[0230](可能的)帧间预测模式集合基于可用参考图像(即,例如上述存储在dpb230中的至少部分解码的图像)和其它帧间预测参数,例如基于是否使用整个参考图像或只使用参考图像的一部分(例如当前块的区域周围的搜索窗口区域)来搜索最佳匹配参考块,和/或例如基于是否执行像素插值,例如二分之一/半像素插值、四分之一像素插值和/或1/16像素插值。[0231]除了上述预测模式之外,还可以应用跳过模式、直接模式和/或其它帧间预测模式。[0232]例如,扩展融合预测,这种模式下的融合候选列表由以下五种候选类型按顺序组成:空间相邻cu的空间mvp、并置cu的时间mvp、fifo表的基于历史的mvp、成对的平均mvp和零mv。可以使用基于双向匹配的解码端运动矢量修正(decodersidemotionvectorrefinement,dmvr)来增加融合模式下的mv的精度。带有mvd的融合模式(mergemodewithmvd,mmvd)来自带有运动矢量差值的融合模式。在发送跳过标志和融合标志之后立即指示mmvd标志,用于表示是否对cu使用mmvd模式。而且可以应用cu级自适应运动矢量精度(adaptivemotionvectorresolution,amvr)方案。amvr方案支持对cu的mvd以不同的精度进行译码。根据当前cu的预测模式,可以自适应地选择当前cu的mvd。当cu以融合模式进行译码时,可以将合并的帧间/帧内预测(combinedinter/intraprediction,ciip)模式应用于当前cu。对帧间预测信号和帧内预测信号进行加权平均,以得到ciip预测。仿射运动补偿预测中,通过两个控制点(4-参数)或三个控制点(6-参数)运动矢量的运动信息来描述块的仿射运动场。基于子块的时间运动矢量预测(subblock-basedtemporalmotionvectorprediction,sbtmvp)与hevc中的时间运动矢量预测(temporalmotionvectorprediction,tmvp)类似,但预测的是当前cu中的子cu的运动矢量。双向光流(bi-directionalopticalflow,bdof)以前称为bio,是一种需要很少计算量(特别是乘法次数和乘数大小方面)的简化版本;在三角形分割模式中,以对角线划分和反对角线划分两种划分方式将cu均匀划分为两个三角形部分。此外,双向预测模式在简单平均的基础上进行了扩展,以允许对两个预测信号进行加权平均。[0233]帧间预测单元244可包括运动估计(motionestimation,me)单元和运动补偿(motioncompensation,mc)单元(两者均未在图2中示出)。运动估计单元可以用于接收或获取图像块203(当前图像17的当前图像块203)和经解码图像231,或者至少一个或多个先前的重建块(例如,一个或多个其它/不同的先前经解码图像231的重建块),以进行运动估计。例如,视频序列可以包括当前图像和先前的经解码图像231,或换句话说,当前图像和先前的经解码图像231可以为一系列图像的一部分或组成一系列图像,这一系列图像组成视频序列。[0234]例如,编码器20可用于从多个其它图像中的相同或不同图像的多个参考块中选择参考块,并将参考图像(或参考图像索引)和/或参考块的位置(x坐标、y坐标)与当前块的位置之间的偏移(空间偏移)作为帧间预测参数提供给运动估计单元。这种偏移也称为运动矢量(motionvector,mv)。[0235]运动补偿单元用于获取(例如,接收)帧间预测参数,并根据或使用帧间预测参数进行帧间预测,得到帧间预测块265。由运动补偿单元执行的运动补偿可以包括根据通过运动估计确定的运动/块矢量来提取或生成预测块,还可以包括执行插值以获得子像素精度。插值滤波可以根据已知像素样本生成其它像素样本,从而可能增加可以用于对图像块进行译码的候选预测块的数量。一旦接收到当前图像块的pu对应的运动矢量,运动补偿单元可以在其中一个参考图像列表中定位运动矢量指向的预测块。[0236]运动补偿单元还可以生成与块和视频条带相关的语法元素,以供视频解码器30在解码视频条带的图像块时使用。除了条带和相应语法元素或作为条带和相应语法元素的替代,还可以生成或使用分块组和/或分块以及相应语法元素。[0237]熵编码[0238]熵编码单元270用于将熵编码算法或方案(例如可变长度编码(variablelengthcoding,vlc)方案、上下文自适应vlc(contextadaptivevlc,cavlc)方案、算术编码方案、二值化,上下文自适应二进制算术编码(contextadaptivebinaryarithmeticcoding,cabac)、基于语法的上下文自适应二进制算术编码(syntax-basedcontext-adaptivebinaryarithmeticcoding,sbac)、概率区间分割熵(probabilityintervalpartitioningentropy,pipe)编码或其它熵编码方法或技术)等应用于或不应用于(无压缩)量化系数209、帧间预测参数、帧内预测参数、环路滤波器参数和/或其它语法元素,得到可以通过输出端272以经编码码流21等形式输出的经编码图像数据21,使得例如视频解码器30可以接收并使用这些参数进行解码。可以将经编码码流21发送给视频解码器30,或将其存储在存储器中稍后由视频解码器30发送或检索。[0239]可以使用其它接收形式的视频编码器20对视频流进行编码。例如,基于非变换的编码器20可以在没有变换处理单元206的情况下为某些块或帧直接量化残差信号。在另一种实现方式中,编码器20可以包括组合成单个单元的量化单元208和反量化单元210。[0240]解码器和解码方法[0241]图3示出了用于实现本技术技术的示例性视频解码器30。视频解码器30用于接收(例如)由编码器20编码的经编码图像数据21(例如经编码码流21),得到经解码图像331。经编码图像数据或码流包括用于解码该经编码图像数据的信息,例如表示经编码视频条带(和/或分块组或分块)的图像块的数据和相关语法元素。[0242]在图3的示例中,解码器30包括熵解码单元304、反量化单元310、逆变换处理单元312、重建单元314(例如,求和器314)、环路滤波器320、解码图像缓冲区(decodedpicturebuffer,dpb)330、模式应用单元360、帧间预测单元344和帧内预测单元354。帧间预测单元344可以为或包括运动补偿单元。在一些示例中,视频解码器30可以执行大体上与参照图2的视频编码器100描述的编码回合互逆的解码回合。[0243]如关于编码器20所述,反量化单元210、逆变换处理单元212、重建单元214、环路滤波器220、解码图像缓冲区(decodedpicturebuffer,dpb)230、帧间预测单元344和帧内预测单元354也称为组成视频编码器20的“内置解码器”。相应地,反量化单元310在功能上可以与反量化单元110相同,逆变换处理单元312在功能上可以与逆变换处理单元212相同,重建单元314在功能上可以与重建单元214相同,环路滤波器320在功能上可以与环路滤波器220相同,解码图像缓冲区330在功能上可以与解码图像缓冲区230相同。因此,视频编码器20的相应单元和功能的解释相应地适用于视频解码器30的相应单元和功能。[0244]熵解码[0245]熵解码单元304用于解析码流21(或通常为经编码图像数据21)并对经编码图像数据21执行熵解码等,得到量化系数309和/或经解码的编码参数(图3中未示出)等,例如帧间预测参数(例如参考图像索引和运动矢量)、帧内预测参数(例如帧内预测模式或索引)、变换参数、量化参数、环路滤波器参数和/或其它语法元素中的任一个或全部。熵解码单元304可以用于应用与参照编码器20中的熵编码单元270描述的编码方案对应的解码算法或方案。熵解码单元304还可以用于向模式应用单元360提供帧间预测参数、帧内预测参数和/或其它语法元素,以及向解码器30的其它单元提供其它参数。视频解码器30可以接收视频条带级和/或视频块级的语法元素。除条带和相应的语法元素之外或作为条带和相应的语法元素的替代,还可以接收和/或使用分块组和/或分块以及相应语法元素。[0246]反量化[0247]反量化单元310可以用于从经编码图像数据21(例如通过熵解码单元304等解析和/或解码)接收量化参数(quantizationparameter,qp)(或通常称为与反量化相关的信息)和量化系数,并根据这些量化参数对经解码量化系数309进行反量化,得到解量化系数311。解量化系数311也可以称为变换系数311。反量化过程可以包括使用视频编码器20为视频条带(或分块或分块组)中的每个视频块确定的量化参数来确定量化程度,同样也确定需要应用的反量化的程度。[0248]逆变换[0249]逆变换处理单元312可以用于接收解量化系数311(也称为变换系数311),并对解量化系数311进行变换,得到样本域中的重建残差块213。重建残差块213也可以称为变换块313。变换可以为逆变换,例如逆dct、逆dst、逆整数变换或概念上类似的逆变换过程。逆变换处理单元312还可以用于(例如通过熵解码单元304等解析和/或解码)从经编码图像数据21接收变换参数或对应的信息,以确定要对解量化系数311进行的变换。[0250]重建[0251]重建单元314(例如加法器或求和器314)可以用于通过以下方式将重建残差块313添加到预测块365以得到样本域中的重建块315:例如,将重建残差块313的样本值和预测块365的样本值相加。[0252]滤波[0253]环路滤波单元320(在译码环路中或之后)用于对重建块315进行滤波,得到经滤波的块321,从而顺利进行像素转变或以其它方式提高视频质量等。环路滤波单元320可以包括一个或多个环路滤波器,例如去块效应滤波器、样本自适应偏移(sample-adaptiveoffset,sao)滤波器或一个或多个其它滤波器,例如自适应环路滤波器(adaptiveloopfilter,alf)、噪声抑制滤波器(noisesuppressionfilter,nsf)或其任意组合。在一个示例中,环路滤波单元220可以包括去块效应滤波器、sao滤波器和alf滤波器。滤波过程的顺序可以是去块效应滤波、sao滤波和alf滤波。在另一个示例中,增加一种称为亮度映射与色度缩放(lumamappingwithchromascaling,lmcs)(即自适应环内整形器)的过程。该过程在去块效应滤波之前执行。在另一个示例中,去块效应滤波过程也可以应用于内部子块边缘,例如仿射子块边缘、atmvp子块边缘、子块变换(sub-blocktransform,sbt)边缘和帧内子分区(intrasub-partition,isp)边缘。虽然环路滤波单元320在图3中示为环路内滤波器,但是在其它配置中,环路滤波单元320可以实现为环路后滤波器。[0254]解码图像缓冲区[0255]随后将一个图像的经解码视频块321存储在解码图像缓冲区330中,解码图像缓冲区330存储经解码图像331作为参考图像,以便后续对其它图像进行运动补偿和/或输出或显示。[0256]解码器30用于通过输出端312等输出经解码图像311,向用户显示或供用户观看。[0257]预测[0258]帧间预测单元344在功能上可以与帧间预测单元244(特别是与运动补偿单元)相同,帧内预测单元354在功能上可以与帧间预测单元254相同,并根据从经编码图像数据21(例如通过熵解码单元304等解析和/或解码)接收的分割方式和/或预测参数或相应的信息来执行划分或分割决策和执行预测。模式应用单元360可以用于根据重建图像、块或相应的样本(经过滤波或未经滤波)对每个块执行预测(帧内预测或帧间预测),得到预测块365。[0259]当视频条带被译码为经帧内译码(i)条带时,模式应用单元360中的帧内预测单元354用于根据指示(signal)的帧内预测模式和来自当前图像的先前经解码块的数据生成当前视频条带的图像块的预测块365。当视频图像被译码为经帧间译码(即b或p)条带时,模式应用单元360中的帧间预测单元344(例如运动补偿单元)用于根据运动矢量和从熵解码单元304接收的其它语法元素为当前视频条带的视频块生成预测块365。对于帧间预测,可以根据其中一个参考图像列表内的其中一个参考图像产生这些预测块。视频解码器30可以根据存储在dpb330中的参考图像,使用默认构建技术来构建参考帧列表0和列表1。除条带(例如视频条带)之外或作为条带的替代,相同或类似的过程可以应用于使用分块组(例如视频分块组)和/或分块(例如视频分块)的实施例或由这些实施例应用,例如,视频可以使用i、p或b分块组和/或分块进行译码。[0260]模式应用单元360用于通过解析运动矢量或相关信息和其它语法元素,确定当前视频条带的视频块的预测信息,并使用预测信息产生用于正在解码的当前视频块的预测块。例如,模式应用单元360使用接收到的一些语法元素来确定用于对视频条带的视频块进行译码的预测模式(例如帧内或帧间预测)、帧间预测条带类型(例如b条带、p条带或gpb条带)、用于条带的一个或多个参考图像列表的构建信息、用于条带的每个经帧间编码视频块的运动矢量、用于条带的每个经帧间译码视频块的帧间预测状态以及其它信息,以对当前视频条带中的视频块进行解码。除条带(例如视频条带)之外或作为条带的替代,相同或类似的过程可以应用于使用分块组(例如视频分块组)和/或分块(例如视频分块)的实施例或由这些实施例应用,例如,视频可以使用i、p或b分块组和/或分块进行译码。[0261]图3所示的视频解码器30的实施例可以用于使用条带(也称为视频条带)对图像进行分割和/或解码,其中,可以使用一个或多个条带(通常为不重叠的)对图像进行分割或解码。每个条带可以包括一个或多个块(例如,ctu)或一个或多个块组(例如,分块(h.265/hevc和vvc)或砖(vvc))。[0262]在图3所示的视频解码器30实施例中,视频解码器30还可以用于采用条带/分块组(也称为视频分块组)和/或分块(也称为视频分块)对图像进行分割和/或解码。其中,某图像可以采用一个或多个条带/分块组(通常为不重叠的条带/分块组)进行分割或解码。每一memory,rom)、随机存取存储器(randomaccessmemory,ram)、三态内容寻址存储器(ternarycontent-addressablememory,tcam)和/或静态随机存取存储器(staticrandom-accessmemory,sram)。[0270]图5为示例性实施例提供的装置500的简化框图,其中,装置500可用作图1中的源设备12和目的地设备14中的任一个或两个。[0271]装置500中的处理器502可以是中央处理单元。或者,处理器502可以是现有的或今后将研发出的能够操控或处理信息的任何其它类型的设备或多个设备。虽然所公开的实现方式可以使用如图所示的处理器502等单个处理器来实施,但使用多个处理器可以提高速度和效率。[0272]在一种实现方式中,装置500中的存储器504可以是只读存储器(readonlymemory,rom)设备或随机存取存储器(randomaccessmemory,ram)设备。任何其它合适类型的存储设备都可以用作存储器504。存储器504可以包括处理器502通过总线512访问的代码和数据506。存储器504还可包括操作系统508和应用程序510,应用程序510包括至少一个程序,这个程序使得处理器502执行本文所述方法。例如,应用程序510可以包括应用1至n,包括执行本文所述方法的视频译码应用。[0273]装置500还可以包括一个或多个输出设备,例如显示器518。在一个示例中,显示器518可以是将显示器与触敏元件组合的触敏显示器,该触敏元件能够用于感测触摸输入。显示器518可以通过总线512与处理器502耦合。[0274]尽管装置500的总线512在本文中描述为单个总线,但是总线512可以包括多个总线。此外,辅助存储器514可以直接耦合到装置500中的其它组件或可以通过网络被访问,并且可以包括单个集成单元(例如一个存储卡)或多个单元(例如多个存储卡)。因此,装置500可以通过多种配置实现。[0275]本发明的实施例能够在一个编解码器内实现两个或更多个参考图像管理方案,例如,隐式滑动窗口方法(例如,在avc中使用)和参考图像列表(referencepicturelist,rpl)管理方法(例如,vvc)。[0276]在本发明的第一实施例中,隐式滑动窗口方法和参考图像列表(referencepicturelist,rpl)方法被组合到一个编解码器中,并且可以选择这两种方法中的任何一种,例如,用于序列(sps)级别。[0277]下表提供了表示参考图像管理方法切换的sps语法表的片段。[0278][0279]sps_rpl_flag等于1表示与参考图像列表相关的语法存在,并且使用rpl方法;sps_rpl_flag等于0表示与参考图像列表相关的语法不存在,并且使用avc方法。[0280]下表提供了指示与avc或rpl方法相关的参考图像语法的示例。[0281][0282]语法参数(或标志)sps_rpl_flag例如在sps级别发送(在另一实施例中,它可以在pps或条带头处发送),并表示rpl是否应该用于参考图像管理(标志值“1”表示使用rpl,标志值“0”表示不使用rpl,而是使用隐式滑动窗口机制)。[0283]如果rpl方法未启用(sps_rpl_flag等于0),则仅指示max_num_tid0_ref_pics用于隐式滑动窗口参考图像管理方法。[0284]max_num_tid0_ref_pics表示时间层0中的最大参考图像数量,这些参考图像可被解码过程用于编码视频序列(codingvideosequence,cvs)中任一图像的帧间预测(隐式滑动窗口参考图像管理方法)。max_num_tid0_ref_pics的值也用于确定解码图像缓冲区的大小。max_num_tid0_ref_pics的值通常在0到5的范围内。当max_num_tid0_ref_pics不存在时,max_num_tid0_ref_pics的值被推断为等于0。[0285]long_term_ref_pics_flag等于0表示不使用ltrp对cvs中的任何编码图像进行帧间预测。long_term_ref_pics_flag等于1表示可以使用ltrp对cvs中一个或多个编码图像进行帧间预测。当long_term_ref_pics_flag不存在时,long_term_ref_pics_flag的值被推断为等于0。[0286]rpl1_same_as_rpl0_flag等于1表示语法结构num_ref_pic_lists_in_sps[1]和ref_pic_list_struct(1,rplsidx,ltrpflag)不存在,以下适用:[0287]-num_ref_pic_lists_in_sps[1]的值被推断为等于num_ref_pic_lists_in_sps[0]的值。[0288]-ref_pic_list_struct(1,rplsidx,ltrpflag)中每个语法元素的值被推断为等于ref_pic_list_struct(0,rplsidx,ltrpflag)中对应语法元素的值,其中,rplsidx在0到num_ref_pic_lists_in_sps[0]–1的范围内。[0289]num_ref_pic_lists_in_sps[i]表示sps中包括的、listidx等于i的语法结构ref_pic_list_struct(listidx,rplsidx,ltrpflag)的数量。num_ref_pic_lists_in_sps[i]的值应在0到64的范围内(包括端值)。当num_ref_pic_lists_in_sps[i]不存在时,num_ref_pic_lists_in_sps[i]的值被推断为等于0。[0290]说明:对于listidx的每个值(等于0或1),解码器必须为总数为num_ref_pic_lists_in_sps[i] 1的语法结构ref_pic_list_struct(listidx,rplsidx,ltrpflag)分配内存,因为可以有一个语法结构ref_pic_list_struct(listidx,rplsidx,ltrpflag)在当前图像的条带头中直接指示。[0291]如果rpl方法启用(sps_rpl_flag等于1),则在条带级别指示以下rpl语法。[0292][0293][0294]根据条带头语法表,存在一个语法元素(例如,ref_pic_list_sps_flag[i]),该语法元素表示在条带头中指示的参考图像列表或在sps级别指示的一些参考图像列表是否在当前条带中使用。[0295]在当前实施例中,ref_pic_list_sps_flag[i]始终在条带头中被指示用于list0,并且仅在rpl1_idx_present_flag等于1时,也被指示用于list1。[0296]在与第一实施例类似的另一个实施例中,如果rpl方法启用(sps_rpl_flag等于1),则在条带级别指示以下rpl语法。[0297][0298]在该实施例中,如果sps内的rpl列表的数量等于0,则不指示ref_pic_list_sps_flag[i]元素。[0299]ref_pic_list_sps_flag[i]等于1表示当前图像的参考图像列表i是根据活跃sps中的、listidx等于i的语法结构ref_pic_list_struct(listidx,rplsidx,ltrpflag)中的一个推导的。ref_pic_list_sps_flag[i]等于0表示当前图像的参考图像列表i是根据直接包括在当前图像的条带头中的、listidx等于i的语法结构ref_pic_list_struct(listidx,rplsidx,ltrpflag)推导的。当num_ref_pic_lists_in_sps[i]等于0时,ref_pic_list_sps_flag[i]的值应等于0。当rpl1_idx_present_flag等于0且ref_pic_list_sps_flag[0]存在时,ref_pic_list_sps_flag[1]的值被推断为等于ref_pic_list_sps_flag[0]的值。当rep_pic_list_sps_flag[i]不存在时,rep_pic_list_sps_flag[i]的值被推断为等于0。[0300]ref_pic_list_idx[i]表示用于推导当前图像的参考图像列表i的、listidx等于i的语法结构ref_pic_list_struct(listidx,rplsidx,ltrpflag)在活跃sps中包括的、listidx等于i的语法结构ref_pic_list_struct(listidx,rplsidx,ltrpflag)的列表中的索引。语法元素ref_pic_list_idx[i]由ceil(log2(num_ref_pic_lists_in_sps[i]))个比特表示。当ref_pic_list_idx[i]不存在时,ref_pic_list_idx[i]的值被推断为等于0。ref_pic_list_idx[i]的值应在0到num_ref_pic_lists_in_sps[i]–1的范围内(包括端值)。当rpl1_idx_present_flag等于0且ref_pic_list_sps_flag[0]存在时,ref_pic_list_idx[1]的值被推断为等于ref_pic_list_idx[0]的值。[0301]下文对上述实施例中所示的编码方法和解码方法的应用以及使用这些方法的系统进行说明。[0302]图6为实现内容分发业务的内容供应系统3100的框图。该内容供应系统3100包括捕获设备3102、终端设备3106,并且可选地包括显示器3126。捕获设备3102与终端设备3106通过通信链路3104进行通信。该通信链路可以包括上述通信信道13。通信链路3104包括但不限于wifi、以太网、电缆、无线(3g/4g/5g)、usb或者其任何组合等。[0303]捕获设备3102生成数据,并且可以通过如上述实施例所示的编码方法对数据进行编码。或者,捕获设备3102可以将数据分发给流服务器(图中未示出),服务器对数据进行编码并将编码数据发送给终端设备3106。捕获设备3102包括但不限于摄像机、智能手机或平板电脑、计算机或笔记本电脑、视频会议系统、pda、车载设备,或它们的任何组合等。例如,捕获设备3102可以包括如以上所描述的源设备12。当数据包括视频时,捕获设备3102中包括的视频编码器20实际上可以执行视频编码处理。当数据包括音频(即,声音)时,捕获设备3102中包括的音频编码器实际上可执行音频编码处理。对于一些实际场景,捕获设备3102通过将经编码视频数据和经编码音频数据一起复用来分发经编码视频数据和经编码音频数据。对于其它实际场景,例如在视频会议系统中,不复用经编码音频数据和经编码视频数据。捕获设备3102分别将经编码音频数据和经编码视频数据分发到终端设备3106。[0304]在内容提供系统3100中,终端设备310接收并再现编码数据。终端设备3106可以是具有数据接收和恢复能力的设备,例如智能手机或平板电脑3108、计算机或笔记本电脑3110、网络视频录像机(networkvideorecorder,nvr)/数字视频录像机(digitalvideorecorder,dvr)3112、电视3114、机顶盒(settopbox,stb)3116、视频会议系统3118、视频监控系统3120、个人数字助理(personaldigitalassistant,pda)3122、车载设备3124,或能够对上述经编码数据进行解码的以上设备的任意组合等例如,终端设备3106可以包括如以上所描述的目的地设备14。当编码数据包括视频时,终端设备中包括的视频解码器30优先进行视频解码。当编码数据包括音频时,终端设备中包括的音频解码器优先进行音频解码处理。[0305]对于带有显示器的终端设备,例如智能手机或平板电脑3108、计算机或笔记本电脑3110、网络录像机(networkvideorecorder,nvr)/数字录像机(digitalvideorecorder,dvr)3112、tv3114、个人数字助理(personaldigitalassistant,pda)3122或车载设备3124,终端设备可以将解码数据馈送到该终端设备的显示器。对于没有显示器的终端设备(例如stb3116、视频会议系统3118或视频监控系统3120),连接外部显示器3126以接收并显示解码数据。[0306]该系统中的每个设备在进行编码或解码时,可以使用如上述实施例中所示的图像编码设备或图像解码设备。[0307]图7为终端设备3106的示例结构的示意图。在终端设备3106从捕获设备3102接收到流后,协议处理单元3202分析该流的传输协议。协议包括但不限于实时流协议(realtimestreamingprotocol,rtsp)、超文本传输协议(hypertexttransferprotocol,http)、http直播协议(httplivestreamingprotocol,hls)、mpeg-dash、实时传输协议(real-timetransportprotocol,rtp)、实时消息协议(realtimemessagingprotocol,rtmp)或其任何组合等。[0308]协议处理单元3202对流进行处理后,生成流文件。将文件输出到解复用单元3204。解复用单元3204可以将复用数据分为经编码音频数据和经编码视频数据。如上所述,在其它实际场景中,例如在视频会议系统中,不复用经编码音频数据和经编码视频数据。在这种情况下,不通过解复用单元3204,将经编码数据发送给视频解码器3206和音频解码器3208。[0309]通过解复用处理,生成视频基本流(elementarystream,es)、音频es和可选的字幕。视频解码器3206,包括上述实施例中说明的视频解码器30,通过上述实施例中所示的解码方法对视频es进行解码以生成视频帧,并将此数据馈送给同步单元3212。音频解码器3208对音频es进行解码以生成音频帧,并将此数据馈送给同步单元3212。或者,可以在将视频帧馈送到同步单元3212之前,将视频帧存储在缓冲区(图7未示出)中。类似地,可以在将音频帧馈送到同步单元3212之前,将音频帧存储在缓冲区(图7中未示出)中。[0310]同步单元3212同步视频帧和音频帧,并将视频/音频提供给视频/音频显示器3214。例如,同步单元3212同步视频和音频信息的呈现。信息可以使用与经译码音频和可视数据的呈现有关的时间戳以及与数据流本身的传送有关的时间戳而以语法进行译码。[0311]如果流中包括字幕,则字幕解码器3210解码字幕,并使字幕与视频帧和音频帧同步,并将视频/音频/字幕提供给视频/音频/字幕显示器3216。[0312]根据上述描述,具体地,提供了以下实施例。图8示出了实施例提供的对编码视频序列进行解码的方法。图8中所示的方法包括从视频序列的码流中获取(810)(例如,通过解析)参考图像列表(referencepicturelist,rpl)语法元素(例如,sps_rpl_flag)的值的步骤。rpl语法元素表示与参考图像列表相关的语法元素在码流中是否存在。该方法还包括:当rpl语法元素表示与参考图像列表相关的语法元素在码流中存在时,从码流中获取(820)与参考图像列表相关的语法元素的值。当rpl语法元素表示与参考图像列表相关的语法元素在码流中存在时,使用所获取的与参考图像列表相关的语法元素的值构建(830)至少一个用于帧间预测的参考图像列表。[0313]该方法还可以包括:当rpl语法元素表示与参考图像列表相关的语法元素在码流中不存在时,构建至少一个用于帧间预测的参考图像列表,而不进一步从码流中获取语法元素的值。在这种情况下,构建至少一个用于帧间预测的参考图像列表,而不进一步从码流中获取语法元素的值可以包括:执行滑动窗口方法,以构建至少一个用于帧间预测的参考图像列表。[0314]因此,可以执行基于参考图像列表和不基于参考图像列表的参考图像列表管理。通过rpl语法元素(例如,“sps_rpl_flag”),可以高效地控制参考图像列表方法是否可以用于帧间预测过程,以及帧间预测过程的管理,特别是参考图像管理。[0315]使用所获取的与参考图像列表相关的语法元素的值构建至少一个用于帧间预测的参考图像列表和构建至少一个用于帧间预测的参考图像列表的值而不进一步从码流中获取语法元素的值的步骤可以分别根据本领域技术人员已知的evc标准执行。参考该标准,当使用所获取的与参考图像列表相关的语法元素的值构建至少一个用于帧间预测的参考图像列表时,以下适用于构建过程:[0316]“参考图像通过参考索引进行寻址。参考索引是在参考图像列表中的索引。在解码i条带时,不使用参考图像列表来解码条带数据。在解码p条带时,只使用参考图像列表0(即refpiclist[0])来解码条带数据。在解码b条带时,同时使用参考图像列表0(即refpiclist[0])和参考图像列表1(即refpiclist[1])来解码条带数据。[0317]在非idr图像中的每个条带的解码过程开始时,推导参考图像列表refpiclist[0]和refpiclist[1]。使用参考图像列表来如第8.3.3子节中规定标识参考图像或解码条带数据。[0318]说明:如果非idr图像中的i条带不是该图像中的第一个条带,则为了检查码流一致性,可以推导refpiclist[0]和refpiclist[1],但解码当前图像或解码顺序在当前图像之后的图像不一定需要推导refpiclist[0]和refpiclist[1]。如果p条带不是图像中的第一个条带,则为了检查码流一致性,可以推导refpiclist[1],但解码当前图像或解码顺序在当前图像之后的图像不一定需要推导refpiclist[1]。[0319]参考图像列表refpiclist[0]和refpiclist[1]的构建方式如下:[0320][0321]在每i等于0或1的情况下,以下适用:[0322]-refpiclist[i]中的前numrefidxactive[i]个条目称为refpiclist[i]中的活跃条目,refpiclist[i]中的其它条目称为refpiclist[i]中的非活跃条目。[0323]-refpiclist[i][j]中的每个条目,j在0到numentriesinlist[i][slicerplsidx[i]]–1范围内(包括端值),如果lt_ref_pic_flag[i][slicerplsidx[i]][j]等于0,则称为strp条目,否则,称为ltrp条目。”[0324]继续参考该标准,当不使用所获取的与参考图像列表相关的语法元素的值构建至少一个用于帧间预测的参考图像列表时,以下内容适用于构建过程:[0325](1)“调用第8.3.2.2.2子节中使用较低的picordercntval填充参考图像列表的解码过程,其中,i设置为等于0,startidx设置为等于0,并且输出为变量nextidx。[0326](2)当nextidx小于numrefidxactive[0]时,调用第8.3.2.2.3子节中使用较高的picordercntval填充参考图像列表的解码过程,其中,i设置为等于0,startidx设置为等于nextidx,并且输出为变量nextidx。[0327](3)当nextidx小于numrefidxactive[0]时,numrefidxactive[0]设置为等于nextidx。[0328]对于b条带,参考图像列表refpiclist[1]构建如下:[0329](1)调用第8.3.2.2.3子节中使用较高的picordercntval填充参考图像列表的解码过程,其中,i设置为等于1,startidx设置为等于0,并且输出为变量nextidx。[0330](2)当nextidx小于numrefidxactive[1]时,调用第8.3.2.2.2子节中使用较低的picordercntval填充参考图像列表的解码过程,其中,i设置为等于1,startidx设置为等于nextidx,并且输出为变量nextidx。[0331](3)当nextidx小于numrefidxactive[1]时,numrefidxactive[1]将设置为等于nextidx。”[0332]8.3.2.2.2使用较低的picordercntval图像填充参考图像列表的解码过程[0333]该过程的输入为:[0334]-参考图像列表标识符i,和[0335]-起始索引位置startidx。[0336]该过程的输出是变量nextidx,表示参考图像列表中填充的位置数。[0337]变量nextidx设置为等于startidx。[0338]变量nexttemporalid设置为等于max(temporalid–1,0)。[0339]将minpoc设置为等于dpb中所有参考图像的pictureordercountval的最小值。[0340]使用较低的picordercntval图像填充参考图像列表refpiclist[i],如下所示:[0341][0342]8.3.2.2.3使用较高的picordercntval填充参考图像列表的解码过程[0343]该过程的输入为:[0344]-参考图像列表标识符i,和[0345]-起始索引位置startidx。[0346]该过程的输出是变量nextidx,表示参考图像列表中填充的位置数。[0347]变量nextidx设置为等于startidx。[0348]变量nexttemporalid设置为等于max(temporalid–1,0)。[0349]将maxpoc设置为等于dpb中所有参考图像的pictureordercountval的最大值。[0350]使用较高的picordercntval图像填充参考图像列表refpiclist[i],如下所示:[0351][0352]根据另一个实施例,提供了一种与上述解码方法相对应并如图9中所示的对视频序列进行编码的方法。图9中所示的对视频序列进行编码的方法包括确定(910)与参考图像列表相关的语法元素的值是否(由解码设备)用于构建至少一个用于帧间预测的参考图像列表的步骤。此外,该方法包括:生成(920)包括rpl语法元素的码流,所述rpl语法元素表示与参考图像列表相关的语法元素在所述码流中是否存在,其中,在确定所述与参考图像列表相关的语法元素的所述值将(由解码设备)用于构建至少一个用于帧间预测的参考图像列表的情况下,所述rpl语法元素表示所述与参考图像列表相关的语法元素在所述码流中存在。[0353]上述方法可以分别在解码设备或编码设备中实现,如下所述。[0354]如图10中所示,根据一个实施例,提供了用于对编码视频序列进行解码的解码设备1000。该解码设备包括获取单元1010,用于从视频序列的码流中获取参考图像列表(referencepicturelist,rpl)语法元素的值,该rpl语法元素表示与参考图像列表相关的语法元素在码流中是否存在,当该rpl语法元素表示与参考图像列表相关的语法元素在码流中存在时,从码流中获取与参考图像列表相关的语法元素的值。此外,解码设备1000包括:rpl构建单元1020,用于当该rpl语法元素表示与参考图像列表相关的语法元素在码流中存在时,使用由获取单元1010提供的与参考图像列表相关的语法元素的值构建至少一个用于帧间预测的参考图像列表。[0355]类似地,提供了一种用于如图11所示对视频序列进行编码的编码设备。图11中所示的编码设备包括:确定单元1110,用于确定与参考图像列表相关的语法元素的值是否用于构建至少一个用于帧间预测的参考图像列表。此外,编码设备1100包括:码流生成单元1120,用于生成包括rpl语法元素的码流,所述rpl语法元素表示与参考图像列表相关的语法元素在所述码流中是否存在,其中,在由所述确定单元1110确定所述与参考图像列表相关的语法元素的所述值将用于构建至少一个用于帧间预测的参考图像列表的情况下,所述rpl语法元素表示所述与参考图像列表相关的语法元素在所述码流中存在。[0356]图10中所示的解码设备1000可以是或可以包括图1a、图1b、图3中所示的解码器30和图7中所示的视频解码器3206。此外,解码设备1000可以包括图4中所示的视频译码设备400、图5中所示的装置500和图6中所示的终端设备3106。图11中所示的编码设备1100可以是或可以包括图1a、图1b和图3中所示的编码器20。此外,编码设备1100可以包括图4中所示的视频译码设备400、图5中所示的装置500和图6所示的捕获设备3102。[0357]此外,本文还提供了以下实施例。[0358]1.一种用于例如由解码设备实现的解码(例如视频)方法,包括:[0359]通过解析(例如,编码视频的)码流获取标志(例如,sps_rpl_flag或一些其它参数),该标志表示与参考图像列表(例如,rpl)相关的语法(例如,语法信息或语法参数)在所述码流中是否存在;[0360]-如果表示与参考图像列表(例如,rpl)相关的语法(例如,语法信息或语法参数)在所述码流中是否存在的所述标志(例如,sps_rpl_flag)等于1(或通常,如果标志值设置为第一值,例如1或0,表示应使用rpl,其中,相对/反向的第二值,例如0或1,表示不应使用rpl),则[0361]·通过解析所述码流获取表示(或定义)所述参考图像列表的所述语法元素;[0362]·根据所获取的参考图像列表进行参考图像列表管理;[0363]-否则,[0364]·执行不同的参考图像列表管理(例如,参考图像管理,使用隐式滑动窗口方法,例如使用语法元素max_num_tid0_ref_pics)。[0365]2.根据实施例1所述的方法,其中,表示与参考图像列表(例如,rpl)相关的语法在码流中是否存在的所述标志(例如,sps_rpl_flag)在sps级别指示。[0366]3.根据实施例1或2所述的方法,其中,表示所述参考图像列表的所述语法(语法信息或语法参数)在序列参数集(sequenceparameterset,sps)级别(在sps级别,例如,rpl1_same_as_rpl0_flag和num_ref_pic_lists_in_sps[i],其中,“i”是参考图像列表的数量,例如,值“0”对应于list0,值“1”对应于list1)和/或条带头(sliceheader,sh)级别(在sh级别,例如,ref_pic_list_sps_flag[i]和ref_pic_list_idx[i],其中,“i”是参考图像列表的数量,例如,值“0”对应于list0,值“1”对应于list1)指示。[0367]4.根据上述实施例中任一项所述的方法,其中,在所述条带头级别(或在条带头中)指示的语法元素(例如,ref_pic_list_sps_flag[i])表示在sps级别指示的所述参考图像列表(参见例如,语法表ref_pic_list_struct(listidx,rplsidx,ltrpflag))是否在(所述条带头所属的)所述当前条带中使用或用于所述当前条带。[0368]5.根据实施例4所述的方法,其中,在条带头级别指示的、表示在sps级别指示的所述参考图像列表是否在当前条带中使用的所述语法元素(例如,ref_pic_list_sps_flag[i])始终被指示用于第一参考列表(例如,list0),仅当rpl1_idx_present_flag等于1(或通常,仅当表示第二参考列表是否在所述码流中指示的语法元素(例如,第二标志)具有预定值,例如,1)时,也被指示用于第二参考列表(list1)。[0369]6.根据实施例5所述的方法,其中,在所述条带头级别(或在条带头中)指示的、表示在sps级别指示的所述参考图像列表是否在(所述条带头所属的)所述当前条带中使用的所述语法元素(例如,ref_pic_list_sps_flag[i])根据下表片段在所述条带头处指示。[0370][0371][0372]7.根据实施例4所述的方法,其中,在条带头级别(或在条带头中)指示的、表示在sps级别指示的所述参考图像列表是否在所述当前条带中使用或用于所述当前条带的所述语法元素(例如,ref_pic_list_sps_flag[i])在没有参考图像列表在sps级别指示的情况下不被指示。[0373]8.根据实施例7所述的方法,其中,在所述条带头级别指示的、表示在sps级别指示的所述参考图像列表是否在所述当前条带中使用的所述语法元素(例如,ref_pic_list_sps_flag[i])被指示用于list0,并且仅当rpl1_idx_present_flag等于1(或通常,仅当表示第二参考列表是否在所述码流中指示的语法元素(例如,第二标志)具有预定值,例如,1)时,被指示用于list1。[0374]9.根据实施例7或实施例8所述的方法,其中,表示使用哪个参考图像列表的所述语法元素根据下表片段在所述条带头处指示。[0375][0376][0377]10.一种用于例如由编码设备实现的编码(例如视频)方法,包括:[0378]生成码流(例如,表示所述视频的编码形式);[0379](向所述码流)添加标志(例如,sps_rpl_flag或一些其它参数),该标志表示与参考图像列表(例如,rpl)相关的语法(例如,语法信息或语法参数)在码流中是否存在(或添加);[0380]-如果表示与参考图像列表(例如,rpl)相关的语法(例如,语法信息或语法参数)在所述码流中是否存在的所述标志(例如,sps_rpl_flag)等于1(或通常,如果标志值设置为第一值,例如1或0,表示应使用rpl,其中,相对/反向的第二值,例如0或1,表示不应使用rpl),则[0381]·将表示(或定义)所述参考图像列表的所述语法元素添加到所述码流中;[0382]-否则,[0383]·不添加语法或添加其它语法,以使所述解码器能够执行不同的参考图像列表管理(例如,参考图像管理,使用隐式滑动窗口方法,例如使用语法元素max_num_tid0_ref_pics)。[0384]11.根据实施例10所述的方法,其中,表示与参考图像列表(例如,rpl)相关的语法在码流中是否存在的所述标志(例如,sps_rpl_flag)在sps级别指示。[0385]12.根据实施例10或11所述的方法,其中,表示所述参考图像列表的所述语法(语法信息或语法参数)在序列参数集(sequenceparameterset,sps)级别(在sps级别,例如,rpl1_same_as_rpl0_flag和num_ref_pic_lists_in_sps[i],其中,“i”是参考图像列表的数量,例如,值“0”对应于list0,值“1”对应于list1)和/或条带头(sliceheader,sh)级别(在sh级别,例如,ref_pic_list_sps_flag[i]和ref_pic_list_idx[i],其中,“i”是参考图像列表的数量,例如,值“0”对应于list0,值“1”对应于list1)指示。[0386]13.根据实施例10至12中任一项所述的方法,其中,在所述条带头级别(或在条带头中)指示的语法元素(例如,ref_pic_list_sps_flag[i])表示在sps级别指示的所述参考图像列表(参见例如,语法表ref_pic_list_struct(listidx,rplsidx,ltrpflag))是否在(所述条带头所属的)所述当前条带中使用或用于所述当前条带。[0387]14.根据实施例13所述的方法,其中,在条带头级别指示的、表示在sps级别指示的所述参考图像列表是否在当前条带中使用的所述语法元素(例如,ref_pic_list_sps_flag[i])始终被指示用于第一参考列表(例如,list0),仅当rpl1_idx_present_flag等于1(或通常,仅当表示第二参考列表是否在所述码流中指示的语法元素(例如,第二标志)具有预定值,例如,1)时,也被指示用于第二参考列表(list1)。[0388]15.根据实施例14所述的方法,其中,在所述条带头级别(或在条带头中)指示的、表示在sps级别指示的所述参考图像列表是否在(所述条带头所属的)所述当前条带中使用的所述语法元素(例如,ref_pic_list_sps_flag[i])根据下表片段在所述条带头处指示。[0389][0390]16.根据实施例15所述的方法,其中,在条带头级别(或在条带头中)指示的、表示在sps级别指示的所述参考图像列表是否在所述当前条带中使用或用于所述当前条带的所述语法元素(例如,ref_pic_list_sps_flag[i])在没有参考图像列表在sps级别指示的情况下不被指示。[0391]17.根据实施例16所述的方法,其中,在所述条带头级别指示的、表示在sps级别指示的所述参考图像列表是否在所述当前条带中使用的所述语法元素(例如,ref_pic_list_sps_flag[i])被指示用于list0,并且仅当rpl1_idx_present_flag等于1(或通常,仅当表示第二参考列表是否在所述码流中指示的语法元素(例如,第二标志)具有预定值,例如,1)时,被指示用于list1。[0392]18.根据实施例16或实施例17所述的方法,其中,表示使用哪个参考图像列表的所述语法元素根据下表片段在所述条带头处指示。[0393][0394]19.一种编码器(20),包括处理电路,该处理电路用于执行根据实施例10至18中任一项所述的方法。[0395]20.一种解码器(30),包括处理电路,该处理电路用于执行根据实施例1至9中任一项所述的方法。[0396]21.一种包括程序代码的计算机程序产品,该程序代码当在计算机或处理器上执行时,用于执行根据实施例1至18中任一项所述的方法。[0397]22.一种解码器,包括:[0398]一个或多个处理器;[0399]非瞬时性计算机可读存储介质,与所述处理器耦合并存储由所述处理器执行的程序,其中,所述程序在由所述处理器执行时,使所述解码器执行根据实施例1至9中任一项所述的方法。[0400]23.一种编码器,包括:[0401]一个或多个处理器;[0402]非瞬时性计算机可读存储介质,与所述处理器耦合并存储由所述处理器执行的程序,其中,所述程序在由所述处理器执行时,使所述编码器执行根据实施例10至18中任一项所述的方法。[0403]24.一种携带程序代码的非瞬时性计算机可读介质,所述程序代码在由计算机设备执行时,使所述计算机设备执行根据实施例1至18中任一项所述的方法。[0404]此外,还提供:[0405]1.一种由解码设备实现的译码方法,包括:[0406]通过解析码流,获取标志,所述标志表示与参考图像列表相关的语法在所述码流中是否存在;[0407]在与参考图像列表相关的语法存在的情况下,通过解析所述码流获取所述与参考图像列表相关的语法;[0408]根据所述与参考图像列表相关的语法,预测与所述标志相关的图像。[0409]2.一种由编码设备实现的译码方法,包括:[0410]通过解析所述码流,确定与参考图像列表相关的语法在码流中是否存在;[0411]在与参考图像列表相关的语法存在的情况下,将所述与参考图像列表相关的语法和表示所述与参考图像列表相关的语法在所述码流中存在的标志编码到所述码流中。[0412]本发明并不限于上述系统,上述实施例中的图像编码设备或图像解码设备都可以结合到其它系统,例如汽车系统中。[0413]数学运算符[0414]本技术中使用的数学运算符与c编程语言中使用的数学运算符类似。但是,对整数除法和算术移位运算的结果进行了更准确的定义,并且定义了其它运算,如幂运算和实值除法。编号和计数规范通常从零开始,例如,“第一个”相当于第0个,“第二个”相当于第1个,等等。[0415]算术运算符[0416]算术运算符定义如下:[0417][0418][0419]逻辑运算符[0420]逻辑运算符定义如下:[0421]x&&yx和y的布尔逻辑“与”操作[0422]x||yx和y的布尔逻辑“或”操作[0423]!布尔逻辑“非”[0424]x?y:z如果x为真(true)或不等于0,则返回y的值,否则,返回z的值。[0425]关系运算符[0426]关系运算符定义如下:[0427]》大于[0428]》=大于或等于[0429]《小于[0430]《=小于或等于[0431]==等于[0432]!=不等于[0433]当关系运算符用于一个已赋值为“na”(不适用)的语法元素或变量时,则将值“na”视为该语法元素或变量的唯一值。值“na”不等于任何其它值。[0434]按位运算符[0435]按位运算符定义如下:[0436]&按位“与”。对整数参数进行运算时,对整数值的二的补码表示进行运算。当对二进制参数进行运算时,如果该二进制参数包括的位比另一个参数包括的位少,则通过添加更多等于0的有效位来扩展较短的参数。[0437]|按位“或”。对整数参数进行运算时,对整数值的二的补码表示进行运算。当对二进制参数进行运算时,如果该二进制参数包括的位比另一个参数包括的位少,则通过添加更多等于0的有效位来扩展较短的参数。[0438]^按位“异或”。对整数参数进行运算时,对整数值的二的补码表示进行运算。当对二进制参数进行运算时,如果该二进制参数包括的位比另一个参数包括的位少,则通过添加更多等于0的有效位来扩展较短的参数。[0439]x》》y将x的二的补码整数表示算法右移y个二进制数字。只有y为非负整数值时才定义该函数。由于右移而移进最高有效位(mostsignificantbit,msb)的位的值等于移位运算之前的x的msb。[0440]x《《y将x的二的补码整数表示算法左移y个二进制数字。只有y为非负整数值时才定义该函数。由于左移而移进最低有效位(leastsignificantbit,lsb)的位的值等于0。[0441]赋值运算符[0442]算术运算符定义如下:[0443]=赋值运算符[0444] 增,即,x 相当于x=x 1;当在数组索引中使用时,等于增运算之前变量的值。[0445]––减,即,x––等于x=x–1;当在数组索引中使用时,等于减运算之前变量的值。[0446] =增加指定量,即,x =3相当于x=x 3,x =(–3)相当于x=x (–3)。[0447]–=减少指定量,即,x–=3相当于x=x–3,x–=(–3)相当于x=x–(–3)。[0448]范围符号[0449]下面的表示法用来说明值的范围:[0450]x=y..zx取从y到z(包括y和z)的整数值,其中,x、y和z是整数,z大于y。[0451]数学函数[0452]数学函数定义如下:[0453][0454]asin(x)三角反正弦函数,对参数x运算,x在–1.0至1.0(包括端值)范围之间,输出值在–π÷2至π÷2(包括端值)范围之间,单位为弧度[0455]atan(x)三角反正切函数,对参数x运算,输出值在–π÷2至π÷2(包括端值)范围之间,单位为弧度。[0456][0457]ceil(x)表示大于或者等于x的最小整数值。[0458]clip1y(x)=clip3(0,(1《《bitdepthy)–1,x)[0459]clip1c(x)=clip3(0,(1《《bitdepthc)–1,x)[0460][0461]cos(x)三角余弦函数,对参数x进行运算,单位为弧度。[0462]floor(x)表示小于或者等于x的最大整数值。[0463][0464]ln(x)x的自然对数(以e为底的对数,其中,e是自然对数底数常数2.718281828……)。[0465]log2(x)返回x的以2为底的对数。[0466]log10(x)返回x的以10为底的对数。[0467][0468][0469]round(x)=sign(x)*floor(abs(x) 0.5)[0470][0471]sin(x)三角正弦函数,对参数x运算,单位为弧度。[0472][0473]swap(x,y)=(y,x)[0474]tan(x)三角正切函数,对参数x运算,单位为弧度。[0475]运算优先级顺序[0476]当没有使用括号来显式表示表达式中的优先顺序时,适应以下规则:[0477]-高优先级的运算在低优先级的任何运算之前计算。[0478]-相同优先级的运算从左到右依次计算。[0479]下表从最高到最低说明运算的优先级,表中位置越高,优先级越高。[0480]对于c编程语言中也使用的运算符,本规范中使用的优先级顺序与在c编程语言中使用的优先级顺序相同。[0481]表:运算优先级从最高(表格顶部)到最低(表格底部)排序[0482][0483]逻辑运算的文本说明[0484]在文本中,逻辑运算的语句用数学形式描述如下:[0485][0486]可以用以下方式描述:[0487]……如下/……以下为准:[0488]–如果条件0,则语句0[0489]–否则,如果条件1,则语句1[0490]‑……[0491]–否则(关于剩余条件的提示性说明),则语句n[0492]文本中的每个“如果……否则,如果……否则,……”语句都以“……如下”或“……以下适用”开头,紧接“如果……”。“如果……,否则,如果……,否则,……”的最后一个条件始终是“否则,……”。中间的“如果……否则,如果……否则,……”语句可以通过使“……如下”或“……以下适用”与结尾“否则,……”匹配来识别。[0493]在文本中,逻辑运算的语句用数学形式描述如下:[0494][0495]可以用以下方式描述:[0496]……如下/……以下为准:[0497]–如果满足以下所有条件,则语句0:[0498]–条件0a[0499]–条件0b[0500]–否则,如果满足以下一个或多个条件,则语句1:[0501]–条件1a[0502]–条件1b[0503]–[0504]–否则,语句n[0505]在文本中,逻辑运算的语句用数学形式描述如下:[0506][0507]可以用以下方式描述:[0508]当条件0时,语句0[0509]当条件1时,语句1[0510]尽管本发明实施例主要根据视频译码进行了描述,但是需要说明的是,译码系统10、编码器20和解码器30(相应地,系统10)的实施例以及本文描述的其它实施例也可以用于静止图像处理或译码,即,对视频译码中独立于任何先前或连续图像的单个图像进行处理或译码。通常,如果图像处理译码限于单个图像17,则仅帧间预测单元244(编码器)和344(解码器)不可用。视频编码器20和视频解码器30的所有其它功能(也称为工具或技术)同样可用于静态图像处理,例如残差计算204/304、变换206、量化208、反量化210/310、(逆)变换212/312、分割262/362、帧内预测254/354和/或环路滤波220/320、熵编码270和熵解码304。[0511]编码器20和解码器30等的实施例以及本文参照编码器20和解码器30等描述的功能可以在硬件、软件、固件或其任意组合中实现。如果以软件来实现,则各种功能可作为一个或多个指令或代码存储在计算机可读介质中或通过通信介质传输,且由基于硬件的处理单元执行。计算机可读介质可以包括与有形介质(例如,数据存储介质)对应的计算机可读存储介质,或包括任何便于将计算机程序从一处传送到另一处的介质(例如,根据通信协议)的通信介质。以此方式,计算机可读介质通常可以对应(1)非瞬时性的有形计算机可读存储介质,或(2)如信号或载波等通信介质。数据存储介质可以是通过一个或多个计算机或一个或多个处理器访问的任何可用介质,以检索用于实现本发明所述技术的指令、代码和/或数据结构。计算机程序产品可以包括计算机可读介质。[0512]作为示例而非限制,这类计算机可读存储介质可以包括ram、rom、eeprom、cd-rom或其它光盘存储器、磁盘存储器或其它磁性存储设备、闪存或可以用于存储指令或数据结构形式的所需程序代码并且可以由计算机访问的任何其它介质。此外,任何连接都可以适当地称为计算机可读介质。例如,如果使用同轴缆线、光纤缆线、双绞线、数字用户线(digitalsubscriberline,dsl)或红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输指令,则同轴缆线、光纤缆线、双绞线、dsl或红外线、无线电和微波等无线技术包括在介质的定义中。但是,应当理解的是,计算机可读存储介质和数据存储介质并不包括连接、载波、信号或其它瞬时性介质,而是涉及非瞬时性有形存储介质。本文所使用的磁盘和光盘包括压缩光盘(compactdisc,cd)、激光光盘、光学光盘、数字多功能光盘(digitalversatiledisc,dvd)、软盘和蓝光光盘,其中,磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上各项的组合也应包括在计算机可读介质的范围内。[0513]指令可以通过一个或多个数字信号处理器(digitalsignalprocessor,dsp)、一个或多个通用微处理器、一个或多个专用集成电路(applicationspecificintegratedcircuit,asic)、一个或多个现场可编程逻辑阵列(fieldprogrammablelogicarray,fpla)或其它同等集成或离散逻辑电路等一或多个处理器来执行。因此,本文使用的术语“处理器”可以指任何上述结构或任何适合于实现本文所描述的技术的任何其它结构。另外,在一些方面中,本文描述的各种功能可以提供在用于编码和解码的专用硬件和/或软件模块内,或者并入在组合编解码器中。而且,这些技术可以在一个或多个电路或逻辑元件中完全实现。[0514]本发明中的技术可以在多种设备或装置中实现,这些设备或装置包括无线手机、集成电路(integratedcircuit,ic)或一组ic(例如芯片组)。本发明描述了各种组件、模块或单元,以强调用于执行所公开技术的设备的功能方面,但未必需要由不同的硬件单元实现。实际上,如上所述,各种单元可以结合合适的软件和/或固件组合在编解码器硬件单元中,或者通过互操作硬件单元(包括如上所述的一个或多个处理器)的集合来提供。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献