專利名稱:一種幀率調整方法和裝置的制作方法
技術領域:
本發(fā)明涉及視頻處理領域,特別是關于一種幀率調整方法和裝置。
背景技術:
在移動電視(Mobile TV)等應用場景中,由于碼率較低,通常會采用降幀率技術手 段來達到節(jié)省碼率的目的。視頻時間下采樣(即降幀率)和跳幀技術是降低幀率的兩種有 效方法。雖然,兩者都是降低幀率的有效方法,但其意義有明顯不同。視頻時間下采樣是一 種固定的幀率轉換,與圖像內容無關;而跳幀技術是根據(jù)圖像的運動復雜程度和緩沖區(qū)充 滿度等因素來決定跳幀與否,不是一種固定的幀率轉換。一般地,可以認為固定幀率轉換適 合大幅度降幀率場合,跳幀技術適合對幀率做微調。視頻時間下采樣通常有兩種做法一種是簡單的抽取幀,另一種是采用幀間插值 的方法。然而,兩種方法都有明顯的缺點,前一種方法在不是整數(shù)倍時間下采樣時,幀時間 間隔不均勻,后一種方法雖然可以解決前一種方法的問題,但是算法復雜、運算量大。在業(yè) 界中,前一種方法應用更多。跳幀技術最常見的是與碼率控制聯(lián)系在一起的,作為碼率控制的一種實現(xiàn)手段。 跳幀的策略一般取決于圖像內容本身特性(如運動復雜程度,前后幀圖像相關性等)和編 碼器的緩沖區(qū)充滿度兩個條件。現(xiàn)有的跳幀技術不能很好的解決跳幀后對視頻主觀體驗的 不利影響。在現(xiàn)有的跳幀技術中單純的依賴運動矢量,不能很好的反映圖像的內容,在一些 復雜或者特殊場景如場景切換、同一圖像內有兩個相反運動方向的物體等等場景,運動矢 量判斷方法可能會產生判斷錯誤,幀輸出具有時間間隔不均勻,造成了明顯感覺到跳幀,降 低了視頻的主觀體驗。
發(fā)明內容
本發(fā)明實施例提供一種幀率調整方法和裝置,用于解決現(xiàn)有技術中降幀后幀間隔 不均勻的缺點。本發(fā)明提供了一種幀率調整方法,包括將初始幀作為第一輸出幀直接輸出;將所述第一輸出幀的時間戳作為第一參考幀的時間戳與第一輸入幀的時間戳進 行比較;若所述第一輸入幀的時間戳與所述第一參考幀的時間戳的時間間隔大于或等于 設定的時間間隔門限值,則對所述第一輸入幀進行第一跳幀處理并獲得第一跳幀長度;若所述第一輸入幀的時間戳與所述第一參考幀的時間戳的時間間隔大于或者等 于所述時間間隔門限值與所述第一跳幀長度之和,則將所述第一輸入幀輸出。本發(fā)明實施例還提供了一種幀率調整裝置,包括
初始幀輸出單元,用于將初始幀作為第一輸出幀直接輸出;第一比較單元,用于將第一輸出幀的時間戳作為第一參考幀的時間戳與第一輸入 幀的時間戳進行比較;第一跳幀長度獲取單元,用于若所述第一輸入幀的時間戳與所述第一參考幀的時 間戳的時間間隔大于或等于設定的時間間隔門限值,則對所述第一輸入幀進行第一跳幀處 理并獲得第一跳幀長度;第一輸出單元,用于若所述第一輸入幀的時間戳與所述第一參考幀的時間戳的時 間間隔大于或者等于所述時間間隔門限值與所述第一跳幀長度之和,則將所述第一輸入幀 輸出。通過本發(fā)明實施例,通過將時間下采樣和跳幀技術的結合,可以解決現(xiàn)有技術中 幀間隔不均勻的問題,使得圖像播放連貫。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn) 有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以 根據(jù)這些附圖獲得其他的附圖。圖1所示為本發(fā)明實施例一種幀率調整方法流程圖;圖2a所示為本發(fā)明實施例幀率調整方法具體流程圖;圖2b所示為本發(fā)明實施例接收第二輸入幀的流程圖;圖3a所示為本發(fā)明實施例第一跳幀判決方法流程圖;圖3b所示為本發(fā)明實施例第二跳幀判決方法流程圖;圖4所示的本發(fā)明實施例圖像運動方向示意圖;圖5所示為本發(fā)明實施例幀率調整裝置結構示意圖;圖6a所示為本發(fā)明實施例第一跳幀長度獲取單元結構示意圖;圖6b所示為本發(fā)明實施例第二跳幀長度獲取單元結構示意圖;圖7所示為本發(fā)明實施例幀率調整時序圖。
具體實施例方式下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于 本發(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他 實施例,都屬于本發(fā)明保護的范圍。如圖1所示為本發(fā)明實施例一種幀率調整方法流程圖。步驟101,將初始幀作為第一輸出幀直接輸出。步驟102,將所述第一輸出幀的時間戳作為第一參考幀的時間戳與第一輸入幀的 時間戳進行比較。步驟103,若所述第一輸入幀的時間戳與所述第一參考幀的時間戳的時間間隔大 于或等于設定的時間間隔門限值,則對所述第一輸入幀進行第一跳幀處理并獲得第一跳幀長度。步驟104,若所述第一輸入幀的時間戳與所述第一參考幀的時間戳的時間間隔大 于或者等于所述時間間隔門限值與所述第一跳幀長度之和,則將所述第一輸入幀輸出。作為本發(fā)明的一個實施例,在上述步驟104之后的循環(huán)中,將輸出的第一輸入幀 的時間戳作為第二參考幀的時間戳與第二輸入幀的時間戳進行比較;若所述第二輸入幀的時間戳與所述第二參考幀的時間戳的時間間隔大于或等于 設定的時間間隔門限值,則對所述第二輸入幀進行第二跳幀處理并獲得第二跳幀長度;若所述第二輸入幀的時間戳與所述第二參考幀的時間戳的時間間隔大于或者等 于所述時間間隔門限值與所述第二跳幀長度之和,則將所述第二輸入幀輸出。作為本發(fā)明的一個實施例,在步驟103中,若所述第一輸入幀的時間戳與所述第 一參考幀的時間戳的時間間隔大于或等于設定的時間間隔門限值包括如果第一輸入幀時 間戳與所述第一參考幀的時間戳的時間間隔小于所述時間間隔門限,則接收第二輸入幀。作為本發(fā)明的一個實施例,在步驟104中,若第一輸入幀時間戳與所述第一參考 幀的時間戳的時間間隔小于所述時間間隔門限和第一跳幀長度之和,則在所述第一參考幀 的時間戳的基礎上加上所述第一跳幀長度以更新所述第一參考幀的時間戳;或者若所述第 二輸入幀的時間戳與所述第二參考幀的時間戳的時間間隔大于或者等于所述時間間隔門 限值與所述第二跳幀長度之和中包括若第二輸入幀時間戳與所述第二參考幀的時間戳的 時間間隔小于所述時間間隔門限和第二跳幀長度之和,則在所述第二參考幀的時間戳的基 礎上加上所述第二跳幀長度以更新所述第二參考幀的時間戳。作為本發(fā)明的一個實施例,在步驟103中,所述第一跳幀處理可以包括計算所述第一輸入幀和第一參考幀的屬性信息;判斷所述第一輸入幀與第一參考幀的屬性信息是否為以下3種情況之一,如果不 為以下3種情況之一,則所述跳幀長度為0 ;如果所述第一輸入幀為場景切換幀,則所述第一跳幀長度為第一預定值;如果所述第一輸入幀相對于所述第一參考幀為靜止幀,則所述第一跳幀長度為第
二預定值;如果所述第一輸入幀相對于所述第一參考幀為運動趨勢變化緩慢幀,則所述第一 跳幀長度為第三預定值;或者所述跳幀處理包括計算所述第二輸入幀和第二參考幀的屬性信息;判斷所述第二輸入幀與第二參考幀的屬性信息是否為以下3種情況之一,如果不 為以下3種情況之一,則所述跳幀長度為0 ;如果所述第二輸入幀為場景切換幀,則所述第二跳幀長度為第一預定值;如果所述第二輸入幀相對于所述第二參考幀為靜止幀,則所述第二跳幀長度為第
二預定值;如果所述第二輸入幀相對于所述第二參考幀為運動趨勢變化緩慢幀,則所述第二 跳幀長度為第三預定值。作為本發(fā)明的一個實施例,在計算第一輸入幀屬性信息中包括計算第一輸入幀 I幀和P幀的編碼復雜度、第一輸入幀的運動向量方向和運動向量幅值,并計算第一輸入幀直方圖光影變換信息;所述第一輸入幀為場景切換幀包括如果第一輸入幀的I幀和P幀編碼復雜度的 比例關系大于一預定編碼復雜度門限值,并且所述第一輸入幀的直方圖光影變換信息比第 一參考幀的直方圖光影變換信息大于一預定光影變換門限值,則所述第一跳幀長度為第一 預定值;其中,所述預定編碼復雜度門限值可以為略大于1的數(shù)值。所述第一輸入幀相對于所述第一參考幀為靜止幀包括如果第一輸入幀的直方圖 光影變換信息比第一參考幀的直方圖光影變換信息小于所述預定光影變換門限值,并且第 一輸入幀的運動向量幅值比第一參考幀的運動向量幅值小于第一預定運動向量幅值門限 值,則所述第一跳幀長度為第二預定值;所述第一輸入幀相對于所述第一參考幀為運動趨勢變化緩慢幀包括如果第一輸 入幀的運動向量主方向與第一參考幀的運動向量主方向相比較發(fā)生變化,并且第一輸入幀 的運動向量幅值比第一參考幀的運動向量幅值小于第二預定運動向量幅值門限值,則所述 第一跳幀長度為第三預定值;其中,所述第一輸入幀的運動向量主方向是指第一輸入幀圖像中超過一預定比例 的圖像塊的運動向量方向為所述運動向量主方向。在計算第二輸入幀屬性信息中包括計算第二輸入幀I幀和P幀的編碼復雜度、第 二輸入幀的運動向量方向和運動向量幅值,并計算第二輸入幀直方圖光影變換信息;所述第二輸入幀為場景切換幀包括如果第二輸入幀的I幀和P幀編碼復雜度的 比例關系大于一預定編碼復雜度門限值,并且所述第二輸入幀的直方圖光影變換信息比第 二參考幀的直方圖光影變換信息大于一預定光影變換門限值,則所述第二跳幀長度為第一 預定值;所述第二輸入幀相對于所述第二參考幀為靜止幀包括如果第二輸入幀的直方圖 光影變換信息比第二參考幀的直方圖光影變換信息小于所述預定光影變換門限值,并且第 二輸入幀的運動向量幅值比第二參考幀的運動向量幅值小于第一預定運動向量幅值門限 值,則所述第二跳幀長度為第二預定值;所述第二輸入幀相對于所述第二參考幀為運動趨勢變化緩慢幀包括如果第二輸 入幀的運動向量主方向與第二參考幀的運動向量主方向相比較發(fā)生變化,并且第二輸入幀 的運動向量幅值比第二參考幀的運動向量幅值小于第二預定運動向量幅值門限值,則所述 第二跳幀長度為第三預定值;其中,所述第二輸入幀的運動向量主方向是指第二輸入幀圖像中超過一預定比例 的圖像塊的運動向量方向為所述運動向量主方向。通過上述實施例,通過將時間下采樣和跳幀技術的結合,可以解決現(xiàn)有技術中幀 間隔不均勻的問題,使得圖像播放連貫。如圖2a所示為本發(fā)明實施例幀率調整具體流程圖。步驟201,接收初始幀,確定參考幀和時間間隔門限,不對該幀做處理直接輸出,并 將該幀置為第一參考幀,該第一參考幀的時間戳置為參考時間戳(refPts),計算輸出幀率 的時間間隔門限(frame_time),其中所述frame_time就是指每幀圖像持續(xù)時間,即幀率 的倒數(shù)。步驟202,接收一幀圖像,作為第一輸入幀。
步驟203,計算第一輸入幀的時間戳(PTS)與第一參考時間戳(refPts)的差,將其 與時間間隔門限(fram_time)比較大小,如果大于所述fram_time,則進行步驟204,否則返 回步驟202,繼續(xù)接收第二輸入幀。步驟204,進行第一跳幀處理,獲得跳幀長度(deltaPts),并將當前幀置為第一參 考幀,用于計算第二輸入幀的運動向量等信息。其中,第一跳幀處理可以采用現(xiàn)有技術中的 跳幀判決方法,也可以采用如圖3所示的跳幀判決方法,本發(fā)明并不對跳幀判決方法進行 限定。步驟205,計算第一輸入幀的時間戳與第一參考時間戳的差是否大于或等 于所述時間間隔門限與第一跳幀長度之和,即PTS-fram_t ime是否大于或者等于 refPts+deltaPts。如果大于或者等于則進入步驟207,否則進入步驟206。步驟206,更新第一參考幀的時間戳,在第一參考幀的時間戳的基礎上加上第一跳 幀長度,即refPts = refPts+deltaPts,進入步驟 208。步驟207,輸出第一輸入幀,并更新第一參考幀的時間戳,在第一參考幀時間戳的 基礎上加上第一跳幀長度和時間間隔門限,即refPts = refPts+deltaPts+fram_time。步驟208,判斷是否已經(jīng)處理完所有幀,如果未處理完則返回步驟202,繼續(xù)接收 第二輸入幀,否則進入步驟209。步驟209,處理結束。在上述返回步驟202后,繼續(xù)接收第二輸入幀的流程如圖2b所示,步驟201’,將輸出的第一輸入幀的時間戳作為第二參考幀的時間戳與第二輸入幀 的時間戳進行比較,如果所述第二輸入幀的時間戳與所述第二參考幀的時間戳的時間間隔 大于或等于設定的時間間隔門限值,則進入步驟202’,否則返回步驟201’繼續(xù)接收下一 幀。步驟202’,對所述第二輸入幀進行第二跳幀處理并獲得第二跳幀長度。步驟203’,判斷所述第二輸入幀的時間戳與所述第二參考幀的時間戳的時間間隔 大于或者等于所述時間間隔門限值與所述第二跳幀長度之和,如果大于或者等于則進入步 驟205,,否則進入步驟204,。步驟204’,更新第二參考幀的時間戳,在第二參考幀的時間戳的基礎上加上第二 跳幀長度,進入步驟206’。步驟205’,將所述第二輸入幀輸出,并更新第二參考幀的時間戳,在第二參考幀時 間戳的基礎上加上第二跳幀長度和時間間隔門限。步驟206’,判斷是否已經(jīng)處理完所有幀,如果未處理完則返回步驟201’,繼續(xù)接 收第二輸入幀,否則進入步驟207,。步驟207’,處理結束。如圖3a所示為本發(fā)明實施例第一跳幀判決方法流程圖。步驟301,計算第一輸入幀I幀和P幀的編碼復雜度,計算第一輸入幀的運動向量 主方向和主方向運動向量平均幅值,并計算第一參考幀的運動向量主方向和主方向運動向 量平均幅值。所述第一參考幀可以取自圖2a所示方法的步驟202或步驟204,或者單獨進行本 實施例中的跳幀判決方法時,將接收的第一輸入幀進行存儲,以作為下一次接收幀的參考幀,當接收的是第一輸入幀時,則設置該第一輸入幀為第一參考幀,等到接收第二輸入幀時 該第一輸入幀就為第一參考幀。步驟302,計算第一輸入幀和第一參考幀直方圖光影變換信息。上述的I幀和P幀的編碼復雜度、運動向量主方向、運動向量平均幅值和直方圖光 影變換信息統(tǒng)稱為屬性信息。步驟303,判斷所述第一輸入幀與第一參考幀的屬性信息是否為以下3種情況之 一,如果不屬于下述三種情況之一,則置deltaPts為0。步驟304,如果第一輸入幀的I幀和P幀編碼復雜度的比例關系小于一預定編碼復 雜度門限值,并且所述第一輸入幀的直方圖光影變換信息比第一參考幀的直方圖光影變換 信息變化大于一預定光影變換門限值,則置所述第一跳幀長度為第一預定值。其中,場景切 換是I幀編碼復雜度和P幀編碼復雜度較為接近,但I幀和P幀編碼復雜度的比例關系接 近1 (略大于1),但不是場景切換時要遠大于1。例如給定編碼復雜度門限值為1. 5,所述預定光影變換門限值為20%,所述第一 預定值取值范圍為40ms至50ms,直接計算第一輸入幀I幀的編碼復雜度,利用第一輸入幀 和第一參考幀的P幀計算當前幀的P幀編碼復雜度,將第一輸入幀I幀的編碼復雜度除以 第一輸入幀P幀的編碼復雜度結果大于1. 5時(該預定編碼復雜度門限值可以根據(jù)實際環(huán) 境進行設定),并且第一輸入幀與第一參考幀相比較有超過20%的像素發(fā)生光影變換,則 所述第一跳幀長度為45ms。步驟305,如果第一輸入幀的直方圖光影變換信息比第一參考幀的直方圖光影變 換信息變化小于所述預定光影變換門限值,并且第一輸入幀的各運動方向的向量幅值小于 第一預定運動向量幅值門限值,則置所述第一跳幀長度為第二預定值。例如該預定光影變換門限值為20%,所述第一預定運動向量幅值門限值為0,所 述第二預定值取值范圍為20ms至25ms,第一輸入幀與第一參考幀相比較有不超過20%的 像素發(fā)生光影變換,并且第一輸入幀的各運動方向的向量幅值為0,則所述第一跳幀長度為 22ms。步驟306,如果第一輸入幀的運動向量主方向與第一參考幀的運動向量主方向不 同,并且第一輸入幀的主方向的運動向量平均幅值小于第二預定運動向量幅值門限值,則 置所述第一跳幀長度為第三預定值。例如,所述運動向量主方向如圖4所示的本發(fā)明實施例圖像運動方向示意圖,根 據(jù)第一輸入幀的圖像運動向量不同,將其分為9個不同運動方向,幅值為零的運動向量為 方向零,運動向量的方向分布在方向N范圍內(方向一至方向八),則為運動向量的方向N。 一幅圖像中塊數(shù)最多的方向,則為第一輸入幀的運動向量主方向。第一輸入幀的主方向的 運動向量幅值小于第二預定運動向量幅值門限值,則第一輸入幀的運動趨勢變化較緩慢, 則所述第一跳幀長度為10ms。其中,第一輸入幀的主方向的運動向量幅值的單位例如為 1/4像素或者1/2像素,所述第一輸入幀的運動趨勢變化較緩慢例如是指第一輸入幀的主 方向的運動向量平均幅值小于2個像素,即小于5個1/4像素單位的幅值。如圖3b所示為本發(fā)明實施例第二跳幀判決方法流程圖。步驟301’,計算第二輸入幀I幀和P幀的編碼復雜度,計算第二輸入幀的運動向量
主方向和主方向運動向量平均幅值,并計算第二參考幀的運動向量主方向和主方向運動向量平均幅值。所述第二參考幀可以取自圖2b所示方法的步驟201’,或者單獨進行本實施例中 的跳幀判決方法時,將接收的第二輸入幀進行存儲,以作為下一次接收幀的第二參考幀,當 接收的是第二輸入幀時,則設置該第二輸入幀為第二參考幀,等到接收第三輸入幀時該第 二輸入幀就為參考幀。步驟302’,計算第二輸入幀和第二參考幀直方圖光影變換信息。上述的I幀和P幀的編碼復雜度、運動向量主方向、運動向量平均幅值和直方圖光 影變換信息統(tǒng)稱為屬性信息。步驟303’,判斷所述第二輸入幀與第二參考幀的屬性信息是否為以下3種情況之 一,如果不屬于下述三種情況之一,則置deltaPts為0。步驟304’,如果第二輸入幀的I幀和P幀編碼復雜度的比例關系小于一預定編碼 復雜度門限值,并且所述第二輸入幀的直方圖光影變換信息比第二參考幀的直方圖光影變 換信息變化大于一預定光影變換門限值,則置所述第二跳幀長度為第一預定值。其中,場景 切換是I幀編碼復雜度和P幀編碼復雜度較為接近,但I幀和P幀編碼復雜度的比例關系 接近1 (略大于1),但不是場景切換時要遠大于1。 例如給定編碼復雜度門限值為1. 5,所述預定光影變換門限值為20 %,所述第一 預定值取值范圍為40ms至50ms,直接計算第二輸入幀I幀的編碼復雜度,利用第二輸入幀 和第二參考幀的P幀計算第二輸入幀的P幀編碼復雜度,將第二輸入幀I幀的編碼復雜度 除以第二輸入幀P幀的編碼復雜度結果大于1.5時(該預定編碼復雜度門限值可以根據(jù) 實際環(huán)境進行設定),并且第二輸入幀與第二參考幀相比較有超過20%的像素發(fā)生光影變 換,則所述第二跳幀長度為45ms。步驟305’,如果第二輸入幀的直方圖光影變換信息比第二參考幀的直方圖光影變 換信息變化小于所述預定光影變換門限值,并且第二輸入幀的各運動方向的向量幅值小于 第一預定運動向量幅值門限值,則置所述第二跳幀長度為第二預定值。例如該預定光影變換門限值為20%,所述第一預定運動向量幅值門限值為0,所 述第二預定值取值范圍為20ms至25ms,第二輸入幀與第二參考幀相比較有不超過20 %的 像素發(fā)生光影變換,并且第二輸入幀的各運動方向的向量幅值為0,則所述第二跳幀長度為 22ms。步驟306’,如果第二輸入幀的運動向量主方向與第二參考幀的運動向量主方向不 同,并且第二輸入幀的主方向的運動向量平均幅值小于第二預定運動向量幅值門限值,則 置所述第二跳幀長度為第三預定值。例如,所述運動向量主方向如圖4所示的本發(fā)明實施例圖像運動方向示意圖,根 據(jù)第二輸入幀的圖像運動向量不同,將其分為9個不同運動方向,幅值為零的運動向量為 方向零,運動向量的方向分布在方向N范圍內(方向一至方向八),則為運動向量的方向N。 一幅圖像中塊數(shù)最多的方向,則為第二輸入幀的運動向量主方向。第二輸入幀的主方向的 運動向量幅值小于第二預定運動向量幅值門限值,則第二輸入幀的運動趨勢變化較緩慢, 則所述第二跳幀長度為10ms。其中,第二輸入幀的主方向的運動向量幅值的單位例如為 1/4像素或者1/2像素,所述第二輸入幀的運動趨勢變化較緩慢例如是指第二輸入幀的主 方向的運動向量平均幅值小于2個像素,即小于5個1/4像素單位的幅值。
通過上述實施例,能正確的檢測并跳過那些對視覺來說不敏感的幀,從而可以提 高其它非跳過幀的圖像質量,避免圖像播放的不連貫。如圖5所示為本發(fā)明實施例幀率調整裝置結構示意圖。包括初始幀輸出單元501,用于將初始幀作為第一輸出幀直接輸出。第一比較單元502,用于將第一輸出幀的時間戳作為第一參考幀的時間戳與第一 輸入幀的時間戳進行比較。第一跳幀長度獲取單元503,用于當所述第一輸入幀的時間戳與所述第一參考幀 的時間戳的時間間隔大于或等于設定的時間間隔門限值,則對所述第一輸入幀進行第一跳 幀處理并獲得第一跳幀長度。第一輸出單元504,用于當所述第一輸入幀的時間戳與所述第一參考幀的時間戳 的時間間隔大于或者等于所述時間間隔門限值與所述第一跳幀長度之和,則將所述第一輸 入幀輸出。通過上述實施例,通過將時間下采樣和跳幀技術的結合,可以解決現(xiàn)有技術中幀 間隔不均勻的問題,使得圖像播放連貫。以下實施例與圖5所示實施例基本類似,相同之處不再贅述。還包括,第二比較單元505,用于將輸出的第一輸入幀的時間戳作為第二參考幀的 時間戳與第二輸入幀的時間戳進行比較。第二跳幀長度獲取單元506,用于若所述第二輸入幀的時間戳與所述第二參考幀 的時間戳的時間間隔大于或等于設定的時間間隔門限值,則對所述第二輸入幀進行第二跳 幀處理并獲得第二跳幀長度;第二輸出單元507,用于當所述第二輸入幀的時間戳與所述第二參考幀的時間戳 的時間間隔大于或者等于所述時間間隔門限值與所述第二跳幀長度之和,則將所述第二輸 入幀輸出。作為本發(fā)明實施例的一個方面,所述第一跳幀長度獲取單元503還用于當所述第 一輸入幀時間戳與所述第一參考幀的時間戳的時間間隔小于所述時間間隔門限,則接收第 二輸入幀。第一跳幀長度獲取單元503還用于當?shù)谝惠斎霂瑫r間戳與所述第一參考幀的時 間戳的時間間隔小于所述時間間隔門限和第一跳幀長度之和,則在所述第一參考幀的時間 戳的基礎上加上所述第一跳幀長度以更新所述第一參考幀的時間戳。第二跳幀長度獲取單元506,還用于若第二輸入幀時間戳與所述第二參考幀的時 間戳的時間間隔小于所述時間間隔門限和第二跳幀長度之和,則在所述第二參考幀的時間 戳的基礎上加上所述第二跳幀長度以更新所述第二參考幀的時間戳。第二輸出單元507還用于判斷是否處理完所有幀,如果沒有處理完所有幀則第二 比較單元505繼續(xù)接收下一幀。如圖6a所示為本發(fā)明實施例第一跳幀長度獲取單元結構示意圖。包括第一計算模塊601,用于計算所述第一輸入幀和第一參考幀的屬性信息。第一判斷模塊602,用于判斷所述第一輸入幀與第一參考幀的屬性信息是否為以 下3種情況之一,如果不為以下3種情況之一,則所述跳幀長度為0 ;
如果所述第一輸入幀為場景切換幀,則所述第一跳幀長度為第一預定值;如果所述第一輸入幀相對于所述第一參考幀為靜止幀,則所述第一跳幀長度為第
二預定值;如果所述第一輸入幀相對于所述第一參考幀為運動趨勢變化緩慢幀,則所述第一 跳幀長度為第三預定值。第二跳幀長度獲取單元如圖6b所示,包括,第二計算模塊601’用于計算所述第二輸入幀和第二參考幀的屬性信息;第二判斷模塊602’用于判斷所述第二輸入幀與第二參考幀的屬性信息是否為以 下3種情況之一,如果不為以下3種情況之一,則所述跳幀長度為0 ;如果所述第二輸入幀為場景切換幀,則所述第二跳幀長度為第一預定值;如果所述第二輸入幀相對于所述第二參考幀為靜止幀,則所述第二跳幀長度為第 二預定值;如果所述第二輸入幀相對于所述第二參考幀為運動趨勢變化緩慢幀,則所述第二 跳幀長度為第三預定值。通過上述實施例,能正確的檢測并跳過那些對視覺來說不敏感的幀,從而可以提 高其它非跳過幀的圖像質量,避免圖像播放的不連貫。以下實施例與圖6所示實施例基本類似,相同之處不再贅述。第一計算模塊601,進一步用于計算第一輸入幀I幀和P幀的編碼復雜度、第一輸 入幀的運動向量方向和運動向量幅值,并計算第一輸入幀直方圖光影變換信息。第一判斷模塊602,進一步用于判斷如果第一輸入幀的I幀和P幀編碼復雜度的 比例關系大于一預定編碼復雜度門限值,并且所述第一輸入幀的直方圖光影變換信息比第 一參考幀的直方圖光影變換信息大于一預定光影變換門限值,則所述第一跳幀長度為第一 預定值;其中,場景切換是I幀編碼復雜度和P幀編碼復雜度較為接近,但I幀和P幀編碼 復雜度的比例關系接近1(略大于1),但不是場景切換時要遠大于1。判斷如果第一輸入幀的直方圖光影變換信息比第一參考幀的直方圖光影變換信 息小于所述預定光影變換門限值,并且第一輸入幀的運動向量幅值比第一參考幀的運動向 量幅值小于第一預定運動向量幅值門限值,則所述第一跳幀長度為第二預定值;判斷如果第一輸入幀的運動向量主方向與第一參考幀的運動向量主方向相比較 發(fā)生變化,并且第一輸入幀的運動向量幅值比第一參考幀的運動向量幅值小于第二預定運 動向量幅值門限值,則所述第一跳幀長度為第三預定值。其中,其中,所述第一輸入幀的運動向量主方向是指第一輸入幀圖像中超過一預 定比例的圖像塊的運動向量方向為所述運動向量主方向。所述第二計算模塊601’進一步用于計算第二輸入幀I幀和P幀的編碼復雜度、第 二輸入幀的運動向量方向和運動向量幅值,并計算第二輸入幀直方圖光影變換信息;所述第二判斷模塊602’進一步用于判斷如果第二輸入幀的I幀和P幀編碼復雜 度的比例關系大于一預定編碼復雜度門限值,并且所述第二輸入幀的直方圖光影變換信息 比第二參考幀的直方圖光影變換信息大于一預定光影變換門限值,則所述第二跳幀長度為 第一預定值;判斷如果第二輸入幀的直方圖光影變換信息比第二參考幀的直方圖光影變換信息小于所述預定光影變換門限值,并且第二輸入幀的運動向量幅值比第二參考幀的運動向 量幅值小于第一預定運動向量幅值門限值,則所述第二跳幀長度為第二預定值;判斷如果第二輸入幀的運動向量主方向與第二參考幀的運動向量主方向相比較 發(fā)生變化,并且第二輸入幀的運動向量幅值比第二參考幀的運動向量幅值小于第二預定運 動向量幅值門限值,則所述第二跳幀長度為第三預定值;其中,所述第二輸入幀的運動向量主方向是指第二輸入幀圖像中超過一預定比例 的圖像塊的運動向量方向為所述運動向量主方向。如圖7所示為本發(fā)明實施例幀率調整時序圖。接收第一幀,在本例中第一幀為0,計算時間間隔門限,在本例中為100ms,參考時 間戳為0。接收下一幀(時序上為40ms的幀),計算當前幀時間戳與參考時間戳的差,即 40-0 = 40ms,將所述計算結果與時間間隔門限進行比較,在本例中當前幀時間戳與參考時 間戳的差小于時間間隔門限,繼續(xù)接收下一幀(時序上為80ms的幀),其比較結果仍然為小 于時間間隔門限,繼續(xù)接收下一幀(時序上為120ms的幀),其比較結果為大于時間間隔門限。假設在本步驟中的跳幀長度為0ms,比較當前幀的時間戳(時序上為120ms的幀) 與參考時間戳的差,即120-0 = 120ms,時間間隔門限與跳幀長度的和,即100+0 = 100ms, 由于當前幀的時間戳與參考時間戳的差大于所述時間間隔門限與跳幀長度的和,所以輸出 當前幀(時序上為120ms的幀),參考時間戳更新為refPts+deltaPts+fram_time = 100ms, 由于還沒有處理完所有的幀,所以繼續(xù)接收下一幀(時序上為160ms的幀)。計算當前幀(時序上為160ms的幀)時間戳與參考時間戳的差,即160-100 = 60ms,將所述計算結果與時間間隔門限進行比較,在本例中當前幀時間戳與參考時間戳的 差小于時間間隔門限,繼續(xù)接收下一幀(時序上為200ms的幀),其比較結果為等于時間間 隔門限。假設在本步驟中的跳幀長度為40ms,比較當前幀的時間戳(時序上為200ms的 幀)與參考時間戳的差,即200-100 = 100ms,時間間隔門限與跳幀長度的和,即100+40 = 140ms,由于當前幀的時間戳與參考時間戳的差小于所述時間間隔門限與跳幀長度的和,所 以更新參考時間戳為refPts+deltaPts = 100+40 = 140ms,由于還沒有處理完所有的幀,所 以繼續(xù)接收下一幀(時序上為240ms的幀)。計算當前幀(時序上為240ms的幀)時間戳與參考時間戳的差,即240-140 = 100ms,將所述計算結果與時間間隔門限進行比較,在本例中當前幀時間戳與參考時間戳的 差等于時間間隔門限。假設在本步驟中的跳幀長度為0ms,比較當前幀的時間戳(時序上為240ms的 幀)與參考時間戳的差,即240-140 = 100ms,時間間隔門限與跳幀長度的和,即100+0 = 100ms,由于當前幀的時間戳與參考時間戳的差等于所述時間間隔門限與跳幀長度的和,所 以輸出當前幀(時序上為240ms的幀),參考時間戳更新為refPts+deltaPts+fram_time = 240ms,由于還沒有處理完所有的幀,所以繼續(xù)接收下一幀(時序上為280ms的幀)。后面的 處理方法與前述類似,在此不再贅述。作為本發(fā)明實施例的有益效果在于,通過將時間下采樣和跳幀方法的結合使得在降幀時幀時間間隔均勻,并且通過本發(fā)明實施例的跳幀方法,能正確的檢測并跳過那些對 視覺來說不敏感的幀,從而可以提高其它非跳過幀的圖像質量,避免圖像播放的不連貫。本領域普通技術人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,可以通 過計算機程序來指令相關的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質 中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁 碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機存儲記憶體(Random Access Memory, RAM)等。以上所述的具體實施方式
,對本發(fā)明的目的、技術方案和有益效果進行了進一步 詳細說明,所應理解的是,以上所述僅為本發(fā)明的具體實施方式
而已,并不用于限定本發(fā)明 的保護范圍,凡在本發(fā)明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含 在本發(fā)明的保護范圍之內。
權利要求
1.一種幀率調整方法,其特征在于包括 將初始幀作為第一輸出幀直接輸出;將所述第一輸出幀的時間戳作為第一參考幀的時間戳與第一輸入幀的時間戳進行比較;若所述第一輸入幀的時間戳與所述第一參考幀的時間戳的時間間隔大于或等于設定 的時間間隔門限值,則對所述第一輸入幀進行第一跳幀處理并獲得第一跳幀長度;若所述第一輸入幀的時間戳與所述第一參考幀的時間戳的時間間隔大于或者等于所 述時間間隔門限值與所述第一跳幀長度之和,則將所述第一輸入幀輸出。
2.根據(jù)權利要求1所述的方法,其特征在于,所述方法還包括將輸出的第一輸入幀的時間戳作為第二參考幀的時間戳與第二輸入幀的時間戳進行 比較;若所述第二輸入幀的時間戳與所述第二參考幀的時間戳的時間間隔大于或等于設定 的時間間隔門限值,則對所述第二輸入幀進行第二跳幀處理并獲得第二跳幀長度;若所述第二輸入幀的時間戳與所述第二參考幀的時間戳的時間間隔大于或者等于所 述時間間隔門限值與所述第二跳幀長度之和,則將所述第二輸入幀輸出。
3.根據(jù)權利要求2所述的方法,其特征在于,若所述第一輸入幀的時間戳與所述第一 參考幀的時間戳的時間間隔大于或等于設定的時間間隔門限值包括如果第一輸入幀時間 戳與所述第一參考幀的時間戳的時間間隔小于所述時間間隔門限,則接收第二輸入幀。
4.根據(jù)權利要求1所述的方法,其特征在于,所述方法還包括若第一輸入幀時間戳與 所述第一參考幀的時間戳的時間間隔小于所述時間間隔門限和第一跳幀長度之和,則在所 述第一參考幀的時間戳的基礎上加上所述第一跳幀長度以更新所述第一參考幀的時間戳。
5.根據(jù)權利要求2所述的方法,其特征在于,所述方法還包括若第二輸入幀時間戳與所述第二參考幀的時間戳的時間間隔小于所述時間間隔門限 和第二跳幀長度之和,則在所述第二參考幀的時間戳的基礎上加上所述第二跳幀長度以更 新所述第二參考幀的時間戳。
6.根據(jù)權利要求4所述的方法,其特征在于,所述第一跳幀處理包括 計算所述第一輸入幀和第一參考幀的屬性信息;判斷所述第一輸入幀與第一參考幀的屬性信息是否為以下3種情況之一,如果不為以 下3種情況之一,則所述第一跳幀長度為0 ;如果所述第一輸入幀為場景切換幀,則所述第一跳幀長度為第一預定值; 如果所述第一輸入幀相對于所述第一參考幀為靜止幀,則所述第一跳幀長度為第二預 定值;如果所述第一輸入幀相對于所述第一參考幀為運動趨勢變化緩慢幀,則所述第一跳幀長度為第三預定值。
7.根據(jù)權利要求5所述的方法,其特征在于,所述第二跳幀處理包括計算所述第二輸 入幀和第二參考幀的屬性信息;判斷所述第二輸入幀與第二參考幀的屬性信息是否為以下3種情況之一,如果不為以 下3種情況之一,則所述第二跳幀長度為0 ;如果所述第二輸入幀為場景切換幀,則所述第二跳幀長度為第一預定值;如果所述第二輸入幀相對于所述第二參考幀為靜止幀,則所述第二跳幀長度為第二預 定值;如果所述第二輸入幀相對于所述第二參考幀為運動趨勢變化緩慢幀,則所述第二跳幀長度為第三預定值。
8.根據(jù)權利要求6所述的方法,其特征在于,在計算第一輸入幀屬性信息中包括計算 第一輸入幀I幀和P幀的編碼復雜度、第一輸入幀的運動向量方向和運動向量幅值,并計算 第一輸入幀直方圖光影變換信息;所述第一輸入幀為場景切換幀包括如果第一輸入幀的I幀和P幀編碼復雜度的比 例關系大于預定編碼復雜度門限值,并且所述第一輸入幀的直方圖光影變換信息比第一參 考幀的直方圖光影變換信息大于一預定光影變換門限值,則所述第一跳幀長度為第一預定 值;所述第一輸入幀相對于所述第一參考幀為靜止幀包括如果第一輸入幀的直方圖光影 變換信息比第一參考幀的直方圖光影變換信息小于所述預定光影變換門限值,并且第一輸 入幀的運動向量幅值比第一參考幀的運動向量幅值小于第一預定運動向量幅值門限值,則 所述第一跳幀長度為第二預定值;所述第一輸入幀相對于所述第一參考幀為運動趨勢變化緩慢幀包括如果第一輸入幀 的運動向量主方向與第一參考幀的運動向量主方向相比較發(fā)生變化,并且第一輸入幀的運 動向量幅值比第一參考幀的運動向量幅值小于第二預定運動向量幅值門限值,則所述第一 跳幀長度為第三預定值;其中,所述第一輸入幀的運動向量主方向是指第一輸入幀圖像中超過一預定比例的圖 像塊的運動向量方向為所述運動向量主方向。
9.根據(jù)權利要求7所述的方法,其特征在于,所述在計算第二輸入幀屬性信息中包括 計算第二輸入幀I幀和P幀的編碼復雜度、第二輸入幀的運動向量方向和運動向量幅值,并 計算第二輸入幀直方圖光影變換信息;所述第二輸入幀為場景切換幀包括如果第二輸入幀的I幀和P幀編碼復雜度的比例 關系大于一預定編碼復雜度門限值,并且所述第二輸入幀的直方圖光影變換信息比第二參 考幀的直方圖光影變換信息大于一預定光影變換門限值,則所述第二跳幀長度為第一預定 值;所述第二輸入幀相對于所述第二參考幀為靜止幀包括如果第二輸入幀的直方圖光影 變換信息比第二參考幀的直方圖光影變換信息小于所述預定光影變換門限值,并且第二輸 入幀的運動向量幅值比第二參考幀的運動向量幅值小于第一預定運動向量幅值門限值,則 所述第二跳幀長度為第二預定值;所述第二輸入幀相對于所述第二參考幀為運動趨勢變化緩慢幀包括如果第二輸入幀 的運動向量主方向與第二參考幀的運動向量主方向相比較發(fā)生變化,并且第二輸入幀的運 動向量幅值比第二參考幀的運動向量幅值小于第二預定運動向量幅值門限值,則所述第二 跳幀長度為第三預定值;其中,所述第二輸入幀的運動向量主方向是指第二輸入幀圖像中超過一預定比例的圖 像塊的運動向量方向為所述運動向量主方向。
10.一種幀率調整裝置,其特征在于包括初始幀輸出單元,用于將初始幀作為第一輸出幀直接輸出;第一比較單元,用于將第一輸出幀的時間戳作為第一參考幀的時間戳與第一輸入幀的 時間戳進行比較;第一跳幀長度獲取單元,用于若所述第一輸入幀的時間戳與所述第一參考幀的時間戳 的時間間隔大于或等于設定的時間間隔門限值,則對所述第一輸入幀進行第一跳幀處理并 獲得第一跳幀長度;第一輸出單元,用于若所述第一輸入幀的時間戳與所述第一參考幀的時間戳的時間 間隔大于或者等于所述時間間隔門限值與所述第一跳幀長度之和,則將所述第一輸入幀輸出ο
11.根據(jù)權利要求10所述的裝置,其特征在于,所述裝置還包括第二比較單元,用于將輸出的第一輸入幀的時間戳作為第二參考幀的時間戳與第二輸 入幀的時間戳進行比較;第二跳幀長度獲取單元,用于若所述第二輸入幀的時間戳與所述第二參考幀的時間戳 的時間間隔大于或等于設定的時間間隔門限值,則對所述第二輸入幀進行第二跳幀處理并 獲得第二跳幀長度;第二輸出單元,用于若所述第二輸入幀的時間戳與所述第二參考幀的時間戳的時間 間隔大于或者等于所述時間間隔門限值與所述第二跳幀長度之和,則將所述第二輸入幀輸出O
12.根據(jù)權利要求11所述的裝置,其特征在于,所述第一跳幀長度獲取單元還用于當 所述第一輸入幀時間戳與所述第一參考幀的時間戳的時間間隔小于所述時間間隔門限,則 接收第二輸入幀。
13.根據(jù)權利要求11所述的裝置,其特征在于,所述第一跳幀長度獲取單元還用于當 第一輸入幀時間戳與所述第一參考幀的時間戳的時間間隔小于所述時間間隔門限和第一 跳幀長度之和,則在所述第一參考幀的時間戳的基礎上加上所述第一跳幀長度以更新所述 第一參考幀的時間戳。
14.根據(jù)權利要求13所述的裝置,其特征在于,所述第二跳幀長度獲取單元還用于若 第二輸入幀時間戳與所述第二參考幀的時間戳的時間間隔小于所述時間間隔門限和第二 跳幀長度之和,則在所述第二參考幀的時間戳的基礎上加上所述第二跳幀長度以更新所述 第二參考幀的時間戳。
15.根據(jù)權利要求11所述的裝置,其特征在于,所述第一跳幀長度獲取單元包括 第一計算模塊,用于計算所述第一輸入幀和第一參考幀的屬性信息;第一判斷模塊,用于判斷所述第一輸入幀與第一參考幀的屬性信息是否為以下3種情 況之一,如果不為以下3種情況之一,則所述第一跳幀長度為0 ;如果所述第一輸入幀為場景切換幀,則所述第一跳幀長度為第一預定值; 如果所述第一輸入幀相對于所述第一參考幀為靜止幀,則所述第一跳幀長度為第二預 定值;如果所述第一輸入幀相對于所述第一參考幀為運動趨勢變化緩慢幀,則所述第一跳幀 長度為第三預定值。
16.根據(jù)權利要求15所述的裝置,其特征在于,所述第二跳幀處理單元包括第二計算模塊,用于計算所述第二輸入幀和第二參考幀的屬性信息; 第二判斷模塊,用于判斷所述第二輸入幀與第二參考幀的屬性信息是否為以下3種情 況之一,如果不為以下3種情況之一,則所述第二跳幀長度為0 ;如果所述第二輸入幀為場景切換幀,則所述第二跳幀長度為第一預定值; 如果所述第二輸入幀相對于所述第二參考幀為靜止幀,則所述第二跳幀長度為第二預 定值;如果所述第二輸入幀相對于所述第二參考幀為運動趨勢變化緩慢幀,則所述第二跳幀長度為第三預定值。
17.根據(jù)權利要求15所述的裝置,其特征在于,所述第一計算模塊進一步用于計算第 一輸入幀I幀和P幀的編碼復雜度、第一輸入幀的運動向量方向和運動向量幅值,并計算第 一輸入幀直方圖光影變換信息;所述第一判斷模塊進一步用于判斷如果第一輸入幀的I幀和P幀編碼復雜度的比例 關系大于一預定編碼復雜度門限值,并且所述第一輸入幀的直方圖光影變換信息比第一參 考幀的直方圖光影變換信息大于一預定光影變換門限值,則所述第一跳幀長度為第一預定 值;判斷如果第一輸入幀的直方圖光影變換信息比第一參考幀的直方圖光影變換信息小 于所述預定光影變換門限值,并且第一輸入幀的運動向量幅值比第一參考幀的運動向量幅 值小于第一預定運動向量幅值門限值,則所述第一跳幀長度為第二預定值;判斷如果第一輸入幀的運動向量主方向與第一參考幀的運動向量主方向相比較發(fā)生 變化,并且第一輸入幀的運動向量幅值比第一參考幀的運動向量幅值小于第二預定運動向 量幅值門限值,則所述第一跳幀長度為第三預定值;其中,所述第一輸入幀的運動向量主方向是指第一輸入幀圖像中超過一預定比例的圖 像塊的運動向量方向為所述運動向量主方向。
18.根據(jù)權利要求16所述的裝置,其特征在于,所述第二計算模塊進一步用于計算第 二輸入幀I幀和P幀的編碼復雜度、第二輸入幀的運動向量方向和運動向量幅值,并計算第 二輸入幀直方圖光影變換信息;所述第二判斷模塊進一步用于判斷如果第二輸入幀的I幀和P幀編碼復雜度的比例 關系大于一預定編碼復雜度門限值,并且所述第二輸入幀的直方圖光影變換信息比第二參 考幀的直方圖光影變換信息大于一預定光影變換門限值,則所述第二跳幀長度為第一預定 值;判斷如果第二輸入幀的直方圖光影變換信息比第二參考幀的直方圖光影變換信息小 于所述預定光影變換門限值,并且第二輸入幀的運動向量幅值比第二參考幀的運動向量幅 值小于第一預定運動向量幅值門限值,則所述第二跳幀長度為第二預定值;判斷如果第二輸入幀的運動向量主方向與第二參考幀的運動向量主方向相比較發(fā)生 變化,并且第二輸入幀的運動向量幅值比第二參考幀的運動向量幅值小于第二預定運動向 量幅值門限值,則所述第二跳幀長度為第三預定值;其中,所述第二輸入幀的運動向量主方向是指第二輸入幀圖像中超過預定比例的圖像 塊的運動向量方向為所述運動向量主方向。
全文摘要
本發(fā)明涉及視頻處理領域,特別是關于一種幀率調整和裝置,所述方法包括將初始幀作為第一輸出幀直接輸出;將所述第一輸出幀的時間戳作為第一參考幀的時間戳與第一輸入幀的時間戳進行比較;若所述第一輸入幀的時間戳與所述第一參考幀的時間戳的時間間隔大于或等于設定的時間間隔門限值,則對所述第一輸入幀進行第一跳幀處理并獲得第一跳幀長度;若所述第一輸入幀的時間戳與所述第一參考幀的時間戳的時間間隔大于或者等于所述時間間隔門限值與所述第一跳幀長度之和,則將所述第一輸入幀輸出。本發(fā)明實施例的有益效果在于,通過將時間下采樣和跳幀技術的結合,可以解決現(xiàn)有技術中幀間隔不均勻的問題,使得圖像播放連貫。
文檔編號H04N7/24GK102104775SQ20091025941
公開日2011年6月22日 申請日期2009年12月18日 優(yōu)先權日2009年12月18日
發(fā)明者李國軍, 楊懷省, 邱香膏 申請人:華為技術有限公司