CN109963151B - 编码单元划分确定方法及装置、终端设备及可读存储介质 - Google Patents

编码单元划分确定方法及装置、终端设备及可读存储介质 Download PDF

Info

Publication number
CN109963151B
CN109963151B CN201711339827.5A CN201711339827A CN109963151B CN 109963151 B CN109963151 B CN 109963151B CN 201711339827 A CN201711339827 A CN 201711339827A CN 109963151 B CN109963151 B CN 109963151B
Authority
CN
China
Prior art keywords
coding unit
threshold
current coding
gradient
sub
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
CN201711339827.5A
Other languages
English (en)
Other versions
CN109963151A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201711339827.5A priority Critical patent/CN109963151B/zh
Priority to JP2020526386A priority patent/JP6953067B2/ja
Priority to PCT/CN2018/090935 priority patent/WO2019114225A1/zh
Priority to EP18887236.0A priority patent/EP3726837A4/en
Priority to KR1020197036795A priority patent/KR102327942B1/ko
Priority to US16/390,165 priority patent/US11190766B2/en
Publication of CN109963151A publication Critical patent/CN109963151A/zh
Application granted granted Critical
Publication of CN109963151B publication Critical patent/CN109963151B/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/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/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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/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

Abstract

本发明公开了一种编码单元划分确定方法及装置、终端设备及可读存储介质,方法包括:确定当前编码单元的尺寸是否大于最小编码单元的尺寸,当该当前编码单元的尺寸大于最小编码单元的尺寸时,获取当编码单元的梯度,当当前编码单元的梯度小于第一阈值时,获取当前编码单元包含的各个子编码单元的梯度,根据该各个子编码单元的梯度确认是否对当前编码单元进行划分。相对于现有技术,对于尺寸大于最小编码单元的当前编码单元,需要基于当前编码单元的梯度及当前编码单元包含的各子编码单元的梯度,确定是否对当前编码单元进行进一步划分,使得能够确定不需要进行划分的编码单元,减少对编码单元划分所带来的运算量且降低运算复杂度。

Description

