CN112445624A - 一种面向任务的gpu资源优化配置方法及装置 - Google Patents
一种面向任务的gpu资源优化配置方法及装置 Download PDFInfo
- Publication number
- CN112445624A CN112445624A CN202110132908.8A CN202110132908A CN112445624A CN 112445624 A CN112445624 A CN 112445624A CN 202110132908 A CN202110132908 A CN 202110132908A CN 112445624 A CN112445624 A CN 112445624A
- Authority
- CN
- China
- Prior art keywords
- instruction
- opengl
- rendering
- task
- return value
- 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.)
- Granted
Links
Images
Classifications
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Abstract
本发明公开了一种面向任务的GPU资源优化配置方法及装置,该方法将部分2D渲染任务迁移至端侧完成,充分利用了端侧的GPU资源,减轻了服务器端的压力,同时服务器端释放出来的计算能力可以用来完成更多更重要的任务;2D渲染任务相关的OpenGL ES指令不用转换成OpenGL指令,且指令本身数据量远远小于渲染后图像数据量,减少了所需的网络带宽,也缩短了延时时间;通过指令生成的图像没有经过压缩,显示质量更高。
Description
技术领域
本发明涉及移动云计算领域,具体涉及一种面向任务的GPU资源优化配置方法及装置。
背景技术
随着云端计算能力的增强,越来越多的业务和服务加速迁移到云端,当云端服务器和移动端系统相互结合在一起时,就诞生了“移动云手机”的概念。移动云手机上计算和存储都在云端进行,利用服务器和移动网络,在云端模拟安卓原生系统,不依赖端侧设备的性能和存储空间,也就是说摆脱了端侧设备的束缚,拥有了服务器级的强劲算力。但是这一切都需要网络作为中介介质,因此移动云手机的瓶颈在于网络质量,从时延上看,以5G为例,5G网络理论上手机与基站之间会有1ms时延,这其中不包括核心网及互联网等网络节点的双向延迟时间,在目前最为常规的增强移动宽带eMBB场景下,5G用户的单向时延为4ms,而在日常体验中,时延在10ms-20ms之间的情况则较为普遍。这些还没有考虑网络出现波动以及云端计算的延时等情况。从网络传输速率来看,国内5G最高下行速率一般为300Mbps ~1.0Gbps,无压缩的720P画面一秒钟传输的数据量大约是1280*720*8*3*60=1.33GB,速率是10.64Gbps。单纯依靠网络会出现下行速率不够的情况,这就意味着显示图像必须经过压缩,压缩不仅会带来延时,在画质等方面也会有影响。
为了有效提高数据传输的效率,申请号CN201910975162.X的专利“一种云手机数据传输方法、装置及存储介质”公开了一种云手机数据传输方法,包括:根据截图线程获取framebuffer可读状态的视频帧数据,并将视频帧数据拷贝到预设的视频帧堆中;将视频帧堆推入视频帧队列,并通过管道发送通知消息至压码线程;压码线程接收到通知消息后,从视频帧队列中取出预设的视频帧堆对应的视频帧数据,并根据编码器对视频帧数据进行编码,生成待传输视频数据;将预设的视频帧堆返还到视频帧队列中。这种方法通过双线程对数据进行数据传输处理,在优先降低处理时间的同时,优化系统的内存空间,从而有效地提高数据传输的效率。
上述方法采用的是视频帧的方法,是目前移动云手机普遍采用的一种解决方法,假设设置屏幕分辨率为1280*720,那么在像素深度为4个字节的情况下,一个数据帧是3.5MB,用户常规操作起码每秒是20帧,视频游戏需要每秒至少60帧保障,这无疑需要非常大的网络带宽。
发明内容
本发明的目的在于提供一种面向任务的GPU资源优化配置方法及装置,将部分2D渲染任务迁移至端侧完成,充分利用端侧的GPU资源,减轻服务器端的压力。
实现本发明目的的技术方案为:一种面向任务的GPU资源优化配置方法,包括如下步骤:
步骤1:容器中的监听器捕获到OpenGL ES指令;
步骤2:判断当前OpenGL ES指令是否是2D渲染相关指令,若是,跳转到步骤3;若不是,跳转到步骤6;
步骤3:将指令发送至客户端,在客户端进行渲染;
步骤4:服务器端同时进行指令渲染,获得指令返回值;
步骤5:从返回值中解析出下一条OpenGL ES指令的参数,生成下一条OpenGL ES指令,跳转至步骤2;
步骤6:将OpenGL ES指令转换成OpenGL指令,在服务器端进行渲染,生成图像数据;
步骤7:图像数据传回容器,在容器中根据协议编码生成视频帧;
步骤8:视频帧发送至客户端,解码并显示。
进一步的,判断当前OpenGL ES指令是否是2D渲染相关指令,具体是根据OpenGLES中在函数名来判断。
进一步的,从返回值中解析出下一条OpenGL ES指令的函数参数,所述函数参数依赖上一个函数的返回值。
进一步的,所述下一条OpenGL ES指令具体由函数以及根据上一条执行函数的返回值生成的参数组成。
进一步的,通过Dockdroid将OpenGL ES指令转换成OpenGL指令。
本发明还提供一种面向任务的GPU资源优化配置装置,包括:
监听器,用于捕获OpenGL ES指令;
判断单元,判断当前OpenGL ES指令是否是2D渲染相关指令,若是,执行第一单元;若不是,执行第二单元;
第一单元,将指令发送至客户端,在客户端进行渲染;服务器端同时进行指令渲染,获得指令返回值;从返回值中解析出下一条OpenGL ES指令的参数,生成下一条OpenGL ES指令,跳转至判断单元;
第二单元,将OpenGL ES指令转换成OpenGL指令,在服务器端进行渲染,生成图像数据;图像数据传回容器,在容器中根据协议编码生成视频帧;视频帧发送至客户端,解码并显示。
一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的GPU资源优化配置方法。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的GPU资源优化配置方法。
与现有技术相比,本发明的有益效果为:(1)图像数据是执行OpenGLES指令渲染而成的,因此指令到图像数据是一个熵增的过程,指令的数据量远远小于图像的数据量,减少所需网络带宽,减少传输数据所需的时间;(2)通过指令生成的图像没有经过压缩,显示质量更高;(3)指令在客户端执行的同时,在服务器端获得指令的返回值,有效缩短了指令之间的传输延迟;最后,合理地、充分地利用了云和端的GPU资源,可以将部分服务器端的GPU资源释放来做更多更有用的工作。
附图说明
图1是本发明面向任务的GPU资源优化配置机制流程图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明针对现有存在的如下问题:(1)移动云手机所有计算均在云侧服务器端完成,为了充分利用服务器上GPU资源,OpenGL ES指令需要转换成OpenGL指令,再做渲染,之后再将数据传回客户端,中间延时较长,且传回的是渲染后的图像数据流,数据量较大,对网络带宽要求高;(2)端侧客户端设备处理能力大幅提升,没有被充分利用;
采用如下改进方案:在容器中,通过监听,将2D渲染任务的OpenGL ES指令拦截,发送给客户端,将3D渲染任务的OpenGL ES指令通过DockDroid转换成OpenGL指令,发送给服务器。由于OpenGL ES指令的执行不是独立,下一条OpenGL ES指令往往需要依据上一条OpenGLES指令的返回值,如果服务器端需要等待客户端执行结果返回后,再发送下一条OpenGL ES指令的话,则会使得系统运行速度降低,因此本发明中在将2D渲染的OpenGL ES指令发送到客户端执行的同时,在服务器端同时调用OpenGL ES的实现库,例如MESA来获取返回值。
下面结合附图对本发明的技术方案进行详细说明。
结合图1,一种面向任务的GPU资源优化配置方法,包括以下步骤:
步骤1:容器中的监听器捕获到OpenGL ES指令;
步骤2:判断当前OpenGL ES指令是否是2D渲染相关指令,若是,跳转到步骤3;若不是,跳转到步骤6;
具体的,判断方法为:OpenGL ES中在函数名上有区分,例如有的函数名XXX3D,这种为3D渲染指令;
步骤3:将指令发送至客户端,在客户端进行渲染;
步骤4:服务器端同时进行指令渲染,获得指令返回值;
步骤5:从返回值中解析出下一条OpenGL ES指令的参数,生成下一条OpenGL ES指令,跳转至步骤2;
具体的,参数是指函数参数,函数参数依赖上一个函数的返回值;
步骤6:通过Dockdroid转换成OpenGL指令,在服务器端进行渲染,生成图像数据;
具体的,通过Dockdroid将OpenGL ES指令转换成OpenGL指令,Dockdroid就是成熟技术,用来完成转换,Dockdroid不作为保护内容;
步骤7:图像数据传回容器,在容器中根据协议编码生成视频帧;
步骤8:视频帧发送至客户端,解码并显示。
本发明首先指令分成了两类,一类是对GPU计算资源需求较小的指令,例如2D渲染指令,另一类是对GPU计算资源需求较大的指令,例如3D渲染指令。将对GPU计算资源需求较小的指令移至客户端执行,在服务器端同时执行,获取下一条指令的参数,不用等待客户端回传返回值,就可以发送下一条指令给客户端。
在服务器执行时,一条指令执行完成后,返回值生成下一条执行的参数,然后执行下一条指令。当部分指令分流到客户端执行后,如果服务器端等待在客户端执行的指令回传返回值,会耗费时间,且有数据丢失的风险,因此本发明是在服务器端同样执行一次客户端执行的指令,在服务器端就获取了下一条指令的参数,没有了返回值回传这一过程,缩短了时间。
本发明还提供一种面向任务的GPU资源优化配置装置,包括:
监听器,用于捕获OpenGL ES指令;
判断单元,判断当前OpenGL ES指令是否是2D渲染相关指令,若是,执行第一单元;若不是,执行第二单元;
第一单元,将指令发送至客户端,在客户端进行渲染;服务器端同时进行指令渲染,获得指令返回值;从返回值中解析出下一条OpenGL ES指令的参数,生成下一条OpenGL ES指令,跳转至判断单元;
第二单元,将OpenGL ES指令转换成OpenGL指令,在服务器端进行渲染,生成图像数据;图像数据传回容器,在容器中根据协议编码生成视频帧;视频帧发送至客户端,解码并显示。
需要指出的是,上述装置中各模块的实现方法具体详见上述GPU资源优化配置方法部分,本发明不再做累述。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的GPU资源优化配置方法。
进一步的,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的GPU资源优化配置方法。
综上所述,本发明将部分2D渲染任务迁移至端侧完成,充分利用了端侧的GPU资源,减轻了服务器端的压力,同时服务器端释放出来的计算能力可以用来完成更多更重要的任务;2D渲染任务相关的OpenGL ES指令不用转换成OpenGL指令,且指令本身数据量远远小于渲染后图像数据量,减少了所需的网络带宽,也缩短了延时时间;通过指令生成的图像没有经过压缩,显示质量更高。
下面结合实施例,对本发明的技术方案进行详细阐述,需要提出的是,本发明实施里所提供的仅是本发明一部分实施例,而不是全部的实施例。
近年来,病历上云成为一种趋势,在云病历中,保护患者隐私和数据安全是最关键、最重要的工作。目前最佳的解决方案是移动云手机,数据存储在云端,客户端的显示只是显示的投射。
医生在客户端浏览患者病历时,大部分的显示内容只需要2D渲染即可实现,客户端的GPU资源是足够支持图像的流畅显示,此时将OpenGL ES指令重定向到客户端,直接在客户端完成渲染工作,可以极大地缩短显示延迟。
当医生需要进一步查看患者的CT、超声波等医疗影像时,OpenGL ES指令在容器层,通过DockDroid转换成OpenGL指令,调用云端服务器的GPU资源,完成渲染,再通过视频流/图像流投递给客户端。
在本申请所提供的实施例中,应该理解到,所揭露的方法、装置、设备,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用
时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read -OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种面向任务的GPU资源优化配置方法,其特征在于,包括如下步骤:
步骤1、容器中的监听器捕获到OpenGL ES指令;
步骤2、判断当前OpenGL ES指令是否是2D渲染相关指令,若是,跳转到步骤3;若不是,跳转到步骤6;
步骤3、将指令发送至客户端,在客户端进行渲染;
步骤4、服务器端同时进行指令渲染,获得指令返回值;
步骤5、从返回值中解析出下一条OpenGL ES指令的参数,生成下一条OpenGL ES指令,跳转至步骤2;
步骤6、将OpenGL ES指令转换成OpenGL指令,在服务器端进行渲染,生成图像数据;
步骤7、图像数据传回容器,在容器中根据协议编码生成视频帧;
步骤8、视频帧发送至客户端,解码并显示。
2.根据权利要求1所述的面向任务的GPU资源优化配置方法,其特征在于,判断当前OpenGL ES指令是否是2D渲染相关指令,具体是根据OpenGL ES中在函数名来判断。
3.根据权利要求1所述的面向任务的GPU资源优化配置方法,其特征在于,从返回值中解析出下一条OpenGL ES指令的函数参数,所述函数参数依赖上一个函数的返回值。
4.根据权利要求1所述的面向任务的GPU资源优化配置方法,其特征在于,所述下一条OpenGL ES指令具体由函数以及根据上一条执行函数的返回值生成的参数组成。
5.根据权利要求1所述的面向任务的GPU资源优化配置方法,其特征在于,通过Dockdroid将OpenGL ES指令转换成OpenGL指令。
6.一种面向任务的GPU资源优化配置装置,其特征在于,包括:
监听器,用于捕获OpenGL ES指令;
判断单元,判断当前OpenGL ES指令是否是2D渲染相关指令,若是,执行第一单元;若不是,执行第二单元;
第一单元,将指令发送至客户端,在客户端进行渲染;服务器端同时进行指令渲染,获得指令返回值;从返回值中解析出下一条OpenGL ES指令的参数,生成下一条OpenGL ES指令,跳转至判断单元;
第二单元,将OpenGL ES指令转换成OpenGL指令,在服务器端进行渲染,生成图像数据;图像数据传回容器,在容器中根据协议编码生成视频帧;视频帧发送至客户端,解码并显示。
7.根据权利要求6所述的面向任务的GPU资源优化配置装置,其特征在于,所述下一条OpenGL ES指令具体由函数以及根据上一条执行函数的返回值生成的参数组成。
8.根据权利要求6所述的面向任务的GPU资源优化配置装置,其特征在于,通过Dockdroid将OpenGL ES指令转换成OpenGL指令。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-5中任一所述的GPU资源优化配置方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一所述的GPU资源优化配置方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110132908.8A CN112445624B (zh) | 2021-02-01 | 2021-02-01 | 一种面向任务的gpu资源优化配置方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110132908.8A CN112445624B (zh) | 2021-02-01 | 2021-02-01 | 一种面向任务的gpu资源优化配置方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112445624A true CN112445624A (zh) | 2021-03-05 |
CN112445624B CN112445624B (zh) | 2021-04-23 |
Family
ID=74740087
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110132908.8A Active CN112445624B (zh) | 2021-02-01 | 2021-02-01 | 一种面向任务的gpu资源优化配置方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112445624B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023045392A1 (zh) * | 2021-09-26 | 2023-03-30 | 华为技术有限公司 | 一种云手机的实现方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100289804A1 (en) * | 2009-05-13 | 2010-11-18 | International Business Machines Corporation | System, mechanism, and apparatus for a customizable and extensible distributed rendering api |
CN103606184A (zh) * | 2013-11-21 | 2014-02-26 | 武大吉奥信息技术有限公司 | 一种基于二维和三维一体化矢量渲染引擎的装置 |
CN106454403A (zh) * | 2016-09-09 | 2017-02-22 | 北京小度信息科技有限公司 | 数据显示方法、设备及系统 |
CN108848082A (zh) * | 2018-05-31 | 2018-11-20 | 深圳市腾讯网络信息技术有限公司 | 数据处理方法、装置、存储介质及计算机设备 |
CN111400024A (zh) * | 2019-01-03 | 2020-07-10 | 百度在线网络技术(北京)有限公司 | 渲染过程中的资源调用方法、装置和渲染引擎 |
CN111768330A (zh) * | 2019-03-30 | 2020-10-13 | 华为技术有限公司 | 图像处理方法及计算机系统 |
-
2021
- 2021-02-01 CN CN202110132908.8A patent/CN112445624B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100289804A1 (en) * | 2009-05-13 | 2010-11-18 | International Business Machines Corporation | System, mechanism, and apparatus for a customizable and extensible distributed rendering api |
CN103606184A (zh) * | 2013-11-21 | 2014-02-26 | 武大吉奥信息技术有限公司 | 一种基于二维和三维一体化矢量渲染引擎的装置 |
CN106454403A (zh) * | 2016-09-09 | 2017-02-22 | 北京小度信息科技有限公司 | 数据显示方法、设备及系统 |
CN108848082A (zh) * | 2018-05-31 | 2018-11-20 | 深圳市腾讯网络信息技术有限公司 | 数据处理方法、装置、存储介质及计算机设备 |
CN111400024A (zh) * | 2019-01-03 | 2020-07-10 | 百度在线网络技术(北京)有限公司 | 渲染过程中的资源调用方法、装置和渲染引擎 |
CN111768330A (zh) * | 2019-03-30 | 2020-10-13 | 华为技术有限公司 | 图像处理方法及计算机系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023045392A1 (zh) * | 2021-09-26 | 2023-03-30 | 华为技术有限公司 | 一种云手机的实现方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112445624B (zh) | 2021-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111882626B (zh) | 图像处理方法、装置、服务器及介质 | |
CN110381322B (zh) | 视频流解码方法、装置、终端设备及存储介质 | |
CN111399964B (zh) | 一种基于视频串流技术的云桌面平台 | |
CN110430441B (zh) | 一种云手机视频采集方法、系统、装置及存储介质 | |
WO2017219896A1 (zh) | 视频流的传输方法及装置 | |
US20230215076A1 (en) | Image frame display method, apparatus, device, storage medium, and program product | |
CN102668495A (zh) | 低延时传输协议的方法和系统 | |
CN109040786B (zh) | 摄像头数据的传输方法、装置、系统及存储介质 | |
WO2023040825A1 (zh) | 媒体信息的传输方法、计算设备及存储介质 | |
CN112445624B (zh) | 一种面向任务的gpu资源优化配置方法及装置 | |
CN110730364B (zh) | 一种云手机数据传输方法、装置及存储介质 | |
CN110740352B (zh) | 显卡透传环境下基于spice协议的差异图像显示方法 | |
CN117130749A (zh) | 一种基于WebGPU提升Web播放器硬件解码能力的方法 | |
WO2013174337A2 (zh) | 字幕提取方法及装置 | |
CN114938408B (zh) | 一种云手机的数据传输方法、系统、设备及介质 | |
CN113596181B (zh) | 一种数据重定向方法、终端、服务器及存储介质 | |
CN114116234B (zh) | 一种基于浏览器的三维场景模型解压缩加载方法 | |
CN110798700B (zh) | 视频处理方法、视频处理装置、存储介质与电子设备 | |
CN106851134B (zh) | 传输图像数据的方法、装置及系统 | |
TWI814134B (zh) | 虛擬行動架構的遠端渲染系統、方法及裝置 | |
CN110868614B (zh) | 显卡透传环境下基于spice协议的差异图像显示系统 | |
CN117938823A (zh) | 云游戏画面分享方法、装置、设备及存储介质 | |
CN114040198A (zh) | 一种图像数据优化装置及方法 | |
CN117979062A (zh) | 一种基于编码流引用计数的实时视频流传输方法及装置 | |
CN115731338A (zh) | 一种基于x协议的二三维一体化远程渲染方法和系统 |
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 |