在视频译码中自适应环路滤波中的多个滤波器的混淆的制作方法

文档序号:16365129发布日期:2018-12-22 08:23阅读:192来源:国知局
在视频译码中自适应环路滤波中的多个滤波器的混淆的制作方法

本发明涉及执行视频译码的计算装置。

背景技术

数字视频能力可并入到广泛范围的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(pda)、笔记本或台式计算机、平板计算机、电子书阅读器、数字摄影机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、所谓的“智能电话”、视频电话会议装置、视频流式传输装置等等。数字视频装置实施视频压缩技术,例如由mpeg-2、mpeg-4、itu-th.263、itu-th.264/mpeg-4第10部分高级视频译码(avc)、itu-th.265定义的标准、高效视频译码(hevc)标准及这些标准的扩展中所描述的技术。视频装置可通过实施这些视频压缩技术更有效地传输、接收、编码、解码及/或存储数字视频信息。

视频压缩技术执行空间(图片内)预测及/或时间(图片间)预测来减少或去除视频序列中固有的冗余。对于基于块的视频译码,可将视频切片(即,视频帧或视频帧的一部分)分割为视频块(其还可被称作树型块)、译码单元(cu)及/或译码节点。可使用关于同一图片中的相邻块中的参考样本的空间预测来编码图片的经帧内译码(i)的切片中的视频块。图片的帧间译码(p或b)切片中的视频块可使用关于同一图片中的相邻块中的参考样本的空间预测或关于其它参考图片中的参考样本的时间预测。空间或时间预测导致待译码块的预测性块。残余数据表示经译码的原始块与预测性块之间的像素差。根据指向形成预测性块的参考样本的块的运动向量及指示经译码块与预测性块之间的差异的残余数据来编码经帧间译码块。帧内译码块根据帧内译码模式及残余数据编码。为进行进一步压缩,可将残余数据从像素域变换到变换域,从而产生残余变换系数,可接着量化所述残余变换系数。



技术实现要素:

一般来说,本发明描述与执行自适应环路滤波(alf)的计算装置相关的技术,包含用于译码用于传输滤波器的边信息的技术。这些技术可用于高级视频编解码器的上下文,例如高效视频译码(hevc)的扩展或视频译码标准的下一代。这些技术可用于用信号表示用于传输滤波器的边信息的其它滤波方法中。在一个实例中,本发明描述一种解码或编码视频数据的方法,所述方法包括:由计算装置重构建视频数据的当前图片的一或多个块,当前图片的一或多个块包括当前图片的经重构建样本;以及在重构建当前图片的所述一或多个块之后,由计算装置将多个滤波器的特定函数应用于当前图片的当前块,当前块包括当前图片的经重构建样本。

在另一实例中,本发明描述一种用于解码或编码视频数据的设备,所述设备包括:一或多个处理器,其经配置以:重构建视频数据的当前图片的一或多个块,当前图片的一或多个块包括当前图片的经重构建样本;以及在重构建当前图片的所述一或多个块之后,将多个滤波器的特定函数应用于当前图片的当前块,当前块包括当前图片的经重构建样本。

在另一实例中,本发明描述一种用于解码或编码视频数据的设备,所述设备包括:用于重构建视频数据的当前图片的一或多个块的装置,当前图片的一或多个块包括当前图片的经重构建样本;以及用于在重构建当前图片之后,将多个滤波器的特定函数应用于当前图片的当前块的装置,当前块包括当前图片的经重构建样本。

在另一实例中,本发明描述一种其上存储有指令的计算机可读数据存储媒体,所述指令在经执行时配置用于解码或编码视频数据的装置以执行以下操作:重构建视频数据的当前图片的一或多个块,当前图片的一或多个块包括当前图片的经重构建样本;以及在重构建当前图片的一或多个块之后,将多个滤波器的特定函数应用于当前图片的当前块,当前块包括当前图片的经重构建样本。

在随附图式及以下描述中阐述本发明的一或多个方面的细节。本发明中所描述的技术的其它特征、目标及优点将从描述、图式及权利要求书显而易见。

附图说明

图1为说明可利用本发明中所描述的一或多个技术的实例视频编码及解码系统的框图。

图2为说明滤波器支持的实例自适应环路滤波(alf)的概念图。

图3为说明具有用于滤波器系数用信号表示的三个种类的实例7×7滤波器形状的概念图。

图4为说明根据本发明的技术的用于加权多个滤波器的实例掩模的概念图。

图5为说明根据本发明的技术的包含重叠块的实例图片的框图。

图6为说明根据本发明的一或多种技术的其中图片的块经指派大于一个类别的第一实例的框图。

图7为说明根据本发明的一或多种技术的其中图片的块经指派大于一个类别的第二实例的框图。

图8为说明可实施本发明中所描述的一或多种技术的实例视频编码器的框图。

图9为说明可实施本发明中所描述的一或多种技术的实例视频解码器的框图。

图10为说明根据本发明的一或多种技术的用于编码或解码视频数据的实例操作的流程图。

具体实施方式

视频译码通常涉及从同一图片中的已经译码的视频数据块预测视频数据块(即,帧内预测)或从不同图片中的已经译码的视频数据块预测视频数据块(即,帧间预测)。在一些情况下,视频编码器还通过比较预测性块与原始块来计算残余数据。因此,残余数据表示预测性块与原始块之间的差。视频编码器变换及量化残余数据,且在经编码位流中用信号表示所述经变换及经量化残余数据。视频解码器将残余数据添加到预测性块以产生相比单独的预测性块更紧密匹配原始视频块的经重构建视频块。为进一步改进经解码视频的质量,视频解码器可对经重构建视频块执行一或多个滤波操作。这些滤波操作的实例包含解块滤波、样本自适应偏移(sao)滤波,及自适应环路滤波(alf)。用于这些滤波操作的参数可通过视频编码器确定且在经编码视频位流中经显式地用信号表示,或可通过视频解码器隐式地确定。

图片包括一或多个样本阵列。样本阵列中的每一者对应于不同色彩分量,例如明度分量或色度分量。当视频译码器(例如,视频编码器或视频解码器)应用alf时,视频译码器可将图片的样本阵列分割成相等大小的块,例如4×4块。对于每一相应块,视频译码器将来自经允许方向值的集合中的方向值指派给相应块。另外,对于每一相应块,视频译码器将来自经允许活动值的集合中的活动值指派给相应块。在一些先前提议中,经允许方向值的集合限于3个方向值且经允许活动值的集合限于5个活动值。因此,在这些提议中,可存在方向值与活动值的总共15个组合。

组合中的每一者可被称为群(或称为类别)。因此,块中的每一者可称为属于群中的一者。群中的每一者可与alf系数的集合(或称为滤波器系数的集合)相关联。与群相关联的alf系数的集合可经用信号表示或预定义。视频译码器将使用与块所属的群相关联的alf系数的集合的滤波器应用于块的样本。

将经允许方向值限于3及将经允许活动值限于5可限制alf滤波器的性能,这可能降低压缩效率。相比之下,增加压缩效率可允许解码装置运用等效数据量显示较高质量视频数据,允许解码装置较快存取经编码视频数据,或可能对这些解码装置提供其它改进。将经允许方向值限于3及将经允许活动值限于5可限制alf滤波器的性能,尤其在其中块的特性接近于块经指派来自经允许方向值的集合中的不同方向值或经指派来自经允许活动值的集合中的不同方向值所在的阈值情况下。然而,使用大于15个群可产生正被用信号表示的更多alf系数集合,这也可能降低压缩效率。存储及用信号表示alf系数的额外集合可能增加硬件复杂度,减小可用存储器,延长计算装置响应于请求而显示视频数据所需要的时间,等等。

本发明的技术可解决这些挑战。举例来说,视频译码器可将多个滤波器的混淆应用于块的样本,而非将一个滤波器应用于块的样本。在本发明的上下文中,在一起使用或混合的意义上应用术语“混淆”。举例来说,视频译码器可将多个滤波器的线性函数应用于块的样本。因此,alf滤波器的集合的数目可能不需要增加,而同时,多个滤波器的混淆的应用可解决对通过经允许方向值及经允许活动值的数目所强加的可能滤波器的数目的限制。因此,如本发明中所描述,视频译码器(即,视频编码器或视频解码器)可重构建视频数据的当前图片的样本。另外,在重构建当前图片的样本之后,视频译码器可将多个滤波器的特定函数应用于当前图片的当前块。以此方式,视频译码器可实际上根据特定函数产生新的滤波器,并将所述新的滤波器应用于当前块。当前块包括经重构建样本。

图1为说明可利用本发明的技术的实例视频编码及解码系统10的框图。如图1中所展示,系统10包含源装置12,源装置12提供待在稍后时间由目的地装置14解码的经编码视频数据。确切地说,源装置12经由计算机可读媒体16将视频数据提供到目的地装置14。源装置12及目的地装置14可包括广泛范围的计算装置中的任一者,包含台式计算机、笔记型(即,笔记本)计算机、平板计算机、机顶盒、例如所谓的“智能”电话的电话手机、平板计算机、电视、摄影机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置等等。在一些情况下,源装置12及目的地装置14可能经装备以用于无线通信。因此,源装置12及目的地装置14可为无线通信装置。源装置12为实例视频编码装置(即,用于编码视频数据的装置)。目的地装置14为实例视频解码装置(即,用于解码视频数据的装置)。

在图1的实例中,源装置12包含视频源18、经配置以存储视频数据的存储媒体19、视频编码器20及输出接口24。目的地装置14包含输入接口26、经配置以存储经编码视频数据的存储媒体28、视频解码器30及显示装置32。在其它实例中,源装置12及目的地装置14包含其它组件或布置。举例来说,源装置12可从外部视频源(例如,外部摄影机)接收视频数据。同样地,目的地装置14可与外部显示装置介接,而非包含集成式显示装置。

图1的所说明的系统10仅为一个实例。用于处理视频数据的技术可由任何数字视频编码及/或解码装置来执行。尽管本发明的技术通常由视频编码装置执行,但所述技术还可由视频编码器/解码器(通常被称为“编码解码器”)执行。源装置12及目的地装置14仅为源装置12产生经译码视频数据以供传输到目的地装置14的此类译码装置的实例。在一些实例中,源装置12及目的地装置14可以大体上对称方式操作,使得源装置12及目的地装置14中的每一者包含视频编码及解码组件。因此,系统10可支持源装置12与目的地装置14之间的单向或双向视频传输,例如用于视频流式传输、视频播放、视频广播或视频电话。

源装置12的视频源18可包含视频捕捉装置,例如摄像机、含有先前捕捉的视频的视频存档及/或用以从视频内容提供者接收视频数据的视频馈入接口。作为另一替代,视频源18可产生基于计算机图形的数据作为源视频,或实况视频、经存档视频及计算机产生的视频的组合。源装置12可包括经配置以存储视频数据的一或多个数据存储媒体(例如,存储媒体19)。本发明中所描述的技术可大体上适用于视频译码,且可应用于无线及/或有线应用。在每一情况下,捕捉、预先捕捉或计算机产生的视频可由视频编码器20编码。输出接口24可输出经编码视频信息到计算机可读媒体16。

目的地装置14可经由计算机可读媒体16接收待解码的经编码视频数据。计算机可读媒体16可包括能够将经编码视频数据从源装置12移动到目的地装置14的任何类型的媒体或装置。在一些实例中,计算机可读媒体16包括用以使得源装置12能够实时地将经编码视频数据直接地传输到目的地装置14的通信媒体。可根据通信标准(例如,无线通信协议)调制经编码视频数据,且将其传输到目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如,射频(rf)频谱或一或多个物理传输线。通信媒体可形成基于包的网络(例如局域网、广域网或全球网络,例如因特网)的一部分。通信媒体可包含路由器、交换器、基站或任何其它可适用于有助于从源装置12到目的地装置14的通信的设备。目的地装置14可包括经配置以存储经编码视频数据及经解码视频数据的一或多个数据存储媒体。

