專利名稱:一種視頻顯示方法及其系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及一種視頻顯示技術,尤其涉及一種通過幀率檢測調整^f見頻顯 示效果的方法及系統(tǒng)。
背景技術:
目前,視頻數據的顯示通常都是通過視頻采集設備(例如PC攝像頭之
類的設備)采集視頻信號并壓縮,然后將壓縮的視頻信號通過一定的通信介
質(例如USB )發(fā)送到一個host(主機)上(例如PC),在host端首先由driver(通 信軟件驅動模塊,例如USB驅動)作相應處理,例如丟幀處理,顯示設備中 的解碼器再對進行處理后的視頻信號進行解碼,最后由host端的顯示設備顯 示該解碼后的視頻信號。
視頻壓縮編碼形式眾多,例如MPEG4 , Motion JPEG等等,因此在視頻 顯示設備中所使用的解碼器承擔了大量的解碼工作,會占用大量PC系統(tǒng)資 源,因此針對不同配置的PC,其顯示效果也不盡相同。 一般來說視頻系統(tǒng)都 有自己所支持的圖像分辨率檔位,當要在PC上顯示一個大圖像分辨率格式 的碼流時,由于PC資源的問題,解碼器不一定能把所有從采集設備傳輸上 來的數據進行處理。因此我們直觀的看到在顯示的幀率上就會比采集設備送 來的數據幀率慢很多。
發(fā)明內容
本發(fā)明要解決的技術問題是提供一種視頻顯示方法及其系統(tǒng),可實現自 適應調節(jié)以使視頻信號在顯示時達到最佳的連續(xù)性。
本發(fā)明提供一種視頻顯示方法,包括根據當前的圖像分辨率采集視頻 信號,對采集的所述視頻信號進行處理后顯示,設置幀率容忍門限Thd和檢 測時間門限Tthd,若在Tthd內,應顯示而沒有顯示的幀率始終大于Thd,則 調低圖像分辨率,之后用調低后的圖像分辨率采集視頻信號。
進一步地,檢測當前設備的幀率F,通信軟件驅動模塊中的丟幀數值Df 和主機端當前用于顯示的幀率Hf;
所述應顯示而沒有顯示的幀率是指,當前i殳備的幀率F減去丟幀率Df 并減去主機端當前用于顯示的幀率Hf的差值。
進一步地,均勻地設置檢測點,其密度為每個Tthd內有n個檢測點,在 各檢測點時檢測F、 Df及Hf,每次檢測后,計算F-Df-Hf,若連續(xù)n次檢 測的F、 Df及Hf算出的F -Df-Hf均大于Thd,則^人為在檢測時間門限Tthd 內,F-Df-Hf始終大于Thd。
進一步地,當算出的F-Df-Hf大于Thd時計數值加1,否則計數清零; 當所述計數值為n時,說明在Tthd內,F-Df-Hf始終大于Thd。
進一步地,若調低圖像分辨率則將計數清零,重新設置Thd及Tthd。
進一步地,當在Tthd內,F-Df-Hf始終大于Thd時,先詢問用戶是否 需要切換圖像分辨率,是則調低圖像分辨率,否則停止對F、 Df及Hf的檢測;
在詢問用戶是否需要切換圖像分辨率時關流并停止顯示,當用戶作出選 擇后重新開流顯示。
本發(fā)明還提供一種視頻顯示系統(tǒng),包括
視頻采集設備,用于根據當前的圖像分辨率采集視頻信號;
通信軟件驅動才莫塊,用于對所述采集的視頻信號進行處理;
顯示才莫塊,用于對所述處理后的視頻信號進行解碼并顯示;
門限設置模塊,用于設置幀率容忍門限Thd和檢測時間門限Tthd;
控制模塊,用于判斷在Tthd內,應顯示而沒有顯示的幀率是否始終大于 Thd,是則調低圖像分辨率,并將調低后的圖像分辨率發(fā)送給所述視頻采集設 備。
進一步地,所述系統(tǒng)還包括檢測模塊,用于檢測視頻采集設備的實時幀 率,得到當前設備的幀率F,以及檢測通信軟件驅動模塊中的丟幀數值Df
和顯示^f莫塊當前用于顯示的幀率Hf;
所述控制才莫塊判斷在Tthd內應顯示而沒有顯示的幀率是否始終大于Thd 是指,控制模塊判斷在Tthd內,F減去Df并減去Hf的差值是否始終大于Thd。
進一步地,檢測模塊還用于均勻地設置檢測點,且在各檢測點時檢測F、 Df及Hf,設置的所述檢測點的密度為每個Tthd內有n個檢測點;
所述控制模塊用于各檢測點檢測了 F、 Df及Hf后,計算F-Df-Hf,若 控制模塊連續(xù)n次算出的F-Df-Hf均大于Thd,則認為在Tthd內,F-Df -Hf始終大于Thd。
進一步地,所述系統(tǒng)還包括計數器;
所述控制模塊還用于當計算的F-Df-Hf大于Thd時,將計數器的值加 1,否則將計數器清零;
控制模塊還用于讀取計數器的計數值,若所述計數值為n說明在Tthd內, F-Df-Hf始終大于Thd。
進一步地,所述控制模塊還用于調低圖像分辨率后將計數器清零,并控 制門限設置模塊重新設置Thd及Tthd。
進一步地,所述控制模塊還用于判斷出在Tthd內,F-Df-Hf始終大于 Thd時向顯示模塊發(fā)送超過幀率容忍門限的消息,以及關流并停止顯示模塊 顯示;收到不切換的消息或在調低圖像分辨率的消息后開流并控制顯示^t塊 重新顯示;還用于收到不切換的消息后向檢測模塊發(fā)送停止檢測的消息;
所述顯示模塊還用于詢問用戶是否需要切換,若用戶選擇是則向控制模 塊發(fā)送切換圖像分辨率的消息,若用戶選擇否則向控制模塊發(fā)送不切換的消 息;
所述檢測模塊還用于收到停止檢測的消息后停止對F、 Df及Hf的檢測。
綜上所述,本發(fā)明提供一種視頻顯示方法及其系統(tǒng),通過本發(fā)明的視頻 顯示系統(tǒng)自適應地對圖像分辨率進行調節(jié),可提高視頻顯示系統(tǒng)顯示的幀率, 使視頻信號在顯示時達到最佳的連續(xù)性。
附困說明
圖l是本發(fā)明一種視頻顯示系統(tǒng)的結構示意圖2是本發(fā)明一種視頻顯示方法的流程圖。
具體實施例方式
本發(fā)明提供一種視頻顯示方法及其系統(tǒng),設置幀率容忍門限Thd和檢測 時間門限Tthd,檢測當前設備的幀率F,通信軟件驅動才莫塊中的丟幀數值Df 和Host端當前用于顯示的幀率Hf,若在Tthd內F-Df-Hf始終大于Thd, 則調低當前設備的圖像分辨率。
本實施例提供一種視頻顯示系統(tǒng),如
圖1所示,該系統(tǒng)包括視頻采集 設備、通信軟件驅動模塊、控制模塊、門限設置模塊、檢測模塊、顯示模塊 及計數器;通信軟件驅動模塊、控制模塊、門限設置才莫塊、檢測模塊、顯示 模塊及計數器均位于主機端,視頻采集設備可以是位于主機端,也可以是獨 立于主機,通過通4言介質與主機端相連。
視頻采集設備用于根據當前圖像分辨率采集視頻信號,該采集視頻信號 的過程還可以包括對采集的視頻信號進行壓縮,然后將采集的視頻信號發(fā)送 給通信軟件驅動;f莫塊;
通信軟件驅動;f莫塊用于對收到的視頻信號進行處理,如丟幀處理,并將 處理后的視頻信號發(fā)送給顯示模塊;
門限設置模塊用于設置幀率容忍門限Thd和檢測時間門限Tthd,并將設 置的Thd及Tthd發(fā)送給控制模塊,還可以用于收到調低后的圖像分辨率重新 設置Thd及Tthd;
可以是根據收到的碼流類型及圖像分辨率設置幀率容忍門限Thd和檢測 時間門限Tthd。例如,可以在門限設置模塊保存碼流類型、圖像分辨率與Thd 及Tthd的對應關系,當收到某種碼流類型及圖像分辨率后,直接查找該對應 關系即可得出對應的幀率容忍門限Thd及Tthd;也可以是用戶根據需要直接 設置Thd及Tthd。
檢測模塊用于檢測視頻釆集設備的實時幀率,得到當前設備的幀率F, 以及檢測driver中的丟幀數值Df和顯示模塊當前用于顯示的幀率Hf,并將檢測的F、Df及Hf發(fā)送給控制模塊,例如可以是讀取檢測芯片模塊UDC( USB Device Controllor)實時幀率的寄存器得到當前設備的幀率F;檢測模塊還用 于收到停止檢測的消息后停止對F、 Df及Hf的檢測;
檢測模塊還可以用于均勻地設置檢測點,且在各檢測點時檢測F、 Df及 Hf,并將每次檢測的F、 Df及Hf發(fā)送給控制模塊,設置的檢測點的密度為每 個Tthd內有n個檢測點。
控制模塊用于將當前設備的碼流類型發(fā)送給門限設置才莫塊,將圖像分辨 率發(fā)送給門限設置模塊及視頻采集設備,并用于存儲Thd及Tthd,還用于每 次收到F、 Df及Hf后計算F-Df-Hf,若F-Df-Hf大于Thd,則將計數器 的值加1,否則將計數器清零;還用于判斷在檢測時間門限Tthd內,F-Df -Hf是否始終大于Thd,如果是則向顯示模塊發(fā)送超過幀率容忍門限的消息; 控制模塊還用于收到切換圖像分辨率的消息后調低圖像分辨率,可以是每次 調低一檔,也可以根據F-Df-Hf與Thd的差值大致選擇一個合適的檔位, 并將調低后的圖像分辨率發(fā)送給門限設置模塊及視頻釆集設備,還將計數器 清零;上述圖像分辨率包括顯示分辨率及采集分辨率,這兩個分辨率一般是 同步的,調低圖像分辨率指同時調低顯示分辨率及采集分辨率。
控制模塊還可以判斷出在檢測時間門限Tthd內,F - Df - Hf始終大于Thd 時關流并停止顯示模塊顯示,還可以用于收到不切換的消息后向檢測模塊發(fā) 送停止檢測的消息,還可以在調低圖像分辨率或收到不切換的消息后開流并 控制顯示模塊重新顯示;
控制模塊也可以判斷出在檢測時間門限Tthd內,F -Df -Hf始終大于Thd 時直接調低圖像分辨率,而不必向顯示才莫塊發(fā)送消息;
判斷是否始終大于的方法為,若連續(xù)n次檢測的F、 Df及Hf算出的F-Df - Hf均大于Thd,則認為在檢測時間門限Tthd內,F - Df- Hf始終大于Thd; 若設置了計數器,則當計數器的計數值為n時,說明在Tthd內,F-Df-Hf 始終大于Thd。
計數器用于記錄在Tthd內F - Df - Hf連續(xù)大于Thd的次數,該計數器可 以設置在控制模塊內,也可以獨立于控制模塊,在此不作限制。
顯示模塊用于對收到的視頻信號進行解碼并顯示,并用于收到超過幀率 容忍門限的消息后詢問用戶是否需要進行圖像分辨率的切換,若用戶選擇是 則向控制模塊發(fā)送切換圖像分辨率的消息,若用戶選擇否則向控制模塊發(fā)送 不切換的消息。
本發(fā)明適用于通用的視頻釆集與顯示設備,特別適用于基于USB的 video Camera -見頻采集與顯示設備。
本實施例還提供一種視頻顯示方法,根據當前的圖像分辨率釆集視頻信 號,對采集的視頻信號進行處理后顯示,處理可以包括丟幀處理及解碼,在 采集視頻信號并顯示的過程中還包括根據顯示效果調整圖像分辨率的過程, 如圖2所示,根據顯示效果調整圖像分辨率的過程包括以下步驟
步驟201:設置幀率容忍門限Thd和檢測時間門限Tthd;
可以是根據當前的碼流類型及圖像分辨率設置幀率容忍門限Thd和檢測 時間門限Tthd,也可以是系統(tǒng)根據對顯示效果的容忍度靈活設置,還可以是 用戶自行設置,例如,首先設置一Thd,當發(fā)現圖像連續(xù)性較差時調低Thd, 直到比較滿意為止。
步驟202:檢測視頻采集設備的實時幀率,得到當前設備的幀率F,以及 檢測driver中的丟幀數值Df和Host端當前用于顯示的幀率Hf;例如可以是 讀JM^測芯片模塊UDC (USB Device Controllor)實時幀率的寄存器得到當 前i殳備的幀率F。
可以均勻地設置檢測點,其密度為每個Tthd內有n個檢測點,在各檢測 點時檢測F、 Df及Hf, n的取值可以根據需要設置。
步驟203:計算F-Df-Hf,判斷本次F - Df-Hf是否大于Thd,是則執(zhí) 行步驟204,如杲設置了計數器記錄F-Df-Hf連續(xù)大于Thd的次數,當本 次F-Df-Hf不是大于Thd時,還需麥執(zhí)行步驟205;
步驟204:判斷在檢測時間門限Tthd內,F - Df - Hf是否始終大于Thd, 是則執(zhí)行步驟206,否則返回步驟202;
判斷是否始終大于的方法為,若連續(xù)n次檢測的F、 Df及Hf算出的F-
Df- Hf均大于Thd,則認為在檢測時間門限Tthd內,F -Df-Hf始終大于Thd。 若設置了計數器,則當計數器的計數值為n時說明在Tthd內,F-Df-Hf始 終大于Thd。
步驟205:將計數器的計數清零,然后執(zhí)行步驟202。
步驟206:說明這個時候的解碼器并不能實時處理這么多的數據量,在 解碼器端數據是過飽和的,調低圖像分辨率,這樣就降低了解碼器要處理的 數據量,主機端的負擔就小了,解碼器單位時間內解出并顯示的數據幀就會 提高,即Hf會提高,這樣F-Df-Hf便降低了,從而能達到設備的最佳顯示效 果;之后用調低后的圖像分辨率采集視頻信號,如需要重新設置幀率容忍門 恨Thd和檢測時間門限Tthd,則返回步驟201 ,如不需要重新設置Thd及Tthd, 則返回步驟202。
該步驟還可以是先詢問用戶是否需要切換圖像分辨率顯示來得到最佳的 圖像連續(xù)性,是則調低圖像分辨率,不是則停止對當前設備的幀率F、丟幀 數值Df及顯示的幀率Hf的檢測。在詢問用戶是否需要切換圖像分辨率時還 可以關流并停止顯示,當用戶作出選擇后重新開流顯示。
如果設置了計數器記錄F - Df - Hf連續(xù)大于Thd的次數,還需要將計數 器的計數清零。
因Hf是主機端的解碼器已經解碼用于顯示的幀率,F-Df是HOST實際 得到應解碼的幀率,如果主機端能力足夠強,已解碼的幀率應該等于F-Df。 但是實際上,可能由于主機端能力的差異,F-Df-Hf并不等于O,即還未解出 的幀率不為0。如果調低圖像分辨率,那解碼器要處理的數據量就小了,主 機端的負擔就小了,因此,解碼器單位時間內解出并顯示的數據幀就會提高, 即Hf會提高,這樣F-Df-Hf便降低了。
權利要求
1、一種視頻顯示方法,根據當前的圖像分辨率采集視頻信號,對采集的所述視頻信號進行處理后顯示,其特征在于,所述方法還包括設置幀率容忍門限Thd和檢測時間門限Tthd,若在Tthd內,應顯示而沒有顯示的幀率始終大于Thd,則調低圖像分辨率,之后用調低后的圖像分辨率采集視頻信號。
2、 如權利要求l所述的方法,其特征在于所述方法還包括,檢測當前設備的幀率F,通信軟件驅動模塊中的丟幀 數值Df和主機端當前用于顯示的幀率Hf;所述應顯示而沒有顯示的幀率是指,當前設備的幀率F減去丟幀率Df 并減去主機端當前用于顯示的幀率Hf的差值。
3、 如權利要求2所述的方法,其特征在于均勻地設置檢測點,其密度為每個Tthd內有n個檢測點,在各檢測點時 檢測F、 Df及Hf,每次檢測后,計算F-Df-Hf,若連續(xù)n次檢測的F、 Df 及Hf算出的F-Df-Hf均大于Thd,則認為在檢測時間門限Tthd內,F-Df -Hf始終大于Thd。
4、 如權利要求3所述的方法,其特征在于,所述方法還包括當算出的F-Df-Hf大于Thd時計數值加1,否則計數清零;當所述計 數值為n時,說明在Tthd內,F-Df-Hf始終大于Thd。
5、 如權利要求4所迷的方法,其特征在于 若調低圖像分辨率則將計數清零,重新設置Thd及Tthd。
6、 如權利要求l所述的方法,其特征在于當在Tthd內,F-Df-Hf始終大于Thd時,先詢問用戶是否需要切換圖 像分辨率,是則調低圖像分辨率,否則停止對F、 Df及Hf的檢測;在詢問用戶是否需要切換圖像分辨率時關流并停止顯示,當用戶作出選擇后重新開流顯示。
7、 一種視頻顯示系統(tǒng),包括視頻采集設備,用于根據當前的圖像分辨率釆集視頻信號; 通信軟件驅動模塊,用于對所述采集的視頻信號進行處理; 顯示^f莫塊,用于對所述處理后的視頻信號進行解碼并顯示; 其特征在于 所述系統(tǒng)還包括門限設置模塊,用于設置幀率容忍門限Thd和檢測時間門限Tthd;控制模塊,用于判斷在Tthd內,應顯示而沒有顯示的幀率是否始終大于 Thd,是則調低圖像分辨率,并將調低后的圖像分辨率發(fā)送給所述視頻采集設 備。
8、 如權利要求7所述的系統(tǒng),其特征在于所述系統(tǒng)還包括檢測模塊,用于檢測視頻釆集設備的實時幀率,得到當 前設備的幀率F,以及檢測通信軟件驅動模塊中的丟幀數值Df和顯示模塊當 前用于顯示的幀率Hf;所述控制才莫塊判斷在Tthd內應顯示而沒有顯示的幀率是否始終大于Thd 是指,控制模塊判斷在Tthd內,F減去Df并減去Hf的差值是否始終大于Thd。
9、 如權利要求8所迷的系統(tǒng),其特征在于檢測模塊還用于均勻地設置檢測點,且在各檢測點時檢測F 、 Df及Hf, 設置的所述檢測點的密度為每個Tthd內有n個檢測點;所述控制模塊用于各檢測點檢測了 F、 Df及Hf后,計算F-Df-Hf,若 控制模塊連續(xù)n次算出的F-Df-Hf均大于Thd,則認為在Tthd內,F-Df -Hf始終大于Thd。
10、 如權利要求9所述的系統(tǒng),其特征在于 所述系統(tǒng)還包括計數器;所述控制模塊還用于當計算的F - Df- Hf大于Thd時,將計數器的值加 1,否則將計數器清零;控制才莫塊還用于讀取計數器的計數值,若所述計數值為n說明在Tthd內, F-Df-Hf始終大于Thd。
11、 如權利要求10所述的系統(tǒng),其特征在于所述控制模塊還用于調低圖像分辨率后將計數器清零,并控制門限設置 模塊重新設置Thd及Tthd。
12、 如權利要求7所述的系統(tǒng),其特征在于所述控制模塊還用于判斷出在Tthd內,F - Df - Hf始終大于Thd時向顯 示才莫塊發(fā)送超過幀率容忍門限的消息,以及關流并停止顯示才莫塊顯示;收到 不切換的消息或在調低圖像分辨率的消息后開流并控制顯示模塊重新顯示; 還用于收到不切換的消息后向檢測模塊發(fā)送停止檢測的消息;所述顯示模塊還用于詢問用戶是否需要切換,若用戶選擇是則向控制模 塊發(fā)送切換圖像分辨率的消息,若用戶選擇否則向控制模塊發(fā)送不切換的消 息;所述檢測才莫塊還用于收到停止檢測的消息后停止對F、 Df及Hf的檢測。
全文摘要
本發(fā)明提供一種視頻顯示方法及其系統(tǒng),該方法包括根據當前的圖像分辨率采集視頻信號,對采集的所述視頻信號進行處理后顯示,以及設置幀率容忍門限和檢測時間門限,若在檢測時間門限內,應顯示而沒有顯示的幀率始終大于幀率容忍門限,則調低圖像分辨率,之后用調低后的圖像分辨率采集視頻信號。通過本發(fā)明的視頻顯示系統(tǒng)自適應地對圖像分辨率進行調節(jié),可提高視頻顯示系統(tǒng)顯示的幀率,使視頻信號在顯示時達到最佳的連續(xù)性。
文檔編號H04N17/00GK101345892SQ200810118590
公開日2009年1月14日 申請日期2008年8月19日 優(yōu)先權日2008年8月19日
發(fā)明者蔣亞誠 申請人:北京中星微電子有限公司