CN1722835A - 比特率自动调整装置 - Google Patents
比特率自动调整装置 Download PDFInfo
- Publication number
- CN1722835A CN1722835A CNA2005100787569A CN200510078756A CN1722835A CN 1722835 A CN1722835 A CN 1722835A CN A2005100787569 A CNA2005100787569 A CN A2005100787569A CN 200510078756 A CN200510078756 A CN 200510078756A CN 1722835 A CN1722835 A CN 1722835A
- Authority
- CN
- China
- Prior art keywords
- picture
- size
- encoding
- gear
- gop
- 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
- 238000000034 method Methods 0.000 claims abstract description 40
- 238000013139 quantization Methods 0.000 claims description 27
- 229920006395 saturated elastomer Polymers 0.000 claims description 10
- 241000023320 Luma <angiosperm> Species 0.000 claims description 3
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 claims description 3
- 230000009466 transformation Effects 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 8
- 230000003247 decreasing effect Effects 0.000 description 8
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 241000255925 Diptera Species 0.000 description 1
- 102000001690 Factor VIII Human genes 0.000 description 1
- 108010054218 Factor VIII Proteins 0.000 description 1
- 102000020897 Formins Human genes 0.000 description 1
- 108091022623 Formins Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000009738 saturating Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- 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/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/115—Selection of the code volume for a coding unit prior to coding
-
- 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/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- 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/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- 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/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- 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/15—Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
-
- 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- 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/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- 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/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/177—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
-
- 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/46—Embedding additional information in the video signal during the compression process
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种用于在对具有图象的视频流的宏块进行编码的控制视频流比特率的方法,包括使用普通格式的量化_比例_代码:量化比例参数=ROUND(A+B(D+logc(MIN{VAR[luma_0],...,VAR[luma_n]})))带有一个可调节装置转换参数;和可调节空气踏板参数;和(luma_n)所述宏块的第n个亮度块;和一个依据编码图象类型的恒定参数。
Description
技术领域
本发明涉及视频压缩,更具体地说,涉及对具有图片的视频流进行编码时控制视频流比特率的系统和方法,以及对视频流进行编码的方法,特别是使用单通道进行编码和在集成电路及计算机程序中实施该方法。
背景技术
用于在互联网上存储和修复视频流的数字视频产品和服务在市场上是普遍存在的。由于数字信号存储容量的限制以及网络和广播带宽的限制,数字视频信号的压缩对于数字视频存储和传输是必须的。结果,用于数字视频信号的压缩和编码的许多标准已被发布。这些标准根据特性指定了数字视频信号的编码形式和,例如,如何对这样的信号进行解码以显示给观看者。
这些标准的一个例子是由移动图片专家集团(MPEG)创造的国际标准ISO/IEC13818(通常称为MPEG-2格式),被称为ITU-T推荐H.262、ISO/IEC13818-2:1996信息技术-移动图片的普通编码和相关音频-第二部分:视频(也称为MPEG-2文件),该标准是本领域技术人员所熟知的。尽管MPEG-2标准指定了普通的编码方法和用于产生MPEG-2一致的比特流的语法,允许许多变化以适应多种不同的运用和服务,如桌上电脑视频发布、视频会议、数字存储媒体和电视广播。这样,MPEG-2允许重要的判断数字视频信号如何从本身未压缩格式被转换为指定的编码格式。换句话说,编码步骤不是严格定义以允许在视频质量、压缩率和编码器计算能力之间进行折中。结果,很多不同的数字视频信号编码器共同存在,很多方法被用于数字信号编码。
通过将这样的系统和本发明以下参照附图的运用中所阐述的系统进行比较,传统方法的缺点和进一步限制对本技术领域的技术人员将变得很明显。
发明内容
基本示出于和/或结合至少一个附图进行描述的用于对视频流进行编码时控制视频流比特率的方法、用于使用该方法控制视频基本流比特率的方法、以及编码系统和集成电路实施该方法以控制视频流比特率,将更完整地阐述于权利要求书中。
根据本发明的一个方面,提供一种用于对具有图片的视频流进行编码时控制视频流比特率的方法,所述方法包括使用普通格式的量化比例代码:
量化比例代码=ROUND(A+B(D+logc(MIN{VAR[luma_n]})))
其中,
A为可调整的调整变换参数;及
B为可调整的气体踏板参数;及
[luma_n]为所述具有n等于1或大于1的图片宏块的第n个亮度块,
D为基于图片类型的一个常数,
及该量化比例代码为饱和的。
优选地,C=2。
优选地,C=3。
优选地,该量化比例代码被变形为:
量化比例代码=ROUND(A+B’*([I_GEAR或P_GEAR或B_GEAR]+log2([MIN[VAR[luma_0],…,VAR[luma_n]]]))
其中,I_GEAR、P_GEAR及B_GEAR的数值依赖于所述图片的类型。
优选地,所述气体踏板参数为一个当前图片,其通过下述被调整:
(a)如果所述当前已被编码图片的一部分的测量的实际尺寸比其目标尺寸大,则增加所述气体踏板参数;及
(b)如果所述当前已被编码图片的一部分的测量的实际尺寸比其目标尺寸小,则减小所述气体踏板参数。
优选地,所述当前图片的目标尺寸计算如下:
通过从当前宏块计算器减去一个宏块计算器而计算差分;及
通过将平均宏块尺寸与该平均宏块尺寸的扩展值相加计算第一和;以及
以所述第一和和图片类型因数乘以及以IPB因数乘所述第一差。
优选地,在所述编码过程中,每一重复的域消除所述平均图片尺寸的一半的冗余;以及
每次编码一副新的图片,无论最后的域是否被重复,创建一个通知;以及
如果该通知是真,那么剩余寄存器(RESIDUAL)被减少所述平均图片尺寸的一半的尺寸。
优选地,半图片计数器计当前GOP中的域的个数;以及
当一个新GOP开始那么
通过以所述GOP和所述半图片计数器的最大比特率因数乘平均图片的一半的尺寸计算在先GOP的最大阈值;以及
通过以所述GOP和所述半图片计数器的最小比特率因数乘所述平均图片的一半的尺寸计算在先GOP的最小阈值。
优选地,通过以下步骤从GOP到GOP改变所述变速参数(A):
如果所述在先GOP的所述实际尺寸大于所述最大阈值,那么增加所述变速参数;以及
如果所述在先GOP的所述实际尺寸小于所述最小阈值,那么减小所述变速参数。
优选地,I图片、P图片和B图片至少一个的尺寸被监控。
优选地,所述气体踏板参数在最小值和最大值之间饱和。
优选地,对于每一宏块,
所述气体踏板参数饱和于其最小值的连续次数的最小饱和计数器被计数;以及
所述气体踏板参数饱和于其最大值的连续次数的最大饱和计数器被计数;以及
当所述气体踏板参数具有其最小值和最大值之间的值,那么所述最小饱和计数器和所述最大饱和计数器被重置为零;以及
当每一图片中所述最小饱和计数器大于计数器限制,那么所述变速参数减小,最小饱和计数器被重置为零;以及
当所述最大饱和计数器大于计数器限制,那么所述变速参数增加,最大饱和计数器被重置为零。
优选地,对于每一GOP,目标GOP尺寸通过以下方法计算:
以所述平均宏块尺寸乘所述当前宏块计数器,并从实际GOP尺寸中减去该值;以及加上所述当前剩余值,该剩余值是来自在先迭代的新的剩余值或者从零开始,并将该结果作为一新的剩余值;其中
通过对所有处理过的所述剩余值求和以及将剩余在先积分器的值与处理过的所述新的剩余值相加,将所述新的剩余值用于为下一个GOP推导所述平均宏块尺寸的所述扩展值。
优选地,计算所述剩余值的总和的步骤包括19的算法右移和将其加入积分器的值;以及
所述相加的步骤包括将所述新的剩余值右移17。
优选地,以下条件之外至少一个具有:
(i)每一宏块的所述最后的量化器_比例_代码饱和。
(ii)所述变速参数在最小值和最大值之间饱和。
(iii)不允许所述剩余值溢出。
(iv)所述积分器的值和所述扩展值饱和。
(v)所述气体踏板参数在其最小值和最大值之间饱和。
根据本发明的另一方面,提供一种使用上述方法编码视频流的方法。
优选地,所述编码是MPEG-2-类型的编码。
附图说明
现将结合附图对本发明的几个较佳实施例进行详细描述。
图1是本发明的一个实施例控制视频流比特率的流程图。
图2是本发明的一个实施例改变气体踏板参数B(分别的,B’)的流程图。
图3是本发明的一个实施例处理重复的域的流程图。
图4是本发明一个实施例中处理场景转换和/或图片群(GOP)末端的流程图;
图5是本发明一个实施例中自动变速的流程图;
图6是本发明一个实施例中进程标识符(PID)反馈函数的流程图;
图7是本发明一个实施例中计算图6所示PID反馈函数内宏块尺寸的平均值的流程图。
具体实施方式
以下描述中的大量具体细节仅仅是为了提供对本发全面的理解。对于本领域的普通技术人员来说,很明显,无需部分或全部的这些细节,本发明也可以实施。另一方面,为了避免模糊本发明的内容,已知的方法和步骤未给出详细的描述。
本发明总的涉及一种编码过程中控制编码器内视频流比特率的方法和系统。
本发明特别涉及一种单通道编码方法,其中编码器获取未压缩图片作为输入。每次每个图片具有固定已知的图片率(即每秒的图片量)。每个图片被分割为多个宏块。一般编码器一次编码一个宏块,一旦完成一个宏块的编码后,不会再对该宏块进行改善,尤其是在实时编码的情况下。所述编码可按照光栅扫描的顺序进行,一行接一行,从上端到底端,对宏块每行的编码从左到右进行。
视频流和编码/解码的一般概念,包括图片群(GOP),使用宏块的图片结构,亮度块和量化比例代码等,均是现有技术如MPEG规范中介绍过的。本发明中图片群一般指一组用来辅助随机访问的一个或多个已编码的图片。尽管这一表述仅在ISO/IEC 11172-2(MPEG-1视频)中有定义,在本发明中类似的功能用于所有可能的应用中,包括MPEG-2等。
图1所示为本发明的一个方面,其中编码过程中的比特率通过为每个宏块确定合适的量化比例代码来控制。
优选地,本发明首先确定当前宏块的亮度块偏差。接着,确定偏差的最小值,然后计算最小偏差的对数。最后,使用所述对数值与状态参数A、B’,相应的参数I_GEAR或P_GEAR或B_GEAR表示的图片类型(可以是I(帧内图))、P(预测图)或B-(双向图),以及四舍五入函数、饱和度一起来定义当前宏块合适的量化比例代码。
一般本发明为较高的对数结果使用较高的量化比例代码。具体实施例中,通过处理计算出来的量化比例代码来改善视频质量并减少噪声影响,例如,通过在蚊音噪声影响可能会出现的字幕区域减少该对数值来实现。本发明还可用更多的参数来使量化比例代码符合一定的需求。
在一个较优实施例中,本发明在一个并行数据处理器内运行,如美国博通公司生产的BCM7040单信道MPEG编码器或BCM7041双信道MPEG编码器,专用于实时视/音频压缩和多路转换,如用于MPEG编码等。
在一个较优实施例中,本发明从输入端(即需要编码的图片源)接收一恒定图片率,但不限于恒定图片率。如果使用变化的图片率,所述量化比例代码也要进行相应的调整。
本发明使用的特定的量化比例代码至少具有以下形式:
量化比例代码=ROUND(A+B*(I,P,B_GEAR+Logc(MIN[VAR[luma_0],...,VAR[luma_3]]))) (1)
其中,由于不管是以4:4:4、4:2:2或4:2:0的格式,一个宏块内总是有四个亮度块,所以亮度块的数量是[1,...4]。
本发明不限于四个亮度块的情况,可以使用任何大于或等于1的数量n。
一个具体实施例中,可以使用小于四个的亮度块,如两个或三个来解决实时收敛问题。
进一步在等式(1)中,VAR是指偏差,MIN是指最小值,Logc是基于C的对数,ROUND是指四舍五入函数,A、B、C(基于对数的)是状态机的三种状态。这样,本发明量化比例代码的调整可像汽车的自动变速器一样实现。
“I,P,B_GEAR”是“I_GEAR,P_GEAR,B_GEAR”的缩写,其中I_GEAR、P_GEAR和B_GEAR是附加常量,可按下述可选择的使用:I_GEAR用于I型图片;P_GEAR用于P型图片;B_GEAR用于B型图片。一般,I_GEAR<=P_GEAR<=B_GEAR。本发明中可根据需求调整I_GEAR、P_GEAR和B_GEAR的值,其值也可以是零。
使公式(1)的量化比例代码在由所采用的编码类型所设定的极限内饱和,例如,在MPEG编码的1和31之间的范围内,或需要时在更小的范围内。
公式(1)只示出了一般的形式,例如,具有最少参数的量化比例代码的定义。在本发明的范围内,该公式可以采用另外的参数进行修改。
根据本发明的一个实施例,最好采用以C=2为底的对数,由于通过“>>”右移操作符,可以容易地实施。如果量化比例代码已经确定为其底C不是2,则以C为底的对数可以转换成以C=2为底,例如,通过下列公式:
logc(X)=log2(X)/log2(C) (2)
则可得出以下公式:
量化比例代码=ROUND(A+B’*(I,P,B_GEAR+Log2(MIN[VAR[luma_0],...,VAR[luma_3]]))),
(3)
其中,
B’=B/log2(C). (4)
由于B以渐进的方式调节比特率,因而B’(或B)与气体踏板(gas pedal)相似;而A以迅速强烈的方式改变比特率,因而A与换档器相似。相应地,B’称为“气体踏板参数”,而A称为“换档器参数”。在编码过程中,从一个宏块到另一宏块,最好对气体踏板参数B’进行更新,例如,在每次宏块量化之前进行更新,如对附图2所做的更加详细描述中所述。换档器参数A最好在每次对新的图像进行编码之前进行更新,如以下的详细描述。
当然,B’和B在行为上相似,可以按相应的比例值互相交换使用。为了使描述更加简洁,下面进一步的描述将对B’进行。由于对数的底的改变,I、P、B_GEAE参数也要进行相应更改。
每一种图像类型(I_图像、P_图像、B_图像)都有一个相应的目标平均图像类型尺寸:I_尺寸、P_尺寸及B_尺寸,及相关的尺寸因子,即,I_因子、P_因子及B_因子。在一个示例中,每一个GOP具有一个I图像、4个P图像及10个B图像,即,共计15个图像,例如以顺序:I BB P BB P BB P BB P BB表示的IPBB结构。
为达到目标比特率并维持良好的视频质量,在本发明的一个实施例中,为每一种图像类型(即I、P及B)分配不同数量的比特。这一目的首先是保持GOP尺寸,第二是利用图像因子保持各类型图像之间的尺寸比例。利用下列公式,可以达到这些目的:
平均图像尺寸=比特率/图像率 (5)
平均图像尺寸=GOP尺寸(比特)/GOP尺寸(图像) (6)
I_图像尺寸=x*I_因子 (7)
P_图像尺寸=x*P_因子 (8)
B_图像尺寸=x*B_因子 (9)
其中x称为基本图像尺寸(不是平均图像尺寸)
例如,为了使I_图像尺寸=2*P_图像尺寸、_图像尺寸=4*B_图像尺寸,可以采用:I_因子=8、P_因子=4、B_因子=1。则
GOP_尺寸(比特)=1*I_图像尺寸+4*P_图像尺寸+10*B_图像尺寸(10)
GOP_尺寸(图像)=1+4+10=15 (11)
比较(5)和(6)得到:
x=(比特率/图像率)*15/(1*I_因子+4*P_因子+10*B_因子)
=平均图像尺寸*(1+4+10)/(1*I_因子+4*P_因子+10*B_因子)
(12)
定义
IPB_因子=(1+4+10)/(1*I_因子+4*P_因子+10*B_因子) (13)
可以导出
IPB_因子=(#I+#P+#B)/(#I*I_因子+#P*P_因子+#B*B_因子)(14)
其中,#T=相应于GOP T=I、P或B的T图像的数量。
基于上式,可以得出:
x=平均图像尺寸*IPB因子 (15)
其平均图像尺寸由比特率/图像率定义。然后,将目标比特率除以图像率及每一图像的宏块数量,可以得出目标平均宏块尺寸。平均宏块尺寸用MB_尺寸表示。
当对图像进行编码时,如图2所示,对其实际尺寸进行测量并与目标尺寸进行比较。
当前目标尺寸可以由下式计算:
当前目标尺寸=(MB_CNT-PREV_MB_CNT)*
图像类型因子*IPB_因子*(MB_尺寸+MB尺寸_固定) (16)
其中,
MB_CN是一个“当前宏块”计数器,其是从宏块到宏块增长的。从当前编码的GOP开始时,MB_CN计算该编码的宏块数。MB_CN对每一个编码的宏块按一增量增加,典型地为1。该Current_Target_Size可以被计算(及然后与所述实际尺寸进行比较)任何一个宏块或以低频率或以可选的频率,例如,每N个宏块或每N个系统时钟周期等。当N是一个常量。一可按照其需要设置该频率并折衷一需要以实现在比特率振幅及视频质量之间。
且PREV_MB_CNT是一个“在先宏块”计数器,当开始编码该图片时,其存储该当前宏块计数器(MB_CN)的值。为每一个新GOP该当前宏块计数器MB_CNT可重设置为0,以及
图片类型因子通过开始编码的图片的类型被确定:1_factor代表1个图片,P_factor代表P个图片及B_factor代表B个图片,以及
MB_SIZE_FIX是一个该平均宏尺寸的扩展名。其可从该余量中派生出来,其是该实际视频基本流尺寸与其目标尺寸的差值,参见图7的详细说明。该余量被每个GOP所计算。这样,该余量被计算从该在先GOP被扩展出到该即将来到的宏块。每一GOP仅在编码下一GOP之前被计算一次。
在该当前图片的编码处理的过程中,该编码部分的尺寸是增长的。如果该已经编码的图片部分的实际尺寸大于该部分的目标尺寸(Current_Target_Size)时,则该气动踏板(gas pedal)参量B’增加。在一个实施例中,当当前目标尺寸被计算且然后比较所述每个宏块的实际尺寸,B’增长1/256。一个可能,为一个目标值与实际尺寸的比较频率不同关系使用一个不同增量尺寸。一个可能,在该编码处理过程中,使用任何其他的时间分辨率(然后为每一个宏块),例如,在每n(n为一个常量正数)个编码的宏块或每n个系统时钟周期等。随着下述的图2中流程图会举例说明。
减少该图片其他部分(即该图片余数)的实际尺寸的结果刚好要被编码。
如果该实际尺寸小于其目标尺寸,该气动踏板(gas pedal)参量B’减少。在一个实施例中,当当前目标尺寸被计算且然后比较所述每个宏块的实际尺寸,B’减少1/256。一个可能,例如为一个目标值与实际尺寸的比较频率不同关系使用一个不同增量尺寸。增加该图片其他部分(即该图片余数)的实际尺寸的结果刚好要被编码。
这种处理代表一个在宏块层上的比特率的微调,其与气动踏板相类似。在本发明的一个实施例中,在每次一个宏块被编码时,该装置比较相应的目标尺寸及实际尺寸。本领域的技术人员可调整该比较被执行的周期或频率,例如,第N个宏块或N个硬件时钟周期等,其中N是一个计数器。
现请参考图3,在一个优选实施例中用于使用重复域,例如,用于处理一个‘3-2下降模式’或‘逆电视电影’等。每个重复域消除一个该平均图片尺寸的一半的平均冗余(HALF_PICTURE_SIZE),例如,在eq(5或6)。每次一个新图片被编码,一个通告标志(REPEAT_FIRST)规定了是否一个域被重复。重复域是,例如,被一个电视电影(telecine)机制所产生。该编码算法可检测一个重复域且利用该冗余。该重复域通告标志支持逆电视电影处理。这样,该重复域的消除冗余在比特率收敛过程中被处理。如果该通告标志(REPEAT_FIRST)为真则该余数(RESIDUAL)由该平均图片尺寸的一半(HALF_PICTURE_SIZE)被减少。该余量中的振幅,其产生每个重复域且其可具有一个重复结构,可被通知及通过派生该MB_SIZE_FIX扩展名考虑进每个GOP中,例如,根据图7中的PID反馈。这样,有关3-2下降,该算法编码5个输入图片好像他们是4个图片,因此相关比特消耗及仍然维护该常量图片率的假定。每个域被计算进行一个半图片计数器(HALF_PICTURE_CNT)。对每个图片,该计数器被2或3所增加。二代表了该图片的2个域(顶及底),且三亦包括了重复域。每次一个新GOP刚好要被编码时,该半图片计数器(HALF_PICTURE_CNT)被重置为0,见图3中的例子。
在该应用的一个实施例中,该GOP尺寸是15个图片,但有时在实际的改变中,该GOP在该第15个图片之前结束。这种情形被典型地在采用下述过程(见图4)中被考虑到,尽管本发明未限定于一特定的图片数。
该半图片计数器(HALF_PICTURE_CNT)被用于计算在该当前GOP中的域(半图片),参见图3的例子。
当一个新GOP开始,该在先GOP的最大阀值尺寸(TH_MAX_SIZE)利用该平均图片尺寸的一半(HALF_PICTURE_SIZE)的尺寸被计算,且该GOP的最大比特率因子(MAX_GOP_BITRATE_FACTOR)及该输入图片的一半的计数值(HALP_PICT_CNT)被由下述所编码:
TH_MAX_SIZE=HALF_PICTURE_CNT*HALF_PICTURE_SIZE*MAX_GOP_BITRATE_FACTOR, (17)
当MAX_GOP_BITRATE_FACTO>1;
且该在先GOP最小阀值尺寸(TH_MIN_SIZE)被利用如下所计算:
TH_MIN_SIZE=HALF_PICTURE_CNT*HALF_PICTURE_SIZE*MIN_GOP_BITRATE_FACTOR, (18)
MIN_GOP_BITRATE_FACTOR表示最小比特率因数和0<MIN_GOP_BITRATE_FACTOR<1。
通过以下方式从GOP到GOP改变变速参数A的值:
如果在先GOP的实际尺寸大于最大阈尺寸(TH_MAX_SIZE),则在本申请的一个实施例中该变速参数A增加1,从而减小当前新GOP的实际尺寸并收敛于该目标平均比特率。可以使用与1不同的增量尺寸,例如从所述实际尺寸和TH_MAX_SIZE推导出的该增量尺寸,并不会偏离本发明的范围。如果该在先GOP的实际尺寸小于最小阈值(TH_MIN_SIZE),则在本申请的一个实施例中变速参数A减小1,依次增加当前新的GOP的实际尺寸并允许视频基本流比特率收敛于目标平均比特率。可以从所述实际尺寸和TH_MIN_SIZE推导出的该减量尺寸,并不会偏离本发明的范围。
该过程是GOP水平中的比特率的更积极的调整(也就是,类似变速)。
对于最大I和P图片尺寸的控制,该I和P图片的实际尺寸可以被监控,以及:
●如果该I图片的实际尺寸大于I图片的阈值,即I_PICTURE_TH,那么在本申请的一个实施例中A增加1,虽然可以使用另一个增量,该增量能够,例如,从所述实际尺寸和I_PICTURE_TH中推导出,并不会偏离本发明的范围。在本申请的一个实施例中,可以用下列方式计算I_PICTURE_TH:假设在目标平均比特率上允许2.5M[比特/秒]的波动。在该情况下,I_PICTURE_TH约为(比特率+2.5M[比特/秒])/图片率)*I_因子*IPB_因子。
●在本发明的一个实施例中,如果P图片的尺寸大于某一P图片的阈值(即P_PICTURE_TH),则A加1。尽管可从所述实际尺寸以及P_PICTURE_TH值推导出增加的尺寸,而不脱离本发明的范围。在本申请的一个实施例中,P_PICTURE_TH可通过以下方式计算:假设在目标平均比特率上允许2.5M[比特/秒]的波动。在该情况下,P_PICTURE_TH大约为(比特率+2.5M[比特/秒])/图片率)*I_因子*IPB_因子
例如,该机制有住于在15个图片的IPBB GOP结构中限制为每15个图片5倍(1个I-图片和4个P-图片)比特率峰值。
还可监测B-图片的尺寸,尽管这可使得阈值标准更加困难。同时,还可为I-图片、P-图片和B-图片设置最小阈值,例如如果类型为X的图片尺寸小于X类图片的最小阈值,则减小所述调整转换参数。所述监测应使用适当的增加和/或递减的尺寸。
对于状态参数A的改变,可使用图5所示的下列机制(自动调整变换):
允许气体踏板B’具有介于并包括最小值(MIN_SLOPE)和最大值(MAX_SLOPE)之间的值;
在最小连饱和度计数器(MIN_SLOPE_CNT)中计数使气体踏板参数B’饱和为其最小值(MIN_SLOPE)时的连续次数的‘最小饱和度计数器’(MIN_SLOPE_CNT);
计数使气体踏板参数B’饱和为其最大值(MAX_SLOPE)时连续次数的‘最大饱和度计数器’(MAX_SLOPE_CNT)(如稍后描述的);
当气体踏板参数B’保持介于最小值(MIN_SLOPE)和最大值(MAX_SLOPE)时,将这些计数器(MIN_SLOPE_CNT,MAX_SLOPE_CNT)重设为零。
由此,每次编码一个图片后并在编码下一图片之前,当最小饱和度计数器(MIN_SLOPE_CNT)比计数器极限(SLOPE_CNT_LIMIT)大时,则将A减小(最好减小1),而将最大饱和度计数器(MAX_SLOPE_CNT)重设为零(在该图片的所有宏块被编码后,即在本申请的一个实施例中,A允许仅在图片间变换(即编码一个图片后并在编码下一图片之前))。可根据需要和比特波动和所要求获得的视频质量间的折中来设置SLOPE_CNT_LIMIT;
由此,当最大饱和度计数器(MAX_SLOPE_CNT)比计数器极限(SLOPE_CNT_LIMIT)大时,则将A增加(最好增加1),而将最大饱和度计数器(MAX_SLOPE_CNT)重设为零(在该图片的所有宏块被编码后,即在本申请的一个实施例中,A允许仅在图片间变换(即编码一个图片后并在编码下一图片之前))。为了获得不均等的比特率收敛,用于MIN_SLOPE_CNT的SLOPE_CNT_LIMIT可不同于用于MAX_SLOPE_CNT的SLOPE_CNT_LIMIT(例如MAX_SLOPE_CNT_LIMIT和MIN_SLOPE_CNT_LIMIT)。
通常,可调整诸如MAX_SLOPE、MIN_SLOPE、MAX_SLOPE_CNT等的比特率运算参数,以获得比特率收敛和恒定比特率和变化比特率间的适当折衷。
为了包括一个“前置、完整并且派生(PID)”的反馈功能(图6),对于每一GOP。计算目标GOP尺寸=(宏块计数器*平均宏块尺寸)=(MB_CNT*MB_SIZE),并从实际GOP尺寸中减小目标GOP尺寸(源于GOP尺寸错误)。典型地,对于GOP中的每一编码的宏块,将宏块计数器(MB_CNT)加1,并在每一GOP开始处将其重设为零。当前“GOP尺寸错误”值被加到先前的剩余值,而结果为新的剩余值(RESIDUAL)。新的剩余值(RESIDUAL)用于推导下一GOP的平均宏块尺寸(MB_SIZE_FIX)的范围:这可通过以下方式实现(图7):
一个积分器值(INTEGRATOR)保持所有剩余值(RESIDUAL)的总和,在本申请的一个实施例中,最好通过算法将剩余值右移19。也可不右移19,而除以一个值或对PIC反馈做一些适当的调整。
将先前的积分器值(来自先前的GOP迭代)(INTEGRATOR)加到剩余值(RESIDUAL),在本申请的一个实施例中,最好通过算法将剩余值右移17。也可使用其他方法,例如除以一个值或对PIC反馈做一些适当的调整,而不右移17(PID反馈的比例量)。所得结果为新的平均宏块尺寸(MB_SIZE_FIX)的范围。
为了合并饱和度和收敛,可单独或结合设置以下条件:
最好使每一宏块的量化比例代码饱和为一个合法值,例如对于MPEG-2标准,该值可以介于1-31之间。可诸如使饱和到一个较窄范围的值,以避免基于其编码算法或量化矩阵等的极端的低或高的比特率。
●A值在其最小值(MIN_GEAR)和其最大值(MAX_GEAR)是饱和的。使用者可以根据其编码算法、量化矩阵、比特率收敛要求等以避免出现很低或很高的比特率极端情况的方式设置MIN_GEAR和MAX_GEAR。
●剩余值(RESIDUAL)不允许溢出。在一个实施例中,剩余值可以用剩余值寄存器处理,该剩余值寄存器有足够的比特为保留大的带符号的数字。不允许溢出、饱和可作为特别情况处理,即将剩余寄存器饱和到其最小或最大带符号值以代替溢出。
●在本发明的一个实施例中,积分值(INTEGRATOR)和扩展值(MB_SIZE_FIX)可以是在-MB_SIZE和+MB_SIZE之间饱和的(MB_SIZE=比特率/图片率/每图片的宏块)。通常,使用者可以根据其需要将所述值饱和到其它值。使用者可以根据其指定编码器设置(目标比特率、分辨率等)如对称地在其他饱和值之间调整这些饱和值。
●B’(SLOPE)在MIN_SLOPE和MAX_SPLOE之间是饱和的。
当这些饱和(沿上述阀值)被正确设置和实施时,在合理的响应时间内算法被允许会聚到正确的比特率并保持很好的质量视频。
在本发明的一个优选的实施例中,使用者可以用以下值对NTSC SD(标准定义)进行编码:
I_因子=6;P_因子=6;B_因子=4;MIN_SLOPE=1.125;
MAX_SLOPE=1.32;SLOPE_CNT_LIMIT=3000;
I_GEAR=3;P_GEAR=7;B_GEAR=9;
MAX_GOP_BITRATE_FACTOR=1.25;
MIN_GOP_BITRATE_FACTOR=0.75;
MIN_GEAR=-9;MAX_GEAR=31;
在一个实施例中,上述方法在集成电路中实施,如ASIC或任何其他适合的硬件。
在本发明结合一定的实施例进行描述中,本技术领域的技术人员将理解,可以进行各种变化或同等替换,而不脱离本发明范围,其包括优选实施例及其结合。另外,可进行多种修改以适应特殊环境或材料也不脱离本发明的范围。因此,本发明不限于公开的实施例而包括所有的实施例都在附属的权利要求中。
Claims (10)
1.一种对具有图片的视频流进行编码时控制视频流比特率的方法,其特征在于,该方法包括使用普通格式的量化比例编码的步骤:
量化比例编码=ROUND(A+B(D+logc(MIN{VAR[luma_n]})))
其中,
A为可调整的调整变换参数;及
B为可调整的气体踏板参数;及
[luma_n]为所述具有n等于1或大于1的图片宏块的第n个亮度块,
D为依赖于图片类型的一个常数,
及该量化比例编码为饱和的。
2.如权利要求1所述的方法,其特征在于,C=2。
3.如权利要求1所述的方法,其特征在于,C=3。
4.如权利要求2所述的方法,其特征在于,所述量化比例编码被变形为:
量化比例编码=ROUND(A+B’*([I_GEAR或P_GEAR或B_GEAR]+log2([MIN[VAR[luma_0],…,VAR[luma_n]]]))
其中,I_GEAR、P_GEAR及B_GEAR的数值依赖于所述图片的类型。
5.如权利要求1所述的方法,其特征在于,所述气体踏板参数为一个当前图片,其通过下述被调整:
(a)如果所述当前已被编码图片的一部分的测量的实际尺寸比其目标尺寸大,则增加所述气体踏板参数;及
(b)如果所述当前已被编码图片的一部分的测量的实际尺寸比其目标尺寸小,则减小所述气体踏板参
6.一种用于使用权利要求1所述方法编码视频流的方法。
7.如权利要求6所述的方法,其特征在于,该编码为MPEG-2-类型。
8.一种使用权利要求1所述方法的编码系统。
9.一种执行权利要求1所述方法的集成电路。
10.一种可以执行权利要求1所述方法的计算机程序。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US57889704P | 2004-06-14 | 2004-06-14 | |
US60/578,897 | 2004-06-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1722835A true CN1722835A (zh) | 2006-01-18 |
CN100486335C CN100486335C (zh) | 2009-05-06 |
Family
ID=35912731
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100787569A Expired - Fee Related CN100486335C (zh) | 2004-06-14 | 2005-06-14 | 比特率自动调整装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20050276324A1 (zh) |
EP (1) | EP1615443A3 (zh) |
CN (1) | CN100486335C (zh) |
TW (1) | TWI301724B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102572521A (zh) * | 2012-01-18 | 2012-07-11 | 北京瀚景锦河科技有限公司 | 一种自动分配传输流视频基本码流码率的方法和系统 |
CN103155581A (zh) * | 2010-10-14 | 2013-06-12 | 索尼电脑娱乐公司 | 动图像再现装置、信息处理装置及动图像再现方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8401070B2 (en) * | 2005-11-10 | 2013-03-19 | Lsi Corporation | Method for robust inverse telecine |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05167998A (ja) * | 1991-12-16 | 1993-07-02 | Nippon Telegr & Teleph Corp <Ntt> | 画像の符号化制御処理方法 |
US5283646A (en) * | 1992-04-09 | 1994-02-01 | Picturetel Corporation | Quantizer control method and apparatus |
JP3355964B2 (ja) * | 1996-10-29 | 2002-12-09 | ケイディーディーアイ株式会社 | 適応直交変換モード判定方法 |
-
2005
- 2005-06-10 EP EP05012543A patent/EP1615443A3/en not_active Withdrawn
- 2005-06-14 US US11/151,201 patent/US20050276324A1/en not_active Abandoned
- 2005-06-14 CN CNB2005100787569A patent/CN100486335C/zh not_active Expired - Fee Related
- 2005-06-15 TW TW094119741A patent/TWI301724B/zh not_active IP Right Cessation
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103155581A (zh) * | 2010-10-14 | 2013-06-12 | 索尼电脑娱乐公司 | 动图像再现装置、信息处理装置及动图像再现方法 |
CN103155581B (zh) * | 2010-10-14 | 2016-08-03 | 索尼电脑娱乐公司 | 动图像再现装置、信息处理装置及动图像再现方法 |
CN102572521A (zh) * | 2012-01-18 | 2012-07-11 | 北京瀚景锦河科技有限公司 | 一种自动分配传输流视频基本码流码率的方法和系统 |
CN102572521B (zh) * | 2012-01-18 | 2014-04-02 | 北京瀚景锦河科技有限公司 | 一种自动分配传输流视频基本码流码率的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
EP1615443A2 (en) | 2006-01-11 |
CN100486335C (zh) | 2009-05-06 |
US20050276324A1 (en) | 2005-12-15 |
TWI301724B (en) | 2008-10-01 |
EP1615443A3 (en) | 2009-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1242620C (zh) | 用于数字视频记录的基于代码转换器的自适应量化 | |
CN1685734A (zh) | 控制视频序列速率的方法和装置及视频编码装置 | |
CN1315118A (zh) | 压缩与未经压缩的数字视频信号的统计式多路转接的动态位分配 | |
CN1260980C (zh) | 图像压缩/编码装置及其方法 | |
US8204105B2 (en) | Transcoder and coded image conversion method | |
US8848787B2 (en) | Enhancement layer coding for scalable video coding | |
CN1225126C (zh) | 用于视频编码的新型空间预测方法及其装置 | |
CN1726709A (zh) | 利用基于图像的超前查看窗口进行速率控制 | |
CN1347620A (zh) | 转换mpeg-2 4:2:2-轮廓位流为主轮廓位流的方法及架构 | |
CN1255022A (zh) | 预先不了解画面类型情况下mpeg代码转换器的比率控制系统 | |
CN1781315A (zh) | 用于编码图像序列的方法 | |
CN1893657A (zh) | 用于视频编码器的编码位率控制方法及系统 | |
CN1742488A (zh) | 用于编码和解码立体视频的方法和装置 | |
CN1656817A (zh) | 上下文自适应的vlc视频变换系数编码/解码方法与设备 | |
CN1736107A (zh) | 视频发送系统、视频发送装置、视频接收装置和视频发送方法 | |
CN1112809C (zh) | 数字视频数据的编码或译码方法和装置 | |
CN1714576A (zh) | 用于可变长度编码数据流的转码器 | |
KR20010043395A (ko) | 압축된 비디오 정보에서 브리딩 인공물을 감소시키기 위한방법 및 장치 | |
CN1842164A (zh) | 解码视频数据的解码器和系统 | |
CN1574968A (zh) | 运动图像解码装置及运动图像解码方法 | |
CN1620821A (zh) | 图像信息编码装置和图像信息编码方法、图像信息解码装置和图像信息解码方法 | |
TW202139698A (zh) | 影像處理裝置及方法 | |
CN1691780A (zh) | 视频编码器及检测和编码噪声的方法 | |
CN1162004C (zh) | 译码设备和方法、编码设备和方法、图像处理系统和方法 | |
CN1225919C (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090506 Termination date: 20170614 |