可调变式的拼块景深滤除方法

文档序号:6558713阅读:163来源:国知局
专利名称:可调变式的拼块景深滤除方法
技术领域
本发明涉及的是一种三维计算机绘图系统中图形处理的技术,特别涉及的是在一种在立体绘图对象的景深关系维持的系统及方法,供应用在数字相机(DSC)、数字摄影机(DV)、个人数字助理器(PDA)、行动电子设备、第三代行动电话、手持式行动电话或智能型手机等可携手持式装置上,但并不限定为上述装置。
背景技术
近年来,市场上对在手持式可随身型电子产品的需求日益增加,与此同时,三维绘图系统的省能效果,在特别需要讲究低耗能小体积的手持式可随身型电子产品中的地位也越形重要。在三维绘图系统中,运算过程中的海量存储器存取部分是最关键的能量耗散;三维绘图系统中包含五种型态的内存存取材质资料读取(Texture Read)、景深暂存区(Depth Buffer or Z Buffer)资料读取(Z Read)、景深暂存区资料写入(Z Write)、彩度暂存区资料读取(Color Read)、以及彩度暂存区资料写入(Color Write);根据这五种内存存取所需的内存频宽大小来看,其中,景深暂存区资料读取(ZR)占了当中至少40%的频宽;因此针对景深暂存区资料读取(ZR)的动作实施最佳化,对在能量耗散的减少可以有较好的结果。
先前Morein曾提出一种最大景深的滤除法(Zmax),是切割绘图区(DisplayRegion)成若干拼块,并以拼块内的所有像素景深的最大值(Zmax)为滤除分类条件;当目前要画的拼块,其最小的景深大在先前画的拼块景深最大值(Zmax),那么目前拼块内的所有绘点都是属在被遮住的绘点应予以丢弃。Morein的方法节省了三维绘图中,那些被遮住的对象的绘点将来在景深暂存区(Z-Buffer)的存取与景深比对(Z Test)的操作。Mller另外提出一种最小景深的滤除法(Zmin),是切割绘图区(Display Region)成若干拼块,并以拼块内的所有像素景深的最小值(Zmin)为滤除分类条件;当目前要画的拼块,其最大的景深小在先前画的拼块景深最小值(Zmin),那么目前拼块内的所有绘点都视为可见绘点予以保存。Mller的方法节省了三维绘图中,那些未被遮住的对象的绘点在景深暂存区(Z-Buffer)读取所占的频宽。Yuand Kim也提出了他们的滤除法,同样地,绘图区(Display Region)被切割成若干拼块,不同的是,拼块内设的景深滤除条件是固定的,称为景深平面滤除法(Depth PlanFilter),同时对应拼块像素还有一个景深平面标志(DF-flag),其大小为拼块内的像素数目;当目前拼块内像素的景深小在此拼块设定的景深条件时(Depth Plan),其对应的拼块像素的景深平面标志(DF-flag)会被标志为1;而当目前拼块内像素的景深大在此拼块设定的景深条件时(Depth Plan),其对应的拼块像素的原景深平面标志(DF-flag)会被提出,若原景深平面标志为1的话,代表的前绘过一个绘点其景深值小在目前要绘的绘点,所以目前的绘点属在被遮住的绘点应予以丢弃。
很明显地,Morein的最大景深滤除法(Zmax)只滤掉了被遮住的点,而Mller的最小景深的滤除法(Zmin)只滤掉了未被遮住的点,另外Yu and Kim的滤除法的效益跟其定义的景深平面数值有很大的关系,特别是动态的场景更难抓住其景深的变化。

