CN112806019A - 视频编解码中的滤波装置和方法 - Google Patents

视频编解码中的滤波装置和方法 Download PDF

Info

Publication number
CN112806019A
CN112806019A CN201980043463.7A CN201980043463A CN112806019A CN 112806019 A CN112806019 A CN 112806019A CN 201980043463 A CN201980043463 A CN 201980043463A CN 112806019 A CN112806019 A CN 112806019A
Authority
CN
China
Prior art keywords
lut
block
filtered
filter
value
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
CN201980043463.7A
Other languages
English (en)
Other versions
CN112806019B (zh
Inventor
谢尔盖·尤里耶维奇·伊科宁
维克多·阿列克谢耶维奇·斯蒂平
迪米特雷·库里雪夫
陈建乐
罗曼·伊戈列维奇·切尔尼亚克
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN112806019A publication Critical patent/CN112806019A/zh
Application granted granted Critical
Publication of CN112806019B publication Critical patent/CN112806019B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/02Digital function generators
    • G06F1/03Digital function generators working, at least partly, by table look-up
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/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/18Methods 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 a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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
    • 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/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/124Quantisation

Landscapes

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

Abstract

本发明涉及一种用于视频编解码的滤波器,其中所述滤波器用于处理重建帧以生成滤波后的重建帧,所述重建帧包括多个像素。所述滤波器包括一个或多个处理器,用于:获得所述重建块的量化参数(quantization parameter,QP);根据所述QP获得阈值(threshold,THR);根据所述QP获得查找表,以根据所述阈值和所述查找表生成经过滤波的重建块。所述滤波器有助于提高视频编解码效率。

Description

视频编解码中的滤波装置和方法
相关申请案的交叉参考
本申请要求于2018年7月2日提交的申请号为62/693,441、发明名称为“视频编解码中 的滤波装置和方法(Apparatus and Method for Filtering in Video Coding)”的美国临时申请, 要求于2018年8月31日提交的申请号为62/725,845、发明名称为“视频编解码中的滤波装 置和方法(Apparatus and Method for Filtering in Video Coding)”的美国临时申请,要求于 2018年9月16日提交的申请号为62/731,967、发明名称为“视频编解码中的滤波装置和方 法(Apparatus and Method for Filtering in Video Coding)”的美国临时申请,要求于2018年9 月17日提交的申请号为62/731,972、发明名称为“视频编解码中的滤波装置和方法 (Apparatus and Method for Filtering in Video Coding)”的美国临时申请,要求于2018年9月 24日提交的申请号为62/735,722、发明名称为“视频编解码中的滤波(Filtering In Video Coding)”的美国临时申请,要求于2018年11月8日提交的申请号为62/757,732、发明名称 为“视频编解码中的滤波装置和方法(Apparatus andMethod for Filtering in Video Coding)”, 要求于2019年1月17日提交的申请号为62/793,866、发明名称为“视频编解码中的滤波装 置和方法(Apparatus and Method forFiltering in Video Coding)”的美国临时申请案的权益, 其全部内容通过引用的方式并入本文本中。
技术领域
本发明大体上涉及视频编解码领域。更具体地,本发明涉及一种用于视频编解码的滤波 器、一种用于对重建视频帧进行滤波的方法、一种用于对视频块进行滤波的方法,以及一种 包括这种用于视频编解码的滤波器的编码装置和解码装置。
背景技术
自从DVD光盘问世以来,数字视频得到了广泛应用。数字视频在传输之前进行编码, 然后通过传输介质进行传输。观看者接收该数字视频,使用一种观看设备解码和显示该数字 视频。多年来,由于分辨率、颜色深度和帧率等的提高,视频质量已经得到了改善。这样产 生了更大的数据流,目前这些数据流通常通过互联网和移动通信网络进行传送。
然而,高分辨率视频通常需要更多带宽,这是因为这些视频包含更多的信息。为了降低 带宽需求,引入了涉及视频压缩的视频编码标准。对视频进行编码时,会降低带宽需求(或 存储时对应的内存需求)。降低带宽需求通常会导致质量下降。因此,视频编码标准试图在 带宽需求和质量之间寻求平衡。
由于需要不断地提高质量、降低带宽需求,人们一直在研究各种技术方案,以在降低带 宽需求的情况下保持质量或在保持带宽需求的同时提高质量。此外,有时候可以接受折中方 案。例如,如果质量改进显著,则提高带宽需求是可以接受的。
高效视频编码(High Efficiency Video Coding,HEVC)是本领域技术人员所熟知的视频 编码标准的一个示例。在HEVC中,将编码单元(coding unit,CU)划分为预测单元(prediction unit,PU)或变换单元(transform unit,TU)。通用视频编码(VersatileVideo Coding,VVC)下一代标准是ITU-T视频编码专家组(Video Coding Experts Group,VCEG) 和ISO/IEC运动图像专家组(Moving Picture Experts Group,MPEG)标准化组织进行的最新 联合视频项目。这两个标准化组织共同合作,称为联合视频探索小组(JointVideo Exploration Team,JVET)。VVC也称为ITU-T H.266/下一代视频编码(NextGeneration Video Coding,NGVC)标准。VVC去掉了多种分割类型概念,即不区分CU、PU和TU概 念(除非CU太大,超过了最大变换长度,则根据需要区分这些概念)。VVC支持更灵活的CU分割形状。
图像滤波常常用于强调图像的某些特征或者用于提高图像经过滤波后的客观质量或感知 质量。图像滤波必须处理各种噪声源。因此,提供了各种提高质量的方法,目前正在使用中。 例如,在自适应环路滤波(adaptive Loop filter,ALF)方法中,每个重建帧被划分成小块 (超像素)集合,而且自适应环路滤波器对每个块进行滤波,也就是说,经过滤波的重建帧 中的每个像素是在生成经过滤波的像素的位置周围,从重建帧中的像素的连接区域内的几个 像素的加权和。加权系数(也称为滤波系数)具有中心对称的属性,并从编码器传输到解码 器。边缘通常很大,因此传输的加权系数会变多,导致无法进行高效处理。存在大量加权系 数,需要在编码端进行复杂的率失真优化(rate-distortionoptimization,RDO),以减少传输 的加权系数。在解码端,ALF需要能够实现通用乘法,需要为每个2×2像素块重新加载这些 乘法。
因此,需要一种改进的滤波器和方法,以在低复杂度的情况下提高预测质量,从而提高 视频编解码效率。
发明内容
本发明的目的是提供一种改进的滤波器和方法,以在有限复杂度下提高滤波效率,从而 提高视频编解码效率。
上述和其它目的通过独立权利要求所保护的主题实现。更多实现方式在从属权利要求、 说明书和附图中是显而易见的。
根据第一方面,本发明涉及一种用于视频编解码的滤波器。所述滤波器用于处理块以生 成经过滤波的块,所述块包括多个像素。所述滤波器包括存储器,包括指令;一个或多个处 理器,与所述存储器通信。所述一个或多个处理器执行所述指令以:根据预定义的扫描模板, 将当前像素和所述当前像素的相邻像素加载到线性缓冲器中;通过对所述线性缓冲器中的像 素执行1D变换,获得频谱分量;通过将每个频谱分量与增益系数相乘,获得经过滤波的频 谱分量,其中,所述增益系数根据对应的频谱分量和滤波参数确定;通过对所述经过滤波的 频谱分量执行1D逆变换,获得经过滤波的像素;根据所述经过滤波的像素,生成经过滤波 的块。
例如,所述块(或帧)可以是预测块,所述经过滤波的块是经过滤波的预测块。又如, 所述块(或帧)可以是重建块,所述经过滤波的块是经过滤波的重建块。
例如,所述增益系数是所述对应的频谱分量与所述滤波参数的函数。所述滤波参数可以 从编解码量化参数(quantization parameter,QP)导出。
又如,当第一频谱分量的增益系数G(i,σ)等于1时,跳过所述第一频谱分量,不进行滤 波。所述第一频谱分量对应于所述线性缓冲器中的像素的总和或平均值,所述第一频谱分量 可以对应于DC。
再如,所述一个或多个处理器执行所述指令,从LUT的表值中删除N个比特,其中,N为整数。N可以根据QP值确定,或者为固定值。
例如,所述预定义的扫描模板被定义为与所述当前像素在所述重建块中的位置相对的空 间偏移或栅格偏移的集合。指向相邻像素的偏移在所述重建块中。可以根据所述预定义的扫 描模板将至少一个经过滤波的像素放置到所述至少一个经过滤波的像素的原始位置上。根据 所述预定义的扫描模板将所有经过滤波的像素增加到累积缓冲器中;可以在所述获得经过滤 波的频谱分量之前将所述累积缓冲器初始化为0。所述累积缓冲器中的累积值除以增加到所 述累积缓冲器当前位置的像素的数量,得到最终经过滤波的像素;所述一个或多个处理器用 于:根据所述最终经过滤波的像素,生成所述经过滤波的重建块。
可选地,根据所述预定义的扫描模板将所有经过滤波的像素和对应的未经过滤波的像素 之间的差值增加到累积缓冲器中,其中所述累积缓冲器通过未经过滤波的像素乘以待增加到 所述块中的像素值的最大数量进行初始化。所述累积缓冲器中的累积值除以待增加到所述块 中的像素值的最大数量,得到所述最终经过滤波的像素。
根据第二方面,本发明涉及一种对应的滤波方法,用于对块进行处理以生成经过滤波的 块。所述块包括多个像素。每个像素与一个像素值关联。所述滤波方法包括以下步骤:根据 预定义的扫描模板,将当前像素和所述当前像素的相邻像素加载到线性缓冲器中;通过对所 述线性缓冲器中的像素执行1D变换,获得频谱分量;通过将每个频谱分量与增益系数相乘, 获得经过滤波的频谱分量,其中,所述增益系数根据对应的频谱分量和滤波参数确定;通过 对经过滤波的频谱分量执行1D逆变换,获得经过滤波的像素;根据所述经过滤波的像素, 生成所述经过滤波的块。
例如,所述块(或帧)可以是预测块,所述经过滤波的块是经过滤波的预测块。又如, 所述块(或帧)可以是重建块,所述经过滤波的块是经过滤波的重建块。
例如,所述增益系数是所述对应的频谱分量与所述滤波参数的函数。所述滤波参数可以 从编解码量化参数(quantization parameter,QP)导出。
又如,当第一频谱分量的增益系数G(i,σ)等于1时,跳过所述第一频谱分量,不进行滤 波。所述第一频谱分量可以对应于DC值。
再如,根据查找表(look up table,LUT)对所述频谱分量进行滤波。所述LUT可以根 据至少一些量化参数(quantization parameter,QP)的辅助函数来生成。所述辅助函数可以 是直线等式,在点(i,THR)和(a,0)处相交,其中,a>0,a根据滤波参数σ或QP值确定。例 如,对于QP集合中的最后一个QP,a等于11;对于QP集合中的倒数第二个QP,a等于9。
再如,所述方法还包括:从所述LUT的表值中删除N个比特,其中,N为整数。N可 以根据QP值确定,或者为固定值。在所述QP集合中,QP越小,N越小。例如,对于所述 QP集合中的第一个QP,N等于2;而对于所述QP集合中的其余QP,N等于3。或者,在 所述QP集合中,QP越大,N越大。例如,对于所述QP集合中的最后一个QP或最后两个 QP,N等于4;而对于所述QP集合中的其余QP,N等于3。或者,在所述QP集合中,QP 越小,N越小;QP越大,N越大。例如,对于所述QP集合中的第一个QP,N等于2;对 于所述QP集合中的最后一个QP或最后两个QP,N等于4;而对于所述QP集合中的其余 QP,N等于3。
例如,所述预定义的扫描模板被定义为与所述当前像素在所述重建块中的位置相对的空 间偏移或栅格偏移的集合。指向相邻像素的偏移在所述重建块内。可以根据所述预定义的扫 描模板将至少一个经过滤波的像素放置到所述至少一个经过滤波的像素的原始位置上。根据 所述预定义的扫描模板将所有经过滤波的像素增加到累积缓冲器中;可以在所述获得经过滤 波的频谱分量之前将所述累积缓冲器初始化为0。所述累积缓冲器中的累积值除以增加到所 述累积缓冲器当前位置的像素的数量,得到最终经过滤波的像素;所述一个或多个处理器用 于:根据所述最终经过滤波的像素,生成所述经过滤波的重建块。
可选地,根据所述预定义的扫描模板将所有经过滤波的像素和对应的未经过滤波的像素 之间的差值增加到累积缓冲器中,其中所述累积缓冲器通过未经过滤波的像素乘以待增加到 所述块中的像素值的最大数量进行初始化。所述累积缓冲器中的累积值除以待增加到所述块 中的像素值的最大数量,得到所述最终经过滤波的像素。
根据第三方面,本发明涉及一种编码装置,用于对输入视频流中的当前帧进行编码。所 述编码装置包括根据本发明第一方面的滤波器。
根据第四方面,本发明涉及一种解码装置,用于从接收到的码流中解码出当前帧。所述 解码装置包括根据本发明第一方面的滤波器。
根据第五方面,本发明涉及一种计算机程序产品。所述计算机程序包括程序代码;所述 程序代码在计算机上执行时,用于执行所述第二方面提供的所述方法。
因此,所述滤波器有助于提高视频编解码效率。更具体地,根据本发明实施例的改进的 滤波器能够从帧本身估计滤波参数,无需指示滤波参数,而传统滤波器指示权重系数以在图 像域进行滤波,所以改进的滤波器比传统滤波器需要更少指示。
附图说明
将参照以下附图描述本发明的其它实施例,其中:
图1A为本实施例提供的编码装置的示意图,该编码装置包括本实施例提供的滤波器;
图1B为本实施例提供的编码装置的示意图,该编码装置包括本实施例提供的滤波器;
图2A为本实施例提供的解码装置的示意图,该解码装置包括本实施例提供的滤波器;
图2B为本实施例提供的解码装置的示意图,该解码装置包括本实施例提供的滤波器;
图3A为滤波过程的各方面的示意图,该滤波过程在本实施例提供的滤波器中实现;
图3B为滤波过程的各方面的示意图,该滤波过程在本实施例提供的滤波器中实现;
图3C为滤波过程的各方面的示意图,该滤波过程在根据另一个实施例的滤波器中实现;
图4A示出了用于方形重建块内的不同像素位置的模板;
图4B示出了一个像素的等效滤波器形状;
图4C提供了填充的一个示例;
图4D提供了填充的另一个示例;
图5A为本实施例提供的滤波方法步骤的示意图;
图5B为本实施例提供的滤波方法步骤的示意图;
图6为基于SRAM的示例性硬件滤波器设计;
图7为基于触发器的2×2组滤波的示例性硬件设计;
图8示出了组合四个2×2组滤波的结果以及重用相同空间组最终滤波的结果的一个示例;
图9举例示出了LUT优化的结果;
图10举例示出了滤波器传递函数中的不想要的间隙;
图11举例表示逐个绘制表项的相同表格;
图12举例示出了如何利用辅助函数消除间隙的方法;
图13示出了在生成LUT时通过从两个值中取最大值来消除间隙的示例;
图14举例示出了在应用上述方法之后的滤波器传递函数;
图15示出了根据集合中的五个QP确定的滤波器传递函数的示例;
图16示出了根据相应表格用于集合中的五个QP的滤波器传递函数的示例;
图17示出了根据相应表格用于集合中的五个QP的滤波器传递函数的示例;
图18为本实施例提供的装置的示例性结构的示意图。
在各种附图中,相同的附图标记用于表示相同或功能等同的特征。
具体实施方式
以下结合附图进行描述,所述附图是描述的一部分,并通过图解说明的方式示出可以实 施本发明的具体方面。应理解,在不脱离本发明范围的情况下,可以利用其它方面,并可以 做出结构上或逻辑上的改变。因此,以下详细描述并不构成任何限定,因为本发明的范围由 所附权利要求书界定。
例如,应理解,与描述方法有关的公开内容可以对用于执行所述方法的对应设备或系统 也同样适用,反之亦然。例如,如果描述了一个具体的方法步骤,则对应的设备可以包括用 于执行所描述的方法步骤的单元,即使此种单元未在附图中明确描述或说明。此外,应理解, 除非另有具体说明,否则本文描述的各种示例性方面的特征可以相互组合。
图1A示出了本实施例提供的编码装置100。编码装置100包括本实施例提供的滤波器 120。编码装置100用于对视频信号的帧中的块进行编码,其中,该视频信号包括多个帧(在本文中还称为图像(picture/image)),每个帧可划分成多个块,每个块包括多个像素。在一个实施例中,这些块可以是宏块、编码树单元、编码单元、预测单元和/或预测块。
本发明中的术语“块”用于表示任何类型的块或任何深度的块,例如,术语“块”包括 但不限于根块、块、子块、叶节点等。待编码块的大小不一定相同。一幅图像可以包括不同 大小的多个块,视频序列中的不同图像的块栅格也可以不同。
在图1A所示的示例性实施例中,编码装置100实现为混合视频编码器。通常,视频信 号中的第一帧是帧内编码帧,帧内编码帧只通过帧内预测进行编码。为此,在图1A所示的 实施例中,编码装置100还包括用于帧内预测的帧内预测单元154。帧内编码帧的解码可以 不需要其它帧帧的信息。帧内预测单元154可以根据帧内估计单元152提供的信息对块执行 帧内预测。
在第一帧内编码帧后面的帧中的块可以通过模式选择单元160选择的帧间预测或帧内预 测进行编码。为此,图1A所示的编码装置100还包括帧间预测单元144。通常,帧间预测 单元144可以用于根据帧间估计单元142提供的运动估计对块执行运动补偿。
此外,在图1B所示的混合编码器实施例中,滤波器145还对通过帧内预测或帧间预测 获得的预测信号进行滤波。
此外,在图1A和图1B所示的混合编码器实施例中,残差计算单元104确定原始块与原始块的预测块之间的差值。预测块即定义帧内/帧间预测的预测误差的残差块。变换单元106对该残差块进行变换(例如,通过DCT),量化单元108对变换系数进行量化。熵编码 单元170进一步对量化单元108的输出以及帧内预测单元154、帧间预测单元144和滤波器 120等提供的编码信息或边信息进行编码。
混合视频编码器的处理方式通常与解码器的处理方式相同,使得编码器和解码器产生相 同的预测块。因此,在图1所示的实施例中,反量化单元110和逆变换单元执行变换单元 106和量化单元108的逆操作,复制残差块的解码近似值。然后,重建单元114将解码得到 的残差块数据与预测块的结果相加。接着,重建单元114的输出可以提供给列缓冲器116以 用于帧内预测,并且由滤波器120进一步处理,下文将进行详细描述。最终得到的图像存储 在解码图像缓冲器130中,并且可以用于对后续帧进行帧间预测。
图2A为本实施例提供的解码装置200。解码装置200包括本实施例提供的滤波器220。 解码装置200用于对编码视频信号的帧中的块进行解码。在图2A所示的实施例中,解码装 置200实现为混合解码器。熵解码单元204对编码图像数据执行熵解码。该编码图像数据通 常可以包括预测误差(即残差块)、运动数据和其它边信息,这些都是帧内预测单元254和 帧间预测单元244以及解码装置200中的滤波器220等其它组件所需的。通常,图2A所示 的解码装置200中的帧内预测单元254和帧间预测单元244由模式选择单元260选择,并且 与图1所示的编码装置100中的帧内预测单元154和帧间预测单元144具有相同功能,这样 编码装置100和解码装置200可以生成相同的预测块。解码装置200中的重建单元214用于 根据反量化单元210和逆变换单元212提供的残差块和经过滤波的预测块来重建帧中的块。 与编码装置100的情况一样,重建块可以提供给列缓冲器216以用于帧内预测,滤波器220 可以将经过滤波的块/帧提供给解码图像缓冲器230以用于帧间预测。
在图2B所示的混合编码器实施例中,滤波器264还对通过帧内预测或帧间预测获得的 预测信号进行滤波。
如上所述,滤波器120、220可以对帧进行滤波。例如,滤波器120、220可以用于处理解码后的重建视频流中的重建帧,以生成经过滤波的重建帧,其中,该重建帧包括多个块。滤波器120、220也可以在块重建之后立即对块进行滤波,无需等待整个帧。例如,滤波器120、220可以用于处理重建块以生成经过滤波的重建块,其中,该重建块包括多个像素。
滤波器120、220、145或264包括一个或多个处理器(或一个或多个处理单元)。如下文进一步描述,一个或多个处理器(或一个或多个处理单元)用于:根据预定义的扫描模板(或者说扫描顺序或扫描模式)将当前像素和当前像素的相邻像素加载到线性缓冲器中;通过对线性缓冲器中的每个像素执行1D变换,获得频谱分量;通过将每个频谱分量与增益系数相乘,获得经过滤波的频谱分量,其中,增益系数根据对应的频谱分量和滤波参数确定;通过对经过滤波的频谱分量执行1D逆变换,获得经过滤波的像素;根据在前面处理步骤中估计的经过滤波的像素,生成经过滤波的重建块。例如,增益系数根据对应的频谱分量和滤波参数确定。又如,增益系数根据一个或多个滤波参数以及一个或多个对应的频谱分量确定。 再如,相应的增益系数可以根据一个或多个滤波参数、对应的频谱分量以及该频谱分量的左 右相邻频谱分量确定。
本发明描述了用于有损视频编解码的环内滤波器,该环内滤波器对重建帧中的重建块执 行局部滤波和/或非局部滤波。例如,该重建帧被划分成一组非重叠的小矩形块(CU块)。 在下一个步骤中,每个重建块(重建CU块)在频域中不依赖于其它重建块而进行滤波。滤 波器还可以在变换和重建之后使用,滤波得到的结果既可以用于输出,也可以用于空间预测 和时间预测。
本发明还描述了用于有损视频编解码的预测滤波器,该预测滤波器对重建帧中的预测块 执行局部滤波和/或非局部滤波。
在第一处理步骤中,对重建块内的所有像素进行独立处理。处理像素r(0)需要使用相邻 像素。例如,如图3A所示,处理像素r(0)需要使用像素r(1)至像素r(7),像素r(0)至像素r(7) 组成一个处理组。
图3A或图3B为滤波过程各方面的示意图300、300’,该滤波过程在本实施例提供的滤 波器中实现。在步骤302、302’中,根据预定义的扫描模板将一个块中的当前像素和当前像素的相邻像素加载到线性缓冲器中。例如,该块可以是一个预测块。又如,该块可以是一个重建块。
在步骤304、304’中,对线性缓冲器中的像素r(0)和像素r(0)的相邻像素r(1)至像素r(7) 执行1D变换,获得频谱分量R:
R=1D_Transform(r)
例如,1D变换可以是阿达马(Hadamard)变换。
应理解,根据具体实现方式判断是对一行中的4个像素(例如,图3B所示示例中的像 素A、B、C、D)执行1D变换还是对空间邻近的像素A、B、C、D执行2D变换。对位于 2×2块中的4个像素A、B、C、D执行2D变换与对一行中的4个像素A、B、C、D执行 1D变换可以产生相同的结果。在步骤306、306’中,通过将每个频谱分量R(i)乘以对应的 增益系数G(i,σ),在频域执行滤波,获得经过滤波的频谱分量F(i):
F(i)=R(i)×G(i,σ) (1)
所有频谱分量的增益系数集合为滤波器的频率脉冲响应。
例如,增益系数根据对应的频谱分量和滤波参数确定。又如,增益系数根据一个或多个 滤波参数以及一个或多个对应的频谱分量确定。再如,相应的增益系数可以根据一个或多个 滤波参数、对应的频谱分量以及该频谱分量的左右相邻频谱分量确定。如果每个增益系数为 重建块的频谱分量与滤波参数的函数,或者为预测块的频谱分量与滤波参数的函数,则增益 系数G(i,σ)可以使用以下公式为例进行描述:
Figure BDA0002862236030000071
其中,(i)为频谱分量的索引,R(i)为对应于索引(i)的频谱分量,G(i,σ)为对应于R(i)的 增益系数,σ为滤波参数,m为等于频谱分量的数量的归一化常数。例如,m为1、2、3、4等。不同频谱分量的增益系数可以相同,也可以不同。
对于频谱分量对应于变换块中的输入像素的平均值(FFT、DCT、DST等)或总和(阿达马变换)(通常,第一分量对应于DC值)的变换,最好设置滤波系数等于1,以避免改变 经过滤波的块的平均亮度。即,跳过(不滤波)对应于DC值的第一频谱分量。
滤波参数σ可以使用以下公式等从编码端和解码端的编解码量化参数(quantization parameter,QP)中导出:
σ=k×2(n×(QP-s))
其中,k、n和s是常数,例如,k=2.64,n=0.1296,s=11。
不同频谱分量的滤波参数可以相同,也可以不同。
可以选择参数k,n和s,使得σ根据量化步长确定。在最新的视频编码标准中,QP值每 增加6,量化步长就增加1倍。在参数k=0.5,
Figure BDA0002862236030000072
s=0的示例中,参数σ导出如下:
Figure BDA0002862236030000073
量化缩放矩阵常用于提高视频压缩质量。在本方法中,根据QP导出的量化步长乘以在 码流中传输的缩放因子。在这种方法中,参数σ可以根据用于某个QP的实际缩放的量化步 长导出:
σ=k×Quantization_step_size(QP-s)
常数k、n和s可以是固定值,以用于计算σ,或者根据QP、块大小和块形状、当前块的预测类型(帧间预测/帧内预测)取不同的值。例如,对于大小为32×32或更大的帧内预测方块,参数s可以计算为s=11+8=19。在等效的滤波器中,参数σ的值比较小,产生弱 滤波。弱滤波更适合于大的帧内预测方块,这种方块通常对应于平坦区域。又如,k可以根 据像素的位深进行修改,即kmod=k×(1<<(bit_depth–8))。
根据方法300、300’,每个频率的增益系数都是从重建像素或预测像素的频谱分量中导 出的。因此,方法300、300’不需要传输滤波参数,并且可以在没有额外指示的情况下应 用于任何重建块或预测块。
下面描述了LUT的详细信息。
需要说明的是,滤波是指频谱分量R(i)与缩放系数相乘,该缩放系数始终小于1。还可 以观察到,R(i)的值较大时,缩放系数接近1。基于这些观察结果,频谱滤波使用查找表来 实现,从而将乘法和除法排除在滤波操作外:
由于频谱增益系数小于1,所以滤波可以通过查找短的查找表(look up table,LUT)根 据以下公式实现:
Figure BDA0002862236030000081
其中,
Figure BDA0002862236030000082
(i)为频谱分量的索引,R(i)为对应于索引(i)的频谱分 量,σ为滤波参数,THR为阈值,m为等于频谱分量的数量的归一化常数。例如,m为1、2、3、4等。
例如,THR可以从以下公式计算得到:
Figure BDA0002862236030000083
其中,C为接近1的值,例如0.8或0.9。为了减小LUT大小,阈值THR可以根据QP 值确定。
为了进一步减小LUT大小,可以引入第二阈值,以将经过滤波的小值替换为0。在这种 情况下,经过滤波的频谱分量F(i,σ)进一步导出为:
Figure BDA0002862236030000084
其中,THR2定义了一个阈值。如果小于该阈值,则认为经过滤波的频谱分量为0。第二THR2也可以根据QP值来定义。
在频域进行滤波之后,在步骤308中,对经过滤波的频谱分量执行1D逆变换,获得经 过滤波的像素f:
f=1D_Inverse_Transform(F)
在步骤310、310’中,将1D逆变换的结果放置到包括经过滤波的重建像素或经过滤波 的像素的线性缓冲器中。
在步骤312、312’(图3A或图3B中未示出)中,根据在前面处理步骤中估计的经过滤波的像素生成经过滤波的块。例如,该经过滤波的块可以是经过滤波的预测块。又如,该经过滤波的块可以是经过滤波的重建块。
如图3A所示,在一个实施例中,在滤波步骤306之后,根据预定义的扫描模板将经过 滤波的像素f(0)放置到像素f(0)的原始位置上。不使用其它经过滤波的像素f(1)至像素f(7)。 在另一个实施例中,根据在图3A的步骤302中使用的预定义的扫描模板,将多个经过滤波 的像素(例如,包括经过滤波的像素的线性缓冲器中的所有经过滤波的像素)增加到累积缓 冲器中。累积缓冲器在滤波步骤之前需要初始化为0。在最后的归一化步骤中,累积缓冲器 中的累积值除以增加到累积缓冲器当前位置的像素的数量,即在前面的处理步骤中增加到累 积缓冲器当前位置的像素值的数量,得到最终经过滤波的像素。然后,根据最终经过滤波的 像素生成经过滤波的重建块或预测块。
在另一个实施例中,滤波器的帧内和帧间编码单元(coding unit,CU)滤波具有相同的 实现方式。
如果条带量化参数大于17,则阿达马变换域滤波器始终适用于具有非零变换系数的亮 度重建块,但4×4块排除在外。滤波参数显式地从已编码信息导出。如果所提供的滤波适用, 则在块重建之后对解码像素执行这种滤波。滤波得到的结果既可以用于输出,也用于空间预 测和时间预测。
下面描述了滤波过程,如图3C所示。
重建块中的每个像素的处理包括以下步骤:
根据扫描模式对当前处理的像素(包括当前像素)周围的4个相邻像素进行扫描;
对读取的像素执行4点阿达马变换;
根据公式(1)和公式(2)执行频谱滤波;
跳过对应于DC值的第一频谱分量,不进行滤波;
对经过滤波的频谱执行4点阿达马逆变换。
在滤波步骤之后,将经过滤波的像素放置到该像素在累积缓冲器中的原始位置上。
在完成像素滤波之后,将累积值归一化为每次像素滤波使用的处理组的数量。由于在块 周围填充一个像素,所以该块中的每个像素都存在4个处理组,并且通过右移2个比特来执 行归一化。
可以得知,在要求最大并发性的情况下,该块中的所有像素都可以并行处理。
在本实施例中,阈值THR设置为预定义的值,例如128,如果实现方式简单,则需要为每个QP存储7比特值表示的128(1<<7)个表项。
LUT的大小影响所需的片上内存数量和滤波器的硬件实现成本。为了减少片上存储量, 如果仅对有限的QP集合计算LUT,则LUT从QP 20开始,固定间隔为8。共存储五个预定义的LUT(针对五个QP组)。为了对当前块CU进行滤波,CU的QP四舍五入到表中最接 近的QP。
为了进一步减小LUT大小,在LUT生成过程中删除(或忽略)N个最低比特。这需要使用稀疏表格表示。
在示例性实现方式A中,N等于2,得到7–2=5比特的表格深度(7比特值表示的表项中的32个);
在示例性实现方式B中,N等于3,得到7–3=4比特的表格深度(7比特值表示的表项中的16个)。
因此,整个LUT存储所需的总内存大小为:
在示例性实现方式A中:5×32×7比特=1120比特=140字节;
在示例性实现方式B中:5×16×7比特=560比特=70字节;
示例性实现方式B涉及的LUT大小是16字节,以便在软件实现中能够进行并行访问, 这是因为能够将整个LUT存储在一个16字节的SSE寄存器中,因此建议采用这种配置。
如果使用了阿达马变换,并且根据预定义的扫描模板将经过滤波的像素放置到该像素的 原始位置上,则使用以下伪代码描述方法300的滤波过程:
//扫描重建/预测像素
const int x0=pIn[p0];
const int x1=pIn[p1];
const int x2=pIn[p2];
const int x3=pIn[p3];//p0-p3定义扫描模式
//1D前向阿达马变换
const int y0=x0+x2;
const int y1=x1+x3;
const int y2=x0–x2;
const int y3=x1–x3;
const int t0=y0+y1;
const int t1=y0–y1;
const int t2=y2+y3;
const int t3=y2–y3;
//频域滤波
const int z0=pTbl[t0];
const int z1=pTbl[t1];
const int z2=pTbl[t2];
const int z3=pTbl[t3];
//后向阿达马变换
const int iy0=z0+z2;
const int iy1=z1+z3;
const int iy2=z0–z2;
const int iy3=z1–z3;
//输出经过滤波的像素
pOut[p0_out]=iy0+iy1;
如果使用了阿达马变换,并且将包括经过滤波的像素的线性缓冲器中的多个经过滤波的 像素增加到累积缓冲器中,则使用以下伪代码描述本场景下的滤波过程:
//扫描重建/预测像素
const int x0=pIn[p0];
const int x1=pIn[p1];
const int x2=pIn[p2];
const int x3=pIn[p3];//p0-p3定义扫描模式
//1D前向阿达马变换
const int y0=x0+x2;
const int y1=x1+x3;
const int y2=x0–x2;
const int y3=x1–x3;
const int t0=y0+y1;
const int t1=y0–y1;
const int t2=y2+y3;
const int t3=y2–y3;
//频域滤波
const int z0=pTbl[t0];
const int z1=pTbl[t1];
const int z2=pTbl[t2];
const int z3=pTbl[t3];
//后向阿达马变换
const int iy0=z0+z2;
const int iy1=z1+z3;
const int iy2=z0–z2;
const int iy3=z1–z3;
在替代实施例中,累积缓冲器需要初始化为未滤波像素值乘以待增加到块中的像素值的 最大数量的乘积。待增加到块中的像素值的最大数量根据扫描模板确定。实际上,扫描模板 定义了增加到每个位置的像素值的数量。在此基础上,在累积缓冲器初始化期间,可以从块 中的所有位置中选择并使用最大数量。然后,在每个累积步骤中,将未滤波像素值从对应经 过滤波的值中减去并增加到累积缓冲器中:
//累积经过滤波的像素
pOut[p0]+=iy0+iy1//p0-p3定义扫描模式
pOut[p1]+=iy0–iy1
pOut[p2]+=iy2+iy3
pOut[p3]+=iy2–iy3
为了减小累积像素值的位深,在将像素值放置到累积缓冲器中之前,可以通过变换的大 小(m)对后向变换的结果进行归一化:
pOut[p0]+=((iy0+iy1)>>HTDF_BIT_RND4);
pOut[p1]+=((iy0–iy1)>>HTDF_BIT_RND4);
pOut[p2]+=((iy2+iy3)>>HTDF_BIT_RND4);
pOut[p3]+=((iy2–iy3)>>HTDF_BIT_RND4);
其中,变换大小为4时,HTDF_BIT_RND4等于2。
本实施例使得系统能够避免存储增加到当前位置的多个像素,如果增加的像素值的最大 数量为2、4、8等的幂,则允许在最后的归一化步骤和累积缓冲器初始化步骤中使用移位运 算替换除法和乘法。
为了保持归一化阶段的准确性,可以通过以下方式执行:
//归一化
pFiltered[p0]=CLIP3(0,(1<<BIT_DEPTH)–1,(pOut[p0]+ HTDF_CNT_SCALE_RND)>>HTDF_CNT_SCALE);
其中,HTDF_CNT_SCALE是放置到累积缓冲器中的像素数量的Log2,例如,4个像素时,HTDF_CNT_SCALE等于2;HTDF_CNT_SCALE_RND等于(1<<(HTDF_CNT_SCALE –1))。CLIP3是一个削波函数,用于确保经过滤波的像素在最小和最大像素值之间的允许范 围内。
如上文所述,为了避免改变经过滤波的块的平均亮度,最好对第一频谱分量(对应于 DC值)不进行滤波。这样还能简化滤波器的实现方式。此时,滤波步骤如下:
//频域滤波
const int z0=t0;
const int z1=pTbl[t1];
const int z2=pTbl[t2];
const int z3=pTbl[t3];
对于重建块或预测块中的每个像素,根据重建块或预测块中的经过滤波的像素的位置来 选择在步骤302和步骤310中使用的扫描模板。选择扫描模板是为了保证所有像素都位于重 建CU或预测CU内,并且与当前处理的像素靠近。模板可以使用任意扫描顺序。例如,预 定义的扫描模板被定义为与当前像素在重建块或预测块内的位置相对的空间偏移或栅格偏移 的集合,其中,指向相邻像素的偏移位于重建块或预测块内。扫描模板的示例如下: (0,0),(0,1),(1,0),(1,1)。
图4A示出了用于方块中不同像素位置的模板的一个示例(例如,方形CU预测块或方 形CU重建块)。在本图中,边界像素可以通过4点变换进行滤波,中心像素可以通过8点变换进行滤波。
矩形重建块或预测块的一边比另一边大,应该沿着长边进行扫描。例如,水平矩形块可 以使用以下扫描顺序:
(0,–3),(0,–2),(0,–1),(0,0),(0,1),(0,2),(0,3),(0,4),
其中,在每对(y,x)中,x是水平偏移,y是与当前滤波的像素在当前滤波的重建块或预 测块中的位置相对的垂直偏移。
可以根据以下条件选择性地应用所提供的滤波器:
·重建块或预测块具有非零残差信号;
·根据小的重建块或预测块(最小大小小于阈值)等的块大小;
·根据重建块或预测块的长宽比;
·根据重建块或预测块的预测模式(帧内预测或帧间预测),例如,只对帧间预测块 进行滤波;或者
·根据上述条件的任意组合。
例如,为了避免处理小块,如果块大小小于或等于4×4像素,则可以跳过(不进行)滤 波。这降低了最小块处理对应的最坏情况复杂度。
又如,只对具有非零残差信号的块进行滤波。在确定是否使用滤波器时考虑量化或残差 的值是有益的,因为使用滤波器的目的是为了改善量化误差。
再如,由于帧内预测通常比帧间预测效果差,所以在没有非零残差时,滤波器可以应用 于帧内预测块,而只要块具有非零残差信号,滤波器可以应用于帧间预测块。
滤波参数σ和扫描模式可以根据上述条件而有所不同。
图4B示出了等效滤波器形状,考虑到按照示例性扫描模板(0,0),(0,1),(1,0),(1,1)对当前 块中的一个像素进行滤波。对当前像素进行滤波使用的是3×3像素的方形区域(当前像素在 3×3方块中心用暗灰色标记)。经过滤波的像素是由四个2×2组中的变换域滤波像素组合得 到。可以理解的是,如果当前像素位于块边界(例如上边界)上,左上方和右上方的2×2组 不可用,只能使用两个2×2组(左下方和右下方)进行滤波。此外,如果当前像素位于块角 落(例如左上角),只能使用一个2×2组(右下角)进行滤波。
为了提高滤波质量,可以使用比较多的四个2×2组进行滤波,如果该像素位于对边界和 角落,可以使用额外的像素来填充当前块。图4C示出了在左侧和上方填充像素的一个示例。 填充的像素可以从重建块中选取。
为了进一步统一块中的所有像素的滤波过程(使用四个2×2组对当前块中的所有像素进 行滤波),除了在左上方填充像素,当前块还可以通过图4D所示的右下方填充来扩展。由 于角落像素和边界像素排除了特殊处理情况而简化了实现方式,所以统一进行滤波是有好处 的。
填充的像素优先从重建块中的已调整相邻像素中选取。在最新的视频编解码标准中,重 建块可以位于当前块的左侧或上方或者位于右侧或下方,具体根据块的重建顺序确定。使用 调整像素的更多信息提高了滤波质量,使块过渡更加顺利。
从已调整块或前面的重建块中获取重建像素在硬件或软件实现中可能会需要额外的内存 负载。为了将额外内存减到最小或者省去额外内存,最好使用预期用于对当前块进行帧内预 测的像素,这些像素通常从调整到当前块边界的相邻块的一行、两行或更多行以及一列、两 列或更多列中选取。这些像素通常存储在闪存(也称为“列”缓冲器)中,以便在进行帧内 预测时访问,并称为帧内预测的参考像素。
还需要说明的是,在一些实现方式中,在执行帧内预测之前,参考像素(帧内参考像素) 在预测之前通过平滑、锐化、去环或双边滤波等进行预处理。在这种情况下,最好使用预处 理的像素来填充当前块。
如果填充区域中的一些像素不可用,由于已调整块存在重建顺序,则所需像素可以从扩 展边界像素的当前块填充到填充区域,如图4D所示。
图5A为本实施例提供的对应环内滤波方法500的步骤的流程图。重建块包括多个像素。 方法500包括以下步骤:根据预定义的扫描模板,将当前像素和当前像素的相邻像素加载 (502)到线性缓冲器中;通过对所述线性缓冲器中的像素执行1D变换,获得(504)频谱分量;通过将每个频谱分量与增益系数相乘,获得(506)经过滤波的频谱分量,其中,所 述增益系数根据对应的频谱分量和滤波参数确定;通过对经过滤波的频谱分量执行1D逆变换,获得(508)经过滤波的像素;根据在前面的处理步骤中估计的所述经过滤波的像素, 生成(510)经过滤波的重建块。方法500可以由图1所示的编码装置和图2所示的解码装 置执行。图3A的详细信息300或图3B的信息300’也应用于图5A所示的方法500。
与图5A类似,图5B为根据另一个实施例的对应环内滤波方法500’的步骤的流程图。 在本示例中,块(或帧)是预测块,经过滤波的块是经过滤波的预测块。图5B的详细描述与图5A类似。
下面描述了硬件实现。
阿达马变换域滤波刚好发生在块重建之后,用于对像素进行处理。这些像素可以用于后 续块重建,特别是作为帧内预测的参考像素。因此,需要将滤波引入的延迟减至最小,以确 保整个重建过程不会受到太大的影响。
阿达马变换在硬件实现中是相对简单的。实现阿达马变换只需要加法,而不需要乘法。 从下面的伪码1可以看出,前后向变换都包含4次加法,这些加法可以并行完成或者使用两 次顺序加法运算重用中间结果来完成。
伪码1
Figure BDA0002862236030000141
前后向阿达马变换可以利用组合逻辑在硬件中实现。需要快速、并行访问LUT。
下面描述了基于SRAM的LUT。
在本示例性实现方式中,LUT是存储在片上单端口静态RAM中的(图6)。
一旦从前一处理步骤得到的数据通过时钟的上升沿在缓冲器中可用,就可以通过实现前 向阿达马变换(包含两次后续加法)的组合逻辑访问这些数据。在完成组合逻辑后,每个 LUT都存在地址。通过反相器和时钟的下降沿,从SRAM访问数据。在LUT的数据可用后立即启动实现后向阿达马变换和归一化的第二组合逻辑。输出的经过滤波的像素在当前时钟 周期结束时变得可用,并准备在时钟的下一个上升沿通过下一个算法进行处理。
下面描述了基于触发器的LUT。
考虑到处理过程使用的一个表被限制为16个表项,基于触发器实现LUT更高效。这种 设计不需要并行处理几个LUT,也不需要时钟边沿进行数据访问。复用器实现并行访问,如图7所示。图7示出了用于处理一个2×2组的示例性设计。在所建议的设计中,需要16 个7比特触发器,以在滤波过程中实现并行访问。一旦当前CU的QP可用,QP特定的 LUT就可以加载到触发器中。
组合四个2×2组滤波的结果以及重用相同空间组的结果,产生了最终的滤波器输出,如 图8所示。
根据上述分析,可以得出这样的结论:所提供的滤波器可以在一个时钟内使用基于 SRAM或基于触发器的LUT在硬件中实现。
下面描述了复杂度分析。
测量相对于锚点对码率/PSNR的影响。
复杂度分析(例如,编码和解码时间度量,通过填写下表进行复杂度分析)。
表1:CE14-3复杂度分析总结
Figure BDA0002862236030000151
*考虑max/min/abs作为检查项
下面描述了实验结果。
下面描述了客观结果。
目标性能见下表:
表2:测试14-3a的编码性能
Figure BDA0002862236030000161
Figure BDA0002862236030000162
Figure BDA0002862236030000163
Figure BDA0002862236030000171
表3:测试14-3b的编码性能
Figure BDA0002862236030000172
Figure BDA0002862236030000173
Figure BDA0002862236030000181
Figure BDA0002862236030000182
建议LUT有70个字节,每个QP使用16个字节,从而允许1个时钟的硬件实现,等等。在VTM的下一个版本中采用阿达马变换域滤波器。
以下参考文献的全部内容通过引用结合在本文中:
联合视频专家组(Joint Video Experts Team,JVET)文件JVET-K0068。
下面举例说明如何优化LUT。
在示例1中,选择量化参数(quantization parameter,QP)集合,以生成查找表(lookup table,LUT),其中,所述QP集合包括对应于索引(i)的第一QP和对应于索引(i+1)的第二QP,第一QP和第二QP之间存在固定间隔。例如,该间隔可以等于8、10或16。
例如,以固定间隔8为例,LUT的稀疏表中的QP={20,28,36,44,52}。第一QP 20 和第二QP 28之间的间隔为8。类似地,第二QP 28和第三QP 36之间的间隔为8。在滤波 过程中,选择QP最接近的表格。
又如,以固定间隔8为例,LUT的稀疏表中的QP={18,26,34,42,50}。第一QP 18 和第二QP 26之间的间隔为8。类似地,第二QP 26和第三QP 34之间的间隔为8。在滤波 过程中,选择QP最接近的表格。
LUT大小为:5×128=640个字节
下面是伪码2,指示选择哪些QP来生成查找表(lookup table,LUT)。
伪码2
Figure BDA0002862236030000191
在该伪码中,HTDF_QP_ROUND表示固定间隔。使间隔设置2的幂有利于将用于计算索引的除法运算实现为移位。需要说明的是,可以选择不同的固定间隔值,例如2、4、10、 15或16等。此外,在替代的实施例中,间隔可以是任意值,为任意QP集合计算LUT。
在滤波过程中,对于给定QP,对应于LUT的索引计算如下:
int idx=((qp–HTDF_MIN_QP)+(HTDF_QP_ROUND>>1))/HTDF_QP_ROUND;
或者,在精度低的情况下:
int idx=(qp–HTDF_MIN_QP)/HTDF_QP_ROUND;
如果固定间隔为2的幂,则使用移位运算代替除法可以更好地计算LUT的索引:
int idx=(qp–HTDF_MIN_QP)>>HTDF_QP_ROUND_LOG2=(qp–HTDF_MIN_QP)>> 3;
在示例2中,解码器或编码器从表值中删除N个比特,其中,N为整数。这允许稀疏LUT表仅存储给定范围内的选定值。例如,N为3。最大表值为127(7个比特),删除3个 比特,结果为4个比特,即7比特值表示的表项中的16个,大约16个字节。
下面是伪码3,描述了如何根据给定的QP值生成LUT。
伪码3
Figure BDA0002862236030000192
Figure BDA0002862236030000201
在给定的示例中,HTDF_TBL_SH定义了要删除的比特数,可以是1个、2个、3个、4 个等。
下面是说明在滤波过程中访问稀疏LUT的伪码:
tbl[(z+HTDF_TBL_RND)>>HTDF_TBL_SH]
当组合上述示例1和2时,图9举例示出了LUT优化的结果。如图9所示,组合示例1和示例2。5个表×16个表项×7个比特=560个比特=70个字节。
需要说明的是,LUT表项的数量根据HTDF_SHORT_TBL_THR(段落[0076]所述的阈值值)和HTDF_TBL_SH个删除的比特数确定。考虑到阈值等于128(即1<<7),删除3个 比特,使得表项的数量等于1<<(7–3)=1<<4=16。如上所述,LUT阈值最好使段落[0077]所述 的方程的结果接近1,这里也有描述,该阈值可以根据QP的不同而不同。因此,为了生成 高QP值的LUT,最好将阈值从128(1<<7)增大到256(1<<8)等。在这种情况下,保持LUT 表项具有相同精度(例如,在删除3个比特的情况下)需要32个表项(32=1<<(8–3)=1<<5)。 或者,为了使高QP与低QP保持相同的LUT大小,精度可以进一步降低到4,以保持表中 的16个表项,16=1<<(8–4)=1<<4。
在某种实现方式中,保持LUT大小限制和使THR满足段落[0077]中的等式,两者有可 能是相矛盾的。实际上,为了在QP值大(导致σ值大)时保持LUT大小限制为,例如16 个表项,可能会导致在值120处的滤波器传递函数(由LUT表示)出现不期望的间隙,如 图10所示(还包括通过删除3个最低有效位进行LUT下采样的方法)。
图11表示表项被逐个绘制的同一表格,不考虑LUT下采样的影响。图11示出了与索引15对应的最后一个LUT表项和与索引16对应的滤波器传递函数之间的间隙。
图12示出了如何使用辅助函数消除间隙的方法。该辅助函数在对应于最后一个LUT表 项的参数+1处,通过THR值(例如,通过使用直线等式(用绿色表示));在对应于最后一 个LUT表项的参数(为15)加1或LUT大小(16)处,通过点THR=128;或者在某个点 与x轴相交(例如,某个示例中的值11等)。需要说明的是,其它类型的辅助函数可以基于 相同的原理使用,包括指数、对数、抛物线等或它们的组合。
图13示出了在生成LUT时通过从两个值中取最大值来消除间隙的示例,其中,第一值 是如上所述的LUT表项
Figure BDA0002862236030000211
第二值是AuxiliaryFunction在相同参数i处 的值(本例中的直线):
Figure BDA0002862236030000212
其中,AuxiliaryF·ncσ(i)表示辅助函数,辅助函数有一个值等于THR,在对应于最后 一个LUT+1的参数的i处。
图14示出了在应用上述使用辅助直线等式和通过删除3个最低有效位、进行LUT下采 样的方法之后的滤波器传递函数。
如段落[00144]所述,一个LUT可以用于QP组。为了覆盖可能的QP范围,使用预定义的QP集合,并为集合中的每个QP生成一个LUT。图15示出了根据集合中的五个QP和相 应的表格(表格0到表格4)确定的滤波器传递函数的示例。在本示例中,使用段落[00156] 至[00157]描述的方法生成表4,直线辅助函数在值11处与x轴相交;使用相同方法生成表3,直线辅助函数在值9处与x轴相交。本示例中使用的表格包括以下值:
表0={0,2,10,19,28,36,45,53,61,70,78,86,94,102,110,118,},
表1={0,0,5,12,20,29,38,47,56,65,73,82,90,98,107,115,},
表2={0,0,1,4,9,16,24,32,41,50,59,68,77,86,94,103,},
表3={0,0,0,1,3,5,9,14,19,25,32,40,55,73,91,110,},
表4={0,0,0,0,0,1,2,4,6,8,11,14,26,51,77,102,},
如上面段落[00150]至[00153]所述,表格下采样方法可以从表值中删除N个比特,以减 小表格大小。这些段落还提到,N可以不同,具体根据用于生成某个表格的QP和为该表格 选择的THR值确定。例如,小QP值对应的滤波参数σ相对小于大QP值对应的滤波参数。 因此,可以在不影响性能的情况下降低THR的绝对值。此外,为了使集合中的所有QP所 对应的表格大小保持相同(这有利于简化实现)并且降低较小QP对应的下采样率(对应于 较低的压缩级别和更好的重建图像质量),相比于其它QP表格,减少所删除的比特数N是 有利的,例如,通过将小QP对应的N设置为2并将THR设置为64。图16示出了根据相应 表格(表0到表4)用于五个QP的滤波器传递函数的示例,其中,N在第一表格(对应于 小QP范围)中设置为2,N在其它表格中设置为3。本示例还包括段落[00159]至[00160]所 述的使用AuxiliaryFunction生成表3和表4的方法。在表4中,直线辅助函数在值11处与x 轴相交。在表4中,直线辅助函数在值处与x轴相交。本示例中使用的表格包括以下值:
表0={0,0,2,6,10,14,19,23,28,32,36,41,45,49,53,57,},
表1={0,0,5,12,20,29,38,47,56,65,73,82,90,98,107,115,},
表2={0,0,1,4,9,16,24,32,41,50,59,68,77,86,94,103,},
表3={0,0,0,1,3,5,9,14,19,25,32,40,55,73,91,110,},
表4={0,0,0,0,0,1,2,4,6,8,11,14,26,51,77,102,},
如上面段落[00150]至[00153]所述,表格下采样方法可以从表值中删除N个比特,以减 小表格大小。这些段落还提到,N可以不同,具体根据用于生成某个表格的QP和为该表格 选择的THR值确定。例如,大QP值对应的滤波参数σ相对大于小QP值对应的滤波参数, 这需要增大THR值来保持段落[0077]中的方程更接近1。同时,为保持集合中所有QP的 LUT大小相同(由于实现方式简化,这种做是有利的),并且还考虑到:对于较大QP值, 重建图像具有更大的失真,同时由于主观原因,增加LUT的子采样在存在强压缩伪影的情 况下是可以接受。对于集合中的最后一个或倒数第二个表格等,所删除的最低有效位的值N 可以增加到4。图17示出了根据相应表格(表0到表4)用于集合中的五个QP的滤波器传 递函数的示例,其中,N在第一表格(表0对应于小QP范围)中设置为2,N在最后一个 和倒数第二个表格(表3和表4)中设置为4,N在其它表格中设置为3。本示例中,TRH 在生成第一表格时设置为64,在生成倒数第二个表格时设置为256,在生成其余表格时设置 为128。本示例还包括段落[00159]至[00160]所述的使用AuxiliaryFunction生成表3和表4的 方法。在表4中,直线辅助函数在值为6时与x轴相交。在表4中,直线辅助函数在值为8 时与x轴相交。本示例中使用的表格包括以下值:
表0={0,0,2,6,10,14,19,23,28,32,36,41,45,49,53,57,},
表1={0,0,5,12,20,29,38,47,56,65,73,82,90,98,107,115,},
表2={0,0,1,4,9,16,24,32,41,50,59,68,77,86,94,103,},
表3={0,0,3,9,19,32,47,64,81,99,117,135,154,179,205,230,},
表4={0,0,0,2,6,11,18,27,38,51,64,96,128,160,192,224,},
图18为可以用于实现各种实施例的装置600的框图。装置600可以是图1所示的编码 装置和图2所示的解码装置。另外,装置600可以包括一个或多个所描述的元件。在一些实 施例中,装置600配备有一个或多个输入/输出设备,例如扬声器、麦克风、鼠标、触摸屏、小键盘、键盘、打印机、显示器等。装置600可以包括与总线连接的一个或多个中央处理器(central processing unit,CPU)610、存储器620、大容量存储器630、视频适配器640和 I/O接口660。该总线是任何类型的若干总线架构中的一种或多种,这些总线架构包括内存 总线或内存控制器、外设总线、视频总线等。
CPU 610可以包括任何类型的电子数据处理器。存储器620可以包括或者可以是任何类 型的系统内存,例如静态随机存取存储器(static random access memory,SRAM)、动态随机 存取存储器(dynamic random access memory,DRAM)、同步DRAM(synchronousDRAM, SDRAM)、只读存储器(read-only memory,ROM)或它们的组合等。在一个实施例中,存储器620可以包括在开机时使用的ROM以及在执行程序时使用的存储程序和数据的DRAM。在实施例中,存储器620是非瞬时性存储器。大容量存储器630包括任何类型的存储设备,该存储设备存储数据、程序和其它信息,并使得数据、程序和其它信息能够通过总线访问。大容量存储器630包括固态硬盘、硬盘驱动器、磁盘驱动器、光盘驱动器等中的一个或多个,等等。
视频适配器640和I/O接口660提供接口以将外部输入和输出设备耦合到装置600。例 如,装置600可以向客户端提供SQL命令接口。如图所示,输入和输出设备的示例包括与视频适配器640耦合的显示器690以及与I/O接口660耦合的鼠标/键盘/打印机670的任何组合。其它设备可以与装置600耦合,并且可以利用额外的或更少的接口卡。例如,串行接口卡(未示出)可以用于为打印机提供串行接口。
装置600还包括一个或多个网络接口650,其中,网络接口650包括以太网线等有线链 路,和/或与接入节点或一个或多个网络680连接的无线链路。网络接口650允许装置600通 过网络680与远程单元进行通信。例如,网络接口650可以与数据库进行通信。在一个实施 例中,装置600与局域网或者广域网耦合以进行数据处理以及与其它处理单元、互联网、远 程存储设备等远程设备进行通信。
所提供的环内滤波器或预测滤波器的设计相对于传统的自适应滤波方法(例如ALF)具 有以下优点:
·所提供的频域滤波器在解码端从重建帧或预测块中导出滤波参数(频域增益系数), 因此不需要将滤波参数从编码端传输到解码端。
·ALF需要在编码端进行复杂的率失真优化(rate distortion optimization,RDO)来减 少传输的加权系数。所提供的方法不需要在编码端进行复杂的RDO(没有参数传递),并适用于满足预定条件的所有块。
·ALF是像素域的线性滤波器。所提供的滤波器是非线性的,这是由于每个1D频谱分量的增益系数根据该频谱分量的值确定。这允许从非线性处理中获得额外的编码 增益。
·在解码端,ALF要求能够实现通用乘法。在所提供的方法中,滤波可以实现为查找 表,这是由于每个频谱系数的增益小于1。因此,所提供的方法无需乘法即可实现。
因此,所述滤波器有助于在低复杂度的情况下提高视频编解码效率。
尽管本发明的特定特征或方面可能已经结合几种实施方式或实施例中的仅仅一种进行公 开,但该特征或方面可以和其它实施方式或实施例中的一个或多个特征或方面相结合,只要 对于任何给定或特定的应用是有需要或有益的。此外,在一定程度上,术语“包括”、“有”、 “具有”或这些词的其他变形在详细说明或权利要求书中使用,这类术语和术语“包括”是 类似的,都是表示包括的含义。同样,术语“示例性地”、“例如”仅表示为示例,而不是最 好或最优的。可以使用术语“耦合”和“连接”及其派生词。应当理解,这些术语可以用于 指示两个元件彼此协作或交互,而不管它们是直接物理接触还是电接触,或者它们彼此不直 接接触。
尽管本文中已说明和描述特定方面,但本领域普通技术人员应了解,多种替代和/或等 效实现方式可在不脱离本发明范围的情况下替代所示和描述的特定方面。该申请旨在覆盖本 文论述的特定方面的任何修改或变更。
尽管以上权利要求书中的元件是利用相应的标签按照特定顺序列举的,除非对权利要求 的阐述另外暗示用于实施部分或所有这些元件的特定顺序,否则这些元件不必限于以所述特 定顺序来实施。
通过以上启示,对于本领域的技术人员来说,许多替代、修改和变化是显而易见的。当 然,本领域技术人员容易理解,除本文所述的应用之外,还存在本发明的众多其他应用。虽 然已参考一个或多个特定实施例描述了本发明,但本领域技术人员将认识到在不偏离本发明 的范围的前提下,仍可对本发明作出许多改变。因此,可以理解的是,只要是在所附权利要 求书及其等效物的范围内,可以用不同于本文具体描述的方式来实践本发明。

Claims (53)

1.一种用于处理重建块的方法,其特征在于,所述重建块包括多个像素,所述方法包括:
获得所述重建块的量化参数(quantization parameter,QP);
根据所述QP获得阈值(threshold,THR);
根据所述QP获得查找表,以根据所述阈值和所述查找表生成经过滤波的重建块。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据预定义的扫描模板,扫描所述重建块的当前像素和所述当前像素的相邻像素;
通过对所述当前像素和所述当前像素的相邻像素执行变换,获得频谱分量;
使用所述查找表和所述频谱分量,获得经过滤波的频谱分量。
3.根据权利要求2所述的方法,其特征在于,通过以下等式导出经过滤波的频谱分量F(i,σ):
Figure FDA0002862236020000011
其中,(i)为频谱分量的索引,R(i)为对应于所述索引(i)的所述频谱分量,σ为滤波参数,LUT(R(i),σ)为所述查找表中的元素,THR为从所述QP导出的所述阈值。
4.根据权利要求3所述的方法,其特征在于,
Figure FDA0002862236020000012
m为等于频谱分量的数量的归一化常数。
5.根据权利要求3或4所述的方法,其特征在于,根据所述QP导出所述滤波参数。
6.根据权利要求5所述的方法,其特征在于,通过以下等式导出滤波参数σ:
σ=k×2(n×(QP-s))
其中,QP为所述编解码量化参数,k、n和s为常数。
7.根据权利要求6所述的方法,其特征在于,k=2.64,n=0.1296,s=11。
8.根据权利要求1至7中任一项所述的方法,其特征在于,通过以下等式导出所述阈值:
Figure FDA0002862236020000013
其中,C为接近1的值,σ为滤波参数,m为等于频谱分量的数量的归一化常数。
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述方法还包括:
选择QP集以获得所述查找表(lookup table,LUT),其中,所述QP集包括与索引(i)对应的第一QP和与索引(i+1)对应的第二QP,所述第一QP和所述第二QP的间隔大于1。
10.根据权利要求9所述的方法,其特征在于,所述间隔为常数,等于8、10或16。
11.根据权利要求1至10中任一项所述的方法,其特征在于,所述方法还包括:
从所述LUT的表值中删除N个比特,N为整数。
12.根据权利要求11所述的方法,其特征在于,对LUT元素的访问如下:
tbl[(z+HTDF_TBL_RND)>>HTDF_TBL_SH]
其中HTDF_TBL_SH为N的别名,HTDF_TBL_RND=1<<(HTDF_TBL_SH-1)。
13.根据权利要求11所述的方法,其特征在于,对LUT元素的访问如下:
LUT[(fHad[i]+(1<<(tblShift-1)))>>tblShift]
对于fHad[i]的正值,
-LUT[(-(fHad[i]+(1<<(tblShift-1)))>>tblShift]
对于fHad[i]的负值,
其中,tblShift为N的别名,fHad[i]为需要滤波的频谱分量。
14.根据权利要求11至13中任一项所述的方法,其特征在于,N为3。
15.根据权利要求11至13中任一项所述的方法,其特征在于,对于QP集中的所述第一QP,N等于2,所述QP集用于获得所述查找表(lookup table,LUT);
对于所述QP集中的最后一个QP或最后两个QP,N等于4;
对于所述QP集中的其余QP,N等于3。
16.根据权利要求11至13中任一项所述的方法,其特征在于,N定义如下
tblShift=tblThrLog2[qpIdx]-4
tblThrLog2[5]={6,7,7,8,8}
其中,tblShift为N的别名,qpIdx根据QP导出。
17.根据权利要求16所述的方法,其特征在于,qpIdx根据QP导出如下:
if(pred_mode_flag[xCb][yCb]==0&&nCbW==nCbH&&min(nCbW,nCbH)>=32)qpIdx=Clip3(0,4,(QpY-28+(1<<2))>>3)
else
qpIdx=Clip3(0,4,(QpY-20+(1<<2))>>3)
其中,QpY为当前块QP,xCb、yCb定义了所述当前块在图像上的位置(x,y),pred_mode_flag[xCb][yCb]定义了所述当前块的预测模式:如果等于0,则预测为帧间预测,否则为帧内预测,nCbW、nCbH分别为所述当前块的宽度和高度。
18.根据权利要求11至13中任一项所述的方法,其特征在于,N的值根据QP值确定。
19.根据权利要求1至18中任一项所述的方法,其特征在于,所述LUT根据至少一些量化参数(quantization parameter,QP)的辅助函数生成。
20.根据权利要求19所述的方法,其特征在于,通过以下等式导出所述LUT生成LUT(Ri,σ):
Figure FDA0002862236020000021
其中,AuxiliaryFuncσ(i)表示所述辅助函数,所述辅助函数的值等于对应于最后一个LUT+1的参数的i的THR。
21.根据权利要求19或20所述的方法,其特征在于,所述辅助函数是在点(i,THR)和(a,0)相交的直线等式,其中a>0且a的值根据滤波参数σ或QP值确定。
22.根据权利要求21所述的方法,其特征在于,所述LUT定义如下:
setOfLUT[5][16]=
{0,0,2,6,10,14,19,23,28,32,36,41,45,49,53,57,},{0,0,5,12,20,29,38,47,56,65,73,82,90,98,107,115,},{0,0,1,4,9,16,24,32,41,50,59,68,77,86,94,103,},{0,0,3,9,19,32,47,64,81,99,117,135,154,179,205,230,},{0,0,0,2,6,11,18,27,38,51,64,96,128,160,192,224,}。
23.根据权利要求21所述的方法,其特征在于,所述LUT定义如下:
setOfLUT[5][16]=
{0,0,2,6,10,14,19,23,28,32,36,41,45,49,53,57,},{0,0,5,12,20,29,38,47,56,65,73,82,90,98,107,115,},{0,0,1,4,9,16,24,32,41,50,59,68,77,86,94,103,},{0,0,0,1,3,5,9,14,19,25,32,40,55,73,91,110,},{0,0,0,0,0,1,2,4,6,8,11,14,26,51,77,102,}。
24.根据权利要求21所述的方法,其特征在于,所述LUT定义如下:
setOfLUT[5][16]=
{0,2,10,19,28,36,45,53,61,70,78,86,94,102,110,118,},{0,0,5,12,20,29,38,47,56,65,73,82,90,98,107,115,},{0,0,1,4,9,16,24,32,41,50,59,68,77,86,94,103,},{0,0,0,1,3,5,9,14,19,25,32,40,55,73,91,110,},{0,0,0,0,0,1,2,4,6,8,11,14,26,51,77,102,}。
25.根据权利要求1至24中任一项所述的方法,其特征在于,所述变换是阿达马(Hadamard)变换。
26.根据权利要求1至25中任一项所述的方法,其特征在于,所述变换是1D变换。
27.一种预测块的处理方法,其特征在于,所述预测块包括多个像素,所述方法包括:
获得所述预测块的量化参数(quantization parameter,QP);
根据所述QP获得阈值(threshold,THR);
根据所述QP获得查找表,以根据所述阈值和所述查找表生成经过滤波的预测块。
28.根据权利要求27所述的方法,其特征在于,所述方法还包括:
根据预定义的扫描模板,扫描所述预测块的当前像素和所述当前像素的相邻像素;
通过对所述当前像素和所述当前像素的相邻像素执行变换,获得频谱分量;
使用所述查找表和所述频谱分量,获得经过滤波的频谱分量。
29.根据权利要求28所述的方法,其特征在于,通过以下等式导出经过滤波的频谱分量F(i,σ):
Figure FDA0002862236020000031
其中,(i)为频谱分量的索引,R(i)为对应于所述索引(i)的所述频谱分量,σ为滤波参数,LUT(R(i),σ)为所述查找表中的元素,THR为从所述QP导出的所述阈值。
30.根据权利要求29所述的方法,其特征在于,
Figure FDA0002862236020000032
m为等于频谱分量的数量的归一化常数。
31.根据权利要求29或30所述的方法,其特征在于,根据所述QP导出所述滤波参数。
32.根据权利要求29所述的方法,其特征在于,通过以下等式导出滤波参数σ:
σ=k×2(n×(QP-s))
其中,QP为所述编解码量化参数,k、n和s为常数。
33.根据权利要求27至32中任一项所述的方法,其特征在于,通过以下等式导出所述阈值:
Figure FDA0002862236020000041
其中,C为接近1的值,σ为滤波参数,m为等于频谱分量的数量的归一化常数。
34.根据权利要求27至33中任一项所述的方法,其特征在于,所述方法还包括:
选择QP集以获得所述查找表(lookup table,LUT),其中,所述QP集包括与索引(i)对应的第一QP和与索引(i+1)对应的第二QP,所述第一QP和所述第二QP的间隔大于1。
35.根据权利要求27至34中任一项所述的方法,其特征在于,所述方法还包括:
从所述LUT的表值中删除N个比特,N为整数。
36.根据权利要求35所述的方法,其特征在于,对LUT元素的访问如下:
tbl[(z+HTDF_TBL_RND)>>HTDF_TBL_SH]
其中HTDF_TBL_SH为N的别名,HTDF_TBL_RND=1<<(HTDF_TBL_SH-1)。
37.根据权利要求35所述的方法,其特征在于,对LUT元素的访问如下:
LUT[(fHad[i]+(1<<(tblShift-1)))>>tblShift]
对于fHad[i]的正值,
-LUT[(-(fHad[i]+(1<<(tblShift-1)))>>tblShift]
对于fHad[i]的负值,
其中,tblShift为N的别名,fHad[i]为需要滤波的频谱分量。
38.根据权利要求35至37中任一项所述的方法,其特征在于,N定义如下:
tblShift=tblThrLog2[qpIdx]-4
tblThrLog2[5]={6,7,7,8,8}
其中,tblShift为N的别名,qpIdx根据QP导出。
39.根据权利要求38所述的方法,其特征在于,qpIdx根据QP如下导出:
if(pred_mode_flag[xCb][yCb]==0&&nCbW==nCbH&&min(nCbW,nCbH)>=32)
qpIdx=Clip3(0,4,(QpY-28+(1<<2))>>3)
else
qpIdx=Clip3(0,4,(QpY-20+(1<<2))>>3)
其中,QpY为当前块QP,xCb、yCb定义了所述当前块在图像上的位置(x,y),pred_mode_flag[xCb][yCb]定义了所述当前块的预测模式:如果等于0,则预测为帧间预测,否则为帧内预测,nCbW、nCbH分别为所述当前块的宽度和高度。
40.根据权利要求35至39中任一项所述的方法,其特征在于,N的值根据QP值确定。
41.根据权利要求35至40中任一项所述的方法,其特征在于,所述LUT根据至少一些量化参数(quantization parameter,QP)的辅助函数生成。
42.根据权利要求41所述的方法,其特征在于,通过以下等式导出所述LUT生成LUT(Ri,σ):
Figure FDA0002862236020000042
其中,AuxiliaryFuncσ(i)表示所述辅助函数,所述辅助函数的值等于对应于最后一个LUT+1的参数的i的THR。
43.根据权利要求41或42所述的方法,其特征在于,所述辅助函数是在点(i,THR)和(a,0)相交的直线等式,其中a>0且a的值根据滤波参数σ或QP值确定。
44.根据权利要求43所述的方法,其特征在于,所述LUT定义如下:
setOfLUT[5][16]=
{0,0,2,6,10,14,19,23,28,32,36,41,45,49,53,57,},{0,0,5,12,20,29,38,47,56,65,73,82,90,98,107,115,},{0,0,1,4,9,16,24,32,41,50,59,68,77,86,94,103,},{0,0,3,9,19,32,47,64,81,99,117,135,154,179,205,230,},{0,0,0,2,6,11,18,27,38,51,64,96,128,160,192,224,}。
45.根据权利要求43所述的方法,其特征在于,所述LUT定义如下:
setOfLUT[5][16]=
{0,0,2,6,10,14,19,23,28,32,36,41,45,49,53,57,},{0,0,5,12,20,29,38,47,56,65,73,82,90,98,107,115,},{0,0,1,4,9,16,24,32,41,50,59,68,77,86,94,103,},{0,0,0,1,3,5,9,14,19,25,32,40,55,73,91,110,},{0,0,0,0,0,1,2,4,6,8,11,14,26,51,77,102,}。
46.根据权利要求43所述的方法,其特征在于,所述LUT定义如下:
setOfLUT[5][16]=
{0,2,10,19,28,36,45,53,61,70,78,86,94,102,110,118,},{0,0,5,12,20,29,38,47,56,65,73,82,90,98,107,115,},{0,0,1,4,9,16,24,32,41,50,59,68,77,86,94,103,},{0,0,0,1,3,5,9,14,19,25,32,40,55,73,91,110,},{0,0,0,0,0,1,2,4,6,8,11,14,26,51,77,102,}。
47.一种解码器,其特征在于,所述解码器包括处理电路,用于执行根据权利要求1至46中任一项所述的方法。
48.一种编码器,其特征在于,所述编码器包括处理电路,用于执行根据权利要求1至46中任一项所述的方法。
49.一种解码器,其特征在于,所述解码器包括滤波器,用于执行根据权利要求1至46中任一项所述的方法。
50.一种编码器,其特征在于,所述编码器包括滤波器,用于执行根据权利要求1至46中任一项所述的方法。
51.一种解码器,其特征在于,包括:
存储器,包括指令;
一个或多个处理器,与所述存储器进行通信,其中所述一个或多个处理器执行所述指令以执行根据权利要求1至46中任一项所述的方法。
52.一种编码器,其特征在于,包括:
存储器,包括指令;
一个或多个处理器,与所述存储器进行通信,其中所述一个或多个处理器执行所述指令,以执行根据权利要求1至46中任一项所述的方法。
53.一种计算机程序产品,其特征在于,所述计算机程序产品包括程序代码,所述程序代码在计算机或处理器中执行时,用于执行根据权利要求1至46所述的方法。
CN201980043463.7A 2018-07-02 2019-07-02 视频编解码中的滤波装置和方法 Active CN112806019B (zh)

Applications Claiming Priority (15)

Application Number Priority Date Filing Date Title
US201862693441P 2018-07-02 2018-07-02
US62/693,441 2018-07-02
US201862725845P 2018-08-31 2018-08-31
US62/725,845 2018-08-31
US201862731967P 2018-09-16 2018-09-16
US62/731,967 2018-09-16
US201862731972P 2018-09-17 2018-09-17
US62/731,972 2018-09-17
US201862735722P 2018-09-24 2018-09-24
US62/735,722 2018-09-24
US201862757732P 2018-11-08 2018-11-08
US62/757,732 2018-11-08
US201962793866P 2019-01-17 2019-01-17
US62/793,866 2019-01-17
PCT/RU2019/050101 WO2020009618A1 (en) 2018-07-02 2019-07-02 Apparatus and method for filtering in video coding

Publications (2)

Publication Number Publication Date
CN112806019A true CN112806019A (zh) 2021-05-14
CN112806019B CN112806019B (zh) 2022-09-16

Family

ID=69059729

Family Applications (3)

Application Number Title Priority Date Filing Date
CN201980043463.7A Active CN112806019B (zh) 2018-07-02 2019-07-02 视频编解码中的滤波装置和方法
CN201980043777.7A Active CN112369036B (zh) 2018-07-02 2019-07-02 视频编解码中的滤波装置和方法
CN201980043914.7A Active CN112369037B (zh) 2018-07-02 2019-07-02 视频编解码中的滤波装置和方法

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN201980043777.7A Active CN112369036B (zh) 2018-07-02 2019-07-02 视频编解码中的滤波装置和方法
CN201980043914.7A Active CN112369037B (zh) 2018-07-02 2019-07-02 视频编解码中的滤波装置和方法

Country Status (13)

Country Link
US (3) US11509892B2 (zh)
EP (3) EP3808093A4 (zh)
JP (3) JP7195349B2 (zh)
KR (3) KR102598789B1 (zh)
CN (3) CN112806019B (zh)
AU (3) AU2019298854B2 (zh)
BR (3) BR112020026971A2 (zh)
CA (3) CA3105446C (zh)
CL (2) CL2020003455A1 (zh)
MX (3) MX2021000173A (zh)
NZ (1) NZ772208A (zh)
SG (3) SG11202013200WA (zh)
WO (3) WO2020009619A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105872539B (zh) * 2015-02-08 2020-01-14 同济大学 图像编码方法和装置及图像解码方法和装置
WO2020009619A1 (en) 2018-07-02 2020-01-09 Huawei Technologies Co., Ltd. Apparatus and method for filtering in video coding
WO2020185747A1 (en) * 2019-03-11 2020-09-17 Vid Scale, Inc. Methods and systems for post-reconstruction filtering
JP7383736B2 (ja) * 2019-06-18 2023-11-20 ホアウェイ・テクノロジーズ・カンパニー・リミテッド ビデオコーディングにおけるフィルタリング装置および方法
US11743459B2 (en) * 2020-09-29 2023-08-29 Qualcomm Incorporated Filtering process for video coding

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2192786A1 (en) * 2008-11-27 2010-06-02 Panasonic Corporation Frequency domain filters for video coding
CN102316319A (zh) * 2010-07-05 2012-01-11 联发科技股份有限公司 自适应视频解码方法、解码器以及音频/视频播放系统
US20120230418A1 (en) * 2011-03-08 2012-09-13 Qualcomm Incorporated Coding of transform coefficients for video coding
US20130101032A1 (en) * 2010-04-26 2013-04-25 Panasonic Corporation Filtering mode for intra prediction inferred from statistics of surrounding blocks
US20140286392A1 (en) * 2011-11-09 2014-09-25 Sk Telecom Co., Ltd. Method and apparatus for encoding/decoding image by using adaptive loop filter on frequency domain using conversion
US20160360201A1 (en) * 2011-12-15 2016-12-08 Tagivan Ii Llc Image coding method, image decoding method, image coding apparatus, and image decoding apparatus
WO2018117896A1 (en) * 2016-12-23 2018-06-28 Huawei Technologies Co., Ltd Low complexity mixed domain collaborative in-loop filter for lossy video coding
WO2018117938A1 (en) * 2016-12-23 2018-06-28 Telefonaktiebolaget Lm Ericsson (Publ) Deringing filter for video coding

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0129558B1 (ko) 1992-10-26 1998-04-10 배순훈 적응적 가변길이 부호화 방법 및 장치
KR100644498B1 (ko) * 1999-08-25 2006-11-10 마츠시타 덴끼 산교 가부시키가이샤 노이즈 검출방법과 노이즈 검출장치 및 화상 복호화장치
EP1452039B1 (en) * 2001-11-29 2008-12-31 Panasonic Corporation Coding distortion removal method and video encoding and decoding methods
US20040252758A1 (en) * 2002-08-14 2004-12-16 Ioannis Katsavounidis Systems and methods for adaptively filtering discrete cosine transform (DCT) coefficients in a video encoder
US7227901B2 (en) * 2002-11-21 2007-06-05 Ub Video Inc. Low-complexity deblocking filter
US7471850B2 (en) * 2004-12-17 2008-12-30 Microsoft Corporation Reversible transform for lossy and lossless 2-D data compression
US20060285590A1 (en) 2005-06-21 2006-12-21 Docomo Communications Laboratories Usa, Inc. Nonlinear, prediction filter for hybrid video compression
KR100736086B1 (ko) 2005-09-06 2007-07-06 삼성전자주식회사 엔트로피 코딩의 성능 향상 방법 및 장치, 상기 방법을이용한 비디오 코딩 방법 및 장치
US7903733B2 (en) * 2006-01-26 2011-03-08 Qualcomm Incorporated Adaptive filtering to enhance video encoder performance
JP4730552B2 (ja) * 2006-07-14 2011-07-20 富士ゼロックス株式会社 復号化装置及びそのプログラム
US8331448B2 (en) * 2006-12-22 2012-12-11 Qualcomm Incorporated Systems and methods for efficient spatial intra predictabilty determination (or assessment)
JP5597968B2 (ja) * 2009-07-01 2014-10-01 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
US20110002386A1 (en) * 2009-07-06 2011-01-06 Mediatek Singapore Pte. Ltd. Video encoder and method for performing intra-prediction and video data compression
EP2280548B1 (en) * 2009-07-30 2018-03-28 Thomson Licensing DTV Method for decoding a stream of coded data representative of a sequence of images and method for coding a sequence of images
US8817884B2 (en) * 2009-11-20 2014-08-26 Texas Instruments Incorporated Techniques for perceptual encoding of video frames
JP5464656B2 (ja) * 2010-01-12 2014-04-09 Necカシオモバイルコミュニケーションズ株式会社 画質評価装置、端末装置、画質評価システム、画質評価方法及びプログラム
GB2480224B (en) * 2010-01-29 2014-08-20 Canon Kk Decoding a sequence of digital images with error concealment
CA2785036A1 (en) * 2010-02-05 2011-08-11 Telefonaktiebolaget L M Ericsson (Publ) De-blocking filtering control
KR20110113561A (ko) 2010-04-09 2011-10-17 한국전자통신연구원 적응적인 필터를 이용한 인트라 예측 부호화/복호화 방법 및 그 장치
PL2563020T3 (pl) * 2010-04-23 2016-01-29 M&K Holdings Inc Urządzenie do kodowania obrazu
JP5291133B2 (ja) 2011-03-09 2013-09-18 日本電信電話株式会社 画像処理方法,画像処理装置,映像符号化/復号方法,映像符号化/復号装置およびそれらのプログラム
CN107277539B (zh) 2011-05-27 2020-11-06 寰发股份有限公司 减少用于上下文自适应熵解码中的行缓存的方法及装置
US20130101027A1 (en) * 2011-06-20 2013-04-25 Matthias Narroschke Deblocking control by individual quantization parameters
US20130051467A1 (en) * 2011-08-31 2013-02-28 Apple Inc. Hybrid inter/intra prediction in video coding systems
US8885706B2 (en) * 2011-09-16 2014-11-11 Google Inc. Apparatus and methodology for a video codec system with noise reduction capability
MX346677B (es) * 2011-11-04 2017-03-29 Sharp Kk * Dispositivo de decodificacion aritmetica, dispositivo de decodificacion de imagenes, dispositivo de codificacion aritmetica, dispositivo de codificacion de imagenes y metodo de decodificacion aritmetica.
AU2012200319B2 (en) * 2012-01-19 2015-11-26 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the significance map for residual coefficients of a transform unit
US9344723B2 (en) * 2012-04-13 2016-05-17 Qualcomm Incorporated Beta offset control for deblocking filters in video coding
US20130343447A1 (en) 2012-06-25 2013-12-26 Broadcom Corporation Adaptive loop filter (ALF) padding in accordance with video coding
EP2904803A1 (en) * 2012-10-01 2015-08-12 GE Video Compression, LLC Scalable video coding using derivation of subblock subdivision for prediction from base layer
US9681128B1 (en) * 2013-01-31 2017-06-13 Google Inc. Adaptive pre-transform scanning patterns for video and image compression
US9264661B2 (en) * 2013-06-07 2016-02-16 Apple Inc. Adaptive post-processing for mobile video calling system
US10972742B2 (en) * 2013-12-19 2021-04-06 Canon Kabushiki Kaisha Encoding process using a palette mode
US10542274B2 (en) * 2014-02-21 2020-01-21 Microsoft Technology Licensing, Llc Dictionary encoding and decoding of screen content
CN105791865B (zh) * 2014-12-22 2020-01-17 江苏省电力公司南京供电公司 帧内预测及去块滤波方法
KR101782156B1 (ko) * 2015-06-11 2017-09-26 인텔렉추얼디스커버리 주식회사 적응적인 디블록킹 필터링을 이용하는 영상 부호화 방법과 영상 복호화 방법 및 장치
EP3340621B1 (en) * 2015-08-20 2023-01-25 Nippon Hoso Kyokai Image decoding device, and programs therefor
US20170155905A1 (en) * 2015-11-30 2017-06-01 Intel Corporation Efficient intra video/image coding using wavelets and variable size transform coding
US20170237939A1 (en) * 2016-02-16 2017-08-17 Google Inc. Loop filtering for multiform transform partitioning
US20190289301A1 (en) * 2016-05-23 2019-09-19 Kaonmedia Co., Ltd. Image processing method, and image encoding and decoding method using same
CN110024387B (zh) * 2016-11-28 2021-10-08 日本放送协会 编码装置、解码装置、编码方法和解码方法
US10523968B2 (en) * 2017-09-18 2019-12-31 Google Llc Coding of last significant coefficient flags
CN114979636B (zh) * 2017-10-09 2023-10-27 佳能株式会社 用于对样本块进行滤波的方法、装置和存储介质
EP3729812A1 (en) * 2017-12-19 2020-10-28 VID SCALE, Inc. Face discontinuity filtering for 360-degree video coding
US10986349B2 (en) * 2017-12-29 2021-04-20 Microsoft Technology Licensing, Llc Constraints on locations of reference blocks for intra block copy prediction
US10708592B2 (en) * 2018-04-02 2020-07-07 Qualcomm Incorporated Deblocking filter for video coding and processing
WO2020009619A1 (en) 2018-07-02 2020-01-09 Huawei Technologies Co., Ltd. Apparatus and method for filtering in video coding
US11197025B2 (en) * 2019-06-21 2021-12-07 Qualcomm Incorporated Signaling of matrix intra prediction parameters in video coding

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2192786A1 (en) * 2008-11-27 2010-06-02 Panasonic Corporation Frequency domain filters for video coding
US20130101032A1 (en) * 2010-04-26 2013-04-25 Panasonic Corporation Filtering mode for intra prediction inferred from statistics of surrounding blocks
CN102316319A (zh) * 2010-07-05 2012-01-11 联发科技股份有限公司 自适应视频解码方法、解码器以及音频/视频播放系统
US20120230418A1 (en) * 2011-03-08 2012-09-13 Qualcomm Incorporated Coding of transform coefficients for video coding
US20140286392A1 (en) * 2011-11-09 2014-09-25 Sk Telecom Co., Ltd. Method and apparatus for encoding/decoding image by using adaptive loop filter on frequency domain using conversion
US20160360201A1 (en) * 2011-12-15 2016-12-08 Tagivan Ii Llc Image coding method, image decoding method, image coding apparatus, and image decoding apparatus
WO2018117896A1 (en) * 2016-12-23 2018-06-28 Huawei Technologies Co., Ltd Low complexity mixed domain collaborative in-loop filter for lossy video coding
WO2018117938A1 (en) * 2016-12-23 2018-06-28 Telefonaktiebolaget Lm Ericsson (Publ) Deringing filter for video coding

Also Published As

Publication number Publication date
CA3105446A1 (en) 2020-01-09
WO2020009617A1 (en) 2020-01-09
KR20210021580A (ko) 2021-02-26
AU2019298854A1 (en) 2021-01-28
CA3105441C (en) 2023-06-27
MX2021000173A (es) 2021-05-27
KR102598576B1 (ko) 2023-11-06
KR102598789B1 (ko) 2023-11-07
MX2021000170A (es) 2021-03-25
CA3105442A1 (en) 2020-01-09
BR112020026971A2 (pt) 2021-03-30
AU2019298063A1 (en) 2021-01-28
BR112020026959A2 (pt) 2021-03-30
CN112369036A (zh) 2021-02-12
AU2019298855B2 (en) 2022-10-20
EP3808094A4 (en) 2021-11-24
KR20210021577A (ko) 2021-02-26
US11706412B2 (en) 2023-07-18
JP2021530157A (ja) 2021-11-04
BR112020026912A2 (pt) 2021-03-30
NZ772208A (en) 2022-11-25
JP7195349B2 (ja) 2022-12-23
CA3105441A1 (en) 2020-01-09
CL2020003453A1 (es) 2021-05-07
AU2019298063B2 (en) 2022-10-13
WO2020009619A1 (en) 2020-01-09
EP3808093A1 (en) 2021-04-21
CN112369036B (zh) 2022-04-22
US20210127108A1 (en) 2021-04-29
AU2019298855A1 (en) 2021-01-28
CN112369037A (zh) 2021-02-12
US11805249B2 (en) 2023-10-31
JP2021530156A (ja) 2021-11-04
US20210127113A1 (en) 2021-04-29
EP3808092A4 (en) 2021-12-01
KR20210021581A (ko) 2021-02-26
EP3808094A1 (en) 2021-04-21
JP2021530166A (ja) 2021-11-04
SG11202013198PA (en) 2021-01-28
JP7293330B2 (ja) 2023-06-19
EP3808093A4 (en) 2021-12-01
EP3808092A1 (en) 2021-04-21
US20210152821A1 (en) 2021-05-20
MX2021000172A (es) 2021-03-25
CN112369037B (zh) 2022-04-22
JP7195348B2 (ja) 2022-12-23
US11509892B2 (en) 2022-11-22
CA3105446C (en) 2023-04-11
AU2019298854B2 (en) 2023-02-16
SG11202013015PA (en) 2021-01-28
CN112806019B (zh) 2022-09-16
KR102598746B1 (ko) 2023-11-07
CA3105442C (en) 2023-04-18
WO2020009618A1 (en) 2020-01-09
CL2020003455A1 (es) 2021-07-23
SG11202013200WA (en) 2021-01-28

Similar Documents

Publication Publication Date Title
CN112806019B (zh) 视频编解码中的滤波装置和方法
US11272175B2 (en) Deringing filter for video coding
WO2018134128A1 (en) Filtering of video data using a shared look-up table
RU2781233C2 (ru) Устройство и способ фильтрации при кодировании видео
JP7352364B2 (ja) 動画像符号化装置、動画像復号装置及びプログラム

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