A method of testing the ability of software modules, each executing particular functions, in a device to cooperate using machine code sequences contained in executing software modules, checks the mutual independence and compatibility of the various technical functions. The method includes searching software modules for machine code sequences containing write access to unauthorized areas, ascertaining a respective maximum number of loop passes for each loop and establishing whether or not the respective maximum number of loop passes is limited, and, if reference values are observed, determining that the software modules are able to cooperate, and, if the reference values are not observed, determining that the software modules are not able to cooperate.

The invention relates to a method of testing computer software.
Software and sections of software (called software modules below) are presently frequently written by more than one person. It is, therefore, necessary to ensure that the actions of one software module do not contradict, or even reverse, those of another software module. In the case of open software, that is to say, in the environment of a personal computer, the mutual independence and compatibility of the software modules is guaranteed by dynamic area monitoring software.
For software embedded in devices (with microcontrollers, microprocessors, or controllers, for example), the compatibility is currently ensured by rules for the cooperation of individual software modules: the software is first produced in readable form as source code with the associated documentation. The software is then compiled into the machine-readable form, the object code. A company""s in-house task division and rules (design rules) ensure that the individual software modules are compatible with one another. The interaction of the software modules in terms of function and timing is checked in an integration test.
In the case of embedded software, all these operations are carried out with the open cooperation of all those involved, that is to say, with the source codes and their documentation at hand.
Embedded software modules executing cooperative functions between two or more devices have become so complex that they can no longer be mastered or produced by individual firms alone. It has become necessary for competitors to cooperate in producing the embedded software for one or more devices. However, the competitive situation between the firms forbids the disclosure of the source code and necessitates that object code that is already compiled be embedded. Consequently, the content of a technical function is no longer known in detail to the producer of another function. The producer, therefore, can no longer take the content into account.
For a software module to perform its technical functions independently of and compatibly with another technical function, an additional area monitoring function would need to be installed. However, such installation is relatively complex, and, hence, expensive.
Software tools exist that can check that formal rules (design rules) in the source code or in the object code are being observed. There are also mechanisms for worst-case prediction of the time response using the source code or object code. However, there is no method for checking the mutual independence and compatibility of various technical functions implemented by software.
It is accordingly an object of the invention to provide a method of testing computer software that overcomes the hereinafore-mentioned disadvantages of the heretofore-known devices and methods of this general type and that checks the mutual independence and compatibility of various technical functions implemented by software.
With the foregoing and other objects in view, there is provided, in accordance with the invention, a method of testing the ability of software modules, each executing particular functions, in a device to cooperate using machine code sequences contained in executing software modules, including searching software modules for machine code sequences containing write access to unauthorized areas, ascertaining a respective maximum number of loop passes for each loop and establishing whether or not the respective maximum number of loop passes is limited, and if reference values are observed, determining that the software modules are able to cooperate, and, if the reference values are not observed, determining that the software modules are not able to cooperate.
One advantage of the invention is that no additional complexity (random access memory, read-only memory, run time) is required in the controller itself. The reduction in complexity is achieved, in particular, by the measures described below, where it is merely necessary to know the division of the technical functions between the individual software modules. Division of technical functions should be understood, for example, as meaning (1) which actuators, sensors and so on attend to which function through which ports, (2) which registers (e.g., for basic settings of the microcontroller, the microprocessor, or the controller) are attended to by which function, (3) how much run time should be available for the respective functions, (4) how frequently interrupts, preemptions and task calls will arise per unit of time, and (5) which interfaces use the functions amongst one another.
The method according to the invention for formally checking and testing software modules that are to be embedded, and appropriate complete software that is embedded, provides for the properties of the individual software modules, in terms of delimitation from the other software modules, to be formally checked statically and quasi-dynamically (meaning static worst-case consideration of the dynamic response), and for carrying out the check even before the device is in dynamic operation. The result of the check is that, advantageously, no additional monitoring software is required in active operation.
Another advantage provided is that a serviceable general technical set of functions is ensured for devices with embedded software, particularly in applications in which sections of the software are not in the form of source code. In such a case, the formal check on the delimitation of the software modules relates at least (but no exclusively) to checking prohibited write access operations to memories (for example, to registers, random access memory areas, pins, pointers, etc.) and to checking the limitation of loop counters (for example, that there are no endless loops). It is also possible to check whether or not prohibited interrupt-enable/disable operations are being carried out.
As part of the function check, provision can also be made for (1) carrying out a check, based on the object code, to determine whether or not program sections are executed directly from the random access memory area (that is to say can be changed dynamically), (2) using the object code to check the maximum length of time for which an interrupt is disabled, (3) using the object code to check the maximum amount of time a software module (task) needs for processing, (4) for the object code for an implementation language (such as OSEK-OIL), particularly, the description of the task priorities, preemptions and so on, and using the indication of the task activation frequency to determine the worst-case time response of all or a subset of the software modules, and (5) ascertaining the stack size from the worst-case situation with regard to interrupts, preemptions, etc., and their priority and frequency.
In accordance with another mode of the invention, the software modules are searched for sequences in which unauthorized interrupt-enable/disable operations are carried out, and, if the reference values are observed, it is determined that the software modules are able to cooperate, and, if the reference values are not observed, it is determined that the software modules are not able to cooperate.
In accordance with a further mode of the invention, the interrupt-disable times are ascertained and the interrupt-disable times are compared with respectively appropriate reference values, and, if the reference values are observed, it is determined that the software modules are able to cooperate, and, if the reference values are not observed, it is determined that the software modules are not able to cooperate.
In accordance with an added mode of the invention, a maximum run time of the individual executing software modules is ascertained and the maximum run time of the individual executing software modules is compared with respectively appropriate reference values, and, if the reference values are observed, it is determined that the software modules are able to cooperate, and, if the reference values are not observed, it is determined that the software modules are not able to cooperate.
In accordance with an additional mode of the invention, a total run time and a message latency time is ascertained and the total run time and the message latency time is compared with respectively appropriate reference values, and, if the reference values are observed, it is determined that the software modules are able to cooperate, and, if the reference values are not observed, it is determined that the software modules are not able to cooperate.
In accordance with yet another mode of the invention, a maximum interrupt and preemption depth is ascertained and the maximum interrupt and preemption depth is compared with respectively appropriate reference values, and, if the reference values are observed, it is determined that the software modules are able to cooperate, and, if the reference values are not observed, it is determined that the software modules are not able to cooperate.
In accordance with yet a further mode of the invention, the ascertaining step includes ascertaining the number of loop passes by identifying the loops and their associated loop counters, establishing how the counters are manipulated, and establishing whether or not the counters each have a static limit at the start of the loop.
In accordance with yet an added mode of the invention, the ascertaining interrupt-disable times step includes ascertaining the interrupt-disable times by searching the software modules for machine code sequences manipulating interrupt-enable/disable code, and determining times between each of these machine code sequences.
In accordance with yet an additional mode of the invention, the ascertaining a maximum run time step includes ascertaining the maximum run time of the individual executing software modules using a number of machine cycles.
In accordance with again another mode of the invention, the ascertaining a total run time and a message latency time step includes ascertaining the total run time and the message latency time by determining a frequency of interrupts, task calls, and messages per defined unit of time, and establishing priorities for the tasks, the messages, and permitted preemptions.
In accordance with again a further mode of the invention, the ascertaining a maximum interrupt and preemption depth step includes ascertaining the maximum interrupt and preemption depth by determining a frequency of interrupts, task calls, and messages per defined unit of time, and establishing priorities for the tasks, the messages, and permitted preemptions.
In accordance with again an added mode of the invention, a size of a required stack is ascertained from the maximum interrupt and preemption depth.
In accordance with a concomitant mode of the invention, the software modules are examined to determine whether or not machine code sequences are executed directly from a direct access memory.
Other features that are considered as characteristic for the invention are set forth in the appended claims.
Although the invention is illustrated and described herein as embodied in a method of testing computer software, it is nevertheless not intended to be limited to the details shown because various modifications and structural changes may be made therein without departing from the spirit of the invention and within the scope and range of equivalents of the claims.
The construction and method of operation of the invention, however, together with additional objects and advantages thereof will be best understood from the following description of specific embodiments when read in connection with the accompanying drawings.


