首页> 中国专利> 具有包含多个经编码图片分区的网络抽象层单元的视频译码

具有包含多个经编码图片分区的网络抽象层单元的视频译码

摘要

视频编码器产生网络抽象层NAL单元,所述NAL单元含有视频数据的多个经编码图片分区。所述视频编码器产生位流,所述位流包含表示经熵编码的第一语法元素的可变长度值、表示经熵编码的第二语法元素的可变长度值及表示偏移语法元素的固定长度值。所述偏移语法元素中的每一者的长度可基于所述第一语法元素来确定。视频解码器在解码所述经编码图片分区时使用所述第一语法元素、所述第二语法元素及所述偏移语法元素。

著录项

  • 公开/公告号CN104160702A

    专利类型发明专利

  • 公开/公告日2014-11-19

    原文格式PDF

  • 申请/专利权人 高通股份有限公司;

    申请/专利号CN201280053859.8

  • 发明设计人 王益魁;

    申请日2012-11-02

  • 分类号H04N19/13;H04N19/174;H04N19/176;H04N19/436;H04N19/70;

  • 代理机构北京律盟知识产权代理有限责任公司;

  • 代理人宋献涛

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-17 03:49:25

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-10-26

    授权

    授权

  • 2014-12-17

    实质审查的生效 IPC(主分类):H04N19/13 申请日:20121102

    实质审查的生效

  • 2014-11-19

    公开

    公开

说明书

本申请案主张于2011年11月4日申请的第61/555,932号美国临时专利申请案及于 2011年11月8日申请的第61/557,259号美国临时专利申请案的权利,所述两个申请案 的全部内容特此以引用的方式并入。

技术领域

本发明涉及视频译码(即,视频数据的编码及/或解码)。

背景技术

可将数字视频能力并入到广泛范围的装置中,所述装置包含数字电视、数字直播系 统、无线广播系统、个人数字助理(PDA)、膝上型计算机或桌上型计算机、平板计算机、 电子书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏 控制台、蜂窝式或卫星无线电电话、所谓的“智能电话”、视频电传会议装置、视频流 式传输装置及其类似者。数字视频装置实施视频压缩技术,例如在由MPEG-2、MPEG-4、 ITU-T H.263、ITU-T H.264/MPEG-4第10部分(进阶视频译码(AVC))定义的标准、目前 在开发中的高效率视频译码(HEVC)标准及这些标准的扩展中所描述的那些视频压缩技 术。视频装置可通过实施这些视频压缩技术来更有效地发射、接收、编码、解码及/或存 储数字视频信息。

视频压缩技术执行空间(图片内)预测及/或时间(图片间)预测以减少或移除视频序列 中所固有的冗余。对于基于块的视频译码,可将视频切片(即,视频帧或视频帧的部分) 分割成视频块,视频块还可被称为树块、译码单元(CU)及/或译码节点。图片的经帧内译 码(I)切片中的视频块是使用相对于同一图片中的相邻块中的参考样本的空间预测来编 码。图片的经帧间译码(P或B)切片中的视频块可使用相对于同一图片中的相邻块中的 参考样本的空间预测或相对于其它参考图片中的参考样本的时间预测。图片可被称为 帧,且参考图片可被称为参考帧。

空间或时间预测产生待译码的块的预测性块。残余数据表示待译码的原始块与预测 性块之间的像素差。根据指向形成预测性块的参考样本的块的运动向量及指示经译码块 与预测性块之间的差的残余数据来编码经帧间译码块。根据帧内译码模式及残余数据来 编码经帧内译码块。为了进一步压缩,可将残余数据从像素域变换到变换域,从而产生 残余系数,所述残余系数接着可经量化。可扫描最初排列成二维阵列的经量化系数以便 产生系数的一维向量,且可应用熵译码以达成甚至更多压缩。

发明内容

一股来说,视频编码器产生位流,所述位流包含表示经熵编码的第一语法元素的可 变长度值、表示经熵编码的第二语法元素的可变长度值及表示偏移语法元素的固定长度 值。所述偏移语法元素中的每一者的长度可基于所述第一语法元素来确定。所述系列偏 移语法元素中的偏移语法元素的数目可基于所述第二语法元素来确定。多个经编码图片 分区在网络抽象层(NAL)单元内的位置可基于所述偏移语法元素来确定。视频解码器接 收所述位流,熵解码所述第一语法元素及所述第二语法元素,且使用所述第一语法元素 及所述第二语法元素来剖析所述偏移语法元素。所述视频解码器使用所述偏移语法元素 来确定所述经编码图片分区在所述NAL单元内的位置。所述视频解码器解码所述经编 码图片分区。

在一个方面中,本发明描述一种方法,所述方法包括熵编码第一语法元素、第二语 法元素及一系列偏移语法元素。所述偏移语法元素中的每一者的长度可基于所述第一语 法元素来确定。所述系列偏移语法元素中的偏移语法元素的数目可基于所述第二语法元 素来确定。多个经编码图片分区在NAL单元内的位置可基于所述偏移语法元素来确定。 所述方法还包括产生位流,所述位流包含表示所述经熵编码的第一语法元素的可变长度 值、表示所述经熵编码的第二语法元素的可变长度值及表示所述偏移语法元素的固定长 度值。

在另一方面中,本发明描述一种计算装置,所述计算装置包括经配置以熵编码第一 语法元素、第二语法元素及一系列偏移语法元素的一或多个处理器。所述偏移语法元素 中的每一者的长度可基于所述第一语法元素来确定。所述系列偏移语法元素中的偏移语 法元素的数目可基于所述第二语法元素来确定。多个经编码图片分区在NAL单元内的 位置可基于所述偏移语法元素来确定。所述一或多个处理器还经配置以产生位流,所述 位流包含表示所述经熵编码的第一语法元素的可变长度值、表示所述经熵编码的第二语 法元素的可变长度值及表示所述偏移语法元素的固定长度值。

在另一方面中,本发明描述一种计算装置,所述计算装置包括用于熵编码第一语法 元素、第二语法元素及一系列偏移语法元素的装置。所述偏移语法元素中的每一者的长 度可基于所述第一语法元素来确定。所述系列偏移语法元素中的偏移语法元素的数目可 基于所述第二语法元素来确定。多个经编码图片分区在NAL单元内的位置可基于所述 偏移语法元素来确定。所述计算装置还包括用于产生位流的装置,所述位流包含表示所 述经熵编码的第一语法元素的可变长度值、表示所述经熵编码的第二语法元素的可变长 度值及表示所述偏移语法元素的固定长度值。

在另一方面中,本发明描述一种计算机可读存储媒体,其存储在由计算装置的一或 多个处理器执行时配置所述计算装置以熵编码第一语法元素、第二语法元素及一系列偏 移语法元素的指令。所述偏移语法元素中的每一者的长度可基于所述第一语法元素来确 定。所述系列偏移语法元素中的偏移语法元素的数目可基于所述第二语法元素来确定。 多个经编码图片分区在NAL单元内的位置可基于所述偏移语法元素来确定。另外,所 述指令配置所述计算装置以产生位流,所述位流包含表示所述经熵编码的第一语法元素 的可变长度值、表示所述经熵编码的第二语法元素的可变长度值及表示所述偏移语法元 素的固定长度值。

在另一方面中,本发明描述一种用于解码视频数据的方法。所述方法包括接收位流, 所述位流包含表示第一语法元素的经熵编码的可变长度值、表示第二语法元素的经熵编 码的可变长度值及一系列偏移语法元素。所述方法还包括熵解码所述第一语法元素及所 述第二语法元素。此外,所述方法包括基于所述第一语法元素确定所述偏移语法元素中 的每一者的长度。所述方法还包括基于所述第二语法元素确定所述系列偏移语法元素中 的偏移语法元素的数目。另外,所述方法包括至少部分基于所述偏移语法元素中的每一 者的所述长度及所述系列偏移语法元素中的偏移语法元素的所述数目剖析所述偏移语 法元素。此外,所述方法包括基于所述偏移语法元素确定多个经编码图片分区在NAL 单元内的位置。所述方法还包括解码所述经编码图片分区。

在另一方面中,本发明描述一种计算装置,所述计算装置包括经配置以接收位流的 一或多个处理器,所述位流包含表示第一语法元素的经熵编码的可变长度值、表示第二 语法元素的经熵编码的可变长度值及一系列偏移语法元素。所述一或多个处理器还经配 置以熵解码所述第一语法元素及所述第二语法元素。所述一或多个处理器还经配置以基 于所述第一语法元素确定所述偏移语法元素中的每一者的长度。另外,所述一或多个处 理器经配置以基于所述第二语法元素确定所述系列偏移语法元素中的偏移语法元素的 数目。所述一或多个处理器还经配置以至少部分基于所述偏移语法元素中的每一者的所 述长度及所述系列偏移语法元素中的偏移语法元素的所述数目剖析所述偏移语法元素。 此外,所述一或多个处理器经配置以基于所述偏移语法元素确定多个经编码图片分区在 NAL单元内的位置。所述一或多个处理器还经配置以解码所述经编码图片分区。

在另一方面中,本发明描述一种计算装置,所述计算装置包括用于接收位流的装置, 所述位流包含表示第一语法元素的经熵编码的可变长度值、表示第二语法元素的经熵编 码的可变长度值及一系列偏移语法元素。所述计算装置还包括用于熵解码所述第一语法 元素及所述第二语法元素的装置。另外,所述计算装置包括用于基于所述第一语法元素 确定所述偏移语法元素中的每一者的长度的装置。所述计算装置还包括用于基于所述第 二语法元素确定所述系列偏移语法元素中的偏移语法元素的数目的装置。此外,所述计 算装置包括用于至少部分基于所述偏移语法元素中的每一者的所述长度及所述系列偏 移语法元素中的偏移语法元素的所述数目剖析所述偏移语法元素的装置。另外,所述计 算装置包括用于基于所述偏移语法元素确定多个经编码图片分区在NAL单元内的位置 的装置。所述计算装置还包括用于解码所述经编码图片分区的装置。

在另一方面中,本发明描述一种计算机可读存储媒体,其存储在由计算装置的一或 多个处理器执行时配置所述计算装置以接收位流的指令,所述位流包含表示第一语法元 素的经熵编码的可变长度值、表示第二语法元素的经熵编码的可变长度值及一系列偏移 语法元素。此外,所述指令使所述计算装置熵解码所述第一语法元素及所述第二语法元 素。所述指令还使所述计算装置基于所述第一语法元素确定所述偏移语法元素中的每一 者的长度。另外,所述指令使所述计算装置基于所述第二语法元素确定所述系列偏移语 法元素中的偏移语法元素的数目。另外,所述指令使所述计算装置至少部分基于所述偏 移语法元素中的每一者的所述长度及所述系列偏移语法元素中的偏移语法元素的所述 数目剖析所述偏移语法元素。所述指令还使所述计算装置基于所述偏移语法元素确定多 个经编码图片分区在NAL单元内的位置。另外,所述指令使所述计算装置解码所述经 编码图片分区。

本发明的一或多个实例的细节陈述于随附图式及以下描述中。其它特征、目标及优 势将从所述描述、所述图式及权利要求书而显而易见。

附图说明

图1是说明可利用本发明中所描述的技术的实例视频译码系统的框图。

图2是说明可实施本发明中所描述的技术的实例视频编码器的框图。

图3是说明可实施本发明中所描述的技术的实例视频解码器的框图。

图4是说明根据本发明的一或多种技术的视频编码器的实例操作的流程图。

图5是说明根据本发明的一或多种技术的视频解码器的实例操作的流程图。

图6是根据本发明的一或多种技术的视频编码器的用于产生具有字节对准的切片标 头的经译码切片NAL单元的实例操作的流程图。

图7是说明根据本发明的一或多种技术的视频编码器的用以产生字节对准的切片标 头的实例操作的流程图。

图8是根据本发明的一或多种技术的视频解码器的实例操作的流程图,其中所述视 频解码器接收具有字节对准的切片标头的经译码切片NAL单元。

图9是说明波前并行处理的概念图。

图10是说明在将图片分割成多个瓦片时的实例译码次序的概念图。

图11是根据本发明的一或多个方面的视频编码器的用以产生位流的实例操作的流 程图,所述位流包含表示与NAL单元内的经编码图片分区的偏移相关联的语法元素的 可变长度值。

图12是根据本发明的一或多个方面的视频解码器的用以解码通过位流表示的视频 数据的实例操作的流程图,所述位流包含表示与NAL单元内的经编码图片分区的偏移 相关联的语法元素的可变长度值。

具体实施方式

图片包含多个树块。树块与图片内的二维像素块相关联。视频编码器将图片划分成 多个图片分区。举例来说,视频编码器可将图片划分成熵切片、瓦片或波前并行处理(WPP) 波。换句话说,本发明可使用术语“图片分区”来一股地指代熵切片、瓦片或WPP波。 图片分区与图片的树块的非重迭子集相关联。举例来说,图片的每一树块可与图片分区 中的恰好一者相关联。视频编码器可产生包含与切片相关联的一或多个经编码图片分区 的经译码切片网络抽象层(NAL)单元。

在一些实例中,视频解码器可并行地解码切片的经编码图片分区。为了并行地解码 切片的经编码图片分区,视频编码器可在经译码切片NAL单元内用信号表示经编码图 片分区的入口点。经编码图片分区的入口点可为经编码图片分区的第一位的位置。因为 视频解码器能够确定经编码图片分区的入口点,所以视频解码器可能够将不同经编码图 片分区指派给解码器的不同处理核心以供并行解码。

为了用信号表示瓦片的入口点,视频编码器可产生一系列偏移语法元素。偏移语法 元素中的每一者可指示瓦片中的字节的数目。另外,视频编码器可产生两个额外语法元 素。切片中的瓦片的数目可基于第一额外语法元素来确定。用于偏移语法元素中的每一 者中的位的数目可基于第二额外语法元素来确定。在现有实施方案中,额外语法元素中 的每一者在位流中始终使用5位无正负号整数来表示。

