P
US9609323B2ActiveUtilityPatentIndex 68

Iterative video optimization for data transfer and viewing

Assignee: LEE YUCHUNPriority: Jun 26, 2014Filed: Jun 26, 2014Granted: Mar 28, 2017
Est. expiryJun 26, 2034(~8 yrs left)· nominal 20-yr term from priority
Inventors:LEE YUCHUNBLACK ANDRECHIN EDWARDMAGNACCA MARKKENNEDY RUBY
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-modified
What 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.