一种立体摄影方法、装置及立体摄影设备与流程

文档序号:11204752阅读:661来源:国知局
一种立体摄影方法、装置及立体摄影设备与流程

本发明涉及显示技术领域,特别涉及一种立体摄影方法、装置及立体摄影设备。



背景技术:

随着立体显示技术和虚拟与现实VR(Virtual Reality)技术的不断完善和成熟,广大民众对于立体显示的兴趣和需求也在不断的增加。实现立体显示的关键在于构建分别被观察者左眼和右眼接收的具有细微差异的不同图像,由于左右眼接收到的视觉图像不同,大脑综合了左右眼两幅图像的信息对图像进行叠加重生,从而使观看者产生立体感。

立体电影作为立体显示技术的一种应用,已经是当今电影产业很重要的一部分。在观看立体电影时,人们能够有身临其境的感觉。立体电影前期通常使用具有两个模拟人眼的镜头的拍摄装置,拍摄下景物的双视点图像,放映时通过放映机把两个视点的图像同步放映,使这略有差别的两幅图像显示在银幕上,使观众左眼看到从左视角拍摄的画面,右眼看到从右视角拍摄的画面,进而合成为立体视觉影像。

受制于硬件放映设备和拍摄设备的影响,观看的立体效果也会有很大的区别,而且,立体电影可以具有多种放映场合,例如影院、立体显示终端等,相同的立体电影片源在不同的放映场合放映的立体效果可能是不同的,因此,使拍摄得到的立体电影片源与放映场合相适配,从而使得立体效果更加真实,已经成为立体摄影技术的一个难点。



技术实现要素:

本发明要解决的技术问题是提供一种立体摄影方法、装置及立体摄影设备,解决现有技术中立体电影片源不能与放映场合较好的适配从而无法达到较佳的立体效果的问题。

为解决上述技术问题,本发明的实施例提供一种立体摄影方法,所述立体摄影方法应用于立体摄影设备,所述立体摄影设备包括左右双目立体摄像机,所述立体摄影方法包括:

利用所述左右双目立体摄像机采集当前拍摄场景的左右原始图像;

根据所述左右原始图像,确定所述当前拍摄场景下立体摄像机到最近物体的距离和立体摄像机到最远物体的距离;

根据真实场景中最大凸出距离下的第一视差和最大凹进距离下的第二视差之间的比值与拍摄场景中立体摄像机到最近物体的距离下的第三视差与立体摄像机到最远物体的距离下的第四视差之间的比值相等,从而根据所述立体摄像机到最近物体的距离和所述立体摄像机到最远物体的距离,确定左右双目立体摄像机的视间距和图像裁剪参数;

根据所述左右双目立体摄像机的视间距,调整所述左右双目立体摄像机之间的距离;

利用调整后的左右双目立体摄像机采集所述当前拍摄场景的左右图像,并利用所述图像裁剪参数,对所述左右图像进行裁剪处理;

输出裁剪处理后的左右图像,从而能够根据裁剪处理后的左右图像构建所述当前拍摄场景的立体图像。

进一步来说,所述根据所述左右原始图像,确定所述当前拍摄场景下立体摄像机到最近物体的距离和立体摄像机到最远物体的距离的步骤包括:

提取两幅所述左右原始图像的特征点信息;

根据所述特征点信息,确定两幅所述左右原始图像之间的特征点匹配点集对;

获取所述匹配点集对之间的水平视差;

根据所述匹配点集对之间的水平视差,获取所述匹配点集对所对应的物点的深度;

根据所述物点的深度确定所述当前拍摄场景下立体摄像机到最近物体的距离和立体摄像机到最远物体的距离。

进一步来说,所述提取两幅所述左右原始图像的特征点信息的步骤包括:

采用尺度不变特征变换SIFT算法提取两幅所述左右原始图像的特征点信息;

所述根据所述特征点信息,确定两幅所述左右原始图像之间的特征点匹配点集对的步骤包括:

采用最小均方差ZSSD算法,根据所述特征点信息,确定两幅所述左右原始图像之间的特征点匹配点集对。

进一步来说,所述根据真实场景中最大凸出距离下的第一视差和最大凹进距离下的第二视差之间的比值与拍摄场景中立体摄像机到最近物体的距离下的第三视差与立体摄像机到最远物体的距离下的第四视差之间的比值相等,从而根据所述立体摄像机到最近物体的距离和所述立体摄像机到最远物体的距离,确定左右双目立体摄像机的视间距和图像裁剪参数的步骤包括:

通过如下公式获取真实场景中最大凸出距离下的第一视差dN_R

<mrow> <msub> <mi>d</mi> <mrow> <mi>N</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <mi>N</mi> <mo>_</mo> <mi>R</mi> <mo>*</mo> <mi>E</mi> <mo>_</mo> <mi>R</mi> </mrow> <mrow> <mi>Z</mi> <mo>_</mo> <mi>R</mi> <mo>-</mo> <mi>N</mi> <mo>_</mo> <mi>R</mi> </mrow> </mfrac> <mo>;</mo> </mrow>

其中,N_R为所述最大凸出距离,E_R为真实场景中的视间距,Z_R为真实场景中双眼到真实屏幕的距离;

通过如下公式获取真实场景中最大凹进距离下的第二视差dF_R

<mrow> <msub> <mi>d</mi> <mrow> <mi>F</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <mi>F</mi> <mo>_</mo> <mi>R</mi> <mo>*</mo> <mi>E</mi> <mo>_</mo> <mi>R</mi> </mrow> <mrow> <mi>Z</mi> <mo>_</mo> <mi>R</mi> <mo>+</mo> <mi>F</mi> <mo>_</mo> <mi>R</mi> </mrow> </mfrac> <mo>;</mo> </mrow>

其中,F_R为所述最大凹进距离;

根据真实场景中所述第一视差与所述第二视差之间的比值与拍摄场景中立体摄像机到最近物体的距离下的第三视差与立体摄像机到最远物体的距离下的第四视差之间的比值相等所构建的如下关系式,确定立体摄像机到零视差平面的第一距离Con:

<mrow> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>=</mo> <mfrac> <mrow> <mi>R</mi> <mo>+</mo> <mn>1</mn> </mrow> <mrow> <mfrac> <mn>1</mn> <mrow> <mi>N</mi> <mo>_</mo> <mi>O</mi> </mrow> </mfrac> <mo>+</mo> <mfrac> <mi>R</mi> <mrow> <mi>F</mi> <mo>_</mo> <mi>O</mi> </mrow> </mfrac> </mrow> </mfrac> <mo>;</mo> </mrow>

其中:N_O为立体摄像机到最近物体的距离,F_O为立体摄像机到最远物体的距离,R为所述第一视差dN_R与所述第二视差dF_R之间的比值,

根据所述第一距离,确定所述左右双目立体摄像机的视间距;

根据所述第一距离以及所述左右双目立体摄像机的视间距,确定所述左右双目立体摄像机的图像裁剪参数。

进一步来说,所述根据所述第一距离,确定所述左右双目立体摄像机的视间距的步骤包括:

通过如下公式确定所述左右双目立体摄像机的视间距Sep:

