CN117014613A - 一种恒定视频质量的码率控制方法及装置 - Google Patents

一种恒定视频质量的码率控制方法及装置 Download PDF

Info

Publication number
CN117014613A
CN117014613A CN202310875692.3A CN202310875692A CN117014613A CN 117014613 A CN117014613 A CN 117014613A CN 202310875692 A CN202310875692 A CN 202310875692A CN 117014613 A CN117014613 A CN 117014613A
Authority
CN
China
Prior art keywords
video frame
psnr
video
coding
target
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.)
Pending
Application number
CN202310875692.3A
Other languages
English (en)
Inventor
刘鹏飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ASR Microelectronics Co Ltd
Original Assignee
ASR Microelectronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ASR Microelectronics Co Ltd filed Critical ASR Microelectronics Co Ltd
Priority to CN202310875692.3A priority Critical patent/CN117014613A/zh
Publication of CN117014613A publication Critical patent/CN117014613A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/172Methods 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 picture, frame or field

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种恒定视频质量的码率控制方法。在前一个视频帧编码完成时,计算出其峰值信噪比PSNR。如果前一个已编码视频帧的PSNR位于用户预设的PSNR阈值范围外,则根据R‑D模型,利用前后视频帧的参数代替,预测出能使待编码视频帧的PSNR回归用户预设的PSNR阈值范围内的待编码视频帧的目标编码比特数。否则,根据用户预设的视频序列的目标码率和码率调整平滑步长,计算出能使视频序列的编码码率维持在用户预设的目标码率的待编码视频帧的目标编码比特数。根据待编码视频帧的目标编码比特数,对待编码视频帧进行目标比特控制运算,得到待编码视频帧的拉格朗日乘子和量化参数。本发明的码率控制直接有效、视频质量回归迅速且无振荡。

Description

