IP Library Granted Patent US 9,490,837
Granted Patent B2
US 9,490,837 · App. 12/428,151 · Granted Nov 8, 2016

Method and arrangement for coding transform coefficients in picture and/or video coders and decoders and a corresponding computer program and a corresponding computer-readable storage medium

Inventors: Heiko Schwarz (Berlin, DE); Detlef Marpe (Berlin, DE); Thomas Wiegand (Berlin, DE)
Assignee: Fraunhofer-Gesellschaft zur Foerderung der Angewandten Forschung e.V.
H03M7/4006H04N19/60H04N19/91H04N19/93H04N19/13H04N19/136H04N19/18
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,490,837
App. No.
12/428,151
Granted
Nov 8, 2016
Kind
B2
Abstract

The present invention describes a method and an arrangement for coding transform coefficients in picture and/or video coders and decoders and a corresponding computer program and a corresponding computer-readable storage medium, which can particularly be employed as a novel efficient method for binary-arithmetic coding transform coefficients in the field of video coding. For this, it is suggested that, for blocks of (video) pictures containing significant transform coefficients, coding of the transform coefficients takes place in such a way that, for each block in a scan process, the positions of significant transform coefficients in the block and subsequently, in a reverse scan order—starting from the last significant transform coefficient within the block—the values (levels) of the significant transform coefficients are determined and coded.

Claims (41)

1. A method, performed in a processor, for coding transform coefficients

wherein

for blocks of (video) pictures containing transform coefficients being unequal to zero, a coding of transform coefficients takes place in such a way that, for each block,

a significance map is coded, the significance map specifying the positions of transform coefficients being unequal to zero in the block in a scan order in a context-dependent way using contexts depending on the corresponding scan position of the transform coefficient considered, and subsequently,

in a reverse scan order—starting with the last transform coefficient being unequal to zero within the block—the values (levels) of the transform coefficients being unequal to zero are coded;

wherein when coding the significance map, each transform coefficient being unequal to zero in the scan order is characterized by a first one-bit symbol (SIG) serving to characterize transform coefficients being unequal to zero, i. e. each transform coefficient being unequal to zero including the last transform coefficient being unequal to zero in the scan order if it is different from the last transform coefficient of the block in the scan order, or excluding the last transform coefficient being unequal to zero in the scan order if it is the last transform coefficient of the block in the scan order, and the last transform coefficient being unequal to zero is characterized by a second one-bit symbol (LAST) indicating that the respective transform coefficient being unequal to zero is the last transform coefficient being unequal to zero in the scan order if it is different from the last transform coefficient of the block in the scan order.

2. A method, performed in a processor, for coding transform coefficients

wherein

for blocks of (video) pictures containing transform coefficients being unequal to zero, a coding of transform coefficients takes place in such a way that, for each block,

a significance map is coded, the significance map specifying the positions of transform coefficients being unequal to zero in the block in a scan order in a context-dependent way using contexts depending on the corresponding scan position of the transform coefficient considered, and subsequently,

in a reverse scan order—starting with the last transform coefficient being unequal to zero within the block—the values (levels) of the transform coefficients being unequal to zero are coded;

wherein by transferring a one-bit symbol (SIG) for each coefficient of a block and a one-bit symbol (LAST) for each transform coefficient being unequal to zero of a block, the significance map is coded, wherein the transfer takes place in the scan order, (SIG) serves for identifying transform coefficients being unequal to zero and (LAST) indicates whether there are further transform coefficients being unequal to zero in the block.

3. The method according to claim 2 , wherein no significance information (SIG, LAST) is transferred for the last scan position of a block.

4. A method for decoding a coding of a significance map and a subsequent coding of values of transform coefficients being unequal to zero for blocks of (video) pictures containing transform coefficients being unequal to zero, the significance map specifying the positions of the transform coefficients being unequal to zero in a scan order, and the coding of values of transform coefficients being unequal to zero comprising coded values of the transform coefficients being unequal to zero in a reverse scan order—starting with the last transform coefficient being unequal to zero, comprising the steps of:

decoding the significance mapping in a context-dependent way using contexts depending on the corresponding scan position of the transform coefficient considered; and

decoding the coded values of transform coefficients being unequal to zero in the reverse scan order;

