CPC H04N 19/50 (2014.11) [H04N 19/176 (2014.11)] | 17 Claims |
1. A computer-implemented method for decoding a bitstream associated with one or more pictures, the method comprising:
decoding a flag associated with a target block; and
performing an intra predicting process to reconstruct the target block, wherein performing the intra predicting process comprises:
determining an intra prediction mode for the target block;
in response to the intra prediction mode is an angular mode, determining a filtered value by applying an 8-tap interpolation filter to a plurality of reference samples around the target block when the flag has a first value, and determining the filtered value by applying an M-tap interpolation filter to the plurality of reference samples when the flag has a second value, M being an integer less than 8; and
determining a predicted value of a sample of the target block based on the filtered value,
wherein the 8-tap interpolation filter is selected from a plurality of sets of interpolation filters based on the intra prediction mode, wherein each set of the plurality of sets of interpolation filters comprises 32 8-tap interpolation filters, and the plurality of sets of interpolation filters comprises at least one of:
a first set of 32 8-tap interpolation filters:
{33, 156, 209, 223, 211, 156, 33, 3},
{30, 153, 208, 223, 212, 159, 36, 3},
{27, 149, 208, 223, 213, 162, 39, 3},
{26, 146, 207, 223, 213, 164, 42, 3},
{23, 141, 206, 223, 214, 168, 46, 3},
{21, 138, 205, 223, 215, 170, 49, 3},
{18, 133, 204, 223, 216, 174, 53, 3},
{17, 130, 204, 222, 216, 176, 56, 3},
{16, 125, 203, 222, 217, 178, 60, 3},
{14, 123, 202, 222, 217, 180, 63, 3},
{13, 118, 201, 222, 218, 182, 67, 3},
{12, 113, 199, 222, 218, 184, 72, 4},
{10, 109, 198, 221, 219, 187, 76, 4},
{9, 106, 198, 221, 219, 188, 79, 4},
{9, 101, 195, 221, 219, 189, 84, 6},
{7, 97, 195, 220, 220, 191, 88, 6},
{6, 92, 194, 220, 220, 194, 92, 6},
{6, 88, 191, 220, 220, 195, 97, 7},
{6, 84, 189, 219, 221, 195, 101, 9},
{4, 79, 188, 219, 221, 198, 106, 9},
{4, 76, 187, 219, 221, 198, 109, 10},
{4, 72, 184, 218, 222, 199, 113, 12},
{3, 67, 182, 218, 222, 201, 118, 13},
{3, 63, 180, 217, 222, 202, 123, 14},
{3, 60, 178, 217, 222, 203, 125, 16},
{3, 56, 176, 216, 222, 204, 130, 17},
{3, 53, 174, 216, 223, 204, 133, 18},
{3, 49, 170, 215, 223, 205, 138, 21},
{3, 46, 168, 214, 223, 206, 141, 23},
{3, 42, 164, 213, 223, 207, 146, 26},
{3, 39, 162, 213, 223, 208, 149, 27},
{3, 36, 159, 212, 223, 208, 153, 30}; or
a second set of 32 8-tap interpolation filters:
{16, 170, 215, 226, 214, 169, 15, −1},
{13, 165, 214, 226, 215, 173, 20, −2},
{10, 162, 215, 226, 216, 176, 22, −3},
{8, 157, 214, 226, 216, 179, 27, −3},
{6, 152, 214, 226, 217, 182, 31, −4},
{3, 146, 213, 226, 218, 186, 36, −4},
{2, 143, 214, 226, 218, 188, 39, −6},
{0, 137, 213, 226, 219, 190, 45, −6},
{−1, 132, 212, 226, 220, 192, 49, −6},
{−3, 128, 213, 226, 220, 194, 53, −7},
{−4, 122, 211, 225, 221, 197, 59, −7},
{−6, 116, 210, 225, 222, 200, 64, −7},
{−6, 112, 211, 225, 222, 200, 68, −8},
{−7, 106, 210, 225, 222, 203, 74, −9},
{−7, 101, 209, 225, 223, 204, 78, −9},
{−9, 96, 208, 224, 224, 206, 84, −9},
{−9, 90, 207, 224, 224, 207, 90, −9},
{−9, 84, 206, 224, 224, 208, 96, −9},
{−9, 78, 204, 223, 225, 209, 101, −7},
{−9, 74, 203, 222, 225, 210, 106, −7},
{−8, 68, 200, 222, 225, 211, 112, −6},
{−7, 64, 200, 222, 225, 210, 116, −6},
{−7, 59, 197, 221, 225, 211, 122, −4},
{−7, 53, 194, 220, 226, 213, 128, −3},
{−6, 49, 192, 220, 226, 212, 132, −1},
{−6, 45, 190, 219, 226, 213, 137, 0},
{−6, 39, 188, 218, 226, 214, 143, 2},
{−4, 36, 186, 218, 226, 213, 146, 3},
{−4, 31, 182, 217, 226, 214, 152, 6},
{−3, 27, 179, 216, 226, 214, 157, 8},
{−3, 22, 176, 216, 226, 215, 162, 10},
{−2, 20, 173, 215, 226, 214, 165, 13}; or
a third set of 32 8-tap interpolation filters:
{0, 91, 108, 114, 108, 91, 0, 0},
{−1, 88, 107, 114, 108, 93, 3, 0},
{−3, 85, 106, 114, 109, 95, 6, 0},
{−3, 82, 107, 114, 109, 96, 8, −1},
{−3, 79, 109, 114, 109, 96, 11, −3},
{−4, 76, 108, 114, 109, 98, 14, −3},
{−6, 73, 107, 114, 110, 100, 17, −3},
{−6, 72, 107, 114, 110, 100, 18, −3},
{−6, 70, 107, 114, 110, 100, 20, −3},
{−7, 67, 106, 114, 111, 102, 22, −3},
{−8, 64, 106, 113, 111, 104, 25, −3},
{−9, 60, 106, 113, 112, 105, 29, −4},
{−9, 56, 107, 113, 112, 106, 33, −6},
{−7, 54, 107, 113, 112, 104, 35, −6},
{−6, 53, 107, 113, 112, 103, 36, −6},
{−6, 49, 106, 113, 112, 104, 40, −6},
{−6, 45, 105, 112, 112, 105, 45, −6},
{−6, 40, 104, 112, 113, 106, 49, −6},
{−6, 36, 103, 112, 113, 107, 53, −6},
{−6, 35, 104, 112, 113, 107, 54, −7},
{−6, 33, 106, 112, 113, 107, 56, −9},
{−4, 29, 105, 112, 113, 106, 60, −9},
{−3, 25, 104, 111, 113, 106, 64, −8},
{−3, 22, 102, 111, 114, 106, 67, −7},
{−3, 20, 100, 110, 114, 107, 70, −6},
{−3, 18, 100, 110, 114, 107, 72, −6},
{−3, 17, 100, 110, 114, 107, 73, −6},
{−3, 14, 98, 109, 114, 108, 76, −4},
{−3, 11, 96, 109, 114, 109, 79, −3},
{−1, 8, 96, 109, 114, 107, 82, −3},
{0, 6, 95, 109, 114, 106, 85, −3},
{0, 3, 93, 108, 114, 107, 88, −1}; or
a fourth set of 32 8-tap interpolation filters:
{46, 145, 210, 222, 210, 145, 46, 0},
{44, 142, 208, 221, 211, 147, 49, 2},
{43, 139, 206, 221, 211, 149, 52, 3},
{41, 136, 204, 221, 212, 151, 55, 4},
{40, 133, 202, 220, 212, 153, 58, 6},
{39, 130, 200, 220, 212, 155, 61, 7},
{37, 126, 198, 220, 213, 157, 64, 9},
{36, 123, 196, 219, 213, 160, 67, 10},
{34, 120, 194, 219, 213, 162, 71, 11},
{33, 117, 192, 218, 214, 163, 74, 13},
{31, 114, 190, 218, 214, 166, 77, 14},
{30, 111, 188, 218, 214, 167, 80, 16},
{28, 108, 186, 217, 215, 170, 83, 17},
{27, 105, 184, 217, 215, 172, 86, 18},
{26, 101, 182, 217, 215, 174, 89, 20},
{24, 99, 180, 216, 216, 176, 92, 21},
{23, 95, 178, 216, 216, 178, 95, 23},
{21, 92, 176, 216, 216, 180, 99, 24},
{20, 89, 174, 215, 217, 182, 101, 26},
{18, 86, 172, 215, 217, 184, 105, 27},
{17, 83, 170, 215, 217, 186, 108, 28},
{16, 80, 167, 214, 218, 188, 111, 30},
{14, 77, 166, 214, 218, 190, 114, 31},
{13, 74, 163, 214, 218, 192, 117, 33},
{11, 71, 162, 213, 219, 194, 120, 34},
{10, 67, 160, 213, 219, 196, 123, 36},
{9, 64, 157, 213, 220, 198, 126, 37},
{7, 61, 155, 212, 220, 200, 130, 39},
{6, 58, 153, 212, 220, 202, 133, 40},
{4, 55, 151, 212, 221, 204, 136, 41},
{3, 52, 149, 211, 221, 206, 139, 43},
{2, 49, 147, 211, 221, 208, 142, 44}.
|