一种恒定视频质量的码率控制方法及装置
技术领域
本发明涉及一种视频编码技术,特别是涉及一种恒定视频质量的、自适应可变码率的码率控制方法。
背景技术
视频编码是通过压缩视频图像中的冗余成分,并使用尽可能少的数据来表征视频信息的技术。常见的视频编码标准有HEVC(High Efficiency Video Coding,高效率视频编码,又称H.265)、AVC(Advanced Video Coding,高级视频编码,又称H.264)等。
视频编码技术以图像块作为最基本的编码单元。例如在HEVC中,视频编码的基本单元是CU(Coding Unit,编码单元)。CU可以是64像素×64像素、32像素×32像素、16像素×16像素、8像素×8像素尺寸的图像块。其中64像素×64像素尺寸的图像块又称为LCU(Largest Coding Unit,最大编码单元)。
为了尽可能提高视频压缩率,常见的视频编码算法往往采用有损压缩算法,造成编码重建后的视频与原始视频存在差别(产生失真)。HEVC和AVC都属于有损压缩算法。有损压缩算法的编码性能由编码比特率(Rate)和编码引入的失真(Distortion)来共同衡量。在视频编码过程中,编码比特率R和编码失真D是相互制约、相互矛盾的,降低编码比特率R往往会增加编码失真D,减少编码失真D往往会增加编码比特率R。率失真优化(RateDistortion Optimization,RDO)就是为了在一定的编码比特率R下尽可能减少编码失真D,或者在一定的编码失真D下尽可能减少编码比特率R。常见的视频编码算法都采用基于拉格朗日乘子(Lagrange multiplier)λ的率失真优化方法,该方法就是取得最小的编码率失真代价(Rate Distortion Cost,RD Cost)J,J=D+λ×R。
在视频编码时,每一种编码模式都有编码失真D和编码比特率R,可计算出每一种编码模式的编码率失真代价J。视频编码时,选择编码率失真代价J最小的编码模式来进行编码,可以获得最优的编码性能。编码器通过率失真优化的方法为每一个待编码图像块选择最优的编码模式的过程,称为待编码图像块的模式选择(Mode Decision)。
在实际生活中,用来传输视频的信道带宽容量是有限的。如果视频的编码比特率过高,超出了信道带宽容量,就会造成视频传输拥塞甚至丢包。如果视频的编码比特率过低,又会导致信道带宽没有得到充分利用,也无法获得更高视频质量。因此,有必要使用码率控制技术对视频编码器的输出码率进行控制,使之与信道带宽容量相匹配。
码率控制(Rate Control)是通过调整视频编码器的编码参数,使视频编码器的输出码率等于预先设置的目标码率,同时尽可能减少编码失真以提升视频编码质量。在常见的码率控制算法中,一般通过目标比特分配和目标比特控制两个环节来实现码率控制任务。
目标比特分配环节一般在三个层次进行,分别是GOP(图像组,即一组时间连续的视频帧的集合)级别、视频帧级别、图像块级别。GOP级别的目标比特分配是根据视频的目标编码比特率得到GOP的目标编码比特数。视频帧级别的目标比特分配是根据GOP的目标编码比特数得到该GOP内各视频帧的目标编码比特数。图像块级别的目标比特分配是根据视频帧的目标编码比特数、以及该视频帧内各图像块的比特分配权重得到该视频帧内各图像块的目标编码比特数。
目标比特控制环节一般在视频帧级别和图像块级别进行。在视频帧级别,根据视频帧的目标编码比特数计算视频帧级别的拉格朗日乘子λ和量化参数(quantizationparameter)QP。在图像块级别,根据某一个图像块的目标编码比特数、该图像块所属视频帧的视频帧级别的拉格朗日乘子λ和量化参数QP、前一个已编码图像块的图像块级别的拉格朗日乘子λ和量化参数QP计算该图像块的图像块级别的拉格朗日乘子λ和量化参数QP,用于该图像块的视频编码过程。
拉格朗日乘子λ和量化参数QP都分为视频帧级别和图像块级别。在视频帧级别的目标比特分配和目标比特控制环节(即视频帧级别的码率控制)就使用视频帧级别的拉格朗日乘子λ和量化参数QP,在图像块级别的目标比特分配和目标比特控制环节(即图像块级别的码率控制)就使用图像块级别的拉格朗日乘子λ和量化参数QP。视频帧级别的拉格朗日乘子有时简称为视频帧级拉格朗日乘子、帧级拉格朗日乘子、视频帧的拉格朗日乘子。图像块级别的拉格朗日乘子有时简称为图像块级拉格朗日乘子、块级拉格朗日乘子、图像块的拉格朗日乘子。量化参数的简称以此类推。
在常见的CBR(Constant Bit Rate,恒定比特率)码率控制方法中,无论视频帧的内容如何变化,视频帧的编码码率(即编码比特率)都需要维持在一个恒定值上。采用CBR码率控制方法编码后的视频流的码率平稳,非常适合于对视频编码带宽变化敏感的场景,比如实时视频通话。但是在CBR码率控制方法中,由于视频帧的编码码率恒定,当视频帧的内容较简单时(例如视频内容纹理简单或者运动较小),视频编码质量会变得很高,甚至超出用户的需求,造成大量的比特浪费。当视频帧的内容较复杂时(例如视频内容纹理复杂或者运动较大),由于视频帧的编码码率恒定,无法使用更多的比特来进行编码,又会导致视频编码质量大幅降低,无法满足用户的需求。因此CBR码率控制方法虽然可以做到编码码率恒定,但是当视频帧内容发生变化时,视频编码质量也会发生较大波动,影响用户的观看体验。
因此,有必要开发一种恒定视频质量的、可变码率的码率控制方法,能够自动检测视频序列(即多个视频帧的有序排列)的视频编码质量变化,并对视频序列的编码码率进行相应调整,使视频序列的视频编码质量维持在一个可接受的、大致恒定的范围内。当视频序列的视频编码质量过高时降低编码码率,以节省编码比特数;当视频序列的视频编码质量过低时提高编码码率,以提升视频编码质量。
目前,已经有一些恒定视频质量的、可变码率的码率控制方法。例如采用负反馈的方式,在每一个视频帧编码完成时,计算视频帧的编码质量,当视频帧的编码质量超过上限阈值时,调整后续视频帧的编码参数(例如增大视频帧的量化参数QP),使视频序列的编码质量下降。当视频帧的编码质量低于下限阈值时,调整后续视频帧的编码参数(例如减小视频帧的量化参数QP),使视频序列的编码质量上升。这种方案具有如下缺陷:(1)调整周期长。当视频帧的编码质量超出上、下限阈值后,需要在后续较多的视频帧上进行调整才能使视频编码质量恢复正常。(2)调整视频帧的编码参数时,如果调整步长设置不合理,容易产生视频编码质量振荡。
发明内容
本发明所要解决的技术问题是:如何使恒定视频质量的、可变码率的码率控制方法做到调整迅速且不易产生振荡。
为解决上述技术问题,本发明提出了一种恒定视频质量的码率控制方法,包括如下步骤。步骤S1:在前一个视频帧编码完成时,使用其对应的原始视频帧和重建视频帧,计算出其峰值信噪比PSNR。步骤S2:判断前一个已编码视频帧的PSNR是否位于用户预设的PSNR下限阈值PSNRmin到PSNR上限阈值PSNRmax的PSNR阈值范围内;如果否,进入步骤S3;如果是,进入步骤S4。步骤S3:根据视频编码器的编码失真和编码比特率之间的关系模型即R-D模型,利用前后视频帧时域上的相似性,用前一个已编码视频帧的参数代替待编码视频帧的相应参数,预测出能使待编码视频帧的PSNR回归用户预设的PSNR阈值范围内的待编码视频帧的目标编码比特数;后续进入步骤S5。步骤S4:根据用户预设的视频序列的目标码率和码率调整平滑步长,计算出能使视频序列的编码码率维持在用户预设的目标码率的待编码视频帧的目标编码比特数;后续进入步骤S5。步骤S5:根据待编码视频帧的目标编码比特数,对待编码视频帧进行目标比特控制运算,得到待编码视频帧的拉格朗日乘子和量化参数。
进一步地,所述步骤S1中,已编码视频帧的PSNR的计算公式为: 其中,bits是已编码视频帧内部的像素点的比特位宽,MSE是已编码视频帧的均方误差;/>其中,M是视频帧的宽度,N是视频帧的高度,Si,j是已编码视频帧对应的原始视频帧内部的坐标为(i,j)的像素的亮度值,Ri,j是已编码视频帧对应的重建视频帧内部的坐标为(i,j)的像素的亮度值。
进一步地,所述步骤S3中,如果前一个视频帧的PSNR低于用户预设的PSNR下限阈值PSNRmin,则使用PSNRmin作为待编码视频帧的目标PSNR;如果前一个视频帧的PSNR高于用户预设的PSNR上限阈值PSNRmax,则使用PSNRmax作为待编码视频帧的目标PSNR。
进一步地,所述步骤S3中,视频编码器中的每一种编码模式都有其对应的编码失真D和编码比特率R,通过对这些编码失真D和编码比特率R进行曲线拟合,得到视频编码器的R-D模型:D=f(R);其中,函数f()表示编码失真D和编码比特率R之间的关系。
示例性地,所述步骤S3中,HEVC视频编码器的R-D模型为:D=c×R-k;其中,c和k是和视频帧内容相关的模型参数,随着视频序列的编码而不断更新;编码失真D使用MSE来进行表征。
进一步地,所述步骤S3中,前一个已编码视频帧为第n-1帧,用Dn-1表示其编码失真,Rn-1表示其实际编码比特数,cn-1和kn-1分别为其对应的c参数和k参数,则有: 当前待编码视频帧为第n帧,用Dn表示其编码失真,Rn表示其目标编码比特数,cn和kn分别为其对应的c参数和k参数,则有:/>用cn-1近似代替cn,用kn-1近似代替kn,进而有:/>进而得到公式一:对于前一个已编码视频帧,用PSNRn-1表示其PSNR,则有:对于当前待编码视频帧,用PSNRn表示其目标PSNR,则有:得到:/>进而得到公式二:将公式二代入公式一,得到公式三:/> 在公式三中,Rn表示待编码的第n帧要达到目标PSNR时,所需要的目标编码比特数。
进一步地,所述步骤S4中,如果前一个已编码视频帧的PSNR位于用户预设的PSNR阈值范围内,且前一个已编码视频帧的编码码率等于用户预设的视频序列的目标码率BitRatetgt,则当前待编码视频帧的目标编码码率BitRate等于用户预设的视频序列的目标码率BitRatetgt;即:BitRate=BitRatetgt
进一步地,所述步骤S4中,如果前一个已编码视频帧的PSNR位于用户预设的PSNR阈值范围内,但前一个已编码视频帧的编码码率不等于用户预设的视频序列的目标码率BitRatetgt,则当前待编码视频帧的目标编码码率通过如下公式计算;BitRatem表示当视频帧的PSNR回归用户预设的PSNR阈值范围之内以后的第m个视频帧的编码码率;当1≤m≤BitRateStep时,其中,BitRaterec表示从用户预设的PSNR阈值范围之外回归到用户预设的PSNR阈值范围之内过程中的第一个已编码视频帧的编码码率,BitRateStep表示用户设置的码率调整平滑步长;当m>BitRateStep时,BitRatem=BitRatetgt;待编码视频帧属于这m个视频帧中的哪一个,就由相应的BitRatem作为待编码视频帧的目标编码码率BitRate。
进一步地,所述步骤S4中,待编码视频帧的目标编码比特数=待编码视频帧的目标编码码率÷编码帧率。
本发明还提出了一种恒定视频质量的码率控制装置,包括视频帧PSNR计算模块、视频帧PSNR比较模块、视频帧比特预测模块、视频帧比特计算模块、视频帧比特控制模块。所述视频帧PSNR计算模块用来在前一个视频帧编码完成时,使用其对应的原始视频帧和重建视频帧,计算出其峰值信噪比PSNR。所述视频帧PSNR比较模块用来判断前一个已编码视频帧的PSNR是否位于用户预设的PSNR下限阈值PSNRmin到PSNR上限阈值PSNRmax的PSNR阈值范围内;如果否,后续交由视频帧比特预测模块处理;如果是,后续交由视频帧比特计算模块处理。所述视频帧比特预测模块用来根据视频编码器的编码失真和编码比特率之间的关系模型即R-D模型,利用前后视频帧的参数代替,预测出能使待编码视频帧的PSNR回归预设的PSNR阈值范围内的待编码视频帧的目标编码比特数;后续交由视频帧比特控制模块处理。所述视频帧比特计算模块用来根据用户预设的视频序列的目标码率和码率调整平滑步长,计算出能使视频序列的编码码率维持在用户预设的目标码率的待编码视频帧的目标编码比特数;后续交由视频帧比特控制模块处理。所述视频帧比特控制模块用来根据待编码视频帧的目标编码比特数,对待编码视频帧进行目标比特控制运算,得到待编码视频帧的拉格朗日乘子和量化参数。
本发明取得的技术效果是:码率控制直接有效、视频质量回归迅速且无振荡。
附图说明
图1是本发明提出的恒定视频质量的码率控制方法的流程示意图。
图2是本发明提出的恒定视频质量的码率控制装置的结构示意图。
图中附图标记说明:1为视频帧PSNR计算模块、2为视频帧PSNR比较模块、3为视频帧比特预测模块、4为视频帧比特计算模块、5为视频帧比特控制模块。
具体实施方式
请参阅图1,本发明提出的恒定视频质量的码率控制方法包括如下步骤。
步骤S1:在前一个视频帧编码完成时,使用其对应的原始视频帧和重建视频帧,计算出所述前一个视频帧的PSNR(Peak Signal-to-Noise Ratio,峰值信噪比)。原始视频帧是指已编码视频帧在编码之前的状态。重建视频帧是指对已编码视频帧进行解码得到的视频帧。由于视频编码过程是有损压缩的过程,因此和原始视频帧相比,重建视频帧中存在着编码引入的失真。
在视频编码领域,视频帧的编码质量一般使用PSNR来表示。已编码视频帧的均方误差(Mean Square Error,MSE)的计算公式为:其中,M是视频帧的宽度(以像素点为单位),N是视频帧的高度(以像素点为单位),Si,j是已编码视频帧对应的原始视频帧内部的坐标为(i,j)的像素的亮度值,Ri,j是已编码视频帧对应的重建视频帧内部的坐标为(i,j)的像素的亮度值。已编码视频帧的PSNR的计算公式为:/> 其中,bits是已编码视频帧内部的像素点的比特位宽。
步骤S2:将前一个已编码视频帧的PSNR与用户预设的PSNR上限阈值PSNRmax和PSNR下限阈值PSNRmin进行比较,判断前一个已编码视频帧的PSNR是否位于用户预设的从PSNRmin到PSNRmax的PSNR阈值范围内。如果否,进入步骤S3。如果是,进入步骤S4。
步骤S3:当前一个已编码视频帧的PSNR超出了用户预设的PSNR阈值范围,即<PSNRmin或>PSNRmax,根据视频编码器的R-D模型(编码失真D和编码比特率R之间的关系模型),利用前后视频帧时域上的相似性,用前一个已编码视频帧的参数代替待编码视频帧的相应参数,预测出能使待编码视频帧的PSNR回归用户预设的PSNR阈值范围内的待编码视频帧的目标编码比特数。后续进入步骤S5。
在视频编码器中,每一种编码模式都有其对应的编码失真D和编码比特率R,通过对这些编码失真D和编码比特率R进行曲线拟合,就可以得到视频编码器的“比特率-失真”关系模型,即R-D模型:D=f(R)。其中,函数f()表示编码失真D和编码比特率R之间的关系。例如,对于HEVC视频编码器,其R-D模型为:D=c×R-k。其中,c和k是和视频帧内容相关的模型参数,随着视频序列的编码而不断更新。编码失真D使用MSE来进行表征。
这一步中,利用视频编码器的R-D模型,使用一系列公式推导过程,预测出使待编码视频帧的PSNR回归用户预设的PSNR阈值范围内的目标编码比特数。为了描述方便,后文以HEVC视频编码器为例(即使用HEVC视频编码器的R-D模型)来进行推导。
假设前一个已编码视频帧为第n-1帧,用Dn-1表示其编码失真(使用MSE表征),Rn-1表示其实际编码比特数,cn-1和kn-1分别为其对应的c参数和k参数,则有: 对于当前待编码视频帧(即第n帧),用Dn表示其编码失真(使用MSE表征),Rn表示其目标编码比特数,cn和kn分别为其对应的c参数和k参数,则有:/> 对于当前待编码视频帧,由于还没有开始对其进行编码,其cn、kn参数是未知的。但是在视频序列中,由于连续视频帧时域上的相关性(连续的视频帧,在内容上是相似的),可以近似认为当前待编码视频帧与前一个已编码视频帧的内容是高度相似的,因此和视频帧内容高度相关的c参数和k参数也是高度相似的。因此,本发明中用cn-1近似代替cn,用kn-1近似代替kn,进而有:/>进而可以得到公式一:/>在公式一中,由于第n-1帧已经完成编码,因此Dn-1、Rn-1和kn-1都是已知的。由于第n帧还未开始编码,因此Dn和Rn是未知的。
这一步中,如果前一个视频帧的PSNR低于用户预设的PSNR下限阈值PSNRmin,则使用PSNRmin作为待编码视频帧的目标PSNR。如果前一个视频帧的PSNR高于用户预设的PSNR上限阈值PSNRmax,则使用PSNRmax作为待编码视频帧的目标PSNR。这样,如果为待编码视频帧分配的目标编码比特数可以使待编码视频帧的PSNR达到目标PSNR,就可以使待编码视频帧的PSNR回归用户预设的PSNR阈值范围内。
对于前一个已编码视频帧(第n-1帧),用PSNRn-1表示其PSNR,则有: 对于当前待编码视频帧(第n帧),用PSNRn表示其目标PSNR,则有:这样可以得到:/>进而可以得到公式二:/>
将公式二代入公式一,可以得到公式三:在公式三中,Rn-1、kn-1和PSNRn-1是已编码的第n-1帧的参数,是已知的量。PSNRn表示待编码的第n帧的目标PSNR,是已知的量。Rn表示待编码的第n帧要达到目标PSNR时,所需要的目标编码比特数,是未知的量,也是需要求取的量。在公式三中,由于只有Rn一个未知数,因此Rn是可以求解的。
这一步中,通过公式一、公式二、公式三的推导过程,预测得到的待编码视频帧的目标编码比特数Rn,即是当期望待编码视频帧达到目标PSNR时所需要分配的目标编码比特数。在这个过程中,利用连续视频帧时域上的相关性对运算过程的简化处理,以及利用公式一、公式二、公式三对待编码视频帧的目标编码比特数的推导过程,属于本发明的创新。
需要说明的是,对于不同的视频编码器(例如采用了AVC视频编码标准的视频编码器),其R-D模型一般与HEVC视频编码器的R-D模型不同,即D=f(R)中函数f的表达形式不同。即便如此,采用本发明的思路,仍然可以采用其对应的R-D模型推导并预测出当期望待编码视频帧达到目标PSNR时所需要分配的目标编码比特数。因此本发明不仅适用于HEVC视频编码器,也适用于采用其他视频编码标准的视频编码器。
步骤S4:当前一个已编码视频帧的PSNR位于用户预设的PSNR阈值范围内,即≥PSNRmin且≤PSNRmax,根据用户预设的视频序列的目标码率(即目标编码比特率)和码率调整平滑步长,计算出能使视频序列的编码码率维持在用户预设的目标码率的待编码视频帧的目标编码比特数。后续进入步骤S5。
这一步分为两种情况分别进行处理。为了描述方便,用BitRatetgt表示用户预设的视频序列的目标码率,BitRate表示当前待编码视频帧的目标编码码率(即目标编码比特率)。
情况一:前一个已编码视频帧的PSNR位于用户预设的PSNR阈值范围内,且前一个已编码视频帧的编码码率等于用户预设的视频序列的目标码率。这种情况下,直接令待编码视频帧的目标编码码率等于用户预设的视频序列的目标码率。即:BitRate=BitRatetgt
情况二:前一个已编码视频帧的PSNR位于用户预设的PSNR阈值范围内,但前一个已编码视频帧的编码码率不等于用户预设的视频序列的目标码率。这种情况一般会在视频帧的PSNR从用户预设的PSNR阈值范围之外回归到用户预设的PSNR阈值范围之内时发生。这种情况下,待编码视频帧的目标编码码率通过如下公式计算。BitRatem表示当视频帧的PSNR回归用户预设的PSNR阈值范围之内以后的第m个视频帧的编码码率。当1≤m≤BitRateStep时,BitRatem需要由BitRatetgt、BitRaterec、BitRateStep共同计算得到, 其中,BitRaterec表示从用户预设的PSNR阈值范围之外回归到用户预设的PSNR阈值范围之内过程中的第一个已编码视频帧(即前一帧的PSNR在用户预设的PSNR阈值范围之外,这一帧的PSNR回归到用户预设的PSNR阈值范围之内)的编码码率。BitRateStep表示用户设置的码率调整平滑步长,其物理意义是,当视频帧的PSNR回归用户预设的PSNR阈值范围之内后,后续几个连续的视频帧的视频编码码率需要从BitRaterec逐步调整到用户预设的目标码率BitRatetgt。BitRateStep的取值即是这几个用于平滑视频编码质量的连续视频帧的个数。当m>BitRateStep时,BitRatem=BitRatetgt。待编码视频帧属于这m个视频帧中的哪一个,就由相应的BitRatem作为待编码视频帧的目标编码码率BitRate。例如,当m=1时,代表的就是当视频帧的PSNR回归用户预设的PSNR阈值范围之内以后的第1个视频帧。
这一步分以上两种情况计算出待编码视频帧的目标编码码率后,根据下式计算出待编码视频帧的目标编码比特数:待编码视频帧的目标编码比特数=待编码视频帧的目标编码码率÷编码帧率。
步骤S5:根据步骤S3预测得到的、或者步骤S4计算得到的待编码视频帧的目标编码比特数,对待编码视频帧进行目标比特控制运算,得到待编码视频帧的拉格朗日乘子和量化参数,用于待编码视频帧的实际编码过程。目标比特控制运算的算法可以有多种选择,比如JCTVC-K0103提案等,这里不再赘述。
请参阅图2,本发明提出的恒定视频质量的码率控制装置包括视频帧PSNR计算模块1、视频帧PSNR比较模块2、视频帧比特预测模块3、视频帧比特计算模块4、视频帧比特控制模块5。图2所示装置对应于图1所示方法。
所述视频帧PSNR计算模块1用来在前一个视频帧编码完成时,使用其对应的原始视频帧和重建视频帧,计算出所述前一个视频帧的PSNR。
所述视频帧PSNR比较模块2用来判断前一个已编码视频帧的PSNR是否位于用户预设的从PSNRmin到PSNRmax的PSNR阈值范围内。如果否,后续交由视频帧比特预测模块3处理。如果是,后续交由视频帧比特计算模块4处理。
所述视频帧比特预测模块3用来根据视频编码器的R-D模型,利用前后视频帧的参数代替,预测出能使待编码视频帧的PSNR回归预设的PSNR阈值范围内的待编码视频帧的目标编码比特数。后续交由视频帧比特控制模块5处理。
所述视频帧比特计算模块4用来根据用户预设的视频序列的目标码率和码率调整平滑步长,计算出能使视频序列的编码码率维持在用户预设的目标码率的待编码视频帧的目标编码比特数。后续交由视频帧比特控制模块5处理。
所述视频帧比特控制模块5用来根据视频帧比特预测模块3预测得到的、或者视频帧比特计算模块4计算得到的待编码视频帧的目标编码比特数,对待编码视频帧进行目标比特控制运算,得到待编码视频帧的拉格朗日乘子和量化参数,用于待编码视频帧的实际编码过程。
本发明提出了一种恒定视频质量的、自适应可变码率的码率控制方法。本发明提出的方法,能够自动检测已编码视频帧的PSNR,并在视频帧的PSNR超出用户预设的PSNR阈值范围时,依据视频编码器的R-D模型,利用前后视频帧时域上的相似性,预测出待编码视频帧的目标编码比特数,使待编码视频帧的PSNR回归用户预设的PSNR阈值范围,从而使视频序列的视频质量维持在用户期望的视频质量范围内。
相比于其他的恒定视频质量的可变码率的码率控制方法,本发明提出的方法具有码率控制直接有效、视频质量回归迅速无振荡的优点。在本发明中,通过引入视频编码器的R-D模型,利用前后视频帧时域上的相似性,直接预测出期望达到目标PSNR时待编码视频帧的目标编码比特数,调整准确迅速。经过实验验证,大多数情况下经过一帧的调整周期就可以使视频帧的PSNR回归预设范围。而在现有方法中,一般采用负反馈的方式进行控制,当已编码视频帧的编码质量超过预设的PSNR范围时,调整后续待编码视频帧的编码参数以使PSNR回归预设范围。在调整编码器的参数时,一般是通过经验值来进行调整,并且需要在每一次调整后监测调整效果,根据调整结果的不同来调节下一次调整的参数。由于每一次视频编码的编码配置参数、视频内容都可能不同,采用经验值调整的方式很容易使调整的力度过大或者过小。如果调整力度过大,就容易产生振荡;如果调整力度过小,则调整周期长。换句话说,传统的方法是使用“尝试”的方式在进行调整,调整之前无法知道调整的力度是否合适,只有调整了以后才能知道;而本发明的方法,在调整之前就已经依据R-D模型预测得到所需要的准确的调整力度,调整效果几乎是一步到位的。
以上仅为本发明的优选实施例,并不用于限定本发明。对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种恒定视频质量的码率控制方法,其特征是,包括如下步骤;
步骤S1:在前一个视频帧编码完成时,使用其对应的原始视频帧和重建视频帧,计算出其峰值信噪比PSNR;
步骤S2:判断前一个已编码视频帧的PSNR是否位于用户预设的PSNR下限阈值PSNRmin到PSNR上限阈值PSNRmax的PSNR阈值范围内;如果否,进入步骤S3;如果是,进入步骤S4;
步骤S3:根据视频编码器的编码失真和编码比特率之间的关系模型即R-D模型,利用前后视频帧时域上的相似性,用前一个已编码视频帧的参数代替待编码视频帧的相应参数,预测出能使待编码视频帧的PSNR回归用户预设的PSNR阈值范围内的待编码视频帧的目标编码比特数;后续进入步骤S5;
步骤S4:根据用户预设的视频序列的目标码率和码率调整平滑步长,计算出能使视频序列的编码码率维持在用户预设的目标码率的待编码视频帧的目标编码比特数;后续进入步骤S5;
步骤S5:根据待编码视频帧的目标编码比特数,对待编码视频帧进行目标比特控制运算,得到待编码视频帧的拉格朗日乘子和量化参数。
2.根据权利要求1所述的恒定视频质量的码率控制方法,其特征是,所述步骤S1中,已编码视频帧的PSNR的计算公式为:其中,bits是已编码视频帧内部的像素点的比特位宽,MSE是已编码视频帧的均方误差;/>其中,M是视频帧的宽度,N是视频帧的高度,Si,j是已编码视频帧对应的原始视频帧内部的坐标为(i,j)的像素的亮度值,Ri,j是已编码视频帧对应的重建视频帧内部的坐标为(i,j)的像素的亮度值。
3.根据权利要求1所述的恒定视频质量的码率控制方法,其特征是,所述步骤S3中,如果前一个视频帧的PSNR低于用户预设的PSNR下限阈值PSNRmin,则使用PSNRmin作为待编码视频帧的目标PSNR;如果前一个视频帧的PSNR高于用户预设的PSNR上限阈值PSNRmax,则使用PSNRmax作为待编码视频帧的目标PSNR。
4.根据权利要求3所述的恒定视频质量的码率控制方法,其特征是,所述步骤S3中,视频编码器中的每一种编码模式都有其对应的编码失真D和编码比特率R,通过对这些编码失真D和编码比特率R进行曲线拟合,得到视频编码器的R-D模型:D=f(R);其中,函数f()表示编码失真D和编码比特率R之间的关系。
5.根据权利要求4所述的恒定视频质量的码率控制方法,其特征是,所述步骤S3中,HEVC视频编码器的R-D模型为:D=c×R-k;其中,c和k是和视频帧内容相关的模型参数,随着视频序列的编码而不断更新;编码失真D使用MSE来进行表征。
6.根据权利要求5所述的恒定视频质量的码率控制方法,其特征是,所述步骤S3中,前一个已编码视频帧为第n-1帧,用Dn-1表示其编码失真,Rn-1表示其实际编码比特数,cn-1和kn-1分别为其对应的c参数和k参数,则有:当前待编码视频帧为第n帧,用Dn表示其编码失真,Rn表示其目标编码比特数,cn和kn分别为其对应的c参数和k参数,则有:用cn-1近似代替cn,用kn-1近似代替kn,进而有:/>进而得到公式一:/>
对于前一个已编码视频帧,用PSNRn-1表示其PSNR,则有: 对于当前待编码视频帧,用PSNRn表示其目标PSNR,则有:/> 得到:/>进而得到公式二:/>
将公式二代入公式一,得到公式三:在公式三中,Rn表示待编码的第n帧要达到目标PSNR时,所需要的目标编码比特数。
7.根据权利要求1所述的恒定视频质量的码率控制方法,其特征是,所述步骤S4中,如果前一个已编码视频帧的PSNR位于用户预设的PSNR阈值范围内,且前一个已编码视频帧的编码码率等于用户预设的视频序列的目标码率BitRatetgt,则当前待编码视频帧的目标编码码率BitRate等于用户预设的视频序列的目标码率BitRatetgt;即:BitRate=BitRatetgt
8.根据权利要求1所述的恒定视频质量的码率控制方法,其特征是,所述步骤S4中,如果前一个已编码视频帧的PSNR位于用户预设的PSNR阈值范围内,但前一个已编码视频帧的编码码率不等于用户预设的视频序列的目标码率BitRatetgt,则当前待编码视频帧的目标编码码率通过如下公式计算;BitRatem表示当视频帧的PSNR回归用户预设的PSNR阈值范围之内以后的第m个视频帧的编码码率;当1≤m≤BitRateStep时, 其中,BitRaterec表示从用户预设的PSNR阈值范围之外回归到用户预设的PSNR阈值范围之内过程中的第一个已编码视频帧的编码码率,BitRateStep表示用户设置的码率调整平滑步长;当m>BitRateStep时,BitRatem=BitRatetgt;待编码视频帧属于这m个视频帧中的哪一个,就由相应的BitRatem作为待编码视频帧的目标编码码率BitRate。
9.根据权利要求7或8所述的恒定视频质量的码率控制方法,其特征是,所述步骤S4中,待编码视频帧的目标编码比特数=待编码视频帧的目标编码码率÷编码帧率。
10.一种恒定视频质量的码率控制装置,其特征是,包括视频帧PSNR计算模块、视频帧PSNR比较模块、视频帧比特预测模块、视频帧比特计算模块、视频帧比特控制模块;
所述视频帧PSNR计算模块用来在前一个视频帧编码完成时,使用其对应的原始视频帧和重建视频帧,计算出其峰值信噪比PSNR;
所述视频帧PSNR比较模块用来判断前一个已编码视频帧的PSNR是否位于用户预设的PSNR下限阈值PSNRmin到PSNR上限阈值PSNRmax的PSNR阈值范围内;如果否,后续交由视频帧比特预测模块处理;如果是,后续交由视频帧比特计算模块处理;
所述视频帧比特预测模块用来根据视频编码器的编码失真和编码比特率之间的关系模型即R-D模型,利用前后视频帧的参数代替,预测出能使待编码视频帧的PSNR回归预设的PSNR阈值范围内的待编码视频帧的目标编码比特数;后续交由视频帧比特控制模块处理;
所述视频帧比特计算模块用来根据用户预设的视频序列的目标码率和码率调整平滑步长,计算出能使视频序列的编码码率维持在用户预设的目标码率的待编码视频帧的目标编码比特数;后续交由视频帧比特控制模块处理;
所述视频帧比特控制模块用来根据待编码视频帧的目标编码比特数,对待编码视频帧进行目标比特控制运算,得到待编码视频帧的拉格朗日乘子和量化参数。
CN202310875692.3A 2023-07-17 2023-07-17 一种恒定视频质量的码率控制方法及装置 Pending CN117014613A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310875692.3A CN117014613A (zh) 2023-07-17 2023-07-17 一种恒定视频质量的码率控制方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310875692.3A CN117014613A (zh) 2023-07-17 2023-07-17 一种恒定视频质量的码率控制方法及装置

Publications (1)

Publication Number Publication Date
CN117014613A true CN117014613A (zh) 2023-11-07

Family

ID=88573718

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310875692.3A Pending CN117014613A (zh) 2023-07-17 2023-07-17 一种恒定视频质量的码率控制方法及装置

Country Status (1)

Country Link
CN (1) CN117014613A (zh)

Similar Documents

Publication Publication Date Title
US11159801B2 (en) Video characterization for smart encoding based on perceptual quality optimization
EP1745653B1 (en) Encoder with adaptive rate control for h.264
US8891619B2 (en) Rate control model adaptation based on slice dependencies for video coding
Wang et al. Rate-distortion optimization of rate control for H. 264 with adaptive initial quantization parameter determination
JP4390112B2 (ja) ビデオシーケンスのレートを制御する方法及び装置並びにビデオ符号化装置
KR100471956B1 (ko) 화상압축부호화장치및방법
EP1639801A2 (en) Multipass video rate control to match sliding window channel constraints
CN108989818B (zh) 一种图像编码参数调整方法及装置
CN112788335B (zh) 一种适用于实时视频传输的h.264帧级码率控制方法
JP5649296B2 (ja) 画像符号化装置
Sun et al. Adaptive bit allocation scheme for rate control in high efficiency video coding with initial quantization parameter determination
CN117014613A (zh) 一种恒定视频质量的码率控制方法及装置
Zhao et al. An SSIM-motivated LCU-level rate control algorithm for HEVC
Lee et al. A rate control algorithm for DCT-based video coding using simple rate estimation and linear source model
Su et al. Real-time video coding under power constraint based on H. 264 codec
KR100930344B1 (ko) 초기 양자화 파라미터 결정 방법
Tsai Rate control for low-delay video using a dynamic rate table
KR100949755B1 (ko) 비디오 시퀀스의 레이트를 제어하는 방법 및 장치, 비디오부호화 장치
CN116896636A (zh) 一种自适应可变码率的码率控制方法及装置
Kumar et al. A Novel Two Pass Rate Control Scheme for Variable Bit Rate Video Streaming
JP2008078978A (ja) 動画像符号化装置
CN116437092A (zh) 一种避免产生超大i帧的码率控制方法及装置
Xie et al. A novel parallel-friendly rate control scheme for HEVC
CN116866588A (zh) 一种抑制超大i帧的码率控制方法及装置
Sun et al. A novel incremental rate control scheme for H. 264 video coding

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination