GB2516225A - Method, device, and computer program for block filtering in a video encoder and decoder - Google Patents

Method, device, and computer program for block filtering in a video encoder and decoder Download PDF

Info

Publication number
GB2516225A
GB2516225A GB1312507.5A GB201312507A GB2516225A GB 2516225 A GB2516225 A GB 2516225A GB 201312507 A GB201312507 A GB 201312507A GB 2516225 A GB2516225 A GB 2516225A
Authority
GB
United Kingdom
Prior art keywords
reference block
smoothing filter
value
filter
prediction mode
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
GB1312507.5A
Other versions
GB2516225B (en
GB201312507D0 (en
Inventor
Guillaume Laroche
Edouard Francois
Christophe Gisquet
Patrice Onno
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to GB1312507.5A priority Critical patent/GB2516225B/en
Publication of GB201312507D0 publication Critical patent/GB201312507D0/en
Publication of GB2516225A publication Critical patent/GB2516225A/en
Application granted granted Critical
Publication of GB2516225B publication Critical patent/GB2516225B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation

Abstract

Methods for applying a smoothing filter on at least one reference block used for predicting a portion of picture, according to an intra prediction process based on an indexed prediction mode, are disclosed. One method comprises using a predetermined method (e.g. Mode Dependent Intra Smoothing (MDIS) as in the HEVC standard) for obtaining predetermined authorization values, which authorize or not applying the smoothing filter for each indexed prediction mode, according to the size (horizontal, vertical dimensions, e.g. 4*4, 32*32) of the reference block to filter; and authorizing or not (e.g. by setting a filter flag) application of the smoothing filter on at least one reference block according to the predefined authorization values, for at most two different reference block sizes. Also claimed is a method wherein, if the indexed prediction mode has an index equal to or neighbouring a predetermined index (e.g. one of two successive intra-prediction mode indexes for which authorisation values change), then proceeding to a comparison to determine if application of the smoothing filter leads to a better rate-distortion for the reference block; and determining authorisation for applying the smoothing filter according to comparison results.

Description

METHOD, DEVICE, AND COMPUTER PROGRAM FOR BLOCK FILTERING IN A
VIDEO ENCODER AND DECODER
FIELD OF THE INVENTION
The invention generally relates to the field of video coding and decoding.
More particularly, the invention concerns a method, device, and computer program for filtering blocks when pre-encoding and post-decoding high bit-depth content in video encoder and decoder.
In embodiments of the invention the image is composed of blocks of pixels and is part of a digital video sequence. The invention is related to video coding and decoding. More precisely, the present invention is dedicated to the Intra prediction coding for extended video format (also called color format) and bit-depth of HEVC standard.
BACKGROUND OF THE INVENTION
Many video compression formats, such as for example H.263, H.264, MPEG-i, MPEG-2, MPEG-4, SVC, use block-based discrete cosine transform (DCT) and motion compensation to remove spatial and temporal redundancies. They are often referred to as predictive video formats. Each frame or image in the video signal is identified with an index known as the POC (standing for "picture order count"). Each frame or image is divided into at least one slice which is encoded and can be decoded independently. A slice is typically a rectangular portion of the frame, or more generally, a portion of a frame or an entire frame. Further, each slice may be divided into macroblocks (MBs), and each macroblock is further divided into blocks, typically blocks of 64x64, 32x32, 16x16 or8x8 pixels.
In High Efficiency Video Coding (HEVC), blocks of from 64x64 to 4x4 may be used. The partitioning is organized according to a quad-tree structure based on largest coding units (CTBs). A CTB corresponds, for example, to a square block of 64x64. If a CTB needs to be divided, a split flag indicates that the CTB is split into four 32x32 blocks. In the same way, if any of these four blocks need to be split, the split flag is set to true and the 32x32 block is divided into four 16x16 blocks etc. When a split flag is set to false, the current block is a coding unit CU which is the frame entity to which the encoding process described below is applied. A CU has a size equal to 64x64, 32x32, 16x16 or8x8 pixels.
Each CU, depending on its size, may contain only one transform unit (TU), and can be further split into four or more TUs. TU5 are the frame entities on which DCI and quantization operations are performed. A TU has a size equal to 32x32, 16x16, 8x8 or 4x4 pixels.
There are two families of coding modes for coding blocks of an image: coding modes based on spatial prediction, referred to as INTRA prediction and coding modes based on temporal prediction, referred to as INTER prediction. In both spatial and temporal prediction modes, a residual is computed by subtracting the predictor from the original block.
An INIRA block is generally predicted by an INTRA prediction process from the encoded pixels at its causal boundary. The blocks of the boundary can be called the reference blocks.
Next, the block to be encoded is predicted using the reference area (the reference blocks in the same image for INTRA prediction) -the difference! known as residual, between the block to be encoded and the reference portion is encoded in a bitstream.
It comes along with an item of motion information relative to the motion vector which indicates the reference area to use for motion compensation in case of INTER prediction. In the case of INTRA prediction, the information corresponding to the INTRA prediction mode (prediction direction) is also encoded.
Effective coding chooses the best coding mode between INTER and INTRA coding for each coding unit in an image to provide the best trade-off between image quality at the decoder and reduction of the amount of data to represent the original data to encode.
The residual resulting from the prediction is then subject to DCT transform and quantization.
Both encoding and decoding processes involve in general a decoding process of an encoded image. This process called close loop decoding, is typically performed at the encoder side for the purpose of producing the same reference frames at the encoder than those used by the decoder during the decoding process.
To reconstruct the encoded frame, the residual is inverse quantized and inverse transformed in order to provide the "decoded" residual in the pixel domain. The "decoded" residual is added to the spatial or temporal predictor used above, to obtain a first reconstruction of the frame.
The first reconstruction is then filtered by one or several kinds of post filtering processes. These post filters are applied on the reconstructed frame at the encoder side and the decoder side again in order that the same reference frame is used at both sides.
The Intra prediction derivation of HEVC uses a set of directional predictors completed with a planar predictor and the DC predictor. For each prediction unit, the number of the selected mode is inserted in the bitstream. The HEVO standard uses the Mode Dependent Intra Smoothing (MDIS) method to improve the quality of Intra prediction. This method consists in applying a pre-filtering of input pixels for some Intra prediction modes. The input pixels of a block are filtered or not according to the block size and predictor index.
A particular context of the invention is the design of the Range Extension of HEVO currently known as HEVC RExt. HEVC RExt aims at addressing the HEVC coding/decoding process for various video formats and bit-depth contents. For example the HEVC RExt is particularly adapted at processing images having high bit-depth content, in particular for processing monochrome images having very high bit-depth content such as medical images.
It is known that to ensure good image rendering after encoding and decoding steps, it is important that bit-length of variables used to process images, encoded or not, is higher than the one of the image data, encoded or not, referred to as bit-depth. This is particularly important because of rounding and clipping processes applied in transformation and quantization steps. Accordingly, video encoders and decoders are to be adapted to the bit-depth content of the processed images, in particular regarding the filtering processes, like the MDIS filtering method applied in INTRA mode prediction.
Moreover, it can be desirable to re-use state-of-the-art video encoders and decoders, with few changes.
The current invention improves the coding efficiency of MDIS in particular for extended video format and input sequence bit depth in order to address one or more of the foregoing concerns.
SUMMARY OF THE INVENTION
Faced with these constraints, the inventors provide a method and a device for applying a smoothing filter on a reference block for predicting a portion of picture, according to an intra-prediction process based on an indexed prediction mode.
It is a broad object of the invention to remedy the shortcomings of the prior art as described above.
According to a first aspect of the invention there is provided a method for applying a smoothing filter on at least one reference block used for predicting a portion of picture, according to an intra-prediction process based on an indexed prediction mode, the method comprising: -implementing a predetermined method (for instance the method used in HEVC standard) for obtaining predetermined authorization values! which authorize or not the application of the smoothing filter for each one of the indexed prediction modes, according to the size of the reference block to filter, and -authorizing or not the application of the smoothing filter on at least one reference block according to the predefined authorization values, for at most two different reference block sizes.
The claimed method provides an efficient way of applying MDIS filtering based on well-chosen conditions and in particular by reusing a predetermined method.
Advantageously this method is the Mode Dependent Intra Smoothing (MDIS) used in the HEVC standard.
Thus, an advantage of the claimed method is that it is possible to reuse an existing HEVC method.
In an embodiment, for at least one reference block, the predetermined authorization values are used for authorizing or not the application of the smoothing if the size of the reference block is 4*4 or 32*32, otherwise the reference block is authorized to be filtered! except if the indexed prediction mode is DC, Vertical or Horizontal.
In an embodiment, if the size of reference block is not 4 and if the indexed prediction mode is not DC, Vertical or Horizontal, then setting a difference variable to a value equal to the minimum of the difference between the absolute value of the index of the prediction mode minus 26 and the absolute value of the index of the prediction mode minus 10.
In an embodiment, if the value of the difference variable is inferior to a predefined variable whose value based on the size of the reference block, then setting the filter flag to a value which does not authorize the application of the smoothing filter to the reference block, else setting the filter flag to a value which authorizes the application of the smoothing filter to the reference block.
In an embodiment, the picture is conform to a video format, and if the video format ratio of the picture is 4:4:4 and/or if the bit-depth of the picture is superior to 8 and/or if the video format of the picture is ROB, setting the predefined variable to the value corresponding to the highest reference block size.
In another embodiment, the video format could be another one like YUV for instance.
In an embodiment, the highest reference block size is 32*32.
In an embodiment, at least one reference block is filtered according to the predetermined authorization values if the size of the reference block is 4, and for other reference block sizes, if the indexed prediction mode is equal or neighboring a predetermined index, making a comparison to determine if the filtering leads to a better rate-distortion for the reference block, and determining the authorization or not of the smoothing filter according to the comparison result.
This embodiment allows an optimized application of the smoothing filter.
Indeed thanks to the comparison, it can be seen that it is not necessary to apply the smoothing filter in certain configurations, the rate-distortion being not significantly improved by the application of the smoothing filter. It leads to a simpler method with fewer computations.
In an embodiment, the predetermined index is one of two successive intra-prediction mode indexes for which the predetermined authorization values change.
In an embodiment, at least part of the authorization values is implemented according to a table, function of the reference block size nTbS and the index of the prediction mode PredMode: _______ ____ nTbS ____ PredMode 4 s 16 32 PLANAR) ( 0 1 1 1 (0C)1 0 0 0 0 2 0 1 1 1 3 0 2 1 1 4 0 2 1 1 0 2 1 1 6 0 2 1 1 7 0 0 2 2 8 0 0 2 2 9 0 0 2 2 (HOR)1( 0 0 0 0 11 0 0 2 2 12 0 0 2 2 13 0 0 2 2 14 0 2 1 1 0 2 1 1 16 0 2 1 1 17 0 2 1 1 18 0 1 1 1 19 0 2 1 1 0 2 1 1 21 0 2 1 1 22 0 2 1 1 23 0 0 2 2 24 0 0 2 2 0 0 2 2 (VER)21 0 0 0 0 27 0 0 2 2 28 0 0 2 2 29 0 0 2 2 0 2 1 1 31 0 2 1 1 32 0 2 1 1 33 0 2 1 1 34 0 1 1 1 Where "0" indicates that the application of the smoothing filter is not authorized, "1" indicates that the application of the smoothing filter is authorized, and "2" indicates that a comparison is made.
In an embodiment, if the indexed prediction mode is DC or Horizontal or Vertical, or if the size block is equal to 4, setting a filter flag to a value which does not authorize the application of the smoothing filter to the reference block, and otherwise setting a difference variable to a value equal to the minimum of the difference between the absolute value of the index of the prediction mode minus 26 and the absolute value of the index of the prediction mode minus 10.
In an embodiment, if the value of the difference variable is inferior to a first predefined variable whose value is based on the size of the reference block, then setting the filter flag to a value which does not authorize the application of the smoothing filter to the reference block, else if the difference variable is superior to a second predefined variable whose value is based on the size of the reference block, then setting the filter flag to a value which authorizes the application of the smoothing filter to the reference block, else extract the value of the filter flag from a given bitstream to authorize or not the application of the smoothing filter to the reference block.
In an embodiment, the given bitstream indicates the comparison results.
According to another aspect of the invention, it is proposed a method for applying a smoothing filter on at least one reference block used for predicting a portion of picture, according to an intra-prediction process based on an indexed prediction mode. The method comprises: if the indexed prediction mode has an index equal to or neighboring a predetermined index, then proceeding to a comparison in order to determine if the application of the smoothing filter leads to a better rate-distortion for the reference block, and determining the authorization for applying or not the smoothing filter, according to the comparison results.
This aspect of the invention allows an optimized application of the smoothing filter. Indeed thanks to the comparison, it can be seen that it is not necessary to apply the smoothing filter in certain configurations, the rate-distortion being not significantly impioved by the application of the smoothing filter. It leads to more simple method with less computation.
In an embodiment, the predeteimined index is one of two successive intra-piediction mode indexes foi which the predeteimined authoiization values change.
In an embodiment, at least part of the authorizations for applying or not of the smoothing filtei is implemented by a table or table derivative.
In an embodiment, the table is: _______ ____ nTbS ____ PredMode 4 8 16 32 PLANAR) C 0 1 1 1 (DC)1 0 0 0 0 2 0 1 1 1 3 0 2 1 1 4 0 2 1 1 0 2 1 1 6 0 2 1 1 7 0 0 2 2 8 0 0 2 2 9 0 0 2 2 (HOR)1C 0 0 0 0 11 0 0 2 2 12 0 0 2 2 13 0 0 2 2 14 0 2 1 1 0 2 1 1 16 0 2 1 1 17 0 2 1 1 18 0 1 1 1 19 0 2 1 1 0 2 1 1 21 0 2 1 1 22 0 2 1 1 23 0 0 2 2 24 0 0 2 2 0 0 2 2 (VER)21 0 0 0 0 27 0 0 2 2 28 0 0 2 2 29 0 0 2 2 0 2 1 1 31 0 2 1 1 32 0 2 1 1 33 0 2 1 1 34 0 1 1 1 Where "0" indicates that the application of the smoothing filter is not authorized, 1"indicates that the application of the smoothing filter is authorized, and 2" indicates that a comparison is made.
In an embodiment, if the indexed prediction mode is DC or Horizontal or Vertical, or if the block size is equal to 4, setting a filter flag to a value which does not authorize the application of the smoothing filter to the reference block, Else, setting a difference variable to a value equal to the minimum of the difference between the absolute value of the index of the prediction mode minus 26 and the absolute value of the index of the prediction mode minus 10.
In an embodiment, if the value of the difference variable is superior to a first predefined value based on the size of the reference block, setting the filtei flag to a value which does not authorize the application of the smoothing filter to the reference block, else if the difference variable is superior to a second predefined value based on the size of the reference block, setting the filter flag to a value which authorizes the application of the smoothing filter to the reference block, else, extracting the value of the filter flag from a given bitstream to authorize or not the application of the smoothing filter to the reference block.
In an embodiment, the given bitstream indicates the comparison results.
In an embodiment, the picture conforms to a given video format ratio 4:4:4 or 4:2:2 or 4:2:0.
According to another aspect of the invention, it is proposed a method of predicting a portion of a picture, for encoding or decoding of a picture portion being predicted by an intra-prediction process with respect to samples of at least one reference block of the picture, the at least one reference block being filtered according to one of any preceding claims.
According to another aspect of the invention, it is proposed a computer program product for a programmable apparatus, the computer program product comprising instructions for carrying out each step of the method as mentioned above when the program is loaded and executed by a programmable apparatus.
According to another aspect of the invention, it is proposed a computer-readable storage medium storing instructions of a computer program for implementing the method as mentioned above.
According to another aspect of the invention, it is proposed a filter for realizing a smoothing filtering on at least one reference block used for predicting a portion of picture, according to an intra-prediction process based on an indexed prediction mode, wherein said filter is configured to implement a method as mentioned above According to another aspect of the invention, it is proposed a device for coding or encoding a picture portion, said device comprising predicting means for predicting a portion of a picture, configured to implement a method as mentioned above Since the present invention can be implemented in software, the present invention can be embodied as computer readable code for provision to a programmable apparatus on any suitable carrier medium. A tangible carrier medium may comprise a storage medium such as a floppy disk, a CD-ROM, a hard disk drive, a magnetic tape device or a solid state memory device and the like. A transient carrier medium may include a signal such as an electrical signal, an electronic signal, an optical signal, an acoustic signal, a magnetic signal or an electromagnetic signal, e.g. a microwave or RF signal.
BRIEF DESCRIPTION OF THE DRAWINGS
Further advantages of the present invention will become apparent to those skilled in the art upon examination of the drawings and detailed description. It is intended that any additional advantages be incorporated herein.
Embodiments of the invention will now be described, by way of example only, and with reference to the following drawings in which: Figure 1 illustrates the architecture of an example of an HEVC video encoder; Figure 2 illustrates the architecture of an example of an HEVC video decoder; Figure 3 shows the data involved in the intra-prediction of Intra mode coding processes; Figure 4 shows the different possible modes considered in HEVC with their corresponding mode numbers; Figure 5 schematically describes the way of building the reference samples array in HEVC; Figure 6 illustrates the selection of Intra prediction modes where the smoothing filter method (MDIS) is applied; Figure 7 illustrates the pixels involved in the MDIS method; Figure 8 illustrates the 4:2:0, 4:2:2 and 4:4:4 video format ratios; Figure 9 illustrates a first embodiment of a method for applying a smoothing filter according to the current invention, and Figure 10 illustrates a second embodiment of a method for applying a smoothing filter according to the current invention, particularly adapted for high depth pictures and/or pictures conformed to the 4:4:4 video format ratio.
DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION
Figure 1 illustrates an embodiment of a video encoder to implement a method for filtering reference blocks according to the invention.
In the video sequence encoder, the original sequence (101) is divided into blocks of pixels (102). A coding mode is then affected to each block. There are two families of coding modes: the modes based on spatial prediction (INTRA) (103) and the modes based on temporal prediction (INTER, Bidir, Skip) (104, 105). An INTRA block is generally predicted from the encoded pixels at its causal boundary by a process called INTRA prediction. The module dedicated to INTRA prediction comprises a Mode dependent Intra smoothing filter 103a. The filter 103a implements a filtering method according to the invention. Embodiments of the method are described more in detail in reference to figures 9 and 10.
Temporal prediction first consists in finding in a previous or future frame (i.e. a reference frame (116)) the reference area which is the most similar to the block to encode (motion estimation (104)) and secondly in predicting this block using the selected area (motion compensation (105)).
In both cases (spatial and temporal prediction), a residual is computed by subtracting the prediction from the original predicted block.
In the INTRA prediction, a prediction direction is encoded. In the temporal prediction, at least one motion vector is encoded. However, in order to further reduce the bitrate cost related to motion vector encoding, a motion vector is not directly encoded. Indeed, assuming that motion is homogeneous, it is particularly interesting to encode a motion vector as a difference between this motion vector, and a motion vector in its surrounding. In H.264 for instance, motion vectors are encoded with respect to a median vector computed between 3 blocks located above and on the left of the current block. Only a difference (also called residual motion vector) computed between the median vector and the current block motion vector is encoded in the bitstream. This is processed in module Mv prediction and coding (117). The value of each encoded vector is stored in the motion vector field (118). The neighboring motion vectors, used for the prediction, are extracted from (118).
Then, the mode optimizing the rate distortion performance is selected (106). In order to further reduce the redundancies, a transform (DOT) is applied to the residual block (107), and a quantization is applied to the coefficients (108). The quantized block of coefficients is then entropy coded (109) and the result is inserted in the bitstream (110). The encoder then performs a decoding of the encoded frame for the future motion estimation (111 to 116). These steps allow the encoder and the decoder to have the same reference frames.
To reconstruct the coded frame, the residual is inverse quantized (111) and inverse transformed (112) in order to provide the "decoded" residual in the pixel domain. According to the encoding mode (INTER or INTRA), this residual is added to the INTER predictor (114) or to the INTRA predictor.
Then, this first reconstruction is filtered (115) by one or several kinds of post filtering. These post filters are integrated in the encoded and decoded loop. It means that they need to be applied on the reconstructed frame at encoder and decoder side in order to use the same reference frame at encoder and decoder side.
The aim of this post filtering is to remove compression artifact. For example, H.264/AVC uses a deblocking filter. This filter can remove blocking artifacts due to the DCT quantization of residual and to block motion compensation. In the current HEVC standard, 3 types of loop filters are used: deblocking filter, sample adaptive offset (SAO) and adaptive loop filter (ALF). These loop filters are described in the following section.
In Figure 2, is represented the principle of a decoder. The video stream (201) is first entropy decoded (202). The residual data are then inverse quantized (203) and inverse transformed (204) to obtain pixel values. The mode data are also entropy decoded and in function ot the mode, an INTRA type decoding or an INTER type decoding is performed. In the case of INTRA mode, an INTRA predictor is determined in function of the intra prediction mode specified in the bitstream (205).
The module dedicated to INTRA mode comprises a filter 205a implementing a method for filtering reference blocks according to the invention.
Embodiments of the filtering methods are mentioned more in detail below in reference to the figures 9 and 10.
If the mode is INTER, the motion information is extracted from the bitstream (202). This is composed of the reference frame index and the motion vector residual.
The motion vector predictor is added to the motion vector residual to obtain the motion vector (210). The motion vector is then used to locate the reference area in the reference frame (206). Note that the motion vector field data (211) is updated with the decoded motion vector in order to be used for the prediction of the next decoded motion vectors. This first reconstruction of the decoded frame is then post filtered (207) with exactly the same post filter as used at encoder side. The output of the decoder is the un-compressed video (209).
Intra spatial prediction is invoked when a CU is coded in Intra mode. In the current HEVC design, as well as in previous designs such as MPEG-4 AVC/H.264, intra coding consists of deriving an Intra prediction block based on the reconstructed neighboring samples of the block to be encoded (decoded), as illustrated in Figure 3 (301). Multiple prediction modes are supported, either directional or non-directional.
Once the CU samples have been predicted, the residual signal between the original samples and the prediction samples is generated. This residual is then coded after having applied transform and quantization processes.
In HEVC, two types of Intra prediction modes are supported. First type corresponds to non-directional modes and contains 2 modes: Planar mode and DC mode. Second type corresponds to directional modes. Up to 33 directional modes are supported. Figure 4 depicts the number of different considered modes in most recent HM design.
In DC mode, samples inside the predicted block are equal to the mean of the neighboring samples. In Planar mode, neighboring samples values are smoothly propagated inside the prediction block, using a linear variation.
In directional modes, the neighboring samples values are propagated along a given angular direction. The prediction process works in two steps. First a row of reference samples refMain[p] (p being the position in the refMain table) is built from the neighboring samples and the angular direction. Then these reference samples are used to predict the samples inside the block pred[x,y] (x,y being the coordinates in the block) along the angular direction.
The refMain row is either horizontal or vertical depending on the direction.
When the direction is below the diagonal left direction (numbered as 18 in Figure 4), the refMain row is vertical. Otherwise the refMain row is horizontal.
For instance as illustrated in Figure 5, when the direction (502) is below the diagonal left direction (501), the reference samples refMain[p] (503) are built from the top row of the block and from the left column of the block projected along the horizontal axis. The horizontal refMain[p] table is then used to derive the block prediction pred[x,y] (504). When the direction (505) is above the diagonal left direction (506), the reference samples remain[p] (507) are built from the left column of the block and from the top row of the block projected along the vertical axis. The vertical refMain[p] table is then used to derive the block prediction pred[x,y] (508).
In the sequel, only the case of horizontal refMain row is considered. The symmetric case of vertical refMain column can be easily deduced.
Let (x,y) be a pixel of the block. The prediction value at (x,y) is derived as Pred[x,y] = refMain[y. 0 ÷ x] (eq.1) Where 0 is the arc tangent of the angle corresponding to the angular direction, as shown in figureS.
In its practical numerical HEVC implementation, the following equation applies: Pred[x,y] = ((32-iFact) * ref[ idx] + iFact * ref[ idx +1] + 16) >> 5 (eq.2) where idx and iFact are the integer and fractional parts of (y. 0 + x), as shown in figure 5. This process enables to interpolate the reference samples signal with an accuracy of 1/32 pixel.
The Mode Dependent Intra Smoothing, in the HEVC standard, consists in applying a smoothing filter on Intra input reference signal according to the Intra prediction number and block predictor size. The blocks forming the Intra input reference signal are named "reference intra blocks" or "reference blocks". In HEVC standard, the use of the smoothing filter is defined as the flow chart of Figure 6.
The received input data of the smoothing filter selection are a prediction index "PredMode" (601) and a value of the transform block size "nTbS" (602). In other words, "nTbS" is the block size selected for the transformation step to be applied to blocks of the picture.
In the current HEVC standard, the nTbS can take four values 4, 8, 16, 32 corresponding, respectively, to the transform sizes 4x4, 8x8, 16x16 and 32x32. First, if the predictor index "PredMode" (601) is equal to DC (PredMode = 1), Horizontal (PredMode = 10) or Vertical (PredMode = 26) (603), no smoothing filter will be applied on the reference Intra pixels. It means that a flag named FilterFlag (608) is set equal to "0" (605). In the same way, if the transform block size "nTbS" (602) is equal to 4 (604), the variable FilterFlag (609) is set equal to "0" (605). Otherwise, a difference variable "minDistVerHor" is set equal to: Min(Abs(predMode -26), Abs(predMode -10)) (606), where Mm is the function which returns the minimum value between two values. Abs is the function which returns the absolute value. The variable minDistVerHor is the minimum distance in term of prediction index of the current predMode (601) to the Horizontal prediction index or vertical prediction index.
If the variable minDistVerHor is greater than the intraHorVerDistThres[nTbS] variable (607), the variable FilterElag (609) is set equal to "1" (608). Consequently no smoothing filter will be applied on the reference Intra blocks or pixels. Otherwise the variable FilterElag (609) is set equal to "0" (605). The variable intraHorVerDistThres[ nTbS] is defined by the following table: nTbS8 nTbS=16 nTbS32 intraHorVerDistThres[ nTbS J 1 0 It means that if the transform size nibs is equal to 8, the intraHorVerDistThres variable is equal to 7. If nTbS is equal to 16, the intraHorVerDistThres variable is equal to 1 and if it is equal to 32, the intraHorVerDistThres variable is equal to 0.
The process of Figure 6 has the advantage to reduce the memory to derive the variable FilterElag.
Yet, this process can be summarized by the following table.
_______ ____ nTbS ____ PredMode 4 s 16 32 PLANAR) C 0 1 1 1 (DC)1 0 0 0 0 2 0 1 1 1 3 0 0 1 1 4 0 0 1 1 0 0 1 1 6 0 0 1 1 7 0 0 1 1 8 0 0 1 1 9 0 0 0 1 (HOR)1( 0 0 0 0 11 0 0 0 1 12 0 0 1 1 13 0 0 1 1 14 0 0 1 1 0 0 1 1 16 0 0 1 1 17 0 0 1 1 18 0 1 1 1 19 0 0 1 1 0 0 1 1 21 0 0 1 1 22 0 0 1 1 23 0 0 1 1 24 0 0 1 1 0 0 0 1 (VER)21 0 0 0 0 27 0 0 0 1 28 0 0 1 1 29 0 0 1 1 0 0 1 1 31 0 0 1 1 32 0 0 1 1 33 0 0 1 1 34 0 1 1 1 Where 1 indicates that the variable FilterFiag is set equal to 1 and 0 that it is set equal to 0.
More precisely, in HEVC standard, the MDIS method defines two smoothing filters. The first one is a convolution filter between the reference pixel with the vectoi [1, 2, 1]. So the filtered pixel is set equal to the weighted average of its initial value and the values of its neighboring pixels.
The second one is the "strong filter". It is enabled if the strong filter flag is enabled in the sequence parameter set and if the three following conditions are true: nTbS is equal to 32 (transform block size is 32x32) Abs(P1 +P3_2*P2)c(1 cc (BitoepthY-5)) Abs(P1 + P5-2 * P4)c(1 cc (BitDepthY -5)) Where P1, P2, P3, P4 and PS are depicted on Figure 7. And BitDepthY is the Luma bit depth of Input sequence. <C is the left shift opelator.
The strong filter is a bilinear filter between the extreme pixels P1, P3 and P1, P5. In HEVC version 1 standard, the MDIS filtering is only designed for Luma pixel.
Yet for Range extension, the use of MDIS for Chroma samples was considered.
In HEVC a picture is defined as an array of Luma samples in monochrome format or an array of Luma samples and two corresponding arrays of Chroma samples in video format. Diffeient sampling ratios can be used foi the three components of a color picture.
A color picture is generally made of three color components R, G and B. These components are generally correlated, and it is very common in image and video compression to decorrelate the color components prior to processing the pictures. The most common format is the YUV video format. YUV signals are typically created from ROB pictures, by using a linear transform to the 3 inputs R, G and B input pictures. Y is usually called Luma component, U and V are generally called Chroma components.
The term YCbCr' is also commonly used in place of the term YUV'.
In addition it is very common to use different sampling ratios to the three color components. The subsampling scheme is commonly expressed as a three part ratio J:a:b (e.g. 4:2:2), that describe the number of luminance and chrominance samples in a conceptual region that is J pixels wide, and 2 pixels high. The parts are (in their respective order): * J: horizontal sampling reference (width of the conceptual region).
Usually, 4.
* a: number of chrominance samples (Cr, Cb) in the first row of J pixels.
* b: number of (additional) chrominance samples (Cr, Cb) in the second row of J pixels.
Figure 5 illustrates the different considered video formats in HEVC RExt (meaning "HEVC Range Extension" for the man skilled in the art). These formats are different due to a different picture size of the three color components, and to a different type of the color components.
* In the 4:2:0 YUV video format, illustrated in (801), the pictures are made of three color components: Y (801.1), U (801.2) also noted Cr, and V (801.3) also noted Cb. If the Y component picture is of width W pixels and of height H pixels, the U and V components pictures are of width W/2 pixels and of height H/2 pixels.
* In the 4:2:2 YUV video format ratio, illustrated in (802), the pictures are made of three color components: Y (802.1), U (802.2) also noted Cr, and V (802.3) also noted Cb. If the Y component picture is of width W pixels and of height H pixels, the U and V components pictures are of width W/2 pixels and of height H pixels.
* In the 4:4:4 YUV video format ratio, illustrated in (803), the pictures are made of three color components: Y (803.1), U (803.2) also noted Cr, and V (803.3) also noted Cb. The three components are of same width Wand height H. In the 4:4:4 RGB video format ratio, illustrated in (803), the pictures are made of three color components: R (803.1), G (803.2), and B (803.3). The three components are of same width Wand height H. When a picture is monochrome, its video format ratio is named 4:0:0.
The bit-depth of input samples is the number of bits related to each pixel for each color component. The HEVC version 1 is defined for 8 bits input sample for 4:2:0 video format. When the input samples are represented with 8 bits, each sample can take 28=256 values. For some applications, it is useful to extend the bit-depth of input samples in order to have a larger dynamic of samples. Generally the aim is to increase the visual quality of the video. The known bit-depths are 8, 10, 12, 14 or 16 bits. The Range Extension (RExt) of HEVC is dedicated to this larger dynamics in addition to the extended video formats.
The MDIS table was set during standardization process according to results on some input sequences. Yet this table is not the optimal for all signal content and should be adapted. One of the basic solutions is to select the use or not of a smoothing filter for each block size and mode. Yet this solution is not optimal because it needs to transmit an index for each Intra block. This significantly increases the bitstream to delete the coding efficiency of the Intra smoothing.
In one embodiment of the invention, a flag is inserted at sequence or frame level to indicate the use or not of the Intra smoothing filter.
In one embodiment of the invention, the smoothing filter is competing with the no smoothing filter only for some Intra prediction modes. Indeed, some Intra prediction modes systematically need a smoothing filter and some others don't. But for the other Intra prediction modes the best filtering depends on the signal content.
Figure 9 shows a flow chart of a first proposed embodiment at decoder side. This flow chart is based on the flow chart of Figure 6. Indeed, one advantage of a first version of this first embodiment is to re-use at least partly the filtering method implemented for the HEVC standard illustrated in figure 6 (=predetermined method).
Advantageously, this predetermined method is re-used when the reference block size is 4*4 or 32*32.
Modules 901 to 909 are the same as modules 601 to 609 of Figure 6. As for flow chart of Figure 6, the FilterFlag (909) is set to 0" (905) if the PredMode (901) is equal to the DC, Hor or Ver (903). In the same way, if nTbS (902) is equal to 4 (904) the FilterElag (909) is set to "0" (905).
Otherwise the difference variable "minDistVerHor" is set equal to Min(Abs(predMode -26), Abs(predMode -10)) (906). Then this difference variable is compared (910) to a value of a first predefined variable intraHorVerDistThresComp[nTbS] defined below.
If "minDistVerHor" is less than or equal to this variable the FilterFlag (909) is set to "0" (905). Otherwise the variable "minDistVerHor" is compared (907) to a value of a second predefined variable "intraHorVerDistThres[nTbS]". If the variable "minDistVerHor" is greater than the "intraHorVerDistThres[ nTbS]" variable value (907), the flag FilterFlag (909) is set equal to "1" (908). Consequently no smoothing filter will be applied on the reference Intra pixels.
Otherwise, the value of the FilterFlag is extracted from a bitstream (911).
The extraction consists in entropy decoding the corresponding value from bitstream and in setting the value of FilterFlag to this value. At encoder side, both predictions (with smoothing filter and without smoothing filter) have been compared in term of coding efficiency with for example a rate distortion criterion. The best choice is selected and the corresponding flag value was inserted in the bitstream.
The process of Figure 9 can be summarized by the following table.
_______ ____ nTbS ____ PredMode 4 s 16 32 PLANAR) C 0 1 1 1 (DC)1 0 0 0 0 2 0 1 1 1 3 0 2 1 1 4 0 2 1 1 0 2 1 1 6 0 2 1 1 7 0 0 2 2 8 0 0 2 2 9 0 0 2 2 (HOR)1C 0 0 0 0 11 0 0 2 2 12 0 0 2 2 13 0 0 2 2 14 0 2 1 1 0 2 1 1 16 0 2 1 1 17 0 2 1 1 18 0 1 1 1 19 0 2 1 1 0 2 1 1 21 0 2 1 1 22 0 2 1 1 23 0 0 2 2 24 0 0 2 2 0 0 2 2 (VER)21 0 0 0 0 27 0 0 2 2 28 0 0 2 2 29 0 0 2 2 0 2 1 1 31 0 2 1 1 32 0 2 1 1 33 0 2 1 1 34 0 1 1 1 According to another embodiment, this table or a derivative of this table may be implemented in the filter 1 03a or 205a to get the authorization of applying the smoothing filter or not.
According to another embodiment, the method illustrated in figure 9 may be fully implemented without reusing the predetermined method illustrated in figure 6.
As seen in the table! the aim of this embodiment is to obtain flexibility around the frontier created by the filtering authorization changes between applying the smoothing filter and no applying the smoothing filter according to the direction mode.
As the intraHorVerDistThresComp[nTbS] is less than or equal to intraHorVerDistThres[nTbS], an implementation can be the set as the following tables: nTbS8 nTbSl6 nTbS32 intraHorVeroistThresComp[ nibS] 3 0 0 nTbSS nTbSl6 nTbS32 intraHorVerDistThres[ nTbS] 7 3 3 As seen in the description of Figure 6, the current HEVC version 1 applies a smoothing filter on a larger amount of Intra prediction modes for larger block size than smaller block size. This is because the average distance between pixels of the current block and the reference pixels is larger for larger block size than smaller block size.
Larger bit-depths generate larger entropy of the signal. Consequently the additional least significant bits of reference pixels are less correlated with those of the current block. Consequently it seems more interesting to apply a larger filtering for bit-depths higher than 8 bit-depths. The same remark can be made for 4:4:4 ratio content with YUV or RBG video format.
Figure 10 shows a second embodiment of the invention where the FilterFlag is set according to the bit depth and video format. This embodiment reuses part of the method implemented on Figure 6. The modules 1001 to 1009 are respectively the same as modules 601 to 609.
The additional modules are the modules 1010 to 1014 which can determine the value of the variable nTbS. The module 1012 receives the video format of the input sequences and check (1012) if it is equal to the 4:4:4 format ratio. As a variant, the video format ratio could be equal to 4:2:2. If this condition is true the variable nTbS is set to 32. In the same way, the bit depth (1011) is checked to determine if it is higher or strictly higher than 8(1014). If this condition is true the variable nTbS is set equal to 32 (1013). Then the condition 1007 will be tested in the same way as condition 607 in Figure 6.
As a variant only the condition 1012 (video format ratio) is used.
As another variant only the condition 1014 (bit depth) is used.
As another variant another condition can be the video format only (independently on the ratio value). For instance a condition can be that the picture is defined according to the RGB video format. This condition can be considered on its own or combined with the bit depth condition and/or the video format ratio condition.
As another variant another condition can be the used HEVC version. Those versions are called "profiles" by the man skilled in the art. For example, the profile can be "Main 8", "Main 10" or "still picture". Each profile gathers predetermined HEVC features, for instance a given bit depth. This condition can be considered on its own or combined with the bit depth condition and/or the video format ratio condition and/or the video format condition.
So based on bit depth and/or video format (or video format), the intraHorVerDistThres[ nTbS] can be set equal to the value intraHorVerDistThres[ 32 in order to filter the reference Intra pixels as much as possible. It corresponds to the modification of Figure 6 by changing the condition of the module 606 by the following condition: minDistVerHor >intraHorVerDistlhres[ 32] As a variant the condition of module 606 is changed by the following condition: minDistVerHor> 0 The proposed embodiment can be summarized by the following table.
_______ ____ nTbS ____ PredMode 4 8 16 32 PLANAR) ( 0 1 1 1 (0C)1 0 0 0 0 2 0 1 1 1 3 0 1 1 1 4 0 1 1 1 0 1 1 1 6 0 1 1 1 7 0 1 1 1 8 0 1 1 1 9 0 1 1 1 (HOR)1( 0 0 0 0 11 0 1 1 1 12 0 1 1 1 13 0 1 1 1 14 0 1 1 1 0 1 1 1 16 0 1 1 1 17 0 1 1 1 18 0 1 1 1 19 0 1 1 1 0 1 1 1 21 0 1 1 1 22 0 1 1 1 23 0 1 1 1 24 0 1 1 1 0 1 1 1 (VER)2( 0 0 0 0 27 0 1 1 1 28 0 1 1 1 29 0 1 1 1 0 1 1 1 31 0 1 1 1 32 0 1 1 1 33 0 1 1 1 34 0 1 1 1 It clearly appeared that the values of this table are the same for the block sizes 4*4 (only "0") and 32*32 as in the former table of the HEVC standard (see pages 16-17). Thus, no new table needs to me stored given the values for 8*8 and 16*16 block sizes in this embodiment, are also the values used for the 32*32 block size in the former table of the HEVC standard (see table on pages 16-17).
As a variant, the additional conditions of the embodiment in Figure 10 (1010 to 1014) can be disabled when a flag is enabled at sequence, frame or slice level.
As another variant of the invention, the Intra smoothing filter can be disabled when a flag is enabled at sequence, frame or slice level. It means that the Filter Flag is always set toO".
Naturally, in order to satisfy local and specific requirements, a person skilled in the art may apply to the solution described above many modifications and alterations all of which, however, are included within the scope of protection of the invention as defined by the following claims.

Claims (27)

  1. CLAIMS1. A method for applying a smoothing filter on at least one reference block used for predicting a portion of picture, according to an intra-prediction process based on an indexed prediction mode, the method comprising: -implementing a predetermined method for obtaining predetermined authorization values, which authorize or not the application of the smoothing filter for each one of the indexed prediction modes, according to the size of the reference block to filter, and -authorizing or not the application of the smoothing filter on at least one reference block according to the predefined authorization values, for at most two different reference block sizes.
  2. 2. A method according to claim 1, wherein for at least one reference block, the predetermined authorization values are used for authorizing or not the application of the smoothing filter if the size of the reference block is 4*4 or 32*32, otherwise the reference block is authorized to be filtered, except if the indexed prediction mode is DC, Vertical or Horizontal.
  3. 3. A method according to claim 2, wherein if the size of reference block is not 4 and if the indexed prediction mode is not DC, Vertical or Horizontal, then setting a difference variable to a value equal to the minimum of the difference between the absolute value of the index of the prediction mode minus 26 and the absolute value of the index of the prediction mode minus 10.
  4. 4. A method according to claim 3, wherein if the value of the difference variable is inferior to a predefined variable whose value based on the size of the reference block, then setting the filter flag to a value which does not authorize the application of the smoothing filter to the reference block, else setting the filter flag to a value which authorizes the application of the smoothing filter to the reference block.
  5. 5. A method according to claim 4, wherein the picture conforms to a video format, and further comprising if the video format ratio of the picture is 4:4:4 and/or if the bit-depth of the picture is superior to 8 and/or if the video format of the picture is RGB, setting the predefined variable to the value corresponding to the highest reference block size.
  6. 6. A method according to claim 5, wherein the highest reference block size is 32*32.
  7. 7. A method according to claim 1, wherein at least one reference block is filtered according to the predetermined authorization values if the size of the reference block is 4, and for other reference block sizes, if the indexed prediction mode is equal or neighboring a predetermined index, making a comparison to determine if the filtering leads to a better rate-distortion for the reference block, and determining the authorization or not of the smoothing filter according to the comparison result.
  8. 8. A method according to claim 7, wherein the predetermined index is one of two successive intra-prediction mode indexes for which the predetermined authorization values change.
  9. 9. A method according to claims 7 or 8, wherein at least part of the authorization values is implemented according to a table, function of the reference block size nTbS and the index of the prediction mode PredMode: _______ ____ nTbS ____ PredMode 4 s 16 32 PLANAR) C 0 1 1 1 (DC)1 0 0 0 0 2 0 1 1 1 3 0 2 1 1 4 0 2 1 1 0 2 1 1 6 0 2 1 1 7 0 0 2 2 8 0 0 2 2 9 0 0 2 2 (HOR)1( 0 0 0 0 11 0 0 2 2 12 0 0 2 2 13 0 0 2 2 14 0 2 1 1 0 2 1 1 16 0 2 1 1 17 0 2 1 1 18 0 1 1 1 19 0 2 1 1 0 2 1 1 21 0 2 1 1 22 0 2 1 1 23 0 0 2 2 24 0 0 2 2 0 0 2 2 (VER)21 0 0 0 0 27 0 0 2 2 28 0 0 2 2 29 0 0 2 2 0 2 1 1 31 0 2 1 1 32 0 2 1 1 33 0 2 1 1 34 0 1 1 1 Where "0" indicates that the application of the smoothing filter is not authorized, "1" indicates that the application of the smoothing filter is authorized, and "2" indicates that a comparison is made.
  10. 10. A method according to claim 7, further comprising if the indexed prediction mode is DC or Horizontal or Vertical, or if the size block is equal to 4, setting a filter flag to a value which does not authorize the application of the smoothing filter to the reference block, and otherwise setting a difference variable to a value equal to the minimum of the difference between the absolute value of the index of the prediction mode minus 26 and the absolute value of the index of the prediction mode minus 10.
  11. 11. A method according to claim 10, further comprising if the value of the difference variable is inferior to a first predefined variable whose value is based on the size of the reference block, setting the filter flag to a value which does not authorize the application of the smoothing filter to the reference block, else, if the difference variable is superior to a second predefined variable whose value is based on the size of the reterence block, setting the filter flag to a value which authorizes the application of the smoothing filter to the reference block, else, extracting the value of the filter flag from a given bitstream to authorize or not the application of the smoothing filter to the reference block.
  12. 12. A method according to claim 13, wherein the given bitstream indicates the comparison results.
  13. 13. A method for applying a smoothing filter on at least one reference block used for predicting a portion of picture, according to an intra-prediction process based on an indexed prediction mode, the method comprising: if the indexed prediction mode has an index equal to or neighboring a predetermined index, then proceeding to a comparison in order to determine if the application of the smoothing filter leads to a better rate-distortion for the reference block, and determining the authorization for applying or not the smoothing filter, according to the comparison results.
  14. 14. A method according to claim 13, wherein the predetermined index is one of two successive intra-prediction mode indexes for which the predetermined authorization values change.
  15. 15. A method according to claim 14. wherein at least part of the authorizations for applying or not of the smoothing filter is implemented by a table ortable derivative.
  16. 16. A method according to claim 15, wherein the table is: nTbS PredMode 4 8 16 32 PLANAR) ( 0 1 1 1 (DC)1 0 0 0 0 2 0 1 1 1 3 0 2 1 1 4 0 2 1 1 0 2 1 1 6 0 2 1 1 7 0 0 2 2 8 0 0 2 2 9 0 0 2 2 (HOR)1( 0 0 0 0 11 0 0 2 2 12 0 0 2 2 13 0 0 2 2 14 0 2 1 1 0 2 1 1 16 0 2 1 1 17 0 2 1 1 18 0 1 1 1 19 0 2 1 1 0 2 1 1 21 0 2 1 1 22 0 2 1 1 23 0 0 2 2 24 0 0 2 2 0 0 2 2 (VER)21 0 0 0 0 27 0 0 2 2 28 0 0 2 2 29 0 0 2 2 0 2 1 1 31 0 2 1 1 32 0 2 1 1 33 0 2 1 1 34 0 1 1 1 Where "0" indicates that the application of the smoothing filter is not authorized, "1" indicates that the application of the smoothing filter is authorized, and 2" indicates that a comparison is made.
  17. 17. A method according to claim 13, further comprising if the indexed prediction mode is DC or Horizontal or Vertical, or if the block size is equal to 4, setting a filter flag to a value which does not authorize the application of the smoothing filter to the reference block, else, setting a difference variable to a value equal to the minimum of the difference between the absolute value of the index of the prediction mode minus 26 and the absolute value of the index of the prediction mode minus 10.
  18. 18. A method according to claim 17, further comprising if the value of the difference variable is superior to a first predefined value based on the size of the reference block, setting the filter flag to a value which does not authorize the application of the smoothing filter to the reference block, else, if the difference variable is superior to a second predefined value based on the size of the reference block, setting the filter flag to a value which authorizes the application of the smoothing filter to the reference block, else, extracting the value of the filter flag from a given bitstream to authorize or not the application of the smoothing filter to the reference block.
  19. 19. A method according to claim 18, wherein the given bitstream indicates the comparison results.
  20. 20. A method according to one of any preceding claims, wherein the picture conforms to a given video format ratio 4:4:4 or 4:2:2 or 4:2:0.
  21. 21. A method of predicting a portion of a picture, for encoding or decoding of a picture portion being predicted by an intra-prediction process with respect to samples of at least one reference block of the picture, the at least one reference block being filtered according to one of any preceding claims.
  22. 22. A computer program product for a programmable apparatus, the computer program product comprising instructions for carrying out each step of the method according to any one of claims 1 to 21 when the program is loaded and executed by a programmable apparatus.
  23. 23. A computer-readable storage medium storing instructions of a computer program for implementing the method according to any one of claims 1 to 21.
  24. 24. A filter for realizing a smoothing filtering on at least one reference block used for predicting a portion of picture, according to an intra-prediction process based on an indexed prediction mode! wherein said filter is configured to implement a method according to anyone of claims 1 to 20.
  25. 25. A device for coding or encoding a picture portion, said device comprising predicting means for predicting a portion of a picture, configured to implement a method according to claim 21.
  26. 26. A method for applying a smoothing filter on at least one reference block used for predicting a portion of picture, according to an intra-prediction process based on an indexed prediction mode, substantially as hereinbefore described with reference to, and as shown in figures 9 and 10.
  27. 27. A device for coding or encoding a picture portion, said device comprising predicting means for predicting a portion of a picture, configured to implement a method according to claim 21, substantially as hereinbefore described with reference to, and as shown in figures 1 and 2.
GB1312507.5A 2013-07-12 2013-07-12 Method, device, and computer program for block filtering in a video encoder and decoder Active GB2516225B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB1312507.5A GB2516225B (en) 2013-07-12 2013-07-12 Method, device, and computer program for block filtering in a video encoder and decoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB1312507.5A GB2516225B (en) 2013-07-12 2013-07-12 Method, device, and computer program for block filtering in a video encoder and decoder

Publications (3)

Publication Number Publication Date
GB201312507D0 GB201312507D0 (en) 2013-08-28
GB2516225A true GB2516225A (en) 2015-01-21
GB2516225B GB2516225B (en) 2015-12-09

Family

ID=49081190

Family Applications (1)

Application Number Title Priority Date Filing Date
GB1312507.5A Active GB2516225B (en) 2013-07-12 2013-07-12 Method, device, and computer program for block filtering in a video encoder and decoder

Country Status (1)

Country Link
GB (1) GB2516225B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2680197C1 (en) * 2015-06-05 2019-02-18 Телефонактиеболагет Лм Эрикссон (Пабл) Input video sequence pixel encoding

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013000435A1 (en) * 2011-06-30 2013-01-03 Huawei Technologies Co., Ltd. Simplified bilateral intra smoothing filter
WO2013109867A1 (en) * 2012-01-19 2013-07-25 Futurewei Technologies, Inc. Simplification of mode dependent intra smoothing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013000435A1 (en) * 2011-06-30 2013-01-03 Huawei Technologies Co., Ltd. Simplified bilateral intra smoothing filter
WO2013109867A1 (en) * 2012-01-19 2013-07-25 Futurewei Technologies, Inc. Simplification of mode dependent intra smoothing

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LI G et al, "Simplification of mode dependent intra smoothing", JCT-VC meeting; 99. MPEG meeting; 1-2-2012 - 10-2-2012; San Jose; (Joint Collaborative Team on Video Coding of ISO/IEC JTC1/SC29/WG11 and ITU-T SG.16); URL: http://wftp3.itu.int/av-arch/jctvc-site/, NR: JCTVC-H0465. *
XIAO H et al, "A mode dependent chroma intra smoothing algorithm for emerging HEVC standard", 2012 3rd IEEE International Conference on Network Infrastructure and Digital Content (IC-NIDC 2012), 21-23 Sept. 2012, Beijing, China, pg 448-452, ISBN 978-1-4673-2201-0. *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2680197C1 (en) * 2015-06-05 2019-02-18 Телефонактиеболагет Лм Эрикссон (Пабл) Input video sequence pixel encoding
US10841597B2 (en) 2015-06-05 2020-11-17 Telefonaktiebolaget Lm Ericsson (Publ) Encoding a pixel of an input video sequence

Also Published As

Publication number Publication date
GB2516225B (en) 2015-12-09
GB201312507D0 (en) 2013-08-28

Similar Documents

Publication Publication Date Title
US10931946B2 (en) Image encoding device, image decoding device, image encoding method, and image decoding method for generating a prediction image
US9451279B2 (en) Method for decoding a moving picture
US10291939B2 (en) Moving image encoding device, moving image decoding device, moving image coding method, and moving image decoding method
KR102227411B1 (en) Distance weighted bi-directional intra prediction
US11102474B2 (en) Devices and methods for intra prediction video coding based on a plurality of reference pixel values
JP7391958B2 (en) Video signal encoding/decoding method and equipment used in the method
WO2020125796A1 (en) Two step cross-component prediction mode based on multiple parameter
US20150023420A1 (en) Image decoding device, image encoding device, image decoding method, and image encoding method
US9473789B2 (en) Apparatus for decoding a moving picture
KR101586125B1 (en) Method and apparatus for encoding/decoding video
WO2020239038A1 (en) Video processing methods and apparatuses for determining deblocking filter decision in video coding systems
CN114270838A (en) Signaling of transition skip mode
CN110771166B (en) Intra-frame prediction device and method, encoding device, decoding device, and storage medium
EP3643068B1 (en) Planar intra prediction in video coding
WO2011071754A1 (en) Mpeg video resolution reduction system
GB2516225A (en) Method, device, and computer program for block filtering in a video encoder and decoder
KR102523384B1 (en) A method of decoding a video signal and an apparatus having the same
US11233991B2 (en) Devices and methods for intra prediction in video coding
CN114503597A (en) Chroma deblocking in video coding and decoding