GRAPHICAL DATA TRANSLATION TABLE
The present invention relates to image displays and signage, and more particularly, to displays of custom or arbitrary shape. Such shaped displays include channel letter displays, logo or design displays, multiple displays in an assembly, multiple display modules, curved or round displays, or other arbitrary shaped or unusual aspect ratio displays. The present invention further relates to software, apparatus, and methods for a translation table which maps graphical data from an initial shape to an arbitrary shape for use on such displays.
Latest Daktronics, Inc. Patents:
This application is a continuation of and claims the benefit of priority under 35 U.S.C. §120 to U.S. patent application Ser. No. 11/805,513, filed on May 23, 2007, entitled “GRAPHICAL DATA TRANSLATION TABLE,” which claims the benefit of priority under 35 U.S.C. §119(e) to U.S. Provisional Patent Application Ser. No. 60/808,200, filed on May 24, 2006, entitled “TRANSLATION TABLE,” the benefit of priority of each of which is claimed hereby, and each of which are incorporated by reference herein in its entirety. Further, U.S. patent application Ser. No. 11/805,513 is a continuation-in-part of U.S. patent application Ser. No. 10/965,127, entitled “FLEXIBLE PIXEL STRING SOFTWARE AND METHOD,” filed Oct. 14, 2004, and is related to U.S. patent application Ser. No. 10/965,133, entitled “FLEXIBLE PIXEL STRING HARDWARE AND METHOD,” filed Oct. 14, 2004, and both of which are hereby incorporated into this application by reference as if fully set forth herein.
BACKGROUND OF THE INVENTION1. Field of the Invention
The present invention relates to apparatus and method for configuring a graphical display, and specifically to apparatus and method for configuring a graphical display of custom or arbitrary shape. The present invention provides efficient means for configuring and populating such displays with graphical data, where such displays can include channel letter displays, logo or design displays, curved or round displays, or other arbitrary shaped or unusual aspect ratio displays, and can utilize or incorporate flexible pixel strings. The present invention is translation table apparatus and method. The translation table apparatus and method provides for mapping of graphical display data from an initial organizational scheme to an arbitrary new organizational scheme.
2. Description of the Prior Art
Displays have become increasingly more sophisticated, progressing from monochrome incandescent and LED to color to moving or changing displays to video quality displays, and from smaller to larger size, and with more elaborate content and control and driving systems. Channel letter type displays have progressed from simple neon or fluorescent light displays to video type displays. The construction of modern video-type channel letter or arbitrary shaped displays is typically accomplished using standard rectangular grid video components. Such use of rectangular grid video components is awkward and wasteful, and in some implementations lacks the full desired effect that channel letter shaped video components could provide. However, the production of shaped video components in arbitrary shapes is expensive and inefficient at present. Further, the rectangular grid video components and control system can be inadequate for creating the custom shaped displays that are becoming increasingly desired. Thus, there is need for efficient and cost effective production of arbitrary shaped displays and for a way to map standard rectangular image data onto an arbitrary shaped array and software to facilitate the conversion of rectangular to arbitrary shape.
SUMMARY OF THE INVENTIONThe translation table apparatus and method provides for mapping of graphical display data which may be initially organized as a regular matrix such as a rectangular array of rows and columns corresponding to specific pixels, and translating the graphical display data to adapt the graphical display data to a matrix of arbitrary shape and spacing and orientation, to one or more pixel strings, or a combination of such strings or matrices.
The general purpose of the present invention is to provide a display in any arbitrary shape. Such a display can be useful for signage, presentation of video information, and so forth, in channel letters or other arbitrary shapes as are desired.
According to one embodiment of the present invention, there is provided software for a video-capable display, where the display comprises multiple pixels arranged in an arbitrary configuration with flexible connections.
According to another embodiment of the present invention, there is provided software for mapping a regular matrix of display data to at least one matrix or flexible pixel string of arbitrary shape.
According to still another embodiment of the present invention, there is provided computing hardware having translation table software loaded in memory.
According to a further embodiment of the present invention, there is provided computing hardware executing translation table software.
According to a still further embodiment of the present invention, there is provided machine-readable media storing translation table software.
According to yet another embodiment of the present invention, there is provided software for a display controller, where such software maps a starting rectangular image data onto an array of logical rows and logical columns of pixels corresponding to a physical shape and/or size which is different from that of the starting rectangular image.
According to a still further embodiment of the present invention, there is provided a method of transforming a rectangular image data array into an image data array of arbitrary shape.
According to an additional embodiment of the present invention, there is provided a method of mapping an image data array of one shape to an image data array of different shape.
According to another additional embodiment of the present invention, there is provided software for creating a map of rectangular rows and columns to logical rows and columns of arbitrary shape from a computer drawing of pixels arranged in the arbitrary shape.
According to yet another additional embodiment of the present invention, there is provided a method of creating a software map from a physical shape, where the software map facilitates the mapping of a data array of a first shape onto a data array of a second shape.
According to still yet another additional embodiment of the present invention, there is hardware executing translation table software which creates a software map from a physical shape, where the software map facilitates the mapping of a data array of a first shape onto a data array of a second shape.
One significant aspect and feature of the present invention is the efficient utilization of the minimum number of lighting elements and other costly electronic components.
Another significant aspect and feature of the present invention is translation table software which provides for utilization of displays of any arbitrary shape. The software also enables such flexibility by allowing a library of unique pixel elements and pixel arrays to be created and saved. This software then allows a user to choose and select different desired pixel elements (a string of pixels being one example of a pixel element) and then assists the user in creating the logical to physical row and column positioning translation.
Still another significant aspect and feature of the present invention is software for multiple display modules.
Yet another significant aspect and feature of the present invention is a straightforward process for making a translation table corresponding to one or more physical shapes.
A further significant aspect and feature of the present invention is a straightforward process for making a translation table from one or more software description(s) of particular shapes.
A still further significant aspect and feature of the present invention is translation table software for mapping or addressing a particular pixel or display element for sending image data to the particular pixel or display element to activate the particular pixel or display element in a desired manner and timing even if the pixel or display element is part of a flexible pixel string with arbitrary shape and not part of a regular rectangular grid or array.
Having thus described embodiments of the present invention, it is the principal object of the present invention to provide a display in any arbitrary shape, and to provide means for sending standard rectangular image data to the display in a manner that mapped graphical data can be properly displayed on the arbitrary shaped display. Such a display can be useful for signage, presentation of video information, and so forth, in channel letters or other arbitrary shapes as are desired.
One object of the present invention is to provide software for efficient and cost effective display of graphical data.
Another object of the present invention is to provide software for a display with moving video capabilities.
Yet another object of the present invention is to provide software for displays that are curved, angled, channel letter, logo shaped, or otherwise shaped.
Still another object of the present invention is to provide one or more translation tables for one or more display elements or modules which can be used as a components in a display with arbitrary shape.
A further object of the present invention is to provide translation table apparatus which can be used to efficiently map graphical data for displays that are straight, rectangular, curved, angled, channel letter, logo shaped, or otherwise shaped.
Other objects of the present invention and many of the attendant advantages of the present invention will be readily appreciated as the same becomes better understood by reference to the following detailed description when considered in connection with the accompanying drawings, in which like reference numerals designate like parts throughout the figures thereof and wherein:
The present invention is utilized generally for enhanced display of data on graphical display stations. Particularly popular nowadays are displays using LED technology, but other types of displays can also utilize the present invention. The present invention is particularly beneficial in a display architecture which allows multiple display modules, although this is not required for the present invention. In one use of the present invention, a display architecture is envisioned in which a display module has at least one data input and at least one data output; preferably, a display module has multiple data outputs such as 4, for example. The display module controls a number of graphical indicators, which can be monochromatic lamps, liquid crystal display elements, light emitting diodes, or color picture elements (pixels) as are in use in the art. In an example, the display module can control up to 512K RGB pixels. Each data output controls a number of indicators or pixels, with such color and intensity data and frame rates as desired and allowed by the hardware, such as up to 256K RGB pixels at 16 bits per color with 5 bits of dimming and a refresh rate of 120 Hz. The data output can interconnect LED modules or controllers with many different pixel pitches and pixel arrangements in any order using a cable, such as a cable with RJ45 connectors. Utilizing cabling of uniform or standard type provides a simpler and more cost-effective setup. The high degree of flexibility inherent in the present display architecture with multiple interconnected data inputs and outputs for transfer of graphical data in a flexible and easily configurable manner makes the old system of configuring a display by pixel rows and columns obsolete as a display need no longer conform to a rectangular shape or be limited to a single pixel pitch.
The present invention is apparatus, software, and method for translation table mapping of graphical display data to an arbitrary shape array or set of arrays. The present invention can be incorporated into a graphical display station or controller, or be utilized in a preprocessing environment such as a computer used to prepare graphical display data prior to transmitting or transporting the data to the graphical display station or controller. The present invention can be incorporated into a memory device component of such a computer, display station, or controller. The present invention can be incorporated into other memory devices or media, such as CD-rom, DVD-rom, computer disks or disk drives, RAM, ROM, and the like.
Although the display will be the device that ultimately “uses” the translation table, the table itself will typically be generated on the preprocessing computer by a configuration program. This is because there can be multiple display modules within a sign and multiple signs within a graphical data frame, and each individual display may not be connected to, or aware of, all of the various display modules within a system. To successfully generate the translation table, the configuration program requires many specific details of the system architecture such as elements depicted on
The system data needed to generate the translation table will be entered by the user or read back from the display(s) through a diagnostic path. Each display module in the system requires its own unique translation table based on the sign number, display module identity (such as a numerical designation) number within the sign, and face number (since a display can have multiple faces). Having a unique translation table also allows for a single pixel to be assigned to multiple display modules for unique display configurations or to easily allow displays with different pixel pitches to show identical data. A translation table can accommodate a number of unique pixels only limited by the system architecture. For example, one convenient architecture provides for up to 1,048,575 pixels. Any pixels not defined for a particular display module are placed outside of the memory map range for that display module.
Each active display pixel the selected display module receives is assigned a number from 0 up to the maximum number of unique pixels of the particular system architecture being used, such as 1,048,575 for example, starting in the position defined by the display module start coordinates (e.g., X, Y). In other words, if a translation table and the corresponding graphical display data spans multiple display modules, the correct data is read for each display module by starting at the correct location in the translation table. For example, the pixel numbers as specified sequentially within each line are read from the starting pixel for a particular display module until the line pixel count has been reached for the selected display module. The pixel number specified in this manner is essentially the translation table memory address where the translation data value is stored. The translation data value preferably has a prescribed number of bits so that no special end indicator or size indicator is required; for example the translation data value may be a 20-bit number ranging from 0 up to 1,048,567 for example (for an example architecture with up to 1,048,575 unique pixels and where 1,048,568-1,048,575 are reserved for non-graphical data use) and indicates the address in the display module memory where the specified RGB pixel value will be stored. In this example, the most significant eight translation values are reserved and cannot be used to indicate a position in the display module memory. Note that the maximum translation table value may be physically limited by the display module hardware and may be less than 1,048,567 pixels.
Even with this limitation, frames with more than 1,048,575 pixels can be accommodated by assigning different X, Y start coordinates to different display modules. Each display module addressed with the translation table will always be limited by the system architecture, such as to 1M pixels, so only the first 1M pixels received from X, Y start coordinates for the specified display module can be assigned a translation table value.
Transmitting a Translation Table Preferred Data Protocol Vmax Translation Table ConfigurationThe translation table is transmitted within a graphical data frame. In a present example, all values are preferably in HEX for convenience and consistency. A configuration packet contains the start and end line numbers within the graphical data frame that contain valid translation table values as well as the number of valid translation table data words per line. Typically, only a few lines per frame will contain translation table data to conserve as much bandwidth as possible for display data. In this case, the entire translation table will be received or built up over many frames. Each translation table line will preferably have a diagnostic or error check applied to it such as by incorporating checksums. If an error is detected in a line, the corresponding data will not be stored in display module memory but rather the previous translation table values will be maintained in the display module memory until a future frame arrives without a detectible error. Further diagnostic information can be transmitted as well, such as to log or report the error. The last translation table line typically contains “don't care” values which are not valid translation table data or display data. This is to provide time for a diagnostic or error check to be performed and the final line of valid translation table data to be stored to memory on the display module. However, this setup does allow entire frames of translation table data to be transmitted with no display data when desired, and this could be used on a sign service start, for example, or in other situations where the translation table must be transmitted to the display more quickly than normal, such as a rapid configuration change to obtain a special visual effect.
A preferable format for translation table lines according to the present invention is as follows. Each line containing translation table data consists of a fixed amount of data (such as a predetermined number of 20-bit words, for example) where header information is placed followed by a variable amount of data (such as an arbitrary or customizable number of 20-bit data words) containing the actual translation table data. Refer to
The following is a more specific description of the example of
The target display module select address consists of three four-bit values specified by the sign number, display module number, and face number; unused bits are reserved and are “don't cares”, but should also be set to a value of zero. Each display module will compare its current select address with the header select address and will only accept the translation table data on an address match.
If the display module switch positions are all set to position “F”, the display modules will be in an automatic addressing mode where each display module in a chain will be sequentially addressed from 0-FFF. In this situation, the select address comparisons will work the same as before except the single 12-bit value is compared instead of the three four-bit values.
The line starting pixel number is used to indicate to the display module what part of the translation file is being received on the current line. For example, if the display module is receiving the beginning of a translation table, the starting pixel number would be 0x00000 and indicates the first data word number is 0x00000. The second data word would be (starting pixel number+1) and will continue sequentially until the end of the line is reached and the final data word (starting pixel number+N) is received. The next translation table line would contain a starting pixel number of N+1 and again the data words would be numbered sequentially until the end of the line. This process will continue until the entire translation table has been transmitted.
For system architectures with 4 data outputs, the following is a further example. The next line of the translation table header contains the output 0 starting memory address for the display module. This address corresponds to the address location within the display module display memory where the first pixel data value to be read and clocked out for output 0 should be stored. Outputs 1, 2 and 3 work in a similar way.
The next line of the translation table header contains the output 0 ending memory address for the display module. This address corresponds to the address location within the display module display memory where the last pixel data value to be read and clocked out for output 0 should be stored. This information is primarily provided for the backup display module transmission which in this example clocks out data in the reverse order. Outputs 1, 2 and 3 work in a similar way.
The next line of the translation table header contains the output 0 ending module address. This is the last module address on the specified output. This information is primarily provided for the backup display module transmission, which in this example addresses the modules in the reverse order. This also provides a quick means by which the backup display module can verify the expected number of LED modules (or other pixel groups, display subcomponents, etc.) with the actual number of detected LED modules. Outputs 1, 2 and 3 work in a similar way.
Transmitting a Translation Table Serial RS232 ProtocolAn alternative method to send the translation table information is as a modified extended Intel Hex file over an RS232 serial or compatible connection. The Intel Hex file contains a header portion that consists of the basic configuration information and the payload portion that contains actual translation table data. The header information is designated by a record type of 0x05 and the payload information is designated by a record type of 0x00. the Intel Hex file is modified slightly from the extended Intel Hex file specification in that the data words are 24 bits (6 ASCII characters) instead of the normal 8 bits (2 ASCII characters). This format will allow up to a maximum of 256 24-bit words per line within the Intel Hex file. Checksums are calculated on 8-bit boundaries. As in the preferred (Vmax) transmission scheme, the Hex file address of a given word within the Hex file refers to the actual pixel number received by the data distributor; the value of the Hex file word is the address that the display pixel should actually be stored to in the display module memory.
The header information contains much of the same information transmitted for each line in the preferred (Vmax) transmission scheme. The primary exception is that the translation table pixel row and column size is also included. This will allow display data to be outputted correctly for the panels or modules in a display regardless of whether the display configuration is changed or not.
The simplified translation table example of
Portions of a more complete translation table are illustrated in
The present invention can be utilized in several modes of operation as best illustrated by
In another embodiment, a master translation table is constructed for each particular display module, and these master translation tables are assembled to form a complete translation table for the entire assembly of display modules for which are to be included in the display of this particular display data. The master translation tables could be stored in the various display modules for which they apply, or stored on a memory device which could be supplied by the manufacturer or by the output of preprocessing computer(s). Alternatively, the pixel configuration information needed to construct the master translation tables can be encoded or stored in the hardware or software of the display modules; a preprocessing computer obtains this information from the display modules to construct master translation tables or the complete translation table for the assembly of display modules.
In this way, use of a translation table allows generic graphical data can be to be translated to the graphical format required by a particular display assembly. If a different user (or a different display assembly coordinating with the display assembly being discussed), has a different display configuration (different shape, different logo or channel letters, and so forth) but it desired to display at least a portion of the same graphical data on the different display assembly, the raw or incoming graphical data does not have to be custom configured for each display assembly. Rather, the incoming graphical data (which may be stored on a memory device, which may be a “live” feed of video, textual, or other visual data being “streamed” to the various display assemblies) can be transmitted in a standard format to all display stations, and the translation tables associated with the particular display modules provide for conversion or mapping of the data as required for each display module.
In
In
In another embodiment, aspects of
Various modifications can be made to the present invention without departing from the apparent scope thereof.
Translation Table PARTS LIST
- 10 memory device
- 20 translation table
- 30 first array
- 40 translation table
- 50 second array
- 60 graphical data
- 70 graphical data transmission
- 80 graphical data and translation table transmission
- 90 video processor
- 100 preprocessing computer
- 110 display controller
- 120 display component
Claims
1. A method for displaying graphical data on a display of arbitrary shape, comprising:
- receiving graphical data for display on a graphical display, the graphical data having an initial rectangular organizational scheme, and the graphical display having a non-rectangular and arbitrary shape;
- loading the graphical data with a preprocessing computer;
- loading a translation table with the preprocessing computer; and
- mapping the graphical data into a new organizational scheme with the preprocessing computer, the mapping based on the translation table, and the new organizational scheme configured for display on the graphical display having a non-rectangular, arbitrary shape.
2. The method of claim 1, wherein the graphical display having a non-rectangular and arbitrary shape comprises a logo-shaped display, an angled display, a curved display, or a round display.
3. The method of claim 1, wherein the new organizational scheme provides a display aspect ratio differing from the initial rectangular organizational scheme.
4. The method of claim 1, wherein the initial rectangular organizational scheme includes graphical data organized as a matrix in a rectangular array of rows and columns.
5. The method of claim 1, wherein the graphical display includes a plurality of LED modules.
6. The method of claim 1, wherein the preprocessing computer and the translation table are each coupled to the graphical display.
7. The method of claim 1, wherein mapping the graphical data into a new organizational scheme includes transforming a first graphical data array corresponding to a first shape to a second graphical data array corresponding to the non-rectangular and arbitrary shape of the graphical display.
8. The method of claim 7, wherein transforming includes converting the first graphical data array from a rectangular graphical data array into the second graphical data array which corresponds to logical rows and logical columns of pixels, wherein the pixels define the arbitrary shape which is different than the shape of a starting rectangular image.
9. The method of claim 7, wherein transforming includes providing a map for converting rectangular rows and columns to logical rows and columns of the arbitrary shape.
10. A method, for execution by one or more processors, for displaying graphical data on a display of arbitrary shape, comprising:
- providing a graphical display having an arbitrary shape;
- transforming a first graphical data array corresponding to a first shape to a second graphical data array corresponding to the arbitrary shape of the graphical display; and
- transmitting the transformed data to the graphical display.
11. The method of claim 10, wherein the arbitrary shape is a non-rectangular shape provided within a logo-shaped display, an angled display, a curved display, or a round display.
12. The method of claim 10, wherein transforming includes use of a translation table which is stored in a memory and transformed in connection with a preprocessing computer.
13. The method of claim 12, wherein the translation table is provided a first address corresponding to a pixel of the first graphical data array and translates the first address to a second address of the second graphical data array.
14. The method of claim 10, wherein transforming includes converting the first graphical data array from a rectangular graphical data array into the second graphical data array which corresponds to logical rows and logical columns of pixels, wherein the pixels define the arbitrary shape which is different than the shape of a starting rectangular image.
15. The method of claim 10, wherein transforming includes providing a map for converting rectangular rows and columns to logical rows and columns of the arbitrary shape.
16. A graphical display apparatus, comprising:
- a plurality of display modules having a non-rectangular, arbitrary shape;
- a memory device providing a plurality of translation tables corresponding to the plurality of display modules;
- a preprocessing computer configured for loading graphical data and the plurality of translation tables, the graphical data having an initial rectangular organizational scheme; and
- a set of instructions configured for execution in connection with the preprocessing computer, the instructions executed for: mapping the graphical data into a new organizational scheme, using the plurality of translation tables, the new organizational scheme structured for display on the plurality of display modules having a non-rectangular, arbitrary shape.
17. The system of claim 16, wherein the non-rectangular, arbitrary shape of the plurality of display modules is provided within a logo-shaped display, an angled display, a curved display, or a round display, and wherein a unique translation table is provided in the plurality of translation tables for each shape of the plurality of display modules.
18. The system of claim 16, wherein the plurality of translation tables are stored in a memory, and wherein each translation table provides a first address corresponding to a pixel of a first graphical data array and translates the first address to a second address of a second graphical data array.
Type: Application
Filed: Jun 29, 2011
Publication Date: Jan 5, 2012
Applicant: Daktronics, Inc. (Brookings, SD)
Inventors: Chad N. Gloege (Brookings, SD), Matthew R. Mueller (Brookings, SD), Neil R. Burghardt (Brookings, SD), Joseph G. Schulte (Brookings, SD), Brett D. Wendler (Watertown, SD)
Application Number: 13/172,102
International Classification: G06F 17/00 (20060101);