CN112042203A - 用于将解块滤波器应用于重构视频数据的系统和方法 - Google Patents

用于将解块滤波器应用于重构视频数据的系统和方法 Download PDF

Info

Publication number
CN112042203A
CN112042203A CN201980023322.9A CN201980023322A CN112042203A CN 112042203 A CN112042203 A CN 112042203A CN 201980023322 A CN201980023322 A CN 201980023322A CN 112042203 A CN112042203 A CN 112042203A
Authority
CN
China
Prior art keywords
block
filter
deblocking
samples
video
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
CN201980023322.9A
Other languages
English (en)
Other versions
CN112042203B (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.)
Sharp Corp
Original Assignee
FG Innovation Co Ltd
Sharp Corp
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 FG Innovation Co Ltd, Sharp Corp filed Critical FG Innovation Co Ltd
Priority to CN202310355580.5A priority Critical patent/CN116405700A/zh
Priority to CN202310357258.6A priority patent/CN116567230A/zh
Publication of CN112042203A publication Critical patent/CN112042203A/zh
Application granted granted Critical
Publication of CN112042203B publication Critical patent/CN112042203B/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/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/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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
    • 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/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/439Methods 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 using cascaded computational arrangements for performing a single operation, e.g. filtering
    • 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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • 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/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
    • 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/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/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

Landscapes

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

Abstract

本发明公开了用于将解块滤波器应用于重构视频数据的系统和方法。根据解块滤波器的多个通域修改相邻重构视频块中的样本值。滤波通域可对应于要解块的样本的全部或子集的处理或构建。在给定通域中每个样本的处理或构建的数量可对应于通域索引或顺序。

Description

