一种基于浮点型柱状透镜光栅的多视点图像融合方法转让专利

申请号 : CN201710767972.7

文献号 : CN107483912B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘然张艳珍田逢春李德豪刘明明郑杨婷

申请人 : 成都斯斐德科技有限公司重庆大学

摘要 :

本发明公开了一种基于浮点型柱状透镜光栅的多视点图像融合方法,在现有技术基础上,针对系数阵列生成,采用先乘除法后取余运算,然后再对行和列的计算进行变形,这样不仅能减少取余运算的个数,而且也能使得变形之后的计算中减少了浮点型数据的乘法运算,计算量更少。在行、列变形之后的公式上,转化取余运算,硬件中没有对于浮点型数据的取余运算,通过一个比较器转化为硬件能实现的加减运算;同时,在进行图像子像素采集时,融合图像中的每一个子像素来源于不同的两个视点,且每个视点占不同的比例,这样将多幅视图进行子像素采集并加权融合成一幅适合于浮点型柱状透镜光栅显示的裸眼3D图像,在保证精度的同时,更加节省硬件资源。

权利要求 :

1.一种基于浮点型柱状透镜光栅的多视点图像融合方法,其特征在于,包括以下步骤:(1)、系数阵列的生成

首先,根据以下公式计算出第一个R、G、B子像素对应的系数K0,0、K1,0、K2,0:其中,i,j分别表示最终融合图像中R、G、B子像素位置的横坐标和纵坐标,融合图像的第一行和第一列所对应的i,j的值都取为0,α表示柱状透镜轴相对于立体显示屏垂直轴的夹角,tanα是夹角的正切值,%表示取余运算,pitch表示光栅水平覆盖的子像素的宽度,N表示总的视点的个数,即输入的N幅视图;

然后,根据以下公式计算出其余的每一个R、G、B子像素的对应的系数:Ki+3,j=(Ki,j+3ρ)%N  (2)

Ki,j+1=(Ki,j-3ρtanα)%N  (3)

对于第一行的系数值,由K0,0、K1,0、K2,0,根据公式(2)进行递推得到,递推时,取余运算之前的数据只需要加上一个常量3ρ即可,其中:除了第一行之外,每一行的起始的R、G、B子像素的系数根据公式(3)进行递推得到,递推时,取余运算之前的数据只需要减一个常量3ρtanα即可,每一行其余的R、G、B子像素的系数根据公式(2)进行递推得到;

其中,进行取余运算时,前面的量表示为M,求M%N的结果为:

(2)、子像素的采集

2.1)、根据步骤(1)生成的系数阵列挑选采集视点及权重:取当前位置(i,j)的系数Ki,j,将其拆分为整数部分(int)和小数部分(dec),其中,整数部分int作为选取视点的依据,小数部分则作为视点权重;

2.2)、采用相邻两个视点的子像素作为要采集的对象,其中一个是直接从系数Ki,j中拆分出来的整数部分int所对应的视点,另外一个则是相邻的下一个视点,即int+1对应的视点,若整数部分int等于N,则下一个视点对应于0视点,则融合后的整幅图像的每个子像素都取自于不同的两个视点;

2.3)、从系数Ki,j中取出的小数部分dec作为权值直接分配给int+1视点的子像素,而int视点的子像素的权值则是1减去小数部分dec之后得到的小数,int、int+1视点的子像素的值,经过加权(即乘以各自的权值)之后两者求和即得到最终融合图像的子像素的值,用公式表示如下:其中, 为int+1视点的子像素在位置(i,j)的值, 为int视点的子像素在位置(i,j)的值,Yi,j为最终融合图像的子像素在位置(i,j)的值。

说明书 :

一种基于浮点型柱状透镜光栅的多视点图像融合方法

技术领域

[0001] 本发明属于裸眼3D显示(glass-free 3D display)技术领域,更为具体地讲,涉及一种基于浮点型柱状透镜光栅的多视点图像融合方法。

背景技术

