Phase-locked multi-monitor synchronization
By using frame buffer and tear effect signal generator in display devices for passive lock synchronization, the image frame synchronization problem in multi-display systems is solved, and a low-cost and scalable synchronization solution is realized, reducing the burden on host devices. And improve the independent operation capability of the display device.
Patent Information
- Application Number
- CN201980082116.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2018-12-11
- Filing Date
- 2019-12-03
- Publication Date
- 2024-12-24
- Estimated Expiration
- 2039-12-03
AI Technical Summary
The problem of image frame synchronization between displays in multi-display systems leads to a tear effect and affects the user experience. The existing technology requires the host device to actively synchronize, which increases the burden and complexity of the host device.
By introducing a frame buffer and tear effect signal generator into the display device, the tear effect signal is used to perform passive lock synchronization, so that each display can be synchronized independently, reducing the computing burden of the host device.
It realizes low-cost, scalable and robust passive synchronization between displays, reduces the burden on host devices, improves the independent operation capabilities of display devices, and avoids the impact of system-level failures on synchronization.
Smart Images

Figure CN113168301B_ABST
Abstract
Description
[0001] background
[0002] Media systems, such as computing devices, with multiple display devices (also referred to as "displays") are becoming increasingly popular. One problem that often occurs with the presence of multiple displays is the lack of synchronization between displays. For example, a dual-display system may use a left display and a right display to play back a movie. In order to allow movie video to be played using these two displays, the system's graphics layer may split each movie image into two image frame portions (a left portion and a right portion) and send these two image frame portions separately to the two displays. However, if the two displays are not synchronized, the two image frame portions will be displayed asynchronously, resulting in an unwanted tearing effect. According to the tearing effect, the left image frame portion of the current image frame may be presented on the left display, while the right image frame portion of the previous image frame is presented on the right display. This lack of synchronization of the image frame portions between the two displays results in an unpleasant user experience.
[0003] Overview
[0004] This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
[0005] Systems, apparatus, and methods for phase-locked multi-display synchronization are described herein. In a first aspect of a slave display device, a first tearing effect signal is received, which indicates that rendering of a first image frame portion of a first image frame by a master display device has at least been initiated. In response to receiving the first tearing effect signal, a second image frame portion of the first image frame is retrieved from a frame buffer and rendered to a display screen of the slave display device. In response to rendering the retrieved second image frame portion, a second tearing effect signal is generated for reception by a host device to trigger the host device to transmit the second image frame portion of the second image frame to the slave display device.
[0006] On the other hand, a slave display device includes an external trigger pin for receiving a first tearing effect signal, the first tearing effect signal indicating that the rendering of the first image frame portion of the first image frame by the master display device has at least been initiated. The slave display device further includes a tearing signal output port, a frame buffer storing the second image frame portion of the first image frame, a frame renderer, and a tearing effect signal generator. The frame renderer can be triggered by the first tearing effect signal to retrieve the second image frame portion of the first image frame from the frame buffer and render the retrieved second image frame portion to the display screen of the slave display device. The tearing effect signal generator is configured to generate a second tearing effect signal in response to the rendering of the retrieved second image frame portion, and the second tearing effect signal will be output from the tearing signal output port for reception by the host device. The second tearing effect signal is configured to trigger the host device to transmit the second image frame portion of the second image frame to the slave display device.
[0007] On the other hand, a slave display device has a frame buffer that stores a first image frame portion of a first image frame received from a host device. The master display device includes a frame renderer configured to retrieve the first image frame portion of the first image frame from the frame buffer and render the retrieved first image frame portion to a display screen of the master display device. The master display device also includes a tearing signal output port. A tearing effect signal generator is further included in the master display device to generate a first tearing effect signal in response to rendering the first image frame portion of the first image frame. The first tearing effect signal is output from the tearing signal output port for at least one of: for receiving from the slave display device to trigger the slave display device to render the second image frame portion of the first image frame to the display screen of the slave display device. The slave device is configured to generate a second tearing effect signal for receiving from the host device in response to rendering the second image frame portion of the first image frame to trigger the host device to transmit the second image frame portion of the second image frame to the slave display device. The host device may also receive the first tearing effect signal to trigger the host device to transmit the first image frame portion of the second image frame to the master display device.
[0008] In yet another aspect, the host device may include a multiplexer that receives a plurality of tearing effect signals from a corresponding plurality of display devices. The host device further includes an image frame sequencer that transmits an image frame of an image stream to a display device. For each image frame, the image frame sequencer divides the image frame into a plurality of image frame portions. For each image frame portion, the image frame sequencer transmits the image frame portion to a corresponding display device in the plurality of display devices in response to receiving a tearing effect signal from the corresponding display device.
[0009] Further features and advantages of various embodiments and the structure and operation of various embodiments are described in detail below with reference to the accompanying drawings. It should be noted that the embodiments are not limited to the specific embodiments described herein. These embodiments are presented herein for illustrative purposes only. Based on the teachings contained herein, additional embodiments will be apparent to those skilled in the relevant art. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] The accompanying drawings, which are incorporated herein and constitute a part of the specification, illustrate various embodiments of the present application and, together with the description, further serve to explain the principles of the various embodiments and enable those skilled in the relevant art to make and use the embodiments.
[0012] Figure 1 is a block diagram of an example multi-display system for phase-locked synchronization according to an example embodiment.
[0013] Figure 2 is a block diagram of a display device for performing passive display synchronization according to example embodiments.
[0014] Figure 3 A flow chart of a method for phase-locked display synchronization in a display device according to example embodiments is depicted.
[0015] Figure 4 An example timing diagram for phase-locked display synchronization in a multi-display system is shown according to an embodiment.
[0016] Figure 5 A flow chart of a method for disabling an external trigger pin on a display device is depicted according to an embodiment.
[0017] Figure 6 Depicted is a flow chart of a method for enabling a slave display device to become a master display device according to an embodiment.
[0018] Figure 7 A block diagram of another multi-display system for phase-locked synchronization according to an example embodiment is shown.
[0019] Figure 8 A block diagram of a host device of a multi-display system for performing phase-lock synchronization according to example embodiments is shown.
[0020] Fig. 9 is a block diagram of an example processor-based computer system that may be used to implement various embodiments.
[0021] Features and advantages of the embodiments will become more apparent from the detailed description set forth below when taken in conjunction with the accompanying drawings in which the same reference numerals identify corresponding elements. In the accompanying drawings, the same reference numerals generally indicate identical, functionally similar, and / or structurally similar elements. The drawing in which an element first appears is indicated by the leftmost digit(s) in the corresponding reference numeral.
[0022] Detailed Description
[0023] introduction
[0024] The following detailed description discloses many embodiments. The scope of this patent application is not limited to the disclosed embodiments, but also covers various combinations of the disclosed embodiments and various modifications to the disclosed embodiments.
[0025] References in the specification to "one embodiment," "an embodiment," "an example embodiment," etc. indicate that the described embodiment may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Furthermore, these phrases do not necessarily refer to the same embodiment. Furthermore, when a feature, structure, or characteristic is described in conjunction with an embodiment, whether or not explicitly described, it is considered to be within the knowledge of those skilled in the art to implement the feature, structure, or characteristic in conjunction with other embodiments.
[0026] A number of exemplary embodiments are described below. It should be noted that any section / subsection titles provided herein are not intended to be limiting. Various embodiments are described throughout this document, and any type of embodiment may be included under any section / subsection. In addition, the various embodiments disclosed in any section / subsection may be combined in any manner with any other embodiments described in the same section / subsection and / or different sections / subsections.
[0027] Example Embodiments
[0028] Typically, a media system (such as a desktop computer system) may include multiple physically separate display devices, each display device displays a portion of each image frame of a video stream. For example, in a dual-monitor system, a desktop computer may be coupled to a left display and a right display. The computer may split each image frame of the video stream into a left image frame portion and a right image frame portion, and may provide the left image frame portion to the left display and the right image frame portion to the right display for simultaneous display. In this way, an effectively larger size version of the image frame is displayed to a human viewer relative to displaying the entire image frame on a single display among the displays. However, if the computer displays the image frame portions of the image frame on multiple displays in an unsynchronized manner, the viewer may suffer a less than satisfactory experience.
[0029] This lack of image synchronization between displays in a multi-display device system may be caused by a variety of reasons, including different wait times between the internal buffers of the displays or different oscillator frequencies of the displays. For example, each display may have its own oscillator that drives the data transfer from the internal frame buffer of the display to the panel or display screen of the display to render the image frame. These oscillators are not naturally synchronized between displays and therefore operate at different frequencies. Therefore, one display can refresh from its frame buffer at a faster rate than another display. The mismatch in refresh rate may cause a tearing effect, which causes image frame portions from different image frames to be displayed on different display screens instead of displaying image frame portions of the same image frame. The tearing effect may also occur when there is an overlap between writing data to the frame buffer of the display and reading data from the buffer. For example, if a host device writes an image frame portion to the internal buffer of the display while the display is trying to read from its internal buffer to render the image frame portion to its display screen, the viewer may see tearing on different display screens. For a system with multiple displays, frame tearing may cause the current image frame to be rendered on one display screen while the previous image frame is rendered on another display screen, and therefore these displays are considered to be out of sync.
[0030] In a multi-display system, there may be a host device (e.g., a computer) or a host engine (e.g., of a computer) to transmit image frames to a display device. The host device may split a particular image into a plurality of image frame portions and deliver each frame portion to a corresponding display device. The host device may be able to employ any technology for forcibly synchronizing the display device in an active manner. However, such an active management scheme of the host device is undesirable because it increases the time and resource burden of the host device. Thus, in the case where the host device is occupied by a higher priority task (e.g., delivering an image to a display), the task of display synchronization may be delayed or insufficiently performed by the host device. When the host device misses the display synchronization process, the user may experience a tearing effect on the display.
[0031] Example embodiments described herein relate to techniques for achieving phase-locked display synchronization. These synchronization techniques are passively performed by the display itself and therefore do not require the computing power of a host device.
[0032] When a display device has its own frame buffer from which image frames can be retrieved and rendered to a display screen of the display device, the display device may be referred to as a "command mode display." When a display device does not have its own frame buffer and relies on a host device to render image frames directly to a display screen, the display device may be referred to as a "video mode display." The embodiments herein are primarily directed to command mode displays, but video mode displays may also be configured as described herein.
[0033] A command mode display (also referred to as a "smart panel") may have a vertical synchronization signal sent to a host device for single buffer update synchronization to prevent tearing effect (TE). Thus, this synchronization signal may also be referred to as a tearing effect signal. The host device uses the tearing effect signal from the display coupled thereto to generate a system vertical synchronization (Vsync) signal for the graphics and display subsystem to synchronize graphics rendering and display updates. In order to achieve passive synchronous display updates according to various embodiments, the tearing effect signal may be phase locked so that each display is effectively synchronized to the host device. In other words, when the tearing effect signals are phase locked, they are aligned even if their phases are different (possibly with a phase offset). Alignment of the tearing effect signals is important for the host device, and any differences in phase are ignored when determining whether the display is synchronized.
[0034] In one embodiment, passive phase-locked synchronization for a dual display system (one display is a master display device and the other display is a slave display device) can be performed according to the following steps. A first tearing effect signal is generated and routed from the master display device to an external trigger pin of the slave display device, which triggers a panel scan at the slave display device. Panel scanning refers to reading an image frame from a frame buffer and rendering it to a display screen or panel. After the panel scan, a second tearing effect signal is generated from the display device. This process is repeated so that over time, the first tearing effect signal and the second tearing effect signal are phase-locked (e.g., offset by 360 degrees). From the perspective of the host device, the master display device appears to be synchronized with the slave display device(s), and therefore the host can initiate screen updates synchronously without consuming computing power to actively synchronize the master display device with the slave display device(s).
[0035] In this passive phase-locked synchronization scheme, if the slave display device becomes inactive (e.g., turned off), the master display device does not need to be changed. If the master display becomes inactive (e.g., removed from the system), the external trigger pin on the slave display device can be inactive and / or disabled, so that the slave display device can operate as a command mode display by itself, independent of the master display device.
[0036] Accordingly, in the passive synchronization scheme, the burden of the host device is alleviated and the performance of the host device is improved, because the host device can focus on other tasks and can perform its tasks more efficiently. When performing passive display synchronization, the performance of the display device is also improved, because the display device does not have to rely on the host device to invest time and resources for synchronization, but can operate independently. Moreover, the passive synchronization technology described herein has the advantage of low cost, because no special adaptation from the host device is required, and only the addition of external trigger pins is provided on each of the display devices. The scheme is also scalable, because it can be applied to any number of displays in a multi-display system. The scheme is robust, because each slave display device is synchronized only with the main display device, so that system-level failures (such as frame loss and interrupt service routine waiting time) will not affect synchronization. The scheme can also be easily managed by the host device or some other entity.
[0037] Various embodiments may implement passive display synchronization in various ways. For example, Figure 1 A block diagram of an example multi-display system 100 for display synchronization according to an example embodiment is shown. Based on the following discussion of the multi-display system 100, other structural and operational embodiments will be apparent to persons skilled in the relevant art(s).
[0038] The multi-display system 100 includes a host device 102, a first display 104, and a second display 106. Although the first display 104 and the second display 106 may be structurally different or structurally the same and have the same configuration, for purposes of explaining the multi-display system 100, the first display 104 is designated as a master display device and the second display 106 is designated as a slave display device. It should be noted that in other embodiments, the second display 106 may be a master display device and the first display 104 may be a slave display device. The first display 104 and the second display 106 may be communicatively coupled to the host device 102 directly or via a network. As shown in FIG. Figure 1 As shown, the first display 104 includes a display synchronizer 108, which includes a master display enabler 110 and a frame synchronizer 112. The second display 106 includes a display synchronizer 114, which includes a master display enabler 116 and a frame synchronizer 118. The system 100 is described in further detail as follows.
[0039] Host device 102 may include one or more server devices and / or other computing devices. Host device 102 may be any type of fixed or mobile computing device, including a mobile computer or mobile computing device (e.g., devices, laptops, notebooks, tablets (such as Apple iPad TM ), netbooks, etc.), wearable computing devices (e.g., including smart glasses (such as Glass TM )), fixed computing devices (such as desktop computers or PCs (personal computers)), televisions, etc.
[0040] The host device 102, the first display 104, and the second display 106 may each include at least one wired or wireless network interface that can communicate with each other and any other device directly or via a network. Examples of such network interfaces include, but are not limited to, IEEE 802.11 wireless LAN (WLAN) wireless interfaces, Worldwide Interoperability for Microwave Access (Wi-MAX) interfaces, Ethernet interfaces, Universal Serial Bus (USB) interfaces, cellular network interfaces, Bluetooth interfaces, and the like. TM An interface, or a near field communication (NFC) interface. Examples of networks include a local area network (LAN), a wide area network (WAN), a personal area network (PAN), and / or a combination of communication networks such as the Internet.
[0041] Host device 102 may provide one or more applications, such as video or video streaming services, to end users. Examples of such services include, but are by no means limited to, web-accessible SQL (Structured Query Language) databases, Etc. In one embodiment, the host device 102 provides a video stream to the first display 104 and the second display 106. The first display 104 and the second display 106 are configured to receive the video stream one image frame at a time. Specifically, the host device 102 may first divide the image frame into a plurality of image frame portions, such as a left image portion 128 and a right image portion 132. In such a dual image frame portion embodiment, the first display 104 may be configured as a left display, and the second display 106 may be configured as a right display. The host device 102 transmits the left image portion 128 of the image frame to the first display 104, and transmits the right image portion 132 of the image frame to the second display 106, so that the image frame portions are directed to the corresponding displays.
[0042] The first display 104 and the second display 106 store their respective image frame portions in their respective internal frame buffers. The first display 104, which is designated as the primary display by the host device 102 (e.g., as set by the display configuration settings of the host device 102), retrieves the left image portion 128 of the image frame from its frame buffer and renders it to the display screen 126 (e.g., LCD (liquid crystal display) screen, LED (light emitting diode) screen, plasma screen, CRT (cathode ray tube) monitor screen, etc.) of the first display 104. The first display 104 is configured to generate a first tearing effect signal 122 when the left image portion 128 of the image frame is rendered. The first display 104 is further configured to transmit the first tearing effect signal 122 from the tearing effect signal output port to the host device 102 to indicate that the left image portion 128 of the image frame is being rendered or has been rendered. The first display 104 is also configured to transmit the first tearing effect signal 122 to the external trigger pin 120 of the second display 106. Upon receiving the first tearing effect signal 122 from the first display 104, the second display 106 is configured to retrieve the right image portion 132 of the image frame from its frame buffer and render it to the display screen 130 of the second display 106. The second display 106 is configured to generate its own second tearing effect signal 124 when the right image portion 132 of the image frame is rendered. The second display 106 then transmits the second tearing effect signal 124 to the host device 102 to indicate that the right image portion 132 of the image frame has been rendered. Upon receiving the tearing effect signal, the host device 102 is configured to transmit the next image frame or a portion of the next image frame to the display from which the tearing effect signal is received without having to actively synchronize the displays. This is because for the host device 102, multiple displays appear to be synchronized because their tearing effect signals are aligned.
[0043] Note that although Figure 1 The first display 104, the second display 106, and the host device 102 are shown as separate components, but in another embodiment, such components may be incorporated into one or more other components. Figure 1 1 and described above, but there may be any number of additional displays coupled to the host device 102 and configured as slave display devices similar to the second display 106. The additional display devices receive corresponding portions of the current image frame from the host device 102, receive the first tearing effect signal 122 from the first display 104, render their respective portions of the image frame, and transmit their own tearing effect signals to the host device 102 to indicate that their portions of the image frame have been rendered. In this way, all current display devices are effectively synchronized for display of image frames.
[0044] Figure 1 The first display 104 and the second display 106 shown in FIG. 1 can be configured in various ways to perform their functions. For example, Figure 2 2 shows a block diagram of a display 200 according to an example embodiment. Figure 1 describe Figure 2 The display 200 may be implemented as either the first display 104 or the second display 106 (or subsequent display), although the display 200 may function differently depending on whether it is configured as a master display device or a slave display device. Figure 2 As shown, the display 200 includes a display synchronizer 202, which is configured to enable the display 200 to perform synchronization between the display 200 and a multi-display system (such as Figure 1 The display synchronizer 202 includes a master display enabler 212 and a frame synchronizer 210. The display 200 may further include a frame buffer 204, a frame renderer 206, and a tearing effect signal generator 208. The features of the display 200 are further described in detail as follows.
[0045] Main display device configuration
[0046] In one embodiment, the display 200 may be configured as a primary display device, such as Figure 1 In this embodiment, as shown in the first display 104. Figure 2 As shown, the display synchronizer 202, and in particular the master display enabler 212, is configured to receive a mode signal 222 that designates the display 200 as a master display device. The mode signal 222 may be received from a host engine, such as Figure 1 The host device 102 shown. The mode signal 222 may also be received from another device configured to collect data from all displays within the multi-display system and determine which display should be designated as the main display device. Regardless of where the mode signal 222 originates, the determination of whether a display is a main display device may be made based on any technology, for example, by a predefined algorithm or configuration, a sequential order or ranking order of displays, or a random designation. For example, in a multi-display system, only one display may receive a mode signal 222 designating it as a main display device, while no other display device may receive the mode signal 222. In another example, all displays may receive a corresponding mode signal 222, which specifically indicates whether a particular display is a main display device or a slave display device. The main display device may operate in a main mode or a basic mode, while the slave display device may operate in a slave mode or a secondary mode. Other ways of designating or configuring a main display device may also be used.
[0047] like Figure 2As shown, the master display enabler 212 receives the mode signal 222. In the above embodiment, the mode signal 222 indicates that the display 200 is a master display device. Thus, the master display enabler 212 is configured to transmit a control signal 226 to the frame synchronizer 210 to disable the frame synchronizer 210 and / or the external trigger pin 234. The master display enabler 212 is also configured to transmit a control signal 228 to the frame renderer 206 to indicate that the frame renderer 206 should render the image frame as soon as the image frame is available in the frame buffer 204. The master display enabler 212 is further configured to transmit a tearing effect control signal 232 to the tearing effect signal generator 208 to indicate whether the tearing effect signal should be transmitted to the slave display device in addition to the tearing effect signal being transmitted to the host device. The control signal 226, the control signal 228, and the tearing effect control signal 232 can be the same signal or different signals, and can be configured in various ways by the master display enabler 212. For example, the control signal 226, the control signal 228, and the tearing effect control signal 232 may be digital signals having a logic high for the master mode and a logic low for the slave mode, or vice versa. In another example, the master display enabler 212 may also choose not to transmit any of the control signal 226, the control signal 228, or the tearing effect control signal 232 for one mode (e.g., the slave mode) to the frame renderer 206 or the tearing effect signal generator 208, but may instead transmit any of the control signal 226, the control signal 228, or the tearing effect control signal 232 for another mode (e.g., the master mode). For example, the master display enabler 212 may determine that the tearing effect signal does not need to be transmitted to the slave display device (e.g., when the display 200 is configured as a slave display device) and may not transmit the tearing effect control signal 232 to the tearing effect signal generator 208.
[0048] The frame synchronizer 210 is configured to receive a control signal 226 from the master display enabler 212. When the control signal 226 indicates that the display 200 is the master display device, the frame synchronizer 210 is configured to disable the external trigger pin 234 or otherwise ignore any signal from the external trigger pin 234, such as the tearing effect signal 220 configured to trigger a panel refresh or panel scan. Panel refresh or panel scan is the following operation: the frame renderer 206 retrieves image data from the frame buffer 204 and renders it on the display screen / panel of the display 200. In doing so, the display 200 acting as the master display device is not affected by the external tearing effect signal for synchronization purposes. The frame synchronizer 210 is configured to determine whether to transmit a trigger signal 230 to the frame renderer 206. For example, when the display 200 is the master display device, the frame synchronizer 210 can be configured not to transmit the trigger signal 230 to the frame renderer 206. The trigger signal 230 includes information from the tearing effect signal 220 for triggering the frame renderer 206 to render an image frame or a portion thereof from the frame buffer 204. Alternatively, the trigger signal 230 may be transmitted to the frame renderer 206, but in the master mode, the trigger signal 230 may simply indicate that there is no external trigger information, or may be ignored by the frame renderer 206.
[0049] The frame buffer 204 is configured to receive data from a host device such as Figure 1 The host device 102 in the display 200 or any other data engine or computing device receives the data signal 224. The data signal 224 can be any data for display on the display 200, such as still and moving image frames in a video. Specifically, if the current image frame has been split / split by the host device, the data signal 224 may include the image frame or a portion thereof. For example, if the display 200 is configured as the left display of a dual display system, the display 200 may receive the left portion of the image frame for display. In another example, if the display 200 is configured as the first display of more than two displays, it may receive the first portion of the image frame (the image frame is divided into a number of frame portions equal to the number of displays) for display. The frame buffer 204 is a memory storage device (e.g., a random access memory) that can store one or more image data frames. The frame buffer 204 is configured to store the data of the data signal 224 and transmit the data as a data signal 214 to the frame renderer 206, and the data signal 214 may include the current image frame or a portion thereof.
[0050] The frame renderer 206 is configured to receive a data signal 214 from the frame buffer 204. The frame renderer 206 may also receive a control signal 228 from the master display enabler 212 and / or a trigger signal 230 from the frame synchronizer 210. In this embodiment where the display 200 is the master display device, the frame renderer 206 may receive a control signal 228 from the master display enabler 212 indicating that the frame renderer 206 should render image frames as soon as they are available in the frame buffer 204. In other words, the frame renderer 206 will proceed normally because the display 200 is not required to synchronize with or wait for another display. The frame renderer 206 is configured to receive a trigger signal 230 from the frame synchronizer 210 and comply with any external trigger information provided by the trigger signal 230. If the trigger signal 230 is not received, the frame renderer 206 may operate normally. That is, the frame renderer 206 may continue to render image frames as soon as they are available from the frame buffer 204. The frame renderer 206 is configured to render the image data (e.g., image frame portion) of the data signal 214 to a display screen or panel of the display 200. When the frame renderer 206 has completed rendering or at least initiated the process of rendering the data of the data signal 214, the frame renderer 206 may transmit a rendering signal 216 to the tearing effect signal generator 208. The rendering signal 216 indicates that the frame renderer 206 has at least initiated or completed rendering the data signal 214. When the rendering signal 216 is transmitted to the tearing effect signal generator 208, it may be a predefined and / or configurable parameter.
[0051] The tearing effect signal generator 208 is configured to receive a rendering signal 216 from the frame renderer 206. The tearing effect signal generator 208 is configured to generate a tearing effect (TE) signal 218, which may be a pulse wave or any other waveform for indicating that the data signal 214 has been fully or partially rendered to the display screen of the display 200. The tearing effect signal 218 may be generated once the rendering signal 216 is received or at any other time predefined by the manufacturer of the display 200 or configured by some entity. For example, the tearing effect signal generator 208 may generate the tearing effect signal 218 when a certain percentage of the image data of the data signal 214 has been rendered or when a certain line number of the image frame has been rendered. The tearing effect signal generator 208 is configured to transmit the tearing effect signal 218 to a host device (such as a display device) via a tearing effect signal output port. Figure 1), or any other entity that transmits the data signal 224 to the display 200. The tearing effect signal 218 has the effect of synchronizing the display 200 to the host device because it prevents the host device from performing an image content update (transmitting the next image frame portion) to the display 200 until the tearing effect signal 218 is received. In other words, the receipt of the tearing effect signal 218 tells the host device that it is now allowed to write data to the display 200. Upon receipt of the tearing effect signal 218, the host device is configured to transmit another image frame or a portion thereof to the display 200 without having to determine whether the display 200 is synchronized with any other display. This is because the host device is configured to receive the tearing effect signal from all displays communicatively coupled to it, and these displays will appear to be synchronized with each other based on their tearing effect signals being aligned.
[0052] The tearing effect signal generator 208 is further configured to receive a tearing effect control signal 232 indicating whether the tearing effect signal 218 should be transmitted to a slave display device, such as a master device, in addition to being transmitted to the master device. Figure 1 106 in the master mode. In the master mode, the tearing effect signal generator 208 may receive a tearing effect control signal 232 indicating that the tearing effect signal 218 should be transmitted to one or more slave display devices. Accordingly, the tearing effect signal generator 208 may transmit the tearing effect signal 218 to one or more slave display devices communicatively coupled to the display 200 via the tearing effect signal output port. Upon receiving the tearing effect signal 218 from the display 200, the one or more slave display devices are configured to render the content (e.g., image frame or portion thereof) stored in their respective frame buffers to their own display screens. In one embodiment, the tearing effect signal 218 may be transmitted from the tearing effect signal generator 208 to the host device and (s) slave device(s) simultaneously.
[0053] From the display device configuration
[0054] In another embodiment, the display 200 may be configured to be a display device such as Figure 1 In this embodiment, as shown in the second display 106. Figure 2 As shown, the display synchronizer 202, and in particular the master display enabler 212, is configured to receive a mode signal 222 that designates the display 200 as a slave display device. As described above, the mode signal 222 may be received from a host engine, such as Figure 1The host device 102 shown. The mode signal 222 may also be received from another device configured to collect data from all displays in the multi-display system and determine which display should be designated as a slave display device. Regardless of where the mode signal 222 originates from, the determination of whether a display should be a slave display device may be made based on any method, for example, by a predefined algorithm or configuration, a sequential order or ranking order of the display, or a random designation. For example, in a multi-display system, only one display may receive a mode signal 222 designating it as a master display device, while no other display device may receive the mode signal 222. Thus, a display device that does not receive the mode signal 222 is considered to be a slave display device. In another example, all displays in the system may receive a corresponding mode signal 222, which specifically indicates whether a particular display is a master display device or a slave display device. The master display device may operate in a master mode or a base mode, while the slave display device may operate in a slave mode or a secondary mode. Other ways of designating or configuring a slave display device may also be used.
[0055] In this embodiment, the mode signal 222 indicates that the display 200 is a slave display device. Thus, the master display enabler 212 transmits a control signal 226 to the frame synchronizer 210 to enable the frame synchronizer 210 and / or the external trigger pin 234. The master display enabler 212 is also configured to transmit a control signal 228 to the frame renderer 206 to indicate that the frame renderer 206 should not render the image frame once the image frame is available in the frame buffer 204, but instead wait for the trigger signal 230 from the frame synchronizer 210. The master display enabler 212 is further configured to transmit a tearing effect control signal 232 to the tearing effect signal generator 208 to indicate whether the tearing effect signal should be transmitted to the slave display device in addition to the tearing effect signal being transmitted to the host device. The control signal 226, the control signal 228, and the tearing effect control signal 232 can be the same signal or different signals, and can be configured in various ways. For example, the control signal 226, the control signal 228, and the tearing effect control signal 232 may be digital signals having a logic high for the master mode and a logic low for the slave mode, or vice versa. In another example, the master display enabler 212 may be configured not to transmit any of the control signal 226, the control signal 228, or the tearing effect control signal 232 for one mode (e.g., the slave mode) to the frame renderer 206 or the tearing effect signal generator 208, and may be configured to transmit any of the control signal 226, the control signal 228, or the tearing effect control signal 232 for another mode (e.g., the master mode).
[0056] The frame synchronizer 210 is configured to receive a control signal 226 from the master display enabler 212. When the control signal 226 indicates that the display 200 is a slave display device, the frame synchronizer 210 is configured to enable the external trigger pin 234 or otherwise receive any signal from the external trigger pin 234, such as a tearing effect signal 220 configured to trigger a panel refresh or a panel scan. The tearing effect signal 220 is a signal from a master display device (e.g., Figure 1 The frame renderer 206 receives the image data from the frame buffer 204 and renders it on the display screen or panel of the display 200. In doing so, the display 200 operating in the slave mode is affected by the external tearing effect signal to perform passive synchronization between the display 200 and other displays communicatively coupled to the display 200. The frame synchronizer 210 is configured to determine whether to transmit a trigger signal 230 to the frame renderer 206. For example, in the slave mode, the frame synchronizer 210 can be configured to transmit the trigger signal 230 to the frame renderer 206. The trigger signal 230 includes information from the tearing effect signal 220 for triggering the frame renderer 206 to render an image frame or a portion thereof from the frame buffer 204.
[0057] The frame buffer 204 is configured to receive data from a host device such as Figure 1 The host device 102 in the display 200 or any other data engine or computing device receives the data signal 224. As described above, the data signal 224 may include any image data for display on the display 200, such as still and moving images in a video. If the image frame has been split by the host device, the data signal 224 may include the frame or a portion thereof. For example, if the display 200 is configured as the right display of a dual display system, the display 200 may receive the right portion of the image frame for display. As another example, if the display 200 is configured as the second display in a plurality of displays, it may receive the second portion of the image frame for display. The frame buffer 204 may include one or more memory storage devices (e.g., random access memory) that can store one or more frames of image data (e.g., pixel data arrays). The frame buffer 204 is configured to store the image data of the data signal 224 and transmit the image data to the frame renderer 206 in the data signal 214, which includes the image frame or a portion thereof.
[0058] The frame renderer 206 is configured to receive the data signal 214 from the frame buffer 204. The frame renderer 206 may also receive a control signal 228 from the master display enabler 212 and / or a trigger signal 230 from the frame synchronizer 210, depending on how the master display enabler 212 is configured to indicate a master mode or a slave mode to other components of the display 200, as mentioned above with reference to the master display device configuration embodiment. In an embodiment where the display 200 is a slave display device, the frame renderer 206 may receive a control signal 228 from the master display enabler 212 indicating that the frame renderer 206 should render an image frame when triggered by a trigger signal 230 from the frame synchronizer 210. In other words, the frame renderer 206 may operate based on the trigger signal 230 in order to synchronize with the master display device. The frame renderer 206 is configured to render the image data of the data signal 214 to a display screen or panel of the display 200 based on any external trigger information provided by the trigger signal 230. For example, such external trigger information may be timing information. When the frame renderer 206 has completed rendering or has at least initiated rendering of the image frame portion of the data signal 214, the frame renderer 206 may transmit a rendering signal 216 to the tearing effect signal generator 208. The rendering signal 216 indicates that the frame renderer 206 has at least initiated or completed rendering the data signal 214. The timing by which the rendering signal 216 is transmitted to the tearing effect signal generator 208 may be a predefined and / or configurable parameter.
[0059] The tearing effect signal generator 208 is configured to receive a rendering signal 216 from the frame renderer 206. The tearing effect signal generator 208 is configured to generate a tearing effect (TE) signal 218, which may be a pulse wave or any other waveform for indicating that the data signal 214 has been fully or partially rendered to the display screen of the display 200. The tearing effect signal 218 may be generated once the rendering signal 216 is received or at any other time predefined by the manufacturer of the display 200 or configured by some entity. For example, the tearing effect signal generator 208 may generate the tearing effect signal 218 when a predefined percentage of an image frame portion of the data signal 214 has been rendered or when a specific line number of an image frame portion has been rendered. The tearing effect signal generator 208 is configured to transmit the tearing effect signal 218 to a host device (such as a display device) via a tearing signal output port. Figure 1), or any other entity that transmits the data signal 224 to the display 200. The tearing effect signal 218 has the effect of synchronizing the display 200 to the host device because it prevents the host device from performing content updates to the display 200 until the tearing effect signal 218 is received. In other words, the receipt of the tearing effect signal 218 informs the host device that it is now permitted to write image data to the display 200. Upon receipt of the tearing effect signal 218, the host device is configured to transmit another image frame or a portion thereof to the display 200 without having to determine whether the display 200 is synchronized with any other display. This is because the host device is configured to receive the tearing effect signal from all displays communicatively coupled thereto, and these displays will appear to be synchronized with each other based on their tearing effect signals being aligned.
[0060] The tearing effect signal generator 208 is further configured to receive a tearing effect control signal 232 indicating whether the tearing effect signal 218 should be transmitted to a slave display device, such as a master device, in addition to being transmitted to the master device. Figure 1 In the slave mode, the tearing effect signal generator 208 may receive a tearing effect control signal 232 indicating that the tearing effect signal 218 should not be transmitted to one or more slave display devices. Alternatively, if no tearing effect control signal 232 is received, the tearing effect signal generator 208 may be configured to send the tearing effect signal 218 only to the host device.
[0061] Method for phase-locked display synchronization
[0062] In various embodiments, the multi-display system 100 may operate in various ways to facilitate phase-locked display synchronization. For example, Figure 3 A flowchart 300 is shown that provides a method for phase-locked display synchronization performed by a slave device according to an example embodiment. For illustrative purposes, the flowchart 300 is described with reference to the multi-display system 100. It should be noted that in some embodiments, the steps of the flowchart 300 may be performed in a manner different from Figure 3 In addition, not all steps of flowchart 300 need to be performed in all embodiments. Based on the following description of flowchart 300 and multi-display system 100, further structural and operational embodiments will be apparent to those skilled in the relevant art.
[0063] Flowchart 300 begins at step 302. In step 302, a first tearing effect signal is received, which indicates that rendering of a first image frame portion of a first image frame by a master display device has at least been initiated. For example, in one embodiment, second display 106 receives first tearing effect signal 122, which indicates that rendering of a first image frame portion of a first image frame by first display 104 has at least been initiated by first display 104. The first tearing effect signal may be received at an external trigger pin, such as Figure 1 The first display 104 can generate and transmit the first tearing effect signal 122 in the manner described in the above main display device configuration embodiment.
[0064] In step 304, a second image frame portion of the first image frame is retrieved from the frame buffer in response to the receiving of the first tearing effect signal. For example, in one embodiment, in order to perform passive synchronization to synchronize the second display 106 with the first display 104, the second display 106 configured as a slave display device is configured to retrieve image data (e.g., an image frame or a portion thereof) from its internal frame buffer when it receives the first tearing effect signal 122 from the first display 104.
[0065] In step 306, the retrieved second image frame portion is rendered to the display screen of the slave display device. In one embodiment, the first tearing effect signal 122 is used to trigger the rendering of image data in the second display 106. The second display 106 can retrieve image data from its internal frame buffer and render the image data in the manner described in the above slave display device configuration embodiment.
[0066] In step 308, in response to rendering the retrieved second image frame portion, a second tearing effect signal is generated for reception by the host device to trigger the host device to transmit the second image frame portion of the second image frame to the slave display device. For example, in response to rendering the image data (e.g., an image frame or a portion thereof), the second display 106 may generate a second tearing effect signal 124 and transmit the second tearing effect signal 124 to the host device 102 to trigger the host device 102 to transmit additional data (e.g., the next image frame or a portion thereof) to the second display 106. The generation and transmission of the second tearing effect signal 124 may be performed in the manner described in the above-mentioned slave display device configuration embodiment.
[0067] Accordingly, the host device 102 receives a first tearing effect signal 122 from the first display 104 and a second tearing effect signal 124 from the second display 106, and from the perspective of the host device 102, the first display 104 and the second display 106 appear to be synchronized because the first tearing effect signal 122 and the second tearing effect signal 124 are aligned.
[0068] For example, Figure 4 An example timing diagram for phase lock synchronization according to an example embodiment is shown. Figure 4 A first tearing effect signal 402 and a second tearing effect signal 404 are shown, which may correspond to Figure 1 The first tearing effect signal 122 and the second tearing effect signal 124 are shown. Each of the first tearing effect signal 402 and the second tearing effect signal 404 is shown as a pulse waveform over time, but is not shown to scale.
[0069] In one embodiment, the first tearing effect signal 402 comes from a main display device, for example Figure 1 Accordingly, the first tearing effect signal 402 is used as a reference signal for passive synchronization. That is, from a display device (such as Figure 1 The second display 106 in the display 104 may use the first tearing effect signal 402 to synchronize itself with the main display. The first tearing effect signal 402 includes a first pulse 406 that becomes high when the image content from the internal frame buffer of the first display 104 is rendered (or rendering has been initiated) to the display screen. When the first pulse 406 becomes high, the first tearing effect signal 402 is transmitted to the second display 106 to trigger the rendering of the image content from the internal frame buffer of the second display 106 and the generation and output of the second tearing effect signal 404. In operation, the second display 106 waits for the first tearing effect signal 402 from the first display 104, and only when the second display 106 determines that it is in the correct phase, the second display 106 will render its own image content, thereby synchronizing itself to the first display 104, i.e., the main display device. The second tearing effect signal 404 has a second pulse 408, which indicates that the image content from the internal frame buffer of the second display 106 has been rendered. As shown Figure 4As shown, the second pulse 408 of the second tearing effect signal 404 follows the first pulse 406 of the first tearing effect signal 402, as shown by the dashed line 414. Similarly, when the first display 104 has at least initiated rendering of its next image frame portion, the second pulse 410 of the first tearing effect signal 402 goes high, thereby triggering the second display 106 to render its own next image frame portion and output the second pulse 408 of the second tearing effect signal 404. Again, the second pulse 412 of the second tearing effect signal 404 follows the second pulse 410 of the first tearing effect signal 402, as shown by the dashed line 416, which illustrates that the second display 106 follows or is synchronized to the first display 104.
[0070] In the above embodiment, the second display 106 and the first display 104 may appear to be synchronized after a synchronization period. The synchronization period may occur during the initial power-up of at least one of the master display device, the slave display device, or the host device. Thus, at the beginning of the synchronization period, the displays in the multi-display system may not be completely synchronized. If the displays are completely out of sync at the beginning, passive synchronization may not be performed immediately or it may be inefficient to perform passive synchronization immediately. In this case, rendering content to the display screen of the second display 106 may cause flickering at the display screen. One solution may be to timeout the second display 106 for some time until the first tearing effect signal 122 and the second tearing effect signal 124 are aligned well enough to start passive synchronization. The timeout period may be relatively short (e.g., several frames) so as not to cause flickering at the display screen. In one embodiment, across several frames (e.g., 3 or 4 frames), the second display 106 and the first display 104 may appear to be more and more synchronized over time. In other words, over the synchronization period, the second tearing effect signal 124 may experience a full range of phase shifts up to 360 degrees from the first tearing effect signal 122. The exact amount of time required for the synchronization period may depend on the optical properties of the first display 104 and the second display 106 (e.g., the leakage current of the liquid crystal material or the panel transistors). From that point on, the first tearing effect signal 122 and the second tearing effect signal 124 may be 360 degrees phase locked. Any phase shift between the first tearing effect signal 122 and the second tearing effect signal 124 may be ignored by the host device 102 because only the timing of the first tearing effect signal 122 and the second tearing effect signal 124 is important to the host device 102 when determining that the first display 104 and the second display 106 are synchronized.
[0071] According to the above embodiments, the second display 106 and the first display 104 can be synchronized in a low-cost, scalable, robust and easy to manage manner without adding a display synchronization burden to the host device. All that is required is an external trigger pin on the display for receiving a tearing effect signal from the master display. However, sometimes the external trigger pin may be disabled, for example, when the display is configured as a master display or when the master display is removed from a multi-display system and the slave display needs to be able to operate independently of the master display.
[0072] Various embodiments may disable an external trigger pin on a display. For example, and as will be described below, Figure 5 and 6 As discussed in more detail in . Figure 5 A flowchart 500 is depicted of a method for disabling an external trigger pin on a display device according to an embodiment. Based on the following description of flowchart 500, other structural and operational embodiments will be apparent to those skilled in the relevant art.
[0073] like Figure 5 As shown, flowchart 500 begins at step 502. In step 502, the functionality of the external trigger pin is disabled to enable the slave display device to operate independently of the master display device. Figure 1 In the event that the first display 104 (i.e., powered off or removed from the system) becomes inactive (e.g., powered off or removed from the system), the external trigger pin 120 of the second display 106 can be disabled so that the second display 106 can operate as a typical command mode display without having to synchronize itself to another display device. In other words, the functionality of the external trigger pin 120 - the ability to trigger the second display 106 to display a portion of an image frame by receiving an external trigger signal - is disabled. For the sake of brevity, the process for disabling the external trigger pin will not be repeated because it has been described in the above-mentioned main display device configuration embodiment.
[0074] Disabling the external trigger pin also allows the display device to be configured as a master display device. Figure 6 A flowchart 600 of a method for enabling a slave display device to become a master display device according to an embodiment is depicted. Based on the following description of flowchart 600, other structural and operational embodiments will be apparent to those skilled in the relevant art.
[0075] like Figure 6 As shown, flowchart 600 begins at step 602. In step 602, the slave display device is enabled as a second master display device in response to the master display device being inactive. Figure 1In the event that the first display 104 of the system becomes inactive (e.g., powered off or removed from the system), the external trigger pin 120 of the second display 106 may be disabled so that the second display 106 may be configured as the new master device. Figure 1 In a multi-display system 100, the host device 102 is aware of all displays and their states (e.g., active or inactive). Thus, when a display is turned off or otherwise inactive, the host device can determine whether there is a slave device that can be the new master display and send an appropriate mode signal in response to that determination. The host device can make such a determination by a predefined algorithm or configuration, a sequential order or ranked order of the displays, a random assignment, a user selection (e.g., via a display configuration user interface available at the host device 102), or by any other method. Figure 1 In the multi-display system 100, when the first display 104 becomes inactive, the host device 102 may send a mode signal to the second display 106 to indicate that the second display 106 is a new primary display device.
[0076] In step 604, the second tearing effect signal is allowed to be received by at least a third display device to synchronize the third display device with the second main display device. Figure 1 In a multi-display system), when the first display 104 becomes inactive and the second display 106 is configured as a new master display, the second tearing effect signal 124 generated by the second display 106 is configured to be transmitted to one or more display devices in the system. The one or more display devices can synchronize themselves to the new master display based on the received tearing effect signal, as described in the above slave display device configuration embodiment.
[0077] Please note that Figure 1 The multi-display system 100 is shown with two displays. However, the multi-display system 100 may be scalable so that more displays may be added. For example, Figure 7 A block diagram of a multi-display system 700 for phase-locked synchronization according to an embodiment is shown. The multi-display system 700 includes a display 702, a display 704, a display 706, and a display 708. The display 702 may output a first tearing effect signal 718, the display 704 may output a second tearing effect signal 720, the display 706 may output a third tearing effect signal 722, and the display 708 may output a fourth tearing effect signal 724. Each of the tearing effect signals 718, 720, 722, and 724 is transmitted to a host device, such as Figure 1 Each of display 702, display 704, display 706, and display 708 may be configured as a primary display device (such as Figure 1 ), or from a display device such as a first display 104 shown in FIG. Figure 1 ). Thus, display 702, display 704, display 706, and display 708 may function in a manner similar to first display 104 and second display 106, and this functionality will not be described again for the sake of brevity.
[0078] The multi-display system 700 includes a multiplexer 710 coupled to a display 702, a display 704, a display 706, and a display 708 in communication. A tearing effect signal 718, a tearing effect signal 720, a tearing effect signal 722, and a tearing effect signal 724 are transmitted to the multiplexer 710. The master display device can select among the display 702, the display 704, the display 706, and the display 708 using the selector pin 712 and the selector pin 714 of the multiplexer 710. The determination of whether the display should be the master display device can be made by the host device based on any method, for example, by a predefined algorithm or configuration, a sequential order or ranking order of the display, or a random assignment. Once the determination is made, the selector pin 712 and the selector pin 714 can be used to select the appropriate display as the master display device via a signal 716. In this way, the tearing effect signal of the selected master display device is provided to the slave display device to trigger the rendering of their respective image frame portions, thereby synchronizing the slave display device with the master display device. It is noted that multiplexer 710 may reside in the host device or in an entity separate from the host device (eg, in a display or elsewhere).
[0079] although Figure 7 Four displays are shown in , but more displays can be added by increasing the number of pins in multiplexer 710. Thus, adding more displays to multi-display system 700 is a fairly simple process with little increase in complexity.
[0080] As mentioned, multiplexer 710 may reside in any suitable device. Figure 8 A block diagram of a host device for a multi-display system for performing phase-lock synchronization is shown. Figure 8 As shown, the host device 800 includes a multiplexer 802 and an image frame sequencer 804. In one embodiment, the host device 800 may be implemented as Figure 1 The host device 102, and the multiplexer 802 may be implemented as Figure 7 For example, the multiplexer 802 is configured to receive multiple display devices (such as Figure 1 or Figure 7) receives a plurality of tearing effect signals from any display shown in . An image frame sequencer 804 is configured to transmit content, such as image frames of an image stream, to the plurality of display devices. For each image frame, the image frame sequencer 804 is configured to divide the image frame into a plurality of image frame portions. For each image frame portion, the image frame sequencer 804 is configured to transmit the image frame portion to the corresponding display device of the display device in response to receiving the tearing effect signal from the corresponding display device.
[0081] In one embodiment, the host device 800 may be aware of the state of each display to which it is coupled. For example, when the display is turned off, there may be a signal implemented with hardware, software, or both for alerting the host device 800 of the inactive state of the display. In another example, there may be constant or periodic feedback from the display to the host device, and if feedback for a specific display can no longer be detected, the host device may infer that the specific display is inactive. If the display that becomes inactive is a slave display device, the host device 800 may not continue to update content to the inactive display. If the display that becomes inactive is a master display device, the host device 800 may reconfigure a new master display device from the remaining active display devices via the multiplexer 802.
[0082] Example Computer System Implementation
[0083] The multi-display system 100, the display 200, the multi-display system 700, the host device 800, and the flowcharts 300, 500, and / or 600 may be implemented in hardware, or in hardware in combination with software and / or firmware. For example, the display synchronizer 108, the display synchronizer 114, the display synchronizer 202, the image frame sequencer 804, and the flowcharts 300, 500, and / or 600 may be implemented as computer program code / instructions configured to be executed in one or more processors and stored in a computer-readable storage medium. Alternatively, the display synchronizer 108, the display synchronizer 114, the display synchronizer 202, the image frame sequencer 804, and the flowcharts 300, 500, and / or 600 may be implemented as hardware logic / circuitry.
[0084] For example, in one embodiment, one or more or any combination of the display synchronizer 108, the display synchronizer 114, the display synchronizer 202, the image frame sequencer 804, and / or any one or more of the flowcharts 300, 500, and / or 600 may be implemented together in a SoC. The SoC may include an integrated circuit chip that includes a processor (e.g., a central processing unit (CPU), a microcontroller, a microprocessor, a digital signal processor (DSP), etc.), a memory, one or more of one or more communication interfaces, and / or other circuits, and may optionally execute received program code and / or include embedded firmware to perform functions.
[0085] Fig. 9 An exemplary implementation of a computing device 900 in which embodiments may be implemented is depicted. For example, host device 102 and host device 800 may each be implemented in one or more computing devices similar to computing device 900 in a fixed or mobile computer embodiment, including one or more features and / or alternative features of computing device 900. The description of computing device 900 provided herein is for illustration only and is not intended to be limiting. Embodiments may also be implemented in other types of computer systems known to those skilled in the relevant art.
[0086] like Fig. 9 As shown, the computing device 900 includes one or more processors (referred to as processor circuits 902), a system memory 904, and a bus 906 that couples various system components including the system memory 904 to the processor circuit 902. The processor circuit 902 is an electronic and / or optical circuit implemented as a central processing unit (CPU), a microcontroller, a microprocessor, and / or other physical hardware processor circuits using one or more physical hardware electronic circuit device elements and / or integrated circuit devices (semiconductor material chips or dies). The processor circuit 902 can execute program codes stored in a computer-readable medium, such as operating systems 930, application programs 932, program codes of other programs 934, etc. The bus 906 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or a local bus using any of various bus architectures. The system memory 904 includes a read-only memory (ROM) 908 and a random access memory (RAM) 910. The basic input / output system 912 (BIOS) is stored in the ROM 908.
[0087] The computing device 900 also has one or more of the following drives: a hard disk drive 914 for reading and writing to a hard disk, a disk drive 916 for reading and writing to a removable disk 918, and an optical drive 920 for reading and writing to a removable optical disk 922 (such as a CD-ROM, DVD or other optical media). The hard disk drive 914, the disk drive 916, and the optical drive 920 are connected to the bus 906 via a hard disk drive interface 924, a disk drive interface 926, and an optical drive interface 928, respectively. These drives and their associated computer-readable media provide non-volatile storage of computer-readable instructions, data structures, program modules and other data for the computer. Although a hard disk, a removable disk and a removable optical disk are described, other types of hardware-based computer-readable storage media such as flash memory cards, digital video disks, RAM, ROM and other hardware storage media may also be used to store data.
[0088] Several program modules may be stored on a hard disk, a magnetic disk, an optical disk, a ROM, or a RAM. These programs include an operating system 930, one or more application programs 932, other programs 934, and program data 936. The application programs 932 or other programs 934 may include, for example, computer program logic (e.g., computer program code or instructions) for implementing the display synchronizer 108, the display synchronizer 114, the display synchronizer 202, the image frame sequencer 804, and the flowcharts 300, 500, and / or 600 (including any suitable steps of the flowcharts 300, 500, and / or 600) and / or further embodiments described herein.
[0089] A user may enter commands and information into the computing device 900 through input devices such as a keyboard 938 and a pointing device 940. Other input devices (not shown) may include a microphone, a joystick, a game controller, a satellite dish, a scanner, a touch screen and / or touch pad, a voice recognition system for receiving voice input, a gesture recognition system for receiving gesture input, and the like. These and other input devices are typically connected to the processor circuit 902 through a serial port interface 942 coupled to the bus 906, but may be connected through other interfaces such as a parallel port, a game port, or a universal serial bus (USB).
[0090] A display screen 944 is also connected to the bus 906 via an interface, such as a video adapter 946. The display screen 944 may be external to or incorporated into the computing device 900. The display screen 944 may display information, as well as serve as a user interface for receiving user commands and / or other information (e.g., by touch, finger gestures, a virtual keyboard, etc.). In addition to the display screen 944, the computing device 900 may also include other peripheral output devices (not shown), such as speakers and printers.
[0091] The computing device 900 is connected to a network 948 (e.g., the Internet) through an adapter or network interface 950, a modem 952, or other means for establishing communications over the network. The modem 952 (which may be internal or external) may be connected to the bus 906 via a serial port interface 942, such as a serial bus. Fig. 9 As shown, another interface type including a parallel interface may be used to connect to bus 906.
[0092] As used herein, the terms "computer program medium", "computer readable medium" and "computer readable storage medium" are used to refer to physical hardware media, such as a hard disk associated with hard disk drive 914, a removable disk 918, a removable optical disk 922, other physical hardware media (such as RAM, ROM), flash memory cards, digital video disks, zip disks, MEMs, nano-based storage devices, and other types of physical / tangible hardware storage media. Such computer readable storage media are distinguished from and do not overlap with communication media (excluding communication media). Communication media carry computer readable instructions, data structures, program modules or other data in modulated data signals such as carrier waves. The term "modulated data signal" means a signal in which one or more characteristics are set or changed in a manner that information is encoded in the signal. As an example and not limitation, communication media include wireless media (such as acoustic, RF, infrared and other wireless media) and wired media. Each embodiment also relates to such communication media that are separate and do not overlap with the embodiments for computer readable storage media.
[0093] As noted above, computer programs and modules (including application programs 932 and other programs 934) may be stored on a hard disk, disk, optical disk, ROM, RAM, or other hardware storage medium. Such computer programs may also be received via a network interface 950, a serial port interface 942, or any other interface type. These computer programs, when executed or loaded by an application, enable the computer 900 to implement the features of the embodiments described herein. Accordingly, such computer programs represent controllers of the computer system 900.
[0094] The embodiments also relate to computer program products including computer codes or instructions stored on any computer readable medium. Such computer program products include hard drives, optical drives, memory device packages, portable memory sticks, memory cards, and other types of physical storage hardware.
[0095] Additional Example Embodiments
[0096] A slave display device is described herein. The slave display device includes an external trigger pin configured to receive a first signal indicating that rendering of a first image frame portion of a first image frame by a master display device has at least been initiated; a signal output port; a frame buffer storing a second image frame portion of the first image frame; a frame renderer configured to be triggered by the first signal to retrieve the second image frame portion of the first image frame from the frame buffer and render the retrieved second image frame portion to a display screen of the slave display device; and a signal generator configured to generate a second signal in response to rendering the retrieved second image frame portion, the second signal being output from the output port for reception by a host device to trigger the host device to transmit the second image frame portion of the second image frame to the slave display device.
[0097] In one embodiment of the aforementioned slave display device, the first signal includes a first tearing effect signal, and the second signal includes a second tearing effect signal.
[0098] In one embodiment of the aforementioned slave display device, the first tearing effect signal is received from the master display device.
[0099] In one embodiment of the aforementioned slave display device, the slave display device further comprises a master display enabler configured to disable functionality of the external trigger pin to enable the slave display device to operate independently of the master display device.
[0100] In one embodiment of the aforementioned slave display device, the slave display device further comprises a master display enabler which enables the slave display device to become a second master display device in response to the master display device being inactive.
[0101] In one embodiment of the aforementioned slave display device, the signal generator is further configured to transmit the second signal to at least a third display device to synchronize the third display device with the second master display device.
[0102] In one embodiment of the aforementioned slave display device, the second tearing effect signal is phase-shifted by 360 degrees with the first tearing effect signal after the synchronization period.
[0103] In one embodiment of the aforementioned slave display device, the synchronization period occurs during initial power-up of at least one of the slave display device or the master display device.
[0104] A method for phase-locked display synchronization performed by a slave display device is described herein. The method includes receiving a first signal indicating that rendering of a first image frame portion of a first image frame by a master display device has at least been initiated; retrieving a second image frame portion of the first image frame from a frame buffer in response to receiving the first signal; rendering the retrieved second image frame portion to a display screen of the slave display device; and generating a second signal in response to rendering the retrieved second image frame portion, the second signal being received by a host device to trigger the host device to transmit the second image frame portion of the second image frame to the slave display device.
[0105] In one embodiment of the aforementioned method, the first signal comprises a first tearing effect signal, and the second signal comprises a second tearing effect signal.
[0106] In one embodiment of the aforementioned method, the first tearing effect signal is received from a master display device.
[0107] In one embodiment of the foregoing method, the method further includes disabling functionality of the external trigger pin to enable the slave display device to operate independently of the master display device.
[0108] In one embodiment of the foregoing method, the method further includes causing the slave display device to become a second master display device in response to the master display device being inactive.
[0109] In one embodiment of the foregoing method, the method further includes enabling the second tearing effect signal to be received by at least a third display device to synchronize the third display device with the second master display device.
[0110] In one embodiment of the aforementioned method, the second tearing effect signal is phase-shifted 360 degrees from the first tearing effect signal after the synchronization period.
[0111] A slave display device is described herein. A master display device includes: a frame buffer storing a first image frame portion of a first image frame received from a host device; a frame renderer configured to retrieve the first image frame portion of the first image frame from the frame buffer and render the retrieved first image frame portion to a display screen of the master display device; a signal output port; and a signal generator configured to generate a first signal in response to rendering the first image frame portion of the first image frame, the first signal being output from the signal output port for at least one of: receiving from the slave display device to trigger the slave display device to render a second image frame portion of the first image frame to the display screen of the slave display device, the slave display device being configured to generate a second signal in response to rendering the second image frame portion of the first image frame, the second signal being received by the host device to trigger the host device to transmit the second image frame portion of the second image frame to the slave display device, or being received by the host device to trigger the host device to transmit the first image frame portion of the second image frame to the master display device.
[0112] In one embodiment of the aforementioned master display device, the first signal includes a first tearing effect signal, and the second signal includes a second tearing effect signal.
[0113] In one embodiment of the aforementioned main display device, the main display device further includes an external trigger pin, which is configured to receive a third tearing effect signal, and the third tearing effect signal is configured to trigger the frame renderer to render a portion of the image frame currently stored in the frame buffer to the display screen of the main display device.
[0114] In one embodiment of the aforementioned master display device, the second tearing effect signal is phase-shifted 360 degrees from the first tearing effect signal after the synchronization period.
[0115] In one embodiment of the aforementioned master display device, the synchronization period occurs during initial power-up of at least one of the master display device or the slave display device.
[0116] Conclusion
[0117] Although various embodiments of the disclosed subject matter have been described above, it should be understood that they are presented by way of example only and not limitation. (s) Those skilled in the relevant art will appreciate that various modifications may be made in form and detail without departing from the spirit and scope of the embodiments as defined by the appended claims. Accordingly, the breadth and scope of the disclosed subject matter should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.
Claims
1. A slave display device, comprising: an external trigger pin configured to receive a first signal indicating that rendering of a first image frame portion of a first image frame by a primary display device has at least been initiated; Signal output port; a frame buffer storing a second image frame portion of the first image frame; a frame renderer configured to be triggered by the first signal to retrieve a second image frame portion of the first image frame from the frame buffer and render the retrieved second image frame portion to a display screen of the slave display device; as well as A signal generator configured to generate a second signal in response to rendering the retrieved second image frame portion, the second signal to be output from the signal output port for receipt by the host device to trigger the host device to transmit the second image frame portion of the second image frame to the slave display device.
2. The slave display device according to claim 1, wherein: The first signal comprises a first tearing effect signal, and the second signal comprises a second tearing effect signal.
3. The slave display device according to claim 2, wherein: The first tearing effect signal is received from the main display device.
4. The slave display device according to claim 1, further comprising: A master display enabler is configured to disable functionality of the external trigger pin to enable the slave display device to operate independently of the master display device.
5. The slave display device according to claim 1, further comprising: A master display enabler is configured to enable the slave display device to become a second master display device in response to the master display device being inactive.
6. The slave display device according to claim 5, wherein: The signal generator is further configured to transmit the second signal to at least a third display device to synchronize the third display device with the second master display device.
7. The slave display device according to claim 2, wherein: The second tearing effect signal is phase-shifted 360 degrees from the first tearing effect signal after a synchronization period.
8. The slave display device according to claim 7, wherein: The synchronization period occurs during initial power-up of at least one of the slave display device or the master display device.
9. A method for phase-locked display synchronization performed by a slave display device, comprising: receiving a first signal indicating that rendering of a first image frame portion of a first image frame by a primary display device has at least been initiated; In response to said receiving said first signal, retrieving a second image frame portion of the first image frame from a frame buffer; Rendering the retrieved second image frame portion to a display screen of the slave display device; as well as In response to rendering the retrieved second image frame portion, a second signal is generated for receipt by the host device to trigger the host device to transmit the second image frame portion of the second image frame to the slave display device.
10. The method of claim 9, wherein: The first signal comprises a first tearing effect signal, and the second signal comprises a second tearing effect signal.
11. The method of claim 10, wherein: The first tearing effect signal is received from the main display device.
12. The method of claim 9, further comprising: The functionality of an external trigger pin of the slave display device is disabled to enable the slave display device to operate independently of the master display device, wherein the external trigger pin is configured to receive the first signal.
13. The method of claim 9, further comprising: In response to the master display device being inactive, the slave display device is made a second master display device.
14. The method of claim 13, further comprising: The second signal is enabled to be received by at least a third display device to synchronize the third display device with the second master display device.
15. The method of claim 10, wherein: The second tearing effect signal is phase-shifted 360 degrees from the first tearing effect signal after a synchronization period.
16. A main display device, comprising: a frame buffer storing a first image frame portion of a first image frame received from a host device; a frame renderer configured to retrieve a first image frame portion of the first image frame from the frame buffer and render the retrieved first image frame portion to a display screen of the primary display device; Signal output port; as well as a signal generator configured to generate a first signal in response to rendering a first image frame portion of the first image frame, the first signal being output from the signal output port for receipt by at least one of: The second signal is received by the slave display device to trigger the slave display device to render the second image frame portion of the first image frame to the display screen of the slave display device, the slave display device is configured to generate a second signal in response to rendering the second image frame portion of the first image frame, and the second signal is received by the host device to trigger the host device to transmit the second image frame portion of the second image frame to the slave display device, or For reception by the host device to trigger the host device to transmit the first image frame portion of the second image frame to the main display device.
17. The main display device according to claim 16, wherein: The first signal comprises a first tearing effect signal, and the second signal comprises a second tearing effect signal.
18. The main display device according to claim 17, further comprising: An external trigger pin, wherein the external trigger pin is configured to receive a third signal, wherein the third signal is configured to trigger the frame renderer to render the image frame portion currently stored in the frame buffer to the display screen of the main display device.
19. The main display device according to claim 18, wherein: The second tearing effect signal is phase-shifted 360 degrees from the first tearing effect signal after a synchronization period.
20. The main display device according to claim 19, wherein: The synchronization period occurs during initial power-up of at least one of the master display device or the slave display device.
21. A computer-readable storage medium having instructions, which, when executed, cause a machine to perform the method of any one of claims 9 to 15.
22. A computer system comprising means for executing the method as claimed in any one of claims 9 to 15.
