CPC H04N 19/48 (2014.11) [H04N 19/13 (2014.11); H04N 19/14 (2014.11); H04N 19/159 (2014.11); H04N 19/174 (2014.11); H04N 19/176 (2014.11); H04N 19/18 (2014.11); H04N 19/463 (2014.11); H04N 19/593 (2014.11); H04N 19/61 (2014.11); H04N 19/91 (2014.11); H04N 19/645 (2014.11)] | 19 Claims |
1. An apparatus for encoding an image block including processing circuitry configured to:
predict a sign for each of M non-zero transform coefficients obtained by transforming an image block signal with a plurality of transformations, M being an integer larger than 1 and smaller than a number of non-zero transform coefficients obtained by transforming the image block, wherein the sign prediction is based on a cost function calculated in a transform domain rather than a spatial domain;
wherein the cost function includes a sum of squared transformed differences between adjacent pixels neighboring a transformed image block and a prediction of the adjacent pixels calculated based on a prediction signal of the image block;
determine a sign prediction error for each of the M non-zero transform coefficients indicating whether or not the sign was correctly predicted;
select a context for entropy coding of each sign prediction error of each transform coefficient of the M non-zero transform coefficients according to the plurality of transformations; and
encode one sign prediction error of one transform coefficient of the M non-zero transform coefficients by applying entropy coding using corresponding selected context,
wherein fewer than all of the non-zero transform coefficients obtained by transforming the image block signal with the plurality of transformations are used for encoding the image block; and
wherein the cost function in the transform domain satisfies the following:
wherein tn=Trans1D(Tn), qn=Trans1D(Qn), νn=Trans1D(Vn), and on=Trans1D(On),
wherein F is the cost function, Trans1D(·) is a one-dimensional orthogonal transform and Tn=[2Xn,−1−Xn,−2−Pn,0], Vm=[2Z−1,m−Z−2,m−P0,m], Qn=Rn,0 and Om=R0,m,
wherein P is prediction signal, X and Z are neighboring pixels, N and M are height and width of the block in which the signs are predicted, and R is a prediction error pixel, respectively.
|