发明内容
本发明的目的在于,克服所述的缺陷,节省内存频宽,有较细分的滤除分类外,还动态的去调变拼块的大小,当场景需要换新的时候,本来是需要清除景深暂存区(Z Buffer)里的所有景深值,并全部换上系统中最大的景深值,以免在作新的景深比对时发生错乱。
为实现上述目的,本发明采用的技术方案在于,提供一种可调变式的拼块景深滤除系统,其包括一个三维贴图几何演算装置,供以处理三维立体对象绘图中三角贴图组的几何运算,并将绘图区(Display Region)切割为若干拼块(Tile),以该拼块组作为该三角贴图组的扫描单位(Scan Unit);一个可变式拼块景深滤除装置,供以滤除该三角贴图组中被剔除(Rejected)绘点(Point)、不需景深读取(No-z-read)绘点、以及正常(Normal)绘点;一个拼块暂存内存区(Tile Buffer),供以暂时存放该拼块组的像素(Pixel)掩盖屏蔽(Coverage Mask)、景深范围(Zmax and Zmin)、以及拼块模式(Mode)的资料,该像素景深屏蔽供记录该拼块内像素是否为绘过的点,该景深范围供记录该拼块内已绘过的像素景深的上下限,该拼块模式供记录该拼块的模式;该可调变式拼块景深滤除装置为一个扫描所有该三角贴图组的回路装置,该三角贴图组回路又内含一个扫描所有该拼块组回路,该拼块组回路又内含一个扫描该拼块所有像素的回路;在该像素回路内,先有一个像素景深计算器供以计算目前所在拼块内该三角贴图对应该像素的景深值(Z Value),接着一像素景深分类比较器,根据拼块暂存内存回传该拼块的像素掩盖屏蔽、景深范围、以及拼块模式的资料,与该像素的景深值作比较与分类,将该像素分为被遮住像素(OccludedPixel)、不被遮住像素(Non-occluded Pixel)、未确定像素(Uncertain Pixel)、或未绘过像素(Uncovered Pixel);接着一个像素绘点(Point)分类比较器,供以将上述四种像素类分为不需景深值读取绘点,正常绘点与被剔除绘点;不被遮住像素与未绘过像素属在不需景深值读取绘点(No-z-read),未确定像素属在正常绘点(Normal),被遮住像素属在被剔除(Reject)绘点;在该像素回路全部做完的后,接着一个拼块资料更新器,供以更新拼块暂存内存区内该拼块的现在像素掩盖屏蔽、以及现在景深范围的资料;接着一个像素掩盖屏蔽分类比较器,处理该更新后的像素掩盖屏蔽的资料并加以分类;若该拼块的全部像素皆为绘过的像素,该拼块切割成两个或多数个副拼块;若该拼块只有部分像素为绘过的像素,该拼块此部分切割成一个或多数个副拼块,而原拼块未被切割的其它部分为一个副拼块;未经切割的该拼块,直接跳到该拼块循环底部,进入下一个拼块;已经切割的拼块,进入一个副拼块回路;此副拼块回路内含一个副拼块像素回路,在该副拼块像素回路内,先有一个副拼块像素景深计算器供以计算目前所在副拼块内该三角贴图对应该像素的景深值(Z Value),接着一个副拼块像素景深分类比较器,根据该拼块暂存内存回传该副拼块的像素掩盖屏蔽、景深范围、以及副拼块模式的资料,与该副拼块像素的景深值作比较与分类,将该副拼块像素分为被遮住像素(Occluded Pixel)、不被遮住像素(Non-occluded Pixel)、未确定像素(Uncertain Pixel)、或未绘过像素(Uncovered Pixel);接着一个副拼块像素绘点(Point)分类比较器,供以将上述四种像素类分为不需景深值读取绘点,正常绘点与被剔除绘点;不被遮住像素与未绘过像素属在不需景深值读取绘点,未确定像素属在正常绘点(Normal),被遮住像素属在被剔除绘点;在该副拼块像素回路全部做完的后,接着一个副拼块资料更新器,供以更新拼块暂存内存区内该副拼块的像素掩盖屏蔽、以及景深范围的资料。
同时提供了一种可调变式的拼块景深滤除方法,其中包括下列步骤经由三维贴图几何演算,处理三维立体对象绘图中三角贴图组的几何结构,并将绘图区(Display Region)切割为若干拼块(Tile),并以该拼块组作为该三角贴图组的扫描单位(Scan Unit);
该三角贴图组的几何资料经由一个可变式拼块景深滤除处理,以滤除该三角贴图组中被剔除(Rejected)绘点(Point)、不需景深读取(No-z-read)绘点、以及正常(Normal)绘点;处理过程乃先建立该拼块组的像素掩盖屏蔽(Coverage Mask),负责记录该拼块组内像素是否被绘图过的情形,同样再建立负责记录该拼块内像素景深上下限的景深范围(Zmax and Zmin),还建立负责记录拼块现模式的拼块模式(Tile Mode),再经过三层回路演算;此三层分别为扫描所有该三角贴图组的回路,该三角贴图组回路又内含一个扫描所有该拼块组回路,该拼块组回路又内含一个扫描该拼块所有像素的回路;在该像素回路内,先计算目前所在拼块内该三角贴图对应该像素的景深值(Z Value),接着根据该拼块的前的像素掩盖屏蔽、景深范围、以及拼块模式的资料,与该像素目前的景深值作比较与分类,将该拼块像素分为被遮住像素(Occluded Pixel)、不被遮住像素(Non-occluded Pixel)、未确定像素(Uncertain Pixel)、或未绘过像素(Uncovered Pixel);接着将上述四种像素类分为不需景深值读取绘点、正常绘点与被剔除绘点;不被遮住像素与未绘过像素属在不需景深值读取绘点(No-z-read),未确定像素属在正常绘点(Normal),被遮住像素属在被剔除(Reject)绘点;在该像素回路全部做完的后,接着更新该拼块资料,包含该拼块现在的像素掩盖屏蔽、以及现在景深范围的资料;接着处理更新后的该像素掩盖屏蔽的资料并加以分类;若该拼块的全部像素皆为绘过的像素,该拼块切割成两个或多数个副拼块;若该拼块只有部分像素为绘过的像素,该拼块此部分切割成一个或多数个副拼块,而原拼块未被切割的其它部分为一个副拼块;未经切割的该拼块,直接跳到该拼块循环底部,进入下一个拼块;已经切割的拼块,进入一个副拼块回路;此副拼块回路内含一个副拼块像素回路,在该副拼块像素回路内,先计算目前所在副拼块内该三角贴图对应该像素的景深值(Z Value),接着根据该副拼块的像素掩盖屏蔽、景深范围、以及副拼块模式的资料,与该副拼块像素的景深值作比较与分类,将该副拼块像素分为被遮住像素(Occluded Pixel)、不被遮住像素(Non-occluded Pixel)、未确定像素(Uncertain Pixel)、或未绘过像素(Uncovered Pixel);接着将上述四种像素类分为不需景深值读取绘点、正常绘点与被剔除绘点;不被遮住像素与未绘过像素属在不需景深值读取绘点,未确定像素属在正常绘点(Normal),被遮住像素属在被剔除绘点(Rejected);在该副拼块像素回路全部做完的后,接着更新该副拼块的像素掩盖屏蔽、以及景深范围的资料。
为了让本发明上述以及其它目的、特征、和优点能更明显易懂,以下配合图式以及较佳实施例以说明本发明。


