WO2018134128A1 - Filtrage de données vidéo à l'aide d'une table de consultation partagée - Google Patents
Filtrage de données vidéo à l'aide d'une table de consultation partagée Download PDFInfo
- Publication number
- WO2018134128A1 WO2018134128A1 PCT/EP2018/050723 EP2018050723W WO2018134128A1 WO 2018134128 A1 WO2018134128 A1 WO 2018134128A1 EP 2018050723 W EP2018050723 W EP 2018050723W WO 2018134128 A1 WO2018134128 A1 WO 2018134128A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- lut
- filter
- weighting coefficients
- pixel
- inter
- Prior art date
Links
- 238000001914 filtration Methods 0.000 title claims abstract description 69
- 238000000034 method Methods 0.000 claims abstract description 51
- 238000013139 quantization Methods 0.000 claims description 21
- 230000014509 gene expression Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 6
- 239000011159 matrix material Substances 0.000 claims description 4
- 230000006870 function Effects 0.000 description 43
- 230000002146 bilateral effect Effects 0.000 description 21
- 238000012545 processing Methods 0.000 description 20
- 230000000694 effects Effects 0.000 description 11
- 230000001419 dependent effect Effects 0.000 description 10
- 238000013459 approach Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 239000010754 BS 2869 Class F Substances 0.000 description 5
- 230000008901 benefit Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000005457 optimization Methods 0.000 description 5
- 238000007667 floating Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 239000010751 BS 2869 Class A2 Substances 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 241000023320 Luma <angiosperm> Species 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- GJJFMKBJSRMPLA-HIFRSBDPSA-N (1R,2S)-2-(aminomethyl)-N,N-diethyl-1-phenyl-1-cyclopropanecarboxamide Chemical compound C=1C=CC=CC=1[C@@]1(C(=O)N(CC)CC)C[C@@H]1CN GJJFMKBJSRMPLA-HIFRSBDPSA-N 0.000 description 1
- VZSRBBMJRBPUNF-UHFFFAOYSA-N 2-(2,3-dihydro-1H-inden-2-ylamino)-N-[3-oxo-3-(2,4,6,7-tetrahydrotriazolo[4,5-c]pyridin-5-yl)propyl]pyrimidine-5-carboxamide Chemical compound C1C(CC2=CC=CC=C12)NC1=NC=C(C=N1)C(=O)NCCC(N1CC2=C(CC1)NN=N2)=O VZSRBBMJRBPUNF-UHFFFAOYSA-N 0.000 description 1
- VBRBNWWNRIMAII-WYMLVPIESA-N 3-[(e)-5-(4-ethylphenoxy)-3-methylpent-3-enyl]-2,2-dimethyloxirane Chemical compound C1=CC(CC)=CC=C1OC\C=C(/C)CCC1C(C)(C)O1 VBRBNWWNRIMAII-WYMLVPIESA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 229920000747 poly(lactic acid) Polymers 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
Definitions
- the present embodiments generally relate to filter apparatus and methods, for example to apparatus and methods for video coding and decoding, and in particular to deringing filtering in video coding and decoding.
- H.266 High Efficiency Video Coding
- JCT-VC Joint Collaborative Team on Video Coding
- Spatial prediction is achieved using intra (I) prediction from within the current picture.
- a picture consisting of only intra coded blocks is referred to as an l-picture.
- Temporal prediction is achieved using inter (P) or bi-directional inter (B) prediction on block level.
- HEVC was finalized in 2013.
- JVET Joint Video Exploration Team
- Ringing also referred to as Gibbs phenomenon, appears in video frames as oscillations near sharp edges. It is a result of a cut-off of high-frequency information in the block Discrete Cosine Transform (DCT) transformation and lossy quantization process. Ringing also comes from inter prediction where sub-pixel interpolation using a filter with negative weights can cause ringing near sharp edges. Artificial patterns that resemble ringing can also appear from intra prediction, as shown in the right part of Figure 1 (whereby Figures 1 (A) and (B) illustrate the ringing effect on a zoomed original video frame and a zoomed compressed video frame respectively). The ringing effect degrades the objective and subjective quality of video frames.
- DCT Discrete Cosine Transform
- bilateral filtering is widely used in image processing because of its edge-preserving and noise-reducing features.
- a bilateral filter decides its coefficients based on the contrast of the pixels in addition to the geometric distance.
- a Gaussian function has usually been used to relate coefficients to the geometric distance and contrast of the pixel values.
- the weight ⁇ ( ⁇ ,; ' , k, I) assigned for pixel (k, I) to filter the pixel (i, j) is defined as: ⁇ ⁇ is the spatial parameter, and o r is the range parameter.
- the bilateral filter is controlled by these two parameters. I(i, j ) and l(k, I) are the original intensity levels of pixels(i, j) and (k,l) respectively.
- I D is the filtered intensity of pixel (i, j).
- Rate-Distortion Optimization is part of the video encoding process. It improves coding efficiency by finding the "best" coding parameters. It measures both the number of bits used for each possible decision outcome of the block and the resulting distortion of the block.
- a deblocking filter (DBF) and a Sample Adaptive Offset (SAO) filter are included in the HEVC standard.
- DPF deblocking filter
- SAO Sample Adaptive Offset
- ALF Adaptive Loop Filter
- SAO will remove some of the ringing artifacts but there is still room for improvements.
- a problem for deploying bilateral filtering in video coding is that they are too complex, lack sufficient parameter settings and adaptivity.
- the embodiments disclosed herein relate to further improvements to a filter.
- a method performed by a filter, for filtering of a picture of a video signal, wherein the picture comprises pixels, each pixel being associated with a pixel value, wherein a pixel value is modified by a weighted combination of the pixel value and at least one spatially neighboring pixel value.
- the method comprises storing weighting coefficients for use by the filter in modifying pixel values, the weighting coefficients being stored in one or more look up tables, LUTs.
- the method comprises sharing at least one LUT for storing weighting coefficients for use by either an intra decoding operation or an inter decoding operation, by storing weighting coefficients relating to one of the intra decoding operation or inter decoding operation in the at least one shared LUT, and deriving approximated weighting coefficients for the other of the intra decoding operation or inter decoding operation using an approximation function to modify the weighting coefficients stored in the at least one shared LUT.
- a filter for filtering of a picture of a video signal, wherein the picture comprises pixels, each pixel being associated with a pixel value, the filter being configured to modify a pixel value by a weighted combination of the pixel value and at least one spatially neighboring pixel value.
- the filter is operative to store weighting coefficients for use by the filter in modifying pixel values, the weighting coefficients being stored in one or more look up tables, LUTs.
- the filter is operative to share at least one LUT for storing weighting coefficients for use by either an intra decoding operation or an inter decoding operation, by storing weighting coefficients relating to one of the intra decoding operation or inter decoding operation in the at least one shared LUT, and deriving approximated weighting coefficients for the other of the intra decoding operation or inter decoding operation using an approximation function to modify the weighting coefficients stored in the at least one shared LUT.
- a decoder comprising a modifying means configured to modify a pixel value by a weighted combination of the pixel value and at least one spatially neighboring pixel value, wherein weighting coefficients for use by the decoder for modifying pixel values are stored in one or more look up tables, LUTs.
- the decoder comprises at least one shared LUT for storing weighting coefficients for use by either an intra decoding operation or an inter decoding operation.
- the decoder is operative to store weighting coefficients relating to one of the intra decoding operation or inter decoding operation in the at least one shared LUT, and derive approximated weighting coefficients for the other of the intra decoding operation or inter decoding operation using an approximation function to modify the weighting coefficients stored in the at least one shared LUT.
- a computer program comprising instructions which, when executed on at least one processor, cause the at least one processor to carry out the method according to the methods described herein, and as defined in the appended claims.
- a computer program product comprising a computer-readable medium with the computer program as described above.
- Figures 1 (A) and (B) illustrate the ringing effect on a zoomed original video frame and a zoomed compressed video frame respectively;
- Figure 2 illustrates an 8x8 transform unit block and the filter aperture for the pixel located at (1 ,1 );
- Figure 3 illustrates a plus sign shaped deringing filter aperture
- Figure 5 illustrates the steps performed in a filtering method according to an example
- Figure 6 illustrates a filter according to an example
- Figure 7 illustrates a data processing system in accordance with an example
- Figure 8 shows an example of a method according to an embodiment
- Figure 9 shows an example of a filter according to an embodiment
- Figure 10 shows an example of a decoder according to an embodiment
- Figure 1 1 illustrates schematically a video encodes according to an embodiment
- Figure 12 illustrates schematically a video decoder according to an embodiment.
- Hardware implementation may include or encompass, without limitation, digital signal processor (DSP) hardware, a reduced instruction set processor, hardware (e.g., digital or analog) circuitry including but not limited to application specific integrated circuit(s) (ASIC) and/or field programmable gate array(s) (FPGA(s)), and (where appropriate) state machines capable of performing such functions.
- DSP digital signal processor
- ASIC application specific integrated circuit
- FPGA field programmable gate array
- a computer is generally understood to comprise one or more processors, one or more processing units, one or more processing modules or one or more controllers, and the terms computer, processor, processing unit, processing module and controller may be employed interchangeably.
- the functions may be provided by a single dedicated computer, processor, processing unit, processing module or controller, by a single shared computer, processor, processing unit, processing module or controller, or by a plurality of individual computers, processors, processing units, processing modules or controllers, some of which may be shared or distributed.
- these terms also refer to other hardware capable of performing such functions and/or executing software, such as the example hardware recited above.
- the filters described herein may be used in any form of user equipment, such as a mobile telephone, tablet, desktop, netbook, multimedia player, video streaming server, set-top box or computer.
- user equipment UE
- UE user equipment
- a UE herein may comprise a UE (in its general sense) capable of operating or at least performing measurements in one or more frequencies, carrier frequencies, component carriers or frequency bands.
- terminal device it may be a “UE” operating in single- or multi- radio access technology (RAT) or multi-standard mode.
- RAT radio access technology
- wireless communication device the general terms “terminal device”, “communication device” and “wireless communication device” are used in the following description, and it will be appreciated that such a device may or may not be 'mobile' in the sense that it is carried by a user.
- the term “terminal device” encompasses any device that is capable of communicating with communication networks that operate according to one or more mobile communication standards, such as the Global System for Mobile communications, GSM, UMTS, Long-Term Evolution, LTE, etc.
- a UE may comprise a Universal Subscription Identity Module (USIM) on a smart-card or implemented directly in the UE, e.g., as software or as an integrated circuit.
- USIM Universal Subscription Identity Module
- the operations described herein may be partly or fully implemented in the USIM or outside of the USIM.
- the embodiments described herein are concerned with reducing the amount of look- up-tables (LUTs) needed in filters, including for example a deringing filter as described in the earlier application.
- LUTs look- up-tables
- a deringing filter apparatus and method reuse at least one of the same look-up table LUT for both inter and intra, and use an approximation function, for example a scaling factor, or a scaling factor and offset, to obtain an approximation of one from the other.
- an approximation function for example a scaling factor, or a scaling factor and offset
- an advantage of embodiments described herein is that the size of the LUT is reduced, for example by 50%. This is advantageous in hardware implementations, where LUT size comes at a premium.
- each pixel uses four or five weights. In some implementations it may be of interest to read these four or five weights at the same time. This would mean that the LUT would have to be implemented not once, but four or five times.
- the filter according to the embodiments described herein may be implemented in a video encoder and a video decoder. It may be implemented in hardware, in software or a combination of hardware and software.
- the filter may be implemented in, e.g. comprised in, user equipment, such as a mobile telephone, tablet, desktop, netbook, multimedia player, video streaming server, set-top box or a computer.
- the examples of the earlier application provide advantages in that the proposed filtering removes ringing artifacts in compressed video frames so a better video quality (both objectively and subjectively) can be achieved with a small increase in codec complexity.
- Objectively, coding efficiency as calculated by Bj0ntegaard-Delta bit rate (BD-rate) is improved by between 0.5 and 0.7%.
- a bilateral deringing filter with a plus sign shaped filter aperture is used directly after inverse transform.
- An identical filter and identical filtering process is used in the corresponding video encoder and decoder to ensure that there is no drift between the encoder and the decoder.
- the first example describes a way to remove ringing artifacts by using a deringing filter designed in the earlier application.
- the deringing filter is evolved from a bilateral filter.
- each pixel in the reconstructed picture is replaced by a weighted average of itself and its neighbors. For instance, a pixel located at (i, j), will be filtered using its neighboring pixel (k, I).
- the weight ⁇ ( ⁇ ,], k, ⁇ ) is the weight assigned for pixel (k, I) to filter the pixel (i, j),and it is defined, as mentioned earlier, as: l(i, j ) and l(k, I) are the original reconstructed intensity value of pixels(i, j) and (k,l) respectively.
- ⁇ ⁇ is the spatial parameter
- o r is the range parameter.
- the bilateral filter is controlled by these two parameters.
- the weight of a reference pixel (k,l) to the pixel(IJ) is dependent both on the distance between the pixels and the intensity difference between the pixels.
- the pixels located closer to the pixel to be filtered, and that have smaller intensity difference to the pixel to be filtered, will have larger weight than the other more distant (spatial or intensity) pixels.
- ⁇ ⁇ and o r are constant values.
- the deringing filter in this example, is applied to each TU block after reverse transform in an encoder, as shown in Figure 2, which shows an example of a 8x8 block. This means, for example, that following subsequent Intra-coded blocks will predict from the filtered pixel values.
- the filter may also be used during R-D optimization in the encoder.
- the identical deringing filter is also applied to each TU block after reverse transform in the corresponding video decoder.
- each pixel in the transform unit is filtered using its direct neighboring pixels only, as shown in Figure 3.
- the filter has a plus sign shaped filter aperture centered at the pixel to be filtered.
- the output filtered pixel intensity I D (i,j), as mentioned earlier, is defined as:
- the proposed deringing filter's all possible weights (coefficients) are calculated and stored in a two-dimensional look-up-table(LUT).
- the LUT can for instance, use spatial distance and intensity difference between the pixel to be filtered and reference pixels as index of the LUT.
- the filter aperture is a plus
- LUT one-dimensional lookup table
- w d distance from the current pixel
- w _ r closeness in pixel value
- the LUT could be optimized based on some error metric (SSD, SSIM) or according to human vision.
- one LUT could also have one LUT for weights vertically above or below of current pixel and another LUT for weights horizontally left or right of current pixel.
- a deringing filter with a rectangular shaped filter aperture is used in the video encoder's R-D optimization process.
- the same filter is also used in the corresponding video decoder.
- each pixel is filtered using its neighboring pixels within a M by N size rectangular shaped filter aperture centered at the pixel to be filtered, as shown in Figure 4.
- the same deranging filter as in the first example is used.
- the deringing filter according to the third example of the earlier application is used after prediction and transform have been performed for an entire frame or part of a frame.
- the same filter is also used in the corresponding video decoder.
- the third example is the same as the first or second example, except that the filtering is not done right after the inverse transform. Instead the proposed filter applies to reconstructed picture in both encoder and decoder. On the one hand this could lead to worse performance since filtered pixels will not be used for intra prediction, but on the other hand the difference is likely very small and the existing filters are currently placed at this stage of the encoder/decoder.
- Example 4 In this example, a d and/or ⁇ ⁇ are related to TU size.
- the ⁇ ⁇ and o r can be a function of the form (e.g. a polynomial function):
- ⁇ ⁇ and o r are derived based on TU size, a preferred example is to have different functions f ⁇ f 2 .
- o d 0.92 - max ⁇ TU block width, TU block height] * 0.025
- the o d can be separate for filter coefficients vertically and horizontally so o_ d ver , o_ d hor and o r ver , °_r_hor a function of the form (e.g. a polynomial function):
- a further generalization is to have to have a weight and/or size dependent on distance based on a function based on TU size or TU width or TU height and a weight and /or size dependent on pixel closeness based on a function based on TU size or TU width or TU height.
- bit_depth correspond to the video bit depth, i.e. the number of bits used to represent pixels in the video.
- bit_depth i.e. the number of bits used to represent pixels in the video.
- bit_depth 10
- ⁇ ⁇ clip((QP— 17)/ 2, 0.01).
- the QP mentioned here relates to the coarseness of the quantization of transform coefficients.
- the QP can correspond to a picture or slice QP or even a locally used QP, i.e. QP for TU block.
- QP can be defined differently in different standards so that the QP in one standard do not correspond to the QP in another standard.
- HEVC High Efficiency Video Coding
- JEM six steps of QP change doubles the quantization step. This could be different in a final version of H.266 where steps could be finer or coarser and the range could be extended beyond 51 .
- the range parameter is a polynomial model, for example first order model, of the QP.
- Another approach is to define a table with an entry for each table where each entry relates to the reconstruction level of at least one transform coefficient quantized with QP to 1 .
- a table of a d and/or or a table of ⁇ ⁇ created where each entry, i.e., QP value, relates to the reconstruction level, i.e., pixel value after inverse transform and inverse quantization, for one transform coefficient quantized with QP to 1 , e.g., the smallest possible value a quantized transform coefficient can have.
- This reconstruction level indicates the smallest pixel value change that can originate from a true signal. Changes smaller than half of this value can be regarded as coding noise that the deringing filter should remove.
- HEVC uses by default a uniform reconstruction quantization (URQ) scheme that quantizes frequencies equally.
- HEVC has the option of using quantization scaling matrices, also referred to as scaling lists, either default ones, or quantization scaling matrices that are signaled as scaling list data in the sequence parameter set (SPS) or picture parameter set (PPS).
- SPS sequence parameter set
- PPS picture parameter set
- scaling matrices are typically only be specified for 4x4 and 8x8 matrices. For the larger transformations of sizes 16x16 and 32x32, the signaled 8x8 matrix is applied by having 2x2 and 4x4 blocks share the same scaling value, except at the DC positions.
- a scaling matrix with individual scaling factors for respective transform coefficient, can be used to make a different quantization effect for respective transform coefficient by scaling the transform coefficients individually with respective scaling factor as part of the quantization. This enables, for example, that the quantization effect is strongerfor higher frequency transform coefficients than for lower frequency transform coefficients.
- default scaling matrices are defined for each transform size and can be invoked by flags in the SPS and/or the PPS. Scaling matrices also exist in H.264. In HEVC it is also possible to define own scaling matrices in SPS or PPS specifically for each combination of color component, transform size and prediction type (intra or inter mode).
- deringing filtering is performed for at least reconstruction sample values from one transform coefficient using the corresponding scaling factor, as the QP, to determine a d and/or ⁇ ⁇ .
- This could be performed before adding the intra/inter prediction or after adding the intra/inter prediction.
- Another less complex approach would be to use the maximum or minimum scaling factor, as the QP, to determine a d and/or ⁇ ⁇ .
- the size of the filter can also be dependent of the QP so that the filter is larger for larger QP than for small QPs.
- the width and/or the height of the filter kernel of the deringing filter is defined for each QP.
- Another example is to use a first width and/or a first height of the filter kernel for QP values equal or smaller than a threshold and a second, different width and/or a second, different height for QP values larger than a threshold.
- a d and ⁇ ⁇ are related to video resolution.
- the ⁇ ⁇ and o r can be a function of the form:
- the size of the filter can also be dependent of the size of the frame. If both a d and ⁇ ⁇ are derived based on frame diagonal, a preferred example is to have different functions f 5 ⁇ f 6 .
- At least one of the spatial parameter and the range parameter can be set such that stronger deringing filtering is applied for small resolutions as compared to large resolutions.
- the a d and ⁇ ⁇ are related to QP, TU block size, video resolution and other video properties.
- the ⁇ ⁇ and o r can be a function of the form:
- a r fs(QP, TU size, frame diagonal, )
- the de-ringing filter is applied if an inter prediction is interpolated, e.g. not integer pixel motion, or the intra prediction is predicted from reference samples in a specific direction (e.g. non DC) or that the transform block has non-zero transform coefficients.
- an inter prediction is interpolated, e.g. not integer pixel motion, or the intra prediction is predicted from reference samples in a specific direction (e.g. non DC) or that the transform block has non-zero transform coefficients.
- De-ringing can be applied directly after intra/inter prediction to improve the accuracy of the prediction signal or directly after the transform on residual samples to remove transform effects or on reconstructed samples (after addition of intra/inter prediction and residual) to remove both ringing effects from prediction and transform or both on intra/inter prediction and residual or reconstruction.
- Example 9
- the filter weights (Wd , w r or similarily a d , a r ) and/or filter size can be individually for intra prediction mode and/or inter prediction mode.
- the filter weights and/or filter size can be different in vertical and horizontal direction depending on intra prediction mode or interpolation filter used for inter prediction. For example, if close to horizontal intra prediction is performed the weights could be smaller for the horizontal direction than the vertical direction and for close to vertical intra prediction weights could be smaller for the vertical direction than the horizontal direction. If sub-pel interpolation with an interpolation filter with negative filter coefficients only is applied in the vertical direction the filter weights could be smaller in the horizontal direction than in the vertical direction and if sub-pel interpolation filter with negative filter coefficients only is applied in the horizontal direction the filter weights could be smaller in the vertical direction than in the horizontal direction. Example 10
- the filter weights (Wd , w r or similarly a d , ⁇ ⁇ ) and/or filter size can depend on the position of non-zero transform coefficients.
- the filter weights and/or filter size can be different in vertical and horizontal direction depending non-zero transform coefficient positions. For example, if non-zero transform coefficients only exist in the vertical direction at the lowest frequency in the horizontal direction the filter weights can be smaller in the horizontal direction than in the vertical direction. Alternatively, the filter is only applied in the vertical direction. Similarly, if nonzero transform coefficients only exist in the horizontal direction at the lowest frequency in the vertical direction the filter weights can be smaller in the vertical direction than in the horizontal direction. Alternatively, the filter is only applied in the horizontal direction.
- the filter weights and/or filter size can also be dependent on existence of non-zero transform coefficients above a certain frequency.
- the filter weights can be smaller if only low frequency non-zero transform coefficients exist than when high frequency non-zero transform coefficients exist.
- the filter weights (Wd , w r or similarily a d , a r ) and/or filter size can be different for depending on a transform type.
- Type of transform can refer to transform skip, KLT like transforms, DCT like transforms, DST transforms, non-separable 2D transforms, rotational transforms and combination of those.
- the bilateral filter could only be applied to fast transforms, weight equal to 0 for all other transform types. Different types of transforms can require smaller weights than others since they cause less ringing than other transforms.
- the filtering may be implemented as a differential filter which output is clipped (Clip) to be larger than or equal to a MIN value and less than or equal to a MAX value, and added to the pixel value instead of using a smoothing filter kernel like the Gaussian.
- l D (i ) i(k, Q + s * Clip(MIN, MAX, ⁇ ⁇ ) * ⁇ ( ⁇ ,; ' , k, /))) (3)
- the differential filter can for example be designed as the difference between a dirac function and a Gaussian filter kernel.
- a sign (s) can optionally also be used to make the filtering to enhance edges rather than smooth edges if that is desired for some cases.
- the MAX and MIN value can be a function of other parameters as discussed in other examples.
- the usage of a clipping function can be omitted but allows for an extra freedom to limit the amount of filtering enabling the use of a stronger bilateral filter although limiting how much it is allowed to change the pixel value.
- the filtering can be described as a vertical filtering part and a horizontal filtering part as shown below:
- I D (i,j) I(k, l) + s * (Clip ⁇ MIN_ver, MAX_ver, ⁇ I(k, l) * ⁇ ( ⁇ ,; ' , k, I) + Clip I(k, I) * ⁇ ( ⁇ ,; ' , k, 1) ) (4)
- the MAXJior, MAX_ver, and MINJior and MIN_ver can be a function of other parameters as discussed in other examples.
- One aspect is to keep the size of a LUT small.
- ⁇ ⁇ and o r parameters using
- Equation 1 can be rewritten as
- Equation 5 The first factor of the expression in Equation 5 depends on ⁇ ⁇ . Since there are four TU sizes, there are four different possible values of on ⁇ ⁇ .
- ⁇ ( ⁇ ,;, k, I) eV 2a ⁇ i)n(i,j, k, I) where if [,]) is a neighbor pixel if (i ) is the middle pixel.
- Equation (2) thus becomes:
- the approach as described above can be implemented with filtering in float or integers (8 or 16bit or 32 bit).
- a table lookup is used to determine respective weight.
- filtering in integers that avoids division by doing table lookup of a multiplication factor and shift factor. ⁇ i,j, k, 0) ] + roundF)
- lookup_M determines a multiplication factor to increase the gain of the filtering to close to unity (weights sum up to 1 « lookup_Sh) given that the "division" using right shift (») has the shift value (lookup_Sh) limited to be a multiple of 2.
- lookup_Sh(A) gives a shift factor that together with the multiplication factor lookup_M gives a sufficient approximation of 1/A.
- roundF is a rounding factor which is equal to lookup_Sh » 1. If this approximation is done so that the gain is less or equal to unity the filtering will not increase the value of the filtered pixel outside the value of the pixel values in the neighborhood before the filtering.
- one approach to reduce the amount of filtering is to omit filtering if the sum of the weights is equal to the weight for the center pixel.
- one set of weights (wd, wr or similarly o_(d ),o_(r )) and/or filter size is used for blocks that have been intra predicted and another set of weights and/or filter size is used for blocks that have been inter predicted.
- the weights are set to reduce the amount of filtering for blocks which have been predicted with higher quality compared to blocks that have been predicted with lower quality. Since blocks that have been inter predicted typically has higher quality than blocks have been intra predicted they are filtered less to preserve the prediction quality.
- one set of weights (wd, wr or similarly o_(d ),o_(r )) and/or filter size depends on picture type /slice type.
- One example is to use one set of weights for intra pictures/slices and another set weights are used for inter pictures/slices.
- One example to have one_Wd or similarily a d for pictures/slices that have only been intra predicted and a smaller Wd or similarily_a d for other pictures/slices.
- B slices that typically have better prediction quality than P slices (only single prediction) can in another variant of this example have a smaller weight than P slices.
- generalized B-slices that are used instead of P-slices for uni-directional prediction can have same weight as P-slices.
- "normal" B-slices that can predict from both future and past can have a larger weight than generalized B-slices.
- Example 19 In this example one set of weights (wd, wr or similarly o_(d ),o_(r )) and/or filter size is used intra pictures/slices and another set weights are used for inter pictures/slices that are used for reference for prediction of other pictures and a third set of weights are used for inter pictures/slices that not are used for reference for prediction of other pictures.
- One example is to have one Wd or similarily a d for pictures/slices that have only been intra predicted and a somewhat smaller Wd or similarily a d for pictures/slices that have been inter predicted and are used for predicting other pictures and smallest Wd or similarily a d for pictures/slices that have been inter predicted but not are used for prediction of other pictures (non_reference picture).
- Example weights for inter pictures/slices (e.g. P_SLICE, B_SLICE) that are used for reference are:
- an encoder can select which values of the weights to use and encode them in SPS (sequence parameter sets) , PPS (picture parameter sets) or slice header.
- a decoder can then decode the values of the weights to be used for filtering respective picture/slice.
- specific values of the weights are given for blocks that are intra predicted compared to blocks that are inter predicted are encoded in SPS/PPS or slice header.
- a decoder can then decode the values of the weights to be used for blocks that are intra predicted and the values of the weights to be used for blocks that are inter predicted.
- a data processing system can be used to implement the filter of the examples described above.
- the data processing system includes at least one processor that is further coupled to a network interface via an interconnect.
- the at least one processor is also coupled to a memory via the interconnect.
- the memory can be implemented by a hard disk drive, flash memory, or read-only memory and stores computer-readable instructions.
- the at least one processor executes the computer- readable instructions and implements the functionality described above.
- the network interface enables the data processing system to communicate with other nodes in a network.
- Alternative examples may include additional components responsible for providing additional functionality, including any functionality described above and/or any functionality necessary to support the solution described herein.
- a filter as described in the embodiments below, or the examples above, may be implemented in a video encoder and a video decoder. It may be implemented in hardware, in software or a combination of hardware and software.
- the filter may be implemented in, e.g. comprised in, user equipment, such as a mobile telephone, tablet, desktop, netbook, multimedia player, video streaming server, set-top box or a computer.
- a filter such as a deringing filter apparatus and method reuse the same look-up table LUT for both inter and intra, and use an approximation function, for example a scaling factor, or a scaling factor and offset, to obtain an approximation of one from the other.
- an approximation function for example a scaling factor, or a scaling factor and offset
- Figure 8 discloses a method according to an embodiment, performed by a filter, for filtering of a picture of a video signal, wherein the picture comprises pixels, each pixel being associated with a pixel value.
- a pixel value is modified by a weighted combination of the pixel value and at least one spatially neighboring pixel value.
- the method comprises storing weighting coefficients for use by the filter in modifying pixel values, the weighting coefficients being stored in one or more look up tables, LUTs, step 801 .
- the method comprises sharing at least one LUT (LUTSHARED) for storing weighting coefficients for use by either an intra decoding operation or a inter decoding operation, step 803.
- LUTSHARED LUTSHARED
- the sharing is performed by storing weighting coefficients relating to one of the intra decoding operation or inter decoding operation in the at least one shared LUT (LUTSHARED), step 805.
- Approximated weighting coefficients for the other of the intra decoding operation or inter decoding operation are derived using an approximation function to modify the weighting coefficients stored in the at least one shared LUT (LUTSHARED), step 807.
- the approximation function comprises a scaling factor (s), for scaling an obtained weighting coefficient ⁇ from the at least one shared LUT (LUTSHARED) by the scaling factor (s).
- the approximation function comprises a scaling factor (s) for scaling an obtained weighting coefficient ⁇ from the at least one shared LUT (LUTSHARED) by the scaling factor (s), and an offset value (p).
- weighting coefficients relating to intra decoding operations being stored in a shared LUT i.e. weight coefficients ⁇ ⁇
- approximated weighting coefficients relating to inter decoding operations being derived therefrom i.e. weighting coefficients o) inter
- weighting coefficients relating to inter decoding operations are stored in a shared LUT, and approximated weighting coefficients relating to intra decoding operations being derived therefrom, with the approximation functions being adapted accordingly.
- a preferred approach is to store the intra LUT and re-use it for inter because the strength of filtering is typically larger for intra and thus the LUT for intra contains more non-zero weights that can be scaled away when re-using it for inter. In this way, a higher accuracy of the filter weights as well as the resulting filtered value can be preserved.
- one possible optimization is to realize that not all 1023 differences are needed.
- the value of the weight in equation (1 ) only depends on the absolute value of the difference between two luma values (or intensity values). If varies between 0 and 1023 and I(k, I) also varies between 0 and 1023 there are only 1023 possible values of the absolute value - I(k, Hence the intensity dimension of the LUT does not need to be larger than 1023.
- the resulting weight ⁇ is so small that it is possible to set the weight to zero without much of an error.
- the first LUT LUTFIRST stores the value e 2 °A ' , which depends on (i - k) 2 + (j— 0 2 and ⁇ ⁇ .
- (i - k) 2 + (j— 0 2 is always equal to 1 for every pixel except the middle pixel.
- the expression therefore only depends on ⁇ ⁇ for these pixels, and ⁇ ⁇ depends in turn only on the TU- size, of which there are predetermined number of sizes, for example three TU sizes. Thus, if we are not in the middle pixel, only three values need to be stored.
- the filter hape filter aperture and whereby the first expression of equation , is represented in a first LUT (LUTFIRST) by a reduced set of values.
- the reduced set of values may be stored in a one-dimensional LUT such that the first LUT comprises a reduced LUT (LUTREDUCED) comprising T+1 values, wherein:
- a first value relates to a middle pixel value comprising an integer 1 ; and the T values relate to T different possible TU sizes.
- Th (LUTSECOND), relating to the second expression of Equation 13, i.e. depends both on the absolute difference in intensity - I(k, l) ⁇ and on the o r , which in turn depends on QP.
- a LUT is provided that spans all the absolute differences from 0 to absmax times the number of QPs.
- a typical value of absmax can be 244, for example, which makes the maximum filter error be smaller than 0.5. Also smaller values of absmax are possible.
- the two-dimensional LUT can be reused, i.e. shared, for both intra and inter coding/decoding operations.
- a possible drawback with having two separable look-up tables according to Equation 13 is that an extra multiplication is needed.
- the weight calculation is implemented as a single 3D LUT. As described above, it is possible to only tabulate from 0 to absmax, so the 3D look-up table can be of the size ⁇ absmax+1)x(QP)x(TUsizes) or 245x52x3 which equals 38220.
- the scaling factor (s) here is not going to be an integer in general, instead it will be a floating point number.
- ⁇ a floating point constant
- it is customary to multiply w by 2 k s , add t 2 k ⁇ 1 for rounding, followed by downshift.
- the scaling factor (s) comprises a predetermined number of possible values.
- the scaling factor (s) comprises ST possible scaling values, and wherein an approximated inter weighting coefficient w inter (i, j, k, I) assigned for a pixel k, ⁇ ) to filter a pixel, weight is determined as:
- scaling factor (s) independently of TU size.
- the scaling factor (s) is independent of transform unit, TU, size.
- the scaling factor (s) is a constant value.
- improved results may be obtained by adding an offset, i.e., the value is calculated as:
- Minted , j> k, l) ⁇ - a (i, j, k, l)*S+p where p is an offset that depends on TU size.
- the approximation function comprises a scaling factor (s) for scaling an obtained weighting coefficient ⁇ from the at least one shared LUT (LUTSHARED) by the scaling factor (s), and an offset value (p).
- weighting coefficients stored in a shared LUT relate to intra weighting coefficients ( ⁇ y intra ) for use with intra coding/decoding operations, and wherein an approximated inter weighting coefficient °>inter() > j. k, I) assigned for a pixel (k, I) to filter a pixel, weight is determined as:
- the offset value (p) may be an offset that depends on transform unit, TU, size.
- neither the offset (p) nor the scaling factor (s) depends on TU size.
- the filtering strength of the bilateral filter is lowered in another manner.
- one or more further scaling factors are used to lower a filtering strength of the filtering operation. For example, instead of multiplying the obtained ⁇ by a scaling factor s, an offset is added to the absolute value calculation.
- — I(k, l) ⁇ + o is used, where o is an offset. If o is large, a value is obtained as if the absolute difference was larger, which results in a smaller ⁇ , which in turn gives a lower filtering strength.
- the absolute difference — I(k, ⁇ ) ⁇ is multiplied with a scaling factor q according to q * — I(k, If the scaling factor q is larger than 1 , this will have the effect of obtaining a value as if the absolute difference was larger, which results in a smaller ⁇ , which in turn gives a lower filtering strength.
- the absolute difference — I(k, l) ⁇ is first multiplied with a scaling factor q and then an offset r is added, according to q * — I(k, H + r. This has the effect of obtaining a value as if the absolute difference was larger, which results in a smaller ⁇ , which in turn gives a lower filtering strength.
- the scaling factor q it is also possible to make the scaling factor q smaller than 1 in order to get stronger filtering results.
- the o r becomes 0.01 , which means the expression becomes equal to e ( - ioo*ii/( i j)-/(fc , ii 2 ) w hj c h is a very small number unless the pixels are equal.
- the filter is effectively turned off when the QP is smaller than 18.
- the filter is turned completely off when the QP is smaller than 18.
- different values of absmax can be used for different QPs.
- the absmax value may instead be 122 (half of previously mentioned absmax value of 244 in the example above).
- Figure 9 shows an example of a filter 900 according to an embodiment, whereby the filter is implemented as a data processing system.
- the data processing system includes at least one processor 901 that is further coupled to a network interface via a network interface 905.
- the at least one processor 901 is also coupled to a memory 903 via the network interface 905.
- the memory 903 can be implemented by a hard disk drive, flash memory, or read-only memory and stores computer-readable instructions.
- the at least one processor 901 executes the computer-readable instructions and implements the functionality described in the embodiments above.
- the network interface 905 enables the data processing system 900 to communicate with other nodes in a network.
- Alternative examples may include additional components responsible for providing additional functionality, including any functionality described above and/or any functionality necessary to support the solution described herein.
- the filter 900 may be operative to filter a picture of a video signal, wherein the picture comprises pixels, each pixel being associated with a pixel value, the filter being configured to modify a pixel value by a weighted combination of the pixel value and at least one spatially neighboring pixel value.
- the filter 900 comprises at least one shared LUT (LUTSHARED) 907.
- the filter 900 may be operative to store weighting coefficients for use by the filter in modifying pixel values, the weighting coefficients being stored in one or more look up tables, LUTs; share at least one LUT (LUTSHARED, 907) for storing weighting coefficients for use by either an intra decoding operation or an inter decoding operation, by: storing weighting coefficients relating to one of the intra decoding operation or inter decoding operation in the at least one shared LUT (LUTSHARED); and deriving approximated weighting coefficients for the other of the intra decoding operation or inter decoding operation using an approximation function to modify the weighting coefficients stored in the at least one shared LUT (LUTSHARED, 907).
- LUTSHARED LUTSHARED
- the filter 900 may be further operative to perform filtering operations as described here, and defined in the appended claims.
- Figure 10 shows an example of a decoder 1000 that comprises a modifying means 1001 , for example a filter as described herein, configured to modify a pixel value by a weighted combination of the pixel value and at least one spatially neighboring pixel value, wherein weighting coefficients for use by the decoder for modifying pixel values are stored in one or more look up tables, LUTs.
- the decoder comprises 1000 comprises at least one shared LUT (LUTSHARED) 1003, for storing weighting coefficients for use by either an intra decoding operation or an inter decoding operation.
- LUTSHARED shared LUT
- the decoder 1000 is operative to: store weighting coefficients relating to one of the intra decoding operation or inter decoding operation in the at least one shared LUT (LUTSHARED, 1003); and derive approximated weighting coefficients for the other of the intra decoding operation or inter decoding operation using an approximation function to modify the weighting coefficients stored in the at least one shared LUT (LUTSHARED, 1003).
- the decoder 1000 may be further operative to perform a filtering method as described herein, and as defined in the appended claims.
- the at least one of the parameters ⁇ ⁇ and o r described above may also depend on at least one of: quantization parameter, quantization scaling matrix, transform width, transform height, picture width, picture height, a magnitude of a negative filter coefficient used as part of inter/intra prediction.
- the embodiments described herein provide an improved filter for video decoding. It is noted that any of the embodiments relating to decoding may also be used for coding.
- Figure 1 1 is a schematic block diagram of a video encoder 40 according to an embodiment.
- a current sample block also referred to as pixel block or block of pixels, is predicted by performing a motion estimation by a motion estimator 50 from already encoded and reconstructed sample block(s) in the same picture and/or in reference picture(s).
- the result of the motion estimation is a motion vector in the case of inter prediction.
- the motion vector is utilized by a motion compensator 50 for outputting an inter prediction of the sample block.
- An intra predictor 49 computes an intra prediction of the current sample block.
- the outputs from the motion estimator/compensator 50 and the intra predictor 49 are input in a selector 51 that either selects intra prediction or inter prediction for the current sample block.
- the output from the selector 51 is input 10 to an error calculator in the form of an adder 41 that also receives the sample values of the current sample
- the adder 41 calculates and outputs a residual error as the difference in sample values between the sample block and its prediction, i.e., prediction block.
- the error is transformed in a transformer 42, such as by a discrete cosine transform (DCT), and the resulting coefficients are quantized 15 by a quantizer 43 followed by coding in an encoder 44, such as by an entropy encoder.
- DCT discrete cosine transform
- an encoder 44 such as by an entropy encoder.
- the estimated motion vector is brought to the encoder 44 for generating the coded representation of the current sample block.
- the transformed and quantized residual error for the current sample block is also provided to an inverse quantizer 45 and inverse transformer 46 to reconstruct the residual error.
- This residual error is added by an adder 47 to the prediction output from the motion compensator 50 or the intra predictor 49 to create a reconstructed sample block that can be used as prediction block in the prediction and coding of other sample blocks.
- This reconstructed sample block is first processed by a device 100 for filtering of a picture according to the embodiments in order to suppress deringing artifacts.
- the modified, i.e., filtered, reconstructed sample block is then temporarily stored in a Decoded Picture Buffer (DPB) 48, where it is available to the intra predictor 49 and the motion estimator/compensator 50.
- DPB Decoded Picture Buffer
- the modified, i.e. filtered, reconstructed sample block from device 100 is also coupled directly to the intra predictor 49.
- the device 100 is preferably instead arranged between the inverse transformer 46 and the adder 47.
- FIG. 12 is a schematic block diagram of a video decoder 60 comprising a device 100 for filtering of a picture according to the embodiments.
- the video decoder 60 comprises a decoder 61 , such as an entropy decoder, for decoding a bitstream comprising an encoded representation of a sample block to get a set of quantized and transformed coefficients. These coefficients are dequantized in an inverse quantizer 62 and inverse transformed by an inverse transformer 63 to get a decoded residual error.
- the decoded residual error is added in an adder 64 to the sample prediction values of a prediction block.
- the prediction block is determined by a motion estimator/compensator 67 or intra predictor 66, depending on whether inter or intra prediction is performed.
- a selector 68 is thereby interconnected to the adder 64 and the motion estimator/compensator 67 and the intra predictor 66.
- the resulting decoded sample block output from the adder 64 is input to a device 100 for filtering of a picture or part of a picture in order to suppress and combat any ringing artifacts.
- the filtered sample block enters a DPB 65 and can be used as prediction block for subsequently decoded sample blocks.
- the DPB 65 is thereby connected to the motion estimator/compensator 67 to make the stored sample blocks available to the motion estimator/compensator 67.
- the output from the device 100 is preferably also input to the intra predictor 66 to be used as an unfiltered prediction block.
- the filtered sample block is furthermore output from the video decoder 60, such as output for display on a screen.
- the device 100 is preferably instead arranged between the inverse transformer 63 and the adder 64.
- One idea of embodiments of the present invention is to introduce a deringing filter into the Future Video Codec, i.e., the successor to HEVC.
- a bilateral filter works by basing the filter weights not only on the distance to
- a sample located at (i, ), will be filtered using its neighboring sample k, I).
- the weight ⁇ ( ⁇ ,;, k, Q is the weight assigned for sample k, ⁇ ) to filter the sample (i, ), and it is defined as
- I(i,j ) and I(k, Z) are the original reconstructed intensity value of samples
- ⁇ ⁇ is the spatial parameter
- a r is the range parameter.
- the properties (or strength) of the bilateral filter are controlled by these two parameters. Samples located closer to the sample to be filtered, and samples having smaller intensity difference to the sample to be filtered, will have a larger weight than samples further away and with larger intensity difference.
- JVET-D0069 it is proposed to set ⁇ ⁇ based on the transform unit size (Eq. 2), and o r to be set based on the QP used for the current block (Eq. 3) according to min(TU block width, TU block height)
- the application of the bilateral filter after inverse transform can improve the objective coding efficiency for all intra and random access configuration.
- Inter predicted blocks typically have less residual than intra predicted blocks and therefore it makes sense to filter the reconstruction of inter predicted blocks less.
- Class F (optional) -1 ,84% -0,28% -0,27% 104% 105%
- Class B -0,46% -0,09% -0,12% 105% 104%
- Class C -0,61 % -0,08% 0,12% 106% 106%
- Ericsson may have current or pending patent rights relating to the technology described in this contribution and, conditioned on reciprocity, is prepared to grant licenses under reasonable and non-discriminatory terms as necessary for implementation of the resulting ITU-T Recommendation
- ISO/IEC International Standard per box 2 of the ITU-T/ITU-R/ISO/IEC patent statement and licensing declaration form).
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
La présente invention concerne un procédé exécuté par un filtre et destiné à filtrer une image d'un signal vidéo, l'image comprenant des pixels, chaque pixel étant associé à une valeur de pixel, une valeur de pixel étant modifiée par une combinaison pondérée de la valeur de pixel et d'au moins une valeur de pixel spatialement voisine, et le filtrage étant commandé par des premier et second paramètres, σ
d
et σ
r
, où σ
d
dépend d'une distance de pixel entre la valeur de pixel et la valeur de pixel voisine, et où σ
r
dépend d'une différence de valeur de pixel entre la valeur de pixel et la valeur de pixel voisine. Le procédé consiste à stocker des coefficients de pondération destinés à être utilisés par le filtre dans la modification de valeurs de pixels, les coefficients de pondération étant stockés dans une ou plusieurs tables de consultation (LUT), à partager au moins une LUT (LUTSHARED) utilisée pour stocker des coefficients de pondération destinés à être utilisés dans une opération de décodage intra ou une opération de décodage inter, en réalisant : le stockage des coefficients de pondération relatifs à une opération parmi l'opération de décodage intra ou l'opération de décodage inter dans la ou les LUT partagées (LUTSHARED); et la dérivation des coefficients de pondération approximés pour l'autre opération de décodage intra ou de décodage inter à l'aide d'une fonction d'approximation servant à modifier les coefficients de pondération stockés dans la ou les LUT partagées (LUTSHARED).
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762448007P | 2017-01-19 | 2017-01-19 | |
US62/448007 | 2017-01-19 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018134128A1 true WO2018134128A1 (fr) | 2018-07-26 |
Family
ID=60953885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2018/050723 WO2018134128A1 (fr) | 2017-01-19 | 2018-01-12 | Filtrage de données vidéo à l'aide d'une table de consultation partagée |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2018134128A1 (fr) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112435156A (zh) * | 2020-12-08 | 2021-03-02 | 烟台艾睿光电科技有限公司 | 一种基于fpga的图像处理方法、装置、设备及介质 |
WO2021063270A1 (fr) * | 2019-10-04 | 2021-04-08 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Procédé de codage et de décodage, appareil et système de communication |
CN113643198A (zh) * | 2021-07-22 | 2021-11-12 | 海宁奕斯伟集成电路设计有限公司 | 图像处理方法、装置、电子设备及存储介质 |
CN114424541A (zh) * | 2019-08-16 | 2022-04-29 | 苹果公司 | 使用查找表的自适应双边滤波 |
CN118870026A (zh) * | 2019-10-04 | 2024-10-29 | Oppo广东移动通信有限公司 | 图像预测方法、编码器、解码器以及存储介质 |
-
2018
- 2018-01-12 WO PCT/EP2018/050723 patent/WO2018134128A1/fr active Application Filing
Non-Patent Citations (8)
Title |
---|
ADRIAN GRANGE ET AL: "VP9 Bitstream & Decoding Process Specification", 1 March 2016 (2016-03-01), XP055347356, Retrieved from the Internet <URL:https://storage.googleapis.com/downloads.webmproject.org/docs/vp9/vp9-bitstream-specification-v0.6-20160331-draft.pdf> [retrieved on 20170217] * |
DONG-QING ZHANG ET AL: "Recursive bilateral filter for encoder-integrated video denoising", VISUAL COMMUNICATIONS AND IMAGE PROCESSING (VCIP), 2012 IEEE, IEEE, 27 November 2012 (2012-11-27), pages 1 - 6, XP032309227, ISBN: 978-1-4673-4405-0, DOI: 10.1109/VCIP.2012.6410813 * |
J. STROM; P. WENNERSTEN; K. ANDERSSON; J. ENHORN: "EE2-JVET-D0069 Bilateral Filter Test1, Test2 and Test3", JVET-E0031, January 2017 (2017-01-01) |
J. STROM; P. WENNERSTEN; Y. WANG; K. ANDERSSON; J. SAMUELSSON: "Bilateral Filter After Inverse Transform", JVET-D0069, 15 October 2016 (2016-10-15) |
JACOB STRÖM ET AL: "Bilateral filter after inverse transform", 4. JVET MEETING; 15-10-2016 - 21-10-2016; CHENGDU; (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-D0069, 6 October 2016 (2016-10-06), XP030150302 * |
STRÖM J ET AL: "Bilateral filter strength based on prediction mode", 5. JVET MEETING; 12-1-2017 - 20-1-2017; GENEVA; (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-E0032, 3 January 2017 (2017-01-03), XP030150498 * |
STRÖM J ET AL: "EE2-JVET-E0032 Bilateral filter Test 1, Test2", 6. JVET MEETING; 31-3-2017 - 7-4-2017; HOBART; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ); URL: HTTP://PHENIX.INT-EVRY.FR/JVET/,, no. JVET-F0034, 23 March 2017 (2017-03-23), XP030150687 * |
ZHANG L: "Cross-check of JVET-E0032 Bilateral filter strength based on prediction mode", 5. JVET MEETING; 12-1-2017 - 20-1-2017; GENEVA; (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-E0092, 11 January 2017 (2017-01-11), XP030150585 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114424541A (zh) * | 2019-08-16 | 2022-04-29 | 苹果公司 | 使用查找表的自适应双边滤波 |
CN114424541B (zh) * | 2019-08-16 | 2024-05-31 | 苹果公司 | 压缩视频及重建压缩视频的系统、方法、及存储介质 |
US12108036B2 (en) | 2019-08-16 | 2024-10-01 | Apple Inc. | Adaptive bilateral filtering using look-up tables |
WO2021063270A1 (fr) * | 2019-10-04 | 2021-04-08 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Procédé de codage et de décodage, appareil et système de communication |
US11388407B2 (en) | 2019-10-04 | 2022-07-12 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Encoding and decoding method, apparatus and communication system |
US11785221B2 (en) | 2019-10-04 | 2023-10-10 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Encoding and decoding method, apparatus and communication system |
CN118870026A (zh) * | 2019-10-04 | 2024-10-29 | Oppo广东移动通信有限公司 | 图像预测方法、编码器、解码器以及存储介质 |
CN112435156A (zh) * | 2020-12-08 | 2021-03-02 | 烟台艾睿光电科技有限公司 | 一种基于fpga的图像处理方法、装置、设备及介质 |
WO2022121077A1 (fr) * | 2020-12-08 | 2022-06-16 | 烟台艾睿光电科技有限公司 | Procédé, appareil et dispositif de traitement d'images basés sur un fpga et support |
CN112435156B (zh) * | 2020-12-08 | 2022-12-09 | 烟台艾睿光电科技有限公司 | 一种基于fpga的图像处理方法、装置、设备及介质 |
CN113643198A (zh) * | 2021-07-22 | 2021-11-12 | 海宁奕斯伟集成电路设计有限公司 | 图像处理方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11272175B2 (en) | Deringing filter for video coding | |
US12363293B2 (en) | Method and apparatus for video coding | |
US11122263B2 (en) | Deringing filter for video coding | |
KR101752612B1 (ko) | 비디오 코딩을 위한 샘플 적응적 오프셋 프로세싱의 방법 | |
KR101919394B1 (ko) | 무손실 인트라 hevc 코딩을 위한 지수-골룸 이진화에 대한 파라미터 결정 | |
US9516348B2 (en) | Method of applying edge offset | |
CN107295342B (zh) | 视频编码装置 | |
WO2018149995A1 (fr) | Appareil et procédés de filtre | |
US10999603B2 (en) | Method and apparatus for video coding with adaptive clipping | |
US10504208B2 (en) | Method of removing deblocking artifacts | |
WO2018134128A1 (fr) | Filtrage de données vidéo à l'aide d'une table de consultation partagée | |
KR102294016B1 (ko) | 변환생략을 참조하는 디블록킹 필터링을 이용한 영상의 부호화/복호화 방법 및 이를 이용하는 장치 | |
WO2018134362A1 (fr) | Appareil de filtrage et procédés | |
US12425660B2 (en) | Combining deblock filtering and another filtering for video encoding and/or decoding |
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: 18700220 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: 18700220 Country of ref document: EP Kind code of ref document: A1 |