Weighted angular prediction for intra coding
A method of decoding JVET video, comprising receiving a bitstream indicating how a coding tree unit was partitioned into coding units according to a partitioning structure that allows nodes to be split according to a partitioning technique. An intra direction mode for a coding unit may be selected, as well as one or more of the plurality of reference lines to generate at least one predictor for the intra direction mode. A predictor may be generated from reference samples within each selected reference line by combining predicted pixel values based on a projected position on a main reference line in combination with predicted pixel values based on a projected position on a side reference line. The predicted pixel values are weighted according to a weight parameter, wherein the weight parameter is determined based on a shift conversion factor.
1. A method for coding video data using one or more processors, the method comprising:
receiving a bitstream indicating how a coding tree unit was partitioned into coding units according to a partitioning structure that allows nodes to be split according to a partitioning technique;
selecting an intra direction mode for a coding unit;
selecting one or more of the plurality of reference lines to generate at least one predictor for the intra direction mode;
generating the at least one predictor from one or more plurality of reference samples within each selected reference line by combining predicted pixel values based on a projected position on a main reference line in combination with predicted pixel values based on a projected position on a side reference line,
wherein the predicted pixel values are weighted according to a weight parameter, wherein the weight parameter is determined based on a shift conversion factor, wherein the weight parameter is determined from a weighting table S[n], where
S
[
n
]
=
{
0
,
0
,
512
,
341
,
256
,
205
,
171
,
146
,
128
,
114
,
103
,
93
,
85
,
79
,
73
,
68
,
64
,
60
,
57
,
54
,
51
,
49
,
47
,
45
,
43
,
41
,
39
,
38
,
37
,
35
,
34
,
33
32
,
31
,
30
,
29
,
28
,
28
,
27
,
26
,
26
,
25
,
24
,
24
,
23
,
23
,
22
,
22
,
21
,
21
,
20
,
20
,
20
,
19
,
19
,
19
,
18
,
18
,
18
,
17
,
17
,
17
,
16
,
16
,
16
,
16
,
16
,
15
,
15
,
15
,
15
,
14
,
14
,
14
,
14
,
14
,
14
,
13
,
13
,
13
,
13
,
13
,
13
,
12
,
12
,
12
,
12
,
12
,
12
,
11
,
11
,
11
,
11
,
11
,
11
,
11
,
11
,
11
,
10
,
10
,
10
,
10
,
10
,
10
,
10
,
10
,
10
,
10
,
10
,
9
,
9
,
9
,
9
,
9
,
9
,
9
,
9
,
9
,
9
,
9
,
9
,
8
,
8
,
8
,
8
,
8
,
8
,
8
,
8
,
8
,
8
,
8
,
8
,
8
,
8
,
8
,
8
,
7
,
7
,
7
,
7
,
7
,
7
,
7
,
7
,
7
,
7
,
7
,
7
,
7
,
7
,
7
,
7
,
7
,
7
,
7
,
7
,
7
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
5
,
5
,
5
,
5
,
5
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
}
.
2. The method of claim 1 , wherein a flag signals which reference lines are selected for a respective intra directional mode.
3. The method of claim 1 , wherein a sum of width and height is 256 and the factor for shift conversion is 10.
4. A method for coding video data using one or more processors, the method comprising:
receiving a bitstream indicating how a coding tree unit was partitioned into coding units according to a partitioning structure that allows nodes to be split according to a partitioning technique;
selecting an intra direction mode for a coding unit selecting one or more of the plurality of reference lines to generate at least one predictor for the intra direction mode;
generating the at least one predictor from one or more plurality of reference samples within each selected reference line by combining predicted pixel values based on a projected position on a main reference line in combination with predicted pixel values based on a projected position on a side reference line,
wherein the predicted pixel values are weighted according to a weight parameter, wherein the weight parameter is determined based on a shift conversion factor,
wherein the weight parameter is determined from a weighting table S[n], where
S
[
n
]
=
{
0
,
0
,
512
,
341
,
256
,
205
,
171
,
146
,
128
,
114
,
103
,
93
,
85
,
79
,
73
,
68
,
64
,
60
,
57
,
54
,
51
,
49
,
47
,
45
,
43
,
41
,
39
,
38
,
37
,
35
,
34
,
33
,
32
,
31
,
30
,
29
,
28
,
28
,
27
,
26
,
26
,
25
,
24
,
24
,
23
,
23
,
22
,
22
,
21
,
21
,
20
,
20
,
20
,
19
,
19
,
19
,
18
,
18
,
18
,
17
,
17
,
17
,
16
,
16
,
16
,
16
,
16
,
15
,
15
,
15
,
15
,
14
,
14
,
14
,
14
,
14
,
14
,
13
,
13
,
13
,
13
,
13
,
13
,
12
,
12
,
12
,
12
,
12
,
12
,
11
,
11
,
11
,
11
,
11
,
11
,
11
,
11
,
11
,
10
,
10
,
10
,
10
,
10
,
10
,
10
,
10
,
10
,
10
,
10
,
9
,
9
,
9
,
9
,
9
,
9
,
9
,
9
,
9
,
9
,
9
,
9
,
8
,
8
,
8
,
8
,
8
,
8
,
8
,
8
,
8
,
8
,
8
,
8
,
8
,
8
,
8
,
8
,
7
,
7
,
7
,
7
,
7
,
7
,
7
,
7
,
7
,
7
,
7
,
7
,
7
,
7
,
7
,
7
,
7
,
7
,
7
,
7
,
7
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
5
,
5
,
5
,
5
,
5
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
}
.
5. The method of claim 4 , wherein a sum of width and height is 512 and the factor for shift conversion is 10.
6. A method for coding video data using one or more processors, the method comprising:
receiving a bitstream indicating how a coding tree unit was partitioned into coding units according to a partitioning structure that allows nodes to be split according to a partitioning technique;
selecting an intra direction mode for a coding unit;
selecting one or more of the plurality of reference lines to generate at least one predictor for the intra direction mode;
generating the at least one predictor from one or more plurality of reference samples within each selected reference line by combining predicted pixel values based on a projected position on a main reference line in combination with predicted pixel values based on a projected position on a side reference line,
wherein the predicted pixel values are weighted according to a weight parameter, wherein the weight parameter is determined based on a shift conversion factor, where predicted pixels at coordinate (x,y) are determined using weighted angular prediction by computing P[x,y]=((((x+1)*Recon[x+y+2,−1])+((y+1)*Recon[−1,x+y+2])*S[y+x+2]+(y+x+2)/2)>>ShiftDenom), where Recon[0,0] is a reconstructed pixel at top left coordinate (0,0) of the current coding node, and S[n] is calculated as
S
[
n
]
=
Round
(
(
1
⪡
ShiftDenom
)
n
)
.
7. The method of claim 6 , wherein P[x,y] weights parameters based on at least one of a horizontal or vertical predictor.
8. The method of claim 7 , wherein a selection of at least one of the horizontal or vertical predictor is based on which predictor is more accurate.
9. The method of claim 7 , wherein the calculation to determine P[x,y] is further weighted with at least one of horWeight or verWeight by computing: P[x,y]=(((horWeight*Recon[x+y+2,−1])+(verWeight*Recon[−1,x+y+2])+(y+x+2)/2)>>ShiftDenom)
wherein
horWeight
=
{
(
1
⪡
ShiftDenom
)
-
verWeight
when
x
<
y
(
y
+
1
)
*
S
[
x
+
y
+
2
]
otherwise
,
and
wherein
verWeight
=
{
(
x
+
1
)
*
S
[
x
+
y
+
2
]
when
x
<
y
(
1
⪡
ShiftDenom
)
-
horWeight
otherwise
,
where ShiftDenom is the factor for shift conversion.