本申請要求2015年12月8日提交的標題為“SYSTEM AND METHOD OF USING COMPRESSED REFERENCE FRAMES IN VIDEO CODECS(在視頻編解碼器中使用壓縮參考幀的系統和方法)”的美國臨時申請第62/264,757號的優先權和權益,其全部內容通過引用被合并于此。
本申請涉及2016年11月4日提交的標題為“SYSTEM AND METHOD OF USING COMPRESSED REFERENCE FRAMES IN VIDEO CODECS(在視頻編解碼器中使用壓縮參考幀的系統和方法)”的美國專利申請第15/344,444號(“'444申請”),其全部內容通過引用被合并于此。
技術領域
根據本發明的實施例的一個或多個方面涉及壓縮視頻數據的傳輸,更具體地說,涉及使用壓縮參考幀數據來編碼未壓縮視頻數據和解碼壓縮視頻數據的系統和方法。
背景技術:
視頻顯示器可以從諸如計算機中的視頻卡的視頻數據源以相對高的數據速率接收數據。視頻數據可以在視頻數據源處被壓縮并在顯示器處被解壓縮,以使得能夠通過具有一定容量的信道以更高的有效數據速率發送。視頻數據的解碼可以包含使用參考幀,例如先前顯示的視頻幀(或未壓縮而顯示的視頻幀)。存儲參考幀可能需要大量的存儲器,這可能是昂貴的。
因此,需要一種節省成本的用于解碼壓縮視頻數據的系統和方法。
技術實現要素:
本公開的實施例的方面涉及用于傳輸壓縮視頻的系統和方法。發射器從視頻源接收未壓縮視頻數據,并使用一個或多個參考幀對其進行壓縮。接收器接收壓縮視頻數據并使用相同參考幀對其解碼以形成顯示數據。參考幀以壓縮形式被存儲在發射器和接收器中。顯示數據的每一幀成為用于后續幀的解碼的參考幀。
根據本發明的一個實施例,提供了一種視頻接收器,包括:第一解碼器,被配置為:接收壓縮視頻數據和未壓縮參考幀數據;并且生成未壓縮顯示數據;第一編碼器,被配置為:從第一解碼器接收顯示數據;并且壓縮顯示數據以形成壓縮參考幀數據;參考幀數據緩沖器,被配置為存儲壓縮參考幀數據;以及第二解碼器,被配置為:從參考幀數據緩沖器獲取壓縮參考幀數據;并且解碼壓縮參考幀數據以形成未壓縮參考幀數據,其中第一編碼器和第二解碼器被配置為以比第一解碼器低的壓縮比操作。
在一個實施例中,第一解碼器是高級顯示流壓縮解碼器。
在一個實施例中,第一編碼器是顯示流壓縮編碼器,并且第二解碼器是顯示流壓縮解碼器。
在一個實施例中,第一解碼器被配置為以4:1的壓縮比操作。
在一個實施例中,第一編碼器被配置為以至少2:1的壓縮比操作。
在一個實施例中,第一編碼器被配置為以至少2.4:1的壓縮比操作。
在一個實施例中,每個參考幀由n個片組成,每個片對應于參考幀的矩形部分,并且第一編碼器被配置為每次一片地壓縮顯示數據。
在一個實施例中,參考幀數據緩沖器包括n+1個片緩沖器,n是正整數,每個片緩沖器具有足以存儲參考幀的一個壓縮片的大小。
在一個實施例中,第二解碼器被配置為一次解碼來自一個片緩沖器的數據。
在一個實施例中,第二解碼器被配置為一次生成2行未壓縮參考幀數據。
在一個實施例中,第二解碼器被配置為一次生成4行未壓縮參考幀數據。
在一個實施例中,第二解碼器被配置為一次生成6行未壓縮參考幀數據。
在一個實施例中,視頻接收器被配置為:將來自第一編碼器的壓縮參考幀數據保存到n+1個片緩沖器中的臨時片緩沖器中,同時第二解碼器解碼來自n+1個片緩沖器中的第一片緩沖器的數據,并且當第二解碼器完成對來自第一片緩沖器的數據的解碼時,完成將壓縮參考幀數據保存到臨時片緩沖器中,并且當第二解碼器完成對來自第一片緩沖器的數據的解碼時,將來自臨時片緩沖器的壓縮參考幀數據復制到第一片緩沖器。
在一個實施例中,片緩沖器是環形緩沖器;視頻接收器被配置為:將壓縮參考幀數據保存到n+1個片緩沖器中的由第一指針標識的第一片緩沖器中,同時第二解碼器解碼來自n+1個片緩沖器中的由第二指針標識的第二片緩沖器的數據,第一片緩沖器和第二片緩沖器在環形緩沖器中以環形相鄰;當第二解碼器完成對來自第二片緩沖器的壓縮參考幀數據的解碼時,完成將壓縮參考幀數據保存到第一片緩沖器中;并且使第一指針和第二指針前進以標識n+1個片緩沖器中的各自的后續片緩沖器,第一指針前進以指向第二片緩沖器,第一指針和第二指針在同一方向上前進。
根據本發明的一個實施例,提供了一種視頻接收器,包括第一顯示數據生成器和第二顯示數據生成器,第一顯示數據生成器和第二顯示數據生成器中的每一個包括:第一解碼器,被配置為:接收壓縮視頻數據和未壓縮參考幀數據;并且生成未壓縮顯示數據;第一編碼器,被配置為:從第一解碼器接收顯示數據;并且壓縮顯示數據以形成壓縮參考幀數據;參考幀數據緩沖器,被配置為存儲壓縮參考幀數據;以及第二解碼器,被配置為:從參考幀數據緩沖器獲取壓縮參考幀數據;并且解碼壓縮參考幀數據以形成未壓縮參考幀數據,其中第一編碼器和第二解碼器被配置為以比第一解碼器低的壓縮比操作。
在一個實施例中,第一顯示數據生成器被配置為生成每行未壓縮視頻數據的第一個一半,并且第二顯示數據生成器被配置為生成每行未壓縮視頻數據的第二個一半。
在一個實施例中,第一解碼器是高級顯示流壓縮解碼器;第一編碼器是顯示流壓縮編碼器;并且第二解碼器是顯示流壓縮解碼器。
根據本發明的一個實施例,提供了一種用于生成顯示數據的方法,該方法包括:由第一解碼器接收壓縮視頻數據和未壓縮參考幀數據;由第一解碼器生成未壓縮顯示數據;由第一編碼器從第一解碼器接收顯示數據;由第一編碼器壓縮顯示數據以形成壓縮參考幀數據;由參考幀數據緩沖器存儲壓縮參考幀數據;由第二解碼器從參考幀數據緩沖器獲取壓縮參考幀數據;以及由第二解碼器解碼壓縮參考幀數據以形成未壓縮參考幀數據,其中第一編碼器和第二解碼器被配置為以比第一解碼器低的壓縮比操作。
在一個實施例中,第一解碼器是高級顯示流壓縮解碼器。
在一個實施例中,第一編碼器是顯示流壓縮編碼器,并且第二解碼器是顯示流壓縮解碼器。
附圖說明
參考說明書、權利要求書和附圖將領會和理解本發明的這些和其它特征和優點,其中:
圖1A是根據本發明的一個實施例的視頻系統;
圖1B是根據本發明的一個實施例的視頻系統;
圖1C是根據本發明的一個實施例的視頻接收器;
圖1D是根據本發明的一個實施例的視頻接收器;和
圖2是根據本發明的一個實施例的視頻接收器。
具體實施方式
以下結合附圖闡述的詳細描述旨在作為根據本發明提供的時間差分系統和方法的示例性實施例的描述,并且不旨在表示其中本發明可以被構造或利用的僅有形式。該描述結合所示的實施例闡述了本發明的特征。然而,應當理解,相同或等同的功能和結構可以由也旨在被包括在本發明的精神和范圍內的不同實施例來實現。如本文別處所指示的,相同的元件編號旨在表示相同的元件或特征。
參考圖1A,在一些實施例中,視頻數據源100(諸如計算機或視頻卡)可以生成視頻數據的連續幀。在視頻數據源處的或在視頻數據源中的發射器105可以包括主編碼器110和多個參考幀115。主編碼器110可以從視頻數據源100接收未壓縮視頻數據,并且使用參考幀115壓縮視頻數據幀,以形成壓縮視頻數據。壓縮視頻數據可以被傳輸到連接到視頻數據的接收方(例如顯示器125)或者位于接收方中的接收器120。接收器120可以包括主解碼器130和多個參考幀115,并且主解碼器130可以使用參考幀115來解碼所接收的壓縮視頻數據以重構視頻數據的原始幀,或者如果壓縮和解壓縮不是無損的,則生成類似于視頻數據的原始幀的新的視頻數據幀。用于編碼和解碼視頻數據的系統可以被稱為編碼器-解碼器或“視頻編解碼器”。
參考幀可以是先前顯示的幀。例如,壓縮視頻數據可以包括關于原始視頻幀之間的差異的信息,并且接收器可以存儲一個或多個先前顯示的幀,并且根據一個或多個先前顯示的幀以及接收器在壓縮視頻數據中接收的關于原始視頻幀之間的差異的信息推斷當前幀(即,要被顯示的幀)。在本文中使用的術語中,為了清楚起見,將接收器標識為與顯示器分離的元件,即使在商業產品中接收器和顯示器可以共用諸如外殼、電源或集成電路基板的元件。接收器和顯示器的組合可以被稱為“顯示裝置”。顯示器的形成可視圖像的部分可以被稱為“顯示面板”。顯示器可以包括被配置為顯示圖像的顯示面板,每個圖像由以行(或“排”)和列排列的多個像素組成;每個像素可以包括三個子像素(例如,紅色子像素、綠色子像素和藍色子像素)(例如,由三個子像素組成)。如本文所用的“接收器”是接收壓縮視頻數據并生成未壓縮視頻數據的電路,并且“顯示器”是接收未壓縮視頻數據并生成供用戶觀看的圖像的裝置。如本文所用的術語“編碼”是指從未壓縮數據生成壓縮數據(例如,視頻數據或參考幀數據),并且如本文所用的術語“解碼”是指從壓縮數據生成未壓縮數據(例如,視頻數據或參考幀數據)。如本文所用,“參考幀數據”是指表示一個或多個參考幀或者一個或多個參考幀的一個或多個部分的數據。
存儲一個或多個參考幀可能消耗大量的存儲器,這可能是昂貴的。因此,在一些實施例中,一個或多個參考幀以壓縮形式存儲。用來存儲一個或多個參考幀的壓縮方法可以與發射器用于生成壓縮視頻數據的壓縮方法相同或不同。例如,參考圖1B,并且如在'444申請中所討論的那樣,在一個實施例中,參考幀由參考幀編碼器135編碼,被存儲為壓縮參考幀數據(例如,壓縮參考幀117),并且當需要時由參考幀解碼器140解碼。編碼和解碼可以在接收器中執行(以減少在接收器中用于存儲參考幀數據的存儲器的量),并且可以在發射器中執行相同的編碼和解碼,使得如果參考幀編碼器135和參考幀解碼器140的組合效果不是無損的,則編碼器110將使用與解碼器130相同的重構(即,編碼和解碼)參考幀。
參考圖1C,在一些實施例中,主解碼器130可以是符合由視頻電子標準協會發布的高級顯示流壓縮(ADSC)標準的ADSC解碼器,例如其可以是以4:1的壓縮比操作的解碼器。參考幀編碼器135可以是顯示流壓縮(DSC)編碼器,例如,其可以是符合由視頻電子標準協會發布的DSC標準的編碼器,并且參考幀解碼器140可以是DSC解碼器。參考幀編碼器135和參考幀解碼器140可以以比主解碼器130低的壓縮比操作。例如,參考幀編碼器135可以以3:1(或在一些實施例中,2:1或1:1,或者非整數壓縮比,例如2.4:1)的壓縮比操作,因此,參考幀解碼器140可以以3:1(或在一些實施例中,2:1或1:1,或者非整數壓縮比,例如2.4:1)的壓縮比(或“解壓縮比”)操作。參考幀編碼器135可以以至少2:1或至少2.4:1的壓縮比操作。壓縮比可能影響重構質量。ADSC和DSC編碼器和解碼器可以在1/16bpp(每像素比特)分辨率內操作,其中“每像素比特”是指以壓縮形式存儲像素所需的比特數。在一些實施例中,主解碼器130和參考幀解碼器140都是DSC解碼器,并且參考幀編碼器135是DSC編碼器。
主解碼器130可以從發射器接收壓縮數據,并且從參考幀解碼器140接收未壓縮參考幀數據(其可以被臨時存儲在未壓縮參考幀數據緩沖器145中),并且可以生成顯示數據(其可以被臨時存儲在顯示數據緩沖器150中)。顯示數據可以例如每次生成2行(或者每次4行,或者每次6行),被臨時存儲在顯示數據緩沖器150中,并且被發送到顯示器,并且還被發送到參考幀編碼器135。
參考幀編碼器135可以例如每次2行(或每次4行,或每次6行)地編碼顯示數據,并將其存儲在參考幀數據緩沖器155中。壓縮顯示數據然后可以被用作用于解碼視頻數據的下一幀的參考幀數據。
參考幀解碼器140可以從參考幀數據緩沖器155獲取壓縮參考幀數據(其可以是來自最后顯示的圖像的壓縮數據),對其進行解碼以形成未壓縮參考幀數據,并且將未壓縮參考幀數據供給到主解碼器130(例如,經由未壓縮參考幀數據緩沖器145)。參考幀解碼器140可對被稱為片的數據塊操作,片中的每一個可對應于幀的矩形部分。例如,對于1920像素寬和1080像素高的顯示器,片可以對應于寬度為1920像素且高度為108像素的矩形(即,包含來自該矩形的數據),使得每幀由10個片組成。
因此,參考幀數據緩沖器155可以由多個片緩沖器(SB)160、165組成。如圖1C所示,片緩沖器160可以被布置為環形緩沖器,并且參考幀數據緩沖器155可以包括被稱為臨時片緩沖器165的附加片緩沖器。環形緩沖器中的片緩沖器160的數量可以等于幀中的片的數量。在操作中,當參考幀解碼器140解碼來自一個片緩沖器的壓縮參考幀數據時,參考幀編碼器135可以對來自當前顯示幀的片的顯示數據進行編碼,并將壓縮數據作為壓縮參考幀數據(例如,當視頻的下一幀要被解碼時用作參考幀)存儲在臨時片緩沖器中。在當前片的末尾,(i)參考幀解碼器140已經從當前片緩沖器160讀取了所有數據,(ii)片的顯示數據的最后兩行已經被發送到顯示器,以及(iii)參考幀編碼器135已經編碼了顯示數據的最后行,并且將相應的壓縮數據保存到臨時片緩沖器165中。然后,(i)臨時片緩沖器165的內容可以被復制到參考幀解碼器140在前一幀期間所讀取的片緩沖器160中,(ii)參考幀解碼器140可以開始解碼來自環形緩沖器中的下一個片緩沖器160的壓縮參考幀數據,以及(iii)參考幀編碼器135可以再次開始編碼顯示數據并將壓縮數據保存在臨時片緩沖器165中。因此,當完成一個片緩沖器的處理時,處理進行到下一片緩沖器。連續的片緩沖器不需要在物理存儲器中相鄰;當實現環形緩沖器使得處理從一個進行到另一個(例如,作為緩沖器指針在接收器中前進的結果)時,兩個片緩沖器可以被稱為在環形緩沖器中“以環形相鄰”。
參考圖1D,在一些實施例中,參考幀數據緩沖器155可以包含包括n+1個片緩沖器的環形緩沖器(而不是具有臨時片緩沖器165和n個片緩沖器的環形緩沖器)。在這種情況下,如圖所示,參考幀解碼器140可以從一個片緩沖器160讀取,并且參考幀編碼器135可以將壓縮數據寫入相鄰片緩沖器160,相鄰片緩沖器160可以是參考幀解碼器140在前一幀期間所讀取的片緩沖器160。當前讀緩沖器(即,當前從其讀取的片緩沖器160)和當前寫緩沖器(即,當前被寫入的片緩沖器160)可以分別由讀指針和寫指針來標識。在幀的末尾,讀指針和寫指針中的每一個可以前進以指向各自的下一個片緩沖器160,使得參考幀編碼器135將開始對參考幀解碼器140剛剛完成讀取的片緩沖器160的寫入。
在一些實施例中,接收器可以包括多個圖1C和圖1D中所示的電路,當接收器120包括多個這樣的電路時,其中的每一個可以被稱為顯示數據生成器170。參考圖2,在一些實施例中,多個(例如,2個、4個或8個)顯示數據生成器170可并行操作,每個供應顯示數據的每行的一部分。例如,在圖2的實施例中,第一顯示數據生成器170可以為顯示器的左半部分提供數據,并且第二顯示數據生成器170可以為顯示器的右半部分提供數據。因此,第一顯示數據生成器170可以提供每行顯示數據的左半部分,并且第二顯示數據生成器170可以提供每行顯示數據的右半部分;組合器205可以組合每行的兩半,以形成顯示器的顯示數據的完整行。如果顯示數據被一次兩行地提供給屏幕,則系統可以以類似的方式操作。在這樣的實施例中,每個片可以具有小于幀的寬度的寬度;例如,如果如圖2所示兩個顯示數據生成器170并行操作,則每個片可以對應于幀的具有幀的一半寬度的矩形區域。
鑒于上述,在用于傳輸壓縮視頻的系統和方法中,可以減少用于存儲參考幀數據的存儲器的量。發射器從視頻源接收未壓縮的視頻數據,并使用一個或多個參考幀對其進行壓縮。接收器接收壓縮視頻數據并使用相同的參考幀對其解碼以形成顯示數據。參考幀以壓縮形式存儲在發射器和接收器中。顯示數據的每一幀成為用于后續幀的解碼的參考幀。
根據在本文中描述的本發明的實施例的顯示設備和/或任何其它相關設備或組件可以利用任何合適的硬件、固件(例如專用集成電路)、軟件、或軟件、固件和硬件的適當組合來實現。例如,顯示設備的各種組件可以被形成在一個集成電路(IC)芯片上或單獨的IC芯片上。此外,顯示設備的各種組件可以在柔性印刷電路膜、帶載封裝(TCP)、印刷電路板(PCB)上實現,或者與顯示設備形成在同一基板上。此外,顯示設備的各種組件可以是在一個或多個計算設備中的一個或多個處理器上運行的、執行計算機程序指令并與其它系統組件交互以便完成本文中描述的各種功能的進程或線程。計算機程序指令被存儲在可用標準存儲設備在計算設備中實現的存儲器中,諸如例如隨機存取存儲器(RAM)。計算機程序指令還可以被存儲在其它的非臨時性計算機可讀介質中,諸如例如CD-ROM或閃存驅動器等。此外,本領域技術人員應認識到各種計算設備的功能可以被組合或集成到單個計算設備,或特定計算設備的功能可以跨過一個或多個其它計算設備分布,而不脫離本發明的示例性實施例的范圍。
應當理解,雖然術語“第一”、“第二”、“第三”等可在本文中用來描述各個元件、組件、區域、層和/或部分,但是這些元件、組件、區域、層和/或部分不應該受這些術語的限制。這些術語僅用來區分一個元件、組件、區域、層或部分與另一個元件、組件、區域、層或部分。因此,下面討論的第一元件、組件、區域、層或部分可以被稱為第二元件、組件、區域、層或部分,而不脫離本發明構思的精神和范圍。
出于易于描述的目的,在本文中可能使用諸如“之下”、“下方”、“下”、“下面”、“上方”、“上”等的空間相對術語來描述如圖中所示的一個元件或特征相對于另一個元件或特征的關系。應當理解,除了圖中描繪的方位之外,這樣的空間相對術語意在包含設備在使用或操作中的不同方位。例如,如果圖中設備被翻轉,則被描述為在其它元件或特征“下方”或“之下”或“下面”的元件將被定向為在其它元件或特征的“上方”。因此,示例術語“下方”和“下面”可以包含上方和下方兩種方位。設備可被另外定向(例如旋轉90度或者在其它方位),并且本文使用的空間相對描述符應當進行相應的解釋。另外,還應當理解,當層被稱為在兩個層“之間”時,其可以是兩個層之間的唯一層,或者也可以存在一個或多個中間層。
本文所使用的術語僅用于描述特定實施例的目的,而不意圖限制本發明構思。如本文所用,術語“基本上”、“大約”和類似術語被用作近似的術語,而不是作為程度的術語,并且旨在包括本領域普通技術人員公認的在測量或計算的值中的固有公差。如本文所用,術語“主要成分”是指構成組合物的至少一半重量的成分,并且當應用于多個物品時,術語“主要部分”是指物品的至少一半。
如本文所用,單數形式的“一”旨在也包括復數形式,除非上下文另有明確說明。將進一步理解的是,當在本說明書中使用時,術語“包括”和/或“包含”表明存在所陳述的特征、整體、步驟、操作、元件和/或組件,但不排除存在或添加一個或多個其它特征、整體、步驟、操作、元件、組件和/或它們的組。如本文所用,術語“和/或”包括相關聯的所列項目的一個或多個的任意和所有組合。當放在一列要素之前時,諸如“至少一個”的表述修飾的是整列元件,而不是修飾該列中的個別要素。此外,當描述本發明構思的實施例時,使用“可以”指的是“本發明的一個或多個實施例”。此外,術語“示例性”意指示例或例示。如本文所用,術語“使用”和“被用來”可以被認為分別與術語“利用”和“被利用來”同義。
應當理解,當元件或層被稱為在另一元件或層“上”、“連接到”、“聯接到”或“鄰近于”另一元件或層時,其可以直接在另一元件或層上,直接連接到、聯接到或鄰近于另一元件或層,或者可以存在一個或多個中間元件或中間層。與之相比,當元件或層被稱為“直接在”另一元件或層“上”、“直接連接到”、“直接聯接到”或“緊鄰”另一元件或層時,不存在中間元件或中間層。
盡管在本文已經具體描述和示出了時間差分系統和方法的示例性實施例,但是對于本領域技術人員來說許多修改和變化將是顯而易見的。因此,應當理解,根據本發明的原理構造的時間差分系統和方法可以以不同于本文具體描述來實現。本發明還被限定在下面的權利要求及其等同方案中。