EP2661887A1 - Apparatus and method of efficient sample adaptive offset - Google Patents
Apparatus and method of efficient sample adaptive offsetInfo
- Publication number
- EP2661887A1 EP2661887A1 EP11855222.3A EP11855222A EP2661887A1 EP 2661887 A1 EP2661887 A1 EP 2661887A1 EP 11855222 A EP11855222 A EP 11855222A EP 2661887 A1 EP2661887 A1 EP 2661887A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- distortion
- current pixel
- video data
- sao
- processed video
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/182—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods 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/19—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
Definitions
- the present invention relates to video processing.
- the present invention relates to apparatus and method of efficient sample adaptive offset compensation.
- the video data are subject to various processing such as prediction, transform, quantization, deblocking, and adaptive loop filtering.
- certain characteristics of the processed video data may be altered from the original video data due to the operations applied to the video data.
- the mean value of the processed video may be shifted. Intensity shift may cause visual impairment or artifacts, which is especially more noticeable when the intensity shift varies from picture to picture. Therefore, the pixel intensity shift has to be carefully compensated or restored to alleviate the artifacts.
- Some intensity offset schemes have been used in the field.
- An intensity offset scheme proposed for High-Efficiency Video Coding classifies each pixel in the processed video data into one of multiple categories according to a context selected.
- the context may be the pixel intensity of the processed video data.
- the context may be a combination of a current pixel and its surrounding pixels.
- the processed video data may represent the reconstructed video, the deblocked video, the adaptive loop filtered video, or other video in an intermediate stage.
- a characteristic measurement is derived according to the selected context and a category is determined according to the measured characteristic.
- intensity shift between the original pixels and the processed pixels is determined.
- the intensity shift is also called the "offset value" in this disclosure.
- the offset value is applied to the processed pixels belonging to the category to compensate the intensity shift.
- the process of intensity shift compensation or restoration for processed video data based on the category of each pixel is termed "sample adaptive offset (SAO)" in this disclosure.
- the conventional SAO scheme often determines the category for the pixels on a picture by picture or slice by slice basis.
- picture contents often are dynamic and the characteristic may vary from region to region within a picture.
- a sample adaptive offset scheme is disclosed in US Non-Provisional Patent Application, Serial No. 13/158,427, entitled “Apparatus and Method of Sample Adaptive Offset for Video Coding", filed on June 12, 2011, where a group of SAO types are used to classify pixels in a region and each SAO type classifies the pixels into multiple categories.
- Some SAO types are associated with edge offset based classification, where the classification of a current pixel involves neighboring pixels.
- the SAO process is preferred to be done on a region by region basis to adapt to the local characteristics of the picture.
- Rate-distortion optimization (RDO) is often used to guide the mode decision (i.e., region splitting/region merging decision). Computations associated with the RDO process usually is very computational intensive. It is desirable to use a fast algorithm to speed up RDO process.
- the method according to the present invention comprises receiving the processed video data, identifying SAO modes, estimating distortion associated with each of the modes according to distortion reduction estimation, determining rate-distortion (RD) cost based on the distortion for said each of the modes; selecting a best mode among the modes, wherein the best mode has a smallest RD cost, and applying SAO to the processed video data according to the best mode selected.
- the distortion reduction estimation is related to a number of pixels for said each of the modes (iCo nt), an offset value to be added to the pixels belonging to said each of the modes(iOffset), and a sum of the offset value between original signal and reconstructed signal (iOffsetOrg) associated with the processed video data.
- the distortion reduction estimation is related to (iCount*iOffset*iOffset)-(iOffsetOrg*iOffset*Z).
- Another aspect of the present invention addresses fast algorithm for SAO region splitting or region merging, where the distortion reduction estimation for a small regions is re-used for calculating the distortion reduction estimation for a respective large region.
- An apparatus and method of sample adaptive offset (SAO) compensation of processed video data comprises receiving the processed video data, determining a category for a current pixel of the processed video data according to edge offset (EO) based classification, wherein the EO based classification is related to the current pixel and one or more neighboring pixels, compensating the current pixel using an offset value associated with the category to generated a compensated current pixel, storing relation between the current pixel and said one or more neighboring pixels, and replacing the current pixel with the compensated current pixel within a substantially small number of pixel periods after determining the category for the current pixel.
- EO edge offset
- At least a portion of the relation between the current pixel and said one or more neighboring pixels is used for determining a category of another pixel.
- the relation between the current pixel and said one or more neighboring pixels can be based on a sign function, and a look-up table is used for determining the category for the current pixel.
- FIG. 1 illustrates a system block diagram of an exemplary video encoder having a reconstruction loop including deblocking filter and adaptive loop filter.
- FIG. 2 illustrates a system block diagram of an exemplary video decoder including deblocking filter and adaptive loop filter.
- Fig. 3 illustrates an example of adaptive offset based on pixel category, where the category is determined according to pixel C and its neighboring pixels nl-n4.
- Fig. 4 illustrates an exemplary system block diagram of a video encoder where sample adaptive offset is applied to video data after deblocking filter.
- Fig. 5 illustrates an exemplary system block diagram of a video encoder where sample adaptive offset is applied to video data after reconstruction.
- Fig. 6 illustrates an example of two SAO types based on band offset (BO), where the first type consists of central bands and the second type consists of side bands.
- BO band offset
- Figs.7A-7D illustrate four linear configurations of a current pixel and its neighboring pixels for pixel category determination.
- Fig. 8 illustrates a system block diagram of a video encoder wherein sample adaptive offset is applied to video data after inverse transform.
- Fig. 9 illustrates an exemplary system block diagram of a video encoder where sample adaptive offset is applied to the prediction signal.
- Fig. 10 illustrates an exemplary system block diagram of a video encoder where sample adaptive offset is applied to the de-quantized signal.
- Fig. 11 illustrates an example of recursive region partition, wherein a SAO type is selected for each region.
- Fig. 12 illustrates an example of recursive region partition by dividing a region into four sub-regions having roughly the same number of LCUs horizontally and vertically.
- Fig. 13 illustrates an example of re-use of partial results from a previous pixel for edge offset (EO) based classification.
- EO edge offset
- Fig. 14 illustrates an example of region splitting and region merging for sample adaptive offset.
- the video data are subject to various processing such as prediction, transform, quantization, deblocking, and adaptive loop filtering.
- certain characteristics of the processed video data may be altered from the original video data due to the operations applied to video data.
- the mean value of the processed video may be shifted. Intensity shift may cause visual impairment or artifacts, which is especially more noticeable when the intensity shift varies from picture to picture. Therefore, the pixel intensity shift has to be carefully compensated or restored to alleviate the artifacts.
- the changes in characteristics of processed video data may be intrinsically related to the operations applied.
- pixel values corresponding to a sharp edge will have reduced slope.
- the pixel value on one side of the edge may be increased and the pixel value on the other side may be decreased.
- video quality may be improved.
- An adaptive offset scheme proposed to the original High-Efficiency Video Coding (HEVC) classifies each pixel in the processed video data into one of multiple categories according to a context selected.
- the context may be the pixel intensity of the processed video data.
- the context may be a combination of a current pixel and its surrounding pixels.
- the processed video data may represent the reconstructed video, the deblocked video, the adaptive loop filtered video, or other video in an intermediate stage.
- a characteristic measurement is derived according to the selected context and a category is determined according to the measured characteristic. For each category, intensity shift between the original pixels and the processed pixels is determined. The intensity shift is also called the "offset value" in this disclosure. Accordingly, the offset value is applied to the processed pixels belonging to the category to compensate the intensity shift.
- the process of intensity shift compensation or restoration for processed video data based on the category of each pixel is termed "sample adaptive offset (SAO)" in this disclosure.
- the conventional SAO scheme often determines the category for the pixels on a picture by picture or slice by slice basis.
- picture contents often are dynamic and the characteristic may vary from region to region within a frame. Therefore, it is desirable to develop a sample adaptive offset scheme that can take into consideration of the dynamic characteristics within a picture using a region partition scheme to adaptively partition the processed video data into regions having different sizes.
- the conventional SAO scheme always uses a fixed context to determine a category for the pixel of processed video data. For example, the SAO may only use a fixed 16-band band offset (BO) for sample adaptive offset. In another example, the SAO may only use pixels within a 3x3 window as the context to determine the category for the pixel of processed video data.
- BO 16-band band offset
- the SAO may only use pixels within a 3x3 window as the context to determine the category for the pixel of processed video data.
- sample adaptive offset scheme can adaptively select a SAO type from a group of SAO types to tailor the SAO process to the characteristics of processed video data and to achieve better quality. Accordingly, a sample adaptive offset scheme is disclosed herein that can exploit the dynamic characteristics of processed video data.
- Intra-prediction 110 is responsible to provide prediction data based on video data in the same picture.
- motion estimation (ME) and motion compensation (MC) 112 is used to provide prediction data based on video data from other picture or pictures.
- Switch 114 selects intra-prediction or inter-prediction data and the selected prediction data are supplied to adder 116 to form prediction errors, also called residues.
- the prediction error is then processed by transformation (T) 118 followed by quantization (Q) 120.
- the transformed and quantized residues are then coded by entropy coding 122 to form a bitstream corresponding to the compressed video data.
- the bitstream associated with the transform coefficients is then packed with side information such as motion, mode, and other information associated with the image area.
- the side information may also be subject to entropy coding to reduce required bandwidth. Accordingly the data associated with the side information are provided to entropy coding 122 as shown in Fig. 1.
- entropy coding 122 As shown in Fig. 1.
- a reference picture or reference pictures have to be reconstructed at the encoder end. Consequently, the transformed and quantized residues are processed by inverse quantization (IQ) 124 and inverse transformation (IT) 126 to recover the residues.
- the residues are then added back to prediction data 136 at reconstruction (REC) 128 to reconstruct video data.
- the reconstructed video data may be stored in reference picture buffer 134 and used for prediction of other pictures.
- deblocking filter 130 and adaptive loop filter 132 are applied to the reconstructed video data in order to improve video quality.
- the adaptive loop filter information may have to be transmitted in the bitstream so that a decoder can properly recover the required information in order to apply the adaptive loop filter. Therefore, adaptive loop filter information from ALF 132 is provided to entropy coding 122 for incorporation into the bitstream.
- incoming video data undergo a series of processing in the encoding system.
- the reconstructed video data from REC 128 may be subject to intensity shift due to the series of processing.
- the reconstructed video data are further processed by deblocking 130 and adaptive loop filter 132, which may cause further intensity shift. Accordingly, it is desired to incorporate sample adaptive offset to restore or compensate the intensity shift.
- Fig. 2 illustrates a system block diagram of an exemplary video decoder including deblocking filter and adaptive loop filter. Since the encoder also contains a local decoder for reconstructing the video data, some decoder components are already used in the encoder except for the entropy decoder 222. Furthermore, only motion compensation 212 is required for the decoder side.
- the switch 214 selects intra-prediction or inter-prediction and the selected prediction data are supplied to reconstruction (REC) 128 to be combined with recovered residues.
- entropy decoding 222 is also responsible for entropy decoding of side information and provides the side information to respective blocks.
- intra mode information is provided to intra- prediction 110
- inter mode information is provided to motion compensation 212
- adaptive loop filter information is provided to ALF 132
- residues are provided to inverse quantization 124.
- the residues are processed by IQ 124, IT 126 and subsequent reconstruction process to reconstruct the video data.
- reconstructed video data from REC 128 undergo a series of processing including IQ 124 and IT 126 as shown in Fig. 2 and are subject to intensity shift.
- the reconstructed video data are further processed by deblocking filter 130 and adaptive loop filter 132, which may cause further intensity shift. Accordingly, it is desired to incorporate sample adaptive offset to compensate the intensity shift.
- McCann et al. disclosed a content adaptive extreme correction and band correction in "Samsung's Response to the Call for Proposals on Video Compression Technology", Document: JCTVC-A124, 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.
- JCTVC-A124 Joint Collaborative Team on Video Coding
- JCT-VC Joint Collaborative Team on Video Coding
- the use of content information based on neighboring pixels can explore local edge characteristics and may result in improved performance in terms of better visual quality or bit rate reduction.
- McCann et al. disclosed a neighboring pixel configuration as shown in Fig.
- the pixel C is a local minimum, also called a valley.
- the pixel C is a local maximum, also called a peak.
- the pixel C is at an object edge.
- the processed video data can be the reconstructed video data from REC 128, the deblocked data from DF 130 or the adaptive loop filtered data from ALF 132. McCann et al. classify the edge characteristics into "categories", which are also termed as "classes”. While Fig. 1 and Fig.
- FIG. 2 illustrate exemplary systems that sample adaptive offset for video coding can be applied
- other systems may also embody the present invention to overcome the intensity shift issue.
- video data processed by demosaicing, white balancing, and/or edge enhancement may also be subject to intensity shift.
- McCann et al. apply a first intensity offset to restore processed data between DF 130 and ALF 132 according to edge characteristic of underlying pixel.
- the adaptive offset based on the edge characteristic of underlying pixel is termed as Extreme Correction (EXC) by McCann et al.
- EXC Extreme Correction
- the above extreme correction is applied to reconstructed video data.
- the reconstructed mean intensity value Vr(c) corresponding to class c and the original mean intensity value Vo(c) corresponding to class c are determined for a video picture.
- the offset Vd(c) corresponding to class c can be determined according to:
- Vd(c) Vo(c) - Vr(c).
- Vr'(c) Vr(c) + Vd(c), where Vr'(c) is the offset corrected video data.
- Vr'(c) the offset corrected video data.
- the Adaptive Offset 410 based on EXC according to McCaan et ah is applied to video data between DF 130 and ALF 132, as shown in Fig. 4.
- McCann et al. disclosed another adaptive offset correction according to the band that an underlying pixel belongs to. This method is also termed as band correction (BDC).
- BDC band correction
- the main motivation of band-based classification is to equalize two different Probability Density Functions (PDFs) of underlying data corresponding to the reconstructed video data and the original video data.
- PDFs Probability Density Functions
- McCann et al. disclosed a band-based classification by using the p most significant bits of the pixels, which is equivalent to dividing the intensity into 2 ⁇ classes having uniform intervals.
- the mean difference is computed and transmitted to the decoder and the offset can be corrected individually for each band.
- the reconstructed mean intensity value Vr(c) corresponding to band c or class c and the original mean intensity value Vo(c) corresponding to band c or class c are determined for a video picture.
- the same mathematical symbols Vr(c) and Vo(c) for EXC have been used for convenience.
- Vr'(c) Vr(c) + Vd(c), where Vr'(c) is the offset corrected video data.
- McCann et al. apply band correction to processed video data between ALF 132 and reference picture buffer 134 (not shown). While McCann et al. apply AO either between DF 130 and ALF 132, or between ALF 132 and Reference Picture Buffer 134, AO 510 may also be applied between REC 128 and DF 130 as shown in Fig. 5.
- the 32 uniform bands are divided into two groups as shown in Fig. 6.
- the 16 bands in the center are assigned to group 1 and the 16 bands on both sides are assigned to group 2. Accordingly, one set of offsets is sent for the center 16 bands (group 1), and one set of offsets is sent for the outer 16 bands (group 2).
- Each pixel configuration arranged as a short line is responsive to intensity transition along the line. For example, a horizontal edge will cause a more noticeable intensity transition in the vertical line than lines having other orientations. Similarly, a vertical edge will cause more noticeable intensity transition in the horizontal line than lines having other orientation.
- the selection of pixel configuration can be determined on a region by region basis and a flag is required for each region. Based on the pixel configuration, an underlying pixel is classified into 6 classes corresponding to edges, peak, valley and none of the above as shown in Table 2:
- an embodiment according to the present invention utilizes multiple SAO types.
- the multiple SAO types may include both the BO context and EO context.
- Each SAO type has an associated number of categories. For example, 16 categories (i.e., 16 bands) are associated with group 1 BO and group 2 BO in the above example. 6 categories are associated with each of the four EO configurations or contexts.
- the number of categories mentioned in the above example is intended for illustration purpose and shall not be construed as limitation to the present invention.
- the total number of SAO types according to the present invention can be pre-defined or user defined.
- the number of categories for each SAO type can be pre-defined, user defined, or image size dependent.
- a syntax element sao_type_idx may be used to identify the SAO type selected.
- Table 3 illustrates an example of multiple SAO types including both the BO context and the EO context.
- sample adaptive offset may also be applied to the video signal before reconstruction.
- sample adaptive offset 810 may be applied to inverse transformed residual signal before reconstruction ( EC) 128 as shown in Fig. 8.
- the recovered residual signal at the output of inverse transform (IT) 126 has been processed by transform 118, quantization 120, de-quantization 124 and inverse transform 126. Therefore, the residual signal may be subject to intensity shift and adaptive offset will be useful to restore the intensity shift.
- Side information associated with adaptive offset may be entropy coded and incorporated into the bitstream.
- sample adaptive offset is applied to the intra/inter predictor before the predictor is subtracted from the original video signal as shown in Fig. 9.
- sample adaptive offset 1010 may be applied to video signal between de-quantization 124 and inverse transformation 126as shown in Fig. 10.
- the AO is always based on a whole picture or a group of pictures.
- a region corresponding to a smaller picture area may be more advantageous for adaptive processing because the category associated with a smaller picture area may closely characterize the underlying video data in the region.
- a multilevel region partition is used in the present invention.
- Each region can be recursively divided into four sub-regions using a quadtree.
- Information related to the region partition can be conveyed using syntax.
- the region boundaries can be aligned with the coding unit (CU) or with the largest coding unit (LCU).
- Each region can select one of the sample adaptive offset (SAO) types such as 2 types of band offset (BO), 4 types of edge offset (EO) and no processing (OFF) as shown in the above table.
- Fig. 11 illustrates an example of picture partitioned into regions and each region is processed by SAO using BO, EO or OFF type.
- SAO sample adaptive offset
- BO band offset
- EO edge offset
- OFF no processing
- Region partition for SAO can be block based.
- the number of depths in quadtree partition is depending on the block size. If either the region width or region height is smaller than the block size, the splitting process for the current region will be terminated.
- the maximum quadtree depth can be user-defined depth, pre-defined depth, or image size.
- the block size can be smaller than, equal to, or larger than the LCU size.
- An example of LCU aligned region partitioning is shown in Fig. 12. The region is measured by LCU size. WidthlnLCU is the number of LCUs for the width of the current region and HeightlnLCU is the number of LCUs for the height of the current region.
- the partition in the horizontal direction divides WidthlnLCU into two sub-regions having widths Floor(WidthInLCU/2) and WidthlnLCU -Floor(WidthInLCU 12), where Floor(x) is the floor function.
- the partition in the vertical direction divides HeightlnLCU into two sub-regions having widths
- the 1-D edge offset (EO) classification is more computational efficient than the 2-D EO classification. Nevertheless, the 1-D EO classification algorithm as described in Table 2 still requires quite some operations. It is desirable to further improve the computational efficiency. Accordingly, one aspect of the present invention discloses a fast algorithm for EO based classification.
- the fast algorithm compares the current pixel with two neighboring pixels. The results of comparison are provided to a look-up table to determine the category. The comparison can be implemented as a signQ function. For example, the current pixel C and two neighboring pixels B and D for a 0-degree EO 1310 is shown in Fig. 13.
- the sign operation is performed for (C-B) and (C-D), i.e., sign(C- ) and sign (C-D) are performed, where
- a look-up table i.e., edgejable
- Category edge_table[2 + sign(C-B) + sign(C-D)] .
- the pixel classification is exactly the same as Table 2.
- the comparison of C and D is computed for pixel C.
- the comparison of D and C will be computed for pixel D for the 1-D EO 1320 as shown in Fig. 13.
- signQ function is used as a means for determining the relation between a current pixel and its neighboring pixels, other measurement may be used as well.
- the 0-degree 1-D EO is shown as an example, the same fast algorithm can be applied to 45 -degree, 90-degree, and 135-degree EO.
- Rate-distortion optimization is a widely known technique used in video encoding to obtain good coding efficiency.
- RDO can be applied to SAO decision such as region splitting and region merging.
- Fig. 14 illustrates an example of region splitting and region merging for SAO.
- a picture or a picture area such as a region, may be successfully split from a largest picture area (top-down splitting) or small picture regions may be successfully merged into larger regions using the RDO technique (bottom-up merging).
- JO through J20 are the R-D costs associated with respective regions.
- the cost associated each region is compared with the costs of corresponding split regions.
- cost J3 is compared with cost (J13+J14+J17+J18).
- the region associated with J3 is split if J3 > ( J 13 + J 14+ J 17+ J 18); otherwise the region is not split.
- the region associated with JO is split if JO > (J1+J2+J3+J3); otherwise the region is not split.
- the process for region merging can be done similarly by comparing the costs associated with individual regions and a merged region.
- the RDO process is quite computational intensive. It is desirable to develop a means for speeding up RDO process. For example, in region splitting and region merging, the statistics (i.e., rate and/or distortion) associated with a larger region can be derived from the corresponding smaller regions. Furthermore, in SAO, there are multiple regions in one picture, and there are multiple SAO types to be tested for each region. Given one region with one SAO type, an encoder usually has to derive the offsets, add the offsets to pixels, and then compute distortion. Therefore, the mode decision process of SAO needs to access the picture buffer many times. This multi-pass encoding algorithm may require a lot of external memory access leading to high power consumption and long latency.
- the distortion for SAO can be estimated as follows: s(k) is the original signal,
- x(k) is the reconstructed signal, which can be deblocked signal
- 6Ao(k) is the estimated distortion of the SAO signal.
- K is a set of pixels to be processed by filter
- C is a set of pixels belonged to one type of AO category
- P is a set of SAO category, and P is a collection of all SAO categories, and
- a c is the offset value to be added.
- the distortion reduction of the SAO signal is SsAo(k) -S rec (k), which represents the difference in mean square errors corresponding to the signal processed by SAO and the reconstructed signal respectively.
- 6 REC mean s uare error between reconstructed signal and original signal
- ceP xeC (-*W 2 ⁇ 2 ⁇ W ⁇ 5 W + + 2 ' a c - x ( k + a c 2 - 2 - a c - s ( k ))
- N c is the number of pixel of current category
- a cs is the offset value to be added on the pixels belonging to category k
- a c is the sum of the offset value between original signal and reconstructed signal.
- SAO ( N c a c 2 - 2 * N c * a c * a cs ) .
- the distortion reduction dssAO of offset signal after the SAO is applied can be estimated based on the number of pixel of current category, the offset value to be added on the pixels belonging to category k, and the sum of the offset value between original signal and reconstructed signal.
- the distortion used in the cost function of RDO process is derived between the SAO processed signal and the original signal.
- Various SAO modes are evaluated for the RDO to select a best mode, where the SAO process is applied to the same reconstructed signal. Therefore, the distortion reduction dSsAO can be used to replace the mean square error SSAO between offset signal and original signal.
- the computation of distortion reduction dSsAO can be estimated using the fast algorithm.
- An embodiment according to the present invention computes the estimated distortion reduction for each mode and uses the estimated distortion reduction to evaluate the RDO cost function.
- the mode can be the region associated with region splitting/region merging to be optimized. According to the RDO cost function associated with the mode candidates, a best mode is selected.
- Embodiment of sample adaptive offset compensation 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.
- 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)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
Claims
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/987,151 US8660174B2 (en) | 2010-06-15 | 2011-01-09 | Apparatus and method of adaptive offset for video coding |
US201161432482P | 2011-01-13 | 2011-01-13 | |
US201161436296P | 2011-01-26 | 2011-01-26 | |
US201161466083P | 2011-03-22 | 2011-03-22 | |
US13/158,427 US9055305B2 (en) | 2011-01-09 | 2011-06-12 | Apparatus and method of sample adaptive offset for video coding |
US13/177,424 US9161041B2 (en) | 2011-01-09 | 2011-07-06 | Apparatus and method of efficient sample adaptive offset |
PCT/CN2011/080536 WO2012092787A1 (en) | 2011-01-09 | 2011-10-08 | Apparatus and method of efficient sample adaptive offset |
Publications (2)
Publication Number | Publication Date |
---|---|
EP2661887A1 true EP2661887A1 (en) | 2013-11-13 |
EP2661887A4 EP2661887A4 (en) | 2016-06-15 |
Family
ID=46457216
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP11855222.3A Ceased EP2661887A4 (en) | 2011-01-09 | 2011-10-08 | Apparatus and method of efficient sample adaptive offset |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP2661887A4 (en) |
JP (1) | JP5524423B2 (en) |
CN (2) | CN106454357A (en) |
WO (1) | WO2012092787A1 (en) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2715782T3 (en) | 2011-04-21 | 2019-06-06 | Hfi Innovation Inc | Procedure and apparatus for improved loop filtering |
US9008170B2 (en) | 2011-05-10 | 2015-04-14 | Qualcomm Incorporated | Offset type and coefficients signaling method for sample adaptive offset |
MX2014000046A (en) | 2011-06-28 | 2014-02-17 | Samsung Electronics Co Ltd | Video encoding method using offset adjustments according to pixel classification and apparatus therefor, video decoding method and apparatus therefor. |
GB201119206D0 (en) | 2011-11-07 | 2011-12-21 | Canon Kk | Method and device for providing compensation offsets for a set of reconstructed samples of an image |
RU2686008C2 (en) | 2012-01-17 | 2019-04-23 | Инфобридж Пте. Лтд. | Method of using edge shift |
US10623759B2 (en) | 2012-06-13 | 2020-04-14 | Sony Corporation | Decoupling enhancements in sample adaptive offset (SAO) for high efficiency video encoder (HEVC) |
CN108235036B (en) | 2012-07-16 | 2020-10-09 | 三星电子株式会社 | SAO encoding method and apparatus and SAO decoding method and apparatus |
JP6171584B2 (en) * | 2013-05-31 | 2017-08-02 | 富士通株式会社 | Moving picture coding apparatus, moving picture coding method, and moving picture coding program |
CN103338374B (en) * | 2013-06-21 | 2016-07-06 | 华为技术有限公司 | Image processing method and device |
JP6328759B2 (en) * | 2013-07-15 | 2018-05-23 | 寰發股▲ふん▼有限公司HFI Innovation Inc. | Method of sample adaptive offset processing for video coding |
KR102276914B1 (en) * | 2013-10-24 | 2021-07-13 | 삼성전자주식회사 | Video encoding devic and driving method thereof |
JP6289055B2 (en) * | 2013-11-27 | 2018-03-07 | 三菱電機株式会社 | Video encoding apparatus and video decoding apparatus |
CN104735460B (en) * | 2013-12-24 | 2018-04-06 | 珠海全志科技股份有限公司 | Video image samples point self-adapted migration processing method and device |
WO2015098231A1 (en) * | 2013-12-27 | 2015-07-02 | ソニー株式会社 | Image processing device and image processing method |
KR101789954B1 (en) * | 2013-12-27 | 2017-10-25 | 인텔 코포레이션 | Content adaptive gain compensated prediction for next generation video coding |
US9756340B2 (en) | 2014-02-03 | 2017-09-05 | Mitsubishi Electric Corporation | Video encoding device and video encoding method |
CN106817583B (en) * | 2015-12-02 | 2020-01-10 | 福州瑞芯微电子股份有限公司 | HEVC SAO calculation method and device |
CA3037411A1 (en) * | 2016-09-20 | 2018-03-29 | Mediatek Inc. | Methods and apparatuses of sample adaptive offset processing for video coding |
CN113099230B (en) * | 2021-02-22 | 2022-09-06 | 浙江大华技术股份有限公司 | Encoding method, encoding device, electronic equipment and computer readable storage medium |
CN112927324B (en) * | 2021-02-24 | 2022-06-03 | 上海哔哩哔哩科技有限公司 | Data processing method and device of boundary compensation mode of sample point self-adaptive compensation |
CN114363613B (en) * | 2022-01-10 | 2023-11-28 | 北京达佳互联信息技术有限公司 | Filtering method and filtering device |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI116819B (en) * | 2000-01-21 | 2006-02-28 | Nokia Corp | Procedure for transferring images and an image encoder |
US7450641B2 (en) * | 2001-09-14 | 2008-11-11 | Sharp Laboratories Of America, Inc. | Adaptive filtering based upon boundary strength |
KR100679026B1 (en) * | 2004-07-15 | 2007-02-05 | 삼성전자주식회사 | Method for temporal decomposition and inverse temporal decomposition for video coding and decoding, and video encoder and video decoder |
US20070070243A1 (en) * | 2005-09-28 | 2007-03-29 | Ali Corporation | Adaptive vertical temporal flitering method of de-interlacing |
CN100417228C (en) * | 2005-10-31 | 2008-09-03 | 连展科技(天津)有限公司 | Method of selecting in frame prediction mode based on H.264/AVC standard frame image |
CN100566427C (en) * | 2007-07-31 | 2009-12-02 | 北京大学 | The choosing method and the device that are used for the intraframe predictive coding optimal mode of video coding |
CN102598660B (en) * | 2009-04-20 | 2015-04-29 | 杜比实验室特许公司 | Adaptive interpolation filters for multi-layered video delivery |
DK2663076T3 (en) * | 2009-04-20 | 2016-12-05 | Dolby Laboratories Licensing Corp | Filter Selection for video preprocessing of video applications |
CN101640802B (en) * | 2009-08-28 | 2012-06-20 | 北京工业大学 | Video inter-frame compression coding method based on macroblock features and statistical properties |
CN101790092B (en) * | 2010-03-15 | 2013-02-06 | 河海大学常州校区 | Intelligent filter designing method based on image block encoding information |
-
2011
- 2011-10-08 EP EP11855222.3A patent/EP2661887A4/en not_active Ceased
- 2011-10-08 CN CN201610635906.XA patent/CN106454357A/en not_active Withdrawn
- 2011-10-08 WO PCT/CN2011/080536 patent/WO2012092787A1/en active Application Filing
- 2011-10-08 JP JP2013535259A patent/JP5524423B2/en active Active
- 2011-10-08 CN CN201180063977.2A patent/CN103404137B/en active Active
Also Published As
Publication number | Publication date |
---|---|
WO2012092787A1 (en) | 2012-07-12 |
JP2013541918A (en) | 2013-11-14 |
CN103404137A (en) | 2013-11-20 |
CN103404137B (en) | 2016-10-19 |
JP5524423B2 (en) | 2014-06-18 |
EP2661887A4 (en) | 2016-06-15 |
CN106454357A (en) | 2017-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9432670B2 (en) | Apparatus and method of efficient sample adaptive offset | |
EP2661887A1 (en) | Apparatus and method of efficient sample adaptive offset | |
US9641863B2 (en) | Apparatus and method of sample adaptive offset for video coding | |
US9998737B2 (en) | Method and apparatus of adaptive loop filtering | |
US9813738B2 (en) | Method and apparatus of adaptive loop filtering | |
US11909965B2 (en) | Method and apparatus for non-linear adaptive loop filtering in video coding | |
KR20200117969A (en) | Method and apparatus of in-loop filtering by adaptive band offset bands, and appparatus for decoding and encoding by adaptive band offset bands | |
RU2783342C1 (en) | Method and apparatus for nonlinear adaptive contour filtering in video encoding | |
AU2014200419B2 (en) | Method and apparatus of adaptive loop filtering |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20130809 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
DAX | Request for extension of the european patent (deleted) | ||
RIC1 | Information provided on ipc code assigned before grant |
Ipc: H04N 19/96 20140101ALI20160119BHEP Ipc: H04N 19/117 20140101ALI20160119BHEP Ipc: H04N 19/86 20140101ALI20160119BHEP Ipc: H04N 19/82 20140101ALI20160119BHEP Ipc: H04N 19/147 20140101ALI20160119BHEP Ipc: H04N 19/176 20140101AFI20160119BHEP Ipc: H04N 19/19 20140101ALI20160119BHEP |
|
RA4 | Supplementary search report drawn up and despatched (corrected) |
Effective date: 20160513 |
|
RIC1 | Information provided on ipc code assigned before grant |
Ipc: H04N 19/147 20140101ALI20160509BHEP Ipc: H04N 19/19 20140101ALI20160509BHEP Ipc: H04N 19/176 20140101AFI20160509BHEP Ipc: H04N 19/86 20140101ALI20160509BHEP Ipc: H04N 19/117 20140101ALI20160509BHEP Ipc: H04N 19/82 20140101ALI20160509BHEP Ipc: H04N 19/96 20140101ALI20160509BHEP |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: HFI INNOVATION INC. |
|
17Q | First examination report despatched |
Effective date: 20171024 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R003 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED |
|
18R | Application refused |
Effective date: 20181009 |