CN105430417B - 编码方法、解码方法、装置及电子设备 - Google Patents

编码方法、解码方法、装置及电子设备 Download PDF

Info

Publication number
CN105430417B
CN105430417B CN201410486021.9A CN201410486021A CN105430417B CN 105430417 B CN105430417 B CN 105430417B CN 201410486021 A CN201410486021 A CN 201410486021A CN 105430417 B CN105430417 B CN 105430417B
Authority
CN
China
Prior art keywords
block unit
local reconstruction
block
filtering
range
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.)
Active
Application number
CN201410486021.9A
Other languages
English (en)
Other versions
CN105430417A (zh
Inventor
李明
吴平
尚国强
谢玉堂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201410486021.9A priority Critical patent/CN105430417B/zh
Priority to US15/513,495 priority patent/US20170302958A1/en
Priority to EP15845163.3A priority patent/EP3200459B1/en
Priority to PCT/CN2015/090297 priority patent/WO2016045581A1/zh
Publication of CN105430417A publication Critical patent/CN105430417A/zh
Application granted granted Critical
Publication of CN105430417B publication Critical patent/CN105430417B/zh
Priority to US17/531,518 priority patent/US20220078479A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/55Motion estimation with spatial constraints, e.g. at image or region borders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/164Feedback from the receiver or from the transmission channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • H04N19/426Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Abstract

本发明公开了一种编码方法、解码方法、装置及电子设备,其中,该编码方法包括:确定帧内块复制模式的块复制矢量的限制范围信息;将所述限制范围信息写入码流。通过本发明,解决了相关技术中引用IBC后无法确定BV范围,使得数据处理效率降低的问题,能够提升数据处理效率,同时也能够保证编码或解码过程的顺利实施。

Description

编码方法、解码方法、装置及电子设备
技术领域
本发明涉及通信领域,具体而言,涉及一种编码方法、解码方法、装置及电子设备。
背景技术
正在制定的基于高性能视频编码(H.265/High Efficiency Video Coding,HEVC)标准扩展的屏幕内容编码(Screen Content Coding,SCC)标准中,采用了帧内块复制(Intra Block Copying,IBC)模式。与传统的使用当前图像内当前块边界处相邻块已恢复像素预测当前块内像素值的方法不同,IBC允许使用当前图像内已经恢复出的一个二维像素块作为当前块的预测块,同时,IBC使用预测块与当前块之间的相对偏移量来定位预测参考块,该偏移量称之为块复制矢量(Block copying Vector,BV)。与传统的帧内预测模式相同,BV指向的预测块中的像素点采样值没有经过去方块滤波(Deblocking Filtering,DF)处理。
在H.265/HEVC标准中,环路滤波过程(包含去方块滤波器(Deblocking Filter,DF)和采样点自适应加性偏移量滤波器(Sample Adaptive Offset,SAO))是以图像为单位进行滤波处理的,即环路滤波过程是在图像完成重建后、放置进入解码图像缓冲区(Decoded Picture Buffer,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的串匹配方法(String Matching)。串匹配方法可以视为预测块划分大小为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,分片划分头信息Slice Segment Header,补充增强信息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,分片划分头信息SliceSegment Header,补充增强信息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),分片划分头信息(Slice Segment Header),补充增强信息(SEI),用户自定义数据单元。
本实施例中,根据所述限制范围信息对重建块进行环路滤波包括:根据所述限制范围信息确定块层重建过程与环路滤波过程之间的等待时长。具体地,可以根据所述限制范围信息,确定使用当前的第一块单元中像素点作为参考的IBC块所在的最后一个块单元,作为第二块单元;按照编码顺序,确定所述第一块单元与第二块单元及二者之间的块单元作为第八范围;将所述第八范围与传统帧内预测模式中使用的块单元范围的并集作为第九范围;将所述第一块单元至第九范围的最后一个块单元之间包含的块单元的数量,作为所述等待时长。此外,在确定出等待时长后,可以在块层重建过程开始执行后,经过所述等待时长,环路滤波过程开始执行。
其中,所述传统帧内预测模式是直接使用当前编码块的相邻像素点作为参考像素点构造预测块。其中,所述传统帧内预测模式的相邻像素点的位置是预先设定的,不使用位置偏移矢量指示。
需要说明的是,在本文中所提到的块单元,可以包括以下至少之一:最大编码单元(Coding Unit,CU),最小CU,最大变换单元(Transform Unit,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),分片划分头信息(Slice Segment Header),补充增强信息(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的串划分。串匹配(String Matching)方法是IBC使用Nx1或1xN的串划分方式时的一个特例。
本实施例的使用环路滤波的解码方法如下所述。
步骤S702,解码器解析视频码流,获得IBC模式中块复制矢量BV的范围信息。
块复制矢量BV用于指示使用IBC模式的解码块与其预测参考块之间的相对偏移。
解码器可通过解析以下所述单元的至少之一,从码流中获取BV的范围信息,包括:
视频参数集(Video Parameter Set,VPS)中的档次(Profile)、等级(tier)、级别(level)信息;
VPS中除档次、等级、级别信息之外的数据单元;
序列参数集(Sequence Parameter Set,SPS)中的档次(Profile)、等级(tier)、级别(level)信息;
SPS中档次、等级、级别信息之外的数据单元;
图像参数集(Picture Parameter Set,PPS);
分片划分头信息(Slice Segment Header);
补充增强信息(Supplemental Enhancement Information,SEI);
用户自定义数据单元。
步骤S704,解码器根据BV范围信息,确定块层(block level)重建过程与环路滤波过程之间的等待时长。
环路滤波过程中包含两个滤波器:去方块滤波器DF和采样点自适应加性偏移量滤波器SAO。由于帧内预测块解码过程中需要使用未经过环路滤波处理的像素点采样值的恢复值来构造预测参考块,因此,解码器需要等待待处理块中所有像素点均不用作后续解码块的帧内预测参考后,再执行环路滤波过程。
对于DF,除需要使用当前处理块内的像素点,还需要使用相邻块的恢复像素点。因此,解码器需要等待当前块和相邻块的像素点均不用作帧内预测参考后,再执行DF。
解码器在DF之后才执行SAO。同时,SAO仅使用当前处理块内的恢复像素点。因此,解码器只要等待至DF执行之后,即可执行SAO。
对于传统的使用相邻像素点作为预测参考的帧内预测模式而言,解码器解析参数集码流,获得解码过程中相关的块单元大小,确定在块重建模块执行后、环路滤波模块执行前需要等待的时长。这些块单元包括以下至少之一:最大编码单元(Coding Unit,CU),最小CU,最大变换单元(Transform Unit,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的串划分。串匹配(String Matching)方法是IBC使用Nx1或1xN的串划分方式时的一个特例。
步骤S802,与步骤S702完全相同。
步骤S804,解码器根据BV范围信息,确定是否可对已解码块进行环路滤波处理的指示信息。
解码器记录重建模块执行过程中,各编码树块(Coding Tree Unit,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的串划分。串匹配(String Matching)方法是IBC使用Nx1或1xN的串划分方式时的一个特例。
步骤S902,与步骤S702完全相同。
步骤S904,解码器根据BV范围信息,确定对当前重建CU进行环路滤波的等待时长参数。
解码器记录重建模块执行过程中,各编码树块(Coding Tree Unit,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进行环路滤波的等待时长参数。
解码器记录重建模块执行过程中,各编码树块(Coding Tree Unit,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信息写入以下数据单元:
视频参数集(Video Parameter Set,VPS)中的档次(Profile)、等级(tier)、级别(level)信息;和/或
序列参数集(Sequence Parameter Set,SPS)中的档次(Profile)、等级(tier)、级别(level)。
若适用,编码器将BV的范围信息写入码流,将范围4信息写入以下所述单元的至少之一,包括:
VPS中除档次、等级、级别信息之外的数据单元;
SPS中档次、等级、级别信息之外的数据单元;
图像参数集(Picture Parameter Set,PPS);
分片划分头信息(Slice Segment Header);
补充增强信息(Supplemental Enhancement Information,SEI);
用户自定义数据单元。
步骤S1106,编码器对输入的视频图像进行编码,并对编码后的块进行本地重建,得到本地重建块。
编码器在使用IBC模式对编码块进行编码的过程中,将保证IBC模式所使用的BV的大小在范围4之内。即:在搜索IBC模式的预测参考块时,不使用范围4之外的像素点作为预测参考。
步骤S1108,编码器根据BV范围信息,确定块层(block level)本地重建过程与环路滤波过程之间的等待时长。
环路滤波过程中包含两个滤波器:去方块滤波器DF和采样点自适应加性偏移量滤波器SAO。由于帧内预测块解码过程中需要使用未经过环路滤波处理的像素点采样值的恢复值来构造预测参考块,因此,编码器需要等待待处理块中所有像素点均不用作后续编码块的帧内预测参考后,再执行环路滤波过程。
对于DF,除需要使用当前处理块内的像素点,还需要使用相邻块的恢复像素点。因此,编码器需要等待当前块和相邻块的像素点均不用作帧内预测参考后,再执行DF。
编码器在DF之后才执行SAO。同时,SAO仅使用当前处理块内的恢复像素点。因此,编码器只要等待至DF执行之后,即可执行SAO。
对于传统的使用相邻像素点作为预测参考的帧内预测模式而言,编码器根据相关的块单元大小,确定在本地块重建模块执行后、环路滤波模块执行前需要等待的时长。这些块单元包括以下至少之一:最大编码单元(Coding Unit,CU),最小CU,最大变换单元(Transform Unit,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的串划分。串匹配(String Matching)方法是IBC使用Nx1或1xN的串划分方式时的一个特例。
步骤S1202,与步骤S1102完全相同。
步骤S1204,与步骤S1104完全相同。
步骤S1206,与步骤S1106完全相同。
步骤S1208,编码器根据BV范围4信息,确定是否可对已有本地重建块进行环路滤波处理的指示信息。
编码器记录编码过程中,各编码树块(Coding Tree Unit,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的串划分。串匹配(String Matching)方法是IBC使用Nx1或1xN的串划分方式时的一个特例。
步骤S1302,与步骤S1102完全相同。
步骤S1304,与步骤S1104完全相同。
步骤S1306,与步骤S1106完全相同。
步骤S1308,编码器根据BV范围4信息,确定对当前本地重建CU进行环路滤波的等待时长参数。
编码器记录编码过程中,各编码树块(Coding Tree Unit,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进行环路滤波的等待时长参数。
编码器记录编码过程中,各编码树块(Coding Tree Unit,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 (45)

1.一种编码方法,其特征在于,包括:
确定帧内块复制IBC模式的块复制矢量BV的限制范围信息;
将所述限制范围信息写入码流;
其中,确定帧内块复制IBC模式的块复制矢量BV的限制范围信息包括以下至少之一:
根据其所使用的档次Profile、等级tier、级别level确定BV的第一限制范围;
根据对图像的瓦片Tile、分片Slice边界,确定BV的第二限制范围;
根据与解码器能力协商情况,确定BV的第三限制范围;
将所述第一限制范围、所述第二限制范围和所述第三限制范围的交集,作为编码过程中使用的IBC模式的BV的第四限制范围。
2.根据权利要求1所述的方法,其特征在于,在将所述限制范围信息写入码流之前或之后,还包括:
根据所述限制范围信息对重建块进行环路滤波。
3.根据权利要求1所述的方法,其特征在于,将所述限制范围信息写入码流包括:
将BV的第一限制范围的信息写入以下数据单元至少之一:视频参数集VPS中的档次、等级、级别信息,序列参数集SPS中的档次、等级、级别;和/或,
将BV的第四限制范围的信息写入以下数据单元至少之一:VPS中除档次、等级、级别信息之外的数据单元,SPS中除档次、等级、级别信息之外的数据单元,图像参数集PPS,分片划分头信息Slice Segment Header,补充增强信息SEI,用户自定义数据单元。
4.根据权利要求2所述的方法,其特征在于,根据所述限制范围信息对重建块进行环路滤波,包括:
根据所述限制范围信息确定块层重建过程与环路滤波过程之间的等待时长。
5.根据权利要求4所述方法,其特征在于,在根据所述限制范围信息确定块层重建过程与环路滤波过程之间的等待时长之后,还包括:
在块层重建过程开始执行后,经过所述等待时长,环路滤波过程开始执行。
6.根据权利要求4所述的方法,其特征在于,
根据所述限制范围信息,确定使用当前的第一块单元中像素点作为参考的IBC块所在的最后一个块单元,作为第二块单元;
按照编码顺序,确定所述第一块单元与第二块单元及二者之间的块单元作为第八范围;
将所述第八范围与传统帧内预测模式中使用的块单元范围的并集作为第九范围;
将所述第一块单元至第九范围的最后一个块单元之间包含的块单元的数量,作为所述等待时长。
7.根据权利要求6所述方法,其特征在于,
所述传统帧内预测模式直接使用当前编码块的相邻像素点作为参考像素点构造预测块,其中,所述传统帧内预测模式的相邻像素点的位置是预先设定的,不使用位置偏移矢量指示。
8.根据权利要求6所述的方法,其特征在于,还包括:
根据当前图像的瓦片划分信息和/或所述第一块单元所在分片的起始位置,将所述第九范围限制在所述第一块单元所在的Tile和/或分片范围内。
9.根据权利要求6所述的方法,其特征在于,所述传统帧内预测模式中使用的块单元范围包括以下范围至少之一或以下范围至少之二的并集:
按照块单元的编码顺序,根据块单元的大小和帧内预测过程中所需要使用的相邻参考像素点的最大数量,确定使用可能使用块单元的右边界和下边界像素点作为帧内预测参考的块单元范围,作为第五范围;
确定对块单元进行去方块滤波DF所使用的相邻块单元,对于右相邻的块单元,确定其下边界上的像素点用作帧内预测参考的块单元范围,作为第六范围;对于下相邻的块单元,确定其右边界上的像素点用作帧内预测参考的块单元范围,作为第七范围。
10.根据权利要求2所述的方法,其特征在于,根据所述限制范围信息对重建块进行环路滤波,包括:
根据所述限制范围信息确定是否可对已有本地重建块进行环路滤波处理。
11.根据权利要求10所述的方法,其特征在于,根据所述限制范围信息确定是否可对已有本地重建块进行环路滤波处理包括:
在对当前块单元完成本地重建后,按照编码顺序判断当前块单元之前已重建、未进行环路滤波处理的块单元是否满足如下条件:
条件一:待判定的本地重建块单元的右边界和下边界像素点已经不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
条件二:待判定的本地重建块单元的右边界相邻块单元中的下边界像素点不用作当前本地重建块单元之后块单元的块单元中像素点的帧内预测参考;
条件三:待判定的本地重建块单元的下边界相邻块单元中的右边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
根据待判定的本地重建块单元对所述条件的满足情况,进行环路滤波处理。
12.根据权利要求11所述的方法,其特征在于,根据待判定的本地重建块单元对所述条件的满足情况,进行环路滤波处理包括以下至少之一:
当所述条件一、条件二和条件三同时满足时,对所述待判定的本地重建块单元完成未进行的水平方向和/或垂直方向的DF处理,并对于所述本地重建块单元相邻编码块的本地重建块,标记其已经进行滤波的边界的位置以及滤波操作的属性;对DF处理输出的本地重建块使用采样点自适应加性偏移量滤波器SAO进行滤波处理;
当满足所述条件一和条件二时,对所述待判定的本地重建块单元中的未进行水平方向DF的待滤波像素点,环路滤波模块中的DF模块对其进行水平方向DF,标记其已经进行滤波的边界的位置以及滤波操作的属性;判断DF处理输出的本地重建块是否在垂直方向和水平方向均已进行了DF滤波,如果是,则使用SAO进行滤波处理;
当满足所述条件一和条件三时,对所述待判定的本地重建块单元中的未进行垂直方向DF的待滤波像素点,环路滤波模块中的DF模块对其进行垂直方向DF,标记其已经进行滤波的边界的位置以及滤波操作的属性;判断DF处理输出的本地重建块是否在垂直方向和水平方向均已进行了DF滤波,如果是,则使用SAO进行滤波处理;
否则,不对所述待判定的本地重建块单元使用DF和SAO进行滤波处理。
13.根据权利要求2所述的方法,其特征在于,根据所述限制范围信息对重建块进行块层环路滤波,包括:
根据所述限制范围信息确定对当前本地重建块单元进行环路滤波的等待时长。
14.根据权利要求13所述的方法,其特征在于,根据所述限制范围信息确定对当前本地重建块单元进行环路滤波的等待时长,包括:
确定在当前本地重建块单元同时满足下述条件:
条件一:待判定的本地重建块单元的右边界和下边界像素点已经不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
条件二:待判定的本地重建块单元的右边界相邻块单元中的下边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
条件三:待判定的本地重建块单元的下边界相邻块单元中的右边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考。
15.根据权利要求14所述的方法,其特征在于,还包括:
在当前本地重建块单元之后,按照编码顺序,等待本地重建模块输出了M个块单元所覆盖的像素点重建值后,对所述当前本地重建块单元进行环路滤波处理。
16.根据权利要求15所述的方法,其特征在于,
M为当前本地重建块单元与对应块单元之间所包含的最小块单元的数量。
17.根据权利要求15所述的方法,其特征在于,对所述当前本地重建块单元进行环路滤波处理包括:
对所述本地重建块单元完成未进行的水平方向和/或垂直方向的DF处理,对于所述本地重建块单元相邻编码块的本地重建块,标记其已经进行滤波的边界的位置以及滤波操作的属性;
对DF处理输出的本地重建块使用SAO进行滤波处理。
18.根据权利要求13所述的方法,其特征在于,根据所述限制范围信息确定对当前本地重建块单元进行环路滤波的等待时长包括:
在当前本地重建块单元同时满足以下条件一和条件二时,当前本地重建块单元与对应块单元之间所包含的块单元的数量eM,在当前本地重建块单元同时满足以下条件一和条件三时,当前本地重建块单元与对应块单元之间所包含的块单元的数量vM,其中:
条件一:待判定的本地重建块单元的右边界和下边界像素点已经不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
条件二:待判定的本地重建块单元的右边界相邻块单元中的下边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
条件三:待判定的本地重建块单元的下边界相邻块单元中的右边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
根据eM与vM的关系,对所述当前本地重建块单元进行环路滤波处理。
19.根据权利要求18所述的方法,其特征在于,根据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进行滤波处理。
20.一种解码方法,其特征在于,包括:
从码流中获取帧内块复制IBC模式的块复制矢量BV的限制范围信息;
根据所述限制范围信息确定IBC模式的BV的限制范围;
其中,所述限制范围信息通过以下至少之一方式确定:
根据其所使用的档次Profile、等级tier、级别level确定BV的第一限制范围;
根据对图像的瓦片Tile、分片Slice边界,确定BV的第二限制范围;
根据与解码器能力协商情况,确定BV的第三限制范围;
将所述第一限制范围、所述第二限制范围和所述第三限制范围的交集,作为编码过程中使用的IBC模式的BV的第四限制范围。
21.根据权利要求20所述的方法,其特征在于,在根据所述限制范围信息确定IBC模式的BV的限制范围之后,还包括:
根据所述限制范围对重建块进行环路滤波。
22.根据权利要求21所述的方法,其特征在于,根据所述限制范围信息对重建块进行环路滤波,包括:
根据所述限制范围信息确定块层重建过程与环路滤波过程之间的等待时长。
23.根据权利要求22所述的方法,其特征在于,在根据所述限制范围信息确定块层重建过程与环路滤波过程之间的等待时长之后,还包括:
在块层重建过程开始执行后,经过所述等待时长,环路滤波过程开始执行。
24.根据权利要求22所述的方法,其特征在于,
根据所述限制范围信息,确定使用当前的第一块单元中像素点作为参考的IBC块所在的最后一个块单元,作为第二块单元;
按照解码顺序,确定所述第一块单元与第二块单元及二者之间的块单元作为第四范围;
将所述第四范围与传统帧内预测模式中使用的块单元范围的并集作为第五范围;
将所述第一块单元至第五范围的最后一个块单元之间包含的块单元的数量,作为所述等待时长。
25.根据权利要求24所述的方法,其特征在于,
所述传统帧内预测模式直接使用当前解码块的相邻像素点作为参考像素点构造预测块,其中,所述传统帧内预测模式的相邻像素点的位置是预先设定的,不使用位置偏移矢量指示。
26.根据权利要求24所述的方法,其特征在于,还包括:
根据当前图像的瓦片划分信息和/或所述第一块单元所在分片的起始位置,将所述第五范围限制在所述第一块单元所在的Tile和/或分片范围内。
27.根据权利要求24所述的方法,其特征在于,所述传统帧内预测模式中使用的块单元范围包括以下范围至少之一或以下范围至少之二的并集:
按照块单元的解码顺序,根据块单元的大小和帧内预测过程中所需要使用的相邻参考像素点的最大数量,确定使用可能使用块单元的右边界和下边界像素点作为帧内预测参考的块单元范围,作为第一范围;
确定对块单元进行去方块滤波DF所使用的相邻块单元,对于右相邻的块单元,确定其下边界上的像素点用作帧内预测参考的块单元范围,作为第二范围;对于下相邻的块单元,确定其右边界上的像素点用作帧内预测参考的块单元范围,作为第三范围。
28.根据权利要求21所述的方法,其特征在于,根据所述限制范围信息对重建块进行环路滤波包括:
根据所述限制范围信息确定是否可对已有本地重建块进行环路滤波处理。
29.根据权利要求28所述的方法,其特征在于,根据所述限制范围信息确定是否可对已有本地重建块进行环路滤波处理包括:
在对当前块单元完成本地重建后,按照解码顺序判断当前块单元之前已重建、未进行环路滤波处理的块单元是否满足如下条件:
条件一:待判定的本地重建块单元的右边界和下边界像素点已经不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
条件二:待判定的本地重建块单元的右边界相邻块单元中的下边界像素点不用作当前本地重建块单元之后块单元的块单元中像素点的帧内预测参考;
条件三:待判定的本地重建块单元的下边界相邻块单元中的右边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
根据待判定的本地重建块单元对所述条件的满足情况,进行环路滤波处理。
30.根据权利要求29所述的方法,其特征在于,根据待判定的本地重建块单元对所述条件的满足情况,进行环路滤波处理包括以下至少之一:
当所述条件一、条件二和条件三同时满足时,对所述待判定的本地重建块单元完成未进行的水平方向和/或垂直方向的DF处理,并对于所述本地重建块单元相邻解码块的本地重建块,标记其已经进行滤波的边界的位置以及滤波操作的属性;对DF处理输出的本地重建块使用采样点自适应加性偏移量滤波器SAO进行滤波处理;
当满足所述条件一和条件二时,对所述待判定的本地重建块单元中的未进行水平方向DF的待滤波像素点,环路滤波模块中的DF模块对其进行水平方向DF,标记其已经进行滤波的边界的位置以及滤波操作的属性;判断DF处理输出的本地重建块是否在垂直方向和水平方向均已进行了DF滤波,如果是,则使用SAO进行滤波处理;
当满足所述条件一和条件三时,对所述待判定的本地重建块单元中的未进行垂直方向DF的待滤波像素点,环路滤波模块中的DF模块对其进行垂直方向DF,标记其已经进行滤波的边界的位置以及滤波操作的属性;判断DF处理输出的本地重建块是否在垂直方向和水平方向均已进行了DF滤波,如果是,则使用SAO进行滤波处理;
否则,不对所述待判定的本地重建块单元使用DF和SAO进行滤波处理。
31.根据权利要求21所述的方法,其特征在于,根据所述限制范围信息对重建块进行环路滤波包括:
根据所述限制范围信息确定对当前本地重建块单元进行环路滤波的等待时长。
32.根据权利要求31所述的方法,其特征在于,根据所述限制范围信息确定对当前本地重建块单元进行环路滤波的等待时长包括:
确定在当前本地重建块单元同时满足下述条件:
条件一:待判定的本地重建块单元的右边界和下边界像素点已经不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
条件二:待判定的本地重建块单元的右边界相邻块单元中的下边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
条件三:待判定的本地重建块单元的下边界相邻块单元中的右边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考。
33.根据权利要求32所述的方法,其特征在于,还包括:
在当前本地重建块单元之后,按照解码顺序,等待本地重建模块输出了M个块单元所覆盖的像素点重建值后,对所述当前本地重建块单元进行环路滤波处理。
34.根据权利要求33所述的方法,其特征在于,
M为当前本地重建块单元与对应块单元之间所包含的最小块单元的数量。
35.根据权利要求33所述的方法,其特征在于,对所述当前本地重建块单元进行环路滤波处理包括:
对所述本地重建块单元完成未进行的水平方向和/或垂直方向的DF处理,对于所述本地重建块单元相邻解码块的本地重建块,标记其已经进行滤波的边界的位置以及滤波操作的属性;
对DF处理输出的本地重建块使用SAO进行滤波处理。
36.根据权利要求31所述的方法,其特征在于,根据所述限制范围信息确定对当前本地重建块单元进行环路滤波的等待时长包括:
在当前本地重建块单元同时满足条件一和条件二时,当前本地重建块单元与对应块单元之间所包含的块单元的数量eM,在当前本地重建块单元同时满足条件一和条件三时,当前本地重建块单元与对应块单元之间所包含的块单元的数量vM,其中:
条件一:待判定的本地重建块单元的右边界和下边界像素点已经不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
条件二:待判定的本地重建块单元的右边界相邻块单元中的下边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
条件三:待判定的本地重建块单元的下边界相邻块单元中的右边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
根据eM与vM的关系,对所述当前本地重建块单元进行环路滤波处理。
37.根据权利要求36所述的方法,其特征在于,根据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进行滤波处理。
38.根据权利要求20所述的方法,其特征在于,从码流中获取IBC模式的BV的限制范围信息,包括:
从以下数据单元至少之一中获取所述BV的第一限制范围的信息:视频参数集VPS中的档次、等级、级别信息,序列参数集SPS中的档次、等级、级别;和/或,VPS中除档次、等级、级别信息之外的数据单元,SPS中除档次、等级、级别信息之外的数据单元,图像参数集PPS,分片划分头信息Slice Segment Header,补充增强信息SEI,用户自定义数据单元。
39.一种编码装置,其特征在于,包括:
第一确定模块,用于确定帧内块复制IBC模式的块复制矢量BV的限制范围信息;
写入模块,用于将所述限制范围信息写入码流;
其中,所述第一确定模块用于执行以下至少之一:
根据其所使用的档次Profile、等级tier、级别level确定BV的第一限制范围;
根据对图像的瓦片Tile、分片Slice边界,确定BV的第二限制范围;
根据与解码器能力协商情况,确定BV的第三限制范围;
将所述第一限制范围、所述第二限制范围和所述第三限制范围的交集,作为编码过程中使用的IBC模式的BV的第四限制范围。
40.根据权利要求39所述装置,其特征在于,还包括:
第一环路滤波模块,用于根据所述限制范围信息对重建块进行环路滤波。
41.一种解码装置,其特征在于,包括:
获取模块,用于从码流中获取帧内块复制IBC模式的块复制矢量BV的限制范围信息;
第二确定模块,用于根据所述限制范围信息确定IBC模式的BV的限制范围;
其中,所述限制范围信息通过以下至少之一方式确定:
根据其所使用的档次Profile、等级tier、级别level确定BV的第一限制范围;
根据对图像的瓦片Tile、分片Slice边界,确定BV的第二限制范围;
根据与解码器能力协商情况,确定BV的第三限制范围;
将所述第一限制范围、所述第二限制范围和所述第三限制范围的交集,作为编码过程中使用的IBC模式的BV的第四限制范围。
42.根据权利要求41所述的装置,其特征在于,还包括:
第二环路滤波模块,用于根据所述限制范围对重建块进行环路滤波。
43.一种电子设备,其特征在于,包括如权利要求40或41所述的编码装置,和/或,包括如权利要求41或42所述的解码装置。
44.根据权利要求43所述的电子设备,其特征在于,所述电子设备包括:视频通信应用中相关码流生成设备和/或接收播放设备。
45.根据权利要求43所述的电子设备,其特征在于,所述电子设备包括:手机、计算机、服务器、机顶盒、便携式移动终端、数字摄像机,电视广播系统设备。
CN201410486021.9A 2014-09-22 2014-09-22 编码方法、解码方法、装置及电子设备 Active CN105430417B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201410486021.9A CN105430417B (zh) 2014-09-22 2014-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
PCT/CN2015/090297 WO2016045581A1 (zh) 2014-09-22 2015-09-22 编码方法、解码方法、装置及电子设备
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 CN105430417A (zh) 2016-03-23
CN105430417B true 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)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109257608B (zh) * 2017-07-13 2021-11-30 华为技术有限公司 图像处理方法、设备及系统
CN108259905A (zh) * 2018-01-15 2018-07-06 北京数码视讯科技股份有限公司 Avs2视频编码方法、装置及电子设备
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
WO2020227892A1 (en) * 2019-05-13 2020-11-19 Alibaba Group Holding Limited Non-local intra block copy and parallel coding for motion prediction
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 腾讯科技(深圳)有限公司 数据解码方法、装置和数据编码方法、装置
US20230061216A1 (en) * 2021-08-25 2023-03-02 Tencent America LLC Intra block copy with an adaptive local reference range

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 斯凯普公司 具有基于知觉的帧内切换的模式决策
CN103997650A (zh) * 2014-05-30 2014-08-20 华为技术有限公司 一种视频解码的方法和视频解码器

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100677083B1 (ko) * 2000-01-27 2007-02-01 삼성전자주식회사 디지털 영상 데이터 통신 시스템에서의 오류 전파 억제를위한 송수신 데이터의 처리 방법 및 이를 위한 기록 매체
US20150326886A1 (en) * 2011-10-14 2015-11-12 Mediatek Inc. Method and apparatus for loop filtering
US9549182B2 (en) * 2012-07-11 2017-01-17 Qualcomm Incorporated Repositioning of prediction residual blocks in video coding
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
US10327002B2 (en) * 2014-06-19 2019-06-18 Qualcomm Incorporated Systems and methods for intra-block copy

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 斯凯普公司 具有基于知觉的帧内切换的模式决策
CN103997650A (zh) * 2014-05-30 2014-08-20 华为技术有限公司 一种视频解码的方法和视频解码器

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
《Initialization of block vector predictor for intra block copy》;Lihua Zhu et al;《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》;20140117;第JCTVC-P0217卷;全文 *
《Parallel Scalability and Efficiency of HEVC Parallelization Approaches》;CHI CHING CHI et al;《IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY》;20121231;第22卷(第12期);全文 *
FLYNN D et al.《BoG report on Range Extensions topics》.《15.JCT-VC MEETING;23-10 to 1-11-2013;GENEVA》.2013,第JCTVC-O0352卷 *
GUO L et al.《RExt: Signaling Motion Vector Range for Intra Block Copying》.《15.JCT-VC Meeting;23-10 to 1-11-2013;GENEVA》.2013,第JCTVC-O0244卷 *

Also Published As

Publication number Publication date
US20170302958A1 (en) 2017-10-19
EP3200459A1 (en) 2017-08-02
WO2016045581A1 (zh) 2016-03-31
EP3200459B1 (en) 2020-04-22
EP3200459A4 (en) 2017-10-11
CN105430417A (zh) 2016-03-23
US20220078479A1 (en) 2022-03-10

Similar Documents

Publication Publication Date Title
CN105430417B (zh) 编码方法、解码方法、装置及电子设备
KR102109510B1 (ko) 비디오 코딩 방법, 장치, 디바이스 및 기억 매체
CN110754089B (zh) 减少360度视频中的接缝伪影
CN111741289B (zh) 处理立方体面图像的方法和装置
WO2017071480A1 (zh) 参考帧编解码的方法与装置
RU2018117534A (ru) Устройство и способ обработки изображений
CN108063976B (zh) 一种视频处理方法及装置
US11272176B2 (en) Encoding processing method and device, decoding processing method and device, encoder, and decoder
GB2589223A (en) Component-dependent sub-block dividing
EP3089453A1 (en) Image coding and decoding methods and devices
EP3185557A1 (en) Predictive coding/decoding method, corresponding coder/decoder, and electronic device
TW201233188A (en) Image processing device and image processing method
TW201713116A (zh) 在區塊內複製模式中之參考圖像清單結構
US20220180477A1 (en) Video super-resolution processing method and apparatus
WO2013000437A1 (zh) 一种基于帧内预测的解码方法和解码装置
US20190246117A1 (en) Encoding data arrays
JP2024514294A (ja) マルチメディアデータ処理方法、装置、機器、コンピュータ可読記憶媒体及びコンピュータプログラム
CN111510643B (zh) 全景图和特写图的拼接系统及方法
CN110022481A (zh) 视频码流的解码、生成方法及装置、存储介质、电子装置
US20180302636A1 (en) Method of mixing video bitstreams and apparatus performing the method
US20220060754A1 (en) Apparatus and method for de-blocking filtering
CN110800301A (zh) 编码设备的控制方法、装置及存储介质
US9049432B1 (en) Motion differential set partition coding for color image sequence compression
RU2803187C1 (ru) Способ и устройство кодирования изображения на основе подкартинки
US20230247230A1 (en) Feature data encoding method, apparatus and device, feature data decoding method, apparatus and device, and storage medium

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