用于视频编码和解码的装置、方法和计算机程序的制作方法_3

文档序号:8288293阅读:来源:国知局
的序列参数集NAL单元、含有针对辅助编码图像的数据的序列参数集扩展NAL单元以及针对MVC和SVC VCL NAL单元的子集序列参数集。在草案HEVC标准中,序列参数集RBSP包含:能够被一个或多个图像参数集RBSP或含有缓冲时间段SEI消息的一个或多个SEI NAL单元参考的参数。图像参数集含有此类参数,该参数在若干编码图像中有可能未变。图像参数集RBSP可以包含可以被一个或多个编码图像的编码片NAL单元参考的参数。
[0143]在草案HEVC中,还有第三类型的参数集,这里被称为自适应参数集(APS),其包含在若干编码片中有可能未变的参数,但是可以例如针对每个图像或每个新图像而改变。在草案HEVC中,APS语法结构包含:与量化度量(QM)、自适应样本偏移(SAO)、自适应环路过滤(ALF)以及去块过滤有关的参数或语法元素。在草案HEVC中,APS是NAL单元以及不使用来自任何其他NAL单元的参考或预测被编码。标识符(被称为aps_id语法元素)被包含在APS NAL单元中,以及被包含在片头部中以及在该片头部中使用以参考特定APS。在另一个草案HEVC标准中,APS语法结构仅含有ALF参数。在草案HEVC标准中,自适应参数集 RBSP 包含:当 sample_adaptive_offset_enabled_flag 或 adaptive_loop_filter_enabled_flag中的至少一个等于I时,能够被一个或多个编码图像的编码片NAL单元参考的参数。
[0144]草案HEVC标准还包含第四类型的参数集,被称为视频参数集(VPS),其例如在文档 JCTVC-H0388(http://phenix.1nt_evry.fr/jct/doc_end_user/documents/8_San %20Jose/wgll/JCTVC-H0388-v4.zip)中被建议。视频参数集RBSP可以包含:能够被一个或多个序列参数集RBSP参考的参数。
[0145]可以如下来描述视频参数集(VPS)、序列参数集(SPS)和图像参数集(PPS)之间的关系和层级。在参数集层级中以及在伸缩性和/或3DV的上下文中,VPS位于在SPS之上的一个级别。VPS可以包含:在整个编码视频序列中,针对跨越所有(可伸缩或视图)层的所有片而言是共同的参数。SPS包含:在整个编码视频序列中在特定(可伸缩或视图)层中的所有片而言是共同的并且可以由多个(可伸缩或视图)层来共享的参数。PPS包含:在特定层表示(在一个访问单元中的一个可伸缩或视图层的表示)中针对所有片是共同的并且可能由多个层表示中的所有片共享的参数。
[0146]VPS可以提供关于比特流中的层的依赖性关系的信息,以及在整个编码视频序列中对于跨越所有(可伸缩或视图)层而言可以应用的许多其它信息。在HEVC的可伸缩扩展中,VPS可以例如包含:从NAL单元头部导出的LayerId值至一个或多个可伸缩维度值的映射,例如对应于类似于SVC和MVC定义的针对层的dependency_id,quality_id, view_id和depth_flag。VPS可以包含针对一个或更多层的档次和级别信息,以及针对层表示的一个或多个时间子层(由在某些temporal_id值处或在其下的VCL NAL单元组成)的档次和/或级别。
[0147]H.264/AVC和HEVC语法允许许多参数集实例,以及使用唯一的标识符来标识每个实例。为了限制针对参数集所需的存储器使用,已经限制了针对参数集标识符的值范围。在H.264/AVC和草案HEVC标准中,每个片头部包含图像参数集的标识符,对于含有该片的图像的解码而言该图像参数集是活动的,以及每个图像参数集含有活动的序列参数集的标识符。在HEVC标准中,片头部另外含有APS标识符。因此,图像和序列参数集的传输不是必须与片的传输精确地同步。相反,在活动的序列和图像参数集被参考之前在任何时刻接收它们是足够的,与用于片数据的协议相比,这允许使用更可靠的传输机制在“带外”传输参数集。例如,参数集能够被包含作为在针对实时传输协议(RTP)会话的会话描述中的参数。如果在带内传送参数集,则能够使它们重复以改进误差鲁棒性。
[0148]可以由来自片或来自另一个活动参数集或在一些情况下来自另一个语法结构(诸如缓冲时间段SEI消息)的参考来激活参数集。
[0149]SEI NAL单元可以含有一个或多个SEI消息,这些SEI参数对于输出图像的解码而言不是必须的,但是可以有助于有关过程,诸如图像输出定时、渲染、误差检测、误差消除以及资源预留。在H.264/AVC和HEVC中指定了若干SEI消息,以及用户数据SEI消息使得组织和公司能够指定针对他们自己使用的SEI消息。H.264/AVC和HEVC含有针对指定的SEI消息的语法和语义但是没有定义针对在接收器中用于处理该消息的过程。因此,当编码器创建SEI消息时,要求编码器遵从H.264/AVC标准或HEVC标准,不要求分别遵照H.264/AVC标准或HEVC标准的解码器处理针对输出顺序一致性的SEI消息。在H.264/AVC和HEVC中包含SEI消息的语法和语义的其中一个原因是允许不同的系统规范来同一地解释补充信息以及从而可以互操作。旨在的是,系统规范能够要求在编码端中和在解码端中都使用特定的SEI消息,以及另外能够指定在接收器中用于处理特定SEI消息的过程。
[0150]编码图像是图像的编码表不。在H.264/AVC中的编码图像包括对于图像进彳丁解码而目所需要的VCL NAL单兀。在H.264/AVC中,编码图像可以是基本编码图像或冗余编码图像。在有效的比特流的解码过程中使用基本编码图像,而冗余的编码图像是冗余表示,该冗余表示仅应当在基本编码图像不能成功地被解码时被解码。在草案HEVC中,还没有指定冗余编码图像。
[0151]在H.264/AVC和HEVC中,访问单元包括基本编码图像和与它相关联的那些NAL单元。在H.264/AVC中,在访问单元内的NAL单元的出现顺序被约束如下。非必需的访问单元定界符NAL单元可以指示访问单元的开始。它由零或更多SEI NAL单元跟随。接下来出现基本编码图像的编码片。在H.264/AVC中,基本编码图像的编码片可以由针对零个或更多冗余编码图像的编码片跟随。冗余编码图像是图像或图像的一部分的编码表示。如果例如由于传输中的丢失或物理存储介质中的破坏,基本编码图像没有被解码器接收,则冗余编码图像可以被解码。
[0152]在H.264/AVC中,访问单元还可以包含:辅助编码图像,其是补充基本编码图像的图像,以及可以在例如显示过程中被使用。辅助编码图像可以例如用作指定在解码图像中的样本的透明水平的阿尔法通道或平面。阿尔法通道或平面可以在分层合成或渲染系统中使用,其中由在彼此上至少部分透明的覆盖图像来形成输出图像。辅助编码图像具有与黑白冗余编码图像相同的语法和语义限制。在H.264/AVC中,辅助编码图像含有与基本编码图像相同数量的宏块。
[0153]编码的视频序列被定义为是在从IDR访问单元(包含)到下一个IDR访问单元(不包含)或到比特流的结束(无论哪个最早出现)的解码序列中的连续访问单元的序列。
[0154]图像组(GOP)和它的特征可以被定义如下。GOP能够被解码,而不管任何先前的图像是否被解码。开放GOP是这样的图像组,其中当解码从该开放GOP的初始帧内图像开始时,在输出顺序中的初始帧内图像之前的图像可能不能被正确地解码。也就是说,开放GOP的图像(在帧间预测中)可以参考属于先前GOP的图像。H.264/AVC解码器能够从H.264/AVC比特流中的恢复点SEI消息来识别起始开放GOP的帧内图像。HEVC解码器能够识别起始开放GOP的帧内图像,因为特定的NAL单元类型、CRA NAL单元类型用于它的编码片。封闭GOP是这样的图像组,其中当解码从封闭GOP的初始帧内图像开始时,所有的图像能够被正确地解码。也就是说,在封闭GOP中没有图像参考先前GOP中的任何图像。在H.264/AVC和HEVC中,封闭GOP从IDR访问单元开始。因此,与开放GOP结构相比,封闭GOP结构具有更多的容错潜力,然而,代价是压缩效率中的可能降低。开放GOP编码结构在压缩中潜在地更加高效,由于在参考图像的选择中的更大灵活性。
[0155]H.264/AVC和HEVC的比特流语法指示特定图像是否是针对任何其他图像的帧间预测的参考图像。在H.264/AVC和HEVC中,任何编码类型(I,P,B)的图像能够是参考图像或非参考图像。NAL单元头部指示NAL单元的类型以及被含有在NAL单元中的编码片是否是参考图像或非参考图像的一部分。
[0156]H.264/AVC指定针对解码参考图像标记的过程,以便控制解码器中的存储器消耗。在序列参数集中确定用于帧间预测的参考图像的最大号码,还被称为M。当对参考图像进行解码时,它被标记为“用于参考”。如果参考图像的解码导致超过M个图像被标记为“用于参考”,则至少一个图像被标记为“不用于参考”。存在用于解码参考图像标记的两种类型的操作:自适应存储器控制和滑动窗口。以图像为基础来选择针对解码参考图像标记的操作模式。自适应存储器控制使得能够明确地通过信号传送哪些图像被标记为“不用于参考”,以及还可以将长期索引指配给短期参考图像。自适应存储器控制可以要求在比特流中存在存储器管理控制操作(MMCO)参数。可以将MMCO参数包含在解码参考图像标记语法结构中。如果滑动窗口操作模式处于使用中,以及有M个图像被标记为“用于参考”,则在被标记为“用于参考”的那些短期参考图像之中是第一解码图像的短期参考图像被标记为“不用于参考”。也就是说,滑动窗口操作模式导致在短期参考图像中的先进先出缓冲操作。
[0157]在H.264/AVC中的其中一种存储器管理控制操作使得所有参考图像(除了当前的图像之外)被标记为“不用于参考”。瞬时解码刷新(IDR)图像含有仅帧内编码片以及导致参考图像的类似“重置”。
[0158]在草案HEVC标准中,出于类似的目的,不使用参考图像标记语法结构和有关的解码过程,而是替代地使用参考图像集(RPS)语法结构和解码过程。针对图像有效或活动的参考图像集包含用作针对该图像的参考的所有参考图像,以及保持被标记为针对解码顺序中的任何随后图像的“用于参考”的所有参考图像。存在参考图像集的六个子集,它们被称为即 RefPicSetStCurrO, RefPicSetStCurrK RefPicSetStFollO、RefPicSetStFolll、RefPicSetLtCurr和RefPicSetLtFoll。这六个子集的注释如下。“Curr”指的是被包含在当前图像的参考图像列表中的参考图像,以及因此可以用作针对当前图像的帧间预测参考。“Foil”指的是没有被包含在当前图像的参考图像列表中的参考图像,但是可以在解码顺序中在随后的图像中用作参考图像。“St”指的是短期参考图像,一般可以通过它们的POC值的最低有效位的某一数字来标识短期参考图像。“Lt”指的是长期参考图像,长期参考图像被特定的标识以及一般具有比能够由提及的最低有效位的某一数字所表示的POC值的差异更大的相对于当前图像的POC值的差异。“O”指的是具有比当前图像的POC值更小的POC值的哪些参考图像。“I”指的是具有比当前图像的POC值更大的POC值的哪些参考图像。RefPicSetStCurrO、RefPicSetStCurrl、RefPicSetStFollO 和 RefPicSetStFolll 统称为参考图像集的短期子集。RefPicSetLtCurr和RefPicSetLtFoll统称为参考图像集的长期子集。
[0159]在草案HEVC标准中,参考图像集可以在序列参数集中被指定以及通过至参考图像集的索引在片头部中投入使用。参考图像集还可以在片头部中被指定。参考图像集的长期子集一般仅在片头部中被指定,而相同参考图像集的短期子集可以在图像参数集或片头部中被指定。参考图像集可以被独立地编码或可以从另一个参考图像集(被称为RPS间预测)来预测。当参考图像集被独立地编码时,语法结构包含:在三种类型的参考图像上迭代的至多三个环路;具有比当前图像低的POC值的短期参考图像,具有比当前图像高的POC值的短期参考图像,以及长期参考图像。每个环路条目指定将被标记为“用于参考”的图像。一般地,该图像被指定为具有不同的POC值。RPS间预测利用的事实是,当前图像的参考图像集能够从先前解码的图像的参考图像集来预测。这是因为当前图像的所有参考图像是先前图像的参考图像或是先前解码的图像本身。仅需要指示这些图像中的哪些图像应当是参考图像以及用于当前图像的预测。在两种类型的参考图像集编码中,针对每个参考图像另外地发送标志(used_by_curr_pic_X_flag),该标志指示该参考图像是由当前图像用于参考(被包含在*Curr列表中)还是不由当前图像用于参考(被包含在*Foll列表中)。被包含在由当前片使用的参考图像集的图像被标记为“用于参考”,以及没有在由当前片使用的参考图像集中的图像被标记为“不用于参考”。如果当前图像是IDR图像,则 RefPicSetStCurrO, RefPicSetStCurrK RefPicSetStFollO、RefPicSetStFolll、RefPicSetLtCurr 和 RefPicSetLtFoll 全被设置为空。
[0160]解码图像缓冲器(DPB)可以在编码器中和/或在解码器中使用。有两个原因来缓冲解码的图像,用于在帧间预测中的参考以及用于将解码图像重新排序到输出顺序中。因为H.264/AVC和HEVC提供针对参考图像标记和输出重新排序两者的更大的灵活性,因此针对参考图像缓冲和输出图像缓冲的各自的缓冲器可能浪费存储器资源。因此,DPB可以包含:针对参考图像和输出重新排序的统一的解码图像缓冲过程。当解码图像不再用作参考以及对于输出而言不需要时,可以从DPB移除解码图像。
[0161]在H.264/AVC和HEVC的许多编码模式中,使用至参考图像列表的索引来指示针对帧间预测的参考图像。可以使用可变长度编码来编码该索引,可变长度编码通常导致较小索引以具有针对对应的语法元素的较短的值。在H.264/AVC和HEVC中,针对每个双向预测(B)片生成两个参考图像列表(参考图像列表O和参考图像列表I),以及针对每个帧间编码(P)片形成一个参考图像列表(参考图像列表O)。另外,针对在草案HEVC标准中的B片,在已经构建了最终的参考图像列表(列表O和列表I)之后可以构建组合列表(列表C)。该组合列表能够用于B片内的单向预测(还被称为单一方向预测)。
[0162]典型地,在两个步骤中构建参考图像列表,诸如参考图像列表O和参考图像列表:首先,生成初始参考图像列表。可以例如以frame_num、P0C、temporal_id或关于预测层级(诸如GOP结构)的信息或它们的任何组合为基础,来生成该初始参考图像列表。第二,可以通过图像列表重新排序(RPLR)命令(还被称为参考图像列表修改语法结构,其可以被含有在片头部中)来重新排序初始参考图像列表。RPLR命令指示被排序到各自参考图像列表的开始的图像。这个第二步骤还可以被称为参考图像列表修改过程,以及RPLR命令可以被包含在参考图像列表修改语法结构中。如果使用参考图像集,则参考图像列表O可以被初始化以首先含有 RefPicSetStCurrO,由 RefPicSetStCurrl 跟随,由 RefPicSetLtCurr 跟随。参考图像列表I可以被初始化以首先含有RefPicSetStCurrl,由RefPicSetStCurrO跟随。可以通过参考图像列表修改语法结构来修改初始参考图像列表,其中可以通过至该列表的条目索引来标识在初始参考图像列表中的图像。
[0163]被称为隔离区域的编码技术基于图像中预测和帧间预测的联合约束。在图像中的隔离区域能够含有任何宏块(或诸如此类)位置,以及图像能够含有不重叠的零个或更多隔离区域。残余区域(如果有的话)是没有被图像的任何隔离区域覆盖的图像区域。当编码隔离区域时,跨域隔离区域的边界禁用至少一些类型的图像中预测。可以从相同图像的隔离区域来预测残余区域。
[0164]能够在不存在相同编码图像的任何其它隔离或残余区域的情况下,对编码的隔离区域进行解码。可能需要的是,对在残余区域之前的图像的所有隔离区域进行解码。在一些实现方式中,隔离区域或残余区域含有至少一个片。
[0165]图像,从彼此来预测它们的隔离区域,可以被分组到隔离区域图像组。能够从在相同隔离区域图像组内的其它图像中的对应的隔离区域来帧间预测隔离区域,而可能不允许从其它隔离区域或隔离区域图像组之外的帧间预测。可以从任何隔离区域来帧间预测残余区域。在隔离区域图像组中,耦合的隔离区域的形状、位置和大小可以从图像到图像而进化。
[0166]在H.264/AVC编解码器中的隔离区域的编码可以基于片组。可以在图像参数集中指定宏块位置到片组的映射。H.264/AVC语法包含:编码某些片组模式的语法,其能够被分类成两种类型,静态和进化。静态片组可以保持不变,只要图像参数集是有效的,而进化片组能够根据图像参数集中的对应参数和在片头部中的片组变化周期参数逐图像地变化。静态片组模式包含:交织、棋盘格式、面向矩形和自由格式。进化片组模式包含:水平消除(horizontal wipe),垂直消除(vertical wipe),盒状放大(box_in)和盒状缩小(box-out)。面向矩形的模式和进化模式尤其适合于隔离区域的编码以及下面对其进行更详细地描述。
[0167]对于面向矩形的片组模式,在图像区域内指定期望数量的矩形。前景片组包含在对应的矩形内的宏块位置,但是排除由较早指定的片组已经分配的宏块位置。残余片组含有没有由该前景片组覆盖的宏块。
[0168]通过指示宏块位置的扫描顺序和在每个图像的宏块数量中的片组大小的变化速率来指定进化片组。每个编码图像与片组变化周期参数(在片头部中被传递)相关联。变化周期乘以变化速率指示在第一片组中的宏块数量。第二片组含有剩余的宏块位置。
[0169]在H.264/AVC中,跨越片组边界禁用图像中预测,因为片组边界位于片边界。因此,每个片组是隔离区域或残余区域。
[0170]在图像内,每个片组具有标识号。编码器能够以以下方式来限制运动向量:运动向量仅参考属于具有与被编码的片组相同标识号的片组的解码宏块。编码器应当考虑的事实是,在分数像素插值中需要源样本的范围以及所有源样本应当在特定片组内。
[0171]H.264/AVC编解码器包含去块环路过滤器。环路过滤器被应用于每个4x4块边界,但是编码器能够在片边界处关闭环路过滤。如果在片边界处关闭环路过滤,则当执行渐进随机访问时在解码器处能够获得完美的重建图像。否则,即使在恢复点之后,重建图像可能在内容中是不完美的。
[0172]H.264/AVC标准的恢复点SEI消息和运动约束片组集合SEI消息能够用于指示的是,使用限制的运动向量将一些片组编码成隔离区域。解码器可以使用该信息例如以获得更快随机访问或通过忽略残余区域来节省处理时间。
[0173]例如在文档JCTVC_10356〈http://phenix.1nt-evry.f ir/jct/doc_end_user/documents/9_Geneva/wgll/JCTVC-10356-vl.zip〉中已经针对 HEVC 提出了子图像构思,其类似于h.264/AVC的矩形隔离区域或矩形运动约束片组集合。下面描述在JCTVC-10356中提出的子图像构思,然而应当理解的是,可以以与以下描述的方式类似但不相同的其他方式来定义子图像。在子图像构思中,图像被分割到预定义的矩形区域中。每个子图像将作为独立的图像被处理,除了构成图像的所有子图像共享相同的全局信息(诸如SPS、PPS和参考图像集)之外。子图像在几何上类似于图块。它们的属性如下:它们是在序列级别处指定的LCU对齐的矩形区域。可以在图像的子图像光栅扫描中来扫描
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1