CN105704492B - 用于内插视频译码的子像素的值的自适应支持 - Google Patents

用于内插视频译码的子像素的值的自适应支持 Download PDF

Info

Publication number
CN105704492B
CN105704492B CN201610134216.6A CN201610134216A CN105704492B CN 105704492 B CN105704492 B CN 105704492B CN 201610134216 A CN201610134216 A CN 201610134216A CN 105704492 B CN105704492 B CN 105704492B
Authority
CN
China
Prior art keywords
integer pixel
sub
filter
pixel positions
interpolation
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
CN201610134216.6A
Other languages
English (en)
Chinese (zh)
Other versions
CN105704492A (zh
Inventor
拉胡尔·P·潘查尔
马尔塔·卡切维奇
陈培松
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN105704492A publication Critical patent/CN105704492A/zh
Application granted granted Critical
Publication of CN105704492B publication Critical patent/CN105704492B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/197Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
CN201610134216.6A 2010-12-10 2011-12-07 用于内插视频译码的子像素的值的自适应支持 Active CN105704492B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US42205110P 2010-12-10 2010-12-10
US61/422,051 2010-12-10
US13/311,755 US10045046B2 (en) 2010-12-10 2011-12-06 Adaptive support for interpolating values of sub-pixels for video coding
US13/311,755 2011-12-06
CN201180058813.0A CN103250414B (zh) 2010-12-10 2011-12-07 用于内插视频译码的子像素的值的自适应支持

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201180058813.0A Division CN103250414B (zh) 2010-12-10 2011-12-07 用于内插视频译码的子像素的值的自适应支持

Publications (2)

Publication Number Publication Date
CN105704492A CN105704492A (zh) 2016-06-22
CN105704492B true CN105704492B (zh) 2019-09-27

Family

ID=46199372

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201610134216.6A Active CN105704492B (zh) 2010-12-10 2011-12-07 用于内插视频译码的子像素的值的自适应支持
CN201180058813.0A Active CN103250414B (zh) 2010-12-10 2011-12-07 用于内插视频译码的子像素的值的自适应支持

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201180058813.0A Active CN103250414B (zh) 2010-12-10 2011-12-07 用于内插视频译码的子像素的值的自适应支持

Country Status (15)

Country Link
US (1) US10045046B2 (enExample)
EP (2) EP2649800A1 (enExample)
JP (3) JP2014502800A (enExample)
KR (2) KR101784668B1 (enExample)
CN (2) CN105704492B (enExample)
AU (1) AU2011338449B2 (enExample)
BR (1) BR112013014415B1 (enExample)
CA (1) CA2820061C (enExample)
IL (1) IL226438B (enExample)
MY (1) MY180273A (enExample)
PH (1) PH12013501062A1 (enExample)
RU (1) RU2564245C2 (enExample)
SG (1) SG190847A1 (enExample)
UA (1) UA109923C2 (enExample)
WO (1) WO2012078748A1 (enExample)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10045046B2 (en) 2010-12-10 2018-08-07 Qualcomm Incorporated Adaptive support for interpolating values of sub-pixels for video coding
US20120163460A1 (en) * 2010-12-23 2012-06-28 Qualcomm Incorporated Sub-pixel interpolation for video coding
CN104380730B (zh) * 2012-01-19 2017-12-22 华为技术有限公司 模式依赖帧内平滑的简化
GB2501535A (en) * 2012-04-26 2013-10-30 Sony Corp Chrominance Processing in High Efficiency Video Codecs
CN102665080B (zh) * 2012-05-08 2015-05-13 开曼群岛威睿电通股份有限公司 用于移动补偿的电子装置及移动补偿方法
US10136144B2 (en) * 2012-05-21 2018-11-20 Mediatek Singapore Pte. Ltd. Method and apparatus of inter-layer filtering for scalable video coding
EP3085086B1 (en) * 2013-12-20 2021-04-14 LG Electronics Inc. Method and apparatus for encoding and decoding video signal using adaptive sampling
US9774881B2 (en) * 2014-01-08 2017-09-26 Microsoft Technology Licensing, Llc Representing motion vectors in an encoded bitstream
US9942560B2 (en) 2014-01-08 2018-04-10 Microsoft Technology Licensing, Llc Encoding screen capture data
US9749642B2 (en) 2014-01-08 2017-08-29 Microsoft Technology Licensing, Llc Selection of motion vector precision
US10659806B2 (en) * 2014-11-04 2020-05-19 Samsung Electronics Co., Ltd. Video encoding method and apparatus, and video decoding method and apparatus using interpolation filter on which image characteristic is reflected
CN104683819A (zh) * 2015-01-31 2015-06-03 北京大学 一种自适应环路滤波方法及装置
US10291932B2 (en) 2015-03-06 2019-05-14 Qualcomm Incorporated Method and apparatus for low complexity quarter pel generation in motion search
JP6101722B2 (ja) 2015-03-10 2017-03-22 富士重工業株式会社 車室前部用支持体
US20160345018A1 (en) * 2015-05-19 2016-11-24 Microsoft Technology Licensing, Llc Video encoding and decoding
WO2017002283A1 (ja) * 2015-07-01 2017-01-05 パナソニックIpマネジメント株式会社 符号化方法、復号方法、符号化装置、復号装置および符号化復号装置
US10341659B2 (en) * 2016-10-05 2019-07-02 Qualcomm Incorporated Systems and methods of switching interpolation filters
CN107959855B (zh) * 2016-10-16 2020-02-14 华为技术有限公司 运动补偿预测方法和设备
KR102357142B1 (ko) * 2017-11-07 2022-02-08 후아웨이 테크놀러지 컴퍼니 리미티드 비디오 코딩을 위한 인터 예측 장치 및 방법을 위한 보간 필터
CN109961199A (zh) * 2017-12-25 2019-07-02 北京京东尚科信息技术有限公司 一种分析数据波动的方法和装置
BR112020016432A2 (pt) * 2018-02-14 2020-12-15 Huawei Technologies Co., Ltd. Método implementado em codificador e decodificador, dispositivo de codificação e de decodificação de vídeo, e meio legível por computador não transitório
US10638137B2 (en) * 2018-03-07 2020-04-28 Tencent America LLC Method and apparatus for video coding
BR112020019740A2 (pt) * 2018-03-29 2021-02-17 Huawei Technologies Co., Ltd. aparelho e método de processamento de imagem
IL313310B2 (en) 2018-06-11 2025-07-01 Samsung Electronics Co Ltd An encoding method and a standard for it, and an decoding method and a standard for it
CN108833916B (zh) * 2018-06-20 2021-09-24 腾讯科技(深圳)有限公司 视频编码、解码方法、装置、存储介质和计算机设备
BR112021000657A2 (pt) * 2018-12-21 2021-04-13 Huawei Technologies Co., Ltd. Método e aparelho de filtragem de interpolação para codificação preditiva, codificador, decodificador e produto de programa de computador
EP3942823A4 (en) * 2019-03-18 2023-04-05 Tencent America LLC METHOD AND DEVICE FOR VIDEO CODING

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1889691A (zh) * 2006-07-19 2007-01-03 四川长虹电器股份有限公司 一种像素插值方法
CN101242506A (zh) * 2007-02-07 2008-08-13 扬智科技股份有限公司 滤波动态补偿的非反馈插值器

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020172288A1 (en) 2001-03-08 2002-11-21 Nyeongku Kwon Device and method for performing half-pixel accuracy fast search in video coding
GB2379820A (en) 2001-09-17 2003-03-19 Nokia Corp Interpolating values for sub-pixels
US6950469B2 (en) 2001-09-17 2005-09-27 Nokia Corporation Method for sub-pixel value interpolation
HU228615B1 (en) * 2002-01-14 2013-04-29 Nokia Corp Method of coding of digital video pictures
CN100452668C (zh) * 2002-07-09 2009-01-14 诺基亚有限公司 用于在视频编码中选择插值滤波器类型的方法和系统
KR100472476B1 (ko) 2002-08-31 2005-03-10 삼성전자주식회사 움직임 보상을 위한 보간 방법 및 그 장치
EP1578137A2 (en) 2004-03-17 2005-09-21 Matsushita Electric Industrial Co., Ltd. Moving picture coding apparatus with multistep interpolation process
JP2008503960A (ja) 2004-06-23 2008-02-07 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ピクセル補間
US7653132B2 (en) * 2004-12-21 2010-01-26 Stmicroelectronics, Inc. Method and system for fast implementation of subpixel interpolation
US7623575B2 (en) 2005-01-05 2009-11-24 Lsi Corporation Method and apparatus for sub-pixel motion compensation
US20090022220A1 (en) * 2005-04-13 2009-01-22 Universitaet Hannover Method and apparatus for enhanced video coding
US8208564B2 (en) * 2005-06-24 2012-06-26 Ntt Docomo, Inc. Method and apparatus for video encoding and decoding using adaptive interpolation
AU2006320064B2 (en) 2005-11-30 2010-09-09 Kabushiki Kaisha Toshiba Image encoding/image decoding method and image encoding/image decoding apparatus
KR100772390B1 (ko) 2006-01-23 2007-11-01 삼성전자주식회사 방향 보간 방법 및 그 장치와, 그 보간 방법이 적용된부호화 및 복호화 방법과 그 장치 및 복호화 장치
JP2007201880A (ja) 2006-01-27 2007-08-09 Victor Co Of Japan Ltd 画像符号化装置および画像復号装置
WO2008084378A2 (en) 2007-01-09 2008-07-17 Nokia Corporation Adaptive interpolation filters for video coding
EP1983759A1 (en) 2007-04-19 2008-10-22 Matsushita Electric Industrial Co., Ltd. Estimation of separable adaptive interpolation filters for hybrid video coding
WO2009044356A2 (en) 2007-10-05 2009-04-09 Nokia Corporation Video coding with pixel-aligned directional adaptive interpolation filters
CN101453646B (zh) 2007-12-04 2012-02-22 华为技术有限公司 图像插值方法、装置及插值系数的获取方法
KR20090094595A (ko) 2008-03-03 2009-09-08 삼성전자주식회사 복수 참조에 의한 움직임 예측을 이용한 부호화 방법 및장치, 그리고 복수 참조에 의한 움직임 예측을 이용한복호화 방법 및 장치
US20090257499A1 (en) 2008-04-10 2009-10-15 Qualcomm Incorporated Advanced interpolation techniques for motion compensation in video coding
US8804831B2 (en) 2008-04-10 2014-08-12 Qualcomm Incorporated Offsets at sub-pixel resolution
US9077971B2 (en) 2008-04-10 2015-07-07 Qualcomm Incorporated Interpolation-like filtering of integer-pixel positions in video coding
US8831086B2 (en) 2008-04-10 2014-09-09 Qualcomm Incorporated Prediction techniques for interpolation in video coding
US9967590B2 (en) 2008-04-10 2018-05-08 Qualcomm Incorporated Rate-distortion defined interpolation for video coding based on fixed filter or adaptive filter
US8462842B2 (en) 2008-04-10 2013-06-11 Qualcomm, Incorporated Symmetry for interpolation filtering of sub-pixel positions in video coding
US8705622B2 (en) * 2008-04-10 2014-04-22 Qualcomm Incorporated Interpolation filter support for sub-pixel resolution in video coding
US8811484B2 (en) 2008-07-07 2014-08-19 Qualcomm Incorporated Video encoding by filter selection
EP2157799A1 (en) * 2008-08-18 2010-02-24 Panasonic Corporation Interpolation filter with local adaptation based on block edges in the reference frame
US8750378B2 (en) 2008-09-23 2014-06-10 Qualcomm Incorporated Offset calculation in switched interpolation filters
US8634456B2 (en) 2008-10-03 2014-01-21 Qualcomm Incorporated Video coding with large macroblocks
US9078007B2 (en) 2008-10-03 2015-07-07 Qualcomm Incorporated Digital video coding with interpolation filters and offsets
US8831087B2 (en) 2008-10-06 2014-09-09 Qualcomm Incorporated Efficient prediction mode selection
WO2010063881A1 (en) 2008-12-03 2010-06-10 Nokia Corporation Flexible interpolation filter structures for video coding
US10045046B2 (en) 2010-12-10 2018-08-07 Qualcomm Incorporated Adaptive support for interpolating values of sub-pixels for video coding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1889691A (zh) * 2006-07-19 2007-01-03 四川长虹电器股份有限公司 一种像素插值方法
CN101242506A (zh) * 2007-02-07 2008-08-13 扬智科技股份有限公司 滤波动态补偿的非反馈插值器

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Adaptive Interpolation with Directional Filters;Dmytro Rusanovskyy et al;《33.VCEG MEETING;82.MPEG MEETING》;20071020;第1-3页 *
Video coding technology proposal by Qualcomm Inc;Marta Karczewicz et al;《JCT-VC MEETING》;20100423;第6页 *

Also Published As

Publication number Publication date
US20120147967A1 (en) 2012-06-14
JP2016201814A (ja) 2016-12-01
JP6301401B2 (ja) 2018-03-28
SG190847A1 (en) 2013-07-31
AU2011338449A1 (en) 2013-06-20
HK1221101A1 (zh) 2017-05-19
JP2014502800A (ja) 2014-02-03
CA2820061C (en) 2019-12-03
CA2820061A1 (en) 2012-06-14
IL226438A0 (en) 2013-07-31
EP3203740A1 (en) 2017-08-09
KR101784668B1 (ko) 2017-10-12
JP2015046907A (ja) 2015-03-12
IL226438B (en) 2019-05-30
WO2012078748A1 (en) 2012-06-14
BR112013014415A2 (pt) 2016-09-27
RU2013131778A (ru) 2015-01-20
CN105704492A (zh) 2016-06-22
PH12013501062A1 (en) 2016-05-11
JP6254063B2 (ja) 2017-12-27
BR112013014415B1 (pt) 2022-02-15
KR101528989B1 (ko) 2015-06-15
UA109923C2 (uk) 2015-10-26
RU2564245C2 (ru) 2015-09-27
MY180273A (en) 2020-11-26
EP2649800A1 (en) 2013-10-16
CN103250414A (zh) 2013-08-14
KR20130086390A (ko) 2013-08-01
US10045046B2 (en) 2018-08-07
KR20140140120A (ko) 2014-12-08
AU2011338449B2 (en) 2015-03-12
CN103250414B (zh) 2017-03-08

Similar Documents

Publication Publication Date Title
CN105704492B (zh) 用于内插视频译码的子像素的值的自适应支持
CN106878743B (zh) 解码视频信号的方法
KR101202633B1 (ko) 고정된 필터 또는 적응형 필터에 기초한 비디오 코딩을 위한 레이트 왜곡 정의된 보간
KR101242958B1 (ko) 비디오 코딩에서의 서브-픽셀 해상도를 위한 보간 필터 서포트
CN109792531A (zh) 用于视频译码的运动向量译码
KR101214021B1 (ko) 비디오 코딩에서의 정수-픽셀 포지션들의 보간형 필터링
CN109792532A (zh) 用于视频译码的适应性运动向量精准度
KR101646856B1 (ko) 감소된 해상도 화소 보간
JPWO2012096150A1 (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
KR20110005845A (ko) 비디오 코딩에서의 서브-픽셀 포지션들의 보간 필터링을 위한 대칭
CN109644277A (zh) 用于回路内样本处理的视频译码工具
HK1184616A (en) Adaptive support for interpolating values of sub-pixels for video coding
HK1184616B (en) Adaptive support for interpolating values of sub-pixels for video coding

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1221101

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant