IP Library › Granted Patent US 10,085,020
Granted Patent B2
US 10,085,020 · App. 14/389,671 · Granted Sep 25, 2018

Sample adaptive filtering with offsets

Inventors: Kenneth Andersson (Gävle, SE); Rickard Sjöberg (Stockholm, SE); Per Wennersten (Årsta, SE)
Assignee: TELEFONAKTIEBOLAGET L M ERICSSON (PUBL)
H04N19/117H04N19/136H04N19/146H04N19/172H04N19/176H04N19/42H04N19/463H04N19/70H04N19/82
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 10,085,020
App. No.
14/389,671
Granted
Sep 25, 2018
Kind
B2
Abstract

A method, a filtering control device, a computer program and a computer program product for processing a first picture in a sample adaptive filtering procedure are disclosed. The first picture is reconstructed from video data. The filtering control device obtains an offset magnitude from the video data. The offset magnitude indicates a magnitude of a sample adaptive offset to be applied in the sample adaptive filtering procedure. The filtering control device obtains an offset sign from the video data. The offset sign indicates a sign of the sample adaptive offset. The filtering control device determines the sample adaptive offset based on the offset magnitude and the offset sign. Moreover, the filtering control device processes, in the sample adaptive filtering procedure, at least a portion of the first picture while applying the sample adaptive offset.

Claims (67)

1. A method, performed by a decoder comprising a filtering control device, for decoding, in a sample adaptive filtering procedure, a first picture, wherein the first picture is reconstructed from video data comprising a coded bitstream, the method comprising:

decoding an offset magnitude from the video data comprising the coded bitstream, wherein the offset magnitude indicates a magnitude of a sample adaptive offset, saoOffset, to be applied in the sample adaptive filtering procedure;

decoding an offset sign from the video data comprising the coded bitstream, wherein the offset sign indicates a sign of the sample adaptive offset saoOffset;

wherein the sample adaptive offset saoOffset is a band offset and/or an edge offset,

wherein the sample adaptive offset saoOffset is coded by variable length code or fixed length code or Context-Adaptive Binary Arithmetic Coding, CABAC, and the offset sign and the offset magnitude are coded separately in the video data;

wherein a mapping exists between the sample adaptive offset saoOffset and a further sample adaptive offset value SaoOffsetVal, the mapping being:

saoOffset=log2(abs(SaoOffsetVal))*sign(SaoOffsetVal);

determining the further sample adaptive offset value SaoOffsetVal based on the offset magnitude and the offset sign; and

processing, in the sample adaptive filtering procedure, at least a portion of the first picture by applying the further sample adaptive offset value SaoOffsetVal.

2. The method according to claim 1 , further comprising:

decoding, from the video data comprising the coded bitstream, a band position indicating a first band of a set of consecutive bands.

3. The method according to claim 2 , wherein the offset magnitude and the offset sign are applied to one or more of the set of consecutive bands.

4. The method according to claim 1 , wherein obtaining of the offset magnitude comprises:

obtaining a value from the video data; and

mapping the value to the offset magnitude in a non-linear manner, wherein the mapping decreases in terms of accuracy for the obtained offset magnitude as the offset magnitude increases.

5. The method according to claim 1 ,

wherein an output of the sample adaptive filtering procedure is stored in a second picture, and

wherein the obtaining of the offset magnitude comprises setting the offset magnitude based on bit depth obtained from the video data, and wherein the obtaining of the offset sign comprises setting the offset sign based on the bit depth, whereby a pixel value of the second picture is between 0 and a maximum value according to the bit depth as obtained after the processing of the at least a portion of the first picture.

6. The method according to claim 5 , wherein the processing further comprises applying the further sample adaptive offset value SaoOffsetVal to one of the consecutive bands, wherein:

the offset sign is positive when the band position indicates an initial band among bands covering possible pixel values according to bit depth obtained from the video data for the second picture, and

the offset sign is negative when the band position indicates a band for which the further sample adaptive offset value SaoOffsetVal covers a last band among bands covering possible pixel values according to bit depth obtained from the video data for the second picture.

7. The method according to claim 1 , wherein the determining of the further sample adaptive offset value SaoOffsetVal comprises directly computing the sample adaptive offset by applying sign operations and shift operations onto the offset magnitude and the offset sign.

8. The method according to claim 7 , wherein a shift magnitude of the shift operation is obtained from the video data.

9. The method according to claim 1 , wherein the obtaining of the offset magnitude comprises obtaining a boolean value from the video data; and deriving the offset magnitude based on bit depth obtained from the video data when the boolean value is true.

10. A decoder comprising a filtering control device configured to decode, in a sample adaptive filtering procedure, a first picture, wherein the first picture is reconstructed from video data comprising a coded bitstream, the filtering control device comprising a processing circuit configured to perform operation comprising:

decoding an offset magnitude from the video data comprising the coded bitstream, wherein the offset magnitude indicates a magnitude of a sample adaptive offset, saoOffset, to be applied in the sample adaptive filtering procedure;

