Parallel decoding method for layered video coding
Abstract
Systems, methods, and instrumentalities are disclosed for parallel decoding of a layered video stream. A base layer video stream and an enhancement layer video stream may be received. A picture of the base layer video stream may be decoded via a first processing thread. An inter-layer reference picture associated with the base layer video stream may be generated via the first processing thread. The inter-layer reference picture may include one or more motion fields. A picture of the enhancement layer video stream may be decoded via a second thread using the inter-layer reference picture. The first processing thread and the second processing thread may be synchronized such that the decoding of the picture of the enhancement layer video stream is performed after the generation of the inter-layer reference picture.
Claims
exact text as granted — not AI-modified1 - 23 . (canceled)
24 . A video decoding method comprising:
receiving a video bitstream; allocating a set of processing threads for decoding a picture of the video bitstream that comprises a plurality of coding units, wherein the set of processing threads comprises an entropy decoding thread and one or more additional processing threads; entropy decoding, using the entropy decoding thread, the plurality of coding units of the picture to produce entropy decoding symbols; separating, based on one or more of a measure of entropy decoding speed or a number of the one or more additional processing threads that are available, the plurality of coding units into coding unit groups; and upon completion of the entropy decoding of coding units in a respective coding unit group, processing, using an available additional processing thread, entropy decoding symbols associated with the respective coding unit group to decompress the respective coding unit group.
25 . The video decoding method of claim 24 , wherein two or more of the coding unit groups are processed in parallel using the one or more additional processing threads.
26 . The video decoding method of claim 24 , wherein the plurality of coding units are separated into the coding unit groups based on a measure of decompression speed associated with the one or more additional processing threads.
27 . The video decoding method of claim 24 , further comprising determining, at a decoding time of the picture, coding unit group sizes, wherein the plurality of coding units are separated based on the coding unit group sizes.
28 . The video decoding method of claim 24 , wherein processing the entropy decoding symbols associated with the respective coding unit group comprises one or more of performing motion compensation, performing inverse transform, performing coding unit reconstruction, or loop filtering.
29 . The video decoding method of claim 24 , further comprising determining, at a decoding time of the picture based on one or more properties of the video bitstream or one or more decoding resources, the number of the one or more additional processing threads that are available.
30 . The video decoding method of claim 24 , wherein the video bitstream is a scalable video bitstream, and wherein the picture is a base layer picture or an enhancement layer picture.
31 . The video decoding method of claim 24 , wherein the measure of entropy decoding speed comprises a calculated entropy decoding speed for the video bitstream at a predetermined bitrate.
32 . The video decoding method of claim 24 , wherein a first additional processing thread decompresses a first group of coding units and a second additional processing thread decompresses a second group of coding units, and wherein the first additional processing thread decompresses a third group of coding units upon completing decompression of the first group of coding units.
33 . The video decoding method of claim 24 , wherein the coding units are separated into the coding unit groups at a decoding time of the picture.
34 . The video decoding method of claim 24 , wherein the picture comprises a plurality of slices, each slice comprising one or more coding unit groups.
35 . A device for decoding a video bitstream comprising one or more processors configured at least in part to:
receive the video bitstream; allocate a set of processing threads to decode a picture of the video bitstream that comprises a plurality of coding units, wherein the set of processing threads comprises an entropy decoding thread and one or more additional processing threads; entropy decode, using the entropy decoding thread, the plurality of coding units of the picture to produce entropy decoding symbols; separate, based on one or more of a measure of entropy decoding speed or a number of the one or more additional processing threads that are available, the plurality of coding units into coding unit groups; and upon completion of the entropy decoding of the coding units in a respective coding unit group, process, using an available additional processing thread, entropy decoding symbols associated with the respective coding unit group of coding to decompress the respective coding unit group.
36 . The device of claim 35 , wherein two or more of the coding unit groups are processed in parallel using the one or more additional processing threads.
37 . The device of claim 35 , wherein the plurality of coding units are separated into the coding unit groups based on a measure of decompression speed associated with the one or more additional processing threads.
38 . The device of claim 35 , wherein the one or more processors are further configured to determine, at a decoding time of the picture, coding unit group sizes, wherein the plurality of coding units are separated based on the coding unit group sizes.
39 . The device of claim 35 , wherein being configured to process the entropy decoding symbols associated with the respective coding unit group comprises being configured to perform one or more of motion compensation, inverse transform, coding unit reconstruction, or loop filtering.
40 . The device of claim 35 , wherein the one or more processors are further configured to determine, at a decoding time of the picture based on one or more properties of the video bitstream or one or more decoding resources of the device, the number of the one or more additional processing threads that are available.
41 . The device of claim 35 , wherein the video bitstream is a scalable video bitstream, and wherein the picture is a base layer picture or an enhancement layer picture.
42 . The device of claim 35 , wherein a first additional processing thread decompresses a first group of coding units and a second additional processing thread decompresses a second group of coding units, and wherein the first additional processing thread decompresses a third group of coding units upon completing decompression of the first group of coding units.
43 . The device of claim 35 , wherein the picture comprises a plurality of slices, each slice comprising one or more coding unit groups.Join the waitlist — get patent alerts
Track US2019037225A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.