Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
ONEDIMENSIONAL BILATERAL FILTERING OF INTRA PREDICTION REFERENCE PIXELS
Document Type and Number:
WIPO Patent Application WO/2019/072918
Kind Code:
A1
Abstract:
Predictor for intra predicting a predicted block for a currently processed block of a picture from reference samples in a two-dimensional coordinate system which are derived from one or more previously processed blocks of the picture, the predictor comprising: an arranger configured for arranging the reference samples as a one-dimensional reference sample sequence in a one-dimensional coordinate system; a smoothing filter configured for filtering the one-dimensional reference sample sequence based on a bilateral filter function with a one-dimensional window in order to obtain a one-dimensional filtered reference sample sequence comprising filtered reference samples; and a determiner configured for determining for each of a plurality of predicted image samples of the currently processed block a respective prediction value by using the filtered reference sample sequence in order to produce the predicted block.

Inventors:
MERKLE PHILIPP (DE)
SCHWARZ HEIKO (DE)
MARPE DETLEV (DE)
WIEGAND THOMAS (DE)
Application Number:
PCT/EP2018/077604
Publication Date:
April 18, 2019
Filing Date:
October 10, 2018
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
FRAUNHOFER GES FORSCHUNG (DE)
International Classes:
H04N19/105; H04N19/11; H04N19/117; H04N19/176; H04N19/182; H04N19/192; H04N19/42; H04N19/593; H04N19/80; H04N19/85
Domestic Patent References:
WO2011127964A22011-10-20
WO2011127964A22011-10-20
Foreign References:
US20130003832A12013-01-03
Other References:
C. TOMASI ET AL: "Bilateral filtering for gray and color images", SIXTH INTERNATIONAL CONFERENCE ON COMPUTER VISION (IEEE CAT. NO.98CH36271), 1 January 1998 (1998-01-01), pages 839 - 846, XP055166574, DOI: 10.1109/ICCV.1998.710815
STRÖM J ET AL: "EE2-JVET-E0032 Bilateral filter Test 1, Test2", 6. JVET MEETING; 31-3-2017 - 7-4-2017; HOBART; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ); URL: HTTP://PHENIX.INT-EVRY.FR/JVET/,, no. JVET-F0034, 23 March 2017 (2017-03-23), XP030150687
ALBRECHT M ET AL: "Description of SDR, HDR and 360° video coding technology proposal by Fraunhofer HHI", 10. JVET MEETING; 10-4-2018 - 20-4-2018; SAN DIEGO; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ); URL: HTTP://PHENIX.INT-EVRY.FR/JVET/,, no. JVET-J0014-v4, 12 April 2018 (2018-04-12), XP030151173
THOMAS WIEGAND; GARY J. SULLIVAN; GISLE BJONTEGAARD; AJAY LUTHRA: "Overview of the H.264/AVC Video Coding Standard", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, vol. 13, no. 7, July 2003 (2003-07-01), pages 560 - 576, XP008129745, DOI: doi:10.1109/TCSVT.2003.815165
GARY J. SULLIVAN; JENS-RAINER OHM; WOO-JIN HAN; THOMAS WIEGAND: "Overview of the High Efficiency Video Coding (HEVC) Standard", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, vol. 22, no. 12, November 2012 (2012-11-01), pages 1649 - 1668, XP011487803, DOI: doi:10.1109/TCSVT.2012.2221191
Attorney, Agent or Firm:
SCHENK, Markus et al. (DE)
Download PDF:
Claims:
Claims

1. Predictor for intra predicting a predicted block (PB) for a currently processed block (CPB) of a picture (PIC) from reference samples (RS) in a two-dimensional coordinate system which are derived from one or more previously processed blocks (PPB) of the picture (PIC), the predictor (1) comprising: an arranger (2) configured for arranging the reference samples (RS) as a one-dimensional reference sample sequence (RSS) in a one-dimensional coordinate system; a smoothing filter (3) configured for filtering the one-dimensional reference sample sequence (RRS) based on a bilateral filter function with a one-dimensional window (Wl) in order to obtain a one-dimensional filtered reference sample sequence (FRSS) comprising filtered reference samples (FRS); and a determiner (4) configured for determining for each of a plurality of predicted image samples (PIS) of the predicted block (PB) a respective prediction value (PV) by using the filtered reference sample sequence (FRSS) in order to produce the predicted block (PB).

2. Predictor according to the preceding claim, wherein at least a part of the reference samples (RS) in the two-dimensional coordinate system sequentially extend along two rays (R1 , R2) starting at a common intersection point (IP) and pointing into different directions, wherein the arranger (2) is configured for arranging the reference samples (RS) into a one- dimensional reference sample sequence (RSS) by anti-parallelly traveling along a first one (R1) of the two rays (R1 , R2) and parallelly traveling along a second one (R2) of the two rays (R1 , R2).

3. Predictor according to the preceding claim, wherein the reference samples (RS) in the two-dimensional coordinate system comprise first edge reference samples (ERS1 ) bordering on a first side of the currently processed block (CPB).

4. Predictor according to the preceding claim, wherein the reference samples (RS) in the two-dimensional coordinate system comprise second edge reference samples (ERS2) bordering on a second side of the currently processed block (CPB).

5. Predictor according to one of the preceding claims, wherein a range kernel function of the bilateral filter function is a Gaussian range kernel function, and wherein a spatial kernel function of the bilateral filter function is a Gaussian spatial kernel function.

6. Predictor according to one of the preceding claims, wherein the smoothing filter (3) is configured for iteratively filtering the one-dimensional reference sample sequence (RSS) in order to obtain the one-dimensional filtered reference sample sequence (FRSS) comprising the filtered reference samples (FRS).

7. Predictor according to one of the preceding claims, wherein the smoothing filter (3) is configured for outputting the one-dimensional filtered reference sample sequence (FRSS) as a sequence of integer numbers.

8. Predictor according to one of the preceding claims, wherein the determiner (4) comprises a shifter (5) configured for shifting the filtered reference samples (FRS) in order to obtain shifted filtered reference samples (SFRS), wherein one of the filtered reference samples (FRS) is shifted to a position of one of the reference samples (RS) in the two-dimensional coordinate system which corresponds to the one of the filtered reference samples (FRS) in order to obtain one of the shifted filtered reference samples (SFRS).

