Adaptive coding unit (CU) partitioning based on image statistics
A method for determining coding unit (CU) partitioning of a largest coding unit (LCU) of a picture is provided that includes computing a first statistical measure and a second statistical measure for the LCU, selecting the LCU as the CU partitioning when the first statistical measure does not exceed a first threshold and the second statistical measure does not exceed a second threshold, and selecting CUs in one or more lower layers of a CU hierarchy of the LCU to form the CU partitioning when the first statistical measure exceeds the first threshold and/or the second statistical measure exceeds the second threshold.
1. An encoder comprising:
a coding component configured to output a largest coding unit (LCU) of an image in a video sequence; and
a partitioning component configured to:
determine a first statistical measure of the LCU;
determine a second statistical measure of the LCU;
compare the first statistical measure to a first threshold, wherein the first threshold is based on an expected content of the video sequence;
compare the second statistical measure to a second threshold; and
responsive to the first statistical measure exceeding the first threshold or the second statistical measure exceeding the second threshold, partition the LCU into a set of child coding units (CUs).
2. The encoder of claim 1 , wherein:
the first statistical measure is a variance; and
the second statistical measure is a gradient.
3. The encoder of claim 1 , wherein:
the coding component is further configured to:
receive the video sequence;
process the video sequence into a plurality of images; and
divide each of the plurality of images into respective LCUs;
the LCU is one of the respective LCUs; and
the image is one of the plurality of images.
4. The encoder of claim 1 , wherein:
the coding component is further configured to:
responsive to the first statistical measure not exceeding the first threshold and the second statistical measure not exceeding the second threshold, select the LCU as a partition of the image.
5. The encoder of claim 1 , wherein:
the coding component is further configured to:
determine a third statistical measure for a first child CU of the set of child CUs;
determine a fourth statistical measure for the first child CU the set of child CUs;
compare the third statistical measure to a third threshold;
compare the fourth statistical measure to a fourth threshold; and
responsive to the third statistical measure exceeding the third threshold or the fourth statistical measure exceeding the fourth threshold, partition the first child CU into a second set of child CUs.
6. The encoder of claim 5 , wherein:
the coding component is further configured to:
determine a fifth statistical measure for a second child CU of the set of child CUs;
determine a sixth statistical measure for the second child CU the set of child CUs;
compare the fifth statistical measure to the third threshold;
compare the sixth statistical measure to the fourth threshold; and
responsive to the fifth statistical measure exceeding the third threshold or the sixth statistical measure exceeding the fourth threshold, partition the second child CU into a third set of child CUs.
7. A method comprising:
determining, by a processor, a first statistical measure of a largest coding unit (LCU) of an image in a video sequence;
determining, by the processor, a second statistical measure of the LCU;
comparing, by the processor, the first statistical measure to a first threshold, wherein the first threshold is based on an expected content of the video sequence;
comparing, by the processor, the second statistical measure to a second threshold; and
responsive to the first statistical measure exceeding the first threshold or the second statistical measure exceeding the second threshold, partitioning, by the processor, the LCU into a set of child coding units (CUs).
8. The method of claim 7 , wherein:
the first statistical measure is a variance; and
the second statistical measure is a gradient.
9. The method of claim 7 , further comprising:
receiving, by the processor, the video sequence;
processing, by the processor, the video sequence into a plurality of images; and
dividing, by the processor, each of the plurality of images into respective LCUs, wherein the LCU is one of the respective LCUs,
wherein the image is one of the plurality of images.
10. The method of claim 7 , further comprising:
responsive to the first statistical measure not exceeding the first threshold and the second statistical measure not exceeding the second threshold, selecting, by the processor, the LCU as a partition of the image.
11. The method of claim 7 , further comprising:
determining, by the processor, a third statistical measure for a first child CU of the set of child CUs;
determining, by the processor, a fourth statistical measure for the first child CU the set of child CUs;
comparing, by the processor, the third statistical measure to a third threshold;
comparing, by the processor, the fourth statistical measure to a fourth threshold; and
responsive to the third statistical measure exceeding the third threshold or the fourth statistical measure exceeding the fourth threshold, partitioning, by the processor, the first child CU into a second set of child CUs.
12. The method of claim 11 , further comprising:
determining, by the processor, a fifth statistical measure for a second child CU of the set of child CUs;
determining, by the processor, a sixth statistical measure for the second child CU the set of child CUs;
comparing, by the processor, the fifth statistical measure to the third threshold;
comparing, by the processor, the sixth statistical measure to the fourth threshold; and
responsive to the fifth statistical measure exceeding the third threshold or the sixth statistical measure exceeding the fourth threshold, partitioning, by the processor, the second child CU into a third set of child CUs.
13. A non-transitory computer readable medium storing software instructions that, when executed by at least one processor, causes a method for determining coding unit (CU) partitioning of a largest coding unit (LCU) of an image in a video sequence to be performed, the method comprising:
determining a first statistical measure of the LCU;
determining a second statistical measure of the LCU;
comparing the first statistical measure to a first threshold, wherein the first threshold is based on an expected content of the video sequence;
comparing the second statistical measure to a second threshold; and
responsive to the first statistical measure exceeding the first threshold or the second statistical measure exceeding the second threshold, partitioning the LCU into a set of child CUs.
14. The non-transitory computer readable medium of claim 13 , wherein:
the first statistical measure is a variance; and
the second statistical measure is a gradient.
15. The non-transitory computer readable medium of claim 13 , wherein the method further comprises:
receiving the video sequence;
processing the video sequence into a plurality of images; and
dividing each of the plurality of images into respective LCUs, wherein the LCU is one of the respective LCUs,
wherein the image is one of the plurality of images.
16. The non-transitory computer readable medium of claim 13 , wherein the method further comprises:
responsive to the first statistical measure not exceeding the first threshold and the second statistical measure not exceeding the second threshold, selecting, by the processor, the LCU as a partition of the image.
17. The non-transitory computer readable medium of claim 13 , wherein the method further comprises:
determining, by the processor, a third statistical measure for a first child CU of the set of child CUs;
determining, by the processor, a fourth statistical measure for the first child CU the set of child CUs;
comparing, by the processor, the third statistical measure to a third threshold;
comparing, by the processor, the fourth statistical measure to a fourth threshold; and
responsive to the third statistical measure exceeding the third threshold or the fourth statistical measure exceeding the fourth threshold, partitioning, by the processor, the first child CU into a second set of child CUs.
18. The non-transitory computer readable medium of claim 17 , wherein the method further comprises:
determining, by the processor, a fifth statistical measure for a second child CU of the set of child CUs;
determining, by the processor, a sixth statistical measure for the second child CU the set of child CUs;
comparing, by the processor, the fifth statistical measure to the third threshold;
comparing, by the processor, the sixth statistical measure to the fourth threshold; and
responsive to the fifth statistical measure exceeding the third threshold or the sixth statistical measure exceeding the fourth threshold, partitioning, by the processor, the second child CU into a third set of child CUs.
19. The encoder of claim 1 , wherein the second threshold is based on the expected content of the video sequence.
20. The method of claim 7 , wherein the second threshold is based on the expected content of the video sequence.