一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

视频编码方法、装置、电子设备以及可读存储介质与流程

2022-12-20 21:33:30 来源:中国专利 TAG:


1.本发明涉及流媒体视频编码及码率控制技术领域,具体涉及一种视频编码方法、装置、电子设备以及可读存储介质。


背景技术:

2.视频应用中流媒体的传输,需要先对视频进行压缩,根据当前网络吞吐量及缓冲区大小情况,实时控制视频的码率,从而确保视频流畅播放。因此,码率控制在视频压缩中起着至关重要的作用,合理的码率控制策略能够显著的提高用户的观看体验。
3.码率控制过程可以划分为两个部分:为编码单元分配消耗的比特数;通过计算编码单元的量化参数(quantization parameter,qp)来确定编码单元的消耗比特数与图像失真率之间的关系,继而通过该模型对编码单元进行编码处理。当前的视频编码方法是在码率控制过程中采用缓冲区来保证码率控制过程的平滑度,并根据缓冲区的状态来线性地调整编码单元的比特数消耗,如mpeg-2、mpeg-4、h.261/h.263、h.264/avc、h.264/svc以及hevc/h.265等。这些编码方法只能减少控制误差,但不能实际地消除此误差。
4.然而,实际控制过程中的目标码率与实际码率的误差大小是实时变化的,同时也存在当前网络吞吐量、时延情况、缓冲区大小等干扰的影响,这些都会导致码率控制时间的不可控,造成不同幅度的抖动时延,严重影响了用户的观看体验。


技术实现要素:

5.有鉴于此,本发明实施例提供了一种视频编码方法、装置、电子设备以及可读存储介质,以解决现有视频编码方法导致码率控制时间不可控的问题。
6.根据第一方面,本发明实施例提供了一种视频编码方法,包括:获取当前视频帧对应的目标比特数以及实际比特数;基于所述实际比特数与所述目标比特数之间的误差,控制所述实际比特数在目标时间内跟踪至所述目标比特数;基于预设模型以及所述目标比特数,确定所述当前视频帧对应的量化参数;采用预设编码方法对所述量化参数进行编码处理,得到视频编码信息。
7.本发明实施例提供的视频编码方法,通过实际比特数与目标比特数之间的误差,控制当前视频帧的实际比特数在目标时间内跟踪至目标比特数,并结合目标比特数以及预设模型确定相应的量化参数,对量化参数进行编码处理,实现针对于当前视频帧的编码。由此无需采用缓冲区来调整视频帧的比特数消耗,提高了编码的实时响应,减少了编码延迟。同时,结合实际比特数与目标比特数之间的误差控制跟踪至目标比特数的目标时间,实现了对于视频码率控制时间的调整,消除了实时变化的码率误差对视频编码的影响,最大程度上避免了抖动时延,提高了编码效率,保证了用户的观看体验。
8.结合第一方面,在第一方面的第一实施方式中,获取当前视频帧对应的目标比特数,包括:获取视频编码单元所对应图像组的比特数,所述图像组包括全帧压缩帧、前向预测帧以及双向预测帧;基于所述比特数以及不同类型的编码帧在所述图像组中所占权重,
确定所述当前视频帧的目标比特数。
9.结合第一方面第一实施方式,在第一方面的第二实施方式中,所述获取视频编码单元所对应图像组的比特数,包括:获取所述图像组对应的帧率、图片数量以及目标比特率;确定所述目标比特率与所述帧率的比值;基于所述比值与所述图片数量,确定所述图像组对应的比特数。
10.本发明实施例提供的视频编码方法,结合图像组的比特数以及不同类型编码帧所占比重确定当前视频帧的目标比特数,便于为当前视频帧分配准确的目标比特数。
11.结合第一方面,在第一方面的第三实施方式中,所述基于所述实际比特数与所述目标比特数之间的误差,控制所述实际比特数在目标时间内跟踪至所述目标比特数,包括:获取当前网络吞吐量、相邻视频帧的时延变化量以及预设调整参数,所述预设调整参数用于控制所述实际比特数收敛至所述目标比特数的时间;基于所述预设调整参数构建所述当前网络吞吐量、相邻视频帧的时延变化量与所述目标时间的自适应关系;基于所述自适应关系控制所述实际比特数跟踪至所述目标比特数的目标时间。
12.本发明实施例提供的视频编码方法,通过构建目标时间与当前网络吞吐量以及时延变化量之间的自适应关系,在实现码率控制时间可预设调整的基础上,能够有效抑制因吞吐量较高或时延变化较大等因素对码率控制的影响,提高了码率的可控性,使得码率控制过程更为平滑,提高了视频观看的流畅度。
13.结合第一方面第三实施方式,在第一方面的第四实施方式中,所述方法还包括:获取已编码的历史视频帧的平均码率;基于所述平均码率矫正所述目标比特数。
14.本发明实施例提供的视频编码方法,通过已编码的历史视频帧的平均码率对当前视频帧的目标比特数进行矫正,以保证当前视频帧的目标比特数处于合理的区间,避免前后帧的编码差异太大而影响视频画面质量。
15.结合第一方面,在第一方面的第五实施方式中,所述量化参数包括帧内量化参数,所述基于预设模型以及所述目标比特数,确定所述当前视频帧对应的量化参数,包括:判断当前视频帧是否为帧间编码的视频帧;当所述当前视频帧为所述帧内编码的视频帧时,根据所述预设模型计算帧内量化参数。
16.结合第一方面第五实施方式,在第一方面的第六实施方式中,所述量化参数还包括帧间量化参数,所述基于预设模型以及所述目标比特数,确定所述当前视频帧对应的量化参数,还包括:当所述当前视频帧为所述帧间编码的视频帧,获取已编码的历史视频帧对应的峰值噪声比以及所述帧内量化参数的补偿值;基于所述帧内量化参数的补偿值确定所述帧间量化参数。
17.本发明实施例提供的视频编码方法,通过确定帧间量化参数以及帧内量化参数,并采用预设编码方法对帧间量化参数以及帧内量化参数进行编码处理,实现了对于当前视频帧的编码,保证了用户的视频观看体验。
18.根据第二方面,本发明实施例提供了一种视频编码装置,包括:获取模块,用于获取当前视频帧对应的目标比特数、实际比特数以及像素数;控制模块,用于基于所述实际比特数与所述目标比特数之间的误差,控制所述实际比特数在目标时间内跟踪至所述目标比特数;确定模块,用于基于预设模型以及所述目标比特数,确定所述当前视频帧对应的量化参数;编码模块,用于采用预设编码方法对所述量化参数进行编码处理,得到视频编码信
息。
19.根据第三方面,本发明实施例提供了一种电子设备,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一方面或第一方面任一实施方式所述的视频编码方法。
20.根据第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使计算机执行第一方面或第一方面任一实施方式所述的视频编码方法。
21.需要说明的是,本发明实施例提供的视频编码装置、电子设备以及计算机可读存储介质的相应有益效果,请参见视频编码方法中相应内容的描述,在此不再赘述。
附图说明
22.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
23.图1是根据本发明实施例的视频编码方法的流程图;
24.图2是根据本发明实施例的视频编码方法的另一流程图;
25.图3是根据本发明实施例的视频编码方法的又一流程图;
26.图4是根据本发明实施例的视频流的结构图;
27.图5是根据本发明实施例的固定时间滑模控制器的示意图;
28.图6是根据本发明实施例的视频编码装置的结构框图;
29.图7是本发明实施例提供的电子设备的硬件结构示意图。
具体实施方式
30.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
31.根据本发明实施例,提供了一种视频编码的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
32.在本实施例中提供了一种视频编码方法,可用于电子设备,如手机、平板电脑、电脑等,图1是根据本发明实施例的视频编码方法的流程图,如图1所示,该流程包括如下步骤:
33.s11,获取当前视频帧对应的目标比特数以及实际比特数。
34.当前视频帧为视频编码单元中的待编码视频帧,视频编码单元可以为图像组(group of picture,gop),当前视频帧为gop中的某一个待编码视频帧。
35.目标比特数表示对当前视频帧进行编码所消耗的比特数。电子设备可以使用hevc/h.265编码中h0213码率控制算法,得到当前gop中视频帧的帧率、目标比特率及图片数量,再依此得到各个gop中对应的目标比特数,并为gop中各个视频帧分配相应的目标比特数。
36.实际比特数为实际检测到的当前视频帧所对应的比特数。电子设备可以对视频编码单元进行实时监测,采集实际分配至编码单元的比特数,并确定分配至编码单元中各个视频帧的实际比特数。
37.s12,基于实际比特数与目标比特数之间的误差,控制实际比特数在目标时间内跟踪至目标比特数。
38.对实际比特数与目标比特数进行对比,若实际比特数与目标比特数不一致,则确定实际比特数与目标比特数之间的误差。目标时间为实际比特数收敛至目标比特数所需的时间,该目标时间即为码率控制时间。
39.具体地,电子设备可以基于固定时间滑模控制器(fixed-time sliding model controller,fsmc)构建误差与目标时间的自适应关系,使得当前视频帧的实际比特数在有限的目标时间内收敛至给定的目标比特数。对于任意的实际比特数而言,无论当前视频帧的误差为何值,其实际比特数都能被控制在目标时间内收敛至目标比特数。该目标时间是可控的,由自适应关系中的预设调整参数决定。其中,预设调整参数用于控制实际比特数收敛至目标比特数的时间。
40.具体地,如图5所示,固定时间滑模控制器可由固定时间滑模面s与滑模趋近率ε两部分组成:
[0041][0042][0043]
其中,a、b、h、λ、p、q、m与n为预设调整参数,a》0,b》0,h》0,0《λ《1,p》q,m》n,p、q、m、n均为正奇数。此处对于预设调整参数的具体值不作限定,本领域技术人员可以根据实际应用中的环境及硬件因素等予以确定。
[0044]
固定时间滑模控制器能够控制其固定收敛于由于每个视频帧画面所需消耗的码率是固定的,码率单位为比特/秒,由此在确定出收敛帧数j
max
后,当前视频帧当前所收敛的目标比特数也随之确定。继而根据该目标比特数与码率即可计算出收敛时间,即实际比特数跟踪至目标比特数的目标时间。
[0045]
s13,基于预设模型以及目标比特数,确定当前视频帧对应的量化参数。
[0046]
量化参数用于反映视频帧的空间细节压缩情况。该量化参数的值越小,量化越精细,图像质量越高,产生的码流也越长。预设模型为用于计算量化参数的模型,例如像素级的统一r-q模型。
[0047]
量化参数包括帧内量化参数与帧间量化参数。帧内量化参数为当前视频帧对应的量化参数,帧间量化参数为相邻视频帧之间的量化参数。
[0048]
以预设模型为像素级的统一r-q模型为例,在确定当前视频帧收敛至目标比特数之后,将目标比特数输入至统一r-q模型,即可得到帧内量化参数。根据已编码的视频帧的峰值噪声比,对已编码的视频帧的平均帧内量化参数进行调谐补偿,即可确定当前视频帧对应的帧间量化参数。
[0049]
s14,采用预设编码方法对量化参数进行编码处理,得到视频编码信息。
[0050]
预设编码方法为预先设定的用于进行帧编码的方法。该预设编码方法可以h.261/h.263、h.264/avc、h.264/svc以及hevc/h.265等,此处不作具体限定,本领域技术人员可以根据实际需求选择编码方法。
[0051]
以hevc/h.265为例,根据计算得到的当前视频帧的帧内量化参数与帧间量化参数,使用hevc/h.265编码方法中的编码器对当前视频帧进行编码处理,得到当前视频帧对应的视频编码信息。
[0052]
在当前视频帧编码完成后,更新gop中待编码视频帧的比特数分配权重、目标比特数与实际比特数之间误差,以及量化参数。并根据更新后的数据继续进行下一帧或下一gop的编码处理,直至完成各视频帧的编码处理,得到各视频帧对应的视频编码信息,并基于该视频编码信息生成视频流。
[0053]
本实施例提供的视频编码方法,通过实际比特数与目标比特数之间的误差,控制当前视频帧的实际比特数在目标时间内跟踪至目标比特数,并结合目标比特数以及预设模型确定相应的量化参数,对量化参数进行编码处理,实现针对于当前视频帧的编码。由此无需采用缓冲区来调整视频帧的比特数消耗,提高了编码的实时响应,减少了编码延迟。同时,结合实际比特数与目标比特数之间的误差控制跟踪至目标比特数的目标时间,实现了对于视频码率控制时间的调整,消除了实时变化的码率误差对视频编码的影响,最大程度上避免了抖动时延,提高了编码效率,保证了用户的观看体验。
[0054]
在本实施例中提供了一种视频编码方法,可用于电子设备,如手机、平板电脑、电脑等,图2是根据本发明实施例的视频编码方法的流程图,如图2所示,该流程包括如下步骤:
[0055]
s21,获取当前视频帧对应的目标比特数以及实际比特数。
[0056]
具体地,上述步骤s21可以包括:
[0057]
s211,获取当前视频帧对应的实际比特数。
[0058]
详细说明参见上述实施例对应的相关描述,此处不再赘述。
[0059]
s212,获取视频编码单元所对应图像组的比特数。其中,该图像组包括全帧压缩帧、前向预测帧以及双向预测帧。
[0060]
多个gop连接构成视频流,一个gop通常由1个全帧压缩帧(intra picture,i帧)、数个双向预测帧(bi-directional interpolated prediction frame,b帧)以及前向预测帧(predictive-frame,p帧)构成,如图4所示的视频流结构图。
[0061]
作为一个可选的实施方式,上述步骤s212可以包括:
[0062]
(1)获取图像组对应的帧率、图片数量以及目标比特率。
[0063]
使用码率控制方法采集当前gop对应的帧率、目标比特率及图片数量。例如,采用hevc/h.265编码中h0213码率控制算法,得到当前gop对应的帧率、目标比特率以及gop所含有的图片数量。
[0064]
(2)确定目标比特率与帧率的比值。
[0065]
若获取得到的当前图像组的目标比特率为t
rate
,帧率为f
rate
,则可以确定出目标比特率与帧率的比值t
rate
/f
rate

