Claims
- 1. A method of selecting which video sequence frames to skip during an encoding process, the method comprising:
receiving a sequence of frames; for each frame in at least a portion of the sequence of frames, determining a corresponding mean of absolute differences value weighted by a temporal parameter between frames bracketing said each frame; and at least partly based on the corresponding mean of absolute differences value weighted by a temporal parameter calculated for each frame, skipping a first frame in the sequence of frames.
- 2. The method as defined in claim 1, further comprising:
receiving a target frame rate; and determining if the target frame rate is met with the first frame skipped.
- 3. The method as defined in claim 2, wherein at least partly in response to determining that the target frame rate is not met with the first frame skipped, selecting a second frame for skipping based at least in part on a second corresponding mean of absolute differences value weighted by a second temporal parameter between frames bracketing the second frame.
- 4. The method as defined in claim 1, further comprising limiting to a first amount how many consecutive frames can be skipped.
- 5. The method as defined in claim 1, wherein a first intracoded frame is excluded from being skipped.
- 6. The method as defined in claim 1, wherein a last frame in the sequence of frames is excluded from being skipped.
- 7. The method as defined in claim 1, further comprising providing a header for the first skipped frame and setting a flag indicating that the first frame is not coded.
- 8. A method of determining which frames to skip in a video sequence, the method comprising:
receiving a first frame rate goal; selecting a first potential frame to be skipped, the first potential frame between a first frame and a last frame in a video sequence scene; calculating a first cost value for the first potential frame to be skipped, the first cost value related to the visual impact that would result from skipping the first potential frame; storing the first cost value in computer readable memory; selecting a second potential frame to be skipped, the second potential frame between the first frame and the last frame; calculating a second cost value for the second potential frame to be skipped; storing the second cost value in computer readable memory; selecting a third potential frame to be skipped, the third potential frame between the first frame and the last frame; calculating a third cost value for the third potential frame to be skipped; storing the third cost value in computer readable memory; determining which one of the first, second, and third cost values has the least cost; skipping the one of the one of the first, second, and third potential frames corresponding to the least cost value; determining if the first frame rate goal is met; and at least partly in response to determining the first frame rate goal is not met, recalculating cost values associated with frames remaining from the first, second and third potential frames, and skipping the one of the remaining frames having the least recalculated cost value.
- 9. The method as defined in claim 8, wherein the first cost value is based at least in part on a mean average difference (MAD) value and a time difference between the first frame and the second potential frame to be skipped.
- 10. The method as defined in claim 9, wherein only a portion of pixels in the first frame and the second potential frame to be skipped are evaluated in determining the MAD value.
- 11. The method as defined in claim 9, wherein the time difference is normalized to an NTSC frame rate.
- 12. The method as defined in claim 8, wherein the number of frames that are allowed to be consecutively skipped is limited to a first number.
- 13. The method as defined in claim 8, further comprising providing a header for each skipped frame.
- 14. The method as defined in claim 8, further comprising transmitting a Header Extension Code (HEC), including sequence information, in every packet in a sequence of video packets.
- 15. A method of selecting image frames to be skipped during an encoding process, the method comprising:
receiving a sequence of frames including a first frame; calculating a first cost function value for the first frame, wherein the cost function includes a first temporal parameter related to a time difference and luminosity differences between frames bounding the first frame; calculating a second cost function value for a second frame, wherein the cost function includes a second temporal parameter related to a time difference between frames and luminosity differences bounding the second frame; and selecting for skipping one of the first frame and the second frame based at least in part on the first cost function value and the second cost function value.
- 16. The method as defined in claim 15, further comprising:
receiving a target frame rate; and determining if the target frame rate is met with one of the first frame and the second frame being skipped.
- 17. The method as defined in claim 15, wherein the luminosity differences between frames bounding the first frame are defined using a mean of average difference function.
- 18. The method as defined in claim 15, further comprising limiting to a first amount how many consecutive frames can be skipped.
- 19. The method as defined in claim 15, wherein the first temporal parameter is normalized to a first frame rate.
- 20. A processor circuit configured to select video frames to skip in a sequence of frames, the processor circuit comprising:
a first instruction configured to calculate for each frame in at least a portion of the sequence of frames a corresponding mean of absolute differences value weighted by a temporal parameter between frames bracketing said each frame in the portion of the sequence of frames; and a second instruction configured to designate a first frame to be skipped based at least in part on the corresponding mean of absolute differences value weighted by the temporal parameter.
- 21. The processor circuit as defined in claim 20, further comprising a third instruction configured to determine if a target frame rate is met assuming the first frame is skipped.
- 22. The processor circuit as defined in claim 20, further comprising a third instruction configured to limit to a first amount how many consecutive frames can be skipped.
- 23. A frame rate control apparatus, comprising:
a first instruction configured to receive a frame rate target; a second instruction configured to calculate a first cost function value for a first frame in a sequence of frames, wherein the first cost function value is based at least in part on a first temporal parameter related to a time difference and luminosity differences between frames in the sequence of frames bounding the first frame; a third instruction configured to calculate a second cost function value for a second frame in the sequence of frames, wherein the second cost function based at least in part on a second temporal parameter related to a time difference and luminosity differences between frames in the sequence of frames bounding the second frame; a fourth instruction configured to select for skipping one of the first frame and the second frame based at least in part on the first cost function value and the second cost function value; and a fifth instruction configured to determine if the target frame rate is met with the selected one of the first frame and the second frame skipped.
- 24. The frame rate control apparatus as defined in claim 23, wherein the frame rate control apparatus is an integrated circuit.
- 25. The frame rate control apparatus as defined in claim 23, wherein the luminosity differences between frames bounding the first frame are defined using a mean of average difference function.
PRIORITY CLAIM
[0001] This application claims the benefit under 35 U.S.C. 119(e) of U.S. Provisional Application No. 60/273,443, filed Mar. 5, 2001, U.S. Provisional Application No. 60/275,859, filed Mar. 14, 2001, and U.S. Provisional Application No. 60/286,280, filed Apr. 25, 2001, which are incorporated herein in their entirety.
Provisional Applications (3)
|
Number |
Date |
Country |
|
60273443 |
Mar 2001 |
US |
|
60275859 |
Mar 2001 |
US |
|
60286280 |
Apr 2001 |
US |