9. Predictor according to the preceding claim, wherein the determiner (4) comprises a prediction finder (6) configured for determining the prediction value (PV) for the predicted image sample (PIS) of the currently processed block (CPB) by using the shifted filtered reference sample sequence (SFRS).

10. Predictor according to one of the preceding claims, wherein the predictor (1) comprises a lookup table (7) configured for receiving from the smoothing filter (3) a spatial difference (SPD) between a currently processed filtered reference sample (FRS) of the one-dimensional filtered reference sample sequence (FRSS) and one reference sample (RS) of the one-dimensional reference sample sequence (RSS), configured for receiving from the smoothing filter (3) an intensity difference (ITD) between the currently processed filtered reference sample (FRS) and the one reference sample (RS), and configured for transmitting to the smoothing filter (3) a weight (WE) for calculating an intensity value for the currently processed filtered reference sample (FRS), wherein the weight (WE) is selected from a set of weights stored at the lookup table (7) depending on the received spatial difference (SPD) and the received intensity difference (ITD), and wherein the set of weights is pre-calculated based on a weight function of the bilateral filter function.

11. Predictor according to the preceding claim, wherein the weights (WE) are stored as integer numbers.

12. Predictor according to one of the claims 1 to 9, wherein the predictor (1) comprises a lookup table arrangement (18) comprising a first lookup table (19), a second lookup table (20) and a multiplier (21), wherein the first lookup table (19) is configured for receiving from the smoothing filter (3) a spatial difference (SPD) between a currently processed filtered reference sample (FRS) of the one-dimensional filtered reference sample sequence (FRSS) and one reference sample (RS) of the one-dimensional reference sample sequence (RSS), wherein the second lookup table (20) is configured for receiving from the smoothing filter (3) an intensity difference (ITD) between the currently processed filtered reference sample (FRS) and the one reference sample

(RS), wherein the lookup table arrangement (18) is configured for transmitting to the smoothing filter (3) a weight (WE) for calculating an intensity value for the currently processed filtered reference sample (FRS), wherein the multiplier (21) is configured for calculating the weight (WE) by multiplying a first weight factor (FWF) and a second weight factor (SWF), wherein the first weight factor (FWF) is selected from a set of first weight factors stored at the first look-up table (19) depending on the received spatial difference (SPD), wherein the set of first weight factors is pre- calculated based on a spatial weight function of the bilateral filter function, and wherein the second weight factor (SWF) is selected from a set of second weight factors stored at the second lookup table (20) depending on the received intensity difference (ITD), wherein the set of weights is pre- calculated based on an intensity weight function of the bilateral filter function.

13. Video encoder for encoding a picture (PIC) into a data stream (DS), the video encoder (8) comprising a predictor (1) according to one of the claims 1 to 12.

14. Video encoder according to the preceding claim, wherein the video encoder (8) comprises a residual information determiner (9) configured for comparing the predicted image samples (PIS) of the predicted block (PB) with original image samples (OIS) of the currently processed block (CBP) of the picture (PIC) in order to determine a residual information (RIN), a transformer (10) configured for quantizing the residual information (RIN) in order to obtain a transform coefficient block (TCB), a data stream inserter (11) configured for inserting the transform coefficient block (TCB) and intra prediction parameters (IPP) received from the predictor (1) into the data stream (DS), an inverse transformer (12) configured for dequan- tizing the transform coefficient block (TCB) in order to obtain a reconstructed residual information (RRIN) and a reconstructor (13) configured for reconstructing subsequent reference samples (SURS) for intra predicting a subsequent predicted block for a subsequently processed block of the picture based on the predicted block (PB) and based on the reconstructed residual information (RRIN).

15. Video decoder for decoding a data stream (DS) in order to reconstruct a picture (PIC), the video decoder (15) comprising a predictor (1) according to one of the claims 1 to 12.

16. Video decoder according to the preceding claim, wherein the video decoder (15) comprises an extractor (16) configured for extracting a transform coefficient block (TCB) for the currently processed block (CPB) of the picture (PIC) and intra prediction parameters (IPP) for the currently processed block (CPB) of the picture (PIC) from the data stream (DS) and configured to send the intra prediction parameters (IPP) to the predictor (1), an inverse transformer (12) configured for invers transforming the transform coefficient block (TCB) in order to obtain a reconstructed residual information (RRIN) and a reconstructor (13) configured for producing the currently processed block (CPB) based on the predicted block (PB) and based on the reconstructed residual information (RRIN) and configured for producing subsequent reference samples (SURS) for intra predicting a subsequent predicted block for a subsequently processed block of the picture (PIC) based on the predicted block (PB) and based on the reconstructed residual information (RRIN).

17. Method for intra predicting a predicted block (PB) for a currently processed block (CPB) of a picture (PIC) from reference samples (RS) in a two-dimensional coordinate system which are derived from one or more previously processed blocks (PPB) of the picture (PIC), the method comprising the steps: arranging, by using an arranger (2), the reference samples (RS) as a one- dimensional reference sample sequence (RSS) in a one-dimensional coordinate system; filtering, by using a smoothing filter (3), the one-dimensional reference sample sequence (RRS) based on a bilateral filter function with a one- dimensional window (Wl) in order to obtain a one-dimensional filtered reference sample sequence (FRSS) comprising filtered reference samples (FRS); and determining, by using a determiner (4), for each of a plurality of predicted image samples (PIS) of the predicted block (PB) a respective prediction value (PV) by using the filtered reference sample sequence (FRSS) in order to produce the predicted block (PB).

18. Computer program for, when running on a processor, executing the

method according to the preceding claim.

Description:
ONEDIMENSIONAL BILATERAL FILTERING OF INTRA PREDICTION

REFERENCE PIXELS

Description

