CN103096011B - 视频通信协商方法、系统及视频终端 - Google Patents
视频通信协商方法、系统及视频终端 Download PDFInfo
- Publication number
- CN103096011B CN103096011B CN201110349879.7A CN201110349879A CN103096011B CN 103096011 B CN103096011 B CN 103096011B CN 201110349879 A CN201110349879 A CN 201110349879A CN 103096011 B CN103096011 B CN 103096011B
- Authority
- CN
- China
- Prior art keywords
- video
- terminal
- communication
- request
- parameter
- 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
Landscapes
- Telephonic Communication Services (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种视频通信协商方法、系统及视频终端。其中,该方法包括在通话过程中,第一视频终端接收第二视频终端在检测到或接收到触发事件后发送的视频通信协商请求;第一视频终端解析视频通信协商请求,与第二视频终端进行协商并确定协商后的视频参数;第一视频终端和第二视频终端利用协商后的视频参数传输媒体流。本发明在视频通信过程中使得互通视频的终端能够动态调整视频参数,以自适应网络环境的变化,从而使互通视频的终端能够在复杂变化的网络环境下保证通话质量和视频的流畅性。
Description
技术领域
本发明涉及视频通信技术领域,特别地,涉及一种视频通信协商方法、系统及视频终端。
背景技术
移动互联网的发展,推动了智能终端产业链的壮大,智能手机、平板电脑成为终端市场的热点。新的操作系统的推出以及芯片处理性能的提升使得各类有屏终端具备了开发视频通信功能的能力,运营商、终端开发商、互联网厂商纷纷开发推出基于互联网或3G的点对点视频通信功能。
在点对点的视频通信中,通信双方会对视频通信的相关信息(例如,编解码、图像分辨率等)进行协商并建立连接,互通视频及语音,但由于网络环境较为复杂,通话质量以及视频的流畅性等较易受到传输带宽等多种因素的影响,因此,如何在复杂的网络环境下保障通话质量和视频的流畅性是亟待解决的技术问题。另外,根据用户使用习惯,对在语音通话过程中开启视频也具有较强的需求。
发明内容
本发明要解决的一个技术问题是提供一种视频通信协商方法、系统及视频终端,能够在复杂多变的网络环境下保证通话质量和视频的流畅性。
根据本发明的一方面,提出了一种视频通信协商方法,包括在通话过程中,第一视频终端接收第二视频终端在检测到或接收到触发事件后发送的视频通信协商请求;第一视频终端解析视频通信协商请求,与第二视频终端进行协商并确定协商后的视频参数;第一视频终端和第二视频终端利用协商后的视频参数传输媒体流。
根据本发明的另一方面,还提出了一种视频终端,包括请求发送单元,用于在通话过程中检测到或接收到触发事件后向通信对端发送视频通信协商请求;解析协商单元,用于在通话过程中解析视频通信协商请求,与发送请求的终端协商并确定协商后的视频参数;数据传输单元,与解析协商单元相连,用于利用协商后的视频参数传输媒体流。
根据本发明的又一方面,还提出了一种视频通信协商系统,包括两个相互通信的视频终端。
本发明提供的视频通信协商方法、系统及视频终端,在视频通信过程中使得互通视频的终端能够动态调整视频参数,以自适应网络环境的变化,从而使互通视频的终端能够在复杂变化的网络环境下保证通话质量和视频的流畅性。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分。在附图中:
图1是本发明视频通信协商方法的一个实施例的流程示意图。
图2是本发明视频通信协商方法的另一实施例的流程示意图。
图3是本发明视频通信协商方法的又一实施例的流程示意图。
图4是本发明视频终端的一个实施例的结构示意图。
图5是本发明视频通信协商系统的一个实施例的结构示意图。
具体实施方式
下面参照附图对本发明进行更全面的描述,其中说明本发明的示例性实施例。本发明的示例性实施例及其说明用于解释本发明,但并不构成对本发明的不当限定。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
图1是本发明视频通信协商方法的一个实施例的流程示意图。
如图1所示,该实施例可以包括以下步骤:
S102,在通话过程中,第一视频终端接收第二视频终端在检测到或接收到触发事件后发送的视频通信协商请求;
S104,第一视频终端解析视频通信协商请求,与第二视频终端进行协商并确定协商后的视频参数,其中,两个终端可以通过一次或多次交互来实现视频参数的协商;
S106,第一视频终端和第二视频终端利用协商后的视频参数传输媒体流。即,当通信双方协商成功后,请求发起方(即,第二视频终端)主动调整图像分辨率(与协商后的视频参数一致)并进行编码,向对方(即,第一视频终端)发送比原先分辨率较高或较低的视频流,而被请求方(即,第一视频终端)则根据对方请求的图像分辨率要求进行编码,向请求方发出视频流。
该实施例在视频通信过程中使得互通视频的终端能够在网络环境变化等情况下动态调整视频参数,从而使互通视频的终端能够在复杂变化的网络环境下保证通话质量和视频的流畅性。
其中,步骤S102中的触发事件可以包括但不限于网络状况发生变化、开启视频以及关闭视频。
进一步地,以网络状况发生变化为触发事件进行说明,在第一视频终端与第二视频终端通话过程中,如果第二视频终端检测到网络带宽发生变化,则可以向第一视频终端发送视频通信协商请求,该请求中可以携带图像分辨率参数,在第一视频终端与第二视频终端为同类型终端时,所携带的图像分辨率参数可以用于双向,即,第二视频终端期望发送的图像的分辨率和第二视频终端期望接收的图像的分辨率,如果第二视频终端与第一视频终端类型不同,所携带的图像分辨率参数可以分别包括期望发送的图像分辨率和期望接收的图像分辨率,具体地,图像分辨率可以包括但不限于CIF(Common Intermediate Format,通用媒体模式,352×288像素)、VGA(640×480像素)、D1(数字电视系统显示格式的标准)、720P以及1080P。此外,图像分辨率还可以为其他非标准格式,例如,600×400等。
此外,协商后的视频参数还可以包括视频编解码方式和端口信息,其中,视频编解码方式可以包括但不限于H.263和H.264。举例说明,在互通的两个终端类型不同时,假设第二视频终端期望发送的分辨率为VGA,与其对应的编解码方式为H.263,而第一视频终端解析后发现其能够接收分辨率为VGA的视频流,但是不支持H.263的编解码方式,因此,两个终端还需要协商视频流的编解码方式。另外,如果发送视频流的端口也发生改变时,双方还需要进一步协商通信端口。
在通话过程中,如果第二视频终端检测到网络带宽小于预定下限时,其触发视频通信协商过程,向其通信对端(即,第一视频终端)发送视频通信协商请求,该请求中至少包括一个比之前分辨率要低的参数,例如,之前使用的为D1分辨率格式,此时可以请求使用VGA分辨率格式,在第一视频终端确定采用VGA方式后,通信双方均开始采用VGA格式传输媒体流(包括视频媒体流和语音媒体流)。由于网络带宽的减小,第二视频终端主动请求降低所传输视频的分辨率,虽然视频的清晰度有所降低,但是从整体上保证了通话质量和视频图像的流畅性,不会由于网络状况的恶化而出现丢包现象,导致视频的不连续性或语音通话质量恶化。
如果在一段时间后网络状况发生了改变,例如,第二视频终端检测到网络带宽大于预定下限,则其又触发另一次视频通信协商过程,其向第一视频终端发送视频通信协商请求,该请求中可以包含D1分辨率格式,第一视频终端确定可以采用D1分辨率格式后,通信双方开始采用D1格式传输媒体流(包括视频媒体流和语音媒体流)。此时,由于网络状况变好,例如,带宽增大,第二视频终端主动请求提高所传输视频的分辨率,不仅保证了基本的通话质量和视频图像的连续性,同时还显著提高了视频的清晰度。
假设第二视频终端想结束双方之间的视频通话,仅采用语音方式进行交流,此时,该第二视频终端可以根据用户发起的一个控制指令触发向第一视频终端发送视频通信协商请求,该请求中携带“关闭视频”的消息代码,第一视频终端接收到该请求后,判断自身如具备关闭视频的能力,则向第二视频终端发送响应消息,指示第二视频终端可以关闭视频,协商成功后通信双方均关闭视频流仅利用语音方式交流,此时仅在双方之间传输语音媒体流。如果因为交流需要,其中的任一方还可以再次发起视频通信协商请求,以请求开启视频。假设第二视频终端又主动向第一视频终端发送视频通信协商请求,该请求中至少包括图像分辨率参数,在双方协商后就按照协商好的视频参数开始传输视频媒体流和语音媒体流。可见,本发明可以在语音通话过程中随时开启或关闭视频,并且保证语音通话不间断。
其中,在第一视频终端与第二视频终端正常传输视频流的过程中,第一视频终端与第二视频终端中的任一终端都可以根据检测情况或接收的指令触发视频通信协商请求,根据指令触发视频的关闭。在双方正常通话过程中,任一终端均可以发起关于视频开启的协商。
由此可见,在第一视频终端与第二视频终端的一次通话过程中根据触发事件的突发性可以发起多次视频通信协商请求,以请求协商视频参数、开启视频或关闭视频。
此外,上述的第一视频终端与第二视频终端可以利用SIP(SessionInitiated Protocol,起始会话协议)协议或XMPP(Extensible Messagingand Presence Protocol,可扩展通讯和表示协议)协议实现两者之间的视频通信协商。例如,可以采用SIP INVITE消息发送视频通信协商请求。
接下来针对不同的触发条件分别进行详细地说明。
图2是本发明视频通信协商方法的另一实施例的流程示意图。
如图2所示,该实施例包括以下步骤:
S202,终端A通过SIP协议与终端B进行首次协商,并建立媒体流传输链接,即,首先终端A向终端B发送INVITE消息,接下来终端B向终端A反馈180 Ringing和200 OK,终端A向终端B反馈ACK,从而建立起媒体传输链路;
S204,在终端A与终端B之间开始传输媒体流A(包括视频与语音),实现视频通信;
S206,终端A检测到网络波动、媒体流不稳定;
S208,终端A向终端B发起视频编解码二次协商的INVITE请求,该请求中携带新的视频参数,例如,图像分辨率;
S210,终端B判断该请求为终端A发起的二次协商请求,保持媒体流A不断,对该请求进行处理,如同意采用新的视频参数进行视频通信,则向终端A回复200 OK,否则,还采用原来的视频参数进行视频传输;
S212,终端A与终端B采用协商后的视频参数进行视频通信,双方开始传输媒体流B(包括视频与语音);
S214,在通话完成后,终端B向终端A发起BYE请求,以结束通话;
S216,终端A向终端B发送200 OK,通话结束。
例如,两个终端在SIP软交换环境下采用D1分辨率格式进行点对点视频通信,其中一终端检测到自身网络环境不稳定,需要降低分辨率,以节省带宽、保证通话质量和视频流畅性,此时,该终端发起二次协商请求,要求采用VGA分辨率继续进行视频通信,协商成功后,双方采用VGA分辨率继续进行视频通信。
图3是本发明视频通信协商方法的又一实施例的流程示意图。
如图3所示,该实施例包括以下步骤:
S302,终端A和终端B通过首次协商建立语音通话;
S304,终端A与终端B互传语音媒体流;
S306,终端A开启视频;
S308,终端A与终端B进行二次协商,协商请求中携带新的视频参数;
S310,协商成功后,终端A与终端B进行视频通信,传输视频媒体流和语音媒体流;
S312,终端B关闭视频;
S314,终端A与终端B进行再次协商,请求关闭视频;
S316,终端A与终端B互传语音媒体流;
S318,终端A与终端B结束通话。
本领域普通技术人员可以理解,实现上述方法实施例的全部和部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算设备可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤,而前述的存储介质可以包括ROM、RAM、磁碟和光盘等各种可以存储程序代码的介质。
图4是本发明视频终端的一个实施例的结构示意图。
如图4所示,该实施例的视频终端400可以包括:
请求发送单元402,用于在通话过程中检测到或接收到触发事件后向通信对端发送视频通信协商请求,其中,触发事件包括网络状况发生变化、开启视频以及关闭视频,根据触发事件的突发性发起多次视频通信协商请求;
解析协商单元404,用于在通话过程中解析视频通信协商请求,与发送请求的终端协商并确定协商后的视频参数,其中,协商后的视频参数至少包括图像分辨率,还可以包括视频编解码方式和端口信息;
数据传输单元406,与解析协商单元相连,用于利用协商后的视频参数传输媒体流。
该实施例在通话过程中,可以向对端发送协商请求,并可以处理对端所发送的视频协商请求,再按照协商后的视频参数发送媒体流,使得通话双方可自动适应网络环境等的变化,确保了通信质量和视频的流畅性,并实现了在语音通话过程中随时开启和关闭视频的功能。
图5是本发明视频通信协商系统的一个实施例的结构示意图。
如图5所示,该实施例的系统500可以包括两个相互通信的视频终端:第一视频终端502与第二视频终端504,这两个视频终端可以采用图4所示的实施例实现。
进一步地,图5所示的两个视频终端可以利用SIP协议或XMPP协议实现两者间的视频通信协商。
本发明上述实施例中的视频终端可以任何支持视频通信功能的终端,例如,移动终端、计算机、机顶盒、专用视频通信终端、以及未来能支持视频功能的终端。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同和相似的部分可以相互参见。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处可以参见方法实施例部分的说明。
虽然已经通过示例对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员应该理解,可在不脱离本发明的范围和精神的情况下,对以上实施例进行修改。本发明的范围由所附权利要求来限定。
Claims (14)
1.一种视频通信协商方法,其特征在于,包括:
在通话过程中,第一视频终端接收第二视频终端在检测到或接收到触发事件后发送的视频通信协商请求,所述触发事件包括所述第二视频终端检测到网络状况发生变化;
所述第一视频终端解析所述视频通信协商请求,与所述第二视频终端进行协商并确定协商后的视频参数;
所述第一视频终端和所述第二视频终端利用协商后的视频参数传输媒体流。
2.根据权利要求1所述的视频通信协商方法,其特征在于,所述协商后的视频参数包括图像分辨率。
3.根据权利要求2所述的视频通信协商方法,其特征在于,所述协商后的视频参数还包括视频编解码方式和端口信息。
4.根据权利要求1所述的视频通信协商方法,其特征在于,所述触发事件还包括开启视频以及关闭视频。
5.根据权利要求1所述的视频通信协商方法,其特征在于,根据所述触发事件的突发性发起多次视频通信协商请求。
6.根据权利要求1所述的视频通信协商方法,其特征在于,利用SIP协议或XMPP协议实现所述第一视频终端与所述第二视频终端之间的视频通信协商。
7.一种视频终端,其特征在于,包括:
请求发送单元,用于在通话过程中检测到或接收到触发事件后向通信对端发送视频通信协商请求,所述触发事件包括所述视频终端检测到网络状况发生变化;
解析协商单元,用于在通话过程中解析视频通信协商请求,与发送所述请求的终端协商并确定协商后的视频参数;
数据传输单元,与所述解析协商单元相连,用于利用协商后的视频参数传输媒体流。
8.根据权利要求7所述的视频终端,其特征在于,所述协商后的视频参数包括图像分辨率。
9.根据权利要求8所述的视频终端,其特征在于,所述协商后的视频参数还包括视频编解码方式和端口信息。
10.根据权利要求7所述的视频终端,其特征在于,所述触发事件还包括开启视频以及关闭视频。
11.根据权利要求7所述的视频终端,其特征在于,根据所述触发事件的突发性发起多次视频通信协商请求。
12.一种视频通信协商系统,其特征在于,包括两个相互通信的权利要求7-11中任一项所述的视频终端。
13.根据权利要求12所述的视频通信协商系统,其特征在于,利用SIP协议或XMPP协议实现两个视频终端间的视频通信协商。
14.根据权利要求12所述的视频通信协商系统,其特征在于,所述视频终端为移动终端、计算机或机顶盒。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110349879.7A CN103096011B (zh) | 2011-11-08 | 2011-11-08 | 视频通信协商方法、系统及视频终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110349879.7A CN103096011B (zh) | 2011-11-08 | 2011-11-08 | 视频通信协商方法、系统及视频终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103096011A CN103096011A (zh) | 2013-05-08 |
CN103096011B true CN103096011B (zh) | 2016-09-28 |
Family
ID=48208101
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110349879.7A Active CN103096011B (zh) | 2011-11-08 | 2011-11-08 | 视频通信协商方法、系统及视频终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103096011B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104219479B (zh) * | 2013-05-30 | 2017-11-03 | 中国电信股份有限公司 | 视频通信业务处理方法与系统 |
CN104702922A (zh) * | 2013-12-10 | 2015-06-10 | 中国电信股份有限公司 | 一种视频传输方法和系统 |
CN103702061A (zh) * | 2013-12-23 | 2014-04-02 | 上海网达软件股份有限公司 | 一种智能终端视频通话分辨率自动调节方法 |
CN103763505A (zh) * | 2013-12-31 | 2014-04-30 | 华为技术有限公司 | 一种在视频通话中适应屏幕方向切换的方法和装置 |
CN105812705B (zh) | 2014-12-31 | 2019-04-12 | 华为终端(东莞)有限公司 | 一种视频通信方法、终端及系统 |
CN106941597A (zh) * | 2016-01-04 | 2017-07-11 | 中国移动通信集团公司 | 一种视频通话方法及装置 |
CN105828016A (zh) * | 2016-04-28 | 2016-08-03 | 上海斐讯数据通信技术有限公司 | 一种视频通话方法及视频通话端 |
CN108023869B (zh) * | 2016-10-28 | 2021-03-19 | 海能达通信股份有限公司 | 多媒体通信的参数调整方法、装置及移动终端 |
WO2018076293A1 (zh) * | 2016-10-28 | 2018-05-03 | 海能达通信股份有限公司 | 多媒体通信的参数调整方法、装置及移动终端 |
CN106803917B (zh) * | 2017-02-28 | 2020-02-21 | 宇龙计算机通信科技(深圳)有限公司 | 用于双屏移动终端的视频通话方法和双屏移动终端 |
CN107360389B (zh) * | 2017-08-24 | 2020-11-06 | 北京奇艺世纪科技有限公司 | 一种视频通信方法、装置和终端 |
CN109699052A (zh) * | 2017-10-24 | 2019-04-30 | 中国移动通信有限公司研究院 | 一种VoLTE视频通话质量调整方法、装置、系统和介质 |
CN108112029A (zh) * | 2017-12-21 | 2018-06-01 | 维沃移动通信有限公司 | 一种寻呼处理方法及移动终端 |
CN111050108A (zh) * | 2019-12-19 | 2020-04-21 | 维沃移动通信有限公司 | 多路视频通话的实现方法、装置及电子设备 |
CN113453081A (zh) * | 2020-03-28 | 2021-09-28 | 华为技术有限公司 | 视频传输方法、系统、相关设备及存储介质 |
CN114339112B (zh) * | 2020-09-30 | 2023-10-20 | 华为终端有限公司 | 视频通话的方法、电子设备及系统 |
CN112333414A (zh) * | 2020-10-30 | 2021-02-05 | 维沃移动通信有限公司 | 视频通话方法、装置、电子设备及可读存储介质 |
CN116193163A (zh) * | 2021-11-29 | 2023-05-30 | 广州迈聆信息科技有限公司 | 视频流分辨率动态切换的方法及装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1913533A (zh) * | 2006-09-05 | 2007-02-14 | 北京天地互连信息技术有限公司 | 基于会话初始化协议的远程视频监控系统及其实现方法 |
CN101651816A (zh) * | 2009-09-02 | 2010-02-17 | 中兴通讯股份有限公司 | 可视电话会话建立方法、装置和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101431673B (zh) * | 2008-12-05 | 2013-05-22 | 腾讯科技(深圳)有限公司 | 视频通信系统及方法 |
-
2011
- 2011-11-08 CN CN201110349879.7A patent/CN103096011B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1913533A (zh) * | 2006-09-05 | 2007-02-14 | 北京天地互连信息技术有限公司 | 基于会话初始化协议的远程视频监控系统及其实现方法 |
CN101651816A (zh) * | 2009-09-02 | 2010-02-17 | 中兴通讯股份有限公司 | 可视电话会话建立方法、装置和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103096011A (zh) | 2013-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103096011B (zh) | 视频通信协商方法、系统及视频终端 | |
JP6017731B2 (ja) | 音声通信およびデータ通信を遂行するためのWi−Fiディスプレイ移送機構を使用するための方法およびシステム | |
CN101057514B (zh) | 用于实现多媒体通信会话的方法和设备 | |
CN103139527B (zh) | 视频通信中的参数协商方法、装置及视频通信终端 | |
US7284059B2 (en) | Terminal device, data transmission-reception system and data transmission-reception initiation method | |
CN102025715B (zh) | 一种基于sip协议的多媒体网络通信方法 | |
EP2396926B1 (en) | Association procedure to enable multiple multicast streams | |
US20160080896A1 (en) | Method and apparatus for transmitting and receiving audio stream in wireless communication system | |
TWI450547B (zh) | 在協同通信期中控制媒體和通知控制方狀態 | |
CN102256101B (zh) | 一种视频会议中媒体能力的转换方法、系统及应用服务器 | |
CN103595950A (zh) | 一种基于有线数字电视机顶盒进行视频通讯的方法 | |
US9705935B2 (en) | Efficient interworking between circuit-switched and packet-switched multimedia services | |
US20080049097A1 (en) | Method and apparatus for video telephony in mobile communication terminal | |
KR20220033445A (ko) | 몰입형 미디어를 처리하기 위한 방법 및 장치 | |
WO2023078458A1 (zh) | 通话异常处理方法、装置及电子设备 | |
CN101626396A (zh) | 多用户业务建立和控制通道转移方法、装置及系统 | |
CN101420290B (zh) | 数据处理的方法和装置 | |
KR102345503B1 (ko) | 중개 방법 및 컴퓨터 판독 가능한 기록매체 | |
KR102044523B1 (ko) | 근거리 무선 통신 장치 및 방법 | |
US7417994B2 (en) | Protocol gateway between an H.323 terminal and another terminal, without master role implementation | |
CN101803332A (zh) | 用于在通信网络中建立呼叫的方法 | |
US20240146440A1 (en) | System and method for avoiding disconnections during video calls | |
US20110016216A1 (en) | Optimized negotiation of coding resources between communication clients | |
CN112423408A (zh) | 视联网终端的控制方法、装置、终端设备和存储介质 | |
CN117880422A (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 |