在一些实例中,经编码数据可从输出接口24输出到存储装置。类似地,可由输入接口从存储装置存取经编码数据。存储装置可包含多种分布式或本地存取的数据存储媒体中的任一者,例如,硬盘驱动器、蓝光光盘、dvd、cd-rom、闪存器、易失性或非易失性存储器或用于存储经编码视频数据的任何其它合适的数字存储媒体。在再一实例中,存储装置可对应于文件服务器或可存储由源装置12产生的经编码视频的另一中间存储装置。目的地装置14可经由流式传输或下载从存储装置存取存储的视频数据。文件服务器可为能够存储经编码视频数据且将所述经编码视频数据传输到目的地装置14的任何类型的服务器。实例文件服务器包含网页服务器(例如,用于网站)、ftp服务器、网络附接存储(nas)装置或本地磁盘驱动器。目的地装置14可经由任何标准数据连接(包含因特网连接)而存取经编码的视频数据。此数据连接可包含适合于存取存储于文件服务器上的经编码视频数据的无线信道(例如,wi-fi连接)、有线连接(例如,dsl、电缆调制解调器等),或两者的组合。来自存储装置的经编码视频数据的传输可为流式传输、下载传输,或其组合。

所述技术可应用于视频译码以支持多种多媒体应用中的任一者,例如,空中电视广播、有线电视传输、卫星电视传输、因特网流式传输视频传输(例如,经由http的动态自适应流式传输(dash))、经编码到数据存储媒体上的数字视频、存储于数据存储媒体上的数字视频的解码或其它应用。在一些实例中,系统10可经配置以支持单向或双向视频传输以支持应用(例如,视频流式传输、视频播放、视频广播及/或视频电话的应用)。

计算机可读媒体16可包含暂时性媒体,例如无线广播或有线网络传输,或存储媒体(即,非暂时性存储媒体),例如硬盘、快闪驱动器、紧密光盘、数字视频光盘、蓝光光盘或其它计算机可读媒体。在一些实例中,网络服务器(未展示)可从源装置12接收经编码视频数据,且(例如)经由网络传输将经编码视频数据提供到目的地装置14。类似地,媒体产生设施(例如光盘冲压设施)的计算装置可从源装置12接收经编码视频数据且生产含有经编码视频数据的光盘。因此,在各种实例中,可理解计算机可读媒体16包含各种形式的一或多个计算机可读媒体。

目的地装置14的输入接口26从计算机可读媒体16接收信息。计算机可读媒体16的信息可包含由视频编码器20的视频编码器20定义的语法信息,语法信息还由视频解码器30使用,语法信息包含描述块及其它经译码单元(例如,画面组(gop))的特性及/或处理的语法元素。存储媒体28可经配置以存储经编码视频数据,例如通过输入接口26接收的经编码视频数据(例如,位流)。显示装置32向用户显示经解码视频数据,且可包括多种显示装置中的任一者,例如阴极射线管(crt)、液晶显示器(lcd)、等离子显示器、有机发光二极管(oled)显示器或另一类型的显示装置。

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

在一些实例中,视频编码器20及视频解码器30可根据视频译码标准(例如现有或未来标准)来操作。实例视频译码标准包含但不限于:itu-th.261、iso/iecmpeg-1visual、itu-th.262或iso/iecmpeg-2visual、itu-th.263、iso/iecmpeg-4visual及itu-th.264(也被称作iso/iecmpeg-4avc),包含其可扩展视频译码(svc)及多视图视频译码(mvc)扩展。另外,已通过itu-t视频译码专家组(vceg)及iso/iec运动图片专家组(mpeg)的视频译码联合协作小组(jct-vc)最近开发新的视频译码标准(即,高效视频译码(hevc)或itu-th.265),包含其范围及屏幕内容译码扩展、3d视频译码(3d-hevc)及多视图扩展(mv-hevc)及可伸缩扩展(shvc)。

2013年7月25日到8月2日,维也纳,itu-tsg16wp3及iso/iecjtc1/sc29/wg11的视频译码联合协作小组(jct-vc)第14次会议,王等人的“高效视频译码(hevc)缺陷报告(highefficiencyvideocoding(hevc)defectreport)”为hevc的草案规格,且下文中被称作hevcwd。hevcwd可从http://phenix.int-evry.fr/jct/doc_end_user/documents/14_vienna/wg11/jctvc-n1003-v1.zip获得。hevc标准在2013年1月定案。

itu-tvceg(q6/16)及iso/iecmpeg(jtc1/sc29/wg11)现正研究压缩能力显著超过当前hevc标准的压缩能力的未来视频译码技术的标准化的潜在需要(包含用于屏幕内容译码及高动态范围译码的hevc的当前扩展及近期扩展)。所述群体一起工作,为此探索活动而联合努力(被称为联合视频探索小组(jvet)),以评估由此技术领域的其专家所提议的压缩技术设计。jvet在2015年10月19日到21日期间首次会面。可从以下网站下载参考软件最近版本,即联合探索模型2(jem2):https://jvet.hhi.fraunhofer.de/svn/svn_hmjemsoftware/tags/hm-16.6-jem-2.0/2016年3月,圣地亚哥,j.chen等人的“联合探索测试模型2的算法描述(algorithmdescriptionofjointexplorationtestmodel2)”jvet-b1001(下文中“jvet-b1001”)含有jem2的算法的描述,jem2还可被称作jem2.0。

在hevc及其它视频译码规范中,视频序列通常包含一系列图片。图片还可被称为“帧”。图片可包含三个样本阵列,表示为sl、scb及scr。sl为明度样本的二维阵列(即,块)。scb为cb彩度(chrominance)样本的二维阵列。scr为cr彩度样本的二维阵列。彩度样本还可在本文中被称作“色度”样本。在其它情况下,图片可为单色的,且可仅包含亮度样本阵列。

为了产生图片的经编码表示,视频编码器20可产生译码树型单元(ctu)的集合。ctu中的每一者可包括明度样本的译码树型块、色度样本的两个对应译码树型块,及用以译码所述译码树型块的样本的语法结构。在单色图片或具有三个单独色彩平面的图片中,ctu可包括单个译码树型块及用以译码所述译码树型块的样本的语法结构。译码树型块可为样本的n×n块。ctu还可被称作“树型块”或“最大译码单元(lcu)”(lcu)。hevc的ctu可广泛地类似于例如h.264/avc的其它标准的宏块。然而,ctu未必限于特定大小,且可包含一或多个译码单元(cu)。切片可包含按光栅扫描次序连续地定序的整数数目个ctu。

本发明可使用术语“视频单元”或“视频块”或“块”以指代一或多个样本块及用于对样本的所述一或多个块的样本进行译码的语法结构。视频单元的实例类型可包含ctu、cu、pu、变换单元(tu)、宏块、宏块分区,等等。在一些上下文中,pu的论述可与宏块或宏块分区的论述互换。视频块的实例类型可包含译码树型块、译码块及视频数据的其它类型的块。

视频编码器20可编码视频数据的图片的块。视频编码器20可将视频块的经编码表示包含于位流中。举例来说,为产生图片的经译码ctu,视频编码器20可对ctu的译码树型块递回地执行四分树分割,以将译码树型块划分成译码块,因此命名“译码树单元”。在四分树分割中,块分成四个相等大小的子块,所述子块中的任一者可进一步分割成四个相等大小的子子块,等等。译码块为样本的n×n块。cu可包括具有亮度样本阵列、cb样本阵列及cr样本阵列的图片的明亮度样本的译码块,及色度样本的两个对应译码块,及用于译码所述对译码块的样本进行译码的语法结构。在单色图片或具有三个单独色彩平面的图片中,cu可包括单个译码块及用于译码所述译码块的样本的语法结构。

另外,视频编码器20可编码cu。举例来说,为编码cu,视频编码器20可将cu的译码块分割成一或多个预测块。预测块为供应用相同预测的样本的矩形(即,正方形或非正方形)块。cu的预测单元(pu)可包括明度样本的预测块、色度样本的两个对应预测块及用以预测所述预测块的语法结构。在单色图片或具有三个单独色彩平面的图片中,pu可包括单个预测块及用以预测所述预测块的语法结构。视频编码器20可针对cu的每一pu的预测块(例如,明度、cb及cr预测块)产生预测性块(例如,明度、cb及cr预测性块)。

视频编码器20可使用帧内预测或帧间预测来产生pu的预测性块。如果视频编码器20使用帧内预测以产生pu的预测性块,那么视频编码器20可基于包含pu的图片的经解码样本产生pu的预测性块。

视频编码器20可产生用于cu的一或多个残余块。举例来说,视频编码器20可产生cu的明度残余块。cu的明度残余块中的每一样本指示cu的预测性明度块中的一者中的明度样本与cu的原始明度译码块中的对应样本之间的差异。另外,视频编码器20可产生cu的cb残余块。cu的cb残余块中的每一样本可指示cu的预测性cb块中的一者中的cb样本与cu的原始cb译码块中的对应的样本之间的差异。视频编码器20还可产生cu的cr残余块。cu的cr残余块中的每一样本可指示cu的预测性cr块的一者中的cr样本与cu的原始cr译码块中的对应样本之间的差异。

此外,视频编码器20可使用四分树分割以将cu的残余块(例如,明度、cb及cr残余块)分解成一或多个变换块(例如,明度、cb及cr变换块)。换句话说,视频编码器20可根据残余四分树(rqt)分割残余块。变换块为供应用相同变换的样本的矩形(即,正方形或非正方形)块。cu的变换单元(tu)可包括明度样本的变换块、色度样本的两个对应变换块及用于对变换块样本进行变换的语法结构。因此,cu的每一tu可具有明度变换块、cb变换块以及cr变换块。tu的明度变换块可为cu的明度残余块的子块。cb变换块可为cu的cb残余块的子块。cr变换块可为cu的cr残余块的子块。在单色图片或具有三个单独色彩平面的图片中,tu可包括单个变换块及用于变换所述变换块的样本的语法结构。

如上文所提及,视频编码器20可产生表示cu的rqt的数据。cu的rqt包括一组节点。所述节点中的每一者对应于残余样本块。rqt的根节点对应于cu的残余块。rqt的叶节点对应于cu的tu的变换块。rqt的节点可与分裂旗标相关联。节点的分裂旗标可指示所述节点是否具有rqt的多个子节点。

另外,除与分裂旗标相关联以外,rqt的节点还与指示叶节点是否与有效(非零)明度变换块相关联的明度译码块旗标(cbf)相关联。在一些实例中,仅仅rqt的叶节点与明度cbf相关联。除分裂旗标及明度cbf以外,rqt的节点还可与色度cbf(例如,cbcbf及crcbf)相关联。节点的cbcbf指示节点或所述节点的任一后代节点是否与有效cb变换块相关联。如果第二节点为rqt的根节点,或存在经由rqt从第一节点到根节点的通过第二节点且不超过一次通过任一节点的路径,那么第一节点可为第二节点之后代节点。节点的crcbf指示节点或所述节点的任一后代节点是否与有效cr变换块相关联。

视频编码器20可将一或多个变换应用于tu的变换块以产生tu的系数块。举例来说,视频编码器20可将一或多个变换应用于tu的明度变换块,以产生tu的明度系数块。系数块可为变换系数的二维阵列。变换系数可为纯量。视频编码器20可将一或多个变换应用于到tu的cb变换块以产生tu的cb系数块。视频编码器20可将一或多个变换应用于tu的cr变换块以产生tu的cr系数块。在一些实例中,视频编码器20跳过将变换应用于变换块。

