Back to results
US 2008/0291995 A1Published application
Adaptive video encoding apparatus and methods
AssigneeSynopsys, Inc.
InventorsCarl Norman Graham, Seow Chuan Lim, Aris Aristodemou, John R.M. Mason, Tim Hall, Yazid Nemouchi, Kar-Lik Wong
Life of this patent
Estimating the term…
Abstract
Methods and apparatus for adaptive encoding of data such as for example video data. In one exemplary embodiment, a real-time video encoder is disclosed that changes video encoding processes to produce the best quality encoded video whilst maintaining a target encoding frame rate, according to one or more operating constraints.
Claims38
A digital processor comprising:
- one or more processor cores;
- a program memory in communication with said one or more processor cores storing computer-executable instructions, which when executed by the one or more processor cores, cause the one or more processor cores to encode one or more frames of video in response to changes in at least one of system resources or picture characteristics by performing a method comprising:
- encoding a first sequence of macroblocks of the one or more frames using a first set of video encoding tools;
- starting a counter to monitor time progression for the first sequence;
- checking intra-macroblock encoding progress for the first sequence at a first set of one or more check progress points, wherein at each of the one or more check progress points in the first set, if the encoding progress is satisfactory, continuing to use the first set of video encoding tools for encoding the first sequence, and wherein at each of the one or more check progress points in the first set, if the encoding progress is not satisfactory, using a second set of video encoding tools for encoding the first sequence;
- restarting the counter to monitor time progression for a second sequence of macroblocks of the one or more frames;
- encoding the second sequence of macroblocks of the one or more frames using the first set of video encoding tools;
- and
- checking intra-macroblock encoding progress for the second sequence at a second set of one or more check progress points, wherein at each of the one or more check progress points in the second set, if the encoding progress is satisfactory, continuing to use the first set of video encoding tools for encoding the second sequence, and wherein at each of the one or more check progress points in the second set, if the encoding progress is not satisfactory, using a second set of video encoding tools for encoding the second sequence.
6 more elements
A method for dynamically encoding video comprising:
- receiving one or more frames of the video;
- encoding a first sequence of macroblocks of the one or more frames using a first set of video encoding tools;
- starting a counter to monitor time progression for the first sequence;
- checking intra-macroblock encoding progress for the first sequence at a first set of one or more check progress points, wherein at each of the one or more check progress points in the first set, if the encoding progress is satisfactory, continuing to use the first set of video encoding tools for encoding the first sequence, and wherein at each of the one or more check progress points in the first set, if the encoding progress is not satisfactory, using a second set of video encoding tools for encoding the first sequence;
- restarting the counter to monitor time progression for a second sequence of macroblocks of the one or more frames;
- encoding the second sequence of macroblocks of the one or more frames using the first set of video encoding tools;
- and
- checking intra-macroblock encoding progress for the second sequence at a second set of one or more check progress points, wherein at each of the one or more check progress points in the second set, if the encoding progress is satisfactory, continuing to use the first set of video encoding tools for encoding the second sequence, and wherein at each of the one or more check progress points in the second set, if the encoding progress is not satisfactory, using a second set of video encoding tools for encoding the second sequence.
5 more elements
Dependencies are inferred from the claim text.