Patent Description:
Digital Night Vision Cameras (NVCs) can be used along with Augmented Reality (AR) displays to implement digital night vision for dismounted soldiers. Currently, state of the art NVCs operate at frame rates in the range of <NUM> - <NUM>. When a user is watching a video on a monitor physically removed from the user, these frame rates are acceptable.

In some applications, the video may be shown on a display replacing the user's natural vision, e.g., via a helmet-mounted display device. When the user rotates his/her head, his/her brain expects the content that is being displayed (world view) to exactly oppose the continuous head rotation without noticeable delays. For frame rates in the <NUM> - <NUM> range, the brain detects that the video lagging behind the head motion for short periods of time, as if the head were not moving. The brain cannot reconcile this with its own inertial sensors that indicate that the head is moving. Consequently, the user may get nauseated. Even before becoming nauseated, the user will find it easier to interpret complex surroundings, as seen through video, when those contents respond smoothly to head motion rather than appearing to follow the user's head motion briefly and then jerk back to their proper location every <NUM> - <NUM>.

One approach to reduce this side-effect on the user is to capture the video at frame rates in the range of <NUM> - <NUM>. NVCs, however, are used during various night levels. Operating the NVC at night level <NUM> or <NUM> requires long exposure times, which forces the sensor frame rate to remain in the lower range. As mentioned above, NVCs typically operate at frame rates in the range of <NUM> - <NUM>. Thus, the need to reduce the time between the presentation of the video while the head is in motion (latency) and the NVC low light sensitivity impose conflicting requirements in regards to the frame rate.

There remains an unmet need for efficient and cost effective methods and systems that address both the latency and low light sensitivity requirements for NVCs.

<CIT> discloses a video system with frame synthesis. <CIT> discloses a system and method for performing electronic display stabilization.

In light of the above described problems and unmet needs, as well as others, aspects of the design, development, and testing of a system and method for generating a high-rate video for a camera in motion is described herein. Among other things, these aspects may be used for, e.g., helmet-mounted displays, comprising either monocular or binocular displays for a user, and the like.

The invention is defined by an apparatus for generating a high-rate video for displaying to a user on a display device according to claim <NUM> and by a method according to claim <NUM>. Further advantageous details are defined in the dependent claims.

Other aspects or embodiments fall within the scope of the claims if provided with all the features specified in the independent claims.

Additional advantages and novel features of these aspects will be set forth in part in the description that follows, and in part will become more apparent to those skilled in the art upon examination of the following or upon learning by practice of the disclosure.

Various example aspects of the systems and methods will be described in detail, with reference to the following figures, wherein:.

Several aspects of motion tracking systems will now be presented with reference to various apparatuses and methods. These apparatuses and methods will be described in the following detailed description and illustrated in the accompanying drawings by various blocks, components, circuits, steps, processes, algorithms, etc. (collectively referred to as "elements").

Software shall be construed broadly to include instructions, instruction sets, code, code segments, program code, programs, subprograms, software components, applications, software applications, software packages, routines, subroutines, objects, executables, threads of execution, procedures, functions, etc., whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise.

Accordingly, in one or more example aspects, the functions described may be implemented in hardware, software, firmware, or any combination thereof. Computer-readable media include computer storage media. By way of example, and not limitation, such computer-readable media can comprise a random-access memory (RAM), a read-only memory (ROM), an electrically erasable programmable ROM (EEPROM), compact disk ROM (CD-ROM) or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. Disk and disc, as used herein, includes CD, laser disc, optical disc, digital versatile disc (DVD), and floppy disk where disks usually reproduce data magnetically, while discs reproduce data optically with lasers.

Accordingly, in one or more aspects, the functions described below may be implemented in any one of a HMD, or a Head-Worn Display ("HWD"). Further, these terms may also be used interchangeably with the phrase "video display for a user/pilot.