[0066]
(3)基于比值与图片数量,确定图像组对应的比特数。
[0067]
根据比值与图片数量确定当前图像组所对应的比特数的表达式如下:
[0068][0069]
其中,t
gop
表示分配给当前gop的比特数,f
rate
表示当前gop的帧率,n
gop
表示当前gop中的图片数量,t
rate
表示当前gop的目标比特率。
[0070]
以图4所示的视频流为例,依据上述方法可以得到该视频流中的各个gop所对应的比特数。
[0071]
s213,基于比特数以及不同类型的编码帧在图像组中所占权重,确定当前视频帧的目标比特数。
[0072]
当得到当前gop的比特数后,根据当前gop内所包含的i帧、b帧及p帧在gop中所占的权重,将该比特数分配至当前gop内所包含的i帧、b帧及p帧,得到当前gop中的各个视频帧对应的目标比特数。具体地,确定各个视频帧的目标比特数的表达式如下:
[0073][0074]
其中,t
i,j
表示第i个gop中的第j帧的目标比特数,中的x表示当前视频帧的类型,可以是i,b或p,分别对应i帧、p帧、b帧的图片数量,分别为i帧、p帧、b帧的权重。
[0075]
作为一个可选的实施方式,以p帧的权重作为参考,该默认为1,i帧的权重与b帧的权重可以通过以下表达式确定:
[0076][0077]
其中,分别为已编码的i帧、p帧、b帧的平均峰值噪声比,则为i帧、p帧、b帧的平均比特数。及均可以通过码率控制方法(如hevc/h.265编码中h0213码率控制方法)得到。
[0078]
s22,基于实际比特数与目标比特数之间的误差,控制实际比特数在目标时间内跟
踪至目标比特数。
[0079]
具体地,上述步骤s22可以包括:
[0080]
s221,获取当前网络吞吐量以及相邻视频帧的时延变化量。
[0081]
当前网络吞吐量为没有视频帧丢失情况下所能接受视频帧的最大速率。时延变化量为接收相邻视频帧的时延差异。
[0082]
电子设备可以监测一定周期内其接受视频帧的速率,从中确定出最大速率,该最大速率即为当前网络吞吐量。同时,记录各个视频帧的接收时间,确定出相邻视频帧之间的时延差,并将该时延差确定为时延变化量。
[0083]
s222,构建当前网络吞吐量、相邻视频帧的时延变化量与目标时间的自适应关系。
[0084]
基于当前网络吞吐量、相邻视频帧的时延变化量与目标时间,利用固定时间滑模面构建其自适应关系,如图5所示。通过固定时间滑模面构建得到的自适应关系的表达式为:
[0085][0086]
其中,tc表示目标时间;w表示当前网络吞吐量;δts表示时延变化量。a、b为预设调整参数,且a》0,b》0。
[0087]
s223,基于自适应关系控制实际比特数跟踪至目标比特数的目标时间。
[0088]
当网络吞吐量较高或时延变化量较大时,根据该自适应关系对预设调整参数进行调整,以实现对目标时间的控制。同时,结合上述实施例所述的固定时间滑模控制器能够控制视频帧固定收敛于帧数j
max
,而帧数j
max
由预设调整参数决定,由此在码率控制时间可调整的基础上,能够有效抑制网络吞吐量较高或时延变化量较大等干扰因素对码率控制的影响,提高了码率控制的稳定性。
[0089]
作为一个可选的实施方式,如图2所示,在步骤s22之后,上述方法还可以包括:
[0090]
s23,获取已编码的历史视频帧的平均码率。
[0091]
已编码的历史视频帧为gop中已完成编码的视频帧。由于未完成编码的视频帧不存在编码信息,因此通过检测视频帧是否存在相应的编码信息即可区分出未编码视频帧和已编码视频帧。平均码率通过目标比特率t
rate
与帧率f
rate
的比值确定,即平均码率为t
rate
/f
rate

