Signal flows for data-processing applications may be implemented so as to enable each processing node in the flow when it contains a sufficient amount of input data at its input buffer. In various embodiments, such signal flows can be graphically defined in a GUI tool which, thereafter, auto-generat
Signal flows for data-processing applications may be implemented so as to enable each processing node in the flow when it contains a sufficient amount of input data at its input buffer. In various embodiments, such signal flows can be graphically defined in a GUI tool which, thereafter, auto-generates suitable code for implementing the signal flow.
대표청구항▼
1. A storage-efficient method for processing frame data, comprising: receiving, from a first processing node in a series of processing nodes implemented by one or more computing devices, data at an input buffer associated with a second processing node in the series, wherein the second processing nod
1. A storage-efficient method for processing frame data, comprising: receiving, from a first processing node in a series of processing nodes implemented by one or more computing devices, data at an input buffer associated with a second processing node in the series, wherein the second processing node in the series is to perform an operation that requires an input that is a block of frame data of a first predetermined size to generate a block of frame data of a second predetermined size, and the first and second predetermined sizes each comprise a plurality of frame data samples;determining, by the one or more computing devices, that a size of the data in the input buffer is equal to the first predetermined size; andin response to determining that the size of the data in the input buffer is equal to the first predetermined size, causing, by the one or more computing devices, the second processing node to operate on the frame data in the input buffer to generate a block of frame data of the second predetermined size. 2. The method of claim 1, wherein the frame data is image frame data. 3. The method of claim 2, wherein the second predetermined size is one row of an image frame. 4. The method of claim 3, wherein the first predetermined size is multiple rows of an image frame. 5. The method of claim 1, wherein the first processing node is a direct memory access (DMA) source node. 6. The method of claim 1, further comprising re-using memory allocated to the input buffer for another buffer associated with another processing node in the series, wherein the another node is different from the first processing node and the second processing node. 7. The method of claim 1, further comprising causing operation of multiple processing nodes in the series in parallel. 8. The method of claim 1, further comprising causing operation of the processing nodes in the series sequentially. 9. The method of claim 1, wherein determining that a size of the data in the input buffer is equal to the first predetermined size comprises: maintaining a counter for the input buffer; and incrementing the counter in response to receipt of units of data from the first processing node. 10. A storage-efficient system for processing frame data, comprising: at least one computing device to provide first and second processing nodes, wherein the second processing node is to perform an operation that requires an input that is a block of frame data of a first predetermined size to generate a block of frame data of a second predetermined size, and the first and second predetermined sizes each comprise a plurality of frame data samples;an input buffer associated with the second processing node, wherein the input buffer is sized to store an amount of frame data that is greater than or equal to the first predetermined size; anda logic switching mechanism to cause execution of the second processing node, by the at least one computing device, to operate on the frame data in the input buffer when the input buffer stores an amount of data equal to the first predetermined size. 11. The system of claim 10, wherein the logic switching mechanism comprises a register to store, for the second processing node, a representation of the first predetermined size and a counter for a number of blocks of the first predetermined size presently stored in the input buffer. 12. The system of claim 11, wherein the register is a hardware register. 13. The system of claim 11, wherein the register is stored in local memory associated with the at least one processing device. 14. The system of claim 10, wherein the at least one computing device includes a digital signal processor. 15. One or more non-transitory computer readable media for generating program code for block-based processing of frame data from a graphical representation of a signal flow defined in a graphical user interface, wherein the one or more non-transitory computer readable media has stored thereon instructions that, in response to execution by one or more computing devices of a system, cause the system to: provide a library of functions to implement signal-processing nodes, wherein a first function of the library of functions is to require an input that is a block of frame data of a first predetermined size to generate a block of frame data of a second predetermined size, wherein the first and second predetermined sizes each includes a plurality of frame data samples;provide an editor to enable a user to graphically define a signal flow comprising a plurality of nodes and connections therebetween, and to associate with each of the nodes one of the functions from the library; andprovide a compiler to generate program code from the graphically defined signal flow and the associated functions, wherein a node in the graphically defined signal flow is associated with the first function, the program code is to cause, upon execution, operation of the node to generate a block of frame data of the second predetermined size in response to a determination that a size of data stored in an input buffer associated with the node is equal to the first predetermined size. 16. The one or more non-transitory computer readable media of claim 15, wherein the editor is to enable the user to graphically define direct memory access (DMA) of the signal flow. 17. The one or more non-transitory computer readable media of claim 16, wherein the editor is to enable the user to define at least one of a DMA source, a DMA sink, or a DMA scheduling path. 18. The one or more non-transitory computer readable media of claim 16, wherein the compiler is to generate program code implementing the graphically defined DMA. 19. The one or more non-transitory computer readable media of claim 15, wherein the instructions are further to cause the system to provide the graphical user interface to a display device for display. 20. The method of claim 1, wherein the second processing node is to provide the generated block of frame data of the second predetermined size to a direct memory access (DMA) sink node. 21. The method of claim 1, wherein the first processing node is to generate the block of frame data of the second predetermined size by performance of a filtering operation on the block of frame data of the first predetermined size. 22. The method of claim 1, wherein receiving, from the first processing node in the series of processing nodes, data at an input buffer associated with the second processing node in the series, comprises receiving a block of frame data having a size that is smaller than the first predetermined size. 23. The system of claim 10, wherein the second predetermined size is smaller than the first predetermined size. 24. The system of claim 10, wherein the first processing node is a direct memory access (DMA) source node. 25. The system of claim 10, wherein the first predetermined size and the second predetermined size are different sizes. 26. The system of claim 10, wherein the first predetermined size is a first number of rows and the second predetermined size is a second number of rows. 27. One or more non-transitory computer readable media having instructions thereon that, in response to execution by one or more processing devices of a computing system, cause the computing system to: provide a first processing node; andprovide a second processing node, wherein the second processing node is to receive, from the first processing node, data at an input buffer associated with the second processing node, wherein the second processing node in the series is to perform an operation that requires an input that is a block of frame data of a first predetermined size to generate a block of frame data of a second predetermined size, and wherein the first and second predetermined sizes each comprise a plurality of frame data samples;determine that a size of the data in the input buffer is equal to the first predetermined size; andin response to a determination that the size of the data in the input buffer is equal to the first predetermined size, cause the second processing node to operate on the frame data in the input buffer to generate a block of frame data of the second predetermined size. 28. The one or more non-transitory computer readable media of claim 27, wherein the second predetermined size is an integer number of rows of an image frame. 29. The one or more non-transitory computer readable media of claim 27, wherein the first processing node is a direct memory access (DMA) source node.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (46)
Ramchandran, Amit, Adaptable datapath for a digital processing system.
Robinson Jeffrey I. (New Fairfield CT) Rouse Keith (Lebanon NJ) Krassowski Andrew J. (Long Valley NJ) Montlick Terry F. (Bethlehem CT), Architectures and methods for dividing processing tasks into tasks for a programmable real time signal processor and tas.
Brender Ronald F. (Hollis NH) Brett Bevin R. (Merrimack NH), Automatic program code generation in a compiler system for an instantiation of a generic program structure and based on.
Santori, Michael L.; Limroth, John C.; Morrow, Gregory O., Automatically configuring a graphical user interface element to bind to a graphical program.
Savanyo John (Fremont CA) Shah Saumil S. (Santa Clara CA), Code generation system to construct an asynchronous real-time controller for a real-time system.
Franssen Frank,BEX ; van Swaaij Michael,BEX ; Nachtergaele Lode,BEX ; Samsom Hans,BEX ; Catthoor Francky,BEX ; De Man Hugo,BEX, Control flow and memory management optimization.
Conley Patrick D. (Fullerton CA) Hwang Jin H. (Cerritos CA) Acosta Marc (Mission Viejo CA) Wilkins Virgil V. (Corona CA), FIFO control architecture and method for buffer memory access arbitration.
Matsakis, Nicholas; Morgan, Charles Robert; Kenton, Jeffrey; Nelson, Jan Christian; Dolph, V, Cyrus Abda; Kuznetsov, Eugene, Method and apparatus of streaming data transformation using code generator and translator.
Kelem Steven H. (Los Altos Hills CA) Knapp Steven K. (Santa Clara CA), Method and system for propagating data type for circuit design from a high level block diagram.
Schreiber,Robert S.; Gupta,Shail Aditya; Kathail,Vinod K.; Abraham,Santosh George; Rau,Bantwal Ramakrishna, Method and system for the design of pipelines of processors.
Firoozmand Farzin (Cupertino CA) Childers Brian (Santa Clara CA), Method of and system for transferring multiple priority queues into multiple logical FIFOs using a single physical FIFO.
Chandra, Rajit; Mitra, Joydeep; Parks, Steven B.; Somanathan, Chandrasekhara, System and method for performing assertion-based analysis of circuit designs.
Ayat, Mehran; Nadershahi, Nedi, System for stop buffering when a count of stored data blocks from a DVD matches an associated data block number of a requested data block set.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.