CN113573067A - 一种视频编码的方法及装置 - Google Patents
一种视频编码的方法及装置 Download PDFInfo
- Publication number
- CN113573067A CN113573067A CN202110767906.6A CN202110767906A CN113573067A CN 113573067 A CN113573067 A CN 113573067A CN 202110767906 A CN202110767906 A CN 202110767906A CN 113573067 A CN113573067 A CN 113573067A
- Authority
- CN
- China
- Prior art keywords
- coding unit
- depth
- coding
- distortion
- 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 57
- 238000004364 calculation method Methods 0.000 claims abstract description 84
- 238000005192 partition Methods 0.000 claims abstract description 40
- 238000013139 quantization Methods 0.000 claims description 17
- 230000015654 memory Effects 0.000 claims description 16
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 11
- 238000004590 computer program Methods 0.000 description 11
- 230000011218 segmentation Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011160 research Methods 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/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/156—Availability of hardware or computational resources, e.g. encoding based on power-saving 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/102—Methods 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/124—Quantisation
-
- 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/154—Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请公开了一种视频编码的方法及装置,用以降低视频编码技术的计算复杂度。其中,方法包括:确定编码单元在第一编码模式下的第一失真参数;根据所述编码单元的深度、所述第一失真参数和所述编码单元的相邻编码单元的深度,停止对所述编码单元的分割计算;和/或,根据所述编码单元的深度和所述编码单元的所在帧的前一帧,停止对所述编码单元的预测计算。
Description
技术领域
本申请实施例涉及云转码技术领域,尤其涉及一种视频编码的方法及装置。
背景技术
随着各类视频直播网站的不断涌现,直播类场景中的画质与流畅性是用于衡量直播质量的两大指标,如何提升画质与流畅性是目前主要的研究方向。高效视频编码标准(high efficiency video coding,HEVC)是新一代视频编码标准,也可称为是h.265,其可用于解决人们对直播类场景中视觉和听觉的需求。
HEVC可有效提高压缩效率,但在编码过程中,编码设备需要将每帧图像分割为多个编码单元(coding unit,CU),每个编码单元又可以分割为一个或多个预测单元(prediction unit,PU),预测单元用于实现编码单元的预测过程。预测单元的分割方式有多种,编码设备在确定需要采用哪种分割方式时,需要遍历所有的分割方式来确定每种分割方式的率失真花费,并从中选择率失真花费最小的分割方式。如此该编码技术的计算复杂度较高。
发明内容
本申请实施例提供一种视频编码的方法及装置,用以降低视频编码技术的计算复杂度。
第一方面,本申请实施例提供的一种视频编码的方法,该方法可由编码设备执行,或该方法可由编码设备中的模块例如芯片执行。
所述方法包括:确定编码单元在第一编码模式下的第一失真参数;根据所述编码单元的深度、所述第一失真参数和所述编码单元的相邻编码单元的深度,停止对所述编码单元的分割计算;和/或,根据所述编码单元的深度和所述编码单元的所在帧的前一帧,停止对所述编码单元的预测计算。
上述技术方案中,基于每个编码单元,确定每个编码单元在第一编码模式下的第一失真参数,根据第一失真参数、该编码单元的空域相关性和时域相关性,在预设条件下提前停止分割计算或者预测计算,从而有助于避免不必要的计算。具体的,根据编码单元的深度、第一失真参数和编码单元的相邻编码单元的深度,即根据空域相关性,确定是否要停止编码单元的分割计算。根据编码单元的深度和编码单元的所在帧的前一帧,即根据时域相关性,确定是否要停止对该编码单元的预测计算,从而避免不必要的预测计算。
在一种可能的实现方式中,所述根据所述编码单元的深度、所述第一失真参数和所述编码单元的相邻编码单元的深度,停止对所述编码单元的分割计算,包括:在所述编码单元的深度大于深度阈值的情况下,若所述第一失真参数大于第一失真阈值,则在确定所述编码单元的深度大于预测深度之后,停止对所述编码单元的分割计算;其中,所述预测深度是根据所述编码单元的相邻编码单元的深度得到的。
上述技术方案中,在编码单元的深度大于深度阈值的情况下,若第一失真参数大于第一失真阈值,则可以根据编码单元的相邻编码单元的深度确定预测深度,然后根据编码单元的深度与预测深度,确定是否停止分割计算,具体的,当编码单元的深度大于预测深度,则表征编码单元的当前深度已经足够编码单元的编码预测,即无需再进一步分割,可停止分割计算。
在一种可能的实现方式中,若所述编码单元的深度为1,则所述第一失真阈值符合公式:thr1=102×QP×QP–3637×QP+37500;若所述编码单元的深度为2,则所述第一失真阈值符合公式:thr1=102×QP×QP–3637×QP+37500;其中,thr1为第一失真阈值,QP为量化参数。
上述技术方案中,基于编码单元的不同深度,即基于编码单元的不同尺寸,确定在不同量化参数下对应的第一失真阈值,有助于得到较为准确的第一失真阈值,可较为准确的确定出是否停止分割计算。
在一种可能的实现方式中,所述编码单元的相邻编码单元包括分别位于所述编码单元上方、左方、左上方、右上方的四个已编码单元;所述预测深度基于如下公式得到:Depth=Depth1×0.3+Depth2×0.3+Depth3×0.2+Depth4×0.2;其中,Depth是预测深度,Depth1是编码单元上方的已编码单元的深度,Depth2是编码单元左方的已编码单元的深度,Depth3是编码单元左上方的已编码单元的深度,Depth4是编码单元右上方的已编码单元的深度。
上述技术方案中,确定位于编码单元上方、左方、左上方、右上方的四个已编码单元的深度(即相邻编码单元),且赋予各相邻编码单元的深度的权值,根据各相邻编码单元的深度和权值,确定预测深度,以用于确定是否需要对该编码单元进一步进行深度的分割计算。而且不同位置的相邻编码单元的深度的权值不同,有助于得到更为准确的预测深度。
在一种可能的实现方式中,所述方法还包括:在所述编码单元的深度大于深度阈值的情况下,若所述第一失真参数小于或等于所述第一失真阈值,则停止对所述编码单元的分割计算。
上述技术方案中,在编码单元的深度大于深度阈值的情况下,若第一失真参数小于或等于第一失真阈值,则表征该第一失真参数对应第一编码模式已经可以实现效果较好的编码计算,则停止对所述编码单元的分割计算,采用该第一编码模式进行编码。
在一种可能的实现方式中,所述根据所述编码单元的深度和所述编码单元的所在帧的前一帧,停止对所述编码单元的预测计算,包括:在确定所述编码单元的深度与同位单元的深度的差值大于差值阈值之后,停止对所述编码单元的预测计算;其中,所述同位单元是所述编码单元所在帧的前一帧中,与所述编码单元对应于相同位置的已编码单元。
上述技术方案中,可以根据当前编码单元所在帧的前一帧中、与当前编码单元对应于相同位置的已编码单元的深度,以及当前编码单元的深度,确定是否停止对当前编码单元的预测计算,在二者的深度差值大于差值阈值时,则表征该编码单元有较大概率不会选择这个深度,可以对该编码单元的当前深度只进行重要的几个预测模式计算,提前终止其他的预测模式计算。
在一种可能的实现方式中,所述根据所述编码单元的深度和所述编码单元的所在帧的前一帧,停止对所述编码单元的预测计算,包括:在确定所述编码单元的深度与所述同位单元的深度的差值小于或等于差值阈值之后,若所述第一失真参数小于第二失真阈值,则停止对所述编码单元的预测计算,所述第二失真阈值是基于所述编码单元的深度和量化参数确定。
上述技术方案中,可以在当前编码单元所在帧的前一帧中、与当前编码单元对应于相同位置的已编码单元的深度,以及当前编码单元的深度二者之间的深度差值小于或等于差值阈值时,只要失真参数足够小,则可以将当前的预测计算作为最优的预测计算,并停止进一步的预测计算。
在一种可能的实现方式中,所述确定编码单元在第一编码模式下的第一失真参数,包括:确定所述编码单元在SKIP编码模式下的失真参数和所述编码单元在Merge编码模式下的失真参数;获取所述SKIP编码模式下的失真参数和所述Merge编码模式下的失真参数中的较小值作为所述第一失真参数,其中,所述第一失真参数对应的编码模式为所述第一编码模式。
在一种可能的实现方式中,所述第一失真参数为率失真代价值,所述率失真代价值基于失真度和码率确定。
上述技术方案中,采用率失真代价值作为第一失真参数,可更好的评估是否停止分割计算和/或停止预测计算。
第二方面,本申请实施例提供的一种视频编码的装置,该装置可以是编码设备,或者是编码设备中的模块例如芯片。
所述装置包括:确定模块和停止模块;
在一种可能的实现方式中,所述确定模块用于,确定编码单元在第一编码模式下的第一失真参数;所述停止模块用于,根据所述编码单元的深度、所述第一失真参数和所述编码单元的相邻编码单元的深度,停止对所述编码单元的分割计算;和/或,根据所述编码单元的深度和所述编码单元的所在帧的前一帧,停止对所述编码单元的预测计算。
在一种可能的实现方式中,所述停止模块具体用于:在所述编码单元的深度大于深度阈值的情况下,若所述第一失真参数大于第一失真阈值,则在确定所述编码单元的深度大于预测深度之后,停止对所述编码单元的分割计算;其中,所述预测深度是根据所述编码单元的相邻编码单元的深度得到的。
在一种可能的实现方式中,若所述编码单元的深度为1,则所述第一失真阈值符合公式:thr1=102×QP×QP–3637×QP+37500;若所述编码单元的深度为2,则所述第一失真阈值符合公式:thr1=102×QP×QP–3637×QP+37500;其中,thr1为第一失真阈值,QP为量化参数。
在一种可能的实现方式中,所述编码单元的相邻编码单元包括分别位于所述编码单元上方、左方、左上方、右上方的四个已编码单元;所述预测深度基于如下公式得到:Depth=Depth1×0.3+Depth2×0.3+Depth3×0.2+Depth4×0.2;其中,Depth是预测深度,Depth1是编码单元上方的已编码单元的深度,Depth2是编码单元左方的已编码单元的深度,Depth3是编码单元左上方的已编码单元的深度,Depth4是编码单元右上方的已编码单元的深度。
在一种可能的实现方式中,所述停止模块具体用于:在所述编码单元的深度大于深度阈值的情况下,若所述第一失真参数小于或等于所述第一失真阈值,则停止对所述编码单元的分割计算。
在一种可能的实现方式中,所述停止模块具体用于:在确定所述编码单元的深度与同位单元的深度的差值大于差值阈值之后,停止对所述编码单元的预测计算;其中,所述同位单元是所述编码单元所在帧的前一帧中,与所述编码单元对应于相同位置的已编码单元。
在一种可能的实现方式中,所述停止模块具体用于:在确定所述编码单元的深度与所述同位单元的深度的差值小于或等于差值阈值之后,若所述第一失真参数小于第二失真阈值,则停止对所述编码单元的预测计算,所述第二失真阈值是基于所述编码单元的深度和量化参数确定。
在一种可能的实现方式中,所述确定模块具体用于:确定所述编码单元在SKIP编码模式下的失真参数和所述编码单元在Merge编码模式下的失真参数;获取所述SKIP编码模式下的失真参数和所述Merge编码模式下的失真参数中的较小值作为所述第一失真参数,其中,所述第一失真参数对应的编码模式为所述第一编码模式。
在一种可能的实现方式中,所述第一失真参数为率失真代价值,所述率失真代价值基于失真度和码率确定。
第三方面,本申请实施例还提供了一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述第一方面或第一方面中的任意一种方法。
第四方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序或指令,当计算机程序或指令被计算设备执行时,使得该计算设备执行上述第一方面或第一方面中的任意一种方法。
第五方面,本申请提供一种计算机程序产品,该计算机程序产品包括计算机程序或指令,当该计算机程序或指令被计算设备执行时,实现上述第一方面或第一方面中的任意一种方法。
上述第二方面至第五方面中任一方面可以达到的技术效果可以参照上述第一方面中有益效果的描述,此处不再重复赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种系统架构的示意图;
图2为本申请实施例提供的一种视频编码的示意图;
图3为本申请实施例提供的一种视频编码的方法的流程示意图;
图4为本申请实施例提供的再一种视频编码的方法的流程示意图;
图5为本申请实施例提供的一种视频图像中包括多个编码单元的示意图;
图6为本申请实施例提供的一种视频编码的装置的结构示意图;
图7为本申请实施例提供的另一种视频编码的装置的结构示意图。
具体实施方式
下面将结合附图,对本申请实施例进行详细描述。
如图1为本申请实施例所使用的系统架构,其中包括编码设备和解码设备。编码设备可以对获取到的视频数据进行编码,将编码后的视频数据经网络发送至解码设备。可选的,编码设备或解码设备均可以是电子设备,电子设备比如台式电脑、笔记本电脑、平板电脑、机顶盒、电视、照相机、显示设备、数字媒体播放器、视频游戏机、视频流设备等。
参照图2示例性示出的编码示意图,编码设备在编码过程中,会针对视频数据中的每一帧视频图像,将该帧视频图像分割为多个编码单元,编码单元的最大尺寸可以是64×64,最小尺寸可以是8×8,编码单元的尺寸与分割深度有关,本申请中,可以将分割深度简称为深度。
在具体实现中,编码设备获取到的原始视频图像中包括的编码单元尺寸为64×64,此时,编码单元尚未被分割,其对应的深度为0(可参见图2示出的深度=0,64×64)。然后编码设备执行多次分割:
第一次分割:将每个尺寸为64×64的编码单元分割为四个32×32的编码单元(可参见图2示出的深度=1,32×32);
第二次分割:将每个尺寸为32×32的编码单元分割为四个16×16的编码单元(可参见图2示出的深度=2,16×16);
第三次分割:将每个尺寸为16×16的编码单元分割为四个8×8的编码单元(可参见图2示出的深度=3,8×8)。
进一步的,编码设备可以基于不同的预测模式和每次分割得到的编码单元确定该编码单元对应的一个或多个预测单元。其中预测模式具体可以包括:帧内(intra)模式和帧间(inter)模式。
继续参见图2,当编码单元尺寸为64×64或32×32或16×16时,对于采用帧内模式编码的编码单元,可以采用2N×2N一种预测单元分割方式;对于采用帧间模式编码的编码单元,可以采用SKIP/Merge、2N×2N、2N×N、N×2N、2N×nU、2N×nD、nL×2N和nR×2N八种预测单元分割方式。
当编码单元尺寸为8×8时,对于采用帧内模式编码的编码单元,可以采用2N×2N和N×N两种预测单元分割方式;对于采用帧间模式编码的编码单元,可以采用SKIP/Merge、2N×2N、2N×N、N×2N四种预测单元分割方式。
编码设备在确定需要采用哪种分割方式时,需要遍历所有的分割方式来确定每种分割方式的率失真花费,并从中选择率失真花费最小的分割方式。如此该编码技术的计算复杂度较高。
基于此,本申请提供一种视频编码的方法,可以在不遍历所有分割方式的情况下,确定出最优的分割方式,从而有助于降低计算复杂度。
图3示例性的示出了本申请实施例提供的一种视频编码的方法的流程,该流程可以由视频编码的装置执行,该装置具体可以是图1示例性示出的编码设备,该编码设备还可称为是编码器。
预先说明的是,在对每帧视频图像进行分割和预测时,可以针对每帧图像中的每个编码单元从上往下,从左往右依次进行,比如图5中的视频图像,该视频图像中包括多个编码单元,需要先确定编码单元1的深度以及在该深度下的失真情况,再确定编码单元2的深度以及在该深度下的失真情况。
还需要说明的是,由于原始算法是按照失真参数来决定最优的分割组合,失真参数与深度和编码模式均具有紧密的关联关系。理论上来说,只要深度和编码模式对应的失真参数足够小,就可以认为当前的深度是最优的深度,跳过其余不必要的深度计算。此外,由于SKIP编码模式和Merge编码模式的占比高于其他编码模式(比如2N×2N、2N×N、N×2N等)的占比,则可以初步利用SKIP编码模式和Merge编码模式来终止不必要的编码计算。
如图3所示,该流程具体包括:
步骤301,确定编码单元在第一编码模式下的第一失真参数。
一种可能的实现方式中,确定编码单元在SKIP编码模式下的失真参数和编码单元在Merge编码模式下的失真参数。获取编码单元在SKIP编码模式下的失真参数和编码单元在Merge编码模式下的失真参数中的较小值作为第一失真参数,第一失真参数对应的编码模式即可称为第一编码模式。
一种可能的实现方式中,失真参数可以是视频残差信号大小(sum of absolutetransformed difference,SATD)、率失真代价、失真度中的一项或多项。
示例性的,失真参数可以是率失真代价,率失真代价可以基于失真度和码率确定,比如率失真代价是失真度和码率的乘积。采用率失真代价值作为第一失真参数,可更好的评估是否停止分割计算和/或停止预测计算。
步骤302,根据编码单元的深度、第一失真参数和编码单元的相邻编码单元的深度,停止对编码单元的分割计算;和/或,根据编码单元的深度和编码单元的所在帧的前一帧,停止对编码单元的预测计算。
如下,参照图4示例性说明步骤302的具体实现方式。
预先说明的是,编码单元可以有多种尺寸,包括64×64、32×32、16×16和8×8。对于尺寸为64×64的编码单元来说,若该尺寸的编码单元出现误判,则可能会导致较大的失真。所以,将尺寸为64×64的编码单元与其他尺寸的编码单元区分开来。进一步的,尺寸为64×64的编码单元对应的深度为0,其他尺寸的编码单元对应的深度均大于0,则可以设置深度0作为深度阈值。
在编码单元的深度大于深度阈值的情况下,可以执行步骤401,在编码单元的深度等于深度阈值的情况下,可以执行步骤404。当然,还可以设置深度1或者其他深度作为深度阈值,本申请不限定。
步骤401,判断第一失真参数是否大于第一失真阈值。若是,则执行步骤403,否则执行步骤402。
一种可能的实现方式中,第一失真阈值是基于编码单元的尺寸和量化参数(quantization parameter,QP)的得到的。具体如下:
若编码单元的深度为1(即编码单元尺寸为32×32),则第一失真阈值符合公式:thr=102×QP×QP–3637×QP+37500;
若编码单元的深度为2(即编码单元尺寸为16×16),则失真阈值符合公式:thr=102×QP×QP–3637×QP+37500;
其中,thr为失真阈值,QP为量化参数。
一种可能的实现方式中,若第一失真参数大于第一失真阈值,则表征当前的第一失真参数没有足够小,则需要进一步确定是否终止分割计算。若第一失真参数小于或等于第一失真阈值,则表征该第一失真参数对应第一编码模式已经可以实现效果较好的编码计算,可以采用该第一编码模式进行编码,且该深度可作为最优深度,可以终止对编码单元的分割计算。
步骤402,停止对编码单元的分割计算。
步骤403,判断编码单元的深度是否大于预测深度。若是,则执行步骤402,否则执行步骤404。预测深度是根据编码单元的相邻编码单元的深度得到的。
由于视频编码存在着极高的空间相关性,故周围空域上已编码块的最优深度可用于确定当前编码块的最优深度。可选的,根据周围空域上已编码块的最优深度确定预测深度,然后根据预测深度和当前编码块的深度,确定是否要继续分割。具体的,若编码单元的当前深度大于预测深度,则表征当前深度已经足够编码单元的编码预测,若编码单元的当前深度小于或等于预测深度,则表征还需要做进步判断。
一种可能的实现方式中,编码单元的周围空域上已编码块即可以理解为编码单元的相邻编码单元。编码单元的相邻编码单元可以包括分别位于该编码单元的上方、左方、左上方、右上方的四个已完成编码的编码单元。如图5中,比如当前的编码单元是编码单元18,则编码单元18的相邻编码单元可以是编码单元9、编码单元10、编码单元11和编码单元17。
进一步的,可以根据如下公式得到预测深度:
Depth=Depth1×0.3+Depth2×0.3+Depth3×0.2+Depth4×0.2;
其中,Depth是预测深度,Depth1是编码单元上方的已编码单元的深度,Depth2是编码单元左方的已编码单元的深度,Depth3是编码单元左上方的已编码单元的深度,Depth4是编码单元右上方的已编码单元的深度。
步骤404,编码单元的深度与同位单元的深度的差值是否大于差值阈值。若是,则执行步骤405,否则执行步骤406。
由于视频编码存在着极高的时域相关性,相邻两帧中编码单元的信息具有相关性,比如前一帧中与当前帧的该编码单元位于相同位置的已完成编码的编码单元二者之间的深度即具有较强的相关性。
本申请中,可以将前一帧中与当前帧的该编码单元位于相同位置的已完成编码的编码单元称为是同位单元。一种可能的实现方式中,可以根据同位单元的深度和该编码单元的深度,确定是否要基于该深度继续进行预测计算。具体的,若编码单元的深度与同位单元的深度的差值大于差值阈值,则表征该编码单元有较大概率不会选择这个深度,可以对该编码单元的当前深度只进行重要的几个预测模式计算,提前终止其他的预测模式计算。若编码单元的深度与同位单元的深度的差值小于或等于差值阈值,则进一步判断是否要再执行其他预测模式计算。其中,差值阈值可以等于2。
可以将编码单元的深度表示为Depth_Cur,将同位单元的深度表示为Depth_CU_col,则在abs(Depth_Cur-Depth_CU_col)≥2的情况下,可以提前终止对编码单元的预测计算。
步骤405,停止对编码单元的预测计算。
步骤406,判断第一失真参数是否小于第二失真阈值。若是,则执行步骤405,否则执行步骤407。本申请可以认为,只要失真参数足够小,则可以将当前的预测计算作为最优的预测计算,并停止进一步的预测计算。
可以基于编码单元的尺寸和量化参数得到第二失真阈值,基于分割的深度,确定第二失真阈值的方式具体可包括如下四种可能的实现方式:
在一种可能的实现方式中,编码单元的深度为0,第二失真阈值符合如下公式中一项或多项:
thr2=168×QP×QP–6953×QP+72305,QP≥30;
thr2=79×QP×QP–2890×QP+28968,30>QP≥20;
thr2=8×QP×QP–46×QP+203,20>QP≥10;
thr2=0,10>QP;
其中,thr2为第二失真阈值,QP为量化参数。
在一种可能的实现方式中,编码单元的深度为1,第二失真阈值符合如下公式中一项或多项:
thr2=47×QP×QP–1996×QP+21030,QP≥30;
thr2=19×QP×QP–714×QP+7237,30>QP≥20;
thr2=1×QP×QP–10×QP+29,20>QP≥10;
thr2=0,10>QP;
其中,thr2为第二失真阈值,QP为量化参数。
在一种可能的实现方式中,编码单元的深度为2,第二失真阈值符合如下公式中一项或多项:
thr2=31×QP×QP–1361×QP+14526,QP≥30;
thr2=10×QP×QP–404×QP+4158,30>QP≥20;
thr2=1×QP×QP–4×QP+10,20>QP≥10;
thr2=0,10>QP;
其中,thr2为第二失真阈值,QP为量化参数。
在一种可能的实现方式中,编码单元的深度为3,第二失真阈值符合如下公式中一项或多项:
thr2=15×QP×QP–678×QP+7223,QP≥30;
thr2=5×QP×QP–209×QP+2200,30>QP≥20;
thr2=3×QP–10,20>QP≥10;
thr2=0,10>QP;
其中,thr2为第二失真阈值,QP为量化参数。
上述技术方案中,基于编码单元的不同深度,即基于编码单元的不同尺寸,确定在不同量化参数下对应的第二失真阈值,有助于得到较为准确的第二失真阈值,可较为准确的确定出是否停止预测计算。
步骤407,确定除SKIP编码模式和Merge编码模式以外的其他编码模式的失真参数。其中其他编码模式比如2N×2N、2N×N、N×2N、2N×nU、2N×nD、nL×2N和nR×2N等。
在停止对当前编码单元的分割计算和预测计算(即执行完成步骤302)之后,可以确定是否还有下一个编码单元需要判断,若还有下一个编码单元需要进行分割和预测,则把下一个编码单元作为当前的编码单元,再次执行步骤301和步骤302,直至把视频数据的所有帧中的编码单元执行完成,即算法结束。
上述技术方案中,基于每个编码单元,确定每个编码单元在第一编码模式下的第一失真参数,根据第一失真参数、空域上的相关深度、时域上的相关深度,在预设条件下提前停止分割计算或者预测计算,从而有助于避免不必要的计算。具体的,根据空域相关性,在确定编码单元的深度大于预测深度之后,停止对编码单元的分割计算,从而避免不必要的分割计算。根据时域相关性,确定编码单元的深度与同位单元的深度的差值大于差值阈值之后,停止对编码单元的预测计算,从而避免不必要的预测计算。
需要说明的是,本申请提供的视频编码的方法可以适用于多种编码技术,具体的,基于失真参数的判定方式(比如上述步骤401或者步骤406)可适用于各种编码技术,比如h.265,或者h.266,或者其他编码技术,只要是编码单元的深度满足失真参数对应的判定条件,即可结束本深度下的分割计算或预测计算。同样的,基于视频编码时空相关性的判定方式(比如上述步骤403或者步骤404)也可适用于各种编码技术,可以在各种编码技术中无缝迁移,比如适用于h.265,或者h.266,或者其他编码技术,只需要编码单元的深度与同位单元的深度的差值大于差值阈值,即可结束本深度下的预测计算,或者只需要编码单元的深度大于预测深度,即可结束本深度下的分割计算。
基于上述内容和相同构思,图6和图7为本申请的提供的可能的视频编码的装置的结构示意图。这些装置可以用于实现上述方法实施例中的功能,因此也能实现上述方法实施例所具备的有益效果。在本申请中,该装置可以是如图1所示的编码设备,或者是编码设备中的模块例如芯片。
所述装置包括:确定模块601和停止模块602;
在一种可能的实现方式中,所述确定模块601用于,确定编码单元在第一编码模式下的第一失真参数;所述停止模块602用于,根据所述编码单元的深度、所述第一失真参数和所述编码单元的相邻编码单元的深度,停止对所述编码单元的分割计算;和/或,根据所述编码单元的深度和所述编码单元的所在帧的前一帧,停止对所述编码单元的预测计算。
在一种可能的实现方式中,所述停止模块602具体用于:在所述编码单元的深度大于深度阈值的情况下,若所述第一失真参数大于第一失真阈值,则在确定所述编码单元的深度大于预测深度之后,停止对所述编码单元的分割计算;其中,所述预测深度是根据所述编码单元的相邻编码单元的深度得到的。
在一种可能的实现方式中,若所述编码单元的深度为1,则所述第一失真阈值符合公式:thr1=102×QP×QP–3637×QP+37500;若所述编码单元的深度为2,则所述第一失真阈值符合公式:thr1=102×QP×QP–3637×QP+37500;其中,thr1为第一失真阈值,QP为量化参数。
在一种可能的实现方式中,所述编码单元的相邻编码单元包括分别位于所述编码单元上方、左方、左上方、右上方的四个已编码单元;所述预测深度基于如下公式得到:Depth=Depth1×0.3+Depth2×0.3+Depth3×0.2+Depth4×0.2;其中,Depth是预测深度,Depth1是编码单元上方的已编码单元的深度,Depth2是编码单元左方的已编码单元的深度,Depth3是编码单元左上方的已编码单元的深度,Depth4是编码单元右上方的已编码单元的深度。
在一种可能的实现方式中,所述停止模块602具体用于:在所述编码单元的深度大于深度阈值的情况下,若所述第一失真参数小于或等于所述第一失真阈值,则停止对所述编码单元的分割计算。
在一种可能的实现方式中,所述停止模块602具体用于:在确定所述编码单元的深度与同位单元的深度的差值大于差值阈值之后,停止对所述编码单元的预测计算;其中,所述同位单元是所述编码单元所在帧的前一帧中,与所述编码单元对应于相同位置的已编码单元。
在一种可能的实现方式中,所述停止模块602具体用于:在确定所述编码单元的深度与所述同位单元的深度的差值小于或等于差值阈值之后,若所述第一失真参数小于第二失真阈值,则停止对所述编码单元的预测计算,所述第二失真阈值是基于所述编码单元的深度和量化参数确定。
在一种可能的实现方式中,所述确定模块601具体用于:确定所述编码单元在SKIP编码模式下的失真参数和所述编码单元在Merge编码模式下的失真参数;获取所述SKIP编码模式下的失真参数和所述Merge编码模式下的失真参数中的较小值作为所述第一失真参数,其中,所述第一失真参数对应的编码模式为所述第一编码模式。
在一种可能的实现方式中,所述第一失真参数为率失真代价值,所述率失真代价值基于失真度和码率确定。
如图7所示为本申请实施例提供的装置700,图7所示的装置可以为图6所示的装置的一种硬件电路的实现方式。该装置可适用于前面所示出的流程图中,执行上述方法实施例中的功能。
为了便于说明,图7仅示出了该装置的主要部件。
图7所示的装置700包括通信接口710、处理器720和存储器730,其中存储器730用于存储程序指令和/或数据。处理器720可能和存储器730协同操作。处理器720可能执行存储器730中存储的程序指令。存储器730中存储的指令或程序被执行时,该处理器720用于执行上述实施例中确定模块601和停止模块602执行的操作。
存储器730和处理器720耦合。本申请实施例中的耦合是装置、单元或模块之间的间接耦合或通信连接,可以是电性,机械或其它的形式,用于装置、单元或模块之间的信息交互。所述存储器730中的至少一个可以包括于处理器720中。
在本申请实施例中,通信接口可以是收发器、电路、总线、模块或其它类型的通信接口。在本申请实施例中,通信接口为收发器时,收发器可以包括独立的接收器、独立的发射器;也可以集成收发功能的收发器、或者是通信接口。
装置700还可以包括通信线路740。其中,通信接口710、处理器720以及存储器730可以通过通信线路740相互连接;通信线路740可以是外设部件互连标准(peripheralcomponent interconnect,简称PCI)总线或扩展工业标准结构(extended industrystandard architecture,简称EISA)总线等。所述通信线路740可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
基于上述内容和相同构思,本申请实施例还提供了一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述方法实施例中的方法。
基于上述内容和相同构思,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序或指令,当计算机程序或指令被计算设备执行时,使得该计算设备执行上述方法实施例中的方法。
基于上述内容和相同构思,本申请提供一种计算机程序产品,该计算机程序产品包括计算机程序或指令,当该计算机程序或指令被计算设备执行时,实现上述方法实施例中的方法。
本发明是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (12)
1.一种视频编码的方法,其特征在于,包括:
确定编码单元在第一编码模式下的第一失真参数;
根据所述编码单元的深度、所述第一失真参数和所述编码单元的相邻编码单元的深度,停止对所述编码单元的分割计算;和/或,
根据所述编码单元的深度和所述编码单元的所在帧的前一帧,停止对所述编码单元的预测计算。
2.如权利要求1所述的方法,其特征在于,所述根据所述编码单元的深度、所述第一失真参数和所述编码单元的相邻编码单元的深度,停止对所述编码单元的分割计算,包括:
在所述编码单元的深度大于深度阈值的情况下,若所述第一失真参数大于第一失真阈值,则在确定所述编码单元的深度大于预测深度之后,停止对所述编码单元的分割计算;
其中,所述预测深度是根据所述编码单元的相邻编码单元的深度得到的。
3.如权利要求2所述的方法,其特征在于,
若所述编码单元的深度为1,则所述第一失真阈值符合公式:thr1=102×QP×QP–3637×QP+37500;
若所述编码单元的深度为2,则所述第一失真阈值符合公式:thr1=102×QP×QP–3637×QP+37500;
其中,thr1为第一失真阈值,QP为量化参数。
4.如权利要求2所述的方法,其特征在于,所述编码单元的相邻编码单元包括分别位于所述编码单元上方、左方、左上方、右上方的四个已编码单元;
所述预测深度基于如下公式得到:
Depth=Depth1×0.3+Depth2×0.3+Depth3×0.2+Depth4×0.2;
其中,Depth是预测深度,Depth1是编码单元上方的已编码单元的深度,Depth2是编码单元左方的已编码单元的深度,Depth3是编码单元左上方的已编码单元的深度,Depth4是编码单元右上方的已编码单元的深度。
5.如权利要求2所述的方法,其特征在于,所述方法还包括:
在所述编码单元的深度大于深度阈值的情况下,若所述第一失真参数小于或等于所述第一失真阈值,则停止对所述编码单元的分割计算。
6.如权利要求1所述的方法,其特征在于,所述根据所述编码单元的深度和所述编码单元的所在帧的前一帧,停止对所述编码单元的预测计算,包括:
在确定所述编码单元的深度与同位单元的深度的差值大于差值阈值之后,停止对所述编码单元的预测计算;
其中,所述同位单元是所述编码单元所在帧的前一帧中,与所述编码单元对应于相同位置的已编码单元。
7.如权利要求1所述的方法,其特征在于,所述根据所述编码单元的深度和所述编码单元的所在帧的前一帧,停止对所述编码单元的预测计算,包括:
在确定所述编码单元的深度与所述同位单元的深度的差值小于或等于差值阈值之后,若所述第一失真参数小于第二失真阈值,则停止对所述编码单元的预测计算,所述第二失真阈值是基于所述编码单元的深度和量化参数确定。
8.如权利要求1所述的方法,其特征在于,所述确定编码单元在第一编码模式下的第一失真参数,包括:
确定所述编码单元在SKIP编码模式下的失真参数和所述编码单元在Merge编码模式下的失真参数;
获取所述SKIP编码模式下的失真参数和所述Merge编码模式下的失真参数中的较小值作为所述第一失真参数,其中,所述第一失真参数对应的编码模式为所述第一编码模式。
9.如权利要求1至8任一项所述的方法,其特征在于,所述第一失真参数为率失真代价值,所述率失真代价值基于失真度和码率确定。
10.一种视频编码的装置,其特征在于,包括用于执行如权利要求1至9中的任一项所述方法的模块。
11.一种计算设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行权利要求1至9任一项所述的方法。
12.一种计算机可读非易失性存储介质,其特征在于,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行如权利要求1至9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110767906.6A CN113573067A (zh) | 2021-07-07 | 2021-07-07 | 一种视频编码的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110767906.6A CN113573067A (zh) | 2021-07-07 | 2021-07-07 | 一种视频编码的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113573067A true CN113573067A (zh) | 2021-10-29 |
Family
ID=78163956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110767906.6A Pending CN113573067A (zh) | 2021-07-07 | 2021-07-07 | 一种视频编码的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113573067A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104023233A (zh) * | 2014-06-24 | 2014-09-03 | 华侨大学 | 一种hevc快速帧间预测方法 |
WO2014166340A1 (en) * | 2013-04-09 | 2014-10-16 | Lg Electronics (China) R & D Center Co., Ltd. | Depth picture inter enconding and decoding method, encoder and decoder |
CN105812797A (zh) * | 2014-12-31 | 2016-07-27 | 浙江大华技术股份有限公司 | 一种编码单元选择方法及装置 |
KR20170027288A (ko) * | 2015-09-01 | 2017-03-09 | 한양대학교 산학협력단 | 시간 상관도에 기반한 고속 영상 부호화 방법 |
CN108712647A (zh) * | 2018-05-17 | 2018-10-26 | 哈尔滨工业大学 | 一种用于hevc的cu划分方法 |
CN109302610A (zh) * | 2018-10-26 | 2019-02-01 | 重庆邮电大学 | 一种基于率失真代价的屏幕内容编码帧间快速算法 |
CN110225339A (zh) * | 2019-05-10 | 2019-09-10 | 上海德衡数据科技有限公司 | 一种hevc视频序列编解码加速方法 |
-
2021
- 2021-07-07 CN CN202110767906.6A patent/CN113573067A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014166340A1 (en) * | 2013-04-09 | 2014-10-16 | Lg Electronics (China) R & D Center Co., Ltd. | Depth picture inter enconding and decoding method, encoder and decoder |
CN104023233A (zh) * | 2014-06-24 | 2014-09-03 | 华侨大学 | 一种hevc快速帧间预测方法 |
CN105812797A (zh) * | 2014-12-31 | 2016-07-27 | 浙江大华技术股份有限公司 | 一种编码单元选择方法及装置 |
KR20170027288A (ko) * | 2015-09-01 | 2017-03-09 | 한양대학교 산학협력단 | 시간 상관도에 기반한 고속 영상 부호화 방법 |
CN108712647A (zh) * | 2018-05-17 | 2018-10-26 | 哈尔滨工业大学 | 一种用于hevc的cu划分方法 |
CN109302610A (zh) * | 2018-10-26 | 2019-02-01 | 重庆邮电大学 | 一种基于率失真代价的屏幕内容编码帧间快速算法 |
CN110225339A (zh) * | 2019-05-10 | 2019-09-10 | 上海德衡数据科技有限公司 | 一种hevc视频序列编解码加速方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019144930A1 (en) | Hardware friendly constrained motion vector refinement | |
JP2019519998A (ja) | 自動的な動き情報の精緻化を伴うビデオコード化のための方法及び機器 | |
KR20190029531A (ko) | 적응 모션 정보 세분화를 이용한 비디오 코딩 | |
WO2018175911A1 (en) | Motion vector difference (mvd) prediction | |
JP2013523010A5 (ja) | ビデオ符号化およびビデオ復号化のための暗示的適応型動きベクトル予測子選択の方法および装置 | |
WO2013060471A1 (en) | Method and device for determining parameters for encoding or decoding of an image of a video sequence | |
CN110876282B (zh) | 运动矢量预测方法以及相关装置 | |
CN113508592A (zh) | 编码器、解码器及相应的帧间预测方法 | |
CN111194553A (zh) | 用于视频编码和解码中的自适应照明补偿的方法和装置 | |
JP2023510441A (ja) | 画像符号化方法、画像復号化方法、並びに関連装置及びシステム | |
WO2018219938A1 (en) | Method and apparatus for low-complexity bi-directional intra prediction in video encoding and decoding | |
US20230344985A1 (en) | Encoding and decoding method, apparatus, and device | |
KR20210133973A (ko) | 비디오 인코딩 또는 디코딩을 위한 로컬 조명 보상 | |
CN113573066A (zh) | 一种视频编码的方法及装置 | |
CN112740663B (zh) | 图像预测方法、装置以及相应的编码器和解码器 | |
US11245905B2 (en) | Method and apparatus for blended intra prediction | |
US8849053B2 (en) | Parametric loop filter | |
KR20210096282A (ko) | 인터 예측 방법 및 장치 | |
CN113573067A (zh) | 一种视频编码的方法及装置 | |
KR102482781B1 (ko) | 변환에 기반한 영상 코딩 방법 및 그 장치 | |
CN116868571A (zh) | 对于帧间预测的改进的局部光照补偿 | |
KR20140124434A (ko) | 깊이 정보 맵 부호화/복호화 방법 및 장치 | |
CN103716607A (zh) | 一种应用于HEVC-based 3DVC的编码方法和装置 | |
EP3706419A1 (en) | Multi-model local illumination compensation for video encoding or decoding | |
KR20220061182A (ko) | 변환에 기반한 영상 코딩 방법 및 그 장치 |
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 |