在产生系数块(例如,明度系数块、cb系数块或cr系数块)之后,视频编码器20可量化系数块。量化大体上指变换系数经量化以可能减少用以表示变换系数的数据的量从而提供进一步压缩的过程。在一些实例中,跳过量化。在视频编码器20量化系数块之后,视频编码器20可对指示经量化变换系数的语法元素进行熵编码。举例来说,视频编码器20可对指示经量化变换系数的语法元素执行上下文自适应二进制算术译码(cabac)。

视频编码器20可输出包含经编码视频数据的位流。举例来说,位流可包括形成经译码图片及相关联数据的表示的一连串位。因此,位流包括视频数据的经编码表示。在一些实例中,经译码图片的表示可包含块的经编码表示。因此,视频编码器20可在位流中用信号表示块的经编码表示中的块的变换系数。在一些情况下,视频编码器20可使用一或多个语法元素以用信号表示块的每一变换系数。

位流可包括网络抽象层(nal)单元的序列。nal单元为含有nal单元中的数据类型的指示及含有所述数据的字节的语法结构,所述字节呈原始字节序列有效负载(rbsp)形式,视需要与模拟阻止位穿插。nal单元中的每一者可包含nal单元头且封装rbsp。nal单元头可包含指示nal单元类型码的语法元素。通过nal单元的nal单元头指定的nal单元类型码指示nal单元的类型。rbsp可为含有封装在nal单元内的整数数目个字节的语法结构。在一些情况下,rbsp包含零个位。

视频解码器30可接收由视频编码器20产生的位流。此外,视频解码器30可解析位流以从所述位流获得语法元素。视频解码器30可至少部分基于从位流获得的语法元素而重构建视频数据的图片。重构建视频数据的过程可与由视频编码器20执行的过程大体互逆。举例来说,视频解码器30可使用pu的运动向量确定当前cu的pu的预测性块。另外,视频解码器30可反量化当前cu的tu的系数块。视频解码器30可对系数块执行反变换,以重构建当前cu的tu的变换块。通过将当前cu的pu的预测性块的样本添加到当前cu的tu的变换块的对应样本,视频解码器30可重构建当前cu的译码块。通过重构建图片的每一cu的译码块,视频解码器30可重构建图片。

在一些实例中,视频编码器20可使用合并/跳过模式或高级运动向量预测(amvp)模式用信号表示块(例如,pu)的运动信息。举例来说,在hevc中,存在用于预测运动参数的两种模式,一种为合并/跳过模式且另一种为amvp。运动预测可包括基于一或多个其它视频单元的运动信息确定视频单元(例如,pu)的运动信息。pu的运动信息可包含pu的运动向量、pu的参考索引,及一或多个预测方向指示符。

当视频编码器20使用合并模式用信号表示当前pu的运动信息时,视频编码器20产生合并候选列表。换句话说,视频编码器20可执行运动向量预测符列表构建过程。合并候选列表包含指示在空间上或时间上相邻当前pu的pu的运动信息的合并候选的集合。即,在合并模式中,构建运动参数(例如,参考索引、运动向量等)的候选列表,其中候选可来自于空间及时间相邻块。

此外,在合并模式中,视频编码器20可从合并候选列表选择合并候选,且可将由所选择的合并候选所指示的运动信息用作当前pu的运动信息。视频编码器20可用信号表示所选择的合并候选的合并候选列表中的定位。举例来说,视频编码器20可通过传输指示所选择合并候选的候选列表内的位置的索引(即,合并候选索引)用信号表示所选择运动向量参数。视频解码器30可从位流获得到候选列表中的索引(即,合并候选索引)。另外,视频解码器30可产生相同合并候选列表且可基于合并候选索引确定所选择合并候选。接着,视频解码器30可使用所选择的合并候选的运动信息,以产生当前pu的预测性块。即,视频解码器30可至少部分基于候选列表索引,确定候选列表中所选择的候选,其中所选择的候选指定当前pu的运动向量。以此方式,在解码器侧处,一旦解码索引,那么可由当前pu继承索引指向处的对应块的所有运动参数。

跳过模式类似于合并模式。在跳过模式中,视频编码器20及视频解码器30以与视频编码器20及视频解码器30在合并模式中使用合并候选列表的相同方式,产生并使用合并候选列表。然而,当视频编码器20使用跳过模式用信号表示当前pu的运动信息时,视频编码器20并不用信号表示当前pu的任何残余数据。因此,视频解码器30可在不使用残余数据的情况下基于通过合并候选列表中的所选择候选的运动信息指示的参考块确定pu的预测块。

amvp模式类似于合并模式,这是因为视频编码器20可产生候选列表,且可从候选列表选择候选。然而,当视频编码器20使用amvp模式用信号表示当前pu的refpiclistx(其中x为0或1)运动信息时,除用信号表示当前pu的refpiclistx运动向量预测符(mvp)索引(例如,旗标或标识符)以外,视频编码器20还可用信号表示当前pu的refpiclistx运动向量差(mvd)及当前pu的refpiclistx参考索引。用于当前pu的refpiclistxmvp索引可指示amvp候选列表中的所选择的amvp候选的位置。用于当前pu的refpiclistxmvd可指示当前pu的refpiclistx运动向量与所选择amvp候选的运动向量之间的差异。以此方式,视频编码器20可通过用信号表示refpiclistxmvp索引、refpiclistx参考索引值及refpiclistxmvd而用信号表示当前pu的refpiclistx运动信息。换句话说,位流中表示当前pu的运动向量的数据可包含表示参考索引、对候选列表的索引及mvd的数据。因此,所选择运动向量可通过传输索引到候选列表中而用信号表示。另外,还可用信号表示参考索引值及运动向量差值。

此外,当使用amvp模式用信号表示当前pu的运动信息时,视频解码器30可从位流获得当前pu的mvd及mvp旗标。视频解码器30可产生相同的amvp候选列表,且可基于mvp旗标确定所选择的amvp候选。换句话说,在amvp中,基于经译码参考索引导出每一运动假设的运动向量预测符的候选列表。如前所述,此列表可包含与相同参考索引相关联的相邻块的运动向量以及基于时间参考图片中的共置块的相邻块的运动参数导出的时间运动向量预测符。视频解码器30可通过将mvd添加到由所选择的amvp候选所指示的运动向量而恢复当前pu的运动向量。即,视频解码器30可基于由所选择的amvp候选及mvd所指示的运动向量,确定当前pu的所述运动向量。接着,视频解码器30可使用当前pu的经恢复运动向量或运动向量,以产生当前pu的预测性块。

当视频译码器(例如,视频编码器20或视频解码器30)产生当前pu的amvp候选列表时,视频译码器可基于涵盖在空间上与当前pu相邻的位置的pu(即,在空间上相邻的pu)的运动信息导出一或多个amvp候选并基于在时间上与当前pu相邻的pu的运动信息导出一或多个amvp候选。在本发明中,如果pu的预测块(或视频单元的其它类型的样本块)包含位置,那么pu(或其它类型的视频单元)可被称为“涵盖”所述位置。候选列表可包含与相同参考索引相关联的相邻块的运动向量以及基于时间参考图片中的共置块的相邻块的运动参数(即,运动信息)导出的时间运动向量预测符。合并候选列表或amvp候选列表中,基于在时间上相邻当前pu的pu(即,不同于当前pu的时间执行个体中的pu)的运动信息的候选可被称作tmvp。tmvp可用于改进hevc的译码效率,且不同于其它译码工具,tmvp可需要存取经解码图片缓冲器中(更确切地说在参考图片列表中)的帧的运动向量。

如上文所提及,位流可包含视频数据及相关联数据的经编码图片的表示。相关联数据可包含参数集。在hevc及其它视频译码规格中,nal单元可封装视频参数集(vps)、序列参数集(sps)及图片参数集(pps)的rbsp。vps为包括应用于零或多个全部经译码视频序列(cvs)的语法元素的语法结构。sps也为包括应用于零或多个全部cvs的语法元素的语法结构。sps可包含识别在sps在作用中时在作用中的vps的语法元素。因此,vps的语法元素可比sps的语法元素更一般化地可适用。pps包括应用于零或多个经译码图片的语法元素的语法结构。pps可包含识别sps在pps在作用中时在作用中的语法元素。切片的切片头可包含指示pps在切片正被译码时在作用中的语法元素。

在视频译码的领域中,通常应用滤波以便增强经解码视频信号的质量。滤波器可应用为后环路滤波器(其中经滤波帧并非用于未来帧的预测),或应用为环路内滤波器(其中经滤波帧可用以预测未来帧)。举例来说,滤波器可通过最小化原始信号与经解码经滤波信号之间的误差进行设计。举例来说,滤波器可经设计用于最小化原始图片与相同图片的经重构建版本之间的误差(例如,差)。环路内自适应滤波器(例如,自适应环路滤波器(alf))在hevc的开发阶段期间评估,但并不包含于hevc的最终版本中。

例如alf的滤波器可具有一或多个系数。类似于变换系数,滤波器h(k,l)的系数(其中k=-k,…,k且l=-k,…k)可经量化如下:

f(k,l)=round(normfactor·h(k,l))

且接着经译码并发送到视频解码器30。normfactor通常等于2n。normfactor的值愈大,量化精确愈高,且经量化滤波器系数f(k,l)提供较好性能。另一方面,normfactor的较大值产生需要更多用于传输的位的系数f(k,l)。值k可为整数。

视频解码器(例如视频解码器30或视频编码器20的重构建环路)可如下将经解码滤波器系数f(k,l)应用于经重构建图像r(i,j):

在上述方程式(1)中,i及j为帧内中像素的坐标。在方程式(1)中,r(i,j)为在坐标(i,j)处的经重构建图片的样本的未经滤波值且指示在坐标(i,j)处的样本的经滤波值。

jem中采用的环路内自适应环路滤波器最初在2015年1月,sg16-geneva-c806,j.chen等人的“用于下一代视频译码的译码工具研究(codingtoolsinvestigationfornextgenerationvideocoding)”中提议。基本想法与hm-3(2011年3月16日到23日,日内瓦ch,itu-tsg16wp3及iso/iecjtc1/sc29/wg11,jctvc-e603的视频译码联合协作小组(jct-vc)第5次会议,t.wiegand等人的“wd3:高效视频译码的工作草案3(wd3:workingdraft3ofhigh-efficiencyvideocoding)”,下文中称为jctvc-e603)中运用基于块的适应的alf相同。

对于明度分量,基于1维(1d)拉普拉斯(laplacian)方向(例如,高达3个方向)及2维(2d)拉普拉斯活动(高达5个活动值)来对整个图片中的4×4块进行分类。用于分类的规则也称为“矩阵”。方向(表示为dirb)及未经量化活动(指示为actb)的计算在方程式(2)到(5)中展示,其中指示具有对于4×4块的左上的相对坐标(i,j)的经重构建像素或样本。actb可如jctvc-e603中所描述经进一步量化到0到4(包含端值)的范围。

总计,每一块可分类成15(即,5×3)个群中的一者,且索引根据块的dirb及actb的值被指派到每一4×4块。由c表示的群索引经设定为等于其中为actb的经量化值。因此,可针对图片的明度分量用信号表示达到15个alf参数集合。

为节省用信号表示成本,可沿群索引值合并群。即,具有连续群索引的群可合并到一个经合并群。对于每一经合并群,用信号表示alf系数的集合。支持达到三个环形对称滤波器形状(如图2中所示)。在图2的实例中,左部分为5×5菱形,中间部分为7×7菱形,且右部分为截短的9×9菱形。对于图片中的两个色度分量,应用alf系数的单个集合且始终使用5×5菱形形状滤波器。

