用于视频编码的方法和装置的制造方法_2

文档序号:8270316阅读:来源:国知局
覆盖图像的区域的编码单元(⑶)。⑶由一 个或多个预测单元(PU)和一个或多个变换单元(TU)组成,预测单元(PU)定义针对在该CU 内的样本的预测过程,变换单元(TU)定义针对在该⑶中的样本的预测误差编码过程。典 型地,CU由样本的方形块组成,该样本的方形块具有从可能的CU大小的预定集合能够选择 的大小。具有最大允许大小的CU典型地被称为CTU (编码树单元),以及视频图像被分成不 重叠的CTU。还能够将CTU分割到较小的⑶的组合中,例如通过递归地分割CTU和生成的 ⑶。每个生成的⑶典型地具有与它相关联的至少一个I 3U和至少一个TU。还能够将每个 PU和TU分割成更小的PU和TU,以便分别增加预测和预测误差编码过程的粒度。能够通过 将⑶分割成四个相同大小的方形PU或以对称或不对称的方式将⑶垂直地或水平地分割 成两个矩形PU,来实现切分。在比特流中典型地通过信号传送图像到⑶中的切分以及 ⑶到PU和TU中的划分,允许解码器重现这些单元的预期结构。
[0102] 在草案HEVC标准中,图像能够被分割成图块(tile),图块是矩形以及含有整数数 量的CTU。在HEVC的当前工作草案中,至图块的分割形成规则网格,其中图块的高度和宽度 彼此不同,最大为一个CTU。在草案HEVC中,片由整数数量的⑶组成。以在图块内或如果 图块不使用,则在图像内的CTU的光栅扫描顺序来扫描CU。在CTU内,CU具有特定的扫描 顺序。
[0103] 在HEVC的工作草案(WD) 5中,针对图像分割的一些关键的定义和构思被定义如 下。分割被定义为将集合分成子集合,使得该集合的每个元素精确地在子集合中的一个子 集合中。
[0104] 在HEVC WD 5中的基本编码单元是树块。树块是具有三个样本数组的图像的NxN 的亮度样本块和两个对应的色度样本块,或黑白图像或使用三个分离的彩色平面编码的图 像的NxN的样本块。可以针对不同的编码和界面过程来分割树块。树块分割是从针对具有 三个样本数组的图像的树块分割所产生的亮度样本块和两个对应的色度样本块,或从针对 黑白图像或使用三个分离的彩色平面编码的图像的树块分割所产生的亮度样本块。每个树 块被指派分割信令以标识针对帧内或帧间预测以及针对变换编码的块大小。分割是递归四 叉树分割。四叉树的根与树块相关联。四叉树被分裂直到到达叶子,其被成编码节点。编 码节点是两个树(预测树和变换树)的根节点。预测树指定预测块的方位和大小。预测树 和相关联的预测数据被称为预测单元。变换树指定变换块的方位和大小。变换树和相关联 的变换数据被称为变换单元。针对亮度和色度的分裂信息针对预测树而言是相同的,以及 针对变换树而言可以相同或可以不相同。编码树和相关联的预测和变换单元一起形成编码 单元。
[0105] 在HEVC WD 5中,图像被分成片和图块。片可以是树块的序列但是(当提及所谓 的细粒度片时)在树块内还可以具有它的边界,该边界位于变换单元和预测单元一致的位 置。在片内的树块以光栅扫描顺序被编码和解码。对于基本编码图像,将每个图像分成片 是分割。
[0106] 在HEVC WD5中,图块被定义为同时出现在一列和一行中的、在该图块中以光栅扫 描连续排序的整数树块。对于基本编码图像,每个图像分成图块是分割。在图像内以光栅 扫描连续排序图块。尽管片含有在图块内以光栅扫描连续的树块,但是这些树块在图像内 不是必须以光栅扫描连续的。片和图块不需要含有相同的树块序列。图块可以包括被含有 在超过一个片中的树块。类似地,片可以包括被含有在若干图块中的树块。
[0107] 在H. 264/AVC和HEVC中,跨域片边界可以禁用图像中预测。因此,片能够被认为 是将编码图像独立分裂成能够解码的片的方式,以及因此片常常被认为是用于传输的基本 单元。在许多情况下,编码器可以在比特流中指示跨域片边界关闭哪些类型的图像中预测 (in-picture prediction),以及解码器操作例如在推断哪些预测源是可以使用的时考虑 这个信息。例如,如果邻居宏块或CU位于不同的片中,则对于帧内预测而言,来自邻居宏块 或CU的样本可以被认为是不可以使用的。
[0108] 语法元素可以被定义为在比特流中表示的数据元素。语法结构可以被定义为以特 定顺序在比特流中一起呈现的零个或更多语法元素。
[0109] 分别针对H. 264/AVC或HEVC编码器的输出和H. 264/AVC或HEVC解码器的输入的 基本单元是网络抽象层(NAL)单元。针对面向分组的网络的传输或至结构化文件的存储, NAL单元可以被封装到分组或类似的结构中。在H. 264/AVC和HEVC中,已经指定了针对不 提供成帧结构的传输或存储环境的字节流格式。字节流格式通过在每个NAL单元的前面附 着起始码使得NAL单元彼此分离。为了避免NAL单元边界的假检测,编码器可以运行面向 字节的起始码歧义预防算法,如果起始码将以其他方式已经出现,则该算法将歧义预防字 节添加到NAL单元有效载荷。为了在面向分组和面向流的系统之间启用简单的网关操作, 可以总是执行起始码歧义预防,而不管字节流格式是否使用。
[0110] NAL单元由头部和有效载荷组成。在H. 264/AVC和HEVC中,NAL单元头部指示NAL 单元的类型以及被含有在该NAL单元中的编码片是否是参考图像或非参考图像的一部分。 H. 264/AVC包含:2比特的nal_ref_idc语法元素,当nal_ref_idc语法元素等于零时,该 nal_ref_idC语法元素指示的是,被含有在NAL单元中的编码片是非参考图像的一部分,当 nal_ref_idc语法元素大于零时,该nal_ref_idc语法元素指示的是,被含有在NAL单元中 的编码片是参考图像的一部分。草案HEVC包含:1比特的nal_ref_idC语法元素,还被称 为nal_ref_flag,当nal_ref_idc语法元素等于零时,该nal_ref_idc语法元素指示的是, 被含有在NAL单元中的编码片是非参考图像的一部分,当nal_ref_idc语法元素等于1时, 该nal_ref_id C语法元素指示的是,被含有在NAL单元中的编码片是参考图像的一部分。 针对SVC和MVC NAL单元的头部另外可以含有与可伸缩性和多视角层级有关的各种指示。 在HEVC中,NAL单元头部包含temporal_id语法元素,temporal_id语法元素指定针对NAL 单元的时间标识符。通过排除具有temporal_id大于或等于选择值的所有VCL NAL单元以 及包含所有其他VCL NAL单元而创建的比特流保持一致性。因此,具有temporal_id等于 TID的图像不使用具有temporal_id大于TID的任何图像作为帧间预测参考。在草案HEVC 中,参考图像列表初始化局限于仅被标记为的"用于参考"和具有temp〇ral_id小于或等于 当前图像的temporal」d的参考图像。
[0111] NAL单元能够被分类成视频编码层(VCL) NAL单元和非VCL NAL单元。VCL NAL单 元典型地是编码片NAL单元。在H. 264/AVC中,编码片NAL单元含有表示一个或多个编码宏 块的语法元素,该编码宏块中的每个编码宏块对应于在未压缩的图像中的样本块。在HEVC 中,编码片NAL单元含有表示一个或多个⑶的语法元素。在H. 264/AVC和HEVC中,编码片 NAL单元能够被指示为是在瞬时解码刷新(IDR)图像中的编码片或在非IDR图像中的编码 片。在HEVC中,编码片NAL单元能够被指示为是在完全解码刷新(CDR)图像(其还可以被 称为完全随机访问图像)中的编码片。
[0112] 非VCL NAL单元可以是例如以下类型中的一个类型:序列参数集、图像参数集、补 充增强信息(SEI) NAL单元、随机单元定界符、序列结束NAL单元、流结束NAL单元或填充数 据NAL单元。对于解码图像的重建而言,可以需要参数集,然而,针对解码样本值的重建而 言,许多其它的非VCL NAL单元不是必须的。
[0113] 通过编码视频序列而保持不变的参数可以被包含在序列参数集(SPS)。除了对解 码过程而言是必不可少的参数之外,序列参数集可以非必须地含有视频使用性信息(VUI), 其包含对于缓冲、图像输出定时、渲染和资源预留而言是重要的参数。在H. 264/AVC中指定 了三种NAL单元以携带序列参数集:含有针对该序列中的H.264/AVC VCL NAL单元的所有 数据的序列参数集NAL单元、含有针对辅助编码图像的数据的序列参数集扩展NAL单元、以 及针对MVC和SVC VCL NAL单元的子集序列参数集。图像参数集(PPS)含有此类参数,该 参数在若干编码图像中有可能未变。
[0114] 在草案HEVC中,还有第三类型的参数集,这里被称为自适应参数集(APS),其包含 在若干编码片中有可能未变的参数。在草案HEVC中,APS语法结构包含:与基于上下文的 自适应二进制算术编码(CABAC)、自适应样本偏移、自适应环路过滤以及去块过滤有关的参 数或语法元素。在草案HEVC中,APS是NAL单元以及在不使用来自任何其他NAL单元的参 考或预测的情况下被编码。标识符(被称为aps_id语法元素)被包含在APS NAL单元中, 以及被包含在片头部中以及在该片头部中使用以引用特定APS。
[0115] H. 264/AVC和HEVC语法允许许多参数集实例,以及使用唯一的标识符来标识每个 实例。在H. 264/AVC中,每个片头部包含图像参数集的标识符,对于含有该片的图像的解码 而言该图像参数集是活动的,以及每个图像参数集含有活动的序列参数集的标识符。因此, 图像和序列参数集的传输不是必须与片的传输精确地同步。相反,在活动的序列和图像参 数集被引用之前在任何时刻接收它们是足够的,与用于片数据的协议相比,这允许使用更 可靠的传输机制的"带外"的参数集的传输。例如,参数集能够被包含作为在针对实时传输 协议(RTP)会话的会话描述中的参数。如果在带内传送参数集,则能够使它们重复以改进 误差鲁棒性。
[0116] 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消息的过程。
[0117] 编码图像是图像的编码表不。在H. 264/AVC中的编码图像包括对于图像进行解码 而目所需要的VCL NAL单兀。在H. 264/AVC中,编码图像可以是基本编码图像或冗余编码 图像。在有效的比特流的解码过程中使用基本编码图像,而冗余的编码图像是冗余表示,该 冗余表示仅应当在基本编码图像不能成功地被解码时被解码。在草案HEVC中,还没有指定 冗余编码图像。
[0118] 在H. 264/AVC和HEVC中,访问单元包括基本编码图像和与它相关联的那些NAL单 元。在H. 264/AVC中,在访问单元内的NAL单元的出现顺序被约束如下。非必需的访问访 问单元定界符NAL单元可以指示访问单元的开始。它由零或更多SEI NAL单元跟随。接下 来出现基本编码图像的编码片。在H. 264/AVC中,基本编码图像的编码片可以由针对零个 或更多冗余编码图像的编码片跟随。冗余编码图像是图像或图像的一部分的编码表示。如 果例如由于传输中的丢失或物理存储介质中的破坏,基本编码图像没有被解码器接收,则 冗余编码图像可以被解码。
[0119] 在H. 264/AVC中,访问单元还可以包含:辅助编码图像,其是补充基本编码图像的 图像,以及可以在例如显示过程中被使用。辅助编码图像可以例如用作指定在解码图像中 的样本的透明水平的阿尔法通道或平面。阿尔法通道或平面可以在分层合成或渲染系统中 使用,其中由在彼此上至少部分透明的覆盖图像来形成输出图像。辅助编码图像具有与黑 白冗余编码图像相同的语法和语义限制。在H. 264/AVC中,辅助编码图像含有与基本编码 图像相同数量的宏块。
[0120] 编码的视频序列被定义为是在从IDR访问单元(包含)到下一个IDR访问单元 (不包含)或到比特流的结束(无论哪个最早出现)的解码序列中的连续访问单元的序列。
[0121] 图像组(GOP)和它的特点可以被定义如下。GOP能够被解码,而不管任何先前的图 像是否被解码。开放GOP是这样的图像组,其中当解码从该开放GOP的初始帧内图像开始 时,在输出顺序中的初始帧内图像之前的图像可能不能被正确地解码。也就是说,开放GOP 的图像(在帧间预测中)可以参考属于先前GOP的图像。H. 264/AVC解码器能够从H. 264/ AVC比特流中的恢复点SEI消息来识别起始开放GOP的帧内图像。HEVC解码器能够识别起 始开放GOP的帧内图像,因为特定的NAL单元类型、CDR NAL单元类型用于它的编码片。封 闭GOP是这样的图像组,其中当解码从封闭GOP的初始帧内图像开始时,所有的图像能够被 正确地解码。也就是说,在封闭GOP中没有图像参考先前GOP中的任何图像。在H.264/AVC 和HEVC中,封闭GOP从IDR访问单元开始。因此,与开放GOP结构相比,封闭GOP结构具有 更多的容错潜力,然而,代价是压缩效率中的可能降低。开放GOP编码结构在压缩中潜在地 更加高效,由于在参考图像的选择中的更大灵活性。
[0122] H. 264/AVC和HEVC的比特流语法指示特定图像是否是针对任何其他图像的帧间 预测的参考图像。在H. 264/AVC和HEVC中,任何编码类型(I,P,B)的图像能够是参考图像 或非参考图像。NAL单元头部指示NAL单元的类型以及被含有在NAL单元中的编码片是否 是参考图像或非参考图像的一部分。
[0123] 许多混合视频编解码器,包含H. 264/AVC和HEVC,在两个阶段中对视频信息进行 编码。在第一阶段中,在某一图像区域或"块"中的像素或样本值被预测。例如能够通过运 动补偿机制来预测这些像素或样本值,运动补偿机制涉及找到和指示先前编码视频帧中的 一个编码视频帧中的区域,该区域与正在被编码的块十分接近。另外,能够通过空间机制来 预测像素或样本值,空间机制涉及找到和指示空间区域关系。
[0124] 使用来自先前编码图像的图像信息的预测方法还能够被称为帧间预测方法,其还 可以被称为时间预测和运动补偿。使用在相同图像内的图像信息的预测方法还能够被称为 帧内预测方法。
[0125] 第二阶段是对像素或样本的预测块与像素或样本的原始块之间的误差进行编码 的阶段。这可以通过使用指定的变换来变换像素或样本值中的差异来完成。这种变换可以 是例如离散余弦变换(DCT)或其变型。在变换该差异后,所变换的差异被量化和熵编码。
[0126] 通过变化量化过程的保真度,编码器能够控制像素或样本表示的准确性(即,图 像的视觉质量)与所生成的编码视频表示的大小(即,文件大小或传输比特率)之间的平 衡。
[0127] 解码器通过应用类似于由编码器使用的预测机制的预测机制来重建输出视频,以 便形成该像素或样本块的预测表示(使用由编码器创建的并且被包含在图像的压缩表示 中的运动或空间信息)和预测的误差解码(预测误差编码的反操作以恢复在空间域中的量 化预测误差信号)。
[0128] 在应用像素或样本预测和误差解码过程后,解码器将预测和预测误差信号(像素 或样本值)组合以形成输出视频帧。
[0129] 解码器(以及编码器)还可以应用另外过滤过程,以便在将输出视频传送以用于 显示和/或存储作为针对视频序列中的即将到来的影像的预测参考之前,改进输出视频的 质量。
[0130] 在许多视频编解码器中,包含H. 264/AVC和HEVC,由与每个运动补偿图像块相关 联的运动向量来指示运动信息。这些运动补偿向量中的每个运动补偿向量表示将被编码 (在编码器中)或被解码(在解码器处)的图像中的图像块与在先前的编码或解码影像(或 图像)中的一个编码或解码影像中的预测源块的位移。H. 264/AVC和HEVC,如许多其它视 频压缩标准,将图像分成矩形网格,针对矩形中的每个矩形,在参考图像中的一个参考图像 中的类似块被指示用于帧间预测。预测框的位置被编码为运动向量,该运动向量指示预测 块相对于被编码的块的方位。
[0131] H. 264/AVC和HEVC包含图像顺序计数(POC)的构思。针对每个图像导出POC的 值,以及该POC的值随着输出顺序中的图像方位的增加是非减的。因此,POC指示图像的输 出顺序。可以在例如针对双向预测片的时间直接模式中的运动向量的隐式伸缩、针对加权 预测中的隐式导出权重以及针对参考图像列表初始化的解码过程中使用P0C。此外,可以在 输出顺序一致性的验证中使用P0C。在H. 264/AVC中,相对于先前的IDR图像或含有将所有 图像标记为"不用于参考"的存储器管理控制操作的图像,来指定P0C。
[0132] 可以使用以下因素中的一个或多个因素来描述帧间预测过程的特点。
[0133] 运动向量表示的准确件。例如,运动向量可以具有四分之一像素准确性,以及可以 使用
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1