CN113436121B - 基于arm-neon扩展指令集的图像直方图统计方法 - Google Patents
基于arm-neon扩展指令集的图像直方图统计方法 Download PDFInfo
- Publication number
- CN113436121B CN113436121B CN202110721567.8A CN202110721567A CN113436121B CN 113436121 B CN113436121 B CN 113436121B CN 202110721567 A CN202110721567 A CN 202110721567A CN 113436121 B CN113436121 B CN 113436121B
- Authority
- CN
- China
- Prior art keywords
- critical point
- image
- register
- gray level
- image histogram
- 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.)
- Active
Links
- 229910052754 neon Inorganic materials 0.000 title claims abstract description 19
- 238000007619 statistical method Methods 0.000 title claims abstract description 11
- 238000000034 method Methods 0.000 claims abstract description 15
- 239000013598 vector Substances 0.000 claims abstract description 15
- GKAOGPIIYCISHV-UHFFFAOYSA-N neon atom Chemical compound [Ne] GKAOGPIIYCISHV-UHFFFAOYSA-N 0.000 claims abstract description 13
- 101100194362 Schizosaccharomyces pombe (strain 972 / ATCC 24843) res1 gene Proteins 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 abstract description 14
- 238000004088 simulation Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 4
- NUHSROFQTUXZQQ-UHFFFAOYSA-N isopentenyl diphosphate Chemical compound CC(=C)CCO[P@](O)(=O)OP(O)(O)=O NUHSROFQTUXZQQ-UHFFFAOYSA-N 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/40—Image enhancement or restoration using histogram techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种基于ARM‑NEON扩展指令集的图像直方图统计方法。其实现步骤为:通过图像直方图统计范围计算图像直方图中每个灰度级的临界点;使用NEON扩展指令集128位寄存器设置图像直方图中每个灰度级的临界点寄存器;统计源图像所有像素点的图像直方图;将图像直方图结果存入数组pHist中。本发明采用基于ARM架构的单指令多数据流(SIMD)扩展的NEON指令集,将源图像中单个数据操作扩展为一组数据进行矢量操作,减少了复杂图像进行图像直方图统计时的冗余计算,极大降低了循环中的分支预测对CPU资源的消耗,进而提高图像直方图的统计效率。
Description
技术领域
本发明属于图像处理技术领域,更进一步涉及图像直方图统计技术领域中的一种基于ARM高级单指令多数据流扩展指令集(又称ARM-NEON技术)的图像直方图统计方法。本发明可用于在ARM架构下对数字图像中像素点进行图像直方图统计。
背景技术
图像直方图统计了每个灰度级对应的像素个数,并将结果分布于一系列预定义的区间中。图像直方图反映了图像像素分布的统计特性,以左暗右亮的分布曲线形式呈现,不显示源图像数据,在进行图像计算处理时代价较小。图像直方图统计是数字图像处理技术中一个重要环节,广泛应用于空间域处理、特征描述及特征匹配等领域。在处理器架构下实现高性能的图像直方图统计在数字图像处理领域中尤为重要。现有的图像处理库IntelIPP库中对图像直方图统计实现具有较高性能,但是该产品主要依赖于Intel微处理器的优化,并配合英特尔微处理器使用。由于Intel处理器基于x86架构,因此Intel IPP库中的图像直方图统计不支持ARM架构。
中国科学院上海高等研究院在其申请的专利文献“图像直方图的统计方法及其系统”(专利申请号:201510239292.9,公开号:CN 104809747 A)中提出了一种利用行程编码对相同连续像素进行压缩的图像直方图的统计方法。该方法利用原始图像像素数据中存在相同连续像素的特征,预先使用行程编码对这些相同连续像素进行压缩,通过在一个操作中完成对相同连续像素进行直方图统计,减少了直方图统计的读写操作步骤,从而减少了直方图统计的时间和功耗。但是,该方法存在的不足之处在于,减少直方图统计的读写操作只能适用于具有连续相同像素的图像,实际应用中大多数的图像数据并不符合行程编码,读写操作不能有效减少,计算过程冗余,故无法对复杂情况下的图像数据进行并行统计计算。
腾讯科技(上海)有限公司在其申请的专利文献“图像直方图信息统计方法及系统、电子设备”(专利申请号:CN201710252524.3,公开号:CN107169943A)中公开了一种对图像局部窗口进行图像直方图信息方法。该专利技术通过排除当前图像的局部窗口相对于已统计图像直方图信息的历史局部窗口的重叠区域图像,只对非重叠区域进行图像直方图统计,进而避免冗余计算提高计算效率。该方法存在的不足之处在于,利用OpenCV(OpenSource ComputerVision Library,开源计算机视觉库)或调用python程序对非重叠区域的各个像素的灰度值进行统计,在ARM架构下OpenCV无法利用了IPP高度手工优化的代码实现加速,导致直方图统计函数的性能降低。
发明内容
本发明的目的在于针对现有技术的不足,提出一种基于ARM高级单指令多数据流扩展指令集的图像直方图统计方法,以解决对于密集型图像数据进行图像直方图统计时无法进行并行统计,大量的循环判断消耗内存资源,导致图像直方图统计过程中的冗余计算和效率低的问题。
实现本发明目的的具体思路是:利用ARM支持单指令多数据流(SIMD)扩展的NEON指令集,将源图像中单个像素点操作扩展为一组像素点进行矢量操作,通过数据并行计算,大幅减少访存与操作次数,解决了对于密集型图像进行图像直方图统计时的冗余计算问题,极大降低了循环中分支预测对CPU资源消耗,不需要载入其他函数库,通过高度手工的优化方式实现图像处理的加速过程,进而提高图像直方图的统计效率。
本发明的步骤包括如下:
(1)按照下式,计算图像直方图中每个灰度级的临界点:
其中,pi-1表示图像直方图中第i个灰度级的左临界点,i表示图像直方图中灰度级的序号i∈[0,n+1),n表示图像直方图统计范围内灰度级总数,l表示图像直方图统计范围r的下边界,u表示图像直方图统计范围r的上边界,pi表示图像直方图中第i个灰度级的右临界点;
(2)设置图像直方图中每个灰度级的临界点寄存器:
使用128位NEON寄存器设置m+1个临界点寄存器,每个临界点寄存器与图像直方图灰度级临界点一一对应,用每个临界点的像素值对相应的临界点寄存器中所有元素进行赋值,其中,m的取值与n相等;
(3)统计源图像所有像素点的图像直方图:
(3a)将焦点区域roi区域中的源图像从首个像素点开始,逐行逐列依次将像素点加载到源图像寄存器src中;
(3b)从图像直方图第一个有效灰度级开始遍历,将源图像寄存器src中的像素点与当前灰度级的左、右临界点寄存器进行连续矢量比较操作,统计在源图像寄存器src中像素点在当前灰度级左、右临界点之间的像素点个数c,用c更新当前灰度级的总像素点数;
(3c)采用与步骤(3b)相同的方式,使用源图像寄存器src更新所有有效灰度级的总像素点数;
(3d)采用与步骤(3a)-(3c)相同的方式,更新源图像中所有像素点在每个图像直方图灰度级的个数;
(4)将统计的源图像在每个图像直方图灰度级的像素点总数赋值到图像直方图数组pHist中。
本发明与现有的技术相比具有以下优点:
第一,由于本发明采用了ARM支持单指令多数据流(SIMD)扩展的NEON指令集将源图像中单个像素点操作扩展为一组像素点进行矢量操作,利用数据并行计算,极大减少了循环迭代次数和访存次数,进而大幅减少操作次数,克服了现有技术中对于复杂图像进行图像直方图统计时的冗余计算问题,使得本发明具有支持数据并行计算、支持密集型图像数据以及计算速度快的优点,有效地提升了图像直方图统计效率。
第二,本发明基于ARM处理器架构设计实现图像直方图统计功能,不需载入其他函数库,通过高度手工的优化方式使得直方图统计运行速度得到大幅提升,克服了现有技术因计算机体系结构的限制无法直接部署到ARM架构上的问题,使得本发明具有专用于ARM架构上实现高速图像直方图统计的优点。
附图说明
图1为本发明的流程图;
图2为本发明NEON直方图统计数据处理图。
具体实施方式
下面结合附图和实施例对本发明做进一步详细描述。
参照图1,以数据类型为uint8单通道源图像为例,对本发明的具体实施步骤做进一步的描述。
步骤1,按照下式,计算图像直方图中每个灰度级的临界点:
其中,pi-1表示图像直方图中第i个灰度级的左临界点,i表示图像直方图中灰度级序号i∈[0,n+1),n表示图像直方图统计范围内灰度级总数,l表示图像直方图统计范围r的下边界,u表示图像直方图统计范围r的上边界,pi表示图像直方图中第i个灰度级的右临界点。
步骤2,使用NEON扩展指令集128位寄存器设置图像直方图中每个灰度级的临界点寄存器。
从第一个图像直方图灰度级临界点开始,依次判断当前临界点pk是否小于源图像所属数据类型最小值MIN,且下一个临界点pk+1是否大于等于0,若是,设置第k个临界点寄存器中的元素均为MIN,记录该临界点索引位置k1作为第一个有效灰度级的左临界点,否则,判断当前临界点pk是否大于源图像所属数据类型最大值MAX,若是,设置第k个临界点寄存器中的元素均为MAX,记录该临界点索引位置k2作为最后一个有效灰度级的右临界点,设置标记flag值为1,否则,使用当前临界点像素值对相应的临界点寄存器中所有元素进行赋值。
步骤3,统计源图像所有像素点的图像直方图。
步骤3.1,将焦点区域roi区域中的源图像从首个像素点开始,逐行逐列依次将像素点加载到源图像寄存器src中。
步骤3.2,从图像直方图第一个有效灰度级开始遍历,将源图像寄存器src中的像素点与当前灰度级的左、右临界点寄存器进行连续矢量比较操作,统计在源图像寄存器src中像素点在当前灰度级左、右临界点之间的像素点个数c,用c更新当前灰度级的总像素点数。
参照图2,对本发明步骤3.2的具体实施步骤做进一步的描述。
源图像寄存器src中的像素点与当前灰度级的左、右临界点寄存器进行连续矢量比较操作的具体步骤如下:
第1步,通过ARM NEON扩展指令集128位矢量的比大于等于操作,判断源图像寄存器src中的每个像素点是否大于或等于当前灰度级左临界点寄存器sk中对应位置的元素,若是,则设置结果寄存器res0中对应位置的元素值为1,否则,设置为0。
第2步,若当前flag值是为0,则通过ARM NEON扩展指令集128位矢量的比小操作,判断源图像寄存器src中的每个像素点是否小于当前灰度级右临界点寄存器sk+1中对应位置的元素,若是,则设置结果寄存器res1中对应位置的元素值为1,否则,设置为0。
第3步,若当前flag值是为1,则通过ARM NEON扩展指令集128位矢量的比小于等于操作,判断源图像寄存器src中的每个像素点是否小于等于当前灰度级右临界点寄存器中对应位置的元素,若是,则设置结果寄存器res1中对应位置的元素值为1,否则,设置为0。
第4步,将res0与res1执行逻辑与操作得到结果寄存器res,将res中所有元素进行求和运算。
步骤3.3,采用与步骤3.2相同的方式,使用源图像寄存器src更新所有有效灰度级的总像素点数。
步骤3.4,采用与步骤3.1、步骤3.2、步骤3.3相同的方式,更新源图像焦点区域roi内所有像素点在每个图像直方图灰度级的像素个数。
步骤4,将统计的源图像在每个图像直方图灰度级的像素点总数赋值到图像直方图数组pHist中。
下面结合实验数据对本发明的效果作进一步的说明。
1.仿真实验条件:
本发明仿真实验的硬件测试平台是:处理器为CPU鲲鹏920通用计算增强型,主频为2.6GHz,内存8GB,ARM架构;
软件平台为:centOS 7.5,64位操作系统。
2.仿真内容及仿真结果分析:
本发明的仿真实验包括两个仿真实验,仿真实验1是本发明方法进行图像直方图统计,仿真实验2是采用基本逻辑进行图像直方图统计。在相同硬件和软件环境下,使用相同输入参数,对四种数据类型(uint8、uint16、int16、float)源图像进行测试基本逻辑程序和本发明方法实现的图像直方图统计程序。如下表1所示,为两个仿真实验的相关参数设置。
表1两个仿真实验相关参数表
表2本发明与基本逻辑实现图像直方图统计消耗时间对比表
源图像数据类型 | 基本逻辑实现(ms) | 本发明(ms) |
uint8 | 17944.1491 | 858.6027 |
uint16 | 18018.6597 | 1616.1688 |
int16 | 18075.1003 | 1612.6369 |
float | 11668.9525 | 2872.8107 |
表2给出四种数据类型源图像分别采用基本逻辑和本发明方法进行图像直方图统计的时间消耗情况,均使用表1所示参数进行单独测试,在保证程序功能正确的前提下,计算10次程序运行的平均时间。从表2可见,本发明在ARM架构下对图像像素进行直方图统计运行时间大幅降低,对于uint8数据类型图像,相比基本逻辑实现,速度提高20倍左右,对于float数据类型图像速度提高4倍以上。实验证明,在功能一致的条件下,本发明基于ARM架构实现图像直方图统计且不需要载入其他函数库,运行速度比基本逻辑实现提高4倍以上。
以上是本发明参照当前较佳实施方式进行的描述,显然对于本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修正和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。
Claims (2)
1.一种基于ARM-NEON扩展指令集的图像直方图统计方法,其特征在于,将图像直方图灰度级临界点分配到128位NEON寄存器存储,通过连续矢量操作对图像直方图进行统计;该方法的步骤如下:
(1)按照下式,计算图像直方图中每个灰度级的临界点:
其中,pi-1表示图像直方图中第i个灰度级的左临界点,i表示图像直方图中灰度级的序号i∈[0,n+1),n表示图像直方图统计范围内灰度级的总数,l表示图像直方图统计范围r的下边界,u表示图像直方图统计范围r的上边界,pi表示图像直方图中第i个灰度级的右临界点;
(2)设置图像直方图中每个灰度级的临界点寄存器:
使用128位NEON寄存器设置m+1个临界点寄存器,每个临界点寄存器与图像直方图灰度级临界点一一对应,用每个临界点的像素值对相应的临界点寄存器中的所有元素进行赋值,其中,m的取值与n相等;
(3)统计源图像所有像素点的图像直方图:
(3a)将焦点区域roi区域中的源图像从首个像素点开始,逐行逐列依次将像素点加载到源图像寄存器src中;
(3b)从图像直方图第一个有效灰度级开始遍历,将源图像寄存器src中的像素点与当前灰度级的左、右临界点寄存器进行连续矢量比较操作,统计在源图像寄存器src中像素点在当前灰度级左、右临界点之间的像素点个数c,用c更新当前灰度级的总像素点数;
所述连续矢量比较操作的步骤如下:
第一步,通过比大于等于矢量操作,判断源图像寄存器src中的每个像素点是否大于或等于当前灰度级左临界点寄存器中对应位置的元素,若是,则设置结果寄存器res0中对应位置的元素值为1,否则,设置为0;
第二步,若当前flag值是为0,则通过比小矢量操作,判断源图像寄存器src中的每个像素点是否小于当前灰度级右临界点寄存器中对应位置的元素,若是,则设置结果寄存器res1中对应位置的元素值为1,否则,设置为0;
第三步,若当前flag值是为1,则通过比小于等于矢量操作,判断源图像寄存器src中的每个像素点是否小于等于当前灰度级右临界点寄存器中对应位置的元素,若是,则设置结果寄存器res1中对应位置的元素值为1,否则,设置为0;
第四步,将res0与res1执行逻辑与操作得到结果寄存器res,将res中所有元素进行求和运算;
(3c)采用与步骤(3b)相同的方式,使用源图像寄存器src更新所有有效灰度级的总像素点数;
(3d)采用与步骤(3a)-(3c)相同的方式,更新源图像中所有像素点在每个图像直方图灰度级的个数;
(4)将统计的源图像在每个图像直方图灰度级的像素点总数赋值到图像直方图数组pHist中。
2.根据权利要求1所述的基于ARM-NEON扩展指令集的图像直方图统计方法,其特征在于,步骤(2)中所述使用128位NEON寄存器设置m+1个临界点寄存器的步骤如下:从第一个图像直方图灰度级临界点开始,依次判断当前临界点pk是否小于源图像所属数据类型最小值MIN,且下一个临界点pk+1是否大于等于0,若是,设置第k个临界点寄存器中的元素均为MIN,记录该临界点索引位置k1作为第一个有效灰度级的左临界点,否则,判断当前临界点pk是否大于源图像所属数据类型最大值MAX,若是,设置第k个临界点寄存器中的元素均为MAX,记录该临界点索引位置k2作为最后一个有效灰度级的右临界点,设置标记flag值为1,否则,使用当前临界点像素值对相应的临界点寄存器中所有元素进行赋值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110721567.8A CN113436121B (zh) | 2021-06-28 | 2021-06-28 | 基于arm-neon扩展指令集的图像直方图统计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110721567.8A CN113436121B (zh) | 2021-06-28 | 2021-06-28 | 基于arm-neon扩展指令集的图像直方图统计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113436121A CN113436121A (zh) | 2021-09-24 |
CN113436121B true CN113436121B (zh) | 2022-12-02 |
Family
ID=77755068
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110721567.8A Active CN113436121B (zh) | 2021-06-28 | 2021-06-28 | 基于arm-neon扩展指令集的图像直方图统计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113436121B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109993035A (zh) * | 2017-12-29 | 2019-07-09 | 深圳市优必选科技有限公司 | 基于嵌入式系统的人体检测的方法以及装置 |
CN111862160A (zh) * | 2020-07-23 | 2020-10-30 | 中国兵器装备集团自动化研究所 | 一种基于arm平台的目标跟踪方法、介质和系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101937249B1 (ko) * | 2012-10-09 | 2019-04-11 | 에스케이 텔레콤주식회사 | 열상카메라의 영상 잡음 레벨에 기반한 대조비 향상 기법 및 장치 |
US9875213B2 (en) * | 2015-06-26 | 2018-01-23 | Intel Corporation | Methods, apparatus, instructions and logic to provide vector packed histogram functionality |
CN112257490A (zh) * | 2020-07-19 | 2021-01-22 | 扬州大学 | 基于fpga的嵌入式行人密度统计系统及方法 |
-
2021
- 2021-06-28 CN CN202110721567.8A patent/CN113436121B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109993035A (zh) * | 2017-12-29 | 2019-07-09 | 深圳市优必选科技有限公司 | 基于嵌入式系统的人体检测的方法以及装置 |
CN111862160A (zh) * | 2020-07-23 | 2020-10-30 | 中国兵器装备集团自动化研究所 | 一种基于arm平台的目标跟踪方法、介质和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113436121A (zh) | 2021-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sharma et al. | Classification-driven dynamic image enhancement | |
US8345063B2 (en) | Filtering method and apparatus for anti-aliasing | |
CN109784372B (zh) | 一种基于卷积神经网络的目标分类方法 | |
US11080812B2 (en) | Image recognition apparatus and image recognition method for sorting candidate regions detected in image | |
CN110598788A (zh) | 目标检测方法、装置、电子设备及存储介质 | |
CN111275660A (zh) | 一种平板显示器缺陷检测方法及装置 | |
CN113012068B (zh) | 图像去噪方法、装置、电子设备及计算机可读存储介质 | |
CN116894985B (zh) | 半监督图像分类方法及半监督图像分类系统 | |
Park et al. | Low-cost, high-speed computer vision using NVIDIA's CUDA architecture | |
CN110648284A (zh) | 一种光照不均匀的图像处理方法及装置 | |
CN106780415B (zh) | 一种直方图统计电路及多媒体处理系统 | |
CN113436121B (zh) | 基于arm-neon扩展指令集的图像直方图统计方法 | |
US10248876B2 (en) | Method and apparatus for avoiding non-aligned loads using multiple copies of input data | |
Chang et al. | CUDA‐based acceleration and BPN‐assisted automation of bilateral filtering for brain MR image restoration | |
CN111833264A (zh) | 一种基于cuda的图像快速去噪方法及系统 | |
CN112906728A (zh) | 一种特征比对方法、装置及设备 | |
US20230409337A1 (en) | Partial sorting for coherency recovery | |
CN113536943B (zh) | 一种基于图像增强的道路交通标志识别方法 | |
CN109948392B (zh) | 二维码边界检测方法、分割方法、存储介质和电子设备 | |
CN116563156B (zh) | 一种基于非局部均值滤波算法的图像降噪方法及装置 | |
KR20130138435A (ko) | 밝기 대비 향상을 통한 영상 화질 개선 방법 및 장치 | |
Ledig et al. | Efficient computation of joint histograms and normalized mutual information on CUDA compatible devices | |
Khalvati et al. | Accelerating image processing algorithms based on the reuse of spatial patterns | |
Xu et al. | DEFA: Efficient Deformable Attention Acceleration via Pruning-Assisted Grid-Sampling and Multi-Scale Parallel Processing | |
CN114792293A (zh) | 一种双链路神经网络红外图像对比度增强方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |