CN106358003B - 一种基于线程级流水线的视频分析加速方法 - Google Patents

一种基于线程级流水线的视频分析加速方法 Download PDF

Info

Publication number
CN106358003B
CN106358003B CN201610789254.5A CN201610789254A CN106358003B CN 106358003 B CN106358003 B CN 106358003B CN 201610789254 A CN201610789254 A CN 201610789254A CN 106358003 B CN106358003 B CN 106358003B
Authority
CN
China
Prior art keywords
subtask
thread
gpu
processing
level
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
Application number
CN201610789254.5A
Other languages
English (en)
Other versions
CN106358003A (zh
Inventor
凌贺飞
李深
唐堃
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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201610789254.5A priority Critical patent/CN106358003B/zh
Publication of CN106358003A publication Critical patent/CN106358003A/zh
Application granted granted Critical
Publication of CN106358003B publication Critical patent/CN106358003B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/015High-definition television systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0125Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level one of the standards being a high definition standard
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)

Abstract

本发明公开了一种视频分析加速方法,将视频帧处理任务按先后顺序划分为四级子任务,并划分到GPU和CPU处理;每一级子任务用一个线程实现,处理完毕后将数据传递给下一级子任务所在线程,各线程并行执行;当没有新的任务或下一级子任务所在线程没有处理完毕时,就暂停等待;相邻两级子任务线程之间使用先进先出FIFO缓冲区队列传递数据;对不存在依赖关系的两个子任务,利用CUDA的函数异步调用实现CPU和GPU子任务的异步协同并行。本发明有效利用异构系统中各种计算资源,建立合理的任务调度机制,降低不同处理器之间的通信开销,以充分发挥各计算资源的计算能力,提高系统效率。

Description

一种基于线程级流水线的视频分析加速方法
技术领域
本发明涉及视频分析领域,更具体的,涉及一种基于线程级流水线的视频分析加速方法。
背景技术
视频分析技术已经广泛应用于安防领域,视频分析中存在着大量的图像数据处理导致效率低下,随着高清摄像头的普及,对视频分析系统进行性能优化很有必要。近年来大多数优化技术都是利用GPU处理视频分析中的复杂计算,将复杂计算模块的串行算法转化为并行算法,利用GPU进行并行计算。然而CPU和GPU是两种不同架构的处理器,采用单纯的GPU优化方法,CPU和GPU由于计算所需时间不同常常相互等待,造成计算资源浪费,无法确保CPU、GPU达到最佳的利用率,无法充分发挥异构平台的计算能力。
发明内容
针对现有加速技术的不足,本发明要解决的技术问题是克服现有加速方法对CPU、GPU计算资源利用率不足的缺点,提出一种基于线程级流水线的视频分析加速方法,有效利用异构系统中各种计算资源,建立合理的任务调度机制,降低不同处理器之间的通信开销,以充分发挥各计算资源的计算能力,提高系统效率。
一种视频分析加速方法,具体为:
将视频帧处理任务按先后顺序划分为四级子任务,第一级对应视频帧解码子任务TC1,第二级对应颜色空间转换子任务TC2和运动目标检测及后处理子任务TG1,第三级对应目标提取子任务TC3,第四级对应目标跟踪与目标识别子任务TC4,其中,运动目标检测及后处理TG1在GPU处理,其它子任务在CPU处理;
每一级子任务用一个线程实现,处理完毕后将数据传递给下一级子任务所在线程,各线程并行执行;当没有新的任务或下一级子任务所在线程没有处理完毕时,就暂停等待;
相邻两级子任务线程之间使用先进先出FIFO缓冲区队列传递数据,为每个子任务设有一个输入队列InputQueue和一个输出队列OutputQueue,本级子任务的InputQueue是上一级子任务的OutputQueue,本级子任务的OutputQueue是下一级子任务的InputQueue;
对不存在依赖关系的颜色空间转换子任务TC2和运动目标检测及后处理子任务TG1,利用CUDA的函数异步调用实现CPU和GPU子任务的异步协同并行。
进一步地,对在GPU上处理的子任务,利用CUDA编程设计实现该子任务的GPU并行处理,GPU中各个核函数产生的中间结果直接存储在GPU的设备存储器中,不拷贝到主机内存,仅仅将最终结果拷贝到主机内存,同时利用CUDA的流并行使CPU、GPU间的数据传输与核函数执行重叠。
进一步地,所述输入队列InputQueue和输出队列OutputQueue队列均开辟有两个空间,分别存储奇、偶视频帧的处理后图像数据,每个子任务线程根据当前视频帧号的奇偶读取InputQueue队列中相应的存储空间或者向OutputQueue队列中相应的存储空间写数据。
本发明的有益效果体现在:
本发明有效利用异构系统中各种计算资源,建立合理的任务调度机制,降低不同处理器之间的通信开销,以充分发挥各计算资源的计算能力,提高系统效率。应用本发明对高清视频的处理,CPU利用率相对简单的GPU加速提高了一倍左右,GPU利用率提高了约25%,最终系统的处理速度提高了一倍。1080P的高清视频处理速度可以达到130帧/s,720P的高清视频处理速度可以达到240帧/s。
附图说明
图1是视频分析的处理过程图;
图2是根据各子任务间的依赖关系构造的DAG图;
图3是CUDA异步模式下CPU与GPU并行处理流程图;
图4是线程流水线框架中子任务线程的处理流程图;
图5是视频分析的四级流水线示意图;
图6是视频分析流水线中子任务线程对缓冲区读写流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
图1是视频分析的处理过程图.本发明方法包括以下步骤:
将视频分析任务划分为多个子任务,以TC1TC2TC3TC4表示CPU任务编号,TG1表示GPU任务标号,将系统划分为以下子任务:
TC1:视频解码;
TC2:颜色空间的转换;
TG1:运动目标检测及后处理(GPU);
TC3:目标提取;
TG1:目标跟踪与目标识别;
其中,运动目标检测及其后处理TG1在GPU上进行计算,其余子任务在CPU上进行处理。
运动目标检测可采用ViBe算法,运动目标后处理的膨胀腐蚀处理可采用VHGW算法,滤波可采用中值滤波。
根据各子任务的依赖关系构造DAG图如图2所示。图中虚线部分的两个分支表示没有依赖关系的两个任务分支,也就是说CPU中颜色空间的转化任务TC2和GPU中的运动目标检测及其后处理任务TG1可以并行执行。
对所得DAG图中不存在依赖关系的CPU和GPU子任务,CUDA程序中的内存拷贝函数和核函数采用CUDA异步调用模式进行调用,可以在调用内存拷贝函数和GPU核函数后,不等函数执行完成立即返回,从而使得CPU和GPU可以并行工作。CPU、GPU异步并行的执行流程如图3所示,在CPU解码得到一帧图像数据之后,利用CUDA的函数异步调用方式调用数据传输函数和核函数,之后函数立马返回,CPU开始进行颜色空间转换的计算,同时GPU进行运动目标检测及其后处理的计算,CPU和GPU都执行完成后,将GPU的计算结果拷贝回主机内存由CPU进行下一步计算。
利用CUDA设计实现运动目标检测及其后处理的GPU并行算法,根据GPU存储器模型特点、GPU计算特点对CUDA程序进行存储器优化、指令优化。在该子任务中,各个核函数产生的结果直接存储在GPU的设备存储器中,不拷贝到主机内存,仅仅将最终结果拷贝到主机内存,同时利用CUDA的流并行使CPU、GPU间的数据传输与核函数执行重叠,达到隐藏数据传输延迟的目的。
参考指令流水线的架构,本发明设计实现线程流水线框架。线程流水线框架包括四个要素:
(1)任务(Task)。任务类型相当于指令流水线中的指令,代表流水线系统中需要处理的对象,该对象作为模板参数传入流水线,之后流水线的处理都是针对这类任务进行的。
(2)子任务(SubTask)。每个任务拆分为多个独立的子任务,每个子任务由一个线程负责,多个子任务线程串行处理同一个任务,错位并行处理不同的任务。当一个任务在所有的子任务线程中都执行一遍后,才算处理完一个任务。
(3)缓冲区队列(Queue)。用来在各个子任务线程之间传递数据的是先进先出(FIFO)缓冲区队列,每个子任务都有一个InputQueue和OutputQueue,并且其InputQueue是流水线的上一个子任务的OutputQueue,其OutputQueue是流水线的下一个子任务的InputQueue。子任务线程依次从InputQueue获取数据,进行处理,处理完毕后将生成的数据放入OutputQueue,等待下一个子任务线程处理。当没有新的任务或后面的线程没有处理完毕时,就暂停等待。
(4)流水线(PipeLine)。一个流水线中有一个或多个子任务线程,各线程可以并行执行,对同一个任务串行处理。当所有的任务执行完成后这个流水线才会结束。
每一个子任务用一个线程来实现,把这些线程按照流水线的方式连接,就可以构成一个基于线程的任务流水线。在线程流水线中每个线程专职一个子任务,处理完毕后将数据传递给下一个线程处理,当没有新的任务或后面的线程没有处理完毕时,就暂停等待。各子任务线程之间是一种典型的生产者消费者关系,维护可以设定大小的生产者消费者缓冲区队列(Queue)。相邻两个子任务线程之间的同步用一对信号量sem_full和sem_empty实现,sem_empty表示空缓冲区的数目,其初始值为缓冲区队列的大小,sem_full用来表示满缓冲区的数目,其初始值为0。子任务线程的处理流程如图4所示。
基于线程流水线框架,本发明将每一帧处理作为一个任务,将每一帧的处理任务划分为5个子任务,用五个工作线程分别处理五个子任务,将系统设计为四级流水线。特殊的是,四级流水线中包含五个子任务,其中流水线的第二级包含两个子任务TC2和TG1,同一帧中两个子任务TC2和TG1可以分别在CPU和GPU中进行并行处理,所以将这两个子任务设计为流水线的同一级,五个子任务组成的四级线程流水线如图5所示。对视频每一帧的视频分析处理流程为:(1)采用CPU执行第一级的视频帧解码子任务TC1;(2)采用CPU执行第二级的颜色空间转换子任务TC2,采用GPU执行第二级的运动目标检测及后处理子任务TG1,利用CUDA的函数异步调用实现CPU和GPU子任务的异步协同并行;(3)采用CPU执行第三级的目标提取子任务TC3;(4)采用CPU执行第四级的目标跟踪与目标识别子任务TC4。对视频的连续多帧按照上述方式进行流水线处理。
为了提高各线程间大量图像数据交换的效率,本发明采用如下缓冲区策略:
(1)不拷贝数据到本地,消费线程直接使用缓冲区队列内的数据。这样相当于消费线程直接使用生产线程的输出数据,节省了数据拷贝的时间。
(2)双缓冲机制。不使用数据拷贝必然要在相邻两工作线程间使用双缓冲机制,即相邻的两个子任务线程间的缓冲区中设置FIFO队列,FIFO队列开辟有两个空间,分别存储奇、偶视频帧的处理后图像数据,每个子任务线程根据当前视频帧号的奇偶读取InputQueue队列中相应的存储空间或者向OutputQueue队列中相应的存储空间写数据。视频分析子任务线程缓冲区读写流程如图6所示。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (3)

1.一种视频分析加速方法,其特征在于,具体为:
将视频帧处理任务按先后顺序划分为四级子任务,第一级对应视频帧解码子任务TC1,第二级对应颜色空间转换子任务TC2和运动目标检测及后处理子任务TG1,第三级对应目标提取子任务TC3,第四级对应目标跟踪与目标识别子任务TC4,其中,运动目标检测及后处理TG1在GPU处理,其它子任务在CPU处理;
每一级子任务用一个线程实现,处理完毕后将数据传递给下一级子任务所在线程,各线程并行执行;当没有新的任务或下一级子任务所在线程没有处理完毕时,就暂停等待;
相邻两级子任务线程之间使用先进先出FIFO缓冲区队列传递数据,为每个子任务设有一个输入队列InputQueue和一个输出队列OutputQueue,本级子任务的InputQueue是上一级子任务的OutputQueue,本级子任务的OutputQueue是下一级子任务的InputQueue;
对不存在依赖关系的颜色空间转换子任务TC2和运动目标检测及后处理子任务TG1,利用CUDA的函数异步调用实现CPU和GPU子任务的异步协同并行。
2.根据权利要求1所述的视频分析加速方法,其特征在于,对在GPU上处理的子任务,利用CUDA编程设计实现运动目标检测及其后处理TG1的GPU并行处理,GPU中各个核函数产生的中间数据直接存储在GPU的设备存储器中,不拷贝到主机内存,仅仅将最终结果拷贝到主机内存,同时利用CUDA的流并行使CPU、GPU间的数据传输与核函数执行重叠。
3.根据权利要求1或2所述的视频分析加速方法,其特征在于,所述输入队列InputQueue和输出队列OutputQueue队列均开辟有两个空间,分别存储奇、偶视频帧的处理后图像数据,每个子任务线程根据当前视频帧号的奇偶读取InputQueue队列中相应的存储空间或者向OutputQueue队列中相应的存储空间写数据。
CN201610789254.5A 2016-08-31 2016-08-31 一种基于线程级流水线的视频分析加速方法 Active CN106358003B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610789254.5A CN106358003B (zh) 2016-08-31 2016-08-31 一种基于线程级流水线的视频分析加速方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610789254.5A CN106358003B (zh) 2016-08-31 2016-08-31 一种基于线程级流水线的视频分析加速方法

Publications (2)

Publication Number Publication Date
CN106358003A CN106358003A (zh) 2017-01-25
CN106358003B true CN106358003B (zh) 2019-02-19

Family

ID=57856298

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610789254.5A Active CN106358003B (zh) 2016-08-31 2016-08-31 一种基于线程级流水线的视频分析加速方法

Country Status (1)

Country Link
CN (1) CN106358003B (zh)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107122244B (zh) * 2017-04-25 2020-02-14 华中科技大学 一种基于多gpu的图数据处理系统及方法
CN107749065A (zh) * 2017-06-19 2018-03-02 江西洪都航空工业集团有限责任公司 基于cuda的vibe背景建模方法
CN107295285B (zh) * 2017-08-11 2018-07-27 腾讯科技(深圳)有限公司 视频数据的处理方法、处理装置及存储介质
CN107993185A (zh) * 2017-11-28 2018-05-04 北京潘达互娱科技有限公司 数据处理方法及装置
CN108647097B (zh) * 2018-05-16 2021-04-13 Oppo广东移动通信有限公司 文本图像处理方法、装置、存储介质及终端
CN108924491B (zh) * 2018-07-04 2020-08-25 深圳市商汤科技有限公司 视频流处理方法及装置、电子设备和存储介质
CN109213587B (zh) * 2018-09-12 2021-11-09 中国人民解放军战略支援部队信息工程大学 GPU平台下的多Stream并行DAG图任务映射策略
CN110457123B (zh) * 2018-09-13 2021-06-15 腾讯科技(深圳)有限公司 一种区块处理任务的控制方法和装置
CN111258744A (zh) * 2018-11-30 2020-06-09 中兴通讯股份有限公司 一种基于异构计算的任务处理方法及软硬件框架系统
CN111382737A (zh) * 2018-12-29 2020-07-07 深圳光启空间技术有限公司 多路负载均衡异步目标检测方法、存储介质及处理器
CN113776503B (zh) * 2018-12-29 2024-04-12 深圳市道通智能航空技术股份有限公司 一种深度图处理方法、装置和无人机
CN109739559A (zh) * 2019-01-08 2019-05-10 武汉中旗生物医疗电子有限公司 Cuda异构平台中的数据处理方法及设备
CN110135178A (zh) * 2019-04-11 2019-08-16 贝克链区块链技术有限公司 区块链验证中的零延迟账本访问技术
CN110069344A (zh) * 2019-04-16 2019-07-30 北京百度网讯科技有限公司 一种任务执行方法、装置和智能设备
CN111832366B (zh) * 2019-04-22 2024-04-02 富联精密电子(天津)有限公司 图像识别装置及方法
CN110221924A (zh) * 2019-04-29 2019-09-10 北京云迹科技有限公司 数据处理的方法及装置
CN110322391B (zh) * 2019-07-08 2023-07-11 上海天诚比集科技有限公司 基于多线程的视频告警事件分析方法
CN110457124A (zh) * 2019-08-06 2019-11-15 中国工商银行股份有限公司 针对业务线程的处理方法及其装置、电子设备和介质
CN110798702B (zh) * 2019-10-15 2022-04-15 平安科技(深圳)有限公司 视频解码方法、装置、设备及计算机可读存储介质
CN112711478B (zh) * 2019-10-24 2024-05-28 珠海零边界集成电路有限公司 基于神经网络的任务处理方法、装置、服务器和存储介质
CN110992241A (zh) * 2019-11-21 2020-04-10 支付宝(杭州)信息技术有限公司 异构嵌入式系统及其加速神经网络目标检测的方法
CN110990151A (zh) * 2019-11-24 2020-04-10 浪潮电子信息产业股份有限公司 一种基于异构计算平台的业务处理方法
CN111681179A (zh) * 2020-05-22 2020-09-18 浙江大华技术股份有限公司 屏端显示方法、装置、计算机设备和计算机可读存储介质
WO2022143194A1 (zh) * 2020-12-30 2022-07-07 安徽寒武纪信息科技有限公司 一种执行异步任务的方法、设备和计算机程序产品
CN112954449B (zh) * 2021-01-29 2023-03-24 浙江大华技术股份有限公司 视频流处理方法、系统、电子装置和存储介质
CN115086756B (zh) * 2021-03-10 2024-02-23 北京字跳网络技术有限公司 视频处理方法、装置及存储介质
CN114995898A (zh) * 2022-05-13 2022-09-02 Oppo广东移动通信有限公司 目标对象处理方法、装置以及电子设备
CN115994567B (zh) * 2022-12-28 2024-03-22 兰州交通大学 一种深度神经网络模型并行计算任务异步调度方法
CN117032999B (zh) * 2023-10-09 2024-01-30 之江实验室 一种基于异步运行时的cpu-gpu协同调度方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101751429A (zh) * 2008-12-12 2010-06-23 中国移动通信集团山东有限公司 一种前后台数据库的同步方法及装置
CN102298567A (zh) * 2010-06-28 2011-12-28 安凯(广州)微电子技术有限公司 一种集成中央运算和图形加速的移动处理器架构
CN103020990A (zh) * 2012-12-06 2013-04-03 华中科技大学 一种基于gpu的运动目标检测方法
CN104965761A (zh) * 2015-07-21 2015-10-07 华中科技大学 一种基于gpu/cpu混合架构的流程序多粒度划分与调度方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150207988A1 (en) * 2014-01-23 2015-07-23 Nvidia Corporation Interactive panoramic photography based on combined visual and inertial orientation tracking

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101751429A (zh) * 2008-12-12 2010-06-23 中国移动通信集团山东有限公司 一种前后台数据库的同步方法及装置
CN102298567A (zh) * 2010-06-28 2011-12-28 安凯(广州)微电子技术有限公司 一种集成中央运算和图形加速的移动处理器架构
CN103020990A (zh) * 2012-12-06 2013-04-03 华中科技大学 一种基于gpu的运动目标检测方法
CN104965761A (zh) * 2015-07-21 2015-10-07 华中科技大学 一种基于gpu/cpu混合架构的流程序多粒度划分与调度方法

Also Published As

Publication number Publication date
CN106358003A (zh) 2017-01-25

Similar Documents

Publication Publication Date Title
CN106358003B (zh) 一种基于线程级流水线的视频分析加速方法
US11789895B2 (en) On-chip heterogeneous AI processor with distributed tasks queues allowing for parallel task execution
RU2771008C1 (ru) Способ и устройство для обработки задач на основе нейронной сети
US11782870B2 (en) Configurable heterogeneous AI processor with distributed task queues allowing parallel task execution
CN108206937B (zh) 一种提升智能分析性能的方法和装置
CN105183698B (zh) 一种基于多核dsp的控制处理系统和方法
US10580190B2 (en) Graph based heterogeneous parallel processing system
TW201704931A (zh) 繪圖處理器電源管理情境及順序控制迴路
CN102147722A (zh) 实现中央处理器和图形处理器功能的多线程处理器及方法
KR101639853B1 (ko) 복수의 엔진에 의해 명령어 시퀀스들의 실행을 지원하기 위한 자원들 및 상호접속 구조들의 비집중 할당
US9740498B2 (en) Opportunistic multi-thread method and processor
CN107180010A (zh) 异构计算系统和方法
CN103413273A (zh) 一种基于gpu加速实现图像复原处理方法
DE102019133561A1 (de) System und Verfahren zur Detektion von Änderungen gerenderter Szenen mit ferngehosteten Graphikanwendungen
CN103262039A (zh) 用于处理装置的同步操作的方法和系统
CN115904510B (zh) 多操作数指令的处理方法、图形处理器及存储介质
CN101256668B (zh) 一种计算均衡的多核进行视频滤波的方法
US9760969B2 (en) Graphic processing system and method thereof
CN111443898A (zh) 基于优先级队列与有限状态机的流程式控制软件设计方法
CN116775554A (zh) 一种支持指令广播的存算架构fpga
CN114363478B (zh) 信号处理单元、方法、加速单元、电子设备和片上系统
TWI591579B (zh) 減少流程控制發散度之分析系統與方法
KR101639854B1 (ko) 복수의 엔진에 의해 명령어 시퀀스들의 실행을 지원하기 위한 상호접속 구조
Chitnis et al. Novel OpenVX implementation for heterogeneous multi-core systems
JP7073403B2 (ja) 高スループット内部通信プロトコルを用いる画像処理プロセッサ

Legal Events

Date Code Title Description
C06 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