【】本发明涉及算法计算,特别涉及一种贝塞尔曲线计算方法、设备、介质及程序产品。
背景技术
0、
背景技术:
1、贝塞尔曲线在计算光刻中的应用主要是用于定义光刻掩模的边界形状,提供平滑曲线轮廓,并减少锯齿效应;通过使用贝塞尔曲线,可以实现更精确和高质量的微细结构图案形成,贝塞尔曲线的平滑性可以用于描述光刻图案的边缘,从而获得更精确的曲线轮廓。
2、对于一个掩模版图而言,其具有多个图案边界,也即需要计算多条贝塞尔曲线,且由于高阶贝塞尔曲线需要处理更多的控制点和更复杂的计算过程,从而使得计算效率低。
技术实现思路
0、
技术实现要素:
1、为了解决现有贝塞尔曲线计算效率低的问题,本发明提供一种贝塞尔曲线计算方法、设备、介质及程序产品。
2、本发明为解决上述技术问题,提供如下的技术方案:一种贝塞尔曲线计算方法,包括:
3、提供初始图形,基于初始图形的轮廓获取贝塞尔曲线的多个初始控制点;
4、对初始控制点进行均匀处理,得到均匀的多个目标控制点;
5、对目标控制点进行递归计算,得到贝塞尔曲线的新控制点;递归计算过程为,将每对相邻目标控制点的计算分配到不同线程进行第一层递归的并行计算,得到位于两相邻的目标控制点之间的轮廓点;将全部线程于同一层递归计算出的轮廓点定义为新控制点,并将当层递归计算获取的新控制点中相邻新控制点的计算分配到新线程进行下一层递归的并行计算,获取新控制点之间的轮廓点;至当层递归计算获取的新控制点的数量等于1或所有相邻新控制点的距离小于或等于预设值时,停止递归计算;
6、以目标控制点和递归计算过程中获得的全部新控制点作为最终控制点获得目标贝塞尔曲线。
7、优选地,对初始控制点进行均匀处理包括:
8、获取初始控制点的位置,判断初始控制点的均匀性;
9、若初始控制点的位置分布均匀,则判断初始控制点为均匀的控制点;反之,则为不均匀的控制点;
10、利用插值或多重采样的方式对不均匀的控制点进行均匀处理。
11、优选地,将每对相邻目标控制点或相邻新控制点的计算分配到不同线程,包括:
12、获取目标控制点或新控制点的坐标信息;
13、基于坐标信息对目标控制点或新控制点进行排序;
14、将每对相邻目标控制点或相邻新控制点的计算分配到不同的线程。
15、优选地,基于坐标信息对目标控制点或新控制点进行排序后包括:
16、计算排序后的相邻目标控制点或相邻新控制点之间的距离;
17、将相邻目标控制点或相邻新控制点之间的距离与预设值进行对比;
18、若相邻目标控制点或相邻新控制点之间的距离小于或等于预设值,则该对相邻目标控制点或相邻新控制点不再进行递归计算,若相邻目标控制点或相邻新控制点之间的距离大于预设值,则将该对相邻目标控制点或相邻新控制点的计算分配给新线程进行计算。
19、优选地,提供图形处理器,基于图形处理器获取线程id,通过线程id将相邻目标控制点和相邻新控制点的计算分配到图形处理器上的线程上。
20、优选地,图形处理器包括共享内存,用于存储需要重复读取的所述控制点。
21、优选地,基于德卡斯特利奥算法对目标控制点进行递归计算。
22、本发明为解决上述技术问题,提供又一技术方案如下:一种计算机设备,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器执行所述计算机程序以实现如上任一项所述的贝塞尔曲线计算方法的步骤。
23、本发明为解决上述技术问题,提供又一技术方案如下:一种计算机可读存储介质,其上存储有计算机程序/指令,所述计算机程序/指令被处理器执行时实现如上任一项所述的贝塞尔曲线计算方法的步骤。
24、本发明为解决上述技术问题,提供又一技术方案如下:一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现如上任一项所述的贝塞尔曲线计算方法的步骤。
25、与现有技术相比,本发明所提供的一种贝塞尔曲线计算方法、设备、介质及程序产品,具有如下的有益效果:
26、1.本发明实施例提供的一种贝塞尔曲线计算方法,通过均匀处理初始控制点和多线程并行计算提升了计算效率。可以理解地,本实施例对初始控制点进行均匀处理,使得控制点呈现均匀分布的状态,避免遇到控制点过于密集或过于稀疏的情况,以减少算法在不均匀控制点处的计算负担,使得算法在计算过程中每一步的计算量相对均衡,从而提高了整体计算效率;在计算时,将贝塞尔曲线的控制点分配到不同线程上,每个线程只处理其分配到的曲线片段,避免了不必要的线程间同步和通信,进而提升了计算整体计算效率。
27、2.本发明实施例提供的一种贝塞尔曲线计算方法,在对初始控制点进行均匀处理之前,先判断控制点的均匀性,若初始控制点的位置分布均匀,则不需要进行后续的均匀处理,以节省计算资源。
28、3.本发明实施例提供的一种贝塞尔曲线计算方法,通过递归地在控制点间进行线性插值以计算贝塞尔曲线的轮廓点,计算过程相对稳定,不易出现数值不稳定或计算错误的情况,在对控制点递归计算前先对控制点进行排序,避免由于控制点顺序混乱造成的不必要的重复计算,对控制点排序后,将相邻两个控制点分配到不同的线程并行计算,提高计算效率。
29、4.本发明实施例的一种贝塞尔曲线计算方法,在对控制点排序后,通过将相邻控制点之间距离与预设值的比对,判断对应的相邻控制点是否继续进行递归计算,若相邻控制点之间距离小于或等于预设值,则表示该对相邻控制点可以近似看成一个控制点,此时停止该对相邻控制点的递归计算,通过此设计在满足一定计算精度的前提下,减少计算量,提高整体计算效率。
30、5.本发明实施例的一种贝塞尔曲线计算方法,通过图形处理器内置的线程id分配控制点可以使得每个线程在处理任务时都有明确的身份标识,便于追踪和管理,基于线程id分配可以简化线程间的同步机制,确保线程的正确执行和线程间的有效协作,同时线程id的获取和处理通常比较快速,可以减少额外的开销。
31、6.本发明实施例的一种贝塞尔曲线计算方法中图形处理器包括共享内存,用于存储需要重复读取的控制点。
32、可以理解地,共享内存中的数据可以被多个线程同时访问,且其访问速度远高于全局内存,通过使用共享内存存储会被重复读取的控制点数据,可以显著提高计算效率,并且有效减少对全局内存的访问次数,减轻了全局内存宽带的限制,提高整体性能。
33、7.本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上的计算机程序,处理器执行计算机程序以实现如上任一项所述的贝塞尔曲线计算方法的步骤。其具有与如上任一项所述的贝塞尔曲线计算方法相同的有益效果,在此不再赘述。
34、8.本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序/指令,计算机程序/指令被处理器执行时实现如上任一项所述的贝塞尔曲线计算方法的步骤。其具有与如上任一项所述的贝塞尔曲线计算方法相同的有益效果,在此不再赘述。
35、9.本发明实施例还提供一种计算机程序产品,包括计算机程序/指令,计算机程序/指令被处理器执行时实现如上任一项所述的贝塞尔曲线计算方法的步骤。其具有与如上任一项所述的贝塞尔曲线计算方法相同的有益效果,在此不再赘述。
1.一种贝塞尔曲线计算方法,其特征在于,包括:
2.如权利要求1所述的贝塞尔曲线计算方法,其特征在于,对初始控制点进行均匀处理包括:
3.如权利要求1所述的贝塞尔曲线计算方法,其特征在于:将每对相邻目标控制点或相邻新控制点的计算分配到不同线程包括:
4.如权利要求3所述的贝塞尔曲线计算方法,其特征在于,基于坐标信息对目标控制点或新控制点进行排序后包括:
5.如权利要求1所述的贝塞尔曲线计算方法,其特征在于:
6.如权利要求5所述的贝塞尔曲线计算方法,其特征在于:图形处理器包括共享内存,用于存储需要重复读取的控制点。
7.如权利要求1所述的贝塞尔曲线计算方法,其特征在于:基于德卡斯特利奥算法对目标控制点进行递归计算。
8.一种计算机设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于:所述处理器执行所述计算机程序以实现如权利要求1-7任一项所述的贝塞尔曲线计算方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序/指令,其特征在于:所述计算机程序/指令被处理器执行时实现如权利要求1-7任一项所述的贝塞尔曲线计算方法的步骤。
10.一种计算机程序产品,包括计算机程序/指令,其特征在于:所述计算机程序/指令被处理器执行时实现如权利要求1-7任一项所述的贝塞尔曲线计算方法的步骤。