始终将额外语法元素表示为5位无正负号整数可不必要地增加位流中的位的数目。 此外,始终将额外语法元素表示为5位无正负号整数可将偏移语法元素的数目限于32。 根据本发明的一或多种技术,视频编码器可熵编码(例如,使用无正负号整数0阶指数哥 伦布译码语法元素ue(v),其中左位居首)额外语法元素。因为视频编码器熵编码额外语 法元素,所以在位流中使用位的可变长度序列来表示额外语法元素。在许多状况下,位 的这些可变长度序列可使用少于5位的位无正负号整数来表示额外语法元素。另外,这 些额外语法元素的熵译码可允许视频编码器用信号表示32个以上偏移语法元素。

在一些情况下,特定视频解码器可未经配置以并行地解码经编码图片分区。即,一 些视频解码器可在并行处理方面具有不同能力。在这些情况下,用以用信号表示经编码 图片分区的入口点的位对视频解码器无用。

根据本发明的技术,视频编码器可产生含有视频数据的多个经编码图片分区的VCL NAL单元。另外,视频编码器可产生补充增强信息(SEI)消息,SEI消息指示NAL单元 内的经编码图片分区的入口点。为了解释容易起见,本发明可将指示经译码切片NAL 单元中的经编码图片分区的入口点的SEI消息称为“入口点SEI消息”。可(例如)在非 VCL NAL单元(例如,具有SEI类型的非VCL NAL单元)中提供入口点SEI消息。

媒体感知网络元件(MANE)可经配置有指示特定视频解码器的配置的数据。基于此 数据,MANE可经配置以仅在视频解码器经配置以并行地解码经编码图片分区的情况下 将入口点SEI消息发射到视频解码器。因为MANE不发射视频解码器未经配置以使用 的数据,所以可节省带宽。此外,因为入口点是在SEI消息中用信号表示,所以无论经 译码切片NAL单元是否包含指示经译码图片分区的位置的数据,皆可不需要在经译码 切片NAL单元中用信号表示。此情形帮助减少经译码切片NAL单元中的位的数目且藉 此进一步节省带宽。

附加图式说明实例。在附加图式中由参考数字指示的元件对应于以下描述中由相似 参考数字指示的元件。在本发明中,具有以序数词(例如,“第一”、“第二”、“第三” 等)开始的名称的元件未必暗示元件具有特定次序。更确切地说,这些序数词仅用以指代 相同或类似类型的不同元件。

图1为说明可利用本发明的技术的实例视频译码系统10的框图。如本文中所描述 地使用,术语“视频译码器”一股指代视频编码器及视频解码器两者。在本发明中,术 语“视频译码”或“译码”可一股地指代视频编码或视频解码。

如图1中所展示,视频译码系统10包含源装置12及目的地装置14。源装置12产 生经编码视频数据。因此,源装置12可被称为视频编码装置或视频编码设备。目的地 装置14可解码由源装置12产生的经编码视频数据。因此,目的地装置14可被称为视 频解码装置或视频解码设备。源装置12及目的地装置14可为视频译码装置或视频译码 设备的实例。

