Flow of streaming data through multiple processing modules
    11.
    发明授权
    Flow of streaming data through multiple processing modules 有权
    流数据流通过多个处理模块

    公开(公告)号:US06748440B1

    公开(公告)日:2004-06-08

    申请号:US09310610

    申请日:1999-05-12

    IPC分类号: G06F1516

    CPC分类号: G06F9/54 G06F8/45 G06F9/546

    摘要: Frame-based streaming data flows through a graph of multiple interconnected processing modules. The modules have a set of performance parameters whose values specify the sensitivity of each module to the selection of certain resources of a system. A user specifies overall goals for an actual graph for processing a given type of data for a particular purpose. A flow manager constructs the graph as a sequence of module interconnections required for processing the data, in response to the parameter values of the individual modules in the graph in view of the goals for the overall graph as a whole, and divides it into pipes each having one or more modules and each assigned to a memory manager for handling data frames in the pipe.

    摘要翻译: 基于帧的流数据流经过多个互连处理模块的图形。 这些模块具有一组性能参数,其值指定每个模块对系统某些资源的选择的灵敏度。 用户为特定目的指定用于处理给定类型的数据的实际图形的总体目标。 考虑到整个图形的目标,流程管理器响应于图中各个模块的参数值,将图形构建为处理数据所需的模块互连序列,并将其划分为管道 具有一个或多个模块,并且每个模块被分配给用于处理管道中的数据帧的存储器管理器。

    Validating the creation of and routing of messages to file objects
    12.
    发明授权
    Validating the creation of and routing of messages to file objects 失效
    验证消息的创建和路由到文件对象

    公开(公告)号:US06643712B1

    公开(公告)日:2003-11-04

    申请号:US09488080

    申请日:2000-01-20

    IPC分类号: G06F1310

    CPC分类号: G06F8/20

    摘要: A method is provided to overcome excess code development associated with developing device drivers that are hierarchically related and provides standardization to driver developers by listing in the private area of a device object types of file objects, including specific IRP handlers associated therewith, that may be created under that device object to thereby provide a device object context. In like manner, each file object has listed in the private area types of other file objects, again including specific IRP handlers associated therewith, that may be created under that particular file object to thereby provide a file object context. The default handler for a driver object points to a multiplexing function that processes an incoming IRP based on the available context information to “route” the IRP to the appropriate handler. Each file object has reference to a plurality of dispatch function references that are used by the IRP handlers to fulfill a particular request. A request to create a file object is also validated to ensure that only file objects of the appropriate type may be created in hierarchy, again according to the context information.

    摘要翻译: 提供了一种方法来克服与开发与层次相关的设备驱动程序相关联的过多代码开发,并通过在设备的私有区域中列出可以创建的与其相关联的特定IRP处理程序的文件对象类型的对象类型,向驱动程序开发人员提供标准化 在该设备对象之下,从而提供设备对象上下文。 以相同的方式,每个文件对象在其他文件对象的私有区域类型中列出,再次包括与其相关联的特定IRP处理程序,其可以在该特定文件对象下创建,从而提供文件对象上下文。 驱动程序对象的默认处理程序指向多路复用功能,根据可用上下文信息处理进入的IRP以将IRP“路由”到适当的处理程序。 每个文件对象都引用了IRP处理程序用于完成特定请求的多个调度函数引用。 还验证了创建文件对象的请求,以确保只有根据上下文信息才能在层次结构中仅创建适当类型的文件对象。

    Method, computer program product, and data structure for validating
creation of and routing messages to file object
    13.
    发明授权
    Method, computer program product, and data structure for validating creation of and routing messages to file object 失效
    方法,计算机程序产品和用于验证文件对象的创建和路由消息的数据结构

    公开(公告)号:US6016515A

    公开(公告)日:2000-01-18

    申请号:US826644

    申请日:1997-04-04

    IPC分类号: G06F9/46 G06F9/44 G06F13/10

    CPC分类号: G06F8/20

    摘要: A method, computer program product, and data structure is provided overcome excess code development associated with developing device drivers that are hierarchically related and provides standardization to driver developers by listing in the private area of a device object types of file objects, including specific IRP handlers associated therewith, that may be created under that device object to thereby provide a device object context. In like manner, each file object has listed in the private area types of other file objects, again including specific IRP handlers associated therewith, that may be created under that particular file object to thereby provide a file object context. The default handler for a driver object points to a multiplexing function that will process an incoming IRP based on the available context information to "route" the IRP to the appropriate handler. Each file object has reference to a plurality of dispatch function references that are used by the IRP handlers to fulfill a particular request. A request to create a file object will also be validated to assure that only file objects of the appropriate type may be created in hierarchy, again according to the context information.

    摘要翻译: 提供了一种方法,计算机程序产品和数据结构,克服与开发与层次相关的设备驱动程序相关联的过多代码开发,并通过在设备的私有区域中列出对象类型的文件对象(包括特定的IRP处理程序)来提供标准化 可以在该设备对象下创建,从而提供设备对象上下文。 以相同的方式,每个文件对象在其他文件对象的私有区域类型中列出,再次包括与其相关联的特定IRP处理程序,其可以在该特定文件对象下创建,从而提供文件对象上下文。 驱动程序对象的默认处理程序指向多路复用功能,该功能将根据可用的上下文信息处理进入的IRP,以将IRP“路由”到适当的处理程序。 每个文件对象都引用了IRP处理程序用于完成特定请求的多个调度函数引用。 还将验证创建文件对象的请求,以确保只有根据上下文信息才能在层次结构中仅创建适当类型的文件对象。

    Method and computer program product for synchronizing the processing of
