Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
MIXED DOMAIN COLLABORATIVE POST FILTER FOR LOSSY STILL IMAGE CODING
Document Type and Number:
WIPO Patent Application WO/2018/117893
Kind Code:
A1
Abstract:
An image coding apparatus, comprising an image reconstruction unit configured to reconstruct an image, a parameter determination unit configured to determine one or more filter parameters, based on one or more first parameters which are based on the reconstructed image and one or more second parameters which are based on codec signaling information, and a mixed-domain filtering unit configured to filter in a frequency domain and a pixel domain the reconstructed image based on the determined filter parameters to obtain a filtered image.

Inventors:
STEPIN VICTOR ALEXEEVICH (CN)
CHERNYAK ROMAN IGOREVICH (CN)
SILANTEV ALBERT YURIEVICH (CN)
Application Number:
PCT/RU2016/000917
Publication Date:
June 28, 2018
Filing Date:
December 23, 2016
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HUAWEI TECH CO LTD (CN)
STEPIN VICTOR ALEXEEVICH (CN)
International Classes:
H04N19/117; G06T5/00; G06T5/10; H04N19/154; H04N19/176; H04N19/19; H04N19/60; H04N19/82; H04N19/86
Foreign References:
EP2375747A12011-10-12
US20110222597A12011-09-15
Other References:
RENQI ZHANG ET AL: "Image postprocessing by Non-local Kuans filter", JOURNAL OF VISUAL COMMUNICATION AND IMAGE REPRESENTATION, ACADEMIC PRESS, INC, US, vol. 22, no. 3, 28 December 2010 (2010-12-28), pages 251 - 262, XP028172660, ISSN: 1047-3203, [retrieved on 20110104], DOI: 10.1016/J.JVCIR.2010.12.007
"Advanced Video Coding Systems", 1 January 2014, SPRINGER INTERNATIONAL PUBLISHING, Cham, ISBN: 978-3-319-14243-2, article WEN GAO ET AL: "In-Loop Filter", pages: 115 - 134, XP055406760, DOI: 10.1007/978-3-319-14243-2_7
MATTEO MAGGIONI ET AL: "Video Denoising, Deblocking, and Enhancement Through Separable 4-D Nonlocal Spatiotemporal Transforms", IEEE TRANSACTIONS ON IMAGE PROCESSING, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 21, no. 9, 1 September 2012 (2012-09-01), pages 3952 - 3966, XP011492148, ISSN: 1057-7149, DOI: 10.1109/TIP.2012.2199324
DABOV K ET AL: "Image Denoising by Sparse 3-D Transform-Domain Collaborative Filtering", IEEE TRANSACTIONS ON IMAGE PROCESSING, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 16, no. 8, 1 August 2007 (2007-08-01), pages 2080 - 2095, XP011485829, ISSN: 1057-7149, DOI: 10.1109/TIP.2007.901238
ZHANG XINFENG ET AL: "Low-Rank Decomposition-Based Restoration of Compressed Images via Adaptive Noise Estimation", IEEE TRANSACTIONS ON IMAGE PROCESSING, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 25, no. 9, 1 September 2016 (2016-09-01), pages 4158 - 4171, XP011617745, ISSN: 1057-7149, [retrieved on 20160721], DOI: 10.1109/TIP.2016.2588326
XINFENG ZHANG ET AL: "Transform-domain in-loop filter with block similarity for HEVC", 2016 VISUAL COMMUNICATIONS AND IMAGE PROCESSING (VCIP), 1 November 2016 (2016-11-01), pages 1 - 4, XP055405520, ISBN: 978-1-5090-5316-2, DOI: 10.1109/VCIP.2016.7805427
DABOV KOSTADIN ET AL: "Video denoising by sparse 3D transform-domain collaborative filtering", 2007 15TH EUROPEAN SIGNAL PROCESSING CONFERENCE, IEEE, 3 September 2007 (2007-09-03), pages 145 - 149, XP032772966, ISBN: 978-83-921340-4-6, [retrieved on 20150430]
Attorney, Agent or Firm:
LAW FIRM "GORODISSKY & PARTNERS" LTD. (RU)
Download PDF:
Claims:
CLAIMS

An image coding apparatus (100, 210, 220), comprising:

an image reconstruction unit (1 10) configured to reconstruct an image, a parameter determination unit (120) configured to determine one or more filter parameters, based on one or more first parameters which are based on the reconstructed image (1300) and one or more second parameters which are based on codec signaling information, and a mixed-domain filtering unit (130) configured to filter in a frequency domain and a pixel domain the reconstructed image (1300) based on the determined filter parameters to obtain a filtered image.

