CN109729353A - 一种视频编码方法、装置、***及介质 - Google Patents
一种视频编码方法、装置、***及介质 Download PDFInfo
- Publication number
- CN109729353A CN109729353A CN201910098851.7A CN201910098851A CN109729353A CN 109729353 A CN109729353 A CN 109729353A CN 201910098851 A CN201910098851 A CN 201910098851A CN 109729353 A CN109729353 A CN 109729353A
- Authority
- CN
- China
- Prior art keywords
- code rate
- mse
- video
- video code
- standard value
- 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.)
- Granted
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种视频编码方法、装置、***及介质,该方法的步骤包括:接收视频数据并依照原始视频码率对视频数据进行编码;根据当前编码帧与上一编码帧之间各对应像素的参数变化量,对原始视频码率进行调整运算,生成新视频码率;依照新视频码率继续对视频数据进行编码。本方法能够相对避免在对像素变化程度较大的视频帧进行编码后,后续待编码视频帧可用的视频码率不足的情况发生,因此能够相对确保编码后视频的清晰度以及流畅度,相对保证用户在视频观看过程的体验。此外,本发明还提供一种视频编码装置、***及介质,有益效果同上所述。
Description
技术领域
本发明涉及视频直播领域,特别是涉及一种视频编码方法、装置、***及介质。
背景技术
近年来,网络技术的不断发展使我们的生活越来越丰富多彩。有了网络这个便利的载体,多媒体技术获得到了日新月异的发展,基于网络对视频数据的流式传输广泛应用于视频直播、视频通话等场景中,因此视频编码技术逐渐成为多媒体的核心及关键技术,视频编码的主要作用是将视频像素数据压缩成为视频码流,以此达到降低视频传输时的数据量的目的。
在当前的视频编码方法中,通常由用户预先设置视频码率,即在传输时单位时间编码的数据位数,进而通过编码器以固定的视频码率对视频数据进行编码处理。但是当存在视频中的物体活动突然加剧,进而导致相邻视频帧之间的像素变化较大的情况时,往往会因视频码率集中用于传输像素变化较大的视频帧,而导致码率提前大量消耗,造成后续的视频帧可用的视频码率不足的情况,进而导致视频帧受到过度的压缩,而出现视频图像短时间花屏的现象,难以确保编码后视频的清晰度以及流畅度,相对降低了用户在视频观看过程的体验。
由此可见,提供一种视频编码方法,以相对确保视频编码后的清晰度及流畅度,进而相对提高用户在视频观看过程的体验,是本领域技术人员亟待解决的问题。
发明内容
本发明的目的是提供一种视频编码方法、装置、***及介质,以相对确保视频编码后的清晰度及流畅度,进而相对提高用户在视频观看过程的体验。
为解决上述技术问题,本发明提供一种视频编码方法,方法包括:
接收视频数据并依照原始视频码率对视频数据进行编码;
根据当前编码帧与上一编码帧之间各对应像素的参数变化量,对原始视频码率进行调整运算,生成新视频码率;
依照新视频码率继续对视频数据进行编码。
优选的,根据当前编码帧与上一编码帧之间各对应像素的参数变化量,对原始视频码率进行调整运算,生成新视频码率包括:
根据当前编码帧与上一编码帧之间各对应像素的参数变化量计算MSE当前值;
获取预设的MSE标准值,根据MSE当前值与MSE标准值之间的大小关系,对原始视频码率进行相应的调整运算,生成新视频码率。
优选的,MSE标准值包括MSE高线标准值、MSE中线标准值以及MSE低线标准值;
相应的,获取预设的MSE标准值,根据MSE当前值与MSE标准值之间的大小关系,对原始视频码率进行相应的调整运算,生成新视频码率包括:
获取MSE高线标准值、MSE中线标准值以及MSE低线标准值;
收集预设数量且连续产生的MSE当前值,并获取预设的默认视频码率;
当MSE当前值高于MSE高线标准值时,根据如下公式计算新视频码率R动:R动=Rdefault*(1+R补),R补=(MSE–MSE中线)*(λ/MSEavg);其中,Rdefault为默认视频码率,MSE为MSE当前值,MSE中线为MSE中线标准值,MSEavg为各MSE当前值的MSE平均值,λ为预先设定的调整常量;
当所述MSE当前值高于所述MSE中线标准值且低于所述MSE高线标准值时,将新视频码率设置为一固定值;
当MSE当前值高于MSE低线标准值且低于MSE中线标准值时,判断原始视频码率是否高于默认视频码率,如果是,则根据第一预设衰减率将原始视频码率进行衰减计算直至衰减到默认视频码率以生成新视频码率;
当MSE当前值低于MSE低线标准值时,根据第二预设衰减率对原始视频码率进行衰减计算,生成新视频码率。
优选的,当所述MSE当前值高于所述MSE低线标准值且低于所述MSE中线标准值时,若所述原始视频码率低于所述默认视频码率,则将所述新视频码率设置为所述默认视频码率;
根据第一预设衰减率对原始视频码率进行衰减计算,生成新视频码率包括:
根据第一预设衰减率逐视频帧连续对原始视频码率进行衰减计算,生成大于或等于默认视频码率的新视频码率。
优选的,所述固定值为前一计算区间计算得到的新视频码率的平均值,或其中一指定点的新视频码率值;第一预设衰减率大于第二预设衰减率。
优选的,根据当前编码帧与上一编码帧之间各对应像素的参数变化量,对原始视频码率进行调整运算,生成新视频码率包括:
根据当前编码帧与上一编码帧之间在目标区域内的各对应像素的参数变化量,对原始视频码率进行调整运算,生成新视频码率;其中,目标区域的面积小于视频帧的图像面积。
此外,本发明还提供一种视频编码装置,装置包括存储器、处理器和总线,存储器上存储有可由总线传输至处理器并在处理器上运行的视频编码程序,视频编码程序被处理器执行时实现如上述的方法。
优选的,装置为组成CDN网络或者区块链网络的节点。
此外,本发明还提供一种视频编码***,***包括:
编码单元,用于接收视频数据并依照原始视频码率对视频数据进行编码;接收码率调整单元传入的新视频码率,并依照新视频码率继续对视频数据进行编码;
码率调整单元,用于根据当前编码帧与上一编码帧之间各对应像素的参数变化量,对原始视频码率进行调整运算,生成新视频码率并将新视频码率发送至编码单元。
此外,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有视频编码程序,视频编码程序可被一个或者多个处理器执行,以实现如上述的视频编码方法。
本发明所提供的视频编码方法,首先接收视频数据并依照原始视频码率对视频数据进行编码,进而在编码过程中根据当前编码帧与上一编码帧之间各相对应的像素的参数变化量,对原始视频码率进行调整运算并生成新视频编码,进而依照新视频编码继续对视频数据进行编码。由于本方法是根据视频帧之间的像素的变化程度以动态的方式对视频编码过程依照的视频码率进行调整,因此当视频帧之间的像素变化程度较大时,能够对应提高后续视频编码过程中的视频码率,进而相比于现有技术中以固定视频码率对视频数据进行编码的方式而言,本方法能够相对避免在对像素变化程度较大的视频帧进行编码后,后续待编码视频帧可用的视频码率不足的情况发生,因此能够相对确保编码后视频的清晰度以及流畅度,相对保证用户在视频观看过程的体验。此外,本发明还提供一种视频编码装置、***及介质,有益效果同上所述。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种视频编码方法的流程图;
图2为本发明实施例提供的另一种视频编码方法的流程图;
图3.(a)为本发提供的场景实施例的MSE波动曲线;
图3.(b)本发提供的场景实施例中原始视频码率的视频码率调整曲线图;
图4为本发明实施例提供的一种视频编码装置。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
本发明的核心是提供一种视频编码方法,以相对确保视频编码后的清晰度及流畅度,进而相对提高用户在视频观看过程的体验。本发明的另一核心是提供一种视频编码装置、***及介质。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
实施例一
图1为本发明实施例提供的一种视频编码方法的流程图。请参考图1,视频编码方法的具体步骤包括:
步骤S10:接收视频数据并依照原始视频码率对视频数据进行编码。
需要说明的是,在本步骤中所接收的视频数据为尚未进行视频编码的视频数据,在接收到视频数据后依照原始视频编码率对该视频数据进行以视频帧为单位的视频编码。所谓视频编码就是指通过特定的压缩技术,将某个视频格式的文件压缩并转换成另一种视频格式文件的方式,由于对于视频编码的细节内容是本领域技术人员所公知的,因此在此不做赘述。
另外,需要说明的是,视频码率是视频编码过程中,数据传输时在单位时间传送的数据位数,通常的单位为kbps即千位每秒,可以理解为在编码过程中对待编码视频帧的取样率,单位时间内取样率越大,即编码后视频的清晰度就越接近原始的视频数据。本步骤中的原始视频码率相当于在本方法开始时对视频数据进行编码时的数据采样率上限。
步骤S11:根据当前编码帧与上一编码帧之间各对应像素的参数变化量,对原始视频码率进行调整运算,生成新视频码率。
由于考虑到当视频数据进行编码的过程中,当视频数据的相邻视频帧之间像素的整体变化程度较大时,需要占用较多的视频编码率对于较大量的像素进行重新采样,由于在单位时间内的编码率的可使用量是固定的,因此可能在对后续视频帧进行编码时存在编码率不足的情况,进而导致对后续各视频帧的像素的平均采样率较小,造成编码后的视频不清晰的情况。综上,本步骤的重点在于,根据对视频数据进行编码过程中的当前编码帧以及上一编码帧之间各对应像素的参数变化量,对原始视频码率进行调整运算。也就是说当相邻视频帧之间像素的整体变化程度较大时,提高原始视频码率,以此确保后续的视频帧在编码过程中具有相对充足的视频码率,相对避免出现因当前之前编码的视频帧大量占用视频码率而导致后续各视频帧的编码可用的视频码率较小,而造成编码后的视频不清晰的情况。
需要说明的是,本步骤中的上一编码帧表征的是相邻视频帧中先进行视频编码的视频帧,当前编码帧表征的是相邻视频帧中后进行视频编码的视频帧,因此当前编码帧与上一编码帧是相对而言的概念,并不特指视频编码过程中的某一个视频帧。另外,本步骤中的各对应像素的参数变化量指的是相邻视频帧各个相同位置的像素点上的像素的参数变化量,像素的参数变化率指的即为在编码过程中对像素进行的参数内容,由于是本领域技术人员所公知的内容,故在此不做赘述。
步骤S12:依照新视频码率继续对视频数据进行编码。
可以理解的是,本步骤是在对原始视频码率进行调整运算,生成新视频码率后,对视频编码过程所依照的视频码率进行修改,并继续以新视频码率继续对视频数据进行编码。
本发明所提供的视频编码方法,首先接收视频数据并依照原始视频码率对视频数据进行编码,进而在编码过程中根据当前编码帧与上一编码帧之间各相对应的像素的参数变化量,对原始视频码率进行调整运算并生成新视频编码,进而依照新视频编码继续对视频数据进行编码。由于本方法是根据视频帧之间的像素的变化程度以动态的方式对视频编码过程依照的视频码率进行调整,因此当视频帧之间的像素变化程度较大时,能够对应提高后续视频编码过程中的视频码率,进而相比于现有技术中以固定视频码率对视频数据进行编码的方式而言,本方法能够相对避免在对像素变化程度较大的视频帧进行编码后,后续待编码视频帧可用的视频码率不足的情况发生,因此能够相对确保编码后视频的清晰度以及流畅度,相对保证用户在视频观看过程的体验。
实施例二
在上述实施例的基础上,本发明还提供以下一系列优选的实施方式。
图2为本发明实施例提供的另一种视频编码方法的流程图。图2中步骤S10以及步骤S12与图1相同,在此不再赘述。
如图2所示,作为一种优选的实施方式,步骤S11包括:
步骤S20:根据当前编码帧与上一编码帧之间各对应像素的参数变化量计算MSE当前值。
需要说明的是,本实施方式通过MSE(mean-square error),即均方误差的方式计算当前编码帧与上一编码帧之间各对应像素的参数变化量。均方误差是反映估计量与被估计量之间差异程度的一种度量。本步骤中计算得到的MSE当前值反映的即为当前视频帧时间像素的参数变化量与预期量之间的差异程度。在本实施方式中,进行MSE当前值计算所采用的公式可以具体为MSE=(s1 2+s2 2+…+sn 2)/n,其中s=pixel当前帧–pixel上一帧,即为当前帧编码帧与上一编码帧在同一像素点位置下的像素的参数变化量,n为计算时在所获取的相对应的像素点的组数,本步骤中通过MSE当前值能够相对提高表征相邻视频帧的像素变化程度的准确性。
步骤S21:获取预设的MSE标准值,根据MSE当前值与MSE标准值之间的大小关系,对原始视频码率进行相应的调整运算,生成新视频码率。
本步骤中所获取的MSE标准值可以是视频帧之间的像素变化程度对整体编码资源造成影响的临界MSE值,也可以是与视频编码器的默认编码率相适应的视频帧像素变化程度对应的MSE值,进而本步骤根据MSE当前值与MSE标准值之间的大小关系,对原始视频码率进行相应的调整运算,生成新视频码率,能够进一步提高对原始视频码率进行调整的准确性。
在上述实施方式的基础上,作为一种优选的实施方式,MSE标准值包括MSE高线标准值、MSE中线标准值以及MSE低线标准值;上述三个标准值,将新视频码率的计算可划分为四个计算区间,详见下文描述;
相应的,获取预设的MSE标准值,根据MSE当前值与MSE标准值之间的大小关系,对原始视频码率进行相应的调整运算,生成新视频码率包括:
获取MSE高线标准值、MSE中线标准值以及MSE低线标准值;
收集预设数量且连续产生的MSE当前值,并获取预设的默认视频码率;
当MSE当前值高于MSE高线标准值时(第一计算区间),根据如下公式计算新视频码率R动:R动=Rdefault*(1+R补),R补=(MSE–MSE中线)*(λ/MSEavg);其中,Rdefault为默认视频码率,MSE为MSE当前值,MSE中线为MSE中线标准值,MSEavg为各MSE当前值的MSE平均值,λ为预先设定的调整常量;
当MSE当前值高于所述MSE中线标准值且低于所述MSE高线标准值时(第二计算区间),将新视频码率设置为一固定值;其中,该固定值可以是前一段计算区间计算得到的新视频码率的平均值,或其中一指定点的新视频码率值,如最大值、最小值、或起点计算得到的值、终点计算得到的值。
当MSE当前值高于MSE低线标准值且低于MSE中线标准值时(第三计算区间),判断原始视频码率是否高于默认视频码率,如果是,则根据第一预设衰减率将原始视频码率进行衰减计算直至衰减到默认视频码率以生成新视频码率,如果否,则可将新视频码率设置为默认视频码率;
当MSE当前值低于MSE低线标准值时(第四计算区间),根据第二预设衰减率对默认视频码率进行衰减计算,生成新视频码率。
需要说明的是,在本实施方式中,MSE标准值包括MSE高线标准值、MSE中线标准值以及MSE低线标准值,MSE中线标准值可以与默认视频码率对应,也就是说本实施方式中的MSE中线标准值是与视频编码器的默认编码率相适应的视频帧像素变化程度所对应的MSE值,MSE高线标准值高于MSE中线标准值,MSE低线标准值低于MSE中线标准值,进而MSE高线标准值可以表征相邻视频帧的像素变化程度对整体编码资源占用相对较高的临界MSE值,MSE低线标准值可以表征相邻视频帧的像素变化程度造成整体编码资源闲置程度较高的临界MSE值。
根据表达式R补=(MSE–MSE中线)*(λ/MSEavg)计算增长值的目的在于计算之前若干相邻视频帧之间MSE值平均高于MSE中线标准值的程度,以此作为原始视频码率的增长值,其中λ是考虑到相邻视频帧间的像素内容波动而设置的调整常量,根据实际视频编码需求而定,在此不做具体限定。
第一衰减率与第二衰减率均为技术人员根据视频编码经验而设定,在此不做具体限定。
由于对视频帧的编码是持续进行的,因此本实施方式通过收集预设数量且连续产生的MSE当前值,以此观察一段编码周期下的MSE当前值相对于MSE高线标准值、MSE中线标准值以及MSE低线标准值的变化趋势,对原始视频码率进行整体的调整运算,能够提高新视频码率的准确性,并且能够避免因相邻视频帧之间画面的像素波动而频繁调整原始视频码率,相对节省因调整视频码率而造成的整体资源开销。
在上述实施方式的基础上,作一种优选的实施方式,根据第一预设衰减率对原始视频码率进行衰减计算,生成新视频码率包括:
根据第一预设衰减率逐视频帧连续对原始视频码率进行衰减计算,生成大于或等于默认视频码率的新视频码率。
由于考虑到以某一预设衰减率一次性将原始视频码率衰减计算为新视频码率,有可能出现因为视频码率瞬间陡降而导致难以防止后续视频帧不可预料的像素内容波动,进而造成后续视频编码过程的不稳定性,本实施方式的重点在于以第一预设衰减率逐视频帧连续对原始视频码率进行衰减计算,也就是说在对后续的每一个视频帧进行编码时,均以第一预设视频衰减率的比率对当前所应用的视频码率进行衰减计算,以阶梯式的衰减方式对视频编码率进行减小,因此当存在连续的视频帧存在不可预料的像素内容波动时,能够在后续编码过程中仍具有相对足量的视频编码率应对。另外,需要强调的的是,由于MSE中线标准值是与视频编码器的默认编码率相适应的视频帧像素变化程度所对应的MSE值,因此本实施方式默认先将原始视频码率降低至默认编码率,以保证对原始视频码率衰减的初步合理性。
在上述实施方式的基础上,作为一种优选的实施方式,第一预设衰减率大于第二预设衰减率。
由于应用第一衰减率的场景往往是当前使用的视频码率已经影响到视频编码的整体稳定性,为了确保视频编码的整体稳定性,因此是对于需要对当前的视频码率进行相对大幅度的衰减。而应用第一衰减率的场景往往是当前视频编码资源已经处于相对空闲的状态,因此拥有充足的视频码率可用,为了避免相邻视频帧出现像素波动,因此以相对较小的幅度对视频码率进行调整。
在上述一系列实施方式的基础上,作为一种优选的实施方式,根据当前编码帧与上一编码帧之间各对应像素的参数变化量,对原始视频码率进行调整运算,生成新视频码率包括:
根据当前编码帧与上一编码帧之间在目标区域内的各对应像素的参数变化量,对原始视频码率进行调整运算,生成新视频码率;其中,目标区域的面积小于视频帧的图像面积。
需要说明的是,本实施方式的重点在于提取相邻视频帧的像素时,将提取像素点的目标区域限定为面积小于视频帧的图像面积,以此相对减少对像素的提取数量,减少对资源的占用,提高视频编码效率。
基于上述一系列实施方式,本实施方式提供一种待编码的视频类型为RGB32格式的视频编码的参数选取,其中,λ为0.6;第一预设衰减率为0.75;第二预设衰减率为0.15;以8x8的网格点作为当前编码帧与上一编码帧之间在目标区域的图像面积;对MSE当前值进行连续收集的预设数量为50帧。其中对MSE当前值进行收集后生成的MSE波动曲线如图3.(a)所示,MSE高线标准值、MSE中线标准值以及MSE低线标准值均在图3.(a)中示出。如图3.(b)所示的是根据MSE当前值对原始视频码率的视频码率调整曲线图。
如图3.(a)所示:
I-H段,保持码率不变,沿用上一段计算出的码率峰值,或者均值,或者I点时计算出的码率值;
H-E段,与C-D段相同处理方式;
E-F段,保持码率不变,沿用上一段计算出的码率峰值,或者均值,或者
E点时计算出的码率值;
F-B段,码率调整公式为:R动=Rdefault*(1+R补),R补=(MSE–MSE中线)*(0.6/MSEavg);
B-C段,保持码率不变,沿用上一段计算出的码率峰值,或者均值,或
者B点时计算出的码率值;
C-D段,码率调整公式:如果码率高于默认码率,则逐帧进行75%衰减直至衰减到默认码率,如果码率低于默认码率,则直接改为默认码率;
即这一阶段要将码率调整为默认码率;
D-G段,码率调整公式:R动=Rdefault*(1+R补),R补=-0.15。
实施例三
在上文中对于视频编码方法的实施例进行了详细的描述,本发明还提供一种与该方法对应的视频编码装置,由于装置部分的实施例与方法部分的实施例相互对应,因此视频编码装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
请参考图4,图4为本发明实施例提供的一种视频编码装置1,装置包括存储器11、处理器12和总线13,存储器11上存储有可由总线13传输至处理器12并在处理器12上运行的视频编码程序,视频编码程序被处理器12执行时实现如上述的视频编码方法。
该视频编码装置1可以是组成CDN网络或者区块链网络的节点。可以是组成CDN网络或者区块链网络的节点。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是装置1的内部存储单元,例如该装置1的硬盘。存储器11在另一些实施例中也可以是装置1的外部存储设备,例如装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于装置1的应用软件及各类数据,例如视频编码程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行视频编码程序等。
该总线13可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本发明所提供的视频编码装置,首先接收视频数据并依照原始视频码率对视频数据进行编码,进而在编码过程中根据当前编码帧与上一编码帧之间各相对应的像素的参数变化量,对原始视频码率进行调整运算并生成新视频编码,进而依照新视频编码继续对视频数据进行编码。由于本装置是根据视频帧之间的像素的变化程度以动态的方式对视频编码过程依照的视频码率进行调整,因此当视频帧之间的像素变化程度较大时,能够对应提高后续视频编码过程中的视频码率,进而相比于现有技术中以固定视频码率对视频数据进行编码的方式而言,本装置能够相对避免在对像素变化程度较大的视频帧进行编码后,后续待编码视频帧可用的视频码率不足的情况发生,因此能够相对确保编码后视频的清晰度以及流畅度,相对保证用户在视频观看过程的体验。
此外,本发明还提供一种视频编码***,***包括:
编码单元,用于接收视频数据并依照原始视频码率对视频数据进行编码;接收码率调整单元传入的新视频码率,并依照新视频码率继续对视频数据进行编码。
码率调整单元,用于根据当前编码帧与上一编码帧之间各对应像素的参数变化量,对原始视频码率进行调整运算,生成新视频码率并将新视频码率发送至编码单元。
本发明所提供的视频编码***,首先接收视频数据并依照原始视频码率对视频数据进行编码,进而在编码过程中根据当前编码帧与上一编码帧之间各相对应的像素的参数变化量,对原始视频码率进行调整运算并生成新视频编码,进而依照新视频编码继续对视频数据进行编码。由于本***是根据视频帧之间的像素的变化程度以动态的方式对视频编码过程依照的视频码率进行调整,因此当视频帧之间的像素变化程度较大时,能够对应提高后续视频编码过程中的视频码率,进而相比于现有技术中以固定视频码率对视频数据进行编码的方式而言,本***能够相对避免在对像素变化程度较大的视频帧进行编码后,后续待编码视频帧可用的视频码率不足的情况发生,因此能够相对确保编码后视频的清晰度以及流畅度,相对保证用户在视频观看过程的体验。
此外,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有视频编码程序,视频编码程序可被一个或者多个处理器执行,以实现如上述的视频编码方法。
本发明所提供的计算机可读存储介质,首先接收视频数据并依照原始视频码率对视频数据进行编码,进而在编码过程中根据当前编码帧与上一编码帧之间各相对应的像素的参数变化量,对原始视频码率进行调整运算并生成新视频编码,进而依照新视频编码继续对视频数据进行编码。由于本计算机可读存储介质是根据视频帧之间的像素的变化程度以动态的方式对视频编码过程依照的视频码率进行调整,因此当视频帧之间的像素变化程度较大时,能够对应提高后续视频编码过程中的视频码率,进而相比于现有技术中以固定视频码率对视频数据进行编码的方式而言,本计算机可读存储介质能够相对避免在对像素变化程度较大的视频帧进行编码后,后续待编码视频帧可用的视频码率不足的情况发生,因此能够相对确保编码后视频的清晰度以及流畅度,相对保证用户在视频观看过程的体验。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种视频编码方法,其特征在于,所述方法包括:
接收视频数据并依照原始视频码率对所述视频数据进行编码;
根据当前编码帧与上一编码帧之间各对应像素的参数变化量,对所述原始视频码率进行调整运算,生成新视频码率;
依照所述新视频码率继续对所述视频数据进行编码。
2.根据权利要求1所述的方法,其特征在于,所述根据当前编码帧与上一编码帧之间各对应像素的参数变化量,对所述原始视频码率进行调整运算,生成新视频码率包括:
根据所述当前编码帧与所述上一编码帧之间各对应像素的所述参数变化量计算MSE当前值;
获取预设的MSE标准值,根据所述MSE当前值与所述MSE标准值之间的大小关系,对所述原始视频码率进行相应的所述调整运算,生成所述新视频码率。
3.根据权利要求2所述的方法,其特征在于,所述MSE标准值包括MSE高线标准值、MSE中线标准值以及MSE低线标准值;
相应的,所述获取预设的MSE标准值,根据所述MSE当前值与所述MSE标准值之间的大小关系,对所述原始视频码率进行相应的所述调整运算,生成所述新视频码率包括:
获取所述MSE高线标准值、所述MSE中线标准值以及所述MSE低线标准值;
收集预设数量且连续产生的所述MSE当前值,并获取预设的默认视频码率;
当所述MSE当前值高于所述MSE高线标准值时,根据如下公式计算新视频码率R动:R动=Rdefault*(1+R补),R补=(MSE–MSE中线)*(λ/MSEavg);其中,Rdefault为默认视频码率,MSE为MSE当前值,MSE中线为所述MSE中线标准值,MSEavg为各所述MSE当前值的MSE平均值,λ为预先设定的调整常量;
当所述MSE当前值高于所述MSE中线标准值且低于所述MSE高线标准值时,将新视频码率设置为一固定值;
当所述MSE当前值高于所述MSE低线标准值且低于所述MSE中线标准值时,判断所述原始视频码率是否高于所述默认视频码率,如果是,则根据第一预设衰减率将所述原始视频码率进行衰减计算直至衰减到所述默认视频码率以生成所述新视频码率;
当所述MSE当前值低于所述MSE低线标准值时,根据第二预设衰减率对所述默认视频码率进行衰减计算,生成所述新视频码率。
4.根据权利要求3所述的方法,其特征在于,当所述MSE当前值高于所述MSE低线标准值且低于所述MSE中线标准值时,若所述原始视频码率低于所述默认视频码率,则将所述新视频码率设置为所述默认视频码率;
所述根据第一预设衰减率对所述原始视频码率进行衰减计算,生成所述新视频码率包括:
根据所述第一预设衰减率逐视频帧连续对所述原始视频码率进行衰减计算,生成大于或等于所述默认视频码率的所述新视频码率。
5.根据权利要求3所述的方法,其特征在于,所述固定值为前一计算区间计算得到的新视频码率的平均值,或其中一指定点的新视频码率值;所述第一预设衰减率大于所述第二预设衰减率。
6.根据权利要求1至5任意一项所述的方法,其特征在于,所述根据当前编码帧与上一编码帧之间各对应像素的参数变化量,对所述原始视频码率进行调整运算,生成新视频码率包括:
根据所述当前编码帧与上一编码帧之间在目标区域内的各对应像素的所述参数变化量,对所述原始视频码率进行所述调整运算,生成所述新视频码率;其中,所述目标区域的面积小于视频帧的图像面积。
7.一种视频编码装置,其特征在于,所述装置包括存储器、处理器和总线,所述存储器上存储有可由所述总线传输至所述处理器并在所述处理器上运行的视频编码程序,所述视频编码程序被所述处理器执行时实现如权利要求1至6任一项所述的方法。
8.根据权利要求7所述的装置,其特征在于,所述装置为组成CDN网络或者区块链网络的节点。
9.一种视频编码***,其特征在于,所述***包括:
编码单元,用于接收视频数据并依照原始视频码率对所述视频数据进行编码;接收码率调整单元传入的新视频码率,并依照所述新视频码率继续对所述视频数据进行编码;
所述码率调整单元,用于根据当前编码帧与上一编码帧之间各对应像素的参数变化量,对所述原始视频码率进行调整运算,生成新视频码率并将所述新视频码率发送至所述编码单元。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有视频编码程序,所述视频编码程序可被一个或者多个处理器执行,以实现如权利要求1至6中任一项所述的视频编码方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910098851.7A CN109729353B (zh) | 2019-01-31 | 2019-01-31 | 一种视频编码方法、装置、***及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910098851.7A CN109729353B (zh) | 2019-01-31 | 2019-01-31 | 一种视频编码方法、装置、***及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109729353A true CN109729353A (zh) | 2019-05-07 |
CN109729353B CN109729353B (zh) | 2021-01-19 |
Family
ID=66301117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910098851.7A Active CN109729353B (zh) | 2019-01-31 | 2019-01-31 | 一种视频编码方法、装置、***及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109729353B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112052293A (zh) * | 2020-09-17 | 2020-12-08 | 中国银行股份有限公司 | 去中心化信息记录方法及装置 |
CN112637631A (zh) * | 2020-12-17 | 2021-04-09 | 清华大学 | 码率确定方法、装置、电子设备和存储介质 |
CN113473131A (zh) * | 2021-07-01 | 2021-10-01 | 成都国科微电子有限公司 | 视频编码码率动态调节方法、装置、电子设备及存储介质 |
WO2021258958A1 (zh) * | 2020-06-24 | 2021-12-30 | 腾讯科技(深圳)有限公司 | 语音编码方法、装置、计算机设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5878166A (en) * | 1995-12-26 | 1999-03-02 | C-Cube Microsystems | Field frame macroblock encoding decision |
CN102067610A (zh) * | 2008-06-16 | 2011-05-18 | 杜比实验室特许公司 | 基于视频编码的切片依赖性的码率控制模型适配 |
CN102625106A (zh) * | 2012-03-28 | 2012-08-01 | 上海交通大学 | 场景自适应的屏幕编码码率控制方法及其*** |
CN103079065A (zh) * | 2012-12-27 | 2013-05-01 | 华为技术有限公司 | 一种视频数据处理方法以及装置 |
CN108012149A (zh) * | 2017-12-19 | 2018-05-08 | 四川九洲电器集团有限责任公司 | 一种视频编码中码率控制的方法 |
-
2019
- 2019-01-31 CN CN201910098851.7A patent/CN109729353B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5878166A (en) * | 1995-12-26 | 1999-03-02 | C-Cube Microsystems | Field frame macroblock encoding decision |
CN102067610A (zh) * | 2008-06-16 | 2011-05-18 | 杜比实验室特许公司 | 基于视频编码的切片依赖性的码率控制模型适配 |
CN102625106A (zh) * | 2012-03-28 | 2012-08-01 | 上海交通大学 | 场景自适应的屏幕编码码率控制方法及其*** |
CN103079065A (zh) * | 2012-12-27 | 2013-05-01 | 华为技术有限公司 | 一种视频数据处理方法以及装置 |
CN108012149A (zh) * | 2017-12-19 | 2018-05-08 | 四川九洲电器集团有限责任公司 | 一种视频编码中码率控制的方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021258958A1 (zh) * | 2020-06-24 | 2021-12-30 | 腾讯科技(深圳)有限公司 | 语音编码方法、装置、计算机设备和存储介质 |
CN112052293A (zh) * | 2020-09-17 | 2020-12-08 | 中国银行股份有限公司 | 去中心化信息记录方法及装置 |
CN112052293B (zh) * | 2020-09-17 | 2024-04-19 | 中国银行股份有限公司 | 去中心化信息记录方法及装置 |
CN112637631A (zh) * | 2020-12-17 | 2021-04-09 | 清华大学 | 码率确定方法、装置、电子设备和存储介质 |
CN112637631B (zh) * | 2020-12-17 | 2022-04-26 | 清华大学 | 码率确定方法、装置、电子设备和存储介质 |
CN113473131A (zh) * | 2021-07-01 | 2021-10-01 | 成都国科微电子有限公司 | 视频编码码率动态调节方法、装置、电子设备及存储介质 |
CN113473131B (zh) * | 2021-07-01 | 2023-12-29 | 成都国科微电子有限公司 | 视频编码码率动态调节方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109729353B (zh) | 2021-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109729353A (zh) | 一种视频编码方法、装置、***及介质 | |
CN110662044B (zh) | 一种视频编码方法、视频编码装置及计算机存储介质 | |
CN109862359A (zh) | 基于分层b帧的码率控制方法、装置和电子设备 | |
CN110267037A (zh) | 视频编码方法、装置、电子设备及计算机可读存储介质 | |
CN102457728B (zh) | 一种视频图像编码方法和装置 | |
CN104125429A (zh) | 视频数据传输的调节方法及装置 | |
CN105262699A (zh) | 一种网络自适应编码调整方法及装置 | |
CN101466035A (zh) | 一种基于h.264的视频图像组比特分配方法 | |
CN107087192A (zh) | 目标码率调整方法及装置 | |
CN114786011B (zh) | 一种jpeg图像压缩的方法、***、设备和存储介质 | |
CN106572352A (zh) | 一种关键帧大小控制方法及装置 | |
CN110062230A (zh) | 图像编码方法及装置 | |
CN107820095A (zh) | 一种长期参考图像选择方法及装置 | |
WO2023159965A1 (zh) | 一种基于视觉感知的码率控制方法及装置 | |
CN113038127A (zh) | 一种基于roi的实时视频多路并行传输码率控制方法 | |
CN102143360B (zh) | 一种图像编码的方法及设备 | |
CN109218722A (zh) | 一种视频编码方法、装置及设备 | |
CN110855908B (zh) | 多方视频混屏方法、装置、网络设备及存储介质 | |
CN103796036A (zh) | 调节编码参数的方法和装置 | |
CN111107359A (zh) | 一种适用于hevc标准的帧内预测编码单元划分方法 | |
CN109951706A (zh) | 一种视频编码方法、装置及编码器 | |
CN108737826B (zh) | 一种视频编码的方法和装置 | |
CN106921840A (zh) | 一种即时视频中的人脸美化方法、设备及*** | |
CN105959731B (zh) | 一种数字电视的统计复用编码方法 | |
CN107071405B (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 |