# Patent

## Title
System and method for multimedia display

## Abstract

A system of multimedia display on a monitor screen includes at least one graphics source, a display file defining a page having a plurality of buttons, where each button has a set of properties including a specification of a graphics source. The system further includes a graphics controller operable to generate a pixel map, and a graphics arbitrator coupled to the graphics controller operable to select pixels between the pixel map and pixels from the at least one graphics source to be displayed for the page according to the display file.

## Background
CROSS REFERENCE TO RELATED APPLICATION
This Application is a Continuation Application of U.S. patent application Ser. No., 09/328,039, filed Jun. 8, 1999 now U.S. Pat. No. 6,657,646, entitled: SYSTEM AND METHOD FOR MULTIMEDIA DISPLAY.


TECHNICAL FIELD OF THE INVENTION
This invention is related in general to the field of control systems, particularly to a system and method of multimedia display.
BACKGROUND OF THE INVENTION
In a control area network connecting various control devices, a monitor or user display device is often used to provide a current status information about the control area network. In many instances, it becomes desirable to feed multiple graphics information from a number of sources to the monitor for display simultaneously.
SUMMARY OF THE INVENTION
It has been recognized that it is desirable to provide a multimedia display on a monitor.
In one aspect of the invention, a system of multimedia display on a monitor screen includes at least one graphics source, a display file defining a page having a plurality of buttons, where each button has a set of properties including a specification of a graphics source. The system further includes a graphics controller operable to generate a pixel map, and a graphics arbitrator coupled to the graphics controller operable to select pixels between the pixel map and pixels from the at least one graphics source to be displayed for the page according to the display file.
In another aspect of the invention, a control area network having a multimedia display includes a master controller coupled to the control area network, and at least one control device coupled to the master controller via the control area network. The at least one control device includes at least two graphics sources, a display file defining a page having a plurality of buttons, each button having a set of properties including a specification of a graphics source, a graphics controller operable to generate a pixel map. A graphics arbitrator is coupled to the graphics controller and is operable to select pixels between the pixel map and pixels from the at least two graphics sources to be displayed on a monitor screen for the page according to the display file.
In yet another aspect of the invention, a method of multimedia display on a monitor screen includes composing a display file describing multiple buttons, each button having a set of properties including a specification of a graphics source, receiving a pixel from each graphics source, and generating a corresponding pixel in response to the display file. The generated pixel is then examined and a pixel is selected from the generated pixel and the corresponding pixels from the graphics sources in response to examining the generated pixel. The selected pixel is displayed on the monitor screen.
In yet another aspect of the invention, a method of multimedia display on a touch monitor screen in a control area network is provided. The method includes the steps of composing a display file describing multiple buttons, each button having a set of properties including a specification of a graphics source coupled to the control area network. Thereafter, the method includes receiving a pixel from each graphics source, generating a corresponding pixel in response to the display file, and examining the generated pixel. A pixel is then selected from the generated pixel and the corresponding pixels from the graphics sources in response to examining the generated pixel.
One technical advantage of the invention is the ability to display graphics content from multiple sources on a single page on a monitor screen.



BRIEF DESCRIPTION OF THE DRAWINGS
For a better understanding of the present invention, reference may be made to the accompanying drawings, in which:
FIG. 1 is a simplified block diagram of an embodiment of a system for multimedia display according to the teachings of the present invention;
FIG. 2 is a more detailed block diagram of an embodiment of the display interface according to the teachings of the present invention;
FIG. 3 is a detailed block diagram of an embodiment of the display interface according to the teachings of the present invention;
FIG. 4 is an exemplary screen of a main editor page with a page editing menu according to the teachings of the present invention;
FIG. 5 is an exemplary screen of a main editor page with a button editing menu according to the teachings of the present invention;
FIG. 6 is an exemplary screen of a button property editing page according to the teachings of the present invention; and
FIG. 7 is an exemplary flowchart of a graphics arbitration process according to the teachings of the present invention.



DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 is a simplified block diagram of an embodiment of a system for multimedia display 10 according to the teachings of the present invention. System 10 includes a display interface 12 which is operable to accept graphics and text input from a variety of sources 14. Graphics sources 14 may include a television 16 (or a receiver of television signals), a video cassette recorder (VCR) 17, a computer 18, and a camera 19. Other input sources may include digital video discs (DVD5), satellite receivers, video conferencing systems, etc. The inputs may be in the form of VGA, SVG, XGA, RGB, and other suitable formats. Display interface 12 is further operable to receive a pointing device, such as a mouse or touch pad 22. A display 24 such as a VGA monitor, RGB monitor, touch panel, etc. may be coupled to display interface 12. Display 24 may be a touch monitor or a monitor with a touch membrane overlay. Display 24 is operable to show a composite page consisting of one or more windows or “buttons” which display graphics from multiple sources 16-19 coupled to display interface 12.
Display interface 12 may be coupled to a control system 26, which may include a master controller 28, which is coupled to a control area network (CAN) 30. Also coupled to control area network 30 and under the control of master controller 28 are control devices 32. Control devices 32 may be lights, audio-visual equipment, user displays, security equipment, fire detection equipment, and other equipment and devices. Control devices 32 may include sources of graphics content, which may be communicated to master controller 28 via control area network 30 to display interface 12. Display 24 thus may also display content from graphics sources coupled to control area network 30.
FIG. 2 is a more detailed block diagram of an embodiment of the display interface 12 according to the teachings of the present invention. Display interface 12 includes one or more connectors or slots 40-42 to receive graphics sources 14. Graphics sources 14 may be coupled to graphics input cards or modules which may connect to connectors or slots 40-42. It may be seen that a graphics source for display interface 12 may be another display interface 52, which may in turn be coupled to yet another display interface 54 in a daisy chain fashion. Therefore, a graphics input source coupled to display interfaces 52 and 54 may be displayed on display 24 coupled to display interface 12 along with control devices 32 of control area network 30. Graphics sources 14 are coupled to a graphics arbitrator 46 via connectors 40-42. Graphics arbitrator 46 provides a graphics output that may include a combination of graphics generated internally, video information from all graphics sources 14 and other sources coupled to display interface 12. The graphics output is provided to and displayed by display 24.
Graphics arbitrator 46 generates the graphics output in response to display files 50, which are generated by an editor 48. A user or installer may initiate editor 48, which is an application program executing on a central processing unit (CPU) of display interface 12. The user may define and designate multiple windows or buttons in which graphics content from various sources 14 is displayed.
FIG. 3 is a detailed block diagram of an embodiment of the display interface 12 according to the teachings of the present invention. Display interface 12 includes three video/graphics input slots or connectors 40-42 for receiving graphics information from at least three graphics sources. In one embodiment, video graphics cards operable to receive and process certain particular types of graphics data may be plugged into slots 40-42. For example, a graphics card may be provided that is operable to couple to consumer-type sources, such as VCRs and DVD5. Such graphics card may include S-video input connectors and/or composite input connectors. Another graphics card may include RGB connectors operable to couple to RGB-type sources. Yet another graphics card may include VGA connectors for coupling with VGA-type sources. In general, the graphics cards are operable to decode a given type of video signal into 24-bit RGB, then buffering, scaling, and outputting a specific number of pixels at a time to graphics arbitrator 46 in sync with the horizontal and vertical sync signals from main processor 60. Main processor 60 may request a graphics card to scale its output image by sending it commands. The output image can be adjusted so that the active video data appears in the requested rectangular area. For example, main processor 60 may generate and send a SET OUTPUT RECTANGLE command message with the coordinates of the four corners of the output rectangle as parameters.
Coupled to video/graphics input slots 40-42 is graphics arbitrator 46. Graphics arbitrator is under the control of main processor 60. Main processor 60 also controls a graphics controller 62, which generates a pixel clock signal that cycles once for every pixel on the display. The pixel clock signal is distributed to video/graphics input slots 40-42 and is used as the main video timing signal. Graphics controller 62 also generates the internal graphics or RGB data for each pixel, which is provided to graphics arbitrator 46. Also provided to graphics arbitrator 46 are video or RGB data from one or more slots 40-42. Graphics arbitrator 46 is operable to select the correct pixel for output and provide it to a video digital-to-analog converter 66, which generates an analog graphics output.
Graphics controller 62 is coupled to a graphics memory 64 which provides data storage therefor. A pointer interface 68 is provided that may be coupled to a pointing device 22, such as a serial mouse. A bus interface 70 is provided for coupling and communicating with control area network 30. A flash memory 72, random access memory (RAM) 74, and a power supply/peripheral systems 76 are also included in display interface 12.
In operation, output pixel selection by graphics arbitrator 46 is performed by examining the color of each pixel arriving from graphics controller 62. Three predetermined colors have been selected as keys or indicators for the three slots. If a pixel is one of the three predetermined colors, then the pixel from the corresponding slot is selected as the output. If the pixel is of any other color, the graphics controller video graphics is chosen as the output source for that pixel. Therefore, graphics arbitrator examines the color of each pixel as it arrives from graphics controller 62. If the color of a given pixel is not one of the key colors, then the pixel is passed to video digital-to-analog converter 66 unchanged. If the pixel color is one of the key colors, then the pixel coming from the selected slot is passed to the output.
FIG. 4 is an exemplary screen of a main editor page 90 of editor 48 (FIG. 2) with a page editing menu according to the teachings of the present invention. Editor 48 is used to create and define the layout of the graphics display on the display monitor. Main editor page 90 may include an edit tool bar 92, which may include options: EXIT, BUTTON, PAGE, NEW PAGE, and QUIT EDITOR. A drop-down menu 94 for the PAGE option is shown, which includes several actions such as: add, copy, rename, delete, page color, go to, pop-up on, pop-up off, move editor, and snap grid. A page may be defined as a window which may occupy the entire or a portion of the display monitor screen. A page may include one or more buttons in which graphics content may be displayed. Also included may be a main button 96 for navigating to a main page and a setup button 98 for navigating to a setup page.
FIG. 5 is an exemplary screen of a main editor page 100 with a button editing menu according to the teachings of the present invention. Main editor page 100 may include a edit tool bar 92 with a button pull-down menu 102 shown. Button pull-down menu 102 may include actions: add, copy image, move, resize, delete, text/image, properties, save, paste, save default, set default, and put on top.
When the properties action is selected from button pull-down menu 102, an exemplary screen of a button property editing page 110 according to the teachings of the present invention is shown in FIG. 6. A video window is a type of button used to display a video feed from a graphics source. Video window buttons can be moved, resized and customized. Button property editing page 110 includes a border button 112, for setting the button border. The button border property may include any number of ways to display or represent the border of the button, such as no border, single line, double line, triple line, single rounded, double rounded, single raised, double raised, 3D rectangle, 3D round, single diamond, etc. A button 114 is further provided in page 110 to set the channel code. The channel code allows a button to be associated with a specific function. A device (DEV) code is an identifier assigned to control devices coupled to master controller 28 via control area network 30 (FIG. 1). The CHAN designation on button 114 is the button channel assignment. Each device may have one or more channels. The next button, VAR TEXT 116, sets the variable text code for the channel and device assignments. The button type is set by the next field 118. Buttons may be of the following exemplary types: general, joystick, vertical bar graph, horizontal bar graph, keypad, keyboard, video window, etc. Button option 120 provides the user the ability to supply additional setup information about the button. For example, a video window button option would prompt the user to supply the slot number of the graphics source. Display interface then automatically detects the signal type of the graphics source connected to the given slot and set sets the video attributes accordingly. The user may be given the opportunity to fine tune and optimize the VGA or RGB picture quality of the video window. Flip type button 122 is used to specify a page flip type and the next button 124 is used specify the page to flip to. For example, if the user specifies “Flip Standard” and “Main Page”, then when the present button is pushed, a page named “Main Page” is displayed. The next button, string 11, allows the user to specify a string associated with the button to be displayed.
Buttons 128 and 130 are used to set the channel-off and channel-on display conditions of the button. The color of the border, the fill color, and the text of the channel-off and channel-on conditions of the button are specified. When property editing is completed, the user may exit and save the changes by pressing on button 132, or exit without saving the changes by pressing on button 134.
Referring to FIG. 7, a flowchart of an exemplary graphics arbitration process 150 of the present invention is shown. In block 152, graphics controller 62 generates an internal pixel map according to the display file. As described above, the display file contains the coordinates, size, and other information about the buttons on a given page. Some button properties may specify that video feed from one or more of the graphics sources 14 are to be displayed for a given button. In blocks 154 and 156, graphics arbitrator 46 receives the internal pixel map from graphics controller 62 and examines the value of one pixel. If the pixel color value is a predetermined key color, then the desired display for that pixel is from a video feed from one of the graphics sources rather than the graphics generated by graphics controller 62. As described above, each graphics source is assigned a color value which function as a key. When the special key color is encountered, it is indicative that the pixel from the graphics source represented by that key color is to be displayed. If the pixel has a color value that matches one of the key colors, as determined in block 158, then the pixel data from the slot represented by that key color is obtained from the specified slot and output to video digital-to-analog controller 66 for output to the monitor.
If in block 158 it is determined that the pixel value is not a key color, then the pixel data from the internal pixel map is provided as output to video digital-to-analog controller 66 for output to the monitor. In block 166, the next pixel in the internal pixel map is obtained, and execution loops back to block 156 to examine its value. This process continues until the display interface is powered down.
Operating in this manner, graphics content from a number of sources may be combined and displayed on a single page on a monitor screen. The graphics sources may be those devices directly connected to the display interface, devices coupled to one or more additional display interfaces which are coupled together, or devices coupled to a control area network.
Although several embodiments of the present invention and its advantages have been described in detail, it should be understood that mutations, changes, substitutions, transformations, modifications, variations, and alterations can be made therein without departing from the teachings of the present invention, the spirit and scope of the invention being set forth by the appended claims.