The image coding apparatus (100, 210, 220) of claim 1 , wherein the parameter determination (120) unit is configured to estimate the original image from the reconstructed image (1300) and determine the first parameters based on the estimated original image.

The image coding apparatus (100, 210, 220) of claim 1 or 2, wherein the parameter determination unit (120) is configured to determine a quantization noise value from the codec signaling information and determine the second parameters based on the derived quantization noise value.

The image coding apparatus (100, 210, 220) of claim 3, wherein the parameter determination unit (120) is configured to analytically derive the quantization noise value from a quantization parameter QP of the codec signaling information.

The image coding apparatus (100, 210, 220) of one of the previous claims, further comprising an application map unit configured to determine where filtering should be implemented.

The image coding apparatus (100, 210, 220) of one of claims 2 to 5, wherein the parameter determination unit (120) is configured to determine the filter parameters by: partitioning the estimated original image into blocks, and

for each of the blocks:

determining a cluster of patches that are similar to the block, 2D-transforming the cluster of patches to obtain transformed patches, and

determining the first parameters based on the transformed patches.

The image coding apparatus (100, 210, 220) of claim 6, wherein the parameter determination unit (120) is configured to determine, for each of the blocks, the filter parameters based on the transformed patches by:

regrouping elements of the transformed patches to obtain a matrix Tj, wherein each row of the matrix Tj comprises frequency components with same spatial frequencies,

transforming the matrix Tj to obtain a transformed matrix tfyW, wherein each row of the matrix tf w is a I D transform of a corresponding row of matrix Tj, and

determining the filter parameters gvl w as:

, (Ω) = ifim2

wherein Ω is a column number in matrix tf w, spatial frequencies v, w correspond to a j-th row of matrix tfyW and N is a quantization noise value derived from the codec signaling information.

The image coding apparatus (100, 210, 220) of one of the previous claims, wherein the mixed-domain filtering unit is configured to, for each of a set of blocks of the reconstructed image:

determine a set of patches that are similar to the block,

2D-transform the patches into frequency domain to obtain frequency- domain patches,

perform collaborative filtering of the frequency-domain patches in frequency domain to obtained filtered transformed frequency-domain patches, inverse 2D transform the filtered transformed frequency-domain patches in frequency domain to obtain filtered patches, and

perform collaborative filtering of the filtered patches in pixel domain along pixel patches from different sets of patches with the same spatial coordinates.

The image coding apparatus ( 100, 210, 220) of claim 8, wherein the 2D transformation is a Haar wavelet transform.

The image coding apparatus ( 100, 210, 220) of claim 8 or 9, wherein the mixed-domain filtering unit is configured to perform, for each of the blocks, the collaborative filtering based on the transformed patches by:

regrouping elements of the transformed patches to obtain a matrix Tj, wherein each row of the matrix Tt comprises frequency components with same spatial frequencies,

transforming the matrix Tj to obtain a transformed matrix tfjw, wherein each row of the matrix tfyW is a I D transform of a corresponding row of matrix 7 , and

perform filtering by multiplying each element of matrix tf^w by a filter parameter g[H) l

V w

wherein Ω is a column number in matrix tfyW and spatial frequencies v, w correspond to a j-th row of matrix tfyW.

1 1. The image coding apparatus (100, 210, 220) of one of claims 7 to 10, wherein the I D transformation is a Hadamard transform.

12. The image coding apparatus (100, 210, 220) of one of the previous claims, wherein

the adaptive_filtering flag flag is used to indicate that the mixed-do- main filtering unit should be used to filter an image,

the frame level_usage_flag flag is used to indicate that the entire reconstructed image should be filtered, the macroblock size field is used to indicate a macroblock size which should be used for filtering, and/or

the use filtered mb flag flag is used to indicate whether a filtered macroblock should be used.

A system (200) comprising an image encoding apparatus (210) according to one of the previous claims and an image decoding apparatus (220) according to one of the previous claims, wherein the parameter determination unit (120) of the image encoding apparatus is configured to determine the filter parameters in the same way as the parameter determination unit (120) of the image decoding apparatus.

A method (300) for still image coding, the method comprising:

reconstructing (310) an image,

determining (320) one or more filter parameters based on one or more first parameters which are based on the reconstructed image (1300) and one or more second parameters which are based on codec signaling information, and

filtering (330) in a frequency domain and in a pixel domain the reconstructed image based on the determined filter parameters to obtain a filtered image.