<mrow> <mi>S</mi> <mi>e</mi> <mi>p</mi> <mo>=</mo> <mfrac> <mrow> <mn>2</mn> <mo>*</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>*</mo> <mi>t</mi> <mi>a</mi> <mi>n</mi> <mrow> <mo>(</mo> <mfrac> <mi>&theta;</mi> <mn>2</mn> </mfrac> <mo>)</mo> </mrow> <mo>*</mo> <msub> <mi>d</mi> <mrow> <mi>N</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>*</mo> <mi>N</mi> <mo>_</mo> <mi>O</mi> </mrow> <mrow> <mi>W</mi> <mo>_</mo> <mi>R</mi> <mo>*</mo> <mrow> <mo>(</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>-</mo> <mi>N</mi> <mo>_</mo> <mi>O</mi> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>d</mi> <mrow> <mi>N</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>*</mo> <mi>N</mi> <mo>_</mo> <mi>O</mi> </mrow> </mfrac> <mo>;</mo> </mrow>

其中,Con为所述第一距离,W_R为真实场景中真实屏幕的宽度,dN_R为所述第一视差,N_O为立体摄像机到最近物体的距离,θ为立体摄像机的视场角;

或者

通过如下公式确定所述左右双目立体摄像机的视间距Sep:

<mrow> <mi>S</mi> <mi>e</mi> <mi>p</mi> <mo>=</mo> <mfrac> <mrow> <mn>2</mn> <mo>*</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>*</mo> <mi>t</mi> <mi>a</mi> <mi>n</mi> <mrow> <mo>(</mo> <mfrac> <mi>&theta;</mi> <mn>2</mn> </mfrac> <mo>)</mo> </mrow> <mo>*</mo> <msub> <mi>d</mi> <mrow> <mi>F</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>*</mo> <mi>F</mi> <mo>_</mo> <mi>O</mi> </mrow> <mrow> <mi>W</mi> <mo>_</mo> <mi>R</mi> <mo>*</mo> <mrow> <mo>(</mo> <mi>F</mi> <mo>_</mo> <mi>O</mi> <mo>-</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>d</mi> <mrow> <mi>F</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>*</mo> <mi>F</mi> <mo>_</mo> <mi>O</mi> </mrow> </mfrac> <mo>;</mo> </mrow>

其中,dF_R为所述第二视差,F_O为立体摄像机到最远物体的距离;

或者

通过如下公式确定所述左右双目立体摄像机的视间距Sep:

<mrow> <mi>S</mi> <mi>e</mi> <mi>p</mi> <mo>=</mo> <mfrac> <mrow> <mo>(</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>*</mo> <msub> <mi>W</mi> <mi>f</mi> </msub> <mo>/</mo> <mi>f</mi> <mo>)</mo> <mo>*</mo> <msub> <mi>d</mi> <mrow> <mi>N</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>*</mo> <mi>N</mi> <mo>_</mo> <mi>O</mi> </mrow> <mrow> <mi>W</mi> <mo>_</mo> <mi>R</mi> <mo>*</mo> <mrow> <mo>(</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>-</mo> <mi>N</mi> <mo>_</mo> <mi>O</mi> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>d</mi> <mrow> <mi>N</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>*</mo> <mi>N</mi> <mo>_</mo> <mi>O</mi> </mrow> </mfrac> <mo>;</mo> </mrow>

其中,Wf为立体摄像机传感器的宽度,f立体摄像机的透镜焦距;

或者

通过如下公式确定所述左右双目立体摄像机的视间距Sep:

<mrow> <mi>S</mi> <mi>e</mi> <mi>p</mi> <mo>=</mo> <mfrac> <mrow> <mo>(</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>*</mo> <msub> <mi>W</mi> <mi>f</mi> </msub> <mo>/</mo> <mi>f</mi> <mo>)</mo> <mo>*</mo> <msub> <mi>d</mi> <mrow> <mi>F</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>*</mo> <mi>F</mi> <mo>_</mo> <mi>O</mi> </mrow> <mrow> <mi>W</mi> <mo>_</mo> <mi>R</mi> <mo>*</mo> <mrow> <mo>(</mo> <mi>F</mi> <mo>_</mo> <mi>O</mi> <mo>-</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>d</mi> <mrow> <mi>F</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>*</mo> <mi>F</mi> <mo>_</mo> <mi>O</mi> </mrow> </mfrac> <mo>.</mo> </mrow>

进一步来说,所述根据所述第一距离以及所述左右双目立体摄像机的视间距,确定所述左右双目立体摄像机的图像裁剪参数的步骤包括:

通过如下公式获取当前拍摄场景中虚拟屏幕的宽度WCon

<mrow> <msub> <mi>W</mi> <mrow> <mi>C</mi> <mi>o</mi> <mi>n</mi> </mrow> </msub> <mo>=</mo> <mn>2</mn> <mo>*</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>*</mo> <mi>t</mi> <mi>a</mi> <mi>n</mi> <mrow> <mo>(</mo> <mfrac> <mi>&theta;</mi> <mn>2</mn> </mfrac> <mo>)</mo> </mrow> <mo>-</mo> <mi>S</mi> <mi>e</mi> <mi>p</mi> <mo>;</mo> </mrow>

其中,Con为所述第一距离,θ为立体摄像机的视场角;

或者

通过如下公式获取当前拍摄场景中虚拟屏幕的宽度WCon

<mrow> <msub> <mi>W</mi> <mrow> <mi>C</mi> <mi>o</mi> <mi>n</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>*</mo> <msub> <mi>W</mi> <mi>f</mi> </msub> </mrow> <mi>f</mi> </mfrac> <mo>-</mo> <mi>S</mi> <mi>e</mi> <mi>p</mi> <mo>;</mo> </mrow>

其中,Wf为立体摄像机传感器的宽度,f立体摄像机的透镜焦距;

通过如下公式确定所述左右双目立体摄像机的图像裁剪参数Crop:

<mrow> <mi>C</mi> <mi>r</mi> <mi>o</mi> <mi>p</mi> <mo>=</mo> <mfrac> <mrow> <mi>S</mi> <mi>e</mi> <mi>p</mi> </mrow> <mrow> <msub> <mi>W</mi> <mrow> <mi>C</mi> <mi>o</mi> <mi>n</mi> </mrow> </msub> <mo>+</mo> <mi>S</mi> <mi>e</mi> <mi>p</mi> </mrow> </mfrac> <mo>;</mo> </mrow>

其中,Sep为所述左右双目立体摄像机的视间距。

进一步来说,所述利用所述图像裁剪参数,对所述左右图像进行裁剪处理的步骤包括:

利用所述图像裁剪参数,将左图像水平方向上的最左端裁剪掉X*Crop像素,从而得到裁剪后的左图像;

以及

利用所述图像裁剪参数,将右图像水平方向上的最右端裁剪掉X*Crop像素,从而得到裁剪后的右图像;其中,X为所述左右图像的水平像素数,Crop为所述图像裁剪参数。

进一步来说,输出的所述裁剪处理后的左右图像具体运用在影院场合,并且所述影院拥有左右两台放映设备,将左图像提供给影院的左放映设备,将右图像提供给影院的右放映设备,从而进行放映立体拍摄场景;

进一步来说,输出的所述裁剪处理后的左右图像具体运用在虚拟现实头盔中,并且所述虚拟现实头盔拥有左右显示屏,将左图像提供虚拟现实头盔的左显示屏,将右图像提供给虚拟现实头盔的右显示屏;

进一步来说,输出的所述裁剪处理后的左右图像具体运用在增强现实眼镜中,并且所述增强现实眼镜拥有左右显示镜片,将左图像提供增强现实眼镜的左显示镜片,将右图像提供给增强现实眼镜的右显示镜片。

为解决上述技术问题,本发明的实施例还提供一种立体摄影装置,所述立体摄影装置应用于立体摄影设备,所述立体摄影设备包括左右双目立体摄像机,所述立体摄影装置包括:

采集模块,用于利用所述左右双目立体摄像机采集当前拍摄场景的左右原始图像;

第一确定模块,用于根据所述左右原始图像,确定所述当前拍摄场景下立体摄像机到最近物体的距离和立体摄像机到最远物体的距离;

第二确定模块,用于根据真实场景中最大凸出距离下的第一视差和最大凹进距离下的第二视差之间的比值与拍摄场景中立体摄像机到最近物体的距离下的第三视差与立体摄像机到最远物体的距离下的第四视差之间的比值相等,从而根据所述立体摄像机到最近物体的距离和所述立体摄像机到最远物体的距离,确定左右双目立体摄像机的视间距和图像裁剪参数;

调整模块,用于根据所述左右双目立体摄像机的视间距,调整所述左右双目立体摄像机之间的距离;

所述采集模块,还用于利用调整后的左右双目立体摄像机采集所述当前拍摄场景的左右图像;

裁剪模块,用于利用所述图像裁剪参数,对所述左右图像进行裁剪处理;

输出模块,用于输出裁剪处理后的左右图像,从而能够根据裁剪处理后的左右图像构建所述当前拍摄场景的立体图像。

进一步来说,所述第一确定模块包括:

提取子模块,用于提取两幅所述左右原始图像的特征点信息;

第一确定子模块,用于根据所述特征点信息,确定两幅所述左右原始图像之间的特征点匹配点集对;

第一获取子模块,用于获取所述匹配点集对之间的水平视差;

第二获取子模块,用于根据所述匹配点集对之间的水平视差,获取所述匹配点集对所对应的物点的深度;

第二确定子模块,用于根据所述物点的深度确定所述当前拍摄场景下立体摄像机到最近物体的距离和立体摄像机到最远物体的距离。

进一步来说,所述提取子模块包括:

提取单元,用于采用尺度不变特征变换SIFT算法提取两幅所述左右原始图像的特征点信息;

所述第一确定子模块包括:

第一确定单元,用于采用最小均方差ZSSD算法,根据所述特征点信息,确定两幅所述左右原始图像之间的特征点匹配点集对。

进一步来说,所述第二确定模块包括:

第三获取子模块,用于通过如下公式获取真实场景中最大凸出距离下的第一视差dN_R

<mrow> <msub> <mi>d</mi> <mrow> <mi>N</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <mi>N</mi> <mo>_</mo> <mi>R</mi> <mo>*</mo> <mi>E</mi> <mo>_</mo> <mi>R</mi> </mrow> <mrow> <mi>Z</mi> <mo>_</mo> <mi>R</mi> <mo>-</mo> <mi>N</mi> <mo>_</mo> <mi>R</mi> </mrow> </mfrac> <mo>;</mo> </mrow>

其中,N_R为所述最大凸出距离,E_R为真实场景中的视间距,Z_R为真实场景中双眼到真实屏幕的距离;

第四获取子模块,用于通过如下公式获取真实场景中最大凹进距离下的第二视差dF_R

<mrow> <msub> <mi>d</mi> <mrow> <mi>F</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <mi>F</mi> <mo>_</mo> <mi>R</mi> <mo>*</mo> <mi>E</mi> <mo>_</mo> <mi>R</mi> </mrow> <mrow> <mi>Z</mi> <mo>_</mo> <mi>R</mi> <mo>+</mo> <mi>F</mi> <mo>_</mo> <mi>R</mi> </mrow> </mfrac> <mo>;</mo> </mrow>

其中,F_R为所述最大凹进距离;

第三确定子模块,用于根据真实场景中所述第一视差与所述第二视差之间的比值与拍摄场景中立体摄像机到最近物体的距离下的第三视差与立体摄像机到最远物体的距离下的第四视差之间的比值相等所构建的如下关系式,确定立体摄像机到零视差平面的第一距离Con:

<mrow> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>=</mo> <mfrac> <mrow> <mi>R</mi> <mo>+</mo> <mn>1</mn> </mrow> <mrow> <mfrac> <mn>1</mn> <mrow> <mi>N</mi> <mo>_</mo> <mi>O</mi> </mrow> </mfrac> <mo>+</mo> <mfrac> <mi>R</mi> <mrow> <mi>F</mi> <mo>_</mo> <mi>O</mi> </mrow> </mfrac> </mrow> </mfrac> <mo>;</mo> </mrow>

其中:N_O为立体摄像机到最近物体的距离,F_O为立体摄像机到最远物体的距离,R为所述第一视差dN_R与所述第二视差dF_R之间的比值,

第四确定子模块,用于根据所述第一距离,确定所述左右双目立体摄像机的视间距;

第五确定子模块,用于根据所述第一距离以及所述左右双目立体摄像机的视间距,确定所述左右双目立体摄像机的图像裁剪参数。

进一步来说,所述第四确定子模块包括:

第二确定单元,用于通过如下公式确定所述左右双目立体摄像机的视间距Sep:

<mrow> <mi>S</mi> <mi>e</mi> <mi>p</mi> <mo>=</mo> <mfrac> <mrow> <mn>2</mn> <mo>*</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>*</mo> <mi>t</mi> <mi>a</mi> <mi>n</mi> <mrow> <mo>(</mo> <mfrac> <mi>&theta;</mi> <mn>2</mn> </mfrac> <mo>)</mo> </mrow> <mo>*</mo> <msub> <mi>d</mi> <mrow> <mi>N</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>*</mo> <mi>N</mi> <mo>_</mo> <mi>O</mi> </mrow> <mrow> <mi>W</mi> <mo>_</mo> <mi>R</mi> <mo>*</mo> <mrow> <mo>(</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>-</mo> <mi>N</mi> <mo>_</mo> <mi>O</mi> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>d</mi> <mrow> <mi>N</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>*</mo> <mi>N</mi> <mo>_</mo> <mi>O</mi> </mrow> </mfrac> <mo>;</mo> </mrow>

其中,Con为所述第一距离,W_R为真实场景中真实屏幕的宽度,dN_R为所述第一视差,N_O为立体摄像机到最近物体的距离,θ为立体摄像机的视场角;

或者

通过如下公式确定所述左右双目立体摄像机的视间距Sep:

<mrow> <mi>S</mi> <mi>e</mi> <mi>p</mi> <mo>=</mo> <mfrac> <mrow> <mn>2</mn> <mo>*</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>*</mo> <mi>t</mi> <mi>a</mi> <mi>n</mi> <mrow> <mo>(</mo> <mfrac> <mi>&theta;</mi> <mn>2</mn> </mfrac> <mo>)</mo> </mrow> <mo>*</mo> <msub> <mi>d</mi> <mrow> <mi>F</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>*</mo> <mi>F</mi> <mo>_</mo> <mi>O</mi> </mrow> <mrow> <mi>W</mi> <mo>_</mo> <mi>R</mi> <mo>*</mo> <mrow> <mo>(</mo> <mi>F</mi> <mo>_</mo> <mi>O</mi> <mo>-</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>d</mi> <mrow> <mi>F</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>*</mo> <mi>F</mi> <mo>_</mo> <mi>O</mi> </mrow> </mfrac> <mo>;</mo> </mrow>

其中,dF_R为所述第二视差,F_O为立体摄像机到最远物体的距离;

或者

通过如下公式确定所述左右双目立体摄像机的视间距Sep:

<mrow> <mi>S</mi> <mi>e</mi> <mi>p</mi> <mo>=</mo> <mfrac> <mrow> <mo>(</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>*</mo> <msub> <mi>W</mi> <mi>f</mi> </msub> <mo>/</mo> <mi>f</mi> <mo>)</mo> <mo>*</mo> <msub> <mi>d</mi> <mrow> <mi>N</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>*</mo> <mi>N</mi> <mo>_</mo> <mi>O</mi> </mrow> <mrow> <mi>W</mi> <mo>_</mo> <mi>R</mi> <mo>*</mo> <mrow> <mo>(</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>-</mo> <mi>N</mi> <mo>_</mo> <mi>O</mi> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>d</mi> <mrow> <mi>N</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>*</mo> <mi>N</mi> <mo>_</mo> <mi>O</mi> </mrow> </mfrac> <mo>;</mo> </mrow>

其中,Wf为立体摄像机传感器的宽度,f立体摄像机的透镜焦距;

或者

通过如下公式确定所述左右双目立体摄像机的视间距Sep:

<mrow> <mi>S</mi> <mi>e</mi> <mi>p</mi> <mo>=</mo> <mfrac> <mrow> <mo>(</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>*</mo> <msub> <mi>W</mi> <mi>f</mi> </msub> <mo>/</mo> <mi>f</mi> <mo>)</mo> <mo>*</mo> <msub> <mi>d</mi> <mrow> <mi>F</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>*</mo> <mi>F</mi> <mo>_</mo> <mi>O</mi> </mrow> <mrow> <mi>W</mi> <mo>_</mo> <mi>R</mi> <mo>*</mo> <mrow> <mo>(</mo> <mi>F</mi> <mo>_</mo> <mi>O</mi> <mo>-</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>d</mi> <mrow> <mi>F</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>*</mo> <mi>F</mi> <mo>_</mo> <mi>O</mi> </mrow> </mfrac> <mo>.</mo> </mrow>

进一步来说,所述第五确定子模块包括:

第一获取单元,用于通过如下公式获取当前拍摄场景中虚拟屏幕的宽度WCon

<mrow> <msub> <mi>W</mi> <mrow> <mi>C</mi> <mi>o</mi> <mi>n</mi> </mrow> </msub> <mo>=</mo> <mn>2</mn> <mo>*</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>*</mo> <mi>t</mi> <mi>a</mi> <mi>n</mi> <mrow> <mo>(</mo> <mfrac> <mi>&theta;</mi> <mn>2</mn> </mfrac> <mo>)</mo> </mrow> <mo>-</mo> <mi>S</mi> <mi>e</mi> <mi>p</mi> <mo>;</mo> </mrow>

其中,Con为所述第一距离,θ为立体摄像机的视场角;

或者

通过如下公式获取当前拍摄场景中虚拟屏幕的宽度WCon

<mrow> <msub> <mi>W</mi> <mrow> <mi>C</mi> <mi>o</mi> <mi>n</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>*</mo> <msub> <mi>W</mi> <mi>f</mi> </msub> </mrow> <mi>f</mi> </mfrac> <mo>-</mo> <mi>S</mi> <mi>e</mi> <mi>p</mi> <mo>;</mo> </mrow>

其中,Wf为立体摄像机传感器的宽度,f立体摄像机的透镜焦距;

第三确定单元,用于通过如下公式确定所述左右双目立体摄像机的图像裁剪参数Crop:

<mrow> <mi>C</mi> <mi>r</mi> <mi>o</mi> <mi>p</mi> <mo>=</mo> <mfrac> <mrow> <mi>S</mi> <mi>e</mi> <mi>p</mi> </mrow> <mrow> <msub> <mi>W</mi> <mrow> <mi>C</mi> <mi>o</mi> <mi>n</mi> </mrow> </msub> <mo>+</mo> <mi>S</mi> <mi>e</mi> <mi>p</mi> </mrow> </mfrac> <mo>;</mo> </mrow>

其中,Sep为所述左右双目立体摄像机的视间距。

进一步来说,所述裁剪模块包括:

第一裁剪子模块,用于利用所述图像裁剪参数,将左图像水平方向上的最左端裁剪掉X*Crop像素,从而得到裁剪后的左图像;

以及

第二裁剪子模块,用于利用所述图像裁剪参数,将右图像水平方向上的最右端裁剪掉X*Crop像素,从而得到裁剪后的右图像;

其中,X为所述左右图像的水平像素数,Crop为所述图像裁剪参数。

进一步来说,输出的所述裁剪处理后的左右图像具体运用在影院场合,并且所述影院拥有左右两台放映设备,将左图像提供给影院的左放映设备,将右图像提供给影院的右放映设备,从而进行放映立体拍摄场景;

进一步来说,输出的所述裁剪处理后的左右图像具体运用在虚拟现实头盔中,并且所述虚拟现实头盔拥有左右显示屏,将左图像提供虚拟现实头盔的左显示屏,将右图像提供给虚拟现实头盔的右显示屏;

进一步来说,输出的所述裁剪处理后的左右图像具体运用在增强现实眼镜中,并且所述虚拟现实眼镜拥有左右显示镜片,将左图像提供增强现实眼镜的左显示镜片,将右图像提供给增强现实眼镜的右显示镜片。

为解决上述技术问题,本发明的实施例还提供一种立体摄影设备,包括:左右双目立体摄像机、显示屏,壳体、处理器、存储器、电路板和电源电路,其中:

所述左右双目立体摄像机、所述显示屏嵌接在所述壳体上;

所述电路板安置在所述壳体围成的空间内部,所述处理器和所述存储器设置在所述电路板上;

所述电源电路,用于为上述立体摄影设备的各个电路或器件供电;

所述存储器用于存储可执行程序代码;

所述处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,执行:

利用所述左右双目立体摄像机采集当前拍摄场景的左右原始图像;

根据所述左右原始图像,确定所述当前拍摄场景下立体摄像机到最近物体的距离和立体摄像机到最远物体的距离;

根据真实场景中最大凸出距离下的第一视差和最大凹进距离下的第二视差之间的比值与拍摄场景中立体摄像机到最近物体的距离下的第三视差与立体摄像机到最远物体的距离下的第四视差之间的比值相等,从而根据所述立体摄像机到最近物体的距离和所述立体摄像机到最远物体的距离,确定左右双目立体摄像机的视间距和图像裁剪参数;

根据所述左右双目立体摄像机的视间距,调整所述左右双目立体摄像机之间的距离;

利用调整后的左右双目立体摄像机采集所述当前拍摄场景的左右图像,并利用所述图像裁剪参数,对所述左右图像进行裁剪处理;

输出裁剪处理后的左右图像;

根据裁剪处理后的左右图像构建所述当前拍摄场景的立体图像,从而通过所述显示屏将立体图像呈现出来。

本发明的上述技术方案的有益效果如下:

本发明实施例的立体摄影方法、装置及立体摄影设备,获取当前拍摄场景下立体摄像机到最近物体的距离和立体摄像机到最远物体的距离,然后根据真实场景(对应于放映场合的放映装置)中最大凸出距离下的第一视差和最大凹进距离下的第二视差之间的比值与拍摄场景中立体摄像机到最近物体的距离下的第三视差与立体摄像机到最远物体的距离下的第四视差之间的比值相等,从而根据立体摄像机到最近物体的距离和立体摄像机到最远物体的距离,确定左右双目立体摄像机的视间距和图像裁剪参数;再根据左右双目立体摄像机的视间距,调整左右双目立体摄像机之间的距离;利用调整后的左右双目立体摄像机采集当前拍摄场景的左右图像,并根据图像裁剪参数,对左右图像进行裁剪处理;最后输出裁剪处理后的左右图像,放映装置能够根据裁剪处理后的左右图像构建当前拍摄场景的立体图像,即放映立体影像。这样,根据真实场景和拍摄场景的视差比例相等来设置立体摄像机之间的视间距和对图片进行裁剪,在利用所获得的拍摄场景的立体图像构建立体拍摄场景时,拍摄场景可映射到真实场景中的最大凸出距离和最大凹进距离之间,使得拍摄场景能够与真实场景即放映场合较好的适配,从而能够达到较好的立体效果,提升了用户的观看体验,解决了现有技术中立体电影的片源不能与放映场合较好的适配从而无法达到较佳的立体效果的问题。

附图说明

图1为本发明立体摄影方法的流程图;

图2为本发明立体摄影方法中真实场景观察视景示意图;

图3为本发明立体摄影方法中拍摄场景观察视景示意图;

图4为本发明立体摄影方法中左立体摄像机对称投影示意图;

图5为本发明立体摄影装置的结构示意图;

图6为本发明立体摄影设备的结构示意图。

具体实施方式

为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。

为了使本领域技术人员更好的理解本发明,首先对本发明实施例中所言的真实场景和拍摄场景进行介绍。

真实场景即人真实的观察空间,人眼看到的空间,观察者可以通过认知和经验等获取真实场景下的物体的深度和大小等信息,真实场景下是以长度单位为度量。本发明实施例中,观察者观察的真实场景为显示器,人和显示器构成“观察者-显示空间”。可以理解的,本发明实施例中,针对立体摄影来讲,真实场景可以认为是所拍摄内容的放映场合,即放映用显示器。

拍摄场景即利用立体摄像设备拍摄的场景。拍摄场景通过显示器显示,而人在真实场景下的固定位置通过人眼接收显示器所显示的内容。拍摄场景的内容想要表现在真实场景中,并且以立体的方式呈现,就需要场景的映射。

本发明实施例提供的立体摄影方法和装置,即提供了一种立体摄影的方式,通过拍摄和剪裁获得某场景的左右图像,该左右图像将作为立体片源在真实场景进行放映,即将拍摄场景映射到真实场景,从而在真实场景中呈现拍摄场景的立体图像。

本发明实施例提供的立体摄影方法和装置,实际上模拟了采用图形引擎构建的虚拟场景,通过虚拟摄像机的偏移形成左右虚拟摄像机,通过左右虚拟摄像机的非对称透视投影,将虚拟场景构建为虚拟立体场景的原理,将拍摄场景等同于虚拟场景,将左右双目立体摄像机等同于左右虚拟摄像机,左右双目立体摄像机拍摄的左右图像等同于左右虚拟摄像机非对称透视投影后的场景内容,从而将拍摄场景立体呈现在真实场景。

结合图1至图3所示,本发明实施例的立体摄影方法,应用于立体摄影设备,立体摄影设备包括左右双目立体摄像机,该立体摄影方法包括:

步骤101,利用左右双目立体摄像机采集当前拍摄场景的左右原始图像。

这里,初始化左右双目立体摄像机的位置后,开始立体摄像机摄制,实时采集立体摄像机拍摄的两幅左右原始图像。

步骤102,根据左右原始图像,确定当前拍摄场景下立体摄像机到最近物体的距离N_O和立体摄像机到最远物体的距离F_O。

这里,根据左右原始图像,确定当前拍摄场景下的N_O与F_O,以得到当前拍摄场景的立体图像。

步骤103,根据真实场景中最大凸出距离N_R下的第一视差dN_R与最大凹进距离F_R下的第二视差dF_R之间的比值与拍摄场景中立体摄像机到最近物体的距离N_O下的第三视差与立体摄像机到最远物体的距离F_O下的第四视差之间的比值相等,从而根据所述立体摄像机到最近物体的距离N_O和所述立体摄像机到最远物体的距离F_O,确定左右双目立体摄像机的视间距和图像裁剪参数。

其中,参见图2,最大凸出距离N_R和最大凹进距离F_R用于表征真实场景即放映场合的立体显示器的立体显示能力,即立体显示器所能够呈现的立体场景的深度范围,也即,立体显示器所能够呈现的立体场景的深度范围介于该最大凸出距离和最大凹进距离所限定的区间内,立体场景的最凸出部分不会超过该最大凸出距离,而最凹进部分不会超过该最大凹进距离。

这里,基于真实场景中第一视差与第二视差之间的比值与拍摄场景中第三视差与第四视差之间的比值相等,确定左右双目立体摄像机的视间距和图像裁剪,能有效保证拍摄场景映射到真实场景的立体效果。

其中,与利用图形引擎构建的虚拟场景的立体显示不同,虚拟场景的左右虚拟摄像机构建的是非对称投影视景体,而立体摄像机对应使用的是对称投影视景体,为了保证较好的立体效果,所以要模仿非对称视景体(类似OpenGL构建的虚拟场景),并且维持相同的视野宽度,因此,就需要对获取的立体图像进行裁剪,并对立体摄像机的间距进行调整。一般来讲,摄像机在无法调整视场角或者焦距的情况下,则无法直接对应非对称视景体,因此要先对左右双目摄像机的视间距进行微调,从而首先满足非对称视景体下的零视差平面的位置需求,然后再对多出的平面进行裁剪。

步骤104,根据左右双目立体摄像机的视间距,调整左右双目立体摄像机之间的距离。

步骤105,利用调整后的左右双目立体摄像机采集当前拍摄场景的左右图像,并利用图像裁剪参数,对左右图像进行裁剪处理。

步骤106,输出裁剪处理后的左右图像,从而能够根据裁剪处理后的左右图像构建当前拍摄场景的立体图像。

这里,根据左右双目立体摄像机的视间距,对左右双目立体摄像机的位置调整后,利用图像裁剪参数,对调整后的左右双目立体摄像机采集的左右图像进行裁剪处理,最后输出裁剪处理后的左右图像。左右图像作为片源进行放映时,放映装置能够根据裁剪处理后的左右图像构建当前拍摄场景的立体图像,即放映立体图像。

本发明实施例的立体摄影方法,根据真实场景和拍摄场景的视差比例相等来设置立体摄像机之间的视间距和对图片进行裁剪,在利用所获得的拍摄场景的立体图像构建立体拍摄场景时,拍摄场景可映射到真实场景中的最大凸出距离和最大凹进距离之间,使得拍摄场景能够与真实场景即放映场合较好的适配,从而能够达到较好的立体效果,提升了用户的观看体验,解决了现有技术中立体电影的片源不能与放映场合较好的适配从而无法达到较佳的立体效果的问题。

优选的,上述步骤102的步骤可以包括:

步骤1021,提取两幅左右原始图像的特征点信息;

步骤1022,根据特征点信息,确定两幅左右原始图像之间的特征点匹配点集对;

步骤1023,获取匹配点集对之间的水平视差;

步骤1024,根据匹配点集对之间的水平视差,获取匹配点集对所对应的物点的深度;

步骤1025,根据物点的深度确定当前拍摄场景下立体摄像机到最近物体的距离N_O和立体摄像机到最远物体的距离F_O。

此时,通过建立两幅左右原始图像之间的特征点匹配点集对,并获取匹配点集对之间的水平视差,结合双目视觉系统的理论和公式,能够准确、快速地获取匹配点集对所对应的物点的深度,即立体摄像机到物体的距离,从而确定拍摄场景下立体摄像机到最近物体的距离N_O和立体摄像机到最远物体的距离F_O。

具体的,上述步骤1021可采用尺度不变特征变换SIFT算法提取两幅左右原始图像的特征点信息。

这里,针对两幅左右原始图像可分别使用SIFT算法,得到特征点信息。

具体的,上述步骤1022可采用最小均方差ZSSD算法,根据特征点信息,确定两幅左右原始图像之间的特征点匹配点集对。

这里,利用提取的两幅左右原始图像的特征点信息和ZSSD算法,可准确建立两幅左右原始图像之间的匹配点集对。

进一步的,上述步骤1025可构建物点的深度信息直方图,并过滤掉波动的数据,直接定位到深度最大值和深度最小值,从而得到立体摄像机到最近物体的距离N_O和立体摄像机到最远物体的距离F_O。

得到立体摄像机到最近物体的距离N_O和立体摄像机到最远物体的距离F_O后,需要根据N_O和F_O,确定左右双目立体摄像机的视间距和图像裁剪参数。下面对如何确定左右双目立体摄像机的视间距和图像裁剪参数进行详细介绍。

优选的,上述步骤103的步骤可以包括:

步骤1031,通过如下公式获取真实场景中最大凸出距离N_R下的第一视差dN_R

<mrow> <msub> <mi>d</mi> <mrow> <mi>N</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <mi>N</mi> <mo>_</mo> <mi>R</mi> <mo>*</mo> <mi>E</mi> <mo>_</mo> <mi>R</mi> </mrow> <mrow> <mi>Z</mi> <mo>_</mo> <mi>R</mi> <mo>-</mo> <mi>N</mi> <mo>_</mo> <mi>R</mi> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>;</mo> </mrow>

其中,N_R为最大凸出距离,E_R为真实场景中的视间距,Z_R为真实场景中双眼到真实屏幕的距离。

步骤1032,通过如下公式获取真实场景中最大凹进距离F_R下的第二视差dF_R

<mrow> <msub> <mi>d</mi> <mrow> <mi>F</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <mi>F</mi> <mo>_</mo> <mi>R</mi> <mo>*</mo> <mi>E</mi> <mo>_</mo> <mi>R</mi> </mrow> <mrow> <mi>Z</mi> <mo>_</mo> <mi>R</mi> <mo>+</mo> <mi>F</mi> <mo>_</mo> <mi>R</mi> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> <mo>;</mo> </mrow>

其中,F_R为最大凹进距离。N_R、E_R、Z_R和F_R都是预先设定的值。

这里,参见图2可知,上述关系式(1)和(2)依据相似图形对应边成比例关系得到。如图2所示,真实场景中左眼L与右眼R的视间距E_R、双眼到真实屏幕Display的距离Z_R、最大凸出距离N_R、最大凹进距离F_R、真实屏幕display的宽度W_R、第一视差dN_R和第二视差dF_R均在图中进行了标示。根据相似三角形定理可以得到上面的公式(1)、(2)。

此时,通过上述公式(1)、(2)可准确获取真实场景中最大凸出距离下的第一视差和最大凹进距离下的第二视差,进而可准确获取第一视差与第二视差之间的比值,利用几何关系提高了计算的准确性和便利性。

步骤1033,根据真实场景中第一视差dN_R与第二视差dF_R之间的比值与拍摄场景中立体摄像机到最近物体的距离N_O下的第三视差dN_O与立体摄像机到最远物体的距离F_O下的第四视差dF_O之间的比值相等所构建的如下关系式,确定立体摄像机到零视差平面(即虚拟屏幕)的第一距离Con:

<mrow> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>=</mo> <mfrac> <mrow> <mi>R</mi> <mo>+</mo> <mn>1</mn> </mrow> <mrow> <mfrac> <mn>1</mn> <mrow> <mi>N</mi> <mo>_</mo> <mi>O</mi> </mrow> </mfrac> <mo>+</mo> <mfrac> <mi>R</mi> <mrow> <mi>F</mi> <mo>_</mo> <mi>O</mi> </mrow> </mfrac> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> <mo>;</mo> </mrow>

其中:N_O为立体摄像机到最近物体的距离,F_O为立体摄像机到最远物体的距离,R为所述第一视差dN_R与所述第二视差dF_R之间的比值,

其中:

第三视差

第四视差

第三视差与第四视差的比值

关系式(3)由推导获得。

这里,如图3所示,拍摄场景中对应左眼输出图像的左立体摄像机L’与对应右眼输出图像的右立体摄像机R’之间的视间距Sep、立体摄像机到虚拟屏幕Virtual Display 2(也称为零视差平面)的第一距离Con、立体摄像机到近裁剪平面1的距离N_V、立体摄像机到远裁剪平面3的距离F_V、立体摄像机到近裁剪平面1的第五视差dN_V和立体摄像机到远裁剪平面3的第六视差dF_V均在图中进行了标示。根据相似三角形定理可以得到:

<mrow> <msub> <mi>d</mi> <mrow> <mi>N</mi> <mo>_</mo> <mi>V</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <mi>S</mi> <mi>e</mi> <mi>p</mi> <mo>*</mo> <mrow> <mo>(</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>-</mo> <mi>N</mi> <mo>_</mo> <mi>V</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mi>N</mi> <mo>_</mo> <mi>V</mi> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>8</mn> <mo>)</mo> </mrow> <mo>;</mo> </mrow>

<mrow> <msub> <mi>d</mi> <mrow> <mi>F</mi> <mo>_</mo> <mi>V</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <mi>S</mi> <mi>e</mi> <mi>p</mi> <mo>*</mo> <mrow> <mo>(</mo> <mi>F</mi> <mo>_</mo> <mi>V</mi> <mo>-</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mi>F</mi> <mo>_</mo> <mi>V</mi> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>9</mn> <mo>)</mo> </mrow> <mo>;</mo> </mrow>

类比上述公式(8)、(9)可以得到:

<mrow> <msub> <mi>d</mi> <mrow> <mi>N</mi> <mo>_</mo> <mi>O</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <mi>S</mi> <mi>e</mi> <mi>p</mi> <mo>*</mo> <mrow> <mo>(</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>-</mo> <mi>N</mi> <mo>_</mo> <mi>O</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mi>N</mi> <mo>_</mo> <mi>O</mi> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>5</mn> <mo>)</mo> </mrow> <mo>;</mo> </mrow>

<mrow> <msub> <mi>d</mi> <mrow> <mi>F</mi> <mo>_</mo> <mi>O</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <mi>S</mi> <mi>e</mi> <mi>p</mi> <mo>*</mo> <mrow> <mo>(</mo> <mi>F</mi> <mo>_</mo> <mi>O</mi> <mo>-</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mi>F</mi> <mo>_</mo> <mi>O</mi> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>6</mn> <mo>)</mo> </mrow> <mo>;</mo> </mrow>

因此,通过上述公式(5)、(6)可以得到第三视差与第四视差之间的比值关系式:

<mrow> <mfrac> <msub> <mi>d</mi> <mrow> <mi>N</mi> <mo>_</mo> <mi>O</mi> </mrow> </msub> <msub> <mi>d</mi> <mrow> <mi>F</mi> <mo>_</mo> <mi>O</mi> </mrow> </msub> </mfrac> <mo>=</mo> <mfrac> <mrow> <mo>(</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>-</mo> <mi>N</mi> <mo>_</mo> <mi>O</mi> <mo>)</mo> <mo>*</mo> <mi>F</mi> <mo>_</mo> <mi>O</mi> </mrow> <mrow> <mo>(</mo> <mi>F</mi> <mo>_</mo> <mi>O</mi> <mo>-</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>)</mo> <mo>*</mo> <mi>N</mi> <mo>_</mo> <mi>O</mi> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>7</mn> <mo>)</mo> </mrow> <mo>.</mo> </mrow>

基于上述公式(7),有如下关系式:

<mrow> <mfrac> <msub> <mi>d</mi> <mrow> <mi>N</mi> <mo>_</mo> <mi>O</mi> </mrow> </msub> <msub> <mi>d</mi> <mrow> <mi>F</mi> <mo>_</mo> <mi>O</mi> </mrow> </msub> </mfrac> <mo>=</mo> <mi>R</mi> <mo>=</mo> <mfrac> <mrow> <mo>(</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>-</mo> <mi>N</mi> <mo>_</mo> <mi>O</mi> <mo>)</mo> <mo>*</mo> <mi>F</mi> <mo>_</mo> <mi>O</mi> </mrow> <mrow> <mo>(</mo> <mi>F</mi> <mo>_</mo> <mi>O</mi> <mo>-</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>)</mo> <mo>*</mo> <mi>N</mi> <mo>_</mo> <mi>O</mi> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>10</mn> <mo>)</mo> </mrow> <mo>;</mo> </mrow>

这里,在拍摄场景和真实场景中的视差虽然换算单位和数值都不相同,但是它们具有相同的比值R。

对公式(10)进行变形可以得到:

<mrow> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>=</mo> <mfrac> <mrow> <mi>R</mi> <mo>+</mo> <mn>1</mn> </mrow> <mrow> <mfrac> <mn>1</mn> <mrow> <mi>N</mi> <mo>_</mo> <mi>O</mi> </mrow> </mfrac> <mo>+</mo> <mfrac> <mi>R</mi> <mrow> <mi>F</mi> <mo>_</mo> <mi>O</mi> </mrow> </mfrac> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> <mo>.</mo> </mrow>

此时,根据第一视差、第二视差,立体摄像机到最近物体的距离和立体摄像机到最远物体的距离,可准确求得立体摄像机到虚拟屏幕的第一距离。

步骤1034,根据第一距离Con,确定左右双目立体摄像机的视间距Sep;

步骤1035,根据第一距离Con以及左右双目立体摄像机的视间距Sep,确定左右双目立体摄像机的图像裁剪参数。

此时,首先根据真实场景中最大凸出距离和最大凹进距离下的视差比值与拍摄场景中立体摄像机到最近物体的距离和立体摄像机到最远物体的距离下的视差比值相等,可有效确定立体摄像机到零视差平面的第一距离;然后根据第一距离,可有效确定左右双目立体摄像机的视间距;最后根据第一距离以及视间距,确定左右双目立体摄像机的图像裁剪参数。根据真实场景和拍摄场景的视差比例相等来设置立体摄像机之间的视间距和对图片进行裁剪,在利用所获得的拍摄场景的立体图像构建立体拍摄场景时,拍摄场景可映射到真实场景中的最大凸出距离和最大凹进距离之间,使得拍摄场景能够与真实场景即放映场合较好的适配,从而能够达到较好的立体效果。。

进一步的,上述步骤1034的步骤可以包括:

通过如下公式确定左右双目立体摄像机的视间距Sep:

<mrow> <mi>S</mi> <mi>e</mi> <mi>p</mi> <mo>=</mo> <mfrac> <mrow> <mn>2</mn> <mo>*</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>*</mo> <mi>t</mi> <mi>a</mi> <mi>n</mi> <mrow> <mo>(</mo> <mfrac> <mi>&theta;</mi> <mn>2</mn> </mfrac> <mo>)</mo> </mrow> <mo>*</mo> <msub> <mi>d</mi> <mrow> <mi>N</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>*</mo> <mi>N</mi> <mo>_</mo> <mi>O</mi> </mrow> <mrow> <mi>W</mi> <mo>_</mo> <mi>R</mi> <mo>*</mo> <mrow> <mo>(</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>-</mo> <mi>N</mi> <mo>_</mo> <mi>O</mi> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>d</mi> <mrow> <mi>N</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>*</mo> <mi>N</mi> <mo>_</mo> <mi>O</mi> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>11</mn> <mo>)</mo> </mrow> <mo>;</mo> </mrow>

其中,Con为第一距离,W_R为真实场景中真实屏幕的宽度,dN_R为第一视差,N_O为立体摄像机到最近物体的距离,θ为立体摄像机的视场角;

或者

通过如下公式确定左右双目立体摄像机的视间距Sep:

<mrow> <mi>S</mi> <mi>e</mi> <mi>p</mi> <mo>=</mo> <mfrac> <mrow> <mn>2</mn> <mo>*</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>*</mo> <mi>t</mi> <mi>a</mi> <mi>n</mi> <mrow> <mo>(</mo> <mfrac> <mi>&theta;</mi> <mn>2</mn> </mfrac> <mo>)</mo> </mrow> <mo>*</mo> <msub> <mi>d</mi> <mrow> <mi>F</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>*</mo> <mi>F</mi> <mo>_</mo> <mi>O</mi> </mrow> <mrow> <mi>W</mi> <mo>_</mo> <mi>R</mi> <mo>*</mo> <mrow> <mo>(</mo> <mi>F</mi> <mo>_</mo> <mi>O</mi> <mo>-</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>d</mi> <mrow> <mi>F</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>*</mo> <mi>F</mi> <mo>_</mo> <mi>O</mi> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>12</mn> <mo>)</mo> </mrow> <mo>;</mo> </mrow>

其中,dF_R为第二视差,F_O为立体摄像机到最远物体的距离;

或者

通过如下公式确定左右双目立体摄像机的视间距Sep:

<mrow> <mi>S</mi> <mi>e</mi> <mi>p</mi> <mo>=</mo> <mfrac> <mrow> <mo>(</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>*</mo> <msub> <mi>W</mi> <mi>f</mi> </msub> <mo>/</mo> <mi>f</mi> <mo>)</mo> <mo>*</mo> <msub> <mi>d</mi> <mrow> <mi>N</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>*</mo> <mi>N</mi> <mo>_</mo> <mi>O</mi> </mrow> <mrow> <mi>W</mi> <mo>_</mo> <mi>R</mi> <mo>*</mo> <mrow> <mo>(</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>-</mo> <mi>N</mi> <mo>_</mo> <mi>O</mi> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>d</mi> <mrow> <mi>N</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>*</mo> <mi>N</mi> <mo>_</mo> <mi>O</mi> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>13</mn> <mo>)</mo> </mrow> <mo>;</mo> </mrow>

其中,Wf为立体摄像机传感器的宽度,f立体摄像机的透镜焦距;

或者

通过如下公式确定所述左右双目立体摄像机的视间距Sep:

<mrow> <mi>S</mi> <mi>e</mi> <mi>p</mi> <mo>=</mo> <mfrac> <mrow> <mo>(</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>*</mo> <msub> <mi>W</mi> <mi>f</mi> </msub> <mo>/</mo> <mi>f</mi> <mo>)</mo> <mo>*</mo> <msub> <mi>d</mi> <mrow> <mi>F</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>*</mo> <mi>F</mi> <mo>_</mo> <mi>O</mi> </mrow> <mrow> <mi>W</mi> <mo>_</mo> <mi>R</mi> <mo>*</mo> <mrow> <mo>(</mo> <mi>F</mi> <mo>_</mo> <mi>O</mi> <mo>-</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>d</mi> <mrow> <mi>F</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>*</mo> <mi>F</mi> <mo>_</mo> <mi>O</mi> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>14</mn> <mo>)</mo> </mrow> <mo>.</mo> </mrow>

其中,W_R、θ、Wf和f均为预先设定的值。

此时,通过上述公式(11)、(12)、(13)或(14)均可准确获取拍摄场景中对应真实场景视间距的左右双目立体摄像机的视间距。

下面对上述公式(11)的推导过程详细描述如下:

参照图4所示,对于左右双目立体摄像机的对称投影视景体,左摄像机left camera与右摄像机right camera的场景相交的部分,即为虚拟屏幕即零视差平面,其宽度为WCon

首先,通过如下公式可以得到虚拟屏幕与真实屏幕之间的缩放比例

其中,WCon为虚拟屏幕的宽度,W_R为真实屏幕的宽度。

通过上述公式(15)可得:

将上述公式(16)进行变换可得:

Sep满足:

将上述公式(18)进行变换可得:

将上述公式(19)代入上述公式(17)可得:

再将上述公式(20)代入上述公式(18)可得:

<mrow> <mi>S</mi> <mi>e</mi> <mi>p</mi> <mo>=</mo> <mfrac> <mrow> <mo>(</mo> <msub> <mi>W</mi> <mrow> <mi>C</mi> <mi>o</mi> <mi>n</mi> </mrow> </msub> <mo>+</mo> <mi>S</mi> <mi>e</mi> <mi>p</mi> <mo>)</mo> <mo>*</mo> <msub> <mi>d</mi> <mrow> <mi>N</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>*</mo> <mi>N</mi> <mo>_</mo> <mi>O</mi> </mrow> <mrow> <mi>W</mi> <mo>_</mo> <mi>R</mi> <mo>*</mo> <mrow> <mo>(</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>-</mo> <mi>N</mi> <mo>_</mo> <mi>O</mi> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>d</mi> <mrow> <mi>N</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>*</mo> <mi>N</mi> <mo>_</mo> <mi>O</mi> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>21</mn> <mo>)</mo> </mrow> <mo>;</mo> </mrow>

参照图4所示,对于立体摄像机的对称投影视景体,视场角满足如下公式:

<mrow> <msub> <mi>W</mi> <mrow> <mi>C</mi> <mi>o</mi> <mi>n</mi> </mrow> </msub> <mo>+</mo> <mi>S</mi> <mi>e</mi> <mi>p</mi> <mo>=</mo> <mn>2</mn> <mo>*</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>*</mo> <mi>t</mi> <mi>a</mi> <mi>n</mi> <mrow> <mo>(</mo> <mfrac> <mi>&theta;</mi> <mn>2</mn> </mfrac> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>22</mn> <mo>)</mo> </mrow> <mo>;</mo> </mrow>

将上述公式(22)代入上述公式(21)即可求得上述公式(11):

<mrow> <mi>S</mi> <mi>e</mi> <mi>p</mi> <mo>=</mo> <mfrac> <mrow> <mn>2</mn> <mo>*</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>*</mo> <mi>t</mi> <mi>a</mi> <mi>n</mi> <mrow> <mo>(</mo> <mfrac> <mi>&theta;</mi> <mn>2</mn> </mfrac> <mo>)</mo> </mrow> <mo>*</mo> <msub> <mi>d</mi> <mrow> <mi>N</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>*</mo> <mi>N</mi> <mo>_</mo> <mi>O</mi> </mrow> <mrow> <mi>W</mi> <mo>_</mo> <mi>R</mi> <mo>*</mo> <mrow> <mo>(</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>-</mo> <mi>N</mi> <mo>_</mo> <mi>O</mi> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>d</mi> <mrow> <mi>N</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>*</mo> <mi>N</mi> <mo>_</mo> <mi>O</mi> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>11</mn> <mo>)</mo> </mrow> <mo>.</mo> </mrow>

参照上述公式(11)的推导过程即可求得上述公式(12)。

另外,将上述公式(22)替换为如下公式:

<mrow> <msub> <mi>W</mi> <mrow> <mi>C</mi> <mi>o</mi> <mi>n</mi> </mrow> </msub> <mo>+</mo> <mi>S</mi> <mi>e</mi> <mi>p</mi> <mo>=</mo> <mfrac> <mrow> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>*</mo> <msub> <mi>W</mi> <mi>f</mi> </msub> </mrow> <mi>f</mi> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>23</mn> <mo>)</mo> </mrow> <mo>;</mo> </mrow>

按照同样的推导过程即可求得上述公式(13)、(14)。

至此,得到了第一距离和左右双目立体摄像机之间的视间距,之后还需要进一步确定左右双目立体摄像机的图像裁剪参数,以对左右双目立体摄像机的位置调整后,根据图像裁剪参数对图像进行裁剪。

如图4所示,左右双目摄像机所拍摄的场景内容在构建立体场景时的有效部分为Wcon,而无效部分Sep所占的比例为Sep/(Sep+Wcon),因此,可根据该比例对拍摄的左右图像进行裁剪。

对于左右双目立体摄像机的位置调整,可参考左右双目立体摄像机当前的位置,然后根据左右双目立体摄像机之间的视间距,对两个立体摄像机的位置进行微调。

对于左右双目立体摄像机的图像裁剪参数,优选的,上述步骤1035的步骤可以包括:

步骤10351,通过如下公式获取当前拍摄场景中虚拟屏幕的宽度WCon

<mrow> <msub> <mi>W</mi> <mrow> <mi>C</mi> <mi>o</mi> <mi>n</mi> </mrow> </msub> <mo>=</mo> <mn>2</mn> <mo>*</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>*</mo> <mi>t</mi> <mi>a</mi> <mi>n</mi> <mrow> <mo>(</mo> <mfrac> <mi>&theta;</mi> <mn>2</mn> </mfrac> <mo>)</mo> </mrow> <mo>-</mo> <mi>S</mi> <mi>e</mi> <mi>p</mi> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>24</mn> <mo>)</mo> </mrow> <mo>;</mo> </mrow>

其中,Con为所述第一距离,θ为立体摄像机的视场角;

或者

通过如下公式获取当前拍摄场景中虚拟屏幕的宽度WCon

<mrow> <msub> <mi>W</mi> <mrow> <mi>C</mi> <mi>o</mi> <mi>n</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>*</mo> <msub> <mi>W</mi> <mi>f</mi> </msub> </mrow> <mi>f</mi> </mfrac> <mo>-</mo> <mi>S</mi> <mi>e</mi> <mi>p</mi> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>25</mn> <mo>)</mo> </mrow> <mo>;</mo> </mrow>

其中,Wf为立体摄像机传感器的宽度,f立体摄像机的透镜焦距。

如图4所示,左右双目摄像机所拍摄的场景内容在构建立体场景时的有效部分为Wcon,而无效部分Sep所占的比例为Sep/(Sep+Wcon),因此,可根据该比例对拍摄的左右图像进行裁剪。因此:

步骤10352,通过如下公式确定所述左右双目立体摄像机的图像裁剪参数Crop:

<mrow> <mi>C</mi> <mi>r</mi> <mi>o</mi> <mi>p</mi> <mo>=</mo> <mfrac> <mrow> <mi>S</mi> <mi>e</mi> <mi>p</mi> </mrow> <mrow> <msub> <mi>W</mi> <mrow> <mi>C</mi> <mi>o</mi> <mi>n</mi> </mrow> </msub> <mo>+</mo> <mi>S</mi> <mi>e</mi> <mi>p</mi> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>26</mn> <mo>)</mo> </mrow> <mo>;</mo> </mrow>

其中,Sep为所述左右双目立体摄像机的视间距。

此时,通过上述公式(26)可准确获取左右双目立体摄像机的图像裁剪参数。

具体的,上述步骤105中,利用图像裁剪参数,对左右图像进行裁剪处理的步骤可以包括:

步骤1051,利用图像裁剪参数,将左图像水平方向上的最左端裁剪掉X*Crop像素,从而得到裁剪后的左图像;

以及

步骤1052,利用图像裁剪参数,将右图像水平方向上的最右端裁剪掉X*Crop像素,从而得到裁剪后的右图像;

其中,X为所述左右图像的水平像素数,Crop为所述图像裁剪参数。

此时,对于左立体摄像机Left Camera拍摄的左图像,从水平方向最左端开始裁剪X*Crop像素,裁剪后左图像的宽度为:X*(1-Crop)像素。对于右立体摄像机Right Camera拍摄的右图像,从水平方向最右端开始裁剪X*Crop像素,裁剪后右图像的宽度也为:X*(1-Crop)像素。

本发明实施例的方法可按照上述流程根据一帧左右原始图像数据调整左右双目立体摄像机的距离,并利用计算出的图像裁剪参数,对调整后的左右双目立体摄像机拍摄的左右图像进行裁剪,再处理下一帧图像数据,即动态调整。也可按照预设场景,预先调整左右双目立体摄像机的距离,并利用计算出的图像裁剪参数,对调整后的左右双目立体摄像机拍摄的左右图像进行裁剪。

进一步的,输出的所述裁剪处理后的左右图像具体运用在影院场合,并且所述影院拥有左右两台放映设备,将左图像提供给影院的左放映设备,将右图像提供给影院的右放映设备,从而进行放映立体拍摄场景;

进一步的,输出的所述裁剪处理后的左右图像具体运用在虚拟现实头盔中,并且所述虚拟现实头盔拥有左右显示屏,将左图像提供虚拟现实头盔的左显示屏,将右图像提供给虚拟现实头盔的右显示屏;

进一步的,输出的所述裁剪处理后的左右图像具体运用在增强现实眼镜中,并且所述增强现实眼镜拥有左右显示镜片,将左图像提供增强现实眼镜的左显示镜片,将右图像提供给增强现实眼镜的右显示镜片。

可以理解的是,本发明实施例中所言的虚拟摄像机、零视差平面、近裁剪平面、远裁剪平面等术语均为计算机图形学中公知的术语,这里不进行详细说明。

下面对本发明立体摄影方法的一具体实现实施例举例说明如下:

假设:真实场景中最大凸出距离N_R为50mm,最大凹进距离F_R为60mm,真实屏幕的宽度W_R为435mm,双眼视间距E_R为65mm,双眼到真实屏幕的距离Z_R为500mm。通过上述步骤101-102确定的拍摄场景中立体摄像机到最近物体的距离N_O为2135mm,立体摄像机到最远物体的距离F_O为2584mm。立体摄像机的分辨率为X(1600)*Y(900),立体摄像机的透镜焦距f为80mm,立体摄像机传感器的宽度Wf为36mm。

应用本发明的方法,首先通过如下公式获取真实场景中最大凸出距离N_R下的第一视差dN_R和最大凹进距离F_R下的第二视差dF_R

<mrow> <msub> <mi>d</mi> <mrow> <mi>N</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <mi>N</mi> <mo>_</mo> <mi>R</mi> <mo>*</mo> <mi>E</mi> <mo>_</mo> <mi>R</mi> </mrow> <mrow> <mi>Z</mi> <mo>_</mo> <mi>R</mi> <mo>-</mo> <mi>N</mi> <mo>_</mo> <mi>R</mi> </mrow> </mfrac> <mo>=</mo> <mfrac> <mrow> <mn>50</mn> <mo>*</mo> <mn>65</mn> </mrow> <mrow> <mn>500</mn> <mo>-</mo> <mn>50</mn> </mrow> </mfrac> <mo>&ap;</mo> <mn>7.22</mn> <mi>m</mi> <mi>m</mi> <mo>;</mo> </mrow>

<mrow> <msub> <mi>d</mi> <mrow> <mi>F</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <mi>F</mi> <mo>_</mo> <mi>R</mi> <mo>*</mo> <mi>E</mi> <mo>_</mo> <mi>R</mi> </mrow> <mrow> <mi>Z</mi> <mo>_</mo> <mi>R</mi> <mo>+</mo> <mi>F</mi> <mo>_</mo> <mi>R</mi> </mrow> </mfrac> <mo>=</mo> <mfrac> <mrow> <mn>60</mn> <mo>*</mo> <mn>65</mn> </mrow> <mrow> <mn>500</mn> <mo>+</mo> <mn>60</mn> </mrow> </mfrac> <mo>&ap;</mo> <mn>6.96</mn> <mi>m</mi> <mi>m</mi> <mo>;</mo> </mrow>

再通过如下公式获取第一视差与第二视差之间的比值R:

<mrow> <mi>R</mi> <mo>=</mo> <mfrac> <msub> <mi>d</mi> <mrow> <mi>N</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <msub> <mi>d</mi> <mrow> <mi>F</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> </mfrac> <mo>=</mo> <mfrac> <mn>7.22</mn> <mn>6.96</mn> </mfrac> <mo>&ap;</mo> <mn>1.04</mn> <mo>;</mo> </mrow>

然后通过如下公式获取立体摄像机到虚拟屏幕的第一距离Con:

<mrow> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>=</mo> <mfrac> <mrow> <mi>R</mi> <mo>+</mo> <mn>1</mn> </mrow> <mrow> <mfrac> <mn>1</mn> <mrow> <mi>N</mi> <mo>_</mo> <mi>O</mi> </mrow> </mfrac> <mo>+</mo> <mfrac> <mi>R</mi> <mrow> <mi>F</mi> <mo>_</mo> <mi>O</mi> </mrow> </mfrac> </mrow> </mfrac> <mo>=</mo> <mfrac> <mrow> <mn>1.04</mn> <mo>+</mo> <mn>1.0</mn> </mrow> <mrow> <mfrac> <mn>1</mn> <mn>2135</mn> </mfrac> <mo>+</mo> <mfrac> <mn>1.04</mn> <mn>2584</mn> </mfrac> </mrow> </mfrac> <mo>&ap;</mo> <mn>2342.19</mn> <mi>m</mi> <mi>m</mi> <mo>;</mo> </mrow>

然后通过如下公式获取左右双目立体摄像机之间的视间距Sep:

<mrow> <mi>S</mi> <mi>e</mi> <mi>p</mi> <mo>=</mo> <mfrac> <mrow> <mo>(</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>*</mo> <msub> <mi>W</mi> <mi>f</mi> </msub> <mo>/</mo> <mi>f</mi> <mo>)</mo> <mo>*</mo> <msub> <mi>d</mi> <mrow> <mi>N</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>*</mo> <mi>N</mi> <mo>_</mo> <mi>O</mi> </mrow> <mrow> <mi>W</mi> <mo>_</mo> <mi>R</mi> <mo>*</mo> <mrow> <mo>(</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>-</mo> <mi>N</mi> <mo>_</mo> <mi>O</mi> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>d</mi> <mrow> <mi>N</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>*</mo> <mi>N</mi> <mo>_</mo> <mi>O</mi> </mrow> </mfrac> <mo>&ap;</mo> <mn>153.98</mn> <mi>m</mi> <mi>m</mi> <mo>;</mo> </mrow>

故左右双目立体摄像机之间的距离要调整到153.98mm。

再通过如下公式获取虚拟屏幕的宽度WCon

<mrow> <msub> <mi>W</mi> <mrow> <mi>C</mi> <mi>o</mi> <mi>n</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>*</mo> <msub> <mi>W</mi> <mi>f</mi> </msub> </mrow> <mi>f</mi> </mfrac> <mo>-</mo> <mi>S</mi> <mi>e</mi> <mi>p</mi> <mo>&ap;</mo> <mn>900.01</mn> <mi>m</mi> <mi>m</mi> <mo>;</mo> </mrow>

再通过如下公式获取左右双目立体摄像机的图像裁剪参数Crop:

<mrow> <mi>C</mi> <mi>r</mi> <mi>o</mi> <mi>p</mi> <mo>=</mo> <mfrac> <mrow> <mi>S</mi> <mi>e</mi> <mi>p</mi> </mrow> <mrow> <msub> <mi>W</mi> <mrow> <mi>C</mi> <mi>o</mi> <mi>n</mi> </mrow> </msub> <mo>+</mo> <mi>S</mi> <mi>e</mi> <mi>p</mi> </mrow> </mfrac> <mo>&ap;</mo> <mn>0.15.</mn> </mrow>

故对调整后的左立体摄像机拍摄的左图像从水平方向最左端开始裁剪X*Crop=240像素,裁剪后左图像的宽度为:X*(1-Crop)=1360像素。

对调整后的右立体摄像机拍摄的右图像从水平方向最右端开始裁剪X*Crop=240像素,裁剪后右图像的宽度为:X*(1-Crop)=1360像素。

综上,本发明实施例的立体摄影方法,根据真实场景和拍摄场景的视差比例相等来设置立体摄像机之间的视间距和对图片进行裁剪,在利用所获得的拍摄场景的立体图像构建立体拍摄场景时,拍摄场景可映射到真实场景中的最大凸出距离和最大凹进距离之间,使得拍摄场景能够与真实场景即放映场合较好的适配,从而能够达到较好的立体效果,提升了用户的观看体验,解决了现有技术中立体电影的片源不能与放映场合较好的适配从而无法达到较佳的立体效果的问题。

如图5所示,本发明的实施例还提供一种立体摄影装置,所述立体摄影装置应用于立体摄影设备,所述立体摄影设备包括左右双目立体摄像机,所述立体摄影装置包括:

采集模块601,用于利用所述左右双目立体摄像机采集当前拍摄场景的左右原始图像;

第一确定模块602,用于根据所述左右原始图像,确定所述当前拍摄场景下立体摄像机到最近物体的距离和立体摄像机到最远物体的距离;

第二确定模块603,用于根据真实场景中最大凸出距离下的第一视差和最大凹进距离下的第二视差之间的比值与拍摄场景中立体摄像机到最近物体的距离下的第三视差与立体摄像机到最远物体的距离下的第四视差之间的比值相等,从而根据所述立体摄像机到最近物体的距离和所述立体摄像机到最远物体的距离,确定左右双目立体摄像机的视间距和图像裁剪参数;

调整模块604,用于根据所述左右双目立体摄像机的视间距,调整所述左右双目立体摄像机之间的距离;

所述采集模块601,还用于利用调整后的左右双目立体摄像机采集所述当前拍摄场景的左右图像;

裁剪模块605,用于利用所述图像裁剪参数,对所述左右图像进行裁剪处理;

输出模块606,用于输出裁剪处理后的左右图像,从而能够根据裁剪处理后的左右图像构建所述当前拍摄场景的立体图像。

本发明实施例的立体摄影装置,根据真实场景和拍摄场景的视差比例相等来设置立体摄像机之间的视间距和对图片进行裁剪,在利用所获得的拍摄场景的立体图像构建立体拍摄场景时,拍摄场景可映射到真实场景中的最大凸出距离和最大凹进距离之间,使得拍摄场景能够与真实场景即放映场合较好的适配,从而能够达到较好的立体效果,提升了用户的观看体验,解决了现有技术中立体电影的片源不能与放映场合较好的适配从而无法达到较佳的立体效果的问题。

优选的,所述第一确定模块602可以包括:

提取子模块,用于提取两幅所述左右原始图像的特征点信息;

第一确定子模块,用于根据所述特征点信息,确定两幅所述左右原始图像之间的特征点匹配点集对;

第一获取子模块,用于获取所述匹配点集对之间的水平视差;

第二获取子模块,用于根据所述匹配点集对之间的水平视差,获取所述匹配点集对所对应的物点的深度;

第二确定子模块,用于根据所述物点的深度确定所述当前拍摄场景下立体摄像机到最近物体的距离和立体摄像机到最远物体的距离。

进一步的,所述提取子模块可以包括:

提取单元,用于采用尺度不变特征变换SIFT算法提取两幅所述左右原始图像的特征点信息;

所述第一确定子模块包括:

第一确定单元,用于采用最小均方差ZSSD算法,根据所述特征点信息,确定两幅所述左右原始图像之间的特征点匹配点集对。

优选的,所述第二确定模块603可以包括:

第三获取子模块,用于通过如下公式获取真实场景中最大凸出距离下的第一视差dN_R

<mrow> <msub> <mi>d</mi> <mrow> <mi>N</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <mi>N</mi> <mo>_</mo> <mi>R</mi> <mo>*</mo> <mi>E</mi> <mo>_</mo> <mi>R</mi> </mrow> <mrow> <mi>Z</mi> <mo>_</mo> <mi>R</mi> <mo>-</mo> <mi>N</mi> <mo>_</mo> <mi>R</mi> </mrow> </mfrac> <mo>;</mo> </mrow>

其中,N_R为所述最大凸出距离,E_R为真实场景中的视间距,Z_R为真实场景中双眼到真实屏幕的距离;

第四获取子模块,用于通过如下公式获取真实场景中最大凹进距离下的第二视差dF_R

<mrow> <msub> <mi>d</mi> <mrow> <mi>F</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <mi>F</mi> <mo>_</mo> <mi>R</mi> <mo>*</mo> <mi>E</mi> <mo>_</mo> <mi>R</mi> </mrow> <mrow> <mi>Z</mi> <mo>_</mo> <mi>R</mi> <mo>+</mo> <mi>F</mi> <mo>_</mo> <mi>R</mi> </mrow> </mfrac> <mo>;</mo> </mrow>

其中,F_R为所述最大凹进距离;

第三确定子模块,用于根据真实场景中所述第一视差与所述第二视差之间的比值与拍摄场景中立体摄像机到最近物体的距离下的第三视差与立体摄像机到最远物体的距离下的第四视差之间的比值相等所构建的如下关系式,确定立体摄像机到零视差平面的第一距离Con:

<mrow> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>=</mo> <mfrac> <mrow> <mi>R</mi> <mo>+</mo> <mn>1</mn> </mrow> <mrow> <mfrac> <mn>1</mn> <mrow> <mi>N</mi> <mo>_</mo> <mi>O</mi> </mrow> </mfrac> <mo>+</mo> <mfrac> <mi>R</mi> <mrow> <mi>F</mi> <mo>_</mo> <mi>O</mi> </mrow> </mfrac> </mrow> </mfrac> <mo>;</mo> </mrow>

其中:N_O为立体摄像机到最近物体的距离,F_O为立体摄像机到最远物体的距离,R为所述第一视差dN_R与所述第二视差dF_R之间的比值,

第四确定子模块,用于根据所述第一距离,确定所述左右双目立体摄像机的视间距;

第五确定子模块,用于根据所述第一距离以及所述左右双目立体摄像机的视间距,确定所述左右双目立体摄像机的图像裁剪参数。

进一步的,所述第四确定子模块可以包括:

第二确定单元,用于通过如下公式确定所述左右双目立体摄像机的视间距Sep:

<mrow> <mi>S</mi> <mi>e</mi> <mi>p</mi> <mo>=</mo> <mfrac> <mrow> <mn>2</mn> <mo>*</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>*</mo> <mi>t</mi> <mi>a</mi> <mi>n</mi> <mrow> <mo>(</mo> <mfrac> <mi>&theta;</mi> <mn>2</mn> </mfrac> <mo>)</mo> </mrow> <mo>*</mo> <msub> <mi>d</mi> <mrow> <mi>N</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>*</mo> <mi>N</mi> <mo>_</mo> <mi>O</mi> </mrow> <mrow> <mi>W</mi> <mo>_</mo> <mi>R</mi> <mo>*</mo> <mrow> <mo>(</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>-</mo> <mi>N</mi> <mo>_</mo> <mi>O</mi> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>d</mi> <mrow> <mi>N</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>*</mo> <mi>N</mi> <mo>_</mo> <mi>O</mi> </mrow> </mfrac> <mo>;</mo> </mrow>

其中,Con为所述第一距离,W_R为真实场景中真实屏幕的宽度,dN_R为所述第一视差,N_O为立体摄像机到最近物体的距离,θ为立体摄像机的视场角;

或者

通过如下公式确定所述左右双目立体摄像机的视间距Sep:

<mrow> <mi>S</mi> <mi>e</mi> <mi>p</mi> <mo>=</mo> <mfrac> <mrow> <mn>2</mn> <mo>*</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>*</mo> <mi>t</mi> <mi>a</mi> <mi>n</mi> <mrow> <mo>(</mo> <mfrac> <mi>&theta;</mi> <mn>2</mn> </mfrac> <mo>)</mo> </mrow> <mo>*</mo> <msub> <mi>d</mi> <mrow> <mi>F</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>*</mo> <mi>F</mi> <mo>_</mo> <mi>O</mi> </mrow> <mrow> <mi>W</mi> <mo>_</mo> <mi>R</mi> <mo>*</mo> <mrow> <mo>(</mo> <mi>F</mi> <mo>_</mo> <mi>O</mi> <mo>-</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>d</mi> <mrow> <mi>F</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>*</mo> <mi>F</mi> <mo>_</mo> <mi>O</mi> </mrow> </mfrac> <mo>;</mo> </mrow>

其中,dF_R为所述第二视差,F_O为立体摄像机到最远物体的距离;

或者

通过如下公式确定所述左右双目立体摄像机的视间距Sep:

<mrow> <mi>S</mi> <mi>e</mi> <mi>p</mi> <mo>=</mo> <mfrac> <mrow> <mo>(</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>*</mo> <msub> <mi>W</mi> <mi>f</mi> </msub> <mo>/</mo> <mi>f</mi> <mo>)</mo> <mo>*</mo> <msub> <mi>d</mi> <mrow> <mi>N</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>*</mo> <mi>N</mi> <mo>_</mo> <mi>O</mi> </mrow> <mrow> <mi>W</mi> <mo>_</mo> <mi>R</mi> <mo>*</mo> <mrow> <mo>(</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>-</mo> <mi>N</mi> <mo>_</mo> <mi>O</mi> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>d</mi> <mrow> <mi>N</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>*</mo> <mi>N</mi> <mo>_</mo> <mi>O</mi> </mrow> </mfrac> <mo>;</mo> </mrow>

其中,Wf为立体摄像机传感器的宽度,f立体摄像机的透镜焦距;

或者

通过如下公式确定所述左右双目立体摄像机的视间距Sep:

<mrow> <mi>S</mi> <mi>e</mi> <mi>p</mi> <mo>=</mo> <mfrac> <mrow> <mo>(</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>*</mo> <msub> <mi>W</mi> <mi>f</mi> </msub> <mo>/</mo> <mi>f</mi> <mo>)</mo> <mo>*</mo> <msub> <mi>d</mi> <mrow> <mi>F</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>*</mo> <mi>F</mi> <mo>_</mo> <mi>O</mi> </mrow> <mrow> <mi>W</mi> <mo>_</mo> <mi>R</mi> <mo>*</mo> <mrow> <mo>(</mo> <mi>F</mi> <mo>_</mo> <mi>O</mi> <mo>-</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>d</mi> <mrow> <mi>F</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>*</mo> <mi>F</mi> <mo>_</mo> <mi>O</mi> </mrow> </mfrac> <mo>.</mo> </mrow>

进一步的,所述第五确定子模块可以包括:

第一获取单元,用于通过如下公式获取当前拍摄场景中虚拟屏幕的宽度WCon

<mrow> <msub> <mi>W</mi> <mrow> <mi>C</mi> <mi>o</mi> <mi>n</mi> </mrow> </msub> <mo>=</mo> <mn>2</mn> <mo>*</mo> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>*</mo> <mi>t</mi> <mi>a</mi> <mi>n</mi> <mrow> <mo>(</mo> <mfrac> <mi>&theta;</mi> <mn>2</mn> </mfrac> <mo>)</mo> </mrow> <mo>-</mo> <mi>S</mi> <mi>e</mi> <mi>p</mi> <mo>;</mo> </mrow>

其中,Con为所述第一距离,θ为立体摄像机的视场角;

或者

通过如下公式获取当前拍摄场景中虚拟屏幕的宽度WCon

<mrow> <msub> <mi>W</mi> <mrow> <mi>C</mi> <mi>o</mi> <mi>n</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <mi>C</mi> <mi>o</mi> <mi>n</mi> <mo>*</mo> <msub> <mi>W</mi> <mi>f</mi> </msub> </mrow> <mi>f</mi> </mfrac> <mo>-</mo> <mi>S</mi> <mi>e</mi> <mi>p</mi> <mo>;</mo> </mrow>

其中,Wf为立体摄像机传感器的宽度,f立体摄像机的透镜焦距;

第三确定单元,用于通过如下公式确定所述左右双目立体摄像机的图像裁剪参数Crop:

<mrow> <mi>C</mi> <mi>r</mi> <mi>o</mi> <mi>p</mi> <mo>=</mo> <mfrac> <mrow> <mi>S</mi> <mi>e</mi> <mi>p</mi> </mrow> <mrow> <msub> <mi>W</mi> <mrow> <mi>C</mi> <mi>o</mi> <mi>n</mi> </mrow> </msub> <mo>+</mo> <mi>S</mi> <mi>e</mi> <mi>p</mi> </mrow> </mfrac> <mo>;</mo> </mrow>

其中,Sep为所述左右双目立体摄像机的视间距。

优选的,所述裁剪模块605可以包括:

第一裁剪子模块,用于利用所述图像裁剪参数,将左图像水平方向上的最左端裁剪掉X*Crop像素,从而得到裁剪后的左图像;

以及

第二裁剪子模块,用于利用所述图像裁剪参数,将右图像水平方向上的最右端裁剪掉X*Crop像素,从而得到裁剪后的右图像;

其中,X为所述左右图像的水平像素数,Crop为所述图像裁剪参数。

进一步的,输出的所述裁剪处理后的左右图像具体运用在影院场合,并且所述影院拥有左右两台放映设备,将左图像提供给影院的左放映设备,将右图像提供给影院的右放映设备,从而进行放映立体拍摄场景;

或者,

输出的所述裁剪处理后的左右图像具体运用在虚拟现实头盔中,并且所述虚拟现实头盔拥有左右显示屏,将左图像提供虚拟现实头盔的左显示屏,将右图像提供给虚拟现实头盔的右显示屏;

或者

输出的所述裁剪处理后的左右图像具体运用在增强现实眼镜中,并且所述虚拟现实眼镜拥有左右显示镜片,将左图像提供增强现实眼镜的左显示镜片,将右图像提供给增强现实眼镜的右显示镜片。

本发明实施例的立体摄影装置,根据真实场景和拍摄场景的视差比例相等来设置立体摄像机之间的视间距和对图片进行裁剪,在利用所获得的拍摄场景的立体图像构建立体拍摄场景时,拍摄场景可映射到真实场景中的最大凸出距离和最大凹进距离之间,使得拍摄场景能够与真实场景即放映场合较好的适配,从而能够达到较好的立体效果,提升了用户的观看体验,解决了现有技术中立体电影的片源不能与放映场合较好的适配从而无法达到较佳的立体效果的问题。

需要说明的是,该立体摄影装置是与上述立体摄影方法相对应的装置,其中上述方法实施例中所有实现方式均适用于该装置的实施例中,也能达到同样的技术效果。

本发明实施例还提供一种立体摄影设备,所述立体摄影设备可包含前述任一实施例所述的立体摄影装置。

图6为本发明立体摄影设备一个实施例的结构示意图,可以实现本发明图1所示实施例的流程。如图6所示,上述立体摄影设备可以包括:左右双目立体摄像机(未示出),显示屏(未示出),壳体71、处理器72、存储器73、电路板74和电源电路75,其中,左右双目立体摄像机、显示屏嵌接在壳体71上;电路板74安置在壳体71围成的空间内部,处理器72和存储器73设置在电路板74上;电源电路75,用于为上述立体摄影设备的各个电路或器件供电;存储器73用于存储可执行程序代码;处理器72通过读取存储器73中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施例所述的立体摄影方法,利用左右双目立体摄像机采集当前拍摄场景的左右原始图像;根据所述左右原始图像,确定所述当前拍摄场景下立体摄像机到最近物体的距离和立体摄像机到最远物体的距离;根据真实场景中最大凸出距离下的第一视差和最大凹进距离下的第二视差之间的比值与拍摄场景中立体摄像机到最近物体的距离下的第三视差与立体摄像机到最远物体的距离下的第四视差之间的比值相等,从而根据所述立体摄像机到最近物体的距离和所述立体摄像机到最远物体的距离,确定左右双目立体摄像机的视间距和图像裁剪参数;根据所述左右双目立体摄像机的视间距,调整所述左右双目立体摄像机之间的距离;利用调整后的左右双目立体摄像机采集所述当前拍摄场景的左右图像,并利用所述图像裁剪参数,对所述左右图像进行裁剪处理;输出裁剪处理后的左右图像;根据裁剪处理后的左右图像构建所述当前拍摄场景的立体图像,从而通过所述显示屏将立体图像呈现出来。

处理器72对上述步骤的具体执行过程以及处理器72通过运行可执行程序代码来进一步执行的步骤,可以参见本发明图1所示实施例的描述,在此不再赘述。

该立体摄影设备以多种形式存在,包括但不限于:

(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。

(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。

(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、应用程序的提供器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。

(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。

(5)其他具有数据交互功能的电子设备。

本发明实施例中,模块可以用软件实现,以便由各种类型的处理器执行。举例来说,一个标识的可执行代码模块可以包括计算机指令的一个或多个物理或者逻辑块,举例来说,其可以被构建为对象、过程或函数。尽管如此,所标识模块的可执行代码无需物理地位于一起,而是可以包括存储在不同位里上的不同的指令,当这些指令逻辑上结合在一起时,其构成模块并且实现该模块的规定目的。

实际上,可执行代码模块可以是单条指令或者是许多条指令,并且甚至可以分布在多个不同的代码段上,分布在不同程序当中,以及跨越多个存储器设备分布。同样地,操作数据可以在模块内被识别,并且可以依照任何适当的形式实现并且被组织在任何适当类型的数据结构内。所述操作数据可以作为单个数据集被收集,或者可以分布在不同位置上(包括在不同存储设备上),并且至少部分地可以仅作为电子信号存在于系统或网络上。

在模块可以利用软件实现时,考虑到现有硬件工艺的水平,所以可以以软件实现的模块,在不考虑成本的情况下,本领域技术人员都可以搭建对应的硬件电路来实现对应的功能,所述硬件电路包括常规的超大规模集成(VLSI)电路或者门阵列以及诸如逻辑芯片、晶体管之类的现有半导体或者是其它分立的元件。模块还可以用可编程硬件设备,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等实现。

在本发明的各种实施例中,应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1