Pharmaceutical combinations and methods for using such combinations to treat depression are disclosed. In various embodiments (the pharmaceutical combinations include combinations of omega-3 fatty acids, pharmacological sleep agents, and non-pharmacological sleep therapies, and may include other ingredients such as antidepressants. The present invention relates pharmaceutical combinations and methods for their use to treat depression.

Antidepressants are a well-known class of pharmaceuticals. They are generally categorized according to their mechanism of action on neurotransmitter activity (e.g., Selective Serotonin Reuptake Inhibitors; Serotonin and Norepinephrine Reuptake Inhibitors; Tricyclic antidepressants; and Monoamine Oxidase Inhibitors); with a number of drugs in each category having received marketing approval in the U.S. and elsewhere. Although widely used, antidepressants are known to have a number of drawbacks. For example, they are known to be plagued by long delays in initiating response (typically 4 or more weeks), and may have only a partial or no response.
Certain natural compounds have also been investigated for their effectiveness in treating depression. For example, substantial work has been done to study the effectiveness of various omega-3 fatty acids in treating depression (See, for example, Carlezon et al., 2005; Marangell et al., 2003; U.S. Pat. Nos. 6,852,870, 8,071,646, and 8,372,451; and U.S. Patent Publ. Nos. 2005/0267212 and 2011/0200690).
Despite this work, however, the use of omega-3 fatty acids in treating depression has failed in clinical trials (e.g., VASCEPA® (icospent ethyl), an EPA-only omega-3 fatty acid, failed in depression clinical trials), and currently no omega-3 fatty acid formulation has been approved by the U.S. Food and Drug Administration (FDA) for use in treating depression. In fact, recent meta-analyses suggest omega-3 fatty acids, on a population level, have mixed results (See, for example, Mischoulon, 2011; Appleton et al., 2010; Martins, 2009; and Young and Conquer, 2005).
Insomnia has traditionally been thought to be associated with depression. As such, certain sleep medications have been used to treat sleep difficulties associated with depression. However, not only do these medications not treat the depression itself, findings suggest that they may actually cause and/or exacerbate depression (Kripke, 2007; and Walling, 2010).
In this regard, the FDA has required the side effect "worsening of depression" to be included on the label of certain sleep medications (such as zolpidem), and this side effect known to be associated with the use of sleeping pills has been receiving increased attention in the media (See, for example, Rabin, 2012). In fact, sleep deprivation—rather than sleep inducement—has been shown to help alleviate depression (See, for example, Giedke, 2002 which teaches that sleep deprivation may be help depression; See also, Giedke et al., 2003; Wirz-Justice, 1999; Adrien, 2002; Letemendia, 1986; and Wu, 1990). As such, sleep-inducing medications may be contraindicated in patients suffering from depression.
Thus, there is a need in the art for new treatments for depression, in particular for new pharmaceutical combinations to provide more robust treatments for depression with faster onset.

Combination methods and compositions including sleep therapeutics for treating mood


A game, effective for stimulating enjoyment and interaction between family and friends, the game comprising a game board, a timer, a deck of cards, five game pieces, and a set of chains wherein players are divided into teams and one player from each team is designated a chain handler, where the chain handler must use a chain to describe words drawn from one of the cards and the other players on the chain handler's team must guess the word being drawn with the chain.

The present invention relates generally to family board games, and more particularly, word guessing games which require teams to guess words drawn from a deck of cards where one of the members of the team provides hints to the other members of the team, based on a subject word selected from a card, so that the team might guess the subject word.
The prior art discloses some word guessing games where teams try to identify specific words corresponding to hints provided by team mates, for example, hints drawn on a board. For example, Pictionary, a well known game, requires teams to guess words corresponding to drawings made by a teammate, where the drawings are made using a pencil and paper.
Despite such prior art, it is believed that there is a need for a word guessing game that does not require the use of a writing utensil and paper and that also includes other novel and useful features.


A portable barbeque grill cart is disclosed having a base portion, two opposing end portions, and optional shelf portions. The two end portions are fabricated having two or more slip sleeve connectors adapted for telescopic interconnection of the base portion of the two end portions, thereby making assembly of the cart simple and expedient. The portable barbeque grill cart has no small loose pieces which can be lost or misplaced during shipment or assembly.

This invention relates generally to portable barbeque grill carts, and is particularly concerned with barbeque grill carts fabricated from connectable pieces of bent metal tubing having a base portion and two opposing end portions. A novel slip sleeve structure is used for connecting the pieces together which makes assembly of the cart simple and expedient. The slip sleeves are formed from sections of tubular metal for telescopic interconnection of the base and end portions.
Because of economic and space considerations it has become general practice, especially in the area of consumer products, to ship and sell products consisting of multiple pieces in an unassembled condition. Although this theoretically saves the retailers and consumers money, it also means that the consumer is left with the laborsome chore of putting the product together. Confusing directions along with numerous nuts and bolts makes this a complicated process. Worse still is the case where the consumer is without mechanical aptitude, or sufficient tools to perform the assembly.
Such problems exist in the area of portable barbeque grills and more particularly, portable barbeque grill carts, which typically are supplied to retailers and consumers in an unassembled condition in order to minimize storage requirements during shipping and warehousing, and to reduce labor costs so that savings can be passed along to the consumer. Since assembly is performed by the consumer, and assembly of the barbeque grill cart itself is the most time consuming part of assembling the entire product, it is desirable to provide a structure which can easily be assembled with a minimum of effort. Such is the intention of the barbeque wagon which is the subject of U.S. Pat. No. 4,718,399. However it has fallen short. This cart and others like it known in the art are comprised of dozens of individual pieces which first must be identified, then sorted, then assembled in a very lengthy multi-step process. In addition to this complicated procedure there is the likelihood that some pieces may be lost, especially the numerous nuts, bolts, washers, and pins.
There is therefore a need for a barbeque grill cart which is ruggedly constructed that comprises few parts and which can be assembled quickly and easily with a minimum of effort.


A reflective stage overhead projector has a light source, a projection lens and mirror assembly for focusing and reflecting an illuminated image onto a screen, and a stage area for supporting an image to be illuminated and projected. One reflective surface of the stage area is defined by a noncentral portion of a Fresnel lens.

1. Field of the Invention.
The present invention relates to the field of optics and in particular to a reflective stage overhead projector utilizing an asymmetrical reflective supporting stage.
2. Description of the Prior Art.
Overhead projectors are in widespread use because they provide an economical and efficient method of displaying and presenting information to a large number of spectators. Overhead projectors generally have the following basic components: a base containing an asymmetrical reflective stage such as a Fresnel lens which provides support for the transparent material to be displayed; a lamp and lens combination positioned above the stage to illuminate the reflective stage; and a mirror and lens assembly through which rays of light radiating from the reflective stage are focused onto a screen.
The above components work in combination to display information contained on the transparent material to the screen. The lamp and lens combination is designed to provide an intense illumination to the reflective stage. Light radiating from the reflective stage is directed toward the mirror and lens assembly which focuses the image onto the screen.
The reflective stage is composed of two surfaces: a first planar surface and a second reflective surface which is typically formed utilizing a portion of a Fresnel lens. The type of Fresnel lens typically used in overhead projectors has a small planar center with a plurality of circular concentrically stepped setbacks which reflect illuminating light to a target point above the lens. The location of the target point will change corresponding to changes in position of the lamp and lens combination. The lamp and lens combination and the reflective surface are placed in a fixed position relative to one another such that the target point of the Fresnel lens is located at the mirror and lens assembly. Light radiating from the reflective surface travels through the transparent material and converges at the target point where the mirror and lens assembly focus the light onto the screen.
Overhead projectors utilizing the above components are disclosed, for example, in the following references:
______________________________________ Country Applicant Reference No. ______________________________________ U.S.A Appeldorn 3,293,982 U.S.A. Hubner 3,486,817 U.S.A. Mueller 4,206,984 Germany Demolux GmbH & Co. KG 34 10 024 A1 Germany Demolux GmbH & Co. KG 35 12 466 A1 ______________________________________
Appeldorn, Hubner and Mueller each show an overhead projector with its mirror and lens assembly located between a light source and a screen on which an image is to be projected. The Demolux references reverse the positioning of the mirror and lens assembly and the light source, such that the light source is located between the mirror and lens assembly and the screen. The light source is so positioned in Demolux reference 34 10 024 A1 to accommodate a slide projector and in Demolux 35 12 466 A1 to accommodate an auxiliary support surface.
The optical configurations utilized in the prior art have limitations which cause several problems to both the presenter (user) who views the stage area as well as to the audience which views the illumination of the projected image on the screen. One limitation is a "bright-spot" of light projected upon the screen of higher intensity than the surrounding illumination. Another limitation, termed "hot-spot," is a reflection of the lamp off of the reflective surface which presents a glare to a user of the projector.
A "bright-spot" refers to an area or spot of light on the screen of higher intensity than the surrounding illumination. As discussed above, a Fresnel lens has, on one side thereof, circular concentric setbacks which reflect illumination to a target point above the lens. Proper reflection to this target point requires that a small circular center area of the Fresnel lens be planar. The planar center area of the Fresnel lens acts as a mirror and reflects not only the illuminating light from the lamp but an image of the lamp itself. The mirror and lens assembly, viewing the lamp off of the planar surfaces of the transparent material, the first planar surface of the reflective stage and the planar center area of the Fresnel lens, forms a real image of the lamp in the space between the mirror and lens assembly and the screen. The light from the real image is projected on toward the screen where it forms a spurious defocused spot of light of higher intensity than the surrounding illumination. The spot of light is annoying to a viewing audience and causes a loss of image contrast in a region where the spot of light strikes the screen.
The "hot-spot" limitation, contrasted with the "bright-spot" problem discussed above, is not formed because of any particular characteristic of the Fresnel lens. Rather, it is a specular reflection of the lamp image off of the planar surfaces of the transparent material and the first planar surface of the reflective stage. Because of this specular reflection, a user looking at the reflective stage will see a virtual image of the lamp reflected off of these planar surfaces. This lamp image creates a glare which is annoying to the user viewing the reflective stage, causing eye strain and making presentation of material more difficult.

Overhead projector with centerless Fresnel lens reflective stage

Minnesota Mining and Manufacturing Company


A method for backing up data in a computer system from at least one primary data source to a secondary data source is provided. The method includes performing a full image backup on a plurality of data blocks stored by the primary data source(s). An incremental backup can then be initiated at a predetermined interval. During this incremental backup, the modification time of each file/folder at the predetermined interval can be compared to a defined time. If the modification time is earlier than the defined time, then the data blocks of that file/folder can be excluded from the incremental backup. If the modification time is later than the defined time, then the data blocks of that file/folder can be included in the incremental backup. This method can be used to provide an efficient disaster recovery using a network.

1. Field of the Invention
The present invention relates to a method and system for backing up data from a data source, and particularly to using metadata to provide an efficient and cost-effective incremental backup.
2. Related Art
Backing up data from one or more computer disks is typically performed to recover from inadvertent user deletions/overwrites or from disk hardware failure. In the case of inadvertent user deletions/overwrites, only the data corresponding to the destroyed data is copied to the original disk from the backup. In the case of disk hardware failure, the user can restore all files to the original disk from the most recent backup. In most computer systems, the backup device is a tape drive, which can accommodate large amounts of data at a relatively low cost per byte of storage.
Generally, conventional backup methods provide for either file-by-file backup or image backup. In a file-by-file backup, the backup program copies one file at a time from the disk to the tape. Specifically, the program places all pieces of data for each file, irrespective of actual locations on the disk, into a single sequential block that is stored on the tape. Thus, a file-by-file backup can easily provide an incremental backup, wherein only those files that have been modified or added since the last backup are written to tape. However, a file-by-file backup fails to ensure that all changes to the files are noted. Specifically, the file-by-file backup fails to indicate removes (wherein a file has actually been deleted), renames (wherein the file is renamed), or links (wherein a file, such as an email, includes pointers to other files, e.g. other mail boxes). It also can be slow since files are written to tape in file order not disk order.
In an image backup, the data image is read sequentially from the disk and written to the tape. Because disk order (not file order) is used, an image backup can be significantly faster than a file-by-file backup. Image backups have most often been used for full backups only. Image incremental backups exist today but are based on block-change lists. That is, an additional software layer must be used at the file system layer or at the device driver layer that tracks changes to underlying storage on a per block basis. Typically, when a portion of a file is re-written, the data can be written directly over the old data.
In systems that want to provide image incremental backups, the additional software to track changes must be enabled. This software, at a minimum, must track which portion of the file system or storage has been re-written. This usually involves updating a map or a list tracking which blocks have been re-written. Thus, all write operations now require at least two writes: one write to update the change list or map and another write to write the data. Therefore, this method adds 100% overhead for writes on systems wanting to enable image incremental backups. Note that some implementations require even more than 2 writes, thereby further increasing the overhead. To perform an image incremental backup, these systems read the list of changed blocks, and then copy each changed block from the disk to the tape.
Therefore, a need arises for a system that provides quick image incremental backups, without requiring the additional overhead of updating a change list or map.

Method and system for providing image incremental and disaster recovery


The pagewidth inkjet printer provides for simultaneous printing across a horizontal portion of a sheet of paper, as opposed to horizontal scanning of a conventional inkjet printer. The pagewidth inkjet printer includes a platen for incrementally translating a page of paper and a controller for selectively driving rotation of the platen. A housing is mounted adjacent to the platen and is fixed with respect thereto. A plurality of print heads are mounted within the housing. Each print head has a plurality of nozzles for selectively ejecting ink, and each nozzle is adapted for ejecting a distinct color of ink. The plurality of nozzles of each print head are aligned in a direction parallel to a direction of translation of the page of paper. The plurality of print heads are arrayed and aligned linearly along a direction orthogonal to the direction of translation of the page of paper.

1. Field of the Invention
The present invention relates to printing devices, and particularly to a pagewidth inkjet printer that provides for simultaneous printing across a horizontal portion of a sheet of paper, as opposed to the horizontal scanning of a conventional inkjet printer.
2. Description of the Related Art
Inkjet printers are well known in the art. FIG. 2 is a schematic structural diagram of a printing system equipped with a conventional prior art inkjet printer 20. The printer 20 is equipped with a main scan feeding mechanism that slides carriage 30 back and forth along sliding axis 34 using carriage motor 24, a sub-scan feeding mechanism that transports printing paper P in a direction perpendicular to the main scan direction (called "the sub-scan direction") using paper feed motor 22, a head driving mechanism that drives printing head unit 60, which is on carriage 30, and controls ink ejection and dot formation, and control circuit 40, which exchanges the control signals with these paper feed motor 22, carriage motor 24, printing head unit 60, and operating panel 32. Control circuit 40 is connected to computer 88 via connector 56.
The main scanning mechanism for reciprocating the carriage 30 includes a sliding shaft 34 mounted on the platen 26 and designed to slidably support the carriage 30, a pulley 38 for extending an endless drive belt 36 between the carriage 30 and the carriage motor 24, and a position sensor 39 for sensing the origin position of the carriage 30. Typically, the sub-scanning mechanism for transporting the printing paper P is provided with a gear train (not shown) for transmitting the rotation of the paper feed motor 22 to a paper feed roller (not shown). The paper feed roller transports the printing paper in the direction perpendicular to the sliding direction of the carriage 30.
FIG. 4 is a block diagram illustrating the structure of prior art inkjet printer 20 with control circuit 40 as its core. Control circuit 40 is formed as an arithmetic logical operation circuit having a CPU 41, programmable ROM (PROM) 43, RAM 44, and a character generator (CG) 45 that records the dot matrix of characters. This control circuit 40 further includes a dedicated interface circuit 50 that performs an interface exclusively with an external motor, a head drive circuit 52 that is connected to this dedicated interface circuit 50, drives the printing head unit 60, and ejects ink, and a motor drive circuit 54 that drives paper feed motor 22 and carriage motor 24. Dedicated interface circuit 50 has a built in parallel interface circuit, and can receive printing signal PS supplied from computer 88 via connector 56. By executing the computer program stored in PROM 42, CPU 41 functions as the color mode unit 41a, monochromatic mode unit 41b and position adjusting feed unit 41c. An upper-edge color mode is performed by the upper-edge unit 41a1 of the color mode unit 41a, whereas the routine color mode is performed by a routine unit 41a2. Color mode printing based on routine feeding is performed with the aid of the routine unit 41a2 of the color mode unit 41a, whereas color mode printing based on minor feeding is performed by a lower-edge unit 41a3. Similarly, upper-edge monochromatic mode printing is performed by the upper-edge unit 41b1 of the monochromatic mode unit 41b, whereas routine monochromatic mode printing is performed by a routine unit 41b2. The monochromatic mode printing based on routine feeding is performed with the aid of the routine unit 41b2 of the monochromatic mode unit 41b, whereas the monochromatic mode printing based on minor feeding is performed by a lower-edge unit 41b3.
As best shown in FIG. 3, printing head 28 has a plurality of nozzles n provided in a row for each color, and an actuator circuit 90 that operates a piezo-element PE that is provided on each nozzle n. Actuator circuit 90 is part of head drive circuit 52 (see FIG. 4), and performs on/off control of drive signals given from a drive signal generating circuit (not illustrated) within head drive circuit 52. Specifically, actuator circuit 90 latches data that shows "on" (i.e., when ink is ejected) or "off" (i.e., when ink is not ejected) for each nozzle according to the print signal PS supplied from computer 88, and the drive signal is applied to the piezo-element PE only for the nozzles that are on.
FIG. 3 illustrates the arrangement of nozzles provided on printing head 28. The conventional prior art inkjet printer 20 is a printing apparatus that performs printing using four colors of ink: black (K), cyan (C), magenta (M), and yellow (Y). Five nozzles each are provided for cyan (C), magenta (M), and yellow (Y), and fifteen nozzles are provided for black (K). The cyan nozzle group, magenta nozzle group, and yellow nozzle group are arranged in sequence in the direction of sub-scanning. The black nozzle group is disposed in the area for accommodating the nozzles of the cyan nozzle group, single chromatic nozzle group, and yellow nozzle group in the direction of sub-scanning. Nozzles #1 through #5 of cyan (C), magenta (M) and yellow (Y) correlate to a "single chromatic nozzle group". Nozzles #1 through #15 for black (K) correlate to an "achromatic nozzle group".
Provided in actuator circuit 90 are actuator chips 91 to 93 which drive black nozzle row K, actuator chip 94 which drives cyan nozzle row C, actuator chip 95 which drives magenta nozzle row M, and actuator chip 96 which drives yellow nozzle row Y. In use, printing head 28 slides back and forth along sliding axis 34 in the direction of arrow MS (in FIG. 3) by carriage motor 24. Printing paper P is sent in the arrow SS direction in relation to printing head 28 by paper feed motor 22.
Conventional inkjet printers, such as the printer 20 described above, contain moving assemblies, thus often causing the printing process to be relatively slow, as well as requiring frequent calibration and being prone to misalignments, mechanical damage and other malfunctions.
Thus, a pagewidth inkjet printer solving the aforementioned problems is desired.

Pagewidth inkjet printer with multiple aligned print heads


A pair of pneumatic cylinders is used to counterbalance the weight of a large gantry supporting the optical head of an interferometric profiler. The gantry is supported by the cylinders within pairs of linear-bearing rail that provide a large vertical travel. The pressure in the cylinders is adjusted so as to provide an upward force sufficient to oppose the weight of the gantry and prevent its descent, but not so great as to cause it to rise. In essence, the counterbalance pressure is adjusted to equilibrate the weight of the gantry in such a way that a small force applied manually upward or downward will cause the gantry to move easily in either direction, thereby making it possible for an operator to position the optical head rapidly and with minimum effort as required for the initial alignment with a test object.

1. Field of the Invention
This invention pertains to the general field of optical metrology. In particular, it pertains to a pneumatically counterbalanced gantry suitable for manual positioning of an interferometric objective in precise alignment with a large sample object.
2. Description of the Prior Art
Mounting an interferometric optical head on a gantry-type structure makes it possible to measure large parts with oddly placed surfaces or recesses, such as engine parts. However, the process of alignment of the optical head with the test surface requires a versatility of movement that is not available in conventional instrumentation. Interferometric objectives have to be roughly perpendicular to the surface of interest in order to perform a measurement and the small angular range of adjustment of conventional stages is critical for fine tuning but is not capable of providing the large range of motion required for aligning large samples.
In order to accommodate such large parts, the optical head is usually mounted on a gantry equipped with a large-angle tilting mechanism that allows rotation of the entire objective assembly through approximately 90 degrees (+/−45 from vertical) of motion. Such a gantry arrangement makes it possible to measure irregularly shaped samples without the use of costly and cumbersome part fixtures dedicated to specific parts. The tilting mechanism may be implemented simply with two bearing spindles mounted coaxially on opposite sides of the optical head assembly for rotation within the gantry. The center of rotation is advantageously located at a convenient position with respect to the stage.
The gantry is preferably movable vertically along two supporting rail structures, one on each side of the gantry, in order to provide vertical adjustment of the optical head position with respect to the test object. Thus, in preparation for a measurement, the gantry is lifted to provide a safe clearance for the measurement objective while the large test object is placed in its measurement stage, then the gantry is lowered and the optical head is tilted to the degree necessary to provide the desired alignment for the measurement.
This arrangement works well in theory, but in practice it presents several operating problems that render it impractical for either manual or automated operation. The large range of vertical motion desired for the gantry, so that it can accommodate parts of very different heights, makes motor-driven adjustments impractical because they are relatively slow and costly, and they would require a sophisticated crash-control mechanisms. Manual adjustment is therefore preferred, but the considerable weight of the gantry requires that a substantial upward force be applied to lift it, as well as a substantial support force be applied while lowering it in order to control its descent to the degree necessary to avoid crashing the head into the part. Therefore, manual operation of this type of gantry is impractical as well. This invention describes a pneumatic counterbalance mechanism that makes it possible to manually adjust the position of the optical head rapidly and with precision.

Pneumatic counterbalance for optical head gantry


Disclosed herein is an input device including: a plurality of input members; an upper surface having a right region in which a part of the plurality of input members is disposed, a left region in which another part of the plurality of input members is disposed, and a center region that is a region between the right region and the left region; and a light emitting region formed along an outer edge of the center region. The light emitting region includes a first light emitting portion configured to indicate identification information assigned to a plurality of input devices connected to an information processing apparatus, and a second light emitting portion configured to emit light based on information different from the identification information.

The present disclosure relates to an input device that is used for game control or the like.
As an example of input devices that are used for video games, a device disclosed in WO 2014/061322 is given. An input device such as the one disclosed in WO 2014/061322 includes, in its right or left portion, an input stick (joystick), input buttons, a directional pad, or the like. Further, this input device includes an input member including a touch sensor in a center portion of an upper surface thereof.


A fuel system for a single-cylinder internal combustion gas engine comprising a constant gas pressure governor that is situated in a gas supply line extending to the throat of a venturi carburetor, the gas pressure governor including a diaphragm-operated gas valve that responds to changes in static pressure on the upstream side of the venturi of the carburetor, the governor being adapted to compensate for changes in venturi throat pressure due to the opening and the closing of the intake valve for the single-cylinder engine, whereby the governor tends to maintain a uniform air/fuel ratio throughout a large engine speed range.

The improvements of this invention relate to natural gas engines, particularly to single-cylinder natural gas engine with a four-stroke cycle. It relates generally to the fuel supply system disclosed in U.S. Pat. No. 4,886,034, which discloses a four-stroke cycle, single-cylinder engine for a residential heat pump wherein the fuel supply manifold communicates with a venturi carburetor having a venturi element and an air bypass passage, the latter being controlled by a throttle valve that is distinct from the speed control throttle valve located in a fuel supply manifold on the downstream side of both the venturi element and the bypass passage. The throttle valve and the bypass passage of the device of the '034 patent compensate for normal tendencies of the air/fuel ratio to vary in magnitude as the engine speed changes. They may be used also as an enrichment mechanism to facilitate engine starting.
Fuel is supplied to the throat of the carburetor of the '034 patent by a means of a supply passage defined in part by a gas pressure governor that includes a diaphragm valve having a diaphragm that is actuated in response to the pressure differential between the throat of the carburetor venturi and the pressure at the air intake of the carburetor. An attempt is made in the control of the '034 patent to maintain a high operating efficiency for the engine by using a pre-programmed microprocessor that responds to sensed engine speed and manifold pressure changes to control the throttle valve and the bypass passage around the carburetor venturi. Pressure pulsations that are due to the opening and the closing of the intake valve for the single cylinder can be offset by appropriately calibrating the microprocessor to compensate for the pulsating pressure of the air that flows through the carburetor throat. Compensating adjustments in the bypass throttle valve are made in response to output signals developed by the microprocessor as the microprocessor responds to the instantaneous data that is measured by the manifold pressure sensor and the engine speed sensor.
Gas governor valves for gas engines are used in other environments such as the auxiliary gas valve system for a diesel engine described in U.S. Pat. No. 3,540,419. The engine described in the '419 patent is a diesel engine that is capable of using gaseous fuel under heavy load conditions, the gaseous fuel being supplied through a fuel flow control system from a liquid petroleum supply tank. The pressure of the gas fuel supplied to the engine intake manifold is regulated by a diaphragm valve that responds to the difference in the pressure of the air on the downstream side of the air filter and the pressure on the gas supply side of a diaphragm actuator for the gas valve. The opposite side of the diaphragm is exposed to the pressure on the downstream side of the air filter. Communication between the downstream side of the air filter and the air side of the diaphragm is established by an orifice valve and by a calibrated flow control orifice, the orifice valve in turn being sensitive to a thermal switch that senses engine load. A shut-off valve is located between the gas supply and the gas valve so that the gas supply may be interrupted when the engine operates in the normal fashion with its liquid diesel fuel injectors.
Attempts have been made in prior art designs to operate single-cylinder engines having a venturi carburetor so that a nearly constant air/fuel ratio is achieved over wide operating ranges of speeds and loads. It has been found, however, that a constant air/fuel ratio cannot readily be obtained because of the unsteady intake air flow associated with single-cylinder operation. This problem is aggravated if an air intake silencer is used because the silencer generates additional pressure pulsations at its natural frequencies. It has been found that the natural frequencies due to the silencer at certain engine speeds may become resonant with respect to engine cyclic frequency.
A typical fuel system having a traditional venturi carburetor may have a solenoid-operated enrichment device to assist cold starting.

Fuel system and constant gas pressure governor for a single-cylinder, four-stroke cycle engine


A dynamic data distribution network (12) for use with a software package (10), which includes modules (14, 16, and 18) that produce data and modules (20, 22, 24, and 26) that consume data. The network includes source files (30) and sink files (32). Each data-consuming module contains one or more sink files, each of which serves as a buffer for one type of data used by the module. Each source file serves as a buffer for one type of data that is generated by a data-producing module. Each source file also contains a sink link table (40) that identifies the individual sink files, which serve as buffers for the data consumers that use that data. Whenever new data is generated, a data distribution task (34) initially stores the data in the associated source file and, then based on the contents of the sink link table, copies the data into the appropriate sink files associated with the data consumers that use the data. The data distribution function also informs the data consumers that new data are available in the sink file with which the data consumer is associated, enabling the data consumers to retrieve the data from the sink files.

A digital data processing system has three basic components, a processor, a memory, and a set of input-output devices. The processor manipulates data based on a set of programmed instructions. The memory functions as a storage area for both the data and the processor instructions. The input-output devices serve as ports through which data is introduced into the system and through which the results of the data processing are presented. Digital data processing systems comprising general purpose computers are designed to manipulate and process different types of data based on the instructions with which they are supplied. Other digital data processing systems are custom built to process specific data in order to determine specific results. One such customized system is the data processing that is built into a cardiac monitor. This system monitors certain physiological parameters, such as the blood pressure and blood temperature of a patient and, based on these parameters, determines how well the patient's heart is functioning.
The instructions and data for many digital data processing systems are contained in software blocks called modules. Typically, a module is designed so that, when it is run on a digital data processing system, it will perform one or more of the intermediate tasks the system needs to perform to determine the desired result. An advantage of designing software in module form is that the individual modules can be developed and modified independently. This makes it easier to optimize each module as well as making it easier to maintain the software. Moreover, a software module developed to accomplish a given set of tasks becomes a building block for use in any digital data processing systems that need to perform those tasks as part of their overall operation. Access to a library of modules reduces the costs associated with having to write new software each time it is necessary to instruct digital data processing systems to perform the tasks for which modules have already been developed. For example, a software module designed to read a blood pressure gauge can be incorporated in different data processing systems that read such a gauge in order to accomplish the task for which they are designed.
The development of modularized software is often limited by the need to provide a data link between the individual modules. A software module, for example, that calculates heart rate needs to receive an indication of the patient's fluctuations in blood pressure. These data are produced by the software module that monitors the pressure of the blood pressure gauge. To date, a number of mechanisms have been developed to facilitate the transmission of data from software modules that generate data, called data producers, to software modules that need the data to function, called data consumers. Each of these mechanisms has design requirements that can limit its utility. One such mechanism is implemented as a direct dispatch process. In this process, a data producer sends messages containing the data to each data consumer module that requires the data. Whenever multiple data consumers require the same data, the data producer must create and transmit identical messages containing the data to the individual consumers. Each time a data-producing module is installed in a new software package, it must be provided with a set of instructions that contain the directions that indicate to which data-consuming modules it should send the data. The requirement of having to add a new set of instructions to each data-producing module each time there is need to supply the data it produces to a new data-consuming module detracts from the universality of the module. Furthermore, as the number of modules in a software package increases, the task of keeping track of which modules supply what data to other modules, in order to efficiently design the instructions integral with each module, becomes increasing difficult.
Still another data transfer process currently in use requires the data-consuming modules to retrieve the data from the data-producing modules. Each data-consuming module must be provided with instructions that direct it to query each data-producing module from which it receives data in order to obtain the desired data. Moreover, each data-producing module must be provided with an appropriate set of instructions that set a flag to indicate that it has a specific type of data available for a complementary data-consuming module. Since each data-producing module must typically set a separate data-available flag for each data-consuming module for which it has data, as the number of modules that require data rises, the complexity and length of the necessary flag-setting instructions similarly increase.
Sometimes data processing systems are provided with shared memories. In such a system, the data producer writes the data into a selected memory location. The data consumers that require that data are provided with instructions directing them to retrieve the data from that memory location. While this mechanism has some advantages, it is not without limitations. The data-consuming modules typically need to be informed that new data are available so that they execute the process steps necessary to retrieve the data. If there are numerous data-consuming modules for the same data, the resultant system can then have the same complexity as those found in direct dispatch systems. Also, in many data processing systems, only one data-consuming module can read the data in shared memory locations at any given instant. Sometimes a data-producing module will overwrite new data into the memory between the times when the memory is accessed by different consumers. The various data consumers will then perform their processing on different data, which can lead to obviously undesirable results. Attempts have been made to solve this problem by providing the shared memories with first-in/first-out buffers that store different versions of the data, or with multiple memory slots in which multiple copies of the same data are stored. A disadvantage of these mechanisms is that they can be as cumbersome to control as regular point-to-point data transfer schemes. Moreover, since the individual data-consuming modules are often unable to access the same data at the same time, it is difficult to configure the system so that each module processes the same data at the same time.
Furthermore, in many data processing systems, the individual modules are sometimes scheduled to operate only when they receive new data to process. Typically, a module is triggered to operate only when a selected type of new data is received. As a result, the module will not operate even when data other than the selected data are available for it to process. For example, a heart rate program may remain quiescent while it awaits new blood pressure data, even though there are new blood temperature data available that it could process. The failure of the module to operate in this situation, like the difficulties associated with inter-module data transfer, detracts from the efficiency of providing data processing systems with software packages constructed from a collection of modules.

Dynamic data distribution network with sink and source files for particular data types


For use on board a mobile means of transport (eg. aircraft, bus, ship), a heating system and method are described which lead to a reduction of peak demand in the on-board kitchen energy supply system relating to the integrated heating appliances for the warming or heating of food. For this, latent or thermochemical heat storage units are used which are fully integrated into the structural elements of the heating appliance in question and heats the product in such a way that there is sufficient heat output, while at the same time, the absolute temperature is limited by means of an appropriate choice of heat storage material for product enhancement.

The present invention relates to a heating system for use in on-board kitchens in means of transport and a method for heating food on board means of transport, in particular aircraft.
On board aircraft, as well as in other mobile units, appliances are used for the heating up of food. The food is generally supplied in ready cooked condition by gastronomy companies in the so-called catering world, and they must be enhanced in appearance and heated up for the specified length of time shortly before serving them to the passengers. Because of insufficient supply of thermal energy to the product which is not ideal for the quality of the product, the sensory quality in particular (taste, consistency) and the appearance of the product often suffer.
Moreover, if several heating appliances (for example ovens and appliances for preparing hot water) are used at the same time, peak demand in the on-board kitchen generally leads to an undesirable increase in cost because, even if the requirement for power for the peak demand is only short-lived, it still results in an increase in expenditure for the supply of energy by means of generators, energy cells and other power sources. This increase in expenditure has, amongst other things, negative knock-on effects for the aircraft such as equipment and running costs as well as weight and structural volume requirements by providing a power source large enough to respond to the case where maximum performance is required (peak demand).
Previous methods for supplying additional heat energy without increasing the electric connection power make use of sensitive, latent or thermochemical heat storage systems for additional heating.
In WO 99/63277, a cooking appliance with additional units based upon the storage and release system of latent heat is described which can be used to compensate for peak demands.
In DE 3639545 C1 a method principle is described for the storage and transformation of heat and creation of cold with the help of two metal hydride/metal hydrogen systems working together in a closed circuit with different temperatures. In technically relevant temperature and pressure situations with hydrogen under high heat toning, many metals react to metal hydride. By variation of the hydrogen pressure, the heat output temperature can be varied. The high temperature storage can then be used as a heat energy buffer whenever there is an increased requirement for heat energy and heat energy is supplied to a cooking pot.

Heating system for use in on-board kitchens in means of transport and a method for heating food on board means of transport, in particular aircraft


A drain valve for a vessel having a bilge (4) which is elevated above external water level when the vessel is floating in unladen condition. The valve comprises a drain cylinder (1) located in a drain port (2) and attached at its upper end to the bilge; the cylinder axially containing a spindle bearing (14) in which is slideably located a spindle (20) of a buoyant closure member (32) engageable with the lower end of the cylinder. Opening and closing of the valve is controlled by the pressure differential existing between external and internal water levels.

1. Field of the Invention
This invention relates to a self-operating valve suitable for draining a stationary boat or other vessel of a type having sufficient inbuilt buoyancy to ensure that the vessel floats when in unladen condition with an internal floor level, i.e. bilge, which is higher than the external water level, such vessels being hereinafter referred to as an elevated bilge vessel.
2. Discussion of Prior Art
Some self draining bilge valves are shown for use in elevated bilge vessels which comprise a buoyant ball or flap or a membrane which is held in place aginst an appropriately shaped apertured member in the side or bottom of the vessel by external water pressure. When any water collects inside the vessel, the pressure differential engendered by the internal and external water levels controls the opening and closing of the valve, i.e. a higher internal level, herein described as a positive head, generates a positive internal pressure which forces the valve open. Conversely, the valve is forced by a negative head.
Valves of this type have two major requirements, one being that the valve should close firmly so as to prevent ingress of water when the vessel is so laden as to depress the bilge level below the external water level, i.e. negative head, and the other being that the valve will open freely for draining at minimum possible positive head. These two requirements are conflicting, with the result that the majority of known designs tend to be unsatisfactory in one or the other aspect. Further, the rate of draining of such valves is usually slow, making them unsuitable for use in a vessel in which speedy recovery after sudden swamping is required, e.g. a support pontoon for a floating bridge, which can become heavily but temporarily depressed by an overpassing vehicle. A fast drain rate is also essential for speedy deployment of such pontoons which often become completely waterlogged during launch procedure. A further disadvantage of known design is the difficulty of cleaning them from inside the vessel when they become clogged with flotsam.


A system provides communication between components of a computer data storage system using out-of-band (OOB) signaling. The system includes a plurality of data storage devices having a local controller for directing data flow to each of the plurality of data storage devices. A switch is coupled to the local controller to direct data to the set of the plurality of data storage devices. First and second initiators are coupled to the switch. The first initiator communicates the OOB signals through the switch alternatively to the local controller or to the second initiator.

1. Field of the Invention
The present invention relates in general to computer equipment and, more particularly, to an apparatus and method of providing communication between RAID controllers in computer storage systems.
2. Description of the Prior Art
Computer storage systems typically include one or more high-capacity disk arrays for storing digital information. Commonly, the disk arrays are arranged in a redundant array of independent disks (RAID) topology. The RAID topology provides stability, security and redundancy as to the computer storage system. A disk system with RAID capability can protect its data and provide on-line, immediate access to its data, despite a single (some RAID storage systems can withstand two concurrent disk failures) disk failure. RAID capability also allows for the use of a number of less expensive disks while providing increased storage capacity. A common RAID topology includes the use of one or more RAID controllers, which serve to channel data flow to a particular disk in the array while coordinating data transfer across the entire array among other functions.
In computer storage systems, the need for built-in redundancy is very desirable. As a result, a computer storage system with RAID capability can include two or more RAID controllers, or initiators. If a first RAID controller fails for any reason, then a second RAID controller can be employed to take on the first controller's functions, a process which is commonly known in the industry as "fail over", and "fail back" when function to the first RAID controller is restored.
In an example dual redundant RAID controller storage system, communication is required between the first and second RAID controllers. The communication between RAID controllers ensures redundancy in the event of a failover. This communication can be accomplished by a variety of low-level interfaces, such as PCI, I2C or Ethernet. In some computer systems, however, a generic high-speed fabric connects computing components. For example, the high-speed fabric can connect a RAID controller with a set of storage devices. The low-level communication between RAID controllers is typically not performed over the high speed fabric. An additional connection, such as the installation of an external cable between RAID controllers, must be made. The requirement of an additional connection between RAID controllers adds extra complexity in the design process and cost in the manufacturing process.
Thus, a need exists for an apparatus and method of communication between individual RAID controllers in a multi-controller RAID or similar topology mass storage system of an overall computer system.

Using out-of-band signaling to provide communication between storage controllers in a computer storage system

International Business Machines Corporation


The teachings provided herein disclose an image processing method for rendering a digital image possessing anti-aliased pixels by selecting a target pixel location within the digital image; observing a set of pixels within a pixel observation window superimposed on the digital image relative to the target pixel location; generating edge-state codes for a plurality of pairs of neighboring vectors of pixels within the pixel observation window; generating edge-identification codes from the plurality of edge-state codes using at least one look-up table; and, utilizing the edge-identification codes to select and apply to the digital image at the target pixel either anti-aliased rendering or conventional halftoning. The anti-aliasing may employ pixel signals that are high addressable and directionally biased to a particular orientation.

The present disclosure relates to a methodology for rendering anti-aliased pixels in a digital image. More specifically, this disclosure relates to anti-aliased pixel identification and rendering via look-up table based edge detection.
Anti-aliasing in the context of digitizing line art and certain graphical image structures is best known as a method of using intermediate levels of intensity to achieve subpixel position of edges for several reasons including reduction or elimination of jaggies on the edges of lines and polygons, including text. As used herein the term anti-aliased is intended to refer to those segments or regions of an image that are effected by an anti-aliasing operation applied to the image (e.g. an image processing operation or a physical process resulting in gray pixels along the edges of line art or text). Jaggies are primarily visible at the edges of sloped lines approaching horizontal or vertical. The term anti-aliasing suggests an analog term aliasing, normally representing the presence of low frequencies resulting from sampling high frequency signals at too low a sampling rate.
Consider a near-vertical (or near-horizontal) line segment. To be perfectly reproduced in a printed media, the phase, which represents the location of the edge, must continuously vary along the length of a segment. Due to the inherent sampling of a bi-level display or printed output, the phase exhibits jump discontinuities. Thus, this form of aliasing artifact, leads to an induced jagged appearance where the structures are referred to jaggies. Within a sampled image any graphical object is eventually approximated as a polygon or collection of polygons. These polygons have straight edges some of which will exhibit aliasing (jaggies and other placement defects). FIG. 11 for example shows aliasing in two dimensions. When the triangle on the top of FIG. 11 is rasterized, the edges are aliased as reproduced in the triangle shown at the bottom of FIG. 11. In particular, the position along the bottom edge should move up slightly from column to column as one looks from left to right in the image at the bottom of FIG. 11. However, the position is quantized, as illustrated, producing the jagged appearance along the bottom of the triangle. Visibility of the anti-aliased image artifacts is increased by the regular nature of the jaggies, again a result of sampling.
Consider the following systems and their capability, or incapability, to utilize anti-aliased pixels. Xerox's Docucolor 40, for example, employs a high frequency analog line screen to render anti-aliased pixels, but that is not an option for some products or marked segments. When conventional screens (e.g., approximately equal to 130-150 CPI dots) are employed in a rendering module, anti-aliased pixels are halftoned and printed, resulting in objectionable halftone dots positioned along character edges. Hyperacuity printing techniques, for example those described by Curry, et al. (U.S. Pat. No. 5,138,339 and U.S. Pat. No. 5,485,289) can provide rendering for anti-aliased pixels which is compatible with simultaneously printing dot screen halftones in enhanced line art. However, these techniques require the use of tags to identify the anti-aliased pixels as anti-aliased line art.
Anti-aliased images can be generated by capturing the image at a resolution greater than the final or desired output resolution, then reducing the resolution of the image by sub-sampling using an averaging process. A major benefit of anti-aliased images is that high contrast, saturated objects are surrounded with pixels possessing intermediate values that visually suggest the true, higher resolution position of object edges.
For example, in binary printing systems, such as many xerographic or ink jet systems that use a halftoning process to simulate continuous tone images, these anti-aliased edge pixels should be rendered with a very high frequency cell, ideally one having the resolution of the final output image. If the standard system halftone dot were to be used, the anti-aliased edges would be serrated or jagged at the standard halftone frequency. This rendering would reduce or even negate any value obtained through anti-aliasing. The use of a very high frequency screen over the entire anti-aliased image renders the anti-aliased pixel properly, but tends to sharpen the tonal curve and provoke print quality defects in the overall image.
To optimally render anti-aliased pixels, it is beneficial to recognize pixels as anti-aliased or not anti-aliased. Since anti-aliasing primary affects pixels that are at the edges of image objects, recognition can be framed as a specific type of edge identification task.
An edge within an image is a sharp change in local intensity or lightness. In other words, edges are features within an image that possess strong intensity contrast. Edges occur between distinct objects in a scene, or within textures and structure within an object. For instance, typographic characters on a white page background produce distinct edges. Edge pixels in a digital image are those pixels that occur at and about an edge in the image.
Two key properties of an edge are strength and orientation. Edge strength is a measure of the contrast of an edge. A black typographic character on a white background produces stronger edges than a gray character on a white background. Edge orientation can be described by a variety of measures, such as angle quantified in degrees or by classes such as vertical, horizontal, and diagonal.
Other attributes of edges are also useful to image analysis and image processing. For instance, classification of combined edges, such as corners, has been used in object recognition and in image enhancement applications. Edge thickness is a measure that provides information on the breadth of a local contrast change and can indicate a degree of blur in an image, see for example: U.S. Pat. No. 6,763,141, entitled "ESTIMATION OF LOCAL DEFOCUS DISTANCE AND GEOMETRIC DISTORTION BASED ON SCANNED IMAGE FEATURES," to inventors B. Xu, R. Loce, which is hereby incorporated in its entirety for its teachings. Inner edges and outer edges refer to regions just inside of or just outside of a given object, respectively, and have been used in applications such as character stroke thinning and thickening. The presence or absence of an edge is an edge-related property that has been used in applications such as image classification and recognition. Distance from an edge is also an edge-related property that has been used in image enhancement applications.
Edge detection in digital image processing typically employs a collection of methods used to identify or modify edge pixels or indicate properties of edges and edge pixels within an image. Edge detection methods are sometimes referred to simply as edge detectors. There are numerous applications of edge detectors in digital image processing for electronic printing. For example, identification of corner pixels has been used to sharpen corners within an image, see: U.S. Pat. No. 6,775,410, entitled "IMAGE PROCESSING METHOD FOR SHARPENING CORNERS OF TEXT AND LINE ART," to inventors R. Loce, X. Zhu, C. Cuciurean-Zapan. Identification of inner and outer border pixels has been used to control the apparent darkness of character strokes, see: U.S. Pat. No. 6,606,420, entitled "METHOD AND APPARATUS FOR DIGITAL IMAGE DARKNESS CONTROL IN SATURATED IMAGE STRUCTURES", to Loce et al; and U.S. Pat. No. 6,181,438, entitled "METHOD AND APPARATUS FOR DIGITAL IMAGE DARKNESS CONTROL USING QUANTIZED FRACTIONAL PIXELS," to Bracco et al. Also identification of anti-aliased pixels has been used for preferred rendering of those same pixels, see: U.S. Pat. No. 6,243,499, entitled "TAGGING OF ANTIALIASED IMAGES," to Loce, et al.; U.S. Pat. No. 6,144,461, entitled "METHOD FOR GENERATING RENDERING TAGS TO FACILITATE THE PRINTING OF ANTIALIASED IMAGES," to Crean et al.; and U.S. Pat. No. 6,167,166, entitled "METHOD TO ENABLE THE RECOGNITION AND RENDERING OF ANTIALIASED IMAGES," to Loce et al. All of the above cited are hereby incorporated by reference in their entirety for their teachings.
Edge detectors typically operate using a convolution mask and are based on differential operations. Differentials for edge/line detection are used to define color or brightness changes of pixels and their change directions. If there is an abrupt change of brightness within a short interval within an image, it means that within that interval there is high probability that an edge exists. One example of a convolution-based edge detector is the Roberts edge detector, which employs the square root of the magnitude squared of the convolution with the Robert's row and column edge detectors. The Prewitt edge detector employs the Prewitt compass gradient filters and returns the result for the largest filter response. The Sobel edge detector operates using convolutions with row and column edge gradient masks. The Marr-Hildreth edge detector performs two convolutions with a Laplacian of Gaussians and then detects zero crossings. The Kirsch edge detector performs convolution with eight masks that calculate gradient.
As indicated above, common edge detection methods employ a convolution-type computing architecture, usually with fixed coefficients. In the field of image processing, and in particular, for image processing in anticipation of electronic printing, the edge detection needs are numerous and varied. Further, image processing for electronic printing often requires that any processing method operate "real-time," within a small number of fixed clock cycles, thereby excluding more complicated methods as too computationally intensive. What is needed is an anti-aliased pixel detection and rendering method with a computing architecture that is readily adapted to a wide variety of print and display settings. In particular, the anti-aliased pixel detection should be easily implementable in real-time and more adapted to the anti-aliased typography setting than are the common convolution-based methods of edge detection.
Disclosed in embodiments herein is an image processing method for rendering a digital image possessing anti-aliased pixels, comprising selecting a target pixel location within the digital image; observing a set of pixels within a pixel observation window superimposed on the digital image relative to the target pixel location; generating edge-state codes for a plurality of pairs of neighboring vectors of pixels within the pixel observation window; generating edge-identification codes from the plurality of edge-state codes using at least one look-up table; and, utilizing the edge-identification codes to select and apply to the digital image at the target pixel either anti-aliased rendering or conventional halftoning.
Further disclosed in embodiments herein is an image processing method for rendering anti-aliased pixels within a digital image, that comprises selecting a target pixel location within the digital image; observing a set of pixels within a pixel observation window superimposed on the digital image, relative to the target pixel location; generating edge-state codes for a plurality of pairs of neighboring vectors of pixels within the pixel observation window, wherein the plurality of vectors at of at least two different orientations; generating edge-identification codes from the plurality of edge-state codes using at least one look-up table; and, utilizing the edge-identification codes to select and apply anti-aliased rendering to the digital image at the target pixel.
Further disclosed in embodiments herein is a method for producing a rendered digital image using anti-aliased rendering and conventional halftoning, which comprises a) observing a set of pixels within a pixel observation window superimposed on the digital image relative to a target pixel location; b) generating edge-state codes for a plurality of pairs of neighboring vectors of pixels within the pixel observation window; c) generating edge-identification codes from the plurality of edge-state codes using at least one look-up table, wherein the edge-identification codes indicate proximity to a tinted edge; and, utilizing the edge-identification codes to select and apply to the digital image at the target pixel either anti-aliased rendering or conventional halftoning.

Anti-aliased tagging using look-up table edge pixel identification


A heterojunction type light-emitting diode array in which a carrier barrier layer is provided on the emission layer to prevent the diffusion of carriers injected from the junction side of the component light-emitting diodes. An absorption layer is provided on the carrier barrier, which also connects the light-emitting diodes, suppressing crosstalk between adjacent light-emitting elements. The array thus configured provides good emission efficiency and high uniformity.

1. Field of the Invention
This invention relates to a light-emitting diode array, and more particularly to a heterojunction light-emitting diode array having a multiplicity of light-emitting diodes closely arrayed on a single substrate.
2. Description of the Prior Art
A light-emitting diode (LED) array consists of multiple p-n or p-i-n junction LEDs fabricated in a single substrate. An advantage of a light-emitting diode array is that it can be used to process image information with relative ease, by electrically controlling the discrete diodes. Because of this, light-emitting diode arrays are being improved and applied in a variety of ways.
With the increasing importance of electronic information in today's world, printers need to be able to print faster and at higher densities in order to cope not only with the growing amounts of information, but also with the inclusion of image information in the form of graphs, drawings, photographs and the like. One way of achieving this is to use light-emitting diode arrays as the light sources in printers.
Laser printers, which employ a laser light source, and LED printers, which employ a LED array as the light source, are two examples of non-impact optical printers. A laser printer requires the use of a mechanical mechanism such as a rotating polygonal mirror for scanning laser beam, and a correspondingly complex optical system. An LED printer, on the other hand, only requires a drive system for electrically controlling the discrete diodes (hereinafter also referred to as light-emitting elements) that make up the light-emitting diode array. As an LED printer is therefore structurally simple and straightforward, requiring no mechanical moving parts, using instead an optically magnifying lens array, it is possible for LED printers to be smaller, faster and more reliable than laser printers.
FIG. 5 is a cross-sectional illustration of a conventional homojunction type LED array used in an LED printer. For simplicity only two light-emitting elements are shown. With reference to the figure, each light-emitting element is formed by the use of vapor-phase epitaxy (VPE) to deposit an n-GaAsP layer 414 (about 50 microns thick) on an n-GaAs substrate 110, followed by a SiN masking layer 18 and a diffusion of Zn to form Zn diffused regions 420 (each about 1.5 microns thick). The light-emitting element is formed by the p-n junction at the interface between the n-GaAsp layer 414 and the Zn diffused regions 420.
p-Electrodes 22 and an n-electrode 24 are then formed, followed by the application of an antireflection SiN layer 426. The SiN layer 426 is then removed from the non-light-emitting element portions to form a p-electrode 22 bonding pad.
The light-emitting diode array thus formed contains numerous lattice defects due to a lack of lattice matching between the GaAsP layer 414 used as the light-emitting material and the GaAs substrate 110. As a result there is considerable non-uniformity of the material itself, so the emission efficiency is low. In addition, because the p-n junction is a homojunction having a low injection efficiency, it is difficult to improve the emission efficiency.
The AlGaAs single heterojunction type light-emitting diode array shown in FIG. 6 was developed previously.
With reference to FIG. 6, liquid-phase epitaxy (LPE) is used to form a p-Al.sub.0.2 Ga.sub.0.8 As layer 514, an n-Al.sub.0.5 Ga.sub.0.5 As layer 520 and an n.sup.+ -GaAs layer 521 on a p-GaAs substrate 310. n-Electrodes 322 and a p-electrode 324 are then formed by deposition, and the unnecessary portions of the n-electrode 322 are removed using photo-lithography and plasma etching.
A chemical process is then used to selectively etch the n.sup.+ -GaAs layer 521. Photolithography and chemical etching are then used on the non-light-emitting region to form the n-AlGaAs layer 520 penetrating about 1 micron into the p-AlGaAs layer 514. Plasma CVD is then used to form an antireflection SiN layer 426, followed by the use of heat treatment to form ohmic contacts for the n-electrode 322 and p-electrode 324, thereby completing the fabrication of the heterojunction light-emitting diode array.
Structurally, this type of heterojunction light-emitting diode array consists of conventional individual high-luminance LEDs arranged into a single array. The use of a heterojunction provides an improvement in the injection efficiency, and by using an n-AlGaAs layer 520 which is transparent to the 720 nm light emitted by the light-emitting p-AlGaAs layer 514, energy attenuation caused by internal absorption is avoided, enabling an emission efficiency to be achieved that is several times higher than that achievable with the light-emitting diode array shown in FIG. 5.
However, there are a number of problems with the above-described LED arrays. As is known, unlike when single discrete LEDs are involved, in an array of LEDs consisting of a multiplicity of light-emitting elements closely arranged on a single substrate, it is important to achieve reduced optical crosstalk between light-emitting elements to prevent deterioration of characteristics caused by reflection or diffusion between the elements of adjacent light-emitting elements or at the edge portions of the SiN dielectric layer.
As described above, conventional heterojunction type light-emitting diode arrays use the n-AlGaAs layer 520 as a transparent window to raise the emission efficiency. It therefore follows that reducing the crosstalk between adjacent elements requires the use of an etching process for complete removal of the n-AlGaAs layer 520 between elements. Also, to reduce optical bleeding, non-mesa portions of the emission layer have to be etched to a certain minimum depth.
It is known that the diffusion length of minority carrier electrons injected into the emission layer from the heterojunction is in the order of 10 microns. Therefore the emission layer has to be etched to at least 10 microns in order to reduce optical bleeding and attain optimum emission efficiency, but because of the difficulty of obtaining uniform etching with good reproducibility, the result has been a tendency towards a deterioration in device characteristics.
One solution, which is employed in the case of discrete LEDs, is to incorporate a double heterostructure by providing an AlGaAs layer with a high Al ratio below the AlGaAs emission layer. However, as mentioned above, when the arrangement is an array constituted of a multiplicity of light-emitting diodes consideration must be given to the possibility of crosstalk occurring between adjacent light-emitting elements. As such, deep etching is required to isolate the AlGaAs window layer, and the large increase in non-uniformity this produces because a problem.