在解码器侧处,每一像素样本经滤波,从而得到如方程式(6)中所示的像素值i′i,j,其中l表示滤波器长度,fm,n表示滤波器系数且o指示滤波器偏移。

其中及(o=(1<<(bdf-2))且bdf为位深度。在当前jem2中,位深度设定成9,这意味着滤波器系数可在[-256,256]范围内。对于当前设计,仅仅达到一个滤波器经支持用于两个色度分量。

在jem2中,若干语法元素及/或方法可用于用信号表示滤波器系数,包含(但不限于)以下各者中的一或多者:

滤波器的总数:当alf经启用用于一个切片时,首先用信号表示滤波器的总数(或合并群的总数)。其应用于明度分量。对于色度分量,由于仅仅可应用一个滤波器,因此不需要用信号表示此信息。

滤波器支持:用信号表示三个滤波器支持的索引。

滤波器索引:具有c的非连续值的类别可经合并,即,共享同一滤波器。通过译码每一类别的一个旗标以指示其合并或未合并,可导出滤波器索引。

forcecoeff0旗标:forcecoeff0旗标用以指示滤波器中的至少一者是否不应被译码。当此旗标等于0时,应译码所有滤波器。当此旗标等于1时,每一合并群的一个旗标(由codedvarbin表示)经进一步用信号表示以指示滤波器应被用信号表示或不被用信号表示。当滤波器未被用信号表示时,与滤波器相关联的所有滤波器系数等于0。

预测方法:当滤波器的多个群需要被用信号表示时,可使用以下两种技术中的一者:

-所有滤波器经直接译码成滤波器信息。在此状况下,举例来说,滤波器系数的值可在不使用任何预测性编码技术情况下经编码成位流。

-第一滤波器的滤波器系数经直接译码。而对于剩余滤波器,滤波器系数经预测性地译码成滤波器信息。在此情况下,滤波器系数的值可由残余值或相对于与先前经译码滤波器相关联的滤波器系数的差值定义。经先前译码滤波器为最新的滤波器的滤波器,即,当前滤波器的滤波器索引及其预测符是连续的。

为指示以上两种方法中的一者的使用情况,当合并群的数目大于1且frocecoeff0等于0时译码一个旗标。

运用哥伦布译码的滤波器系数

基于一个位置与dc滤波器系数的位置之间的距离,一个滤波器支持可分裂成多个种类。图3中描绘具有3个种类的7×7菱形滤波器形状的一个实例。换句话说,图3说明用于滤波器系数用信号表示的具有三个种类的实例7×7滤波器形状。图3的每一正方形表示一个滤波器系数且含有相同数字的正方形用相同哥伦布参数来译码。

滤波器系数的用信号表示包括两个部分(或在一些实例中由两个部分组成):

1)哥伦布参数:哥伦布参数的一个值(由kmin表示)经首先用信号表示,接着用信号表示用于每一种类的一位旗标。所述一位旗标指示:当i大于1时与用于先前类别(i-1)的哥伦布参数相比,或当i等于1时与kmin相比,种类i的参数(对于7×7菱形对称滤波器支持,i为从1到3(包含端值))相同或经增加1。

2)系数:基于所选哥伦布参数,译码系数的绝对值,然后是正负号旗标。https://en.wikipedia.org/wiki/golomb_coding描述哥伦布译码的细节。

参考图片的alf系数经存储且可再用作当前图片的alf系数。视频译码器(例如,视频编码器20及/或视频解码器30)可选择使用经存储用于参考图片的alf系数作为用于当前图片的alf系数,且可绕过alf系数用信号表示。在此情况下,视频编码器20仅仅用信号表示索引到参考图片中的一者,且所指示参考图片的经存储alf系数经继承用于当前图片。为指示时间预测的使用情况,一个旗标在发送索引之前被译码。

2016年2月20日到26日,美国圣地亚哥,itu-tsg16wp3及iso/iecjtc1/sc29/wg11,文件jvet-b0060_r1的探索小组(jvet)第2次会议,m.karczewicz等人的“对自适应环路滤波器的改进(improvementsonadaptiveloopfilter)”(下文中jvet-b0060_r1)提议基于几何变换的alf(galf)。在galf中,以所考量的对角线梯度来修饰分类,且视频译码器可将几何变换应用于滤波器系数。视频译码器基于方向性及块的活动的经量化值将每一2×2块分类成25个类别中的一者。jvet-b0060_r1的章节2.1提供细节。下文再现jvet-b0060_r1的章节2.1。

每一2×2块基于其方向性d及活动的经量化值经分类成25个类别中的一者:

使用1-d拉普拉斯来计算水平梯度、垂直梯度及两个对角线梯度的值。

索引i及j是指2×2块中的左上方像素的坐标。为指派方向性d,水平梯度与垂直梯度的最大值与最小值的比

及两个对角梯度的最大值与最小值的比

彼此进行比较,且具有临限集合t1及t2:

步骤1.如果两者,那么d设定成0。

步骤2.如果那么从步骤3继续,否则从步骤4继续。

步骤3.如果那么d设定成2,否则d设定成1。

步骤4.如果那么d设定成4,否则d设定成3。

活动值a计算为:

a经进一步量化到0到4(包含端值)的范围,且经量化值表示为

另外,为在时间预测不可用(例如,对于帧内帧)时改进译码效率,16个固定滤波器的集合经指派给每一类别。为指示固定滤波器的使用情况,每一类的旗标被用信号表示,如果需要,所选固定滤波器的索引被用信号表示。即使针对给定类别选择固定滤波器,仍可针对此类别发送自适应滤波器的系数f(k,l),在此情况下将应用于经重构建图像的滤波器系数为两个系数集合的总和。多个类别可共享在位流中被用信号表示的同一系数f(k,l),即使针对所述类别选择不同的固定滤波器。在2016年2月15日申请的美国临时专利申请62/295,461,及2016年4月19日申请的62/324,776中,固定滤波器还可应用于经帧间译码帧。

可以各种方式用信号表示或确定滤波器系数。举例来说,固定滤波器的预测图案及预测索引可经确定用于固定滤波器。在此实例中,定义预测图案的三种情况:情况1:25个类别的滤波器均不从固定滤波器预测;情况2:所述类别中的所有滤波器均从固定滤波器预测;以及情况3:与一些类别相关联的滤波器从固定滤波器预测且与所述类别中的剩余者相关联的滤波器并非从固定滤波器预测。索引可首先经译码以指示三种情况中的一者。另外,以下应用:如果预测图案为情况1,那么不需要进一步用信号表示固定滤波器的索引。否则,如果预测图案为情况2,那么对用于每一类别的选定固定滤波器的索引进行用信号表示。否则(预测图案为情况3),首先用信号表示用于每一类别的一个位,且如果使用固定滤波器,那么进一步用信号表示索引。

为减少表示滤波器系数所需的位的数目,可合并不同类别。然而,不同于jctvc-e603中的,可合并任何类别集合,甚至具有非连续值c的类别。通过针对25个类别中的每一者发送索引ic提供关于合并哪些类别的信息。具有同一索引ic的类别共享经译码的同一滤波器系数。索引ic运用截短固定长度方法进行译码。

类似地,还使用forcecoef0旗标。在forcecoef0旗标等于1时,经合并群(所有待译码滤波器)中的每一者的一位旗标(由codedvarbin表示)被进一步用信号表示,以指示经用信号表示的滤波器系数是否为全零。此外,当此旗标等于1时,预测性译码(即,译码当前滤波器与先前经译码滤波器之间的差值)被停用。

当允许从固定滤波器进行预测时,上文所提及待被用信号表示/译码的滤波器(例如,滤波器参数)为应用于经重构建图像的滤波器与所选固定滤波器之间的差值。在jvet-b0060_r1的galf建议中,其它信息(例如系数)以与jem2.0中相同的方式译码。

类别索引导出:分类仍基于每一n×n明度块的1d拉普拉斯方向及2d拉普拉斯活动。然而,方向及活动两者的定义已经修改以较好捕捉本地特性。首先,除现有alf中使用的水平及垂直梯度以外,使用1-d拉普拉斯计算两个对角线梯度的值。如可从下文方程式(7*)到(10*)见到,涵盖目标像素的6×6窗内的所有像素的梯度的总和用作目标像素的所表示梯度。根据实验,窗大小(即,6×6)提供复杂度与译码性能之间的良好折衷。每一像素与四个梯度值相关联,其中垂直梯度由gv表示,水平梯度通过gh指示,135度对角线梯度通过gd1指示且45度对角线梯度通过gd2指示。

此处,索引i及j是指2×2块中的左上方像素的坐标。

为指派方向性d,在下文方程式(11*)中由rh,v表示的水平梯度与垂直梯度的最大值与最小值的比率,及在下文方程式(12*)中通过rd1,d2指示的两个对角线梯度的最大值与最小值的比率彼此与两个阈值t1及t2进行对照比较。

通过比较水平/垂直及对角线梯度的所检测比率,五个方向模式(即,在[0,4](包含端值)范围内的d)定义于下文方程式(13*)中。d的值及其物理含义描述在表i中。

表i.方向的值及其物理含义

活动值a计算为:

a经进一步量化到0到4(包含端值)的范围,且经量化值表示为

因此,在提议的galf方案中,每一n×n块基于其方向性d及活动的经量化值而分类成25个类别中的一者:

当前alf及galf设计可具有以下问题:首先,每一块通过量化方向/活动值而经指派有一个特定类别索引。因此,相同类别中的块可归因于量化仍具有一些不同特性。此信息并未在当前alf/galf设计中使用。第二,一个块经指派有仅仅一个滤波器,滤波器的指派未考虑相邻信息并限制译码性能。

本发明的技术可解决这些缺点。以下详细列举技术可个别地加以应用。替代地,可应用详细列举技术的组合。以下实例假定alf分类是基于n×n块(其中n为正值,例如,1、2、4)。

对于待滤波的每一n×n块,视频译码器(例如,视频编码器20及/或视频解码器30)应用多个滤波器而非仅使用一个滤波器。因此,在编码视频数据的当前图片之后,视频编码器20可重构建当前图片。另外,在重构建当前图片之后,视频编码器20可将多个滤波器的特定函数应用于当前图片的当前块。当前块包括当前图片的经重构建样本。在一些情况下,视频编码器20在对当前图片的块进行滤波之前不等待完全重构建当前图片。确切地说,视频编码器20可起始对当前图片块进行滤波同时仍重构建当前图片的其它部分。因此,视频编码器20可重构建当前图片的一或多个块(例如,m×n个块),其中所述一或多个经重构建块包含当前图片的经重构建样本。另外,视频编码器20可将多个滤波器的特定函数应用于包括经重构建样本的当前块(例如,k×l块)。类似地,视频解码器30可重构建当前图片(或当前图片的一或多个块)。在重构建当前图片(或当前图片的一或多个块)之后,视频解码器30可将多个滤波器的特定函数应用于当前图片的当前块。

在一些实例中,视频译码器应用多个滤波器的混淆功能(例如线性函数)以混淆这些滤波器。因此,在重构建当前图片的一或多个块之后,视频译码器(例如,视频编码器20或视频解码器30)可将多个滤波器的线性函数应用于当前图片的当前块。举例来说,在一个实例中,方程式(1)的滤波过程经修改成:

在方程式(7)中,指示在经重构建图片的位置(i,j)处的样本的经滤波值,w(m)指示与多个块的第m个块相关联的第m个加权因子,m指示多个块中的块的总数,fm指示用于第m个块或基于类别/群索引而导出用于第m个块的滤波器,k指示用于fm的系数矩阵的长度或高度的1/2,fm(k,l)为对应于用于fm的系数矩阵的位置(k,l)处的系数的经量化系数,且r(i+k,j+l)为位置(i+k,j+l)处的经重构建图片的样本。视频译码器可根据用于如在本发明中别处所描述导出类别/群索引的alf或galf中使用的技术基于类别/群索引导出用于第m个块的滤波器。