Embodiments of the present invention relate to a predictor for intra predicting a block of a picture. Further embodiments of the present invention relate to video decoders or to video encoders. In the prior art video coding, the components of a video frame are predicted either by motion compensated prediction, using the reconstructed color components of previous pictures, or by intra prediction, using previously reconstructed blocks of the same picture [1]. The basic concept of intra-picture prediction is that sample values of the current block are predicted using reference samples of previous coded blocks in the same picture. Usually, reference samples are adjacent samples left and above of the current block [2]. Intra-picture prediction either uses original (un- filtered) or modified (filtered) reference samples. High-Efficiency Video Cod- ing (HEVC) uses low-pass filtered reference samples for larger blocks having a square shape and strong intra smoothing for 32x32 blocks. The regular reference sample low-pass filter for larger blocks having a square shape is a 3-tap smoothing filter with positive kernel values, i.e. ¼ [1 , 2, 1]. In strong intra smoothing reference sample values are derived as the linear interpola- tion between the values of the corner and the end samples. [3].

Filtering reference samples in video coding using intra-picture prediction according to prior art may improve a compression efficiency of the transmitted information and may reduce a computational load in video coding. However, the quality of a reconstructed video may be reduced by such filtering, especially when the strength of the filter is increased.

It is an objective of the present invention to provide a concept for improving video coding using intra prediction. In a first aspect the invention provides a predictor for intra predicting a predicted block for a currently processed block of a picture from reference samples in a two-dimensional coordinate system which are derived from one or more previously processed blocks of the picture, the predictor comprising: an arranger configured for arranging the reference samples as a one- dimensional reference sample sequence in a one-dimensional coordinate system; a smoothing filter configured for filtering the one-dimensional reference sample sequence based on a bilateral filter function with a one-dimensional window in order to obtain a one-dimensional filtered reference sample sequence comprising filtered reference samples; and a determiner configured for determining for each of a plurality of predicted image samples of the predicted block a respective prediction value by using the filtered reference sample sequence in order to produce the predicted block.

The predictor according to the invention is, in particular, suitable for a video encoder or a video decoder. Thus, herein the term processing may refer to encoding or to decoding. A block is a part of the picture which may have a square shape or a rectangular shape. A currently processed block is that block which is currently to be processed. In case that the predictor is used within a video encoder, the term currently processed block describes the block currently encoded. If, however, the predictor is used within a video decoder, the term currently processed block describes the block currently to be decoded. Previously processed blocks are such blocks which have been processed before the processing of the currently processed block has been started. A predicted block is a block which comprises predicted image samples predicted by the predictor which are derived from the reference samples and are an approximation of the original image samples of the respective block. A sample can be regarded as a pixel of the picture and is defined by its position and an intensity value. In general, the reference samples for intra predicting a currently processed block of a picture are derived from previously processed blocks of the same picture, which are positioned adjacent to the currently processed block. Each of the reference samples is defined by a two-dimensional position in a two- dimensional coordinate system of the picture and by an intensity value sometimes referred to as sample value. The reference samples may, for example, be stored in a memory array. In case that an intensity value of one of the reference samples is not available, the intensity value of the one reference sample may be interpolated using intensity values of other reference samples.

The arranger is configured for arranging such reference samples into a one- dimensional reference sample sequence so that each reference sample may be identified by a one-dimensional position in a one-dimensional coordinate system. As a result, a one-dimensional window may be used for subsequent filtering of the reference sample sequence which requires less computational effort. However, the arranger does usually not change the intensity values of the reference samples. The arranger may be configured for copying the reference samples from a memory array to a line buffer.

The determiner is capable of determining for each of a plurality of predicted image samples of the currently processed block a respective prediction value by using the filtered reference sample sequence in order to produce the predicted block. For this purpose, the determiner may be capable of executing different prediction modes such as a planar intra-prediction mode, a DC intra- prediction mode and/or an angular intra-prediction mode as used in High Efficient Video Coding.

The determiner may be configured for determining for each of a plurality of predicted image samples of the currently processed block a respective prediction value by, depending on a prediction mode used for producing the predicted block, a channel type and/or depending on a size of the currently processed block, either using the filtered reference sample sequence or the (un- filtered) reference samples in order to produce the predicted block. In video technology luma channels and chroma channels are known. A luma channel, represents the brightness in an image (the "black-and-white" or achromatic portion of the image). A luma channel may be used alone, but is typically paired with a chroma channel, wherein the luma represents the achromatic image, while the chroma channel represents the color information.

The smoothing filter has a one-dimensional window, which requires a lower computational effort compared to a two-dimensional window. The smoothing filter uses a bilateral filter function. A bilateral filter function combines a range kernel function, sometimes referred to as intensity function, with a spatial kernel function such that an outputted sample value for a specific position, depends on an intensity difference between an inputted intensity value for the specific position and an inputted intensity value for a further specific position and on a position difference between the specific position and the further specific position multiplied by the intensity value for the further position.

In contrast to that, low-pass filters as used in references [2] and [3] only comprise a spatial kernel function such that an outputted intensity value only depends on the position difference between the specific position and the further specific position multiplied by the intensity value for the further position.

In general, the bilateral filter function is defined as with normalization term where

Each of the filtered reference samples has a position in the one-dimensional coordinate system so that each of the filtered reference samples has one- dimensional coordinates being the same as the one-dimensional coordinates of the reference sample corresponding to the respective filtered reference sample. However, the intensity value of a filtered reference sample may, and usually will, differ from an intensity value of the reference sample having the same one-dimensional coordinates as the respective filtered reference sample.

It has to be noted that filtering the reference samples takes place prior to the prediction process, so that filtering has an effect on the predicted values of the predicted image samples for the currently processed block, but no effect on the predicted values of previously processed blocks.

The invention improves a compression efficiency of the transmitted information and reduces a computational load in video coding, while the quality of a reconstructed video is maintained. In particular, the invention avoids small local details being predicted over several rows/columns of samples. In contrast to conventional strong low-pass filtering, the invention preserves sharp edges. Furthermore, it has turned out that bilateral filtering according to the invention, in contrast to conventional filtering, is also beneficial for very large blocks of different shapes, in particular, bilateral filtering is also beneficial for rectangular blocks which have a large difference between the number of the rows and the number of the columns, wherein conventional filtering is only suitable for blocks having a square shape.

According to a preferred embodiment of the invention at least a part of the reference samples in the two-dimensional coordinate system sequentially extend along two rays starting at a common intersection point and pointing into different directions, wherein the arranger is configured for arranging the reference samples into a one-dimensional reference sample sequence by anti-parallelly traveling along a first one of the two rays and paralle!ly traveling along a second one of the two rays.

According to a preferred embodiment of the invention the reference samples in the two-dimensional coordinate system comprise first edge reference samples bordering on a first side of the currently processed block.

According to a preferred embodiment of the invention the reference samples in the two-dimensional coordinate system comprise second edge reference samples bordering on a second side of the currently processed block.

According to a preferred embodiment of the invention a range kernel function of the bilateral filter function is a Gaussian range kernel function, and wherein a spatial kernel function of the bilateral filter function is a Gaussian spatial kernel function.

In general, a Gaussian filter function is defined as so that a Gaussian range kernel function can be written as

and that a Gaussian spatial kernel function can be written as

For Gaussian kernel functions (4) and (5), the bilateral filter function (1) can be reformulated as using the weight function

According to a preferred embodiment of the invention the smoothing filter is configured for iteratively filtering the one-dimensional reference sample sequence in order to obtain the one-dimensional filtered reference sample se- quence comprising the filtered reference samples. Iteratively filtering means, that a result of a filtering step is used as an intermediate result which is used as an input for a further filtering step, wherein a arbitrary number of further filtering steps may be executed before the result of the last filtering step is outputted by the filter.

For iterative filtering, the bilateral filter function (6) can be reformulated as

with weight function using iteration index

number of iterations and

Consequently, the final filtered value is A reference sample sequence can be understood as a one-dimensional array of values such that the bilateral filter function (8) can be reformulated as

with weight function and parameters

In the following, an example is given: Using the parameters

and the filter function is

According to a preferred embodiment of the invention the smoothing filter is configured for outputting the one-dimensiona! filtered reference sample sequence as a sequence of integer numbers. These features reduce the computational complexity.

According to a preferred embodiment of the invention the determiner comprises a shifter configured for shifting the filtered reference samples in order to obtain shifted filtered reference samples, wherein one of the filtered reference samples is shifted to a position of one of the reference samples in the two-dimensional coordinate system which corresponds to the one of the filtered reference samples in order to obtain one of the shifted filtered reference samples. Thus, each of the shifted filtered reference samples has two- dimensional coordinates in the two-dimensional coordinate system which are the same as the two-dimensional coordinates of the reference sample which corresponds to the one of the filtered reference samples. This may be achieved by copying the filtered reference samples from a line buffer to a memory array which corresponds to a memory array in which the original (unfiltered) reference samples previously has been stored.

According to a preferred embodiment of the invention the determiner comprises a prediction finder configured for determining the prediction value for the predicted image sample of the currently processed block by using the shifted filtered reference sample sequence. The prediction finder is that part of the determiner which predicts the prediction values for the predicted block based on the filtered reference samples.

According to a preferred embodiment of the invention the predictor comprises a lookup table configured for receiving from the smoothing filter a spatial difference between a currently processed filtered reference sample of the one-dimensional filtered reference sample sequence and a reference sample of the one- dimensional reference sample sequence, configured for receiving from the smoothing filter an intensity difference between the currently processed filtered reference sample and the reference sample, and configured for transmitting to the smoothing filter a weight for calculating an intensity value for the currently processed filtered reference sample, wherein the weight is selected from a set of weights stored at the look-up table depending on the received spatial difference and the received intensity difference, and wherein the set of weights is pre-calculated based on a weight function of the bilateral filter function.

Introducing a lookup table for the filter weights helps solving the following two implementation-related issues:

• Calculation of filtered sample values I n (x) according to equation (10) requires floating point arithmetic. • Calculation of filter weights ) according to equation (11) requires using an exponential function and tends to be computationally complex.

The filter weights only depend on spatial difference and intensity difference with bit depth b.

According to a preferred embodiment of the invention the weights are stored as integer numbers.

Given the values of and the weights can be pre-calculated as integers and stored in a lookup table as follows: where is the integer precision factor and is the round to nearest integer function.

Given such a table of pre-calculated integer weights, the bilateral filter function (10) can be reformulated as

where both Wmt and / are integer values in order to avoid floating point arithmetic and Wnt may be looked up in the look up table in order to avoid complex calculation. According to a preferred embodiment of the invention the predictor comprises a lookup table arrangement comprising a first lookup table, a second lookup table and a multiplier, wherein the first lookup table is configured for receiving from the smoothing filter a spatial difference between a currently processed filtered reference sample of the one-dimensional filtered reference sample sequence and one reference sample of the one-dimensional reference sample sequence, wherein the second lookup table is configured for receiving from the smoothing filter an intensity difference between the currently processed filtered reference sample and the one reference sample, wherein the lookup table arrangement is configured for transmitting to the smoothing filter a weight for calculating an intensity value for the currently processed filtered reference sample, wherein the multiplier is configured for calculating the weight by multiplying a first weight factor and a second weight factor, wherein the first weight factor is selected from a set of first weight factors stored at the first look-up table depending on the received spatial difference, wherein the set of first weight factors is pre-caiculated based on a spatial weight function of the bilateral filter function, and wherein the second weight factor is selected from a set of second weight factors stored at the second lookup table depending on the received intensity difference, wherein the set of weights is pre-calculated based on an intensity weight function of the bilateral filter function.

Instead of using one two-dimensional lookup table as described above, two one-dimensional lookup tables may be used in order to determine the filter weights w n (x). The set of first weight factors w n i(xi) stored at the first iook-up table may be pre-calculated using a spatial weight function of the bilateral filter function which is the spatial term of the weight function (1 1 ).

The set of second weight factors stored at the second look-up table may be pre-calculated using an intensity weight function of the bilateral filter function which is the intensity term of the weight function (1 1 ).

The filter weights may then be calculated by

In a further aspect the invention provides a video encoder for encoding a picture into a data stream, wherein the video encoder comprises a predictor according to the invention.

According to a preferred embodiment of the invention the video encoder comprises a residual information determiner configured for comparing the predicted image samples of the predicted block with original image samples of the currently processed block of the picture in order to determine a residual information, a transformer configured for quantizing the residual information in order to obtain a transform coefficient block, a data stream inserter configured for inserting the transform coefficient block and intra prediction parameters received from the predictor into the data stream, an inverse transformer configured for dequantizing the transform coefficient block in order to obtain a reconstructed residual information and a reconstructor configured for reconstructing subsequent reference samples for intra predicting a subsequent predicted block for a subsequently processed block of the picture based on the predicted block and based on the reconstructed residual information.

In a further aspect the invention provides a video decoder for decoding a data stream in order to reconstruct a picture, wherein the video decoder comprises a predictor according to the invention.

According to a preferred embodiment of the invention the video decoder comprises an extractor configured for extracting a transform coefficient block for the currently processed block of the picture and intra prediction parameters for the currently processed block of the picture from the data stream and configured to send the intra prediction parameters to the predictor, an inverse transformer configured for invers transforming the transform coefficient block in order to obtain a reconstructed residual information and a reconstructor configured for producing the reconstructed picture based on the predicted block and based on the reconstructed residual information and configured for reconstructing further reference samples for intra predicting a following predicted block based on the predicted block and based on the reconstructed residual information.

In a further aspect the invention provides a method for intra predicting a predicted block for a currently processed block of a picture from reference samples in a two-dimensional coordinate system which are derived from one or more previously processed blocks of the picture, the method comprising the steps: arranging, by using an arranger, the reference samples as a one-dimensional reference sample sequence in a one-dimensional coordinate system; filtering, by using a smoothing filter, the one-dimensional reference sample sequence based on a bilateral filter function with a one-dimensional window in order to obtain a one-dimensional filtered reference sample sequence comprising filtered reference samples; and determining, by using a determiner, for each of a plurality of predicted image samples of the predicted block a respective prediction value by using the filtered reference sample sequence in order to produce the predicted block.

In a further aspect the invention provides a computer program for, when run- ning on a processor, executing the method according to the invention.

Preferred embodiments of the invention are subsequently discussed with respect to the accompanying drawings, in which: Fig. 1 illustrates an embodiment of a predictor according to the invention in a schematic view;

Fig. 2 illustrates an example of a currently processed block, a plurality of previously processed blocks and reference samples given in a two-dimensional coordinate system which are derived from the previous processed blocks in a schematic view;

Fig. 3 illustrates an example of a one-dimensional reference sample sequence given in a one-dimensional coordinate system derived from the reference samples illustrated in Fig. 2 in a schematic view;

Fig. 4 illustrates an example of a predicted block comprising predicted image samples, wherein each image sample comprises a prediction value, in a schematic view;

Fig. 5 illustrates an embodiment of a determiner for a predictor

cording to the invention in a schematic view; Fig. 6 illustrates an example of a one-dimensional filtered reference sample sequence derived from the reference sample sequence illustrated in Fig. 3 in a schematic view;

Fig. 7 illustrates an example of shifted filtered reference samples derived from the filtered reference sample sequence illustrated in Fig. 6 in a schematic view; Fig. 8 illustrates an embodiment of a predictor according to the invention in a schematic partial view;

Fig. 9 illustrates an embodiment of a video encoder according to the invention in a schematic view;

Fig. 10 illustrates an embodiment of a video decoder according to the invention in a schematic view; and

Fig. 11 illustrates a further embodiment of a predictor according to the invention in a schematic partial view.

Equal or equivalent elements or elements with equal or equivalent functionality are denoted in the following description by equal or equivalent reference numerals.

In the following description, a plurality of details is set forth to provide a more thorough explanation of embodiments of the present invention. However, it will be apparent to one skilled in the art that embodiments of the present invention may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form rather than in detail in order to avoid obscuring embodiments of the present invention. In addition, features of the different embodiments described hereinafter may be combined with each other, unless specifically noted otherwise.

Fig. 1 illustrates an embodiment of a predictor 1 according to the invention in a schematic view. The inventive predictor 1 is configured for intra predicting a predicted block PB for a currently processed block CPB of a picture PIC from reference samples RS in a two-dimensional coordinate system which are derived from previously processed blocks PPB of the picture PIC. The predictor 1 comprises an arranger 2 configured for arranging the reference samples RS as a one- dimensional reference sample sequence RSS in a one-dimensional coordinate system; a smoothing filter 3 configured for filtering the one-dimensional reference sample sequence RRS based on a bilateral filter function with a one- dimensional window Wl in order to obtain a one-dimensional filtered refer- ence sample sequence FRSS comprising filtered reference samples FRS; and a determiner 4 configured for determining for each of a plurality of predicted image samples PIS of the predicted block PB a respective prediction value PV by using the filtered reference sample sequence FRSS in order to produce the predicted block PB.

According to preferred embodiment of the invention a range kernel function of the bilateral filter function is a Gaussian range kernel function, and wherein a spatial kernel function of the bilateral filter function is a Gaussian spatial kernel function.

According to a preferred embodiment of the invention the smoothing filter 3 is configured for iteratively filtering the one-dimensional reference sample se- quence RSS in order to obtain the one-dimensional filtered reference sample sequence FRSS comprising the filtered reference samples FRS.

According to a preferred embodiment of the invention the smoothing filter 3 is configured for outputting the one-dimensional filtered reference sample se- quence FRSS as a sequence of integer numbers.

In a further aspect the invention provides a method for intra predicting a predicted block PB for a currently processed block CPB of a picture PIC from reference samples RS in a two-dimensional coordinate system which are derived from one or more previously processed blocks PPB of the picture PIC, the method comprising the steps: arranging, by using an arranger 2, the reference samples RS as a one- dimensional reference sample sequence RSS in a one-dimensional coord i- nate system; filtering, by using a smoothing filter 3, the one-dimensional reference sample sequence RRS based on a bilateral filter function with a one-dimensional window Wl in order to obtain a one-dimensional filtered reference sample sequence FRSS comprising filtered reference samples FRS; and determining, by using a determiner 4, for each of a plurality of predicted image samples PIS of the predicted block PB a respective prediction value PV by using the filtered reference sample sequence FRSS in order to produce the predicted block PB.