Helmet, body or vehicle mounted displays may need to provide a video output in which surroundings do not jitter in position at <NUM> - <NUM>, so that the user can visually track those objects while turning his/her head and also watch the video without becoming nauseated. As mentioned above, NVCs typically capture images at a low frame rate, e.g., at a frame rate between <NUM> and <NUM>. In contrast, inertial information for estimating the motion of the camera itself may be available at a high rate (e.g. <NUM>). For example, when the display is head-mounted, information about the head movement of the head of the user may be captured using gyroscope, accelerometer, visual-inertial navigation systems, etc., at higher rates and with minimal latency. For instance, an IMU sampling rate of <NUM> enables inertial information to be captured every <NUM>/<NUM> of a second. The present disclosure describes a method of using the low rate video along with the high rate inertial information to estimate the motion of the camera. Further, the method of the present disclosure emulates images that would have been produced if the camera in motion had been capturing images at the high rate. A geometrical warping algorithm is used to warp the low rate imagery captured by the camera to emulate an effect a camera motion would produce on image content if images had been captured at high rate. For example, the method of the present disclosure may produce/output <NUM> video from a slower <NUM> video source/input by interpolating images using a geometrical warping that causes the content of the video to counteract head rotation, as the brain expects the displayed content to exactly oppose continuous head rotation. The interpolation to <NUM>, would be fast enough to avoid nausea and to allow users to track surroundings visually. This approach may also be referred to as "up-sampling. " Thus, the method of the present disclosure allows a night vision camera which captures images at a low frame rate to be displayed to the user, e.g., on a head-mounted display, while the displaying is performed at a high frame rate. In one aspect, the display video is produced while counteracting the head-rotation of the wearer. In another aspect, the display video is produced while counteracting both the head-rotation and the head-translation of the wearer.

Referring to <FIG>, therein illustrated is a representative diagram of an example system <NUM> for generating a high-rate video for a camera in motion, according to an aspect of the present disclosure. The system <NUM> may include a display <NUM>, a camera <NUM>, a motion sensor <NUM>, a motion tracker <NUM>, and an image generator <NUM>, among other elements. In one aspect, components of the system <NUM> may be mounted on a helmet, body, goggles, or any other object wearable by the user. In one aspect, the image generator <NUM> may be implemented inside a processor <NUM>.

The camera <NUM> may be used for capturing a video at a first frame rate (e.g., a slow frame rate), the motion sensor <NUM> may be used for capturing a movement of a display device, the motion tracker <NUM> may be used for estimating a motion of the camera based on images of the video captured at the first frame rate and the movement of the display device, the image generator <NUM> may be used for generating the high-rate video at a second frame rate by up-sampling the video captured at the first frame rate, and the display <NUM> may be used for displaying the high-rate video to the user. The images of the high-rate video may be output emulating a video captured at the second frame rate.

<FIG> illustrates an example helmet <NUM> on which components of the system <NUM> are mounted. The helmet <NUM> may further include one or more processors <NUM> and format converter <NUM> (e.g., for converting from HDMI to another format). In one aspect, the format converter <NUM> may comprise a graphics card.

In one aspect, the motion sensor <NUM> may comprise an Inertial Measurement Unit (IMU) for capturing inertial information of the user wearing the display device <NUM>. For example, the head rotation may be measured using an inertial measurement unit or a visual-inertial navigation system. When the display <NUM> is mounted on the helmet <NUM>, it may be referred to as a HMD. In one aspect, the IMU includes a gyroscope.

The display <NUM> may be positioned for a right eye or a left eye of a user.

In one aspect of the disclosure, the display <NUM> may be a see-through display in which the imagery is nominally collimated and verged to infinity.

In one aspect, two displays may be used together to provide a binocular display system for the user. Each of the two displays may be positioned for a respective eye of the user.

