CN104159109B - 基于vbr视频编码的码率控制方法及*** - Google Patents
基于vbr视频编码的码率控制方法及*** Download PDFInfo
- Publication number
- CN104159109B CN104159109B CN201410231040.7A CN201410231040A CN104159109B CN 104159109 B CN104159109 B CN 104159109B CN 201410231040 A CN201410231040 A CN 201410231040A CN 104159109 B CN104159109 B CN 104159109B
- Authority
- CN
- China
- Prior art keywords
- rate
- coding
- frame
- bit rate
- maximal
- 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
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明适用于流媒体技术领域,提供了一种基于VBR视频编码的码率控制方法及***,所述方法包括步骤有:记录以往完成编码的每一帧的编码信息;根据编码信息以及视频编码的平均码率,初始化当前帧的编码参数;根据率失真优化算法设置当前帧的最大码率;根据编码参数和最大码率对当前帧进行编码,编码以多路方式进行;估算当前帧的当前一路编码产生的编码码率、判断编码码率是否将超过最大码率;若编码码率将超过最大码率,则调编码参数后进行下一路编码,直至当前帧的编码码率不超过最大码率。借此,本发明能够有效地兼顾了码率控制和视频质量两方面的要求,对最大码率进行限制可使播放器的内部时序更加平滑,有利于视频节目的流畅播放。
Description
技术领域
本发明涉及流媒体技术领域,尤其涉及一种基于VBR(Variable Bit Rate,动态码率)视频编码的码率控制方法及***。
背景技术
视频压缩编码旨在将视频业务中的图像序列转换成易于存储、易于传输(分发)、易于呈现的形式。在固定视频呈现质量的前提下,压缩率是衡量视频编码器的重要性能参数之一,因为压缩率越高,编码器输出的视频文件占用的存储空间越小。但是,压缩率并不是唯一的衡量指标。随着基于视频压缩技术的各项应用的层出不穷,视频编码器的设计需要兼顾越来越多的因素,以满足日益丰富多样的实际应用环境的需要。
码率控制是在设计视频编码算法时需要考虑的关键技术之一。通过对编码过程进行码率(即比特率)控制,可约束视频码流在各个时刻的瞬时码率。随着网络带宽的提高,基于网络的视频分发和呈现已成为可能,但网络作为一种公共媒介,需要同时应对大量用户的各种请求,因此,网络服务提供商迫切地需要考虑这样一个问题:如何实现网络资源的高效利用?为解决这一现实难题,不仅需要对网络架构进行优化,还需要对运营在网络上的各项数据业务进行更有效的管理。以网络视频点播为例,为了应对同一时间来自成千上万用户的点播请求,即让每一个用户都能享受到相应品质的视频服务,除了需要部署足够多的通信线路和路由节点,还需要限制每个点播视频流的瞬时码率。如果不对视频流的瞬时码率加以限制,任由其增大,那么在网络数据承载能力给定的情况下,必然会出现某些视频段落的数据无法被及时传递到终端的情况。当终端因为没有数据而不得不暂停播放时,用户体验必然受到严重影响。
码率控制的方式分为两种:VBR(Variable Bit Rate,动态码率)和CBR(ConstantBit Rate,恒定码率)。CBR对码率控制的要求相比VBR更加严格,因为CBR要求瞬时码率保持恒定,而VBR允许瞬时码率在一定范围内浮动。对于相同的平均码率,采用VBR通常可获得比CBR更好的视频质量。长久以来,由于网络带宽资源的稀缺,CBR一直是主要的码率控制方式。然而,随着网络传输技术的发展,网络带宽不断提高,网络传输成本不断降低,基于网络的视频应用对视频编码的要求和限制也逐步放开,VBR正取代CBR成为主要的码率控制方式。一方面,2013年,中国电信发布了《IPTV业务视音频编解码规范V3.0》(简称IPTV 3.0),该规范首次在中国电信IPTV业务中引入了VBR视频编码,并对这类视频编码的最大瞬时码率作了限制。另一方面,HLS(Http Live Streaming)、MPEG-DASH等协议正逐步成为主要的网络流媒体协议,在这类协议中,视频文件以切片为单位通过HTTP(HyperText TransferProtocol,超文件传输协议)协议传递至终端,一个切片通常包含10秒钟的视频内容,对于这样一种视频分发方式,显然不需要采用像CBR那样苛刻的码率控制方式,事实上,在现有的许多基于HLS(HTTP Live Streaming,超文本直播流)、MPEG-DASH的业务***中,VBR是被普遍采用的码率控制方式。在设计基于VBR的编解码器时,需要采用与CBR不同的设计思路。因为,两者对码率控制有着不同的要求。尽管VBR允许码率浮动,仍然有必要对码率浮动的范围作严格的限定,因为网络资源是有限的,而终端播放要求良好的流畅性。通过对码率浮动范围的严格限定,可降低网络设计复杂度,提高网络带宽资源的利用率,同时可保障终端能持续流畅地进行播放。
综上可知,现有技术在实际使用上显然存在不便与缺陷,所以有必要加以改进。
发明内容
针对上述的缺陷,本发明的目的在于提供一种基于VBR视频编码的码率控制方法及***,其能够有效地兼顾了码率控制和视频质量两方面的要求,对最大码率进行限制可使播放器的内部时序更加平滑,有利于视频节目的流畅播放。
为了实现上述目的,本发明提供一种基于VBR视频编码的码率控制方法,包括步骤有:
编码信息记录步骤,记录以往完成编码的每一帧的编码信息;
编码参数初始化步骤,根据所述编码信息以及视频编码的平均码率,初始化当前帧的编码参数;
最大码率设置步骤,根据率失真优化算法设置所述当前帧的最大码率;
编码步骤,根据所述编码参数和所述最大码率对所述当前帧进行编码,所述编码以多路方式进行;
码率估算步骤,估算所述当前帧的当前一路编码产生的编码码率、判断所述编码码率是否将超过所述最大码率;
编码参数调整步骤,若所述编码码率将超过所述最大码率,则调所述编码参数后进行下一路编码,直至所述当前帧的编码码率不超过所述最大码率。
根据本发明所述的码率控制方法,所述码率控制方法编码出的视频文件符合中国电信的IPTV业务视音频编解码规范V3.0。
根据本发明所述的码率控制方法,所述编码参数初始化步骤包括:
根据一阶模型初始化当前帧的编码参数。
根据本发明所述的码率控制方法,所述最大码率设置步骤包括:
通过对每一帧设定最大比特数来实现对所述最大码率的控制,每一帧的所述最大码率不低于平均码率。
根据本发明所述的码率控制方法,所述当前帧的所述最大码率采用如下公式表示:
其中,RK代表第k帧编码后的大小,第k帧是当前帧,K代表码率的统计间隔,即每隔K帧统计一次码率,HK为限定的最大码率。
根据本发明所述的码率控制方法,所述当前帧的所述最大码率采用如下公式表示:
其中,RK代表第k帧编码后的大小,第k帧是当前帧,K代表码率的统计间隔,即每隔K帧统计一次码率,HK为限定的最大码率,为视频编码的平均码率,1≤n≤K。
根据本发明所述的码率控制方法,所述编码信息记录步骤中所述编码信息包括RK、DK、QK,RK代表第k帧编码后的编码码率,DK代表第k帧的失真,QK代表第k帧的编码参数;
所述编码参数初始化步骤进一步包括:
根据{(Ri,Di,Qi)}1≤i≤k-1以及视频编码的平均码率初始化第k帧的编码参数QK。
根据本发明所述的码率控制方法,所述编码信息记录步骤进一步包括:
记录先前已完成编码的每一帧的编码信息,记输入的第k帧为XK,对第k帧的编码比特解码得到的重构帧为且
其中,M×N是XK的维度,XK(i,j)代表XK的第(i,j)个元素;
所述编码参数初始化步骤进一步包括:
根据{(Ri,Di,Qi)}1≤i≤k-1及视频编码的平均码率初始化第k帧的编码参数QK,平均码率的计算公式如下:
其中,E[·]代表数学期望,根据一阶模型设定编码参数QK,即
所述最大码率设置步骤进一步包括:
根据{(Ri,Di,Qi)}1≤i≤k-1以及视频编码的平均码率设置第k帧的编码码率的最大码率HK;
设k=tk+n,其中,1≤n≤K,则
其中,K是码率统计的间隔,HK是限定的最大码率,Rk-i为已经编码的第k-i帧的编码码率,为期望的平均码率;
所述编码步骤进一步包括:
根据编码参数QK和最大码率HK对第k帧进行一轮编码,所述编码以多路方式进行;
所述码率估算步骤进一步包括:
对第k帧的编码过程进行监控,根据第k帧已编码部分所用的比特估算编码码率RK,判断编码码率RK是否将超过所述最大码率HK;
编码参数调整步骤进一步包括:
若所述编码码率RK将超过所述最大码率HK,中断当前这路编码,更新Qk←Qk+δ,并调所述编码参数QK后启动下一路编码,直至所述当前帧的编码码率RK不超过所述最大码率HK。
本发明还提供一种基于VBR视频编码的码率控制***,包括有:
编码信息记录模块,用于记录以往完成编码的每一帧的编码信息;
编码参数初始化模块,用于根据所述编码信息以及视频编码的平均码率,初始化当前帧的编码参数;
最大码率设置模块,用于根据率失真优化算法设置所述当前帧的最大码率;
编码模块,用于根据所述编码参数和所述最大码率对所述当前帧进行编码,所述编码以多路方式进行;
码率估算模块,用于估算所述当前帧的当前一路编码产生的编码码率、判断所述编码码率是否将超过所述最大码率;
编码参数调整模块,用于若所述编码码率将超过所述最大码率,则调所述编码参数后进行下一路编码,直至所述当前帧的编码码率不超过所述最大码率。
根据本发明所述的码率控制***,所述码率控制***编码出的视频文件符合中国电信的IPTV业务视音频编解码规范V3.0。
根据本发明所述的码率控制***,所述编码参数初始化模块用于根据一阶模型初始化当前帧的编码参数。
根据本发明所述的码率控制***,所述最大码率设置模块用于通过对每一帧设定最大比特数来实现对所述最大码率的控制,每一帧的所述最大码率不低于平均码率。
根据本发明所述的码率控制***,所述当前帧的所述最大码率采用如下公式表示:
其中,RK代表第k帧编码后的大小,第k帧是当前帧,K代表码率的统计间隔,即每隔K帧统计一次码率,HK为限定的最大码率。
根据本发明所述的码率控制***,所述当前帧的所述最大码率采用如下公式表示:
其中,RK代表第k帧编码后的大小,第k帧是当前帧,K代表码率的统计间隔,即每隔K帧统计一次码率,HK为限定的最大码率,为视频编码的平均码率,1≤n≤K。
根据本发明所述的码率控制***,所述编码信息包括RK、DK、QK,RK代表第k帧编码后的编码码率,DK代表第k帧的失真,QK代表第k帧的编码参数;
所述编码参数初始化模块用于根据{(Ri,Di,Qi)}1≤i≤k-1以及视频编码的平均码率初始化第k帧的编码参数QK。
根据本发明所述的码率控制***,所述编码信息记录模块用于记录先前已完成编码的每一帧的编码信息,记输入的第k帧为XK,对第k帧的编码比特解码得到的重构帧为且
其中,M×N是XK的维度,XK(i,j)代表XK的第(i,j)个元素;
所述编码参数初始化模块用于根据{(Ri,Di,Qi)}1≤i≤k-1及视频编码的平均码率初始化第k帧的编码参数QK,平均码率的计算公式如下:
其中,E[·]代表数学期望,根据一阶模型设定编码参数QK,即
所述最大码率设置模块用于根据{(Ri,Di,Qi)}1≤i≤k-1以及视频编码的平均码率设置第k帧的编码码率的最大码率HK;
设k=tk+n,其中,1≤n≤K,则
其中,K是码率统计的间隔,HK是限定的最大码率,Rk-i为已经编码的第k-i帧的编码码率,为期望的平均码率;
所述编码模块用于根据编码参数QK和最大码率HK对第k帧进行一轮编码,所述编码以多路方式进行;
所述码率估算模块用于对第k帧的编码过程进行监控,根据第k帧已编码部分所用的比特估算编码码率RK,判断编码码率RK是否将超过所述最大码率HK;
所述编码参数调整模块用于若所述编码码率RK将超过所述最大码率HK,中断当前这路编码,更新Qk←Qk+δ,并调所述编码参数QK后启动下一路编码,直至所述当前帧的编码码率RK不超过所述最大码率HK。
本发明提供基于VBR视频编码的码率控制技术方案,根据编码历史信息初始化当前帧的编码参数,采用率失真优化算法设定当前帧的最大码率,根据所述编码参数和最大码率对当前帧进行编码,且编码以多路方式进行,估算当前帧的当前一路编码产生的编码码率,若所述编码码率将超过最大码率,则调编码参数后进行下一路编码,直至当前帧的编码码率不超过最大码率。借此,本发明终端播放可不进行缓冲,有效地兼顾了码率控制和视频质量两方面的要求,对最大码率进行限制可使播放器的内部时序更加平滑,有利于视频节目的流畅播放。本发明能够生成符合IPTV 3.0标准的视频文件,可用于网络带宽受限的流媒体业务,亦可用于包括OTT在内的所有互联网流媒体业务。
附图说明
图1是本发明基于VBR视频编码的码率控制***的结构示意图;
图2是本发明基于VBR视频编码的码率控制方法的流程图;
图3为本发明第一实施例的码率分布图;
图4为本发明第二实施例的码率分布图;
图5为本发明第三实施例的码率分布图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1是本发明基于VBR视频编码的码率控制***的结构示意图,所述码率控制***100包括有编码信息记录模块10、编码参数初始化模块20、最大码率设置模块30、编码模块40、码率估算模块50和编码参数调整模块60,其中:
编码信息记录模块10,用于记录以往完成编码的每一帧的编码信息。优选的是,所述编码信息包括RK、DK、QK,其中RK代表第k帧(即当前帧)编码后的编码码率,DK代表第k帧的失真,QK代表第k帧的编码参数(平均量化参数)。
编码参数初始化模块20,用于根据所述编码信息以及视频编码的平均码率,初始化当前帧的编码参数。优选的是,所述编码参数初始化模块20用于根据一阶模型初始化当前帧的编码参数。优选的是,编码参数初始化模块20用于根据{(Ri,Di,Qi)}1≤i≤k-1以及视频编码的平均码率初始化第k帧的编码参数QK。
最大码率设置模块30,用于根据率失真优化算法设置当前帧的最大码率。优选的是,最大码率设置模块30用于通过对每一帧设定最大比特数来实现对最大码率的控制,每一帧的最大码率不低于平均码率。
所述码率控制***100编码出的视频文件符合中国电信的《IPTV业务视音频编解码规范V3.0》。根据《IPTV业务视音频编解码规范V3.0》,视频码流的最大码率限制可用下面的不等式组表示:
其中,RK代表第k帧编码后的大小,第k帧是当前帧,K代表码率的统计间隔,即每隔K帧统计一次码率,HK为限定的最大码率。
通过对每一帧设定最大编码码率,来实现对视频码流的最大码率的限制,即确保公式(1)成立。
编码模块40,用于根据编码参数和最大码率对当前帧进行编码,编码以多路方式进行。
码率估算模块50,用于估算当前帧的当前一路编码产生的编码码率、判断编码码率是否将超过最大码率。
编码参数调整模块60,用于若编码码率将超过最大码率,则调编码参数后进行下一路编码,直至当前帧的编码码率不超过最大码率。
对每一帧的编码会进行一路或多路,直至当前帧编码后的大小不超过预设的最大码率。
优选的是,当前帧的最大码率采用如下公式表示:
其中,RK代表第k帧编码后的大小,第k帧是当前帧,K代表码率的统计间隔,即每隔K帧统计一次码率,HK为限定的最大码率,为视频编码的平均码率,1≤n≤K。
所述编码信息记录模块10,用于记录先前已完成编码的每一帧的编码信息,记输入的第k帧为XK,对第k帧的编码比特解码得到的重构帧为且
其中,M×N是XK的维度,XK(i,j)代表XK的第(i,j)个元素。
所述编码参数初始化模块20,用于根据{(Ri,Di,Qi)}1≤i≤k-1及视频编码的平均码率初始化第k帧的编码参数QK,平均码率的计算公式如下:
其中,E[·]代表数学期望,根据一阶模型设定编码参数QK,即
所述最大码率设置模块30,用于根据{(Ri,Di,Qi)}1≤i≤k-1以及视频编码的平均码率设置第k帧的编码码率的最大码率HK。
设k=tk+n,其中,1≤n≤K,则
其中,K是码率统计的间隔,HK是限定的最大码率,Rk-i为已经编码的第k-i帧的编码码率,为期望的平均码率。
所述编码模40,用于根据编码参数QK和最大码率HK对第k帧进行一轮编码,编码以多路方式进行。
所述码率估算模块50,用于对第k帧的编码过程进行监控,根据第k帧已编码部分所用的比特估算编码码率RK,判断编码码率RK是否将超过最大码率HK。
所述编码参数调整模60,用于若编码码率RK将超过最大码率HK,中断当前这路编码,更新Qk←Qk+δ,并调编码参数QK后启动下一路编码,直至当前帧的编码码率RK不超过最大码率HK。
本发明针对最新的IPTV 3.0规范,提出了一种基于VBR的码率控制算法,以实现对VBR视频流的最大码率的限制。本发明可用于生产符合IPTV 3.0规范的视频文件,也可用于各种互联网流媒体应用,例如,基于HLS、MPEG-DASH的流媒体服务。相对其他没有最大码率限制的VBR编码器,本发明提出的编码器更具优势。假设用一台HLS服务器对一部视频文件作切片处理,每个切片时长T秒,视频的平均码率为R比特/秒,最大码率为H比特/秒。则切片的平均大小为RT比特,每个切片最大不会超过HT比特。由于在HLS协议中,视频数据是以切片为单位传递到终端的,而网络带宽通常是有限的,因此,如果切片的尺寸太大,切片的传输延时就会过长,而一旦该切片没有被及时传递到终端,终端就必须暂停播放,从而对用户体验产生负面影响。因此,对切片大小进行限制有利于实现终端的连续播放。此外,如果终端已知最大码率为H比特/秒,则可用该参数估计出处理每个切片所需的时间,这些处理任务包括:下载、解密、解码,每个切片的处理时间会在一定范围内变动,因此,对最大码率进行限制可使播放器的内部时序更加平滑,有利于视频节目的流畅播放。
图2是本发明基于VBR视频编码的码率控制方法的流程图,所述方法可通过如图1所示的码率控制***100实现,包括步骤有:
步骤S201,编码信息记录步骤,记录以往完成编码的每一帧的编码信息。编码信息包括RK、DK、QK,RK代表第k帧编码后的编码码率,DK代表第k帧的失真,QK代表第k帧的编码参数。
步骤S202,编码参数初始化步骤,根据编码信息以及视频编码的平均码率,初始化当前帧的编码参数。优选的是,根据一阶模型初始化当前帧的编码参数。优选根据{(Ri,Di,Qi)}1≤i≤k-1以及视频编码的平均码率初始化第k帧的编码参数QK。
步骤S203,最大码率设置步骤,根据率失真优化算法设置当前帧的最大码率。优选的是,通过对每一帧设定最大比特数来实现对最大码率的控制,每一帧的最大码率不低于平均码率。更好的是,当前帧的最大码率采用如下公式表示:
其中,RK代表第k帧编码后的大小,第k帧是当前帧,K代表码率的统计间隔,即每隔K帧统计一次码率,HK为限定的最大码率。
步骤S204,编码步骤,根据编码参数和最大码率对当前帧进行编码,编码以多路方式进行。
步骤S205,码率估算步骤,估算当前帧的当前一路编码产生的编码码率、判断编码码率是否将超过最大码率,若是则执行步骤S206,否则结束流程。
步骤S206,编码参数调整步骤,若编码码率将超过最大码率,则调编码参数后进行下一路编码,直至当前帧的编码码率不超过最大码率。
所述码率控制方法编码出的视频文件符合中国电信的IPTV业务视音频编解码规范V3.0。本发明提供的编码方法有效地对视频码流的瞬时码率进行了限制,并且当网络带宽不小于某个临界值时,终端播放可不进行缓冲。本发明有效地兼顾了码率控制和视频质量两方面的要求,在限制最大码率的情况下,生成的视频的质量没有明显下降,能够满足当前各类视频业务对视频码率和质量等方面的要求。
更好的是,当前帧的最大码率采用如下公式表示:
其中,RK代表第k帧编码后的大小,第k帧是当前帧,K代表码率的统计间隔,即每隔K帧统计一次码率,HK为限定的最大码率,为视频编码的平均码率,1≤n≤K。
更具体的是,本发明的流媒体切片方法包括6个步骤:
步骤1,YUV数据进入编码器后,编码器记录先前已完成编码的每一帧的信息。记输入编码器的第k帧为XK,对第k帧的编码比特解码得到的重构帧为则在本步骤中需要记录:RK—第k帧编码后的大小。DK—第k帧的失真。
其中,M×N是XK的维度,XK(i,j)代表XK的第(i,j)个元素。
QK—第k帧的编码参数(平均量化参数)。
步骤2,编码器根据{(Ri,Di,Qi)}1≤i≤k-1及视频编码的平均码率初始化第k帧的编码参数QK,平均码率的计算公式如下:
E[·]代表数学期望。编码器根据一阶模型设定QK,即
步骤3,编码器根据{(Ri,Di,Qi)}1≤i≤k-1以及视频编码的平均码率设置第k帧的编码码率的最大码率HK。设k=tk+n,其中,1≤n≤K,则
其中,K是码率统计的间隔,HK是限定的最大码率,Rk-i为已经编码的第k-i帧的编码码率,为期望的平均码率。
可证明:
●通过采用公式(2)设定HK可保证码率不超过最高限制,即公式(1)恒成立;
●公式(2)符合率失真最优化的码率分配要求。
如果HK设的过大,则后续帧可能会因为可用码率不足而被迫降低质量,如果HK设的过小,则会对第k帧的编码质量产生严重影响。公式(2)较好地兼顾了码率和质量两方面的要求。
步骤4,编码器根据编码参数QK和最大码率HK对第k帧进行一轮编码(也称一路编码),编码以多路方式进行。如果得到的编码码率超过HK,则Qk←Qk+δ,进行下一轮编码,直至编码码率不超过HK。
步骤5,对第k帧的编码过程进行监控,根据第k帧已编码部分所用的比特估算编码码率RK,判断编码码率RK是否将超过最大码率HK。
步骤6,若编码码率RK将超过最大码率HK,中断当前这路编码,更新Qk←Qk+δ,并调编码参数QK后启动下一路编码,直至当前帧的编码码率RK不超过最大码率HK。
以下给出与公式(2)相关的几个命题。
命题1:如果HK由公式(2)给出,则公式(1)恒成立,即最大码率限制得到保证。
证明:由公式(2),即
其中,满足n=k-tK,t是整数,1≤n≤K,且在给定k的情况下,n是唯一的。由公式(3),
命题2:如果则由公式(3)给出的HK满足
证明:设k=tK+1,由公式(2),
假设对于k=tK+n,k-1,…,k-n+1=tK+1,结论成立,则对于k+1,
结论2对每一帧的约束HK作了初步的描述,表明了公式(2)的合理性,即公式(2)可保证每一帧的最大码率限制不会低于整个视频的平均码率。
命题3:设X1,X2,…,XK为前后相接的K帧图像,假设:1)量化精度足够高;2)熵编码是理想的;
3)Xk=fk(Xk-1),fk(·)为压缩映射,且NK独立于【注意】,NK由独立同分布随机变量组成,方差为
1)第k帧在编码过程中采用第k-1帧作参考,即XK对应的残差是由独立同分布随机变量组成,方差为αkdk,其中,αk<1,dk为第k帧的失真。
则对Rk≥Rk-1当且仅当σk≥σk-1,其中,RK为第k帧的码率。
证明:由假设,
则
则对X1,X2,…,XK编码的率失真优化问题可表述为:
其中,λ>0。不失一般性,设∈=1,将(6)代入(7),并借助假设1),可得
结合(5)、(8),则因此,Rk≥Rk+1当且仅当σk≥σk+1。(9)
命题3表明相邻两帧码率的变化Rk-Rk+1与复杂程度比值的对数呈正相关,如果复杂程度变化C倍,则码率的绝对值变化logC,即码率变化的幅度小于复杂程度变化的程度,因此给定平均码率每一帧的码率Rk会在附近浮动。因此,在分配码率时,需要为后续未编码的每一帧预留出至少等同于平均值的码率,剩余的码率作为当前帧的编码上限HK,如果当前帧的编码没有用尽HK,盈余部分将被分配给下一帧。该策略的数学算法即为公式(2)。
为了更好的描述本发明,下面描述三个具体实施例:
实施例1输入片源为纪实类电影,参数说明:
图3给出了专利实施后的码率分布图,平均码率为2.496Mbps,最大码率为3.5Mbps,转码耗时20分51秒。
实施例2输入片源为NBA篮球比赛,参数说明:
图4给出了专利实施后的码率分布图,平均码率为2.502Mbps,最大码率为3.499Mbps,转码耗时21分5秒。
实施例3输入片源为动作类电影,参数说明:
图5给出了专利实施后的码率分布图,平均码率为2.016Mbps,最大码率为2.999Mbps,转码耗时10分35秒。平均PSNR为45dB。
上述实施例实施所用硬件平台为:4核CPU(CoreTMi5-2500),3.3GHz,内存8GB。实验结果表明本发明可对最大码率作有效控制,且能够较好地兼顾视频质量。
综上所述,本发明提供基于VBR视频编码的码率控制技术方案,根据编码历史信息初始化当前帧的编码参数,采用率失真优化算法设定当前帧的最大码率,根据所述编码参数和最大码率对当前帧进行编码,且编码以多路方式进行,估算当前帧的当前一路编码产生的编码码率,若所述编码码率将超过最大码率,则调编码参数后进行下一路编码,直至当前帧的编码码率不超过最大码率。借此,本发明终端播放可不进行缓冲,有效地兼顾了码率控制和视频质量两方面的要求,对最大码率进行限制可使播放器的内部时序更加平滑,有利于视频节目的流畅播放。本发明能够生成符合IPTV 3.0标准的视频文件,可用于网络带宽受限的流媒体业务,亦可用于包括OTT在内的所有互联网流媒体业务。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (16)
1.一种基于VBR视频编码的码率控制方法,其特征在于,包括步骤有:
编码信息记录步骤,记录以往完成编码的每一帧的编码信息;
编码参数初始化步骤,根据所述编码信息以及视频编码的平均码率,初始化当前帧的编码参数;
最大码率设置步骤,根据率失真优化算法设置所述当前帧的最大码率;
编码步骤,根据所述编码参数和所述最大码率对所述当前帧进行编码,所述编码以多路方式进行;
码率估算步骤,估算所述当前帧的当前一路编码产生的编码码率、判断所述编码码率是否将超过所述最大码率;
编码参数调整步骤,若所述编码码率将超过所述最大码率,则调所述编码参数后进行下一路编码,直至所述当前帧的编码码率不超过所述最大码率。
2.根据权利要求1所述的码率控制方法,其特征在于,所述码率控制方法编码出的视频文件符合中国电信的IPTV业务视音频编解码规范V3.0。
3.根据权利要求1所述的码率控制方法,其特征在于,所述编码参数初始化步骤包括:
根据一阶模型初始化当前帧的编码参数。
4.根据权利要求1所述的码率控制方法,其特征在于,所述最大码率设置步骤包括:
通过对每一帧设定最大比特数来实现对所述最大码率的控制,每一帧的所述最大码率不低于平均码率。
5.根据权利要求1所述的码率控制方法,其特征在于,所述当前帧的所述最大码率采用如下公式表示:
t≥1
其中,Rk代表第k帧编码后的大小,第k帧是当前帧,K代表码率的统计间隔,即每隔K帧统计一次码率,Hk为限定的最大码率。
6.根据权利要求1~4任一项所述的码率控制方法,其特征在于,所述当前帧的所述最大码率采用如下公式表示:
其中,Rk代表第k帧编码后的大小,第k帧是当前帧,K代表码率的统计间隔,即每隔K帧统计一次码率,H为当前帧的码率,Hk为限定的最大码率,为视频编码的平均码率,1≤n≤K。
7.根据权利要求6所述的码率控制方法,其特征在于,所述编码信息记录步骤中所述编码信息包括Rk、Dk、Qk,Rk代表第k帧编码后的编码码率,Dk代表第k帧的失真,Qk代表第k帧的编码参数;
所述编码参数初始化步骤进一步包括:
根据{(Ri,Di,Qi)}1sisk-1以及视频编码的平均码率初始化第k帧的编码参数Qk。
8.根据权利要求7所述的码率控制方法,其特征在于,所述编码信息记录步骤进一步包括:
记录先前已完成编码的每一帧的编码信息,记输入的第k帧为Xk,对第k帧的编码比特解码得到的重构帧为且
其中,M×N是Xk的维度,Xk(i,j)代表Xk的第(i,j)个元素;
所述编码参数初始化步骤进一步包括:
根据{(Ri,Di,Qi)}1sisk-1及视频编码的平均码率初始化第k帧的编码参数Qk,平均码率的计算公式如下:
其中,E[●]代表数学期望,根据一阶模型设定编码参数Qk,即
所述最大码率设置步骤进一步包括:
根据{(Ri,Di,Qi)}1sisk-1以及视频编码的平均码率设置第k帧的编码码率的最大码率Hk;
设k=tK+n,其中,1≤n≤K,则
其中,K是码率统计的间隔,H为当前帧的码率,Hk是限定的最大码率,Rk-i为已经编码的第k-i帧的编码码率,为期望的平均码率;
所述编码步骤进一步包括:
根据编码参数Qk和最大码率Hk对第k帧进行一轮编码,所述编码以多路方式进行;
所述码率估算步骤进一步包括:
对第k帧的编码过程进行监控,根据第k帧已编码部分所用的比特估算编码码率Rk,判断编码码率Rk是否将超过所述最大码率Hk;
编码参数调整步骤进一步包括:
若所述编码码率Rk将超过所述最大码率Hk,中断当前这路编码,更新Qk←Qk+δ,并调所述编码参数Qk后启动下一路编码,直至所述当前帧的编码码率Rk不超过所述最大码率Hk。
9.一种基于VBR视频编码的码率控制***,其特征在于,包括有:
编码信息记录模块,用于记录以往完成编码的每一帧的编码信息;
编码参数初始化模块,用于根据所述编码信息以及视频编码的平均码率,初始化当前帧的编码参数;
最大码率设置模块,用于根据率失真优化算法设置所述当前帧的最大码率;
编码模块,用于根据所述编码参数和所述最大码率对所述当前帧进行编码,所述编码以多路方式进行;
码率估算模块,用于估算所述当前帧的当前一路编码产生的编码码率、判断所述编码码率是否将超过所述最大码率;
编码参数调整模块,用于若所述编码码率将超过所述最大码率,则调所述编码参数后进行下一路编码,直至所述当前帧的编码码率不超过所述最大码率。
10.根据权利要求9所述的码率控制***,其特征在于,所述码率控制***编码出的视频文件符合中国电信的IPTV业务视音频编解码规范V3.0。
11.根据权利要求9所述的码率控制***,其特征在于,所述编码参数初始化模块用于根据一阶模型初始化当前帧的编码参数。
12.根据权利要求9所述的码率控制***,其特征在于,所述最大码率设置模块用于通过对每一帧设定最大比特数来实现对所述最大码率的控制,每一帧的所述最大码率不低于平均码率。
13.根据权利要求9所述的码率控制***,其特征在于,所述当前帧的所述最大码率采用如下公式表示:
t≥1
其中,Rk代表第k帧编码后的大小,第k帧是当前帧,K代表码率的统计间隔,即每隔K帧统计一次码率,Hk为限定的最大码率。
14.根据权利要求9~13任一项所述的码率控制***,其特征在于,所述当前帧的所述最大码率采用如下公式表示:
其中,Rk代表第k帧编码后的大小,第k帧是当前帧,K代表码率的统计间隔,即每隔K帧统计一次码率,H为当前帧的码率,Hk为限定的最大码率,为视频编码的平均码率,1≤n≤K。
15.根据权利要求14所述的码率控制***,其特征在于,所述编码信息包括Rk、Dk、Qk,Rk代表第k帧编码后的编码码率,Dk代表第k帧的失真,Qk代表第k帧的编码参数;
所述编码参数初始化模块用于根据{(Ri,Di,Qi)}1sisk-1以及视频编码的平均码率初始化第k帧的编码参数Qk。
16.根据权利要求15所述的码率控制***,其特征在于,所述编码信息记录模块用于记录先前已完成编码的每一帧的编码信息,记输入的第k帧为Xk,对第k帧的编码比特解码得到的重构帧为且
其中,M×N是Xk的维度,Xk(i,j)代表Xk的第(i,j)个元素;
所述编码参数初始化模块用于根据{(Ri,Di,Qi)}1sisk-1及视频编码的平均码率初始化第k帧的编码参数Qk,平均码率的计算公式如下:
其中,E[●]代表数学期望,根据一阶模型设定编码参数Qk,即
所述最大码率设置模块用于根据{(Ri,Di,Qi)}1sisk-1以及视频编码的平均码率设置第k帧的编码码率的最大码率Hk;
设k=tK+n,其中,1≤n≤K,则
其中,K是码率统计的间隔,H为当前帧的码率,Hk是限定的最大码率,Rk-i为已经编码的第k-i帧的编码码率,为期望的平均码率;
所述编码模块用于根据编码参数Qk和最大码率Hk对第k帧进行一轮编码,所述编码以多路方式进行;
所述码率估算模块用于对第k帧的编码过程进行监控,根据第k帧已编码部分所用的比特估算编码码率Rk,判断编码码率Rk是否将超过所述最大码率Hk;
所述编码参数调整模块用于若所述编码码率Rk将超过所述最大码率Hk,中断当前这路编码,更新Qk←Qk+δ,并调所述编码参数Qk后启动下一路编码,直至所述当前帧的编码码率Rk不超过所述最大码率Hk。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410231040.7A CN104159109B (zh) | 2014-05-28 | 2014-05-28 | 基于vbr视频编码的码率控制方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410231040.7A CN104159109B (zh) | 2014-05-28 | 2014-05-28 | 基于vbr视频编码的码率控制方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104159109A CN104159109A (zh) | 2014-11-19 |
CN104159109B true CN104159109B (zh) | 2018-12-11 |
Family
ID=51884501
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410231040.7A Active CN104159109B (zh) | 2014-05-28 | 2014-05-28 | 基于vbr视频编码的码率控制方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104159109B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106331704B (zh) * | 2015-07-07 | 2019-10-22 | 杭州海康威视数字技术股份有限公司 | 一种视频码率控制方法及视频编码装置 |
CN105263019B (zh) * | 2015-11-06 | 2019-07-02 | 厦门雅迅网络股份有限公司 | 一种多路无线远程视频实时传输自适应方法 |
WO2018072675A1 (en) | 2016-10-18 | 2018-04-26 | Zhejiang Dahua Technology Co., Ltd. | Methods and systems for video processing |
CN106572352B (zh) * | 2016-10-21 | 2019-09-17 | 浙江大华技术股份有限公司 | 一种关键帧大小控制方法及装置 |
CN108235016B (zh) * | 2016-12-21 | 2019-08-23 | 杭州海康威视数字技术股份有限公司 | 一种码率控制方法及装置 |
CN107682700B (zh) * | 2017-09-30 | 2022-10-21 | 江西欧菲炬能物联科技有限公司 | 编码适配方法、装置、移动终端及存储介质 |
CN107659819B (zh) * | 2017-10-30 | 2019-10-25 | 网宿科技股份有限公司 | 一种视频转码的方法和装置 |
CN109076194B (zh) * | 2017-11-21 | 2021-04-16 | 深圳市大疆创新科技有限公司 | 一种视频处理方法、设备、飞行器、***及存储介质 |
CN108063955B (zh) * | 2017-12-15 | 2020-02-11 | 重庆邮电大学 | 基于状态机的动态自适应视频传输的码率切换方法 |
CN110351555B (zh) * | 2018-04-03 | 2021-04-23 | 杭州微帧信息科技有限公司 | 基于强化学习的多遍历视频编码码率分配与控制优化方法 |
CN108810545B (zh) * | 2018-07-04 | 2023-04-18 | 中南大学 | 用于视频编码的方法、装置、计算机可读介质及电子设备 |
CN109379593B (zh) * | 2018-10-25 | 2020-08-18 | 西安交通大学 | 一基于超前预测的码率控制方法 |
CN111010576B (zh) * | 2019-12-18 | 2021-04-27 | 腾讯科技(深圳)有限公司 | 一种数据处理方法及相关设备 |
CN112492349A (zh) * | 2020-10-29 | 2021-03-12 | 广州视源电子科技股份有限公司 | 视频编码控制方法、装置、设备和存储介质 |
CN114051139B (zh) * | 2021-11-09 | 2024-02-02 | 京东科技信息技术有限公司 | 视频编码方法和装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101188755A (zh) * | 2007-12-14 | 2008-05-28 | 宁波中科集成电路设计中心有限公司 | 一种对实时视频信号在avs编码过程中vbr码率控制的方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8995522B2 (en) * | 2007-04-13 | 2015-03-31 | Apple Inc. | Method and system for rate control |
JP5032936B2 (ja) * | 2007-10-04 | 2012-09-26 | キヤノン株式会社 | 動画像符号化装置及びその制御方法 |
-
2014
- 2014-05-28 CN CN201410231040.7A patent/CN104159109B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101188755A (zh) * | 2007-12-14 | 2008-05-28 | 宁波中科集成电路设计中心有限公司 | 一种对实时视频信号在avs编码过程中vbr码率控制的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104159109A (zh) | 2014-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104159109B (zh) | 基于vbr视频编码的码率控制方法及*** | |
Frey et al. | A gamma-based framework for modeling variable-rate MPEG video sources: The GOP GBAR model | |
US20200244969A1 (en) | Video compression with generative models | |
CN106375790B (zh) | 一种QoE驱动的多频道HAS码率自适应调度方法 | |
Adzic et al. | Optimizing video encoding for adaptive streaming over HTTP | |
CN102065302B (zh) | 一种基于h.264的可伸缩视频编码方法 | |
US20070116117A1 (en) | Controlling buffer states in video compression coding to enable editing and distributed encoding | |
Yuan et al. | Cooperative bargaining game-based multiuser bandwidth allocation for dynamic adaptive streaming over HTTP | |
CN101010964A (zh) | 在可分级视频编码中的使用帧速率上变换技术的方法与设备 | |
CN101356828A (zh) | 媒体内容管理 | |
CN104584496A (zh) | 用于无线网络上的自适应速率多媒体通信的装置和方法 | |
Chen et al. | Higher quality live streaming under lower uplink bandwidth: an approach of super-resolution based video coding | |
CN1166205C (zh) | 图象传输装置和图象传输方法 | |
Taghouti et al. | On the impact of zero-padding in network coding efficiency with internet traffic and video traces | |
Tiwari et al. | Bit-rate allocation for multiple video streams using a pricing-based mechanism | |
Huang et al. | Optimized scalable video transmission over P2P network with hierarchical network coding | |
JP5837943B2 (ja) | 異種ネットワークを介したコンテンツ配信のクリフ効果を軽減するシステムおよび方法 | |
CN107995502B (zh) | 实现自适应流媒体的方法和设备以及*** | |
CN115623155A (zh) | 视频数据处理方法、视频数据处理装置、存储介质 | |
CN103596012B (zh) | 一种实时的基于avs的视频帧率转码中帧间宏块类型选择方法 | |
Navarro et al. | Adaptive video transmission over software defined networks | |
Zhao et al. | Bandwidth efficient fingerprint multicast for video streaming | |
Chen et al. | Adaptive media playout assisted rate adaptation scheme for HTTP adaptive streaming over lte system | |
CN102377996B (zh) | 上下文自适应可变长编码方法及装置 | |
Hsu et al. | Joint encoder and VBR channel optimization with buffer and leaky bucket constraints |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |