Automatic code generation

Data processing: software development – installation – and managem – Software program development tool – Translation of code

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C717S152000

Reexamination Certificate

active

06357039

ABSTRACT:

TECHNICAL FIELD
This invention relates to signal processing systems and, more particularly, to generating native processor code for processing signals using a graphical signal processing design system.
BACKGROUND INFORMATION
Signal processing is important in music and video creation, modification, and storage. In many applications a signal is modified, for example, to reduce or emphasize some aspect of a signal, or to extract some portion or characteristic of the signal. For example, an audio or video developer can generate new signals or modify stored or live signals. A sound developer may create a series of filters to achieve a particular sound effect. A musician can create a new instrument, or modify the sound of an already existing instrument to sound like a new instrument. A video developer can implement a particular type of fade, or a interesting special effect using a signal processing system.
With the use of digital computers, it became possible to simulate signal processing systems on computers. As computer performance improved, it became possible to implement signal processing algorithms on a computer in real time. It is now possible to implement a signal processing algorithm in software on a general purpose computer. This is very useful for audio or video developers who wish to create and modify signals using commonly available tools.
One approach for implementing a signal processing system on a general purpose computer is for a developer to write a computer program that implements a particular signal processing system. A program implementing the signal processing system is often developed in a programming language like Basic, Pascal, or C. This is beyond the capacity of many users, and can be difficult to modify and change.
Another approach is to implement a signal processing system on a high performance computer that is attached to the general purpose computer. This approach is expensive because it requires additional hardware normally not found in a general purpose computer. Also, it is often not possible to easily incorporate systems designed with this approach into music and video development applications.
SUMMARY OF THE INVENTION
The present invention provides a software application that allows a user to easily generate a signal processing system. The user designs the system graphically and then the graph is compiled into native processor code. Because it is implemented in native processor code, the signal processing system can be run on a computer with minimal resources. The signal processing system implemented in native processor code can also be incorporated into other computer applications, so that the developed signal processing system is portable and useful.
In general, in one aspect, the invention features a system for automatically generating native processor code. The system includes a graphical designer for allowing a user to construct graphically a signal processing system, and it includes a compiler for receiving the graphically constructed signal processing system and for generating native processor code representative of the signal processing system.
Embodiments of this aspect of the invention include the following features. In some embodiments, the compiler includes an optimizer for generating optimized native processor code. In some embodiments, the signal processing system is an audio signal processing system. In some embodiments, the signal processing system is a video signal processing system. In some embodiments, the graphical designer allows the user to construct the signal processing system graphically by placing one or more signal processing elements between a system input and system output. In some embodiments the graphical designer allows the user to encapsulate two or more of the signal processing elements between the system input and output. In some embodiments, the signal processing elements include an arithmetic operation element and/or a delay element. Many other types of elements can also be used, as will be understood by those of ordinary skill.
In general, in another aspect, the invention features a system for modifying input signals. The system includes a graphical designer for allowing a user to construct graphically a signal processing system, a compiler, and an execution unit. The compiler receives the graphically constructed signal processing system and generates machine code representative of the system. The execution unit receives at least a portion of the machine code and input signals and executes the machine code to produce a version of the input signal that is modified according to the signal processing system.
Embodiments of this aspect of the invention include the following features. In some embodiments, the system includes a module for receiving at least a portion of the machine code and the input signals and for executing the machine code to produce the output and for providing the output to a main application. In some embodiments, the graphical designer allows the user to construct graphically the signal processing system by placing one or more signal processing elements between a system input and a system output. In some embodiments the graphical designer allows the user to encapsulate two or more of the signal processing elements into a single encapsulated signal processing element to allow the user to construct graphically a hierarchical signal processing system having one or more of the encapsulated signal processing elements between the system input and output. In some embodiments the compiler includes an optimizer for generating optimized machine code.
In general, in another aspect, the invention features a system for use with a main application. The system includes a loader for receiving machine code representative of a signal processing system. The system also includes an execution unit for receiving at least a portion of the machine code from the loader and input signals and for executing the machine code to produce as an output a version of the input signals that is modified according to the signal processing system. The system further includes an interface module for receiving the output from the execution unit and for interfacing with the main application to provide the output to the main application.
Embodiments of this aspect of the invention include the following features. In some embodiments, the main application comprises a music processing application. In some embodiments, the input signals comprise audio signals and the signal processing system comprises an audio signal processing system. In some embodiments, the input signals comprise video signals and the signal processing system comprises a video signal processing system.
The foregoing and other objects, aspects, features, and advantages of the invention will become more apparent from the following description and from the claims.


REFERENCES:
patent: 4177706 (1979-12-01), Greenberger
patent: 4901221 (1990-02-01), Kodoski et al.
patent: 5113259 (1992-05-01), Romesburg et al.
patent: 5475851 (1995-12-01), Kodoski et al.
patent: 5485615 (1996-01-01), Wennmyr
patent: 5511198 (1996-04-01), Hotta
patent: 5528296 (1996-06-01), Gove et al.
patent: 5596159 (1997-01-01), O'Connell
patent: 5714703 (1998-02-01), Wachi et al.
patent: 5808221 (1998-09-01), Ashour et al.
patent: 5886274 (1999-03-01), Jungleib
patent: 5892812 (1999-04-01), Pester, III
patent: 6018118 (2000-01-01), Smith et al.
“Code Generation & Prototyping,” http://www.mathworks.com/dsp/codegen1.shtml, Dec. 30, 1997, 2 pgs.
The Math Works, Inc. “Do you want to accelerate your DSP design cycle? Start with your free Technical Kit,” 8/97, 3 pgs.
The Math Works, Inc. “Matlab enables you to move effortlessly between concept and code, data and design,” 5/97, 8 pgs.
“Symbolic Sound Corporation” and “Kyma,” http://www.symbolicsound.com/, Jan. 9, 1998, 10 pgs.
“! Audio Architect,” http://www.audioarchitect.com/, Jan. 8, 1998. 13 pgs.
“Computer Music Journal,” Fall 1997 (V 21, # 3), 3 pgs. —p. 119 and two pgs. of contents.
“Duy,” http://www.duy.es/duy/, Jan. 9, 1998, 8 pp.
“N

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Automatic code generation does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Automatic code generation, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Automatic code generation will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2852395

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.