CN100591124C - 视频编码的码率控制方法及视频数据的发射设备 - Google Patents
视频编码的码率控制方法及视频数据的发射设备 Download PDFInfo
- Publication number
- CN100591124C CN100591124C CN 200710032756 CN200710032756A CN100591124C CN 100591124 C CN100591124 C CN 100591124C CN 200710032756 CN200710032756 CN 200710032756 CN 200710032756 A CN200710032756 A CN 200710032756A CN 100591124 C CN100591124 C CN 100591124C
- Authority
- CN
- China
- Prior art keywords
- frame
- video data
- quantization parameter
- loss
- bit 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明提供一种视频编码的码率控制方法,发送方通过实时传输控制反馈链路定期发送控制包,当接收到反馈控制包时,根据所述反馈控制包中的丢包率获得输出码率,将视频数据按照所获得的码率通过实时传输链路进行发送。本发明提供的视频编码的码率控制方法及发射设备通过考虑丢包率的因素对输出码率进行控制,使编码出来的数据能更好地适应当前网络状况的传输,从而达到更好的视频显示效果。
Description
技术领域
本发明涉及视频编码技术,尤其是一种视频编码的码率控制的方法。
背景技术
视频编码标准通常采用去除时空域相关性的帧内帧间预测、离散余弦变换量化和熵编码技术,以达到较高的编码效率。对视频通信而言,由于通信信道带宽有限,需对视频编码码率进行控制,以保证编码码流的顺利传输和信道带宽的充分利用。针对不同的应用场合,目前有多种码率控制(RateControl)策略。其中,实时编码码率控制方法主要有两种:用先前宏块编码产生的比特数来预测当前宏块编码产生比特数,或者通过视频编码率失真函数来预测当前宏块编码产生的比特数。
但是,上述两种实时编码码率控制方法均未能充分考虑网络带宽状况,只是简单地通过先前的编码率来产生当前的编码率,从而造成预测编码不能很好的适合当前网络状况的传输。
发明内容
本发明提供一种视频编码的码率控制的方法,能够充分考虑网络状况,提高对码流的控制效果,改善视频传输的图像质量。
本发明提供一种视频编码的码率控制方法,发送方通过实时传输控制反馈链路定期发送控制包,当接收到反馈控制包时,根据所述反馈控制包中的丢包率获得目标帧率,根据所述目标帧率采集视频数据,根据所采集的视频数据获得输出码率,将视频数据按照所获得的码率通过实时传输链路进行发送。
本发明同时提供一种视频数据的发射设备,包括:
数据采集模块,用于根据目标帧率采集视频数据;
编码器,用于将所述视频数据按照目标码率进行编码;
实时传输链路接口,用于通过发送所述视频数据;以及
实时传输控制反馈链路接口,通过定期发送控制包,接收反馈控制包;
以及第一控制模块,所述第一控制模块包括帧率控制模块用于根据所述反馈控制包中的丢包率获得目标帧率,并将所述目标帧率传送至该数据采集模块。
本发明还提供另一种视频数据的发射设备,包括:
数据采集模块,用于采集视频数据;
编码器,用于将所述视频数据按照目标码率获得输出码率,并根据输出码率进行编码;
实时传输链路接口,用于通过发送所述视频数据;以及
实时传输控制反馈链路接口,通过定期发送控制包,接收反馈控制包;
以及量化参数调节器,用于根据所述丢包率获得I帧的量化参数。
由于丢包率将影响视频数据的传输质量,本发明提供的视频编码的码率控制方法及发射设备通过考虑丢包率的因素对输出码率进行控制,使编码出来的数据能更好地适应当前网络状况的传输,从而达到更好的视频显示效果。
附图说明
图1为本发明的视频编码的码率控制方法的流程图;
图2为本发明的处理视频数据的系统框图。
具体实施方式
丢包率是指网络传输数据的丢失情况,在视频编码产生的数据包相对较大时,在网络状况较好的情况下,数据包传输比较好,丢包率也就比较小,甚至不丢包,但是当网络状况不佳时丢包率可能就会较严重,从而导致接收方收到的视频图像不流畅,甚至出现马赛克,由此可知,丢包率将影响视频数据的传输质量,本发明提供的视频编码的码率控制方法通过考虑丢包率的因素对输出码率进行控制,使编码出来的数据能更好地适应当前网络状况的传输,从而达到更好的视频显示效果。
本发明中承载视频数据的数据包的发送是基于RTP(实时传输协议,Runtime Transfer Protocol)协议传输的,RTP主要用于传输实时数据流(如视频流等),另外,本发明利用RTCP(实时传输控制协议,Runtime TransferControl Protocol)反馈链路发送控制包和反馈控制包,通过反馈控制包获取丢包率。RTCP协议是RTP协议的补充与控制,RTP协议传输的丢包率可以通过RTCP协议的反馈控制链路获得,可以通过RTCP链路定期发送控制包,例如可以每发送Ns个视频数据包就发送一个前向的RTCP控制包,RTCP控制包的作用在于分析比对发送方发送的数据与接收方接收到的数据的差异,从而推算出网络传输的丢包率。控制包描述了本次发送的数据包的信息,如数据包序列、个数、长度等信息,当接收方收到该数据包之后与接收到的控制包进行分析比较,检测本次接收的数据包与发送方发送的数据包是否一致,随后发送反馈控制包给发送方,发送方可以根据接收方的反馈控制包获知本次数据传输的丢包率。
以下阐述本发明的实现过程。
本发明提供的视频编码的码率控制方法,发送方从硬件摄像头等视频采集设备采集视频数据,通过RTP链路发送视频数据(步骤101),并通过实时传输控制反馈链路定期发送控制包(步骤102),当接收到反馈控制包时,根据所述反馈控制包中的丢包率获得输出码率(步骤103),将视频数据按照所获得的码率通过实时传输链路进行发送(步骤104)。
对于步骤103中根据丢包率获得输出码率的过程,本发明提供多种实现方式,例如:一、根据丢包率对目标帧率进行控制,根据目标帧率对视频采集设备所采集的视频数据进行控制,从而达到控制输出码率的目的;二、根据丢包率对目标速率进行控制,根据目标速率与P帧的量化参数之间的对应关系获得P帧的量化参数,通过P帧的量化参数对输出码率进行控制;三、根据丢包率对I帧的量化参数进行控制,通过I帧的量化参数对输出码率进行控制。值得指出的是,上述所列举的三种实现方式可以仅采用其中一种方式实现对输出码率的控制,也可以将其中的任意两种进行组合后对输出码率进行控制,还可以同时使用三种方式实现对输出码率的控制。以下分别阐述上述三种方式的实现过程,对于具体的组合方式不再赘述,本领域技术人员可以通过常规技术手段实现。
以下介绍通过目标帧率控制输出码率的过程。
帧率是用来描述采集的视频数据快慢的物理量,帧率越大,单位时间内采集的数据也就越大,从而单位时间内输出的视频数据越大,即输出码率越大,因此可以通过控制目标帧率达到控制输出码率的目的。
作为本发明的一个实施例,在此提供一种通过丢包率获得目标帧率的自适应调整公式,
if(Pth1<Ploss<Pth2)
公式(1)
F=max{(Fi-Δf*Ploss),Fmin}
其中,Fi为初始帧率,Fmin为最小帧率,Δf为递增帧率乘数,Pth为丢包率门限。
在X.264编码中包括两种类型的帧:关键帧和补充帧,在编码的过程中通过设置关键帧的频率可得出关键帧与补充帧的比例,在本发明中,将关键帧定义为I帧,将补充帧定义为P帧,其中关键帧I帧是图像的关键部分,后续的P帧是图像的运动补充。P帧或者I帧的量化参数的变化都将引起编码的视频数据量的变化,从而引起输出码率发生变化,因此本发明还提供通过丢包率调整量化参数的方法,从而实现对输出码率的控制。
以下介绍通过目标速率获得P帧的量化参数的过程。
X.264编码标准中宏块是最小的单位,帧由宏块组成,而帧又组成图像组GOP,一个宏块数据的大小将决定一帧数据的大小,一帧数据的大小也就决定了GOP层数据的大小,最终影响输出码率。在宏块层,影响数据大小的关键参数是量化系数QPP,因此,本发明通过控制QPP,控制编码数据的大小,从而影响帧的数据量,进而影响GOP层的数据量,最终确定了输出码率R。
本发明通过丢包率获得目标速率,通过目标速率能够自适应调整的P帧量化参数QPP。
作为本发明的一个实施例,在此提供一种通过丢包率获得目标码率的自适应调整公式:
fi(Pth1<Ploss<Pth2)
公式(2)
R=max{(Ri-Δr*Ploss),Rdown}
式中,Ri为初始速率,在一个实施例中取值100kb/s,Rdown为最小速率,表示正常传输的最小带宽要求,在一个实施例中取值50kb/s,Rup为峰值速率,在一个实施例中取值200kb/s,Δr为递增速率乘数,在一个实施例中取值200,Pth是丢包率门限,可以取值在0~50%。这些取值可以根据实际情况而定,例如帧率,图像分辨率等。
发送方收到反馈的RTCP包(其中携带了接收方检测到的本次的丢包率Ploss),通过上述公式可以看出,当丢包率Ploss很大,即网络状况不佳时,始终调整目标速率不低于Rdown,从而保证视频数据正常传输的最小带宽要求,根据该目标速率调整P帧的量化参数QPP,获得实际的输出速率。
以下是通过目标速率获得P帧的量化参数的过程。
首先,在GOP层根据上述公式(2)获得网络的有效带宽u,根据以下公式获得第k个GOP的第n个帧编码之前的虚拟缓冲占有量Bc(k,n):
Bc(k,n)=min(max(0,Bc(k,n-1)+R(k,n-1)-u(k,n-1)/F),Bs)
式中,Bs为整个缓冲区的大小,Bc(1,1)=Bs/8,相应Bc(k,n-1)表示第K个GOP中第n-1个帧编码之前的虚拟缓冲占有量,R(k,n-1)表示第n-1帧编码后的比特大小,u(k,n-1)表示此时的有效带宽。
其次,在帧层,通过复杂度比较技术,并结合GOP层获得的虚拟缓冲占有量得出当前帧编码可使用的数据量。
编码完(n-1)帧数据后,GOP还剩下的分配量为Tr(k,n)
初始值为:
根据上层确定比特使用量Tr(k,n)来决定本帧(也就是第n帧)应该使用多少数据量Tf(k,n):
最后,在宏块层中由于在帧层已经确定了可使用的数据量,则每一个宏块可使用的数据量也可确定,当宏块可以使用的数据量一定时,需要通过调整量化参数以适应帧层提供的可使用数据量,至此,P帧的量化参数QPP也就实现了自适应调整,可以采用二阶率失真模型来确定当前的量化步长Q(m),公式如下。
式中,Tmb(k,n,m)表示第m个宏块(mb)的比特分配大小,MADn pred(m)表示当前帧的复杂度预测,从上述公式得到量化参数QPP(m)。
另外,为了图像平滑,可以做些量化参数的限定工作。
通过以上过程可以看出,当丢包率增大时,目标速率降低,有效带宽减少,从而P帧的量化参数变小,以致输出码率降低,从而实现更好地适应网络传输,达到更小的丢包率的效果。
以下介绍通过I帧的量化参数控制输出码率的过程。
因为I帧的编码数据占视频图像的较大比重,所以在此对I帧的量化参数根据丢包率采用自适应措施。作为一个实施例,本发明提供以下公式获得I帧的量化参数:
通过公式(3)可以看出,当前丢包率越大,I帧的量化参数越小,以致输出码率降低,从而实现更好的适应网络传输,达到更小的丢包率的效果。
值得指出的是,I帧的量化参数获得输出码率的过程可以通过现有技术中揭示的手段获得,在此不再赘述。另外,用户可以根据实际情况设计不同的公式以获得I帧的量化参数。
针对上述对视频数据的码率进行控制的方法,本发明对现有技术中的视频数据的发射设备进行了改进,如图2所示,图2示出了发射设备和接收设备组成的系统示意图,如图所示,该系统包括发送视频数据的摄像头、将视频数据编码后发送的发射设备以及接收设备。
发射设备202,包括数据采集模块、编码器,RTP接口、RTCP接口,另外,为了实现对输出码率的控制,还包括第一控制模块或量化参数调节器(QP调节器)。接收设备包括RTP接口、RTCP接口、以及第二控制模块。
当数据采集模块采集到来自摄像头的视频数据后,通过编码器将视频数据按照目标码率进行编码;然后通过RTP接口将视频数据包发送至接收设备,另外,发射设备通过RTCP接口定期发送控制包至接收设备,接收设备根据控制包的信息将反馈消息反馈给第二控制模块,第二控制模块构造反馈控制包,并通过RTCP接口将反馈控制包发送至发送设备,发送设备接收到反馈控制包后,根据其中的丢包率信息对输出码率进行调节,如上文所述,调节的方式可以通过目标帧率、目标码率以及量化参数进行调节。相应的,第一控制模块可以包括与数据采集模块连接的帧率控制模块、与编码器连接的速率控制模块,以及与编码器连接的量化参数调节器。同样如上文所述,帧率控制模块、速率控制模块、以及量化参数调节器可以单独存在或者以任意组合方式进行组合。图2示出了三者同时存在的示意图。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。
Claims (10)
1、一种视频编码的码率控制方法,其特征在于,包括步骤:
发送方通过实时传输控制反馈链路定期发送控制包,当接收到反馈控制包时,根据所述反馈控制包中的丢包率获得目标帧率,根据所述目标帧率采集视频数据,根据所采集的视频数据获得输出码率,将视频数据按照所获得的码率通过实时传输链路进行发送。
2、根据权利要求1所述的方法,其特征在于,获得所述输出码率的步骤包括:
根据所述丢包率获得目标速率,根据所述目标速率获得P帧的量化参数,根据所述P帧的量化参数获得所述输出码率。
3、根据权利要求2所述的方法,其特征在于,按照下述公式获得所述目标速率:
if(Pth1<Ploss<Pth2)
R=max{(Ri-Δr*Ploss),Rdown}
其中,Ri为初始速率,Rdown为最小速率,Δr为递增速率乘数,Pth为丢包率门限,Ploss表示丢包率。
4、根据权利要求1所述的方法,其特征在于,按照下述公式对所述目标帧率进行调整:
if(Pth1<Ploss<Pth2)
F=max{(Ft-Δf*Ploss),Fmin}
其中,Ft为初始帧率,Fmin为最小帧率,Δf为递增帧率乘数,Pth为丢包率门限,Ploss表示丢包率。
6、一种视频数据的发射设备,包括:
数据采集模块,用于根据目标帧率采集视频数据;
编码器,用于将所述视频数据按照目标码率获得输出码率,并根据输出码率进行编码;
实时传输链路接口,用于通过发送所述视频数据;以及
实时传输控制反馈链路接口,通过定期发送控制包,接收反馈控制包;
其特征在于,还包括:
第一控制模块,所述第一控制模块包括帧率控制模块用于根据所述反馈控制包中的丢包率获得目标帧率,并将所述目标帧率传送至该数据采集模块。
7、根据权利要求6所述的视频数据的发射设备,其特征在于,所述控制模块包括速率控制模块,用于根据所述丢包率获得目标速率;所述目标速率用于获得P帧的量化参数,所述输出码率根据所述P帧的量化参数获得。
8、根据权利要求6所述的视频数据的发射设备,其特征在于,还包括量化参数调节器,用于根据所述丢包率获得I帧的量化参数,所述输出码率根据所述I帧的量化参数获得。
9、一种视频数据的发射设备,包括:
数据采集模块,用于采集视频数据;
编码器,用于将所述视频数据按照输出码率进行编码;
实时传输链路接口,用于通过发送所述视频数据;以及
实时传输控制反馈链路接口,通过定期发送控制包,接收反馈控制包;
其特征在于,还包括:
量化参数调节器,用于根据所述丢包率获得I帧的量化参数,所述输出码率根据所述I帧的量化参数获得。
10、根据权利要求9所述的视频数据的发射设备,其特征在于,还包括:
第一控制模块,用于根据所述反馈控制包中的丢包率获得目标码率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200710032756 CN100591124C (zh) | 2007-12-26 | 2007-12-26 | 视频编码的码率控制方法及视频数据的发射设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200710032756 CN100591124C (zh) | 2007-12-26 | 2007-12-26 | 视频编码的码率控制方法及视频数据的发射设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101198042A CN101198042A (zh) | 2008-06-11 |
CN100591124C true CN100591124C (zh) | 2010-02-17 |
Family
ID=39548137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200710032756 Expired - Fee Related CN100591124C (zh) | 2007-12-26 | 2007-12-26 | 视频编码的码率控制方法及视频数据的发射设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100591124C (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10666939B2 (en) | 2016-09-27 | 2020-05-26 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for processing video bitrate, storage medium, and electronic device |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101808244B (zh) * | 2010-03-24 | 2012-03-14 | 北京邮电大学 | 一种视频传输控制方法及系统 |
CN101990087A (zh) * | 2010-09-28 | 2011-03-23 | 深圳中兴力维技术有限公司 | 无线视频监控系统及根据网络状态动态调整码流的方法 |
CN102685472B (zh) * | 2011-03-08 | 2014-11-05 | 华为技术有限公司 | 数据传输的方法、装置和系统 |
CN102427525B (zh) * | 2011-07-29 | 2013-12-25 | 上海交通大学 | 基于码率切换的多媒体信源信道联合编码传输方法 |
CN103248884B (zh) * | 2012-02-14 | 2016-08-10 | 华为技术有限公司 | 一种控制视频速率的系统、基站及方法 |
CN102724524B (zh) * | 2012-06-01 | 2014-08-27 | 宁波大学 | 一种基于h.264 的立体视频码率控制方法 |
CN102891993A (zh) * | 2012-09-01 | 2013-01-23 | 合肥移瑞通信技术有限公司 | 一种无线网络系统中流媒体传输自适应系统 |
CN102984495A (zh) * | 2012-12-06 | 2013-03-20 | 北京小米科技有限责任公司 | 一种视频图像的处理方法及装置 |
CN103176765B (zh) * | 2013-02-05 | 2016-04-27 | 海信集团有限公司 | 一种传屏方法及电子设备 |
CN103248964B (zh) * | 2013-04-07 | 2016-04-06 | 同济大学 | 基于rtp/rtcp的车载视频传输系统 |
CN104038769B (zh) * | 2014-06-11 | 2017-05-03 | 同济大学 | 帧内编码的码率控制方法 |
CN104639978A (zh) * | 2015-02-13 | 2015-05-20 | 上海小蚁科技有限公司 | 多媒体处理方法及装置 |
CN107154913B (zh) * | 2016-03-02 | 2021-01-26 | 北京京东尚科信息技术有限公司 | 一种ip电话终端通信方法 |
CN105915904A (zh) * | 2016-05-23 | 2016-08-31 | 北京中兴高达通信技术有限公司 | 一种宽带集群呼叫业务的视频流Qos控制方法 |
CN107027030B (zh) | 2017-03-07 | 2018-11-09 | 腾讯科技(深圳)有限公司 | 一种码率分配方法及其设备 |
CN108093257A (zh) * | 2017-12-05 | 2018-05-29 | 北京小米移动软件有限公司 | 视频编码的码率控制方法、电子设备及存储介质 |
CN110365985A (zh) * | 2019-06-03 | 2019-10-22 | 西安万像电子科技有限公司 | 图像处理方法及装置 |
CN111417029B (zh) * | 2020-02-25 | 2022-06-24 | 广州广哈通信股份有限公司 | 视频码率的调整方法、系统、终端及存储介质 |
CN113824992B (zh) * | 2020-06-19 | 2023-04-14 | 京东方科技集团股份有限公司 | 终端及上传方法、服务器及监测方法、介质、设备及系统 |
CN111901642B (zh) * | 2020-07-31 | 2022-09-30 | 成都云格致力科技有限公司 | 基于强化学习的实时视频码率自适应调控方法与系统 |
CN113489933B (zh) * | 2020-08-18 | 2024-04-30 | 海信集团控股股份有限公司 | 数据传输设备及码率动态调节方法 |
CN115022719B (zh) * | 2022-05-12 | 2023-05-26 | 东风汽车集团股份有限公司 | 一种远程驾驶自适应视频码率控制传输方法与系统 |
-
2007
- 2007-12-26 CN CN 200710032756 patent/CN100591124C/zh not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10666939B2 (en) | 2016-09-27 | 2020-05-26 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for processing video bitrate, storage medium, and electronic device |
Also Published As
Publication number | Publication date |
---|---|
CN101198042A (zh) | 2008-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100591124C (zh) | 视频编码的码率控制方法及视频数据的发射设备 | |
CN111615006B (zh) | 基于网络状态自评估的视频编码转换传输控制系统 | |
KR100641159B1 (ko) | Rtcp패킷 기반의 적응적 멀티미디어 데이터 전송률추정방법 | |
CN101222296B (zh) | 上行蜂窝视频通信中自适应的传输方法及系统 | |
CN102325274B (zh) | 一种自适应网络带宽的视频流传输控制方法 | |
RU2304364C2 (ru) | Устройство и способ для измерения времени задержки на двустороннее распространение для мультимедийных данных с переменной скоростью передачи битов | |
CN101909208B (zh) | 一种适用于cdma2000的视频无线传输控制方法 | |
CN102239690B (zh) | 用于拥塞控制的稳定视频速率适配 | |
CN103051981B (zh) | 用于视频多跳传输的自适应帧长计算方法 | |
CN101242359A (zh) | 动态码率分配方法、分组域流媒体服务器 | |
CN101562615A (zh) | 基于mpeg-4编码的多媒体数据流自适应网络带宽的传输方法 | |
EP1777969A1 (en) | Adaptive video transmission with variable frame rate | |
CN102811367A (zh) | 基于预测的无线信道状态的自适应视频编码 | |
CN101909060A (zh) | 一种适用于移动视频实时流媒体传输的Qos控制方法 | |
CN103051978A (zh) | 一种基于h264的实时移动视频服务控制方法 | |
CN103262630A (zh) | 多媒体已知无线电和网络自适应的信令技术 | |
CN104618337A (zh) | 一种基于tcp/udp混合协议的流媒体无线自适应传输方法 | |
CN101075957A (zh) | Avs流媒体传输控制方法 | |
CN104486690A (zh) | 一种基于tcp协议的移动视频传输优化方法 | |
CN103339912B (zh) | 用于多媒体流的视频包调度方法 | |
Lam et al. | A transparent rate adaptation algorithm for streaming video over the internet | |
Van Beek et al. | Delay-constrained rate adaptation for robust video transmission over home networks | |
CN113891172B (zh) | 一种适于无线Mesh网络的基于RTT的自适应码率控制方法 | |
CN101521813A (zh) | 一种处理媒体流的方法和装置 | |
Hsiao et al. | A design of bandwidth adaptive multimedia gateway for scalable video coding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100217 Termination date: 20141226 |
|
EXPY | Termination of patent right or utility model |