None.
Certain embodiments of the invention relate to signal processing and electronic circuit design. More specifically, certain embodiments of the invention relate to a method and system for PC monitor phase locking in changing content environments.
Transmitting two-dimensional pictures electronically requires the handling of large amounts of information. Typically, a picture is sliced into horizontal strips—video lines—and a stack of horizontal strips is transmitted sequentially, that is, one line after another. At the receiving end, the picture is recreated on the display by drawing all the lines sequentially on the display device. This process continues until all the lines that make up the picture have been drawn. Each complete picture refresh is called a frame. Typical refresh rates vary from about 25 frames/second to about 70 frames/second, depending on the video application.
In order to ensure that the frame and the video lines are correctly placed on the display, synchronization (sync, for short) signals are used. A Horizontal Sync (HSync) signal is used to tell the receiver that a video line is finished and that it should start drawing the next video line at the left edge of the display, below the line just completed. A Vertical Sync (VSync) signal is used to indicate to the receiver that the bottom of a frame has been reached and that the next line should be drawn again at the top of the display device.
In modern PC monitors, each video line to be drawn is made up of a number of pixels so that the analog video signal is sampled to assign a discrete value to each pixel. Monochrome systems only require one video signal that carries information about the brightness of each pixel, plus the synchronization signals described above. Color computer systems, on the other hand, require one signal for each color component, where the colors transmitted are red, green and blue. The combination of these three primary colors in different intensities permits the creation of a large number of colors. This is also known as the RGB color model. Since a full color video signal for a PC monitor carries five signal components, namely red, green, and blue and the two synchronization channels, this type of video is often referred to as RGB component video.
For PC monitors, the signal source in the computer is generally located close to the monitor and the five signal components can be transmitted on five separate wires. Other modes of transmission do exist whereby the sync signals are generally somehow combined with one or more of the color channels. This is primarily a question of convenience in applications where the video cable might be longer and there is an advantage of using fewer wires. Other than slightly different handling of the video sync signals, there is no difference in the information carried.
Current methods of handling the phase synchronization of PC monitors rely on the assumption that the input video signal is very slowly changing. Indeed, a typical PC monitor displaying a spreadsheet, a word processing document or an electronic desktop displays a picture that is essentially static in comparison to a frame refresh rate that may be in the order of 50-70 frames/second.
The use of computer video support formats to display entertainment content is partly driven by technological advances in display technology such as Liquid Crystal Displays (LCD), Plasma screens and other recent display technologies. In addition, the provision of High-Definition (HD) video content, computer games and the increasing availability of entertainment content on the Internet are also driving forces in the adoption of computer video input support. This type of content consists mostly of moving pictures, however, and no longer supports the assumption of quasi-static images required for frame and line synchronization acquisition. Hence, inaccurate of false phase locking may result.
Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of skill in the art, through comparison of such systems with some aspects of the present invention as set forth in the remainder of the present application with reference to the drawings.
A method and/or system for PC monitor phase locking in changing content environments, substantially as shown in and/or described in connection with at least one of the figures, as set forth more completely in the claims.
These and other advantages, aspects and novel features of the present invention, as well as details of an illustrated embodiment thereof, will be more fully understood from the following description and drawings.
Certain embodiments of the invention may be found in a method and system for PC monitor phase locking in changing content environments. Aspects of a method and system for PC monitor phase locking in changing content environments may include phase-locking video signals at a PC monitor signal receiver, based on locating amplitude transitions for one or more of the video signals. The amplitude transitions may be identified by comparing an amplitude difference of two or more samples with a threshold for at least one of the video signals. The two or more samples may be separated by one pixel period and the threshold may be a variable parameter. Phase-offset samples and non-phase-offset samples of the video signals may be generated by sampling at phase-offset sampling instances and non-phase-offset sampling instances, respectively. The mean normalized rate of change of the phase-offset samples and the non-phase-offset samples may be analyzed to allow locating the amplitude transitions of the video signals. The mean normalized rate of change may be computed using the following formula:
wherein m may represent a phase offset variable, v may represent a time interval, l may represent an iteration index, Bm may represent the bin variable associated with phase offset m, and p(n) may represent the pixel period sample p at pixel period sampling time n. The beginning of the amplitude transitions may be determined by locating a target index and the phases of the sampling times may be adjusted in accordance with the target index.
Standard analog video signals as may be used for PC monitors and other computer applications, may represent the two-dimensional information to display on the monitor in the form of a stack of video lines as shown in the exemplary video frame structure in
Referring to
The human eye may comprise three kinds of light receptor cones on the retina that may perceive the varying intensity of red, green and blue in an observed scene and the brain may translate the combination of these color intensities into all the different colors a human may perceive. Based on this observation, the video signal for a color PC monitor comprises a component signal for each color: red, green and blue. By using an appropriate combination of red, green and blue intensities, many colors may be represented. This type of video signal may hence be referred to as RGB component video and comprises an R (red), a G (green), a B (blue), an Hsync and a Vsync channel. With reference to
The exemplary portion of an ACCVL signal 204 illustrated in
To obtain the color's intensity value for each pixel of the line for the monitor, it may be required to sample the ACCVL 204 at a sample rate corresponding to the pixel period. Since the color intensity may be proportional to the amplitude of the sampled signal, an accurate intensity level may be obtained by sampling in the stable interval D of each pixel's waveform. If the pixel period sampling clock is synchronized to the ACCVL in this manner and the ACCVL is sampled on the rising edge of the pixel period sampling clock, we may obtain the sample values taken during the stable interval D, as depicted for a the plurality of exemplary samples p(n−3) through p(n+3).
However, as may be seen from the illustration of the analog waveform 208, the stable interval D may be a relatively small fraction of the pixel period: For example, the interval D may be 25% of the pixel period if intervals B and E each are 10% of the pixel period. Therefore, it may be important to achieve accurate synchronization timing for the pixel period sampling clock. A sampling rate and number of samples per line may be determined by one or more circuits. One or more circuits may be used to process the Hsync and Vsync synchronization signals. Finding the correct synchronization to align the pixel period sampling clock with the stable interval D may be referred to as phase locking.
In some methods and systems for phase locking, it may be assumed that the picture content as depicted for an exemplary frame in FIG. 1,1 is constant on a line-by-line or frame-by-frame basis. Under this assumption, these algorithms may perform a number of first and second order derivatives of the ACCVL signal with varying phase shifts and the stable interval is selected on the basis of a constant derivative. A problem with this approach is that the content may not be constant in time, leading to incorrect phase alignment. In accordance with various embodiments of the invention, PC monitor phase locking in changing content environments may not require the assumption of constant, non-changing content.
Referring to
As illustrated in
Referring to
Referring to
Referring to
In instances where a transition is detected in step 408, a variable m≠0 may be chosen in step 410 from the interval −L to K, where m may represent a phase shift from p(n) or p(n−1) to a sampling position between p(n−1) and p(n). The normalized amplitude difference between the sample p(n−1) to the sampling position indicated by the phase shift mv may then computed and added to the corresponding bin, Bm. In addition, the counter variable nm associated with phase shift mv, may be incremented by one in step 412, thereby indicating that an additional value may have been added to the old bin value. The counter value nm may be necessary to compute the sample mean of the rate of change, as may be seen in the description of step 416 below.
The computation of the amplitude difference between the pixel period sample and the position indicated by the phase shift mv may be complicated by the fact that m may be positive or negative. Notwithstanding, the phase shift mv may be applied with reference to either p(n) or p(n−1) in a manner so that the phase shifted sample position indicated by mv may lie between p(n−1) and p(n). This may ensure that a portion of the transition may be sampled, regardless of the exact position of the transition between p(n−1) and p(n). This may be seen from
where l may be an iteration index.
In the description of step 410 above, a single phase shift based on value m may have been chosen and a single bin Bm may have been updated for the transition between p(n−1) and p(n), as described above in step 410. It may be noted that the same process described above for steps 410 and 412 may be performed for multiple phase shifts in parallel. Samples may be taken for all N=K+L variable phase shift positions during a single transition, as illustrated in
Choosing the phase shift value m may be achieved in a plurality of ways. In one embodiment of the invention, the value m may be chosen in a round-robin fashion, where the sequence of phase shift values m may be predetermined. In another embodiment of the invention, the phase shift value m may be chosen in an arbitrary or random order. While it may be noted that the performance of the invention may depend to some extent on the choice of algorithm to choose m, any algorithm for choosing m may be utilized.
In step 414, it may be verified whether the evaluation interval may have elapsed. As mentioned earlier, the evaluation interval may be a timer or a counter that may indicate the duration over which transitions are evaluated. The evaluation period may be chosen a frame length or any other suitable time interval or counter value.
Once the evaluation interval may have elapsed in step 414, values contained in the bin variables Bk are normalized, that is, the accumulated values in the bin Bk may be divided by the number of entries added to the bin, nk. This operation may be performed for bins corresponding to values of k: ∀k: Bk=>Bk/nk. After performing this operation, each bin may contain the sample mean of the measured normalized differences over the evaluation period.
In step 418, the rate of change between the bins corresponding to neighboring variable phase sampling positions may be computed, that is ∀kε{−L,K−1}:Dk=Bk+1−Bk. The rate of change contained in the variables Dk may approximate the mean steepness of the signal between neighboring variable phase sampling points.
In order to locate the end of a transition, a maximum rate of change may be determined by identifying the maximum
Also, the beginning of a transition may be identified by finding a Dk exceeding a threshold that may be located at the earliest absolute time before Dmax. The phase shift corresponding to the beginning of the transition may be called t. The operations identified above may be performed by steps 420 through 432.
In step 420, the search algorithm may be initialized by setting Dmax=0, t=0 and w=K−1. In step 422, Dw may be compared with the currently set Dmax. If Dw>Dmax, Dmax may be set to the new value of Dw, in step 424. If Dw<Dmax in step 422, Dw may be compared with the threshold αDmax in step 426, to determine whether Dw may be a possible target index value. If in step 426, the threshold is exceeded, the target index value t may be set to the value of w, in step 428. If in step 426, the threshold has not been exceeded, the current target index value may remain unchanged. The index w may then decremented in step 430 and if w≧−L in step 432, the next iteration in the search algorithm may be initiated in step 422. This search algorithm may ensure that, upon termination of the search loop in step 432, the target index t will be set to the index k corresponding to the left-most (earliest in time) Dk>αDmax. This index may then point to the beginning of the transition period.
Based on the observation made earlier that a transition may be preceded by the stable interval and that the transition characteristics may be considered constant, the position of the stable interval may be estimated to be a certain time offset before the beginning of the transition, which may have been identified by the target index t. The time offset may be a positive multiple of the variable phase period v such that timeoffset=offset·v. Optimally, the pixel period sampling period may coincide with the sampling time indicated by the index t-offset. In this case, the pixel period samples p(n) coincide with the stable interval. Hence, in step 434, if t=offset, it may be concluded that p(n) may already be located within the stable interval and no phase adjustment for the pixel period sample p(n) may need to be made. The evaluation may start again in step 404. On the other hand, if t>offset in step 436, it may be concluded that the stable interval occurs at a later time than the current pixel period sample p(n) and adjust the pixel period sampling time nT to become nT+1v. If t<offset in step 436, it may be concluded that the stable interval occurs at an earlier time than the current pixel period sample p(n) and adjust the pixel period sampling time nT to become nT−1v. When the pixel period sampling time has been adjusted, the evaluation may recommence in step 404. The pixel period sampling time may be incremented in the right direction rather than directly set to the time indicated by t-offset. This procedure may be chosen in order to avoid abrupt changes in the pixel period sampling time.
The clocking block 504 comprises a line lock clock 514 that may provide a pixel period clock output. In the phase select block 516, the phase of the clock may be adjusted to provide two clock outputs, p1 and p2. The phase of each of the two clock outputs may be adjusted individually through phase control signals p1 select and p2 select.
A multiplexer 510 may switch the ACCVL signal (either the red, green or blue channel) or alternative inputs Alt input 1 and Alt input 2 to the output. The ability to switch to alternative inputs may enable the AtoD converter 506, to process other signals when the analog block is not utilized for phase locking purposes. Similarly, the multiplexer block 512 may switch the same ACCVL signal or alternative inputs 3 and 4 to the output. It may be noted that both multiplexers may handle an arbitrary number of alternative inputs, in another embodiment of the invention.
During phase locking, an AtoD converter 506 may convert the analog ACCVL input coming from the multiplexer 510 to a digital signal that may be sampled at clock instances p1. Similarly, an AtoD converter 508 may be used to obtain digital samples of the ACCVL signal at sampling instances p2. The pixel period sample output of AtoD converter 506 may correspond to step 406 in
The phase alignment block 604 may be used to align signals p(n), the sample signal, and p(n+mv), the offset sample signal that may be relayed from the analog processing block 502 shown in
The delta block 606 may compute the normalized difference between the sample p(n) and the offset sample p(n+mv), and may place the result into corresponding bins, Bm. This may approximately correspond to steps 408 and 410 in
In the edge detect block 608, the contents of the bins from the bins block 628 may be normalized and may identify the transition by finding the target index t, as illustrated in steps 416 to 432. In the phase adjustment block 610, the phase of the clock p1 may be adjusted based on the computed target index as illustrated in steps 434 to 440 in
The difference block 724 may enable computation of the difference between p(n) and p(n−1). The difference between p(n) and p(n+1) may be computed in block 738, and in block 742 it may be verified whether the detected difference may exceed a threshold D. This process may correspond to step 408 in
The summing blocks 746, 750 and 760, the flip flop 748 and the average offset blocks 752, 754, 756 and 758, which may comprise the DC offset block in 726, may perform the DC offset compensation as described for block 626 in
The normalizing block 744 may enable normalization of the computed difference according to step 410 in
In accordance with an embodiment of the invention, a method and system for PC monitor phase locking in changing content environments may include phase-locking video signals at a PC monitor signal receiver, based on locating amplitude transitions for one or more of the video signals, as illustrated in
wherein m may represent a phase offset variable, v may represent a time interval, l may represent an iteration index, Bm may represent the bin variable associated with phase offset m, and p(n) may represent the pixel period sample p at pixel period sampling time n. The beginning of the amplitude transitions may be determined by locating a target index, as shown in
Another embodiment of the invention may provide a machine-readable storage, having stored thereon, a computer program having at least one code section executable by a machine, thereby causing the machine to perform the steps as described above PC monitor phase locking in changing content environments.
Accordingly, the present invention may be realized in hardware, software, or a combination of hardware and software. The present invention may be realized in a centralized fashion in at least one computer system, or in a distributed fashion where different elements are spread across several interconnected computer systems. Any kind of computer system or other apparatus adapted for carrying out the methods described herein is suited. A typical combination of hardware and software may be a general-purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein.
The present invention may also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which when loaded in a computer system is able to carry out these methods. Computer program in the present context means any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following: a) conversion to another language, code or notation; b) reproduction in a different material form.
While the present invention has been described with reference to certain embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted without departing from the scope of the present invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the present invention without departing from its scope. Therefore, it is intended that the present invention not be limited to the particular embodiment disclosed, but that the present invention will include all embodiments falling within the scope of the appended claims.