wherein the significance mapping specifies the positions of the transform coefficients being unequal to zero in a scan order and comprises, in the scan order, —except for the last scan position in the scan order—a one-bit symbol (SIG) for each coefficient of the block and a one-bit symbol (LAST) for each significant coefficient of the block, wherein (SIG) serves for identifying significant coefficients and (LAST) indicates whether there are further significant transform coefficients in the block, wherein the decoding the significance mapping comprises decoding the symbols SIG and LAST context-adaptively by use of context numbers indicated by the corresponding scan position of the transform coefficient considered.

5. A method, performed in a processor, for coding transform coefficients

wherein

for blocks of (video) pictures containing transform coefficients being unequal to zero, a coding of transform coefficients takes place in such a way that, for each block,

a significance map is coded, the significance map specifying the positions of transform coefficients being unequal to zero in the block in a scan order in a context-dependent way using contexts depending on the corresponding scan position of the transform coefficient considered, and subsequently,

in a reverse scan order—starting with the last transform coefficient being unequal to zero within the block—the values (levels) of the transform coefficients being unequal to zero are coded;

wherein coding the significance map comprises traversing the transform coefficients in the scan order with

for a currently traversed transform coefficient, coding a first one-bit symbol (SIG) signaling as to whether the currently traversed transform coefficient is equal to zero or unequal to zero;

if the currently traversed transform coefficient is non-zero and is different from the last transform coefficient of the block in the scan order, coding a second one-bit symbol (LAST) indicating as to whether the currently traversed transform coefficient being unequal to zero is the last transform coefficient being unequal to zero in the scan order, and

wherein the first and second one-bit symbols are coded using contexts depending on the scan position of the currently traversed transform coefficient measured as a rank of the scan position of the currently traversed transform coefficient in the scan order.

6. A method for decoding a coding of a significance map and a subsequent coding of values of transform coefficients being unequal to zero for blocks of (video) pictures containing transform coefficients being unequal to zero, the significance map specifying the positions of the transform coefficients being unequal to zero in a scan order, and the coding of values of transform coefficients being unequal to zero comprising coded values of the transform coefficients being unequal to zero in a reverse scan order—starting with the last transform coefficient being unequal to zero, comprising the steps of:

decoding the significance mapping in a context-dependent way using contexts depending on the corresponding scan position of the transform coefficient considered; and

decoding the coded values of transform coefficients being unequal to zero in the reverse scan order;

wherein the decoding the significance map comprises

traversing the transform coefficients in the scan order with

for a currently traversed transform coefficient, decoding a first one-bit symbol (SIG) signaling as to whether the currently traversed transform coefficient is equal to zero or unequal to zero;

if the currently traversed transform coefficient is non-zero and is different from the last transform coefficient of the block in the scan order, decoding a second one-bit symbol (LAST) indicating as to whether the currently traversed transform coefficient being unequal to zero is the last transform coefficient being unequal to zero in the scan order, and

wherein the first and second one-bit symbols are decoded using contexts depending on the scan position of the currently traversed transform coefficient measured as a rank of the scan position of the currently traversed transform coefficient in the scan order.

7. A decoder for decoding values of transform coefficients being unequal to zero from a coded bitstream, the decoder being configured to decode a significance mapping specifying the positions of the transform coefficients being unequal to zero in a scan order from the bitstream in a context-dependent way using contexts depending on the corresponding scan position of the transform coefficient considered in the scan order; and

subsequent to the decoding of the significance map, decode the values of transform coefficients being unequal to zero from the bitstream in the reverse scan order—starting with the last transform coefficient being unequal to zero;

wherein the decoder is configured to decode the significance map by

traversing the transform coefficients in the scan order with

for a currently traversed transform coefficient, decoding a first one-bit symbol (SIG) signaling as to whether the currently traversed transform coefficient is equal to zero or unequal to zero;

if the currently traversed transform coefficient is non-zero and is different from the last transform coefficient of the block in the scan order, decoding a second one-bit symbol (LAST) indicating as to whether the currently traversed transform coefficient being unequal to zero is the last transform coefficient being unequal to zero in the scan order, and

with decoding the first and second one-bit symbols using contexts depending on the scan position of the currently traversed transform coefficient measured as a rank of the scan position of the currently traversed transform coefficient in the scan order.

Priority Claims (1)
DE 102 20 961 · May 2, 2002 · national
Continuity (3)
Continuation PCTEP0304656 · May 2, 2003
Continuation 10727802 · Dec 4, 2003
Related Publication 20090201995A1 · Aug 13, 2009