用于视频编码的方法以及用于其的装置、计算机程序产品、系统和模块的制作方法

文档序号:7791785阅读:152来源:国知局
用于视频编码的方法以及用于其的装置、计算机程序产品、系统和模块的制作方法
【专利摘要】根据本发明的示例实施例,一种方法包括:将至少两个短期参考图像集合的信息编码到比特流中;将具有指示的图像结构描述编码到比特流中,该指示是指示至少两个短期参考图像集合中的哪个短期参考图像集合将被在图像结构内的讨论的图像用于解码,该图像结构包括按照解码顺序的一个或者多个连续图像;根据图像结构描述将图像编码到比特流中。
【专利说明】用于视频编码的方法以及用于其的装置、计算机程序产品、 系统和模块

【技术领域】
[0001] 本申请主要地涉及视频编码。

【背景技术】
[0002] 在许多视频编码系统中,已经较早解码的图像可以用于预测较晚图像的图像数 据,从而仅需对差异进行编码。如在本领域中所知,这一预测大量减少编码的数据的大小。 图像被编码或者解码的顺序无需与从解码器输出图像相同。图像顺序计数(P0C)可以被编 码到比特流中并且在解码中用来建立图像的输出顺序以及适配某些解码过程,比如运动矢 量缩放和用于加权预测的权值。另外,参考图像可以例如在参考图像集合语法结构中通过 它们的P0C值来标识,该参考图像集合语法结构标识可以用于当前图像或者后续图像的参 考图像作为用于帧间预测的参考。由于P0C值可以用于例如标识在参考图像集合语法结构 中的图像,所以它们应当被充分健壮地编码到用于每个图像的比特流中,从而例如由于在 传输或者有意去除图像(比如去除时间可缩放性(scalability)层)期间的分组丢失所致 的意外数据丢失不影响其余图像的解码操作。因而,P0C值应当为每个图像用相对大量的 比特来编码。
[0003] 许多视频编码系统包括用于时间可缩放性的可能性。换而言之,编码的视频比特 流的子集可以通过排除编码的图像来形成,其中子集比特流提供比原有比特流更低的图像 速率。时间可缩放性可以例如用于在传输系统和所谓特技模式(例如快进播放)中的比特 率适配。通常在层中组织在时间可缩放视频比特流中的图像,并且在比特流中包括层标识 符,比如在H. 264/AVC编码标准中的temporal_id。时间可缩放性然后可以通过仅将某些层 包括到子集比特流中来实现。因此,时间可缩放性常规地提供相当粒度的可缩放性水平。
[0004] 因此需要解决方案,这些解决方案改进参考图像处理过程而不破坏编码效率,提 高用于图像顺序计数值的压缩,并且提供用于视频比特流的时间结构和可缩放性的更灵活 的信令。


【发明内容】

[0005] 在权利要求中阐述本发明的示例的各个方面。
[0006] 根据本发明的第一方面,一种方法包括:将至少两个短期参考图像集合的信息编 码到比特流中;将具有指示的图像结构描述编码到比特流中,该指示是指示至少两个短期 参考图像集合中的哪个短期参考图像集合将被在图像结构内的讨论的图像用于解码,该图 像结构包括按照解码顺序的一个或者多个连续图像;根据图像结构描述将图像编码到比特 流中。
[0007] 根据本发明的第二方面,一种装置包括:至少一个处理器;以及包括计算机程序 代码的至少一个存储器,至少一个存储器和计算机程序代码被配置为与至少一个处理器一 起使该装置至少执行以下操作:将至少两个短期参考图像集合的信息编码到比特流中;将 具有指示的图像结构描述编码到比特流中,该指示是指示至少两个短期参考图像集合中的 哪个短期参考图像集合将被在图像结构内的讨论的图像用于解码,该图像结构包括按照解 码顺序的一个或者多个连续图像;根据图像结构描述将图像编码到比特流中。
[0008] 根据本发明的第三方面,一种装置包括:至少一个处理器;以及包括计算机程序 代码的至少一个存储器,至少一个存储器和计算机程序代码被配置为与至少一个处理器一 起使该装置至少执行以下操作:从比特流对至少两个短期参考图像集合的信息进行解码; 从比特流对具有指示的图像结构描述进行解码,该指示是指示至少两个短期参考图像集合 中的哪个短期参考图像集合将被在图像结构内的讨论的图像用于解码,该图像结构包括按 照解码顺序的一个或者多个连续图像;根据图像结构描述从比特流对图像进行解码。
[0009] 根据本发明的第四方面,一种计算机可读介质用指令来编码,这些指令在由计算 机执行时执行:将至少两个短期参考图像集合的信息编码到比特流中;将具有指示的图像 结构描述编码到比特流中,该指示是指示至少两个短期参考图像集合中的哪个短期参考图 像集合将被在图像结构内的讨论的图像用于解码,该图像结构包括按照解码顺序的一个或 者多个连续图像;根据图像结构描述将图像编码到比特流中。
[0010] 根据本发明的第五方面,一种用于视频编码的模块包括用于执行以下操作的装 置:将序列级别信息编码到比特流中;将至少两个短期参考图像集合的信息编码到比特流 中;将具有指示的图像结构描述编码到比特流中,该指示是指示至少两个短期参考图像集 合中的哪个短期参考图像集合将被在图像结构内的讨论的图像用于解码,该图像结构包括 按照解码顺序的一个或者多个连续图像;根据图像结构描述将图像编码到比特流中。
[0011] 根据本发明的第六方面,一种装置包括:用于将至少两个短期参考图像集合的信 息编码到比特流中的装置;用于将具有指示的图像结构描述编码到比特流中的装置,该指 示是指示至少两个短期参考图像集合中的哪个短期参考图像集合将被在图像结构内的讨 论的图像用于解码,该图像结构包括按照解码顺序的一个或者多个连续图像;用于根据图 像结构描述将图像编码到比特流中的装置。
[0012] 根据本发明的第七方面,一种装置包括:用于从比特流对至少两个短期参考图像 集合的信息进行解码的装置;用于从比特流对具有指示的图像结构描述进行解码的装置, 该指示是指示至少两个短期参考图像集合中的哪个短期参考图像集合将被在图像结构内 的讨论的图像用于解码,该图像结构包括按照解码顺序的一个或者多个连续图像;用于根 据图像结构描述从比特流对图像进行解码的装置。
[0013] 根据本发明的第八方面,一种方法包括:从比特流对至少两个短期参考图像集合 的信息进行解码;从比特流对具有指示的图像结构描述进行解码,该指示是指示至少两个 短期参考图像集合中的哪个短期参考图像集合将被在图像结构内的讨论的图像用于解码, 该图像结构包括按照解码顺序的一个或者多个连续图像;根据图像结构描述从比特流对图 像进行解码。
[0014] 根据本发明的第九方面,一种计算机可读介质用指令来编码,这些指令在由计算 机执行时执行:从比特流对至少两个短期参考图像集合的信息进行解码;从比特流对具有 指示的图像结构描述进行解码,该指示是指示至少两个短期参考图像集合中的哪个短期参 考图像集合将被在图像结构内的讨论的图像用于解码,该图像结构包括按照解码顺序的一 个或者多个连续图像;根据图像结构描述从比特流对图像进行解码。

【专利附图】

【附图说明】
[0015] 为了更完整地理解本发明的示例实施例,现在参照结合附图进行的以下描述,在 附图中:
[0016] 图1示出根据示例实施例的视频编码系统的框图;
[0017] 图2示出根据示例实施例的用于视频编码的装置;
[0018] 图3示出根据示例实施例的包括多个装置、网络和网元的用于视频编码的布置; 以及
[0019] 图4a、图4b示出根据示例实施例的用于视频编码和解码的框图。