15. A computer-readable storage medium storing program code, the program code comprising instructions that when executed by a processor carry out the method of claim 14.

Description:
MIXED DOMAIN COLLABORATIVE POST FILTER FOR LOSSY STILL

IMAGE CODING

TECHNICAL FIELD

The present invention relates to an image coding apparatus, a system comprising an image encoding apparatus and an image decoding apparatus, and a method for still image coding. The present invention also relates to a computer-readable storage medium storing program code, the program code comprising instructions for carrying out such a method.

BACKGROUND Still image compression technologies can be used e.g. in still image codecs such as H.264/AVC, H.265/HEVC and JPEG. Improvement of the decoded image can be achieved by post filtering. There are two base classes of post filtering: encoder side post filtering and decoder side post filtering. In case of encoder side post filtering, filter parameters are estimated on the encoder side and are then transferred to the decoder side. The decoder recovers post filter parameters after transmission and applies filter parameters for decoded image filtering before delivery to the end user. In this case filter design and filter parameter estimation depend on the still image encoder architecture.

In case of decoder side post filtering post filter parameters are estimated from the decoded image and so there is no still image encoder modification.

The most familiar encoder side post filter is the Adaptive Loop Filter. This filter was proposed on MPEG standardization meeting for use in the Next Generation Video codec.

A still image decoder recovers post filter parameters from a transmitted bitstream and uses these parameters for decoded image filtering before end user delivery. According to an Adaptive Loop Filter (ALF) method, each reconstructed (decoded) image is divided into a set of small macroblocks (super-pixels) and then each macroblock is filtered by an adaptive post filter.

An ALF can comprise three blocks: A parameter estimation block, a pixel domain filtering block and an application map block. In the encoder, the parameter estimation block estimates a 2D impulse response for a Wiener filter in pixel domain for each macroblock based on matching between original and reconstructed images. Then these impulse responses are quantized and transferred to an entropy encoder. The entropy encoder inserts encoded filter parameters into an output bitstream transferred from encoder to decoder side. In the decoder, the entropy decoder recovers the Wiener filter impulse response for each macroblock and transfers filter parameters to the pixel domain filtering block for use in the filtering process. In the decoder and the encoder the pixel domain filtering block performs reconstructed image filtering in pixel domain according to filter parameters from the parameter estimation block. In the decoder the filtered image is used for decoded image improvement before end user delivery. Filtering can be applied not for full reconstructed frame but only for part of image. In the encoder the application map block chooses which super-pixels should be filtered based on a rate-distortion optimization (RDO) process. The application map is encoded by the entropy encoder and written into the output bitstream on the encoder side. In the decoder the entropy decoder recovers the filter application map. Then this map is used to turn on/off filtering. The ALF can have the following base features for still image encoding:

- The filter impulse response is derived based on original and filtered reconstructed images matching

- Filter parameters are transferred from encoder to decoder side

- Filtering is performed in the pixel domain

- The filter is applied as a post filter (decoded picture improvement)

- The application map is built based on an RDO process

Despite advantages of the ALF structure, there is still a need for improvements in image coding. SUMMARY OF THE INVENTION The objective of the present invention is to provide an image coding apparatus, a system comprising an image encoding apparatus and an image decoding apparatus, and a method for still image coding, wherein the image coding apparatus, the system and the method overcome one or more of the problems of the prior art. A first aspect of the invention provides an image coding apparatus, comprising:

an image reconstruction unit configured to reconstruct an image,

a parameter determination unit configured to determine one or more filter parameters, based on one or more first parameters which are based on the reconstructed image and one or more second parameters which are based on codec signaling information, and

a mixed-domain filtering unit configured to filter in a frequency domain and a pixel domain the reconstructed image based on the determined filter parameters to obtain a filtered image. The image coding apparatus can be an encoder or a decoder for still images. It is understood that filtering the reconstructed image does not necessarily refer to filtering the entire image. For example, in some embodiments only some blocks of the reconstructed image may be filtered. The image coding apparatus of the first aspect has the advantage that the filter parameters can be derived on the decoder-side and do not need to be encoded into the bit- stream, thus an improved coding efficiency can be achieved.

Preferably, the parameter determination unit is configured to determine the one or more image filter parameters based only on the reconstructed image and not on the original image on the encoder side. Since the parameter determination unit thus does not require the original image, the parameters can be determined in the same way based on the reconstructed image, both at the encoder side and at the decoder side (where the original image is not available). In a first implementation of the image coding apparatus according to the first aspect, the parameter determination unit is configured to estimate the original image from the reconstructed image and determine the first parameters based on the estimated original image.

