IP Library › Granted Patent US 11,363,264
Granted Patent B2
US 11,363,264 · App. 16/880,084 · Granted Jun 14, 2022

Sample adaptive offset control

Inventor: Alexandros Tourapis (Milpitas, CA)
Assignee: Apple Inc.
H04N19/117H04N19/136H04N19/186H04N19/44H04N19/463H04N19/70H04N19/82H04N19/86
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 11,363,264
App. No.
16/880,084
Granted
Jun 14, 2022
Kind
B2
Abstract

Offset values, such as Sample Adaptive Offset (SAO) values in video coding standards such as the High Efficiency Video Coding standard (HEVC), may be improved by performing calculations and operations that improve the preciseness of these values without materially affecting the signal overhead needed to transmit the more precise values. Such calculations and operations may include applying a quantization factor to a video sample and at least some of its neighbors, comparing the quantized values, and classifying the video sample as a minimum, maximum, or one of various types of edges based on the comparison. Other sample range, offset mode, and/or offset precision parameters may be calculated and transmitted with metadata to improve the precision of offset values.

Claims (58)

1. A method for decoding video, comprising:

identifying a quantization factor, and coded pixel values for a current location and at least two neighboring locations including a first neighboring location and a second neighboring location;

decoding the coded pixel values to produce reconstructed pixel values at the current location and the neighboring locations;

determining difference values between reconstructed pixel values at the current location and reconstructed pixel data at neighboring locations including a first difference value between values at the current and first neighboring locations and a second difference value between the current and the second neighboring locations;

quantizing the difference values including applying the quantization factor to the first and second difference values;

evaluating the quantized difference values;

classifying a reconstructed pixel at the current location into a category based on the evaluation;

deriving an offset value based on the classification; and

performing sample adaptive offset filtering of the reconstructed pixel data at the current location according to the derived offset value.

2. The method of claim 1 , further comprising:

wherein the evaluating includes evaluating the sign of the scaled difference values.

3. The method of claim 1 , further comprising:

performing a ceiling or floor calculation on the scaled difference values before the evaluating.

4. The method of claim 1 , further comprising:

rounding the scaled pixel values before the evaluating.

5. The method of claim 1 , wherein the applying the quantization factor includes dividing the difference values by the quantization factor.

6. The method of claim 1 , wherein the at least two neighboring locations include at least:

a first neighboring location in a first direction from the current location; and

a second neighboring location in a second direction from the current location that is opposite the first direction.

7. A non-transitory computer readable medium containing instructions, that when executed by a processor, cause:

identifying a quantization factor, and coded pixel values for a current location and at least two neighboring locations including a first neighboring location and a second neighboring location;

decoding the coded pixel values to produce reconstructed pixel values at the current location and the neighboring locations;

determining difference values between reconstructed pixel values at the current location and reconstructed pixel data at neighboring locations including a first difference value between values at the current and first neighboring locations and a second difference value between the current and the second neighboring locations;

quantizing the difference values including applying the quantization factor;

evaluating the quantized difference values;

classifying a reconstructed pixel at the current location into a category based on the evaluation;

deriving an offset value based on the classification; and

performing sample adaptive offset filtering of the reconstructed pixel data at the current location according to the derived offset value.

8. The computer readable medium of claim 7 , wherein the instructions further cause:

wherein the evaluating includes evaluating the sign of the scaled difference values.

9. The computer readable medium of claim 7 , wherein the instructions further cause:

performing a ceiling or floor calculation on the scaled difference values before the evaluating.

10. The computer readable medium of claim 7 , wherein the instructions further cause: rounding the scaled pixel values before the evaluating.

11. The computer readable medium of claim 7 , wherein the applying the quantization factor includes dividing the difference values by the quantization factor.

12. The computer readable medium of claim 7 , wherein the at least two neighboring locations include at least:

a first neighboring location in a first direction from the current location; and

a second neighboring location in a second direction from the current location that is opposite the first direction.

13. A system comprising:

a video decoder including a sample adaptive offset filter; a processing device; and

a memory including instructions, that when executed by the processor cause:

identifying a quantization factor, and coded pixel values for a current location and at least two neighboring locations including a first neighboring location and a second neighboring location;

decoding the coded pixel values to produce reconstructed pixel values at the current location and the neighboring locations;

determining difference values between reconstructed pixel values at the current location and reconstructed pixel data at neighboring locations including a first difference value between values at the current and first neighboring locations and a second difference value between the current and the second neighboring locations;

quantizing the difference values including applying the quantization factor;

evaluating the quantized difference values;

classifying a reconstructed pixel at the current location into a category based on the evaluation;

deriving an offset value based on the classification; and

performing sample adaptive offset filtering of the reconstructed pixel data at the current location according to the derived offset value.

14. The system of claim 13 , wherein the instructions further cause:

wherein the evaluating includes evaluating the sign of the scaled difference values.

15. The system of claim 13 , wherein the instructions further cause:

performing a ceiling or floor calculation on the scaled difference values before the evaluating.

16. The system of claim 13 , wherein the instructions further cause:

rounding the scaled pixel values before the evaluating.

17. The system of claim 13 , wherein the applying the quantization factor includes dividing the difference values by the quantization factor.

18. The system of claim 13 , wherein the at least two neighboring locations include at least:

a first neighboring location in a first direction from the current location; and

a second neighboring location in a second direction from the current location that is opposite the first direction.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2020
From: TOURAPIS, ALEXANDROS
To: APPLE INC.
Reel/Frame 052967/0258 →
Continuity (4)
Division 14255609 · Apr 17, 2014
Continuation 14173676 · Feb 5, 2014
Provisional Application 61836931 · Jun 19, 2013
Related Publication 20200288127A1 · Sep 10, 2020