[0092]
s24,基于平均码率矫正目标比特数。
[0093]
对当前视频帧所分配到的目标比特数进行矫正,如图5所示,使其不得超过已编码的历史视频帧所对应的平均码率的2倍,且不得低于已编码的历史视频帧的平均码率的1/4,以防止相邻视频帧的编码差异较大而影响观看体验。
[0094]
具体的矫正方式如下:
[0095]
t
i,j
=max{t
rate
/(4
·frate
),min{t
i,j
,(2
·
t
rate
)/f
rate
}}
[0096]
其中,f
rate
表示帧率,t
rate
表示目标比特率。
[0097]
s25,基于预设模型以及目标比特数,确定当前视频帧对应的量化参数。
[0098]
详细说明参见上述实施例对应的相关描述,此处不再赘述。
[0099]
s26,采用预设编码方法对量化参数进行编码处理,得到视频编码信息。
[0100]
详细说明参见上述实施例对应的相关描述,此处不再赘述。
[0101]
本实施例提供的视频编码方法,结合图像组的比特数以及不同类型编码帧所占比
重确定当前视频帧的目标比特数,便于为当前视频帧分配准确的目标比特数。通过构建目标时间与当前网络吞吐量以及时延变化量之间的自适应关系,在实现码率控制时间可预设调整的基础上,能够有效抑制因吞吐量较高或时延变化较大等因素对码率控制的影响,提高了码率的可控性,使得码率控制过程更为平滑,提高了视频观看的流畅度。通过已编码的历史视频帧的平均码率对当前视频帧的目标比特数进行矫正,以保证当前视频帧的目标比特数处于合理的区间,避免前后帧的编码差异太大而影响视频画面质量。
[0102]
在本实施例中提供了一种视频编码方法,可用于电子设备,如手机、平板电脑、电脑等,图3是根据本发明实施例的视频编码方法的流程图,如图3所示,该流程包括如下步骤:
[0103]
s31,获取当前视频帧对应的目标比特数以及实际比特数。
[0104]
详细说明参见上述实施例对应的相关描述,此处不再赘述。
[0105]
s32,基于实际比特数与目标比特数之间的误差,控制实际比特数在目标时间内跟踪至目标比特数。
[0106]
详细说明参见上述实施例对应的相关描述,此处不再赘述。
[0107]
s33,基于预设模型以及目标比特数,确定当前视频帧对应的量化参数。
[0108]
具体地,量化参数包括帧内量化参数和帧间量化参数,相应地,上述步骤s33可以包括:
[0109]
s331,判断当前视频帧是否为帧间编码的视频帧。
[0110]
帧间编码的视频帧为需要结合前后相邻视频帧进行编码的视频帧。电子设备检测当前视频帧与其他视频帧之间的关联性,以确定当前视频帧是否为帧间编码的视频帧。若当前视频帧为帧内编码的视频帧,执行步骤s332,否则执行步骤s333。
[0111]
s332,根据预设模型计算帧内量化参数。
[0112]
预设模型为像素级的统一r-q模型。若当前视频帧为帧内编码的视频帧,表示当前视频帧的编码为本帧的编码,无需考虑其他视频帧的编码信息。利用像素级的统一r-q模型确定帧内量化参数具体表达式如下:
[0113][0114]
其中,n
i,j
表示当前视频帧的像素数;mad
i,j
表示当前视频帧的预测平均绝对差,l
i,j
与h
i,j
为每个视频帧更新后计算得到的r-q模型参数。
[0115]
s333,获取已编码的历史视频帧对应的峰值噪声比以及帧内量化参数的补偿值。
[0116]
若当前视频帧为帧间编码的视频帧,则通过码率控制方法(如hevc/h.265的码率控制方法)确定已编码的历史视频帧对应的峰值噪声比。
[0117]
帧内量化参数的补偿值δqp的初始值δqp0为1,随着每个视频帧的编码,帧内量化参数的补偿值δqp随之更新,其更新方式为:
[0118]
δqp=δqp0 (psnr
i,j-1-psnr
ave
)/θ
[0119]
其中,δqp表示帧内量化参数的补偿值;psnr
i,j-1
表示上一视频帧的峰值噪声比;psnr
ave
为已编码的历史视频帧的平均峰值噪声比;θ为调谐参数,其范围处于0~1,可根据实际需求进行调优。
[0120]
s334,基于帧内量化参数的补偿值确定帧间量化参数。
[0121]
帧间量化参数的确定方式如下:
[0122][0123]
其中,表示当前视频帧对应的帧间量化参数;表示已编码的历史视频帧的帧间量化参数平均值;δqp表示帧内量化参数的补偿值。
[0124]
s34,采用预设编码方法对量化参数进行编码处理,得到视频编码信息。
[0125]
详细说明参见上述实施例对应的相关描述,此处不再赘述。
[0126]
本实施例提供的视频编码方法,通过确定帧间量化参数以及帧内量化参数,并采用预设编码方法对帧间量化参数以及帧内量化参数进行编码处理,实现了对于当前视频帧的编码,保证了用户的视频观看体验。
[0127]
在本实施例中还提供了一种视频编码装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或软件和硬件的组合的实现也是可能并被构想的。
[0128]
本实施例提供一种视频编码装置,如图6所示,包括:
[0129]
获取模块41,用于获取当前视频帧对应的目标比特数以及实际比特数。
[0130]
控制模块42,用于基于实际比特数与目标比特数之间的误差,控制实际比特数在目标时间内跟踪至目标比特数。
[0131]
确定模块43,用于基于预设模型以及目标比特数,确定当前视频帧对应的量化参数。
[0132]
编码模块44,用于采用预设编码方法对量化参数进行编码处理,得到视频编码信息。
[0133]
可选地,上述获取模块41可以包括:
[0134]
第一获取子模块,用于获取当前视频帧对应的实际比特数。
[0135]
第二获取子模块,用于获取视频编码单元所对应图像组的比特数。其中,该图像组包括全帧压缩帧、前向预测帧以及双向预测帧。
[0136]
第一确定子模块,用于基于比特数以及不同类型的编码帧在图像组中所占权重,确定当前视频帧的目标比特数。
[0137]
具体地,上述第二获取模块用于获取图像组对应的帧率、图片数量以及目标比特率;确定目标比特率与帧率的比值;基于比值与图片数量,确定图像组对应的比特数。
[0138]
可选地,上述控制模块42可以包括:
[0139]
第三获取子模块,用于获取当前网络吞吐量以及相邻视频帧的时延变化量。
[0140]
构建子模块,用于构建当前网络吞吐量、相邻视频帧的时延变化量与目标时间的自适应关系。
[0141]
跟踪子模块,用于基于自适应关系控制实际比特数跟踪至目标比特数的目标时间。
[0142]
可选地,上述视频编码装置还可以包括:
[0143]
码率获取模块,用于获取已编码的历史视频帧的平均码率。
[0144]
矫正模块,用于基于平均码率矫正目标比特数。
[0145]
可选地,量化参数包括帧内量化参数和帧间量化参数,相应地,上述确定模块43可以包括:
[0146]
判断子模块,用于判断当前视频帧是否为帧间编码的视频帧。
[0147]
第一计算子模块,用于若当前视频帧为帧内编码的视频帧,根据预设模型计算帧内量化参数。
[0148]
第二确定子模块,用于若当前视频帧为帧间编码的视频帧,获取已编码的历史视频帧对应的峰值噪声比以及帧内量化参数的补偿值。
[0149]
第三确定子模块,用于基于帧内量化参数的补偿值确定帧间量化参数。
[0150]
本实施例中的视频编码装置是以功能单元的形式来呈现,这里的单元是指asic电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
[0151]
上述各模块的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
[0152]
本实施例提供的视频编码装置,通过实际比特数与目标比特数之间的误差,控制当前视频帧的实际比特数在目标时间内跟踪至目标比特数,并结合目标比特数以及预设模型确定相应的量化参数,对量化参数进行编码处理,实现针对于当前视频帧的编码。由此无需采用缓冲区来调整视频帧的比特数消耗,提高了编码的实时响应,减少了编码延迟。同时,结合实际比特数与目标比特数之间的误差控制跟踪至目标比特数的目标时间,实现了对于视频码率控制时间的调整,消除了实时变化的码率误差对视频编码的影响,最大程度上避免了抖动时延,提高了编码效率,保证了用户的观看体验。
[0153]
本发明实施例还提供一种电子设备,具有上述图6所示的视频编码装置。
[0154]
请参阅图7,图7是本发明可选实施例提供的一种电子设备的结构示意图,如图7所示,该电子设备可以包括:至少一个处理器501,例如中央处理器(central processing unit,cpu),至少一个通信接口503,存储器504,至少一个通信总线502。其中,通信总线502用于实现这些组件之间的连接通信。其中,通信接口503可以包括显示屏(display)、键盘(keyboard),可选通信接口503还可以包括标准的有线接口、无线接口。存储器504可以是高速易挥发性随机存取存储器(random access memory,ram),也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器504可选的还可以是至少一个位于远离前述处理器501的存储装置。其中处理器501可以结合图6所描述的装置,存储器504中存储应用程序,且处理器501调用存储器504中存储的程序代码,以用于执行上述任一方法步骤。
[0155]
其中,通信总线502可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。通信总线502可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0156]
其中,存储器504可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,ram);存储器也可以包括非易失性存储器(non-volatile memory),例如快闪存储器(flash memory),硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd);存储器504还可以包括上述种类的存储器的组合。
[0157]
其中,处理器501可以是中央处理器(central processing unit,cpu),网络处理器(network processor,np)或者cpu和np的组合。
[0158]
其中,处理器501还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,asic),可编程逻辑器件(programmable logic device,pld)或其组合。上述pld可以是复杂可编程逻辑器件(complex programmable logic device,cpld),现场可编程逻辑门阵列(field-programmable gate array,fpga),通用阵列逻辑(generic array logic,gal)或其任意组合。
[0159]
可选地,存储器504还用于存储程序指令。处理器501可以调用程序指令,实现如本技术图1至图3实施例中所示的视频编码方法。
[0160]
本发明实施例还提供了一种非暂态计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的视频编码方法。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)、随机存储记忆体(random access memory,ram)、快闪存储器(flash memory)、硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd)等;所述存储介质还可以包括上述种类的存储器的组合。
[0161]
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献