In a further aspect the invention provides a computer, program for, when running on a processor, executing the inventive method.

The predictor 1 may be employed in a hybrid video decoder or in a hybrid video decoder. An advantage of using a smoothing filter 3 based on data bilateral filter function for filtering the reference samples RS is that outliers within the reference samples RS do not negatively affect the intra prediction result, whereas edges are preserved. The computational overhead may be kept reasonable.

Fig. 2 illustrates an example of a currently processed block CBP, a plurality of previously processed blocks PPB and reference samples RS given in a two-dimensional coordinate system, which are derived from the previous processed blocks PPB, in a schematic view. The currently processed block CBP has a width W and a height H.

According to a preferred embodiment of the invention at least a part of the reference samples RS in the two-dimensional coordinate system sequentially extend along two rays R1 , R2 starting at a common intersection point IP and pointing into different directions, wherein the arranger 2 is configured for arranging the reference samples RS into a one-dimensional reference sample sequence RSS by anti-parallelly traveling along a first one R1 of the two rays R1 , R2 and parallelly traveling along a second one R2 of the two rays R1 , R2. According to a preferred embodiment of the invention the reference samples RS in the two-dimensional coordinate system comprise first edge reference samples ERS1 bordering a first side of the currently processed block CPB. According to a preferred embodiment of the invention the reference samples RS in the two-dimensional coordinate system comprise second edge reference samples ERS2 bordering a second side of the currently processed block CPB. In the example of Fig. 2, first edge reference samples ERS1 are bordering the left side of the currently processed block CBP and second edge reference samples ERS2 are bordering the upper side of the currently processed block CBP. In Fig. 2 the reference samples RS are given in a two- dimensional coordinate system. Thus, each of the reference samples RS has two-dimensional coordinates. Fig. 2 illustrates the references samples RS, before they are processed by the arranger 2.

The bilateral filtering may be applied to all blocks which are intra predicted. In particular the bilateral filtering may be applied to blocks containing luma in- formation (e.g. blocks of a luma channel). However, it's also possible to apply the bilateral filtering to blocks containing chroma information (e.g. blocks of a chroma channel). In particular, bilaterai filtering may be applied to all blocks having a width and/or a height being equal or greater than 16 samples. Depending on the block size, following parameters may be used:

Fig. 3 illustrates an example of a one-dimensional reference sample se- quence RSS given in a one-dimensional coordinate system derived from the reference samples RS illustrated in Fig. 2 in a schematic view. The reference sample sequence RSS comprises 2(W+H) + 1 reference samples RS so that all angular prediction modes may be performed.

In Fig. 3 the reference samples RS are given in a one-dimensional coordinate system. Thus, each of the reference samples RS has one-dimensional coordinates. Fig. 3 illustrates the references samples RS, after they are processed by the arranger 2.

In order to calculate a filtered reference sample FRS for the position ka one- dimensional window Wl depending on the filter size s is used in that way, that all reference samples RS having a position between k-s\o k+s are considered. In particular, the filtered reference sample FRS for the position kmay be calculated by using equation (10) using the window Wl.

Fig. 4 illustrates an example of a predicted block PTB comprising predicted image samples PIS, wherein each image sample PIS comprises a prediction value PV, in a schematic view. The predicted block PB consists of predicted image samples PIS, wherein each of the predicted image samples PIS has a position indicated by two indices and the predicted value having the same two indices.

Fig. 5 illustrates an embodiment of a determiner 4 for a predictor 1 according to the invention in a schematic view.

According to a preferred embodiment of the invention the determiner 4 comprises a shifter 5 configured for shifting the filtered reference samples FRS in order to obtain shifted filtered reference samples SFRS, wherein one of the filtered reference samples FRS is shifted to a position of one of the reference samples RS in the two-dimensional coordinate system which corresponds to the one of the filtered reference samples FRS in order to obtain one of the shifted filtered reference samples SFRS.

According to a preferred embodiment of the invention the determiner 4 comprises a prediction finder 6 configured for determining the prediction value PV for the predicted image sample PIS of the currently processed block CPB by using the shifted filtered reference sample sequence SFRS. Fig. 6 illustrates an example of a one-dimensional filtered reference sample sequence FRSS derived from the reference sample sequence RSS illustrated in Fig. 3 in a schematic view. The one-dimensional filtered reference sample sequence FRSS may be inputted into a shifter 5.

Fig. 7 illustrates an example of shifted filtered reference samples SFRS derived from the filtered reference sample sequence FRSS illustrated in Fig. 6 in a schematic view. The shifted filtered reference samples SFRS maybe outputted by the shifter 5.

Fig. 8 illustrates an embodiment of a predictor 1 according to the invention in a schematic partial view.

According to a preferred embodiment of the invention the predictor 1 comprises a lookup table 7 configured for receiving from the smoothing filter 3 a spatial difference SPD between a currently processed filtered reference sample FRS of the one- dimensional filtered reference sample sequence FRSS and one reference sample RS of the one-dimensional reference sample sequence RSS, configured for receiving from the smoothing filter 3 an intensity difference ITD between the currently processed filtered reference sample FRS and the one reference sample RS, and configured for transmitting to the smoothing filter 3 a weight WE for calculating an intensity value for the currently processed filtered reference sample FRS, wherein the weight WE is selected from a set of weights stored at the look-up table depending on the received spatial difference SPD and the received intensity difference ITD, and wherein the set of weights is p recalculated based on a weight function of the bilateral filter function.

According to a preferred embodiment of the invention the weights WE are stored as integer numbers. Fig. 9 illustrates an embodiment of a video encoder 8 according to the invention in a schematic view.

In a further aspect the invention provides encoder for encoding a picture PIC into a data stream DS, the video encoder 8 comprising a predictor 1 according to the invention.

