IP Library Granted Patent US 9,794,579
Granted Patent B2
US 9,794,579 · App. 14/330,836 · Granted Oct 17, 2017

Decoded picture buffer operations for video coding

Inventors: Adarsh Krishnan Ramasubramonian (San Diego, CA); Ying Chen (San Diego, CA); Ye-Kui Wang (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04N19/29H04N19/30H04N19/423H04N19/597H04N19/70
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 9,794,579
App. No.
14/330,836
Granted
Oct 17, 2017
Kind
B2
Abstract

A method of decoding video data comprising partitioning a decoded picture buffer (DPB) into a plurality of sub-DPBs, receiving at least one indication of a sub-DPB size for the plurality of sub-DPBs for one or more operation points of a multi-layer video coding process, and allocating memory space for the plurality of sub-DPBs based on the at least one indication.

Claims (90)

1. A method of decoding video data, the method comprising:

partitioning a decoded picture buffer (DPB) into a plurality of sub-DPBs;

receiving, in a video parameter set, at least one indication of a sub-DPB size for the plurality of sub-DPBs for a plurality of operation points of a multi-layer video coding process, wherein respective operation points define a highest temporal ID and a set of target output layers of the multi-layer video coding process that are decoded for a particular picture to be output;

allocating memory space for the plurality of sub-DPBs based on the at least one indication;

decoding pictures for a plurality of layers; and

storing the pictures for the plurality of layers in the plurality of sub-DPBs.

2. The method of claim 1 , wherein each of the plurality of sub-DPBs is configured to store pictures for one of a plurality of different layer types in the multi-layer video coding process, and wherein storing the pictures for the plurality of layers in the plurality of sub-DPBs comprises storing pictures for each of the plurality of layers in a particular one of the sub-DPBs according to a layer type of the respective picture.

3. The method of claim 2 , further comprising:

outputting the pictures stored in the plurality of sub-DPBs according to an output time, wherein pictures in sub-DPBs having the same output time are output at the same time;

performing a marking process on the pictures in each of the plurality of sub-DPBs independently, wherein the marking process marks pictures as used for reference or marks the pictures as unused for reference; and

removing pictures from the plurality of sub-DPBs that are no longer needed for output and have been marked as unused for reference.

4. The method of claim 2 , further comprising:

determining the layer type by at least one of a spatial resolution, bit depth, or color format.

5. The method of claim 2 , wherein the multi-layer video coding process is one of a multi-view video coding process or a scalable video coding process.

6. The method of claim 1 , wherein the at least one indication is a syntax element having a value that explicitly indicates the sub-DPB size, and wherein the sub-DPB size is a number of pictures.

7. The method of claim 1 , wherein the at least one indication is a syntax element having a value that represents a difference between the sub-DPB size for the plurality of operation points and a sub-DPB size for a previously signaled operation point.

8. The method of claim 1 , wherein receiving the at least one indication of the sub-DPB size comprises receiving a respective indication of sub-DPB size for each of the plurality of sub-DPBs for the plurality of operation points of the multi-layer video coding process.

9. The method of claim 1 , further comprising:

receiving an indication of a number of the sub-DPBs; and

partitioning the DPB into a plurality of sub-DPBs based on the indication of the number of sub-DPBs.

10. The method of claim 9 , further comprising:

deriving an index identifying each of the plurality of sub-DPBs according to a layer type.

11. An apparatus configured to decode video data, the apparatus comprising:

a decoded picture buffer (DPB) configured to store video data; and

a video decoder configured to:

partition the DPB into a plurality of sub-DPBs;

receive, in a video parameter set, at least one indication of a sub-DPB size for the plurality of sub-DPBs for a plurality of operation points of a multi-layer video coding process, wherein respective operation points define a highest temporal ID and a set of target output layers of the multi-layer video coding process that are decoded for a particular picture to be output;

allocate memory space for the plurality of sub-DPBs based on the at least one indication;

decode pictures for a plurality of layers; and

store the pictures for the plurality of layers in the plurality of sub-DPBs.

12. The apparatus of claim 11 , wherein each of the plurality of sub-DPBs is configured to store pictures for one of a plurality of different layer types in the multi-layer video coding process, and wherein the video decoder is further configured to store pictures for each the plurality of layers in a particular one of the sub-DPBs according to a layer type of the respective picture.

13. The apparatus of claim 12 , wherein the video decoder is further configured to:

output the pictures stored in the plurality of sub-DPBs according to an output time, wherein pictures in sub-DPBs having the same output time are output at the same time;

perform a marking process on the pictures in each of the plurality of sub-DPBs independently, wherein the marking process marks pictures as used for reference or marks the pictures as unused for reference; and

remove pictures from the plurality of sub-DPBs that are no longer needed for output and have been marked as unused for reference.

14. The apparatus of claim 12 , wherein the video decoder is further configured to:

determine the layer type by at least one of a spatial resolution, bit depth, or color format.

15. The apparatus of claim 12 , wherein the multi-layer video coding process is one of a multi-view video coding process or a scalable video coding process.

16. The apparatus of claim 11 , wherein the at least one indication is a syntax element having a value that explicitly indicates the sub-DPB size, and wherein the sub-DPB size is a number of pictures.

17. The apparatus of claim 11 , wherein the at least one indication is a syntax element having a value that represents a difference between a sub-DPB size for the plurality of operation points and a sub-DPB size for a previously signaled operation point.

18. The apparatus of claim 11 , wherein the video decoder is further configured to receive a respective indication of the sub-DPB size for each of the plurality of sub-DPBs for the plurality of operation points of the multi-layer video coding process.

19. The apparatus of claim 18 , wherein the video decoder is further configured to:

receive an indication of a number of sub-DPBs; and

partition the DPB into a plurality of sub-DPBs based on the indication of the number of sub-DPBs.

20. The apparatus of claim 19 , wherein the video decoder is further configured to:

derive an index identifying each of the plurality of sub-DPBs according to a layer type.

21. An apparatus configured to decode video data, the apparatus comprising:

means for partitioning a decoded picture buffer (DPB) into a plurality of sub-DPBs;

means for receiving, in a video parameter set, at least one indication of a sub-DPB size for the plurality of sub-DPBs for a plurality of operation points of a multi-layer video coding process, wherein respective operation points define a highest temporal ID and a set of target output layers of the multi-layer video coding process that are decoded for a particular picture to be output;

means for allocating memory space for the plurality of sub-DPBs based on the at least one indication;

means for decoding pictures for a plurality of layers; and

means for storing the pictures for the plurality of layers in the plurality of sub-DPBs.

22. A non-transitory computer-readable storage medium storing instructions that, when executed, cause one or more processors of a device configured to decode video data to:

partition a decoded picture buffer (DPB) into a plurality of sub-DPBs;

receive, in a video parameter set, at least one indication of a sub-DPB size for the plurality of sub-DPBs for a plurality of operation points of a multi-layer video coding process, wherein respective operation points define a highest temporal ID and a set of target output layers of the multi-layer video coding process that are decoded for a particular picture to be output;

allocate memory space for the plurality of sub-DPBs based on the at least one indication;

decode pictures for a plurality of layers; and

store the pictures for the plurality of layers in the plurality of sub-DPBs.

23. A method of encoding video data, the method comprising:

encoding a plurality of pictures of a plurality of different layer types;

reconstructing the plurality of pictures of the plurality of different layer types;

storing the plurality of pictures in a decoded picture buffer (DPB), wherein the DPB is partitioned into a plurality of sub-DPBs; and

generating, in a video parameter set, at least one indication of a sub-DPB for the plurality of sub-DPBs for a plurality of operation points of a multi-layer video coding process, wherein respective operation points define a highest temporal ID and a set of target output layers of the multi-layer video coding process that are decoded for a particular picture to be output.

24. The method of claim 23 , wherein each of the plurality of sub-DPBs is configured to store pictures for one of a plurality of different layer types in the multi-layer video coding process, and wherein storing the pictures for the plurality of layers in the plurality of sub-DPBs comprises storing pictures for each of the plurality of layers in a particular one of the sub-DPBs according to a layer type of the respective picture.

25. The method of claim 24 , wherein the multi-layer video coding process is one of a multi-view video coding process or a scalable video coding process.

26. The method of claim 23 , wherein the at least one indication is a syntax element having a value that explicitly indicates the sub-DPB size, and wherein the sub-DPB size is a number of pictures.

27. The method of claim 23 , wherein the at least one indication is a syntax element having a value that represents a difference between a sub-DPB size for the plurality of operation points and a sub-DPB size for a previously signaled operation point.

28. The method of claim 23 , wherein generating the at least one indication of the sub-DPB size comprises generating a respective indication of the sub-DPB size for each of the plurality of sub-DPBs for the plurality of operation points of the multi-layer video coding process.

29. An apparatus configured to encode video data, the apparatus comprising:

a decoded picture buffer (DBP) configured to store video data; and

a video encoder configured to:

encode a plurality of pictures of a plurality of different layer types;

reconstruct the plurality of pictures of the plurality of different layer types;

store the plurality of pictures in the DPB, wherein the DPB is partitioned into a plurality of sub-DPBs; and

generate, in a video parameter set, at least one indication of a sub-DPB size for the plurality of sub-DPBs for a plurality of operation points of a multi-layer video coding process, wherein respective operation points define a highest temporal ID and a set of target output layers of the multi-layer video coding process that are decoded for a particular picture to be output.

30. The apparatus of claim 29 , wherein each of the plurality of sub-DPBs is configured to store pictures for one of a plurality of different layer types in the multi-layer video coding process, and wherein storing the pictures for the plurality of layers in the plurality of sub-DPBs comprises storing pictures for each of the plurality of layers in a particular one of the sub-DPBs according to a layer type of the respective picture.

31. The apparatus of claim 30 , wherein the multi-layer video coding process is one of a multi-view video coding process or a scalable video coding process.

32. The apparatus of claim 29 , wherein the at least one indication is a syntax element having a value that explicitly indicates the sub-DPB size, and wherein the sub-DPB size is a number of pictures.

33. The apparatus of claim 29 , wherein the at least one indication is a syntax element having a value that represents a difference between a sub-DPB size for the plurality of operation points and a sub-DPB size for a previously signaled operation point.

34. The apparatus of claim 29 , wherein the video encoder is further configured to generate a respective indication of the sub-DPB size for each of the plurality of sub-DPBs for the plurality of operation points of a multi-layer video coding process.

35. An apparatus configured to encode video data, the apparatus comprising:

means for encoding a plurality of pictures of a plurality of different layer types;

means for reconstructing the plurality of pictures of the plurality of different layer types;

means for storing the plurality of pictures in a decoded picture buffer (DPB), wherein the DPB is partitioned into a plurality of sub-DPBs; and

means for generating, in a video parameter set, at least one indication of a sub-DPB size for the plurality of sub-DPBs for a plurality of operation points of a multi-layer video coding process, wherein respective operation points define a highest temporal ID and a set of target output layers of the multi-layer video coding process that are decoded for a particular picture to be output.

36. A non-transitory computer-readable medium storing instructions that, when executed, cause one or more processors of a device configured to encode video data to:

encode a plurality of pictures of a plurality of different layer types;

reconstruct the plurality of pictures of the plurality of different layer types;

store the plurality of layer pictures in the DPB, wherein the DPB is partitioned into a plurality of sub-DPBs; and

generate, in a video parameter set, at least one indication of a sub-DPB size for the plurality of sub-DPBs for a plurality of operation points of a multi-layer video coding process, wherein respective operation points define a highest temporal ID and a set of target output layers of the multi-layer video coding process that are decoded for a particular picture to be output.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2014
From: RAMASUBRAMONIAN, ADARSH KRISHNAN; CHEN, YING; WANG, YE-KUI
To: QUALCOMM INCORPORATED
Reel/Frame 033465/0604 →
Continuity (2)
Provisional Application 61846576 · Jul 15, 2013
Related Publication 20150016545A1 · Jan 15, 2015