US9609323B2ActiveUtilityPatentIndex 68
Iterative video optimization for data transfer and viewing
Est. expiryJun 26, 2034(~8 yrs left)· nominal 20-yr term from priority
H04N 19/15H04N 19/154H04N 19/117H04N 19/162H04N 19/192H04N 19/179
68
PatentIndex Score
2
Cited by
13
References
27
Claims
Abstract
Computer-implemented techniques that leverage available CPU resources to incrementally improve quality and compression of media for faster transfer over data networks for improved viewing are described.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A system comprises:
a processor;
memory storing a computer program product for improving quality of video files, the computer program product comprising instructions for causing the processor to:
apply a set of batch processes over multiple passes to optimize a video, by configuring the processor to:
apply one or more of the processes from the set to the video to optimize an aspect of video quality of the video to provide an optimized video;
determine a video quality score (V Q ) for the optimized video based on the one or more processes that were applied to the video;
compress the optimized video to produce a compressed representation of the optimized video having a smaller file size than a file size prior to compressing the optimized video;
determine a video compression score (V C ) from the optimized compressed video;
determine a video optimization score (G S ) for the optimized compressed video that is based at least in part on the determined video quality score and determined video compression score according to G S =(V Q )*(V C ); and
analyze the video optimization score to determine whether to provide an additional pass to provide another optimization to the optimized video or whether the optimized iteration of the video should be stored, and when the optimized iteration should be stored, the system is configured to store the optimized iteration as the optimized video.
2. The system of claim 1 wherein a first one of the processes, configures the processor to incrementally remove noise from the video.
3. The system of claim 1 wherein a first one of the processes, configures the processor to incrementally correct the video by aligning frames of video to remove handshaking movements.
4. The system of claim 1 wherein a first one of the processes, configures the processor to incrementally correct the video by applying a pixel-based image processing to smooth and blend the image.
5. The system of claim 1 wherein a first one of the processes, configures the processor to incrementally correct the video by applying a Ricker wavelet function to reduce random pixilation.
6. The system of claim 1 wherein the video is self-captured video.
7. The system of claim 1 wherein the processor is configured by the program to incrementally execute the functions of the program.
8. The system of claim 1 wherein the processor is configured by the program to incrementally execute the functions of the program as a background process.
9. The system of claim 1 wherein the processor is configured by the program to:
determine when a stopping condition is satisfied to obviate the need for further passes.
10. The system of claim 1 wherein the processor is configured by the program to:
determine a priority score representing when relative to other videos, the video should be processed to apply the set of batch processes.
11. The system of claim 1 wherein the video quality score, video compression score and video optimization score are a first video quality score, a first video compression score and a first video optimization score, and the processor is configured by the program to:
determine a second video quality score;
determine a second video compression score; and
determine a second video optimization score based at least in part of the determined second video and second compression scores.
12. The system of claim 1 wherein the determined video optimization score is used to determine whether the optimized video should replace a previous optimized video.
13. A computer-implemented method comprises:
applying by one or more computer systems a set of batch processes over multiple passes to optimize a video, by:
applying one or more processes to the video to optimize an aspect of video quality to provide an optimized video;
determining a video quality score (V Q ) for the optimized video based on the one or more processes that were applied to the video;
compressing the optimized video to produce a compressed representation of the optimized video having a smaller file size than a file size prior to compressing the optimized video;
determining a video compression (V C ) score for the optimized compressed video;
determining a video optimization score (G S ) for the optimized compressed video that is based on the determined video quality score and determined video compression score according to G S =(V Q )*(V C ); and
analyzing the video optimization score to determine whether to provide an additional pass provide another optimization to the optimized video or whether the optimized iteration of the video should be stored, and when the optimized iteration should be stored, the system is configured to store the optimized iteration as the optimized video.
14. The method of claim 13 wherein one of the set of processes comprises:
incrementally removing noise from the video.
15. The method of claim 13 wherein one of the set of processes comprises:
incrementally correcting the video by aligning frames of video to remove handshaking movements.
16. The method of claim 13 wherein one of the set of processes comprises:
incrementally correct the video by applying a pixel-based image processing to smooth and blend the image.
17. The method of claim 13 wherein one of the set of processes comprises:
incrementally correcting the video by applying a Ricker wavelet function to reduce random pixilation.
18. The method of claim 13 wherein one of the set of processes comprises:
incrementally correcting as a background process.
19. The method of claim 13 wherein one of the set of processes comprises:
determining when a stopping condition is satisfied to obviate the need for further passes.
20. The method of claim 13 wherein one of the set of processes comprises:
determining a priority score representing when relative to other videos the video should be processed to apply the set of batch processes.
21. A computer program product tangibly stored on a computer readable hardware storage device for improving quality of video files, the computer program product comprises instructions for causing a processor to:
apply a set of batch processes over multiple passes to optimize a video;
apply one or more processes to the video to optimize an aspect of video quality of the video to provide an optimized video;
determine a video quality score (V Q ) for the optimized video based on the one or more processes that were applied to the video;
compress the optimized video to produce a compressed representation of the optimized video having a smaller file size than a file size prior to compressing the optimized video;
determine a video compression score (V C ) from the optimized compressed video;
determine a video optimization score for the optimized compressed video that is based on the determined video quality score and determined video compression score according G S =(V Q )*(V C ); and
analyze the video optimization score (G S ) to determine whether to provide an additional pass to provide another optimization to the optimized video or whether the optimized iteration of the video should be stored, and when the optimized iteration should be stored, the system is configured to store the optimized iteration as the optimized video.
22. The computer program product of claim 21 wherein one of the set of processes comprises instructions to:
correct the video by aligning frames of video to remove handshaking movements.
23. The computer program product of claim 21 wherein one of the set of processes comprises instructions to:
correct the video by applying a pixel-based image processing to smooth and blend the image.
24. The computer program product of claim 21 wherein one of the set of processes comprises instructions to:
correct the video by applying a Ricker wavelet function to reduce random pixilation.
25. The computer program product of claim 21 wherein one of the set of processes comprises instructions to:
correct as a background process.
26. The computer program product of claim 21 wherein one of the set of processes comprises instructions to:
determine when a stopping condition is satisfied to obviate the need for further passes.
27. The computer program product of claim 21 wherein one of the set of processes comprises instructions to:
determine a priority score representing when relative to other videos the video should be processed.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.