CN109792525A - 峰值样本自适应偏移 - Google Patents
峰值样本自适应偏移 Download PDFInfo
- Publication number
- CN109792525A CN109792525A CN201780059383.1A CN201780059383A CN109792525A CN 109792525 A CN109792525 A CN 109792525A CN 201780059383 A CN201780059383 A CN 201780059383A CN 109792525 A CN109792525 A CN 109792525A
- Authority
- CN
- China
- Prior art keywords
- sample
- group
- adjacent
- value
- difference
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/174—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/182—Methods 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 pixel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/96—Tree coding, e.g. quad-tree coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种视频译码器进行以下操作:比较当前块的第一样本与第一组相邻样本以确定第一差值;基于所述第一差值确定所述第一样本的第一偏移;比较所述当前块的第二样本与第二组相邻样本以确定具有与所述第一差值相同的正负号的第二差值;基于所述第二差值确定所述第二样本的偏移,所述偏移不同于所述第一样本的所述偏移;及将所述第一偏移应用于所述第一样本值且将所述第二偏移应用于所述第二样本值以产生经滤波图像。
Description
本申请案主张2016年10月4日申请的美国临时专利申请案第62/404,126号的权利,所述申请案的全部内容特此以引用的方式并入。
技术领域
本发明涉及视频编码及视频解码。
背景技术
数字视频能力可并入至广泛范围的装置中,所述装置包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、平板计算机、电子书阅读器、数字相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝或卫星无线电电话、所谓的“智能电话”、视频电话会议装置、视频流式处理装置等等。数字视频装置实施视频压缩技术,例如由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分高级视频译码(AVC)定义的标准、高效率视频译码(HEVC)标准及此类标准的扩展中所描述的技术。视频装置可通过实施此类视频压缩技术更有效地发射、接收、编码、解码及/或存储数字视频信息。
视频压缩技术执行空间(图片内)预测及/或时间(图片间)预测来减少或移除视频序列中固有的冗余。对于基于块的视频译码,可将视频切片(即,视频帧或视频帧的部分)分割成视频块,其也可被称作树型块、译码单元(CU)及/或译码节点。图片的经帧内译码(I)切片中的视频块是使用相对于同一图片中的相邻块中的参考样本的空间预测来编码。图片的经帧间译码(P或B)切片中的视频块可使用相对于同一图片中的相邻块中的参考样本的空间预测或相对于其它参考图片中的参考样本的时间预测。图片可被称作帧,且参考图片可被称作参考帧。
空间或时间预测产生待译码块的预测性块。残余数据表示待译码的原始块与预测性块之间的像素差。根据指向形成预测性块的参考样本的块的运动向量及指示经译码块与预测性块之间的差的残余数据来编码经帧间译码块。根据帧内译码模式及残余数据来编码经帧内译码块。为进行进一步压缩,可将残余数据从像素域变换至变换域,从而产生残余变换系数,可接着量化所述残余变换系数。最初布置为二维阵列中的经量化变换系数可经扫描以便产生变换系数的一维向量,且熵译码可经应用以实现甚至更多的压缩。
发明内容
本发明描述一种类型的样本自适应偏移(SAO)滤波,在本文中被称为峰值SAO。如本发明中所描述,实施峰值SAO的视频译码器可通过比较样本的值与多于两个相邻样本来确定样本的偏移。在一些实例中,实施峰值SAO的视频译码器可基于样本与相应相邻样本之间的差的量值确定块的不同样本的不同偏移。
在一个实例中,一种用于解码视频数据的方法包含:比较当前块的第一样本与第一组相邻样本以确定第一差值;基于所述第一差值确定所述第一样本的第一偏移,其中所述第一偏移为第一非零值;比较所述当前块的第二样本与第二组相邻样本以确定第二差值,其中所述第一组相邻样本相对于所述第一样本具有与所述第二组相邻样本相对于所述第二样本具有的图案相同的图案,且其中所述第一差值及所述第二差值具有相同正负号;基于所述第二差值确定所述第二样本的第二偏移,其中所述第二偏移为不同于所述第一非零值的第二非零值;及将所述第一偏移应用于所述第一样本值且将所述第二偏移应用于所述第二样本值以产生经滤波图像。
在另一实例中,一种用于解码视频数据的装置包含:存储器,其经配置以存储所述视频数据;及一或多个处理器,其经配置以进行以下操作:比较当前块的第一样本与第一组相邻样本以确定第一差值;基于所述第一差值确定所述第一样本的第一偏移,其中所述第一偏移为第一非零值;比较所述当前块的第二样本与第二组相邻样本以确定第二差值,其中所述第一组相邻样本相对于所述第一样本具有与所述第二组相邻样本相对于所述第二样本具有的图案相同的图案,且其中所述第一差值及所述第二差值具有相同正负号;基于所述第二差值确定所述第二样本的第二偏移,其中所述第二偏移为不同于所述第一非零值的第二非零值;及将所述第一偏移应用于所述第一样本值且将所述第二偏移应用于所述第二样本值以产生经滤波图像。
在另一实例中,一种计算机可读媒体存储指令,所述指令在由一或多个处理器执行时致使所述一或多个处理器进行以下操作:比较当前块的第一样本与第一组相邻样本以确定第一差值;基于所述第一差值确定所述第一样本的第一偏移,其中所述第一偏移为第一非零值;比较所述当前块的第二样本与第二组相邻样本以确定第二差值,其中所述第一组相邻样本相对于所述第一样本具有与所述第二组相邻样本相对于所述第二样本具有的图案相同的图案,且其中所述第一差值及所述第二差值具有相同正负号;基于所述第二差值确定所述第二样本的第二偏移,其中所述第二偏移为不同于所述第一非零值的第二非零值;及将所述第一偏移应用于所述第一样本值且将所述第二偏移应用于所述第二样本值以产生经滤波图像。
在另一实例中,一种用于解码视频数据的设备包含:用于比较当前块的第一样本与第一组相邻样本以确定第一差值的装置;用于基于所述第一差值确定所述第一样本的第一偏移的装置,其中所述第一偏移为第一非零值;用于比较所述当前块的第二样本与第二组相邻样本以确定第二差值的装置,其中所述第一组相邻样本相对于所述第一样本具有与所述第二组相邻样本相对于所述第二样本具有的图案相同的图案,且其中所述第一差值及所述第二差值具有相同正负号;用于基于所述第二差值确定所述第二样本的第二偏移的装置,其中所述第二偏移为不同于所述第一非零值的第二非零值;及用于将所述第一偏移应用于所述第一样本值且将所述第二偏移应用于所述第二样本值以产生经滤波图像的装置。
下文在附图及具体实施方式中阐述本发明的一或多个方面的细节。本发明中所描述的技术的其它特征、目标及优点将从具体实施方式、附图及权利要求书显而易见。
附图说明
图1为绘示可利用本发明中所描述的技术的实例视频编码及解码系统的框图。
图2展示HEVC解码器的实例框图。
图3A至3D展示用于边缘偏移(EO)样本分类的四个1-D方向图案。
图4展示当前像素及当前像素的相邻像素的实例。
图5展示当前像素及当前像素的相邻像素的实例。
图6A及6B展示具有8个经选择相邻样本的两个样本的实例。
图7为绘示可实施本发明中所描述的技术的实例视频编码器的框图。
图8为绘示可实施本发明中所描述的技术的实例视频解码器的框图。
图9展示用于执行本发明的技术的滤波器单元的实例实施方案。
图10为绘示根据本发明的技术的实例视频解码过程的流程图。
具体实施方式
本发明描述与可用于后处理阶段(作为环路内译码的部分)或预测阶段中的滤波方法相关的技术。本发明的技术可实施至现有视频编解码器(例如HEVC(高效率视频译码))中,或为用于未来视频译码标准(例如当前在开发中的H.266标准)的高效译码工具。
样本自适应偏移(SAO)滤波为用于视频译码的一种类型的环路滤波。一般来说,将偏移值与视频帧(例如,经重构图像)中的样本相加在一些情况下可改善译码而不极大增加存储或发射经编码视频数据所需要的位开销。潜在地由SAO滤波产生的译码改善可为例如在编码视频数据时可实现较好速率-失真(RD)折衷,及/或经解码视频图像对于给定位速率含有相对于原始视频图像的较小失真。SAO技术允许不同偏移值应用于不同样本(或样本的块),这取决于样本(或块)分类度量,例如边缘度量、频带度量或其它类型的度量。
在一些实施方案中,SAO滤波器单元可经配置以执行两种类型的SAO滤波,在本发明中通常被称为频带偏移(BO)滤波及边缘偏移(EO)滤波。SAO滤波器单元有时还可应用非偏移,其自身可被视为第三类型的SAO滤波。由SAO滤波器应用的偏移滤波的类型可经明确地或隐含地发信至视频解码器。当应用EO滤波时,可基于译码树型单元(CTU)的边缘信息来分类样本,且可基于边缘分类来确定样本的偏移。如下文将更详细地所阐释,通常存在基于边缘的SAO的四个变化,其中样本的值与样本的八个相邻样本中的两者进行比较。哪两个样本用于比较取决于基于边缘的偏移的哪个变化被使用。即,明确地/隐含地发信的EO图案用以选择用于比较的两个样本。在本发明中,基于样本相对于相邻样本的量值差,将偏移与样本值相加。
当应用BO滤波时,样本可基于样本值(例如强度值)分类为不同频带,其中每一频带具有相关联偏移。频带包含样本值的范围。举例来说,范围介于0至255的样本值可分成32个相等频带(经标记为0至31),使得对于全部三十二个频带,样本值0至7为第一频带,样本值8至15为第二频带,样本值16至23为第三频带,等等。频带可用于确定多个不同偏移值中的哪一特定偏移值应用于样本或一群样本。举例来说,如果样本具有值10(其是在第二频带(即,值8至15)内,在上述实例中),那么可将与第二频带相关联的偏移与样本值相加。
出于发信及产生各种频带的偏移的目的,频带可经分组成两个或多于两个群。对于BO滤波,样本可例如经分类成如上文所描述的三十二个频带(频带0至31),且频带可经分组成两个群(例如,两群十六个频带、一群四个频带及一群二十八个频带,一群八个频带及一群二十四个频带,或其它此类分组)。频带的分组可用于确定频带的偏移值在经编码视频位流中被发信所按的次序,及/或可用以确定特定频带是否具有除了零以外的偏移值。频带的偏移可使用其中当前值经发信为当前值与前一值之间的差的差分译码技术来发信。为减小发信开销,仅仅少数频带(例如四个频带)可与非零偏移值相关联,而所有其它频带经假定为具有零偏移值。
如在HEVC标准中所实施,可在切片层级处启用及停用SAO滤波,且另外,SAO滤波可独立地针对亮度及色度样本而启用及停用。举例来说,对于视频数据的特定切片,亮度及色度样本两者可经SAO滤波;亮度及色度样本两者都可能不经SAO滤波;或亮度及色度样本中的一者可经SAO滤波,而另一者可能不经SAO滤波。当SAO滤波经启用用于切片时,那么在译码树型单元(CTU)层级处发信SAO类型及偏移值。如上文所介绍,SAO类型可包含BO滤波、EO滤波或非SAO滤波。因此,即使SAO滤波经启用用于特定切片,那个切片的一些CTU仍可能不经SAO滤波(即,一些CTU将具有SAO类型的非SAO滤波)。在一些情况下,SAO类型及偏移值可以一系列合并旗标被发信,其中第一合并旗标的真值指示偏移类型且CTU的偏移值是从左相邻CTU继承,且第二合并旗标的真值指示SAO类型且偏移值是从上方相邻CTU继承。如果两个合并旗标为假,那么新的SAO类型及新的偏移值经发送用于CTU。
应理解,尽管HEVC在切片层级处启用及停用SAO滤波且在CTU层级处发信SAO信息,但预期到,本发明的技术可实施于SAO配置中,其中此类发信发生在不同层级处或使用完全不同发信机制的SAO配置中。
SAO信息(例如SAO类型及多个偏移值)经发信用于CTU。基于SAO类型,视频解码器在逐样本基础上确定来自所述多个偏移值中的哪一偏移值相加用于每一样本。如下文将更详细地所阐释,哪一偏移值适用于特定样本或样本块(例如CTU中的2×2块)的确定可基于针对样本块的特定样本确定的边缘及频带分类而确定。
本发明描述新版本的SAO,在本文中被称为峰值SAO。峰值SAO可为结合上文所描述的EO或BO滤波使用的额外SAO类型,或可经实施为与上文所描述的SAO滤波器分隔的新译码工具。当实施峰值SAO时,视频解码器可将不同偏移应用于视频数据的当前块中的两个或多于两个样本,即使样本与其相邻样本的关系相同也如此。作为峰值SAO的一个实例,视频解码器可比较第一样本与四个相邻样本以确定所述样本具有比所有四个相邻样本稍微较大的样本值(例如,亮度值或色讯值)。基于第一样本具有稍微较大样本值,视频解码器可将第一偏移应用于第一样本。对于第二样本,视频解码器可比较第二样本与四个类似定位的相邻样本以确定样本具有比所有四个相邻样本大得多的样本值。基于第二样本具有大得多的样本值,视频解码器可将与用于第一样本的偏移不同的偏移应用于第二样本。不同偏移可例如为不同于第一偏移的单一偏移值或可为两个偏移的组合(例如第一偏移加额外偏移)。
在传统SAO中,视频解码器将会将相同偏移应用于上文所描述的第一及第二样本两者,这是因为第一及第二样本相对于其相邻样本具有相同的关系(即,大于全部)。然而,在峰值SAO中,视频解码器将不同偏移应用于第一及第二样本,这是因为第一样本的值仅仅稍微大于其相邻样本,而第二样本的值比其相邻样本大得多。另外,在传统SAO中,样本仅仅与两个相邻样本相比较,而在峰值SAO中样本可与其它数目个相邻样本(例如4或8个相邻者)相比较。下文将更详细地描述峰值SAO的这些及其它方面。
因此,传统SAO技术不提供用于选择用于相对于相邻样本针对相同特性具有不同量值的不同样本的不同偏移粒度。举例来说,在传统SAO中,视频译码器将与应用于具有相对于相邻样本大得多的值的样本相同的偏移应用于具有相对于相邻样本稍大的值的样本。本发明描述适用于视频译码器的潜在地引起视频译码器具有较好速率-失真折衷的实例技术。举例来说,本发明中所描述的视频译码器可允许基于块的不同样本与相邻样本的相应差值而用于块的不同样本的不同偏移。
可参考视频译码器描述本发明中的各种技术,所述视频译码器意欲为可指视频编码器或视频解码器的一般术语。除非另有明确陈述,否则不应假定关于视频编码器或视频解码器所描述的技术不可由视频编码器或视频解码器中的另一者执行。举例来说,在许多情况下,视频解码器执行与视频编码器相同或有时互逆的译码技术以便解码经编码视频数据。在许多情况下,视频编码器还包含视频解码环路,且因此视频编码器执行作为编码视频数据的部分的视频解码。因此,除非另有说明,否则本发明中关于视频解码器所描述的技术也可由视频编码器执行,且反之亦然。
本发明还可使用例如当前块、当前图片等等的术语。在本发明的上下文中,相较于例如先前或已经译码块或图片或尚待译码的块或图片,术语“当前”意欲识别当前正被译码的块或图片。
本发明为易于阐释而将使用HEVC术语描述各种视频译码技术。然而,并未假定本发明的技术限于HEVC,而实际上,明确预期到,本发明的技术可实施于HEVC的后续标准及其扩展中。
图1为绘示可利用本发明中所描述的技术的实例视频编码及解码系统10的框图。如图1中所展示,系统10包含源装置12,其产生在稍后时间待由目的地装置14解码的经编码视频数据。源装置12及目的地装置14可包括广泛范围的装置中的任一者,包含桌上型计算机、笔记本(即,膝上型)计算机、平板计算机、机顶盒、电话手机(例如所谓的“智能”电话)、所谓的“智能”平板、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式处理装置等等。在一些情况下,源装置12及目的地装置14可经装备以用于无线通信。
目的地装置14可经由链路16接收待解码的经编码视频数据。链路16可包括能够将经编码视频数据从源装置12移动至目的地装置14的任何类型的媒体或装置。在一个实例中,链路16可包括使源装置12能够实时将经编码视频数据直接发射至目的地装置14的通信媒体。可根据通信标准(例如无线通信协议)调制经编码视频数据,且将其发射至目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如射频(RF)频谱或一或多个物理传输线。通信媒体可形成基于数据包的网络(例如局域网、广域网或全球网络,例如互联网)的部分。通信媒体可包含路由器、交换机、基站,或可适用于促进从源装置12至目的地装置14的通信的任何其它设备。
在另一实例中,可将经编码数据从输出接口22输出至存储装置26。类似地,可由输入接口从存储装置26存取经编码数据。存储装置26可包含各种分布式或本地存取数据存储媒体(例如硬盘、蓝光光盘、DVD、CD-ROM、闪速存储器、易失性或非易失性存储器,或用于存储经编码视频数据的任何其它合适数字存储媒体)中的任一者。在另一实例中,存储装置26可对应于可保持由源装置12产生的经编码视频的文件服务器或另一中间存储装置。目的地装置14可经由流式处理或下载而从存储装置26存取所存储的视频数据。文件服务器可为能够存储经编码视频数据并将所述经编码视频数据发射至目的地装置14的任何类型的服务器。实例文件服务器包含网页服务器(例如,用于网站)、FTP服务器、网络附接存储(NAS)装置或本地磁盘驱动器。目的地装置14可经由任何标准数据连接(包含互联网连接)而存取经编码视频数据。此连接可包含适合于存取存储于文件服务器上的经编码视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等等)或两者的组合。经编码视频数据从存储装置26的发射可为流式处理发射、下载发射或两者的组合。
本发明的技术未必限于无线应用或设定。所述技术可应用于支持多种多媒体应用(例如经由互联网的空中电视广播、有线电视发射、卫星电视发射、流式处理视频发射)中的任一者的视频译码、供存储于数据存储媒体上的数字视频的编码、存储于数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,系统10可经配置以支持单向或双向视频发射以支持应用,例如视频流式处理、视频回放、视频广播及/或视频电话的应用。
在图1的实例中,源装置12包含视频源18、视频编码器20及输出接口22。在一些状况下,输出接口22可包含调制器/解调器(调制解调器)及/或发射器。在源装置12中,视频源18可包含例如视频俘获装置(例如,视频相机)、含有先前所俘获的视频的视频存档、用以从视频内容提供者接收视频的视频馈送接口及/或用于将计算机图形数据产生为源视频的计算机图形系统,或此类源的组合。作为一个实例,如果视频源18为视频相机,那么源装置12及目的地装置14可形成所谓的相机电话或视频电话。然而,本发明中所描述的技术可大体上适用于视频译码,且可应用于无线及/或有线应用。
经俘获、经预俘获或计算机产生的视频可由视频编码器20编码。可经由源装置12的输出接口22将经编码视频数据直接发射至目的地装置14。经编码视频数据还(或替代地)可存储至存储装置26上用于稍后由目的地装置14或其它装置存取,以供解码及/或回放。
目的地装置14包含输入接口28、视频解码器30及显示装置32。在一些状况下,输入接口28可包含接收器及/或调制解调器。目的地装置14的输入接口28经由链路16接收经编码视频数据。经由链路16传达或在存储装置26上所提供的经编码视频数据可包含由视频编码器20所产生的多种语法元素,其供例如视频解码器30的视频解码器在解码所述视频数据时使用。此类语法元素可与在通信媒体上发射、存储于存储媒体上或存储于文件服务器上的经编码视频数据包含在一起。
显示装置32可与目的地装置14集成或在目的地装置14的外部。在一些实例中,目的地装置14可包含集成显示装置且还经配置以与外部显示装置介接。在其它实例中,目的地装置14可为显示装置。一般来说,显示装置32向用户显示经解码视频数据,且可包括多种显示装置中的任一者,例如液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
视频编码器20及视频解码器30可根据视频压缩标准(例如最近定案的高效率视频译码(HEVC)标准)而操作,且可符合HEVC测试模型(HM)。视频编码器20及视频解码器30可另外根据HEVC扩展(例如范围扩展、多视图扩展(MV-HEVC),或已由视频译码的联合合作小组(JCT-VC)以及ITU-T视频译码专家团体(VCEG)及ISO/IEC动画专家团体(MPEG)的3D视频译码扩展开发的联合合作小组(JCT-3V)开发的可伸缩扩展(SHVC))而操作。
视频编码器20及视频解码器30还可根据其它专有或行业标准(例如ITU-T H.264标准,被替代地称作ISO/IEC MPEG-4,第10部分,高级视频译码(AVC))或此类标准的扩展(例如可伸缩视频译码(SVC)及多视图视频译码(MVC)扩展)而操作。然而,本发明的技术不限于任何特定译码标准。视频压缩标准的其它实例包含ITU-T H.261、ISO/IEC MPEG-1Visual、ITU-T H.262或ISO/IEC MPEG-2 Visual、ITU-T H.263及ISO/IEC MPEG-4 Visual。
ITU-T VCEG(Q6/16)及ISO/IEC MPEG(JTC 1/SC 29/WG 11)现在正研究对于将具有显著超过当前HEVC标准(包含其当前扩展及针对屏幕内容译码及高动态范围译码的近期扩展)的压缩能力的压缩能力的未来视频译码技术标准化的潜在需要。所述团体正共同致力于联合合作工作(被称为联合视频探索小组(JVET))中的此探索活动,以评估由此领域中的专家提议的压缩技术设计。JVET在2015年10月19日至21日期间第一次会面。参考软件的一个版本(即,联合探索模型2(JEM2))可从https://jvet.hhi.fraunhofer.de/svn/svn_HMJEMSoftware/tags/HM-16.6-JEM-2.0/下载。在2016年3月圣地亚哥,JVET-B1001,J.Chen,E.Alshina,G.J.Sullivan,J.-R.Ohm,J.Boyce的“Algorithm description ofJoint Exploration Test Model 2”(其描述以引用的方式并入本文中)中描述用于JEM2的算法。参考软件的另一版本(即,联合探索模型3(JEM 3))可从https://jvet.hhi.fraunhofer.de/svn/svn_HMJEMSoftware/tags/HM-16.6-JEM-3.0/下载。用于JEM3的算法描述也可被称作JVET-C1001且以引用的方式并入本文中。
尽管图1中未展示,但在一些方面中,视频编码器20及视频解码器30可各自与音频编码器及解码器集成,且可包含适当MUX-DEMUX单元,或其它硬件及软件,以处置共同数据流或单独数据流中的音频及视频两者的编码。在一些实例中,适用时,MUX-DEMUX单元可符合ITU H.223多路复用器协议或其它协议(例如用户数据报协议(UDP))。
视频编码器20及视频解码器30各自可被实施为多种合适的编码器电路或解码器电路中的任一者,例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当所述技术部分地以软件实施时,装置可将用于软件的指令存储于合适的非暂时性计算机可读媒体中,且在硬件中使用一或多个处理器执行指令以执行本发明的技术。视频编码器20及视频解码器30中的每一者可包含于一或多个编码器或解码器中,编码器或解码器中的任一者可被集成为相应装置中的组合式编码器/解码器(CODEC)的部分。
在HEVC及其它视频译码规范中,视频序列通常包含一系列图片。图片也可被称为“帧”。在一个实例途径中,图片可包含三个样本阵列,被表示为SL、SCb及SCr。在此类实例途径中,SL为亮度样本的二维阵列(即,块)。SCb为Cb色讯样本的二维阵列。SCr为Cr色讯样本的二维阵列。色讯样本也可在本文中被称作“色度”样本。在其它情况下,图片可为单色的,且可仅包含亮度样本阵列。
为产生图片的经编码表示,视频编码器20可产生一组译码树型单元(CTU)。CTU中的每一者可包括亮度样本的译码树型块、色度样本的两个对应译码树型块,及用以译码所述译码树型块的样本的语法结构。在单色图片或具有三个单独颜色平面的图片中,CTU可包括单一译码树型块及用以译码所述译码树型块的样本的语法结构。译码树型块可为样本的N×N块。CTU也可被称作“树型块”或“最大译码单元”(LCU)。HEVC的CTU可广泛地类似于例如H.264/AVC的其它标准的宏块。然而,CTU未必限于特定大小,且可包含一或多个译码单元(CU)。切片可包含按光栅扫描次序连续地排序的整数数目个CTU。
为产生经译码CTU,视频编码器20可对CTU的译码树型块递归地执行四叉树分割,以将译码树型块划分成译码块,因此命名为“译码树型单元”。译码块可为样本的N×N块。CU可包括具有亮度样本阵列、Cb样本阵列及Cr样本阵列的图片的亮度样本的译码块,及色度样本的两个对应译码块,及用于译码所述译码块的样本的语法结构。在单色图片或具有三个单独颜色平面的图片中,CTU可包括单一译码块及用于译码所述译码块的样本的语法结构。
视频编码器20可将CU的译码块分割为一或多个预测块。预测块为经应用相同预测的样本的矩形(即,正方形或非正方形)块。CU的预测单元(PU)可包括亮度样本的预测块、色度样本的两个对应预测块及用于预测所述预测块的语法结构。在单色图片或具有三个单独颜色平面的图片中,PU可包括单一预测块及用以预测所述预测块的语法结构。视频编码器20可针对CU的每一PU的亮度预测块、Cb预测块及Cr预测块产生预测性亮度块、Cb块及Cr块。
视频编码器20可使用帧内预测或帧间预测来产生PU的预测性块。如果视频编码器20使用帧内预测产生PU的预测性块,那么视频编码器20可基于与PU相关联的图片的经解码样本产生PU的预测性块。如果视频编码器20使用帧间预测以产生PU的预测性块,那么视频编码器20可基于不同于与PU相关联的图片的一或多个图片的经解码样本产生PU的预测性块。
在视频编码器20产生CU的一或多个PU的预测性亮度块、预测性Cb块及预测性Cr块之后,视频编码器20可产生CU的亮度残余块。CU的亮度残余块中的每一样本指示CU的预测性亮度块中的一者中的亮度样本与CU的原始亮度译码块中的对应样本之间的差。另外,视频编码器20可产生CU的Cb残余块。CU的Cb残余块中的每一样本可指示CU的预测性Cb块中的一者中的Cb样本与CU的原始Cb译码块中的对应样本之间的差。视频编码器20还可产生CU的Cr残余块。CU的Cr残余块中的每一样本可指示CU的预测性Cr块中的一者中的Cr样本与CU的原始Cr译码块中的对应样本之间的差。
此外,视频编码器20可使用四叉树分割以将CU的亮度残余块、Cb残余块及Cr残余块分解为一或多个亮度变换块、Cb变换块及Cr变换块。变换块为经应用相同变换的样本的矩形(例如,正方形或非正方形)块。CU的变换单元(TU)可包括亮度样本的变换块、色度样本的两个对应变换块及用于变换所述变换块样本的语法结构。因此,CU的每一TU可与亮度变换块、Cb变换块及Cr变换块相关联。与TU相关联的亮度变换块可为CU的亮度残余块的子块。Cb变换块可为CU的Cb残余块的子块。Cr变换块可为CU的Cr残余块的子块。在单色图片或具有三个单独颜色平面的图片中,TU可包括单一变换块及用于变换所述变换块的样本的语法结构。
视频编码器20可将一或多个变换应用于TU的亮度变换块,以产生TU的亮度系数块。系数块可为变换系数的二维阵列。变换系数可为标量。视频编码器20可将一或多个变换应用于TU的Cb变换块以产生TU的Cb系数块。视频编码器20可将一或多个变换应用于TU的Cr变换块以产生TU的Cr系数块。
具有CTU、CU、PU及TU的上述块结构通常描述在HEVC中所使用的块结构。然而,其它视频译码标准可使用不同块结构。作为一个实例,尽管HEVC允许PU及TU具有不同大小或形状,但其它视频译码标准可需要预测性块及变换块以具有相同大小。本发明的技术不限于HEVC的块结构且可与其它块结构兼容。
在产生系数块(例如,亮度系数块、Cb系数块或Cr系数块)之后,视频编码器20可量化系数块。量化通常是指变换系数经量化以可能减少用以表示变换系数的数据的量从而提供进一步压缩的过程。在视频编码器20量化系数块之后,视频编码器20可对指示经量化变换系数的语法元素进行熵编码。举例来说,视频编码器20可对指示经量化变换系数的语法元素执行上下文自适应二进制算术译码(CABAC)。
视频编码器20可输出包含形成经译码图片及相关联数据的表示的位序列的位流。位流可包括网络抽象层(NAL)单元的序列。NAL单元为含有NAL单元中的数据的类型的指示及含有所述数据的呈按需要穿插有模拟阻止位的原始字节序列有效负载(RBSP)的形式的字节的语法结构。NAL单元中的每一者包含NAL单元标头,且囊封RBSP。NAL单元标头可包含指示NAL单元类型码的语法元素。由NAL单元的NAL单元标头指定的NAL单元类型码指示NAL单元的类型。RBSP可为含有囊封在NAL单元内的整数数目个字节的语法结构。在一些情况下,RBSP包含零个位。
不同类型的NAL单元可囊封不同类型的RBSP。举例来说,第一类型的NAL单元可囊封用于PPS的RBSP,第二类型的NAL单元可囊封用于经译码切片的RBSP,第三类型的NAL单元可囊封用于SEI消息的RBSP等等。囊封用于视频译码数据的RBSP(与用于参数集及SEI消息的RBSP相对)的NAL单元可被称作VCL NAL单元。
视频解码器30可接收由视频编码器20产生的位流。此外,视频解码器30可剖析位流以从所述位流获得语法元素。视频解码器30可至少部分地基于从位流获得的语法元素而重构视频数据的图片。重构视频数据的过程可与由视频编码器20执行的过程大体上互逆。另外,视频解码器30可反量化与当前CU的TU相关联的系数块。视频解码器30可对系数块执行反变换以重构与当前CU的TU相关联的变换块。通过将当前CU的PU的预测性块的样本与当前CU的TU的变换块的对应样本相加,视频解码器30可重构当前CU的译码块。通过重构图片的每一CU的译码块,视频解码器30可重构图片。
现在将论述HEVC及JEM技术的方面。图2展示HEVC解码器的实例框图。图2中所展示的视频解码器可对应于上文所描述的视频解码器30,且其将在下文更详细地予以描述。HEVC采用包含解块滤波器(DBF)及SAO的两个环路内滤波器。在IEEE电路系统视频技术汇刊,22(12):1755页至1764页(2012年),C.Fu,E.Alshina,A.Alshin,Y.Huang,C.Chen,Chia.Tsai,C.Hsu,S.Lei,J.Park,W.Han的“Sample adaptive offset in the HEVCstandard”中描述了关于HEVC解码及SAO的额外细节。
如所说明,至DBF的输入可为在帧内或帧间预测之后的经重构图像,如以来自重构块的输出所展示。DBF执行在经译码块边界处的伪影的检测且通过应用经选择滤波器将其衰减。与H.264/AVC解块滤波器相比,HEVC解块滤波器具有较低计算复杂度及较好并行处理能力,同时仍实现视觉伪影的显著减少。对于额外实例,参看IEEE电路系统视频技术汇刊,22(12):1746页至1754页(2012年),A.Norkin,G.Bjontegaard,A.Fuldseth,M.Narroschke,M.Ikeda,K.Andersson,Minhua Zhou,G.Van der Auwera的“HEVC Deblocking Filter”。
至SAO的输入可为在调用解块滤波之后的经重构图像,如以来自解块滤波器的输出所展示。SAO的概念为通过首先运用经选择分类器将区样本分类成多个类别,获得用于每一类别的偏移,且接着将偏移与类别的每一样本相加而减小区的平均样本失真,其中分类器索引及区的偏移是在位流中译码。在HEVC中,区(用于SAO参数发信的单元)经定义为CTU。
在HEVC中采用可满足低复杂度要求的两种SAO类型。那些两种类型为如上文所介绍的EO及BO。译码SAO类型的索引(其在[0,2]范围内)。在发信SAO类型的上下文中,不执行SAO或跳过SAO可被视为第三类型的SAO。对于EO,样本分类是基于在当前样本与相邻样本之间根据以下1-D方向图案的比较:水平、竖直、135°对角线及45°对角线。
图3A至3D展示EO样本分类的四个1-D方向图案:水平(图3A,EO种类=0),竖直(图3B,EO种类=1),135°对角线(图3C,EO种类=2),及45°对角线(图3D,EO种类=3)。在IEEE电路系统视频技术汇刊,22(12):1755页至1764页(2012年),C.Fu,E.Alshina,A.Alshin,Y.Huang,C.Chen,Chia.Tsai,C.Hsu,S.Lei,J.Park,W.Han的“Sample adaptive offset inthe HEVC standard”中描述了与SAO相关的额外细节。
根据经选择EO图案,由表I中的edgeIdx表示的五个类别经进一步定义。对于等于0~3的edgeIdx,偏移的量值可经发信,而正负号旗标经隐含地译码,即,对于等于0或1的edgeIdx,负偏移,且对于等于2或3的edgeIdx,正偏移。对于等于4的edgeIdx,偏移始终经设定成0,这意味着对于此状况不需要操作。
表I:用于EO的分类
对于BO,样本分类是基于样本值。每一颜色分量可具有用于BO类型SAO滤波的分类的其自身SAO参数。BO暗示一个偏移与同一频带的所有样本相加。样本值范围经相等地分成32个频带。对于范围介于0至255的8位样本,频带的宽度为8,且从8k至8k+7的样本值属于频带k,其中k在0至31范围内。频带中的原始样本与经重构样本之间的平均差(即,频带的偏移)经发信至解码器(例如,视频解码器30)。不存在对于偏移正负号的约束。四个连续频带与开始频带位置的偏移仅被发信至解码器(例如,视频解码器30)。
对于侧信息的发信,为减小侧信息,多个CTU可合并在一起(复制来自上方CTU(经由设定sao_merge_up_flag等于1)或左CTU(经由设定sao_merge_left_flag等于1)的参数)以共享SAO参数。
语法表
译码树型单元语法
样本自适应偏移语法
语义
sao_merge_left_flag等于1指定语法元素sao_type_idx_luma、sao_type_idx_chroma、sao_band_position、sao_eo_class_luma、sao_eo_class_chroma、sao_offset_abs及sao_offset_sign是从左译码树型块的对应语法元素导出。sao_merge_left_flag等于0指定这些语法元素不是从左译码树型块的对应语法元素导出。当sao_merge_left_flag不存在时,推断其为等于0。
sao_merge_up_flag等于1指定语法元素sao_type_idx_luma、sao_type_idx_chroma、sao_band_position、sao_eo_class_luma、sao_eo_class_chroma、sao_offset_abs及sao_offset_sign是从上方译码树型块的对应语法元素导出。sao_merge_up_flag等于0指定这些语法元素不是从上方译码树型块的对应语法元素导出。当sao_merge_up_flag不存在时,推断其为等于0。
sao_type_idx_luma指定用于亮度分量的偏移类型。阵列SaoTypeIdx[cIdx][rx][ry]指定如表7至8中针对在位置(rx,ry)处的译码树型块对于颜色分量cIdx所指定的偏移类型。SaoTypeIdx[0][rx][ry]的值经导出如下:
-如果sao_type_idx_luma存在,那么SaoTypeIdx[0][rx][ry]经设定为等于sao_type_idx_luma。
-否则(sao_type_idx_luma不存在),SaoTypeIdx[0][rx][ry]经导出如下:
-如果sao_merge_left_flag等于1,那么SaoTypeIdx[0][rx][ry]经设定为等于SaoTypeIdx[0][rx-1][ry]。
-否则,如果sao_merge_up_flag等于1,那么SaoTypeIdx[0][rx][ry]经设定为等于SaoTypeIdx[0][rx][ry-1]。
-否则,SaoTypeIdx[0][rx][ry]设定为等于0。
sao_type_idx_chroma指定用于色度分量的偏移类型。SaoTypeIdx[cIdx][rx][ry]的值对于cIdx等于1..2经导出如下:
-如果sao_type_idx_chroma存在,那么SaoTypeIdx[cIdx][rx][ry]经设定为等于sao_type_idx_chroma。
-否则(sao_type_idx_chroma不存在),SaoTypeIdx[cIdx][rx][ry]经导出如下:
-如果sao_merge_left_flag等于1,那么SaoTypeIdx[cIdx][rx][ry]经设定为等于SaoTypeIdx[cIdx][rx-1][ry]。
-否则,如果sao_merge_up_flag等于1,那么SaoTypeIdx[cIdx][rx][ry]经设定为等于SaoTypeIdx[cIdx][rx][ry-1]。
-否则,SaoTypeIdx[cIdx][rx][ry]设定为等于0。
表7至8—SAO类型的规范
SaoTypeIdx[cIdx][rx][ry] | SAO类型(信息性) |
0 | 未经应用 |
1 | 频带偏移 |
2 | 边缘偏移 |
sao_offset_abs[cIdx][rx][ry][i]指定对于颜色分量cIdx的针对位置(rx,ry)处的译码树型块的第i类别的偏移值。
当sao_offset_abs[cIdx][rx][ry][i]不存在时,其推断如下:
-如果sao_merge_left_flag等于1,那么sao_offset_abs[cIdx][rx][ry][i]推断为等于sao_offset_abs[cIdx][rx-1][ry][i]。
-否则,如果sao_merge_up_flag等于1,那么sao_offset_abs[cIdx][rx][ry][i]推断为等于sao_offset_abs[cIdx][rx][ry-1][i]。
-否则,sao_offset_abs[cIdx][rx][ry][i]推断为等于0。
sao_offset_sign[cIdx][rx][ry][i]指定对于颜色分量cIdx的针对在位置(rx,ry)处的译码树型块的第i类别的偏移值的正负号。
当sao_offset_sign[cIdx][rx][ry][i]不存在时,其推断如下:
-如果sao_merge_left_flag等于1,那么sao_offset_sign[cIdx][rx][ry][i]推断为等于sao_offset_sign[cIdx][rx-1][ry][i]。
-否则,如果sao_merge_up_flag等于1,那么sao_offset_sign[cIdx][rx][ry][i]推断为等于sao_offset_sign[cIdx][rx][ry-1][i]。
-否则,如果SaoTypeIdx[cIdx][rx][ry]等于2,那么以下适用:
-如果i等于0或1,那么sao_offset_sign[cIdx][rx][ry][i]推断为等于0。
-否则(i等于2或3),sao_offset_sign[cIdx][rx][ry][i]推断为等于1。
-否则,sao_offset_sign[cIdx][rx][ry][i]推断为等于0。
如下导出变量log2OffsetScale:
-如果cIdx等于0,那么将log2OffsetScale设定为等于log2_sao_offset_scale_luma。
-否则(cIdx等于1或2),将log2OffsetScale设定为等于log2_sao_offset_scale_chroma。
对于范围介于0至4(包含端点)的i的列表SaoOffsetVal[cIdx][rx][ry][i]经导出如下:
sao_band_position[cIdx][rx][ry]指定在SaoTypeIdx[cIdx][rx][ry]等于1时样本范围的频带偏移的位移。
当sao_band_position[cIdx][rx][ry]不存在时,其推断如下:
-如果sao_merge_left_flag等于1,那么sao_band_position[cIdx][rx][ry]推断为等于sao_band_position[cIdx][rx-1][ry]。
-否则,如果sao_merge_up_flag等于1,那么sao_band_position[cIdx][rx][ry]推断为等于sao_band_position[cIdx][rx][ry-1]。
-否则,sao_band_position[cIdx][rx][ry]推断为等于0。
sao_eo_class_luma指定用于亮度分量的边缘偏移种类。阵列SaoEoClass[cIdx][rx][ry]指定如表7至9中对于颜色分量cIdx的针对在位置(rx,ry)处译码树型块所指定的偏移类型。SaoEoClass[0][rx][ry]的值经导出如下:
-如果sao_eo_class_luma存在,那么SaoEoClass[0][rx][ry]经设定为等于sao_eo_class_luma。
-否则(sao_eo_class_luma不存在),SaoEoClass[0][rx][ry]经导出如下:
-如果sao_merge_left_flag等于1,那么SaoEoClass[0][rx][ry]经设定为等于SaoEoClass[0][rx-1][ry]。
-另外,如果sao_merge_up_flag等于1,那么SaoEoClass[0][rx][ry]经设定为等于SaoEoClass[0][rx][ry-1]。
-否则,SaoEoClass[0][rx][ry]设定为等于0。
sao_eo_class_chroma指定用于色度分量的边缘偏移种类。SaoEoClass[cIdx][rx][ry]的值对于cIdx等于1..2经导出如下:
-如果sao_eo_class_chroma存在,那么SaoEoClass[cIdx][rx][ry]经设定为等于sao_eo_class_chroma。
-否则(sao_eo_class_chroma不存在),SaoEoClass[cIdx][rx][ry]经导出如下:
-如果sao_merge_left_flag等于1,那么SaoEoClass[cIdx][rx][ry]经设定为等于SaoEoClass[cIdx][rx-1][ry]。
-否则,如果sao_merge_up_flag等于1,那么SaoEoClass[cIdx][rx][ry]经设定为等于SaoEoClass[cIdx][rx][ry-1]。
-否则,SaoEoClass[cIdx][rx][ry]设定为等于0。
表7至9—SAO边缘偏移种类的规范
SaoEoClass[cIdx][rx][ry] | SAO边缘偏移种类(信息性) |
0 | 1D 0度边缘偏移 |
1 | 1D 90度边缘偏移 |
2 | 1D 135度边缘偏移 |
3 | 1D 45度边缘偏移 |
视频编码器20及视频解码器30可经配置以实施各种JEM滤波器滤波技术。现在将描述那些JEM滤波技术的方面。除了经修改DB及HEVC SAO方法以外,JEM还已包含另一滤波方法,被称为基于几何变换的自适应环路滤波(GALF)。GALF旨在通过引入若干新方面而改善HEVC级中研究的ALF的译码效率。ALF旨在通过使用基于维纳的自适应滤波器而最小化原始样本与经解码样本之间的均方误差。图片中的样本经分类为多个类别,且每一类别中的样本接着运用其相关联自适应滤波器来滤波。滤波器系数可经发信或继承以优化均方误差与开销之间的折衷。基于几何变换的ALF(GALF)方案经提议以进一步改善ALF的性能,其取决于在ALF之前的经重构样本的梯度的定向而引入待应用于滤波器支持区中的样本的几何变换(例如旋转、对角线及竖直翻转)。
至ALF/GALF的输入可为在调用SAO之后的经重构图像(例如,图2中的样本自适应偏移的输出)。如2016年2月20日至2月26日美国圣地亚哥第二次会议:ITU-T SG 16WP 3及ISO/IEC JTC 1/SC 29/WG 11的探索小组(JVET),文档JVET-B0060,M.Karczewicz,L.Zhang,W.-J.Chien,X.Li的“EE2.5:Improvements on adaptive loop filter”及2016年5月26日至6月1日CH日内瓦第三次会议:ITU-T SG 16WP 3及ISO/IEC JTC 1/SC 29/WG 11的探索小组(JVET),文档JVET-C0038,M.Karczewicz,L.Zhang,W.-J.Chien,X.Li的“EE2.5:Improvements on adaptive loop filter”中所描述,基于几何变换的ALF(GALF)经提议且已采用JEM的最新版本,即,JEM3.0。在GALF中,运用所考虑的对角线梯度修改分类,且几何变换可应用于滤波器系数。每一2×2块基于其方向性及活动的经量化值而分类成25个种类中的一者。以下子章节中描述细节。
视频编码器20及视频解码器30可经配置以从固定滤波器预测滤波器。另外,为在时间预测不可用(帧内)时改善译码效率,将一组16个固定滤波器指派给每一种类。为指示固定滤波器的使用,用于每一种类的旗标经发信,且必要时,发信经选择固定滤波器的索引。即使当固定滤波器经选择用于给定种类时,自适应滤波器的系数f(k,l)仍可经发送用于此种类,在此状况下将应用于经重构图像的滤波器的系数为两组系数的总和。种类的数目可共享在位流中发信的相同系数f(k,l),即使针对其选择不同固定滤波器也如此。如2016年2月15日申请的美国临时专利申请案62/295,461及2016年4月19日申请的美国临时专利申请案62/324,776中所阐释,固定滤波器还可应用于经帧间译码帧。
视频编码器20及视频解码器30可经配置以执行滤波器系数的时间预测。现在将描述滤波器系数的时间预测的方面。存储参考图片的ALF系数,且允许其重新用作当前图片的ALF系数。当前图片可选择使用经存储用于参考图片的ALF系数,且略过ALF系数发信。在此状况下,仅仅发信至参考图片中的一者的索引,且针对当前图片仅继承所指示参考图片的所存储ALF系数。为指示时间预测的使用,在发送索引之前首先译码一个旗标。
HEVC/JEM的设计可具有若干潜在问题。作为潜在问题的一个实例,SAO仅仅采用1-D方向信息用于分类,其可限制译码性能。作为潜在问题的另一实例,HEVC中的SAO的EO利用包含图案及类别的两个层级发信。在HEVC中的SAO中,对于图案内的每一类别,仅仅一个偏移可在不考虑相邻样本与当前样本之间的差多远的情况下与样本相加。作为潜在问题的另一实例,观察到SAO参数对于未在左/上方向中定位的两个块可类似。因此,允许来自不同块的参数的灵活合并可带来额外译码增益。作为潜在问题的另一实例,若干环路内滤波方法需要若干次处理经重构图像,这可能会增加带宽及计算复杂度。
为潜在解决上文所介绍的问题,本发明描述用于新滤波方法(在本发明中被称为峰值SAO)的技术,其中经选择相邻样本与当前样本的差值的量(而非仅存在差)可用以导出多于一个偏移。另外,可利用更多相邻样本,且可介绍用于分类的更复杂准则。用于在本发明中所描述的峰值SAO的技术可作为额外SAO类型(例如,除了EO及BO以外)实施至SAO滤波器中或可为现有SAO类型(例如EO)的替换。所提议技术还可适用于现有SAO技术。视频编码器20及视频解码器30可个别地应用以下描述技术,或除非有相反陈述,否则以任何组合应用以下描述技术。
视频编码器20及视频解码器30可经配置以执行峰值SAO滤波。现在将描述峰值SAO的结构的方面。根据一个实例,峰值SAO信息的三个类别可使用例如三个语法元素或明确发信与不需要明确发信的导出技术的组合从视频编码器20发信至视频解码器30。峰值SAO信息的第一类别为类型信息。类型可用于分类,且每一类型可具有一或多个相关联群(峰值SAO信息的第二类别)。另外,对于类型内的每一群,可定义一或多个种类(峰值SAO信息的第三类别)。
类型定义选择相邻样本及/或分开或联合发信的规则。举例来说,类型可定义相邻样本的多少及用于选择滤波器参数(例如,偏移值)的相邻样本的模板。作为实例,第一类型可指定待用于确定滤波器参数的四个相邻样本;第二类型可指定待用于确定滤波器参数的四个不同相邻样本;且第三类型可指定待用于确定滤波器参数的八个相邻样本。群定义应被滤波的样本的规则,及/或定义选择模板中的相邻样本的规则。在一些实例中,如果样本并未经分类为任一群,那么不滤波样本。种类指示哪一偏移应用以修改样本。举例来说,当前样本与经选择相邻样本之间的样本差值可经评估并用以导出种类索引。不同种类可具有其自身偏移值。
现在将更详细地描述类型定义的方面。类型告知相邻样本中的哪些待用于滤波器参数的选择。根据一个实例,包含空间及/或时间相邻者的更多相邻样本可用以决定类型及/或群及/或种类,而非如同HEVC SAO中始终根据1-D方向使用2个空间相邻样本。相邻样本的定义还可适用于HEVC中的SAO。N表示用于类型确定的相邻样本的数目。N为正值且可例如大于2。
在另一实例中,相邻样本可由通过相邻样本的若干环绕样本导出的值(例如环绕样本的加权平均值)表示。
在另一实例中,相邻样本可使用模板匹配过程从给定图片区(搜索窗)选择。为识别这些样本,对于给定图片区中的每一像素或经选择的每一组像素,将其环绕样本与当前像素的环绕样本相比较,且具有与当前样本相比类似(较小差)环绕样本的那些像素经选为相邻样本。举例来说,在图4中,将s0及sx的相邻样本与当前像素X相比较,如
基于SAD值,具有最小SAD值(例如,s0)的N(例如,4或8)个样本接着被识别并用作相邻样本。
根据本发明的技术,为确定第一样本及第二样本的偏移,视频编码器20及视频解码器30可比较当前块的第一样本与第一组相邻样本且比较当前块的第二样本与第二组相邻样本,其中第一组相邻样本相对于第一样本具有与第二组相邻样本相对于第二样本具有的图案相同的图案。参看图4,像素C1、C3、C4及C6相对于像素X具有与像素DX1、DX3、DX4及DX6相对于像素SX具有的图案相同的图案。作为另一实例,像素C2及C5相对于像素X具有与像素DX2至DX5相对于像素SX具有的图案相同的图案。作为另一实例,像素C1至C8相对于像素X具有与像素DX1至DX8相对于像素SX具有的图案相同的图案。
在一个实例中,N可设定成4或8。在另一实例中,不同类型确定可利用不同数目个相邻样本。在另一实例中,甚至在一种类型内,不同群可使用不同相邻样本,例如,N可不同。在另一实例中,甚至在一个群内,不同种类可使用不同相邻样本,例如,N可不同。
可为每一类型预定义及固定被利用的哪些相邻样本的相对位置。举例来说,对于N等于4,相对位置为:左、上、右及下,如图5中所展示(由Ci表示,其中i为0..3),而对于N等于8,利用空间环绕样本。在其它实例中,用于类型的相邻样本的位置可在切片内是自适应的,例如,其可取决于帧内预测模式/变换矩阵/切片类型。在其它实例中,可在序列参数集/图片参数集/切片标头/适应参数集中发信相对位置的指示。
图5展示相邻样本Ci及当前样本C的实例。在另一实例中,用以确定类型、群及/或种类的哪些相邻样本的相对位置不限于如图5中所展示的实例。相对位置可为任一预定义空间及/或时间相邻样本。
视频编码器20可将多少相邻样本用于滤波的指示发信至视频解码器30。在另一实例中,可发信多少相邻样本用于滤波的最大数目的指示。另外,在另一实例中,可进一步发信类型内多少群的指示。在另一实例中,可发信类型索引,所述类型索引可暗示数目(及/或相邻样本的位置)以及由K表示的类型内的群数目两者。在此状况下,不需要独立地发信群数目。在一个实例中,下文在表II中给出类型索引、N及K之间的关系。
表II
现在将描述群定义的方面。举例来说,由Clgr(N)表示具有比当前样本大的值的相邻样本(或代表性相邻样本)的数目,由Csml(N)表示具有比当前样本小的值的相邻样本的数目。用于群定义的准则可依赖于Clgr(N)及/或Csml(N)的值。
在另一实例中,其可依赖于函数f(Clgr(N),Csml(N)),例如,f定义为最大值函数。当Clgr(N)大于Csml(N)时,其被称为“大趋势”。当Clgr(N)小于Csml(N)时,其被称为“小趋势”。对于定位于不同位置处的两个样本,如果一者属于大趋势且另一者属于小趋势,但函数的返回值相同(实例是在图6A及6B中展示且在下文描述),那么以下可适用。在一个实例中,两个样本可分类成在同一群内。另外,在此状况下,如果种类索引相同,那么对称滤波过程应用于两个趋势,其中偏移相同,同时对于大趋势,经修改样本值经设定成初始值加上偏移,且对于小趋势,经修改样本值经设定成初始值减去偏移。在另一实例中,两个样本可分类为两个群/种类且每一群/种类可具有不同偏移。在此状况下,滤波过程不对称。
图6A及6B展示具有8个经选择相邻样本的两个样本的实例。图6A展示“大趋势”的实例,其中当前样本值等于50且Clgr(N)=6。图6B展示“小趋势”的实例,其中当前样本值等于93且Csml(N)=6。
在一个实例中,取决于群的总数K,可预定义若干阈值(按递升次序,T0、T1、…TK)。在其它实例中,阈值可经发信或在运作中导出。群索引可通过比较Clgr(N)、Csml(N)的值与阈值而导出。
满足以下条件中的一者的样本,其将被分类成第i群:
-f(·)大于Ti且f(·)不大于Ti+1
相反地,如果f(·)小于或等于T0,那么不分类样本,即,无滤波操作将应用于此样本。
在一个实例中,阈值如下文在表III中所展示而定义。
表III
另外,在一个实例中,群确定可取决于对于不同N的(小/大)趋势。在一个实例中,对于两个不同N,如果趋势不同,那么可利用不同阈值。在另一实例中,其可进一步取决于f(·)。如下文在表IV中所展示而给出类型等于4的实例。
表IV
在另一实例中,对于等于4的类型,可存在6个群且每一群的定义可如下文在表V中所展示而定义。
表V
在另一实例中,多少相邻样本等于当前样本的信息可考虑用于群确定。另外,在另一实例中,群确定可取决于CBF(经译码块旗标,用以指示所有零系数)/译码的模式(帧内/帧间)/变换矩阵/预测方向(单向预测或双向预测)/预测块/当前切片的时间层级。
在一个实例中,当N的多个值经允许用于某一类型(如上文关于表III及IV所描述,其中N对于类型4可为4或8)时,一或多个索引可经发信以告知哪一N应用于所述类型内的群。
视频编码器20及视频解码器30可将种类索引与偏移值相关联。现在将论述用于种类索引确定的准则。种类索引的确定可取决于经选择相邻样本与当前样本之间的差的平均值。在一个实例中,经选择相邻样本的数目可能不大于用于类型定义的相邻样本的总数,例如,上文所提及的N。在一个实例中,经选择相邻样本应在其为“大(或小)趋势”时比当前样本更大(或更小)。表示经选择样本为Cs0、Cs1、…、CsM-1,种类索引经导出为M为非零正数。另外,在另一实例中,具有所有经选择样本之间的最大及最小差值的样本经进一步移除,即,在确定种类索引时不考虑。在另一实例中,经选择样本的数目应等于(pow(2,x)),使得除法操作可由移位替换。在另一实例中,可选择仅仅一个样本。
在另一实例中,种类索引可取决于经选择相邻样本与当前样本之间的值差的总和。另外,在另一实例中,种类索引可取决于归一化因子。在一个实例中,种类索引经导出为:
其中NF表示归一化因子。在另一实例中,归一化因子可等于(pow(2,x)),且因此种类索引可经导出为:
在一个实例中,归一化因子可取决于类型索引/群索引/N。可针对每一群发信归一化因子。在其它实例中,所有群可共享同一归一化因子,其中旗标可经发信以指示归一化因子是否共享。
所允许种类的最大数目可经发信。在一个实例中,此数目由所有类型/群共享。在一个实例中,此数目可经发信或在运作中暗示导出。另外,在另一实例中,当经导出种类索引超过所允许种类的最大数目时,这些样本经合并在一起。在一个实例中,种类索引经导出为:
或
其中IdxOffset可等于0或1。
视频编码器20可将偏移值发信至视频解码器30。现在将论述峰值SAO中的偏移值的发信。对于大趋势及小趋势,对应正及负偏移可共享同一量值。在其它实例中,不同偏移值可经发信。偏移可运用略过译码来译码。在其它实例中,偏移可运用上下文模型来译码。一元/截短一元/固定长度二值化方法可用于译码偏移的量值。视频编码器20及视频解码器30可通过译码一个偏移与相同群中的其先前译码值(与相邻种类索引相关联)之间的差来利用预测性译码。另外,一个旗标指示是否启用此方法。预测性译码可通过译码一个偏移与不同群中的其先前译码值(与经选择种类索引相关联)之间的差而利用。在一个实例中,偏移可从在先前译码切片中使用的偏移值继承或预测。在一个实例中,可存储若干组偏移值。可进一步发信所述组的一个索引。在一个实例中,偏移可在不发信的情况下在运作中导出。在一个实例中,可首先计算经选择相邻样本的平均值。偏移可经设定为min(average,Thresh),其中变量Thresh可经预定义。对于高位深度输入,固定移位值可经预定义或在SPS/PPS/APS/切片标头中发信,由L表示。在此状况下,最终偏移经设定为等于(经发信/导出偏移<<L)。
现在将论述视频编码器20及视频解码器30可如何应用峰值SAO的方面。在一个实例中,所提议峰值SAO方法可仅仅应用于亮度分量。另外,在其它实例中,一个旗标可经发信以指示峰值SAO经启用还是经停用用于某一图片/切片/图片块中的亮度分量。在另一实例中,所提议峰值SAO方法可应用于所有颜色分量。在一个实例中,所述方法可经调用或停用用于全部三个颜色分量。另外,一个旗标可经发信以指示峰值SAO经启用还是经停用用于某一图片/切片/图片块/块中的全部三个颜色分量。在另一实例中,每一颜色分量可具有启用/停用峰值SAO的其自身控制。另外,用于每一分量的一个旗标可经发信以指示峰值SAO经启用还是经停用用于某一图片/切片/图片块/块中的分量。在另一实例中,可使用用于亮度及色度分量的单独控制。另外,用于亮度分量的一个旗标及用于两个色度分量的一个旗标可经发信以指示峰值SAO经启用还是经停用用于某一图片/切片/图片块/块中的分量。在以上情况中,启用用于一个/多个色度分量的峰值SAO的指示的发信可依赖于用于亮度分量的峰值SAO。在一个实例中,仅仅当峰值SAO应用于一个图片/切片/图片块/块的亮度分量时,才可发信用于色度分量的指示。否则,峰值SAO将不应用于色度分量。
在一个实例中,对于某一颜色分量,视频编码器20可编码,且视频解码器30可解码开/关旗标,以指示峰值SAO是否经应用于每一译码块树/译码单元/区。
现在将描述视频译码系统(例如上文所描述的系统10)中的峰值SAO的使用。所描述技术可用作后处理,即,视频译码系统的环路外。在另一实例中,所提议方法可用作一个单独环路内滤波译码工具。在一个实例中,所述方法可在所有其它滤波译码工具(例如DBF、SAO、自适应环路滤波器(ALF)之前被调用。在另一实例中,所述方法可在滤波译码工具之间(例如在DB之后及在SAO之前,或在SAO之后但在ALF之前)被调用。在另一实例中,所述方法可在所有滤波译码工具之后(例如在ALF之后)被调用。在另一实例中,峰值SAO可应用于一个块的预测块,例如,所述预测块为经运动补偿块或从帧内预测导出。
在另一实例中,视频编码器20及视频解码器30可与其它环路内滤波译码工具(包含SAO的HEVC版本或SAO的其它版本)联合地实施本发明的峰值SAO技术。另外,在另一实例中,用于峰值SAO及联合使用的环路内滤波工具(例如,SAO)的输入将相同。另外,在另一实例中,SAO的类型或EO的类型将被扩展以涵盖峰值SAO的使用。
现在将描述与SAO相关的技术。对于运用相对条件定义的两个类别,两个偏移的量值(例如,一正及一负)经强迫为相同。因此,可需要发信仅仅一个偏移而非两个。在一个实例中,用于EO类别1的正偏移及用于EO类别4的负偏移被强迫为相同。在一个实例中,用于EO类别2的正偏移及用于EO类别3的负偏移被强迫为相同。
对于运用相对条件所定义的两个类别,视频编码器20及视频解码器30可预测性地译码第二偏移的量值(正或负)。因此,可对于第二偏移译码仅仅两个量值的差。在另一实例中,提议当前块的参数可从其它相邻块(例如左上方、右上方块)继承,而非仅仅允许来自空间左或上方CTU的SAO参数的合并。另外,在另一实例中,一个块的参数可从并非为相邻块的块复制。在另一实例中,一个块的参数可从定位于不同图片中的块复制。
本文中所描述的技术可实现存储器带宽节省。当可应用多个环路内滤波方法时,至少两个环路内滤波方法的输入可相同。即,分类是基于用于两个或多于两个滤波方法的相同输入。在一个实例中,在调用DBF之后经重构的图像可用作峰值SAO及SAO两者的输入。在一个实例中,在调用峰值SAO之后经重构的图像可用作SAO及ALF/GALF两者的输入。另外,在另一实例中,不同滤波方法的滤波过程仍可根据某一次序而执行。
图7为绘示可实施本发明中所描述的技术的实例视频编码器20的框图。视频编码器20可执行视频切片内的视频块的帧内译码及帧间译码。帧内译码依赖于空间预测以减小或移除给定视频帧或图片内的视频中的空间冗余。帧间译码依赖于时间预测以减小或移除视频序列的邻近帧或图片内的视频的时间冗余。帧内模式(I模式)可指若干基于空间的压缩模式中的任一者。帧间模式(例如单向预测(P模式)或双向预测(B模式))可指若干基于时间的压缩模式中的任一者。
在图7的实例中,视频编码器20包含视频数据存储器33、分割单元35、预测处理单元41、求和器50、变换处理单元52、量化单元54、熵编码单元56。预测处理单元41包含运动估计单元(MEU)42、运动补偿单元(MCU)44及帧内预测单元46。对于视频块重构,视频编码器20还包含反量化单元58、反变换处理单元60、求和器62、滤波器单元64及经解码图片缓冲器(DPB)66。
如图7中所展示,视频编码器20接收视频数据并将所接收的视频数据存储于视频数据存储器33中。视频数据存储器33可存储待由视频编码器20的组件编码的视频数据。可例如从视频源18获得存储于视频数据存储器33中的视频数据。DPB 66可为存储参考视频数据以用于由视频编码器20编码视频数据(例如在帧内或帧间译码模式中)的参考图片存储器。视频数据存储器33及DPB 66可由例如动态随机存取存储器(DRAM)(包含同步DRAM(SDRAM))、磁阻式RAM(MRAM)、电阻式RAM(RRAM)或其它类型的存储器装置的各种存储器装置中的任一者形成。视频数据存储器33及DPB 66可由同一存储器装置或单独存储器装置提供。在各种实例中,视频数据存储器33可与视频编码器20的其它组件一起在芯片上,或相对于那些组件在芯片外。
分割单元35从视频数据存储器33检索视频数据且将视频数据分割成视频块。此分割还可包含分割成切片、图片块或其它较大单元,以及例如根据LCU及CU的四叉树结构的视频块分割。视频编码器20通常绘示编码待编码的视频切片内的视频块的组件。切片可划分成多个视频块(且可能划分成被称作图片块的多组视频块)。预测处理单元41可基于错误结果(例如,译码速率及失真程度)选择多个可能译码模式中的一者(例如多个帧内译码模式中的一者或多个帧间译码模式中的一者)用于当前视频块。预测处理单元41可将所得经帧内或帧间译码块提供至求和器50以产生残余块数据并提供至求和器62以重构经编码块以用于用作参考图片。
预测处理单元41内的帧内预测单元46可执行当前视频块相对于与待译码的当前块在同一帧或切片中的一或多个相邻块的帧内预测性译码,以提供空间压缩。预测处理单元41内的运动估计单元42及运动补偿单元44执行当前视频块相对于一或多个参考图片中的一或多个预测性块的帧间预测性译码,以提供时间压缩。
运动估计单元42可经配置以根据视频序列的预定图案来确定用于视频切片的帧间预测模式。预定图案可将序列中的视频切片指定为P切片或B切片。运动估计单元42及运动补偿单元44可高度集成,但出于概念目的而被单独绘示。由运动估计单元42执行的运动估计为产生运动向量的过程,所述运动向量估计视频块的运动。举例来说,运动向量可指示将当前视频帧或图片内的视频块的PU相对于参考图片内的预测性块的位移。
预测性块为就像素差来说被发现紧密地匹配待译码的视频块的PU的块,所述像素差可由绝对差和(SAD)、平方差和(SSD)或其它差度量确定。在一些实例中,视频编码器20可计算存储于DPB 66中的参考图片的子整数像素位置的值。举例来说,视频编码器20可内插参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元42可执行关于全像素位置及分数像素位置的运动搜索且输出具有分数像素精度的运动向量。
运动估计单元42通过将PU的位置与参考图片的预测性块的位置比较而计算经帧间译码切片中的视频块的PU的运动向量。参考图片可选自第一参考图片列表(列表0)或第二参考图片列表(列表1),所述参考图片列表中的每一者识别存储在DPB 66中的一或多个参考图片。运动估计单元42将所计算运动向量发送至熵编码单元56及运动补偿单元44。
由运动补偿单元44执行的运动补偿可涉及基于通过运动估计确定的运动向量提取或产生预测性块,可能执行内插达子像素精度。在接收到当前视频块的PU的运动向量之后,运动补偿单元44可在参考图片列表中的一者中定位运动向量所指向的预测性块。视频编码器20通过从正被译码的当前视频块的像素值减去预测性块的像素值来形成残余视频块,从而形成像素差值。像素差值形成用于块的残余数据,且可包含亮度及色度差分量两者。求和器50表示执行此减法运算的一或多个组件。运动补偿单元44还可产生与视频块及视频切片相关联的语法元素以供视频解码器30在解码视频切片的视频块时使用。
在预测处理单元41经由帧内预测或帧间预测产生当前视频块的预测性块之后,视频编码器20通过从当前视频块减去预测性块而形成残余视频块。残余块中的残余视频数据可包含于一或多个TU中且被应用于变换处理单元52。变换处理单元52使用例如离散余弦变换(DCT)或概念上类似变换的变换将残余视频数据变换成残余变换系数。变换处理单元52可将残余视频数据从像素域转换至变换域(例如频域)。
变换处理单元52可将所得变换系数发送至量化单元54。量化单元54量化变换系数以进一步减少位速率。所述量化过程可减小与所述系数中的一些或全部相关联的位深度。可通过调整量化参数来修改量化程度。在一些实例中,量化单元54可接着执行对包含经量化变换系数的矩阵的扫描。在另一实例中,熵编码单元56可执行所述扫描。
在量化之后,熵编码单元56对经量化变换系数进行熵编码。举例来说,熵编码单元56可执行上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵编码方法或技术。在由熵编码单元56熵编码之后,经编码位流可被发射至视频解码器30,或经存档以供视频解码器30稍后发射或检索。熵编码单元56还可熵编码正被译码的当前视频切片的运动向量及其它语法元素。
反量化单元58及反变换处理单元60分别应用反量化及反变换以在像素域中重构残余块以供稍后用作参考图片的参考块。运动补偿单元44可通过将残余块与参考图片列表中的一者内的参考图片中的一者的预测性块相加来计算参考块。运动补偿单元44还可将一或多个内插滤波器应用于经重构残余块,以计算子整数像素值以用于运动估计中。求和器62将经重构残余块与由运动补偿单元44产生的运动补偿预测块相加以产生经重构块。
滤波器单元64对经重构块(例如,求和器62的输出)进行滤波且将经滤波的经重构块存储于DPB 66中以供用作参考块。参考块可由运动估计单元42及运动补偿单元44用作为参考块以对后续视频帧或图片中的块进行帧间预测。滤波器单元64可执行任何类型的滤波,例如解块滤波、SAO滤波、峰值SAO滤波、ALF及/或GALF,及/或其它类型的环路滤波器。解块滤波器可例如将解块滤波应用于滤波器块边界,以从经重构视频移除块效应伪影。峰值SAO滤波器可将偏移应用于经重构像素值,以便改善总体译码质量。还可使用额外环路滤波器(环路内或环路后)。
图8为绘示可实施本发明中所描述的技术的实例视频解码器30的框图。图8的视频解码器30可例如经配置以接收上文关于图7的视频编码器20所描述的发信。在图8的实例中,视频解码器30包含视频数据存储器78、熵解码单元80、预测处理单元81、反量化单元86、反变换处理单元88、求和器90及DPB 94。预测处理单元81包含运动补偿单元82及帧内预测单元84。在一些实例中,视频解码器30可执行与关于从图7的视频编码器20所描述的编码编次大体上互逆的解码编次。
在解码过程期间,视频解码器30从视频编码器20接收表示经编码视频切片的视频块及相关联语法元素的经编码视频位流。视频解码器30将所接收的经编码视频位流存储于视频数据存储器78中。视频数据存储器78可存储待由视频解码器30的组件解码的视频数据,例如经编码视频位流。存储于视频数据存储器78中的视频数据可例如经由链路16从存储装置26或从本地视频源(例如相机)或通过存取物理数据存储媒体获得。视频数据存储器78可形成存储来自经编码视频位流的经编码视频数据的经译码图片缓冲器(CPB)。DPB 94可为存储参考视频数据以用于由视频解码器30解码视频数据(例如在帧内或帧间译码模式中)的参考图片存储器。视频数据存储器78及DPB 94可由各种存储器装置中的任一者形成,所述存储器装置是例如DRAM、SDRAM、MRAM、RRAM或其它类型的存储器装置。视频数据存储器78及DPB 94可由同一存储器装置或单独存储器装置提供。在各种实例中,视频数据存储器78可与视频解码器30的其它组件一起在芯片上,或相对于那些组件在芯片外。
视频解码器30的熵解码单元80熵解码存储于视频数据存储器78中的视频数据以产生经量化系数、运动向量及其它语法元素。熵解码单元80将运动向量及其它语法元素转递至预测处理单元81。视频解码器30可在视频切片层级及/或视频块层级处接收语法元素。
当视频切片经译码为经帧内译码(I)切片时,预测处理单元81的帧内预测单元84可基于来自当前帧或图片的先前经解码块的经发信帧内预测模式及数据来产生用于当前视频切片的视频块的预测数据。当视频帧经译码为经帧间译码切片(例如,B切片或P切片)时,预测处理单元81的运动补偿单元82基于从熵解码单元80接收的运动向量及其它语法元素产生用于当前视频切片的视频块的预测性块。可由参考图片列表中的一者内的参考图片中的一者产生预测性块。视频解码器30可基于存储于DPB 94中的参考图片使用默认构造技术来构造参考帧列表:列表0及列表1。
运动补偿单元82通过剖析运动向量及其它语法元素来确定当前视频切片的视频块的预测信息,且使用所述预测信息产生正被解码的当前视频块的预测性块。举例来说,运动补偿单元82使用所接收的语法元素中的一些来确定用以译码视频切片的视频块的预测模式(例如,帧内或帧间预测)、帧间预测切片类型(例如,B切片或P切片)、切片的参考图片列表中的一或多者的构造信息、切片的每一经帧间编码视频块的运动向量、切片的每一经帧间译码视频块的帧间预测状态及用以解码当前视频切片中的视频块的其它信息。
运动补偿单元82还可执行基于内插滤波器的内插。运动补偿单元82可使用如由视频编码器20在编码视频块期间所使用的内插滤波器来计算参考块的子整数像素的内插值。在此情况下,运动补偿单元82可根据所接收的语法元素确定由视频编码器20使用的内插滤波器且使用所述内插滤波器来产生预测性块。
反量化单元86反量化(即,解量化)位流中所提供并由熵解码单元80解码的经量化变换系数。反量化过程可包含使用由视频编码器20针对视频切片中的每一视频块计算的量化参数,以确定应被应用的量化程度且同样地确定应被应用的反量化程度。反变换处理单元88将反变换(例如,反DCT、反整数变换或概念上类似的反变换过程)应用于变换系数,以便在像素域中产生残余块。
在预测处理单元使用例如帧内或帧间预测产生当前视频块的预测性块之后,视频解码器30通过将来自反变换处理单元88的残余块与由运动补偿单元82产生的对应预测性块求和而形成经重构视频块。求和器90表示执行此求和运算的一或多个组件。
滤波器单元92对经重构块(例如,求和器90的输出)进行滤波且将经滤波的经重构块存储于DPB 94中以供用作参考块。参考块可由运动补偿单元82用作参考块以对后续视频帧或图片中的块进行帧间预测。滤波器单元92可执行任何类型的滤波,例如解块滤波、SAO滤波、峰值SAO滤波、ALF及/或GALF,及/或其它类型的环路滤波器。解块滤波器可例如将解块滤波应用于滤波器块边界,以从经重构视频移除块效应伪影。峰值SAO滤波器可将偏移应用于经重构像素值,以便改善总体译码质量。还可使用额外环路滤波器(环路内或环路后)。
图9展示滤波器单元92的实例实施方案。滤波器单元64可以相同方式实施。滤波器单元64及92可执行本发明的技术,可能地结合视频编码器20或视频解码器30的其它组件。在图9的实例中,滤波器单元92包含解块滤波器102、峰值SAO滤波器104及ALF/GLAF滤波器106。峰值SAO滤波器104可例如经配置成以本发明中所描述的方式确定块的样本的偏移值。
滤波器单元92可包含较少滤波器及/或可包含额外滤波器。另外,图9中所展示的特定滤波器可以不同次序实施。其它环路滤波器(在译码环路中或在译码环路之后)还可用于使像素转变平滑,或以其它方式改善视频质量。接着将给定帧或图片中的经解码视频块存储于DPB 94中,所述DPB存储用于后续运动补偿的参考图片。DPB 94可为额外存储器的部分或与额外存储器分离,所述额外存储器存储用于稍后呈现于显示装置(例如图1的显示装置32)上的经解码视频。
图10为绘示本发明中所描述的实例视频解码技术的流程图。将参考一般视频解码器(例如但不限于视频解码器30)描述图10的技术。在一些情况下,图10的技术可由视频编码器20的解码环路执行。
在图10的实例中,视频解码器比较当前块的第一样本与第一组相邻样本以确定第一差值(120)。第一差值可为第一样本与第一组相邻样本之间的差。对于视频数据的当前块,视频解码器可接收指示相邻样本的位置的语法数据,其中相邻样本的位置界定图案。视频解码器可在例如切片层级处或在其它层级(在切片层级之下或之上)处接收指示相邻样本的位置的此类语法。在一个实例实施方案中,指示相邻样本的位置的语法数据包含索引值,且视频解码器将索引值映射至相邻样本的一组位置。
视频译码器可例如通过比较当前块的第一样本值与第一组相邻样本的平均值、比较当前块的第一样本值与第一组相邻样本的加权平均值、确定当前块的第一样本值与第一组相邻样本的样本值之间的值差的总和,或通过某其它类型的比较而比较当前块的第一样本与第一组相邻样本以确定第一差值。
视频解码器基于第一差值确定第一样本的第一偏移(122)。视频解码器比较当前块的第二样本与第二组相邻样本以确定第二差值(124)。类似于第一样本,对于第二样本,视频译码器可通过比较当前块的第二样本值与第二组相邻样本的平均值、比较当前块的第二样本值与第二组相邻样本的加权平均值、确定当前块的第二样本值与第二组相邻样本的样本值之间的值差的总和,或通过某其它类型的比较而比较当前块的第二样本与第二组相邻样本以确定第二差值。第二差值为第二样本与第二组相邻样本之间的差,且第一差值及第二差值具有相同正负号(例如,两者为正或两者为负)。第一组相邻样本相对于第一样本具有与第二组相邻样本相对于第二样本具有的图案相同的图案。第一组相邻样本及第二组相邻样本可各自包含多于两个样本,且第一组相邻样本及第二组相邻样本还可各自包含至少一个时间相邻样本。
视频解码器基于第二差值确定第二样本的第二偏移(126)。第一偏移及第二偏移均为不同非零值。视频解码器将第一偏移应用于第一样本值且将第二偏移应用于第二样本值以产生经滤波图像(128)。对于视频数据的当前块,视频解码器可接收指示用于将当前块的样本分组成至少两个群的一组规则的语法数据。第一群可例如包含待滤波的样本,且第二群可包含不待滤波的样本。
在图10的实例中,第一样本的值可大于(或小于)第一组相邻样本中的样本的所有值,且第二样本的值也可大于(或小于)第二组相邻样本中的样本的所有值。然而,即使第一样本及第二样本共享此特性,视频解码器仍基于例如差的量值将不同偏移与第一样本及第二样本相加。作为一个实例,第一样本的值可比第一组相邻样本中的样本的所有值大得多(或小得多),而第二样本的值比第二组相邻样本中的样本的所有值微大(或稍小)。基于此差,视频解码器可将不同偏移应用于第一样本及第二样本。
在一或多个实例中,所描述功能可以硬件、软件、固件或其任何组合来实施。如果以软件实施,那么所述功能可作为一或多个指令或代码而在计算机可读媒体上存储或发射,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体(其对应于例如数据存储媒体的有形媒体)或通信媒体(其包含例如根据通信协议促进计算机程序从一处传送至另一处的任何媒体)。以此方式,计算机可读媒体通常可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)例如信号或载波的通信媒体。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本发明中所描述的技术的指令、代码及/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
作为实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储装置、闪速存储器,或可用于存储呈指令或数据结构形式的所要程序代码且可由计算机存取的任何其它媒体。并且,任何连接被恰当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光缆、双绞线、数字订户线(DSL)或无线技术(例如红外线、无线电及微波)从网站、服务器或其它远程源发射指令,那么同轴电缆、光缆、双绞线、DSL或无线技术(例如红外线、无线电及微波)包含于媒体的定义中。然而,应理解,计算机可读存储媒体及数据存储媒体不包含连接、载波、信号或其它暂时性媒体,而是实际上涉及非暂时性有形存储媒体。如本文中所使用,磁盘及光盘包含紧密光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘使用激光以光学方式再现数据。以上各者的组合也应包含于计算机可读媒体的范围内。
可由例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路的一或多个处理器执行指令。因此,如本文中所使用的术语“处理器”可指上述结构或适合于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,本文中所描述的功能性可提供于经配置用于编码及解码的专用硬件及/或软件模块内,或并入于组合式编解码器中。此外,所述技术可完全实施于一或多个电路或逻辑元件中。
本发明的技术可实施于多种装置或设备中,所述装置或设备包含无线手机、集成电路(IC)或一组IC(例如,芯片组)。在本发明中描述了各种组件、模块或单元以强调经配置以执行所揭示技术的装置的功能方面,但未必要求由不同硬件单元来实现。确切地说,如上文所描述,可将各种单元组合于编解码器硬件单元中,或由互操作性硬件单元(包含如上文所描述的一或多个处理器)的集合结合合适的软件及/或固件来提供所述单元。
已描述了各种实例。这些及其它实例是在所附权利要求书的范围内。
Claims (36)
1.一种用于解码视频数据的方法,所述方法包括:
比较当前块的第一样本与第一组相邻样本以确定第一差值;
基于所述第一差值确定所述第一样本的第一偏移,其中所述第一偏移为第一非零值;
比较所述当前块的第二样本与第二组相邻样本以确定第二差值,其中所述第一组相邻样本相对于所述第一样本具有与所述第二组相邻样本相对于所述第二样本具有的图案相同的图案,且其中所述第一差值及所述第二差值具有相同正负号;
基于所述第二差值确定所述第二样本的第二偏移,其中所述第二偏移为不同于所述第一非零值的第二非零值;及
将所述第一偏移应用于所述第一样本值且将所述第二偏移应用于所述第二样本值以产生经滤波图像。
2.根据权利要求1所述的方法,其中所述第一组相邻样本及所述第二组相邻样本各自包含多于两个样本。
3.根据权利要求1所述的方法,其中所述第一组相邻样本及所述第二组相邻样本各自包含在与包含所述当前块的当前图片不同的图片中的至少一个时间相邻样本。
4.根据权利要求1所述的方法,其进一步包括:
对于视频数据的所述当前块接收指示相邻样本的位置的语法数据,其中所述相邻样本的所述位置界定所述图案;及
基于所述经接收语法数据指示所述相邻样本的所述位置确定所述第一组相邻样本及所述第二组相邻样本。
5.根据权利要求1所述的方法,其进一步包括
对于视频数据的所述当前块接收指示用于将所述当前块的样本分组成至少两个群的一组规则的语法数据,其中第一群包括待滤波的样本且第二群包括不待滤波的样本;及
确定所述第一样本及所述第二样本属于所述第一群。
6.根据权利要求1所述的方法,其中比较所述当前块的所述第一样本与所述第一组相邻样本以确定所述第一差值包括比较所述当前块的所述第一样本的值与所述第一组相邻样本的平均值。
7.根据权利要求1所述的方法,其中比较所述当前块的所述第一样本与所述第一组相邻样本以确定所述第一差值包括确定所述当前块的所述第一样本的值与所述第一组相邻样本的样本值之间的值差的总和。
8.根据权利要求1所述的方法,其中所述第一样本的值大于所述第一组相邻样本中的样本的所有值,且所述第二样本的值大于所述第二组相邻样本中的样本的所有值。
9.根据权利要求1所述的方法,其中所述方法经执行为视频编码过程的部分。
10.一种用于解码视频数据的装置,所述装置包括:
存储器,其经配置以存储所述视频数据;及
一或多个处理器,其经配置以进行以下操作:
比较当前块的第一样本与第一组相邻样本以确定第一差值;
基于所述第一差值确定所述第一样本的第一偏移,其中所述第一偏移为第一非零值;
比较所述当前块的第二样本与第二组相邻样本以确定第二差值,其中所述第一组相邻样本相对于所述第一样本具有与所述第二组相邻样本相对于所述第二样本具有的图案相同的图案,且其中所述第一差值及所述第二差值具有相同正负号;
基于所述第二差值确定所述第二样本的第二偏移,其中所述第二偏移为不同于所述第一非零值的第二非零值;及
将所述第一偏移应用于所述第一样本值且将所述第二偏移应用于所述第二样本值以产生经滤波图像。
11.根据权利要求10所述的装置,其中所述第一组相邻样本及所述第二组相邻样本各自包含多于两个样本。
12.根据权利要求10所述的装置,其中所述第一组相邻样本及所述第二组相邻样本各自包含在与包含所述当前块的当前图片不同的图片中的至少一个时间相邻样本。
13.根据权利要求10所述的装置,其中所述一或多个处理器经进一步配置以进行以下操作:
对于视频数据的所述当前块接收指示相邻样本的位置的语法数据,其中所述相邻样本的所述位置界定所述图案;及
基于所述经接收语法数据指示所述相邻样本的所述位置确定所述第一组相邻样本及所述第二组相邻样本。
14.根据权利要求10所述的装置,其中所述一或多个处理器经进一步配置以进行以下操作:
对于视频数据的所述当前块接收指示用于将所述当前块的样本分组成至少两个群的一组规则的语法数据,其中第一群包括待滤波的样本且第二群包括不待滤波的样本;及
确定所述第一样本及所述第二样本属于所述第一群。
15.根据权利要求10所述的装置,其中为比较所述当前块的所述第一样本与所述第一组相邻样本以确定所述第一差值,所述一或多个处理器经进一步配置以比较所述当前块的所述第一样本的值与所述第一组相邻样本的平均值。
16.根据权利要求10所述的装置,其中为比较所述当前块的所述第一样本与所述第一组相邻样本以确定所述第一差值,所述一或多个处理器经进一步配置以确定所述当前块的所述第一样本的值与所述第一组相邻样本的样本值之间的值差的总和。
17.根据权利要求10所述的装置,其中所述第一样本的值大于所述第一组相邻样本中的样本的所有值,且所述第二样本的值大于所述第二组相邻样本中的样本的所有值。
18.根据权利要求10所述的装置,其中所述装置经配置以作为视频编码过程的部分而解码视频数据。
19.根据权利要求10所述的装置,其中所述装置包括无线通信装置,其进一步包括经配置以接收经编码视频数据的接收器。
20.根据权利要求19所述的装置,其中所述无线通信装置包括电话手机,且其中所述接收器经配置以根据无线通信标准解调包括所述经编码视频数据的信号。
21.一种计算机可读媒体,其存储指令,所述指令在由一或多个处理器执行时致使所述一或多个处理器进行以下操作:
比较当前块的第一样本与第一组相邻样本以确定第一差值;
基于所述第一差值确定所述第一样本的第一偏移,其中所述第一偏移为第一非零值;
比较所述当前块的第二样本与第二组相邻样本以确定第二差值,其中所述第一组相邻样本相对于所述第一样本具有与所述第二组相邻样本相对于所述第二样本具有的图案相同的图案,且其中所述第一差值及所述第二差值具有相同正负号;
基于所述第二差值确定所述第二样本的第二偏移,其中所述第二偏移为不同于所述第一非零值的第二非零值;及
将所述第一偏移应用于所述第一样本值且将所述第二偏移应用于所述第二样本值以产生经滤波图像。
22.根据权利要求21所述的计算机可读媒体,其中所述第一组相邻样本及所述第二组相邻样本各自包含多于两个样本。
23.根据权利要求21所述的计算机可读媒体,其中所述第一组相邻样本及所述第二组相邻样本各自包含在与包含所述当前块的当前图片不同的图片中的至少一个时间相邻样本。
24.根据权利要求21所述的计算机可读媒体,其存储另外指令,所述另外指令在执行时致使所述一或多个处理器进行以下操作:
对于视频数据的所述当前块接收指示相邻样本的位置的语法数据,其中所述相邻样本的所述位置界定所述图案;及
基于所述经接收语法数据指示所述相邻样本的所述位置确定所述第一组相邻样本及所述第二组相邻样本。
25.根据权利要求21所述的计算机可读媒体,其存储另外指令,所述另外指令在执行时致使所述一或多个处理器进行以下操作:
对于视频数据的所述当前块接收指示用于将所述当前块的样本分组成至少两个群的一组规则的语法数据,其中第一群包括待滤波的样本且第二群包括不待滤波的样本;及
确定所述第一样本及所述第二样本属于所述第一群。
26.根据权利要求21所述的计算机可读媒体,其中为比较所述当前块的所述第一样本与所述第一组相邻样本以确定所述第一差值,所述指令致使所述一或多个处理器比较所述当前块的所述第一样本的值与所述第一组相邻样本的平均值。
27.根据权利要求21所述的计算机可读媒体,其中为比较所述当前块的所述第一样本与所述第一组相邻样本以确定所述第一差值,所述指令致使所述一或多个处理器确定所述当前块的所述第一样本的值与所述第一组相邻样本的样本值之间的值差的总和。
28.根据权利要求21所述的计算机可读媒体,其中所述第一样本的值大于所述第一组相邻样本中的样本的所有值,且所述第二样本的值大于所述第二组相邻样本中的样本的所有值。
29.一种用于解码视频数据的设备,所述设备包括:
用于比较当前块的第一样本与第一组相邻样本以确定第一差值的装置;
用于基于所述第一差值确定所述第一样本的第一偏移的装置,其中所述第一偏移为第一非零值;
用于比较所述当前块的第二样本与第二组相邻样本以确定第二差值的装置,其中所述第一组相邻样本相对于所述第一样本具有与所述第二组相邻样本相对于所述第二样本具有的图案相同的图案,且其中所述第一差值及所述第二差值具有相同正负号;
用于基于所述第二差值确定所述第二样本的第二偏移的装置,其中所述第二偏移为不同于所述第一非零值的第二非零值;及
用于将所述第一偏移应用于所述第一样本值且将所述第二偏移应用于所述第二样本值以产生经滤波图像的装置。
30.根据权利要求29所述的设备,其中所述第一组相邻样本及所述第二组相邻样本各自包含多于两个样本。
31.根据权利要求29所述的设备,其中所述第一组相邻样本及所述第二组相邻样本各自包含在与包含所述当前块的当前图片不同的图片中的至少一个时间相邻样本。
32.根据权利要求29所述的设备,其进一步包括:
用于对于视频数据的所述当前块接收指示相邻样本的位置的语法数据的装置,其中所述相邻样本的所述位置界定所述图案;及
用于基于所述经接收语法数据指示所述相邻样本的所述位置确定所述第一组相邻样本及所述第二组相邻样本的装置。
33.根据权利要求29所述的设备,其进一步包括
对于视频数据的所述当前块接收指示用于将所述当前块的样本分组成至少两个群的一组规则的语法数据,其中第一群包括待滤波的样本且第二群包括不待滤波的样本;及
用于确定所述第一样本及所述第二样本属于所述第一群的装置。
34.根据权利要求29所述的设备,其中所述用于比较所述当前块的所述第一样本与所述第一组相邻样本以确定所述第一差值的装置包括用于比较所述当前块的所述第一样本的值与所述第一组相邻样本的平均值的装置。
35.根据权利要求29所述的设备,其中所述用于比较所述当前块的所述第一样本与所述第一组相邻样本以确定所述第一差值的装置包括用于确定所述当前块的所述第一样本的值与所述第一组相邻样本的样本值之间的值差的总和的装置。
36.根据权利要求29所述的设备,其中所述第一样本的值大于所述第一组相邻样本中的样本的所有值,且所述第二样本的值大于所述第二组相邻样本中的样本的所有值。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662404126P | 2016-10-04 | 2016-10-04 | |
US62/404,126 | 2016-10-04 | ||
US15/724,112 | 2017-10-03 | ||
US15/724,112 US10623737B2 (en) | 2016-10-04 | 2017-10-03 | Peak sample adaptive offset |
PCT/US2017/055173 WO2018067722A1 (en) | 2016-10-04 | 2017-10-04 | Peak sample adaptive offset |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109792525A true CN109792525A (zh) | 2019-05-21 |
CN109792525B CN109792525B (zh) | 2022-09-27 |
Family
ID=61759221
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780059383.1A Active CN109792525B (zh) | 2016-10-04 | 2017-10-04 | 峰值样本自适应偏移 |
Country Status (9)
Country | Link |
---|---|
US (1) | US10623737B2 (zh) |
EP (1) | EP3523969A1 (zh) |
JP (1) | JP2019534631A (zh) |
KR (1) | KR20190059280A (zh) |
CN (1) | CN109792525B (zh) |
BR (1) | BR112019006702A2 (zh) |
CA (1) | CA3035359A1 (zh) |
TW (1) | TW201817227A (zh) |
WO (1) | WO2018067722A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114503594A (zh) * | 2019-09-22 | 2022-05-13 | 北京字节跳动网络技术有限公司 | 自适应环路滤波中样点填充的选择性应用 |
US12003712B2 (en) | 2019-06-14 | 2024-06-04 | Beijing Bytedance Network Technology Co., Ltd | Handling video unit boundaries and virtual boundaries |
US12120297B2 (en) | 2019-07-11 | 2024-10-15 | Beijing Bytedance Network Technology Co., Ltd. | Sample padding in adaptive loop filtering |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2574425A (en) * | 2018-06-05 | 2019-12-11 | Canon Kk | Video coding and decoding |
MX2021000273A (es) * | 2018-07-11 | 2021-03-31 | Interdigital Vc Holdings Inc | Filtro en bucle con multiples regiones. |
US11064196B2 (en) * | 2018-09-03 | 2021-07-13 | Qualcomm Incorporated | Parametrizable, quantization-noise aware bilateral filter for video coding |
WO2020146562A1 (en) | 2019-01-09 | 2020-07-16 | Beijing Dajia Internet Information Technology Co., Ltd. | System and method for improving combined inter and intra prediction |
CN113542748B (zh) * | 2019-01-09 | 2023-07-11 | 北京达佳互联信息技术有限公司 | 视频编解码方法、设备和非暂时性计算机可读存储介质 |
US11202100B2 (en) * | 2019-03-11 | 2021-12-14 | Qualcomm Incorporated | Coefficient coding for transform skip mode |
CN112616057B (zh) * | 2019-10-04 | 2024-08-23 | Oppo广东移动通信有限公司 | 图像预测方法、编码器、解码器以及存储介质 |
BR112021013893A2 (pt) * | 2019-12-24 | 2022-07-26 | Ericsson Telefon Ab L M | Processamento de fronteira virtual para filtragem em laço adaptativo |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130177067A1 (en) * | 2012-01-05 | 2013-07-11 | General Instrument Corporation | Devices and methods for sample adaptive offset coding and/or selection of edge offset parameters |
US20140177704A1 (en) * | 2012-12-21 | 2014-06-26 | Qualcomm Incorporated | Multi-type parallelized sample adaptive offset in video coding |
CN104813665A (zh) * | 2012-09-28 | 2015-07-29 | 三星电子株式会社 | 用于对层间预测误差进行编码的sao补偿的方法和设备 |
CN105165010A (zh) * | 2013-04-08 | 2015-12-16 | 高通股份有限公司 | 基于位深度的样本自适应偏移缩放 |
US20160127747A1 (en) * | 2013-07-15 | 2016-05-05 | Mediatek Inc. | Method of Sample Adaptive Offset Processing for Video Coding |
CN105706449A (zh) * | 2013-06-19 | 2016-06-22 | 苹果公司 | 样本自适应偏移控制 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11405611B2 (en) | 2016-02-15 | 2022-08-02 | Qualcomm Incorporated | Predicting filter coefficients from fixed filters for video coding |
-
2017
- 2017-10-03 US US15/724,112 patent/US10623737B2/en active Active
- 2017-10-04 EP EP17784808.2A patent/EP3523969A1/en not_active Withdrawn
- 2017-10-04 KR KR1020197009394A patent/KR20190059280A/ko unknown
- 2017-10-04 WO PCT/US2017/055173 patent/WO2018067722A1/en unknown
- 2017-10-04 CN CN201780059383.1A patent/CN109792525B/zh active Active
- 2017-10-04 JP JP2019517950A patent/JP2019534631A/ja active Pending
- 2017-10-04 CA CA3035359A patent/CA3035359A1/en not_active Abandoned
- 2017-10-04 BR BR112019006702A patent/BR112019006702A2/pt not_active Application Discontinuation
- 2017-10-05 TW TW106134400A patent/TW201817227A/zh unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130177067A1 (en) * | 2012-01-05 | 2013-07-11 | General Instrument Corporation | Devices and methods for sample adaptive offset coding and/or selection of edge offset parameters |
CN104813665A (zh) * | 2012-09-28 | 2015-07-29 | 三星电子株式会社 | 用于对层间预测误差进行编码的sao补偿的方法和设备 |
US20140177704A1 (en) * | 2012-12-21 | 2014-06-26 | Qualcomm Incorporated | Multi-type parallelized sample adaptive offset in video coding |
CN105165010A (zh) * | 2013-04-08 | 2015-12-16 | 高通股份有限公司 | 基于位深度的样本自适应偏移缩放 |
CN105706449A (zh) * | 2013-06-19 | 2016-06-22 | 苹果公司 | 样本自适应偏移控制 |
US20160127747A1 (en) * | 2013-07-15 | 2016-05-05 | Mediatek Inc. | Method of Sample Adaptive Offset Processing for Video Coding |
Non-Patent Citations (2)
Title |
---|
PATRICE ONNO ET AL: "Modified sample adaptive offset filtering as an inter-layer processing for scalable HEVC", 《2014 IEEE INTERNATIONAL CONFERENCE ON IMAGE PROCESSING (ICIP)》 * |
陈智贤等: "改进的基于AVS2的样点自适应补偿滤波算法", 《计算机应用》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12003712B2 (en) | 2019-06-14 | 2024-06-04 | Beijing Bytedance Network Technology Co., Ltd | Handling video unit boundaries and virtual boundaries |
US12120297B2 (en) | 2019-07-11 | 2024-10-15 | Beijing Bytedance Network Technology Co., Ltd. | Sample padding in adaptive loop filtering |
CN114503594A (zh) * | 2019-09-22 | 2022-05-13 | 北京字节跳动网络技术有限公司 | 自适应环路滤波中样点填充的选择性应用 |
CN114503594B (zh) * | 2019-09-22 | 2024-04-05 | 北京字节跳动网络技术有限公司 | 自适应环路滤波中样点填充的选择性应用 |
Also Published As
Publication number | Publication date |
---|---|
BR112019006702A2 (pt) | 2019-06-25 |
US10623737B2 (en) | 2020-04-14 |
KR20190059280A (ko) | 2019-05-30 |
TW201817227A (zh) | 2018-05-01 |
US20180098065A1 (en) | 2018-04-05 |
CN109792525B (zh) | 2022-09-27 |
WO2018067722A1 (en) | 2018-04-12 |
EP3523969A1 (en) | 2019-08-14 |
CA3035359A1 (en) | 2018-04-12 |
JP2019534631A (ja) | 2019-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109792525A (zh) | 峰值样本自适应偏移 | |
CN106105201B (zh) | 使用像素距离的解块滤波 | |
CN107690803B (zh) | 用于高动态范围及广色域视频译码的自适应常量照度方法 | |
CN106416249B (zh) | 用于编码/解码视频数据的方法和装置 | |
CN107211124B (zh) | 用于译码视频数据的方法、装置和计算机可读存储媒体 | |
CN106464919B (zh) | 用于编码和解码具有视频数据的多层位流的方法和装置 | |
CN109076228A (zh) | 滤波信息的发信号 | |
CN104255035B (zh) | 视讯译码中的量化参数(qp)译码 | |
CN109716774A (zh) | 用于视频译码的可变数目的帧内模式 | |
CN105723707B (zh) | 用于视频译码的色彩残差预测 | |
CN106537916B (zh) | 编码和解码视频数据的方法和装置及计算机可读存储介质 | |
CN105379266B (zh) | 停用帧内预测滤波 | |
EP3304903B1 (en) | Derivation of color gamut scalability parameters and tables in scalable video coding | |
CN104221374B (zh) | 一种用于编码、解码视频数据的方法和设备 | |
CN110463202A (zh) | 色彩分量当中的滤波器信息共享 | |
CN110169064A (zh) | 具有减低复杂性的视频译码中的双边滤波器 | |
CN105493507B (zh) | 用于帧内块复制的残余预测 | |
CN109792538A (zh) | 用于局部照明补偿和跨分量线性模型预测的参数推导程序的统一 | |
CN109196867A (zh) | 在帧内预测中使用的参考线索引的隐式译码 | |
CN109716765A (zh) | 用于视频译码中的帧内预测的经改进内插滤波器 | |
CN110100436A (zh) | 使用导出色度模式译码视频数据 | |
CN106537922B (zh) | 用于编码多层视频数据的方法、装置和设备 | |
CN109155848A (zh) | 用于高动态范围及宽色域视频译码的环路内样本处理 | |
CN109691102A (zh) | 跨分量滤波器 | |
CN104380748B (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 |