CN113382245A - 图像划分方法和装置 - Google Patents
图像划分方法和装置 Download PDFInfo
- Publication number
- CN113382245A CN113382245A CN202110752745.3A CN202110752745A CN113382245A CN 113382245 A CN113382245 A CN 113382245A CN 202110752745 A CN202110752745 A CN 202110752745A CN 113382245 A CN113382245 A CN 113382245A
- Authority
- CN
- China
- Prior art keywords
- ctu
- depth
- unit
- matrix
- basic unit
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 230000008569 process Effects 0.000 claims abstract description 25
- 239000011159 matrix material Substances 0.000 claims description 203
- 238000005192 partition Methods 0.000 claims description 133
- 238000013527 convolutional neural network Methods 0.000 claims description 39
- 238000012549 training Methods 0.000 claims description 32
- 238000011176 pooling Methods 0.000 claims description 28
- 230000002159 abnormal effect Effects 0.000 claims description 23
- 238000000638 solvent extraction Methods 0.000 claims description 20
- 238000005457 optimization Methods 0.000 claims description 18
- 238000005070 sampling Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 description 16
- 230000011218 segmentation Effects 0.000 description 16
- 238000012937 correction Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/96—Tree coding, e.g. quad-tree coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/149—Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- General Physics & Mathematics (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请提供了一种图像划分方法和装置,本申请的方案在获得图像的编码树单元CTU之后,可以将CTU输入到训练好的划分深度识别模型,便可以得到CTU中各个基本单元的划分深度,而基于CTU中各个基本单元的划分深度便可以推导出该CTU中编码单元的划分方式,从而无需通过递归方式来确定CTU对应的编码单元划分方式,也就避免了递归过程中频繁计算率失真代价,从而降低了确定CTU的编码单元划分方式的复杂度和耗时。
Description
技术领域
本申请涉及图像处理技术领域,尤其涉及一种图像划分方法和装置。
背景技术
HEVC(High Efficiency Video Coding,高效视频编码)标准是目前互联网视频数据主流的压缩标准之一。HEVC引入了自适应四叉树的块划分技术,带来了十分可观的编码性能增益,同时也大幅度提升了编码器复杂度。
自适应四叉树划分在编码过程中经常通过率失真优化(Rate–distortionoptimization,RDO)的方式,确定图像的各编码树单元(Coding Tree Unit,CTU)的划分方式。具体的,一帧图像在被划分为互不重叠的多个CTU之后,每个CTU会进一步被划分为需要编码的编码单元(Coding Unit,CU),而将CTU划分为CU是一个递归过程,需要遍历CTU所有可能的CU划分方式,并通过计算率失真代价来确定最优的CU划分方式。
然而,由于基于率失真优化的方式划分CTU需要遍历所有的CU划分方式,而每个CTU对应的CU划分方式较多,如,HEVC标准中采用的CTU尺寸(同时也是最大可能的CU尺寸)为64×64,最小CU尺寸为8×8。因此,一个CTU可能的划分方式高达83522种,且每次计算率失真代价都需要耗费一定时长,从而使得CTU划分过程的复杂度较高,耗时较长。
发明内容
有鉴于此,本申请提供了一种图像划分方法和装置,以降低图像的CTU划分的复杂度,减少了CTU划分编码单元所需的时间。
为实现上述目的,本申请提供了如下技术方案:
一方面,本申请提供了一种图像划分方法,包括:
获得图像中待划分的编码树单元CTU;
将所述CTU输入到划分深度识别模型,得到所述划分深度识别模型预测出的所述CTU的划分深度特征,所述CTU的划分深度特征包括所述CTU中各基本单元对应的划分深度,所述CTU包括K*K个互不重叠的基本单元,且每个基本单元由L*L个像素点构成,其中,K=2n,n为大于等于1的自然数,L为大于等于2的自然数;其中,所述划分深度识别模型为利用标注有实际划分深度特征的多个CTU样本训练卷积神经网络模型得到的,所述CTU样本的实际划分深度特征为基于率失真优化方式确定出的所述CTU样本中各个基本单元对应的划分深度;
基于所述CTU中各基本单元的划分深度,确定所述CTU所需划分出的至少一个编码单元CU,并将所述CTU划分为所述至少一个编码单元CU。
又一方面,本申请还提供了一种图像划分装置,包括:
划分对象获得单元,用于获得图像中待划分的编码树单元CTU;
深度识别单元,用于将所述CTU输入到划分深度识别模型,得到所述划分深度识别模型预测出的所述CTU的划分深度特征,所述CTU的划分深度特征包括所述CTU中各基本单元对应的划分深度,所述CTU包括K*K个互不重叠的基本单元,且每个基本单元由L*L个像素点构成,其中,K=2n,n为大于等于1的自然数,L为大于等于2的自然数;其中,所述划分深度识别模型为利用标注有实际划分深度特征的多个CTU样本训练卷积神经网络模型得到的,所述CTU样本的实际划分深度特征为基于率失真优化方式确定出的所述CTU样本中各个基本单元对应的划分深度;
对象划分单元,用于基于所述CTU中各基本单元的划分深度,确定所述CTU所需划分出的至少一个编码单元CU,并将所述CTU划分为所述至少一个编码单元CU。
由以上内容可知,本申请在获得图像的编码树单元CTU之后,可以将CTU输入到训练好的划分深度识别模型,便可以得到CTU中各个基本单元的划分深度,而基于CTU中各个基本单元的划分深度便可以推导出该CTU中编码单元的划分方式,从而无需通过递归方式来确定CTU对应的编码单元划分方式,也就避免了递归过程中频繁计算率失真代价,从而降低了确定CTU的编码单元划分方式的复杂度,也减少了将CTU划分为编码单元所需的时间。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1示出了本申请实施例提供的图像划分方法的一种流程示意图;
图2示出了本申请实施例提供的划分深度识别模型的一种训练流程示意图;
图3示出了本申请中修正划分识别模型预测出的划分深度特征的一种流程示意图;
图4示出了本申请中修正划分识别模型预测出的划分深度特征的又一种流程示意图;
图5示出了CTU划分出的CU的一种分布示意图;
图6示出了图4划分出的各CU中各个基本单元对应的划分深度的分布示意图;
图7示出了本申请实施例提供的图像划分方法的又一种流程示意图;
图8示出了本申请实施例提供的图像划分装置的一种组成结构示意图。
具体实施方式
本申请的方案适用于基于HEVC标准对图像编码过程中,确定图像划分出的各编码树单元(Coding Tree Unit,CTU)所能划分出的编码单元(Coding Unit,CU)。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1所示,其示出了本申请实施例提供的图像划分方法一个实施例的流程示意图,本实施例的方法可以应用于任意计算机设备。本实施例的方法可以包括:
S101,获得图像中待划分的编码树单元CTU。
可以理解的是,在基于HEVC标准对图像编码之前,需要先将图像划分为互不重叠的多个CTU,而本申请对于如何将图像划分为CTU不加限制。
S102,将CTU输入到划分深度识别模型,得到划分深度识别模型预测出的CTU的划分深度特征。
其中,CTU的划分深度特征包括CTU中各基本单元对应的划分深度。CTU包括K*K个互不重叠的基本单元,且每个基本单元由L*L个像素点构成,其中,K=2n,n为大于等于1的自然数,L为大于等于2的自然数。
此处,CTU所包含的K*K个基本单元是指紧邻排列的K行以及K列中的K*K个基本单元,而每个基本单元是指紧邻排列的L行以及L列的像素点构成的图像块。
可以理解的是,根据HEVC标准,图像块的划分采用四叉树划分方式,即一个尺寸为2N×2N的图像块通过一次划分获得4个尺寸为N×N的块。在HEVC标准中可以定义CTU的大小,也可以定义所需划分出的编码单元CU的最大尺寸以及最小尺寸大小。
CTU所能划分出的不同尺寸大小的CU对应了四叉树划分的不同层次深度,CU对应的层次深度也称为划分深度,是指按照四叉树划分方式将CTU划分到该CU所对应的深度(或者说划分次数)。
在CTU包括K*K个互不重叠的基本单元,且K=2n情况下,由于每个基本单元为CTU所能划分出的最小CU,因此,CTU划分出的CU所可能的划分深度有n+1种,即,划分深度可以包括:0到n这n+1种划分深度。
在本申请中,CTU中每个基本单元的大小为CTU所能划分出的编码单元的最小尺寸,因此,每个基本单元只能唯一的属于一个CU,而不可能同时属于两个CU。在此基础上,可以将该基本单元所属的CU的划分深度作为该基本单元的划分深度。
为了便于理解,以CTU为64*64个像素点的图像块为例,并结合一种可能情况说明:
在HEVC标准中如果每个CTU为64*64个像素点,那么,一个CTU所能划分出的编码单元CU可以分为四种:具有64*64个像素点(也称为尺寸大小为64*64,或者大小为64*64)的编码单元、具有32*32个像素点的编码单元、具有16*16个像素点的编码单元以及具有8*8个像素点的编码单元。
相应的,CTU所能划分出这四种CU尺寸依次对应的深度分别为0、1、2、3。即,对于大小为64*64的CU,由于CTU本身就是64*64个像素点,因此,在不需要对CTU划分的情况下所得到的CU就是64*64的CU;对于大小为32*32的CU,则仅仅需要对CTU进行一次划分便可以得到4个32*32的CU,因此,32*32的CU对应的划分深度(或者说层级深度)为1;类似的,16*16的CU对应的划分深度为2,而8*8的CU对应的划分深度为3。
可以理解的是,对于一个大小为64*64的CTU,其可能划分出CU的最小尺寸为8*8。相应的,本申请可以采用具有8*8个像素点(尺寸大小为8*8)的图像块为基本单元,CTU的每个基本单元只能唯一的属于一个CU,在此基础上,可以将该基本单元所属的CU的划分深度作为该基本单元的划分深度。如,对于CTU划分出的大小为32*32的CU而言,该CU中每个基本单元的划分深度就是1。
当然,以上是以CTU为64*64个像素点的图像块,且CTU中每个基本单元为8*8个像素点的图像块为例说明,对于CTU的尺寸大小为其他情况时,CTU所能划分出的CU的尺寸种类以及该基本单元的大小均会发生变化,本申请对此不加限制。
在以上基础上,一个CTU的CU划分方式可以通过其所有基本单元的划分深度来表示,由此可知,在利用深度识别模型确定出CTU中各个基本单元的划分深度之后,可以反推出该CTU划分CU的划分方式。
在一种可选方式中,由于CTU包括K*K个互不重叠的基本单元,因此,可以采用K*K的深度特征矩阵来表示CTU中各基本单元的划分单元,其中,该深度特征矩阵中每个元素的取值代表该元素表示的一个基本单元的划分深度,而该矩阵就是该CTU的深度划分特征。
例如,如果CTU的大小为64*64,而基本单元的大小为8*8,可以采用一个8*8的矩阵来表示该CTU中各基本单元的划分深度。
可以理解的是,CTU实际上是图像划分出的一个图像块,因此,CTU可以通过其各个像素点的像素来表示。因此,将CTU输入到划分深度识别模型本质上是将CTU的像素矩阵输入到该划分深度识别模型,该CTU的像素矩阵包括该CTU中各像素点的像素值。
在本申请中,该划分深度识别模型为利用标注有实际划分深度特征的多个CTU样本训练卷积神经网络模型得到的。
其中,CTU样本的实际划分深度特征为基于率失真优化方式确定出的CTU样本中各个基本单元对应的划分深度。如,针对每个CTU样本,在基于率失真优化方式确定出CTU样本所能划分出的CU之后,可以确定出CTU样本划分出的每个CU的划分深度,由于CTU样本中每个基本单元的划分深度为该基本单元所属的CU对应的划分深度,基于此,可以得到CTU样本中各个基本单元的划分深度,从而可以得到该CTU样本的实际划分深度特征。
其中,为了与本实施例中待划分的CTU进行区分,本申请将训练划分识别模型所采用的CTU称为CTU样本。可以理解的是,利用标注有实际划分深度特征的多个CTU样本训练卷积神经网络模型的具体训练方式可以有多种可能,本申请对此不加限制。
可以理解的是,由于训练划分深度识别模型所采用的CTU样本的实际划分深度特征是基于率失真优化方式确定出的该CTU样本中各个基本单元的划分深度(也是基本单元所归属的CU的划分深度),因此,基于各个标注有实际划分深度特征的CTU样本训练划分深度识别模型,可以使得训练出的深度识别模型预测出的CTU的划分深度特征本质上反映的就是采用率失真优化方式对该CTU进行CU划分的划分深度特征。
基于此可知,通过不断训练划分深度识别模型,可以使得最终训练出的划分深度识别模型预测出的CTU中各基本单元的划分深度,能够尽可能接近采用率失真优化方式确定出的CTU划分方式中各个基本单元的划分深度。同时,由于CTU中各个基本单元的划分深度本质上反映出的是CTU划分出的各CU的划分深度,也就是CTU划分CU的划分方式,因此,基于训练得到的深度识别模型所预测出的CTU的划分深度特征可以准确反映出采用率失真优化方式将CTU划分为CU的划分方式。
S103,基于CTU中各基本单元的划分深度,确定CTU所需划分出的至少一个编码单元CU,并将该CTU划分为该至少一个编码单元CU。
其中,CTU划分出的每个编码单元可以包括至少一个基本单元,编码单元包含的基本单元的数量与该编码单元对应的划分深度有关,具体如前面所述,在此不再赘述。
由前面描述可知,CTU中基本单元所对应的划分深度本质上就是该基本单元所归属的CU对应的划分深度。同时,由于每个CU是一个规则的图像块,且每个CU包含的基本单元应该是位于同一处且紧邻的。在此基础上,本申请基于CTU中各基本单元的划分深度推导出CTU中哪些基本单元属于同一个CU,然后按照各个CU的分布进行划分,得到该CTU划分出的至少一个CU。
由以上内容可知,本申请在获得图像的编码树单元CTU之后,可以将CTU输入到训练好的划分深度识别模型,便可以得到CTU中各个基本单元的划分深度,而基于CTU中各个基本单元的划分深度便可以推导出该CTU中编码单元的划分方式,从而无需通过递归方式来来确定CTU对应的编码单元划分方式,也就避免了递归过程中频繁计算率失真代价,从而降低了确定CTU的编码单元划分方式的复杂度,也加速了确定CTU编码单元划分的过程,减少了CTU划分编码单元所需的时间。
为了便于理解本申请中训练得到该划分深度识别模型的过程,下面以一种训练划分深度识别模型的方式为例说明。如图2所示,其示出了本申请中训练划分深度识别模型的一种流程示意图,本实施例可以包括:
S201,获得至少一帧图像样本。
如,可以获得一组图像或者视频序列,从该组图像或者视频序列中获得多帧图像样本。
S202,基于高效视频编码标准对图像样本进行编码,并记录编码过程中图像样本所划分出的CTU样本,以及采用率失真优化方式确定出的CTU样本所划分出的至少一个编码单元。
可以理解的是,对于每帧图像样本可以基于HEVC进行编码,由于基于HEVC编码过程中涉及到将图像样本划分为CTU,然后针对每个CTU,采用率失真优化方式对CTU进行划分,因此,为了能够得到用于训练模型的CTU以及CTU对应的CU划分方式,本申请可以记录编码过程中每个图像样本划分出的各个CTU以及每个CTU划分出的至少一个CU。如,可以采用通用的HEVC参考软件HM来对图像样本进行编码,并记录编码过程中该图像样本划分出的CTU以及每个CTU划分出的至少一个CU。
为了便于区分,将用于训练的CTU称为CTU样本,并可以将CTU样本划分出的CU称为CU样本。
需要说明的是,编码过程中该图像所划分出的CTU样本是指由对图像样本划分直接得到的CTU,而未经其他处理。
S203,根据CTU样本所划分出的至少一个编码单元各自对应的划分深度,确定CTU样本中各基本单元对应的划分深度,得到CTU样本的实际划分深度特征。
可以理解的是,在CTU样本所划分CU确定的情况下,该CU对应的划分深度(层次深度)也就是固定的,而CU的划分深度就是该CU内包含的各基本单元的划分深度。如,以CTU划分出的一个大小为16*16的CU,则该CU的划分深度为2,而该CU内可以包括四个基本单元,而这四个基本单元的划分深度也为2。
在确定出CTU样本中各个基本单元的划分深度之后,实际上也就确定出了采用率失真优化方式划分该CTU样本的情况,也就得到了该CTU样本对应的表征CU划分方式的划分深度特征。为了与后续通过模型预测出的划分深度特征区分,将该划分深度特征称为实际划分深度特征。
S204,将CTU样本输入到待训练的卷积神经网络模型,得到卷积神经网络模型输出的CTU样本对应的预测划分深度特征。
其中,该预测划分深度特征包括CTU样本中各基本单元的划分深度。
可以理解的是,此处将CTU样本输入到卷积神经网络模型上可以是将该CTU样本的像素值(如,包含CTU样本中各个像素点的像素值的像素矩阵)输入到该卷积神经网络模型。
其中,该卷积神经网络模型可以有多种可能。在一种可选方式中,本申请中该卷积神经网络模型至少可以包括卷积层、池化层和多尺度池化层。其中,多尺度池化层通过对卷积神经网络中间层输出特征图进行不同核尺寸的池化来提取不同尺度的特征信息,以适应网络对CTU样本不同尺寸划分的预测。
S205,基于CTU样本对应的实际划分深度特征和预测划分深度特征,判断是否达到卷积神经网络模型的训练要求,如果否,则调整卷积神经网络模型的内部参数,并返回步骤S204;如果是,则结束训练,将训练出的卷积神经网络确定为划分深度识别模型。
其中,达到卷积神经网络模型的训练要求就是达到训练该卷积神经网络模型的训练要求,即卷积神经网络模型是否达到训练要求。
如,达到卷积神经网络模型的训练要求可以为各CTU样本的预测划分深度特征与实际划分深度特征之间的差异最小且达到收敛。
又如,达到卷积神经网络模型的训练要求可以是按照损失函数计算出的损失函数值达到收敛。如,在本申请中训练该卷积神经网络模型所依据的损失函数可以为如下公式:
其中,L1MS为损失函数值。
L1(a,b)=∑s|as-bs|,a为MaxPoolk=s(y)时,b为MaxPoolk=s(y");a为MinPoolk=s(y)时,b为MinPoolk=s(y"))。
MaxPoolk=s表示卷积神经网络模型中核尺寸为s的最大池化,MinPoolk=s表示卷积神经网络模型中核尺寸为s的最小池化。
y为预测划分深度特征,y″为实际划分深度特征。
可以理解的是,如上公式仅仅是本实施例中损失函数的一种可能情况,对于损失函数为其他情况也适用于本实施例,对此不加限制。
需要说明的是,以上是以训练划分深度识别模型的一种方式,在实际应用中训练划分深度识别模型还可以有其他可能,本申请对此不加限制。
可以理解的是,训练出划分深度识别模型之后,将需要划分的CTU输入到该划分深度识别模型,便可以预测出该CTU中各个基本单元的划分深度。一般情况下,利用划分深度识别模型预测出的该CTU各个基本单元的划分深度的分布是符合利用四叉树划分规范划分CTU所对应的各基本单元的分布规则。
但是,某些情况下,该划分深度识别模型预测出的划分深度特征也可能会出现某些基本单元的划分深度存在错误。如,假设CTU整体作为一个CU的情况下,CU的划分深度为0,在该种情况下,预测出的划分深度特征中CTU中各个基本单元的划分深度应该都是0,如果只有一个或者小部分基本单元的划分深度不为0,则说明这一个或者小部分基本单元的划分深度是识别错误的,其也应该为0。
基于此,为了减少划分识别模型预测偏差而影响到确定CTU的CU划分方式,本申请在得到划分深度识别模型预测出的CTU的划分深度特征之后,还可以按照设定的符合四叉树划分规范的深度分布规律,确定该CTU中划分深度存在异常的异常基本单元,并对异常基本单元的划分深度进行修正。在此基础上,后续可以按照修正后的各基本单元的划分深度,推导CTU所需划分出的CU。
其中,符合四叉树划分规范的深度分布规律可以规定哪些属于异常情况的基本单元的划分深度,具体可以根据需要设定。
下面以一种情况为例说明,在CTU包括K*K个互不重叠的基本单元,且每个基本单元由L*L个像素点构成,其中,K=2n,n为大于等于1的自然数,L为大于等于2的自然数,则K*K的矩阵来表示CTU中各个基本单元的划分深度,该矩阵中每个元素的取值对应一个基本单元的划分深度,因此,CTU的划分深度特征可以为K*K的深度特征矩阵。
在此基础上,如图3所示,其示出了本申请中修正划分识别模型预测出的划分深度特征的一种流程示意图,本实施例可以包括:
其中,将K*K维度的深度特征矩阵进行最大池化处理,目的为了能够更为方便的进行修正处理。其中,为了便于区分,将最大池化处理后的深度特征矩阵称为池化后深度矩阵。
例如,对于8*8维度的深度特征矩阵而言,通过最大池化处理,可以转换为4*4维度的矩阵。
S302,设定深度迭代变量j、迭代矩阵集合和待处理矩阵集合,将j的初始取值设为0,将待处理矩阵集合置为空集,将该池化后深度矩阵作为该迭代矩阵集合中初始的矩阵并添加到该迭代矩阵集合,并执行步骤S303。
其中,该迭代矩阵集合为定义的一个集合,其用于存储迭代过程中确定出的需要不断划分处理的各个矩阵。该迭代矩阵集合中初始值为该池化后深度矩阵。
其中,该待处理矩阵集合为定义的一个集合,其用于存储迭代过程中划分得到的矩阵,用于后续的判断修正处理。该待处理矩阵集合的初始值为空集。
需要说明的是,以下涉及到的所有矩阵的处理,本质上都是对池化后深度矩阵的处理,因为通过不断迭代所涉及到的矩阵划分,都是对池化后深度矩阵进行不同层级划分所得到的矩阵,而对划分的矩阵进行的处理实际上就是对该矩阵中属于池化后深度矩阵的相应部分进行处理。
S303,检测该池化后深度矩阵中取值为0的元素个数是否超过第一个设定阈值,如果是,将该池化后深度矩阵中各元素的取值均置为0,并执行步骤S310;如果否,将该池化后深度矩阵中取值为0的元素的取值修改为1,将j的取值加一,并执行S304。
该步骤S303本质上是在j取值为0的情况下所执行的相关处理,在j取值为0的情况下,在该种情况下,检测池化后深度矩阵中元素的取值所依据的设定阈值为第j+1个阈值,即第一个阈值,后续对于j的取值不同,设定阈值也会有所不同。
S304,检测j的取值是否大于n-2,如果是,则执行步骤S310;如果否,则执行步骤S305。
例如,假设迭代矩阵集合中包含的矩阵为矩阵M的情况下,将矩阵M划分为尺寸大小为的矩阵包括矩阵A、矩阵B、矩阵C和矩阵D,则需要将矩阵A、矩阵B、矩阵C和矩阵D存储到该待处理矩阵集合中,同时将迭代矩阵集合中的矩阵清空。
S306,依次从待处理矩阵集合取出各矩阵,并针对取出的每个矩阵,判断该矩阵中取值为j的元素个数是否超过第j+1个设定阈值,如果是,则执行步骤S307;如果否,则执行S308;
S307,将该矩阵中各元素的取值均置为j,如待处理矩阵集合中存在尚未取出的矩阵,则返回步骤S306;否则,执行步骤S309。
S308,将该矩阵中取值为j的元素的取值修改为j+1,并将元素取值修改后的矩阵添加至该迭代矩阵集合中,如待处理矩阵集合中存在尚未取出的矩阵,则返回步骤S306;否则,执行步骤S309。
在本申请中迭代矩阵集合中是否存在矩阵是判断迭代处理是否结束的依据。同时,本申请引入了待处理矩阵集合,待处理矩阵集合中的矩阵是需要依次执行该步骤S306,直至该待处理矩阵集合中每个矩阵都被取出,使得待处理矩阵集合中不存在尚未被取出及处理的矩阵为止,然后就可以执行步骤S309。
步骤S309,如待处理矩阵集合中不存在尚未取出的矩阵时,判断该迭代矩阵集合是否为空集,如果是,则执行步骤S310;如果否,将j的取值加一,返回S304。
如果一次迭代中待处理矩阵中不存在尚未被取出处理的矩阵时,则说明本地迭代所划分的各个矩阵进行完成了异常相关的修正,但是由于本地迭代中有些矩阵仍需要进一步划分才可以确定出是否存在异常,而需要进一步迭代处理的矩阵则会放到该迭代处理集合中,因此,需要判断写迭代处理集合中是否仍存在尚未被处理的矩阵。如果该迭代处理集合不是空集,则说明池化深度矩阵各个子部分尚未完成异常深度的检测,仍需要返回步骤S304,直至该迭代处理集合为空集,则说明对池化深度矩阵完成全部的异常深度检测与修正。
步骤S310,通过最近邻插值算法对池化后深度矩阵进行采样,得到修正后的K*K的深度特征矩阵。
通过最邻近插值算法将池化后深度矩阵恢复为K*K的深度特征矩阵,为了便于区分,将该步骤生成的深度特征矩阵称为修正后的深度特征矩阵,该修正后的深度特征矩阵符合四叉树划分规范的深度分布规律。
通过对深度特征矩阵中存在划分深度异常的基本单元的划分深度进行修正,可以使得后续能更准确推导出CTU的CU划分方式。
为了便于理解图3,下面以CTU为64*64的图像块,而每个基本单元为8*8的图像块为例这一情况对修正划分识别模型预测出的划分深度特征的具体实现进行说明。
如图4所示,其示出了本申请修正划分识别模型预测出的划分深度特征在一种具体应用中的流程示意图,本流程包括:
S401,将CTU对应的8*8的深度特征矩阵进行最大池化处理,得到4*4的池化后深度矩阵。
将8*8维度的深度特征矩阵转换为4*4维度的矩阵是为了能够更为方便的进行修正处理。其中,为了便于区分,将最大池化处理后的深度特征矩阵称为池化后深度矩阵。
S402,如池化后深度矩阵中取值为0的元素个数超过第一设定阈值,将池化后深度矩阵中各元素的取值均置为0,并执行步骤S407。
可以理解的是,如果池化后深度矩阵中取值为0的个数超过第一设定阈值,则说明该池化后深度矩阵中大部分元素的取值均为0,而大部分元素为0,则说明CTU中大部分基本单元的划分深度为0,而只有当CTU不划分,即CTU作为一个64*64大小的CU的情况下,该CTU中基本单元的划分深度才可能是0。而且,CTU整体作为一个64*64的CU时,CTU中所有基本单元的划分深度均应该为0,在此基础上,可以判断那些少部分划分深度不为0的元素属于由于划分深度识别模型识别错误而导致的异常数值,因此,需要将池化后深度矩阵中各元素的取值均置为0。
S403,如池化后深度矩阵中取值为0的元素个数不超过第一设定阈值,将池化后深度矩阵中取值为0的元素的取值修改为1,并执行步骤S304。
由步骤S402的介绍可知,如果如池化后深度矩阵中取值为0的元素个数为少数,则说明是由于划分深度识别模型识别错误,而导致少部分基本单元的划分深度被错误识别为0。在此基础上,考虑到划分深度识别模型大部分情况会将基本单元的划分深度错误识别为划分深度的取值邻近的其他取值,同时,由于后续仍需要对池化后深度矩阵中取值为1的各个元素进行修正,因此,此处将池化后深度矩阵中取值为0的元素均置为1。
S404,将池化后深度矩阵划分为4个2*2的子矩阵,针对每个子矩阵,检测该子矩阵中取值为1的元素个数是否超过第二设定阈值,如果是,则执行步骤S405;如果否,则执行步骤S406。
S405,如子矩阵中取值为1的元素个数超过第二设定阈值,将子矩阵中各元素的取值均置为1,并执行步骤S407。
可以理解的是,2*2的子矩阵实际上对应了最大池化前的4*4的矩阵,而最大池化前4*4的矩阵实际上表示了4*4个基本单元,也就是32*32个像素点。而根据CU的划分深度可知,在CU的划分深度为1时,该CU是一个32*32大小的图像块,在此基础上,该CU中包含的4*4个基本单元的划分深度也全部为1。基于此,可以通过判断2*2的子矩阵的取值为1的元素的个数是否超过第二设定阈值,来判断该子矩阵对应的4*4个基本单元是否属于32*32的CU。
相应的,如果该2*2的子矩阵的取值为1的元素的个数超过第二设定阈值,则说明该2*2的子矩阵中只有少数元素的取值被误识别为非1,而该子矩阵对应的CTU中4*4个基本单元的划分深度应该全为1。
如图5示出了CTU划分出的CU的分布示意图,图6为图5划分出的各个CU各个基本单元对应的划分深度的分布图。
对比图5和图6可知,在图6每个数值对应一个基本单元的划分深度,且数值所在位置表示该基本单元在CTU以及CU中的位置。在图6右下角的4*4个基本单元的划分深度均为1,该4*4个基本单元实际上就表示了一个大小为32*32的CU。
可以理解的是,对于一个大小为32*32的CU而言,该CU内各个基本单元的划分深度应该全为1而不能为其他取值,如果只有少部分基本单元不为1,则说明该少部分基本单元的划分深度的取值被标错,需要置为1。
S406,如子矩阵中取值为1的元素个数不超过第二设定阈值,将子矩阵中取值为1的元素的取值修改为2,并执行步骤S407。
类似的,如果子矩阵中取值为1的元素个数超过了第二设定阈值,则说明,子矩阵中取值为1的少部分元素属于取值异常的元素。在此基础上,考虑到该异常的元素的取值一般是将临近的数值误识别为1,而且,由于前面已经执行了步骤S403,则该元素的取值不可能是0,因此,需要将该取值为1的元素的取值修改为2。
需要说明的是,在步骤S405或者S406之后,如果仍存在尚未被处理的子矩阵,则返回步骤S404处理,直至池化后深度矩阵中划分出的每个子矩阵均被处理为止,执行步骤S407。
S407,通过最近邻插值算法对修正处理后的该池化后深度矩阵进行采样,得到修正后的8*8的深度特征矩阵。
通过最邻近插值算法将池化后深度矩阵恢复为8*8的深度特征矩阵。
可以理解的是,在本申请以上任意一个实施例中,基于CTU中各基本单元的划分深度,确定出CTU所需划分出的至少一个编码单元的方式可以有多种可能。
在一种可能的实现方式中,可以依据CTU中各基本单元的划分深度以及不同划分深度的编码单元CU所需包含的基本单元的数量,并按照CTU中各基本单元从左到右的第一顺序以及从上到下的第二顺序,依次确定出CTU中各基本单元所属的CU,得到CTU所需划分出的至少一个编码单元。
其中,基本单元的划分深度表示该基本单元所属的CU的划分深度,而CU的划分深度可以表示出该CU的大小。例如,以CTU是尺寸大小为64*64的像素块为例,CU的划分深度为0时,则CU为大小为64*64的图像块;如果CU的划分深度为2,则CU为大小为16*16的图像块,而基于CU的大小以及基本单元的大小,可以确定出CU所能包含的基本单元的数量。
可以理解的是,结合四叉树划分规则,可以明确出不同CU内各基本单元所需满足的规则。在此基础上,结合基本单元的划分深度以及不同划分深度的CU所需包含的基本单元的数量,结合四叉树划分规则对CTU的划分方式,可以从CTU的左上角的基本单元开始,按照先从左到右,再从上到下的顺序,逐次判断该基本单元需要与哪些基本单元组成一个CU。
如图5和6所示,在确定CTU所需划分的CU时,需要从左上角第一个基本单元开始,沿着从左到右的第一顺序以及从上到下的第二顺序,逐次确定出可能的CU。
下面结合确定CTU所需划分的CU的一种具体实现对本申请的方案进行说明。
如图7所示,其示出了本申请的图像划分方法的又一种流程示意图,本实施例的方法可以包括:
S701,获得图像中待划分的编码树单元CTU。
S702,将CTU的像素矩阵输入到划分深度识别模型,得到划分深度识别模型预测出的该CTU的划分深度特征。
CTU的像素矩阵包括该CTU中各像素的像素值。
其中,该划分深度特征可以为8*8的划分深度矩阵,矩阵中每个元素对应CTU中一个基本单元,且元素的取值表示该元素对应的基本单元的划分深度。
S703,按照设定的符合四叉树划分规范的深度分布规律,确定CTU中划分深度存在异常的异常基本单元,并对异常基本单元的划分深度进行修正。
该步骤S703可以参见前面图3、图4及相关内容的介绍,对此不再赘述。
当然,在实施例中该步骤S703为可选步骤,具体可以根据需要执行或者不执行。
S704,按照CTU中各基本单元从左到右的第一顺序以及从上到下的第二顺序,确定出CTU中尚未确定所归属的编码单元的目标基本单元。
可以理解的是,按照四叉树从上到下的划分规则,本申请同样会按照先从左到右的第一顺序,再从上到下的第二顺序确定出待处理的基本单元,然后再按照该规则,从其他未确定所归属的编码单元的基本单元(或者说未划分至CU内的基本单元)中确定待处理的基本单元。本实施例中,为了便于区分,将待处理的基本单元称为目标基本单元。
如,参见图6所示,本申请首先会将左上角第一个划分深度为“2”的基本单元作为目标基本单元。
S705,如目标基本单元的划分深度为0,则将CTU中所有基本单元确定为归属于一个编码单元,得到一个具有T1*T1个像素点的第一编码单元。
其中,T1=K*L。
可以理解的是,由于目标基本单元的划分深度为0,则说明该目标基本单元所归属的CU的划分深度也为0,而CU的划分深度为0,则说明无需划分CTU,该CTU整体为一个CU,因此,在该种情况下,将CTU整体确定为一个大小为一个CU。相应的,该CTU中所有基本单元的划分深度也必然都为0,且所有基本单元必然都属于该CU,从而结束该CTU的划分。
例如,如果CTU为64*64*个像素点的图像块,则如果目标基本单元的划分深度为0,则说明这个CTU未经划分,该CTU为一个64*64的CU。
S706,如该目标基本单元的划分深度为i,以目标基本单元为基准,并按照所述第一顺序和第二顺序,确定出包含该目标基本单元在内的个基本单元,将该个基本单元确定为一个具有T2*T2个像素点的第二编码单元,并从该CTU中划分出该第二编码单元。
为了便于理解,仍以CTU为64*64个像素点的CTU,并假设每个基本单元为8*8个像素点构成,CTU可以包括8*8个基本单元为例说明:
如该目标基本单元的划分深度为1,以该目标基本单元为基准,并按照第一顺序和第二顺序,确定出包含目标基本单元在内的4*4个基本单元,将该4*4个基本单元确定为一个具有32*32个像素点的编码单元,并从该CTU中划分出该编码单元,并执行后续步骤S708。
相应的,如该目标基本单元的划分深度为2,以目标基本单元为基准,并按照第一顺序和第二顺序,确定出包含目标基本单元在内的2*2个基本单元,将该2*2个基本单元确定为一个具有16*16个像素点的编码单元,并从CTU中划分出该编码单元,执行步骤S708。
可以理解的是,如果目标基本单元的划分深度为1,则该目标基本单元所归属的CU的划分深度为1,则该CU为一个大小为32*32的CU。而大小为32*32的CU必然包括4*4个基本单元,而且,这4*4个基本单元包含该目标基本单元,并且是按照第一顺序和第二顺序,以该目标基本单元为基准确定出的相互紧邻的4*4个基本单元。
例如,假设目标基本单元为图6中最后一个CU中左上角的基本单元,该基本单元的划分深度为1,则需要基于该基本单元向右并向下确定出包含该基本单元在内的4*4个基本单元,从而可以确定出该基本单元属于图6中右下角划分深度均为1的4*4个基本单元对应的CU。
例如,对于目标基本单元的划分深度为2的情况,可以假设目标基本单元为图6中左上角第一个基本单元,则根据该基本单元的划分深度为2,可以确定该基本单元属于划分深度为2的CU,而划分深度为2的CU实际上是大小为16*16的CU,该CU包含2*2个基本单元。由此可知,可以基于该基本单元为基准,确定出一个2*2的基本单元,该2*2的基本单元包括该目标基本单元,该目标基本单元右侧紧邻的基本单元,该目标基本单元下方的基本单元,以及该目标基本单元下方的基本单元右侧紧邻的基本单元,从而可以得到图6中左上角的第一个CU(对应图5中左上角第一个CU)。
S707,如该目标基本单元的划分深度为n,将该目标基本单元确定为一个编码单元,得到具有L*L个像素点的第三编码单元,并从该CTU中划分出该第三编码单元。
仍以CTU为64*64个像素点的CTU,并假设每个基本单元为8*8个像素点构成,CTU可以包括8*8个基本单元为例说明:如该目标基本单元的划分深度为3,将该目标基本单元确定为一个具有8*8个像素点的编码单元,并从该CTU中划分出该编码单元,执行步骤S708。由于目标基本单元的划分深度为3,则说明该目标基本单元所归属的CU为一个大小为8*8的CU,因此,该目标基本单元本身作为一个CU。
需要说明的是,以上第一编码单元、第二编码单元以及第三编码单元仅仅是为了区分目标基本单元的划分深度不同情况下所划分出的编码单元,而不具有其他限制性含义。
S708,检测该CTU中仍存在尚未确定所归属的编码单元的基本单元,如果是,返回执行步骤S704的操作,直至CTU中不存在尚未确定所归属的编码单元的基本单元;如果否,结束CTU的划分,得到CTU划分出的至少一个编码单元CU。
例如,仍以图6例子中左上角第一个划分深度为2的基本单元为例说明,在确定出该基本单元所属的CU为图6中左上角第一个CU之后,由于CTU中仍存在未确定出所归属CU的其他基本单元,则需要按照先按照从左到右的第一顺序,再按照从上到下的第二顺序,确定下一个作为目标基本单元的基本单元为图6中第一行第三列且划分深度为2的基本单元。
对应本申请的一种图像划分方法,本申请还提供了一种图像划分装置。
如图8所示,其示出了本申请一种图像划分装置的一种组成结构示意图,本实施例的装置可以包括:
划分对象获得单元801,用于获得图像中待划分的编码树单元CTU;
深度识别单元802,用于将所述CTU输入到划分深度识别模型,得到所述划分深度识别模型预测出的所述CTU的划分深度特征,所述CTU的划分深度特征包括所述CTU中各基本单元对应的划分深度,所述CTU包括K*K个互不重叠的基本单元,且每个基本单元由L*L个像素点构成,其中,K=2n,n为大于等于1的自然数,L为大于等于2的自然数;其中,所述划分深度识别模型为利用标注有实际划分深度特征的多个CTU样本训练卷积神经网络模型得到的,所述CTU样本的实际划分深度特征为基于率失真优化方式确定出的所述CTU样本中各个基本单元对应的划分深度;
对象划分单元803,用于基于所述CTU中各基本单元的划分深度,确定所述CTU所需划分出的至少一个编码单元CU,并将所述CTU划分为所述至少一个编码单元CU。
在一种可能的实现方式中,所述对象划分单元,包括:
对象划分子单元,用于依据CTU中各所述基本单元的划分深度以及不同划分深度的编码单元CU所需包含的基本单元的数量,并按照所述CTU中各基本单元从左到右的第一顺序以及从上到下的第二顺序,依次确定出CTU中各基本单元所属的CU,并将CTU划分为确定出的至少一个编码单元。
在一种可选方式中,对象划分子单元,包括:
对象确定子单元,用于按照所述CTU中各基本单元从左到右的第一顺序以及从上到下的第二顺序,确定出所述CTU中尚未确定所归属的编码单元的目标基本单元;
第一划分子单元,用于如所述目标基本单元的划分深度为0,则将所述CTU中所有基本单元确定为归属于一个编码单元,得到一个具有T1*T1个像素点的第一编码单元,T1=K*L;
第二划分子单元,用于如所述目标基本单元的划分深度为i,以所述目标基本单元为基准,并按照所述第一顺序和第二顺序,确定出包含所述目标基本单元在内的个基本单元,将所述个基本单元确定为一个具有T2*T2个像素点的第二编码单元,并从所述CTU中划分出所述第二编码单元,其中,i为从1到n-1的自然数;
第三划分子单元,用于如所述目标基本单元的划分深度为n,将所述目标基本单元确定为一个编码单元,得到具有L*L个像素点的第三编码单元,并从所述CTU中划分出所述第三编码单元;
划分控制子单元,用于如所述CTU中仍存在尚未确定所归属的编码单元的基本单元,则返回执行所述对象确定子单元操作,直至所述CTU中不存在尚未确定所归属的编码单元的基本单元,得到所述CTU划分出的至少一个编码单元CU。
在又一种可能的实现方式中,该装置还包括:
深度修正单元,用于对象划分单元确定所述CTU所需划分出的至少一个编码单元CU之前,按照设定的符合四叉树划分规范的深度分布规律,确定所述CTU中划分深度存在异常的异常基本单元,并对所述异常基本单元的划分深度进行修正。
在一种可选方式中,该CTU的划分深度特征为K*K的深度特征矩阵;
相应的,深度修正单元具体用于如下操作:
步骤B,设定深度迭代变量j、迭代矩阵集合和待处理矩阵集合,将j的初始取值设为0,将待处理矩阵集合置为空集,将所述池化后深度矩阵作为所述迭代矩阵集合中初始的矩阵并添加到所述迭代矩阵集合,并执行步骤C;
步骤C,检测所述池化后深度矩阵中取值为0的元素个数是否超过第一个设定阈值,如果是,将所述池化后深度矩阵中各元素的取值均置为0,并执行步骤H;如果否,将所述池化后深度矩阵中取值为0的元素的取值修改为1,将j的取值加一,并执行步骤D;
步骤D,检测j的取值是否大于n-2,如果是,则执行步骤H;如果否,则执行步骤E;
步骤F,依次从待处理矩阵集合取出各矩阵,并针对取出的每个矩阵,判断所述矩阵中取值为j的元素个数是否超过第j+1个设定阈值,如果是,将所述矩阵中各元素的取值均置为j;如果否,将所述矩阵中取值为j的元素的取值修改为j+1,并将元素取值修改后的矩阵添加至所述迭代矩阵集合中。
步骤G,如所述待处理矩阵集合中不存在尚未取出的矩阵时,判断所述迭代矩阵集合是否为空集,如果是,则执行步骤H;如果否,将j的取值加一,返回步骤D;
步骤H,通过最近邻插值算法对所述池化后深度矩阵进行采样,得到修正后的K*K的深度特征矩阵。
在一种可能的实现方式中,该装置还包括模型训练单元,用于通过如下方式训练得到所述划分深度识别模型:
获得多帧图像样本;
基于高效视频编码标准对所述图像样本进行编码,并记录编码过程中所述图像样本所划分出的CTU样本,以及采用率失真优化方式确定出的所述CTU样本所划分出的至少一个编码单元;
根据所述CTU样本所划分出的至少一个编码单元各自对应的划分深度,确定所述CTU样本中各基本单元对应的划分深度,得到所述CTU样本的实际划分深度特征;
将所述CTU样本输入到待训练的卷积神经网络模型,得到所述卷积神经网络模型输出的所述CTU样本对应的预测划分深度特征,所述预测划分深度特征包括所述CTU样本中各基本单元的划分深度。
如基于所述CTU样本对应的实际划分深度特征和预测划分深度特征,确定出尚未达到所述卷积神经网络模型的训练要求,则调整所述卷积神经网络模型的内部参数,并返回所述将所述CTU样本输入到待训练的卷积神经网络模型的操作,直至达到所述训练要求,将训练出的卷积神经网络确定为划分深度识别模型。
在一种可选方式中,所述卷积神经网络模型至少包括:卷积层、池化层和多尺度池化层。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。同时,本说明书中各实施例中记载的特征可以相互替换或者组合,使本领域专业技术人员能够实现或使用本申请。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种图像划分方法,其特征在于,包括:
获得图像中待划分的编码树单元CTU;
将所述CTU输入到划分深度识别模型,得到所述划分深度识别模型预测出的所述CTU的划分深度特征,所述CTU的划分深度特征包括所述CTU中各基本单元对应的划分深度,所述CTU包括K*K个互不重叠的基本单元,且每个基本单元由L*L个像素点构成,其中,K=2n,n为大于等于1的自然数,L为大于等于2的自然数;其中,所述划分深度识别模型为利用标注有实际划分深度特征的多个CTU样本训练卷积神经网络模型得到的,所述CTU样本的实际划分深度特征为基于率失真优化方式确定出的所述CTU样本中各个基本单元对应的划分深度;
基于所述CTU中各基本单元的划分深度,确定所述CTU所需划分出的至少一个编码单元CU,并将所述CTU划分为所述至少一个编码单元CU。
2.根据权利要求1所述的方法,其特征在于,所述基于所述CTU中各基本单元的划分深度,确定所述CTU所需划分出的至少一个编码单元CU,并将所述CTU划分为所述至少一个编码单元CU,包括:
依据CTU中各所述基本单元的划分深度以及不同划分深度的编码单元CU所需包含的基本单元的数量,并按照所述CTU中各基本单元从左到右的第一顺序以及从上到下的第二顺序,依次确定出CTU中各基本单元所属的CU,并将CTU划分为确定出的至少一个编码单元。
3.根据权利要求2所述的方法,其特征在于,所述依据CTU中各所述基本单元的划分深度以及不同划分深度的编码单元CU所需包含的基本单元的数量,并按照所述CTU中各基本单元从左到右的第一顺序以及从上到下的第二顺序,依次确定出CTU中各基本单元所属的CU,并将CTU划分为确定出的至少一个编码单元,包括:
按照所述CTU中各基本单元从左到右的第一顺序以及从上到下的第二顺序,确定出所述CTU中尚未确定所归属的编码单元的目标基本单元;
如所述目标基本单元的划分深度为0,则将所述CTU中所有基本单元确定为归属于一个编码单元,得到一个具有T1*T1个像素点的第一编码单元,T1=K*L;
如所述目标基本单元的划分深度为i,以所述目标基本单元为基准,并按照所述第一顺序和第二顺序,确定出包含所述目标基本单元在内的个基本单元,将所述个基本单元确定为一个具有T2*T2个像素点的第二编码单元,并从所述CTU中划分出所述第二编码单元,其中,i为从1到n-1的自然数;
如所述目标基本单元的划分深度为n,将所述目标基本单元确定为一个编码单元,得到具有L*L个像素点的第三编码单元,并从所述CTU中划分出所述第三编码单元;
如所述CTU中仍存在尚未确定所归属的编码单元的基本单元,则返回执行所述确定出所述CTU中尚未确定所归属的编码单元的目标基本单元的操作,直至所述CTU中不存在尚未确定所归属的编码单元的基本单元,得到所述CTU划分出的至少一个编码单元CU。
4.根据权利要求1所述的方法,其特征在于,在所述基于所述CTU中各基本单元的划分深度,确定所述CTU所需划分出的至少一个编码单元CU之前,还包括:
按照设定的符合四叉树划分规范的深度分布规律,确定所述CTU中划分深度存在异常的异常基本单元,并对所述异常基本单元的划分深度进行修正。
5.根据权利要求4所述的方法,其特征在于,所述CTU的划分深度特征为K*K的深度特征矩阵;
所述按照设定的符合四叉树划分规范的深度分布规律,确定所述CTU中划分深度存在异常的异常基本单元,并对所述异常基本单元的划分深度进行修正,包括:
步骤B,设定深度迭代变量j、迭代矩阵集合和待处理矩阵集合,将j的初始取值设为0,将待处理矩阵集合置为空集,将所述池化后深度矩阵作为所述迭代矩阵集合中初始的矩阵并添加到所述迭代矩阵集合,并执行步骤C;
步骤C,检测所述池化后深度矩阵中取值为0的元素个数是否超过第一个设定阈值,如果是,将所述池化后深度矩阵中各元素的取值均置为0,并执行步骤H;如果否,将所述池化后深度矩阵中取值为0的元素的取值修改为1,将j的取值加一,并执行步骤D;
步骤D,检测j的取值是否大于n-2,如果是,则执行步骤H;如果否,则执行步骤E;
步骤F,依次从待处理矩阵集合取出各矩阵,并针对取出的每个矩阵,判断所述矩阵中取值为j的元素个数是否超过第j+1个设定阈值,如果是,将所述矩阵中各元素的取值均置为j;如果否,将所述矩阵中取值为j的元素的取值修改为j+1,并将元素取值修改后的矩阵添加至所述迭代矩阵集合中;
步骤G,如所述待处理矩阵集合中不存在尚未取出的矩阵时,判断所述迭代矩阵集合是否为空集,如果是,则执行步骤H;如果否,将j的取值加一,返回步骤D;
步骤H,通过最近邻插值算法对所述池化后深度矩阵进行采样,得到修正后的K*K的深度特征矩阵。
6.根据权利要求1所述的方法,其特征在于,所述划分深度识别模型通过如下方式训练得到:
获得多帧图像样本;
基于高效视频编码标准对所述图像样本进行编码,并记录编码过程中所述图像样本所划分出的CTU样本,以及采用率失真优化方式确定出的所述CTU样本所划分出的至少一个编码单元;
根据所述CTU样本所划分出的至少一个编码单元各自对应的划分深度,确定所述CTU样本中各基本单元对应的划分深度,得到所述CTU样本的实际划分深度特征;
将所述CTU样本输入到待训练的卷积神经网络模型,得到所述卷积神经网络模型输出的所述CTU样本对应的预测划分深度特征,所述预测划分深度特征包括所述CTU样本中各基本单元的划分深度;
如基于所述CTU样本对应的实际划分深度特征和预测划分深度特征,确定出尚未达到所述卷积神经网络模型的训练要求,则调整所述卷积神经网络模型的内部参数,并返回所述将所述CTU样本输入到待训练的卷积神经网络模型的操作,直至达到所述训练要求,将训练出的卷积神经网络确定为划分深度识别模型。
7.根据权利要求6所述的方法,其特征在于,所述卷积神经网络模型至少包括:卷积层、池化层和多尺度池化层。
8.一种图像划分装置,其特征在于,包括:
划分对象获得单元,用于获得图像中待划分的编码树单元CTU;
深度识别单元,用于将所述CTU输入到划分深度识别模型,得到所述划分深度识别模型预测出的所述CTU的划分深度特征,所述CTU的划分深度特征包括所述CTU中各基本单元对应的划分深度,所述CTU包括K*K个互不重叠的基本单元,且每个基本单元由L*L个像素点构成,其中,K=2n,n为大于等于1的自然数,L为大于等于2的自然数;其中,所述划分深度识别模型为利用标注有实际划分深度特征的多个CTU样本训练卷积神经网络模型得到的,所述CTU样本的实际划分深度特征为基于率失真优化方式确定出的所述CTU样本中各个基本单元对应的划分深度;
对象划分单元,用于基于所述CTU中各基本单元的划分深度,确定所述CTU所需划分出的至少一个编码单元CU,并将所述CTU划分为所述至少一个编码单元CU。
9.根据权利要求8所述的装置,其特征在于,所述对象划分单元,包括:
对象划分子单元,用于依据CTU中各所述基本单元的划分深度以及不同划分深度的编码单元CU所需包含的基本单元的数量,并按照所述CTU中各基本单元从左到右的第一顺序以及从上到下的第二顺序,依次确定出CTU中各基本单元所属的CU,并将CTU划分为确定出的至少一个编码单元。
10.根据权利要求9所述的方法,其特征在于,对象划分子单元,包括:
对象确定子单元,用于按照所述CTU中各基本单元从左到右的第一顺序以及从上到下的第二顺序,确定出所述CTU中尚未确定所归属的编码单元的目标基本单元;
第一划分子单元,用于如所述目标基本单元的划分深度为0,则将所述CTU中所有基本单元确定为归属于一个编码单元,得到一个具有T1*T1个像素点的第一编码单元,T1=K*L;
第二划分子单元,用于如所述目标基本单元的划分深度为i,以所述目标基本单元为基准,并按照所述第一顺序和第二顺序,确定出包含所述目标基本单元在内的个基本单元,将所述个基本单元确定为一个具有T2*T2个像素点的第二编码单元,并从所述CTU中划分出所述第二编码单元,其中,i为从1到n-1的自然数;
第三划分子单元,用于如所述目标基本单元的划分深度为n,将所述目标基本单元确定为一个编码单元,得到具有L*L个像素点的第三编码单元,并从所述CTU中划分出所述第三编码单元;
划分控制子单元,用于如所述CTU中仍存在尚未确定所归属的编码单元的基本单元,则返回执行所述对象确定子单元操作,直至所述CTU中不存在尚未确定所归属的编码单元的基本单元,得到所述CTU划分出的至少一个编码单元CU。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110752745.3A CN113382245A (zh) | 2021-07-02 | 2021-07-02 | 图像划分方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110752745.3A CN113382245A (zh) | 2021-07-02 | 2021-07-02 | 图像划分方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113382245A true CN113382245A (zh) | 2021-09-10 |
Family
ID=77581018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110752745.3A Pending CN113382245A (zh) | 2021-07-02 | 2021-07-02 | 图像划分方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113382245A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114567775A (zh) * | 2022-04-29 | 2022-05-31 | 中国科学技术大学 | 图像划分方法和装置 |
WO2024001886A1 (zh) * | 2022-06-30 | 2024-01-04 | 深圳市中兴微电子技术有限公司 | 编码单元划分方法、电子设备和计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101902700B1 (ko) * | 2017-05-15 | 2018-09-28 | 홍익대학교 산학협력단 | Hevc 부호화 장치 및 그것을 이용한 화면 내 예측 부호화 처리 방법 |
CN108737841A (zh) * | 2017-04-21 | 2018-11-02 | 腾讯科技(深圳)有限公司 | 编码单元深度确定方法及装置 |
US20180332278A1 (en) * | 2017-05-15 | 2018-11-15 | City University Of Hong Kong | Hevc with complexity control based on dynamic ctu depth range adjustment |
CN109788296A (zh) * | 2018-12-25 | 2019-05-21 | 中山大学 | 用于hevc的帧间编码单元划分方法、装置和存储介质 |
CN109996084A (zh) * | 2019-04-30 | 2019-07-09 | 华侨大学 | 一种基于多分支卷积神经网络的hevc帧内预测方法 |
-
2021
- 2021-07-02 CN CN202110752745.3A patent/CN113382245A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108737841A (zh) * | 2017-04-21 | 2018-11-02 | 腾讯科技(深圳)有限公司 | 编码单元深度确定方法及装置 |
KR101902700B1 (ko) * | 2017-05-15 | 2018-09-28 | 홍익대학교 산학협력단 | Hevc 부호화 장치 및 그것을 이용한 화면 내 예측 부호화 처리 방법 |
US20180332278A1 (en) * | 2017-05-15 | 2018-11-15 | City University Of Hong Kong | Hevc with complexity control based on dynamic ctu depth range adjustment |
CN109788296A (zh) * | 2018-12-25 | 2019-05-21 | 中山大学 | 用于hevc的帧间编码单元划分方法、装置和存储介质 |
CN109996084A (zh) * | 2019-04-30 | 2019-07-09 | 华侨大学 | 一种基于多分支卷积神经网络的hevc帧内预测方法 |
Non-Patent Citations (3)
Title |
---|
B. AOLIN FENG; CHANGSHENG GAO; LI LI; DONG LIU; FENG WU: "《Cnn-Based Depth Map Prediction for Fast Block Partitioning in HEVC Intra Coding》", 《2021 IEEE INTERNATIONAL CONFERENCE ON MULTIMEDIA AND EXPO (ICME)》 * |
吴陆狄等: "一种面向新型视频编码器的快速算法", 《福州大学学报(自然科学版)》 * |
易清明: "《利用深度学习的HEVC帧内编码单元快速划分方法》", 《小型微型计算机系统》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114567775A (zh) * | 2022-04-29 | 2022-05-31 | 中国科学技术大学 | 图像划分方法和装置 |
CN114567775B (zh) * | 2022-04-29 | 2022-09-09 | 中国科学技术大学 | 图像划分方法和装置 |
WO2024001886A1 (zh) * | 2022-06-30 | 2024-01-04 | 深圳市中兴微电子技术有限公司 | 编码单元划分方法、电子设备和计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113382245A (zh) | 图像划分方法和装置 | |
CN105960647B (zh) | 紧凑人脸表示 | |
US8615138B2 (en) | Image compression using sub-resolution images | |
CN108737841B (zh) | 编码单元深度确定方法及装置 | |
JP3391251B2 (ja) | 適応確率推定方法及び適応符号化方法並びに適応復号方法 | |
US11651578B2 (en) | End-to-end modelling method and system | |
RU2706228C1 (ru) | Способ и устройство выбора порядка сканирования | |
JPH11274941A (ja) | 誤り訂正方法及びシステム | |
CN111163338A (zh) | 视频清晰度评估模型训练方法、视频推荐方法及相关装置 | |
CN116033149A (zh) | 视频图像分量的预测方法和装置、及计算机存储介质 | |
CN110781893A (zh) | 特征图的处理方法、图像处理方法、装置以及存储介质 | |
CN107111782A (zh) | 神经网络结构及其方法 | |
US20210312239A1 (en) | Information processing apparatus that performs machine learning of learning model, learning method, and storage medium | |
CN114286093A (zh) | 一种基于深度神经网络的快速视频编码方法 | |
CN110942057A (zh) | 一种集装箱箱号识别方法、装置和计算机设备 | |
CN112801918A (zh) | 图像增强模型的训练方法、图像增强方法及电子设备 | |
KR20210042355A (ko) | 비디오 이미지 성분의 예측 방법, 장치 및 컴퓨터 저장 매체 | |
CN115861650A (zh) | 基于注意力机制和联邦学习的阴影检测方法、装置 | |
CN111294061A (zh) | 一种原始比特错误率感知的译码软判决延迟降低方法 | |
CN110275895B (zh) | 一种缺失交通数据的填充设备、装置及方法 | |
CN112669238A (zh) | 一种色彩校正后的数字图像精确恢复原图的方法 | |
CN116975864A (zh) | 恶意代码检测方法、装置、电子设备及存储介质 | |
CN116306610A (zh) | 模型训练方法及装置、自然语言处理方法及装置 | |
CN110798225A (zh) | 一种数据纠错方法、装置、设备及可读存储介质 | |
CN114567710B (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20210910 |