源装置12及目的地装置14可包括广泛范围的装置,包含桌上型计算机、行动计算 装置、笔记型(例如,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话 等电话手持机、电视、摄影机、显示装置、数字媒体播放器、视频游戏控制台、车载计 算机(in-car computer)或其类似者。

目的地装置14可经由信道16从源装置12接收经编码视频数据。信道16可包括能 够将经编码视频数据从源装置12移动到目的地装置14的类型的媒体或装置。在一个实 例中,信道16可包括使源装置12能够实时将经编码视频数据直接传输到目的地装置14 的一或多个通信媒体。在此实例中,源装置12可根据例如无线通信协定等通信标准调 制经编码视频数据,且可将经调制视频数据发射到目的地装置14。一或多个通信媒体可 包含无线及/或有线通信媒体,例如射频(RF)频谱或一或多个物理传输线。一或多个通信 媒体可形成基于包的网络(例如,局域网、广域网或全球网络(例如,因特网))的部分。一 或多个通信媒体可包含路由器、交换器、基站或促进从源装置12到目的地装置14的通 信的其它装备。

在另一实例中,信道16可包含存储由源装置12产生的经编码视频数据的存储媒体。 在此实例中,目的地装置14可经由磁盘存取或卡存取来存取存储媒体。存储媒体可包 含多种本地存取的数据存储媒体,例如蓝光光盘、DVD、CD-ROM、快闪存储器或用于 存储经编码视频数据的其它合适数字存储媒体。

在另一实例中,信道16可包含存储由源装置12产生的经编码视频的文件服务器或 另一中间存储装置。在此实例中,目的地装置14可经由流式传输或下载来存取存储于 文件服务器或其它中间存储装置处的经编码视频数据。文件服务器可为能够存储经编码 视频数据且将经编码视频数据发射到目的地装置14的类型的服务器。实例文件服务器 包含网络服务器(例如,用于网站)、文件传送协定(FTP)服务器、网络附接存储(NAS)装 置及本地磁盘驱动器。

目的地装置14可经由例如因特网连接等标准数据连接来存取经编码视频数据。数 据连接的实例类型可包含适合于存取存储于文件服务器上的经编码视频数据的无线信 道(例如,Wi-Fi连接)、有线连接(例如,DSL、缆线调制解调器等)或两者的组合。经编 码视频数据从文件服务器的传输可为流式传输、下载传输或两者的组合。

本发明的技术不必限于无线应用或设定。所述技术可应用于视频译码以支持多种多 媒体应用,例如空中电视广播、有线电视发射、卫星电视发射、流式视频传输(例如,经 由因特网)、编码视频数据以存储于数据存储媒体上、解码存储于数据存储媒体上的视频 数据,或其它应用。在一些实例中,视频译码系统10可经配置以支持单向或双向视频 传输以支持例如视频流式传输、视频回放、视频广播及/或视频电话等应用。

在图1的实例中,源装置12包含视频源18、视频编码器20及输出接口22。在一 些实例中,输出接口22可包含调制器/解调制器(调制解调器)及/或发射器。视频源18可 包含视频俘获装置(例如,视频摄影机)、含有先前俘获的视频数据的视频存档、从视频 内容提供者接收视频数据的视频馈入接口及/或用于产生视频数据的计算机图形系统,或 视频数据的这些源的组合。

视频编码器20可编码来自视频源18的视频数据。在一些实例中,源装置12可经 由输出接口22将经编码视频数据直接发射到目的地装置14。经编码视频数据还可存储 到存储媒体或文件服务器上以供稍后由目的地装置14存取以用于解码及/或播放。

在图1的实例中,目的地装置14包含输入接口28、视频解码器30及显示装置32。 在一些实例中,输入接口28可包含接收器及/或调制解调器。目的地装置14的输入接口 28可经由信道16接收经编码视频数据。显示装置32可与目的地装置14集成或可在目 的地装置14外部。一股来说,显示装置32显示经解码视频数据。显示装置32可包括 多种显示装置,例如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器 或另一类型的显示装置。

视频编码器20及视频解码器30可根据例如目前在开发中的高效率视频译码(HEVC) 标准等视频压缩标准操作且可遵照HEVC测试模型(HM)。被称为“HEVC工作草案4” 或“WD4”的即将到来的HEVC标准的新近草案在Bross等人的“WD4:Working Draft 4of High-Efficiency Video Coding”(ITU-T SG16WP3及ISO/IEC JTC1/SC29/WG11视频 译码联合协作小组(JCT-VC)于2011年7月在意大利都灵的第6次会议)中描述,WD4可 从2012年9月27日起从http://phenix.int-evry.fr/jct/doc_end_user/documents/6_Torino/ wg11/JCTVC-F803-v3.zip下载,WD4的全部内容以引用的方式并入本文中。

或者,视频编码器20及视频解码器30可根据其它专属或工业标准来操作,其它专 属或工业标准包含ITU-T H.261、ISO/IEC MPEG-1Visual、ITU-T H.262或ISO/IEC MPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual及ITU-T H.264(还称为ISO/IEC MPEG-4AVC),包含其可调式视频译码(SVC)及多视图视频译码(MVC)扩展。然而,本 发明的技术不限于任何特定译码标准或技术。

此外,图1仅为实例且本发明的技术可应用于未必包含编码装置与解码装置之间的 任何数据通信的视频译码设定(例如,视频编码或视频解码)。在其它实例中,数据可从 本地存储器检索、经由网络流式传输,或其类似者。编码装置可编码数据且将数据存储 到存储器,及/或解码装置可从存储器检索数据且解码数据。在许多实例中,通过并不彼 此通信而是简单地编码数据到存储器及/或从存储器检索数据且解码数据的装置执行编 码及解码。

视频编码器20及视频解码器30各自可实施为例如以下各者的多种合适电路中的任 一者:一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程 门阵列(FPGA)、离散逻辑、硬件或其任何组合。如果部分地以软件实施技术,则装置可 将软件的指令存储于合适的非暂时性计算机可读存储媒体中且可使用一或多个处理器 以硬件执行指令从而执行本发明的技术。前文中的任一者(包含硬件、软件、硬件及软件 的组合等)可被视为一或多个处理器。视频编码器20及视频解码器30中的每一者可包含 于一或多个编码器或解码器中,其中的任一者可作为组合式编码器/解码器(CODEC)的部 分而集成于相应装置中。

本发明大体上可涉及视频编码器20将特定信息“用信号表示”到例如视频解码器 30等另一装置。然而,应理解,视频编码器20可通过将特定语法元素与视频数据的各 种经编码部分相关联来用信号表示信息。即,视频编码器20可通过将特定语法元素存 储到视频数据的各种经编码部分来“用信号表示”数据。在一些状况下,这些语法元素 可在通过视频解码器30接收及解码之前经编码及存储(例如,在存储系统中)。因此,术 语“用信号表示”大体上可指代语法元素及/或用以解码经压缩视频数据的其它数据的 传达。此传达可实时地或近实时地发生。或者,此通信可在时间跨度内发生,例如可在 编码时将语法元素存储到计算机可读存储媒体时在经编码位流中发生,语法元素接着可 在存储到此媒体之后的任何时间通过解码装置检索。

如上文简要地提及,视频编码器20编码视频数据。视频数据可包括一或多个图片。 所述图片中的每一者可为形成视频的部分的静态图像。在一些情况下,图片可被称为视 频“帧”。视频编码器20可产生包含形成视频数据的经译码表示的位序列的位流。所 述位流可包含经译码图片及相关联的数据。经译码图片为图片的经译码表示。

为了产生位流,视频编码器20可产生一系列经译码图片及相关联的数据。经译码 图片可为视频数据中的图片的经编码表示。相关联的数据可包含序列参数集(SPS)、图片 参数集(PPS)、调适参数集(APS)及其它语法结构。SPS可含有适用于图片的零个或零个 以上序列的参数。PPS可含有适用于零个或零个以上图片的参数。APS可含有适用于零 个或零个以上图片的参数。APS中的参数可为相比PPS中的参数更有可能改变的参数。

为了产生图片的经编码表示,视频编码器20可将图片分割成多个树块。在一些情 况下,树块可被称为最大译码单元(LCU)或“译码树块”。HEVC的树块可广泛地类似 于例如H.264/AVC等先前标准的巨集块。然而,树块未必限于特定大小且可包含一或多 个译码单元(CU)。

树块中的每一者可与图片内的大小相等的不同像素块相关联。每一像素可包括明度 (Y)样本、Cb色度样本及Cr色度样本。因此,每一树块可与明度(Y)样本块、图片的Cb 色度样本块及图片的Cr色度样本块相关联。出于解释容易起见,本发明可将像素的二 维阵列称为像素块且可将样本的二维阵列称为样本块。视频编码器20可使用四叉树分 割来将与树块相关联的像素块分割成与CU相关联的像素块(因此名称为“树块”)。

视频编码器20可将图片分割成多个切片。切片中的每一者可包含整数个树块。作 为编码图片的部分,视频编码器20可产生图片的每一切片的经编码表示(即,经译码切 片)。为了产生经译码切片,视频编码器20可编码切片的每一树块以产生切片的树块中 的每一者的经编码表示(即,经译码树块)。

为了产生经译码树块,视频编码器20可对与树块相关联的像素块递归地执行四叉 树分割以将像素块划分成逐步减小的像素块。较小像素块中的每一者可与CU相关联。 经分割CU可为像素块被分割成与其它CU相关联的像素块的CU。未经分割CU可为像 素块未被分割成与其它CU相关联的像素块的CU。

视频编码器20可针对每一未经分割CU产生一或多个预测单元(PU)。CU的PU中 的每一者可与CU的像素块内的不同像素块相关联。视频编码器20可针对CU的每一 PU产生预测性像素块。PU的预测性像素块可为像素的块。

视频编码器20可使用帧内预测或帧间预测来产生PU的预测性像素块。如果视频编 码器20使用帧内预测来产生PU的预测性像素块,则视频编码器20可基于与PU相关 联的图片的经解码像素产生PU的预测性像素块。如果视频编码器20使用帧间预测来产 生PU的预测性像素块,则视频编码器20可基于不同于与PU相关联的图片的一或多个 图片的经解码像素产生PU的预测性像素块。

视频编码器20可基于CU的PU的预测性像素块产生CU的残余像素块。CU的残 余像素块可指示CU的PU的预测性像素块中的样本与CU的原始像素块中的对应样本 之间的差。

此外,作为编码未经分割CU的部分,视频编码器20可对CU的残余像素块执行递 归四叉树分割以将CU的残余像素块分割成与CU的变换单元(TU)相关联的一或多个较 小残余像素块。以此方式,CU的每一TU可与明度(Y)样本的残余样本块及色度(Cr及 Cb)样本的两个残余样本块相关联。

视频译码器20可对与TU相关联的残余样本块应用一或多个变换以产生与TU相关 联的系数块(即,系数的块)。在概念上,系数块可为系数的二维矩阵。视频编码器20可 对系数块执行量化过程。量化大体上指代对系数进行量化以可能减少用以表示系数的数 据的量从而提供进一步压缩的过程。

视频编码器20可产生表示经量化系数块中的系数的语法元素的集合。视频编码器 20可将例如上下文自适应二进制算术译码(CABAC)操作等熵编码操作应用于这些语法 元素中的至少一些。作为执行熵编码操作的部分,视频编码器20可选择译码上下文。 在CABAC的状况下,译码上下文可指示值0及值1二进制数(bin)的概率。在上下文自 适应可变长度译码(CAVLC)的状况下,译码上下文可为可变长度码的集合。视频编码器 20可使用译码上下文来编码一或多个语法元素。

由视频编码器20产生的位流可包含一系列网络抽象层(NAL)单元。NAL单元中的 每一者可为含有NAL单元中的数据的类型的指示及含有数据的字节的语法结构。举例 来说,NAL单元可含有表示SPS、PPS、经译码切片、补充增强信息(SEI)、存取单元定 界符、填充数据或另一类型的数据的数据。NAL单元中的数据可包含各种语法结构。经 译码切片NAL单元为包含经译码切片的NAL单元。“VCL NAL单元”为用于经分类 为VCL NAL单元的具有nal_unit_type的保留值的经译码切片NAL单元及NAL单元的 子集的共同术语。

SEI NAL单元为包含SEI消息的NAL单元。SEI消息包含可用于错误恢回复、定时、 输出等的信息。然而,在解码过程中不需要SEI消息。换句话说,视频解码器可能够在 不使用SEI消息中的信息的情况下解码视频数据。因此,在例如H.264/AVC或HEVC 等视频译码标准的情境下,SEI消息为规范的(即,非信息性的)且在顺应式视频解码器 可选择简单地舍弃存在于位流中的任何SEI消息的意义上为可选的。此外,可不必发射 与视频数据相关联的SEI消息以便视频解码器能够解码视频数据。

视频编码器20可将图片划分成多个图片分区。图片分区可与图片的树块的非重迭 子集相关联。视频编码器20可以各种方式将图片划分成多个图片分区。如下文所描述, 视频编码器20可将图片划分成多个熵切片、多个瓦片或多个波前并行处理(WPP)波。本 发明可使用术语“图片分区”来一股地指代熵切片、瓦片及WPP波。

如上文所提及,视频编码器20可将图片划分成多个熵切片。熵切片还可被称为轻 量切片、具有短切片标头的切片或短切片。熵切片可包含正常切片的CU的子集。在一 些实例中,视频编码器20可在熵切片当中分割CU以使得熵切片中无一包含比上限多的 二进制数(例如,经熵译码位)。在一些情况下,单个经译码切片NAL单元可包含切片的 多个熵切片。在其它实例中,在单独NAL单元中可包含每一熵切片。

允许跨越熵切片边界的图片中预测。举例来说,如果视频译码器正对特定PU执行 帧内预测,则视频译码器可使用来自相邻PU的样本,即使相邻PU在不同于特定PU的 熵切片中也如此。在此实例中,如果相邻PU在不同于特定PU的切片中,则视频译码 器可不能够使用来自相邻PU的样本。

然而,在视频译码器正对与特定PU相关联的数据执行熵译码时,如果特定PU及 相邻PU在同一熵切片中,则仅允许视频译码器基于与相邻PU相关联的信息选择译码 上下文。因为此限制,视频译码器可能够对切片的多个熵切片并行地执行熵译码(即,熵 编码或解码)操作。然而,视频解码器30不能够并行地重建切片的多个熵切片的像素块。

在一些实例中,视频编码器20可将图片划分成一或多个瓦片。瓦片中的每一者可 包括图片中的整数个树块。视频编码器20可通过界定两个或两个以上垂直瓦片边界及 两个或两个以上水平瓦片边界而将图片划分成瓦片。图片的每一垂直侧可被视为垂直瓦 片边界。当前图片的每一水平侧可被视为水平瓦片边界。举例来说,如果视频编码器20 界定图片的四个垂直瓦片边界及三个水平瓦片边界,则将当前图片划分成六个瓦片。

例如视频编码器20或视频解码器30等视频译码器可根据光栅扫描次序译码图片的 瓦片。此外,视频译码器可根据光栅扫描次序译码瓦片内的每一树块。以此方式,视频 译码器可在译码图片的另一瓦片的任何树块之前译码图片的给定瓦片的每一树块。因 此,视频译码器译码图片的树块的次序在将图片分割成多个瓦片的情况下与在不将图片 分割成多个瓦片的情况下可不同。

在一些情况下,只要特定CU及空间上相邻的CU属于同一瓦片且只要特定CU及 空间上相邻的CU属于同一切片,视频译码器即可使用与空间上相邻的CU相关联的信 息来对特定CU执行帧内预测。空间上相邻的CU可为与邻近于与特定CU相关联的像 素块的像素块相关联的CU。在一些情况下,只要特定CU及空间上相邻的CU在同一瓦 片内,视频译码器即可使用与空间上相邻的CU相关联的信息来选择用于CABAC编码 特定CU的语法元素的上下文。因为这些限制,视频译码器可能够并行地译码多个瓦片 的树块。

举例来说,跨越瓦片边界的包含像素值预测、运动预测、译码模式预测及熵译码上 下文预测的图片中预测可通过旗标tile_boundary_independence_idc来控制。如果所述旗 标等于1,则不允许跨越瓦片边界的图片中预测。否则,允许跨越瓦片边界的图片中预 测,也为图片边界或切片边界的瓦片边界除外。如果不允许图片中预测,则与在图片中 不存在瓦片或等效地存在仅一个瓦片的状况相比较,瓦片的功能性可将改变树块扫描次 序。如果允许图片中预测,则除了改变树块扫描次序之外,瓦片还可提供可用于并行译 码(编码及/或解码)的独立分割。

不管是否允许跨越瓦片边界的图片中预测,视频编码器20皆可将单个熵切片中的 多个经编码瓦片包含于单个NAL单元中。在此状况下,即使允许跨越瓦片边界的图片 中预测,仍不允许跨越瓦片边界的熵译码上下文预测。此外,在NAL单元可含有仅单 个熵切片且熵切片仅包含单个瓦片的CU的实例中,可不需要用信号表示熵切片的每一 经译码瓦片的入口点,因为经译码瓦片在单独NAL单元中。

在其它实例中,视频译码器可使用波前并行处理(WPP)来译码图片。如果视频译码 器使用WPP来译码图片,则视频译码器可将图片的树块划分成多个“WPP波”。WPP 波中的每一者可对应于图片中的树块的不同行。如果视频译码器使用WPP来译码图片, 则视频译码器可开始译码树块的顶行。在视频译码器已译码顶行的两个或两个以上树块 之后,视频译码器可开始与译码树块的顶行并行地译码树块的次顶行。在视频译码器已 译码次顶行的两个或两个以上树块之后,视频译码器可开始与译码树块的较高行并行地 译码树块的顶部起第三行。此模式可沿图片中的树块的行往下继续。

如果视频译码器正使用WPP来译码图片,则只要空间上相邻的CU在当前树块的 左方、左上方、上方或右上方,视频译码器即可使用与在当前树块之外的空间上相邻的 CU相关联的信息来对当前树块中的特定CU执行帧内预测。如果当前树块为不同于最 顶行的行中的最左树块,则视频译码器可使用与紧接的较高行的第二树块相关联的信息 来选择用于CABAC编码当前树块的语法元素的上下文。否则,如果当前树块并非行中 的最左树块,则视频译码器可使用与当前树块左方的树块相关联的信息来选择用于 CABAC编码当前树块的语法元素的上下文。以此方式,视频译码器可在编码紧接的较 高行的两个或两个以上树块之后基于紧接的较高行的CABAC状态来初始化行的 CABAC状态。

在一些实例中,如果视频译码器正使用WPP来译码图片,则图片的仅有瓦片边界 为图片的水平及垂直边缘。因此,图片的唯一瓦片的大小可与图片相同。视频译码器可 将图片及因此图片的单个瓦片划分成多个WPP波。

如上文所提及,视频编码器20可产生包含切片的经编码表示的经译码切片NAL单 元。切片可与整数个连续经译码树块相关联。经译码切片NAL单元可包含切片标头及 切片数据。切片数据可包含与切片相关联的每一树块的经编码表示。

视频编码器20可产生经译码切片NAL单元以使得根据树块所属于的图片分区在切 片数据内分组树块的经编码表示。举例来说,经译码切片NAL单元可包含与第一图片 分区相关联的每一经译码树块,其后接着为与第二图片分区相关联的每一经译码树块, 其后接着为与第三图片分区相关联的每一经译码树块,等等。

出于解释容易起见,本发明可使用术语“经编码图片分区”、“经译码子切片”、 “经译码子流”来指代与单个图片分区(例如,熵切片、瓦片或WPP波)相关联的在经译 码切片NAL单元内的经译码树块的群组。然而,应了解,可存在图片分区可包含多个 切片中的树块的情形。下文所描述的图10说明瓦片包含属于多个切片的树块且切片包 含属于多个瓦片的树块的情况。

视频解码器30可接收由视频编码器20产生的位流。位流可包含通过视频编码器20 编码的视频数据的经译码表示。视频解码器30可对位流执行剖析操作。作为执行剖析 操作的部分,视频解码器30可从位流提取语法元素。作为从位流提取语法元素的部分, 视频解码器30可对位流中的数据执行熵解码(例如,CABAC解码)操作。视频解码器30 可基于从位流提取的语法元素重建视频数据的图片。基于语法元素重建视频数据的过程 可与通过视频编码器20执行以产生语法元素的过程大体上互反。

视频解码器30可基于与CU相关联的语法元素产生CU的PU的预测性像素块。另 外,视频解码器30可对与CU的TU相关联的系数块进行反量化。视频解码器30可对 系数块执行反变换以重建与CU的TU相关联的残余像素块。视频解码器30可基于预测 性像素块及残余像素块重建CU的像素块。以此方式,视频解码器30可基于位流中的语 法元素重建CU的像素块。

如上文所提及,视频解码器30的一些实施方案可能够并行地解码不同图片分区的 像素块。举例来说,如果经译码切片NAL单元包含第一经编码图片分区及第二经编码 图片分区,则视频解码器30可能够并行地解码第一经编码图片分区的像素块及第二经 编码图片分区的像素块。

视频解码器30可将经译码切片NAL单元存储于存储器中。存储器可为字节可寻址 的。因为视频解码器30将经译码切片NAL单元存储于字节可寻址存储器中,所以如果 经编码图片分区的开始在一字节内发生,则视频解码器30可不能够指示与经编码图片 分区的开始相关联的存储器地址。因此,如果经编码图片分区中的一或多者在一字节内 开始,则视频解码器30可不能够并行地解码经编码图片分区。或者,视频解码器30可 使用逐位存储器寻址或逐字节加逐位寻址来实现并行地解码经编码图片分区,但实施及 计算复杂性增加。

为了解决此间题,视频编码器20可以使得经译码切片NAL单元内的经编码图片分 区中的每一者字节对准的方式产生经译码切片NAL单元。即,经译码切片NAL单元内 的经编码图片分区中的每一者可在字节边界处开始。如果经编码图片分区为字节对准 的,则经编码图片分区的第一位为存储器中的可寻址字节的第一位,且经编码图片分区 的最后位为存储器中的可寻址字节的最后位。因此,对于存储器中的每一字节寻址的存 储位置,存储位置并不存储与多个经编码图片分区相关联的位。

此外,如果视频解码器30并行地解码经编码图片分区,则视频解码器30可将不同 经编码图片分区指派给不同处理核心。处理核心可并行地解码经编码图片分区。另外, 处理核心可向存储器请求切片标头。作为响应,存储器可将切片标头发送到处理核心。 以此方式,处理核心中的每一者可能够在解码经编码图片分区时使用切片标头。然而, 如果切片标头不为字节对准的,则存储器可能只有在也发送不在切片标头中的某一信息 的情况下才能够将切片标头发送到处理核心。举例来说,如果切片标头不为字节对准的, 则视频解码器30可转码切片标头以使得切片标头为字节对准的。转码切片标头可增加 视频解码器30的复杂性,且可要求处理核心经配置以处理经转码切片标头。

为了产生经编码图片分区中的每一者为字节对准的经译码切片NAL单元,视频编 码器20可填补经译码切片NAL单元的切片标头以使得切片标头在字节边界处结束。即, 切片标头的最后位可为存储器中的可寻址字节的最后位。填补经译码切片NAL单元的 切片标头可涉及将位附加到切片标头的末尾直到切片标头为字节对准的为止。

以此方式,视频编码器20可产生多个经编码图片分区,经编码图片分区中的每一 者与视频数据中的图片中的译码单元的不同集合相关联。另外,视频编码器20可产生 含有切片标头及多个经编码图片分区的NAL单元,切片标头包含使切片标头与字节边 界对准的一或多个填补位。类似地,视频解码器30可接收NAL单元。NAL单元可含有 切片标头及视频数据的多个经编码图片分区。切片标头可包含使切片标头与字节边界对 准的一或多个填补位。视频解码器30可并行地解码经编码图片分区中的两者或两者以 上。

为了并行地解码经编码图片分区,视频解码器30可将经编码图片分区指派给并行 地执行的不同解码线程。解码线程可执行于不同处理核心上。为了将经编码图片分区指 派给不同解码线程,视频解码器30可需要确定与经编码图片分区的开始相关联的存储 器地址。

为了使得视频解码器30能够确定与经编码图片分区的开始相关联的存储器地址, 经译码切片NAL单元的切片标头可包含入口点偏移。在一些实例中,入口点偏移可指 示相对于另一点的经编码图片分区的存储器地址的偏移。在一些实例中,偏移可相对于 经译码切片NAL单元的开始。举例来说,经译码切片NAL单元的切片标头中的入口点 偏移可指示特定经编码图片分区在经译码切片NAL单元的第312个字节处开始。在另 一实例中,经译码切片NAL单元中的经编码图片分区的入口点偏移可相对于经译码切 片NAL单元中之前一经编码图片分区的第一位。举例来说,入口点偏移可指示经译码 切片NAL单元中的特定经编码图片分区可在经译码切片NAL单元中之前一经编码图片 分区之后124个字节处开始。此外,在一些实例中,入口点偏移可指示经编码图片分区 的以位或字节计的长度。

除了指示入口点偏移的偏移语法元素之外,根据本发明的一或多种技术,视频编码 器20还可将两个额外语法元素包含于切片标头中。切片中的瓦片的数目可基于额外语 法元素中的第一者来确定。用于偏移语法元素中的每一者中的位的数目可基于额外语法 元素中的第二者来确定。根据本发明的技术,视频编码器20可熵编码(例如,指数哥伦 布编码)额外语法元素。因为视频编码器20熵编码额外语法元素,所以在位流中使用位 的可变长度序列来表示额外语法元素。使用位的可变长度序列来表示额外语法元素可产 生包含比在使用位的固定长度序列来表示额外语法元素时的位少的位的位流,且可使得 视频编码器20能够用信号表示比由使用(例如)5位的固定长度译码所允许的偏移语法元 素多的偏移语法元素。

以此方式,视频编码器20可熵编码第一语法元素、第二语法元素及一系列偏移语 法元素。偏移语法元素中的每一者的长度可基于第一语法元素来确定。所述系列偏移语 法元素中的偏移语法元素的数目可基于第二语法元素来确定。多个经编码图片分区在 NAL单元内的位置可基于偏移语法元素来确定。此外,视频编码器20可产生位流,所 述位流包含表示经熵编码的第一语法元素的可变长度值、表示经熵编码的第二语法元素 的可变长度值及表示偏移语法元素的固定长度值。

视频解码器30可接收位流,所述位流包含表示第一额外语法元素的可变长度值、 表示第二额外语法元素的经熵编码的可变长度值及一系列偏移语法元素。视频解码器30 可熵解码第一额外语法元素及第二额外语法元素。此外,视频解码器30可基于第一语 法元素确定偏移语法元素中的每一者的长度,且可基于第二语法元素确定所述系列偏移 语法元素中的偏移语法元素的数目。视频解码器30可至少部分基于偏移语法元素中的 每一者的长度及所述系列偏移语法元素中的偏移语法元素的数目剖析来自位流的偏移 语法元素。视频解码器30可接着至少部分基于偏移语法元素确定多个经编码图片分区 在NAL单元内的位置。

此外,替代在经译码切片NAL单元的切片标头中指示入口点偏移或除了在经译码 切片NAL单元的切片标头中指示入口点偏移以外,经译码切片NAL单元的切片数据可 包含入口点标记。入口点标记可指定对入口点标记来说唯一的位模式。入口点标记可在 紧接于每一经编码图片分区之前的切片数据中出现,切片数据的第一经编码图片分区除 外。视频编码器30可通过遍及切片数据进行扫描及识别入口点标记来确定与经编码图 片分区的开始相关联的存储器地址。

在切片标头中包含入口点偏移或在切片数据中包含入口点标记可在视频解码器30 经配置以并行地解码多个经编码图片分区的情况下为有用的。然而,一些视频解码器未 经配置以并行地解码多个经编码图片分区。由未经配置以并行地解码多个经编码图片分 区的视频解码器所要求的硬件可比由经配置以并行地解码多个经编码图片分区的视频 解码器所要求的硬件简单。更简单硬件可较不昂贵且可消耗较少能量。

如果视频解码器30未经配置以并行地解码多个经编码图片分区,则视频解码器30 不使用入口点偏移或入口点标记。因此,如果视频解码器30未经配置以并行地解码多 个经编码图片分区,则在通过视频解码器30接收的位流中包含入口点偏移及/或入口点 标记会不必要地增加位流中的位的数目。

根据本发明的一或多种技术,视频编码器20可经配置以使得视频编码器20不将入 口点偏移及/或入口点标记包含于经译码切片NAL单元中。更确切地说,视频编码器20 可产生指示经译码切片NAL单元中的经编码图片分区的入口点的SEI消息。举例来说, 视频编码器20可产生包含经译码切片NAL单元中的经编码图片分区的入口点偏移的 SEI消息。换句话说,SEI消息可通过指定经译码切片NAL单元内的经编码图片分区的 字节偏移来指示入口点。

图2为说明经配置以实施本发明的技术的实例视频编码器20的框图。出于解释目 的而提供图2且不应将其视为限制如本发明中广泛地例示及描述的技术。出于解释目的, 本发明在HEVC译码的情境下描述视频编码器20。然而,本发明的技术可适用于其它 译码标准或方法。

在图2的实例中,视频编码器20包含多个功能组件。视频编码器20的功能组件包 含预测处理单元100、残余产生单元102、变换处理单元104、量化单元106、反量化单 元108、反变换处理单元110、重建单元112、滤波器单元113、经解码图片缓冲器114 及熵编码单元116。预测处理单元100包含帧间预测处理单元121及帧内预测处理单元 126。帧间预测处理单元121包含运动估计单元122及运动补偿单元124。在其它实例中, 视频编码器20可包含更多、更少或不同功能组件。此外,运动估计单元122及运动补 偿单元124可高度集成,但出于解释目的在图2的实例中分离地表示。

视频编码器20可接收视频数据。视频编码器20可从各种源接收视频数据。举例来 说,视频编码器20可从视频源18(图1)或另一源接收视频数据。视频数据可表示一系列 图片。为了编码视频数据,视频编码器20可编码图片中的每一者的每一切片。作为编 码切片的部分,视频编码器20可编码切片中的每一树块。

视频编码器20可根据光栅扫描次序编码切片中的树块。换句话说,视频编码器20 可按如下次序来编码切片的树块:跨越切片中的树块的最顶行从左到右进行,接着跨越 树块的下一较低行从左到右进行,以此类推,直到视频编码器20已编码切片中的树块 中的每一者为止。

作为根据光栅扫描次序编码树块的结果,可已编码在特定树块的上方及左方的树 块,但尚未编码在特定树块的下方及右方的树块。因此,视频编码器20可能够在编码 特定树块时存取通过编码在特定树块的上方及左方的树块而产生的信息。然而,视频编 码器20可不能够在编码特定树块时存取通过编码在特定树块的下方及右方的树块而产 生的信息。

作为编码树块的部分,预测处理单元100可对与树块相关联的像素块执行四叉树分 割以将像素块划分成逐步减小的像素块。较小像素块可与CU相关联。举例来说,预测 处理单元100可将树块的像素块中的每一者分割成四个大小相等的子块,将子块中的一 或多者分割成四个大小相等的子块,等等。

与CU相关联的像素块的大小的范围可为8×8像素直到与具有最大64×64样本或更 大的树块相关联的像素块的大小。在本发明中,“N×N”与“N乘N”可互换使用以指 代依据垂直及水平尺寸的像素块的像素尺寸,例如,16×16像素或16乘16像素。一股 来说,16×16像素块在垂直方向上具有16个像素(y=16),且在水平方向上具有16个像 素(x=16)。同样地,N×N块一股在垂直方向上具有N个像素,且在水平方向上具有N 个像素,其中N表示非负整数值。

视频编码器20可编码树块的CU以产生CU的经编码表示(即,经译码CU)。视频 编码器20可根据z扫描次序编码树块的CU。换句话说,视频编码器20可按z扫描次 序编码左上方CU、右上方CU、左下方CU及接着右下方CU。在视频编码器20编码经 分割CU时,视频编码器20可根据z扫描次序编码与经分割CU的像素块的子块相关联 的CU。换句话说,视频编码器20可按z扫描次序编码与左上方子块相关联的CU、与 右上方子块相关联的CU、与左下方子块相关联的CU及接着与右下方子块相关联的CU。

作为根据z扫描次序编码树块的CU的结果,可已编码在特定CU的上方、左上方、 右上方、左方及左下方的CU。尚未编码在特定CU的下方或右方的CU。因此,视频编 码器20可能够在编码特定CU时存取通过编码与特定CU相邻的一些CU而产生的信息。 然而,视频编码器20可不能够在编码特定CU时存取通过编码与特定CU相邻的其它 CU而产生的信息。

作为编码CU的部分,预测处理单元100可在CU的一或多个PU当中分割CU的像 素块。视频编码器20及视频解码器30可支持各种PU大小。假定特定CU的大小为 2N×2N,视频编码器20及视频解码器30可支持2N×2N或N×N的PU大小以供帧内预 测,且支持2N×2N、2N×N、N×2N、N×N或类似大小的对称PU大小以供帧间预测。视 频编码器20及视频解码器30还可支持2N×nU、2N×nD、nL×2N及nR×2N的PU大小 的不对称分割以供帧间预测。

帧间预测处理单元121可对CU的每一PU执行帧间预测。帧间预测可提供时间压 缩。帧间预测处理单元121可产生PU的预测性数据。PU的预测性数据可包含对应于 PU的预测性样本块及PU的运动信息。运动估计单元122可产生PU的运动信息。在一 些情况下,运动估计单元122可使用合并模式或进阶运动向量预测(AMVP)模式来用信 号表示PU的运动信息。运动补偿单元124可基于不同于与PU相关联的图片的一或多 个图片(即,参考图片)的像素产生PU的预测性像素块。

切片可为I切片、P切片或B切片。运动估计单元122及运动补偿单元124可取决 于PU是在I切片中,在P切片中抑或在B切片中而对CU的PU执行不同操作。在I 切片中,对所有PU进行帧内预测。因此,如果PU在I切片中,则运动估计单元122 及运动补偿单元124不对PU执行帧间预测。

如果PU在P切片中,则含有PU的图片与称为“列表0”的参考图片列表相关联。 在一些实例中,列表0中所列出的每一参考图片按显示次序在图片之前出现。列表0中 的参考图片中的每一者可用于其它图片的帧间预测。运动估计单元122可搜索列表0中 的参考图片以查找P切片中的PU的参考块。PU的参考块可为最紧密地对应于PU的像 素块的像素块。运动估计单元122可使用多种量度来确定参考图片中的像素块对应于PU 的像素块的紧密程度。举例来说,运动估计单元122可通过绝对差和(SAD)、平方差和 (SSD)或其它差量度来确定参考图片中的像素块对应于PU的像素块的紧密程度。

运动估计单元122可产生指示含有P切片中的PU的参考块的列表0中的参考图片 的参考图片索引及指示PU与参考块之间的空间移位的运动向量。运动估计单元122可 产生变化精度的运动向量。举例来说,运动估计单元122可产生在四分之一像素精度、 八分之一像素精度或其它分数像素精度下的运动向量。在分数像素精度的状况下,可从 参考图片中的整数位置像素值内插参考块值。运动估计单元122可输出参考图片索引及 运动向量作为PU的运动信息。运动补偿单元124可基于与PU的运动信息相关联的参 考块产生PU的预测性样本块。

如果PU在B切片中,则含有PU的图片可与称为“列表0”及“列表1”的两个参 考图片列表相关联。在一些实例中,列表1中所列出的每一参考图片按显示次序在当前 图片之后出现。此外,如果PU在B切片中,则运动估计单元122可对PU执行单向帧 间预测或双向帧间预测。为了对PU执行单向帧间预测,运动估计单元122可搜索列表 0或列表1的参考图片以查找PU的参考块。运动估计单元122可产生指示参考图片的 列表0或列表1中含有参考块的位置的参考图片索引及指示PU与参考块之间的空间移 位的运动向量。

为了对PU执行双向帧间预测,运动估计单元122可搜索列表0中的参考图片以查 找PU的参考块,且还可搜索列表1中的参考图片以查找PU的另一参考块。运动估计 单元122可产生指示参考图片的列表0及列表1中含有参考块的位置的参考图片索引。 另外,运动估计单元122可产生指示参考块与PU之间的空间移位的运动向量。PU的运 动信息可包含PU的参考图片索引及运动向量。运动补偿单元124可基于通过PU的运 动信息指示的参考块产生PU的预测性样本块。

作为对CU执行编码操作的部分,帧内预测处理单元126可对CU的PU执行帧内 预测。帧内预测可提供空间压缩。帧内预测处理单元126可基于与PU相同的图片中的 经解码样本产生PU的预测性数据。PU的预测性数据可包含PU的预测性样本块及各种 语法元素。帧内预测处理单元126可对I切片、P切片及B切片中的PU执行帧内预测。

为了对PU执行帧内预测,帧内预测处理单元126可使用多个帧内预测模式来产生 PU的预测性数据的多个集合。为了使用帧内预测模式来产生PU的预测性数据的集合, 帧内预测处理单元126可使样本在与帧内预测模式相关联的方向及/或梯度上从相邻PU 的样本块跨越PU的样本块延伸。假定PU、CU及树块的左到右、上到下编码次序,相 邻PU可在PU的上方、右上方、左上方或左方。帧内预测处理单元126可使用各种数 目个帧内预测模式,例如,33个定向帧内预测模式。在一些实例中,帧内预测模式的数 目可取决于PU的大小。

预测处理单元100可从CU的PU的通过帧间预测处理单元121产生的预测性数据 或所述PU的通过帧内预测处理单元126产生的预测性数据当中选择所述PU的预测性 数据。在一些实例中,预测处理单元100基于预测性数据的集合的位率/失真量度选择 CU的PU的预测性数据。

预测处理单元100可执行四叉树分割以将CU的残余像素块分割成子块。每一未经 划分的残余像素块可与CU的不同TU相关联。与CU的TU相关联的残余像素块的大小 及位置可或可不基于CU的PU的像素块的大小及位置。称为“残余四叉树”(RQT)的四 叉树结构可包含与残余像素块中的每一者相关联的节点。CU的TU可对应于RQT的叶 节点。

因为TU的残余像素块的像素包括Y、Cb及Cr样本,所以TU中的每一者可与Y 样本的样本块、Cb样本的样本块及Cr样本的样本块相关联。残余产生单元102可通过 从CU的样本块的对应样本减去CU的PU的预测性样本块而产生CU的残余样本块。

变换处理单元104可通过将一或多个变换应用于与TU相关联的残余样本块而产生 CU的每一TU的系数块。系数块中的每一者可为系数的2D矩阵。变换处理单元104可 将各种变换应用于与TU相关联的残余样本块。举例来说,变换处理单元104可将离散 余弦变换(DCT)、定向变换或概念上类似的变换应用于与TU相关联的残余样本块。

量化单元106可对与TU相关联的系数块中的系数进行量化。量化过程可减少与系 数中的一些或全部相关联的位深度。举例来说,可在量化期间将n位系数降值舍位到m 位系数,其中n大于m。量化单元106可基于与CU相关联的量化参数(QP)值对与CU 的TU相关联的系数块进行量化。视频编码器20可通过调整与CU相关联的QP值来调 整应用于与CU相关联的系数块的量化的程度。

视频编码器20可以各种方式将QP值与CU相关联。举例来说,视频编码器20可 对与CU相关联的树块执行位率-失真分析。在位率-失真分析中,视频编码器20可通过 以不同QP值来多次编码树块而产生树块的多个经译码表示。视频编码器20可在特定 QP值与树块的经译码表示中具有最低位速率及失真量度的CU相关联时用信号通知特 定QP值与CU相关联。

反量化单元108及反变换处理单元110可分别将反量化及反变换应用于系数块以从 系数块重建残余样本块。重建单元112可将经重建残余样本块与来自由预测处理单元100 产生的一或多个预测性样本块的对应样本相加以产生与TU相关联的经重建样本块。通 过以此方式重建CU的每一TU的样本块,视频编码器20可重建CU的样本块。

滤波器单元113可执行解块操作以减少与CU相关联的样本块中的成块假影。经解 码图片缓冲器114可在滤波器单元113对经重建样本块执行一或多个解块操作之后存储 经重建样本块。运动估计单元122及运动补偿单元124可使用含有经重建样本块的参考 图片来对后续图片的PU执行帧间预测。另外,帧内预测处理单元126可使用经解码图 片缓冲器114中的经重建样本块来对与CU相同的图片中的其它PU执行帧内预测。

熵编码单元116可从视频编码器20的其它功能组件接收数据。举例来说,熵编码 单元116可从量化单元106接收系数块且可从预测处理单元100接收语法元素。熵编码 单元116可对数据执行一或多个熵编码操作以产生经熵编码数据。举例来说,视频编码 器20可对数据执行上下文自适应可变长度译码(CAVLC)操作、CABAC操作、可变到可 变(V2V)长度译码操作、基于语法的上下文自适应二进制算术译码(SBAC)操作、概率区 间分割熵(PIPE)译码操作、指数哥伦布译码或另一类型的熵编码操作。熵编码单元116 可输出包含经熵编码数据的位流。

作为对数据执行熵编码操作的部分,熵编码单元116可选择上下文模型。如果熵编 码单元116正执行CABAC操作,则上下文模型可指示对特定二进制数具有特定值的概 率的估计。在CABAC的上下文中,术语“二进制数”可用以指代语法元素的二进制化 版本的位。

如上文所论述,视频编码器20可产生包含视频数据的经编码表示的位流。视频数 据的经编码表示可包含多个NAL单元。NAL单元可包含经译码切片NAL单元,经译码 切片NAL单元包含切片的经译码表示。因为切片可包含与多个图片分区(例如,熵切片、 瓦片或WPP波)相关联的树块,所以经译码切片NAL单元可包含多个经编码图片分区。 如上文所指示,经编码图片分区可为经译码切片NAL单元内的与单个图片分区相关联 的经译码树块的群组。

经译码切片NAL单元中的每一者可包含切片标头及切片数据。经译码切片NAL单 元的切片数据可包含切片中的每一树块的经译码表示。在一些情况下,切片的树块可与 不同图片分区相关联。因此,单个经译码切片NAL单元的切片数据可包含与多个图片 分区相关联的经编码树块。如上文所指示,术语“经编码图片分区”及“经译码子切 片”可用以指代经译码切片NAL单元内的与单个图片分区相关联的经译码树块的群组。

视频解码器30可经配置以并行地剖析或解码多个经编码图片分区。为了促进多个 经编码图片分区的同时剖析或解码,经编码图片分区中的每一者可为字节对准的。即, 经编码图片分区的第一位为存储器中的可寻址字节的第一位,且经编码图片分区的最后 位为存储器中的可寻址字节的最后位。

为了确保经译码切片NAL单元的切片数据中的经编码图片分区为字节对准的,经 译码切片NAL单元的切片标头可根据本发明的技术在字节边界处终止。在一些情况下, 切片标头的开始及末尾两者可为字节对准的。举例来说,视频编码器20可产生具有切 片的字节对准的切片标头的经译码切片NAL单元,所述切片包含多个经编码的字节对 准的熵切片、瓦片或WPP波(即,经编码图片分区)中的树块。

在一些实例中,视频编码器20可将旗标(例如,slice_header_byte_aligned_flag)包含 于例如SPS、PPS或APS等参数集中。如果所述旗标等于1,则参考所述参数集的每一 经译码切片NAL单元的切片标头为字节对准的。在这些实例中,如果所述旗标等于0, 则参考所述参数集的每一经译码切片NAL单元的切片标头可或可不为字节对准的。在 其它实例中,可使旗标的语义相反。在其它实例中,经译码切片NAL单元的切片标头 始终为字节对准的。此情形可等效于上文所提及的旗标不存在,及旗标的值始终推断为 等于1。

以此方式,视频编码器20可产生包含参数集的NAL单元,且视频解码器30可接 收所述NAL单元。在不同实例中,参数集可为SPS、PPS或APS。参数集可包含指示 参考所述参数集的切片标头是否为字节对准的语法元素。

在视频编码器20产生字节对准的切片标头的实例中,切片标头可遵照各种语法。 举例来说,视频编码器20可产生遵照下文表1中所指示的实例语法的切片标头。

表1:切片标头语法

slice_header(){ 描述符 ...  if(slice_header_byte_aligned_flag)   while(!byte_aligned())   bit_equal_to—one f(1) }  

出于解释容易起见,从表1的实例语法省略现有语法元素。在表1的实例语法中, bit_equal_to_one语法元素为具有等于一的值的位。byte_aligned()函式可传回指示切片标 头是否为字节对准的值。

此外,根据本发明的技术,位流可包含一或多个SEI消息,所述一或多个SEI消息 指示经译码切片NAL单元中的经编码图片分区的入口点。为了解释容易起见,本发明 可将指示经译码切片NAL单元中的经编码图片分区的入口点的SEI消息称为“入口点 SEI消息”。

在一些实例中,SEI消息包含指定SEI消息的有效负载类型的payloadType语法元 素。在一些这些实例中,入口点SEI消息的payloadType语法元素可与任何其它类型的 SEI消息的payloadType语法元素不同。因此,入口点SEI消息可包含指示入口点SEI 消息属于指示经译码切片NAL单元中的经编码图片分区的入口点的类型的SEI消息的 语法元素。

位流可包含SEI NAL单元,SEI NAL单元包含入口点SEI消息。在一些实例中,SEI NAL单元中的入口点SEI消息可适用于紧接在SEI NAL单元之后的经译码切片NAL单 元。因此,视频解码器30可至少部分基于在位流中紧接在含有多个经编码图片分区的 NAL单元之前的SEI NAL单元确定SEI消息适用于含有所述多个经编码图片分区的 NAL单元。出于解释容易起见,SEI消息所适用于的经译码切片NAL单元可在本发明 中被称为入口点SEI消息的经译码切片NAL单元。

在一些实例中,SEI消息与指示SEI消息适用于的单元的层级相关联。入口点SEI 消息可适用于在含有入口点SEI消息的SEI NAL单元之后的经译码切片NAL单元。或 者,入口点SEI消息可适用于包含于在含有入口点SEI消息的SEI NAL单元之后的经译 码切片NAL单元中的经译码切片。因此,入口点SEI消息可为NAL单元层级SEI消息 或切片层级SEI消息。

此外,在一些实例中,如果经译码切片NAL单元为图片的第一视频译码层 (VCL)NAL单元,则含有适用于经译码切片NAL单元的入口点SEI消息的SEI NAL单 元可具有等于10的NAL单元类型。否则,如果经译码切片NAL单元不为图片的第一 VCL NAL单元,则含有适用于经译码切片NAL单元的入口点SEI消息的SEI NAL单元 可具有等于11的NAL单元类型。“VCL NAL单元”为经分类为VCL NAL单元的具有 nal_unit_type的保留值的经译码切片NAL单元及NAL单元的子集的共同术语。不为VCL NAL单元的类型的NAL单元可被称为非VCL NAL单元。非VCL NAL单元的实例类型 包含SPS NAL单元、PPS NAL单元、SEI NAL单元等。nal_unit_type为NAL单元的标 头中的指定NAL单元的NAL单元类型的语法元素。

视频编码器20可产生具有各种语法的入口点SEI消息。举例来说,视频编码器20 可产生具有下文表2中所说明的语法的入口点SEI消息。

表2:入口点SEI消息的语法

entry_offset(payloadSize){ 描述符 offset_len_minus10 ue(v) num_offsets_minus1 ue(v) for(i=0;i<=num_substreams_minus1;i++)   substream_offset[i] u(v) }  

在表2的实例语法中,offset_len_minus10语法元素加上10指定substream_offset[i] 语法元素的以位计的长度。以此方式,偏移语法元素中的每一者的长度等于 offset_len_minus10语法元素加上10的值。此外,在表2的实例语法中, num_offsets_minus1语法元素加上1指定入口点SEI消息中的substream_offset[i]语法元 素的数目。

在表2的实例语法中,substream_offset[i]语法元素指定第i个偏移(以字节计)。入口 点SEI消息的经译码切片NAL单元可由num_offsets_minus1加上2个经编码图片分区 组成,其中经编码图片分区索引值为0、1、2、...、num_offsets_minus1+1。经编码图片 分区0可由入口点SEI消息的经译码切片NAL单元的字节0到substream_offset[0]-1(包 含0及substream_offset[0]-1)组成。经编码图片分区k可由入口点SEI消息的经译码切 片NAL单元的字节substream_offset[k-1]到substream_offset[k]-1(包含 substream_offset[k-1]及substream_offset[k]-1)组成,其中k在]到num_offsets_minus1+1 (包含1及num_offsets_minus1+1)的范围中。

