CN112243587A - 基于块的自适应环路滤波器(alf)设计和信令通知 - Google Patents

基于块的自适应环路滤波器(alf)设计和信令通知 Download PDF

Info

Publication number
CN112243587A
CN112243587A CN201980036216.4A CN201980036216A CN112243587A CN 112243587 A CN112243587 A CN 112243587A CN 201980036216 A CN201980036216 A CN 201980036216A CN 112243587 A CN112243587 A CN 112243587A
Authority
CN
China
Prior art keywords
adaptive loop
block
loop filter
video
current picture
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201980036216.4A
Other languages
English (en)
Other versions
CN112243587B (zh
Inventor
M.卡尔切维茨
A.加德
V.塞雷金
W-J.钱
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN112243587A publication Critical patent/CN112243587A/zh
Application granted granted Critical
Publication of CN112243587B publication Critical patent/CN112243587B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

视频编码器和视频解码器可以在每个块的基础上从多个自适应环路滤波器组中确定自适应环路滤波器组。每个自适应环路滤波器组可以包括来自先前图片的滤波器、对当前图片信令通知的滤波器和/或预先训练的滤波器。通过在每个块的基础上改变自适应环路滤波器组,可用于每个视频数据块的自适应环路滤波器可以更适合于视频数据的局部统计。

Description

基于块的自适应环路滤波器(ALF)设计和信令通知
本申请要求2019年5月30日提交的第16/427,017号美国专利申请的优先权,该美国专利申请要求2018年6月1日提交的第62/679,685号美国临时申请的权益,其全部内容通过引用结合于此。
技术领域
本公开涉及视频编码和视频解码。
技术背景
数字视频能力可以被结合到广泛的设备中,包括数字电视、数字直接广播系统、无线广播系统、个人数字助理(PDA)、膝上型或台式计算机、平板计算机、电子书阅读器、数码相机、数字记录设备、数字媒体播放器、视频游戏设备、视频游戏控制台、蜂窝或卫星无线电电话、所谓的“智能电话”、视频电话会议设备、视频流式传输设备等。数字视频设备实现视频压缩技术,诸如由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分高级视频译码(AVC)、最近完成的高效视频译码(HEVC)标准以及这些标准的扩展所定义的标准中描述的那些技术。通过实现这种视频压缩技术,视频设备可以更有效地发送、接收、编码、解码和/或存储数字视频信息。
视频压缩技术执行空域(帧内(intra-picture))预测和/或时域(帧间(inter-picture))预测,以减少或去除视频序列中固有的冗余。对于基于块的视频译码,视频条带(即,视频帧或视频帧的一部分)可以被分割成视频块,这些视频块也可以被称为树块、译码单元(CU)和/或译码节点。使用关于同一图片中相邻块中的参考样点的空域预测,对图片的帧内译码(I)条带中的视频块进行编码。图片的帧间译码(P或B)条带中的视频块可以使用相对于同一图片中相邻块中的参考样点的空域预测,或者相对于其他参考图片中的参考样点的时域预测。图片可以称为帧,参考图片可以称为参考帧。
空域或时域预测得到待译码的块的预测性块。残差数据表示待译码的原始块和预测性块之间的像素差异。根据指向形成预测性块的参考样点块的运动矢量和指示译码块和预测性块之间的差异的残差数据,对帧间译码的块进行编码。根据帧内译码模式和残差数据对帧内译码的块进行编码。为了进一步压缩,可以将残差数据从像素域变换到变换域,从而产生残差变换系数,然后可以对其进行量化。最初排列在二维阵列中的量化的变换系数可以被扫描,以便产生变换系数的一维矢量,并且可以应用熵译码来实现甚至更多的压缩。
发明内容
本公开描述了与被称为“自适应环路滤波器(Adaptive Loop Filter,ALF)”的滤波技术相关的技术。ALF可用于后处理阶段、环路内(in-loop)译码或预测处理。样点自适应偏移(Sample adaptive offset,SAO)滤波和/或自适应环路滤波可以应用于各种现有的视频编解码器技术中的任何一种,诸如符合HEVC标准的编解码器技术,或者是任何未来视频译码标准中的有效译码工具。因此,所描述的技术可应用于各种基于块的视频译码技术,其中在每个块的基础上重构视频。取决于所使用的基于块的视频译码,像素块可以被不同地称为译码树单元(coding tree unit,CTU)、最大译码单元(largest coding unit,LCU)、预测单元(prediction unit,PU)或其他术语,如下所述。
如下面将更详细解释的,根据本公开的技术,视频编码器和视频解码器可以被配置为在每个块的基础上(例如,对于启用自适应环路滤波的块),从多个自适应环路滤波器组中确定自适应环路滤波器组。以这种方式,可用于特定块的自适应环路滤波器组可以更适合于特定块附近的视频数据的局部特性,从而提高译码效率和/或图片质量。
在一个示例中,一种方法包括:对于(per)其中使用自适应环路滤波的块,从多个自适应环路滤波器组中为当前图片的块确定相应的自适应环路滤波器组,其中每个相应的自适应环路滤波器组包括在一个或多个先前图片中使用的先前自适应环路滤波器;以及根据相应的自适应环路滤波器组对当前图片的块进行自适应环路滤波。
在另一个示例中,被配置为对视频数据进行译码的装置包括被配置为存储视频数据的当前图片的存储器,以及与该存储器通信的一个或多个处理器,该一个或多个处理器被配置为:对于其中使用自适应环路滤波的块,从多个自适应环路滤波器组中为当前图片的块确定相应的自适应环路滤波器组,其中每个相应的自适应环路滤波器组包括在一个或多个先前图片(或先前图片、条带或其他粒度的块)中使用的先前自适应环路滤波器;以及根据相应的自适应环路滤波器组对当前图片的块进行自适应环路滤波。
在另一个示例中,被配置为对视频数据进行译码的装置包括:用于对于其中使用自适应环路滤波的块,从多个自适应环路滤波器组中为当前图片的块确定相应的自适应环路滤波器组的部件,其中每个相应的自适应环路滤波器组包括在一个或多个先前图片中使用的先前自适应环路滤波器;以及用于根据相应的自适应环路滤波器组对当前图片的块进行自适应环路滤波的部件。
在另一示例中,本公开描述了一种存储指令的非暂时性计算机可读存储介质,所述指令在被执行时使得一个或多个处理器:对于其中使用自适应环路滤波的块,从多个自适应环路滤波器组中为当前图片的块确定相应的自适应环路滤波器组,其中每个相应的自适应环路滤波器组包括在一个或多个先前图片中使用的先前自适应环路滤波器;以及根据相应的自适应环路滤波器组对当前图片的块进行自适应环路滤波。
一个或多个示例的细节在附图和以下描述中阐述。从描述、附图和权利要求中,其他特征、目的和优点将变得显而易见。
附图说明
图1是示出可以利用本公开中描述的技术的示例视频编码和解码系统的框图。
图2示出了HEVC解码器的示例框图。
图3A-3D示出了边缘偏移(edge offset,EO)样点分类的四种一维方向模式。
图4是示出可以实现本公开中描述的技术的示例视频编码器的框图。
图5是示出可以实现本公开中描述的技术的示例视频解码器的框图。
图6示出了用于执行本公开的技术的滤波器单元的示例实现。
图7是示出本公开的示例方法的流程图。
图8是示出本公开的另一示例方法的流程图。
具体实施方式
图1是示出可以利用本公开中描述的自适应环路滤波技术的示例视频编码和解码系统10的框图。如图1所示,系统10包括源设备12,该源设备12生成编码的视频数据,以便稍后由目的地设备14解码。源设备12和目的地设备14可以是多种设备中的任何一种,包括台式计算机、笔记本(即,膝上型)计算机、平板计算机、机顶盒、诸如所谓的“智能”电话的电话手机、所谓的“智能”平板、电视、相机、显示设备、数字媒体播放器、视频游戏控制台、视频流式传输设备等。在一些情况下,源设备12和目的地设备14可以被装备用于无线通信。
目的地设备14可以经由链路16接收要解码的编码的视频数据。链路16可以是能够将编码的视频数据从源设备12移动到目的地设备14的任何类型的介质或设备。在一个示例中,链路16可以是通信介质,以使得源设备12能够实时地将编码的视频数据直接传输到目的地设备14。编码的视频数据可以根据诸如无线通信协议的通信标准进行调制,并被发送到目的地设备14。通信介质可以包括任何无线或有线通信介质,诸如射频(RF)频谱或一条或多条物理传输线。通信介质可以形成基于分组的网络的一部分,诸如局域网、广域网或全局网络,例如因特网。通信介质可以包括路由器、交换机、基站或有助于从源设备12到目的地设备14的通信的任何其他设备。
在另一个示例中,编码的视频数据可以从输出接口22输出到存储设备26。类似地,输入接口28可以从存储设备26访问编码的视频数据。存储设备26可以包括各种分布式或本地访问的数据存储介质中的任何一种,诸如硬盘驱动器、蓝光光盘、DVD、CD-ROM、闪存、易失性或非易失性存储器,或者用于存储编码的视频数据的任何其他合适的数字存储介质。在另一个示例中,存储设备26可以对应于文件服务器或者可以保存由源设备12生成的经编码的视频的另一个中间存储设备。目的地设备14可以经由流式传输或下载从存储设备26访问存储的视频数据。文件服务器可以是能够存储编码的视频数据并将该编码的视频数据发送到目的地设备14的任何类型的服务器。示例文件服务器包括网络服务器(例如,用于网站)、文件传输协议(file transfer protocol,FTP)服务器、网络连接存储(network attachedstorage,NAS)设备或本地磁盘驱动器。目的地设备14可以通过包括互联网连接在内的任何标准数据连接来访问编码的视频数据。这可以包括无线连接(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等),或者适于访问存储在文件服务器上的编码的视频数据的两者的组合。来自存储设备26的编码的视频数据的传输可以是流式传输、下载传输或两者的组合。
本公开的技术不一定限于无线应用或设置。该技术可应用于:视频译码,以支持多种多媒体应用中的任一种,诸如空中电视广播、有线电视传输、卫星电视传输、例如经由因特网的流式视频传输;数字视频的编码,以用于存储在数据存储介质上;存储在数据存储介质上的数字视频的解码;或其他应用。在一些示例中,系统10可以被配置为支持单向或双向视频传输,以支持诸如视频流式传输、视频回放、视频广播和/或视频电话的应用。
在图1的示例中,源设备12包括视频源18、视频编码器20和输出接口22。在一些情况下,输出接口22可以包括调制器/解调器(调制解调器)和/或发射机。在源设备12中,视频源18可以包括源,诸如视频捕获设备(例如摄像机)、包含先前捕获的视频的视频档案、从视频内容提供商接收视频的视频馈送接口、和/或用于生成作为源视频的计算机图形数据的计算机图形系统、或者这些源的组合。通常,捕获视频数据可以包括用于记录、生成和/或感测视频数据的任何技术。作为一个示例,如果视频源18是摄像机,则源设备12和目的地设备14可以形成所谓的摄像机电话或视频电话。然而,本公开中描述的技术通常可应用于视频译码,并且可应用于无线和/或有线应用。
捕获的、预捕获的或计算机生成的视频可以由视频编码器20编码。编码的视频数据可以经由源设备12的输出接口22直接传输到目的地设备14。编码的视频数据也可以(或者可替换地)存储在存储设备26上,以供目的地设备14或其他设备稍后访问,用于解码和/或回放。
目的地设备14包括输入接口28、视频解码器30和显示设备32。在一些情况下,输入接口28可以包括接收器和/或调制解调器。目的地设备14的输入接口28通过链路16接收编码的视频数据。通过链路16传送的或在存储设备26上提供的编码的视频数据可以包括由视频编码器20生成的各种语法元素,供视频解码器(诸如视频解码器30)在解码视频数据时使用。这种语法元素可以包括在通信介质上传输的、存储在存储介质上的、或者存储在文件服务器上的编码的视频数据中。
显示设备32可以与目的地设备14集成在一起,或者在目的地设备14的外部。在一些示例中,目的地设备14可以包括集成显示设备,并且还可以被配置为与外部显示设备进行接口。在其他示例中,目的地设备14可以是显示设备。通常,显示设备32向用户显示解码的视频数据,并且可以是各种显示设备中的任何一种,诸如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一种类型的显示设备。
视频编码器20和视频解码器30可以根据视频压缩标准操作,诸如最近完成的高效视频译码(HEVC)标准,并且可以符合HEVC测试模型(HEVC Test Model,HM)。视频编码器20和视频解码器30可以另外根据HEVC扩展来操作,诸如范围扩展、多视角扩展(multiviewextension,MV-HEVC)或可缩放扩展(scalable extension,SHVC),这些扩展是由视频译码联合协作小组(JCT-VC)以及ITU-T视频译码专家组(VCEG)和ISO/IEC运动图片专家组(MPEG)的3D视频译码扩展开发联合协作小组(JCT-3V)开发的。可替换地,视频编码器20和视频解码器30可以根据其他专有或行业标准操作,诸如ITU-T H.264标准,或者被称为ISO/IEC MPEG 4第10部分高级视频译码(AVC),或者这些标准的扩展,诸如可缩放视频译码(SVC)和多视图视频译码(MVC)扩展。然而,本公开的技术不限于任何特定的译码标准。视频压缩标准的其他示例包括ITU-T H.261、ISO/IEC MPEG-1视觉、ITU-T H.262或ISO/IECMPEG-2视觉、ITU-T H.263和ISO/IEC MPEG-4视觉。HEVC(ITU-T H.265),包括其范围扩展、多视图扩展(MV-HEVC)和可缩放扩展(SHVC),是由视频译码联合协作小组(JCT-VC)以及ITU-T视频译码专家组(VCEG)和ISO/IEC运动图片专家组(MPEG)的3D视频译码扩展开发联合协作小组(JCT-3V)开发的。最后定稿的HEVC草案,以下简称HEVC WD,可在以下网址查阅http://phenix.int-evry.fr/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC- N1003-v1.zip
ITU-T-VCEG(Q6/16)和ISO/IEC MPEG(JTC 1/SC 29/WG 11)正在开发未来的视频译码技术,其压缩能力可能超过当前的HEVC标准(包括其当前的扩展和屏幕内容译码和高动态范围译码的近期扩展)。新标准被称为H.266/VVC(通用视频译码)。这两个小组在一项名为联合视频探索小组(JVET)的联合协作努力中共同开展这项探索活动,以评估他们的专家在这一领域提出的压缩技术设计。JVET第一次会议于2015年10月19日至21日举行。参考软件的一个版本,即联合探索模型7(JME7),可从以下网站下载:
https://jvet.hhi.fraunhofer.de/svn/svn_HMJEMSoftware/tags/HM-16.6- JEM-7.0/
JMET 7的算法描述在以下文献中有所描述:J.Chen、E.Alshina、G.J.Sullivan、J.R.Ohm、J.Boyce,“联合勘探探索模型7的算法描述(Algorithm description of JointExploration Test Model 7(JEM7))”,JVET-G1001,都灵,2017年7月。在ITU-T SG 16WP 3和ISO/IEC JTC 1/SC 29/WG 11的联合视频专家小组(JVET)第14次会议(2019年3月19-27日,日内瓦,JVET-N1001-v3(以下简称“VVC草案5”))的、Bross等人的“多功能视频编码(Versatile Video Coding)(草案5)”中描述了VVC标准的最新草案。然而,本公开的技术不限于任何特定的译码标准。
虽然在图1中未示出,但是在一些方面,视频编码器20和视频解码器30可以各自与音频编码器和解码器集成,并且可以包括适当的MUX-DEMUX(多路复用器-多路解复用器)单元或其他硬件和软件,以处理公共数据流或单独数据流中的音频和视频的编码。在一些示例中,如果MUX-DEMUX单元适用,那么MUX-DEMUX单元可以符合ITU H.223多路复用器协议,或者其他协议,诸如用户数据报协议(UDP)。
视频编码器20和视频解码器30均可实现为各种合适的编码器电路或解码器电路中的任何一种,诸如一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任意组合。当这些技术部分地在软件中实现时,设备可以将软件的指令存储在合适的非暂时性计算机可读介质中,并且使用一个或多个处理器在硬件中执行这些指令以执行本公开的技术。视频编码器20和视频解码器30中的每一个可以被包括在一个或多个编码器或解码器中,其中任一个可以被集成为相应设备中的组合编码器/解码器(combined encoder/decoder,CODEC)的一部分。
本公开描述了与滤波操作相关的技术,该技术可以在后处理阶段、作为环路内译码的一部分或者在视频译码的预测阶段中使用。本公开的技术可以被实现到现有的视频编解码器(诸如HEVC)中,或者是用于未来视频译码标准(诸如目前正在开发的H.266/VVC标准)的有效译码工具。
视频译码通常涉及从相同图片中已经译码的视频数据块预测视频数据块(例如,帧内预测)或从不同图片中已经译码的视频数据块预测视频数据块(例如,帧间预测)。在一些情况下,视频编码器20还通过将预测性块与原始块进行比较来计算残差数据。因此,残差数据表示预测性块和原始块之间的差。
视频编码器20对残差数据进行变换和量化,并在编码的比特流中信令通知经变换和量化的残差数据。视频解码器30将残差数据加到预测性块,以产生比单独的预测性块更接近地匹配原始视频块的重构视频块。为了进一步提高解码的视频的质量,视频编码器20和视频解码器30可以对重构视频块执行一个或多个滤波操作。这些滤波操作的示例包括去方块滤波、样点自适应偏移(SAO)滤波和自适应环路滤波。这些滤波操作的参数可以由视频编码器20确定并在编码的视频比特流中明确地信令通知这些参数,或者可以由视频解码器30隐含地确定,而不需要在编码的视频比特流中明确地信令通知这些参数。
本公开描述了与被称为“自适应环路滤波器(ALF)”的滤波方法相关的技术。ALF可用于后处理阶段,以用于环路内译码或预测处理。SAO滤波和/或自适应环路滤波可以应用于各种现有视频编解码器技术中的任何一种,诸如符合HEVC标准的编解码器技术,或者是任何未来视频译码标准中的有效译码工具。
如在本公开中使用的,术语视频译码一般指视频编码或视频解码。类似地,术语视频译码器一般可以指视频编码器或视频解码器。此外,本公开中关于视频解码描述的某些技术也可以应用于视频编码,反之亦然。例如,视频编码器和视频解码器通常被配置为执行相同的处理或相反的处理。此外,视频编码器20通常执行视频解码,作为确定如何编码视频数据的处理的一部分。
如下面将更详细解释的,根据本公开的技术,视频编码器20和视频解码器30可以被配置为在每个块的基础上(例如,对于启用自适应环路滤波的块),从多个自适应环路滤波器组中确定自适应环路滤波器组。以这种方式,可用于特定块的自适应环路滤波器组可以更适合于特定块附近的视频数据的局部特性,从而提高译码效率和/或图片质量。
在HEVC、VVC和其他视频译码规范中,视频序列通常包括一系列图片。图片也可以称为“帧”。在一个示例方法中,图片可以包括三个样点阵列,表示为SL、SCb和SCr。在这样的示例方法中,SL是亮度样点的二维阵列(即,块)。SCb是Cb色度样点的二维阵列。SCr是Cr色度样点的二维阵列。色度(chrominance)样点在这里也可以称为“色度(chroma)”样点。在其他情况下,图片可以是单色的,并且可以仅包括亮度样点的阵列。
为了生成图片的编码表示,视频编码器20可以生成一组译码树单元(CTU)。每个CTU可以包括亮度样点的译码树块、色度样点的两个对应的译码树块以及用于对译码树块的样点进行译码的语法结构。在单色图片或具有三个独立颜色平面的图片中,CTU可以包括单个译码树块和用于对译码树块的样点进行译码的语法结构。译码树块可以是N×N个样点块。CTU也可以被称为“树块”或“最大的译码单元”(largest coding unit,LCU)。HEVC的CTU可能与其他标准(诸如H.264/AVC)的宏块有很大的相似性。然而,CTU不一定限于特定的尺寸,可以包括一个或多个译码单元(CU)。条带可以包括以光栅扫描顺序连续排列的整数个CTU。
在一个示例中,为了生成译码的CTU,视频编码器20可以递归地对CTU的译码树块执行四叉树分割,以将译码树块分成译码块,因此命名为“译码树单元”。译码块可以是N×N个样点块。CU可以包括图片的亮度样点的译码块和色度样点的两个对应的译码块,该图片具有亮度样点阵列、Cb样点阵列和Cr样点阵列,以及用于对译码块的样点进行译码的语法结构。在单色图片或具有三个独立颜色平面的图片中,CU可以包括单个译码块和用于对译码块的样点进行译码的语法结构。
视频编码器20可以将CU的译码块分割成一个或多个预测块。预测块是应用相同预测的矩形(即正方形或非正方形)样点块。CU的预测单元(PU)可以包括亮度样点的预测块、色度样点的两个相应预测块以及用于对预测块进行预测的语法结构。在单色图片或具有三个独立颜色平面的图片中,PU可以包括单个预测块和用于对预测块进行预测的语法结构。视频编码器20可以为CU的每个PU的亮度、Cb和Cr预测块生成预测性亮度、Cb和Cr块。
作为另一个示例,视频编码器20和视频解码器30可以被配置为根据JEM或VVC操作。根据JEM或VVC的观点,视频译码器(诸如视频编码器20)将图片分割成多个译码树单元(CTU)。视频编码器20可以根据树结构来分割CTU,诸如四叉树-二叉树(quadtree-binarytree,QTBT)结构或多类型树(Multi-Type Tree,MTT)结构。QTBT结构删除了多个分割类型的概念,诸如HEVC的CU、PU和TU(变换单元)之间的分割。QTBT结构包括两个层次:根据四叉树分割来进行分割的第一层次,以及根据二叉树分割来进行分割的第二层次。QTBT结构的根节点对应于CTU。二叉树的叶节点对应于译码单元(CU)。
在MTT分割结构中,可以使用四叉树(quadtree,QT)分割、二叉树(binary tree,BT)分割和一种或多种类型的三叉树(binary tree TT)分割来对块进行分割。三叉树分割是将一个块分成三个子块的分割。在一些示例中,三叉树分割将块分割成三个子块,而不通过中心分割原始块。MTT中的分割块类型(例如QT、BT和TT)可以是对称的,也可以是不对称的。
在一些示例中,视频编码器20和视频解码器30可以使用单个QTBT或MTT结构来表示亮度和色度分量中的每一个,而在其他示例中,视频编码器20和视频解码器30可以使用两个或更多个QTBT或MTT结构,诸如一个QTBT/MTT结构用于亮度分量,另一个QTBT/MTT结构用于两个色度分量(或者两个QTBT/MTT结构用于相应的色度分量)。
视频编码器20和视频解码器30可以被配置为使用四叉树分割、QTBT分割、MTT分割或其他分割结构。
视频编码器20可以使用帧内预测或帧间预测来生成块(例如,PU)的预测性块。如果视频编码器20使用帧内预测来生成PU的预测性块,则视频编码器20可以基于与PU相关联的图片的解码样点来生成PU的预测性块。如果视频编码器20使用帧间预测来生成PU的预测性块,则视频编码器20可以基于与PU相关联的图片之外的一个或多个图片的解码样点来生成PU的预测性块。
JEM和VVC的一些示例也提供仿射运动补偿模式,其可以被认为是帧间预测模式。在仿射运动补偿模式中,视频编码器20可以确定表示非平移运动(诸如放大或缩小、旋转、透视运动或其他不规则运动类型)的两个或多个运动矢量。
为了执行帧内预测,视频编码器20可以选择帧内预测模式来生成预测块。JEM和VVC的一些示例提供了六十七种帧内预测模式,包括各种方向模式,以及平面模式和DC模式。通常,视频编码器20选择帧内预测模式,该模式描述当前块(例如,CU的块)的相邻样点,从该相邻样点预测当前块的样点。假设视频编码器20以光栅扫描顺序(从左到右、从上到下)对CTU和CU进行译码,这样的样点在与当前块相同的图片中通常可以在当前块的上方、左上方和左方。
在视频编码器20为CU的一个或多个PU生成预测性亮度、Cb和Cr块之后,视频编码器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变换块。在其他示例中,变换块与预测块尺寸相同。变换块是应用相同变换的矩形(例如,正方形或非正方形)样点块。CU的变换单元(TU)可以包括亮度样点的变换块、色度样点的两个相应的变换块以及用于对变换块样点进行变换的语法结构。因此,CU的每个TU可以与亮度变换块、Cb变换块和Cr变换块相关联。与TU相关联的亮度变换块可以是CU的亮度残差块的子块。Cb变换块可以是CU的Cb残差块的子块。Cr变换块可以是CU的Cr残差块的子块。在单色图片或具有三个独立颜色平面的图片中,TU可以包括单个变换块和用于对变换块的样点进行变换的语法结构。
视频编码器20可以将一个或多个变换应用于TU的亮度变换块,以生成TU的亮度系数块。系数块可以是变换系数的二维阵列。变换系数可以是标量。视频编码器20可以将一个或多个变换应用于TU的Cb变换块,以生成TU的Cb系数块。视频编码器20可以将一个或多个变换应用于TU的Cr变换块,以生成TU的Cr系数块。
上述具有CTU、CU、PU和TU的块结构一般描述了在HEVC使用的块结构。然而,其他视频译码标准可以使用不同的块结构。作为一个示例,尽管HEVC允许PU和TU具有不同的尺寸或形状,但是其他视频译码标准可能要求预测性块和变换块具有相同的尺寸。本公开的技术不限于HEVC的块结构,并且可以与其他块结构兼容。
在生成系数块(例如,亮度系数块、Cb系数块或Cr系数块)之后,视频编码器20可以量化系数块。量化通常是指量化变换系数以尽可能减少用于表示变换系数的数据量,从而提供进一步压缩的处理。在视频编码器20量化系数块之后,视频编码器20可以对指示量化的变换系数的语法元素进行熵编码。例如,视频编码器20可以对指示量化的变换系数的语法元素执行上下文自适应二进制算术译码(Context-Adaptive Binary ArithmeticCoding,CABAC)。
视频编码器20可以输出包括比特序列的比特流,该比特序列形成译码的图片和相关数据的表示。比特流可以包括网络抽象层(NAL)单元的序列。NAL单元是包含NAL单元中数据类型的指示的语法结构和包含原始字节序列有效载荷(raw byte sequence payload,RBSP)形式的数据的字节,必要时穿插仿真防止位。每个NAL单元包括NAL单元报头,并封装RBSP。NAL单元报头可以包括指示NAL单元类型码的语法元素。由NAL单元的NAL单元报头指定的NAL单元类型码指示NAL单元的类型。RBSP可以是包含封装在NAL单元内的整数字节的语法结构。在某些情况下,RBSP包括零比特。
不同类型的NAL单元可能封装不同类型的RBSP。例如,第一类型的NAL单元可以封装用于图片参数集(picture parameter set,PPS)的RBSP,第二类型的NAL单元可以封装用于译码的条带的RBSP,第三类型的NAL单元可以封装用于补充增强信息(supplementalenhancement information,SEI)消息的RBSP,等等。封装用于视频译码数据的RBSP的NAL单元(相对于用于参数集和SEI消息的RBSP)可称为视频译码层(video coding layer,VCL)NAL单元。
视频解码器30可以接收由视频编码器20生成的比特流。此外,视频解码器30可以解析比特流以从比特流中获得语法元素。视频解码器30可以至少部分基于从比特流获得的语法元素来重构视频数据的图片。重构视频数据的处理通常可以与视频编码器20执行的处理相反。此外,视频解码器30可以逆量化与当前CU的TU相关联的系数块。视频解码器30可以对系数块执行逆变换,以重构与当前CU的TU相关联的变换块。视频解码器30可通过将当前CU的PU的预测性块的样点加到当前CU的TU的变换块的相应样点来重构当前CU的译码块。通过重构图片的每一CU的译码块,视频解码器30可重构图片。
现在将讨论HEVC和JEM技术的各个方面。图2示出了HEVC解码器31的示例框图。图2中所示的视频解码器31通常对应于视频解码器30,但是不同于视频解码器30,在重构和参考图片缓冲器之间不包括自适应环路滤波器。图5中更详细地示出了视频解码器30。HEVC采用两个环路内滤波器,包括去方块滤波器(de-blocking filter,DBF)和样点自适应偏移(sample adaptive offset,SAO)滤波器。关于HEVC解码和SAO的其它细节描述于C.Fu、E.Alshina、A.Alshin、Y.Huang、C.Chen、Chia.Tsai、C.Hsu、S.Lei、J.Park、W.Han的“(HEVC标准中的样点自适应偏移)Sample adaptive offset in the HEVC standard”,IEEETrans-电路系统-视频技术(IEEE Trans.Circuits Syst.Video Technol.),22(12):1755-1764(2012)。
如图2所示,DBF的输入可以是帧内或帧间预测后的重构图像,如重构块的输出所示。DBF对译码块边界处的伪像执行检测,并通过应用选定的滤波器来衰减伪像。与H.264/AVC去方块滤波器相比,HEVC去方块滤波器具有更低的计算复杂度和更好的并行处理能力,同时仍然显著减少了视觉伪像。其他示例,见A.Norkin、G.Bjontegaard、A.Fuldseth、M.Narroschke、M.Ikeda、K.Andersson、Minhua Zhou、G.Van der Auwera的“HEVC去方块滤波器(HEVC Deblocking Filter)”,IEEE Trans-电路系统-视频技术(IEEETrans.Circuits Syst.Video Technol.),22(12):1746–1754(2012)。
在HEVC,对于位于将图片分割成8×8个样点块的网格上的四个样点长度的每个边界,分别进行去方块滤波器决策。如果下列条件成立,则在块边界上执行去方块:(1)块边界是预测单元(PU)或变换单元(TU)边界;(2)边界强度(boundary strength,Bs),如下表1所定义,大于零;(3)如下方程(1)中定义的,在块边界两侧的信号变化低于特定阈值。
表1.两个相邻亮度块之间边界的边界强度(Bs)值
Figure BDA0002804422640000131
如果亮度块边界的Bs>0,则在下列条件成立的情况下,对该边界应用去方块滤波:
|p2,0-2p1,0+p0,0|+|p2,3-2p1,3+p0,3|+|q2,0-2q1,0+q0,0|+|q2,3-2q1,3+q0,3|<β, (1)
其中p和q是边界处的亮度样点值,β是阈值。
HEVC允许两种类型的亮度去方块滤波器,即:(i)常规滤波器和(ii)强滤波器。去方块滤波器的选择取决于特定信号变化项是否小于特定阈值(详见上文引用的Norkin等人(2012)的“HEVC去方块滤波器”)。虽然滤波决策仅基于四像素长的垂直(或水平,视情况而定)边界的两行(或列),但是滤波器被应用于边界中的每一行(或列,视情况而定)。下表2总结了滤波处理中使用的像素数量以及可以使用每种类型的滤波进行修改的像素数量。
表2.HEVC去方块中每个边界使用/修改的像素数量
Figure BDA0002804422640000141
仅当Bs等于二(2)时,才执行色度去方块(即,对色度分量执行去方块滤波)。在HEVC,只使用一种类型的色度去方块滤波器。色度去方块滤波器使用像素p0,p1,q0,q1,并且可以修改每行中的像素p0和q0(为了简洁起见,在上面的描述中省略了指示行索引的第二下标,因为滤波器应用于每行)。在JEM,去方块是在CU级别执行的。边界两侧的CU尺寸可以大于8×8。JEM的最小尺寸是4×4。因此,去方块滤波器也可以应用于4×4块的边界。
SAO滤波器的输入可以是应用去方块滤波器后的重构块,如图2中去方块滤波器的输出所示。视频译码器可以应用SAO滤波器来减少区域的平均样点失真,方法是首先用选定的分类器将区域样点分类成多个类别,获得每个类别的偏移,然后将偏移加到类别的每个样点,其中分类器索引和区域的偏移被译码在比特流中。在HEVC,该区域(信令通知SAO参数的单元)被定义为CTU。
HEVC采用了两种能够满足低复杂度要求的SAO类型。这两种类别是边缘偏移(edgeoffset,EO)和区段偏移(band offset,BO)SAO,这将在下面进一步详细讨论。视频编码器20和视频解码器30可以对SAO类型的索引进行译码。对于EO,样点分类基于当前样点和相邻样点之间的比较,根据1-D方向模式:水平、垂直、135°对角线和45°对角线。
图3A-3D示出了EO样点分类的四种1-D方向模式:水平(图3A,EO分类=0)、垂直(图3B,EO分类=1)、135°对角线(图3C,EO分类=2)和45°对角线(图3D,EO分类=3)。与SAO相关的其他详细信息,请参见C.Fu,E.Alshina,A.Alshin,Y.Huang,C.Chen,Chia.Tsai,C.Hsu,S.Lei,J.Park,W.Han“,(HEVC标准中的样点自适应偏移)Sample adaptive offset in theHEVC standard”,IEEE Trans-电路系统-视频技术(IEEE Trans.Circuits Syst.VideoTechnol.),22(12):1755-1764(2012)。在图3A-3D中,块C是当前块,块A和块B是相邻块。
根据所选的EO模式,进一步定义了表3中由edgeIdx表示的五个类别。对于等于0~3的edgeIdx,可以在隐式地译码符号标志的同时信令通知偏移的大小,即对于edgeIdx等于0或1为负偏移,对于edgeIdx等于2或3为正偏移。对于等于4的edgeIdx,偏移始终设置为0,这意味着在这种情况下不需要任何操作。
表3:EO的分类
Figure BDA0002804422640000151
对于EO,样点分类基于样点值。对于EO类型SAO滤波的分类,每个颜色分量可以有自己的SAO参数。BO意味着一个偏移被加到同一区段的所有样点。样点值范围平均分为32个区段。对于范围从0到255的8比特样点,区段的宽度为8,8k到8k+7的样点值属于区段k,其中k的范围为0到31。一个偏移被添到同一区段的所有样点。原始样点和重构样点在一个区段中的平均差值(即区段的偏移)被信令通知给解码器(例如视频解码器30)。对偏移符号没有限制。只有四(4)个连续区段的偏移和起始区段位置被信令通知给解码器(例如,视频解码器30)。
视频编码器20和视频解码器30可以被配置为实现在JEM和/或VVC的工作草案中提出的各种自适应环路滤波技术。现在将描述一些示例JEM滤波技术(例如,ALF)的方面。除了修改的去方块(de-blocking,DB)和HEVC SAO方法,JEM还包括另一种称为基于几何变换的自适应环路滤波(Geometry transformation-based Adaptive Loop Filtering,GALF)的滤波方法。ALF/GALF的输入可以是在应用SAO之后的重构图像(例如,图2中的样点自适应偏移的输出)。GALF的方面描述于Tsai,C.Y.、Chen,C.Y.、Yamakage,T.、Chong,I.S.、Huang,Y.W.、Fu,C.M.、Itoh,T.、Watanabe,T.、Chujoh,T.、Karczewicz,M.和Lei,S.M.的“用于视频编码的自适应环路滤波(Adaptive loop filtering for video coding)”,信号处理中选定主题的IEEE日志(IEEE Journal of Selected Topics in Signal Processing),7(6),PP.934-945,2013年9月34日,以及M.Karczewicz、L.Zhang、W.-J.Chien和X.Li的“基于几何变换的自适应环路内滤波器(Geometry transformation-based adaptive in-loopfilter)”,图片译码研讨会(Picture Coding Symposium,PCS),2016。
ALF技术试图通过使用自适应维纳滤波器来最小化原始样点和解码/重构样点之间的均方误差。将输入图像表示为p,源图像表示为S,有限脉冲响应(finite impulseresponse,FIR)滤波器表示为h。然后应最小化平方误差之和(sum of squared error,SSE)的以下表达式,其中(x,y)表示p或S中的任何像素位置。
Figure BDA0002804422640000161
通过将SSE相对于h(i,j)的偏导数设置为等于0,可以获得最优h,表示为hopt,如下所示:
Figure BDA0002804422640000162
这产生如下所示的维纳-霍普夫方程,该方程给出了最优滤波器hopt
Figure BDA0002804422640000163
在JEM或VVC的一些示例中,视频编码器20和/或视频解码器30可以被配置为基于局部梯度将图片中的样点分类成二十五(25)个分类,而不是对整个图片使用一个滤波器。视频编码器20和/或视频解码器30可以为每个分类中的像素导出单独的最优维纳滤波器。已经采用了几种技术来通过减少信令开销和计算复杂度来提高自适应环路滤波的有效性。下面列出了一些可以通过降低信令开销和/或计算复杂度来提高ALF效率的技术:
1.来自固定滤波器的预测:使用固定滤波器的预测池来预测每个分类的最优滤波器系数,该预测池包括每个分类的16个候选滤波器。为每个分类选择最优预测候选,并且仅传输预测误差。
2.分类合并(merging):多个分类中的像素可以共享一个滤波器,以减少待译码的滤波器参数的数量,而不是使用二十五(25)个不同的滤波器(每个分类一个)。合并两个分类可以得到更高的累积SSE但更低的率失真(Rate-Distortion,RD)成本。
3.可变抽头数量:滤波器抽头数量在帧级是自适应的。理论上,具有更多抽头的滤波器可以实现更低的SSE,但是就RD成本而言,由于具有与更多滤波器系数相关联的比特开销,这可能不是一个好的选择。
4.块级开启/关闭控制:ALF可以在块的基础上开启和关闭(启用或禁用)。在帧级自适应地选择块尺寸,在该块尺寸上信令通知开启/关闭控制标志。可以仅使用来自启用了ALF(即,使用了ALF)的那些块的像素来重新计算滤波器系数。
5.时域预测:为先前译码的帧导出的滤波器存储在缓冲器中。如果当前帧是P或B帧,那么如果它带来更好的RD成本,则可以使用存储的一组滤波器中的一个来滤波该帧。信令通知一个标志来指示时域预测的使用。如果使用时域预测,则信令通知指示使用哪组存储的滤波器的索引。不需要额外信令通知ALF系数。也可以为使用时域预测的帧信令通知块级ALF开启/关闭控制标志。
在这一段和随后的段落中总结了ALF的一些方面的细节。ALF的某些方面与像素分类和几何变换有关。在一个示例中,视频编码器20和视频解码器30可以被配置为计算覆盖重构帧(在ALF之前)中的每个像素的6×6窗口内的所有像素处的垂直、水平和对角拉普拉斯的绝对值之和。视频编码器20和视频解码器30将重构帧分割成不重叠的2×2的块。视频编码器20和视频解码器30基于该块的总拉普拉斯活动性和方向性,将这些块中的四个像素分类为二十五(25)个类别中的一个,表示为Ck(k=0,1,…,24)。另外,视频编码器20和视频解码器30基于该块的梯度方向性将四种几何变换(无变换、对角翻转、垂直翻转或旋转)中的一个应用于滤波器。其他细节可以从以下文献中得到:M.Karczewicz、L.Zhang、W-J.Chien和X.Li的“基于几何变换的自适应环路内滤波器(Geometry transformation-based adaptive in-loop filter)”,图片译码研讨会(PCS),2016年。
自适应环路滤波的某些方面与固定滤波器的滤波器导出和预测有关。对于每个分类Ck,视频编码器20和视频解码器30首先基于滤波器给出的SSE,从Ck的池中确定最优预测滤波器,表示为hpred,k,。要最小化的Ck的SSE可以写成如下形式:
SSEk=∑x,y(∑i,j(hpred,k(i,j)+hΔ,k(i,j))p(x-i,y-j)-S(x,y))2,
k=0,…,24,(x,y)∈Ck
其中,hΔ,k是Ck的最优滤波器和hpred,k之间的差。令p′(x,y)=∑i,jhpred,k(i,j)p(x-i,y-j)是通过hpred,k对像素p(x,y)进行滤波的结果。则SSEk的表达式可重新写成
Figure BDA0002804422640000181
k=0,…,24,(x,y)∈Ck
通过使SSEk关于hΔ,k(i,j)的偏导数等于0,修改的维纳-霍普夫方程如下获得:
Figure BDA0002804422640000182
k=0,…,24, (x,y)∈Ck
为了表达简单,分别用Rpp,k(i-m,j-n)和R′ps,k(m,n)来表示∑x,yp(x-i,y-j)p(x-m,y-n)和∑x,y(S(x,y)-p′(x,y))p(x-m,y-n)(其中,(x,y)∈Ck)。那么,上面的方程可以重新写成:
i,jhΔ,k(i,j)Rpp,k(i-m,j-n)=R′ps,k(m,n) k=0,…,24 (1)
对于每个Ck,自相关矩阵Rpp,k(i-m,j-n)和互相关矢量R′ps,k(m,n)在所有(x,y)∈Ck上计算。
在自适应环路滤波的一个示例中,视频编码器20仅计算并传输最优滤波器和固定预测滤波器之间的差值。如果池中可用的候选滤波器中没有一个是好的预测器,则视频编码器20和视频解码器30使用身份滤波器(即,在中心只有一个非零系数等于1的滤波器,使得输入和输出相同)作为预测器。
自适应环路滤波的一些方面涉及像素分类的合并。分类被合并以减少信令通知滤波器系数的开销。合并两个分类的成本相对于SSE而言有所增加。考虑两个分类Cm和Cn,它们分别具有由SSEm和SSEn给出的SSE。令Cm+n表示通过将Cm和Cn合并得到的分类,具有表示为SSEm+n的SSE。SSEm+n始终大于或等于SSEm+SSEn。令ΔSSEm+n表示通过合并Cm和Cn得到的SSE的增加,等于SSEm+n–(SSEm+SSEn)。为了计算SSEm+n,视频编码器20可以使用类似于(1)的以下表达式来导出hΔ,m+n,其是Cm+n的滤波器预测误差:
i,jhΔ,m+n(i,j)(Rpp,m(i-u,j-v)+Rpp,n(i-u,j-v))=R′ps,m(u,v)+R′ps,n(u,v) (2)
视频编码器20可以将合并的分类Cm+n的SSE计算为:
SSEm+n=-∑u,vhΔ,m+n(u,v)(R′ps,m(u,v)+R′ps,n(u,v))+(Rss,m+Rss,n)
为了将分类的数量从N减少到N-1,可能需要找到两个分类,Cm和Cn,,这样,与任何其他组合相比,合并它们会得到最小的ΔSSEm+n。在一些ALF设计中,视频编码器20被配置为检查用于合并的每对可用分类,以找到具有最小合并成本的对。
如果Cm和Cn(m<n)被合并,则视频编码器20和视频解码器30可以将Cn标记为不可用于进一步合并,并且Cm的自相关和互相关被改变为组合的自相关和互相关,如下所示:
Rpp,m=Rpp,m+Rpp,n
R′ps,m=R′ps,m+R′ps,n
Rss,m=Rss,m+Rss,n
视频编码器20可基于RD成本为每一帧确定合并后的最优数量的ALF分类。在一个示例中,这是通过从二十五(25)个分类开始,并连续合并一对分类(从一组可用分类中)直到只剩下一个分类来完成的。对于合并后留下的每个可能数量的类别(1,2,…,25),视频编码器20可以存储指示哪些分类被合并在一起的图。视频编码器20随后选择最优数量的分类,使得RD成本最小化,如下所示:
Figure BDA0002804422640000201
其中,D|N是使用N个分类的总
Figure BDA0002804422640000202
R|N是用于对N个滤波器进行译码的总比特数,λ是由量化参数(QP)确定的加权因子。视频编码器20可以向视频解码器30发送Nopt数量的分类的合并图,指示哪些类别被合并在一起。
信令通知ALF参数的方面描述如下。下面给出由视频编码器20执行的示例ALF参数编码处理的简要逐步描述。视频解码器30可以被配置为执行相反处理(例如,从视频解码器30的角度来看,信令通知是语法元素的接收)。
1.信令通知帧级ALF开启/关闭标志。
2.如果ALF开启,则信令通知时域预测标志,指示来自先前图片的滤波器的使用。
3.如果使用时域预测,则信令通知帧的索引,根据该索引使用相应的ALF参数来滤波当前帧。
4.如果不使用时域预测,那么信令通知辅助ALF信息和滤波器系数如下:
a.可以在信令通知滤波器系数之前信令通知以下辅助ALF信息。辅助ALF信息可以包括:
i.类别合并后使用的特别(unique)滤波器的数量。
ii.滤波器抽头数量。
iii.指示哪些分类共享滤波器预测误差的分类合并信息。
iv.每个分类的固定滤波器预测器的索引。
b.在信令通知辅助ALF信息之后,可以如下信令通知滤波器系数预测误差:
i.信令通知标志,以指示在合并之后,对于一些剩余的分类,滤波器预测误差是否被强制为零(0)。
ii.信令通知标志,以指示差分译码是否用于信令通知滤波器预测误差(如果合并后剩余的分类的数量大于一(1))。
iii.然后,使用k阶指数哥伦布(Exp-Golomb)码来信令通知滤波器系数预测误差,其中不同系数位置的k值是凭经验选择的。
c.直接译码色度分量的滤波器系数(如果可用),无需任何预测方法。
5.最后,信令通知块级ALF开启/关闭控制标志。
在JEM的一些示例中,自适应环路滤波的设计可能存在一个或多个潜在问题。作为一个示例,一些示例自适应环路滤波设计在每个帧上执行多次通过(pass),以便为整个帧设计一组滤波器(例如,一个滤波器用于每个分类的像素,或者在帧中的多个分类之间共享一个滤波器)。这种技术引入了高编码器延迟。在诸如视频会议等低延迟应用中,高编码器延迟可能尤其成问题,在这些应用中,尽快向信道发送甚至是部分编码的帧可能是重要的。
作为另一个示例,根据一些自适应环路滤波设计,一组滤波器用于整个图片。原始图片和重构图片的小块中的局部统计可能不同于使用整个图片获得的累积统计。因此,对于整个图片来说最优的ALF对于给定的块来说可能不是最优的。
作为另一个示例,为了获得更好的局部自适应性,使用图片的小块设计新的一组维纳滤波器的潜在问题是,小块中可用的像素数量可能不足以使视频编码器20确定相关矩阵和矢量的良好估计。这可能导致不适的维纳-霍普夫方程,这反过来可能输出比最优的ALF系数更少。
作为另一个示例,一些示例自适应环路滤波设计为二十五(25)个分类中的每一个定义了十六(16)个固定滤波器,从而产生总共四百(400)个滤波器。这些滤波器可以用作每个分类的最终滤波器系数的预测器滤波器。为每个分类信令通知所使用的预测器滤波器的索引。这可能导致高信令开销并降低整体译码增益。
使用固定的滤波器组作为预测器的另一个潜在缺点是,预测器组没有基于为先前帧设计的新滤波器进行修改。因为时域上相邻的帧可能具有相似的统计数据,所以对先前帧使用最优滤波器可以导致对当前帧的最优滤波器的有效预测。
作为另一个示例,一些示例自适应环路滤波设计需要在当前帧上两次通过,以做出块级滤波器开启/关闭决策。这引入了额外的编码器延迟。为其进行信令通知ALF开启/关闭标志的块与译码单元(CU)不对齐。因此,在ALF开启/关闭控制决策中不能考虑诸如模式、译码块标志等CU信息。使用该信息可以减少开启/关闭信令开销。
为了解决上述一个或多个问题,本公开描述了通过使用自适应环路滤波来进一步提高译码增益和视觉质量的技术。视频编码器20和/或视频解码器30可以单独应用以下逐项列举的技术中的任何一种。可选地,视频编码器20和/或视频解码器30可以应用下面讨论的逐项列举的技术的任何组合。
根据本公开的一个示例技术,视频编码器20可以在一个图片/条带/片(tile)中的每个块信令通知自适应环路滤波器组。例如,对于视频数据的图片、条带或片中的每个视频数据块,视频编码器20可以被配置为对指示用于该块的自适应环路滤波器组的一个或多个语法元素进行编码。视频解码器30可以被配置为对于每个块的一个或多个语法元素进行解码,以确定用于该块的自适应环路滤波器组。
在一个示例中,视频编码器20可以被配置为通过对滤波器组列表(例如,多个自适应环路滤波器组)的组索引进行编码来指示ALF组(例如,上述自适应环路滤波器组)。在本公开中,术语“滤波器组”可以指单个自适应环路滤波器组,术语“多个滤波器组”可以指多个自适应环路滤波器组,术语“滤波器组列表”可以指多个自适应环路滤波器组的列表。在一个示例中,滤波器组列表可以包括多个自适应环路滤波器组。也就是说,滤波器组列表可以包括图片/条带/片的所有确定的可能滤波器组(即,多个自适应环路滤波器组)。在一些示例中,该索引从列表中包括的多个自适应环路滤波器组中识别特定的自适应环路滤波器组。视频解码器30可以被配置为根据预定规则存储和/或确定多个自适应环路滤波器组。如下面将要讨论的,多个自适应环路滤波器组可以包括预先训练的滤波器、对于当前图片信令通知的自适应环路滤波器、以及从先前图片重复使用的自适应环路滤波器。在一个示例中,对于特定的自适应环路滤波器组,特定的自适应环路滤波器组的每个相应组包括对于当前图片信令通知的当前自适应环路滤波器或预先训练的自适应环路滤波器中的一个或多个。视频解码器30可以被配置为解码由视频编码器20发送的索引,并从多个自适应环路滤波器组中确定自适应环路滤波器组,以用于特定的视频数据块。
以这种方式,视频编码器20和视频解码器30可以被配置为对于其中使用自适应环路滤波的块,从多个自适应环路滤波器组中为当前图片的块确定相应的自适应环路滤波器组。在本公开的一个示例中,每个相应的自适应环路滤波器组包括在一个或多个先前图片中使用的先前自适应环路滤波器。视频编码器20和视频解码器30可以被配置为在对于当前图片的相应块启用自适应环路滤波的情况下(例如,如ALF开启/关闭标志所指示的),为该块确定相应的自适应环路滤波器组。
视频编码器20和视频解码器30还可以被配置为根据相应的自适应环路滤波器组对当前图片的块进行自适应环路滤波。例如,如上所述,视频编码器20和视频解码器30可以被配置为对块的样点进行分类,然后使用在与该分类相关联的相应的自适应环路滤波器组中的自适应环路滤波器。在另一个示例中,视频编码器20可以被配置为信令通知语法元素,该语法元素指示相应的自适应环路滤波器组中的哪个自适应环路滤波器用于当前块。因此,在一个示例中,视频编码器20和视频解码器30可以被配置为针对块译码相应的标志(例如,块级ALF开启/关闭标志),以指示自适应环路滤波是否用于相应块,并且基于块的相应的标志,对当前图片的块译码指示多个自适应环路滤波器组中的相应的自适应环路滤波器组的相应的语法元素。在一些示例中,在自适应环路滤波未用于当前块的情况下(例如,块级ALF标志指示自适应环路滤波关闭和/或未启用),视频编码器20和视频解码器30将不译码指示相应的自适应环路滤波器组的相应的语法元素。
在以上示例中,当前图片的“块”可以定义为任何尺寸的块。在一个示例中,该块可以是译码树单元(CTU)或任何其他块。该块可以从分割中解耦。在块是CTU的情况下,视频编码器20和视频解码器30可以被配置为对于从CTU分割的所有块,使用为CTU信令通知的自适应环路滤波器组。
在一个示例中,视频编码器20和视频解码器30可以被配置为确定多个自适应环路滤波器组的列表。视频编码器20和视频解码器30可以被配置为确定图片、条带或片的这种列表。多个自适应环路滤波器组中的每个自适应环路滤波器组可以被配置为使得每个可能的样点分类都具有相关联的滤波器。也就是说,每个组可以包含为分类分配的滤波器。如上所述,视频编码器20和视频解码器30可以被配置为将组索引译码到块的多个自适应环路滤波器组的列表中。在一个示例中,多个自适应环路滤波器组的列表可以是表格,其中表格中的每个条目是特定的自适应环路滤波器组。此外,视频编码器20和视频解码器30可以被配置为针对块译码标志,以指示是否使用了ALF(例如,块级别的ALF开启/关闭标志)。多个自适应环路滤波器组的列表可以包括一个或多个预先训练的滤波器、使用来自先前图片的滤波器导出的一个或多个滤波器、和/或在当前图片的比特流中信令通知的滤波器。
根据本公开的一些示例,视频编码器20和/或视频解码器30可以跨不同的图片共享多个滤波器组的列表(例如,用于先前图片的自适应环路滤波器被包括在用于对当前块进行译码的多个滤波器组的组中)。在一个示例中,滤波器组列表可以用预先训练的滤波器来初始化。在对图片进行译码之后,视频编码器20可以基于编码的图片导出新的滤波器组,并将新的滤波器组添加到滤波器组列表。可替换地,新的滤波器组可以替换列表中现有的滤波器组。在对另一幅图片进行译码之后,视频编码器20可以导出另一个滤波器组,并将导出的滤波器组包括在滤波器组列表中。在这个示例中,滤波器组列表对于所有图片都是通用的,并且可以在对图片进行译码之后进行更新。从解码器侧,视频解码器30可以在对图片进行解码之后或在对图片进行解码之前检测新滤波器组的信令通知。
根据本公开的一些示例,视频编码器20可以被配置为对于图片、条带和/或片,信令通知(例如,编码)新的滤波器组的语法元素。视频解码器30可以被配置为基于来自视频编码器20的信令通知来确定新的滤波器组,并且将新的滤波器组添加到包括多个滤波器组的列表中。
在一个示例中,视频编码器20和视频解码器30可以被配置为将新的滤波器组添加到滤波器组列表。更新后的列表可用于滤波下一个或多个图片中的块。在另一个示例中,视频编码器20和视频解码器30可以被配置为使用更新的列表(例如,包含使用当前图片/条带/片导出的新的滤波器组)来对当前图片/条带/片中的块进行滤波。
根据本公开的一些示例,视频编码器20和视频解码器30可以用使用先前图片、先前条带和/或先前片导出的滤波器来更新滤波器组列表(例如,多个自适应环路滤波器组的列表)。视频编码器20和视频解码器30可以被配置为在滤波器组列表中添加自适应环路滤波器组的顺序可以是固定的、预定义的或灵活的。可以基于与当前图片相关的信息和与从其中导出列表中相应滤波器的图片相关的信息,对于图片重新排序列表。视频编码器20可以使用滤波器组列表中的索引向视频解码器30指示滤波器组。在一些示例中,视频编码器20可以将较小的索引值分配给更频繁使用的滤波器或新添加的滤波器。
在一个示例中,视频编码器20和视频解码器30可以被配置为将新导出的滤波器组添加到列表的开头。在另一个示例中,视频编码器20和视频解码器30可以被配置为将使用列表中的先前帧(例如,先前自适应环路滤波器)导出的滤波器组添加到当前信令通知的滤波器之后并且在列表中的现有滤波器组(例如,预先训练的固定滤波器组)之前。在另一个示例中,视频编码器20和视频解码器30可以被配置为将自适应环路滤波器添加到每个相应的自适应环路滤波器组,使得首先添加当前自适应环路滤波器,其次添加先前自适应环路滤波器,最后添加预先训练的自适应环路滤波器。
在本公开的另一个示例中,列表中滤波器组的排序可以取决于其他图片相关信息。例如,从与当前图片相同的时域层中的图片导出的滤波器可以被放置在使用另一时域层中的图片导出的滤波器之前的列表中。在另一个示例中,列表中的滤波器组的索引可以取决于从其中导出它的相应图片是否是用于预测当前图片的参考图片。视频编码器20和视频解码器30可以被配置为将对应于更频繁使用的参考图片的滤波器添加到在从其他参考图片导出的滤波器之前。以此方式对滤波器组进行排序可产生具有对于滤波器组列表中最频繁使用的滤波器组的较少比特的语法元素(例如,滤波器组列表中的索引)。因此,可以使用更少的比特来信令通知用于该块的滤波器组,从而提高译码效率。
在另一个示例中,视频编码器20和视频解码器30可以被配置为将使用利用与当前图片相似的量化参数(QP)译码的图片导出的滤波器添加到利用不同QP译码的先前图片导出的滤波器之前。
在本公开的另一示例中,视频编码器20和视频解码器30可以被配置为限制滤波器组列表中滤波器组的最大数量。在一个示例中,滤波器组列表中最多可以保存三十二(32)组滤波器。在一些示例中,视频编码器20可以被配置为在条带报头、序列参数集、图片参数集、其他高级语法信息或其他地方中信令通知列表中的滤波器组的最大数量。
在本公开的另一示例中,视频编码器20可以使用不同数量的比特来信令通知不同的滤波器组索引。与较高的索引位置相比,可以使用较少的比特来指示列表中较低的索引位置(因为靠近列表顶部的滤波器组更有可能被选择)。同样,这可以导致更频繁地使用更少的比特来信令通知用于该块的滤波器组,从而提高译码效率。
根据本公开的一些示例,视频编码器20和视频解码器30可以被配置为共享一些块的ALF信息(例如,跨越两个或更多个块的ALF信息的合并)。在一个示例中,视频编码器20和视频解码器30可以被配置为跨多个块共享该组滤波器的索引和/或ALF开启/关闭标志(该标志指示自适应环路滤波是否被应用于块)。ALF合并指示符可以指示哪些块被合并,以及哪些ALF信息与该ALF合并指示符相关联。合并指示符可以是索引、标志或任何其他语法元素。
在一个示例中,视频编码器20和视频解码器30可以被配置为将块的ALF信息与上面的块或左边的块合并。在其他示例中,还可以使用更灵活的ALF信息合并,其允许将图片中的一个块与任何其他块(即,不一定是相邻块)合并。
在本公开的一些示例中,视频解码器30可以被配置为基于其他现有块信息来导出ALF开启/关闭标志。在一个示例中,视频解码器30可以基于现有的块信息来导出ALF开启/关闭标志,因此,视频编码器20可以不信令通知ALF开启/关闭标志。视频编码器20可以信令通知一块组的ALF开启/关闭标志,表示为ALF块。ALF块的尺寸可以预先确定,或者可以由视频编码器20信令通知。在一个示例中,共享相同ALF开启/关闭标志的块可以表示ALF块。在另一个示例中,ALF块可以等于块。
a.在一个示例中,视频编码器20和视频解码器30可以被配置为基于具有非零译码的块标志(coded block flag,CBF)的ALF块中共享相同ALF开启/关闭标志的块的数量来导出ALF开启/关闭标志。CBF指示块是否包括任何显著性(significant)(例如,非零的变换系数)。CBF的为“1”的值表示该块包含非零变换系数。如果非零CBF的数量小于某个阈值,则可以禁用ALF,或者可以对ALF块中的那些块应用默认的ALF滤波器。
b.在上面的子项目符号“a”的示例中,可以计算非零变换系数的数量,而不是CBF。可以为所计数的系数引入阈值,并且如果非零变换系数的数量小于该阈值,则可以对包括在ALF块中的块禁用自适应环路滤波,或者可以对那些块应用默认ALF滤波器。
c.在另一个示例中,如果以跳过模式译码的ALF块中的块的数量大于某个阈值,则可以对ALF块中的那些块禁用自适应环路滤波。子项目符号“c”的技术可以与子项目符号“a”和“b”的技术以任何组合方式一起使用。
d.在上面的子项目符号“c”的示例中,跳过模式被用作示例,并且其他译码模式(例如,诸如特定帧内预测方向、特定帧间预测模式等特定模式)可用于导出ALF开启/关闭标志。
图4是示出可以实现本公开中描述的技术的示例视频编码器20的框图。视频编码器20可以对视频条带内的视频块执行帧内和帧间译码。帧内译码依赖于空域预测以减少或消除给定视频帧或图片中视频的空域冗余。帧间译码依赖于时域预测以减少或消除视频序列的临近帧或图片内的视频中的时域冗余。帧内模式(I模式)可以指几种基于空域的压缩模式中的任何一种。帧间模式,诸如单向预测(P模式)或双向预测(B模式),可以指几种基于时域的压缩模式中的任何一种。
在图4的示例中,视频编码器20包括视频数据存储器33、分割单元35、预测处理单元41、加法器50、变换处理单元52、量化单元54、熵编码单元56。预测处理单元41包括运动估计单元(motion estimation unit,MEU)42、运动补偿单元(motion compensation unit,MCU)44和帧内预测单元46。对于视频块重构,视频编码器20还包括逆量化单元58、逆变换处理单元60、加法器62、滤波器单元64和解码图片缓冲器(decoded picture buffer,DPB)66。
如图4所示,视频编码器20接收视频数据并将接收的视频数据存储在视频数据存储器33中。视频数据存储器33可以存储要由视频编码器20的组件编码的视频数据。存储在视频数据存储器33中的视频数据可以例如从视频源18获得。DPB 66可以是存储参考视频数据的参考图片存储器,用于由视频编码器20(例如,在帧内或帧间译码模式下)编码视频数据。视频数据存储器33和DPB 66可以由多种存储器设备中的任何一种形成,诸如动态随机存取存储器(DRAM),包括同步DRAM(SDRAM)、磁阻RAM(MRAM)、电阻RAM(RRAM)或其他类型的存储器设备。视频数据存储器33和DPB 66可以由相同的存储器设备或单独的存储器设备提供。在各种示例中,视频数据存储器33可以与视频编码器20的其他组件一起在芯片上,或者相对于这些组件在芯片外。
分割单元35从视频数据存储器33检索视频数据,并将视频数据分割成视频块。这种分割还可以包括分割成条带、片或其他更大的单元,以及视频块分割,例如,根据LCU和CU的四叉树结构。视频编码器20通常示出了对待编码的视频条带内的视频块进行编码的组件。该条带可以被划分成多个视频块(并且可能被划分成称为片的视频块组)。预测处理单元41可基于误差结果(例如,译码率和失真水平)为当前视频块选择多个可能的译码模式中的一个,诸如多个帧内译码模式中的一个或多个帧间译码模式中的一个。预测处理单元41可将所得的帧内或帧间译码的块提供给加法器50以生成残差块数据,并提供给加法器62以重构编码的块,用作参考图片。
预测处理单元41内的帧内预测单元46可以相对于与待译码的当前块在同一帧或条带中的一个或多个相邻块来执行当前视频块的帧内预测性译码,以提供空域压缩。预测处理单元41内的运动估计单元42和运动补偿单元44相对于一个或多个参考图片中的一个或多个预测性块执行当前视频块的帧间预测性译码,以提供时域压缩。
运动估计单元42可以被配置为根据视频序列的预定模式来确定视频条带的帧间预测模式。预定模式可以将序列中的视频条带指定为P条带或B条带。运动估计单元42和运动补偿单元44可以是高度集成的,但是出于概念的目的而被单独示出。由运动估计单元42执行的运动估计是生成运动矢量的处理,该处理估计视频块的运动。例如,运动矢量可以指示当前视频帧或图片内的视频块的PU相对于参考图片内的预测性块的位移。
预测性块是被发现在像素差异方面与待译码的视频块的PU紧密匹配的块,像素差异可以由绝对差之和(sum of absolute difference,SAD)、平方差之和(sum of squaredifference,SSD)或其他差度量来确定。在一些示例中,视频编码器20可以计算存储在DPB66中的参考图片的子整数像素位置的值。例如,视频编码器20可插值参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元42可以执行相对于全像素位置和分数像素位置的运动搜索,并输出具有分数像素精度的运动矢量。
运动估计单元42通过将帧间译码的条带中的视频块的PU的位置与参考图片的预测性块的位置进行比较来计算该PU的运动矢量。参考图片可以从第一参考图片列表(列表0)或第二参考图片列表(列表1)中选择,每个列表标识存储在DPB 66中的一个或多个参考图片。运动估计单元42将计算的运动矢量发送到熵编码单元56和运动补偿单元44。
由运动补偿单元44执行的运动补偿可以包括基于由运动估计确定的运动矢量获取或生成预测性块,可能执行亚像素精度的插值。一旦接收到当前视频块的PU的运动矢量,运动补偿单元44可以定位运动矢量在参考图片列表中的一个中指向的预测性块。视频编码器20通过从被译码的当前视频块的像素值中减去预测性块的像素值来形成残差视频块,从而形成像素差值。像素差值形成块的残差数据,并且可以包括亮度和色度差分量。加法器50代表执行该减法运算的一个或多个组件。运动补偿单元44还可以生成与视频块和视频条带相关联的语法元素,供视频解码器30在解码视频条带的视频块时使用。
在预测处理单元41经由帧内预测或帧间预测为当前视频块生成预测性块之后,视频编码器20通过从当前视频块中减去预测性块来形成残差视频块。残差块中的残差视频数据可被包括在一个或多个TU中,并被应用于变换处理单元52。变换处理单元52使用变换,诸如离散余弦变换(DCT)或概念上类似的变换,将残差视频数据变换成残差变换系数。变换处理单元52可以将残差视频数据从像素域转换到变换域,诸如频域。
变换处理单元52可以将得到的变换系数发送到量化单元54。量化单元54量化变换系数以进一步降低比特率。量化处理可以减少与一些或所有系数相关联的比特深度。量化的程度可以通过调整量化参数来修改。在一些示例中,量化单元54然后可以对包括量化的变换系数的矩阵执行扫描。在另一个示例中,熵编码单元56可以执行扫描。
在量化之后,熵编码单元56对量化的变换系数进行熵编码。例如,熵编码单元56可以执行上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵译码(PIPE)或另一种熵编码方法或技术。在熵编码单元56进行熵编码之后,编码的比特流可以被传输到视频解码器30,或者被存档以供视频解码器30稍后传输或检索。熵编码单元56还可以对由预测处理单元41提供的正被译码的当前视频条带的运动矢量和其他语法元素进行熵编码。
逆量化单元58和逆变换处理单元60分别应用逆量化和逆变换,以重构像素域中的残差块,用于稍后用作参考图片的参考块。运动补偿单元44可以通过将残差块加到参考图片列表中的一个内的参考图片中的一个的预测性块来计算参考块。运动补偿单元44还可以将一个或多个插值滤波器应用于重构的残差块,以计算用于运动估计的子整数像素值。加法器62将重构的残差块加到由运动补偿单元44产生的运动补偿预测块上,以产生重构块。
滤波器单元64对重构块(例如加法器62的输出)进行滤波,并将滤波后的重构块存储在DPB 66中,用作参考块。运动估计单元42和运动补偿单元44可以使用该参考块作为参考块来对后续视频帧或图片中的块进行帧间预测。滤波器单元64可以执行任何类型的滤波,诸如去方块滤波、SAO滤波、峰值SAO滤波、ALF和/或GALF滤波,和/或其他类型的环路滤波器。去方块滤波器可以例如将去方块滤波应用于滤波器块边界,以从重构的视频中去除块状伪影。峰值SAO滤波器可以对重构的像素值应用偏移,以便提高整体译码质量。也可以使用额外的环路滤波器(环路中或环路后)。
此外,滤波器单元64可以被配置为执行本公开中与自适应环路滤波相关的任何技术。具体而言,如上所述,滤波器单元64可以被配置为对于其中使用自适应环路滤波的块,从多个自适应环路滤波器组中为当前图片的块确定相应的自适应环路滤波器组,其中每个相应的自适应环路滤波器组包括在一个或多个先前图片中使用的先前自适应环路滤波器,并且根据相应的自适应环路滤波器组对当前图片的块进行自适应环路滤波。
图5是示出可以实现本公开中描述的技术的示例视频解码器30的框图。例如,图5的视频解码器30可以被配置为接收上面关于图4的视频编码器20描述的信令通知。在图5的示例中,视频解码器30包括视频数据存储器78、熵解码单元80、预测处理单元81、逆量化单元86、逆变换处理单元88、加法器90、DPB 94和滤波器单元92。预测处理单元81包括运动补偿单元82和帧内预测单元84。在一些示例中,视频解码器30可以执行解码处理,该解码处理通常与关于图4的视频编码器20描述的编码处理相反。
在解码处理中,视频解码器30从视频编码器20接收表示编码的视频条带的视频块和相关联的语法元素的编码的视频比特流。视频解码器30将接收的编码的视频比特流存储在视频数据存储器78中。视频数据存储器78可以存储要由视频解码器30的组件解码的视频数据,诸如编码的视频比特流。存储在视频数据存储器78中的视频数据可以例如经由链路16从存储设备26或从本地视频源(诸如相机)获得,或者通过访问物理数据存储介质获得。视频数据存储器78可以形成译码图片缓冲器(coded picture buffer,CPB),其存储来自编码的视频比特流的编码的视频数据。DPB 94可以是存储参考视频数据的参考图片存储器,用于由视频解码器30解码视频数据,例如,以帧内或帧间译码模式。视频数据存储器78和DPB 94可以由多种存储器设备中的任何一种形成,诸如DRAM、SDRAM、MRAM、RRAM或其他类型的存储器设备。视频数据存储器78和DPB 94可以由相同的存储器设备或单独的存储器设备提供。在各种示例中,视频数据存储器78可以与视频解码器30的其他组件一起在芯片上,或者相对于这些组件在芯片外。
视频解码器30的熵解码单元80对存储在视频数据存储器78中的视频数据进行熵解码,以生成量化系数、运动矢量和其他语法元素。熵解码单元80将运动矢量和其他语法元素转发给预测处理单元81。视频解码器30可以在视频条带级别和/或视频块级别接收语法元素。
当视频条带被译码为帧内译码(I)的条带时,预测处理单元81的帧内预测单元84可以基于信令通知的帧内预测模式和来自当前帧或图片的先前解码块的数据来生成当前视频条带的视频块的预测数据。当视频帧被译码为帧间译码的条带(例如,B条带或P条带)时,预测处理单元81的运动补偿单元82基于从熵解码单元80接收的运动矢量和其他语法元素来产生当前视频条带的视频块的预测性块。预测性块可以从参考图片列表中的一个中的参考图片中的一个产生。视频解码器30可以使用基于存储在DPB 94中的参考图片的默认构造技术来构造参考帧列表,列表0和列表1。
运动补偿单元82通过解析运动矢量和其他语法元素来确定当前视频条带的视频块的预测信息,并使用该预测信息来产生正被解码的当前视频块的预测性块。例如,运动补偿单元82使用一些接收到的语法元素来确定用于对视频条带的视频块进行译码的预测模式(例如,帧内或帧间预测)、帧间预测条带类型(例如,B条带或P条带)、条带的一个或多个参考图片列表的构造信息、条带的每个帧间编码的视频块的运动矢量、条带的每个帧间译码的视频块的帧间预测状态以及解码当前视频条带中的视频块的其他信息。
运动补偿单元82也可以基于插值滤波器执行插值。运动补偿单元82可以使用视频编码器20在视频块编码期间使用的插值滤波器来计算参考块的子整数像素的插值。在这种情况下,运动补偿单元82可以根据接收到的语法元素来确定视频编码器20使用的插值滤波器,并使用插值滤波器来产生预测性块。
逆量化单元86逆量化,即去量化比特流中提供的并由熵解码单元80解码的量化变换系数。逆量化处理可以包括使用由视频编码器20为视频条带中的每个视频块计算的量化参数来确定量化程度,并且同样地,确定应该应用的逆量化程度。逆变换处理单元88对变换系数应用逆变换,例如逆DCT(离散余弦变换)、逆整数变换或概念上类似的逆变换处理,以便产生像素域中的残差块。
在预测处理单元81使用例如帧内或帧间预测为当前视频块生成预测性块之后,视频解码器30通过将来自逆变换处理单元88的残差块与由运动补偿单元82生成的相应预测性块相加来形成重构视频块。加法器90代表执行该加法操作的一个或多个组件。
滤波器单元92对重构块(例如加法器90的输出)进行滤波,并将滤波后的重构块存储在DPB 94中,用作参考块。运动补偿单元82可以使用该参考块作为参考块来对后续视频帧或图片中的块进行帧间预测。滤波器单元92可以执行任何类型的滤波,诸如去方块滤波、SAO滤波、峰值SAO滤波、ALF和/或GALF滤波,和/或其他类型的环路滤波器。去方块滤波器可以例如将去方块滤波应用于滤波器块边界,以从重构的视频中去除块状伪影。峰值SAO滤波器可以对重构的像素值应用偏移,以便提高整体译码质量。也可以使用额外的环路滤波器(环路内或环路后)。
此外,滤波器单元92可以被配置为执行本公开中与自适应环路滤波相关的任何技术。具体而言,如上所述,滤波器单元92可以被配置为对于其中使用自适应环路滤波的块,从多个自适应环路滤波器组中为当前图片的块确定相应的自适应环路滤波器组,其中每个相应的自适应环路滤波器组包括在一个或多个先前图片中使用的先前自适应环路滤波器,并且根据相应的自适应环路滤波器组对当前图片的块进行自适应环路滤波。
图6示出了滤波器单元92的示例实现。滤波器单元64可以以相同的方式实现。滤波器单元64和92可以执行本公开的技术,可能结合视频编码器20或视频解码器30的其他组件。在图6的示例中,滤波器单元92包括去方块滤波器102、SAO滤波器104和ALF/GALF滤波器106。举例来说,SAO滤波器104可被配置为以本公开中所描述的方式来确定块的样点的偏移值。ALF/GALF滤波器106可以被配置为对于其中使用自适应环路滤波的块,从多个自适应环路滤波器组中为当前图片的块确定相应的自适应环路滤波器组,其中每个相应的自适应环路滤波器组包括在一个或多个先前图片中使用的先前自适应环路滤波器,并且根据相应的自适应环路滤波器组对当前图片的块进行自适应环路滤波。
滤波器单元92可以包括更少的滤波器和/或可以包括额外的滤波器。另外,图6中所示的特定滤波器可以以不同的顺序实现。其他环路滤波器(在译码环路中或在译码环路之后)也可以用于平滑像素过渡或以其他方式提高视频质量。给定帧或图片中的解码的视频块随后被存储在DPB 94中,其中DPB 94存储用于后续运动补偿的参考图片。DPB 94可以是附加存储器的一部分或者与附加存储器分离,附加存储器存储解码的视频,用于稍后在显示设备上呈现,诸如图1的显示设备32。
图7是示出本公开的示例方法的流程图。图7的技术可以由视频编码器20和视频解码器30的一个或多个结构单元来执行,包括滤波器单元64和滤波器单元92。如上所述,术语“进行译码(coding)”一般指进行编码和进行解码。同样,术语“译码(code)”一般指编码和解码。
在本公开的一个示例中,视频编码器20和视频解码器30可以被配置为对于其中使用自适应环路滤波的块,从多个自适应环路滤波器组中为当前图片的块确定相应的自适应环路滤波器组,其中每个相应的自适应环路滤波器组包括在一个或多个先前图片中使用的先前自适应环路滤波器(700)。在一个示例中,为了确定相应的自适应环路滤波器组,视频编码器20和视频解码器30还被配置为针对块译码相应的标志,以指示自适应环路滤波器是否用于相应的块,并且基于块的相应的标志,对于当前图片的块从多个自适应环路滤波器组中对指示相应的自适应环路滤波器组的相应的语法元素进行译码。在一个示例中,相应的语法元素是对包括多个自适应环路滤波器组的列表的索引。视频编码器20和视频解码器30还可以被配置为根据相应的自适应环路滤波器组对当前图片的块进行自适应环路滤波(702)。
图8是示出本公开的另一示例方法的流程图。图8更详细地示出了图7的技术的示例。例如,视频编码器20和视频解码器30可以被配置为对当前图片中的视频数据块进行译码,以创建重构的视频数据块(800)。也就是说,视频编码器20和视频解码器30可以被配置为对当前图片中的第一视频数据块进行译码,以创建第一重构视频数据块。
视频编码器20和视频解码器30然后可以被配置为确定块级ALF开启/关闭标志是否为开启(802)。如果否,视频编码器20和视频解码器30不应用ALF,而是继续对下一个视频数据块进行译码(810)。如果是,视频编码器20和视频解码器30对于该块,对指示自适应环路滤波器组的语法元素进行译码(804)。例如,视频编码器20和视频解码器30对于第一视频数据块,对指示多个自适应环路滤波器组中的第一自适应环路滤波器组的第一语法元素进行译码。
视频编码器20和视频解码器30然后可以从当前译码的块的自适应环路滤波器组中确定自适应环路滤波器(806)。例如,视频编码器20和视频解码器30可以从第一自适应环路滤波器组中为第一重构视频数据块确定第一自适应环路滤波器。视频编码器20和视频解码器30然后可以将自适应环路滤波器应用于重构的块(808)。视频编码器20和视频解码器30然后可以对下一个视频数据块进行译码(810)。例如,下一个视频数据块可以是第二视频数据块。然后重复图8的处理。应当注意,当执行本公开的技术时,当确定用于下一个视频数据块(例如,第二视频数据块)的自适应环路滤波器组时,用于第二视频数据块的自适应环路滤波器组可以不同于用于其他视频数据块的自适应环路滤波器组。
在一个或多个示例中,所描述的功能可以在硬件、软件、固件或其任意组合中实现。如果以软件实现,这些功能可以作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质传输,并由基于硬件的处理单元执行。计算机可读介质可以包括对应于诸如数据存储介质的有形介质的计算机可读存储介质,或者包括例如根据通信协议便于将计算机程序从一个地方传送到另一个地方的任何介质的通信介质。以这种方式,计算机可读介质通常可以对应于(1)非暂时性的有形计算机可读存储介质,或者(2)诸如信号或载波的通信介质。数据存储介质可以是可由一个或多个计算机或一个或多个处理器访问以检索指令、代码和/或数据结构来实现本公开中描述的技术的任何可用介质。计算机程序产品可以包括计算机可读介质。
作为示例而非限制,这种计算机可读存储介质可以是RAM、ROM、EEPROM、CD-ROM或其他光盘存储器、磁盘存储器或其他磁存储设备、闪存或任何其他可以用于以指令或数据结构的形式存储期望的程序代码并且可以由计算机访问的介质。此外,任何连接都被恰当地称为计算机可读介质。例如,如果使用同轴电缆、光纤电缆、双绞线、数字用户线路(DSL)或无线技术(诸如红外线、无线电和微波)从网站、服务器或其他远程源传输指令,则同轴电缆、光纤电缆、双绞线、DSL或无线技术(如红外线、无线电和微波)包括在介质的定义中。然而,应当理解,计算机可读存储介质和数据存储介质不包括连接、载波、信号或其他瞬态介质,而是指向非瞬态有形存储介质。本文使用的磁盘和光盘包括压缩光盘(CD)、激光盘、光学光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常磁性地再现数据,而光盘用激光光学地再现数据。上述的组合也应该包括在计算机可读介质的范围内。
指令可以由一个或多个处理器执行,诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其他等效的集成或离散逻辑电路。因此,本文使用的术语“处理器”可以指任何前述结构或者适合于实现本文描述的技术的任何其他结构。此外,在一些方面,本文描述的功能可以在被配置用于编码和解码的专用硬件和/或软件模块中提供,或者结合在组合编解码器中。同样,这些技术可以完全在一个或多个电路或逻辑元件中实现。
本公开的技术可以在多种设备或装置中实现,包括无线手机、集成电路(IC)或IC组(例如芯片组)。在本公开中描述了各种组件、模块或单元,以强调被配置为执行所公开的技术的设备的功能方面,但是不一定需要通过不同的硬件单元来实现。相反,如上所述,各种单元可以组合在编解码器硬件单元中,或者由包括如上所述的一个或多个处理器的互操作硬件单元的集合结合合适的软件和/或固件来提供。
已经描述了各种示例。这些和其他示例在所附权利要求的范围内。

Claims (38)

1.一种对视频数据进行译码的方法,所述方法包括:
对于其中使用自适应环路滤波的块,从多个自适应环路滤波器组中为当前图片的块确定相应的自适应环路滤波器组,其中每个相应的自适应环路滤波器组包括在一个或多个先前图片中使用的先前自适应环路滤波器;和
根据所述相应的自适应环路滤波器组对所述当前图片的块进行自适应环路滤波。
2.根据权利要求1所述的方法,其中确定相应的自适应环路滤波器组包括:
对于其中使用自适应环路滤波器的所述当前图片的块,对指示来自所述多个自适应环路滤波器组中的相应自适应环路滤波器组的相应的语法元素进行译码。
3.根据权利要求2所述的方法,其中所述相应的语法元素是对包括所述多个自适应环路滤波器组的列表的索引。
4.根据权利要求1所述的方法,还包括:
针对块译码相应的标志,所述标志指示是否将自适应环路滤波用于相应的块。
5.根据权利要求1所述的方法,还包括:
针对块组译码相应的标志,所述标志指示是否将自适应环路滤波用于相应块组中的每个块。
6.根据权利要求1所述的方法,还包括:
基于以下一个或多个来确定自适应环路滤波是否用于每个块或块组中的每个块:
块组中具有非零译码块标志(CBF)的块的数量,
非零变换系数的数量,
块组中以特定模式译码的块的数量,以及
块组中以跳过模式译码的块的数量。
7.根据权利要求1所述的方法,其中所述当前图片的块是所述当前图片的译码树单元(CTU)。
8.根据权利要求1所述的方法,还包括:
为所述当前图片确定所述多个自适应环路滤波器组。
9.根据权利要求1所述的方法,其中每个相应的自适应环路滤波器组还包括:对于所述当前图片信令通知的当前自适应环路滤波器或预先训练的自适应环路滤波器中的一个或多个。
10.根据权利要求9所述的方法,还包括:
将自适应环路滤波器添加到每个相应的自适应环路滤波器组,使得首先添加对于所述当前图片信令通知的任何当前自适应环路滤波器,其次添加任何先前的自适应环路滤波器,最后添加任何预先训练的自适应环路滤波器。
11.根据权利要求10所述的方法,其中对于所述当前图片信令通知的所述当前自适应环路滤波器在滤波器组列表中具有较低的索引值。
12.根据权利要求9所述的方法,还包括:
对于所述当前图片,对指示所述当前图片的当前自适应环路滤波器的一个或多个语法元素进行译码。
13.根据权利要求1所述的方法,其中所述相应的自适应环路滤波器组包括分配给多个分类中的每个分类的相应的自适应环路滤波器。
14.根据权利要求1所述的方法,其中确定相应的自适应环路滤波器组包括:对于第一视频数据块,对指示来自所述多个自适应环路滤波器组中的第一自适应环路滤波器组的第一语法元素进行译码;以及对于第二视频数据块,对指示来自所述多个自适应环路滤波器组中的第二自适应环路滤波器组的第二语法元素进行译码,其中所述第二自适应环路滤波器组不同于所述第一自适应环路滤波器组,所述方法还包括:
对所述当前图片中的所述第一视频数据块进行译码,以创建第一重构视频数据块;
从所述第一自适应环路滤波器组中为所述第一重构视频数据块确定第一自适应环路滤波器;
将所述第一自适应环路滤波器应用于所述第一重构视频数据块;
对所述当前图片中的所述第二视频数据块进行译码,以创建第二重构视频数据块;
从所述第二自适应环路滤波器组中为所述第二重构视频数据块确定第二自适应环路滤波器;和
将所述第二自适应环路滤波器应用于所述第二重构视频数据块。
15.根据权利要求1所述的方法,其中译码包括编码,所述方法还包括:
用相机捕获所述当前图片。
16.根据权利要求1所述的方法,其中译码包括解码,所述方法还包括:
显示所述当前图片。
17.一种被配置为对视频数据进行译码的装置,所述装置包括:
存储器,被配置为存储视频数据的当前图片;和
与所述存储器通信的一个或多个处理器,所述一个或多个处理器被配置为:
对于其中使用自适应环路滤波的块,从多个自适应环路滤波器组中为所述当前图片的块确定相应的自适应环路滤波器组,其中每个相应的自适应环路滤波器组包括在一个或多个先前图片中使用的先前自适应环路滤波器;和
根据所述相应的自适应环路滤波器组对所述当前图片的块进行自适应环路滤波。
18.根据权利要求17所述的装置,其中,为了确定所述相应的自适应环路滤波器组,所述一个或多个处理器还被配置为:
对于其中使用自适应环路滤波器的所述当前图片的块,对指示来自所述多个自适应环路滤波器组的相应的自适应环路滤波器组的相应的语法元素进行译码。
19.根据权利要求18所述的装置,其中所述相应的语法元素是对包括所述多个自适应环路滤波器组的列表的索引。
20.根据权利要求17所述的装置,其中,所述一个或多个处理器还被配置为:
针对块译码相应的标志,所述标志指示是否将自适应环路滤波用于相应的块。
21.根据权利要求17所述的装置,其中,所述一个或多个处理器还被配置为:
针对块组译码相应的标志,所述标志指示是否将自适应环路滤波用于相应块组中的每个块。
22.根据权利要求17所述的装置,其中,所述一个或多个处理器还被配置为:
基于以下一项或多项,确定自适应环路滤波是否用于每个块或块组中的每个块:
块组中具有非零译码块标志(CBF)的块的数量,
非零变换系数的数量,
块组中以特定模式译码的块的数量,以及
块组中以跳过模式译码的块的数量。
23.根据权利要求17所述的装置,其中所述当前图片的块是所述当前图片的译码树单元(CTU)。
24.根据权利要求17所述的装置,其中,所述一个或多个处理器还被配置为:
为所述当前图片确定所述多个自适应环路滤波器组。
25.根据权利要求17所述的装置,其中,每个相应的自适应环路滤波器组还包括:对于所述当前图片信令通知的当前自适应环路滤波器或预先训练的自适应环路滤波器中的一个或多个。
26.根据权利要求25所述的装置,其中,所述一个或多个处理器还被配置为:
将自适应环路滤波器添加到每个相应的自适应环路滤波器组中,使得首先添加对于所述当前图片信令通知的任何当前自适应环路滤波器,其次添加任何先前的自适应环路滤波器,最后添加任何预先训练的自适应环路滤波器。
27.根据权利要求26所述的装置,其中对于所述当前图片信令通知的所述当前自适应环路滤波器在滤波器组列表中具有较低的索引值。
28.根据权利要求25所述的装置,其中,所述一个或多个处理器还被配置为:
对于所述当前图片,对指示所述当前自适应环路滤波器的一个或多个语法元素进行译码。
29.根据权利要求17所述的装置,其中所述相应的自适应环路滤波器组包括分配给多个分类中的每个分类的相应的自适应环路滤波器。
30.根据权利要求17所述的装置,其中,为了确定所述相应的自适应环路滤波器组,所述一个或多个处理器还被配置为:对于第一视频数据块,对指示来自所述多个自适应环路滤波器组中的第一自适应环路滤波器组的第一语法元素进行译码;以及对于第二视频数据块,对指示来自所述多个自适应环路滤波器组中的第二自适应环路滤波器组的第二语法元素进行译码,其中所述第二自适应环路滤波器组不同于所述第一自适应环路滤波器组,并且其中所述一个或多个处理器还被配置为:
对所述当前图片中的所述第一视频数据块进行译码,以创建第一重构视频数据块;
从所述第一自适应环路滤波器组中为第一重构视频数据块确定第一自适应环路滤波器;
将所述第一自适应环路滤波器应用于所述第一重构视频数据块;
对所述当前图片中的所述第二视频数据块进行译码,以创建第二重构视频数据块;
从所述第二自适应环路滤波器组中为所述第二重构视频数据块确定第二自适应环路滤波器;和
将所述第二自适应环路滤波器应用于所述第二重构视频数据块。
31.根据权利要求17所述的装置,其中,为了译码,所述一个或多个处理器被配置为编码,所述装置还包括:
被配置为捕获所述当前图片的相机。
32.根据权利要求17所述的装置,其中,为了译码,所述一个或多个处理器被配置为解码,所述装置还包括:
被配置为显示所述当前图片的显示器。
33.一种被配置为对视频数据进行译码的装置,所述装置包括:
用于对于其中使用自适应环路滤波的块,从多个自适应环路滤波器组中为当前图片的块确定相应的自适应环路滤波器组的部件,其中每个相应的自适应环路滤波器组包括在一个或多个先前图片中使用的先前自适应环路滤波器;和
用于根据所述相应的自适应环路滤波器组对所述当前图片的块进行自适应环路滤波的部件。
34.根据权利要求33所述的装置,其中用于确定所述相应的自适应环路滤波器组的部件包括:
用于针对块译码相应的标志的部件,所述标志指示是否将自适应环路滤波用于相应的块;和
用于基于块的相应的标志,针对所述当前图片的块,对指示来自所述多个自适应环路滤波器组的相应的自适应环路滤波器组的相应的语法元素进行译码的部件。
35.根据权利要求33所述的装置,其中,每个相应的自适应环路滤波器组还包括:对于所述当前图片信令通知的当前自适应环路滤波器或预先训练的自适应环路滤波器中的一个或多个。
36.一种存储指令的非暂时性计算机可读存储介质,所述指令在被执行时使得一个或多个处理器:
对于其中使用自适应环路滤波的块,从多个自适应环路滤波器组中为当前图片的块确定相应的自适应环路滤波器组,其中每个相应的自适应环路滤波器组包括在一个或多个先前图片中使用的先前自适应环路滤波器;和
根据所述相应的自适应环路滤波器组对所述当前图片的块进行自适应环路滤波。
37.根据权利要求36所述的非暂时性计算机可读存储介质,其中,为了确定相应的自适应环路滤波器组,所述指令还使得所述一个或多个处理器:
针对块译码相应的标志,所述标志指示是否将自适应环路滤波用于相应的块;和
基于块的相应的标志,针对所述当前图片的块,对指示来自所述多个自适应环路滤波器组的相应的自适应环路滤波器组的相应的语法元素进行译码。
38.根据权利要求36所述的非暂时性计算机可读存储介质,其中,每个相应的自适应环路滤波器组还包括:对于所述当前图片信令通知的当前自适应环路滤波器或预先训练的自适应环路滤波器中的一个或多个。
CN201980036216.4A 2018-06-01 2019-05-31 基于块的自适应环路滤波器(alf)设计和信令通知 Active CN112243587B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862679685P 2018-06-01 2018-06-01
US62/679,685 2018-06-01
US16/427,017 US11451773B2 (en) 2018-06-01 2019-05-30 Block-based adaptive loop filter (ALF) design and signaling
US16/427,017 2019-05-30
PCT/US2019/034964 WO2019232412A1 (en) 2018-06-01 2019-05-31 Block-based adaptive loop filter (alf) design and signaling

Publications (2)

Publication Number Publication Date
CN112243587A true CN112243587A (zh) 2021-01-19
CN112243587B CN112243587B (zh) 2023-01-31

Family

ID=68693391

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980036216.4A Active CN112243587B (zh) 2018-06-01 2019-05-31 基于块的自适应环路滤波器(alf)设计和信令通知

Country Status (16)

Country Link
US (1) US11451773B2 (zh)
EP (1) EP3804337A1 (zh)
JP (1) JP7422684B2 (zh)
KR (1) KR20210015819A (zh)
CN (1) CN112243587B (zh)
AU (1) AU2019278991B2 (zh)
BR (1) BR112020024520A2 (zh)
CA (1) CA3099795A1 (zh)
CL (1) CL2020003085A1 (zh)
CO (1) CO2020014698A2 (zh)
IL (1) IL278482B1 (zh)
MX (1) MX2020012846A (zh)
PH (1) PH12020551866A1 (zh)
SG (1) SG11202010952XA (zh)
TW (1) TWI827609B (zh)
WO (1) WO2019232412A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102026519B1 (ko) * 2011-06-30 2019-09-27 미쓰비시덴키 가부시키가이샤 화상 부호화 장치, 화상 복호 장치, 화상 부호화 방법, 화상 복호 방법 및 기억 매체
US11140418B2 (en) 2018-07-17 2021-10-05 Qualcomm Incorporated Block-based adaptive loop filter design and signaling
TWI692939B (zh) * 2018-08-14 2020-05-01 鈺創科技股份有限公司 過濾訊號的數位濾波器
US11284075B2 (en) 2018-09-12 2022-03-22 Qualcomm Incorporated Prediction of adaptive loop filter parameters with reduced memory consumption for video coding
US11051017B2 (en) 2018-12-20 2021-06-29 Qualcomm Incorporated Adaptive loop filter (ALF) index signaling
US11910024B2 (en) 2019-03-11 2024-02-20 Qualcomm Incorporated Boundary handling for adaptive loop filtering
US11159791B2 (en) * 2019-03-16 2021-10-26 Mediatek Inc. Method and apparatus for signaling adaptive loop filter parameters in video coding
US11683487B2 (en) 2019-03-26 2023-06-20 Qualcomm Incorporated Block-based adaptive loop filter (ALF) with adaptive parameter set (APS) in video coding
US11284114B2 (en) 2019-04-23 2022-03-22 Qualcomm Incorporated Adaptive loop filter set index signaling
CN112449183B (zh) * 2019-09-03 2023-05-09 联咏科技股份有限公司 视频编码器、视频解码器以及视频系统
BR112022012383A2 (pt) * 2019-12-23 2022-08-30 Huawei Tech Co Ltd Filtragem loop adaptativa de componente cruzado para codificação de vídeo
US11303892B2 (en) * 2020-01-23 2022-04-12 Qualcomm Incorporated Adaptive rounding for loop filters
IL295013A (en) * 2020-01-24 2022-09-01 Huawei Tech Co Ltd Encoder, decoder and corresponding methods for adaptive loop filtering
US11516514B2 (en) * 2020-03-27 2022-11-29 Tencent America LLC High level control for deblocking operations
US20230085391A1 (en) * 2021-09-13 2023-03-16 Apple Inc. Systems and Methods for Luma or Chroma Statistics Collection
CN116962688A (zh) * 2022-04-20 2023-10-27 腾讯科技(深圳)有限公司 环路滤波方法、视频编解码方法、装置、介质及电子设备
WO2024094071A1 (en) * 2022-11-01 2024-05-10 Douyin Vision Co., Ltd. Using side information for adaptive loop filter in video coding
WO2024119191A1 (en) * 2022-12-03 2024-06-06 Beijing Dajia Internet Information Technology Co., Ltd. Methods and devices for adaptive loop filtering and cross-component adaptive loop filter

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120170645A1 (en) * 2011-01-05 2012-07-05 Qualcomm Incorporated Video filtering using a combination of one-dimensional switched filter and one-dimensional adaptive filter
CN103959777A (zh) * 2011-10-13 2014-07-30 高通股份有限公司 视频译码中的与自适应环路滤波器合并的样本自适应偏移
CN107211154A (zh) * 2015-02-11 2017-09-26 高通股份有限公司 译码树单元级自适应环路滤波器

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8811484B2 (en) 2008-07-07 2014-08-19 Qualcomm Incorporated Video encoding by filter selection
US8548041B2 (en) * 2008-09-25 2013-10-01 Mediatek Inc. Adaptive filter
JP2011151431A (ja) * 2009-12-25 2011-08-04 Sony Corp 画像処理装置および方法
US9369712B2 (en) * 2010-01-14 2016-06-14 Dolby Laboratories Licensing Corporation Buffered adaptive filters
US9094658B2 (en) * 2010-05-10 2015-07-28 Mediatek Inc. Method and apparatus of adaptive loop filtering
US20120039383A1 (en) * 2010-08-12 2012-02-16 Mediatek Inc. Coding unit synchronous adaptive loop filter flags
US9819966B2 (en) 2010-09-01 2017-11-14 Qualcomm Incorporated Filter description signaling for multi-filter adaptive filtering
US9813738B2 (en) * 2010-10-05 2017-11-07 Hfi Innovation Inc. Method and apparatus of adaptive loop filtering
WO2012071417A1 (en) * 2010-11-24 2012-05-31 Thomson Licensing Adaptive loop filtering
US20120177104A1 (en) * 2011-01-12 2012-07-12 Madhukar Budagavi Reduced Complexity Adaptive Loop Filter (ALF) for Video Coding
US8989261B2 (en) 2011-02-23 2015-03-24 Qualcomm Incorporated Multi-metric filtering
DK2882190T3 (en) * 2011-04-21 2019-02-18 Hfi Innovation Inc Method and apparatus for improved ring-structured filtration
US20120294353A1 (en) 2011-05-16 2012-11-22 Mediatek Inc. Apparatus and Method of Sample Adaptive Offset for Luma and Chroma Components
US9277228B2 (en) * 2011-07-18 2016-03-01 Qualcomm Incorporated Adaptation parameter sets for video coding
US9485521B2 (en) * 2011-09-19 2016-11-01 Lg Electronics Inc. Encoding and decoding image using sample adaptive offset with start band indicator
US20130114694A1 (en) * 2011-11-08 2013-05-09 Qualcomm Incorporated Parameter set groups for coded video data
EP2810443B1 (en) * 2012-02-01 2021-03-31 Nokia Technologies Oy Method and apparatus for video coding
US9596463B2 (en) * 2012-02-22 2017-03-14 Qualcomm Incorporated Coding of loop filter parameters using a codebook in video coding
EP3453174A1 (en) 2016-05-06 2019-03-13 VID SCALE, Inc. Method and system for decoder-side intra mode derivation for block-based video coding
US10419755B2 (en) * 2016-05-16 2019-09-17 Qualcomm Incorporated Confusion of multiple filters in adaptive loop filtering in video coding
WO2018122092A1 (en) 2016-12-30 2018-07-05 Telefonaktiebolaget Lm Ericsson (Publ) Methods, apparatus, and computer programs for decoding media
US10506230B2 (en) 2017-01-04 2019-12-10 Qualcomm Incorporated Modified adaptive loop filter temporal prediction for temporal scalability support
JPWO2019069968A1 (ja) * 2017-10-06 2020-11-05 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 符号化装置、復号装置、符号化方法および復号方法
US11284075B2 (en) 2018-09-12 2022-03-22 Qualcomm Incorporated Prediction of adaptive loop filter parameters with reduced memory consumption for video coding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120170645A1 (en) * 2011-01-05 2012-07-05 Qualcomm Incorporated Video filtering using a combination of one-dimensional switched filter and one-dimensional adaptive filter
CN103959777A (zh) * 2011-10-13 2014-07-30 高通股份有限公司 视频译码中的与自适应环路滤波器合并的样本自适应偏移
CN107211154A (zh) * 2015-02-11 2017-09-26 高通股份有限公司 译码树单元级自适应环路滤波器

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ALFONSO DE LA ROCHA GOMEZ一AREVALILLO: "Investigating the Adaptive Loop Filter in Next Generation Video Coding", 《INDEPENDENT THESIS ADVANCED LEVEL》 *
JIANLE CHEN: "Algorithm Description of Joint Exploration Test Model 7 (JEM 7)", 《JOINT VIDEO EXPLORATION TEAM (JVET)》 *

Also Published As

Publication number Publication date
WO2019232412A1 (en) 2019-12-05
AU2019278991B2 (en) 2022-11-24
BR112020024520A2 (pt) 2021-03-02
PH12020551866A1 (en) 2021-07-19
EP3804337A1 (en) 2021-04-14
US11451773B2 (en) 2022-09-20
JP7422684B2 (ja) 2024-01-26
JP2021525981A (ja) 2021-09-27
IL278482A (en) 2020-12-31
MX2020012846A (es) 2021-02-18
CN112243587B (zh) 2023-01-31
CO2020014698A2 (es) 2020-12-10
TWI827609B (zh) 2024-01-01
CL2020003085A1 (es) 2021-06-11
KR20210015819A (ko) 2021-02-10
SG11202010952XA (en) 2020-12-30
CA3099795A1 (en) 2019-12-05
TW202005399A (zh) 2020-01-16
US20190373258A1 (en) 2019-12-05
IL278482B1 (en) 2024-05-01
AU2019278991A1 (en) 2020-12-03

Similar Documents

Publication Publication Date Title
CN112243587B (zh) 基于块的自适应环路滤波器(alf)设计和信令通知
US11683487B2 (en) Block-based adaptive loop filter (ALF) with adaptive parameter set (APS) in video coding
US10506228B2 (en) Variable number of intra modes for video coding
CN109716765B (zh) 用于视频译码中的帧内预测的经改进内插滤波器
CN109076218B (zh) 基于多个滤波器混淆的视频编码/解码方法、装置
CN109076228B (zh) 滤波信息的发信号
CN107211154B (zh) 用于译码视频数据的方法和装置以及计算机可读存储介质
CN109964482B (zh) 视频译码中指示双边滤波器使用的方法
CN109792525B (zh) 峰值样本自适应偏移
CN113424542A (zh) 用于视频编解码中带有运动矢量差的合并模式的信令
US11051017B2 (en) Adaptive loop filter (ALF) index signaling
CN112425163B (zh) 基于块的自适应环路滤波器设计和信令通知
CN110800295B (zh) 基于无除法双边滤波器解码方法、装置、存储介质
US20190320172A1 (en) Hardware-friendly sample adaptive offset (sao) and adaptive loop filter (alf) for video coding
CN112655217A (zh) 减少视频译码的内存消耗的自适应环路滤波器参数的时间预测
RU2783335C2 (ru) Устройство и сигнализация адаптивного контурного фильтра (alf) на блочной основе
US20190373292A1 (en) In-loop bilateral filter type decision based on block information

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant