Efficient video decoding migration for multiple graphics processor systems
First Claim
Patent Images
1. An apparatus comprising:
- a plurality of graphics processing units each providing rendered graphics data to one or more users;
an input circuit receiving video stream data from a data store, the data including one or more individual encoded video streams, each encoded video stream of the one or more individual encoded video streams organized into groups of frames including intra-coded frames that are decoded without information from other frames within a group, and inter-coded frames that are decoded using information from at least one other frame within the group; and
a frame processing component;
examining a received video stream for a first graphics processing unit;
initiating decoding of the received video stream on a second graphics processing unit upon receipt of a data migration signal, wherein the data migration signal is received upon a triggering event selected from the group consisting of;
failure of the first graphics processing unit, scheduled maintenance of the first graphics processing unit, and excessive workload sustained by the first graphics processing unit;
decoding and rendering the video stream by the second graphics processing unit upon receipt of a successive intra-coded frame of the video stream if an amount of time between the triggering event and the successive intra-coded frame does not exceed a defined threshold time value; and
stopping decoding of the received video stream on the first graphics processing unit.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments of the invention as described herein provide a solution to the problems of conventional methods as stated above. In the following description, various examples are given for illustration, but none are intended to be limiting. Embodiments include a frame processor module in a graphics processing system that examines the intra-coded and inter-coded frames in an encoded video stream and initiates migration of decoding and rendering functions to a second graphics processor from a first graphics processor based on the location of intra-coded frames in a video stream and the composition of intermediate inter-coded frames.
22 Citations
20 Claims
-
1. An apparatus comprising:
-
a plurality of graphics processing units each providing rendered graphics data to one or more users; an input circuit receiving video stream data from a data store, the data including one or more individual encoded video streams, each encoded video stream of the one or more individual encoded video streams organized into groups of frames including intra-coded frames that are decoded without information from other frames within a group, and inter-coded frames that are decoded using information from at least one other frame within the group; and a frame processing component; examining a received video stream for a first graphics processing unit; initiating decoding of the received video stream on a second graphics processing unit upon receipt of a data migration signal, wherein the data migration signal is received upon a triggering event selected from the group consisting of;
failure of the first graphics processing unit, scheduled maintenance of the first graphics processing unit, and excessive workload sustained by the first graphics processing unit;decoding and rendering the video stream by the second graphics processing unit upon receipt of a successive intra-coded frame of the video stream if an amount of time between the triggering event and the successive intra-coded frame does not exceed a defined threshold time value; and stopping decoding of the received video stream on the first graphics processing unit. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for migrating digital video stream decoding from a first graphics processing unit (GPU) to a second GPU, comprising:
-
receiving a notification that migration from the first GPU to the second GPU is required; analyzing a video stream rendered by the first GPU and organized into groups of frames including intra-coded frames that are decoded without information from other frames within a group, and inter-coded frames that are decoded using information from at least one other frame within the group, to determine an amount of time between a migration trigger event and a next intra-coded frame, wherein the trigger event is selected from the group consisting of;
failure of the first GPU, scheduled maintenance of the first GPU, and excessive bandwidth consumption by the first GPU;initiating decoding of the received video stream on a second GPU upon receipt of a data migration signal upon occurrence of the migration trigger event; comparing an amount of time between the triggering event and a successive intra-coded frame of the video stream with a defined threshold time value; determining an identity of reference frames required by a successive inter-coded frame of the video stream; determining an amount of copy bandwidth available to copy at least a portion of the received video stream from the first GPU to the second GPU; determining a relative difference between a time required to copy the portion of the received video stream to the second GPU and a time required to decode a next frame of the portion of the received video stream in the second GPU; and stopping decoding of the received video stream on the first GPU. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A method for migrating an MPEG-encoded digital video stream decoding from a first graphics processing unit (GPU) to a second GPU, comprising:
-
receiving a notification that migration from the first GPU to the second GPU is required; analyzing the video stream as organized into groups of frames including I-frames, P-frames and B-frames, to determine an amount of time between a migration trigger event and a next I-frame; determining a frame type of a next frame to be processed by the first GPU, and initiating decoding of the video stream on the second GPU and migration of the video stream to the second GPU based on an amount of time between the migration trigger event and the next I-frame, an amount of copy bandwidth available, and an identity of reference frames required by the next frame; if the next frame is a P-frame and if the time to the next I-frame is less than a defined threshold time; decoding a remainder of a portion of the video stream on the first GPU; and migrating the remainder of the entire video stream to the second GPU starting with the next I-frame; and stopping decoding of the received video stream on the first GPU. - View Dependent Claims (17, 18, 19, 20)
-
Specification