IP Library Granted Patent US 9,641,863
Granted Patent B2
US 9,641,863 · App. 14/598,638 · Granted May 2, 2017

Apparatus and method of sample adaptive offset for video coding

Inventors: Chih-Ming Fu (Hsinchu, TW); Ching-Yeh Chen (Taipei, TW); Chia-Yang Tsai (New Taipei, TW); Yu-Wen Huang (Taipei, TW); Shaw-Min Lei (Hsinchu County, TW)
Assignee: HFI INNOVATION INC.
H04N19/61H04N19/117H04N19/119H04N19/14H04N19/162H04N19/167H04N19/174H04N19/179H04N19/182H04N19/192H04N19/439H04N19/70H04N19/82H04N19/85H04N19/96
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,641,863
App. No.
14/598,638
Granted
May 2, 2017
Kind
B2
Abstract

An apparatus and method for sample adaptive offset (SAO) to restore intensity shift of processed video data are disclosed. In an encoder side, the processed video data corresponding to reconstructed video data, deblocked-reconstructed video data, or adaptive loop filtered and deblocked-reconstructed video data are partitioned into regions smaller than a picture. The region partition information is signaled in a video bitstream located in a position before intensity offset values syntax. At the decoder side, the processed video data is partitioned into regions according to the partition information parsed from the bitstream at a position before intensity offset values syntax. Region-based SAO is applied to each region based on the intensity offset for the category of the region-based SAO type selected.

Claims (30)

1. A method for decoding of a video bitstream generated by a video coding system with sample adaptive offset (SAO), the method comprising:

receiving video bitstream;

deriving processed video data from the video bitstream;

parsing a first syntax element associated with region partition information from the video bitstream at a location of the video bitstream before a second syntax element for intensity offset values;

configuring the processed video data into regions according to the region partition information, wherein each of the regions is smaller than a picture;

deriving a region-based SAO type from the video bitstream for each of the regions, wherein the region-based SAO type is allowed to vary from one region to another region;

determining a category from a group of categories associated with the region-based SAO type for each of pixels in said each of the regions, wherein the category for a current pixel is determined based on the current pixel and at least two neighboring pixels;

deriving intensity offset from the video bitstream for the category associated with the region-based SAO type; and

applying sample adaptive offset compensation to said each of the pixels in the region of the processed video data based on the intensity offset for the category of the region-based SAO type selected.

2. The method of claim 1 , wherein said partitioning the processed video data into the regions is performed recursively.

3. The method of claim 1 , wherein said partitioning the processed video data into the regions is boundary aligned with block boundaries of non-overlapping blocks, wherein the non-overlapping blocks can be largest coding units (LCUs), smallest coding units (SCUs), or any other fixed-size or non-fixed-size blocks, and wherein region boundaries for each of the region either belong to block boundaries of an enclosing non-overlapping block or are within the enclosing non-overlapping block.

4. The method of claim 1 , wherein the region-based SAO type is selected from a group of SAO types and wherein the group of SAO types comprises multiple band offset (BO) types, multiple edge offset (EO) types, and a non-processing type.

5. The method of claim 1 , wherein a total category number associated with each of multiple band offset (BO) types and each of multiple edge offset (EO) types is user defined, pre-defined, or adaptively changed.

6. The method of claim 1 , wherein a value corresponding to the intensity offset for the category associated with the region-based SAO type has a precision related to pixel bit depth of the processed video data.

7. The method of claim 1 , wherein sample adaptive offset information is derived from the video bitstream in slice header.

8. The method of claim 1 , wherein different region-based SAO types are derived from the video bitstream at different levels including sequence level, picture level and slice level.

9. The method of claim 1 , wherein a split flag is derived from the video bitstream to indicate whether said each of the regions is split into sub-regions.

10. A method for sample adaptive offset (SAO) compensation of processed video data, the method comprising:

receiving the processed video data;

configuring the processed video data into regions according to region partition information, wherein each of the regions is smaller than a picture;

selecting a region-based SAO type from a group of SAO types for each of the regions, wherein the region-based SAO type is allowed to vary from one region to another region;

determining a category from a group of categories associated with the region-based SAO type for each of pixels in said each of the regions, wherein the category for a current pixel is determined based on the current pixel and at least two neighboring pixels;

determining intensity offset for the category associated with the region-based SAO type according to the pixels belonging to the category in said each of the regions of the processed video data and respective pixels belonging to the category in a respective region of corresponding original video data; and

applying sample adaptive offset compensation to said each of the pixels in the region of the processed video data based on the intensity offset for the category of the region-based SAO type selected; and

signaling a first syntax element associated with the region partition information in a video bitstream at a location of the video bitstream before a second syntax element for intensity offset values.

11. The method of claim 10 , wherein said partitioning the processed video data into the regions is performed recursively.

12. The method of claim 10 , wherein said partitioning the processed video data into the regions is boundary aligned with block boundaries of non-overlapping blocks, wherein the non-overlapping blocks can be largest coding units (LCUs), smallest coding units (SCUs), or any other fixed-size or non-fixed-size blocks, and wherein region boundaries for each of the region either belong to block boundaries of an enclosing non-overlapping block or are within the enclosing non-overlapping block.

13. The method of claim 10 , wherein the group of SAO types comprises multiple band offset (BO) types, multiple edge offset (EO) types, and a non-processing type.

14. The method of claim 10 , wherein a total category number associated with each of multiple band offset (BO) types and each of multiple edge offset (EO) types is user defined, pre-defined, or adaptively changed.

15. The method of claim 10 , wherein a value corresponding to the intensity offset for the category associated with the region-based SAO type has a precision related to pixel bit depth of the processed video data.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 8, 2016
From: MEDIATEK INC.
To: HFI INNOVATION INC.
Reel/Frame 039609/0864 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2015
From: FU, CHIH-MING; CHEN, CHING-YEH; TSAI, CHIA-YANG; HUANG, YU-WEN; LEI, SHAW-MIN
To: MEDIATEK INC
Reel/Frame 034736/0578 →
Continuity (6)
Division 13158427 · Jun 12, 2011
Continuation In Part 12987151 · Jan 9, 2011
Provisional Application 61432482 · Jan 13, 2011
Provisional Application 61436296 · Jan 26, 2011
Provisional Application 61466083 · Mar 22, 2011
Related Publication 20150124869A1 · May 7, 2015