U.S. patent application number 13/172102 was filed with the patent office on 2012-01-05 for graphical data translation table.
This patent application is currently assigned to Daktronics, Inc.. Invention is credited to Neil R. Burghardt, Chad N. Gloege, Matthew R. Mueller, Joseph G. Schulte, Brett D. Wendler.
Application Number | 20120005563 13/172102 |
Document ID | / |
Family ID | 46331789 |
Filed Date | 2012-01-05 |
United States Patent
Application |
20120005563 |
Kind Code |
A1 |
Gloege; Chad N. ; et
al. |
January 5, 2012 |
GRAPHICAL DATA TRANSLATION TABLE
Abstract
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.
Inventors: |
Gloege; Chad N.; (Brookings,
SD) ; Mueller; Matthew R.; (Brookings, SD) ;
Burghardt; Neil R.; (Brookings, SD) ; Schulte; Joseph
G.; (Brookings, SD) ; Wendler; Brett D.;
(Watertown, SD) |
Assignee: |
Daktronics, Inc.
Brookings
SD
|
Family ID: |
46331789 |
Appl. No.: |
13/172102 |
Filed: |
June 29, 2011 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
11805513 |
May 23, 2007 |
8001455 |
|
|
13172102 |
|
|
|
|
10965127 |
Oct 14, 2004 |
|
|
|
11805513 |
|
|
|
|
60808200 |
May 24, 2006 |
|
|
|
Current U.S.
Class: |
715/202 |
Current CPC
Class: |
H04N 7/0122
20130101 |
Class at
Publication: |
715/202 |
International
Class: |
G06F 17/00 20060101
G06F017/00 |
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.
Description
CROSS REFERENCES TO RELATED APPLICATIONS
[0001] This application is a continuation of and claims the benefit
of priority under 35 U.S.C. .sctn.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. .sctn.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 INVENTION
[0002] 1. Field of the Invention
[0003] 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.
[0004] 2. Description of the Prior Art
[0005] 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 INVENTION
[0006] The 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.
[0007] 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.
[0008] 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.
[0009] 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.
[0010] According to still another embodiment of the present
invention, there is provided computing hardware having translation
table software loaded in memory.
[0011] According to a further embodiment of the present invention,
there is provided computing hardware executing translation table
software.
[0012] According to a still further embodiment of the present
invention, there is provided machine-readable media storing
translation table software.
[0013] 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.
[0014] 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.
[0015] 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.
[0016] 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.
[0017] 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.
[0018] 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.
[0019] 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.
[0020] 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.
[0021] Still another significant aspect and feature of the present
invention is software for multiple display modules.
[0022] 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.
[0023] 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.
[0024] 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.
[0025] 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.
[0026] One object of the present invention is to provide software
for efficient and cost effective display of graphical data.
[0027] Another object of the present invention is to provide
software for a display with moving video capabilities.
[0028] Yet another object of the present invention is to provide
software for displays that are curved, angled, channel letter, logo
shaped, or otherwise shaped.
[0029] 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.
[0030] 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.
BRIEF DESCRIPTION OF THE DRAWINGS
[0031] 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:
[0032] FIG. 1 is a memory device incorporating the present
translation table invention;
[0033] FIG. 2 illustrates system architecture for a translation
table of the present invention;
[0034] FIG. 3 shows an example of the line 1 configuration packet
details for a translation table of the present invention;
[0035] FIG. 4 shows sign configuration packet details;
[0036] FIG. 5 is an example translation table line format;
[0037] FIG. 6 is word display module line status bit
definitions;
[0038] FIG. 7 is word display module select address bit
definitions;
[0039] FIG. 8 shows header line details for serial
transmission;
[0040] FIG. 9 is a simple example translation table;
[0041] FIGS. 10a-10e show example configuration line packet and
example translation table lines 0-3;
[0042] FIG. 11 illustrates a schematic arrangement for a system
utilizing the present invention for arbitrary pixel
orientation;
[0043] FIG. 12 illustrates a schematic arrangement for a system
utilizing the present invention for channel letters; and,
[0044] FIG. 13 illustrates a more detailed schematic arrangement of
apparatus, method, and mode of operation of the present invention
showing an example with typical elements.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0045] 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.
[0046] FIG. 13 illustrates some aspects of a display architecture
utilizing the present invention. To take the best advantage of a
flexible display architecture with multiple interconnected display
modules, displays, and arbitrary shaped displays, a configuration
scheme that makes use of a translation table is required. A
schematic illustration (FIG. 13) shows an example arrangement
indicating how graphical data 60 which can be of multiple types
(video, image, static text, ticker, etc.) or multiple sources as
indicated, is mapped by translation table 20 which is incorporated
into or stored on memory device 10, and transmitted to be displayed
on display components 120. Graphical data 60 can be transmitted to
video processor 90 or other preprocessing computer 100 as indicated
and further transmitted to display controller 110. Graphical data
and translation table transmission is indicated at 80. Many of the
connections and transmissions are illustrated as bidirectional,
indicating that certain data can flow in either direction, but this
need not be the exact same data, but could have portions added,
removed, or modified in the two directions. For example, diagnostic
or configuration information could be transferred in one direction,
and graphical data and translation table could be transferred in
the other direction, and so forth. Graphical data and optionally
one or more translation tables can be transmitted from video
processor 90 and display controller 110 to multiple display
components 120 as indicated by the braces. Display components 120
can be displays, display stations, display modules, pixels, pixel
strings, or other display components that may be employed.
[0047] 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. FIG. 1 illustrates memory
device 10 incorporating translation table 20; the memory device 10
of FIG. 1 can incorporate software for constructing one or more
translation tables 20, or it can incorporate data required for
constructing a translation table, or it can incorporate the actual
translation table 20. Translation table 20 is essentially a "map"
by which incoming pixels can be placed in any order or position
within the display memory map. Typically, translation table 20 is
stored in memory on the display station; alternatively, translation
table 20 can be stored in memory on a preprocessing computer, and
the mapped data transferred to the display station. To display the
data as desired, any transferred mapped data is transferred with
sufficient contextual information to allow the data to be properly
interpreted; for example, the data to be displayed, pixel address
information, timing information, verification data, and so forth
are transferred as appropriate. For example, an first array with
graphical display data is created, such as from an incoming data
source such as a video feed, text feed, or other source, or from a
memory device. The address corresponding to each pixel is read from
the first array, and a second array is created by translating each
address from the first array to an address in the second array, and
populating each address in the second array with the corresponding
graphical data. Alternatively, a single array can be utilized,
containing at least the graphical display data for each pixel,
corresponding first address, and corresponding second address. The
first address corresponds to the original shaped configuration such
as a rectangular grid corresponding to a video frame, and the
second address corresponds to a second shaped configuration such as
pixel strings, channel letters, or other shaped configuration for
the mapped data. The first address can be simply the location in
the array rather than a populated data field, since the incoming
structure is a known shape, typically a regular rectangular grid. A
frame of graphical data can be sent to the display controller or
display station component with a few lines containing a portion of
the translation table, or the entire translation table can be sent
to the display at once, followed by graphics frames. The data,
including the translation table, is organized into a prescribed
format which contains required sizing, spacing, number of elements,
verification, start and end field, and so forth to allow the data
to be properly utilized by the display station. As each new pixel
is received, the address corresponding to that specific pixel will
be read from the translation table, the data stored in the
translation memory address will be the address to which the pixel
gets written in the display memory. The preprocessing computer or
display controller outputs will begin reading the display data at
the specific start address specified in the translation table and
continue reading sequential addresses until all of the pixels have
been read and outputted to the display modules of the display
station, such as LED modules. In this way the preprocessing
computer or display controller outputs do not need to be aware of
the actual sign configuration since it is taken care of on the
front end by the translation table.
Generating a Translation Table
[0048] 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 FIG. 2. Examples of these details are LED module pixel
map, clocking order within module, pixel configuration and pitch,
addressing order, input and output designation, display or display
module identity information, display module starting address within
frame, pixels per line, and so forth.
[0049] 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.
[0050] 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.
[0051] 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 Configuration
[0052] The 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. FIG. 3, illustrates a
Line 1 Configuration Packet example and FIG. 4 illustrates a Sign
Configuration Packet (DD Words/Line Location) example, which are
examples of address, configuration, and graphical data consistent
with translation table transmission according to the present
invention.
Translation Table Line Format
[0053] 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 FIG. 5,
which illustrates an example Translation Table Line Format for the
present invention. Although the specific organization of the line
format can vary from this example, it can be seen that key elements
are included. For example, diagnostic and status data, display
module address or identity data, addresses or identity of pixel,
memory addresses, for each output, as well as the actual graphical
data corresponding to the addresses or identities specified. In
this example, there are exactly 4 display module outputs for this
system architecture, so an initial series of configuration data of
predetermined length, can be used to specify the sizes and
locations of data, and the variable amount of graphical display
data can then follow, properly interpreted by examination of this
initial series of configuration data. Thus, great flexibility in
terms of addressing, order, line length, display arrangement, and
so forth are obtained with the present invention.
[0054] The following is a more specific description of the example
of FIG. 5. The Line Status word contains important information
about the current translation table line. The Valid Data bit is set
to indicate the line contains valid translation table data; if the
bit is cleared, the DD will not accept the translation table data
on the current line. The End of Table (EOT) bit is set to indicate
the current line as the last valid line containing translation
table data for the selected display module (the display module has
received its complete translation table). Undefined bits are "don't
cares", but should be set equal to zero for future expandability.
FIG. 6, illustrates Word Display Module Line Status Bit
Definitions.
[0055] 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.
[0056] 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. FIG.
7, illustrates Word Display Module Select Address Bit
Definitions.
[0057] 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.
[0058] 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.
[0059] 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.
[0060] 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 Protocol
[0061] An 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.
[0062] 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.
FIG. 8 illustrates an example format for the header information for
transmission within an Intel Hex file.
Translation Table Example
[0063] The simplified translation table example of FIG. 9 is for a
display consisting of four 2.times.2 modules arranged in a square
and connected to data output 0. The active frame size is 64 by 96
words, which translates to 64 pixels by 64 data pixels for this
example. The display module switch settings are 0,0,0, the display
module (Y, X) start location is (32, 1), the translation table
words/line value is 82 (96 words per line-14 words header), and the
data pixel/line value is set at 50.
[0064] Portions of a more complete translation table are
illustrated in FIGS. 10a-10e. The configuration packet contains the
translation table start line, end line, and number of data words;
these are sent as word numbers 0x0D, 0x0E, and 0x0F, respectively.
For this example, the start line value is 20 and the end line value
is 24, which provides 4 lines of translation table data per frame
(the last line must remain unused for error checking). The first 14
words for each translation table line contain the header
information, which means 50 words remain on each line for actually
transmitting the table data (200 words per frame). At 200 words per
frame, it will take 21 frames for the entire translation table to
be transmitted to the display module(s).
Mode of Operation
[0065] The present invention can be utilized in several modes of
operation as best illustrated by FIGS. 11-13. FIGS. 11-12
illustrates an embodiment in which graphical data is stored in
memory in a first array and a translation table is stored in memory
and the translation table is used to map the graphical data into an
arbitrary shaped second array for display on one or more display
modules. The second array may be stored in memory on a
preprocessing computer, or may be stored locally on a display
controller or display module. The translation table itself can be
constructed in several ways. In one embodiment, the translation
table is designed and constructed on one or more preprocessing
computers so that the desired shaped effect is obtained.
[0066] 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.
[0067] 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.
[0068] In FIG. 11, a shaped second array corresponding to multiple
display modules or pixel strings is illustrated, for which the
arrangement of pixels within the display(s) is known but arbitrary.
This is particularly advantageous when a special effect distortion
is desired, or when cost-effective construction of the display
requires pixels to be oriented in other than a normal rectangular
grid.
[0069] In FIG. 12, channel letter type displays are illustrated, in
which the same rectangular grid is used for orientation of pixels,
but the display itself has arbitrary shape. This is particularly
advantageous, for example, for displaying undistorted graphical
data only in the channel letters, without the waste associated with
transmitting all the unused graphical data which will not be
displayed because it is outside the channel letters.
[0070] In another embodiment, aspects of FIGS. 11-12 can be
combined, with arbitrary orientations of pixels within an arbitrary
shaped display, with the present translation table invention
employed to map the data as required.
[0071] FIG. 13 illustrates additional detail for the apparatus,
method, and mode of operation. FIG. 13 is merely an example showing
required elements plus examples of optional elements which can be
grouped or selected as desired for the particular embodiment being
utilized. In the example of FIG. 13, graphical data is illustrated
as being transmitted to a preprocessing computer and to a video
processor. A translation table is stored on a memory device as
indicated, and graphical data and translation table data are
transmitted between components as illustrated. Connection and data
transfer to a display controller and multiple display components
are also shown. The elements illustrated in FIG. 13 are not always
required, and multiple similar elements may be employed for a more
complicated system, but this includes the most typical
elements.
[0072] Various modifications can be made to the present invention
without departing from the apparent scope thereof.
Translation Table
PARTS LIST
[0073] 10 memory device [0074] 20 translation table [0075] 30 first
array [0076] 40 translation table [0077] 50 second array [0078] 60
graphical data [0079] 70 graphical data transmission [0080] 80
graphical data and translation table transmission [0081] 90 video
processor [0082] 100 preprocessing computer [0083] 110 display
controller [0084] 120 display component
* * * * *