发明名称 基于块内插值的多分辨率体绘制方法
摘要 本发明公开了一种基于块内插值的多分辨率体绘制方法。其包括以下步骤:数据划分、分块细节水平选择、建立二级索引和体绘制。本发明的有益效果是:本发明的基于块内插值的多分辨率体绘制方法利用块内边界插值方法,避免了引入额外数据量和额外的数据预处理,消除了多分辨率体绘制的分块效应,并且利用GPU完成插值,使本发明的体绘制方法更加简单高效。
申请公布号 CN104200511A 申请公布日期 2014.12.10
申请号 CN201410427177.X 申请日期 2014.08.27
申请人 电子科技大学 发明人 鲁才;曹琛;胡光岷
分类号 G06T15/08(2011.01)I 主分类号 G06T15/08(2011.01)I
代理机构 成都宏顺专利代理事务所(普通合伙) 51227 代理人 周永宏
主权项 一种基于块内插值的多分辨率体绘制方法,其特征在于,包括以下步骤:S1.依据选取的块大小将数据体划分为多个大小相等的分块;S2.对步骤S1中得到的每一个分块选择合适的分块细节水平,具体包括以下步骤:S21.将步骤S1中得到的每一个分块进一步细分为多个子块;S22.计算步骤S21中每个子块中所有数据点的均值,表示为:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>avg</mi><mi>i</mi></msub><mo>=</mo><mfrac><mn>1</mn><msup><mn>2</mn><mrow><mn>3</mn><mrow><mo>(</mo><msub><mi>l</mi><mi>max</mi></msub><mo>-</mo><mi>l</mi><mo>)</mo></mrow></mrow></msup></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><msup><mn>2</mn><mrow><mn>3</mn><mrow><mo>(</mo><msub><mi>l</mi><mi>max</mi></msub><mo>-</mo><mi>l</mi><mo>)</mo></mrow></mrow></msup></munderover><msub><mi>S</mi><mi>j</mi></msub><mo>,</mo></mrow>]]></math><img file="FDA0000560445200000011.GIF" wi="600" he="191" /></maths>其中,avg<sub>i</sub>表示第i个子块的均值,S<sub>j</sub>为当前子块内第j个点的标量值,l<sub>max</sub>为当前算法中所能使用的最高分块细节水平,l表示当前用于分析的细节水平;S23.根据步骤S22中得到的每个子块中所有数据点的均值,计算每个子块的均方差,表示为:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>B</mi><mi>i</mi></msub><mo>=</mo><msqrt><mfrac><mn>1</mn><mrow><msup><mn>2</mn><msup><mn>3</mn><mrow><mo>(</mo><msub><mi>l</mi><mi>max</mi></msub><mo>-</mo><mi>l</mi><mo>)</mo></mrow></msup></msup><mo></mo></mrow></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><msup><mn>2</mn><mrow><mn>3</mn><mrow><mo>(</mo><msub><mi>l</mi><mi>max</mi></msub><mo>-</mo><mi>l</mi><mo>)</mo></mrow></mrow></msup></munderover><msup><mrow><mo>(</mo><msub><mi>S</mi><mi>j</mi></msub><mo>-</mo><msub><mi>avg</mi><mi>i</mi></msub><mo>)</mo></mrow><mn>2</mn></msup></msqrt><mo>,</mo></mrow>]]></math><img file="FDA0000560445200000012.GIF" wi="802" he="203" /></maths>其中,B<sub>i</sub>表示当前分块中第i个子块的均方差;S24.对当前分块的所有子块进行综合分析,计算在当前分块细节水平之下当前分块的平均均方差,表示为:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mi>V</mi><mi>l</mi></msub><mo>=</mo><mfrac><mn>1</mn><msup><mn>2</mn><mrow><mn>3</mn><mi>l</mi></mrow></msup></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><msup><mn>2</mn><mrow><mn>3</mn><mi>l</mi></mrow></msup></munderover><mfrac><msub><mi>B</mi><mi>i</mi></msub><mrow><msub><mi>S</mi><mi>max</mi></msub><mo>-</mo><msub><mi>S</mi><mi>min</mi></msub></mrow></mfrac><mo>,</mo></mrow>]]></math><img file="FDA0000560445200000013.GIF" wi="475" he="152" /></maths>其中,V<sub>l</sub>表示在当前细节水平下当前分块的平均均方差,S<sub>max</sub>表示当前分块数据的最大值,S<sub>min</sub>表示当前分块数据的最小值;S25.定义满足|s<sub>j</sub>‑avg<sub>i</sub>|&gt;B<sub>i</sub>的所有点为奇异点,计算在当前分块细节水平下每个子块内奇异点所占比例,并找出所有的奇异子块,计算奇异子块在当前分块内所占比例T<sub>l</sub>;S26.建立均方差和奇异子块比例列表,引入用户设定的门限值,计算当前分块的最终分辨率级别,表示为:<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mi>L</mi><mo>=</mo><mo>{</mo><mo>&Exists;</mo><mi>l</mi><mo>|</mo><msub><mi>V</mi><mi>l</mi></msub><mo>&lt;</mo><msub><mi>T</mi><mi>u</mi></msub><mo>}</mo><mo>&cap;</mo><mo>{</mo><mo>&Exists;</mo><mi>l</mi><mo>|</mo><msub><mi>T</mi><mi>l</mi></msub><mo>&lt;</mo><msub><mi>T</mi><mi>s</mi></msub><mo>}</mo></mrow>]]></math><img file="FDA0000560445200000014.GIF" wi="650" he="92" /></maths>l<sub>m</sub>=min(L),其中,T<sub>u</sub>表示用户设定的均方差门限,T<sub>s</sub>表示用户设定的奇异子块比例门限,L表示所有满足门限的分块细节水平,l<sub>m</sub>表示当前分块最终使用的分块细节水平;S3.创建二级索引,将分块数据整合为空间矩形,具体包括以下步骤:S31.对原始数据体组织进行处理,形成元祖体;S32.将所有低级分块组合为最高级分块,计算最高级分块的累计个数;S33.根据步骤S32中的最高级分块累计个数计算空间矩形大小;S34.根据步骤S33中的空间矩形大小,申请打包数据所需空间,并利用分级坐标方法,形成打包数据;S4.根据步骤S3中的空间矩形,在GPU片元上利用光线投射法进行体绘制,具体包括以下步骤:S41.按照采样间隔Δt对元祖体数据进行采样,并用该采样点处的光强度以及光衰减系数表征数据体中对应段的光强度和光衰减系数,则光学深度表示为:<img file="FDA0000560445200000023.GIF" wi="512" he="153" />其中,<img file="FDA0000560445200000024.GIF" wi="140" he="69" />表示光线从0位置传递到t位置的累计衰减程度,k(i·Δt)表示光衰减程度,i表示采样点序号;S42.根据元祖体与打包数据的映射关系,计算采样点位置的颜色值C<sub>i</sub>与不透明度A<sub>i</sub>,表示为:A<sub>i</sub>=1‑e<sup>‑k(i·Δt)Δt</sup>C<sub>i</sub>=c(i·Δt)Δt;S43.将所有点发出的光线进行融合,并在GPU片元着色器上利用块内边界插值方法得到绘制结果,表示为:<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><mover><mi>C</mi><mo>~</mo></mover><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mi>n</mi></munderover><msub><mi>C</mi><mi>i</mi></msub><munderover><mi>&Pi;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>i</mi><mo>-</mo><mn>1</mn></mrow></munderover><mrow><mo>(</mo><mn>1</mn><mo>-</mo><msub><mi>A</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>.</mo></mrow>]]></math><img file="FDA0000560445200000022.GIF" wi="449" he="150" /></maths>
地址 611731 四川省成都市高新区(西区)西源大道2006号