IP Library Granted Patent US 10,382,750
Granted Patent B2
US 10,382,750 · App. 15/618,693 · Granted Aug 13, 2019

Region-based processing of predicted pixels

Inventors: Thomas Pun (San Jose, CA); Paul Chang (San Jose, CA); Hsi-Jung Wu (San Jose, CA)
Assignee: Apple Inc.
H04N19/105H04N19/102H04N19/134H04N19/157H04N19/176H04N19/182H04N19/436H04N19/44H04N19/46H04N19/52H04N19/61
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,382,750
App. No.
15/618,693
Granted
Aug 13, 2019
Kind
B2
Abstract

A method for decoding a compressed video data sequence containing one or more coded pixel blocks. The compressed video sequence is buffered. Prediction information for each of the coded pixel blocks is reviewed. One or more groups of coded pixel blocks are formed based on the reviewed prediction information such that the coded pixel blocks within a given group have similar prediction dependencies and/or at least do not depend on a reconstructed pixel within a group of received pixel blocks to enable parallel decoding. The formed groups are scheduled for processing and subsequently decoded to produce a decoded video data sequence.

Claims (40)

1. A method for decoding a compressed video data sequence, comprising:

buffering the compressed video sequence, the compressed video sequence comprising a plurality of coded pixel blocks;

identifying, from a syntax element of the compressed video sequence, groups of adjacent blocks from the coded pixel blocks that share a common reference frame and can be decoded in parallel from each other;

organizing the coded pixel blocks according to the groups based on the syntax element;

scheduling decoding of the coded pixel blocks on a group-by-group basis; and

decoding the groups of coded pixel blocks according to the group-by-group schedule to produce a decoded video data sequence, wherein the decoding of each pixel block in a group uses content from the common reference frame for the respective group.

2. The method of claim 1 , wherein one of the syntax elements identifies a group of coded pixel blocks that share a common motion vector, and the decoding of the respective group comprises decoding each pixel block in the group using the common motion vector.

3. The method of claim 1 , wherein one of the syntax elements identifies a group of coded pixel blocks that share a common reference frame, and the decoding of the respective group comprises decoding each pixel block in the group using content from the common reference frame.

4. The method of claim 1 , wherein one of the syntax elements identifies a group of inter-coded pixel blocks whose prediction during decoding does not rely on decoded values from other pixel blocks of the same group.

5. The method of claim 1 , wherein one of the syntax elements identifies a group of intra-coded pixel blocks whose prediction during decoding does not rely on decoded values from other pixel blocks of the same group.

6. The method of claim 1 , wherein at least one group comprises a plurality of spatially-adjacent pixel blocks.

7. The method of claim 1 , wherein at least one group comprises a plurality of temporally-adjacent pixel blocks.

8. A non-transitory computer-readable memory having stored thereon a plurality of instructions for decoding a compressed video sequence comprising one or more coded pixel blocks, which when executed by a processor, cause the processor to:

buffer the compressed video sequence, the compressed video sequence comprising a plurality of coded pixel blocks;

identify, from a syntax element of the compressed video sequence, groups of adjacent blocks from the coded pixel blocks that share a common reference frame and can be decoded in parallel from each other;

organize the coded pixel blocks according to the groups based on the syntax element;

schedule decoding of the coded pixel blocks on a group-by-group basis; and

decode the groups of coded pixel blocks according to the group-by-group schedule to produce a decoded video data sequence, wherein the decoding of each pixel block in a group uses content from the common reference frame for the respective group.

9. The memory of claim 8 , wherein one of the syntax elements identifies a group of coded pixel blocks that share a common motion vector, and the decoding of the respective group comprises decoding each pixel block in the group using the common motion vector.

10. The memory of claim 8 , wherein one of the syntax elements identifies a group of coded pixel blocks that share a common reference frame, and the decoding of the respective group comprises decoding each pixel block in the group using content from the common reference frame.

11. The memory of claim 8 , wherein one of the syntax elements identifies a group of inter-coded pixel blocks whose prediction during decoding does not rely on decoded values from other pixel blocks of the same group.

12. The memory of claim 8 , wherein one of the syntax elements identifies a group of intra-coded pixel blocks whose prediction during decoding does not rely on decoded values from other pixel blocks of the same group.

13. The memory of claim 8 , wherein at least one group comprises a plurality of spatially-adjacent pixel blocks.

14. The memory of claim 8 , wherein at least one group comprises a plurality of temporally-adjacent pixel blocks.

15. A method for encoding a video sequence, comprising:

coding data from a video source according to a coding protocol, wherein the coded data identifies

by a syntax element of the coding protocol, groups of adjacent blocks from the coded pixel blocks that share a common reference frame and can be decoded in parallel from each other and the encoding of the respective group comprises decoding each pixel block in the group using content from the common reference frame;

transmitting the coded data to a decoder device.

16. The method of claim 15 , wherein one of the syntax elements identifies a group of coded pixel blocks that share a common motion vector, and the encoding of the respective group comprises decoding each pixel block in the group using the common motion vector.

17. The method of claim 15 , wherein one of the syntax elements identifies a group of coded pixel blocks that share a common reference frame, and the encoding of the respective group comprises decoding each pixel block in the group using content from the common reference frame.

18. The method of claim 15 , wherein one of the syntax elements identifies a group of inter-coded pixel blocks whose prediction does not rely on decoded values from other pixel blocks of the same group.

19. The method of claim 15 , wherein one of the syntax elements identifies a group of intra-coded pixel blocks whose prediction does not rely on decoded values from other pixel blocks of the same group.

20. The method of claim 15 , wherein at least one group comprises a plurality of spatially-adjacent pixel blocks.

21. The method of claim 15 , wherein at least one group comprises a plurality of temporally-adjacent pixel blocks.

22. The method of claim 15 , wherein the coding varies based on capabilities of the decoder device to which the coded data is transmitted.

23. A method for decoding a compressed video data sequence, comprising:

buffering the compressed video sequence, the compressed video sequence comprising a plurality of coded pixel blocks;

identifying, from a syntax element of the compressed video sequence, groups of the coded pixel blocks that share a common reference frame and can be decoded in parallel from each other;

scheduling decoding of the coded pixel blocks on a group-by-group basis; and

decoding the groups of coded pixel blocks according to the group-by-group schedule to produce a decoded video data sequence, wherein the decoding of each pixel block in a group uses content from the common reference frame for the respective group.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 24, 2017
From: PUN, THOMAS; CHANG, PAUL; WU, HSI-JUNG
To: APPLE COMPUTER, INC.
Reel/Frame 043387/0750 →
CHANGE OF NAME Recorded Aug 24, 2017
From: APPLE COMPUTER, INC.
To: APPLE INC.
Reel/Frame 043387/0834 →
Continuity (5)
Continuation 14723264 · May 27, 2015
Continuation 13562229 · Jul 30, 2012
Continuation 11462449 · Aug 4, 2006
Provisional Application 60737772 · Nov 18, 2005
Related Publication 20180091811A1 · Mar 29, 2018