编码单元划分确定方法及装置、终端设备及可读存储介质
技术领域
本发明涉及视频编码技术领域,尤其涉及一种编码单元划分确定方法及装置、终端设备及可读存储介质。
背景技术
目前,随着互联网和硬件设备的发展,视频的分辨率越来越大。2013年,由ITUVCEG和ISO MPEG联合成立的视频编码联合协作团队研究制定了新一代视频编码标准—高效视频编码标准(High Efficiency Video Coding,HEVC)。相比H.264/AVC,在相当视觉质量下,HEVC节省一半以上的码率。HEVC具有更高的压缩性能的一个主要原因是它提供了更大的编码块结构以及灵活的子块划分方式。在HEVC中,最大编码单元(Largest CodingUnit)能够被递归地划分成小的编码单元(Coding Unit,CU),从而形成编码单元树(CodingUnit Tree,CTU)结构。
然而,由于采用编码单元树结构,需要对每一个尺寸大于最小编码单元的编码单元都进行进一步划分,且对划分后的子编码单元进行预测模式选择,这种划分方式将带来巨大的运算负担,运算复杂度高。
发明内容
本发明的主要目的在于提供编码单元划分确定方法及装置、终端设备及可读存储介质,旨在解决现有技术中编码单元的划分方式存在运算负担大,及运算复杂度高的技术问题。
为实现上述目的,本发明第一方面提供一种编码单元划分确定方法,包括:
确定当前编码单元的尺寸是否大于最小编码单元的尺寸;
当所述当前编码单元的尺寸大于最小编码单元的尺寸时,获取所述当前编码单元的梯度;
当所述当前编码单元的梯度小于第一阈值时,获取所述当前编码单元包含的各个子编码单元的梯度;
根据所述各个子编码单元的梯度确定是否对所述当前编码单元进行划分。
为实现上述目的,本发明第二方面提供一种编码单元划分确定装置,包括:
第一确定模块,用于确定当前编码单元的尺寸是否大于最小编码单元的尺寸;
第一获取模块,用于当所述当前编码单元的尺寸大于最小编码单元的尺寸时,获取所述当前编码单元的梯度;
第二获取模块,用于当所述当前编码单元的梯度小于第一阈值时,获取所述当前编码单元包含的各个子编码单元的梯度;
第二确定模块,用于根据所述各个子编码单元的梯度确定是否对所述当前编码单元进行划分。
为实现上述目的,本发明第三方面提供一种终端设备,包括:存储器、处理器及存储在所述存储器上且在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如本发明实施例第一方面提供的编码单元划分确定方法中的各个步骤。
为实现上述目的,本发明第四方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如本发明第一方面提供的编码单元划分确定方法中的各个步骤。
本发明提供一种编码单元划分确定方法,包括:确定当前编码单元的尺寸是否大于最小编码单元的尺寸,当该当前编码单元的尺寸大于最小编码单元的尺寸时,获取当前编码单元的梯度,当当前编码单元的梯度小于第一阈值时,获取该当前编码单元包含的各个子编码单元的梯度,根据该各个子编码单元的梯度确认是否对当前编码单元进行划分。相对于现有技术,对于尺寸大于最小编码单元的当前编码单元,需要基于当前编码单元的梯度及当前编码单元包含的各子编码单元的梯度,确定是否对当前编码单元进行进一步划分,使得能够确定不需要进行划分的编码单元,减少对编码单元划分所带来的运算量且降低运算复杂度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中编码单元划分确定方法的流程示意图;
图1a为本发明实施例中64x64的当前编码单元的子编码单元的示意图;
图2为图1所示实施例中步骤104的细化步骤的流程示意图;
图3为图1所示实施例中步骤104的细化步骤的流程示意图;
图4为本发明实施例中编码单元划分确定方法的另一流程示意图;
图5为本发明实施例中第一阈值的设置方法的流程示意图;
图6为本发明实施例中当前编码单元的相邻块的示意图;
图7为本发明实施例中对当前编码单元划分进行划分的流程示意图;
图8为本发明实施例中编码确定装置的程序模块的结构示意图;
图9为图8所示实施例中第二确定模块的细化程序模块的结构示意图;
图10为图8所示实施例中第二确定模块的细化程序模块的结构;
图11为本发明实施例中编码确定装置的程序模块的另一结构示意图;
图12为本发明实施例中追加程序模块的结构示意图;
图13为一种终端设备的结构示意图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
由于现有技术中编码单元的划分方式存在运算负担大,及运算复杂度高的技术问题。
为了解决上述问题,本发明提出一种编码单元划分确定方法,相对于现有技术,对于尺寸大于最小编码单元的当前编码单元,需要基于当前编码单元的梯度及当前编码单元包含的各子编码单元的梯度,确定是否对当前编码单元进行进一步划分,使得能够确定不需要进行划分的编码单元,减少编码单元划分所带来的运算量且降低运算复杂度。
请参阅图1,为本发明实施例中编码单元划分确定方法的流程示意图,该方法包括:
步骤101、确定当前编码单元的尺寸是否大于最小编码单元的尺寸;
在HEVC中,扩展了宏块(MB,Macroblock)的概念并分为编码单元、预测单元(Prediction Unit,PU)和变换单元(Transform Unit,TU),编码单元是HEVC中编码的基本单元,一帧视频图像被划分为若干个最大编码单元。相比于H.264/AVC中的16x16固定宏块大小,HEVC主要档次的定义中,最大编码单元的大小是64x64,最大编码单元能够被进一步递归的划分成更小的编码单元,最小的编码单元的大小是8x8,编码单元的其他大小可以是32x32、16x16。由此可以看出HEVC提供更加灵活的编码单元划分方式以及更大的编码单元,这有利于适应不同纹理区域的编码特性。
其中,上述编码单元划分确定方法由编码单元划分确定装置(以下简称为:确定装置)实现,该确定装置可以为程序模块,存储在存储器中,并由处理器从存储器内调用执行,且该确定装置所属的终端设备可以为服务器。
需要说明的是,本发明实施例中的编码单元划分确定方法适用于帧内预测,帧内预测是利用视频帧内像素之间的空间相关性消除空域冗余的一种编码技术,其中,HEVC提供的帧内预测模式高达35种,包括33种方向性预测模式和两种非方向性预测模式,非方向性预测模式为模式0(DC模式)和模式1(平面模式),33种方向性预测模式为模式2~35。在帧内预测编码过程中,通过本发明实施例中的编码单元划分确定方法能够有效的确定是否对当前编码单元进行划分。
优选地,上述编码单元划分确定方法可以应用在帧内预测编码过程中,在确定当前编码单元的最优帧内预测模式及该最优帧内预测模式对应的编码代价值之后,通过上述方法确定是否需要对该当前编码单元进行进一步划分。具体的:
确定装置将确定该当前编码单元的尺寸是否大于最小编码单元的尺寸,其中,最小编码单元的尺寸为8x8。且当该当前编码单元的尺寸等于最小编码单元的尺寸时,表明当前编码单元已经是最小编码单元,不可以进一步划分,当该当前编码单元的尺寸大于最小编码单元的尺寸时,表明需要进一步判断当前编码单元是否需要进一步划分。
其中,编码代价值是指在指定帧内预测模式下,完成编码所需要的比特数。因此,对于不同的帧内预测模式,其编码代价值也不同。
步骤102、当所述当前编码单元的尺寸大于最小编码单元的尺寸时,获取当前编码单元的梯度;
步骤103、当所述当前编码单元的梯度小于第一阈值时,获取所述当前编码单元包含的各个子编码单元的梯度;
步骤104、根据所述各个子编码单元的梯度确定是否对所述当前编码单元进行划分。
在本发明实施例中,当该当前编码单元的尺寸大于最小编码单元的尺寸时,确定装置将获取当前编码单元的梯度。
其中,当前编码单元的梯度越大,表明当前编码单元的图像内容越不平滑,需要进行划分的可能性越大,当前编码单元的梯度越小,表明当前编码单元的图像内容越平滑,需要进行划分的可能性越小,因此,在当前编码单元的尺寸大于最小编码单元的尺寸的情况下,将该当前编码单元的梯度与第一阈值进行比较,以便初步确定是否需要进行划分,在该当前编码单元的梯度小于第一阈值时,获取该当前编码单元包含的各个子编码单元的梯度,以便进一步确定是否需要划分。当当前编码单元的梯度大于或等于第一阈值时,确定需要对当前编码单元进行划分。
其中,该第一阈值可以是预先设置的,也可以是计算得到的,后续实施例中将详细描述,此处不做赘述。
需要说明的是,在步骤103中并未对当前编码单元进行划分,上述的子编码单元仅仅是基于当前编码单元的尺寸假设的单元,其中,子编码单元的个数为4个。例如,当该当前编码单元为64x64时,可以表明该当前编码单元是可以划分为4个32x32的子编码单元的,但是此时并未真正对当前编码单元进行划分。请参阅图1a,为本发明实施例中64x64的当前编码单元的子编码单元的示意图,四个32x32的块即为子编码单元。
其中,梯度是指像素亮度值沿着水平、垂直、左下、右下等方向获得的方向导数,子编码单元的梯度可以采用已有的梯度算法,例如,可以采用Sobel算法,也可以采用其他方法,该其他算法可以为:计算子编码单元中所有或部分像素点的水平一维梯度和垂直一维梯度之和,将该和作为子编码单元的梯度,或者计算子编码单元中所有或部分像素点的多角度梯度之和,将该和作为该子编码单元的梯度。
其中,确定装置将根据各个子编码单元的梯度确定是否对当前编码单元进行划分。可以理解的是,现有技术中,对于尺寸大于最小编码单元的当前编码单元,均是进行划分的,而本发明实施例中,在当前编码单元的梯度小于第一阈值的情况下,通过基于各个子编码单元的梯度可以进一步确定是否对当前编码单元进行划分,对于确定需要划分的当前编码单元,则进行划分,对于确定不需要划分的当前编码单元,则不进行划分,因此,必然存在一部分当前编码单元是不需要划分的,能够有效的减少对编码单元进行划分的运算量及降低运算复杂度。例如,现有技术中,对于尺寸大于最小编码单元的编码单元,若该类编码单元的个数为100,则划分的次数为100,而在本发明实施例中,对于尺寸大于最小编码单元的编码单元,当该类编码单元的个数为100个,基于编码单元包含的子编码单元的梯度确定其中的60个需要划分,40个不需要划分,那么只需要划分60次,划分次数减少,能够减少划分编码单元带来的运算量及降低运算复杂度。
在本发明实施例中,确定当前编码单元的尺寸是否大于最小编码单元的尺寸,当该当前编码单元的尺寸大于最小编码单元的尺寸时,获取当前编码单元的梯度,当当前编码单元的梯度小于第一阈值时,获取该当前编码单元包含的各个子编码单元的梯度,根据该各个子编码单元的梯度确认是否对当前编码单元进行划分。相对于现有技术,对于尺寸大于最小编码单元的当前编码单元,需要基于当前编码单元的梯度及当前编码单元包含的各子编码单元的梯度,确定是否对当前编码单元进行进一步划分,使得能够确定不需要进行划分的编码单元,减少编码单元划分所带来的运算量且降低运算复杂度。
在本发明实施例中,存在多种方式根据各个子编码单元的梯度确定是否对当前编码单元进行划分,下面将介绍其中的两种方式,一种请参阅图2,为图1所示实施例中步骤104的细化步骤的流程示意图,该步骤104包括:
步骤201、当所述各个子编码单元的梯度的和大于第二阈值时,确定所述各个子编码单元中,梯度小于或等于第三阈值的子编码单元的第一数量;执行步骤202或者步骤203;
步骤202、当所述第一数量大于或等于第四阈值时,确定对所述当前编码单元进行划分;
步骤203、当所述第一数量小于所述第四阈值时,确定不对所述当前编码单元进行划分。
在本发明实施例中,设置了第一阈值及第二阈值,其中,第一阈值大于第二阈值,该第一阈值用于与当前编码单元的梯度进行比较,且在当前编码单元的梯度小于第一阈值时,将当前编码单元包含的各个子编码单元的梯度的和与第二阈值进行比较,以确定是否需要对当前编码单元进行划分。需要说明的是,对于同一个编码单元,该编码单元的梯度等于其各个子编码单元的梯度的和。
其中,当当前编码单元的梯度小于第一阈值,且各个子编码单元的梯度的二和大于第二阈值时,确定装置将确定各个子编码单元中,梯度小于或等于第三阈值的子编码单元的第一数量。
进一步地,在本发明实施例中,当各个子编码单元的梯度的和小于或等于第二阈值时,此时可以确定不需要对当前编码单元进行划分。
需要说明的是,各个子编码单元的梯度的和越小,表明当前编码单元的图像内容越平滑,对当前编码单元进行进一步划分的可能性就越小,各个子编码单元的梯度的和越大,表明当前编码单元的图像内容越不平滑,对当前编码单元进行进一步划分的可能性就越大。因此,本发明实施例中,通过设置第一阈值和第二阈值的方式,可以将是否需要划分的判断分三种情况,一种是,当前编码单元的的梯度大于或等于第一阈值,表明当前编码单元的图像内容不平滑,此时将确定对当前编码单元进行划分,另一种是,各个子编码单元的梯度的和小于第二阈值时,表明当前编码单元的图像内容平滑,此时将确定不对当前编码单元进行划分。最后一种则是当前编码单元的梯度小于第一阈值,且各个子编码单元的梯度的和大于第二阈值,此是针对各个子编码单元可能存在差距较大的情况设置的,因此,需要基于上述第一数量进一步确定是否需要对当前编码单元进行划分。
可以理解的是,考虑到子编码单元的个数通常为4,因此,第四阈值可以设置为1、2或3,且优选为1。在4个子编码单元的梯度的和小于第一阈值并大于第二阈值的情况下,当第一数量大于或等于第四阈值时,表明存在梯度差距较大的子编码单元,且表明当前编码单元的图像内容平滑的不均匀,有的区域平滑,有的区域不平滑,为了能够降低码率,将确定对当前编码单元进行划分。当第一数量小于第四阈值时,表明不存在梯度差距较大的子编码单元,因此,确定不对当前编码单元进行划分。
其中,上述第三阈值可以为一个较小值,例如,该值趋近于零或者等于零。
需要说明的是,各个子编码单元的梯度的和需要满足以下条件:小于第一阈值且大于第二阈值,只有在满足该条件的情况下才会基于第一数量确定是否需要对当前编码单元进行进一步划分。在该满足该条件下,梯度小于或等于第三阈值的子编码单元的第一数量不可能为4(第一数量为4时,表明4个子编码单元的梯度都很小,这种情况实际上是不需要进行划分的,且其和不可能大于第一阈值),因此,不会存在错误的确定当前编码单元需要划分的情况。
在本发明实施例中,在当前编码单元的梯度小于第一阈值,且在各个子编码单元的梯度的和大于第二阈值时,通过利用当前编码单元的各个子编码单元的梯度进一步确定是否需要对该当前编码单元进行划分,不仅能够减轻对编码单元进行划分的运算负担及降低运算复杂度,且充分考虑了各个子编码单元的梯度差异对编码单元结构及选择的最优帧内预测模式(因为将当前编码单元划分为多个子编码单元之后,各个子编码单元的最优帧内预测模式可能不同,也可能与当前编码单元的最优帧内预测模式不同)的影响,使得能够更好的实现编码,进一步降低码率。
其中,另一种根据各个子编码单元的梯度确定是否对当前编码单元进行划分的方式请参阅图3,为图1所示实施例中步骤104的细化步骤的流程示意图,该步骤104包括:
步骤301、当所述各个子编码单元的梯度的和大于第二阈值时,确定所述各个子编码单元的梯度中,最大梯度与最小非零梯度的比值是否大于或等于第五阈值;执行步骤302或者执行步骤303;
步骤302、当所述比值大于或等于所述第五阈值时,确定对所述当前编码单元进行划分;
步骤303、当所述比值小于所述第五阈值时,确定不对所述当前编码单元进行划分。
在本发明实施例中,针对当前编码单元的梯度小于第一阈值,且各个子编码单元的梯度的和大于第二阈值的情况,还可以通过其他方式确定是否存在梯度差距较大的子编码单元,以便确定是否需要进一步划分当前编码单元。具体的:确定装置将确定各个子编码单元的梯度中,最大梯度与最小非零梯度的比值是否大于或等于第五阈值。其中,当该比值大于或等于该第五阈值时,表明该最大梯度的子编码单元与该最小非零梯度的子编码单元的梯度差距较大,为了降低码率,将确定对该当前编码单元进行划分,当该比值小于该第五阈值时,表明最大梯度的子编码单元与最小非零梯度的子编码单元的梯度差距小,确定不需要对当前编码单元进行划分。
在本发明实施例中,在当前编码单元的梯度小于第一预置,且各个子编码单元的梯度的和大于第二阈值时,通过利用当前编码单元的各个子编码单元的梯度进一步确定是否需要对该当前编码单元进行划分,不仅能够减轻对编码单元进行划分的运算负担及降低运算复杂度,且充分考虑了各个子编码单元的梯度差异对编码单元结构及选择的帧内预测模式的影响,使得能够更好的实现编码,进一步降低码率。
基于图1所示实施例,请参阅图4,为本发明实施例中编码单元划分确定方法的另一流程示意图,包括:
步骤401、确定当前编码单元的尺寸是否大于最小编码单元的尺寸;
步骤402、当所述当前编码单元的尺寸大于最小编码单元的尺寸时,计算所述当前编码单元包含的各个最小编码单元的梯度,将所述各个最小编码单元的梯度的和作为所述当前编码单元的梯度;执行步骤403或者步骤404;
步骤403、当所述当前编码单元的梯度大于或等于第一阈值时,确定对所述当前编码单元进行划分;
步骤404、当所述当前编码单元的梯度小于所述第一阈值时,获取所述当前编码单元包含的各个子编码单元的梯度;
步骤405、根据所述各个子编码单元的梯度确定是否对所述当前编码单元进行划分。
需要说明的是,步骤401与图1所示实施例中的步骤101描述的内容相似,此处不做赘述,此外,步骤405可以参考图2及图3对图1中步骤104的细化步骤的内容,此处不做赘述。
在本发明实施例中,在确定当前编码单元的尺寸大于最小编码单元的尺寸的情况下,确定装置将计算当前编码单元包含的各个最小编码单元的梯度,并将各个最小编码单元的梯度和作为当前编码单元的梯度,例如,当前编码单元为16x16,其包含4个8x8的最小编码单元,若该4个最小编码单元的梯度分别为a、b、c、d,则当前编码单元的梯度为a+b+c+d。
进一步地,确定装置将判断该当前编码单元的梯度是否大于或等于第一阈值,当该当前编码单元的梯度大于或等于第一阈值,确定需要对该当前编码单元进行划分,当该当前编码单元的梯度小于第一阈值时,确定装置将进一步根据当前编码单元的各子编码单元的梯度确定是否需要对当前编码单元进行划分。
可以理解的是,在本发明实施例中,先通过当前编码单元的梯度初步确定是否需要对其进行划分,且在初步确定不需要划分的情况下,为了进一步提高划分判断的准确性,将基于各个子编码单元的梯度再一次进行确定,不仅仅能够降低运算负担及复杂度,且能够实现更合理的划分。
需要说明的是,上述第一阈值可以与当前编码单元的相邻块有关,请参阅图5,为本发明实施例中第一阈值的设置方法的流程示意图,包括:
步骤501、获取所述当前编码单元相邻块的第二数量,所述相邻块的尺寸与所述当前编码单元的尺寸相同;
其中,在得到上述第二数量之后,将根据第二数量设置第一阈值,具体的,将执行步骤502、或者执行步骤503。
步骤502、当所述第二数量小于第六阈值时,设置所述第一阈值为预设值;
步骤503、当所述第二数量等于所述第六阈值时,确定所述相邻块中,是否存在所属的编码单元的尺寸大于或等于所述当前编码单元的尺寸的目标相邻块;
步骤504、当存在所述目标相邻块时,基于所述目标相邻块所属的编码单元的梯度设置所述第一阈值;
步骤505、当不存在所述目标相邻块时,设置所述第一阈值为零。
其中,该第一阈值的设置可以是在第一阈值的使用前确定,即在判断当前编码单元的梯度是否大于或等于第一阈值之前设置,且对于不同的当前编码单元,都将确定与该当前编码单元对应的第一阈值。
其中,当前编码单元的相邻块为当前编码单元的左上块、上边块、右上块及左边块,请参阅图6,为本发明实施例中当前编码单元的相邻块的示意图,其中,curr表示当前编码单元,aboveleft表示左上块、above表示上边块,aboveright表示右上块,left表示左边块。
其中,当前编码单元的相邻块的尺寸与当前编码单元的尺寸相同,例如,若当前编码单元为32x32,则基于32x32在当前编码单元的周围确定相邻块。需要说明的是,相邻块可以是一个编码单元,也可以是多个编码单元构成的,还可以属于一个编码单元的部分。例如,若当前编码单元为32x32,其左上块属于一个64x64编码单元的部分,其上边块为4个16x16的编码单元,其右上块为一个32x32的编码单元。
可以理解的是,有些当前编码单元可以确定其4个相邻块,有些当前编码单元由于其处的位置特殊,确定的相邻块的个数可能会少于4,因此,将先获取当前编码单元相邻块的第二数量。
进一步地,判断该第二数量是否小于第六阈值,例如,该数值可以为4,若小于,则将设置第一阈值为预设值,该预设值为一个固定阈值。可以理解的是,在该第一阈值为预设值时,第二阈值可以为另一个预设值,且保持第一阈值大于第二阈值。
当第二数量等于第六阈值,将根据相邻块所属的编码单元的尺寸及当前编码单元的尺寸设置第一阈值,具体的:确定装置将确定各个相邻块所属的编码单元的尺寸,并确定相邻块中,是否存在所属的编码单元的尺寸大于或等于当前编码单元的尺寸的目标相邻块,当存在该目标相邻块时,将基于该目标相邻块所属的编码单元的梯度设置上述第一阈值。例如,若当前编码单元P为32x32,其左上块属于一个64x64编码单元A的部分,其上边块为4个16x16的编码单元B,其右上块为一个32x32的编码单元C,其左边块为16个8x8的编码单元D,因此,编码单元A的尺寸大于当前编码单元P,编码单元C的尺寸等于编码单元P,将基于编码单元A的梯度及编码单元C的梯度设置上述第一阈值。例如,计算编码单元A和编码单元C的梯度的平均值,将该平均值与预设系数的乘积作为上述第一阈值并设置。且在通过该中方式设置第一阈值后,可以计算该第一预置与预设间隔值之间的差值,若该差值大于零,则将该差值作为第二阈值,若该差值小于零,则将第二阈值设置为零。
其中,当不存在相邻目标块时,设置第一阈值为零,且在该种情况下,将第二阈值也设置为零。
需要说明的是,第一阈值是用于与当前编码单元的梯度进行比较的,在基于相邻块设置第一阈值时,需要先确定相邻块中,所属编码单元的尺寸大于或等于当前编码单元的目标相邻块,再基于目标相邻块所属编码单元的梯度的平均值设置第一阈值,该第一阈值用于表示不需要进行划分的编码单元的梯度的最大值。因此,在存在目标相邻块的情况下,表明当前编码单元的周围存在未进一步划分的尺寸更大的编码单元,在尺寸更大的编码单元未划分的前提下,当前编码单元存在不需要进一步划分的可能,因此,在当前编码单元的梯度大于或等于第一阈值时,表明当前编码单元的梯度已经大于或等于不需要进行划分的最大值,可以直接确定该当前编码单元需要进一步进行划分。在当前编码单元的梯度小于第一阈值时,可以确定该当前编码单元不需要进一步划分的概率较大,因此,基于目标相邻块所属的编码单元的梯度设置第一阈值,能够有效提高对当前编码单元是否划分的判断的准确性。此外,在不存在目标相邻块的情况下,表明当前编码单元的周围都是尺寸比其小的编码单元,这种情况下为了确保是否进行划分的准确性,将第一阈值设置为零,使得当前编码单元的梯度必然大于或等于该第一阈值(零),必然需要对当前编码单元进行划分。
在本发明实施例中,通过结合当前编码单元的梯度、及当前编码单元的各个子编码单元的梯度确定是否需要对当前编码单元进行划分,不仅能够减轻对编码单元进行划分的运算负担及降低运算复杂度,且充分考虑了各个子编码单元的梯度差异对编码单元结构及选择的帧内预测模式的影响,使得能够更好的实现编码,进一步降低码率。且通过基于当前编码单元的相邻块设置第一阈值,以便利用该第一阈值及当前编码单元的梯度确定是否需要对当前编码单元进行划分,能够有效提升判断的准确性,使得对当前编码单元的划分更加合理。
在本发明实施例中,在确定不需要对当前编码单元进行划分的情况下,将输出该当前编码单元的最优帧内预测模式,以便利用该最优帧内预测模式对该当前编码单元进行编码,且在确定需要对当前编码单元进行划分的情况下,将执行划分操作,请参阅图7,为本发明实施例中,对当前编码单元进行划分的流程示意图,包括:
步骤701、将所述当前编码单元划分为多个子编码单元;
步骤702、分别为多个所述子编码单元选择最优帧内预测模式,并计算多个所述子编码单元的编码代价值;执行步骤703或者步骤704;
步骤703、当多个所述子编码单元的编码代价值的和大于或等于所述当前编码单元的编码代价值时,取消对所述当前编码单元的划分,输出所述当前编码单元的最优帧内预测模式及编码代价值;
步骤704、当多个所述子编码单元的编码代价值的和小于所述当前编码单元的编码代价值时,输出多个所述子编码单元的编码代价值及选择的最优帧内预测模式。
可以理解的是,图7所示实施例描述的内容可应用于图2、图3及图4。
在本发明实施例中,在确定对当前编码单元进行划分时,确定装置将当前编码单元划分为多个子编码单元,例如,对于尺寸为64x64的编码单元,可以划分为4个32x32的子编码单元。
进一步地,将分别为每个子编码单元选择最优帧内预测模式,及计算该最优帧内预测模式对应的编码代价值,其中,子编码单元的最优帧内预测模式的选择及编码代价值的计算在实际应用中已经有多种方式实现,例如,分别计算子编码单元在所有帧内预测模式下的编码代价值,并将编码代价值最小的预测模式作为其最优帧内预测模式,即子编码单元的最优预测模式是多种预测模式中编码代价最小的。在实际应用中,可以基于具体的需要选择最优帧内预测模式的选择方法,此处不做赘述。
其中,计算上述多个子编码单元的编码代价值的和,当该和大于或等于当前编码单元的编码代价值,表明对当前编码单元进行编码相对于当前编码单元的各子编码单元进行编码所需要的代价更小,将取消对当前编码单元的划分,并输出当前编码单元的最优帧内预测模式,使得能够基于当前编码单元的最优预测模式进行编码。需要说明的是,当前编码单元的编码代价值也是在当前编码单元的最优帧内预测模式的选择过程中计算得到的。
其中,当多个子编码单元的编码代价值的和小于当前编码单元的编码代价值时,说明此处划分能够节约编码代价,将输出该多个子编码单元的编码代价值及对应的最优帧内预测模式。
可以理解的是,在本发明实施例中,当划分后的多个子编码单元的编码代价值小于当前编码单元的代价值时,表明对当前编码单元的划分是合理的,此时,会放弃当前编码单元的最优帧内预测模式及编码代价值,而是遍历各个子编码单元,确定遍历到的子编码单元的尺寸是否大于最小编码单元的尺寸,当大于最小编码单元的尺寸时,将遍历到的子编码单元当做上述当前编码单元,返回执行图1所示实施例中的步骤101。当遍历到的子编码单元的尺寸等于最小编码单元的尺寸,则表明已经不需要继续进行划分,可利用各个子编码单元的最优帧内预测模式对各个子编码单元进行编码,以实现当前编码单元的编码;当划分后的子编码单元的编码代价值大于或等于当前编码单元,表明对当前编码单元的划分是不合理的,此时,将取消对当前编码单元的划分,仍然使用当前编码单元的最优帧内预测模式对该当前编码单元的进行编码,通过上述方式,能够划分得到最优的单元结构且最优的帧内预测模式,有效降低码率。
在本发明实施例中,在确定对当前编码单元进行划分的情况下,通过将划分后的各子编码单元的编码代价值的和与当前编码单元的编码代价值进行比较,并选择编码代价值最小的方式进行输出,使得能够实现编码单元的更合理的划分,节约编码代价。
请参阅图8,为本发明实施例中编码单元划分确定装置的程序模块的结构示意图,该装置包括:
第一确定模块801,用于确定当前编码单元的尺寸是否大于最小编码单元的尺寸;
第一获取模块802,用于当所述当前编码单元的尺寸大于最小编码单元的尺寸时,获取所述当前编码单元的梯度;
第二获取模块803,用于当所述当前编码单元的梯度小于第一阈值时,获取所述当前编码单元包含的各个子编码单元的梯度;
第二确定模块804,用于根据所述各个子编码单元的梯度确定是否对所述当前编码单元进行划分。
在HEVC中,扩展了宏块(MB,Macroblock)的概念并分为编码单元、预测单元(Prediction Unit,PU)和变换单元(Transform Unit,TU),编码单元是HEVC中编码的基本单元,一帧视频图像被划分为若干个最大编码单元。相比于H.264/AVC中的16x16固定宏块大小,HEVC主要档次的定义中,最大编码单元的大小是64x64,最大编码单元能够被进一步递归的划分成更小的编码单元,最小的编码单元的大小是8x8,编码单元的其他大小可以是32x32、16x16。由此可以看出HEVC提供更加灵活的编码单元划分方式以及更大的编码单元,这有利于适应不同纹理区域的编码特性。
需要说明的是,本发明实施例中的编码单元划分确定装置适用于帧内预测,帧内预测是利用视频帧内像素之间的空间相关性消除空域冗余的一种编码技术,其中,HEVC提供的帧内预测模式高达35种,包括33种方向性预测模式和两种非方向性预测模式,非方向性预测模式为模式0(DC模式)和模式1(平面模式),33种方向性预测模式为模式2~35。
在本发明实施例中,需要为当前编码单元选择最优帧内预测模式并计算该当前编码单元的编码代价,为了确认该当前编码单元是否可以进一步划分,确定装置将确定该当前编码单元的尺寸是否大于最小编码单元的尺寸,其中,最小编码单元的尺寸为8x8。且当当前编码单元的尺寸等于最小编码单元的尺寸时,表明当前编码单元已经是最小编码单元,不可以进一步划分,当该当前编码单元的尺寸大于最小编码单元的尺寸时,表明需要进一步判断当前编码单元是否需要进一步划分。
需要说明的是,子编码单元的梯度可以采用已有的梯度算法,例如,可以采用Sobel算法,也可以采用其他方法,例如,计算子编码单元中所有或部分像素点的水平一维梯度和垂直一维梯度之和,或者计算子编码单元中所有或部分像素点的多角度梯度之和。
在本发明实施例中,确定当前编码单元的尺寸是否大于最小编码单元的尺寸,当该当前编码单元的尺寸大于最小编码单元的尺寸时,获取当前编码单元的梯度,当当前编码单元的梯度小于第一阈值时,获取该当前编码单元包含的各个子编码单元的梯度,根据该各个子编码单元的梯度确认是否对当前编码单元进行划分。相对于现有技术,对于尺寸大于最小编码单元的当前编码单元,需要基于当前编码单元的梯度及当前编码单元包含的各子编码单元的梯度,确定是否对当前编码单元进行进一步划分,使得能够确定不需要进行划分的编码单元,减少编码单元划分所带来的运算量且降低运算复杂度。
请参阅图9,为本发明实施例中图8所示实施例中第二确定模块804的细化程序模块的结构示意图,该第二确定模块804包括:
数量确定模块901,用于当所述各个子编码单元的梯度的和大于第二阈值时,确定所述各个子编码单元中,梯度小于或等于第三阈值的子编码单元的第一数量,所述第一阈值大于所述第二阈值;
第三确定模块902,用于当所述第一数量大于或等于第四阈值时,确定对所述当前编码单元进行划分;
第四确定模块903,用于当所述第一数量小于所述第四阈值时,确定不对所述当前编码单元进行划分。
可以理解的是,与上述模块相关的内容具体可以参阅图2所示实施例,此处不做赘述。
在本发明实施例中,通过利用当前编码单元的各个子编码单元的梯度进一步确定是否需要对该当前编码单元进行划分,不仅能够减轻对编码单元进行划分的运算负担及降低运算复杂度,且充分考虑了各个子编码单元的梯度差异对编码单元结构及选择的帧内预测模式的影响,使得能够更好的实现编码,进一步降低码率。
请参阅图10,为本发明实施例中图8所示实施例中第二确定模块804的细化程序模块的结构示意图,该第二确定模块804包括:
第五确定模块1001,用于当所述各个子编码单元的梯度的和大于第二阈值时,确定所述各个子编码单元的梯度中,最大梯度与最小非零梯度的比值是否大于或等于第五阈值;
第六确定模块1002,用于当所述比值大于或等于所述第五阈值时,确定对所述当前编码单元进行划分;
第七确定模块1003,用于当所述比值小于所述第五阈值时,确定不对所述当前编码单元进行划分。
可以理解的是,与上述模块相关的内容,具体可以参阅图3,此处不做赘述。
在本发明实施例中,通过利用当前编码单元的各个子编码单元的梯度进一步确定是否需要对该当前编码单元进行划分,不仅能够减轻对编码单元进行划分的运算负担及降低运算复杂度,且充分考虑了各个子编码单元的梯度差异对编码单元结构及选择的帧内预测模式的影响,使得能够更好的实现编码,进一步降低码率。
请参阅图11,为本发明实施例中编码单元划分确定装置的程序模块的结构示意图,包括:如图8所示实施例中的第一确定模块801、第一获取模块802第二获取模块803及第二确定模块804,且与图8所示实施例中描述的内容相似,此处不做赘述。
其中,第一获取模块802具体用于计算所述当前编码单元包含的各个最小编码单元的梯度,将所述各个最小编码单元的梯度的和作为所述当前编码单元的梯度。
在本发明实施例中,装置还包括:
数量获取模块1101,用于获取所述当前编码单元相邻块的第二数量,所述相邻块的尺寸与所述当前编码单元的尺寸相同;
阈值设置模块1102,用于根据所述第二数量设置所述第三预置。
其中,阈值设置模块1102包括:第一设置模块1103及第二设置模块1104。
第一设置模块1103,用于当所述第二数量小于第六阈值时,设置所述第一阈值为预设值;
第二设置模块1104,用于当所述第二数量等于所述第六阈值时,根据所述相邻块所属的编码单元的尺寸及所述当前编码单元的尺寸设置所述第一阈值。
其中,第二设置模块1104包括:第八确定模块1105、第三设置模块1106及第四设置模块1107。
第八确定模块1105,用于确定所述相邻块中,是否存在所属的编码单元的尺寸大于或等于所述当前编码单元的尺寸的目标相邻块;
第三设置模块1106,用于当存在所述目标相邻块时,基于所述目标相邻块所属的编码单元的梯度设置所述第一阈值;
第四设置模块1107,用于当不存在所述目标相邻块时,设置所述第一阈值为零。
可以理解的是,与上述模块相关的内容具体可参阅图5所示实施例,此处不做赘述。
在本发明实施例中,通过结合当前编码单元的梯度、及当前编码单元的各个子编码单元的梯度确定是否需要对当前编码单元进行划分,不仅能够减轻对编码单元进行划分的运算负担及降低运算复杂度,且充分考虑了各个子编码单元的梯度差异对编码单元结构及选择的帧内预测模式的影响,使得能够更好的实现编码,进一步降低码率。且通过基于当前编码单元的相邻块设置第一阈值,以便利用该第一阈值及当前编码单元的梯度确定是否需要对当前编码单元进行划分,能够有效提升判断的准确性,使得对当前编码单元的划分更加合理。
请参阅图12,为本发明实施例中追加程序模块的结构示意图,该追加程序模块用于在确定对当前编码单元进行划分时,实现对当前编码单元的划分,该追加程序模块包括:
划分模块1201,用于将所述当前编码单元划分为多个子编码单元;
选择计算模块1202,用于分别为多个所述子编码单元选择最优帧内预测模式,并计算多个所述子编码单元的编码代价值;
取消输出模块1203,用于当多个所述子编码单元的编码代价值的和大于或等于所述当前编码单元的编码代价值时,取消对所述当前编码单元的划分,输出所述当前编码单元的最优帧内预测模式;
输出模块1204,用于当多个所述子编码单元的编码代价值的和小于所述当前编码单元的编码代价值时,输出多个所述子编码单元的编码代价值及选择的最优帧内预测模式。
在本发明实施例中,在确定对当前编码单元进行划分的情况下,通过将划分后的各子编码单元的编码代价值的和与当前编码单元的编码代价值进行比较,并选择编码代价值最小的方式进行输出,使得能够实现编码单元的更合理的划分,节约编码代价。
本发明实施例中还提供一种终端设备,包括存储器、处理器及存储在存储器上且在处理器上运行的计算机程序,其特征在于,处理器执行计算机程序时,实现如图1至图5任意一个或者图7所示实施例中的编码单元划分确定方法中的各个步骤。
本发明实施例中还提供一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现图1至图5任意一个或者图7所示实施例中的编码单元划分确定方法的各个步骤。
可以理解的是,在本发明实施例中,上述的编码单元划分确定装置是一种终端设备,该终端设备具体可以是服务器,为了更好的理解本发明实施例中的技术方案,请参阅图13,为本发明实施例中终端设备130的结构示意图。该终端设备130包括处理器1301、存储器1302和收发器1303,存储器1302可以包括只读存储器和随机存取存储器,并向处理器1301提供操作指令和数据。存储器1302的一部分还可以包括非易失性随机存取存储器(NVRAM)。
在一些实施方式中,存储器1302存储了如下的元素:可执行模块或者数据结构,或者他们的子集,或者他们的扩展集。
在本发明实施例中,通过调用存储器1302存储的操作指令(该操作指令可存储在操作系统中),执行以下过程:在确定当前编码单元的最优帧内预测模式之后,确定当前编码单元的尺寸是否大于最小编码单元的尺寸,当该当前编码单元的尺寸大于最小编码单元的尺寸时,获取当前编码单元的梯度,当当前编码单元的梯度小于第一阈值时,获取该当前编码单元包含的各个子编码单元的梯度,根据该各个子编码单元的梯度确认是否对当前编码单元进行划分。
与现有技术中对所有编码单元都进行划分的方式相比,本发明实施例提供的终端设备,对于尺寸大于最小编码单元的当前编码单元,需要基于当前编码单元的梯度及当前编码单元包含的各子编码单元的梯度,确定是否对当前编码单元进行进一步划分,使得能够确定不需要进行划分的编码单元,减少对编码单元划分所带来的运算量且降低运算复杂度。
其中,处理器1301控制终端设备130的操作,处理器1301还可以称为CPU(CentralProcessing Unit,中央处理单元)。存储器1302可以包括只读存储器和随机存取存储器,并向处理器1301提供指令和数据。存储器1302的一部分还可以包括非易失性随机存取存储器(NVRAM)。具体的应用中终端设备130的各个组件通过总线系统1304耦合在一起,其中总线系统1304除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统1304。
上述本发明实施例揭示的方法可以应用于处理器1301中,或者由处理器1301实现。处理器1301可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1301中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器910可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1302,处理器1301读取存储器1302中的信息,结合其硬件完成上述方法的步骤。
以上的终端设备130可以参阅图1至图7所示实施例的描述进行理解,本处不做过多赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本发明所提供的一种编码单元划分确定方法及装置、终端设备及可读存储介质的描述,对于本领域的技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。

