US6754234B1 - Method and apparatus for asynchronous frame synchronization - Google Patents
Method and apparatus for asynchronous frame synchronization Download PDFInfo
- Publication number
- US6754234B1 US6754234B1 US09/316,458 US31645899A US6754234B1 US 6754234 B1 US6754234 B1 US 6754234B1 US 31645899 A US31645899 A US 31645899A US 6754234 B1 US6754234 B1 US 6754234B1
- Authority
- US
- United States
- Prior art keywords
- frame
- frame rate
- frame period
- slow
- fast
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/04—Synchronising
- H04N5/12—Devices in which the synchronising signals are only operative if a phase difference occurs between synchronising and synchronised scanning devices, e.g. flywheel synchronising
- H04N5/126—Devices in which the synchronising signals are only operative if a phase difference occurs between synchronising and synchronised scanning devices, e.g. flywheel synchronising whereby the synchronisation signal indirectly commands a frequency generator
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/2365—Multiplexing of several video streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/434—Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
- H04N21/4347—Demultiplexing of several video streams
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/12—Synchronisation between the display unit and other units, e.g. other display units, video-disc players
Definitions
- the invention relates generally to frame synchronization in a display system, and more particularly to a method and apparatus for asynchronous frame synchronization in a video graphics circuit.
- Video graphics signals from various sources are often processed by circuitry that produces output signals suitable for a display device.
- Such display devices can include television sets, which operate under a number of different television display standards, and monitors such as cathode ray tube (CRT) monitors that operate under a different set of standards. As such, the signal requirements for different display devices can vary significantly.
- a video graphics circuit may produce a television encoded signal suitable for display on a television set, and also be required to provide a CRT encoded signal suitable for display on CRT-type display devices. Because the standards specifying the encoding techniques for television and CRT-type display devices differ significantly, maintaining a uniform frame period between multiple display outputs can be troublesome.
- the two frame rates are, in most cases, asynchronous. If no forced synchronization is induced between these asynchronous signals, one of the outputs will produce a “rolling” effect on its corresponding display. This is because the alignment of the two frame periods of the outputs will continue to diverge. For example, if the second output frame rate differs from the first output frame rate by five clock periods per frame, the end of the second output frame after the first frame period will be five clocks different then the end of the second output frame. At the end of the second frame period they will differ by ten clock periods, and at the end of the third frame period they will differ by fifteen clock periods. The “rolling” effect produced by this divergence is unacceptable.
- forced synchronization one of the frame periods is chosen to be the dominant, or master period.
- the other frame period, or the slave frame period is synchronized to the dominant period by forcing the slave period to begin at the same time as the master period for each frame.
- the slave frame period may be forced to reset to the beginning of the next frame either prematurely, resulting in truncation, or after the time where the next frame should have been started, resulting in an effective lengthening of the current frame. Both truncation and lengthening produce a “tearing” effect on the display that is undesirable.
- FIG. 1 illustrates a block diagram of a frame synchronization circuit in accordance with the present invention
- FIG. 2 illustrates a block diagram of a more detailed view of the clock generation block of FIG. 1;
- FIG. 3 illustrates a block diagram of a more detailed view of another embodiment of the clock generation block of FIG. 1;
- FIG. 4 illustrates a block diagram of a frame synchronization processor in accordance with the present invention.
- FIG. 5 illustrates a flow diagram of a method for frame synchronization in accordance with the present invention.
- the present invention provides a method and apparatus for frame synchronization in a display circuit.
- one of the frame periods is set as closely as possible to the other frame period such that a reasonable amount of adjustment of one of the frame periods is required to synchronize the two frame periods.
- One of the two frame periods is then selected as the master frame period, and the frame rate of the other frame period, or slave frame period, is switched between a slow frame rate that produces a frame period slightly greater than the master frame period and a fast frame rate that produces a frame period slightly shorter than master frame period.
- the average frame period of the slave frame period is synchronized with the master frame period.
- Switching between the slow and fast frame rates is accomplished using a measuring block that compares a first frame period corresponding to a first (slave) display signal with a second frame period corresponding to a second (master) display signal to determine which frame period is shorter and also the difference between the two frame periods.
- a comparison block operably coupled to the measuring block compares the difference value with a first threshold. When the difference value exceeds the larger threshold, the comparison block asserts a restart signal such that the subsequent frame of the signal corresponding to the first frame period is forced to begin at the same time as subsequent frame period for the signal corresponding to the second frame period. If the larger threshold is not exceeded by the difference, the comparison block compares the difference with a second, smaller threshold. If the difference exceeds the smaller threshold, the comparison block generates a frequency control signal based on which of the two frames is shorter.
- a clock generation block is operably coupled to the comparison block, and the clock generation block generates an output clock that has an output frequency that determines the first frame period.
- the clock generation block sets the output frequency of the output clock at one of the slow frame rate and the fast frame rate based on the frequency control signal.
- the slow frame rate closely approximates an ideal frame rate that would cause the first frame period to match the second frame period, but the slow frame rate is either equal to or less than the ideal frame rate.
- the fast frame rate closely approximates the ideal frame rate, but is equal to or slightly greater than the ideal frame rate. As such, the first frame period will deviate slightly from the second frame period and the differential between the start pulse corresponding to the two frame periods will gradually increase to the point where it exceeds the smaller threshold.
- the frame rate corresponding to the first frame period is switched between the fast frame rate and the slow frame rate. Over time, the average frame period of the first frame period will match the frame rate of the second frame period, thus keeping the first and second frame periods synchronized.
- the system described herein allows two asynchronous frame periods to be effectively synchronized. This eliminates the rolling and tearing effects that were experienced in prior art solutions, including those solutions that forced a restart of one of the frame periods to match the start of the other frame period.
- FIG. 1 illustrates a frame synchronization circuit that includes a measuring block 10 , a comparison block 20 , and a clock generation block 30 .
- the measuring block 10 compares a first frame period and a second period to determine a leading frame that distinguishes which of the first frame period and the second frame period is shorter. In addition to this, the measuring block determines a difference value that reflects the difference between the first and second frame periods.
- the measuring block 10 of FIG. 1 receives a television (TV) start pulse 12 and a CRT start pulse 14 .
- These start pulses signal the beginning of a display frame.
- the TV start pulse 12 represents the beginning of the first frame period
- the CRT start pulse 14 establishes the starting point of the second frame period.
- the measuring block can compare the two start pulses 12 and 14 to determine which of the two pulses occurs first, and the difference in time between the two start pulses.
- the measuring block determines which of the frame periods is shorter than the other frame period, which is indicated when the start pulse of one frame is received prior to the start pulse of the other.
- the difference in the two frame periods corresponds to the difference between receipt of the two start pulses 12 and 14 . It should be noted that other techniques that should be apparent to one of ordinary skill in the art could be used to compare the two frame periods.
- One of the important aspects of the present invention is selecting a frame period for one of the two frame periods to be synchronized that reasonably approximates the other frame period.
- One of the frame periods will be slightly adjusted in order to achieve the synchronization, and if the amount of adjustment required is too great, undesirable visual effects will result.
- the TV frame period is generally fixed by a standard, and therefore the CRT frame period must be selected to approximate the TV frame period as closely as possible. Once this has been accomplished, the slight adjustments to the TV frame period can be employed to synchronize the two frame periods.
- the frame synchronization circuit of FIG. 1 is preferably included in a video graphics circuit, which is more preferably a TV encoding application specific integrated circuit (ASIC).
- video graphics circuits preferably provide display signals corresponding to different display standards, and the example illustrated in FIG. 1 corresponds to a video graphics circuit that provides a TV display signal and a CRT display signal.
- the start pulse corresponding to each of the display signals is preferably generated within the video graphics circuit.
- the comparison block 20 is operably coupled to the measuring block 10 and receives a difference signal 16 corresponding to the difference between the two frame periods, and a leading frame signal 18 which indicates which of the two frame periods is currently the shorter frame period.
- the comparison block 20 compares the difference value with a first, larger threshold to determine if the difference between the two frame periods is so great that a forced restart must be implemented.
- a forced restart will be required when the source of the video graphics display information changes, for example, when the TV channel is changed.
- the comparison block 20 asserts a restart signal 24 , which forces the subsequent TV frame period to begin at the same time as the subsequent CRT frame period.
- the comparison block 20 determines that the first threshold has not been exceeded, indicating that a restart is not required, the comparison block 20 compares the difference value 16 with a second, smaller threshold.
- the smaller threshold corresponds to a point where the difference between the two frame periods has reached the point that correction is required. In other words, the two frame periods are not so different that a forced restart is required, but they are approaching the tolerance of the system or application.
- This smaller threshold can be set based on the needs of the application in terms of the amount of deviation between frame periods that is acceptable. If it is determined that the smaller threshold is not exceeded, no adjustment is required of the current frame rate of the TV display signal.
- the comparison block 20 determines that the difference value 16 exceeds the smaller threshold, and that some correction is required, the comparison block 20 generates a frequency control signal 22 that indicates some alteration in the frame rate of the TV display signal is required.
- the frequency control signal 22 is generated based on the leading frame signal 18 .
- the difference signal 16 indicates the magnitude by which the two frame periods differ, whereas the leading frame signal 18 determines which of the two frame periods is shorter than the other frame period.
- the frequency control signal 22 will indicate that the frame rate corresponding to the first frame period must be increased in order to shorten the first frame period, whereas in other instances, the frequency control signal 22 will indicate that the frame rate corresponding to the first frame period must be decreased in order to lengthen the first frame period.
- the clock generation block 30 is operably coupled to the comparison block 20 and receives the frequency control signal 22 .
- the clock generation block 30 generates an output clock 32 that has an output frequency, where the output frequency corresponds to the frame rate that determines the first frame period.
- the clock generation block 30 sets the output frequency of the output clock 32 to one of a slow frame rate and a fast frame rate based on the frequency control signal.
- There is an ideal frame rate which would cause the first frame period to match the second frame period, but due to limitations on the clock generation block 30 , this ideal frame rate cannot typically be generated. These limitations may include the frequency resolution limitations of a phase locked loop that is included in the clock generation block 30 , or other limitations on the frequency generation capabilities of the clock generation block 30 .
- the fast frame rate and the slow frame rate are preferably frame rates that are very close to the ideal frame rate, but within the frequency generation limitations of the clock generation block 30 .
- the slow frame rate is a close approximation to the ideal frame rate, but is not greater than the ideal frame rate.
- the fast frame rate is a close approximation that is not slower than the ideal frame rate.
- the fast or slow frame rate may match the ideal frame rate, and in the rare instance where an exact match occurs, the comparison block will not detect a difference value that exceeds the second threshold, and therefore adjustment will not be required.
- the frame rate corresponding to the first frame period and the frame rate corresponding to the second period are generated by separate phase locked loops that are coupled and synchronized to a common crystal. As such, changes in the crystal frequency will track between the two phase locked loops. In order to closely approximate the ideal frame rate over time, the phase locked loop that generates the first frame rate can be switched between the fast and slow frame rates based on the current difference between the two frame periods.
- the frame synchronization circuit further includes a processor 40 , which is used to configure the clock generation block 30 .
- the processor 40 provides a clock configuration bus 42 to the clock generation block 30 . This bus can be used to initialize various registers or other values stored within the clock generation block 30 .
- the specific operation of the processor 40 with respect to the preferred embodiments described herein is discussed in more detail with respect to FIGS. 2 and 3.
- FIG. 2 illustrates a more detailed view of the clock generation block 30 as implemented in one embodiment of the present invention.
- the clock generation block 30 includes a phase locked loop (PLL) 50 and a pair of registers 54 and 56 .
- the first register stores a first set of parameters that configure the PLL to produce the output clock 32 with an output frequency that matches the slow frame rate.
- the second register stores a second set of parameters that configure the PLL to produce an output clock 32 having an output frequency that matches the fast frame rate.
- These parameters may represent a fraction, N/M, that is multiplied by a reference frequency of the PLL 50 to achieve the desired output frequency.
- the frequency control signal 22 determines which of the two parameter sets is provided to the PLL 50 such that the appropriate frame rate is generated. This may be accomplished through the use of a multiplexor 52 , or some other selection means.
- the clock configuration bus 42 is coupled to the first and second registers 54 and 56 to allow the parameter sets within the registers to be configured by the processor 40 .
- the processor 40 receives a difference value corresponding to an initialization measurement performed by the measuring block 10 . Based on this initialization difference value, the processor calculates the first and second sets of parameters to be stored within the first and second registers 54 and 56 . The processor determines the parameter sets such that the fast frame rate and the slow frame rate produced by the PLL 50 are such that the first frame period closely approximates the second frame period as described earlier.
- An optimal, or ideal frequency would cause the first frame period to match the second frame period.
- the resolution of the frequency levels which the PLL 50 can generate is limited.
- the slow frame rate and the fast frame rate are the best approximations to the ideal frequency that can be generated by the PLL 50 . Because these frame rates do not match the ideal frequency, some deviation between the first frame period and the second frame period will occur.
- the fast frame rate is used, the first frame period will become shorter and the offset of the start of the first frame period with respect to the start of the second frame period will gradually be reduced. At some point, the start of the first frame period will begin to be detected prior to the start of the second frame period. The difference will continue to be measured, and the fast frame rate utilized until the difference exceeds the shorter threshold.
- the frequency control signal 22 will switch the PLL to the parameter set corresponding to the slow frame rate.
- the first frame period will lengthen and the start of the first frame period will again approach the start of the second frame period. It will close the gap and eventually pass the start of the first frame period and continue to occur later and later with respect to the start of the second frame period until the difference between the two periods exceeds the second threshold once again.
- the frequency control signal 22 will switch back such that the fast frame rate is produced by the PLL 50 . As such, over time the average of the first frame period will match the second frame period.
- FIG. 3 illustrates an alternate embodiment of a clock generation block 30 in accordance with the present invention.
- the clock generation block 30 of FIG. 3 includes a slippable PLL 60 , and an accumulator 70 .
- the slippable PLL 60 is a PLL which can insert slips into the output clock that it produces.
- a slip effectively extends a single period of the output clock by one-fifth of that period's normal length. Note that in other embodiments, the amount of the time added by a slip to the period of the clock may vary.
- the specific operation of the slippable PLL is detailed in a co-pending patent application entitled “Method and Apparatus for Controlling an Output Frequency of a Phase Locked Loop”, filed on Jun. 16, 1997, having a Ser. No.
- the slippable PLL 60 can effectively alter the average frequency of the output clock that it produces. From a base frequency, the slippable PLL can produce various average frequencies that are less than the base frequency. If more slips are included in the output clock stream, a lower frequency clock is effectively produced, whereas if fewer slips are included, the average frequency is still lower than the base frequency, but not as low as the average frequency created with more slips.
- the slippable PLL achieves these varying average output frequencies by injecting deterministic jitter into the clock signal produced such that certain clock periods are increased, which alters the average output frequency of the slippable PLL.
- the clock generation block 30 of FIG. 3 performs the same function of the clock generation block of FIG. 2 in that it produces an output clock 32 at one of two different average output frequencies. These frequencies correspond to the slow frame rate and the fast frame rate described above.
- the slippable PLL 60 inserts a different number of slips into the output clock 32 on a frame-by-frame basis.
- the accumulator 70 controls when a slip is implemented in the output clock stream using the slip request signal 72 . Whenever the slip request signal 72 is asserted, the slippable PLL 60 inserts a slip into the output clock stream 32 .
- the base frequency of the slippable PLL 60 is greater than the average frequencies of the fast frame rate and the slow frame rate, such that the variable injection of slips slows the effective, or average output frequency of the slippable PLL 60 by an amount that results in one of the fast frame rate and the slow frame rate.
- the accumulator stores a value that is incremented by an increment value based on the output frequency of the output clock 32 .
- the accumulator is a fixed size, and when the accumulator rolls over as the maximum value of the accumulator is exceeded, the slip request signal is asserted.
- the slip request signal is derived from the carry out signal of the accumulator 70 . Thus, the slip request will be asserted each time the accumulator rolls over and a carry would be produced.
- the increment value utilized by the accumulator 70 is controlled. A higher increment value will cause the accumulator to roll over more often, resulting in more slip requests. Similarly, a smaller increment value will result in the accumulator rolling over less frequently, and a result in less frequent slip requests.
- the accumulator 70 preferably includes an adder 74 .
- the adder 74 adds the previous accumulated value to the increment value provided to the adder 74 .
- the increment value is preferably selected from one of two values, where a first increment value corresponds to the number of slips required to achieve the fast frame rate, and the other increment value will cause the adder to roll over the number of times equivalent to the slips required to achieve the slow frame rate.
- these increment values are stored in slow rate register 76 and fast rate register 78 . Which of these two increment values is provided to the adder is controlled by the frequency control signal 22 , and this selection may be achieved using a multiplexor 77 or some other selection device.
- the clock configuration bus 42 is provided from the processor 40 to the slow rate register 76 and the fast rate register 78 to allow the increment value stored within these registers to be configured.
- the processor receives the difference value corresponding to an initialization measurement, and the processor calculates the slow and fast increment values based on the difference value corresponding to the initialization measurement to determine the appropriate increments to achieve the desired slow and fast frame rates. The calculations are preferably performed using software.
- the processor 40 then stores the fast increment value in the fast rate register and the slow increment value in the slow rate register. Note that the processor's determination of these increment values is going to be based on the size of the adder 74 and the base frequency of the slippable PLL 60 . In other embodiments, the slippable PLL 60 may be configured by the processor 40 to implement a specific base frequency that is appropriate for the specific implementation.
- FIG. 4 illustrates a frame synchronization processor 100 that achieves the same result as the frame synchronization circuit of FIG. 1, whereas more aspects of the circuitry are included in software rather than hardware. It should be apparent to one of ordinary skill in the art that many of the required functions of the present invention could be implemented in either software or hardware, and the selection of how each function is performed may be based on a number of different factors.
- the frame synchronization processor 100 includes a processing module 102 , memory 104 , and preferably also includes a phase locked loop 106 .
- the processing module 102 receives the TV start pulse 12 and the CRT start pulse 14 such that a difference between these two start pulses and a determination as to the leading start pulse can be determined.
- the processing module 102 can, through the use of software instructions stored within the memory 104 , modify the frame rate produced by the PLL 106 to produce an adjusted frame rate 108 that, on average, synchronizes two frame periods associated with the received start pulses.
- the processing module 102 may include a single processing entity or a plurality of processing entities.
- a processing entity may include a microprocessor, microcontroller, microcomputer, digital signal processor, central processing unit, state machine, group of logic circuitry, and/or any device that processes information based on operational and/or programming instructions.
- the memory 104 may be a single memory device or a plurality of memory devices.
- Such a memory device may be a read-only memory device, a random access memory device, floppy disk, hard drive memory, CD memory, magnetic tape memory, DVD memory, and/or any device that stores digital information. Note that when the processing module 102 has one or more of its functions performed by a state machine and/or logic circuitry, the memory containing the corresponding operational instructions is embedded within the state machine and/or logic circuitry.
- FIG. 5 illustrates a flow diagram of a method for frame synchronization.
- the method begins at step 200 , where the difference between a first frame period and a second frame period is measured. Once again, it is important that the frame periods are initially configured such that they are approximately the same. This allows the slave frame period to be adjusted by an amount that allows it to be synchronized to the master frame period, but does not induce undesired visual artifacts. Measuring the difference between the first frame period and the second frame period preferably includes measuring the absolute value of the difference between the two frame periods, and also which of the frame periods is shorter.
- the first frame period corresponds to a first frame rate
- the second frame period corresponds to a second frame rate.
- the first frame period preferably corresponds to a frame period associated with a TV display signal
- the second frame period preferably corresponds to a CRT display signal.
- the techniques for frame synchronization described herein may be applicable in many other applications.
- a second threshold which is a large threshold.
- This large threshold corresponds to a determination as to whether the two frame periods are completely misaligned. If this is the case, and the second threshold has been exceeded, the method proceeds to step 204 where a forced restart is implemented.
- the forced restart causes the first frame period to begin based on the start pulse of the second frame period. This will achieve some level of alignment and synchronization between the two frame periods.
- step 206 the difference between the two frame periods is compared with a first threshold, which is smaller than the second threshold.
- the smaller threshold corresponds to the point where the two frame periods are fairly close, but the synchronization of the two periods is beginning to drift outside of an acceptable range. As such, if it is determined that the difference does not exceed this small threshold, the difference between the two frame periods is deemed acceptable, and the method proceeds back to 200 to measure the difference for the next frame period. If it is determined at step 202 the different exceeds the small threshold, and adjustment of the first frame period is required, the method proceeds to step 208 .
- step 208 it is determined whether the first frame period is greater than the second frame period. If the first frame period is greater than the second frame period, then the first frame rate is too slow, and the method proceeds to step 212 , where the first frame rate is replaced with a fast frame rate. Similarly, if it is determined at step 208 that the first frame period is shorter than the second frame period, the method proceeds to step 210 where the first frame rate is replaced with a slow frame rate.
- the fast and slow frame rates correspond to two frame rates that closely approximate an ideal frame rate that would cause the two frame periods to be synchronized. By switching between the fast and slow frame rate based on whether or not the first frame period has strayed from the second frame period by the small threshold, the average frame period of the first frame period matches the second frame period. This causes the asynchronous frame periods to be effectively synchronized.
- phase locked loop receives two different sets of parameters where each set of parameter produces one of the fast frame rate and the slow frame rate.
- the parameters provided to the phase locked loop are switched back and forth accordingly.
- the method determines a number of slips to include in a loop frame period to achieve the fast frame rate and the slow frame rate.
- the PLL 106 is a slippable PLL, as was described earlier.
- control information is provided to the slippable phase locked loop to produce the output clock having an average output frequency that is equal to one of the fast frame rate and the slow frame rate.
- the number of slips injected into the output clock is determined based on how much the frame period corresponding to the output clock must be reduced by, and how much reduction is achieved by each slip.
- the slips are spread out over the entire frame, and the total number of slips per frame must be determined in order to configure the slippable PLL properly.
- the increment value of an accumulator I set such that the accumulator will wrap around and determine the appropriate slip insertion points.
- the accumulator is used because it will spread the slip events throughout the frame period, thus minimizing any potential visual effects.
- the accumulator increments at the output frequency of the slippable phase locked loop, and with each increment, the accumulator approaches its maximum value. When the accumulator exceeds the maximum value and rolls over, the carry bit of the accumulator is provided as a slip request signal to the slippable PLL.
- the increment value provided to the accumulator may be derived from two registers.
- a first register stores a slow increment value corresponding to the slow frame rate, and the second register stores a fast increment value corresponding to the fast frame rate. These contents of these registers are then selectively provided to the accumulator as the increment value.
- the processing module 102 In order to initialize these registers, the processing module 102 must calculate the number of slips to include in the loop frame period to achieve the slow frame rate. It then calculates the slow increment value based on the number of slips, where this calculation will be based on the size of the accumulator. Finally, the slow increment value is stored in the first register. Similarly, a second number of slips to include in the loop frame period to achieve the fast frame rate is determined. The fast increment value is then calculated based on this second number of slips and the size of the accumulator. Once the fast increment value has been determined, it is stored within the second register.
- the first frame period will effectively be synchronized with the second frame period by causing the clock corresponding to the first frame period to switch between the two frequencies that closely approximate an ideal frequency that would synchronize the two frame periods exactly.
- Limitations in phase locked loop technology force the flipping between two frequencies that approximate the ideal frequency rather than a phase locked loop which simply implements the ideal frequencies.
- the point where the switch from one frequency to the other occurs is determined based on a trade-off between different potential visual artifacts.
- Some jitter will be induced into the system when the frequency switches between the slow rate and the fast rate.
- a tight threshold level that determines when the frequency is switched between the slow rate and the fast rate will cause more frequent switches between the two rates and therefore induce more instances of small, tight jitter into the system.
- a larger threshold will cause less frequent jitter, but the jitter will be of a greater magnitude and possibly more noticeable. Therefore, the trade-off is between a large amount of small tight jitter and infrequent injections of larger jitter into the system.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Synchronizing For Television (AREA)
Abstract
Description
Claims (18)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/316,458 US6754234B1 (en) | 1999-05-21 | 1999-05-21 | Method and apparatus for asynchronous frame synchronization |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/316,458 US6754234B1 (en) | 1999-05-21 | 1999-05-21 | Method and apparatus for asynchronous frame synchronization |
Publications (1)
Publication Number | Publication Date |
---|---|
US6754234B1 true US6754234B1 (en) | 2004-06-22 |
Family
ID=32468882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/316,458 Expired - Lifetime US6754234B1 (en) | 1999-05-21 | 1999-05-21 | Method and apparatus for asynchronous frame synchronization |
Country Status (1)
Country | Link |
---|---|
US (1) | US6754234B1 (en) |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040232936A1 (en) * | 2003-05-22 | 2004-11-25 | Teseda Corporation | Tester architecture for testing semiconductor integrated circuits |
US20080304573A1 (en) * | 2007-06-10 | 2008-12-11 | Moss Nicolas | Capturing media in synchronized fashion |
US20090002554A1 (en) * | 2007-06-28 | 2009-01-01 | Samsung Electronics Co., Ltd. | Electric field effect read/write head, method of manufacturing the same, and electric field effect storage apparatus having the same |
US20090161809A1 (en) * | 2007-12-20 | 2009-06-25 | Texas Instruments Incorporated | Method and Apparatus for Variable Frame Rate |
US20090161653A1 (en) * | 2007-12-19 | 2009-06-25 | Sasken Communication Technologies Limited | Method and system for efficient synchronization in a wireless communication system |
EP2124446A1 (en) * | 2008-05-19 | 2009-11-25 | Saab Ab | A control device and a method for adjusting the frame rate of a video image sequence |
US20090327386A1 (en) * | 2008-06-25 | 2009-12-31 | Joel Warren Schoenblum | Combined deblocking and denoising filter |
US20100309991A1 (en) * | 2009-06-05 | 2010-12-09 | Schoenblum Joel W | Adaptive thresholding of 3d transform coefficients for video denoising |
US20100309990A1 (en) * | 2009-06-05 | 2010-12-09 | Schoenblum Joel W | Estimation of temporal depth of 3d overlapped transforms in video denoising |
US20100309989A1 (en) * | 2009-06-05 | 2010-12-09 | Schoenblum Joel W | Out of loop frame matching in 3d-based video denoising |
US20100309377A1 (en) * | 2009-06-05 | 2010-12-09 | Schoenblum Joel W | Consolidating prior temporally-matched frames in 3d-based video denoising |
US20100309379A1 (en) * | 2009-06-05 | 2010-12-09 | Schoenblum Joel W | Efficient spatial and temporal transform-based video preprocessing |
US8472725B2 (en) | 2010-06-02 | 2013-06-25 | Cisco Technology, Inc. | Scene change detection and handling for preprocessing video with overlapped 3D transforms |
US20140022457A1 (en) * | 2012-07-19 | 2014-01-23 | Barco Nv | Systems and methods for latency stabilization over an ip network |
US9628674B2 (en) | 2010-06-02 | 2017-04-18 | Cisco Technology, Inc. | Staggered motion compensation for preprocessing video with overlapped 3D transforms |
US9635308B2 (en) | 2010-06-02 | 2017-04-25 | Cisco Technology, Inc. | Preprocessing of interlaced video with overlapped 3D transforms |
US9832351B1 (en) | 2016-09-09 | 2017-11-28 | Cisco Technology, Inc. | Reduced complexity video filtering using stepped overlapped transforms |
US9912844B2 (en) * | 2016-05-13 | 2018-03-06 | Mstar Semiconductor, Inc. | Video signal output system and method |
US10171710B2 (en) * | 2012-04-04 | 2019-01-01 | Mitsubishi Electric Corporation | Device and method for digital data distribution, device and method for digital data reproduction, synchronized reproduction system, program, and recording medium |
US10523947B2 (en) | 2017-09-29 | 2019-12-31 | Ati Technologies Ulc | Server-based encoding of adjustable frame rate content |
US10594901B2 (en) | 2017-11-17 | 2020-03-17 | Ati Technologies Ulc | Game engine application direct to video encoder rendering |
US20200184929A1 (en) * | 2018-12-11 | 2020-06-11 | Microsoft Technology Licensing, Llc | Phase locked multi-display synchronization |
US11100604B2 (en) | 2019-01-31 | 2021-08-24 | Advanced Micro Devices, Inc. | Multiple application cooperative frame-based GPU scheduling |
WO2021245538A1 (en) * | 2020-06-01 | 2021-12-09 | Ati Technologies Ulc | Display cycle control system |
US11290515B2 (en) | 2017-12-07 | 2022-03-29 | Advanced Micro Devices, Inc. | Real-time and low latency packetization protocol for live compressed video data |
US11418797B2 (en) | 2019-03-28 | 2022-08-16 | Advanced Micro Devices, Inc. | Multi-plane transmission |
US11488328B2 (en) | 2020-09-25 | 2022-11-01 | Advanced Micro Devices, Inc. | Automatic data format detection |
CN116193044A (en) * | 2023-04-28 | 2023-05-30 | 深圳市微智体技术有限公司 | Method, device, equipment and medium for synchronously displaying multiple image frames |
US11688031B2 (en) | 2020-10-01 | 2023-06-27 | Ati Technologies Ulc | Resynchronization of a display system and GPU after panel self refresh |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5524107A (en) * | 1992-08-21 | 1996-06-04 | General Datacomm, Inc. | Multiport multidrop digital system |
US5963200A (en) * | 1995-03-21 | 1999-10-05 | Sun Microsystems, Inc. | Video frame synchronization of independent timing generators for frame buffers in a master-slave configuration |
US6181300B1 (en) * | 1998-09-09 | 2001-01-30 | Ati Technologies | Display format conversion circuit with resynchronization of multiple display screens |
US6195393B1 (en) * | 1998-07-06 | 2001-02-27 | General Instrument Corporation | HDTV video frame synchronizer that provides clean digital video without variable delay |
-
1999
- 1999-05-21 US US09/316,458 patent/US6754234B1/en not_active Expired - Lifetime
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5524107A (en) * | 1992-08-21 | 1996-06-04 | General Datacomm, Inc. | Multiport multidrop digital system |
US5963200A (en) * | 1995-03-21 | 1999-10-05 | Sun Microsystems, Inc. | Video frame synchronization of independent timing generators for frame buffers in a master-slave configuration |
US6195393B1 (en) * | 1998-07-06 | 2001-02-27 | General Instrument Corporation | HDTV video frame synchronizer that provides clean digital video without variable delay |
US6181300B1 (en) * | 1998-09-09 | 2001-01-30 | Ati Technologies | Display format conversion circuit with resynchronization of multiple display screens |
Cited By (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6956394B2 (en) * | 2003-05-22 | 2005-10-18 | Teseda Corporation | Tester architecture for testing semiconductor integrated circuits |
US20040232936A1 (en) * | 2003-05-22 | 2004-11-25 | Teseda Corporation | Tester architecture for testing semiconductor integrated circuits |
US8958014B2 (en) | 2007-06-10 | 2015-02-17 | Apple Inc. | Capturing media in synchronized fashion |
US20080304573A1 (en) * | 2007-06-10 | 2008-12-11 | Moss Nicolas | Capturing media in synchronized fashion |
US8576922B2 (en) * | 2007-06-10 | 2013-11-05 | Apple Inc. | Capturing media in synchronized fashion |
US20090002554A1 (en) * | 2007-06-28 | 2009-01-01 | Samsung Electronics Co., Ltd. | Electric field effect read/write head, method of manufacturing the same, and electric field effect storage apparatus having the same |
US20090161653A1 (en) * | 2007-12-19 | 2009-06-25 | Sasken Communication Technologies Limited | Method and system for efficient synchronization in a wireless communication system |
US8385256B2 (en) * | 2007-12-19 | 2013-02-26 | Sasken Communication Technologies Ltd | Method and system for efficient synchronization in a wireless communication system |
US20090161809A1 (en) * | 2007-12-20 | 2009-06-25 | Texas Instruments Incorporated | Method and Apparatus for Variable Frame Rate |
EP2124446A1 (en) * | 2008-05-19 | 2009-11-25 | Saab Ab | A control device and a method for adjusting the frame rate of a video image sequence |
WO2009142582A1 (en) * | 2008-05-19 | 2009-11-26 | Saab Ab | A control device and a method for adjusting the frame rate of a video image sequence |
US20090327386A1 (en) * | 2008-06-25 | 2009-12-31 | Joel Warren Schoenblum | Combined deblocking and denoising filter |
US8781244B2 (en) | 2008-06-25 | 2014-07-15 | Cisco Technology, Inc. | Combined deblocking and denoising filter |
US8285068B2 (en) | 2008-06-25 | 2012-10-09 | Cisco Technology, Inc. | Combined deblocking and denoising filter |
US20100309377A1 (en) * | 2009-06-05 | 2010-12-09 | Schoenblum Joel W | Consolidating prior temporally-matched frames in 3d-based video denoising |
US8638395B2 (en) | 2009-06-05 | 2014-01-28 | Cisco Technology, Inc. | Consolidating prior temporally-matched frames in 3D-based video denoising |
US20100309379A1 (en) * | 2009-06-05 | 2010-12-09 | Schoenblum Joel W | Efficient spatial and temporal transform-based video preprocessing |
US9883083B2 (en) | 2009-06-05 | 2018-01-30 | Cisco Technology, Inc. | Processing prior temporally-matched frames in 3D-based video denoising |
US8571117B2 (en) | 2009-06-05 | 2013-10-29 | Cisco Technology, Inc. | Out of loop frame matching in 3D-based video denoising |
US20100309989A1 (en) * | 2009-06-05 | 2010-12-09 | Schoenblum Joel W | Out of loop frame matching in 3d-based video denoising |
US8615044B2 (en) | 2009-06-05 | 2013-12-24 | Cisco Technology, Inc. | Adaptive thresholding of 3D transform coefficients for video denoising |
US8619881B2 (en) * | 2009-06-05 | 2013-12-31 | Cisco Technology, Inc. | Estimation of temporal depth of 3D overlapped transforms in video denoising |
US8358380B2 (en) | 2009-06-05 | 2013-01-22 | Cisco Technology, Inc. | Efficient spatial and temporal transform-based video preprocessing |
US9237259B2 (en) | 2009-06-05 | 2016-01-12 | Cisco Technology, Inc. | Summating temporally-matched frames in 3D-based video denoising |
US20100309990A1 (en) * | 2009-06-05 | 2010-12-09 | Schoenblum Joel W | Estimation of temporal depth of 3d overlapped transforms in video denoising |
US20100309991A1 (en) * | 2009-06-05 | 2010-12-09 | Schoenblum Joel W | Adaptive thresholding of 3d transform coefficients for video denoising |
US9342204B2 (en) | 2010-06-02 | 2016-05-17 | Cisco Technology, Inc. | Scene change detection and handling for preprocessing video with overlapped 3D transforms |
US9628674B2 (en) | 2010-06-02 | 2017-04-18 | Cisco Technology, Inc. | Staggered motion compensation for preprocessing video with overlapped 3D transforms |
US9635308B2 (en) | 2010-06-02 | 2017-04-25 | Cisco Technology, Inc. | Preprocessing of interlaced video with overlapped 3D transforms |
US8472725B2 (en) | 2010-06-02 | 2013-06-25 | Cisco Technology, Inc. | Scene change detection and handling for preprocessing video with overlapped 3D transforms |
US10171710B2 (en) * | 2012-04-04 | 2019-01-01 | Mitsubishi Electric Corporation | Device and method for digital data distribution, device and method for digital data reproduction, synchronized reproduction system, program, and recording medium |
US8891014B2 (en) * | 2012-07-19 | 2014-11-18 | Barco Nv | Systems and methods for latency stabilization over an IP network |
US20140022457A1 (en) * | 2012-07-19 | 2014-01-23 | Barco Nv | Systems and methods for latency stabilization over an ip network |
US9912844B2 (en) * | 2016-05-13 | 2018-03-06 | Mstar Semiconductor, Inc. | Video signal output system and method |
US9832351B1 (en) | 2016-09-09 | 2017-11-28 | Cisco Technology, Inc. | Reduced complexity video filtering using stepped overlapped transforms |
US10523947B2 (en) | 2017-09-29 | 2019-12-31 | Ati Technologies Ulc | Server-based encoding of adjustable frame rate content |
US10594901B2 (en) | 2017-11-17 | 2020-03-17 | Ati Technologies Ulc | Game engine application direct to video encoder rendering |
US11290515B2 (en) | 2017-12-07 | 2022-03-29 | Advanced Micro Devices, Inc. | Real-time and low latency packetization protocol for live compressed video data |
US10789911B2 (en) * | 2018-12-11 | 2020-09-29 | Microsoft Technology Licensing, Llc | Phase locked multi-display synchronization |
US20200184929A1 (en) * | 2018-12-11 | 2020-06-11 | Microsoft Technology Licensing, Llc | Phase locked multi-display synchronization |
US11100604B2 (en) | 2019-01-31 | 2021-08-24 | Advanced Micro Devices, Inc. | Multiple application cooperative frame-based GPU scheduling |
US11418797B2 (en) | 2019-03-28 | 2022-08-16 | Advanced Micro Devices, Inc. | Multi-plane transmission |
WO2021245538A1 (en) * | 2020-06-01 | 2021-12-09 | Ati Technologies Ulc | Display cycle control system |
US11430410B2 (en) | 2020-06-01 | 2022-08-30 | Ati Technologies Ulc | Display cycle control system |
US11488328B2 (en) | 2020-09-25 | 2022-11-01 | Advanced Micro Devices, Inc. | Automatic data format detection |
US11688031B2 (en) | 2020-10-01 | 2023-06-27 | Ati Technologies Ulc | Resynchronization of a display system and GPU after panel self refresh |
CN116193044A (en) * | 2023-04-28 | 2023-05-30 | 深圳市微智体技术有限公司 | Method, device, equipment and medium for synchronously displaying multiple image frames |
CN116193044B (en) * | 2023-04-28 | 2023-08-15 | 深圳市微智体技术有限公司 | Method, device, equipment and medium for synchronously displaying multiple image frames |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6754234B1 (en) | Method and apparatus for asynchronous frame synchronization | |
TWI220368B (en) | Method and apparatus for bridging different video format | |
JP2942750B2 (en) | Method and apparatus for clock recovery in a digital display | |
KR101516849B1 (en) | Circuit for correcting an output clock frequency in a receiving device | |
US8384707B2 (en) | Method for synchronizing display of images in a multi-display computer system | |
KR100195817B1 (en) | Synchronous digital signal to asynchronous digital signal desynchronizer | |
TWI462573B (en) | Display timing control circuit and method thereof | |
US9124415B2 (en) | PLL glitchless phase adjustment system | |
JPH06120934A (en) | Apparatus and method for desynchronization | |
JPH071423B2 (en) | Pulse generator | |
US5959691A (en) | Digital display apparatus having image size adjustment | |
US20020167365A1 (en) | Intelligent phase lock loop | |
CA2263221C (en) | Pll circuit for digital display apparatus | |
US7405633B2 (en) | Methods and apparatus for loop bandwidth control for a phase-locked loop | |
JPH10341413A (en) | Video signal processor | |
EP0859470B1 (en) | Synchronizing signal processing unit | |
US5974221A (en) | Playback device | |
US20070152996A1 (en) | Methods and devices for signal synchronization | |
US6034736A (en) | Digital horizontal flyback control circuit | |
US20020036708A1 (en) | Synchronous signal generation circuit and synchronous signal generation method | |
KR0156394B1 (en) | An apparatus for executing fast mode in digital phase synchronization loop | |
KR100190005B1 (en) | Digital sync. correction method for on screen display | |
JP2998716B2 (en) | Frame synchronization control circuit | |
KR100294265B1 (en) | Liquid crystal display device generating pixel clock using composite type synchronous signal | |
JPH10105110A (en) | Image adjusting circuit for matraix type display element |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: ATI INTERNATIONAL, SRL, BARBADOS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:WIESNER, CHRISTIAN J.;CARTER, COLLIS QUINN;REEL/FRAME:009985/0448;SIGNING DATES FROM 19990514 TO 19990518 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
AS | Assignment |
Owner name: ATI TECHNOLOGIES ULC, CANADA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ATI INTERNATIONAL SRL;REEL/FRAME:023574/0593 Effective date: 20091118 Owner name: ATI TECHNOLOGIES ULC,CANADA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ATI INTERNATIONAL SRL;REEL/FRAME:023574/0593 Effective date: 20091118 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
AS | Assignment |
Owner name: ADVANCED SILICON TECHNOLOGIES, LLC, NEW HAMPSHIRE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ATI TECHNOLOGIES ULC;REEL/FRAME:036703/0421 Effective date: 20150925 |
|
FPAY | Fee payment |
Year of fee payment: 12 |