decoding an offset sign from the video data comprising the coded bitstream, wherein the offset sign indicates a sign of the sample adaptive offset saoOffset;

wherein the sample adaptive offset saoOffset is a band offset and/or an edge offset,

wherein the sample adaptive offset saoOffset is coded by variable length code or fixed length code or Context-Adaptive Binary Arithmetic Coding, CABAC, and the offset sign and the offset magnitude are coded separately in the video data;

wherein a mapping exists between the sample adaptive offset saoOffset and a further sample adaptive offset value SaoOffsetVal, the mapping being:

saoOffset=log2(abs(SaoOffsetVal))*sign(SaoOffsetVal);

determine the further sample adaptive offset value SaoOffsetVal based on the offset magnitude and the offset sign; and

process, in the sample adaptive filtering procedure, at least a portion of the first picture by applying the further sample adaptive offset value SaoOffsetVal.

11. The filtering control device according to claim 10 , wherein the processing circuit further is configured to perform operations comprising:

decoding, from the video data comprising the coded bitstream, a band position indicating a first band of a set of consecutive bands.

12. The filtering control device according to claim 11 , wherein the processing circuit further is configured to perform operations comprising:

applying the offset magnitude and the offset sign to one or more of the consecutive bands.

13. The filtering control device according to claim 10 , wherein the processing circuit further is configured to perform operations comprising:

obtaining a value from the video data; and

mapping the value to the offset magnitude in a non-linear manner, wherein the mapping decreases in terms of accuracy for the obtained offset magnitude as the offset magnitude increases.

14. The filtering control device according to claim 10 ,

wherein an output of the sample adaptive filtering procedure is stored in a second picture, and

wherein the processing circuit further is configured to perform operations comprising:

setting the offset magnitude based on bit depth obtained from the video data, and

setting the offset sign based on the bit depth,

wherein a pixel value of the second picture is between 0 and a maximum value according to the bit depth.

15. The filtering control device according to claim 14 , wherein the processing circuit further is configured to perform operations comprising:

applying the further sample adaptive offset value SaoOffsetVal to one of the consecutive bands,

wherein the offset sign is positive when the band position indicates an initial band among bands covering possible pixel values according to bit depth obtained from the video data for a second picture, and

wherein the offset sign is negative when the band position indicates a band for which the further sample adaptive offset value SaoOffsetVal covers a last band among bands covering possible pixel values according to bit depth obtained from the video data for the second picture.

16. The filtering control device according to claim 10 , wherein the processing circuit further is configured to perform operations comprising:

computing the further sample adaptive offset value SaoOffsetVal by applying sign operations and shift operations onto the offset magnitude and the offset sign.

17. The filtering control device according to claim 16 , wherein a shift magnitude of the shift operation is obtained from the video data.

18. The filtering control device according to claim 10 , wherein the processing circuit further is configured to perform operations comprising:

obtaining a boolean value from the video data; and

deriving the offset magnitude based on bit depth obtained from the video data when the boolean value is true.

19. A computer program product for decoding, in a sample adaptive filtering procedure, a first picture, wherein the first picture is reconstructed from video data comprising a coded bitstream, wherein the computer program product comprises a non-transitory computer readable medium containing computer readable code which when executed on a computer causes the computer to perform operations comprising:

decoding an offset magnitude from the video data comprising the coded bitstream, wherein the offset magnitude indicates a magnitude of a sample adaptive offset, saoOffset, to be applied in the sample adaptive filtering procedure;

decoding an offset sign from the video data comprising the coded bitstream, wherein the offset sign indicates a sign of the sample adaptive offset saoOffset;

determining the sample adaptive offset based on the offset magnitude and the offset sign;

wherein the sample adaptive offset saoOffset is a band offset and/or an edge offset,

wherein the sample adaptive offset saoOffset is coded by variable length code or fixed length code or Context-Adaptive Binary Arithmetic Coding, CABAC, and the offset sign and the offset magnitude are coded separately in the video data;

wherein a mapping exists between the sample adaptive offset saoOffset and a further sample adaptive offset value SaoOffsetVal, the mapping being:

saoOffset=log2(abs(SaoOffsetVal))*sign(SaoOffsetVal);

and

processing, in the sample adaptive filtering procedure, at least a portion of the first picture by applying the further sample adaptive offset value SaoOffsetVal.

20. The computer program product of claim 19 , wherein an output of the sample adaptive filtering procedure is stored in a second picture.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2014
From: ANDERSSON, KENNETH; SJOBERG, RICKARD; WENNERSTEN, PER
To: TELEFONAKTIEBOLAGET L M ERICSSON (PUBL)
Reel/Frame 033855/0274 →
Continuity (3)
Provisional Application 61624726 · Apr 16, 2012
Provisional Application 61620639 · Apr 5, 2012
Related Publication 20150071340A1 · Mar 12, 2015