US2010178035A1PendingUtilityA1

System and method for allocation of resources for processing video

Assignee: IPERA TECHNOLOGY INCPriority: Nov 29, 2006Filed: Mar 30, 2010Published: Jul 15, 2010
Est. expiryNov 29, 2026(~0.3 yrs left)· nominal 20-yr term from priority
Inventors:Ian Xie
H04N 21/4402H04N 21/41407H04N 7/17318
44
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

System and method for efficient allocation of resources for processing video. According to an embodiment, the present invention provides a method for processing video. The method includes providing a system for processing video. The system is characterized by a known quantity of processing power. The method also includes providing a video file, which is characterized by a plurality of properties. The plurality of properties includes a file type, resolution, bit rate, frame rate, video quality, etc. The video type is associated with a first compression method. The method further includes determining the video type and the first compression method. Additionally, the method includes determining a first usage for the video file. For example, the first usage being associated with the video type. The method further includes decoding the video. Additionally, the method includes determining a residual processing power, which associated with the first usage. The method also includes providing a first plurality of processing modules.

Claims

exact text as granted — not AI-modified
1 . A method for processing video in a system for processing video in a real time, the real time being associated with a video playback speed, the system being characterized by a first plurality of processing modules and a known quantity of processing power, the processing power being based on at least a predetermined available usage of a central processing unit, the method comprising:
 providing a video, the video being characterized a plurality of properties, the plurality of properties including a video type and a video bit rate, the video type being configured by a first compression type;   determining the video type and the first compression type;   determining a first usage of the predetermined available usage of the central processing unit for the video, the first usage being associated with the video type and the video bit rate;   processing the video to decode the video from the video type being in the first compression type to an uncompressed type;   determining a residual processing power from the first usage of the predetermined available usage of the central processing unit;   selecting a second plurality of processing modules based on the residual processing power, the second plurality of processing modules being a subset of the first plurality of processing modules;   processing the video using the second plurality of processing modules;   scaling the video to match an output size; and   providing an output in accordance to the real time.   
   
   
       2 . The method of  claim 1  wherein the processing power is further based on an available system resources. 
   
   
       3 . The method of  claim 1  wherein the video comprises a video stream. 
   
   
       4 . The method of  claim 1  wherein the video comprises a video file. 
   
   
       5 . The method of  claim 1  further comprising:
 receiving the video from a network location;   buffering the video.   
   
   
       6 . The method of  claim 1  wherein the residual processing power is a function of at least an available system memory. 
   
   
       7 . The method of  claim 1  further determining a video playback bit rate based on the available system power. 
   
   
       8 . A method for processing video in a system for processing video in a real time, the system being characterized by a first plurality of processing modules and a known quantity of processing power, the method comprising:
 providing a video, the video being characterized a plurality of properties, the plurality of properties including a video type and a video bit rate, the video type being associated with a first compression method;   determining the video type and the first compression method;   determining a first usage for the video, the first usage being associated with the video type and the video bit rate;   decoding the video based on the first compression method;   determining a residual processing power, the residual processing power being associated with the first usage and a real playback;   selecting a second plurality of processing modules based on the residual processing power, the second plurality of processing modules being a subset of the first plurality of processing modules;   processing the video using the second plurality of processing modules; and   providing an output in accordance to the real time   wherein the video type is H.264.   
   
   
       9 . The method of  claim 8  wherein the first usage is further being associated with a dimension of the video. 
   
   
       10 . The method of  claim 8  wherein the video comprises a video stream. 
   
   
       11 . The method of  claim 8  wherein the video comprises a video file. 
   
   
       12 . The method of  claim 8  wherein the selecting a second plurality of processing modules is further based on a power usage. 
   
   
       13 . The method of  claim 8  wherein the selecting a second plurality of processing modules is further based on a real time performance metric. 
   
   
       14 . The method of  claim 8  wherein the first plurality of processing modules comprises a de-blocking module. 
   
   
       15 . The method of  claim 8  wherein the first plurality of processing modules comprises a de-ringing module. 
   
   
       16 . The method of  claim 8  wherein the selecting a second plurality of processing modules is further based on the video type. 
   
   
       17 . The method of  claim 8  wherein the selecting a second plurality of processing modules is further based on the video type. The method of  claim 8  further comprising:
 determining a change in the first usage;   selecting a third plurality of processing module based on the change.   
   
   
       18 . The method of  claim 8  further comprising determining an order for processing the video. 
   
   
       19 . The method of  claim 8  further comprising determining a level of processing for a first processing module, the level of processing being associated with the first usage. 
   
   
       20 . The method of  claim 8  further comprising determining a scaling factor for the video. 
   
   
       21 . The method of  claim 8  further comprising determining a second usage associated with scaling the video, wherein the residual processing power is further associated with the second usage. 
   
   
       22 . A method for processing a video in a system being characterized by a known quantity of processing power, the method comprising:
 providing a video, the video being characterized a plurality of properties, the plurality of properties including a video type and a video bit rate, the video type being associated with a first compression method;   determining a first usage, the first usage being associated with decoding the video;   determining a second usage, the second usage being associated with scaling the video;   selecting a plurality of processing modules based on the first usage and second usage;   processing the video using the plurality of processing modules, wherein the plurality of processing modules comprises a color adjustment module; and   providing an output for a display.   
   
   
       23 . The method of  claim 22  wherein the video comprises a video stream. 
   
   
       24 . The method of  claim 22  wherein the plurality of processing modules comprises a de-mosquito module. 
   
   
       25 . The method of  claim 22  wherein the plurality of processing modules comprises a color enhancement module. 
   
   
       26 . The method of  claim 22  wherein the plurality of processing modules comprises a noise removal module. 
   
   
       27 . The method of  claim 24  wherein the plurality of processing modules comprises a contrast enhance module. 
   
   
       28 . A system for processing a video, the system comprising:
 a memory, the memory being configured to store instructions;   a processor configured to execute the instructions, the processor being characterized by a known quantity of processing power;   a user interface;   a display;   wherein:   the instructions includes a plurality of software modules, the software modules including a decompression module, a control module, and a first plurality of processing modules;   the control module is configured to determine a plurality of characteristics of a video, the plurality of characteristics including a file type and a bit rate, the file type being associated with a compression method;   the control module is further configured to determine a first usage, the first usage being associated with the decoding the video;   the control module is further configured to select a second plurality of processing modules, the second plurality of processing modules being a subset of the first plurality of processing module;   the second plurality of processing modules is configured to process the video;   the display is configured to display the processed video;   wherein the system further comprises a source of the video selected from a group consisting of: a computer, a cell phone, a media player, a DVD player, and a cable box.   
   
   
       29 . The system of  claim 28  wherein the video comprises a video stream. 
   
   
       30 . The system of  claim 28  wherein the first plurality of processing modules includes a de-interlacing module. 
   
   
       31 . The system of  claim 28  further comprising a storage for storing the video. 
   
   
       32 . The system of  claim 28  wherein the display comprises an LCD. 
   
   
       33 . The system of  claim 28  wherein the processing power is measured by a percentage. 
   
   
       34 . The system of  claim 28  wherein the processor comprises an embedded processor. 
   
   
       35 . The system of  claim 28  wherein the processor comprises an ARM CPU. 
   
   
       36 . The system of  claim 28  wherein the processor comprises a digital signal processing unit. 
   
   
       37 . The system of  claim 28  further comprising a communication interface for receiving the video over a network. 
   
   
       38 . A method for processing video, the method comprising:
 providing a system for processing video in real time, the system being characterized by a predetermined quantity of processing power;   providing a video, the video being characterized a plurality of properties, the plurality of properties including a first frame rate, a video type, and a video bit rate, the video type being associated with a first compression method, the first frame rate being greater than 10 frames per second (FPS);   determining the video type and the first compression method;   determining a first usage for the video, the first usage being associated with at least the video bit rate;   decoding the video;   determining a residual processing power, the residual processing power being associated with the first usage;   providing a first plurality of processing modules;   selecting a second plurality of processing modules based on the residual processing power, the second plurality of processing modules being a subset of the first plurality of processing modules, the second plurality of processing modules including a de-blocking module if the video is not in accordance to an H.264 standard;   processing the video using the second plurality of processing modules; and   providing an output at a second frame rate, the second frame rate being at least 10 FPS.   
   
   
       39 . The method of  claim 38  wherein the video comprises a video stream. 
   
   
       40 . The method of  claim 38  further comprising:
 determining an order for processing the video using the second plurality of processing modules.   
   
   
       41 . The method of  claim 38  further comprising:
 detecting a change in the residual processing power;   selecting a third plurality of processing modules based on the change.   
   
   
       42 . A method for processing video in a system for processing video in a real time, the system being characterized by a predetermined quantity of processing power, the method comprising:
 providing a video, the video being characterized a plurality of properties, the plurality of properties including a first frame rate, a video type, and a video bit rate, the video type being associated with a first compression method, the first frame rate being greater than 10 frames per second (FPS);   determining the video type and the first compression method;   determining a first usage for the video, the first usage being associated with at least the video bit rate;   decoding the video;   processing the decoded video using at least a first processing module, the first processing module being associated with a second usage;   determining a first residual processing power, the first residual processing power being associated with the first usage and the second usage;   selecting at least a second processing module based on the first residual processing power, the second processing module being associated with a third usage; and   processing the video using the second processing module.   
   
   
       43 . The method of  claim 42  further comprising:
 determining a second residual processing power, the second residual processing power being associated with at least the first usage, the second usage, and the third usage;   selecting at least a third processing module based on the second residual processing power.

Join the waitlist — get patent alerts

Track US2010178035A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.