快速自適應幀率變換的裝置與方法
【專利摘要】本發明涉及圖像處理和顯示領域,為提出一種快速自適應幀率變換的顯示裝置,能夠滿足多種視頻輸入與顯示設備的需求,在實時視頻系統中針對系統要求,快速完成自適應的幀率變換功能,通用性較強。同時在數據高速緩存過程中,可以自適應對數據丟失或溢出進行有效處理,有效提升數據傳輸精度。本發明,快速自適應幀率變換的裝置,結構是,視頻輸入控制單元利用交替存儲的方式將數據分別存入第一行緩存單元與第二行緩存單元;窗選控制單元分別將第一行緩存單元與第二行緩存單元中的行緩存數據篩選調整出相同大小的有效行數據;這以后將有效行數據傳遞到先入先出存儲器FIFO中。本發明主要應用于圖像處理和顯示場合。
【專利說明】
快速自適應幀率變換的裝置與方法
技術領域
[0001]本發明涉及圖像處理和顯示領域,屬于實時視頻的緩存處理與顯示范疇。具體講,涉及快速自適應幀率變換的裝置與方法。
【背景技術】
[0002]隨著工業應用需求的發展,多種視頻圖像采集和顯示設備以及各種視頻格式層出不窮。由于其相互之間本身并不能完全兼容,所以需要不同方法能夠將其進行相互轉換。幀率變換作為一種有效的手段,可以將不同采集設備在不同幀率下的視頻流提升到滿足多種顯示設備需求,越來越受到人們重視。
[0003]幀率提升算法按照是否進行運動估計以及相應的運動補償可以分為兩大類。第一類是運動補償幀率提升算法,該算法主要包含運動估計(Mot1n Estimat1n,ME)和運動補償(Mot1n Compensat1n,MC)兩個部分,主要考慮幀間運動信息來內插幀。1993年De Hann提出了三維遞歸搜索塊匹配算法以增加運動估計的準確性。2002年Blume等人提出了圖像分割技術并對不同區域分別采用不同的估計或補償方法以提升內插幀質量。2004年Dane和Truoug提出基于可變尺寸搜索窗運動估計并采用全搜索塊匹配算法的幀率變換算法。2009年Lei Zhang等人提出基于加權處理的運動估計幀率提升算法。這類包含運動估計等復雜算法的幀率變換方法雖然可以在一定程度上解決運動物體產生的模糊抖動現象,但是操作計算復雜度較高,且算法性能與復雜度成正比,帶來了硬件成本上的巨大挑戰。另一類是非運動補償幀率提升算法,這種依靠場復制或者場平均策略來進行幀率提升的手段在硬件實施上更為廣泛,其優勢主要在于實現簡單,運算速度快,硬件成本與設計成本低。然而這種簡單策略一般是基于固定的輸入輸出幀率比值,確定固定的輸入輸出速度比值,例如從每秒30幀到每秒60幀的幀率提升,首先向存儲器中緩存一幀圖像,然后進行寫一行讀兩行的交替讀寫,即保證每次讀數據量是寫數據流的兩倍,從而保證總體幀率提升兩倍的要求。利用大型緩存資源對視頻幀進行固定多次復制輸出的方法盡管可以實現幀率變換的功能,但是這種方法缺乏可擴展性,只能滿足固定的輸入與輸出設備之間的幀率數值與比例。如何在節省電路資源,且保證視頻的質量與效果的前提下,快速高效自適應的進行幀率變換,可以自動調節幀率變換比例的方法還存在許多挑戰。
[0004]另一方面,隨著半導體傳感技術的快速發展,使用高幀率,大面陣CCD相機來獲取高質量、高分辨率的圖像數據越來越廣泛,因而導致了硬件傳輸的數據量大大提高,且精度要求越來越嚴格。這對圖像的高速緩存提出了挑戰,必須采用合理的高速圖像緩存篩選控制機制,來對硬件傳輸上可能出現的錯誤進行篩選判斷與糾正。從采集圖像數據開始,經過數據緩存,最后由VGA等顯示設備實時顯示。這一過程常常采用乒乓存儲技術。乒乓操作是常用于對數據流控制的處理方法,常常應用于流水線式算法,完成數據的無縫緩沖與處理。然而如何在緩存操作過程中,同時將硬件傳輸過程中的數據丟失或溢出進行有效處理,仍然具有一定的難度。
【發明內容】
[0005]為克服現有技術的不足,本發明旨在提出一種快速自適應幀率變換的顯示裝置,能夠滿足多種視頻輸入與顯示設備的需求,在實時視頻系統中針對系統要求,快速完成自適應的幀率變換功能,通用性較強。同時在數據高速緩存過程中,可以自適應對數據丟失或溢出進行有效處理,有效提升數據傳輸精度。此方法適合實時視頻系統中的硬件實現,具有通用性較強的特點,在滿足功能與精度要求的前提下,既節省了電路設計開發的時間與精力,又節約了寶貴的硬件資源并降低了功耗。本發明采用的技術方案是,快速自適應幀率變換的裝置,結構是,視頻輸入控制單元利用交替存儲的方式將數據分別存入第一行緩存單元與第二行緩存單元;窗選控制單元分別將第一行緩存單元與第二行緩存單元中的行緩存數據篩選調整出相同大小的有效行數據;這以后將有效行數據傳遞到先入先出存儲器FIFO中,當FIFO中的數據量超過閾值a時,向存儲地址計算與管理單元發送寫數據請求,存儲地址計算與管理單元響應該寫數據請求,開始數據傳輸并將數據存入片外存儲器中,在片外存儲器中總計開辟三個BANK的存儲空間用于進行幀緩存,通過輪換存儲使得讀、寫BANK地址差距始終在I以上;另一先入先出存儲器FIFO在其內部數據量小于閾值b時,將向存儲地址計算與管理單元發送讀數據請求,得到響應后從片外存儲器中讀出緩存像素數據,所述另一先入先出存儲器FIFO與輸出驅動模塊相連,由視頻輸出驅動單元按照一定的視頻制式輸出視頻數據。
[0006]視頻輸入控制單元將數據寫入第一行緩存單元與第二行緩存單元使用的是乒乓緩存方式,即首先視頻輸入控制單元向第一行緩存單元緩存一行數據,然后當數據從第一行緩存單元讀出到先入先出存儲器FIFO的同時,視頻輸入控制單元此時向第二行緩存單元緩存第二行數據;同理當數據從第二行緩存單元讀出到先入先出存儲器FIFO的同時,視頻輸入控制單元此時再向先入先出存儲器FIFO緩存第三行數據,以此類推。
[0007]快速自適應幀率變換的方法,利用視頻輸入控制單元采取乒乓緩存方式將數據寫入第一行緩存單元與第二行緩存單元,即首先視頻輸入控制單元向第一行緩存單元緩存一行數據,然后當數據從第一行緩存單元讀出到先入先出存儲器FIFO的同時,視頻輸入控制單元此時向第二行緩存單元緩存第二行數據;同理當數據從第二行緩存單元讀出到先入先出存儲器FIFO的同時,視頻輸入控制單元此時再向先入先出存儲器FIFO緩存第三行數據,以此類推;當FIFO中的數據量超過閾值a時,向存儲地址計算與管理單元發送寫數據請求,存儲地址計算與管理單元響應該寫數據請求,開始數據傳輸并將數據存入片外存儲器中,在片外存儲器中總計開辟三個BANK的存儲空間用于進行幀緩存,通過輪換存儲使得讀、寫BANK地址差距始終在I以上;另一先入先出存儲器FIFO在其內部數據量小于閾值b時,將向存儲地址計算與管理單元發送讀數據請求,得到響應后從片外存儲器中讀出緩存像素數據,所述另一先入先出存儲器FIFO與輸出驅動模塊相連,由視頻輸出驅動單元按照一定的視頻制式輸出視頻數據。
[0008]向兵乓結構的第一、第二行緩存單元兩個行緩存RAM寫入數據量根據視頻輸入設備的同步信號以及參考信號來確定,在水平方向上,在讀出行緩存RAM中的數據時,通過對RAM讀地址的控制,保證讀出數據量的一致性,即控制RAM的讀地址最多讀到固定閾值,舍棄后面多余的垃圾數據,從而形成窗口截取固定一致的有效行數據;在豎直方向上,控制在向行緩存RAM中寫入數據時總要求寫入固定的總行數,即要求每一次場同步信號后,只保留前面固定有效的行同步與行參考信號內的數據,通過行計數來實現,將每次場同步脈沖信號作為計數器的復位端,而將每一次行同步脈沖信號作為累加使能,只有總行數計數器在有效范圍內才會將數據寫入行緩存RAM。
[0009]數據經過窗選控制單元后,再經過先入先出存儲器FIFO輸入到片外存儲器進行緩存,在片外存儲器內開辟三個存儲空間BANK0,BANK1,BANK2,填充區域為根據視頻圖像大小所確定的有效數據緩存區間,在每個BANK的左上方區域的存儲規劃方式適用于多種圖像分辨率大小,并且只需要修改相應的地址計算與切換方法;第一幀數據首先存入BANKO中,當第一幀視頻數據完全寫完,即寫BANK地址跳到BANKl中時,開始響應另一先入先出存儲器FIFO的讀請求,并從BANKO中讀出圖像數據,讀完BANKO—幀時,判斷當前是否已經將BANK I寫完而開始寫BANK2,即判斷當前寫BANK地址若到BANK2,則說明BANKl已經完全寫完,可以開始從BANKl中讀取新的一幀視頻數據,否則若另一先入先出存儲器FIFO有讀數據請求,則再重復讀取一遍當前BANKO中的數據,以此類推,這以后重復進行以上判斷過程并進行循環讀寫。
[0010]在幀率變換過程中,為了保證視頻數據流的正確與穩定,需要分別對讀寫BANK的地址指針進行嚴格控制,讀BANK地址需要根據當前寫地址的指針與讀地址指針的相對位置來判斷是否進行切換新地址,當寫讀BANK的指針位置相差I以上,即不包括I,嚴格大于1,則說明已經有一幀新的數據準備好,讀BANK可以進行切換;首先需要判斷讀寫BANK地址指針的先后問題,若寫BANK在讀BANK后,則說明寫BANK已經比讀BANK多循環了一圈,此時判斷讀寫BANK指針位置時,應該對寫BANK進行加3操作后,再將寫讀指針做差,結果大于I則說明當前讀寫BANK地址指針差一個BANK以上,可以對讀BANK指針進行切換,S卩加I操作,從而從片外存儲器讀取新的一幀數據到另一先入先出存儲器FIFO中;若寫BANK在讀BANK前,則可以直接將兩者做差,結果大于I則同樣說明當前讀寫BANK地址指針差一個BANK以上,可以對讀BANK指針進行切換,S卩加I操作;反之,如果以上做差計算結果不大于I,則讀BANK地址指針保持當前不變,即從片外存儲器中重復讀取當前幀數據到另一先入先出存儲器FIFO中;
[0011 ]對寫BANK地址指針同樣進行嚴格的切換控制,即需要保證下一次寫BANK地址要切換到的BANK區間已經被讀完,即當前寫完BANKO的時刻,需要判斷BANKl是否已經被讀完,如果讀完則將寫BANK指針切換到BANKl中將新數據寫入BANKl,否則寫指針保持不變,新數據重復寫入BANKO。
[0012]本發明的特點及有益效果是:
[0013]本發明設計一種快速自適應幀率變換的裝置與方法。本方案中幀率提升具有相位識別功能,具有一定的自適應性,即在一定范圍內的輸入輸出幀率比區間內,可以根據當前讀寫數據量判斷是否對需要當前幀進行復制,并可基于窗選功能自適應調節視頻圖像大小,保證輸出穩定,對視頻傳輸過程中的數據丟失或溢出進行有效處理,從而具有更高的適用性。此方式簡單易行,不需要過多的緩存單元,也不需要復雜的控制流信號。避免了投入過多的設計精力,且電路簡單,資源占用率低,十分適用于實時視頻處理及顯示系統在硬件上的快速實現。
【附圖說明】
[0014]圖1快速自適應快速幀率變換的裝置。
[0015]圖2行緩存交替存儲結構及窗選控制。
[0016]圖3幀率變換過程片外存儲器內讀指針切換。
[0017]圖4幀率變換過程片外存儲器內寫指針切換。
[0018]圖5幀率變換過程指針計算。
【具體實施方式】
[0019]本發明提出的快速自適應幀率變換的顯示裝置:如圖1所示,101為視頻輸入控制單元,行緩存單元1(RAM 1)102與行緩存單元2(RAM I) 103為行緩存存儲,利用交替存儲的方式,通過窗選控制單元104,分別將行緩存單元I 102與行緩存單元2 103中的行緩存數據篩選調整出相同大小的行數據。這以后將有效行數據傳遞到FIFOl (先入先出)105中,當FIFOl 105中的數據量超過閾值a時(閾值a可以根據視頻圖像大小自定義配置,一般可配置為輸入視頻圖像大小的一行),向存儲地址計算與管理單元106發送寫數據請求,存儲地址計算與管理單元106響應該寫數據請求后,開始數據傳輸并將數據存入片外存儲器107中,在片外存儲器107中總計開辟三個BANK的存儲空間用于進行幀緩存,通過輪換存儲使得讀、寫BANK地址差距始終在I以上,保證視頻數據的正確與穩定。數據經過存儲器緩存后,FIF02108在其內部數據量小于閾值b時(閾值b可以根據視頻圖像大小自定義配置,一般可配置為輸出視頻圖像的一行),將向存儲地址計算與管理單元發送讀數據請求,得到響應后從存儲器中讀出緩存像素數據,FIF02 108之間與輸出驅動模塊相連,最后由視頻輸出驅動單元109按照一定的視頻制式輸出視頻數據。
[0020]如圖1,視頻輸入控制單元101將數據寫入行緩存單元I102與行緩存單元2 103使用的是乒乓緩存方式,即首先視頻輸入控制單元101向行緩存單元I 102緩存一行數據,然后當數據從行緩存單元I 102讀出到FIFOl 105的同時,視頻輸入控制單元101此時向行緩存單元2 103緩存第二行數據。同理當數據從行緩存單元2 103讀出到FIFOl 105的同時,視頻輸入控制單元101此時再向行緩存單元I 102緩存第三行數據,以此類推。
[0021]如圖2(a)所示,兵乓結構的兩個行緩存RAM寫入數據量主要根據視頻輸入設備的同步信號以及參考信號來確定,但是由于硬件傳輸上存在不穩定性以及誤差性,所以每行的數據量以及寫入總行數都可能會出現數據量不匹配的情況,則會對后面的視頻處理及顯示造成巨大影響。在水平方向上,如圖2(b)所示本方案在讀出行緩存RAM中的數據時,通過對RAM讀地址的控制,保證讀出數據量的一致性,即控制RAM的讀地址最多讀到固定閾值,舍棄后面多余的垃圾數據,從而形成窗口截取固定一致的有效行數據。在豎直方向上,本方案控制在向行緩存RAM中寫入數據時總要求寫入固定的總行數,即要求每一次場同步信號后,只保留前面固定有效的行同步與行參考信號內的數據,通過行計數來實現,將每次場同步脈沖信號作為計數器的復位端,而將每一次行同步脈沖信號作為累加使能,只有總行數計數器在有效范圍內才會將數據寫入行緩存RAM。通過以上兩方向的控制,保證從視頻輸入控制單元獲取的數據經過窗選自適應控制成為固定且穩定的有效大小的視頻數據。
[0022]數據經過窗選控制單元104后,再經過FIFOl 105輸入到片外存儲器107進行緩存。為了完成幀率提升相位鎖定功能,如圖3和圖5所示,在片外存儲器內開辟三個存儲空間BANKO,BANKl,BANK2。填充區域為根據視頻圖像大小所確定的有效數據緩存區間,在每個BANK的左上方區域的存儲規劃方式可以適用于多種圖像分辨率大小,并且只需要修改相應的地址計算與切換方法即可。第一幀數據首先存入BANKO中,當第一幀視頻數據完全寫完,即寫BANK地址跳到BANK I中時,開始響應FIF02 108的讀請求,并從BANKO中讀出圖像數據,讀完BANKO—幀時,判斷當前是否已經將BANK I寫完而開始寫BANK2,即判斷當前寫BANK地址若到BANK2,則說明BANKl已經完全寫完,可以開始從BANKl中讀取新的一幀視頻數據,否則若FIF02 108有讀數據請求,則再重復讀取一遍當前BANKO中的數據,以此類推,這以后重復進行以上判斷過程并進行循環讀寫。
[0023]在幀率變換過程中,為了保證視頻數據流的正確與穩定,需要分別對讀寫BANK的地址指針進行嚴格控制。讀BANK地址需要根據當前寫地址的指針與讀地址指針的相對位置來判斷是否進行切換新地址。當寫讀BANK的指針位置相差I以上(不包括I,嚴格大于I),則說明已經有一幀新的數據準備好,讀BANK可以進行切換。首先需要判斷讀寫BANK地址指針的先后問題,若寫BANK在讀BANK后,則說明寫BANK已經比讀BANK多循環了一圈,此時判斷讀寫BANK指針位置時,應該對寫BANK進行加3操作后,再將寫讀指針做差,結果大于I則說明當前讀寫BANK地址指針差一個BANK以上,可以對讀BANK指針進行切換(S卩加I操作),從而從片外存儲器107讀取新的一幀數據到FIF02 108中。若寫BANK在讀BANK前,則可以直接將兩者做差,結果大于I則同樣說明當前讀寫BANK地址指針差一個BANK以上,可以對讀BANK指針進行切換(即加I操作)。反之,如果以上做差計算結果不大于1,則讀BANK地址指針保持當前不變,即從片外存儲器107中重復讀取當前幀數據到FIF02 108中。
[0024]另一方面對于寫BANK地址指針,如果僅僅支持幀率提升操作,保證讀出幀率始終高于寫入幀率,那么寫BANK地址在每寫完一幀之后都可以直接進行加I操作,重復進行0-1-2-0-1-2-0-1-2的循環。為了提高自適應性與通用性,在幀率變換過程中可以支持更多的輸入輸出幀率比,甚至降低幀率,本方案對寫BANK地址指針同樣進行嚴格的切換控制,如圖4和圖5所示。即需要保證下一次寫BANK地址要切換到的BANK區間已經被讀完。例如當前寫完BANKO的時刻,需要判斷BANKl是否已經被讀完,如果讀完則將寫BANK指針切換到BANKl中將新數據寫入BANKl,否則寫指針保持不變,新數據重復寫入ΒΑΝΚ0。
[0025]本方法可以支持多種制式的視頻輸入,包括但不限于的一種視頻制式為720*576050Mpbs,即分辨率為720*576,幀率為50幀每秒。視頻輸入控制單元的時鐘頻率為27MHz。片外存儲器選擇DDR,時鐘為133MHz,輸入輸出數據寬度為128bit。又由于DDR上升沿與下降沿都可以進行讀寫,因此實際的頻率達到266MHz ο最終輸出顯示器要求幀率60Hz,即幀率為60幀每秒。因為每幀圖像的行像素個數為720個,因此行緩存1102,行緩存2 103,FIFOl 105和FIF02 108的深度都選擇為1024,以方便留出一定的多余空間,基于滿空的閾值信號來控制數據傳輸過程。另外由于行緩存1102,行緩存2 103與視頻輸入設備直接相連,由于視頻輸入控制單元的輸出數據寬度為16bit,因此行緩存1102,行緩存2 103,FIFOl 105的輸入數據寬度同樣選擇為16bit。而為了能夠快速將一行像素信息從FIFOl 105經過DDR 204再傳輸到FIF02 108中,將FIFOl 105的輸出數據寬度選擇與FIF02108的輸入數據寬度也定義為與DDR—致的128bit。窗選控制單元104的輸入輸出數據寬度與視頻輸入控制單元一致,而FIF02108的輸出輸出寬度與視頻輸出驅動單元109相同。對于時鐘頻率,行緩存1102和行緩存2 103的輸入時鐘頻率與視頻輸入控制單元的輸出頻率相同,為27MHz。輸出時鐘頻率與窗口控制單元和視頻輸出驅動單元頻率相同,為65MHz。而FIFOl 105的輸入時鐘頻率與FIF02 108的輸出時鐘頻率也一致為65MHz JIFOl 105的輸出時鐘頻率與FIF02 108的輸入頻率由于與DDR相連,采用與DDR—致的266MHz。
[0026]視頻圖像首先從視頻輸入控制單元101輸出,首先第一行像素信息緩存在行緩存I102中,寫入的數據量由視頻輸入控制單元的同步與參考信號決定。當第一行數據從視頻輸入控制單元中輸出完畢后,視頻輸入設備進入消隱區。此時行緩存I 102寫完一行信號有效,通知窗選控制單元104開始接收數據,并篩選固定大小。而行緩存2 103隨后開始接收第二行視頻輸入設備傳輸的數據。當窗選控制單元104接收完第一行數據并傳遞給FIFOl 105后,判斷第二行數據在行緩存2 103中是否寫完,若寫完則開始從其中接收新一行數據,否則等待。行緩存I 102和行緩存2 103重復循環以上乒乓存儲過程。
[0027]在幀率提升部分,當FIFOl105中的數據量超過閾值a時,向存儲地址計算與管理單元106發送寫數據請求,存儲地址計算與管理單元106響應該寫數據請求后,開始數據傳輸并將數據存入片外存儲設備107中,在片外存儲設備107中總計開辟三個BANK空間用于進行幀緩存第一幀數據首先存入BANKO中,當第一幀視頻數據完全寫完,即寫BANK地址跳到BANKl中時,開始響應FIF02 108的讀請求,并從BANKO中讀出圖像數據,讀完BANKO—幀時,判斷當前是否已經將BANK I寫完而開始寫BANK2,即判斷當前寫BANK地址若到BANK2,則說明BANKl已經完全寫完,可以開始從BANKl中讀取新的一幀視頻數據,否則若FIF02 108有讀數據請求,則再重復讀取一遍當前BANKO中的數據,以此類推,這以后重復進行以上判斷過程并進行循環讀寫。而后FIF02 108的數據傳輸到視頻輸出驅動單元,統一時序從而連續實時的處理并顯示視頻信息。
【主權項】
1.一種快速自適應幀率變換的裝置,其特征是,結構是,視頻輸入控制單元利用交替存儲的方式將數據分別存入第一行緩存單元與第二行緩存單元;窗選控制單元分別將第一行緩存單元與第二行緩存單元中的行緩存數據篩選調整出相同大小的有效行數據;這以后將有效行數據傳遞到先入先出存儲器FIFO中,當FIFO中的數據量超過閾值a時,向存儲地址計算與管理單元發送寫數據請求,存儲地址計算與管理單元響應該寫數據請求,開始數據傳輸并將數據存入片外存儲器中,在片外存儲器中總計開辟三個BANK的存儲空間用于進行幀緩存,通過輪換存儲使得讀、寫BANK地址差距始終在I以上;另一先入先出存儲器FIFO在其內部數據量小于閾值b時,將向存儲地址計算與管理單元發送讀數據請求,得到響應后從片外存儲器中讀出緩存像素數據,所述另一先入先出存儲器FIFO與輸出驅動模塊相連,由視頻輸出驅動單元按照一定的視頻制式輸出視頻數據。2.如權利要求1所述的快速自適應幀率變換的裝置,其特征是,視頻輸入控制單元將數據寫入第一行緩存單元與第二行緩存單元使用的是乒乓緩存方式,即首先視頻輸入控制單元向第一行緩存單元緩存一行數據,然后當數據從第一行緩存單元讀出到先入先出存儲器FIFO的同時,視頻輸入控制單元此時向第二行緩存單元緩存第二行數據;同理當數據從第二行緩存單元讀出到先入先出存儲器FIFO的同時,視頻輸入控制單元此時再向先入先出存儲器FIFO緩存第三行數據,以此類推。3.一種快速自適應幀率變換的方法,其特征是,利用視頻輸入控制單元采取乒乓緩存方式將數據寫入第一行緩存單元與第二行緩存單元,即首先視頻輸入控制單元向第一行緩存單元緩存一行數據,然后當數據從第一行緩存單元讀出到先入先出存儲器FIFO的同時,視頻輸入控制單元此時向第二行緩存單元緩存第二行數據;同理當數據從第二行緩存單元讀出到先入先出存儲器FIFO的同時,視頻輸入控制單元此時再向先入先出存儲器FIFO緩存第三行數據,以此類推;當FIFO中的數據量超過閾值a時,向存儲地址計算與管理單元發送寫數據請求,存儲地址計算與管理單元響應該寫數據請求,開始數據傳輸并將數據存入片外存儲器中,在片外存儲器中總計開辟三個BANK的存儲空間用于進行幀緩存,通過輪換存儲使得讀、寫BANK地址差距始終在I以上;另一先入先出存儲器FIFO在其內部數據量小于閾值b時,將向存儲地址計算與管理單元發送讀數據請求,得到響應后從片外存儲器中讀出緩存像素數據,所述另一先入先出存儲器FIFO與輸出驅動模塊相連,由視頻輸出驅動單元按照一定的視頻制式輸出視頻數據。4.如權利要求3所述的快速自適應幀率變換的方法,其特征是,向兵乓結構的第一、第二行緩存單元兩個行緩存RAM寫入數據量根據視頻輸入設備的同步信號以及參考信號來確定,在水平方向上,在讀出行緩存RAM中的數據時,通過對RAM讀地址的控制,保證讀出數據量的一致性,即控制RAM的讀地址最多讀到固定閾值,舍棄后面多余的垃圾數據,從而形成窗口截取固定一致的有效行數據;在豎直方向上,控制在向行緩存RAM中寫入數據時總要求寫入固定的總行數,即要求每一次場同步信號后,只保留前面固定有效的行同步與行參考信號內的數據,通過行計數來實現,將每次場同步脈沖信號作為計數器的復位端,而將每一次行同步脈沖信號作為累加使能,只有總行數計數器在有效范圍內才會將數據寫入行緩存RAM05.如權利要求4所述的快速自適應幀率變換的方法,其特征是,數據經過窗選控制單元后,再經過先入先出存儲器FIFO輸入到片外存儲器進行緩存,在片外存儲器內開辟三個存儲空間BANKO,BANK1,BANK2,填充區域為根據視頻圖像大小所確定的有效數據緩存區間,在每個BANK的左上方區域的存儲規劃方式適用于多種圖像分辨率大小,并且只需要修改相應的地址計算與切換方法;第一幀數據首先存入BANKO中,當第一幀視頻數據完全寫完,即寫BANK地址跳到BANKl中時,開始響應另一先入先出存儲器FIFO的讀請求,并從BANKO中讀出圖像數據,讀完BANKO—幀時,判斷當前是否已經將BANKl寫完而開始寫BANK2,即判斷當前寫BANK地址若到BANK2,則說明BANKl已經完全寫完,可以開始從BANKl中讀取新的一幀視頻數據,否則若另一先入先出存儲器FIFO有讀數據請求,則再重復讀取一遍當前BANKO中的數據,以此類推,這以后重復進行以上判斷過程并進行循環讀寫。6.如權利要求5所述的快速自適應幀率變換的方法,其特征是,在幀率變換過程中,為了保證視頻數據流的正確與穩定,需要分別對讀寫BANK的地址指針進行嚴格控制,讀BANK地址需要根據當前寫地址的指針與讀地址指針的相對位置來判斷是否進行切換新地址,當寫讀BANK的指針位置相差I以上,即不包括I,嚴格大于I,則說明已經有一幀新的數據準備好,讀BANK可以進行切換;首先需要判斷讀寫BANK地址指針的先后問題,若寫BANK在讀BANK后,則說明寫BANK已經比讀BANK多循環了一圈,此時判斷讀寫BANK指針位置時,應該對寫BANK進行加3操作后,再將寫讀指針做差,結果大于I則說明當前讀寫BANK地址指針差一個BANK以上,可以對讀BANK指針進行切換,S卩加I操作,從而從片外存儲器讀取新的一幀數據到另一先入先出存儲器FIFO中;若寫BANK在讀BANK前,則可以直接將兩者做差,結果大于I則同樣說明當前讀寫BANK地址指針差一個BANK以上,可以對讀BANK指針進行切換,即加I操作;反之,如果以上做差計算結果不大于1,則讀BANK地址指針保持當前不變,即從片外存儲器中重復讀取當前幀數據到另一先入先出存儲器FIFO中。7.如權利要求6所述的快速自適應幀率變換的方法,其特征是,對寫BANK地址指針同樣進行嚴格的切換控制,即需要保證下一次寫BANK地址要切換到的BANK區間已經被讀完,SP當前寫完BANKO的時刻,需要判斷BANKl是否已經被讀完,如果讀完則將寫BANK指針切換到BANKl中將新數據寫入BANKl,否則寫指針保持不變,新數據重復寫入ΒΑΝΚ0。
【文檔編號】H04N7/01GK105872432SQ201610255020
【公開日】2016年8月17日
【申請日】2016年4月21日
【發明人】史再峰, 陳可鑫, 龐科, 張嘉平, 高陽
【申請人】天津大學