Aspects hereof relate to a stand-on terrain working vehicle having a foot-operated parking brake system. The parking brake system includes a pedal assembly having a first pedal and a second pedal, an actuator coupled to the pedal assembly, a brake configured to be actuated between a set/engaged state and a released/disengaged state, and an over-center linkage. When the first pedal of the pedal assembly is depressed, the brake is actuated to the set/engaged state, and when the second pedal of the pedal assembly is depressed, the brake is actuated to the released/disengaged state. The over-center linkage is configured to bias the brake towards one of the set/engaged state and the released/disengaged state.

At a basic level, a stand-on terrain working vehicle (e.g., a mower) includes a frame carried on a plurality of wheels. Coupled to the frame are a plurality of systems, including, for example, a propulsion system (e.g., a hydrostatic motor), a power generation system (e.g., a gasoline engine), a terrain working system (e.g., a cutting deck), and a parking brake system, among other systems, apparatuses, assemblies, and devices. Historically, the parking brake system of a stand-on terrain working vehicle has been hand-operated. For example, a control lever would extend proximate to a control tower of the vehicle and would be mechanically connected to the parking brake system. To set the parking brake system on these previous stand-on terrain working vehicles the operator would adjust the control lever between an engaged and disengaged position. These control levers and/or the connected mechanical linkages had to extend several feet above the previous parking brake systems in order to be within reach of an operator in a standing position. As a result, significant amounts of materials and/or parts were required.

