CN107493478B - 编码帧率设置方法及设备 - Google Patents
编码帧率设置方法及设备 Download PDFInfo
- Publication number
- CN107493478B CN107493478B CN201710784024.4A CN201710784024A CN107493478B CN 107493478 B CN107493478 B CN 107493478B CN 201710784024 A CN201710784024 A CN 201710784024A CN 107493478 B CN107493478 B CN 107493478B
- Authority
- CN
- China
- Prior art keywords
- frame rate
- coding
- rate
- frame
- encoding
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000007423 decrease Effects 0.000 claims abstract description 19
- 238000010586 diagram Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 230000003247 decreasing effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000006467 substitution reaction 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/146—Data rate or code amount at the encoder output
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明实施例提供了一种编码帧率设置方法及设备,其中,该方法包括:判断当前编码帧的类型是否为I帧;若是,获取所述当前编码帧的编码分辨率i、编码码率X0;根据所述当前编码帧的编码分辨率i、所述当前编码帧的编码码率X0在预设数据表中查找对应的所述当前编码帧的编码帧率Y0,并将所述当前编码帧的编码帧率Y0设置到编码器,其中,所述预设数据表包括不同的编码分辨率下,不同编码码率各自对应的编码帧率,其中,当编码分辨率固定时,平均码率随着编码帧率的下降而升高,所述平均码率为所述编码码率与所述编码帧率的比值。实施本发明实施例可以根据视频编码中编码帧率的变化动态调节平均码率,保证视频质量的稳定性。
Description
技术领域
本发明涉及图像处理领域,尤其涉及一种编码帧率设置方法及设备。
背景技术
随着信息时代的到来,自媒体应运而生。每个用户都可以成为信息的传播者,人们可以通过各种各样的传播形式将信息传递给信息接收者,其中,传播形式包括文字传播、图片传播、音频传播、视频传播等。随着互联网技术快速发展,用户越来越倾向于选择在线视频实时直播的方式,与他人分享一些趣闻或进行现场个人才艺表演,人们可以使用个人电脑或移动终端等进行视频直播(或视频通话)。
视频直播(或视频通话)非常注重实时性,如何在有限的带宽资源下既保证视频传播的实时性,又满足用户一定的视频质量要求,是人们一直研究的问题。视频直播(或视频通话)涉及到对直播视频进行采集、编码和上传的步骤。现有技术中,编码系统在设置编码帧率时,不论编码帧率的高低,平均每帧的码率是一样的,即平均码率是固定不变的。而当编码帧率高的时候,视频相关性强;当编码帧率低的时候,视频相关性弱。如果设置一样的平均码率,会导致编码帧率高的时候视频质量会优于编码帧率低的时候,即视频质量受编码帧率的影响而不稳定。
发明内容
本发明实施例提供了一种编码帧率设置方法及设备,解决现有技术中由于编码帧率发生变化导致视频质量不稳定的技术问题。
第一方面,本发明实施例提供了一种编码帧率设置方法,包括:
判断当前编码帧的类型是否为I帧;
若是,获取所述当前编码帧的编码分辨率i、编码码率X0;
根据所述当前编码帧的编码分辨率i、所述当前编码帧的编码码率X0在预设数据表中查找对应的所述当前编码帧的编码帧率Y0,并将所述当前编码帧的编码帧率Y0设置到编码器,其中,所述预设数据表包括不同的编码分辨率下,不同编码码率各自对应的编码帧率,其中,当编码分辨率固定时,平均码率随着编码帧率的下降而升高,所述平均码率为所述编码码率与所述编码帧率的比值。
结合第一方面,在第一方面的第一种实现方式中,所述判断当前编码帧的类型是否为I帧之前,所述方法还包括:生成预设数据表。
结合第一方面的第一种实现方式,在第一方面的第二种实现方式中,所述生成数据表包括:
获取分辨率为k时,编码帧率Yk的取值范围[第一帧率阈值,第二帧率阈值],其中,所述第一帧率阈值、所述第二帧率阈值及所述编码帧率Yk均为正整数,所述第二帧率阈值为分辨率为k时对应的最大帧率Ymax;
从所述编码帧率Yk为最大帧率Ymax开始,依次计算所述编码帧率Yk为所述取值范围内的每一个值时对应的编码码率Xk;
保存分辨率为k时,所有编码帧率Yk及所述所有编码帧率Yk各自对应的编码码率Xk,生成预设数据表。
结合第一方面的第二种实现方式,在第一方面的第三种实现方式中,所述获取分辨率为k时,编码帧率Yk的取值范围[第一帧率阈值,第二帧率阈值]之前,所述方法还包括:
获取分辨率为k时对应的最大码率Xmax及最大帧率Ymax;
所述从所述编码帧率Yk为最大帧率Ymax开始,依次计算所述编码帧率Yk为所述取值范围内的每一个值时对应的编码码率Xk,包括:
当编码帧率Yk为第二帧率阈值Ymax时,编码帧率Yk对应的编码码率Xk为Yk*Zk,Zk为编码帧率Yk为最大帧率Ymax时对应的平均码率Zmax;
当编码帧率Yk小于第二帧率阈值时,判断Yk是否大于第一帧率值;
若是,将编码帧率Yk下降1为Yk-1;
计算编码帧率Yk下降1为Yk-1后对应的编码码率Xk为(Yk-1)*A*Zk,并重新执行所述当编码帧率Yk小于第二帧率阈值时,判断Yk是否大于第一帧率值;其中,所述Zk为编码帧率为Yk时对应的平均码率,所述A大于1;当所述编码帧率Yk=Ymax时,所述Xk=Xmax。
结合第一方面的第三种实现方式,在第一方面的第四种实现方式中,所述平均码率随着编码帧率的下降而升高,包括:当所述编码帧率Yk下降1为Yk-1时,对应的平均码率为A*Zk,其中,所述A包括1.1。
第二方面,本发明实施例提供了一种编码帧率设置设备,其特征在于,包括:
存储器,用于存储编码帧率设置指令;
处理器,用于调用所述存储器中的编码帧率设置指令,并执行以下步骤:
判断当前编码帧的类型是否为I帧;
若是,获取所述当前编码帧的编码分辨率i、编码码率X0;
根据所述当前编码帧的编码分辨率i、所述当前编码帧的编码码率X0在预设数据表中查找对应的所述当前编码帧的编码帧率Y0,并将所述当前编码帧的编码帧率Y0设置到编码器,其中,所述预设数据表包括不同的编码分辨率下,不同编码码率各自对应的编码帧率,其中,当编码分辨率固定时,平均码率随着编码帧率的下降而升高,所述平均码率为所述编码码率与所述编码帧率的比值。
结合第二方面,在第二方面的第一种实现方式中,所述判断当前编码帧的类型是否为I帧之前,所述处理器还用于:生成数据表。
结合第二方面的第一种实现方式,在第二方面的第二种实现方式中,所述处理器生成数据表包括:
获取分辨率为k时,编码帧率Yk的取值范围[第一帧率阈值,第二帧率阈值],其中,所述第一帧率阈值、所述第二帧率阈值及所述编码帧率Yk均为正整数,所述第二帧率阈值为分辨率为k时对应的最大帧率Ymax;
从所述编码帧率Yk为最大帧率Ymax开始,依次计算所述编码帧率Yk为所述取值范围内的每一个值时对应的编码码率Xk;
保存分辨率为k时,所有编码帧率Yk及所述所有编码帧率Yk各自对应的编码码率Xk,生成预设数据表。
结合第二方面的第二种实现方式,在第二方面的第三种实现方式中,所述获取分辨率为k时,编码帧率Yk的取值范围[第一帧率阈值,第二帧率阈值]之前,所述处理器还用于:获取分辨率为k时对应的最大码率Xmax及最大帧率Ymax;
所述处理器从所述编码帧率Yk为最大帧率Ymax开始,依次计算所述编码帧率Yk为所述取值范围内的每一个值时对应的编码码率Xk,包括:
当编码帧率Yk为第二帧率阈值Ymax时,编码帧率Yk对应的编码码率Xk为Yk*Zk,Zk为编码帧率Yk为最大帧率Ymax时对应的平均码率Zmax;
当编码帧率Yk小于第二帧率阈值时,判断Yk是否大于第一帧率值;
若是,将编码帧率Yk下降1为Yk-1;
计算编码帧率Yk下降1为Yk-1后对应的编码码率Xk为(Yk-1)*A*Zk,并重新执行所述当编码帧率Yk小于第二帧率阈值时,判断Yk是否大于第一帧率值;其中,所述Zk为编码帧率为Yk时对应的平均码率,所述A大于1;当所述编码帧率Yk=Ymax时,所述Xk=Xmax。
结合第二方面的第三种实现方式,在第二方面的第四种实现方式中,所述平均码率随着编码帧率的下降而升高,包括:当所述编码帧率Yk下降1为Yk-1时,对应的平均码率为A*Zk,其中,所述A包括1.1。
第三方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质存储有程序,所述程序执行时包括本发明实施例第一方面,或者第一方面的第一种可能的实现方式,或者第一方面的第二种可能的实现方式,或者第一方面的第三种可能的实现方式,或者第一方面的第四种可能的实现方式中公开的编码帧率设置方法。
可以看出,本发明实施例提供了一种编码帧率设置方法,通过判断当前编码帧的类型是否为I帧;若是,获取所述当前编码帧的编码分辨率i、编码码率X0;根据所述当前编码帧的编码分辨率i、所述当前编码帧的编码码率X0在预设数据表中查找对应的所述当前编码帧的编码帧率Y0,并将所述当前编码帧的编码帧率Y0设置到编码器,其中,所述预设数据表包括不同的编码分辨率下,不同编码码率各自对应的编码帧率,其中,当编码分辨率固定时,平均码率随着编码帧率的下降而升高,所述平均码率为所述编码码率与所述编码帧率的比值。可以根据视频编码中编码帧率的变化动态调节平均码率,保证视频质量的稳定性,解决了现有技术中由于编码帧率发生变化导致视频质量不稳定的技术问题。另外,本发明实施例通过预先生成数据表的方式,直接在数据表中查找当前编码码率对应的编码帧率,计算量小,编码效率高。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的编码的场景示意图;
图2为本发明实施例提供的一种编码帧率设置方法的流程示意图;
图3为本发明实施例提供的另一种编码帧率设置方法的流程示意图;
图4为本发明实施例提供的一种生成数据表方法的流程示意图;
图5为本发明实施例提供的一种编码码率Xk的计算方法流程示意图;
图6为本发明实施例提供的一种编码帧率设置装置结构图;
图7为本发明实施例提供的另一种编码帧率设置装置结构图;
图8为本发明实施例提供的一种生成模块结构图;
图9为本发明实施例提供的一种编码帧率设置设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
结合图1示出的本发明实施例提供的编码的场景示意图,直播用户或直播方可以通过带摄像功能或摄像装置的电脑、移动终端等电子设备,采集录取视频,电子设备对视频进行编码,然后通过网络发送给对应的服务器,服务器将编码的视频数据发送给另一端的电子设备,以便观看该视频的用户通过该另一端的电子设备接收该视频数据,进行解码后进行播放。
需要说明的是,该服务器可以提供一个视频直播或视频通话的平台,用户可以在登陆该平台进行视频直播的发起或观看。
下面结合图2示出的本发明实施例提供的编码帧率设置方法的流程示意图,详细说明本发明如何进行视频编码,包括以下步骤:
步骤S101:判断当前编码帧的类型是否为I帧。
具体地,在视频编码中I帧为关键帧,其他类型的帧(例如P帧、B帧等)在视频编码中都是以I帧为参考进行编码的。且解码时,只需要I帧的数据就可以重构完整的图像。所以,本发明实施例提供的编码帧率设置方法是针对I帧提出的,只有当当前编码帧的类型为I帧时,方可执行后续步骤。
步骤S103:若是,获取当前编码帧的编码分辨率i、编码码率X0。
具体地,编码系统可以支持多种分辨率,例如可以是720*480、1280*720等。当当前编码帧的类型为I帧时,获取当前编码帧的编码分辨率i、编码码率X0。
步骤S105:根据当前编码帧的编码分辨率i、编码码率X0在预设数据表中查找对应的当前编码帧的编码帧率Y0,并将编码帧率Y0设置到编码器。
具体地,预设数据表包括不同的编码分辨率下,不同编码码率各自对应的编码帧率,其中,当编码分辨率固定时,平均码率随着编码帧率的下降而升高,平均码率为编码码率与该编码码率对应的编码帧率的比值。即该预设数据表包括两个变量(编码分辨率及编码码率),由这两个变量可以共同决定编码码率的值。
实施本发明实施例,可以通过判断当前编码帧的类型是否为I帧;若是,获取所述当前编码帧的编码分辨率i、编码码率X0;根据所述当前编码帧的编码分辨率i、所述当前编码帧的编码码率X0在预设数据表中查找对应的所述当前编码帧的编码帧率Y0,并将所述当前编码帧的编码帧率Y0设置到编码器,其中,所述预设数据表包括不同的编码分辨率下,不同编码码率各自对应的编码帧率,其中,当编码分辨率固定时,平均码率随着编码帧率的下降而升高,所述平均码率为所述编码码率与所述编码帧率的比值。可以根据视频编码中编码帧率的变化动态调节平均码率,保证视频质量的稳定性,解决了现有技术中由于编码帧率发生变化导致视频质量不稳定的技术问题。
进一步地,下面分别结合图3和图4再详细举例说明本发明实施例提供的编码设置方法以及编码设置方法中如何生成数据表。
首先请参见图3。图3为本发明实施例提供的另外一种编码设置方法的流程示意图。如图3所示,编码设置方法至少可以包括以下几个步骤:
步骤S201:获取分辨率为k时对应的最大码率Xmax及最大帧率Ymax。
具体地,分辨率k可以为至少一种,即编码系统可以支持多次分辨率,例如可以是720*480、1280*720等。分别获取每一种分辨率下的最大码率Xmax及最大帧率Ymax。以下仅以分辨率固定为某一种时为例进行说明。
步骤S202:生成预设数据表。
具体地,预设数据表包括不同的编码分辨率下,不同编码码率各自对应的编码帧率,其中,当编码分辨率固定时,平均码率随着编码帧率的下降而升高,平均码率为编码码率与该编码码率对应的编码帧率的比值。即该预设数据表包括两个变量(编码分辨率及编码码率),由这两个变量可以共同决定编码码率的值。具体地,生成预设数据表具体可以包括以下几个步骤,如图4所示:
步骤S2021:获取分辨率为k时,编码帧率Yk的取值范围[第一帧率阈值,第二帧率阈值]。
具体的,第一帧率阈值、第二帧率阈值及编码帧率Yk均为正整数,第二帧率阈值为分辨率为k时对应的最大帧率Ymax;第一帧率阈值为预设的分辨率为k时对应的最低帧率,第一帧率阈值的取值例如可以是1、2、5等正整数。取值范围[第一帧率阈值,第二帧率阈值]由从第一帧率阈值到第二帧率阈值范围内的每一个正整数组成,包括第一帧率阈值及第二帧率阈值。编码帧率Yk可以取该取值范围内的任意一个正整数。
具体的,获取分辨率为k时,编码帧率Yk的取值范围[第一帧率阈值,第二帧率阈值]之前,还应该获取分辨率为k时对应的最大码率Xmax及最大帧率Ymax。因此,分辨率为k时,最大帧率Ymax对应的平均码率Zmax为Xmax/Ymax。
步骤S2022:从编码帧率Yk为最大帧率Ymax开始,依次计算编码帧率Yk为取值范围内的每一个值时对应的编码码率Xk。
具体的,当编码帧率Yk为最大帧率Ymax时,该编码帧率Yk对应的编码码率Xk为Yk*Zk,此时,Zk即为编码帧率Yk为最大帧率Ymax时最大帧率Ymax对应的平均码率Zmax。
当编码帧率Yk为非最大帧率时,即第一帧率阈值≤Yk<Ymax时,编码码率Xk的计算方法如图5所示,编码码率Xk的计算方法包括以下几个步骤:
步骤S301:当Yk小于第二帧率阈值时,判断Yk是否大于第一帧率值。若是,则执行步骤S302;若否,则结束流程。
步骤S302:将编码帧率Yk下降1为Yk-1。
步骤S303:计算编码帧率Yk下降1为Yk-1后对应的编码码率Xk为(Yk-1)*A*Zk,并重新执行步骤S301。其中,所述Zk为编码帧率为Yk时对应的平均码率,所述A大于1。
可以看出,编码帧率Yk下降1为Yk-1时,编码帧率Yk-1对应的编码码率Xk为(Yk-1)*A*Zk,因此平均码率为A*Zk,其中,Zk为编码帧率为Yk时对应的平均码率,所述A大于1,A的取值例如可以是1.01、1.02、1.05、1.1、1.2等。编码帧率Yk可以取上述取值范围[第一帧率阈值,第二帧率阈值]内的每一个值,从最大帧率Ymax开始依次下降1直到编码帧率Yk为第一帧率阈值,分别计算每一个编码帧率对应的编码码率。
可以知道的是,分辨率为k时,当编码帧率下降之后,按照上述公式计算出来的编码码率大于分辨率为k时对应的最大码率时,那么将该编码帧率对应的编码码率设置为该最大码率。
例如,假设A=1.01,分辨率为i时的最大码率为1024Kbps,最大帧率为30fps,那么最大帧率时对应的平均码率为1024/30=34。当编码帧率为29fps时,对应的编码码率为29*1.01*34=995Kbps,此时的平均码率为35.35。
步骤S2023:保存分辨率为k时,所有编码帧率Yk及所有编码帧率Yk各自对应的编码码率Xk,生成预设数据表。
具体地,系统可以支持至少一种分辨率,即k的取值为至少一个。预设数据表可以包括不同的分辨率下,不同的编码帧率各自对应的编码码率。
步骤S203:判断当前编码帧的类型是否为I帧。
具体地,步骤S203与步骤S101一致,在此不再赘述。
步骤S204:若是,获取当前编码帧的编码分辨率i、编码码率X0。
具体地,步骤S204与步骤S103一致,在此不再赘述。
步骤S205:根据当前编码帧的编码分辨率i、当前编码帧的编码码率X0在预设数据表中查找对应的当前编码帧的编码码率Y0,并将编码帧率Y0设置到编码器。
具体地,步骤S205与步骤S105一致,在此不再赘述。
实施本发明实施例,可以通过判断当前编码帧的类型是否为I帧;若是,获取所述当前编码帧的编码分辨率i、编码码率X0;根据所述当前编码帧的编码分辨率i、所述当前编码帧的编码码率X0在预设数据表中查找对应的所述当前编码帧的编码帧率Y0,并将所述当前编码帧的编码帧率Y0设置到编码器,其中,所述预设数据表包括不同的编码分辨率下,不同编码码率各自对应的编码帧率,其中,当编码分辨率固定时,平均码率随着编码帧率的下降而升高,所述平均码率为所述编码码率与所述编码帧率的比值。可以根据视频编码中编码帧率的变化动态调节平均码率,保证视频质量的稳定性,解决了现有技术中由于编码帧率发生变化导致视频质量不稳定的技术问题。
上述详细阐述了本发明实施例的方法,下面为了便于更好地实施本发明实施例的上述方案,相应地,下面还提供用于配合实施上述方案的相关装置。
如图6示出的本发明实施例提供的视频编码装置的结构示意图,编码帧率设置装置40可以包括:判断模块410、第一获取模块420、查找设置模块430;其中,
判断模块410用于判断当前编码帧的类型是否为I帧;
第一获取模块420用于当判断模块410判断出当前编码帧的类型为I帧时,获取所述当前编码帧的编码分辨率i、编码码率X0;
查找设置模块430用于根据所述当前编码帧的编码分辨率i、所述当前编码帧的编码码率X0在预设数据表中查找对应的所述当前编码帧的编码帧率Y0,并将所述当前编码帧的编码帧率Y0设置到编码器,其中,所述预设数据表包括不同的编码分辨率下,不同编码码率各自对应的编码帧率,其中,当编码分辨率固定时,平均码率随着编码帧率的下降而升高,所述平均码率为所述编码码率与所述编码帧率的比值。
在一个可能的实施例中,编码帧率设置装置40除了可以包括判断模块410、第一获取模块420、查找设置模块430之外,还可以包括生成模块440,如图7所示,其中,生成模块440用于在判断模块410判断当前编码帧的类型是否为I帧之前,生成预设数据表。
在一个可能的实施例中,生成模块440至少可以包括:获取单元4410、计算单元4420、保存单元4430;如图8所示其中,
获取单元4410用于获取分辨率为k时,编码帧率Yk的取值范围[第一帧率阈值,第二帧率阈值],其中,所述第一帧率阈值、所述第二帧率阈值及所述编码帧率Yk均为正整数,所述第二帧率阈值为分辨率为k时对应的最大帧率Ymax;
计算单元4420用于从所述编码帧率Yk为最大帧率Ymax开始,依次计算所述编码帧率Yk为所述取值范围内的每一个值时对应的编码码率Xk;
保存单元4430用于保存分辨率为k时,所有编码帧率Yk及所述所有编码帧率Yk各自对应的编码码率Xk,生成预设数据表。
在一个可能的实施例中,编码帧率设置装置40除了可以包括判断模块410、第一获取模块420、查找设置模块430、生成模块440之外,还可以包括第二获取模块,用于在生成模块440生成预设数据表之前,获取分辨率为k时对应的最大码率Xmax及最大帧率Ymax;
计算单元4520具体用于计算所述取值范围内的每一个值对应的编码码率Xk,当编码帧率Yk为第二帧率阈值时,该编码帧率Yk对应的编码码率Xk为Yk*Zk,此时,Zk即为编码帧率Yk为最大帧率Ymax时最大帧率Ymax对应的平均码率Zmax;
当编码帧率Yk小于第二帧率阈值时,判断Yk是否大于第一帧率值;
若是,将编码帧率Yk下降1为Yk-1;
计算编码帧率Yk下降1为Yk-1后对应的编码码率Xk为(Yk-1)*A*Zk,并重新执行所述当Yk小于第二帧率阈值时,判断Yk是否大于第一帧率值;其中,所述Zk为编码帧率为Yk时对应的平均码率,所述A大于1。
在一个可能的实施例中,平均码率随着编码帧率的下降而升高,当所述编码帧率Yk下降1为Yk-1时,对应的平均码率为A*Zk,其中,所述A包括1.1。
可理解的是,本实施例的编码帧率设置装置40的各功能模块的功能可根据上述方法实施例中的方法具体实现,此处不再赘述。
请参阅图9,图9是本发明实施例提供的编码帧率设置设备的结构示意图。其中,如图9所示,编码帧率设置设备50可以包括:至少一个处理器501,例如CPU,至少一个网络接口504,用户接口503,存储器505,至少一个通信总线502,可选地,还可以包括显示屏506。其中,通信总线502用于实现这些组件之间的连接通信。其中,用户接口503可以包括触摸屏、键盘或鼠标等等。网络接口504可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通过网络接口504可以与服务器建立通信连接。存储器505可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器,存储器505包括本发明实施例中的flash。存储器505可选的还可以是至少一个位于远离前述处理器501的存储系统。如图9所示,作为一种计算机存储介质的存储器505中可以包括操作系统、网络通信模块、用户接口模块以及编码帧率设置指令。
处理器501可以用于调用存储器505中存储的编码帧率设置指令,并执行以下操作:
判断当前编码帧的类型是否为I帧;
若是,获取所述当前编码帧的编码分辨率i、编码码率X0;
根据所述当前编码帧的编码分辨率i、所述当前编码帧的编码码率X0在预设数据表中查找对应的所述当前编码帧的编码帧率Y0,并将所述当前编码帧的编码帧率Y0设置到编码器,其中,所述预设数据表包括不同的编码分辨率下,不同编码码率各自对应的编码帧率,其中,当编码分辨率固定时,平均码率随着编码帧率的下降而升高,所述平均码率为所述编码码率与所述编码帧率的比值。
在一个可能的实施例中,所述判断当前编码帧的类型是否为I帧之前,所述处理器501还用于:生成数据表。
在一个可能的实施例中,处理器501生成数据表包括:
获取分辨率为k时,编码帧率Yk的取值范围[第一帧率阈值,第二帧率阈值],其中,所述第一帧率阈值、所述第二帧率阈值及所述编码帧率Yk均为正整数,所述第二帧率阈值为分辨率为k时对应的最大帧率Ymax;
从所述编码帧率Yk为最大帧率Ymax开始,依次计算所述编码帧率Yk为所述取值范围内的每一个值时对应的编码码率Xk;
保存分辨率为k时,所有编码帧率Yk及所述所有编码帧率Yk各自对应的编码码率Xk,生成预设数据表。
在一个可能的实施例中,所述获取分辨率为k时,编码帧率Yk的取值范围[第一帧率阈值,第二帧率阈值]之前,处理器501还用于:获取分辨率为k时对应的最大码率Xmax及最大帧率Ymax;
处理器501从所述编码帧率Yk为最大帧率Ymax开始,依次计算所述编码帧率Yk为所述取值范围内的每一个值时对应的编码码率Xk,包括:
当编码帧率Yk为第二帧率阈值时,该编码帧率Yk对应的编码码率Xk为Yk*Zk,此时,Zk即为编码帧率Yk为最大帧率Ymax时最大帧率Ymax对应的平均码率Zmax;
当编码帧率Yk小于第二帧率阈值时,判断Yk是否大于第一帧率值;
若是,将编码帧率Yk下降1为Yk-1;
计算编码帧率Yk下降1为Yk-1后对应的编码码率Xk为(Yk-1)*A*Zk,并重新执行所述当Yk小于第二帧率阈值时,判断Yk是否大于第一帧率值;其中,所述Zk为编码帧率为Yk时对应的平均码率,所述A大于1。
在一个可能的实施例中,平均码率随着编码帧率的下降而升高,当所述编码帧率Yk下降1为Yk-1时,对应的平均码率为A*Zk,其中,所述A包括1.1。
需要说明的是,本发明实施例中的编码帧率设置装置40或编码帧率设置设备50包括但不限于个人计算机、移动电脑、平板电脑、移动电话、个人数字助理(Personal DigitalAssistant,PDA)、智能电视、智能手表、智能眼镜、智能手环等具有摄像或录像功能的电子设备上。
综上所述,实施本发明实施例,可以通过判断当前编码帧的类型是否为I帧;若是,获取所述当前编码帧的编码分辨率i、编码码率X0;根据所述当前编码帧的编码分辨率i、所述当前编码帧的编码码率X0在预设数据表中查找对应的所述当前编码帧的编码帧率Y0,并将所述当前编码帧的编码帧率Y0设置到编码器,其中,所述预设数据表包括不同的编码分辨率下,不同编码码率各自对应的编码帧率,其中,当编码分辨率固定时,平均码率随着编码帧率的下降而升高,所述平均码率为所述编码码率与所述编码帧率的比值。可以根据视频编码中编码帧率的变化动态调节平均码率,保证视频质量的稳定性,解决了现有技术中由于编码帧率发生变化导致视频质量不稳定的技术问题。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例装置中的模块可以根据实际需要进行合并、划分和删减。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种编码帧率设置方法,其特征在于,包括:
判断当前编码帧的类型是否为I帧;
若是,获取所述当前编码帧的编码分辨率i、编码码率X0;
根据所述当前编码帧的编码分辨率i、所述当前编码帧的编码码率X0在预设数据表中查找对应的所述当前编码帧的编码帧率Y0,并将所述当前编码帧的编码帧率Y0设置到编码器,其中,所述预设数据表包括不同的编码分辨率下,不同编码码率各自对应的编码帧率,其中,当编码分辨率固定时,平均码率随着编码帧率的下降而升高,所述平均码率为所述编码码率与所述编码帧率的比值。
2.如权利要求1所述的方法,其特征在于,所述判断当前编码帧的类型是否为I帧之前,所述方法还包括:生成预设数据表。
3.如权利要求2所述的方法,其特征在于,所述生成预设数据表包括:
获取分辨率为k时,编码帧率Yk的取值范围[第一帧率阈值,第二帧率阈值],其中,所述第一帧率阈值、所述第二帧率阈值及所述编码帧率Yk均为正整数,所述第二帧率阈值为分辨率为k时对应的最大帧率Ymax;所述第一帧率阈值为分辨率为k时对应的最低帧率;
从所述编码帧率Yk为最大帧率Ymax开始,依次计算所述编码帧率Yk为所述取值范围内的每一个值时对应的编码码率Xk;
保存分辨率为k时,所有编码帧率Yk及所述所有编码帧率Yk各自对应的编码码率Xk,生成预设数据表。
4.如权利要求3所述的方法,其特征在于,所述获取分辨率为k时,编码帧率Yk的取值范围[第一帧率阈值,第二帧率阈值]之前,所述方法还包括:
获取分辨率为k时对应的最大码率Xmax及最大帧率Ymax;
所述从所述编码帧率Yk为最大帧率Ymax开始,依次计算所述编码帧率Yk为所述取值范围内的每一个值时对应的编码码率Xk,包括:
当编码帧率Yk为第二帧率阈值Ymax时,编码帧率Yk对应的编码码率Xk为Yk*Zk,Zk为编码帧率Yk为最大帧率Ymax时对应的平均码率Zmax;
当编码帧率Yk小于第二帧率阈值时,判断Yk是否大于第一帧率值;
若是,将编码帧率Yk下降1为Yk-1;
计算编码帧率Yk下降1为Yk-1后对应的编码码率Xk为(Yk-1)*A*Zk,并重新执行所述当编码帧率Yk小于第二帧率阈值时,判断Yk是否大于第一帧率值;其中,所述Zk为编码帧率为Yk时对应的平均码率,所述A大于1;当所述编码帧率Yk=Ymax时,所述Xk=Xmax。
5.如权利要求4所述的方法,其特征在于,所述平均码率随着编码帧率的下降而升高,包括:当所述编码帧率Yk下降1为Yk-1时,对应的平均码率为A*Zk,其中,所述A包括1.1。
6.一种编码帧率设置设备,其特征在于,包括:
存储器,用于存储编码帧率设置指令;
处理器,用于调用所述存储器中的编码帧率设置指令,并执行以下步骤:
判断当前编码帧的类型是否为I帧;
若是,获取所述当前编码帧的编码分辨率i、编码码率X0;
根据所述当前编码帧的编码分辨率i、所述当前编码帧的编码码率X0在预设数据表中查找对应的所述当前编码帧的编码帧率Y0,并将所述当前编码帧的编码帧率Y0设置到编码器,其中,所述预设数据表包括不同的编码分辨率下,不同编码码率各自对应的编码帧率,其中,当编码分辨率固定时,平均码率随着编码帧率的下降而升高,所述平均码率为所述编码码率与所述编码帧率的比值。
7.如权利要求6所述的设备,其特征在于,所述判断当前编码帧的类型是否为I帧之前,所述处理器还用于:生成数据表。
8.如权利要求7所述的设备,其特征在于,所述处理器生成数据表包括:
获取分辨率为k时,编码帧率Yk的取值范围[第一帧率阈值,第二帧率阈值],其中,所述第一帧率阈值、所述第二帧率阈值及所述编码帧率Yk均为正整数,所述第二帧率阈值为分辨率为k时对应的最大帧率Ymax;所述第一帧率阈值为分辨率为k时对应的最低帧率;
从所述编码帧率Yk为最大帧率Ymax开始,依次计算所述编码帧率Yk为所述取值范围内的每一个值时对应的编码码率Xk;
保存分辨率为k时,所有编码帧率Yk及所述所有编码帧率Yk各自对应的编码码率Xk,生成预设数据表。
9.如权利要求8所述的设备,其特征在于,所述获取分辨率为k时,编码帧率Yk的取值范围[第一帧率阈值,第二帧率阈值]之前,所述处理器还用于:获取分辨率为k时对应的最大码率Xmax及最大帧率Ymax;
所述处理器从所述编码帧率Yk为最大帧率Ymax开始,依次计算所述编码帧率Yk为所述取值范围内的每一个值时对应的编码码率Xk,包括:
当编码帧率Yk为第二帧率阈值Ymax时,编码帧率Yk对应的编码码率Xk为Yk*Zk,Zk为编码帧率Yk为最大帧率Ymax时对应的平均码率Zmax;
当编码帧率Yk小于第二帧率阈值时,判断Yk是否大于第一帧率值;
若是,将编码帧率Yk下降1为Yk-1;
计算编码帧率Yk下降1为Yk-1后对应的编码码率Xk为(Yk-1)*A*Zk,并重新执行所述当编码帧率Yk小于第二帧率阈值时,判断Yk是否大于第一帧率值;其中,所述Zk为编码帧率为Yk时对应的平均码率,所述A大于1;当所述编码帧率Yk=Ymax时,所述Xk=Xmax。
10.如权利要求9所述的设备,其特征在于,所述平均码率随着编码帧率的下降而升高,包括:当所述编码帧率Yk下降1为Yk-1时,对应的平均码率为A*Zk,其中,所述A包括1.1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710784024.4A CN107493478B (zh) | 2017-09-01 | 2017-09-01 | 编码帧率设置方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710784024.4A CN107493478B (zh) | 2017-09-01 | 2017-09-01 | 编码帧率设置方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107493478A CN107493478A (zh) | 2017-12-19 |
CN107493478B true CN107493478B (zh) | 2020-04-14 |
Family
ID=60651412
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710784024.4A Active CN107493478B (zh) | 2017-09-01 | 2017-09-01 | 编码帧率设置方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107493478B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108111532A (zh) * | 2018-01-05 | 2018-06-01 | 上海小蚁科技有限公司 | 视频流数据的播放控制方法及装置、存储介质、终端 |
CN108540807B (zh) * | 2018-02-28 | 2019-05-31 | 北京达佳互联信息技术有限公司 | 视频文件转码的方法、装置及终端 |
CN111882626B (zh) * | 2020-08-06 | 2023-07-14 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、服务器及介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102457728A (zh) * | 2010-10-27 | 2012-05-16 | 杭州华三通信技术有限公司 | 一种视频图像编码方法和装置 |
CN102724502A (zh) * | 2012-06-11 | 2012-10-10 | 华为技术有限公司 | 一种视频编码中码率的控制方法及装置 |
CN103096084A (zh) * | 2013-01-29 | 2013-05-08 | 海能达通信股份有限公司 | 一种无线传输中码率自适应调节的方法、装置及系统 |
CN103702119A (zh) * | 2013-12-20 | 2014-04-02 | 电子科技大学 | 低延迟视频编码基于可变帧率的码率控制方法 |
CN104270649A (zh) * | 2014-10-28 | 2015-01-07 | 中怡(苏州)科技有限公司 | 影像编码装置及影像编码方法 |
CN105025249A (zh) * | 2014-04-22 | 2015-11-04 | 中国移动通信集团江苏有限公司 | 视频监控数据传输控制方法、装置及视频监控系统 |
CN105100800A (zh) * | 2015-09-11 | 2015-11-25 | Tcl集团股份有限公司 | 视频编码器编码码率调节方法及装置 |
WO2015188678A1 (zh) * | 2014-06-13 | 2015-12-17 | 珠海全志科技股份有限公司 | 移动设备视频流传输控制方法及系统 |
CN105208388A (zh) * | 2014-06-24 | 2015-12-30 | 深圳市腾讯计算机系统有限公司 | 视频通讯中动态调整编码帧率的方法和系统 |
CN105282547A (zh) * | 2014-07-03 | 2016-01-27 | 深圳市腾讯计算机系统有限公司 | 一种视频编码的码率控制方法及装置 |
-
2017
- 2017-09-01 CN CN201710784024.4A patent/CN107493478B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102457728A (zh) * | 2010-10-27 | 2012-05-16 | 杭州华三通信技术有限公司 | 一种视频图像编码方法和装置 |
CN102724502A (zh) * | 2012-06-11 | 2012-10-10 | 华为技术有限公司 | 一种视频编码中码率的控制方法及装置 |
CN103096084A (zh) * | 2013-01-29 | 2013-05-08 | 海能达通信股份有限公司 | 一种无线传输中码率自适应调节的方法、装置及系统 |
CN103702119A (zh) * | 2013-12-20 | 2014-04-02 | 电子科技大学 | 低延迟视频编码基于可变帧率的码率控制方法 |
CN105025249A (zh) * | 2014-04-22 | 2015-11-04 | 中国移动通信集团江苏有限公司 | 视频监控数据传输控制方法、装置及视频监控系统 |
WO2015188678A1 (zh) * | 2014-06-13 | 2015-12-17 | 珠海全志科技股份有限公司 | 移动设备视频流传输控制方法及系统 |
CN105208388A (zh) * | 2014-06-24 | 2015-12-30 | 深圳市腾讯计算机系统有限公司 | 视频通讯中动态调整编码帧率的方法和系统 |
CN105282547A (zh) * | 2014-07-03 | 2016-01-27 | 深圳市腾讯计算机系统有限公司 | 一种视频编码的码率控制方法及装置 |
CN104270649A (zh) * | 2014-10-28 | 2015-01-07 | 中怡(苏州)科技有限公司 | 影像编码装置及影像编码方法 |
CN105100800A (zh) * | 2015-09-11 | 2015-11-25 | Tcl集团股份有限公司 | 视频编码器编码码率调节方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107493478A (zh) | 2017-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106303157B (zh) | 一种视频降噪处理方法及视频降噪处理装置 | |
CN109391585B (zh) | 视频数据处理方法、装置、终端及计算机可读存储介质 | |
EP4007289A1 (en) | Video uploading method and apparatus, electronic device, and storage medium | |
US11138715B2 (en) | Method and apparatus for determining experience quality of VR multimedia | |
CN108347580B (zh) | 一种处理视频帧数据的方法及电子设备 | |
CN107493478B (zh) | 编码帧率设置方法及设备 | |
KR101629226B1 (ko) | 다자간 비디오 통신에서의 비디오 코딩 방법 및 단말기 | |
CN113225585B (zh) | 一种视频清晰度的切换方法、装置、电子设备以及存储介质 | |
CN112929747B (zh) | 基于网络反馈的视频编码方法、装置、设备及存储介质 | |
EP3316582B1 (en) | Multimedia information processing method and system, standardized server and live broadcast terminal | |
CN110996122B (zh) | 视频帧传输方法、装置、计算机设备及存储介质 | |
CN103517072A (zh) | 视频通信方法和设备 | |
CN113992883B (zh) | 视频会议处理方法、处理设备、会议系统以及存储介质 | |
CN108235075B (zh) | 视频质量等级匹配方法、计算机可读存储介质及终端 | |
CN114979755A (zh) | 投屏方法、装置、终端设备及计算机可读存储介质 | |
CN105208388B (zh) | 视频通讯中动态调整编码帧率的方法和系统 | |
CN114222156A (zh) | 视频剪辑方法、装置、计算机设备和存储介质 | |
CN103929682A (zh) | 一种在视频直播系统中设置关键帧的方法及装置 | |
CN111107387B (zh) | 视频转码方法、装置及计算机存储介质 | |
CN106254873B (zh) | 一种视频编码方法及视频编码装置 | |
CN106506326B (zh) | 一种视频通话方法、终端及系统 | |
CN116962613A (zh) | 数据传输方法及装置、计算机设备、存储介质 | |
CN115442615A (zh) | 一种视频编码方法、装置、电子设备及存储介质 | |
US9830946B2 (en) | Source data adaptation and rendering | |
CN112804457B (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20231010 Address after: 31a, 15 / F, building 30, maple mall, bangrang Road, Brazil, Singapore Patentee after: Baiguoyuan Technology (Singapore) Co.,Ltd. Address before: 511449 25th floor, building B-1, Wanda Plaza North, Wanbo business district, 79 Wanbo 2nd Road, Nancun Town, Panyu District, Guangzhou City, Guangdong Province Patentee before: GUANGZHOU BAIGUOYUAN NETWORK TECHNOLOGY Co.,Ltd. |
|
TR01 | Transfer of patent right |