針對高幀率和可變幀率捕獲來調(diào)整視頻壓縮的制作方法
【專利說明】針對高幀率和可變幀率捕獲來調(diào)整視頻壓縮
[0001]優(yōu)先權要求
[0002]本申請要求如下申請的優(yōu)先權:2013年8月21日提交的美國專利申請13/972,434、2013年6月7日提交的美國臨時申請61/832,447和2013年7月1日提交的美國臨時申請61/841,635,通過引用將其全文并入本文。
【背景技術】
[0003]本公開總體上涉及圖像和視頻處理領域。更具體地,本公開涉及對具有可丟棄的幀的幀進行編碼和解碼,以及以慢動作來顯示具有可丟棄的幀的編碼視頻的方法。
[0004]視頻捕獲技術的進步允許以高幀率捕獲視頻數(shù)據(jù)。包括此類技術的相機通常與功能強大的處理器耦接,該處理器能夠對這種數(shù)據(jù)容易地編碼并通過高速通信信道發(fā)送編碼視頻內(nèi)容。不過,用于顯示所捕獲的視頻數(shù)據(jù)的設備并非始終能夠以相同的高幀率顯示視頻數(shù)據(jù)。這些設備可能具有有限的資源來對視頻數(shù)據(jù)進行解碼以及以高幀率實時顯示數(shù)據(jù)。于是,在顯示設備接收以高幀率的編碼視頻數(shù)據(jù)時,由于設備的資源有限,顯示設備可能無法實時對視頻內(nèi)容進行解碼和顯示。
【附圖說明】
[0005]為了能夠理解本發(fā)明的特征,下文描述多個附圖。不過,要指出的是,附圖僅僅示出了特定實施例,因此不被視為其范圍的限制,因為本發(fā)明可以涵蓋其他同樣有效的實施例。
[0006]圖1示出了根據(jù)本發(fā)明的實施例的視頻編碼系統(tǒng)的簡化框圖。
[0007]圖2是根據(jù)本發(fā)明的實施例的視頻捕獲和顯示系統(tǒng)的功能框圖。
[0008]圖3是根據(jù)本發(fā)明的實施例的視頻編碼系統(tǒng)的功能框圖。
[0009]圖4是根據(jù)本發(fā)明的實施例的視頻解碼系統(tǒng)的功能框圖。
[0010]圖5示出了根據(jù)本發(fā)明的實施例的對具有可丟棄的幀的視頻數(shù)據(jù)進行編碼的方法。
[0011]圖6示出了根據(jù)本發(fā)明的實施例的用于對具有可丟棄的幀的視頻數(shù)據(jù)進行解碼的方法。
[0012]圖7示出了用于對具有可丟棄的幀的視頻數(shù)據(jù)進行解碼以供慢動作回放的方法。
[0013]圖8示出了根據(jù)本發(fā)明的實施例的用于以慢動作處理視頻數(shù)據(jù)的方法。
[0014]圖9示出了可以根據(jù)本發(fā)明的實施例處理的視頻數(shù)據(jù)的圖像序列。
【具體實施方式】
[0015]本發(fā)明的實施例提供了視頻編碼和解碼系統(tǒng)和方法,所述視頻編碼和解碼系統(tǒng)和方法允許要在具有有限資源(例如,解碼器和/或顯示資源)的設備上顯示高幀率的視頻數(shù)據(jù)。這些設備可以將其資源專用于其他任務,或者可能不能以高幀率顯示視頻數(shù)據(jù)。該編碼方法可以包括對幀進行編碼使得在編碼視頻數(shù)據(jù)中包括附加的可丟棄的幀。解碼方法可以包括在對編碼視頻數(shù)據(jù)進行解碼之前丟棄可丟棄的幀,以減少將要被解碼和顯示的幀數(shù)。這些方法可應用于具有可變幀率的視頻數(shù)據(jù),可以與處理圖像序列相組合以供慢動作回放。
[0016]圖1示出了根據(jù)本發(fā)明的實施例的視頻編碼系統(tǒng)100的簡化框圖。系統(tǒng)100可包括經(jīng)由網(wǎng)絡150互連的多個終端110-140。針對數(shù)據(jù)的單向傳輸,第一終端110可以在本地位置對視頻數(shù)據(jù)進行編碼,以通過網(wǎng)絡150傳輸?shù)狡渌K端120。第二終端120可從網(wǎng)絡150接收另一個終端的編碼視頻數(shù)據(jù),對編碼數(shù)據(jù)進行解碼并顯示恢復的視頻數(shù)據(jù)。在媒體服務應用等中,單向數(shù)據(jù)傳輸是常見的。
[0017]圖1示出了為支持編碼視頻的雙向傳輸而提供的第二對終端130、140,例如,在視頻會議期間,可能發(fā)生這種情況。針對數(shù)據(jù)的雙向傳輸,每個終端130、140可以對本地位置捕獲的視頻數(shù)據(jù)進行編碼,以通過網(wǎng)絡150傳輸?shù)狡渌K端。每個終端120、130、140也可接收另一終端發(fā)送的編碼視頻數(shù)據(jù),可對編碼數(shù)據(jù)解碼并可以在本地顯示設備處顯示恢復的視頻數(shù)據(jù)。
[0018]終端110-140能夠以高幀率(例如120fps、240fps等)捕獲視頻。終端110-14能夠以可變幀率捕獲視頻。捕獲視頻所在的幀率可以基于視頻中的內(nèi)容、場景條件和/或用于捕獲和處理視頻的處理資源的可用性而動態(tài)變化。例如,當光線較少時可以減小幀率(如從120fps到20fps)。在視頻內(nèi)容中動作增多時,可以由相機增大幀率(例如,從120fps到240fps)。相機可以基于可用于捕獲和處理(例如濾波和編碼)所捕獲視頻的資源來增大捕獲幀率。
[0019]在圖1中,終端110-140被例示為服務器、個人計算機和智能電話,但本發(fā)明的原理并不限于此。本發(fā)明的實施例可應用于膝上型計算機、平板電腦、媒體播放器和/或專用視頻會議設備。終端120-140可以包括有限的資源以對視頻進行解碼和/或顯示。
[0020]網(wǎng)絡150可代表在終端110-140之間傳輸編碼視頻數(shù)據(jù)的任意數(shù)量的網(wǎng)絡,包括例如有線通信網(wǎng)絡和/或無線通信網(wǎng)絡。通信網(wǎng)絡150可在電路交換信道和/或分組交換信道中交換數(shù)據(jù)。代表性網(wǎng)絡包括電信網(wǎng)、局域網(wǎng)、廣域網(wǎng)和/或互聯(lián)網(wǎng)。出于本論述的目的,除非下文作出解釋,否則網(wǎng)絡150的體系結構和拓撲結構對本發(fā)明的操作是無關緊要的。
[0021]圖2是根據(jù)本發(fā)明的實施例的視頻捕獲和顯示系統(tǒng)200的功能框圖。系統(tǒng)200可以包括用于對視頻數(shù)據(jù)進行捕獲和編碼第一終端210,和用于對編碼視頻數(shù)據(jù)進行解碼并顯示解碼視頻數(shù)據(jù)的第二終端230。第一終端210中的發(fā)送器216可以通過通信信道220向第二終端230中的接收器232發(fā)送編碼視頻。
[0022]第一終端210可以包括視頻源212,視頻源212以高幀率(例如129fps或240fps)提供視頻數(shù)據(jù)。視頻源212提供并向解碼器234發(fā)送的視頻數(shù)據(jù)的幀率可能超過第二終端230能夠對視頻數(shù)據(jù)進行解碼和/或顯示的默認幀率(例如,24fpS、25fpS、30fpS或60fps)。為了顯示視頻數(shù)據(jù),解碼器234可以僅對從編碼視頻數(shù)據(jù)選擇的若干幀進行解碼。解碼器234可以丟棄若干可丟棄的幀以減少對編碼視頻數(shù)據(jù)進行解碼所需的資源。解碼器234可以丟棄若干可丟棄的幀以將幀率減小到默認幀率(S卩,解碼器234能夠應對的幀率和/或視頻顯示器236能夠顯示視頻內(nèi)容所用的幀率)。
[0023]第一終端210中的視頻編碼器214可以對來自視頻源212的視頻數(shù)據(jù)進行編碼。視頻編碼器214可以對視頻數(shù)據(jù)教學編碼,使得編碼幀包括可以被丟棄且不被視頻解碼器234解碼的可丟棄的幀??蓙G棄的幀可以包括在預測任何其他幀時不使用的幀。在一個實施例中,盡管可丟棄的幀可以取決于要解碼的其他幀中的數(shù)據(jù),但可能沒有其他幀取決于可丟棄的幀中的數(shù)據(jù)。因此,在解碼器234不對可丟棄的幀進行解碼時,無需已解碼的可丟棄的幀中的數(shù)據(jù),仍然可以對其他幀進行解碼。
[0024]視頻編碼器214還可以對視頻數(shù)據(jù)進行編碼,使得編碼幀包括不可丟棄的幀。不可丟棄的幀可以包括對其他幀進行編碼時用作參考幀的幀。
[0025]視頻編碼器214可以對視頻數(shù)據(jù)進行編碼,使得編碼視頻數(shù)據(jù)包括足夠多可丟棄的幀,以將幀率減小到默認幀率(例如,第二終端230能夠對視頻數(shù)據(jù)進行解碼和/或顯示的幀率)。于是,視頻編碼器可以對視頻數(shù)據(jù)進行編碼,使得每秒和/或特定數(shù)量的不可丟棄的幀有指定數(shù)量的可丟棄的幀。視頻編碼器214可以標記哪些幀是可丟棄的幀和/或哪些幀是不可丟棄的幀。視頻編碼器214可以具有預設的默認幀率或可以從第二終端230接收默認幀率,該默認幀率可以基于解碼器234和/或顯示器236可用的資源而變化。
[0026]編碼器214可以對視頻數(shù)據(jù)進行編碼以針對超過幀率閾值(例如,默認幀率)的任何幀產(chǎn)生可丟棄的幀。例如,在幀率閾值為60fps且視頻源212提供的幀率處于240fps時,可以將每四個幀中的至少三個幀編碼成可丟棄的幀。在幀率閾值為60fps且視頻源212提供的幀率處于120fps時,可以將每兩個幀中的至少一個編碼成可丟棄的幀。在幀率閾值為60fps且視頻源212提供的幀率處于60fps時,任何幀都不需要是可丟棄的。
[0027]在另一個實施例中,視頻源212能夠以動態(tài)變化的幀率提供視頻數(shù)據(jù)。幀率可以基于視頻中的內(nèi)容、場景條件和/或用于捕獲和處理(例如,編碼)視頻數(shù)據(jù)的處理資源的可用性而動態(tài)變化。幀率的范圍可能會超過第二終端能夠對視頻數(shù)據(jù)進行解碼和/或顯示的默認幀率。在源視頻數(shù)據(jù)的幀率超過默認幀率時,視頻編碼器214可以改變編碼參數(shù)以在編碼視頻數(shù)據(jù)中提供附加的可丟棄的幀。附加的可丟棄的幀可以允許解碼器234丟棄可丟棄的幀并以默認幀率對編碼數(shù)據(jù)解碼。
[0028]利用可丟棄的幀對視頻編碼為解碼器234提供了時間穩(wěn)定性,這樣允許根據(jù)解碼器資源、顯示器資源、播放速率等對更多或更少幀解碼??梢韵蚨鄠€設備發(fā)送具有可丟棄的幀的編碼視頻數(shù)據(jù),其中每個設備可以具有可用于對視頻數(shù)據(jù)進行解碼和/或顯示的不同資源。為編碼數(shù)據(jù)提供可丟棄的幀可以確保所有設備都能夠顯示視頻內(nèi)容。每個設備可以基于設備上可用的資源,選擇要解碼的幀的數(shù)量以及待丟棄哪些幀。
[0029]包括附加的可丟棄的幀可以提高編碼視頻數(shù)據(jù)的比