專利名稱:數字視頻編碼用可變精度圖像間定時規定的方法和裝置的制作方法
技術領域:
本發明涉及多媒體壓縮系統的領域。具體來說,本發明公開了一種用于規定可變精度圖像間(inter-picture)定時的方法和系統。
背景技術:
基于數字的電子媒體格式最終在尖端在很大程度上取代模擬電子媒體格式。數字壓縮磁盤(CD)很早以前就取代了模擬乙烯唱片。模擬盒式磁帶越來越稀少。第二和第三代數字音頻系統,例如MD盤和MP3 (MPEG音頻第三層)正在從壓縮磁盤的第一代數字音頻·格式中分享市場份額。視頻媒體轉向數字存儲和傳輸格式的速度比音頻媒體慢。很大程度上是由于大量的數字信息需要以數字形式精確地表達視頻。需要精確地表達視頻的大量數字信息需要非常高容量的數字存儲系統和高帶寬的傳輸系統。然而,視頻正在迅速地向數字存儲和傳輸格式轉變。更快的計算機處理器、高密度存儲系統,和新型有效的壓縮和編碼算法最終使數字視頻適合于消費者物價點。DVD(數字多功能光盤),即一種數字視頻系統,在幾年間已成為最為暢銷的消費者電子產品之一。DVD以其高視頻質量、非常高的音頻質量、方便性和額外特征已經迅速取代了盒式錄像機(VCR)成為預錄制視頻回放系統的選擇。老式的模擬NTSC(國家電視標準委員會)視頻傳輸系統正在被數字ATSC(先進電視標準委員會)視頻傳輸系統所取代。計算機系統已經使用許多年各種不同的數字編碼格式。計算機系統使用的最好的數字視頻壓縮和編碼系統是眾所周知的縮寫為MPEG的活動圖像專家組(Motion PicturesExpert Group)所支持的數字視頻格式。MPEG的最著名并被最廣泛應用的三種數字媒體格式被簡稱為MPEG-I,MPEG-2和MPEG-4。視頻⑶(V⑶)和早期的消費者級數字視頻編輯系統使用早期的MPEG-I數字視頻編碼格式。數字多功能光盤(DVD)和Dish Network牌直播衛星(DBS)電視廣播系統使用更高質量的MPEG-2數字視頻壓縮和編碼系統。MPEG-4編碼系統迅速地被最新的基于計算機的數字視頻編碼器改進并與數字視頻播放器相關聯。MPEG-2和MPEG-4標準壓縮一系列視頻幀或視頻場并且隨后將壓縮的幀或場編碼為數字比特流。當對視頻幀或場用MPEG-2和MPEG-4系統進行編碼時,視頻幀或場將被分成宏塊的矩形網格。每個宏塊被獨立地壓縮或編碼。當壓縮視頻幀或場時,該MPEG-4標準可以將幀或場壓縮成三種壓縮的幀或場的一種幀內編碼幀(I-幀),單向預測幀(P幀),或雙向預測幀(B幀)。幀內編碼幀在不參照其它視頻幀的情況下完全獨立地將獨立視頻幀編碼。P幀參照單一先前顯示的視頻幀限定一個視頻幀。B幀參照當前幀之前顯示的視頻幀和在當前幀后顯示的視頻幀限定一個視頻幀。由于對冗余視頻信息的有效利用,P幀和B幀通常提供最好的壓縮。
發明內容
用于數字視頻編碼的可變精度圖像間定時規定的方法和裝置被公開。具體來說,本發明公開了一種使臨近的視頻圖像的相對時間以相當有效的方式進行編碼的系統。在一個實施方式中,確定當前視頻圖像和臨近視頻圖像之間的顯示時間差。該顯示時間差隨后被編碼為視頻圖像的數字表示。在一個優選實施方式中,臨近的視頻圖像是最新傳輸的存儲圖像。為有效地進行編碼,顯示時間差可以用可變長度的編碼系統或算術編碼進行編碼。在一個可選擇實施方式中,顯示時間差被編碼為2的冪來減少傳輸的比特的數目。從附圖和以下的詳細說明中可以使本發明的其它目的、特征和優點顯而易見。
本領域的技術人員參照以下的詳細說明將很容易地理解本發明的目的,特性和優 點。圖I表示一種可能的數字視頻編碼系統的高級框圖。圖2表示一系列圖像應該播放的順序排列的視頻圖像,其中連接不同圖像的箭頭代表用運動補償創建的圖像間相關性。圖3表示以圖像的優選傳輸順序排列的圖2中的視頻圖像,其中連接不同圖像的箭頭表示用運動補償創建的圖像間相關性。圖4表示一系列視頻圖像,其中視頻圖像間互相參照的距離被選為2的冪。
具體實施例方式一種多媒體壓縮和編碼系統中用于制定變化精度的圖像間定時的方法和系統被公開。在以下的描述中,為了說明的目的,所闡述的特定術語為本發明提供全面理解。然而,對于本領域的技術人員,實施本發明并不需要這些具體細節。例如,本發明是參照MPEG-4多媒體壓縮和編碼系統來進行說明的。然而,相同的技術可以容易地應用在其它類型的壓縮和編碼系統中。多媒體壓縮和編碼綜述圖I表示技術領域中所熟知的典型的數字視頻編碼器100的高級框圖。該數字視頻編碼器100接收在框圖的左側的視頻幀105的輸入視頻流。每個視頻幀被離散余弦變換(DCT)單元110所處理。該幀可以獨立地(幀內)處理或者參照運動補償單元(幀間)接收來自其它幀的信息來處理。然后,一個量化器(Q)單元120將來自離散余弦變換單元110的信息量化。最后,量化的視頻幀用熵編碼器(H)單元180編碼來生成編碼的比特流。該熵編碼器(H)單元180可以用可變長度編碼(VLC)系統。由于幀間編碼的視頻幀是參照其它臨近視頻幀來限定的,所以數字視頻編碼器100需要創建一個將出現在數字視頻解碼器中的每個幀怎樣解碼的復本,這樣幀間就可以被編碼。因此,數字視頻編碼器100的下部實際為一個數字視頻解碼器系統。具體來說,一個反量化(Q-I)單元130將視頻幀信息的量化倒置,并且反離散余弦變換(DCT-I)單元140將視頻幀信息的離散余弦變換進行倒置。在所有DCT系數從iDCT中重建時,該運動補償單元將使用信息以及運動矢量來重建隨后將被用作下一幀運動評估的參考幀的編碼幀。該解碼幀可隨后用于對相對于解碼視頻幀中的信息限定的幀間(P幀或B幀)進行編碼。具體來說,一種運動補償(MC)單元150和運動評估(ME)單元160被用來確定運動矢量并產生用于編碼幀間的不同數值。一個速率控制器190接收來自數字視頻編碼器100的不同分量的信息并使用該信息為每個視頻幀分配比特預算。該速率控制器190應按照以下方式分配比特預算,使其產生最高質量的遵循一系列指定的限制的數字視頻比特流。具體來說,該速率控制器190在沒有溢出緩沖(通過發射比能夠存儲的更多的信 息來超過解碼器中可訪問的存儲量)或下溢緩沖(發送視頻幀不夠快因此使解碼器缺少進行顯示的視頻幀)的情況下產生最高質量的壓縮視頻流。多媒體壓縮與編碼綜述在一些視頻信號中,連續視頻圖像(幀或場)之間的時間可以不恒定。(注意本文將用術語視頻圖像來一般地指視頻幀或視頻場)。例如,一些視頻圖像可能由于傳輸帶寬的限制而丟掉。此外,該視頻定時還可能由于攝像機的不規則或特殊效果,如慢動作或快動作等而改變。在一些視頻流中,原始視頻源可以通過設計簡單地具有非一致圖像間時間。例如,由于沒有通過例如視頻攝像系統等統一的視頻捕捉系統來創建非任意視頻定時,所以如計算機圖像動畫等合成視頻可具有非一致的定時。靈活的數字視頻編碼系統應能夠處理非一致的定時。許多數字視頻編碼系統將視頻圖像分成宏塊的矩形網格。視頻圖像中的每個個體宏塊被獨立地壓縮和編碼。在某些實施方式中,使用熟知的“像素區塊”的宏塊中的子塊。這樣的像素塊可以具有其本身的可內插的運動矢量。即使本發明的說明被等同地應用在宏塊和像素區塊中,本文將涉及宏塊。某些視頻編碼標準,如,ISO MPEG標準或ITU H. 264標準,使用不同類型的預測宏塊來將視頻圖像編碼。在預期中,宏塊可以為以下三種類型中的一種。I. I宏塊——一個內(I)宏塊在其編碼中不使用來自任何其它視頻圖像的信息(完全自定義的);2. P宏塊——一種單向預測(P)宏塊是指來自一在前視頻圖像的圖像信息或3. B宏塊——一種雙向預測(B)宏塊使用一在前圖像和一在后視頻圖像的信息。如果視頻圖像中所有的宏塊為內宏塊,則視頻圖像為幀內編碼幀。如果一個視頻圖像僅包括單向預測宏塊或內宏塊,則視頻圖像被已知為P幀。如果視頻圖像包括任何雙向預測宏塊,那么視頻圖像已知為B幀。為簡單起見,本文將考慮所給圖像中的所有宏塊為同一類型的情況。將編碼的視頻圖像的一個樣本順序可以表示為I1B2B3B4P5B6B7B8B9P10B11P12B13I14. · ·其中字母(I,P或B)代表如果視頻圖像為I巾貞,P巾貞,或B巾貞,且數字代表以視頻圖像的順序的視頻圖像的攝像順序。該攝像的順序為攝像機記錄視頻圖像的順序,因此也是視頻圖像應該被顯示的順序(顯示順序)。視頻圖像的在前樣本系列在圖2中圖解表示。參考圖2,箭頭表示來自存儲圖像的宏塊(在此種情況下I幀或P幀)被用在其它圖像的運動補償預測中。
在圖2的情況中,在幀內視頻圖像I1的編譯中沒有來自其它圖像的信息。視頻圖像P5是在其編碼過程中使用來自在前視頻圖像I1的視頻信息的P巾貞,因此從視頻圖像I1到視頻圖像P5繪制了一個箭頭。視頻圖像B2、視頻圖像B3、視頻像B4在其編譯過程中都使用來自視頻圖像I1和視頻圖像P5的信息,因此從視頻圖像I1和視頻圖像P5到視頻圖像B2、視頻圖像B3和視頻圖像B4繪制了箭頭。如上所述該圖像間時間通常互不相同。由于B圖像使用來自在后圖像(隨后將被顯示的圖像)的信息時,傳輸順序通常與顯示順序不同。具體來說,構建其它圖像所需的視頻圖像應首先被傳輸。對于以上順序,傳輸順序應為 I1P5B2B3B4P10B6B7B8B9P12B11I14B13. · ·圖3圖解說明了圖2中的視頻圖像的上述傳輸順序。再次地,圖中的箭頭指示來自存儲的圖像的宏塊(此種情況下為I或P)被用在其它視頻圖像的運動補償預測中。參照圖3,該系統首先傳輸并不依賴于任何其它巾貞的I巾貞I:。隨后,該系統傳輸依賴于視頻圖像I1的P幀視頻圖像P5。隨后,即使視頻圖像B2將在視頻圖像P5前被顯示,系統仍將在視頻圖像P5后傳輸B幀視頻圖像B2。其原因是,當應對B2進行解碼時,解碼器將已經接收并存儲了將視頻圖像B2進行解碼所必須的視頻圖像I1和P5中的信息。類似地,視頻圖像I:、P5已準備好來將隨后的視頻圖像B3和視頻圖像B4進行解碼。該接收器/解碼器記錄用于正確顯示的視頻圖像順序。在本操作中,I和P圖像通常指存儲的圖像。P幀圖像的編碼過程典型地使用運動補償,其中在圖像中為每個宏塊來計算運動矢量。使用計算出的運動矢量,預測宏塊(P宏塊)可以通過轉變上述在前圖像中的像素來進行。在P幀圖像中的實際宏塊和預測宏塊之間的差別隨后被編碼以進行傳輸。每個運動矢量也可以通過預測編碼來傳輸。例如,一個運動矢量預測可以用臨近的運動矢量形成。在此種情況下,在實際運動矢量和運動矢量預測之間的差別被編碼以進行傳輸。每個B宏塊使用兩個運動矢量第一運動矢量是指上述在前視頻圖像,第二運動矢量是指在后視頻圖像。從這兩個運動矢量中,計算兩個預測宏塊。此兩個預測宏塊隨后用某一函數結合在一起來形成最終的預測宏塊。如上所述,在B幀圖像中的實際宏塊和最終預測宏塊之間的差別隨后被編碼以進行傳輸。由于具有P宏塊,B宏塊的每個運動矢量(MV)可以通過預測編碼來傳輸。具體來說,一個預測運動矢量用臨近的運動矢量來形成。隨后,在實際運動矢量和預測的之間的差別被編碼以進行傳輸。然而,由于B宏塊,存在著從最近的存儲圖像宏塊中內插運動矢量的機會。在數字視頻編碼和數字視頻解碼中都進行這樣的內插。該運動矢量在從攝影機緩慢掃過靜態背景的視頻順序的視頻圖像中工作得非常好。實際上,這樣的運動矢量內插足夠好以致可以單獨使用。具體來說,這意味著對于這些使用內插的編碼的B宏塊運動矢量無需計算或傳輸任何差別信息。為進一步說明,在上述情況中,我們將圖像i和j之間的圖像間顯示時間表示為Di,J,即,如果圖像的顯示時間分別為Ti和Tj,則Diij = Ti-Tj 隨后為Dijk = Dijj^Djjk
Dijk = -Dkji注意Diij在某些情況下可以取負值。因此,如果MV5il為參考I1的P5S塊的運動矢量,則對于民為和B4中對應的宏塊,參考I1和P5的運動矢量應分別地插入MV2a = MV5JD2VD5aMV5j2 = MV5JD5VD5aMV3jl = MV5j ^D3j !/D5aMV5j3 = MV5JD5VD5a MV4a = MV5JD4VD5aMV5j4 = MV5^D5VD5a注意,由于顯示時間的比率被用于運動矢量預測,所以不需要絕對顯示時間。因此,相對顯示時間可以用做Dy顯示時間值。本情況作為H. 264標準中的實例被概括。在概括中,一個P或B圖像可以使用任何先前傳輸的圖像用于運動矢量預測。因此,在上述情況下,圖像B3可以在其預測中使用圖像I1和圖像B2。此外,運動圖像不僅可被內插還可被外推。因此,在此種情況下我們將得到MV3jl = MV2JD3VD2a此種運動矢量外推(或內插)也可以應用在預測過程中來用于運動矢量的預測編碼過程。在任何情況下,在非一致圖像間時間的問題是將Di, j的相對顯示時間傳輸到接收器上,這也是本發明的主題。在本發明的一個實施方式中,在第一圖像之后對于每個圖像,我們將傳輸當前圖像和最新傳輸的存儲圖像之間的顯示時間差。為了錯誤恢復,在圖像中應將傳輸重復幾次,例如,在MPEG或H. 264標準的所謂切片頭部(slice header)中。如果所有的切片頭部丟失,那么推測起來,用于解碼信息的依賴于丟失圖像的其它圖像也不能被解碼。因此,在上述情況中,我們應傳輸以下D5j JD2j 5D3, 5D4, 5^10, 5^6,10^7,10^8,10^9,10^12. 10^11,12^14,12^13,14· · ·為了運動矢量的評估,用于Di,」的精度需要可以在各圖像間改變。例如,如果在兩個P幀圖像P5和P7之間的中途只有一個單一 B幀圖像B6,則發送D7j5 = 2 和 D6,7 = -I 就足夠了。其中Dm顯示時間值為相對時間值。如果,作為替換,視頻圖像B6僅在視頻圖像P5和視頻圖像P7之間距離的1/4處,則將發送的適當的Dy顯示時間值為D7j5 = 4 和 D6,7 = -I注意在以上兩個例子中,在視頻圖像B6和視頻圖像P7之間的顯示時間是作為顯示時間“單位”來使用,并且在視頻圖像P5和視頻圖像P7之間的顯示時間差為4個顯示時間“單位”。總之,如果除數為2的冪則運動矢量評估的復雜性較小。如果如圖4中所圖解的,兩個存儲圖像之間的Di, j(圖像間時間)被選為2的冪;則在我們的實施方式中很容易完成。可選擇地,該評估過程可以被定義為將所有除數取截取或近似為2的冪。
當圖像間的時間為2的冪時,如果只有(2的)整數次冪被傳輸,而不是圖像間時間的全數值被傳輸,數據比特的數目能夠被減少。圖4中圖解說明了圖像間的距離被選為2的冪的情況。在此種情況下,在視頻圖像P1和視頻圖像P3之間的D3il顯示時間值2傳輸為I (因為21 = 2),并且在視頻圖像P7和視頻圖像P3之間的D7,3顯示時間值4可以傳輸為2(由于 22 = 4)。在某些情況下,可以不使用運動矢量內插。然而,仍然需要將視頻圖像的顯示順序傳輸到接收器/播放器系統中,這樣接收器/播放器將按照適當的順序顯示視頻圖像。在此種情況下,不考慮實際顯示的時間,用于Dm的簡單有符號整數就足夠。在某些應用中可以只需要符號。圖像間時間Diij可以簡單地作為簡單有符號整數值傳輸。然而,可以使用許多方法來將Di, j數值編碼來完成額外壓縮。例如,一個可變長度編碼數量之前的符號位相對容易實施和提供編碼效率。可以使用的一個此種可變長度編碼系統是所熟知的UVLC(通用可變長度編碼)。·該UVLC可變長度編碼系統由編碼詞給出I = I2 = 0103 = 0114 = 001005 = 001016 = 001107 = 001118 = 0001000...用于將圖像間時間編碼的另一種方法可以用算術編碼方法。典型地,算術編碼使用條件可能性來實現數據比特的非常高的壓縮。因此,本發明介紹了一種將圖像間顯示時間進行編碼和傳輸的簡單但有效的方法。圖像間的顯示時間的編碼過程可以通過使用可變長度編碼或算術編碼而變得非常有效。此外,所需的精度可以選為符合視頻解碼器的需要,而不再更多。上述內容說明了一種用于在多媒體壓縮和編碼系統中指定各種精度的圖像間時間的系統。應該理解的是本領域的普通技術人員可以在不背離本發明范圍的情況下對本發明元件的材料和排列進行改變和改進。
權利要求
1.一種用于解碼多個視頻圖像的方法,所述方法包括 接收多個編碼視頻圖像; 接收特定視頻圖像的順序值的編碼表示的多于一個實例,其中所述順序值表示所述特定視頻圖像相對于臨近視頻圖像的位置;以及 通過使用所述順序值來解碼所述特定視頻圖像。
2.圖像之間的顯示時間差。
3.如權利要求I所述的方法,其中所述順序值指定所述特定視頻圖像在所述多個視頻圖像中的顯示順序。
4.如權利要求I所述的方法,其中通過使用可變長度編碼來壓縮所述順序值的編碼表示的每個實例。
5.如權利要求I所述的方法,其中所述臨近視頻圖像是I視頻圖像,所述I視頻圖像不包括參考另一視頻圖像的宏塊。
6.如權利要求I所述的方法,其中所述特定視頻圖像是P視頻圖像,所述P視頻圖像包括至少一個單向預測宏塊,但不包括雙向預測宏塊。
7.如權利要求I所述的方法,其中所述特定視頻圖像是B視頻圖像,所述B視頻圖像包括至少一個雙向預測宏塊。
8.如權利要求7所述的方法,其中用于雙向預測宏塊的運動矢量未被內插。
9.一種用于解碼多個視頻圖像的設備,所述設備包括 用于接收多個編碼視頻圖像的裝置; 用于接收特定視頻圖像的順序值的編碼表示的多于一個實例的裝置,其中所述順序值表示所述特定視頻圖像相對于臨近視頻圖像的位置;以及 用于通過使用所述順序值來解碼所述特定視頻圖像的裝置。
10.如權利要求9所述的設備,其中所述順序值表示所述特定視頻圖像和所述臨近視頻圖像之間的顯示時間差。
11.如權利要求9所述的設備,其中所述順序值指定所述特定視頻圖像在所述多個視頻圖像中的顯示順序。
12.如權利要求9所述的設備,其中通過使用可變長度編碼來壓縮所述順序值的編碼表不的每個實例。
13.如權利要求9所述的設備,其中所述臨近視頻圖像是I視頻圖像,所述I視頻圖像不包括參考另一視頻圖像的宏塊。
14.如權利要求9所述的設備,其中所述特定視頻圖像是P視頻圖像,所述P視頻圖像包括至少一個單向預測宏塊,但不包括雙向預測宏塊。
15.如權利要求9所述的設備,其中所述特定視頻圖像是B視頻圖像,所述B視頻圖像包括至少一個雙向預測宏塊。
16.如權利要求15所述的設備,其中用于雙向預測宏塊的運動矢量未被內插。
全文摘要
本發明公開了一種數字視頻編碼中用于可變精度圖像間定時規定的方法和裝置。具體來說,本發明提供一種允許臨近視頻圖像的相對時間可以按各種有效的方式進行編碼的系統。在一個實施方式中,確定了當前視頻圖像(105)和臨近視頻圖像中的顯示時間差。顯示時間差隨后被編碼(180)為視頻圖像的數字表達。在一個優選實施方式中,該臨近視頻圖像為最新傳輸的存儲圖像。為有效進行編碼,顯示時間差可以用可變長度編碼系統或算術編碼進行編碼。在一個可選擇實施方式中,該顯示時間差被作為2的冪來進行編碼以減少傳輸比特的數目。
文檔編號H04B1/66GK102892005SQ201210009459
公開日2013年1月23日 申請日期2003年7月11日 優先權日2002年7月15日
發明者B·G·哈斯克爾, D·W·辛格, A·杜米特拉斯, A·普里 申請人:蘋果公司