在一些实例中,用于对一个n×n块(即,当前块)进行滤波的滤波器的总数等于相邻块的数目加1(即,方程式(7)中的m),其可为模板中定义的块的总数。模板可为以当前块为中心的块的几何图案。在一些实例中,模板可具有菱形形状,类似于图2及图3的那些形状,但其中图2及图3中展示的正方形为n×n块而非个别样本。在其它实例中,模板具有不同形状,例如正方形、矩形、菱形、梯形、三角形等等。在一些实例中,模板经预定义,使得模板可在不用信号表示模板的情况下用于视频编码器20及视频解码器30。

在一些实例中,视频译码器可确定包含于应用于块的混淆功能中的滤波器的数目。举例来说,用于对一个n×n块进行滤波的滤波器的总数(由numf表示)可经定义(例如,经预定义或经用信号表示)。numf可小于定义于模板中的块的总数。在其中numf小于定义于模板中的块的总数的情况下,各种规则可用于从多个滤波器(fm,其中m为0到m-1)中选择numf滤波器。举例来说,可选择与当前n×n块相比具有最小群(类别)索引的模板中之前numf个相邻块。与前numf个相邻块相关联的滤波器用于混淆。

在一些实例中,应用于当前块的多个滤波器经定义为用于不同类别/群的所选择滤波器且所述类别/群经定义为与模板中的相邻样本/块相关联的那些类别/群。举例来说,对于定义于模板中的每一相应块,视频译码器可识别用于相应块的类别/群索引。视频译码器可根据在本发明中别处提供的实例识别类别/群索引。另外,在此实例中,应用于当前块的混淆功能可包含对应于用于相应块的类别/群索引的滤波器。

在一些实例中,模板取决于通过其它图片参考或不参考的切片类型、量化参数、时间识别符或其它信息。换句话说,当将多个滤波器的混淆功能应用于当前块时,取决于含有当前块的切片的切片类型,取决于当前块的量化期间使用的量化参数,取决于含有当前块的图片的时间识别符,或取决于其它因素,视频译码器可使用不同模板。实例切片类型包含i切片、p切片及b切片。i切片可包含帧内预测块,但并不包含帧间预测块。p切片可包含帧内预测块或单向的帧间预测块,但并不包含双向帧间预测块。b切片可包含帧内预测块、单向帧间预测块及双向帧间预测块。举例来说,视频译码器可取决于当前块是在i切片、p切片还是b切片中而使用定义不同几何图案的模板。时间识别符(tid)可将nal单元识别为属于特定时间子层。举例来说,对于具有较低tid的子层,与具有较高tid的那些子层相比,模板可含有更多相邻块/样本。那是由于具有较高tid的子层可从具有较低tid的子层预测且具有较低tid的子层可已经被滤波。

在一些实例中,模板在序列参数头(例如,序列参数集)、图片参数头(例如,图片参数集)、切片头或位流中的另一类型语法结构中用信号表示。在hevc的上下文中,序列参数头可被称为序列参数集且图片参数头可被称为图片参数集。举例来说,视频编码器20可在序列参数头、图片参数头、切片头或位流中的另一类型语法结构中包含语法元素。在此实例中,语法元素指示由模板定义的几何图案。另外,在此实例中,视频解码器30可从序列参数头、图片参数头、切片头或数据流式传输中的其它类型语法结构获得语法元素。在此实例中,视频解码器30可使用所获得语法元素以确定模板。

如上文所提及,多个滤波器的混淆功能可将加权因子(例如,w(m))应用于滤波器的结果。在一个实例中,通过混淆功能采用的加权因子的用信号表示是基于预定义掩模。掩模为到以当前块为中心的块的几何图案中的块的值的指派。举例来说,视频译码器可基于预定义掩模确定用于多个滤波器的功能的加权因子。图4为说明根据本发明的技术的用于加权多个滤波器的实例掩模的概念图。在图4的实例中,每一正方形对应于n×n块。在图4的实例中,含有相同值(即,“掩模值”)的块具有相同加权因子。在一些实例中,加权因子不等于掩模值。采用图4中展示的模板作为实例,具有相同掩模值(图4中的1到4)的那些“块”指示相同加权因子且用信号表示仅仅一个加权因子。举例来说,在图4的实例中,可针对掩模值1用信号表示第一加权因子,可针对掩模值2用信号表示第二加权因子,可针对掩模值3用信号表示第三加权因子,且可针对掩模值4用信号表示第四加权因子。在此实例中,第一、第二、第三及第四加权因子仅仅经用信号表示一次(相较于第一、第二及第三加权因子各自经用信号表示四次)。

因此,在此实例中,视频解码器30可从位流获得指示用于相邻块的加权因子的数据。在此实例中,对于相邻块的每一相应相邻块,多个滤波器包含用于相应相邻块的相应滤波器。另外,在此实例中,当将包括多个滤波器的特定函数应用于经重构建图片的当前块时,视频解码器30可使用用于相邻块的加权因子。

在一些实例中,用于相邻块的加权因子经用信号表示而用于当前块的加权因子被跳过。换句话说,视频编码器20可在位流中指示用于相邻块的加权因子而不在位流中指示用于当前块的加权因子。举例来说,在图4的实例中,视频编码器20可用信号表示用于掩模值1、2及3的加权因子,但不用信号表示用于掩模值4的加权因子。用于当前块的加权因子可通过精度及用于相邻块的所用信号表示加权因子而导出。在一个实例中,用m表示精度,即,所有加权因子的总和等于(1<<m)。用于当前块的加权因子可经导出为(1<<m)减去用于相邻块的所用信号表示加权因子的和。

在一些实例中,可应用加权因子的差分译码。换句话说,视频译码器可使用差分译码以确定在应用于当前块的多个滤波器的功能中使用的加权因子。举例来说,视频编码器20可用信号表示第一加权因子的值,用信号表示第一加权因子与第二加权因子之间的差,并用信号表示第二加权因子与第三加权因子之间的差,而非直接用信号表示第一、第二及第三加权因子的值。加权因子的差分译码可减小用信号表示加权因子所需要的数据的量。

另外,在一个实例中,可进一步用信号表示索引的次序(例如,图4中展示的掩模值)。次序可为递增次序/递减次序。举例来说,第一加权因子可等于10,第二加权因子可等于7,且第三加权因子等于2。在此实例中,可更有效的是首先用信号表示第三加权因子,其次用信号表示第二加权因子,且第三用信号表示第一加权因子。为说明原因,考虑加权因子中的每一者可表示为一元码。因此,如果首先用信号表示第一加权因子,接着用信号表示第二加权因子,接着用信号表示第三加权因子,那么对于总共181的加权因子,将用信号表示101的加权因子,接着用信号表示31的加权因子,接着用信号表示51的加权因子。相比之下,如果首先用信号表示第三加权因子,接着用信号表示第二加权因子,接着用信号表示第一加权因子,那么对于总共121的加权因子,将用信号表示21的加权因子,接着51的加权因子,接着51的加权因子。因此,在此实例中,索引的次序可经用信号表示以使用第二选项而非第一选项。

在一些实例中,一个位可经用信号表示以指示与相邻者相关联的所有加权因子是否等于0。如果不等于0,那么例如使用固定长度译码用信号表示加权因子。举例来说,视频编码器20可在位流中用信号表示指示用于模板中的所有相邻块的加权因子是否等于0的语法元素。如果语法元素指示并非所有用于模板中的相邻块的加权因子等于0,那么视频编码器20可在位流中用信号表示用于模板中的相邻块中的一或多者的加权因子。类似地,视频解码器30可从位流获得指示用于模板中的所有相邻块的加权因子是否等于0的语法元素。响应于确定语法元素指示并非所有用于模板中的相邻块的加权因子等于0,视频解码器30可从位流获得指示用于模板的相邻块中的一或多者的加权因子的数据。在此实例中,视频解码器30可使用与相邻块相关联的加权因子以应用特定函数。

对于一个块,例如基于活动及方向矩阵指派唯一群索引或类别索引。可应用多个滤波器且多个滤波器是基于当前块的矩阵的结果而选择,而非将与群索引或类别索引相关联的一个滤波器应用于此块。在一个实例中,给定当前块的活动actb(或在量化之后,如在本发明中别处所描述的),与actb的连续值(例如)相关联的滤波器用以对当前块进行滤波。举例来说,视频译码器(例如,视频编码器20或视频解码器30)可确定当前块的经量化活动等级及当前块的方向值dirb。在此实例中,视频译码器可将当前块的样本的经滤波值确定为通过应用与及dirb相关联的滤波器、与及dirb相关联的滤波器及与及dirb相关联的滤波器所产生的样本值的平均值(例如,加权平均值)。以此方式,视频译码器可基于当前块的活动等级(例如,actb或)确定多个滤波器中的两个或多于两个滤波器。

在一些实例中,给定一个块dirb的活动,与dirb的连续值(例如(dirb+1)或(dirb-1))相关联的滤波器可用以对当前块进行滤波。举例来说,视频译码器(例如,视频编码器20或视频解码器30)可确定当前块的经量化活动等级及当前块的方向值dirb。在此实例中,视频译码器可将当前块的样本的经滤波值确定为通过应用与及dirb相关联的滤波器、与及(dirb+1)相关联的滤波器及与及(dirb-1)相关联的滤波器所产生的样本值的平均值(例如,加权平均值)。

在一些实例中,上述两种方法一起使用。举例来说,视频译码器(例如,视频编码器20或视频解码器30)可确定当前块的经量化活动等级及当前块的方向值dirb。在此实例中,视频译码器可将当前块的样本的经滤波值确定为通过应用与及dirb相关联的滤波器、与及dirb相关联的滤波器、与及dirb相关联的滤波器、与及(dirb+1)相关联的滤波器及与及(dirb-1)相关联的滤波器产生的样本值的平均值(例如,加权平均值)。以此方式,视频译码器可基于当前块的活动等级(例如,)或当前块的方向值(例如,dirb)中的至少一者确定用于混淆功能中的多个滤波器中的两个或多于两个滤波器。

在一些实例中,视频译码器可使用用于多个滤波器的所选择滤波器的预定义加权因子应用多个滤波器的特定函数(即,混淆功能)。在一些实例中,用于所选择滤波器的加权因子经预定义或在序列参数头、图片参数头或切片头中用信号表示。因此,视频译码器可基于语法元素确定用于所述多个滤波器的所选择滤波器的加权因子并使用用于多个滤波器的所选择滤波器的预定义加权因子应用多个滤波器的特定函数,其中语法元素包含于以下各者中的一或多者中:序列参数头、图片参数头,或切片头。在一个实例中,加权因子对于所有类别是相同的。

在一些实例中,加权因子取决于群索引、类别索引、及/或块相对于译码单元/预测单元/变换单元的位置,及/或译码模式(例如,帧内预测或帧间预测)。举例来说,视频译码器在当前块跨越cu、pu及tu边界的情况下可使用加权因子的第一集合,在当前块不跨越cu、pu及tu边界的情况下可使用加权因子的第二不同集合,在当前块跨越pu边界但不跨越cu边界的情况下可使用加权因子的第三集合,等等。在另一实例中,视频译码器可在当前块包含使用仅仅帧内预测所预测的样本的情况下使用加权因子的第一集合,在当前块包含使用仅仅帧间预测所预测的样本的情况下使用加权因子的第二集合,且在当前块包含使用帧内预测所预测的一些样本及帧间帧间预测所预测的一些样本的情况下使用加权因子的第三集合。因此,根据这些实例,视频译码器可基于群索引、类别索引、当前块相对于译码单元、预测单元变换单元的位置或译码模式确定用于多个滤波器的所选择滤波器的加权因子。在此实例中,视频译码器可使用用于多个滤波器的所选择滤波器的预定义加权因子以包括所述多个滤波器的应用特定函数。

