CN102724502B - 一种视频编码中码率的控制方法及装置 - Google Patents
一种视频编码中码率的控制方法及装置 Download PDFInfo
- Publication number
- CN102724502B CN102724502B CN201210190602.9A CN201210190602A CN102724502B CN 102724502 B CN102724502 B CN 102724502B CN 201210190602 A CN201210190602 A CN 201210190602A CN 102724502 B CN102724502 B CN 102724502B
- Authority
- CN
- China
- Prior art keywords
- frame
- sliding window
- present frame
- bit
- present
- 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
本发明实施例提供一种视频编码中码率的控制方法及装置,涉及视频编码技术领域,用以控制视频编码输出的瞬时码率不超过设定的码率上限,防止网络阻塞或丢包;所述方法包括,设置第一滑动窗口的位置,使当前帧位于所述第一滑动窗口的第N帧;若第一滑动窗口内所有帧的压缩码流比特数之和大于预设的码率上限,不输出当前帧;其中,所述第一滑动窗口的大小等于预设的帧率N。本发明实施例用于视频编码。
Description
技术领域
本发明涉及视频编码技术领域,尤其涉及一种视频编码中码率的控制方法及装置。
背景技术
在视频通信应用中,为了便于视频数据的传输和存储需要对视频图像进行压缩编码。由于视频图像是随时间变化的,经过压缩编码输出的压缩码流比特数也会随时间变化。用单位时间内压缩编码输出的码流比特数之和表示编码输出的码率,则视频编码输出码率会在一定范围内波动。由于网络上的带宽或者存储媒质容量是有限的,这就需要在视频压缩编码过程中进行码率控制,使编码端输出的码率不超过设定的网络带宽或者存储媒质容量的上限,防止出现丢包现象。
现有码率控制算法大多采用VBV(virtual buffer verification,视频缓存检验器)来控制编码输出比特数。在VBV中,编码器在编码时有一个虚拟的码流缓冲区,记为buffer。编码器在编码每一帧时,首先计算待编码帧的目标比特数,根据目标比特数计算量化参数(QP值),通过QP值调节每帧输出的bit数。当buffer中的码流快要下溢时,编码器为这帧产生较多的bit数;当buffer中的码流快要上溢时,编码器为这帧产生较少的bit数,或者跳帧。这样,buffer中的码流就可以按照设定的码率匀速输出。
但是,在实时视讯应用中会出现待编码图像复杂度突然增加的情况,编码器输出的瞬时码率有可能超过设定的网络带宽上限,而虚拟码流缓冲区仍然显示不上溢也不下溢。例如:在编码器连续编码输出若干帧复杂度低的静止图像之后,虚拟码流缓冲区中剩余比特数很少,此时,如果待编码图像突然变得很复杂,为了确保图像质量,编码器必须连续输出较大的比特流,虚拟码流缓冲区的满度将迅速增加。此时,虚拟码流缓冲区中存放的码流可能为最近的不足1秒钟的压缩码流,虚拟码流缓冲区中的码流比特数之和显然不能表示此时的编码输出瞬时码率,因此,通过虚拟码流缓冲区的码流比特数之和来判定输出码率是否超过设定上限的方法,无法确保任意时刻编码输出的码率不超过设定的上限,可能导致网络阻塞或丢包,影响解码输出的图像质量和播放流畅性,降低视频实时通信的主观感受。
发明内容
本发明的实施例提供一种视频编码中码率的控制方法及装置。用以控制视频编码输出的瞬时码率不超过设定的码率上限,防止网络阻塞或丢包。
为达到上述目的,本发明的实施例采用如下技术方案:
本发明的实施例提供一种视频编码中码率的控制方法及装置。用以控制视频编码输出的瞬时码率不超过设定的码率上限,防止网络阻塞或丢包。
为达到上述目的,本发明的实施例采用如下技术方案:
一方面,提供一种视频编码中码率的控制方法,包括,
设置第一滑动窗口的位置,使当前帧位于所述第一滑动窗口的第N帧;
若第一滑动窗口内所有帧的压缩码流比特数之和大于预设的码率上限,不输出当前帧;其中,所述第一滑动窗口的大小等于预设的帧率N。
一方面,提供一种视频编码中码率的控制装置,包括,
滑动窗口设置模块,用于设置第一滑动窗口的位置,使当前帧位于所述第一滑动窗口的第N帧;
输出判断模块,用于判断是否输出当前帧,若第一滑动窗口内所有帧的压缩码流比特数之和大于预设的码率上限,不输出当前帧;
其中,所述第一滑动窗口的大小等于预设的帧率N。
本发明实施例提供的视频编码中码率的控制方法及装置,采用预设的滑动窗口,并将滑动窗口的大小设置为预设的帧率,这样,编码器输出的瞬时码率就等于每秒内滑动窗口内的所有编码输出帧的压缩码流比特数之和。编码器在输出每帧时,若滑动窗口内所有编码输出帧的压缩码流比特数之和大于预设的码率上限,表明编码器输出的瞬时码率大于预设的码率上限,则不输出当前帧。从而控制视频编码输出的瞬时码率不超过设定的码率上限,防止网络阻塞或丢包。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的视频编码中码率的控制方法的流程图;
图2为本发明实施例提供的第一、第二滑动窗口的示意图;
图3为本发明另一实施例提供的视频编码中码率的控制方法的流程图;
图4为本发明实施例提供的视频编码中码率的控制装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中,在视频编码器中设置滑动窗口,滑动窗口的大小N等于预设的帧率。其中,该预设的帧率可以根据用户对图像的流畅新需求、网络可用带宽等条件确定。例如,预设的帧率为30时,表示每秒编码输出30帧图像,则滑动窗口的大小N=30。由于编码输出的码率是单位时间内压缩编码输出的码流比特数之和。这样,在单位时间,即每秒内,滑动窗口内的所有编码输出帧的压缩码流比特数之和等于此时编码器输出的瞬时码率。编码器在编码、输出每一帧时,通过控制活动窗口内的所有编码输出帧的比特数,可以确保视频编码输出的瞬时码率不超过设定的码率上限。
本发明实施例提供的视频编码中码率的控制方法,如图1所示,包括,
101、设置第一滑动窗口的位置,使当前帧位于所述第一滑动窗口的第N帧。
其中,当前帧是指编码器进行编码、输出处理的那一帧。如图2所示。第一滑动窗口的大小等于帧率N,当前帧是第一滑动窗口的第N帧。此时,编码器已经编码输出第一滑动窗口内的第1至N-1帧,并完成对第N帧的编码即将输出第N帧。
202、若第一滑动窗口内所有帧的压缩码流比特数之和大于预设的码率上限,不输出当前帧。
计算第一滑动窗口内所有帧的压缩码流比特数之和,当满足条件,
编码器不输出当前帧N,即丢弃当前帧。其中,LN为当前编码帧的比特数;Li为第一滑动窗口内已经编码的第i帧的压缩码流比特数;maxbitrate为预设的码率上限,具体可以是预设的网络带宽上限,或者根据存储媒质(如硬盘、光盘等)的容量换算得到的码率上限;N为第一滑动窗口的大小,即预设的帧率。
本发明实施例提供的视频编码中码率的控制方法,将预设的帧率设置为活动窗口的大小,这样,编码器输出的瞬时码率就等于每秒内滑动窗口内的所有编码输出帧的压缩码流比特数之和。编码器在输出每帧时,若滑动窗口内的压缩码流比特数之和大于预设的码率上限,表明编码器输出的瞬时码率大于预设的码率上限,则不输出当前帧。从而控制视频编码输出的瞬时码率不超过设定的码率上限,防止网络阻塞或丢包。
本发明实施例提供的另一种视频编码中码率的控制方法,如图3所示,包括,
301、设置第一滑动窗口的位置,使当前帧位于第一滑动窗口的第N帧。
其中,当前帧是指编码器进行编码、输出处理的那一帧。如图2所示。第一滑动窗口的大小等于帧率N,当前帧是第一滑动窗口的第N帧。此时,编码器已经编码输出第一滑动窗口内的第1至N-1帧即将开始编码第N帧。
302、判断是否编码当前帧。
计算第一滑动窗口内第1帧至第N-1帧的压缩码流比特数之和与第N帧预设的目标比特数上限之和。
若第一滑动窗口内的第1帧至第N-1帧压缩码流比特数之和与第N帧预设的目标比特数之和大于预设的码率上限,不编码当前帧。即
编码器不编码第N帧。其中,Li为第一滑动窗口内已经编码的第i帧的压缩码流比特数;maxbitrate为设定的码率上限,具体可以是预设的网络带宽上限,或者根据存储媒质(如硬盘、光盘等)的容量换算得到的码率上限;N为第一滑动窗口的大小,(bitrate/N)表示第一滑动窗口中第N帧的目标比特数,该值可以根据设置的编码器的目标比特率bitrate计算得到。
若第一滑动窗口内的第1帧至第N-1帧压缩码流比特数之和与第N帧预设的目标比特数之和不大于预设的码率上限,编码当前帧,即
编码器编码第N帧。
本步骤中,若确定不编码当前帧,则跳过当前帧,步骤结束。对下一帧进行处理。若确定编码当前帧,在编码完成后,进入步骤303。
303、设置第二滑动窗口的位置,使当前帧位于所述第二滑动窗口的第N-(M-1)帧。
其中,当前帧是指编码器进行编码、输出处理的那一帧。如图2所示。第二滑动窗口的大小等于帧率N,当前帧是第二滑动窗口的第N-(M-1)帧。此时,编码器已经编码输出第二滑动窗口内的第1至N-M帧,编码器即将开始编码第N-(M-1)帧。
304、根据第二滑动窗口内第1帧至第N-M帧的压缩码流比特数之和确定当前帧的目标比特数上限。
计算第二编码器将根据滑动窗口内第1帧至第N-M帧的压缩码
其中,TN-(M-1)为即将编码的当前帧目标比特数上限;maxbitrate为预设的码率上限,具体可以是预设的网络带宽上限,或者根据存储媒质(如硬盘、光盘等)的容量换算得到的码率上限;Li为第二滑动窗口内已经编码的第i帧的压缩码流比特数;N为第二滑动窗口的大小;(M-1)*(bitrate/N)表示第二滑动窗口内位于当前帧之后的共计(M-1)帧的预设目标比特数之和;(bitrate/N)表示第二滑动窗口中第N帧的目标比特数,该值可以根据设置的编码器的目标比特率bitrate计算得到。M大于1小于N。优选的,M为3或4。
这样,编码器在编码当前帧之前,可以使用第二滑动窗口计算当前帧的目标比特数上限,若已经编码输出第二滑动窗口内的第1至N-M帧的压缩码流比特数较大时,可以提前控制当前帧目标比特数上限,防止连续跳帧,提高编码器输出的图像流畅性。
接着,编码器根据当前帧的目标比特数上限TN-(M-1)调整当前帧的目标比特数,再根据当前帧的目标比特数计算QP值,对当前帧进行编码。
305、设置第一滑动窗口的位置,使当前帧位于所述第一滑动窗口的第N帧。
步骤305与步骤301的不同在于,在进行步骤305时,编码器已经编码输出第一滑动窗口内的第1至N-1帧,并完成对第N帧的编码即将输出第N帧。
306、判断是否输出当前帧。
计算第一滑动窗口内所有帧的压缩码流比特数之和。
若第一滑动窗口内所有帧的压缩码流比特数之和大于预设的码
编码器不输出当前帧N,即丢弃当前帧。其中,LN为当前编码帧的比特数;Li为第一滑动窗口内已经编码的第i帧的压缩码流比特数;maxbitrate为预设的码率上限,具体可以是预设的网络带宽上限,或者根据存储媒质(如硬盘、光盘等)的容量换算得到的码率上限;N为第一滑动窗口的大小,即预设的帧率。
若第一滑动窗口内所有帧的压缩码流比特数之和不大于预设的
编码器输出当前帧N。其中,LN为当前编码帧的比特数;Li为第一滑动窗口内已经编码的第i帧的压缩码流比特数;maxbitrate为预设的码率上限,具体可以是预设的网络带宽上限,或者根据存储媒质(如硬盘、光盘等)的容量换算得到的码率上限;N为第一滑动窗口的大小,即预设的帧率。
需要说明的是,对于当前帧,步骤301~302与步骤303~304可以同时进行,步骤303~304也可以在步骤301~302之前进行,也可以只进行步骤301~302,或者只进行步骤303~304。可以理解的是,以上变形及其他依据本发明的思路可作的变形,均应纳入本发明的保护范围。
如图4所示,本发明实施例还提供一种视频编码中码率的控制装置4,包括,
滑动窗口设置模块41,用于设置第一滑动窗口的位置,使当前帧位于所述第一滑动窗口的第N帧。
输出判断模块42,用于判断是否输出当前帧,若第一滑动窗口内所有帧的压缩码流比特数之和大于预设的码率上限,不输出当前帧。
其中,所述第一滑动窗口的大小等于预设的帧率N。
进一步的,装置4还包括,
编码判断模块43,用于判断是否编码当前帧,若第一滑动窗口内第1帧至第N-1帧的压缩码流比特数之和与第N帧预设的目标比特数之和大于预设的码率上限,不编码当前帧。
其中,所述第一滑动窗口的大小等于预设的帧率N。
进一步的,滑动窗口设置单元41,还用于设置第二滑动窗口的位置,使所述当前帧位于所述第二滑动窗口的第N-(M-1)帧;
所述装置4还包括,
确定模块44,用于根据第二滑动窗口内第1帧至第N-M帧的压缩码流比特数之和确定当前帧的目标比特数上限;
其中,所述第二滑动窗口的大小等于预设的帧率N。
图4所示的视频编码中码率的控制装置能够执行上述方法实施例中的步骤,完成方法实施例的各功能,其应用过程中按方法实施例的描述实现视频编码中码率的控制方法。
示例性的,图4所示的视频编码中码率的控制装置可以是编码器。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (6)
1.一种视频编码中码率的控制方法,其特征在于,包括:
设置第二滑动窗口的位置,使当前帧位于所述第二滑动窗口的第N-(M-1)帧;
根据所述第二滑动窗口内第1帧至第N-M帧的压缩码流比特数之和确定所述当前帧的目标比特数上限;其中,所述第二滑动窗口的大小等于预设的帧率N;
设置第一滑动窗口的位置,使所述当前帧位于所述第一滑动窗口的第N帧;
在对所述当前帧编码后,若第一滑动窗口内所有帧的压缩码流比特数之和大于预设的码率上限,则不输出当前帧;其中,所述第一滑动窗口的大小等于预设的帧率N。
2.根据权利要求1所述的方法,其特征在于,所述“设置第一滑动窗口的位置,使当前帧位于所述第一滑动窗口的第N帧”与所述“若第一滑动窗口内的压缩码流比特数之和大于预设的码率上限,不输出当前帧”之间还包括:
若第一滑动窗口内第1帧至第N-1帧的压缩码流比特数之和与第N帧预设的目标比特数之和大于预设的码率上限,不编码当前帧,当前帧的处理步骤结束;
若第一滑动窗口内第1帧至第N-1帧的压缩码流比特数之和与第N帧预设的目标比特数之和不大于预设的码率上限,编码当前帧。
3.根据权利要求1所述的方法,其特征在于,所述当前帧的目标比特数上限为,
其中,TN-(M-1)为当前帧目标比特数上限;maxbitrate为预设的码率上限;Li为第二滑动窗口内已经编码的第i帧的压缩码流比特数;N为第二滑动窗口的大小;(M-1)*(bitrate/N)表示第二滑动窗口内位于当前帧之后的共计(M-1)帧的预设目标比特数之和。
4.根据权利要求3所述的方法,其特征在于,所述M取值为3或者4。
5.一种视频编码中码率的控制装置,其特征在于,包括,
滑动窗口设置单元,用于设置第二滑动窗口的位置,使当前帧位于所述第二滑动窗口的第N-(M-1)帧;
确定模块,用于根据所述第二滑动窗口内第1帧至第N-M帧的压缩码流比特数之和确定所述当前帧的目标比特数上限;其中,所述第二滑动窗口的大小等于预设的帧率N;
所述滑动窗口设置模块,还用于设置第一滑动窗口的位置,使当前帧位于所述第一滑动窗口的第N帧;
输出判断模块,用于在对所述当前帧编码后,判断是否输出当前帧,若第一滑动窗口内所有帧的压缩码流比特数之和大于预设的码率上限,不输出当前帧;
其中,所述第一滑动窗口的大小等于预设的帧率N。
6.根据权利要求5所述的装置,其特征在于,还包括,
编码判断模块,用于判断是否编码当前帧,若第一滑动窗口内第1帧至第N-1帧的压缩码流比特数之和与第N帧预设的目标比特数上限之和大于预设的码率上限,不编码当前帧;
其中,所述第一滑动窗口的大小等于预设的帧率N。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210190602.9A CN102724502B (zh) | 2012-06-11 | 2012-06-11 | 一种视频编码中码率的控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210190602.9A CN102724502B (zh) | 2012-06-11 | 2012-06-11 | 一种视频编码中码率的控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102724502A CN102724502A (zh) | 2012-10-10 |
CN102724502B true CN102724502B (zh) | 2015-08-19 |
Family
ID=46950147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210190602.9A Active CN102724502B (zh) | 2012-06-11 | 2012-06-11 | 一种视频编码中码率的控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102724502B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3225026A4 (en) * | 2015-07-31 | 2017-12-13 | SZ DJI Technology Co., Ltd. | Method of sensor-assisted rate control |
CN106572351B (zh) * | 2015-10-13 | 2019-11-15 | 腾讯科技(北京)有限公司 | 视频编码中的码率控制方法和装置、电子设备以及计算机可读存储介质 |
CN106851337B (zh) * | 2017-02-21 | 2019-12-24 | 聚好看科技股份有限公司 | 视频缓冲控制方法及装置 |
CN106937115A (zh) * | 2017-03-02 | 2017-07-07 | 杭州当虹科技有限公司 | 在视频编码中对比特数预测器进行比特数训练的方法 |
CN107493478B (zh) * | 2017-09-01 | 2020-04-14 | 广州市百果园网络科技有限公司 | 编码帧率设置方法及设备 |
CN109862359B (zh) * | 2018-12-29 | 2021-01-08 | 北京数码视讯软件技术发展有限公司 | 基于分层b帧的码率控制方法、装置和电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0778708A2 (en) * | 1995-12-04 | 1997-06-11 | Tektronix, Inc. | Bit rate control for video data |
US6141380A (en) * | 1998-09-18 | 2000-10-31 | Sarnoff Corporation | Frame-level rate control for video compression |
CN1964494A (zh) * | 2006-11-17 | 2007-05-16 | 中兴通讯股份有限公司 | 视频编码中帧级码率的控制方法 |
US7313183B2 (en) * | 2003-06-24 | 2007-12-25 | Lsi Corporation | Real time scene change detection in video sequences |
CN102378065A (zh) * | 2011-10-19 | 2012-03-14 | 江西省南城县网信电子有限公司 | 基于mpeg-4的流媒体服务器端配置缓冲区的方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8107537B2 (en) * | 2006-02-02 | 2012-01-31 | Sharp Laboratories Of America, Inc. | Picture layer rate control for video encoding |
EP2160903B1 (en) * | 2007-06-19 | 2016-03-02 | Vantrix Corporation | A buffer-based rate control exploiting frame complexity, buffer level and position of intra frames in video coding |
-
2012
- 2012-06-11 CN CN201210190602.9A patent/CN102724502B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0778708A2 (en) * | 1995-12-04 | 1997-06-11 | Tektronix, Inc. | Bit rate control for video data |
US6141380A (en) * | 1998-09-18 | 2000-10-31 | Sarnoff Corporation | Frame-level rate control for video compression |
US7313183B2 (en) * | 2003-06-24 | 2007-12-25 | Lsi Corporation | Real time scene change detection in video sequences |
CN1964494A (zh) * | 2006-11-17 | 2007-05-16 | 中兴通讯股份有限公司 | 视频编码中帧级码率的控制方法 |
CN102378065A (zh) * | 2011-10-19 | 2012-03-14 | 江西省南城县网信电子有限公司 | 基于mpeg-4的流媒体服务器端配置缓冲区的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102724502A (zh) | 2012-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102724502B (zh) | 一种视频编码中码率的控制方法及装置 | |
EP3322185B1 (en) | Video code rate control method and video encoding apparatus | |
CN107846590B (zh) | 一种视频编码的方法和视频编码器 | |
CN109743600B (zh) | 基于可穿戴的现场运维自适应视频流传输速率控制方法 | |
EP2589223B1 (en) | Video streaming | |
US20110299589A1 (en) | Rate control in video communication via virtual transmission buffer | |
CN101547365B (zh) | 保证特定区域显示质量的视频编码的方法和装置 | |
US8483272B2 (en) | System and method for frame level bit rate control without pre-analysis | |
US20150172680A1 (en) | Producing an Output Need Parameter for an Encoder | |
JP2019512970A5 (zh) | ||
US20130128955A1 (en) | Bitrate distribution | |
US7714751B2 (en) | Transcoder controlling generated codes of an output stream to a target bit rate | |
CN111787330B (zh) | 支持解码压缩帧缓存自适应分配的编码方法及应用 | |
CN111385574A (zh) | 视频编码中的码率控制方法、装置、移动终端及存储介质 | |
CN102695058B (zh) | 基于大尺度缓冲策略的音、视频编码流控方法 | |
US20100235530A1 (en) | Control method of transmitting streaming audio/video data and architecture thereof | |
CN1406072A (zh) | 视频压缩码率控制方法 | |
US8780977B2 (en) | Transcoder | |
CN104702974B (zh) | 基于模糊逻辑的码率控制方法及视频编码方法 | |
JP4579379B2 (ja) | 制御装置及び制御方法 | |
CN114125452A (zh) | 视频编码方法、传输方法、系统、装置及介质 | |
CN103517067B (zh) | 一种初始量化参数自适应调整方法及系统 | |
JPH0669811A (ja) | 符号化回路及び復号化回路 | |
CN114513664B (zh) | 视频帧编码方法、装置、智能终端及计算机可读存储介质 | |
CN104253995A (zh) | 自适应量化参数控制方法和装置 |
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 |