[0002] 裸眼3D显示(glasses-free 3D display),也即自由立体显示(autostereoscopic display),其原理是利用人的双眼视差(parallax or disparity)特性,使得观看者无需借助3D眼镜等辅助设备,直接通过裸眼3D显示屏等显示设备就可以感知和体验三维景深。一般而言,显示尺寸越大,分辨率越高,裸眼3D显示的效果就越震撼。而超高清显示的分辨率达到了3840×2160。为了增大视角范围,增强3D显示的效果,通常需要多个视点的视图。根据显示设备的要求,对多幅视图的子像素进行采集,从各个视图中抽取我们需要的像素值最终融合为一幅具有裸眼3D显示效果的图像。
[0003] 多视点图像融合是裸眼3D显示的关键问题。在整数型显示设备上,在2014年12月03日公布的、公布号为CN104185011A的中国发明专利申请中提出了一种多视点图像融合装置的方案,该方案主要是根据子像素光栅排列表确定融合图像中每一行的起始视点,起始视点的排列是周期循环的,直到所有的行起始视点都确定。而每一行从起始视点开始,以N为一个循环周期顺序的从多视图中抽取对应的子像素。对于浮点型的显示设备,上述方案已不适用。
[0004] 在2015年07月29公布的、公布号为CN104811686A的中国发明专利中提出了一种浮点型多视点裸眼立体合成图像的硬件实现方法,通过对像素合成公式进行等价变换,将原本对浮点型变量的取余运算转化为对常量的取余运算,进而通过比较器转化为易于硬件实现的四则运算。由于浮点型的柱状透镜对精度的要求高,对视图的处理更加精细,而且人们对于像素的分辨率的要求也越来越高,硬件资源消耗比较大。

发明内容

[0005] 本发明的目的在于克服现有技术的不足,提出一种基于浮点型柱状透镜光栅的多视点图像融合方法,在保证精度的同时,更加节省硬件资源。
[0006] 为实现上述发明目的,本发明基于浮点型柱状透镜光栅的多视点图像融合方法,其特征在于,包括以下步骤:
[0007] (1)、系数阵列的生成
[0008] 首先,根据以下公式计算出第一个R、G、B子像素对应的系数K0,0、K1,0、K2,0:
[0009]
[0010] 其中,i,j分别表示最终融合图像中R、G、B子像素位置的横坐标和纵坐标,融合图像的第一行和第一列所对应的i,j的值都取为0,α表示柱状透镜轴相对于立体显示屏垂直轴的夹角,tanα是夹角的正切值,%表示取余运算,pitch表示光栅水平覆盖的子像素的宽度,N表示总的视点的个数,即输入的N幅视图;
[0011] 然后,根据以下公式计算出其余的每一个R、G、B子像素的对应的系数:
[0012] Ki+3,j=(Ki,j+3ρ)%N  (2)
[0013] Ki,j+1=(Ki,j-3ρtanα)%N  (3)
[0014] 对于第一行的系数值,由K0,0、K1,0、K2,0,根据公式(2)进行递推得到,递推时,取余运算之前的数据只需要加上一个常量3ρ即可,其中:
[0015]
[0016] 除了第一行之外,每一行的起始的R、G、B子像素的系数根据公式(3)进行递推得到,递推时,取余运算之前的数据只需要减一个常量3ρtanα即可,每一行其余的R、G、B子像素的系数根据公式(2)进行递推得到;
[0017] 其中,进行取余运算时,前面的量表示为M,求M%N的结果为:
[0018]
[0019] (2)、子像素的采集
[0020] 2.1)、根据步骤(1)生成的系数阵列挑选采集视点及权重:取当前位置(i,j)的系数Ki,j,将其拆分为整数部分(int)和小数部分(dec),其中,整数部分int作为选取视点的依据,小数部分则作为视点权重;
[0021] 2.2)、采用相邻两个视点的子像素作为要采集的对象,其中一个是直接从系数Ki,j中拆分出来的整数部分int所对应的视点,另外一个则是相邻的下一个视点,即int+1对应的视点,若整数部分int等于N,则下一个视点对应于0视点,则融合后的整幅图像的每个子像素都取自于不同的两个视点;
[0022] 2.3)、从系数Ki,j中取出的小数部分dec作为权值直接分配给int+1视点的子像素,而int视点的子像素的权值则是1减去小数部分dec之后得到的小数,int、int+1视点的子像素的值,经过加权(即乘以各自的权值)之后两者求和即得到最终融合图像的子像素的值,用公式表示如下:
[0023]
[0024] 其中, 为int+1视点的子像素在位置(i,j)的值, 为int视点的子像素在位置(i,j)的值,Yi,j为最终融合图像的子像素在位置(i,j)的值。
[0025] 本发明的目的是这样实现的。
[0026] 在现有浮点型多视点裸眼立体合成图像的基础上,针对系数阵列生成,采用先乘除法后取余运算,然后再对行和列的计算进行变形,这样不仅能减少取余运算的个数,而且也能使得变形之后的计算中减少了浮点型数据的乘法运算,计算量更少。在行、列变形之后的公式上,转化取余运算,硬件中没有对于浮点型数据的取余运算,通过一个比较器转化为硬件能实现的加减运算;同时,在进行图像子像素采集时,融合图像中的每一个子像素来源于不同的两个视点,且每个视点占不同的比例,这样将多幅视图进行子像素采集并加权融合成一幅适合于浮点型柱状透镜光栅显示的裸眼3D图像,在保证精度的同时,更加节省硬件资源。

附图说明

[0027] 图1是柱状透镜成像示意图;
[0028] 图2是柱镜光栅子像素分布图;
[0029] 图3是8视点子像素抽取光栅排列图;
[0030] 图4是应用本发明的多视点图像融合系统的结构图;
[0031] 图5是系数阵列生成模块硬件实现电路图。

具体实施方式

[0032] 下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
[0033] 一、裸眼3D显示
[0034] 裸眼3D显示技术从显示设备入手,在显示屏前加一层屏障或者透镜,使左、右眼能够看到具有一定视差的2D图像,这样无需佩戴辅助设备即可产生深度感知。
[0035] 裸眼3D显示技术依据其显示特性和光学结构,主要可分为视差屏障显示技术、柱状透镜显示技术、多层显示技术以及全息技术等几种类型。本发明针对的是柱状透镜显示技术,其在液晶显示屏前面贴合了一层微柱透镜,每个微柱透镜下面的图像像素被分成R、G、B子像素。子像素光线通过微柱透镜时因折射的存在其传播线路会发生改变,从而使左眼视图送入左眼,右眼视图送入右眼。当增加视点个数时,观众便可在多个方向观看到不同的视图,其原理如图1所示。微柱透镜的存在会放大像素间的距离,从而形成摩尔纹,因此需要子像素交叉排列,且让微柱透镜与像素列呈一定的倾斜角度以消除这一影响。微柱透镜必须严格按照一定的规律紧密排列,各个微柱透镜的参数是完全一致的。两眼之间的距离和微柱透镜对光线的折射特性共同决定了两眼能看到的立体视觉效果。而对于浮点型柱状透镜光栅,其显示精度的要求更高,显示的裸眼3D效果也更明显。
[0036] 图2展示了柱状透镜光栅板的摆放及参数,并展现了多视点的R、G、B子像素的排列分布情况。其中xoff表示R、G、B子像素相对于柱状透镜的左边缘水平位移的距离,一般情况下,xoff取0。柱状透镜光栅有一定的倾斜角α,它实际上是柱状透镜轴相对于立体显示屏垂直轴的夹角。pitch表示光栅在水平方向上覆盖的子像素的个数(可以是小数),i,j(整数)分别代表R、G、B子像素位置的横坐标和纵坐标。
[0037] 二、多视点图像融合方法
[0038] 目前,已有多种多视点图像融合方法,这些方法可分为模拟合成方法和数字合成方法两类。
[0039] 数字合成方法一般是先通过参数(主要包括光栅的宽度d、光栅倾斜角度θ、以及所采用的视点数N)计算得到光栅子像素排列表。然后根据光栅子像素排列表,采集各视点图像中有用的子像素。从每行的起始位置开始,以R、G、B子像素进行循环排列,以每N个子像素为一个基本排列单元,将各个视点中的有用子像素按照光栅子像素排列表的排列规律填入合成立体图像中。填充过程中,以行为单位循环Hi次,Hi代表整个图像的行数,最终生成一幅合成立体图像。
[0040] 本发明基于浮点型柱状透镜光栅的多视点图像融合方法,包含了系数阵列的生成和子像素的采集两个步骤。
[0041] 2.1)、系数阵列的生成
[0042] 系数阵列的生成主要是为子像素的采集提供采集依据,包括所采集的视点和采集的视点所占的权重。系数阵列是根据输入视图的分辨率和视点的个数及柱状透镜光栅的参数等生成的。现有技术中,具体的系数阵列的生成由下面的公式来实现:
[0043]
[0044] 其中i,j分别代表最终融合图像中R、G、B子像素位置的横坐标和纵坐标,融合图像的第一行和第一列所对应的i,j的值都取为0。在本实施例中,分辨率为3840×2160(4K)图像有R、G、B 3个子像素,故i∈[0,3840×3),j∈[0,2160)。xoff表示R、G、B子像素相对于柱状透镜的左边缘水平位移的距离,一般情况下,xoff取0。柱状透镜光栅有一点的倾斜角,α表示柱状透镜轴相对于立体显示屏垂直轴的夹角,tanα是夹角的正切值,%表示取余运算,pitch表示光栅水平覆盖的子像素的宽度,N表示总的视点的个数,输入的N幅视图。
[0045] 在本发明中,将上述公式(6)简化变形为:
[0046]
[0047] 其中,N是一个整数型的量,而pitch是一个浮点型的量。由于浮点型数据进行取余运算比整型数据更耗资源,因此,采用公式(1)比采用公式(6)更有利于图像融合方法的硬件实现,而且,公式(1)先进行乘除运算后取余数,在后续的优化中更能减少计算量。
[0048] 对于公式(2)还可继续简化,tanα、pitch都是光栅的参数,根据显示器的规格便能确定,N是视点数。
[0049] 令
[0050] 上述参数都是常量。
[0051] 如果计算出第一个R、G、B子像素对应的系数K0,0、K1,0、K2,0:那么其余的每一个R、G、B子像素的计算可根据下面的公式进行计算:
[0052] Ki+3,j=(Ki,j+3ρ)%N  (2)
[0053] Ki,j+1=(Ki,j-3ρtanα)%N  (3)
[0054] 本发明利用公式(1)计算出第一个R、G、B子像素对应的系数K0,0、K1,0、K2,0,然后,按照公式(2)、(3)递推计算出其余的系数。
[0055] 相对于现有技术的公式(6),不需要每一个系数都进行多次的乘法、加法运算。相比公式(6)经过变形为公式(1)之后,在做行、列计算简化,可减少取余运算的次数,也省去了后面的乘法运算。
[0056] 基于前面提出的行、列递推计算机理,下一组R、G、B子像素系数相当于在上一组系数的基础上只有一个固定常量的增减,故取余运算可做如下变换。上式的取余对象是N,而N是输入视图的个数,是一个整数型的常量,令取余运算前面的量为M,求M%N的结果:
[0057]
[0058] 最后的结果是在[0,N)这个范围之内即可。公式(5)将硬件难以实现的浮点型取余操作转换成了简单的四则运算,不仅不影响精度的要求,而且简化了计算,提高了运算速率,硬件资源消耗也节省了。
[0059] 本实施例中,采用8幅视点视图进行融合,即N=8时,8视点的视图输入,选取斯斐德公司生产的裸眼3D显示器,该显示器拥有支持4K及以上分辨率的整型或浮点型柱状透镜光栅,显示画面亮度高,电视屏幕分辨率为3840×2160。根据浮点型柱状透镜光栅的参数,可得到表1所示的系数阵列。
[0060]
[0061] 表1
[0062] 子像素采集则根据表1的系数阵列挑选采集视点及权重:取当前位置(i,j)的系数Ki,j,将其拆分为整数部分(int)和小数部分(dec),其中,整数部分int作为选取视点的依据,小数部分则作为视点权重。
[0063] 和一般的子像素采集不同,本发明采用相邻两个视点的子像素作为要采集的对象,其中一个是直接从系数Ki,j,中拆分出来的整数部分int所对应的视点,另外一个则是相邻的下一个视点,即int+1对应的视点,若整数部分int等于N,则下一个视点对应于0视点,则融合后的整幅图像的每个子像素都取自于不同的两个视点;
[0064] 整幅图像的每个子像素都取自于不同的视点(视图)。根据表1系数值中的整数部分可以得知光栅子像素来源于哪两个视点,图3展示了8视点柱状透镜光栅子像素的视点排列表。
[0065] 前面已经分别得到了当前位置子像素选取的视点和权重值,而两幅视图的权值分布则是从系数Ki,j中取出的小数部分dec作为权值直接分配给int+1视点的子像素,而int视点的子像素的权值则是1减去小数部分dec之后得到的小数,int、int+1视点的子像素的值,经过加权(即乘以各自的权值)之后两者求和即得到最终融合图像的子像素的值,用公式表示如下:
[0066]
[0067] 其中, 为int+1视点的子像素在位置(i,j)的值, 为int视点的子像素在位置(i,j)的值,Yi,j为最终融合图像的子像素在位置(i,j)的值。
[0068] 三、结果与分析
[0069] 本发明对现有多视点图像融合方法进行优化,优化的目的旨在便于浮点型数据的硬件实现,且尽量节省资源消耗。
[0070] 在本实施例中,如图4所示,多视点图像融合系统主要分为三个子模块,视图输入模块,系数阵列生成模块,子像素采集模块。其中,视图输入模块接受数据有效信号和具有人眼视差的N幅视图,N幅视图传输是30-bit的位宽,其中低10位传输图像的R子像素,中间10位传输图像的G子像素,高10位传输图像的B子像素。图像的扫描顺序遵循从左到右,从上到下的准则。系数阵列生成模块根据前面介绍的优化方法生成对应位置的系数。子像素的采集依赖于系数阵列生成模块生成的系数,对多视点视图进行采集和加权,最终融合的多视点立体图像中的每一个R、G、B子像素来源于相邻两幅视图的同一位置的子像素的加权。
[0071] 其中,图4的系数阵列生成模块的硬件实现电路图如图5所示,这个小的模块经过发明的优化之后,转化成具体的电路逻辑门来实现,绘制了整个系数阵列表的生成过程。第一行的第一组R、G、B子像素的系数为K0,0、K1,0、K2,0:,当输入K0,0、K1,0、K2,0,下一行的起始信号为0时,三态门选择器就输入3ρ作为加法器的输入,分别和K0,0、K1,0、K2,0做加法运算;之后通过比较器C1,小于N则直接输出,否则减去N再输出;通过比较器C2,大于0则直接输出,否则加上N再输出,得到的结果作为输出,且也作为反馈数据输送到起始端进行递推运算或者存储起来。当下一行起始信号无效时,反馈数据直接替代K0,0、K1,0、K2,0作为加法器的输入,并将K0,0、K1,0、K2,0存储在D触发器中,接着计算下一组R、G、B子像素的系数,只要下一行起始信号无效,D触发器中的值一直是K0,0、K1,0、K2,0;直到第一行R、G、B子像素的系数生成完成以后,下一行起始信号才会有效。当下一行起始信号有效时, 和D触发器中存储的K0,0、K1,0、K2,0作为加法器的输入,接着计算第二行的数据,以此类推,生成整个系数阵列。
[0072] 表2为资源消耗对照表,采用传统方法计算系数阵列时消耗的硬件资源与本发明的方法在硬件资源消耗上的对比情况表2所示。
[0073]
[0074] 表2
[0075] 从表2可以看出,优化之后DSP48E降低了33%,FF降低了6%,而LUT降低了15%,从上述数据可以看出,本文的方法减少了计算量,节省硬件资源消耗。
[0076] 四、结论
[0077] 本发明在现有技术的基础上,对图像融合中系数阵列生成部分进行了优化,在前人的方法中更进一步的做出了改进,单从计算公式本身就做了优化变形,计算方法上也采用递推的形式,根据这种递推计算机理,又转化了硬件难以实现的取余运算,而且整个计算公式只有加减固定常量,计算量少,运算速率也会相对提高。而且还确保了显示屏的精度要求,浮点型数据都精确到小数点后4位。对于最后的子像素采集部分,是把前面系数阵列生成部分的系数做一个拆分,分为整数部分和小数部分,分别作为采集视点的依据和分配的权值,和一般的子像素采集不同,采用了相邻两个视点的子像素的值作为要采集的对象,而且对两个视点的权值进行了分配,涉及到浮点型的乘法运算。最终对采集到的两部分值求和,作为输出图像子像素的值,完整的融合图像在浮点型柱状透镜光栅显示屏上呈现裸眼3D显示效果。
[0078] 尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。