IP Library › Granted Patent US 11,197,009
Granted Patent B2
US 11,197,009 · App. 16/886,627 · Granted Dec 7, 2021

Processing sub-partitions in parallel using reference pixels

Inventors: Wenhao Zhang (Beijing, CN); Jing Cui (Beijing, CN)
Assignee: HULU, LLC
H04N19/436H04N19/105H04N19/119H04N19/159H04N19/40
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,197,009
App. No.
16/886,627
Granted
Dec 7, 2021
Kind
B2
Abstract

A method includes receiving a current block to be coded and splitting the current block into a plurality of sub-partitions. A first set of reference pixels is determined. The method processes a first sub-partition in the plurality of sub-partitions using the first set of reference pixels and a second sub-partition in the plurality of sub-partitions using the first set of reference pixels in parallel. Then, the method processes a third sub-partition in the plurality of sub-partitions based on a second set of reference pixels determined from the processing of the first sub-partition and processing a fourth sub-partition in the plurality of sub-partitions based on a third set of reference pixels determined from the processing of the second sub-partition.

Claims (77)

1. A method comprising:

splitting, by a computing device, a current block into a plurality of sub-partitions;

processing, by the computing device, a first sub-partition in the plurality of sub-partitions using a first set of reference pixels and a second sub-partition in the plurality of sub-partitions using the first set of reference pixels in parallel;

generating, by the computing device, a second set of reference pixels determined from the processing of the first sub-partition;

generating, by the computing device, a third set of reference pixels determined from the processing of the second sub-partition; and

processing, by the computing device, a third sub-partition in the plurality of sub-partitions based on the second set of reference pixels and processing a fourth sub-partition in the plurality of sub-partitions based on the third set of reference pixels determined from the processing of the second sub-partition.

2. The method of claim 1 , wherein the first set of reference pixels comprise pixels from an adjacent block to the current block in a frame.

3. The method of claim 1 , wherein the first set of reference pixels comprises pixels from one or more neighboring blocks to the current block in a frame.

4. The method of claim 1 , wherein:

the first sub-partition is located at a first position along an edge of a frame, and

the second sub-partition is not located next to the first sub-partition.

5. The method of claim 4 , wherein:

the third sub-partition is located in between the first sub-partition and the second sub-partition.

6. The method of claim 4 , wherein:

the fourth sub-partition is located next to the second sub-partition.

7. The method of claim 1 , wherein the first set of reference pixels are generated from decoded pixels of another block other than the current block.

8. The method of claim 1 , wherein:

the second set of reference pixels are generated from decoded pixels of the first sub-partition, and

the third set of reference pixels are generated from decoded pixels of the second sub-partition.

9. The method of claim 1 , wherein:

the second set of reference pixels are generated from a first residual of the first sub-partition, and

the third set of reference pixels are generated from a second residual of the second sub-partition.

10. The method of claim 1 , wherein processing the first sub-partition using the first set of reference pixels and the second sub-partition using the first set of reference pixels in parallel comprises:

generating first predicted pixels from the first set of reference pixels;

using the first predicted pixels to transcode the first sub-partition;

generating second predicted pixels from the second set of reference pixels; and

using the second predicted pixels to transcode the second sub-partition.

11. The method of claim 10 , wherein processing the third sub-partition in the plurality of sub-partitions based on the second set of reference pixels determined from the processing of the first sub-partition and processing the fourth sub-partition in the plurality of sub-partitions based on the third set of reference pixels determined from the processing of the second sub-partition comprises:

generating third predicted pixels from the second set of reference pixels;

using the third predicted pixels to transcode the third sub-partition;

generating fourth predicted pixels from the third set of reference pixels; and

using the fourth predicted pixels to transcode the fourth sub-partition.

12. The method of claim 11 , wherein:

the second set of reference pixels are generated from first decoded pixels of the first sub-partition and the first predicted pixels, and

the third set of reference pixels are generated from second decoded pixels of the second sub-partition and the second predicted pixels.