According to a preferred embodiment of the invention the video encoder 8 comprises a residual information determiner 9 configured for comparing the predicted image samples PIS of the predicted block PB with original image samples OIS of the currently processed block CBP of the picture PIC in order to determine a residual information RIN, a transformer 10 configured for quantizing the residual information RIN in order to obtain a transform coefficient block TCB, a data stream inserter 11 configured for inserting the transform coefficient block TCB and intra prediction parameters IPP received from the predictor 1 into the data stream DS, an inverse transformer 12 configured for dequantizing the transform coefficient block TCB in order to obtain a reconstructed residual information RRIN and a reconstructor 13 configured for reconstructing subsequent reference samples SURS for intra predicting a subsequent predicted block for a subsequently processed block of the picture based on the predicted block PB and based on the reconstructed residual information RRIN. Furthermore, the video encoder 8 may comprise a block determiner 14 configured for splitting up the picture PIC into a plurality of blocks. The blocks may have a rectangular or square shape, wherein different clocks may have different sizes.

As mentioned above, a predicted block PB of a picture PIC may be predicted using intra prediction. The predictor 1 of the video encoder 8 may be configured to determine a predicted block PB for a currently processed block CBP which has to be coded of the current picture PIC of a video. The predictor 1 determines the predicted block PB for the currently processed block CBP based on reference samples RS, which have been encoded before the currently processed block CBR. The reference samples RS are bordering the currently processed block CBR of the same picture PIC like the currently processed block CBR. In the predictor 1 the reference samples RS are filtered using the smoothing filter 3, which uses the bilateral filter function, to sup- press outliers within the reference samples RS, such that these outliers do not negatively affect (or only insignificantly negatively affect) the predicted block PB for the currently processed block CPB and such that sharp edges are preserved.

The residual information determiner 9 is configured to compare the predicted block PB for the currently processed block CPB with the (original) currently processed block CPB in order to determine a residual information RIN for the currently processed block CPB. The residual information RIN determines the difference of the (original) currently processed block CPB and its predicted block PB. By using the smoothing filter for to filter the reference samples RS the residual information RIN can be kept smaller, than without using the smoothing filter 3. The residual information RIN can, therefore, be represented by fewer bits. The transformer 10 may transform the residual information RIN and quantize the resulting transform coefficients to obtain a transform coefficient block TCB. A quality loss (if any) in the video encoder 8 occurs in the quantization of the transform coefficients of the transform coefficient block TCB. The transform coefficient block TCB may then together with the intra prediction parameter IPP be inserted into a data stream DS by the data stream inserter 1 1. The data stream DS may be transmitted to a video decoder in which the currently processed block CBP may be reconstructed. The transform coefficient block TCB comprising the quantized transform coefficients representing the residual information RIN may be inverse transformed by the inverse transformer 12 to obtain reconstructed residual information RRIN for the currently processed block CPB. The reconstructed residual information RRIN may show a loss compared to the residual information RIN because of the quantization of the transform coefficients in the transformer 10. The reconstructed residual information RRIN may be used by the recon- structor 13 in conjunction with the predicted block PB for currently processed block CBP to obtain reference samples RS from the currently processed block CPB, which then may be used as reference samples RS for a subsequently processed block.

As it is essential for correctly decoding the data stream DS that intra predicting of the predicted blocks PB at the video decoder 15 is done in the same way as intra predicting of the predicted blocks PB at the video encoder 8, predictor 1 of the video encoder 8 may be configured to include into the intra- prediction parameters IPP an information, whether bilateral filtering has been used or have not been used for encoding the currently processed block CBP. For the same reason, predictor 1 of the video encoder 8 may be configured to include into the intra-prediction parameters IPP parameters of the bilateral filter function. Also, predictor 1 of the video encoder 8 may be configured to include into the intra-prediction parameters IPP information regarding the prediction mode.

Fig. 10 illustrates an embodiment of a video decoder 15 according to the invention in a schematic view.

In a further aspect the invention provides a video decoder 15 for decoding a data stream DS in order to reconstruct a picture PIC, wherein the video decoder 15 comprises a predictor 1 according to the invention.

In a preferred embodiment of the invention the video decoder 15 comprises an extractor 16 configured for extracting a transform coefficient block TCB for the currently processed block CPB of the picture PIC and intra prediction parameters IPP for the currently processed block CPB of the picture PIC from the data stream DS and configured to send the intra prediction parameters IPP to the predictor 1 , an inverse transformer 12 configured for in vers transforming the transform coefficient block TCB in order to obtain a reconstructed residual information RRIN and a reconstructor 13 configured for producing the currently processed block CPB based on the predicted block PB and based on the reconstructed residual information RRIN and configured for producing subsequent reference samples SURS for intra predicting a subsequent predicted block for a subsequently processed block of the picture PIC based on the predicted block PB and based on the reconstructed residual information RRIN.

Additionally, the video decoder 15 may comprise a picture determiner configured for reconstruction the picture PIC by adding the currently processed block CBP to previously processed blocks PPB. The video decoder 15 may be configured to decode the data stream DS, which may have been produced with the video encoder 8 according to Fig. 9. In Fig. 10 same reference numerals as in Fig. 9 are used, in order to denote elements in the video decoder 15 which are equal or similar elements of the video encoder 8. The extractor 16 may be configured to extract the transform coefficient block TCB for the currently processed block CBP and the intra prediction parameter IPP for the currently processed block CBP from the data stream DS (which, for example, is provided by the video encoder 8). The inverse transformer 12 obtains (like the inverse transformer 12 of the video encoder 8) the reconstructed residual information RRIN for the currently processed block CPB. The predictor 1 is configured to determine the predicted block PB for the currently processed block CPB by using the reference samples RS (which, for example, are derived from a previously processed block PPB). The reference samples RS are filtered by using the (bilateral) smooth- ing filter 3 of the predictor 1 in order to obtain the filtered reference samples FRS. A determiner 4 of the predictor 1 may then obtain the predicted block PB for the currently processed block CPB based on the intra prediction parameter IPP for the currently processed block CPB and the filtered reference samples FRS. The determiner for may determine the predicted block PB for the currently processed block CPB on the same way like the determiner for of the video encoder 8. The determiner for may therefore be a reduced version of the determiner for of the video encoder 8, as the determiner for of the video encoder 8 is, as mentioned before, further configured to obtain the intra prediction parameter IPP for the currently processed block .

