CN102271248B - 一种基于权重窗口模型的h.264/avc宏块级码率控制算法 - Google Patents
一种基于权重窗口模型的h.264/avc宏块级码率控制算法 Download PDFInfo
- Publication number
- CN102271248B CN102271248B CN201110232053.2A CN201110232053A CN102271248B CN 102271248 B CN102271248 B CN 102271248B CN 201110232053 A CN201110232053 A CN 201110232053A CN 102271248 B CN102271248 B CN 102271248B
- Authority
- CN
- China
- Prior art keywords
- macroblock
- current
- frame
- mad
- window
- 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
- 238000004364 calculation method Methods 0.000 claims abstract description 19
- 208000023463 mandibuloacral dysplasia Diseases 0.000 claims description 12
- 238000000034 method Methods 0.000 claims description 9
- 238000000120 microwave digestion Methods 0.000 claims description 3
- 238000013139 quantization Methods 0.000 abstract description 7
- 238000002474 experimental method Methods 0.000 abstract description 2
- 238000012360 testing method Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- NUHSROFQTUXZQQ-UHFFFAOYSA-N isopentenyl diphosphate Chemical compound CC(=C)CCO[P@](O)(=O)OP(O)(O)=O NUHSROFQTUXZQQ-UHFFFAOYSA-N 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明属于视频编码技术领域,具体为一种基于权重窗口模型的H.264/AVC宏块级码率控制算法。本发明利用当前宏块周围宏块组成的一个窗口的空间相关性,以及前一帧的与当前宏块相同位置宏块及其周围宏块组成的一个窗口的时间相关性,提出了一种低复杂度的平均绝对值偏差(MAD)的预测模型和量化参数(QP)计算模型,并基于上面两种模型,提出用于H.264/AVC编码器中的宏块级码率控制算法。实验表明,基于权重窗口模型的宏块级H.264/AVC码率控制算法比H.264/AVC的参考软件的码率控制算法得到更高的峰值信噪比(PSNR)和更小的比特偏差。
Description
技术领域
本发明属于视频编码技术领域,具体为一种H.264/AVC宏块级码率控制算法,可应用于H.264/AVC编码器中编码码率的控制实现。
背景技术
视频编码中的码率控制是指采用一定的方法对一个视频源进行编码,使用经过编码压缩后的比特率可以满足一些特定的限制:比如说比特率,缓存的上溢和下溢的保护等。在一些视频应用中,特别是视频通信类,其信道带宽往往是有限的。为了满足实际应用中的带宽约束,同时追求在此带宽下的最优视频质量, 码率控制在视频传输应用中非常重要。这是因为过高的码率会导致比特率超 过信道容量,造成数据丢失;另一方面来说,如果码率过低又会造成带宽的浪费。
H.264/AVC是JVT组织最新提出的一个视频编码标准。因为H.264/AVC能够比之前一些编码标准得到更高的压缩效率和图像质量,所以它的应用越来越广泛。而码率控制作为编码器的关键技术之一,因此,用于H.264/AVC的码率控制算法一直是最近几年的研究热点。根据码率控制算法中的基本单元的大小,编码控制算法可以分为三个层次:GOP级别,帧级,宏块级别的码率控制算法。在码率控制算法中,主要需要解决两个关键的问题:一是如何给当前编码单元分配合适的比特数;二是如何根据分配的比特数编码实现最好的图像,即如何决定一个量化参数。和以前的一些视频编码标准的码率控制算法相比,H.264/AVC的码率控制算法实现起来会更加困难一些。这是因为在H.264/AVC编码中,量化参数(QP)在码率控制算法和率失真优化(RDO)中都会用到,这会导致下面的蛋鸡悖论:为了给当前编码宏块进行率失真优化(RDO),首先要利用当前编码宏块帧的MAD来计算量化参数(QP),而当前编码宏块/帧的MAD只有在RDO之后才能得到。为了解决这个悖论,以往大多数的算法采用了下面表达式所示的线性模型:
(1)
上式中的a1,a2为模型参数,和 分别是指当前宏块或前一帧与当前宏块相同位置宏块的MAD。这样,借助上述线性模型,我们可以预测当前编码单元的MAD,通过预测得到的MAD,采用一定的R-Q(比特-量化参数)模型来计算编码所要采用的QP。下面是在H.264/AVC的参考软件JM采用的二次R-Q模型:
Ri代表分配给第i个编码基本单元分配的比特数,c1,c2为模型参数,Qstep i代表该编码基本单元的量化步长。式(1)和(2)一起的四个模型参数a1,a2,c1,c2在编码完每个编码单元之后进行更新。
发明内容
本发明的目的在于提出一种能够消除宏块级码率控制算法中复杂的线性回归的H.264/AVC宏块级码率控制算法,以实现良好的码率控制效果和较高的PSNR提高。
为了解决前面提到的蛋鸡悖论,所以需要在编码当前宏块之前,预测当前宏块的MAD。以前的算法基本都是采用前面所列的线性模型来完成,但这个线性模型的模型参数a1,a2的更新非常复杂。而且因为其线性的关系,所出现的误差可能会较大。为了得到编码所需要的QP,R-Q模型的模型参数的更新跟MAD的线性模型类似,复杂度非常高。本发明可以极大的降低宏块级别的码率控制的复杂度。
采用权重窗口预测,充分利当前时间相关性(前一帧相同位置的宏块和其周围的宏块)和空间相关性(当前宏块周围的宏块)。当前帧的窗口和前一帧的窗口的选择如图1所示。对于两个窗口中不同位置的宏块的所用权重是不一样的。
本发明利用当前宏块和其周围的8个宏块组成一个3x3的窗口。对于每个窗口,其对应的权重也是不一样的,这就是权重窗口这个名字的由来。同样,对于前一帧与当前宏块相同位置宏块和它周围的8个宏块组成一个3x3的窗口。与在当前帧的窗口一样,对于在前一帧的窗口的不同位置,其相应的权重也是不一样的。权重窗口模型的示意图如1所示。设MB0~MB8依次分别代表在当前编码帧的当前宏块(记为MB0),以及该当前宏块的左边,右边,上边,下边,左上,右上,左下,右下位置的宏块。其中,下标c表示当前帧各宏块,下标p表示前一帧各宏块。针对上述的两个窗口。对于每个窗口内的每一个宏块的权重乘以量化参数(QP)的累加除以权重乘以平均绝对值偏差(MAD)的相互关系进行分析。可以得到这两者是线性的关系。
本发明基于权重窗口模型提出了一种新的QP计算模型和MAD预测模型。
本发明中的QP的计算模型如下所示:
其中:
为当前宏块的QP值。αk 和 βk是权重参数,其取值与其所在的位置有关,Wc和Wp分别表示在当前帧和前一帧中的窗口,其具体位置如图1所示。0~8对应的是MB0~MB8宏块位置。表示当前帧的窗口中相应k位置(k取0~8整数)宏块的QP,表示前一帧窗口中相应k位置宏块的QP。表示当前帧的窗口中相应k位置宏块的MAD,表示前一帧窗口中相应k位置宏块的MAD。表示当前宏块编码所用比特数,表示前一帧窗口中相应k位置宏块编码所用比特数。权重参数的取值如下:
本发明中的MAD的预测模型可以由下式表示:
其中MP的计算方法为:
根据前面的MAD和QP的计算模型,本发明提出一种新的宏块级别的码率控制算法。本发明的码率控制算法方法可以分为三层:GOP级,帧级,宏块级。在GOP级和帧级中,比特分配和编码前的一些预调节和H.264/AVC参考软件中使用的方法一样。本发明中主要的宏块级算法流程见图3所示,具体描述如下:
在图3中,对于GOP中的第一个I帧和P帧,初始QP采用参考软件中的算法计算得到。是前一帧的所有宏块MAD的平均值。是当前帧前一个宏块的QP值。图2中的比特分数操作是根据预测得到的MAD值和当前帧所有已编码宏块的平均MAD值来得到,具体如下式所示:
如果当前宏块为当前帧的第一个宏块,那么当前宏块的QP设为。对于当前帧的其它宏块,QP的计算方法可以为:如果当前帧的剩余比特数为负值,则当前QP直接设为+1,否则,先给当前宏块分配比特数,其分配方法如前所述。然后通过本发明中的QP计算方法得到QP。为了保证宏块中不会出现方块效应,所以QP首先由下式来限定:
(12)
为了保证图像的平滑性,QP进一步由下式来限定使其各帧间的QP改变不会过大:
最后,QP需要满足H.264/AVC的规定,限定在1~51内:
在完成一个宏块的编码后,记录编码信息,如实际MAD,实际所用的QP,实际编码所用的比特数,更新剩余比特数。
本发明利用两个窗口内的18个宏块的相关性,对当前宏块进行参数预测,得到QP和MAD,去除了JM参考软件中的参数更新这个复杂的过程。与原始的JM码率控制算法相比,可以取得更高的PSNR和更小的目标比特偏差。
附图说明
图1 是权重窗口模型的示意图。
图2 是码率控制示意图。
图3 是基于权重窗口预测的码率控制算法的流程图。
具体实施方式
以下结合附图对本发明做进一步的描述。
1. QP计算模型
在实际码率控制算法中,预测当前编码宏块的信息主要用到的是空间相关信息和时间相关信息:如图1所示,设MB0c~MB8c分别代表在当前编码帧的当前宏块(MB0c),以及该当前宏块的左边,右边,上边,下边,左上,右上,左下,右下位置的宏块。同样MB0p~MB8p分别代表在前一帧中对应于当前宏块(MB0c)位置的宏块(MB0p),以及前一帧中该宏块(MB0p)的左边,右边,上边,下边,左上,右上,左下,右下位置的宏块。针对当前帧和前一帧的两个窗口,首先引入两个变量Nc和Np,这两个变量的值可以由下面两个公式得到:
其中αk 和 βk是权重参数,其取值与其窗口位置(0~8)所在的位置有关,Wc和Wp分别表示在当前帧和前一帧中的窗口。表示当前帧的窗口中相应k位置(k为0~8的整数)宏块的QP,表示前一帧的窗口中相应k位置宏块的QP。表示当前帧的窗口中相应k位置宏块的MAD,表示前一帧的窗口中相应k位置宏块的MAD。对于图1中的两个窗口,为了确定窗口大小,引入Ws这个变量来代表窗口大小。为了确定Nc和Np在不同的窗口大小Ws的情况下的关系,做了许多测试,得到当Ws>=3时,可以有一个近似关系:Nc=Np,本发明选择Ws=3来作为权重模型。
由图1可知道,在编码当前宏块MB0c时, MB2c,MB4c,MB7c,MB8c,这个几宏块还没有进行编码,所以这几个宏块的信息由前一帧的MB2p,MB4p,MB7p,MB8p来代替,由Nc可以修正为下面Nc,2。
和Nc=Np 一样,根据实验结果,在Ws=3时Nc,2=Np。在做宏块级别的码率控制时,编码每个宏块的比特数也是需要考虑的。这里我们联系宏块实际编码的比特数,由Nc,2=Np得到(1) 式即:
其中Sc和Np分别由(4)和(5)给出
其中Bit[0,i]是当前帧宏块的编码比特, Bit[k,i-1]是前一帧中窗口各相应位置宏块的编码所用的比特,βk的取值和前面所用的值一样。的作用是根据消耗的比特来调节计算的QP值。一般情况下,在编码当前宏块时,Bit[0,i]一般是能通过比特分配得到。比特分配一般是要根据预测得到的当前MAD。当Bit[0,i]>时,意味着当前宏块的用到的比特数可能会大于其前一帧窗口中用到的比特数,会得到>1,这样通过可以得到一个相对大一点的QP。反之,如果Bit[0,i] <,那就是说当前宏块所用的编码比特数可能会比前一帧窗口平均所用比特数要小,所以可以得到<1,这个值用来调节来得到一个相对小的QP。通过前面计算得到的QP值可能由下面的式进行一个四舍五入取整的操作:
(17)
这里是一个取下值的操作。进一步限定QP的操作可以由后面的来进行。
2. MAD预测模型
为了解决前面所描述的蛋鸡悖论,我们需要在编码当前宏块前预测当前宏块的MAD值MAD[0,i]。和计算QP时所用到的权重窗口模型一样,我们采用相同的权重窗口模型来预测当前宏块的MAD,这里引入两个变量Mp和Mc其值为如下所示:
其中表示当前宏块的MAD值,γl的取值根据实验所得如(10)所示。
3. 码率控制算法流程
根据前面的MAD和QP的计算模型,本发明提出一种新的宏块级别的码率控制算法。本发明的码率控制算法方法可以分为三层:GOP级,帧级,宏块级。在GOP级和帧级中,比特分配和编码前的一些预调节和H.264/AVC参考软件中使用的方法一样。本发明中主要的宏块级算法流程见图3所示,具体描述如下:
在图3中,对于GOP中的第一个I帧和P帧,初始QP采用参考软件中的算法计算得到。是前一帧的所有宏块MAD的平均值。是当前帧前一个宏块的QP值。图3中的比特分配操作是根据预测得到的MAD值和当前帧所有已编码宏块的平均MAD值来得到,具体如下式所示:
如果当前宏块为当前帧的第一个宏块,那么当前宏块的QP设为。对于当前帧的其它宏块,QP的计算方法可以为:如果当前帧的剩余比特数为负值,则当前QP直接设为+1,否则,先给当前宏块分配比特数,其分配方法如前所述。然后通过本发明中的QP计算方法得到QP。为了保证宏块中不会出现方块效应,所以QP首先由下式来限定:
为了保证图像的平滑性,QP进一步由下式来限定使其各帧间的QP改变不会过大:
最后,QP需要满足H.264/AVC的规定,限定在1~51内:
在完成一个宏块的编码后,记录编码信息,如实际MAD,实际所用的QP,实际编码所用的比特数,更新剩余比特数。
4. 测试结果
为了评价本发明的结果。本发明和H.264/AVC的参考软件算法进行了性能比较。其中,双方的测试条件选择为:
1)熵编码方式为CABAC。
2)参考帧的数目为5。
3)搜索范围为16。
4)采用全搜索模式。
5)RDO开启,码率控制算法模式为0,基本单元选择1个宏块。
6)GOP的结构为IPP…P。对于每个测试序列,编码300帧。即对每个GOP来说,第一帧为IDR帧,接下来299帧都是P帧。
7)对于每个测试码流,其目标比特流分别48,64,96kbps。帧率为30帧每秒。
从表1可知。本发明可以比H.264/AVC的参考软件得到更高的PSNR,最高为1.06dB (Akiyo 48kbps)。而在三种比特率下,对所有测试码流其平均增加的PSNR为0.80dB 48kbps, 0.72dB 64kbps和0.55dB 96kbps。而本发明在控制比特率的准确度上来说,对于所有码流其比特率偏差为0.069% 48kbps, 0.055%64kbps和0.054% 96kbps. 而这三种情况下JM15.1的结果分别为0.188%, 0.107% 和 0.122%。这就是说本发明可以比H.264/AVC的参考软件JM15.1减小58%的比特偏差。
表1
Claims (2)
1.一种基于权重窗口模型的QP计算方法,其特征在于,由当前宏块和其周围的8个宏块组成一个3x3的窗口;同样,对于前一帧,与当前宏块相同位置的宏块和它周围的8个宏块组成一个3x3的窗口;设MB0~MB8依次分别代表在当前编码帧的当前宏块,以及该当前宏块的左边,右边,上边,下边,左上,右上,左下,右下位置的宏块;
QP计算方法如下式所示:
其中:
(4)
为当前宏块的QP值,αk和βk是权重参数,其取值与其所在的位置有关,Wc和Wp分别表示在当前帧和前一帧中的窗口,0~8对应的是MB0~MB8宏块位置,表示当前帧的窗口中相应k位置宏块的QP,k为0~8的整数,表示前一帧窗口中相应k位置宏块的QP;表示当前帧的窗口中相应k位置宏块的MAD,表示前一帧窗口中相应k位置宏块的MAD;表示当前宏块编码所用比特数,表示前一帧窗口中相应k位置宏块编码所用比特数;权重参数取值如下:
MAD的预测模型如下式所示:
其中MP的计算方法为:
2.一种基于权利要求1所述的QP计算方法的H.264/AVC宏块级码率控制算法,其特征在于具体步骤为:
对于画面组中的第一个I帧和P帧,采用参考软件中的算法计算得到初始QP,设是前一帧的所有宏块MAD的平均值,是当前帧前一个宏块的QP值;根据预测得到的MAD值和当前帧所有已编码宏块的平均MAD值来得到比特分数,具体如下式所示:
如果当前宏块为当前帧的第一个宏块,那么当前宏块的QP设为,对于当前帧的其它宏块,QP的计算方法为:如果当前帧的剩余比特数为负值,则当前QP直接设为+1,否则,先给当前宏块分配比特数,然后通过权利要求1中的QP计算方法得到QP,并且, QP首先由下式来限定:
为了保证图像的平滑性,QP进一步由下式来限定:
最后,QP需要满足H.264/AVC的规定,即限定在1~51内:
在完成一个宏块的编码后,记录编码信息,包括:实际MAD, 实际所用的QP, 实际编码所用的比特数,更新剩余比特数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110232053.2A CN102271248B (zh) | 2011-08-15 | 2011-08-15 | 一种基于权重窗口模型的h.264/avc宏块级码率控制算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110232053.2A CN102271248B (zh) | 2011-08-15 | 2011-08-15 | 一种基于权重窗口模型的h.264/avc宏块级码率控制算法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102271248A CN102271248A (zh) | 2011-12-07 |
CN102271248B true CN102271248B (zh) | 2014-03-05 |
Family
ID=45053391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110232053.2A Expired - Fee Related CN102271248B (zh) | 2011-08-15 | 2011-08-15 | 一种基于权重窗口模型的h.264/avc宏块级码率控制算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102271248B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105554503B (zh) * | 2016-02-02 | 2018-12-18 | 同济大学 | 一种hevc编码单元级码率控制方法 |
CN108900840A (zh) * | 2018-07-10 | 2018-11-27 | 珠海亿智电子科技有限公司 | 针对硬件实现的h264宏块级码率控制方法 |
CN110769254B (zh) * | 2019-10-10 | 2022-04-22 | 网宿科技股份有限公司 | 一种视频帧的码率配置方法、系统及设备 |
CN112073724B (zh) * | 2020-11-16 | 2021-01-29 | 北京世纪好未来教育科技有限公司 | 视频信息处理方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1801939A (zh) * | 2005-12-22 | 2006-07-12 | 天津大学 | 基于空间分辨率变换的视频转换编码方法 |
CN101252693A (zh) * | 2008-03-24 | 2008-08-27 | 北京邮电大学 | 基于图像直方图的码率控制方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100505699B1 (ko) * | 2003-08-12 | 2005-08-03 | 삼성전자주식회사 | 실시간 가변 비트율 제어로 화질을 개선시키는 비디오인코더의 인코딩율 제어기, 이를 구비한 비디오 데이터전송 시스템 및 그 방법 |
-
2011
- 2011-08-15 CN CN201110232053.2A patent/CN102271248B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1801939A (zh) * | 2005-12-22 | 2006-07-12 | 天津大学 | 基于空间分辨率变换的视频转换编码方法 |
CN101252693A (zh) * | 2008-03-24 | 2008-08-27 | 北京邮电大学 | 基于图像直方图的码率控制方法 |
Non-Patent Citations (1)
Title |
---|
JP特开2005-65291A 2005.03.10 |
Also Published As
Publication number | Publication date |
---|---|
CN102271248A (zh) | 2011-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103533359B (zh) | 一种h.264码率控制方法 | |
CN1910934B (zh) | 自适应速率控制编码器 | |
JP5410549B2 (ja) | 事前計算動き情報を用いたビデオ・エンコード | |
KR102146583B1 (ko) | 오류 전파 추적 및 수신기로부터의 오류 피드백을 이용한 비디오 리프레시 기법 | |
CN100481943C (zh) | 一种视频编码码率控制方法 | |
CN102065302B (zh) | 一种基于h.264的可伸缩视频编码方法 | |
CN101010964A (zh) | 在可分级视频编码中的使用帧速率上变换技术的方法与设备 | |
CN105847806A (zh) | 视频信息编码方法和视频信息编码系统 | |
CN102186084B (zh) | 一种可伸缩视频编码svc的空间增强层码率控制实现方法 | |
CN103096048B (zh) | 一种可伸缩视频编码量化参数确定方法及装置 | |
CN105208389B (zh) | 一种基于内容自适应偏移模型的视频编码硬判决量化方法 | |
CN107846593A (zh) | 一种率失真优化方法及装置 | |
WO2010130190A1 (zh) | 多层编码的码率控制方法及装置 | |
CN102271248B (zh) | 一种基于权重窗口模型的h.264/avc宏块级码率控制算法 | |
CN105392001A (zh) | 基于梯度的自适应高性能视频编码码率控制方法 | |
CN104754335B (zh) | 一种视频编码码率控制方法 | |
JP2024514348A (ja) | ビデオ符号化方法、装置と電子機器 | |
CN100574442C (zh) | 基于图像直方图的码率控制方法 | |
CN101888561A (zh) | 一种率失真优化动态调整的多视点视频传输差错控制方法 | |
CN102420987A (zh) | 基于分层b帧结构的码率控制的自适应比特分配方法 | |
CN100358364C (zh) | 基于h.264的精细颗粒可伸缩编码的码率控制方法 | |
CN102625104A (zh) | 一种视频编码方法 | |
CN106791828A (zh) | 基于机器学习的高性能视频转码方法及其转码器 | |
CN100448297C (zh) | 一种码率控制方法 | |
CN105187832B (zh) | 基于2.5g无线网络移动视频码率控制方法 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140305 Termination date: 20160815 |
|
CF01 | Termination of patent right due to non-payment of annual fee |