CN101297325B - 用于射线跟踪的方法和装置 - Google Patents

用于射线跟踪的方法和装置 Download PDF

Info

Publication number
CN101297325B
CN101297325B CN200580051956.3A CN200580051956A CN101297325B CN 101297325 B CN101297325 B CN 101297325B CN 200580051956 A CN200580051956 A CN 200580051956A CN 101297325 B CN101297325 B CN 101297325B
Authority
CN
China
Prior art keywords
ray
group
unit
interval
traversal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN200580051956.3A
Other languages
English (en)
Other versions
CN101297325A (zh
Inventor
A·雷舍托夫
A·索皮科夫
A·卡普斯廷
J·赫尔利
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN101297325A publication Critical patent/CN101297325A/zh
Application granted granted Critical
Publication of CN101297325B publication Critical patent/CN101297325B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

本实施例提供了射线跟踪遍历,所述遍历依靠应用的所选几何性质来降低在各个遍历步骤中要求的操作的数量。遍历算法不依赖于组中的射线数目。结果,可以实现多级遍历方案,这始于组中的大量射线并然后按需要减少射线量来维持组相干性。多级遍历方案可通过在遍历加速结构时分割大组的射线来创建。

Description

用于射线跟踪的方法和装置
技术领域
所要求的发明的实现一般可涉及射线跟踪,特别是涉及用于射线跟踪的区间(interval)算法。 
背景技术
射线跟踪是用于与各种媒体中的波传播有关的多种物理现象的建模的公知方法。例如,射线跟踪用于在真实感计算机图形学中计算光照方案,用于在无线通信中的复杂环境信道建模,以及在高级音频应用中的傲锐渲染(aureal rendering)等。 
射线是一条由位置向量描述的始于空间中的某个点的无限长的半直线,射线从所述点沿方向向量传播。射线跟踪用在计算机图形学中,通过沿着由射线的方向向量描述的瞄准线来指引由射线的位置向量描述的来自着眼点的一条或多条射线,以确定可见度。为了确定沿那条瞄准线的最近可见表面,要求针对与虚拟场景内所有几何形状的交点来有效地测试所述射线并保持最近的交点。 
当以真实值工作时,数据通常由具有有限精度的浮点(FP)数来近似。在整个数空间中,FP表示是不一致的,并且通常,所需的真实值(即1/3)由小于或大于所需值的某个值来近似。引入的误差经常是不均匀的——精确值和最接近的较低FP近似值之间的差可能远大于或小于精确值与最接近的较高FP近似值之间的差异。这样的数值误差可能会在所有的计算中传播和积累,有时造成严重的问题。 
处理这样的数值不准确的一种方式是使用区间来取代FP近似值。在这种情况下,任何实数都由2个FP值来表示:一个小于真实值, 而另一个大于真实值。边界值在所有的计算中保存,从而产生区间,所述区间覆盖了精确解。 
通常,使用区间算法的应用限于某些类别的工作负荷(诸如质量控制、经济学或量子力学),其中这种区间计算的附加成本明显超过对任何最终值处理不精确的FP数的所推断的成本。 
附图说明
结合到本说明书中并构成本说明书的一部分的附图,说明了符合本发明原理的一个或多个实现方式,并且与描述一起来解释这样的实现方式。这些附图不一定按比例绘制,而是重点在于说明本发明的原理。在附图中, 
图1说明了在二进制树的遍历期间执行的,从公共起点出发通过单元的所跟踪的多条射线的示例; 
图2说明了遍历通过二进制树的多条射线的区间实现的示例; 
图3是流程图,说明了使用区间技术来遍历通过二进制树的多条射线的过程。 
具体实施方式
以下详细描述涉及附图。在不同的附图中,相同的参考标号可用于表示相同或相似的要素。在以下描述中,为了解释而非限制的目的,阐述了诸如特定结构、体系结构、接口、技术等具体细节,以提供对所要求的发明的各个方面的充分理解。然而,对从本公开获益的本领域技术人员来说,很显然,所要求的发明的各个方面可以在脱离这些具体细节的其它示例中实现。在某些实例中,省略了对公知设备、电路和方法的描述以免不必要的细节使本发明的描述变得不清晰。 
实施例提供了依靠应用的所选几何性质的射线跟踪遍历,以降低在各个遍历步骤期间要求的浮点(或其它的数据类型操作诸如:整数、定点)操作的数量。区间遍历算法不依赖于组中的射线数目。多级遍历 方案可以实现,这开始于在组中的大量射线并然后按需要减少它以维持组相干性。在遍历期间可以产生附加的射线来改进高几何复杂度的区域中产生的图象的反锯齿性质。区间遍历算法组并行几何查询,提取所选的与整个组相关的公共几何特性,然后仅使用这些特性(而不是整个组)来执行查询。射线跟踪整体上基于并行几何查询,所述查询针对某种空间排序的几何数据库来执行。区间遍历算法可被扩展以覆盖其它类型的应用,其中可能针对专用数据库发现并跟踪某些组性质。本领域的技术人员会认识到本发明的实施例不限于浮点实现方式。而是,本发明的实施例发明可以用各种数据类型来实现,所述数据类型包括但不限于整数、定点等。 
图1说明了用于遍历二进制树的从公共起点106出发通过单元104的所跟踪的多条射线102的示例100。一个单元104由分割平面P0分割为包括最近单元C0 108和最远单元C1 110的两个子空间。射线102可被发射通过屏幕上的像素而进入表示某个场景内的所有对象的数据库中。这些(适当细分的)对象和数据可以表示空的空间,并且可按分级空间划分结构来存储。发射射线102包括:对射线102通过该结构可采用的路径进行跟踪。并行的可能性存在但有限,因为各条射线可以采用不同的路径来通过该数据库,并且由于数据结构是分级的,因此在射线从一级进入下一级时,存在顺序依赖性。 
数据库可以将对象的分布和空的空间表示为轴对准空间区间的集合。射线的集合可以针对数据库分级结构的任意级别(即没有必要从顶部开始)来直接测试。从该结构向下行进的射线束可被细分。 
这引发了数值保真度的改进并简化了跟踪射线的过程。特别是,降低了每条射线所要求的操作的数量,从而引发总体应用性能的改进。此外,硬件可以设计成直接实现这种区间算法,从而允许附加的性能改进。射线的发射不是图形学特有的,类似的技术同样可以用来跟踪各种类型的波的传播,从而为军事目的来计算雷达截面,等等。 
在射线跟踪环境中,可能要求发射许多条射线。完成该操作的一种方式是确定所有射线与定义场景中的所有几何对象的所有多边形的交点。 
完成该操作另一种方式是将所有的这些多边形划分成轴对准的划分结构。这种方式的一个实现方式是将整个场景分割成均一立方体格,同时复制跨立方体边界的多边形。射线可被发射并且该射线通过的立方体可被预测。该射线仅针对这些立方体的每一个的内容来测试,而忽略其余的因素。由于使用这样的表示相对于对每个多边形测试每条射线的相对功效,术语“加速结构”可用于描述设计用来降低射线-多边形交点测试的总数量的任何这样的数据结构。 
上述的均一立方格具有以下优点:可以容易地计算射线通过立方体的轨线,以及可以直接访问相关的数据。但是该场景中的细节可能不是均匀分布的。例如,大量的多边形可能在一个立方体中结束,而非常少的细节在其它立方体中结束。 
另一个加速结构构造一般被称作kd-树。在这种加速结构中,一些成本函数可以用于通过轴-对准的平面来递归地分割场景。最初,该场景可以由这样的平面分割成两个,然后每一半又可以沿着某个其它平面分割,等等。这产生了该结构的分级组织。加速结构的各个级别可以被递归地遍历以确定在哪里可以发现该结构的下一个级别。在这些结构的构造阶段中仔细地选择成本函数以达到最优的性能,同时当发射可视化需要的各种射线时稍后遍历这些树。 
kd-树的叶节点表示小的轴对准的单元,其中有某个数量的多边形。在沿树向上的下一个级别,各个节点表示由叶节点中的两个节点完全填满的轴对准的框(“分割-平面”将较大体积分割成两个叶单元)。在下一个级别,各个节点表示由使用类似的分割-平面等的较低级别的节点中的两个节点完全填满的轴对准的框。不要求树是平衡的,即任何内部节点可以分割成叶节点和另一个内部节点。在任何给定的级别,射线可以与有界框相交以确定是否:(1)该射线完全未命中该框, (2)射线击中该框并通过“左”子节点,即达到分割-平面的“左”边,(3)射线击中该框并通过“右”子框,或(4)射线击中并通过两个子框。在第一种情况(1)下,不再需要进一步处理较低级别的节点,因为射线“未命中”该树的整个较低部分。 
本发明的实施例适用于许多加速结构,包括使用分离平面确定哪些对象必须针对特定射线来测试的那些加速结构。这些加速结构包括但不限于格、有界框和kd-树。 
参照图1,对于任何给定的射线块,遍历算法确定射线102是否: 
(1)通过子空间108到分割-平面104的左边; 
(2)通过子空间110到分割-平面104的右边;或 
(3)通过子-空间108和110。 
在二进制树的整个遍历期间,对各条射线102,单元入口和出口点是已知的。这些是由从先前的计算中已知的oa,ob,oc,od以及oA,oB,oC,oD表示的距离。计算与分割-平面P0的交点。它们表示为距离oα,oβ,oχ,以及oδ。入口和出口距离与平面交点进行比较。例如,参照图1,射线oa和ob将仅通过左单元108,而射线oc和od通过两个单元108和110。对于射线通过的各个后续单元重复进行该过程。 
如果算法要求单元108和110的射线遍历,那么所有关于最远单元(如110)的信息,都存储在类似堆栈的结构中。具体地说,所述信息包括:到入口点oχ和oδ以及出口点oC和oD的距离。首先通过对入口点a,b,c和d以及出口点A,B,χ和δ执行当前过程的所有步骤来递归地遍历最近的单元108。一旦已经遍历了最近的一个单元中的所有单元,就从堆栈中检索最远的单元数据110并且重复整个过程。 
如果一些单元包含原始对象(例如三角形),那么针对这些对象来测试通过这个单元的剩余射线。例如,进行射线/三角形交点测试。 
在一些情况下,对于各条射线,已经发现某个原始对象,到该原始对象的距离小于到当前单元的距离。在这种情况下,后续的遍历步 骤不是必须的。如果射线跟踪用于渲染的目的,那么若这样的原始对象是不透明的,则可以使用细化。 
图2说明了用于二进制树的区间遍历的从公共起点206出发通过单元204的所跟踪的多条射线202的示例200。图2示出了在单元分割后的下一个遍历步骤。特别是,图1示出了一个单元由分割-平面P0分割成两个子空间C0108和C1110的情况。在图2中,C0208被进一步分割成C00210和C2212与C3214的结合。没有射线202与最近的子空间C00210相交。 
区间遍历算法在对一组射线计算和维持单个区间的基础上建立,其中单个区间包括从所选的点(照相机位置)到特定单元的束中的所有的射线的最小和最大距离。代替将单独射线表示为指向特定方向的3D向量,射线的集合可以表示为近似指向某个特定方向的区间的单个3D向量。通常,这些射线越相干,区间就可能会越紧密。对各个坐标x,y和z,这个区间可以定义为所有射线中的最小和最大坐标值。同样,加速结构的单独单元可以表示为在x,y和z中的区间。在分级加速结构的任何级别上的单元可以表示为这样的区间。在对加速结构进行较深的遍历时,表示一组射线的区间的向量可以针对效率来细分成多组射线。通常在加速结构中的较深处发现较高程度的射线相干性。 
图3是流程图,说明了二进制树的区间遍历的过程300。虽然为了便于说明,过程300可针对图2来描述,但是所要求的发明并不限于此。在每个遍历步骤中执行一次图3的动作302、304和306,同时对各个遍历单元执行动作308-316。 
在动作302中,产生一组射线并计算该组射线的一些公共特性。对于那些从特定公共起点例如照相机位置o产生,通过具有像素Pxy 的屏幕的射线,对各个坐标轴计算以下各项: 
--在动作304中,计算在任何给定轴上的方向向量opxy的所有投影中的最小和最大距离值。通过定义,对于该组中的每条射线,opxy 向量的x、y和z坐标将在合适的区间内。在顶部单元遍历开始时(动 作304),确定最小和最大距离oa1和oA1。这些可以指定为区间[oa1,oA1]。在剩余的遍历过程中维持并可能修改(缩小)这个区间。通过定义,对于该组中的任何射线,到最近单元入口点的距离不小于oa1且到最远单元出口点的距离小于或等于oA1。 
在动作306中,定义反向区间。 
在动作308中,可以使用在动作306中定义的反向区间来计算到分割平面的最小和最大距离odmin和odmax。 
如图2所示,由平面P2分割子单元C2212和C3214。确定是否遍历了子单元C2212和C3214。具体地说,这通过评估以下两个条件来确定,如果满足所述条件,则导致仅遍历了一个子单元: 
--在动作310中,如果到单元(oa1)的最小距离大于到平面(oA2)的最大距离,则修改[oa1,oA1]区间并仅遍历右子单元(动作312)。 
--在动作314中,如果到单元(oA1)的最大距离小于到平面(oa3)的最小距离,则修改[oa1,oA1]区间并仅遍历左子单元(动作316)。 
如果这些条件都不满足,则必须遍历两个子单元(动作318)并必须修改适当的区间。如图2中所示的,在C2遍历的期间,区间将是[oa1,oA2]。对单元C3,区间将是[oa3,oA1]。 
本领域的技术人员会认识到本文描述的区间遍历实施例可能有不同的实施方式。例如,所描述的实施例可以扩展到没有公共起点的射线组。虽然过程300可以在现代向量或SIMD(单指令多数据)机器上实现,但是所要求的发明不限于此。 
当然,区间遍历算法可以有不同的实现方式。上文提供的一个实现方式仅用于陈述的目的,以及在所提供的附图上展示特定的情况。同样有可能将这里略述的思想扩展到射线束的更一般的情况,其中射线束没有公共起点。以下的观察有助于理解在完全和区间遍历算法之间的差异。完全算法基本上实现特定射线组的同时边界框裁剪(clipping)。对在加速结构中到达的任何给定的单元,所有射线的入口 和出口点是已知的。图3中所示的区间算法表示懒惰分布的框裁剪,对整个射线组产生确保的最小和最大裁剪距离。 
本发明的实施例可以急剧降低在各个遍历步骤中要求的浮点或其它数据类型的操作的数量。与完全遍历算法不同,区间遍历算法不依赖于组中的射线数。可实现多级遍历方案,以组中的大量射线开始并且然后按需要来减少射线量以维持组相干性。区间遍历算法,如果用硬件实现或支持,则可实现由设备消耗的功率的急剧降低,以及提高总体性能。射线跟踪整体上基于并行几何查询,所述查询针对某种空间排序的几何数据库来执行。区间遍历算法包括以下步骤:对这样的查询进行分组,提取与整个组相关的某些公共几何特性,然后仅使用这些特性(而不是整个组)来执行查询。这样,区间遍历方法可被扩展以覆盖其它类型的应用,其中有可能针对专用数据库来发现和跟踪某些组性质。 
虽然系统被描述为包括离散部件,但是这些部件可以用硬件、软件/固件或它们的某种结合来实现。当用硬件实现时,系统的一些部件可以结合到某种芯片或设备中。 
虽然已经讨论了若干示范性实施方式,但是所要求的发明不应当限于那些明确提到的内容,而是应当包括任何设备或接口,所述设备或接口包括一个以上能够处理、发射、输出或存储信息的处理器。例如,可以用可由本地系统的处理器或另一个部分执行的软件来实现那些过程。 
虽然对符合本发明原理的一个或多个实施方式的前面描述提供了说明和描述,但是其目的不是穷举性的或者将本发明的范围限于所公开的精确形式。根据上述教导可能想到一些修改和变化,或可以从本发明的各种实现方式的实施中获得这些修改和变化。 
本申请的描述中使用的元件、动作或指令都不应当解释为对本发明是关键的或必要的,除非明确地这样描述。同样,如本文使用的,冠词“一”旨在包括一个或多个项目。可在基本不背离本发明的精神 和原理的前提下,对所要求的发明的上述实施方式进行变化和修改。本文中,所有这样的修改和变化都是要包括在本公开的范围内并通过以下权利要求来保护。 

Claims (8)

1.一种用于射线跟踪的方法,包括:
产生一组射线;
对与该组射线相关联的并行几何查询进行分组;
提取所选的与整个组相关的公共几何特性;以及
仅使用所选的特性而不是整个组来针对空间排序的几何数据库执行查询。
2.如权利要求1所述的方法,其中,仅使用所选的特性而不是整个组来针对空间排序的几何数据库执行查询的步骤不依赖于所述组中的射线数。
3.如权利要求1所述的方法,其中,产生一组射线的步骤还包括:
使用反锯齿技术以在高几何复杂度的区域中产生射线。
4.如权利要求1所述的方法,其中,在遍历过程中使用表示所述一组射线的区间来产生精确或基本精确的区间。
5.一种用于射线跟踪的产品,包括:
用于产生一组射线的单元;
用于对与该组射线相关联的并行几何查询进行分组的单元;
用于提取所选的与整个组相关的公共几何特性的单元;以及
用于仅使用所选的特性而不是整个组来针对空间排序的几何数据库执行查询的单元。
6.如权利要求5所述的产品,还包括:用于仅使用所选的特性而不是整个组来针对空间排序的几何数据库执行查询的单元不依赖于组中的射线数。
7.如权利要求5所述的产品,其中,用于产生一组射线的单元还包括:
用于使用反锯齿技术以在高几何复杂度的区域中产生射线的单元。
8.如权利要求5所述的产品,还包括:
用于在遍历过程中使用表示所述一组射线的区间来产生精确或基本精确的区间的单元。
CN200580051956.3A 2005-12-29 2005-12-29 用于射线跟踪的方法和装置 Expired - Fee Related CN101297325B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2005/047701 WO2007081303A1 (en) 2005-12-29 2005-12-29 Applications of interval arithmetic for reduction of number of computations in ray tracing problems

Publications (2)

Publication Number Publication Date
CN101297325A CN101297325A (zh) 2008-10-29
CN101297325B true CN101297325B (zh) 2013-04-24

Family

ID=38256604

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200580051956.3A Expired - Fee Related CN101297325B (zh) 2005-12-29 2005-12-29 用于射线跟踪的方法和装置

Country Status (3)

Country Link
EP (1) EP1966766A1 (zh)
CN (1) CN101297325B (zh)
WO (1) WO2007081303A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102947865B (zh) * 2010-04-29 2016-10-05 想象技术有限公司 用于光线跟踪中的图元相交的系统和方法
KR102193684B1 (ko) * 2013-11-04 2020-12-21 삼성전자주식회사 레이 트레이싱 처리 장치 및 방법
GB202318608D0 (en) * 2021-09-24 2024-01-17 Apple Inc Ray intersection testing with quantization and interval representations
US11734871B2 (en) 2021-09-24 2023-08-22 Apple Inc. Ray intersection testing with quantization and interval representations
US11830124B2 (en) 2021-09-24 2023-11-28 Apple Inc. Quantized ray intersection testing with definitive hit detection

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6429864B1 (en) * 1999-11-10 2002-08-06 Create.It Services Ag Method for traversing a binary space partition or octree and image processor for implementing the method
CN1410948A (zh) * 2002-09-23 2003-04-16 清华大学 平面和球面非线性折射和反射的实时光线跟踪方法
US6597359B1 (en) * 2000-05-17 2003-07-22 Raychip, Inc. Hierarchical space subdivision hardware for ray tracing
CN1491404A (zh) * 2001-02-16 2004-04-21 ����˹�ش�ѧ 使用一个或多个微处理器的快速并行锥形线束重建系统和方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7098907B2 (en) * 2003-01-30 2006-08-29 Frantic Films Corporation Method for converting explicitly represented geometric surfaces into accurate level sets

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6429864B1 (en) * 1999-11-10 2002-08-06 Create.It Services Ag Method for traversing a binary space partition or octree and image processor for implementing the method
US6597359B1 (en) * 2000-05-17 2003-07-22 Raychip, Inc. Hierarchical space subdivision hardware for ray tracing
CN1491404A (zh) * 2001-02-16 2004-04-21 ����˹�ش�ѧ 使用一个或多个微处理器的快速并行锥形线束重建系统和方法
CN1410948A (zh) * 2002-09-23 2003-04-16 清华大学 平面和球面非线性折射和反射的实时光线跟踪方法

Also Published As

Publication number Publication date
WO2007081303A1 (en) 2007-07-19
CN101297325A (zh) 2008-10-29
EP1966766A1 (en) 2008-09-10

Similar Documents

Publication Publication Date Title
US7348975B2 (en) Applications of interval arithmetic for reduction of number of computations in ray tracing problems
US7002571B2 (en) Grid-based loose octree for spatial partitioning
US8014568B2 (en) Method for computer-aided identification of the child octants of a parent octant, which are intersected by a beam, in an octree data structure by means of look-up tables
Ganovelli et al. Buckettree: Improving collision detection between deformable objects
US6868420B2 (en) Method for traversing quadtrees, octrees, and N-dimensional bi-trees
Kallmann et al. Navigation meshes and real-time dynamic planning for virtual worlds
KR102197067B1 (ko) 멀티 프레임들의 동일한 영역을 연속으로 렌더링하는 방법 및 장치
Ernst et al. Early split clipping for bounding volume hierarchies
US8279227B2 (en) Method for detecting collisions among large numbers of particles
KR102604737B1 (ko) 가속 구조를 생성하는 방법 및 장치
CN103051915B (zh) 一种交互式立体视频关键帧的制作方法及制作装置
CN101297325B (zh) 用于射线跟踪的方法和装置
KR20180069461A (ko) 가속 구조를 생성하는 방법 및 장치
KR100903777B1 (ko) 3차원 광선 추적 시스템에서 적응형 다중 계층 케이디-트리구조 알고리즘을 이용한 광선 추적 방법 및 장치
KR101031392B1 (ko) 멀티 레벨 광선 추적을 위한 방법 및 장치
US10460506B2 (en) Method and apparatus for generating acceleration structure
Hastings et al. Optimization of large-scale, real-time simulations by spatial hashing
Han et al. Optimal multiple surfaces searching for video/image resizing-a graph-theoretic approach
KR100843292B1 (ko) 룩업 테이블을 이용한 레이 트레이싱 장치 및 방법
Wang et al. Orthogonal voronoi diagram and treemap
Tang et al. Real-time crowd movement on large scale terrains
CN110738719A (zh) 一种基于视距分层优化的Web3D模型渲染方法
Maurel et al. A 4D ray tracing
Naylor Interactive playing with large synthetic environments
CN103679815A (zh) 基于表面搜索的可视外壳生成方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130424

Termination date: 20181229