In one aspect, the image generator <NUM> of <FIG> may be mounted on the helmet <NUM> or communicatively coupled to components mounted on the helmet <NUM>. In one aspect, the communication between components mounted on the helmet <NUM> and components in a separate control unit, e.g., a control unit implemented in a vehicle (not shown), may be performed via a Helmet-Vehicle Interface.

In one aspect, the display <NUM> may be coupled to the motion sensor <NUM>. In one aspect, the display <NUM> may contain the motion sensor <NUM>. In one aspect, the motion tracker <NUM>, may comprise, for example, a hybrid optical-based inertial tracker (HObIT), described in more detail below. The motion sensor <NUM> may be, for example, a NavChip™ IMU produced by Thales Visionix® of Clarksburg, MD which is a Microelectromechanical systems (MEMS)-based high-precision IMU.

In one example implementation, the motion tracker <NUM> may be electrically connected to the display <NUM> via a transfer wire <NUM>. In another aspect of the disclosure, the display <NUM>, may also be electrically connected to an aircraft or other vehicle via a Helmet-Vehicle Interface (HVI) <NUM>. In another aspect of the disclosure, the motion tracker <NUM> and the display <NUM> may be electrically connected to an aircraft or other vehicle via a Helmet-Vehicle Interface (HVI) <NUM>. In addition, for the binocular display system described above, the two displays may be configured to communicate with each other.

Alternatively to the electrical connections described above with reference in <FIG>, in some implementations, the various components may be wirelessly, optically, or otherwise coupled to one another.

The image generator <NUM> may receive tracking data relating to the HMD <NUM>, as described further below, and may communicate a generated image to the display <NUM>. In one aspect, the image generator <NUM> may be integrated with the HMD <NUM>. In another aspect, the generated images may be sent to the HMD via the HVI <NUM>. The image generator <NUM> may also receive input from a vehicle and/or aircraft's mission computer, including, e.g., symbol data and data from an aircraft Global Positioning System (GPS) / Inertial Navigation System (INS). Thus, the helmet <NUM> along with the motion tracker <NUM>, and display <NUM> may communicate with a control unit (not shown), such as a cockpit mounted control unit, through the HVI <NUM>, for example.

Referring to <FIG>, in one aspect, the camera <NUM> may comprise a night-vision camera with low light sensitivity. For example, the camera <NUM> may be operable at a night level selected from night level <NUM> to night level <NUM>.

In one aspect, the camera <NUM> may comprise a monocular camera.

In one aspect, the camera <NUM> may comprise a night vision camera. For example, the night vision camera may provide an input signal to another device that performs a GPS denied navigation. For instance, the night vision camera may provide an input to a motion tracker which may then perform the GPS denied navigation.

In one aspect, the camera <NUM> and the motion tracker <NUM> may be integrated. The motion tracker <NUM> of the present disclosure may track rotation and position. Changes in acceleration and rotation may be measured using any number of redundant accelerators and gyroscopes. In one aspect, angular rate data and linear acceleration data obtained from the accelerators and gyroscopes may be used to determine changes in velocity and angular displacement. The angular displacement and changes in velocity may be used for tracking both orientation and position.

In one example, the motion tracker <NUM> may comprise an IS-<NUM> tracker. The IS <NUM> tracker typically operates at <NUM> to monitor position and orientation.

In one aspect, the motion tracker <NUM> may estimate the motion of the camera <NUM> in accordance with methods used for GPS-denied navigation. In another aspect, the motion tracker <NUM> may estimate the motion of the camera in accordance with methods used for augmenting symbology onto head mounted displays, such as display <NUM>.

In one aspect, the motion sensor <NUM> of the present disclosure may take into account head rotation (3D rotation) but not head translation. In another aspect, the motion sensor <NUM> of the present disclosure may take into account both head rotation and head translation.

In order to reduce the amount of computation, independent motions of objects in view may be considered separately from the method of the present disclosure. For example, if motions of objects in view are to be tracked, the present method may receive such information from a separate unit dedicated for tracking such objects.

