CN107027030A - 一种码率分配方法及其设备 - Google Patents

一种码率分配方法及其设备 Download PDF

Info

Publication number
CN107027030A
CN107027030A CN201710139993.4A CN201710139993A CN107027030A CN 107027030 A CN107027030 A CN 107027030A CN 201710139993 A CN201710139993 A CN 201710139993A CN 107027030 A CN107027030 A CN 107027030A
Authority
CN
China
Prior art keywords
frames
code check
current
frame
rate
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
Application number
CN201710139993.4A
Other languages
English (en)
Other versions
CN107027030B (zh
Inventor
毛煦楠
谷沉沉
时永方
高安林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201710139993.4A priority Critical patent/CN107027030B/zh
Publication of CN107027030A publication Critical patent/CN107027030A/zh
Priority to PCT/CN2018/077983 priority patent/WO2018161867A1/zh
Priority to EP18763053.8A priority patent/EP3595304B1/en
Application granted granted Critical
Publication of CN107027030B publication Critical patent/CN107027030B/zh
Priority to US16/362,415 priority patent/US10834405B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/146Data rate or code amount at the encoder output
    • H04N19/149Data 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明实施例公开一种码率分配方法及其设备,其中方法包括如下步骤:获取编码视频的当前帧内预测帧I帧,并获取与所述当前I帧相关联的码率特征参数,所述码率特征参数包括所述当前I帧所在的视频帧组中视频帧的个数、所述当前I帧的像素点数量以及所述当前I帧之前的历史帧间预测帧P帧中帧内预测宏块所占比值;采用所述码率特征参数分别获取所述当前I帧的最大码率集合;根据所述最大码率集合生成所述当前I帧的分配码率。采用本发明,可以根据GOP的大小、图像分辨率和视频特点多元化对I帧的分配码率进行限制,可以提升对部分场景中I帧码率分配的合理性,保证视频文件的质量。

Description

一种码率分配方法及其设备
技术领域
本发明涉及电子技术领域,尤其涉及一种码率分配方法及其设备。
背景技术
随着电子科技的不断的开发和完善,手机和平板电脑等终端已经成为了人们生活中不可或缺的一个部分,人们不仅可以利用这些终端进行休闲娱乐(例如,观看视频),还可以对视频文件进行存储、传输和交流等操作。
随着技术的发展,为便于存储、传输和交流视频文件,需要对视频文件进行编码处理,提高视频文件中I帧(帧内预测帧)的性能,由于I帧作为后续帧间预测的参考帧,因此需要为I帧分配合适的码率以保证视频文件的质量。现有技术中,I帧码率分配方法主要根据前一个以I帧起始的一组视频帧(Group of Picture,GOP)的I帧和帧间预测帧(P帧)的实际码率比例分配当前GOP的I帧和P帧的码率比例,并结合量化步长调整码率分配比例,再根据缓冲区剩码率限制I帧最大目标码率,然而,由于只根据单一条件(例如:缓冲区码率等)设置码率最大值,降低了对部分场景中I帧码率分配的合理性,影响了视频文件的质量。
发明内容
本发明实施例提供一种码率分配方法及其设备,可以根据GOP的大小、图像分辨率和视频特点多元化对I帧的分配码率进行限制,可以提升对部分场景中I帧码率分配的合理性,保证视频文件的质量。
本发明实施例第一方面提供了一种码率分配方法,包括:
获取编码视频的当前帧内预测帧I帧,并获取与所述当前I帧相关联的码率特征参数,所述码率特征参数包括所述当前I帧所在的视频帧组中视频帧的个数、所述当前I帧的像素点数量以及所述当前I帧之前的历史帧间预测帧P帧中帧内预测宏块所占比值;
采用所述码率特征参数分别获取所述当前I帧的最大码率集合;
根据所述最大码率集合生成所述当前I帧的分配码率。
本发明实施例第二方面提供了一种码率分配设备,包括:
参数获取单元,用于获取编码视频的当前I帧,并获取与所述当前I帧相关联的码率特征参数,所述码率特征参数包括所述当前I帧所在的视频帧组中视频帧的个数、所述当前I帧的像素点数量以及所述当前I帧之前的历史P帧中帧内预测宏块所占比值;
码率集合获取单元,用于采用所述码率特征参数分别获取所述当前I帧的最大码率集合;
分配码率获取单元,用于根据所述最大码率集合生成所述当前I帧的分配码率。
在本发明实施例中,通过获取编码视频的当前帧内预测帧I帧,并获取与当前I帧相关联的码率特征参数,其中,码率特征参数包括当前I帧所在的视频帧组中视频帧的个数、当前I帧的像素点数量以及当前I帧之前的历史帧间预测帧P帧中帧内预测宏块所占比值,然后采用码率特征参数分别获取当前I帧的最大码率集合,最后根据最大码率集合生成当前I帧的分配码率。通过GOP的大小、图像分辨率和视频特点多元化对I帧的分配码率进行限制,提升了对部分场景中I帧码率分配的合理性,保证了视频文件的质量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种码率分配方法的流程示意图;
图2是本发明实施例提供的另一种码率分配方法的流程示意图;
图3是本发明实施例提供的一种码率分配设备的结构示意图;
图4是本发明实施例提供的码率集合获取单元的结构示意图;
图5是本发明实施例提供的一种分配码率获取单元的结构示意图;
图6是本发明实施例提供的另一种分配码率获取单元的结构示意图;
图7是本发明实施例提供的又一种码率分配设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的码率分配方法可以应用于终端设备对视频进行编码处理的场景,例如:码率分配设备获取编码视频的当前帧内预测帧I帧,并获取与所述当前I帧相关联的码率特征参数,其中,所述码率特征参数包括所述当前I帧所在的视频帧组中视频帧的个数、所述当前I帧的像素点数量以及所述当前I帧之前的历史帧间预测帧P帧中帧内预测宏块所占比值,然后所述码率分配设备采用所述码率特征参数分别获取所述当前I帧的最大码率集合,最后所述码率分配设备根据所述最大码率集合生成所述当前I帧的分配码率。通过GOP的大小、图像分辨率和视频特点多元化对I帧的分配码率进行限制,提升了对部分场景中I帧码率分配的合理性,保证了视频文件的质量。
本发明实施例涉及的码率分配设备可以为平板电脑、智能手机、掌上电脑以及移动互联网设备(MID)等具备视频编码功能的终端设备。
下面将结合附图1和附图2,对本发明实施例提供的码率分配方法进行详细介绍。
请参见图1,为本发明实施例提供了一种码率分配方法的流程示意图。如图1所示,本发明实施例的所述方法可以包括以下步骤S101-步骤S103。
S101,获取编码视频的当前帧内预测帧I帧,并获取与所述当前I帧相关联的码率特征参数;
具体的,所述码率分配设备可以获取编码视频的当前帧内预测帧I帧,并获取与所述当前I帧相关联的码率特征参数,可以理解的是,所述码率特征参数可以包括所述当前I帧所在的视频帧组中视频帧的个数、所述当前I帧的像素点数量以及所述当前I帧之前的历史帧间预测帧P帧中帧内预测宏块所占比值。可以理解的是,所述I帧可以作为后续P帧的参考帧。
可以理解的是,所述当前I帧所在的视频帧组中视频帧的个数可以是当前I帧所在的当前视频帧组GOP结构中包含的所有视频帧的个数,例如,当前视频帧组GOP的结构为IPPP,则当前I帧所在的GOP结构中的视频帧的个数4。
可以理解的是,所述当前I帧的像素的个数可以是组成所述当前I帧的水平方向像素数与垂直方向像素个数得的乘积,例如,width代表当前I帧的水平方向像素数,heigth代表当前I帧的垂直方向像素数,则所述当前I帧的像素的个数可以是width·height。
可以理解的是,所述当前I帧之前的历史帧间预测帧P帧中帧内预测宏块所占比值可以是所述当前I帧之前的已经进行过编码处理一个或多个P帧中帧内预测宏块在P帧中所有宏块中的占比,例如,当前I帧之前的一个P帧中帧内预测宏块为4个,P帧中的所有宏块为16个,则所述当前I帧之前的历史帧间预测帧P帧中帧内预测宏块所占比值为25%。
S102,采用所述码率特征参数分别获取所述当前I帧的最大码率集合;
具体的,所述码率分配设备可以采用所述码率特征参数分别获取所述当前I帧的最大码率集合,可以理解的是,所述码率分配设备可以采用所述当前I帧所在的视频帧组中视频帧的个数、所述当前I帧的像素点数量以及所述当前I帧之前的历史P帧中帧内预测宏块所占比值参数,分别获取三类参数下所述当前I帧的最大码率(可设为:MaxIsize1、MaxIsize2和MaxIsize3),并可以生成包含MaxIsize1、MaxIsize2和MaxIsize3的最大码率集合。
S103,根据所述最大码率集合生成所述当前I帧的分配码率;
具体的,所述码率分配设备可以根据所述最大码率集合生成所述当前I帧的分配码率。可以理解的是,所述码率分配设备可以首先采用现有技术中的码率分配方法计算所述当前I帧的参考码率(例如,可以设所述参考码率为:TargetIsize)。
可选的,所述码率分配设备可以将MaxIsize1和MaxIsize2中较大的码率作为第一分配码率,将所述第一分配码率和所述参考码率中较小的码率作为第二分配码率,将所述第二分配码率和MaxIsize3中较小的码率作为所述当前I帧的分配码率,即将min(MaxIsize3,min(TargetIsize,max(MaxIsize1,MaxIsize2)))作为所述当前I帧的分配码率。
可选的,当所述最大码率集中MaxIsize1<MaxIsize2时,所述码率分配设备可以采用MaxIsize1、MaxIsize2和加权参数计算得到加权码率(例如可以是θ*MaxIsize1+(1-θ)MaxIsize2),其中,θ为加权参数,且有0≤θ≤1,此处θ的取值可以是0.5。进一步的,所述码率分配设备可以将所述加权码率和所述参考码率中较小的码率作为第三分配码率,例如,将min(TargetIsize,(θ*MaxIsize1+(1-θ)MaxIsize2))作为第三分配码率。
进一步的,当所述最大码率集中MaxIsize1≥MaxIsize2时,所述码率分配设备可以将MaxIsize1和所述参考码率中较小的码率作为第三分配码率,即将min(TargetIsize,MaxIsize1)作为第三分配码率。
最后,所述码率分配设备可以将所述第三分配码率和MaxIsize3中较小的码率作为所述当前I帧的分配码率,即当MaxIsize1<MaxIsize2时,所述码率分配设备可以将min(min(TargetIsize,(θ*MaxIsize1+(1-θ)MaxIsize2)),MaxIsize3)作为所述当前I帧的分配码率;当MaxIsize1≥MaxIsize2时,所述码率分配设备可以将min(min(TargetIsize,MaxIsize1),MaxIsize3)作为所述当前I帧的分配码率。
在本发明实施例中,通过获取编码视频的当前帧内预测帧I帧,并获取与当前I帧相关联的码率特征参数,其中,码率特征参数包括当前I帧所在的视频帧组中视频帧的个数、当前I帧的像素点数量以及当前I帧之前的历史帧间预测帧P帧中帧内预测宏块所占比值,然后采用码率特征参数分别获取当前I帧的最大码率集合,最后根据最大码率集合生成当前I帧的分配码率。通过GOP的大小、图像分辨率和视频特点多元化对I帧的分配码率进行限制,提升了对部分场景中I帧码率分配的合理性,保证了视频文件的质量。
请参见图2,为本发明实施例提供了另一种码率分配方法的流程示意图。如图2所示,本发明实施例的所述方法可以包括以下步骤S201-步骤S210。
S201,获取编码视频的当前帧内预测帧I帧,并获取与所述当前I帧相关联的码率特征参数;
具体的,所述码率分配设备可以获取编码视频的当前帧内预测帧I帧,并获取与所述当前I帧相关联的码率特征参数,其中,所述码率特征参数可以包括所述当前I帧所在的视频帧组中视频帧的个数、所述当前I帧的像素点数量以及所述当前I帧之前的历史帧间预测帧P帧中帧内预测宏块所占比值。可以理解的是,所述I帧可以作为后续P帧的参考帧。
可以理解的是,所述当前I帧所在的视频帧组中视频帧的个数可以是当前I帧所在的当前视频帧组GOP结构中包含的所有视频帧的个数,例如,当前视频帧组GOP的结构为IPPP,则当前I帧所在的GOP结构中的视频帧的个数4。
可以理解的是,所述当前I帧的像素的个数可以是组成所述当前I帧的水平方向像素数与垂直方向像素个数得的乘积,例如,width代表当前I帧的水平方向像素数,heigth代表当前I帧的垂直方向像素数,则所述当前I帧的像素的个数可以是width·height。
可以理解的是,所述当前I帧之前的历史帧间预测帧P帧中帧内预测宏块所占比值可以是所述当前I帧之前的已经进行过编码处理一个或多个P帧中帧内预测宏块在P帧中所有宏块中的占比,例如,当前I帧之前的一个P帧中帧内预测宏块为4个,P帧中的所有宏块为16个,则所述当前I帧之前的历史帧间预测帧P帧中帧内预测宏块所占比值为25%。
S202,采用所述当前I帧所在的视频帧组中视频帧的个数获取所述当前I帧的第一最大码率;
具体的,所述码率分配设备可以采用所述当前I帧所在的视频帧组中视频帧的个数获取所述当前I帧的第一最大码率,例如,可以设所述当前I帧所在的视频帧组中视频帧的个数为fps,所述当前I帧的第一最大码率为MaxIsize1
在本发明实施例的具体实施方式中,所述码率分配设备可以获取对所述视频帧组分配的目标码率,并采用所述目标码率和所述视频帧的个数计算所述视频帧组的平均目标码率。例如,当所述目标码率为Targetbps,所述视频帧的个数为fps时,所述平均目标码率Targetframe-size可以为Targetframe-size=Targetbps/fps。
进一步的,所述码率分配设备可以根据每帧的平均目标码率计算所述当前I帧第一最大码率MaxIsize1,可以理解的是,所述第一最大码率MaxIsize1可以是每帧平均目标码率Targetframe-size的α倍,即MaxIsize1=α*Targetframe-size,其中,α为视频帧组参数,α与GOP的大小相关。
可以理解的是,对于GOP较小的情况,如果所述当前I帧码率过大,后续可供调整的帧间预测帧较少,因此需要设置更小的α;对于GOP较大的情况,可以适当提高α。因此可以设置α为GOP的减函数,例如可以是:
可以理解的是,当GOP小于等于6时,α为4,当GOP大于6时,α为6。
进一步的,当所述视频帧的个数小于或等于预设个数时,所述码率分配设备可以采用第一视频帧组参数与所述平均目标码率计算所述当前I帧的第一最大码率。例如,针对上述α关于GOP的函数,当所述视频帧的个数小于等于预设个数6时,所述码率分配设备可以采用第一视频帧组参数(即:α为4)与所述平均目标码率计算所述当前I帧的第一最大码率,即MaxIsize1=4*Targetframe-size
进一步的,当所述视频帧的个数大于所述预设个数时,所述码率分配设备可以采用第二视频帧组参数与所述平均目标码率计算所述当前I帧的第一最大码率。例如,针对上述α关于GOP的函数,当所述视频帧的个数大于预设个数6时,所述码率分配设备可以采用第二视频帧组参数(即:α为6)与所述平均目标码率计算所述当前I帧的第一最大码率,即MaxIsize1=6*Targetframe-size
可以理解的是,所述第一视频帧组参数小于所述第二视频帧组参数。
在本发明实施例中,通过合理调整视频帧组参数的值,对所述当前I帧码率分配的大小进行限制,降低了实时通信时由于I帧码率过高产生的码率尖峰。
S203,采用所述当前I帧的像素点数量获取所述当前I帧的第二最大码率;
具体的,所述码率分配设备可以采用所述当前I帧的像素点数量获取所述当前I帧的第二最大码率,例如,可以设所述当前I帧的像素点数量为width·height,所述当前I帧的第二最大码率为MaxIsize2
在本发明实施例的具体实施方式中,所述码率分配设备可以获取所述编码视频对应的视频场景,获取所述视频场景对应的像素点平均码率,并获取所述当前I帧的图像尺寸对应的图像调节因子,可以理解的是,所述视频场景例如可以是对图像质量要求较高的视频压缩或传输场景,也可以是对码率平稳性要求较高的实时图像交互场景(例如,利用聊天软件进行视频聊天时),所述视频场景对应的像素点平均码率可以设为Maxbpp,所述当前I帧的图像尺寸对应的图像调节因子可以设为βwidth·heigth
可以理解的是,Maxbpp作为每个像素点的平均码率,可以根据实际应用场景进行设置,若是对图像质量要求较高的场景,可以提高Maxbpp;若是对码率平稳性要求较高的场景,可以降低Maxbpp
可以理解的是,βwidth·heigth是图像尺寸对应的图像调节因子,一般大尺寸图像由于空间相关性较高,其压缩率高于小尺寸图像,因此对于大尺寸图像设置较小的图像调解因子βwidth·heigth,对于小尺寸图像设置较大的图像调节因子βwidth·heigth
进一步的,所述码率分配设备可以采用所述像素点平均码率、所述图像调节因子和所述像素点数量计算所述当前I帧的第二最大码率,例如,所述第二最大码率可以为:MaxIsize2=βwidth·heigth·Maxbpp·width·heigth。
在本发明实施例中,在不同的视频场景下,通过像素点的平均码率和图像调节因子的配合调节作用,降低了当前I帧的码率过低时对视频文件质量产生的影响。
S204,采用所述历史P帧中帧内预测宏块所占比值获取所述当前I帧的第三最大码率;
具体的,所述码率分配设备可以采用所述历史P帧中帧内预测宏块所占比值获取所述当前I帧的第三最大码率,例如,可以设所述历史P帧中帧内预测宏块所占比值为MBintra,所述当前I帧的第三最大码率为MaxIsize3
在本发明实施例的具体实施方式中,所述码率分配设备可以获取对所述视频帧组分配的目标码率,并采用所述目标码率和所述视频帧的个数计算所述视频帧组的平均目标码率。可以理解的是,所述码率分配设备可以采用如步骤202所述的方法,计算所述视频帧组的平均目标码率,即Targetframe-size=Targetbps/fps。
进一步的,所述码率分配设备可以获取所述历史P帧中帧内预测宏块所占比值所属的比值范围,并获取所述比值范围对应的码率调节参数,可以理解的是,所述历史P帧中帧内预测宏块所占比值MBintra表示所述当前I帧前n个P帧中帧内预测宏块所占的比例,MBintra越大表示图像运动越剧烈,MBintra越小表示图像越静止,比值MBintra所属的比值范围对应的码率调节参数可以设为γ。
可以理解的是,所述MBintra越小,对应的γ越大,即所述当前I帧的第三最大码率MaxIsize3相比与所述平均目标码率Targetframe-size越大;反之,MBintra越大对应的γ越小,MaxIsize3相比Targetframe-size越小。
进一步的,所述码率分配设备可以采用所述码率调节参数和所述平均目标码率计算所述当前I帧的第三最大码率,即MaxIsize3=γ*Targetframe-size,可以理解的是,所述码率分配设备可以采用简单的分段函数实现针对MaxIsize3的函数计算,如下:
S205,生成包含所述第一最大码率、第二最大码率和第三最大码率的最大码率集合;
具体的,所述码率分配设备可以生成包含所述第一最大码率MaxIsize1、第二最大码率MaxIsize2和第三最大码率MaxIsize3的最大码率集合。
S206,采用预设码率控制算法计算所述当前I帧的参考码率;
具体的,在获取所述最大码率集合后,所述码率分配设备可以采用预设码率控制算法计算所述当前I帧的参考码率,可以理解的是,所述预设码率控制算法可以是现有技术中的任一种码率控制算法,例如H.264标准中给出的码率分配方法,所述当前I帧的参考码率可以联合所述最大码率集合中的最大码率,用于限制所述当前I帧的码率分配。可以理解的是,所述参考码率可以设为TargetIsize
S207,将所述第一最大码率和第二最大码率中较大的码率作为第一分配码率,将所述第一分配码率和所述参考码率中较小的码率作为第二分配码率,将所述第二分配码率和所述第三最大码率中较小的码率作为所述当前I帧的分配码率;
具体的,所述码率分配设备可以将所述第一最大码率和第二最大码率中较大的码率作为第一分配码率,即将max(MaxIsize1,MaxIsize2)作为第一分配码率;进一步的,所述码率分配设备可以将所述第一分配码率和所述参考码率中较小的码率作为第二分配码率,即将min(TargetIsize,max(MaxIsize1,MaxIsize2))作为第二分配码率;进一步的,所述码率分配设备可以将所述第二分配码率和所述第三最大码率中较小的码率作为所述当前I帧的分配码率,即将min(MaxIsize3,min(TargetIsize,max(MaxIsize1,MaxIsize2)))作为所述当前I帧的分配码率。
S208,当所述第一最大码率小于所述第二最大码率时,采用所述第一最大码率、所述第二最大码率和加权参数计算得到加权码率,并将所述加权码率和所述参考码率中较小的码率作为第三分配码率;
具体的,当所述第一最大码率小于所述第二最大码率(即MaxIsize1<MaxIsize2)时,所述码率分配设备可以采用所述第一最大码率、所述第二最大码率和加权参数计算得到加权码率,可以理解的是,所述加权参数可以设为θ,且0≤θ≤1,此处θ的取值可以是0.5,所述加权码率可以是:θ*MaxIsize1+(1-θ)MaxIsize2
在本发明实施例的第一种实施方式中,所述码率分配设备可以将所述加权码率和所述参考码率中较小的码率作为第三分配码率,即将min(TargetIsize,(θ*MaxIsize1+(1-θ)MaxIsize2))作为第三分配码率。
S209,当所述第一最大码率大于或等于所述第二最大码率时,将所述第一最大码率和参考码率中较小的码率作为第三分配码率;
在本发明实施例的第二种实施方式中,当所述第一最大码率大于或等于所述第二最大码率(即MaxIsize1≥MaxIsize2)时,所述码率分配设备可以将所述第一最大码率和参考码率中较小的码率作为第三分配码率,即将min(TargetIsize,MaxIsize1)作为第三分配码率。
S210,将所述第三分配码率和所述第三最大码率中较小的码率作为所述当前I帧的分配码率;
具体的,所述码率分配设备可以将所述第三分配码率和所述第三最大码率中较小的码率作为所述当前I帧的分配码率。
可以理解的是,当MaxIsize1<MaxIsize2时,所述码率分配设备可以将min(min(TargetIsize,(θ*MaxIsize1+(1-θ)MaxIsize2)),MaxIsize3)作为所述当前I帧的分配码率。
可选的,当MaxIsize1≥MaxIsize2时,所述码率分配设备可以将min(min(TargetIsize,MaxIsize1),MaxIsize3)作为所述当前I帧的分配码率。
在本发明实施例中,通过获取编码视频的当前帧内预测帧I帧,并获取与当前I帧相关联的码率特征参数,其中,码率特征参数包括当前I帧所在的视频帧组中视频帧的个数、当前I帧的像素点数量以及当前I帧之前的历史帧间预测帧P帧中帧内预测宏块所占比值,然后采用码率特征参数分别获取当前I帧的最大码率集合,最后根据最大码率集合生成当前I帧的分配码率。通过GOP的大小、图像分辨率和视频特点多元化对I帧的分配码率进行限制,提升了对部分场景中I帧码率分配的合理性,保证了视频文件的质量;通过合理调整视频帧组参数的值,对当前I帧码率分配的大小进行限制,降低了实时通信时由于I帧码率过高产生的码率尖峰;在不同的视频场景下,通过像素点的平均码率和图像调节因子的配合调节作用,降低了当前I帧的码率过低时对视频文件质量产生的影响。
下面将结合附图3-附图6,对本发明实施例提供的码率分配设备进行详细介绍。需要说明的是,附图3-附图6所示的码率分配设备,用于执行本发明图1和图2所示实施例的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明图1和图2所示的实施例。
请参见图3,为本发明实施例提供了一种码率分配设备的结构示意图。如图3所示,本发明实施例的所述码率分配设备1可以包括:参数获取单元11、码率集合获取单元12和分配码率获取单元13。
参数获取单元11,用于获取编码视频的当前帧内预测帧I帧,并获取与所述当前I帧相关联的码率特征参数;
具体实现中,所述参数获取单元11可以获取编码视频的当前帧内预测帧I帧,并获取与所述当前I帧相关联的码率特征参数,可以理解的是,所述码率特征参数可以包括所述当前I帧所在的视频帧组中视频帧的个数、所述当前I帧的像素点数量以及所述当前I帧之前的历史帧间预测帧P帧中帧内预测宏块所占比值。可以理解的是,所述I帧可以作为后续P帧的参考帧。
可以理解的是,所述当前I帧所在的视频帧组中视频帧的个数可以是当前I帧所在的当前视频帧组GOP结构中包含的所有视频帧的个数,例如,当前视频帧组GOP的结构为IPPP,则当前I帧所在的GOP结构中的视频帧的个数4。
可以理解的是,所述当前I帧的像素的个数可以是组成所述当前I帧的水平方向像素数与垂直方向像素个数得的乘积,例如,width代表当前I帧的水平方向像素数,heigth代表当前I帧的垂直方向像素数,则所述当前I帧的像素的个数可以是width·height。
可以理解的是,所述当前I帧之前的历史帧间预测帧P帧中帧内预测宏块所占比值可以是所述当前I帧之前的已经进行过编码处理一个或多个P帧中帧内预测宏块在P帧中所有宏块中的占比,例如,当前I帧之前的一个P帧中帧内预测宏块为4个,P帧中的所有宏块为16个,则所述当前I帧之前的历史帧间预测帧P帧中帧内预测宏块所占比值为25%。
码率集合获取单元12,用于采用所述码率特征参数分别获取所述当前I帧的最大码率集合;
具体实现中,所述码率集合获取单元12可以采用所述码率特征参数分别获取所述当前I帧的最大码率集合,可以理解的是,所述码率集合获取单元12可以采用所述当前I帧所在的视频帧组中视频帧的个数、所述当前I帧的像素点数量以及所述当前I帧之前的历史P帧中帧内预测宏块所占比值参数,分别获取三类参数下所述当前I帧的最大码率,并可以生成包含最大码率的最大码率集合。
具体的,请一并参见图4,为本发明实施例提供了码率集合获取单元的结构示意图。如图4所示,所述码率集合获取单元12可以包括:
第一码率获取子单元121,用于采用所述当前I帧所在的视频帧组中视频帧的个数获取所述当前I帧的第一最大码率;
具体实现中,所述第一码率获取子单元121可以采用所述当前I帧所在的视频帧组中视频帧的个数获取所述当前I帧的第一最大码率,例如,可以设所述当前I帧所在的视频帧组中视频帧的个数为fps,所述当前I帧的第一最大码率为MaxIsize1
在本发明实施例的具体实施方式中,所述第一码率获取子单元121,具体用于获取对所述视频帧组分配的目标码率,并采用所述目标码率和所述视频帧的个数计算所述视频帧组的平均目标码率。例如,当所述目标码率为Targetbps,所述视频帧的个数为fps时,所述平均目标码率Targetframe-size可以为Targetframe-size=Targetbps/fps。
进一步的,所述第一码率获取子单元121可以根据每帧的平均目标码率计算所述当前I帧第一最大码率MaxIsize1,可以理解的是,所述第一最大码率MaxIsize1可以是每帧平均目标码率Targetframe-size的α倍,即MaxIsize1=α*Targetframe-size,其中,α为视频帧组参数,α与GOP的大小相关。
可以理解的是,对于GOP较小的情况,如果所述当前I帧码率过大,后续可供调整的帧间预测帧较少,因此需要设置更小的α;对于GOP较大的情况,可以适当提高α。因此可以设置α为GOP的减函数,例如可以是:
可以理解的是,当GOP小于等于6时,α为4,当GOP大于6时,α为6。
进一步的,当所述视频帧的个数小于或等于预设个数时,所述第一码率获取子单元121可以采用第一视频帧组参数与所述平均目标码率计算所述当前I帧的第一最大码率。例如,针对上述α关于GOP的函数,当所述视频帧的个数小于等于预设个数6时,所述码率分配设备可以采用第一视频帧组参数(即:α为4)与所述平均目标码率计算所述当前I帧的第一最大码率,即MaxIsize1=4*Targetframe-size
进一步的,当所述视频帧的个数大于所述预设个数时,所述第一码率获取子单元121可以采用第二视频帧组参数与所述平均目标码率计算所述当前I帧的第一最大码率。例如,针对上述α关于GOP的函数,当所述视频帧的个数大于预设个数6时,所述码率分配设备可以采用第二视频帧组参数(即:α为6)与所述平均目标码率计算所述当前I帧的第一最大码率,即MaxIsize1=6*Targetframe-size
可以理解的是,所述第一视频帧组参数小于所述第二视频帧组参数。
在本发明实施例中,通过合理调整视频帧组参数的值,对所述当前I帧码率分配的大小进行限制,降低了实时通信时由于I帧码率过高产生的码率尖峰。
第二码率获取子单元122,用于采用所述当前I帧的像素点数量获取所述当前I帧的第二最大码率;
具体实现中,所述第二码率获取子单元122可以采用所述当前I帧的像素点数量获取所述当前I帧的第二最大码率,例如,可以设所述当前I帧的像素点数量为width·height,所述当前I帧的第二最大码率为MaxIsize2
在本发明实施例的具体实施方式中,所述第二码率获取子单元122,具体用于获取所述编码视频对应的视频场景,获取所述视频场景对应的像素点平均码率,并获取所述当前I帧的图像尺寸对应的图像调节因子,可以理解的是,所述视频场景例如可以是对图像质量要求较高的视频压缩或传输场景,也可以是对码率平稳性要求较高的实时图像交互场景(例如,利用聊天软件进行视频聊天时),所述视频场景对应的像素点平均码率可以设为Maxbpp,所述当前I帧的图像尺寸对应的图像调节因子可以设为βwidth·heigth
可以理解的是,Maxbpp作为每个像素点的平均码率,可以根据实际应用场景进行设置,若是对图像质量要求较高的场景,可以提高Maxbpp;若是对码率平稳性要求较高的场景,可以降低Maxbpp
可以理解的是,βwidth·heigth是图像尺寸对应的图像调节因子,一般大尺寸图像由于空间相关性较高,其压缩率高于小尺寸图像,因此对于大尺寸图像设置较小的图像调解因子βwidth·heigth,对于小尺寸图像设置较大的图像调节因子βwidth·heigth
进一步的,所述第二码率获取子单元122可以采用所述像素点平均码率、所述图像调节因子和所述像素点数量计算所述当前I帧的第二最大码率,例如,所述第二最大码率可以为:MaxIsize2=βwidth·heigth·Maxbpp·width·heigth。
在本发明实施例中,在不同的视频场景下,通过像素点的平均码率和图像调节因子的配合调节作用,降低了当前I帧的码率过低时对视频文件质量产生的影响。
第三码率获取子单元123,用于采用所述历史P帧中帧内预测宏块所占比值获取所述当前I帧的第三最大码率;
具体实现中,所述第三码率获取子单元123可以采用所述历史P帧中帧内预测宏块所占比值获取所述当前I帧的第三最大码率,例如,可以设所述历史P帧中帧内预测宏块所占比值为MBintra,所述当前I帧的第三最大码率为MaxIsize3
在本发明实施例的具体实施方式中,所述第三码率获取子单元123,具体用于获取对所述视频帧组分配的目标码率,并采用所述目标码率和所述视频帧的个数计算所述视频帧组的平均目标码率。可以理解的是,所述第三码率获取子单元123可以采用如所述第一码率获取子单元121中所述的方法,计算所述视频帧组的平均目标码率,即Targetframe-size=Targetbps/fps。
进一步的,所述第三码率获取子单元123可以获取所述历史P帧中帧内预测宏块所占比值所属的比值范围,并获取所述比值范围对应的码率调节参数,可以理解的是,所述历史P帧中帧内预测宏块所占比值MBintra表示所述当前I帧前n个P帧中帧内预测宏块所占的比例,MBintra越大表示图像运动越剧烈,MBintra越小表示图像越静止,比值MBintra所属的比值范围对应的码率调节参数可以设为γ。
可以理解的是,所述MBintra越小,对应的γ越大,即所述当前I帧的第三最大码率MaxIsize3相比与所述平均目标码率Targetframe-size越大;反之,MBintra越大对应的γ越小,MaxIsize3相比Targetframe-size越小。
进一步的,所述第三码率获取子单元123可以采用所述码率调节参数和所述平均目标码率计算所述当前I帧的第三最大码率,即MaxIsize3=γ*Targetframe-size,可以理解的是,所述第三码率获取子单元123可以采用简单的分段函数实现针对MaxIsize3的函数计算,如下:
码率集合生成子单元124,用于生成包含所述第一最大码率、第二最大码率和第三最大码率的最大码率集合;
具体实现中,所述码率集合生成子单元124可以生成包含所述第一最大码率MaxIsize1、第二最大码率MaxIsize2和第三最大码率MaxIsize3的最大码率集合。
分配码率获取单元13,用于根据所述最大码率集合生成所述当前I帧的分配码率;
具体实现中,所述分配码率获取单元13可以根据所述最大码率集合生成所述当前I帧的分配码率。
具体的,请一并参见图5,为本发明实施例提供了一种分配码率获取单元的结构示意图。如图5所示,所述分配码率获取单元13可以包括:
第一参考码率获取子单元131,用于采用预设码率控制算法计算所述当前I帧的参考码率;
具体实现中,在所述码率集合获取单元12获取所述最大码率集合后,所述第一参考码率获取子单元131可以采用预设码率控制算法计算所述当前I帧的参考码率,可以理解的是,所述预设码率控制算法可以是现有技术中的任一种码率控制算法,例如H.264标准中给出的码率分配方法,所述当前I帧的参考码率可以联合所述最大码率集合中的最大码率,用于限制所述当前I帧的码率分配。可以理解的是,所述参考码率可以设为TargetIsize
第一分配码率获取子单元132,用于将所述第一最大码率和第二最大码率中较大的码率作为第一分配码率,将所述第一分配码率和所述参考码率中较小的码率作为第二分配码率,将所述第二分配码率和所述第三最大码率中较小的码率作为所述当前I帧的分配码率;
具体实现中,所述第一分配码率获取子单元132可以将所述第一最大码率和第二最大码率中较大的码率作为第一分配码率,即将max(MaxIsize1,MaxIsize2)作为第一分配码率;进一步的,所述第一分配码率获取子单元132可以将所述第一分配码率和所述参考码率中较小的码率作为第二分配码率,即将min(TargetIsize,max(MaxIsize1,MaxIsize2))作为第二分配码率;进一步的,所述第一分配码率获取子单元132可以将所述第二分配码率和所述第三最大码率中较小的码率作为所述当前I帧的分配码率,即将min(MaxIsize3,min(TargetIsize,max(MaxIsize1,MaxIsize2)))作为所述当前I帧的分配码率。
具体的,请一并参见图6,为本发明实施例提供了分配码率获取单元的另一种结构示意图。如图6所示,所述分配码率获取单元13可以包括:
第二参考码率获取子单元133,用于采用预设码率控制算法计算所述当前I帧的参考码率;
具体实现中,所述第二参考码率获取子单元133可以采用与所述第一参考码率获取子单元131一样的预设码率控制算法计算所述当前I帧的参考码率,具体实现过程可以参加上述方法实施例中的描述,此处不再赘述。
码率筛选子单元134,用于当所述第一最大码率小于所述第二最大码率时,采用所述第一最大码率、所述第二最大码率和加权参数计算得到加权码率,并将所述加权码率和所述参考码率中较小的码率作为第三分配码率;
具体实现中,当所述第一最大码率小于所述第二最大码率(即MaxIsize1<MaxIsize2)时,所述码率筛选子单元134可以采用所述第一最大码率、所述第二最大码率和加权参数计算得到加权码率,可以理解的是,所述加权参数可以设为θ,且0≤θ≤1,此处θ的取值可以是0.5,所述加权码率可以是:θ*MaxIsize1+(1-θ)MaxIsize2
在本发明实施例的第一种实施方式中,所述码率筛选子单元可以将所述加权码率和所述参考码率中较小的码率作为第三分配码率,即将min(TargetIsize,(θ*MaxIsize1+(1-θ)MaxIsize2))作为第三分配码率。
所述码率筛选子单元134,还用于当所述第一最大码率小于或等于所述第二最大码率时,将所述第一最大码率和参考码率中较小的码率作为第三分配码率;
在本发明实施例的第二种实施方式中,当所述第一最大码率大于或等于所述第二最大码率(即MaxIsize1≥MaxIsize2)时,所述码率筛选子单元134可以将所述第一最大码率和参考码率中较小的码率作为第三分配码率,即将min(TargetIsize,MaxIsize1)作为第三分配码率。
第二分配码率获取子单元135,用于将所述第三分配码率和所述第三最大码率中较小的码率作为所述当前I帧的分配码率;
具体实现中,所述第二分配码率获取子单元135可以将所述第三分配码率和所述第三最大码率中较小的码率作为所述当前I帧的分配码率。
可以理解的是,当MaxIsize1<MaxIsize2时,所述第二分配码率获取子单元135可以将min(min(TargetIsize,(θ*MaxIsize1+(1-θ)MaxIsize2)),MaxIsize3)作为所述当前I帧的分配码率。
可选的,当MaxIsize1≥MaxIsize2时,所述第二分配码率获取子单元135可以将min(min(TargetIsize,MaxIsize1),MaxIsize3)作为所述当前I帧的分配码率。
在本发明实施例中,通过获取编码视频的当前帧内预测帧I帧,并获取与当前I帧相关联的码率特征参数,其中,码率特征参数包括当前I帧所在的视频帧组中视频帧的个数、当前I帧的像素点数量以及当前I帧之前的历史帧间预测帧P帧中帧内预测宏块所占比值,然后采用码率特征参数分别获取当前I帧的最大码率集合,最后根据最大码率集合生成当前I帧的分配码率。通过GOP的大小、图像分辨率和视频特点多元化对I帧的分配码率进行限制,提升了对部分场景中I帧码率分配的合理性,保证了视频文件的质量;通过合理调整视频帧组参数的值,对当前I帧码率分配的大小进行限制,降低了实时通信时由于I帧码率过高产生的码率尖峰;在不同的视频场景下,通过像素点的平均码率和图像调节因子的配合调节作用,降低了当前I帧的码率过低时对视频文件质量产生的影响。
请参见图7,为本发明实施例提供了又一种码率分配设备的结构示意图。如图7所示,所述码率分配设备1000可以包括:至少一个处理器1001,例如CPU,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图7所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及码率分配应用程序。
在图7所示的码率分配设备1000中,用户接口1003主要用于为用户提供输入的接口,获取用户输入的数据;网络接口1004用于与用户终端进行数据通信;而处理器1001可以用于调用存储器1005中存储的码率分配应用程序,并具体执行以下操作:
获取编码视频的当前帧内预测帧I帧,并获取与所述当前I帧相关联的码率特征参数,所述码率特征参数包括所述当前I帧所在的视频帧组中视频帧的个数、所述当前I帧的像素点数量以及所述当前I帧之前的历史帧间预测帧P帧中帧内预测宏块所占比值;
采用所述码率特征参数分别获取所述当前I帧的最大码率集合;
根据所述最大码率集合生成所述当前I帧的分配码率。
在一个实施例中,所述处理器1001在执行采用所述码率特征参数分别获取所述当前I帧的最大码率集合时,具体执行以下操作:
采用所述当前I帧所在的视频帧组中视频帧的个数获取所述当前I帧的第一最大码率;
采用所述当前I帧的像素点数量获取所述当前I帧的第二最大码率;
采用所述历史P帧中帧内预测宏块所占比值获取所述当前I帧的第三最大码率;
生成包含所述第一最大码率、第二最大码率和第三最大码率的最大码率集合。
在一个实施例中,所述处理器1001在执行采用所述当前I帧所在的视频帧组中视频帧的个数获取所述当前I帧的第一最大码率时,具体执行以下操作:
获取对所述视频帧组分配的目标码率,并采用所述目标码率和所述视频帧的个数计算所述视频帧组的平均目标码率;
当所述视频帧的个数小于或等于预设个数时,采用第一视频帧组参数与所述平均目标码率计算所述当前I帧的第一最大码率;
当所述视频帧的个数大于所述预设个数时,采用第二视频帧组参数与所述平均目标码率计算所述当前I帧的第一最大码率;
其中,所述第一视频帧组参数小于所述第二视频帧组参数。
在一个实施例中,所述处理器1001在执行采用所述当前I帧的像素点数量获取所述当前I帧的第二最大码率时,具体执行以下操作:
获取所述编码视频对应的视频场景,获取所述视频场景对应的像素点平均码率,并获取所述当前I帧的图像尺寸对应的图像调节因子;
采用所述像素点平均码率、所述图像调节因子和所述像素点数量计算所述当前I帧的第二最大码率。
在一个实施例中,所述处理器1001在执行采用所述历史P帧中帧内预测宏块所占比值获取所述当前I帧的第三最大码率时,具体执行以下操作:
获取对所述视频帧组分配的目标码率,并采用所述目标码率和所述视频帧的个数计算所述视频帧组的平均目标码率;
获取所述历史P帧中帧内预测宏块所占比值所属的比值范围,并获取所述比值范围对应的码率调节参数;
采用所述码率调节参数和所述平均目标码率计算所述当前I帧的第三最大码率。
在一个实施例中,所述处理器1001在执行根据所述最大码率集合生成所述当前I帧的分配码率时,具体执行以下操作:
采用预设码率控制算法计算所述当前I帧的参考码率;
将所述第一最大码率和第二最大码率中较大的码率作为第一分配码率,将所述第一分配码率和所述参考码率中较小的码率作为第二分配码率,将所述第二分配码率和所述第三最大码率中较小的码率作为所述当前I帧的分配码率。
在一个实施例中,所述处理器1001在执行根据所述最大码率集合生成所述当前I帧的分配码率时,具体执行以下操作:
采用预设码率控制算法计算所述当前I帧的参考码率;
当所述第一最大码率小于所述第二最大码率时,采用所述第一最大码率、所述第二最大码率和加权参数计算得到加权码率,并将所述加权码率和所述参考码率中较小的码率作为第三分配码率;
当所述第一最大码率大于或等于所述第二最大码率时,将所述第一最大码率和参考码率中较小的码率作为第三分配码率;
将所述第三分配码率和所述第三最大码率中较小的码率作为所述当前I帧的分配码率。
在本发明实施例中,通过获取编码视频的当前帧内预测帧I帧,并获取与当前I帧相关联的码率特征参数,其中,码率特征参数包括当前I帧所在的视频帧组中视频帧的个数、当前I帧的像素点数量以及当前I帧之前的历史帧间预测帧P帧中帧内预测宏块所占比值,然后采用码率特征参数分别获取当前I帧的最大码率集合,最后根据最大码率集合生成当前I帧的分配码率。通过GOP的大小、图像分辨率和视频特点多元化对I帧的分配码率进行限制,提升了对部分场景中I帧码率分配的合理性,保证了视频文件的质量;通过合理调整视频帧组参数的值,对当前I帧码率分配的大小进行限制,降低了实时通信时由于I帧码率过高产生的码率尖峰;在不同的视频场景下,通过像素点的平均码率和图像调节因子的配合调节作用,降低了当前I帧的码率过低时对视频文件质量产生的影响。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (14)

1.一种码率分配方法,其特征在于,包括:
获取编码视频的当前帧内预测帧I帧,并获取与所述当前I帧相关联的码率特征参数,所述码率特征参数包括所述当前I帧所在的视频帧组中视频帧的个数、所述当前I帧的像素点数量以及所述当前I帧之前的历史帧间预测帧P帧中帧内预测宏块所占比值;
采用所述码率特征参数分别获取所述当前I帧的最大码率集合;
根据所述最大码率集合生成所述当前I帧的分配码率。
2.根据权利要求1所述的方法,其特征在于,所述采用所述码率特征参数分别获取所述当前I帧的最大码率集合,包括:
采用所述当前I帧所在的视频帧组中视频帧的个数获取所述当前I帧的第一最大码率;
采用所述当前I帧的像素点数量获取所述当前I帧的第二最大码率;
采用所述历史P帧中帧内预测宏块所占比值获取所述当前I帧的第三最大码率;
生成包含所述第一最大码率、第二最大码率和第三最大码率的最大码率集合。
3.根据权利要求2所述的方法,其特征在于,所述采用所述当前I帧所在的视频帧组中视频帧的个数获取所述当前I帧的第一最大码率,包括:
获取对所述视频帧组分配的目标码率,并采用所述目标码率和所述视频帧的个数计算所述视频帧组的平均目标码率;
当所述视频帧的个数小于或等于预设个数时,采用第一视频帧组参数与所述平均目标码率计算所述当前I帧的第一最大码率;
当所述视频帧的个数大于所述预设个数时,采用第二视频帧组参数与所述平均目标码率计算所述当前I帧的第一最大码率;
其中,所述第一视频帧组参数小于所述第二视频帧组参数。
4.根据权利要求2所述的方法,其特征在于,所述采用所述当前I帧的像素点数量获取所述当前I帧的第二最大码率,包括:
获取所述编码视频对应的视频场景,获取所述视频场景对应的像素点平均码率,并获取所述当前I帧的图像尺寸对应的图像调节因子;
采用所述像素点平均码率、所述图像调节因子和所述像素点数量计算所述当前I帧的第二最大码率。
5.根据权利要求2所述的方法,其特征在于,所述采用所述历史P帧中帧内预测宏块所占比值获取所述当前I帧的第三最大码率,包括:
获取对所述视频帧组分配的目标码率,并采用所述目标码率和所述视频帧的个数计算所述视频帧组的平均目标码率;
获取所述历史P帧中帧内预测宏块所占比值所属的比值范围,并获取所述比值范围对应的码率调节参数;
采用所述码率调节参数和所述平均目标码率计算所述当前I帧的第三最大码率。
6.根据权利要求2所述的方法,其特征在于,所述根据所述最大码率集合生成所述当前I帧的分配码率,包括:
采用预设码率控制算法计算所述当前I帧的参考码率;
将所述第一最大码率和第二最大码率中较大的码率作为第一分配码率,将所述第一分配码率和所述参考码率中较小的码率作为第二分配码率,将所述第二分配码率和所述第三最大码率中较小的码率作为所述当前I帧的分配码率。
7.根据权利要求2所述的方法,其特征在于,所述根据所述最大码率集合生成所述当前I帧的分配码率,包括:
采用预设码率控制算法计算所述当前I帧的参考码率;
当所述第一最大码率小于所述第二最大码率时,采用所述第一最大码率、所述第二最大码率和加权参数计算得到加权码率,并将所述加权码率和所述参考码率中较小的码率作为第三分配码率;
当所述第一最大码率大于或等于所述第二最大码率时,将所述第一最大码率和参考码率中较小的码率作为第三分配码率;
将所述第三分配码率和所述第三最大码率中较小的码率作为所述当前I帧的分配码率。
8.一种码率分配设备,其特征在于,包括:
参数获取单元,用于获取编码视频的当前I帧,并获取与所述当前I帧相关联的码率特征参数,所述码率特征参数包括所述当前I帧所在的视频帧组中视频帧的个数、所述当前I帧的像素点数量以及所述当前I帧之前的历史P帧中帧内预测宏块所占比值;
码率集合获取单元,用于采用所述码率特征参数分别获取所述当前I帧的最大码率集合;
分配码率获取单元,用于根据所述最大码率集合生成所述当前I帧的分配码率。
9.根据权利要求8所述的设备,其特征在于,所述码率集合获取单元包括:
第一码率获取子单元,用于采用所述当前I帧所在的视频帧组中视频帧的个数获取所述当前I帧的第一最大码率;
第二码率获取子单元,用于采用所述当前I帧的像素点数量获取所述当前I帧的第二最大码率;
第三码率获取子单元,用于采用所述历史P帧中帧内预测宏块所占比值获取所述当前I帧的第三最大码率;
码率集合生成子单元,用于生成包含所述第一最大码率、第二最大码率和第三最大码率的最大码率集合。
10.根据权利要求9所述的设备,其特征在于,所述第一码率获取子单元具体用于:
获取对所述视频帧组分配的目标码率,并采用所述目标码率和所述视频帧的个数计算所述视频帧组的平均目标码率;
当所述视频帧的个数小于或等于预设个数时,采用第一视频帧组参数与所述平均目标码率计算所述当前I帧的第一最大码率;
当所述视频帧的个数大于所述预设个数时,采用第二视频帧组参数与所述平均目标码率计算所述当前I帧的第一最大码率;
其中,所述第一视频帧组参数小于所述第二视频帧组参数。
11.根据权利要求9所述的设备,其特征在于,所述第二码率获取子单元具体用于:
获取所述编码视频对应的视频场景,获取所述视频场景对应的像素点平均码率,并获取所述当前I帧的图像尺寸对应的图像调节因子;
采用所述像素点平均码率、所述图像调节因子和所述像素点数量计算所述当前I帧的第二最大码率。
12.根据权利要求9所述的设备,其特征在于,所述第三码率获取子单元具体用于:
获取对所述视频帧组分配的目标码率,并采用所述目标码率和所述视频帧的个数计算所述视频帧组的平均目标码率;
获取所述历史P帧中帧内预测宏块所占比值所属的比值范围,并获取所述比值范围对应的码率调节参数;
采用所述码率调节参数和所述平均目标码率计算所述当前I帧的第三最大码率。
13.根据权利要求9所述的设备,其特征在于,所述分配码率获取单元包括:
第一参考码率获取子单元,用于采用预设码率控制算法计算所述当前I帧的参考码率;
第一分配码率获取子单元,用于将所述第一最大码率和第二最大码率中较大的码率作为第一分配码率,将所述第一分配码率和所述参考码率中较小的码率作为第二分配码率,将所述第二分配码率和所述第三最大码率中较小的码率作为所述当前I帧的分配码率。
14.根据权利要求9所述的设备,其特征在于,所述分配码率获取单元包括:
第二参考码率获取子单元,用于采用预设码率控制算法计算所述当前I帧的参考码率;
码率筛选子单元,用于当所述第一最大码率小于所述第二最大码率时,采用所述第一最大码率、所述第二最大码率和加权参数计算得到加权码率,并将所述加权码率和所述参考码率中较小的码率作为第三分配码率;
所述码率筛选子单元,还用于当所述第一最大码率大于或等于所述第二最大码率时,将所述第一最大码率和参考码率中较小的码率作为第三分配码率;
第二分配码率获取子单元,用于将所述第三分配码率和所述第三最大码率中较小的码率作为所述当前I帧的分配码率。
CN201710139993.4A 2017-03-07 2017-03-07 一种码率分配方法及其设备 Active CN107027030B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201710139993.4A CN107027030B (zh) 2017-03-07 2017-03-07 一种码率分配方法及其设备
PCT/CN2018/077983 WO2018161867A1 (zh) 2017-03-07 2018-03-05 码率分配方法、设备及存储介质
EP18763053.8A EP3595304B1 (en) 2017-03-07 2018-03-05 Code rate allocation method, device, and storage medium
US16/362,415 US10834405B2 (en) 2017-03-07 2019-03-22 Bit rate allocation method and device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710139993.4A CN107027030B (zh) 2017-03-07 2017-03-07 一种码率分配方法及其设备

Publications (2)

Publication Number Publication Date
CN107027030A true CN107027030A (zh) 2017-08-08
CN107027030B CN107027030B (zh) 2018-11-09

Family

ID=59525648

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710139993.4A Active CN107027030B (zh) 2017-03-07 2017-03-07 一种码率分配方法及其设备

Country Status (4)

Country Link
US (1) US10834405B2 (zh)
EP (1) EP3595304B1 (zh)
CN (1) CN107027030B (zh)
WO (1) WO2018161867A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018161867A1 (zh) * 2017-03-07 2018-09-13 腾讯科技(深圳)有限公司 码率分配方法、设备及存储介质
CN109561310A (zh) * 2017-09-26 2019-04-02 腾讯科技(深圳)有限公司 视频编码处理方法、装置、设备和存储介质
CN110545418A (zh) * 2019-08-27 2019-12-06 杭州当虹科技股份有限公司 一种基于场景的自适应视频编码方法
CN111432210A (zh) * 2020-04-30 2020-07-17 中山大学 一种基于填充的点云属性压缩方法
CN112203096A (zh) * 2020-09-30 2021-01-08 北京金山云网络技术有限公司 视频编码方法、装置、计算机设备和存储介质
CN114726730A (zh) * 2022-02-15 2022-07-08 阿里巴巴(中国)有限公司 应用于cdn的拥塞控制方法、电子设备、介质及产品

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101572806A (zh) * 2009-06-01 2009-11-04 北京邮电大学 一种基于h.264的i帧码率控制方法
US20100111163A1 (en) * 2006-09-28 2010-05-06 Hua Yang Method for p-domain frame level bit allocation for effective rate control and enhanced video encoding quality
CN101795415A (zh) * 2010-04-22 2010-08-04 杭州华三通信技术有限公司 一种视频编码中的码率控制方法及其装置
KR20100104864A (ko) * 2009-03-19 2010-09-29 주식회사 코아로직 인코딩 장치와 방법 및 그 인코딩 장치를 포함한 멀티미디어 장치
CN103957410A (zh) * 2013-12-30 2014-07-30 南京邮电大学 一种基于残差频域复杂度的i帧码率控制方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7418037B1 (en) * 2002-07-15 2008-08-26 Apple Inc. Method of performing rate control for a compression system
US7046729B2 (en) * 2002-08-27 2006-05-16 Ess Technology, Inc. Bit rate control for motion compensated video compression system
JP2008527827A (ja) * 2005-01-07 2008-07-24 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 垂線流れに動的に基づいた量子化ステップ・サイズを用いてビデオ信号を処理する方法
CN100591124C (zh) * 2007-12-26 2010-02-17 广东威创视讯科技股份有限公司 视频编码的码率控制方法及视频数据的发射设备
GB2459671A (en) * 2008-04-29 2009-11-04 Imagination Tech Ltd Scene Change Detection For Use With Bit-Rate Control Of A Video Compression System
CN101754003B (zh) * 2008-12-11 2011-09-14 北京威速科技有限公司 一种稳定视频质量的码率控制方法
CN101854524A (zh) * 2009-03-31 2010-10-06 郑州大学 甚低码率视频编码器码率控制方法
IT1398196B1 (it) * 2009-06-25 2013-02-14 St Microelectronics Srl Controllore dinamico della velocita' di trasmissione indipendente dal gruppo di immagini
US8660178B2 (en) * 2010-07-01 2014-02-25 Broadcom Corporation Method and system for multi-layer rate control for a multi-codec system
US9071842B2 (en) * 2012-04-19 2015-06-30 Vixs Systems Inc. Detection of video feature based on variance metric
US9661329B2 (en) * 2014-04-30 2017-05-23 Intel Corporation Constant quality video coding
KR102159279B1 (ko) * 2014-05-29 2020-09-23 한국전자통신연구원 비균등 에러 보호를 수행하는 오류 정정을 위한 프레임 생성 방법 및 그 장치
KR20170007665A (ko) * 2015-07-10 2017-01-19 삼성전자주식회사 스킵 모드 정보를 이용한 레이트 조절 인코딩 방법 및 그에 따른 인코딩 장치
CN107027030B (zh) * 2017-03-07 2018-11-09 腾讯科技(深圳)有限公司 一种码率分配方法及其设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100111163A1 (en) * 2006-09-28 2010-05-06 Hua Yang Method for p-domain frame level bit allocation for effective rate control and enhanced video encoding quality
KR20100104864A (ko) * 2009-03-19 2010-09-29 주식회사 코아로직 인코딩 장치와 방법 및 그 인코딩 장치를 포함한 멀티미디어 장치
CN101572806A (zh) * 2009-06-01 2009-11-04 北京邮电大学 一种基于h.264的i帧码率控制方法
CN101795415A (zh) * 2010-04-22 2010-08-04 杭州华三通信技术有限公司 一种视频编码中的码率控制方法及其装置
CN103957410A (zh) * 2013-12-30 2014-07-30 南京邮电大学 一种基于残差频域复杂度的i帧码率控制方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李维,杨付正,任鹏: "考虑视频内容的H.265/HEVC帧层码率分配算法", 《通信学报》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018161867A1 (zh) * 2017-03-07 2018-09-13 腾讯科技(深圳)有限公司 码率分配方法、设备及存储介质
US10834405B2 (en) 2017-03-07 2020-11-10 Tencent Technology (Shenzhen) Company Limited Bit rate allocation method and device, and storage medium
CN109561310A (zh) * 2017-09-26 2019-04-02 腾讯科技(深圳)有限公司 视频编码处理方法、装置、设备和存储介质
WO2019062226A1 (zh) * 2017-09-26 2019-04-04 腾讯科技(深圳)有限公司 视频编码处理方法、计算机设备和存储介质
EP3606073A4 (en) * 2017-09-26 2020-04-22 Tencent Technology (Shenzhen) Company Limited VIDEO CODING METHOD, COMPUTER DEVICE AND STORAGE MEDIUM
US10827182B2 (en) 2017-09-26 2020-11-03 Tencent Technology (Shenzhen) Company Limited Video encoding processing method, computer device and storage medium
CN110545418A (zh) * 2019-08-27 2019-12-06 杭州当虹科技股份有限公司 一种基于场景的自适应视频编码方法
CN111432210A (zh) * 2020-04-30 2020-07-17 中山大学 一种基于填充的点云属性压缩方法
CN111432210B (zh) * 2020-04-30 2021-10-19 中山大学 一种基于填充的点云属性压缩方法
CN112203096A (zh) * 2020-09-30 2021-01-08 北京金山云网络技术有限公司 视频编码方法、装置、计算机设备和存储介质
CN114726730A (zh) * 2022-02-15 2022-07-08 阿里巴巴(中国)有限公司 应用于cdn的拥塞控制方法、电子设备、介质及产品
CN114726730B (zh) * 2022-02-15 2023-12-29 阿里巴巴(中国)有限公司 应用于cdn的拥塞控制方法、电子设备、介质及产品

Also Published As

Publication number Publication date
EP3595304A1 (en) 2020-01-15
EP3595304B1 (en) 2021-05-12
US10834405B2 (en) 2020-11-10
US20190222849A1 (en) 2019-07-18
WO2018161867A1 (zh) 2018-09-13
CN107027030B (zh) 2018-11-09
EP3595304A4 (en) 2020-02-26

Similar Documents

Publication Publication Date Title
CN107027030B (zh) 一种码率分配方法及其设备
CN110996125B (zh) 一种视频流的生成方法、装置、电子设备及存储介质
TW200539705A (en) Image transmitting device, image receiving device and image transceiving system
CN111182303A (zh) 共享屏幕的编码方法、装置、计算机可读介质及电子设备
CN108600783B (zh) 一种帧率调节方法、装置及终端设备
CN106961604B (zh) 视频编码的码率分配、编码单元码率分配方法及装置
CN110430436A (zh) 一种云手机视频压缩方法、系统、装置及存储介质
CN103716643A (zh) 用于使用内容信息改进视频编码的系统和方法
CN106791915A (zh) 一种显示视频图像的方法和装置
CN107818553B (zh) 图像灰度值调整方法和装置
CN113778589A (zh) 屏幕适配方法、服务器、智能终端、电子设备及存储介质
JP5003488B2 (ja) 映像コミュニケーションシステム、端末、および画像変換装置
US20220130020A1 (en) Image processing method and apparatus, video processing method and apparatus, electronic device, and storage medium
CN110858388B (zh) 一种增强视频画质的方法和装置
CN112437301B (zh) 一种面向视觉分析的码率控制方法、装置、存储介质及终端
CN110536087A (zh) 电子设备及其运动轨迹照片合成方法、装置和嵌入式装置
CN107493478A (zh) 编码帧率设置方法及设备
CN106921840B (zh) 一种即时视频中的人脸美化方法、设备及系统
US20220239920A1 (en) Video processing method, related apparatus, storage medium, and program product
CN115379210A (zh) 视频数据的编码方法、装置及设备
CN106254873A (zh) 一种视频编码方法及视频编码装置
CN110941413B (zh) 显示画面的生成方法及相关装置
CN114938461A (zh) 视频处理方法、装置、设备及可读存储介质
US10257488B2 (en) View synthesis using low resolution depth maps
CN111062923B (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