CN105430417A - 编码方法、解码方法、装置及电子设备 - Google Patents
编码方法、解码方法、装置及电子设备 Download PDFInfo
- Publication number
- CN105430417A CN105430417A CN201410486021.9A CN201410486021A CN105430417A CN 105430417 A CN105430417 A CN 105430417A CN 201410486021 A CN201410486021 A CN 201410486021A CN 105430417 A CN105430417 A CN 105430417A
- Authority
- CN
- China
- Prior art keywords
- reconstructed block
- unit
- pixel
- module
- local reconstructed
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/55—Motion estimation with spatial constraints, e.g. at image or region borders
-
- 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- 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/164—Feedback from the receiver or from the transmission channel
-
- 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/42—Methods 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/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
- H04N19/426—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
-
- 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/42—Methods 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/436—Methods 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 parallelised computational arrangements
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- 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
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
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)
Abstract
本发明公开了一种编码方法、解码方法、装置及电子设备,其中,该编码方法包括:确定帧内块复制模式的块复制矢量的限制范围信息;将所述限制范围信息写入码流。通过本发明,解决了相关技术中引用IBC后无法确定BV范围,使得数据处理效率降低的问题,能够提升数据处理效率,同时也能够保证编码或解码过程的顺利实施。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种编码方法、解码方法、装置及电子设备。
背景技术
正在制定的基于高性能视频编码(H.265/HighEfficiencyVideoCoding,HEVC)标准扩展的屏幕内容编码(ScreenContentCoding,SCC)标准中,采用了帧内块复制(IntraBlockCopying,IBC)模式。与传统的使用当前图像内当前块边界处相邻块已恢复像素预测当前块内像素值的方法不同,IBC允许使用当前图像内已经恢复出的一个二维像素块作为当前块的预测块,同时,IBC使用预测块与当前块之间的相对偏移量来定位预测参考块,该偏移量称之为块复制矢量(BlockcopyingVector,BV)。与传统的帧内预测模式相同,BV指向的预测块中的像素点采样值没有经过去方块滤波(DeblockingFiltering,DF)处理。
在H.265/HEVC标准中,环路滤波过程(包含去方块滤波器(DeblockingFilter,DF)和采样点自适应加性偏移量滤波器(SampleAdaptiveOffset,SAO))是以图像为单位进行滤波处理的,即环路滤波过程是在图像完成重建后、放置进入解码图像缓冲区(DecodedPictureBuffer,DPB)之前执行的。尽管如此,在实际的产品实现上,通常在块层即执行环路滤波而无需等待整幅图像完成重建后再执行环路滤波操作。这样,可以通过在块层合理安排处理流水的方法,提高包含环路滤波模块的编码器和解码器的数据处理效率。例如,对于DF,在当前块中包含的像素点不用作相邻块帧内预测参考像素点、且相邻块像素点已可用(Available)的情况下,即可对当前块使用DF;对于SAO,在当前块中包含的像素点不用作相邻块帧内预测参考像素点时,即可对当前块使用SAO。由于SAO是串联在DF之后的滤波器,因此,可以统一使用DF的判断条件作为对当前块使用环路滤波的判断条件。由于帧内预测的块划分方式相对规则、并且所使用的参考像素点位置固定,因此,在编码器和解码器中,可通过环路滤波处理流水在块重建流水之后延迟固定数量个编码单元块(保证满足DF条件)再执行的方式,实现块层环路滤波的操作。
作为H.265/HEVC标准的扩展,SCC沿用了H.265/HEVC标准中的环路滤波器,同时引入了IBC等新的编码工具提高了针对屏幕内容视频的编码效率。尽管如此,IBC的引入使得块层环路滤波的设计和实施变得困难。SCC现有结构存在的主要问题如下所述:
IBC采用当前图像中已经恢复但未经环路滤波处理的像素点构造当前块的预测块,因此,除前述块层DF和SAO的判断条件外,环路滤波流水还必须确定目标块内像素点不再被当前图像中其他IBC模式块用作构造预测块时才能对目标块内像素点进行环路滤波。IBC使用BV指示预测参考块,这就使得当前图像中任何一个目标块中的像素点可能作为后续任何一个IBC块的预测参考块,没有像前述帧内预测模式那样可以通过延迟环路滤波流水这样的简单方法判断、执行块层环路滤波。
具体而言,对于编码器,由于无法确定当前编码块中的像素点是否用作后续编码块的IBC参考,编码器需要在完成整个图像块重建后,在确定环路滤波参数,对重建图像进行环路滤波,将滤波输出图像放入DPB,在数据处理流程上增加了一幅图像的延迟。对于解码器,一种方式是等待图像重建后再执行环路滤波操作,这就将在数据处理流程上增加一幅图像的延迟;另一种方式是事先对码流进行分析,确定各IBC块BV指向参考块的位置,然后再安排环路滤波流水执行块层环路滤波操作,但这种方式打乱了码流解析流水与块层重建流水之间的结构,并且由于BV大小不一而使得环路滤波流水不能按照固定的时序间隔执行,这都增加了解码器的复杂度。
最坏情况下,按照编码顺序(或解码顺序),当图像中最后一个编码块(或解码块)的IBC预测参考块包含第一个编码块(或解码块)中的像素点时,环路滤波流水需要等待整幅图像完成重建后再执行,即在块层重建和环路滤波两个处理流水之间需要等待一个图像的延迟,极大降低了编码器(或解码器)的数据处理效率。
上述问题同样出现在SCC的串匹配方法(StringMatching)。串匹配方法可以视为预测块划分大小为Nx1或1xN的IBC,其中,N为预测块的宽度或高度。
针对相关技术中引用IBC后无法确定BV范围,使得数据处理效率降低的问题,目前尚未提出有效的解决方案。
发明内容
本发明提供了一种编码方法、解码方法、装置及电子设备,以至少解决相关技术中引用IBC后无法确定BV范围,使得数据处理效率降低的问题。
根据本发明的一个实施例,提供了一种编码方法,包括:确定帧内块复制IBC模式的块复制矢量BV的限制范围信息;将所述限制范围信息写入码流。
本实施例中,在将所述限制范围信息写入码流之前或之后,还包括:根据所述限制范围信息对重建块进行环路滤波。
本实施例中,确定帧内块复制IBC模式的块复制矢量BV的限制范围信息包括以下至少之一:根据其所使用的档次Profile、等级tier、级别level确定BV的第一限制范围;根据对图像的瓦片Tile、分片Slice边界,确定BV的第二限制范围;根据与解码器能力协商情况,确定BV的第三限制范围;将所述第一限制范围、所述第二限制范围和所述第三限制范围的交集,作为编码过程中使用的IBC模式的BV的第四限制范围。
本实施例中,将所述限制范围信息写入码流包括:将BV的第一限制范围的信息写入以下数据单元至少之一:视频参数集VPS中的档次、等级、级别信息,序列参数集SPS中的档次、等级、级别;和/或,将BV的第四限制范围的信息写入以下数据单元至少之一:VPS中除档次、等级、级别信息之外的数据单元,SPS中除档次、等级、级别信息之外的数据单元,图像参数集PPS,分片划分头信息SliceSegmentHeader,补充增强信息SEI,用户自定义数据单元。
本实施例中,根据所述限制范围信息对重建块进行环路滤波,包括:根据所述限制范围信息确定块层重建过程与环路滤波过程之间的等待时长。
本实施例中,在根据所述限制范围信息确定块层重建过程与环路滤波过程之间的等待时长之后,还包括:在块层重建过程开始执行后,经过所述等待时长,环路滤波过程开始执行。
本实施例中,根据所述限制范围信息,确定使用当前的第一块单元中像素点作为参考的IBC块所在的最后一个块单元,作为第二块单元;按照编码顺序,确定所述第一块单元与第二块单元及二者之间的块单元作为第八范围;将所述第八范围与传统帧内预测模式中使用的块单元范围的并集作为第九范围;将所述第一块单元至第九范围的最后一个块单元之间包含的块单元的数量,作为所述等待时长。
本实施例中,所述传统帧内预测模式直接使用当前编码块的相邻像素点作为参考像素点构造预测块,其中,所述传统帧内预测模式的相邻像素点的位置是预先设定的,不使用位置偏移矢量指示。
本实施例中,还包括:根据当前图像的瓦片划分信息和/或所述第一块单元所在分片的起始位置,将所述第九范围限制在所述第一块单元所在的Tile和/或分片范围内。
本实施例中,所述传统帧内预测模式中使用的块单元范围包括以下范围至少之一或以下范围至少之二的并集:按照块单元的编码顺序,根据块单元的大小和帧内预测过程中所需要使用的相邻参考像素点的最大数量,确定使用可能使用块单元的右边界和下边界像素点作为帧内预测参考的块单元范围,作为第五范围;确定对块单元进行去方块滤波DF所使用的相邻块单元,对于右相邻的块单元,确定其下边界上的像素点用作帧内预测参考的块单元范围,作为第六范围;对于下相邻的块单元,确定其右边界上的像素点用作帧内预测参考的块单元范围,作为第七范围。
本实施例中,根据所述限制范围信息对重建块进行环路滤波,包括:根据所述限制范围信息确定是否可对已有本地重建块进行环路滤波处理。
本实施例中,根据所述限制范围信息确定是否可对已有本地重建块进行环路滤波处理包括:在对当前块单元完成本地重建后,按照编码顺序判断当前块单元之前已重建、未进行环路滤波处理的块单元是否满足如下条件:条件一:待判定的本地重建块单元的右边界和下边界像素点已经不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;条件二:待判定的本地重建块单元的右边界相邻块单元中的下边界像素点不用作当前本地重建块单元之后块单元的块单元中像素点的帧内预测参考;条件三:待判定的本地重建块单元的下边界相邻块单元中的右边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;根据待判定的本地重建块单元对所述条件的满足情况,进行环路滤波处理。
本实施例中,根据待判定的本地重建块单元对所述条件的满足情况,进行环路滤波处理包括以下至少之一:当所述条件一、条件二和条件三同时满足时,对所述待判定的本地重建块单元完成未进行的水平方向和/或垂直方向的DF处理,并对于所述本地重建块单元相邻编码块的本地重建块,标记其已经进行滤波的边界的位置以及滤波操作的属性;对DF处理输出的本地重建块使用采样点自适应加性偏移量滤波器SAO进行滤波处理;当满足所述条件一和条件二时,对所述待判定的本地重建块单元中的未进行水平方向DF的待滤波像素点,环路滤波模块中的DF模块对其进行水平方向DF,标记其已经进行滤波的边界的位置以及滤波操作的属性;判断DF处理输出的本地重建块是否在垂直方向和水平方向均已进行了DF滤波,如果是,则使用SAO进行滤波处理;当满足所述条件一和条件三时,对所述待判定的本地重建块单元中的未进行垂直方向DF的待滤波像素点,环路滤波模块中的DF模块对其进行垂直方向DF,标记其已经进行滤波的边界的位置以及滤波操作的属性;判断DF处理输出的本地重建块是否在垂直方向和水平方向均已进行了DF滤波,如果是,则使用SAO进行滤波处理;否则,不对所述待判定的本地重建块单元使用DF和SAO进行滤波处理。
本实施例中,根据所述限制范围信息对重建块进行块层环路滤波,包括:根据所述限制范围信息确定对当前本地重建块单元进行环路滤波的等待时长。
本实施例中,根据所述限制范围信息确定对当前本地重建块单元进行环路滤波的等待时长,包括:确定在当前本地重建块单元同时满足下述条件:条件一:待判定的本地重建块单元的右边界和下边界像素点已经不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;条件二:待判定的本地重建块单元的右边界相邻块单元中的下边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;条件三:待判定的本地重建块单元的下边界相邻块单元中的右边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考。
本实施例中,还包括:在当前本地重建块单元之后,按照编码顺序,等待本地重建模块输出了M个块单元所覆盖的像素点重建值后,对所述当前本地重建块单元进行环路滤波处理。
本实施例中,M为当前本地重建块单元与对应块单元之间所包含的最小块单元的数量。
本实施例中,对所述当前本地重建块单元进行环路滤波处理包括:对所述本地重建块单元完成未进行的水平方向和/或垂直方向的DF处理,对于所述本地重建块单元相邻编码块的本地重建块,标记其已经进行滤波的边界的位置以及滤波操作的属性;对DF处理输出的本地重建块使用SAO进行滤波处理。
本实施例中,根据所述限制范围信息确定对当前本地重建块单元进行环路滤波的等待时长包括:在当前本地重建块单元同时满足以下条件一和条件二时,当前本地重建块单元与对应块单元之间所包含的块单元的数量eM,在当前本地重建块单元同时满足以下条件一和条件三时,当前本地重建块单元与对应块单元之间所包含的块单元的数量vM,其中:条件一:待判定的本地重建块单元的右边界和下边界像素点已经不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;条件二:待判定的本地重建块单元的右边界相邻块单元中的下边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;条件三:待判定的本地重建块单元的下边界相邻块单元中的右边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;根据eM与vM的关系,对所述当前本地重建块单元进行环路滤波处理。
本实施例中,根据eM与vM的关系,对所述当前本地重建块单元进行环路滤波处理包括以下情况至少之一:情况一:eM的值等于vM;在这种情况下,在当前本地重建块单元之后,按照编码顺序,等待输出了eM或vM个块单元所覆盖的像素点本地重建值后,对所述当前本地重建块单元进行环路滤波处理;对所述当前本地重建块单元完成未进行的水平方向和/或垂直方向的DF处理,对于所述当前本地重建块单元相邻编码块的本地重建块,标记其已经进行滤波的边界的位置以及滤波操作的属性;对DF处理输出的本地重建块使用SAO进行滤波处理;情况二:eM的值小于vM;在这种情况下,在当前本地重建块单元之后,按照编码顺序,等待输出了eM个块单元所覆盖的像素点本地重建值后,对所述当前本地重建块单元进行垂直方向的DF滤波,并标记已进行DF的垂直方向滤波,继续等待本地重建模块输出vM–eM个块单元所覆盖的像素点重建值后,对所述当前重建块单元进行水平方向的DF滤波,并标记已进行DF的水平方向滤波;对DF处理输出的本地重建块使用SAO进行滤波处理;情况三:eM的值大于vM;在这种情况下,在当前本地重建块单元之后,按照编码顺序,等待输出了vM个块单元所覆盖的像素点本地重建值后,对所述当前本地重建块单元进行水平方向的DF滤波,并标记已进行DF的水平方向滤波,继续等待本地重建模块输出eM–vM个块单元所覆盖的像素点本地重建值后,对所述当前重建块单元进行垂直方向的DF滤波,并标记已进行DF的垂直方向滤波;对DF处理输出的本地重建块使用SAO进行滤波处理。
根据本发明的另一实施例,提供了一种解码方法,包括:从码流中获取帧内块复制IBC模式的块复制矢量BV的限制范围信息;根据所述限制范围信息确定IBC模式的BV的限制范围。
本实施例中,在根据所述限制范围信息确定IBC模式的BV的限制范围之后,还包括:根据所述限制范围对重建块进行环路滤波。
本实施例中,根据所述限制范围信息对重建块进行环路滤波,包括:根据所述限制范围信息确定块层重建过程与环路滤波过程之间的等待时长。
本实施例中,在根据所述限制范围信息确定块层重建过程与环路滤波过程之间的等待时长之后,还包括:在块层重建过程开始执行后,经过所述等待时长,环路滤波过程开始执行。
本实施例中,根据所述限制范围信息,确定使用当前的第一块单元中像素点作为参考的IBC块所在的最后一个块单元,作为第二块单元;按照解码顺序,确定所述第一块单元与第二块单元及二者之间的块单元作为第四范围;将所述第四范围与传统帧内预测模式中使用的块单元范围的并集作为第五范围;将所述第一块单元至第五范围的最后一个块单元之间包含的块单元的数量,作为所述等待时长。
本实施例中,所述传统帧内预测模式直接使用当前解码块的相邻像素点作为参考像素点构造预测块,其中,所述传统帧内预测模式的相邻像素点的位置是预先设定的,不使用位置偏移矢量指示。
本实施例中,还包括:根据当前图像的瓦片划分信息和/或所述第一块单元所在分片的起始位置,将所述第五范围限制在所述第一块单元所在的Tile和/或分片范围内。
本实施例中,所述传统帧内预测模式中使用的块单元范围包括以下范围至少之一或以下范围至少之二的并集:按照块单元的解码顺序,根据块单元的大小和帧内预测过程中所需要使用的相邻参考像素点的最大数量,确定使用可能使用块单元的右边界和下边界像素点作为帧内预测参考的块单元范围,作为第一范围;确定对块单元进行去方块滤波DF所使用的相邻块单元,对于右相邻的块单元,确定其下边界上的像素点用作帧内预测参考的块单元范围,作为第二范围;对于下相邻的块单元,确定其右边界上的像素点用作帧内预测参考的块单元范围,作为第三范围。
本实施例中,根据所述限制范围信息对重建块进行环路滤波包括:根据所述限制范围信息确定是否可对已有本地重建块进行环路滤波处理。
本实施例中,根据所述限制范围信息确定是否可对已有本地重建块进行环路滤波处理包括:在对当前块单元完成本地重建后,按照解码顺序判断当前块单元之前已重建、未进行环路滤波处理的块单元是否满足如下条件:条件一:待判定的本地重建块单元的右边界和下边界像素点已经不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;条件二:待判定的本地重建块单元的右边界相邻块单元中的下边界像素点不用作当前本地重建块单元之后块单元的块单元中像素点的帧内预测参考;条件三:待判定的本地重建块单元的下边界相邻块单元中的右边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;根据待判定的本地重建块单元对所述条件的满足情况,进行环路滤波处理。
本实施例中,根据待判定的本地重建块单元对所述条件的满足情况,进行环路滤波处理包括以下至少之一:当所述条件一、条件二和条件三同时满足时,对所述待判定的本地重建块单元完成未进行的水平方向和/或垂直方向的DF处理,并对于所述本地重建块单元相邻解码块的本地重建块,标记其已经进行滤波的边界的位置以及滤波操作的属性;对DF处理输出的本地重建块使用采样点自适应加性偏移量滤波器SAO进行滤波处理;当满足所述条件一和条件二时,对所述待判定的本地重建块单元中的未进行水平方向DF的待滤波像素点,环路滤波模块中的DF模块对其进行水平方向DF,标记其已经进行滤波的边界的位置以及滤波操作的属性;判断DF处理输出的本地重建块是否在垂直方向和水平方向均已进行了DF滤波,如果是,则使用SAO进行滤波处理;当满足所述条件一和条件三时,对所述待判定的本地重建块单元中的未进行垂直方向DF的待滤波像素点,环路滤波模块中的DF模块对其进行垂直方向DF,标记其已经进行滤波的边界的位置以及滤波操作的属性;判断DF处理输出的本地重建块是否在垂直方向和水平方向均已进行了DF滤波,如果是,则使用SAO进行滤波处理;否则,不对所述待判定的本地重建块单元使用DF和SAO进行滤波处理。
本实施例中,根据所述限制范围信息对重建块进行环路滤波包括:根据所述限制范围信息确定对当前本地重建块单元进行环路滤波的等待时长。
本实施例中,根据所述限制范围信息确定对当前本地重建块单元进行环路滤波的等待时长包括:确定在当前本地重建块单元同时满足下述条件:条件一:待判定的本地重建块单元的右边界和下边界像素点已经不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;条件二:待判定的本地重建块单元的右边界相邻块单元中的下边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;条件三:待判定的本地重建块单元的下边界相邻块单元中的右边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考。
本实施例中,还包括:在当前本地重建块单元之后,按照解码顺序,等待本地重建模块输出了M个块单元所覆盖的像素点重建值后,对所述当前本地重建块单元进行环路滤波处理。
本实施例中,M为当前本地重建块单元与对应块单元之间所包含的最小块单元的数量。
本实施例中,对所述当前本地重建块单元进行环路滤波处理包括:对所述本地重建块单元完成未进行的水平方向和/或垂直方向的DF处理,对于所述本地重建块单元相邻解码块的本地重建块,标记其已经进行滤波的边界的位置以及滤波操作的属性;对DF处理输出的本地重建块使用SAO进行滤波处理。
本实施例中,根据所述限制范围信息确定对当前本地重建块单元进行环路滤波的等待时长包括:在当前本地重建块单元同时满足条件一和条件二时,当前本地重建块单元与对应块单元之间所包含的块单元的数量eM,在当前本地重建块单元同时满足条件一和条件三时,当前本地重建块单元与对应块单元之间所包含的块单元的数量vM,其中:条件一:待判定的本地重建块单元的右边界和下边界像素点已经不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;条件二:待判定的本地重建块单元的右边界相邻块单元中的下边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;条件三:待判定的本地重建块单元的下边界相邻块单元中的右边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;根据eM与vM的关系,对所述当前本地重建块单元进行环路滤波处理。
本实施例中,根据eM与vM的关系,对所述当前本地重建块单元进行环路滤波处理包括以下情况至少之一:情况一:eM的值等于vM;在这种情况下,在当前本地重建块单元之后,按照解码顺序,等待输出了eM或vM个块单元所覆盖的像素点本地重建值后,对所述当前本地重建块单元进行环路滤波处理;
对所述当前本地重建块单元完成未进行的水平方向和/或垂直方向的DF处理,对于所述当前本地重建块单元相邻解码块的本地重建块,标记其已经进行滤波的边界的位置以及滤波操作的属性;对DF处理输出的本地重建块使用SAO进行滤波处理;情况二:eM的值小于vM;在这种情况下,在当前本地重建块单元之后,按照解码顺序,等待输出了eM个块单元所覆盖的像素点本地重建值后,对所述当前本地重建块单元进行水平方向的DF滤波,并标记已进行DF的水平方向滤波,继续等待本地重建模块输出vM–eM个块单元所覆盖的像素点重建值后,对所述当前重建块单元进行垂直方向的DF滤波,并标记已进行DF的垂直方向滤波;对DF处理输出的本地重建块使用SAO进行滤波处理;情况三:eM的值大于vM;在这种情况下,在当前本地重建块单元之后,按照解码顺序,等待输出了vM个块单元所覆盖的像素点本地重建值后,对所述当前本地重建块单元进行垂直方向的DF滤波,并标记已进行DF的垂直方向滤波,继续等待本地重建模块输出eM–vM个块单元所覆盖的像素点本地重建值后,对所述当前重建块单元进行水平方向的DF滤波,并标记已进行DF的水平方向滤波;对DF处理输出的本地重建块使用SAO进行滤波处理。
本实施例中,从码流中获取IBC模式的BV的限制范围信息,包括:从以下数据单元至少之一中获取所述BV的第一限制范围的信息:视频参数集VPS中的档次、等级、级别信息,序列参数集SPS中的档次、等级、级别;和/或,VPS中除档次、等级、级别信息之外的数据单元,SPS中除档次、等级、级别信息之外的数据单元,图像参数集PPS,分片划分头信息SliceSegmentHeader,补充增强信息SEI,用户自定义数据单元。
根据本发明的再一实施例,提供了一种编码装置,包括:第一确定模块,用于确定帧内块复制IBC模式的块复制矢量BV的限制范围信息;写入模块,用于将所述限制范围信息写入码流。
本实施例中,所述装置包括:第一环路滤波模块,用于根据所述限制范围信息对重建块进行环路滤波。
根据本发明的再一实施例,还提供了一种解码装置,包括:获取模块,用于从码流中获取帧内块复制IBC模式的块复制矢量BV的限制范围信息;第二确定模块,用于根据所述限制范围信息确定IBC模式的BV的限制范围。
本实施例中,所述装置还包括:第二环路滤波模块,用于根据所述限制范围对重建块进行环路滤波。
根据本发明的还一实施例,提供了一种电子设备,包括上述编码装置,和/或,包括上述解码装置。
本实施例中,所述电子设备包括:视频通信应用中相关码流生成设备和/或接收播放设备。
本实施例中,所述电子设备包括:手机、计算机、服务器、机顶盒、便携式移动终端、数字摄像机,电视广播***设备。
通过本发明,采用确定帧内块复制模式的块复制矢量的限制范围信息;将所述限制范围信息写入码流的方式,解决了相关技术中引用IBC后无法确定BV范围,使得数据处理效率降低的问题,能够提升数据处理效率,同时也能够保证编码或解码过程的顺利实施。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的编码方法的流程图;
图2是根据本发明实施例的编码装置的结构框图;
图3是根据本发明实施例的解码方法的流程图;
图4是根据本发明实施例的解码装置的结构框图;
图5是根据本发明实施例的电子设备的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
考虑到引入IBC之后的影响,在本实施例中,提供了一种编码方法,图1是根据本发明实施例的编码方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,确定帧内块复制(IBC)模式的块复制矢量(BV)的限制范围信息;
步骤S104,将所述限制范围信息写入码流。
本实施例通过上述步骤,在编码过程中将BV的限制范围信息写入码流,从而使得其他设备能够从码流中获取到BV的限制范围信息,进而确定BV的限制范围,使得IBC的影响得到有效控制,解决了相关技术中引用IBC后无法确定BV范围,使得数据处理效率降低的问题,能够提升数据处理效率,同时也能够保证编码或解码过程的顺利实施。
在本实施例中还可以根据所述限制范围信息对重建块进行环路滤波。其中本文中的环路滤波的实施方式可以是块层环路滤波。对于编码器的写码流操作而言,可以在确定BV的限制范围信息之后即写入码流,也可以在对图像编码之后再将BV的限制范围信息一次性写入码流。
本实施例中,确定帧内块复制IBC模式的块复制矢量BV的限制范围信息可以包括以下至少之一:根据其所使用的档次(Profile)、等级(tier)、级别(level)确定BV的第一限制范围;根据对图像的瓦片(Tile)、分片(Slice)边界,确定BV的第二限制范围;根据与解码器能力协商情况,确定BV的第三限制范围;将所述第一限制范围、所述第二限制范围和所述第三限制范围的交集,作为编码过程中使用的IBC模式的BV的第四限制范围。
其中,将所述限制范围信息写入码流可以包括:将BV的第一限制范围的信息写入以下数据单元至少之一:视频参数集(VPS)中的档次、等级、级别信息,序列参数集(SPS)中的档次、等级、级别;和/或,将BV的第四限制范围的信息写入以下数据单元至少之一:VPS中除档次、等级、级别信息之外的数据单元,SPS中除档次、等级、级别信息之外的数据单元,图像参数集(PPS),分片划分头信息(SliceSegmentHeader),补充增强信息(SEI),用户自定义数据单元。
本实施例中,根据所述限制范围信息对重建块进行环路滤波包括:根据所述限制范围信息确定块层重建过程与环路滤波过程之间的等待时长。具体地,可以根据所述限制范围信息,确定使用当前的第一块单元中像素点作为参考的IBC块所在的最后一个块单元,作为第二块单元;按照编码顺序,确定所述第一块单元与第二块单元及二者之间的块单元作为第八范围;将所述第八范围与传统帧内预测模式中使用的块单元范围的并集作为第九范围;将所述第一块单元至第九范围的最后一个块单元之间包含的块单元的数量,作为所述等待时长。此外,在确定出等待时长后,可以在块层重建过程开始执行后,经过所述等待时长,环路滤波过程开始执行。
其中,所述传统帧内预测模式是直接使用当前编码块的相邻像素点作为参考像素点构造预测块。其中,所述传统帧内预测模式的相邻像素点的位置是预先设定的,不使用位置偏移矢量指示。
需要说明的是,在本文中所提到的块单元,可以包括以下至少之一:最大编码单元(CodingUnit,CU),最小CU,最大变换单元(TransformUnit,TU),最小TU等。而上述执行过程中,当前编码块可以指CU、PU、TU,传统帧内预测模式的预测块是针对TU构造的预测块。
其中,还可以根据当前图像的瓦片划分信息和/或所述第一块单元所在分片的起始位置,将所述第九范围限制在所述第一块单元所在的Tile和/或分片范围内。
其中,上述的传统帧内预测模式中使用的块单元范围可以包括以下范围至少之一或者以下范围中两个或以上个范围的并集:按照块单元的编码顺序,根据块单元的大小和帧内预测过程中所需要使用的相邻参考像素点的最大数量,确定使用可能使用块单元的右边界和下边界像素点作为帧内预测参考的块单元范围,作为第五范围;确定对块单元进行去方块滤波(DF)所使用的相邻块单元,对于右相邻的块单元,确定其下边界上的像素点用作帧内预测参考的块单元范围,作为第六范围;对于下相邻的块单元,确定其右边界上的像素点用作帧内预测参考的块单元范围,作为第七范围。
本实施例中,根据所述限制范围信息对重建块进行环路滤波包括:根据所述限制范围信息确定是否可对已有本地重建块进行环路滤波处理。具体地,在对当前块单元完成本地重建后,按照编码顺序判断当前块单元之前已重建、未进行环路滤波处理的块单元是否满足如下条件:
条件一:待判定的本地重建块单元的右边界和下边界像素点已经不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
条件二:待判定的本地重建块单元的右边界相邻块单元中的下边界像素点不用作当前本地重建块单元之后块单元的块单元中像素点的帧内预测参考;
条件三:待判定的本地重建块单元的下边界相邻块单元中的右边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
根据待判定的本地重建块单元对所述条件的满足情况,进行环路滤波处理。
具体地,根据待判定的本地重建块单元对所述条件的满足情况,进行环路滤波处理包括以下至少之一:
当所述条件一、条件二和条件三同时满足时,对所述待判定的本地重建块单元完成未进行的水平方向和/或垂直方向的DF处理,并对于所述本地重建块单元相邻编码块的本地重建块,标记其已经进行滤波的边界的位置以及滤波操作的属性;对DF处理输出的本地重建块使用采样点自适应加性偏移量滤波器(SAO)进行滤波处理;
当满足所述条件一和条件二时,对所述待判定的本地重建块单元中的未进行水平方向DF的待滤波像素点,环路滤波模块中的DF模块对其进行水平方向DF,标记其已经进行滤波的边界的位置以及滤波操作的属性;判断DF处理输出的本地重建块是否在垂直方向和水平方向均已进行了DF滤波,如果是,则使用SAO进行滤波处理;
当满足所述条件一和条件三时,对所述待判定的本地重建块单元中的未进行垂直方向DF的待滤波像素点,环路滤波模块中的DF模块对其进行垂直方向DF,标记其已经进行滤波的边界的位置以及滤波操作的属性;判断DF处理输出的本地重建块是否在垂直方向和水平方向均已进行了DF滤波,如果是,则使用SAO进行滤波处理;
否则,不对所述待判定的本地重建块单元使用DF和SAO进行滤波处理。
本实施例中,根据所述限制范围信息对重建块进行环路滤波可以包括:根据所述限制范围信息确定对当前本地重建块单元进行环路滤波的等待时长。具体地,确定在当前本地重建块单元同时满足下述条件:
条件一:待判定的本地重建块单元的右边界和下边界像素点已经不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
条件二:待判定的本地重建块单元的右边界相邻块单元中的下边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
条件三:待判定的本地重建块单元的下边界相邻块单元中的右边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考。
本实施例中,在当前本地重建块单元之后,按照编码顺序,等待本地重建模块输出了M个块单元所覆盖的像素点重建值后,对所述当前本地重建块单元进行环路滤波处理。其中,M可以为当前本地重建块单元与对应块单元之间所包含的最小块单元的数量。
其中,对所述当前本地重建块单元进行环路滤波处理可以包括:对所述本地重建块单元完成未进行的水平方向和/或垂直方向的DF处理,对于所述本地重建块单元相邻编码块的本地重建块,标记其已经进行滤波的边界的位置以及滤波操作的属性;对DF处理输出的本地重建块使用SAO进行滤波处理。
具体地,根据所述限制范围信息确定对当前本地重建块单元进行环路滤波的等待时长还可以包括:在当前本地重建块单元同时满足以下条件一和条件二时,当前本地重建块单元与对应块单元之间所包含的块单元的数量eM,在当前本地重建块单元同时满足以下条件一和条件三时,当前本地重建块单元与对应块单元之间所包含的块单元的数量vM,其中:
条件一:待判定的本地重建块单元的右边界和下边界像素点已经不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
条件二:待判定的本地重建块单元的右边界相邻块单元中的下边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
条件三:待判定的本地重建块单元的下边界相邻块单元中的右边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
根据eM与vM的关系,对所述当前本地重建块单元进行环路滤波处理。
具体地,根据eM与vM的关系,对所述当前本地重建块单元进行环路滤波处理可以包括以下情况至少之一:
情况一:eM的值等于vM;
在这种情况下,在当前本地重建块单元之后,按照编码顺序,等待输出了eM或vM个块单元所覆盖的像素点本地重建值后,对所述当前本地重建块单元进行环路滤波处理;
对所述当前本地重建块单元完成未进行的水平方向和/或垂直方向的DF处理,对于所述当前本地重建块单元相邻编码块的本地重建块,标记其已经进行滤波的边界的位置以及滤波操作的属性;
对DF处理输出的本地重建块使用SAO进行滤波处理;
情况二:eM的值小于vM;
在这种情况下,在当前本地重建块单元之后,按照编码顺序,等待输出了eM个块单元所覆盖的像素点本地重建值后,对所述当前本地重建块单元进行垂直方向的DF滤波,并标记已进行DF的垂直方向滤波,继续等待本地重建模块输出vM–eM个块单元所覆盖的像素点重建值后,对所述当前重建块单元进行水平方向的DF滤波,并标记已进行DF的水平方向滤波;
对DF处理输出的本地重建块使用SAO进行滤波处理;
情况三:eM的值大于vM;
在这种情况下,在当前本地重建块单元之后,按照编码顺序,等待输出了vM个块单元所覆盖的像素点本地重建值后,对所述当前本地重建块单元进行水平方向的DF滤波,并标记已进行DF的水平方向滤波,继续等待本地重建模块输出eM–vM个块单元所覆盖的像素点本地重建值后,对所述当前重建块单元进行垂直方向的DF滤波,并标记已进行DF的垂直方向滤波;
对DF处理输出的本地重建块使用SAO进行滤波处理。
对应于上述编码方法,在本实施例中还提供了一种编码装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图2是根据本发明实施例的编码装置的结构框图,如图2所示,该装置包括第一确定模块22和写入模块24,下面对各个模块进行详细说明:
第一确定模块22,用于确定帧内块复制IBC模式的块复制矢量BV的限制范围信息;写入模块24,与第一确定模块22相连,用于将所述限制范围信息写入码流。
本实施例中还可以包括第一环路滤波模块,与写入模块24相连,用于根据所述限制范围信息对重建块进行环路滤波。
在本实施例中,还提供了一种解码方法,图3是根据本发明实施例的解码方法的流程图,如图3所示,该方法包括如下步骤:
步骤S302,从码流中获取帧内块复制(IBC)模式的块复制矢量(BV)的限制范围信息;
步骤S304,根据所述限制范围信息确定IBC模式的BV的限制范围。其中,码流中的BV范围与最终确认的BV范围可能不同,例如码流中给出多个限制范围(Profile/Level给出一个上限范围,其他字段给出一个实际使用的范围),最终使用的可能是多个限制范围的交集或并集。
本实施例通过上述步骤,在解码过程中从码流中获取到BV的限制范围信息,进而确定BV的限制范围,使得IBC的影响得到有效控制,解决了相关技术中引用IBC后无法确定BV范围,使得数据处理效率降低的问题,能够提升数据处理效率,同时也能够保证编码或解码过程的顺利实施。
在本实施例中,还可以根据所述限制范围信息对重建块进行环路滤波。其中本文中的环路滤波的实施方式可以是块层环路滤波。
本实施例中,根据所述限制范围信息对重建块进行块层环路滤波包括:根据所述限制范围信息确定块层重建过程与环路滤波过程之间的等待时长。具体地,可以根据所述限制范围信息,确定使用当前的第一块单元中像素点作为参考的IBC块所在的最后一个块单元,作为第二块单元;按照解码顺序,确定所述第一块单元与第二块单元及二者之间的块单元作为第四范围;将所述第四范围与传统帧内预测模式中使用的块单元范围的并集作为第五范围;将所述第一块单元至第五范围的最后一个块单元之间包含的块单元的数量,作为所述等待时长。
其中,所述传统帧内预测模式直接使用当前解码块的相邻像素点作为参考像素点构造预测块,所述传统帧内预测模式的相邻像素点的位置是预先设定的,不使用位置偏移矢量指示。
此外,在确定出等待时长后,可以在块层重建过程开始执行后,经过所述等待时长,环路滤波过程开始执行。
其中,还可以根据当前图像的瓦片划分信息和/或所述第一块单元所在分片的起始位置,将所述第五范围限制在所述第一块单元所在的Tile和/或分片范围内。
其中,所述传统帧内预测模式中使用的块单元范围可以包括以下范围至少之一或者以下两个或者以上的范围的并集:按照块单元的解码顺序,根据块单元的大小和帧内预测过程中所需要使用的相邻参考像素点的最大数量,确定使用可能使用块单元的右边界和下边界像素点作为帧内预测参考的块单元范围,作为第一范围;确定对块单元进行去方块滤波(DF)所使用的相邻块单元,对于右相邻的块单元,确定其下边界上的像素点用作帧内预测参考的块单元范围,作为第二范围;对于下相邻的块单元,确定其右边界上的像素点用作帧内预测参考的块单元范围,作为第三范围。
本实施例中,根据所述限制范围信息对重建块进行环路滤波包括:根据所述限制范围信息确定是否可对已有本地重建块进行环路滤波处理。具体地,在对当前块单元完成本地重建后,按照解码顺序判断当前块单元之前已重建、未进行环路滤波处理的块单元是否满足如下条件:
条件一:待判定的本地重建块单元的右边界和下边界像素点已经不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
条件二:待判定的本地重建块单元的右边界相邻块单元中的下边界像素点不用作当前本地重建块单元之后块单元的块单元中像素点的帧内预测参考;
条件三:待判定的本地重建块单元的下边界相邻块单元中的右边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
根据待判定的本地重建块单元对所述条件的满足情况,进行环路滤波处理。
其中,根据待判定的本地重建块单元对所述条件的满足情况,进行环路滤波处理可以包括以下至少之一:
当所述条件一、条件二和条件三同时满足时,对所述待判定的本地重建块单元完成未进行的水平方向和/或垂直方向的DF处理,并对于所述本地重建块单元相邻解码块的本地重建块,标记其已经进行滤波的边界的位置以及滤波操作的属性;对DF处理输出的本地重建块使用采样点自适应加性偏移量滤波器(SAO)进行滤波处理;
当满足所述条件一和条件二时,对所述待判定的本地重建块单元中的未进行水平方向DF的待滤波像素点,环路滤波模块中的DF模块对其进行水平方向DF,标记其已经进行滤波的边界的位置以及滤波操作的属性;判断DF处理输出的本地重建块是否在垂直方向和水平方向均已进行了DF滤波,如果是,则使用SAO进行滤波处理;
当满足所述条件一和条件三时,对所述待判定的本地重建块单元中的未进行垂直方向DF的待滤波像素点,环路滤波模块中的DF模块对其进行垂直方向DF,标记其已经进行滤波的边界的位置以及滤波操作的属性;判断DF处理输出的本地重建块是否在垂直方向和水平方向均已进行了DF滤波,如果是,则使用SAO进行滤波处理;
否则,不对所述待判定的本地重建块单元使用DF和SAO进行滤波处理。
本实施例中,根据所述限制范围信息对重建块进行环路滤波还包括:根据所述限制范围信息确定对当前本地重建块单元进行环路滤波的等待时长。具体地,确定在当前本地重建块单元同时满足下述条件:
条件一:待判定的本地重建块单元的右边界和下边界像素点已经不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
条件二:待判定的本地重建块单元的右边界相邻块单元中的下边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
条件三:待判定的本地重建块单元的下边界相邻块单元中的右边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考。
本实施例中,在当前本地重建块单元之后,按照解码顺序,等待本地重建模块输出了M个块单元所覆盖的像素点重建值后,对所述当前本地重建块单元进行环路滤波处理。其中,M可以为当前本地重建块单元与对应块单元之间所包含的最小块单元的数量。
其中,对所述当前本地重建块单元进行环路滤波处理可以包括:对所述本地重建块单元完成未进行的水平方向和/或垂直方向的DF处理,对于所述本地重建块单元相邻解码块的本地重建块,标记其已经进行滤波的边界的位置以及滤波操作的属性;对DF处理输出的本地重建块使用SAO进行滤波处理。
具体地,根据所述限制范围信息确定对当前本地重建块单元进行环路滤波的等待时长还可以包括:
在当前本地重建块单元同时满足条件一和条件二时,当前本地重建块单元与对应块单元之间所包含的块单元的数量eM,在当前本地重建块单元同时满足条件一和条件三时,当前本地重建块单元与对应块单元之间所包含的块单元的数量vM,其中:
条件一:待判定的本地重建块单元的右边界和下边界像素点已经不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
条件二:待判定的本地重建块单元的右边界相邻块单元中的下边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
条件三:待判定的本地重建块单元的下边界相邻块单元中的右边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
根据eM与vM的关系,对所述当前本地重建块单元进行环路滤波处理。
其中,根据eM与vM的关系,对所述当前本地重建块单元进行环路滤波处理可以包括以下情况至少之一:
情况一:eM的值等于vM;
在这种情况下,在当前本地重建块单元之后,按照解码顺序,等待输出了eM或vM个块单元所覆盖的像素点本地重建值后,对所述当前本地重建块单元进行环路滤波处理;
对所述当前本地重建块单元完成未进行的水平方向和/或垂直方向的DF处理,对于所述当前本地重建块单元相邻解码块的本地重建块,标记其已经进行滤波的边界的位置以及滤波操作的属性;
对DF处理输出的本地重建块使用SAO进行滤波处理;
情况二:eM的值小于vM;
在这种情况下,在当前本地重建块单元之后,按照解码顺序,等待输出了eM个块单元所覆盖的像素点本地重建值后,对所述当前本地重建块单元进行水平方向的DF滤波,并标记已进行DF的水平方向滤波,继续等待本地重建模块输出vM–eM个块单元所覆盖的像素点重建值后,对所述当前重建块单元进行垂直方向的DF滤波,并标记已进行DF的垂直方向滤波;
对DF处理输出的本地重建块使用SAO进行滤波处理;
情况三:eM的值大于vM;
在这种情况下,在当前本地重建块单元之后,按照解码顺序,等待输出了vM个块单元所覆盖的像素点本地重建值后,对所述当前本地重建块单元进行垂直方向的DF滤波,并标记已进行DF的垂直方向滤波,继续等待本地重建模块输出eM–vM个块单元所覆盖的像素点本地重建值后,对所述当前重建块单元进行水平方向的DF滤波,并标记已进行DF的水平方向滤波;
对DF处理输出的本地重建块使用SAO进行滤波处理。
本实施例中,从码流中获取IBC模式的BV的限制范围信息可以包括:从以下数据单元至少之一中获取所述BV的第一限制范围的信息:视频参数集(VPS)中的档次、等级、级别信息,序列参数集(SPS)中的档次、等级、级别;和/或,VPS中除档次、等级、级别信息之外的数据单元,SPS中除档次、等级、级别信息之外的数据单元,图像参数集(PPS),分片划分头信息(SliceSegmentHeader),补充增强信息(SEI),用户自定义数据单元。
对应于上述解码方法,在本实施例中还提供了一种解码装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是根据本发明实施例的解码装置的结构框图,如图4所示,该装置包括获取模块42和第二确定模块44,下面对各个模块进行详细说明:
获取模块42,用于从码流中获取帧内块复制(IBC)模式的块复制矢量(BV)的限制范围信息;第二确定模块44,与获取模块42相连,用于根据所述限制范围信息确定IBC模式的BV的限制范围。
本实施例中,所述装置还可以包括第二环路滤波模块,与第二确定模块44相连,用于根据所述限制范围信息对重建块进行环路滤波。
在本实施例中,还提供了一种电子设备,图5是根据本发明实施例的电子设备的结构框图,如图5所示,该电子设备包括如图2所述的编码装置20,和/或,包括如如图4所述的解码装置40。
本实施例中,所述电子设备可以包括:视频通信应用中相关码流生成设备和/或接收播放设备。具体地,所述电子设备可以为:手机、计算机、服务器、机顶盒、便携式移动终端、数字摄像机,电视广播***设备等。
下面结合优选实施例进行说明,以下优选实施例结合了上述实施例及其优选实施方式。
在以下优选实施例中,以将BV的限制范围应用于编解码领域为例进行说明,提供了一种视频编解码领域的使用环路滤波的编解码方法和装置及设备。
所述编码方法包括:确定帧内块复制IBC模式的块复制矢量BV的限制范围;将所述BV的限制范围信息写入码流;根据所述BV的限制范围对重建块进行块层环路滤波。即将当前块与预测参考块之间偏移矢量的范围信息写入码流。
所述解码方法包括:解析码流,获得帧内块复制IBC模式的块复制矢量BV的限制范围;根据所述BV的限制范围对重建块进行块层环路滤波。即解析码流,获得当前块与预测参考块之间偏移矢量的范围信息;根据所述偏移矢量的范围信息,对解码图像中的块执行环路滤波操作。
实施例1:
本优选实施例提供一种使用环路滤波器的解码方法,用于使用IBC模式的解码过程或解码器。需要说明的是,本实施例方法对IBC的预测块划分方式没有限定,即可以是传统的矩形、正方形块划分方式,也可以是Nx1或1xN的串划分。串匹配(StringMatching)方法是IBC使用Nx1或1xN的串划分方式时的一个特例。
本实施例的使用环路滤波的解码方法如下所述。
步骤S702,解码器解析视频码流,获得IBC模式中块复制矢量BV的范围信息。
块复制矢量BV用于指示使用IBC模式的解码块与其预测参考块之间的相对偏移。
解码器可通过解析以下所述单元的至少之一,从码流中获取BV的范围信息,包括:
视频参数集(VideoParameterSet,VPS)中的档次(Profile)、等级(tier)、级别(level)信息;
VPS中除档次、等级、级别信息之外的数据单元;
序列参数集(SequenceParameterSet,SPS)中的档次(Profile)、等级(tier)、级别(level)信息;
SPS中档次、等级、级别信息之外的数据单元;
图像参数集(PictureParameterSet,PPS);
分片划分头信息(SliceSegmentHeader);
补充增强信息(SupplementalEnhancementInformation,SEI);
用户自定义数据单元。
步骤S704,解码器根据BV范围信息,确定块层(blocklevel)重建过程与环路滤波过程之间的等待时长。
环路滤波过程中包含两个滤波器:去方块滤波器DF和采样点自适应加性偏移量滤波器SAO。由于帧内预测块解码过程中需要使用未经过环路滤波处理的像素点采样值的恢复值来构造预测参考块,因此,解码器需要等待待处理块中所有像素点均不用作后续解码块的帧内预测参考后,再执行环路滤波过程。
对于DF,除需要使用当前处理块内的像素点,还需要使用相邻块的恢复像素点。因此,解码器需要等待当前块和相邻块的像素点均不用作帧内预测参考后,再执行DF。
解码器在DF之后才执行SAO。同时,SAO仅使用当前处理块内的恢复像素点。因此,解码器只要等待至DF执行之后,即可执行SAO。
对于传统的使用相邻像素点作为预测参考的帧内预测模式而言,解码器解析参数集码流,获得解码过程中相关的块单元大小,确定在块重建模块执行后、环路滤波模块执行前需要等待的时长。这些块单元包括以下至少之一:最大编码单元(CodingUnit,CU),最小CU,最大变换单元(TransformUnit,TU),最小TU。这里,等待时长等于N表示:延迟N个块单元后对该重建块执行环路滤波操作。
具体地,对于传统帧内预测模式,根据块解码顺序,当前处理块中的右边界和下边界像素点可能用作后续解码块的帧内预测参考。以下,以使用最大CU为例进行说明,使用其他块单元的情况与此类似。
其中,所述传统帧内预测模式直接使用当前解码块的相邻像素点作为参考像素点构造预测块。所述传统帧内预测模式的相邻像素点的位置是预先设定的,不使用位置偏移矢量指示。
按照最大CU的解码顺序,解码器根据最大CU的大小和帧内预测过程中所需要使用的相邻参考像素点的最大数量,确定使用可能使用最大CU的右边界和下边界像素点作为帧内预测参考的最大CU的范围(即范围1)。同时,解码器确定对最大CU进行DF所使用的相邻最大CU。对于左相邻的最大CU,确定其下边界上的像素点用作帧内预测参考的最大CU范围(即范围2);对于下相邻的最大CU,确定其右边界上的像素点用作帧内预测参考的最大CU范围(即范围3)。
对于IBC模式,解码器根据BV范围信息,按照解码顺序,确定使用该最大CU(记为“第一CU”)中像素点作为参考的IBC块所在的最后一个最大CU的位置(记为“第二CU”)。按照最大CU解码顺序,第一CU和第二CU及二者之间的最大CU作为范围4(包含第二CU)。
解码器将范围1、范围2、范围3和范围4的并集设置为范围5,并根据当前图像的瓦片(Tile)划分信息和该最大CU所在分片的起始位置,将范围5限制在该最大CU所在的Tile和分片范围内。解码器将该最大CU至范围5最后一个最大CU之间包含的最大CU的数量(不包含该最大CU、但包含范围5中的最后一个最大CU)作为块层重建过程与环路滤波过程之间的等待时长,记为M。
步骤S706,解码器在获得解码块重建块后,在等待时长后,将重建块交给环路滤波模块进行DF和SAO。
以步骤S704中的最大CU作为块单位为例,使用其他块单元的情况与此类似。
优选地,解码器在完成当前最大CU(这里标记为“第一最大CU”)的重建之后,按照解码顺序,在完成后续M个最大CU的重建之后,将第一最大CU的重建数据交给环路滤波模块,依次进行DF和SAO处理。
优选地,按照解码顺序,解码器中的块重建模块从分片或图像中的第一个最大CU开始进行重建,将重建的最大CU数据写入缓存。当重建模块开始处理分片或图像中的第M+2个最大CU时,环路滤波模块开始按照解码顺序从该分片或图像中的第一个最大CU开始依次对各最大CU的重建数据进行环路滤波处理。
环路滤波模块在对最大CU完成未进行的水平方向滤波和/或垂直方向滤波的DF处理,对于第一最大CU相邻解码块的重建块,DF模块标记其已经进行滤波的边界的位置以及滤波操作的属性(包括:水平方向滤波,垂直方向滤波)。
环路滤波模块对DF模块输出的经滤波处理的重建块使用SAO进行滤波处理,并将SAO模块输出数据写入解码图像缓存。
实施例2:
实施例1中,解码器以选定的某个块单元,确定以该选定的块单元数量来计数的最大等待时长。环路滤波模块是在经过最大等待时长后开始对重建块进行环路滤波处理。本实施例提供一种可动态进行块层环路滤波的解码方法,用于使用IBC模式的解码过程或解码器。需要说明的是,本实施例方法对IBC的预测块划分方式没有限定,即可以是传统的矩形、正方形块划分方式,也可以是Nx1或1xN的串划分。串匹配(StringMatching)方法是IBC使用Nx1或1xN的串划分方式时的一个特例。
步骤S802,与步骤S702完全相同。
步骤S804,解码器根据BV范围信息,确定是否可对已解码块进行环路滤波处理的指示信息。
解码器记录重建模块执行过程中,各编码树块(CodingTreeUnit,CTU)中的CU划分情况。解码器可以通过直接保存CTU和CU中的split_cu_flag的取值的方法,记录CTU中的CU划分情况。其中,split_cu_flag的取值可通过直接解析块层码流获得。
解码器在对当前CU完成重建后,判断:按照解码顺序,对当前CU之前已重建、未进行环路滤波处理的CU,判定如下条件:
条件1:待判定的重建CU的右边界和下边界像素点已经不用作当前重建CU之后(按照解码顺序)的CU中像素点的帧内预测参考;
条件2:待判定的重建CU的右边界相邻CU中的下边界像素点不用作当前重建CU之后(按照解码顺序)的CU中像素点的帧内预测参考;
条件3:待判定的重建CU的下边界相邻CU中的右边界像素点不用作当前重建CU之后(按照解码顺序)的CU中像素点的帧内预测参考。
当上述三个条件同时满足时,解码器对该待判定的重建CU标记为“可进行环路滤波处理”;当满足条件1和条件2时,解码器对该待判定的重建CU标记为“可进行水平方向的DF”;当满足条件1和条件3时,解码器对该待判定的重建CU标记为“可进行垂直方向的DF”。除此之外的其他条件下,解码器对该待判定的重建CU标记为“不可进行环路滤波处理”。
步骤S806,环路滤波模块根据CU的标记信息,对其进行环路滤波处理。
情况1:
当重建CU的标记信息是“可进行环路滤波处理”时,环路滤波模块对该CU完成未进行的水平方向和/或垂直方向的DF处理,对于该CU相邻解码块的重建块,DF模块标记其已经进行滤波的边界的位置以及滤波操作的属性(包括:水平方向滤波,垂直方向滤波)。
环路滤波模块对DF模块输出的经滤波处理的重建块使用SAO进行滤波处理,并将SAO模块输出数据写入解码图像缓存。
情况2:
当重建CU的标记信息是“可进行垂直方向的DF”或“可进行水平方向的DF”时,对于该CU中的未进行垂直方向DF或水平方向DF的待滤波像素点,环路滤波模块中的DF模块对其进行垂直方向DF或水平方向DF,标记其已经进行滤波的边界的位置以及滤波操作的属性(包括:水平方向滤波,垂直方向滤波)。
若该重建CU中垂直方向和水平方向均已经了DF滤波,则环路滤波模块对该重建CU使用SAO进行滤波,并将SAO模块输出数据写入解码图像缓存。否则,环路滤波模块不对该重建CU使用SAO进行滤波,将该重建CU暂存在缓存中,等待进一步的与DF相关的操作指令,所述与DF相关的操作指令包括以下之一:“可进行环路滤波处理”,“可进行垂直方向的DF”,“可进行水平方向的DF”。
情况3:
当重建CU的标记信息是“不可进行环路滤波处理”时,环路滤波模块不对该重建CU使用DF和SAO进行滤波处理。
实施例3:
实施例2所述方法中,解码器在重建当前CU后判断是否可以对之前已重建的CU进行环路滤波处理,并对可以进行全部或部分环路滤波处理的CU进行滤波。本实施例提供一种直接对当前重建CU设置环路滤波标记的解码方法,用于使用IBC模式的解码过程或解码器。需要说明的是,本实施例方法对IBC的预测块划分方式没有限定,即可以是传统的矩形、正方形块划分方式,也可以是Nx1或1xN的串划分。串匹配(StringMatching)方法是IBC使用Nx1或1xN的串划分方式时的一个特例。
步骤S902,与步骤S702完全相同。
步骤S904,解码器根据BV范围信息,确定对当前重建CU进行环路滤波的等待时长参数。
解码器记录重建模块执行过程中,各编码树块(CodingTreeUnit,CTU)中的CU划分情况。解码器可以通过直接保存CTU和CU中的split_cu_flag的取值的方法,记录CTU中的CU划分情况。其中,split_cu_flag的取值可通过直接解析块层码流获得。
以最小CU为单位,按照解码顺序,解码器确定在当前重建CU同时满足下述条件,当前CU与对应CU之间所包含的最小CU的数量M。条件包括:
条件1:待判定的重建CU的右边界和下边界像素点已经不用作当前重建CU之后(按照解码顺序)的CU中像素点的帧内预测参考;
条件2:待判定的重建CU的右边界相邻CU中的下边界像素点不用作当前重建CU之后(按照解码顺序)的CU中像素点的帧内预测参考;
条件3:待判定的重建CU的下边界相邻CU中的右边界像素点不用作当前重建CU之后(按照解码顺序)的CU中像素点的帧内预测参考。
步骤S906,环路滤波模块在当前重建CU之后,按照解码顺序,等待重建模块输出了M个最小CU所覆盖的像素点重建值后,对所述当前重建CU进行环路滤波处理。
环路滤波模块对该CU完成未进行的水平方向和/或垂直方向的DF处理,对于该CU相邻解码块的重建块,DF模块标记其已经进行滤波的边界的位置以及滤波操作的属性(包括:水平方向滤波,垂直方向滤波)。
环路滤波模块对DF模块输出的经滤波处理的重建块使用SAO进行滤波处理,并将SAO模块输出数据写入解码图像缓存。
实施例4:
在实施例3的基础上,使用更加灵活的等待时长,以更加充分地利用解码器处理资源。本实施例提供一种直接对当前重建CU设置环路滤波标记的解码方法,用于使用IBC模式的解码过程或解码器。需要说明的是,本实施例方法对IBC的预测块划分方式没有限定,即可以是传统的矩形、正方形块划分方式,也可以是Nx1或1xN的串划分。串匹配(StringMatching)方法是IBC使用Nx1或1xN的串划分方式时的一个特例。
步骤S1002,与步骤S702完全相同。
步骤S1004,解码器根据BV范围信息,确定对当前重建CU进行环路滤波的等待时长参数。
解码器记录重建模块执行过程中,各编码树块(CodingTreeUnit,CTU)中的CU划分情况。解码器可以通过直接保存CTU和CU中的split_cu_flag的取值的方法,记录CTU中的CU划分情况。其中,split_cu_flag的取值可通过直接解析块层码流获得。
以最小CU为单位,按照解码顺序,解码器确定在当前重建CU同时满足下述条件1和2时,当前CU与对应CU之间所包含的最小CU的数量eM。解码器确定在当前重建CU同时满足下述条件1和3时,当前CU与对应CU之间所包含的最小CU的数量vM。条件包括:
条件1:待判定的重建CU的右边界和下边界像素点已经不用作当前重建CU之后(按照解码顺序)的CU中像素点的帧内预测参考;
条件2:待判定的重建CU的右边界相邻CU中的下边界像素点不用作当前重建CU之后(按照解码顺序)的CU中像素点的帧内预测参考;
条件3:待判定的重建CU的下边界相邻CU中的右边界像素点不用作当前重建CU之后(按照解码顺序)的CU中像素点的帧内预测参考。
步骤S1006,环路滤波模块根据CU的标记信息,对其进行环路滤波处理。
情况1:eM的值等于vM
在这种情况下,环路滤波模块在当前重建CU之后,按照解码顺序,等待重建模块输出了eM(或vM)个最小CU所覆盖的像素点重建值后,对所述当前重建CU进行环路滤波处理。
环路滤波模块对该CU完成未进行的水平方向和/或垂直方向的DF处理,对于该CU相邻解码块的重建块,DF模块标记其已经进行滤波的边界的位置以及滤波操作的属性(包括:水平方向滤波,垂直方向滤波)。
环路滤波模块对DF模块输出的经滤波处理的重建块使用SAO进行滤波处理,并将SAO模块输出数据写入解码图像缓存。
情况2:eM的值小于vM
在这种情况下,环路滤波模块在当前重建CU之后,按照解码顺序,等待重建模块输出了eM个最小CU所覆盖的像素点重建值后,对所述当前重建CU进行垂直方向的DF滤波,并标记(包括相邻块)已进行DF的垂直方向滤波。环路滤波模块继续等待重建模块输出(vM–eM)个最小CU所覆盖的像素点重建值后,对所述当前重建CU进行水平方向的DF滤波,并标记(包括相邻块)已进行DF的水平方向滤波。
环路滤波模块对DF模块输出的经滤波处理的重建块使用SAO进行滤波处理,并将SAO模块输出数据写入解码图像缓存。
情况3:eM的值大于vM
在这种情况下,环路滤波模块在当前重建CU之后,按照解码顺序,等待重建模块输出了vM个最小CU所覆盖的像素点重建值后,对所述当前重建CU进行水平方向的DF滤波,并标记(包括相邻块)已进行DF的水平方向滤波。环路滤波模块继续等待重建模块输出(eM–vM)个最小CU所覆盖的像素点重建值后,对所述当前重建CU进行垂直方向的DF滤波,并标记(包括相邻块)已进行DF的垂直方向滤波。
环路滤波模块对DF模块输出的经滤波处理的重建块使用SAO进行滤波处理,并将SAO模块输出数据写入解码图像缓存。
实施例5:
本实施例提供一种使用环路滤波的编码方法,用于使用IBC模式的编码过程或编码器。该编码过程或编码器可产生前述实施例1至实施例4的解码过程或解码器可正确进行解码处理的码流。
步骤S1102,编码器确定IBC模式中块复制矢量BV的范围信息。
若适用,编码器根据其所使用的档次(Profile)、等级(tier)、级别(level)确定BV的范围信息,即为范围1。
若适用,编码器根据对图像的瓦片(Tile)、分片(Slice)的划分边界,确定BV的最大范围,即为范围2。
若适用,编码器根据与解码器能力协商情况(如解码器的内存访问限制、流水线设计等),确定BV的范围,即为范围3。
编码器将范围1、范围2和范围3的交集,作为编码过程中使用的IBC模式的BV范围,即为范围4。
步骤S1104,编码器将BV范围信息写入码流。
若适用,编码器将范围1信息写入以下数据单元:
视频参数集(VideoParameterSet,VPS)中的档次(Profile)、等级(tier)、级别(level)信息;和/或
序列参数集(SequenceParameterSet,SPS)中的档次(Profile)、等级(tier)、级别(level)。
若适用,编码器将BV的范围信息写入码流,将范围4信息写入以下所述单元的至少之一,包括:
VPS中除档次、等级、级别信息之外的数据单元;
SPS中档次、等级、级别信息之外的数据单元;
图像参数集(PictureParameterSet,PPS);
分片划分头信息(SliceSegmentHeader);
补充增强信息(SupplementalEnhancementInformation,SEI);
用户自定义数据单元。
步骤S1106,编码器对输入的视频图像进行编码,并对编码后的块进行本地重建,得到本地重建块。
编码器在使用IBC模式对编码块进行编码的过程中,将保证IBC模式所使用的BV的大小在范围4之内。即:在搜索IBC模式的预测参考块时,不使用范围4之外的像素点作为预测参考。
步骤S1108,编码器根据BV范围信息,确定块层(blocklevel)本地重建过程与环路滤波过程之间的等待时长。
环路滤波过程中包含两个滤波器:去方块滤波器DF和采样点自适应加性偏移量滤波器SAO。由于帧内预测块解码过程中需要使用未经过环路滤波处理的像素点采样值的恢复值来构造预测参考块,因此,编码器需要等待待处理块中所有像素点均不用作后续编码块的帧内预测参考后,再执行环路滤波过程。
对于DF,除需要使用当前处理块内的像素点,还需要使用相邻块的恢复像素点。因此,编码器需要等待当前块和相邻块的像素点均不用作帧内预测参考后,再执行DF。
编码器在DF之后才执行SAO。同时,SAO仅使用当前处理块内的恢复像素点。因此,编码器只要等待至DF执行之后,即可执行SAO。
对于传统的使用相邻像素点作为预测参考的帧内预测模式而言,编码器根据相关的块单元大小,确定在本地块重建模块执行后、环路滤波模块执行前需要等待的时长。这些块单元包括以下至少之一:最大编码单元(CodingUnit,CU),最小CU,最大变换单元(TransformUnit,TU),最小TU。这里,等待时长等于N表示:延迟N个块单元后对该本地重建块执行环路滤波操作。
具体地,对于传统帧内预测模式,根据块编码顺序,当前处理块中的右边界和下边界像素点可能用作后续编码块的帧内预测参考。以下,以使用最大CU为例进行说明,使用其他块单元的情况与此类似。
其中,所述传统帧内预测模式直接使用当前编码块的相邻像素点作为参考像素点构造预测块。所述传统帧内预测模式的相邻像素点的位置是预先设定的,不使用位置偏移矢量指示。
按照最大CU的编码顺序,编码器根据最大CU的大小和帧内预测过程中所需要使用的相邻参考像素点的最大数量,确定使用可能使用最大CU的右边界和下边界像素点作为帧内预测参考的最大CU的范围(即范围5)。同时,编码器确定对最大CU进行DF所使用的相邻最大CU。对于左相邻的最大CU,确定其下边界上的像素点用作帧内预测参考的最大CU范围(即范围6);对于下相邻的最大CU,确定其右边界上的像素点用作帧内预测参考的最大CU范围(即范围7)。
对于IBC模式,编码器根据BV范围信息,按照编码顺序,确定使用该最大CU(记为“第一CU”)中像素点作为参考的IBC块所在的最后一个最大CU的位置(记为“第二CU”)。按照最大CU编码顺序,第一CU和第二CU及二者之间的最大CU作为范围8(包含第二CU)。
解码器将范围5、范围6、范围7和范围8的并集设置为范围9,并根据当前图像的瓦片(Tile)划分信息和该最大CU所在分片的其实位置,将范围9限制在该最大CU所在的Tile和分片范围内。解码器将该最大CU至范围9最后一个最大CU之间包含的最大CU的数量(不包含该最大CU、但包含范围5中的最后一个最大CU)作为块层重建过程与环路滤波过程之间的等待时长,记为M。
步骤S1110,编码器在获得编码块本地重建块后,在等待时长后,将本地重建块交给环路滤波模块进行DF和SAO。
以步骤S1108中的最大CU作为块单位为例,使用其他块单元的情况与此类似。
优选地,编码器在完成当前最大CU(这里标记为“第一最大CU”)的重建之后,按照编码顺序,在完成后续M个最大CU的重建之后,将第一最大CU的重建数据交给环路滤波模块,依次进行DF和SAO处理,确定环路滤波参数。
优选地,按照编码顺序,编码器中的本地块重建模块从分片或图像中的第一个最大CU开始进行重建,将重建的最大CU数据写入缓存。当本地重建模块开始处理分片或图像中的第M+2个最大CU时,环路滤波模块开始按照编码顺序从该分片或图像中的第一个最大CU开始依次对各最大CU的本地重建数据进行环路滤波处理,确定环路滤波参数。
环路滤波模块在对最大CU完成未进行的水平方向滤波和/或垂直方向滤波的DF处理,对于第一最大CU相邻解码块的重建块,DF模块标记其已经进行滤波的边界的位置以及滤波操作的属性(包括:水平方向滤波,垂直方向滤波)。
环路滤波模块对DF模块输出的经滤波处理的本地重建块使用SAO进行滤波处理,并将SAO模块输出数据写入本地解码图像缓存。
实施例6:
实施例5中,编码器以选定的某个块单元,确定以该选定的块单元数量来计数的最大等待时长。环路滤波模块是在经过最大等待时长后开始对本地重建块进行环路滤波处理。本实施例提供一种可动态进行块层环路滤波的编码方法,用于使用IBC模式的编码过程或编码器。需要说明的是,本实施例方法对IBC的预测块划分方式没有限定,即可以是传统的矩形、正方形块划分方式,也可以是Nx1或1xN的串划分。串匹配(StringMatching)方法是IBC使用Nx1或1xN的串划分方式时的一个特例。
步骤S1202,与步骤S1102完全相同。
步骤S1204,与步骤S1104完全相同。
步骤S1206,与步骤S1106完全相同。
步骤S1208,编码器根据BV范围4信息,确定是否可对已有本地重建块进行环路滤波处理的指示信息。
编码器记录编码过程中,各编码树块(CodingTreeUnit,CTU)中的CU划分情况。编码器可以通过直接记录CTU和CU中的split_cu_flag的取值的方法,记录CTU中的CU划分情况。
编码器在对当前CU完成本地重建后,判断:按照编码顺序,对当前CU之前已重建、未进行环路滤波处理的CU,判定如下条件:
条件1:待判定的本地重建CU的右边界和下边界像素点已经不用作当前本地重建CU之后(按照编码顺序)的CU中像素点的帧内预测参考;
条件2:待判定的本地重建CU的右边界相邻CU中的下边界像素点不用作当前本地重建CU之后(按照编码顺序)的CU中像素点的帧内预测参考;
条件3:待判定的本地重建CU的下边界相邻CU中的右边界像素点不用作当前本地重建CU之后(按照编码顺序)的CU中像素点的帧内预测参考。
当上述三个条件同时满足时,编码器对该待判定的本地重建CU标记为“可进行环路滤波处理”;当满足条件1和条件2时,编码器对该待判定的本地重建CU标记为“可进行水平方向的DF”;当满足条件1和条件3时,编码器对该待判定的本地重建CU标记为“可进行垂直方向的DF”。除此之外的其他条件下,编码器对该待判定的本地重建CU标记为“不可进行环路滤波处理”。
步骤S1210,环路滤波模块根据CU的标记信息,对其进行环路滤波处理。
情况1:
当本地重建CU的标记信息是“可进行环路滤波处理”时,环路滤波模块对该CU完成未进行的水平方向和/或垂直方向的DF处理,对于该CU相邻编码块的本地重建块,DF模块标记其已经进行滤波的边界的位置以及滤波操作的属性(包括:水平方向滤波,垂直方向滤波)。
环路滤波模块对DF模块输出的经滤波处理的本地重建块使用SAO进行滤波处理,并将SAO模块输出数据写入本地解码图像缓存。
情况2:
当本地重建CU的标记信息是“可进行垂直方向的DF”或“可进行水平方向的DF”时,对于该CU中的未进行垂直方向DF或水平方向DF的待滤波像素点,环路滤波模块中的DF模块对其进行垂直方向DF或水平方向DF,标记其已经进行滤波的边界的位置以及滤波操作的属性(包括:水平方向滤波,垂直方向滤波)。
若该本地重建CU中垂直方向和水平方向均已经了DF滤波,则环路滤波模块对该重建CU使用SAO进行滤波,并将SAO模块输出数据写入本地解码图像缓存。否则,环路滤波模块不对该重建CU使用SAO进行滤波,将该本地重建CU暂存在缓存中,等待进一步的与DF相关的操作指令,所述与DF相关的操作指令包括以下之一:“可进行环路滤波处理”,“可进行垂直方向的DF”,“可进行水平方向的DF”。
情况3:
当本地重建CU的标记信息是“不可进行环路滤波处理”时,环路滤波模块不对该本地重建CU使用DF和SAO进行滤波处理。
实施例7:
实施例6所述方法中,编码器在重建当前CU后判断是否可以对之前已重建的CU进行环路滤波处理,并对可以进行全部或部分环路滤波处理的CU进行滤波。本实施例提供一种直接对当前重建CU设置环路滤波标记的编码方法,用于使用IBC模式的编码过程或编码器。需要说明的是,本实施例方法对IBC的预测块划分方式没有限定,即可以是传统的矩形、正方形块划分方式,也可以是Nx1或1xN的串划分。串匹配(StringMatching)方法是IBC使用Nx1或1xN的串划分方式时的一个特例。
步骤S1302,与步骤S1102完全相同。
步骤S1304,与步骤S1104完全相同。
步骤S1306,与步骤S1106完全相同。
步骤S1308,编码器根据BV范围4信息,确定对当前本地重建CU进行环路滤波的等待时长参数。
编码器记录编码过程中,各编码树块(CodingTreeUnit,CTU)中的CU划分情况。编码器可以通过直接保存CTU和CU中的split_cu_flag的取值的方法,记录CTU中的CU划分情况。
以最小CU为单位,按照编码顺序,编码器确定在当前本地重建CU同时满足下述条件,当前CU与对应CU之间所包含的最小CU的数量M。条件包括:
条件1:待判定的本地重建CU的右边界和下边界像素点已经不用作当前本地重建CU之后(按照编码顺序)的CU中像素点的帧内预测参考;
条件2:待判定的本地重建CU的右边界相邻CU中的下边界像素点不用作当前本地重建CU之后(按照编码顺序)的CU中像素点的帧内预测参考;
条件3:待判定的本地重建CU的下边界相邻CU中的右边界像素点不用作当前本地重建CU之后(按照编码顺序)的CU中像素点的帧内预测参考。
步骤S1310,环路滤波模块在当前本地重建CU之后,按照编码顺序,等待本地重建模块输出了M个最小CU所覆盖的像素点重建值后,对所述当前本地重建CU进行环路滤波处理。
环路滤波模块对该CU完成未进行的水平方向和/或垂直方向的DF处理,对于该CU相邻编码块的本地重建块,编码器的DF模块标记其已经进行滤波的边界的位置以及滤波操作的属性(包括:水平方向滤波,垂直方向滤波)。
环路滤波模块对DF模块输出的经滤波处理的本地重建块使用SAO进行滤波处理,并将SAO模块输出数据写入本地解码图像缓存。
实施例8:
在实施例7的基础上,使用更加灵活的等待时长,以更加充分地利用编码器处理资源。本实施例提供一种直接对当前重建CU设置环路滤波标记的编码方法,用于使用IBC模式的编码过程或编码器。需要说明的是,本实施例方法对IBC的预测块划分方式没有限定,即可以是传统的矩形、正方形块划分方式,也可以是Nx1或1xN的串划分。串匹配(StringMatching)方法是IBC使用Nx1或1xN的串划分方式时的一个特例。
步骤S1402,与步骤S1102完全相同。
步骤S1404,与步骤S1104完全相同。
步骤S1406,与步骤S1106完全相同。
步骤S1408,编码器根据BV范围4信息,确定对当前本地重建CU进行环路滤波的等待时长参数。
编码器记录编码过程中,各编码树块(CodingTreeUnit,CTU)中的CU划分情况。编码器可以通过直接保存CTU和CU中的split_cu_flag的取值的方法,记录CTU中的CU划分情况。
以最小CU为单位,按照编码顺序,编码器确定在当前本地重建CU同时满足下述条件1和2时,当前CU与对应CU之间所包含的最小CU的数量eM。编码器确定在当前本地重建CU同时满足下述条件1和3时,当前CU与对应CU之间所包含的最小CU的数量vM。条件包括:
条件1:待判定的本地重建CU的右边界和下边界像素点已经不用作当前本地重建CU之后(按照编码顺序)的CU中像素点的帧内预测参考;
条件2:待判定的本地重建CU的右边界相邻CU中的下边界像素点不用作当前本地重建CU之后(按照编码顺序)的CU中像素点的帧内预测参考;
条件3:待判定的本地重建CU的下边界相邻CU中的右边界像素点不用作当前本地重建CU之后(按照编码顺序)的CU中像素点的帧内预测参考。
步骤S1410,环路滤波模块根据CU的标记信息,对其进行环路滤波处理。
情况1:eM的值等于vM;
在这种情况下,环路滤波模块在当前本地重建CU之后,按照编码顺序,等待本地重建模块输出了eM(或vM)个最小CU所覆盖的像素点本地重建值后,对所述当前本地重建CU进行环路滤波处理。
环路滤波模块对该CU完成未进行的水平方向和/或垂直方向的DF处理,对于该CU相邻编码块的本地重建块,DF模块标记其已经进行滤波的边界的位置以及滤波操作的属性(包括:水平方向滤波,垂直方向滤波)。
环路滤波模块对DF模块输出的经滤波处理的本地重建块使用SAO进行滤波处理,并将SAO模块输出数据写入本地解码图像缓存。
情况2:eM的值小于vM;
在这种情况下,环路滤波模块在当前本地重建CU之后,按照编码顺序,等待本地重建模块输出了eM个最小CU所覆盖的像素点本地重建值后,对所述当前本地重建CU进行垂直方向的DF滤波,并标记(包括相邻块)已进行DF的垂直方向滤波。环路滤波模块继续等待本地重建模块输出(vM–eM)个最小CU所覆盖的像素点重建值后,对所述当前重建CU进行水平方向的DF滤波,并标记(包括相邻块)已进行DF的水平方向滤波。
环路滤波模块对DF模块输出的经滤波处理的本地重建块使用SAO进行滤波处理,并将SAO模块输出数据写入本地解码图像缓存。
情况3:eM的值大于vM;
在这种情况下,环路滤波模块在当前本地重建CU之后,按照编码顺序,等待本地重建模块输出了vM个最小CU所覆盖的像素点本地重建值后,对所述当前本地重建CU进行水平方向的DF滤波,并标记(包括相邻块)已进行DF的水平方向滤波。环路滤波模块继续等待本地重建模块输出(eM–vM)个最小CU所覆盖的像素点本地重建值后,对所述当前重建CU进行垂直方向的DF滤波,并标记(包括相邻块)已进行DF的垂直方向滤波。
环路滤波模块对DF模块输出的经滤波处理的本地重建块使用SAO进行滤波处理,并将SAO模块输出数据写入本地解码图像缓存。
实施例9:
本实施例提供一种电子设备实施例,包括编码器和/或解码器。
所述编码器使用前述实施例5至实施例8中任何一种编码器的实施方法,产生视频码流。
所述解码器使用前述实施例1至实施例4中任何一种解码器的实施方法,解码视频码流。
本实施例的电子设备可以是视频通信应用中相关码流生成设备和接收播放设备,例如,手机、计算机、服务器、机顶盒、便携式移动终端、数字摄像机,电视广播***设备等。
在另外一个实施例中,还提供了一种软件,该软件用于执行上述实施例及优选实施例中描述的技术方案。
在另外一个实施例中,还提供了一种存储介质,该存储介质中存储有上述软件,该存储介质包括但不限于光盘、软盘、硬盘、可擦写存储器等。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (46)
1.一种编码方法,其特征在于,包括:
确定帧内块复制IBC模式的块复制矢量BV的限制范围信息;
将所述限制范围信息写入码流。
2.根据权利要求1所述的方法,其特征在于,在将所述限制范围信息写入码流之前或之后,还包括:
根据所述限制范围信息对重建块进行环路滤波。
3.根据权利要求1所述的方法,其特征在于,确定帧内块复制IBC模式的块复制矢量BV的限制范围信息包括以下至少之一:
根据其所使用的档次Profile、等级tier、级别level确定BV的第一限制范围;
根据对图像的瓦片Tile、分片Slice边界,确定BV的第二限制范围;
根据与解码器能力协商情况,确定BV的第三限制范围;
将所述第一限制范围、所述第二限制范围和所述第三限制范围的交集,作为编码过程中使用的IBC模式的BV的第四限制范围。
4.根据权利要求3所述的方法,其特征在于,将所述限制范围信息写入码流包括:
将BV的第一限制范围的信息写入以下数据单元至少之一:视频参数集VPS中的档次、等级、级别信息,序列参数集SPS中的档次、等级、级别;和/或,
将BV的第四限制范围的信息写入以下数据单元至少之一:VPS中除档次、等级、级别信息之外的数据单元,SPS中除档次、等级、级别信息之外的数据单元,图像参数集PPS,分片划分头信息SliceSegmentHeader,补充增强信息SEI,用户自定义数据单元。
5.根据权利要求2所述的方法,其特征在于,根据所述限制范围信息对重建块进行环路滤波,包括:
根据所述限制范围信息确定块层重建过程与环路滤波过程之间的等待时长。
6.根据权利要求5所述方法,其特征在于,在根据所述限制范围信息确定块层重建过程与环路滤波过程之间的等待时长之后,还包括:
在块层重建过程开始执行后,经过所述等待时长,环路滤波过程开始执行。
7.根据权利要求5所述的方法,其特征在于,
根据所述限制范围信息,确定使用当前的第一块单元中像素点作为参考的IBC块所在的最后一个块单元,作为第二块单元;
按照编码顺序,确定所述第一块单元与第二块单元及二者之间的块单元作为第八范围;
将所述第八范围与传统帧内预测模式中使用的块单元范围的并集作为第九范围;
将所述第一块单元至第九范围的最后一个块单元之间包含的块单元的数量,作为所述等待时长。
8.根据权利要求7所述方法,其特征在于,
所述传统帧内预测模式直接使用当前编码块的相邻像素点作为参考像素点构造预测块,其中,所述传统帧内预测模式的相邻像素点的位置是预先设定的,不使用位置偏移矢量指示。
9.根据权利要求7所述的方法,其特征在于,还包括:
根据当前图像的瓦片划分信息和/或所述第一块单元所在分片的起始位置,将所述第九范围限制在所述第一块单元所在的Tile和/或分片范围内。
10.根据权利要求7所述的方法,其特征在于,所述传统帧内预测模式中使用的块单元范围包括以下范围至少之一或以下范围至少之二的并集:
按照块单元的编码顺序,根据块单元的大小和帧内预测过程中所需要使用的相邻参考像素点的最大数量,确定使用可能使用块单元的右边界和下边界像素点作为帧内预测参考的块单元范围,作为第五范围;
确定对块单元进行去方块滤波DF所使用的相邻块单元,对于右相邻的块单元,确定其下边界上的像素点用作帧内预测参考的块单元范围,作为第六范围;对于下相邻的块单元,确定其右边界上的像素点用作帧内预测参考的块单元范围,作为第七范围。
11.根据权利要求2所述的方法,其特征在于,根据所述限制范围信息对重建块进行环路滤波,包括:
根据所述限制范围信息确定是否可对已有本地重建块进行环路滤波处理。
12.根据权利要求11所述的方法,其特征在于,根据所述限制范围信息确定是否可对已有本地重建块进行环路滤波处理包括:
在对当前块单元完成本地重建后,按照编码顺序判断当前块单元之前已重建、未进行环路滤波处理的块单元是否满足如下条件:
条件一:待判定的本地重建块单元的右边界和下边界像素点已经不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
条件二:待判定的本地重建块单元的右边界相邻块单元中的下边界像素点不用作当前本地重建块单元之后块单元的块单元中像素点的帧内预测参考;
条件三:待判定的本地重建块单元的下边界相邻块单元中的右边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
根据待判定的本地重建块单元对所述条件的满足情况,进行环路滤波处理。
13.根据权利要求12所述的方法,其特征在于,根据待判定的本地重建块单元对所述条件的满足情况,进行环路滤波处理包括以下至少之一:
当所述条件一、条件二和条件三同时满足时,对所述待判定的本地重建块单元完成未进行的水平方向和/或垂直方向的DF处理,并对于所述本地重建块单元相邻编码块的本地重建块,标记其已经进行滤波的边界的位置以及滤波操作的属性;对DF处理输出的本地重建块使用采样点自适应加性偏移量滤波器SAO进行滤波处理;
当满足所述条件一和条件二时,对所述待判定的本地重建块单元中的未进行水平方向DF的待滤波像素点,环路滤波模块中的DF模块对其进行水平方向DF,标记其已经进行滤波的边界的位置以及滤波操作的属性;判断DF处理输出的本地重建块是否在垂直方向和水平方向均已进行了DF滤波,如果是,则使用SAO进行滤波处理;
当满足所述条件一和条件三时,对所述待判定的本地重建块单元中的未进行垂直方向DF的待滤波像素点,环路滤波模块中的DF模块对其进行垂直方向DF,标记其已经进行滤波的边界的位置以及滤波操作的属性;判断DF处理输出的本地重建块是否在垂直方向和水平方向均已进行了DF滤波,如果是,则使用SAO进行滤波处理;
否则,不对所述待判定的本地重建块单元使用DF和SAO进行滤波处理。
14.根据权利要求2所述的方法,其特征在于,根据所述限制范围信息对重建块进行块层环路滤波,包括:
根据所述限制范围信息确定对当前本地重建块单元进行环路滤波的等待时长。
15.根据权利要求14所述的方法,其特征在于,根据所述限制范围信息确定对当前本地重建块单元进行环路滤波的等待时长,包括:
确定在当前本地重建块单元同时满足下述条件:
条件一:待判定的本地重建块单元的右边界和下边界像素点已经不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
条件二:待判定的本地重建块单元的右边界相邻块单元中的下边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
条件三:待判定的本地重建块单元的下边界相邻块单元中的右边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考。
16.根据权利要求15所述的方法,其特征在于,还包括:
在当前本地重建块单元之后,按照编码顺序,等待本地重建模块输出了M个块单元所覆盖的像素点重建值后,对所述当前本地重建块单元进行环路滤波处理。
17.根据权利要求16所述的方法,其特征在于,
M为当前本地重建块单元与对应块单元之间所包含的最小块单元的数量。
18.根据权利要求16所述的方法,其特征在于,对所述当前本地重建块单元进行环路滤波处理包括:
对所述本地重建块单元完成未进行的水平方向和/或垂直方向的DF处理,对于所述本地重建块单元相邻编码块的本地重建块,标记其已经进行滤波的边界的位置以及滤波操作的属性;
对DF处理输出的本地重建块使用SAO进行滤波处理。
19.根据权利要求14所述的方法,其特征在于,根据所述限制范围信息确定对当前本地重建块单元进行环路滤波的等待时长包括:
在当前本地重建块单元同时满足以下条件一和条件二时,当前本地重建块单元与对应块单元之间所包含的块单元的数量eM,在当前本地重建块单元同时满足以下条件一和条件三时,当前本地重建块单元与对应块单元之间所包含的块单元的数量vM,其中:
条件一:待判定的本地重建块单元的右边界和下边界像素点已经不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
条件二:待判定的本地重建块单元的右边界相邻块单元中的下边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
条件三:待判定的本地重建块单元的下边界相邻块单元中的右边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
根据eM与vM的关系,对所述当前本地重建块单元进行环路滤波处理。
20.根据权利要求19所述的方法,其特征在于,根据eM与vM的关系,对所述当前本地重建块单元进行环路滤波处理包括以下情况至少之一:
情况一:eM的值等于vM;
在这种情况下,在当前本地重建块单元之后,按照编码顺序,等待输出了eM或vM个块单元所覆盖的像素点本地重建值后,对所述当前本地重建块单元进行环路滤波处理;
对所述当前本地重建块单元完成未进行的水平方向和/或垂直方向的DF处理,对于所述当前本地重建块单元相邻编码块的本地重建块,标记其已经进行滤波的边界的位置以及滤波操作的属性;
对DF处理输出的本地重建块使用SAO进行滤波处理;
情况二:eM的值小于vM;
在这种情况下,在当前本地重建块单元之后,按照编码顺序,等待输出了eM个块单元所覆盖的像素点本地重建值后,对所述当前本地重建块单元进行垂直方向的DF滤波,并标记已进行DF的垂直方向滤波,继续等待本地重建模块输出vM–eM个块单元所覆盖的像素点重建值后,对所述当前重建块单元进行水平方向的DF滤波,并标记已进行DF的水平方向滤波;
对DF处理输出的本地重建块使用SAO进行滤波处理;
情况三:eM的值大于vM;
在这种情况下,在当前本地重建块单元之后,按照编码顺序,等待输出了vM个块单元所覆盖的像素点本地重建值后,对所述当前本地重建块单元进行水平方向的DF滤波,并标记已进行DF的水平方向滤波,继续等待本地重建模块输出eM–vM个块单元所覆盖的像素点本地重建值后,对所述当前重建块单元进行垂直方向的DF滤波,并标记已进行DF的垂直方向滤波;
对DF处理输出的本地重建块使用SAO进行滤波处理。
21.一种解码方法,其特征在于,包括:
从码流中获取帧内块复制IBC模式的块复制矢量BV的限制范围信息;
根据所述限制范围信息确定IBC模式的BV的限制范围。
22.根据权利要求21所述的方法,其特征在于,在根据所述限制范围信息确定IBC模式的BV的限制范围之后,还包括:
根据所述限制范围对重建块进行环路滤波。
23.根据权利要求22所述的方法,其特征在于,根据所述限制范围信息对重建块进行环路滤波,包括:
根据所述限制范围信息确定块层重建过程与环路滤波过程之间的等待时长。
24.根据权利要求23所述的方法,其特征在于,在根据所述限制范围信息确定块层重建过程与环路滤波过程之间的等待时长之后,还包括:
在块层重建过程开始执行后,经过所述等待时长,环路滤波过程开始执行。
25.根据权利要求23所述的方法,其特征在于,
根据所述限制范围信息,确定使用当前的第一块单元中像素点作为参考的IBC块所在的最后一个块单元,作为第二块单元;
按照解码顺序,确定所述第一块单元与第二块单元及二者之间的块单元作为第四范围;
将所述第四范围与传统帧内预测模式中使用的块单元范围的并集作为第五范围;
将所述第一块单元至第五范围的最后一个块单元之间包含的块单元的数量,作为所述等待时长。
26.根据权利要求25所述的方法,其特征在于,
所述传统帧内预测模式直接使用当前解码块的相邻像素点作为参考像素点构造预测块,其中,所述传统帧内预测模式的相邻像素点的位置是预先设定的,不使用位置偏移矢量指示。
27.根据权利要求25所述的方法,其特征在于,还包括:
根据当前图像的瓦片划分信息和/或所述第一块单元所在分片的起始位置,将所述第五范围限制在所述第一块单元所在的Tile和/或分片范围内。
28.根据权利要求25所述的方法,其特征在于,所述传统帧内预测模式中使用的块单元范围包括以下范围至少之一或以下范围至少之二的并集:
按照块单元的解码顺序,根据块单元的大小和帧内预测过程中所需要使用的相邻参考像素点的最大数量,确定使用可能使用块单元的右边界和下边界像素点作为帧内预测参考的块单元范围,作为第一范围;
确定对块单元进行去方块滤波DF所使用的相邻块单元,对于右相邻的块单元,确定其下边界上的像素点用作帧内预测参考的块单元范围,作为第二范围;对于下相邻的块单元,确定其右边界上的像素点用作帧内预测参考的块单元范围,作为第三范围。
29.根据权利要求22所述的方法,其特征在于,根据所述限制范围信息对重建块进行环路滤波包括:
根据所述限制范围信息确定是否可对已有本地重建块进行环路滤波处理。
30.根据权利要求29所述的方法,其特征在于,根据所述限制范围信息确定是否可对已有本地重建块进行环路滤波处理包括:
在对当前块单元完成本地重建后,按照解码顺序判断当前块单元之前已重建、未进行环路滤波处理的块单元是否满足如下条件:
条件一:待判定的本地重建块单元的右边界和下边界像素点已经不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
条件二:待判定的本地重建块单元的右边界相邻块单元中的下边界像素点不用作当前本地重建块单元之后块单元的块单元中像素点的帧内预测参考;
条件三:待判定的本地重建块单元的下边界相邻块单元中的右边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
根据待判定的本地重建块单元对所述条件的满足情况,进行环路滤波处理。
31.根据权利要求30所述的方法,其特征在于,根据待判定的本地重建块单元对所述条件的满足情况,进行环路滤波处理包括以下至少之一:
当所述条件一、条件二和条件三同时满足时,对所述待判定的本地重建块单元完成未进行的水平方向和/或垂直方向的DF处理,并对于所述本地重建块单元相邻解码块的本地重建块,标记其已经进行滤波的边界的位置以及滤波操作的属性;对DF处理输出的本地重建块使用采样点自适应加性偏移量滤波器SAO进行滤波处理;
当满足所述条件一和条件二时,对所述待判定的本地重建块单元中的未进行水平方向DF的待滤波像素点,环路滤波模块中的DF模块对其进行水平方向DF,标记其已经进行滤波的边界的位置以及滤波操作的属性;判断DF处理输出的本地重建块是否在垂直方向和水平方向均已进行了DF滤波,如果是,则使用SAO进行滤波处理;
当满足所述条件一和条件三时,对所述待判定的本地重建块单元中的未进行垂直方向DF的待滤波像素点,环路滤波模块中的DF模块对其进行垂直方向DF,标记其已经进行滤波的边界的位置以及滤波操作的属性;判断DF处理输出的本地重建块是否在垂直方向和水平方向均已进行了DF滤波,如果是,则使用SAO进行滤波处理;
否则,不对所述待判定的本地重建块单元使用DF和SAO进行滤波处理。
32.根据权利要求22所述的方法,其特征在于,根据所述限制范围信息对重建块进行环路滤波包括:
根据所述限制范围信息确定对当前本地重建块单元进行环路滤波的等待时长。
33.根据权利要求32所述的方法,其特征在于,根据所述限制范围信息确定对当前本地重建块单元进行环路滤波的等待时长包括:
确定在当前本地重建块单元同时满足下述条件:
条件一:待判定的本地重建块单元的右边界和下边界像素点已经不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
条件二:待判定的本地重建块单元的右边界相邻块单元中的下边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
条件三:待判定的本地重建块单元的下边界相邻块单元中的右边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考。
34.根据权利要求33所述的方法,其特征在于,还包括:
在当前本地重建块单元之后,按照解码顺序,等待本地重建模块输出了M个块单元所覆盖的像素点重建值后,对所述当前本地重建块单元进行环路滤波处理。
35.根据权利要求34所述的方法,其特征在于,
M为当前本地重建块单元与对应块单元之间所包含的最小块单元的数量。
36.根据权利要求34所述的方法,其特征在于,对所述当前本地重建块单元进行环路滤波处理包括:
对所述本地重建块单元完成未进行的水平方向和/或垂直方向的DF处理,对于所述本地重建块单元相邻解码块的本地重建块,标记其已经进行滤波的边界的位置以及滤波操作的属性;
对DF处理输出的本地重建块使用SAO进行滤波处理。
37.根据权利要求32所述的方法,其特征在于,根据所述限制范围信息确定对当前本地重建块单元进行环路滤波的等待时长包括:
在当前本地重建块单元同时满足条件一和条件二时,当前本地重建块单元与对应块单元之间所包含的块单元的数量eM,在当前本地重建块单元同时满足条件一和条件三时,当前本地重建块单元与对应块单元之间所包含的块单元的数量vM,其中:
条件一:待判定的本地重建块单元的右边界和下边界像素点已经不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
条件二:待判定的本地重建块单元的右边界相邻块单元中的下边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
条件三:待判定的本地重建块单元的下边界相邻块单元中的右边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
根据eM与vM的关系,对所述当前本地重建块单元进行环路滤波处理。
38.根据权利要求37所述的方法,其特征在于,根据eM与vM的关系,对所述当前本地重建块单元进行环路滤波处理包括以下情况至少之一:
情况一:eM的值等于vM;
在这种情况下,在当前本地重建块单元之后,按照解码顺序,等待输出了eM或vM个块单元所覆盖的像素点本地重建值后,对所述当前本地重建块单元进行环路滤波处理;
对所述当前本地重建块单元完成未进行的水平方向和/或垂直方向的DF处理,对于所述当前本地重建块单元相邻解码块的本地重建块,标记其已经进行滤波的边界的位置以及滤波操作的属性;
对DF处理输出的本地重建块使用SAO进行滤波处理;
情况二:eM的值小于vM;
在这种情况下,在当前本地重建块单元之后,按照解码顺序,等待输出了eM个块单元所覆盖的像素点本地重建值后,对所述当前本地重建块单元进行水平方向的DF滤波,并标记已进行DF的水平方向滤波,继续等待本地重建模块输出vM–eM个块单元所覆盖的像素点重建值后,对所述当前重建块单元进行垂直方向的DF滤波,并标记已进行DF的垂直方向滤波;
对DF处理输出的本地重建块使用SAO进行滤波处理;
情况三:eM的值大于vM;
在这种情况下,在当前本地重建块单元之后,按照解码顺序,等待输出了vM个块单元所覆盖的像素点本地重建值后,对所述当前本地重建块单元进行垂直方向的DF滤波,并标记已进行DF的垂直方向滤波,继续等待本地重建模块输出eM–vM个块单元所覆盖的像素点本地重建值后,对所述当前重建块单元进行水平方向的DF滤波,并标记已进行DF的水平方向滤波;
对DF处理输出的本地重建块使用SAO进行滤波处理。
39.根据权利要求21所述的方法,其特征在于,从码流中获取IBC模式的BV的限制范围信息,包括:
从以下数据单元至少之一中获取所述BV的第一限制范围的信息:视频参数集VPS中的档次、等级、级别信息,序列参数集SPS中的档次、等级、级别;和/或,VPS中除档次、等级、级别信息之外的数据单元,SPS中除档次、等级、级别信息之外的数据单元,图像参数集PPS,分片划分头信息SliceSegmentHeader,补充增强信息SEI,用户自定义数据单元。
40.一种编码装置,其特征在于,包括:
第一确定模块,用于确定帧内块复制IBC模式的块复制矢量BV的限制范围信息;
写入模块,用于将所述限制范围信息写入码流。
41.根据权利要求40所述装置,其特征在于,还包括:
第一环路滤波模块,用于根据所述限制范围信息对重建块进行环路滤波。
42.一种解码装置,其特征在于,包括:
获取模块,用于从码流中获取帧内块复制IBC模式的块复制矢量BV的限制范围信息;
第二确定模块,用于根据所述限制范围信息确定IBC模式的BV的限制范围。
43.根据权利要求42所述的装置,其特征在于,还包括:
第二环路滤波模块,用于根据所述限制范围对重建块进行环路滤波。
44.一种电子设备,其特征在于,包括如权利要求40或41所述的编码装置,和/或,包括如权利要求42或43所述的解码装置。
45.根据权利要求44所述的电子设备,其特征在于,所述电子设备包括:视频通信应用中相关码流生成设备和/或接收播放设备。
46.根据权利要求44所述的电子设备,其特征在于,所述电子设备包括:手机、计算机、服务器、机顶盒、便携式移动终端、数字摄像机,电视广播***设备。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410486021.9A CN105430417B (zh) | 2014-09-22 | 2014-09-22 | 编码方法、解码方法、装置及电子设备 |
PCT/CN2015/090297 WO2016045581A1 (zh) | 2014-09-22 | 2015-09-22 | 编码方法、解码方法、装置及电子设备 |
US15/513,495 US20170302958A1 (en) | 2014-09-22 | 2015-09-22 | Method, device and electronic equipment for coding/decoding |
EP15845163.3A EP3200459B1 (en) | 2014-09-22 | 2015-09-22 | Encoding and decoding methods, encoding and decoding apparatuses |
US17/531,518 US20220078479A1 (en) | 2014-09-22 | 2021-11-19 | Method, device and electronic equipment for coding/decoding based on restricting range of bv |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410486021.9A CN105430417B (zh) | 2014-09-22 | 2014-09-22 | 编码方法、解码方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105430417A true CN105430417A (zh) | 2016-03-23 |
CN105430417B CN105430417B (zh) | 2020-02-07 |
Family
ID=55508302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410486021.9A Active CN105430417B (zh) | 2014-09-22 | 2014-09-22 | 编码方法、解码方法、装置及电子设备 |
Country Status (4)
Country | Link |
---|---|
US (2) | US20170302958A1 (zh) |
EP (1) | EP3200459B1 (zh) |
CN (1) | CN105430417B (zh) |
WO (1) | WO2016045581A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108259905A (zh) * | 2018-01-15 | 2018-07-06 | 北京数码视讯科技股份有限公司 | Avs2视频编码方法、装置及电子设备 |
WO2019011011A1 (zh) * | 2017-07-13 | 2019-01-17 | 华为技术有限公司 | 图像处理方法、设备及*** |
WO2020227892A1 (en) * | 2019-05-13 | 2020-11-19 | Alibaba Group Holding Limited | Non-local intra block copy and parallel coding for motion prediction |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11310523B2 (en) | 2019-01-15 | 2022-04-19 | Tencent America LLC | Method and apparatus for block vector prediction with integer offsets in intra picture block compensation |
US11616962B2 (en) * | 2019-07-15 | 2023-03-28 | Tencent America LLC | Method and apparatus for video coding |
CN114979630A (zh) * | 2019-08-26 | 2022-08-30 | 腾讯科技(深圳)有限公司 | 数据解码方法、装置和数据编码方法、装置 |
CN114830651A (zh) * | 2020-11-17 | 2022-07-29 | Oppo广东移动通信有限公司 | 帧内预测方法、编码器、解码器以及计算机存储介质 |
US11979560B2 (en) * | 2021-08-25 | 2024-05-07 | Tencent America LLC | Intra block copy with an adaptive local reference range |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6859498B1 (en) * | 2000-01-27 | 2005-02-22 | Samsung Electronics Co., Ltd. | Transmitting/received data processing method for inhibiting error propagation in digital image data communications system and recording medium therefor |
CN101233760A (zh) * | 2005-08-03 | 2008-07-30 | 诺基亚公司 | 在视频编码中用于改进的编码模式控制的方法、设备和模块 |
CN101558651A (zh) * | 2006-10-16 | 2009-10-14 | 诺基亚公司 | 可伸缩视频编码中的可丢弃较低层自适应 |
CN102934441A (zh) * | 2010-05-25 | 2013-02-13 | Lg电子株式会社 | 新的平面预测模式 |
CN103609115A (zh) * | 2011-06-24 | 2014-02-26 | 斯凯普公司 | 具有基于知觉的帧内切换的模式决策 |
US20140226721A1 (en) * | 2012-07-11 | 2014-08-14 | Qualcomm Incorporated | Repositioning of prediction residual blocks in video coding |
CN103997650A (zh) * | 2014-05-30 | 2014-08-20 | 华为技术有限公司 | 一种视频解码的方法和视频解码器 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013053314A1 (en) * | 2011-10-14 | 2013-04-18 | Mediatek Inc. | Method and apparatus for loop filtering |
US20150016516A1 (en) * | 2013-07-15 | 2015-01-15 | Samsung Electronics Co., Ltd. | Method for intra prediction improvements for oblique modes in video coding |
US10009629B2 (en) * | 2013-10-11 | 2018-06-26 | Sony Corporation | Video coding system with search range and method of operation thereof |
US10327001B2 (en) * | 2014-06-19 | 2019-06-18 | Qualcomm Incorporated | Systems and methods for intra-block copy |
-
2014
- 2014-09-22 CN CN201410486021.9A patent/CN105430417B/zh active Active
-
2015
- 2015-09-22 WO PCT/CN2015/090297 patent/WO2016045581A1/zh active Application Filing
- 2015-09-22 US US15/513,495 patent/US20170302958A1/en not_active Abandoned
- 2015-09-22 EP EP15845163.3A patent/EP3200459B1/en active Active
-
2021
- 2021-11-19 US US17/531,518 patent/US20220078479A1/en not_active Abandoned
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6859498B1 (en) * | 2000-01-27 | 2005-02-22 | Samsung Electronics Co., Ltd. | Transmitting/received data processing method for inhibiting error propagation in digital image data communications system and recording medium therefor |
CN101233760A (zh) * | 2005-08-03 | 2008-07-30 | 诺基亚公司 | 在视频编码中用于改进的编码模式控制的方法、设备和模块 |
CN101558651A (zh) * | 2006-10-16 | 2009-10-14 | 诺基亚公司 | 可伸缩视频编码中的可丢弃较低层自适应 |
CN102934441A (zh) * | 2010-05-25 | 2013-02-13 | Lg电子株式会社 | 新的平面预测模式 |
CN103609115A (zh) * | 2011-06-24 | 2014-02-26 | 斯凯普公司 | 具有基于知觉的帧内切换的模式决策 |
US20140226721A1 (en) * | 2012-07-11 | 2014-08-14 | Qualcomm Incorporated | Repositioning of prediction residual blocks in video coding |
CN103997650A (zh) * | 2014-05-30 | 2014-08-20 | 华为技术有限公司 | 一种视频解码的方法和视频解码器 |
Non-Patent Citations (4)
Title |
---|
CHI CHING CHI ET AL: "《Parallel Scalability and Efficiency of HEVC Parallelization Approaches》", 《IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY》 * |
FLYNN D ET AL: "《BoG report on Range Extensions topics》", 《15.JCT-VC MEETING; 23-10 TO 1-11-2013; GENEVA》 * |
GUO L ET AL: "《RExt: Signaling Motion Vector Range for Intra Block Copying》", 《15.JCT-VC MEETING; 23-10 TO 1-11-2013; GENEVA》 * |
LIHUA ZHU ET AL: "《Initialization of block vector predictor for intra block copy》", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG11 16TH MEETING:SAN JOSE, US》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019011011A1 (zh) * | 2017-07-13 | 2019-01-17 | 华为技术有限公司 | 图像处理方法、设备及*** |
CN109257608A (zh) * | 2017-07-13 | 2019-01-22 | 华为技术有限公司 | 图像处理方法、设备及*** |
TWI672941B (zh) * | 2017-07-13 | 2019-09-21 | 大陸商華為技術有限公司 | 影像處理方法、設備及系統 |
CN109257608B (zh) * | 2017-07-13 | 2021-11-30 | 华为技术有限公司 | 图像处理方法、设备及*** |
CN108259905A (zh) * | 2018-01-15 | 2018-07-06 | 北京数码视讯科技股份有限公司 | Avs2视频编码方法、装置及电子设备 |
WO2020227892A1 (en) * | 2019-05-13 | 2020-11-19 | Alibaba Group Holding Limited | Non-local intra block copy and parallel coding for motion prediction |
Also Published As
Publication number | Publication date |
---|---|
WO2016045581A1 (zh) | 2016-03-31 |
US20170302958A1 (en) | 2017-10-19 |
EP3200459B1 (en) | 2020-04-22 |
CN105430417B (zh) | 2020-02-07 |
EP3200459A1 (en) | 2017-08-02 |
US20220078479A1 (en) | 2022-03-10 |
EP3200459A4 (en) | 2017-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105430417A (zh) | 编码方法、解码方法、装置及电子设备 | |
CN110839153B (zh) | 一种处理视频数据的方法和装置 | |
US11895306B2 (en) | Component-dependent sub-block dividing | |
RU2671307C1 (ru) | Способ предсказания изображений и связанное устройство | |
WO2020053804A1 (en) | Downsampling in cross-component linear modeling | |
CN102209241B (zh) | 一种基于多子图的视频编解码方法及其装置 | |
US20150156512A1 (en) | Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus | |
US8873874B2 (en) | Image predictive encoding and decoding system | |
US11490078B2 (en) | Method and apparatus for deep neural network based inter-frame prediction in video coding | |
WO2008088176A1 (en) | Method and apparatus for processing a video signal | |
WO2020143825A1 (en) | Size dependent cross-component linear model | |
CN106604028A (zh) | 编码处理、解码处理方法及装置、编码器及解码器 | |
CN113508599A (zh) | 用于视频编码中运动信息信令通知的语法 | |
KR20170007467A (ko) | 순방향 변환 행렬을 사용하여 비디오 인코더에 의해 순방향 변환을 수행하는 기술 | |
CN113826397A (zh) | 用于图像编码和解码的方法和设备 | |
CN113170195A (zh) | 具有双树分割的帧内块复制模式 | |
CN106031173A (zh) | 视频译码中的闪烁检测及缓解 | |
CN101378507B (zh) | 块效应去除***和方法 | |
Zuo et al. | Bi-layer texture discriminant fast depth intra coding for 3D-HEVC | |
CN110602493B (zh) | 一种仿射运动补偿的交织预测的方法及设备 | |
CN106534850A (zh) | 图像处理装置、图像插值方法和图像编码方法 | |
US10477225B2 (en) | Method of adaptive structure-driven compression for image transmission over ultra-low bandwidth data links | |
KR101979492B1 (ko) | 해상도에 따른 적응적 장면 전환 감지 방법 및 장치 | |
CN112565753A (zh) | 运动矢量差的确定方法和装置、存储介质及电子装置 | |
US20230104384A1 (en) | Luma mapping with chroma scaling for gradual decoding refresh |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |