CN103428465B - 用于帧率变换的象元缓存访问方法 - Google Patents

用于帧率变换的象元缓存访问方法 Download PDF

Info

Publication number
CN103428465B
CN103428465B CN201210245658.XA CN201210245658A CN103428465B CN 103428465 B CN103428465 B CN 103428465B CN 201210245658 A CN201210245658 A CN 201210245658A CN 103428465 B CN103428465 B CN 103428465B
Authority
CN
China
Prior art keywords
access
interpolation
accesses
vector
picture dot
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
CN201210245658.XA
Other languages
English (en)
Other versions
CN103428465A (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.)
Shanghai National Engineering Research Center of Digital Television Co Ltd
Original Assignee
Shanghai National Engineering Research Center of Digital Television Co Ltd
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 Shanghai National Engineering Research Center of Digital Television Co Ltd filed Critical Shanghai National Engineering Research Center of Digital Television Co Ltd
Priority to CN201210245658.XA priority Critical patent/CN103428465B/zh
Publication of CN103428465A publication Critical patent/CN103428465A/zh
Application granted granted Critical
Publication of CN103428465B publication Critical patent/CN103428465B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Television Systems (AREA)

Abstract

本发明揭示了一种用于帧率变换的象元缓存访问方法至少包括零矢量内插访问与内插访问,并且零矢量内插访问与内插访问插入在对象元缓存的其他访问之中。采用了本发明的技术方案,能够合理安排所有访问象元缓存的请求,有效解决了只能顺序读取RAM这一设计中难题,避免并行模块顺序读取象元缓存所产生的冲突,减少其他模块的空转时间,提高模块的复用性,避免时间浪费。

Description

用于帧率变换的象元缓存访问方法
技术领域
本发明涉及一种帧率变换的方法,更具体地说,涉及一种用于帧率变换的象元缓存访问方法。
背景技术
数字电视的视频源的帧率通常为24/25/30帧每秒,但是数字电视本身的刷新频率通常为50/60/100/120Hz。于是,就存在一个频率失配的问题。此外,随着电视技术的发展,电视的刷新频率也越来越高,现在已经有可以支持刷新频率为240Hz的电视。但为了节省传输带宽,视频源的频率依然不会超过60帧每秒。目前,解决视频频率和显示频率不同步的最好办法就是帧率变换。帧率变换中,比较简单的办法就是帧重复,即直接复制前一帧的图像来达到所需的频率;或者直接插入黑(灰帧)。但是这样做会产生图像不连续、运动抖动的问题,造成视频质量下降。为了保证视频质量,比较成熟的方法是基于运动估计和运动补偿(MEMC)的帧速率提升算法。它充分考虑了视频对象的运动信息,将运动估计和内插滤波器紧密结合,可以有效减少运动的抖动和模糊等现象。
在目前的基于运动估计、运动补偿的帧率提升实现方法中,其中一种便是通过运动估计、矢量细化、矢量平滑、内插四个功能模块来实现帧率变换。其中,运动估计是指通过前后两帧图像,估计获得中间待插帧的运动矢量场。对每一个块而言,如果能找到其在从前帧到后帧的运动轨迹,那么自然也就找到了当前块的内容,这个运动轨迹便称之为运动矢量。矢量细化是对于获得的运动矢量场进行第二次运动估计,获得更小图像块的运动矢量场。因为运动估计的处理是以16*16块为单位,而这个块还略显稍大,极有可能发生一个块内存在多种运动趋势的情况,那么运动估计得到的结果肯定是不够准确的。所以需要通过矢量细化,对每一个16*16象元块,在找出它的最佳运动矢量后接着执行块四分处理,将当前块一分为四,然后对每一个子块和他周围多到3个同样大小的块做运动估计。当一个块中的子块存在不同的运动时(但是它和它的邻近块可能仍然存在相同的运动),矢量细化能准确估计出每个字块中的运动。矢量平滑是对矢量场进行平滑,获得更合理的运动向量值。由于在邻近区域运动矢量的不连续,内插后的图像将产生块效应。为了最小化内插图像的块效应,在运动矢量细化阶段,一个5×5的平滑滤波器被用来平滑运动矢量场。平滑后的运动矢量为基本块的1/16,即一个基本块平滑前有4个运动矢量,平滑后有16个运动矢量。内插是指根据运动矢量场进行插值,获得待插图像的像素值。具体根据内插帧与前后两个参考帧在时间上的相对距离和平滑后的运动矢量,可计算出对应的前向和后向运动矢量。根据运动矢量可基于前向预测、后向预测和零运动预测计算内插象元。
在上面介绍的操作中,运动估计、矢量细化、以及内插都需要对像素进行处理。其中,运动估计和矢量细化都需要通过计算运动矢量对应前后帧像素间的差的绝对值和(SAD)来选择最优运动矢量;内插则显然要用原始帧像素经过插值滤波器,得到新的内插帧。因此,为了减少访问片外RAM的次数,一个片上用于暂存象元数据的象元缓存是十分必要的。象元缓存主要功能是在片上保存从片外系统存储器读入的象元数据,它以当前处理块为中心,从前帧和后帧分别读取一定范围的象元数据用于处理,随着块的处理而时时更新。而访问象元缓存的本质就是从RAM中读取象元数据,由于RAM的特点,同一时间只能有一个读写访问请求,而上述三个操作都需要访问象元缓存,所以只能串行访问,就必然会产生象元缓存的复用冲突,形成系统瓶颈。
发明内容
本发明的目的旨在提供一种用于帧率变换的象元缓存访问方法,来解决现有技术中存在的各种不足。
依据上述目的,实施本发明的用于帧率变换的象元缓存访问方法至少包括零矢量内插访问与内插访问,并且零矢量内插访问与内插访问插入在对象元缓存的其他访问之中。
依据上述主要特征,其他访问包括运动估计访问、矢量细化访问、或者是运动估计访问和矢量细化访问。
依据上述主要特征,矢量细化访问分组执行,每组执行两次矢量细化访问。运动估计访问执行完毕之后,开始执行矢量细化访问,并且最后一次运动估计访问和第一组矢量细化访问之间插入三次内插访问。多余的矢量细化访问于最后一次内插访问之后连续执行。
依据上述主要特征,内插访问的内插块的大小为4×4象元,零矢量内插访问的内插块的大小为4个4×4象元,每个零矢量内插访问对应4个内插访问。运动估计访问的次数取决于运动估计候选矢量的个数;矢量细化访问象元缓存的次数取决于:对每一个四分后的子块和它周围的几个块来比较得到最优细化矢量,每个子块比较的次数即为访问次数,总的矢量细化访问次数为每个子块访问次数乘以四;内插访问次数取决于内插块的个数。
依据上述主要特征,每次访问象元缓存的周期数,取决于象元缓存的结构和系统对象元缓存的带宽要求;总共访问象元缓存的周期数为运动估计访问、矢量细化访问、零矢量内插访问和内插访问的周期之和。
采用了本发明的技术方案,能够合理安排所有访问象元缓存的请求,有效解决了只能顺序读取RAM这一设计中难题,避免并行模块顺序读取象元缓存所产生的冲突,减少其他模块的空转时间,提高模块的复用性,避免时间浪费。
附图说明
在本发明中,相同的附图标记始终表示相同的特征,其中:
图1是本发明中和象元缓存访问有关的装置图;
图2是四种访问都运行时象元缓存整体访问顺序;
图3是只有运动估计访问不运行时象元缓存整体访问顺序;
图4是零矢量内插访问和内插访问不运行时象元缓存整体访问顺序;
图5是只有矢量细化访问不运行时象元缓存整体访问顺序;
图6模块间的握手信号波形图。
具体实施方式
下面结合附图和实施例进一步说明本发明的技术方案。
本发明和象元缓存访问有关的装置如图1所示。访问请求产生模块,顾名思义,产生所有访问象元缓存的请求,包括:运动估计访问请求、矢量细化访问请求、零矢量内插访问请求以及内插访问请求。象元缓存模块,主要由Ram组成,其功能是在片上保存从片外系统存储器读入的象元数据,它以当前处理块为中心,从前帧和后帧分别读取一定范围的数据用于处理,能够根据访问请求而取出相应的象元数据,处理过程中随着块的进展需要时时更新。矢量分析模块针对运动估计访问和矢量细化访问,根据象元缓存取出的数据进行SAD计算,选择最优运动矢量。内插模块则是将内插访问得到的数据进行插值滤波处理,生成内插帧。
因此,本发明将访问象元缓存的操作分为四类:运动估计访问、矢量细化访问、零矢量内插访问、内插访问。其中,运动估计访问和矢量细化访问需要从象元缓存中取出象元数据,通过计算数据间差的绝对值和来得到最优运动矢量;内插时则同时需要用到零矢量内插访问取出的象元数据和内插访问取出象元的数据,将两种内插访问分开的原因在于,它们每次访问时读取的象元数据块大小不一样。
在处理时以块为单位,每个块包括三种处理方式:运动估计、矢量细化和内插。运动估计对应运动估计访问,矢量细化对应矢量细化访问,内插对应零矢量内插访问和内插访问。
当三种处理方式都运行时,按照如下方法访问象元缓存:先让运动估计访问和内插访问交替进行,当运动估计访问完成后,再让矢量细化访问和内插访问交替进行,零矢量内插访问穿插于内插访问之中。
根据当前块在图像中的位置不同,三种处理方式可能只运行其中的某两种,或者是其中任意一种;因此当某些处理方式不运行时,其对应的访问操作也不运行,直接从整体访问顺序中去除对应部分即可,其他访问顺序保持不变。
运动估计访问和矢量细化访问的结果会经过一个共用的矢量分析模块进行分析,得到最优矢量;为了防止矢量分析模块发生数据冲突,规定当运动估计访问全部完成后,再开始矢量细化访问,而且矢量细化访问分组执行,每组执行2次矢量细化访问。
零矢量内插访问和内插访问的结果会经过内插模块,通过插值滤波计算得到内插帧;考虑到象元缓存带宽需要,一次零矢量内插访问结果会对应多次内插访问结果。
让运动估计访问和内插访问交替进行,使得当运动估计访问时内插模块可以同时执行内插滤波的操作,内插访问时矢量分析模块可以同时执行运动估计分析操作;矢量细化访问和内插访问的交替进行,使得当矢量细化访问时内插模块可以同时执行内插滤波的操作,内插访问时矢量分析模块可以同时执行矢量细化分析操作。
运动估计访问的次数取决于运动估计候选矢量的个数。矢量细化访问象元缓存的次数取决于,对每一个四分后的子块,和它周围的几个块来比较得到最优细化矢量:每个子块比较的次数即为访问次数,总的矢量细化访问次数就是每个子块访问次数乘以四。内插访问次数则取决于内插块的个数。
每次访问象元缓存的周期数,也就是象元缓存输出对应像素块的周期数,取决于象元缓存的结构和系统对象元缓存的带宽要求。总共访问象元缓存的周期数,就是运动估计访问、矢量细化访问、零矢量内插访问、内插访问等所有访问周期之和。
下面通过一个优选实施例来说明本发明的用于帧率变换的象元缓存访问方法。
在本发明中,运动估计访问有10个候选矢量,需要访问10次象元缓存。矢量细化时设置了一个对角矢量是否启用参数:当对角矢量不启用时,每个子块从周围3个块中选择最优矢量,矢量细化总共需要访问12次象元缓存;当对角矢量启用时,每个子块从周围4个块中选择最优矢量,矢量细化总共访问16次象元缓存。由于总共需要通过零矢量内插访问取出16*16大小的像素块,考虑到带宽限制,每次访问只取16*4大小,所以零矢量访问4次。内插访问次数取决于内插块的个数,本发明内插块大小4*4,一个16*16块共16个内插块,因此内插总共访问16次。
考虑到象元缓存的结构和系统对象元缓存的带宽要求,规定运动估计每次访问花费16个周期,矢量细化每次访问花费4个周期,零矢量内插每次访问花费2个周期,内插访问每次花费2个周期。当所有操作都运行时,总共访问象元缓存周期数:10*16+16*4+4*2+16*2=264。
本发明可支持内插1、2、3帧。与内插单帧相比,内插多帧对运动估计访问、矢量细化访问和零矢量内插访问没有任何影响,只是内插访问时要连续把多帧的象元数据依次输出,所以每次内插访问周期增加。当内插一帧、两帧或三帧时,其他访问次序不变,只是每次普通内插访问时,要连续输出相应帧数的数据,内插一帧输出2个周期,内插两帧输出2*2=4个周期,内插三帧输出3*2=6个周期。
因此如果考虑访问象元缓存次数最多的情况,则运动估计、矢量细化和内插都运行,并且矢量细化运行时对角矢量标志位启用,同时内插三帧。那么整体访问次序如图2所示,其中ME表示运动估计,ME0~ME9对应10次运动估计访问;MR表示矢量细化,MR0~MR15对应16次矢量细化访问;MI-zero表示零矢量内插,MI-zero0~MI-zero3对应4次零矢量内插访问;MI表示内插,MI0~MI15对应16次内插访问,MI0(1)、MI0(2)、MI0(3)则分别表示首次内插访问对应的第一、第二和第三内插帧数据。具体来说,各种操作以如下顺序访问象元缓存:
运动估计访问0
零矢量内插访问0
内插访问0(重复3次,分别对应内插的第一帧、第二帧和第三帧)
运动估计访问1
内插访问1(重复3次,同内插访问1)
运动估计访问2
内插访问2(重复3次)
运动估计访问3
内插访问3(重复3次)
运动估计访问4
零矢量内插访问1
内插访问4(重复3次)
运动估计访问5
内插访问5(重复3次)
运动估计访问6
内插访问6(重复3次)
运动估计访问7
内插访问7(重复3次)
运动估计访问8
零矢量内插访问2
内插访问8(重复3次)
运动估计访问9
内插访问9(重复3次)
矢量细化访问0
矢量细化访问1
内插访问10(重复3次)
矢量细化访问2
矢量细化访问3
内插访问11(重复3次)
矢量细化访问4
矢量细化访问5
零矢量内插访问3
内插访问12(重复3次)
矢量细化访问6
矢量细化访问7
内插访问13(重复3次)
矢量细化访问8
矢量细化访问9
内插访问14(重复3次)
矢量细化访问10
矢量细化访问11
内插访问15(重复3次)
矢量细化访问12
矢量细化访问13
矢量细化访问14
矢量细化访问15
观察如上顺序可以发现,每个零矢量内插访问都对应4个内插访问:先是零矢量内插访问0,然后接着四个内插访问0、1、2、3,后来零矢量内插访问1,再接着四个内插访问4、5、6、7,以此类推。这样做是因为,每个内插块大小4*4,内插时同时需要对应的4*4大小零矢量内插象元数据,以及4*4正常内插访问取出的象元数据。考虑到象元缓存带宽要求以及为了尽量减少系统周期数,零矢量内插每次取16*4,即4个4*4大小的数据块,所以每次零矢量内插访问得到的象元数据可以生成4个内插块,在整个象元缓存访问顺序中,每个零矢量内插访问对应4个内插访问,零矢量内插共访问4次,对应内插共访问16次。
此外,还支持其他多种模式。例如当对角矢量不启用时,只有12次矢量细化访问,则内插访问15完成后,整个象元缓存访问结束,不会有图2中所述的矢量细化访问12~15;如果运动估计不运行,则没有运动估计访问0~运动估计访问9,直接先连续做10次内插访问(穿插2次零矢量内插访问),再交替进行内插访问和矢量细化访问,如图3所示;同理,若矢量细化或者内插不运行,只要把对应的访问请求从整个顺序中剔除,其他访问相互顺序不变,如图4、图5。
这时,当某些操作连续访问象元缓存时,后续模块需要一定的处理机制,避免产生来不及接收数据的情况。对于矢量分析模块,两个运动估计分析访问之间最短也要间隔8个周期,完全可以实现运动估计分析;矢量细化分析由于可以做成流水处理,因此也不会受到影响。对于内插模块,本发明中内插一次需要8个周期,如果运动估计和矢量细化都运行,则两次内插访问之间的最短间隔都大于8个周期,完全可以满足内插的时间要求,不会发生冲突。但如果运动估计或者矢量细化不运行,则没有运动估计或者矢量细化访问象元缓存,两次内插访问的最短间隔有可能为2个周期,就会发生当前内插还没有完成,下一个内插数据已经到来的情况。为了避免这种冲突,内插模块只有在当前内插完成时才会向象元缓存发送读取请求。收到请求后,象元缓存开始给内插模块传递下一个内插块数据,等数据全部传递完,再向访问请求产生模块发送准备就绪信号,表示可以接收下一个访问请求。整个交互过程如图6所示,通过这种模块间的握手控制,可以有效地避免内插模块可能会发生的数据冲突。
本发明采取以上用于帧率变换的象元缓存访问方法,具有以下优点:
1.在运动估计和矢量细化访问象元缓存的过程中,内插滤波器可以同时进行内插滤波的操作;在内插访问象元缓存的过程中,矢量分析模块可以同时通过计算SAD得到运动估计和矢量细化的最优运动矢量。这种处理方法尽可能复用系统时钟,增加了系统的并行性,提高硬件运行效率。
2.可以良好支持各种情况,包括运动估计、矢量细化、内插启用/不启用,以及内插一帧、内插两帧、内插三帧的情况,不影响整体访问顺序,增加了系统的稳定性和灵活性,易于控制。
3.有效解决了三种操作对象元缓存模块的复用冲突现象,可以准确控制象元缓存的读取。
4.通过对象元缓存访问顺序的控制,降低了象元缓存输出数据的要求,一定程度减少象元缓存带宽,减少负担。
本技术领域中的普通技术人员应当认识到,以上的说明书仅是本发明众多实施例中的一种或几种实施方式,而并非用对本发明的限定。任何对于以上所述实施例的均等变化、变型以及等同替代等技术方案,只要符合本发明的实质精神范围,都将落在本发明的权利要求书所保护的范围内。

Claims (5)

1.一种用于帧率变换的象元缓存访问方法,其特征是,所述用于帧率变换的象元缓存访问至少包括零矢量内插访问与内插访问,并且该零矢量内插访问与内插访问插入在对该象元缓存的其他访问之中,
其中,其他访问包括运动估计访问和矢量细化访问,所述矢量细化访问分组执行,每组执行两次所述矢量细化访问,
所述运动估计访问执行完毕之后,开始执行所述矢量细化访问,并且最后一次所述运动估计访问和第一组所述矢量细化访问之间插入三次所述内插访问。
2.如权利要求1所述的用于帧率变换的象元缓存访问方法,其特征是,多余的所述矢量细化访问于最后一次所述内插访问之后连续执行。
3.如权利要求1所述的用于帧率变换的象元缓存访问方法,其特征是,所述内插访问的内插块的大小为4×4象元,所述零矢量内插访问的内插块的大小为4个4×4象元,每个所述零矢量内插访问对应4个所述内插访问。
4.如权利要求3所述的用于帧率变换的象元缓存访问方法,其特征是,所述运动估计访问的次数取决于运动估计候选矢量的个数;
所述矢量细化访问象元缓存的次数取决于:对每一个四分后的子块和它周围的几个块来比较得到最优细化矢量,每个所述子块比较的次数即为访问次数,总的所述矢量细化访问次数为每个所述子块访问次数乘以四;
所述内插访问次数取决于内插块的个数。
5.如权利要求1所述的用于帧率变换的象元缓存访问方法,其特征是,每次访问象元缓存的周期数,取决于所述象元缓存的结构和系统对所述象元缓存的带宽要求;
总共访问所述象元缓存的周期数为所述运动估计访问、所述矢量细化访问、所述零矢量内插访问和所述内插访问的周期之和。
CN201210245658.XA 2012-07-16 2012-07-16 用于帧率变换的象元缓存访问方法 Active CN103428465B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210245658.XA CN103428465B (zh) 2012-07-16 2012-07-16 用于帧率变换的象元缓存访问方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210245658.XA CN103428465B (zh) 2012-07-16 2012-07-16 用于帧率变换的象元缓存访问方法

Publications (2)

Publication Number Publication Date
CN103428465A CN103428465A (zh) 2013-12-04
CN103428465B true CN103428465B (zh) 2017-02-15

Family

ID=49652564

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210245658.XA Active CN103428465B (zh) 2012-07-16 2012-07-16 用于帧率变换的象元缓存访问方法

Country Status (1)

Country Link
CN (1) CN103428465B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101316365A (zh) * 2007-05-30 2008-12-03 株式会社东芝 运动矢量检测设备、运动矢量检测方法及内插帧创建设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4615508B2 (ja) * 2006-12-27 2011-01-19 シャープ株式会社 画像表示装置及び方法、画像処理装置及び方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101316365A (zh) * 2007-05-30 2008-12-03 株式会社东芝 运动矢量检测设备、运动矢量检测方法及内插帧创建设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HDTV中基于ME/MC的插帧倍频FPGA实现架构研究;陈孙阳;《中国优秀硕士学位论文全文数据库信息科技辑》;20101015;正文第16页第1-2段、第18页第1-3段、第24页第1-2段、第33页3.5.3,图3-1、3-3、3-20 *

Also Published As

Publication number Publication date
CN103428465A (zh) 2013-12-04

Similar Documents

Publication Publication Date Title
CN105872432B (zh) 快速自适应帧率变换的装置与方法
CN109803175B (zh) 视频处理方法及装置、设备、存储介质
CN105744358B (zh) 视频播放的处理方法及装置
CN105681720B (zh) 视频播放的处理方法及装置
CN101616279A (zh) 一种视频帧率上变换的方法和装置
CN102082896B (zh) 液晶显示设备的视频处理方法
CN101594456B (zh) 图像处理装置和方法
CN109951713B (zh) 一种用于视频去隔行的运动估计补偿电路及方法
US6985528B2 (en) Apparatus and method for encoding and decoding moving picture using wavelet transformation and motion estimation
CN103428465B (zh) 用于帧率变换的象元缓存访问方法
CN101616291B (zh) 图像处理设备和方法及其程序
Wang et al. Motion compensation architecture for 8K UHDTV HEVC decoder
JPH11196425A (ja) 動きベクトル検出装置
CN105812923B (zh) 基于视频点播的播放处理方法及装置
CN1881190B (zh) 用于访问数据的设备和系统
KR100891116B1 (ko) 대역폭 인식 움직임 보상 장치 및 그 방법
CN101437136B (zh) 图像处理设备
CN103428487A (zh) 用于高清视频序列帧率提升的块处理方法
KR101000036B1 (ko) 실시간 영상 처리를 위한 서브 샘플링 시스템
Soares et al. Integration issues on the development of an H. 264/AVC video decoder SoC for SBTVD set top box
JP4213750B2 (ja) アレイ型演算装置
KR100281567B1 (ko) 비디오 인코더의 스케쥴링 방법
KR100226705B1 (ko) 어드레스 발생시 프레임 메모리 상태 천이방법 및 장치
JP2008512923A (ja) ビデオデータを処理する装置及び方法
CN101909159B (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
CB02 Change of applicant information

Address after: Room 1018, block B, No. three East Bridge Road, Pudong New Area, Shanghai, 200125, China

Applicant after: Shanghai NERC-DTV National Engineering Research Center Co., Ltd.

Address before: 200125 Shanghai East Road, Pudong New Area, No. three, No. 1018

Applicant before: Shanghai NERC-DTV National Engineering Research Center Co., Ltd.

COR Change of bibliographic data
C14 Grant of patent or utility model
GR01 Patent grant