## Claims

1. A system for providing a multimedia display on a display device having a screen, said system comprising:
a plurality of graphics information sources, each of said sources being uniquely identified by a corresponding graphic identifier element;
a display file for defining a page to be displayed on said screen, said page comprising an array of page pixels, said page including at least one window disposed to receive graphics information from each of said sources;
a graphics controller operable to generate an internal map comprising a set of map pixels, each of said map pixels corresponding to a page pixel of said page, each map pixel containing information that indicates the graphics information to be used with its corresponding page pixel, and at least some of said map pixels containing said graphic identifier elements;
a graphics arbitrator disposed to examine each of said map pixels, said graphics arbitrator being operable, when an examined map pixel contains a graphic identifier element identifying a particular source, to provide at least a portion of the graphics information for the corresponding page pixel from said particular source; and
said graphics arbitrator being further operable, when an examined map pixel contains none of said graphic identifier elements, to provide the graphics information for the corresponding page pixel from information contained in the examined map pixel.

2. The system of claim 1, wherein each of said graphic identifier elements comprises a key color value.

3. The system of claim 2, wherein each of said key color values is encoded in RGB format.

4. The system of claim 1, wherein said graphics arbitrator provides a graphics output that includes a combination of both internally generated graphics and video data from each of said sources, said output being directed to said screen for display.