在一些实例中,当alf滤波器的时间预测启用时继承加权因子。举例来说,视频译码器可从用于对先前经译码图片(例如,时间参考图片)中的块进行滤波的加权因子确定加权因子以供在对当前块进行滤波时使用。在一些实例中,即使在alf滤波器的时间预测启用时仍用信号表示加权因子中的一或多者。

在一个实例中,存储加权因子的多个集合且可用信号表示集合的索引。举例来说,视频编码器20及视频解码器30可存储加权因子的多个集合。在此实例中,视频编码器20可使用加权因子的特定集合与当前块且视频编码器20可在位流中用信号表示加权因子的集合的索引。另外,在此实例中,视频解码器30可从位流获得加权因子的集合的索引。基于从位流获得的索引,视频解码器30可确定加权因子的集合以与当前块一起使用。加权因子可应用于模板中的相邻块的滤波器、基于相邻活动等级及/或方向值所确定的滤波器,等等。

在一个实例中,加权因子的所存储集合的总数小于阈值,且当前导出的加权因子可被添加到加权因子的集合。举例来说,视频编码器20及视频解码器30可存储特定数目个加权因子集合。另外,在此实例中,视频编码器20及视频解码器30可独立地导出并未在加权因子的所存储集合中的加权因子的集合。在此实例中,如果视频编码器20选择加权因子的经导出集合,那么视频编码器20可将多个滤波器的功能应用于当前块的样本,其中滤波器根据加权因子的所导出集合而加权。另外,在此实例中,视频编码器20可在位流中用信号表示指示特殊索引值的语法元素。特殊索引值对应于加权因子的导出集合。在此实例中,视频解码器30可从位流获得指示特殊索引值的语法元素。因此,在此实例中,视频解码器30可将多个滤波器的功能应用于当前块的样本,在所述多个滤波器中滤波器根据加权因子的导出集合而加权。

另外,在一些实例中,仅仅当所导出加权因子中的至少一或多者不同于所存储加权因子的一个集合时,所导出加权因子作为加权因子的新集合而添加。另外,在一些实例中,经导出加权因子与加权因子的集合的差值可经译码而非始终再使用所存储的加权因子。举例来说,视频译码器可用信号表示指示加权因子的所导出集合与加权因子的所存储集合之间的差值的值。在一些实例中,视频编码器或解码器可选择三种方法中的一者:直接译码加权因子或经设定索引或差分译码以用于用信号表示加权因子。

根据本发明的技术,图像或切片被分裂成重叠块,而非将一个图像或切片分裂成多个非重叠块及针对每一块指派一个唯一类别索引或群索引。在一个实例中,仍将一个类别索引或群索引指派给每一块。然而,在此实例中,对于包含于多于一个块中的像素(例如,在多于一个块中的像素),多个滤波器可经应用以得到最终经滤波结果。滤波器为在位流中用信号表示并与涵盖一个像素的块的类别索引或群索引相关联的那些滤波器。

以此方式,视频编码器20可重构建视频数据的当前图片的样本。当前图片可包含第一块及第二块,其中第一块与第二块部分重叠。另外,视频编码器20可确定用于第一块的类别及用于第二块的类别。视频编码器20可根据在本发明中别处描述的技术确定用于第一块及第二块的类别。在此实例中,视频编码器20可将与用于第一块的类别相关联的滤波器应用于第一块的每一经重构建样本。另外,在此实例中,视频编码器20可将与用于第二块的类别相关联的滤波器应用于第二块的每一经重构建样本,使得与用于第一块的类别相关联的滤波器及与用于第二块的类别相关联的滤波器两者均应用于第一及第二块的重叠部分中的经重构建样本。因此,视频编码器20将多个滤波器的功能应用于第三块,所述第三块对应于第一块与第二块之间的重叠。类似实例使用群而非类别。

类似地,视频解码器30可接收包括视频数据的多个图片的经编码表示的位流。另外,在此实例中,视频解码器30可重构建多个图片的当前图片的样本。当前图片包含第一块及第二块。在此实例中,第一块与第二块部分重叠。另外,在此实例中,视频解码器30可确定用于第一块的类别及用于第二块的类别。视频解码器30可根据在本发明中别处描述的技术确定用于第一块及第二块的类别。在此实例中,视频解码器30可将与用于第一块的类别相关联的滤波器应用于第一块的每一经重构建样本。在此实例中,视频解码器30可将与用于第二块的类别相关联的滤波器应用于第二块的每一经重构建样本,使得与用于第一块的类别相关联的滤波器及与用于第二块的类别相关联的滤波器两者均应用于第一及第二块的重叠部分中的经重构建样本。因此,视频解码器30将多个滤波器的功能应用于第三块,第三块对应于第一块与第二块之间的重叠。类似实例使用群而非类别。

图5为说明根据本发明的技术的包含重叠块的实例图片的框图。在图5的实例中,小正方形对应于样本。另外,在图5的实例中,分别以长虚线及短虚线来勾勒第一块42及第二块44。在图5的实例中,四个样本46(为易于理解,加灰色阴影)由块42及块44共享。样本46可被视为第三块。另外,视频译码器(例如,视频编码器20或视频解码器30)可确定用于块42的第一群索引及用于块44的第二单独群索引。视频译码器可应用与用于仅仅在块42中的样本48的第一群索引相关联的滤波器且可应用与用于仅仅在块44中的样本50的第二群索引相关联的滤波器。视频译码器可将混淆功能应用于样本46中的每一者。混淆功能为与第一群索引相关联的滤波器与与第二群索引相关联的滤波器的组合。

在一些实例中,多于一个类别索引可经指派给当前块。在这些实例中,经指派给当前块的每一类别索引可与某一滤波器相关联。在一些实例中,可定义多个分类规则。以此方式,视频编码器20可重构建视频数据的当前图片的样本。在此实例中,视频编码器20可指派多个类别索引到当前图片的当前块。所述多个类别索引的每一相应类别索引与多个滤波器中的相应滤波器相关联。另外,视频编码器20可将与经指派给当前块的多个类别索引相关联的滤波器应用于当前块的经重构建样本。在此实例中,在应用滤波器之后,视频编码器20可在编码视频数据的另一图片过程中使用当前图片作为参考图片。类似地,视频解码器30可重构建视频数据的当前图片的样本。在此实例中,视频解码器30可指派多个类别索引到当前图片的当前块。所述多个类别索引的每一相应类别索引与多个滤波器中的相应滤波器相关联。在此实例中,视频解码器30可将与经指派给当前块的多个类别索引相关联的滤波器应用于当前块的经重构建样本。

在一个实例中,不同窗大小(例如,方程式(14*)中的6×6窗及3×3窗)可基于当前块及其相邻块(如果需要)内的经重构建样本用于类别索引计算。举例来说,视频译码器(例如,视频编码器20或视频解码器30)可基于多个窗大小指派多个类别索引到当前块。

图6为说明根据本发明的一或多种技术的其中图片62的块60经指派大于一个类别的实例的框图。在图6的实例中,块60为6×6块。视频译码器(例如,视频编码器或视频解码器)可整体上确定块60的活动等级及方向值。块60的活动等级及方向值可对应于滤波器集合中的特定滤波器。以此方式,视频译码器可基于块60的活动等级及方向值确定滤波器。另外,块60包括四个3×3子块64a、64b、64c及64d(统称为“子块64”)。视频译码器可单独地确定子块64中的每一者的活动等级及方向值。对于子块64的每一相应子块,子块的经确定活动等级及方向值对应于相应滤波器。以此方式,视频译码器可基于相应子块的活动等级及方向值确定滤波器。另外,对于子块64的每一相应子块的每一相应样本,视频译码器可将混淆功能(即,多个滤波器的功能)应用于相应样本。应用于相应样本的混淆功能为基于块60的活动等级及方向值所确定的滤波器与基于相应子块的活动等级及方向值所确定的滤波器的组合。

图7为说明根据本发明的一或多种技术的其中图片72的块70经指派大于一个类别的第二实例的框图。在图7的实例中,块70为2×2块。视频译码器(例如,视频编码器或视频解码器)可基于涵盖块70的6×6块(块74)确定块70的活动等级及方向值。基于6×6块的块70的活动等级及方向值可对应于滤波器集合中的特定滤波器。以此方式,视频译码器可基于块70的活动等级及方向值确定第一滤波器。另外,视频译码器可基于涵盖块70的4×4块(块76)确定块70的活动等级及方向值。以此方式,视频译码器可基于基于块76的活动等级及方向值确定第二滤波器。另外,对于块70的每一相应样本,视频译码器可将混淆功能(即,多个滤波器的功能)应用于相应样本。应用于相应样本的混淆功能为基于块74的活动等级及方向值所确定的滤波器与基于含有相应样本的块76的活动等级及方向值所确定的滤波器的组合。视频译码器可重复此以用于图片的每一2×2块。

在一些实例中,用于当前块的一个类别索引可从相邻块继承且另一类别索引可基于当前块及其相邻块(如果需要)内的经重构建样本而导出。举例来说,视频译码器可使用相邻块(例如,空间上相邻块或时间上相邻块)的类别索引作为当前块的第一类别索引并可根据在本发明中别处描述的类别索引导出技术中的一者(例如,使用方程式(7)到(15))计算当前块的第二类别索引。因此,在这些实例中,作为指派多个类别索引到当前块的部分,视频译码器可从与当前块相邻的块继承所述多个类别索引中的第一类别索引。另外,视频解码器可基于当前块内的经重构建样本导出多个类别索引的第二类别索引。

另外,在一些实例中,与多个导出类别索引相关联的滤波器可联合地使用以对块进行滤波。举例来说,可另外应用在本发明中别处(例如,在方程式(7)中)描述的混淆功能。在这些实例中,作为应用与多个类别索引相关联的滤波器的部分,视频译码器可将与经指派给当前块的多个类别索引相关联的滤波器的特定函数应用于当前块。

在hevc及其它视频译码标准中,视频编码器可对于每一切片用信号表示旗标以指示alf是否经启用用于所述切片。本发明可将此旗标称为切片层级alf控制旗标。如果alf经启用用于切片,那么视频编码器可用信号表示另一旗标以指示一些四分树分裂块是否未使用alf且其它四分树分裂块使用alf。本发明可将此旗标称为块层级alf控制旗标。如果块层级alf控制旗标启用(即,lcu的四分树内的一些块使用alf且同一lcu的四分树中的其它块未使用alf),那么视频编码器进一步用信号表示四分树的深度值以用于用信号表示用于启用/停用alf的旗标。相应大小命名为“alf控制大小”。举例来说,如果lcu为128×128,那么深度值0指示128×128;深度值1指示64×64;深度值2指示32×32,等等。对于四分树分裂,如果cu大于或等于alf控制大小,那么视频编码器用信号表示用于在cu中启用/停用alf的旗标。否则,如果cu小于alf控制大小,那么若干相邻cu经合并以共享用于在cu中启用/停用alf的一个用信号表示旗标。