In one aspect, the up-sampling by the image generator <NUM> may comprise interpolating images of the video captured at the first frame rate using geometrical warping thereby causing content of the high-rate display video to counteract the movement of the display device. For example, geometric warping causes content of the video to counteract the head rotation of the user wearing the helmet <NUM> on which the display device <NUM> is mounted. Thus, the information about the head rotation and translation may be used to estimate the amount of rotation and translation needed for counteracting the movement of the display device. Once the amount of rotation and translation is estimated, the images of the video captured at the first frame rate may be interpolated using geometric warping thereby creating the high-rate display video to counteract the movement of the display device.

In one aspect, the first frame rate may comprise a frame rate between <NUM> and <NUM> and the second frame rate may comprise a frame rate between <NUM> and <NUM>.

In one aspect, the high-rate video may be displayable to assist the natural vision of the user. For example, the high-rate video may be used to display symbology that appears to stick to objects in the world.

In one aspect, the high-rate video may be displayable to replace the natural vision of the user. For example, intensified imagery may be displayed to the user when it is too dark to see.

In one aspect, the display device <NUM> may be mountable at least on one of: a helmet (e.g., as shown in <FIG>), a headband, a headgear, or clothing wearable by the user, or on a vehicle occupied by the user.

Referring now to <FIG>, therein shown is an example flowchart for a method for generating a high-rate video for a camera in motion, in accordance with aspects of the present disclosure.

At block <NUM>, the method <NUM> may capture video images at a first frame rate. For example, a camera <NUM> may be used for capturing images at a frame rate of <NUM> - <NUM>.

At block <NUM>, the method <NUM> may capture a movement of the display device at a second frame rate. For example, a motion sensor <NUM>, e.g., an IMU, may be used for capturing inertial information of the user wearing the display device <NUM>. For example, the head rotation of the person wearing the helmet on which the display is mounted may be measured using an inertial measurement unit or a visual-inertial navigation system.

At block <NUM>, the method <NUM> estimates a motion of the camera capturing the images at the first frame rate. For example, the motion tracker <NUM> may be used to estimate the motion of the camera <NUM> based on images captured by the camera <NUM> at the frame rate of <NUM> - <NUM>, and/or the movement of the display device captured by the motion sensor <NUM> at a second frame rate, e.g., <NUM>.

At block <NUM>, the method <NUM> may generate a high-rate video at the second frame rate. For example, the image generator <NUM> may interpolate images of the video captured at the first frame rate using geometrical warping thereby causing content of the resulting high-rate video to be displayable to counteract the movement of the display device. For example, the interpolation of the images enables images to remain still only for about <NUM>/<NUM> of a second - thereby resulting in a frame rate of <NUM>.

At block <NUM>, the method <NUM> displays the high-rate video to the user. For example, the high-rate video generated in block <NUM> may be displayed on display device <NUM>.

Referring now to <FIG>, therein shown is an example flowchart for a method for displaying a high-rate video emulating a camera in motion while capturing images at a low frame rate, in accordance with aspects of the present disclosure. For example, the display <NUM> may receive images from the camera <NUM> and the image generator <NUM>. For each frame to be displayed (e.g., within a given <NUM>/<NUM> of a second), the display may select an image to be displayed from either the output of the camera <NUM> or the output of the image generator <NUM>. For a given frame, when an image is readily available from the camera <NUM>, the display <NUM> selects the output of the camera <NUM>. Otherwise, the display <NUM> may select an image received from the image generator <NUM>. The image received from the image generator <NUM> may be generated by interpolating images of the video captured by the camera <NUM> using geometrical warping. The process may be repeated for each frame, sequentially.

Method <NUM> starts at block <NUM> and proceeds to step <NUM>.

In block <NUM>, method <NUM> may determine, for a current frame to be displayed, whether or not an image captured by a camera is available. When an image captured by the camera is available for the current frame, the method proceeds to block <NUM>. Otherwise, the method <NUM> proceeds to block <NUM>.

