Sample adaptive offset filtering
AssigneeCanon Kabushiki Kaisha
InventorsGuillaume Laroche, Christophe Gisquet, Edouard Francois, Patrice Onno
Life of this patent
Estimating the term…
Abstract
A method of performing sample adaptive offset (SAO) filtering on a sequence of images comprises associating a fixed set of four offset values with at least one direction of edge-type filtering. For every image area for which it is determined that edge-type filtering is to be used and for which it is determined that a direction of the edge-type filtering is the at least one direction, the fixed set of four offset values associated with said at least one direction is systematically used.
Claims9
A method of performing sample adaptive offset filtering on one or more images of a sequence of images, comprising:
- associating a fixed set of four offset values with at least one direction of edge-type filtering, and
- for any image area for which it is determined that edge-type filtering is to be used and for which it is determined that a direction of the edge-type filtering is said at least one direction, using the fixed set of four offset values associated with said at least one direction to perform the sample adaptive offset filtering on the image area concerned,
- wherein a first offset value +O1 is used when C<Cn1 and C<Cn2, a second offset value +O2 is used when (C<Cn1 and C==Cn2) or (C<Cn2 and C==Cn1), a third offset value −O3 is used when (C>Cn1 and C==Cn2) or (C>Cn2 and C==Cn1), and a fourth offset value −O4 is used when C>Cn1 and C>Cn2, where C is the value of a target pixel and Cn1 and Cn2 are respective values of neighbouring pixels of the target pixel in an edge-filtering direction, and the or each said fixed set has the following properties:
- O1≥O2, and
- O4≥O3.
A method of performing sample adaptive offset filtering on one or more images of a sequence of images, comprising:
- associating a fixed set of four offset values with at least one direction of edge-type filtering, and
- for any image area for which it is determined that edge-type filtering is to be used and for which it is determined that a direction of the edge-type filterininq is said at least one direction, using the fixed set of four offset values associated with said at least one direction to perform the sample adaptive offset filtering on the image area concerned,
- wherein a first offset value +O1 is used when C<Cn1 and C<Cn2, a second offset value +O2 is used when (C<Cn1 and C==Cn2) or (C<Cn2 and C==Cn1), a third offset value −O3 is used when (C>Cn1 and C==Cn2) or (C>Cn2 and C==Cn1), and a fourth offset value −O4 is used when C>Cn1 and C>Cn2, where C is the value of a target pixel and Cn1 and Cn2 are respective values of neighbouring pixels of the target pixel in an edge-filtering direction, and the or each said fixed set has the following properties:
- O1−O2=O4−O3.
A method of encoding a sequence of images, comprising performing sample adaptive offset filtering on one or more images of the sequence by:
- associating a fixed set of four offset values with at least one direction of edge-type filtering, and
- for any image area for which it is determined that edge-type filtering is to be used and for which it is determined that a direction of the edge-type filtering is said at least one direction, using the fixed set of four offset values associated with said at least one direction to perform the sample adaptive offset filtering on the image area concerned,
- wherein a first offset value +O1 is used when C<Cn1 and C<Cn2, a second offset value +O2 is used when (C<Cn1 and C==Cn2) or (C<Cn2 and C==Cn1), a third offset value −O3 is used when (C>Cn1 and C==Cn2) or (C>Cn2 and C==Cn1), and a fourth offset value −O4 is used when C>Cn1 and C>Cn2, where C is the value of a target pixel and Cn1 and Cn2 are respective values of neighbouring pixels of the target pixel in an edge-filtering direction, and the or each said fixed set has the following properties:
- O1≥O2, and
- O4≥O3.
A non-transitory computer-readable storage medium storing a program which, when executed by a processor or computer, causes the computer or processor to perform sample adaptive offset filtering on one or more images of a sequence of images, the program comprising:
- a code portion which associates a fixed set of four offset values with at least one direction of edge-type filtering, and
- a code portion which, for any image area for which it is determined that edge-type filtering is to be used and for which it is determined that a direction of the edge-type filtering is said at least one direction, uses the fixed set of four offset values associated with said at least one direction to perform the sample adaptive offset filtering on the image area concerned,
- wherein a first offset value +O1 is used when C<Cn1 and C<Cn2, a second offset value +O2 is used when (C<Cn1 and C==Cn2) or (C<Cn2 and C==Cn1), a third offset value −O3 is used when (C>Cn1 and C==Cn2) or (C>Cn2 and C==Cn1), and a fourth offset value −O4 is used when C>Cn1 and C>Cn2, where C is the value of a target pixel and Cn1 and Cn2 are respective values of neighbouring pixels of the target pixel in an edge-filtering direction, and the or each said fixed set has the following properties:
- O1≥O2, and
- O4≥O3.
A method of encoding a sequence of images, comprising performing sample adaptive offset filtering on one or more images of the sequence by:
- associating a fixed set of four offset values with at least one direction of edge-type filtering, and
- for any image area for which it is determined that edge-type filtering is to be used and for which it is determined that a direction of the edge-type filtering is said at least one direction, using the fixed set of four offset values associated with said at least one direction to perform the sample adaptive offset filtering on the image area concerned,
- wherein a first offset value +O1 is used when C<Cn1 and C<Cn2, a second offset value +O2 is used when (C<Cn1 and C==Cn2) or (C<Cn2 and C==Cn1), a third offset value −O3 is used when (C>Cn1 and C==Cn2) or (C>Cn2 and C==Cn1), and a fourth offset value −O4 is used when C>Cn1 and C>Cn2, where C is the value of a target pixel and Cn1 and Cn2 are respective values of neighbouring pixels of the target pixel in an edge-filtering direction, and the or each said fixed set has the following properties:
- O1−O2=O4−O3.
A non-transitory computer-readable storage medium storing a program which, when executed by a processor or computer, causes the computer or processor to perform sample adaptive offset filtering on one or more images of a sequence of images, the program comprising:
- a code portion which associates a fixed set of four offset values with at least one direction of edge-type filtering, and
- a code portion which, for any image area for which it is determined that edge-type filtering is to be used and for which it is determined that a direction of the edge-type filtering is said at least one direction, uses the fixed set of four offset values associated with said at least one direction to perform the sample adaptive offset filtering on the image area concerned,
- wherein a first offset value +O1 is used when C<Cn1 and C<Cn2, a second offset value +O2 is used when (C<Cn1 and C==Cn2) or (C<Cn2 and C==Cn1), a third offset value −O3 is used when (C>Cn1 and C==Cn2) or (C>Cn2 and C==Cn1), and a fourth offset value −O4 is used when C>Cn1 and C>Cn2, where C is the value of a target pixel and Cn1 and Cn2 are respective values of neighbouring pixels of the target pixel in an edge-filtering direction, and the or each said fixed set has the following properties:
- O1−O2=O4−O3.
Dependencies are inferred from the claim text.