本公開總體上涉及視頻處理,更具體地涉及用于穩(wěn)定視頻定時的基于定時的校正器。
背景技術:
模擬視頻(例如,諸如ntsc、pal和secam的格式的復合視頻,其有時被稱為cvbs)具有通常由垂直同步(vsync)信號和水平同步(hsync)信號定義的定時。然而,由這些信號定義的定時可能以不符合針對數字視頻的要求的方式漂移。
例如,當轉換成數字時,可以使用模擬鎖相環(huán)(apll)來鎖定模擬視頻。然而,模擬視頻的定時可以變化。例如,水平行定時可以在更長和更短的持續(xù)時間之間漂移。模擬視頻信號可以用可變定時來采樣,并且因此產生也在定時上變化的數字視頻信號??勺冃钥赡芊浅4?,使得所得到的數字視頻信號將不符合。例如,數字視頻信號可以由具有比模擬定時的可變性更嚴格的抖動要求的像素時鐘來時鐘控制。
例如,高清晰度多媒體接口(hdmi)規(guī)范將時鐘抖動限制在大約0.3tbit,這是時鐘周期上的約為3%的抖動容限。容限也可以由其他要求的驅動,諸如對音頻信號的更嚴格的要求。例如,某些電視機只允許+/-1或+/-2音頻符合性測試規(guī)范步長的變化。
基于定時的校正器(tbc)可以用于調整視頻定時信號。幀tbc可以通過使用穩(wěn)定的振蕩器和幀緩沖器來平滑視頻顯示。針對模擬視頻的每個幀的數字數據被存儲到幀緩沖器,并且然后根據基于振蕩器的固定頻率時鐘傳輸出幀緩沖器。以這種方式,數字視頻數據由時鐘來時鐘控制,其穩(wěn)定性由振蕩器的穩(wěn)定性而不是模擬定時信號的穩(wěn)定性確定。然而,該解決方案是昂貴的,因為它需要足夠大的緩沖器來至少存儲整個數據幀。這需要硅面積和引腳資源。
相比之下,行tbc緩沖幾行視頻數據而不是整個幀。緩沖的行由基于穩(wěn)定振蕩器的時鐘來時鐘控制輸出。這比幀tbd成本更低,但是行tbc有其自己的缺點。行tbc丟棄或重復視頻數據不是不常見的,即使在正常播放模式期間。因為輸入視頻定時可以顯著變化,所以在行緩沖器中接收的視頻內容可以顯著變化。在行緩沖器中接收的視頻內容可能不足以用于顯示,或者視頻內容可能超過行緩沖器的容量。
因此,當將音頻視頻信號轉換成數字時,需要更好的解決方案來穩(wěn)定視頻定時信號。
技術實現要素:
本公開的實施例涉及一種穩(wěn)定視頻定時信號的設備。各種實施例被配置為基于模擬視頻信號的輸入vsync信號生成輸出視頻時鐘信號,但不超過對輸出視頻時鐘信號的抖動要求。
在一個實現中,這樣的設備包括視頻pll控制器和vsync發(fā)生器。視頻pll控制器可以包括相位頻率檢測器、數字濾波器和限制器模塊。vsync發(fā)生器可以包括像素時鐘發(fā)生器和視頻定時發(fā)生器。視頻pll控制器基于輸入vsync信號和輸出vsync信號之間的差來生成分數。vsync發(fā)生器生成視頻定時信號的集合,包括輸出hsync、輸出vsync和數據使能(“de”)。視頻定時信號的集合可以與視頻數據、輸入vsync信號和輸入hsync信號一起被提供給tbc控制器。視頻數據可以根據輸入定時信號被寫入行緩沖器,并且根據輸出定時信號從行緩沖器中讀出。
這種類型的設備可以用于很多應用,包括將模擬視頻信號轉換成數字視頻信號。在一個實現中,該設備由cvbs解碼器、tbc控制器、行緩沖器和hdmi編碼器來實現。該設備調節(jié)模擬視頻信號的視頻定時信號,使得來自行緩沖器的輸出視頻的輸出視頻時鐘符合抖動要求。各種實施例可以包括完全可控的鎖相環(huán)(“pll”),其包括模擬pll和數字pll??梢哉{節(jié)時鐘頻率以跟隨輸入vsync速率并且符合抖動要求??梢员苊鈭D片滾動、正常播放模式下的人造圖片、視頻黑屏、音頻靜音問題和很多其他問題。
其他方面包括與前述相關的組件、設備、系統(tǒng)、改進、方法、過程、應用和其他技術。
附圖說明
通過結合附圖考慮以下詳細描述,可以容易地理解本文公開的實施例的教導。
圖1是用于將模擬視頻信號轉換成數字視頻數據和對應的時鐘的示例設備的框圖。
圖2是適于在圖1的設備中使用的用于穩(wěn)定定時信號的示例基于定時的校正器的框圖。
圖3是適于在圖2的基于定時的校正器中使用的數字濾波器的框圖。
具體實施方式
附圖和以下描述僅通過說明的方式涉及各種實施例。應當注意,從下面的討論中,本文中公開的結構和方法的替代實施例將被容易地識別為可以在不脫離本文中討論的原理的情況下采用的可行的替代方案?,F在將詳細參考幾個實施例,其示例在附圖中示出。值得注意的是,在可行的情況下,類似或相似的附圖標記可以在附圖中使用,并且可以指示類似或相似的功能。
圖1是用于將模擬視頻信號轉換成數字視頻數據和對應的時鐘的示例設備的框圖。設備100包括cvbs解碼器110、基于定時的校正器(tbc)150、tbc控制器155、行緩沖器160和hdmi編碼器190。在該示例中,cvbs解碼器耦合到tbc150和tbc控制器155。tbc150耦合到tbc控制器155,tbc控制器155耦合到行緩沖器160。行緩沖器160還耦合到hdmi編碼器190。hdmi編碼器僅是示例。也可以使用除了hdmi之外的數字視頻格式。
cvbs解碼器110利用諸如垂直同步(vsync)信號和水平同步(hsync)信號的定時信號將輸入視頻信號解碼為數字視頻數據。在一些實施例中,輸入視頻信號是模擬視頻信號的采樣版本。例如,數字視頻數據可以是視頻幀的yuv格式。也可以使用其他數字視頻格式。
由cvbs解碼器生成的定時信號將被稱為“輸入”定時信號,因為它們基于來自模擬視頻信號的定時信號,并且將經受與原始模擬定時信號相同的定時可變性。例如,輸入vsync和hsync信號(在圖中表示為輸入vs、hs)可以是模擬vsync和hsync信號的采樣版本。如果輸出視頻時鐘直接基于這些輸入vsync和hsync信號,則它也將經受相同的定時變化,這可能使輸出視頻時鐘不符合其定時要求。
tbc150穩(wěn)定這些定時信號,使得輸出視頻時鐘信號符合其抖動要求。在該示例中,tbc150接收時間變化的輸入vsync信號,并且在仍然嘗試跟隨輸入vsync信號的同時生成更穩(wěn)定的輸出vsync信號。從輸出vsync信號生成輸出hsync信號。這些調節(jié)后的信號、而不是輸入vsync和hsync信號用于定時數字視頻數據。也就是說,輸出視頻時鐘信號是基于輸出vsync和hsync信號而不是基于輸入vsync和hsync信號生成的。
tbc控制器155接收數字視頻數據和定時信號的多個集合。這些可以來自cvbs解碼器110和tbc150二者。tbc控制器155基于這些定時信號來控制行緩沖器160。在圖1的示例中,數字視頻數據被寫入由cvbs解碼器110生成的原始定時信號(即,輸入hsync和vsync信號以及數據使能(de))時鐘控制的行緩沖器160中。數字視頻從由tbc150生成的定時信號(即,輸出hsync和vsync信號以及數據使能(de))時鐘控制的行緩沖器中讀出數據。
tbc可以自動重新調節(jié)輸出時鐘頻率以跟隨輸入vsync速率。圖片顯示可以很快恢復正常。例如,當源視頻處于最壞情況時,輸出視頻內容可能被破壞。換句話說,源視頻的定時信號中的過度變化可能導致被破壞的視頻內容,因為行緩沖器不能補償巨大的定時變化。當源視頻從最壞情況恢復正常時,可以重置行緩沖器寫和讀指針,使得輸出視頻可以立即重置為正常。
根據由tbc150生成的定時信號,將數字視頻數據從行緩沖器160傳輸到hdmi編碼器190。使用對應的視頻時鐘信號(例如像素時鐘),由hdmi編碼器190將數字視頻數據編碼成hdmi數字視頻數據信號。該視頻時鐘信號基于由tbc150調整的輸出vsync和hsync信號,使得所得到的視頻時鐘信號符合其抖動要求。
圖2是適合于在圖1的設備中使用的用于穩(wěn)定定時信號的示例基于定時的校正器的框圖。在高級別,tbc150包括視頻pll控制器210和vsync發(fā)生器250。視頻pll控制器210比較輸入vsync信號和輸出vsync信號,并且生成用于調節(jié)輸出vsync信號的控制信號240??刂菩盘?40被設計成使得輸出vsync信號試圖與輸入vsync信號同步,但是在限制內,導致輸出視頻時鐘不超過其抖動要求。例如,如果輸入vsync信號變化太快(即,以使得輸出視頻時鐘超出其抖動容差的方式),則控制信號240將導致輸出vsync信號變化較不快??刂菩盘?40由vsync發(fā)生器250接收,vsync發(fā)生器250根據控制信號生成輸出vsync信號。在該示例中,vsync發(fā)生器250還基于輸出vsync信號(而不是通過調節(jié)輸入hsync信號)來產生輸出hsync信號。
圖2還示出了視頻pll控制器210和vsync發(fā)生器250的示例實施例。在該示例中,視頻pll控制器210包括相位頻率檢測器(pfd)220、數字濾波器225和限制器模塊230。pfd220確定輸入vsync信號和輸出vsync信號之間的相位差。pfd220從兩個方向跟蹤輸入vsync信號(即,可以將輸出vsync信號與緊接在之前的輸入vsync信號或者緊接在之后的輸入vsync信號進行比較)。因此,pfd220可以始終跟蹤最接近輸出vsync信號的輸入vsync信號,使得輸入vsync信號和輸出vsync信號之間的相位差不超過180度(或50%占空比)。
數字濾波器225對相位差進行濾波并且生成vsync調節(jié)信號227。在一個實施例中,數字濾波器225是前饋二階環(huán)路濾波器,其可以改善鎖相環(huán)鎖定行為。數字濾波器225可以添加零點以穩(wěn)定鎖相環(huán),從而去除或減少鎖相過沖。
vsync調節(jié)信號227可以導致超過抖動要求的輸出視頻時鐘。因此,vsync調節(jié)信號227被提供給限制器模塊230,限制器模塊230輸出限制的vsync調節(jié)信號240。在各種實施例中,限制的vsync調節(jié)信號240是分數步長(將在下面更詳細描述)。在圖1的示例中,限制器模塊230包括修剪模塊232和分數步長控制器234。修剪模塊為調節(jié)信號定義預定范圍,包括用于更新分數步長的輸出頻率的上限和下限(例如,-f至+f)。因此,vsync調節(jié)信號227被修剪模塊232修剪到預定義的范圍,使得輸出視頻時鐘滿足抖動要求。
分數步長控制器234限制調節(jié)步長。也就是說,分數步長控制器234確定用于更新分數步長以調整調節(jié)步長和調節(jié)速度的調度。分數步長控制器234基于修剪后的vsync調節(jié)信號227來生成分數步長240。在一個實施例中,分數步長在每個幀處被更新。在另一實施例中,每幾行更新分數步長。在一些實施例中,調節(jié)步長和/或調節(jié)速度是外部可配置的。
圖2所示的示例vsync發(fā)生器250包括像素時鐘發(fā)生器260和視頻定時發(fā)生器270。像素時鐘發(fā)生器260為視頻數據生成像素時鐘信號(即,輸出視頻時鐘)。視頻定時發(fā)生器270生成與像素時鐘信號一致的視頻定時信號的集合,包括輸出hsync,輸出vsync和數據使能(de)。像素時鐘信號符合抖動要求。
在一個實現中,像素時鐘發(fā)生器260包括數字pll(dpll)控制器262和dpll264。dpll控制器262生成數字pll控制信號,其控制dpll264生成像素時鐘信號。在該示例中,dpll控制器262基于限制的vsync調節(jié)信號240(即,由分數步長控制器234生成的分數步長)來生成輸出hsync信號。
dpll控制器262確定用于生成輸出hsync信號的周期。該周期可以從一個hsync信號到下一hsync信號略微變化。在一些實施例中,周期相對于固定時鐘來定義。在以下示例中,時鐘固定為108mhz(8*13.5mhz),并且通過每個周期調節(jié)時鐘周期數來調節(jié)生成輸出hsync信號的周期。hsync周期由基(base)(即hsync周期基)和偏移(即,hsync周期偏移)定義。在該示例中,對于cvbs視頻信號,hsync周期基被設置為6912(當hsync完美定時而無抖動時的108mhz時鐘的周期數)。因此,
(108*6912)/(hs周期)=(n.f*24)/7(1),
其中n是pll整數,并且f是pll分數部分,(n.f*24)/7是dpll輸出時鐘頻率,n.f是到dpll264的配置輸入,24mhz是dpll264的參考時鐘,并且7是后置分頻器值。因此,hsync周期偏移可以由下式表示
delta_n≈delta_f*6912/31.5(2),
其中delta_f是0.5和由視頻pll控制器210生成的pll分數步長之間的差,并且delta_n是hsync周期偏移。當n.f為31.5時,生成的時鐘信號為108mhz。hsync和6912之間的時間差的比率等于n.f和31.5之間的差的比率。
dpll264根據由dpll控制器262提供的控制信號生成像素時鐘信號。隨后像素時鐘信號被提供給視頻定時發(fā)生器270,視頻定時發(fā)生器270根據像素時鐘信號生成視頻定時信號的集合。視頻定時發(fā)生器270生成輸出hsync信號和輸出vsync信號,根據輸出hsync信號和輸出vsync信號,針對每個幀的數字視頻數據從行緩沖器被讀出。像素時鐘發(fā)生器260可以包括被配置為對像素時鐘信號的頻率分頻的分頻器。在一個實施例中,輸出像素時鐘信號為13.5mhz。
圖3是適于在圖2的基于定時的校正器中使用的數字濾波器的框圖。如圖所示,濾波器225是類似前饋二階環(huán)路濾波器。針對該濾波器的傳遞函數為
在閱讀本公開后,本領域技術人員將會理解另外的替代設計。因此,盡管已經示出和描述了本公開的特定實施例和應用,但是應當理解,實施例不限于本文中公開的精確構造和組件,并且可以在不脫離如所附權利要求所限定的本公開的精神和范圍的情況下,對本文中公開的本公開的方法和裝置的布置、操作和細節(jié)做出對于本領域技術人員將變得顯而易見的各種修改、改變和變化。