The present invention relates generally to the field of automatic test equipment for evaluating digital video interface (DVI) video electronic signals that are utilized by equipment under test by the automatic test equipment (also referred sometimes to as automated test equipment). More specifically, the present invention relates to DVI video signal generation and DVI video signal acquisition.
Automatic test equipment for testing standard format video devices is known. It is commonly required to evaluate the performance and functionality of a video unit under test (UUT) to determine if the UUT is operating within the manufacturer's specifications, and/or within other desired specifications. Specifically, the UUT may require special image and scan formats.
DVI video signals can be generated by a wide variety of single purpose instruments employing diverse methods. In most available types, the image format and timing are limited to a set of known standards primarily to support commercial display devices. Similarly, single purpose instruments are available for the generation or acquisition of DVI video signals. Unifying the operation of these singular instruments is the responsibility of the operator.
It is an object of at least one embodiment of the present invention to provide a new and/or improved system having DVI video generating and processing capabilities on a single instrument or single card, primarily intended for use in automatic test equipment.
It is another object of at least one embodiment of the present invention to provide a new and/or improved system having DVI video acquisition and processing capabilities on a single instrument or single card, primarily intended for use in automatic test equipment.
It is yet another object of at least one embodiment of the present invention to provide one or more of these capabilities in either a standalone configuration or in unison with a full-featured video generation and acquisition instrument, such as the Advanced Testing Technologies Inc.'s Enhanced Programmable Video Generator and Analyzer (hereinafter referred to as “ePVGA”, of the type disclosed, for example, in U.S. Pat. Nos. 6,396,536 and No. 7,289,159, both of which are incorporated by reference herein). As described, the ePVGA comprises multiple electronic modules integrated into a single instrument supporting the generation, acquisition and processing of composite video, raster video and stroke video and all of their analog and digital variants. This invention, a novel modification to this concept, leverages the complex circuit architecture already present in the instrumentation disclosed in '536 and '159 patents and adds, in a nonobvious manner, the relevant functionality of DVI video generation and acquisition in a daughterboard configuration. Due to modular design, this invention may also be packaged and operated as a standalone independent DVI test instrument.
In order to achieve one of these objects or another object, a first embodiment of a method for generating a static digital video interface (DVI) video signal in accordance with the invention includes providing a primary image memory (PIM) holding a main bit-mapped image, and a video line construct memory (DHV—Data enable/H sync/V sync) holding data enable and blanking patterns for lines of the video signal being generated, and arranging data blocks in a circular queue in a line parameter memory (LPM), each data block corresponding to a complete video line and containing pointers to specific entries in the PIM and the DHV. Generation of the video signal is initiated by reading the LPM and extracting the pointers from the data blocks for a first line of the video signal being generated. Bits from the PIM and DHV are obtained based on the extracted pointers and combined to thereby generate a first line of the video signal. A length of the first line of video signal being generated is monitored to determine when the first line of video is complete, and then generation of additional lines of the video signal continues by reading the LPM to extract the pointers from the data blocks for the additional lines of the video signal being generated, obtaining bits from the PIM and DHV based on the extracted pointers and monitoring the length of the additional lines to determine when each additional line of video is completed. This process may continue until there are no more lines of video to generate.
An additional, but optional step, is to control the formation of the DVI video signal by regulating the transfer of the combined bits from the PIM and DHV in order to provide uninterrupted video output. This may entail providing a line buffer for receiving the combined bits from the PIM and DHV, storing the combined bits in the line buffer for a period of time until the line buffer is full, then removing the stored combined bits from the line buffer, and then repeating the storing and removing steps.
Another additional, but optional step, is overlaying a stored dynamic image onto the static DVI video signal being generated. This may entail providing a vector store memory (VSM) with entries each holding information regarding the dynamic image, such as a line offset, pixel offset, overlay image pointer and priority for the dynamic image, reading each entry in the VSM and comparing the overlay line offset to a pending line of the primary image, and selectively activating the overlay image based on a relation between the overlay line offset and the pending line of primary image.
The additional steps may be performed in combination with one another or separately.
A method for capturing and automatically formatting digital video interface (DVI) video signals in accordance with the invention includes providing a single real-time capture module including at least three input channels for receiving the DVI video signals, and a corresponding number of color-specific memories, detecting presence of a DVI signal by using a vertical sync pulse to trigger a timed pulse indicative of vertical sync presence, storing captured DVI data relating to the video signals in separate color-specific memories, and automatically measuring parameters of the DVI signal including duration of an active image area on a video line, a total pixels per line, a total line time, a frame time, and a pixel clock frequency. The parameters are directed into data registers to enable retrieval and subsequent formatting of the video signals. Controlling software is then able to generate video signals from the data in the registers and color-specific memories.
An additional, but optional, step is to configure each color-specific memory as a two dimensional array in which each row corresponds to a single line of synchronized video and each column corresponds to a video sample.
Another additional, but optional, step is to store the horizontal signal, the vertical signal and the data enable signal in a memory separate from the color-specific memories.
Another additional, but optional, step is to detect a horizontal sync indicative of start of a new line, then increment an RGB data shared memory pointer to a start of the next memory block is assigned to the next video line, and repeat this process for each new line.
The additional steps may be performed in combination with one another or separately.
One embodiment of a video processing arrangement in accordance with the invention includes a host computer including a monitor, a video asset coupled to the computer for generating video signals, and an interface for connecting the video asset to the computer to enable the display of the video signals on the monitor. The video asset includes a plurality of primary elements including a primary composite video module for producing different types of a primary video signal and outputting the primary video signal via one or more output channels, a secondary composite video source module for producing a secondary composite video signal and outputting the secondary composite video signal via one or more output channels, a digital video interface (DVI) module for producing different types of DVI video signals and outputting the DVI video signals via one or more output channels, a stroke generator module for generating a stroke XYZ video signal and outputting the stroke video signal via output channels, a real time capture module for capturing video signals in a plurality of different modes including composite, stroke, raster and DVI video, and a common distributed time base module for generating and distributing clock signals to all of the primary elements. The secondary video source module is configured to produce the secondary composite video signal in an identical or different format than the primary video signal and different than the primary video signal. The primary elements are preferably autonomous or autonomously operational such that each primary element does not share components with other of the primary elements aside from the interface and the distributed time base module to thereby enable each primary element to act as a stand-alone instrument and all of the primary elements to act simultaneously.
The video asset may be a single instrument adapted for insertion into a single slot of the host computer. The real time capture module may be configured to read back a captured, fully formatted image for analysis or redisplay. The video asset may include a serial data interface for connecting each primary element together and to the interface. The real time DVI video acquisition module and the DVI video generation module may physically exist within the same instrument, or in the alternative, physically exist within separate instruments that are utilized together, and, when utilized together, constitute the same functionality as the single instrument with both modules. The DVI video acquisition module and DVI video generation module may be configured on a daughterboard attached to the main video asset, or arranged in a separate independent instrument.
An arrangement for generating digital video interface (DVI) video signals in accordance with the invention includes a primary image memory (PIM) module that operatively holds a main bit-mapped image, a static (DHV) memory module that operatively holds information regarding the video format being generated, such as data enable and horizontal and vertical sync signal patterns for all lines in the video format being generated, and a dynamic overlay memory (DOM) module that operatively holds at least one overlay image and a list of offsets that determine a changing location of the overlay image on a frame by frame basis. The DOM module has a memory space divided into a series of blocks, each of which contains a bit-mapped image. The arrangement also includes a vector store memory (VSM) module that operatively holds information regarding the overlay image, such as offsets, overlay pointer and priority for the overlay image, a line parameter memory (LPM) module organized as a preferably circular queue of data blocks, each of which corresponds to a complete video line and contains pointers to row entries in the PIM and DHV modules, and a master frame controller coupled to the PIM module, the DOM module, the DHV module, the VSM module and the LPM module. A video stream assembler is also provided and creates a frame of video line by, for example, extracting pointers from the data blocks in the LPM module for the current line, retrieving data from the PIM and DHV modules based on the pointers extracted from the LPM module, extracting pointers for an overlay image from the VSM module, and retrieving data from the DOM module based on the pointers extracted from the VSM module.
This arrangement may also include a line buffer memory in which data from the video stream assembler is stored, and an output formatter that receives an image stream from the line buffer memory and calculates an R-G-B byte representation for each pixel using an internal color lookup table. A low voltage differential signaling transmitter constructs the video signals based on data provided by the output formatter.
The following drawings are illustrative of embodiments of the invention and are not meant to limit the scope of the invention as encompassed by the claims.
A Video Asset (AVA) is disclosed and is an electronic instrument for use in particular, in automatic test equipment. The AVA comprises or consists of two major elements as follows:
1. DVI Video Signal Generator; and
2. DVI Video Signal Acquisition Module
Additional, optional elements may also be present. Preferred embodiments of the invention will be described with reference to
A. General Arrangement
The general arrangement of the video asset is shown in
Video asset 11 may be configured as a standalone independent DVI test instrument. Thus, it may be configured on a printed circuit board and include the components shown in
Use of a serial data interface 24 reduces printed circuit board complexity and minimizes the possibilities for hostile crosstalk. For the described, preferred embodiment, the SDI 24 is a 6 wire (clock, strobe 4 bi-directional data) high-speed bus. For each data transfer, the SDI 24 preferably utilizes a 48-bit string organized as follows:
4 bit ID code—addresses one of the primary elements
8 bit Header—establishes type of transfer within the addressed primary element; read or write to a register, read or write to a specific asynchronous RAM, read or write to a specific synchronous RAM, or read or write to a specific dynamic RAM.
20 bit Address—points to a specific register, or is physical address for the specified RAM
16 bit Data—read or write data to the above addressed memory element
DVI Generation
Primary Image Memory (PIM) module 28—a high density memory which holds the main bit-mapped image. In a preferred embodiment, the PIM module 28 is organized so that a video line corresponds to a half row in memory with each entry in the PIM representing two pixels.
Dynamic Overlay Memory (DOM) module 30—a high density memory which holds at least one and preferably a series of overlay images and a list of offsets that determine the changing location of the overlay image on a frame by frame basis. The DOM module's memory space is divided into a series of blocks, i.e., a plurality of blocks, each of which contains a bit-mapped image. More generally, the DOM module 30 holds information regarding the overlay image necessary to enable its generation.
DHV Memory module 32—a medium density static memory which holds the data enable and horizontal and vertical sync signal patterns for all of the lines in the video format being generated. The memory module is preferably organized as a series of rows, each of which holds sync and data enable signals for a complete video line. More generally, the DHVmemory module 32 holds information regarding the video format being generated.
Vector Store Memory (VSM) module 34—a medium density static memory that holds the offsets, overlay pointer and priority for the overlay that is active, for the current frame.
Another static memory, the Line Parameter Memory (LPM) module 40 is located one step up in the conceptual control hierarchy as shown in
A master frame controller or DOM controller 26 is coupled to the VSM 34, receiving and providing signals thereto, described below. The DOM controller 26 is also coupled to the LPM module 40 receiving and providing signals thereto, described below. The DOM controller 26 is also coupled to the PIM and DOM modules 28, 30 and provides signals thereto, described below. Finally, the DOM controller 26 is coupled to the DHV memory module 32 directly and through a register 36.
A frame of video is created line by line. In a preferred embodiment, for each line, the DVI generator 17 reads the LPM module 40 and extracts the pointers from the data block for the current line. This takes place during the time after the previous line has finished and before the current line begins. The extracted pointers determine which row is active in each of the memories. The overall timing of the line is controlled by four counters 42, 44, 46, 48—see
The PIM column counter 46 determines which column is to be read from the PIM 28 (see column address to PIM output in
By convention, a video line begins with the leading edge of the horizontal sync pulse. At the beginning of the line, the line length, video delay and the static memory scan counters 42, 44, 48 start (see “starts new line” and “load” indicators in
These functions occur in a video stream assembler 37. Video stream assembler 37 receives a clock signal from a fixed oscillator, and data from the PIM module 28, DOM module 30, DHV memory module 32 and master frame (DOM) controller 26. From the received data, the video stream assembler 37 provides data-in and write information to the line buffer memory 70, and data to the master frame (DOM) controller 26.
Lastly, the data is written into a line buffer memory 70 that separates the non-real time portion from the real time portion (see
An output formatter 71 takes the image stream from the line buffer memory 70 (Data-out and Read lines); receives a pixel clock from the distributed time base (DTB) 126 (see
The video asset 10 has the capability and functionality to superimpose a dynamic image over the primary, static image. The dynamic overlay images, one or more of which may be superimposed over each primary, static image, and their associated list of offsets are stored in the DOM module 30. For each overlay image in the DOM module 30, a memory space, or template, is allocated. The template size is specified as ‘V’ lines by ‘H’ pixels. Activation and merging of the overlay image is accomplished by the DOM controller 26.
Referring to
When the overlay image is active during pending primary line, the overlay image line to be accessed is the primary pending line minus the overlay line offset. During the actual scan of the primary image line, the pixel address is continuously compared with the overlay pixel offset. When the primary pixel address falls on or between the overlay pixel offset and the overlay pixel offset plus ‘H’, the scan shifts from the primary image to dynamic overlay image. However, if the current overlay image pixel value is the background value and the priority bit is set to DOM over PIM, a hardware mux 69 selects the primary pixel instead of the overlay pixel (see
If the priority bit is set to PIM over DOM, the active pixels of the overlay are selected only during the primary image background color. This puts the overlay image underneath the primary. When scanning the dynamic overlay image line, the overlay pixel address is equal to the primary pixel address minus the overlay pixel offset. This method of the transferring scan from the primary to the overlay memory is independent of the scan direction either vertically or horizontally. To complete the DOM address field when accessing the template stored image, the overlay image pointer loaded into register 68 points to a pair of registers in the controller which contain the template horizontal and vertical offsets within the DOM module 30. These offsets are hardware added to the template line and pixel address to form the complete DOM address. This is also how individual templates are selected.
DVI Real Time Capture or Acquisition (19)
Accordingly, to achieve at least one of the objects above, a method for capturing and automatically formatting DVI video signals, in accordance with the invention, comprises providing a single real-time capture module including a DVI LVDS receiver for accepting the DVI video signals, and three memories, storing the data from the input channels relating to the video signals in the three memories, generating a line location look-up table during the storage of data in the memories which holds the starting address of the stored lines of synchronized video.
The general arrangement of the DVI real time capture or acquisition module 19 is shown in
Referring now to
Once triggered for video image acquisition, the DVI Acquisition Control Module 53 waits for the top of the next video frame to occur, as denoted by the V-Sync signal from the LVDS receiver 23. Once triggered, the DVI Acquisition Control Module 53 stores the red, green and blue data within the respective image store memory 50, 51, 52 and stores the data enable, H Sync and V Sync data in a separate memory, called the Tag Memory (not specifically indicated in
The memory may be configured as an array in which each row corresponds to a single line of synchronized video and each column corresponds to a video sample.
The connection of the DVI acquisition control module 53 to the serial data interface 24 enables data flow from other components directly thereto and therefrom.
Referring now to
With respect to input/output channels, the video asset 10 has a series of video bandwidth input and output channels. The RTC 22 preferably has three input channels that can handle up to +/−10 volt input. These channels utilize voltage-controlled gain and offset circuits to set the channel's operational parameters. The transfer characteristics of the channels are sensed by means of high-resolution analog to digital converters (ADCs). Precision control digital to analog converters (DACs) provide the necessary control voltages. A software driver resident in the host computer 12 reads the sense ADCs, calculates the necessary control voltages and writes them to the control DACs to achieve the desired characteristics. This arrangement permits the channels to be aligned at the time of use to parameters called for in the test program set (TPS) program. Since the channels are accurately aligned at run time, all long-term drift errors are eliminated. The PVG 16 has three +/−3 volt output channels and two +/−10 volt output channels. The SVS 18 has three +/−3 volt output channels. The SG 20 has three +/−10 volt output channels. (Note: rated voltages are into a 75 Ohm load.) All output channels of similar voltage are identical and feature the same sense and control capability as for the input channels. Since all the sense ADCs and control DACs have a serial interface, communication with them is achieved via the SDI 24.
Above, some preferred embodiments of the invention have been described, and it is obvious to a person skilled in the art that numerous modifications can be made to these embodiments within the scope of the inventive idea defined in the accompanying patent claims. As such, the examples provided above are not meant to be exclusive. Many other variations of the present invention would be obvious to those skilled in the art, and are contemplated to be within the scope of the appended claims.
This application claims priority of U.S. patent application Ser. No. 61/838,615 filed Jun. 24, 2013, which is incorporated by reference herein.
Number | Name | Date | Kind |
---|---|---|---|
6396536 | Howell et al. | May 2002 | B1 |
7180477 | Howell | Feb 2007 | B2 |
7289159 | Biagiotti et al. | Oct 2007 | B1 |
7495674 | Biagiotti et al. | Feb 2009 | B2 |
7768533 | Biagiotti et al. | Aug 2010 | B2 |
7978218 | Biagiotti et al. | Jul 2011 | B2 |
8497908 | Biagiotti et al. | Jul 2013 | B1 |
20060190632 | Yang et al. | Aug 2006 | A1 |
20070064110 | Biagiotti et al. | Mar 2007 | A1 |
Number | Date | Country | |
---|---|---|---|
61838615 | Jun 2013 | US |