用于将解块滤波器应用于重构视频数据的系统和方法
技术领域
本公开涉及视频编码,并且更具体地涉及用于执行重构视频数据的解块的技术。
背景技术
数字视频功能可以结合到各种设备中,包括数字电视、笔记本电脑或台式电脑、平板电脑、数字录音设备、数字媒体播放器、视频游戏设备、蜂窝电话(包括所谓的智能电话)、医学成像设备等。可以根据视频编码标准对数字视频进行编码。视频编码标准可以结合视频压缩技术。视频编码标准的示例包括ISO/IEC MPEG-4 Visual和ITU-T H.264(也被称为ISO/IEC MPEG-4 AVC)和高效视频编码(HEVC)。HEVC在2016年12月的ITU-T H.265建议书的高效视频编码(HEVC)中有所描述,该文献以引用方式并入本文,并且在本文中称为ITU-TH.265。目前正在考虑对ITU-T H.265进行扩展和改进以开发下一代视频编码标准。例如,ITU-T视频编码专家组(VCEG)和ISO/IEC活动图像专家组(MPEG)(被统称为联合视频研究组(JVET))正在研究压缩能力显著超过当前HEVC标准的未来视频编码技术的标准化的潜在需求。以引用方式并入本文的联合探索模型7(JEM 7)、联合探索测试模型7(JEM 7)的算法描述、ISO/IEC JTC1/SC29/WG11文档:JVET-G1001(2017年7月,意大利,都灵)描述了由JVET在联合测试模型研究下的编码特征,该技术是超越ITU-T H.265功能的潜在增强视频编码技术。应当指出的是,JEM 7的编码特征在JEM参考软件中实现。如本文所用,术语JEM可统称包括在JEM 7中的算法以及JEM参考软件的具体实施。
视频压缩技术通过利用视频序列中固有的冗余来减少用于存储和传输视频数据的数据需求。视频压缩技术可将视频序列再分成连续较小的部分(即,视频序列内的帧组、帧组内的帧、帧内的切片、切片内的编码树单元(例如,宏块)、编码树单元内的编码块等)。可以使用帧内预测编码技术(例如,图片内(空间))和帧间预测技术(即图片间(时间))来生成待编码的视频数据单元与视频数据的参考单元之间的差值。该差值可以被称为残差数据。残差数据可以被编码为量化变换系数。语法元素可以涉及残差数据和参考编码单元(例如,帧内预测模式索引、运动矢量和块矢量)。可以对残差数据和语法元素进行熵编码。熵编码的残差数据和语法元素可以包括在兼容比特流中。可以根据数据结构来格式化兼容比特流和相关联元数据。
发明内容
在一个示例中,对重构视频数据进行滤波的方法包括接收包括用于视频数据分量的相邻重构视频块的样本值阵列,并且根据解块滤波器的多个通域修改相邻重构视频块中的样本值。
附图说明
图1是示出根据四叉树二叉树划分编码的一组图片的示例的概念图,其中四叉树二叉树划分是根据本公开的一种或多种技术。
图2是示出根据本公开的一种或多种技术的视频分量采样格式的示例的概念图。
图3是示出根据本公开的一种或多种技术的用于视频数据块的可能的编码结构的概念图。
图4A是示出根据本公开的一种或多种技术的对视频数据块进行编码的示例的概念图。
图4B是示出根据本公开的一种或多种技术的对视频数据块进行编码的示例的概念图。
图5A是示出根据本公开的一种或多种技术的包括解块边界的视频数据块的概念图。
图5B是示出根据本公开的一种或多种技术的包括解块边界的视频数据块的概念图。
图6是根据本公开的一种或多种技术的可用于确定解块参数的表的示例。
图7是示出根据本公开的一种或多种技术的可被配置为对视频数据进行编码和解码的系统的示例的框图。
图8是示出根据本公开的一种或多种技术的可被配置为对视频数据进行编码的视频编码器的示例的框图。
图9是示出根据本公开的一种或多种技术的可被配置为对视频数据进行解码的视频解码器的示例的框图。图10是示出根据本公开的一种或多种技术的执行解块的示例的流程图。
图11是示出根据本公开的一种或多种技术的执行解块的示例的流程图。
图12是示出根据本公开的一种或多种技术的执行解块的示例的流程图。
图13是根据本公开的一种或多种技术的可用于确定解块参数的表的示例。
图14A是示出根据本公开的一种或多种技术的包括解块边界的视频数据块的概念图。
图14B是示出根据本公开的一种或多种技术的包括解块边界的视频数据块的概念图。
具体实施方式
一般来讲,本公开描述了用于对视频数据进行编码的各种技术。具体地讲,本公开描述了用于执行重构视频数据的解块的技术。应当指出的是,虽然本公开的技术是关于ITU-T H.264、ITU-T H.265和JEM描述的,但是本公开的技术可普遍应用于视频编码。例如,本文所述的编码技术可结合到视频编码系统(包括基于未来视频编码标准的视频编码系统)中,包括块结构、帧内预测技术、帧间预测技术、变换技术、滤波技术和/或熵编码技术,不同于ITU-T H.265中包括的那些技术。因此,对ITU-T H.264、ITU-T H.265和JEM的参考是出于描述性目的,并且不应被解释为限制本文所述技术的范围。此外,应当指出的是,将文献以引用方式并入本文不应被解释为限制或产生相对于本文所用术语的歧义。例如,在某个并入的参考文献中提供的对某个术语的定义不同于另一个并入的参考文献和/或如本文所用的该术语的情况下,则该术语应以广泛地包括每个相应定义的方式和/或以包括替代方案中每个特定定义的方式来解释。
在一个示例中,用于视频编码的设备包括一个或多个处理器,该一个或多个处理器被配置为接收包括用于视频数据分量的相邻重构视频块的样本值阵列,并且根据解块滤波器的多个通域修改相邻重构视频块中的样本值。
在一个示例中,非暂态计算机可读存储介质包括存储在其上的指令,该指令在被执行时使得设备的一个或多个处理器接收包括用于视频数据分量的相邻重构视频块的样本值阵列,并且根据解块滤波器的多个通域修改相邻重构视频块中的样本值。
在一个示例中,装置包括:用于接收包括用于视频数据分量的相邻重构视频块的样本值阵列的装置件,以及用于根据解块滤波器的多个通域修改相邻重构视频块中的样本值的装置件。
在以下附图和描述中阐述了一个或多个示例的细节。其他特征、对象和优点将从描述和附图以及权利要求书中显而易见。
视频内容通常包括由一系列帧组成的视频序列。一系列帧也可以被称为一组图片(GOP)。每个视频帧或图片可以包括多个切片或图块,其中切片或图块包括多个视频块。如本文所用,术语“视频块”通常可以指图片的区域,或者可以更具体地指可以被预测性地编码的样本值的最大阵列、其子分区和/或对应结构。此外,术语“当前视频块”可以指正被编码或解码的图片的区域。视频块可被定义为可被预测性地编码的样本值的阵列。应当指出的是,在一些情况下,像素值可被描述为包括视频数据的相应分量的样本值,其也可被称为颜色分量(例如,亮度(Y)和色度(Cb和Cr)分量或红色、绿色和蓝色分量)。应当指出的是,在一些情况下,术语“像素值”和“样本值”可互换使用。视频块可以根据扫描模式(例如,光栅扫描)在图片内排序。视频编码器可对视频块和其子分区执行预测编码。视频块和其子分区可以被称为节点。
ITU-T H.264规定了包括16×16亮度样本的宏块结构。也就是说,在ITU-T H.264中,图片被分段成宏块。ITU-T H.265指定了类似的编码树单元(CTU)结构,其也可被称为最大编码单元(LCU)。在ITU-T H.265中,图片被分段成CTU。在ITU-T H.265中,对于图片,CTU大小可被设定为包括16×16、32×32或64×64亮度样本。在ITU-T H.265中,CTU由视频数据的每个分量(例如,亮度(Y)和色度(Cb和Cr))的相应编码树块(CTB)构成。此外,在ITU-TH.265中,可根据四叉树(QT)划分结构来划分CTU,这使得CTU的CTB被划分为编码块(CB)。也就是说,在ITU-T H.265中,CTU可被划分为四叉树叶节点。根据ITU-T H.265,一个亮度CB连同两个对应的色度CB和相关联语法元素被称为编码单元(CU)。在ITU-T H.265中,可以发送信号通知CB的最小允许大小。在ITU-T H.265中,亮度CB的最小允许最小大小是8×8亮度样本。在ITU-T H.265中,使用帧内预测或帧间预测对图片区域进行编码的决定在CU级进行。
在ITU-T H.265中,CU与在CU处具有其根的预测单元(PU)结构相关联。在ITU-TH.265中,PU结构允许分割亮度CB和色度CB以生成对应的参考样本。也就是说,在ITU-TH.265中,可将亮度CB和色度CB分割成相应的亮度和色度预测块(PB),其中PB包括应用了相同预测的样本值的块。在ITU-T H.265中,可将CB划分为1个、2个或4个PB。ITU-T H.265支持从64×64样本向下至4×4样本的PB大小。在ITU-T H.265中,支持正方形PB来进行帧内预测,其中CB可形成PB,或者CB可被分割成四个正方形PB(即,帧内预测PB大小类型包括M×M或M/2×M/2,其中M为正方形CB的高度和宽度)。在ITU-T H.265中,除了正方形PB之外,还支持矩形PB来进行帧间预测,其中CB可垂直地或水平地减半以形成PB(即,帧间预测PB类型包括M×M、M/2×M/2、M/2×M或M×M/2)。此外,应当指出的是,在ITU-T H.265中,对于帧间预测,支持四个非对称PB划分,其中CB在CB的高度(顶部或底部)或宽度(左侧或右侧)的四分之一处被划分为两个PB(即,非对称划分包括M/4×M左、M/4×M右、M×M/4顶部和M×M/4底部)。对应于PB的帧内预测数据(例如,帧内预测模式语法元素)或帧间预测数据(例如,运动数据语法元素)用于生成PB的参考和/或预测样本值。
JEM规定了具有最大大小的256×256亮度样本的CTU。JEM指定了四叉树加二叉树(QTBT)块结构。在JEM中,QTBT结构允许由二叉树(BT)结构进一步划分四叉树叶节点。也就是说,在JEM中,二叉树结构允许将四叉树叶节点垂直或水平递归划分。图1示出了CTU(例如,具有256×256亮度样本的大小的CTU)被划分为四叉树叶节点并且四叉树叶节点根据二叉树进一步划分的示例。也就是说,在图1中,虚线指示四叉树中的附加二叉树划分。因此,JEM中的二叉树结构实现了正方形和矩形叶节点,其中每个叶节点包括CB。如图1所示,包括在GOP中的图片可包括切片,其中每个切片包括CTU序列,并且每个CTU可根据QTBT结构被划分。图1示出了包括在切片中的一个CTU的QTBT划分的示例。因此,JEM中的二叉树结构实现了正方形和矩形叶节点,其中每个叶节点包括CB。在JEM中,CB用于预测而无需任何进一步的划分。也就是说,在JEM中,CB可以是对其应用相同预测的样本值的块。因此,JEM QTBT叶节点可类似于ITU-T H.265中的PB。
视频采样格式(也可以被称为色度格式)可以相对于CU中包括的亮度样本的数量来定义CU中包括的色度样本的数量。例如,对于4:2:0采样格式,亮度分量的采样率是水平和垂直两个方向的色度分量的采样率的两倍。因此,对于根据4:2:0格式格式化的CU,用于亮度分量的样本阵列的宽度和高度是用于色度分量的每个样本阵列的宽度和高度的两倍。图2是示出根据4:2:0样本格式格式化的编码单元的示例的概念图。图2示出了色度样本相对于CU内的亮度样本的相对位置。如上所述,通常根据水平和垂直亮度样本的数量来定义CU。因此,如图2所示,根据4:2:0样本格式格式化的16×16CU包括亮度分量的16×16个样本和用于每个色度分量的8×8个样本。此外,在图2所示的示例中,示出了16×16CU的相邻视频块的色度样本相对于亮度样本的相对位置。对于根据4:2:2格式格式化的CU,亮度分量的样本阵列的宽度是每个色度分量的样本阵列的宽度的两倍,但是亮度分量的样本阵列的高度等于每个色度分量的样本阵列的高度。此外,对于根据4:4:4格式格式化的CU,亮度分量的样本阵列具有与每个色度分量的样本阵列相同的宽度和高度。
如上所述,帧内预测数据或帧间预测数据用于产生样本值的块的参考样本值。包括在当前PB或另一类型的图片区域结构和相关联的参考样本(例如,使用预测生成的那些)中的样本值之间的差可以被称为残差数据。残差数据可以包括对应于视频数据的每个分量的相应差值阵列。残差数据可能在像素域中。可对差值阵列应用变换诸如离散余弦变换(DCT)、离散正弦变换(DST)、整数变换、小波变换或概念上类似的变换,以生成变换系数。应当指出的是,在ITU-T H.265中,CU与在CU级具有其根的变换单元(TU)结构相关联。也就是说,在ITU-T H.265中,为了生成变换系数,可以对差值的阵列进行再分(例如,可以将四个8×8变换应用于16×16残差值阵列)。对于视频数据的每个分量,差值的此类再分可被称为变换块(TB)。应当指出的是,在ITU-T H.265中,TB不一定与PB对准。图3示出了可用于编码特定CB的另选PB和TB组合的示例。此外,应当指出的是,在ITU-T H.265中,TB可具有以下大小4×4、8×8、16×16和32×32。在JEM中,对应于CB的残差值用于生成变换系数而无需进一步划分。也就是说,在JEM中,QTBT叶节点可以类似于ITU-T H.265中的PB和TB两者。应当指出的是,在JEM中,可以(在视频编码器中)应用核心变换和后续二次变换来生成变换系数。对于视频解码器,变换的顺序是相反的。此外,在JEM中,是否应用二次变换来生成变换系数可取决于预测模式。
可以根据量化过程来量化变换系数。量化通过限制为一组指定值的振幅来近似变换系数。量化可用于改变表示一组变换系数所需的数据量。量化通常可被描述为通过将变换系数除以缩放因子和任何相关联的取整函数(例如,取整为最接近的整数)来实现。因此,逆量化(或“去量化”)可以包括将系数位阶值与缩放因子相乘。应当指出的是,如本文所用,术语量化过程在一些情况下通常可指除以缩放因子以生成位阶值,或者在一些情况下可指乘以缩放因子以恢复变换系数。也就是说,量化过程在一些情况下可以指量化,而在一些情况下可以指逆量化。通过对位阶值执行逆量化,执行逆变换,并且将一组预测值加上所得残差来对当前视频数据块进行重构。重构块的样本值可不同于被输入到编码过程中的当前视频块的样本值。这样,编码可被认为是有损的。然而,应当指出的是,对于重构视频的观察者,样本值的差异可被认为是可接受的。
可以根据熵编码技术(例如,内容自适应可变长度编码(CAVLC)、上下文自适应二进制算术编码(CABAC)、概率区间划分熵编码(PIPE)等)对量化的变换系数(可以被称为位阶值)进行熵编码。此外,也可对语法元素(诸如,指示预测模式的语法元素)进行熵编码。熵编码量化变换系数和对应的熵编码语法元素可形成可用于再现视频数据的兼容比特流。作为熵编码处理的一部分,可以对语法元素执行二值化处理。二值化是指将语法值转换为一个或多个比特的序列的过程。这些比特可以被称为“二进制位”。图4A至图4B是示出对视频数据块进行编码的示例的概念图。如图4A所示,通过从视频数据的当前块中减去一组预测值生成残差、对残差执行变换并且将变换系数量化来生成位阶值,对视频数据的当前块(例如,对应于视频分量的CB)进行编码。如图4B所示,通过对位阶值执行逆量化,执行逆变换,并且将一组预测值加上所得残差来对当前视频数据块进行解码。应当指出的是,在图4A至图4B的示例中,重构块的样本值不同于被编码的当前视频块的样本值。这样,编码可被认为是有损的。然而,对于重构视频的观看者,样本值的差值可被认为是可接受的或不可察觉的。
如图4A所示,量化的变换系数被编码成比特流。可根据熵编码技术对量化的变换系数和语法元素(例如,指示视频块的编码结构的语法元素)进行熵编码。熵编码技术的示例包括内容自适应可变长度编码(CAVLC)、上下文自适应二进制算术编码(CABAC)、概率区间划分熵编码(PIPE)等。熵编码的量化变换系数和对应的熵编码的语法元素可形成可用于在视频解码器处再现视频数据的兼容比特流。熵编码过程可包括对语法元素进行二值化。二值化是指将语法值的值转换为一个或多个位的序列的过程。这些比特可以被称为“二进制位”。二值化是一个无损过程,并且可以包括以下编码技术中的一种或组合:固定长度编码、一元编码、截断一元编码、截断Rice编码、Golomb编码、k阶指数Golomb编码和Golomb-Rice编码。例如,二值化可包括使用8位固定长度二值化技术将语法元素的整数值5表示为00000101,或者使用一元编码二值化技术将整数值5表示为11110。如本文所用,术语固定长度编码、一元编码、截断一元编码、截断Rice编码、Golomb编码、k阶指数Golomb编码和Golomb-Rice编码中的每一个可以指这些技术的一般实现和/或这些编码技术的更具体实现。例如,可以根据视频编码标准(例如,ITU-T H.265)具体地定义Golomb-Rice编码实现。熵编码过程还包括使用无损数据压缩算法对箱值进行编码。在CAB AC的示例中,对于特定箱,可以从与该箱相关联的一组可用上下文模型中选择一个上下文模型。在一些示例中,可以基于先前的箱和/或先前语法元素的值来选择上下文模型。上下文模型可以识别某个箱具有特定值的概率。例如,上下文模型可以指示对值为0的箱进行编码的概率为0.7,并且对值为1的箱进行编码的概率为0.3。应当指出的是,在一些情况下,对值为0的箱进行编码的概率和对值为1的箱进行编码的概率之和可不等于1。在选择可用的上下文模型之后,CABAC熵编码器可以基于所识别的上下文模型对箱进行算术编码。可以基于已编码的箱的值来更新上下文模型。可基于与上下文一起存储的相关联的变量例如适应窗口大小、使用上下文的已编码的箱的数量,来更新上下文模型。应当指出的是,根据ITU-T H.265,可以实现CABAC熵编码器,使得可以使用算术编码对一些语法元素进行熵编码而不使用明确指定的上下文模型,此类编码可以被称为旁路编码。
如上所述,帧内预测数据或帧间预测数据可以将图片的区域(例如,PB或CB)与对应的参考样本相关联。对于帧内预测编码,帧内预测模式可指定图片内的参考样本的位置。在ITU-T H.265中,已定义的可能的帧内预测模式包括平面(即,表面拟合)预测模式(predMode:0)、DC(即平坦的整体平均)预测模式(predMode:1),以及33个角度预测模式(predMode:2-34)。在JEM中,已定义的可能的帧内预测模式包括平面预测模式(predMode:0)、DC预测模式(predMode:1),以及65个角度预测模式(predMode:2-66)。应当指出的是,平面预测模式和DC预测模式可以被称为无方向预测模式,并且角度预测模式可以被称为方向预测模式。应当指出的是,无论已定义的可能预测模式的数量如何,本文描述的技术可以是普遍适用的。
对于帧间预测编码,运动矢量(MV)识别除了待编码的视频块的图片之外的图片中的参考样本,从而利用视频中的时间冗余。例如,可以从位于先前编码的一个或多个帧中的一个或多个参考块预测当前视频块,并且可以使用运动矢量来指示参考块的位置。运动矢量和相关联的数据可以描述例如运动矢量的水平分量、运动矢量的垂直分量、运动矢量的分辨率(例如,四分之一像素精度、二分之一像素精度、一像素精度、二像素精度、四像素精度)、预测方向和/或参考图片索引值。此外,编码标准诸如ITU-T H.265,可以支持运动矢量预测。运动矢量预测允许待指定的运动矢量使用相邻块的运动矢量。运动矢量预测的示例包括高级运动矢量预测(AMVP)、时间运动矢量预测(TMVP)、所谓的“合并”模式,以及“跳过”和“直接”运动推理。此外,JEM支持高级时间运动矢量预测(ATMVP)、空间-时间运动运动矢量预测(STMVP)、模式匹配运动矢量推导(PMMVD)模式,这是基于帧速率上转换(FRUC)技术的特殊合并模式,以及仿射变换运动补偿预测技术。
如上所述,量化可通过变换系数除以缩放因子来实现,并且还可用于改变表示一组变换系数所需的数据量。也就是说,增加缩放因子(或量化程度)会减少表示一组系数所需的数据量。在ITU-T H.265中,可由量化参数QP确定量化程度。在ITU-T H.265中,对于8位的位深度,QP可以取0至51的52个值,QP变化1通常对应于量化缩放因子的值变化约12%。应当指出的是,更一般地,在ITU-T H.265中,源极位深度的QP值的有效范围是:-6*(位深度-8)到+51(包括端值在内)。因此,例如,在位深度为10位的情况下,QP可以取-12至51的64个值,这些值可以在去量化期间被映射到值0至63。在ITU-T H.265中,可以针对每个CU更新量化参数,并且可以针对亮度分量和色度分量中的每一个推导出相应的量化参数。应当指出的是,随着量化的程度增加(例如,变换系数除以较大的缩放因子值),失真的量可增加(例如,重构的视频数据可以对用户看起来更“块状”)。
在一些情况下,分块伪像可能导致重构视频数据的编码块边界在视觉上对用户可见。为了减少分块伪像,可修改重构的样本值以最小化由视频编码过程引入的伪像。此类修改一般可称为滤波。应当指出的是,滤波可作为循环中滤波过程或循环后滤波过程的一部分发生。对于循环中滤波过程,滤波过程的所得样本值可用于预测视频块(例如,存储到参考帧缓冲器以用于在视频编码器处的后续编码以及在视频解码器处的后续解码)。对于循环后滤波过程,滤波过程的所得样本值仅作为解码过程的一部分输出(例如,不用于后续编码)。例如,对于循环中滤波过程,滤波重构块所产生的样本值将用于后续解码(例如,存储到参考缓冲器)并且将被输出(例如,输出到显示器)。对于循环后滤波过程,未修改的重构块将用于后续解码,并且滤波重构块所产生的样本值将被输出。
关于本文所用的公式,可以使用以下算术运算符:
+ 加法
- 减法
* 乘法,包括矩阵乘法
/ 将结果向着零截断的整数除法。例如,将7/4和-7/-4截断为1,将-7/4和7/-4截断为-1。
Figure BDA0002707020760000111
f(i)的总和取x至y且包括y的所有整数值。
此外,可使用以下数学函数:
Figure BDA0002707020760000112
Clip 1c(x)=Clip3(0,(1<<BitDepthc)-1,x),其中BitDepthc是色度通域的位深度,
abs(x)是x的绝对值。
Figure BDA0002707020760000113
此外,可应用以下逻辑运算符的定义:
x&&y x和y的布尔逻辑“和”
x||y x和y的布尔逻辑“或”
!布尔逻辑“否”
x?y:z如果x为TRUE或不等于0,则求值为y;否则,求值为z。
此外,可应用以下关系运算符:
> 大于
≥ 大于或等于
< 小于
≤ 小于或等于
== 等于
!= 不等于
此外,可应用以下逐位运算符:
x>>y x乘y二进制数字的二进制补码整数表示的算术右移。该函数仅针对y的非负整数值来定义。由于右移而移位到最高有效位(MSB)中的位具有等于移位操作之前的x的MSB的值。
x<<y x乘y二进制数字的二进制补码整数表示的算术左移。该函数仅针对y的非负整数值来定义。由于左移而移位到最低有效位(LSB)中的位具有等于0的值。
解块(或去块)、解块滤波、执行解块或应用解块滤波器是指平滑化视频块与相邻重构视频块的边界(即,使得观察者不易察觉到边界)的过程。平滑化相邻重构视频块的边界可以包括修改被包括在邻近边界的行或列中的样本值。ITU-T H.265提供了作为循环中滤波过程的一部分将解块滤波器应用于重构样本值的场景。ITU-T H.265包括可以用于修改亮度样本的两种类型的解块滤波器:强滤波器,其修改与边界相邻的三行或列中的样本值;弱滤波器,其修改与边界紧密相邻的行或列中的样本值并且有条件地修改从边界开始的第二行或列中的样本值。此外,ITU-T H.265包括一种类型的可用于修改色度样本的滤波器,即,普通滤波器。
图5A至图5B示出了具有边界的视频块P和Q中包括的样本值。如本文所用,使用视频块P和Q来指代具有可在其上应用解块的块边界的相邻视频块。修改样本值的方式可基于定义的滤波器,其中pi和qi表示垂直边界的列中的相应样本值和水平边界的行中的样本值,pi'和qi'表示修改的样本值。定义的滤波器可定义要修改(或过滤)的样本和用于确定如何修改样本的样本。例如,如图5A所示,在一个示例中,可基于在与解块边界相邻的前四列中的每列中包括的样本值(示出为支持样本)来修改与解块边界相邻的前三列中的每列中的样本值(示出为经滤波的样本)。
如上所述,ITU-T H.265包括可用于修改亮度样本的两种类型的滤波器:强滤波器和弱滤波器。下文提供了用于修改亮度样本值的强滤波器和弱滤波器公式的简化定义。这些定义被简化,因为它们不包括ITU-T H.265中提供的削波操作(即,在ITU-T H.265中,基于值tC削波了滤波值,如下所述),然而,参考了ITU-T H.265的第8.7.2.5.7节,其提供了完整的定义。
强滤波器
p0’=(p2+2*p1+2*p0+2*q0+q1+4)/8
p1’=(p2+p1+p0+q0+2)/4
p2’=(2*p3+3*p2+p1+p0+q0+4)/8
q0’=(p1+2*p0+2*q0+2*q1+q2+4)/8
q1’=(p0+q0+q1+q2+2)/4
q2’=(p0+q0+q1+3*q2+2*q3+4)/8
弱滤波器
Δ=(9*(q0–p0)-3*(q1-p1)+8)/16
p0’=p0
q0’=q0
其中如下文所述的那样,有条件地修改p1和q1,如下
Δp=((p2+p0+l)/2–p1+Δ)/2
Δq=((q2+p0+l)/2–q1-Δ)/2
p1’=p1+Δp
q1’=q1+Δq
此外,ITU-T H.265包括一种类型的可用于修改色度样本的滤波器:普通滤波器。下文提供了用于修改色度样本值的正常滤波公式的简化定义。
普通滤波器
Δ=((q0–p0)*4+p1–q1+4)/8
p0’=p0
q0’=q0
可以基于解块颗粒度来执行解块。ITU-T H.265提供了8×8的解块颗粒度。也就是说,在ITU-T H.265中,对于图片的区域而言,评估位于8×8网格上的每个边缘以确定是否存在边界。此外,在ITU-T H.265中,确定每个边界的边界强度(Bs)。在ITU-T H.265中,Bs被确定为0、1或2中的一者,如下:
P和Q是两个相邻的编码块,则将滤波器强度Bs指定为:
如果块(P或Q)中的一者具有帧内预测模式,则Bs=2;
另外,如果P和Q属于不同的TB,则P或Q具有至少一个非零
变换系数,则Bs=1;
另外,如果P和Q的参考图片不相同,则Bs=1;
另外,如果P和Q的x运动矢量分量或y运动矢量分量之间的差等于或大于一个整数样本,则Bs=1;
另外,Bs=0。
在ITU-T H.265中,基于用于对包括视频块P和Q(其可以称为QPP和QPQ)的CB进行编码的QP,确定变量tC’和β’。图6提供了用于确定tC’和β’的表。在ITU-T H.265中,如下确定索引Q:
对于亮度:
对于β’:
Q=Clip3(0,51,qPL+(slice_beta_offset_div2<<1))
对于tC
Q=Clip3(0,53,qPL+2*(bS-1)+(slice_tc_offset_div2<<1)),
其中,
qPL=(QPQ+QPP+l)/2;
slice_beta_offset_div2是应用于包括样本q0,0的视频数据切片的偏移值;并且
slice_tc_offset_div2是应用于包括样本q0,0的视频数据切片的偏移值
ITU-T H.265,变量β和Q如下推导:
β=β'*(1<<(BitDepthy-8))
tc=tc'*(1<<(BitDepthy-8))
其中,BitDepthy指定亮度样本的位深度。
ITU-T H.265定义了变量d,其中基于亮度样本值确定d,如下:
dp0=abs(p2,0-2*p1,0+p0,0)
dp3=abs(p2,3-2*p1,3+p0,3)
dq0=abs(q2,0-2*q1,0+q0,0)
dq3=abs(q2,3-2*q1,3+q0,3)
dpq0=dp0+dq0
dpq3=dp3+dq3
dp=dp0+dp3
dq=dq0+dq3
d=dpq0+dpq3
此外,在ITU-T H.265中,变量dpq被设置为基于d值和β值的值。最后,在ITU-TH.265中,Bs、tC、β和d中的每一者均用于确定应用哪种类型的滤波器(例如,强滤波器或弱滤波器)。此外,在ITU-T H.265中,对于色度分量,仅在Bs等于2时应用普通滤波器。也就是说,在ITU-T H.265中,如果使用帧内预测模式生成块P或Q中的一者,则仅针对色度分量发生解块。
应当指出的是,通常根据一组滤波器参数来描述解块滤波器可能是有用的。例如,对于包括在行或列中的一组样本值{a...b},可基于以下公式指定对应的解块样本值y[n]:
Figure BDA0002707020760000151
其中,
滤波器长度确定为abs(a-b+l);
coeff[m]提供滤波器抽头值(也称为滤波器系数)。例如,对于{a...b}={0...4},一组抽头值可为{1,2,3,2,1};
x[n+m]提供对应于支持样本的输入样本值,应当指出的是,支持大小可大于或等于滤波器长度。
此外,在ITU-T H.265中,与不与切片边界和图块边界重合的CTU边界相比,解块滤波器可以不同方式应用于与切片边界和图块边界重合的CTU边界。具体地讲,ITU-T H.265指定存在于切片片段标头中的标记slice_loop_filter_across_slices_enabled_flag,该标记启用/禁用跨与顶部切片边界和左侧切片边界重合的CTU边界的解块滤波器。ITU-TH.265提供了对slice_loop_filter_across_slices_enabled_flag的以下定义:
slice_loop_filter_across_slices_enabled_flag等于1指定可跨当前切片的左边界和上边界执行循环中滤波操作。slice_loop_filter_across_slices_enabled_flag等于0指定不跨当前切片的左边界和上边界执行循环中操作。循环中滤波操作包括解块滤波和样本自适应偏移滤波。当不存在slice_loop_filter_across_slices_enabled_flag时,推断其等于pps_loop_filter_across_slices_enabled_flag。
其中pps_loop_filter_across_slices_enabled_flag存在于图片参数集(PPS)中,并且ITU-T H.265为pps_loop_filter_across_slices_enabled_flag提供以下定义:
pps_loop_filter_across_slices_enabled_flag等于1指定可跨参考PPS的切片的左边界和上边界执行循环中滤波操作。pps_loop_filter_across_slices_enabled_flag等于0指定不跨参考PPS的切片的左边界和上边界执行循环中滤波操作。循环中滤波操作包括解块滤波和样本自适应偏移滤波操作。
注意—在禁用跨图块边界的循环滤波的同时,可启用跨切片边界的循环滤波,并且反之亦然。
类似地,存在于PPS的标记loop_filter_across_tiles_enabled_flag跨与图块边界重合的CTU边界启用/禁用解块滤波器。ITU-T H.265为loop_filter_across_tiles_enabled_flag提供以下定义:loop_filter_across_tiles_enabled_flag等于1指定可跨参考PPS的图片中的图块边界执行循环中滤波操作。loop_filter_across_tiles_enabled_flag等于0指定不跨参考PPS的图片中的图块边界执行循环中滤波操作。循环中滤波操作包括解块滤波和样本自适应偏移滤波操作。当不存在时,推断loop_filter_across_tiles_enabled_flag的值等于1。
如上所述,对于解块,基于slice_beta_offset_div2和slice_tc_offset_div2确定索引Q。在ITU-T H.265中,slice_beta_offset_div2和slice_tc_offset_div2的值可包括在切片片段标头中,并且具有以下定义:
slice_beta_offset_div2和slice_tc_offset_div2指定当前切片的β和tC的解块参数偏移(除以2)。slice_beta_offset_div2和slice_tc_offset_div2的值应均在-6至6(包括端值)的范围内。当不存在时,slice_beta_offset_div2和slice_tc_offset_div2的值被推断为分别等于topps_beta_offset_div2和pps_tc_offset_div2。
其中pps_beta_offset_div2和pps_tc_offset_div2存在于PPS中,并且ITU-TH.265为pps_beta_offset_div2和pps_tc_offset_div2提供以下定义:
pps_beta_offset_div2和pps_tc_offset_div2指定应用于参考PPS的切片的β和tC的默认解块参数偏移(除以2),除非默认解块参数偏移被参考PPS的切片的切片标头中存在的解块参数偏移覆盖。pps_beta_offset_div2和pps_tc_offset_div2的值应均在-6至6(包括端值)的范围内。当不存在时,推断pps_beta_offset_div2和pps_tc_offset_div2的值等于0。
如上所述,ITU-T H.265提供了8×8的解块颗粒度。在JEM中,根据由水平边界的可变minCUWidth或垂直边界的可变minCUHeight指定的网格来执行解块,其中minCUWidth和minCUHeight的默认值为4。d的值也在JEM中确定,其中d的计算与在ITU-T H.265中的计算相同。基于上述d的值,确定是否对边界执行解块。也就是说,如果d<β,则将解块滤波器用于当前边界,否则,不对该边界执行解块。此外,在JEM中使用强滤波器还是弱滤波器的决定与ITU-T H.265中的决定相同。最后,在JEM参考软件中,强解块滤波器的亮度滤波器系数与ITU-T H.265中使用的系数相同。如在ITU-T H.265和JEM中执行的解块可能不太理想。具体地讲,如在ITU-T H.265和JEM中执行的解块,在执行解块时未能考虑重构视频数据的各种编码参数和属性。
图7是示出根据本公开的一种或多种技术的可被配置为对视频数据进行编码(例如,编码和/或解码)的系统的示例的框图。系统100表示可以根据本公开的一种或多种技术来封装视频数据系统的示例。如图7所示,系统100包括源设备102、通信介质110和目标设备120。在图7所示的示例中,源设备102可以包括被配置为对视频数据进行编码并将编码视频数据传输到通信介质110的任何设备。目标设备120可以包括被配置为经由通信介质110接收编码视频数据并且对编码视频数据进行解码的任何设备。源设备102和/或目标设备120可以包括配备用于进行有线和/或无线通信的计算设备,并且可以包括例如机顶盒、数字视频录像机、电视机、台式电脑、膝上型电脑或平板电脑、游戏控制台、医学成像设备和移动设备(包括例如智能电话、蜂窝电话、个人游戏设备)。
通信介质110可以包括无线和有线通信介质和/或存储设备的任意组合。通信介质110可以包括同轴电缆、光纤电缆、双绞线电缆、无线发射器和接收器、路由器、交换机、中继器、基站或可用于促进各种设备和站点之间的通信的任何其他设备。通信介质110可以包括一个或多个网络。例如,通信介质110可以包括被配置为允许访问万维网例如互联网的网络。网络可以根据一个或多个电信协议的组合操作。电信协议可以包括专有方面并且/或者可以包括标准化电信协议。标准化电信协议的示例包括数字视频广播(DVB)标准、高级电视系统委员会(ATSC)标准、综合服务数字广播(ISDB)标准、有线数据业务接口规范(DOCSIS)标准、全球移动通信系统(GSM)标准、码分多址(CDMA)标准、第3代合作伙伴计划(3GPP)标准、欧洲电信标准协会(ETSI)标准、互联网协议(IP)标准、无线应用协议(WAP)标准以及电气与电子工程师协会(IEEE)标准。
存储设备可以包括能够存储数据的任何类型的设备或存储介质。存储介质可以包括有形或非暂态计算机可读介质。计算机可读介质可以包括光盘、闪存存储器、磁存储器或任何其他合适的数字存储介质。在一些示例中,存储器设备或其部分可以被描述为非易失性存储器,并且在其他示例中,存储器设备的部分可以被描述为易失性存储器。易失性存储器的示例可以包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)。非易失性存储器的示例可以包括磁性硬盘、光盘、软盘、闪存或电可编程存储器(EPROM)或电可擦除和可编程(EEPROM)存储器的形式。存储设备可以包括存储卡(例如,安全数字(SD)存储卡)、内部/外部硬盘驱动器和/或内部/外部固态驱动器。数据可以根据定义的文件格式存储在存储设备上。
再次参考图7,源设备102包括视频源104、视频编码器106、数据封装器107和接口108。视频源104可以包括被配置为捕获和/或存储视频数据的任何设备。例如,视频源104可以包括摄像机和可操作地与其耦接的存储设备。视频编码器106可以包括被配置为接收视频数据并生成表示视频数据的兼容比特流的任何设备。兼容比特流可以指视频解码器可以从其接收和再现视频数据的比特流。兼容比特流的各方面可根据视频编码标准来定义。当生成兼容比特流时,视频编码器106可以压缩视频数据。压缩可能是有损的(观察者可觉察的或不可觉察的)或无损的。
图8是示出可实现本文所述的用于编码视频数据的技术的视频编码器200的示例的框图。应当指出的是,尽管示例性视频编码器200被示出为具有不同的功能块,但此类图示旨在用于描述目的,并且不将视频编码器200和/或其子部件限制为特定的硬件或软件架构。可使用硬件、固件和/或软件具体实施的任何组合来实现视频编码器200的功能。在一个示例中,视频编码器200可被配置为根据本文描述的技术对视频数据进行编码。视频编码器200可执行图片区域的帧内预测编码和帧间预测编码,并且因此可被称为混合视频编码器。在图8所示的示例中,视频编码器200接收源视频块。在一些示例中,源视频块可以包括已经根据编码结构划分的图片区域。例如,源视频数据可包括宏块、CTU、CB、其子分区和/或另外的等效编码单元。在一些示例中,视频编码器可被配置为执行源视频块的额外再分。应当注意,本文描述的技术通常适用于视频编码,而不管在编码之前和/或期间如何划分源视频数据。在图9所示的示例中,视频编码器200包括求和器202、变换系数生成器204、系数量化单元206、逆量化/变换处理单元208、求和器210、帧内预测处理单元212、帧间预测处理单元214、滤波器单元216和熵编码单元218。如图8所示,视频编码器200接收源视频块并输出比特流。
在图8所示的示例中,视频编码器200可以通过从源视频块中减去预测视频块来生成残差数据。求和器202表示被配置为执行该减法运算的部件。在一个示例中,减去视频块出现在像素域中。变换系数生成器204将变换,诸如离散余弦变换(Discrete CosineTransform,DCT)、离散正弦变换(Discrete Sine Transform,DST)或概念上类似的变换,应用到其残余块或子分区(例如,可以将四个8×8变换应用于16×16残差值阵列)以生成一组残差变换系数。变换系数生成器204可以被配置为执行离散三角变换系列中包括的变换的任意和全部组合。变换系数生成器204可将变换系数输出到系数量化单元206。
系数量化单元206可被配置为执行变换系数的量化。如上所述,可以通过调整量化缩放因子来修改量化程度,其中量化缩放因子可以通过量化参数来确定。系数量化单元206可被进一步配置为确定量化值并输出QP数据,该QP数据可以由视频解码器用于重构量化参数,以在视频解码期间执行逆量化。例如,信号传输的QP数据可以包括QPΔ值。在ITU-TH.265中,应用于变换系数集合的量化程度可以取决于:切片级参数、从先前编码单元继承的参数以及/或者任选地信号传输的CU级Δ值。
如图8所示,量化的变换系数被输出到逆量化/变换处理单元208。逆量化/变换处理单元208可以被配置为应用逆量化和/或逆变换来生成重构的残差数据。如图8所示,在求和器210处,重构的残差数据可以被添加到预测视频块。这样,可以重构编码的视频块,并且可以使用所得的重构视频块来评估给定预测、变换类型和/或量化位阶的编码质量。视频编码器200可以被配置为执行多个编码回合(例如,在改变一个或多个编码参数的同时执行编码)。比特流的率失真或其他系统参数可以基于重构的视频块的评估来优化。此外,重构的视频块可被存储并用作预测后续块的参考。
如上所述,可以使用帧内预测来编码视频块。帧内预测处理单元212可被配置为针对待编码视频块选择帧内预测模式。帧内预测处理单元212可被配置为评估帧和/或其区域并且确定用以对当前块进行编码的帧内预测模式。如图8所示,帧内预测处理单元212将帧内预测数据(例如,语法元素)输出到滤波器单元216和熵编码单元218。
帧间预测处理单元214可被配置为针对当前视频块执行帧间预测编码。帧间预测处理单元214可被配置为接收源视频块并且计算视频块的PU等的运动向量。运动向量可以指示当前视频帧内的视频块的PU等相对于参考帧内的预测块的位移。帧间预测编码可以使用一个或多个参考图片。此外,运动预测可以是单向预测(使用一个运动矢量)或双向预测(使用两个运动矢量)。帧间预测处理单元214可被配置为通过计算由例如绝对差之和(SAD)、平方差之和(SSD)或其他差值度量确定的像素差来选择预测块。运动向量和相关数据可以描述例如运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素精度)、预测方向和/或参考图片索引值。此外,编码标准诸如ITU-T H.265,可以支持运动矢量预测。运动矢量预测允许待指定的运动矢量使用相邻块的运动矢量。运动矢量预测的示例包括高级运动矢量预测(AMVP)、时间运动矢量预测(TMVP)、所谓的“合并”模式,以及“跳过”和“直接”运动推理。帧间预测处理单元214可以被配置为根据上文所述技术中的一种或多种来执行运动矢量预测。帧间预测处理单元214可被配置为使用运动预测数据生成预测块。例如,帧间预测处理单元214可定位帧缓冲器内的预测视频块(图8中未示出)。需注意,帧间预测处理单元214可以进一步被配置为将一个或多个内插滤波器应用于重构的残差块,以计算用于运动估计的子整数像素值。帧间预测处理单元214可以将所计算的运动向量的运动预测数据输出到滤波器单元216和熵编码单元218。
如上所述,解块是指平滑化重构视频块的边界的过程。如图8所示,滤波器单元216接收重构的视频块和编码参数(例如,帧内预测数据、帧间预测数据和QP数据),并且输出修改的重构视频数据。滤波器单元216可被配置为执行解块和/或样本自适应偏移(SAO)滤波。SAO滤波是一种可用于通过向重构的视频数据添加偏移以改善重构的非线性振幅映射。应当指出的是,如图8所示,帧内预测处理单元212和帧间预测处理单元214可以经由滤波器单元216接收修改的重构视频块。也就是说,在一些情况下,解块可以在循环中发生,即,可以对存储在参考缓冲器中的预测视频块进行滤波。在一些情况下,解块可以在循环后发生,即,例如,在重构视频数据之后且在将其输出到显示器之前。本文所述的技术可适用于循环中解块、循环后解块和/或两者的组合。
如上所述,如在ITU-T H.265和JEM中执行的解块可能不太理想。在一个示例中,根据本文的技术,滤波器单元216可被配置为基于以下中的一者或多者来选择不同的滤波线(在一些情况下,在边界的每一侧上解块的样本的数量可为不同的):边界的每一侧(一侧或两侧)上的块大小、边界强度、由边界的每一侧上的块使用的预测模式、正被解块的样本的预测模式(例如,帧内、帧间、跳过)(例如,对接近参考样本的边界使用弱滤波器)、正被解块的样本的QP值、对应于正被解块的样本的块大小、对应于正被用于解块的样本的块大小、正被解块的边界的每一侧上的块的运动矢量、正被解块的样本的运动矢量和/或正被用于解块的样本的运动矢量。
块边界(垂直于边界边缘)的每一侧上的样本可表示为:
...p8 p7 p6 p5 p4 p3 p2 p1 p0|q0 q1 q2 q3 q4 q5 q6 q7 q8
其中,
|表示块边界边缘。
样本px(其中x为从0开始的正整数)表示边界的P侧。样本qy(其中y为从0开始的正整数)表示边界的Q侧。
在一个示例中,P侧表示当前CU外部的样本,Q侧表示当前CU内部的样本。
在一个示例中,P侧表示当前CU内部的样本,Q侧表示当前CU外部的样本。
在一个示例中,P侧表示当前块外部的样本,Q侧表示当前块内部的样本。
在一个示例中,P侧表示当前块内部的样本,Q侧表示当前块外部的样本。
参考图5A,当解块垂直边缘时,样本py>x和qy>x对应于线R[x]。
参考图5B,当解块水平边缘时,样本py>x和qy>x对应于线R[y]。
边界P侧的较宽(即,解块的样本数量更多)、较强的滤波器(称为WS00P P侧滤波器)的一个示例是:
p6′=(7*p7+2*p6+p5+p4+p3+p2+p1+p0+q0+8)>>4
p5′=(6*p7+p6+2*p5+p4+p3+p2+p1+p0+q0+q1+8)>>4
p4′=(5*p7+p6+p5+2*p4+p3+p2+p1+p0+q0+q1+q2+8)>>4
p3′=(4*p7+p6+p5+p4+2*p3+p2+p1+p0+q0+q1+q2+q3+8)>>4
p2′=(3*p7+p6+p5+p4+p3+2*p2+p1+p0+q0+q1+q2+q3+q4+8)>>4
p1′=(2*p7+p6+p5+p4+p3+p2+2*p1+p0+q0+q1+q2+q3+q4+q5+8)>>4
p0′=(p7+p6+p5+p4+p3+p2+p1+2*p0+q0+q1+q2+q3+q4+q5+q6+8)>>4
其中,px′表示在对应于px的位置处解块之后的样本值
边界Q侧的较宽(即,解块的样本数量更多)、较强的滤波器(称为WS00Q Q侧滤波器)的一个示例是:
q6′=(7*q7+2*q6+q5+q4+q3+q2+q1+q0+p0+8)>>4
q5′=(6*q7+q6+2*q5+q4+q3+q2+q1+q0+p0+p1+8)>>4
q4′=(5*q7+q6+q5+2*q4+q3+q2+q1+q0+p0+p1+p2+8)>>4
q3′=(4*q7+q6+q5+q4+2*q3+q2+q1+q0+p0+p1+p2+p3+8)>>4
q2′=(3*q7+q6+q5+q4+q3+2*q2+q1+q0+p0+p1+p2+p3+p4+8)>>4
q1′=(2*q7+q6+q5+q4+q3+q2+2*q1+q0+p0+p1+p2+p3+p4+p5+8)>>4
q0′=(q7+q6+q5+q4+q3+q2+q1+2*q0+p0+p1+p2+p3+p4+p5+p6+8)>>4
其中,qx’表示在对应于qx的位置处解块之后的样本值
边界P侧的窄(即,解块的样本数量更少)、强的滤波器(称为HEVC_P P侧滤波器)的一个示例是:
p0′=(p2+2*p1+2*p0+2*q0+q1+4)>>3
p1′=(p2+p1+p0+q0+2)>>2
p2′=(2*p3+3*p2+p1+p0+q0+4)>>3
其中,px′表示在对应于px的位置处解块之后的样本值
边界Q侧的窄(即,解块的样本数量更少)、强的滤波器(称为HEVC_Q Q侧滤波器)的一个示例是:
p0′=(p2+2*p1+2*p0+2*q0+q1+4)>>3
p1′=(p2+p1+p0+q0+4)>>3
p2′=(p4+2*p3+3*p2+p1+p0+4)>>3
其中,qx’表示在对应于qx的位置处解块之后的样本值
边界P侧的窄(解块的样本数量更少)、强的滤波器(称为NS00P P侧滤波器)的一个示例是:
p0′=(p2+2*p1+2*p0+2*q0+q1+4)>>3
p1′=(p2+p1+p0+q0+4)>>3
p2′=(p4+2*p3+3*p2+p1+p0+4)>>3
其中,px′表示在对应于px的位置处解块之后的样本值
边界Q侧的窄(解块的样本数量更少)、强的滤波器(称为NS00Q Q侧滤波器)的一个示例是:
q0′=(q2+2*q1+2*q0+2*p0+p1+4)>>3
q1′=(q2+q1+q0+p0+4)>>3
q2′=(q4+2*q3+3*q2+q1+q0+4)>>3
其中,qx’表示在对应于qx的位置处解块之后的样本值
边界P侧的窄(解块的样本数量更少)、强的滤波器(称为NS00P P侧滤波器)的一个示例是:
p0′=(p2+2*p1+2*p0+2*q0+q1+4)>>3
p1′=(p2+p1+p0+q0+2)>>2
p2′=(p4+2*p3+3*p2+p1+p0+4)>>3
边界Q侧的窄(解块的样本数量更少)、强的滤波器(称为NS00Q Q侧滤波器)的一个示例是:
q0′=(q2+2*q1+2*q0+2*p0+p1+4)>>3
q1′=(q2+q1+q0+p0+2)>>2
q2′=(q4+2*q3+3*q2+q1+q0+4)>>3
边界P侧的窄(解块的样本数量更少)、强的滤波器(称为NS00P P侧滤波器)的一个示例是:
p0′=(p2+2*p1+2*p0+2*q0+q1+4)>>3
p1′=(p2+p1+p0+q0+2)>>2
p2′=(2*p3+3*p2+p1+p0+q0+4)>>3
边界Q侧的窄(解块的样本数量更少)、强的滤波器(称为NS00Q Q侧滤波器)的一个示例是:
q0′=(q2+2*q1+2*q0+2*p0+p1+4)>>3
q1′=(q2+q1+q0+p0+2)>>2
q2′=(2*q3+3*q2+q1+q0+p0+4)>>3
边界P侧的窄(解块的样本数量更少)、弱的滤波器(称为NW00P P侧滤波器)的一个示例是:
Δ=Clip3(-tC,tC,((((q0-p0)<<2)+p1-q1+4)>>3))
p0′=Clip1C(p0+Δ)
其中,px′表示在对应于px的位置处解块之后的样本值
边界Q侧的窄(解块的样本数量更少)、弱的滤波器(称为NW00Q Q侧滤波器)的一个示例是:
Δ=Clip3(-tC,tC,((((q0-p0)<<2)+p1-q1+4)>>3))
q0′=Clip1C(q0-Δ)
其中,qx’表示在对应于qx的位置处解块之后的样本值
边界P侧的滤波器(称为F0P P侧滤波器)的一个示例是:
p0’=(136*p8+120*q8+128)>>8
p1’=(151*p7+105*q9+128)>>8
p2’=(166*p6+90*q10+128)>>8
p3’=(181*p5+75*q11+128)>>8
p4’=(196*p4+60*q12+128)>>8
p5’=(211*p3+45*q13+128)>>8
p6’=(226*p2+30*q14+128)>>8
p7’=(241*p1+15*q15+128)>>8
边界Q侧的滤波器(称为F0Q Q侧滤波器)的一个示例是:
q0’=(120*p9+136*q7+128)>>8
q1’=(105*p10+151*q6+128)>>8
q2’=(90*p11+166*q5+128)>>8
q3’=(75*p12+181*q4+128)>>8
q4’=(60*p13+196*q3+128)>>8
q5’=(45*p14+211*q2+128)>>8
q6’=(30*p15+226*q1+128)>>8
q7’=(15*p16+241*q0+128)>>8
边界P侧的滤波器(称为F1P P侧滤波器)的一个示例是:
p0′=(2*p1+4*p0+q0+q1+4)>>3
p1′=(2*p2+4*p1+p0+q0+4)>>3
p2′=(p3+p2+p1+p0+2)>>2
p3′=(p4+p3+p2+p1+2)>>2
边界Q侧的滤波器(称为F1Q Q侧滤波器)的一个示例是:
q0′=(2*q1+4*q0+p0+p1+4)>>3
q1′=(2*q2+4*q1+q0+p0+4)>>3
q2′=(q3+q2+q1+q0+2)>>2
q3′=(q4+q3+q2+q1+2)>>2
在一个示例中,正被解块的样本距边界的距离可与被分配最大抽头值的支持样本和正被解块的样本之间的距离成反比。此外,第二大抽头值距正被解块的样本的距离可与样本距边界的距离成比例。下文所述的滤波器F2P和F2Q提供此类滤波的示例性具体实施。边界P侧的滤波器(称为F2P P侧滤波器)的一个示例是:
p0’=(136*p8+2*p0+120*q8+256)>>9
p1’=(151*p7+4*p1+105*q9+256)>>9
p2’=(166*p6+8*p2+90`*q10+256)>>9
p3’=(181*p5+16*p3+75*q11+256)>>9
p4’=(196*p4+32*p4+60*q12+256)>>9
p5’=(211*p3+64*p5+45*q13+256)>>9
p6’=(226*p2+128*p6+30*q14+256)>>9
p7’=(241*p1+256*p7+15*q15+256)>>9
边界Q侧的滤波器(称为F2Q Q侧滤波器)的一个示例是:
q0’=(120*p9+2*q0+136*q7+256)>>9
q1’=(105*p10+4*q1+151*q6+256)>>9
q2’=(90*p11+8*q2+166*q5+256)>>9
q3’=(75*p12+16*q3+181*q4+256)>>9
q4’=(60*p13+32*q4+196*q3+256)>>9
q5’=(45*p14+64*q5+211*q2+256)>>9
q6’=(30*p15+128*q6+226*q1+256)>>9
q7’=(15*p16+256*q7+241*q0+256)>>9
边界P侧的滤波器(称为F4P P侧滤波器)的一个示例是:
p6’=(7*p7+2*p6+p5+p4+p3+p2+p1+p0+q0+8)>>4
p5’=(6*p7+p6+2*p5+p4+p3+p2+p1+p0+q0+q1+8)>>4
p4’=(5*p7+p6+p5+2*p4+p3+p2+p1+p0+q0+q1+q2+8)>>4
p3’=(4*p7+p6+p5+p4+2*p3+p2+p1+p0+q0+q1+q2+q3+8)>>4
p2’=(3*p7+p6+p5+p4+p3+2*p2+p1+p0+q0+q1+q2+q3+q4+8)>>4
p1’=(2*p7+p6+p5+p4+p3+p2+2*p1+p0+q0+q1+q2+q3+q4+q5+8)>>4
p0’=(p7+p6+p5+p4+p3+p2+p1+2*p0+q0+q1+q2+q3+q4+q5+q6+8)>>4
边界Q侧的滤波器(称为F4Q Q侧滤波器)的一个示例是:
q6’=(7*q7+2*q6+q5+q4+q3+q2+q1+q0+p0+8)>>4
q5’=(6*q7+q6+2*q5+q4+q3+q2+q1+q0+p0+p1+8)>>4
q4’=(5*q7+q6+q5+2*q4+q3+q2+q1+q0+p0+p1+p2+8)>>4
q3’=(4*q7+q6+q5+q4+2*q3+q2+q1+q0+p0+p1+p2+p3+8)>>4
q2’=(3*q7+q6+q5+q4+q3+2*q2+q1+q0+p0+p1+p2+p3+p4+8)>>4
q1’=(2*q7+q6+q5+q4+q3+q2+2*q1+q0+p0+p1+p2+p3+p4+p5+8)>>4
q0’=(q7+q6+q5+q4+q3+q2+q1+2*q0+p0+p1+p2+p3+p4+p5+p6+8)>>4
在一个示例中,根据本文的技术,梯度计算可用于选择滤波器参数、要在块边界的一侧(或两侧)上解块的样本的数量。梯度可使用线R[x]中的样本来计算。
在一个示例中,可使用线R[x]中的样本来计算多个梯度,并将其用于滤波器参数的选择、要在块边界的一侧(或两侧)上解块的样本的数量。在另一个示例中,可使用线R[x]中的样本来计算多个梯度,并且可将诸如梯度的平均、最大梯度、最小梯度的操作用于选择滤波器参数、要在块边界的一侧(或两侧)上解块的样本的数量。
在一个示例中,函数调用xCalDQp(R[x])如下计算梯度:
abs(p2-2*p1+p0)
在一个示例中,函数调用xCalDQq(R[x])如下计算梯度:
abs(q2-2*q1+q0)
在一个示例中,函数调用xCalDQpLargeBlock(R[x])如下计算梯度:
Max(Max(Max(Max(Max(abs(p2-2*p1+p0),abs(p3-2*p2+p1)),abs(p4-2*p3+p2)),abs(p5-2*p4+p3)),abs(p6-2*p5+p4)),abs(p7-2*p6+p5))
在一个示例中,函数调用xCalDQqLargeBlock(R[x])如下计算梯度:
Max(Max(Max(Max(Max(abs(q2-2*q1+q0),abs(q3-2*q2+q1)),abs(q4-2*q3+q2)),abs(q5-2*q4+q3)),abs(q6-2*q5+q4)),abs(q7-2*q6+q5))
在一个示例中,函数调用xCalDQpLargeBlock(R[x])如下计算梯度:
(abs(p2-2*p1+p0)+abs(p3-2*p2+p1)+abs(p5-2*p4+p3)+abs(p7-2*p6+p5)+4)>>2
在一个示例中,函数调用xCalDQqLargeBlock(R[x])如下计算梯度:
(abs(q2-2*q1+q0)+abs(q3-2*q2+q1)+abs(q5-2*q4+q3)+abs(q7-2*q6+q5)+4)>>2
在一个示例中,函数调用xCalDQpLargeBlock(R[x])如下计算梯度:
(abs(p2-2*p1+p0)+abs(p3-2*p2+p1)+abs(p5-2*p4+p3)+abs(p7-2*p6+p6)+2)>>2
在一个示例中,函数调用xCalDQqLargeBlock(R[x])如下计算梯度:
(abs(q2-2*q1+q0)+abs(q3-2*q2+q1)+abs(q5-2*q4+q3)+abs(q7-2*q6+q5)+2)>>2
在一个示例中,函数调用xCalDQpLargeBlock(R[x])如下计算梯度:
(abs(p2-2*p1+p0)+abs(p3-2*p2+p1)+abs(p4-2*p3+p2)+abs(p5-2*p4+p3)+4)>>2
在一个示例中,函数调用xCalDQqLargeBlock(R[x])如下计算梯度:
(abs(q2-2*q1+q0)+abs(q3-2*q2+q1)+abs(q4-2*q3+q2)+abs(q5-2*q4+q3)+4)>>2
在一个示例中,函数调用xCalDQpLargeBlock(R[x])如下计算梯度:
(abs(p2-2*p1+p0)+abs(p3-2*p2+p1)+abs(p4-2*p3+p2)+abs(p5-2*p4+p3)+2)>>2
在一个示例中,函数调用xCalDQqLargeBlock(R[x])如下计算梯度:
(abs(q2-2*q1+q0)+abs(q3-2*q2+q1)+abs(q4-2*q3+q2)+abs(q5-2*q4+q3)+2)>>2
在一个示例中,函数调用xCalDQpLargeBlock(R[x])如下计算梯度:
(abs(p2-2*p1+p0)+abs(p5-2*p4+p3)+1)>>1
在一个示例中,函数调用xCalDQqLargeBlock(R[x])如下计算梯度:
(abs(q2-2*q1+q0)+abs(q5-2*q4+q3)+1)>>1
在一个示例中,在p1,p2,..,p6处计算的二阶差的子集可用于计算其中pn处的二阶差为abs(pn-1-2*pn+pn+1)的xCalDQpLargeBlock(R[x])。
类似地,在q1,q2,...,q6处计算的二阶差的子集可用于计算xCalDQqLargeBlock(R[x])。在一个示例中,可丢弃函数调用xCalDQpLargeBlock(R[x])和xCalDQqLargeBlock(R[x])中的取整偏移。
在一个示例中,函数调用xUseStrongFilteringLargeBlock(R[x0,d,bSidePisLargeBlk,bSideQisLargeBlk)如下计算布尔变量,其中所确定的bSidePisLargeBlk、bSideQisLargeBlk的示例提供如下:
((abs((bSidePisLargeBlk?p7:p4)-p0)+abs((bSideQisLargeBlk?q7:q4)-q0)<(β>>3))&&(d<(β>>2))&&(abs(q0-p0)<((tC*5+1)>>1)))?TRUE:FALSE,其中β和tC为阈值。
在一个示例中,函数调用xUseStrongFilteringLargeBlock(R[x],d,bSidePisLargeBlk,bSideQisLargeBlk)如下计算布尔变量:
Figure BDA0002707020760000311
在一个示例中,函数调用xUseStrongFilteringLargeBlock(R[x],d,bSidePisLargeBlk,bSideQisLargeBlk)如下计算布尔变量:
Figure BDA0002707020760000312
在一个示例中,函数调用xUseStrongFilteringLargeBlock(R[x],d,bSidePisLargeBlk,bSideQisLargeBlk)如下计算布尔变量:
Figure BDA0002707020760000321
在一个示例中,可丢弃函数调用xUseStrongFilteringLargeBlock中的取整偏移。
在一个示例中,用于选择要在边界的一侧(或两侧)上解块的样本数量的条件对应于垂直于块边界的(当前和/或相邻块的)尺寸超过阈值。在一些情况下,当基于块大小将针对块的变换系数的子集设置为零时,则在比较中使用的阈值可基于零系数的子集的属性。例如,当将列位置大于或等于32和行位置大于或等于32的系数的变换系数被设置为零时(其中行、列索引从0开始),则将垂直于块边界的尺寸与阈值32进行比较。
在一个示例中,可在比特流中接收指示对于样本块,所有变换系数是否为零的信号。例如,对于每个颜色分量、对于一组颜色分量、对于样本的一些空间划分、对于样本的一些空间-时间划分,可接收这样的信号。在HEVC中,对于每个颜色分量,(在不存在显式信号的情况下,通过使用推断规则显式地或隐式地)发信号通知编码块标记(CBF)-cbf_luma,cbf_cb,cbf_cr;此外,还(显式地或隐式地)发信号通知标记,该标记指示变换树中的任何颜色分量是否包含非零变换系数,并被称为残余四叉树根CBF-rqt_root_cbf。
在一个示例中,要在边界的一侧(或两侧)上解块的样本的数量可基于正被解块的边缘的类型(例如,垂直块边缘、水平块边缘)、信道类型(例如,亮度、色度)、对于边界的一侧(或两侧)上的样本块是否所有变换系数都为零、边界的一侧(或两侧)上的样本块是否利用可基于用于照明变化的线性模型的编码模式诸如局部照明补偿(LIC)、边界的一侧(或两侧)上的样本块是否利用交叉分量预测(其可基于线性模型)、边界的一侧(或两侧)上的样本块是否利用针对小于变换的块确定的预测、在边界的一侧(或两侧)上的样本块是否利用其中大块(例如,CU)被划分为子块(例如,子CU)并且针对这些子块推导出运动信息的技术。
在一个示例中,根据本文的技术,当垂直于块边界的当前块的尺寸大于或等于阈值(例如,32)时,在块边界的每一侧上解块更大数量的样本(例如,7),并且当垂直于块边界的当前块的尺寸小于阈值(例如,32)时,在块边界的每一侧上解块更少数量的样本(例如,3)。例如,如果((当前块的宽度>=32并且边缘类型是垂直的)或者(当前块的高度>=32并且边缘类型是水平的)),则在块边界的每一侧上解块更大数量的样本。
在一个示例中,根据本文的技术,当垂直于块边界的块的尺寸大于或等于阈值(例如,32)时,在块边界的侧上解块更大数量的样本(例如,7),并且当垂直于块边界的块的尺寸小于阈值(例如,32)时,在块边界的侧上解块更少数量的样本(例如,3)。例如:如果((一个块的宽度>=32并且边缘类型是垂直的)或者(一个块的高度>=32并且边缘类型是水平的)),则在块边界处解块该块的更大数量的样本。这里,如果垂直边界边缘的左侧的块大小为4(行)×64(列),并且右侧的块大小为4(行)×16(列),则可在左侧与右侧上解块更多数量的样本。
在一个示例中,根据本文的技术,滤波器单元216可被配置为基于以下中的一者或多者来选择用于解块的滤波器参数(包括,例如,系数的数量):正被解块的样本距边界的距离(以样本的数量计)、边界的每一侧上的块大小、边界强度、由边界的每一侧上的块使用的预测模式、正被解块的样本的预测模式(例如,针对靠近参考样本的边界使用较弱的滤波器)、正被解块的样本的QP(例如,针对较大的QP使用较强的滤波器)、对应于正被解块的样本的块大小(例如,针对较大的块大小使用较强的滤波器)、对应于正被用于解块的样本的块大小、针对正被解块的边界的每一侧上的块的运动矢量(例如,如果MV差大于阈值,则不执行任何解块,因为边界的不同侧上的样本可属于不同对象)和/或针对正被解块的样本的运动矢量;针对正被用于解块的样本的运动矢量。应当指出的是,对应于样本的块大小可包括样本所属的CU的块大小、样本所属的TU的块大小或样本所属的PU的块大小。
在一个示例中,根据本文的技术,滤波器单元216可被配置为基于以下中的一者或多者来选择用于解块的滤波器参数(包括,例如,系数的数量):正被解块的边缘的类型(例如,垂直块边缘、水平块边缘)、信道类型(例如,亮度、色度)、对于边界的一侧(或两侧)上的样本块是否所有变换系数都为零、边界的一侧(或两侧)上的样本块是否利用可基于用于照明变化的线性模型的编码模式诸如局部照明补偿(LIC)、边界的一侧(或两侧)上的样本块是否利用交叉分量预测(其可基于线性模型)、边界的一侧(或两侧)上的样本块是否利用针对小于变换的块确定的预测、在边界的一侧(或两侧)上的样本块是否利用其中大块(例如,CU)被划分为子块(例如,子CU)并且针对这些子块推导出运动信息的技术。
在一个示例中,根据本文的技术,滤波器单元216可被配置为基于以下中的一者或多者来选择用于解块的滤波器参数(包括,例如,系数的数量):正被解块的边缘的类型(例如,垂直块边缘、水平块边缘)、信道类型(例如,亮度、色度)、对于边界的一侧(或两侧)上的样本块是否所有变换系数都为零、边界的一侧(或两侧)上的样本块是否利用可基于用于照明变化的线性模型的编码模式诸如局部照明补偿(LIC)、边界的一侧(或两侧)上的样本块是否利用交叉分量预测(其可基于线性模型)、边界的一侧(或两侧)上的样本块是否利用针对小于变换的块确定的预测、在边界的一侧(或两侧)上的样本块是否利用其中大块(例如,CU)被划分为子块(例如,子CU)并且针对这些子块推导出运动信息的技术。
在一个示例中,选择滤波器参数可包括选择较宽较强的滤波。
在一个示例中,根据本文的技术,滤波器单元216可被配置为当垂直于块边界的当前块的尺寸大于或等于阈值(例如,32)时,为两侧选择一组解块滤波器参数(例如,较宽较强的滤波)。例如,如果((当前块的宽度>=32并且边缘类型是垂直的)或者(当前块的高度>=32并且边缘类型是水平的)),则针对块边界的每一侧选择较宽较强的滤波。
在一个示例中,根据本文的技术,滤波器单元216可被配置为基于垂直于块边界的块的尺寸,针对对应侧独立地为块边界的每一侧选择滤波器参数。例如,当垂直于块边界一侧上的块的尺寸大于或等于阈值(例如,32)时,可为该侧选择一组解块滤波器参数(例如,较宽较强的滤波)。例如:如果((一个块的宽度>=32并且边缘类型是垂直的)或者(一个块的高度>=32并且边缘类型是水平的)),则针对块边界的对应于该块的侧选择较宽较强的滤波。
在一个示例中,根据本文的技术,可基于边界的一侧(或两侧)上的块(例如,CU)的所有变换系数是否为零来解块子CU边界。例如,当CU的所有变换系数为零时,解块子CU边界。
在一个示例中,根据本文的技术,可基于边界的一侧(或两侧)上的块的所有变换系数是否为零来解块子块边界。例如,当块的所有变换系数为零时,解块子块边界。
在一个示例中,根据本文的技术,可基于边界的一侧(或两侧)上的块(例如,CU)的所有变换系数是否为零并且量化步长大小较大(例如,QP大于或等于阈值)来解块子CU边界。例如,当CU的所有变换系数为零并且QP大于阈值时,解块子CU边界。
在一个示例中,根据本文的技术,可基于边界的一侧(或两侧)上的块的所有变换系数是否为零并且量化步长大小较大(例如,QP大于或等于阈值)来解块子块边界。例如,当块的所有变换系数为零并且QP大于阈值时,解块子块边界。
在一个示例中,根据本文的技术,当针对边界的一侧(或两侧)上的块使用局部照明补偿(LIC)并且该块的所有变换系数为零时,块边界可被解块。
在一个示例中,根据本文的技术,当将局部照明补偿(LIC)用于块并且该块的所有变换系数为零时,块的所有四个边界(即,左、右、顶、底)块边界可被解块。
在一个示例中,根据本文的技术,当针对边界的一侧(或两侧)上的块使用局部照明补偿(LIC)并且该块的所有变换系数为零且量化步长大小较大(例如,QP大于或等于阈值)时,块边界可被解块。
在一个示例中,根据本文的技术,当将局部照明补偿(LIC)用于块并且该块的所有变换系数为零且量化步长大小较大(例如,QP大于或等于阈值)时,块的所有四个边界(即,左、右、顶、底)块边界可被解块。
在一个示例中,根据本文的技术,当针对边界的一侧(或两侧)上的块使用交叉分量预测并且该块的所有变换系数为零时,块边界可被解块。
在一个示例中,根据本文的技术,当针对边界的一侧(或两侧)上的块使用交叉分量预测并且该块的所有变换系数为零且量化步长大小较大(例如,QP大于或等于阈值)时,块边界可被解块。
在一个示例中,根据本文的技术,滤波器单元216可被配置为根据多个滤波通域来执行解块。在一个示例中,滤波通域可对应于要解块的样本的全部/子集的处理/构建。在给定通域中每个样本的处理/构建的数量可对应于通域索引/顺序。要解块的样本的子集可对应于通域索引/顺序。在一个示例中,每个通域可对应于要被完全解块一次的样本的全部的处理/构建。在这种情况的一个示例中,来自先前迭代的解块样本(以及非解块样本)可用于构建用于当前迭代的解块样本。在这种情况的一个示例中,来自先前迭代和当前迭代的解块样本(以及非解块样本)可用于构建解块样本。在这种情况下,可指定用于构建解块样本的排序。在一个示例中,迭代次数可基于以下中的一者或多者来确定:切片类型;块大小;当前CU及其相邻CU的跳过标记;当前CU及其相邻CU的预测模式(帧内/帧间);要解块的样本位置;是否d<β;和/或上述在JEM中提供的强或弱滤波器确定条件;正被解块的样本距边界的距离(以样本的数量计);边界的每一侧上的块大小;边界强度;由边界的每一侧上的块使用的预测模式;正被解块的样本的预测模式;正被解块的样本的QP;对应于正被解块的样本的块大小;对应于正被用于解块的样本的块大小;边界的每一侧上正被解块的块的运动矢量;针对正被解块的样本的运动矢量;和/或针对正被用于解块的样本的运动矢量。在一个示例中,迭代次数可确定一个或多个滤波器参数。
在一个示例中,具有预先确定的解块支持的N通域解块可表示为:
Figure BDA0002707020760000361
Figure BDA0002707020760000373
其中f_pos()为以下形式的线性变换:
Figure BDA0002707020760000372
其中coeff_pos[]是取决于正被解块的样本的位置pos的值的阵列。应当指出的是,可在先前迭代中使用解块来生成正被使用的每个sampleValue[]。另外,解块支持不会从一个迭代更改到下一个迭代。
执行逐迭代分析提供了:
对于iterldx 0,使用的样本为非解块样本,因此对于每个pos:
temp[pos]=f_pos(解块支持中的通域0处的样本值)
对于iterldx 1,
temp[pos]=f_pos(解块支持中的通域1处的样本值)
由于f_pos()是线性变换并且解块支持不改变,因此上述可被重写为:
对于iterldx 1,
temp[pos]=g_pos(解块支持中的通域0处的样本值)
其中g_pos()是类似于f_pos()的线性变换,该变换取决于位置pos,但系数值不同。
可针对每个迭代递归地执行这种简化,使滤波操作仅取决于迭代0时的原始样本值,从而导致等效的单通。由于在一些情况下使用的有限精度,最终系数值可能是近似的,从而导致多通滤波操作的近似单通表示。
在一个示例中,根据本文的技术,滤波器单元216可被配置为扩展滤波器线和对应的滤波器系数。在一个示例中,要过滤的样本线可在一侧扩展到八条。在一个示例中,对于线0和线1,滤波器系数可以是{1,1,1,1,1,2,2,2,1,1,1,1,1}/16;对于线2和线3,滤波器系数可以是{1,1,1,1,1,1,1,1}/8;并且对于其他线,滤波器系数可以是{1,2,2,2,1}/8,其中线0表示距边界最近的样本线。
应当指出的是,在JEM中,始终使用重构的样本在解块过程中对样本进行滤波。在一个示例中,根据本文的技术,滤波器单元216可被配置为使用由解块产生的经修改的样本值来对其他样本值进行滤波。在一个示例中,当对其他样本值进行滤波时,经修改的样本值可用作输入。在一个示例中,可指定滤波顺序。在一个示例中,滤波顺序可从距边界最远的线到最近的线执行解块。
如上所述,解块样本通常被削波为位于值的范围内。值的范围可基于原始样本值和在比特流中接收的其他参数。在一个示例中,值的范围是[原始样本值-t_c,原始样本值+t_c]。在一个示例中,根据本文的技术,滤波器单元216可被配置为基于以下中的一者或多者来调整削波函数:多通域解块中的最后一轮或多轮中的样本值;QP值;切片类型;当前预测模式(帧内/帧间);当前跳过标记值;要解块的样本的帧内预测模式;要解块的样本的运动矢量;样本位置(例如,不同的样本可使用不同的削波函数);CU位置(例如,不同的CU可使用不同的削波函数);和/或上述任何其他条件。
在一个示例中,根据本文的技术,滤波器单元216可被配置为基于块大小来执行本文所述的滤波技术。例如,本文所述的滤波技术中的一种或多种可应用于边界,其中边界周围的块大小大于阈值。例如,是否执行滤波技术的确定可以如下:(1)检查边界的每一侧上的每组4×4样本(即,由于最小CU大小是4×4亮度样本);(2)如果任一组4×4样本属于大小大于阈值(例如,64)的CU,则将对当前边界执行滤波技术。在一个示例中,根据本文的技术,滤波器单元216可被配置为基于以下中的一者或多者来执行本文所述的滤波技术:切片类型;块形状是否为矩形;其中块形状为正方形;当前CU及其相邻CU的跳过标记;当前CU及其相邻CU的预测模式(帧内/帧间);要解块的样本位置。
在一个示例中,根据本文的技术,滤波器单元216可被配置为如下执行较宽较强的亮度滤波:
首先,如下确定P侧是否利用大块:
bSidePisLargeBlk=((边缘类型是垂直的并且p0属于宽度>=32的块(例如,CU))||(边缘类型是水平的并且p0属于高度>=32的块(例如,CU)))?TRUE:FALSE
接下来,如下确定Q侧是否利用大块:
bSideQisLargeBlk=((边缘类型是垂直的并且q0属于宽度>=32的块(例如,CU))||(边缘类型是水平的并且q0属于高度>=32的块(例如,CU)))?TRUE:FALSE接下来,推导出以下变量:
d0P=bSidePisLargeBlk?XCalDQpLargeBlock(R[0]):XCalDQp(R[0])
d1P-bSidePisLargeBlk?XCalDQpLargeBlock(R[3]):XCalDQp(R[3])
d0Q=bSideQisLargeBlk?XCalDQqLargeBlock(R[0]):XCalDQq(R[0])
dlQ=bSideQLargeBlk?XCalDQqLargeBlock(R[3]):XCalDQq(R[3])
d0L=d0P+d0Q
d3L=d1P+dlQ
dL=d0L+d3L
接下来,如下评估Condition1和Condition2:
Condition1=(dL<β)?TRUE:FALSE
Condition2=(xUseStrongFilteringLargeBlock(R[0],d0L,bSidePisLargeBlk,bSideQisLargeBlk)&&xUseStrongFilteringLargeBlock(R[3],d3L,bSidePisLargeBlk,bSideQisLargeBlk))?TRUE:FALSE
当Condition1、Condition2和bSidePisLargeBlk为TRUE时,则将较宽较强的滤波器应用于边界的P侧(例如,WS00P)。
当Condition1、Condition2和bSideQisLargeBlk为TRUE时,则将较宽较强的滤波器应用于边界的Q侧,(例如,WS00Q)
在一个示例中,可如下修改Condition2:
Condition2=(当边界任一侧上的块利用局部照明补偿并且该块的CBF为0)?TRUE:((xUseStrongFilteringLargeB!ock(R[0],d0L,bSidePisLargeBlk,bSideQisLargeBlk)&&xUseStrongFilteringLargeBlock(R[3],d3L,bSidePisLargeBlk,bSideQisLargeBlk))?TRUE:FALSE)
在一个示例中,根据本文的技术,滤波器单元216可被配置为如下执行色度滤波:
当(边缘类型是垂直的并且p0属于宽度>=32的CU)||(边缘类型是水平的并且p0属于高度>=32的CU)&&(边缘类型是垂直的并且q0属于宽度>=32的CU)||(边缘类型是水平的并且q0属于高度>=32的CU)时,则可使用窄的强滤波器(例如,NS00P和NS00Q),否则可使用窄的弱滤波器(例如,NW00P和NW00Q)。
在一个示例中,根据本文的技术,滤波器单元216可被配置为如下执行色度滤波:
当(p0属于宽度>=32的CU并且p0属于高度>=32的CU)||(q0属于宽度>=32的CU并且q0属于高度>=32的CU)时,则可使用窄的强滤波器(例如,NS00P和NS00Q),否则可使用窄的弱滤波器(例如,NW00P和NW00Q)。
在一个示例中,根据本文的技术,滤波器单元216可被配置为根据图10所示的示例性流程图执行解块滤波。在一个示例中,滤波器单元216可被配置为根据图10中针对亮度样本示出的流程图执行解块滤波。图10示出了可针对当前块(例如,P块或Q块之一)应用以下类型的解块中的一者的示例:宽的较强滤波器、强滤波器、弱滤波器或者不滤波。在一个示例中,应用宽的较强滤波器可包括应用上述的WS00P和WS00Q滤波器。在一个示例中,应用强滤波器可包括应用上述的HEVC_P和HEVC_Q滤波器。在一个示例中,应用弱滤波器可包括在HEVC中应用弱滤波器,如上所述为弱滤波器。如图10所示,在408处应用较宽较强的滤波器,在412处不应用滤波器,在416处应用强滤波器,并且在418处基于以下条件来应用弱滤波器:在402处大块条件是否为真,在404处大块梯度条件是否为真,在406处大块强滤波器条件是否为真,在410处梯度条件是否为真,以及在414处强滤波器条件是否为真。
在一个示例中,大块条件可包括以下是否为真:If((EDGE_VER&&(cur_block_width>=32||adjacent_block_width>=32))||(EDGE_HOR&&(cur_block_height>=32||adjacent_block_height>=32)))
其中
EDGE_VER是垂直边界类型,
EDGE_HOR是水平边界类型,
cur_block_width是例如在亮度样本中的当前块宽度,
cur_block_height是例如在亮度样本中的当前块高度,
adjacent_block_width是例如在亮度样本中的相邻块宽度,并且
adjacent_block_height是例如在亮度样本中的相邻块高度。
在一个示例中,大块梯度条件可包括上述条件1是否为真。在一个示例中,大块强滤波器条件可包括上述示例性Condition!中的一者是否为真。
在一个示例中,梯度条件可包括是否d<β,其中d如下确定:
d0P=XCalDQp(R[0])
d1P=XCalDQp(R[3])
d0Q=XCalDQq(R[0])
dlQ=XCalDQq(R[3])
d0=d0P+d0Q;
d3=d1P+dlQ;
d=d0+d3;
在一个示例中,强滤波器条件可包括以下是否为真:(xUseStrongFilteringLargeBlock(R[0],d0,假,假)&&xUseStrongFilteringLargeBlock(R[3],d3,假,假))?TRUE:FALSE
在一个示例中,根据本文的技术,滤波器单元216可被配置为根据图11所示的示例性流程图执行解块滤波。在一个示例中,滤波器单元216可被配置为根据图11中针对色度样本示出的流程图执行解块滤波。图11示出了可针对当前块(例如,P块或Q块)应用以下类型的解块中的一者的示例:宽的较强滤波器或弱滤波器。在一个示例中,应用宽的较强滤波器可包括应用上述的NS00P和NS00Q滤波器。在一个示例中,应用弱滤波器可包括应用如上所述的NW00P和NW00Q滤波器。如图11所示,在504处应用较宽较强的滤波器,并且在506处基于以下条件来应用弱滤波器:在502处大块条件是否为真。
在一个示例中,大块条件可包括以下是否为真:If((EDGE_VER&&(cur_block_width>=32||adjacent_block_width>=32))||(EDGE_HOR&&(cur_block_height>=32||adjacent_block_height>=32)))
其中
EDGE_VER是垂直边界类型,EDGE_HOR是水平边界类型,cur_block_width是例如在色度样本中的当前块宽度,cur_block_height是例如在色度样本中的当前块高度,adjacent_block_width是例如在色度样本中的相邻块宽度,adjacent_block_height是例如在色度样本中的相邻块高度。
在一个示例中,滤波器单元216可被配置为基于以下条件集对P块或Q块的色度样本执行解块滤波:如果((EDGE_VER&&(cur_Q_block_width>=TH_w))||(EDGE_HOR&&(cur_Q_block_height>=TH_h))为TRUE,则对Q个样本应用NS00Q。否则,对Q个样本应用弱滤波器(例如,NW00Q Q侧滤波器)。
如果((EDGE_VER&&(cur_P_block_width>=TH_w))||(EDGE_HOR&&(cur_P_block_height>=TH_h))为TRUE,则对P个样本应用NS00P。否则,对P个样本应用弱滤波器(例如,NW00P P侧滤波器)。
其中
EDGE_VER是垂直边界类型,
EDGE_HOR是水平边界类型,
cur_Q_block_width是例如在色度样本中的当前Q块宽度,
cur_Q_block_height是例如在色度样本中的当前Q块高度,
cur_P_block_width是例如在色度样本中的当前P块宽度,
cur_P_block_height是例如在色度样本中的当前P块高度,
TH_w是宽度阈值(例如,32个样本),并且
TH_h是高度阈值(例如,32个样本)。
应当指出的是,阈值(例如,TH_w和/或TH_h)在一些示例中可包括预定义值(例如,16或32),在一些示例中可在参数集中发信号通知,在一些示例中可在切片标头中发信号通知,并且在一些示例中可为视频的当前部分中的CTU大小。
参考图11,在一个示例中,大块条件可用亮度滤波器条件代替。也就是说,例如,如果将强滤波器应用于亮度块,则可在504处将宽的较强滤波器应用于并置的色度块,否则可在506处将弱滤波器应用于并置的色度块。
在一个示例中,根据本文的技术,滤波器单元216可被配置为根据图12所示的示例性流程图执行解块滤波。在一个示例中,滤波器单元216可被配置为根据图12中针对色度样本示出的流程图执行解块滤波。图12示出了可针对当前块(例如,P块或Q块)应用以下类型的解块中的一者的示例:宽的较强滤波器或弱滤波器。在一个示例中,应用宽的较强滤波器可包括应用上述的NS00P和NSOOQ滤波器。在一个示例中,应用弱滤波器可包括应用如上所述的NW00P和NW00Q滤波器。如图12所示,在608处应用较宽较强的滤波器,并且在606处基于以下条件来应用弱滤波器:在602处大块条件是否为真并且在604处大块强滤波器条件是否为真。
在一个示例中,大块条件可包括以下是否为真:If((EDGE_VER&&(cur_block_width>=TH_w&&adjacent_block_width>=TH_w))||(EDGE_HOR&&(cur_block_height>=TH_h||adjacent_block_height>=TH_h)))
其中
EDGE_VER是垂直边界类型,
EDGE_HOR是水平边界类型,
cur_block_width是例如在色度样本中的当前块宽度,
cur_block_height是例如在色度样本中的当前块高度,
adjacent_block_width是例如在色度样本中的相邻块宽度,并且
adjacent_block_height是例如在色度样本中的相邻块高度
TH_w是宽度阈值(例如,32个样本),并且
TH_h是高度阈值(例如,32个样本)。
应当指出的是,阈值(例如,TH_w和/或TH_h)在一些示例中可包括预定义值(例如,16或32),在一些示例中可在参数集中发信号通知,在一些示例中可在切片标头中发信号通知,并且在一些示例中可为视频的当前部分中的CTU大小。在一个示例中,阈值大于4。
在一个示例中,较宽的强滤波器条件可包括第一条件和第二条件是否均为真。也就是说,当第一条件和第二条件均为真时,强滤波器条件可为真。在一个示例中,当d<β时,第一条件可为真,其中d如下确定:
dp0=xCalcDP(Rc[0]);
dq0=xCalcDQ(Rc[0]));
dp1=xCalcDP(Rc[l]);
dql=xCalcDQ(Rc[l]);
d0=dp0+dq0;
dl=dp1+dql;
d=d0+dl。
其中,
RC[N]对应于垂直于正被解块的边缘并且与正被解块的当前色度段的顶部相距距离N的色度线;并且
在一个示例中,当对于Rc[0]和Rc[1],((abs(p3–p0)+abs(q3-q0)<(β>3))&&(d<(β>>2))&&(abs(q0-p0)<((tC*5+1)>>1)))为真时,第二条件为真。
在一个示例中,当对于Rc[0],((abs(p3–p0)+abs(q3-q0)<(β>3))&&(d<(β>>2))&&(abs(q0-p0)<((tC*5+1)>>1)))为真时,第二条件为真。
应当指出的是,在一个示例中,边缘被解块为段,其中段长度可以是允许用于CU/TU/PU/子PU的最小尺寸的函数。此外,当2×N个和N×2个CU是色度通道中允许的最短和最薄的块时,则色度段长度可以是2。
应当指出的是,根据上面的色度滤波,垂直于正被解块的边缘的两条线被处理为基本段。在一个示例中,四条线可被处理为基本段。在一个示例中,当四条线被处理为基本段时,当d<β时第一条件可为真,其中d如下确定:
dp0=xCalcDP(Rc[0]);
dq0=xCalcDQ(Rc[0]));
dp3=xCalcDP(Rc[3]);
dq3=xCalcDQ(Rc[3]);
d0=dp0+dq0;
d3=dp3+dq3;
d=d0+d1。
此外,在一个示例中,当四条线被处理为基本段时,当对于Rc[0]和Rc[3],((abs(p3–p0)+abs(q3-q0)<(β>3))&&(d<(β>>2))&&(abs(q0-p0)<((tC*5+1)>>1)))为真时,第二条件为真。
如上所述,在ITU-T H.265中,与不与切片边界和图块边界重合的CTU边界相比,解块滤波器可以不同方式应用于与切片边界和图块边界重合的CTU边界。具体地讲,在ITU-TH.265中,slice_loop_filter_across_slices_enabled_flag启用/禁用跨与顶部切片边界和左侧切片边界重合的CTU边界的解块滤波器。在一个示例中,根据本文的技术,当解块滤波器的支持样本超过边界(例如,图片/切片/图块)时,可能不允许使用支持样本的解块滤波器。在一个示例中,根据本文的技术,当解块滤波器的支持样本超过边界(例如,图片/切片/图块)并且跨边界(例如,切片)使用样本值被禁用时,可使用填充操作来生成支持样本值。例如,可使用数字标量、循环、复制或对称填充中的一者来生成支持样本,其中数字标量填充操作根据恒定值填充,循环填充操作填充有样本值的循环重复,复制填充操作通过重复边界样本值填充,并且对称填充操作填充有样本值的镜面反射。
如上所述,在ITU-T H.265中,基于值tC削波了滤波值。具体地讲,对于上述ITU-TH.265中的强滤波器,pi’值被削波为(pi-2*tC,pi+2*tC)并且qi’值被削波为(qi-2*tC,qi+2*tC)。如上所述,在ITU-T H.265中,tC’(并且因此,tC的值)是基于索引Q来确定,该索引Q是基于qPL来确定,其等于:(QPQ+QPP+1)/2。在视频编码的一些情况下(例如,提出的用于对高动态范围(HDR)视频进行编码的技术),QP的值可在CU级或CTU级进行改变。在这些情况下,在ITU-T H.265中基于索引Q提供的削波操作的范围可能是不充分的。在一个示例中,根据本文的技术,可为P侧样本和Q侧样本确定不同的tC’值。也就是说,P侧tC’值、tCP’和对应的P侧tC值、tCp可用于削波pi’值和Q侧tC’值、tCQ’、和对应Q侧tC值、tCQ可用于削波qi’值。在一个示例中,相应P侧索引Q Qp和Q侧索引Q Qq可通过在上述Q索引公式中用QPP和QPQ的相应值代替qPL来确定。因此,根据本文的技术,pi’值可被削波为(pi-2*tCP,pi+2*tCP)并且qi’值可被削波为(qi-2*tCQ,qi+2*tCQ)。应当指出的是,pi'值和qi’值可包括根据本文所述的任何滤波器生成的滤波值。因此,用于基于相应tCP和tCQ削波pi’值和qi’值的技术可适用于本文所述的任何滤波器。
应当指出的是,在一些情况下,视频块(例如,CU)可包括内部TU边界,并且分块伪像可出现在视频块内。在一些情况下,当视频块具有大于64的尺寸时,可禁用内部TU边界的解块。在一个示例中,根据本文的技术,即使在视频块具有大于64的尺寸的情况下,也可沿着视频块边界并且还沿着任何内部TU边界执行解块。
参见图5A至图5B,在一些情况下,P块或Q块可包括多个对象。例如,参见图5A,在一个示例中,列p7至p3可对应于第一对象,列p2至p0可对应于第二对象,列q0至q7可对应于第三对象。在这种情况下,当使用一个或多个列p3和q0至q3中的样本作为支持样本来滤波列p2至p0中的样本时,列p2至p0中得到的经滤波样本值可能看起来模糊。此外,在一些情况下,解块可导致主样本值的拖尾和/或引入其他视觉伪像。
如上所述,可基于以下等式指定具有支持样本的对应解块样本值y[n]:
Figure BDA0002707020760000461
其中,
滤波器长度确定为abs(a-b+l);
coeff[m]提供滤波器抽头值(也称为滤波器系数);
x[n+m]提供对应于支持样本的输入样本值。
在一个示例中,根据本文的技术,为了避免由被包括在经滤波样本和支持样本中的不同对象引起的模糊或伪像,可将一个或多个削波操作应用于项x[n+m]。在一个示例中,项x[n+m]可用Clip3(x[n]-2*tC,x[n]+2*tC,x[n+m])代替。
在一个示例中,如果abs(x[n+m]-x[n])大于阈值,则可修改项x[n+m],使得支持样本x[n+m]被排除在总和之外。应当指出的是,在coeff[m]对应于平均分布(即,coeff[m]=1/滤波器长度,其中滤波器长度等于(abs(a-b+1))的情况下,coeff[m]被计算为1/(滤波器长度排除样本)。应当指出的是,在coeff[m]对应于高斯分布的情况下(即,
Figure BDA0002707020760000462
,其中滤波器长度等于abs(a-b+1))。在一个示例中,可修改项x[n+m],使得对于每个支持样本x[n+m](其中满足abs(x[n+m]-x[n])大于阈值),支持样本x[n+m]的值被x[n]的值代替。应当指出的是,阈值可基于以下一者或多者的组合:预定义值(例如,2或4)、在参数集中发信号通知的值、在切片标头中发信号通知的值、基于QP值(例如,当前样本和/或支持样本的QP值)的值和/或基于预测信息(例如,当前样本和/或支持样本的帧内预测模式和/或运动信息)的值。
在一个示例中,可在相对于边界的不同样本位置处应用不同的滤波器。例如,可使用强滤波器对靠近边界的样本进行滤波,并且可使用弱滤波器对远离边界的样本进行滤波。例如,列p0至p1中的样本可根据强滤波器进行滤波,并且列p2至p4中的样本可根据弱滤波器进行滤波。在一个示例中,对于色度解块(或亮度解块),可使用阈值(例如,2、3、4),使得如果当前样本和最靠近边界的样本之间的位置距离小于阈值,则将应用强滤波器。在一个示例中,阈值可基于以下中的一者或多者:边界的每一侧(一侧或两侧)上的块大小;边界强度;由边界的每一侧上的块使用的预测模式;正被解块的样本的预测模式;正被解块的样本的QP;对应于正被解块的样本的块大小;对应于正被用于解块的样本的块大小;边界的每一侧上正被解块的块的运动矢量;针对正被解块的样本的运动矢量;和/或针对正被用于解块的样本的运动矢量。
应当指出的是,在视频编码的一些情况下,对应于CU的亮度变换系数(例如,在量化之后)可以是0,并且CU可被分成用于运动补偿的子PU(例如,ATMVP)。在这种情况下,根据本文的技术,在一些示例中,亮度解块可沿着子PU边界并且进一步沿着CU边界执行。
应当指出的是,在视频编码的一些情况下,对应于CU的色度变换系数(例如,在量化之后)可以是0,并且CU可被分成用于运动补偿的子PU(例如,ATMVP)。在这种情况下,根据本文的技术,在一些示例中,色度解块可沿着子PU边界并且进一步沿着CU边界执行。
如上所述,在ITU-T H.265中,对于亮度,Bs、tC、β和d中的每一者均用于确定应用哪种类型的滤波器(例如,强滤波器或弱滤波器)。具体地讲,如果d小于β,则如下确定变量dStrong:
d_strong=abs(p3-p0)+abs(q0-q3)
如下基于d_strong的值确定是应用强滤波器还是弱滤波器:
-如果((d_strong<(β>>3))&&(d<(β>>2))&&(abs(p0_q0)<than(5*tC+1)>>1),
-应用强滤波器;
-否则,
-应用弱滤波器。
在一个示例中,根据本文的技术,dStrong可如下确定:
d_strong=(bSidePisLarge?max(abs(p0-p7),max(abs(p3-p0),abs(p7-p3))):abs(p3-p0))+(bSideQisLarge?Max(abs(q0-q7),max(abs(q3-q0),abs(q7-q3))):abs(q3-q0));
关于JEM中的解块滤波器具体实施,当以下条件之一有效时,不能并行地执行亮度解块,如下所示。也就是说,例如,解块可不在块的左垂直边界和右垂直边界上或者在块的顶部水平边界和底部水平边界上并行地执行。也就是说,解块不能并行地在两个块边界上执行,因为一个边界的滤波过程可能涉及由另一个边界的滤波过程解块的样本。因此,块的中心处的样本可被每个对应边缘处的两个解块滤波器覆盖。
如果(Cur_EDGE_VER&&cur_block_width==4),则不会并行地解块当前块垂直边界;
如果(Cur_EDGE_VER&&adjacent_block_width==4),则不会并行地解块相邻块垂直边界;
如果(Cur_EDGE_HOR&&cur_block_height==4),则不会并行地解块当前块水平边界;
如果(Cur_EDGE_HOR&&adjacent_block_width==4),则不会并行地解块相邻块水平边界;
其中,
Cur_EDGE_VER是当前垂直边界,Cur_EDGE_HOR是当前水平边界,cur_block_width是例如在亮度样本中的当前块宽度,cur_block_height是例如在亮度样本中的当前块高度,adjacent_block_width是例如在亮度样本中的相邻块宽度,adjacent_block_height是例如在亮度样本中的相邻块高度。
在一个示例中,根据本文的技术,对于上述条件中的每一个,可如下对边界处的亮度样本执行解块:
如果(Cur_EDGE_VER&&cur_block_width==4&&adjacent_block_width>4),则对于Cur_EDGE_VER仅对相邻块样本执行解块;
如果(Cur_EDGE_VER&&cur_block_width==4&&adjacent_block_width==4),则对于Cur_EDGE_VER不执行解块;
如果(Cur_EDGE_VER&&cur_block_width>4&&adjacent_block_width==4),则对于Cur_EDGE_VER仅对当前块样本执行解块;
如果(Cur_EDGE_VER&&cur_block_width>4&&adjacent_block_width>4),则对于Cur_EDGE_VER对当前块样本和相邻块样本执行解块;
如果(Cur_EDGE_HOR&&cur_block_height==4&&adjacent_block_height>4),则对于Cur_EDGE_HOR仅对相邻块样本执行解块;
如果(Cur_EDGE_HOR&&cur_block_height==4&&adjacent_block_height==4),则Cur_EDGE_HOR不执行解块;
如果(Cur_EDGE_HOR&&cur_block_height>4&&adjacent_block_height==4),则对于Cur_EDGE_HOR仅对当前块样本执行解块;
如果(Cur_EDGE_HOR&&cur_block_height>4&&adjacent_block_height>4),则对于Cur_EDGE_HOR对当前块样本和相邻块样本执行解块。
以类似于上文所述的方式,对于色度解块,当相应的cur_block_height、adjacent_block_height、cur_block_width、adjacent_block_width等于阈值2时,发生并行解块受限的情况。因此,根据本文的技术,对于色度样本,可如上所述执行解块,其中在条件语句中阈值4被阈值2代替。
在一个示例中,根据本文的技术,不是针对尺寸小于或等于阈值的块在边缘上执行解块,而是可将较窄的滤波器应用于边缘处的样本。例如,在(Cur_EDGE_VER&&cur_block_width==4&&adjacent_block_width>4)的情况下,解块可如下进行:
对于Cur_EDGE_VER,根据滤波器宽度对相邻块样本执行解块,并在针对当前块的Cur_EDGE_VER处对样本的一个相邻列执行解块。
以类似的方式,对于上述每种情况,可将较窄的滤波器应用于边缘处的样本。因此,一般来讲,根据本文的技术,视频编码器(和/或视频解码器)可被配置为确定并行解块何时例如由于重叠解块滤波器(例如,滤波器宽度大于块的宽度(或高度)的一半)而受到限制,并且修改原本将被解块的样本。应当指出的是,在一些情况下,可基于用于解块支持的样本来限制并行解块。根据本文的技术,视频编码器(和/或视频解码器)可被配置为确定并行解块何时被限制为可用于对多个解块滤波器进行解块支持的块中的样本。
如上所述,对于F4P P侧滤波器,计算之一包括:
p0’=(p7+p6+p5+p4+p3+p2+p1+2*p0+q0+q1+q2+q3+q4+q5+q6+8>>4
应当指出的是,如果q侧的大小是8,并且与当前边缘相对的边缘利用强HEVC滤波器,则样本q5和q6可通过针对相对侧的强HEVC解块操作来修改。不能对彼此平行的解块边缘进行并行处理。在一个示例中,为了防止这种情况发生,只有当q侧长度(垂直于边缘)大于或等于16时,p侧才应使用长滤波器(即,较强滤波器)。以下列方式之一检查该条件(例如,LargeBlk条件):
LargeBlk条件:(边缘的两侧垂直于边缘的长度均>=16)?
TRUE:FALSE;
LargeBlk条件:(边缘的两侧垂直于边缘的长度均>=32)?
TRUE:FALSE;
OR
LargeBlk条件:(边缘的大块侧垂直于边缘的长度>=32AND边缘的其他块侧垂直于边缘的长度>=16)?TRUE:FALSE。需注意,当两个块大小长度相同时,则我们将要求两者均>=32。较宽较强的滤波器仅用于长度>=32的侧。
在一个示例中,根据本文的技术,一组解块滤波器可利用双线性运算。在一个示例中,对于i=0至S-1,块边界样本pi和qi如下由线性插值代替
pi'=(fi*Middles,t+(64-fi)*Ps+32)>>6),削波为pi.±tC
qi’=(gi*Middles,t+(64-gi)*Qt+32)>>6),削波为qi±tC
在一个示例中,可如表1中提供的那样确定fi、Middles,t、Ps、gi和Qt
Figure BDA0002707020760000511
表1
参考表1,应当指出的是,对于7,5、7,3、5,3、5,7和3,7,针对Middle的pi和qi的权重不相同,并且通过添加另外的项从7,7中推导出。
在一个示例中,根据本文的技术,如果任一侧大于或等于32,则一组解块滤波器可利用双线性运算。
在一个示例中,根据所述技术,当任一侧大于或等于32时,可如表2中所提供的那样执行双线性解块。
P侧 Q侧 s,t
>=32 >=32 7,7
>=32 <32 7,3
<32 >=32 3,7
表2
在一个示例中,根据所述技术,当任一侧大于或等于32时,可如表3中所提供的那样执行双线性解块。
P侧 Q侧 s,t
>=32 >=32 7,7
>=32 <32 7,5
<32 >=32 5,7
表3
在一个示例中,根据所述技术,当任一侧大于或等于32时,可如表4中所提供的那样执行双线性解块。
P侧 Q侧 s,t
>=32 >=32 5,5
>=32 <32 5,3
<32 >=32 3,5
表4
在一个示例中,根据所述技术,当任一侧大于或等于32时,可如表5中所提供的那样执行双线性解块。
P侧 Q侧 s,t
>=32 >=32 7,7
>=32 <32 7,3
<32 >=32 3,7
<32 <32 3,3
表5
在一个示例中,根据所述技术,当任一侧大于或等于32时,可如表6中所提供的那样执行双线性解块。
P侧 Q侧 s,t
>=32 >=32 7,7
>=32 <32 7,5
<32 >=32 5,7
<32 <32 5,5
表6
在一个示例中,根据所述技术,当任一侧大于或等于32时,可如表7中所提供的那样执行双线性解块。
P侧 Q侧 s,t
>=32 >=32 5,5
>=32 <32 5,3
<32 >=32 3,5
<32 <32 3,3
表7
在一个示例中,根据本文的技术,如果任一侧大于或等于16,则一组解块滤波器可利用双线性运算。在这种情况下,在表2-7中,32可被16代替。在表5、表6和表7的一个示例中,行中P侧长度不等于Q侧长度的最后一列(s,t)可利用(3,3)、(5,5)、(3,3)相应滤波。在一个示例中,一组解块滤波器是否利用双线性操作可另外以强滤波器条件是否为真为条件。例如,上述强滤波器条件中的任一个。在一个示例中,一组解块滤波器是否利用双线性操作可另外以如下为条件:
变量dpq0、dpq3、dp、dq和d如下推导:
dp0=abs(p2,0–2*p1,0+p0,0)
dp3=abs(p2,3–2*p1,3+p0,3)
dq0=abs(q2,0–2*q1,0+q0.0)
dq3=abs(q2,3–2*q1,3+q0,3)
然后,
如果(p侧大于或等于16)
dp0=(dp0+abs(p5,0-2*p4,0+p3.0)+1)>>1
dp3=(dp3+abs(p5,3-2*p4,3+p3,3)+1)>>1
如果(q侧大于或等于16)
dq0=(dq0+Abs(q5,0-2*q4,0+q3,0)+1)>>1
dq3=(dq3+Abs(q5,3-2*q4,3+q3,3)+1)>>1
dpq0=dp0+dq0
dpq3=dp3+dq3
dp=dp0+dp3
dq=dq0+dq3
d=dpq0+dpq3
当d小于β时,应用以下有序步骤:
变量dpq被设置为等于2*dpq0。
sp3=abs(p3–p0)
如果(p侧大于或等于16)
sp3=(sp3+abs(p7—p3)+1)>>1
sq3=abs(q3–q0)
如果(q侧大于或等于16)
sq3=(sq3+abs(q7–q3)+1)>>1
StrongFilterCondition=(dpq小于(β>>2),sp3+sq3小于(β>>3),并且abs(p0–q0)小于(5*tC+1)>>1)?TRUE:FALSE
需注意,在一些示例中:亮度和色度的控制参数值(例如,β、tC等)可不相同并且使用不同的语法元素集发信号通知;色度的控制参数值可从亮度的控制参数值推导出;解块可仅在与8×8(亮度)和4×4(色度)边界对准的子PU边缘上执行;当前块的边缘的解块可基于线性模型(LM)色度的使用;当前块的边缘的解块可基于单独的划分树的使用;当前块的边缘的解块可基于脉冲编码调制(PCM)的使用;并且/或者当前块的边缘的解块可基于变换量化旁路模式的使用。应当指出的是,PCM是样本块的无损编码模式。在PCM编码的示例中,样本由预定义数量的比特直接表示。用于PCM的比特深度可在参数集中发信号通知。
关于基于LM色度的使用对当前块的边缘进行解块和/或当前块的边缘的解块可基于单独的划分树的使用,在一个示例中,当LM色度用于色度块并且/或者单独的树用于亮度和色度并且/或者所接收的变换系数为零时,可对当前块的边缘执行解块。关于在一个示例中,对于单独的树,可仅对与4×4色度网格重合的色度边缘(例如,TU边缘、PU边缘、子PU边缘、CU边缘)执行解块。
在一个示例中,当大块条件不为TRUE并且强滤波器条件为TRUE时,则NS00P和NS00Q用于解块边缘。
在一个示例中,当大块条件不为TRUE并且强滤波器条件为TRUE时,则(s,t)=3,3滤波器用于解块边缘。
应当指出的是,在一些情况下,解块边界可包括水平CTU边界。例如,参见图5B,在一些情况下,样本py,x可被包括在CTU中,该CTU在包括样本qy,x的CTU上方。为了对当前CTU中的顶线进行编码,典型的视频编码器具体实施在当前CTU上方的CTU的底线中存储N行样本。例如,在图5B中的解块边界是CTU边界的情况下,视频编码器存储用于执行线qx,0的帧内预测编码的值px,0。CTU线缓冲器是指当前CTU上方的样本值的线,这些线被存储用于对当前CTU进行编码。随着CTU线缓冲器中包括的线的数量增加,视频编码器具体实施的存储成本增加。应当指出的是,在一些情况下,还存储对应于样本值的数据(例如,预测模式(以及相关联的信息,例如帧内预测模式、双向预测/单向预测、运动矢量、参考索引等)、块大小、系数编码标记等)。因此,为了避免增加具体实施成本,希望避免仅出于执行解块的目的而增加CTU线缓冲器中包括的线的数量。例如,如果所提出的视频编码标准的所有编码特征需要CTU线缓冲器来存储四条线的样本值,则需要增加CTU线缓冲器以存储七条线的样本值的解块滤波器将增加实现成本。
如上所述,JEM将由JVET在协调测试模型研究下的编码特征描述为潜在增强视频编码技术,超出了ITU-T H.265的能力。此外,响应于由VCEG和MPEG联合发布的“Joint Callfor Proposals on Video Compression with Capabilities beyond HEVC”,在2018年4月16日至20日于加利福尼亚州圣地亚哥(San Diego,CA)举行的ISO/IEC JTC1/SC29/WG11第10次会议上,各个小组提出了对视频编码的多种描述。
作为视频编码的多种描述的结果,视频编码规范的草稿文本在2018年4月16日至20日于加利福尼亚州圣地亚哥举行的ISO/IEC JTC1/SC29/WG11第10次会议中的“Versatile Video Coding(Draft 1)”即文档JVET-J1001-v2中有所描述,该文档以引用方式并入本文并且被称为JVET-J1001。2018年7月10日至18日在斯洛文尼亚的卢布尔雅那(Ljubljana,SI)举行的ISO/IEC JTC1/SC29/WG11第11次会议中的“Versatile VideoCoding(Draft 2)”即文档JVET-K1001-v4,该文档以引用方式并入本文并且被称为JVET-K1001,是JVET-J1001的更新。JVET-J1001和JVET-K1001的每一者中提出的技术正使用测试模型(VTM)和基准集(BMS)来实施和评估。BMS中的现有解块滤波器修改垂直于边缘的最多三个样本。
2018年7月10日至18日在斯洛文尼亚的卢布尔雅那举行的ISO/IEC JTC1/SC29/WG11第11次会议中的“CE2-related:Longer Tap Deblocking Filter”即文档JVET-K0369-r3(在本文中被称为JVET-K0369)描述了修改垂直于被解块边缘的最多七个样本的解块滤波器。此外,为了限制CTU线缓冲器大小,JVET-K0369中描述的滤波器限制与CTU边界重叠的水平边缘的滤波操作。具体地讲,JVET-K0369描述了一种解块滤波器,该解块滤波器根据表8A修改样本值,并且为与CTU边界重叠的水平边缘提供了如表8B所示修改解块滤波器的位置。
Figure BDA0002707020760000571
表8A
Figure BDA0002707020760000581
表8B
应当指出的是,在JVET-K0369中为与CTU边界重叠的水平边缘提供了修改解块滤波器不会降低色度样本值的线缓冲器要求。此外,如表8B所示,除了将p7至p4的滤波器系数“归零”之外,p3至q7的滤波器系数值也改变。因此,JVET-K0369需要存储用于滤波CTU边界的附加滤波器组,这需要用于存储系数的附加存储器。
在一个示例中,根据本文的技术,可限制长抽头滤波器的使用,这可包括修改和/或具有滤波器支持的滤波器,该滤波器支持包括从px,0至px,i的至少三条或更多条线。在一个示例中,对于亮度和/或色度解块,如果满足以下条件(EDGE_TYPE为EDGE_HOR&&当前边界与CTU边界对准),则长抽头滤波器不应用于P侧,其中EDGE_TYPE为EDGE_HOR,指示当前边界为水平边界。在一个示例中,对于亮度和/或色度解块,如果满足以下条件(EDGE_TYPE是EDGE_HOR&&curPos.y%亮度样本中的CTUSize==0),则长抽头滤波器不应用于P,其中curPos.y是要解块的当前块的垂直亮度位置。在一个示例中,对于亮度和/或色度解块,如果满足以下条件(EDGE_TYPE是EDGE_HOR&&curPosC.y%色度样本中的CTUSize==0),则长抽头滤波器不应用于P,其中curPosC.y是要解块的当前块的垂直色度位置。在一个示例中,对于亮度和/或色度解块,如果满足以下条件(EDGE_TYPE为EDGE_HOR&&当前边界与CTU边界对准),则长抽头滤波器不应用于Q侧和P侧。在一个示例中,对于亮度和/或色度解块,如果满足以下条件(EDGE_TYPE是EDGE_HOR&&curPos.y%亮度样本中的CTUSize==0),则长抽头滤波器不应用于Q侧和P侧。在一个示例中,对于亮度和/或色度解块,如果满足以下条件(EDGE_TYPE是EDGE_HOR&&curPosC.y%色度样本中的CTUSize==0),则长抽头滤波器不应用于Q侧和P侧。在一个示例中,当不应用长抽头滤波器时,则应用修改较少样本和/或包括利用从px,0至px,i的较少线(例如,一条、两条或三条线)的滤波器支持的另一滤波器。例如,本文所述的弱滤波器或强滤波器可应用于不允许应用长抽头滤波器的情况。应当注意,如在ITU-T H.265中所提供的,%操作数是对操作数取模,它提供x除以y的余数。
在一个示例中,当不应用长抽头滤波器时,超过目标线缓冲器阈值(例如,三或四)的样本值可能不可用,并且预先确定的值可用于对应的样本位置。表9示出了一个示例,其中长抽头滤波器包括上文相对于表8A所述的长抽头滤波器,并且目标线缓冲器阈值为四。因此,p4至p7的样本值是不可用的。如表9所示,未对p4至p7的值进行修改以用于解块。此外,如表9所示,将p4至p7的滤波器系数表示为NA,这表示在线缓冲器中p4至p7的每一个的样本值不可用。在一个示例中,对于每个p4至p7,样本值可被设置为p3的样本值,并且表8A中的滤波器系数可用于推导出p3'至q2'的经修改的样本值。
Figure BDA0002707020760000601
表9
此外,在一个示例中,从可用的样本值推导出的值可用于对应的样本位置。在一个示例中,对于每个p4至p7,样本值可被设置为p3和p2的平均样本值,并且表8A中的滤波器系数可用于推导出p3'至q2'的经修改的样本值。
在一个示例中,当不应用长抽头滤波器时,滤波过程可基于正被解块的样本的位置(例如,基于样本值是高于CTU水平边界还是在CTU水平边界的特定距离内)来修改,并且可选择不访问/解块超过目标线缓冲器阈值的样本的对应滤波器。例如,关于表9中所示的示例,对于p3'和p2',可通过推导出p4至p7的样本值来应用不同的规则。
在一个示例中,当不应用长抽头滤波器时,控制过程可基于正被解块的样本的位置来修改,并且可选择不访问/解块超过目标线缓冲器阈值的样本的对应滤波器。例如,可选择表1中亮度的(s=3,t=7)滤波器、表1中亮度的(s=3,t=5)滤波器、亮度的F1P滤波器和/或色度的色度弱滤波器。
在一个示例中,当不应用长抽头滤波器时,可改变解块网格,使得超过目标线缓冲器阈值的样本不被访问/解块。例如,解块网格可被移动,使得水平边缘在水平CTU边缘下方的距离4处。
如上所述,在ITU-T H.265中,基于用于对包括视频块P和Q(其可被称为QPP和QPQ)的CB进行编码的QP值,确定变量tC’和β’。上文描述了亮度通道的索引Q的推导。对于色度信道,ITU-T H.265规定,如果色度等于4:2:0,则如下基于指数qPi,如图13所示的表中指定的那样确定变量QpC:
qPi=((QpQ+Qpp+1)>>1)+cQpPicOffset
其中,
cQpPicOffset是指定图片级色度量化参数偏移的变量,并且
对于Cb,cQpPicOffset=pps_cb_qp_offset,并且
对于Cr,cQpPicOffset=pps_cr_qp_offset
应当指出的是,在ITU-T H.265中,如果色度格式等于4:2:2或4:4:4,则QpC被设置为等于Min(qPi,51)。
对于色度,使用图6所示的表确定tC’,并且如下针对tC’确定索引Q:
Q=Clip3(0,53,Qpc+2*+(slice_tc_offset_div2<<1))
JVET-J1001和JVET-K1001的每一者中提出的技术提供了其中单独的划分树可用于划分亮度和色度通道的情况。在使用单独的划分树来划分亮度和色度通道的情况下,增加色度通道的QP值相可对于亮度通道的QP值变化的量可能是有用的。也就是说,例如,可增加色度通道的每个分量的相应QP偏移值,该偏移值可在切片级上发信号通知。应当指出的是,ITU-H.265提供了以下色度通道QP偏移语法元素:pps_cb_qp_offset和pps_cr_qp_offset指定分别用于推导出Qp'Cb和Qp'Cr的亮度量化参数Qp'Y的偏移。pps_cb_qp_offset和pps_cr_qp_offset的值应在-12至+12(包括端值)的范围内。当ChromaArrayType等于0时,在解码过程中不使用pps_cb_qp_offset和pps_cr_qp_offset,并且解码器应忽略其值。
当确定Qp'Cb量化参数的值时,slice_cb_qp_offset指定要添加到pps_cb_qp_offset的值的差值。slice_cb_qp_offset的值应在-12至+12(包括端值)的范围内。当不存在slice_cb_qp_offset时,推断其等于0。pps_cb_qp_offset+slice_cb_qp_offset的值应在-12至+12(包括端值)的范围内。
当确定Qp'Cr量化参数的值时,slice_cr_qp_offset指定要添加到pps_cr_qp_offset的值的差值。slice_cr_qp_offset的值应在-12至+12(包括端值)的范围内。当不存在slice_cr_qp_offset时,推断其等于0。pps_cr_qp_offset+slice_cr_qp_offset的值应在-12至+12(包括端值)的范围内。
在解块参数基于QP值的情况下,对色度QP值的推导的改变可影响色度通道解块。根据本文的技术,可修改基于QP值的解块参数的推导,例如,在可使用单独的划分树来划分亮度通道和色度通道的情况下。
在一个示例中,根据本文的技术,cQpPicOffset可如下推导:
对于Cb,cQpPicOffset=pps_cb_qp_offset+slice_cb_qp_offset,并且
对于Cr,cQpPicOffset=pps_cr_qp_offset+slice_cr_qp_offset
在一个示例中,可(例如,在调色板模式编码期间)发信号通知CU级色度QP偏移值。用于解块的色度QP推导可利用CU级色度QP偏移。例如,如果变量CuQpOffsetCb和CuQpOffsetCr表示Cb和Cr偏移,则色度QP偏移可被推导为:
对于Cb,cQpPicOffset=pps_cb_qp_offset+slice_cb_qp_offset+CuQpOffsetcb
对于Cr,cQpPicOffset=pps_cr_qp_offset+slice_cr_qp_offset+CuQpOffsetcr
在一些情况下,附加亮度和色度QP偏移值可用于经历一种类型的处理(例如,自适应颜色变换)的块。这些QP偏移可用于推导出亮度和色度的QP。因此,解块过程可取决于附加亮度和色度QP偏移。
在一些示例中,当使用单独的划分树来划分亮度通道和色度通道时,可基于划分树类型计算色度QP值。例如,在一个示例中,色度QP值可如下确定:
qPi=((Qpblk_Q+Qpblk_P+1)>>1)+cQpPicOffset
其中,Qpblk_P、Qpblk_Q是分别对应于P侧上的色度块和Q侧上的色度块的亮度量化参数。
在一个示例中,Qpblk_P和/或Qpblk_Q可从以下一者或多者的组合中推导出:多个对应亮度块的QP值;
对应于色度块的亮度块的样本数量;对应于预先确定的色度位置的亮度QP值。在一些示例中,Qpblk_P和/或Qpblk_Q可使用函数推导,例如具有取整函数的整数平均、最大值函数。应当指出的是,有可能具有对应于色度块的部分亮度块。图14A至图14B示出了对应于色度块P和Q的可能亮度划分的示例,其中每个亮度块具有QP值QP_X。在图14A所示的示例中,色度块P与具有QP值QP_1和QP_3的亮度块并置,并且色度块Q与具有QP值QP_2和QP_4的亮度块并置。在图14B所示的示例中,色度块P与具有QP值QP_1、QP_3和QP_5的亮度块并置,并且色度块Q与具有QP值QP_2和QP_4的亮度块并置。在一个示例中,对于图14A所示的示例,Qpblk_P和Qpblk_Q可如下推导:
Qpblk_P=(QP_1+QP_3+1)>>1
Qpbik_Q=(QP_2+QP_4+1)>>1
在一个示例中,对于图14B所示的示例,Qpblk_P和Qpblk_Q可如下推导:
Qpblk_P=(QP_1+QP_5+2*QP_3+2)>>1
Qpblk_Q=(QP_2+QP_4+1)>>1
在一个示例中,Qpblk_P和/或Qpblk_Q可通过识别一组色度位置并且对于每个色度位置识别对应的亮度位置来推导。对于每个对应的亮度位置,可确定对应的QP值。对应的QP值可用于推导出Qpblk_P和/或Qpblk_Q
如上所述,在一个示例中,较宽的强滤波器条件可包括第一条件和第二条件是否均为真,其中当d<β时,第一条件可为真,其中如下确定d:
dp0=xCalcDP(Rc[0]);
dq0=xCalcDQ(Rc[0]));
dp1=xCalcDP(Rc[l]);
dq1=xCalcDQ(Rc[l]);
d0=dp0+dq0;
dl=dp1+dq1;
d=d0+d1。
其中,
RC[N]对应于垂直于正被解块的边缘并且与正被解块的当前色度段的顶部相距距离N的色度线;并且在一个示例中,滤波器条件可包括当d<β时为真的条件,其中如下确定d:
dp0=xCalcDP(Rc[0]);
dq0=xCalcDQ(Rc[0]));
d0=dp0+dq0;
d=d0+d1。
在一些示例中,可检查色度解块边界的x个样本段的条件(例如,x=2)。这减少了在最坏情况下需要计算梯度的线的数量。应当指出的是,在最坏的情况下,第一条件将计算梯度(每条线的xCalcDQP),而上述条件将每2条线计算一次梯度。
如上所述,ITU-T H.265、变量β和tC用于滤波决策和削波操作。例如,β和/或tC用于确定是否使用强滤波器和/或用于削波经滤波的样本值。应当指出的是,在JVET-K1001中,与ITU-T H.265相比,峰值信噪比(PSNR)高于给定的量化位阶。因此,在一些情况下,修改β和/或tC以便修改解块强度可能是有用的。也就是说,如果失真水平在给定的量化位阶下较低,则感知的块效应量较低,因此需要较少的解块。在一个示例中,可如下修改β:β=β<<n。在一个示例中,可如下修改β:β=β>>n。在一个示例中,可如下修改tC:tC=tC<<n。在一个示例中,可如下修改tC:tC=tC>>n。在一个示例中,可基于以下中的一者或多者的组合来确定n:切片类型、QP值、块大小、比特深度、帧内预测模式、运动矢量(例如,量值)、信道类型和/或分量类型。例如,在一个示例中,tC=tC>>2可用于帧内切片,并且tC=tC>>4可用于帧间切片。在一个示例中,tC=tC>>2可用于亮度分量,并且tC=tC>>4可用于色度分量。
2018年7月10日至18日在斯洛文尼亚的卢布尔雅那举行的ISO/IEC JTC1/SC29/WG11第11次会议中的“CE2-2.1.1:Long deblocking filters and fixes”即文档JVET-K0307-vl(在本文中称为JVET-K0307)描述了用于亮度分量的长滤波器和决策。
基于上述过滤技术,可修改JVET-K0307中的滤波技术以使得能够使用长的非对称滤波器。对于长的非对称滤波器,在较大块侧上解块的样本数量大于在较小块侧上解块的样本数量。下文详细描述了从该扩展滤波器组中选择的解块决策过程。该扩展滤波器组可在整个解块过程中用于强解块。
在一个示例中,根据本文的技术,当任一侧具有大块并且满足修改的强滤波器条件时,使用亮度更强的滤波器。在一个示例中,亮度大块对应于垂直边缘的宽度>=32,并且水平边缘的高度>=32。
在一个示例中,亮度更强的滤波器可如下定义:
然后,对于i=0至S-1,块边界样本pi和qi如下由线性插值代替:
.’=+*+32)>>6),削波为±tC
.’=+*+32)>>6),削波为±tC
其中f_i、Middle_s,t、P_s和Q_s在下表10中给出:
Figure BDA0002707020760000651
表10
在一个示例中,控制过程还基于针对四个样本段的两条线计算的梯度;绝对像素值差与tC的比较;以及其他绝对像素值差与β的比较。针对大块侧计算更多梯度。控制过程可以如下:
1.变量dpq0、dpq3、dp、dq和d如下推导:
首先如在ITU-T H.265中那样推导出dp0、dp3、dq0、dq3
然后如在ITU-T H.265中那样推导出dpq0、dpq3、dp、dq、d
如在ITU-T H.265中那样,当d小于β时,应用以下有序步骤:
a.如在ITU-T H.265中那样推导出dpq。
b.sp3-Abs(p3–p0),如在ITU-T H.265中那样推导
如果(p侧大于或等于32)
sp3=(sp3+Abs(p7–p3)+1)>>1
c.sp3=Abs(q0–q3),如在ITU-T H.265中那样推导
如果(q侧大于或等于32)
sq3=(sq3+Abs(q7–q3)+1)>>1
d.如在ITU-T H.265中那样推导,StrongFilterCondition=(dpq小于(β>>2),sp3+sq3小于((p侧或q侧大于或等于32)?(3*β>>5):(β>>3)),并且Abs(p0–q0)小于(5*tC+1)>>1)?TRUE:FALSE
e.如果(p侧或q侧大于或等于32)
将dSp1、dSp2设置为Abs(p3–p0)
将dSq1、dSq2设置为Abs(q3–q0)
如果(q侧大于或等于32)
dSq1=abs(q4-2*q2+q0)
dSq2=abs(q6-2*q3+q0)
如果(p侧大于或等于32)
dSp1=abs(p4-2*p2+p0)
dSp2=abs(p6-2*p3+p0)
如下计算d_strong1和d_strong2:
d_strong1=dSp1+dSq1
d_strong2=dSp2+dSq2
计算StrongFilterCondition=(StrongFilterCondition&&((d_strong1<((3*beta)>>5))&&(d_strong2<((3*beta)>>5))))?TRUE:FALSE
f.当StrongFilterCondition为TRUE时,使用亮度更强的滤波器(可基于边缘边界处的块大小来选择)。
在一个示例中,控制过程可如下:
变量dpq0、dpq3、dp、dq和d如下推导:
首先如在ITU-T H.265中那样推导出dp0、dp3、dq0、dq3
然后如在ITU-T H.265中那样推导出dpq0、dpq3、dp、dq、d
如在ITU-T H.265中那样,当d小于β时,应用以下有序步骤:
如在ITU-T H.265中那样推导出dpq。
sp3=Abs(p3–p0),如在ITU-T H.265中那样推导
如果(p侧大于或等于32&&q侧大于或等于16)
sp3=(sp3+Abs(p7-p3)+1)>>1
sq3=Abs(q0-q3),如在ITU-T H.265中那样推导
如果(q侧大于或等于32&&p侧大于或等于16)
sq3=(sq3+Abs(q7-q3)+1)>>1
如在ITU-T H.265中那样推导,StrongFilterCondition=(dpq小于(β>>2),sp3+sq3小于(((p侧大于或等于32&&q侧大于或等于16))OR(q侧大于或等于32&&p侧大于或等于16))?(3*β>>5):(β>>3)),并且Abs(p0–q0)小于(5*tC+1)>>1)?TRUE:FALSE
应当指出的是,条件(p侧大于或等于32&&q侧大于或等于16)和(q侧大于或等于32&&p侧大于或等于16)确定是否可应用亮度更强的滤波器。应当指出的是,在其他示例中,可应用附加条件(例如,一个或多个先前条件)可用于确定是否可应用亮度更强的滤波器。在一个示例中,附加条件可如下:
如果(p侧大于或等于32&&q侧大于或等于16)||(q侧大于或等于32&&p侧大于或等于16);然而,对于(7,7,7,3,3,7),决策过程为(p侧大于或等于32||q侧大于或等于32)。其思想是,3*β>>5而不是β>>3的较低阈值选择适用于决策过程之前的这些亮度更强的滤波器中的任一个。
在一个示例中,根据本文所述的技术,可根据4×4亮度样本网格(或者在一些示例中,根据8×8亮度样本网格)对亮度进行解块。在该示例中,上文描述为WS00P P侧滤波器和WS00Q Q侧滤波器的亮度更强滤波器可用于大块,其中大块对应于垂直边缘的宽度>=32,水平边缘的高度>=32,并且相邻块大于或等于16。控制过程还可基于针对四个样本段的两条线计算的梯度;绝对像素值差与tC的比较;以及其他绝对像素值差与β的比较,如下文进一步详细描述。此外,当p0属于高于当前CTU的CTU时,可使用上表8B中提供的以下有限支持亮度滤波器。
在一些情况下,无法访问样本的子集。在此类情况下,使用样本的该子集的控制过程可能受到影响。这可导致梯度计算中的不对称性。在一些示例中,在这种情况下,可使用另一个控制过程。
在一个示例中,控制过程可如下:
变量dpq0、dpq3、dp、dq和d如下推导:
首先如在ITU-T H.265中那样推导出dp0、dp3、dq0、dq3
LongTapDeblocking=((p侧>=32&&q侧>=16)||(p侧>=16&&q侧>=32)))?
TRUE:FALSE
ControlSamplesAccessible=p0属于高于当前CTU的CTU?FALSE:TRUE
如果(LongTapDeblocking)
如果(p侧大于或等于32&&ControlSamplesAccessible)
dp0=(dp0+Abs(p5.0-2*p4,0+p3,0)+1)>>1
dp3=(dp3+Abs(p5,3-2*p4,3+p3,5)+1)>>1
如果(q侧大于或等于32)
dq0=(dq0+Abs(q5,0-2*q4,0+q3,0)+1)>>1
dq3=(dq3+Abs(q5,3-2*q4,3+q3,3)+1)>>1
然后如在ITU-T H.265中那样推导出dpq0、dpq3、dp、dq、d
如在ITU-T H.265中那样,当d小于β时,应用以下有序步骤:
如在ITU-T H.265中那样推导出dpq。
sp3=Abs(p3–p0),如在ITU-T H.265中那样推导
如果(p侧大于或等于32&&LongTapDeblocking&&ControlSamplesAccessible)
sp3=(sp3+Abs(p7–p3)+1)>>1
sq3=Abs(q0–q3),如在ITU-T H.265中那样推导
如果(q侧大于或等于32&&LongTapDeblocking)
sq3=(sq3+Abs(q7–q3)+1)>>1
如在ITU-T H.265中那样推导,StrongFilterCondition=(dpq小于(β>>2),sp3+sq3小于(LongTapDeblocking)?(3*β>>5):(β>>3)),并且Abs(p0-q0)小于(5*tC+1)>>1)?TRUE:FALSE
当StrongFilterCondition为TRUE并且LongTapDeblocking为TRUE时,在垂直于边界边缘的长度大于或等于32的一侧上使用亮度更强的滤波器,
否则,当StrongFilterCondition为TRUE并且LongTapDeblocking为FALSE时,使用另一强滤波器(例如,HEVC强滤波器HEVC_P、HEVC_Q)。
在一个示例中,用于比较的阈值也可基于位置。例如,正被解块的边缘是否与CTU边界对准。
在一个示例中,4×4亮度解块网格可能需要以下中的一者:
当块宽度/高度对于垂直边缘/水平边缘分别等于4时,并且如果HEVC滤波器打开/关闭条件(即,d<β,其中d=d0+d3并且d0=dp0+dq0并且d3=dp3+dq3)对于相应边缘被评估为真,则该方法将强制执行具有最多一次样本修改的HEVC正常/弱滤波器。因此,检查以下HEVC条件[δ]<10(tC),其中δ=(9*(q0-p0)-(3*(q1-p1)+8>>4,并且如果条件被评估为真,则修改样本p0和q0。否则不应用滤波。
当块宽度/高度对于垂直边缘/水平边缘分别等于4时,则在滤波器决策中使用最多三个样本,并且滤波器仅修改一个样本,即,
Figure BDA0002707020760000691
用于替换在强/弱滤波器条件检查中的
Figure BDA0002707020760000692
并且仅允许强滤波器和弱滤波器两者修改p0和q0
在一个示例中,根据本文所述的技术,可根据2×2色度样本网格(或者在一些示例中,根据4×4亮度样本网格)对色度进行解块。在该示例中,可使用上述HEVC_P P侧滤波器和HEVC_Q Q侧滤波器。此外,当p0属于高于当前CTU的CTU时,可使用上文描述为NW00P的色度弱滤波器。在一个示例中,当针对色度计算的HEVC亮度强滤波器条件为真并且以下条件中的任一个为真时,可使用强滤波器:
-边缘类型是垂直的,并且p0属于宽度>=16的CU(色度样本),q0属于宽度>=16的CU(色度样本)
-边缘类型是水平的,并且p0属于高度>=16的CU(色度样本),q0属于高度>=16的CU(色度样本)
再次参见图8,熵编码单元218接收量化的变换系数和预测语法数据(即,帧内预测数据和运动预测数据)。应当指出的是,在一些示例中,系数量化单元206可以在将系数输出到熵编码单元218之前执行对包括量化变换系数的矩阵的扫描。在其他示例中,熵编码单元218可执行扫描。熵编码单元218可被配置为根据本文中所描述的技术中的一个或多个执行熵编码。这样,视频编码器200表示设备的示例,该设备被配置为接收包括用于视频数据分量的相邻重构视频块的样本值阵列,并且根据解块滤波器的多个通域修改相邻重构视频块中的样本值。
再次参见图7,数据封装器107可以接收编码视频数据,并根据定义的数据结构生成兼容比特流,例如,NAL单元序列。接收兼容比特流的设备可以从其再现视频数据。此外,接收兼容比特流的设备可执行子比特流提取过程,其中子比特流提取指的是接收兼容比特流的设备通过丢弃和/或修改接收到的比特流中的数据来形成新的兼容比特流的过程。应当指出的是,可以使用术语符合性比特流来代替术语兼容比特流。
再次参见图7,接口108可以包括被配置为接收由数据封装器107生成的数据并且将数据传输和/或存储到通信介质的任何设备。接口108可以包括网络接口卡诸如以太网卡,并且可以包括光收发器、射频收发器或者可以传输和/或接收信息的任何其他类型的设备。此外,接口108可以包括计算机系统接口,该计算机系统接口可以使文件能够存储在存储设备上。例如,接口108可以包括支持外围组件互连(PCI)和外围组件快速互连(PCIe)总线协议、专用总线协议、通用串行总线(USB)协议、FC的芯片组或可用于互连对等设备的任何其他逻辑和物理结构。
再次参见图7,目标设备120包括接口122、数据解封装器123、视频解码器124和显示器126。接口122可以包括被配置为从通信介质接收数据的任何设备。接口122可以包括网络接口卡诸如以太网卡,并且可以包括光收发器、射频收发器或者可接收和/或发送信息的任何其他类型的设备。此外,接口122可以包括允许从存储设备检索兼容视频比特流的计算机系统接口。例如,接口122可以包括支持PCI和PCIe总线协议、专用总线协议、USB协议、FC的芯片组或可用于互连对等设备的任何其他逻辑和物理结构。数据解封装器123可被配置为接收和解析本文所述的任何示例性参数集。
视频解码器124可以包括被配置为接收比特流和/或其能够接受的变体,并且从其再现视频数据的任何设备。显示器126可以包括被配置为显示视频数据的任何设备。显示器126可以包括各种显示设备诸如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另外的类型的显示器中的一种。显示器126可以包括高清显示器或超高清显示器。应当指出的是,虽然在图7所示的示例中,视频解码器124被描述为将数据输出到显示器126,但视频解码器124可被配置为将视频数据输出到各种类型的设备和/或其子部件。例如,视频解码器124可被配置为将视频数据输出到任何通信介质,如本文所述。
图9是示出根据本公开的一种或多种技术的可被配置为对视频数据进行解码的视频解码器的示例的框图。
在一个示例中,视频解码器300可被配置为对变换数据进行解码并基于经解码的变换数据从变换系数重构残差数据。视频解码器300可被配置为执行帧内预测解码和帧间预测解码,并且因此可被称为混合解码器。在图9所示的示例中,视频解码器300包括熵解码单元302、逆量化单元304、逆变换系数处理单元306、帧内预测处理单元308、帧间预测处理单元310、求和器312、滤波器单元314和参考缓冲器316。视频解码器300可被配置为以与视频编码系统一致的方式对视频数据进行解码。应当指出的是,尽管示出的示例性视频解码器300具有不同的功能块,但此类图示旨在用于描述目的,并且不将视频解码器300和/或其子部件限制为特定的硬件或软件架构。可使用硬件、固件和/或软件具体实施的任何组合来实现视频解码器300的功能。
如图9所示,熵解码单元302接收熵编码的比特流。熵解码单元302可被配置为根据与熵编码过程互逆的过程从比特流中解码语法元素和量化系数。熵解码单元302可被配置为根据上文所述的熵编码技术中的任一种执行熵解码。熵解码单元802可以与视频编码标准一致的方式确定编码的比特流中的语法元素的值。如图9所示,熵解码单元302可以从比特流确定量化系数值和预测数据。在图9所示的示例中,逆量化单元304接收量化系数值并输出变换系数。逆变换处理单元306接收变换系数并输出重构的残差数据。
再次参见图9,可以将重构的残差数据提供给求和器312。求和器312可以将重构的残差数据添加到预测视频块并且生成重构的视频数据。可根据预测视频技术(即帧内预测和帧间预测)确定预测视频块。帧内预测处理单元308可被配置为接收帧内预测语法元素,并且从参考缓冲器316处检索预测视频块。参考缓冲器316可以包括被配置为存储一个或多个视频数据帧的存储器设备。帧内预测语法元素可识别帧内预测模式,诸如上述的帧内预测模式。帧间预测处理单元308可以接收帧间预测语法元素并生成运动矢量,以识别存储在参考缓冲器316中的一个或多个参考帧中的预测块。帧间预测处理单元310可以生成运动补偿块,可能基于内插滤波器执行内插。用于具有子像素精度的运动估计的内插滤波器的标识符可以被包括在语法元素中。帧间预测处理单元310可以使用内插滤波器来计算参考块的子整数像素的内插值。
滤波器单元314可被配置为对重构的视频数据执行滤波。例如,滤波器单元314可被配置为执行解块和/或样本自适应偏移(SAO)滤波,例如基于在比特流中指定的参数。此外,应当指出的是,在一些示例中,滤波器单元314可被配置为执行专用的任意滤波(例如,视觉增强,诸如蚊状噪声消除)。滤波器单元314可以与滤波器单元216类似的方式操作。如图9所示,视频解码器300可以输出重构视频块。这样,视频解码器300可被配置为接收包括用于视频数据分量的相邻重构视频块的样本值阵列,并且根据解块滤波器的多个通域修改相邻重构视频块中的样本值。
在一个或多个示例中,所述功能可以通过硬件、软件、固件或其任何组合来实现。如果以软件实现,则可将功能作为一个或多个指令或代码存储在计算机可读介质上或经由计算机可读介质上传输,并且由基于硬件的处理单元执行。计算机可读介质可以包括对应于有形介质诸如数据存储介质的计算机可读存储介质,或者包括例如根据通信协议促进计算机程序从一个地方传输到另一个地方的任何介质的传播介质。这样,计算机可读介质通常可对应于:(1)非暂态的有形计算机可读存储介质,或者(2)通信介质诸如信号或载波。数据存储介质可以是可以由一个或多个计算机或一个或多个处理器访问以检索用于实现本公开中所述的技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可以包括计算机可读介质。
以举例而非限制的方式,此类计算机可读存储介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储设备、磁盘存储设备或其他磁存储设备、闪存存储器、或者可用于存储指令或数据结构形式的所需程序代码并且可由计算机访问的任何其他介质。而且,任何连接都被适当地称为计算机可读介质。例如,如果使用同轴电缆、光纤电缆、双绞线、数字用户线路(DSL)或无线技术诸如红外线、无线电和微波从网站、服务器或其他远程源传输指令,则同轴电缆、光纤电缆、双绞线、DSL或无线技术诸如红外线、无线电和微波都包含在介质的定义中。然而,应当理解,计算机可读存储介质和数据存储介质不包括连接、载波、信号或其他暂态介质,而是针对非暂态有形存储介质。如本文所用,磁盘和光盘包括压缩光盘(CD)、激光盘、光学光盘、数字通用光盘(DVD)、软磁盘及Blu-ray光盘,其中磁盘通常以磁性方式复制数据,而光盘则利用激光以光学方式复制数据。上述的组合也应该包括在计算机可读介质的范围内。
可以由一个或多个处理器诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其他等效集成或离散逻辑电路执行指令。因此,如本文所用的术语“处理器”可以指任何前述结构或适用于实现本文所描述的技术的任何其他结构。此外,在一些方面中,可以在被配置用于编码和解码的专用硬件和/或软件模块内提供本文所述的功能,或者将其结合到组合编解码器中。而且,这些技术可以完全在一个或多个电路或逻辑元件中实现。
本公开的技术可以在各种设备或装置包括无线手机、集成电路(IC)或一组IC(例如,芯片组)中实现。在本公开中描述了各种部件、模块或单元,以强调被配置为执行所公开的技术的设备的功能方面,但是不一定需要通过不同的硬件单元来实现。相反,如上所述,可以将各种单元组合在编解码器硬件单元中,或者通过互操作硬件单元包括如上所述的一个或多个处理器的集合,结合合适的软件和/或固件来提供各种单元。
此外,每个上述实施方案中所使用的基站设备和终端设备的每个功能块或各种特征可通过电路(通常为一个集成电路或多个集成电路)实施或执行。被设计为执行本说明书中所述的功能的电路可以包括通用处理器、数字信号处理器(DSP)、专用或通用集成电路(ASIC)、现场可编程门阵列(FPGA),或其他可编程逻辑设备、分立栅极或晶体管逻辑器、或分立硬件部件、或它们的组合。通用处理器可为微处理器,或另选地,该处理器可为常规处理器、控制器、微控制器或状态机。通用处理器或上述每种电路可由数字电路进行配置,或可由模拟电路进行配置。此外,当由于半导体技术的进步而出现制成取代当前集成电路的集成电路的技术时,也能够使用通过该技术生产的集成电路。
已经描述了各种示例。这些示例和其他示例在以下权利要求的范围内。
<交叉引用>
本非临时申请根据《美国法典》第35卷第119节(35 U.S.C.§119)要求2018年3月30日的临时申请62/651,058、2018年4月7日的临时申请62/654,379、2018年4月9日的临时申请62/655,029、2018年4月11日的临时申请62/656,291、2018年5月29日的临时申请62/677,629、2018年6月1日的临时申请62/679,716、2018年7月10日的62/696,309、2018年7月27日的62/711,420、2018年8月5日的62/714,755、2018年9月17日的62/732,556、2018年9月18日的62/733,067、2018年9月22日的62/735,090、2018年9月27日的62/737,596的优先权,这些临时申请的全部内容以引用方式并入本文。

Claims (8)

1.一种对重构视频数据进行滤波的方法,所述方法包括:接收包括用于视频数据的分量的相邻重构视频块的样本值阵列;并且根据解块滤波器的多个通域修改所述相邻重构视频块中的样本值。
2.根据权利要求1所述的方法,其中基于一个或多个编码参数来确定每个通域处解块滤波器的滤波器参数。
3.一种用于对视频数据进行编码的设备,所述设备包括被配置为执行权利要求1至2所述步骤的任意和全部组合的一个或多个处理器。
4.根据权利要求3所述的设备,其中所述设备包括视频编码器。
5.根据权利要求3所述的设备,其中所述设备包括视频解码器。
6.一种系统,包括:
根据权利要求4所述的设备;以及
根据权利要求5所述的设备。
7.一种用于对视频数据进行编码的装置,所述装置包括用于执行权利要求1至2所述步骤的任意和全部组合的装置件。
8.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质包括存储在其上的指令,当执行所述指令时,使得用于对视频数据进行编码的设备的一个或多个处理器执行权利要求1至2所述步骤的任意和全部组合。
CN201980023322.9A 2018-03-30 2019-03-25 用于将解块滤波器应用于重构视频数据的系统和方法 Active CN112042203B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202310355580.5A CN116405700A (zh) 2018-03-30 2019-03-25 用于将解块滤波器应用于重构视频数据的方法和设备
CN202310357258.6A CN116567230A (zh) 2018-03-30 2019-03-25 用于将解块滤波器应用于重构视频数据的方法和设备

Applications Claiming Priority (27)

Application Number Priority Date Filing Date Title
US201862651058P 2018-03-30 2018-03-30
US62/651,058 2018-03-30
US201862654379P 2018-04-07 2018-04-07
US62/654,379 2018-04-07
US201862655029P 2018-04-09 2018-04-09
US62/655,029 2018-04-09
US201862656291P 2018-04-11 2018-04-11
US62/656,291 2018-04-11
US201862677629P 2018-05-29 2018-05-29
US62/677,629 2018-05-29
US201862679716P 2018-06-01 2018-06-01
US62/679,716 2018-06-01
US201862696309P 2018-07-10 2018-07-10
US62/696,309 2018-07-10
US201862711420P 2018-07-27 2018-07-27
US62/711,420 2018-07-27
US201862714755P 2018-08-05 2018-08-05
US62/714,755 2018-08-05
US201862732556P 2018-09-17 2018-09-17
US62/732,556 2018-09-17
US201862733067P 2018-09-18 2018-09-18
US62/733,067 2018-09-18
US201862735090P 2018-09-22 2018-09-22
US62/735,090 2018-09-22
US201862737596P 2018-09-27 2018-09-27
US62/737,596 2018-09-27
PCT/JP2019/012422 WO2019188944A1 (en) 2018-03-30 2019-03-25 Systems and methods for applying deblocking filters to reconstructed video data

Related Child Applications (2)

Application Number Title Priority Date Filing Date
CN202310357258.6A Division CN116567230A (zh) 2018-03-30 2019-03-25 用于将解块滤波器应用于重构视频数据的方法和设备
CN202310355580.5A Division CN116405700A (zh) 2018-03-30 2019-03-25 用于将解块滤波器应用于重构视频数据的方法和设备

Publications (2)

Publication Number Publication Date
CN112042203A true CN112042203A (zh) 2020-12-04
CN112042203B CN112042203B (zh) 2023-04-21

Family

ID=68060571

Family Applications (3)

Application Number Title Priority Date Filing Date
CN202310355580.5A Pending CN116405700A (zh) 2018-03-30 2019-03-25 用于将解块滤波器应用于重构视频数据的方法和设备
CN201980023322.9A Active CN112042203B (zh) 2018-03-30 2019-03-25 用于将解块滤波器应用于重构视频数据的系统和方法
CN202310357258.6A Pending CN116567230A (zh) 2018-03-30 2019-03-25 用于将解块滤波器应用于重构视频数据的方法和设备

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202310355580.5A Pending CN116405700A (zh) 2018-03-30 2019-03-25 用于将解块滤波器应用于重构视频数据的方法和设备

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202310357258.6A Pending CN116567230A (zh) 2018-03-30 2019-03-25 用于将解块滤波器应用于重构视频数据的方法和设备

Country Status (10)

Country Link
US (3) US11259019B2 (zh)
EP (1) EP3782371A4 (zh)
JP (2) JP7382951B2 (zh)
KR (1) KR20200128588A (zh)
CN (3) CN116405700A (zh)
AU (2) AU2019242247B2 (zh)
CA (1) CA3095549A1 (zh)
MX (1) MX2020010140A (zh)
RU (2) RU2022105685A (zh)
WO (1) WO2019188944A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113992915A (zh) * 2021-12-28 2022-01-28 康达洲际医疗器械有限公司 一种可适用于vvc帧内预测的编码单元划分方法与系统

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2019242247B2 (en) * 2018-03-30 2022-12-22 FG Innovation Company Limited Systems and methods for applying deblocking filters to reconstructed video data
CN112335250A (zh) * 2018-06-28 2021-02-05 韩国电子通信研究院 用于对图像进行编码/解码的方法和设备以及用于存储比特流的记录介质
US10567752B2 (en) 2018-07-02 2020-02-18 Tencent America LLC Method and apparatus for intra prediction for non-square blocks in video compression
WO2020224581A1 (en) 2019-05-05 2020-11-12 Beijing Bytedance Network Technology Co., Ltd. Chroma deblocking harmonization for video coding
CN110225339A (zh) * 2019-05-10 2019-09-10 上海德衡数据科技有限公司 一种hevc视频序列编解码加速方法
KR20220049520A (ko) 2019-08-23 2022-04-21 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 코딩 블록 또는 서브블록 경계에서의 디블로킹 필터링
AU2020341422B2 (en) 2019-09-06 2024-02-29 Telefonaktiebolaget Lm Ericsson (Publ) Deblocking filter selection in video or image coding
KR20220058889A (ko) 2019-09-14 2022-05-10 바이트댄스 아이엔씨 비디오 코딩의 크로마 양자화 파라미터
CN114651442A (zh) 2019-10-09 2022-06-21 字节跳动有限公司 视频编解码中的跨分量适应性回路滤波
CN114556924B (zh) 2019-10-14 2024-01-26 字节跳动有限公司 视频处理中色度残差的联合编解码与滤波的方法、装置及介质
WO2021086023A1 (ko) * 2019-10-28 2021-05-06 엘지전자 주식회사 적응적 변환을 이용하여 레지듀얼 처리를 수행하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
JP7364936B2 (ja) * 2019-12-09 2023-10-19 日本電信電話株式会社 符号化方法、符号化装置、及びプログラム
KR20220106116A (ko) 2019-12-09 2022-07-28 바이트댄스 아이엔씨 비디오 코딩에서 양자화 그룹 사용
CN114902657A (zh) 2019-12-31 2022-08-12 字节跳动有限公司 视频编解码中的自适应颜色变换
WO2021134700A1 (zh) * 2019-12-31 2021-07-08 北京大学 视频编解码的方法和装置
WO2021222260A1 (en) * 2020-04-29 2021-11-04 Bytedance Inc. Filter parameter signaling in video picture headers
WO2022191526A1 (ko) * 2021-03-09 2022-09-15 현대자동차주식회사 세그멘테이션 정보 기반 디블록킹 필터링을 이용하는 비디오 코딩방법 및 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103081463A (zh) * 2010-05-07 2013-05-01 韩国电子通信研究院 通过跳过编码来对图像进行编码和解码的设备及其方法
WO2013063784A1 (en) * 2011-11-03 2013-05-10 Thomson Licensing Video encoding and decoding based on image refinement
CN103460700A (zh) * 2011-04-01 2013-12-18 苗太平洋控股有限公司 以帧内预测模式解码图像的方法
CN106105201A (zh) * 2014-03-14 2016-11-09 高通股份有限公司 使用像素距离的解块滤波

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0159559B1 (ko) * 1994-10-31 1999-01-15 배순훈 디지탈 화상의 적응적인 후처리 방법
JP3785711B2 (ja) * 1996-12-24 2006-06-14 ソニー株式会社 画像再生装置及び画像再生方法
KR100244290B1 (ko) * 1997-09-09 2000-02-01 구자홍 저속 전송에서의 동영상을 위한 디블록킹 필터링 방법
US6285801B1 (en) * 1998-05-29 2001-09-04 Stmicroelectronics, Inc. Non-linear adaptive image filter for filtering noise such as blocking artifacts
US6983079B2 (en) * 2001-09-20 2006-01-03 Seiko Epson Corporation Reducing blocking and ringing artifacts in low-bit-rate coding
US7227901B2 (en) * 2002-11-21 2007-06-05 Ub Video Inc. Low-complexity deblocking filter
KR100679035B1 (ko) * 2005-01-04 2007-02-06 삼성전자주식회사 인트라 bl 모드를 고려한 디블록 필터링 방법, 및 상기방법을 이용하는 다 계층 비디오 인코더/디코더
KR101457396B1 (ko) * 2010-01-14 2014-11-03 삼성전자주식회사 디블로킹 필터링을 이용한 비디오 부호화 방법과 그 장치, 및 디블로킹 필터링을 이용한 비디오 복호화 방법 및 그 장치
JP5793511B2 (ja) * 2010-02-05 2015-10-14 テレフオンアクチーボラゲット エル エム エリクソン(パブル) デブロッキングフィルタリング制御
TWI600318B (zh) * 2010-05-18 2017-09-21 Sony Corp Image processing apparatus and image processing method
US9872019B2 (en) * 2010-07-20 2018-01-16 Sk Telecom Co., Ltd. Method and device for deblocking-filtering, and method and device for encoding and decoding using same
MA34906B1 (fr) * 2011-01-14 2014-02-01 Ericsson Telefon Ab L M Filtrage de déblocage
WO2012096614A2 (en) * 2011-01-14 2012-07-19 Telefonaktiebolaget L M Ericsson (Publ) A method for filter control and a filtering control device
US9232237B2 (en) * 2011-08-05 2016-01-05 Texas Instruments Incorporated Block-based parallel deblocking filter in video coding
EP3306921B1 (en) * 2011-09-09 2020-11-04 Sun Patent Trust Low complex deblocking filter decisions
US9167269B2 (en) * 2011-10-25 2015-10-20 Qualcomm Incorporated Determining boundary strength values for deblocking filtering for video coding
JP5596884B2 (ja) * 2011-11-03 2014-09-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ フィルタリング方法およびフィルタリング装置
CN109076225A (zh) * 2016-02-08 2018-12-21 夏普株式会社 用于变换系数编码的系统和方法
WO2018123423A1 (ja) * 2016-12-28 2018-07-05 ソニー株式会社 画像処理装置及び画像処理方法
US10708591B2 (en) * 2017-03-20 2020-07-07 Qualcomm Incorporated Enhanced deblocking filtering design in video coding
US11889054B2 (en) * 2017-12-29 2024-01-30 Telefonaktiebolaget Lm Ericsson (Publ) Methods providing encoding and/or decoding of video using reference values and related devices
WO2019137750A1 (en) * 2018-01-10 2019-07-18 Telefonaktiebolaget Lm Ericsson (Publ) Determining filter length for deblocking during encoding and/or decoding of video
AU2019242247B2 (en) * 2018-03-30 2022-12-22 FG Innovation Company Limited Systems and methods for applying deblocking filters to reconstructed video data
WO2020007747A1 (en) * 2018-07-05 2020-01-09 Telefonaktiebolaget Lm Ericsson (Publ) Deblocking of intra-reference samples
CN116016932A (zh) * 2018-10-12 2023-04-25 华为技术有限公司 用于视频译码中去块效应滤波器的装置和方法
US11197032B2 (en) * 2018-11-08 2021-12-07 Telefonaktiebolaget Lm Ericsson (Publ) Asymmetric deblocking in a video encoder and/or video decoder
CN114556924B (zh) * 2019-10-14 2024-01-26 字节跳动有限公司 视频处理中色度残差的联合编解码与滤波的方法、装置及介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103081463A (zh) * 2010-05-07 2013-05-01 韩国电子通信研究院 通过跳过编码来对图像进行编码和解码的设备及其方法
CN103460700A (zh) * 2011-04-01 2013-12-18 苗太平洋控股有限公司 以帧内预测模式解码图像的方法
WO2013063784A1 (en) * 2011-11-03 2013-05-10 Thomson Licensing Video encoding and decoding based on image refinement
CN104025589A (zh) * 2011-11-03 2014-09-03 汤姆逊许可公司 基于图像细化的视频编码和解码
CN106105201A (zh) * 2014-03-14 2016-11-09 高通股份有限公司 使用像素距离的解块滤波

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113992915A (zh) * 2021-12-28 2022-01-28 康达洲际医疗器械有限公司 一种可适用于vvc帧内预测的编码单元划分方法与系统

Also Published As

Publication number Publication date
RU2022105685A (ru) 2022-04-04
JP2021520107A (ja) 2021-08-12
WO2019188944A1 (en) 2019-10-03
CN116405700A (zh) 2023-07-07
US20230344997A1 (en) 2023-10-26
AU2023201754A1 (en) 2023-04-20
JP2024010188A (ja) 2024-01-23
US20210409701A1 (en) 2021-12-30
EP3782371A1 (en) 2021-02-24
US11750805B2 (en) 2023-09-05
AU2019242247B2 (en) 2022-12-22
EP3782371A4 (en) 2021-12-22
AU2019242247A1 (en) 2020-11-19
CA3095549A1 (en) 2019-10-03
CN112042203B (zh) 2023-04-21
MX2020010140A (es) 2020-10-20
US11259019B2 (en) 2022-02-22
KR20200128588A (ko) 2020-11-13
AU2023201754B2 (en) 2023-11-23
JP7382951B2 (ja) 2023-11-17
CN116567230A (zh) 2023-08-08
US20210120239A1 (en) 2021-04-22
RU2768016C1 (ru) 2022-03-23

Similar Documents

Publication Publication Date Title
CN112042203B (zh) 用于将解块滤波器应用于重构视频数据的系统和方法
AU2018311926B2 (en) Systems and methods for partitioning video blocks in an inter prediction slice of video data
WO2020262396A1 (en) Systems and methods for reducing a reconstruction error in video coding based on a cross-component correlation
CN110313179B (zh) 用于按比例缩放变换系数水平值的系统和方法
WO2019230670A1 (en) Systems and methods for partitioning video blocks in an inter prediction slice of video data
US11870984B2 (en) Systems and methods for applying deblocking filters to reconstructed video data
CN112997501B (zh) 导出用于对视频数据进行解码的预测亮度样本值的方法
WO2021070427A1 (en) Systems and methods for reducing a reconstruction error in video coding based on a cross-component correlation
WO2018066242A1 (en) Systems and methods for adaptively clipping sample values
CN110583021A (zh) 用于执行平面帧内预测视频编码的系统和方法
US20210105506A1 (en) Systems and methods for applying deblocking filters to reconstructed video data
CN113366840A (zh) 用于在视频编码中导出视频块的量化参数的系统和方法

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
TR01 Transfer of patent right

Effective date of registration: 20231225

Address after: Japan's Osaka City. Sakai Sakai district town 1 times

Patentee after: Sharp Corp.

Address before: Osaka Prefecture, Japan

Patentee before: Sharp Corp.

Patentee before: FG Innovation Co.,Ltd.

TR01 Transfer of patent right