以此方式,视频编码器20可用信号表示可由此确定偏移语法元素的以位计的长度 的语法元素。另外,视频编码器20可用信号表示可由此确定所述系列偏移语法元素中 的偏移语法元素的数目的语法元素。此外,视频编码器20可用信号表示所述系列偏移 语法元素,其中所述系列偏移语法元素中的偏移语法元素指示NAL单元内的经编码图 片分区的字节偏移。同样地,视频解码器30可在位流中接收指定一系列偏移语法元素 的以位计的长度的语法元素。视频解码器30还可在位流中接收指定所述系列偏移语法 元素中的偏移语法元素的数目的语法元素。另外,视频解码器30可在位流中接收所述 系列偏移语法元素,其中所述系列偏移语法元素中的偏移语法元素指示NAL单元内的 经编码图片分区的字节偏移。

在不同于表2的实例语法的一些实例语法中,substream_offset[i]的长度为1、2、3 及4个字节中的一者。substream_offset[i]的长度可通过具有等于分别对应于1、2、3及 4个字节的长度的0、1、2或3的值的语法元素来指示。在这些实例中,此语法元素可 替换表2的offset_len_minus10语法元素。此外,在入口点SEI消息的各种其它实例语 法中,用offset_len_minus8语法元素来替换表2的offset_len_minus10语法元素,且 substream_offset[i]语法元素的最小长度为八个位。

如上文所描述,可允许跨越图片分区(例如,熵切片、经译码瓦片或波前波)的图片 中预测。因此,一个经编码图片分区的解码可取决于另一经编码图片分区的解码。在一 些实例中,经编码图片分区囊封于不同NAL单元中且NAL单元囊封于不同包(例如, 实时传输协定(RTP)包)中。因为不同NAL单元可含有相依经编码图片分区,所以这些 NAL单元中的一者的遗失可防止视频解码器30解码其它NAL单元中的经编码图片分 区。因此,包含含于一个包中的多个NAL单元可为有利的。在一些常规CODEC中,包 化器可不能够从经译码切片NAL单元的NAL单元标头中的信息确定经译码切片NAL 单元含有经编码图片分区。更确切地说,在这些CODEC中,指示经译码切片NAL单元 含有经编码图片分区的信息可仅存在于经译码切片NAL单元的切片标头中。熵编码经 译码切片NAL单元的切片标头。因此,确定经译码切片NAL单元含有经编码图片分区 可要求包化器熵解码经译码切片NAL单元的切片标头,此举增加包化器的复杂性。

为了减小包化器的复杂性,可将相异NAL单元类型分配给含有单个经编码图片分 区的NAL单元,针对所述NAL单元允许跨越图片分区边界的图片中预测。此外,可将 不同NAL单元类型分配给含有具有不同应用范围的信息的SEI NAL单元。