Original signal estimating allows roughly removing quantization noise and better estimating original signal parameters (for example original signal spectrum). Thus, an improved determination of the first parameters can be performed based on the estimated original image compared to determining the first parameters based on the reconstructed image.

In a second implementation of the image coding apparatus according to the first aspect as such or according to the first implementation of the first aspect, the parameter deter- mination unit is configured to determine a quantization noise value from the codec signaling information and determine the second parameters based on the derived quantization noise value.

This has the advantage that the filter parameters can be determined with higher accu- racy

Preferably, the quantization noise value can be derived analytically from the codec signaling information. In a third implementation of the image coding apparatus according to the first aspect as such or according to any of the preceding implementations of the first aspect, the parameter determination unit is configured to analytically derive the quantization noise value from a quantization parameter QP of the codec signaling information. This has the advantage that the quantization noise value can be determined efficiently and with high accuracy.

In a fourth implementation of the image coding apparatus according to the first aspect as such or according to any of the preceding implementations of the first aspect, the image coding apparatus further comprises an application map unit configured to determine where filtering should be implemented.

Preferably, the application map unit is implemented at the encoder side, and corre- sponding signaling information is transferred to the decoder side.

In a fifth implementation of the image coding apparatus according to the first aspect as such or according to any of the preceding implementations of the first aspect, the parameter determination unit is configured to determine the filter parameters by:

- partitioning the estimated original image into blocks, and

for each of the blocks:

determining a cluster of patches that are similar to the block,

2D-transforming the cluster of patches to obtain transformed patches, and

- determining the first parameters based on the transformed patches.

In a sixth implementation of the image coding apparatus according to the first aspect as such or according to any of the preceding implementations of the first aspect, the parameter determination unit is configured to determine, for each of the blocks, the filter parameters based on the transformed patches by:

regrouping elements of the transformed patches to obtain a matrix Tj, wherein each row of the matrix Tj comprises frequency components with same spatial frequencies,

transforming the matrix Tj to obtain a transformed matrix tfy W , wherein each row of the matrix tfy W is a ID transform of a corresponding row of matrix Tj, and

determining the filter parameters gv w as:

wherein Ω is a column number in matrix tf^,, spatial frequencies v, w correspond to a j-th row of matrix tfy W and N is a quantization noise value derived from the codec signaling information. In a seventh implementation of the image coding apparatus according to the first aspect as such or according to any of the preceding implementations of the first aspect, the mixed-domain filtering unit is configured to, for each of a set of blocks of the reconstructed image:

- determine a set of patches that are similar to the block,

2D-transform the patches into frequency domain to obtain frequency-domain patches,

perform collaborative filtering of the frequency-domain patches in frequency domain to obtained filtered transformed frequency-domain patches,

- inverse 2D transform the filtered transformed frequency-domain patches in frequency domain to obtain filtered patches, and

perform collaborative filtering of the filtered patches in pixel domain along pixel patches from different sets of patches with the same spatial coordinates. Preferably, the set of blocks of the reconstructed image covers the entire reconstructed image. The blocks can represent a segmentation of the reconstructed image (i.e., they are non-overlapping) or they can cover the reconstructed image in an overlapping manner. In an eighth implementation of the image coding apparatus according to the first aspect as such or according to any of the preceding implementations of the first aspect, the 2D transformation is a Haar wavelet transform.

In a ninth implementation of the image coding apparatus according to the first aspect as such or according to any of the preceding implementations of the first aspect, the mixed-domain filtering unit is configured to perform, for each of the blocks, the collaborative filtering based on the transformed patches by:

regrouping elements of the transformed patches to obtain a matrix Tj, wherein each row of the matrix Tj comprises frequency components with same spatial frequencies,

transforming the matrix Tj to obtain a transformed matrix tf^,, wherein each row of the matrix tfy W is a ID transform of a corresponding row of matrix Tj, and perform filtering by multiplying each element of matrix tf^, by a filter parame

wherein Ω is a column number in matrix tfy W and spatial frequencies v, w correspond to a j-th row of matrix tf^.

In a tenth implementation of the image coding apparatus according to the first aspect as such or according to any of the preceding implementations of the first aspect, the ID transformation is a Hadamard transform. In an eleventh implementation of the image coding apparatus of the second aspect, the adaptive filtering flag flag is used to indicate that the mixed-domain filtering unit should be used to filter an image,

the frame level usage flag flag is used to indicate that the entire reconstructed image should be filtered,

