编码方法、解码方法、装置及电子设备的制造方法_5

文档序号:9671208阅读:来源:国知局
包含第二⑶)。
[0278]解码器将范围5、范围6、范围7和范围8的并集设置为范围9,并根据当前图像的瓦片(Tile)划分信息和该最大CU所在分片的其实位置,将范围9限制在该最大CU所在的Tile和分片范围内。解码器将该最大CU至范围9最后一个最大CU之间包含的最大CU的数量(不包含该最大⑶、但包含范围5中的最后一个最大⑶)作为块层重建过程与环路滤波过程之间的等待时长,记为M。
[0279]步骤S1110,编码器在获得编码块本地重建块后,在等待时长后,将本地重建块交给环路滤波模块进行DF和SA0。
[0280]以步骤S1108中的最大⑶作为块单位为例,使用其他块单元的情况与此类似。
[0281]优选地,编码器在完成当前最大CU(这里标记为“第一最大CU”)的重建之后,按照编码顺序,在完成后续Μ个最大⑶的重建之后,将第一最大⑶的重建数据交给环路滤波模块,依次进行DF和SA0处理,确定环路滤波参数。
[0282]优选地,按照编码顺序,编码器中的本地块重建模块从分片或图像中的第一个最大⑶开始进行重建,将重建的最大⑶数据写入缓存。当本地重建模块开始处理分片或图像中的第Μ+2个最大CU时,环路滤波模块开始按照编码顺序从该分片或图像中的第一个最大CU开始依次对各最大CU的本地重建数据进行环路滤波处理,确定环路滤波参数。
[0283]环路滤波模块在对最大CU完成未进行的水平方向滤波和/或垂直方向滤波的DF处理,对于第一最大⑶相邻解码块的重建块,DF模块标记其已经进行滤波的边界的位置以及滤波操作的属性(包括:水平方向滤波,垂直方向滤波)。
[0284]环路滤波模块对DF模块输出的经滤波处理的本地重建块使用SA0进行滤波处理,并将SA0模块输出数据写入本地解码图像缓存。
[0285]实施例6:
[0286]实施例5中,编码器以选定的某个块单元,确定以该选定的块单元数量来计数的最大等待时长。环路滤波模块是在经过最大等待时长后开始对本地重建块进行环路滤波处理。本实施例提供一种可动态进行块层环路滤波的编码方法,用于使用IBC模式的编码过程或编码器。需要说明的是,本实施例方法对IBC的预测块划分方式没有限定,即可以是传统的矩形、正方形块划分方式,也可以是Nxl或ΙχΝ的串划分。串匹配(String Matching)方法是IBC使用Nxl或ΙχΝ的串划分方式时的一个特例。
[0287]步骤S1202,与步骤S1102完全相同。
[0288]步骤S1204,与步骤S1104完全相同。
[0289]步骤S1206,与步骤SI 106完全相同。
[0290]步骤S1208,编码器根据BV范围4信息,确定是否可对已有本地重建块进行环路滤波处理的指示信息。
[0291 ] 编码器记录编码过程中,各编码树块(Coding Tree Unit, CTU)中的⑶划分情况。编码器可以通过直接记录CTU和⑶中的split_cu_flag的取值的方法,记录CTU中的⑶划分情况。
[0292]编码器在对当前⑶完成本地重建后,判断:按照编码顺序,对当前⑶之前已重建、未进行环路滤波处理的CU,判定如下条件:
[0293]条件1:待判定的本地重建⑶的右边界和下边界像素点已经不用作当前本地重建CU之后(按照编码顺序)的CU中像素点的帧内预测参考;
[0294]条件2:待判定的本地重建⑶的右边界相邻⑶中的下边界像素点不用作当前本地重建CU之后(按照编码顺序)的CU中像素点的帧内预测参考;
[0295]条件3:待判定的本地重建⑶的下边界相邻⑶中的右边界像素点不用作当前本地重建CU之后(按照编码顺序)的CU中像素点的帧内预测参考。
[0296]当上述三个条件同时满足时,编码器对该待判定的本地重建⑶标记为“可进行环路滤波处理”;当满足条件1和条件2时,编码器对该待判定的本地重建CU标记为“可进行水平方向的DF”;当满足条件1和条件3时,编码器对该待判定的本地重建CU标记为“可进行垂直方向的DF”。除此之外的其他条件下,编码器对该待判定的本地重建CU标记为“不可进行环路滤波处理”。
[0297]步骤S1210,环路滤波模块根据⑶的标记信息,对其进行环路滤波处理。
[0298]情况1:
[0299]当本地重建⑶的标记信息是“可进行环路滤波处理”时,环路滤波模块对该⑶完成未进行的水平方向和/或垂直方向的DF处理,对于该CU相邻编码块的本地重建块,DF模块标记其已经进行滤波的边界的位置以及滤波操作的属性(包括:水平方向滤波,垂直方向滤波)。
[0300]环路滤波模块对DF模块输出的经滤波处理的本地重建块使用SA0进行滤波处理,并将SA0模块输出数据写入本地解码图像缓存。
[0301]情况2:
[0302]当本地重建⑶的标记信息是“可进行垂直方向的DF”或“可进行水平方向的DF”时,对于该CU中的未进行垂直方向DF或水平方向DF的待滤波像素点,环路滤波模块中的DF模块对其进行垂直方向DF或水平方向DF,标记其已经进行滤波的边界的位置以及滤波操作的属性(包括:水平方向滤波,垂直方向滤波)。
[0303]若该本地重建⑶中垂直方向和水平方向均已经了 DF滤波,则环路滤波模块对该重建⑶使用SA0进行滤波,并将SA0模块输出数据写入本地解码图像缓存。否则,环路滤波模块不对该重建CU使用SA0进行滤波,将该本地重建CU暂存在缓存中,等待进一步的与DF相关的操作指令,所述与DF相关的操作指令包括以下之一:“可进行环路滤波处理”,“可进行垂直方向的DF”,“可进行水平方向的DF”。
[0304]情况3:
[0305]当本地重建CU的标记信息是“不可进行环路滤波处理”时,环路滤波模块不对该本地重建⑶使用DF和SAO进行滤波处理。
[0306]实施例7:
[0307]实施例6所述方法中,编码器在重建当前⑶后判断是否可以对之前已重建的⑶进行环路滤波处理,并对可以进行全部或部分环路滤波处理的CU进行滤波。本实施例提供一种直接对当前重建⑶设置环路滤波标记的编码方法,用于使用IBC模式的编码过程或编码器。需要说明的是,本实施例方法对IBC的预测块划分方式没有限定,即可以是传统的矩形、正方形块划分方式,也可以是Nxl或ΙχΝ的串划分。串匹配(String Matching)方法是IBC使用Nxl或ΙχΝ的串划分方式时的一个特例。
[0308]步骤S1302,与步骤S1102完全相同。
[0309]步骤S1304,与步骤S1104完全相同。
[0310]步骤S1306,与步骤S1106完全相同。
[0311]步骤S1308,编码器根据BV范围4信息,确定对当前本地重建⑶进行环路滤波的等待时长参数。
[0312]编码器记录编码过程中,各编码树块(Coding Tree Unit, CTU)中的CU划分情况。编码器可以通过直接保存CTU和⑶中的split_cu_flag的取值的方法,记录CTU中的⑶划分情况。
[0313]以最小CU为单位,按照编码顺序,编码器确定在当前本地重建CU同时满足下述条件,当前CU与对应CU之间所包含的最小CU的数量M。条件包括:
[0314]条件1:待判定的本地重建⑶的右边界和下边界像素点已经不用作当前本地重建CU之后(按照编码顺序)的CU中像素点的帧内预测参考;
[0315]条件2:待判定的本地重建⑶的右边界相邻⑶中的下边界像素点不用作当前本地重建CU之后(按照编码顺序)的CU中像素点的帧内预测参考;
[0316]条件3:待判定的本地重建⑶的下边界相邻⑶中的右边界像素点不用作当前本地重建CU之后(按照编码顺序)的CU中像素点的帧内预测参考。
[0317]步骤S1310,环路滤波模块在当前本地重建⑶之后,按照编码顺序,等待本地重建模块输出了 Μ个最小CU所覆盖的像素点重建值后,对所述当前本地重建CU进行环路滤波处理。
[0318]环路滤波模块对该CU完成未进行的水平方向和/或垂直方向的DF处理,对于该CU相邻编码块的本地重建块,编码器的DF模块标记其已经进行滤波的边界的位置以及滤波操作的属性(包括:水平方向滤波,垂直方向滤波)。
[0319]环路滤波模块对DF模块输出的经滤波处理的本地重建块使用SA0进行滤波处理,并将SA0模块输出数据写入本地解码图像缓存。
[0320]实施例8:
[0321]在实施例7的基础上,使用更加灵活的等待时长,以更加充分地利用编码器处理资源。本实施例提供一种直接对当前重建⑶设置环路滤波标记的编码方法,用于使用IBC模式的编码过程或编码器。需要说明的是,本实施例方法对IBC的预测块划分方式没有限定,即可以是传统的矩形、正方形块划分方式,也可以是Nxl或ΙχΝ的串划分。串匹配(String Matching)方法是IBC使用Nxl或ΙχΝ的串划分方式时的一个特例。
[0322]步骤S1402,与步骤S1102完全相同。
[0323]步骤S1404,与步骤SI 104完全相同。
[0324]步骤S1406,与步骤S1106完全相同。
[0325]步骤S1408,编码器根据BV范围4信息,确定对当前本地重建⑶进行环路滤波的等待时长参数。
[0326]编码器记录编码过程中,各编码树块(Coding Tree Unit, CTU)中的CU划分情况。编码器可以通过直接保存CTU和⑶中的split_cu_flag的取值的方法,记录CTU中的⑶划分情况。
[0327]以最小CU为单位,按照编码顺序,编码器确定在当前本地重建CU同时满足下述条件1和2时,当前CU与对应CU之间所包含的最小CU的数量eM。编码器确定在当前本地重建CU同时满足下述条件1和3时,当前CU与对应CU之间所包含的最小CU的数量vM。条件包括:
[0328]条件1:待判定的本地重建⑶的右边界和下边界像素点已经不用作当前本地重建CU之后(按照编码顺序)的CU中像素点的帧内预测参考;
[0329]条件2:待判定的本地重建⑶的右边界相邻⑶中的下边界像素点不用作当前本地重建CU之后(按照编码顺序)的CU中像素点的帧内预测参考;
[0330]条件3:待判定的本地重建⑶的下边界相邻⑶中的右边界像素点不用作当前本地重建CU之后(按照编码顺序)的CU中像素点的帧内预测参考。
[0331]步骤S1410,环路滤波模块根据⑶的标记信息,对其进行环路滤波处理。
[0332]情况1:eM的值等于vM ;
[0333]在这种情况下,环路滤波模块在当前本地重建⑶之后,按照编码顺序,等待本地重建模块输出了 eM(或vM)个最小CU所覆盖的像素点本地重建值后,对所述当前本地重建⑶进行环路滤波处理。
[0334]环路滤波模块对该CU完成未进行的水平方向和/或垂直方向的DF处理,对于该CU相邻编码块的本地重建块,DF模块标记其已经进行滤波的边界的位置以及滤波操作的属性(包括:水平方向滤波,垂直方向滤波)。
[0335]环路滤波模块对DF模块输出的经滤波处理的本地重建块使用SA0进行滤波处理,并将SA0模块输出数据写入本地解码图像缓存。
[0336]情况2:eM的值小于vM ;
[0337]在这种情况下,环路滤波模块在当前本地重建⑶之后,按照编码顺序,等待本地重建模块输出了 eM个最小CU所覆盖的像素点本地重建值后,对所述当前本地重建CU进行垂直方向的DF滤波,并标记(包括相邻块)已进行DF的垂直方向滤波。环路滤波模块继续等待本地重建模块输出(vM-eM)个最小CU所覆盖的像素点重建值后,对所述当前重建CU进行水平方向的DF滤波,并标记(包括相邻块)已进行DF的水平方向滤波。
[0338]环路滤波模块对DF模块输出的经滤波处理的本地重建块使用SA0进行滤波处理,并将SA0模块输出数据写入本地解码图像缓存。
[0339]情况3:eM的值大于vM ;
[0340]在这种情况下,环路滤波模块在当前本地重建⑶之后,按照编码顺序,等待本地重建模块输出了 vM个最小CU所覆盖的像素点本地重建值后,对所述当前本地重建CU进行水平方向的DF滤波,并标记(包括相邻块)已进行DF的水平方向滤波。环路滤波模块继续等待本地重建模块输出(eM-vM)个最小CU所覆盖的像素点本地重建值后,对所述当前重建CU进行垂直方向的DF滤波,并标记(包括相邻块)已进行DF的垂直方向滤波。
[0341 ] 环路滤波模块对DF模块输出的经滤波处理的本地重建块使用SA0进行滤波处理,并将SA0模块输出数据写入本地解码图像缓存。
[0342]实施例9:
[0343]本实施例提供一种电子设备实施例,包括编码器和/或解码器。
[0344]所述编码器使用前述实施例5至实施例8中任何一种编码器的实施方法,产生视频码流。
[0345]所述解码器使用前述实施例1至实施例4中任何一种解码器的实施方法,解码视频码流。
[0346]本实施例的电子设备可以是视频通信应用中相关码流生成设备和接收播放设备,例如,手机、计算机、服务器、机顶盒、便携式移动终端、数字摄像机,电视广播系统设备等。
[0347]在另外一个实施例中,还提供了一种软件,该软件用于执行上述实施例及优选实施例中描述的技术方案。
[0348]在另外一个实施例中,还提供了一种存储介质,该存储介质中存储有上述软件,该存储介质包括但不限于光盘、软盘、硬盘、可擦写存储器等。
[0349]显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0350]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
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,分片划分头信息Slice Segment Header,补充增强信息SEI,用户自定义数据单元。5.根据权利要求2所述的方法,其特征在于,根据所述限制范围信息对重建块进行环路滤波,包括: 根据所述限制范围信息确定块层重建过程与环路滤波过程之间的等待时长。6.根据权利要求5所述方法,其特征在于,在根据所述限制范围信息确定块层重建过程与环路滤波过程之间的等待时长之后,还包括: 在块层重建过程开始执行后,经过所述等待时长,环路滤波过程开始执行。7.根据权利要求5所述的方法,其特征在于, 根据所述限制范围信息,确定使用当前的第一块单元中像素点作为参考的IBC块所在的最后一个块单元,作为第二块单元; 按照编码顺序,确定所述第一块单元与第二块单元及二者之间的块单元作为第八范围; 将所述第八范围与传统帧内预测模式中使用的块单元范围的并集作为第九范围; 将所述第一块单元至第九范围的最后一个块单元之间包含的块单元的数量,作为所述等待时长。8.根据权利要求7所述方法,其特征在于, 所述传统帧内预测模式直接使用当前编码块的相邻像素点作为参考像素点构造预测块,其中,所述传统帧内预测模式的相邻像素点的位置是预先设定的,不使用位置偏移矢量指示。9.根据权利要求7所述的方法,其特征在于,还包括: 根据当前图像的瓦片划分信息和/或所述第一块单元所在分片的起始位置,将所述第九范围限制在所述第一块单元所在的Tile和/或分片范围内。10.根据权利要求7所述的方法,其特征在于,所述传统帧内预测模式中使用的块单元范围包括以下范围至少之一或以下范围至少之二的并集: 按照块单元的编码顺序,根据块单元的大小和帧内预测过程中所需要使用的相邻参考像素点的最大数量,确定使用可能使用块单元的右边界和下边界像素点作为帧内预测参考的块单元范围,作为第五范围; 确定对块单元进行去方块滤波DF所使用的相邻块单元,对于右相邻的块单元,确定其下边界上的像素点用作帧内预测参考的块单元范围,作为第六范围;对于下相邻
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1