In block <NUM>, method <NUM> may determine, for the current frame, whether or not an image is received from the image generator, wherein the image may be generated by interpolating images using a geometrical warping algorithm based on input from a motion sensor, e.g., IMU <NUM>. When the image is received from the image generator, the method proceeds to block <NUM>. Otherwise, the method <NUM> returns to block <NUM>.

In block <NUM>, method <NUM> may display the image and proceed to block <NUM>. The method may continue processing images sequentially for each frame to be displayed. The image from a previous frame may be displayed only until a new image is received from either the camera or the image generator. Therefore, when the image generator generates the video at a higher frame rate than the user's brain can process (e.g., <NUM>), the latency may be overcome, thereby reducing the chance of the user becoming nauseated and allowing the user to visually track objects shown in the video.

<FIG> presents an example system diagram of various hardware components and other features, for use in accordance with aspects presented herein. The aspects may be implemented using hardware, software, or a combination thereof and may be implemented in one or more computer systems or other processing systems. In one example, the aspects may include one or more computer systems capable of carrying out the functionality described herein, e.g., in connection with one or more of the motion sensors (e.g., IMUs), displays, INS, and/or related processing within other components in the helmet of <FIG>. An example of such a computer system <NUM> is shown in <FIG>.

Computer system <NUM> includes one or more processors, such as processor <NUM>. The processor <NUM> may correspond to components (e.g., image generator, motion tracker) described in connection with the system <NUM> for generating a high-rate video for a camera in motion. The processor <NUM> is connected to a communication infrastructure <NUM> (e.g., a communications bus, cross-over bar, or network). Various software aspects are described in terms of this example computer system. After reading this description, it will become apparent to a person skilled in the relevant art(s) how to implement the aspects presented herein using other computer systems and/or architectures.

Computer system <NUM> can include a display interface <NUM> that forwards graphics, text, and other data from the communication infrastructure <NUM> (or from a frame buffer not shown) for display on a display unit <NUM>. Computer system <NUM> also includes a main memory <NUM>, preferably random access memory (RAM), and may also include a secondary memory <NUM>. The secondary memory <NUM> may include, for example, a hard disk drive <NUM> and/or a removable storage drive <NUM>, representing a floppy disk drive, a magnetic tape drive, an optical disk drive, etc. The removable storage drive <NUM> reads from and/or writes to a removable storage unit <NUM> in a well-known manner. Removable storage unit <NUM>, represents a floppy disk, magnetic tape, optical disk, etc., which is read by and written to removable storage drive <NUM>. As will be appreciated, the removable storage unit <NUM> includes a computer usable storage medium having stored therein computer software and/or data.

In alternative aspects, secondary memory <NUM> may include other similar devices for allowing computer programs or other instructions to be loaded into computer system <NUM>. Such devices may include, for example, a removable storage unit <NUM> and an interface <NUM>. Examples of such may include a program cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an erasable programmable read only memory (EPROM), or programmable read only memory (PROM)) and associated socket, and other removable storage units <NUM> and interfaces <NUM>, which allow software and data to be transferred from the removable storage unit <NUM> to computer system <NUM>.

Computer system <NUM> may also include a communications interface <NUM>. Communications interface <NUM> allows software and data to be transferred between computer system <NUM> and external devices. Examples of communications interface <NUM> may include a modem, a network interface (such as an Ethernet card), a communications port, a Personal Computer Memory Card International Association (PCMCIA) slot and card, etc. Software and data transferred via communications interface <NUM> are in the form of signals <NUM>, which may be electronic, electromagnetic, optical or other signals capable of being received by communications interface <NUM>. These signals <NUM> are provided to communications interface <NUM> via a communications path (e.g., channel) <NUM>. This path <NUM> carries signals <NUM> and may be implemented using wire or cable, fiber optics, a telephone line, a cellular link, a radio frequency (RF) link and/or other communications channels. In this document, the terms "computer program medium" and "computer usable medium" are used to refer generally to media such as a removable storage drive <NUM>, a hard disk installed in hard disk drive <NUM>, and signals <NUM>. These computer program products provide software to the computer system <NUM>. Aspects presented herein may include such computer program products.

