There is little doubt that the effectiveness of instructional materials such as classroom, business and other presentations are improved with illustrations. For best effect and retention of audience interest, illustrations should be consecutive, showing incremental changes in the material displayed and perhaps most importantly, show the image with sufficient clarity for the viewer to be able to discern the information contained in the presentation. Generating these illustrations can be time consuming and difficult, detracting from the ultimate goal, that being to communicate a concept to an audience.
Past methods of capturing screen images have included using print screen functionality often contained in computer operating systems. Such an approach requires the presenter to identify an image displayed on a computer screen while using a series of keystrokes to “copy” an image and “paste” it into a document. There are also programs that allow the user to capture screen images from within a software user interface that may be configured to store the selected images without the copy and paste steps described above. Examples of such solutions are computer programs such as Snagit® (www.techsmith.com) and Captivate® (www.adobe.com/captivate). Despite the elimination of the “cut” and “paste” steps, users of these existing software programs are still required to manually select and initiate the storage of images created using a program such as PowerPoint® or other, similar computer programs. A major shortcoming of this approach is that it requires the user to create the images ahead of time and in a manner that each image shows an incremental step of the information to be conveyed. Further, using these methods require the user to wait for an image to appear, and then pause to select and copy the image for storage. If a presenter were attempting to capture images during a presentation, these actions would require the presenter to wait for a new or significantly changed image to appear and then pause the delivery of the presentation while performing the steps necessary to store that image before resuming.
An experienced presenter will realize that it is important that illustrative images are captured frequently enough that they do not confuse a viewer. In order for a series of images to best portray the concepts presented during a presentation, those images should convey incremental images that represent a series of steps from one concept to the next. Failure to create incremental images results in a series of summary images which, while they may make good key points, do not provide the viewer with the incremental pieces of information needed to bridge the gap from one concept image to the next.
A solution to the problem of the need for high levels of user involvement required with the image capture approaches just described has been the use of a video camera to record an entire presentation. This approach allows for capture of images as they are displayed on a computer monitor or an overhead projector. While this solves the problem of capturing enough images to avoid the problem of large gaps from one summary image to the next, it suffers from the problem of capturing much more information than is needed, capturing hundreds or even thousands of nearly identical images. As a result of the large number of images, the video files obtained from the use of a video camera are extremely large and difficult to easily store and deliver to potential audiences. The highly compressed video images (frames) of video files are also of much lower quality than bitmap images captured directly from a computer system.
Other methods of capturing displayed images employ external video capture devices (video grabbing cards) in conjunction with driver software to capture images from a video source. An example of this type of technology is the Encore ENMVG-2 Audio Video Grabber device. These types of external devices require the operator to capture the entire video recording or to select small segments of a video recording and as a result, still suffer from the large file size and image quality problems present with the use of the video camera method previously described.
The present invention provides an improvement to the process whereby the user of the invention may capture images from a computerized device for later use. The invention allows the user to capture said images automatically and without continuous actions by the user. The present invention allows the user to optimize the capture of said images so as to capture a sufficient number of images to allow a later viewer of the images to understand the material presented without capturing such a large number of images that the resultant image data file becomes difficult to store and transmit to a later viewer.
In computer software embodying the principles of the invention, the problems associated with the user having to remain actively involved in the image capture process, significant gaps in information content from one image to the next, and the problems associated with managing and distributing large files are addressed by providing a method for automatically capturing full resolution static images from a computing device without the need for any additional hardware, detecting changes to the image and automatically storing single static images when the image has changed a reasonable amount. This approach avoids capturing large numbers of identical images as is the case with a video camera but allows for captures that are frequent enough so that the images captured represent a sufficiently detailed summary of the presented material as to allow the viewer to comprehend the material.
In the present implementation of the invention, the amount of generated data is optimized by a suitable algorithm. In an exemplary embodiment of the algorithm a new full resolution static image (a picture slide) may be created when the following are true:
The advantages of this algorithm is that it allows the user to initiate a static image capture process using pre-set parameters and then focus on the presentation being created without having to be concerned with the mechanics of the image capture process. If the presenter or operator of the software embodying the algorithm wishes to increase or decrease the amount of detail captured, he or she may choose to adjust the adjust parameters of the software to determine when an image is captured and stored, through use of a user interface presented on the computer or other device running the image capture software.
Further features of the capture algorithm of the present invention may include controls that allow the operator to adjust the image capture parameters such as a sliding control adjustment that may be adjusted from more detail to less detail settings without the user having to adjust each parameter separately. Additional functions such as a view of the images being captured and indicators which display the number of images captured and total file size of the captured images improve the operator's ability to optimize the image capture process. If the user desires to create a complete presentation, the image capture algorithm may be further combined with an interface to audio or video capture hardware to create a file that combines both an audio or audio/video recording and the images captured by the algorithm whereby the images are keyed to allow for a playback of those images displayed in synchronization to the audio or audio/video recording.
In addition to the novel features and advantages mentioned above, other benefits will be readily apparent from the following descriptions of the drawings and exemplary embodiments.
In one implementation of the image capture algorithm, image capture software 28, which implements the algorithm is installed and caused to run by the user of the computer 10. The software, when instructed to start the capture process by the user, begins to monitor images that the computer operating system 20 has directed to the graphics control circuitry 22.
Referring to
When the user of the computer wishes to capture images using software embodying the current invention, that user will select the software and cause the computer to execute or run the software 32. Referring to
To begin the capture and storage process, the user may select a start control that appears on the user interface 102. Referring to
Referring to
The three variables just discussed may be used in controlling the level of change detail captured by the algorithm and as a result, the number of images captured and stored. In a preferred embodiment of the invention, the user of the image capture algorithm may be able to adjust each variable separately to arrive at an optimal balance between the level of detail captured and the cumulative total size of the images captured and stored. The first variable, the amount of initial change to an image refers to the change that occurs to an image before the algorithm captures the image. This insures that the algorithm does not capture a series of images that are identical or nearly so. The user may determine how much change is desired between captures depending upon the type of material being captured and set this variable accordingly. The second variable, the amount of time that the image remains relatively unchanged after the initial change before the image is stored, serves to insure that the image is not in a state of change when it is stored. The purpose of this variable is to, as much as is desirable, prevent partially formed images from being captured and stored. The user may also determine, based upon the type of images being captured, how long an image is to remain unchanged before it is stored. The third variable is the amount of time that must elapse between an image storage and the start of the next storage process. This variable is used to control the maximum number of images stored for a given time period and has the effect of providing the maximum storage capacity occupied by the series of captured and stored images.
Referring to the flow diagram of
In order to optimize the number of images captured and stored, the invention waits for images to become stable before it captures and stores an image 54. Because software implementing the image capture algorithm monitors changes to the image over time as part of its analysis process, this exemplary software implementation uses two images which will be referred to as Image A and Image B. When the user initiates the image capture process, the computer software captures an image from the graphics control circuitry and stores this image as Image A 56. The software may then capture a second image from the graphics control circuitry and store that image as Image B 58. The software then starts a timer used to determine if the image is stable (Stability Timer) 60.
When the computer software has acquired Image A and Image B, the program compares Image B with Image A 62. The program determines if there has been a change between the two images that exceeds a predetermined amount. If such a change is detected, the algorithm may determine that the image is not stable and wait for it to stabilize before it is stored 64. If such a determination is made, the algorithm replaces Image A with Image B, resets the Stability Timer, and captures a new Image B. The algorithm then starts the Stability Timer. This process is repeated until there is not a change that exceeds the aforementioned predetermined amount from Image A to Image B.
When there is no substantial change detected, in other words, the algorithm determines that the image remains stable from one comparison to the next, the algorithm continues to monitor the images for change until the Stability Timer reaches an amount of time that the user has selected (times-out), meaning that the image is stable enough for capture and storage. If the image changes before the Stability Timer times-out, the process starts anew 64. If the image is stable enough for storage, the algorithm stores Image B in the file location chosen by the user 66.
After an image is stored, the algorithm starts a second timer used to determine the amount of time between image storage (Image Storage Timer) 68. When this Image Storage Timer expires, the software captures a new Image A 70 and then a new Image B 72 and compares the two images to determine if there has been a change that exceeds the predetermined amount of initial change variable discussed above 74. If there has not been a change that exceeds this amount, a new Image B is captured and compared against Image A. This process continues until a change is detected that exceeds the amount specified by the initial change variable. When this occurs, the process of waiting for the image to stabilize begins 54.
This entire process; initial change detection, image stability monitoring, image storage, and time delay between storages, repeats until the user wishes to stop the image capture process 76. When the user wishes to stop the capture process, the software stops running the image capture algorithm and prepares the captured images 78 so that they may later be viewed and manipulated by the user as he or she sees fit.
In another embodiment of the invention, the user may run the image capture software as described above but the software has the additional capability of recording audio or audio/video files using hardware that may be connected to or otherwise available to the processor of the computer or electronic device. The capture software in this embodiment may encode information that identifies the capture times of each captured image such that the images can later be viewed in a manner that is synchronized with the audio or audio/video files recorded. An example of how this embodiment may be used would be to generate a presentation that not only includes a series of screen images but also an audio or audio/video recording of what is said or demonstrated along with each image.
Referring to
When the user is ready to start the audio or audio/video recording and image capture process, the user may instruct the image capture software to start the capture process. When this instruction is given, the image capture software activates the audio or audio/video capture hardware and starts the image capture algorithm 84.
The image capture algorithm then runs in the same manner as previously detailed but with the additional step of adding time stamps to each captured image 86. These time stamps are keyed to the audio or audio/video file that is being recorded. These time stamps allow additional software to display the captured images in a manner that is synchronized to the playback of the audio or audio/video recording as may be the case.
When the user has completed the image capture and audio or audio/video recording, the user may instruct the image capture software to stop the image capture process 88. At this time, the software will also instruct the audio or audio/video recording hardware to stop recording and prepare the associated files for later use as desired.
Any embodiment of the present invention may include any of the optional or preferred features of the other embodiments of the present invention. The exemplary embodiments herein disclosed are not intended to be exhaustive or to unnecessarily limit the scope of the invention. The exemplary embodiments were chosen and described in order to explain the principles of the present invention so that others skilled in the art may practice the invention. Having shown and described exemplary embodiments of the present invention, those skilled in the art will realize that many variations and modifications may be made to the described invention. Many of those variations and modifications will provide the same result and fall within the spirit of the claimed invention. It is the intention, therefore, to limit the invention only as indicated by the scope of the claims.