1. Technical Field
The present disclosure relates to the field of scrapbooking, and more particularly to printing items for populating a scrapbook.
2. Related Art
Scrapbooking is an activity of creating attractive displays of photos, text, journaling, and memorabilia in a decorated album, referred to as a scrapbook. The scrapbook may be permanently bound or allow for page insertion. Scrapbooking materials include background papers, photo mounts, adhesive tape, mounting glue, scissors, art pens, rubber stamps, and many other items. A scrapbook page may include a central element, such as an image or photograph, and embellishments. Embellishments may include ticket stubs, announcements, invitations, notes, logos, graphics, emblems, and many other personally meaningful items.
Scrapbook images, photographs, and embellishments (collectively “scrapbook items”) are acquired from many sources, such as physical media and electronic files. For example, a scrapbook item may be acquired by downloading a digital file, reading a digital file from a memory storage device, and/or scanning an original document or photo to create a digital image file. The digital scrapbook item is printed to create a hardcopy scrapbook item which is then inserted into the scrapbook. Obtaining a hardcopy of a digital scrapbook item thus requires access to a printer, which limits the locations where one may populate the scrapbook. An improved approach is desirable.
The following embodiments relate to a mobile, handheld and hand-propelled printer (or printer/scanner) for use in populating a scrapbook. The hand-propelled printer receives image data from a source, such as a memory device or host, and renders an image directly into the scrapbook or onto a media that may be inserted in the scrapbook. Because the hand-propelled printer is mobile, it allows a user to engage in scrapbook activity at many locations.
In a preferred embodiment, a hand-propelled printer has a position module and a processor. The position module determines position data of the hand-propelled printer as it is moved about while rendering an image in a scrapbook or on a media. The position data includes the location and the orientation of the hand-propelled printer relative to an origin and an initial orientation. The processor receives image data corresponding to a scrapbook item and generates print data based on the image data and the position data. The processor communicates the print data to a print mechanism for printing the scrapbook item. The scrapbook item may be an image, drawing, graphic, illustration, embellishment, text, or other item. The hand-propelled printer may also have a wireless interface to communicate with a host or other device for receiving the image data. The hand-propelled printer may have a port for receiving a memory device having the image data.
The position module may have a movement module to generate movement data in response to movement of the hand-propelled printer. The movement data indicates the location and the orientation of the hand-propelled printer relative to the origin and the initial orientation. The position module may also have two motion sensors to communicate motion signals to the movement module in response to movement of the hand-propelled printer. In a preferred version, a position module processor receives the movement data and determines the position data. The position data includes location and orientation data indicative of a position of the hand-propelled printer.
The hand-propelled printer may have a housing having a length of approximately five inches, a width of approximately two inches, and a height of approximately one inch. The hand-propelled printer may include a print mechanism having a plurality of nozzles arranged in rings around a sensor element such as a scan head.
In another embodiment, a hand-propelled printer may comprise one or more of the following: means for determining position data of the hand-propelled printer in response to movement of the hand-propelled printer on a scrapbook sheet; means for receiving image data corresponding to a scrapbook item; means for communicating print data to a print mechanism; means for communicating with a host for receiving the image data; means for determining a reference point of the scrapbook sheet based on scan data received from a scan head; means for generating movement data in response to movement of the hand-propelled printer; and means for receiving the movement data and determining the position data.
Other systems, methods, and features of the invention will be, or will become, apparent to one with skill in the art upon examination of the following figures and detailed description. It is intended that all such additional systems, methods, features and advantages be included within this description, be within the scope of the invention, and be protected by the following claims.
The preferred embodiments will now be described with reference to the attached drawings.
a)-3(c) illustrate an example of populating a scrapbook using the hand-propelled printer of
The disclosure can be better understood with reference to the following drawings and description. The components in the figures are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention. Moreover, in the figures, like referenced numerals designate corresponding parts or elements throughout the different views.
The embodiments below relate to a hand-propelled printer for use in populating a scrapbook. The hand-propelled printer receives image data from a host or other device and/or generates image data by scanning an image. The image data corresponds to a scrapbook item, such as an image, drawing, graphic, illustration, text or embellishment that is to be printed directly in the scrapbook or on a media for insertion into the scrapbook. The hand-propelled printer has a position module to maintain image alignment as the hand-propelled printer is moved about the scrapbook or media to print the scrapbook item. The hand-propelled printer is thereby used to populate the scrapbook with the scrapbook item.
In a preferred embodiment, the device 102 has a printer/scanner module 104 having a module processor 114 for executing printing and/or scanning functions. The device 102 preferably includes a data bus 108, a power module 110, and a wireless communication module 112 to communicate with a host 116 or other device for receiving image data corresponding to a scrapbook item. The device 102 may also or alternatively have a port (not shown) for establishing a physical connection to the host 116 or other device. It is to be understood that any data discussed hereinafter as communicated by way of the wireless communication module 112 may be communicated by way of a physical connection with the device 102. The device 102 may also include a slot or port for receiving a memory device such as a flash memory card or thumb drive, as examples.
The device 102 is preferably handheld and hand-propelled, having dimensions suitable for single hand movement and control. In one version, the dimensions of the housing of the device 102 are approximately five inches in length, two inches in width, and one inch in height. It is to be understood that the device may be any shape or size suitable for handheld, hand-propelled image rendering.
If the device 102 is a hand-propelled printer or printer-scanner, the wireless communication module 112 receives image data, such as a bitmap, from the host 116 and communicates the image data to the module processor 114. The image data corresponds to a scrapbook item to be printed in the scrapbook or on a media. The scrapbook item may be any type of image, graphic, embellishment, symbol, logo, artwork, or any other printable item. For example, the scrapbook item may be stamp selected from a library of stamps maintained at the host 116, selected as a scrapbook item, and communicated to the device 102 as image data. The scrapbook item may be a note, poem, slogan or other text to be inserted into the scrapbook. A text item may be printed by the device 102 in the form of a handwritten image, or a formatted, stylistic font, as examples.
The host 116 may be any type of device that provides image data. For example, the host 116 may be a desktop or laptop computer. A computer may include or have access to one or more files corresponding to scrapbook items for selective inclusion into the scrapbook. The files may be stored in a memory device, such as a hard drive, and/or may include downloadable image and text files. The files may be read from a portable memory device, or received from an imaging device such as a digital camera or scanner. In alternate embodiments, the host 116 may be a digital camera, a personal digital assistant, a camera phone, a memory device, or any device that receives, generates, and/or stores image data for communication to the device 102.
To print a scrapbook item, the device 102 is placed on a scrapbook page or other media (hereinafter referred to as a “sheet”). The device 102 may be placed at a designated, initial location in a designated, initial orientation to accurately align and position the scrapbook item on the sheet as it is printed. Alternatively, or in addition, the device 102 may utilize a scanning function to locate a designated reference point or object for positioning and aligning the printed item.
As an operator moves the device 102 about the surface of the sheet, the scrapbook item is printed in accord with the image data. The device 102 may be moved about the sheet along different paths to render the entire scrapbook item. The paths need not be linear or follow a predetermined pattern because the device 102 includes a position module 106 for determining the absolute position of the print head as it is moved in any direction to any location with respect to an origin or reference point. Thus, the device 102 prints the complete scrapbook item at the correct location as it is moved about the surface of the sheet, all the while continuously determining its position. The device 102 preferably provides an audio or visual signal to the user/operator when the scrapbook item has been completely printed on the sheet.
As mentioned above, the device 102 includes a position module 106 for determining its location and orientation as it is moved about the sheet. The position module 106 provides location and orientation data to the module processor 114. The module processor 114 determines print data based on the image data and location and orientation data received from the position module 106. The module processor 114 communicates the print data to a print mechanism as the device 102 is moved about the surface of the sheet. The print mechanism renders the scrapbook item on the sheet based on the print data.
If the device 102 is a hand-propelled printer-scanner, a media may be scanned to acquire an image file of an item featured on the media. The data file may then be printed by the device 102 directly in the scrapbook or on another media for insertion in the scrapbook. Alternatively, the data file may be communicated to a host 116 or other device for editing or other purposes, such as cropping. The edited image file may then be communicated back to the device 102 for printing in the scrapbook or on another media.
For scanning media containing a scrapbook item, the device 102 is placed on and moved about the surface of the media as an imaging mechanism generates image signals. The module processor 114 receives the image signals from the imaging mechanism and determines image data based on the image signals and location and orientation data received from the position module 106. The device 102 may be used to print the scrapbook item as scanned, or the module processor 114 may communicate the image data to the wireless communication module 112, which communicates the image data to the host 116. The item may be edited at the host 116. The host 116 may be a desktop or laptop computer, or other device that communicates (sends/receives) image data. The wireless communication module 112 and the host 116 may comprise a network such as a wireless local area network (WLAN), as an example.
a)-3(c) illustrate an example of populating a scrapbook sheet 300 with a scrapbook item using a handheld, hand-propelled printer 302.
b) shows the hand-propelled printer 302 placed on the sheet 300. The hand-propelled printer 302 is moved about the surface of the sheet as print data is communicated to a print head to print the scrapbook item 308 as shown in
In one embodiment, the device is set at a position that is designated the initial position or “origin” of the device. The origin includes an initial location and initial orientation of the device on the scrapbook sheet before the device is moved (Act 502). The act of designating an initial location and an initial orientation of the device may be referred to as “zeroing the origin.” The initial location and initial orientation may be defined within any two or three dimensional coordinate system. The device may be set at a location determined for printing the scrapbook item.
As the device is moved, movement data is generated to track location changes and orientation changes of the device (Act 504). The movement data may be generated by any component, module, or any mechanism that generates data indicative of movement.
Direction and distance data is generated for both motion sensors 604, 606 as the device moves. For example, as motion sensor 604 moves from point A to point B and motion sensor 606 moves from point M to point N, direction and distance data is generated by the movement module 602 for each sensor 604, 606. The location of motion sensor 604 with respect to point A and the location of motion sensor 606 with respect to point M is determined by the movement module 602 based on the direction and distance data generated for each respective sensor 604, 606. When motion sensor 604 next moves from point B to point C, the movement module 602 determines the location of motion sensor 204 with respect to point B. Likewise, when motion sensor 606 moves from point N to point O, the movement module 602 determines the location of motion sensor 606 with respect to point N. The movement module 602 generates movement data indicative of the movement of each motion sensor 604, 606 from point-to-point and communicates the movement data to the processor 608.
The processor 608 determines the position of the device with respect to the origin (the initial location and initial orientation of the device) by cumulating the movement data received from the movement module 602 (Act 506). The position of the device determined by the processor 608 includes both the location and orientation of the device with respect to the origin and may be referred to as the “absolute position” of the device.
The location of the device (or any point, line, or area of the device) is determined by cumulating the movement data, starting from the origin. The orientation of the device is defined as an angle between two lines: the first line is defined by the locations of the two motion sensors when the device is at the origin; the second line is defined by the locations of the two motion sensors when the device is at its respective location. As movement data continues to be received from the movement module 602 as the device moves, the processor 608 continues to update the absolute position of the device. The absolute position of the device may be communicated as location and orientation data to a device processor for use in printing an image or text on the scrapbook sheet or for generating scan data as an item is scanned (Act 508).
The control block 708 has a communication interface 716 configured to communicatively couple the control block 708 to other devices 720, which may include an image source 724. The image source 724 may be any type of device capable of transmitting data related to an image or text to be printed. The image source 724 may include a general purpose computing device, e.g., a desktop computing device, a laptop computing device, a mobile computing device, a personal digital assistant, a cellular phone, etc. or it may be a removable storage device, e.g., a flash memory data storage device, designed to store data such as image data. If the image source 724 is a removable storage device, e.g., a universal serial bus (USB) storage device, the communication interface may include a port, e.g., USB port, designed to receive the storage device.
The communication interface 716 may include a wireless transceiver to allow the communicative coupling with the image source 724 to take place over a wireless link. The image data may be wirelessly transmitted over the link through the modulation of electromagnetic waves with frequencies in the radio, infrared or microwave spectrums.
A wireless link may contribute to the mobility and versatility of the printing device 704. However, a printing device 704 may additionally/alternatively include a wired link communicatively coupling one or more of the other devices 720 to the communication interface 716.
In some versions of the printing device 704, the communication interface 716 communicates with the other devices 720 through one or more wired and/or wireless networks including, but not limited to, personal area networks, local area networks, wide area networks, metropolitan area networks, etc. The data transmission may be done in a manner compatible with any of a number of standards and/or specifications including, but not limited to, 802.11, 802.16, Bluetooth®, Global System for Mobile Communications (GSM), code-division multiple access (CDMA), Ethernet, etc.
The communication interface 716 transmits the received image data to an on-board image processing module 728. The image processing module 728 processes the received image data in a manner to facilitate an upcoming printing process. Image processing techniques may include dithering, decompression, half-toning, color plane separation, and/or image storage. In various embodiments some or all of these image processing operations may be performed by the image source 724 or another device. The processed image may then be transmitted to a print module 732 where it is cached in anticipation of a print operation.
The print module 732 may also receive positioning information, indicative of a position of the print head 712 relative to a reference point, from a positioning module 734. The positioning module 734 may be communicatively coupled to one or more navigation sensors 738. The navigation sensors 738 may include a light source, e.g., LED, a laser, etc., and an optoelectronic sensor designed to take a series of pictures of a print medium adjacent to the printing device 704 as the printing device 104 is moved over the print medium (i.e., project document). The positioning module 734 processes the pictures provided by the navigation sensors 738 to detect structural variations of the print medium. The movement of the structural variations in successive pictures indicates motion of the printing device 704 relative to the medium. The precise positioning of the navigation sensors 738 can be determined by tracking the movement of the structural variations. The navigation sensors 738 may be maintained in a structurally rigid relationship with the print head 712, thereby allowing for the calculation of the precise location of the print head 712.
The print medium, as used in embodiments herein, may be any type of scrapbook medium on which a printing substance, e.g., ink, powder, etc., may be deposited. It is not limited to printed paper or other thin, flexible print media commonly associated with traditional printing devices.
The navigation sensors 738 have operating characteristics for tracking movement of the printing device 704 within a desired degree of precision. In one example, the navigation sensors 738 process approximately 1500 frames per second, with each frame including a rectangular array of 18×18 pixels. Each pixel detects a six-bit grayscale value, e.g., capable of sensing 64 different levels of gray.
The print module 732 receives the positioning information and coordinates the location of the print head 712 to a portion of the processed image and a corresponding location on the print medium. The print module 732 controls the print head 712 to deposit a printing substance on the print medium to render the corresponding portion of the processed image.
The print head 712 may be an inkjet print head having a plurality of nozzles designed to emit liquid ink droplets. The ink, which may be contained in reservoirs/cartridges, may be black and/or any of a number of various colors. A common, full-color inkjet print head may have nozzles for cyan, magenta, yellow, and black ink. Other embodiments may utilize other printing techniques, e.g., toner-based printers such as laser or light-emitting diode (LED) printers, solid ink printers, dye-sublimation printers, inkless printers, etc.
The control block 708 may also include an image capture module 742. The image capture module 742 is communicatively coupled to one or more optical imaging sensors 746. The optical imaging sensors 746 may include a number of individual sensor elements. The optical imaging sensors 746 may be designed to capture a plurality of surface images of the print medium, which may be individually referred to as component surface images. The image capture module 742 generates a composite image by stitching together the component surface images. The image capture module 742 receives positioning information from the positioning module 734 to facilitate the arrangement of the component surface images into the composite image.
In an embodiment in which the printing device 704 is capable of scanning full color images, the optical imaging sensors 746 have sensor elements capable of scanning different colors.
A composite image acquired by the printing device 704 may be transmitted to one or more of the other devices 720 by, e.g., e-mail, fax, file transfer protocols, etc. The composite image may be additionally/alternatively stored locally by the printing device 704 for subsequent review, transmittal, printing, etc.
In addition (or as an alternative) to composite image acquisition, the image capture module 742 may be utilized for calibrating the positioning module 734. In various embodiments, the component surface images (whether individually, some group, or collectively as the composite image) may be compared to the processed print image rendered by the image processing module 728 to detect accumulated positioning errors and/or to reorient the positioning module 734 in the event the positioning module 734 loses track of its reference point. This may occur, for example, if the printing device 704 is lifted off the print medium during a print operation.
The printing device 704 may include a power supply 750 coupled to the control block 708. The power supply 750 may be a mobile power supply, e.g., a battery, a rechargeable battery, a solar power source, etc. In other embodiments the power supply 750 may additionally/alternatively regulate power provided by another component (e.g., one of the other devices 720, a power cord coupled to an alternating current (AC) outlet, etc.).
As discussed above, the navigation sensors 738 communicate image data to the positioning module 734, which determines positioning information related to the optical imaging sensors 746 and/or the print head 712. As stated above, the proximal relationship of the optical imaging sensors 746 and/or print head 712 to the navigation sensors 738 may be fixed to facilitate the positioning of the optical imaging sensors 746 and/or print head 712 through information obtained by the navigation sensors 738.
The print head 712 may be an inkjet print head having a number of nozzle rows for different colored inks. In particular, and as shown in
In various embodiments the placement of the nozzles of the print head 712 and the sensor elements of the optical imaging sensors 746 may be further configured to account for the unpredictable nature of movement of the hand-propelled printing device 704. For example, while the nozzles and sensor elements are arranged in linear arrays in the printing device 704 other embodiments may arrange the nozzles and/or sensor elements in other patterns. In some embodiments the nozzles may be arranged completely around the sensor elements so that whichever way the printing device 704 is moved the optical imaging sensors 746 will capture component images reflecting deposited ink. In some embodiments, the nozzles may be arranged in rings around the sensor elements (e.g., concentric circles, nested rectangular patterns, etc.).
While the nozzle rows 802c, 802m, 802y, and 802k shown in
In the embodiment depicted by
The display 912, which may be a passive display, an interactive display, etc., may provide the user with a variety of information. The information may relate to the current operating status of the printing device 704 (e.g., printing, ready to print, scanning, ready to scan, receiving print image, transmitting print image, transmitting scan image, etc.), power of the battery, errors (e.g., scanning/positioning/printing error, etc.), instructions (e.g., “position device over a printed portion of the image for reorientation,” etc.). If the display 912 is an interactive display it may provide a control interface in addition to, or as an alternative from, the control inputs 904 and 908.
Once the reference point is set, the positioning module 734 determines positioning information, e.g., translational and/or rotational changes from the reference point, using the navigation sensors 738 (Act 1012). The translational changes may be determined by tracking incremental changes of the positions of the navigation sensors along a two-dimensional coordinate system, e.g., Δx and Δy. Rotational changes may be determined by tracking incremental changes in the angle of the printing device with respect to either the x-axis or the y-axis. These transitional and/or rotational changes may be determined by the positioning module 734 comparing consecutive navigational images taken by the navigation sensors 738 to detect these movements.
The positioning module 734 may also receive component surface images from the optical imaging sensors 746 and processed image data from the image processing module (Act 1016). If the positioning information is accurate, a particular component surface image from a given location should match a corresponding portion of the processed image. If the given location is one in which the print head 712 has deposited something less than the target print volume for the location, the corresponding portion of the processed image may be adjusted to account for the actual deposited volume for comparison to the component surface image. In the event that the print head 712 has yet to deposit any material in the given location, the positioning information may not be verified through this method. However, the verification of the positioning information may be done frequently enough given the constant movement of the printing device 704 and the physical arrangement of the nozzle rows of the print head 712 in relation to the optical imaging sensors 746.
If the particular component surface image from the given location does not match the corresponding portion of the processed image, the positioning module 734 may correct the determined positioning information (Act 1020). Given adequate information, e.g., sufficient material deposited in the location captured by the component surface image, the positioning module 734 may set the positioning information to the offset of the portion of the processed image that matches the component surface image. In most cases this may be an identified pattern in close proximity to the location identified by the incorrect positioning information. In the event that the pattern captured by the component surface image does not identify a pattern unique to the region surrounding the incorrect positioning information, multiple component surface images may be combined in an attempt to identify a unique pattern. Alternatively, correction may be postponed until a component surface image is captured that does identify a pattern unique to the surrounding region.
In some embodiments, correction of the determined positioning information may be done periodically in order to avoid overburdening the computational resources of the positioning module 734.
Following correction, the positioning module 734 determines whether the positioning operation is complete (Act 1024). If it is determined that the positioning operation is not yet complete, the operation loops back (to Act 1012). If it is determined that it is the end of the positioning operation, the operation ends (Act 1028). The end of the positioning operation may be tied to the end of the printing/scanning operation, which will be discussed with reference to
The print module 732 receives a print command generated from a user activating the print control input 904 (Act 1116). The print module 732 receives positioning information from the positioning module 734 (Act 1120). The print module 732 determines whether to deposit printing substance at the given position (Act 1124). The determination as to whether to deposit printing substance may be a function of the total drop volume for a given location and the amount of volume that has been previously deposited.
If it is determined that no additional printing substance is to be deposited, the operation may advance to determine whether the end of the print operation has been reached (Act 1128). If it is determined that additional printing substance is to be deposited, the print module 732 causes an appropriate amount of printing substance to be deposited by generating and transmitting control signals to the print head 712 that cause the nozzles to drop the printing substance (Act 1132).
The determination of whether the end of the printing operation has been reached may be a function of the printed volume versus the total print volume. In some embodiments the end of the printing operation may be reached even if the printed volume is less than the total print volume. For example, an embodiment may consider the end of the printing operation to occur when the printed volume is ninety-five percent of the total print volume. However, it may be that the distribution of the remaining volume is also considered in the end of print analysis. For example, if the five percent remaining volume is distributed over a relatively small area, the printing operation may not be considered to be completed.
In some embodiments, an end of print job may be established by a user manually cancelling the operation.
If it is determined that the printing operation has been completed, the printing operation ends (Act 1136).
If it is determined that the printing operation has not been completed, the printing operation loops back (to Act 1120).
The image capture module 742 controls the optical imaging sensors 746 to capture one or more component images (Act 1208). In some embodiments, the scan operation will only commence when the printing device 704 is placed on a print medium. This may be ensured by manners similar to those discussed above with respect to the printing operation, e.g., by instructing the user to initiate scanning operation only when the printing device 704 is in place and/or automatically determining that the printing device 704 is in place.
The image capture module may receive positioning information from the positioning module (Act 1212) and add the component images to the composite image (Act 1216). The image capture module determines whether the scanning operation is complete (Act 1220).
The end of the scanning operation may be determined through a user manually cancelling the operation and/or through an automatic determination. In some embodiments, an automatic determination of the end of print job may occur when all interior locations of a predefined image border have been scanned. The predefined image border may be determined by a user providing the dimensions of the image to be scanned or by tracing the border with the printing device 704 early in the scanning sequence.
If it is determined that the scanning operation has been completed, the scanning operation ends (Act 1224).
If it is determined that the scanning operation has not been completed, the printing operation loops back (to Act 1208).
Memory 1308 and storage 1316 may include, in particular, temporal and persistent copies of code 1324 and data 1328, respectively. The code 1324 may include instructions that when accessed by the processors 1304 result in the computing device 1300 performing operations as described in conjunction with various modules of the control block in accordance with embodiments of this invention. The processing data 1328 may include data to be acted upon by the instructions of the code 1324. In particular, the accessing of the code 1324 and data 1328 by the processors 1304 may facilitate printing, scanning, and/or positioning operations as described herein.
The processors 1304 may include one or more single-core processors, multiple-core processors, controllers, application-specific integrated circuits (ASICs), etc.
The memory 1308 may include random access memory (RAM), dynamic RAM (DRAM), static RAM (SRAM), synchronous DRAM (SDRAM), dual-data rate RAM (DDRRAM), etc.
The storage 1316 may include integrated and/or peripheral storage devices, such as, but not limited to, disks and associated drives (e.g., magnetic, optical), USB storage devices and associated ports, flash memory, read-only memory (ROM), non-volatile semiconductor devices, etc. Storage 1316 may be a storage resource physically part of the computing device 1300 or it may be accessible by, but not necessarily a part of, the computing device 1300. For example, the storage 1316 may be accessed by the computing device 1300 over a network.
The I/O interfaces 1320 may include interfaces designed to communicate with peripheral hardware, e.g., print head 712, navigation sensors 738, optical imaging sensors 746, etc., and/or remote devices, e.g., other devices 720.
In various embodiments, computing device 1300 may have more or less elements and/or different architectures.
All of the discussion above, regardless of the particular implementation being described, is exemplary in nature, rather than limiting. Although specific components of the devices disclosed herein are described, methods, systems, and articles of manufacture consistent with the devices (e.g., 102 and 704) may include additional or different components. For example, components of the devices 102 and 704, host 116, and image source 720 may be implemented by one or more of: control logic, hardware, a microprocessor, microcontroller, application specific integrated circuit (ASIC), discrete logic, or a combination of circuits and/or logic. Further, although selected aspects, features, or components of the implementations are depicted as hardware or software, all or part of the systems and methods consistent with the devices 102 and 704, host 116, and image source 720 may be stored on, distributed across, or read from machine-readable media, for example, secondary storage devices such as hard disks, floppy disks, and CD-ROMs; a signal received from a network; or other forms of ROM or RAM either currently known or later developed. Any act or combination of acts may be stored as instructions in computer readable storage medium. Memories may be DRAM, SRAM, Flash or any other type of memory. Programs may be parts of a single program, separate programs, or distributed across several memories and processors.
The processing capability of the system may be distributed among multiple system components, such as among multiple processors and memories, optionally including multiple distributed processing systems. Parameters, databases, and other data structures may be separately stored and managed, may be incorporated into a single memory or database, may be logically and physically organized in many different ways, and may implemented in many ways, including data structures such as linked lists, hash tables, or implicit storage mechanisms. Programs and rule sets may be parts of a single program or rule set, separate programs or rule sets, or distributed across several memories and processors.
It is intended that the foregoing detailed description be understood as an illustration of selected forms that the invention can take and not as a definition of the invention. It is only the following claims, including all equivalents, that are intended to define the scope of this invention.
This application claims the benefit of U.S. Provisional Application No. 60/892,733, filed on Mar. 2, 2007, which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
60892733 | Mar 2007 | US |