WO2012045269A1 - Method and apparatus of region-based adaptive loop filtering - Google Patents

Method and apparatus of region-based adaptive loop filtering Download PDF

Info

Publication number
WO2012045269A1
WO2012045269A1 PCT/CN2011/080408 CN2011080408W WO2012045269A1 WO 2012045269 A1 WO2012045269 A1 WO 2012045269A1 CN 2011080408 W CN2011080408 W CN 2011080408W WO 2012045269 A1 WO2012045269 A1 WO 2012045269A1
Authority
WO
WIPO (PCT)
Prior art keywords
alf
region
design
regions
filter
Prior art date
Application number
PCT/CN2011/080408
Other languages
French (fr)
Inventor
Ching-Yeh Chen
Chih-Ming Fu
Chia-Yang Tsai
Yu-Wen Huang
Shaw-Min Lei
Original Assignee
Mediatek Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US13/093,068 external-priority patent/US9094658B2/en
Priority claimed from US13/158,427 external-priority patent/US9055305B2/en
Priority claimed from US13/177,343 external-priority patent/US8861617B2/en
Application filed by Mediatek Inc. filed Critical Mediatek Inc.
Priority to KR1020137001815A priority Critical patent/KR101526349B1/en
Priority to CA2805722A priority patent/CA2805722C/en
Priority to CN201180048246.0A priority patent/CN103155557B/en
Priority to EP11830225.6A priority patent/EP2625859A4/en
Publication of WO2012045269A1 publication Critical patent/WO2012045269A1/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/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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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
    • 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/182Methods 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 pixel
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/19Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with 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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Definitions

  • the present invention relates to video coding.
  • the present invention relates to adaptive loop filtering.
  • Motion compensated inter-frame coding has been widely adopted in various coding standards, such as MPEG- 1/2/4 and H.261/H.263/H.264/AVC. Motion estimation and compensation as well as subsequent processing are performed on a block basis. During compression process, coding noises may arise due to lossy operations applied such as quantization. The coding artifacts may become noticeable in the reconstructed video data, especially at or near block boundaries. In order to alleviate the visibility of coding artifacts, a technique called deblocking has been used in newer coding systems such as H.264/AVC and the High Efficiency Video Coding (HEVC) system under development.
  • HEVC High Efficiency Video Coding
  • the deblocking process applies filtering across block boundaries adaptively to smooth the large transitions at and near block boundaries due to coding noises while retaining image sharpness. Furthermore, due to the nature of inter-frame coding, the deblocking process is configured for in-loop operation. In the recent HEVC development, adaptive loop filtering (ALF) is being adopted to process deblocked reconstruction frames. Adaptive loop filtering is used as in- loop processing in addition to deblocking and is often applied after deblocking of reconstructed video data.
  • ALF adaptive loop filtering
  • the conventional adaptive loop filter is only applied to these blocks where the filtering helps to improve performance. For other blocks that adaptive loop filtering does not help to improve performance, adaptive loop filtering is not applied.
  • a single filter SF is applied to the blocks in a slice.
  • the single filter is selected from a group of filter candidates to achieve the best performance, such as minimum distortion, minimum rate or best R-D performance.
  • Such ALF scheme is referred to as SF (single filter) ALF.
  • QC ALF Another ALF scheme (called QC ALF) was proposed by Qualcomm ("Video coding technology proposal by Qualcomm Inc.”, Karczewicz et al, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 1st Meeting: Dresden, DE, 15-23 April, 2010, Document: JCTVC-A121.
  • the ALF is applied to the deblocked video data on a block by block basis.
  • SLM Sum-modified Laplacian Measure
  • Each pixel of the block is then classified into multiple classes or categories according to the SLM measurement, and a respective ALF filter is selected for each pixel. While the QC_ALF scheme may improve performance over the SF ALF, the SLM computations for each pixel and filter switching from pixel to pixel will result in higher computational complexity and consume more power. It is desirable to develop an ALF scheme that provides the advantage of multiple filter choices for each region without high computational complexity and the need to switch filter from pixel to pixel.
  • rate-distortion optimization is often used to guide the region partition and mode decision. While the RDO technique achieves the best rate-distortion performance, it does not take into consideration of the system complexity, which may consume valuable system resources. It is desirable to use an optimization scheme that achieves the best performance in terms of rate, distortion, and complexity. Accordingly, the rate-distortion-complexity optimization (RDCO) technique is used for ALF design. The RDCO technique is also applied to sample adaptive offset (SAO) design to achieve the best rate-distortion- complexity performance.
  • SAO sample adaptive offset
  • the method and apparatus for processing of coded video using adaptive loop filter comprise steps of receiving reconstructed video data corresponding to coded video data from a processing unit, applying adaptive loop filtering to the reconstructed video data to generate filtered video data, and providing the filtered video data.
  • the adaptive loop filtering may be region based ALF or non-region based ALF according to a region adaptation flag. If the region based ALF is selected, the reconstructed video data can be divided into MxN regions, where M and N are integers. Regions of the MxN regions may be merged using either 1-D or 2-D syntax.
  • a merge flag may be used to indicate whether a region is merged with one or more neighboring regions.
  • a scanning pattern may be used to assign a group index to each of the MxN regions, wherein the scanning pattern is selected from a group consisting of deformation of Hilbert curve, horizontal snake scan, vertical snake scan, zig-zag scan, spiral scan, quad-tree scan, and raster scan.
  • each of the MxN regions is aligned with boundaries of largest coding units (LCUs).
  • a merge flag is used to indicate whether region merging is allowed or not.
  • a method and apparatus for adaptive loop filter (ALF) design or sample adaptive offset (SAO) design are disclosed.
  • the method and apparatus for adaptive loop filter (ALF) design or sample adaptive offset (SAO) design comprise steps of determining candidates associated with a design feature for adaptive loop filter (ALF) design or sample adaptive offset (SAO) design and selecting a best candidate among the candidates according to rate-distortion-complexity optimization (RDCO).
  • the design feature can be associated with mode decision or region partition.
  • the complexity of the RDCO is related to the number of filter coefficients, a combination of the number of filter coefficients and the number of pixels to be filtered, or a combination of the number of filter coefficients, the number of pixels to be filtered and the number of operations associated with a candidate mode for mode decision.
  • the complexity of the RDCO can be related to the number of operations associated with a pixel classification type or a combination of the number of operations associated with a pixel classification type and the number of pixels to be compensated with an offset value.
  • Fig. 1 illustrates an exemplary block diagram of a video coding system based on motion compensated prediction, where adaptive loop filter is applied to reconstructed video data.
  • Fig. 2 illustrates an example of pixel based adaptive loop filter where Sum-modified Laplacian Measure (SLM) is used to classify the pixels in a 6x4 block into three categories.
  • SLM Sum-modified Laplacian Measure
  • Fig. 3 illustrates an example of dividing a picture consisting of 416x240 pixels into 4x4 LCU- aligned regions, where each square is a LCU consisting of 64x64 pixels and a non-rightmost and non-bottom region consists of 2x1 LCUs.
  • Fig. 4 illustrates an exemplary syntax design to support region based ALF incorporating a flag, region_adaptation_flag, to indicate whether region based ALF is used.
  • Fig. 5 illustrates the scanning order through the 4x4 regions according to the deformed Hilbert curve.
  • Fig. 6 illustrates the scanning order through the 4x4 regions according to the horizontal snake scan.
  • Fig. 7 illustrates the scanning order through the 4x4 regions according to the vertical snake scan.
  • Fig. 8 illustrates the scanning order through the 4x4 regions according to the zig-zag scan.
  • Fig. 9 illustrates the scanning order through the 4x4 regions according to the spiral scan.
  • Fig. 10 illustrates the scanning order through the 4x4 regions according to the quad-tree scan.
  • Fig. 11 illustrates the scanning order through the 4x4 regions according to the raster scan.
  • Fig. 12 illustrates an example of region splitting, where a region is split into five regions, i.e., Fo, Fi, F 2 , F 3 and a No-Filter region.
  • Fig. 13 illustrates an example where the five to-be-filtered regions are merged into three regions, Fo', and F and a No-Filter region.
  • Fig. 14 illustrates an exemplary syntax design to support 2-D region merging.
  • motion compensated inter-frame coding is an effective compression technique and has been widely adopted in various coding standards, such as MPEG- 1/2/4 and H.261/H.263/H.264/AVC.
  • motion estimation/compensation and subsequent compression is often performed on a block by block basis.
  • coding noises may arise due to lossy operations applied such as quantization.
  • the coding artifacts may become noticeable in the reconstructed video data, especially at or near block boundaries.
  • deblocking has been used in newer coding systems such as H.264/AVC and the High Efficiency Video Coding (HEVC) system under development.
  • the deblocking process applies filtering across block boundaries adaptively to smooth the large transitions at and near block boundaries due to coding noises while retaining image sharpness. Furthermore, due to the nature of inter-frame coding, the deblocking process is configured for in-loop operation.
  • ALF adaptive loop filtering
  • deblocking filter is only applied to block boundaries
  • the adaptive loop filter may be applied to all pixels in a frame, field, slice or picture area.
  • the conventional adaptive loop filter is only applied to these blocks where the filtering helps to improve performance.
  • adaptive loop filtering is not applied.
  • SF single filter
  • the set of ALF filters may be pre-defined and the filter selection can be indicated by an index.
  • the filter can be derived in a time-delayed arrangement based on video data already reconstructed. Therefore, no side information or very little side information is needed.
  • Other means for reducing information associated with the filter can be used such as entropy coding of the filter coefficients and/or transmitting the coefficients differentially.
  • FIG. 1 illustrates a system block diagram 100 of motion- compensated video encoder with deblocking.
  • Compression system 100 illustrates a typical video encoder incorporating Intra/Inter-prediction, Discrete Cosine Transform (DCT) and entropy coding to generate compressed video data.
  • the input video data enters the encoder through input interface 112 and the input video data is predicted using Intra/Inter-prediction 110.
  • Intra prediction mode the incoming video data are predicted by surrounding data in the same frame picture or field picture that are already coded.
  • the Inter prediction mode the prediction is based on previously reconstructed data 142 in the temporal direction where the reconstructed data 142 are stored in picture buffer 140.
  • the Inter prediction can be a list 0 prediction mode, where the prediction is based on a picture that is prior to the current picture in decoding order and is in a first list of reference pictures.
  • the Inter prediction may also be a list 1 prediction mode where the Inter prediction is based on a picture that is prior to the current picture in the decoding order and is in a second list of reference picture if the current slice is a B-slice.
  • the Inter prediction may also be a bi-prediction mode where the Inter prediction is based on a list 0 reference picture and a list 1 reference picture if the current slice is a B-slice.
  • the Intra/Inter prediction 110 will cause the prediction data to be provided to the adder 115 and be subtracted from the original video data 112.
  • the output 117 from the adder 115 is termed as the prediction error which is further processed by the DCT/Q block 120 representing Discrete Cosine Transform and quantization (Q).
  • the DCT and quantization 120 converts prediction errors 117 into coded symbols for further processing by entropy coding 130 to produce compressed bitstream 132, which is stored or transmitted.
  • the prediction error processed by the DCT and quantization 120 has to be recovered by inverse DCT and inverse quantization (IDCT/IQ) 160 to provide a reconstructed prediction error 162.
  • IDCT/IQ inverse DCT and inverse quantization
  • the reconstructed prediction error 162 is added to previously reconstructed video data 119 by the reconstruction block 150 to form a currently reconstructed frame 152.
  • the reconstructed prediction error 162 is added to the previously reconstructed surrounding data in the same picture.
  • the Intra/Inter prediction block 110 is configured to route the previously reconstructed data 119 to the reconstruction block 150, where the reconstructed data 119 may correspond to a previously reconstructed frame in the temporal direction or reconstructed surrounding data in the same picture depending on the Inter/ Intra mode.
  • the reconstructed data are processed by deblocking 170 and adaptive loop filtering 180 and are then stored in the picture buffer 140 as reference video data for processing of subsequent pictures.
  • the original ALF proposed for HEVC is applied on a block by block basis. If ALF helps to improve the performance (lower distortion, lower bit rate, or better R-D performance), the ALF is turned on for the block. Otherwise, ALF is turned off for the block.
  • QC ALF An ALF scheme (called QC ALF) was proposed by Qualcomm ("Video coding technology proposal by Qualcomm Inc.”, Karczewicz et al, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 1st Meeting: Dresden, DE, 15-23 April, 2010, Document: JCTVC- A121.
  • the ALF is applied to the deblocked video data on a pixel by pixel basis.
  • SLM Sum-modified Laplacian Measure
  • R(i,j) is the deblocked video data.
  • the SLM is calculated based on (2K+l)x(2L+l) neighboring window centered at (i,j).
  • the neighboring window size can be 9x9, 7x7, 5x5 or 3x3. In order to reduce the complexity, the 3x3 neighboring window has been used.
  • the SLM value computed for each pixel of the block is used to classify the pixel into one of M groups.
  • Fig. 2 illustrates an example of SLM classification where each square denotes a pixel. The pixels are classified into three groups according to the SLM value as shown in Fig. 2.
  • the QC ALF scheme selects a filter corresponding to each group to filter the pixels associated with the group.
  • the filter used for ALF is often horizontally and vertically symmetric in order to reduce computational complexity.
  • diamond shaped filter may be used, particularly for large size filter.
  • 9x9, 7x7, or 5x5 diamond-shaped filter, or 5x5 or 3x3 square filter may be used.
  • the SLM-based ALF is applied on a pixel by pixel basis and pixels may use different filters. Therefore, the QC ALF is also referred to as pixel-adaptive or pixel-adaptation (PA) ALF.
  • PA pixel-adaptive or pixel-adaptation
  • the SF ALF mentioned previously can be considered as a special case of PA ALF where only one group is used.
  • the PA ALF can adaptively select a filter on a pixel by pixel basis, it requires deriving the group information based on the SLM for each pixel on the decoder side based because the required side information will be substantial if it is coded. Therefore, it is desirable to develop an ALF scheme that can achieve better performance and/or reduced complexity. Accordingly, a region based ALF scheme is disclosed herein.
  • the ALF scheme according to the present invention applies ALF to deblocked video data on a region by region basis.
  • the regions can be formed by dividing a picture or a picture area into fixed blocks or fixed sets of blocks. Alternatively, the regions can be formed by partitioning a picture or a picture area recursively.
  • quadtree may be used for recursive region partitioning.
  • a flag in the syntax for ALF information set is used to indicate whether the region based ALF is applied or non-region based ALF method is applied.
  • a flag can be used to select between region-based ALF and block-based ALF.
  • the filter selected for the block can be derived from a similar method used in the pixel-based ALF.
  • Chong et al described a block based ALF, where Laplacian based activity metrics of 4x4 blocks are averaged so that each 4x4 block can use one Laplacian activity value
  • Chong et al. "CE8 Subtest 2: Block based adaptive loop filter (ALF)", Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SGI 6 WP3 and ISO/IEC JTC1/SC29/WG1 1, 5th Meeting: Geneva, CH, 16-23 March, 2011, Document: JCTVC-E323).
  • This method requires computing the Laplacian activity value for each pixel of the 4x4 block and does not save any computation over the conventional pixel-based ALF.
  • the block-based ALF can reduce the frequency of filter switching activity in comparison with the pixel-based ALF.
  • other measurement such as the band offset (BO) or the edge offset (EO) classifier used for sample adaptive offset (SAO), may also be used to replace the SLM computation used by Karczewicz et al. Both BO and EO require much fewer computations compared with the SLM measurement.
  • a picture may be divided into 16 (i.e., 4x4) roughly-equal-sized regions.
  • the region widths of non-rightmost regions can be (PicWidth/4) wherein the PicWidth means the picture width.
  • the region width can be (PicWidth - (PicWidthl4)*3).
  • the region heights of non-bottom regions can be (PicHeight/4), wherein the PicHeight means the picture height.
  • the region height can be ⁇ PicHeight - (PicHeightl4)*3).
  • the rightmost regions and the bottom regions may be larger than other regions.
  • Another example is to partition a picture into 16 (i.e., 4x4) roughly- equal- sized LCU-aligned regions, wherein region boundaries must also be largest coding unit (LCU) boundaries, as shown in Figure 3.
  • the picture size is 416x240 and contains 7x4 LCUs, wherein each LCU has 64x64 pixels.
  • the region widths of non-rightmost regions can be (((PicWidthInLCUs+ ⁇ )l 4)* 64), wherein the PicWidthlnLCUs means the number of LCUs of the picture width.
  • the region heights of non-bottom regions can be (((PicHeightInLCUs+ ⁇ )l 4)* 64), wherein the PicHeightlnLCUs means the number of LCUs of the picture height.
  • the size of the rightmost and bottom regions can be derived from PicWidth, PicHeight, and the size of a non- rightmost and non-bottom region.
  • An index is assigned to each of 4x4 regions. While 4x4 regions are used as an example, it is understood that the present invention is not limited to the particular 4x4 regions. In fact, MxN regions may be used to practice the present invention, where M and N are integers.
  • the region index for a region with upper left corner coordinate (x,y) can be derived as follows.
  • the ( ⁇ «Log2MaxCUSize) is the maximum coding unit size
  • xMaxIndex and yMaxIndex are the maximum region indexes in horizontal and vertical directions, respectively.
  • x idx and the vertical index y idx can be derived as:
  • the region index region idx is determined according to:
  • the region index can be derived as follows.
  • the horizontal interval x interval and the vertical interval y interval of the region can be derived as:
  • x idx min ( 3, x / (x interval « Log2MaxCUSize) ), and
  • y idx min ( 3, y / (y interval « Log2MaxCUSize) ).
  • the region index region idx is determined according to:
  • the filter index filter idx(x,y) is determined according to:
  • Two neighboring regions i.e., regions with successive indices, can be merged.
  • one filter is applied to each merged region.
  • the picture can then be processed by using the pixel-based ALF, the block-based ALF, or the region-based ALF.
  • the region-based ALF can save computations associated with pixel- based classification of pixel adaptation and block-based classification of block adaptation, respectively, so that the average decoder complexity can be reduced when the region based ALF is incorporated.
  • the region-based ALF also significantly reduces the number of filter switching in the picture and consequently results in less switching power.
  • FIG. 4 An example of syntax to support selection between region-based ALF and pixel-based ALF or between region-based ALF and block-based ALF is shown in Fig. 4.
  • the only syntax change is to add one flag, region_adaptation_flag, in ALF parameter set, alf_param(), of the slice header or the picture parameter set (PPS) to select between the pixel-based ALF and region-based ALF or between the block-based ALF and the region-based ALF.
  • the coding efficiency may be further improved by region merging.
  • Neighboring regions may have similar characteristics and can share a same filter to reduce information required for indicating the ALF filter.
  • One method to perform region merging is to order the 2-D regions into 1-D regions.
  • the 4x4 regions can be converted into 1-D regions with group indexes from 0 through 15.
  • the 2-D to 1-D conversion can be performed according to a specific scanning pattern. There are many known scan patterns that can be used to convert the 2-D regions into 1-D regions, such as deformed Hilbert curve (Fig. 5), horizontal snake san (Fig. 6), vertical snake scan (Fig. 7), zig-zag scan (Fig. 8), spiral scan (Fig. 9), quad-tree scan (Fig. 10) and raster scan (Fig. 11).
  • neighboring regions i.e., regions with consecutive group indexes can be merged to share a same filter as indicated by merging syntax.
  • one merge flag can be used to indicate whether the region with group index n is merged with the region with group index (n-l) or not.
  • Region merging can also be performed using 2-D merge syntax where a region may be merged with a surrounding region. Furthermore, a first flag can be used to indicate whether this region is merged or not first. The first flag is followed by one merge candidate flag if the first flag indicates that the region is merged. In certain circumstances, some of the surrounding regions may not available for merge candidates. For example, a region on the boundaries of a picture or on the boundaries of 4x4 regions will not have certain merge candidates. Accordingly, the merge candidate flag can be simplified based on the neighboring regions. For example, the merge candidate can be left or upper region and a 1-bit flag can be used as the merge candidate flag. However, if left and upper regions do not exist at the same time, then the merge candidate flag can be saved.
  • the representation of the merge candidate flag is adapted to the availability of the neighboring regions.
  • the merge candidate flag may be represented in fewer bits.
  • the region merging can be adaptively applied to each set of 4x4 regions.
  • a region merge enable flag may be used to indicate whether region merging is allowed for the 4x4 regions.
  • the region for ALF filtering can also be the filter unit (FU).
  • a picture or a picture area can be recursively partitioned into smaller FUs if the split will result in better performance such as lower rate-distortion (R-D) cost.
  • the R-D cost can be computed for one to-be-filtered region (an individual FU in this case) and for regions resulted from splitting. If splitting will result in lower R- D cost, the to-be-filtered region will be split; otherwise the region is not split.
  • a picture or a picture area may be divided into smaller regions first. Neighboring regions can be merged if the merging will result in better performance such as lower R-D cost.
  • the regions will be merged; otherwise the regions will not be merged.
  • several to-be-filtered regions can be merged into one FU to reduce the bitrate associated with the filter information.
  • FIG. 12 An example of region splitting is shown in Fig. 12 where a region (filter unit FU 1210) is split into five regions (FUs 1220), i.e., Fo, Fi, F 2 , F 3 and a No-Filter region.
  • the region split can be according to lower R-D cost.
  • Fig. 13 illustrates an example of region merging according to one embodiment of the present invention.
  • the to-be-filtered regions 1310 are considered for region merging according to the R-D cost.
  • the R-D cost for individual neighboring regions is compared with the R-D cost of a merged region corresponding to these individual neighboring regions.
  • the individual neighboring regions are merged if the merging results in lower R-D cost.
  • FIG. 13 illustrates a case where the five to-be-filtered regions 1310 are merged into three regions 1320, Fo', and F and a No-Filter FU. Regions Fo and F 2 are merged into Fo', and Regions Fi and F 3 are merged into F .
  • the alf s selection _param( r, c ) function processes filter sharing for region merging.
  • the ALF merge flag, alf merge flag indicates whether the current region (i.e., FU in this example) is merged with another region, where a value 1 denotes that the current region is merged and a value 0 denotes that the current FU is not merged with the left or the upper region.
  • the filter set index of the current region, alf fu filter set idx is incorporated when the current region is not merged.
  • the first region of the picture always has the filter set index set to 0 and does not need to send the index.
  • the syntax element alf merge up flag indicates whether the region is merged with the region on the top side, where a value 0 denotes that the current region is merged with the left FU; a value 1 denotes that the current region is merged with the upper region.
  • Rate-distortion optimization is a widely known technique used in video encoding to obtain good coding efficiency.
  • RDO is usually applied during mode decision of macroblocks or sub-macroblocks or coding units, Intra prediction, motion estimation, adaptive loop filter (ALF) decision (for filter sizes, filter shapes, on/off switch, etc.), and sample adaptive offset (SAO) decision (for choosing different pixel classification methods).
  • ALF adaptive loop filter
  • SAO sample adaptive offset
  • Rate-distortion-complexity optimization is also a well known technique widely used in video encoding to obtain a good trade-off between coding efficiency and coding complexity.
  • RDCO is usually applied during mode decision of macroblocks, sub-macroblocks or coding units, Intra prediction, and motion estimation.
  • An embodiment according to the present invention incorporates RDCO for ALF/SAO design, wherein the best candidate associated with a design feature to be determined according to the RDCO.
  • the design feature may be mode decision or region partition. The mode decision among ALF different modes can be dependent on the slice type such as I/B/P-slices or the percentage of Inter/Intra coding units (CUs).
  • Another embodiment according to the present invention incorporates RDCO for ALF filter selection. When the RDCO is used for ALF filter selection, the complexity of the RDCO can be associated with the number of filter coefficients.
  • a sample adaptive offset (SAO) scheme is disclosed where each pixel is classified using multiple pixel classification types and each classification type may classify the pixel into multiple categories. According to the pixel classification type and the category of the pixel, an offset value is determined to compensate the offset.
  • the SAO scheme utilizes either the band offset (BO) context or the edge offset (EO) context to classify pixels into categories. The complexity associated with the multiple pixel classification types may be different. Therefore, RDCO technique may be used for SAO decision to select a pixel classification type to achieve the best RDCO performance.
  • Patent Application, Serial No.13/158,427 addresses the region partition.
  • the RDCO technique can also be used for SAO decision to determine region partition.
  • the cost for RDCO can be associated with the number of pixels to be processed and the number of required operations (TableOfNumOperations [Mode]) for the mode (i.e., the pixel classification type being considered).
  • the adaptive loop filter scheme described above can be used in a video encoder as well as in a video decoder. In both the video encoder and the video decoder, the reconstructed video data is subject to coding artifacts.
  • the adaptive loop filter scheme described above can help to improve visual quality of the reconstructed video.
  • Embodiments of an encoding system with region based ALF according to the present invention as described above may be implemented in various hardware, software codes, or a combination of both.
  • an embodiment of the present invention can be a circuit integrated into a video compression chip or program codes integrated into video compression software to perform the processing described herein.
  • An embodiment of the present invention may also be program codes to be executed on a Digital Signal Processor (DSP) to perform the processing described herein.
  • DSP Digital Signal Processor
  • the invention may also involve a number of functions to be performed by a computer processor, a digital signal processor, a microprocessor, or field programmable gate array (FPGA). These processors can be configured to perform particular tasks according to the invention, by executing machine-readable software code or firmware code that defines the particular methods embodied by the invention.
  • the software code or firmware codes may be developed in different programming languages and different format or style.
  • the software code may also be compiled for different target platform. However, different code formats, styles and languages of software codes and other means of configuring code to perform the tasks in accordance with the invention will not depart from the spirit and scope of the invention.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

In a block-based motion compensated system, coding noises may arise due to lossy operations. Adaptive loop filter (ALF) is a technique used to improve the quality. A pixel adaptive (PA) ALF method was developed that uses the Sum-modified Laplacian Measure (SLM) to classify pixels and applies a respective ALF filter to each pixel according to the SLM. While the PA ALF achieves better performance over a conventional single filter (SF) based ALF, the PA ALF causes higher complexity and consumes more power due to the high complexity and per-pixel filter switching. Accordingly region based ALF scheme is disclosed which allows adaptive filter selection on a region by region basis and does not require per-pixel filter switching. In one embodiment according to the present invention, a picture is divided into MxN regions. The region based ALF also allows region merging for the MxN regions to improve performance. In another aspect of the present invention, the optimal ALF design also takes into consideration of the system complexity by using rate-distortion-complexity optimization (RDCO). The RDCO technique is also applied to sample adaptive offset (SAO) design.

Description

METHOD AND APPARATUS OF REGION-BASED ADAPTIVE LOOP
FILTERING
CROSS REFERENCE TO RELATED APPLICATIONS
The present invention claims priority to U.S. Provisional Patent Application, Serial No. 61/390,068, filed October 5, 2010, entitled "Improved In-Loop Filter", U.S. Provisional Patent Application, Serial No. 61/421,729, filed December 10, 2010, entitled "Rate-Distortion-Complexity Optimization for Adaptive Loop Filter", U.S. Provisional Patent Application, Serial No. 13/177,343, filed July 06, 2011, entitled " Method and Apparatus of Region-Based Adaptive Loop Filtering", U.S. Provisional Patent Application, Serial No. 61/454,829, filed March 21, 2011, entitled " Region-Based ALF". The present invention is also related to U.S. Patent Application, Serial No. 13/093,068, filed on April 25, 2011, entitled "Method and Apparatus of Adaptive Loop Filtering" and U.S. Patent Application, Serial No.13/158,427, filed on June 12, 2011, entitled "Apparatus and Method of Sample Adaptive Offset for Video Coding", U.S. Provisional Patent Application, Serial No. 61/429,313, filed January 03, 2011, entitled "Media Tek's Adaptive Loop Filter(MTK ALF)" . The U.S. Provisional Patent Applications and the U.S. Patent Applications are hereby incorporated by reference in their entireties.
TECHNICAL FIELD
The present invention relates to video coding. In particular, the present invention relates to adaptive loop filtering.
BACKGROUND
Motion compensated inter-frame coding has been widely adopted in various coding standards, such as MPEG- 1/2/4 and H.261/H.263/H.264/AVC. Motion estimation and compensation as well as subsequent processing are performed on a block basis. During compression process, coding noises may arise due to lossy operations applied such as quantization. The coding artifacts may become noticeable in the reconstructed video data, especially at or near block boundaries. In order to alleviate the visibility of coding artifacts, a technique called deblocking has been used in newer coding systems such as H.264/AVC and the High Efficiency Video Coding (HEVC) system under development. The deblocking process applies filtering across block boundaries adaptively to smooth the large transitions at and near block boundaries due to coding noises while retaining image sharpness. Furthermore, due to the nature of inter-frame coding, the deblocking process is configured for in-loop operation. In the recent HEVC development, adaptive loop filtering (ALF) is being adopted to process deblocked reconstruction frames. Adaptive loop filtering is used as in- loop processing in addition to deblocking and is often applied after deblocking of reconstructed video data.
The conventional adaptive loop filter is only applied to these blocks where the filtering helps to improve performance. For other blocks that adaptive loop filtering does not help to improve performance, adaptive loop filtering is not applied. When the ALF is applied, a single filter SF is applied to the blocks in a slice. The single filter is selected from a group of filter candidates to achieve the best performance, such as minimum distortion, minimum rate or best R-D performance. Such ALF scheme is referred to as SF (single filter) ALF. Another ALF scheme (called QC ALF) was proposed by Qualcomm ("Video coding technology proposal by Qualcomm Inc.", Karczewicz et al, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 1st Meeting: Dresden, DE, 15-23 April, 2010, Document: JCTVC-A121. According to QC ALF, the ALF is applied to the deblocked video data on a block by block basis. For each block, the Sum-modified Laplacian Measure (SLM) SLM(i,j) of each pixel (i,j) of the block is computed. Each pixel of the block is then classified into multiple classes or categories according to the SLM measurement, and a respective ALF filter is selected for each pixel. While the QC_ALF scheme may improve performance over the SF ALF, the SLM computations for each pixel and filter switching from pixel to pixel will result in higher computational complexity and consume more power. It is desirable to develop an ALF scheme that provides the advantage of multiple filter choices for each region without high computational complexity and the need to switch filter from pixel to pixel.
During the ALF design in terms of region partition and mode decision, an optimization technique, called rate-distortion optimization (RDO), is often used to guide the region partition and mode decision. While the RDO technique achieves the best rate-distortion performance, it does not take into consideration of the system complexity, which may consume valuable system resources. It is desirable to use an optimization scheme that achieves the best performance in terms of rate, distortion, and complexity. Accordingly, the rate-distortion-complexity optimization (RDCO) technique is used for ALF design. The RDCO technique is also applied to sample adaptive offset (SAO) design to achieve the best rate-distortion- complexity performance.
SUMMARY
A method and apparatus for processing of coded video using adaptive loop filter are disclosed. In one embodiment according to the present invention, the method and apparatus for processing of coded video using adaptive loop filter comprise steps of receiving reconstructed video data corresponding to coded video data from a processing unit, applying adaptive loop filtering to the reconstructed video data to generate filtered video data, and providing the filtered video data. The adaptive loop filtering may be region based ALF or non-region based ALF according to a region adaptation flag. If the region based ALF is selected, the reconstructed video data can be divided into MxN regions, where M and N are integers. Regions of the MxN regions may be merged using either 1-D or 2-D syntax. Furthermore, a merge flag may be used to indicate whether a region is merged with one or more neighboring regions. When 1-D syntax is used, a scanning pattern may be used to assign a group index to each of the MxN regions, wherein the scanning pattern is selected from a group consisting of deformation of Hilbert curve, horizontal snake scan, vertical snake scan, zig-zag scan, spiral scan, quad-tree scan, and raster scan. In another embodiment according to the present invention, each of the MxN regions is aligned with boundaries of largest coding units (LCUs). In yet another embodiment according to the present invention, a merge flag is used to indicate whether region merging is allowed or not.
A method and apparatus for adaptive loop filter (ALF) design or sample adaptive offset (SAO) design are disclosed. In one embodiment according to the present invention, the method and apparatus for adaptive loop filter (ALF) design or sample adaptive offset (SAO) design comprise steps of determining candidates associated with a design feature for adaptive loop filter (ALF) design or sample adaptive offset (SAO) design and selecting a best candidate among the candidates according to rate-distortion-complexity optimization (RDCO). The design feature can be associated with mode decision or region partition. For the ALF design, the complexity of the RDCO is related to the number of filter coefficients, a combination of the number of filter coefficients and the number of pixels to be filtered, or a combination of the number of filter coefficients, the number of pixels to be filtered and the number of operations associated with a candidate mode for mode decision. For the SAO design, the complexity of the RDCO can be related to the number of operations associated with a pixel classification type or a combination of the number of operations associated with a pixel classification type and the number of pixels to be compensated with an offset value.
BRIEF DESCRIPTION OF DRAWINGS
Fig. 1 illustrates an exemplary block diagram of a video coding system based on motion compensated prediction, where adaptive loop filter is applied to reconstructed video data.
Fig. 2 illustrates an example of pixel based adaptive loop filter where Sum-modified Laplacian Measure (SLM) is used to classify the pixels in a 6x4 block into three categories.
Fig. 3 illustrates an example of dividing a picture consisting of 416x240 pixels into 4x4 LCU- aligned regions, where each square is a LCU consisting of 64x64 pixels and a non-rightmost and non-bottom region consists of 2x1 LCUs.
Fig. 4 illustrates an exemplary syntax design to support region based ALF incorporating a flag, region_adaptation_flag, to indicate whether region based ALF is used.
Fig. 5 illustrates the scanning order through the 4x4 regions according to the deformed Hilbert curve.
Fig. 6 illustrates the scanning order through the 4x4 regions according to the horizontal snake scan.
Fig. 7 illustrates the scanning order through the 4x4 regions according to the vertical snake scan.
Fig. 8 illustrates the scanning order through the 4x4 regions according to the zig-zag scan.
Fig. 9 illustrates the scanning order through the 4x4 regions according to the spiral scan.
Fig. 10 illustrates the scanning order through the 4x4 regions according to the quad-tree scan.
Fig. 11 illustrates the scanning order through the 4x4 regions according to the raster scan.
Fig. 12 illustrates an example of region splitting, where a region is split into five regions, i.e., Fo, Fi, F2, F3 and a No-Filter region.
Fig. 13 illustrates an example where the five to-be-filtered regions are merged into three regions, Fo', and F and a No-Filter region.
Fig. 14 illustrates an exemplary syntax design to support 2-D region merging.
DETAILED DESCRIPTION
For digital video compression, motion compensated inter-frame coding is an effective compression technique and has been widely adopted in various coding standards, such as MPEG- 1/2/4 and H.261/H.263/H.264/AVC. In a motion compensated system, motion estimation/compensation and subsequent compression is often performed on a block by block basis. During compression process, coding noises may arise due to lossy operations applied such as quantization. The coding artifacts may become noticeable in the reconstructed video data, especially at or near block boundaries. In order to alleviate the visibility of coding artifacts, a technique called deblocking has been used in newer coding systems such as H.264/AVC and the High Efficiency Video Coding (HEVC) system under development. The deblocking process applies filtering across block boundaries adaptively to smooth the large transitions at and near block boundaries due to coding noises while retaining image sharpness. Furthermore, due to the nature of inter-frame coding, the deblocking process is configured for in-loop operation.
In HEVC, another in-loop filtering, called adaptive loop filtering (ALF), is used in addition to deblocking. While deblocking filter is only applied to block boundaries, the adaptive loop filter may be applied to all pixels in a frame, field, slice or picture area. The conventional adaptive loop filter is only applied to these blocks where the filtering helps to improve performance. For other blocks that adaptive loop filtering does not help to improve performance, adaptive loop filtering is not applied. When the ALF is applied, a single filter SF is applied to the blocks in a slice. The single filter is selected from a group of filter candidates to achieve the best performance (such as minimum distortion, minimum rate or best R-D performance. Such ALF scheme is referred to as SF (single filter) ALF. Information associated with the filter selected has to be conveyed to the decoder side. In order to conserve the information to be transmitted or stored, the set of ALF filters may be pre-defined and the filter selection can be indicated by an index. Alternatively, the filter can be derived in a time-delayed arrangement based on video data already reconstructed. Therefore, no side information or very little side information is needed. Other means for reducing information associated with the filter can be used such as entropy coding of the filter coefficients and/or transmitting the coefficients differentially.
A system block diagram for a coding system incorporating adaptive loop filtering and deblocking is shown in Fig. 1. Fig. 1 illustrates a system block diagram 100 of motion- compensated video encoder with deblocking. Compression system 100 illustrates a typical video encoder incorporating Intra/Inter-prediction, Discrete Cosine Transform (DCT) and entropy coding to generate compressed video data. The input video data enters the encoder through input interface 112 and the input video data is predicted using Intra/Inter-prediction 110. In the Intra prediction mode, the incoming video data are predicted by surrounding data in the same frame picture or field picture that are already coded. In the Inter prediction mode, the prediction is based on previously reconstructed data 142 in the temporal direction where the reconstructed data 142 are stored in picture buffer 140. The Inter prediction can be a list 0 prediction mode, where the prediction is based on a picture that is prior to the current picture in decoding order and is in a first list of reference pictures. The Inter prediction may also be a list 1 prediction mode where the Inter prediction is based on a picture that is prior to the current picture in the decoding order and is in a second list of reference picture if the current slice is a B-slice. The Inter prediction may also be a bi-prediction mode where the Inter prediction is based on a list 0 reference picture and a list 1 reference picture if the current slice is a B-slice. In the Inter-prediction mode, the Intra/Inter prediction 110 will cause the prediction data to be provided to the adder 115 and be subtracted from the original video data 112. The output 117 from the adder 115 is termed as the prediction error which is further processed by the DCT/Q block 120 representing Discrete Cosine Transform and quantization (Q). The DCT and quantization 120 converts prediction errors 117 into coded symbols for further processing by entropy coding 130 to produce compressed bitstream 132, which is stored or transmitted. In order to provide the prediction data for Intra/Inter prediction, the prediction error processed by the DCT and quantization 120 has to be recovered by inverse DCT and inverse quantization (IDCT/IQ) 160 to provide a reconstructed prediction error 162. In the Inter prediction mode, the reconstructed prediction error 162 is added to previously reconstructed video data 119 by the reconstruction block 150 to form a currently reconstructed frame 152. In the Intra prediction mode, the reconstructed prediction error 162 is added to the previously reconstructed surrounding data in the same picture. The Intra/Inter prediction block 110 is configured to route the previously reconstructed data 119 to the reconstruction block 150, where the reconstructed data 119 may correspond to a previously reconstructed frame in the temporal direction or reconstructed surrounding data in the same picture depending on the Inter/ Intra mode.
The reconstructed data are processed by deblocking 170 and adaptive loop filtering 180 and are then stored in the picture buffer 140 as reference video data for processing of subsequent pictures. The original ALF proposed for HEVC is applied on a block by block basis. If ALF helps to improve the performance (lower distortion, lower bit rate, or better R-D performance), the ALF is turned on for the block. Otherwise, ALF is turned off for the block. An ALF scheme (called QC ALF) was proposed by Qualcomm ("Video coding technology proposal by Qualcomm Inc.", Karczewicz et al, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 1st Meeting: Dresden, DE, 15-23 April, 2010, Document: JCTVC- A121. According to QC ALF, the ALF is applied to the deblocked video data on a pixel by pixel basis. For each block, the Sum-modified Laplacian Measure (SLM) SLM(i,j) of each pixel (i,j) within the block is computed:
SML{i ) = + kj + l) - R(i + k - lJ + l) - R(i + k + IJ + 1)\ +
Figure imgf000008_0001
\2R(i + kj + l) - R(i + kJ + l - \) - R(i + kj + l + 1)|,
where R(i,j) is the deblocked video data. The SLM is calculated based on (2K+l)x(2L+l) neighboring window centered at (i,j). The neighboring window size can be 9x9, 7x7, 5x5 or 3x3. In order to reduce the complexity, the 3x3 neighboring window has been used. The SLM value computed for each pixel of the block is used to classify the pixel into one of M groups. Fig. 2 illustrates an example of SLM classification where each square denotes a pixel. The pixels are classified into three groups according to the SLM value as shown in Fig. 2. The QC ALF scheme selects a filter corresponding to each group to filter the pixels associated with the group. The filter used for ALF is often horizontally and vertically symmetric in order to reduce computational complexity. To further reduce the complexity, diamond shaped filter may be used, particularly for large size filter. For example, 9x9, 7x7, or 5x5 diamond-shaped filter, or 5x5 or 3x3 square filter may be used. The SLM-based ALF is applied on a pixel by pixel basis and pixels may use different filters. Therefore, the QC ALF is also referred to as pixel-adaptive or pixel-adaptation (PA) ALF. The SF ALF mentioned previously can be considered as a special case of PA ALF where only one group is used.
While the PA ALF can adaptively select a filter on a pixel by pixel basis, it requires deriving the group information based on the SLM for each pixel on the decoder side based because the required side information will be substantial if it is coded. Therefore, it is desirable to develop an ALF scheme that can achieve better performance and/or reduced complexity. Accordingly, a region based ALF scheme is disclosed herein. The ALF scheme according to the present invention applies ALF to deblocked video data on a region by region basis. The regions can be formed by dividing a picture or a picture area into fixed blocks or fixed sets of blocks. Alternatively, the regions can be formed by partitioning a picture or a picture area recursively. For example, quadtree may be used for recursive region partitioning. A flag in the syntax for ALF information set is used to indicate whether the region based ALF is applied or non-region based ALF method is applied. For example, a flag can be used to select between region-based ALF and block-based ALF. The filter selected for the block can be derived from a similar method used in the pixel-based ALF. For example, Chong et al, described a block based ALF, where Laplacian based activity metrics of 4x4 blocks are averaged so that each 4x4 block can use one Laplacian activity value (Chong et al., "CE8 Subtest 2: Block based adaptive loop filter (ALF)", Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SGI 6 WP3 and ISO/IEC JTC1/SC29/WG1 1, 5th Meeting: Geneva, CH, 16-23 March, 2011, Document: JCTVC-E323). This method requires computing the Laplacian activity value for each pixel of the 4x4 block and does not save any computation over the conventional pixel-based ALF. However, the block-based ALF can reduce the frequency of filter switching activity in comparison with the pixel-based ALF. Instead of using Laplacian activity as a classifier, other measurement, such as the band offset (BO) or the edge offset (EO) classifier used for sample adaptive offset (SAO), may also be used to replace the SLM computation used by Karczewicz et al. Both BO and EO require much fewer computations compared with the SLM measurement.
As an example of region-based ALF using sets of blocks, a picture may be divided into 16 (i.e., 4x4) roughly-equal-sized regions. For example, the region widths of non-rightmost regions can be (PicWidth/4) wherein the PicWidth means the picture width. For rightmost regions, the region width can be (PicWidth - (PicWidthl4)*3). The region heights of non-bottom regions can be (PicHeight/4), wherein the PicHeight means the picture height. For bottom regions, the region height can be {PicHeight - (PicHeightl4)*3). In this example, the rightmost regions and the bottom regions may be larger than other regions. Another example is to partition a picture into 16 (i.e., 4x4) roughly- equal- sized LCU-aligned regions, wherein region boundaries must also be largest coding unit (LCU) boundaries, as shown in Figure 3. The picture size is 416x240 and contains 7x4 LCUs, wherein each LCU has 64x64 pixels. The region widths of non-rightmost regions can be (((PicWidthInLCUs+\)l 4)* 64), wherein the PicWidthlnLCUs means the number of LCUs of the picture width. The region heights of non-bottom regions can be (((PicHeightInLCUs+\)l 4)* 64), wherein the PicHeightlnLCUs means the number of LCUs of the picture height. The size of the rightmost and bottom regions can be derived from PicWidth, PicHeight, and the size of a non- rightmost and non-bottom region. An index is assigned to each of 4x4 regions. While 4x4 regions are used as an example, it is understood that the present invention is not limited to the particular 4x4 regions. In fact, MxN regions may be used to practice the present invention, where M and N are integers. For a picture having PicWidthlnSamples pixels horizontally and PicHeightlnSamples pixels vertically, the region index for a region with upper left corner coordinate (x,y) can be derived as follows. The (\«Log2MaxCUSize) is the maximum coding unit size, and xMaxIndex and yMaxIndex are the maximum region indexes in horizontal and vertical directions, respectively. The horizontal interval x interval and the vertical interval interval of the region can be derived as: x interval = ((((PicWidthlnSamples + (\«Log2MaxCUSize) - 1 ) » Log2MaxCUSize ) + x round) I (xMaxIndex+l)), and (1)
y interval = ((((PicHeightlnSamples + (\«Log2MaxCUSize) - 1 ) » Log2MaxCUSize) + y round) I (yMaxIndex+Y)), (2)
where x round = max( 0, (xMaxIndex+Y) 12 - 1) and y round = max( 0, (yMaxIndex+l) 12 - 1). The horizontal index x idx and the vertical index y idx can be derived as:
x idx = min ( xMaxIndex, x I (x interval« Log2MaxCUSize) ), and (3) y idx = min ( yMaxIndex, y I (y interval« Log2MaxCUSize) ) (4)
The region index region idx is determined according to:
region idx =y idx * (xMaxIndex + 1) + x idx. (5)
When the 4x4 regions are used for region based ALF, the region index can be derived as follows. The horizontal interval x interval and the vertical interval y interval of the region can be derived as:
x interval = ((((PicWidthlnSamples + (\«Log2MaxCUSize) - 1 ) » Log2MaxCUSize ) + 1) » 2 ), and (6) y interval = {{{{PicHeightlnSamples + (l«Log2MaxCUSize) - 1 ) » Log2MaxCUSize) + 1)
Figure imgf000011_0001
x idx = min ( 3, x / (x interval« Log2MaxCUSize) ), and
y idx = min ( 3, y / (y interval« Log2MaxCUSize) ).
The region index region idx is determined according to:
region idx = (y idx « 2) + x idx. (10)
The filter index filter idx(x,y) is determined according to:
filter idx(x, y) = region tab [region idx], (11) where region tab [16] = { 0, 1, 4, 5, 15, 2, 3, 6, 14, 1, 10, 7, 13, 12, 9, 8}.
Two neighboring regions, i.e., regions with successive indices, can be merged. After region merging, one filter is applied to each merged region. The picture can then be processed by using the pixel-based ALF, the block-based ALF, or the region-based ALF. Compared to the pixel-based ALF and the block-based ALF, the region-based ALF can save computations associated with pixel- based classification of pixel adaptation and block-based classification of block adaptation, respectively, so that the average decoder complexity can be reduced when the region based ALF is incorporated. Furthermore, the region-based ALF also significantly reduces the number of filter switching in the picture and consequently results in less switching power. An example of syntax to support selection between region-based ALF and pixel-based ALF or between region-based ALF and block-based ALF is shown in Fig. 4. The only syntax change is to add one flag, region_adaptation_flag, in ALF parameter set, alf_param(), of the slice header or the picture parameter set (PPS) to select between the pixel-based ALF and region-based ALF or between the block-based ALF and the region-based ALF.
The coding efficiency may be further improved by region merging. Neighboring regions may have similar characteristics and can share a same filter to reduce information required for indicating the ALF filter. One method to perform region merging is to order the 2-D regions into 1-D regions. For example, the 4x4 regions can be converted into 1-D regions with group indexes from 0 through 15. The 2-D to 1-D conversion can be performed according to a specific scanning pattern. There are many known scan patterns that can be used to convert the 2-D regions into 1-D regions, such as deformed Hilbert curve (Fig. 5), horizontal snake san (Fig. 6), vertical snake scan (Fig. 7), zig-zag scan (Fig. 8), spiral scan (Fig. 9), quad-tree scan (Fig. 10) and raster scan (Fig. 11). Upon converting the 2-D regions into 1-D regions, neighboring regions, i.e., regions with consecutive group indexes can be merged to share a same filter as indicated by merging syntax. For example, one merge flag can be used to indicate whether the region with group index n is merged with the region with group index (n-l) or not.
Region merging can also be performed using 2-D merge syntax where a region may be merged with a surrounding region. Furthermore, a first flag can be used to indicate whether this region is merged or not first. The first flag is followed by one merge candidate flag if the first flag indicates that the region is merged. In certain circumstances, some of the surrounding regions may not available for merge candidates. For example, a region on the boundaries of a picture or on the boundaries of 4x4 regions will not have certain merge candidates. Accordingly, the merge candidate flag can be simplified based on the neighboring regions. For example, the merge candidate can be left or upper region and a 1-bit flag can be used as the merge candidate flag. However, if left and upper regions do not exist at the same time, then the merge candidate flag can be saved. Accordingly, the representation of the merge candidate flag is adapted to the availability of the neighboring regions. When some of the neighboring regions are not available, the merge candidate flag may be represented in fewer bits. The region merging can be adaptively applied to each set of 4x4 regions. A region merge enable flag may be used to indicate whether region merging is allowed for the 4x4 regions.
The region for ALF filtering can also be the filter unit (FU). A picture or a picture area can be recursively partitioned into smaller FUs if the split will result in better performance such as lower rate-distortion (R-D) cost. The R-D cost can be computed for one to-be-filtered region (an individual FU in this case) and for regions resulted from splitting. If splitting will result in lower R- D cost, the to-be-filtered region will be split; otherwise the region is not split. Alternatively, a picture or a picture area may be divided into smaller regions first. Neighboring regions can be merged if the merging will result in better performance such as lower R-D cost. If the cost for the merged region is smaller than the cost for individual regions, the regions will be merged; otherwise the regions will not be merged. According to a method embodying the present invention, several to-be-filtered regions can be merged into one FU to reduce the bitrate associated with the filter information.
An example of region splitting is shown in Fig. 12 where a region (filter unit FU 1210) is split into five regions (FUs 1220), i.e., Fo, Fi, F2, F3 and a No-Filter region. The region split can be according to lower R-D cost. Fig. 13 illustrates an example of region merging according to one embodiment of the present invention. The to-be-filtered regions 1310 are considered for region merging according to the R-D cost. The R-D cost for individual neighboring regions is compared with the R-D cost of a merged region corresponding to these individual neighboring regions. The individual neighboring regions are merged if the merging results in lower R-D cost. The example of Fig. 13 illustrates a case where the five to-be-filtered regions 1310 are merged into three regions 1320, Fo', and F and a No-Filter FU. Regions Fo and F2 are merged into Fo', and Regions Fi and F3 are merged into F .
An exemplary syntax design to support 2-D region merging is illustrated in Fig. 14. The alf s selection _param( r, c ) function processes filter sharing for region merging. The ALF merge flag, alf merge flag indicates whether the current region (i.e., FU in this example) is merged with another region, where a value 1 denotes that the current region is merged and a value 0 denotes that the current FU is not merged with the left or the upper region. The filter set index of the current region, alf fu filter set idx is incorporated when the current region is not merged. The first region of the picture always has the filter set index set to 0 and does not need to send the index. The syntax element alf merge up flag indicates whether the region is merged with the region on the top side, where a value 0 denotes that the current region is merged with the left FU; a value 1 denotes that the current region is merged with the upper region.
Another aspect of the present invention is related to ALF filter design. Rate-distortion optimization (RDO) is a widely known technique used in video encoding to obtain good coding efficiency. RDO is usually applied during mode decision of macroblocks or sub-macroblocks or coding units, Intra prediction, motion estimation, adaptive loop filter (ALF) decision (for filter sizes, filter shapes, on/off switch, etc.), and sample adaptive offset (SAO) decision (for choosing different pixel classification methods). The best RDO decision is the one that minimizes a rate- distortion cost function, J=D+ R, where D is the estimated distortion between original pixels and reconstructed (or predicted) pixels, R is the estimated rate required for sending the side information, and λ is a Lagrange multiplier.
Rate-distortion-complexity optimization (RDCO) is also a well known technique widely used in video encoding to obtain a good trade-off between coding efficiency and coding complexity. RDCO is usually applied during mode decision of macroblocks, sub-macroblocks or coding units, Intra prediction, and motion estimation. The best RDCO decision is the one that minimizes a rate- distortion-complexity cost function, J=D+ iR+ 2C, where D is the estimated distortion between original pixels and reconstructed (or predicted) pixels, R is the estimated rate required for sending the side information, C is the estimated complexity required for encoding or decoding (in terms of clock cycles, memory access, or other complexity measurement), and λι and λ2 are Lagrange multipliers.
An embodiment according to the present invention incorporates RDCO for ALF/SAO design, wherein the best candidate associated with a design feature to be determined according to the RDCO. The design feature may be mode decision or region partition. The mode decision among ALF different modes can be dependent on the slice type such as I/B/P-slices or the percentage of Inter/Intra coding units (CUs). Another embodiment according to the present invention incorporates RDCO for ALF filter selection. When the RDCO is used for ALF filter selection, the complexity of the RDCO can be associated with the number of filter coefficients. Alternatively, the RDCO can be used for ALF filter selection, where the complexity C of the RDCO can be associated with (A) the number of filter coefficients and (B) the number of pixels to be filtered, such as C = A*B. In yet another embodiment according to the present invention, the RDCO can be used for ALF filter selection, where the complexity C of the RDCO can be associated with (A) the number of filter coefficients, (B) the number of pixels to be filtered, and the number of required operations in one mode (TableOfNumOperations[Mode]), such as C=A*B* TableOfNumOperations [Mode].
In U.S. Patent Application, Serial No.13/158,427, filed on June 12, 2011, entitled "Apparatus and Method of Sample Adaptive Offset for Video Coding", a sample adaptive offset (SAO) scheme is disclosed where each pixel is classified using multiple pixel classification types and each classification type may classify the pixel into multiple categories. According to the pixel classification type and the category of the pixel, an offset value is determined to compensate the offset. The SAO scheme utilizes either the band offset (BO) context or the edge offset (EO) context to classify pixels into categories. The complexity associated with the multiple pixel classification types may be different. Therefore, RDCO technique may be used for SAO decision to select a pixel classification type to achieve the best RDCO performance. Another aspect of the invention disclosed in U.S. Patent Application, Serial No.13/158,427 addresses the region partition. The RDCO technique can also be used for SAO decision to determine region partition. The cost for RDCO can be associated with the number of pixels to be processed and the number of required operations (TableOfNumOperations [Mode]) for the mode (i.e., the pixel classification type being considered).
The adaptive loop filter scheme described above can be used in a video encoder as well as in a video decoder. In both the video encoder and the video decoder, the reconstructed video data is subject to coding artifacts. The adaptive loop filter scheme described above can help to improve visual quality of the reconstructed video. Embodiments of an encoding system with region based ALF according to the present invention as described above may be implemented in various hardware, software codes, or a combination of both. For example, an embodiment of the present invention can be a circuit integrated into a video compression chip or program codes integrated into video compression software to perform the processing described herein. An embodiment of the present invention may also be program codes to be executed on a Digital Signal Processor (DSP) to perform the processing described herein. The invention may also involve a number of functions to be performed by a computer processor, a digital signal processor, a microprocessor, or field programmable gate array (FPGA). These processors can be configured to perform particular tasks according to the invention, by executing machine-readable software code or firmware code that defines the particular methods embodied by the invention. The software code or firmware codes may be developed in different programming languages and different format or style. The software code may also be compiled for different target platform. However, different code formats, styles and languages of software codes and other means of configuring code to perform the tasks in accordance with the invention will not depart from the spirit and scope of the invention.
The invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described examples are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.

Claims

1. A method for processing of coded video using adaptive loop filter (ALF), the method comprising:
receiving reconstructed video data corresponding to coded video data from a processing unit; applying adaptive loop filtering to the reconstructed video data to generate filtered video data, wherein said applying adaptive loop filtering selects region based ALF or non-region based ALF according to a region adaptation flag; and
providing the filtered video data.
2. The method of Claim 1, wherein the reconstructed video data is divided into MxN regions if the region based ALF is selected, where M and N are integers.
3. The method of Claim 2, wherein each of the MxN regions is assigned a group index according to a scanning pattern, wherein 1-D merge syntax is used to indicate that a first region with a first group index i is merged with a second region with a second group index (z'-l).
4. The method of Claim 3, wherein the scanning pattern is selected from a group consisting of deformation of Hilbert curve, horizontal snake scan, vertical snake scan, zig-zag scan, spiral scan, quad-tree scan, and raster scan.
5. The method of Claim 2, wherein 2-D merge syntax is used to allow a first region of the MxN regions to be merged with one or more neighboring regions of the first region, wherein the one or more neighboring regions belong to the MxN regions.
6. The method of Claim 5, wherein the 2-D merge syntax comprises a first flag to indicate whether the first region is merged with the one or more neighboring regions, and wherein the 2-D merge syntax further comprises a merge candidate flag if the first region is merged with the one or more neighboring regions as indicated by the first flag.
7. The method of Claim 6, wherein representation of the merge candidate flag is adapted to availability of the one or more neighboring regions.
8. The method of Claim 2, wherein a merge flag is used to indicate whether region merging is allowed or not.
9. The method of Claim 2, wherein each region boundary between any two regions of the MxN regions is a boundary of a largest coding unit (LCU) or boundaries of LCUs.
10. A method for adaptive loop filter (ALF) design or sample adaptive offset (SAO) design, the method comprising:
determining candidates associated with a design feature for adaptive loop filter (ALF) design or sample adaptive offset (SAO) design; and selecting a best candidate among the candidates according to rate-distortion-complexity optimization (RDCO).
11. The method of Claim 10, wherein the design feature is associated with mode decision.
12. The method of Claim 11, the mode decision is dependent on slice type or percentage of Intra/Inter coding units for the ALF design.
13. The method of Claim 10, wherein the design feature is associated with filter coefficients of different filters for the ALF design.
14. The method of Claim 10, wherein the design feature is associated with region partition.
15. The method of Claim 10, wherein complexity of the RDCO is related to a number of filter coefficients for the ALF design.
16. The method of Claim 10, wherein complexity of the RDCO is related to a first number of filter coefficients and a second number of pixels to be filtered for the ALF design.
17. The method of Claim 10, wherein complexity of the RDCO is related to a first number of filter coefficients, a second number of pixels to be filtered and a third number of operations associated with a candidate mode for mode decision for the ALF design.
18. The method of Claim 10, wherein complexity of the RDCO is related to a number of operations associated with a pixel classification type for the AO design.
19. The method of Claim 10, wherein complexity of the RDCO is related to a first number of operations associated with a pixel classification type and a second number of pixels to be compensated with an offset value for the AO design.
20. An apparatus for processing coded video using adaptive loop filter (ALF), the apparatus comprising:
means for receiving reconstructed video data corresponding to coded video data from a processing unit;
means for applying adaptive loop filtering to the reconstructed video data to generate filtered video data, wherein said applying adaptive loop filtering selects region based ALF or non-region based ALF according to a region adaptation flag; and
means for providing the filtered video data.
21. The apparatus of Claim 20, wherein the reconstructed video data is divided into MxN regions if the region based ALF is selected, where M and N are integers.
22. The apparatus of Claim 21, wherein each of the MxN regions is assigned a group index according to a scanning pattern, wherein 1-D merge syntax is used to indicate a first region with a first group index i is merged with a second region with a second group index (z'-l).
23. The apparatus of Claim 21, wherein 2-D merge syntax is used to allow a first region of the MxN regions to be merged with one or more neighboring regions of the first region, wherein the one or more neighboring regions belong to the MxN regions.
24. The apparatus of Claim 21, wherein a merge flag is used to indicate whether region merging is allowed or not.
25. The apparatus of Claim 21, wherein each region boundary between any two regions of the MxN regions is a boundary of a largest coding unit (LCU) or boundaries of LCUs.
26. An apparatus for adaptive loop filter (ALF) design or sample adaptive offset (SAO) design, the apparatus comprising:
means for determining candidates associated with a design feature for adaptive loop filter (ALF) design or sample adaptive offset (SAO) design; and
means for selecting a best candidate among the candidates according to rate-distortion- complexity optimization (RDCO).
27. The apparatus of Claim 26, wherein the design feature is associated with mode decision.
28. The apparatus of Claim 27, the mode decision is dependent on slice type or percentage of Intra/Inter coding units for the ALF design.
29. The apparatus of Claim 26, wherein the design feature is associated with region partition.
30. The apparatus of Claim 26, wherein the design feature is associated with filter coefficients of different filters for the ALF design.
PCT/CN2011/080408 2010-10-05 2011-09-30 Method and apparatus of region-based adaptive loop filtering WO2012045269A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020137001815A KR101526349B1 (en) 2010-10-05 2011-09-30 Method and apparatus of region-based adaptive loop filtering
CA2805722A CA2805722C (en) 2010-10-05 2011-09-30 Method and apparatus of region-based adaptive loop filtering
CN201180048246.0A CN103155557B (en) 2010-10-05 2011-09-30 Adaptive loop filter method and apparatus based on subregion basis
EP11830225.6A EP2625859A4 (en) 2010-10-05 2011-09-30 Method and apparatus of region-based adaptive loop filtering

Applications Claiming Priority (14)

Application Number Priority Date Filing Date Title
US39006810P 2010-10-05 2010-10-05
US61/390,068 2010-10-05
US42172910P 2010-12-10 2010-12-10
US61/421,729 2010-12-10
US201161429313P 2011-01-03 2011-01-03
US61/429,313 2011-01-03
US201161454829P 2011-03-21 2011-03-21
US61/454,829 2011-03-21
US13/093,068 2011-04-25
US13/093,068 US9094658B2 (en) 2010-05-10 2011-04-25 Method and apparatus of adaptive loop filtering
US13/158,427 US9055305B2 (en) 2011-01-09 2011-06-12 Apparatus and method of sample adaptive offset for video coding
US13/158,427 2011-06-12
US13/177,343 2011-07-06
US13/177,343 US8861617B2 (en) 2010-10-05 2011-07-06 Method and apparatus of region-based adaptive loop filtering

Publications (1)

Publication Number Publication Date
WO2012045269A1 true WO2012045269A1 (en) 2012-04-12

Family

ID=45927217

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/080408 WO2012045269A1 (en) 2010-10-05 2011-09-30 Method and apparatus of region-based adaptive loop filtering

Country Status (5)

Country Link
EP (1) EP2625859A4 (en)
KR (1) KR101526349B1 (en)
CN (3) CN103155557B (en)
CA (1) CA2805722C (en)
WO (1) WO2012045269A1 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2499983A (en) * 2011-11-07 2013-09-11 Canon Kk Providing compensation offsets for a set of reconstructed samples of an image
WO2013177975A1 (en) * 2012-05-29 2013-12-05 Mediatek Inc. Method and apparatus for coding of sample adaptive offset information
EP2697973A1 (en) * 2012-04-16 2014-02-19 MediaTek Inc. Method and apparatus for loop filtering across slice or tile boundaries
CN104380748A (en) * 2012-06-14 2015-02-25 高通股份有限公司 Grouping of bypass-coded bins for SAO syntax elements
CN104471938A (en) * 2012-06-11 2015-03-25 三星电子株式会社 Method and apparatus for encoding videos sharing sao parameter according to color component
US10021427B2 (en) 2013-06-21 2018-07-10 Huawei Technologies Co., Ltd. Image processing method and apparatus
CN108718412A (en) * 2012-04-13 2018-10-30 三菱电机株式会社 Picture coding device, picture decoding apparatus and its method
CN109151473A (en) * 2012-05-25 2019-01-04 威勒斯媒体国际有限公司 Image encoding method, picture coding device, picture decoding method, picture decoding apparatus and image encoding/decoding device
US11146788B2 (en) 2015-06-12 2021-10-12 Qualcomm Incorporated Grouping palette bypass bins for video coding
WO2021247241A1 (en) 2020-06-03 2021-12-09 Tencent America LLC Region adaptive loop filter for video coding

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10659817B2 (en) 2013-07-15 2020-05-19 Hfi Innovation Inc. Method of sample adaptive offset processing for video coding
CN104486630B (en) * 2014-12-16 2017-10-20 北京金山云网络技术有限公司 H.265 in Video coding under SAO patterns offset statistical method
CN104602026B (en) * 2015-01-22 2017-12-01 复旦大学 A kind of reconstruction loop structure being multiplexed entirely encoder under HEVC standard
US9872026B2 (en) * 2015-06-12 2018-01-16 Intel Corporation Sample adaptive offset coding
KR20180019549A (en) * 2015-06-18 2018-02-26 엘지전자 주식회사 Image filtering method and apparatus in video coding system
CN105357538B (en) * 2015-11-26 2020-01-03 广东中星微电子有限公司 Adaptive loop filtering method and apparatus
CN113994671B (en) 2019-06-14 2024-05-10 北京字节跳动网络技术有限公司 Processing video cell boundaries and virtual boundaries based on color formats
CN114097225B (en) 2019-07-09 2024-04-19 北京字节跳动网络技术有限公司 Sample determination for adaptive loop filtering
JP7291845B2 (en) 2019-07-11 2023-06-15 北京字節跳動網絡技術有限公司 Sample padding in adaptive loop filtering
EP3984219A4 (en) 2019-07-15 2022-08-17 Beijing Bytedance Network Technology Co., Ltd. Classification in adaptive loop filtering
EP4018652A4 (en) 2019-09-22 2022-11-02 Beijing Bytedance Network Technology Co., Ltd. Padding process in adaptive loop filtering
EP4022910A4 (en) * 2019-09-27 2022-11-16 Beijing Bytedance Network Technology Co., Ltd. Adaptive loop filtering between different video units
JP7454042B2 (en) 2019-10-10 2024-03-21 北京字節跳動網絡技術有限公司 Padding process at unavailable sample positions in adaptive loop filtering
CN110809158B (en) * 2019-11-12 2021-06-01 腾讯科技(深圳)有限公司 Image loop filtering processing method and device
CN111314711B (en) * 2020-03-31 2021-05-14 电子科技大学 Loop filtering method based on self-adaptive self-guided filtering
CN114615494A (en) * 2020-12-04 2022-06-10 咪咕文化科技有限公司 Image processing method, device and equipment
WO2022191525A1 (en) * 2021-03-08 2022-09-15 현대자동차주식회사 Video coding method and apparatus using spiral scan order
CN114368150B (en) * 2021-12-22 2022-11-11 鑫精合激光科技发展(北京)有限公司 Three-dimensional printing method and computer storage medium
WO2023225854A1 (en) * 2022-05-24 2023-11-30 Oppo广东移动通信有限公司 Loop filtering method and device, and video coding/decoding method, device and system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010030744A2 (en) * 2008-09-11 2010-03-18 On2 Technologies, Inc. System and method for video encoding using adaptive loop filter
WO2010034206A1 (en) * 2008-09-25 2010-04-01 Mediatek Inc. Adaptive filter
CN101742292A (en) * 2008-11-14 2010-06-16 北京中星微电子有限公司 Image content information-based loop filtering method and filter

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2899977A1 (en) * 2002-01-31 2015-07-29 Samsung Electronics Co., Ltd Filtering method and apparatus for reducing block artifacts or ringing noise
KR101406156B1 (en) * 2006-02-02 2014-06-13 톰슨 라이센싱 Method and apparatus for adaptive weight selection for motion compensated prediction
BRPI0717936B1 (en) * 2006-11-08 2020-09-29 Interdigital Vc Holdings, Inc. METHOD AND APPLIANCES FOR FILTERING REMOVAL OF TIE ARTIFACTS
CN101321277A (en) * 2007-06-09 2008-12-10 华为技术有限公司 Method and apparatus for removing block effect
US9967590B2 (en) * 2008-04-10 2018-05-08 Qualcomm Incorporated Rate-distortion defined interpolation for video coding based on fixed filter or adaptive filter
US9924184B2 (en) * 2008-06-30 2018-03-20 Microsoft Technology Licensing, Llc Error detection, protection and recovery for video decoding
CN101635849B (en) * 2008-07-24 2011-11-16 青岛海信信芯科技有限公司 Loop filtering method and loop filter
CN201345710Y (en) * 2008-12-31 2009-11-11 暨南大学 Loop filter applicable to video decoding
CN101651829A (en) * 2009-06-29 2010-02-17 北京中星微电子有限公司 Loop wave filtering method and device and mobile multi-medium terminal chip
JP5359657B2 (en) * 2009-07-31 2013-12-04 ソニー株式会社 Image encoding apparatus and method, recording medium, and program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010030744A2 (en) * 2008-09-11 2010-03-18 On2 Technologies, Inc. System and method for video encoding using adaptive loop filter
WO2010034206A1 (en) * 2008-09-25 2010-04-01 Mediatek Inc. Adaptive filter
CN101742292A (en) * 2008-11-14 2010-06-16 北京中星微电子有限公司 Image content information-based loop filtering method and filter

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2625859A4 *

Cited By (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2499983A (en) * 2011-11-07 2013-09-11 Canon Kk Providing compensation offsets for a set of reconstructed samples of an image
US9118931B2 (en) 2011-11-07 2015-08-25 Canon Kabushiki Kaisha Method and device for optimizing encoding/decoding of compensation offsets for a set of reconstructed samples of an image
US9106931B2 (en) 2011-11-07 2015-08-11 Canon Kabushiki Kaisha Method and device for providing compensation offsets for a set of reconstructed samples of an image
US10085042B2 (en) 2011-11-07 2018-09-25 Canon Kabushiki Kaisha Method, device and program for encoding and decoding a sequence of images using area-by-area loop filtering
CN108737835B (en) * 2012-04-13 2020-12-15 三菱电机株式会社 Image encoding device, image decoding device, and methods thereof
CN108718412B (en) * 2012-04-13 2020-10-16 三菱电机株式会社 Image encoding device, image decoding device, and methods thereof
CN108737834B (en) * 2012-04-13 2020-12-15 三菱电机株式会社 Image encoding device, image decoding device, and methods thereof
CN108737834A (en) * 2012-04-13 2018-11-02 三菱电机株式会社 Picture coding device, picture decoding apparatus and its method
CN108737835A (en) * 2012-04-13 2018-11-02 三菱电机株式会社 Picture coding device, picture decoding apparatus and its method
CN108718412A (en) * 2012-04-13 2018-10-30 三菱电机株式会社 Picture coding device, picture decoding apparatus and its method
US10511843B2 (en) 2012-04-16 2019-12-17 Hfi Innovation Inc. Method and apparatus for loop filtering across slice or tile boundaries
EP2697973A4 (en) * 2012-04-16 2015-03-11 Mediatek Inc Method and apparatus for loop filtering across slice or tile boundaries
EP2697973A1 (en) * 2012-04-16 2014-02-19 MediaTek Inc. Method and apparatus for loop filtering across slice or tile boundaries
AU2013248857B2 (en) * 2012-04-16 2015-11-05 Hfi Innovation Inc. Method and apparatus for loop filtering across slice or tile boundaries
CN105049845A (en) * 2012-04-16 2015-11-11 联发科技股份有限公司 Method and apparatus for loop filter processing of video data in video decoder
CN109151473A (en) * 2012-05-25 2019-01-04 威勒斯媒体国际有限公司 Image encoding method, picture coding device, picture decoding method, picture decoding apparatus and image encoding/decoding device
KR20140130171A (en) * 2012-05-29 2014-11-07 미디어텍 인크. Method and apparatus for coding of sample adaptive offset information
CN104303506B (en) * 2012-05-29 2017-08-01 寰发股份有限公司 The processing unit and method of the adaptively sampled point skew of video data
US10116967B2 (en) 2012-05-29 2018-10-30 Hfi Innovation Inc. Method and apparatus for coding of sample adaptive offset information
WO2013177975A1 (en) * 2012-05-29 2013-12-05 Mediatek Inc. Method and apparatus for coding of sample adaptive offset information
CN104303506A (en) * 2012-05-29 2015-01-21 联发科技股份有限公司 Method and apparatus for coding of sample adaptive offset information
US9942571B2 (en) 2012-05-29 2018-04-10 Hfi Innovations Inc. Method and apparatus for coding of sample adaptive offset information
US10609375B2 (en) 2012-06-11 2020-03-31 Samsung Electronics Co., Ltd. Sample adaptive offset (SAO) adjustment method and apparatus and SAO adjustment determination method and apparatus
US10075718B2 (en) 2012-06-11 2018-09-11 Samsung Electronics Co., Ltd. Sample adaptive offset (SAO) adjustment method and apparatus and SAO adjustment determination method and apparatus
CN104902272B (en) * 2012-06-11 2017-09-01 三星电子株式会社 Video decoding apparatus
US9826235B2 (en) 2012-06-11 2017-11-21 Samsung Electronics Co., Ltd. Sample adaptive offset (SAO) adjustment method and apparatus and SAO adjustment determination method and apparatus
US9807393B2 (en) 2012-06-11 2017-10-31 Samsung Electronics Co., Ltd. Sample adaptive offset (SAO) adjustment method and apparatus and SAO adjustment determination method and apparatus
CN104471938A (en) * 2012-06-11 2015-03-25 三星电子株式会社 Method and apparatus for encoding videos sharing sao parameter according to color component
CN104471938B (en) * 2012-06-11 2018-08-21 三星电子株式会社 The method and apparatus of SAO parameters encoded to video is shared according to chrominance component
US9807392B2 (en) 2012-06-11 2017-10-31 Samsung Electronics Co., Ltd. Sample adaptive offset (SAO) adjustment method and apparatus and SAO adjustment determination method and apparatus
CN104380748A (en) * 2012-06-14 2015-02-25 高通股份有限公司 Grouping of bypass-coded bins for SAO syntax elements
CN104380748B (en) * 2012-06-14 2018-07-31 高通股份有限公司 Method and apparatus for being coded and decoded to video data
US10021427B2 (en) 2013-06-21 2018-07-10 Huawei Technologies Co., Ltd. Image processing method and apparatus
US11146788B2 (en) 2015-06-12 2021-10-12 Qualcomm Incorporated Grouping palette bypass bins for video coding
EP4011081A4 (en) * 2020-06-03 2022-11-30 Tencent America LLC Region adaptive loop filter for video coding
WO2021247241A1 (en) 2020-06-03 2021-12-09 Tencent America LLC Region adaptive loop filter for video coding

Also Published As

Publication number Publication date
CA2805722C (en) 2016-03-29
CN103155557B (en) 2017-03-01
KR20130030294A (en) 2013-03-26
KR101526349B1 (en) 2015-06-05
CN107087180A (en) 2017-08-22
CN106878729B (en) 2019-09-24
CN106878729A (en) 2017-06-20
CN107087180B (en) 2019-10-29
CN103155557A (en) 2013-06-12
CA2805722A1 (en) 2012-04-12
EP2625859A4 (en) 2016-03-02
EP2625859A1 (en) 2013-08-14

Similar Documents

Publication Publication Date Title
CA2805722C (en) Method and apparatus of region-based adaptive loop filtering
US8861617B2 (en) Method and apparatus of region-based adaptive loop filtering
CN113748680B (en) Method and device for encoding and decoding video data in video encoding and decoding system
US9998737B2 (en) Method and apparatus of adaptive loop filtering
EP2787728B1 (en) Method for inducing a merge candidate block
AU2011313735B2 (en) Method and apparatus of adaptive loop filtering
EP3306920A1 (en) Method and device for encoding and decoding intra-frame prediction
WO2019147813A1 (en) Adaptive loop filtering on deblocking filter results in video coding
CN113228638B (en) Method and apparatus for conditionally encoding or decoding video blocks in block partitioning
CN110771166B (en) Intra-frame prediction device and method, encoding device, decoding device, and storage medium
CN114143548B (en) Coding and decoding of transform coefficients in video coding and decoding
KR20180080115A (en) Intraprediction method and apparatus for performing adaptive filtering on reference pixels
KR20180080114A (en) Intra prediction method considering redundancy of prediction blocks and video decoding apparatus performing intra prediction
US11233991B2 (en) Devices and methods for intra prediction in video coding
WO2024016955A1 (en) Out-of-boundary check in video coding
WO2024012576A1 (en) Adaptive loop filter with virtual boundaries and multiple sample sources
CN116260972A (en) Video encoding method and device and video decoding method and device

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201180048246.0

Country of ref document: CN

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

Ref document number: 11830225

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2805722

Country of ref document: CA

ENP Entry into the national phase

Ref document number: 20137001815

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2011830225

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 12013500635

Country of ref document: PH

NENP Non-entry into the national phase

Ref country code: DE