US2020162737A1PendingUtilityA1

Position-dependent intra-inter prediction combination in video coding

Assignee: QUALCOMM INCPriority: Nov 16, 2018Filed: Nov 14, 2019Published: May 21, 2020
Est. expiryNov 16, 2038(~12.3 yrs left)· nominal 20-yr term from priority
H04N 19/503H04N 19/182H04N 19/119H04N 19/593H04N 19/109H04N 19/126H04N 19/176H04N 19/136H04N 19/82H04N 19/11H04N 19/117
59
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A device for coding video data includes a processor configured to generate an inter-prediction block and an intra-prediction block for a current block of video data; for each sample of a prediction block to be generated: determine a first weight for the sample according to a position of the sample in the prediction block; determine a second weight for the sample according to the position of the sample in the prediction block; apply the first weight to a sample at the position in the inter-prediction block to generate a weighted inter-prediction sample; apply the second weight to a sample at the position in the intra-prediction block to generate a weighted intra-prediction sample; and calculate a value for the sample at the position in the prediction block using the weighted inter-prediction sample and the weighted intra-prediction sample; and code the current block using the prediction block.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method of coding video data, the method comprising:
 generating an inter-prediction block for a current block of video data;   generating an intra-prediction block for the current block;   generating a prediction block for the current block, comprising, for each sample of the prediction block:
 determining a first weight for the sample according to a position of the sample in the prediction block; 
 determining a second weight for the sample according to the position of the sample in the prediction block; 
 applying the first weight to a sample at the position in the inter-prediction block to generate a weighted inter-prediction sample; 
 applying the second weight to a sample at the position in the intra-prediction block to generate a weighted intra-prediction sample; and 
 calculating a value for the sample at the position in the prediction block using the weighted inter-prediction sample and the weighted intra-prediction sample; and 
   coding the current block using the prediction block.   
     
     
         2 . The method of  claim 1 , wherein for each position, the sum of the first weight and the second weight is equal to an upper bound range value. 
     
     
         3 . The method of  claim 2 , wherein the upper bound range value is 32. 
     
     
         4 . The method of  claim 1 , wherein generating the intra-prediction block comprises performing position dependent intra prediction combination (PDPC) following intra-prediction to generate the intra-prediction block. 
     
     
         5 . The method of  claim 1 , wherein at least two positions correspond to different respective first weights and different respective second weights. 
     
     
         6 . The method of  claim 1 , wherein generating the intra-prediction block comprises generating the intra-prediction block to have all zero-valued samples. 
     
     
         7 . The method of  claim 1 , wherein calculating the value for the sample comprises executing the function (wB(x,y)×intraPredPDPC(x,y)+(32−wB(x,y)×interPred(x,y)+16)>>5, wherein (x,y) comprises the position of the sample in the prediction block, intraPredPDPC(x,y) comprises the sample at the position in the intra-prediction block, interPred(x,y) comprises the sample at the position in the inter-prediction block, wB(x,y) comprises the first weight, (32−wB(x,y)) comprises the second weight, and ‘>>’ comprises a bitwise right shift operator. 
     
     
         8 . The method of  claim 1 , wherein calculating the value for the sample at the position comprises averaging the weighted intra-prediction sample and the weighted inter-prediction sample and blending the average with weighted neighboring reconstructed reference samples of the current block. 
     
     
         9 . The method of  claim 8 , wherein calculating the value for the sample at the position comprises executing the function (wL×R x−1,y +wT×R x,y−1 −wTL×R −1,−1 +(64−wL−wT+wTL)×((intrapred(x,y)+interpred(x,y)+1)>>1)+32)>>6, wherein R x−1,y  comprises a left-neighboring reconstructed reference sample to the sample at the position in the current block, R x,y−1  comprises an above-neighboring reconstructed reference sample to the sample at the position in the current block, wL comprises a left-neighboring weight, wT comprises an above-neighboring weight, wTL comprises a top-left weight, R −1,−1  comprises a reference sample at a top-left corner of the current block, and ‘>>’ comprises a bitwise right shift operator. 
     
     
         10 . The method of  claim 9 , wherein each of wL, wT, and wTL is independent of the position of the sample in the prediction block. 
     
     
         11 . The method of  claim 9 , further comprising determining each of wL, wT, and wTL according to the position of the sample in the prediction block. 
     
     
         12 . The method of  claim 9 , further comprising determining each of wL, wT, and wTL according to at least one of an intra-prediction mode used to generate the intra-prediction block, an inter-prediction mode used to generate the inter-prediction block, or motion information used to generate the inter-prediction block. 
     
     
         13 . The method of  claim 12 , further comprising determining each of wL, wT, and wTL according to the position of the sample in the prediction block. 
     
     
         14 . The method of  claim 8 , wherein for each position, the first weight comprises 1 and the second weight comprises 1. 
     
     
         15 . The method of  claim 1 , wherein coding the current block comprises encoding the current block, comprising:
 generating a residual block representing differences between the current block and the prediction block; and   encoding the residual block.   
     
     
         16 . The method of  claim 1 , wherein coding the current block comprises decoding the current block, comprising:
 decoding a residual block representing differences between the current block and the prediction block; and   combining samples of the residual block with samples of the prediction block to produce a decoded current block.   
     
     
         17 . A device for coding video data, the device comprising:
 a memory configured to store video data; and   one or more processors implemented in circuitry and configured to:
 generate an inter-prediction block for a current block of the video data; 
 generate an intra-prediction block for the current block; 
 generate a prediction block for the current block, wherein to generate the prediction block, the one or more processors are configured to, for each sample of the prediction block: 
 determine a first weight for the sample according to a position of the sample in the prediction block; 
 determine a second weight for the sample according to the position of the sample in the prediction block; 
 apply the first weight to a sample at the position in the inter-prediction block to generate a weighted inter-prediction sample; 
 apply the second weight to a sample at the position in the intra-prediction block to generate a weighted intra-prediction sample; and 
 calculate a value for the sample at the position in the prediction block using the weighted inter-prediction sample and the weighted intra-prediction sample; and 
 code the current block using the prediction block. 
   
     
     
         18 . The device of  claim 17 , wherein for each position, the sum of the first weight and the second weight is equal to an upper bound range value. 
     
     
         19 . The device of  claim 18 , wherein the upper bound range value is 32. 
     
     
         20 . The device of  claim 17 , wherein the one or more processors are configured to perform position dependent intra prediction combination (PDPC) following intra-prediction to generate the intra-prediction block. 
     
     
         21 . The device of  claim 17 , wherein at least two positions correspond to different respective first weights and different respective second weights. 
     
     
         22 . The device of  claim 17 , wherein to calculate the value for the sample, the one or more processors are configured to execute the function (wB(x,y)×intraPredPDPC(x,y)+(32−wB(x,y)×interPred(x,y)+16)>>5, wherein (x,y) comprises the position of the sample in the prediction block, intraPredPDPC(x,y) comprises the sample at the position in the intra-prediction block, interPred(x,y) comprises the sample at the position in the inter-prediction block, wB(x,y) comprises the first weight, (32−wB(x,y)) comprises the second weight, and ‘>>’ comprises a bitwise right shift operator. 
     
     
         23 . The device of  claim 17 , wherein to calculate the value for the sample, the one or more processors are configured to average the weighted intra-prediction sample and the weighted inter-prediction sample and blend the average with weighted neighboring reconstructed reference samples of the current block. 
     
     
         24 . The device of  claim 23 , wherein to calculate the value for the sample, the one or more processors are configured to execute the function (wL×R x−1,y +wT×R x,y−1 −wTL×R −i,−1 +(64−wL−wT+wTL)×((intrapred(x,y)+interpred(x,y)+1)>>1)+32)>>6, wherein R x−1,y  comprises a left-neighboring reconstructed reference sample to the sample at the position in the current block, R x,y−1  comprises an above-neighboring reconstructed reference sample to the sample at the position in the current block, wL comprises a left-neighboring weight, wT comprises an above-neighboring weight, wTL comprises a top-left weight, R −1,−1  comprises a reference sample at a top-left corner of the current block, and ‘>>’ comprises a bitwise right shift operator. 
     
     
         25 . The device of  claim 24 , wherein each of wL, wT, and wTL is independent of the position of the sample in the prediction block. 
     
     
         26 . The device of  claim 24 , wherein the one or more processors are configured to determine each of wL, wT, and wTL according to the position of the sample in the prediction block. 
     
     
         27 . The device of  claim 24 , wherein the one or more processors are configured to determine each of wL, wT, and wTL according to at least one of an intra-prediction mode used to generate the intra-prediction block, an inter-prediction mode used to generate the inter-prediction block, or motion information used to generate the inter-prediction block. 
     
     
         28 . The device of  claim 27 , wherein the one or more processors are configured to determine each of wL, wT, and wTL according to the position of the sample in the prediction block. 
     
     
         29 . The device of  claim 23 , wherein for each position, the first weight comprises 1 and the second weight comprises 1. 
     
     
         30 . The device of  claim 17 , wherein the one or more processors are configured to encode the current block, and wherein to encode the current block, the one or more processors are configured to:
 generate a residual block representing differences between the current block and the prediction block; and   encode the residual block.   
     
     
         31 . The device of  claim 17 , wherein the one or more processors are configured to decode the current block, and wherein to decode the current block, the one or more processors are configured to:
 decode a residual block representing differences between the current block and the prediction block; and   combine samples of the residual block with samples of the prediction block to produce a decoded current block.   
     
     
         32 . The device of  claim 17 , further comprising a display configured to display the video data. 
     
     
         33 . The device of  claim 17 , wherein the device comprises one or more of a camera, a computer, a mobile device, a broadcast receiver device, or a set-top box. 
     
     
         34 . The device of  claim 17 , wherein the device comprises at least one of:
 an integrated circuit;   a microprocessor; or   a wireless communication device.   
     
     
         35 . A device for decoding video data, the device comprising:
 means for generating an inter-prediction block for a current block of video data;   means for generating an intra-prediction block for the current block;   means for generating each sample of the prediction block for the current block, comprising:
 means for determining a first weight for the sample according to a position of the sample in the prediction block; 
 means for determining a second weight for the sample according to the position of the sample in the prediction block; 
 means for applying the first weight to a sample at the position in the inter-prediction block to generate a weighted inter-prediction sample; 
 means for applying the second weight to a sample at the position in the intra-prediction block to generate a weighted intra-prediction sample; and 
 means for calculating a value for the sample at the position in the prediction block using the weighted inter-prediction sample and the weighted intra-prediction sample; and 
   means for coding the current block using the prediction block.   
     
     
         36 . The device of  claim 35 , wherein for each position, the sum of the first weight and the second weight is equal to an upper bound range value. 
     
     
         37 . The device of  claim 36 , wherein the upper bound range value is 32. 
     
     
         38 . The device of  claim 35 , wherein the means for generating the intra-prediction block comprises means for performing position dependent intra prediction combination (PDPC) following intra-prediction to generate the intra-prediction block. 
     
     
         39 . The device of  claim 35 , wherein at least two positions correspond to different respective first weights and different respective second weights. 
     
     
         40 . The device of  claim 35 , wherein the means for calculating the value for the sample comprises means for executing the function (wB(x,y)×intraPredPDPC(x,y)+(32−wB(x,y)×interPred(x,y)+16)>>5, wherein (x,y) comprises the position of the sample in the prediction block, intraPredPDPC(x,y) comprises the sample at the position in the intra-prediction block, interPred(x,y) comprises the sample at the position in the inter-prediction block, wB(x,y) comprises the first weight, (32−wB(x,y)) comprises the second weight, and ‘>>’ comprises a bitwise right shift operator. 
     
     
         41 . The device of  claim 35 , wherein the means for coding the current block comprises means for encoding the current block, comprising:
 means for generating a residual block representing differences between the current block and the prediction block; and   means for encoding the residual block.   
     
     
         42 . The device of  claim 35 , wherein the means for coding the current block comprises means for decoding the current block, comprising:
 means for decoding a residual block representing differences between the current block and the prediction block; and   means for combining samples of the residual block with samples of the prediction block to produce a decoded current block.   
     
     
         43 . A computer-readable storage medium having stored thereon instructions that, when executed, cause a processor of a device for encoding video data to:
 generate an inter-prediction block for a current block of video data;   generate an intra-prediction block for the current block;   generate a prediction block for the current block, comprising instructions that cause the processor to, for each sample of the prediction block:
 determine a first weight for the sample according to a position of the sample in the prediction block; 
 determine a second weight for the sample according to the position of the sample in the prediction block; 
 apply the first weight to a sample at the position in the inter-prediction block to generate a weighted inter-prediction sample; 
 apply the second weight to a sample at the position in the intra-prediction block to generate a weighted intra-prediction sample; and 
 calculate a value for the sample at the position in the prediction block using the weighted inter-prediction sample and the weighted intra-prediction sample; and 
   code the current block using the prediction block.   
     
     
         44 . The computer-readable storage medium of  claim 43 , wherein for each position, the sum of the first weight and the second weight is equal to an upper bound range value. 
     
     
         45 . The computer-readable storage medium of  claim 44 , wherein the upper bound range value is 32. 
     
     
         46 . The computer-readable storage medium of  claim 43 , wherein the instructions that cause the processor to generate the intra-prediction block comprise instructions that cause the processor to perform position dependent intra prediction combination (PDPC) following intra-prediction to generate the intra-prediction block. 
     
     
         47 . The computer-readable storage medium of  claim 43 , wherein at least two positions correspond to different respective first weights and different respective second weights. 
     
     
         48 . The computer-readable storage medium of  claim 43 , wherein the instructions that cause the processor to calculate the value for the sample comprise instructions that cause the processor to execute the function (wB(x,y)×intraPredPDPC(x,y)+(32−wB(x,y)×interPred(x,y)+16)>>5, wherein (x,y) comprises the position of the sample in the prediction block, intraPredPDPC(x,y) comprises the sample at the position in the intra-prediction block, interPred(x,y) comprises the sample at the position in the inter-prediction block, wB(x,y) comprises the first weight, (32−wB(x,y)) comprises the second weight, and ‘>>’ comprises a bitwise right shift operator.

Join the waitlist — get patent alerts

Track US2020162737A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.