Coding position data for the last non-zero transform coefficient in a coefficient group

US9681152B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9681152-B2
Application numberUS-201514942296-A
CountryUS
Kind codeB2
Filing dateNov 16, 2015
Priority dateSep 19, 2013
Publication dateJun 13, 2017
Grant dateJun 13, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Methods and devices for video coding are described. When encoding a non-zero coefficient group (CG) prior to the last such group in a group scan ordering within a transform block, data representative of the true (x,y)-position of the last non-zero transform coefficient in a scan ordering within that CG is modified, to improve coding efficiency, based upon at least one of (a) an intra-prediction mode used to encode the block and (b) at least one coefficient group neighboring that CG. Upon decoding a CG thus encoded, the modification is un-done to retrieve the true (x,y)-position.

First claim

Opening claim text (preview).

What is claimed is: 1. A decoder, the decoder comprising: one or more processors; a memory; and a decoding application stored in the memory and executable by said one or more processors to reconstruct a current block of residual data from an encoded block of residual data in a bitstream of encoded video, the current block partitioned into coefficient groups, each coefficient group comprising transform coefficients, wherein, when executed for a current coefficient group, which is a non-zero coefficient group prior to the last non-zero coefficient group in a group scan ordering of the coefficient groups within the current block, the application: decodes coordinates (X, Y) representative of the true (x,y)-position, in the current coefficient group, of the last non-zero transform coefficient in a scan ordering of the transform coefficients in the current coefficient group, and applies a non-identity modification to the coordinates (X, Y) to compute the true (x,y)-position of the last non-zero transform coefficient, wherein the modification is based upon at least one of: an intra-prediction mode used in generating the encoded block; and at least one coefficient group neighbouring the current coefficient group. 2. The decoder of claim 1 , wherein the current coefficient group has size 4×4, and wherein the modification includes one or both of: converting the coordinate X to 3−X; and converting the coordinate Y to 3−Y. 3. The decoder of claim 1 , wherein the modification is based upon a classification of the mode. 4. The decoder of claim 3 , wherein the application, when executed, further: decodes data indicating the mode; and determines the classification of the mode. 5. The decoder of claim 3 , wherein the current coefficient group has size 4×4, and wherein the modification comprises: if the mode is in a diagonal class, converting the coordinates (X, Y) to (3−X, 3−Y); if the mode is in a vertical class, converting the coordinates (X, Y) to (3−X, Y); and if the mode is a horizontal class, converting the coordinates (X, Y) to (X, 3−Y). 6. The decoder of claim 3 , wherein the current coefficient group has size 4×4, and wherein the modification comprises: if the mode is in a diagonal class, converting the coordinates (X, Y) to (3−X, 3−Y); and if the mode is in a horizontal or vertical class, converting the coordinates (X, Y) to (3−X, Y). 7. The decoder of claim 6 , wherein if the mode is horizontal the current coefficient group is transposed prior to reconstruction. 8. The decoder of claim 3 , wherein the current coefficient group has size 4×4, and wherein the modification comprises: if the mode is in a diagonal class, converting the coordinates (X, Y) to (3−X, 3−Y); and if the mode is in a horizontal or vertical class, converting the coordinates (X, Y) to (X, 3−Y). 9. The decoder of claim 8 , wherein if the mode is vertical the current coefficient group is transposed prior to reconstruction. 10. The decoder of claim 1 , wherein at least one of the neighbouring coefficient group right of the current coefficient group and the neighbouring coefficient group below the current coefficient group comprises a non-zero coefficient group, and wherein the modification is based upon at least one of said neighbouring coefficient groups. 11. The decoder of claim 10 , wherein the current coefficient group has size 4×4, and wherein the modification comprises: if the neighbouring coefficient group right of the current coefficient group is a zero coefficient group and the neighbouring coefficient group below the current coefficient group is a non-zero coefficient group, converting the coordinates (X, Y) to (X, 3−Y); if the neighbouring coefficient group right of the current coefficient group is a non-zero coefficient group and the neighbouring coefficient group below the current coefficient group is a zero coefficient group, converting the coordinates (X, Y) to (3−X, Y); and if the neighbouring coefficient group right of the current coefficient group and the neighbouring coefficient group below the current coefficient group are both non-zero coefficient groups, converting the coordinates (X, Y) to (3−X, 3−Y). 12. The decoder of claim 1 , wherein the current coefficient group has size 4×4, wherein the neighbouring coefficient group right of the current coefficient group and the neighbouring coefficient group below the current coefficient group are both zero coefficient groups, wherein the mode is in one of a horizontal class and a vertical class; and wherein the modification comprises: if the mode is in a vertical class, converting the coordinates (X, Y) to (3−X, Y); and if the mode is in a horizontal class, converting the coordinates (X, Y) to (X, 3−Y). 13. The decoder of claim 1 , wherein the group scan ordering comprises an ordering of the coefficient groups in the current block, starting from the upper-left-most coefficient group; and wherein the coefficient groups of the block are decoded by the decoder in the reverse of the group scan ordering. 14. The decoder of claim 13 , wherein the group scan ordering comprises a zig-zag ordering. 15. The decoder of claim 1 , wherein the scan ordering comprises an ordering of transform coefficients in each coefficient group, starting from the upper-left-most transform coefficient in the group, and wherein level, run, and sign data for the transform coefficients in each coefficient group are decoded by the decoder in the reverse of the scan ordering. 16. The decoder of claim 15 , wherein the scan ordering comprises a zig-zag ordering. 17. The decoder of claim 1 , wherein decoding coordinates (X, Y) is based upon a context derived at least in part from to which of three regions, into which the coefficient groups of the current block have been partitioned, the current coefficient group belongs. 18. The decoder of claim 17 , wherein the three regions are each transpose-invariant. 19. The decoder of claim 18 , wherein the coefficient groups are arranged in rows and columns within the current block; wherein one of the three regions consists of the coefficient groups in both the top row and the left column; wherein another of the three regions consists of the coefficient groups in neither the top row nor the left column; and wherein the remaining one of the three regions consists of the coefficient groups in either the top row or the left column, but not both. 20. A decoder for reconstructing a current block of residual data, from an encoded block of residual data in a bitstream of encoded video, the current block partitioned into coefficient groups, each coefficient group comprising transform coefficients, the coefficients groups including a current coefficient group, which is a non-zero coefficient group prior to the last non-zero coefficient group in a group scan ordering of the coefficient groups within the current block, the decoder including: processing means for executing instructions; memory means for storing data; means for decoding coordinates (X, Y) representative of the true (x,y)-position, in the current coefficient group, of the last non-zero transform coefficient in a scan ordering of the transform coefficients in the current coefficient group; and means for applying a non-identity modification to the coordinates (X, Y) to compute the true (x,y)-position of the last non-zero transform coefficient, wherein the modification is based upon at least one of: an intra-prediction mode used in generating the encoded block; and at least one coefficient group neighbouring

Assignees

Inventors

Classifications

  • the unit being a set of transform coefficients · CPC title

  • Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter · CPC title

  • Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder · CPC title

  • Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction · CPC title

  • H04N19/13Primary

    Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC] · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9681152B2 cover?
Methods and devices for video coding are described. When encoding a non-zero coefficient group (CG) prior to the last such group in a group scan ordering within a transform block, data representative of the true (x,y)-position of the last non-zero transform coefficient in a scan ordering within that CG is modified, to improve coding efficiency, based upon at least one of (a) an intra-prediction…
Who is the assignee on this patent?
Blackberry Ltd
What technology area does this patent fall under?
Primary CPC classification H04N19/13. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jun 13 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).