The predicted block PB for the currently processed block CPB may then together with the reconstructed residual information RRIN for the currently processed block CPB be combined by the reconstructor 13 to obtain a reconstructed version of the currently processed block CPB and reconstructed ref- erence samples RS of the currently processed block CPB. This reconstructed reference samples RS of the currently processed block CPB, may be used again as reference samples RS for subsequently processed blocks. Furthermore, the reconstructed currently processed block CBP may be sent to the picture determiner 17. Fig. 1 1 illustrates a further embodiment of a predictor 1 according to the invention in a schematic partial view.

According to a preferred embodiment of the invention the predictor 1 com- prises a lookup table arrangement 18 comprising a first lookup table 19, a second lookup table 20 and a multiplier 21 , wherein the first lookup table 19 is configured for receiving from the smoothing filter 3 a spatial difference SPD between a currently processed filtered reference sample FRS of the one-dimensional filtered reference sample sequence FRSS and one reference sample RS of the one-dimensional reference sample sequence RSS, wherein the second lookup table 20 is configured for receiving from the smoothing filter 3 an intensity difference ITD between the currently processed filtered reference sample FRS and the one reference sample RS, wherein the lookup table arrangement 18 is configured for transmitting to the smoothing filter 3 a weight WE for calculating an intensity value for the cur- rently processed filtered reference sample FRS, wherein the multiplier 21 is configured for calculating the weight WE by multiplying a first weight factor FWF and a second weight factor SWF, wherein the first weight factor FWF is selected from a set of first weight factors stored at the first look-up table 19 depending on the received spatial difference SPD, wherein the set of first weight factors is pre-calculated based on a spatial weight function of the bilateral filter function, and wherein the second weight factor SWF is selected from a set of second weight factors stored at the second lookup table 20 depending on the received intensity difference ITD, wherein the set of weights is pre-calculated based on an intensity weight function of the bilateral filter function. As it is essential for correctly decoding the data stream DS that intra predicting of the predicted blocks PB at the video decoder 15 is done in the same way as intra predicting of the predicted blocks PB at the video encoder 8, predictor 1 of the video decoder 15 may be configured to extract from the intra-prediction parameters IPP an information, whether bilateral filtering has been used or have not been used for encoding the currently processed block CBP. For the same reason, predictor 1 of the video decoder 15 may be configured to extract from the intra-prediction parameters IPP parameters of the bilateral filter function. Also, predictor 1 of the video decoder 15 may be configured to extract from the intra-prediction parameters IPP information regarding the prediction mode.

Depending on certain implementation requirements, embodiments of the inventive device and system can be implemented in hardware and/or in software. The implementation can be performed using a digital storage medium, for example a floppy disk, a DVD, a Blu-ray Disc, a CD, a ROM, a PROM, an EPROM, an EEPROM or a FLASH memory, having electronically readable control signals stored thereon, which cooperate (or are capable of cooperating) with a programmable computer system such that one or more or all of the functionalities of the inventive device or system is performed.

In some embodiments, a programmable logic device (for example a field programmable gate array) may be used to perform one or more or all of the functionalities of the devices and systems described herein. In some embodiments, a field programmable gate array may cooperate with a microprocessor in order to perform one or more or all of the functionalities of the devices and systems described herein.

Although some aspects have been described in the context of an apparatus, it is clear that these aspects also represent a description of the corresponding method, where a block or device corresponds to a method step or a feature of a method step. Analogously, aspects described in the context of a method step also represent a description of a corresponding block or item or feature of a corresponding apparatus.

Depending on certain implementation requirements, embodiments of the inventive method can be implemented using an apparatus comprising hardware and/or software. The implementation can be performed using a digital storage medium, for example a floppy disk, a DVD, a Blu-ray Disc, a CD, a ROM, a PROM, an EPROM, an EEPROM or a FLASH memory, having electronically readable control signals stored thereon, which cooperate (or are capable of cooperating) with a programmable computer system such that the respective method is performed.

Depending on certain implementation requirements, embodiments of the inventive method can be implemented using an apparatus comprising hardware and/or software.

Some or all of the method steps may be executed by (or using) a hardware apparatus, like a microprocessor, a programmable computer or an electronic circuit. Some one or more of the most important method steps may be executed by such an apparatus.

Some embodiments according to the invention comprise a data carrier having electronically readable control signals, which are capable of cooperating with a programmable computer system such that one of the methods described herein is performed.

Generally, embodiments of the present invention can be implemented as a computer program product with a program code, the program code being operative for performing one of the methods when the computer program product runs on a computer. The program code may for example be stored on a machine readable carrier.

Other embodiments comprise the computer program for performing one of the methods described herein, which is stored on a machine readable carrier or a non-transitory storage medium.

A further embodiment comprises a processing means, for example a computer, or a programmable logic device, in particular a processor comprising hardware, configured or adapted to perform one of the methods described herein. A further embodiment comprises a computer having installed thereon the computer program for performing one of the methods described herein.

Generally, the methods are advantageously performed by any apparatus comprising hardware and or software.

While this invention has been described in terms of several embodiments, there are alterations, permutations, and equivalents which fall within the scope of this invention. It should also be noted that there are many alternative ways of implementing the methods and compositions of the present invention. It is therefore intended that the following appended claims be interpreted as including all such alterations, permutations and equivalents as fall within the true spirit and scope of the present invention.

References:

Thomas Wiegand, Gary J. Sullivan, Gisle Bjontegaard, and Ajay Luthra: Overview of the H.264/AVC Video Coding Standard, IEEE Transactions on Circuits and Systems for Video Technology, Vol. 13, No. 7, pp. 560-576, July 2003.

[3] Gary J. Sullivan, Jens-Rainer Ohm, Woo-Jin Han, Thomas Wiegand:

Overview of the High Efficiency Video Coding (HEVC) Standard, IEEE

Transactions on Circuits and Systems for Video Technology, Vol. 22, No. 12, pp. 1649-1668, November 2012.