CN101340571B - 一种码率控制方法及控制装置 - Google Patents
一种码率控制方法及控制装置 Download PDFInfo
- Publication number
- CN101340571B CN101340571B CN 200810118514 CN200810118514A CN101340571B CN 101340571 B CN101340571 B CN 101340571B CN 200810118514 CN200810118514 CN 200810118514 CN 200810118514 A CN200810118514 A CN 200810118514A CN 101340571 B CN101340571 B CN 101340571B
- Authority
- CN
- China
- Prior art keywords
- summation
- region
- dct coefficients
- zone
- allowed
- 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
- 238000000034 method Methods 0.000 title claims abstract description 40
- 230000000052 comparative effect Effects 0.000 claims description 15
- 108091026890 Coding region Proteins 0.000 claims description 13
- 238000012163 sequencing technique Methods 0.000 claims description 6
- 108700026244 Open Reading Frames Proteins 0.000 claims description 3
- 238000013316 zoning Methods 0.000 claims description 3
- 239000000872 buffer Substances 0.000 description 6
- 238000013139 quantization Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000011002 quantification Methods 0.000 description 2
- 101150012579 ADSL gene Proteins 0.000 description 1
- 102100020775 Adenylosuccinate lyase Human genes 0.000 description 1
- 108700040193 Adenylosuccinate lyases Proteins 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明提供一种码率控制方法及控制装置,方法包括:步骤一、对于每帧图象,都按照编码的先后顺序划分为N个区域,并记录每个区域编码后的码流长度;步骤二、根据已编码区域的码流长度与预定门限的比较结果,来调整未编码区域在编码过程中所允许的非零DCT系数的个数。本发明可以对整帧图像进行分区调节,区分开复杂部分和简单部分,避免局部偏差过大,可以在时间序列上将各帧图象画面中对应区域中的DCT系数的个数进行稳定,降低画面的闪烁噪声。
Description
技术领域
本发明涉及视频处理技术,特别是涉及编码过程中的一种码率控制方法及控制装置。
背景技术
在视频处理领域,很多情况下,摄像头都需要进行JPEG(Joint PhotograhicExperts Group,联合图像专家组)压缩,将感光器件得到的图象压缩编码后再进行传输,以节省传输带宽(例如USB传输,或ADSL传输等)。这样就需要对JPEG码流的速度进行控制。传统的JPEG码流控制往往是基于系统中有至少1帧JPEG码流大小的输出缓存容量(例如,对VGA(显示绘图阵列)大小的图象来讲,输出缓存30~40K字节)的前提下,通过控制JPEG的量化系数,从而间接控制每个宏块的DCT(离散余弦变换)系数中有多少个系数被量化为0,从而影响最终JPEG码流的大小。
随着芯片产品成本的不断缩减,JPEG编码器的输出缓存容量一降再降,甚至低到10KB左右。这种情况下,如果仍然采用上述控制量化系数的方法,很容易出现输出缓存溢出的问题。这主要是因为,对一幅图象来说,并非所有的局部区域复杂程度都基本一致。因此,对某个比较复杂的局部区域来讲,仍有可能因为量化后的非零DCT系数过多,而使短时间内输出的编码字节数超过输出缓存的容量。但是对一幅JPEG图象而言,只能用同一个量化系数,不能在一幅图象的中途临时更换其他的量化系数,因此有必要采取其他手段来解决这个问题。
现有的方法一般是在量化后的非零DCT系数的基础上,再设置一个限制,规定最多可以保留的非零DCT系数的个数。这样,可以有效解决输出缓存溢出的问题。如图1所示,每一个黑圆点表示一个DCT系数,每个宏块共包含8x8=64个系数。箭头方向表示“之”字形扫描的次序。假设对于某个量化系数而言,量化之后,某宏块仍有40个DCT系数非零。那么在此基础之上,如果再加一个限制,规定最多可以保留的非零DCT系数的个数为32,则最终参与熵编码的将只有32个系数而非40个系数,因此可以期望输出的码流大小会稍微减小一点。但是,这种方法可能带来非复杂局部区域画质的大幅下降,以及带来画面的闪烁噪声的增加。
发明内容
本发明实施例的目的是提供一种码率控制方法及控制装置,能降低画面的闪烁噪声,解决现有技术不能在一幅图象的编码过程的中途临时更换其他量化系数的技术问题
为了实现上述目的,一方面,提供了一种码率控制方法,包括如下步骤:
步骤一、对于每帧图象,都按照编码的先后顺序划分为N个区域,并记录每个区域编码后的码流长度;
步骤二、根据已编码区域的码流长度与预定门限的比较结果,来调整未编码区域在编码过程中所允许的非零DCT系数的个数。
优选地,所述的方法,其中,所述步骤二具体包括:
对于正在处理的当前帧的当前区域,将所述当前区域编码后的码流长度与预定门限进行比较,并根据比较结果调整所述当前区域的下一区域以及所述当前区域在下一帧中的对应区域所允许的非零DCT系数的个数。
优选地,所述的方法,其中,所述步骤一之前还包括:
设置数组X1,X2...XN,用于对应记录所述N个区域所允许的非零DCT系数的个数,所述当前区域所允许的非零DCT系数的个数记为Xi,1≤i≤N;
设置每个区域编码后所允许的码流长度T;
设置预定门限thd。
优选地,所述的方法,其中,所述步骤二具体包括:
所述当前区域的码流长度记为Li,
如果Li-T≥thd,则使Xi=Xi-1,Xi+1=Xi+1-1,并且使运算后的所述Xi作为所述当前区域在下一帧的对应区域所允许的非零DCT系数的个数,运算后的所述Xi+1作为所述当前区域的下一区域所允许的非零DCT系数的个数;
如果thd>Li-T>0,则使Xi=Xi-1,并且使运算后的所述Xi作为所述当前区域在下一帧的对应区域所允许的非零DCT系数的个数;
如果0≥Li-T>-thd,则使Xi=Xi+1,并且使运算后的所述Xi作为所述当前区域在下一帧的对应区域所允许的非零DCT系数的个数;
如果Li-T≤-thd,则使Xi=Xi+1,Xi+1=Xi+1+1,并且使运算后的所述Xi作为所述当前区域在下一帧的对应区域所允许的非零DCT系数的个数,运算后的所述Xi+1作为所述当前区域的下一区域所允许的非零DCT系数的个数。
优选地,所述的方法,其中,所述步骤二具体包括:
所述当前区域的下一区域作为当前待编码区域;
根据所述当前帧中的在所述当前待编码区域之前的m个已编码区域,来调整所述当前待编码区域所允许的非零DCT系数的个数,其中m为设定的自然数。
优选地,所述的方法,其中,所述步骤二具体包括:
所述当前区域的下一区域作为当前待编码区域;
根据在所述当前帧之前的m个帧中的m个与所述当前待编码区域相对应的对应区域,来调整所述当前待编码区域所允许的非零DCT系数的个数,其中m为设定的自然数。
本发明的另一个方面,提供一种码率控制装置,包括:
分区单元,用于:对于每帧图象,都按照编码的先后顺序划分为N个区域,并记录每个区域编码后的码流长度;
调整单元,用于:根据已编码区域的码流长度与预定门限的比较结果,来调整未编码区域在编码过程中所允许的非零DCT系数的个数。
优选地,所述的装置,其中,所述调整单元包括:比较模块,用于:对于正在处理的当前帧的当前区域,将所述当前区域编码后的码流长度与预定门限进行比较,获得比较结果;DCT系数调整模块,用于:根据所述比较结果调整所述当前区域的下一区域以及所述当前区域在下一帧中的对应区域所允许的非零DCT系数的个数。
本发明实施例至少存在以下技术效果:
1)对整个图象划分若干个小区域,对每个小区域动态配置“允许保留的 最多的非零DCT系数的个数”,对每个小区域内部,则采用统一的“允许保留的最多的非零DCT系数的个数”,这样在编码过程中可以对整帧图像进行分区调节,区分开复杂部分和简单部分,避免局部偏差过大,降低画面的闪烁噪声;
2)可利用上一帧或多帧中,每个小区域实际配置的非零DCT系数个数做参考,结合当前帧中上一个或多个小区域所编码流的大小,计算出当前帧的下一小区域应该选用的“允许保留的最多的非零DCT系数的个数”,这样可以实现动态的调整。其中,前后帧对应区域的调整可以在时间序列上将各帧图象画面中对应区域中的DCT系数的个数进行稳定,降低画面的闪烁噪声;当前帧上下区域的调整使每个区域可以针对其他区域的码流变化及时地做出反应,调整准确迅速。
附图说明
图1为宏块扫描DCT系数的示意图;
图2为本发明实施例提供的方法的步骤流程图;
图3为本发明实施例提供的区域划分的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对具体实施例进行详细描述。
图2为本发明实施例提供的方法的步骤流程图,如图,本发明实施例的码率控制方法包括:
步骤101、对于每帧图象,都按照编码的先后顺序划分为N个区域,并记录每个区域编码后的码流长度;
步骤102、根据已编码区域的码流长度与预定门限的比较结果,来调整未编码区域在编码过程中所允许的非零DCT系数的个数。
本发明实施例,是通过跟踪每个区域编码后的码流长度,来动态调整每个区域DCT的系数最多保留的个数;通过保存前若干帧图象中每个区域编码后的码流长度记录,可以在时间序列上将各帧图象画面中对应区域中的DCT系数的个数进行稳定来,降低画面的闪烁噪声。
调整未编码区域时,可根据前若干帧的对应区域调整,也可以根据在同一帧中的前几个已编码区域进行调整。本发明实施例提供的一种调整方式为:对于正在处理的当前帧的当前区域,将所述当前区域编码后的码流长度与预定门限进行比较,并根据比较结果调整所述当前区域的下一区域以及所述当前区域在下一帧中的对应区域所允许的非零DCT系数的个数。
该调整方式具体包括:
通过对整个图象画面进行划分,定义出若干个区域(例如某实施例采用了图3所示的区域划分);对每个区域生成的码流长度(字节数L1,L2,...,LN)进行跟踪并记录;另外,设立一个数组{X1,X2,...,XN},用来保存上一帧中,对各个区域所允许保留的最多的非零DCT系数的个数。事先设定一个风险警戒门限值thd(例如thd=1000byte)。
对于事先选定好的带宽、帧率,可以计算出每帧图象输出码流的平均字节数,从而可以得到上述每个区域大致允许生成的码流大小,假设设为T字节。
所述码流控制方法如下:
Step1:将X1,X2,...,XN初始化,例如全都等于64;
Step2:对一帧新的图象(当前帧):
在对第i个区域(当前区域201),按Xi为允许保留的最多的非零DCT系数个数,编码完成后,用该区域的码流长度Li与T进行比较:
如果Li-T>=thd,则将Xi减1并保存(存储后将会自动作为下一帧的对应区域301的非零DCT系数的个数),将Xi+1减1并保存,同时将新的Xi+1做为接下来的第i+1个区域(当前区域的下一个区域202)的允许保留的最多的非零DCT系数的个数;
如果thd>Li-T>0,则将Xi减1并保存(存储后将会自动作为下一帧的对应区域301的非零DCT系数的个数),同时将旧的Xi+1做为接下来的第i+1个区域的允许保留的最多的非零DCT系数的个数;
如果0>=Li-T>-1*thd,则将Xi加1并保存(存储后将会自动作为下一帧的对应区域301的非零DCT系数的个数),同时将旧的Xi+1做为接下来的第i+1个区域的允许保留的最多的非零DCT系数的个数;
如果Li-T<=-1*thd,则将Xi加1并保存(存储后将会自动作为下一帧的对应区域301的非零DCT系数的个数),将Xi+1加1并保存,同时将新的Xi+1做为接下来的第i+1个区域的允许保留的最多的非零DCT系数的个数;
当然,上述步骤只是为了叙述上的简洁而做了很多简化。上述步骤中所述的前一帧的信息,并不仅限于前一帧,也可以包括前面两帧或多帧的信息;而且,在当前帧内,并非仅限于利用前一个区域的码流信息来指导下一区域参数的选取,而是也可以包括前两个或多个区域的码流大小的信息。
对应以上方法,本发明实施例还提供了一种码率控制装置,包括:
分区单元,用于:对于每帧图象,都按照编码的先后顺序划分为N个区域,并记录每个区域编码后的码流长度;
调整单元,用于:根据已编码区域的码流长度与预定门限的比较结果,来调整未编码区域在编码过程中所允许的非零DCT系数的个数。
所述调整单元包括:比较模块,用于:对于正在处理的当前帧的当前区域,将所述当前区域编码后的码流长度与预定门限进行比较,获得比较结果;DCT系数调整模块,用于:根据所述比较结果调整所述当前区域的下一区域以及所述当前区域在下一帧中的对应区域所允许的非零DCT系数的个数。
由上可知,本发明实施例具有如下优点:
1)对整个图象划分若干个小区域,对每个小区域动态配置“允许保留的最多的非零DCT系数的个数”,对每个小区域内部,则采用统一的“允许保留的最多的非零DCT系数的个数”,这样在编码过程中可以对整帧图像进行分区调节,区分开复杂部分和简单部分,避免局部偏差过大,降低画面的闪烁噪声;
2)可利用上一帧或多帧中,每个小区域实际配置的非零DCT系数个数做参考,结合当前帧中上一个或多个小区域所编码流的大小,计算出当前帧的下一小区域应该选用的“允许保留的最多的非零DCT系数的个数”,这样可以实现动态的调整。其中,前后帧对应区域的调整可以在时间序列上将各帧图象画面中对应区域中的DCT系数的个数进行稳定,降低画面的闪烁噪声;当前帧上下区域的调整使每个区域可以针对其他区域的码流变化及时地做出反应,调整准确迅速。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.一种码率控制方法,其特征在于,包括如下步骤:
步骤一、对于每帧图象,都按照编码的先后顺序划分为N个区域,并记录每个区域编码后的码流长度;
步骤二、根据已编码区域的码流长度与预定门限的比较结果,来调整未编码区域在编码过程中所允许的非零DCT系数的个数。
2.根据权利要求1所述的方法,其特征在于,所述步骤二具体包括:
对于正在处理的当前帧的当前区域,将所述当前区域编码后的码流长度与预定门限进行比较,并根据比较结果调整所述当前区域的下一区域以及所述当前区域在下一帧中的对应区域所允许的非零DCT系数的个数。
3.根据权利要求1所述的方法,其特征在于,所述步骤一之前还包括:
设置数组X1,X2...XN,用于对应记录所述N个区域所允许的非零DCT系数的个数,当前区域所允许的非零DCT系数的个数记为Xi,1≤i≤N;
设置每个区域编码后所允许的码流长度T;
设置预定门限thd。
4.根据权利要求3所述的方法,其特征在于,所述步骤二具体包括:
所述当前区域的码流长度记为Li,
如果Li-T≥thd,则使Xi=Xi-1,Xi+1=Xi+1-1,并且使运算后的所述Xi作为所述当前区域在下一帧的对应区域所允许的非零DCT系数的个数,运算后的所述Xi+1作为所述当前区域的下一区域所允许的非零DCT系数的个数;
如果thd>Li-T>0,则使Xi=Xi-1,并且使运算后的所述Xi作为所述当前区域在下一帧的对应区域所允许的非零DCT系数的个数;
如果0≥Li-T>-thd,则使Xi=Xi+1,并且使运算后的所述Xi作为所述当前区域在下一帧的对应区域所允许的非零DCT系数的个数;
如果Li-T≤-thd,则使Xi=Xi+1,Xi+1=Xi+1+1,并且使运算后的所述Xi作为所述当前区域在下一帧的对应区域所允许的非零DCT系数的个数,运算后的所述Xi+1作为所述当前区域的下一区域所允许的非零DCT系数的个数。
5.根据权利要求1所述的方法,其特征在于,所述步骤二具体包括:
当前区域的下一区域作为当前待编码区域;
根据当前帧中的在所述当前待编码区域之前的m个已编码区域,来调整所述当前待编码区域所允许的非零DCT系数的个数,其中m为设定的自然数。
6.根据权利要求1所述的方法,其特征在于,所述步骤二具体包括:
当前区域的下一区域作为当前待编码区域;
根据在当前帧之前的m个帧中的m个与所述当前待编码区域相对应的对应区域,来调整所述当前待编码区域所允许的非零DCT系数的个数,其中m为设定的自然数。
7.一种码率控制装置,其特征在于,包括:
分区单元,用于:对于每帧图象,都按照编码的先后顺序划分为N个区域,并记录每个区域编码后的码流长度;
调整单元,用于:根据已编码区域的码流长度与预定门限的比较结果,来调整未编码区域在编码过程中所允许的非零DCT系数的个数。
8.根据权利要求7所述的装置,其特征在于,所述调整单元包括:
比较模块,用于:对于正在处理的当前帧的当前区域,将所述当前区域编码后的码流长度与预定门限进行比较,获得比较结果;
DCT系数调整模块,用于:根据所述比较结果调整所述当前区域的下一区域以及所述当前区域在下一帧中的对应区域所允许的非零DCT系数的个数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810118514 CN101340571B (zh) | 2008-08-15 | 2008-08-15 | 一种码率控制方法及控制装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810118514 CN101340571B (zh) | 2008-08-15 | 2008-08-15 | 一种码率控制方法及控制装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101340571A CN101340571A (zh) | 2009-01-07 |
CN101340571B true CN101340571B (zh) | 2012-04-18 |
Family
ID=40214503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200810118514 Expired - Fee Related CN101340571B (zh) | 2008-08-15 | 2008-08-15 | 一种码率控制方法及控制装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101340571B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140341302A1 (en) * | 2013-05-15 | 2014-11-20 | Ce Wang | Slice level bit rate control for video coding |
KR102390162B1 (ko) * | 2015-10-16 | 2022-04-22 | 삼성전자주식회사 | 데이터 인코딩 장치 및 데이터 인코딩 방법 |
WO2018068239A1 (zh) * | 2016-10-12 | 2018-04-19 | 深圳市大疆创新科技有限公司 | 码率控制的方法、计算机系统和装置 |
CN109151584B (zh) * | 2018-09-07 | 2020-10-27 | 华为技术有限公司 | 控制网络流量的方法与装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0914006A2 (en) * | 1997-10-31 | 1999-05-06 | Lucent Technologies Inc. | System for perceptual compression and robust bit-rate control |
CN1358027A (zh) * | 2000-12-06 | 2002-07-10 | Lg电子株式会社 | 视频数据编码/解码装置及方法 |
EP1553779A1 (en) * | 2004-01-12 | 2005-07-13 | Deutsche Thomson-Brandt GmbH | Data reduction of video streams by selection of frames and partial deletion of transform coefficients |
CN1756353A (zh) * | 2004-09-29 | 2006-04-05 | 腾讯科技(深圳)有限公司 | 一种视频数据压缩的量化方法 |
CN1767653A (zh) * | 2005-11-08 | 2006-05-03 | 上海广电(集团)有限公司中央研究院 | 一种码率控制方法 |
-
2008
- 2008-08-15 CN CN 200810118514 patent/CN101340571B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0914006A2 (en) * | 1997-10-31 | 1999-05-06 | Lucent Technologies Inc. | System for perceptual compression and robust bit-rate control |
CN1358027A (zh) * | 2000-12-06 | 2002-07-10 | Lg电子株式会社 | 视频数据编码/解码装置及方法 |
EP1553779A1 (en) * | 2004-01-12 | 2005-07-13 | Deutsche Thomson-Brandt GmbH | Data reduction of video streams by selection of frames and partial deletion of transform coefficients |
CN1756353A (zh) * | 2004-09-29 | 2006-04-05 | 腾讯科技(深圳)有限公司 | 一种视频数据压缩的量化方法 |
CN1767653A (zh) * | 2005-11-08 | 2006-05-03 | 上海广电(集团)有限公司中央研究院 | 一种码率控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101340571A (zh) | 2009-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9762917B2 (en) | Quantization method and apparatus in encoding/decoding | |
US8254702B2 (en) | Image compression method and image processing apparatus | |
US8379523B2 (en) | Method and apparatus for transmitting a coded video signal | |
CN101547349B (zh) | 一种对视频信号的二次avs编码码率控制的方法 | |
US7715648B2 (en) | Apparatus and method for compensating compression blocking artifacts based on gray value comparisons of adjacent blocks | |
CN102647586B (zh) | 用在视频编码系统中的码率控制方法和装置 | |
CN102420988B (zh) | 一种利用视觉特性的多视点视频编码系统 | |
KR940020832A (ko) | 고선명 텔레비젼의 적응 양자화 방법 및 이를 이용한 시스템 부호기 | |
CN101340571B (zh) | 一种码率控制方法及控制装置 | |
US7747097B2 (en) | Method for simple hardware implementation of JPEG size limiter | |
DE102020108357A1 (de) | Umkodieren vorhergesagter bilder in live-videostream-anwendungen | |
CN101547365A (zh) | 保证特定区域显示质量的视频编码的方法和装置 | |
WO2018165694A1 (en) | Method, apparatus and system for encoding and decoding video data | |
EP2978219B1 (en) | Variable rate video encoder | |
WO2002078352A1 (de) | Verfahren zur komprimierung und dekomprimierung von videodaten | |
CN106657855A (zh) | 一种适用于无人机spi接口视频码率控制方法 | |
CN107105240B (zh) | 一种hevc-scc复杂度控制方法及其系统 | |
US20230045884A1 (en) | Rio-based video coding method and deivice | |
CN103281532A (zh) | 一种基于运动强度检测的量化调整方法及系统 | |
US20100254460A1 (en) | Information processing apparatus and method | |
JP2009177353A (ja) | 符号化装置、符号化装置の制御方法及びコンピュータプログラム | |
Chen et al. | Improving video coding at scene cuts using attention based adaptive bit allocation | |
US20220191507A1 (en) | Method and circuit system for compressing video signals based on adaptive compression rate | |
EP1521461A4 (en) | IMAGE DATA PROCESSING DEVICE AND METHOD | |
CN115150627B (zh) | 一种基于dst的抗视频压缩鲁棒性盲水印方法 |
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: 20120418 Termination date: 20200815 |
|
CF01 | Termination of patent right due to non-payment of annual fee |