CN103096079B - 一种基于恰可察觉失真的多视点视频码率控制方法 - Google Patents

一种基于恰可察觉失真的多视点视频码率控制方法 Download PDF

Info

Publication number
CN103096079B
CN103096079B CN201310007062.0A CN201310007062A CN103096079B CN 103096079 B CN103096079 B CN 103096079B CN 201310007062 A CN201310007062 A CN 201310007062A CN 103096079 B CN103096079 B CN 103096079B
Authority
CN
China
Prior art keywords
current
prime
pixel
image
block
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
Application number
CN201310007062.0A
Other languages
English (en)
Other versions
CN103096079A (zh
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.)
Ningbo University
Original Assignee
Ningbo University
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 Ningbo University filed Critical Ningbo University
Priority to CN201310007062.0A priority Critical patent/CN103096079B/zh
Publication of CN103096079A publication Critical patent/CN103096079A/zh
Application granted granted Critical
Publication of CN103096079B publication Critical patent/CN103096079B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种基于恰可察觉失真的多视点视频码率控制方法,其通过根据人类视觉系统特性获取恰可察觉失真值,在多视点视频中定量地来进行码率控制,即对于I帧或P帧图像,其量化参数根据前一个图像组中的所有B帧的量化参数的平均值来确定,对于B帧图像,通过计算预分配给其的目标比特数,并通过计算预分配给其的各个宏块的目标比特数,结合恰可察觉失真值将宏块的平均绝对误差进行修正,然后根据码率-量化参数的二次模型求取宏块的量化参数,通过这种码率控制方式使得本发明方法在精确的控制码率和基本保持峰值信噪比不变的同时,能够获得更高的主观质量,并且在以修正后的峰值信噪比为质量标准时,本发明方法减少了10.31%~32.13%左右的码率。

Description

一种基于恰可察觉失真的多视点视频码率控制方法
技术领域
本发明涉及一种多视点视频码率控制技术,尤其是涉及一种基于恰可察觉失真的多视点视频码率控制方法。
背景技术
随着多媒体技术的快速发展和应用,具有3D(ThreeDimensional)视觉功能的多视点视频技术正越来越受到学术界和工业界的重视,3D多媒体已经成为现在电子消费市场的主要推动力量。此外,伴随着移动手机支持立体显示,3D多媒体进入移动设备已经成为现实。多视点视频编码(multi-viewvideocoding,MVC)标准中采用了视差补偿预测联合运动补偿预测去除各种冗余来提高编码效率。但是多视点视频技术要真正应用于实践,还有许多问题需要解决,多视点视频编码的码率控制就是其中的问题之一。如果码率控制问题得不到解决,则很难在恒定带宽下传输多视点视频流并获得良好稳定的接收端质量,带宽可变时这种情况还会更严重。因此,只有码率控制问题得以解决,多视点视频技术才有可能在实际中得到应用。
然而,MVC标准中尚未给出码率控制方案,而已有的针对多视点视频的码率分配或码率控制方法虽然都取得了一定的效果,但是对于如何更加准确的根据人眼视觉系统(HumanVisionSystem,HVS)的特性来进行码率控制仍然不是很清楚。众所周知,恰可察觉失真(justnoticeabledistortion,JND)考虑了空时对比敏感度、亮度适应效应、对比度掩模效应等,是另一种常用的主观质量评价模型。在JND范围内,人眼不能感觉到因为空间/时间敏感度和掩蔽效应而引起的像素周围的一些变化。在视频压缩方法中,在运动估计和视觉质量估计模型中经常采用基于像素JND模型来避免额外的多余的耗费。综合上述,基于一种较为合适的JND模型来进行码率控制已经非常迫切,它将根据不同的人眼视觉感知曲线在限定的码率条件下尽可能用最少的码率获得最高的主观质量。
发明内容
本发明所要解决的技术问题是提供一种在保证码率控制精度的前提下,能够有效地提高视频主观质量的基于恰可察觉失真的多视点视频码率控制方法。
本发明解决上述技术问题所采用的技术方案为:一种基于恰可察觉失真的多视点视频码率控制方法,其特征在于包括以下步骤:
①定义输入的多视点视频信号中当前正在处理的视点视频信号为当前视点视频信号;
②将当前视点视频信号划分成多个图像组,每个图像组包括I帧、P帧和B帧三种类型的图像;
③给当前视点视频信号中的每个图像组预分配目标比特数,对于当前视点视频信号中的第i个图像组,将预分配给其的目标比特数记为f(i,0), f ( i , 0 ) = B F r × N gop i = 1 B F r × N gop - ( B s 8 - B c ( i - 1 , N gop ) ) 2 ≤ i ≤ N , 其中,N表示当前视点视频信号所包含的图像组的个数,B表示外部设置的可用带宽,Fr为帧率,Ngop表示第i个图像组所包含的图像的帧数,Bs表示初始缓存区大小,Bc(i-1,Ngop)表示编码完当前视点视频信号中的第(i-1)个图像组后的实际缓存区占用度;
④计算当前视点视频信号中的每个图像组中的各帧图像的初始量化参数,具体过程为:
④-1、定义当前视点视频信号中当前正在处理的第i个图像组为当前图像组,其中,1≤i≤N;
④-2、判断当前图像组是否为当前视点视频信号中的第1个图像组,如果是,则将外部设置的量化参数QP0作为当前图像组中的各帧图像的初始量化参数,然后对当前图像组中的各帧图像进行编码,在编码结束后再执行步骤④-9;否则,定义当前图像组中当前正在处理的第j帧图像为当前帧图像,然后执行步骤④-3,其中,0≤j≤Ngop-1;
④-3、判断当前帧图像是否为I帧图像或P帧图像,如果是,则根据当前图像组的前一个图像组中的所有B帧图像的实际编码量化参数的平均值,计算当前帧图像的初始量化参数,记为Qst Q st = Sum BQP N B - 1 - 8 T r ( i - 1 , N gop - 1 ) T r ( i , 0 ) - N gop 15 , 然后对当前帧图像进行编码,在编码结束后再执行步骤④-8,其中,SumBQP表示当前图像组的前一个图像组中的所有B帧图像的实际编码量化参数之和,NB表示当前图像组的前一个图像组所包含的B帧图像的帧数,Tr(i-1,Ngop-1)表示编码完第(i-1)个图像组后的剩余比特数,Tr(i,0)表示预编码第i个图像组中的第0帧图像时第i个图像组中的目标比特数;否则,执行步骤④-4;
④-4、根据预编码当前帧图像时的剩余比特数,计算需预分配给当前帧图像的目标比特数,记为 其中,Tr(i,j)表示预编码第i个图像组中的第j帧图像时第i个图像组中的剩余比特数,Tr(i,j)=Tr(i,j-1)-A(i,j-1),Tr(i,j-1)表示预编码第i个图像组中的第(j-1)帧图像时第i个图像组中的剩余比特数,A(i,j-1)表示编码第i个图像组中的第(j-1)帧图像的实际比特数,Nb,r表示编码到当前帧图像时当前图像组中剩余的B帧图像的帧数;
④-5、根据预编码当前帧图像时的目标缓存区占用度和编码完当前帧图像后的实际缓存区占用度,计算需预分配给当前帧图像的目标比特数,记为 f ~ ( i , j ) = B F r + γ × ( Tbl ( i , j ) - B c ( i , j ) ) , 其中,γ为常数,Tbl(i,j)表示预编码第i个图像组中的第j帧图像时的目标缓存区占用度,Tbl(i,j-1)表示预编码第i个图像组中的第(j-1)帧图像时的目标缓存区占用度,Tbl(i,2)表示预编码第i个图像组中的第2帧图像时的目标缓存区占用度,Tbl(i,2)=Bc(i,2),Bc(i,2)表示编码完第i个图像组中的第2帧图像后的实际缓存区占用度,Tbl(i,2)=Bc(i,2)中的“=”为赋值符号,NB'表示当前图像组所包含的B帧图像的帧数,Bc(i,j)表示编码完第i个图像组中的第j帧图像后的实际缓存区占用度;
④-6、根据计算预分配给当前帧图像的目标比特数,记为f(i,j), f ( i , j ) = β × f ^ ( i , j ) + ( 1 - β ) × f ^ ( i , j ) , 其中,β为常数;
④-7、给当前帧图像中的各个宏块预分配目标比特数,并根据码率-量化参数的二次模型计算当前帧图像中的各个宏块的初始量化参数,具体过程为:
a、定义当前帧图像中当前正在处理的第k个宏块为当前宏块,其中,W表示图像的宽度,H表示图像的高度;
b、计算当前宏块的平均绝对误差,记为MAD(j,k), MAD ( j , k ) = 1 256 Σ x = 0 15 Σ y = 0 15 | I ( x , y , j , k ) - I ^ ( x , y , j , k ) | , 其中,“||”为取绝对值符号,x和y分别表示当前宏块中的像素点在当前宏块中的水平坐标和垂直坐标,I(x,y,j,k)表示当前宏块中坐标位置为(x,y)的像素点的亮度值,表示当前帧图像的重构图像中与当前宏块中坐标位置为(x,y)的像素点对应坐标位置的像素点的亮度值;
c、根据恰可察觉失真修改当前宏块的平均绝对误差MAD(j,k),得到修改后的平均绝对误差,记为MAPD(j,k),,其中,λ(x,y,j,k)表示当前宏块中坐标位置为(x,y)的像素点的调节因子, λ ( x , y , j , k ) = 1 ( x + 1 ) × ( y + 1 ) Σ m = 0 x Σ n = 0 y μ ( m , n , j , k ) , μ ( m , n , j , k ) = | I ( m , n , j , k ) - I ^ ( m , n , j , k ) | JND ( m , n , j , k ) , I(m,n,j,k)表示当前宏块中坐标位置为(m,n)的像素点的亮度值,表示当前帧图像的重构图像中与当前宏块中坐标位置为(m,n)的像素点对应坐标位置的像素点的亮度值,JND(m,n,j,k)表示当前宏块中坐标位置为(m,n)的像素点的恰可察觉失真值,JND(x,y,j,k)表示当前宏块中坐标位置为(x,y)的像素点的恰可察觉失真值,
d、根据MAPD(j,k)计算预分配给当前宏块的目标比特数,记为fmb(j,k),其中,Tmb(j,k)表示预编码第j帧图像中的第k个宏块时第j帧图像中的剩余比特数,Nmb表示当前帧图像所包含的宏块的个数,MAPD(j,l)表示第j帧图像中的第l个宏块的平均绝对误差根据恰可察觉失真修改后得到的平均绝对误差;
e、根据码率-量化参数的二次模型计算当前宏块的初始量化参数,记为Qmb(j,k), f mb ( j , k ) = ( X 1 [ Q mb ( j , k ) ] 2 + X 2 Q mb ( j , k ) ) × 1 MAPD ( j , k ) , 其中,X1和X2为模型参数,在编码完当前宏块后采用线性回归方法更新X1和X2的值;
f、令k'=k+1,k=k',将当前帧图像中的下一个待处理的宏块作为当前宏块,然后返回步骤b继续执行,直至当前帧图像中的所有宏块处理完毕,再在当前帧图像编码结束后执行步骤④-8,其中,k'=k+1,k=k'中“=”为赋值符号,k'的初始值为0;
④-8、令j'=j+1,j=j',将当前图像组中的下一帧待处理的图像作为当前帧图像,然后返回步骤④-3继续执行,直至当前图像组中的所有图像处理完毕,再执行步骤④-9,其中,j'=j+1,j=j'中“=”为赋值符号,j'的初始值为0;
④-9、令i'=i+1,i=i',将当前视点视频信号中的下一个待处理的图像组作为当前图像组,然后返回步骤④-2继续执行,直至当前视点视频信号中的所有图像组处理完毕,再执行步骤⑤,其中,i'=i+1,i=i'中“=”为赋值符号,i'的初始值为0;
⑤将输入的多视点视频信号中的下一个待处理的视点视频信号作为当前视点视频信号,然后返回步骤②继续执行,直至输入的多视点视频信号中的所有视点视频信号处理完毕。
所述的步骤④-5中γ=0.75。
所述的步骤④-6中β=0.5。
所述的步骤c中当前宏块中坐标位置为(x,y)的像素点的恰可察觉失真值JND(x,y,j,k)的获取过程为:
c1、采用离散余弦变换将当前宏块分割成16个互不重叠的尺寸大小为4×4的DCT子块,定义当前宏块中当前正在处理的坐标位置为(x',y')的DCT子块为当前DCT子块,其中,0≤x′<4,0≤y′<4;
c2、计算当前DCT子块中的每个像素点的恰可察觉失真值,将当前DCT子块中坐标位置为(s,t)的像素点的恰可察觉失真值记为fJND(x',y',s,t),fJND(x′,y′,s,t)=T(x′,y′,s,t)×bLum(x′,y′)×be(x′,y′,s,t),其中,0≤s≤3,0≤t≤3,T(x′,y′,s,t)表示当前DCT子块中坐标位置为(s,t)的像素点的视觉阈值,T(x′,y′,s,t)=ξ,stN′×T0(s,t),,N'表示当前DCT子块的维数,T0(s,t)表示当前DCT子块中坐标位置为(s,t)的像素点的空间对比敏感度阈值,且由空间对比敏感度函数计算得到,bLum(x',y')表示当前DCT子块的背景亮度模型, b Lum ( x ' , y ' ) = 2 &times; ( 1 - c ( x ' , y ' , 0 , 0 ) 128 &times; N ' ) 3 + 1 C ( x ' , y ' , 0,0 ) &le; 128 &times; N ' 0.8 &times; ( C ( x ' , y ' , 0,0 ) 128 &times; N ' - 1 ) 2 + 1 C ( x ' , y ' , 0,0 ) > 128 &times; N ' , C(x′,y′,0,0)表示当前DCT子块中坐标位置为(0,0)的像素点的直流系数,be(x',y',s,t)表示当前DCT子块中坐标位置为(s,t)的像素点的对比度掩蔽效应,当当前DCT子块属于边缘区域,并且当前DCT子块中坐标位置为(s,t)的像素点属于低频或中频信息时,则be(x′,y′,s,t)=γ(x′,y′),其他情况下, b e ( x ' , y ' , s , t ) = &gamma; ( x ' , y ' ) &times; max { ( C ( x ' , y ' , s , t ) T ( x ' , y ' , s , t ) ) 0.36 } , γ(x',y')表示当前DCT子块与当前宏块中的其他DCT子块之间的掩蔽效应,C(x',y',s,t)表示当前DCT子块中坐标位置为(s,t)的像素点的DCT系数,max()为取最大值函数;
c3、对当前DCT子块中的每个像素点的恰可察觉失真值进行修正,得到对应的修正后的恰可察觉失真值;对于当前DCT子块中坐标位置为(s,t)的像素点的恰可察觉失真值fJND(x',y',s,t),利用当前DCT子块中坐标位置为(s,t)的像素点的DCT系数C(x',y',s,t)对其进行修正,得到修正后的恰可察觉失真值,记为fJND'(x',y',s,t), f JND ' ( x ' , y ' , s , t ) = f JND ( x ' , y ' , s , t ) | C ( x ' , y ' , s , t ) | &GreaterEqual; f JND ( x ' , y ' , s , t ) 0 | C ( x ' , y ' , s , t ) | < f JND ( x ' , y ' , s , t ) , 其中,“||”为取绝对值符号;
c4、对当前DCT子块中的每个像素点的修正后的恰可察觉失真值进行反离散余弦变换,得到对应的像素域的恰可察觉失真值;对于fJND'(x',y',s,t),对fJND'(x',y',s,t)进行反离散余弦变换,得到像素域的恰可察觉失真值,记为fp(x',y',p,q), f p ( x ' , y ' , p , q ) = IDCT ( f JND ' ( x ' , y ' , s , t ) ) = &Sigma; s = 0 3 &Sigma; t = 0 3 ( &theta; s &times; &theta; t &times; cos ( ( 2 x ' + 1 ) s&pi; 2 N ' ) &times; cos ( ( 2 y ' + 1 ) t&pi; 2 N ' ) &times; f JND ' ( x ' , y ' , s , t ) ) ,其中,IDCT()表示反离散余弦变换函数,p和q分别表示当前DCT子块中的像素点在当前DCT子块中的水平坐标和垂直坐标,0≤p≤3,0≤q≤3, &theta; s = 1 N ' s = 0 2 N ' s &NotEqual; 0 , &theta; t = 1 N ' t = 0 2 N ' t &NotEqual; 0 , cos()为余弦函数;
c5、根据背景亮度值对当前DCT子块中的每个像素点的像素域的恰可察觉失真值进行调节,得到对应的最终的像素域的恰可察觉失真值,对于fp(x',y',p,q),根据背景亮度值对fp(x',y',p,q)进行调节,得到最终的像素域的恰可察觉失真值,记为Fp(x',y',p,q),Fp(x',y',p,q)=max{|fp(x',y',p,q)|,fl(x',y')},其中,max()为取最大值函数,“||”为取绝对值符号,fl(x',y')表示当前DCT子块的背景亮度调节值,fl(x',y')=fJND(x',y',0,0)/N',fJND(x',y',0,0)表示当前DCT子块中坐标位置为(0,0)的像素点的恰可察觉失真值;
c6、将当前宏块中的下一个待处理的DCT子块作为当前DCT子块,然后返回步骤c2继续执行,直至当前宏块中的所有DCT子块处理完毕,得到当前宏块中所有像素点的恰可察觉失真值,将当前宏块中坐标位置为(x,y)的像素点的恰可察觉失真值记为JND(x,y,j,k)。
与现有技术相比,本发明的优点在于:通过根据人类视觉系统特性获取恰可察觉失真值,在多视点视频中定量地来进行码率控制,即对于I帧或P帧图像,其量化参数根据前一个图像组中的所有B帧的量化参数的平均值来确定,对于B帧图像,通过计算预分配给其的目标比特数,并通过计算预分配给其的各个宏块的目标比特数,结合恰可察觉失真值将宏块的平均绝对误差进行修正,然后根据码率-量化参数的二次模型求取宏块的量化参数,通过这种码率控制方式使得本发明方法在精确的控制码率和基本保持峰值信噪比不变的同时,能够获得更高的主观质量,并且在以修正后的峰值信噪比为质量标准时,本发明方法减少了10.31%~32.13%左右的码率。
附图说明
图1为基于HBP结构的多视点视频预测编码结构的示意图;
图2为本发明方法的总体实现框图;
图3a为Breakdancers序列的一帧中宏块的恰可察觉失真值与平均绝对误差值的波动情况;
图3b为Ballet序列的一帧中宏块的恰可察觉失真值与平均绝对误差值的波动情况;
图3c为Alt_Moabit序列的一帧中宏块的恰可察觉失真值与平均绝对误差值的波动情况;
图3d为Doorflowers序列的一帧中宏块的恰可察觉失真值与平均绝对误差值的波动情况;
图4a为Breakdancers序列的原始图像;
图4b为Breakdancers序列的原始图像对应的恰可察觉失真图;
图4c为Ballet序列的的原始图像;
图4d为Ballet序列的原始图像对应的恰可察觉失真图;
图5a为Breakdancers序列采用原始方法和本发明方法的率失真曲线;
图5b为Ballet序列采用原始方法和本发明方法的率失真曲线;
图5c为Doorflowers序列采用原始方法和本发明方法的率失真曲线;
图5d为Alt_Moabit序列采用原始方法和本发明方法的率失真曲线;
图6a为Breakdancers序列采用原始方法的重构图像;
图6b为Breakdancers序列采用本发明方法的重构图像;
图6c为Breakdancers序列采用原始方法的重构图像局部区域;
图6d为Breakdancers序列采用本发明方法的重构图像局部区域;
图7a为Ballet序列采用原始方法的重构图像;
图7b为Ballet序列采用本发明方法的重构图像;
图7c为Ballet序列采用原始方法的重构图像局部区域;
图7d为Ballet序列采用本发明方法的重构图像局部区域;
图8a为Alt_Moabit序列采用原始方法的重构图像;
图8b为Alt_Moabit序列采用本发明方法的重构图像;
图8c为Alt_Moabit序列采用原始方法的重构图像局部区域;
图8d为Alt_Moabit序列采用本发明方法的重构图像局部区域;
图9a为Doorflowers序列采用原始方法的重构图像;
图9b为Doorflowers序列采用本发明方法的重构图像;
图9c为Doorflowers序列采用原始方法的重构图像局部区域;
图9d为Doorflowers序列采用本发明方法的重构图像局部区域。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
本发明提出的一种基于恰可察觉失真的多视点视频码率控制方法,其通过视点层、图像组(GOP,groupofpictures)层、帧层和宏块(MB,macro-block)层来进行码率控制,在进行码率控制之前需要根据彩色图像的像素点求取恰可察觉失真值,以便在宏块层码率控制时调节宏块的目标码率分配。在GOP层分配每个GOP的目标比特数,根据前一个GOP中的所有B帧的初始量化参数的平均值确定每个GOP中I帧或P帧的初始量化参数,对于B帧,在帧层根据剩余比特数和缓存区确定每帧的目标比特数;在MB层先分析了宏块中各个像素点的恰可察觉失真值和码率控制二次模型中的平均绝对误差(MAD,meanabsolutedifference)波动情况,利用像素调节因子结合恰可察觉失真值将平均绝对误差重新定义成MAPD(meanabsoluteperceptualdifference),然后根据重新定义的二次模型求取宏块的初始量化参数,最后根据恰可察觉失真值修正峰值信噪比,以便更加准确地反映主观图像质量。图1给出了基于HBP结构的多视点视频预测编码结构的示意图,图1中水平方向的箭头表示时间参考,垂直方向的箭头表示视点间参考。I类视点(I-View)不参考其它视点,P类视点(P-View)是单向的视点参考,参考I视点,如图1中的View2(视点2);同理,B类视点(B-View)是由重构的I和P类视点进行双向视点间预测得到,如图1中的View1(视点1)。本发明的基于恰可察觉失真的多视点视频码率控制方法的总体实现框图如图2所示,其包括以下步骤:
①定义输入的多视点视频信号中当前正在处理的视点视频信号为当前视点视频信号。
②将当前视点视频信号划分成多个图像组,每个图像组包括I帧、P帧和B帧三种类型的图像。
③给当前视点视频信号中的每个图像组预分配目标比特数,对于当前视点视频信号中的第i个图像组,将预分配给其的目标比特数记为f(i,0), f ( i , 0 ) = B F r &times; N gop i = 1 B F r &times; N gop - ( B s 8 - B c ( i - 1 , N gop ) ) 2 &le; i &le; N , 其中,N表示当前视点视频信号所包含的图像组的个数,B表示外部设置的可用带宽,Fr为帧率,Ngop表示第i个图像组所包含的图像的帧数,Bs表示初始缓存区大小,Bc(i-1,Ngop)表示编码完当前视点视频信号中的第(i-1)个图像组后的实际缓存区占用度。
在此,需说明的是为了确保所有图像组都有一定的质量,缓存区占用在编码完一个图像组后必须保持在Bs/8。
④计算当前视点视频信号中的每个图像组中的各帧图像的初始量化参数,具体过程为:
④-1、定义当前视点视频信号中当前正在处理的第i个图像组为当前图像组,其中,1≤i≤N。
④-2、判断当前图像组是否为当前视点视频信号中的第1个图像组,如果是,则将外部设置的量化参数QP0作为当前图像组中的各帧图像的初始量化参数,然后对当前图像组中的各帧图像进行编码,在编码结束后再执行步骤④-9;否则,定义当前图像组中当前正在处理的第j帧图像为当前帧图像,然后执行步骤④-3,其中,0≤j≤Ngop-1。
在此,量化参数QP0是在实验的时候根据目标码率设定的,目标码率从高码率到低码率,相应的QP0对应可设置为22、27、32、37,如表2中针对“Breakdancers”序列,目标码率分别设置为6043.219、2177.393、1037.307、593.8341时,量化参数QP0可对应设置为22、27、32、37。
④-3、判断当前帧图像是否为I帧图像或P帧图像,如果是,则根据当前图像组的前一个图像组中的所有B帧图像的实际编码量化参数的平均值,计算当前帧图像的初始量化参数,记为Qst Q st = Sum BQP N B - 1 - 8 T r ( i - 1 , N gop - 1 ) T r ( i , 0 ) - N gop 15 , 然后对当前帧图像进行编码,在编码结束后再执行步骤④-8,其中,SumBQP表示当前图像组的前一个图像组中的所有B帧图像的实际编码量化参数之和,NB表示当前图像组的前一个图像组所包含的B帧图像的帧数,Tr(i-1,Ngop-1)表示编码完第(i-1)个图像组后的剩余比特数,Tr(i,0)表示预编码第i个图像组中的第0帧图像时第i个图像组中的目标比特数;否则,执行步骤④-4。
④-4、根据预编码当前帧图像时的剩余比特数,计算需预分配给当前帧图像的目标比特数,记为 其中,Tr(i,j)表示预编码第i个图像组中的第j帧图像时第i个图像组中的剩余比特数,在恒定带宽的情况下,Tr(i,j)=Tr(i,j-1)-A(i,j-1),Tr(i,j-1)表示预编码第i个图像组中的第(j-1)帧图像时第i个图像组中的剩余比特数,A(i,j-1)表示编码第i个图像组中的第(j-1)帧图像的实际比特数,Nb,r表示编码到当前帧图像时当前图像组中剩余的B帧图像的帧数。
④-5、根据预编码当前帧图像时的目标缓存区占用度和编码完当前帧图像后的实际缓存区占用度,计算需预分配给当前帧图像的目标比特数,记为 其中,γ为常数,在本实施例中取γ=0.75,Tbl(i,j)表示预编码第i个图像组中的第j帧图像时的目标缓存区占用度,Tbl(i,j-1)表示预编码第i个图像组中的第(j-1)帧图像时的目标缓存区占用度,Tbl(i,2)表示预编码第i个图像组中的第2帧图像时的目标缓存区占用度,在编码完第i个图像组中的第1帧图像后目标缓存区初始化为:Tbl(i,2)=Bc(i,2),Bc(i,2)表示编码完第i个图像组中的第2帧图像后的实际缓存区占用度,Tbl(i,2)=Bc(i,2)中的“=”为赋值符号,NB'表示当前图像组所包含的B帧图像的帧数,Bc(i,j)表示编码完第i个图像组中的第j帧图像后的实际缓存区占用度。
④-6、根据计算预分配给当前帧图像的目标比特数,记为f(i,j), f ( i , j ) = &beta; &times; f ^ ( i , j ) + ( 1 - &beta; ) &times; f ~ ( i , j ) , 其中,β为常数,在本实施例中取β=0.5。
④-7、给当前帧图像中的各个宏块预分配目标比特数,并根据码率-量化参数的二次模型计算当前帧图像中的各个宏块的初始量化参数,具体过程为:
a、定义当前帧图像中当前正在处理的第k个宏块为当前宏块,其中,W表示图像的宽度,H表示图像的高度。
b、计算当前宏块的平均绝对误差,记为MAD(j,k), MAD ( j , k ) = 1 256 &Sigma; x = 0 15 &Sigma; y = 0 15 | I ( x , y , j , k ) - I ^ ( x , y , j , k ) | , 其中,“||”为取绝对值符号,x和y分别表示当前宏块中的像素点在当前宏块中的水平坐标和垂直坐标,I(x,y,j,k)表示当前宏块中坐标位置为(x,y)的像素点的亮度值,表示当前帧图像的重构图像中与当前宏块中坐标位置为(x,y)的像素点对应坐标位置的像素点的亮度值。
c、为了充分利用HVS(HumanVisualSystem,人类视觉系统)特性,将恰可察觉失真与平均绝对误差结合起来,先对恰可察觉失真和平均绝对误差进行分析。在本实施例中,实验选取了Breakdancers、Ballet、Doorflowers和Alt_Moabit序列进行了测试,分别从四个序列中任意选取一帧图像,所选的帧图像中所有宏块的恰可察觉失真值和平均绝对误差值的波动情况分别如图3a、图3b、图3c和图3d所示。由于上述四个序列的分辨率都为1024×768,因此一帧图像所包含的宏块的个数为3072个,图3a、图3b、图3c和图3d中横坐标表示一帧中的宏块数(MBNumber),纵坐标表示对应宏块的恰可察觉失真值或平均绝对误差值,图3a、图3b、图3c和图3d中“+”线表示每个宏块的恰可察觉失真值,“*”线表示原始宏块层码率控制后所得的每个宏块的平均绝对误差值,观察图3a、图3b、图3c和图3d中所示的恰可察觉失真值与平均绝对误差值的情况,可知宏块的恰可察觉失真值都在10附近或者更大值处波动,而平均绝对误差值则一般在2附近波动,故像素点的恰可察觉失真值和平均绝对误差值中的像素差值也不在一个波动范围。本发明方法为了更好地利用恰可察觉失真值,对平均绝对误差值根据像素点的恰可察觉失真值重新进行了定义,因此要利用一个调节因子λ对恰可察觉失真值进行调节,使其范围在平均绝对误差值附近波动并与之相比较,使得在人眼可容忍范围内的失真为零,而超过可容忍部分为视觉感知失真,综上分析,本发明根据恰可察觉失真修改当前宏块的平均绝对误差MAD(j,k),得到修改后的平均绝对误差,记为MAPD(j,k),,其中,λ(x,y,j,k)表示当前宏块中坐标位置为(x,y)的像素点的调节因子, &lambda; ( x , y , j , k ) = 1 ( x + 1 ) &times; ( y + 1 ) &Sigma; m = 0 x &Sigma; n = 0 y &mu; ( m , n , j , k ) , &mu; ( m , n , j , k ) = | I ( m , n , j , k ) - I ^ ( m , n , j , k ) | JND ( m , n , j , k ) , I(m,n,j,k)表示当前宏块中坐标位置为(m,n)的像素点的亮度值,表示当前帧图像的重构图像中与当前宏块中坐标位置为(m,n)的像素点对应坐标位置的像素点的亮度值,JND(m,n,j,k)表示当前宏块中坐标位置为(m,n)的像素点的恰可察觉失真值,JND(x,y,j,k)表示当前宏块中坐标位置为(x,y)的像素点的恰可察觉失真值,
在此具体实施例中,当前宏块中坐标位置为(x,y)的像素点的恰可察觉失真值JND(x,y,j,k)的获取过程为:
c1、采用离散余弦变换将当前宏块分割成16个互不重叠的尺寸大小为4×4的DCT子块,定义当前宏块中当前正在处理的坐标位置为(x',y')的DCT子块为当前DCT子块,其中,0≤x′<4,0≤y′<4。
c2、计算当前DCT子块中的每个像素点的恰可察觉失真值,将当前DCT子块中坐标位置为(s,t)的像素点的恰可察觉失真值记为fJND(x',y',s,t),fJND(x′,y′,s,t)=T(x′,y′,s,t)×bLum(x′,y′)×be(x′,y′,s,t),其中,0≤s≤3,0≤t≤3,T(x′,y′,s,t)表示当前DCT子块中坐标位置为(s,t)的像素点的视觉阈值,T(x′,y′,s,t)=ξs,t×N′×T0(s,t),N'表示当前DCT子块的维数,在这里当前DCT子块的维数为4维,即N'取值为4,T0(s,t)表示当前DCT子块中坐标位置为(s,t)的像素点的空间对比敏感度阈值,该空间对比敏感度阈值由对比敏感度函数(ContrastSensitivityFunction,CSF)计算得到,计算方法采用的是文献“Just-noticeable-differenceestimationwithpixelsinimages(图像的像素域恰可觉察失真求取)”中公开的方法,bLum(x',y')表示当前DCT子块的背景亮度模型, b Lum ( x ' , y ' ) = 2 &times; ( 1 - C ( x ' , y ' , 0 , 0 ) 128 &times; N ' ) 3 + 1 C ( x ' , y ' , 0,0 ) &le; 128 &times; N ' 0.8 &times; ( C ( x ' , y ' , 0,0 ) 128 &times; N ' - 1 ) 2 + 1 C ( x ' , y ' , 0,0 ) > 128 &times; N ' , C(x',y',0,0)表示当前DCT子块中坐标位置为(0,0)的像素点的直流系数,C(x',y',0,0)能够体现一副图像中亮度值的平均水平和人眼视觉的一些特性,其中的系数都是根据经验设定的,be(x',y',s,t)表示当前DCT子块中坐标位置为(s,t)的像素点的对比度掩蔽效应,根据人眼敏感程度大小将一副图像分成平坦、边缘和纹理区域三类,再结合DCT域分的直流(DirectCurrent,DC)、低频(LowFrequency,LF)、中频(MediumFrequency,MF)和高频(HighFrequency,HF),当当前DCT子块属于边缘区域,并且当前DCT子块中坐标位置为(s,t)的像素点属于低频或中频信息时,则be(x′,y′,s,t)=γ(x′,y′),其他情况下(如当前DCT子块属于平坦区域,且当前DCT子块中坐标位置为(s,t)的像素点属于低频信息,等其他情况时), b e ( x ' , y ' , s , t ) = &gamma; ( x ' , y ' ) &times; max { ( C ( x ' , y ' , s , t ) T ( x ' , y ' , s , t ) ) 0.36 } , γ(x',y')表示当前DCT子块与当前宏块中的其他DCT子块之间的掩蔽效应,C(x',y',s,t)表示当前DCT子块中坐标位置为(s,t)的像素点的DCT系数,max()为取最大值函数。
c3、由于步骤c2估计得到的fJND(x',y',s,t)是在DCT域求得的,对于小于对应fJND(x',y',s,t)的失真,人眼是察觉不到的,当DCT子块的DCT系数的值C(x',y',s,t)小于对应的fJND(x',y',s,t)时,则将fJND(x',y',s,t)的值置为零,因此本发明对当前DCT子块中的每个像素点的恰可察觉失真值进行修正,得到对应的修正后的恰可察觉失真值;对于当前DCT子块中坐标位置为(s,t)的像素点的恰可察觉失真值fJND(x',y',s,t),利用当前DCT子块中坐标位置为(s,t)的像素点的DCT系数C(x',y',s,t)对其进行修正,得到修正后的恰可察觉失真值,记为fJND'(x',y',s,t), f JND ' ( x ' , y ' , s , t ) = f JND ( x ' , y ' , s , t ) | C ( x ' , y ' , s , t ) | &GreaterEqual; f JND ( x ' , y ' , s , t ) 0 | C ( x ' , y ' , s , t ) | < f JND ( x ' , y ' , s , t ) , 其中,“||”为取绝对值符号。
c4、对当前DCT子块中的每个像素点的修正后的恰可察觉失真值进行反离散余弦变换,得到对应的像素域的恰可察觉失真值;对于fJND'(x',y',s,t),对fJND'(x',y',s,t)进行反离散余弦变换即从DCT域转换到像素域,得到像素域的恰可察觉失真值,记为fp(x',y',p,q), f p ( x ' , y ' , p , q ) = IDCT ( f JND ' ( x ' , y ' , s , t ) ) = &Sigma; s = 0 3 &Sigma; t = 0 3 ( &theta; s &times; &theta; t &times; cos ( ( 2 x ' + 1 ) s&pi; 2 N ' ) &times; cos ( ( 2 y ' + 1 ) t&pi; 2 N ' ) &times; f JND ' ( x ' , y ' , s , t ) ) ,其中,IDCT()表示反离散余弦变换函数,p和q分别表示当前DCT子块中的像素点在当前DCT子块中的水平坐标和垂直坐标,0≤p≤3,0≤q≤3, &theta; s = 1 N ' s = 0 2 N ' s &NotEqual; 0 , &theta; t = 1 N ' t = 0 2 N ' t &NotEqual; 0 , cos()为余弦函数。
c5、根据背景亮度值对当前DCT子块中的每个像素点的像素域的恰可察觉失真值进行调节,得到对应的最终的像素域的恰可察觉失真值,对于fp(x',y',p,q),根据背景亮度值对fp(x',y',p,q)进行调节,得到最终的像素域的恰可察觉失真值,记为Fp(x',y',p,q),Fp(x',y',p,q)=max{|fp(x',y',p,q)|,fl(x',y')},其中,max()为取最大值函数,“||”为取绝对值符号,fl(x',y')表示当前DCT子块的背景亮度调节值,fl(x',y')=fJND(x',y',0,0)/N',fJND(x',y',0,0)表示当前DCT子块中坐标位置为(0,0)的像素点的恰可察觉失真值。
c6、将当前宏块中的下一个待处理的DCT子块作为当前DCT子块,然后返回步骤c2继续执行,直至当前宏块中的所有DCT子块处理完毕,得到当前宏块中所有像素点的恰可察觉失真值,将当前宏块中坐标位置为(x,y)的像素点的恰可察觉失真值记为JND(x,y,j,k)。
根据上述过程计算得到的原始图像的像素点的恰可察觉失真值,并将恰可察觉失真值放大10倍以灰度图形式表示出来,图4a和图4b分别给出了Breakdancers序列的原始图像及其对应的恰可察觉失真图;图4c和图4d分别给出了Ballet序列的原始图像及其对应的恰可察觉失真图。观察图4b和图4d,可知图4b和图4d中平坦处颜色较暗,恰可察觉失真值较小,因为根据HVS特性表明人眼对越平坦的地方失真越敏感,图4b和图4d中纹理较复杂处的恰可察觉失真值较大,白色部分较多,因为根据HVS特性可知失真在纹理丰富区域不易察觉。
d、根据MAPD(j,k)计算预分配给当前宏块的目标比特数,记为fmb(j,k), f mb ( j , k ) = T mb ( j , k ) [ MAPD ( j , k ) ] 2 &Sigma; l = k N mb [ MAPD ( j , l ) ] 2 , 其中,Tmb(j,k)表示预编码第j帧图像中的第k个宏块时第j帧图像中的剩余比特数,Nmb表示当前帧图像所包含的宏块的个数,MAPD(j,l)表示第j帧图像中的第l个宏块的平均绝对误差根据恰可察觉失真修改后得到的平均绝对误差。
e、根据码率-量化参数的二次模型计算当前宏块的初始量化参数,记为Qmb(j,k), f mb ( j , k ) = ( X 1 [ Q mb ( j , k ) ] 2 + X 2 Q mb ( j , k ) ) &times; 1 MAPD ( j , k ) , 其中,X1和X2为模型参数,在编码完当前宏块后采用线性回归方法更新X1和X2的值。
f、令k'=k+1,k=k',将当前帧图像中的下一个待处理的宏块作为当前宏块,然后返回步骤b继续执行,直至当前帧图像中的所有宏块处理完毕,再在当前帧图像编码结束后执行步骤④-8,其中,k'=k+1,k=k'中“=”为赋值符号,k'的初始值为0。
④-8、令j'=j+1,j=j',将当前图像组中的下一帧待处理的图像作为当前帧图像,然后返回步骤④-3继续执行,直至当前图像组中的所有图像处理完毕,再执行步骤④-9,其中,j'=j+1,j=j'中“=”为赋值符号,j'的初始值为0。
④-9、令i'=i+1,i=i',将当前视点视频信号中的下一个待处理的图像组作为当前图像组,然后返回步骤④-2继续执行,直至当前视点视频信号中的所有图像组处理完毕,再执行步骤⑤,其中,i'=i+1,i=i'中“=”为赋值符号,i'的初始值为0。
⑤将输入的多视点视频信号中的下一个待处理的视点视频信号作为当前视点视频信号,然后返回步骤②继续执行,直至输入的多视点视频信号中的所有视点视频信号处理完毕。
以下为对本发明方法进行测试,以证明本发明方法的有效性和可行性。测试环境如表1所列,在IntelCore2Duo3.0GHz、3.25GB内存的计算机上,测试了原始方法(原始方法是指将H.264/AVC中的G012算法拓展到多视点视频编码中,其码率控制部分不做任何针对多视点视频的相关改进)和本发明方法。
表2列出了四个序列在不同的基本量化参数下的本发明方法与原始方法的码率控制精度。表2中原始方法用MB_RC表示,本发明方法用MB_JND_RC表示。表2中的目标码率和实际码率是3个视点的总比特数,码率偏差(RateControlError,RCE)用于度量码率控制的精度,即其中,Rtarget和Ractual分别表示目标码率和实际码率。从表2中所列的码率精度方面可以看出,原始方法的码率控制都获得较高的精度,几乎都在1%以内;相对地,本发明方法的码率控制精度有时比原始方法的码率控制精度高,有时也较低,尤其是在较低码率情况下,偏差有时都在2%左右,这是因为原始方法平均分配,本发明方法则根据恰可察觉失真值情况波动来分配码率,波动性相对较大,因此尤其在低码率时情况下本发明方法的精度比原始方法的精度稍低。根据研究表明,峰值信噪比PSNR并不能很好地反映人眼的主观感受,在本发明方法中已经根据恰可察觉失真值对二次模型的平均绝对误差进行修改,同理,为了获得更加符合人眼主观感受的质量指标,结合恰可察觉失真值对第j帧原始图像的峰值信噪比PSNR(j)进行修改,将修改后的峰值信噪比记为IPSNR(j),则 ,其中,W'和H'分别表示一帧图像的宽和高,I(x″,y″,j)表示第j帧原始图像中坐标位置为(x″,y″)的像素点的亮度值,同理表示第j帧原始图像的重构图像中坐标位置为(x″,y″)的像素点的亮度值,λ(x″,y″,j)表示第j帧原始图像中坐标位置为(x″,y″)的像素点的调节因子,利用公式 &lambda; ( x ' ' , y ' ' , j ) = 1 ( x ' ' + 1 ) &times; ( y ' ' + 1 ) &Sigma; m = 0 x ' ' &Sigma; n = 0 y ' ' | I ( m , n , j ) - I ^ ( m , n , j ) | JND ( m , n , j ) 计算得到,JND(x″,y″,j)表示第j帧原始图像中坐标位置为(x″,y″)的像素点的恰可察觉失真值,表示第j帧原始图像中坐标位置为(x″,y″)的像素点的失真判别阈值,利用本发明方法中的公式计算得到,将重构图像与原始图像的像素差值与调节后的第j帧原始图像中坐标位置为(x″,y″)的像素点的恰可察觉失真值进行比较,若像素差值小于调节后的第j帧原始图像中坐标位置为(x,″y″)的像素点的恰可察觉失真值,那么的值等于0,即重构图像失真不可感知,感知失真为零;否则,的值等于1,超过恰可察觉失真值的部分即为可感知的失真值。从上述计算IPSNR(j)的过程中,可知如果重构图像和原始图像的像素差值在可容忍失真内(小于恰可察觉失真值),那么当前像素点的失真可为0,因此若在同等条件下,修改后的峰值信噪比应比修改前的峰值信噪比偏大。
表3列出了四个序列在不同的基本量化参数下的本发明方法与原始方法的PSNR/IPSNR比较。本发明方法的PSNR与原始方法相比有所下降,因为本发明方法中恰可察觉失真值较大即可容忍失真大获得较大的量化参数,利用恰可察觉失真值就是使其图像的失真在人眼范围内可以更大,使得在一些恰可察觉失真值大的区域重构图像的失真更大,所以PSNR有所下降。此外表3也给出了本发明方法所得PSNR相对应的IPSNR的值,分析表3所列数据,可知IPSNR比PSNR增大4~5dB左右。
图5a、图5b、图5c和图5d分别给出了Breakdancers序列、Ballet序列、Doorflowers序列和Alt_Moabit序列采用原始方法(MB_RCwithPSNR)和本发明方法(MB_JND_RCwithPSNR,MB_JND_RCwithIPSNR)的率失真性能曲线比较。图5a、图5b、图5c和图5d中横坐标表示编码3个视点所用的实际码率,纵坐标表示在相应的码率下所对应的平均PSNR值和IPSPR值,图5a、图5b、图5c和图5d中“+”线是指以PSNR为质量指标的原始方法的率失真性能,“o”线是指以PSNR为质量指标的本发明方法的率失真性能,“*”线是指以IPSNR为质量指标的本发明方法的率失真性能。分析图5a、图5b、图5c和图5d,可知在以PSNR标准情况下,本发明方法与原始方法的率失真性能相当,而以IPSNR标准情况下,本发明方法的率失真性能比较高。在同一个PSNR情况下相对应人眼的质量就是IPSNR,故若是以IPSNR为标准,在精确控制码率精度时,也可减少码率,故又进一步验证了本发明方法可减少的码率如表4所示。表4中BDPSNR和BDBR分别衡量由4个点拟合成的两条率失真曲线之间的PSNR差值和码率差值。从表4中可看出,测试序列节约10.31%~32.13%左右的码率,相对地,Breakdancers和Ballet序列码率减少最多,因为这两个序列没有场景变换并且背景相对较简单,而在平坦处恰可察觉失真值较小,分配了较多码率采用较小的量化参数,从而使平坦处的质量比原始方法较高,所以在精确控制码率时,采用IPSNR标准计算质量时,平坦处失真不可见,而纹理处恰可察觉失真值大,又使得失真不可见,故使得IPSNR明显增高,码率减少20%以上。AltMoabit序列背景纹理很复杂而且有场景变换,故没有平坦的地方质量提高不多,码率减少的最少。但对于Doorflowers有场景变换但纹理较简单,故码率减少介于前面两种情况。
图6a和图6b分别给出了Breakdancers序列采用原始方法和本发明方法的重构图像,图6c和图6d分别给出了Breakdancers序列采用原始方法和本发明方法的重构图像局部区域。观察图6a至图6d中的Breakdancers序列可知,在舞者后面平坦的背景处,原始方法出现了严重的方块效应,而本发明方法则无方块效应获得较高的质量。分析其因为本发明方法在考虑恰可察觉失真值时,平坦处的恰可察觉失真值小,分配了较多的码率采用较小的量化参数,保护了平坦处的质量,同理,舞者的裤子尤其是边缘都得到了较好的保护。图6c和图6d为分别对应对图6a和图6b所示的重构图像中的背景的局部区域进行了放大,观察图6c和图6d,可发现在原始方法中背景出现锯齿和严重的方块效应,而本发明方法背景则更为平滑,适于人眼的主观感受。
图7a和图7b分别给出了Ballet序列采用原始方法和本发明方法的重构图像,图7c和图7d分别给出了Ballet序列采用原始方法和本发明方法的重构图像局部区域。与Breakdancers序列类似,观察图7a可知原始方法中芭蕾舞者的胳膊和脚部都受到了较严重的影响,观察图7c和图7d可更明显地看出原始方法的脚部严重模糊而本发明方法边界曲线较清晰。
图8a和图8b分别给出了Alt_Moabit序列采用原始方法和本发明方法的重构图像,图8c和图8d分别给出了Alt_Moabit序列采用原始方法和本发明方法的重构图像局部区域。AltMoabit序列有场景变换,会出现车辆和较大型的公交车。从图8c和图8d的局部区域可以看出在原始方法中公交车左下角和右下角出现了原始图像中没有的红点图标,而本发明方法中公交车上的字较清晰,没有出现这种较严重的错误。
图9a和图9b分别给出了Doorflowers序列采用原始方法和本发明方法的重构图像,图9c和图9d分别给出了Doorflowers序列采用原始方法和本发明方法的重构图像局部区域。分析图9a至图9d,可以看出Doorflowers序列有位男士捧着鲜花从门外进来,纹理较复杂,仔细观察可发现进门男士的头部、腿部和椅子的边缘在原始方法中都较模糊,不够清晰,而在本发明方法中得到了较高的质量,从局部区域图中也可以看出。
表1测试环境
表2本发明方法与原始方法的码率控制精度比较
表3本发明方法与原始方法的PSNR和IPSNR比较
表4本发明方法与原始方法在IPSNR评价下码率减少情况
序列 BDPSNR BDBR 平均码率 减少
Breakdancers 5.139 555.142 2461.7256 22.55%
Ballet 4.769 375.824 1169.6515 32.13%
Doorflowers 3.906 252.265 1332.3544 18.93%
Alt_Moabit 4.788 185.235 1796.9470 10.31%

Claims (4)

1.一种基于恰可察觉失真的多视点视频码率控制方法,其特征在于包括以下步骤:
①定义输入的多视点视频信号中当前正在处理的视点视频信号为当前视点视频信号;
②将当前视点视频信号划分成多个图像组,每个图像组包括I帧、P帧和B帧三种类型的图像;
③给当前视点视频信号中的每个图像组预分配目标比特数,对于当前视点视频信号中的第i个图像组,将预分配给其的目标比特数记为f(i,0), f ( i , 0 ) = B F r &times; N gop i = 1 B F r &times; N gop - ( B s 8 - B c ( i - 1 , N gop ) ) 2 &le; i &le; N , 其中,N表示当前视点视频信号所包含的图像组的个数,B表示外部设置的可用带宽,Fr为帧率,Ngop表示第i个图像组所包含的图像的帧数,Bs表示初始缓存区大小,Bc(i-1,Ngop)表示编码完当前视点视频信号中的第(i-1)个图像组后的实际缓存区占用度;
④计算当前视点视频信号中的每个图像组中的各帧图像的初始量化参数,具体过程为:
④-1、定义当前视点视频信号中当前正在处理的第i个图像组为当前图像组,其中,1≤i≤N;
④-2、判断当前图像组是否为当前视点视频信号中的第1个图像组,如果是,则将外部设置的量化参数QP0作为当前图像组中的各帧图像的初始量化参数,然后对当前图像组中的各帧图像进行编码,在编码结束后再执行步骤④-9;否则,定义当前图像组中当前正在处理的第j帧图像为当前帧图像,然后执行步骤④-3,其中,0≤j≤Ngop-1;
④-3、判断当前帧图像是否为I帧图像或P帧图像,如果是,则根据当前图像组的前一个图像组中的所有B帧图像的实际编码量化参数的平均值,计算当前帧图像的初始量化参数,记为Qst然后对当前帧图像进行编码,在编码结束后再执行步骤④-8,其中,SumBQP表示当前图像组的前一个图像组中的所有B帧图像的实际编码量化参数之和,NB表示当前图像组的前一个图像组所包含的B帧图像的帧数,Tr(i-1,Ngop-1)表示编码完第(i-1)个图像组后的剩余比特数,Tr(i,0)表示预编码第i个图像组中的第0帧图像时第i个图像组中的目标比特数;否则,执行步骤④-4;
④-4、根据预编码当前帧图像时的剩余比特数,计算需预分配给当前帧图像的目标比特数,记为 其中,Tr(i,j)表示预编码第i个图像组中的第j帧图像时第i个图像组中的剩余比特数,Tr(i,j)=Tr(i,j-1)-A(i,j-1),Tr(i,j-1)表示预编码第i个图像组中的第(j-1)帧图像时第i个图像组中的剩余比特数,A(i,j-1)表示编码第i个图像组中的第(j-1)帧图像的实际比特数,Nb,r表示编码到当前帧图像时当前图像组中剩余的B帧图像的帧数;
④-5、根据预编码当前帧图像时的目标缓存区占用度和编码完当前帧图像后的实际缓存区占用度,计算需预分配给当前帧图像的目标比特数,记为 其中,γ为常数,Tbl(i,j)表示预编码第i个图像组中的第j帧图像时的目标缓存区占用度,Tbl(i,j-1)表示预编码第i个图像组中的第(j-1)帧图像时的目标缓存区占用度,Tbl(i,2)表示预编码第i个图像组中的第2帧图像时的目标缓存区占用度,Tbl(i,2)=Bc(i,2),Bc(i,2)表示编码完第i个图像组中的第2帧图像后的实际缓存区占用度,Tbl(i,2)=Bc(i,2)中的“=”为赋值符号,NB'表示当前图像组所包含的B帧图像的帧数,Bc(i,j)表示编码完第i个图像组中的第j帧图像后的实际缓存区占用度;
④-6、根据计算预分配给当前帧图像的目标比特数,记为f(i,j), f ( i , j ) = &beta; &times; f ^ ( i , j ) + ( 1 - &beta; ) &times; f ~ ( i , j ) , 其中,β为常数;
④-7、给当前帧图像中的各个宏块预分配目标比特数,并根据码率-量化参数的二次模型计算当前帧图像中的各个宏块的初始量化参数,具体过程为:
a、定义当前帧图像中当前正在处理的第k个宏块为当前宏块,其中,W表示图像的宽度,H表示图像的高度;
b、计算当前宏块的平均绝对误差,记为MAD(j,k), MAD ( j , k ) = 1 256 &Sigma; x = 0 15 &Sigma; y = 0 15 | I ( x , y , j , k ) - I ^ ( x , y , j , k ) | , 其中,“||”为取绝对值符号,x和y分别表示当前宏块中的像素点在当前宏块中的水平坐标和垂直坐标,I(x,y,j,k)表示当前宏块中坐标位置为(x,y)的像素点的亮度值,表示当前帧图像的重构图像中与当前宏块中坐标位置为(x,y)的像素点对应坐标位置的像素点的亮度值;
c、根据恰可察觉失真修改当前宏块的平均绝对误差MAD(j,k),得到修改后的平均绝对误差,记为MAPD(j,k),,其中,λ(x,y,j,k)表示当前宏块中坐标位置为(x,y)的像素点的调节因子, &lambda; ( x , y , j , k ) = 1 ( x + 1 ) &times; ( y + 1 ) &Sigma; m = 0 x &Sigma; n = 0 y &mu; ( m , n , j , k ) , I(m,n,j,k)表示当前宏块中坐标位置为(m,n)的像素点的亮度值,表示当前帧图像的重构图像中与当前宏块中坐标位置为(m,n)的像素点对应坐标位置的像素点的亮度值,JND(m,n,j,k)表示当前宏块中坐标位置为(m,n)的像素点的恰可察觉失真值,JND(x,y,j,k)表示当前宏块中坐标位置为(x,y)的像素点的恰可察觉失真值,
d、根据MAPD(j,k)计算预分配给当前宏块的目标比特数,记为fmb(j,k),其中,Tmb(j,k)表示预编码第j帧图像中的第k个宏块时第j帧图像中的剩余比特数,Nmb表示当前帧图像所包含的宏块的个数,MAPD(j,l)表示第j帧图像中的第l个宏块的平均绝对误差根据恰可察觉失真修改后得到的平均绝对误差;
e、根据码率-量化参数的二次模型计算当前宏块的初始量化参数,记为Qmb(j,k), f mb ( j , k ) = ( X 1 [ Q mb ( j , k ) ] 2 + X 2 Q mb ( j , k ) ) &times; 1 MAPD ( j , k ) , 其中,X1和X2为模型参数,在编码完当前宏块后采用线性回归方法更新X1和X2的值;
f、令k'=k+1,k=k',将当前帧图像中的下一个待处理的宏块作为当前宏块,然后返回步骤b继续执行,直至当前帧图像中的所有宏块处理完毕,再在当前帧图像编码结束后执行步骤④-8,其中,k'=k+1,k=k'中“=”为赋值符号,k'的初始值为0;
④-8、令j'=j+1,j=j',将当前图像组中的下一帧待处理的图像作为当前帧图像,然后返回步骤④-3继续执行,直至当前图像组中的所有图像处理完毕,再执行步骤④-9,其中,j'=j+1,j=j'中“=”为赋值符号,j'的初始值为0;
④-9、令i'=i+1,i=i',将当前视点视频信号中的下一个待处理的图像组作为当前图像组,然后返回步骤④-2继续执行,直至当前视点视频信号中的所有图像组处理完毕,再执行步骤⑤,其中,i'=i+1,i=i'中“=”为赋值符号,i'的初始值为0;
⑤将输入的多视点视频信号中的下一个待处理的视点视频信号作为当前视点视频信号,然后返回步骤②继续执行,直至输入的多视点视频信号中的所有视点视频信号处理完毕。
2.根据权利要求1所述的一种基于恰可察觉失真的多视点视频码率控制方法,其特征在于所述的步骤④-5中γ=0.75。
3.根据权利要求1或2所述的一种基于恰可察觉失真的多视点视频码率控制方法,其特征在于所述的步骤④-6中β=0.5。
4.根据权利要求3所述的一种基于恰可察觉失真的多视点视频码率控制方法,其特征在于所述的步骤c中当前宏块中坐标位置为(x,y)的像素点的恰可察觉失真值JND(x,y,j,k)的获取过程为:
c1、采用离散余弦变换将当前宏块分割成16个互不重叠的尺寸大小为4×4的DCT子块,定义当前宏块中当前正在处理的坐标位置为(x',y')的DCT子块为当前DCT子块,其中,0≤x'<4,0≤y'<4;
c2、计算当前DCT子块中的每个像素点的恰可察觉失真值,将当前DCT子块中坐标位置为(s,t)的像素点的恰可察觉失真值记为fJND(x',y',s,t),fJND(x',y',s,t)=T(x',y',s,t)×bLum(x',y')×be(x',y',s,t),其中,0≤s≤3,0≤t≤3,T(x',y',s,t)表示当前DCT子块中坐标位置为(s,t)的像素点的视觉阈值,T(x',y',s,t)=ξs,t×N'×T0(s,t),N'表示当前DCT子块的维数,T0(s,t)表示当前DCT子块中坐标位置为(s,t)的像素点的空间对比敏感度阈值,且由空间对比敏感度函数计算得到,bLum(x',y')表示当前DCT子块的背景亮度模型, b Lum ( x &prime; , y &prime; ) = 2 &times; ( 1 - C ( x &prime; , y &prime; , 0,0 ) 128 &times; N &prime; ) 3 + 1 C ( x &prime; , y &prime; , 0,0 ) &le; 128 &times; N &prime; 0.8 &times; ( C ( x &prime; , y &prime; , 0,0 ) 128 &times; N &prime; - 1 ) 2 + 1 C ( x &prime; , y &prime; , 0,0 ) > 128 &times; N &prime; , C(x',y',0,0)表示当前DCT子块中坐标位置为(0,0)的像素点的直流系数,be(x',y',s,t)表示当前DCT子块中坐标位置为(s,t)的像素点的对比度掩蔽效应,当当前DCT子块属于边缘区域,并且当前DCT子块中坐标位置为(s,t)的像素点属于低频或中频信息时,则be(x',y',s,t)=γ(x',y'),其他情况下, b e ( x &prime; , y &prime; , s , t ) = &gamma; ( x &prime; , y &prime; ) &times; max { ( C ( x &prime; , y &prime; , s , t ) T ( x &prime; , y &prime; , s , t ) ) 0.36 } , γ(x',y')表示当前DCT子块与当前宏块中的其他DCT子块之间的掩蔽效应,C(x',y',s,t)表示当前DCT子块中坐标位置为(s,t)的像素点的DCT系数,max()为取最大值函数;
c3、对当前DCT子块中的每个像素点的恰可察觉失真值进行修正,得到对应的修正后的恰可察觉失真值;对于当前DCT子块中坐标位置为(s,t)的像素点的恰可察觉失真值fJND(x',y',s,t),利用当前DCT子块中坐标位置为(s,t)的像素点的DCT系数C(x',y',s,t)对其进行修正,得到修正后的恰可察觉失真值,记为fJND'(x',y',s,t), f JND &prime; ( x &prime; , y &prime; , s , t ) = f JND ( x &prime; , y &prime; , s , t ) | C ( x &prime; , y &prime; , s , t ) | &GreaterEqual; f JND ( x &prime; , y &prime; , s , t ) 0 | C ( x &prime; , y &prime; , s , t ) | < f JND ( x &prime; , y &prime; , s , t ) , 其中,“||”为取绝对值符号;
c4、对当前DCT子块中的每个像素点的修正后的恰可察觉失真值进行反离散余弦变换,得到对应的像素域的恰可察觉失真值;对于fJND'(x',y',s,t),对fJND'(x',y',s,t)进行反离散余弦变换,得到像素域的恰可察觉失真值,记为fp(x',y',p,q), f p ( x &prime; , y &prime; , p , q ) = IDCT ( f JND &prime; ( x &prime; , y &prime; , s , t ) ) = &Sigma; s = 0 3 &Sigma; t = 0 3 ( &theta; s &times; &theta; t &times; cos ( ( 2 x &prime; + 1 ) s&pi; 2 N &prime; ) &times; cos ( ( 2 y &prime; + 1 ) t&pi; 2 N &prime; ) &times; f JND &prime; ( x &prime; , y &prime; , s , t ) ) ,其中,IDCT()表示反离散余弦变换函数,p和q分别表示当前DCT子块中的像素点在当前DCT子块中的水平坐标和垂直坐标,0≤p≤3,0≤q≤3, &theta; s = 1 N &prime; s = 0 2 N &prime; s &NotEqual; 0 , &theta; t = 1 N &prime; t = 0 2 N &prime; t &NotEqual; 0 , cos()为余弦函数;
c5、根据背景亮度值对当前DCT子块中的每个像素点的像素域的恰可察觉失真值进行调节,得到对应的最终的像素域的恰可察觉失真值,对于fp(x',y',p,q),根据背景亮度值对fp(x',y',p,q)进行调节,得到最终的像素域的恰可察觉失真值,记为Fp(x',y',p,q),Fp(x',y',p,q)=max{|fp(x',y',p,q)|,fl(x',y')},其中,max()为取最大值函数,“||”为取绝对值符号,fl(x',y')表示当前DCT子块的背景亮度调节值,fl(x',y')=fJND(x',y',0,0)/N',fJND(x',y',0,0)表示当前DCT子块中坐标位置为(0,0)的像素点的恰可察觉失真值;
c6、将当前宏块中的下一个待处理的DCT子块作为当前DCT子块,然后返回步骤c2继续执行,直至当前宏块中的所有DCT子块处理完毕,得到当前宏块中所有像素点的恰可察觉失真值,将当前宏块中坐标位置为(x,y)的像素点的恰可察觉失真值记为JND(x,y,j,k)。
CN201310007062.0A 2013-01-08 2013-01-08 一种基于恰可察觉失真的多视点视频码率控制方法 Expired - Fee Related CN103096079B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310007062.0A CN103096079B (zh) 2013-01-08 2013-01-08 一种基于恰可察觉失真的多视点视频码率控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310007062.0A CN103096079B (zh) 2013-01-08 2013-01-08 一种基于恰可察觉失真的多视点视频码率控制方法

