Line graph transforms (LGTs) using 8-bit and 10-bit cores
AssigneeTencent America LLC
InventorsMadhu Peringassery Krishnan, Xin Zhao, Shan Liu
Life of this patent
Estimating the term…
Abstract
A method, computer program, and computer system is provided for coding video data. Video data is received. One or more transform cores corresponding to a transform associated with the video data are identified. The one or more transform cores include one or more of a line graph transform (LGT) and a discrete sine transform (DST) The video data is decoded based on the identified transform core. The transform cores correspond to one or more from among an 8-bit transform core and a 10-bit transform core. The transform corresponds to one or more from among a 2-point transform, a 4-point transform, an 8-point transform, and a 16-point transform.
Claims20
A method for coding video data, executable by a processor, comprising:
- receiving video data;
- identifying one or more transform cores associated with the video data, wherein the one or more transform cores comprise one or more of a line graph transform (LGT) and a discrete sine transform (DST);
- and
- decoding the video data based on the identified one or more transform cores,
- wherein the transform cores correspond to one or more from among an 8-bit transform core and a 10-bit transform core,
- wherein the one or more transform cores correspond to one or more from among a 2-point transform, a 4-point transform, an 8-point transform, a 16-point transform, a 32-point transform, and a 64-point transform,
- wherein the 16-point transform corresponding to the 8-bit transform core is a line graph transform comprising the matrix:
- {a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p,
- c, f, i, l, o, o, l, i, f, c, 0, −c, −f, −i, −l, −o,
- e, j, o, m, h, c, −b, −g, −l, −p, −k, −f, −a, d, i, n,
- g, n, l, e, −b, −i, −p, −j, −c, d, k, o, h, a, −f, −m,
- i, o, f, −c, −l, −l, −c, f, o, i, 0, −i, −o, −f, c, l,
- k, k, 0, −k, −k, 0, k, k, 0, −k, −k, 0, k, k, 0, −k,
- m, g, −f, −n, −a, l, h, −e, −o, −b, k, i, −d, −p, −c, j,
- o, c, −l, −f, i, i, −f, −l, c, o, 0, −o, −c, l, f, −i,
- p, −a, −o, b, n, −c, −m, d, l, −e, −k, f, j, −g, −i, h,
- n, −e, −i, j, d, −o, a, m, −f, −h, k, c, −p, b, l, −g,
- l, −i, −c, o, −f, −f, o, −c, −i, l, 0, −l, i, c, −o, f,
- j, −m, c, g, −p, f, d, −n, i, a, −k, l, −b, −h, o, −e,
- h, −p, i, −a, −g, o, −j, b, f, −n, k, −c, −e, m, −l, d,
- f, −l, o, −i, c, c, −i, o, −l, f, 0, −f, l, −o, i, −c,
- d, −h, l, −p, m, −i, e, −a, −c, g, −k, o, −n, j, −f, b,
- b, −d, f, −h, j, −l, n, −p, o, −m, k, −i, g, −e, c, −a,}
- wherein {a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p} includes one or more from among:
- {12, 24, 36, 47, 57, 69, 78, 87, 94, 103, 109, 115, 118, 123, 125, 126},
- {11, 22, 36, 47, 56, 69, 78, 89, 94, 104, 109, 115, 116, 125, 125, 125}, and
- {12, 22, 34, 47, 58, 68, 79, 89, 95, 102, 109, 114, 117, 123, 126, 126}.
A method of encoding using at least one processor, the method comprising:
- receiving video data;
- identifying one or more transform cores associated with the video data, wherein the one or more transform cores comprise one or more of a line graph transform (LGT) and a discrete sine transform (DST);
- and
- encoding the video data based on the identified one or more transform cores,
- wherein the transform cores correspond to one or more from among an 8-bit transform core and a 10-bit transform core,
- wherein the one or more transform cores correspond to one or more from among a 2-point transform, a 4-point transform, an 8-point transform, a 16-point transform, a 32-point transform, and a 64-point transform,
- wherein the 16-point transform corresponding to the 8-bit transform core is a line graph transform comprising the matrix:
- {a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p,
- c, f, i, l, o, o, l, i, f, c, 0, −c, −f, −i, −l, −o,
- e, j, o, m, h, c, −b, −g, −l, −p, −k, −f, −a, d, i, n,
- g, n, l, e, −b, −i, −p, −j, −c, d, k, o, h, a, −f, −m,
- i, o, f, −c, −l, −l, −c, f, o, i, 0, −i, −o, −f, c, l,
- k, k, 0, −k, −k, 0, k, k, 0, −k, −k, 0, k, k, 0, −k,
- m, g, −f, −n, −a, l, h, −e, −o, −b, k, i, −d, −p, −c, j,
- o, c, −l, −f, i, i, −f, −l, c, o, 0, −0, −c, l, f, −i,
- p, −a, −o, b, n, −c, −m, d, l, −e, −k, f, j, −g, −i, h,
- n, −e, −i, j, d, −o, a, m, −f, −h, k, c, −p, b, l, −g,
- l, −i, −c, o, −f, −f, o, −c, −i, l, 0, −l, i, c, −o, f,
- j, −m, c, g, −p, f, d, −n, i, a, −k, l, −b, −h, o, −e,
- h, −p, i, −a, −g, o, −j, b, f, −n, k, −c, −e, m, −l, d,
- wherein {a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p} includes one or more from among:
- {12, 24, 36, 47, 57, 69, 78, 87, 94, 103, 109, 115, 118, 123, 125, 126},
- {11, 22, 36, 47, 56, 69, 78, 89, 94, 104, 109, 115, 116, 125, 125, 125}, and
- {12, 22, 34, 47, 58, 68, 79, 89, 95, 102, 109, 114, 117, 123, 126, 126}.
A method of processing visual media data, the method comprising:
- performing a conversion between a visual media file and a bitstream of a visual media data according to a format rule,
- identifying one or more transform cores associated with the bitstream, wherein the one or more transform cores comprise one or more of a line graph transform (LGT) and a discrete sine transform (DST);
- and
- wherein the transform cores correspond to one or more from among an 8-bit transform core and a 10-bit transform core,
- wherein the one or more transform cores correspond to one or more from among a 2-point transform, a 4-point transform, an 8-point transform, a 16-point transform, a 32-point transform, and a 64-point transform,
- wherein the 16-point transform corresponding to the 8-bit transform core is a line graph transform comprising the matrix:
- {a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p,
- c, f, i, l, o, o, l, i, f, c, 0, −c, −f, −i, −l, −o,
- e, j, o, m, h, c, −b, −g, −l, −p, −k, −f, −a, d, i, n,
- g, n, l, e, −b, −i, −p, −j, −c, d, k, o, h, a, −f, −m,
- i, o, f, −c, −l, −l, −c, f, o, i, 0, −i, −o, −f, c, l,
- k, k, 0, −k, −k, 0, k, k, 0, −k, −k, 0, k, k, 0, −k,
- m, g, −f, −n, −a, l, h, −e, −o, −b, k, i, −d, −p, −c, j,
- o, c, −l, −f, i, i, −f, −l, c, o, 0, −o, −c, l, f, −i,
- p, −a, −o, b, n, −c, −m, d, l, −e, −k, f, j, −g, −i, h,
- n, −e, −i, j, d, −o, a, m, −f, −h, k, c, −p, b, l, −g,
- l, −i, −c, o, −f, −f, o, −c, −i, l, 0, −l, i, c, −o, f,
- j, −m, c, g, −p, f, d, −n, i, a, −k, l, −b, −h, o, −e,
- h, −p, i, −a, −g, o, −j, b, f, −n, k, −c, −e, m, −l, d,
- f, −l, o, −i, c, c, −i, o, −l, f, 0, −f, l, −o, i, −c,
- d, −h, l, −p, m, −i, e, −a, −c, g, −k, o, −n, j, −f, b,
- b, −d, f, −h, j, −l, n, −p, o, −m, k, −i, g, −e, c, −a,}
- wherein {a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p} includes one or more from among:
- {12, 24, 36, 47, 57, 69, 78, 87, 94, 103, 109, 115, 118, 123, 125, 126},
- {11, 22, 36, 47, 56, 69, 78, 89, 94, 104, 109, 115, 116, 125, 125, 125}, and
- {12, 22, 34, 47, 58, 68, 79, 89, 95, 102, 109, 114, 117, 123, 126, 126}.
Dependencies are inferred from the claim text.