Method of filter-unit based in-loop filtering
In one embodiment, a method receives a video bitstream corresponding to compressed video, wherein Filter Unit (FU) based in-loop filtering is allowed in a reconstruction loop associated with the compressed video. The method then derives reconstructed video from the video bitstream, wherein the reconstructed video is partitioned into FUs and derives a merge flag from the video bitstream for each of the FUs, wherein the merge flag indicates whether said each of the FUs is merged with a neighboring FU. The method further receives a merge index from the video bitstream if the merge flag indicates that said each of the FUs is merged, and receives the filter parameters from the video bitstream if the merge flag indicates that said each of the FUs is not merged. Finally, the method applies the in-loop filtering to said each of the FUs using the filter parameters.
Latest HFI INNOVATION INC. Patents:
- Methods and apparatus for secondary transform signaling in video coding
- Method and apparatus of chroma direct mode generation for video coding
- DECODER-SIDE MOTION VECTOR RESTORATION FOR VIDEO CODING
- Methods and apparatuses of processing video pictures with partition constraints in a video coding system
- Specifying layout in video pictures
The present invention is a Continuation of pending U.S. patent application Ser. No. 13/825,061, filed Mar. 19, 2013, which is a National Stage Application of PCT Serial No. PCT/CN2011/085170, filed Dec. 31, 2011, which claims priority to U.S. Provisional Patent Application, Ser. No. 61/429,313, filed Jan. 3, 2011, entitled “MediaTek's Adaptive Loop Filter”, U.S. Provisional Patent Application, Ser. No. 61/498,949, filed Jun. 20, 2011, entitled “LCU-based Syntax for Sample Adaptive Offset”, U.S. Provisional Patent Application, Ser. No. 61/503,870, filed Jul. 1, 2011, entitled “LCU-based Syntax for Sample Adaptive Offset”, U.S. Provisional Patent Application, Ser. No. 61/549,931, filed Oct. 21, 2011, entitled “Filter Unit Adaptation for Adaptive Loop Filter and Sample Adaptive Offset”. The applications are hereby incorporated by reference in their entireties.
FIELD OF THE INVENTIONThe present invention relates to video processing. In particular, the present invention relates to apparatus and method for filter-unit based in-loop filtering including sample adaptive offset and adaptive loop filter.
BACKGROUNDIn a video coding system, video data are subject to various processing such as prediction, transform, quantization, and deblocking. Along the processing path in the video coding system, noise may be introduced and characteristics of the processed video data may be altered from the original video data due to the operations applied to video data. For example, the mean value of the processed video may be shifted. Intensity shift may cause visual impairment or artifacts, which will become noticeable especially when the intensity shift varies from picture to picture. Therefore, the pixel intensity shift has to be carefully compensated or restored to reduce the artifacts. Some intensity offset schemes have been used in the field. For example, an intensity offset scheme, termed as sample adaptive offset (SAO), classifies each pixel in the processed video data into one of multiple categories according to a context selected. The SAO scheme usually requires incorporating SAO information in the video bitstream, such as partition information to divide a picture or slice into blocks and the SAO offset values for each block so that a decoder can operate properly. Besides SAO, adaptive loop filter (ALF) is another type of in-loop filter often applied to the reconstructed video to improve video quality. Similarly, ALF information such as partition information and filter parameters has to be incorporated in the video bitstream so that a decoder can operate properly.
In a conventional coding system, picture-level in-loop filtering is often applied, where the same filter parameters are shared by all blocks in the picture. While the picture-level in-loop filtering is simple, it lacks adaptivity to local characteristics of the picture. It is desirable to develop an in-loop filtering scheme that can adapt to local characteristics of the picture. The in-loop filtering scheme with local adaptivity may require more bandwidth to convey filter information. Accordingly, it is also desirable to develop syntax that can convey filter information efficiently and/or flexibly.
BRIEF SUMMARY OF THE INVENTIONMethods for filter-unit based in-loop filtering in a video decoder and encoder are disclosed. The method for filter-unit based in-loop filtering in a video decoder incorporating an embodiment according to the present invention comprises receiving a video bitstream corresponding to compressed video, wherein FU (Filter Unit) based in-loop filtering is used in a reconstruction loop associated with the compressed video; deriving reconstructed video from the video bitstream, wherein the reconstructed video is partitioned into one or more FUs; determining a filter index from the video bitstream for each of said one or more FUs; determining filter parameters from a filter parameter set according to the filter index for said each of said one or more FUs; and applying in-loop filtering to said each of said one or more FUs based on the filter parameters. In the corresponding encoder, the method incorporates the respective syntax information in the video bitstream.
In another embodiment according to the present invention, the method for filter-unit based in-loop filtering in a video decoder comprises deriving a FU size from the video bitstream; partitioning the reconstructed video into FUs according to the FU size; and applying the in-loop filtering to the FUs. A first flag may be incorporated in the video bitstream to indicate a syntax mode for incorporating FU size in the video bitstream. If the syntax mode is a direct mode, the FU size is determined according to direct size information incorporated in the video bitstream. If the syntax mode is a ratio mode, the FU size is determined according to the FU-size ratio in the video bitstream and minimum FU size. In the corresponding encoder, the method incorporates the respective syntax information in the video bitstream.
In yet another embodiment according to the present invention, the method for filter-unit based in-loop filtering in a video decoder comprises deriving a merge flag from the video bitstream for each of the FUs, wherein the merge flag indicates whether said each of the FUs is merged with a neighboring FU; receiving a merge index from the video bitstream if the merge flag indicates that said each of the FUs is merged, wherein filter parameters are determined are shared with the neighboring FU indicated by the merge index; receiving the filter parameters from the video bitstream if the merge flag indicates that said each of the FUs is not merged; and applying the in-loop filtering to said each of the FUs using the filter parameters. In the corresponding encoder, the method incorporates the respective syntax information in the video bitstream.
A method for filter-unit based in-loop filtering in a video decoder and encoder for color video is also disclosed. The method for filter-unit based in-loop filtering according to an embodiment of the present invention incorporates filter syntax in the video bitstream by interleaving the color-component filter syntax for the FUs.
In High-Efficiency Video Coding (HEVC), several in-loop filtering tools have been included to improve video quality. For example, a technique named Adaptive Offset (AO) is introduced to compensate the offset of reconstructed video and AO is applied inside the reconstruction loop. A method and system for offset compensation is disclosed in U.S. Non-Provisional patent application Ser. No. 13/158,427, filed on Jun. 12, 2011, entitled “Apparatus and Method of Sample Adaptive Offset for Video Coding”. The method classifies each pixel into one of multiple categories and applies intensity shift compensation or restoration to processed video data based on the category of each pixel. The above AO technique is termed as Sample Adaptive Offset (SAO). Besides SAO, Adaptive Loop Filter (ALF) has also been introduced in HEVC to improve video quality. ALF applies spatial filter to reconstructed video inside the reconstruction loop. Both SAO and ALF are considered as in-loop filtering in this disclosure.
In order to facilitate in-loop filtering, information associated with in-loop filtering process may have to be incorporated in the bitstream syntax. The syntax associated with in-loop filtering is often incorporated in a higher level, such as a sequence level or a picture level, for many blocks to share so as to reduce the bit rate for the related syntax. While incorporating the in-loop filtering information in a high level may reduce the bit rate for the related syntax, such method may not be able to quickly adapt to local variations within a picture. Some improved schemes have been reported to provide a certain degree of local adaptivity. For example, SAO may use quadtree to adaptively partition a picture or a picture area into smaller blocks and SAO is applied to each leaf block. On the other hand, ALF may use group flag to provide localization.
It is desirable to develop a technique that can provide more dynamic adaptation to allow in-loop filtering process performed based on local characteristics of the picture. An embodiment according to the present invention uses filter-unit based syntax instead of picture-level syntax. Filter unit (FU) is a processing unit used for in-loop filtering process, which may be different from the coding unit (CU) used in HEVC. In U.S. Non-Provisional patent application Ser. No. 13/093,068, filed on Apr. 25, 2011, entitled “Method and Apparatus of Adaptive Loop Filtering”, FU-based ALF is disclosed which allows each FU to select one of a filter set as a candidate. In one example, a picture 100 may be divided into filter units having the same size. When the picture size is not divisible according to the FU size, some FUs at the end of row/column of the picture may be smaller.
After a picture 100 is divided into FUs, a filter set (also called filter parameter set) consisting of multiple candidate filters may be determined to adapt to local characteristics of the picture for the in-loop filtering process.
The FU size information may be incorporated using alf_fu_size_param( ) as shown in
If FU merge is allowed, neighboring FUs having similar characteristics may share the same candidate filter in order to improve coding efficiency. One example to convey FU merge information is to transmit the number of consecutive FUs that are merged, where the number of consecutive FUs merged is termed as run. In U.S. Non-Provisional patent application Ser. No. 13/311,953, filed on Dec. 6, 2011, entitled “Apparatus and Method of Sample Adaptive Offset for Luma and Chroma Components”, FU merge representation based on run is disclosed. An exemplary syntax design for FU structure, sao_alf_unit(rx, ry, c) is shown in
While the exemplary syntax design in
When the picture-level in-loop filtering syntax is used, the syntax is always incorporated in the picture or a higher level. For color video, syntax in the picture level may be used to allow the picture use individual in-loop filtering information for each color component or allow the chrominance (chroma) components to share in-loop filtering information with the luminance (luma) component. The syntax of FU-based in-loop filtering for color video may incorporate information associated with the luma component for the whole picture followed by information associated with the chroma components for the whole picture. Therefore, the in-loop filtering process for a chroma FU may have to wait after information for all luma FUs of the picture has been received. In order to reduce latency, an embodiment according to the present invention utilizes interleaved syntax for color video using FU-based in-loop filtering.
When FU-based in-loop filtering is allowed, a flag in the slice level, picture level or sequence level may be used to adaptively select FU-based or picture-based in-loop filtering according to a selection flag in the slice level, picture level or sequence level. In one embodiment according to the present invention, the selection flag can be used along with the filter syntax interleaving for color video. An exemplary syntax arrangement using filter syntax interleaving and selection flag is shown in
Embodiment of syntax for in-loop filter according to the present invention as described above may be implemented in various hardware, software codes, or a combination of both. For example, with reference to
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 filter-unit based in-loop filtering in a video decoder, the method comprising:
- receiving a video bitstream corresponding to compressed video, wherein Filter Unit (FU) based in-loop filtering is allowed in a reconstruction loop associated with the compressed video;
- deriving reconstructed video from the video bitstream, wherein the reconstructed video is partitioned into FUs;
- deriving a merge flag from the video bitstream for each of the FUs, wherein the merge flag indicates whether said each of the FUs is merged with a neighboring FU;
- receiving a merge index from the video bitstream if the merge flag indicates that said each of the FUs is merged, wherein filter parameters are determined from filter parameters of the neighboring FU indicated by the merge index;
- receiving the filter parameters from the video bitstream if the merge flag indicates that said each of the FUs is not merged; and
- applying the in-loop filtering to said each of the FUs using the filter parameters.
2. The method of claim 1, further comprising receiving a row-repeating flag from the video bitstream, wherein steps of said deriving the merge flag, said receiving the merge index and said receiving the filter parameters are skipped if the row-repeating flag indicates a row of the FUs shares same filter parameters.
3. The method of claim 1, wherein the in-loop filtering corresponds to a process of Adaptive Loop Filter (ALF) and/or Sample Adaptive Offset (SAO).
4. A method for filter-unit based in-loop filtering in a video encoder, the method comprising:
- generating a video bitstream corresponding to compressed video, wherein Filter Unit (FU) based in-loop filtering is used in a reconstruction loop associated with the compressed video, and wherein reconstructed video is partitioned into FUs;
- incorporating a merge flag in the video bitstream for each of the FUs, wherein the merge flag indicates whether said each of the FUs is merged with a neighboring FU;
- incorporating a merge index in the video bitstream if the merge flag indicates that said each of the FUs is merged, wherein said each of the FUs shares filter parameters with the neighboring FU indicated by the merge index;
- incorporating the filter parameters in the video bitstream if the merge flag indicates that said each of the FUs is not merged; and
- providing the video bitstream.
5. The method of claim 4, further comprising incorporating a row-repeating flag in the video bitstream, wherein steps of said incorporating the merge flag, said incorporating the merge index and said incorporating the filter parameters are skipped if the row-repeating flag indicates a row of the FUs shares same filter parameters.
6. The method of claim 4, wherein the in-loop filtering corresponds to a process of Adaptive Loop Filter (ALF) and/or Sample Adaptive Offset (SAO).
7. An apparatus for filter-unit based in-loop filtering in a video decoder, the apparatus comprising a processor and a memory configured to:
- receive a video bitstream corresponding to compressed video, wherein Filter Unit (FU) based in-loop filtering is allowed in a reconstruction loop associated with the compressed video;
- derive reconstructed video from the video bitstream, wherein the reconstructed video is partitioned into FUs;
- derive a merge flag from the video bitstream liar each of the FUs, wherein the merge flag indicates whether said each of the FUs is merged with a neighboring FU;
- receive a merge index from the video bitstream if the merge flag indicates that said each of the FUs is merged, wherein filter parameters are determined from filter parameters of the neighboring FU indicated by the merge index;
- receive the filter parameters from the video bitstream if the merge flag indicates that said each of the FUs is not merged: and
- apply the in-loop filtering to said each of the FUs using the filter parameters.
8. An apparatus for filter-unit based in-loop filtering in a video encoder, the apparatus comprising a processor and a memory configured to:
- generate a video bitstream corresponding to compressed video, wherein Filter Unit (FU) based in-loop filtering is used in a reconstruction loop associated with the compressed video, and wherein reconstructed video is partitioned into FUs;
- incorporate a merge flag in the video bitstream for each of the FUs, wherein the merge flag indicates whether said each of the FUs is merged with a neighboring FU;
- incorporate a merge index in the video bitstream if the merge flag indicates that said each of the FUs is merged, wherein said each of the FUs shares filter parameters with the neighboring FU indicated by the merge index;
- incorporate the filter parameters in the video bitstream if the merge flag indicates that said each of the FUs is not merged; and
- provide the video bitstream.
9. A non-transitory computer readable medium storing a computer-executable program, the computer-executable program, when executed, causing a video decoder to perform the following steps:
- receiving a video bitstream corresponding to compressed video, wherein Filter Unit (FU) based in-loop filtering is allowed in a reconstruction loop associated with the compressed video;
- deriving reconstructed video from the video bitstream, wherein the reconstructed video is partitioned into FUs;
- deriving a merge flag from the video bitstream for each of the FUs, wherein the merge flag indicates whether said each of the FUs is merged with a neighboring FU;
- receiving a merge index from the video bitstream if the merge flag indicates that said each of the FUs is merged, wherein filter parameters are determined from filter parameters of the neighboring FU indicated by the merge index;
- receiving the filter parameters from the video bitstream if the merge flag indicates that said each of the FUs is not merged; and
- applying the in-loop filtering to said each of the FUs using the filter parameters.
6301299 | October 9, 2001 | Sita et al. |
7379501 | May 27, 2008 | Lainema |
8116379 | February 14, 2012 | Dang |
8537895 | September 17, 2013 | Dang |
8638852 | January 28, 2014 | Karczewicz et al. |
8885730 | November 11, 2014 | Narroschke et al. |
9001899 | April 7, 2015 | He |
9374586 | June 21, 2016 | He |
9571861 | February 14, 2017 | Siekmann |
20040008899 | January 15, 2004 | Tourapis |
20040076333 | April 22, 2004 | Zhang et al. |
20050213593 | September 29, 2005 | Anderson |
20060227883 | October 12, 2006 | Citro |
20070076797 | April 5, 2007 | Lee |
20070189390 | August 16, 2007 | Pappas et al. |
20070217502 | September 20, 2007 | Ammar et al. |
20080013845 | January 17, 2008 | Fukuhara et al. |
20080130754 | June 5, 2008 | Winger |
20080170615 | July 17, 2008 | Sekiguchi et al. |
20090097575 | April 16, 2009 | Teng |
20090129478 | May 21, 2009 | Meroth |
20090175349 | July 9, 2009 | Ye et al. |
20090196342 | August 6, 2009 | Divorra Escoda et al. |
20090245382 | October 1, 2009 | Ekman |
20100061645 | March 11, 2010 | Wilkins et al. |
20100086051 | April 8, 2010 | Park et al. |
20100135387 | June 3, 2010 | Divorra Escoda |
20100239002 | September 23, 2010 | Park |
20100322303 | December 23, 2010 | Wada et al. |
20100329361 | December 30, 2010 | Choi et al. |
20120008676 | January 12, 2012 | Lee |
20120039383 | February 16, 2012 | Huang |
20120201311 | August 9, 2012 | Sole et al. |
20130022117 | January 24, 2013 | Lou |
20130034159 | February 7, 2013 | Siekmann |
20130142262 | June 6, 2013 | Ye et al. |
20140003522 | January 2, 2014 | Park |
20150305648 | October 29, 2015 | Udupa et al. |
20170163982 | June 8, 2017 | Fu et al. |
1615645 | May 2005 | CN |
101072351 | November 2007 | CN |
101502118 | August 2009 | CN |
101517909 | August 2009 | CN |
101919253 | December 2010 | CN |
101926175 | December 2010 | CN |
1 841 230 | October 2007 | EP |
2 109 322 | October 2009 | EP |
2 375 747 | October 2011 | EP |
2 790 409 | November 2014 | EP |
10-2010-0109459 | October 2010 | KR |
WO-2011005317 | January 2011 | WO |
2013/059461 | April 2013 | WO |
- McCann, K., et al.; “Samsung's Response to the Call for Proposals on Video Compression Technology;” Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 Wp3 and ISO/IEC JTC1/SC29/WG11; Apr. 2010; pp. 1-42.
- Tsai, C.Y., et al.; “TE10 subtest2—Coding Unit Synchronous Picture Quadtree-Based Adaptive Loop Filter;” Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 Wp3 and ISO/IEC JTC1/SC29/WG11; Oct. 2010; pp. 1-12.
- Ikai, T., et al.; “Region-Based Adaptive Loop Filter Using Two-Dimensional Feature;” Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 Wp3 and ISO/IEC JTC1/SC29/WG11; Jan. 2011; pp. 1-11.
- Nakamura, et al.; “Coding Order of Luma and Chroma Intra Prediction Modes;” JCT-VC of ITU-T SG16 and ISO/ECT JTC1/SC29/WG11 6th Meeting: Torino, Jul. 14-22, 2011 Document: JTCVC-F094.
- Chujoh, et al.; “Block-Based Adaptive Loop Filter;” 35. VCEG Meeting; 85. MPEG Meeting; Jul. 16, 2008-Jul. 18, 2008; Berlin; (Video Coding Experts Group of ITU-T SG 16), Jul. 17, 2008, XP030003583 ISSN: 000-0096.
Type: Grant
Filed: Dec 14, 2017
Date of Patent: Feb 18, 2020
Patent Publication Number: 20180109785
Assignee: HFI INNOVATION INC. (Zhubei, Hsinchu County)
Inventors: Ching-Yeh Chen (Taipei), Chih-Ming Fu (Hsinchu), Chia-Yang Tsai (Zhubei), Yu-Wen Huang (Taipei), Shaw-Min Lei (Zhubei)
Primary Examiner: Jayanti K Patel
Assistant Examiner: Stefan Gadomski
Application Number: 15/841,645
International Classification: H04N 19/103 (20140101); H04N 19/82 (20140101); H04N 19/117 (20140101); H04N 19/46 (20140101); H04N 19/70 (20140101);