Publications (2)

Publication Number Publication Date
CN103096079A CN103096079A (zh) 2013-05-08
CN103096079B true CN103096079B (zh) 2015-12-02

Family

ID=48208143

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310007062.0A Expired - Fee Related CN103096079B (zh) 2013-01-08 2013-01-08 一种基于恰可察觉失真的多视点视频码率控制方法

Country Status (1)

Country Link
CN (1) CN103096079B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104219522B (zh) * 2013-06-04 2018-02-16 北京大学 一种视频图像编码中的码率控制方法及装置
CN104469386B (zh) * 2014-12-15 2017-07-04 西安电子科技大学 一种基于dof的恰可察觉误差模型的感知立体视频编码方法
US20220051385A1 (en) * 2018-12-12 2022-02-17 Shenzhen Institutes Of Advanced Technology Chinese Academy Of Sciences Method, device and apparatus for predicting picture-wise jnd threshold, and storage medium
CN111757112B (zh) * 2020-06-24 2023-04-25 重庆大学 一种基于恰可察觉失真的hevc感知码率控制方法
CN111901594B (zh) * 2020-06-29 2021-07-20 北京大学 面向视觉分析任务的图像编码方法、电子设备及介质
CN113784126A (zh) * 2021-09-17 2021-12-10 Oppo广东移动通信有限公司 图像编码方法、装置、设备及存储介质
CN114567776B (zh) * 2022-02-21 2023-05-05 宁波职业技术学院 一种基于全景视觉感知特性的视频低复杂度编码方法
CN117522749B (zh) * 2024-01-05 2024-03-22 深圳市欧冶半导体有限公司 图像校正方法、装置、计算机设备和存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101674472A (zh) * 2009-09-25 2010-03-17 上海大学 多视点视频编码的多级码率控制方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8750371B2 (en) * 2010-02-22 2014-06-10 Thomson Licensing Method and apparatus for rate control for multi-view video coding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101674472A (zh) * 2009-09-25 2010-03-17 上海大学 多视点视频编码的多级码率控制方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
激光》.2011,第22卷(第3期),P440-445. *
郑巧燕等.一种结合人眼视觉特性的H.264/AVC码率控制算法.《光电子&#8226 *

