System and method for allocation of resources for processing video
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-modified1 . 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.