【具体实施方式】
[0020] 在下文中,将在一个视频编码布置的背景中描述本发明的若干实施例。然而,将注 意的是,本发明不限于这一特定布置。事实上,不同实施例广泛地在其中需要改进参考图像 处理的任何环境中具有应用。例如,本发明可以适用于视频编码系统(比如流式系统、DVD 和DB播放器、在个人计算机、手持计算机和通信设备上的系统和计算机程序)以及其中处 理视频数据的网元(比如代码转换器和云计算布置)。
[0021] H. 264/AVC标准由国际电信联盟(ITU-T)的电信标准化部门的视频编码专家组 (VCEG)和国际标准化组织(ISO) /国际电工委员会(IEC)的运动图像专家组(MPEG)的联 合视频组(JVT)开发。H.264/AVC标准由两个母标准组织发布,并且它被称为ITU-T推荐 H. 264和IS0/IEC国际标准14496-10,也称为MPEG-4第10部分高级视频编码(AVC)。已经 有H. 264/AVC标准的多个版本,每个版本向规范集成新扩展或者特征。这些扩展包括可缩 放视频编码(SVC)和多视图视频编码(MVC)。
[0022] 存在当前由VCEG和MPEG的联合协作组-视频编码(JCT-VC)进行的高效率视频 编码(HEVC)的标准化项目。
[0023] 在这一节中描述H. 264/AVC和HEVC的一些关键定义、比特流和编码结构以及概念 作为其中可以对实施例进行实施的视频编码器、解码器、编码方法、解码方法和比特流结构 的示例。H. 264/AVC的关键定义、比特流和编码结构以及概念中的一些关键定义、比特流和 编码结构以及概念与在HEVC的当前工作草案中的相同--因此,以下共同地描述它们。本 发明的各方面不限于H. 264/AVC或者HEVC,而相反对于本发明可以在其上面被部分或者完 全实现的一个可能基础给出描述。
[0024] 与许多较早的视频编码标准相似,在H. 264/AVC和HEVC中指定比特流语法和语义 以及用于无错比特流的解码过程。未指定编码过程,但是编码器必须生成符合的比特流。可 以用假设参考解码器(HRD)验证比特流和解码器的符合性(conformance)。标准包含有助 于应对传输错误和损失的编码工具,但是在编码时使用工具是可选的,并且对于错误比特 流尚未指定解码过程。
[0025] 分别用于向H. 264/AVC或者HEVC编码器的输入和H. 264/AVC或者HEVC解码器的 输出的基本单元是图像。在H. 264/AVC中,图像可以是帧或者场。在HEVC的当前工作草案 中,图像是帧。帧包括亮度采样和对应的色度采样的矩阵。场在源信号是隔行的时是帧的 交替采样行的集合并且可以用作编码器输入。色度图像在与亮度图像比较时可以被子采 样。例如,在4:2:0采样模式中,色度图像的空间分辨率是亮度图像沿着两个坐标轴的空间 分辨率的一半。
[0026] 在H.264/AVC中,宏块是16x16亮度采样块和对应的色度采样块。例如,在4:2:0 采样模式中,宏块包含每个色度分量的一个8x8色度采样块。在H. 264/AVC中,图像被分割 成一个或者多个分片组,并且分片组包含一个或者多个分片(slice)。在H.264/AVC中,分 片由在特定分片组内的光栅扫描中连续排序的整数数目的宏块构成。
[0027] 在草案HEVC标准中,视频图像被划分成覆盖图像的区域的编码单元(⑶)。⑶由 定义用于在CU内的采样的预测过程的一个或者多个预测单元(PU)以及定义用于在所述CU 中的采样的预测误差编码过程的一个或者多个变换单元(TU)构成。通常,⑶由具有从可 能CU大小的预定义集合可选择的大小的采样方块构成。具有最大允许大小的CU通常称为 IXU(最大编码单元),并且视频图像被划分成非重叠的IXU。IXU可以例如通过递归地拆分 IXU和结果⑶来进一步被拆分成更小⑶的组合。每个结果⑶通常具有至少一个PU和与 它关联的至少一个TU。每个PU和TU可以被进一步拆分成更小PU和TU,以便分别增加预 测和预测误差编码过程的粒度。PU拆分可以通过将CU拆分成四个相等大小的方形PU或者 以对称或者不对称方式将⑶坚直地或者水平地拆分成两个矩形PU来实现。通常在比特流 中用信号发送将图像划分成⑶以及将⑶划分成PU和TU,从而允许解码器再现这些单元的 预期结构。
[0028] 在草案HEVC标准中,可以在矩形的并且包含整数数目的IXU的瓦片(tile)中分 割图像。在HEVC的当前工作草案中,划分成瓦片形成规则的网格,其中瓦片的高度和宽度 互不相同最多一个IXU。在草案HEVC中,分片由整数数目的⑶构成。如果未使用瓦片,则 在瓦片内或者在图像内按照LCU的光栅扫描顺序来扫描CU。在LCU内,CU具有具体的扫描 顺序。
[0029] 在HEVC的工作草案(WD) 5中,用于图像分割的一些关键定义和概念被定义如下。 分割被定义为将集合划分成子集,从而集合的每个元素正好处于子集中的一个子集中。
[0030] 在HEVC WD5中的基本编码单元是树块。树块是具有三个采样阵列的图像的NxN 亮度采样块和两个对应的色度采样块,或者单色图像或者使用三个分离色平面来编码的图 像的NxN采样块。可以分割树块用于不同编码和解码过程。树块分割是用于具有三个采样 阵列的图像的树块的分割所产生的亮度采样块和两个对应的色度采样块,或者用于单色图 像或者使用三个分离色平面来编码的图像的树块的分割所产生的亮度采样块。向每个树块 指派分割信令以标识用于帧内或者帧间预测以及用于变换编码的块大小。分割是递归四元 树分割。四元树的根与树块关联。拆分四元树直至到达称为编码节点的叶。编码节点是预 测树和变换树这两个树的根节点。预测树指定预测块的位置和大小。预测树和关联的预测 数据称为预测单元。变换树指定变换块的位置和大小。变换树和关联的变换数据称为变换 单元。用于亮度和色度的拆分信息对于预测树是相同的,并且对于变换树可以是相同的或 者可以是不相同的。编码节点以及关联的预测单元和变换单元一起形成编码单元。
[0031] 在HEVC WD5中,将图像划分成分片和瓦片。分片可以是树块序列,但是(在涉及 所谓细粒度分片时)也可以在变换单元和预测单元重合的位置处的树块内具有它的边界。 在分片内的树块按照光栅扫描顺序被编码和解码。对于编码的主图像,将每个图像划分成 分片是分割。
[0032] 在HEVC WD5中,瓦片被定义为在一列和一行中同现的、在瓦片内的光栅扫描中连 续排序的整数数目的树块。对于编码的主图像,将每个图像划分成瓦片是分割。瓦片在图 像内的光栅扫描中被连续排序。虽然分片包含在瓦片内的光栅扫描中连续的树块,但是这 些树块未必在图像内的光栅扫描中连续。分片和瓦片无需包含相同树块序列。瓦片可以包 括在多于一个分片中包含的树块。相似地,分片可以包括在若干瓦片中包含的树块。
[0033] 在H.264/AVC和HEVC中,可以跨越分片边界停用图像内预测。因此,分片可以视 为一种用于将编码的图像拆分成独立可解码片的方式,并且分片因此常常视为用于传输的 基本单元。在许多情况下,编码器可以在比特流中指示跨越分片边界关闭哪些类型的图像 内预测,并且解码器操作例如在推断哪些预测源可用时考虑这一信息。例如,如果邻近宏块 或者CU在不同分片中驻留,则来自邻近宏块或者CU的采样可以视为不可用于帧内预测。
[0034] 分别用于H. 264/AVC或者HEVC编码器的输出和H. 264/AVC或者HEVC解码器的输 入的基本单元是网络提取层(NAL)单元。为了通过面向分组的网络传送或者存储成结构化 的文件,NAL单元通常被封装成分组或者相似结构。已经在H. 264/AVC和HEVC中针对不提 供成帧结构的传输或者存储环境指定了字节流格式。字节流格式通过在每个NAL单元前面 附着开始码而将NAL单元相互分离。为了避免错误检测NAL单元边界,编码器运行面向字 节的开始码仿真预防算法,如果开始码原本会出现,则该算法向NAL单元净荷添加仿真预 防字节。为了实现在面向分组的系统与面向流的系统之间简单直接的网关操作,无论字节 流格式是否使用,总是执行开始码仿真预防。
[0035] NAL单元由首部和净荷构成。在H. 264/AVC和HEVC中,NAL单元首部指示NAL单元 的类型以及在NAL单元中包含的编码的分片是参考图像还是非参考图像的一部分。H. 264/ AVC包括2比特nal_ref_idc语法元素,该语法元素在等于0时指示在NAL单元中包含的 编码的分片是非参考图像的一部分,并且在大于〇时指示在NAL单元中包含的编码的分片 是参考图像的一部分。草案HEVC包括也称为nal_ref_flag的1比特nal_ref_idc语法元 素,该语法元素在等于0时指示在NAL单元中包含的编码的分片是非参考图像的一部分,并 且在等于1时指示在NAL单元中包含的编码的分片是参考图像的一部分。用于SVC和MVC NAL单元的首部还包含与可缩放性和多视图分级有关的各种指示。在HEVC中,NAL单元首 部包括temporal_id语法元素,该语法元素指定用于NAL单元的时间标识符。通过排除具 有大于或者等于选择的值的temporal_id的所有VCL NAL单元并且包括所有其它VCL NAL 单元而创建的比特流保持符合。因而,具有等于TID的temporal_id的图像不使用具有大 于TID的temporal_id的任何图像作为帧间预测参考。在草案HEVC中,参考图像列表初始 化仅限于如下参考图像,这些参考图像被标记为"已用于参考"并且具有小于或者等于当前 图像的 temporal_id 的 temporal_id。
[0036] NAL单元可以被分类成视频编码层(VCL) NAL单元和非VCL NAL单元。VCL NAL单 元通常是编码的分片NAL单元。在H. 264/AVC中,编码的分片NAL单元包含表示一个或者 多个编码的宏块的语法兀素,该一个或者多个编码的宏块中的每个编码的宏块对应于在未 压缩的图像中的采样块。在HEVC中,编码的分片NAL单元包含表示一个或者多个CU的语 法元素。在H. 264/AVC和HEVC中,可以指示编码的分片NAL单元为在瞬时解码刷新(IDR) 图像中的编码的分片或者在非IDR图像中的编码的分片。在HEVC中,可以指示编码的分片 NAL单元为在干净解码刷新(CDR)图像(其也可以称为干净随机访问图像)中的编码的分 片。
[0037] 非VCL NAL单元可以例如是以下类型之一:序列参数集合、图像参数集合、补充增 强信息(SEI) NAL单元、访问单元定界符、序列结束NAL单元、流结束NAL单元或者填充符数 据NAL单元。参数集合对于重建解码的图像是必需的,而其它非VCL NAL单元中的许多非 VCL NAL单元对于重建解码的采样值不是必需的。
[0038] 在序列参数集合中包括经过编码的视频序列保持不变的参数。除了解码过程必 需的参数之外,序列参数集合还可以可选地包含视频可用性信息(VUI),该WI包括对于缓 冲、图像输出定时、渲染和资源预留而言重要的参数。图像参数集合包含可能在若干编码的 图像中不变的这样的参数。在草案HEVC中,也有这里称为适应参数集合(APS)的第三类型 的参数集合,该第三类型的参数集合包括可能在若干编码的分片中不变的参数。
[0039] H. 264/AVC和HEVC语法允许参数集合的许多实例,并且每个实例用唯一标识符来 标识。在H. 264/AVC中,每个分片首部包括对于包含分片的图像的解码而言活跃的图像参 数集合的标识符,并且每个图像参数集合包含活跃序列参数集合的标识符。因而,图像和序 列参数集合的传输无需与分片的传输准确同步。取而代之,活跃序列和图像参数集合在它 们被参考之前的任何时刻被接收就足够了,这允许使用与用于分片数据的协议比较更可靠 的传输机制来传输参数集合。例如,可以包括参数集合作为在用于实时传送协议(RTP)会 话的会话描述中的参数。如果带内传输参数集合,则可以重复它们以提高错误健壮性。
[0040] 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消息的过程。
[0041] 编码图像是图像的编码表不。在H. 264/AVC中的编码图像由图像的解码所必需的 VCL NAL单元构成。在H. 264/AVC中,编码图像可以是基本编码图像或者冗余编码图像。在 有效比特流的解码过程中使用基本编码图像,而冗余编码图像是应当仅在基本编码图像不 能被成功解码时被解码的冗余表示。在草案HEVC中,尚未指定冗余编码图像。
[0042] 在H. 264/AVC和HEVC中,访问单元由基本编码图像和与它关联的那些NAL单元构 成。在H. 264/AVC中,NAL单元在访问单元内的出现顺序被约束如下。可选访问单元定界 符NAL单元可以指示访问单元的开始。零个或者更多个SEI NAL单元紧随其后。基本编码 图像的编码分片接着出现,跟随有用于零个或者更多个冗余编码图像的编码分片。
[0043] 定义编码的视频序列为按照从IDR访问单元(包括IDR访问单元)到下一个IDR 访问单元(不含下一个IDR访问单元)或者到比特流的末尾(无论哪个更早出现)的解码 顺序的连续访问单元序列。
[0044] 可以如下定义图像组(G0P)及其特性。G0P无论任何先前图像是否被解码都可以 被解码。开放GOP是这样的图像组,在该图像组中,按照输出顺序在初始帧内图像之前的图 像可能在解码从开放G0P的初始帧内图像开始时不是可正确解码的。换而言之,开放G0P的 图像可以参考(在帧间预测时)属于先前G0P的图像。H. 264/AVC解码器可以从在H. 264/ AVC比特流中的恢复点SEI消息识别开始开放G0P的帧内图像。HEVC解码器可以识别开 始开放G0P的帧内图像,因为⑶R NAL单元类型这一具体NAL单元类型用于它的编码分片。 封闭G0P是这样的图像组,在该图像组中,所有图像可以在解码从封闭G0P的初始帧内图像 开始时被正确解码。换而言之,在封闭G0P中的图像不参考在先前G0P中的任何图像。在 H. 264/AVC和HEVC中,封闭G0P从IDR访问单元开始。作为结果,封闭G0P结构与开放G0P 结构相比具有更多错误恢复可能性,然而代价是可能减少压缩效率。开放G0P编码结构由 于在选择参考图像时的更大灵活性而在压缩时可能更高效。
[0045] 可以如下定义图像结构(SOP) :S0P是按照解码顺序连续的一个或者多个编码图 像,其中按照解码顺序的第一编码图像具有等于〇的temporal_id和等于1的nal_ref_ flag。
[0046] H. 264/AVC和HEVC的比特流语法指示特定图像是否为用于任何其它图像的帧间 预测的参考图像。任何编码类型(I、P、B)的图像可以是在H. 264/AVC和HEVC中的参考图 像或者非参考图像。NAL单元首部指示NAL单元的类型以及在NAL单元中包含的编码分片 是否为参考图像或者非参考图像的一部分。
[0047] 包括H. 264/AVC和HEVC的许多混合视频编码解码器在两个阶段中对视频信息进 行编码。在第一阶段中,预测在某个图像区域或者"块"中的像素或者采样值。例如,可以 通过运动补偿机制来预测这些像素或者采样值,这些运动补偿机制涉及到发现和指示在先 前编码的视频帧之一中的与正在被编码的块接近地对应的区域。此外,可以通过涉及到发 现和指示空间区域关系的空间机制来预测像素或者采样值。
[0048] 使用来自先前编码图像的图像信息的预测方法也可以称为帧间预测方法,这些帧 间预测方法也可以称为时间预测和运动补偿。使用在相同图像内的图像信息的预测方法也 可以称为帧内预测方法。
[0049] 第二阶段是对在预测的像素或者采样块与原有像素或者采样块之间的误差进行 编码之一。这可以通过使用指定的变换对像素或者采样值的差值进行变换来实现。这一变 换可以是离散余弦变换(DCT)或者其变体。在对差值进行变换之后,变换的差值被量化和 熵编码。
[0050] 通过改变量化过程的保真度,编码器可以控制像素或者采样表示的准确度(即图 像的视觉质量)与结果编码视频表示的大小(即文件大小或者传输比特率)之间的平衡。
[0051] 解码器通过应用与编码器为了形成像素或者采样块的预测表示而使用的预测机 制相似的预测机制(使用由编码器创建的并且在图像的压缩表示中存储的运动或者空间 信息)以及预测误差解码(预测误差编码的用于在空间域中恢复量化的预测误差信号的逆 操作)来重构输出视频。
[0052] 在应用像素或者采样预测和误差解码过程之后,解码器组合预测和预测误差信号 (像素或者采样值)以形成输出视频帧。
[0053] 解码器(和编码器)也可以应用附加的滤波过程以便在传递输出视频用于显示和 /或存储为用于在视频序列中的即将来临的图像的预测参考之前提高它的质量。
[0054] 在包括H. 264/AVC和HEVC的许多视频编码解码器中,运动信息由与每个运动补偿 图像块关联的运动矢量来指示。这些运动矢量中的每个运动矢量表示在待编码(在编码器 中)或者解码(在解码器处)的图像中的图像块以及在先前编码或者解码的图像(或者图 像)之一中的预测源块的位移。H. 264/AVC和HEVC如同许多其它视频压缩标准一样将图像 划分成矩形网格,对于这些矩形中的每个矩形,指示在参考图像之一中的相似块用于帧间 预测。预测块的位置被编码为运动矢量,该运动矢量指示预测块与正在被编码的块比较的 位置。
[0055] 可以使用以下因素中的一个或者多个因素来表征帧间预测过程。
[0056] 运动矢量表示的准确度。例如,运动矢量可以是四分之一像素准确度,并且可以使 用有限冲激响应(FIR)滤波器来获得在分数像素位置中的采样值。
[0057] 用于帔间预测的块分割。包括H. 264/AVC和HEVC的许多编码标准允许选择块(对 于该块,应用运动矢量用于在编码器中的运动补偿)的大小和形状并且在比特流中指示选 择的大小和形状,从而解码器可以再现在编码器中完成的运动补偿预测。
[0058] 用于帔间预测的参考图像的数目。帔间预测源是先前解码的图像。何括H. 264/AVC 和HEVC的许多编码标准实现用于帧间预测的多个参考图像的存储以及在块基础上所使用 的参考图像的选择。例如,可以在H. 264/AVC中在宏块或者宏块分割基础上以及在HEVC中 在PU或者⑶基础上选择参考图像。许多编码标准(比如H. 264/AVC和HEVC)在比特流中 包括语法结构,这些语法结构使解码器能够创建一个或者多个参考图像列表。指向参考图 像列表的参考图像索引可以用来指示多个参考图像中的哪个参考图像用于特定块的帧间 预测。参考图像索引可以在一些帧间编码模式中由编码器编码到比特流中,或者它可以在 一些其它帧间编码模式中(由编码器和解码器)例如使用邻近块来推导。
[0059] 运动矢量预测。为了在比特流中高效表示运动矢量,可以相对于特定于块的预测 运动矢量对运动矢量进行差分编码。在许多视频编码解码器中,以预定义的方式(例如通 过计算相邻块的编码或者解码的运动矢量的中值)来创建预测运动矢量。用于创建运动矢 量预测的另一方式是从在时间参考图像中的相邻块和/或共同位置的块生成候选预测列 表并且用信号发送选择的候选作为运动矢量预测器。除了预测运动矢量值之外,还可以预 测先前编码/解码的图像的参考索引。通常从在时间参考图像中的相邻块和/或共同位置 的块预测参考索引。通常跨越分片边界停用运动矢量的差分编码。
[0060] 多假设、运动补偿预测。H. 264/AVC和HEVC实现在P分片(这里称为单向预测分 片)中使用单个预测块或者将两个运动补偿预测块的线性组合用于也称为B分片的双向预 测分片。在B分片中的个别块可以被双向预测、单向预测或者帧内预测,而在P分片中的个 别块可以被单向预测或者帧内预测。用于双向预测图像的参考图像不限于按照输出顺序 的后续图像和先前图像,而可以使用任何参考图像。在许多编码标准(比如H. 264/AVC和 HEVC)中,为P分片构造称为参考图像列表0的一个参考图像列表,并且为B分片构造列表 0和列表1这两个参考图像列表。对于B分片,即使用于预测的参考图像可以具有与彼此或 者当前图像的任何解码或者输出顺序联系,在前向预测可以是指从在参考图像列表〇中的 参考图像预测时,后向预测可以是指从在参考图像列表1中的参考图像预测。
[0061] 加权预测。许多编码标准将预测权值1用于帧间(P)图像的预测块,而将预测权 值0. 5用于B图像的每个预测块(导致求平均)。H. 264/AVC允许用于P分片和B分片两 者的加权预测。在隐式加权预测中,权值与图像顺序计数成比例,而在显式加权预测中,显 式地指示预测权值。
[0062] 在许多视频编码解码器中,在运动补偿之后的预测残差先用变换内核(比如DCT) 来变换并且然后被编码。这样做的原因是在残差之中经常仍存在某种相关性,并且变换可 以在许多情况下帮助减少这一相关性并且提供更高效的编码。
[0063] 在草案HEVC中,每个PU具有与它关联的预测信息,该预测信息定义什么种类的预 测将被应用于在该PU内的像素(例如,用于帧间预测的ro的运动矢量信息以及用于帧内 预测的PU的帧内预测方向性信息)。相似地,每个TU与如下信息关联,该信息描述用于在 所述TU内的采样的预测误差解码过程(例如包括DCT系数信息)。通常在CU级用信号发 送预测误差编码是否被应用于每个CU。在无与CU关联的预测误差残差的情况下,可以认为 无用于所述⑶的TU。
[0064] 在一些编码格式和编码解码器中,在所谓短期参考图像与长期参考图像之间进行 区分。这一区分可以影响一些解码过程,比如在时间直接模式中的运动矢量缩放或者隐式 加权预测。如果用于时间直接模式的使用的参考图像二者为短期参考图像,则可以根据当 前图像与参考图像中的每个参考图像之间的P0C差值来缩放在预测中使用的运动矢量。然 而,如果用于时间直接模式的至少一个参考图像是长期参考图像,则使用运动矢量的默认 缩放,例如可以使用将运动缩放至一半。相似地,如果短期参考图像用于隐式加权预测,则 可以根据当前图像的P0C与参考图像的P0C之间的P0C差值来缩放预测权值。然而,如果 长期参考图像用于隐式加权预测,则可以使用默认预测权值,比如在用于双向预测块的隐 式加权预测中的0. 5。
[0065] 一些视频编码格式(比如H. 264/AVC)包括frame_num语法元素,该语法元素用于 与多个参考图像有关的各种解码过程。在H. 264/AVC中,用于IDR图像的frame_num的值 为0。用于非IDR图像的frame_num的值等于被递增1的按照解码顺序的先前参考图像的 frame_num (在模算术中,即,在frame_num的最大值之后卷绕至0的frame_num值)。
[0066] H. 264/AVC和HEVC包括图像顺序计数(P0C)的概念。P0C的值针对每个图像而被 推导,并且是不随着按照输出顺序的增加的图像位置减少的。P0C因此指示图像的输出顺 序。P0C可以在解码过程中例如用于在双向预测分片的时间直接模式中的运动矢量的隐式 缩放、用于在加权预测中的隐式地推导的权值以及用于参考图像列表初始化。另外,可以在 验证输出顺序符合性时使用P0C。在H. 264/AVC中,相对于先前IDR图像或者如下图像指 定P0C,该图像包含存储器管理控制操作,该存储器管理控制操作标记所有图像为"未用于 参考"。
[0067] H. 264/AVC和草案HEVC指定用于解码参考图像标记的过程以便控制解码器中的 存储器消耗。在序列参数集合中确定称为Μ的用于帧间预测的参考图像的最大数目。在参 考图像被解码时,标记它为"已用于参考"。如果参考图像的解码造成多于Μ个的被标记为 "已用于参考"的图像,则标记至少一个图像为"未用于参考"。有用于解码参考图像标记的 两个操作类型:自适应存储器控制和滑动窗。在图像基础上选择用于解码参考图像标记的 操作模式。自适应存储器控制实现用信号显式发送哪些图像被标记为"未用于参考"并且 也可以向短期参考图像指派长期索引。自适应存储器控制要求在比特流中存在存储器管理 控制操作(MMC0)参数。如果滑动窗操作模式在使用中并且有被标记为"已用于参考"的Μ 个图像,则在被标记为"已用于参考"的那些短期参考图像之中是第一解码图像的短期参考 图像被标记为"未用于参考"。换而言之,滑动窗操作模式导致在短期参考图像之中的先进 先出缓冲操作。
[0068] 在H. 264/AVC和HEVC中的存储器管理控制操作之一使除了当前图像之外的所有 参考图像被标记为"未用于参考"。瞬时解码刷新(IDR)图像仅包含帧内编码的分片并且造 成参考图像的相似"重置"。
[0069] 在以后的草案HEVC中,已经去除参考图像标记语法结构和有关解码过程,并且 代之以使用参考图像集合(RPS)语法结构和解码过程用于相似目的。对于图像有效或 者活跃的参考图像集合包括作为参考用于该图像的所有参考图像以及对于按照解码顺 序的任何后续图像保持被标记为"已用于参考"的所有参考图像。有参考图像集合的即 被称为 RefPicSetStCurrO、RefPicSetStCurrl、RefPicSetStFollO、RefPicSetStFolll、 RefPicSetLtCurr和RefPicSetLtFoll的六个子集。六个子集的注解如下。"Curr"是指 包括在当前图像的参考图像列表中并且因此可以作为帧间预测参考用于当前图像的参考 图像。"Fo 11 "是指未包括在当前图像的参考图像列表中但是可以在按照解码顺序的后续 图像中用作参考图像的参考图像。"St"是指短期参考图像,这些短期参考图像一般可以 通过它们的P0C值的某个数目的最低有效位来标识。"Lt"是指长期参考图像,这些长期 参考图像被具体标识并且一般具有比提到的某个数目的最低有效位可以代表的P0C值的 差更大的相对于当前图像的P0C值的差。"0"是指具有比当前图像的P0C值更小的P0C 值的那些参考图像。"1"是指具有比当前图像的P0C值更大的P0C值的那些参考图像。 RefPicSetStCurrO、RefPicSetStCurrl、RefPicSetStFollO 和 RefPicSetStFolll 统称为 参考图像集合的短期子集。RefPicSetLtCurr和RefPicSetLtFoll统称为参考图像集合 的长期子集。可以在图像参数集合中指定并且通过指向参考图像集合的索引在分片首部 中使用参考图像集合。也可以在分片首部中指定参考图像集合。一般仅在分片首部中指 定参考图像集合的长期子集,而可以在图像参数集合或者分片首部中指定相同参考图像集 合的短期子集。标记在当前分片使用的参考图像集合中包括的图像为"已用于参考",并且 标记未在当前分片使用的参考图像集合中的图像为"未用于参考"。如果当前图像是IDR 图像,则 RefPicSetStCurrO、RefPicSetStCurrl、RefPicSetStFollO、RefPicSetStFolll、 RefPicSetLtCurr 和 RefPicSetLtFoll 都被设置成空。
[0070] 可以在编码器中和/或在解码器中使用解码图像缓冲器(DPB)。缓冲解码图像 有用于在帧间预测中的参考以及用于将解码图像重新排序成输出顺序这两个原因。由于 H. 264/AVC和HEVC为参考图像标记和输出重新排序二者提供大量灵活性,所以用于参考图 像缓冲和输出图像缓冲的分离缓冲器可能浪费存储器资源。因此,DPB可以包括用于参考 图像和输出重新排序的统一的解码图像缓冲过程。解码图像可以在它不再用作参考并且需 要输出时从DPB被去除。
[0071] 在H. 264/AVC和HEVC的许多编码模式中,用指向参考图像列表的索引来指示用于 帧间预测的参考图像。用可变长度编码对索引进行编码,即,索引越小,对应语法元素就变 得越短。为每个双向预测⑶分片生成两个参考图像列表(参考图像列表〇和参考图像列 表1),并且为每个帧间编码(P)分片形成一个参考图像列表(参考图像列表0)。
[0072] 典型高效率视频编码解码器(比如草案HEVC编码解码器)运用一种常称为合并 化/合并模式/过程/机制的附加运动信息编码/解码机制,其中预测和使用块/PU的所 有运动信息而无任何修改/校正。用于PU的前述运动信息包括1) "仅使用参考图像列表 0来单向预测PU"还是"仅使用参考图像列表1来单向预测ro"还是"使用参考图像列表0 和列表1二者来双向预测PU"这样的信息,2)与参考图像列表0对应的运动矢量值,3)在 参考图像列表〇中的参考图像索引,4)与参考图像列表1对应的运动矢量值,5)在参考图 像列表1中的参考图像索引。相似地,使用时间参考图像中的相邻块和/或共同位置的块 的运动信息来实现预测运动信息。通常,通过包括与可用的相邻/共同位置的块关联的运 动预测候选来构造常称为合并列表的列表,并且用信号发送列表中的选择的运动预测候选 的索引。然后,向当前PU的运动信息复制选择的候选的运动信息。在合并机制被运用于整 个⑶并且用于⑶的预测信号用作重构信号(即,不处理预测残差)时,这一类型的对⑶ 进行编码/解码通常称为跳跃模式或者基于合并的跳跃模式。除了跳跃模式之外,合并机 制也被运用于个别PU(未必如在跳跃模式中那样的整个⑶),并且在这一情况下,可以利用 预测残差来提高预测质量。这一类型的预测模式通常命名为帧间合并模式。
[0073] 通常在两个步骤中构造参考图像列表(比如参考图像列表0和参考图像列表1): 首先,生成初始参考图像列表。可以例如基于frame_num、POC、temporal_id或者关于预测 分级的信息(比如G0P结构)或者其任何组合来生成初始参考图像列表。其次,可以通过 在分片首部中包含的、也称为参考图像列表修改语法结构的参考图像列表重新排序(RPLR) 命令对初始参考图像列表进行重新排序。RPLR命令指示向相应参考图像列表的开头排序的 图像。该第二步骤也可以称为参考图像列表修改过程,并且可以在参考图像列表修改语法 结构中包括RPLR命令。如果使用参考图像集合,则可以初始化参考图像列表0,以先包含 RefPicSetStCurrO,其后跟随 RefPicSetStCurrl,其后跟随 RefPicSetLtCurr。可以初始化 参考图像列表1,以先包含1^€?。56七5比111^1,其后跟随1^€?。56七5比111^0。可以通过参考 图像列表修改语法结构来修改初始参考图像列表,其中可以通过指向列表的条目索引来标 识初始参考图像列表中的图像。
[0074] 可以基于参考图像列表0和/或参考图像列表1、例如使用在分片首部语法中包括 的参考图像列表组合语法结构来生成合并列表。可以有由编码器创建到比特流中并且由解 码器从比特流解码的参考图像列表组合语法结构,该参考图像列表组合语法结构指示合并 列表的内容。语法结构可以指示参考图像列表0和参考图像列表1被组合成用于正在被单 向预测的预测单元的附加参考图像列表组合。语法结构可以包括标志,该标志在等于某个 值时指示参考图像列表0和参考图像列表1是相同的,因此参考图像列表0用作参考图像 列表组合。语法结构可以包括条目列表,每个条目指定参考图像列表(列表0或者列表1) 和指向所指定的列表的参考索引,其中条目指定将在合并列表中包括的参考图像。
[0075] 用于参考图像标记的语法结构可以在视频编码系统中存在。例如,在已经完成图 像的解码时,解码参考图像标记语法结构(如果存在)可以用来自适应地标记图像为"未用 于参考"或者"已用于长期参考"。如果解码参考图像标记语法结构不存在并且被标记为"已 用于参考"的图像的数目不再可能增加,则可以使用基本上标记最早的(按照解码顺序)解 码参考图像为未用于参考的滑动窗参考图像标记。
[0076] 参考图像列表语法结构可以包括三个部分:用于P分片和B分片的参考图像列表 〇描述、用于B分片的参考图像列表1描述以及用于包括如下那些参考图像的任何分片的空 闲参考图像列表描述,那些参考图像未被包括在参考图像列表0或者列表1中但是仍将保 持被标记为"已用于参考"。换而言之,可以例如有为参考图像标记和参考图像列表构造二 者提供信息的一个(而不是多于一个)语法结构。
[0077] 在分片的解码开始时,可以解析参考图像列表语法结构。对于Ρ分片和Β分片,语 法结构包括解码的用于列表〇的参考图像列表描述。参考图像列表描述语法结构可以列举 图像,这些图像按照它们在参考图像列表中出现的顺序由它们的图像顺序计数(POC)值来 标识。对于Β分片,参考图像列表语法结构可以包括解码的用于列表1的参考图像列表描 述。
[0078] 可以省略参考图像列表初始化过程和/或参考图像列表修改过程,并且可以在语 法结构中直接描述参考图像列表。
[0079] 附加地或者取而代之,参考图像列表语法结构可以包括解码的(如果存在)用于 空闲参考图像列表的参考图像列表描述。
[0080] 可以标记在参考图像列表中的任何参考图像列表中的图像为"已用于参考"。可以 标记未在参考图像列表中的图像为"未用于参考"。
[0081] 换而言之,可以在单个统一的过程和语法结构中处理参考图像列表构造和参考图 像标记过程以及语法结构。
[0082] 注意到,即使在空闲参考图像列表中的参考图像具有参考图像列表描述语法结构 确定的指定顺序,通常没有编码器应当按照什么顺序列举空闲参考图像的具体要求。在某 种意义上,空闲参考图像列表可以经常视为未排序的列表或者集合。
[0083] 参考图像列表0和列表1可以包含被指示为未用于当前分片的参考的参考图像。 例如,超出num_ref_idx_10_active_minusl的参考索引可以未用于当前分片的参考。可 以指定在参考图像列表〇和列表1中的这样的非参考的参考图像被标记为"已用于参考"。 备选地,可以指定如果参考图像仅作为非参考的参考图像被包括在列表0或者列表1中而 未在空闲参考图像列表中或者作为参考的参考图像在列表0或者列表1中,则它被标记为 "未用于参考"。备选地,在两个以上提到的标记规则之间的希望的标记规则或者任何其它 确定性标记规则可以由编码器控制并且在比特流中(例如在序列参数集合SPS语法中)被 指示。例如,如果在编码中消耗较少比特,则在列表〇或者列表1中包括参考图像作为非参 考的参考图像可能优于在空闲参考图像列表中包括它。
[0084] 例如,可以在当前图像具有与参考图像中的许多或者多数参考图像不同的图像顺 序计数最高有效位(POC MSB)值时在开销方面优化参考图像列表描述语法结构或者参考图 像集合语法结构。这可以例如通过使用增量或者差分信令来实现,从而相对于基本图像顺 序计数(POC)值标识参考图像并且仅需发送差值。这一布置可以允许也例如在图像参数集 合(PPS)中灵活地放置参考图像列表描述或者参考图像集合语法结构。
[0085] 参考图像列表描述语法结构或者参考图像集合语法结构可以为了压缩效率以及 为了实现在图像参数集合PPS中包括该结构而使用图像顺序计数值(POC)的差分编码。另 夕卜,可以在指定的粒度对POC差值进行编码,并且可以在序列参数集合SPS中提供在每个时 间标识temporal_id的粒度。在某个temporal_id值为连续图像指定POC值的粒度或者恒 定间隔在使用恒定GOP结构时可以是可能的,并且可以提高压缩效率。另外,如果在单个参 考图像列表描述语法结构或者参考图像集合语法结构的子集中的所有POC差值具有相同 符号,则可以用标志等来控制。例如,可以指定用于参考图像列表0的POC差值与当前POC 比较为负,即,在参考图像列表0中的参考图像的P0C值小于当前图像的P0C值。最后,可以 在两个部分中对差分P0C进行编码,其中第一部分被固定长度编码并且第二部分被可变长 度编码,以便实现压缩改进。固定长度编码部分可以被编码为无符号整数,并且固定长度编 码部分的长度或者比特数可以由在序列参数集合SPS中的参数控制。例如,固定长度部分 的长度可以由在序列参数集合SPS中的poc_granularity_minusl语法元素控制。固定长 度编码部分的长度或者比特数也确定用于一个P0C周期的P0C差值。可变长度编码部分可 以指示在当前图像的P0C与在描述的参考图像列表中的图像的P0C之间的P0C周期数目。 换而言之,可以通过添加/从按照差分"短期"固定长度P0C差值获得的P0C值减去可变长 度编码P0C周期来解决"长期"图像。可变长度部分可以可选地存在,并且如果可变长度部 分对于图像不存在,则该图像的P0C周期与用于当前图像的P0C周期相同。
[0086] 编码器可以通过选择用于图像的P0C值和选择P0C周期的大小来控制指派图像作 为长期参考图像(或者被标记为"已用于长期参考"的图像)。可以确定在参考图像列表0 或者列表1中包括的并且在与当前图像相同的P0C周期中的参考图像为短期参考图像(或 者被标记为"已用于短期参考"的图像),而确定在列表0和列表1中的其余参考图像(其 在与当前图像不同的P0C周期中)为长期参考图像(或者被标记为"已用于长期参考"的 图像)。在编码器中并且也在解码器中基于在比特流中包括的参考图像列表描述来执行相 同标记。标记为"已用于长期参考"可以用来与在H. 264/AVC中完成的控制相似地例如控 制例如在时间直接模式中的时间运动矢量预测中的运动矢量缩放或者在隐式加权预测模 式中的预测权值。在一些实施例中,可以例如在参考图像列表描述语法元素中包括用于标 记图像为长期参考图像的具体指示,比如标志。
[0087] 描述的参考图像列表0也可以包括未在用于P分片或者用于B分片的前向方向 的中贞间预测过程中被参考的参考图像。可以例如使用num_ref_idx_10_default_active_ minusl语法元素以限制在最终参考图像列表0中的参考图像数目来从列表0排除这样的 非参考的参考图像。然而,在列表〇中包括这些参考图像以便能够通过仅列举指向列表〇 的参考索引来描述参考图像列表1。换而言之,取代列举用于在列表1中的参考图像的P0C 值或者P0C差值,通过列举参考索引或者与预测值比较的参考索引差值来描述参考图像列 表1,其中参考索引或者参考索引差值参考列表0。可以初始化预测值例如为〇或者为num_ ref_idx_10_default_active_minusl+l (即,从列表0被排除的第一索引)。可以在对每个 参考索引差值进行解码之后更新预测值为解析的参考索引。在一些实施例中,通过指示在 合并列表中包括的参考图像的P0C值来描述合并列表,并且通过指向合并列表的参考索引 来描述参考图像列表〇和列表1。
[0088] 用于参考图像列表0的参考图像列表描述可以包括用于每个循环条目的标志,该 标志指示是否在列表〇中包括标识的参考图像。相似地,用于参考图像列表1的参考图像 列表描述可以包括用于每个循环条目的标志,该标志指示是否在列表1中包括标识的参考 图像。在用于参考图像列表0或者列表1的参考图像列表描述结构之一中标识的但是未在 列表0或者列表1中包括的参考图像可以被推断为属于空闲参考图像列表。
[0089] 图1示出根据示例实施例的视频编码系统的框图为示例性装置或者电子设备50 的示意性框图,该装置或者电子设备可以并入根据本发明的实施例的编码解码器。图2示 出根据示例实施例的装置的布局。接着将说明图1和图2的单元。
[0090] 电子设备50可以例如是无线通信系统的移动终端或者用户设备。然而,将理解 至IJ,可以在可能需要对视频图像进行编码和解码或者编码或解码的任何电子设备或者装置 内实施本发明的实施例。
[0091] 装置50可以包括用于并入和保护设备的壳30。装置50还可以包括形式为液晶 显示器的显示器32。在本发明的其它实施例中,显示器可以是适合于显示图像或者视频的 任何适当的显示器技术。装置50还可以包括小键盘34。在本发明的其它实施例中,可以 运用任何适当的数据或者用户接口机制。例如,可以实施用户接口为虚拟键盘或者数据录 入系统作为触敏显示器的一部分。装置可以包括麦克风36或者任何适当的音频输入,该音 频输入可以是数字或者模拟信号输入。装置50还可以包括如下音频输出设备,该音频输出 设备在本发明的实施例中可以是以下各项中的任何一项:耳机38、扬声器或者模拟音频或 者数字音频输出连接。装置50也可以包括电池40 (或者在本发明的其它实施例中,设备可 以由任何适当的移动能量设备(比如太阳能电池、燃料电池或者时钟机构生成器)供电)。 装置还可以包括用于与其它设备的近程视线通信的红外线端口 42。在其它实施例中,装置 50还可以包括任何适当的近程通信解决方案,比如蓝牙无线连接或者USB/火线有线连接。
[0092] 装置50可以包括用于控制装置50的控制器56或者处理器。控制器56可以连接 到存储器58,该存储器在本发明的实施例中可以存储形式为图像的数据和音频数据二者, 和/或也可以存储用于在控制器56上实施的指令。控制器56还可以连接到适合于实现音 频和/或视频数据的编码和解码或者辅助由控制器56实现的编码和解码的编码解码器电 路54。
[0093] 装置50还可以包括用于提供用户信息并且适合于提供用于在网络认证和授权用 户的认证信息的读卡器48和智能卡46,例如和读取器。
[0094] 装置50可以包括无线电接口电路52,该无线电接口电路连接到控制器并且适合 于生成例如用于与蜂窝通信网络、无线通信系统或者无线局域网通信的无线通信信号。装 置50还可以包括天线44,该天线连接到无线电接口电路52用于向其它(多个)装置发送 在无线电接口电路52生成的射频信号并且用于从其它(多个)装置接收射频信号。
[0095] 在本发明的一些实施例中,装置50包括能够记录或者检测个别帧的相机,这些帧 然后向编码解码器54或者控制器传递用于处理。在本发明的一些实施例中,装置可以在传 输和/或存储之前从另一设备接收视频图像数据用于处理。在本发明的一些实施例中,装 置50可以无线地或者通过有线连接接收图像用于编码/解码。
[0096] 图3示出根据示例实施例的包括多个装置、网络和网元的用于视频编码的布置。 关于图3,示出可以在其中利用本发明的实施例的系统的示例。系统10包括可以通过一个 或者多个网络通信的多个通信设备。系统10可以包括有线或者无线网络的任何组合,这些 有线或者无线网络包括但不限于无线蜂窝电话网络(比如GSM、UMTS、CDMA网络等)、比如 IEEE 802. X标准中的任何标准定义的无线局域网(WLAN)、蓝牙个域网、以太网局域网、令 牌环局域网、广域网和因特网。
[0097] 系统10可以包括适合用于实施本发明的实施例的有线和无线通信设备或者装置 50二者。例如,图3中所示系统示出移动电话网络11以及因特网28的表示。与因特网28 的连通可以包括但不限于远程无线连接、近程无线连接和各种有线连接,这些有线连接包 括但不限于电话线路、线缆线路、功率线路和相似通信途径。
[0098] 系统10中所示示例通信设备可以包括但不限于电子设备或者装置50、个人数字 助理(PDA)和移动电话14的组合、PDA 16、集成消息传送设备(MD) 18、桌面型计算机20、 笔记本计算机22。装置50可以是静止的或者在由移动的个人携带时是移动的。装置50也 可以位于运输模式中,该运输模式包括但不限于小汽车、卡车、出租车、公共汽车、火车、船 只、飞机、自行车、摩托车或者任何相似的适当的运输模式。
[0099] 一些或者更多装置可以发送和接收呼叫和消息,并且通过与基站24的无线连接 25与服务提供商通信。基站24可以连接到网络服务器26,该网络服务器允许在移动电话 网络11与因特网28之间的通信。系统可以包括附加通信设备和各种类型的通信设备。 [0100] 通信设备可以使用各种传输技术来通信,这些传输技术包括但不限于码分多址 (CDMA)、全球移动通信系统(GSM)、通用移动电信系统(UMTS)、时分多址(TDMA)、频分多址 (FDMA)、传输控制协议-网际协议(TCP-IP)、短消息服务(SMS)、多媒体消息服务(MMS)、 电子邮件、即时消息服务(MS)、蓝牙、IEEE802. 11以及任何相似的无线通信技术。参与实 施本发明的各种实施例的通信设备可以使用各种介质来通信,这些介质包括但不限于无线 电、红外线、激光、线缆连接以及任何适当的连接。
[0101] 图4a和图4b示出根据示例实施例的用于视频编码和解码的框图。
[0102] 图4a示出编码器为包括像素预测器302、预测误差编码器303和预测误差解码器 304。图4a也示出像素预测器302的实施例为包括帧间预测器306、帧内预测器308、模式 选择器310、滤波器316和参考帧存储器318。在这一实施例中,模式选择器310包括块处 理器381和代价评估器382。编码器还可以包括用于对比特流进行熵编码的熵编码器330。
[0103] 图4b描绘帧间预测器306的实施例。帧间预测器306包括用于选择一个或者多 个参考帧的参考帧选择器360、运动矢量定义器361、预测列表形成器363和运动矢量选择 器364。这些单元或者它们中的一些单元可以是预测处理器362的一部分,或者它们可以通 过使用其它装置来实施。
[0104] 像素预测器302接收将在帧间预测器306 (其确定图像与运动补偿参考帧318之 间的差值)和帧内预测器308 (其仅基于当前帧或者图像的已处理部分来确定用于图像块 的预测)二者处编码的图像300。向模式选择器310传递帧间预测器和帧内预测器二者的 输出。帧间预测器306和帧内预测器308二者可以具有多于一个的帧内预测模式。因此, 可以对于每个模式执行帧间预测和帧内预测并且可以向模式选择器310提供预测信号。模 式选择器310也接收图像300的副本。
[0105] 模式选择器310确定使用哪个编码模式对当前块进行编码。如果模式选择器310 判决使用帧间预测模式,则它将向模式选择器310的输出传递帧间预测器306的输出。如 果模式选择器310判决使用帧内预测模式,则它将向模式选择器310的输出传递帧内预测 器模式之一的输出。
[0106] 模式选择器310可以在代价评估器块382中例如使用拉格朗日代价函数来通常在 块的基础上在编码模式及其参数值(比如运动矢量、参考索引和帧内预测方向)之间选择。 这一种类的代价函数使用加权因子lambda将由于有损编码方法所致的(确切的或者估计 的)图像失真与为了表示在图像区域中的像素值而需要的(确切的或者估计的)信息量联 系在一起:C = D+lambdaXR,其中C是待最小化的拉格朗日代价,D是具有模式及其参数的 图像失真(例如均方误差),并且R是为了表示所需数据以在解码器中重构图像块而需要的 比特数(例如包括用于表示候选运动矢量的数据量)。
[0107] 向第一求和设备321传递模式选择器的输出。第一求和设备可以从图像300减去 像素预测器302的输出以产生向预测误差编码器303输入的第一预测误差信号320。
[0108] 像素预测器302还从初步重构器339接收图像块312的预测表示和预测误差解码 器304的输出338的组合。可以向帧内预测器308以及向滤波器316传递初步重构的图像 314。接收初步表示的滤波器316可以对初步表示进行滤波并且输出可以在参考帧存储器 318中保存的最终重构图像340。参考帧存储器318可以连接到帧间预测器306以用作将 来图像300在帧间预测操作中与其比较的参考图像。在许多实施例中,参考帧存储器318 可以能够存储多于一个的解码图像,并且它们中的一个或者多个解码图像可以由帧间预测 器306用作将来图像300在帧间预测操作中与其比较的参考图像。参考帧存储器318可以 在一些情况下也称为解码图像缓冲器。
[0109] 像素预测器302的操作可以被配置用于执行本领域已知的任何已知像素预测算 法。
[0110] 像素预测器302也可以包括用于在从像素预测器302输出预测值之前对它们进行 滤波的滤波器385。
[0111] 下文将进一步具体描述预测误差编码器302和预测误差解码器304的操作。在下 面的示例中,编码器按照将要形成全图像或者图像的16x16像素宏块生成图像。然而,注意 至IJ,图4a不限于块大小16x16,而是一般可以使用任何块大小和形状,并且类似地,图4a不 限于将图像分割成宏块,而是可以使用分割成块(比如编码单元)的任何其它图像。因此, 对于以下示例,像素预测器302输出大小为16x16像素的一系列预测宏块,并且第一求和设 备321输出一系列16x16像素的残差数据宏块,这些残差数据宏块可以表示在图像300中 的第一宏块与预测宏块(像素预测器302的输出)之间的差值。
[0112] 预测误差编码器303包括变换块342和量化器344。变换块342将第一预测误差 信号320变换到变换域。变换例如是DCT变换或者它的变体。量化器344量化变换域信号 (例如DCT系数)以形成量化系数。
[0113] 预测误差解码器304从预测误差编码器303接收输出并且产生解码预测误差信号 338,该解码预测误差信号当在第二求和设备339处与图像块312的预测表示组合时产生初 步重构图像314。可以认为预测误差解码器包括解量化器346和逆变换块348,该解量化器 将量化系数值(例如DCT系数)解量化以近似地重构变换信号,该逆变换块对重构变换信 号执行逆变换,其中逆变换块348的输出包含(多个)重构块。预测误差解码器也可以包 括宏块滤波器(未示出),该宏块滤波器可以根据进一步的解码信息和滤波器参数对重构 宏块进行滤波。
[0114] 在下文中,将更具体描述帧间预测器306的示例实施例的操作。帧间预测器306接 收用于帧间预测的当前块。假设对于当前块,已经存在已编码的一个或者多个邻近块,并且 已经为它们定义了运动矢量。例如,在左侧上的块和/或在当前块以上的块可以是这样的 块。可以例如通过使用在相同切片或者帧中的编码的邻近块和/或非邻近块的运动矢量、 使用空间运动矢量预测的线性或者非线性函数、使用各种空间运动矢量预测器与线性或者 非线性运算的组合,或者通过不利用时间参考信息的任何其它适当手段来形成用于当前块 的空间运动矢量预测。也可以有可能通过组合一个或者多个编码块的空间预测信息和时间 预测信息二者来获得运动矢量预测器。这些种类的运动矢量预测器也可以称为空间-时间 运动矢量预测器。
[0115] 可以向参考帧存储器存储在编码中使用的参考帧。可以在参考图像列表中的一个 或者多个参考图像列表中包括每个参考帧,在参考图像列表内,每个条目具有标识参考帧 的参考索引。在参考帧不再用作参考帧时,它可以从参考帧存储器被去除或者被标记为"未 用于参考"或者非参考帧,其中该参考帧的存储位置可以被占用以用于新参考帧。
[0116] 在各种实施例中,用于图像结构(S0P)、图像组(GOP)、S0P序列(S0S0P)、G0P序列 (S0G0P)和编码视频序列的结构可以被编码到比特流中并且可以在解码或者其它过程中使 用。
[0117] 在S0P描述或者G0P描述中的每个图像可以被包括但不限于例如以下各项的语法 元素或者结构的集合表征:
[0118] -图像的nal_ref_flag或者nal_ref_idc或者任何其它相似语法元素,该语法元 素指示图像是参考图像还是非参考图像,
[0119] -图像的temporal_id或者其它时间层标识符,
[0120] -图像的任何其它可缩放性标识符,比如空间或者SNR层编号,例如H. 264/AVC的 depenency_id和quality_id,多视图序列的视图标识符,
[0121] -标识编码图像的类型的标识符,例如是纹理图像、深度图像、冗余纹理图像、辅助 图像或者某个其它类型的图像,
[0122] -标识用于编码图像的编码模式的标识符,例如指示帧内编码图像、使用单向预测 的帧间编码图像以及使用双向预测的帧间编码图像,
[0123] -图像顺序计数信息,比如相对于某个其它图像的图像顺序计数差值或者用于图 像的P0C值的最低有效位,
[0124] -用于图像的参考图像集合,
[0125] -用于图像的参考图像列表修改,
[0126] -用于图像的参考图像列表修改,
[0127] -用于图像的解码参考图像标记,
[0128] -对于图像保持不变的任何其它语法元素或者信息。
[0129] 可以在S0P描述或者G0P描述中包括用于图像的语法结构(比如已使用的参考图 像集合),或者可以在S0P描述或者G0P描述中包括语法结构的索引或者其它标识符。
[0130] 在S0P描述或者G0P描述中的图像可以按照它们的解码或者比特流顺序来列举。
[0131] S0P描述可以被汇集成也称为S0P序列的S0P序列(S0S0P),该S0S0P可以具有它 们自己的专用语法结构。可以在S0S0P中多次包括单个S0P,并且可以在S0S0P中包括许多 不同SOP。S0S0P也可以包括其它S0S0P。
[0132] 在一些实施例中,可以给出G0P描述为包括以下各项中的一项或者多项的语法结 构:指定的S0P列表、指定的S0S0P列表、指定的图像序列。可以使用标识符在G0P描述中 标识或者可以在G0P描述中包括S0P和S0S0P。S0P或者S0S0P列表可以包含若干列表项, 其中每个列表项可以包含用于S0P或者S0S0P的重复计数,并且也可以标识或者包括与列 表项对应的S0P或者S0S0P。
[0133] GOP描述可以被汇集成也称为GOP序列的GOP序列(S0G0P),该S0G0P可以具有它 们自己的专用语法结构。可以在S0G0P中多次包括单个G0P,并且可以在S0G0P中包括许多 不同GOP。S0G0P也可以包括其它S0G0P。
[0134] 可以在编码视频序列描述中通过参考来包括S0P描述、S0S0P描述、G0P描述或者 S0G0P描述。编码视频序列描述可以包括若干条目,这些条目中的每个条目可以指定某个 SOP、S0S0P、G0P或者S0G0P描述将被重复指定的次数。
[0135] 可以推断编码视频序列描述始于无需在任何S0P、S0S0P、G0P或者S0G0P描述中包 括的IDR图像。
[0136] 可以例如在序列参数集合语法结构、序列首部、补充增强信息(SEI)消息等中包 括S0P、S0S0P、G0P、S0G0P和编码视频序列描述。无需在相同语法结构中包括不同描述。例 如,可以在序列参数集合中提供S0P描述,而可以在SEI消息中提供编码视频序列描述。
[0137] 分片首部可以包括标识当前图像属于的S0P和/或G0P的索引以及标识在S0P和 /或G0P内的图像的顺序编号。顺序编号可以使用有限或者信令式编号方案。例如,在S0P 内的图像可以从〇开始被编索引,并且索引可以对于按照解码顺序的每个图像被递增1。在 另一示例中,顺序编号被temporal_id和/或nal_ref_f lag值限定,从而顺序编号可以从0 开始并且在S0P和/或G0P中的共享相同temporal_id和/或nal_ref_flag值的那些图 像之中被递增1。
[0138] 在示例实施例中,可以指定语法结构、语法元素的语义和解码过程如下。以粗体类 型代表在比特流中的语法元素。每个语法元素由它的名称(有下划线字符的所有小写字 母)、它的一个或者两个语法类别以及用于它的编码表示方法的一个或者两个描述符来描 述。解码过程根据语法元素的值以及先前解码的语法元素的值来表现。当在语法表或者文 本中使用语法元素的值时,它以普通(即,非粗体)类型出现。在一些情况下,语法表可以 使用从语法元素值推导的其它变量的值。这样的变量在由小写和大写字母的混合命名的语 法表或者文本中出现而无任何下划线字符。始于大写字母的变量被推导用于对当前语法结 构和所有依赖性语法结构进行解码。始于大写字母的变量可以在解码过程中用于以后的 语法结构而不提及变量的起源语法结构。始于小写字母的变量仅在其中推导它们的子条款 (subclause)中使用。在一些情况下,用于语法元素值或者变量值的"助记"名称与它们的 数值可互换地使用。有时使用"助记"名称而无任何关联数值。在文本中指定值和名称的 关联。名称根据被下划线字符分离的一组或者多组字目构造。每组始于大写字母并且可以 包含更多大写字母。
[0139] 在示例实施例中,可以使用例如如在H. 264/AVC或者草案HEVC中指定的用于算术 算符、逻辑算符、关系算符、比特式(bit-wise)算符、赋值算符和值域(range)符号的通用 符号。而且,可以使用例如如在H. 264/AVC或者草案HEVC中指定的通用数学函数并且可以 使用例如如在H. 264/AVC或者草案HEVC中指定的算符的优先和执行顺序的通用顺序(从 左向右或者从右向左)。
[0140] 在示例实施例中,以下描述符可以用来指定每个语法元素的解析过程。
[0141] -se(V):以左边比特优先的有符号整数指数哥伦布编码的语法元素。
[0142] -u (η):使用η比特的无符号整数。在η是在语法表中的"v"时,比特数以依赖于 其它语法元素的值的方式变化。用于这一描述符的解析过程由来自比特流的η个接下来的 比特指定,这些比特被解释为以最高有效位优先写入的无符号整数的二进制表示。
[0143] -ue(V):以左边比特优先的无符号整数指数哥伦布编码的语法元素。
[0144] 可以例如使用下表将指数哥伦布比特串转换成代码编号(codeNum):
[0145]

【权利要求】
1. 一种方法,包括: 将至少两个短期参考图像集合的信息编码到比特流中; 将具有指示的图像结构描述编码到所述比特流中,所述指示是指示所述至少两个短期 参考图像集合中的哪个短期参考图像集合将被在所述图像结构内的讨论的图像用于解码, 所述图像结构包括按照解码顺序的一个或者多个连续图像; 根据所述图像结构描述将图像编码到所述比特流中。
2. 根据权利要求1所述的方法,还包括将所述图像结构描述编码到序列参数集合或者 补充增强信息消息中。
3. 根据权利要求1所述的方法,还包括将至少一个图像结构描述汇集到图像结构序列 的描述中。
4. 根据权利要求1所述的方法,还包括将对图像结构描述的参考包括到编码视频序列 描述中。
5. 根据权利要求3所述的方法,还包括将对图像结构序列的描述的参考包括到编码视 频序列描述中。
6. 根据权利要求1所述的方法,还包括向分片首部提供标识所述图像结构的索引,其 中讨论的图像属于所述图像结构并且提供顺序编号,用于标识在所述图像结构内的所述讨 论的图像。
7. -种装置,包括: 至少一个处理器;以及 包括计算机程序代码的至少一个存储器, 所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使 所述装置至少执行以下操作: 将至少两个短期参考图像集合的信息编码到比特流中; 将具有指示的图像结构描述编码到所述比特流中,所述指示是指示所述至少两个短期 参考图像集合中的哪个短期参考图像集合将被在所述图像结构内的讨论的图像用于解码, 所述图像结构包括按照解码顺序的一个或者多个连续图像; 根据所述图像结构描述将图像编码到所述比特流中。
8. 根据权利要求7所述的装置,其中所述处理器包括至少一个存储器,所述至少一个 存储器包含计算机程序代码,所述计算机程序代码如果由所述处理器执行,则使所述装置 将所述图像结构描述编码到序列参数集合或者补充增强信息消息中。
9. 根据权利要求7所述的装置,其中所述处理器包括至少一个存储器,所述至少一个 存储器包含计算机程序代码,所述计算机程序代码如果由所述处理器执行,则使所述装置 将至少一个图像结构描述汇集到图像结构序列的描述中。
10. 根据权利要求7所述的装置,其中所述处理器包括至少一个存储器,所述至少一个 存储器包含计算机程序代码,所述计算机程序代码如果由所述处理器执行,则使所述装置 将对图像结构描述的参考包括到编码视频序列描述中。
11. 根据权利要求9所述的装置,其中所述处理器包括至少一个存储器,所述至少一个 存储器包含计算机程序代码,所述计算机程序代码如果由所述处理器执行,则使所述装置 将对图像结构序列的描述的参考包括到编码视频序列描述中。
12. 根据权利要求7所述的装置,其中所述处理器包括至少一个存储器,所述至少一个 存储器包含计算机程序代码,所述计算机程序代码如果由所述处理器执行,则使所述装置 向分片首部提供标识所述图像结构的索引,其中讨论的图像属于所述图像结构并且提供顺 序编号,用于标识在所述图像结构内的所述讨论的图像。
13. -种装置,包括: 至少一个处理器;以及包括计算机程序代码的至少一个存储器,所述至少一个存储 器和所述计算机程序代码被配置为与所述至少一个处理器一起使该装置至少执行以下操 作: 从比特流对至少两个短期参考图像集合的信息进行解码; 从所述比特流对具有指示的图像结构描述进行解码,所述指示是指示所述至少两个短 期参考图像集合中的哪个短期参考图像集合将被在所述图像结构内的讨论的图像用于解 码,所述图像结构包括按照解码顺序的一个或者多个连续图像; 根据所述图像结构描述从所述比特流对图像进行解码。
14. 一种方法,包括: 从比特流对至少两个短期参考图像集合的信息进行解码; 从所述比特流对具有指示的图像结构描述进行解码,所述指示是指示所述至少两个短 期参考图像集合中的哪个短期参考图像集合将被在所述图像结构内的讨论的图像用于解 码,所述图像结构包括按照解码顺序的一个或者多个连续图像; 根据所述图像结构描述从所述比特流对图像进行解码。
【文档编号】H04N19/46GK104160706SQ201380012075
【公开日】2014年11月19日 申请日期:2013年1月17日 优先权日:2012年1月20日
【发明者】M·M·安尼克塞拉, S·M·戈帕拉克施纳 申请人:诺基亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1