- the macroblock size field is used to indicate a macroblock size which should be used for filtering, and/or

the use filtered mb flag flag is used to indicate whether a filtered macroblock should be used. The above-mentioned flags can be e.g. encoded by the encoder into the bitstream.

A second aspect of the invention refers to a system comprising an image encoding apparatus according to the first aspect or one of its implementations and an image decoding apparatus according to the first aspect or one of its implementations, wherein the parameter determination unit of the image encoding apparatus is configured to determine the filter parameters in the same way as the parameter determination unit of the image decoding apparatus.

This system has the advantage that no transmission of filter parameters from the en- coder side to the decoder side is required. Thus, a coding efficiency can be improved.

A third aspect of the invention refers to a method for still image coding, the method comprising: reconstructing an image,

determining one or more filter parameters based on one or more first parameters which are based on the reconstructed image and one or more second parameters which are based on codec signaling information, and

- filtering in a frequency domain and in a pixel domain the reconstructed image based on the determined filter parameters to obtain a filtered image.

The methods according to the third aspect of the invention can be performed by the image coding apparatus according to the first aspect of the invention. Further features or implementations of the method according to the third aspect of the invention can perform the functionality of the image coding apparatus according to the first aspect of the invention and its different implementation forms.

A fourth aspect of the invention refers to a computer-readable storage medium storing program code, the program code comprising instructions for carrying out the method of the third aspect.

BRIEF DESCRIPTION OF THE DRAWINGS To illustrate the technical features of embodiments of the present invention more clearly, the accompanying drawings provided for describing the embodiments are introduced briefly in the following. The accompanying drawings in the following description are merely some embodiments of the present invention, modifications on these embodiments are possible without departing from the scope of the present inven- tion as defined in the claims.

FIG. 1 is a block diagram illustrating an image coding apparatus in accordance with an embodiment of the present invention, FIG. 2 is a block diagram illustrating a system comprising an image encoding apparatus and an image decoding apparatus in accordance with a further embodiment of the present invention, is a flow chart of a method for still image coding in accordance with a further embodiment of the present invention, is a block diagram of a filter in accordance with a further embodiment of the present invention, is a block diagram of a filter in accordance with a further embodiment of the present invention, is a block diagram of a filter parameter estimator in accordance with a further embodiment of the present invention, is a flow chart of a filter parameter estimator in accordance with a further embodiment of the present invention, shows pseudo code of a filter parameter estimation block in accordance with a further embodiment of the present invention, is a schematic illustration of a StackTransform () procedure in accordance with a further embodiment of the present invention, is a flow chart of a mixed-domain collaborative filtering block in accordance with a further embodiment of the present invention, shows pseudo code of a mixed-domain collaborative filtering block in accordance with a further embodiment of the present invention, shows pseudo code of a mixed-domain collaborative filtering block in accordance with a further embodiment of the present invention, is a schematic illustration of a pixel domain collaborative filter in accordance with a further embodiment of the present invention, and FIG. 14 is a block diagram of an application map block in accordance with a further embodiment of the present invention.

Detailed Description of the Embodiments

FIG. 1 shows an image coding apparatus 100.

The image coding apparatus 100 comprises an image reconstruction unit 1 10, a parameter determination unit 120 and a mixed-domain filtering unit 130.

The image reconstruction unit 1 10 is configured to reconstruct an image.

The parameter determination unit 120 is configured to determine one or more filter parameters, based on one or more first parameters which are based on the reconstructed image and one or more second parameters which are based on codec signaling information.

The mixed-domain filtering unit 130 is configured to filter in a frequency domain and a pixel domain the reconstructed image based on the determined filter parameters to obtain a filtered image.

The image coding apparatus 100 can be an encoder and/or a decoder.

FIG. 2 shows a system 200 comprising an image encoding apparatus 210 and an image decoding apparatus 220, wherein the parameter determination unit of the image encoding apparatus is configured to determine the filter parameters in the same way as the parameter determination unit of the image decoding apparatus. The dashed line between the image encoding apparatus 210 and the image decoding apparatus 220 indicates that a bitstream may be transferred from the image encoding apparatus 210 to the image decoding apparatus 220. The image encoding apparatus 210 and/or the image decoding apparatus 220 may be configured as described in FIG. 1.

FIG. 3 shows a method 300 for still image coding. The method comprises a first step 310 of reconstructing an image.

The method comprises a second step 320 of determining one or more filter parameters based on one or more first parameters which are based on the reconstructed image and one or more second parameters which are based on codec signaling information.