13. The method of claim 1 , wherein processing the first sub-partition using the first set of reference pixels and the second sub-partition using the first set of reference pixels in parallel comprises:

decoding the first sub-partition;

generating first predicted pixels from the first set of reference pixels;

generating the second set of reference pixels from the decoded first sub-partition and the first predicted pixels;

decoding the second sub-partition;

generating second predicted pixels from the second set of reference pixels; and

generating the third set of reference pixels from the decoded second sub-partition and the second predicted pixels.

14. A non-transitory computer-readable storage medium containing instructions, that when executed, control a computer system to be operable for:

splitting a current block into a plurality of sub-partitions;

processing a first sub-partition in the plurality of sub-partitions using a first set of reference pixels and a second sub-partition in the plurality of sub-partitions using the first set of reference pixels in parallel;

generating a second set of reference pixels determined from the processing of the first sub-partition;

generating a third set of reference pixels determined from the processing of the second sub-partition; and

processing a third sub-partition in the plurality of sub-partitions based on the second set of reference pixels and processing a fourth sub-partition in the plurality of sub-partitions based on the third set of reference pixels determined from the processing of the second sub-partition.

15. The non-transitory computer-readable storage medium of claim 14 , wherein the first set of reference pixels comprise pixels from an adjacent block to the current block in a frame.

16. The non-transitory computer-readable storage medium of claim 14 , wherein processing the first sub-partition using the first set of reference pixels and the second sub-partition using the first set of reference pixels in parallel comprises:

generating first predicted pixels from the first set of reference pixels;

using the first predicted pixels to transcode the first sub-partition;

generating second predicted pixels from the second set of reference pixels; and

using the second predicted pixels to transcode the second sub-partition.

17. The non-transitory computer-readable storage medium of claim 16 , wherein processing the third sub-partition in the plurality of sub-partitions based on the second set of reference pixels determined from the processing of the first sub-partition and processing the fourth sub-partition in the plurality of sub-partitions based on the third set of reference pixels determined from the processing of the second sub-partition comprises:

generating third predicted pixels from the second set of reference pixels;

using the third predicted pixels to transcode the third sub-partition;

generating fourth predicted pixels from the third set of reference pixels; and

using the fourth predicted pixels to transcode the fourth sub-partition.

18. The non-transitory computer-readable storage medium of claim 17 , wherein:

the second set of reference pixels are generated from first decoded pixels of the first sub-partition and the first predicted pixels, and

the third set of reference pixels are generated from second decoded pixels of the second sub-partition and the second predicted pixels.

19. The non-transitory computer-readable storage medium of claim 14 , wherein processing the first sub-partition using the first set of reference pixels and the second sub-partition using the first set of reference pixels in parallel comprises:

decoding the first sub-partition;

generating first predicted pixels from the first set of reference pixels;

generating the second set of reference pixels from the decoded first sub-partition and the first predicted pixels;

decoding the second sub-partition;

generating second predicted pixels from the second set of reference pixels; and

generating the third set of reference pixels from the decoded second sub-partition and the second predicted pixels.

20. An apparatus comprising:

one or more computer processors; and

a non-transitory computer-readable storage medium comprising instructions, that when executed, control the one or more computer processors to be operable for:

splitting a current block into a plurality of sub-partitions;

processing a first sub-partition in the plurality of sub-partitions using a first set of reference pixels and a second sub-partition in the plurality of sub-partitions using the first set of reference pixels in parallel;

generating a second set of reference pixels determined from the processing of the first sub-partition;

generating a third set of reference pixels determined from the processing of the second sub-partition; and

processing a third sub-partition in the plurality of sub-partitions based on the second set of reference pixels and processing a fourth sub-partition in the plurality of sub-partitions based on the third set of reference pixels determined from the processing of the second sub-partition.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2020
From: ZHANG, WENHAO; CUI, JING
To: HULU, LLC
Reel/Frame 052976/0766 →
Continuity (2)
Provisional Application 62854736 · May 30, 2019
Related Publication 20200382804A1 · Dec 3, 2020
Cited By (3)
US 12,238,335 US 12,316,863 US 12,615,374