在一些实例中,提议进一步考虑在经译码切片中支持的其它树类型的深度,而非根据四分树的深度用信号表示用于启用/停用alf的旗标。在一个实例中,其它树类型可包含二元树、对称中心侧三元树、不对称树及其它类型的树结构中的一者。在二元树中,块被垂直地或水平地分割成两个大小相等的子块,所述子块中的每一者可以相同方式递回地分割。在对称中心侧三元树中,块被水平地或垂直地分割成三个子块,其中外部子块大小相等,所述子块可以相同方式递回地分割。在不对称树中,块经分割成大小不等的两个或多于两个子块,所述子块可以相同方式进一步递回地分割。

以此方式,视频编码器20可将指示alf是被启用还是被停用的语法元素(例如,用于启用/停用alf的旗标)包含在包括视频数据的当前图片的经编码表示的位流中。在此实例中,语法元素是根据除四分树以外的一种类型的树的深度而用信号表示。另外,在此实例中,视频编码器20可重构建视频数据的当前图片的样本。在此实例中,响应于基于语法元素确定alf被启用,视频编码器20可将alf应用于当前图片的经重构建样本。在应用滤波器之后,视频编码器20可在编码视频数据的另一图片中使用当前图片作为参考图片。

类似地,视频解码器30可从包括视频数据的当前图片的经编码表示的位流获得指示alf是被启用还是被停用的语法元素。在此实例中,语法元素根据除四分树以外的一种类型的树的深度而用信号表示。另外,在此实例中,视频解码器30可重构建视频数据的当前图片的样本。在此实例中,响应于基于语法元素确定alf被启用,视频解码器30可将alf应用于当前图片的经重构建样本。

在一些实例中,启用/停用alf的控制可进一步考虑经译码信息(例如,合并/amvp模式、经译码块旗标(cbf)、块大小等),如果条件满足(例如,cbf等于0),那么不需要用信号表示启用/停用旗标。举例来说,视频编码器20可在正使用合并模式译码块时针对所述块不用信号表示alf启用/停用旗标,但可在正使用amvp模式译码所述块时用信号表示用于所述块的alf启用/停用旗标。在另一实例中,视频编码器20可在块的大小大于或等于特定阈值(例如,8×8、16×16等)时用信号表示用于所述块的alf启用/停用旗标,但在所述块的大小小于特定阈值时不用信号表示用于所述块的启用/停用旗标。

以此方式,视频编码器20可基于经译码信息确定是否将指示alf是被启用还是被停用的语法元素包含于位流中。另外,在此实例中,视频编码器20可重构建视频数据的当前图片的样本。在此实例中,响应于确定alf被启用,视频编码器20可将alf应用于当前图片的经重构建样本。在应用滤波器之后,视频编码器20可在编码视频数据的另一图片中使用当前图片作为参考图片。类似地,视频解码器30可基于经译码信息确定位流是否包含指示alf是被启用还是被停用的语法元素。另外,在此实例中,视频解码器30可重构建视频数据的当前图片的样本。在此实例中,响应于确定alf被启用,视频解码器30可将alf应用于当前图片的经重构建样本。应用alf可包括将多个滤波器的功能应用于经重构建图片的块。在这些实例中,经译码信息可包含以下各者中的至少一者:视频译码器(例如,视频编码器20或视频解码器30)的合并/高级运动向量预测(amvp)模式、经译码块旗标(cbf),或块大小。另外,在一些实例中,视频译码器可基于语法元素确定alf是否被启用。在一些实例中,视频译码器可基于经译码信息确定alf是否被启用。

在一些实例中,滤波过程在不运用除法运算的情况下运用移位、乘法及求和运算而实施。举例来说,用bdf表示滤波器的位深度,通过bdw表示加权因子的位深度,通过bds表示经重构建样本的位深度。假定目标内部位深度由maxbd定义。以下方法可经应用以执行滤波过程:

运用应用于当前像素的所选择滤波器中的一者将加权因子应用于每一内部样本。内部样本指示应用第m个滤波器(即,)的值。仅仅在滤波过程结束后调用舍入或具有偏移的舍入。在此实例中,方程式(7)可重写为:

在一个实例中,偏移(offset)设定为等于(1<<(bdf-2+bdw))。在一些实施中,此实例仅仅在(bdf+bdw+bds)不大于maxbd时启用。

在一些实例中,内部滤波器是基于所有加权因子及所选择多个滤波器而导出。内部滤波器接着应用于当前像素以导出最终经重构建像素。可两次调用舍入或具有偏移的舍入。在一个实例中,具有/不具有偏移的舍入是在通过对所选择多个滤波器进行加权导出内部滤波器时调用。在滤波过程结束时调用具有/不具有偏移的另一舍入。在此实例中,方程式(7)可重写为:

cf(k,l)=(cf(k,l)+o0)>>(s0)(11)

在一个实例中,s0定义为(bdf+bdw+bds-maxbd)且s1定义为(bdf-1)。在一个实例中,o0设定为等于(s0>>1)且o1设定为等于(s1>>1)。在一些实例中,此实例仅仅当(bdf+bdw+bds)大于maxbd时启用。

图8为说明可实施本发明中所描述的技术的实例视频编码器20的框图。视频编码器20可执行视频切片内的视频块的帧内译码及帧间译码。帧内译码依赖于空间预测以缩减或去除给定视频帧或图片内的视频中的空间冗余。帧间译码依赖于时间预测以缩减或去除视频序列的相邻帧或图片内的视频的时间冗余。帧内模式(i模式)可指代若干基于空间的压缩模式中的任一者。帧间模式(例如,单向预测(p模式)或双向预测(b模式))可指代若干基于时间的压缩模式中的任一者。

在图8的实例中,视频编码器20包含视频数据存储器133、分割单元135、预测处理单元141、求和器150、变换处理单元152、量化单元154、熵编码单元156。预测处理单元141包含运动估计单元(meu)142、运动补偿单元(mcu)144及帧内预测单元146。为了视频块重构建,视频编码器20还包含反量化单元158、反变换处理单元160、求和器162、alf单元164及经解码图片缓冲器(dpb)166。

如图8中所示,视频编码器20接收视频数据且将所接收视频数据存储于视频数据存储器133中。视频数据存储器133可存储待由视频编码器20的组件编码的视频数据。可例如从视频源18获得存储于视频数据存储器133中的视频数据。dpb166可为存储参考视频数据以用于由视频编码器20编码视频数据(例如在帧内或帧间译码模式中)的参考图片存储器。视频数据存储器133及dpb166可由例如动态随机存取存储器(dram)的多种存储器装置中的任一者形成,包含同步dram(sdram)、磁阻式ram(mram)、电阻式ram(rram)或其它类型的存储器装置。视频数据存储器133及dpb166可由同一存储器装置或单独存储器装置提供。在各种实例中,视频数据存储器133可与视频编码器20的其它组件一起在芯片上,或相对于那些组件而言在芯片外。

分割单元135从视频数据存储器133检索视频数据且将视频数据分割成视频块。此分割还可包含分割成切片、图像块或其它较大单元,以及(例如)根据lcu及cu的四分树结构分割的视频块。视频编码器20大体上说明编码待编码视频切片内的视频块的组件。切片可划分成多个视频块(且可能划分成被称作图像块的视频块集合)。预测处理单元141可基于误差结果(例如,译码速率及失真程度)选择当前视频块的多个可能译码模式中的一者(例如多个帧内译码模式中的一者或多个帧间译码模式中的一者)。预测处理单元141可将所得帧内或帧间译码块提供到求和器150以产生残余块数据及提供到求和器162以重构建经编码块以用作参考图片。

预测处理单元141内的帧内预测单元146可执行当前视频块相对于与待译码的当前块相同的帧或切片中的一或多个相邻块的帧内预测译码以提供空间压缩。预测处理单元141内的运动估计单元142及运动补偿单元144执行当前视频块相对于一或多个参考图片中的一或多个预测块的帧间预测译码,以提供时间压缩。

运动估计单元142可经配置以根据视频序列的预定图案来确定用于视频切片的帧间预测模式。预定图案可将序列中的视频切片指定为p切片或b切片。运动估计单元142及运动补偿单元144可高度集成,但为概念目的而分别说明。由运动估计单元142所执行的运动估计为产生估计视频块的运动的运动向量的过程。举例来说,运动向量可指示将当前视频帧或图片内的视频块的pu相对于参考图片内的预测性块的移位。

预测性块为就像素差而言被发现紧密地匹配待译码的视频块的pu的块,所述像素差可由绝对差和(sad)、平方差和(ssd)或其它差度量确定。在一些实例中,视频编码器20可计算存储于dpb166中的参考图片的子整数像素位置的值。举例来说,视频编码器20可内插参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元142可执行关于全像素位置及分数像素位置的运动搜索且输出具有分数像素精度的运动向量。

运动估计单元142通过比较pu的定位与参考图片的预测性块的定位而计算帧间译码切片中的视频块的pu的运动向量。参考图片可选自第一参考图片列表(列表0)或第二参考图片列表(列表1),参考图片列表中的每一者识别存储于dpb166中的一或多个参考图片。运动估计单元142将所计算的运动向量发送到熵编码单元156及运动补偿单元144。

由运动补偿单元144执行的运动补偿可涉及基于通过运动估计确定的运动向量提取或产生预测性块,可能执行内插达子像素精确度。在接收到当前视频块的pu的运动向量之后,运动补偿单元144可在参考图片列表中的一者中定位运动向量所指向的预测性块。视频编码器20通过从正经译码的当前视频块的像素值减去预测性块的像素值来形成残余视频块,从而形成像素差值。像素差值形成用于块的残余数据,且可包含明度及色度差分量两者。求和器150表示执行此减法运算的一或多个组件。运动补偿单元144还可产生与视频块及视频切片相关联的语法元素以供视频解码器30在解码视频切片的视频块时使用。

在预测处理单元141经由帧内预测或帧间预测产生当前视频块的预测性块之后,视频编码器20通过从当前视频块减去预测性块而形成残余视频块。残余块中的残余视频数据可包含于一或多个tu中且被应用于变换处理单元152。变换处理单元152使用例如离散余弦变换(dct)或概念上类似变换的变换将残余视频数据变换成残余变换系数。变换处理单元152可将残余视频数据从像素域转换到变换域,例如频域。

变换处理单元152可将所得变换系数发送到量化单元154。量化单元154量化变换系数以进一步减小位速率。量化过程可减小与系数中的一些或所有相关联的位深度。可通过调整量化参数来修改量化程度。在一些实例中,量化单元154可接着执行对包含经量化变换系数的矩阵的扫描。替代地,熵编码单元156可执行扫描。

在量化之后,熵编码单元156熵编码经量化变换系数。举例来说,熵编码单元156可执行上下文自适应可变长度译码(cavlc)、上下文自适应二进制算术译码(cabac)、基于语法的上下文自适应二进制算术译码(sbac)、概率区间分割熵(pipe)译码或另一熵编码方法或技术。在由熵编码单元156熵编码之后,经编码位流可被传输到视频解码器30,或经存档以供视频解码器30稍后传输或检索。熵编码单元156还可熵编码当前正译码的视频切片的运动向量及其它语法元素。

反量化单元158及反变换处理单元160分别应用反量化及反变换以重构建像素域中的残余块以供稍后用作参考图片的参考块。运动补偿单元144可通过将残余块添加到参考图片列表中的一者内的参考图片中的一者的预测性块来计算参考块。运动补偿单元144还可将一或多个内插滤波器应用于经重构建残余块以计算用于在运动估计中使用的次整数像素值。求和器162将经重构建残余块添加到通过运动补偿单元144产生的运动补偿预测块以产生经重构建块。换句话说,求和器162将经重构建残余块的样本添加到运动补偿预测块的对应样本以重构建经重构建块的样本。

