WO2019121164A1 - De-blocking for video coding - Google Patents

De-blocking for video coding Download PDF

Info

Publication number
WO2019121164A1
WO2019121164A1 PCT/EP2018/084346 EP2018084346W WO2019121164A1 WO 2019121164 A1 WO2019121164 A1 WO 2019121164A1 EP 2018084346 W EP2018084346 W EP 2018084346W WO 2019121164 A1 WO2019121164 A1 WO 2019121164A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
rec
blocks
luma
chroma
Prior art date
Application number
PCT/EP2018/084346
Other languages
French (fr)
Inventor
Kenneth Andersson
Rickard Sjöberg
Ruoyang YU
Per Wennersten
Original Assignee
Telefonaktiebolaget Lm Ericsson (Publ)
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 Telefonaktiebolaget Lm Ericsson (Publ) filed Critical Telefonaktiebolaget Lm Ericsson (Publ)
Publication of WO2019121164A1 publication Critical patent/WO2019121164A1/en

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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • 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/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • 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/124Quantisation
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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
    • 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/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Definitions

  • a video sequence comprises a sequence of images where each image comprises one or more components.
  • Each component can be described as a two-dimensional rectangular array of sample values. It is common that an image in a video sequence consists of three components: one luma component (Y) where the sample values are luma values and two chroma components (Cb and Cr) where the sample values are chroma values. It is common that the dimensions of the chroma components are smaller than the luma components by a factor of two in each dimension. For example, the size of the luma component of an HD image may be 1920x1080 and the chroma components may each have the dimension of 960x540. Components are sometimes referred to as color components.
  • a block is one two-dimensional array of samples.
  • each component a.k.a. color component
  • the coded video bitstream may therefore comprise a sequence of blocks. It is common in video coding that an image is split into units that cover a specific area of the image. Each unit comprises all blocks that make up that specific area and each block belongs fully to one (and only one) unit.
  • the macroblock in H.264 and the Coding unit (CU) in HEVC are two examples of units.
  • a block may refer to a two-dimensional array that a transform used in coding is applied to. These blocks are known under the name“transform blocks”. Alternatively, a block may refer to a two-dimensional array that a single prediction mode is applied to. These blocks can be called“prediction blocks”. As used throughout this disclosure, the word block encompasses at least transform blocks and prediction blocks. Blocking artifacts can occur at both prediction block boundaries and transform block boundaries.
  • Different components (a.k.a. color components) of an image may be split differently into blocks, e.g. such that the area of an image corresponding to multiple blocks in one component Cl corresponds to a single block in another component C2.
  • a given area may correspond to multiple blocks in the luma component, while the same area corresponds to a single block in both of the chroma components.
  • samples of the single block in component C2 may be predicted by samples from multiple blocks in component Cl .
  • different components can be split differently into blocks such that samples of a single block in one component are predicted by samples from multiple blocks in another component.
  • This feature i.e. to have separate partitioning of luma and chroma
  • VVC Versatile Video Coding
  • a residual block comprises samples that represents the sample value difference between the samples of the original source blocks and the prediction blocks.
  • the residual block may be processed using a spatial transform.
  • the transform coefficients are then quantized according to a quantization parameter (QP) which controls the precision of the quantized coefficients.
  • QP quantization parameter
  • the quantized coefficients can be referred to as residual coefficients.
  • a high QP would result in low precision of the coefficients and thus low fidelity of the residual block.
  • a decoder then receives the residual coefficients, applies inverse quantization and inverse transform to derive the residual block.
  • JVET Joint Exploration Test Model 7
  • pred_C (i,j) represents the predicted chroma samples at coordinate (i,j) in a CU and rec_L’(i,j) represents the (downsampled) reconstructed luma samples at coordinate (i,j) of the same CU.
  • rec_L’(i,j) represents the (downsampled) reconstructed luma samples at coordinate (i,j) of the same CU.
  • Parameters a and b are derived by minimizing the regression error between the neighbouring reconstructed luma and chroma samples around the current block.
  • the CCLM prediction mode (of the above JEM algorithm) also includes prediction between the two chroma components. That is, the Cb component is reconstructed first and the Cr component is then predicted from the Cb component. Instead of using the
  • the CCLM Cb-to-Cr prediction is applied in the residual domain. This is implemented by adding a weighted reconstructed Cb residual (resi Cb') to the original Cr intra prediction (pred Cr) to form the final Cr prediction (pred_Cr A *):
  • pred_Cr A * (i,j) pred_Cr (i,j) + a-resi_Cb'(i,j)
  • deblocking is applied to reduce boundaries between blocks.
  • the deblocking process can be realized in many ways. The aim is to suppress discontinuities in the reconstructed images that are caused by block partitioning during coding, e.g. where the blocks are transform blocks, prediction blocks, or both. It is common to perform deblocking using one-dimensional filters where edges in one direction (e.g. vertical) are filtered before the edges in the other direction (e.g. horizontal). For each block boundary (i.e. where the base block is adjacent to a neighboring block), the filtering strength is determined. This strength depends on different factors, including:
  • edges that are in the image and happen to coincide with block borders are not filtered (i.e. such edges should remain edges in the reconstructed image). This can be determined, for example, by using the quantization parameters. If, for example, the QP value is large, a large edge can be the result of block partitioning. However, the same edge at a smaller QP value can be assumed to be part of the source content since otherwise the encoder would have generated residual information to reduce it. This means that for a given QP, only edges of a certain size and smaller should be filtered. Decisions made by checking reconstructed sample values before deblocking and the QP values are referred to in this disclosure as“local decisions.”
  • deblocking filter strength parameter ( bs ) is set for each boundary. If the value of bs is larger than 0, then deblocking may be applied. The larger the boundary strength (bs) is, the stronger filtering is applied.
  • the parameter may be set as follows. First, if any of the blocks at a boundary between the blocks is an intra block then bs is set to 2. If both blocks use inter prediction and they use different reference frames or have significant different motion vectors or a residual is coded, then bs is set to 1.
  • a check that there are not any natural structures on a respective side of the boundary may be applied for luma.
  • gradient calculations are used on a respective side of the boundary using the following condition:
  • luma and chroma components may be coded using different block partitioning structures. This means that a specific region of the luma component may comprise several reconstructed blocks while the corresponding area of the chroma component may comprise a single reconstructed block. An example is shown in FIG. 2, where the chroma block boundaries are represented by solid lines and luma block boundaries are represented by dotted lines. [0014]
  • One problem with the above-described cross-component prediction is that it uses reconstructed luma samples before deblocking to predict chroma samples.
  • FIGS. 3A-3C illustrate this.
  • these figures show an intra coded image with different coding structure for luma and chroma components, where blocking artifacts in chroma samples can be seen due to cross component prediction from reconstructed luma samples that contain blocking artifacts.
  • FIG. 3A shows the Cb component
  • FIG. 3B shows the Cr component
  • FIG. 3C shows the luma component.
  • luma was used for prediction of the two chroma components.
  • this problem is addressed by deblocking chroma samples that are predicted from luma along chroma samples that corresponds to luma boundaries that are deblocked in luma.
  • embodiments ensure that block boundaries in one component that are transferred to another component by prediction are suppressed by deblocking filtering.
  • deblocking filtering One main case when this happens is when chroma is predicted by luma using CCLM prediction.
  • deblocking may be employed in at least four different alternatives.
  • deblock luma when cross component prediction mode is signaled. Do deblocking using a temporary block. Then deblocking is done“again” in the regular deblocking pass. It is not strictly necessary that the deblocking for the temporary block is identical to regular deblocking.
  • FIGS. 4A-4B show an intra-coded image with different coding structure for luma and chroma where chroma samples are deblocked based on decisions on luma samples.
  • FIG 4A shows the Cb samples after deblocking
  • FIG 4B shows the Cr samples after deblocking.
  • a method for processing e.g., encoding or decoding
  • the method includes determining that a condition is true; and in response to determining that the condition is true, applying deblocking filtering to at least one internal boundary of the current block based on a deblocking criterion. Applying deblocking filtering includes modifying at least one sample value neighboring the at least one internal boundary.
  • the condition is true if: (i) the current block in the image has been predicted from a reference area of the current image that comprises more than one block; (ii) an internal boundary in the current block is a boundary between a first area (A) and a second area (B), where area A is predicted from one block (blockl) and area B is predicted from another block (block2); and (iii) at least one deblocking criterion holds for at least one internal boundary of the current block.
  • the current block belongs to one color component (e.g., Y,
  • the reference area belongs to another color component (e.g., Y, Cb, Cr), and in some embodiments the current block and reference area may belong to the same color component ln embodiments, the current block belongs to a chroma color component (e.g., Cb, Cr) and the reference area belongs to a luma color component (e.g., Y). ln embodiments, the deblocking criterion for the at least one internal boundary is based on at least one deblocking criterion for the corresponding boundary between blockl and block2.
  • the method further includes determining that at least one deblocking criterion holds for at least one internal boundary of the current block by considering only chroma samples that occur at a multiple of at least 8 horizontal chroma samples from a vertical chroma block boundary and/or at a multiple of at least 8 vertical chroma samples from a horizontal chroma block boundary.
  • the condition being true further requires that both a width and a height of the chroma block is larger than at least 4 samples.
  • the condition being true further requires that at least one of the blocks in the reference area is intra coded.
  • applying deblocking filtering comprises using a same strength (or higher strength or lower strength) of filtering for inter blocks as for intra blocks.
  • the method further includes checking the internal edges of the current block for a natural structure.
  • the condition further requires that there is no natural structure based on the checking ln embodiments, checking the internal edges of the current block for a natural structure comprises using a gradient calculation on respective sides of the internal boundary.
  • the gradient calculation is based on
  • BC of a unit of a current image
  • the unit is encoded using a cross-component prediction mode and the unit comprises one chroma block (BC) for a particular chroma component and the unit comprises at least two luma blocks (BL 1 , BL2) for the luma component.
  • the method includes (1) deriving at least two reconstructed luma blocks (rec BLl, rec_BL2) for the unit by adding prediction values for the at least two luma blocks (pred_BLl,pred_ BL2) with a decoded residual for the at least two luma blocks (resi_BLl, resi_BL2); (2) deriving at least two down-sampled blocks for the at least two luma blocks (ds_rec_BLl, ds_rec_BL2) by down- sampling luma samples for the at least two reconstructed luma blocks (rec BLl, rec_BL2) to fit a block size of the chroma block (BC); (3) forming a prediction chroma block (pred BC) by assigning the value f(Lij) to each sample Cij of the prediction chroma block (pred BC), where Lij is a co-located sample value in one of the at least two down-sampled blocks (ds_rec
  • step (5) occurs between steps (1) and (2), wherein the deblocking filtering filters a boundary between the at least two reconstructed luma blocks (rec_BLl, rec_BL2).
  • step (5) occurs between steps (2) and (3), wherein the deblocking filtering filters a boundary between the at least two down-sampled blocks
  • step (5) occurs between steps (3) and (4), wherein the deblocking filtering filters an internal boundary of the prediction chroma block (pred BC). ln embodiments, step (5) occurs after step (4), wherein the deblocking filtering filters an internal boundary of the decoded chroma block (rec BC).
  • the at least two reconstructed luma blocks comprise at least two luma transform blocks and one luma prediction block ln embodiments
  • the at least two reconstructed luma blocks comprise one luma transform blocks and at least two luma prediction blocks ln embodiments
  • the at least two reconstructed luma blocks comprise at least two luma transform blocks and at least two luma prediction blocks ln embodiments
  • the at least two reconstructed luma blocks (rec BLl, rec_BL2) comprise at least two luma transform blocks and at least two luma prediction blocks ln embodiments
  • the at least two reconstructed luma blocks comprise at least two luma prediction blocks ln embodiments
  • f(Lij) a*Lij+b where a and b are constants ln embodiments
  • applying deblocking comprises using at least one quantization parameter value of the quantization parameter values used for the at least two luma blocks (BLl, BL2).
  • a device e.g., encoder or decoder
  • a device being adapted to perform the steps of any one of the embodiments of the first or second aspects.
  • a device e.g., decoder
  • the device is configured to decode a chroma block (BC) of a unit of a current image, where the unit is encoded using a cross-component prediction mode and the unit comprises one chroma block (BC) for a particular chroma component and the unit comprises at least two luma blocks (BL1, BL2) for the luma component.
  • BC chroma block
  • BL1, BL2 luma blocks
  • the device includes (1) a deriving module configured to derive at least two reconstructed luma blocks (rec BL 1 , rec_BL2) for the unit by adding prediction values for the at least two luma blocks (pred BL 1 ,pred_ BL2) with a decoded residual for the at least two luma blocks (resi_BLl, resi_BL2); (2) the deriving module configured to derive at least two down- sampled blocks for the at least two luma blocks (ds_rec_BLl, ds_rec_BL2) by down-sampling luma samples for the at least two reconstructed luma blocks (rec BLl, rec_BL2) to fit a block size of the chroma block (BC); (3) a forming module configured to form a prediction chroma block (pred BC) by assigning the value f(Lij) to each sample Cij of the prediction chroma block (pred_BC), where Lij is a co-
  • a computer program comprising instructions which, when executed on at least one processor, causes the at least one processor to carry out the method according to any one of the embodiments of the first or second aspects.
  • a carrier comprising the computer program of the fifth aspect.
  • the carrier is one of an electronic signal, optical signal, radio signal or computer readable storage medium.
  • FIG. 1 illustrates an example of samples used for determining linear prediction parameters for cross-component prediction.
  • FIG. 2 illustrates chroma and luma block boundaries.
  • FIGS. 3A. 3B, and 3C illustrate an intra coded image with different coding structures for luma and chroma components, where blocking artifacts in chroma samples can be seen due to cross component prediction from reconstructed luma samples that contain blocking artifacts.
  • FIGS. 4A and 4B illustrate an intra-coded image with different coding structures for luma and chroma where chroma samples are deblocked based on decisions on luma samples, according to an embodiment.
  • FIGS. 5 and 6 illustrate blocks (e.g., luma blocks) that may serve as reference areas for predicting other blocks (e.g. chroma blocks), according to an embodiment.
  • FIG. 7A illustrates a blocking artifact in luma blocks due to prediction from previous coded luma blocks
  • FIG. 7B illustrates a situation where the artifact was removed by deblocking filtering, according to an embodiment.
  • FIG. 8 illustrates a flow chart according to an embodiment.
  • FIG. 9 illustrates a flow chart according to an embodiment.
  • FIG. 10 is a diagram showing functional units of a device (e.g., encoder, decoder) according to an embodiment.
  • a device e.g., encoder, decoder
  • FIG. 11 is a block diagram of a device (e.g., encoder, decoder) according to an embodiment.
  • a device e.g., encoder, decoder
  • Embodiments relate to both encoding and decoding, and can be employed in both an encoder and a decoder.
  • Embodiments deblock samples of the current block that have been predicted from a reference area that comprises more than one block. The purpose of such deblocking is to reduce block-wise transitions between internal samples of the current block that originates from block-wise transitions of samples in the reference area.
  • Exemplary deblocking filters that can be used include the filter used in H.264 and
  • HEVC High Efficiency Video Coding
  • HEVC High Efficiency Video Coding
  • filters and different numbers of samples to filter may be used in some embodiments.
  • whether to employ a deblocking filter may be conditioned on whether there is a chroma residual or not.
  • Embodiments comprise a deblocking step to the processing of a chroma block C of a unit of a current image, where the unit is coded and/or decoded using cross-component prediction and there is only one chroma block C for a particular chroma component in the unit, but there are at least two luma blocks in the unit.
  • Processing a chroma block C of a unit of a current image, without the deblocking step, comprises the following four steps:
  • the deblocking step of embodiments provides that that“blockiness” stemming from luma block boundaries are suppressed in the chroma block C.
  • the deblocking step may be performed:
  • step 1 • ln-between steps 1 and 2 above. This means that after step 1, the internal boundary between the luma blocks in the unit are deblocked. This is done before the downsampling in step 2.
  • Local decisions made using QP values are preferably done using the luma QP (when deblocking takes place between steps 1 and 2) and using the chroma QP (when deblocking takes place after step 4).
  • FIGS. 5-6 illustrate blocks (e.g., luma blocks) that may serve as reference areas for predicting other blocks (e.g. chroma blocks), that may in some embodiments be differently sized.
  • FIG. 7A illustrates a blocking artifact in luma blocks due to prediction from previous coded luma blocks while FIG. 7B illustrates a situation where the artifact was removed by deblocking filtering.
  • process 800 describes a method performed by a decoder to decode a chroma block (BC) of a unit of a current image, where the unit is encoded using a cross-component prediction mode and the unit comprises one chroma block (Be) for a particular chroma component and the unit comprises at least two luma blocks (B LI , B [ 2 ) for the luma component.
  • the method includes (1) deriving at least two reconstructed luma blocks (rec_B Li , rec_B L2 ) for the unit by adding prediction values for the at least two luma blocks
  • the method further includes (2) deriving at least two down-sampled blocks for the at least two luma blocks (ds_rec_B Li , ds_rec_B L2 ) by down-sampling luma samples for the at least two reconstructed luma blocks (rec_Bu, rec_B L2 ) to fit a block size of the chroma block (Be) (step 804).
  • the method further includes (3) forming a prediction chroma block (pred_B c ) by assigning the value f(Lij) to each sample Cij of the prediction chroma block (pred_B c ), where Lij is a co-located sample value in one of the at least two down-sampled blocks (ds_rec_B Li , ds_rec_B L2 ), f is a function, and i and j are sample coordinates (step 806).
  • the method further includes (4) deriving a decoded chroma block (rec_B c ) by adding values of the prediction chroma block (pred Bc) with a decoded residual for the chroma block (resi Bc) (step 808).
  • the method further includes (5) applying deblocking filtering to a boundary between the at least two luma blocks (B LI , B L2 ), such that the deblocking filtering affects an internal boundary of the chroma block (B c ) (step 810).
  • step (5) occurs between steps (1) and (2), and the deblocking filtering filters a boundary between the at least two reconstructed luma blocks (rec_B Li , rec_B L 2).
  • step (5) occurs between steps (2) and (3), and the deblocking filtering filters a boundary between the at least two down-sampled blocks
  • step (5) occurs between steps (3) and (4), and the deblocking filtering filters an internal boundary of the prediction chroma block (pred Bc). In embodiments, step (5) occurs after step (4), and the deblocking filtering filters an internal boundary of the decoded chroma block (rec_B c ).
  • the at least two reconstructed luma blocks comprise at least two luma transform blocks and one luma prediction block.
  • the at least two reconstructed luma blocks (rec_B Li , rec_B L 2) comprise one luma transform blocks and at least two luma prediction blocks.
  • the at least two reconstructed luma blocks (rec_Bu, rec_B L 2) comprise at least two luma transform blocks and at least two luma prediction blocks.
  • the at least two reconstructed luma blocks (rec_B Li , rec_B L 2) comprise at least two luma prediction blocks.
  • applying deblocking comprises using at least one quantization parameter value of the quantization parameter values used for the at least two luma blocks (B LI , B L2 ).
  • process 900 describes a method for processing (e.g., encoding or decoding) a current block in a unit of a current image.
  • the method includes determining that a condition is true (step 902).
  • the method further includes, in response to determining that the condition is true, applying deblocking filtering to at least one internal boundary of the current block based on a deblocking criterion, wherein applying deblocking filtering comprises modifying at least one sample value neighboring the at least one internal boundary (step 904).
  • the current block in the image has been predicted from a reference area of the current image that comprises more than one block (step 906); an internal boundary in the current block is a boundary between a first area (A) and a second area (B), where area A is predicted from one block (blockl) and area B is predicted from another block (block2) (step 908); and at least one deblocking criterion holds for at least one internal boundary of the current block (step 910).
  • the current block belongs to one color component (e.g., Y, Cb,
  • the reference area belongs to another color component (e.g., Y, Cb, Cr).
  • another color component e.g., Y, Cb, Cr.
  • the current block belongs to a chroma color component (e.g., Cb, Cr) and the reference area belongs to a luma color component (e.g., Y).
  • the deblocking criterion for the at least one internal boundary is based on at least one deblocking criterion for the corresponding boundary between block 1 and block2.
  • boundary strength parameter values bs are stored for vertical luma boundaries of a coding unit.
  • a boundary strength value bs different from 0 may correspond to a boundary that may be deblocked.
  • an additional loop through the corresponding luma boundaries may be done and chroma deblocking of chroma samples that correspond to a luma bs value larger than 0 may be done.
  • bs values for horizontal luma boundaries can be stored and additionally be checked when looping through horizontal chroma boundaries to deblock chroma samples that correspond to a luma bs value larger than 0.
  • a check that there is no residual for the chroma block can be done such that deblocking is done when the corresponding luma bs is larger than 0 and there are no coefficients for the chroma block.
  • boundary strength values bs from luma may also check for natural structures on each side of the luma boundary and only filter chroma if there is no natural structure in luma.
  • a metric to base this on is a gradient calculation as used in HEVC on respective sides of the boundary:
  • the method further includes determining that at least one deblocking criterion holds for at least one internal boundary of the current block by considering only chroma samples that occur at a multiple of at least 8 horizontal chroma samples from a vertical chroma block boundary and/or at a multiple of at least 8 vertical chroma samples from a horizontal chroma block boundary ln embodiments, the condition being true further requires that both a width and a height of the chroma block is larger than at least 4 samples ln embodiments the condition being true further requires that at least one of the blocks in the reference area is intra coded ln embodiments, applying deblocking filtering comprises using a same strength of filtering for inter blocks as for intra blocks.
  • applying deblocking filtering comprises using a higher (or lower) strength of filtering for inter blocks as for intra blocks. For example, with reference to HEVC, this may correspond to using a“fos” value of 1 instead of 2. Strength of the filtering with HEVC as an example can be controlled by limiting the change of a reconstructed sample value by clipping.
  • the method further includes checking the internal edges of the current block for a natural structure, and the condition further requires that there is no natural structure based on the checking.
  • checking the internal edges of the current block for a natural structure comprises using a gradient calculation on respective sides of the internal boundary, wherein the gradient calculation is based on
  • applying deblocking filtering occurs before a coded residual has been added for the current block.
  • the condition being true further requires that a flag is set enabling deblocking of internal edges originating from cross-component prediction.
  • a flag may include a syntax parameter and/or a flag or parameter in a sequence parameter set, a picture parameter set, or slice header, to enable or disable deblocking of internal edges originating from cross-component prediction.
  • FIG. 10 is a functional diagram of a device 1000 (e.g., encoder, decoder).
  • Device 1000 e.g., encoder, decoder.
  • Device 1000 includes a deriving module 1002, a forming module 1004, and a deblocking module 1006.
  • Device 1000 may be configured to decode a chroma block (Be) of a unit of a current image, where the unit is encoded using a cross-component prediction mode and the unit comprises one chroma block (Be) for a particular chroma component and the unit comprises at least two luma blocks (B LI , B 2 ) for the luma component.
  • a chroma block (Be) of a unit of a current image where the unit is encoded using a cross-component prediction mode and the unit comprises one chroma block (Be) for a particular chroma component and the unit comprises at least two luma blocks (B LI , B 2 ) for the luma component.
  • the deriving module 1002 may be configured to derive at least two reconstructed luma blocks (rec_B Li , rec_B L2 ) for the unit by adding prediction values for the at least two luma blocks (pred_B Li ,pred_ B L2 ) with a decoded residual for the at least two luma blocks (resi_B Li , resi_B L2 ).
  • the deriving module 1002 may be further configured to derive at least two down-sampled blocks for the at least two luma blocks (ds_rec_B Li , ds_rec_B L2 ) by down-sampling luma samples for the at least two reconstructed luma blocks (rec Bu, rec_B L2 ) to fit a block size of the chroma block (Be).
  • the forming module 1004 may be configured to form a prediction chroma block (pred_B c ) by assigning the value f(Lij) to each sample Cij of the prediction chroma block (pred_B c ), where Lij is a co-located sample value in one of the at least two down-sampled blocks (ds_rec_B Li , ds_rec_B L 2), f is a function, and i and j are sample coordinates.
  • the deriving module 1002 may be further configured to derive a decoded chroma block (rec_B c ) by adding values of the prediction chroma block (pred_B c ) with a decoded residual for the chroma block (resi_B c ).
  • the deblocking module 1006 may be configured to apply deblocking filtering to a boundary between the at least two luma blocks (B LI , B 2 ), such that the deblocking filtering affects an internal boundary of the chroma block (Be).
  • FIG. 11 is a block diagram of a device 1000 (e.g., encoder, decoder) according to some embodiments.
  • CPP 1141 may be provided.
  • CPP 1141 includes a computer readable medium (CRM) 1142 storing a computer program (CP) 1143 comprising computer readable instructions (CRI) 1144.
  • CRM 1142 may be a non-transitory computer readable medium, such as, but not limited, to magnetic media (e.g., a hard disk), optical media, memory devices (e.g., random access memory, flash memory), and the like.
  • the CRI 1144 of computer program 1143 is configured such that when executed by data processing apparatus 1102, the CRI causes device 1000 to perform steps described above (e.g., steps described above with reference to the flow charts).
  • device 1000 may be configured to perform steps described herein without the need for code. That is, for example, data processing apparatus 1102 may consist merely of one or more ASICs.
  • the features of the embodiments described herein may be implemented in hardware and/or software.

Abstract

A method for processing a current block in a unit of a current image is provided. The method includes determining that a condition is true; and in response to determining that the condition is true, applying deblocking filtering to at least one internal boundary of the current block based on a deblocking criterion. Applying deblocking filtering comprises modifying at least one sample value neighboring the at least one internal boundary. The condition is true if: (i) the current block in the image has been predicted from a reference area of the current image that comprises more than one block; (ii) an internal boundary in the current block is a boundary between a first area (A) and a second area (B), where area A is predicted from one block (block1) and area B is predicted from another block (block2); and (iii) at least one deblocking criterion holds for at least one internal boundary of the current block.

Description

DE-BLOCKING FOR VIDEO CODING
TECHNICAL FIELD
[01] Disclosed are embodiments for de-blocking for video coding.
BACKGROUND
[02] A video sequence comprises a sequence of images where each image comprises one or more components. Each component can be described as a two-dimensional rectangular array of sample values. It is common that an image in a video sequence consists of three components: one luma component (Y) where the sample values are luma values and two chroma components (Cb and Cr) where the sample values are chroma values. It is common that the dimensions of the chroma components are smaller than the luma components by a factor of two in each dimension. For example, the size of the luma component of an HD image may be 1920x1080 and the chroma components may each have the dimension of 960x540. Components are sometimes referred to as color components.
[03] A block is one two-dimensional array of samples. In video coding, each component (a.k.a. color component) of an image is split into blocks and the coded video bitstream may therefore comprise a sequence of blocks. It is common in video coding that an image is split into units that cover a specific area of the image. Each unit comprises all blocks that make up that specific area and each block belongs fully to one (and only one) unit. The macroblock in H.264 and the Coding unit (CU) in HEVC are two examples of units.
[04] A block may refer to a two-dimensional array that a transform used in coding is applied to. These blocks are known under the name“transform blocks”. Alternatively, a block may refer to a two-dimensional array that a single prediction mode is applied to. These blocks can be called“prediction blocks”. As used throughout this disclosure, the word block encompasses at least transform blocks and prediction blocks. Blocking artifacts can occur at both prediction block boundaries and transform block boundaries.
[05] Different components (a.k.a. color components) of an image may be split differently into blocks, e.g. such that the area of an image corresponding to multiple blocks in one component Cl corresponds to a single block in another component C2. For example, a given area may correspond to multiple blocks in the luma component, while the same area corresponds to a single block in both of the chroma components. In this example, samples of the single block in component C2 may be predicted by samples from multiple blocks in component Cl . In other words, different components can be split differently into blocks such that samples of a single block in one component are predicted by samples from multiple blocks in another component. This feature (i.e. to have separate partitioning of luma and chroma) is referred to as DUAL TREE CHROMA in Versatile Video Coding (VVC) draft 4.
[06] A residual block comprises samples that represents the sample value difference between the samples of the original source blocks and the prediction blocks. The residual block may be processed using a spatial transform. The transform coefficients are then quantized according to a quantization parameter (QP) which controls the precision of the quantized coefficients. The quantized coefficients can be referred to as residual coefficients. A high QP would result in low precision of the coefficients and thus low fidelity of the residual block. A decoder then receives the residual coefficients, applies inverse quantization and inverse transform to derive the residual block.
[07] ln the exploration software for future video coding in the Joint Video Experts
Team (JVET) there is a tool that predicts chroma samples from reconstructed luma samples. This feature (i.e. to predict chroma samples from reconstructed luma samples) is referred to as cross-component linear model (CCLM) in WC draft 4. F1G. 1, for example, illustrates an example of samples used for determining linear prediction parameters for cross-component prediction. This is derived from the algorithm Description of Joint Exploration Test Model 7 (JEM 7) JVET-G1001. To reduce the cross-component redundancy, a cross-component linear model (CCLM) prediction mode is used in the JEM algorithm ln this CCLM prediction mode, the chroma samples (pred C) are predicted based on the reconstructed luma samples (rec_L) of the same CU by using a linear model as follows: pred C (ij)=a-rec_L'(ij)+ b
where pred_C (i,j) represents the predicted chroma samples at coordinate (i,j) in a CU and rec_L’(i,j) represents the (downsampled) reconstructed luma samples at coordinate (i,j) of the same CU. (E.g., in case of 4:2:0 subsampling, there is reduced resolution of chroma compared to luma components.) Parameters a and b are derived by minimizing the regression error between the neighbouring reconstructed luma and chroma samples around the current block.
[08] The CCLM prediction mode (of the above JEM algorithm) also includes prediction between the two chroma components. That is, the Cb component is reconstructed first and the Cr component is then predicted from the Cb component. Instead of using the
reconstructed sample signal, the CCLM Cb-to-Cr prediction is applied in the residual domain. This is implemented by adding a weighted reconstructed Cb residual (resi Cb') to the original Cr intra prediction (pred Cr) to form the final Cr prediction (pred_CrA*):
pred_CrA* (i,j) = pred_Cr (i,j) + a-resi_Cb'(i,j)
[09] After each color component (Y, Cr, Cb) have been reconstructed, deblocking is applied to reduce boundaries between blocks. The deblocking process can be realized in many ways. The aim is to suppress discontinuities in the reconstructed images that are caused by block partitioning during coding, e.g. where the blocks are transform blocks, prediction blocks, or both. It is common to perform deblocking using one-dimensional filters where edges in one direction (e.g. vertical) are filtered before the edges in the other direction (e.g. horizontal). For each block boundary (i.e. where the base block is adjacent to a neighboring block), the filtering strength is determined. This strength depends on different factors, including:
• The block type (e.g., whether any of the blocks are coded as Intra)
• Whether there are residual coefficients in the base block or not
• The magnitude of the motion vector difference between the two blocks
• Whether motion vectors point to different reference images
[0010] It is also important that edges that are in the image and happen to coincide with block borders are not filtered (i.e. such edges should remain edges in the reconstructed image). This can be determined, for example, by using the quantization parameters. If, for example, the QP value is large, a large edge can be the result of block partitioning. However, the same edge at a smaller QP value can be assumed to be part of the source content since otherwise the encoder would have generated residual information to reduce it. This means that for a given QP, only edges of a certain size and smaller should be filtered. Decisions made by checking reconstructed sample values before deblocking and the QP values are referred to in this disclosure as“local decisions.”
[0011] In the above mentioned JEM algorithm, where HEVC encoding is used, deblocking is first applied on vertical boundaries and then on horizontal boundaries. A
deblocking filter strength parameter ( bs ) is set for each boundary. If the value of bs is larger than 0, then deblocking may be applied. The larger the boundary strength (bs) is, the stronger filtering is applied. The parameter may be set as follows. First, if any of the blocks at a boundary between the blocks is an intra block then bs is set to 2. If both blocks use inter prediction and they use different reference frames or have significant different motion vectors or a residual is coded, then bs is set to 1.
[0012] To avoid removing natural structures when deblocking, a check that there are not any natural structures on a respective side of the boundary may be applied for luma. In HEVC, gradient calculations are used on a respective side of the boundary using the following condition:
|p0— 2pl + p2 | + |q0— 2ql + q2 | < /3, where b is a parameter based on the quantization parameter for the block, and pO, p 1 , p2 are samples on one side of the block boundary, and qO, ql, q2 are samples on the other side of the block boundary. The condition is checked at multiple positions along the boundary and if all checks are fulfilled (i.e. the inequality is satisfied) then the luma samples are deblocked. Chroma boundaries are always filtered if any of the neighbouring blocks are intra coded.
SUMMARY
[0013] In the above mentioned JEM algorithm, for intra slices, luma and chroma components may be coded using different block partitioning structures. This means that a specific region of the luma component may comprise several reconstructed blocks while the corresponding area of the chroma component may comprise a single reconstructed block. An example is shown in FIG. 2, where the chroma block boundaries are represented by solid lines and luma block boundaries are represented by dotted lines. [0014] One problem with the above-described cross-component prediction is that it uses reconstructed luma samples before deblocking to predict chroma samples. Since luma samples may have a different block partitioning structure than chroma samples for intra-coded images, then any blocking artifact in the luma component may be included in the chroma prediction. FIGS. 3A-3C illustrate this. For example, these figures show an intra coded image with different coding structure for luma and chroma components, where blocking artifacts in chroma samples can be seen due to cross component prediction from reconstructed luma samples that contain blocking artifacts. FIG. 3A shows the Cb component, FIG. 3B shows the Cr component, and FIG. 3C shows the luma component. As shown, luma was used for prediction of the two chroma components.
[0015] In embodiments, this problem is addressed by deblocking chroma samples that are predicted from luma along chroma samples that corresponds to luma boundaries that are deblocked in luma. In other words, embodiments ensure that block boundaries in one component that are transferred to another component by prediction are suppressed by deblocking filtering. One main case when this happens is when chroma is predicted by luma using CCLM prediction. In embodiments, such deblocking may be employed in at least four different alternatives.
• Deblock the luma samples to be used for prediction (before downsampling)
a. Only deblock luma when cross component prediction mode is signaled. Then the luma block is not deblocked in the regular deblocking loop.
b. Only deblock luma when cross component prediction mode is signaled. Do deblocking using a temporary block. Then deblocking is done“again” in the regular deblocking pass. It is not strictly necessary that the deblocking for the temporary block is identical to regular deblocking.
• Deblock the chroma prediction block (after downsampling)
• Deblock the chroma prediction block (after downsampling and mapping to chroma) • Deblock the internal boundaries in the reconstructed chroma block (after adding the chroma residual)
[0016] Advantages
[0017] An advantage of embodiments is that it reduces the amount of blocking artifacts in chroma that originates from luma. For example, FIGS. 4A-4B show an intra-coded image with different coding structure for luma and chroma where chroma samples are deblocked based on decisions on luma samples. FIG 4A shows the Cb samples after deblocking, FIG 4B shows the Cr samples after deblocking.
[0018] According to a first aspect, a method for processing (e.g., encoding or decoding) a current block in a unit of a current image is provided. The method includes determining that a condition is true; and in response to determining that the condition is true, applying deblocking filtering to at least one internal boundary of the current block based on a deblocking criterion. Applying deblocking filtering includes modifying at least one sample value neighboring the at least one internal boundary. The condition is true if: (i) the current block in the image has been predicted from a reference area of the current image that comprises more than one block; (ii) an internal boundary in the current block is a boundary between a first area (A) and a second area (B), where area A is predicted from one block (blockl) and area B is predicted from another block (block2); and (iii) at least one deblocking criterion holds for at least one internal boundary of the current block.
[0019] ln some embodiments, the current block belongs to one color component (e.g., Y,
Cb, Cr) and the reference area belongs to another color component (e.g., Y, Cb, Cr), and in some embodiments the current block and reference area may belong to the same color component ln embodiments, the current block belongs to a chroma color component (e.g., Cb, Cr) and the reference area belongs to a luma color component (e.g., Y). ln embodiments, the deblocking criterion for the at least one internal boundary is based on at least one deblocking criterion for the corresponding boundary between blockl and block2.
[0020] ln embodiments, the method further includes determining that at least one deblocking criterion holds for at least one internal boundary of the current block by considering only chroma samples that occur at a multiple of at least 8 horizontal chroma samples from a vertical chroma block boundary and/or at a multiple of at least 8 vertical chroma samples from a horizontal chroma block boundary. In embodiments, the condition being true further requires that both a width and a height of the chroma block is larger than at least 4 samples. In embodiments, the condition being true further requires that at least one of the blocks in the reference area is intra coded. In embodiments, applying deblocking filtering comprises using a same strength (or higher strength or lower strength) of filtering for inter blocks as for intra blocks.
[0021] ln embodiments, the method further includes checking the internal edges of the current block for a natural structure. The condition further requires that there is no natural structure based on the checking ln embodiments, checking the internal edges of the current block for a natural structure comprises using a gradient calculation on respective sides of the internal boundary. The gradient calculation is based on |p0— 2pl + p2 | + |q0— 2ql + q2 | < /3, where /3 is a parameter based on the quantization parameter for the block, and pO, pl, p2 are samples on one side of the block boundary, and qO, ql, q2 are samples on the other side of the block boundary ln embodiments, applying deblocking filtering occurs before a coded residual has been added for the current block ln embodiments, the condition being true further requires that a flag is set enabling deblocking of internal edges originating from cross-component prediction.
[0022] ln a second aspect, a method performed by a decoder to decode a chroma block
(BC) of a unit of a current image is provided. The unit is encoded using a cross-component prediction mode and the unit comprises one chroma block (BC) for a particular chroma component and the unit comprises at least two luma blocks (BL 1 , BL2) for the luma component. The method includes (1) deriving at least two reconstructed luma blocks (rec BLl, rec_BL2) for the unit by adding prediction values for the at least two luma blocks (pred_BLl,pred_ BL2) with a decoded residual for the at least two luma blocks (resi_BLl, resi_BL2); (2) deriving at least two down-sampled blocks for the at least two luma blocks (ds_rec_BLl, ds_rec_BL2) by down- sampling luma samples for the at least two reconstructed luma blocks (rec BLl, rec_BL2) to fit a block size of the chroma block (BC); (3) forming a prediction chroma block (pred BC) by assigning the value f(Lij) to each sample Cij of the prediction chroma block (pred BC), where Lij is a co-located sample value in one of the at least two down-sampled blocks (ds_rec_BLl, ds_rec_BL2), f is a function, and i and j are sample coordinates; (4) deriving a decoded chroma block (rec BC) by adding values of the prediction chroma block (pred BC) with a decoded residual for the chroma block (resi BC); and (5) applying deblocking filtering to a boundary between the at least two luma blocks (BL1, BL2), such that the deblocking filtering affects an internal boundary of the chroma block (BC).
[0023] ln embodiments, step (5) occurs between steps (1) and (2), wherein the deblocking filtering filters a boundary between the at least two reconstructed luma blocks (rec_BLl, rec_BL2). ln embodiments, step (5) occurs between steps (2) and (3), wherein the deblocking filtering filters a boundary between the at least two down-sampled blocks
(ds_rec_BLl, ds_rec_BL2). ln embodiments, step (5) occurs between steps (3) and (4), wherein the deblocking filtering filters an internal boundary of the prediction chroma block (pred BC). ln embodiments, step (5) occurs after step (4), wherein the deblocking filtering filters an internal boundary of the decoded chroma block (rec BC).
[0024] ln embodiments, the at least two reconstructed luma blocks (rec BLl, rec_BL2) comprise at least two luma transform blocks and one luma prediction block ln embodiments, the at least two reconstructed luma blocks (rec BL 1 , rec_BL2) comprise one luma transform blocks and at least two luma prediction blocks ln embodiments, the at least two reconstructed luma blocks (rec BLl, rec_BL2) comprise at least two luma transform blocks and at least two luma prediction blocks ln embodiments, the at least two reconstructed luma blocks (rec BLl, rec_BL2) comprise at least two luma prediction blocks ln embodiments, f(Lij) = a*Lij+b where a and b are constants ln embodiments, applying deblocking comprises using at least one quantization parameter value of the quantization parameter values used for the at least two luma blocks (BLl, BL2).
[0025] According to a third aspect, a device (e.g., encoder or decoder) being adapted to perform the steps of any one of the embodiments of the first or second aspects is provided..
[0026] According to a fourth aspect, a device (e.g., decoder) is provided. The device is configured to decode a chroma block (BC) of a unit of a current image, where the unit is encoded using a cross-component prediction mode and the unit comprises one chroma block (BC) for a particular chroma component and the unit comprises at least two luma blocks (BL1, BL2) for the luma component. The device includes (1) a deriving module configured to derive at least two reconstructed luma blocks (rec BL 1 , rec_BL2) for the unit by adding prediction values for the at least two luma blocks (pred BL 1 ,pred_ BL2) with a decoded residual for the at least two luma blocks (resi_BLl, resi_BL2); (2) the deriving module configured to derive at least two down- sampled blocks for the at least two luma blocks (ds_rec_BLl, ds_rec_BL2) by down-sampling luma samples for the at least two reconstructed luma blocks (rec BLl, rec_BL2) to fit a block size of the chroma block (BC); (3) a forming module configured to form a prediction chroma block (pred BC) by assigning the value f(Lij) to each sample Cij of the prediction chroma block (pred_BC), where Lij is a co-located sample value in one of the at least two down-sampled blocks (ds rec BLl, ds_rec_BL2), f is a function, and i andj are sample coordinates; (4) the deriving module configured to derive a decoded chroma block (rec BC) by adding values of the prediction chroma block (pred BC) with a decoded residual for the chroma block (resi BC); and (5) a deblocking module configured to apply deblocking filtering to a boundary between the at least two luma blocks (BL1, BL2), such that the deblocking filtering affects an internal boundary of the chroma block (BC).
[0027] According to a fifth aspect, a computer program is provided, comprising instructions which, when executed on at least one processor, causes the at least one processor to carry out the method according to any one of the embodiments of the first or second aspects.
[0028] According to a sixth aspect, a carrier comprising the computer program of the fifth aspect is provided. The carrier is one of an electronic signal, optical signal, radio signal or computer readable storage medium.
BRIEF DESCR1PT10N OF THE DRAWINGS
[0029] The accompanying drawings, which are incorporated herein and form part of the specification, illustrate various embodiments.
[0030] FIG. 1 illustrates an example of samples used for determining linear prediction parameters for cross-component prediction.
[0031] FIG. 2 illustrates chroma and luma block boundaries. [0032] FIGS. 3A. 3B, and 3C illustrate an intra coded image with different coding structures for luma and chroma components, where blocking artifacts in chroma samples can be seen due to cross component prediction from reconstructed luma samples that contain blocking artifacts.
[0033] FIGS. 4A and 4B illustrate an intra-coded image with different coding structures for luma and chroma where chroma samples are deblocked based on decisions on luma samples, according to an embodiment.
[0034] FIGS. 5 and 6 illustrate blocks (e.g., luma blocks) that may serve as reference areas for predicting other blocks (e.g. chroma blocks), according to an embodiment.
[0035] FIG. 7A illustrates a blocking artifact in luma blocks due to prediction from previous coded luma blocks; and FIG. 7B illustrates a situation where the artifact was removed by deblocking filtering, according to an embodiment.
[0036] FIG. 8 illustrates a flow chart according to an embodiment.
[0037] FIG. 9 illustrates a flow chart according to an embodiment.
[0038] FIG. 10 is a diagram showing functional units of a device (e.g., encoder, decoder) according to an embodiment.
[0039] FIG. 11 is a block diagram of a device (e.g., encoder, decoder) according to an embodiment.
DETAILED DESCRIPTION
[0040] Embodiments relate to both encoding and decoding, and can be employed in both an encoder and a decoder. Embodiments deblock samples of the current block that have been predicted from a reference area that comprises more than one block. The purpose of such deblocking is to reduce block-wise transitions between internal samples of the current block that originates from block-wise transitions of samples in the reference area.
[0041] Exemplary deblocking filters that can be used include the filter used in H.264 and
HEVC, which deblock along vertical and horizontal boundaries one luma or chroma sample on respective sides of a luma or chroma block boundary. However, different filters and different numbers of samples to filter may be used in some embodiments. [0042] In embodiments, whether to employ a deblocking filter may be conditioned on whether there is a chroma residual or not.
[0043] Embodiments comprise a deblocking step to the processing of a chroma block C of a unit of a current image, where the unit is coded and/or decoded using cross-component prediction and there is only one chroma block C for a particular chroma component in the unit, but there are at least two luma blocks in the unit.
[0044] Processing a chroma block C of a unit of a current image, without the deblocking step, comprises the following four steps:
1) Derive reconstructed sample values of all (at least two) luma blocks of the unit by forming a prediction and adding an optional residual.
2) Down-sample the luma values of the unit to fit the chroma block size.
3) Derive chroma prediction values for the chroma block C by using a one dimensional function f(x) where x is a down-sampled value from step 2.
4) Derive reconstructed sample values for chroma block C by adding an optional residual to the output from step 3.
[0045] The deblocking step of embodiments provides that that“blockiness” stemming from luma block boundaries are suppressed in the chroma block C. There are at least four alternatives on where to employ the deblocking step. That is, the deblocking step may be performed:
• ln-between steps 1 and 2 above. This means that after step 1, the internal boundary between the luma blocks in the unit are deblocked. This is done before the downsampling in step 2.
• ln-between steps 2 and 3 above. Here, the deblocking is done in reduced resolution compared to the preceding alternative.
• ln-between steps 3 and 4 above. After applying f(x), the severity of the “blockiness” may change, meaning that it may be advantageous to apply deblocking here. • After step 4. This means that deblocking is applied after the residual is added.
[0046] Various types of deblocking filtering may be used according to embodiments.
Local decisions made using QP values are preferably done using the luma QP (when deblocking takes place between steps 1 and 2) and using the chroma QP (when deblocking takes place after step 4).
[0047] FIGS. 5-6 illustrate blocks (e.g., luma blocks) that may serve as reference areas for predicting other blocks (e.g. chroma blocks), that may in some embodiments be differently sized. FIG. 7A illustrates a blocking artifact in luma blocks due to prediction from previous coded luma blocks while FIG. 7B illustrates a situation where the artifact was removed by deblocking filtering.
[0048] Referring now to FIG. 8, process 800 describes a method performed by a decoder to decode a chroma block (BC) of a unit of a current image, where the unit is encoded using a cross-component prediction mode and the unit comprises one chroma block (Be) for a particular chroma component and the unit comprises at least two luma blocks (BLI, B[ 2) for the luma component. The method includes (1) deriving at least two reconstructed luma blocks (rec_BLi, rec_BL2) for the unit by adding prediction values for the at least two luma blocks
(pred_BLi,pred_ BL2) with a decoded residual for the at least two luma blocks (resi_BLi, resi_BL2) (step 802). The method further includes (2) deriving at least two down-sampled blocks for the at least two luma blocks (ds_rec_BLi, ds_rec_BL2) by down-sampling luma samples for the at least two reconstructed luma blocks (rec_Bu, rec_BL2) to fit a block size of the chroma block (Be) (step 804). The method further includes (3) forming a prediction chroma block (pred_Bc) by assigning the value f(Lij) to each sample Cij of the prediction chroma block (pred_Bc), where Lij is a co-located sample value in one of the at least two down-sampled blocks (ds_rec_BLi, ds_rec_BL2), f is a function, and i and j are sample coordinates (step 806). The method further includes (4) deriving a decoded chroma block (rec_Bc) by adding values of the prediction chroma block (pred Bc) with a decoded residual for the chroma block (resi Bc) (step 808). The method further includes (5) applying deblocking filtering to a boundary between the at least two luma blocks (BLI, BL2), such that the deblocking filtering affects an internal boundary of the chroma block (Bc) (step 810). [0049] In some embodiments, step (5) occurs between steps (1) and (2), and the deblocking filtering filters a boundary between the at least two reconstructed luma blocks (rec_BLi, rec_BL2). In embodiments, step (5) occurs between steps (2) and (3), and the deblocking filtering filters a boundary between the at least two down-sampled blocks
(ds_rec_BLi, ds_rec_BL2). In embodiments, step (5) occurs between steps (3) and (4), and the deblocking filtering filters an internal boundary of the prediction chroma block (pred Bc). In embodiments, step (5) occurs after step (4), and the deblocking filtering filters an internal boundary of the decoded chroma block (rec_Bc).
[0050] In embodiments, the at least two reconstructed luma blocks (rec_BLi, rec_BL2) comprise at least two luma transform blocks and one luma prediction block. In embodiments, the at least two reconstructed luma blocks (rec_BLi, rec_BL2) comprise one luma transform blocks and at least two luma prediction blocks. In embodiments, the at least two reconstructed luma blocks (rec_Bu, rec_BL2) comprise at least two luma transform blocks and at least two luma prediction blocks. In embodiments, the at least two reconstructed luma blocks (rec_BLi, rec_BL2) comprise at least two luma prediction blocks. In embodiments, f(Lij) = a*Lij+b where a and b are constants. In embodiments, applying deblocking comprises using at least one quantization parameter value of the quantization parameter values used for the at least two luma blocks (BLI, BL2).
[0051] Referring now to FIG. 9, process 900 describes a method for processing (e.g., encoding or decoding) a current block in a unit of a current image. The method includes determining that a condition is true (step 902). The method further includes, in response to determining that the condition is true, applying deblocking filtering to at least one internal boundary of the current block based on a deblocking criterion, wherein applying deblocking filtering comprises modifying at least one sample value neighboring the at least one internal boundary (step 904). The condition is true if: the current block in the image has been predicted from a reference area of the current image that comprises more than one block (step 906); an internal boundary in the current block is a boundary between a first area (A) and a second area (B), where area A is predicted from one block (blockl) and area B is predicted from another block (block2) (step 908); and at least one deblocking criterion holds for at least one internal boundary of the current block (step 910). [0052] In embodiments, the current block belongs to one color component (e.g., Y, Cb,
Cr) and the reference area belongs to another color component (e.g., Y, Cb, Cr). In
embodiments, the current block belongs to a chroma color component (e.g., Cb, Cr) and the reference area belongs to a luma color component (e.g., Y). In embodiments, the deblocking criterion for the at least one internal boundary is based on at least one deblocking criterion for the corresponding boundary between block 1 and block2.
[0053] In some embodiments, for example, boundary strength parameter values bs are stored for vertical luma boundaries of a coding unit. A boundary strength value bs different from 0 may correspond to a boundary that may be deblocked. When looping through vertical chroma boundaries, an additional loop through the corresponding luma boundaries may be done and chroma deblocking of chroma samples that correspond to a luma bs value larger than 0 may be done. Similarly, bs values for horizontal luma boundaries can be stored and additionally be checked when looping through horizontal chroma boundaries to deblock chroma samples that correspond to a luma bs value larger than 0. Optionally, a check that there is no residual for the chroma block can be done such that deblocking is done when the corresponding luma bs is larger than 0 and there are no coefficients for the chroma block.
[0054] As another example, in addition to using boundary strength values bs from luma to indicate if chroma should be filtered, one may also check for natural structures on each side of the luma boundary and only filter chroma if there is no natural structure in luma. One example of a metric to base this on is a gradient calculation as used in HEVC on respective sides of the boundary: |p0— 2pl + p2| + |q0— 2ql + q2| < /3, where /3 is a parameter based on the quantization parameter for the block. Filtering is done when the inequality is true.
[0055] ln embodiments, the method further includes determining that at least one deblocking criterion holds for at least one internal boundary of the current block by considering only chroma samples that occur at a multiple of at least 8 horizontal chroma samples from a vertical chroma block boundary and/or at a multiple of at least 8 vertical chroma samples from a horizontal chroma block boundary ln embodiments, the condition being true further requires that both a width and a height of the chroma block is larger than at least 4 samples ln embodiments the condition being true further requires that at least one of the blocks in the reference area is intra coded ln embodiments, applying deblocking filtering comprises using a same strength of filtering for inter blocks as for intra blocks. In embodiments, applying deblocking filtering comprises using a higher (or lower) strength of filtering for inter blocks as for intra blocks. For example, with reference to HEVC, this may correspond to using a“fos” value of 1 instead of 2. Strength of the filtering with HEVC as an example can be controlled by limiting the change of a reconstructed sample value by clipping.
[0056] In embodiments, the method further includes checking the internal edges of the current block for a natural structure, and the condition further requires that there is no natural structure based on the checking. In embodiments, checking the internal edges of the current block for a natural structure comprises using a gradient calculation on respective sides of the internal boundary, wherein the gradient calculation is based on |p0— 2pl + p2| + |q0— 2ql + q2| < /3, where /3 is a parameter based on the quantization parameter for the block, and pO, pl, p2 are samples on one side of the block boundary, and qO, ql, q2 are samples on the other side of the block boundary. In embodiments, applying deblocking filtering occurs before a coded residual has been added for the current block. In embodiments, the condition being true further requires that a flag is set enabling deblocking of internal edges originating from cross-component prediction. For example, such a flag may include a syntax parameter and/or a flag or parameter in a sequence parameter set, a picture parameter set, or slice header, to enable or disable deblocking of internal edges originating from cross-component prediction.
[0057] FIG. 10 is a functional diagram of a device 1000 (e.g., encoder, decoder). Device
1000 includes a deriving module 1002, a forming module 1004, and a deblocking module 1006. Device 1000 may be configured to decode a chroma block (Be) of a unit of a current image, where the unit is encoded using a cross-component prediction mode and the unit comprises one chroma block (Be) for a particular chroma component and the unit comprises at least two luma blocks (BLI, B 2) for the luma component. The deriving module 1002 may be configured to derive at least two reconstructed luma blocks (rec_BLi, rec_BL2) for the unit by adding prediction values for the at least two luma blocks (pred_BLi,pred_ BL2) with a decoded residual for the at least two luma blocks (resi_BLi, resi_BL2). The deriving module 1002 may be further configured to derive at least two down-sampled blocks for the at least two luma blocks (ds_rec_BLi, ds_rec_BL2) by down-sampling luma samples for the at least two reconstructed luma blocks (rec Bu, rec_BL2) to fit a block size of the chroma block (Be). The forming module 1004 may be configured to form a prediction chroma block (pred_Bc) by assigning the value f(Lij) to each sample Cij of the prediction chroma block (pred_Bc), where Lij is a co-located sample value in one of the at least two down-sampled blocks (ds_rec_BLi, ds_rec_BL2), f is a function, and i and j are sample coordinates. The deriving module 1002 may be further configured to derive a decoded chroma block (rec_Bc) by adding values of the prediction chroma block (pred_Bc) with a decoded residual for the chroma block (resi_Bc). The deblocking module 1006 may be configured to apply deblocking filtering to a boundary between the at least two luma blocks (BLI, B 2), such that the deblocking filtering affects an internal boundary of the chroma block (Be).
[0058] FIG. 11 is a block diagram of a device 1000 (e.g., encoder, decoder) according to some embodiments. As shown in FIG. 11 , device 1000 may comprise: a data processing apparatus (DPA) 1102, which may include one or more processors (P) 1155 (e.g., a general purpose microprocessor and/or one or more other processors, such as an application specific integrated circuit (ASIC), field-programmable gate arrays (FPGAs), and the like); a network interface 1148 comprising a transmitter (Tx) 1145 and a receiver (Rx) 1147 for enabling device 1000 to transmit data to and receive data from other nodes connected to a network 1110 (e.g., an Internet Protocol (IP) network) to which network interface 1148 is connected; circuitry 1103 (e.g., radio transceiver circuitry) coupled to an antenna system 1104 for wireless communication with UEs); and local storage unit (a.k.a.,“data storage system”) 1108, which may include one or more non-volatile storage devices and/or one or more volatile storage devices (e.g., random access memory (RAM)). In embodiments where device 1000 includes a general purpose microprocessor, a computer program product (CPP) 1141 may be provided. CPP 1141 includes a computer readable medium (CRM) 1142 storing a computer program (CP) 1143 comprising computer readable instructions (CRI) 1144. CRM 1142 may be a non-transitory computer readable medium, such as, but not limited, to magnetic media (e.g., a hard disk), optical media, memory devices (e.g., random access memory, flash memory), and the like. In some
embodiments, the CRI 1144 of computer program 1143 is configured such that when executed by data processing apparatus 1102, the CRI causes device 1000 to perform steps described above (e.g., steps described above with reference to the flow charts). In other embodiments, device 1000 may be configured to perform steps described herein without the need for code. That is, for example, data processing apparatus 1102 may consist merely of one or more ASICs. Hence, the features of the embodiments described herein may be implemented in hardware and/or software.
[0059] While various embodiments of the present disclosure are described herein, it should be understood that they have been presented by way of example only, and not limitation. Thus, the breadth and scope of the present disclosure should not be limited by any of the above- described exemplary embodiments. Moreover, any combination of the above-described elements in all possible variations thereof is encompassed by the disclosure unless otherwise indicated herein or otherwise clearly contradicted by context.
[0060] Additionally, while the processes described above and illustrated in the drawings are shown as a sequence of steps, this was done solely for the sake of illustration. Accordingly, it is contemplated that some steps may be added, some steps may be omitted, the order of the steps may be re-arranged, and some steps may be performed in parallel.

Claims

CLAIMS:
1. A method for processing (e.g., encoding or decoding) a current block in a unit of a current image, the method comprising:
determining that a condition is true;
in response to determining that the condition is true, applying deblocking filtering to at least one internal boundary of the current block based on a deblocking criterion, wherein applying deblocking filtering comprises modifying at least one sample value neighboring the at least one internal boundary, and
wherein the condition is true if: the current block in the image has been predicted from a reference area of the current image that comprises more than one block;
an internal boundary in the current block is a boundary between a first area (A) and a second area (B), where area A is predicted from one block (blockl) and area B is predicted from another block (block2); and
at least one deblocking criterion holds for at least one internal boundary of the current block.
2. The method of claim 1, wherein the current block belongs to one color component (e.g., Y, Cb, Cr) and the reference area belongs to another color component (e.g., Y, Cb, Cr).
3. The method of claim 2, wherein the current block belongs to a chroma color component (e.g., Cb, Cr) and the reference area belongs to a luma color component (e.g., Y).
4. The method of any one of claims 1-3, wherein the deblocking criterion for the at least one internal boundary is based on at least one deblocking criterion for the corresponding boundary between blockl and block2.
5. The method of any one of claims 1-4, further comprising determining that at least one deblocking criterion holds for at least one internal boundary of the current block by considering only chroma samples that occur at a multiple of at least 8 horizontal chroma samples from a vertical chroma block boundary and/or at a multiple of at least 8 vertical chroma samples from a horizontal chroma block boundary.
6. The method of any one of claims 1-5, wherein the condition being true further requires that both a width and a height of the chroma block is larger than at least 4 samples.
7. The method of any one of claims 1-6, wherein the condition being true further requires that at least one of the blocks in the reference area is intra coded.
8. The method of any one of claims 1-7, further comprising checking the internal edges of the current block for a natural structure, and wherein the condition further requires that there is no natural structure based on the checking.
9. The method of claim 7, wherein checking the internal edges of the current block for a natural structure comprises using a gradient calculation on respective sides of the internal boundary, wherein the gradient calculation is based on |p0 - 2pl + p2| + |q0 - 2ql + q2| < /3, where /3 is a parameter based on the quantization parameter for the block, and pO, pl, p2 are samples on one side of the block boundary, and qO, ql, q2 are samples on the other side of the block boundary.
10. The method of any one of claims 1-9, wherein applying deblocking filtering occurs before a coded residual has been added for the current block.
11. The method of any one of claims 1-10, wherein the condition being true further requires that a flag is set enabling deblocking of internal edges originating from cross-component prediction.
12. A method performed by a decoder to decode a chroma block (Be) of a unit of a current image, where the unit is encoded using a cross-component prediction mode and the unit comprises one chroma block (Be) for a particular chroma component and the unit comprises at least two luma blocks (BLI, BL2) for the luma component, the method comprising:
(1) deriving at least two reconstructed luma blocks (rec_BLi, rec_BL2) for the unit by adding prediction values for the at least two luma blocks (pred_BLi,pred_ BL2) with a decoded residual for the at least two luma blocks (resi_BLi, resi_BL2);
(2) deriving at least two down-sampled blocks for the at least two luma blocks
(ds_rec_BLi, ds_rec_BL2) by down-sampling luma samples for the at least two reconstructed luma blocks (rec_BLi, rec_BL2) to fit a block size of the chroma block (Bc);
(3) forming a prediction chroma block (pred_Bc) by assigning the value f(Lij) to each sample Cij of the prediction chroma block (pred_Bc), where Lij is a co-located sample value in one of the at least two down-sampled blocks (ds_rec_BLi, ds_rec_BL2), f is a function, and i and j are sample coordinates;
(4) deriving a decoded chroma block (rec_Bc) by adding values of the prediction chroma block (pred Bc) with a decoded residual for the chroma block (resi_Bc); and
(5) applying deblocking filtering to a boundary between the at least two luma blocks (BLI, BL2), such that the deblocking filtering affects an internal boundary of the chroma block
(Be).
13. The method of claim 12, wherein step (5) occurs between steps (1) and (2), wherein the deblocking filtering filters a boundary between the at least two reconstructed luma blocks (rec_BL1, rec_BL2).
14. The method of claim 12, wherein step (5) occurs between steps (2) and (3), wherein the deblocking filtering filters a boundary between the at least two down-sampled blocks (ds_rec_BLi, ds_rec_BL2).
15. The method of claim 12, wherein step (5) occurs between steps (3) and (4), wherein the deblocking filtering filters an internal boundary of the prediction chroma block (pred Bc).
16. The method of claim 12, wherein step (5) occurs after step (4), wherein the deblocking filtering filters aninternal boundary of the decoded chroma block (rec Bc).
17. The method of any one of claims 12-16, wherein the at least two reconstructed luma blocks (rec_BLi, rec_BL2) comprise at least two luma transform blocks and one luma prediction block.
18. The method of any one of claims 12-16, wherein the at least two reconstructed luma blocks (rec_BLi, rec_BL2) comprise one luma transform blocks and at least two luma prediction blocks.
19. The method of any one of claims 12-16, wherein the at least two reconstructed luma blocks (rec_Bu, rcc B ) comprise at least two luma transform blocks and at least two luma prediction blocks.
20. The method of any one of claims 12-16, wherein the at least two reconstructed luma blocks (rec_BLi, rec_BL2) comprise at least two luma prediction blocks.
21. The embodiment of any one of claims 12-20, wherein f(Lij) = a*Lij+b where a and b are constants.
22. The method of any one of claims 12-21, wherein applying deblocking comprises using at least one quantization parameter value of the quantization parameter values used for the at least two luma blocks (BLI, BL2).
23. A device (e.g., encoder or decoder) being adapted to perform the steps of any one of claims 1-11 and 12-22.
24. A device (e.g., decoder), wherein the device is configured to decode a chroma block (Bc) of a unit of a current image, where the unit is encoded using a cross-component prediction mode and the unit comprises one chroma block (Be) for a particular chroma component and the unit comprises at least two luma blocks (BLI, BL2) for the luma component, the device
comprising:
(1) a deriving module configured to derive at least two reconstructed luma blocks (rec_BLi, rec_BL2) for the unit by adding prediction values for the at least two luma blocks (pred_BLi,pred_ BL2) with a decoded residual for the at least two luma blocks (resi_BLi, resi_BL2);
(2) the deriving module configured to derive at least two down-sampled blocks for the at least two luma blocks (ds_rec_BLi, ds_rec_BL2) by down-sampling luma samples for the at least two reconstructed luma blocks (rec_BLi, rec_BL2) to fit a block size of the chroma block (Bc);
(3) a forming module configured to form a prediction chroma block (pred_Bc) by assigning the value f(Lij) to each sample Cij of the prediction chroma block (pred_Bc), where Lij is a co-located sample value in one of the at least two down-sampled blocks (ds_rec_BLi, ds_rec_BL2), f is a function, and i and j are sample coordinates; (4) the deriving module configured to derive a decoded chroma block (rec_Bc) by adding values of the prediction chroma block (pred Bc) with a decoded residual for the chroma block (resi_Bc); and
(5) a deblocking module configured to apply deblocking filtering to a boundary between the at least two luma blocks (BLI, B[ 2), such that the deblocking filtering affects an internal boundary of the chroma block (Be).
25. A computer program, comprising instructions which, when executed on at least one processor, causes the at least one processor to carry out the method according to any one of claims 1-11 and 12-22.
26. A carrier comprising the computer program of claim 25, wherein the carrier is one of an electronic signal, optical signal, radio signal or computer readable storage medium.
PCT/EP2018/084346 2017-12-18 2018-12-11 De-blocking for video coding WO2019121164A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201762607100P 2017-12-18 2017-12-18
US62/607100 2017-12-18

Publications (1)

Publication Number Publication Date
WO2019121164A1 true WO2019121164A1 (en) 2019-06-27

Family

ID=64755516

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2018/084346 WO2019121164A1 (en) 2017-12-18 2018-12-11 De-blocking for video coding

Country Status (1)

Country Link
WO (1) WO2019121164A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021037004A1 (en) * 2019-08-23 2021-03-04 Huawei Technologies Co., Ltd. An encoder, a decoder and corresponding methods for performing chroma deblocking for blocks which use joint chroma coding
CN112511832A (en) * 2019-09-16 2021-03-16 腾讯美国有限责任公司 Video decoding method, device and readable storage medium
US20210152830A1 (en) * 2018-04-02 2021-05-20 Sharp Kabushiki Kaisha Systems and methods for deriving quantization parameters for video blocks in video coding
WO2021146933A1 (en) * 2020-01-21 2021-07-29 Alibaba Group Holding Limited Next-generation loop filter implementations for adaptive resolution video coding

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080317377A1 (en) * 2007-06-19 2008-12-25 Katsuo Saigo Image coding apparatus and image coding method
EP2775711A1 (en) * 2011-11-04 2014-09-10 LG Electronics Inc. Method and apparatus for encoding/decoding image information
US20150117519A1 (en) * 2013-10-28 2015-04-30 Qualcomm Incorporated Adaptive inter-color component residual prediction
US20150373349A1 (en) * 2014-06-20 2015-12-24 Qualcomm Incorporated Cross-component prediction in video coding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080317377A1 (en) * 2007-06-19 2008-12-25 Katsuo Saigo Image coding apparatus and image coding method
EP2775711A1 (en) * 2011-11-04 2014-09-10 LG Electronics Inc. Method and apparatus for encoding/decoding image information
US20150117519A1 (en) * 2013-10-28 2015-04-30 Qualcomm Incorporated Adaptive inter-color component residual prediction
US20150373349A1 (en) * 2014-06-20 2015-12-24 Qualcomm Incorporated Cross-component prediction in video coding

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
COHEN R ET AL: "CE9 Test A.3 Modifying cross-component prediction to compensate for intra boundary filtering", 19. JCT-VC MEETING; 17-10-2014 - 24-10-2014; STRASBOURG; (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/,, no. JCTVC-S0177-v4, 17 October 2014 (2014-10-17), XP030116958 *
NORKIN (ERICSSON) A: "AHG6: Reduction of block artifacts in HEVC for large blocks", 101. MPEG MEETING; 16-7-2012 - 20-7-2012; STOCKHOLM; (MOTION PICTURE EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11),, no. m25614, 20 July 2012 (2012-07-20), XP030053948 *
SJÖBERG R ET AL: "Description of SDR and HDR video coding technology proposal by Ericsson and Nokia", 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-J0012-v2, 13 April 2018 (2018-04-13), XP030151169 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210152830A1 (en) * 2018-04-02 2021-05-20 Sharp Kabushiki Kaisha Systems and methods for deriving quantization parameters for video blocks in video coding
US11689722B2 (en) * 2018-04-02 2023-06-27 Sharp Kabushiki Kaisha Systems and methods for deriving quantization parameters for video blocks in video coding
US11805254B2 (en) 2018-04-02 2023-10-31 Sharp Kabushiki Kaisha Systems and methods for deriving quantization parameters for video blocks in video coding
WO2021037004A1 (en) * 2019-08-23 2021-03-04 Huawei Technologies Co., Ltd. An encoder, a decoder and corresponding methods for performing chroma deblocking for blocks which use joint chroma coding
US11317091B2 (en) 2019-08-23 2022-04-26 Huawei Technologies Co., Ltd. Performing chroma deblocking for blocks which use joint chroma coding
US11736695B2 (en) 2019-08-23 2023-08-22 Huawei Technologies Co., Ltd. Performing chroma deblocking for blocks which use joint chroma coding
CN112511832A (en) * 2019-09-16 2021-03-16 腾讯美国有限责任公司 Video decoding method, device and readable storage medium
CN112511832B (en) * 2019-09-16 2023-06-20 腾讯美国有限责任公司 Video decoding method, apparatus and readable storage medium
WO2021146933A1 (en) * 2020-01-21 2021-07-29 Alibaba Group Holding Limited Next-generation loop filter implementations for adaptive resolution video coding

Similar Documents

Publication Publication Date Title
US11070805B2 (en) Cross-component coding order derivation
US10511843B2 (en) Method and apparatus for loop filtering across slice or tile boundaries
WO2021004491A1 (en) Sample determination for adaptive loop filtering
WO2019121164A1 (en) De-blocking for video coding
US10681371B2 (en) Method and device for performing deblocking filtering
EP3979652A1 (en) Using neural network filtering in video coding
US11831926B2 (en) Deblocking of transform sub-block boundaries
WO2021052509A1 (en) Selective application of sample padding in adaptive loop filtering
WO2021057946A1 (en) Adaptive loop filtering between different video units
WO2020003268A2 (en) Definition of zero unit
WO2021068906A1 (en) Padding process at unavailable sample locations in adaptive loop filtering
US11483555B2 (en) Multiple boundary filtering
US20220141464A1 (en) Deblocking in a video encoder and/or video decoder
US20220329875A1 (en) Deblocking between block boundaries and sub-block boundaries in a video encoder and/or video decoder
WO2020003264A2 (en) Filtering of zero unit
US11490080B2 (en) Deblocking of implicit transform unit boundaries
US11902516B2 (en) Deblocking using sub-pel motion vector threshold
EP4128761A1 (en) Video processing
WO2021215978A1 (en) Compresssed picture-in-picture signaling

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18825598

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18825598

Country of ref document: EP

Kind code of ref document: A1