Also Published As

Publication number Publication date
CN103096079A (zh) 2013-05-08

Similar Documents

Publication Publication Date Title
CN103096079B (zh) 一种基于恰可察觉失真的多视点视频码率控制方法
CN102970540B (zh) 基于关键帧码率-量化模型的多视点视频码率控制方法
CN102333233B (zh) 一种基于视觉感知的立体图像质量客观评价方法
CN101888566B (zh) 立体视频编码率失真性能估计方法
CN102708567B (zh) 一种基于视觉感知的立体图像质量客观评价方法
US20120082397A1 (en) Contrast enhancement
CN102663747B (zh) 一种基于视觉感知的立体图像客观质量评价方法
CN103916669A (zh) 高动态范围图像压缩方法及装置
CN105761290B (zh) 一种自适应的多尺度分块压缩感知采样方法
CN105635743A (zh) 基于显著性检测和全变分的最小可察觉失真方法及系统
CN101872479A (zh) 一种立体图像客观质量评价方法
CN104378636B (zh) 一种视频图像编码方法及装置
CN104994382B (zh) 一种感知率失真的优化方法
CN104219525A (zh) 基于显著性和最小可察觉失真的感知视频编码方法
CN103634601B (zh) 基于结构相似度的高效视频编码感知码率控制优化方法
CN101605257B (zh) 一种块效应分析方法及系统
CN103136748B (zh) 一种基于特征图的立体图像质量客观评价方法
Yang et al. Optimized-SSIM based quantization in optical remote sensing image compression
CN106056638A (zh) 一种自适应纹理对比度的低复杂度压缩感知图像编码方法
CN104378653B (zh) 一种视频块划分方法及装置
CN103391437B (zh) 一种高动态图像视觉无损压缩的方法及装置
CN103414889B (zh) 一种基于双目恰可察觉失真的立体视频码率控制方法
CN102999911B (zh) 一种基于能量图的立体图像质量客观评价方法
CN102737380B (zh) 一种基于梯度结构张量的立体图像质量客观评价方法
CN104243974B (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: 20151202

Termination date: 20220108