视频编码器20可以各种方式指示NAL单元的类型。举例来说,视频编码器20可 将“nal_unit_type”语法元素包含于NAL单元的NAL单元标头中以指示NAL单元的类 型。在一些实例中,“nal_unit_type”语法元素可为六个位。在这些实例中,通过 “nal_unit_type”语法元素指定的值的范围可为0到63。在本发明中,除非以其它方式 指示,否则假设范围为包含性的。具有等于0或在48到63的范围中的“nal_unit_type” 语法元素的NAL单元可不影响解码过程。更确切地说,具有等于0或在48到63的范 围中的“nal_unit_type”语法元素的NAL单元可如由应用所确定来使用。对于具有等于 0或在48到63的范围中的“nal_unit_type”语法元素的NAL单元,不指定解码过程。 不同应用可使用具有等于0或在48到63的范围中的“nal_unit_type”语法元素的NAL 单元以用于不同目的。因此,将不同NAL单元类型分配给含有具有不同应用范围的信 息的SEI NAL单元。在其它实例中,“nal_unit_type”语法元素可为五个位,如在HEVC WD4中。在“nal_unit_type”语法元素为五个位的实例中,“nal_unit_type”语法元素 的值的范围可为0到31。

下文所呈现的表3说明“nal_unit_type”语法元素的值、NAL单元的内容及NAL 单元的原始字节序列有效负载(RBSP)语法结构与NAL单元类型类别之间的实例关系。

表3

在表3的实例中,具有在1到6的范围中的“nal_unit_type”语法元素的NAL单元 为经译码切片NAL单元。如果NAL单元含有与特定图片的切片或子切片相关联的数据 且NAL单元具有等于5或6的“nal_unit_type”语法元素,则具有等于1到4的 “nal_unit_type”语法元素的NAL单元可不含有与特定图片相关联的数据。如果NAL 单元含有与特定图片的切片或子切片相关联的数据且NAL单元具有等于5或6的 “nal_unit_type”语法元素,则图片可为瞬时解码器刷新(IDR)图片。如表3中所指示, 含有经译码子切片的NAL单元及不含有经译码子切片的经译码切片NAL单元可包含遵 照相同语法的RBSP。

如果NAL单元具有等于2、4或6的“nal_unit_type”语法元素,则NAL单元含有 子切片。举例来说,如果NAL单元含有与具有等于1的“lightweight_slice_flag”的切 片(即,轻量切片)相关联的数据,则NAL单元可具有“nal_unit_type”语法元素,所述 “nal_unit_type”语法元素具有2、4或6的值。出于解释容易起见,具有等于2、4或6 的“nal_unit_type”语法元素的NAL单元可在本文中被称为子切片NAL单元。因此, 含有经译码子切片的NAL单元可属于与不含有经译码子切片的经译码切片NAL单元不 同的NAL单元类型。举例来说,含有经译码子切片的NAL单元可包含指定与通过不含 有经译码子切片的经译码切片NAL单元的类型语法元素指定的数字不同的数字的类型 语法元素。在解码期间,视频解码器30可要求来自另一切片或子切片的数据以便执行 子切片内的图片中预测。

如果NAL单元具有等于10或11的“nal_unit_type”语法元素,则NAL单元为SEI NAL单元。具有等于10的“nal_unit_type”语法元素的SEI NAL可含有可应用于一或 多个完整经译码图片的SEI消息。具有等于10的“nal_unit_type”语法元素的SEI NAL 单元可在经译码图片的第一VCL NAL单元之前。

具有等于11的“nal_unit_type”语法元素的SEI NAL单元可在本文中被称为子图片 SEI NAL单元。子图片SEI NAL单元可含有适用于经译码图片的一或多个连续VCL NAL 单元的列表的SEI消息。所述列表可包含经译码图片的所有VCL NAL单元的真子集, 且不包含经译码图片的第一VCL NAL单元。子图片SEI NAL单元可在包含于子图片SEI NAL单元中的SEI消息适用于的VCL NAL单元的列表的第一VCL NAL单元之前。

在其它实例中,“nal_unit_type”语法元素的值可具有不同于表3中所指示的含义 的含义。举例来说,在其它实例中,帧内切片(即,I切片)及帧间切片(即,P切片及B 切片)可具有不同NAL单元类型。换句话说,可存在用于I切片的“nal_unit_type”语法 元素的第一值及用于P切片及B切片的“nal_unit_type”语法元素的第二值。在另外其 它实例中,可存在用于I切片的“nal_unit_type”语法元素的第一值、用于P切片的 “nal_unit_type”语法元素的第二值及用于B切片的“nal_unit_type”语法元素的第三 值。在另外其它实例中,可存在用于含有表示短切片(即,具有等于1的 “lightweight_slice_header”语法元素的切片)的数据的NAL单元及含有表示完整切片 (即,具有等于0的“lightweight_slice_header”语法元素的切片)的数据的NAL单元的 “nal_unit_type”语法元素的不同值。

在表3的另一实例替代例中,SEI消息可分类为若干层级。层级中的每一者可与 “nal_unit_type”语法元素的不同值相关联。SEI消息的层级可包含:

1)序列层级:适用于一或多个完整经译码视频序列。

2)子序列层级:适用于一个以上经译码图片但少于一个经译码视频序列。

3)图片层级:适用于一个存取单元中的所有VCL NAL单元。

4)子图片层级:适用于存取单元中的所有VCL NAL单元的真子集。举例来说,在 子图片层级处的SEI消息可适用于涵盖所关注的特定区的VCL NAL单元、如H.264/AVC 标准的附件G中所定义的层表示的VCL NAL单元、如H.264/AVC标准的附件H中所定 义的视图分量的VCL NAL单元,或如由H.264/AVC标准所定义的冗余经译码图片的 VCL NAL单元。

可将位流划分成一系列存取单元。存取单元中的每一者可含有一个经译码图片及零 个或零个以上非VCL NAL单元。位流的第一存取单元以位流的第一NAL单元开始。在 经译码图片的最后VCL NAL单元之后的后续NAL单元中的任一者中的第一者可指定新 存取单元的开始。

●存取单元定界符NAL单元(当存在时)。

●序列参数集NAL单元(当存在时)。

●图片参数集NAL单元(当存在时)。

●调适参数集NAL单元(当存在时)。

●具有等于10的“nal_unit_type”的SEI NAL单元(当存在时)。

●具有在14到29的范围中的“nal_unit_type”的NAL单元(当存在时)。

●经译码图片的第一VCL NAL单元(始终存在)。

视频编码器20及视频解码器30可遵守关于存取单元内的经译码图片及非VCL NAL 单元的次序的以下约束:

●当存取单元定界符NAL单元存在时,存取单元定界符NAL为第一NAL单元。 在任何存取单元中可仅存在一个存取单元定界符NAL单元。

●当SEI NAL单元具有等于10的“nal_unit_type”语法元素时,SEI NAL单元在 经译码图片的第一VCL NAL单元之前。

●当SEI NAL单元具有等于11的“nal_unit_type”语法元素时,SEI NAL单元在 经译码图片的第一VCL NAL单元之后,且在SEI NAL单元所适用于的第一VCL NAL 单元之前。因此,SEI NAL单元在经译码图片的最后VCL NAL单元之前。

●当SEI NAL单元含有缓冲周期SEI消息时,SEI NAL单元可具有等于10的 “nal_unit_type”语法元素,且缓冲周期SEI消息为存取单元中的第一SEI NAL单元的 第一SEI消息有效负载。

●具有等于0、11、13或在30到63的范围中的“nal_unit_type”语法元素的NAL 单元不在经译码图片的第一VCL NAL单元之前。

SPS NAL单元、PPS NAL单元或APS NAL单元可存在于存取单元中,但可不在存 取单元内的主要经译码图片的最后VCL NAL单元之后。

以此方式,视频编码器20可实施用于编码视频数据的方法。所述方法可包括产生 多个NAL单元。所述方法还可包括基于NAL单元的NAL单元类型识别含有经译码子 切片的NAL单元的子集。另外,所述方法可包括产生含有NAL单元的子集的包。类似 地,视频解码器30可实施用于解码视频数据的方法,所述方法包括接收含有多个NAL 单元的包,所述NAL单元中的每一者含有经译码子切片,所述NAL单元中的每一者包 含类型指示符,所述类型指示符指示NAL单元属于含有经译码子切片(即,经编码图片 分区)的NAL单元的类型。用于解码视频数据的方法还可包括解码子切片。

在其它实例中,视频编码器20可产生含有与多个子切片相关联的数据的单个NAL 单元。举例来说,视频编码器20可产生含有与多个轻量切片相关联的数据的单个经译 码切片NAL单元。在这些实例中,NAL单元内的轻量切片可为字节对准,且视频编码 器20可用信号表示与子切片中的每一者相关联的数据的字节偏移,与子切片中的第一 者相关联的数据除外。视频解码器30可使用字节偏移来将子切片中的不同子切片分配 给不同处理核心以供解码。以此方式,视频解码器30可并行地解码与子切片相关联的 数据。然而,如果视频解码器30不并行地解码子切片,则视频解码器30可忽略字节偏 移。因此,如果视频解码器30不并行地解码子切片,则发送字节偏移可降低效率。

在一些实例中,瓦片可用以实现渐次解码刷新(gradual decoding refresh,GDR)。举例 来说,视频编码器20可以相同方式将图片序列中的每一图片分割成瓦片。举例来说, 视频编码器20可使用相同的九个垂直瓦片边界将图片中的每一者分割成八个瓦片。在 此实例中,最左瓦片可为瓦片0,从左起第二瓦片可为瓦片1,等等。图片中的每一者 含有至少一个P切片。因此,序列中的每一图片的至少部分取决于至少另一图片。在序 列的第一图片(即,图片0)中,帧内译码瓦片0中的所有树块,且帧间译码第一图片的 所有剩余瓦片中的树块。在序列的第二图片(即,图片1)中,帧内译码瓦片1中的所有 树块,且帧间译码第二图片的所有剩余瓦片中的树块。此模式可在序列中的图片内继续。 换句话说,对于在0到序列中的图片的数目减去1的范围中的任何值N,在图片的序列 的图片N中,帧内译码瓦片N/8中的所有树块且帧间译码所有其它瓦片中的树块。在先 前句子中,“/”指示模除(即,模运算符)。具有索引值N使得N/8等于0的每一图片可 在如下意义上用作随机存取点:如果解码从所述图片开始,则可完全解码除了接下来的 七个图片外的所有图片。在其它实例中,可使用其它数目个瓦片。举例来说,视频编码 器20可实施每一图片具有仅两个瓦片的GDR。

随机存取指代从任何经译码图片(特别是从不为视频位流中的第一经译码图片的经 译码图片)开始的经译码视频位流的解码。如果可在解码从picP开始时正确地解码按解 码次序及输出次序两者在经译码图片picQ之后的所有经译码图片,则经译码图片picP 为随机存取点(RAP)。picQ可或可不与picP相同。RAP可为IDR图片或非IDR图片。 可在无从按解码次序在IDR图片之前的任何图片的帧间预测的情况下解码按解码次序 在IDR图片之后的所有经译码图片。非IDR图片是不为IDR图片的任何图片。

非IDR随机存取点是以下条件为真的经译码图片:

●非IDR随机存取点(picR)不为IDR图片。

●令picR的图片次序计数(POC)为rPoc,令picA为按解码次序及输出次序两者在 同一经译码视频序列中的picR之后的图片,且令picA的POC为aPoc。当在picR处执 行随机存取时(即,当解码从picR开始时),可正确地解码在同一经译码视频序列中且按 输出次序在图片picA之后的所有图片。

如果当在非IDR RAP处执行随机存取时可正确地解码在与非IDR RAP相同的经译 码视频序列中且按输出次序在非IDR RAP之后的所有图片,则非IDR RAP为清洁随机 存取(clean random access,CRA)图片。如果此情形为真,则非IDR RAP可被称为渐次解 码刷新(GDR)图片。

GDR序列中的每一图片可具有其自身的PPS。PPS中的每一者指定瓦片边界。换句 话说,指示瓦片边界的语法元素可针对GDR序列上的每一图片在PPS中重复。此情形 可浪费位且可强加对频带内PPS更新的需要,此举可强加错误回复问题。

在一些实例中,视频编码器20可使得能够改变瓦片边界,其中图片仅包含两个瓦 片。举例来说,视频编码器20可将图片序列中的每一图片分割成一对瓦片。在此情况 下,视频编码器20可使得能够改变仅具有不在图片边界处的单个垂直或水平瓦片边界 的图片的瓦片边界。瓦片边界可在图片间移动。举例来说,如果瓦片边界垂直,则瓦片 边界可从左向右或从右向左移动。如果瓦片边界水平,则瓦片边界可向上或向下移动。

可以各种方式用信号表示瓦片边界的移动。举例来说,视频编码器20可产生一或 多个语法元素,所述一或多个语法元素指示序列内的瓦片边界在图片间的移动。这些语 法元素可位于各种语法结构内。举例来说,视频编码器20可产生参数集,所述参数集 包含指示瓦片边界的移动及位置的语法元素中的至少一些。在此实例中,参数集可为 SPS、PPS、APS或另一类型的参数集。在一些这些实例中,可结合SPS及/或PPS中的 语法元素指示瓦片边界的移动及位置。在其它实例中,仅通过APS或切片标头中的一或 多个语法元素来指示瓦片边界的移动及位置。在其它实例中,视频编码器20可产生切 片标头,所述切片标头包括指示瓦片边界的移动及位置的一或多个语法元素。