Computer programs (also referred to as computer control logic) are stored in main memory <NUM> and/or secondary memory <NUM>. Computer programs may also be received via communications interface <NUM>. Such computer programs, when executed, enable the computer system <NUM> to perform the features presented herein, as discussed herein. In particular, the computer programs, when executed, enable the processor <NUM> to perform the features presented herein. Accordingly, such computer programs represent controllers of the computer system <NUM>.

In aspects implemented using software, the software may be stored in a computer program product and loaded into computer system <NUM> using removable storage drive <NUM>, hard drive <NUM>, or interface <NUM> to removable storage unit <NUM>. The control logic (software), when executed by the processor <NUM>, causes the processor <NUM> to perform the functions as described herein. In another example, aspects may be implemented primarily in hardware using, for example, hardware components, such as application specific integrated circuits (ASICs). Implementation of the hardware state machine so as to perform the functions described herein will be apparent to persons skilled in the relevant art(s).

In yet another example, aspects presented herein may be implemented using a combination of both hardware and software.

<FIG> illustrates a block diagram of various example system components that may be used in accordance with aspects of the present disclosure. The system <NUM> may include one or more accessors <NUM>, <NUM> (also referred to interchangeably herein as one or more "users," such as a pilot) and one or more terminals <NUM>, <NUM> (such terminals may be or include, for example, various features of the motion sensors (e.g., IMUs), displays, INS, and/or related processing within other components in the helmet of <FIG>) within an overall aircraft or other vehicle network <NUM>. In one aspect, data for use in accordance with aspects of the present disclosure is, for example, input and/or accessed by accessors <NUM>, <NUM> via terminals <NUM>, <NUM>, coupled to a server <NUM>, such as the symbols, , and/or other device having a processor and a repository for data and/or connection to a repository for data, via, for example, a network <NUM>, such as the Internet, an intranet, and/or an aircraft communication system, and couplings <NUM>, <NUM>, <NUM>. The couplings <NUM>, <NUM>, <NUM> includes, for example, wired, wireless, or fiber optic links. In another example variation, the method and system in accordance with aspects of the present disclosure operate in a stand-alone environment, such as on a single terminal.

While the aspects described herein have been described in conjunction with the example aspects outlined above, various alternatives, modifications, variations, improvements, and/or substantial equivalents, whether known or that are or may be presently unforeseen, may become apparent to those having at least ordinary skill in the art. Accordingly, the example aspects, as set forth above, are intended to be illustrative, not limiting. Various changes may be made without departing from the scope of the disclosure as defined by the appended claims. Therefore, the disclosure is intended to embrace all known or later-developed alternatives, modifications, variations, improvements, as long as they fall into the scope of the appended claims.

Claim 1:
An apparatus (<NUM>) for generating a high-rate video for displaying to a user on a display device, the apparatus comprising:
a camera (<NUM>) for capturing a video at a first frame rate;
a motion sensor (<NUM>) for capturing movement of a display device;
a motion tracker (<NUM>) for estimating motion of the camera based on images of the video captured at the first frame rate and the motion reported by the motion sensor;
an image generator (<NUM>) for generating the high-rate video at a second frame rate by up-sampling the video captured at the first frame rate, wherein images of the high-rate video are output emulating a video captured at the second frame rate; and
a display (<NUM>) for displaying the high-rate video to the user,
characterized in that the up-sampling comprises: interpolating images of the video captured at the first frame rate using geometrical warping thereby causing content of the high-rate video to be displayed counteracting the movement of the display device.