CN113691811B - 编码块划分方法、装置、系统及存储介质 - Google Patents

编码块划分方法、装置、系统及存储介质 Download PDF

Info

Publication number
CN113691811B
CN113691811B CN202110874444.8A CN202110874444A CN113691811B CN 113691811 B CN113691811 B CN 113691811B CN 202110874444 A CN202110874444 A CN 202110874444A CN 113691811 B CN113691811 B CN 113691811B
Authority
CN
China
Prior art keywords
block
current
value
current block
horizontal
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
CN202110874444.8A
Other languages
English (en)
Other versions
CN113691811A (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.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua Technology Co Ltd
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 Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN202110874444.8A priority Critical patent/CN113691811B/zh
Publication of CN113691811A publication Critical patent/CN113691811A/zh
Application granted granted Critical
Publication of CN113691811B publication Critical patent/CN113691811B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

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

Abstract

本申请公开了一种编码块划分方法、装置、系统及存储介质,编码块划分方法包括:获取当前块及其尺寸;在当前块的尺寸满足第一预设尺寸条件的情况下,将当前块划分为若干行第一当前子块,以及将当前块划分为若干列第二当前子块;利用若干行第一当前子块获取当前块在水平方向上的第一均值;利用若干列第二当前子块获取当前块在垂直方向上的第二均值;基于第一均值和第二均值获取当前块的纹理值;按照当前块的纹理值选择跳过的编码块划分方式。上述方案,能够提高对当前块划分的准确度。

Description

编码块划分方法、装置、系统及存储介质
技术领域
本申请涉及视频编码领域,特别是涉及一种编码块划分方法、装置、系统及存储介质。
背景技术
多功能视频编码(VVC)是最新的视频编码标准。VVC中,块划分方式在编码层中有着较重的地位,通过利用灵活的块大小,能够获取很大的编码性能增益。
一般对不同的块均采用相同的编码块划分方式,此种方式存在的问题包括单一的编码块划分方式可能不太适合所有的块,若针对所有的块均采用相同的划分方式,导致对各个块的划分并不准确,最终可能会引起不必要的编码质量下降。
发明内容
本申请至少提供一种编码块划分方法、装置、系统及存储介质。
本申请提供了一种编码块划分方法,包括:获取当前块及其尺寸;在当前块的尺寸满足第一预设尺寸条件的情况下,将当前块划分为若干行第一当前子块,以及将当前块划分为若干列第二当前子块;利用若干行第一当前子块获取当前块在水平方向上的第一均值;利用若干列第二当前子块获取当前块在垂直方向上的第二均值;基于第一均值和第二均值获取当前块的纹理值;按照当前块的纹理值选择跳过的编码块划分方式。
其中,利用若干行第一当前子块获取当前块在水平方向上的第一均值,包括:计算奇数行第一当前子块中每一行第一当前子块的方差;利用每一行第一当前子块的方差获取第一均值;利用若干列第二当前子块获取当前块在垂直方向上的第二均值,包括:计算奇数列第二当前子块中每一列第二当前子块的方差;利用每一列第二当前子块的方差获取第二均值。
其中,按照当前块的纹理值选择跳过的编码块划分方式,包括:在当前块的纹理值大于第一阈值的情况下,跳过多类型树垂直划分方式;在当前块的纹理值小于或等于第一阈值,且小于第二阈值的情况下,跳过多类型树水平划分方式;其中,第一阈值大于第二阈值。
其中,按照当前块的纹理值选择跳过的编码块划分方式之后,编码块划分方法还包括:在当前块的纹理值大于第一阈值的情况下,将当前块按水平方向划分为第一当前水平块和第二当前水平块;获取第一当前水平块的第一水平能量值,获取第二当前水平块的第二水平能量值;在当前块的纹理值小于或等于第一阈值,且小于第二阈值的情况下,将当前块按垂直方向划分为第一当前垂直块和第二当前垂直块;获取第一当前垂直块的第一垂直能量值,获取第二当前垂直块的第二垂直能量值;若第一水平能量值和第二水平能量值均大于第三阈值,或者第一垂直能量值和第二垂直能量值均大于第三阈值时,跳过三叉树划分方式;其中,第一阈值大于第二阈值。
其中,按照当前块的纹理值选择跳过的编码块划分方式之后,编码块划分方法还包括:在当前块的纹理值小于或等于第一阈值,且大于等于第二阈值的情况下,获取第一水平能量值、第二水平能量值、第一垂直能量值和第二垂直能量值;在第一水平能量值、第二水平能量值、第一垂直能量值和第二垂直能量值均大于第三阈值的情况下,跳过三叉树划分方式;在第一水平能量值、第二水平能量值、第一垂直能量值和第二垂直能量值均小于第四阈值的情况下,对当前块终止划分;其中,第三阈值大于第四阈值。
其中,按照当前块的纹理值选择跳过的编码块划分方式之后,编码块划分方法还包括:将当前块按水平方向划分为第一当前水平块和第二当前水平块;获取第一当前水平块的第一水平能量值,获取第二当前水平块的第二水平能量值;在第一水平能量值和第二水平能量值均小于第四阈值的情况下,将当前块按垂直方向划分为第一当前垂直块和第二当前垂直块;获取第一当前垂直块的第一垂直能量值,获取第二当前垂直块的第二垂直能量值;若第一垂直能量值以及第二垂直能量值均小于第四阈值时,对当前块终止划分;若第一垂直能量值以及第二垂直能量值中的任意一个值大于或等于第四阈值时,跳过三叉树划分方式。
其中,编码块划分方法,还包括:在当前块的尺寸不满足第一预设条件,但满足第二预设条件的情况下,获取当前块的邻近块;获取当前块与邻近块的邻近相关度;在邻近相关度大于第五阈值,且邻近块的划分方式满足预设划分条件的情况下,跳过多类型树划分方式。
其中,第二预设尺寸条件为当前块的宽度和高度均为第一预设数值。
其中,预设划分条件为邻近块的划分方式中存在四叉树划分方式或者不存在三叉树划分方式。
其中,获取当前块与邻近块的邻近相关度,包括:获取当前块的像素值平均值、像素值标准差以及像素值协方差;获取邻近块的像素值平均值、像素值标准差以及像素值协方差;利用当前块的像素值平均值、像素值标准差以及像素值协方差,和邻近块的像素值平均值、像素值标准差以及像素值协方差计算邻近相关度。
其中,邻近块包括左邻近块、上邻近块以及左上邻近块,其中,邻近块的尺寸与当前块的尺寸相同;编码块划分方法,还包括:获取当前块与左邻近块的第一邻近相关度、当前块与上邻近块的第二邻近相关度以及当前块与左上邻近块的第三邻近相关度;获取左邻近块、上邻近块以及左上邻近块的相关因子组合;利用相关因子组合计算第一邻近相关度、第二邻近相关度以及第三邻近相关度之和,获得邻近相关度。
本申请提供了一种编码块划分装置,包括:当前获取模块、子块划分模块、纹理获取模块及划分模块;当前获取模块,用于获取当前块及其尺寸;子块划分模块,用于在当前块的尺寸满足第一预设尺寸条件的情况下,将当前块划分为若干行第一当前子块,以及将当前块划分为若干列第二当前子块;利用若干行第一当前子块获取当前块在水平方向上的第一均值;利用若干列第二当前子块获取当前块在垂直方向上的第二均值;纹理获取模块,用于基于第一均值和第二均值获取当前块的纹理值;划分模块,用于按照当前块的纹理值选择跳过的编码块划分方式。
本申请提供了一种视频编解码系统,包括处理器、与处理器连接的存储器,其中,存储器存储有程序指令;处理器用于执行存储器存储的程序指令以实现上述任意种的编码块划分方法。
本申请提供了一种计算机可读存储介质,其上存储有程序指令,程序指令被处理器执行时实现上述任意种编码块划分方法。
上述方案,在当前块的尺寸满足第一预设尺寸条件的情况下,获取若干行第一当前子块和若干列第二当前子块的均值,然后根据该均值获取对应的纹理值,然后通过该纹理值排除不合适的编码块划分方式,从而确定当前块的尺寸更准确,进而提高编码质量。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本申请的实施例,并与说明书一起用于说明本申请的技术方案。
图1是本申请编码块划分方法一实施例的流程示意图;
图2是本申请编码块划分方法一实施例的另一流程示意图;
图3是本申请编码块划分装置一实施例的结构示意图;
图4是本申请编码块划分系统一实施例的结构示意图;
图5是本申请计算机可读存储介质一实施例的结构示意图。
具体实施方式
下面结合说明书附图,对本申请实施例的方案进行详细说明。
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
请参阅图1,图1是本申请编码块划分方法一实施例的流程示意图。具体而言,可以包括如下步骤:
步骤S11:获取当前块及其尺寸。
本公开实施例中,当前块指的是CU块。其中,获取CU块的方式本申请不做过多叙述。具体获取CU块的方式可参见一般的方式。
当前块可以是图像帧的任意一个CU块。其中,获取当前块的顺序可以是从上到下、从左到右,在另一些公开实施例中,获取当前块的顺序还可以是其他顺序,此处不做具体规定。本公开实施例以从上到下、从左到右的顺序确定当前块。
步骤S12:在当前块的尺寸满足第一预设尺寸条件的情况下,将当前块划分为若干行第一当前子块,以及将当前块划分为若干列第二当前子块。
其中,第一预设尺寸条件可以是当前块的宽度和高度均小于第一预设数值或其中一个小于第一预设数值,另一个等于第一预设数值。其中,在这里的第一预设数值可以根据实际情况具体设置,例如,第一预设数值可以是32。其中,这里的32指的是32个像素。
其中,划分的方式可以是均等分,也可以是随机划分。本公开实施例以均等分为例。若干指的是一及以上。其中,第二预设尺寸条件可以是尺寸均小于第一预设数值。例如,将当前块的大小为M*N。可以将当前块划分为M行、N列。
步骤S13:利用若干行第一当前子块获取当前块在水平方向上的第一均值。
具体地,计算第一均值的方式可以是:计算奇数行第一当前子块中每一行第一当前子块的方差。当然,在其他公开实施例中,也可以计算偶数行第一当前子块中每一行第一当前子块的方差。当然,在另一些公开实施例中,也可随机计算部分第一当前子块的方差。
具体地,获取各行第一当前子块的方差
Figure BDA0003190110090000061
可以是:
Figure BDA0003190110090000062
其中,
Figure BDA0003190110090000063
为第i行的方差,这里取行数为2i-1的方差。
然后,利用每一行第一当前子块的方差获取当前块的水平方向上的第一均值。
Figure BDA0003190110090000064
步骤S14:利用若干列第二当前子块获取当前块在垂直方向上的第二均值。
可选地,可隔行和/或隔列分别计算水平与垂直方向上方差的均值。
同理,计算第二均值的方式可以是计算奇数列第二当前子块中每一列第二当前子块的方差。
如上,获取各列第二当前子块的方差可以是:
Figure BDA0003190110090000065
其中,
Figure BDA0003190110090000066
为第j列的方差,这里取列数为2j-1的方差。
然后,利用每一列第二当前子块的方差获取当前块在垂直方向上的第二均值。
获取第二均值的方式为:
Figure BDA0003190110090000067
通过计算部分行第一当前子块的方差,能够减少计算量,且相比计算全部第一当前子块的方差而言,效果基本一致。
步骤S15:基于第一均值和第二均值获取当前块的纹理值。
具体地,根据水平方向以及垂直方向上的均值,计算当前块的纹理值cur_direction。然后,判断当前块的纹理值cur_direction是趋于水平还是垂直。具体计算纹理值cur_direction的方式为:
cur_direction=ave_hor/ave_ver;
步骤S16:按照当前块的纹理值选择跳过的编码块划分方式。
可选地,在当前块的纹理值大于第一阈值的情况下,跳过多类型树垂直划分方式。在跳过多类型树垂直划分的情况下,后续可以使用多类型树水平划分方式等对当前块进行划分。或者,在当前块的纹理值小于或等于第一阈值,且小于第二阈值的情况下,跳过多类型树水平划分方式。其中,第一阈值大于第二阈值。通过跳过一个方向的划分,能够降低帧内预测编码复杂度。
具体地,在当前块的纹理值大于第一阈值的情况下,将当前块按照水平方向划分为第一当前水平块和第二当前水平块。以及,获取第一当前水平块的第一水平能量值,获取第二当前水平块的第二水平能量值。
其中,在当前块的纹理值小于或等于第一阈值,且小于第二阈值的情况下,将当前块按垂直方向划分为第一当前垂直块和第二当前垂直块。获取第一当前垂直块的第一垂直能量值,以及获取第二当前垂直块的第二垂直能量值。
另一些公开实施例中,在当前块的纹理值小于或等于第一阈值,且大于或等于第二阈值时的情况下,获取第一水平能量值、第二水平能量值、第一垂直能量值和第二垂直能量值。
其中,获取第一水平值和第二水平能量值的方式可以是,先获取两子块的水平灰度共生矩阵。灰度共生矩阵,指的是一种通过研究灰度的空间相关特性来描述纹理的常用方式。其中,获取水平灰度共生矩阵的方式为:
Figure BDA0003190110090000071
以及,
Figure BDA0003190110090000072
其中,Ghor-up和Ghor_down为生成的灰度共生矩阵,x、y为对应坐标,h值根据当前块矩阵P确定,当P(i,j)=x并且P(i,j+1)=y时,h值为1,否则为0。
同理,获取两个垂直块的灰度共生矩阵的方式为:
Figure BDA0003190110090000073
以及,
Figure BDA0003190110090000081
其中,Gver_left和Gver_right为生成的灰度共生矩阵,x、y为对应坐标,w值根据当前块矩阵P确定,当P(i,j)=x并且P(i+1,j)=y时,w值为1,否则为0。
在得到对应的灰度共生矩阵后,分别计算各水平块或垂直块的能量值。其中,计算各个能量值的方式为:
Figure BDA0003190110090000082
其中,H表示子块灰度共生矩阵的高,W表示子块灰度共生矩阵的宽,对于灰度共生矩阵,这两个值是一样的。
其中,在当前块的纹理值大于第一阈值的情况下,若第一水平能量值和第二水平能量值均大于第三阈值,则跳过三叉树划分方式。
其中,在当前块的纹理值小于或等于第一阈值,且小于第二阈值的情况下,若第一垂直能量值和第二垂能量值均大于第三阈值时,跳过三叉树划分方式。
其中,在当前块的纹理值小于或等于第一阈值,且大于或等于第二阈值的情况下,获取第一水平能量值、第二水平能量值、第一垂直能量值和第二垂直能量值。若第一水平能量值、第二水平能量值、第一垂直能量值和第二垂直能量值均大于第三阈值的情况下,跳过三叉树划分方式。
一些公开实施例中,在第一水平能量值和第二水平能量值均小于第四阈值,和/或第一垂直能量值和第二垂能量值均小于第四阈值的情况下,对当前块进行终止划分。其中,第三阈值大于第四阈值。
一些应用场景中,在当前块的纹理值大于第一阈值的情况下,若第一水平能量值和第二水平能量值均小于第四阈值,则对当前块进行终止划分。
一些应用场景中,在当前块的纹理值小于或等于第一阈值,且小于第二阈值的情况下,若第一垂直能量值和第二垂能量值均小于第四阈值,则对当前块进行终止划分。
另一些应用场景中,在当前块的纹理值小于或等于第一阈值,且大于或等于第二阈值的情况下,若第一水平能量值、第二水平能量值、第一垂直能量值和第二垂直能量值均小于第四阈值,则对当前块进行终止划分。
一些公开实施例中,在第一水平能量值和第二水平能量值均小于第四阈值,或者第一垂直能量值和第二垂能量值均小于第四阈值的情况下,获取其相反方向两个子块的灰度共生矩阵的能量值,若相反方向两个子块的能量值依然均小于第四阈值,则终止当前块划分,否则,跳过三叉树划分。其中,水平方向的相反方向为垂直方向,同理,垂直方向的相反方向为水平方向。
例如,在第一水平能量值和第二水平能量值均小于第四阈值情况下,将当前块按照垂直方向划分为第一当前垂直块和第二当前垂直块。并获取第一当前垂直块的第一垂直能量值以及获取第二当前垂直块的第二垂直能量值。然后,若第一垂直能量值以及第二垂直能量值均小于第四阈值时,则对当前块终止划分。以及,在第一垂直能量值和第二垂直能量值中任意一个值大于或等于第四阈值时,跳过三叉树划分方式。
同理,若第一垂直能量值和第二垂直能量值均小于第四阈值情况下,将当前块按照水平方向划分为第一当前水平块和第二当前水平块。并获取第一当前水平块的第一水平能量值以及获取第二当前水平块的第二水平能量值。然后,若第一水平能量值以及第二水平能量值均小于第四阈值时,则对当前块终止划分。以及,在第一水平能量值和第二水平能量值中任意一个值大于或等于第四阈值时,跳过三叉树划分方式。
当然,可以在第一水平能量值和第二水平能量值并非均大于第三阈值,判断第一水平能量值和第二水平能量值是否均小于第四阈值。或者第一垂直能量值和第二垂直能量值并非均大于第三阈值时,判断第一垂直能量值和第二垂直能量值是否均小于第四阈值。
上述方案,根据在当前块的尺寸,获取对应的邻近块以及对应的邻近相关度,从而确定当前块的划分方式,使得对当前块的划分能够参考当前块的尺寸,从而确定当前块的尺寸更准确,进而提高编码质量。
在当前块的尺寸不满足第一预设尺寸条件,但满足第二预设条件的情况下,获取当前块的邻近块。
其中,第二预设条件为当前块的宽度和高度均为第一预设数值。其中,邻近块可以是当前块的左邻近块、上邻近块、左上邻近块中的一块或多块。具体地,本公开实施例中,当前块的邻近块为左邻近块、上邻近块以及左上邻近块。
然后,获取当前块与邻近块的邻近相关度。本公开实施例中,获取该邻近相关度的方式可以是:获取当前块的像素值平均值、像素值标准差以及像素值协方差。以及,获取邻近块的像素值平均值、像素值标准差以及像素值协方差。然后,利用当前块的像素值平均值、像素值标准差以及像素值协方差,和邻近块的像素值平均值、像素值标准差以及像素值协方差,计算邻近相关度。如上述,邻近块包括左邻近块、上邻近块以及左上邻近块。本公开实施例中,邻近块的尺寸与当前块的尺寸相同。当然,在其他实施例中,邻近块的尺寸也可小于当前块的尺寸,关于邻近块的尺寸此处不做具体规定。一些公开实施例中,可以计算当前块和邻近块中所有像素点的像素值平均值、像素值标准差以及像素值协方差,还可以是计算当前块和邻近块中部分像素点的像素值的平均值、像素值标准差以及像素值协方差。例如,隔行和/或隔列确定各像素值的平均值、像素值标准差以及像素值协方差。
其中,获取该邻近相关度的具体方式可以是获取当前块与左邻近块的第一邻近相关度、当前块与上邻近块的第二邻近相关度以及当前块与左上邻近块的第三邻近相关度。
具体地,获取第一至第三邻近相关度的方式可以是:
SSIM(x,y)=[l(x,y)]α[c(x,y)]β[s(x,y)]γ
其中,x表示当前块,y表示邻近块(左邻近块、上邻近块或左上邻近块),其中,l(x,y)为亮度比较,c(x,y)为对比度比较,s(x,y)为结构比较。
具体地,获取l(x,y)的方式可以是:
Figure BDA0003190110090000101
获取c(x,y)的方式可以是:
Figure BDA0003190110090000111
获取s(x,y)的方式可以是:
Figure BDA0003190110090000112
其中,α、β以及γ均为预设值。μx、μy为x、y的平均值,σx、σy为x、y的标准差,σxy为x和y的协方差,c1、c2为常数。
本公开实施例中,α、β以及γ均为1。可选地,c3=c2/2。
在此基础上,SSIM具体为:
Figure BDA0003190110090000113
接着,获取左邻近块、上邻近块以及左上邻近块的相关因子组合。其中,相关因子组合中包括第一因子a和第二因子b、第三因子c。进一步地,第一因子a和第二因子b、第三因子c之和为1。
其中,获取相关因子组合的方式可以是通过二维高斯函数得到。
具体地,二维高斯函数可以是:
Figure BDA0003190110090000114
其中,u、v为距离当前块位置的偏离坐标。左邻近块的偏离坐标为(-1,0),上邻近块的偏离坐标为(0,1),做上邻近块的偏离坐标为(-1,1)。σ为正态分布的标准偏差,本公开实施例中,σ为0.8。
然后,利用相关因子组合计算第一邻近相关度、第二邻近相关度以及第三邻近相关度之和,获得邻近相关度。
具体地,邻近相关度的具体获取方式为:
cur_sim=a·SSIMleft+b·SSIMabove+c·SSIMleft_above
其中,SSIMleft、SSIMabove、SSIMleft_above分别为当前块与左邻近块的第一邻近相关度、当前块与上邻近块的第二邻近相关度以及当前块与左上邻近块的第三邻近相关度。
其中,在邻近相关度大于第五阈值,且邻近块的划分方式满足预设划分条件的情况下,跳过多类型树划分方式。
对当前块的划分方式可以是多种,例如多类型树划分方式、三叉树划分方式、二叉树划分方式等等。跳过多类型树划分方式后,可以采用其他划分方式对当前块进行划分。且,每种划分方式又可包括垂直方向上的划分和水平方向上的划分。
本公开实施例中第一阈值为预设值。其中,第一阈值与量化参数(QP)值相关。其中,量化参数为预先设置的值。其中,获取量化参数的方式可参见一般的方式,此处不做过多叙述。
其中,预设划分条件为邻近块的划分方式中存在四叉树划分方式或者不存在三叉树划分方式。其中,四叉树划分方式和三叉树划分方式可以参见一般的划分方式,此处不做过多叙述。其中,只要当前块的任意一个邻近块的划分方式为四叉树划分方式,或全部邻近块的划分方式均不为三叉树划分方式时,跳过多类型树划分方式。
上述方案,在当前块的尺寸满足第一预设尺寸条件的情况下,获取若干行第一当前子块和若干列第二当前子块的均值,然后根据该均值获取对应的纹理值,然后通过该纹理值排除不合适的编码块划分方式,从而确定当前块的尺寸更准确,进而提高编码质量。
进一步地,通过综合邻近块信息及当前块的纹理信息,能够从多方面确定当前块的划分方式,使得最终确定的划分方式更准确。
为更好地理解上述方案,请同时参考图2,图2是本申请编码块划分方法一实施例的另一流程示意图。如图2所示,本公开实施例提供的编码块划分方法包括以下步骤:
步骤S21:判断当前块的尺寸是否满足第一预设尺寸条件。若否,则执行步骤S22,是则,执行步骤S27。
其中,判断当前块的尺寸是否满足第一预设尺寸条件的方式如上述,此处不再赘述。
步骤S22:判断当前块的尺寸是否满足第二预设条件。若是,则执行步骤S23,若否,则结束决策流程,可以按照多类型树划分方式对当前块进行划分。
其中,判断当前块的尺寸是否满足第二预设条件的方式如上述,此处不再赘述。
步骤S23:获取当前块与邻近块的邻近相关度。
其中,获取当前块与邻近块的邻近相关度的方式如上述,此处不再赘述。
步骤S24:判断邻近相关度是否大于第五阈值。若是,则执行步骤S25。否则,执行步骤S41。
步骤S25:判断邻近块的划分方式中是否存在四叉树划分方式或者不存在三叉树划分方式。若判断结果为是,则执行步骤S26,否则执行步骤S41。
步骤S26:跳过多类型树划分方式。
其中,跳过多类型树划分方式,通过其他划分方式对当前块进行划分。
步骤S27:获取当前块的纹理值。
其中,获取当前块的纹理值的方式如上述,此处不再赘述。
步骤S28:判断当前块的纹理值是否大于第一阈值。若是,则执行步骤S29,否则执行步骤S31。
步骤S29:跳过类型树垂直划分方式。
步骤S30:计算第一水平能量值和第二水平能量值。
其中,计算第一水平能量值和第二水平能量值的方式如上述,此处不再赘述。
步骤S31:判断当前块的纹理值是否小于第二阈值。若是,则执行步骤S32,若否,则执行步骤S34。
步骤S32:跳过多类型树水平划分方式。
步骤S33:计算第一垂直能量值和第二垂直能量值。
其中,计算第一垂直能量值和第二垂直能量值的方式如上述,此处不再赘述。
步骤S34:计算第一水平能量值、第二水平能量值、第一垂直能量值和第二垂直能量值。
其中,计算第一水平能量值、第二水平能量值、第一垂直能量值和第二垂直能量值的方式如上述,此处不再赘述。
步骤S35:判断各能量值是否均大于第三阈值。若是,则执行步骤S36,否则执行步骤S37。
步骤S36:跳过三叉树划分方式。
步骤S37:判断各能量值是否均小于第四阈值。若是,则执行步骤S38,若否,则结束决策流程,可以按照多类型树划分方式对当前块进行划分。
步骤S38:获取相反方向的各能量值。
其中,获取相反方向的各能量值的方式如上述,此处不再赘述。
步骤S39:判断相反方向的各能量值是否均小于第四阈值。若是,则执行步骤S40,若否,则执行步骤S36。
步骤S40:对当前块终止划分。
步骤S41:采用多类型树划分方式对当前块进行划分。
上述方案,在当前块的尺寸满足第一预设尺寸条件的情况下,获取若干行第一当前子块和若干列第二当前子块的均值,然后根据该均值获取对应的纹理值,然后通过该纹理值排除不合适的编码块划分方式,从而确定当前块的尺寸更准确,进而提高编码质量。
进一步地,根据在当前块的尺寸,获取对应的邻近块以及对应的邻近相关度,从而确定当前块的划分方式,使得对当前块的划分能够参考当前块的尺寸,从而确定当前块的尺寸更准确,进而提高编码质量。
其中,编码块划分方法的执行主体可以是编码块划分装置,例如,编码块划分方法可以由终端设备或服务器或其它处理设备执行,其中,终端设备可以为用户设备(UserEquipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字处理(PersonalDigital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该编码块划分方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
请参阅图3,图3是本申请编码块划分装置一实施例的结构示意图。编码块划分装置10包括当前获取模块11、子块划分模块12、纹理获取模块13及划分模块14。当前获取模块11,用于获取当前块及其尺寸;子块划分模块12,用于在当前块的尺寸满足第一预设尺寸条件的情况下,将当前块划分为若干行第一当前子块,以及将当前块划分为若干列第二当前子块;利用若干行第一当前子块获取当前块在水平方向上的第一均值;利用若干列第二当前子块获取当前块在垂直方向上的第二均值;纹理获取模块13,用于基于第一均值和第二均值获取当前块的纹理值;划分模块14,用于按照当前块的纹理值选择跳过的编码块划分方式。
上述方案,在当前块的尺寸满足第一预设尺寸条件的情况下,获取若干行第一当前子块和若干列第二当前子块的均值,然后根据该均值获取对应的纹理值,然后通过该纹理值排除不合适的编码块划分方式,从而确定当前块的尺寸更准确,进而提高编码质量。
请参阅图4,图4是本申请视频编解码系统一实施例的结构示意图。如图4所示,视频编解码系统20包括存储器21和处理器22,处理器22用于执行存储器21中存储的程序指令,以实现上述任一编码块划分方法实施例中的步骤。
具体而言,处理器22用于控制其自身以及存储器21以实现上述任一编码块划分方法实施例中的步骤。处理器22还可以称为CPU(Central Processing Unit,中央处理单元)。处理器22可能是一种集成电路芯片,具有信号的处理能力。处理器22还可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器22可以由集成电路芯片共同实现。
上述方案,在当前块的尺寸满足第一预设尺寸条件的情况下,获取若干行第一当前子块和若干列第二当前子块的均值,然后根据该均值获取对应的纹理值,然后通过该纹理值排除不合适的编码块划分方式,从而确定当前块的尺寸更准确,进而提高编码质量。
请参阅图5,图5是本申请计算机可读存储介质一实施例的结构示意图。计算机可读存储介质30存储有能够被处理器运行的程序指令31,程序指令31被执行时实现上述任一编码块划分方法实施例中的步骤。
上述方案,在当前块的尺寸满足第一预设尺寸条件的情况下,获取若干行第一当前子块和若干列第二当前子块的均值,然后根据该均值获取对应的纹理值,然后通过该纹理值排除不合适的编码块划分方式,从而确定当前块的尺寸更准确,进而提高编码质量。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (13)

1.一种编码块划分方法,其特征在于,包括:
获取当前块及其尺寸;
在所述当前块的尺寸满足第一预设尺寸条件的情况下,将所述当前块划分为若干行第一当前子块,以及将所述当前块划分为若干列第二当前子块;
利用所述若干行第一当前子块获取所述当前块在水平方向上的第一均值;
利用所述若干列第二当前子块获取所述当前块在垂直方向上的第二均值;
基于所述第一均值和所述第二均值获取所述当前块的纹理值;
按照所述当前块的纹理值选择跳过的编码块划分方式;
所述编码块划分方法,还包括:
在所述当前块的尺寸不满足第一预设尺寸条件,但满足第二预设尺寸条件的情况下,获取所述当前块的邻近块,所述第一预设尺寸条件包括所述当前块的宽度和高度均小于第一预设数值或其中一个小于所述第一预设数值,另一个等于所述第一预设数值,所述第二预设尺寸条件包括所述当前块的宽度和高度均为所述第一预设数值;
获取所述当前块与所述邻近块的邻近相关度;
在所述邻近相关度大于第五阈值,且所述邻近块的划分方式满足预设划分条件的情况下,跳过多类型树划分方式,所述预设划分条件为所述邻近块的划分方式中存在四叉树划分方式或不存在三叉树划分方式。
2.根据权利要求1所述的编码块划分方法,其特征在于,
所述利用所述若干行第一当前子块获取所述当前块在水平方向上的第一均值,包括:
计算奇数行第一当前子块中每一行第一当前子块的方差;
利用所述每一行第一当前子块的方差获取所述第一均值;
所述利用所述若干列第二当前子块获取所述当前块在垂直方向上的第二均值,包括:
计算奇数列第二当前子块中每一列第二当前子块的方差;
利用所述每一列第二当前子块的方差获取所述第二均值。
3.根据权利要求1所述的编码块划分方法,其特征在于,
所述按照所述当前块的纹理值选择跳过的编码块划分方式,包括:
在所述当前块的纹理值大于第一阈值的情况下,跳过多类型树垂直划分方式;
在所述当前块的纹理值小于或等于所述第一阈值,且小于第二阈值的情况下,跳过多类型树水平划分方式;
其中,所述第一阈值大于所述第二阈值。
4.根据权利要求1或3所述的编码块划分方法,其特征在于,
所述按照所述当前块的纹理值选择跳过的编码块划分方式之后,所述编码块划分方法还包括:
在所述当前块的纹理值大于第一阈值的情况下,将所述当前块按水平方向划分为第一当前水平块和第二当前水平块;获取所述第一当前水平块的第一水平能量值,获取所述第二当前水平块的第二水平能量值;
在所述当前块的纹理值小于或等于所述第一阈值,且小于第二阈值的情况下,将所述当前块按垂直方向划分为第一当前垂直块和第二当前垂直块;获取所述第一当前垂直块的第一垂直能量值,获取所述第二当前垂直块的第二垂直能量值;
若所述第一水平能量值和所述第二水平能量值均大于第三阈值,或者所述第一垂直能量值和所述第二垂直能量值均大于所述第三阈值时,跳过三叉树划分方式;
其中,所述第一阈值大于所述第二阈值,各所述水平能量值为对应水平块的灰度共生矩阵的能量,各所述垂直能量值为对应垂直块的灰度共生矩阵的能量。
5.根据权利要求4所述的编码块划分方法,其特征在于,
所述按照所述当前块的纹理值选择跳过的编码块划分方式之后,所述编码块划分方法还包括:
在所述当前块的纹理值小于或等于所述第一阈值,且大于等于所述第二阈值的情况下,获取所述第一水平能量值、所述第二水平能量值、所述第一垂直能量值和所述第二垂直能量值;
在所述第一水平能量值、所述第二水平能量值、所述第一垂直能量值和所述第二垂直能量值均大于所述第三阈值的情况下,跳过三叉树划分方式;
在所述第一水平能量值、所述第二水平能量值、所述第一垂直能量值和所述第二垂直能量值均小于第四阈值的情况下,对所述当前块终止划分;
其中,所述第三阈值大于所述第四阈值。
6.根据权利要求1所述的编码块划分方法,其特征在于,
所述按照所述当前块的纹理值选择跳过的编码块划分方式之后,所述编码块划分方法还包括:
将所述当前块按水平方向划分为第一当前水平块和第二当前水平块;获取所述第一当前水平块的第一水平能量值,获取所述第二当前水平块的第二水平能量值;
在所述第一水平能量值和所述第二水平能量值均小于第四阈值的情况下,将所述当前块按垂直方向划分为第一当前垂直块和第二当前垂直块;获取所述第一当前垂直块的第一垂直能量值,获取所述第二当前垂直块的第二垂直能量值;
若所述第一垂直能量值以及所述第二垂直能量值均小于所述第四阈值时,对所述当前块终止划分;
若所述第一垂直能量值以及所述第二垂直能量值中的任意一个值大于或等于所述第四阈值时,跳过三叉树划分方式;
其中,各所述水平能量值为对应水平块的灰度共生矩阵的能量,各所述垂直能量值为对应垂直块的灰度共生矩阵的能量。
7.根据权利要求1所述的编码块划分方法,其特征在于,
所述第二预设尺寸条件为所述当前块的宽度和高度均为第一预设数值。
8.根据权利要求1所述的编码块划分方法,其特征在于,
所述预设划分条件为所述邻近块的划分方式中存在四叉树划分方式或者不存在三叉树划分方式。
9.根据权利要求1所述的编码块划分方法,其特征在于,
所述获取所述当前块与所述邻近块的邻近相关度,包括:
获取所述当前块的像素值平均值、像素值标准差以及像素值协方差;
获取所述邻近块的像素值平均值、像素值标准差以及像素值协方差;
利用所述当前块的像素值平均值、像素值标准差以及像素值协方差,和所述邻近块的像素值平均值、像素值标准差以及像素值协方差计算所述邻近相关度。
10.根据权利要求9所述的编码块划分方法,其特征在于,
所述邻近块包括左邻近块、上邻近块以及左上邻近块,其中,所述邻近块的尺寸与所述当前块的尺寸相同;所述编码块划分方法,还包括:
获取所述当前块与所述左邻近块的第一邻近相关度、所述当前块与所述上邻近块的第二邻近相关度以及所述当前块与所述左上邻近块的第三邻近相关度;
获取所述左邻近块、所述上邻近块以及所述左上邻近块的相关因子组合;
利用所述相关因子组合计算所述第一邻近相关度、所述第二邻近相关度以及所述第三邻近相关度之和,获得所述邻近相关度。
11.一种编码块划分装置,其特征在于,所述编码块划分装置包括当前获取模块、子块划分模块、纹理获取模块及划分模块;
所述当前获取模块,用于获取当前块及其尺寸;
所述子块划分模块,用于在所述当前块的尺寸满足第一预设尺寸条件的情况下,将所述当前块划分为若干行第一当前子块,以及将所述当前块划分为若干列第二当前子块;利用所述若干行第一当前子块获取所述当前块在水平方向上的第一均值;利用所述若干列第二当前子块获取所述当前块在垂直方向上的第二均值;
所述纹理获取模块,用于基于所述第一均值和所述第二均值获取所述当前块的纹理值;
所述划分模块,用于按照所述当前块的纹理值选择跳过的编码块划分方式;以及,所述划分模块还用于在所述当前块的尺寸不满足第一预设尺寸条件,但满足第二预设尺寸条件的情况下,获取所述当前块的邻近块;获取所述当前块与所述邻近块的邻近相关度;在所述邻近相关度大于第五阈值,且所述邻近块的划分方式满足预设划分条件的情况下,跳过多类型树划分方式;
其中,所述第一预设尺寸条件包括所述当前块的宽度和高度均小于第一预设数值或其中一个小于所述第一预设数值,另一个等于所述第一预设数值,所述第二预设尺寸条件包括所述当前块的宽度和高度均为所述第一预设数值,所述预设划分条件为所述邻近块的划分方式中存在四叉树划分方式或不存在三叉树划分方式。
12.一种视频编解码系统,其特征在于,所述视频编解码系统包括处理器、与所述处理器连接的存储器,其中,
所述存储器存储有程序指令;
所述处理器用于执行所述存储器存储的程序指令以实现如权利要求1~10中任一项所述的编码块划分方法。
13.一种计算机可读存储介质,其特征在于,所述存储介质存储有程序指令,所述程序指令被执行时实现如权利要求1~10中任一项所述的编码块划分方法。
CN202110874444.8A 2021-07-30 2021-07-30 编码块划分方法、装置、系统及存储介质 Active CN113691811B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110874444.8A CN113691811B (zh) 2021-07-30 2021-07-30 编码块划分方法、装置、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110874444.8A CN113691811B (zh) 2021-07-30 2021-07-30 编码块划分方法、装置、系统及存储介质

Publications (2)

Publication Number Publication Date
CN113691811A CN113691811A (zh) 2021-11-23
CN113691811B true CN113691811B (zh) 2023-03-24

Family

ID=78578464

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110874444.8A Active CN113691811B (zh) 2021-07-30 2021-07-30 编码块划分方法、装置、系统及存储介质

Country Status (1)

Country Link
CN (1) CN113691811B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024016171A1 (zh) * 2022-07-19 2024-01-25 Oppo广东移动通信有限公司 一种视频编码方法、设备、存储介质及码流

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112437307A (zh) * 2020-11-10 2021-03-02 腾讯科技(深圳)有限公司 一种视频编码方法、装置、电子设备及介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110691254B (zh) * 2019-09-20 2022-01-18 中山大学 一种多功能视频编码的快速判决方法、系统及存储介质
CN110650338B (zh) * 2019-09-20 2021-11-16 中山大学 一种多功能视频编码帧内划分方法、系统及存储介质
CN111147867B (zh) * 2019-12-18 2022-10-18 重庆邮电大学 一种多功能视频编码cu划分快速决策方法及存储介质
CN112188196A (zh) * 2020-09-28 2021-01-05 长沙理工大学 一种基于纹理的通用视频编码帧内快速预测的方法
CN112104868B (zh) * 2020-11-05 2021-02-05 电子科技大学 一种针对vvc帧内编码单元划分的快速决策方法
CN112929657B (zh) * 2021-01-22 2022-09-27 郑州轻工业大学 基于梯度与方差的h.266/vvc快速cu划分决策方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112437307A (zh) * 2020-11-10 2021-03-02 腾讯科技(深圳)有限公司 一种视频编码方法、装置、电子设备及介质

Also Published As

Publication number Publication date
CN113691811A (zh) 2021-11-23

Similar Documents

Publication Publication Date Title
US11178404B2 (en) Method and apparatus of video coding
US7792188B2 (en) Selecting encoding types and predictive modes for encoding video data
US20200059653A1 (en) Video encoding and decoding method
US11889102B2 (en) Filtering method for removing blocking artifact and apparatus
CN111131837B (zh) 运动补偿修正方法、编码方法、编码器及存储介质
CN112055203B (zh) 帧间预测方法、视频编码方法及其相关装置
CN109587491A (zh) 一种帧内预测方法、装置及存储介质
CN111031319A (zh) 一种局部光照补偿预测方法、终端设备及计算机存储介质
CN113691811B (zh) 编码块划分方法、装置、系统及存储介质
CN111669593A (zh) 视频编码方法、装置、电子设备和存储介质
US20140133575A1 (en) Electronic device and method for splitting image
CN110213595B (zh) 基于帧内预测的编码方法、图像处理设备和存储装置
CN110166773A (zh) 帧内预测方法、视频编码方法、视频处理装置、存储介质
CN115022641A (zh) 图像编码、解码方法、电子设备和计算机可读存储介质
US20140133772A1 (en) Electronic device and method for splitting image
CN111970512B (zh) 编码方法、设备及具有存储功能的装置
CN114666592A (zh) 基于avs3编码历史信息的cu块划分方法、装置及介质
CN111713105B (zh) 一种视频图像处理方法、设备及存储介质
CN114071138A (zh) 帧内预测编码方法、帧内预测编码装置和计算机可读介质
CN109951707B (zh) 一种目标运动矢量选择方法、装置、电子设备及介质
CN111988612A (zh) 一种视频编码处理方法、装置及电子设备
CN111787334B (zh) 一种用于帧内预测的滤波方法,滤波器及装置
CN117880516A (zh) 块划分方法、块划分装置、设备以及存储介质
US20140133771A1 (en) Electronic device and method for splitting image
CN116074537A (zh) 编码方法、解码方法、电子设备和计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant