US 11,870,977 B2
Method and apparatus for division-free intra-prediction
Alexey Konstantinovich Filippov, Moscow (RU); Vasily Alexeevich Rufitskiy, Moscow (RU); and Jianle Chen, San Diego, CA (US)
Assigned to HUAWEI TECHNOLOGIES CO., LTD., Guangdong (CN)
Filed by HUAWEI TECHNOLOGIES CO., LTD., Guangdong (CN)
Filed on Oct. 18, 2021, as Appl. No. 17/503,650.
Application 17/503,650 is a continuation of application No. PCT/CN2020/085392, filed on Apr. 17, 2020.
Claims priority of provisional application 62/836,609, filed on Apr. 19, 2019.
Prior Publication US 2022/0038689 A1, Feb. 3, 2022
Int. Cl. H04N 19/105 (2014.01); H04N 19/132 (2014.01); H04N 19/159 (2014.01); H04N 19/176 (2014.01)
CPC H04N 19/105 (2014.11) [H04N 19/132 (2014.11); H04N 19/159 (2014.11); H04N 19/176 (2014.11)] 19 Claims
OG exemplary drawing
 
1. A method of intra prediction of a block using an intra prediction mode, the method comprising:
obtaining reference samples of a block;
determining a value of a predicted sample based on the reference samples using an intra prediction mode, wherein the intra prediction mode is an INTRA_DC, an INTRA_BI, or a horizontal intra (INTRA_HOR) prediction mode;
obtaining a value of a multiplier based on at least one dimension of the block; and
normalizing the value of the predicted sample based on the value of the multiplier and a value of a shift, and
wherein when the intra prediction mode is an INTRA_DC prediction mode, and samples p[x][−1], with x=0 . . . nCbW−1, p[−1][y], with y=0 . . . nCbH−1 and p[nCbW][y], with y=0 . . . nCbH−1 are marked as “available for Intra prediction”,
values of the predSamples[x][y], with x=0 . . . nCbW−1, y=0 . . . nCbH−1, aspRatioShift=(nCbW>2×nCbH)?Log 2(nCbH)+1: Log 2(nCbW)), log 2AspRatio=(nCbW>2×nCbH)?(Log 2(nCbW)−Log 2(nCbH)−1): (Log 2(nCbH)− Log 2(nCbW)+1) are derived as follows:
predSamples[x][y]=((Σx′=0nCbW-1p[x′][−1]+Σy′=0nCbH-1p[−1][y′]+Σy′=0nCbH-1p[nCbW][y′]+((nCbW+nCbH+nCbH)>>1))×divScaleMult[log 2AspRatio])>>(divScaleShift+Shift);
wherein divScaleMult represents the value of the multiplier, divScaleShift represents the value of the shift, p[x][y] represents one of the reference samples, variables nCbW and nCbH represent a width and height of the block respectively, and log 2AspRatio represents at least one dimension of the block.