在又一实例中,SPS及切片标头中的语法元素指示瓦片边界的移动及位置。在此实 例中,表4提供SPS RBSP的语法。表5提供切片标头的语法。表4的SPS RBSP及表 5的切片标头中的语法元素一起用信号表示瓦片边界的移动。

表4

表5

slice_header(){ 描述符 lightweight_siice_flag u(1) if(!lightweight_slicc_flag){   slice_type ue(v) pic_parameter_set_id ue(v) frame_num u(v) if(IdrPicFlag)   idr_pic_id ue(v) if(pic_order_cnt_type==0)   pic_order_cnt_lsb/* u(v) if(slice_type==P||slice_type==B){   num_ref_idx_active_override_flag u(1) if(num_ref_idx_active_override_flag){   num_ref_idX_10_active_minus1 ue(v) if(slice_type==B)   num_ref_idX_l1_active_minus1 ue(v) }   }   ref_pic_list_modification()   ref_pic_list_combination()   if(nsl_ref_idc!=0)   dec_ref_pic_marking()   }   if(entropy_coding_mode_flag&&slice_type!=I)   cabac_init_idc ue(v) first_slice_in_pic_flag u(1) if(first_slice_in_pic_flag==0)   slice_address u(v) if(!lightweight_slice_flag){   slice_qp_delta se(v) if(sample_adaptive_ofrset_enabled_flag)   sao_param()   if(deblocking_filter_control_present_flag){   disable_deblocking_filter_idc   if(disable_deblocking_filter_idc  !=  1){   slice_alpha c0 offset_div2   slice_beta_offset_div2   }   }   if(slice_type==B)  

collocated_from_10_flag u(1) if(adaptive_loop_filter_enabled_flag){   if(!shared_pps_info_enabled_flag)   alf_param()   alf_cu_control_param()   }   if(dynamic_tile_boundary_flag)   tile_boundary_change_cycle u(v) }   }  

在表4中,“dynamic_tile_boundary_flag”语法元素指示瓦片边界是否可动态地改 变。举例来说,如果“dynamic_tile_boundary_flag”语法元素等于1,则瓦片边界可动态 地改变。如果“dynamic_tile_boundary_flag”语法元素等于0,则瓦片边界不动态地改变。 如果“num_tile_columns_minus1”及“num_tile_rows_minus1”语法元素的总和不等于 1,则“dynamic_tile_boundary_flag”语法元素可不等于1。如果 “dynamic_tile_boundary_flag”语法元素不存在,则视频解码器30可推断 “dynamic_tile_boundary_flag”语法元素等于0。“dynamic_tile_boundary_flag”语法元 素可仅在仅存在两个垂直瓦片或两个水平瓦片的情况下等于1。

此外,表4的“tile_boundary_change_direction_flag”语法元素可指定瓦片边界的移 动方向。举例来说,如果“tile_boundary_change_direction_flag”语法元素等于0且瓦片 边界垂直,则瓦片边界可从一个图片到下一图片从左向右移动。如果 “tile_boundary_change_direction_flag”语法元素等于1且瓦片边界水平,则瓦片边界可 从一个图片到下一图片从右向左移动。如果“tile_boundary_change_direction_flag”语法 元素等于0且瓦片边界水平,则瓦片边界可从上而下移动。如果“tile_boundary_ change_direction_flag”语法元素等于1且瓦片边界水平,则瓦片边界可从下而上移动。

表4的“tile_boundary_change_rate_minus1”语法元素可指定瓦片边界从一个图片 移动到下一图片的树块行或列的数目。举例来说,如果瓦片边界垂直,则 “tile_boundary_change_rate_minus1”语法元素可指示瓦片边界从一个图片移动到下一 图片的树块列的数目。如果瓦片边界水平,则“tile_boundary_change_rate_minus1”语 法元素可指示瓦片边界从一个图片移动到下一图片的树块行的数目。行或列的数目可等 于“tile_boundary_change_rate_minus1”语法元素加上1。举例来说,可变 “TileBoundaryChangeRate”的值可通过将1与“tile_boundary_change_rate_minus1”语 法元素相加来导出。出于解释容易起见,“tile_boundary_change_rate_minus1”语法元 素可被称为速率语法元素。

视频解码器30可使用表5的“tile_boundary_change_cycle”语法元素来导出瓦片边 界的位置。出于解释容易起见,“tile_boundary_change_cycle”语法元素可被称为循环 语法元素。循环语法元素可指示与序列中的图片相关联的循环。如果瓦片边界垂直,则 “tile_boundary_change_cycle”语法元素可通过用以下公式指示的位的数目来表示:

Ceil(Log2(PicWidthInLcus÷TileBoundaryChangeRate+1))

在以上公式中,Ceil(...)为顶值函数,Log2(...)为底数为2的对数函数,且 “PicWidthInLcus”为LCU(即,树块)中的图片的宽度。此外,如果瓦片边界垂直,则 “tile_boundary_change_cycle”语法元素的值的范围可为0到通过以下公式指示的值:

Ceil(PicWidthInLcus÷TileBoundaryChangeRate)。

如果瓦片边界水平,则“tile_boundary_change_cycle”元素可通过用以下公式指示 的位的数目来表示:

Ceil(Log2(PicHeightInLcus÷TileBoundaryChangeRate+1))

在以上公式中,“PicHeightInLcus”为LCU(即,树块)中的图片的高度。此外,如 果瓦片边界水平,则“tile_boundary_change_cycle”语法元素的值的范围可为0到通过 以下公式指示的值:

Ceil(PicHeightInLcus÷TileBoundaryChangeRate)。

如果瓦片边界垂直(即,“num_tile_columns_minus1”语法元素等于1),则视频解码 器30可如下导出瓦片边界的位置。如果“tile_boundary_change_direction_flag”语法元 素等于0,则左方瓦片的树块的宽度等于“tile_boundary_change_cycle”* “TileBoundaryChangeRate”。“TileBoundaryChangeRate”变量等于“tile_boundary_ change_rate_minus1”语法元素加上1。否则,如果 “tile_boundary_change_direction_flag”语法元素等于1,则右方瓦片的树块的宽度等于 “tile_boundary_change_cycle”*“TileBoundaryChangeRate”。

如果瓦片边界水平(即,“num_tile_rows_minus1”语法元素等于1),则视频解码器 30可如下导出瓦片边界的位置。如果“tile_boundary_change_direction_flag”语法元素等 于0,则上部瓦片的树块的高度等于“tile_boundary_change_cycle”* “TileBoundaryChangeRate”。如果“tile_boundary_change_direction_flag”语法元素等 于1,则下部瓦片的树块的高度等于“tile_boundary_change_cycle”* “TileBoundaryChangeRate”。

在表5中,将变量“IdrPicFlag”指定为

IdrPicFlag=((nal_unit_type==5llnal_unit_type==6)?1∶0)。

换句话说,如果含有切片标头的NAL单元的“nal_unit_type”语法元素具有5或6 的值,则变量“IdrPicFlag”具有1的值。

在另一实例中,表6说明图片参数集RBSP的实例语法。PPS RBSP及表5的切片 标头的语法元素可一起用信号表示瓦片边界的移动及位置。

表6

表6的“dynamic_tile_boundary_flag”语法元素、“tile_boundary_change_ direction_flag”语法元素及“tile_boundary_change_rate_minus1”语法元素可具有与表4 的对应元素相同的语义。表4、表5及表6的其它语法元素可具有定义于上文所提及的 JCTVC文件JCTVC-F335中或定义于HEVC WD4中的语义。在一些实例中,除了表4 的语法之外或作为表4的语法的替代例,视频编码器20及视频解码器30可使用表6的 语法。

以此方式,视频编码器20可执行用于编码视频数据的方法。用于编码视频数据的 方法可包括将图片序列中的每一图片分割成一对瓦片,瓦片边界分离所述对瓦片。编码 方法还可包括产生一或多个语法元素,所述一或多个语法元素指示序列内的瓦片边界在 图片间的移动。同样地,视频解码器30可执行用于解码视频数据的方法。解码方法可 包括接收视频数据的位流中的一或多个语法元素,所述一或多个语法元素指示图片序列 内的瓦片边界在图片间的移动。解码方法还可包括针对图片中的每一者基于语法元素确 定瓦片边界的位置。

图3为说明经配置以实施本发明的技术的实例视频解码器30的框图。出于解释目 的而提供图3且其并不限制如本发明中广泛地例示及描述的技术。出于解释目的,本发 明在HEVC译码的情境下描述视频解码器30。然而,本发明的技术可适用于其它译码 标准或方法。

在图3的实例中,视频解码器30包含多个功能组件。视频解码器30的功能组件包 含熵解码单元150、预测处理单元152、反量化单元154、反变换处理单元156、重建单 元158、滤波器单元159及经解码图片缓冲器160。预测处理单元152包含运动补偿单 元162及帧内预测处理单元164。在其它实例中,视频解码器30可包含更多、更少或不 同功能组件。

视频解码器30可接收包括多个语法元素的位流。熵解码单元150可剖析位流以从 位流提取语法元素。作为剖析位流的部分,熵解码单元150可熵解码位流中的经熵编码 语法元素。预测处理单元152、反量化单元154、反变换处理单元156、重建单元158及 滤波器单元159可基于从位流提取的语法元素产生经解码视频数据。

位流可包括一系列NAL单元。位流的NAL单元可包含SPS NAL单元、PPS NAL 单元、SEI NAL单元等。作为剖析位流的部分,熵解码单元150可从SPS NAL单元提 取SPS且熵解码SPS,从PPS NAL单元提取PSS且熵解码PSS,从SEI NAL单元提取 SEI消息且熵解码SEI消息,等等。

另外,位流的NAL单元可包含经译码切片NAL单元。作为剖析位流的部分,熵解 码单元150可从经译码切片NAL单元提取经译码切片且熵解码经译码切片。经译码切 片中的每一者可包含切片标头及切片数据。切片标头可含有关于切片的语法元素。切片 标头中的语法元素可包含识别与含有切片的图片相关联的PPS的语法元素。熵解码单元 150可对经译码切片标头中的语法元素执行熵解码操作(例如,CABAC解码操作)以恢复 切片标头。

作为从经译码切片NAL单元提取切片数据的部分,熵解码单元150可从切片数据 中的经译码CU提取语法元素。经提取语法元素可包含与系数块相关联的语法元素。熵 解码单元150可对语法元素中的一些执行CABAC解码操作。

作为对语法元素执行CABAC解码的部分,熵解码单元150可识别译码上下文。熵 解码单元150可将区间划分成下部子区间及上部子区间。子区间中的一者可与值0相关 联且另一子区间可与值1相关联。子区间的宽度可与通过经识别译码上下文指示的相关 联值的概率成比例。如果经编码值在下部子区间内,则熵解码单元150可解码具有与下 部子区间相关联的值的二进制数。如果经编码值在上部子区间内,则熵解码单元150可 解码具有与上部子区间相关联的值的二进制数。为了解码语法元素的下一二进制数,熵 解码单元150可重复这些步骤,其中区间为含有经编码值的子区间。在熵解码单元150 对下一二进制数重复这些步骤时,熵解码单元150可使用基于通过经识别译码上下文及 经解码二进制数指示的概率的经修改概率。熵解码单元150可解二进制化(de-binarize) 所述二进制数以恢复语法元素。

另外,视频解码器30可对未经分割CU执行重建操作。为了对未经分割CU执行重 建操作,视频解码器30可对CU的每一TU执行重建操作。通过针对CU的每一TU执 行重建操作,视频解码器30可重建与CU相关联的残余像素块。

作为对CU的TU执行重建操作的部分,反量化单元154可对与TU相关联的系数 块进行反量化(即,解量化)。反量化单元154可使用与TU的CU相关联的QP值来确定 量化的程度,且同样地,确定反量化单元154所应用的反量化的程度。

在反量化单元154对系数块进行反量化之后,反变换处理单元156可将一或多个反 变换应用于系数块以便产生与TU相关联的残余样本块。举例来说,反变换处理单元156 可将反DCT、反整数变换、反卡忽南-拉维(Karhunen-Loeve)变换(KLT)、反旋转变换、 反定向变换或另一反变换应用于系数块。

如果在跳过模式下编码PU或使用合并模式编码PU的运动信息,则运动补偿单元 162可产生PU的合并候选者列表。运动补偿单元162可识别合并候选者列表中的选定 合并候选者。运动补偿单元162可基于与通过选定合并候选者指示的运动信息相关联的 一或多个参考块产生PU的预测性样本块。

如果使用AMVP模式编码PU的运动信息,则运动补偿单元162可产生列表0MV 预测子候选者列表及/或列表1MV预测子候选者列表。运动补偿单元162可确定选定列 表0MV预测子候选者及/或选定列表1MV预测子候选者。接下来,运动补偿单元162 可基于列表0运动向量差(MVD)、列表1MVD、通过选定列表0MV预测子候选者指定 的列表0运动向量及/或通过选定列表1MV预测子候选者指定的列表1运动向量来确定 PU的列表0运动向量及/或PU的列表1运动向量。运动补偿单元162可基于与列表0 运动向量及列表0参考图片索引及/或列表1运动向量及列表1参考图片索引相关联的参 考块来产生PU的预测性样本块。

在一些实例中,运动补偿单元162可通过基于内插滤波器执行内插来改进PU的预 测性样本块。待用于以子像素精度执行运动补偿的内插滤波器的识别符可包含于语法元 素中。运动补偿单元162可在PU的预测性样本块的产生期间使用由视频编码器20使用 的相同内插滤波器来计算参考块的子整数(sub-integer)样本的内插值。运动补偿单元162 可根据所接收语法信息确定由视频编码器20使用的内插滤波器,且使用所述内插滤波 器产生预测性样本块。

如果使用帧内预测来编码PU,则帧内预测处理单元164可执行帧内预测以产生PU 的预测性样本块。举例来说,帧内预测处理单元164可基于位流中的语法元素确定PU 的帧内预测模式。帧内预测处理单元164可使用帧内预测模式基于空间上相邻的PU的 样本块产生PU的预测性数据(例如,预测性样本)。

重建单元158可使用与CU的TU相关联的残余样本块及CU的PU的预测性样本块 (即,帧内预测数据或帧间预测数据)在适当时重建CU的样本块。明确地说,重建单元 158可将残余样本块的样本与预测性样本块的对应样本相加来重建CU的样本块。

滤波器单元159可执行解块操作以减少与CU相关联的成块假影。视频解码器30 可将CU的样本块存储于经解码图片缓冲器160中。经解码图片缓冲器160可提供用于 后续运动补偿、帧内预测及呈现于显示装置(例如,图1的显示装置32)上的参考图片。 举例来说,视频解码器30可基于经解码图片缓冲器160中的样本块对其它CU的PU执 行帧内预测或帧间预测操作。

图4为说明根据本发明的一或多种技术的视频编码器20的实例操作200的流程图。 在图4的实例中,视频编码器20可编码视频数据的切片的图片分区(例如,瓦片、波、 熵切片等)(202)。切片可包含多个译码单元。通过编码图片分区,视频编码器20产生经 编码图片分区。视频编码器20可产生包含切片的经编码图片分区的经译码切片NAL单 元(204)。

另外,视频编码器20可产生指示经译码图片分区的入口点的SEI消息(206)。即, SEI消息可指示经译码图片分区在经译码切片NAL单元中的位置。SEI消息可具有上文 所描述的格式。举例来说,视频编码器20可产生包含SEI消息的SEI NAL单元。

视频编码器20可输出包含经译码切片NAL单元及SEI消息的位流(208)。位流包含 视频数据的经编码表示。视频编码器20可以各种方式输出位流。举例来说,视频编码 器20可在例如因特网等通信网络上传输位流。在另一实例中,视频编码器20可将位流 输出到例如硬盘驱动器或存储器等计算机可读存储媒体。

图5为说明根据本发明的一或多种技术的视频解码器30的实例操作250的流程图。 在图5的实例中,视频解码器30可接收含有多个经编码图片分区的经译码切片NAL单 元(252)。另外,视频解码器30可接收(例如)在非VCL NAL单元中的SEI消息,所述 SEI消息指示经译码切片NAL单元中的经编码图片分区的入口点(254)。视频解码器30 可以各种方式接收经译码切片NAL单元及SEI消息。举例来说,视频解码器30可经由 例如因特网等通信网络从远程服务器接收经译码切片NAL单元及SEI消息。在另一实 例中,视频解码器30可从例如硬盘驱动器或存储器等计算机可读存储媒体接收经译码 切片NAL单元及SEI消息。

视频解码器30可至少部分基于SEI消息中所指示的入口点来确定经编码图片分区 在经译码切片NAL单元中的位置(256)。举例来说,SEI消息可指示特定经编码图片分 区在经译码切片NAL单元的切片数据的第256个字节处开始。视频解码器30可解码经 编码图片分区(258)。在一些实例中,视频解码器30可并行地解码经编码图片分区中的 两者或两者以上。

视频解码器30可输出经编码图片分区的经解码像素块(260)。在一些实例中,视频 解码器30输出经解码像素块以用于在显示装置32处显示。在另一实例中,视频解码器 30可将经解码像素块输出到视频编码器。在此实例中,作为视频转码操作的部分,视频 编码器可重新编码经解码像素块。

图6为根据本发明的一或多种技术的视频编码器20的用于产生具有字节对准的切 片标头的经译码切片NAL单元的实例操作280的流程图。在图6的实例中,视频编码 器20可产生多个经编码图片分区(282)。经编码图片分区中的每一者与视频数据中的图 片中的CU的不同集合相关联。此外,视频编码器20可产生含有切片标头及多个经编码 图片分区的NAL单元(284)。切片标头可包含将切片标头与字节边界对准的一或多个填 补位。

图7为说明根据本发明的一或多种技术的视频编码器20的用以产生字节对准的切 片标头的实例操作300的流程图。在图7的实例中,视频编码器20可产生切片标头(302)。 另外,视频编码器20可确定参数集(例如,序列参数集、图片参数集、调适参数集等) 中的语法元素是否指示切片标头必须与字节边界对准(304)。

如果语法元素指示切片标头必须与字节边界对准(304的“是”),则视频编码器20 可确定切片标头是否与字节边界对准(306)。如果切片标头未与字节边界对准(306的 “否”),则视频编码器20可将位附加到切片标头(308)。在将位附加到切片标头之后, 视频编码器20可再次确定切片标头是否与字节边界对准(306)。以此方式,视频编码器 20可继续将位附加到切片标头直到切片标头为字节对准的为止。

如果切片标头与字节边界对准(306的“是”)或如果语法元素指示切片标头无需与 字节边界对准(304的“否”),则操作300完成。

图8为根据本发明的一或多种技术的视频解码器30的实例操作330的流程图,其 中视频解码器30接收具有字节对准的切片标头的经译码切片NAL单元。在图8的实例 中,视频解码器30可接收NAL单元(332)。NAL单元可含有切片标头及视频数据的多 个经编码图片分区。切片标头可包含将切片标头与字节边界对准的一或多个填补位。视 频解码器30可并行地解码经编码图片分区中的两者或两者以上(334)。

图9为说明波前并行处理的概念图。如上文所描述,可将图片分割成像素块,所述 像素块中的每一者与树块相关联。图9将与树块相关联的像素块说明为白色正方形的栅 格。图片包含树块行350A到350E(统称为“树块行350”)。

第一线程可译码树块行350A中的树块。同时,其它线程可译码树块行350B、350C 及350D中的树块。在图9的实例中,第一线程当前正译码树块352A,第二线程当前正 译码树块352B,第三线程当前正译码树块352C,且第四线程当前正译码树块352D。本 发明可将树块352A、352B、352C及352D统称为“当前树块352”。因为视频译码器 可在已译码紧接的较高行的两个以上树块之后开始译码树块行,所以当前树块352彼此 水平地移位两个树块的宽度。

在图9的实例中,线程可使用来自通过粗灰色箭头指示的树块的数据来对当前树块 352中的CU执行帧内预测或帧间预测。线程还可使用来自一或多个参考帧的数据来执 行CU的帧间预测。为了译码给定树块,线程可基于与先前经译码树块相关联的信息选 择一或多个CABAC上下文。线程可使用一或多个CABAC上下文来对与给定树块的第 一CU相关联的语法元素执行CABAC译码。如果给定树块不为一行的最左树块,则线 程可基于与在给定树块左方的树块的最后CU相关联的信息选择一或多个CABAC上下 文。如果给定树块为一行的最左树块,则线程可基于与在给定树块上方及右方两个树块 处的树块的最后CU相关联的信息选择一或多个CABAC上下文。线程可使用来自通过 细黑色箭头指示的树块的最后CU的数据来选择用于当前树块352的第一CU的CABAC 上下文。

图10为说明经分割成多个瓦片402A、402B、402C、402D、402E及402F(统称为 “瓦片402”)的图片400的实例树块译码次序的概念图。图片400中的每一正方形块表 示与树块相关联的像素块。粗虚线指示实例瓦片边界。不同类型的交叉影线对应于不同 切片。

像素块中的编号指示按图片400的瓦片译码次序的对应树块(LCU)的位置。如图10 的实例中所说明,首先译码瓦片402A中的树块,其后接着译码瓦片402B中的树块,其 后接着译码瓦片402C中的树块,其后接着译码瓦片402D中的树块,其后接着译码瓦片 402E中的树块,其后接着译码瓦片402F中的树块。在瓦片402中的每一者内,根据光 栅扫描次序译码树块。

视频编码器可为图片400产生四个经译码切片NAL单元。第一经译码切片NAL单 元可包含树块1到18的经编码表示。第一经译码切片NAL单元的切片数据可包含两个 经编码图片分区。第一经编码图片分区可包含树块1到9的经编码表示。第二经编码图 片分区可包含树块10到18的经编码表示。因此,第一经译码切片NAL单元可包含含 有多个瓦片的切片的经编码表示。

第二经译码切片NAL单元可包含树块19到22的经编码表示。第二经译码切片NAL 单元的切片数据可包含单个经编码图片分区。第三经译码切片NAL单元可包含树块23 到27的经编码表示。第三经译码切片NAL单元的切片数据可包含仅单个经编码图片分 区。因此,瓦片402C可含有多个切片。第四经译码切片NAL单元可包含树块28到45 的经编码表示。第四经译码切片NAL单元的切片数据可包含三个经编码图片分区,瓦 片402D、402E及402F中的每一者一个。因此,第四经译码切片NAL单元可包含含有 多个瓦片的切片的经编码表示。

图11为根据本发明的一或多个方面的视频编码器20的用以产生位流的实例操作 430的流程图,所述位流包含表示与NAL单元内的经编码图片分区的偏移相关联的语法 元素的可变长度值。在图11的实例中,视频编码器20可熵编码第一语法元素、第二语 法元素及一系列偏移语法元素(432)。所述偏移语法元素中的每一者的长度可基于所述第 一语法元素来确定。所述系列偏移语法元素中的偏移语法元素的数目可基于所述第二语 法元素来确定。多个经编码图片分区在NAL单元内的位置可基于所述偏移语法元素来 确定。视频编码器20可产生位流,所述位流包含表示经熵编码的第一语法元素的可变 长度值、表示经熵编码的第二语法元素的可变长度值及表示偏移语法元素的固定长度值 (434)。

图12为说明根据本发明的一或多个方面的视频解码器的用以解码通过位流表示的 视频数据的实例操作450的流程图,所述位流包含表示与NAL单元中的经编码图片分 区的偏移相关联的语法元素的可变长度值。在图12的实例中,视频解码器30接收位流, 所述位流包含表示第一语法元素的经熵编码的可变长度值、表示第二语法元素的经熵编 码的可变长度值及一系列偏移语法元素(452)。另外,视频解码器30可熵解码第一语法 元素及第二语法元素(454)。视频解码器30可基于第一语法元素确定偏移语法元素中的 每一者的长度(456)。视频解码器30可基于第二语法元素确定所述系列偏移语法元素中 的偏移语法元素的数目(458)。

另外,视频解码器30可至少部分基于偏移语法元素中的每一者的长度及所述系列 偏移语法元素中的偏移语法元素的数目剖析偏移语法元素(460)。在一些实例中,在视频 解码器30剖析偏移语法元素时,视频解码器30针对偏移语法元素中的每一者执行固定 长度解码。固定长度解码还可被称为特殊模式的熵解码。类似地,固定长度编码还可被 称为特殊模式的熵编码。

视频解码器30可基于偏移语法元素确定多个经编码图片分区在NAL单元内的位置 (462)。在一些实例中,NAL单元的切片标头包含第一语法元素、第二语法元素及所述 系列偏移语法元素。在其它实例中,SEI消息包含第一语法元素、第二语法元素及所述 系列偏移语法元素。此外,视频解码器30可解码经编码图片分区(464)。

在一或多个实例中,所描述的功能可以硬件、软件、固件或其任何组合来实施。如 果以软件来实施,则所述功能可作为一或多个指令或程序代码而存储于计算机可读媒体 上或经由计算机可读媒体来传输,且通过基于硬件的处理单元来执行。计算机可读媒体 可包含计算机可读存储媒体或通信媒体,计算机可读存储媒体对应于例如数据存储媒体 等有形媒体,通信媒体包含促进计算机程序(例如)根据通信协定从一处传送到另一处的 任何媒体。以此方式,计算机可读媒体大体上可对应于(1)非暂时性的有形计算机可读存 储媒体或(2)例如信号或载波等通信媒体。数据存储媒体可为可由一或多个计算机或一或 多个处理器存取以检索用于实施本发明中所描述的技术的指令、程序代码及/或数据结构 的任何可用媒体。计算机程序产品可包含计算机可读媒体。

作为实例而非限制,此计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM 或其它光盘存储器、磁盘存储器或其它磁性存储装置、快闪存储器,或可用于存储呈指 令或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。而且,任何连 接可适当地称为计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、 数字用户线(DSL),或例如红外线、无线电及微波等无线技术而从网站、服务器或其它 远程源传输指令,则同轴缆线、光纤缆线、双绞线、DSL,或例如红外线、无线电及微 波等无线技术包含于媒体的定义中。然而,应理解,计算机可读存储媒体及数据存储媒 体不包含连接、载波、信号或其它暂时性媒体,而替代地针对非暂时性有形存储媒体。 如本文中所使用,磁盘及光盘包含紧密光盘(CD)、激光光盘、光盘、数字影音光盘(DVD)、 软盘及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘通过激光以光学方式再现 数据。以上各物的组合也应包含于计算机可读媒体的范围内。

可通过例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、 现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一或多个处理器来执行 指令。因此,如本文中所使用,术语“处理器”可指代前述结构或适于实施本文中所描 述的技术的任何其它结构中的任一者。另外,在一些方面中,可将本文所描述的功能性 提供于经配置以用于编码及解码的专用硬件及/或软件模块内,或并入于组合式编码解码 器中。而且,所述技术可完全实施于一或多个电路或逻辑元件中。

本发明的技术可实施于广泛多种装置或设备中,包含无线手持机、集成电路(IC)或 IC的集合(例如,芯片组)。本发明中描述各种组件、模块或单元以强调经配置以执行所 揭示的技术的装置的功能方面,但未必需要通过不同硬件单元实现。更确切地说,如上 文所描述,各种单元可组合于编码解码器硬件单元中或由交互操作的硬件单元的集合(包 含如上文所描述的一或多个处理器)结合合适软件及/或固件来提供。

已描述各种实例。这些及其它实例在所附权利要求书的范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号