multiple data streams and matching disparate processing rates using a
standardized clock mechanism
    14.
    发明授权
    Method and computer program product for synchronizing the processing of multiple data streams and matching disparate processing rates using a standardized clock mechanism 失效
    方法和计算机程序产品,用于使用标准时钟机制来同步多个数据流的处理和匹配不同的处理速率

    公开(公告)号:US5815689A

    公开(公告)日:1998-09-29

    申请号:US826560

    申请日:1997-04-04

    IPC分类号: G06F9/46 G06F17/30 G06F17/00

    CPC分类号: G06F17/30017

    摘要: A method and computer program product for synchronizing processing between two or more data streams (e.g., video and sound input) and for rate matching between two different hardware clocks that may drift with respect to one another (e.g., an originating clock represented in a timestamped data stream versus a clock actually rendering the data) in a system of interconnected software drivers running in kernel mode. The present invention overcomes the coordination complexity and inaccuracies in the prior art by providing a clocking mechanism in a system wherein multiple drivers having input and output connection pin instances are chained together. The clocking mechanism synchronizes between data streams by providing a master clock on an input pin instance of a driver that is used to synchronize with other input pin instances on other drivers and "slave" clocks. Synchronization is achieved through event notification or stream position queries so that corresponding frames of data in separate streams are rendered together (e.g., video frames with corresponding sound track). Rate matching is achieved through monitoring a physical clock progression in comparison with a series of data stream timestamps thereby allowing adjustments to match the different clock rates. A common physical clock (e.g., PC clock) can be used as a reference for a component to translate a particular clock time to a time shared by all components with a minimum of error.

    摘要翻译: 一种用于在两个或多个数据流(例如,视频和声音输入)之间进行同步处理的方法和计算机程序产品,以及可能相对于彼此漂移的两个不同硬件时钟之间的速率匹配(例如,以时间戳表示的始发时钟 数据流与实时渲染数据的时钟)在以内核模式运行的互连软件驱动程序的系统中。 本发明通过在具有输入和输出连接引脚实例的多个驱动器链接在一起的系统中提供时钟机制来克服现有技术中的协调复杂性和不准确性。 时钟机制通过在驱动器的输入引脚实例上提供主时钟来同步数据流,该时钟驱动器用于与其他驱动器和“从属”时钟上的其他输入引脚实例同步。 通过事件通知或流位置查询来实现同步,使得将单独流中的数据的相应帧一起呈现(例如,具有相应音轨的视频帧)。 与一系列数据流时间戳相比,通过监视物理时钟进程来实现速率匹配,从而允许调整以匹配不同的时钟速率。 公共物理时钟(例如,PC时钟)可以用作组件的参考,以将特定时钟时间转换为具有最小误差的所有组件共享的时间。

    Efficient splitting and mixing of streaming-data frames for processing through multiple processing modules
    15.
    发明授权
    Efficient splitting and mixing of streaming-data frames for processing through multiple processing modules 失效
    流式数据帧的高效分割和混合,用于通过多个处理模块进行处理

    公开(公告)号:US07007096B1

    公开(公告)日:2006-02-28

    申请号:US09310596

    申请日:1999-05-12

    IPC分类号: G06F15/16

    CPC分类号: G06F15/8053

    摘要: Streaming data is processed through one or more pipes of connected modules including mixers and/or splitters. The data is carried in composite physically allocated frames having virtual subframes associated with different ones of the splitters, mixers, and other transform modules. Nesting trees and pipe control tables represent the structure of the pipes. A frame allocator is assigned to a particular module in a pipe. Rather than issuing a control transaction to all modules when any one of them completes an operation upon its source data, a control manager requests a module to begin its operation only when all of its input subframes have become available. Frame control tables record when any module has completed an operation, and a pipe control table lists which modules provide data to which other modules.

    摘要翻译: 流数据通过一个或多个连接的模块管道进行处理,包括混合器和/或分离器。 该数据在具有与分离器,混合器和其他变换模块中的不同分配器相关联的虚拟子帧的复合物理分配帧中承载。 嵌套树木和管道控制表表示管道的结构。 帧分配器被分配给管道中的特定模块。 控制管理器当其任何一个完成其源数据上的操作时,不会向所有模块发出控制事务,而是只有当所有模块的所有输入子帧都可用时才要求模块开始操作。 任何模块完成操作时,帧控制表记录,管道控制表列出哪些模块向其他模块提供数据。

    Method and computer program product for reducing the buffer requirements of processing components
    16.
    发明授权
    Method and computer program product for reducing the buffer requirements of processing components 失效
    方法和计算机程序产品,用于减少处理组件的缓冲区要求

    公开(公告)号:US06601112B1

    公开(公告)日:2003-07-29

    申请号:US09301078

    申请日:1999-04-28

    IPC分类号: G06F946

    CPC分类号: G06F9/544 G06F9/5016

    摘要: A method and computer program product for overcoming the inefficiencies associated with inter-buffer data transfers between separate processing components such as kernel mode drivers that are chained together. Provided is a standard mechanism for allocating and managing data buffers needed for processing data in a system, wherein multiple drivers are chained together using a standardized connection method in the connection pin instances. Drivers having different buffer requirements and capabilities may be queried and matched for easy data transition between the chained drivers requiring the least number of buffers and, hence the least expensive yet most efficient inter-buffer data transfer. Examples of buffer requirements include previous frame storage for adaptive processing, byte alignment, frame size, outstanding frames allowed, etc. The buffer requirements of an input connection pin instance may be queried by an application initializing the chained drivers. When a buffer is needed, a buffer allocator will be associated with the input pin instance, otherwise a driver will process the data in the previous existing buffer.

    摘要翻译: 一种方法和计算机程序产品,用于克服与单独处理组件(例如链接在一起的内核模式驱动程序)之间的缓冲间间数据传输相关的低效率。 提供了一种用于分配和管理在系统中处理数据所需的数据缓冲器的标准机制,其中使用连接引脚实例中的标准化连接方法将多个驱动器链接在一起。 可以查询具有不同缓冲区要求和功能的驱动程序,以便在需要最少数量的缓冲区的链接驱动程序之间轻松进行数据转换,从而实现最便宜且最有效的缓冲间间数据传输。 缓冲区要求的示例包括用于自适应处理的前一帧存储,字节对齐,帧大小,允许的未完成帧等。输入连接引脚实例的缓冲器要求可以由初始化链接驱动器的应用程序来查询。 当需要缓冲区时,缓冲区分配器将与输入引脚实例相关联,否则驱动程序将处理先前存在的缓冲区中的数据。

    Method and computer program product for interconnecting software drivers in kernel mode
    17.
    发明授权
    Method and computer program product for interconnecting software drivers in kernel mode 失效
    用于在内核模式下互连软件驱动程序的方法和计算机程序产品

    公开(公告)号:US06205492B1

    公开(公告)日:2001-03-20

    申请号:US08825856

    申请日:1997-04-04

    IPC分类号: G06F954

    CPC分类号: G06F9/54 G06F13/102

    摘要: A method and computer program product are presented that overcome the inefficiencies in user mode processing of multimedia data by allowing an application running as a user mode process simply to start and connect multiple blocks of kernel mode functionality in the form of drivers or filters (separate logical blocks of driver executable code). Once the kernel mode filters are set up and connected, the user mode application need not be active until notified by the filters. Such notification may occur at the end of processing or at any relevant event chosen by the application as part of the filter initiation and set up. Furthermore, a user mode application may query a kernel mode filter or driver of its capabilities and requirements so that it may properly make the connections between the different filters chained together to process a stream of data and request appropriate notifications. These connection may represent actual driver to driver data exchange, or remote connections. In one exemplary embodiment, property, method, and event sets define compliant filters and native operating system I/O constructs such as file objects are used to define the instances of connection “pins” that are interconnected by the third party user mode application.

    摘要翻译: 提出了一种方法和计算机程序产品,其通过允许作为用户模式进程运行的应用程序简单地以驱动程序或过滤器(单独的逻辑)的形式启动和连接多个内核模式功能块来克服多媒体数据的用户模式处理中的低效率 驱动程序可执行代码块)。 一旦内核模式过滤器被建立和连接,用户模式应用程序不需要被激活,直到过滤器通知。 这种通知可能在处理结束时或在应用程序选择的任何相关事件中发生,作为过滤器启动和设置的一部分。 此外,用户模式应用程序可以向核心模式过滤器或驱动程序查询其能力和要求,使得其可以适当地使链接在一起的不同过滤器之间的连接处理数据流并请求适当的通知。 这些连接可能代表实际驱动程序到驱动程序数据交换或远程连接。 在一个示例性实施例中,属性,方法和事件集定义了兼容的过滤器,并且使用诸如文件对象的本机操作系统I / O构造来定义由第三方用户模式应用互连的连接“引脚”的实例。