The method comprises a third step 330 of filtering in a frequency domain and in a pixel domain the reconstructed image based on the determined filter parameters to obtain a filtered image.

The reconstructed (decoded) image can be divided into a set of small macroblocks and then each macroblock can be filtered by a filter as described below.

FIG. 4 is a block diagram of a filter, which is preferably used as a post filter on the en- coder side.

The filter 400 comprises three blocks: a parameter estimation block 410, a mixed domain collaborative filtering block 420 and an application map block 430. Similar to ALF, the parameter estimation block 410 calculates filter parameters. But in contrast to ALF, the filter parameters are calculated without knowledge of the source image. The filter parameter estimation is based on two groups of input parameters. The first group of parameters is estimated based on the reconstructed image and the second group of parameters is derived from codec signaling information which are already transferred from the encoder to the decoder. According to the above described procedure the filter parameters can be estimated on the decoder side and so filter parameters should not be transferred from the encode to decoder side. Similar to ALF, a parameter estimation block calculates the filter impulse response, but the parameter estimation block 410 of filter 400 estimates a frequency impulse response, because base filtering is performed in frequency domain. The frequency domain implementation allows building a more efficient non-linear filter. The frequency impulse response is an example of filter parameters. In contrast to ALF, which performs local filtering in pixel domain, non-local collaborative filtering is performed in a mixed domain (spatial frequency and pixel domain). Such approach allows more efficient usage of spatial redundancy. Initial filtering is performed in frequency domain and the final averaging is performed in pixel domain.

Similar to ALF, during the RDO process the application map block determines areas where filtering should be applied. If the coding gain from removing quantization noise from the decoded image is significantly more than degradation of the filtered decoded image, then filtering is applied. Otherwise, the unfiltered reconstructed image is used as output for the end user.

The filter 400 can be used as decoder side post filter, too. In this case the application map block 430 can be excluded from the post filter design and there is no additional bit budget for application map transmission. Of course, in this case coding gain will be de- creased, but it will be significant also.

The application map block 430 generates application map data that is provided to an entropy coder 440. FIG. 5 is a block diagram of a filter 500, which can be used preferably as post filter on the decoder side. The filter 500 comprises a parameter estimation block 510 and a mixed-domain collaborative filtering block 520. The parameter estimation block 510 determines a frequency impulse response, which is a filter parameter, and provides this to the mixed domain collaborative filtering block 520. Both the parameter estimation block 510 and the mixed domain collaborative filtering block are provided with the reconstructed image as input.

FIG. 6 shows a block diagram which illustrates an operation of a parameter estimation block 600, e.g. the parameter estimation block 410 of FIG. 4 or the parameter estima- tion block 510 of FIG. 5. The parameter estimation block 600 comprises a noise estimator 610, an original image estimator 620 and a filter parameter estimator 630. The noise estimator 610 derives a quantization noise variance as function from a Quantization parameter QP. The original image estimator 620 estimates an original image (source image) from a reconstructed (decoded) image. Only the reconstructed image and the noise variance are used for source image estimation. The filter parameter estimator 630 estimates collaborative filter parameters based on source image estimation and noise variance derived from encoder service parameters. For the Wiener collaborative filter case this block calculates a frequency impulse filter response. In detail, this process will be described below.

FIG. 7 shows a flow chart which illustrates operation of a filter parameter estimator 700. The filter parameter estimator comprises an image partitioning block 710, a block matching block 720, a 2D transform block 730 and a parameter calculator block 740. The image partitioning block generates a set of macroblocks which cover the reconstructed image. Then, for each macroblock from this set, the block matching block 720 finds k closest blocks using a MSE metric. Found patches are grouped to clusters. For each patch from a cluster a 2D transform is performed in the 2D transform block 730. For each group of frequency domain patches (wherein each frequency domain patch is a 2D spectrum of a pixel domain patch) collaborative filter parameters are calculated in the parameter calculator block 740. For the particular case of Wiener collaborative filtering, the frequency impulse response is calculated in the parameters calculator functional block 740. FIG. 8 shows pseudo-code 800 of a filter parameter estimation in details for a general case and for a Wiener collaborative filter. On the first processing step, a partitioning procedure creates a macroblocks set B = , b 2 , ... , b M } covered source image estimation, where is the number of macroblocks and b t is the z ' -th reference macroblock. Then, for each reference macroblock b : k closest blocks are found using a MSE metric during a block matching procedure P ! - BlockMatch(S , b i ) = {b, , p° , p) , p , ... , p k~ } , where S is a source image estimation from a reconstructed image and p\ - j patch corresponding to p reference macroblock. On the next stage for each patch from pixel domain cluster P t 2D transform is performed. Frequency domain cluster F t includes 2D spectra of pixel domain patches from a pixel domain cluster P t is used for collabora- tive filter parameter estimation (These filter parameters are used for filtering all patches from /^). In the general case, filter parameters are a function from a frequency domain cluster and noise variance G ( = FunciF^ N).

