The present invention relates to notifying a graphics subsystem of a physical change at a display device, such as a change in screen orientation of a computer monitor for example.
Display devices which are capable of automatically orienting a displayed image to a landscape orientation or a portrait orientation based on an sensed physical orientation of the display device's screen are known. For example, U.S. Publication No. 2004/0201595 A1 discloses a self-orienting display which automatically rotates and reformats a display image in accordance with the “sensed characteristics of an object”, which include the sensed orientation of a display. The publication teaches that sensing of object characteristics may be achieved by way of various types of sensors, such as mechanical, electrical, optical, acoustic or gyroscopic sensors, or combinations thereof. In other examples, U.S. Publication Nos. 2003/0222848 A1 and 2003/0122781 A1 also disclose a method, system and/or apparatus for automatically switching viewing orientations of a display in response to physical rotation of the display. The specific mechanisms for communicating sensed screen orientation to hardware or software responsible for automatically orienting a displayed image are not described in detail.
Known analog or digital display devices, such Cathode Ray Tubes (CRTs), flat panel displays such as Liquid Crystal Display (LCD) or Digital Light Processing (DLP) monitors, or plasma displays for example, are often driven by a graphics subsystem (GSS) of a host device to which the display device is connected. The host device may be a “CPU box” or “tower” of a computer for example. The graphics subsystem is a component which converts a logical representation of an 2D or 3D image stored in memory to signals that can be used by a display device to generate and display the image. A GSS may either be integrated into the motherboard of a host device or it may be a stand-alone expansion card having a dedicated processor (the dedicated processor may be referred to as a Graphics Processing Unit or GPU). Examples of commercially available of GSSs are the Radeone® X800, Radeon® X800 Pro, and Radeon® X600 cards manufactured by ATI Technologies Inc. Graphics subsystems may be referred to in the art by various terms, such as a graphics cards, video cards, video boards, video display boards, display adapters, video adapters, or graphics adapters.
In many contemporary systems, the interconnection between a GSS and display device takes the form of a cable which conforms to a known industry standard, such as a Digital Visual Interface (DVI), High Definition Multimedia Interface (HDMI), VGA, composite/S-video or component out. Alternatively, a proprietary form of interconnection could be employed. For the most part, the signals that are transmitted across the cable, which may be analog or digital depending upon the standard governing the interconnection and the type of signals supported by the display device, flow from the GSS to the display device. However communication in the reverse direction may also occur in some cases. For example, communication in the reverse direction may occur soon after a display device is connected to a host device, for purposes of sending information from the display device to the host device regarding display device characteristics.
A novel approach for notifying a graphics subsystem of a physical change at a display device would be desirable.
When a physical change (e.g. a change in screen orientation) is detected at a display device that is attached to a graphics subsystem of a host device and on which images are currently being displayed, a hot plug detect signal may be provided to the graphics subsystem. In response, the graphics subsystem may adjust its processing of images to account for the physical change (e.g. the image may be rotated). The display device may communicate data representative of the physical change to the graphics subsystem. The graphics subsystem may use this data to determine how its processing of images should be adjusted. The data may be communicated over an I2C bus regardless of whether a hot plug detect signal is provided.
In accordance with an aspect of the present invention there is provided a method comprising: upon detection of a physical change at a display device that is connected to a graphics subsystem of a host device and on which images are currently being displayed, providing a hot plug detect signal to said graphics subsystem.
In accordance with another aspect of the present invention there is provided a display device comprising: a sensor capable of detecting a physical change at said display device while images from a graphics subsystem of a host device are being displayed; and circuitry for providing a hot plug detect signal to said graphics subsystem responsive to said detecting.
In accordance with yet another aspect of the present invention there is provided a method comprising: at a graphics subsystem of a host device which is interconnected with a display device that is currently displaying images processed by said graphics subsystem: detecting a hot plug detect signal from said display device, said hot plug detect signal being indicative of a physical change at said display device; and adjusting processing of images destined for said display device to account for said physical change at said display device.
In accordance with still another aspect of the present invention there is provided a graphics subsystem of a host device, said graphics subsystem comprising: means for detecting a hot plug detect signal from a display device which is currently displaying images processed by said graphics subsystem, said hot plug detect signal being indicative of a physical change at said display device; and means for adjusting processing of images destined for display at said display device to account for said physical change at said display device.
In accordance with yet another aspect of the present invention there is provided a method comprising: upon detection of a physical change at a display device which is interconnected with a graphics subsystem of a host device by an I2C bus, transmitting data indicative of said physical change to said graphics subsystem over said I2C bus.
In accordance with still another aspect of the present invention there is provided a display device comprising: a sensor capable of detecting a physical change at said display device while images from a graphics subsystem of a host device are being displayed; and circuitry for, responsive to said detecting, transmitting data indicative of said physical change to said graphics subsystem over an I2C bus.
In accordance with yet another aspect of the present invention there is provided A graphics subsystem of a host device, said graphics subsystem comprising: circuitry for receiving data over an I2C bus from a display device which is currently displaying images processed by said graphics subsystem, said data being indicative of a physical change at said display device; and means for adjusting processing of images destined for display at said display device to account for said physical change at said display device.
Other aspects and features of the present invention will become apparent to those ordinarily skilled in the art upon review of the following description of specific embodiments of the invention in conjunction with the accompanying figures.
In the figures which illustrate example embodiments of this invention:
Referring to
The CPU box 12, as its name suggests, is the portion of the computer 10 which contains the main processor or CPU. The CPU box 12 includes various components other than the CPU, such as a power supply, memory, peripheral cards and cooling fan for example, none of which are illustrated. Notably, the CPU box 12 include a graphics subsystem, which is modified from a conventional GSS as will be described below. A user input mechanism 13, such as a keyboard (as illustrated in
Display device 14 is a digital display device which in the present example is a flat panel LCD display. As is conventional, the display device 14 is capable of displaying images on its screen 15 which originate from the CPU box 12, and in particular, from the graphics subsystem of box 12. The display includes a set of controls 17 on its bevel portion which may consist of a number of push buttons. The controls 17 permit a user of the system 10 to adjust certain display device viewing parameters, such as brightness, contrast, and the like, in a similar manner to the “on screen display” mechanisms which form part of many conventional displays. As will be appreciated, the mechanism by which such adjustments are effected upon manipulation of controls 17 in the present embodiment is not conventional. The display device 14 may include various other, internal components, such as a screen orientation sensor, which are not visible in
The connector 16 is a cable which transmits digital signals representing images to be displayed from the CPU box 12 (specifically, the graphics subsystem of the CPU box 12) to the display device 14. In the present embodiment, the cable is a DVI-D or DVI-I cable which conforms to the Digital Visual Interface (DVI) specification of the Digital Display Working Group (DDWG). In accordance with the DVI specification, signals are transmitted in digital form. Also, some flow of information from the display device 14 to the CPU box 12 is supported. Standard plugs at each end of the connector 16 are inserted into sockets in the backplane of the CPU box 12 and display device 14.
In accordance with the DVI standard, the connector 16 mechanically incorporates a hot plug detect line/pin (not specifically illustrated). The signal “hot plug detect” signal carried on a hot plug detect line is conventionally used in the industry for purposes of allowing a CPU box to dynamically detect interconnection of the display device only when the device is either plugged in or when it is unplugged and while the CPU box is powered on. As will become apparent, however, the present embodiment employs the hot plug detect line for purposes of notifying the CPU box 12 of physical changes at the display device which necessitate adjustment of the manner in which images are displayed at the display device, which is not a conventional use of the hot plug detect line.
DVI connectors such as connector 16 also conform to the Display Data Channel (DDC) standard, which is known in the art. The DDC standard is promulgated by the Video Electronics Standards Association and governs communication between a display device and a graphics subsystem. The DDC standard provides a standardized approach whereby a display device can inform the GSS about its characteristics, such as maximum resolution and color depth, so as to permit the GSS to cause valid display configuration options to be presented to a user for example. Mechanically, the connector 16 incorporates three lines/pins for communicating display device characteristics, namely, data, clock and ground, in accordance with the DDC standard. The specific version of the DDC standard to which the connector 16 of the present embodiment conforms is the Enhanced Display Data Channel (E-DDC™) Standard, Version 1.1 (Mar. 24, 2004). This standard is promulgated by the Video Electronics Standards Association (www.vesa.org), and is hereby incorporated by reference hereinto.
Processor 20 is the main processor or CPU of the computing system 10 of
Volatile memory 22 is conventional random access memory which stores executable software and data during the operation of the computing system 10. Volatile memory 22 may be a form of Dynamic Random Access Memory (DRAM) for example. The executable software stored in memory 22 includes operating system software and application software. The operating system software may be a executable code representing conventional operating system such as Windows XP, Windows 2000, Windows NT, or Linux® for example. Other operating systems, such as UNIX, Apple OS, Solaris, Sun-OS, or HP-UX, could be employed in alternative embodiments. The application software may be a conventional application, such as a word processor, spreadsheet or video game, which causes 2D or 3D images to be generated for display on display device 14.
Non-volatile memory 24 is a conventional form of non-volatile memory, such as a hard disk drive for example, which may store executable software and data when the computing system 10 (
Processor 20, volatile memory 22 and non-volatile memory 24 are interconnected by way of a system bus 28. The specific implementation of bus 28 is not central to the present description.
The graphics subsystem 26 is a hardware component which converts a logical representation of a 2D or 3D image to signals that are transmitted to and used by the display device 14 (
The graphics processing unit 30 is the processing engine which is responsible for converting a logical representation of an 2D or 3D image to a form which can be displayed by display device 14 of
Volatile memory 32 serves as temporary storage for image data during the image processing that is performed by GPU 30. As known to those skilled in the art, images may undergo numerous transformations during their conversion from logical to final form. Memory 32 is typically a form of RAM which supports high-speed memory access. Memory 32 is interconnected with GPU 30 in conventional manner.
Bus 36 interconnects certain pins from backplane 35 with the GPU 30. In particular, bus 36 interconnects the hot plug detect, data, ground and clock pins from the backplane 35 to the GPU 30. As will be appreciated, in the illustrated embodiment, the hot plug detect signal is used to notify the GPU 30 of a physical change at the display device 14 (
The operation of the graphics subsystem 26 as described herein may be governed by machine-executable code which is loaded from a machine-readable medium 38 into volatile memory 22 (
Processor 40 is the engine which drives the operation of display device 14. Processor 40 is a conventional display processor whose operation has been modified in accordance with the following description for purposes of supporting notification of the graphics subsystem 26 (
Volatile memory 42 stores information 46 regarding the characteristics of display device 14. In the present embodiment, the information 46 is a data structure which conforms to the known VESA Enhanced Extended Display Identification Data (E-EDID) Standard, Release A, Revision 1 (Feb. 9, 2000), which is hereby incorporated by reference hereinto. As is known in the art, that EDID standard defines a 128-byte data structure (which may be referred to as the “EDID 1.3” data structure) containing information which permits a modern computer to know what kind of monitor is connected to it, including vendor information, maximum image size, color characteristics, factory pre-set timings, frequency range limits, and character strings for the monitor name and serial number. Accordingly, the data structure includes vendor information, maximum image size, color characteristics, factory pre-set timings, frequency range limits, and character strings for the monitor name and serial number. The information 46 additionally incorporates information regarding the current physical characteristics or conditions detected at display device 14 which are relevant to the display of images at the device. For example, information may be included regarding current screen orientation or current user settings of controls 17 of
Sensor 44 is a sensor which is capable of detecting physical changes at display device 14 which are relevant to the display of images at the device 14. For example, the sensor 44 may be a mechanical, electrical or optical sensor which is capable of detecting screen orientation at display device 14. Alternatively, the sensor 44 may comprise, or may be connected to, one or more of the controls 17 on the bevel of the display 14 (
The operation of the display device 14 as described herein may be governed by machine-executable code which is stored in a read-only memory chip for example.
For purposes of the following description, it is presumed that the display device 14 of
Referring to
Assuming that the sensor 44 (
Thereafter, the display device 14 provides a hot plug detect signal (specifically pulses the hot plug detect signal) in order to inform the GSS that a physical change has occurred at display device 14 (S506). In order for the hot plug detect signal to be pulsed, it may be necessary for hardware and/or software at the display device 14 to be modified from conventional operation in which the hot plug detect signal is driven solely for purposes of notifying the CPU box 12 of display device connection for dynamic display detection while the CPU box 12 is powered on. The nature of the hardware and/or software modifications that are necessary will be apparent to a person skilled in the art. For example, a software-controlled counter could be used to set the duration of the pulse. Alternatively, the pulse could be generated entirely by hardware.
It will be appreciated that S504 and S506 may occur in reverse order.
Turning
Referring back to
Back at the GSS 26 (
Referring once again to
As will be appreciated by those skilled in the art, modifications to the above-described embodiment can be made without departing from the essence of the invention.
For example, while the described embodiment illustrates carriage of the hot plug detect signal by a DVI connector, it should be appreciated that any other connector having a hot plug detect pin (line), such as an HDMI connector, could be used to carry the hot plug detect signal.
The adjustment of the hot plug detect signal level need not necessarily take the form of pulsing of the signal. Any adjustment of the signal level which is capable of conveying an indication of a physical change at the display device could be employed.
In some embodiments, the hot plug detect signal level adjustment that is made to indicate the occurrence of a physical change at the display device could be made to be distinguishable from the hot plug detect signal level adjustment that is made to indicate a display device connect/disconnect event, so that the graphics subsystem would be able to distinguish between the two types of events based on the nature of the level adjustment alone. Moreover, the manner in which the hot plug detect signal is modified could be used to communicate the nature of the physical change at the display device, so as to make unnecessary any separate transmission of data (such as an EDID data structure) for purposes of indicating the nature of the change. For example, pulsing twice in rapid succession could be used to communicate a screen orientation change. Moreover the duration of the toggles could be used to communicate information (e.g. a degree of rotation).
As well, the hot plug detect signal whose level is adjusted in order to notify the GSS of a physical change need not be the same hot plug detect signal as is employed under the DVI standard. Other forms of hot plug detect signal which may be used to facilitate dynamic display device detection under different standards or in proprietary systems could alternatively be employed.
Alternatively, the signal is not necessarily sent over the hot plug detect pin. For example, in cases where a connector lacks a hot plug detect pin, a reserved pin could be used to carry a signal. A VGA connector is one example of a connector which lacks a hot plug detect pin but which has a reserved pin which could be used to carry a pulsed signal.
In some embodiments, the display device 14 may send data indicative of the nature of the physical change to the graphics subsystem 26, rather than pulsing a signal to effectively invite the graphics subsystem 26 to request that data. For example, this may be done in cases where the interconnection between the graphics subsystem 26 of CPU box 12 and the display device 14 includes an I2C bus. This bus is defined in the document The I2C Bus Specification Version 2.1, January 2000, document order number 9390 393 4011, which is known in the art and is hereby incorporated by reference hereinto. The I2C bus is a simple, bi-directional two-wire bus for efficient communication between integrated circuits. The I2C bus governs how data is communicated between integrated circuits, as opposed to what information is communicated. DVI-I connectors, HDMI connectors, and VGA connectors are all examples of connectors incorporating an I2C bus.
The I2C bus allows interconnected integrated circuits to be defined as master or slave devices. Master devices are defined to be devices which initiate transfers, generate clock signals used for data synchronization between a master and a slave, and terminate transfers. Slave devices are devices addressed by a master. The master and slave modes are described in The I2C Bus Specification Version 2.1, referenced above.
In a conventional interconnection of a graphics subsystem and display device incorporating the I2C bus, the graphics subsystem acts as the master and the display device acts as its slave, since the flow of data between the two devices is usually from the GSS to the display device (e.g. upon user modification of display settings via a control panel utility). In an alternative embodiment, however, the display device could, in addition to acting as a slave for conventional transactions, also act as a master for transactions pertaining to automatic display device change notification. Conversely, the graphics subsystem could, in addition to acting as a master for conventional transactions, also act as a slave for transactions pertaining to automatic display device change notification.
Operation of such an alternative embodiment is illustrated in
Referring to
Referring to
Operation 700 and 800 may be repeated for each physical change detected at the display device 14.
If at any time a user of the computing system 10 wishes to configure display device characteristics manually in a conventional manner, the user may do so. This may for example entail execution of a utility through a “control panel” or similar construct of the operating system of computing system 10 and adjusting the desired display characteristics by manipulating graphical user interface controls displayed on the screen 15 of display device 14. When this is done, the GSS 26 may communicate with the display device 14 as described in the DDC2B standard, wherein the GSS 26 conventionally acts as the master of the I2C bus and the display device 14 acts as the slave.
In a further alternative, while the described embodiment illustrates use of a DVI connector between the display device and the graphics subsystem, another suitable connector could be employed. The connector could support analog video signals, digital video signals, or a combination of the two, depending on such factors as whether the display device is an analog or digital device for example. Moreover, a wireless connection could be employed between the graphics subsystem and display device.
Other modifications will be apparent to those skilled in the art and, therefore, the invention is defined in the claims.
Number | Name | Date | Kind |
---|---|---|---|
5189404 | Masimo et al. | Feb 1993 | A |
5329289 | Sakamoto et al. | Jul 1994 | A |
5973664 | Badger | Oct 1999 | A |
6289466 | Bayramoglu et al. | Sep 2001 | B1 |
6314479 | Frederick et al. | Nov 2001 | B1 |
6697033 | Leung et al. | Feb 2004 | B1 |
7598948 | Priem | Oct 2009 | B1 |
20030025685 | Shirasaki et al. | Feb 2003 | A1 |
20030122781 | Koo | Jul 2003 | A1 |
20030222848 | Solomon et al. | Dec 2003 | A1 |
20040039862 | Hunt et al. | Feb 2004 | A1 |
20040150650 | Mendelson et al. | Aug 2004 | A1 |
20040201595 | Manchester | Oct 2004 | A1 |
20040218598 | Kobayashi | Nov 2004 | A1 |
20050225547 | Choi | Oct 2005 | A1 |
Number | Date | Country | |
---|---|---|---|
20070046697 A1 | Mar 2007 | US |