低复杂性样本自适应偏移编码的制作方法

文档序号:10579296阅读:501来源:国知局
低复杂性样本自适应偏移编码的制作方法
【专利摘要】至少一个处理器经配置以使用样本自适应偏移SAO模式对图片的最大译码单元LCU的样本进行编码。为了使用SAO对所述LCU的所述样本进行编码,所述至少一个处理器经配置以:计算所述LCU的对应经重构样本与所述LCU的原始样本之间的差;从所述差中的每一者削减位的数目以形成经削减的差;将所述经削减的差求和以形成差的总和;削减所述差的总和以形成经削减的差的总和;计算所述经重构样本的数目;从所述经重构样本的数目削减位的数目以形成经削减的样本数目;以及将所述经削减的差的总和除以所述经削减的样本数目以产生用于所述LCU的偏移。
【专利说明】
低复杂性样本自适应偏移编码
[0001 ]本申请案主张2014年1月30日申请的第61/933,718号申请案的优先权,所述申请 案的全文W引用的方式并入本文中。
技术领域
[0002] 本发明设及视频译码,并且更确切地说设及用于样本自适应偏移(SAO)偏移编码 的技术。
【背景技术】
[0003] 数字视频能力可W并入到多种多样的装置中,包含数字电视、数字直播系统、无线 广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、平板计算机、电子图书阅读器、数 码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无 线电电话(所谓的"智能电话")、视频电话会议装置、视频串流装置及其类似者。数字视频装 置实施视频压缩技术,例如描述于W下各者中的那些技术:由MPEG-2、MPEG-4、口U-T H.263JTU-T H.264/MPEG-4第10部分高级视频译码(AVC)定义的标准、高效率视频译码 化EVC)标准,及此些标准的扩展。视频装置可W通过实施此类视频压缩技术来更有效率地 发射、接收、编码、解码及/或存储数字视频信息。
[0004] 视频压缩技术执行空间(图片内)预测及/或时间(图片间)预测来减少或去除视频 序列中固有的冗余。对于基于块的视频译码来说,视频切片(即,视频帖或视频帖的一部分) 可分割成视频块,所述视频块也可被称作树块、译码单元(CU)和/或译码节点。使用关于同 一图片中的相邻块中的参考样本的空间预测编码图片的经帖内译码(I)切片中的视频块。 图片的经帖间编码(P或B)切片中的视频块可使用相对于同一图片中的相邻块中的参考样 本的空间预测或相对于其它参考图片中的参考样本的时间预测。图片可被称作帖,且参考 图片可被称作参考帖。
[0005] 空间或时间预测导致待译码块的预测性块。残余数据表示待译码原始块与预测性 块的间的像素差。经帖间译码块是根据指向形成预测块的参考样本块的运动向量和指示经 译码块与预测块之间的差的残余数据编码的。根据帖内译码模式和残余数据来编码经帖内 译码块。为了进一步压缩,可将残余数据从像素域变换到变换域,从而产生残余变换系数, 可接着量化所述残余变换系数。可扫描一开始按二维阵列排列的经量化变换系数,W便产 生变换系数的一维向量,且可应用赌译码W实现更多压缩。

【发明内容】

