CN112203123A - 一种屏幕内容视频编码码率控制方法、终端及存储介质 - Google Patents
一种屏幕内容视频编码码率控制方法、终端及存储介质 Download PDFInfo
- Publication number
- CN112203123A CN112203123A CN202010947733.1A CN202010947733A CN112203123A CN 112203123 A CN112203123 A CN 112203123A CN 202010947733 A CN202010947733 A CN 202010947733A CN 112203123 A CN112203123 A CN 112203123A
- Authority
- CN
- China
- Prior art keywords
- coding
- target
- coding unit
- rate
- parameter
- 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
Images
Classifications
-
- 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
-
- 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
- H04N19/149—Data 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
-
- 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/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/637—Control signals issued by the client directed to the server or network components
- H04N21/6377—Control signals issued by the client directed to the server or network components directed to server
- H04N21/6379—Control signals issued by the client directed to the server or network components directed to server directed to encoder, e.g. for requesting a lower encoding rate
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)
- Databases & Information Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种屏幕视频内容编码码率控制方法、终端及存储介质。本发明提供的屏幕内容视频编码码率控制方法通过根据编码单元的内容特征将编码单元划分为两类,根据目标帧中的两类编码单元的个数、目标单元组中两类编码单元的个数、以及目标帧的目标码率,来确定目标编码单元组的第一编码参数,再根据第一编码参数和前一编码单元组的实际编码码率确定最终用于编码目标编码单元组的目标编码参数,实现了根据编码单元的内容特性确定不同的编码参数,提升了编码性能,并且根据前一编码单元的实际编码码率来实时修正用于编码下一编码单元的编码参数,降低了码率控制误差。
Description
技术领域
本发明涉及视频编码技术领域,特别涉及一种屏幕内容视频编码码率控制方法、终端及存储介质。
背景技术
屏幕内容视频(Screen Content Video,SCV)相较于摄像机获取的自然内容视频,具有包含文字区域、视频内容的颜色数量有限等特征,存在更多的信息冗余,为了更有效地编码屏幕内容序列,在现有的屏幕内容编码(Screen Content Coding,SCC)技术在高效视频编码(High Efficiency Video Coding,HEVC)的基础上针对SCV的特征做了扩展,采用了新的编码工具。但是,在实际应用中,SCC中并没有考虑屏幕内容视频的内容特性,存在编码性能较高时,码率控制误差率较大的问题。
因此,现有技术还有待改进和提高。
发明内容
针对现有技术的上述缺陷,提供一种屏幕内容视频编码码率控制方法、终端及存储介质,旨在解决现有技术中SCC编码技术中编码性能高时,码率控制误差率大的问题。
本发明的第一方面,提供一种屏幕内容视频编码码率控制方法,包括:
获取屏幕内容视频的目标码率,根据所述屏幕内容视频的目标码率确定所述屏幕内容视频中待编码的目标帧的目标码率;
将所述目标帧划分为N个编码单元组,每个编码单元组内包括M个编码单元,根据内容特性将每个所述编码单元划分为第一编码单元或第二编码单元,其中,N和M为正整数;
根据所述目标帧中所述第一编码单元的数量、所述第二编码单元的数量、所述目标帧的目标码率、以及所述目标编码单元组中所述第一编码单元和所述第二编码单元的数量确定所述目标编码单元组的第一编码参数;
根据所述目标编码单元组的所述第一编码参数、以及第一编码单元组的实际编码码率确定用于编码所述目标编码单元组中各个编码单元的目标编码参数,其中,所述第一编码单元组为所述目标编码单元组的上一个编码单元组。
所述的屏幕内容视频编码码率控制方法,其中,所述根据所述屏幕内容视频的目标码率确定所述屏幕内容视频中目标帧的帧目标码率,包括:
将所述屏幕内容视频划分为多个图像组,每个图像组中包括多个帧,根据获取所述目标帧之前被编码的帧的实际编码码率确定所述目标帧所在的目标图像组的目标码率;
根据所述目标图像组的目标码率、所述目标图像组中已被编码根据所述目标帧在所述目标图像组中的权重确定所述目标帧的帧目标码率。
所述的屏幕内容视频编码码率控制方法,其中,所述根据内容特性将每个所述编码单元划分为第一编码单元或第二编码单元,包括:
将各个所述编码单元输入至预先训练完成的编码单元分类模型,获取所述编码单元分类模型输出的各个编码单元的分类结果;
其中,所述编码单元分类模型是根据多组训练数据训练完成的,每组训练数据包括样本编码单元以及样本编码单元的内容特性对应的分类结果。
所述的屏幕内容视频编码码率控制方法,其中,所述根据所述目标帧中所述第一编码单元的数量、所述第二编码单元的数量、所述目标帧的目标码率、以及所述目标编码单元组中所述第一编码单元和所述第二编码单元的数量确定所述目标编码单元组的第一编码参数,包括:
构建所述目标帧的失真与所述第一编码单元的码率和数量、以及所述第二编码单元的码率和数量的关系,以所述目标帧的目标码率为约束,求解所述目标帧的失真最小化问题,得到所述第一编码单元的目标码率以及所述第二编码单元的目标码率;
根据所述第一编码单元的目标码率以及所述第二编码单元的目标码率确定所述第一编码单元的目标编码参数和所述第二编码单元的目标编码参数;
根据所述第一编码单元的目标编码参数和所述第二编码单元的目标编码参数、以及所述目标编码单元组中所述第一编码单元和所述第二编码单元的数量获取所述第一编码参数。
所述的屏幕内容视频编码码率控制方法,其中,所述目标帧的失真与所述第一编码单元的码率和数量、以及所述第二编码单元的码率和数量的关系为:
D=ωSC(ASC*exp(BSC*RSC)+CSC)+ωNC(ANC*exp(BNC*RNC)+CNC);
其中,NSC和NNC分别表示所述目标帧内所述第一编码单元和所述第二编码单元的数量,W、H分别为帧的宽和高,RSC、RNC分别为所述第一编码单元和所述第二编码单元的编码码率,ASC、BSC、CSC为所述第一编码单元对应的码率和失真之间的关系中的参数,ANC、BNC、CNC分别为所述第二编码单元对应的码率和失真之间的关系中的参数。
所述的屏幕内容视频编码码率控制方法,其中,所述根据所述目标编码单元组的所述第一编码参数、以及第一编码单元组的实际编码码率确定用于编码所述目标编码单元组中各个编码单元的目标编码参数,包括:
根据第一编码单元组的实际编码码率确定所述目标编码单元组对应的第二编码参数;
根据目标编码单元组对应的所述第一编码参数和所述第二编码参数,通过第一预设公式确定所述目标编码参数;
第一预设公式为:λ=γ·λR+(1-γ)·λ0,其中,λ为所述目标编码参数,λR为所述目标编码单元组的所述第一编码参数,λ0为所述目标编码单元组的所述第二编码参数,γ为预设的权重因子。
所述的屏幕内容视频编码码率控制方法,其中,所述根据第一编码单元组的实际编码码率确定所述目标编码单元组对应的第二编码参数,包括:
根据所述第一编码单元组的实际编码码率,通过第二预设公式更新预设参数,其中,所述预设参数为编码码率与编码参数之间的关系中的参数;
根据更新后的预设参数计算所述目标编码单元组对应的第二编码参数;
编码码率与编码参数之间的关系为:λ=α·Rβ,λ为编码参数,R为编码码率,α和β为所述预设参数;
所述第二预设公式为:其中,αnew、βnew为更新后的预设参数,αold、βold为更新前的预设参数,δα、δβ为缩放因子,λreal为所述第一编码单元组的目标编码参数,Rreal为所述第一编码单元组的实际编码码率。
所述的屏幕内容视频编码码率控制方法,其中,当所述目标编码单元组为所述目标帧中的第一个编码单元组时,所述目标编码单元组的所述第二编码参数根据所述预设参数的初始值、以及所述目标帧的目标码率得到。
本发明的第二方面,提供一种终端,包括:处理器、与处理器通信连接的存储介质,存储介质适于存储多条指令,处理器适于调用存储介质中的指令,以执行实现上述任一项所述的屏幕内容视频编码码率控制方法的步骤。
本发明的第三方面,提供一种存储介质,其中,存储介质存储有一个或者多个程序,该一个或者多个程序可被一个或者多个处理器执行,以实现上述任一项所述的屏幕内容视频编码码率控制方法的步骤。
有益效果:与现有技术相比,本发明提供了一种屏幕内容视频编码码率控制方法、终端及存储介质,本发明提供的屏幕内容视频编码码率控制方法通过根据编码单元的内容特征将编码单元划分为两类,根据目标帧中的两类编码单元的个数、目标单元组中两类编码单元的个数、以及目标帧的目标码率,来确定目标编码单元组的第一编码参数,再根据第一编码参数和前一编码单元组的实际编码码率确定最终用于编码目标编码单元组的目标编码参数,实现了根据编码单元的内容特性确定不同的编码参数,提升了编码性能,并且根据前一编码单元的实际编码码率来实时修正用于编码下一编码单元的编码参数,降低了码率控制误差。
附图说明
图1为本发明提供的屏幕内容视频编码码率控制方法的实施例的流程图;
图2为本发明提供的屏幕内容视频编码码率控制方法的实施例中编码单元分类模型的结构示意图;
图3为本发明提供的终端的实施例的结构原理图。
具体实施方式
为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明提供的一种屏幕内容视频编码码率控制方法,是可以应用在终端中,终端可以但不限于是各种计算机、笔记本电脑、手机、平板电脑等。
实施例一
如图1所示,本发明提供的屏幕内容视频编码码率控制方法包括步骤:
S100、获取屏幕内容视频的目标码率,根据所述屏幕内容视频的目标码率确定所述屏幕内容视频中待编码的目标帧的目标码率。
在对屏幕内容视频进行编码时,会设定一个目标码率,所述屏幕内容视频编码完成后,需要控制实际码率与目标码率的误差在一定范围内。在对屏幕内容视频进行编码时,是对视频中的各个帧依次编码,所述根据所述屏幕内容视频的目标码率确定所述屏幕内容视频中待编码的目标帧的目标码率,包括:
S110、将所述屏幕内容视频划分为多个图像组,每个图像组中包括多个帧,根据获取所述目标帧之前被编码的帧的实际编码码率确定所述目标帧所在的目标图像组的目标码率;
S120、根据所述目标图像组的目标码率、所述目标图像组中已被编码根据所述目标帧在所述目标图像组中的权重确定所述目标帧的目标码率。
在确定所述目标帧的目标码率时,是先将所述屏幕内容视频划分为多个图像组,每个图像组中包括多个帧,获取所述目标帧所在的目标图像组的目标码率后,再根据所述目标帧在所述目标图像组中的权重来确定所述目标帧的目标码率。
所述目标图像组的目标码率可以通过如下公式计算:
其中,RPAvg表示视频序列平均每帧的码率,Red表示已编码消耗的码率,Ned表示已经编码的帧数,不难看出,RPAvg×Ned-Red表示理论消耗码率和实际消耗码率的差,可以反映缓冲区的状态与目标码率的关系,SW为预设固定值,是滑动窗口,一般取40,用于防止码率波动过大,NG表示视频序列中图像组的个数。
所述目标帧的目标码率可以通过如下公式计算:
其中,TGleft表示所述目标图像组的剩余码率,wcurrP表示所述目标帧在所述目标图像组中的权重参数,wi表示所述目标图像组中第i帧在所述目标图像组中的权重参数,{NotCodedPic}表示所述目标图像组中未编码的帧的集合。权重的设置主要是考虑到图像组结构以及参考帧之间会发生编码错误传播的问题,此外,权重的设置也会参考视频内容特性。
请再次参阅图1,本实施例提供的屏幕内容视频编码码率还包括步骤:
S200、将所述目标帧划分为N个编码单元组,每个编码单元组内包括M个编码单元,根据内容特性将每个编码单元划分为第一编码单元或第二编码单元。
在本实施例中,对所述屏幕内容视频进行编码的过程中,在对每个帧进行编码时,是依次编码各个编码单元组,在每个编码单元组内,依次编码编码单元,当一个编码单元组内的编码单元编码完成后,该编码单元组编码完成,接着编码下一个编码单元组内的编码单元组,当一个帧的编码单元组均编码完成时,该帧编码完成。在本实施例中,将所述目标帧划分为N个编码单元组(LCU),每个编码单元组内包括M个编码单元,N、M均为正整数。具体地,所述编码单元组的大小可以为64*64,所述编码单元的大小可以为8*8,当然,上述只是举例而已,本领域技术人员可以按照其他的规则进行划分,例如,将所述编码单元组的大小设置为32*32,将所述编码单元的大小设置为2*4等。
在划分完成后,对每个编码单元进行分类,确定其为第一编码单元或第二编码单元,具体地,对每个编码单元进行分类,确定其为第一编码单元或第二编码单元是对编码单元适用的编码工具进行预测,具体地,根据编码单元的内容特性不同,适用的编码工具不同,所述第一编码单元的内容具有颜色个数有限,有锐利的边缘,有重复块等特性,即内容复杂度低,适用的编码工具为SCC引入的新编码工具,所述第二编码单元的内容特征为复杂度高,适用的编码工具为HEVC传统编码工具,所述将每个所述编码单元划分为第一编码单元或第二编码单元,包括:
将各个所述编码单元输入至预先训练完成的编码单元分类模型,获取所述编码单元分类模型输出的各个编码单元的分类结果。
所述编码单元分类模型是根据多组训练数据训练完成的,每组训练数据包括样本编码单元以及样本编码单元的内容特性对应的分类结果。
具体地,所述样本编码单元的内容特性对应的分类结果可以为人工根据编码单元的内容特性进行标注,或者,将所述样本编码单元输入至编码器,根据样本编码单元的实际编码工具来标记所述样本编码单元的分类结果,当实际编码工具为SCC引入的新编码工具时,标记所述样本编码单元为所述第一编码单元,当实际编码工具为HEVC传统编码工具时,标记所述样本编码单元为所述第二编码单元。通过多组训练数据训练所述编码单元分类模型,训练完成后,所述编码单元分类模型具有根据输入的编码单元,输出对应的分类结果的能力。
所述编码单元分类模型的具体结构可以如图2所示,在输入时,可以选择编码单元的亮度分量作为输入,在进行卷积运算前,先进行取均值化的预处理。
S300、根据所述目标帧中所述第一编码单元的数量、所述第二编码单元的数量、所述目标帧的目标码率、以及所述目标编码单元组中所述第一编码单元和所述第二编码单元的数量确定所述目标编码单元组的第一编码参数。
所述第一编码单元和所述第二编码单元的内容特性不同,在编码时,可以对应采用不同的码率以提升编码性能,所述根据所述目标帧中所述第一编码单元的数量、所述第二编码单元的数量、所述目标帧的目标码率、以及所述目标编码单元组中所述第一编码单元和所述第二编码单元的数量确定所述目标编码单元组的第一编码参数,包括:
S310、构建所述目标帧的失真与所述第一编码单元的码率和数量、以及所述第二编码单元的码率和数量的关系,以所述目标帧的目标码率为约束,求解所述目标帧的失真最小化问题,得到所述第一编码单元的目标码率以及所述第二编码单元的目标码率。
具体地,失真用均方误差(Mean Square Error,MSE)衡量,单帧的均方误差可以表示为:
其中,I(i,j)表示在位置(i,j)的原始像素值,表示在位置(i,j)的重构像素值,NSC和NNC分别表示所述目标帧内所述第一编码单元和所述第二编码单元的数量,DSC和DNC分别表示所述第一编码单元的失真和所述第二编码单元的失真,W、H分别为帧的宽和高。为所述第一编码单元的权重因子,为所述第二编码单元的权重因子。
在SCC编码技术中,码率与失真满足D=A*exp(B*R)+C的关系,其中,R为码率,A、B、C为预设参数,因此,所述目标帧的失真与所述第一编码单元的码率和数量、以及所述第二编码单元的码率和数量的关系为:
D=ωSC(ASC*exp(BSC*RSC)+CSC)+ωNC(ANC*exp(BNC*RNC)+CNC);
其中,NSC和NNC分别表示所述目标帧内所述第一编码单元和所述第二编码单元的数量,W、H分别为帧的宽和高,RSC、RNC分别为所述第一编码单元和所述第二编码单元的编码码率,ASC、BSC、CSC为所述第一编码单元对应的码率和失真之间的关系中的参数,ANC、BNC、CNC分别为所述第二编码单元对应的码率和失真之间的关系中的参数,ASC、BSC、CSC、ANC、BNC、CNC预先通过线下拟合得到。
考虑所述目标帧的目标码率,在所述目标帧的目标码率的约束下,使得失真最小的RSC、RNC分别作为所述第一编码单元和所述第二编码单元的目标码率,能够达到理想的编码性能。以所述目标帧的目标码率为约束,求解所述目标帧的失真最小化问题,得到所述第一编码单元的目标码率以及所述第二编码单元的目标码率,可以用公式表示为:
minD=ωSC(ASC*exp(BSC*RSC)+CSC)+ωNC(ANC*exp(BNC*RNC)+CNC)
s.t.RSC*NSC+RNC*NSC≤TcurrP
TcurrP为所述目标帧的目标码率,令a=ωSC*ASC,b=ωNC*ANC,c=ωSC*CSC+ωNC*CNC,可以看出,失真与所述第一编码单元的码率以及所述第二编码单元的码率之间的关系由两个凸的值函数组成,因此约束极小化问题可以转化为无约束优化问题,利用拉格朗日乘子,将约束极小化问题转化为:
minJ=aexp(BSC*RSC)+bexp(BNC*RNC)+c+λ(RSC*NSC+RNC*NNC-TcurrP)。
通过计算J对于RSC、RNC和λ的偏导方程并设置为零,计算得到所述第一编码单元的目标码率和所述第二编码单元内的目标码率:
S320、根据所述第一编码单元的目标码率以及所述第二编码单元的目标码率确定所述目标编码单元中所述第一编码单元的目标编码参数和所述第二编码单元的目标编码参数。
在获取到所述第一编码单元的目标码率以及所述第二编码单元的目标码率后,计算所述第一编码单元的目标码率对应的目标编码参数和所述第二编码单元的目标码率对应的目标编码参数,具体地,是通过编码参数与编码码率的关系来确定所述第一编码单元的目标编码参数和所述第二编码单元的目标编码参数,编码参数与编码码率的关系可以表示为λ=α·Rβ,λ为编码参数,R为编码码率,α和β为参数,在获取所述第一编码单元的目标编码参数和所述第二编码单元的目标编码参数,公式中的参数α和β采用预先设置的定值,该预先设置的定制可以通过预先的试验确定,例如分别为0.1和0.05,当然,本领域技术人员可以根据本发明提供的技术方案,设置不同的值来确定所述第一编码单元的目标编码参数和所述第二编码单元的目标编码参数。
S330、根据所述第一编码单元的目标编码参数和所述第二编码单元的目标编码参数、以及所述目标编码单元组中所述第一编码单元和所述第二编码单元的数量获取所述第一编码参数。
在获取到所述第一编码单元的目标编码参数和所述第二编码单元的目标参数后,根据所述目标帧中各个编码单元组中所述第一编码单元和所述第二编码单元的数量来或获取所述目标帧中各个编码单元组的第一编码参数。
具体地,所述目标编码单元组的所述第一编码参数的计算公式为:
其中,λSC为所述第一编码单元的目标编码参数,λNC为所述第二编码单元的目标编码参数,δ为所述目标编码单元组中所述第一编码单元的数量占比,也就是说,当所述目标编码单元组中只有所述第一编码单元时,所述目标编码单元组的第一编码参数等于所述第一编码单元的目标编码参数,当只有所述第二编码单元时,所述目标编码单元组的第一编码参数等于所述第二编码单元的目标编码参数,当既有所述第一编码单元,又有所述第二编码单元时,所述目标编码单元组的第一编码参数λR=δλSC+(1-δ)λNC。
请再次参阅图1,本实施例提供的屏幕内容视频编码码率控制方法还包括步骤:
S400、根据所述目标编码单元组的所述第一编码参数、以及第一编码单元组的实际编码码率确定用于编码所述目标编码单元组中各个编码单元的目标编码参数。
如果直接将所述目标编码单元组的第一编码参数作为用于编码所述目标编码单元组的目标编码控制参数,可能会出现编码单元组之间的目标编码控制参数差别太大导致块效应,降低图像的质量,为了避免块效应以及平滑视频质量,在本实施例中,还设置有第二编码参数,根据所述第一编码参数和所述第二编码参数共同确定最终用于编码所述目标编码单元组中各个编码单元的目标编码参数。
所述根据所述目标编码单元组的所述第一编码参数、以及第一编码单元组的实际编码码率确定用于编码所述目标编码单元组中各个编码单元的目标编码参数,包括:
S410、根据第一编码单元组的实际编码码率确定所述目标编码单元组对应的第二编码参数;
根据第一编码单元组的实际编码码率确定所述目标编码单元组对应的第二编码参数,包括:
S411、根据所述第一编码单元组的实际编码码率,通过第二预设公式更新预设参数;
S412、根据更新后的预设参数计算所述目标编码单元组对应的第二编码参数。
所述预设参数为编码码率与编码参数之间的参数,正如前面所说明的,编码码率与编码参数之间的关系可以用公式表示为:λ=α·Rβ,λ为编码参数,R为编码码率,α和β为所述预设参数,在获取所述第二编码参数时,是根据所述第一编码单元组的实际编码码率,对α和β进行更新,从而控制实际编码码率与目标编码码率之间的误差。
其中,αnew、βnew为更新后的预设参数,αold、βold为更新前的预设参数,δα、δβ为缩放因子,为预先设置的值,λreal为所述第一编码单元组的目标编码参数,Rreal为所述第一编码单元组的实际编码码率。
在得到更新后的预设参数,即所述第二预设公式中的αnew、βnew后,带入编码码率与编码参数之间的关系的公式:λ=α·Rβ,得到所述目标编码单元组的所述第二编码参数。
值得说明的是,当所述目标编码单元组为所述目标帧中的第一个编码单元组时,所述目标编码单元组的第二编码参数通过预设参数α和β的初始值、以及所述目标帧的目标码率的关系得到,即不进行更新所述预设参数的过程,直接将α和β的初始值带入编码码率与编码参数之间的关系的公式:λ=α·Rβ,得到所述目标帧的目标码率对应的编码参数作为所述目标编码单元组的所述第二编码参数。所述预设参数的初始值为预先设置的值,例如,可以将α和β的初始值分别设置为0.1和0.05,当然,本领域技术人员可以根据不同的视频编码场景,设置其他的初始值,本发明对此不做具体的限定。
S420、根据目标编码单元组对应的所述第一编码参数和所述第二编码参数,通过第一预设公式确定所述目标编码参数;
第一预设公式为:λ=γ·λR+(1-γ)·λ0,其中,λ为所述目标编码参数,λR为所述目标编码单元组的所述第一编码参数,λ0为所述目标编码单元组的所述第二编码参数,γ为预设的权重因子,用于避免编码单元组之间的编码参数相差太大导致编码质量相差过大,γ可以取0.5等值。
在获取到所述目标编码单元组的目标编码参数后,根据所述目标编码参数对所述目标编码单元组中的各个编码单元进行编码,具体地,是根据公式QP=c1×Inλ+c2得到量化参数QP,根据量化参数进行编码。其中,λ为目标编码参数,c1、c2为预设值,可以根据实际应用场景确定,例如,取c1=4.2005,c2=13.7122等。在计算QP时,需要对QP的范围做修正,帧级的QP需要参考相邻帧,差异不能超过10且同时序时差异不能超过3;相邻编码单元组的QP差值不能超过1,与所属帧的其他的编码单元组差异不能超过2。
综上所述,本实施例提供一种屏幕内容视频编码码率控制方法,通过根据编码单元的内容特征将编码单元划分为两类,根据目标帧中的两类编码单元的个数、目标单元组中两类编码单元的个数、以及目标帧的目标码率,来确定目标编码单元组的第一编码参数,再根据第一编码参数和前一编码单元组的实际编码码率确定最终用于编码目标编码单元组的目标编码参数,实现了根据编码单元的内容特性确定不同的编码参数,提升了编码性能,并且根据前一编码单元的实际编码码率来实时修正用于编码下一编码单元的编码参数,降低了码率控制误差。经过编码测试,本实施例提供的屏幕内容视频编码码率控制方法,可以提升0.22dB质量,同时降低2.01%码率,证实本实施提供的屏幕内容视频编码码率控制方法具有提升编码性能、降低码率控制误差的效果。
应该理解的是,虽然本发明说明书附图中给出的的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,本发明中的步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,本发明步骤的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
实施例二
基于上述实施例,本发明还提供了一种终端,其原理框图可以如图3所示。该终端包括存储器10和处理器20,存储器10中存储有计算机程序,该处理器10执行计算机程序时可以实现一种屏幕内容视频编码码率控制方法的步骤,具体如实施例一中所述。
实施例三
本发明还提供了一种存储介质,存储介质存储有一个或者多个程序,该一个或者多个程序可被一个或者多个处理器执行,以实现上述实施例所述的屏幕内容视频编码码率控制方法的步骤。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种屏幕内容视频编码码率控制方法,其特征在于,包括:
获取屏幕内容视频的目标码率,根据所述屏幕内容视频的目标码率确定所述屏幕内容视频中待编码的目标帧的目标码率;
将所述目标帧划分为N个编码单元组,每个编码单元组内包括M个编码单元,根据内容特性将每个所述编码单元划分为第一编码单元或第二编码单元,其中,N和M为正整数;
根据所述目标帧中所述第一编码单元的数量、所述第二编码单元的数量、所述目标帧的目标码率、以及所述目标编码单元组中所述第一编码单元和所述第二编码单元的数量确定所述目标编码单元组的第一编码参数;
根据所述目标编码单元组的所述第一编码参数、以及第一编码单元组的实际编码码率确定用于编码所述目标编码单元组中各个编码单元的目标编码参数,其中,所述第一编码单元组为所述目标编码单元组的上一个编码单元组。
2.根据权利要求1所述的屏幕内容视频编码码率控制方法,其特征在于,所述根据所述屏幕内容视频的目标码率确定所述屏幕内容视频中目标帧的帧目标码率,包括:
将所述屏幕内容视频划分为多个图像组,每个图像组中包括多个帧,根据获取所述目标帧之前被编码的帧的实际编码码率确定所述目标帧所在的目标图像组的目标码率;
根据所述目标图像组的目标码率、所述目标图像组中已被编码根据所述目标帧在所述目标图像组中的权重确定所述目标帧的帧目标码率。
3.根据权利要求1所述的屏幕内容视频编码码率控制方法,其特征在于,所述根据内容特性将每个所述编码单元划分为第一编码单元或第二编码单元,包括:
将各个所述编码单元输入至预先训练完成的编码单元分类模型,获取所述编码单元分类模型输出的各个编码单元的分类结果;
其中,所述编码单元分类模型是根据多组训练数据训练完成的,每组训练数据包括样本编码单元以及样本编码单元的内容特性对应的分类结果。
4.根据权利要求1所述的屏幕内容视频编码码率控制方法,其特征在于,所述根据所述目标帧中所述第一编码单元的数量、所述第二编码单元的数量、所述目标帧的目标码率、以及所述目标编码单元组中所述第一编码单元和所述第二编码单元的数量确定所述目标编码单元组的第一编码参数,包括:
构建所述目标帧的失真与所述第一编码单元的码率和数量、以及所述第二编码单元的码率和数量的关系,以所述目标帧的目标码率为约束,求解所述目标帧的失真最小化问题,得到所述第一编码单元的目标码率以及所述第二编码单元的目标码率;
根据所述第一编码单元的目标码率以及所述第二编码单元的目标码率确定所述第一编码单元的目标编码参数和所述第二编码单元的目标编码参数;
根据所述第一编码单元的目标编码参数和所述第二编码单元的目标编码参数、以及所述目标编码单元组中所述第一编码单元和所述第二编码单元的数量获取所述第一编码参数。
6.根据权利要求1所述的屏幕内容视频编码码率控制方法,其特征在于,所述根据所述目标编码单元组的所述第一编码参数、以及第一编码单元组的实际编码码率确定用于编码所述目标编码单元组中各个编码单元的目标编码参数,包括:
根据第一编码单元组的实际编码码率确定所述目标编码单元组对应的第二编码参数;
根据目标编码单元组对应的所述第一编码参数和所述第二编码参数,通过第一预设公式确定所述目标编码参数;
第一预设公式为:λ=γ·λR+(1-γ)·λ0,其中,λ为所述目标编码参数,λR为所述目标编码单元组的所述第一编码参数,λ0为所述目标编码单元组的所述第二编码参数,γ为预设的权重因子。
7.根据权利要求6所述的屏幕内容视频编码码率控制方法,其特征在于,所述根据第一编码单元组的实际编码码率确定所述目标编码单元组对应的第二编码参数,包括:
根据所述第一编码单元组的实际编码码率,通过第二预设公式更新预设参数,其中,所述预设参数为编码码率与编码参数之间的关系中的参数;
根据更新后的预设参数计算所述目标编码单元组对应的第二编码参数;
编码码率与编码参数之间的关系为:λ=α·Rβ,λ为编码参数,R为编码码率,α和β为所述预设参数;
8.根据权利要求7所述的屏幕内容视频编码码率控制方法,其特征在于,当所述目标编码单元组为所述目标帧中的第一个编码单元组时,所述目标编码单元组的所述第二编码参数根据所述预设参数的初始值、以及所述目标帧的目标码率得到。
9.一种终端,其特征在于,所述终端包括:处理器、与处理器通信连接的存储介质,所述存储介质适于存储多条指令,所述处理器适于调用所述存储介质中的指令,以执行实现上述权利要求1-8任一项所述的屏幕内容视频编码码率控制方法的步骤。
10.一种存储介质,其特征在于,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1-8任一项所述的屏幕内容视频编码码率控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010947733.1A CN112203123B (zh) | 2020-09-10 | 2020-09-10 | 一种屏幕内容视频编码码率控制方法、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010947733.1A CN112203123B (zh) | 2020-09-10 | 2020-09-10 | 一种屏幕内容视频编码码率控制方法、终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112203123A true CN112203123A (zh) | 2021-01-08 |
CN112203123B CN112203123B (zh) | 2022-07-05 |
Family
ID=74015615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010947733.1A Active CN112203123B (zh) | 2020-09-10 | 2020-09-10 | 一种屏幕内容视频编码码率控制方法、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112203123B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030235247A1 (en) * | 2002-06-25 | 2003-12-25 | General Instrument Corporation | Methods and apparatus for rate control during dual pass encoding |
CN101094411A (zh) * | 2007-07-03 | 2007-12-26 | 芯瀚电子技术(上海)有限公司 | 一种视频编码的码率控制方法 |
CN103281530A (zh) * | 2013-05-07 | 2013-09-04 | 西安电子科技大学 | 基于率失真优化的hevc码率控制方法 |
CN103517080A (zh) * | 2012-06-21 | 2014-01-15 | 北京数码视讯科技股份有限公司 | 实时视频流编码器和实时视频流编码方法 |
CN106331711A (zh) * | 2016-08-26 | 2017-01-11 | 北京工业大学 | 一种基于网络特征与视频特征的动态码率控制方法 |
CN108495135A (zh) * | 2018-03-14 | 2018-09-04 | 宁波大学 | 一种屏幕内容视频编码的快速编码方法 |
-
2020
- 2020-09-10 CN CN202010947733.1A patent/CN112203123B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030235247A1 (en) * | 2002-06-25 | 2003-12-25 | General Instrument Corporation | Methods and apparatus for rate control during dual pass encoding |
CN101094411A (zh) * | 2007-07-03 | 2007-12-26 | 芯瀚电子技术(上海)有限公司 | 一种视频编码的码率控制方法 |
CN103517080A (zh) * | 2012-06-21 | 2014-01-15 | 北京数码视讯科技股份有限公司 | 实时视频流编码器和实时视频流编码方法 |
CN103281530A (zh) * | 2013-05-07 | 2013-09-04 | 西安电子科技大学 | 基于率失真优化的hevc码率控制方法 |
CN106331711A (zh) * | 2016-08-26 | 2017-01-11 | 北京工业大学 | 一种基于网络特征与视频特征的动态码率控制方法 |
CN108495135A (zh) * | 2018-03-14 | 2018-09-04 | 宁波大学 | 一种屏幕内容视频编码的快速编码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112203123B (zh) | 2022-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11250546B2 (en) | Image distortion correction method and device and electronic device | |
US20180191371A1 (en) | Data compression and decompression method of demura table, and mura compensation method | |
WO2022257759A1 (zh) | 一种图像带状伪影去除方法、装置、设备和介质 | |
US11032539B2 (en) | Video coding method, computer device, and storage medium | |
CN110717868B (zh) | 视频高动态范围反色调映射模型构建、映射方法及装置 | |
WO2021104079A1 (zh) | 视频处理方法、装置、存储介质及计算机设备 | |
US11159814B2 (en) | Image coding/decoding method, coder, decoder, and storage medium | |
CN110062230B (zh) | 图像编码方法及装置 | |
JP2018107797A (ja) | 画像データのエンコード及びデコード | |
US11677936B2 (en) | Prediction method for decoding and apparatus, and computer storage medium | |
KR20150123810A (ko) | 이미지 동적 범위 변환 오퍼레이터를 선택하는 방법 및 디바이스 | |
US4903138A (en) | Method of and apparatus for eliminating interblock distortion due to compressed image data | |
CN113538271A (zh) | 图像显示方法、装置、电子设备和计算机可读存储介质 | |
CN113706393A (zh) | 视频增强方法、装置、设备及存储介质 | |
CN112203123B (zh) | 一种屏幕内容视频编码码率控制方法、终端及存储介质 | |
CN112437301B (zh) | 一种面向视觉分析的码率控制方法、装置、存储介质及终端 | |
CN113592965A (zh) | 图像处理方法、装置、电子设备和计算机可读存储介质 | |
CN108540799A (zh) | 一种可以精确表示一个视频文件两帧图像之间差异的压缩方法 | |
US7184596B2 (en) | Image processing apparatus for reducing coding load | |
CN110730347A (zh) | 图像压缩方法、装置及电子设备 | |
JP2018019239A (ja) | 撮像装置及びその制御方法及びプログラム | |
US7843607B2 (en) | Method for processing digital image data | |
CN113709494A (zh) | 用于超分重建的图像解压缩方法及装置 | |
CN111179158A (zh) | 图像处理方法、装置、电子设备及介质 | |
JPH08288860A (ja) | データ処理装置 |
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 |