图1是为说明本发明三维绘图的几何结构(景深与二维像素);图2是为说明本发明像素与拼块的示意图;图3是为本发明三维绘图流程的简单示意图;图4是说明本发明拼块内像素依拼块景深范围分为三类的示意图;图5是说明本发明拼块内像素依拼块景深范围与掩盖屏蔽分为四类的示意图;图6是说明本发明如何利用掩盖屏蔽判断拼块分割情形的示意图;图7是说明本发明如何储存不同副拼块情形的资料的示意图;图8是说明本发明副拼块内像素依副拼块景深范围与掩盖屏蔽各自分为四类的示意图。
附图标记说明A1-对象一;A2-对象二;210、220-三角贴图;230-像素;240-拼块;310-三维贴图几何演算;320-滤除程序;322-拼块暂存内存区;330-景深比对程序;32-景深暂存内存区;340-演算;342-材质内存区;350-景深比对程序;360-演算;362-彩度暂存内存区;410、412-景深范围(值);830、420-未被遮着像素;430、850-未确定像素;440-被遮着像素;510-掩盖屏蔽;860、520-被遮住像素;530-未确定像素;532-未被绘过的像素;540-被遮住像素;610-拼块;620-拼块;810、812、820、822-景深范围;840-未绘出的像素。
具体实施例方式
如图1所示,为了绘出三维系统中的立体结构,维持各贴图之间的景深关系是很重要的;一般未经滤除法的景深比对程序(Z Test)乃是一个一个像素逐一比对谁的景深在前谁在后,如图2所示,对象二A2的景深较小,所以对象一A1被对象二A2盖住的部分,将不会被绘出;如果该绘图区的像素大小为64×64位(bit)的话,每一个三角贴图210、220都需要经过64×64位的比对还有此64×64位的景深暂存区(Z Buffer)的存取,这样的运算量跟所需的内存频宽是很可观的。而本发明则是在此景深比对程序前先作滤除,先一步剔掉某些被遮住的绘点以减少景深比对程序中的演算与内存频宽;除了被剔掉的绘点,本发明还能滤除出不需要景深暂存区读取的绘点,能更进一步节省了一部分的内存频宽。图3即显示整个三维绘图的流程,绘图对象经由三维贴图几何演算310的后,经由本发明中的滤除程序320,再将滤除的结果送与先遣景深比对程序(Z Test Front)330,然后再进行材质的演算(Texture)340,若材质演算中有开启艾尔法测试(Alpha Test)、透明材质、或者是其它可视度(Visibility)材质的话,就再进行一次后续景深比对程序(Z TestBack)350,最后进入彩度的演算(Color Operation)360即完成三维绘图的流程。
在本实施例中,整个64×64位像素230的绘图区(Display Region)以8×4位的拼块240进行切割(如图2中粗线标出的区块),整个绘图区共有8×16=128个拼块;在作一开始的三维三角贴图210几何演算时便以此拼块结构来扫描(Tile Base),即一个三角贴图的循环包含着一个拼块循环,在作循环的前,先统计目前拼块内的景深范围(CurZmax and CurZmin)与建立掩盖屏蔽(Coverage Mask),并记录在拼块暂存内存区(Tile Buffer)322;拼块的景深范围所占内存大小为128(拼块数)×2×16/32位(16或32端看此系统景深的精确度),存着所有拼块的两个景深数值,而拼块掩盖屏蔽所占的内存大小为128(拼块数)×32(拼块内像素)×1位亦等在64×64×1位,存着所有绘图区像素是否为绘过的标志(Flag),未绘过者标为1,绘过者标为0;接着在拼块循环的内,先从拼块内存区读取该拼块的景深范围(DstZmax410 andDstZmin412)与掩盖屏蔽(Coverage Mask)510,并计算目前进行到的三角贴图的绘点在此拼块内的景深值。
接着进行拼块内像素的比对,如图4中的圆圈代表拼块内的像素;若该像素的景深值小在拼块最小景深值(DstZmin412),该像素属在未被遮着像素(Non-occluded Pixel)420;若该像素的景深值大在拼块最大景深值(DstZmax410),该像素属在被遮着像素(Occluded Pixel)440;若该像素的景深值介在拼块最小景深值(DstZmin412)与拼块最大景深值(DstZmax410)之间,该像素属在未确定像素(Uncertain Pixel)430,在图4中标为空心圆圈。另外,提出掩盖屏蔽的比对,上述未确定像素中其掩盖屏蔽标志为1者,可被再滤除出为未绘过的像素532,如图5中的粗线圆圈,剩下的则为最后的未确定像素530。最后的未确定像素(如图5中空心圆圈)530上的三角贴图绘点被归类为正常绘点(Normal Point),为无法滤除的需要经过正常的景深比对程序才能得知那些为可见绘点;被遮住像素540上的三角贴图绘点则直接被剔除,视为不可见绘点不需经过绘图程序;而那些未被遮住像素520以及未绘过像素532上的三角贴图绘点被归类为不需景深读取绘点(No-z-read Point),在经过景深比对程序时不需读取景深暂存内存,这一类的绘点亦可节省一部分内存频宽。当所有的拼块内像素皆被分类完成后,该拼块的目前景深范围(CurMax and CurMin)与从拼块暂存内存区读出的(DstMax and DstMin)比对,得到新的最终景深范围(DstMax and DstMin);目前的掩盖屏蔽也与拼块暂存内存区读出的掩盖屏蔽做与门(AND Gate)的比对,与最终景深范围一并回存在拼块暂存内存区。
本发明另一个重要特点,当第一次景深分类得出的未确定像素430中并无未被绘过的像素530,本发明可以机动的调变我们的拼块大小,又一次切割拼块成为两个左右副拼块620,使得左右副拼块可以再作一次分类,只要拼块暂存内存区读出的掩盖屏蔽其全数为0(即为绘过的标志)或至少左半部全为0或者是至少右半部全为0,该拼块被切割为左右副拼块620(如图6)。切割的后左右副拼块各自有其景深范围(L-ZMax810 and L-ZMin812,and R-ZMax820 and R-ZMin822),左右副拼块中的像素各自以此范围作分类,同时,左右副拼块的掩盖屏蔽(L-CM and R-CM)情形又可分出左右副拼块中未绘出的像素840(如图8),由于机动的分割拼块大小,因为更细分的景深范围使得的前未确定的像素又可以再一次滤除。
在本发明中,即使原拼块610被切割,仍然可以用原拼块的内存暂存区来正确的储存也不会发生错乱;如图6中的11模式(Full Tile with Coverage Mask),全拼块的掩盖屏蔽皆为0,因此不再需要储存其掩盖屏蔽值,只需要记录模式的形式即可,也因为如此,所需要记忆的只有左右副拼块的景深范围,如图7中模式11所标示的,左右景深范围共占4×15位,另外,还有4位储存其模式标志-11;若是图6中的10模式(Sub-tile with Right Coverage Mask),原拼块的左半部的掩盖屏蔽皆为0,不需储存左半部的掩盖屏蔽,只剩下左右半部的景深范围与右半部的掩盖屏蔽(R-CM)需要储存,如图7模式10所示,其左半部的景深范围以2×15位存在原拼块的内存暂存区,而其右半部的景深范围先减去左半部的景深范围得其差值,将差值从16位压缩至8位,得到右半部两个占8位的景深差值,再与占32位的右半部的掩盖屏蔽一起存回原拼块的内存暂存区,剩下的两位用在储存该拼块的模式10;若是图6中的01模式(Sub-tile with Left Coverage Mask),原拼块的右半部的掩盖屏蔽皆为0,不需储存右半部的掩盖屏蔽,只剩下左右半部的景深范围与左半部的掩盖屏蔽(L-CM)需要储存,如图7模式01所示,其右半部的景深范围以2×15位存在原拼块的内存暂存区,而其左半部的景深范围先减去右半部的景深范围得其差值,将差值从16位压缩至8位,得到左半部两个占8位的景深差值,再与占32位的左半部的掩盖屏蔽一起存回原拼块的内存暂存区,剩下的两位用在储存该拼块的模式01;若原拼块没进行分割,如图6所示的模式00,占32位的掩盖屏蔽需全数储存,如图7模式00所示,剩下的2×15位则是存放景深范围与拼块模式00。
分类完成的绘点,被剔除的绘点在下一步景深比对程序的前即被剔除(Reject),不会进行运算,而不需景深读取的绘点在景深比对程序中将可跳过从景深暂存内存区332(如图3所示)读取的部分,剩下的未确定绘点将正常进行景深比对程序,最后得出那些是真正的可见绘点;得出可见绘点的后进行材质演算,若材质演算中有开启艾尔法测试(Alpha Test)、透明材质、或者是其它可视度(Visibility)材质的话,就再进行一次后续景深比对程序(Z Test Back),最后进入彩度的演算即完成三维绘图的流程,其中,如图3所示,本发明又包括一材质内存区(TextureMemory)342,以供储存该三角贴图组中可见绘点的材质资料,以及一彩度暂存内存区362,以供暂存该可见绘点的彩度资料。
依上述所揭示的说明与图式,本发明可以达到发明预期的目的,提供一种可以节省内存频宽的可调变式拼块景深滤除系统及方法,并可增加滤除效能与效率。
以上所述仅为本发明的较佳实施例,对本发明而言仅仅是说明性的,而非限制性的。本专业技术人员理解,在本发明权利要求所限定的精神和范围内可对其进行许多改变,修改,甚至等效,但都将落入本发明的保护范围内。
权利要求
1.一种可调变式的拼块景深滤除系统,其特征在于,包括一个三维贴图几何演算装置,供以处理三维立体对象绘图中三角贴图组的几何运算,并将绘图区(Display Region)切割为若干拼块(Tile),以该拼块组作为该三角贴图组的扫描单位(Scan Unit);一个可变式拼块景深滤除装置,供以滤除该三角贴图组中被剔除(Rejected)绘点(Point)、不需景深读取(No-z-read)绘点、以及正常(Normal)绘点;一个拼块暂存内存区(Tile Buffer),供以暂时存放该拼块组的像素(Pixel)掩盖屏蔽(Coverage Mask)、景深范围(Zmax and Zmin)、以及拼块模式(Mode)的资料,该像素景深屏蔽供记录该拼块内像素是否为绘过的点,该景深范围供记录该拼块内已绘过的像素景深的上下限,该拼块模式供记录该拼块的模式;该可调变式拼块景深滤除装置为一个扫瞄所有该三角贴图组的回路装置,该三角贴图组回路又内含一个扫描所有该拼块组回路,该拼块组回路又内含一个扫描该拼块所有像素的回路;在该像素回路内,先有一个像素景深计算器供以计算目前所在拼块内该三角贴图对应该像素的景深值(Z Value),接着一像素景深分类比较器,根据拼块暂存内存回传该拼块的像素掩盖屏蔽、景深范围、以及拼块模式的资料,与该像素的景深值作比较与分类,将该像素分为被遮住像素(OccludedPixel)、不被遮住像素(Non-occluded Pixel)、未确定像素(Uncertain Pixel)、或未绘过像素(Uncovered Pixel);接着一个像素绘点(Point)分类比较器,供以将上述四种像素类分为不需景深值读取绘点,正常绘点与被剔除绘点;不被遮住像素与未绘过像素属在不需景深值读取绘点(No-z-read),未确定像素属在正常绘点(Normal),被遮住像素属在被剔除(Reject)绘点;在该像素回路全部做完的后,接着一个拼块资料更新器,供以更新拼块暂存内存区内该拼块的现在像素掩盖屏蔽、以及现在景深范围的资料;接着一个像素掩盖屏蔽分类比较器,处理该更新后的像素掩盖屏蔽的资料并加以分类;若该拼块的全部像素皆为绘过的像素,该拼块切割成两个或多数个副拼块;若该拼块只有部分像素为绘过的像素,该拼块此部分切割成一个或多数个副拼块,而原拼块未被切割的其它部分为一个副拼块;未经切割的该拼块,直接跳到该拼块循环底部,进入下一个拼块;已经切割的拼块,进入一个副拼块回路;此副拼块回路内含一个副拼块像素回路,在该副拼块像素回路内,先有一个副拼块像素景深计算器供以计算目前所在副拼块内该三角贴图对应该像素的景深值(Z Value),接着一个副拼块像素景深分类比较器,根据该拼块暂存内存回传该副拼块的像素掩盖屏蔽、景深范围、以及副拼块模式的资料,与该副拼块像素的景深值作比较与分类,将该副拼块像素分为被遮住像素(Occluded Pixel)、不被遮住像素(Non-occluded Pixel)、未确定像素(Uncertain Pixel)、或未绘过像素(Uncovered Pixel);接着一个副拼块像素绘点(Point)分类比较器,供以将上述四种像素类分为不需景深值读取绘点,正常绘点与被剔除绘点;不被遮住像素与未绘过像素属在不需景深值读取绘点,未确定像素属在正常绘点(Normal),被遮住像素属在被剔除绘点;在该副拼块像素回路全部做完的后,接着一个副拼块资料更新器,供以更新拼块暂存内存区内该副拼块的像素掩盖屏蔽、以及景深范围的资料。
2.如权利要求1所述的可调变式的拼块景深滤除系统,其特征在于,该拼块组的拼块大小与数目是可变动的,该拼块组组合起来即为该绘图区的区域。
3.如权利要求1所述的可调变式的拼块景深滤除系统,其特征在于,该拼块暂存内存区的储存方式如下拼块内的每个像素皆有一个位的掩盖屏蔽表示,在完整拼块的情况下所有的掩盖屏蔽大小为拼块的所有像素值,该维持原拼块结构的拼块,其全部像素的掩盖屏蔽全部回存至该拼块暂存内存区,其占暂存区的内存大小为该拼块像素的总数乘以一位(bit),且该拼块目前拼块内的景深范围的两个景深数字也直接存在该拼块暂存内存区,其占暂存区内存大小为该景深依原精确度所占位元数乘以二,,另外,由该景深范围所占位元数贡献二位纪录该拼块的模式(Mode),代表该拼块切割情形;Mode11该原拼块结构全部进行切割的拼块,全部像素的掩盖屏蔽全部舍弃不回存拼块暂存内存区,其占暂存区的内存大小为零位,且所有该副拼块内的该景深范围分别直接存在该拼块暂存记忆区,其占暂存区内存大小为该景深依原精密度所占位元数乘以二再乘以该副拼块数,另外,由各景深范围所占位元数各贡献二位各自纪录该副拼块的模式,代表该拼块切割情形;Mode01或Mode10该原拼块结构只有部份进行切割的拼块,除用做切割的部份其像素掩盖屏蔽舍弃的外,其它未被切割的部分的掩盖屏蔽回存该拼块暂存记忆区,其占暂存区的内存大小为该原拼块未切割部份的像素数目乘以一位,且所有切割的副拼块内的该景深范围择其一直接存在该拼块暂存内存区,其占暂存区内存大小为该原始景深所占位元数乘以二,其它副拼块以及未切割的副拼块的景深范围先减去该(未压缩)已储存副拼块的景深范围,得到各副拼块景深落差值采压缩模式回存该暂存内存区,另外,由各景深范围所占位元数各贡献二位纪录各自副拼块的模式(Mode),代表该拼块切割情形。
4.如权利要求3所述的可调变式的拼块景深滤除系统,其特征在于,所述拼块若为8×4,该掩盖屏蔽大小为32位数。
5.如权利要求3所述的可调变式的拼块景深滤除系统,其特征在于,最大景深(Zmax)精确度若为16位,其拼块暂存内存区是以32位数来储存最大景深(Zmax)与最小景深(Zmin)。
6.如权利要求1所述的可调变式的拼块景深滤除系统,其特征在于,又包括至少一个景深比对装置(Z Test),供以判断该三角贴图组中该正常(Normal)绘点的景深与已绘在该绘图区绘点的景深前后顺序,通过以判断该三角贴图组中有哪些点是可见绘点(Viewable Point),该判断是以该绘图区像素作为扫描单位;以及一个景深暂存内存区(Z Buffer),供以暂时存放该绘图区像素与该三角贴图组该可见绘点的景深资料;当材质没有开启艾尔法测试(Alpha Test)、透明材质(TransparentTexture)、或特殊可见度(Visiblity)算法的时候,景深比对(Z Test)可以在材质运算装置前做。当特殊可视材质算法开启时则必须等材质运算作完才能进行景深比对装置。
7.如权利要求6所述的可调变式的拼块景深滤除系统,其特征在于,又包括一个材质运算装置(Texture),供以运算三角贴图组该可见绘点的材质表现;以及一个材质内存区(Texture Memory),供以储存该三角贴图组中可见绘点的材质资料。
8.如权利要求7所述的可调变式的拼块景深滤除系统,其特征在于,又包括一个彩度运算装置(Color Operation),供以运算该三角贴图组中该可绘见点的彩度表现;以及一个彩度暂存内存区,供以暂存该可见绘点的彩度资料。
9.如权利要求1所述的可调变式的拼块景深滤除系统,其特征在于,在进入下一个画面(Scene)的前,一个拼块像素掩盖屏蔽清除(Clear)器,供以清除该拼块暂存内存内像素掩盖屏蔽的数值;并通过该拼块像素掩盖屏蔽清除器便可达到与清除该绘图区所有像素的景深暂存内存区(Z Buffer)一样的效果,可使新的画面在作分类比较时,不会受先前画面结果的影响。
10.如权利要求1所述的可调变式的拼块景深滤除系统,其特征在于,该方法供应用在手持式装置,包括手持式装置是数字相机、数字摄影机、个人数字助理器、行动电子设备、第三代行动电话、手持式行动电话或智能型手机。
11.一种可调变式的拼块景深滤除方法,其特征在于,包括下列步骤经由三维贴图几何演算,处理三维立体对象绘图中三角贴图组的几何结构,并将绘图区(Display Region)切割为若干拼块(Tile),并以该拼块组作为该三角贴图组的扫描单位(Scan Unit);该三角贴图组的几何资料经由一个可变式拼块景深滤除处理,以滤除该三角贴图组中被剔除(Rejected)绘点(Point)、不需景深读取(No-z-read)绘点、以及正常(Normal)绘点;处理过程乃先建立该拼块组的像素掩盖屏蔽(Coverage Mask),负责记录该拼块组内像素是否被绘图过的情形,同样再建立负责记录该拼块内像素景深上下限的景深范围(Zmax and Zmin),还建立负责记录拼块现模式的拼块模式(Tile Mode),再经过三层回路演算;此三层分别为扫瞄所有该三角贴图组的回路,该三角贴图组回路又内含一个扫描所有该拼块组回路,该拼块组回路又内含一个扫描该拼块所有像素的回路;在该像素回路内,先计算目前所在拼块内该三角贴图对应该像素的景深值(Z Value),接着根据该拼块的前的像素掩盖屏蔽、景深范围、以及拼块模式的资料,与该像素目前的景深值作比较与分类,将该拼块像素分为被遮住像素(Occluded Pixel)、不被遮住像素(Non-occluded Pixel)、未确定像素(Uncertain Pixel)、或未绘过像素(Uncovered Pixel);接着将上述四种像素类分为不需景深值读取绘点、正常绘点与被剔除绘点;不被遮住像素与未绘过像素属在不需景深值读取绘点(No-z-read),未确定像素属在正常绘点(Normal),被遮住像素属在被剔除(Reject)绘点;在该像素回路全部做完的后,接着更新该拼块资料,包含该拼块现在的像素掩盖屏蔽、以及现在景深范围的资料;接着处理更新后的该像素掩盖屏蔽的资料并加以分类;若该拼块的全部像素皆为绘过的像素,该拼块切割成两个或多数个副拼块;若该拼块只有部分像素为绘过的像素,该拼块此部分切割成一个或多数个副拼块,而原拼块未被切割的其它部分为一个副拼块;未经切割的该拼块,直接跳到该拼块循环底部,进入下一个拼块;已经切割的拼块,进入一个副拼块回路;此副拼块回路内含一个副拼块像素回路,在该副拼块像素回路内,先计算目前所在副拼块内该三角贴图对应该像素的景深值(Z Value),接着根据该副拼块的像素掩盖屏蔽、景深范围、以及副拼块模式的资料,与该副拼块像素的景深值作比较与分类,将该副拼块像素分为被遮住像素(Occluded Pixel)、不被遮住像素(Non-occluded Pixel)、未确定像素(Uncertain Pixel)、或未绘过像素(Uncovered Pixel);接着将上述四种像素类分为不需景深值读取绘点、正常绘点与被剔除绘点;不被遮住像素与未绘过像素属在不需景深值读取绘点,未确定像素属在正常绘点(Normal),被遮住像素属在被剔除绘点(Rejected);在该副拼块像素回路全部做完的后,接着更新该副拼块的像素掩盖屏蔽、以及景深范围的资料。
12.如权利要求11所述的可调变式的拼块景深滤除系统,其特征在于,该拼块组的拼块大小与数目是可变动的,该拼块组组合起来即为该绘图区的区域。
13.如权利要求11所述的可调变式的拼块景深滤除系统,其特征在于,拼块若为8×4,该掩盖屏蔽大小为32位数。
14.如权利要求11所述的可调变式的拼块景深滤除系统,其特征在于,又包括至少一个景深比对步骤(Z Test),供以判断该三角贴图组中该正常(Normal)绘点的景深与已绘在该绘图区绘点的景深前后顺序,通过以判断该三角贴图组中有哪些点是可见绘点(Viewable Point),该判断是以该绘图区像素作为扫描单位;当材质没有开启艾尔法测试(Alpha Test)、透明材质(Transparent Texture)、或特殊可见度(Visiblity)算法的时候,景深比对(Z Test)可以在材质运算装置前做。当特殊可视材质算法开启时则必须等材质运算作完才能进行景深比对装置。
15.如权利要求14所述的可调变式的拼块景深滤除系统,其特征在于,又包括下列步骤继续进行材质运算(Texture),以运算三角贴图组该可见绘点的材质表现。
16.如权利要求15所述的可调变式的拼块景深滤除系统,其特征在于,又包括下列步骤继续彩度运算(Color Operation),以运算该三角贴图组中该可绘见点的彩度表现。
17.如权利要求14所述的可调变式的拼块景深滤除系统,其特征在于,又包括下列步骤在进入下一个画面(Scene)的前,清除像素掩盖屏蔽的资料就像清除绘图区像素的景深数据(Z Buffer)一样可使新的演算不受的前画面结果的影响。
18.如权利要求14所述的可调变式的拼块景深滤除系统,其特征在于,该方法是供应用在手持式装置,包括手持式装置是数字相机、数字摄影机、个人数字助理器、行动电子设备、第三代行动电话、手持式行动电话或智能型手机。
全文摘要
一种可调变式拼块景深滤除系统与方法,用以传统景深暂存算法之前,将绘图区(Display Region)作比基本像素(Pixel)单位还大的拼块(Tile)切割,以拼块为单位先依拼块内景深范围(Zmax and Zmin)对三角贴图的绘点作滤除分类,能有效率地提早滤除掉不须后续详细景深比对的绘图点;除此之外,本发明所提出的像素掩盖屏蔽(Coverage Mask)与可调变式的拼块大小能更进一步的增加滤除效能与效率。
文档编号G06T15/40GK101079155SQ20061008149
公开日2007年11月28日 申请日期2006年5月23日 优先权日2006年5月23日
发明者曹有铭 申请人:绘展科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1