5. The system of claim 4, wherein said displayed output is selectively scaled, so that said video data from said plurality of sources appears in a selected rectangular area on said screen.

6. The system of claim 1, wherein said page to be displayed includes a plurality of windows, each receiving graphics information from one or more of said sources.

7. The system of claim 1, wherein said graphics information sources include at least one device selected from a group that includes a television, a VCR and a computer, and said display device is selected from a group that includes a monitor and a touch panel.

8. The system of claim 1, wherein at least one of said graphics information sources comprises a component in a control area network.

9. A method for providing a multimedia display on a display device having a screen, said method comprising:
identifying each of a plurality of graphics information sources by assigning respectively corresponding graphic identifier elements thereto;
defining a page to be displayed on said screen, wherein said page comprises an array of page pixels;
generating an internal map comprising a set of map pixels, wherein each of said map pixels corresponds to a page pixel of said page, each map pixel contains information that indicates graphics information to be used with its corresponding page pixel, and at least some of said map pixels contain said graphic identifier elements;
examining each of said map pixels;
when an examined map pixel contains a graphic identifier element identifying a particular source, providing at least a portion of the graphics information for the corresponding page pixel from said particular source; and
when an examined map pixel contains none of said graphic identifier elements, providing the graphics information for the corresponding page pixel from information contained in the examined map pixel.

