Method and device for arithmetic coding of video, and method and device for arithmetic decoding of video
AssigneeSamsung Electronics Co., Ltd.
InventorsIl-koo KIM, Jeong-Hoon PARK
Life of this patent
Estimating the term…
Abstract
Methods and apparatuses for arithmetic encoding/decoding of video data. The arithmetic decoding method includes arithmetically decoding prefix bit strings representing a two-dimensional location of a last significant coefficient in a block sequentially by using a context model, arithmetically decoding suffix bit strings in a bypass mode, and performing inverse binarization on the arithmetically decoded prefix bit strings and suffix bit strings to acquire the location of the last significant coefficient in the block.
Claims10
A method of encoding a video, the method comprising:
- generating a coded block flag indicating whether a transformation block includes at least one non-zero significant transformation coefficient;
- when the transformation block includes the at least one non-zero significant transformation coefficient, obtaining a x coordinate prefix of a last significant coefficient in the transformation block, a x coordinate suffix of the last significant coefficient, a y coordinate prefix of the last significant coefficient and a y coordinate suffix of the last significant coefficient;
- generating a binarized x coordinate prefix, a binarized x coordinate suffix, a binarized y coordinate prefix and a binarized y coordinate suffix by performing binarization on the x coordinate prefix, the x coordinate suffix, the y coordinate prefix and the y coordinate suffix;
- generating an x coordinate prefix bitstring of the last significant coefficient in the transformation block by performing context-based-arithmetic encoding on the binarized x coordinate prefix;
- generating a y coordinate prefix bitstring of the last significant coefficient by performing context-based-arithmetic encoding on the binarized y coordinate prefix;
- generating an x coordinate suffix bitstring of the last significant coefficient by performing bypass mode encoding on the binarized x coordinate suffix;
- and
- generating a y coordinate suffix bitstring of the last significant coefficient by performing bypass mode encoding on the binarized y coordinate suffix,
- wherein, after the x coordinate prefix bitstring and the y coordinate prefix bitstring are generated via the context-based-arithmetic encoding, the x coordinate suffix bitstring and the y coordinate suffix bitstring are generated via the bypass mode encoding.
An apparatus for encoding a video, the apparatus comprising at least one processor configured to:
- generate a coded block flag indicating whether a transformation block includes at least one non-zero significant transformation coefficient;
- when the transformation block includes at least one non-zero significant transformation coefficient, obtaine a x coordinate prefix of a last significant coefficient in the transformation block, a x coordinate suffix of the last significant coefficient, a y coordinate prefix of the last significant coefficient and a y coordinate suffix of the last significant coefficient;
- generate a binarized x coordinate prefix, a binarized x coordinate suffix, a binarized y coordinate prefix and a binarized y coordinate suffix by performing binarization on the x coordinate prefix, the x coordinate suffix, the y coordinate prefix and the y coordinate suffix;
- generate an x coordinate prefix bitstring of the last significant coefficient in the transformation block by performing context-based-arithmetic encoding on the binarized x coordinate prefix;
- generate a y coordinate prefix bitstring of the last significant coefficient by performing context-based-arithmetic encoding on the binarized y coordinate prefix;
- generate an x coordinate suffix bitstring of the last significant coefficient by performing bypass mode encoding on the binarized x coordinate suffix;
- and
- generate a y coordinate suffix bitstring of the last significant coefficient by performing bypass mode encoding on the binarized y coordinate suffix,
- wherein, after the x coordinate prefix bitstring and the y coordinate prefix bitstring are generated via the context-based-arithmetic encoding, the x coordinate suffix bitstring and the y coordinate suffix bitstring are generated via the bypass mode encoding.
A method of encoding a video, the method comprising:
- generating a coded block flag indicating whether a transformation block includes at least one non-zero significant transformation coefficient;
- when the transformation block includes the at least one non-zero significant transformation coefficient, obtaining a x coordinate prefix of a last significant coefficient in the transformation block, a x coordinate suffix of the last significant coefficient, a y coordinate prefix of the last significant coefficient and a y coordinate suffix of the last significant coefficient;
- generating a binarized x coordinate prefix and a binarized y coordinate prefix by performing binarization on the x coordinate prefix and the y coordinate prefix according to a first binarization method;
- generating a binarized x coordinate suffix and a binarized y coordinate suffix by performing binarization on the x coordinate suffix and the y coordinate suffix according to a second binarization method;
- generating an x coordinate prefix bitstring of the last significant coefficient in the transformation block by performing context-based-arithmetic encoding on the binarized x coordinate prefix;
- generating a y coordinate prefix bitstring of the last significant coefficient by performing context-based-arithmetic encoding on the binarized y coordinate prefix;
- generating an x coordinate suffix bitstring of the last significant coefficient by performing bypass mode encoding on the binarized x coordinate suffix;
- and
- generating a y coordinate suffix bitstring of the last significant coefficient by performing bypass mode encoding on the binarized y coordinate suffix,
- wherein, after the x coordinate prefix bitstring and the y coordinate prefix bitstring are generated via the context-based-arithmetic encoding, the x coordinate suffix bitstring and the y coordinate suffix bitstring are generated via the bypass mode encoding.
An apparatus for encoding a video, the apparatus comprising at least one processor configured to:
- generate a coded block flag indicating whether a transformation block includes at least one non-zero significant transformation coefficient;
- when the transformation block includes the at least one non-zero significant transformation coefficient, obtain a x coordinate prefix of a last significant coefficient in the transformation block, a x coordinate suffix of the last significant coefficient, a y coordinate prefix of the last significant coefficient and a y coordinate suffix of the last significant coefficient;
- generate a binarized x coordinate prefix and a binarized y coordinate prefix by performing binarization on the x coordinate prefix and the y coordinate prefix according to a first binarization method;
- generate a binarized x coordinate suffix and a binarized y coordinate suffix by performing binarization on the x coordinate suffix and the y coordinate suffix according to a second binarization method;
- generate an x coordinate prefix bitstring of the last significant coefficient in the transformation block by performing context-based-arithmetic encoding on the binarized x coordinate prefix;
- generate a y coordinate prefix bitstring of the last significant coefficient by performing context-based-arithmetic encoding on the binarized y coordinate prefix;
- generate an x coordinate suffix bitstring of the last significant coefficient by performing bypass mode encoding on the binarized x coordinate suffix;
- and
- generate a y coordinate suffix bitstring of the last significant coefficient by performing bypass mode encoding on the binarized y coordinate suffix,
- wherein, after the x coordinate prefix bitstring and the y coordinate prefix bitstring are generated via the context-based-arithmetic encoding, the x coordinate suffix bitstring and the y coordinate suffix bitstring are generated via the bypass mode encoding.
A method of encoding a video, the method comprising:
- generating a coded block flag indicating whether a transformation block includes at least one non-zero significant transformation coefficient;
- when the transformation block includes the at least one non-zero significant transformation coefficient, obtaining a x coordinate prefix of a last significant coefficient in the transformation block, a x coordinate suffix of the last significant coefficient, a y coordinate prefix of the last significant coefficient and a y coordinate suffix of the last significant coefficient;
- generating a binarized x coordinate prefix, a binarized x coordinate suffix, a binarized y coordinate prefix and a binarized y coordinate suffix by performing binarization on the x coordinate prefix, the x coordinate suffix, the y coordinate prefix and the y coordinate suffix;
- generating an x coordinate prefix bitstring of the last significant coefficient in the transformation block by performing context-based-arithmetic encoding on the binarized x coordinate prefix;
- generating a y coordinate prefix bitstring of the last significant coefficient by performing context-based-arithmetic encoding on the binarized y coordinate prefix;
- generating an x coordinate suffix bitstring of the last significant coefficient by performing bypass mode encoding on the binarized x coordinate suffix;
- and
- generating a y coordinate suffix bitstring of the last significant coefficient by performing bypass mode encoding on the binarized y coordinate suffix,
- wherein, the x coordinate suffix is obtained if the x coordinate prefix is greater than a predetermined value, and the x coordinate suffix is not obtained if the x coordinate prefix is not greater than a predetermined value,
- after the x coordinate prefix bitstring and the y coordinate prefix bitstring are generated via the context-based-arithmetic encoding, the x coordinate suffix bitstring and the y coordinate suffix bitstring are generated via the bypass mode encoding.
A non-transitory computer-readable storage medium storing a bitstream, the bitstream comprising:
- a coded block flag to indicate whether a transformation block includes at least one non-zero significant transformation coefficient;
- an x coordinate prefix bitstring of a last significant coefficient in the transformation block generated by performing context-based-arithmetic encoding on a binarized x coordinate prefix of the last significant coefficient;
- a y coordinate prefix bitstring of the last significant coefficient generated by performing context-based-arithmetic encoding on a binarized y coordinate prefix of the last significant coefficient;
- an x coordinate suffix bitstring of the last significant coefficient generated by performing bypass mode encoding on a binarized x coordinate suffix of the last significant coefficient;
- and
- a y coordinate suffix bitstring of the last significant coefficient generated by performing bypass mode encoding on a binarized y coordinate suffix of the last significant coefficient,
- wherein:
- when the coded block flag is generated to indicate that the transformation block includes the at least one non-zero significant transformation coefficient, the bitstream comprises the x coordinate prefix bitstring, the y coordinate prefix bitstring, the x coordinate suffix bitstring, and the y coordinate suffix bitstring,
- the binarized x coordinate prefix, the binarized x coordinate suffix, the binarized y coordinate prefix and the binarized y coordinate suffix are generated by performing binarization on an x coordinate prefix of the last significant coefficient, an x coordinate suffix of the last significant coefficient, a y coordinate prefix of the last significant coefficient and a y coordinate suffix of the last significant coefficient, and
- after the x coordinate prefix bitstring and the y coordinate prefix bitstring are generated via the context-based-arithmetic encoding, the x coordinate suffix bitstring and the y coordinate suffix bitstring are generated via the bypass mode encoding.
A non-transitory computer-readable storage medium storing a bitstream, the bitstream comprising:
- a coded block flag to indicate whether a transformation block includes at least one non-zero significant transformation coefficient;
- an x coordinate prefix bitstring of a last significant coefficient in the transformation block generated by performing context-based-arithmetic encoding on a binarized x coordinate prefix of the last significant coefficient;
- a y coordinate prefix bitstring of the last significant coefficient generated by performing context-based-arithmetic encoding on a binarized y coordinate prefix of the last significant coefficient;
- an x coordinate suffix bitstring of the last significant coefficient generated by performing bypass mode encoding on a binarized x coordinate suffix of the last significant coefficient;
- and
- a y coordinate suffix bitstring of the last significant coefficient generated by performing bypass mode encoding on a binarized y coordinate suffix of the last significant coefficient,
- wherein:
- when the coded block flag is generated to indicate that the transformation block includes the at least one non-zero significant transformation coefficient, the bitstream comprises the x coordinate prefix bitstring, the y coordinate prefix bitstring, the x coordinate suffix bitstring, and the y coordinate suffix bitstring,
- the binarized x coordinate prefix and the binarized y coordinate prefix are generated by performing binarization on an x coordinate prefix of the last significant coefficient and a y coordinate prefix of the last significant coefficient according to a first binarization method,
- the binarized x coordinate suffix and the binarized y coordinate suffix are generated by performing binarization on an x coordinate suffix of the last significant coefficient and a y coordinate suffix of the last significant coefficient according to a second binarization method,
- after the x coordinate prefix bitstring and the y coordinate prefix bitstring are generated via the context-based-arithmetic encoding, the x coordinate suffix bitstring and the y coordinate suffix bitstring are generated via the bypass mode encoding.
A non-transitory computer-readable storage medium storing a bitstream, the bitstream comprising:
- a coded block flag to indicate whether a transformation block includes at least one non-zero significant transformation coefficient;
- an x coordinate prefix bitstring of a last significant coefficient in the transformation block generated by performing context-based-arithmetic encoding on a binarized x coordinate prefix of the last significant coefficient;
- a y coordinate prefix bitstring of the last significant coefficient generated by performing context-based-arithmetic encoding on a binarized y coordinate prefix of the last significant coefficient;
- an x coordinate suffix bitstring of the last significant coefficient generated by performing bypass mode encoding on a binarized x coordinate suffix of the last significant coefficient;
- and
- a y coordinate suffix bitstring of the last significant coefficient generated by performing bypass mode encoding on a binarized y coordinate suffix of the last significant coefficient,
- wherein:
- when the coded block flag is generated to indicate that the transformation block includes the at least one non-zero significant transformation coefficient, the bitstream comprises the x coordinate prefix bitstring, the y coordinate prefix bitstring, the x coordinate suffix bitstring, and the y coordinate suffix bitstring,
- an x coordinate suffix is obtained if an x coordinate prefix is greater than a predetermined value, and the x coordinate suffix is not obtained if the x coordinate prefix is not greater than a predetermined value,
- the binarized x coordinate prefix, the binarized x coordinate suffix, the binarized y coordinate prefix and the binarized y coordinate suffix are generated by performing binarization on an x coordinate prefix of the last significant coefficient, an x coordinate suffix of the last significant coefficient, a y coordinate prefix of the last significant coefficient and a y coordinate suffix of the last significant coefficient, and
- after the x coordinate prefix bitstring and the y coordinate prefix bitstring are generated via the context-based-arithmetic encoding, the x coordinate suffix bitstring and the y coordinate suffix bitstring are generated via the bypass mode encoding.
A non-transitory computer-readable storage medium storing a bitstream, the bitstream comprising:
- a coded block flag to indicate whether a transformation block includes at least one non-zero significant transformation coefficient;
- an x coordinate prefix bitstring of a last significant coefficient in the transformation block generated by performing context-based-arithmetic encoding on a binarized x coordinate prefix of the last significant coefficient;
- a y coordinate prefix bitstring of the last significant coefficient generated by performing context-based-arithmetic encoding on a binarized y coordinate prefix of the last significant coefficient;
- an x coordinate suffix bitstring of the last significant coefficient generated by performing bypass mode encoding on a binarized x coordinate suffix of the last significant coefficient;
- and
- a y coordinate suffix bitstring of the last significant coefficient generated by performing bypass mode encoding on a binarized y coordinate suffix of the last significant coefficient,
- wherein:
- when the coded block flag is generated to indicate that the transformation block includes the at least one non-zero significant transformation coefficient, the bitstream comprises the x coordinate prefix bitstring, the y coordinate prefix bitstring, the x coordinate suffix bitstring, and the y coordinate suffix bitstring,
- an x coordinate suffix is obtained if an x coordinate prefix is greater than a predetermined value, and the x coordinate suffix is not obtained if the x coordinate prefix is not greater than a predetermined value,
- the binarized x coordinate prefix and the binarized y coordinate prefix are generated by performing binarization on an x coordinate prefix of the last significant coefficient and a y coordinate prefix of the last significant coefficient according to a first binarization method,
- the binarized x coordinate suffix and the binarized y coordinate suffix are generated by performing binarization on an x coordinate suffix of the last significant coefficient and a y coordinate suffix of the last significant coefficient according to a second binarization method,
- after the x coordinate prefix bitstring and the y coordinate prefix bitstring are generated via the context-based-arithmetic encoding, the x coordinate suffix bitstring and the y coordinate suffix bitstring are generated via the bypass mode encoding.
A non-transitory computer-readable storage medium storing a bitstream, the bitstream comprising:
- a coded block flag to indicate whether a transformation block includes at least one non-zero significant transformation coefficient;
- an x coordinate prefix bitstring of a last significant coefficient in the transformation block generated by performing context-based-arithmetic encoding on a binarized x coordinate prefix of the last significant coefficient;
- a y coordinate prefix bitstring of the last significant coefficient generated by performing context-based-arithmetic encoding on a binarized y coordinate prefix of the last significant coefficient;
- an x coordinate suffix bitstring of the last significant coefficient generated by performing bypass mode encoding on a binarized x coordinate suffix of the last significant coefficient;
- a y coordinate suffix bitstring of the last significant coefficient generated by performing bypass mode encoding on a binarized y coordinate suffix of the last significant coefficient;
- and
- a significant coefficient flag to indicating whether a level of a first transformation coefficient among the transformation coefficients is zero or not, the first transformation coefficient is not the last significant coefficient,
- wherein:
- when the coded block flag is generated to indicate that the transformation block includes the at least one non-zero significant transformation coefficient, the bitstream comprises the x coordinate prefix bitstring, the y coordinate prefix bitstring, the x coordinate suffix bitstring, and the y coordinate suffix bitstring,
- an x coordinate suffix is obtained if an x coordinate prefix is greater than a predetermined value, and the x coordinate suffix is not obtained if the x coordinate prefix is not greater than a predetermined value,
- the binarized x coordinate prefix, the binarized x coordinate suffix, the binarized y coordinate prefix and the binarized y coordinate suffix are generated by performing binarization on an x coordinate prefix of the last significant coefficient, an x coordinate suffix of the last significant coefficient, a y coordinate prefix of the last significant coefficient and a y coordinate suffix of the last significant coefficient, and
- after the x coordinate prefix bitstring and the y coordinate prefix bitstring are generated via the context-based-arithmetic encoding, the x coordinate suffix bitstring and the y coordinate suffix bitstring are generated via the bypass mode encoding.
Dependencies are inferred from the claim text.