CN107087192A - 目标码率调整方法及装置 - Google Patents
目标码率调整方法及装置 Download PDFInfo
- Publication number
- CN107087192A CN107087192A CN201610086704.4A CN201610086704A CN107087192A CN 107087192 A CN107087192 A CN 107087192A CN 201610086704 A CN201610086704 A CN 201610086704A CN 107087192 A CN107087192 A CN 107087192A
- Authority
- CN
- China
- Prior art keywords
- sub
- images
- code rate
- image
- target code
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 239000013598 vector Substances 0.000 claims abstract description 79
- 238000012986 modification Methods 0.000 claims description 8
- 230000004048 modification Effects 0.000 claims description 8
- 238000006073 displacement reaction Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000000007 visual effect Effects 0.000 description 7
- 230000002123 temporal effect Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
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/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/154—Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
-
- 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/513—Processing of motion vectors
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种目标码率调整方法,所述目标码率调整方法包括:将待编码的图像帧划分为多个第一子图像,并按照各所述第一子图像的运动矢量值对多个所述第一子图像进行分类,计算各类第一子图像的峰值信噪比PSNR值;计算各类第一子图像的PSNR值的平均值μ,以及计算各类第一子图像的PSNR值的标准方差σ,对σ与μ的比值采用预设修正参数修正后作为编码的波动强度;根据所述波动强度与第一预设阈值的大小关系调整编码的目标码率,其中,当所述波动强度大于第一预设阈值时,增大编码的目标码率;当所述波动强度小于第一预设阈值时,减小编码的目标码率。本发明还公开了一种目标码率调整装置。本发明能够提高选取的目标码率的准确度。
Description
技术领域
本发明涉及视频编码技术领域,尤其涉及一种目标码率调整方法及装置。
背景技术
在视频编码的可变码率控制中,目标码率的选取是一个重要的环节,直接关系到画面视觉质量的好坏。现有技术中,通常基于网络带宽控制编码的目标码率,以获得视觉质量和带宽使用之间的平衡,具体的,码率控制器基于网络带宽设置假想参考解码缓冲区的容量反馈数值,用于计算和分配编码的目标码率,以尽可能地保持平稳的视频输出流,并在最小码率下提供最小失真的视频图像解码视觉质量。但是,由于现有技术基于假想参考解码缓冲区的容量进行编码的目标码率的选取,存在选取的目标码率不够准确的问题。
发明内容
本发明的主要目的在于提供一种目标码率调整方法及装置,旨在提高选取的目标码率的准确度。
为实现上述目的,本发明提供一种目标码率调整方法,所述目标码率调整方法包括:
将待编码的图像帧划分为多个第一子图像,并按照各所述第一子图像的运动矢量值对多个所述第一子图像进行分类,计算各类第一子图像的峰值信噪比PSNR值;
计算各类第一子图像的PSNR值的平均值μ,以及计算各类第一子图像的PSNR值的标准方差σ,对σ与μ的比值采用预设修正参数修正后作为编码的波动强度;
根据所述波动强度与第一预设阈值的大小关系调整编码的目标码率,其中,
当所述波动强度大于第一预设阈值时,增大编码的目标码率;
当所述波动强度小于第一预设阈值时,减小编码的目标码率。
优选地,所述根据所述波动强度与第一预设阈值的大小关系调整编码的目标码率的步骤之前,还包括:
记录当前计算的波动强度,并在记录的波动强度的数量达到第二预设阈值时,计算记录的波动强度的平均值;
将编码的所述波动强度更新为计算的所述平均值。
优选地,所述将待编码的图像帧划分为多个第一子图像,并按照各所述第一子图像的运动矢量值对多个所述第一子图像进行分类,计算各类第一子图像的PSNR值的步骤包括:
将待编码的图像帧划分为多个第一子图像,计算待编码的所述图像帧各所述第一子图像相对于相邻图像帧的运动矢量值,按照各所述第一子图像的运动矢量值所在的矢量值区间对多个所述第一子图像进行分类;
按照与待编码的所述图像帧相同的划分方式将待编码的所述图像帧的重构图像帧划分为多个第二子图像,计算各所述第一子图像以及各所述第一子图像对应的第二子图像之间的均方误差;
基于各所述均方误差计算各类第一子图像的PSNR值。
优选地,其特征在于,所述根据所述波动强度与第一预设阈值的大小关系调整编码的目标码率的步骤之后,还包括:
基于当前的网络带宽对调整后的所述目标码率进行修正,以采用修正后的目标码率进行编码。
优选地,所述基于当前的网络带宽对调整后的所述目标码率进行修正的步骤包括:
判断当前的网络带宽是否大于调整后的所述目标码率;
在当前的网络带宽小于调整后的所述目标码率时,将所述网络带宽作为修正后的所述目标码率。
此外,为实现上述目的,本发明还提供了一种目标码率调整装置,所述目标码率调整装置包括:
第一计算模块,用于将待编码的图像帧划分为多个第一子图像,并按照各所述第一子图像的运动矢量值对多个所述第一子图像进行分类,计算各类第一子图像的峰值信噪比PSNR值;
第二计算模块,用于计算各类第一子图像的PSNR值的平均值μ,以及计算各类第一子图像的PSNR值的标准方差σ,对σ与μ的比值采用预设修正参数修正后作为编码的波动强度;
调整模块,用于根据所述波动强度与第一预设阈值的大小关系调整编码的目标码率,其中,
当所述波动强度大于第一预设阈值时,增大编码的目标码率;
当所述波动强度小于第一预设阈值时,减小编码的目标码率。
优选地,所述目标码率调整装置还包括:
记录模块,用于记录当前计算的波动强度,并在记录的波动强度的数量达到第二预设阈值时,计算记录的波动强度的平均值;
更新模块,用于将编码的所述波动强度更新为计算的所述平均值。
优选地,所述第一计算模块包括:
分类单元,用于将待编码的图像帧划分为多个第一子图像,计算待编码的所述图像帧各所述第一子图像相对于相邻图像帧的运动矢量值,按照各所述第一子图像的运动矢量值所在的矢量值区间对多个所述第一子图像进行分类;
计算单元,用于按照与待编码的所述图像帧相同的划分方式将待编码的所述图像帧的重构图像帧划分为多个第二子图像,计算各所述第一子图像以及各所述第一子图像对应的第二子图像之间的均方误差;以及基于各所述均方误差计算各类第一子图像的PSNR值。
优选地,所述目标码率调整装置还包括修正模块,用于基于当前的网络带宽对调整后的所述目标码率进行修正,以采用修正后的目标码率进行编码。
优选地,所述修正模块还用于判断当前的网络带宽是否大于调整后的所述目标码率;以及在当前的网络带宽小于调整后的所述目标码率时,将所述网络带宽作为修正后的所述目标码率。
本发明通过将待编码的图像帧划分为多个第一子图像,并按照各所述第一子图像的运动矢量值对多个所述第一子图像进行分类,计算各类第一子图像的峰值信噪比PSNR值,再对各类第一子图像的PSNR值的标准方差σ以及平均值μ的比值采用预设修正参数修正后作为编码的波动强度,得到的波动强度包括了图像帧的重构失真以及运动补偿的特征。本领域技术人员可以理解的是,当波动强度在编码过程中增大时,基于邻近图像帧的时域相关性,所述待编码的图像帧的下一待编码的图像帧需要更多的比特进行描述(即编码),因此,相较于现有技术通过假想值选取目标码率,本发明通过波动强度实时进行编码的目标码率的调整,能够更准确的反映编码需要的比特,提高选取的目标码率的准确度。
附图说明
图1为本发明目标码率调整方法第一实施例的流程示意图;
图2为本发明目标码率调整方法第一实施例中的运动补偿示意图;
图3为本发明目标码率调整方法第一实施例中的目标码率调整的实测图;
图4为图1中计算各类第一子图像的PSNR值的细化流程示意图;
图5为本发明目标码率调整方法第三实施例中的第一子图像的运动矢量分布图;
图6为本发明目标码率调整装置第一实施例的功能模块示意图;
图7为图6中第一计算模块的细化功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种目标码率调整方法,参照图1,在本发明目标码率调整方法的第一实施例中,所述目标码率调整方法包括:
步骤S10,将待编码的图像帧划分为多个第一子图像,并按照各所述第一子图像的运动矢量值对多个所述第一子图像进行分类,计算各类第一子图像的峰值信噪比PSNR值;
本实施例提出的目标码率调整方法可以应用于流媒体的视频编码控制中,例如,在编码时,通过运动补偿矢量计算,并结合重构图像帧的失真统计来进行编码的目标码率的选取,以准确的选取合适的目标码率,在保证视频质量的同时降低对网络带宽的占用。
众所周知的,一个连续的视频是由一系列的图像帧组成的。为方便计算,在本实施例中,将待编码的图像帧划分为多个呈正方形的第一子图像,本领域技术人员可以理解的是,在其他实施例中,可以按实际需要选择划分第一子图像的形状,例如,可以将所述图像帧划分为多个呈长方形的第一子图像。具体的,划分得到第一子图像的个数取决于第一子图像的大小,以所述图像帧的像素点宽为W、像素点高为H,第一子图像的大小为n*n为例,划分得到第一子图像的个数N=WB×HB,其中为上取整运算。优选地,为了提升处理的速度,可以将第一子图像的大小设为64*64。
在将所述图像帧划分为多个第一子图像之后,计算各所述第一子图像的运动矢量值,并按照各所述第一子图像的运动矢量值对多个所述第一子图像进行分类,即按照各所述第一子图像的运动矢量值所在的矢量值区间对多个所述第一子图像进行分类。其中,本领域技术人员可以理解的是,运动矢量值能够直接反应出图像的波动强度。
需要说明的是,在视频编码中,运动图像邻近图像帧的图像内容存在时域相关性。本实施例中,对各所述第一子图像作运动补偿,在所述图像帧的相邻图像帧中寻找其匹配块,并记录其运动矢量MVi,j=(Δx,Δy),为运动矢量值,其中,Δx表示所述第一子图像在x轴方向的位移,Δy表示所述第一子图像在y轴方向的位移。例如,参照图2,在t时刻的图像帧中选中一第一子图像,将在t-1时刻相邻图像帧中进行最小失真搜索,获得最小失真的匹配块,并计算得出前述两个块的矢量距离,如图2中所示MV=(Δx,Δy),进而计算出选中的第一子图像的运动矢量值
此外,本领域技术人员可以理解的是,当前选中的图像帧的相邻图像帧是指选中所述图像帧在帧序列上的前一图像帧。
在完成第一子图像的分类后,计算各类第一子图像的峰值信噪比PSNR(PeakSignal to Noise Ratio,峰值信噪比)值。其中,PSNR是目前最普遍,最广泛使用的一种评价图像的客观标准。
步骤S20,计算各类第一子图像的PSNR值的平均值μ,以及计算各类第一子图像的PSNR值的标准方差σ,对σ与μ的比值采用预设修正参数修正后作为编码的波动强度;
本实施例中,各类第一子图像的PSNR值的平均值各类第一子图像的PSNR值的标准方差
其中,k为整数,每个前述的矢量值区间对应一k值,Pk为各类第一子图像的PSNR值。
在计算得出各类子图像的σ值与μ值之后,将σ与μ的比值使用预设修正参数φ修正后作为编码的波动强度V,即波动强度所述φ值为经验参数,用于对σ与μ的比值进行归一化,提升处理速度,例如,本实施例将φ值设置为100。
此外,为提升处理速度,还可以设置最大k值kmax,并将运动矢量值大于kmax的第一子图像分入kmax区间中,其中,kmax为经验参数,例如,本实施例将kmax设置为9。
步骤S30,根据所述波动强度与第一预设阈值的大小关系调整编码的目标码率,其中,
当所述波动强度大于第一预设阈值时,增大编码的目标码率;
当所述波动强度小于第一预设阈值时,减小编码的目标码率。
本领域技术人员可以理解的是,在视频编码中,波动强度大的图像帧相较于波动强度小的图像帧需要更多的比特进行描述。因此,在本实施例中,在计算得到编码的波动强度V之后,判断所述波动强度V是否大于第一预设阈值,是则增大编码的目标码率,否则减小编码的目标码率。其中,所述第一预设阈值按实际需要进行设置,例如,本实施例将所述第一预设阈值设置为5,本实施例预设有目标码率调整的步长值TBRC,作为每次目标码率调整的基准。
例如,参照图3,提供了本实施例的目标码率调整的实测图,如图3所示,本实施例在编码过程中,实时根据波动强度的变化对目标码率进行调整,以在尽可能低的比特占用下提供最小失真的视频图像视觉解码质量。
此外,当所述波动强度V等于所述预设阈值时,不调整编码的目标码率。
在其他实施例中,还可以设置第一预设阈值区间,并当所述波动强度V大于所述第一预设阈值区间中的最大值时,增大编码的目标码率;当所述波动强度V位于所述第一预设阈值区间内时,不调整;当所述波动强度V小于所述第一预设阈值区间中最小值时,减小编码的目标码率。例如,设置所述第一预设区间为[4,5]。
本实施例提出的目标码率调整方法,将待编码的图像帧划分为多个第一子图像,并按照各所述第一子图像的运动矢量值对多个所述第一子图像进行分类,计算各类第一子图像的峰值信噪比PSNR值,再对各类第一子图像的PSNR值的标准方差σ以及平均值μ的比值采用预设修正参数修正后作为编码的波动强度,得到的波动强度包括了图像帧的重构失真以及运动补偿的特征。本领域技术人员可以理解的是,当波动强度在编码过程中增大时,基于邻近图像帧的时域相关性,所述待编码的图像帧的下一待编码的图像帧需要更多的比特进行描述(即编码),因此,相较于现有技术通过假想值选取目标码率,本发明通过波动强度实时进行编码的目标码率的调整,能够更准确的反映编码需要的比特,提高选取的目标码率的准确度。
进一步的,基于第一实施例,提出本发明目标码率调整方法的第二实施例,在本实施例中,上述步骤S30之前,还包括:
记录当前计算的波动强度,并在记录的波动强度的数量达到第二预设阈值时,计算记录的波动强度的平均值;
将编码的所述波动强度更新为计算的所述平均值,再转入执行上述步骤S30。
本领域技术人员可以理解的是,由于运动图像邻近图像帧的图像内容存在时域相关性,相邻的连续多个图像帧的图像内容往往大致相同,相应的,短时间内编码的波动强度的变化往往可以忽略。即在实际应用中,虽然每编码一帧就计算一次编码的波动强度,但是较长时间才会进行一次目标码率的调整,存在一定处理资源的浪费。因此,在本实施例中,设置一个大小为τ(前述第二预设阈值,具体可按实际需要进行设置)的窗口,每τ帧统计一次窗口内图像帧的平均波动强度,以确定是否进行目标码率的调整。
具体的,每完成一帧待编码的图像帧的编码并计算编码的波动强度之后,记录当次计算的波动强度,并在记录τ个计算的波动强度时,统计一次窗口内图像帧的平均波动强度将编码的波动强度更新为计算的平均波动强度进而进行编码的目标码率的调整,具体可参照前述实施例,此处不再赘述。其中,t为τ的整数倍,t用于表示对应的图像帧在帧序列中的位置。
在其他实施例中,在记录当前计算的波动强度时,还可基于上次计算的波动强度对当前计算的波动强度进行平滑处理,消除编码过程中噪声的影响,具体的,将当前计算的波动强度记录为:a·Vt-1+b·Vt;
其中,a与b为经验参数(例如,本实施例中a取值为0.1,b取值为0.9)Vt-1表示上次计算的波动强度,Vt表示当前计算的波动强度。
本实施例通过间隔一定时间判断是否需要进行目标码率的调整,以及如何调整,在保证选取的目标码率的准确度的基础上,降低了对处理资源的消耗。
进一步的,基于第一实施例,提出本发明目标码率调整方法的第三实施例,参照图4,在本实施例中,上述步骤S10包括:
步骤S101,将待编码的图像帧划分为多个第一子图像,计算待编码的所述图像帧各所述第一子图像相对于相邻图像帧的运动矢量值,按照各所述第一子图像的运动矢量值所在的矢量值区间对多个所述第一子图像进行分类;
众所周知的,一个连续的视频是由一系列的图像帧组成的。为方便计算,在本实施例中,将待编码的图像帧划分为多个呈正方形的第一子图像,本领域技术人员可以理解的是,在其他实施例中,可以按实际需要选择划分第一子图像的形状,例如,可以将所述图像帧划分为多个呈长方形的第一子图像。具体的,划分得到第一子图像的个数取决于第一子图像的大小,以所述图像帧的像素点宽为W、像素点高为H,第一子图像的大小为n*n为例,划分得到第一子图像的个数N=WB×HB,其中为上取整运算。优选地,为了提升处理的速度,可以将第一子图像的大小设为64*64。
在将所述图像帧划分为多个第一子图像之后,计算各所述第一子图像的运动矢量值,并按照各所述第一子图像的运动矢量值对多个所述第一子图像进行分类,即按照各所述第一子图像的运动矢量值所在的矢量值区间对多个所述第一子图像进行分类。其中,本领域技术人员可以理解的是,运动矢量值能够直接反应出图像的波动强度。
需要说明的是,在视频编码中,运动图像邻近图像帧的图像内容存在时域相关性。本实施例中,对各所述第一子图像作运动补偿,在所述图像帧的相邻图像帧中寻找其匹配块,并记录其运动矢量MVi,j=(Δx,Δy),为运动矢量值,其中,Δx表示所述第一子图像在x轴方向的位移,Δy表示所述第一子图像在y轴方向的位移。例如,参照图2,在t时刻的图像帧中选中一第一子图像,将在t-1时刻相邻图像帧中进行最小失真搜索,获得最小失真的匹配块,并计算得出前述两个块的矢量距离,如图2中所示MV=(Δx,Δy),进而计算出选中的第一子图像的运动矢量值计算的所述图像帧的各第一子图像的运动矢量分布如图5所示。
步骤S102,按照与待编码的所述图像帧相同的划分方式将待编码的所述图像帧的重构图像帧划分为多个第二子图像,计算各所述第一子图像以及各所述第一子图像对应的第二子图像之间的均方误差;
本领域技术人员可以理解的是,在帧间预测编码中,编码的下一帧基于当前帧的重构帧进行编码。在本实施例中,按照与待编码的所述图像帧相同的划分方式将待编码的所述图像帧的重构图像帧划分为多个第二子图像,计算各所述第一子图像以及各所述第一子图像对应的第二子图像之间的均方误差,其中,所述第一子图像与其对应的第二子图像之间的均方误差表示第一子图像的标准方差,表示第二子图像标准方差。
步骤S103,基于各所述均方误差计算各类第一子图像的PSNR值。
本实施例中,首先统计各类第一子图像的平均失真其中,为运动矢量大小,k为整数,每个前述的矢量值区间对应一k值。
然后再基于各类第一子图像的平均失真计算各类第一子图像的PSNR值,各类第一子图像的PSNR值其中,bpp表示像素点灰度值用二进制表示时的位数,如在0到255灰度级表示中,bpp的取值为8。
进一步的,基于前述任一实施例,提出本发明目标码率调整方法的第四实施例,在本实施例中,上述步骤S30之后,还包括:
基于当前的网络带宽对调整后的所述目标码率进行修正,以采用修正后的目标码率进行编码。
需要说明的是,本实施例的所述网络带宽是指可供用于编码的视频传输的网络带宽,本领域技术人员可以理解的是,由于网络是动态变化的,而且也存在网络带宽被本地资源抢占的问题,因此,为确保编码的视频的传输流畅性,在本实施例中,首先获取当前可用的网络带宽,并基于获取的所述网络带宽对调整后的所述目标码率进行修正,采用修正后的目标码率进行编码。
进一步的,所述基于当前的网络带宽对调整后的所述目标码率进行修正包括:
判断当前的网络带宽是否大于调整后的所述目标码率;
在当前的网络带宽小于调整后的所述目标码率时,将所述网络带宽作为修正后的所述目标码率。
容易理解的是,当所述网络带宽小于调整后的所述目标码率时,若采用调整后的所述目标码率进行编码,编码后的视频数据将不能流畅的传输至目标终端,导致播放卡顿等问题,影响用户的视觉体验。因此,本实施例中,在当前的网络带宽小于调整后的所述目标码率时,将所述网络带宽作为修正后的所述目标码率,以确保编码后的视频数据能够流畅的传输至目标终端。
进一步的,本发明还提供一种目标码率调整装置,参照图6,在本发明目标码率调整装置的第一实施例中,所述目标码率调整装置包括:
第一计算模块10,将待编码的图像帧划分为多个第一子图像,并按照各所述第一子图像的运动矢量值对多个所述第一子图像进行分类,计算各类第一子图像的峰值信噪比PSNR值;
本实施例提出的目标码率调整装置可以应用于流媒体的视频编码控制中,例如,在编码时,通过运动补偿矢量计算,并结合重构图像帧的失真统计来进行编码的目标码率的选取,以准确的选取合适的目标码率,在保证视频质量的同时降低对网络带宽的占用。
众所周知的,一个连续的视频是由一系列的图像帧组成的。为方便计算,在本实施例中,第一计算模块10将待编码的图像帧划分为多个呈正方形的第一子图像,本领域技术人员可以理解的是,在其他实施例中,可以按实际需要选择划分第一子图像的形状,例如,第一计算模块10可以将所述图像帧划分为多个呈长方形的第一子图像。具体的,第一计算模块10划分得到第一子图像的个数取决于第一子图像的大小,以所述图像帧的像素点宽为W、像素点高为H,第一子图像的大小为n*n为例,划分得到第一子图像的个数N=WB×HB,其中为上取整运算。优选地,为了提升处理的速度,可以将第一子图像的大小设为64*64。
在将所述图像帧划分为多个第一子图像之后,第一计算模块10计算各所述第一子图像的运动矢量值,并按照各所述第一子图像的运动矢量值对多个所述第一子图像进行分类,即按照各所述第一子图像的运动矢量值所在的矢量值区间对多个所述第一子图像进行分类。其中,本领域技术人员可以理解的是,运动矢量值能够直接反应出图像的波动强度。
需要说明的是,在视频编码中,运动图像邻近图像帧的图像内容存在时域相关性。本实施例中,第一计算模块10对各所述第一子图像作运动补偿,在所述图像帧的相邻图像帧中寻找其匹配块,并记录其运动矢量MVi,j=(Δx,Δy),为运动矢量值,其中,Δx表示所述第一子图像在x轴方向的位移,Δy表示所述第一子图像在y轴方向的位移。例如,参照图2,在t时刻的图像帧中选中一第一子图像,将在t-1时刻相邻图像帧中进行最小失真搜索,获得最小失真的匹配块,并计算得出前述两个块的矢量距离,如图2中所示MV=(Δx,Δy),进而计算出选中的第一子图像的运动矢量值
此外,本领域技术人员可以理解的是,当前选中的图像帧的相邻图像帧是指选中所述图像帧的在帧序列上的前一图像帧。
在完成第一子图像的分类后,第一计算模块10计算各类第一子图像的峰值信噪比PSNR(Peak Signal to Noise Ratio,峰值信噪比)值。其中,PSNR是目前最普遍,最广泛使用的一种评价图像的客观标准。
第二计算模块20,用于计算各类第一子图像的PSNR值的平均值μ,以及计算各类第一子图像的PSNR值的标准方差σ,对σ与μ的比值采用预设修正参数修正后作为编码的波动强度;
本实施例中,各类第一子图像的PSNR值的平均值各类第一子图像的PSNR值的标准方差
其中,k为整数,每个前述的矢量值区间对应一k值,Pk为各类第一子图像的PSNR值。
在计算得出各类子图像的σ值与μ值之后,第二计算模块20将σ与μ的比值使用预设修正参数φ修正后作为编码的波动强度V,即波动强度所述φ值为经验参数,用于对σ与μ的比值进行归一化,提升处理速度,例如,本实施例将φ值设置为100。
此外,为提升处理速度,还可以设置最大k值kmax,并将运动矢量值大于kmax的第一子图像分入kmax区间中,其中,kmax为经验参数,例如,本实施例将kmax设置为9。
调整模块30,用于根据所述波动强度与第一预设阈值的大小关系调整编码的目标码率,其中,
当所述波动强度大于第一预设阈值时,增大编码的目标码率;
当所述波动强度小于第一预设阈值时,减小编码的目标码率。
本领域技术人员可以理解的是,在视频编码中,波动强度大的图像帧相较于波动强度小的图像帧需要更多的比特进行描述。因此,在本实施例中,在所述第二计算模块20计算得到编码的编码的波动强度V之后,调整模块30判断所述波动强度V是否大于第一预设阈值,是则增大编码的目标码率,否则减小编码的目标码率。其中,所述第一预设阈值按实际需要进行设置,例如,本实施例将所述第一预设阈值设置为5,本实施例预设有目标码率调整的步长值TBRC,作为每次目标码率调整的基准。
例如,参照图3,提供了本实施例的目标码率调整的实测图,如图3所示,本实施例在编码过程中,实时根据波动强度的变化对目标码率进行调整,以在尽可能低的比特占用下提供最小失真的视频图像视觉解码质量。
此外,当所述波动强度V等于所述预设阈值时,不调整编码的目标码率。
在其他实施例中,还可以设置第一预设阈值区间,并当所述波动强度V大于所述第一预设阈值区间中的最大值时,增大编码的目标码率;当所述波动强度V位于所述第一预设阈值区间内时,不调整;当所述波动强度V小于所述第一预设阈值区间中最小值时,减小编码的目标码率。例如,设置所述第一预设区间为[4,5]。
本实施例提出的目标码率调整装置,将待编码的图像帧划分为多个第一子图像,并按照各所述第一子图像的运动矢量值对多个所述第一子图像进行分类,计算各类第一子图像的峰值信噪比PSNR值,再对各类第一子图像的PSNR值的标准方差σ以及平均值μ的比值采用预设修正参数修正后作为编码的波动强度,得到的波动强度包括了图像帧的重构失真以及运动补偿的特征。本领域技术人员可以理解的是,当波动强度在编码过程中增大时,基于邻近图像帧的时域相关性,所述待编码的图像帧的下一待编码的图像帧需要更多的比特进行描述(即编码),因此,相较于现有技术通过假想值选取目标码率,本发明通过波动强度实时进行编码的目标码率的调整,能够更准确的反映编码需要的比特,提高选取的目标码率的准确度。
进一步的,基于第一实施例,提出本发明目标码率调整装置的第二实施例,在本实施例中,所述目标码率调整装置还包括:
记录模块,用于记录当前计算的波动强度,并在记录的波动强度的数量达到第二预设阈值时,计算记录的波动强度的平均值;
更新模块,用于将编码的所述波动强度更新为计算的所述平均值。
本领域技术人员可以理解的是,由于运动图像邻近图像帧的图像内容存在时域相关性,相邻的连续多个图像帧的图像内容往往大致相同,相应的,短时间内编码的波动强度的变化往往可以忽略。即在实际应用中,虽然每编码一帧就计算一次编码的波动强度,但是较长时间才会进行一次目标码率的调整,存在一定处理资源的浪费。因此,在本实施例中,设置一个大小为τ(前述第二预设阈值,具体可按实际需要进行设置)的窗口,每τ帧统计一次窗口内图像帧的平均波动强度,以确定是否进行目标码率的调整。
具体的,每完成一帧待编码的图像帧的编码并计算编码的波动强度之后,记录模块记录当次计算的波动强度,并在记录τ个计算的波动强度时,统计一次窗口内图像帧的平均波动强度更新模块将编码的波动强度更新为计算的平均波动强度进而供所述调整模块30进行编码的目标码率的调整,具体可参照前述实施例,此处不再赘述。其中,t为τ的整数倍,t用于表示对应的图像帧在帧序列中的位置。
在其他实施例中,所述记录模块在记录当前计算的波动强度时,还可基于上次计算的波动强度对当前计算的波动强度进行平滑处理,消除编码过程中噪声的影响,具体的,所述记录模块将当前计算的波动强度记录为:a·Vt-1+b·Vt;
其中,a与b为经验参数(例如,本实施例中a取值为0.1,b取值为0.9)Vt-1表示上次计算的波动强度,Vt表示当前计算的波动强度。
本实施例通过间隔一定时间判断是否需要进行目标码率的调整,以及如何调整,在保证选取的目标码率的准确度的基础上,降低了对处理资源的消耗。
进一步的,基于第一实施例,提出本发明目标码率调整装置的第三实施例,参照图7,在本实施例中,所述第一计算模块10包括:
分类单元101,用于将待编码的图像帧划分为多个第一子图像,计算待编码的所述图像帧各所述第一子图像相对于相邻图像帧的运动矢量值,按照各所述第一子图像的运动矢量值所在的矢量值区间对多个所述第一子图像进行分类;
众所周知的,一个连续的视频是由一系列的图像帧组成的。为方便计算,在本实施例中,分类单元101将待编码的图像帧划分为多个呈正方形的第一子图像,本领域技术人员可以理解的是,在其他实施例中,可以按实际需要选择划分第一子图像的形状,例如,分类单元101可以将所述图像帧划分为多个呈长方形的第一子图像。具体的,划分得到第一子图像的个数取决于第一子图像的大小,以所述图像帧的像素点宽为W、像素点高为H,第一子图像的大小为n*n为例,则划分得到第一子图像的个数N=WB×HB,其中为上取整运算。优选地,为了提升处理的速度,可以将第一子图像的大小设为64*64。
在将所述图像帧划分为多个第一子图像之后,分类单元101计算各所述第一子图像的运动矢量值,并按照各所述第一子图像的运动矢量值对多个所述第一子图像进行分类,即按照各所述第一子图像的运动矢量值所在的矢量值区间对多个所述第一子图像进行分类。其中,本领域技术人员可以理解的是,运动矢量值能够直接反应出图像的波动强度。
需要说明的是,在视频编码中,运动图像邻近图像帧的图像内容存在时域相关性。本实施例中,分类单元101对各所述第一子图像作运动补偿,在所述图像帧的相邻图像帧中寻找其匹配块,并记录其运动矢量MVi,j=(Δx,Δy),为运动矢量值,其中,Δx表示所述第一子图像在x轴方向的位移,Δy表示所述第一子图像在y轴方向的位移。例如,参照图2,分类单元101在t时刻的图像帧中选中一第一子图像,将在t-1时刻相邻图像帧中进行最小失真搜索,获得最小失真的匹配块,并计算得出前述两个块的矢量距离,如图2中所示MV=(Δx,Δy),进而计算出选中的第一子图像的运动矢量值计算的所述图像帧的各第一子图像的运动矢量分布如图5所示。
计算单元102,用于按照与待编码的所述图像帧相同的划分方式将待编码的所述图像帧的重构图像帧划分为多个第二子图像,计算各所述第一子图像以及各所述第一子图像对应的第二子图像之间的均方误差;以及基于各所述均方误差计算各类第一子图像的PSNR值。
本领域技术人员可以理解的是,在帧间预测编码中,编码的下一帧基于当前帧的重构帧进行编码。在本实施例中,计算单元102按照与待编码的所述图像帧相同的划分方式将待编码的所述图像帧的重构图像帧划分为多个第二子图像,计算各所述第一子图像以及各所述第一子图像对应的第二子图像之间的均方误差,其中,所述第一子图像与其对应的第二子图像之间的均方误差表示第一子图像的标准方差,表示第二子图像标准方差。
在计算得到各所述第一子图像以及各所述第一子图像对应的第二子图像之间的均方误差后,所述计算单元102首先统计各类第一子图像的平均失真其中,为运动矢量大小,k为整数,每个前述的矢量值区间对应一k值。
然后所述计算单元102再基于各类第一子图像的平均失真计算各类第一子图像的PSNR值,各类第一子图像的PSNR值其中,bpp表示像素点灰度值用二进制表示时的位数,如在0到255灰度级表示中,bpp的取值为8。
进一步的,基于前述任一实施例,提出本发明目标码率调整装置的第四实施例,在本实施例中,所述目标码率调整装置还包括修正模块,用于基于当前的网络带宽对调整后的所述目标码率进行修正,以采用修正后的目标码率进行编码。
需要说明的是,本实施例的所述网络带宽是指可供用于编码的视频传输的网络带宽,本领域技术人员可以理解的是,由于网络是动态变化的,而且也存在网络带宽被本地资源抢占的问题,因此,为确保编码的视频的传输流畅性,在本实施例中,修正模块首先获取当前可用的网络带宽,并基于获取的所述网络带宽对调整后的所述目标码率进行修正,以采用修正后的目标码率进行编码。
进一步的,所述修正模块还用于判断当前的网络带宽是否大于调整后的所述目标码率;以及在当前的网络带宽小于调整后的所述目标码率时,将所述网络带宽作为修正后的所述目标码率。
容易理解的是,当所述网络带宽小于调整后的所述目标码率时,若采用调整后的所述目标码率进行编码,编码后的视频数据将不能流畅的传输至目标终端,导致播放卡顿等问题,影响用户的视觉体验。因此,本实施例中,在当前的网络带宽小于调整后的所述目标码率时,所述修正模块将所述网络带宽作为修正后的所述目标码率,以确保编码后的视频数据能够流畅的传输至目标终端。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种目标码率调整方法,其特征在于,所述目标码率调整方法包括:
将待编码的图像帧划分为多个第一子图像,并按照各所述第一子图像的运动矢量值对多个所述第一子图像进行分类,计算各类第一子图像的峰值信噪比PSNR值;
计算各类第一子图像的PSNR值的平均值μ,以及计算各类第一子图像的PSNR值的标准方差σ,对σ与μ的比值采用预设修正参数修正后作为编码的波动强度;
根据所述波动强度与第一预设阈值的大小关系调整编码的目标码率,其中,
当所述波动强度大于第一预设阈值时,增大编码的目标码率;
当所述波动强度小于第一预设阈值时,减小编码的目标码率。
2.如权利要求1所述的目标码率调整方法,其特征在于,根据所述波动强度与第一预设阈值的大小关系调整编码的目标码率的步骤之前,还包括:
记录当前计算的波动强度,并在记录的波动强度的数量达到第二预设阈值时,计算记录的波动强度的平均值;
将编码的所述波动强度更新为计算的所述平均值。
3.如权利要求1所述的目标码率调整方法,其特征在于,所述将待编码的图像帧划分为多个第一子图像,并按照各所述第一子图像的运动矢量值对多个所述第一子图像进行分类,计算各类第一子图像的PSNR值的步骤包括:
将待编码的图像帧划分为多个第一子图像,计算待编码的所述图像帧各所述第一子图像相对于相邻图像帧的运动矢量值,按照各所述第一子图像的运动矢量值所在的矢量值区间对多个所述第一子图像进行分类;
按照与待编码的所述图像帧相同的划分方式将待编码的所述图像帧的重构图像帧划分为多个第二子图像,计算各所述第一子图像以及各所述第一子图像对应的第二子图像之间的均方误差;
基于各所述均方误差计算各类第一子图像的PSNR值。
4.如权利要求1-3任一项所述的目标码率调整方法,其特征在于,根据所述波动强度与第一预设阈值的大小关系调整编码的目标码率的步骤之后,还包括:
基于当前的网络带宽对调整后的所述目标码率进行修正,以采用修正后的目标码率进行编码。
5.如权利要求4所述的目标码率调整方法,其特征在于,所述基于当前的网络带宽对调整后的所述目标码率进行修正的步骤包括:
判断当前的网络带宽是否大于调整后的所述目标码率;
在当前的网络带宽小于调整后的所述目标码率时,将所述网络带宽作为修正后的所述目标码率。
6.一种目标码率调整装置,其特征在于,所述目标码率调整装置包括:
第一计算模块,用于将待编码的图像帧划分为多个第一子图像,并按照各所述第一子图像的运动矢量值对多个所述第一子图像进行分类,计算各类第一子图像的峰值信噪比PSNR值;
第二计算模块,用于计算各类第一子图像的PSNR值的平均值μ,以及计算各类第一子图像的PSNR值的标准方差σ,对σ与μ的比值采用预设修正参数修正后作为编码的波动强度;
调整模块,用于根据所述波动强度与第一预设阈值的大小关系调整编码的目标码率,其中,
当所述波动强度大于第一预设阈值时,增大编码的目标码率;
当所述波动强度小于第一预设阈值时,减小编码的目标码率。
7.如权利要求6所述的目标码率调整装置,其特征在于,所述目标码率调整装置还包括:
记录模块,用于记录当前计算的波动强度,并在记录的波动强度的数量达到第二预设阈值时,计算记录的波动强度的平均值;
更新模块,用于将编码的所述波动强度更新为计算的所述平均值。
8.如权利要求6所述的目标码率调整装置,其特征在于,所述第一计算模块包括:
分类单元,用于将待编码的图像帧划分为多个第一子图像,计算待编码的所述图像帧各所述第一子图像相对于相邻图像帧的运动矢量值,按照各所述第一子图像的运动矢量值所在的矢量值区间对多个所述第一子图像进行分类;
计算单元,用于按照与待编码的所述图像帧相同的划分方式将待编码的所述图像帧的重构图像帧划分为多个第二子图像,计算各所述第一子图像以及各所述第一子图像对应的第二子图像之间的均方误差;以及基于各所述均方误差计算各类第一子图像的PSNR值。
9.如权利要求6-8任一项所述的目标码率调整装置,其特征在于,所述目标码率调整装置还包括修正模块,用于基于当前的网络带宽对调整后的所述目标码率进行修正,以采用修正后的目标码率进行编码。
10.如权利要求9所述的目标码率调整装置,其特征在于,所述修正模块还用于判断当前的网络带宽是否大于调整后的所述目标码率;以及在当前的网络带宽小于调整后的所述目标码率时,将所述网络带宽作为修正后的所述目标码率。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610086704.4A CN107087192A (zh) | 2016-02-15 | 2016-02-15 | 目标码率调整方法及装置 |
PCT/CN2017/073227 WO2017140230A1 (zh) | 2016-02-15 | 2017-02-10 | 目标码率调整方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610086704.4A CN107087192A (zh) | 2016-02-15 | 2016-02-15 | 目标码率调整方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107087192A true CN107087192A (zh) | 2017-08-22 |
Family
ID=59614136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610086704.4A Pending CN107087192A (zh) | 2016-02-15 | 2016-02-15 | 目标码率调整方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107087192A (zh) |
WO (1) | WO2017140230A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109344278A (zh) * | 2018-09-25 | 2019-02-15 | 北京邮电大学 | 一种视觉搜索方法、装置及设备 |
CN111726656A (zh) * | 2020-07-20 | 2020-09-29 | 有半岛(北京)信息科技有限公司 | 一种直播视频的转码方法、装置、服务器和存储介质 |
CN113099241A (zh) * | 2021-03-31 | 2021-07-09 | 北京百度网讯科技有限公司 | 参考帧列表更新方法、装置、设备以及存储介质 |
CN114401404A (zh) * | 2022-03-24 | 2022-04-26 | 深圳比特微电子科技有限公司 | 一种vpu编码策略的实现方法和装置 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110166781B (zh) * | 2018-06-22 | 2022-09-13 | 腾讯科技(深圳)有限公司 | 一种视频编码方法、装置、可读介质和电子设备 |
CN111787336B (zh) * | 2019-04-04 | 2022-05-20 | 杭州海康威视数字技术股份有限公司 | 码率切换的方法和装置 |
CN111447339A (zh) * | 2020-03-26 | 2020-07-24 | 西安万像电子科技有限公司 | 图像传输方法和系统 |
CN113315773B (zh) * | 2021-05-31 | 2022-08-12 | 浙江大华技术股份有限公司 | 一种码率调整方法、装置、电子设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6895050B2 (en) * | 2001-04-19 | 2005-05-17 | Jungwoo Lee | Apparatus and method for allocating bits temporaly between frames in a coding system |
EP1944980A2 (en) * | 2007-01-10 | 2008-07-16 | Koninklijke Philips Electronics N.V. | Bit rate control algorithm |
CN100562118C (zh) * | 2007-07-03 | 2009-11-18 | 上海富瀚微电子有限公司 | 一种视频编码的码率控制方法 |
CN102223524B (zh) * | 2010-04-13 | 2013-08-07 | 中兴通讯股份有限公司 | 一种三维小波视频编码帧分组方法及装置 |
CN104065962B (zh) * | 2013-10-28 | 2017-03-08 | 四川大学 | 基于视觉注意的宏块层比特分配优化方法 |
-
2016
- 2016-02-15 CN CN201610086704.4A patent/CN107087192A/zh active Pending
-
2017
- 2017-02-10 WO PCT/CN2017/073227 patent/WO2017140230A1/zh active Application Filing
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109344278A (zh) * | 2018-09-25 | 2019-02-15 | 北京邮电大学 | 一种视觉搜索方法、装置及设备 |
CN111726656A (zh) * | 2020-07-20 | 2020-09-29 | 有半岛(北京)信息科技有限公司 | 一种直播视频的转码方法、装置、服务器和存储介质 |
CN111726656B (zh) * | 2020-07-20 | 2022-07-26 | 有半岛(北京)信息科技有限公司 | 一种直播视频的转码方法、装置、服务器和存储介质 |
CN113099241A (zh) * | 2021-03-31 | 2021-07-09 | 北京百度网讯科技有限公司 | 参考帧列表更新方法、装置、设备以及存储介质 |
CN113099241B (zh) * | 2021-03-31 | 2022-11-01 | 北京百度网讯科技有限公司 | 参考帧列表更新方法、装置、设备以及存储介质 |
CN114401404A (zh) * | 2022-03-24 | 2022-04-26 | 深圳比特微电子科技有限公司 | 一种vpu编码策略的实现方法和装置 |
CN114401404B (zh) * | 2022-03-24 | 2022-07-26 | 深圳比特微电子科技有限公司 | 一种vpu编码策略的实现方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2017140230A1 (zh) | 2017-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107087192A (zh) | 目标码率调整方法及装置 | |
US11200702B2 (en) | AI encoding apparatus and operation method of the same, and AI decoding apparatus and operation method of the same | |
CN102405644B (zh) | 基于因特网视频内容的经估算质量对视频后处理器的自动调节 | |
US10499056B2 (en) | System and method for video processing based on quantization parameter | |
US8208758B2 (en) | Video sensor-based automatic region-of-interest detection | |
US9756326B2 (en) | Video coding method using at least evaluated visual quality and related video coding apparatus | |
CN110876060B (zh) | 一种编码过程中的码率调整方法及装置 | |
US20050201460A1 (en) | System and method for controlling bit rate of an image | |
CN101023677A (zh) | 以多个参考帧以及可变块尺寸的帧速率上变换方法和装置 | |
US10070136B2 (en) | Statistical multiplexing with heterogeneous encoder pool | |
US20240357138A1 (en) | Human visual system adaptive video coding | |
US10536696B2 (en) | Image encoding device and image encoding method | |
US11720998B2 (en) | Artificial intelligence (AI) encoding apparatus and operating method thereof and AI decoding apparatus and operating method thereof | |
US20120288209A1 (en) | Image processing apparatus and image processing method | |
US8670073B2 (en) | Method and system for video noise filtering | |
EP1575300B1 (en) | System and method for controlling bit rate of an image | |
CN111416978B (zh) | 视频编解码方法及系统、计算机可读存储介质 | |
CN113630599B (zh) | 一种基于roi的视频码率控制方法及系统 | |
CN108737826B (zh) | 一种视频编码的方法和装置 | |
US7733536B2 (en) | Method and apparatus for adjusting contrast of image | |
US20110075731A1 (en) | Transcoder | |
CN115567712A (zh) | 基于人眼恰可察觉失真的屏幕内容视频编码感知码率控制方法及装置 | |
CN114640851B (zh) | 基于质量感知的自适应全向视频流的传输方法 | |
CN115967806B (zh) | 一种数据帧编码控制方法、系统及电子设备 | |
US20110182343A1 (en) | Encoder |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170822 |