For the particular case of Wiener collaborative filter the frequency impulse response (filter parameter in frequency domain) can be determined using the following procedure. At the first step a StackTransformQ procedure is performed for each frequency domain cluster F t .

FIG. 9 is a schematic illustration of the StackTransformQ procedure. The StackTrans- form() procedure is performed in two steps. In a first step 910, the auxiliary matrix T t is created based on frequency domain cluster F l scanning.

The following scanning rule is used: each row of matrix T i consists of frequency component from different patch of the same frequency domain cluster F t with the same spatial frequencies [ v, w ] :

v = 0,... , « - l;

w = 0,... , n - \;

j = v * n + w

On the last step 920 of the StackTransformQ procedure the output matrix TF I is created. Each row of this matrix is a ID transform 920 of a corresponding row of T t matrix.

A frequency impulse response for a Wiener collaborative filter is determined by the following equation:

( Ω)) 2

(tf w (Q)) 2 + N 2 wherein Ω is a column number in matrix tf w , spatial frequencies v, w correspond to a j-th row of matrix tfy W and N is a quantization noise value derived from the codec signaling information. FIG. 10 is a flow chart which illustrates an operation of a collaborative filter 1000 in a mixed domain. According to this figure the mixed domain collaborative filter 1000 comprises an image partitioning block 1010, a block matching block 1020, a 2D transform block 1030, an inverse 2D transform block 1050 and collaborative frequency filter 1040 and a pixel domain filter 1060.

As in the filter parameter estimator the image partitioning block 1010 creates a set of macroblocks which cover the reconstructed image. Then, for each reference macroblock from this set k closest blocks are found using a MSE metric by the block matching block 1020. In a next step, found spatial patches are combined in a pixel do- main cluster corresponding to the reference macroblock. The 2D transform block 1030 performs a 2D transform over each patch in a chosen pixel domain cluster and produces a frequency domain cluster which comprises 2D spectra of corresponding pixel domain patches. The collaborative frequency domain filter 1040 performs collaborative filtering of 2D spectra of pixel domain patches using filter parameters calculated in the previous step. The inverse 2D transform block 1050 returns filtered frequency domain patches to the pixel domain. Then, pixel based collaborative filtering 1060 performs final averaging of pixel domain patches corresponding to the reference macroblock. FIG. 1 1 shows a mixed domain collaborative filter pseudo-code 1 100 in detail. In a first processing step a partitioning procedure creates a set of macroblocks

B = {b , b 2 , ... , b M } which cover a reconstructed (decoded) frame, where M is a number of macroblocks and b t is an i-th reference macroblock. Then, for each reference macroblock b t k closest blocks are found using a MSE metric during a block matching pro- cedure

P, = BlockMatchiS^ ) ^ {b,,p° ,p) ,p; .. 7 p^ ~ } , where S is the reconstructed image and p t ' is a j-th patch corresponding to the p reference macroblock. In the next stage for each patch from pixel domain cluster P t a 2D transform is performed. A frequency domain cluster F j includes 2D spectra of pixel domain patches from pixel domain cluster P t is used for collaborative filtering. In a general case the collaborative filter in frequency domain performs frequency domain patch averaging and produces filtered frequency domain patches

R = FreqCollaborativeFitering F^ G^

corresponding to pixel domain patches. An inverse 2D transform returns filtered in frequency domain patches R, to pixel domain and produces filtered pixel domain patches P i . On the last processing stage frequency domain filtered patches P 0 , P ] , ... , P M are averaged in pixel domain based on a procedure SameBlockAvgQ , which will be described below.

FIG. 12 shows pseudo code 1200 for a collaborative filter in a mixed domain for the Wiener filter case. As in the general case, reconstructed image partitioning, block matching procedure and 2D transform should be performed. Then, collaborative filtering of patch spectra should be performed in frequency domain. For this goal the Stack- TransformQ procedure illustrated in FIG. 9 can be performed. Then Wiener filtering should be performed in frequency domain via stack (group) spectrum TF t multiplica- tion by Wiener frequency impulse response G t calculated on previous step based on source signal spectrum estimation and noise variance. After this procedure an inverse stack transform over the multiplication result should be performed to get filtered frequency domain patches R, . Then the same proceeding as in the general case should be performed.