Claims (15)

1.一种编码单元划分确定方法,其特征在于,所述方法包括:
确定当前编码单元的尺寸是否大于最小编码单元的尺寸;
当所述当前编码单元的尺寸大于最小编码单元的尺寸时,获取所述当前编码单元的梯度;
当所述当前编码单元的梯度小于第一阈值时,获取所述当前编码单元包含的各个子编码单元的梯度;
当所述各个子编码单元的梯度的和大于第二阈值时,根据所述各个子编码单元中,梯度小于或等于第三阈值的子编码单元的第一数量确定是否对所述当前编码单元进行划分,或者,根据所述各个子编码单元的梯度中最大梯度与最小非零梯度的比值确定是否对所述当前编码单元进行划分;所述第一阈值大于所述第二阈值。
2.根据权利要求1所述的方法,其特征在于,所述根据所述各个子编码单元中,梯度小于或等于第三阈值的子编码单元的第一数量确定是否对所述当前编码单元进行划分,包括:
确定所述各个子编码单元中,梯度小于或等于第三阈值的子编码单元的第一数量;
当所述第一数量大于或等于第四阈值时,确定对所述当前编码单元进行划分;
当所述第一数量小于所述第四阈值时,确定不对所述当前编码单元进行划分。
3.根据权利要求1所述的方法,其特征在于,所述根据所述各个子编码单元的梯度中最大梯度与最小非零梯度的比值确定是否对所述当前编码单元进行划分,包括:
确定所述各个子编码单元的梯度中,最大梯度与最小非零梯度的比值是否大于或等于第五阈值;
当所述比值大于或等于所述第五阈值时,确定对所述当前编码单元进行划分;
当所述比值小于所述第五阈值时,确定不对所述当前编码单元进行划分。
4.根据权利要求1所述的方法,其特征在于,所述获取所述当前编码单元的梯度,包括:
计算所述当前编码单元包含的各个最小编码单元的梯度,将所述各个最小编码单元的梯度的和作为所述当前编码单元的梯度。
5.根据权利要求1至4任意一项所述的方法,其特征在于,所述方法还包括:
获取所述当前编码单元相邻块的第二数量,所述相邻块的尺寸与所述当前编码单元的尺寸相同;
根据所述第二数量设置所述第一阈值。
6.根据权利要求5所述的方法,其特征在于,所述根据所述第二数量设置所述第一阈值,包括:
当所述第二数量小于第六阈值时,设置所述第一阈值为预设值;
当所述第二数量等于所述第六阈值,根据所述相邻块所属的编码单元的尺寸及所述当前编码单元的尺寸设置所述第一阈值。
7.根据权利要求6所述的方法,其特征在于,所述根据所述相邻块所属的编码单元的尺寸及所述当前编码单元的尺寸设置所述第一阈值,包括:
确定所述相邻块中,是否存在所属的编码单元的尺寸大于或等于所述当前编码单元的尺寸的目标相邻块;
当存在所述目标相邻块时,基于所述目标相邻块所属的编码单元的梯度设置所述第一阈值;
当不存在所述目标相邻块时,设置所述第一阈值为零。
8.一种编码单元划分确定装置,其特征在于,所述装置包括:
第一确定模块,用于确定当前编码单元的尺寸是否大于最小编码单元的尺寸;
第一获取模块,用于当所述当前编码单元的尺寸大于最小编码单元的尺寸时,获取所述当前编码单元的梯度;
第二获取模块,用于当所述当前编码单元的梯度小于第一阈值时,获取所述当前编码单元包含的各个子编码单元的梯度;
第二确定模块,用于当所述各个子编码单元的梯度的和大于第二阈值时,根据所述各个子编码单元中,梯度小于或等于第三阈值的子编码单元的第一数量确定是否对所述当前编码单元进行划分,或者,根据所述各个子编码单元的梯度中最大梯度与最小非零梯度的比值确定是否对所述当前编码单元进行划分;所述第一阈值大于所述第二阈值。
9.根据权利要求8所述的装置,其特征在于,所述第二确定模块包括:
数量确定模块,用于确定所述各个子编码单元中,梯度小于或等于第三阈值的子编码单元的第一数量;
第三确定模块,用于当所述第一数量大于或等于第四阈值时,确定对所述当前编码单元进行划分;
第四确定模块,用于当所述第一数量小于所述第四阈值时,确定不对所述当前编码单元进行划分。
10.根据权利要求8所述的装置,其特征在于,所述第二确定模块包括:
第五确定模块,用于确定所述各个子编码单元的梯度中,最大梯度与最小非零梯度的比值是否大于或等于第五阈值;
第六确定模块,用于当所述比值大于或等于所述第五阈值时,确定对所述当前编码单元进行划分;
第七确定模块,用于当所述比值小于所述第五阈值时,确定不对所述当前编码单元进行划分。
11.根据权利要求8所述的装置,其特征在于,所述第一获取模块具体用于计算所述当前编码单元包含的各个最小编码单元的梯度,将所述各个最小编码单元的梯度的和作为所述当前编码单元的梯度。
12.根据权利要求8至11任意一项所述的装置,其特征在于,所述装置还包括:
数量获取模块,用于获取所述当前编码单元相邻块的第二数量,所述相邻块的尺寸与所述当前编码单元的尺寸相同;
阈值设置模块,用于根据所述第二数量设置所述第一阈值。
13.根据权利要求12所述的装置,其特征在于,所述阈值设置模块包括:
第一设置模块,用于当所述第二数量小于第六阈值时,设置所述第一阈值为预设值;
第二设置模块,用于当所述第二数量等于所述第六阈值时,根据所述相邻块所属的编码单元的尺寸及所述当前编码单元的尺寸设置所述第一阈值;
其中,所述第二设置模块包括:
第八确定模块,用于确定所述相邻块中,是否存在所属的编码单元的尺寸大于或等于所述当前编码单元的尺寸的目标相邻块;
第三设置模块,用于当存在所述目标相邻块时,基于所述目标相邻块所属的编码单元的梯度设置所述第一阈值;
第四设置模块,用于当不存在所述目标相邻块时,设置所述第一阈值为零。
14.一种终端设备,包括存储器、处理器及存储在所述存储器上且在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现如权利要求1至7任意一项所述的编码单元划分确定方法中的各个步骤。
15.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1至7任意一项所述的编码单元划分确定方法的各个步骤。
CN201711339827.5A 2017-12-14 2017-12-14 编码单元划分确定方法及装置、终端设备及可读存储介质 Active CN109963151B (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN201711339827.5A CN109963151B (zh) 2017-12-14 2017-12-14 编码单元划分确定方法及装置、终端设备及可读存储介质
JP2020526386A JP6953067B2 (ja) 2017-12-14 2018-06-13 符号化単位分割決定方法及び装置、コンピューティングデバイス及び読み取り可能な記憶媒体
PCT/CN2018/090935 WO2019114225A1 (zh) 2017-12-14 2018-06-13 编码单元划分确定方法及装置、计算设备及可读存储介质
EP18887236.0A EP3726837A4 (en) 2017-12-14 2018-06-13 PROCESS AND DEVICE FOR DETERMINING THE DIVISION OF A CODING UNIT, COMPUTER DEVICE AND READABLE STORAGE MEDIA
KR1020197036795A KR102327942B1 (ko) 2017-12-14 2018-06-13 코딩 유닛 분할 결정 방법 및 디바이스, 컴퓨팅 디바이스 및 판독 가능한 저장 매체
US16/390,165 US11190766B2 (en) 2017-12-14 2019-04-22 Method and apparatus for determining division of coding unit, computing device, and readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711339827.5A CN109963151B (zh) 2017-12-14 2017-12-14 编码单元划分确定方法及装置、终端设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN109963151A CN109963151A (zh) 2019-07-02
CN109963151B true CN109963151B (zh) 2020-10-20

Family

ID=66818937

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711339827.5A Active CN109963151B (zh) 2017-12-14 2017-12-14 编码单元划分确定方法及装置、终端设备及可读存储介质

Country Status (6)

Country Link
US (1) US11190766B2 (zh)
EP (1) EP3726837A4 (zh)
JP (1) JP6953067B2 (zh)
KR (1) KR102327942B1 (zh)
CN (1) CN109963151B (zh)
WO (1) WO2019114225A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112702603A (zh) * 2019-10-22 2021-04-23 腾讯科技(深圳)有限公司 视频编码方法、装置、计算机设备和存储介质
CN111669602B (zh) * 2020-06-04 2022-08-16 北京大学深圳研究生院 编码单元的划分方法、装置、编码器及存储介质
CN112584154A (zh) * 2020-12-25 2021-03-30 咪咕文化科技有限公司 视频编码块划分方法、装置、电子设备及存储介质
CN113467949B (zh) * 2021-07-07 2022-06-28 河海大学 边缘计算环境下用于分布式dnn训练的梯度压缩方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103297781A (zh) * 2013-06-07 2013-09-11 安科智慧城市技术(中国)有限公司 一种基于纹理方向的hevc帧内编码方法、装置和系统
CN103517069A (zh) * 2013-09-25 2014-01-15 北京航空航天大学 一种基于纹理分析的hevc帧内预测快速模式选择方法
CN104363450A (zh) * 2014-11-27 2015-02-18 北京奇艺世纪科技有限公司 一种帧内编码模式决策方法及装置
CN104883566A (zh) * 2015-05-27 2015-09-02 复旦大学 一种适用于hevc标准的帧内预测块大小划分的快速算法
CN105120292A (zh) * 2015-09-09 2015-12-02 厦门大学 一种基于图像纹理特征的视频编码帧内预测方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4697557B2 (ja) * 2009-01-07 2011-06-08 ソニー株式会社 符号化装置、符号化方法、記録媒体及び画像処理装置
US9094658B2 (en) * 2010-05-10 2015-07-28 Mediatek Inc. Method and apparatus of adaptive loop filtering
US11178407B2 (en) * 2012-11-19 2021-11-16 Texas Instruments Incorporated Adaptive coding unit (CU) partitioning based on image statistics
KR102169610B1 (ko) 2013-08-21 2020-10-23 삼성전자주식회사 인트라 예측 모드 결정 방법 및 장치
CN105391999B (zh) * 2015-10-30 2018-08-17 北京奇艺世纪科技有限公司 一种编码模式判断方法和装置
CN105491385A (zh) * 2015-12-02 2016-04-13 同济大学 一种hevc帧内编码单元划分的快速决策方法
US20210211699A1 (en) * 2016-02-16 2021-07-08 Samsung Electronics Co., Ltd. Adaptive block partitioning method and apparatus

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103297781A (zh) * 2013-06-07 2013-09-11 安科智慧城市技术(中国)有限公司 一种基于纹理方向的hevc帧内编码方法、装置和系统
CN103517069A (zh) * 2013-09-25 2014-01-15 北京航空航天大学 一种基于纹理分析的hevc帧内预测快速模式选择方法
CN104363450A (zh) * 2014-11-27 2015-02-18 北京奇艺世纪科技有限公司 一种帧内编码模式决策方法及装置
CN104883566A (zh) * 2015-05-27 2015-09-02 复旦大学 一种适用于hevc标准的帧内预测块大小划分的快速算法
CN105120292A (zh) * 2015-09-09 2015-12-02 厦门大学 一种基于图像纹理特征的视频编码帧内预测方法

Also Published As

Publication number Publication date
JP6953067B2 (ja) 2021-10-27
US11190766B2 (en) 2021-11-30
KR102327942B1 (ko) 2021-11-17
US20190253709A1 (en) 2019-08-15
KR20200005653A (ko) 2020-01-15
JP2021502786A (ja) 2021-01-28
EP3726837A1 (en) 2020-10-21
EP3726837A4 (en) 2020-10-28
CN109963151A (zh) 2019-07-02
WO2019114225A1 (zh) 2019-06-20

Similar Documents

Publication Publication Date Title
CN109963151B (zh) 编码单元划分确定方法及装置、终端设备及可读存储介质
CN110290388B (zh) 帧内预测方法、视频编码方法、计算机设备及存储装置
JP6324510B2 (ja) ブロック予測技法での使用のための事前予測フィルタリングのための方法及び装置
CN110036637B (zh) 去噪声化已重构图像的方法及装置
US11838541B2 (en) Matrix weighted intra prediction of video signals
WO2015180428A1 (zh) 帧内预测编码的视频编码方法及视频编码装置
KR102214937B1 (ko) 디블로킹 필터 방법 및 장치
CN109587491A (zh) 一种帧内预测方法、装置及存储介质
KR20230162989A (ko) 멀티미디어 데이터 프로세싱 방법, 장치, 디바이스, 컴퓨터-판독가능 저장 매체, 및 컴퓨터 프로그램 제품
KR20180017159A (ko) 디블로킹 필터링 방법 및 디블로킹 필터
CN110213595B (zh) 基于帧内预测的编码方法、图像处理设备和存储装置
CN110166773B (zh) 帧内预测方法、视频编码方法、视频处理装置、存储介质
CN116114246B (zh) 帧内预测平滑滤波器系统及方法
US20230063062A1 (en) Hardware codec accelerators for high-performance video encoding
CN110166774B (zh) 帧内预测方法、视频编码方法、视频处理装置、存储介质
CN111713105B (zh) 一种视频图像处理方法、设备及存储介质
CN109618152B (zh) 深度划分编码方法、装置和电子设备
JP2022548204A (ja) 変換スキップモードで映像データを符号化するための方法及び装置
CN110249630B (zh) 去块效应滤波装置、方法和存储介质
CN111787334B (zh) 一种用于帧内预测的滤波方法,滤波器及装置
CN113194311B (zh) 图像处理方法、图像处理器及存储介质
WO2024007116A1 (zh) 解码方法、编码方法、解码器以及编码器
WO2023193254A1 (zh) 解码方法、编码方法、解码器以及编码器
WO2023193253A1 (zh) 解码方法、编码方法、解码器以及编码器
WO2020258001A1 (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