Parking brake system for stand-on terrain working vehicle


An image of a receipt may be received by a service provider from a user device of a user. The receipt may be a record of a transaction between the user and a physical merchant. The service provider may extract text from the image and apply a predictive model trained on text data of historical receipts to the extracted text to identify keywords corresponding to items purchased in the transaction. The service provider may generate a shopping list for the user and/or may compare the keywords to descriptions of catalog items in an online catalog maintained by the service provider to identify catalog items that are the same or similar to the purchased items. The service provider may associate the catalog items with the user's account maintained by the service provider and generate a user interface to present on the user device that includes an indication of the catalog items.

Online shopping can provide a convenient alternative to shopping at physical stores. For example, groceries can be purchased online and delivered to customers. However, online merchants frequently lack information (e.g., during an onboarding of a customer) about the items customers have been purchasing locally, and customers have traditionally not had access to a mechanism to efficiently provide product identifiers to online merchants, especially in bulk. The disconnect between the identity of items customers purchase in physical stores and the identity of items offered for sale online hinders the ability to direct customers towards items offered for sale online that are comparable in quality, brand, size, etc. to what customers are used to being able to locate and purchase at a local store.

Item identification based on receipt image


In various embodiments, image sensors include an imaging array of optically active pixels, a dark-reference region of optically inactive pixels, and two light shields disposed over the dark-reference region and having openings therein.

Charge-coupled device (CCD) image sensors typically include an array of photosensitive areas that collect charge carriers in response to illumination. The collected charge is subsequently transferred from the array of photosensitive areas and converted to a voltage from which an image may be reconstructed by associated circuitry. FIG. 1 depicts a conventional interline CCD image sensor 100 that contains an array of photosensitive areas 110 (each of which may include or consist essentially of a photodiode, photodetector, photocapacitor, or photoconductor) arranged in columns. A vertical CCD (VCCD) 120 is disposed next to each column of photosensitive areas 110, and the VCCDs 120 are connected to a horizontal CCD (HCCD) 130.
As shown schematically in FIG. 1 (for only one column of photosensitive areas 110, for clarity), following an exposure period, charge is transferred from the photosensitive areas 110 into the VCCDs 120, which subsequently shift the charge, row-by-row in parallel, into the HCCD 130. The HCCD then transfers the pixel charge serially to output circuitry, e.g., an output charge-sensing amplifier 140. The resulting data is then typically digitized, and the digitized image is displayed on a display or stored in a storage unit.
In order to obtain proper image contrast, brightness, and color levels, a signal reference is selected in order to properly calibrate the black level of the digitized image. In principle, extra horizontal clock cycles could be added to the timing sequence and utilized to produce the black reference; however, such techniques may not be advisable because, regardless of light level, both the photosensitive areas 110 and VCCDs 120 generate a thermal signal, known as dark current, that acts to brighten the apparent "darkness" of black levels in these regions. Since the mere use of additional HCCD cycles does not correct for dark currents in the photosensitive areas 110 and VCCDs 120, black regions in the image will appear gray due to this improper calibration level (or improper "black clamp").
FIG. 2 depicts a common technique for correcting the black level for dark currents (or "dark signal") for an interline CCD image sensor. As shown, an interline CCD image sensor 200 includes a light-sensitive image array 210 surrounded by regions 220, 230, 240, 250 of dark reference pixels. The light-sensitive image array 210 includes optically active pixels utilized to acquire images as detailed above. Charge from the optically active pixels and the dark reference pixels in regions 220, 230, 240, 250 is transferred into an HCCD 260, and the charge corresponding to each row is read out to a charge-sensing amplifier 270.
As indicated by the shading on FIG. 2, a metal light shield is typically used to prevent light from entering the dark reference pixel regions 220, 230, 240, 250. Typical materials for the light shield include aluminum, copper, tungsten, or TiW. In principle, only one of the four regions 220, 230, 240, 250 is necessary to provide a black clamp. In practice, however, regions 240, 250 are most often used as the black-level reference, and the black level is set on a row-by-row basis to minimize row noise in the system electronics.
In theory the dark signal from the regions of dark reference pixels 240, 250 should be the same as from the light-sensitive image array 210. However, in practice the dark signal may vary substantially between the two regions. For example, often a solid metal sheet will be utilized to block incoming light in dark reference regions 240, 250. In such situations, black regions in the image area will appear blacker than the black level set according to regions 240, 250 if, for reasons explained below, the dark signal in the dark reference regions 240, 250 exceeds the dark signal from the image array 210. This difference in dark signal between the image area and dark reference region is generally referred to as a "dark step," and results in an improper black clamp.
FIGS. 3A and 3B illustrate the origin of the dark step. FIG. 3A depicts a typical cross-section through image sensor 100 along the line A-A′ in the optically active region, and FIG. 3B depicts a similar cross-section within the dark reference region of the image sensor (e.g., within region 240 or 250 of image sensor 200). As shown, the image sensor is typically fabricated utilizing a semiconductor structure 300. Semiconductor structure 300 typically includes an n-type substrate 305 (e.g., a silicon substrate), a p-type well 310 that acts as a vertical overflow drain (as known in the art), an n-type photodetector 315 in which charge (i.e., "photocharge") induced by incident light accumulates, and a p-type pinning layer 320 that reduces photodetector dark current. The image sensor also includes an n-type VCCD 325 and, surrounding the VCCD 325, a p-type transfer gate region 330 and two p-type channel stop regions 335, 340.
Above the semiconductor structure are thin dielectric layers 345, 350, which typically include or consist essentially of SiO2, HfO2, or SiO2/Si3N4/SiO2. For some CCD image sensors, the dielectric layer 345 over the photodetector 315 and the dielectric layer 350 over the VCCD 325 are portions of the same layer, but in other devices they are different and distinct layers. The image sensor also includes a gate 355 that is typically formed of polysilicon, indium tin oxide (ITO), or metal. Application of a large voltage to the gate 355 transfers an amount of photocharge (or a "charge packet") from the photodetector 315 to the VCCD 325. The multiple gates over the VCCD register 120 (as shown in FIG. 1) are then clocked sequentially to move multiple charge packets row-by-row into the HCCD 130. As described in U.S. Pat. No. 5,250,825, the entire disclosure of which is incorporated by reference herein, a metal light shield 360 covers the VCCD 325. The light shield 360 prevents entry of light into the VCCD 325, as such light generates undesired extra charge carriers during the time necessary to read out the image from the VCCD 325. The light shield 360 is typically electrically isolated from the transfer gate 355 by dielectric layers 365, 370, and covers only the VCCDs 325, so as not to prevent entry of light into photodetectors 315 during image acquisition.
A major source of dark current in VCCD 325 is unterminated silicon bonds at the silicon/dielectric interface above the VCCD 325. Typically a sintering step (e.g., an anneal in a hydrogen ambient) is included late in the manufacturing process in order to passivate such unterminated atomic bonds. A typical sinter step may be performed in the 350° C. to 500° C. range for 30 minutes to 2 hours. Hydrogen in the sinter environment (or from sources within the device itself) diffuses throughout the device during the sinter process. Hydrogen reaching the silicon/dielectric interface is often captured by the unterminated bonds, thus passivating the silicon surface and reducing the VCCD dark current dramatically.
As shown in FIG. 3B, in the dark reference region 240, 250, a light shield 375 is typically a solid metal sheet that covers not only VCCDs 325 but also photodetectors 315 in order to prevent incoming light from affecting the measured dark signal. However, the diffusion of hydrogen is blocked by most metals. Thus, in order to reach the silicon/dielectric interface in the dark reference regions 240, 250, hydrogen must first diffuse around (rather than through) the dark reference light shield 375. As a result, less hydrogen reaches the silicon/dielectric interface, fewer unterminated bonds are passivated in dark reference regions 240, 250, and the deleterious dark step occurs. Thus, there is a need for CCD image sensor designs enabling passivation of unterminated bonds in the dark reference region while preventing light from impinging thereon, thereby enabling improved calibration of dark levels in images acquired by the sensor.


The decontamination of birds and other animals, the victims of oil spills by adding a low viscosity oil, by means of agitated tanks or sprays, to fur or feathers as a diluent followed by a water in oil emulsion, which is then inverted to an oil in water emulsion. The contaminants are thus in the internal phase and the external phase is aqueous. The remaining contaminants are then washed away with water.

When birds and mammals become coated with oil, such as crude oil, #6 oil, etc., their chances of survival are slim unless they can be cleaned promptly. The trauma of being handled by humans for the period of time required by present hand methods using detergents and brushes causes the expiration of many birds and animals.

Method of removing oil from birds and animals