Patent ID: 8954851
Filing Date: 2015-02-10
Classification: H04N

Abstract:
1. A video effects processing system, comprising: a kernel streaming environment having a camera, a camera driver, and a kernel streaming driver, the kernel streaming environment taking and transmitting video frames utilizing a high bandwidth kernel streaming technique; a video effects rendering component that accesses a video effects data store and that renders user-selected video effects on the video frames; a user selection component that manages and enumerates video effect renderers available on the video effects processing system, the user selection component providing application programming interfaces that are utilized by a user interface to enable a user to identify the user-selected video effects, the user selection component providing an indication of the user-selected video effects to the video effects rendering component; a consuming application having a multimedia processing system that receives the video frames with the selected video effects rendered, the consuming application being a separate application from the user selection component; a kernel streaming interface handler coupled to the video effects rendering component, to the kernel streaming environment, and to the consuming application, the kernel streaming interface handler receiving the video frames without the user-selected video effects from the kernel streaming environment and providing the video frames without the user-selected video effects to the video effects rendering component, the kernel streaming interface handler receiving the video frames with the user-selected video effects from the video effects rendering component and providing the video frames with the user-selected video effects to the multimedia processing system of the consuming application, wherein the multimedia processing system comprises a filter graph generated by the consuming application, the filter graph including filters for processing the video frames, the filters having a number of input and output pins, the input and the output pins connecting the frames together to form the filter graph; a kernel streaming proxy component configured to pass the video frames with the video effects rendered into a user mode portion of the filter graph, the kernel streaming proxy component further configured to call the kernel streaming driver to obtain the video frames, the kernel streaming proxy component calling the kernel streaming driver in response to an event signal generated by the kernel streaming driver, the kernel streaming driver generating the event signal upon a number of video frames being available for transmission, the kernel streaming interface handler being a part of the kernel streaming proxy component; a computer processor being a functional component of the video effects processing system and activated by the kernel streaming interface handler, to facilitate receiving of the video frames; and wherein the consuming application comprises a plurality of video enabled applications, each of the plurality of video enabled applications consuming the video frames with the effects rendered.