[0006] 本发明描述与样本自适应偏移(SAO)滤波相关的技术。举例来说,本发明描述用于 减少用于视频编码器的SAO模式决策的复杂性的技术。大体上,本发明描述用于减少与当使 用SAO编码模式时对视频数据块(例如,经译码视频图片的最大译码单元化CU))进行编码相 关联的计算复杂性和存储器要求的技术。本发明还描述与确定用于LCU的SAO编码模式相关 的技术,W及与缓冲当使用SAO编码LCU时使用的LCU的样本相关的技术。本发明描述用于估 计且比较与不同SAO模式相关联的成本函数的速率失真成本且选择优化成本函数的模式的 技术。另外,本发明描述用于减少成本函数的计算复杂性的技术。
[0007] 在一个实例中,一种用于对视频数据进行解码的方法,所述方法包含:使用样本自 适应偏移(SAO)模式对图片的最大译码单元化CU)的样本进行编码。使用所述SAO模式对所 述LCU的所述样本进行编码包括:计算所述LCU的对应经重构样本与所述LCU的原始样本之 间的差;从所述差中的每一者削减位的数目W形成经削减的差;将所述经削减的差求和W 形成差的总和;削减所述差的总和W形成经削减的差的总和;计算所述经重构样本的数目; 从所述经重构样本的数目削减位的数目W形成经削减的样本数目;W及将所述经削减的差 的总和除W所述经削减的样本数目W产生用于所述LCU的偏移。
[0008] 在另一实例中,一种用于对视频数据进行编码的装置包含存储器和至少一个处理 器。所述至少一个处理器经配置W使用样本自适应偏移(SAO)模式对图片的最大译码单元 (LCU)的样本进行编码。为了使用所述SAO模式对所述LCU的所述样本进行编码,所述至少一 个处理器经配置W :计算所述LCU的对应经重构样本与所述LCU的原始样本之间的差;从所 述差中的每一者削减位的数目W形成经削减的差;将所述经削减的差求和W形成差的总 和;削减所述差的总和W形成经削减的差的总和;计算所述经重构样本的数目;从所述经重 构样本的数目削减位的数目W形成经削减的样本数目;W及将所述经削减的差的总和除W 所述经削减的样本数目W产生用于所述LCU的偏移。
[0009] 在另一实例中,一种用于对视频数据进行编码的方法包含确定用于LCU的至少一 个样本自适应偏移(SAO)模式,其中所述至少一个SAO模式包括W下各项中的至少一者:频 带偏移模式、边缘偏移模式、合并上方模式、合并左边模式和跳过模式。确定所述至少一个 SAO模式包括基于用于所述LCU的SAO模式的预定优先级而确定所述至少一个SAO模式。
[0010] 在另一实例中,一种用于对视频数据进行编码的装置包含存储器和至少一个处理 器。所述至少一个处理器经配置W确定用于LCU的至少一个样本自适应偏移(SAO)模式,且 所述至少一个SAO模式包括W下各项中的至少一者:频带偏移模式、边缘偏移模式、合并上 方模式、合并左边模式和跳过模式。确定所述至少一个SAO模式包括基于用于所述LCU的SAO 模式的预定优先级而确定所述至少一个SAO模式。
[0011] 附图及W下描述中陈述一或多个实例的细节。其它特征、目标和优点将从所述描 述和图式W及权利要求书而显而易见。
【附图说明】
[0012] 图1是说明可利用本发明中描述的技术的实例视频编码及解码系统的框图。
[OOK]图2A到2D是说明用于样本自适应偏移(SAO)译码的实例边缘偏移分类的概念图。
[0014] 图3是说明用于SAO译码的实例频带偏移分类的概念图。
[0015] 图4是说明可实施本发明中描述的技术的实例视频编码器的框图。
[0016] 图5是说明实例视频解码器的框图。
[0017] 图6是说明根据本发明的技术的用于确定SAO滤波模式的高级过程的概念图。
[0018] 图7是说明根据本发明的技术的用于执行明度SAO导出的过程的概念图。
[0019] 图8是说明根据本发明的技术的用于执行边缘偏移化0)明度SAO成本导出的过程 的流程图。
[0020] 图9是说明根据本发明的技术的用于执行明度频带偏移导出的过程的流程图。
[0021] 图10是说明根据本发明的技术的用于执行色度SAO导出的方法的流程图。
[0022] 图11是说明根据本发明的技术的用于执行边缘偏移色度导出的过程的流程图。
[0023] 图12是说明根据本发明的技术的用于执行频带偏移色度导出的过程的流程图。
[0024] 图13是说明根据本发明的技术的用于执行SAO滤波的过程的流程图。
[0025] 图14是说明根据本发明的技术的用于执行SAO滤波的过程的流程图。
[0026] 图15是说明当前LCU和相邻LCU的概念图。
[0027] 图16是说明根据本发明的技术的用于相对于当前LCU从LCU缓冲样本的技术的概 念图。
[0028] 图17是说明根据本发明的技术的视频编码器使用W导出样本自适应偏移参数的 样本的区的概念图。
[0029] 图18是说明根据本发明的技术的用于确定用于最大译码单元的SAO模式的过程的 流程图。
[0030] 图19是说明根据本发明的技术的用于确定用于最大译码单元的SAO模式的过程的 流程图。
【具体实施方式】
[0031] 本发明描述与样本自适应偏移(SAO)滤波相关的技术。举例来说,本发明描述用于 当使用SAO模式对视频数据的图片的LCU(最大译码单元)进行译码时减少计算复杂性且改 进位速率译码效率的技术。本发明还描述用于使用SAO对LCU进行编码的缓冲技术,W及用 于估计SAO模式的位速率且选择当对LCU进行编码时使用的SAO编码模式的技术。
[0032] SAO滤波是在视频译码中使用的一类环路滤波。当对LCU进行编码时,视频译码器 (即视频编码器或视频解码器)将偏移值应用于LCU的样本。一般来说,对视频数据的经译码 图片(例如,经重构图像)中的样本添加偏移值在一些情况下可增加经译码视频图片的图像 质量而不会极大地增加存储或发射经编码视频数据所需的位开销。潜在地由SAO滤波产生 的译码的改进可例如为经解码图像更接近地类似原始图像。SAO技术允许视频译码器取决 于像素(或块)分类度量而将不同偏移值应用于不同像素(或像素块),所述度量例如边缘度 量、频带度量或其它类型的度量。
[0033] 在一些实例中,视频译码器的SAO滤波器单元可经配置W执行两个类型的SAO滤 波,本发明中一般称为频带偏移(BO)滤波和边缘偏移化0)滤波。视频译码器的SAO滤波器单 元还可时常不应用偏移,其如下文中更详细地解释可自身被视为第=类型的SAO滤波。视频 译码器可显式地或隐式地用信号表示SAO滤波器单元应用的偏移滤波的类型。当应用边缘 偏移滤波时,视频译码器可基于译码单元的边缘信息对像素进行分类,且视频译码器基于 边缘分类而确定译码单元的像素(例如,色度和/或明度样本)的偏移。如下文中更详细地解 释,通常存在基于边缘的SAO的四个变化,其中将像素的值与其八个相邻像素中的两个进行 比较。视频译码器用于比较的两个相邻像素可取决于视频译码器选择基于边缘的偏移的哪 一种变化用于译码单元。基于像素之间的差的量值,视频译码器可对译码单元的像素添加 偏移。
[0034] 当应用频带偏移滤波时,视频译码器将译码单元的像素分类到直方图的不同频带 中。视频译码器基于像素的性质而分类像素,例如像素的强度值,其中每一频带具有相关联 偏移。每一频带可包含像素值范围。举例来说,O到255范围的像素值可划分成32个相等频带 (标记为O到31),W使得对于直方图的全部S十二个频带,像素值0-7是第一频带,像素值8- 15是第二频带,像素值16-23是第=频带,等等。视频译码器可使用所述频带W确定哪一特 定偏移值适用于像素或群组像素。举例来说,如果像素具有值1〇(其在W上实例中在第二频 带(即值8-15)内),那么视频译码器可将与第二频带相关联的特定偏移添加到像素值。
[0035] 除如上文所描述将像素分类为频带之外,视频译码器还可将频带分组为两个或更 多个群组W用于应用偏移值的目的。视频译码器可进一步将频带分组到两个群组中成为两 个群组(例如,两个十六频带的群组,四个频带的一个群组和二十八个频带的一个群组,八 个频带的一个群组和二十四个频带的一个群组,或其它此类分组)。频带的分组可用于确定 频带的偏移值在经编码视频位流中用信号表示的次序,和/或可用W确定特定频带是否具 有除零外的偏移值。视频译码器可使用差分译码技术用信号表示频带的偏移,其中将当前 值用信号表示为当前偏移值与先前偏移值之间的差。
[0036] 本发明可一般地称视频编码器向例如视频解码器等另一装置"用信号表示"某些 信息。然而,应理解,视频编码器可W通过使某些语法元素与视频数据的各种经编码部分相 关联来用信号表示信息。也就是说,视频编码器可W通过将某些语法元素存储到视频数据 的各种经编码部分的标头来"用信号表示"数据。在一些情况下,此些语法元素可在由视频 解码器接收且解码之前经编码且存储(例如,存储到计算机可读媒体)。因而,术语"用信号 表示"可能总体上指代用于解码经压缩的视频数据的语法或其它数据的通信,不论所述通 信是实时或几乎实时发生还是在一段时间中发生,例如可能在编码时将语法元素存储到媒 体上的时候发生,接着可W在存储到运个媒体上之后的任何时间由解码装置检索。
[0037] 在任何情况下,在高效率视频译码化EVC)标准中包含的一些技术中,SAO滤波可在 切片层级经启用和停用,且此外,SAO滤波可单独地针对明度和色度样本而经启用和停用。 举例来说,对于视频数据的特定切片,明度和色度样本两者可经SAO滤波;明度或色度样本 都不可经SAO滤波;或者明度和色度样本中的一者可经SAO滤波而另一者不可经SAO滤波。当 SAO滤波针对切片经启用时,则在最大译码单元化CU)层级用信号表示SAO类型和偏移值。
[0038] 如上文所介绍,SAO类型可包含频带偏移滤波、边缘偏移滤波或无SAO滤波。因此, 即使SAO滤波针对特定切片经启用,所述切片的一些LCU也不可经SAO滤波(即一些LC闲尋具 有无SAO滤波的SAO类型)。在一些情况下,W-系列合并旗标语法元素用信号表示SAO类型 和偏移值,其中第一合并旗标的真值指示偏移类型且LCU的偏移值是从左边相邻LCU继承, 且第二合并旗标的真值指示SAO类型且偏移值是从上方相邻(也被称作顶部相邻化CU继承。 如果两个合并旗标为假,那么视频译码器用信号表示指示用于LCU的新SAO类型和新偏移值 的语法元素。
[0039] 视频编码器(例如下文描述的视频编码器20)可经配置W减少与WSAO滤波编码视 频数据相关联的计算复杂性和/或存储器要求。一般来说,本发明可将"裁剪"称为数学函 数,其将数字的精度减少到指定最大数目的位(即规定的值范围)。裁剪功能可使用各种硬 件机构等,通过算术右移位、算术左移位、"与"运算、掩蔽、舍入来减少数字的精度。
[0040] 视频编码器(例如下文描述的视频编码器20)还可经配置W当从上述模式选择SAO 模式时使用本发明的技术。举例来说,根据本发明的技术,视频编码器20可经配置W确定用 于LCU的至少一个样本自适应偏移(SAO)模式。所述至少一个SAO模式可包括W下各项中的 至少一者:频带偏移模式、边缘偏移模式、合并上方模式、合并左边模式,和跳过模式。为了 确定所述至少一个SAO模式,视频编码器20可经配置W基于用于LCU的SAO模式的预定优先 级而确定所述至少一个SAO模式。
[0041] 图1是说明可利用本发明中描述的SAO编码技术的实例视频编码和解码系统10的 框图。如图1中所示,系统10包含源装置12,其产生在稍后时间待由目的地装置14解码的经 编码视频数据,且如将在下文更详细地描述,视频数据的此编码和解码可包含译码SAO模式 和/或偏移值。源装置12及目的地装置14可包括多种多样的装置中的任一者,包含桌上型计 算机、笔记型(即,膝上型)计算机、平板计算机、机顶盒、电话手持机(例如所谓的"智能"电 话)、所谓的"智能"平板计算机、电视机、相机、显示装置、数字媒体播放器、视频游戏控制 台、视频流式传输装置或类似者。在一些情况下,可装备源装置12和目的地装置14W用于无 线通信。
[0042] 目的地装置14可W经由链路16接收待解码的经编码视频数据。链路16可包括能够 将经编码视频数据从源装置12移动到目的地装置14的任何类型的媒体或装置。在一个实例 中,链路16可包括使得源装置12能够实时地将经编码视频数据直接发射到目的地装置14的 通信媒体。可根据通信标准(例如,无线通信协议)调制经编码的视频数据,并将其发射到目 的地装置14。通信媒体可包括任何无线或有线通信媒体,例如射频(RF)频谱或一或多个物 理传输线。通信媒体可形成分组网络(例如,局域网、广域网或全球网络,例如因特网)的部 分。通信媒体可包含路由器、交换器、基站或任何其它可用于促进从源装置12到目的地装置 14的通信的设备。
[0043] 替代性地,可将经编码数据从输出接口 22输出到存储装置34。类似地,可由输入接 口从存储装置34接入经编码数据。存储装置34可W包含多种分布式或本地存取的数据存储 媒体中的任一者,例如硬盘驱动器、蓝光光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性 存储器或用于存储经编码视频数据的任何其它合适的数字存储媒体。在另一实例中,存储 装置34可对应于可保持由源装置12产生的经编码视频的文件服务器或另一中间存储装置。 目的地装置14可经由流式传输或下载从存储装置34存取所存储的视频数据。文件服务器可 为能够存储经编码视频数据且将经编码视频数据发射到目的地装置14的任何类型的服务 器。实例文件服务器包含网络服务器(例如,用于网站)、FTP服务器、网络附接存储(NAS)装 置及本地磁盘驱动器。目的地装置14可W通过任何标准数据连接(包含因特网连接)来存取 经编码视频数据。此可包含无线信道(例如,Wi-Fi连接)、有线连接(例如,D化、电缆调制解 调器等),或适合于存取存储在文件服务器上的经编码视频数据的两者的组合。经编码的视 频数据从存储装置34的发射可为流式传输发射、下载发射或两者的组合。
[0044] 本发明的技术未必限于无线应用或设定。所述技术可应用于视频译码W支持多种 多媒体应用中的任一者,例如空中电视广播、有线电视发射、卫星电视发射、串流视频传输 (例如,经由因特网)、对数字视频编码W存储于数据存储媒体上、对存储于数据存储媒体上 的数字视频解码,或其它应用。在一些实例中,系统10可经配置W支持单向或双向视频传 输,W支持例如视频流式传输、视频重放、视频广播和/或视频电话等应用。
[0045] 在图1的实例中,源装置12包含视频源18、视频编码器20和输出接口 22。在一些状 况下,输出接口 22可包含调制器/解调器(调制解调器)及/或发射器。在源装置12中,视频源 18可包含例如视频俘获装置(例如,摄像机)、含有先前俘获的视频的视频存档、用于从视频 内容提供者接收视频的视频馈入接口及/或用于产生计算机图形数据作为源视频的计算机 图形系统,或此类源的组合等源。作为一个实例,如果视频源18为摄像机,那么源装置12及 目的地装置14可形成所谓的相机电话或视频电话。然而,本发明中所描述的技术一般来说 可适用于视频译码,且可应用于无线和/或有线应用。
[0046] 可由视频编码器20来编码所俘获视频、经预先俘获的视频或计算机产生的视频。 经编码视频数据可通过源装置12的输出接口 22直接发射到目的地装置14。还可(或替代地) 将经编码视频数据存储到存储装置34上W供稍后由目的地装置14或其它装置存取W用于 解码及/或回放。
[0047] 目的地装置14包含输入接口 28、视频解码器30及显示装置32。在一些情况下,输入 接口 28可包含接收器及/或调制解调器。目的地装置14的输入接口 28经由链路16接收经编 码视频数据。经由链路16传送或在存储装置34上提供的经编码视频数据可包含由视频编码 器20所产生的多种语法元素W供由例如视频解码器30的视频解码器用于解码视频数据。此 类语法元素可与在通信媒体上发射、存储于存储媒体上或存储文件服务器的经编码视频数 据包含在一起。
[004引显示装置32可与目的地装置14一起集成或在目的地装置外部。在一些实例中,目 的地装置14可包含集成显示装置,且还经配置W与外部显示装置介接。在其它实例中,目的 地装置14可为显示装置。一般来说,显示器装置32将经解码视频数据显示给用户,且可包括 多种显示器装置中的任一者,例如液晶显示器化CD)、等离子显示器、有机发光二极管 (OLED)显示器或另一类型的显示器装置。
[0049] 视频编码器20和视频解码器30可根据视频压缩标准(例如最近标准化的高效率视 频译码化EVC)标准)来操作,且可符合皿VC测试模型(歷)。2013年4月的文献ITU-T H. 265, 系列H:视听和多媒体系统,视听服务的基础结构-移动视频的译码,"高效率视频译码",称 为"HEVC标准"。
[0050] 或者,视频编码器20和视频解码器30可根据其它专有或业界标准来操作,所述标 准例如是ITU-T H. 264标准,也被称为MPEG-4第10部分高级视频译码(AVC),或此类标准的 扩展。但是,本发明的技术不限于任何特定译码标准。视频压缩标准的其它实例包含MPEG-2 和ITU-T H.263。
[0051] 尽管图1中未图示,在一些方面中,视频编码器20和视频解码器30可各自与音频编 码器及解码器集成,且可包含适当多路复用器-多路分用器单元或其它硬件和软件W处置 共同数据流或单独数据流中的音频和视频两者的编码。在一些实例中,如果适用的话,那么 多路复用器-多路分用器单元可W符合ITU H.223多路复用器协议,或例如用户数据报协议 (UDP)等其它协议。
[0052] 视频编码器20和视频解码器30各自可实施为多种合适的编码器电路中的任一者, 例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程口阵列 (FPGA)、离散逻辑、软件、硬件固件或其任何组合。当部分地用软件实施所述技术时,装置可 将用于所述软件的指令存储在合适的非暂时计算机可读媒体中,且使用一或多个处理器用 硬件执行所述指令W执行本发明的技术。视频编码器20和视频解码器30中的每一者可包含 在一或多个编码器或解码器中,所述编码器或解码器中的任一者可集成为相应装置中的组 合编码器/解码器(编解码器)的部分。
[0053] 肥VC标准化努力是基于被称作肥VC测试模型化M)的视频译码装置的模型。HM根据 (例如HTU-T H.264/AVC假设视频译码装置相对于现存装置的若干额外能力。举例来说,虽 然H.264提供九种帖内预测编码模式,但HM可提供多达=十=种帖内预测编码模式。
[0054] -般来说,歷描述视频帖或图片可划分成包含明度及色度样本两者的树块或最大 译码单元化CU)的序列。树块具有与H.264标准的宏块类似的目的。切片包含按译码次序的 若干连续树块。视频帖或图片可W被分割成一或多个切片。每一树块可W根据四叉树分裂 成译码单元(CU)。举例来说,作为四叉树的根节点的树块可分裂成四个子节点,且每一子节 点又可为父代节点且可分裂成另外四个子节点。最终未分裂子节点作为四叉树的叶节点包 括译码节点,即经译码视频块。与经译码位流相关联的语法数据可界定树块可分裂的最大 次数,且还可界定译码节点的最小大小。
[0055] CU包含译码节点和与所述译码节点相关联的预测单元(PU)和变换单元(TU)XU的 大小对应于译码节点的大小并且形状必须是正方形。CU的大小可介于8X8个像素至多达具 有最大64 X 64个像素或更大的树块大小的范围内。每一CU可W含有一或多个PU和一或多个 TU。举例来说,与CU相关联的语法数据可描述CU分割成一或多个PU。分割模式可在CU被跳过 或经直接模式编码、经帖内预测模式编码或经帖间预测模式编码之间有所不同。PU可W分 割成非正方形形状。举例来说,与CU相关联的语法数据还可描述OJ根据四叉树到一或多个 TU的分割。TU可为正方形或非正方形形状。
[0056] 皿VC标准允许根据TU变换,TU可针对不同CU而有所不同。TU的大小通常是基于针 对经分割LCU定义的给定CU内的PU的大小而确定,但是情况可能并不总是如此。TU通常与PU 大小相同或小于PU。在一些实例中,可W使用被称为"残余四叉树"(RQT)的四叉树结构将对 应于CU的残余样本细分成较小单元。RQT的叶节点可被称为变换单元(TU)。可W变换与TU相 关联的像素差值W产生变换系数,所述变换系数可经量化。
[0057] -般来说,PU包含与预测程序有关的数据。例如,当PU经帖内模式编码时,PU可W 包含描述PU的帖内预测模式的数据。作为另一实例,当PU经帖间模式编码时,PU可包括限定 PU的运动向量的数据。界定PU的运动向量的数据可描述(例如)运动向量的水平分量、运动 向量的垂直分量、运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动 向量所指向的参考图片,及/或运动向量的参考图片列表(例如,列表0、列表1或列表C)。
[005引一般来说,TU用于变换及量化过程。具有一或多个PU的给定CU还可W包含一或多 个变换单元(TU)。在预测之后,视频编码器20可计算对应于PU的残余值。残余值包括像素差 值,所述像素差值可变换成变换系数、经量化且使用TU进行扫描W产生串行化变换系数W 用于赌译码。本发明通常使用术语"视频块"来指代CU的译码节点。在一些特定情况下,本发 明还可使用术语"视频块"来指包含译码节点W及PU及TU的树块,即,LCU或CU。
[0059]视频序列通常包含一系列视频帖或图片。图片群组(GOP) -般包括一系列一或多 个视频图片。GOP可包含GOP的标头、所述图片中的一或多个的标头或其它地方中的语法数 据,其描述GOP中包含的图片的数目。图片的每一切片可包含描述用于相应的切片的编码模 式的切片语法数据。视频编码器20通常对个别视频切片内的视频块进行操作W便对视频数 据进行编码。视频块可与CU内的译码节点相对应。视频块可具有固定或变化的大小,并且根 据指定译码标准可在大小上有所不同。
[0060] 作为实例,HM支持各种PU大小的预测。假设特定CU的大小为2NX2N,那么歷支持2N X 2N或N X N的PU大小的帖内预巧U,及2N X 2N、2N X N、N X 2N或N X N的对称PU大小的帖间预 。HM还支持用于在2N X nU、2N X nD、nL X 2N及nR X 2N的PU大小下的帖间预测的不对称分 害d。在不对称分割中,不分割CU的一个方向,但是将另一方向分割成25%和75%。〇]的对应 于25 %分区的部分通过"n"继之W "上"、"下"、"左"或"右"的指示来指示。因而,举例来说, "2NXnlf是指水平地分割的2NX2N CU,其中顶部为2NX0.5N PU,且底部为2NX1.5N PU。
[0061] 在本发明中,"N X N"与"N乘N"可互换使用来指代在垂直和水平尺寸方面的视频块 的像素尺寸,例如,16 X 16像素或16乘16像素。大体来说,16x16块将在垂直方向上具有16个 像素(y = 16),且在水平方向上具有16个像素(x = 16)。同样,NxN块总体上在垂直方向上具 有N个像素,并且在水平方向上具有N个像素,其中N表示非负整数值。块中的像素可布置成 行和列。此外,块未必需要在水平方向上与在竖直方向上具有相同数目个像素。举例来说, 块可包括NxM个像素,其中M未必等于N。
[0062] 在使用CU的PU进行帖内预测性或帖间预测性译码之后,视频编码器20可W计算用 于CU的TU的残余数据。PU可包括空间域(还称为像素域)中的像素数据,且TU在将变换应用 到残余视频数据之后可包括变换域中的系数,所述变换例如离散余弦变换(DCT)、整数变 换、小波变换或概念上类似的变换。残余数据可对应于未经编码图片的像素与对应于PU的 预测值之间的像素差。视频编码器20可W形成包含用于CU的残余数据的TU,并且接着变换 TUW产生用于CU的变换系数。
[0063] 在用于产生变换系数的任何变换之后,视频编码器20可执行变换系数的量化。量 化大体上指代对变换系数进行量化W可能减少用W表示系数的数据的量从而提供进一步 压缩的过程。量化过程可W减少与系数中的一些或全部相关联的位深度。例如,n位值可在 量化期间被下舍入到m位值,其中n大于m。
[0064] 在一些实例中,视频编码器20可利用预定义扫描次序来扫描经量化的变换系数W 产生可被赌编码的串行化向量。在其它实例中,视频编码器20可W执行自适应扫描。在扫描 经量化变换系数W形成一维向量之后,视频编码器20可W例如根据上下文自适应可变长度 译码(CA化C)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算 术译码(SBAC)、概率区间分割赌(PIPE)译码或另一赌编码方法对所述一维向量进行赌编 码。视频编码器还20也可赌编码与经编码视频数据相关联的语法元素W供视频解码器30在 解码视频数据时使用。
[0065] 为了执行CABAC,视频编码器20可向待发射的符号指派上下文模型内的上下文。上 下文可设及(例如)符号的相邻值是否为非零。为了执行CA化C,视频编码器20可选择用于待 发射的符号的可变长度码。VLC中的码字可经构造使得相对较短码对应于更有可能符号,而 较长码对应于不太可能符号。W此方式,使用化C可例如实现优于针对待发射的每一符号使 用等长度码字的位节省。概率确定可基于指派到符号的上下文。
[0066] SAO译码也包含在皿VC标准中。一般来说,对视频图片中的像素添加偏移值可改善 经重构视频质量,而不会极大地增加存储或发射经编码视频数据所需的译码位开销。SAO技 术允许例如视频编码器20和/或视频解码器30等视频译码器取决于像素(或块)分类度量而 应用不同偏移值W应用于不同像素(或块)。可能的分类度量包含例如边缘度量和频带度量 等活动性度量。偏移分类的描述可参见C.-M.傅、C.-Y.陈、C.-Y.蔡、Y.-W.黄、S.雷的"CE13: 具有不依赖LCU的解码的样本自适应偏移(CE13: Sample Adaptive Offset with LCU- Ind巧endent Decodingr JCT-VC工作成果E049,日内瓦,2011 年2月Tc.-M.傅等人")。
[0067] 在根据皿VC标准的SAO实施方案中,每一分区(其可由若干块组成,例如LCU的集 合)可具有五个SAO模式中的一者,其也被称作像素分类。视频编码器(例如视频编码器20) 可基于LCIKLCU可采取16 X 16、32 X 32或64 X64的大小)选择性启用SAO处理。如果SAO处理 经启用,那么视频编码器20可W五个SAO选项中的一者处理LCU分量(Y,Cb,化)。视频编码器 20用信号表示语法值"sao_type_idx_luma"和"sao_type_idx_ch;roma"的值W向视频解码 器30指示哪一模式将分别应用于选定LCU的明度和色度通道。
[0068] 第一模式是"边缘偏移"(EO)。如果视频编码器20选择此模式,那么视频编码器20 用信号表示sao_type_idx_luma/ch;roma = 2。另外,视频编码器20用信号表示基于sao_eo_ class_luma和sao_eo_class_ch;roma语法值而选择四个可能的边缘分类器(参见下文展示 的表1)中的一者,其在下文更详细地论述。当选择EO模式时,视频编码器20将LCU中的像素 分类为五个可能的类别中的一者。那些类别中的四者具有非零偏移,其可显式地在位流中 用信号表示。视频编码器20随后将运些偏移添加到属于相应类别的像素。
[0069] 第二模式是"频带偏移"(BO),视频编码器20通过设定sao_type_idx_luma/ch;roma =1来用信号表示所述模式。在此模式中,视频编码器20将LCU中的像素分类为32个可能的 类别(频带)。根据本发明的技术,视频编码器20可通过使像素中的每一者的强度右移位3位 (对于具有8位强度值的像素)而将像素分类为32个频带。那32个频带中仅四个连续频带的 群组将具有非零偏移,视频编码器20在位流中显式地用信号表示此情形。视频编码器20将 用信号表示的非零偏移中的第一者的位置用信号表示为语法元素sao_band_position。视 频编码器20随后将每一偏移添加到属于相关联频带的像素。
[0070] 在也被称作"跳过模式"的下一模式中,视频编码器20不应用处理且视频编码器20 用信号表示等于零的sao_type_idx_luma/ch;roma。在此模式中,视频编码器20使当前LCU的 像素保持不变,且SAO充当从解块块/单元一直到经解码图片缓冲器(DPB)(也被称作"参考 图片存储器"或简称为"存储器",如下相对于图4所述)的像素输出的通路。
[0071] 在称为"合并左边"模式的第四模式中,视频编码器20将左边相邻LCU的SAO参数应 用于当前LCU的像素(其中左边相邻LCU是直接定位于当前正译码的LCU的左边的LCU)。当视 频编码器20选择此模式时,视频编码器20将sao_merge_left_flag的值设定为等于一。在称 为"合并上方"模式的第五模式中,视频编码器20将上方相邻LCU的SAO参数应用于当前LCU 的像素(其中上方相邻LCU是直接定位于当前正译码LCU上方的LCU)。在此模式中,视频编码 器20将sao_merge_left_f lag的值设定为等于0,且将sao_merge_up_f lag的值设定为等于 Io
[0072] 图2A到2D是展示皿VC标准中当前包含的四个可能的边缘偏移分类的概念图。边缘 偏移类型基于边缘信息分类每一像素,且使用滤波器形状分类当前LCU的每一像素,其由语 法元素sao_eo_class标引。所述四个可能的滤波器形状包含:水平(类0),垂直(类1),135度 (类2)和45度(类3),其分别在图2A到2D中展示。
[0073] 视频编码器20针对每一像素重复分类操作recPicture[xC+i ,yC+j]。在LCU中,分 量(xC,yC)是LCU的左上样本的坐标,且对于示范性32 X 3化CU,针对明度i =0-.31且J = O--- 31,且针对色度i = 0..?15且j = 0..?15。视频编码器20使用连同当前样本recPic化re[xC+i, yC+j]-起使用两个相邻像素'6。口;[(31:11'6[此+1+11口03比],7〔+^'+¥化3比]],其中4 = 0...1。^ 下表1中界定表示为hPos和vPos的相邻像素的坐标。
[0074]
[00巧]表1 -针对不同sao_eo_c Ias S值的滤波器分支的坐标
[0076] 在表2的前两行中展示分类操作。视频编码器20执行的此操作将当前像素分类为 W下表3中所示的五个可能的类别中的一者。在分类期间,视频编码器20为当前LCU的每一 像素指派从0到4的范围的索引。视频编码器20在位流中针对具有Wl到4标引的四个类别发 送任何非零偏移。给定当前像素的类别索引(edgeTable[edgeIdx]),视频编码器20将适当 偏移应用于像素,如表2的第S行中所示。参数SaoValueArray具有5个条目,其全部W零值 初始化。条目1到4W位流中用信号表示的偏移值填充。
[0077]
[G…0」 注里^'勺们^半口心
脚";1
[0079] 对于图2A到2D中所示的边缘分类中的每一者,视频编码器20通过将当前像素(C) 的值与相邻像素(1和2)的值进行比较而计算当前像素的边缘类型。图2A说明分类零(sao_ eo_class = 0)的水平边缘偏移。在图2A中,视频编码器20将当前像素(像素C)与左边相邻像 素(像素1)和右边相邻像素(像素2)进行比较。图2B说明分类(sao_eo_class = l)的垂直SAO 边缘偏移。在图2B的分类中,视频编码器20将当前像素(像素C)与上方相邻像素(像素1)和 下方相邻像素(像素2)进行比较。对于图2C中所示的135度SAO边缘偏移分类(sao_eo_class =2),视频编码器20将当前像素(像素C)与左上方相邻像素(像素1)和右下方相邻像素(像 素2)进行比较。对于图2D中所示的45度SAO边缘偏移分类(sao_eo_class = 3),视频编码器 20将当前像素(像素C)与右上方相邻像素(像素1)和左下方相邻像素(像素2)进行比较。
[0080] 所述四个边缘偏移分类可各自带有具有范围从0到4的五个可能的整数值的边缘 类型。初始地,当前像素的边缘类型假定为零。如果当前像素C的值等于左边和右边相邻像 素(1和2)的值,那么C的边缘类型等于零。如果C的值小于两个相邻像素的值,那么C的边缘 类型等于一。如果当前像素C的值小于相邻像素中的一者,且C等于另一像素的值,那么边缘 类型等于二。如果当前像素C的值大于一个相邻像素的值且C等于另一相邻像素的值,那么 边缘类型等于=。如果当前像素C的值大于两个相邻像素值的值,那么边缘类型等于四。表3 概括了基于当前像素(P)与相邻像素的比较的EO分类类别。 「00811
L UUfSZ」 巧3-化应用bU分失帯之旧的分失失別
[0083] 视频编码器20将同一通道(即Y、Cr或化通道)中的样本分类到上述五个类别中的 一者中,且确定将应用于所述类别中的每一者中的像素中的每一者的偏移。视频编码器20 基于速率失真成本函数而选择五个EO模式中的一者W用于当前LCU,且在经译码视频位流 中用信号表示类别W及用于选定EO类别的偏移值。
[0084] 为了确定施加于用于每一边缘类的CU的偏移,视频编码器20确定W特定边缘类分 类的CU的原始样本与具有同一边缘类的块的经重构样本之间的差的总和。根据本发明的技 术,为了减少存储器要求,视频编码器20可将所述差的位宽削减(例如,减少)到[-32,31]的 范围,W使得6个位是减少原始样本与经重构样本之间的每一差的足够位数目。在将每一6 位削减差值添加到差的总和之后,视频编码器20进一步将差的总和削减到[-4095,4095]的 范围W便将表示差的总和需要的位数目减少到13位。
[0085] 作为确定用于属于边缘类的像素的偏移值的部分,视频编码器20计算属于所述边 缘类的经重构样本的数目,且将所述样本数目的值削减到范围[0,1023],W使得10位表示 属于所述边缘类的像素的数目。
[0086] 接着,视频编码器20将削减的差的总和除W样本的数目W确定用于边缘类的偏移 值。然而,为了改善所述除法的性能,视频编码器20可通过迭代减法执行除法。作为迭代减 法的部分,视频编码器20可将临时变量设定为等于经削减的差的总和的绝对值。视频编码 器20接着可从等于经削减的差的总和的绝对值的变量迭代地减去样本数目直到所得的差 小于或等于零。用于LCU的偏移随后等于执行的迭代减法的数目。
[0087] 因此,根据本发明的技术,视频编码器20可经配置W使用样本自适应偏移(SAO)模 式对图片的最大译码单元化CU)的样本进行编码。为了使用SAO模式对LCU的样本进行编码, 所述至少一个处理器经配置W :计算LCU的对应经重构样本与LCU的原始样本之间的差,从 所述差中的每一者削减位的数目W形成经削减的差,对经削减的差进行求和W形成差的总 和,削减所述差的总和W形成经削减的差的总和。视频编码器20可进一步经配置W计算经 重构样本的数目,从经重构样本的数目削减位的数目W形成经削减的样本数目,且将经削 减的差的总和除W经削减的样本数目W产生用于LCU的偏移。
[0088] 当对经EO滤波LCU进行解码时,视频解码器30基于经译码视频位流中接收的值确 定偏移和EO类别。视频解码器30将偏移应用于LCU的被分类为属于用信号表示的EO类别的 样本。
[0089] 本发明描述用于减少确定用于EO类别中的每一者的偏移的计算复杂性的技术,如 下文更详细描述。
[0090] 图3是展示可在频带偏移(BO)SAO滤波中使用的实例频带的概念图。图3中的每一 矩形表示一个频带。图3的实例展示32个频带,即频带0-31,且所述频带中的一些(例如频带 0、频带8、频带12、频带15、频带24和频带31)已经标记。对于基于频带的偏移,基于例如强度 值等像素值将像素分类到不同频带中。出于实例的目的,假定像素值从0到255变动(例如, 针对具有8位位深的样本),但也可W使用例如0到1023等其它范围(例如,当像素具有10位 位深时)。在此实例中,图3中所示的最大值将等于255,且图3中所示的=十二个频带中的每 一者将具有8的范围。最左边频带(即图3中的频带0)可含有具有强度值0到7的像素,下一频 带(即图3中的频带1)可含有具有强度值8到15的像素,下一频带(即频带2)可含有具有强度 值16到23的像素等等,直到到达最右边频带(即图3中的频带31),其可含有具有强度值248 到255的像素。
[0091] 当编码时,例如视频编码器20的编码器确定四个频带范围W及用W从落在所述选 定四个频带范围中的像素中的每一者添加或减去的对应偏移。视频编码器20可通过在一些 实例中使当前过程通道中的每一像素的强度算术右移位=个位(>>3)而确定每一频带中 的像素的数目。视频编码器20仅用信号表示最左边频带的索引,且视频解码器30基于用信 号表示的最左边频带而确定接下来=个右边相邻频带也应具有施加的偏移。W此方式,与 指示频带或频带的数目相关联的信令可减少(对比用信号表示频带中的每一者)。
[0092] 在图3的实例中,视频编码器20已确定的四频带范围开始于频带12,且结束于频带 15。视频编码器20用信号表示待滤波的最左边频带的索引(图13中展示为开始索引12),且 视频解码器30基于用信号表示的索引而确定频带12到15中的样本将具有施加的偏移。视频 编码器20还确定且用信号表示用于四个频带中的每一者的偏移,且视频解码器30将所述偏 移应用于频带12到15中的样本。
[0093] 为了确定与四个频带中的每一者相关联的偏移,视频编码器20可利用类似于上文 相对于图2A到2D描述的过程的过程。即,视频编码器20可确定原始像素值与经重构像素值 之间的差值,削减所述差值且相加所述经削减的差值W产生差的总和,视频编码器20还可 进行削减W产生经削减的差的总和。视频编码器20还可计算属于每一频带的像素的数目且 削减差的数目W产生经削减的像素数目。为了确定偏移值,视频编码器20可如上文所描述 使用迭代减法将差的总和除W像素数目。
[0094] 下文更详细地描述用于降低执行频带偏移滤波的复杂性的额外技术。
[00%]图4是说明可实施本发明中描述的技术的实例视频编码器20的框图。视频编码器 20可执行视频切片内的视频块的帖内和帖间译码。帖内译码依赖于空间预测来减少或去除 给定视频帖或图片内的视频中的空间冗余。帖间译码依赖于时间预测来减少或去除视频序 列的邻近帖或图片内的视频中的时间冗余。帖内模式(I模式)可指若干基于空间压缩模式 中的任一者。例如单向预测(P模式)或双向预测(B模式)的帖间模式可指代若干基于时间的 压缩模式中的任一者。
[0096]在图4的实例中,视频编码器20包含分割单元35、预测处理单元41、求和器50、变换 处理单元52、量化单元54、赌编码单元56 W及存储器64。预测处理单元41包含运动估计单元 42、运动补偿单元44及帖内预测单元46。为了视频块重构,视频编码器20还包含逆量化单元 58、逆变换处理单元60、求和器62、解块滤波器单元72、SA0单元74和自适应环路滤波器 (ALF)76。虽然解块滤波器单元72、SAO单元74和ALF 76在图4中展示为环路内滤波器,但在 其它配置中,解块滤波器单元72、SAO单元74和ALF 76可实施为环路后滤波器。此外,虽然出 于解释的目的单独地展示且描述,但滤波单元可高度集成。
[0097] 如图4中所展示,视频编码器20接收视频数据,且分割单元35将数据分割成视频 块。此分割还可包含分割成切片、瓦片或其它较大单元,W及例如根据LCU及CU的四叉树结 构的视频块分割。视频编码器20-般说明编码待编码的视频切片内的视频块的组件。所述 切片可W分成多个视频块(并且可能分成被称作切片的视频块集合)。预测处理单元41可基 于错误结果(例如,译码速率及失真等级)针对当前视频块选择多种可能译码模式中的一 者,例如,多种帖内译码模式中的一者或多种帖间译码模式中的一者。预测处理单元41可将 所得经帖内或帖间译码块提供到求和器50W产生残余块数据,并提供到求和器62W重构经 编码块W用作参考图片。
[0098] 预测处理单元41内的帖内预测单元46可相对于与待译码当前块在相同的帖或切 片中的一或多个相邻块执行当前视频块的帖内预测性译码,W提供空间压缩。预测处理单 元41内的运动估计单元42及运动补偿单元44相对于一或多个参考图片中的一或多个预测 块执行当前视频块的帖间预测性译码W提供时间压缩。
[0099] 运动估计单元42可经配置W根据用于视频序列的预定模式来确定用于视频切片 的帖间预测模式。预定模式可将序列中的视频切片标明为P切片、B切片或GPB切片。运动估 计单元42和运动补偿单元44可高度集成,但出于概念的目的分别加W说明。运动估计单元 42执行的运动估计是产生运动向量的过程,所述过程估计视频块的运动。举例来说,运动向 量可W指示当前视频帖或图片内的视频块的PU相对于参考图片内的预测块的移位。
[0100] 预测块是被发现在像素差方面与待译码视频块的PU密切匹配的块,所述像素差可 通过绝对差总和(SAD)、平方差总和(SSD)或其它差异度量来确定。在一些实例中,视频编码 器20可计算存储于存储器64中的参考图片的子整数像素位置的值。举例来说,视频编码器 20可内插参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因 此,运动估计单元42可相对于全像素位置和分数像素位置执行运动捜索并且输出具有分数 像素精度的运动向量。
[0101] 运动估计单元42通过比较PU的位置与参考图片的预测性块的位置来计算用于经 帖间译码切片中的视频块的PU的运动向量。参考图片可W选自第一参考图片列表(列表0) 或第二参考图片列表(列表1),其中的每一个识别存储在存储器64中的一个或多个参考图 片。运动估计单元42向赌编码单元56和运动补偿单元44发送计算出的运动向量。
[0102] 通过运动补偿单元44执行的运动补偿可W设及基于通过运动估计(可能执行对子 像素精确度的内插)确定的运动向量获取或产生预测性块。在接收到当前视频块的PU的运 动向量后,运动补偿单元44可在参考图片列表中的一者中定位所述运动向量指向的预测 块。视频编码器20通过从正被译码的当前视频块的像素值减去预测性块的像素值来形成残 余视频块,从而形成像素差值。像素差值形成用于所述块的残余数据,且可包含明度及色度 差分量两者。求和器50表示执行此减法运算的一或多个组件。运动补偿单元44还可产生与 视频块和视频切片相关联的语法元素W供视频解码器30在对视频切片的视频块解码时使 用。
[0103] 作为如上文所描述的由运动估计单元42和运动补偿单元44执行的帖间预测的替 代方案,帖内预测单元46可W对当前块进行帖内预测。具体来说,帖内预测单元46可W确定 用于对当前块进行编码的帖内预测模式。在一些实例中,帖内预测单元46可W例如在单独 编码遍次期间使用各种帖内预测模式对当前块进行编码,并且帖内预测单元46(或在一些 实例中为模式选择单元40)可W从所述测试模式中选择适当帖内预测模式来使用。举例来 说,帖内预测单元46可使用速率-失真分析计算针对各种测试的帖内预测模式的速率-失真 值,且从所述测试的模式当中选择具有最好速率失真特性的帖内预测模式。速率失真分析 一般确定经编码块与经编码W产生所述经编码块的原始的未经编码块之间的失真(或误 差)的量,W及用于产生经编码块的位速率(也就是说,位数目)。帖内预测单元46可W根据 用于各种经编码块的失真和速率计算比率,W确定哪个帖内预测模式对于所述块展现最佳 速率失真值。
[0104] 在任何情况下,在选择了用于一个块的帖内预测模式之后,帖内预测单元46可W 将指示用于所述块的选定帖内预测模式的信息提供到赌编码单元56。视频编码器20在发射 的位流中可包含配置数据,其可包含多个帖内预测模式索引表及多个经修改的帖内预测模 式索引表(也称为码字映射表),对用于各种块的上下文进行编码的定义,及对最可能帖内 预测模式、帖内预测模式索引表及经修改的帖内预测模式索引表的指示W用于所述上下文 中的每一者。
[0105] 在预测处理单元41经由帖间预测或帖内预测产生当前视频块的预测性块之后,视 频编码器20通过从当前视频块减去预测性块而形成残余视频块。残余块中的残余视频数据 可包含在一或多个TU中并应用于变换处理单元52。变换处理单元52使用例如离散余弦变换 (DCT)或概念上类似的变换等变换将残余视频数据变换成残余变换系数。变换处理单元52 可将残余视频数据从像素值域转换到变换域,例如频域。
[0106] 变换处理单元52可将所得变换系数发送到量化单元54。量化单元54可量化所述变 换系数W进一步减小位速率。量化过程可W减少与系数中的一些或全部相关联的位深度。 可W通过调整量化参数来修改量化程度。在一些实例中,量化单元54可W接着执行对包含 经量化的变换系数的矩阵的扫描。替代地,赌编码单元56可执行扫描。
[0107] 在量化之后,赌编码单元56对经量化变换系数进行赌编码。举例来说,赌编码单元 56可执行上下文自适应可变长度译码(CA化C)、上下文自适应二进制算术译码(CABAC)、基 于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割赌(PIPE)译码或另一赌译码 方法或技术。在由赌编码单元56赌编码之后,经编码位流可发射到视频解码器30,或经存档 W供稍后发射或由视频解码器30检索。赌编码单元56还可对正译码的当前视频切片的运动 向量和其它语法元素进行赌编码。
[0108] 逆量化单元58及逆变换处理单元60分别应用逆量化及逆变换W在像素域中重构 残余块,W供稍后用作参考图片的参考块。运动补偿单元44可通过将残余块添加到参考图 片列表中的一者内的参考图片中的一者的预测性块中来计算参考块。运动补偿单元44还可 将一或多个内插滤波器应用于所重构的残余块W计算子整数像素值用于运动估计。求和器 62将经重构残余块加到由运动补偿单元44产生的经运动补偿的预测块W产生参考块W用 于存储在存储器64中。参考块可由运动估计单元42和运动补偿单元44用作参考块W对在后 一视频帖或图片中的块进行帖间预测。
[0109] 在存储于存储器64中之前,视频编码器20可使用一或多个滤波器对经重构残余块 进行滤波。举例来说,可W应用解块滤波器72W对经重构残余块进行滤波W便去除成块假 象。例如ALF 76和SAO 74等其它环路滤波器(在译码环路中或在译码环路之后)也可W用W 平滑像素转变,或另外改善视频质量。参考块在由解块滤波器单元72、SA0单元74和ALF单元 76中的一或多者滤波之后可由运动估计单元42和运动补偿单元44使用作为参考块来帖间 预测后续视频帖或图片中的块。
[0110] SAO单元74可W改善视频译码质量的方式确定用于SAO滤波的偏移值。改善视频译 码质量可例如设及确定使经重构图像更接近地匹配原始图像的偏移值。视频编码器20可例 如使用具有不同SAO类型和不同偏移值的多个遍次对视频数据进行译码,且选择如基于所 需速率失真折衷所确定的提供最佳译码质量的SAO类型和偏移值W用于包含在经编码位流 中。
[0111] 在一些配置中,SAO单元74可经配置W应用两个类型的偏移(例如,频带偏移和边 缘偏移),如上文所描述。SAO单元74还可经常不应用偏移,其可被视为第S类型的偏移。SAO 单元74应用的偏移的类型可显式地或隐式地向视频解码器用信号表示。当应用边缘偏移 时,像素可根据图2A到2D基于边缘信息而分类,且可基于边缘分类而确定偏移值。当应用基 于频带的偏移时,SAO单元74可基于例如强度值等像素值将像素分类到不同频带中,其中每 一频带具有相关联偏移,如相对于图3所描述。
[0112] 根据本发明的一个方面,SAO单元74可经配置W使用样本自适应偏移(SAO)模式对 图片的最大译码单元化CU)的样本进行编码。为了使用SAO模式对LCU的样本进行编码,SAO 单元74可经配置W计算LCU的对应经重构样本与LCU的原始样本之间的差,从所述差中的每 一者削减位数目W形成经削减的差,将经削减的差求和W形成差的总和,削减所述差的总 和W形成经削减的差的总和,计算经重构样本的数目,从经重构样本的数目削减位数目W 形成经削减的样本数目,且将经削减的差的总和除W经削减的样本数目W产生用于LCU的 偏移。
[0113] 根据本发明的另一方面,SAO单元74可经配置W确定用于LCU的至少一个样本自适 应偏移(SAO)模式。所述至少一个SAO模式可包括W下各项中的至少一者:频带偏移模式、边 缘偏移模式、合并上方模式、合并左边模式,和跳过模式。为了确定所述至少一个SAO模式, SAO单元74可经配置W基于用于LCU的SAO模式的预定优先级而确定所述至少一个SAO模式。
[0114] 图5是说明实例视频解码器30的框图。在图5的实例中,视频解码器30包含赌解码 单元80、预测处理单元81、逆量化单元86、逆变换处理单元88、求和器90、解块滤波器单元 93、SA0单元94、ALF单元95和参考图片存储器92。预测处理单元81包含运动补偿单元82和帖 内预测处理单元84。在一些实例中,视频解码器30可执行大体上与关于来自图4的视频编码 器20描述的编码遍次互逆的解码遍次。
[0115] 在解码过程期间,视频解码器30从视频编码器20接收表示经编码视频切片的视频 块及相关联的语法元素的经编码视频位流。视频解码器30的赌解码单元80对位流进行赌解 码W产生经量化系数、运动向量和其它语法元素。赌解码单元80将运动向量及其它语法元 素转发到预测处理单元81。视频解码器30可在视频切片层级和/或视频块层级接收语法元 素。
[0116] 当视频切片被译码为经帖内译码(I)切片时,预测处理单元81的帖内预测处理单 元84可基于用信号表示的帖内预测模式及来自当前帖或图片的先前经解码块的数据产生 用于当前视频切片的视频块的预测数据。当将视帖帖译码为经帖间译码(即,B、P或GPB)切 片时,预测处理单元81的运动补偿单元82基于从赌解码单元80接收的运动向量和其它语法 元素而产生当前视频切片的视频块的预测性块。可W从参考图片列表中的一者内的参考图 片中的一者产生预测性块。视频解码器30可基于存储在参考图片存储器92中的参考图片使 用默认构造技术构造参考帖列表--列表0和列表1。
[0117] 运动补偿单元82通过剖析运动向量和其它语法元素确定用于当前视频切片的视 频块的预测信息,并且使用所述预测信息产生用于经解码当前视频块的预测性块。举例来 说,运动补偿单元82使用一些所接收的语法元素确定用于译码视频切片的视频块的预测模 式(例如,帖内预测或帖间预测)、帖间预测切片类型(例如,B切片、P切片或GPB切片)、切片 的参考图片列表中的一或多者的构造信息、切片的每一经帖间编码的视频块的运动向量、 切片的每一经帖间译码的视频块的帖间预测状态,及用W解码当前视频切片中的视频块的 其它信息。
[0118] 运动补偿单元82还可基于内插滤波器执行内插。运动补偿单元82可W使用如视频 编码器20在视频块的编码期间使用的内插滤波器来计算参考块的子整数像素的内插值。在 此情况下,运动补偿单元82可根据接收的语法元素而确定由视频编码器20使用的内插滤波 器并使用所述内插滤波器来产生预测性块。
[0119] 逆量化单元86将在位流中提供并由赌解码单元80解码的经量化的变换系数逆量 化,即解量化。逆量化过程可包含使用由视频编码器20针对视频切片中的每一视频块计算 的量化参数W确定应应用的量化程度及同样确定应应用的逆量化程度。逆变换处理单元88 将逆变换(例如,逆DCT、逆整数变换或概念上类似的逆变换过程)应用于变换系数W便产生 像素域中的残余块。
[0120] 在运动补偿单元82基于运动向量和其它语法元素产生用于当前视频块的预测块 之后,视频解码器30通过将来自逆变换处理单元88的残余块与由运动补偿单元82产生的相 对应的预测块求和而形成经解码视频块。求和器90表示执行此求和操作的组件。由求和器 90形成的经解码视频块接着可由解块滤波器单元93、SAO单元94和ALF单元95滤波。给定帖 或图片中的经解码视频块随后存储在存储器92(其可被称为参考图片存储器或经解码图片 缓冲器)中,所述存储器存储参考图片用于后续运动补偿。存储器92还存储经解码视频用于 W后在显示装置(例如图1的显示装置32)上呈现。根据本发明的方面,SAO单元94可经配置 W应用与上文所论述的SAO单元74相同的滤波(例如,边缘偏移和频带偏移)。
[0121] 图6是说明根据本发明的技术的用于确定SAO滤波模式的高级过程的概念图。例如 视频编码器20等兼容视频编码器可执行图6的流程图中说明的技术。
[0122] 在图6的实例中,视频编码器20初始地将全部跳过和合并旗标设定为等于零 (120)。如上文所描述,跳过和合并旗标是指示视频编码器20是否使用来自相对于当前LCU 的相邻LCU的SAO模式和参数的语法元素。视频编码器20可稍后修改跳过和合并旗标的值, 如下文更详细描述。
[0123] 视频编码器20利用的对图6的实例的输入包含来自当前LCU的原始像素 W及来自 当前LCU的经后解块和经预先解块的像素。当确定是否利用SAO跳过模式(称为SAO跳过考 虑)时,视频编码器20可要求sao_deci_luma_only先前已经用信号表示为真。当考虑是否利 用合并左边模式或合并左边模式时,视频编码器20可能如下需要来自左边相邻LCU(如果左 边LCU可用)的SAO参数。视频编码器20可能从左边相邻LCU需要的SAO参数可包含 sao_type_idx_lum曰/chrom曰、left_sao_band_position_lum曰/Cb/Cr、left_sao_eo_class_ luma/chroma、Ief t_off setsiuma、Ief t_off setscb 和Ief t_off setscr?及left_bo_hist_ peaki?a、left_bo_hist_peakGb 和 left_bo_hist_peakGr。为了考虑利用合并上方模式,视频 编码器20可能需要来自上方相邻LCU(如果上方相邻LCU可用)的W下SAO参数:up_sao_ type_idx_luma/chroma、up_sao_band_position_luma/Cb/Cr、up_sao_eo_class_luma/ chroma、up_off setsiimm、up_off setscb和up_offsets虹?及up_bo_hist_peakllma、up_bo_ h i S t_peakcb 和 up_bo_h i S t_peakcr。
[0124] 接着,视频编码器20导出明度SAO参数(图6中展示为明度SAO参数导出获得失真、 区间计数、偏移和sao_type_idx)(122)和色度SAO参数(图6中展示为色度SAO参数导出获得 失真、区间计数、偏移和sao_type_idx) (124)。如果sao_deci_luma旗标等于零,那么视频编 码器20可并行地导出用于明度和色度SAO的参数。为了确定明度和色度SAO参数,视频编码 器20确定失真值("dist")、区间计数、偏移和SAO模式(例如,频带偏移或边缘偏移)。视频编 码器20使用sao_type_idx参数值用信号表示SAO模式。下文将相对于图7到9更详细地描述 执行明度SAO参数导出的细节。下文将相对于图10到12更详细地描述执行色度SAO参数导出 的细节。
[0125] 更确切地说,在步骤120中,视频编码器20可设定skip_sao_luma = 0且skip_sao_ Chroma = O、sao_merge_left_f lag 和sao_merge_up_f lag 为0。此时,skip_sao_luma/chroma =1与sao_type_idx_luma/ch;roma = 0相同。在其中此信号的提前知识(例如在一个实施例 中可早期跳过SAO色度)可用W停用视频编码器20中的硬件操作且因此节省电力和/或处理 循环的示范性实施方案中,视频编码器20维持运些作为单独信号。
[0126] 在确定色度和明度SAO参数之后,在适用的情况下,视频编码器20确定当前LCU的 区间计数(126),且计算对当前LCU执行SAO滤波的成本(称为Jsa日)(128) Jsa日指代使用优化 速率失真成本函数的SAO模式执行SAO滤波的成本。
[0127] 在确定Jsaq之后,视频编码器20可经配置W确定用于执行合并左边SAO滤波(130) 和合并上方SAO滤波(132)的成本。在一些实例中,视频编码器20可并行地确定所述成本。下 文相对于图13更详细地论述确定用于合并左边和合并上方SAO滤波的成本的过程。在一些 实例中,视频编码器20可经配置W并行地计算用于合并左边SAO滤波的成本(称为 Jmerge_left) W及用于合并上方SAO滤波的成本(称为Jmerge_up)。
[01%]响应于确定用于合并SAO滤波的成本,视频编码器20基于成本JSAO、Jmerge_left和 Jmerge_up而做出用于当前LCU的最终SAO参数决策(134)。视频编码器20可通过在JSAO、 Jmerge_lef t和Jmerge_up中巧小化,即选择与巧少成本相关联的参数,来决走LCU参数。
[0129]如果合并左边具有最低成本,那么视频编码器20分别用left_sao_type_idx_ Ium曰/chrom曰、left_s3〇_b3nd_position_lum曰/Cb/Cr、left_s3〇_eo_cl3ss_lum3/chrom3、 left_offsetsllmla、left_offsetscb和left_offsetscr的值代替best_sao_type_idx_luma/ chroma、best_sao_band_position_luma/Cb/Cr、best_sao_eo_class_luma/chroma、 (^'3日131111113、(^'3日13加和(^'3日13虹的值。在此情况下,视频编码器20将8日〇_111日'旨日_1日門_ flag设定为I。
[0130] 如果合并上方具有最低成本,那么视频编码器20经配置W分别用up_sao_type_ idx_lum曰/chrom曰、up_s3〇_b3nd_position_lum3/Cb/Cr、up_s3〇_eo_cl3ss_lum3/chrom3、 up_offsetsllmla、up_offsetscb和up_offsetscr的值代替best_sao_type_idx_luma/chroma、 best_sao_band_position_luma/Cb/Cr、best_sao_eo_class_luma/chroma、offsetsiurna、 offsetsGb和offsetsGr的值。视频编码器20还将sao_merge_up_flag设定为l。
[0131] 最终参数决策包含用于当前LCU的偏移(如果存在)、合并旗标的值(其指示来自上 方或左边相邻LCU的SAO参数是否应用作用于当前LCU的SAO参数)W及sao_type_idx值等 等。视频编码器20经配置W对对应于最终SAO参数的语法元素进行编码。最后,视频编码器 20经配置W对任何跳过旗标进行编码(136),且终止LCU SAO编码器决策。如果best_sao_ type_idx_luma设定成0,那么视频编码器20将skip_sao_luma设定为1。如果best_sao_ type_idx_ch;roma是0,那么视频编码器20将skip_sao_cboma设定为1。
[0132] 另外,在其中旗标sao_deci_luma_only等于一的实例中,视频编码器20可经配置 W执行明度SAO滤波,且不考虑色度、合并或跳过模式。在一些实例中,如果sao_deci_luma_ only等于一,那么视频编码器20可经配置W仅执行明度和/或色度SAO滤波,但不考虑合并 滤波和跳过SAO模式(138)。
[0133] 图6中所示的实例过程的输出包含语法参数:sao_merge_left_flag、sao_merge_ up_flag、best_sao_type_idx_luma/chroma、best_sao_band_position_luma/Cb/Cr、best_ sao_eo_class_luma/c 虹 〇111日、(^'36131面3、(^'3613化和(^'3613(;]:。视频编码器20在用于下一 行的下方相邻LCU中的合并上方处理W及内部地用于右边相邻LCU中的合并左边处理的线 缓冲器中(例如,顶点流处理器中)缓冲前述语法值。另外,输出包含控制SAO是否应用于当 前LCU样本的辅助参数skip_sao_luma和skip_sao_ch;romaW及也内部地在线缓冲器中缓冲 的参数bo_hist_peaki?a、bo_hist_peakGb和bo_hist_peakGr(例如,W支持合并模式处理)。
[0134] 在一些实例中,视频编码器20评估某些模式和分量的次序可与图6中描述的次序 不相同。举例来说,图6的方法说明视频编码器20在色度之前评估明度,且在BO之前评估E0。 在一些实例中,视频编码器20可在EO之前评估B0。视频编码器20还可与色度同时评估明度, 在此情况下色度的提早终止(下文描述)将是不可能的。
[0135] 在一些实例中,视频编码器20可在评估用于明度的BO和EO之前评估合并模式加 SAO OFF。通过运样做,如果合并成本或SAO OFF成本低于阔值(此阔值可使用时间或空间邻 域而确定),那么视频编码器20可执行EO和BO决策的提早终止(即跳过EO和BO决策)。
[0136] 在又另一实例中,视频编码器20还可当成本相等时对于一个模式对另一模式给予 优先级。举例来说,合并左边可具有比合并上方更高的优先级。此策略可使位速率优先于质 量。类似地,BO可具有比EO高的优先级,且SAO OFF可具有比BO或EO高的优先级。最后,BO和 EO可具有比合并模式高的优先级(此策略将可能使质量优先于位速率)。决策步骤的优先级 区分和次序因此可影响质量-位速率折衷。
[0137] 图7是说明根据本发明的技术的用于执行明度SAO导出的过程的概念图。在图7的 方法中,视频编码器20可经配置W执行EO明度导出W确定执行EO明度滤波的成本(160)。所 述成本称为化0,luma。视频编码器20进一步经配置W执行BO明度导出W确定用于BO明度滤波 的成本,称为Jbo,iuma(162)。在一些实例中,视频编码器20可经配置W并行地执行步骤160和 162。视频编码器20将步骤162中的BO模式滤波的成本计算为jB〇,i?a = dist_B[門+AX(sao_ 60_1111]1日_131日3+13;[]1(3011]11:16日,1111113)。在先前方程式中,3日0_130_1111]1日_131日3值可为任意的或可 固定到零,bincountlB日,luma是用于明度频带偏移的估计区间计数,dist_B[Y]是用于频带偏 移的计算失真,且A是拉格朗日乘数。
[0138] 响应于确定成本Jbo,Iuma和化Muma,视频编码器20经配置W执行测试W确定不执行 SAO滤波的成本,即用信号表示SAO跳过模式(164)。不执行SAO的成本称为JnD_SA0,luma。
[0139] 响应于计算不执行SAO的成本(164),视频编码器20进一步经配置W选择具有最小 成本的明度SAO参数的集合且更新明度参数(166)。所述成本称为化0,luma。视频编码器20随 后输出所述成本,其稍后与其它SAO成本进行比较。
[0140] 为了在E0、B0和无 SAO模式之间进行选择(步骤166),视频编码器20进一步经配置 W在Je日,luma、Jno_SA0, Iuma和Jb日,Iuma中最小化速率-失真成本,且尝试通过选择具有最小R-D成 本的SAO模式选项而确定最佳明度参数。在EO、BO和SAO模式之间选择在一些实例中可与如 步骤166中所说明的最小化成本且更新明度参数同义。如果视频编码器20选择EO模式,那么 视频编码器20将计算的失真存储为:dist_X[Y]=dist_Ek[Y]、bincountiuma = bincountlE0,luma、offsetsluma = offsetsE0,lumaW及best_sao_type_idx_luma = 2。女日果视频 编码器20选择BO模式,那么视频编码器20将计算的失真确定为:dist_X[門=dist_B[Y]、 bincountiuma = bincountlB〇,iumaN〇ffsetsiuma = offsetsB〇,iumal^^,best_sao_type_idx_luma =I。如果视频编码器20选择SAO跳过模式,即不执行SAO,则视频编码器20存储dist_X[門= 0、bincountiima = bincount(0 似及 best_sao_type_idx_luma = 0。
[0141] 图8是说明根据本发明的技术的用于执行边缘偏移化0)明度SAO成本导出的过程 的流程图。如上文所论述,存在用于EO SAO的四个类。在图8的方法中,视频编码器20经配置 W针对偏移类中的每一者(从第一偏移类i = 〇到最终偏移类i = 3)计算每一类的成本,即执 行EO明度类导出W计算每一类的成本,表示为化0, luma, i ( 182 ),且选择具有最低相关联成本 的类(184)。为了选择具有最低成本的类,视频编码器20可选择最小化成本的最佳明度类k, 且可将化Muma设定为等于化Muma,1。在一些实例中,视频编码器20经配置W彼此并行地测试 多个类。根据本发明的技术,下文相对于图8描述的削减操作和迭代除法技术可改善编码EO 和BO模式的性能。
[0142] 如上文相对于图2A到2D所描述,当视频编码器20选择EO模式时,视频编码器20对 边缘偏移分类器语法元素sao_eo_class_luma/ch;roma进行编码。在用信号表示sao_eo_ class_luma/c虹oma之前,视频编码器20执行参数导出,且评估每一边缘偏移分类器的速率 失真成本(sao_eo_class_luma),其中i = [0、1、2、3],视频编码器20针对每一输入类i且对 当前LCU的Y通道(明度)样本执行边缘偏移导出。作为明度EO参数导出的部分,视频编码器 20确定每一明度边缘类的失真值(表示为di StEi [Y] ) W及每一边缘类的偏移 (〇ffsetSEO,luma,i)、每一类中的像素的总和(SOPE0,luma,i)、每一类中的像素的数目 (NO扣〇,iuma,i),W及区间计数(bincountE〇,i?a,i)。区间计数是针对EO明度分类器i = [0、1、2、 3]中的每一者对经编码参数(例如,编码模式、偏移等)进行CABAC赌编码需要的区间的数目 的估计。
[0143] 对于每一 EO类,视频编码器20考虑在所述类由变量i表示的情况下且针对当前LCU 的明度分量,视频编码器20输出且存储用于每一类的失真值distEi[Y]、每一类的偏移 ((^'3613£日,1皿3,〇、所述类的像素的总和(50口£日,1皿3,〇、每一类中哦像素的数目(^口£日,1皿3,〇 W及区间计数bincountE日,luma,1,如上文相对于图6所描述。基于所述失真,视频编码器20经 配置W确定每一类的成本,称为化0, luma, i,如(182 )中说明。视频编码器20可将化0, luma, i计算 为:
[0144]
[0145] 在步骤184中,视频编码器20进一步选择具有最小成本的化o,i?a,i(i = [0,l,2,3]) 的值。视频编码器20还将off SetSEO, luma的值设走为專于off SetSEO, 1皿a,k ,,且设走化日,luma的值 等于:化日,X sao_eo_class_yA+l )_bias。在一些实例中,视频编码器20可将sao_eo_ luma_bias和sao_eo_class_yj_bias的值设定为任意值。视频编码器20可使用设定的偏置 值W便朝向特定模式偏置SAO模式决策。在其它实例中,视频编码器20可将偏置值固定为 零。另外,视频编码器20可在一些实例中将sao_eo_class_y化+1 )_bias指派为任意值,且在 其它实例中指派为零。
[0146] 为了计算每一类的边缘偏移值,视频编码器20针对给定分量C测试给定sao_eo_ class EO分类器i。给定EO分类器索引i,视频编码器20应用分类器W导出当前LCU的每一经 重构像素(re(x,y))的edgeldx。视频编码器20根据W下表4计算edgeldx:
[0147]
[014引表4
[0149] 经重构像素指代来自解块滤波器(例如,图4的解块滤波器单元72)的块的像素。由 于解块滤波器相依性,当硬件管线处理当前LCU时将不解块LCU或相邻于所述LCU的全部像 素。视频编码器20可留下相对于未经滤波的LCU的下方和右边相邻样本,且可在一旦后续右 边和下方相邻LCU经处理时便解块那些样本。因此,在一些实例中,视频编码器20可针对当 前处理的LCU的右边和下方相邻样本,仅对经解块样本或者W经解块、部分地经解块(仅已 应用垂直边缘滤波、和未经滤波(不经解块)样本的组合来应用计算W确定速率失真成本。 并且,使用未经解块像素W导出SAO参数可仅针对选择SAO参数有效。一旦参数选定,视频编 码器20便可使用完全经解块样本应用SA0。
[0150] 为了计算每一 edgeldx(或EO类)的偏移,视频编码器20针对每一 edgeldx值计算原 始与经重构像素(样本)值之间的差的总和,其中edgeIdx G (1,2,3,4)。视频编码器20如下 计算像素的总和(S0P)(S0P_Eik][edgeIdx]):
[0151]
[015^ 其中C是通道(例如,色度乂 b"、色度乂 r"或明度叩'),其中pc(x,y)是坐标(x,y)处 的原始样本值,且re(x,y)是(x,y)处的经重构样本。
[0153] 根据本发明的技术,视频编码器20可经配置W当执行边缘偏移计算时减少后续操 作的位宽度和精度。举例来说,视频编码器20可将原始像素减经重构像素的差削减到范围 [-32,31] W使得6个带正负号的位是表示差量的足够位数目。对于特定边缘类EOi中的每一 像素,视频编码器20将经削减的差添加到SOP的当前值(在迭代通过每一类的全部像素的开 始时将总和设定成零)。视频编码器20再次对范围[-4095,4095]中的S0P_Eik] [edgeldx] 执行削减,且用此削减的结果更新SOP。运可如下写出:50?(11)=(:1193(-4095,4095,50?(11- 1)+Clip3(-32,31,pixel_diff(n))),
[0154] 其中n为集合中的像素化化)的索引,且pixel_diff(n)是由视频编码器20在EOi内 分类的像素集合中具有索引n的原始减经重构像素的差。每次视频编码器20将每一像素的 像素差添加到差的总和时,视频编码器20执行此最后削减。此最后削减确保了 13位足W表 示SOP (像素的总和)信息。
[01巧]为了计算每一edgeldx(例如,SAO EO类)的偏移,视频编码器20计算针对给定sao_ eo_class i WedgeIdx分类的经重构像素的数目(NOP),称为N0P_Eik] [edgeldx]。在一些 实例中,视频编码器经配置W削减NOP_Eik][edgeIdx巧Ij范围[0,1023],使得在硬件中需 要10位来表示NOP_Eik][edgeIdx]。经削减版本经存储且用于所有后续计算(包含合并成 本计算)中。
[0156] 为了针对每一edgeldex edgeldxG (1,2,3,4)确定类;[的偏移,视频编码器20可经 配置W将每一 SOP_Eik][edgeIdx]除WNOP_Eik][edgeIdx]的对应值。视频编码器20随后 舍入且削减所述除法的结果。用W计算所述偏移的方程式因此为:
[0157]
[0158] 仕化头例甲,削做化巧个问:X了于edgeidx = i现Z,Umin,vmax j = W,'0,且对于 edgeldx = 3或4,(vmin,vmax) = (-7,0)。在一个实例中,SOP除Wnop是W硬件友好的方式执 行。举例来说,视频编码器20将特殊计数器和迭代计数器(例如,软件变量、寄存器、硬件计 数器等)设定为零。视频编码器20还将临时变量设定为等于SOP值的绝对值。
[0159] 因为偏移的绝对值可不大于7(由于削减),所W视频编码器20执行迭代循环W从 临时变量迭代地减去N0P,直到临时变量小于或等于零或者直到已经执行7次迭代。每次视 频编码器20从临时减去NOP时,视频编码器20递增迭代计数器。另外,每次视频编码器20从 临时变量减去NOP值且所得临时变量大于或等于零时,视频编码器20递增特殊计数器。在此 操作结束时,特殊计数器产生特定类或edgeldx的偏移的绝对值。视频编码器20从SOP的正 负号确定偏移的正负号。然而,如果绝对值是0,那么视频编码器20确定正负号是正。
[0160] 因此,根据本发明的技术,视频编码器20可经配置W使用样本自适应偏移SAO模式 对经译码视频图片的LCU的样本进行编码。为了使用SAO模式对CU的样本进行编码,视频编 码器20可计算LCU的对应经重构样本与LCU的原始样本之间的差,从所述差中的每一者削减 位的数目W形成经削减的差,将经削减的差求和W形成差的总和,削减差的总和W形成经 削减的差的总和,计算经重构样本的数目,从经重构样本的数目削减位的数目W形成经削 减的样本数目,且将经削减的差的总和除W经削减的样本数目W产生用于LCU的偏移。
[0161] 接着,视频编码器20针对类i计算失真,表示为dist_Ei[c]。视频编码器20将失真 计算为:dist_Ei[c] = Ek(N0P_Ei[c]比]XOffset_Ei[c] [k] XOff set_Ei[c] [k]-S0P_Ei[c]
[k] X0ffset_Eik][k] X2),其中k=[l,2,3,4]。失真计算可根据上文先前引用的C.-M.傅 等人中描述的计算而执行。
[0162] 为了导出明度参数,视频编码器20针对每一 EO类计算速率失真成本。成本表示为 JEO,llma,I,且被计算为:JEO,llmla,i = dist_Ei[Y]+入X(sao_eo_luma_bias+sao_eo_class_yj_ bias+bincountEo,luma'i),
[0163] 其中sao_eo_class_yj_bias是用于每一EO类的某个偏置因数。在一些实例中,视 频编码器20可指派sao_eo_luma_bias和sao_eo_class_yj_bias任意值W朝向特定模式偏 置模式决策选择。在其它实例中,视频编码器20可将sao_eo_luma_bias和sao_eo_class_ yj_bias变量的值固定为等于零。
[0164] 视频编码器20在步骤184中执行W确定明度SAO参数的最后一般操作是最小化 化o,i?a,i。具体来说视频编码器20导出变量best_sao_eo_class_luma = k作为具有最小成本 的索引i(对应于EO类)。视频编码器20随后将0''36*3£日,1皿3设定为等于0''36*3£日,1皿3,1<,且 Jeo, Iima = Jeo, X sao_eo_class_Wk+l )_bias。视频编码器20可在一个实例中指派任 意值给sao_eo_class_yA+l)_bias,或在其它实例中指派零。
[0165] 为了导出用于明度的BO参数,视频编码器20可经配置W针对明度分量(C = Y)执行 BO导出。视频编码器20随后存储输出且存储W下参数:用于频带中的每一者中的明度样本 的失真值(dist_B[Y])、指示最佳频带位置的变量(best_sao_band_position_luma)、32个 频带的峰位置化0_]1131:_96341111113)、频带中的每一者的偏移((^'361360,1111113)、频带中的每一 者中的像素值的总和(SOPbO,luma)、频带中的每一者中的像素的数目(NOPBCUuma), W及用于频 带偏移的估计区间计数(bincountOB日,Y)。下文更详细地论述计算所述区间计数。
[0166] 图9是说明根据本发明的技术的用于执行明度频带偏移导出的过程的流程图。在 图9的实例中,视频编码器20经配置W执行BO明度导出,其设及确定失真和bincountO(即, 执行BO明度导出W确定失真di St W及区间计数bincountO )(200 )。响应于步骤200,视频编 码器20进一步经配置W计算bincountl (202),且计算WBO模式对明度通道进行编码的成本 Jbo,iuma(204)。对此过程的输入是C,如上文相对于用于明度的EO所描述。此过程的输出是参 数:dist_B[Y]、best_sao_band_position_luma、bo_hist_peakiuma、off setsBO, luma、 SOPb日,luma、N0Pb日,luma和bincountOB日,Y,运些类似于其EO明度等效项。
[0167] 对明度BO滤波过程的输入是C,指示视频编码器20正在处理哪一通道的索引。基于 C,视频编码器20从适当通道(在此情况下,明度通道)读取经后解块和经预先解块的像素 (样本)。对图9的过程的输出包含失真值dist_Eik]、偏移0ffset_Eik][edgeIdx](其中的 四个)W及S0P_Ei[c][edgeIdx]和^)口_61^][6(1邑61扯],^及如果分量表示明度,则还有区 间计数MncountE日,luma, i。如上,SOP和NOP是经预先解块与经后解块的值之间的像素差的总 和。NOP是每一频带中的像素的数目。
[0168] 根据本发明的技术,视频编码器20在BO偏移导出期间可不测试频带位置的全部可 能的32个值。实际上,视频编码器20使用直方图分析来选择频带位置(sao_band_ position)。用于每一分量LCU(例如,Y、Cb或化)的导出算法的阐释如下。
[0169] 首先,视频编码器20使用直方图分析确定频带位置sao_band_positionc。为了计 算直方图,视频编码器20首先将LCU的样本中的每一者分区到32个信道中的一者中,存储在 阵列bin_count[32]中。根据本发明的技术,视频编码器20使用BO分类器将原始像素pc(x, y)分类到32区间直方图中化曰11(11扯^,7)=口。山7)>>3,对于8位内容)。在一个实例中, 视频编码器20使用提早终止方案来节省硬件循环。视频编码器20W光栅扫描次序访问像 素,且根据其分类,视频编码器20递增对应于每一样本的bandidx的区间计数。
[0170] 视频编码器20-旦满足两个W下条件中的任一者便终止直方图计算:(1)分量平 面中的全部像素已经处理,或(2)递增的区间值(作为处理当前像素的结果)等于分量(例 如,Y、Cr、饥)平面中的像素的数目的二分之一(即,对于32X32LCU,阔值针对明度是512像 素且针对像素色度是128)。已经处于可能的区间数目的二分之一的区间计数可不小于任何 其它区间计数。当视频编码器20终止处理时,视频编码器20将区间计数设定为其最大值。可 存在其中分量具有仅两个非零且(因此)等值的区间计数的内容。视频编码器20继续此过程 W确保直方图最大值(例如,区间中的样本的最大数目)的明确选择,因为直方图导出一旦 区间中的一者达到阔值便早期终止。
[0171 ] 接着,视频编码器20选择sao_band_position。作为具有最大值bin_count[m]值 (直方图峰)的bin_count的索引m减某个常数h(bo_Mst_peakc=m-h)。在根据本发明的技 术的一个实例中,视频编码器20可将常数化)设定为1。
[0172] 响应于确定原始像素的频带位置,视频编码器20使用BO分类器计算当前LCU(p(x, y))的每一经重构像素rc(x,y)的bandldx(bandldx(x,y) =;Tc(x,y) >>3,对于8位内容)。如 上文所解释,经重构像素中的一些或全部可不完全经解块。
[0173] 类似于相对于EO偏移计算描述的过程,视频编码器20还计算原始减经重构像素的 总和(S0P_Bk] [bandidx] = E (x,y间andidx(Pc(x,y)-;Tc(x,y))),如上文关于图8在明度EO滤 波的上下文中所描述。视频编码器20如上文相对于EO偏移计算所描述削减所述和W及差。 视频编码器20确定N0P_B[c] [bandidx] (WbandIdx分类的经重构像素的数目)。在一些实例 中,视频编码器20将N0P_B值削减为处于[0,1023]的范围内,W使得在硬件中需要10位来表 示值。经削减的版本被存储且用于全部后续计算(包含合并成本计算)中。
[0174] 视频编码器20确定用于SA0_B0的偏移。对于每一bandIdxG(0,…,31),0ffset_B [c][bandidx]=clip(;round(S0P_B[c][bandIdx]/N0P_B[c][bandidx],-7,7),
[0175] 其中bandidx在范围(sao_band_positionc,... ,sao_band_positionc+3)内。在根据 本发明的技术的一个实例中,SOP除WNOP是W与从SOP的绝对值的NOP的迭代减法W及正负 号继承类似的方式来实施。
[0176] 视频编码器20将频带SAO滤波的失真计算为:dist_BU] = Ek(NOI^_B[c][k]X 0ffset_B[c] [k] X0ffset_B[c] [k]-S0P_B[c] [k] X0ffset_B[c] [k] X 2)其中k = sao_ band_positionc, ??? ,sao_band_positionc+3。失真计算在傅池明等人的"肥VC标准中的样本 自适应偏移"(IE邸用于视频技术的电路和系统学报第22卷12号,2012年12月)的附录中描 述。下文相对于图13更详细地更详细描述每步骤200和202的区间计数。
[0177] 本发明的技术描述用于BO滤波的直方图导出的改进技术。视频编码器20可经配置 W通过取得原始LCU像素的直方图而导出用于BO决策的sao_band_po Siti on。一旦导出直方 图(具有或不具有任选的提早终止),便使用直方图的峰减去某个常数来导出sao_band_ position语法元素。此关系可描述为:
[0178] bo_hist_peak=maxi(bin_count(i))。
[0179] 随后,视频编码器20可导出频带位置为:
[0180] sao_band_position = bo_hist_peak-const。
[0181] 最佳地,视频编码器20将经配置W使用经重构样本导出此直方图。然而,出于复杂 性和并行度原因,视频编码器20可W良好结果使用原始样本。虽然描述的用于导出直方图 的方法是高效的且产生良好质量,但可存在改进的空间。本文所描述的额外技术可通过优 化视频编码器20选择直方图的峰的方式而改进基于样本的直方图导出。作为前述导出直方 图峰的技术的部分,视频编码器20可如下选择具有最大总和的四个连续区间的群组:bo_ hist_peak=maxi(bin_count(i)+bin_count(i+l)+bin_count(i+2)+bin_count(i+3))。戶/f 述四个连续频带仅发送非零偏移。因此,视频编码器20仍可导出sao_band_position语法元 素为sao_band_position = bo_hist_peak-const。在一些实例中视频编码器20可将常数设 定为零。
[0182] 图10是说明根据本发明的技术的用于执行色度SAO导出的方法的流程图。在图10 的实例中,视频编码器20确定明度断开+旗标是否经设定(218)。当所述旗标经设定时,视频 编码器20设定跳过旗标(220),将明度SAO语法值设定为断开(222),且检查W查看用信号表 示合并旗标是否将比设定跳过旗标更有效(224)。
[0183] 如果明度旗标接通或另一旗标经设定,那么视频编码器20确定EO色度SAO滤波的 成本(用W得到Jeo, chroma的EO色度导出)(226) , W及BO色度滤波的成本(用W得到jB0,chroma的 BO色度导出)(228)。用于60色度和80色度的成本表示为化日,。虹《3、扣日,。虹。。3。接着,视频编码 器20确定不执行SAO的成本JnD_SA0, Ghrnma (无SAO测试,得到JnD_SA0, Ghrnma) ( 230 ),且更新和选择 最小化速率失真成本、即具有最低成本的色度SAO参数(232)。在一些实例中,更新色度参数 可为步骤232的子步骤。
[0184] 在步骤232中,视频编码器20经配置W在Jbo,Ghroma、JnD_SA0,Ghroma和Jeo,Ghroma中最小化 (即,选择其中的一个),且通过选择具有最小成本的选项来确定最佳色度参数。为了选择具 有最小成本的参数,如果选择E0,那么视频编码器20存储dist_X[c]=dist_Ekk](对于C = Cb ,Cr)、bincountchr〇ma = Mncount Ieo, chroma、off Se tsc = OffsetSEO, C (对于 C = Cb ,Cr 似及 best_sao_type_idx_ch;roma = 2。如果选择 BO,那么视频编码器 20 存储 dist_Xk ] = di st_B [c](对于c = Cb,Cr)、bincountchroma = bincountlBo'chroma、offsetsc = offsetsBo,c(对于c = 化,吐)W及best_sao_type_idx_ch;roma = I。如果不选择SAO,那么视频编码器20存储dist_ Xレ] = 0(对于c = Cb,Cr)、bincountchroma = bincount(0似及best_sao_type_idx_chroma = 0。
[01化]如果值best_sao_type_idx_luma等于0,那么视频编码器20可任选地测试是否完 全跳过色度SAO决策。可通过外部装置控制此决策。在此情况下,视频编码器20应用W下步 骤:
[0186] (1)将skip_sao_luma 和skip_sao_cboma 两者设定为 1。
[0187] (2)将best_sao_type_idx_ch;roma设定为 0。
[0188] (3)如果上方LCU可用(在瓦片和切片边界内,或通过一些外部装置允许,例如通过 编程某些寄存器),那么:
[0189] a.确定 best_sao_type_idx_luma 和 up_sao_type_idx_luma是否都为 0。将up_sao_ type_idx_luma设定成上方LCU的sao_type_idx_luma语法参数的值(如果可用)。
[0190] b.检查 best_sao_type_idx_ch;roma 和啡_sao_type_idx_ch;roma是否都为 0。将up_ sao_type_idx_ch;roma设定成上方LCU的sao_type_idx_ch;roma语法参数的值(如果可用)。
[0191] C.如果W上两个条件(a和b)都为真,那么视频编码器20设定sao_merge_up_flag =1且sao_m&rge_left_flag = 0,且前进到跳转和/或终止任何进一步SAO决策的过程。
[0192] (4)如果左边LCU可用(在瓦片和切片边界内,或通过一些外部装置允许,即通过编 程某些寄存器),那么:
[0193] a.检查66 31:_3日〇_1796_1扣_1加1日和16打_3日〇_1796_1扣_1111]1日是否都为0。16打_ sao_type_idx_luma是左边LCU的sao_type_idx_luma语法参数(如果可用)。
[0194] b.确定best_sao_type_idx_ch;roma 和 16打_3日〇_1796_1扯_油1'〇111日是否都为0。将 1 ef t_sao_type_i dx_ch;roma设定成左边LCU的 sao_type_i dx_ch;roma语法参数的值(如果可 用)。
[01巧]C.如果W上两个条件都为真,那么设定sao_merge_up_flag = 0且
[0196] sao_merge_lef t_f lag = 1 且终止任何进一步 SAO 决策。
[0197] 图11是说明根据本发明的技术的用于执行边缘偏移色度导出的过程的流程图。在 图11的实例中,对于每一EO分类器(sao_eo_cIass_ch;roma)i = (0、l、2、3),视频编码器20经 配置针对输入类=i和分量C = Cb执行EO导出。视频编码器20输出dist_Ei[Cb]W及 OffsetSE日,cb,i、S0PE日,cb,i、N0扣日,化,1作为输出(240),且针对输入类巧日分量。=化执行60导 出。视频编码器20输出dist_Ei[Cr]W及〇''3613£日化1、50口£日,杠,1、^口£日而,1作为输出(242)。 [01 98] 响应于步骤242 ,视频编码器20可计算bineOlintOe日,chroma, i ( 244 ),且计算化日,chroma, i =山81:_61[化]+(1181:_£1[吐]+入乂(8曰0_60_〇1曰8 8_"._131曰8+13;[]10011]11:〇£0地〇1113'〇。8曰0_60_ class_cj_bias( j = i+l)可在一个中具有任意值或可固定为零(246)。
[0199] -旦视频编码器20完成执行步骤240到246,视频编码器20便随后经配置W在 扣0,。山。1113,:1上最小化^导出66 31:_3日0_60_。1日3 3_。111'01]1日=1^作为具有最小成本的索引1 (248)。视频编码器20还分别将off set SE日,Cb和off set SE日,Cr设定为等于off set SE日,Cb, k和 (^'3日13£日,虹,1<。视频编码器20还如下计算13;[]1(3〇11]11:1£日,。11進3(250),且重新计算最终成本为 JE0,c虹。ma = dist_Ek[Cb]+dist_Ek[Cr]+入X(sao_eo_chroma_bias+bincountlE0,chroma)(252)。 sao_eo_diroma_bias偏置可在一个情况中具有任意值,或可固定为零。
[0200] 图12是说明根据本发明的技术的用于执行频带偏移色度导出的过程的流程图。在 图12的实例中,视频编码器20针对C =化执行BO导出,如上文相对于图9在明度BO导出的上 下文中描述(260)。此步骤的结果是输出dist_B[Cb]、best_sao_band_position_cb、bo_ hist-peakcb、of f setsBO, Cb、SOPbo, Cb、NOPbo, Cb 芽口 bincount〇B〇, Cb。
[0201] 视频编码器20还针对C = Cr执行BO导出,如上文相对于图9针对明度BO导出所描述 (262)。此步骤的输出是dist_B[C;r ]、best_sao_band_position_c;r、bo_hist_peakcr、 of f SetSBO, Cr、SOPbO, Cr、NOPb〇, Cr和binCOUnt〇BO, Cr。
[0202] 视频编码器20还计算13;[]1(3〇11]11:1:16日,。虹。1113,如下文更详细描述(264),且计算80尺-0 (速率-失真)成本为JB日,chr。ma = dist_B[Cb]+dist_B[C;r]+AX(sao_bo_ch;roma_bias+ bincountlB日,chroma) eSao_bo_ch;roma_bias语法元素在一个实例中可具有任意值或可固定为 零(266)。
[0203] 图13是说明根据本发明的技术的用于执行SAO滤波的过程的流程图。在图13的方 法中,视频编码器20可经配置W针对频带、四个EO类中的每一者和BO模式导出成本、偏移、 失真值和其它值。视频编码器20可经配置W在一些实例中与图14中说明的技术并行地执行 相对于图13所说明的技术。
[0204] 在图13的实例中,四个最左边列指示视频编码器20针对四个边缘分类器(图2A到 2D中描述的水平、垂直、45度和135度分类器)中的每一者执行EO参数和速率失真成本的确 定的过程。视频编码器20通过使用水平、垂直、45度和135度分类器滤波器形状(分别为步骤 300、310、320和330)中的一者对当前通道的像素中的每一者进行分类而开始计算EO成本。
[0205] 响应于使用边缘分类器滤波器对像素中的每一者进行分类,视频编码器20使用W 上在表3中描述的条件针对四个像素类别中的每一者确定样本的总和(SOP)。样本的总和是 当前LCU的原始与经重构样本之间的差的总和(分别为步骤302、312、322和332)。
[0206] 响应于针对每一分类器确定像素的总和,视频编码器20如W上表3中界定确定所 述4个类别中的每一者中分类的样本的数目(步骤304、314、324和334)。视频编码器20随后 将样本的总和除W样本的数目W确定用于四个样本类别中的每一者的四个偏移(步骤306、 316、326和336)。视频编码器20可根据本发明的技术削减所述计算的结果作为计算差、差的 总和和/或像素数目的部分。响应于确定与每一像素类别相关联的偏移,视频编码器20可计 算与每一分类器相关联的失真(步骤308、318、328和338)。
[0207] 视频编码器20还经配置W确定与在BO模式中对当前LCU进行编码相关联的偏移和 速率失真成本。在各种实例中,视频编码器20可与确定与EO分类器中的每一者相关联的成 本并行地确定与在BO模式中对当前LCU进行编码相关联的R-D成本。
[0208] 为了确定BO模式,视频编码器20首先将当前LCU的样本分类到32个频带中(340)。 视频编码器20在一些实例中可使用算术右移位将当前LCU的样本分类到32个频带中。响应 于将当前LCU的样本分类到32个频带中,视频编码器20找到且存储当前LCU的直方图峰 (342)。响应于找到直方图峰,视频编码器20可针对4个频带偏移频带中的每一者确定样本 的总和(344)。样本的总和(SOP)包括当前LCU的原始与经重构样本之间的差的总和。响应于 计算S0P,视频编码器20计算四个BO频带中的每一者中的样本的数目(346)。在所述差、差的 总和W及样本数目的计算期间,视频编码器20可削减表示前述量中的每一者需要的位数 目。
[0209] 对于四个频带中的每一者,视频编码器20使用样本的数目(NOP)作为除数且将每 一频带中的SOP除W所述频带中的NOPW确定用于所述频带的偏移(348)。根据本发明的技 术,视频编码器20可如上文所论述使用迭代的通过减法的除法方法确定用于每一频带的偏 移。响应于确定四个偏移,视频编码器20可计算BO模式的失真(350)。
[0210] 一旦视频编码器20已针对EO分类器中的每一者且针对BO计算出失真,则视频编码 器20可比较且存储所述模式中的每一者的失真统计数据(352),且选择用于当前LCU的EO分 类器中的一者和BO模式。在各种实例中,视频编码器20可将所存储的统计数据与针对合并 和跳过模式所确定的R-D成本进行比较,如下相对于图14所述。
[0211] 图14是说明根据本发明的技术的用于执行SAO滤波的过程的流程图。在图14的方 法中,视频编码器20可经配置W针对合并左边模式和合并上方模式导出成本、偏移、失真和 其它值。视频编码器20可经配置W在一些实例中与图13中说明的技术并行地执行相对于图 14所说明的技术。
[0212] 合并模式包含从上方相邻LCU复制SAO参数的合并上方,W及从左边相邻LCU复制 SAO参数的合并左边。现将论述确定合并上方和合并左边的成本的过程。
[0213] 视频编码器20针对合并左边和合并上方模式执行类似过程,其中如果模式(和对 应LCU)可用,那么视频编码器20尝试确定合并左边和合并上方模式两者的成本。如果所述 两个合并模式的成本是相等的,那么视频编码器20可选择合并左边模式,因为在一些实例 中合并左边模式可需要平均较少的位来编码。在W下实例中,"相邻者"的简写(NBR)基于其 使用的上下文而表示相对于当前LCU的上方或左边相邻LCU。
[0214] 当尝试确定合并模式(即合并左边模式和合并上方模式)的成本时,视频编码器20 首先测试NBR LCU是否可用作合并候选者(370,380)。如果当前LCU处于图片上方或左边边 界处且NBR LCU在所述边界外部,那么仅当NBR LCU在所述边界内时过程才返回到真。
[0215] 接着,视频编码器20确定NBR LCU是否属于相对于当前LCU的不同切片或瓦片且跨 越切片和瓦片边界而启用滤波的对应旗标是否可W停用。如果跨切片和瓦片存取经启用, 那么过程范围到真。
[0216] 视频编码器20还确定NBR LCU是否在使用BO模式。如果NBR LCU是使用BO模式经编 码,那么视频编码器20确定相邻LCU的BO直方图峰是否匹配于当前LCU的峰(370,380)。如果 NBR的BO峰并不匹配,那么不存在估计失真D的方式,并且因此无法使用合并模式。如果下文 描述的全部条件为真,那么过程返回到真,否则(决策框370,380的"是"分支),过程返回到 假,且视频编码器20不选择合并模式(决策框370,380的"否"分支)。
[0217] 如果左边NBR LCU使用BO作为明度SAO模式(即NBR_sao_type_idx_luma等于1),那 么视频编码器20检查W确定当前LCU的直方图峰bo_hist_peakiuma是否与NBR LCU的直方图 峰NBR_bo_hist_peakiuma相同。如果当前LCU的直方图峰和相邻LCU的直方图位置不相等,那 么过程返回到假。否则,过程返回到真(运包含NBR使用EO情况)。
[021引对于LCU的色度通道,视频编码器20类似地确定NBR LCU的SAO模式是否使用BO SAO模式色度通道SAO模式(即NBR_sao_type_idx_chroma是否等于1)。如果NBR LCU使用BO SAO模式,那么视频编码器20检查W确定当前LCU的直方图峰bo_Mst_peakcb和bo_Mst_ peakcr是否分别与NBR LCU的直方图峰NBR_bo_hist_peakcb和NBR_bo_hist_peakcr相同 (370)。如果对应峰中的任一者不等于当前LCU的峰,那么过程返回到假。否则过程返回到真 (运包含其中NBR LCU使用EO SAO经编码的情况)。如果在任一点W上条件中的任一者不为 真,那么视频编码器20针对所述特定NBR LCU终止合并模式考虑过程(决策框370,380的 巧"分支)。
[0219] 如果合并确定过程针对色度和/或明度返回到假(再次,决策框370,380的"否"分 支),那么视频编码器20将相应上方或左边合并模式的成本Jmerge_Left和Jmerge_Up分别设定为 最大可能成本值(372,382)。将相应合并成本设定为最大成本在W上条件中的任一者不为 真的情况下使所述合并模式不会被视频编码器20选择。
[0220] 如果左边或上方NBR LCU可用且W上条件满足,那么视频编码器20从相应左边或 上方NBR LCU复制SAO参数(374,384),且随后计算相应合并模式的速率失真成本(376, 386)。视频编码器20如下计算使用相应合并模式的失真(dist_NBR)(378,388)。具体来说, 视频编码器20计算dist_NBR= Ecdist_NBRc,其中:dist_NBRc= Ek(NOI^_XU][k] X Offset_NB即c] [k] XOffset_NB即c] [k]-SOP_Xk] [k] XOffset_NB即c] [k] X 2),其中X是 NBR LCU分量C 中使用的SAO的类型(NBR_sao_type_idx_luma或NBR_sao_type_idx_ C虹oma)。失真计算在傅池明等人的"肥VC标准中的样本自适应偏移"(IE邸用于视频技术的 电路和系统学报第22卷12号,2012年12月)的附录中描述。即使视频编码器20基于来自当前 LCU的样本确定SOP和N0P,视频编码器20也在使用合并模式时从相邻LCU的偏移导出当前 LCU的偏移。
[0221] 接着,视频编码器20如下所述计算当前NBR的区间计数。最后,视频编码器20计算 NBR LCU的SAO合并模式编码的LCU速率失真成本为Jmerge_^ = dist_NBR+AX (sao_merge_ NBR_bias+bincount_NBR)。在一些实例中,sao_merge_NBR_bias等于sao_merge_up_bias偏 置或sao_m&rge_lef t_bias偏置,其两者可具有任意值或设定成0。
[0222] 为了执行合并模式SAO滤波,当前LCU针对用于当前LCU的全部边缘偏移类和分量 需要存取S0P_Ei[c] [edgeldx]和N0P_Eik] [edgeldx]。另外,还需要用于当前LCU的参数bo_ hist_peaki?a、bo_hist_peakcb和bo_hist_peakcr,W及相邻LCU的可用性信息。视频编码器 20还需要再次针对全部分量存取频带偏移S0P_B[c][bandIdx巧日N0P_B[c][bandIdx]。对于 合并左边考虑,视频编码器20需要来自左边NBR LCU(如果左边NBR LCU可用)的W下SAO参 数:left_sao_type_idx_luma/chroma、left_offsetsiuma、left_offsetscb^Rleft_offsetscr W 及16的_130_11131:_96日1<:1面3、16打_130_11131:_96日1<:(;6和16打_130_11131:_96日1^:。对于合并上方 考虑,视频编码器20需要来自上方NBR LCU(再次,假定上方NBR LCU可用)的W下SAO参数: up_sao_type_idx_luma/chroma、up_offsetsllmla、up_offsetscb和up_offsetscrW及up_bo_ ]1131:_96日41111113、啡_130_11131:_96日4〇)和啡_130_11131:_96日4&。合并模式成本估计过程的唯一输 出是视频编码器20在步骤390中存储的速率失真成本Jmerge_NBR。
[0223] 在一些实例中,视频编码器20可尝试确定对于当前LCU或LCU分量是否使用跳过模 式SAO更有效(sao_skip_flag)。当视频编码器20执行明度分量的跳过模式考虑时,视频编 码器20必须首先确定EO和BO SAO模式参数和相关联速率失真成本,W使得视频编码器20可 将EO和BO成本与跳过成本进行比较。在一个实例中,视频编码器20可与比较明度跳过模式 成本比较分开地执行色度的跳过模式速率失真的比较。因此,如果视频编码器20确定针对 当前LCU应选择且编码跳过模式,那么一旦针对明度和色度两者已完成SAO EO和BO决策确 定,视频编码器20便仅设定用于当前LCU的SAO跳过模式旗标。
[0224] 在另一实例中,如果视频编码器20选择明度SAO跳过模式,(即设定sao_type_idx_ Iuma = O,因为在评估E0、B0和跳过模式之后跳过模式具有最低速率失真成本),那么视频编 码器20可跳过确定最佳色度SAO模式的过程。在此实例中,视频编码器20跳过执行成本较高 的色度EO和BO导出,终止SAO LCU决策且将跳过旗标两者设定为1。然而,如果视频编码器20 启用明度SAO(即,选择BO或EO用于当前LCU),那么视频编码器20不跳过色度SAO,且不需要 执行色度EO和BO导出。在此情况下,视频编码器20仅在决策算法结束时设定跳过旗标。
[0225] 在不同实例中,如果当前LCU经IPCM译码,那么视频编码器20可跳过确定用于明度 和色度通道两者的SAO模式。如果LCU中的大部分样本使用无损译码(例如,针对LCU中的大 多数〔11设定(311_化日]13911日]11:_679日33_^日旨),那么视频编码器20也可进行相同操作(即跳过 确定明度和色度SAO模式)。在一些实例中,视频编码器20可改变决策阔值化CU的区域的多 少百分比需要满足W上准则)W便使用跳过模式用于当前LCU。
[0226] 如果视频编码器20考虑在明度或色度导出期间不使用SAO处理(即跳过模式),那 么视频编码器20计算速率失真成本(sao_type_idx_luma/ch;roma等于0)。失真分量等于0, 因为D表示针对SAO的失真减少,且对此情况D等于0。速率成本等效于设定成0的sao_type_ idx_luma或sao_type_idx_ch;roma的区间成本(1个区间)。所得成本产生针对明度分量的 Jno_SA0, Iimm 二入 X ( 1 + Sa〇_〇f f _luma_b i曰S ) W 及针对色度分里白勺 JnO-SAO, chroma 二入 X ( l + Sa〇_ of f_cboma_bias)。sao_of f_luma_bias和sao_of f_cboma_bias偏置在一些实例中可为任 意值或固定为零。
[0227] 视频编码器20执行对各种SAO模式进行编码所必要的位计数的估计。在一个实例 中,在速率失真(R-D)的计算期间用W对SAO语法进行译码的位的估计是通过对用于SAO语 法元素的CABAC区间的数目进行计数("区间计数")而完成。应注意,此处高复杂性计算的其 它任选的实施方案是可能的,视频编码器20可执行语法的完全CABAC编码且运可产生R-D成 本导出的较准确速率成本。在下文描述的一些实例中,本发明包含低复杂性方法的描述。
[0228] 为了估计明度位计数,视频编码器20计算区间计数MncountE日,luma,sa。6。class为:
[0229]
[0230] 为了当视频编码器20应用EO滤波时估计用于两个色度分量的色度位计数,视频编 码器20计算区间计数为:
[0232][0233] 为了估计特定明度类的区间计数,视频编码器20计算区间计数为:
[0231]
[0234]
[0235] 基于C,取得Y、化和化的值,当视频编码器20执行BO模式时针对每一色度分量的区 间计数估计被计算为:
[0236]
[0237]对于明度通道,视频编码器20将针对BO模式的位计数估计计算为:
[023引 bincountlB0,iuma = bincount(sao_type_idx_luma)+bincount0B0,Y = 2 + bincount0B0,Y
[0239] 视频编码器20当应用BO时将针对两个色度分量的区间计数估计计算为:
[0240] bincount Ib日,ChrOma = bincount (sao_type_idx_chroma)+bincountOb日,Cb+ bincount〇B〇,cr
[0241] 随后,视频编码器20将针对整个LCU的位估计计算为:
[0242] bincountsA〇,Lcu
[0243] =bincount (sao_merge_l eft _lag)+b incount (sao_merge_up_f lag) + bincountiuma+bincountchroma
[0244] 随后基于1^上计算,对于best_sao_type_idx_luma二 2的情况,bincountiuma二 binCOUntlEO, Iumao
[0245] 对于 best_sao_type_idx_luma 二 2的情况,bincountchroma二 bincountlE〇,chr〇ma〇 对 于best_sao_type_idx_luma二l的1'青况,bincountlulna二bincountlBo,lulnao对于best_sao_ type_idx_chroma 二 1 的'睛况,bincountchroma二 bincountlB日,chrolnaD对于best_sao_type_idx_ luma二0的情况,bincountlu皿a二bincount(sao_type_idx_luma)二bincount(0)D且对于 best_sao_type_idx_chroma 二 0 的'睛况,bincountchroma 二 bincount(sao_type_idx_chroma) = bincount(0) 〇
[0246] 另外,视频编码器20将用于sao_merge_leftAip_flag的区间计数设定为等于零 (如果它们未经设定)。否则,视频编码器20将用于合并旗标的区间计数设定为等于一。视频 编码器20计算用于sao_type_idx的区间计数。视频编码器20将区间计数计算为bincount (a)=max(2,a+l)。^下在表5中说明区间计数: 「0^/171
[024引表5-用于SAO类型索引的区间计数
[0249] 视频编码器20还确定用于sao_eo_class语法元素的值。用于sao_eo_class语法元 素的区间计数等于二。视频编码器20可进一步经配置W确定用于sao_bands_position语法 元素的区间计数等于五。
[0250] 对于EO模式,视频编码器20将用信号表示的偏移的区间计数计算为bincountEO(a) =max(7,abs(a)+l),其在W下表6中说明。
[0251]
[0巧2] 表6
[0253] 对于BO模式,用于零偏移的区间计数是1,而对于非零偏移b,区间计数是 bincountBO(b) = l+max(7 ,abs(ab)+l)。运在 W下表7中说明。 「WM1
[0255] 表7-用于SAO BO偏移的区间计数
[0256] 图15是说明当前LCU和相邻LCU的概念图。在图15的图中,当前LCU由左上方LCU 420、上方LCU 422、左边LCU 424、左下方LCU 426、下方LCU 428、右下方LCU 430、右边LCU 432和右上方LCU 434定界。左上方、上方和左边LCU最可能可用于当前LCU。然而,其它相邻 LCU(即,右下方LCU 430、左下方LCU 426、下方LCU 428、右边LCU 432和右上方LCU 434)可 能不可用于当前LCU,因为视频编码器20可能尚未处理运些相邻LCU。然而,视频编码器20可 能需要存取运些相邻LCU的样本W例如执行边缘偏移模式导出,因为需要用W确定当前像 素的EO分类器的相邻像素来执行EO导出。
[0257] 视频编码器20当在称为"preSao"和"postSao"的两个处理缓冲器中执行解块时存 储所述样本供使用。在一些实例中,可在存储器64(图4)中分配缓冲器。在一个可能实施方 案中,主处理缓冲器preSao和postSao在SAO处理的应用之前和之后存储样本。分别在宽度 乘W高度方面,preSao缓冲器的大小可为化CU_SIZE+化_skip_cols+l)X化CU_SIZE+化_ skip_rows)。在一个实例中,视频编码器20可将LCU_SIZE的值针对明度设定为32且将LCU_ SIZE的值针对色度设定为16。项化_skip_;rows和化_skip_cols表示针对不处于图片的右边 或下方边界处的LCU,DB块不在处理的当前LCU的下方的像素行W及当前LCU的右边的像素 列。在一个实施方案中,视频编码器20可将其上跳过解块的行和列的数目设定为4。
[0258] 图16是说明根据本发明的技术的用于相对于当前LCU从LCU缓冲样本的技术的概 念图。图16说明视频编码器20在上文相对于图15描述的preSAO缓冲器中存储的像素(样 本)。图16说明两个区,第一区460含有当前LCU、相对于当前LCU的上方相邻LCU、左边相邻 LCU和左上方LCU,且第二区462含有右上方相邻LCU、右边相邻LCU、右下方相邻LCU、下方相 邻LCU和左下方相邻LCU。视频编码器20可能已经解块第一区(preSAO区)中的样本,且视频 编码器20可将第一区460的经解块样本存储在缓冲器中。视频编码器20可能尚未解块第二 区462的样本,但可将第二区462的样本存储在与第一区460的样本相同的缓冲器中。
[0259] 图17是说明根据本发明的技术的视频编码器使用W导出样本自适应偏移参数的 样本的区的概念图。图17说明视频编码器20使用其样本(如图15到16中所说明)但视频编码 器20可使用其导出SAO参数的第一区480( W垂直散列说明)。第一区480包含左上方相邻 LCU、上方相邻LCU、左边相邻LCU和左下方相邻LCU。图17还说明第二区482(W对角线散列说 明),视频编码器20可在与第一区相同的缓冲器中存储且视频编码器20可使用其导出用于 当前LCU的SAO参数。第二区482可包含当前LCU、右边相邻LCU、下方相邻LCU和右下方相邻 LCU。
[0260] 图18是说明根据本发明的技术的用于确定用于最大译码单元的SAO模式的过程的 流程图。仅出于实例的目的,应理解例如视频编码器20的视频编码器可执行图18中说明的 过程。在图18的实例中,视频编码器20可经配置W使用样本自适应偏移SAO模式对图片的 LCU的样本进行编码。为了对LCU的样本进行编码,视频编码器20的SAO单元74可经配置W计 算LCU的对应经重构样本与LCU的原始样本之间的差(502)"SA0单元74可进一步经配置W从 所述差中的每一者削减位的数目W形成经削减的差(504),且将所述差求和W形成差的总 和(506) dSAO单元74可进一步经配置W削减所述差的总和W形成经削减的差的总和(508)。
[0261] 响应于计算经削减的差的总和,SAO单元74可进一步经配置W计算经重构样本的 数目(510),且从经重构样本的数目削减位的数目W形成经削减的样本数目(512),且将经 削减的差的总和除W经削减的样本数目W产生用于LCU的偏移(514)。
[0262] 在一些实例中,SAO模式可包括频带偏移模式或边缘偏移模式。在其它实例中,SAO 可包括频带偏移模式,且视频编码器20可进一步经配置W确定用于频带偏移模式的频带偏 移。为了确定频带偏移模式,视频编码器20可进一步经配置W迭代地算术右移位LCU的原始 样本W将原始样本分类到32区间直方图的区间中。
[0263] 在各种实例中,原始样本可包括LCU的分量平面(例如,明度分量平面或色度分量 平面)的原始样本。另外,在运些实例中,经重构样本可包括LCU的分量平面的经重构样本。 在运些实例中,视频编码器20可进一步经配置W当属于直方图的32个区间中的一者的样本 的数目大于或等于属于LCU的当前分量平面的样本的数目的二分之一时终止样本的迭代分 类。
[0264] 在又一些其它实例中,为了除W经削减的差的总和W产生用于LCU的偏移,视频编 码器20可从等于所述差的总和的变量迭代地减去像素的数目直到所述变量小于或等于零, 将用于LCU的偏移确定为执行的迭代减法的数目,且基于所述差的总和的正负号确定所述 偏移的正负号。
[0265] 在另一实例中,视频编码器20可进一步经配置W存储相对于LCU的上方和左边相 邻LCU的经后解块样本(例如,在缓冲器中),存储相对于当前LCU的下方和右边相邻LCU的经 预先解块样本,且存储LCU的样本。为了使用SAO模式对LCU的样本进行编码,视频编码器20 可进一步经配置W基于LCU的样本中的至少一些对LCU的样本进行编码。在又另一实例中, 视频编码器20可经配置W基于LCU的样本W及存储在缓冲器中的下方和右边相邻LCU的经 预先解块样本的样本而确定用于LCU的SAO模式。
[0266] 图19是说明根据本发明的技术的用于确定用于最大译码单元的SAO模式的过程的 流程图。仅出于实例的目的,应理解,例如视频编码器20的视频编码器可执行图19中说明的 过程。在图19的实例中,视频编码器20可经配置W从多个SAO模式确定用于LCU的SAO模式 (540)。所述多个SAO模式可包括:频带偏移模式、边缘偏移模式、合并上方模式、合并左边模 式,和跳过模式。为了确定SAO模式,视频编码器20可基于用于LCU的SAO模式的预定优先级 而确定所述至少一个SAO模式。在一些实例中,为了确定所述至少一个SAO模式,视频编码器 20可在从用于LCU的色度通道的所述多个模式中确定色度SAO模式之前从用于LCU的明度通 道的所述多个模式中确定明度SAO模式(542)。
[0267] 在一些实例中,视频编码器20可进一步确定合并左边模式、合并上方模式和跳过 模式中的一者是否具有小于或等于阔值成本的速率失真成本。响应于确定合并左边模式、 合并上方模式和跳过模式中的一者具有小于或等于阔值成本的速率失真成本,视频编码器 20可选择合并左边模式、合并上方模式和跳过模式中具有小于或等于阔值成本的速率失真 成本的一者。在另一实例中,视频编码器20可确定合并左边模式、合并上方模式和跳过模式 中的一者是否具有大于阔值成本的速率失真成本。响应于确定合并左边模式、合并上方模 式和跳过模式中的所述一者具有大于阔值成本的速率失真成本,视频编码器20可选择边缘 偏移模式或频带偏移模式用于LCU。
[0268] 在各种实例中,为了从多个SAO模式中的一者确定用于LCU的SAO模式,视频编码器 20可进一步经配置W在从用于LCU的色度通道的所述多个模式中确定SAO模式之前从用于 LCU的明度通道的多个模式中确定SAO模式。
[0269] 在一些其它实例中,为了基于SAO模式的预定优先级确定所述至少一个SAO模式, 视频编码器20可进一步经配置W :确定所述多个SAO模式中的第一SAO模式和所述多个SAO 模式中的第二SAO模式是否具有相同的速率失真成本。响应于确定第一 SAO模式和第二SAO 模式具有相同的速率失真成本,视频编码器20可选择第一 SAO模式用于LCU。在一些实例中, 第一模式可包括频带偏移模式且第二模式可包括边缘偏移模式。在另一实例中,第一模式 可包括合并左边模式,且第二模式可包括合并上方模式。在另一实例中,第一模式可包括频 带偏移模式或边缘偏移模式,且第二模式可包括合并上方模式或合并左边模式。在又另一 实例中,第一模式可包括跳过模式,且第二模式可包括频带偏移模式或边缘偏移模式。
[0270] 在一或多个实例中,所描述功能可用硬件、软件、固件或其任何组合来实施。如果 用软件实施,则所述功能可作为一或多个指令或代码在计算机可读媒体上存储或传输,且 由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于有形 媒体,例如,数据存储媒体,或包含促进将计算机程序从一处传送到另一处(例如,根据通信 协议)的任何媒体的通信媒体。W此方式,计算机可读媒体通常可对应于(1)有形计算机可 读存储媒体,其为非暂时性的,或(2)通信媒体,例如信号或载波。数据存储媒体可W是可由 一或多个计算机或一或多个处理器存取W检索用于实施本发明中描述的技术的指令、代码 及/或数据结构的任何可用媒体。计算机程序产品可W包含计算机可读媒体。
[0271] W实例说明且非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM 或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用来存储呈指 令或数据结构的形式的所要程序代码并且可由计算机存取的任何其它媒体。并且,可恰当 地将任何连接称作计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字 订户线(D化)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输指 令,那么同轴缆线、光纤缆线、双绞线、D化或例如红外线、无线电和微波等无线技术包含在 媒体的定义中。但是,应理解,所述计算机可读存储媒体和数据存储媒体并不包含连接、载 波、信号或其它暂时媒体,而是实际上针对于非暂时性有形存储媒体。如本文中所使用,磁 盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘和蓝光 光盘,其中磁盘通常W磁性方式再现数据,而光盘利用激光W光学方式再现数据。W上各者 的组合也应该包含在计算机可读媒体的范围内。
[0272] 可由例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、 现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一或多个处理器来执行指 令。因此,如本文中所使用的术语"处理器"可指代上述结构或适合于实施本文中所描述的 技术的任何其它结构中的任一者。另外,在一些方面中,本文中所描述的功能性可W在经配 置用于编码和解码的专用硬件和/或软件模块内提供,或者并入在组合编解码器中。并且, 可将所述技术完全实施于一或多个电路或逻辑元件中。
[0273] 本发明的技术可W在广泛多种装置或设备中实施,包含无线手持机、集成电路 (IC)或一组IC(例如,忍片组)。本发明中描述各种组件、模块或单元是为了强调经配置W执 行所掲示的技术的装置的功能方面,但未必需要通过不同硬件单元实现。实际上,如上文所 描述,各种单元可W结合合适的软件及/或固件组合在编解码器硬件单元中,或者通过互操 作硬件单元的集合来提供,所述硬件单元包含如上文所描述的一或多个处理器。
[0274]描述了各种实例。运些和其它实例属于所附权利要求书的范围内。
【主权项】
1. 一种用于对视频数据进行编码的方法,所述方法包括: 使用样本自适应偏移SAO模式对图片的最大译码单元LCU的样本进行编码,其中使用所 述SAO模式对所述LCU的所述样本进行编码包括: 计算所述LCU的对应经重构样本与所述LCU的原始样本之间的差; 从所述差中的每一者削减位的数目以形成经削减的差; 将所述经削减的差求和以形成差的总和; 削减所述差的总和以形成经削减的差的总和; 计算所述经重构样本的数目; 从所述经重构样本的数目削减位的数目以形成经削减的样本数目;以及 将所述经削减的差的总和除以所述经削减的样本数目以产生用于所述LCU的偏移。2. 根据权利要求1所述的方法,其中所述SAO模式包括频带偏移模式或边缘偏移模式。3. 根据权利要求1所述的方法,其中所述SAO模式包括频带偏移模式且用于所述LCU的 所述偏移包括频带偏移,所述方法进一步包括: 确定用于所述频带偏移模式的所述频带偏移,其中确定所述频带偏移包括迭代地算术 右移所述LCU的所述原始样本以将所述原始样本分类到32区间直方图的区间中。4. 根据权利要求3所述的方法,其中所述原始样本包括所述LCU的分量平面的原始样 本,且所述经重构样本包括所述LCU的所述分量平面的经重构样本,所述方法进一步包括: 当属于所述直方图的32个区间中的一者的样本的数目大于或等于属于所述LCU的当前 分量平面的样本的数目的二分之一时终止所述迭代分类。5. 根据权利要求1所述的方法,其中对所述经削减的差的总和做除法以产生用于所述 IXU的所述偏移包括: 从等于所述差的总和的变量迭代地减去所述样本数目直到所述变量小于或等于零; 将用于所述LCU的所述偏移确定为执行的迭代减法的数目;以及 基于所述差的总和的正负号确定所述偏移的正负号。6. 根据权利要求1所述的方法,所述方法进一步包括: 存储相对于所述LCU的上方和左边相邻LCU的经后解块样本; 存储相对于所述当前LCU的下方和右边相邻LCU的经预先解块样本; 存储所述LCU的样本;且 其中使用所述SAO模式对所述LCU的所述样本进行编码包括基于所述LCU的所述所存储 样本中的至少一些而使用所述SAO模式对所述LCU的所述样本进行编码。7. -种用于对视频数据进行编码的装置,所述装置包括: 存储器;以及 至少一个处理器,其中所述至少一个处理器经配置以: 使用样本自适应偏移SAO模式对图片的最大译码单元LCU的样本进行编码,其中为了使 用所述SAO模式对所述LCU的所述样本进行编码,所述至少一个处理器经配置以: 计算所述LCU的对应经重构样本与所述LCU的原始样本之间的差; 从所述差中的每一者削减位的数目以形成经削减的差; 将所述经削减的差求和以形成差的总和; 削减所述差的总和以形成经削减的差的总和; 计算所述经重构样本的数目; 从所述经重构样本的数目削减位的数目以形成经削减的样本数目;以及 将所述经削减的差的总和除以所述经削减的样本数目以产生用于所述LCU的偏移。8. 根据权利要求7所述的装置,其中所述SAO模式包括频带偏移模式或边缘偏移模式。9. 根据权利要求7所述的装置,其中所述SAO模式包括频带偏移模式且用于所述LCU的 所述偏移包括频带偏移,且其中所述至少一个处理器进一步经配置以: 确定用于所述频带偏移模式的所述频带偏移,其中为了确定所述频带偏移,所述至少 一个处理器进一步经配置以迭代地算术右移所述LCU的所述原始样本以将所述原始样本分 类到32区间直方图的区间中。10. 根据权利要求9所述的装置,其中所述原始样本包括所述LCU的分量平面的原始样 本,且所述经重构样本包括所述LCU的所述分量平面的经重构样本,其中所述至少一个处理 器进一步经配置以: 当属于所述直方图的32个区间中的一者的样本的数目大于或等于属于所述LCU的当前 分量平面的样本的数目的二分之一时终止所述迭代分类。11. 根据权利要求7所述的装置,其中为了对所述经削减的差的总和做除法以产生用于 所述IXU的所述偏移,所述至少一个处理器进一步经配置以: 从等于所述差的总和的变量迭代地减去所述样本数目直到所述变量小于或等于零; 将用于所述LCU的所述偏移确定为执行的迭代减法的数目;以及 基于所述差的总和的正负号确定所述偏移的正负号。12. 根据权利要求7所述的装置,其中所述至少一个处理器进一步经配置以: 存储相对于所述LCU的上方和左边相邻LCU的经后解块样本; 存储相对于所述当前LCU的下方和右边相邻LCU的经预先解块样本; 存储所述LCU的样本;且 其中为了使用所述SAO模式对所述LCU的所述样本进行编码,所述至少一个处理器经配 置以基于所述LCU的所述所存储样本中的至少一些而对所述LCU的所述样本进行编码。13. -种用于对视频数据进行编码的方法,所述方法包括: 确定用于LCU的至少一个样本自适应偏移SAO模式,其中所述至少一个SAO模式包括以 下各项中的至少一者:频带偏移模式、边缘偏移模式、合并上方模式、合并左边模式和跳过 模式,且 其中确定所述至少一个SAO模式包括基于用于所述LCU的SAO模式的预定优先级而确定 所述至少一个SAO模式。14. 根据权利要求13所述的方法,其中从所述多个SAO模式中的一者确定用于所述LCU 的所述至少一个SAO模式进一步包括: 在从用于所述LCU的色度通道的所述多个模式中确定色度SAO模式之前从用于所述LCU 的明度通道的所述多个模式中确定明度SAO模式。15. 根据权利要求13所述的方法,其中从所述多个SAO模式中的一者确定用于所述LCU 的所述至少一个SAO模式进一步包括: 确定所述合并左边模式、所述合并上方模式和所述跳过模式中的一者是否具有小于或 等于阈值成本的速率失真成本;以及 响应于确定所述合并左边模式、所述合并上方模式和所述跳过模式中的所述一者具有 小于所述阈值成本的速率失真成本,选择所述合并左边模式、所述合并上方模式和所述跳 过模式中具有小于或等于所述阈值成本的所述速率失真成本的一者。16. 根据权利要求13所述的方法,其中从所述多个SAO模式中的一者确定用于所述LCU 的所述至少一个SAO模式进一步包括: 确定所述合并左边模式、所述合并上方模式和所述跳过模式中的一者是否具有大于阈 值成本的速率失真成本;以及 响应于确定所述合并左边模式、所述合并上方模式和所述跳过模式中的所述一者具有 大于所述阈值成本的速率失真成本,选择所述边缘偏移模式或所述频带偏移模式用于所述 LCU〇17. 根据权利要求13所述的方法,其中基于SAO模式的所述预定优先级而确定所述至少 一个SA0模式进一步包括: 确定所述多个SA0模式中的第一 SA0模式和所述多个SA0模式中的第二SA0模式是否具 有相同的速率失真成本;以及 响应于确定所述第一 SA0模式和所述第二SA0模式具有相同的速率失真成本,选择所述 第一 SA0模式用于所述IXU。18. 根据权利要求17所述的方法,其中所述第一模式包括所述频带偏移模式,且所述第 二模式包括所述边缘偏移模式。19. 根据权利要求17所述的方法,其中所述第一模式包括所述合并左边模式,且所述第 二模式包括所述合并上方模式。20. 根据权利要求17所述的方法,其中所述第一模式包括所述频带偏移模式或所述边 缘偏移模式,且所述第二模式包括所述合并上方模式或所述合并左边模式。21. 根据权利要求17所述的方法,其中所述第一模式包括所述跳过模式,且所述第二模 式包括所述频带偏移模式或所述边缘偏移模式。22. -种用于对视频数据进行编码的装置,所述装置包括: 存储器;以及 至少一个处理器,其中所述至少一个处理器经配置以: 确定用于LCU的至少一个样本自适应偏移SA0模式,其中所述至少一个SA0模式包括以 下各项中的至少一者:频带偏移模式、边缘偏移模式、合并上方模式、合并左边模式和跳过 模式,且 其中确定所述至少一个SA0模式包括基于用于所述LCU的SA0模式的预定优先级而确定 所述至少一个SA0模式。23. 根据权利要求22所述的装置,其中为了从所述多个SA0模式中的一者确定用于所述 IXU的所述SA0模式,所述至少一个处理器进一步经配置以: 在从用于所述LCU的色度通道的所述多个模式中确定色度SA0模式之前从用于所述LCU 的明度通道的所述多个模式中确定明度SA0模式。24. 根据权利要求22所述的装置,其中为了从所述多个SA0模式中的一者确定用于所述 IXU的所述SA0模式,所述至少一个处理器进一步经配置以: 确定所述合并左边模式、所述合并上方模式和所述跳过模式中的一者是否具有小于或 等于阈值成本的速率失真成本;以及 响应于确定所述合并左边模式、所述合并上方模式和所述跳过模式中的所述一者具有 小于所述阈值成本的速率失真成本,选择所述合并左边模式、所述合并上方模式和所述跳 过模式中具有小于或等于所述阈值成本的所述速率失真成本的一者。25. 根据权利要求22所述的装置,其中为了从所述多个SAO模式中的一者确定用于所述 IXU的所述SAO模式,所述至少一个处理器进一步经配置以: 确定所述合并左边模式、所述合并上方模式和所述跳过模式中的一者是否具有大于阈 值成本的速率失真成本;以及 响应于确定所述合并左边模式、所述合并上方模式和所述跳过模式中的所述一者具有 大于所述阈值成本的速率失真成本,选择所述边缘偏移模式或所述频带偏移模式用于所述 LCU〇26. 根据权利要求22所述的装置,其中为了基于SAO模式的所述预定优先级而确定所述 至少一个SA0模式,所述至少一个处理器进一步经配置以: 确定所述多个SA0模式中的第一 SA0模式和所述多个SA0模式中的第二SA0模式是否具 有相同的速率失真成本;以及 响应于确定所述第一 SA0模式和所述第二SA0模式具有相同的速率失真成本,选择所述 第一 SA0模式用于所述IXU。27. 根据权利要求26所述的装置,其中所述第一模式包括所述频带偏移模式,且所述第 二模式包括所述边缘偏移模式。28. 根据权利要求26所述的装置,其中所述第一模式包括所述合并左边模式,且所述第 二模式包括所述合并上方模式。29. 根据权利要求26所述的装置,其中所述第一模式包括所述频带偏移模式或所述边 缘偏移模式,且所述第二模式包括所述合并上方模式或所述合并左边模式。30. 根据权利要求26所述的装置,其中所述第一模式包括所述跳过模式,且所述第二模 式包括所述频带偏移模式或所述边缘偏移模式。
【文档编号】H04N19/147GK105940677SQ201580006206
【公开日】2016年9月14日
【申请日】2015年1月22日
【发明人】阿塔纳西奥斯·利昂塔里斯, 李芒, 苏密特·莫汉, 钟仁肃, H·G·拉古迪
【申请人】高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1