alf单元164对经重构建块(例如,求和器162的输出)进行滤波且将经滤波的经重构建块存储于dpb166中用作参考块。参考块可由运动估计单元142及运动补偿单元144用作为参考块以对后续视频帧或图片中的块进行帧间预测。尽管未明确展示于图8中,视频编码器20可包含额外滤波器,例如解块滤波器、样本自适应偏移(sao)滤波器,或其它类型环路滤波器。解块滤波器可(例如)将解块滤波应用于滤波器块边界,以从经重构建视频去除块效应伪影。sao滤波器可将偏移应用于经重构建像素值,以便改进总体译码质量。在一些实施中,sao可为alf滤波的特殊情况或特殊模式。还可使用额外环路滤波器(环路内或环路后)。

alf单元164(单独或结合视频编码器20的其它组件)可经配置以执行本发明中所描述的各种技术,包含权利要求书章节以及别处中描述的技术。举例来说,视频编码器20可重构建视频数据的当前图片的样本,如在本发明中别处所描述。另外,alf单元164可将多个滤波器的特定函数应用于当前图片的当前块。当前块包括当前图片的经重构建样本。将特定函数应用于当前块可包括将特定函数应用于当前块的每一经重构建样本。在一些实例中,alf单元164指派多个类别索引到当前图片的当前块,多个类别索引的每一相应类别索引与多个滤波器中的相应滤波器相关联。另外,作为将特定函数应用于当前块的部分,alf单元164可将与经指派给当前块的多个类别索引相关联的滤波器应用于当前块的经重构建样本。在应用滤波器之后,预测处理单元141可在编码视频数据的另一图片中使用当前图片作为参考图片。

在一些实例中,视频编码器20可将指示alf是被启用还是被停用的语法元素包含在包括视频数据的当前图片的经编码表示的位流中,其中语法元素是根据除四分树以外的一种类型的树的深度而用信号表示。alf可为多个滤波器的功能。在此实例中,视频编码器20可重构建视频数据的当前图片的样本,如在本发明中别处所描述。另外,响应于确定(例如,基于语法元素)alf被启用,alf单元164可将alf应用于当前图片的经重构建样本。在应用滤波器之后,预测处理单元141可在编码视频数据的另一图片中使用当前图片作为参考图片。

在一些实例中,视频编码器20可基于经译码信息确定是否将指示alf是被启用还是被停用的语法元素包含于位流中。视频编码器20可重构建视频数据的当前图片的样本,如在本发明中别处所描述。响应于确定alf被启用,alf单元164可将alf应用于当前图片的经重构建样本。在应用滤波器之后,预测处理单元141可在编码视频数据的另一图片中使用当前图片作为参考图片。

图9为说明可实施本发明中所描述的技术的实例视频解码器30的框图。在图9的实例中,视频解码器30包含视频数据存储器178、熵解码单元180、预测处理单元181、反量化单元186、反变换处理单元188、求和器190及dpb194。预测处理单元181包含运动补偿单元182及帧内预测单元184。视频解码器30可在一些实例中执行与关于来自图8的视频编码器20描述的编码遍次大体上互逆的解码遍次。

在解码过程期间,视频解码器30从视频编码器20接收表示经编码视频切片的视频块,及相关联语法元素的经编码视频位流。视频解码器30将所接收的经编码视频位流存储于视频数据存储器178中。视频数据存储器178可存储待由视频解码器30的组件解码的视频数据,例如经编码视频位流。可(例如)经由链路16从存储媒体28或从本地视频源(例如摄影机)或通过存取物理数据存储媒体获得存储于视频数据存储器178中的视频数据。视频数据存储器178可形成存储来自经编码视频位流的经编码视频数据的经译码图片缓冲器(cpb)。dpb194可为存储用于(例如)在帧内或帧间译码模式中通过视频解码器30解码视频数据的参考视频数据的参考图片存储器。视频数据存储器178及dpb194可由各种存储器装置中的任一者形成,所述存储器装置例如dram、sdram、mram、rram或其它类型的存储器装置。视频数据存储器178及dpb194可由同一存储器装置或单独存储器装置提供。在各种实例中,视频数据存储器178可与视频解码器30的其它组件一起在芯片上,或相对于那些组件而言在芯片外。

视频解码器30的熵解码单元180熵解码存储于视频数据存储器178中的视频数据以产生经量化系数、运动向量及其它语法元素。熵解码单元180将运动向量及其它语法元素转递到预测处理单元181。视频解码器30可在视频切片层级及/或视频块层级处接收语法元素。

当视频切片经译码为经帧内译码(i)切片时,预测处理单元181的帧内预测处理单元184可基于来自当前帧或图片的先前经解码块的经用信号表示帧内预测模式及数据来产生用于当前视频切片的视频块的预测数据。当视频帧经译码为帧间译码切片(即,b切片或p切片)时,预测处理单元181的运动补偿单元182基于从熵解码单元180接收的运动向量及其它语法元素而产生当前视频切片的视频块的预测性块。可从参考图片列表中的一者内的参考图片中的一者产生预测性块。视频解码器30可基于存储于dpb194中的参考图片使用默认构建技术来构建参考帧列表,列表0及列表1。

运动补偿单元182通过解析运动向量及其它语法元素来确定当前视频切片的视频块的预测信息,且使用所述预测信息产生正经解码的当前视频块的预测性块。举例来说,运动补偿单元182使用所接收语法元素中的一些以确定用以译码视频切片的视频块的预测模式(例如,帧内或帧间预测)、帧间预测切片类型(例如,b切片或p切片)、用于所述切片的参考图片列表中的一或多者的构建信息、用于所述切片的每一经帧间编码视频块的运动向量、用于所述切片的每一经帧间译码视频块的帧间预测状态,及用以解码当前视频切片中的视频块的其它信息。

运动补偿单元182还可执行基于内插滤波器的内插。运动补偿单元182可使用如由视频编码器20在视频块的编码期间使用的内插滤波器,以计算参考块的次整数像素的内插值。在此状况下,运动补偿单元182可从所接收的语法元素确定由视频编码器20使用的内插滤波器且使用所述内插滤波器来产生预测性块。

反量化单元186反量化(即,解量化)位流中所提供,并由熵解码单元180解码的经量化变换系数。反量化过程可包含使用由视频编码器20所计算的用于视频切片中的每一视频块的量化参数,以确定量化程度及(同样地)应该应用的反量化程度。反变换处理单元188对变换系数应用反变换,例如反dct、反整数变换或概念地类似的反变换过程,以便产生像素域中的残余块。

在预测处理单元181使用(例如)帧内或帧间预测产生当前视频块的预测性块之后,视频解码器30可通过对来自反变换处理单元188的残余块与由运动补偿单元182产生的对应预测性块进行求和而形成经重构建视频块。换句话说,视频解码器30可添加残余块的样本到预测性块的对应样本以重构建图片的视频块的样本。求和器190表示执行此求和运算的一或多个组件。alf单元192使用(例如)本发明中所描述的alf技术中的一或多者对经重构建视频块进行滤波。

尽管未明确展示于图9中,但视频解码器30还可包含解块滤波器、sao滤波器或其它类型滤波器中的一或多者。其它环路滤波器(在译码环路中或在译码环路之后)也可用于使像素转变平滑,或另外改进视频质量。给定帧或图片中的经解码视频块随后存储于dpb194中,所述dpb存储用于后续运动补偿的参考图片。dpb194可为额外存储器的部分或与其分离,所述额外存储器存储用于稍后呈现于显示装置(例如图1的显示装置32)上的经解码视频。

alf单元192(单独或结合视频解码器30的其它组件)可经配置以执行本发明中所描述的各种技术,包含权利要求书章节以及别处中描述的技术。

举例来说,视频解码器30可重构建视频数据的当前图片的样本,如在本发明中别处所描述。另外,在此实例中,在重构建当前图片的样本之后,视频解码器30可将多个滤波器的特定函数应用于当前图片的当前块。举例来说,alf单元192可指派多个类别索引到当前图片的当前块,多个类别索引中的每一相应类别索引与多个滤波器中的相应滤波器相关联。另外,在此实例中,alf单元192可将与经指派给当前块的多个类别索引相关联的滤波器应用于当前块的经重构建样本。

在一些实例中,视频解码器30可从包括视频数据的当前图片的经编码表示的位流获得指示alf是被启用还是被停用的语法元素,其中语法元素根据除四分树以外的一种类型的树的深度而用信号表示。alf可为多个滤波器的特定函数。另外,视频解码器30可重构建视频数据的当前图片的样本,如在本发明中别处所描述。响应于基于语法元素确定alf被启用,alf单元192可将alf应用于当前图片的经重构建样本。

在一些实例中,alf单元192可基于经译码信息确定位流是否包含指示自适应环路滤波器(alf)是被启用还是被停用的语法元素。另外,视频解码器30可重构建视频数据的当前图片,如在本发明中别处所描述。响应于确定alf被启用,alf单元192可将alf应用于当前图片的经重构建样本。

图10为根据本发明的一或多种技术的说明视频译码器的实例操作的流程图。本发明的流程图作为实例提供。在其它实例中,操作可包含更多、更少或不同动作。此外,动作可以不同次序执行。

在图10的实例中,包括视频译码器(例如,视频编码器20或视频解码器30)的计算装置可重构建视频数据的当前图片的一或多个块(250)。举例来说,视频译码器可重构建当前图片的一或多个ctb。当前图片的一或多个块包括当前图片的经重构建样本。因此,重构建一或多个块包括重构建当前图片的样本。举例来说,在其中视频译码器为图8中展示的视频编码器的实例中,反量化单元158、反变换处理单元160及求和器162可重构建视频数据的当前图片的一或多个块。在其中视频译码器为图9中展示的视频解码器的实例中,预测处理单元181、反量化单元187、反变换处理单元188及求和器190可重构建视频数据的当前图片的一或多个块。

在重构建当前图片的一或多个块之后,视频译码器可将多个滤波器的特定函数应用于当前图片的当前块(252)。当前块未必在大小或形状方面对应于在重构建当前图片的过程中使用的一或多个块。确切地说,如此处所使用的当前块仅包括在重构建当前图片的过程中使用的一或多个块中的经重构建样本。在其中视频译码器为图8中展示的视频编码器的一些实例中,alf单元164可将多个滤波器的特定函数应用于当前块。另外,在视频译码器为视频编码器的情况下,视频编码器可使用经滤波图片作为用于编码其它图片的参考图片。在其中视频译码器为图9中展示的视频解码器的实例中,alf单元192可将多个滤波器的特定函数应用于当前块。另外,在其中视频译码器为视频解码器的实例中,视频解码器可输出经滤波图片。视频译码器可根据在本发明中在别处提供的实例中的任一者应用多个滤波器的特定函数。举例来说,视频译码器可应用多个滤波器的线性函数。在一些实例中,针对由模板定义的多个相邻块的每一相应相邻块,多个滤波器包含与相应相邻块相关联的相应滤波器。

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

借助于实例而非限制,此类计算机可读存储媒体可包括ram、rom、eeprom、cd-rom或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、闪存器、高速缓存存储器或可用以存储呈指令或数据结构形式的所要程序代码且可由计算机存取的任何其它媒体。并且,任何连接被恰当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光缆、双绞线、数字用户线(dsl)或无线技术(例如红外线、无线电及微波)从网站、服务器或其它远程源传输指令,那么同轴电缆、光缆、双绞线、dsl或无线技术(例如红外线、无线电及微波)包含于媒体的定义中。然而,应理解,计算机可读存储媒体及数据存储媒体不包含连接、载波、信号或其它暂时性媒体,而是实际上有关非暂时性有形存储媒体。如本文中所使用,磁盘及光盘包含紧密光盘(cd)、激光光盘、光学光盘、数字多功能盘(dvd)、软盘及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘使用激光以光学方式再现数据。以上各者的组合也应包含于计算机可读媒体的范围内。

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

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

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

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1