Concurrent decompression of multiple video streams with constrained decompression resources
AssigneeInFocus Corporation
InventorsTzvetan Mikov, Stanislav Angelov, Robert Gardyne
Life of this patent
Estimating the term…
Abstract
A method and system for gracefully reducing demands for shared decompression resources required to present multiple video streams concurrently such that their streaming video content is simultaneously available for further processing or display. In particular, it relates to the use of presentation time stamps for incoming frames with reference to a time base clock and a threshold to determine if the decompression resources are falling behind in their ability to process incoming frames in real time. If this occurs then frames are dropped, i.e. discarded without being decompressed, with preference given to dropping incremental frames rather than key frames.
Claims25
A method of reducing demands for shared decompression resources required to present a plurality of video streams concurrently, the method including:
- at a decompression processor in a computing device, receiving a key frame in each of the plurality of video streams for decompression;
- obtaining presentation time stamps, abbreviated PTSs, for the key frames, benchmarking a first PTS against one or more time base clocks to obtain benchmark reference values, and decompressing the key frames, wherein the presentation time stamps give presentation times at which the frames are to be presented or displayed;
- receiving additional frames in the plurality of video streams;
- obtaining additional PTSs for at least some subsequent additional frames;
- when particular additional PTSs for particular additional frames, as compared to the one or more time base clocks and the benchmark reference values, indicate that the particular additional PTSs have fallen behind their respective presentation times, by more than a threshold, at which the particular additional frames should be presented, responsively initiating dropping of incremental frames in the respective video streams at least until receipt of a further key frame to distribute the dropped incremental frames over at least a portion of the plurality of video streams;
- and
- decompressing at least some incremental frames that are not dropped in the plurality of video streams.
A computer system for reducing demands for shared decompression resources required to present a plurality of video streams concurrently, the system including:
- a processor and a non-transitory computer readable storage medium storing computer instructions configured to cause the processor to:
- receive a key frame in each of the plurality of video streams for decompression by a decompression processor;
- obtain presentation time stamps, abbreviated PTSs, for each of the key frames, benchmark the PTSs against one or more time base clocks to obtain benchmark reference values, and decompress the key frames, wherein the presentation time stamps give presentation times at which the frames are to be presented or displayed;
- receive additional frames in the plurality of video streams;
- obtain additional PTSs for at least some subsequent additional frames;
- when particular additional PTSs for particular additional frames, as compared to the one or more time base clocks and the benchmark reference values, indicate that the particular additional PTSs have fallen behind their presentation times, by more than a threshold, at which the particular additional frames should be presented, responsively initiate dropping of incremental frames in the respective video streams at least until receipt of a further key frame;
- and
- decompress at least some incremental frames that are not dropped in the plurality of video streams.
A non-transitory computer readable storage medium storing computer instructions configured to cause a processor to:
- receive a key frame in each of a plurality of video streams for decompression by a decompression processor;
- obtain presentation time stamps, abbreviated PTSs, for each of the key frames, benchmark the PTSs against one or more time base clocks to obtain benchmark reference values, and decompress the key frames, wherein the presentation time stamps give presentation times at which the frames are to be presented or displayed;
- receive additional frames in the plurality of video streams;
- obtain additional PTSs for at least some subsequent additional frames;
- when particular additional PTSs for particular additional frames, as compared to the one or more time base clocks and the benchmark reference values, indicate that the particular additional PTSs have fallen behind their presentation times, by more than a threshold, at which the particular additional frames should be presented, responsively initiate dropping of incremental frames in the respective video streams at least until receipt of a further key frame;
- and
- decompress at least some incremental frames that are not dropped in the plurality of video streams.
Dependencies are inferred from the claim text.