FIG. 13 illustrates collaborative filtering in the pixel domain (procedure SameBlockAvgQ). Filtering is based on the result of the collaborative filtering in the frequency domain. After collaborative filtering in the frequency domain for each reference macroblock 1310 from a reconstructed image 1300 there is set of filtered similar blocks which can be used for noise averaging. If averaging is performed along spatial patches noise from one side can be decreased, but this can lead to distortion of edges from the other side. So averaging is performed different way. Each macroblock in the reconstructed image can be a reference for one cluster of pixel patches and secondary for other pixel clusters. In each cluster, averaging is performed independently and so the same patch can be filtered in different clusters by different ways.

Collaborative filter in pixel domain averages the same patch (patch with fixed spatial coordinates) along all clusters which include this patch. This allows decreasing noise and introducing low edge distortion.

FIG. 14 shows a block diagram which illustrates operation of an application map block 1400, which is an application map unit. The application map block 1400 determines where the reconstructed image should be filtered and where the original reconstructed frame should be used for delivery for an end user. A block generation unit (not shown) generates a set of macroblocks which covers the reconstructed frame. Then, for each macroblock the decision maker block 1410 makes a decision about filter usage for the chosen macroblock during a rate distortion optimization (RDO) process. Correspondingly, a switch 1420 chooses an output block to be either the reconstructed block or the filtered block.

If a coding gain from removing quantization noise from the decoded image is significantly more than degradation of the filtered decoded image, then filtering is applied. Otherwise, a reconstructed image is used as output for an end user. The application map block decisions are encoded with an entropy encoder 1430 and transferred from encoder to decoder side.

As outlined above, embodiments of the invention overcome one or more of the following disadvantages of the Adaptive Loop Filter:

In ALF, filter parameters need to be transmitted from the encoder to the decoder, because the filter parameters cannot be estimated in the decoder (the original signal is absent in the decoder and so it cannot be used for filter parameters estimation).

- In ALF, linear pixel domain filtering is used and potential benefits from nonlinear filtering cannot be achieved.

- In ALF, only local filtering is used and so spatial redundancy cannot be used fully.

Further embodiments of the present invention may include: 1. A method and an apparatus for still image coding(compression), comprising:

- reconstructing image generator corresponding to coded source image

- adaptive post filter in mixed domain (spatial frequency and pixel domain) applied to reconstructing image for post filtering (decoded signal improvement), where part of filter parameters is estimated from reconstructed image and sec- ond part of filter parameters is derived from encoder signaling information which is already encoded into bitstream and using for encoded signal reconstruction in codec's without post filtering

2. Same as previous, where both part of adaptive post filter parameters can be derived on the decoder side and so should not be encoded into bitstream.

3. Same as previous, where application map is implemented on the filter output for optimal tradeoff between quantization noise suppression and decoded video degradation.

4. Same as previous, where filter parameter estimation is based on original image estimation from reconstructed signal and quantization noise estimation.

5. Same as 1 to 3, where original image estimation is based on the reconstructed image only

6. Same as previous, where noise estimation is a function of an encoder quantization parameter (qp)

7. Same as previous, where the adaptive filter in the mixed domain comprises the following steps:

- Generating a set of patches covering the reconstructed image

- Spatial search of patches similar to reference block selected on the first stage

- Grouping found patches to clusters

- 2D transform of each patch from each cluster - Collaborative filtering in frequency domain of 2D pixels patches spectra corresponding to one cluster

- Inverse 2D transform of filtered frequency domain patches into pixel domain

- Averaging frequency domain filtered pixel patches in pixel domain with the same coordinates from different patch clusters

8. Same as 7, where Haar wavelet transform is used as 2D transform.

9. Same as 7 or 8, where Wiener collaborative filtering in frequency domain is used as collaborative filtering in frequency domain.

10. Same as previous, where adaptive_filtering_flag flag is used for event signaling when proposed compression tool should be used

1 1. Same as previous, where frame level usage flag flag is used for signaling case when whole reconstructed image should be filtered

12. Same as previous, where macroblock size determines macroblock size which should be used for filtering

13. Same as previous, where use filtered mb flag flag shows whether filtered macroblock should be used

The foregoing descriptions are only implementation manners of the present invention, the scope of the present invention is not limited to this. Any variations or replacements can be easily made through person skilled in the art. Therefore, the protection scope of the present invention should be subject to the protection scope of the attached claims.