CN103414889A - 一种基于双目恰可察觉失真的立体视频码率控制方法 - Google Patents

一种基于双目恰可察觉失真的立体视频码率控制方法 Download PDF

Info

Publication number
CN103414889A
CN103414889A CN2013101211537A CN201310121153A CN103414889A CN 103414889 A CN103414889 A CN 103414889A CN 2013101211537 A CN2013101211537 A CN 2013101211537A CN 201310121153 A CN201310121153 A CN 201310121153A CN 103414889 A CN103414889 A CN 103414889A
Authority
CN
China
Prior art keywords
frame
image sets
view point
current view
point video
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
Application number
CN2013101211537A
Other languages
English (en)
Other versions
CN103414889B (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 CN201310121153.7A priority Critical patent/CN103414889B/zh
Publication of CN103414889A publication Critical patent/CN103414889A/zh
Application granted granted Critical
Publication of CN103414889B publication Critical patent/CN103414889B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种基于双目恰可察觉失真的立体视频码率控制方法,其通过视点层、图像组层、帧层和宏块层来进行码率控制,在视点层通过预先编码第一个图像组得到左右视点的码率分配权重;在图像组层,根据视点中的剩余比特数、帧率、图像组的长度和缓冲区占用度来分配每个图像组的目标比特数,并确定每个图像组中的关键帧的编码量化参数;在帧层,根据图像组中的剩余比特数和缓冲区占用度,为除关键帧外的每一帧分配目标比特数;在宏块层,计算分配给除关键帧外的每一帧中的每个宏块的目标比特数,并确定每个宏块的编码量化参数,这种码率控制方式在限定的码率条件下能够让码率控制结果更加符合人眼视觉特性,能够获得很好的主观质量。

Description

一种基于双目恰可察觉失真的立体视频码率控制方法
技术领域
本发明涉及一种立体视频码率控制技术,尤其是涉及一种基于双目恰可察觉失真的立体视频码率控制方法。
背景技术
随着多媒体技术的快速发展和应用,三维立体视频技术正越来越受到学术界和工业界的重视,3D多媒体已经成为现在电子消费市场的主要推动力量。此外,伴随着移动手机支持立体显示,3D多媒体进入移动设备已经成为现实。三维立体视频编码标准中采用了视差补偿预测联合运动补偿预测去除各种冗余来提高编码效率。但是三维立体视频技术要真正应用于实践,还有许多问题需要解决,三维立体视频编码的码率控制就是其中的问题之一。如果码率控制问题得不到解决,则很难在恒定带宽下传输三维立体视频流并获得良好稳定的接收端质量,带宽可变时这种情况还会更严重。因此,只有码率控制问题得以解决,三维立体视频技术才有可能在实际中得到真正的应用。
然而,三维立体视频标准中尚未给出码率控制方案,而已有的针对立体视频的码率分配或码率控制方法虽然都取得了一定的效果,但是对于如何更加准确的根据人眼视觉系统(Human Vision System,HVS)的特性来进行码率控制仍然不是很清楚。众所周知,立体图像的BJND(Binocular Just Noticeable Difference,双目恰可察觉失真)模型是通过对双目感知特性中的双目组合和竞争进行具体分析和实验建立的,是一种常用的量化人眼视觉特性的模型。如果立体图像的某个视点的图像失真小于BJND阈值,则该图像失真在人眼的立体视觉下却不能被感知到。综合上述,基于一种较为合适的BJND模型来进行码率控制已经非常迫切,它将根据不同的人眼视觉感知曲线在限定的码率条件下尽可能合理的分配码率以获得最高的主观质量。
发明内容
本发明所要解决的技术问题是提供一种基于双目恰可察觉失真的立体视频码率控制方法,其在保证码率控制精度的前提下,能够有效地提高视频的主观质量。
本发明解决上述技术问题所采用的技术方案为:一种基于双目恰可察觉失真的立体视频码率控制方法,其特征在于包括以下步骤:
①将立体视频中当前待处理的左视点视频或右视点视频定义为当前视点视频;
②将当前视点视频划分成多个图像组,每个图像组中的第一帧为关键帧;
③计算分配给当前视点视频的目标比特数,记为Tview,Tview=Ttotal×w,其中,Ttotal表示立体视频的总目标比特数,w表示当前视点视频的比例权重;
④根据当前视点视频的目标比特数Tview,计算分配给当前视点视频中的每个图像组的目标比特数,将分配给当前视点视频中的第i个图像组的目标比特数记为f(i,0), f ( i , 0 ) = T view F r × N gop i = 1 T view F r × N gop - ( B s 8 - B c ( i - 1 , N gop ) ) 2 ≤ i ≤ N , 其中,1≤i≤N,N表示当前视点视频所包含的图像组的个数,Fr为帧率,Ngop表示当前视点视频中的每个图像组所包含的图像的帧数,Bs表示初始缓存区大小,Bc(i-1,Ngop)表示编码完当前视点视频中的第(i-1)个图像组后的实际缓存区占用度;
⑤获取当前视点视频中的每个图像组中的关键帧的编码量化参数并进行编码,对于当前视点视频中的第1个图像组,将外部设置的量化参数QP0作为该图像组中的关键帧的编码量化参数,然后对该图像组中的关键帧进行编码;对于当前视点视频中除第1个图像组外的每个图像组,根据每个图像组的前一个图像组中的所有B帧图像的实际编码量化参数的平均值,计算每个图像组中的关键帧的编码量化参数,然后对每个图像组中的关键帧进行编码;
⑥计算编码当前视点视频中的每个图像组中除关键帧外的每帧时每个图像组中的剩余比特数,并计算编码当前视点视频中的每个图像组中除关键帧外的每帧时的目标缓存区占用度,然后计算最终分配给当前视点视频中的每个图像组中除关键帧外的每帧的目标比特数;
⑦计算分配给当前视点视频中的每个图像组中除关键帧外的每帧中的每个宏块的目标比特数,然后计算当前视点视频中的每个图像组中除关键帧外的每帧中的每个宏块的编码量化参数,再对当前视点视频中的每个图像组中除关键帧外的每帧中的每个宏块进行编码;
⑧将立体视频中下一个待处理的右视点视频或左视点视频作为当前视点视频,然后返回步骤②继续执行,处理完毕立体视频中的两个视点视频。
所述的步骤⑤的具体过程为:
⑤-1、将当前视点视频中当前待处理的第i个图像组定义为当前图像组,其中,1≤i≤N;
⑤-2、判断当前图像组是否为当前视点视频中的第1个图像组,如果是,则将外部设置的量化参数QP0作为当前图像组中的关键帧的编码量化参数,然后对当前图像组中的关键帧进行编码,再执行步骤⑤-4,否则,执行步骤⑤-3;
⑤-3、根据当前图像组的前一个图像组中的所有B帧图像的实际编码量化参数的平均值,计算当前图像组中的关键帧的编码量化参数,记为Qst
Figure BDA00003027286000031
然后对当前图像组中的关键帧进行编码,再执行步骤⑤-4,其中,SumBQP表示当前图像组的前一个图像组中的所有B帧图像的实际编码量化参数之和,NB表示当前图像组的前一个图像组所包含的B帧图像的帧数,Tr(i-1,Ngop)表示编码当前视点视频中的第(i-1)个图像组时当前视点视频中的剩余比特数,Tr(i,1)表示编码当前图像组中的关键帧时当前图像组中的剩余比特数;
⑤-4、令i=i+1,将当前视点视频中下一个待处理的图像组作为当前图像组,然后返回步骤⑤-2继续执行,直至当前视点视频中的所有图像组处理完毕,此时当前视点视频中的每个图像组中的关键帧已编码完毕,其中,“i=i+1”中的“=”为赋值符号。
所述的步骤⑥的具体过程为:
⑥-1、在恒定带宽的情况下,计算编码当前视点视频中的每个图像组中除关键帧外的每帧时每个图像组中的剩余比特数,对于当前视点视频中的第i个图像组,将编码当前视点视频中的第i个图像组中的第j帧时第i个图像组中的剩余比特数记为Tr(i,j),Tr(i,j)=Tr(i,j-1)-A(i,j-1),然后计算编码当前视点视频中的每个图像组中除关键帧外的每帧时的目标缓存区占用度,对于当前视点视频中的第i个图像组,将编码当前视点视频中的第i个图像组中的第j帧时的目标缓存区占用度记为Tbl(i,j),
Figure BDA00003027286000032
其中,1≤i≤N,2≤j≤Ngop,Tr(i,j-1)表示编码当前视点视频中的第i个图像组中的第j-1帧时第i个图像组中的剩余比特数,A(i,j-1)表示编码当前视点视频中的第i个图像组中的第j-1帧的实际比特数,Tbl(i,j-1)表示编码当前视点视频中的第i个图像组中的第j-1帧时的目标缓存区占用度,Tbl(i,2)表示编码当前视点视频中的第i个图像组中的第2帧时的目标缓存区占用度,Tbl(i,2)=Bc(i,2),Bc(i,2)表示编码完当前视点视频中的第i个图像组中的第2帧后的实际缓存区占用度;
⑥-2、根据编码当前视点视频中的每个图像组中除关键帧外的每帧时的目标缓存区占用度和编码完当前视点视频中的每个图像组中除关键帧外的每帧后的实际缓存区占用度,计算预分配给当前视点视频中的每个图像组中除关键帧外的每帧的目标比特数,对于当前视点视频中的第i个图像组中的第j帧,根据Tbl(i,j)和编码完当前视点视频中的第i个图像组中的第j帧后的实际缓存区占用度Bc(i,j),计算预分配给当前视点视频中的第i个图像组中的第j帧的目标比特数,记为
Figure BDA00003027286000047
f ~ ( i , j ) = T view F r + γ × ( Tbl ( i , j ) - B c ( i , j ) ) , 其中,γ为常数;
⑥-3、根据编码当前视点视频中的每个图像组中除关键帧外的每帧时每个图像组中的剩余比特数,计算预分配给当前视点视频中的每个图像组中除关键帧外的每帧的目标比特数,对于当前视点视频中的第i个图像组中的第j帧,根据编码当前视点视频中的第i个图像组中的第j帧时第i个图像组中的剩余比特数,计算预分配给当前视点视频中的第i个图像组中的第j帧的目标比特数,记为
Figure BDA00003027286000042
Figure BDA00003027286000043
其中,Nb,r表示编码到当前视点视频中的第i个图像组中的第j帧时第i个图像组中剩余的B帧图像的帧数;
⑥-4、根据步骤⑥-2和步骤⑥-3计算得到的预分配给当前视点视频中的每个图像组中除关键帧外的每帧的两个目标比特数,计算最终分配给当前视点视频中的每个图像组中除关键帧外的每帧的目标比特数,对于当前视点视频中的第i个图像组中的第j帧,根据
Figure BDA00003027286000044
Figure BDA00003027286000045
计算最终分配给当前视点视频中的第i个图像组中的第j帧的目标比特数,记为f(i,j), f ( i , j ) = β × f ^ ( i , j ) + ( 1 - β ) × f ~ ( i , j ) , 其中,β为权重。
所述的步骤⑥-2中取γ=0.75;所述的步骤⑥-4中取β=0.5。
所述的步骤⑦的具体过程为:
⑦-1、将当前视点视频中当前待处理的第i个图像组定义为当前图像组,其中,1≤i≤N;
⑦-2、将当前图像组中当前待处理的第j帧图像定义为当前帧,其中,2≤j≤Ngop
⑦-3、将当前帧中当前待处理的第k个宏块定义为当前宏块,其中,1≤k≤Nmb,Nmb表示当前帧所包含的宏块的个数,
Figure BDA00003027286000051
W表示当前帧的宽度,H表示当前帧的高度;
⑦-4、计算当前宏块的平均绝对误差,记为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)的像素点的亮度值,
Figure BDA00003027286000053
表示当前帧的重构图像中与当前宏块中坐标位置为(x,y)的像素点坐标位置相同的像素点的亮度值;
⑦-5、判断当前视点视频为左视点视频还是为右视点视频,如果当前视点视频为左视点视频,则执行步骤⑦-6,如果当前视点视频为右视点视频,则执行步骤⑦-7;
⑦-6、计算分配给当前宏块的目标比特数,记为fmb_l(j,k),
Figure BDA00003027286000054
然后根据fmb_l(j,k)计算当前宏块的编码量化参数,记为Qmb(j,k), f mb _ l ( j , k ) = ( X 1 Q mb ( j , k ) 2 + X 2 Q mb ( j , k ) ) × MAD ( j , k ) , 接着对当前宏块进行编码,再执行步骤⑦-8,其中,Tmb(j,k)表示编码当前宏块时当前帧中的剩余比特数,1≤p≤Nmb,MAD(j,p)表示当前帧中的第p个宏块的平均绝对误差,X1和X2为模型参数,X1和X2的初始值均为0,在编码完一个宏块后采用线性回归技术更新X1和X2值;
⑦-7、计算分配给当前宏块的目标比特数,记为fmb_r(j,k), f mb _ r ( j , k ) = T mb ( j , k ) × ω ( i , j , k ) × MAD ( j , k ) 2 Σ p = k N mb MAD ( j , p ) 2 , 然后根据fmb_r(j,k)计算当前宏块的编码量化参数,记为Qmb(j,k), f mb _ r ( j , k ) = ( X 1 Q mb ( j , k ) 2 + X 2 Q mb ( j , k ) ) × MAD ( j , k ) , 接着对当前宏块进行编码,再执行步骤⑦-8,其中,Tmb(j,k)表示编码当前宏块时当前帧中的剩余比特数,1≤p≤Nmb,MAD(j,p)表示当前帧中的第p个宏块的平均绝对误差,ω(i,j,k)表示当前宏块的乘性加权感知因子,X1和X2为模型参数,X1和X2的初始值均为0,在编码完一个宏块后采用线性回归技术更新X1和X2值;
⑦-8、令k=k+1,将当前帧中下一个待处理的宏块作为当前宏块,然后返回步骤⑦-4继续执行,直至当前帧中的所有宏块处理完毕,得到分配给当前帧中的每个宏块的目标比特数,其中,“k=k+1”中的“=”为赋值符号;
⑦-9、令j=j+1,将当前图像组中下一帧待处理的图像作为当前帧,然后返回步骤⑦-3继续执行,直至当前图像组中的所有帧图像处理完毕,其中,“j=j+1”中的“=”为赋值符号;
⑦-10、令i=i+1,将当前视点视频中下一个待处理的图像组作为当前图像组,然后返回步骤⑦-2继续执行,直至当前视点视频中的所有图像组处理完毕,其中,“i=i+1”中的“=”为赋值符号。
所述的步骤⑦-7中ω(i,j,k)的获取过程为:
a、计算当前帧中的每个像素点的双目恰可察觉失真值,将当前帧中坐标位置为(x',y')的像素点的双目恰可察觉失真值记为BJNDr(x',y'),BJNDr(x',y')=TC(bgl(x'+d,y'),ehl(x'+d,y')),其中,1≤x'≤W,1≤y'≤H,d表示右视点视差值,TC(bgl(x'+d,y'),ehl(x'+d,y'))表示左视点视频中的第i个图像组中的第j帧中坐标位置为(x'+d,y')的像素点的对比度掩蔽效应阈值,TC(bgl(x'+d,y'),ehl(x'+d,y'))=Alimit(bgl(x'+d,y'))+K(bgl(x'+d,y'))×ehl(x'+d,y'),Alimit(bgl(x'+d,y'))表示左视点视频中的第i个图像组中的第j帧中坐标位置为(x'+d,y')的像素点的亮度掩盖因子,
Figure BDA00003027286000071
Figure BDA00003027286000072
,K(bgl(x'+d,y'))表示左视点视频中的第i个图像组中的第j帧中坐标位置为(x'+d,y')的像素点的增大因子的拟合函数,K(bgl(x'+d,y'))=-10-6×(0.7×(bgl(x'+d,y'))2+32×bgl(x'+d,y'))+0.07,bgl(x'+d,y')表示左视点视频中的第i个图像组中的第j帧中以坐标位置为(x'+d,y')的像素点为中心像素点的5×5区域内所有像素点的亮度值的平均值, bg l ( x ′ + d , y ′ ) = 1 25 Σ i ′ = - 2 i ′ = 2 Σ j ′ = - 2 j ′ = 2 I ( x ′ + d + i ′ , y ′ + j ′ ) , I(x'+d+i',y'+j')表示左视点视频中的第i个图像组中的第j帧中坐标位置为(x'+d+i',y'+j')的像素点的亮度值,ehl(x'+d,y')表示左视点视频中的第i个图像组中的第j帧中坐标位置为(x'+d,y')的像素点的梯度因子, eh l ( x ′ + d , y ′ ) = E 2 H ( x ′ + d , y ′ ) + E 2 V ( x ′ + d , y ′ ) , EH(x'+d,y')和EV(x'+d,y')均为5×5的Sobel算子, E H ( x ′ + d , y ′ ) = 1 24 Σ h = 1 5 Σ v = 1 5 I ( x ′ + d - 3 + h , y ′ - 3 + v ) * G H ( h , v ) , I(x'+d-3+h,y'-3+v)表示左视点视频中的第i个图像组中的第j帧中坐标位置为(x'+d-3+h,y'-3+v)的像素点的亮度值,符号“*”为卷积符号,GH(h,v)为 - 1 - 2 0 2 1 - 2 - 3 0 3 2 - 3 - 5 0 5 3 - 2 - 3 0 3 2 - 1 - 2 0 2 1 中坐标位置为(h,v)处的元素值, E V ( x ′ + d , y ′ ) = 1 24 Σ h = 1 5 Σ v = 1 5 I ( x ′ + d - 3 + h , y ′ - 3 + v ) * G V ( h , v ) , GV(h,v)为 1 2 3 2 1 2 3 5 3 2 0 0 0 0 0 - 2 - 3 - 5 - 3 - 2 - 1 - 2 - 3 - 2 - 1 中坐标位置为(h,v)处的元素值;
b、从当前宏块中的所有像素点的双目恰可察觉失真值中找出值最大的双目恰可察觉失真值,然后将找出的值最大的双目恰可察觉失真值作为当前宏块的双目恰可察觉失真值,记为BJNDr(i,j,k);
c、根据BJNDr(i,j,k),计算当前宏块在当前帧中的可容忍失真程度,记为μ(i,j,k),其中,X表示当前帧中每行所包含的宏块的个数,
Figure BDA00003027286000083
Y表示当前帧中每列所包含的宏块的个数,
Figure BDA00003027286000084
Figure BDA00003027286000085
BJNDr(i,j,u,v)表示当前帧中坐标位置为(u,v)的宏块的双目恰可察觉失真值;
d、根据μ(i,j,k),计算当前宏块的乘性加权感知因子,记为ω(i,j,k),
ω ( i , j , k ) = μ ( i , j , k ) - μ min μ max - μ min + 0.5 , 其中,
μmin=min{BJNDr(i,j,u,v)|2≤u≤X-1,2≤v≤Y-1},
μmax=max{BJNDr(i,j,u,v)|2≤u≤X-1,2≤v≤Y-1},min()为取最小值函数,max()为取最大值函数。
与现有技术相比,本发明的优点在于:
1)本发明方法通过视点层、图像组层、帧层和宏块层来进行码率控制,在视点层通过预先编码第一个图像组得到左右视点的码率分配权重;在图像组层,根据视点中的剩余比特数、帧率、图像组的长度和缓冲区占用度来分配每个图像组的目标比特数,并确定每个图像组中的关键帧的编码量化参数;在帧层,根据图像组中的剩余比特数和缓冲区占用度,为除关键帧外的每一帧分配目标比特数;在宏块层,计算分配给除关键帧外的每一帧中的每个宏块的目标比特数,并确定每个宏块的编码量化参数,这种码率控制方式在限定的码率条件下能够让码率控制结果更加符合人眼视觉特性,在保证码率控制精度的前提下,能够获得很好的主观质量。
2)本发明方法根据人眼双目视觉特性,计算出基于视差匹配的双目恰可察觉失真值,在立体视频中定量地来进行宏块层的码率控制,从而有效地提高了立体视频的主观质量。
3)本发明方法在总码率限制条件下,根据计算出的双目恰可察觉失真值作为宏块的乘性加权感知因子,使人眼较敏感的宏块分配到更多的码率,而人眼较不敏感的宏块分配较少的码率,从而使码率控制结果更加符合人眼视觉特性。
附图说明
图1为基于HBP结构的立体视频预测编码结构的示意图;
图2a为BookArrival序列的第9视点原始图像;
图2b为BookArrival序列的第10视点原始图像;
图2c为BookArrival序列的第10视点像素域的双目恰可察觉失真值图;
图2d为BookArrival序列的第10视点像素域的双目恰可察觉失真值图,像素值扩大5倍图;
图2e为BookArrival序列的第10视点宏块化的双目恰可察觉失真值图;
图2f为BookArrival序列的第10视点宏块化的双目恰可察觉失真值图,像素值扩大5倍图;
图3a为AltMoabit序列的第5视点原始图像;
图3b为AltMoabit序列的第6视点原始图像;
图3c为AltMoabit序列的第6视点像素域的双目恰可察觉失真值图;
图3d为AltMoabit序列的第6视点像素域的双目恰可察觉失真值图,像素值扩大5倍图;
图3e为AltMoabit序列的第6视点宏块化的双目恰可察觉失真值图;
图3f为AltMoabit序列的第6视点宏块化的双目恰可察觉失真值图,像素值扩大5倍图;
图4a为BookArrival序列采用Zheng的方法、原始方法和本发明方法的率失真曲线;
图4b为AltMoabit序列采用Zheng的方法、原始方法和本发明方法的率失真曲线;
图4c为Newspaper序列采用Zheng的方法、原始方法和本发明方法的率失真曲线;
图4d为Kendo序列采用Zheng的方法、原始方法和本发明方法的率失真曲线;
图4e为DoorFlowers序列采用Zheng的方法、原始方法和本发明方法的率失真曲线;
图4f为LeavingLaptop序列采用Zheng的方法、原始方法和本发明方法的率失真曲线;
图5a为BookArrival序列采用Zheng方法的重构图像;
图5b为BookArrival序列采用SMBRC方法的重构图像;
图5c为BookArrival序列采用本发明方法的重构图像;
图5d为BookArrival序列采用Zheng方法的重构图像的局部区域一;
图5e为BookArrival序列采用SMBRC方法的重构图像的局部区域一;
图5f为BookArrival序列采用本发明方法的重构图像的局部区域一;
图5g为BookArrival序列采用Zheng方法的重构图像的局部区域二;
图5h为BookArrival序列采用SMBRC方法的重构图像的局部区域二;
图5i为BookArrival序列采用本发明方法的重构图像的局部区域二;
图6a为AltMoabit序列采用Zheng方法的重构图像;
图6b为AltMoabit序列采用SMBRC方法的重构图像;
图6c为AltMoabit序列采用本发明方法的重构图像;
图6d为AltMoabit序列采用Zheng方法的重构图像的局部区域一;
图6e为AltMoabit序列采用SMBRC方法的重构图像的局部区域一;
图6f为AltMoabit序列采用本发明方法的重构图像的局部区域一;
图6g为AltMoabit序列采用Zheng方法的重构图像的局部区域二;
图6h为AltMoabit序列采用SMBRC方法的重构图像的局部区域二;
图6i为AltMoabit序列采用本发明方法的重构图像的局部区域二。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
本发明提出的一种基于双目恰可察觉失真的立体视频码率控制方法,其通过视点层、图像组(GOP,group of pictures)层、帧层和宏块(MB,macro-block)层来进行码率控制。在视点层,通过预先编码第一个GOP得到左右视点的码率分配权重;在GOP层,根据视点中的剩余比特数、帧率、GOP长度和缓冲区占用度来分配每个GOP的目标比特数,并确定每个GOP中的关键帧的编码量化参数;在帧层,根据GOP中的剩余比特数和缓冲区占用度,为除关键帧外的每一帧分配目标比特数;在宏块层,在进行码率控制之前需要根据左视点视频和右视点视频中除关键帧外的每帧图像中的像素点求取右视点视频中的每帧图像中的像素点的双目恰可察觉失真值,将宏块化的双目恰可觉察失真值处理后作为乘性加权感知因子,用于调节宏块层目标码率分配,从而让码率控制结果符合人眼视觉特性。图1给出了基于HBP结构的立体视频预测编码结构的示意图,图1中水平方向的箭头表示时间参考,垂直方向的箭头表示视点间参考,左视点(I视点)不参考其它视点,右视点(P视点)是单向的视点参考,参考I视点。本发明的基于双目恰可察觉失真的立体视频码率控制方法具体包括以下步骤:
①将立体视频中当前待处理的左视点视频或右视点视频定义为当前视点视频。
②将当前视点视频划分成多个图像组,每个图像组中的第一帧为关键帧;
③计算分配给当前视点视频的目标比特数,记为Tview,Tview=Ttotal×w,其中,Ttotal表示立体视频的总目标比特数,w表示当前视点视频的比例权重,在本实施例中,w的取值是通过预先编码当前视点视频中的第一个图像组得到的左视点码率与右视点码率的比例确定的。
④根据当前视点视频的目标比特数Tview,计算分配给当前视点视频中的每个图像组的目标比特数,将分配给当前视点视频中的第i个图像组的目标比特数记为f(i,0), f ( i , 0 ) = T view F r × N gop i = 1 T view F r × N gop - ( B s 8 - B c ( i - 1 , N gop ) ) 2 ≤ i ≤ N , 其中,1≤i≤N,N表示当前视点视频所包含的图像组的个数,Fr为帧率,Ngop表示当前视点视频中的每个图像组所包含的图像的帧数,Bs表示初始缓存区大小,Bc(i-1,Ngop)表示编码完当前视点视频中的第(i-1)个图像组后的实际缓存区占用度。
⑤获取当前视点视频中的每个图像组中的关键帧的编码量化参数并进行编码,对于当前视点视频中的第1个图像组,将外部设置的量化参数QP0作为该图像组中的关键帧的编码量化参数,然后对该图像组中的关键帧进行编码;对于当前视点视频中除第1个图像组外的每个图像组,根据每个图像组的前一个图像组中的所有B帧图像的实际编码量化参数的平均值,计算每个图像组中的关键帧的编码量化参数,然后对每个图像组中的关键帧进行编码。
在此具体实施例中,步骤⑤的具体过程为:
⑤-1、将当前视点视频中当前待处理的第i个图像组定义为当前图像组,其中,1≤i≤N。
⑤-2、判断当前图像组是否为当前视点视频中的第1个图像组,如果是,则将外部设置的量化参数QP0作为当前图像组中的关键帧的编码量化参数,然后对当前图像组中的关键帧进行编码,再执行步骤⑤-4,否则,执行步骤⑤-3。
在此,外部设置的量化参数QP0是在实验的时候根据目标码率设定的,目标码率从高码率到低码率,相应的QP0对应可设置为22、27、32、37,如表2中针对“BookArrival”序列,目标码率分别设置为2454.588、1087.928、569.213、328.962时,量化参数QP0可对应设置为22、27、32、37。
⑤-3、根据当前图像组的前一个图像组中的所有B帧图像的实际编码量化参数的平均值,计算当前图像组中的关键帧的编码量化参数,记为Qst然后对当前图像组中的关键帧进行编码,再执行步骤⑤-4,其中,SumBQP表示当前图像组的前一个图像组中的所有B帧图像的实际编码量化参数之和,NB表示当前图像组的前一个图像组所包含的B帧图像的帧数,Tr(i-1,Ngop)表示编码当前视点视频中的第(i-1)个图像组时当前视点视频中的剩余比特数,Tr(i,1)表示编码当前图像组中的关键帧时当前图像组中的剩余比特数。
⑤-4、令i=i+1,将当前视点视频中下一个待处理的图像组作为当前图像组,然后返回步骤⑤-2继续执行,直至当前视点视频中的所有图像组处理完毕,此时当前视点视频中的每个图像组中的关键帧已编码完毕,其中,“i=i+1”中的“=”为赋值符号。
⑥计算编码当前视点视频中的每个图像组中除关键帧外的每帧时每个图像组中的剩余比特数,并计算编码当前视点视频中的每个图像组中除关键帧外的每帧时的目标缓存区占用度,然后计算最终分配给当前视点视频中的每个图像组中除关键帧外的每帧的目标比特数。
在此具体实施例中,步骤⑥的具体过程为:
⑥-1、在恒定带宽的情况下,计算编码当前视点视频中的每个图像组中除关键帧外的每帧时每个图像组中的剩余比特数,对于当前视点视频中的第i个图像组,将编码当前视点视频中的第i个图像组中的第j帧时第i个图像组中的剩余比特数记为Tr(i,j),Tr(i,j)=Tr(i,j-1)-A(i,j-1),然后计算编码当前视点视频中的每个图像组中除关键帧外的每帧时的目标缓存区占用度,对于当前视点视频中的第i个图像组,将编码当前视点视频中的第i个图像组中的第j帧时的目标缓存区占用度记为Tbl(i,j),
Figure BDA00003027286000131
其中,1≤i≤N,2≤j≤Ngop,Tr(i,j-1)表示编码当前视点视频中的第i个图像组中的第j-1帧时第i个图像组中的剩余比特数,A(i,j-1)表示编码当前视点视频中的第i个图像组中的第j-1帧的实际比特数,Tbl(i,j-1)表示编码当前视点视频中的第i个图像组中的第j-1帧时的目标缓存区占用度,Tbl(i,2)表示编码当前视点视频中的第i个图像组中的第2帧时的目标缓存区占用度,Tbl(i,2)=Bc(i,2),Bc(i,2)表示编码完当前视点视频中的第i个图像组中的第2帧后的实际缓存区占用度。
⑥-2、根据编码当前视点视频中的每个图像组中除关键帧外的每帧时的目标缓存区占用度和编码完当前视点视频中的每个图像组中除关键帧外的每帧后的实际缓存区占用度,计算预分配给当前视点视频中的每个图像组中除关键帧外的每帧的目标比特数,对于当前视点视频中的第i个图像组中的第j帧,根据Tbl(i,j)和编码完当前视点视频中的第i个图像组中的第j帧后的实际缓存区占用度Bc(i,j),计算预分配给当前视点视频中的第i个图像组中的第j帧的目标比特数,记为
Figure BDA00003027286000132
其中,γ为常数,在本实施例中γ取值为0.75。
⑥-3、根据编码当前视点视频中的每个图像组中除关键帧外的每帧时每个图像组中的剩余比特数,计算预分配给当前视点视频中的每个图像组中除关键帧外的每帧的目标比特数,对于当前视点视频中的第i个图像组中的第j帧,根据编码当前视点视频中的第i个图像组中的第j帧时第i个图像组中的剩余比特数,计算预分配给当前视点视频中的第i个图像组中的第j帧的目标比特数,记为
Figure BDA00003027286000134
Figure BDA00003027286000135
其中,Nb,r表示编码到当前视点视频中的第i个图像组中的第j帧时第i个图像组中剩余的B帧图像的帧数。
⑥-4、根据步骤⑥-2和步骤⑥-3计算得到的预分配给当前视点视频中的每个图像组中除关键帧外的每帧的两个目标比特数,计算最终分配给当前视点视频中的每个图像组中除关键帧外的每帧的目标比特数,对于当前视点视频中的第i个图像组中的第j帧,根据
Figure BDA00003027286000141
计算最终分配给当前视点视频中的第i个图像组中的第j帧的目标比特数,记为f(i,j), f ( i , j ) = β × f ^ ( i , j ) + ( 1 - β ) × f ~ ( i , j ) , 其中,β为权重,在本实施例中β取值为0.5。
⑦计算分配给当前视点视频中的每个图像组中除关键帧外的每帧中的每个宏块的目标比特数,然后计算当前视点视频中的每个图像组中除关键帧外的每帧中的每个宏块的编码量化参数,再对当前视点视频中的每个图像组中除关键帧外的每帧中的每个宏块进行编码。
在此具体实施例中,步骤⑦的具体过程为:
⑦-1、将当前视点视频中当前待处理的第i个图像组定义为当前图像组,其中,1≤i≤N。
⑦-2、将当前图像组中当前待处理的第j帧图像定义为当前帧,其中,2≤j≤Ngop
⑦-3、将当前帧中当前待处理的第k个宏块定义为当前宏块,其中,1≤k≤Nmb,Nmb表示当前帧所包含的宏块的个数,
Figure BDA00003027286000143
W表示当前帧的宽度,H表示当前帧的高度。
⑦-4、计算当前宏块的平均绝对误差,记为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)的像素点的亮度值,
Figure BDA00003027286000145
表示当前帧的重构图像中与当前宏块中坐标位置为(x,y)的像素点坐标位置相同的像素点的亮度值。
⑦-5、判断当前视点视频为左视点视频还是为右视点视频,如果当前视点视频为左视点视频,则执行步骤⑦-6,如果当前视点视频为右视点视频,则执行步骤⑦-7。
⑦-6、计算分配给当前宏块的目标比特数,记为fmb_l(j,k),
Figure BDA00003027286000146
然后根据fmb_l(j,k)计算当前宏块的编码量化参数,记为Qmb(j,k), f mb _ l ( j , k ) = ( X 1 Q mb ( j , k ) 2 + X 2 Q mb ( j , k ) ) × MAD ( j , k ) , 接着对当前宏块进行编码,再执行步骤⑦-8,其中,Tmb(j,k)表示编码当前宏块时当前帧中的剩余比特数,1≤p≤Nmb,MAD(j,p)表示当前帧中的第p个宏块的平均绝对误差,X1和X2 f mb _ l ( j , k ) = ( X 1 Q mb ( j , k ) 2 + X 2 Q mb ( j , k ) ) × MAD ( j , k ) 中的模型参数,X1和X2的初始值均为0,在编码完一个宏块后采用现有的线性回归技术更新X1和X2值。
⑦-7、计算分配给当前宏块的目标比特数,记为fmb_r(j,k), f mb _ r ( j , k ) = T mb ( j , k ) × ω ( i , j , k ) × MAD ( j , k ) 2 Σ p = k N mb MAD ( j , p ) 2 , 然后根据fmb_r(j,k)计算当前宏块的编码量化参数,记为Qmb(j,k), f mb _ r ( j , k ) = ( X 1 Q mb ( j , k ) 2 + X 2 Q mb ( j , k ) ) × MAD ( j , k ) , 接着对当前宏块进行编码,再执行步骤⑦-8,其中,Tmb(j,k)表示编码当前宏块时当前帧中的剩余比特数,1≤p≤Nmb,MAD(j,p)表示当前帧中的第p个宏块的平均绝对误差,ω(i,j,k)表示当前宏块的乘性加权感知因子,X1和X2 f mb _ r ( j , k ) = ( X 1 Q mb ( j , k ) 2 + X 2 Q mb ( j , k ) ) × MAD ( j , k ) 中的模型参数,X1和X2的初始值均为0,在编码完一个宏块后采用现有的线性回归技术更新X1和X2值。
在此,ω(i,j,k)的获取过程为:
a、计算当前帧中的每个像素点的双目恰可察觉失真值,将当前帧中坐标位置为(x',y')的像素点的双目恰可察觉失真值记为BJNDr(x',y'),BJNDr(x',y')=TC(bgl(x'+d,y'),ehl(x'+d,y')),其中,1≤x'≤W,1≤y'≤H,d表示右视点视差值,因此对于右视点视频中的图像中坐标位置为(x',y')的像素点,对应左视点视频中对应图像中坐标位置为(x'+d,y')的像素点,TC(bgl(x'+d,y'),ehl(x'+d,y'))表示左视点视频中的第i个图像组中的第j帧中坐标位置为(x'+d,y')的像素点的对比度掩蔽效应阈值,TC(bgl(x'+d,y'),ehl(x'+d,y'))=Alimit(bgl(x'+d,y'))+K(bgl(x'+d,y'))×ehl(x'+d,y'),Alimit(bgl(x'+d,y'))表示左视点视频中的第i个图像组中的第j帧中坐标位置为(x'+d,y')的像素点的亮度掩盖因子,
Figure BDA00003027286000161
Figure BDA00003027286000162
,K(bgl(x'+d,y'))表示左视点视频中的第i个图像组中的第j帧中坐标位置为(x'+d,y')的像素点的增大因子的拟合函数,K(bgl(x'+d,y'))=-10-6×(0.7×(bgl(x'+d,y'))2+32×bgl(x'+d,y'))+0.07,bgl(x'+d,y')表示左视点视频中的第i个图像组中的第j帧中以坐标位置为(x'+d,y')的像素点为中心像素点的5×5区域内所有像素点的亮度值的平均值,bgl(x'+d,y')∈[0,255], bg l ( x ′ + d , y ′ ) = 1 25 Σ i ′ = - 2 i ′ = 2 Σ j ′ = - 2 j ′ = 2 I ( x ′ + d + i ′ , y ′ + j ′ ) , I(x'+d+i',y'+j')表示左视点视频中的第i个图像组中的第j帧中坐标位置为(x'+d+i',y'+j')的像素点的亮度值,ehl(x'+d,y')表示左视点视频中的第i个图像组中的第j帧中坐标位置为(x'+d,y')的像素点的梯度因子, eh l ( x ′ + d , y ′ ) = E 2 H ( x ′ + d , y ′ ) + E 2 V ( x ′ + d , y ′ ) , EH(x'+d,y')和EV(x'+d,y')均为5×5的Sobel算子, E H ( x ′ + d , y ′ ) = 1 24 Σ h = 1 5 Σ v = 1 5 I ( x ′ + d - 3 + h , y ′ - 3 + v ) * G H ( h , v ) , I(x'+d-3+h,y'-3+v)表示左视点视频中的第i个图像组中的第j帧中坐标位置为(x'+d-3+h,y'-3+v)的像素点的亮度值,符号“*”为卷积符号,GH(h,v)为 - 1 - 2 0 2 1 - 2 - 3 0 3 2 - 3 - 5 0 5 3 - 2 - 3 0 3 2 - 1 - 2 0 2 1 中坐标位置为(h,v)处的元素值, E V ( x ′ + d , y ′ ) = 1 24 Σ h = 1 5 Σ v = 1 5 I ( x ′ + d - 3 + h , y ′ - 3 + v ) * G V ( h , v ) , GV(h,v)为 1 2 3 2 1 2 3 5 3 2 0 0 0 0 0 - 2 - 3 - 5 - 3 - 2 - 1 - 2 - 3 - 2 - 1 中坐标位置为(h,v)处的元素值;
b、从当前宏块中的所有像素点的双目恰可察觉失真值中找出值最大的双目恰可察觉失真值,然后将找出的值最大的双目恰可察觉失真值作为当前宏块的双目恰可察觉失真值,记为BJNDr(i,j,k)。
c、根据BJNDr(i,j,k),计算当前宏块在当前帧中的可容忍失真程度,记为μ(i,j,k),
Figure BDA00003027286000174
其中,X表示当前帧中每行所包含的宏块的个数,Y表示当前帧中每列所包含的宏块的个数,
Figure BDA00003027286000176
Figure BDA00003027286000177
BJNDr(i,j,u,v)表示当前帧中坐标位置为(u,v)的宏块的双目恰可察觉失真值,即BJNDr(i,j,u,v)为当前帧中坐标位置为(u,v)的宏块中的所有像素点的双目恰可察觉失真值中的最大值。
d、由于μ(i,j,k)这个值的大小波动较大,因此将其归一化并加上0.5以得到ω(i,j,k),即根据μ(i,j,k),计算当前宏块的乘性加权感知因子,记为ω(i,j,k), ω ( i , j , k ) = μ ( i , j , k ) - μ min μ max - μ min + 0.5 , 其中,μmin=min{BJNDr(i,j,u,v)|2≤u≤X-1,2≤v≤Y-1},μmax=max{BJNDr(i,j,u,v)|2≤u≤X-1,2≤v≤Y-1},min()为取最小值函数,max()为取最大值函数。
根据上述过程计算得到的原始右视点视频中的每帧图像中的每个像素点的双目恰可察觉失真值,在此将双目恰可察觉失真值以灰度图形式表示出来,为了方便显示将其放大5倍。图2a为BookArrival序列的第9视点原始图像;图2b为BookArrival序列的第10视点原始图像;图2c为BookArrival序列的第10视点像素域的双目恰可察觉失真值图,即图2c中显示了BookArrival序列的第10视点中的每个像素点的双目恰可察觉失真值;图2d为BookArrival序列的第10视点像素域的双目恰可察觉失真值图,像素值扩大5倍图;图2e为BookArrival序列的第10视点宏块化的双目恰可察觉失真值图,即图2e中显示了BookArrival序列的第10视点中的每个宏块的双目恰可察觉失真值;图2f为BookArrival序列的第10视点宏块化的双目恰可察觉失真值图,像素值扩大5倍图;图3a为AltMoabit序列的第5视点原始图像;图3b为AltMoabit序列的第6视点原始图像;图3c为AltMoabit序列的第6视点像素域的双目恰可察觉失真值图;图3d为AltMoabit序列的第6视点像素域的双目恰可察觉失真值图,像素值扩大5倍图;图3e为AltMoabit序列的第6视点宏块化的双目恰可察觉失真值图;图3f为AltMoabit序列的第6视点宏块化的双目恰可察觉失真值图,像素值扩大5倍图。观察图2d、图2f和图3d、图3f,可知图中越亮的部分,双目恰可察觉失真值较大,表示人眼对其越敏感,因此在宏块层码率分配时需要分配较多的码率。
⑦-8、令k=k+1,将当前帧中下一个待处理的宏块作为当前宏块,然后返回步骤⑦-4继续执行,直至当前帧中的所有宏块处理完毕,得到分配给当前帧中的每个宏块的目标比特数,其中,“k=k+1”中的“=”为赋值符号。
⑦-9、令j=j+1,将当前图像组中下一帧待处理的图像作为当前帧,然后返回步骤⑦-3继续执行,直至当前图像组中的所有帧图像处理完毕,其中,“j=j+1”中的“=”为赋值符号。
⑦-10、令i=i+1,将当前视点视频中下一个待处理的图像组作为当前图像组,然后返回步骤⑦-2继续执行,直至当前视点视频中的所有图像组处理完毕,其中,“i=i+1”中的“=”为赋值符号。
⑧将立体视频中下一个待处理的右视点视频或左视点视频作为当前视点视频,然后返回步骤②继续执行,处理完毕立体视频中的两个视点视频。
以下为对本发明方法进行测试,以证明本发明方法的有效性和可行性。测试环境如表1所列,在Intel Core2Duo3.0GHz、3.25GB内存的计算机上,测试了Zheng方法(即文献“A new rate control algorithm based on statistical analysis for MVC(基于统计分析的多视点视频码率控制算法)”中公开的方法)、SMBRC(是指立体视频宏块层码率控制方法,即是将单通道JVT-G012算法扩展应用到两个视点并在JMVC中实现)和本发明方法。
表2列出了6个测试序列在不同的基本量化参数下,本发明方法与Zheng方法和SMBRC方法的码率控制精度。表2中的目标码率和实际码率是2个视点的总比特数,码率偏差(Rate Control Error,RCE)用于度量码率控制的精度,即
Figure BDA00003027286000191
其中,Rtarget和Ractual分别表示目标码率和实际码率。从表2中所列的码率控制精度可以看出,因为Zheng方法是帧级的码率控制方法,而本发明方法和SMBRC方法是宏块级的码率控制方法,因此本发明方法和SMBRC方法具有更好的码率控制精度,这从表2中可以明显看出。对于6个测试序列,本发明方法取得了最小的控制偏差,平均仅为0.192%,这足以说明本发明方法能够更精确地控制码率。
图4a、图4b、图4c、图4d、图4e和图4f分别给出了BookArrival序列、AltMoabit序列、Newspaper序列、Kendo序列、DoorFlowers和LeavingLaptop序列采用Zheng方法、SMBRC方法和本发明方法(Proposed)的率失真性能曲线比较。图4a、图4b、图4c、图4d、图4e和图4f中横坐标表示编码左视点、右视点所用的实际码率,纵坐标表示在相应的码率下所对应的平均PSNR值。分析图4a、图4b、图4c、图4d、图4e和图4f,可知在以PSNR标准情况下,本发明方法与Zheng和SMBRC相比具有更好的率失真性能。
图5a、图5b和图5c分别给出了BookArrival序列采用Zheng方法、SMBRC方法和本发明方法的重构图像,图5d、图5e、图5f以及图5g、图5h、图5i分别给出了BookArrival序列采用Zheng方法、SMBRC方法和本发明方法的重构图像的局部区域。观察图5a至图5i中的BookArrival序列可知,在人的头部和腿部,Zheng方法和SMBRC方法的重构图像都出现了不同程度的锯齿和方块效应,而本发明方法的重构图像则无方块效应获得了较高的质量,这是因为本发明方法在考虑双目恰可察觉失真值时,这些区域的双目恰可察觉失真值较大,分配了较多的码率采用较小的编码量化参数,保护了该区域的质量。
图6a、图6b和图6c分别给出了AltMoabit序列采用Zheng方法、SMBRC方法和本发明方法的重构图像,图6d、图6e、图6f以及图6g、图6h、图6i分别给出了AltMoabit序列采用Zheng方法、SMBRC方法和本发明方法的重构图像的局部区域。比较图6d、图6e、图6f以及图6g、图6h、图6i的局部区域,可以看出本发明方法的重构图像的左下角圆形边缘未出现锯齿效应,并且公交车上的英文单词显示较清晰,没有出现失真,优于其他两种方法。
表1测试环境
立体视频编码平台 JMVC7.0 编码结构 分层B帧(HBP)
图片组长度 8 编码帧数 97
帧率 15fps 信道类型 CBR
参考帧数 2 熵编码类型 CABAC
表2本发明方法与Zheng方法和SMBRC方法的码率控制精度比较
Figure BDA00003027286000201

Claims (6)

1.一种基于双目恰可察觉失真的立体视频码率控制方法,其特征在于包括以下步骤:
①将立体视频中当前待处理的左视点视频或右视点视频定义为当前视点视频;
②将当前视点视频划分成多个图像组,每个图像组中的第一帧为关键帧;
③计算分配给当前视点视频的目标比特数,记为Tview,Tview=Ttotal×w,其中,Ttotal表示立体视频的总目标比特数,w表示当前视点视频的比例权重;
④根据当前视点视频的目标比特数Tview,计算分配给当前视点视频中的每个图像组的目标比特数,将分配给当前视点视频中的第i个图像组的目标比特数记为f(i,0), f ( i , 0 ) = T view F r × N gop i = 1 T view F r × N gop - ( B s 8 - B c ( i - 1 , N gop ) ) 2 ≤ i ≤ N , 其中,1≤i≤N,N表示当前视点视频所包含的图像组的个数,Fr为帧率,Ngop表示当前视点视频中的每个图像组所包含的图像的帧数,Bs表示初始缓存区大小,Bc(i-1,Ngop)表示编码完当前视点视频中的第(i-1)个图像组后的实际缓存区占用度;
⑤获取当前视点视频中的每个图像组中的关键帧的编码量化参数并进行编码,对于当前视点视频中的第1个图像组,将外部设置的量化参数QP0作为该图像组中的关键帧的编码量化参数,然后对该图像组中的关键帧进行编码;对于当前视点视频中除第1个图像组外的每个图像组,根据每个图像组的前一个图像组中的所有B帧图像的实际编码量化参数的平均值,计算每个图像组中的关键帧的编码量化参数,然后对每个图像组中的关键帧进行编码;
⑥计算编码当前视点视频中的每个图像组中除关键帧外的每帧时每个图像组中的剩余比特数,并计算编码当前视点视频中的每个图像组中除关键帧外的每帧时的目标缓存区占用度,然后计算最终分配给当前视点视频中的每个图像组中除关键帧外的每帧的目标比特数;
⑦计算分配给当前视点视频中的每个图像组中除关键帧外的每帧中的每个宏块的目标比特数,然后计算当前视点视频中的每个图像组中除关键帧外的每帧中的每个宏块的编码量化参数,再对当前视点视频中的每个图像组中除关键帧外的每帧中的每个宏块进行编码;
⑧将立体视频中下一个待处理的右视点视频或左视点视频作为当前视点视频,然后返回步骤②继续执行,处理完毕立体视频中的两个视点视频。
2.根据权利要求1所述的一种基于双目恰可察觉失真的立体视频码率控制方法,其特征在于所述的步骤⑤的具体过程为:
⑤-1、将当前视点视频中当前待处理的第i个图像组定义为当前图像组,其中,1≤i≤N;
⑤-2、判断当前图像组是否为当前视点视频中的第1个图像组,如果是,则将外部设置的量化参数QP0作为当前图像组中的关键帧的编码量化参数,然后对当前图像组中的关键帧进行编码,再执行步骤⑤-4,否则,执行步骤⑤-3;
⑤-3、根据当前图像组的前一个图像组中的所有B帧图像的实际编码量化参数的平均值,计算当前图像组中的关键帧的编码量化参数,记为Qst
Figure FDA00003027285900021
然后对当前图像组中的关键帧进行编码,再执行步骤⑤-4,其中,SumBQP表示当前图像组的前一个图像组中的所有B帧图像的实际编码量化参数之和,NB表示当前图像组的前一个图像组所包含的B帧图像的帧数,Tr(i-1,Ngop)表示编码当前视点视频中的第(i-1)个图像组时当前视点视频中的剩余比特数,Tr(i,1)表示编码当前图像组中的关键帧时当前图像组中的剩余比特数;
⑤-4、令i=i+1,将当前视点视频中下一个待处理的图像组作为当前图像组,然后返回步骤⑤-2继续执行,直至当前视点视频中的所有图像组处理完毕,此时当前视点视频中的每个图像组中的关键帧已编码完毕,其中,“i=i+1”中的“=”为赋值符号。
3.根据权利要求1或2所述的一种基于双目恰可察觉失真的立体视频码率控制方法,其特征在于所述的步骤⑥的具体过程为:
⑥-1、在恒定带宽的情况下,计算编码当前视点视频中的每个图像组中除关键帧外的每帧时每个图像组中的剩余比特数,对于当前视点视频中的第i个图像组,将编码当前视点视频中的第i个图像组中的第j帧时第i个图像组中的剩余比特数记为Tr(i,j),Tr(i,j)=Tr(i,j-1)-A(i,j-1),然后计算编码当前视点视频中的每个图像组中除关键帧外的每帧时的目标缓存区占用度,对于当前视点视频中的第i个图像组,将编码当前视点视频中的第i个图像组中的第j帧时的目标缓存区占用度记为Tbl(i,j),
Figure FDA00003027285900031
其中,1≤i≤N,2≤j≤Ngop,Tr(i,j-1)表示编码当前视点视频中的第i个图像组中的第j-1帧时第i个图像组中的剩余比特数,A(i,j-1)表示编码当前视点视频中的第i个图像组中的第j-1帧的实际比特数,Tbl(i,j-1)表示编码当前视点视频中的第i个图像组中的第j-1帧时的目标缓存区占用度,Tbl(i,2)表示编码当前视点视频中的第i个图像组中的第2帧时的目标缓存区占用度,Tbl(i,2)=Bc(i,2),Bc(i,2)表示编码完当前视点视频中的第i个图像组中的第2帧后的实际缓存区占用度;
⑥-2、根据编码当前视点视频中的每个图像组中除关键帧外的每帧时的目标缓存区占用度和编码完当前视点视频中的每个图像组中除关键帧外的每帧后的实际缓存区占用度,计算预分配给当前视点视频中的每个图像组中除关键帧外的每帧的目标比特数,对于当前视点视频中的第i个图像组中的第j帧,根据Tbl(i,j)和编码完当前视点视频中的第i个图像组中的第j帧后的实际缓存区占用度Bc(i,j),计算预分配给当前视点视频中的第i个图像组中的第j帧的目标比特数,记为 f ~ ( i , j ) = T view F r + γ × ( Tbl ( i , j ) - B c ( i , j ) ) , 其中,γ为常数;
⑥-3、根据编码当前视点视频中的每个图像组中除关键帧外的每帧时每个图像组中的剩余比特数,计算预分配给当前视点视频中的每个图像组中除关键帧外的每帧的目标比特数,对于当前视点视频中的第i个图像组中的第j帧,根据编码当前视点视频中的第i个图像组中的第j帧时第i个图像组中的剩余比特数,计算预分配给当前视点视频中的第i个图像组中的第j帧的目标比特数,记为
Figure FDA00003027285900034
Figure FDA00003027285900035
其中,Nb,r表示编码到当前视点视频中的第i个图像组中的第j帧时第i个图像组中剩余的B帧图像的帧数;
⑥-4、根据步骤⑥-2和步骤⑥-3计算得到的预分配给当前视点视频中的每个图像组中除关键帧外的每帧的两个目标比特数,计算最终分配给当前视点视频中的每个图像组中除关键帧外的每帧的目标比特数,对于当前视点视频中的第i个图像组中的第j帧,根据
Figure FDA00003027285900041
Figure FDA00003027285900042
计算最终分配给当前视点视频中的第i个图像组中的第j帧的目标比特数,记为f(i,j), f ( i , j ) = β × f ^ ( i , j ) + ( 1 - β ) × f ~ ( i , j ) , 其中,β为权重。
4.根据权利要求3所述的一种基于双目恰可察觉失真的立体视频码率控制方法,其特征在于所述的步骤⑥-2中取γ=0.75;所述的步骤⑥-4中取β=0.5。
5.根据权利要求4所述的一种基于双目恰可察觉失真的立体视频码率控制方法,其特征在于所述的步骤⑦的具体过程为:
⑦-1、将当前视点视频中当前待处理的第i个图像组定义为当前图像组,其中,1≤i≤N;
⑦-2、将当前图像组中当前待处理的第j帧图像定义为当前帧,其中,2≤j≤Ngop
⑦-3、将当前帧中当前待处理的第k个宏块定义为当前宏块,其中,1≤k≤Nmb,Nmb表示当前帧所包含的宏块的个数,
Figure FDA00003027285900044
W表示当前帧的宽度,H表示当前帧的高度;
⑦-4、计算当前宏块的平均绝对误差,记为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)的像素点的亮度值,
Figure FDA00003027285900047
表示当前帧的重构图像中与当前宏块中坐标位置为(x,y)的像素点坐标位置相同的像素点的亮度值;
⑦-5、判断当前视点视频为左视点视频还是为右视点视频,如果当前视点视频为左视点视频,则执行步骤⑦-6,如果当前视点视频为右视点视频,则执行步骤⑦-7;
⑦-6、计算分配给当前宏块的目标比特数,记为fmb_l(j,k),
Figure FDA00003027285900046
然后根据fmb_l(j,k)计算当前宏块的编码量化参数,记为Qmb(j,k), f mb _ l ( j , k ) = ( X 1 Q mb ( j , k ) 2 + X 2 Q mb ( j , k ) ) × MAD ( j , k ) , 接着对当前宏块进行编码,再执行步骤⑦-8,其中,Tmb(j,k)表示编码当前宏块时当前帧中的剩余比特数,1≤p≤Nmb,MAD(j,p)表示当前帧中的第p个宏块的平均绝对误差,X1和X2为模型参数,X1和X2的初始值均为0,在编码完一个宏块后采用线性回归技术更新X1和X2值;
⑦-7、计算分配给当前宏块的目标比特数,记为fmb_r(j,k), f mb _ r ( j , k ) = T mb ( j , k ) × ω ( i , j , k ) × MAD ( j , k ) 2 Σ p = k N mb MAD ( j , p ) 2 , 然后根据fmb_r(j,k)计算当前宏块的编码量化参数,记为Qmb(j,k), f mb _ r ( j , k ) = ( X 1 Q mb ( j , k ) 2 + X 2 Q mb ( j , k ) ) × MAD ( j , k ) , 接着对当前宏块进行编码,再执行步骤⑦-8,其中,Tmb(j,k)表示编码当前宏块时当前帧中的剩余比特数,1≤p≤Nmb,MAD(j,p)表示当前帧中的第p个宏块的平均绝对误差,ω(i,j,k)表示当前宏块的乘性加权感知因子,X1和X2为模型参数,X1和X2的初始值均为0,在编码完一个宏块后采用线性回归技术更新X1和X2值;
⑦-8、令k=k+1,将当前帧中下一个待处理的宏块作为当前宏块,然后返回步骤⑦-4继续执行,直至当前帧中的所有宏块处理完毕,得到分配给当前帧中的每个宏块的目标比特数,其中,“k=k+1”中的“=”为赋值符号;
⑦-9、令j=j+1,将当前图像组中下一帧待处理的图像作为当前帧,然后返回步骤⑦-3继续执行,直至当前图像组中的所有帧图像处理完毕,其中,“j=j+1”中的“=”为赋值符号;
⑦-10、令i=i+1,将当前视点视频中下一个待处理的图像组作为当前图像组,然后返回步骤⑦-2继续执行,直至当前视点视频中的所有图像组处理完毕,其中,“i=i+1”中的“=”为赋值符号。
6.根据权利要求5所述的一种基于双目恰可察觉失真的立体视频码率控制方法,其特征在于所述的步骤⑦-7中ω(i,j,k)的获取过程为:
a、计算当前帧中的每个像素点的双目恰可察觉失真值,将当前帧中坐标位置为(x',y')的像素点的双目恰可察觉失真值记为BJNDr(x',y'),BJNDr(x',y')=TC(bgl(x'+d,y'),ehl(x'+d,y')),其中,1≤x'≤W,1≤y'≤H,d表示右视点视差值,TC(bgl(x'+d,y'),ehl(x'+d,y'))表示左视点视频中的第i个图像组中的第j帧中坐标位置为(x'+d,y')的像素点的对比度掩蔽效应阈值,TC(bgl(x'+d,y'),ehl(x'+d,y'))=Alimit(bgl(x'+d,y'))+K(bgl(x'+d,y'))×ehl(x'+d,y'),Alimit(bgl(x'+d,y'))表示左视点视频中的第i个图像组中的第j帧中坐标位置为(x'+d,y')的像素点的亮度掩盖因子,
Figure FDA00003027285900061
,K(bgl(x'+d,y'))表示左视点视频中的第i个图像组中的第j帧中坐标位置为(x'+d,y')的像素点的增大因子的拟合函数,K(bgl(x'+d,y'))=-10-6×(0.7×(bgl(x'+d,y'))2+32×bgl(x'+d,y'))+0.07,bgl(x'+d,y')表示左视点视频中的第i个图像组中的第j帧中以坐标位置为(x'+d,y')的像素点为中心像素点的5×5区域内所有像素点的亮度值的平均值, bg l ( x ′ + d , y ′ ) = 1 25 Σ i ′ = - 2 i ′ = 2 Σ j ′ = - 2 j ′ = 2 I ( x ′ + d + i ′ , y ′ + j ′ ) , I(x'+d+i',y'+j')表示左视点视频中的第i个图像组中的第j帧中坐标位置为(x'+d+i',y'+j')的像素点的亮度值,ehl(x'+d,y')表示左视点视频中的第i个图像组中的第j帧中坐标位置为(x'+d,y')的像素点的梯度因子, eh l ( x ′ + d , y ′ ) = E 2 H ( x ′ + d , y ′ ) + E 2 V ( x ′ + d , y ′ ) , EH(x'+d,y')和EV(x'+d,y')均为5×5的Sobel算子, E H ( x ′ + d , y ′ ) = 1 24 Σ h = 1 5 Σ v = 1 5 I ( x ′ + d - 3 + h , y ′ - 3 + v ) * G H ( h , v ) , I(x'+d-3+h,y'-3+v)表示左视点视频中的第i个图像组中的第j帧中坐标位置为(x'+d-3+h,y'-3+v)的像素点的亮度值,符号“*”为卷积符号,GH(h,v)为 - 1 - 2 0 2 1 - 2 - 3 0 3 2 - 3 - 5 0 5 3 - 2 - 3 0 3 2 - 1 - 2 0 2 1 中坐标位置为(h,v)处的元素值, E V ( x ′ + d , y ′ ) = 1 24 Σ h = 1 5 Σ v = 1 5 I ( x ′ + d - 3 + h , y ′ - 3 + v ) * G V ( h , v ) , GV(h,v)为 1 2 3 2 1 2 3 5 3 2 0 0 0 0 0 - 2 - 3 - 5 - 3 - 2 - 1 - 2 - 3 - 2 - 1 中坐标位置为(h,v)处的元素值;
b、从当前宏块中的所有像素点的双目恰可察觉失真值中找出值最大的双目恰可察觉失真值,然后将找出的值最大的双目恰可察觉失真值作为当前宏块的双目恰可察觉失真值,记为BJNDr(i,j,k);
c、根据BJNDr(i,j,k),计算当前宏块在当前帧中的可容忍失真程度,记为μ(i,j,k),
Figure FDA00003027285900074
其中,X表示当前帧中每行所包含的宏块的个数,
Figure FDA00003027285900075
Y表示当前帧中每列所包含的宏块的个数,
Figure FDA00003027285900077
BJNDr(i,j,u,v)表示当前帧中坐标位置为(u,v)的宏块的双目恰可察觉失真值;
d、根据μ(i,j,k),计算当前宏块的乘性加权感知因子,记为ω(i,j,k), ω ( i , j , k ) = μ ( i , j , k ) - μ min μ max - μ min + 0.5 , 其中,μmin=min{BJNDr(i,j,u,v)|2≤u≤X-1,2≤v≤Y-1},μmax=max{BJNDr(i,j,u,v)|2≤u≤X-1,2≤v≤Y-1},min()为取最小值函数,max()为取最大值函数。
CN201310121153.7A 2013-04-09 2013-04-09 一种基于双目恰可察觉失真的立体视频码率控制方法 Active CN103414889B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310121153.7A CN103414889B (zh) 2013-04-09 2013-04-09 一种基于双目恰可察觉失真的立体视频码率控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310121153.7A CN103414889B (zh) 2013-04-09 2013-04-09 一种基于双目恰可察觉失真的立体视频码率控制方法

Publications (2)

Publication Number Publication Date
CN103414889A true CN103414889A (zh) 2013-11-27
CN103414889B CN103414889B (zh) 2016-06-22

Family

ID=49607871

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310121153.7A Active CN103414889B (zh) 2013-04-09 2013-04-09 一种基于双目恰可察觉失真的立体视频码率控制方法

Country Status (1)

Country Link
CN (1) CN103414889B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104469386A (zh) * 2014-12-15 2015-03-25 西安电子科技大学 一种基于dof的恰可察觉误差模型的感知立体视频编码方法
CN104994387A (zh) * 2015-06-25 2015-10-21 宁波大学 一种融合图像特征的码率控制方法
CN109191427A (zh) * 2018-07-24 2019-01-11 中国传媒大学 基于双目抑制的dwt域亮度掩蔽模型构建方法及装置
CN111182300A (zh) * 2018-11-09 2020-05-19 华为技术有限公司 编码参数的确定方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120069903A1 (en) * 2009-04-22 2012-03-22 Lg Electronics Inc. Reference picture list changing method of multi-view video
CN102970540A (zh) * 2012-11-21 2013-03-13 宁波大学 基于关键帧码率-量化模型的多视点视频码率控制方法
CN103024387A (zh) * 2012-12-17 2013-04-03 宁波大学 一种基于感知的多视点视频码率控制方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120069903A1 (en) * 2009-04-22 2012-03-22 Lg Electronics Inc. Reference picture list changing method of multi-view video
CN102970540A (zh) * 2012-11-21 2013-03-13 宁波大学 基于关键帧码率-量化模型的多视点视频码率控制方法
CN103024387A (zh) * 2012-12-17 2013-04-03 宁波大学 一种基于感知的多视点视频码率控制方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
郑巧燕: "基于视觉感知特性的码率控制算法研究", 《中国优秀硕士学位论文全文数据库信息科技辑》, no. 3, 15 March 2013 (2013-03-15) *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104469386A (zh) * 2014-12-15 2015-03-25 西安电子科技大学 一种基于dof的恰可察觉误差模型的感知立体视频编码方法
CN104469386B (zh) * 2014-12-15 2017-07-04 西安电子科技大学 一种基于dof的恰可察觉误差模型的感知立体视频编码方法
CN104994387A (zh) * 2015-06-25 2015-10-21 宁波大学 一种融合图像特征的码率控制方法
CN104994387B (zh) * 2015-06-25 2017-10-31 宁波大学 一种融合图像特征的码率控制方法
CN109191427A (zh) * 2018-07-24 2019-01-11 中国传媒大学 基于双目抑制的dwt域亮度掩蔽模型构建方法及装置
CN109191427B (zh) * 2018-07-24 2020-09-22 中国传媒大学 基于双目抑制的dwt域亮度掩蔽模型构建方法及装置
CN111182300A (zh) * 2018-11-09 2020-05-19 华为技术有限公司 编码参数的确定方法、装置、设备及存储介质
CN111182300B (zh) * 2018-11-09 2021-07-09 华为技术有限公司 编码参数的确定方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN103414889B (zh) 2016-06-22

Similar Documents

Publication Publication Date Title
CN102970540B (zh) 基于关键帧码率-量化模型的多视点视频码率控制方法
CN101888566B (zh) 立体视频编码率失真性能估计方法
CN101835056B (zh) 基于模型的纹理视频与深度图的最优码率分配方法
CN103179405B (zh) 一种基于多级感兴趣区域的多视点视频编码方法
CN103533343B (zh) 一种基于数字水印的立体图像质量客观评价方法
CN103152600B (zh) 一种立体视频质量评价方法
CN105338343B (zh) 一种基于双目感知的无参考立体图像质量评价方法
CN103024387B (zh) 一种基于感知的多视点视频码率控制方法
CN103096079B (zh) 一种基于恰可察觉失真的多视点视频码率控制方法
CN103780895B (zh) 一种立体视频质量评价方法
CN104811691B (zh) 一种基于小波变换的立体视频质量客观评价方法
CN101572806B (zh) 一种基于h.264的i帧码率控制方法
CN103136748B (zh) 一种基于特征图的立体图像质量客观评价方法
CN103414889B (zh) 一种基于双目恰可察觉失真的立体视频码率控制方法
CN102938840A (zh) 应用于多视点视频编码系统的关键帧量化参数选择方法
CN105120282A (zh) 一种时域依赖的码率控制比特分配方法
CN102065296A (zh) 一种三维立体视频编码方法
CN108513132B (zh) 一种视频质量评价方法及装置
CN102710949A (zh) 一种基于视觉感知的立体视频编码方法
CN104243974B (zh) 一种基于三维离散余弦变换的立体视频质量客观评价方法
CN102737380A (zh) 一种基于梯度结构张量的立体图像质量客观评价方法
CN102271279B (zh) 一种立体图像的最小可察觉变化步长的客观分析方法
CN102724524B (zh) 一种基于h.264 的立体视频码率控制方法
CN102123276A (zh) 控制场景切换码率方法
CN102930528B (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