US 11,956,460 B2
Selective template matching in video coding
Wenhao Zhang, Beijing (CN); Deliang Fu, Beijing (CN); Chen Liu, Beijing (CN); and Xiaobo Liu, Beijing (CN)
Assigned to HULU, LLC, Santa Monica, CA (US)
Filed by HULU, LLC, Santa Monica, CA (US)
Filed on Aug. 29, 2019, as Appl. No. 16/556,015.
Claims priority of provisional application 62/726,125, filed on Aug. 31, 2018.
Prior Publication US 2020/0077110 A1, Mar. 5, 2020
Int. Cl. H04N 19/513 (2014.01); H04N 19/105 (2014.01); H04N 19/176 (2014.01); H04N 19/182 (2014.01)
CPC H04N 19/513 (2014.11) [H04N 19/105 (2014.11); H04N 19/176 (2014.11); H04N 19/182 (2014.11)] 21 Claims
OG exemplary drawing
 
1. A method comprising:
selecting, by a computing device, a first template of pixels that is outside of a first block and a second template of pixels that is outside of the first block, wherein the first template and the first block are in a same frame and the second template and the first block are in the same frame;
selecting, by the computing device, a first region of pixels that are inside the first block and a second region of pixels that are inside the first block, wherein the first template and first region are similar sizes of a height and a width in the same frame and the second template and the second region are similar sizes of a height and a width in the same frame;
calculating, by the computing device, a first weight based on the first template of pixels and the first region of pixels;
calculating, by the computing device, a second weight based on the second template of pixels and the second region of pixels;
applying, by the computing device, the first weight to a third template of pixels that is outside of a second block to generate a weighted third template of pixels and the second weight to a fourth template of pixels that is outside of the second block to generate a weighted fourth template of pixels; and
using, by the computing device, the weighted third template of pixels and the weighted fourth template of pixels in a motion prediction search to determine a reference block for a block being coded in a different frame than the reference block.