10. The method of claim 9 wherein each of said graphic identifier elements comprises a key color value.

11. The method of claim 10, wherein each of said key color values is encoded in RGB format.

12. The method of claim 9, wherein a graphics output including a combination of graphics internally generated within a graphics arbitrator, and video data from each of said sources, is directed to said screen for display.

13. The method of claim 12, wherein said displayed output is selectively scaled, so that said video data from said plurality of sources appears in a selected rectangular area on said screen.

14. The method of claim 9, wherein said page to be displayed includes a plurality of windows, each receiving graphics information from one or more of said sources.

15. The method of claim 9, wherein said graphics information sources include at least one device selected from a group that includes a television, a VCR and a computer, and said display device is selected from a group that includes a monitor and a touch panel.

16. The method of claim 9, wherein at least one of said graphics information sources comprises a component in a control area network.

17. A system for providing multimedia on a display device, comprising:
one or more graphics sources, wherein each graphics source is configured to provide graphics information, each graphics source being identified by a corresponding graphic identifier;
a display file defining a page having a plurality of page pixels to be displayed on the display device, the page including at least one window, wherein each window is configured to display graphics information received from at least one of the graphics sources;
a graphics controller configured to generate an internal pixel map according to the display file; and
a graphics arbitrator configured to examine each pixel in the internal pixel map, the graphics arbitrator being operable, when an examined pixel contains a graphic identifier identifying at least one of the graphics sources, to provide the graphic information for the corresponding page pixel from the identified graphics source, and the graphics arbitrator being further operable, when the examined pixel does not contain a graphic identifier identifying at least one of the graphics sources, to provide the graphic information for the corresponding page pixel from the examined pixel.

18. The system of claim 17, wherein each graphics source is uniquely identified by a corresponding graphic identifier.

19. The system of claim 17, wherein each graphic identifier comprises a key color value.

20. The system of claim 17, wherein each window includes a set of properties.

21. The system of claim 17, wherein at least one of the graphics sources comprises a video cassette recorder.

22. The system of claim 17, wherein at least one of the graphics sources comprises a camera.

23. The system of claim 17, wherein at least one of the graphics sources comprises a television signal receiver.

24. The system of claim 17, wherein at least one of the graphics sources comprises a computer.

25. The system of claim 17, further comprising a control area network coupled to a display interface, wherein the display interface includes the at least one display file, the graphics controller and the graphics arbitrator.

26. The system of claim 25, wherein the control area network comprises:
a master controller;
at least one control device;
at least one graphics source; and
a network coupled to the master controller, the at least one control device, the at least one graphics source, and the display interface.

27. The system of claim 20, further comprising an editor configured to edit the window properties.

28. A control area network having a multimedia display, comprising:
a master controller coupled to the control area network;
at least one control device coupled to the master controller via the control area network, wherein the control area network is coupled to a display interface, the display interface comprising:
at least two graphics sources, each graphics source having an associated graphic identifier;
a display file defining a page having a plurality of buttons, each button having a set of properties and configured to display graphics information received from a specified graphics source;
a graphics controller configured to generate an internal pixel map; and
a graphics arbitrator configured to examine each pixel in the internal pixel map, the graphics arbitrator being operable, when an examined pixel contains a graphic identifier identifying at least one of the graphics sources, to provide the graphic information for the corresponding page pixel from the identified graphics source, and the graphics arbitrator being further operable, when the examined pixel does not contain a graphic identifier identifying at least one of the graphics sources, to provide the graphic information for the corresponding page pixel from the examined pixel.

29. The control area network of claim 28, wherein each graphic identifier comprises a key color value.

30. The control area network of claim 29, wherein the display device includes a screen, the button properties further comprises:
a location of the button on the screen; and
size of the button.

31. The control area network of claim 29, wherein the at least two graphics sources comprise a video cassette recorder.

32. The control area network of claim 29, wherein the at least two graphics sources comprise a camera.

33. The control area network of claim 29, wherein the at least two graphics sources comprise a television signal receiver.

34. The control area network of claim 29, wherein the at least two graphics sources comprise a computer.

35. The control area network of claim 29, further comprising an editor configured to edit the button properties.

36. The control area network of claim 29, wherein the display device is a touch panel.

37. The control area network of claim 29, wherein one of the graphics sources is an internal pixel map.

38. A method of multimedia display on a display device, comprising:
composing a display file describing at least one window of a page to be displayed on the display device, wherein each window is configured to display graphics information received from one or more graphics sources, each graphics source being identified by a corresponding graphic identifier;
receiving a pixel from at least one of the graphics sources;
generating an internal pixel map according to the display file;
examining each pixel in the internal pixel map;
providing the graphic information for the corresponding page pixel from the identified graphics source when an examined pixel contains a graphic identifier identifying at least one of the graphics sources; and
providing the graphic information for the corresponding page pixel from the examined pixel when the examined pixel does not contain a graphic identifier identifying at least one of the graphics sources.

39. The method of claim 38, wherein each graphic identifier comprises a key color value.

40. The method of claim 38, further comprising displaying the provided graphic information.

41. The method of claim 38, wherein each graphic identifier uniquely identifies a respective one of the graphics sources.

42. The method of claim 38, further comprising outputting the selected pixel to the display device for display on a screen.

43. The method of claim 38, wherein one of the graphics sources comprises an internal pixel map.

44. A method of multimedia display on a display device comprising:
receiving an internal pixel map according to a display file describing at least two windows, each window having a set of properties and configured to display graphics information received from a specified graphics source, the graphics source having a corresponding graphic identifier;
examining each pixel in the internal pixel map;
providing, when the examined pixel matches the graphic identifier of the specified graphics source, a corresponding pixel from the specified graphics source;
providing, when the examined pixel does not match the graphic identifier, the examined pixel; and
displaying the provided pixel on the display device.

45. The method of claim 44, wherein each window comprises a button.

46. The method of claim 45, further comprising generating the internal pixel map.

47. The method of claim 45, wherein the display device comprises a touch monitor screen.

48. The method of claim 45, wherein examining each pixel in the internal pixel map further comprises determining whether the examined pixel is equal to a key color.

49. The method of claim 45, further comprising assigning the graphic identifier to one of the buttons.

50. A computer program product for displaying multimedia on a display device, comprising:
a first computer code for composing a display file describing at least one window of a page to be displayed on the display device, wherein each window is configured to display graphics information received from one or more graphics sources, each graphics source being identified by a corresponding graphic identifier;
a second computer code for receiving a pixel from one of the graphics sources;
a third computer code for generating an internal pixel map according to the display file;
a fourth computer code for examining each pixel in the internal pixel map;
a fifth computer code for providing the graphic information for the corresponding page pixel from the identified graphics source when an examined pixel contains a graphic identifier identifying at least one of the graphics sources; and
a sixth computer code for providing the graphic information for the corresponding page pixel from the examined pixel when the examined pixel does not contain a graphic identifier identifying at least one of the graphics sources.

51. The computer program product of claim 50, wherein each graphic identifier comprises a key color value.

52. The computer program product of claim 50, further comprising a seventh computer code for displaying the provided graphic information.

53. A system for providing multimedia on a display device, comprising:
one or more graphics sources, wherein each graphics source is configured to provide graphics information, each graphics source being identified by a corresponding graphic identifier;
a display file defining a page having a plurality of page pixels to be displayed on the display device, the page including at least one window, wherein each window is configured to display graphics information received from at least one of the graphics sources;
means for generating an internal pixel map according to the display file;
means for examining each pixel in the internal pixel map;
means for displaying, when an examined pixel contains a graphic identifier identifying at least one of the graphics sources, the graphic information for the corresponding page pixel from the identified graphics source; and
means for displaying, when an examined pixel does not contain a graphic identifier identifying at least one of the graphics sources, the graphic information for the corresponding page pixel from the examined pixel.

54. The system of claim 53, wherein each graphic identifier comprises a key color value.