專利名稱:用于降低除法運算要求的數(shù)字視頻編碼的可變準確度圖像間定時規(guī)定的方法與裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及多媒體壓縮系統(tǒng)的領(lǐng)域。尤其是,本發(fā)明公開了規(guī)定 可變準確度圖像間定時的一些方法和系統(tǒng),這降低了對處理器密集的 除法運算的要求。
背景技術(shù):
基于數(shù)字的電子媒體格式是大規(guī)模地替代模擬電子媒體格式的最 后一股潮流。很久以前,數(shù)字壓縮磁盤(CD)就代替了模擬的乙烯基 記錄材料。模擬式的卡型盒式磁帶正變得越來越少。第二和第三代數(shù) 字音頻系統(tǒng),如小型磁盤和MP3 (MPEG音頻-層3)現(xiàn)在正分享第一代 數(shù)字音頻格式的壓縮磁盤的市場份額。在過渡到數(shù)字存儲和數(shù)字傳輸格式方面,視頻媒體格式己經(jīng)慢于 音頻媒體。采用數(shù)字視頻格式的速度較慢的原因很大程度是由于以數(shù) 字形式準確表示可接受質(zhì)量的視頻所要求的數(shù)字信息量太大,以及壓 縮視頻編碼所需要的快速處理能力。準確表示視頻所需的大量數(shù)字信 息要求非常高容量的數(shù)字存儲系統(tǒng)和高帶寬傳輸系統(tǒng)。但是,現(xiàn)在視頻正迅速地過渡到數(shù)字存儲和傳輸格式。更快的計 算機處理器,高密度存儲系統(tǒng),新的有效壓縮和編碼算法最終使數(shù)字 視頻傳輸和存儲能以消費DVD己迅速取代視頻磁帶錄像機(VCR)作為預先錄制視頻重放系統(tǒng)的首選,這是由于其高的視頻質(zhì)量,很高的音頻質(zhì)量,方便性以及其它特點。老的模擬NTSC (國家電視標準委員會)視頻傳輸系統(tǒng)當前正 處于被數(shù)字ATSC (先進電視標準委員會)視頻傳輸系統(tǒng)所替代的過程 中。計算機系統(tǒng)已使用各種不同的數(shù)字視頻編碼格式好多年。特別是, 計算機系統(tǒng)已采用不同的視頻編碼器/解碼器方法,以分別對數(shù)字視頻 進行壓縮與編碼,或解壓縮與解碼。在硬件或軟件中應(yīng)用的視頻編碼 器/解碼器方法通常被稱為"CODEC"。在計算機系統(tǒng)所使用的最好的數(shù)字視頻壓縮和編碼系統(tǒng)中,是由 運動圖像專家組,通常所稱的首字母簡略詞MPEG所支持的數(shù)字視頻系 統(tǒng)。三個最常見的和廣泛使用的MPEG數(shù)字視頻格式是簡單地稱為 MPEG-1, MPEG-2和MPEG-4。視頻CD (VCD)和早期消費級的數(shù)字 視頻編輯系統(tǒng)利用早期的MPEG-1數(shù)字視頻編碼格式。數(shù)字通用光盤 (DVD)和DishNetwork牌的直播衛(wèi)星(DBS)電視廣播系統(tǒng)利用更高 質(zhì)量的MPEG-2數(shù)字視頻壓縮和編碼系統(tǒng)。MPEG-4編碼系統(tǒng)正迅速地 由基于最新的計算機的數(shù)字視頻編碼器和相關(guān)數(shù)字視頻播放器所采 用。MPEG-2和MPEG-4標準壓縮了 一系列視頻幀或視頻場,然后將這 些壓縮的幀或場編碼為數(shù)字比特流。當用MPEG-2和MPEG-4系統(tǒng)對視 頻幀或視頻場編碼時,視頻幀或視頻場被劃分為像素塊的矩形網(wǎng)格。 每個像素塊是獨立地被壓縮和編碼。當壓縮一個視頻幀或視頻場時,MPEG-4標準可將幀或場壓縮為三 種類型的壓縮幀或場之一幀內(nèi)(I-幀),單向預測幀(P-幀)或雙向 預測幀(B-幀)。幀內(nèi)是完全獨立地對一個獨立視頻幀編碼,而不參 考其它視頻幀。P-幀參照單個先前顯示的視頻幀來定義一個視頻幀。 B-幀既參考在當前幀之前顯示的視頻幀又參考在當前幀之后顯示的視頻幀來定義一個視頻幀。由于其高效利用了冗余視頻信息,P-幀和B-幀通常提供最好的壓縮。發(fā)明內(nèi)容本發(fā)明公開了執(zhí)行視頻編解碼器中的運動估算的一種方法和裝 置。特別是,本發(fā)明公開了一種系統(tǒng),它以十分有效的方式迅速計算 估計的運動向量,而不要求過多數(shù)量的除法運算。在一個實施例中, 一種方法,用于包括第一視頻圖像、第二視頻 圖像和第三視頻圖像的數(shù)據(jù)流,該方法包括計算標度值,述標度值 基于(i)第三視頻圖像的順序值和第一視頻圖像的順序值之間的第一 順序差值,和(ii)第二視頻圖像的順序值和第一視頻圖像的順序值之間的第二順序差值;以及基于標度值和用于第三視頻圖像的運動向量來計算用于第二視頻圖像的特定運動向量,其中計算特定運動向量包 括執(zhí)行移位操作。本發(fā)明以良好精確性迅速地計算出所有估算的運動 向量,這是因為成比例的比率保存了重要的位數(shù),通過簡單移位進行 比例的降低,因而消除了費吋的除法運算的需要。結(jié)合附圖和下文的詳述,本發(fā)明的其它目標,特點和優(yōu)點會更加 明顯。
根據(jù)下文中的詳細描述,本發(fā)明的其它目標,特點和優(yōu)點對專業(yè)人士將是明顯的,其中圖1表示一個可能的數(shù)字視頻編碼器系統(tǒng)的一個高級框圖; 圖2表示按圖像應(yīng)被顯示的順序的一系列視頻圖像,其中連接不同圖像的箭頭指示了利用運動補償所創(chuàng)建的圖像間的相關(guān)性;圖3表示圖2中以圖像的優(yōu)選傳輸順序列出的視頻圖像,其中連接不同圖像的箭頭指示了利用運動補償所創(chuàng)建的圖像間的相關(guān)性;圖4圖解地表示了一系列的視頻圖像,其中相互參考的視頻圖像之間的距離是被選定為2的冪。
具體實施方式
公開了一種方法和系統(tǒng),用于規(guī)定對除法運算降低了要求的多媒 體壓縮和編碼系統(tǒng)中的可變準確度圖像間定時。在下面描述中,為了 進行解釋的目的,提出了特定的術(shù)語,以提供對本發(fā)明的全面理解。但是,對專業(yè)人士顯而易見的是,為實施本發(fā)明,并不要求這些特定的細節(jié)。例如,參考MPEG多媒體壓縮和編碼系統(tǒng)來描述本發(fā)明。但是,這些同樣的技術(shù)可容易地應(yīng)用于其它類型的壓縮和編碼系統(tǒng)。多媒體壓縮和編碼概述圖1表示業(yè)界廣泛熟悉的一個典型數(shù)字視頻編碼器100的一個高級 框圖。數(shù)字視頻編碼器100在框圖的左側(cè)接收一個視頻幀105的輸入視 頻流。數(shù)字視頻編碼器]OO把每個視頻幀分成像素塊的網(wǎng)格。像素塊可 被單獨地壓縮。不同的視頻編碼系統(tǒng)可使用各種不同大小的像素塊。 例如,不同像素塊分辨率包括8X8, 8X4, 16X8, 4X4,等等。此外, 像素塊有時被稱為"宏塊"。本文件將使用術(shù)語像素塊來表示任何大 小的任何像素塊。離散余弦變換(DCT)單元1]0處理視頻幀中的每個像素塊。該幀 可被獨立地處理(幀內(nèi))或參考從運動補償單元接收的其它幀的信息 來處理(幀間)。下面,量化器(Q)單元120量化來自離散余弦變換 單元110的信息。最后,量化的視頻幀利用熵編碼器(H)單元180來編 碼,以產(chǎn)生一個編碼比特流。熵編碼器(H)單元180可利用可變長度 編碼(VLC)系統(tǒng)。由于幀間編碼視頻幀是參考其它鄰近的視頻幀被定義,數(shù)字視頻 編碼器100需要創(chuàng)建每個解碼幀將在數(shù)字視頻解碼器內(nèi)如何出現(xiàn)的副 本,以使幀間可被編碼。因而,數(shù)字視頻編碼器100的較低部分實際上 是一個數(shù)字視頻解碼器系統(tǒng)。尤其是,反量化器(Q—')單元130反轉(zhuǎn)視 頻幀信息的量化,反離散余弦變換(DCT1)單元140反轉(zhuǎn)視頻幀信息 的離散余弦變換。在所有DCT系數(shù)從反離散余弦變換(DOT')單元140 被重建后,運動補償單元將利用該信息,與運動向量一起,來重建編 碼視頻幀。然后重建的視頻幀被用作隨后幀的運動估算的參考幀。然后,該解碼視頻幀可用來對相對解碼視頻幀中的信息而被定義 的幀間(P-幀或B-幀)進行編碼。尤其是,運動補償(MC)單元150 和運動估算(ME)單元160被用來確定運動向量和產(chǎn)生用以對幀間編 碼的差分值。速率控制器190接收來自數(shù)字視頻編碼器100的多個不同部分的信息,利用該信息為每個視頻幀分配比特預算。速率控制器l卯應(yīng)該以這 樣的方式分配比特預算,即產(chǎn)生遵守規(guī)定的限制條件的最高質(zhì)量的數(shù) 字視頻比特流。特別是,速率控制器190試圖產(chǎn)生最高質(zhì)量壓縮的視頻 流,而不溢出緩沖器(通過發(fā)送超過可被存儲的更多信息使得超過視 頻解碼器中可用的內(nèi)存量),或不下溢緩沖器(不足夠快地發(fā)送視頻 幀,以使視頻解碼器用完用于顯示的視頻幀)。利用像素塊的數(shù)字視頻編碼 在一些視頻信號中,連續(xù)視頻圖像(幀或場)之間的時間可以不 是恒定的。(注意本文件將使用術(shù)語視頻圖像來通常表示視頻幀或 視頻場)。例如, 一些視頻圖像因為傳輸帶寬限制而被丟掉。而且, 視頻定時也由于相機不規(guī)則性或特殊效果,如慢動作或快動作而變化。 在一些視頻流中,通過設(shè)計,初始視頻流可簡單地具有非一致的圖像 間時間。例如,如計算機圖形動畫的合成視頻可具有非一致的定時, 因為沒有任意的視頻定時是由如視頻相機系統(tǒng)的一致的定時視頻捕捉 系統(tǒng)所利用。 一個靈活的數(shù)字視頻編碼系統(tǒng)應(yīng)能夠處理非一致的視頻 圖像定吋。如上所述,多數(shù)數(shù)字視頻編碼系統(tǒng)把視頻圖像分成像素塊的矩形 網(wǎng)格。視頻圖像中的每個單獨的像素塊被獨立地壓縮和編碼。 一些視頻編碼標準,如ISO MPEG或ITU H.264,利用不同類型的預測像素塊來對視頻圖像編碼。在一種情況下,像素塊可以是下面三種類型之一1、 i-像素塊——一個內(nèi)部a)像素塊在其編碼中不利用任何其它視頻圖像的信息(它完全是自定義的);2、 P-像素塊---個單向預測(P)像素塊指的是來自前一個視頻圖像的圖像信息;或3、 B-像素塊——一個雙向預測(B)像素塊利用來自前一個圖像 和后一個圖像的信息。如果視頻圖像中的所有像素塊是內(nèi)部像素塊,則視頻圖像是一個 幀內(nèi)。如果一個視頻圖像只包括單向預測宏塊或內(nèi)部像素塊,則視頻 圖像被稱為P-幀。如果視頻圖象包含任何雙向預測像素塊,則視頻圖 像被稱為B-幀。為了敘述的簡明,本文件將考慮一個給定圖像內(nèi)的所有像素塊都是相同類型的情況。要被編碼的視頻圖像的一個示例序列可被表示為 1B2B3B4P5B6B7B8B9P10B11P12B1:5114…其中字母(1, P或B)表示視頻圖像分別是I-幀,P-幀或B-幀,數(shù)字表 示在視頻圖像的序列中的視頻圖像的相機順序。相機順序是相機記錄 視頻圖像的順序,因而也是視頻圖像應(yīng)被顯示的順序(顯示順序)。上一個視頻圖像的示例序列被圖形化地表示在圖2中。參考圖2, 箭頭表示來自一個存儲圖像的像素塊(該情況下是I幀或P幀)被用在 其它圖像的運動補償預測中。在圖2的情況下,在幀內(nèi)視頻圖像I,的編碼中不利用來自其它圖像 的信息。視頻圖像P5是一個P幀,在其編碼中利用在前的視頻圖像I,的 視頻信息,這樣箭頭是從視頻圖像I,到視頻圖像P5。視頻圖像132,視頻 圖像B3,視頻圖像B4在其編碼中全都利用了來自視頻圖像I,和P5的信 息,這樣箭頭是從視頻圖像I,和視頻圖像P5到視頻圖像B2,視頻圖像B3 和視頻圖像B4。如上所述,圖像間時間一般是不相同的。由于B-圖像利用來自后面圖像的信息(將在稍后的時間顯示的圖像),傳輸順序通常是不同于顯示順序。特別是,需要構(gòu)成其它視頻圖像的視頻圖像應(yīng)首先被傳輸。對于上述順序,傳輸順序可以是 11P5B2B3B4P10B6B7B8B9P12B i 1114B 13…圖3圖解地表示了來自圖2的視頻圖像的前述的傳輸順序。此外, 圖中的箭頭表示來自一個存儲的視頻圖像的像素塊(該情況中是I或P) 被用于其它視頻圖像的運動補償預測中。參考圖3,系統(tǒng)首先傳送不依靠任何其它幀的I-幀I,。下一步,系統(tǒng)傳送依靠視頻圖像I,的P-幀視頻圖像P5。下一步,系統(tǒng)傳送視頻圖像 Ps之后的B-幀視頻圖像B2,盡管視頻圖像B2將在視頻圖像Ps之前顯示。 其原因是,當對視頻圖像B2解碼時,解碼器將已經(jīng)收到和存儲對視頻 圖像B2解碼所必需的視頻圖像I,和P5中的信息。同理,視頻圖像I,和P5 已準備用于對隨后的視頻圖像B3和視頻圖像B4解碼。接收器/解碼器記錄視頻圖像正確顯示的順序。在該操作中,I和p圖像常常被稱為是存 儲的圖像。p-幀圖像的編碼典型地利用了運動補償,其中為圖像中的每個像素塊計算一個運動向量。利用計算的運動向量,在上述前面的圖像中 通過像素的轉(zhuǎn)換,可形成一個預測像素塊(P-像素塊)。P-幀圖像中的 實際像素塊與預測像素塊之間的差別然后可被編碼,用于傳輸。P-圖像P-圖像的編碼典型地利用了運動補償(MC),其中為當前圖像中 的每個像素塊計算一個指向前面圖像中的一個位置的運動向量(MV )。 利用運動向量,通過轉(zhuǎn)換上述前面圖像中的像素,可形成一個預測像 素塊。P-圖像中的實際像素塊與預測像素塊之間的差別然后可被編碼, 用于傳輸。每個運動向量也可通過預測編碼而被傳輸。例如,利用鄰近的運 動向量可以形成一個運動向量預測。在這樣的情況下,實際運動向量 與運動向量預測之間的差別則可被編碼,用于傳輸。B-圖像每個B-像素塊利用2個運動向量參考上述前面的視頻圖像的第一運動向量,和參考以后的視頻圖像的第二運動向量。從這兩個運動向 量,計算出兩個預測像素塊。利用一些函數(shù),兩個預測的像素塊然后合并在一起,形成最后的預測像素塊。如上所述,B-幀圖像中的實際像素塊與最后預測像素塊之間的差別則被編碼,用于傳輸。如同利用P-像素塊,B-像素塊的每個運動向量(MV)可通過預測 編碼被傳輸。特別是,利用鄰近的運動向量形成一個預測的運動向量。 然后,實際運動向量與預測運動向量之間的差別可被編碼,用于傳輸。但是,利用B-像素塊,存在著從最近存儲的圖像像素塊中的運動 向量內(nèi)插運動向量的機會。這樣的運動向量內(nèi)插可同時在數(shù)字視頻編 碼器和數(shù)字視頻解碼器中執(zhí)行。該運動向量內(nèi)插特別適用于相機慢慢搖鏡頭越過一個靜止背景時 的視頻序列中的視頻圖像。實際上,這樣的運動向量內(nèi)插可能已足夠 好地被單獨使用。特別是,這意味著不需要為利用內(nèi)插編碼的這些B-像素塊運動向量,計算或傳輸差分信息。為了更深入地說明,在上面的情況下,讓我們把圖像i與j之間的圖像間顯示時間表示為Di,i,即,如果圖像的顯示時間分別是Ti和Tj,則注意,在某些情況下,Dj,j可能是負的。因而,如果MV^是參照I,的P5像素塊的一個運動向量,則對于]32,B3和B4中的相應(yīng)像素塊,參照I,與P5的運動向量將分別以下列等式被內(nèi)插,MV2J=MV5/D2,i/D5MV5,2-MV5,^D5,2/D5.MV3,fMV5/D3,,/D5,MV5,3-MV5 D5,3/D5,注意,由于顯示時間的比率是用于運動向量預測,所以不需要絕對顯示吋間。因而,相對顯示時間可用于Di,i圖像間顯示時間值。至于H.264標準中的示例,該情況可被一般化。在進行一般化時, P或B圖像可利用任何先前傳輸?shù)膱D像,以進行其運動向量預測。因而, 在上述情況下,圖像B3可在其預測中利用圖像I,與圖像B2。此外,運動 向量可被外插,而不僅僅是內(nèi)插。因而,在該情況下我們可得到這樣的運動向量外插(或內(nèi)插)也可用于運動向量的預測編碼的預測 過程中。圖像間顯示時間的編碼 視頻序列的可變圖像間顯示時間應(yīng)以一種方式被編碼和傳輸,即 可以使獲得很高的編碼效率和具有可選擇的準確度成為可能,以滿足 視頻解碼器的要求。理想的是,編碼系統(tǒng)應(yīng)簡化解碼器的任務(wù),以使 相對簡單的計算機系統(tǒng)能對數(shù)字視頻進行解碼。在大量不同的視頻編碼系統(tǒng)中潛在地需要可變圖像間顯示時間, 以計算差分運動向量,直接模式運動向量,和/或隱含B預測塊加權(quán)(Implicit B Prediction Block Weighting)。視頻序列中可變圖像間顯示時間的問題是與時間基準的使用相交 織。理想的是,視頻CODEC中輸出的圖像中的正確像素值的推導應(yīng)獨 立于該圖像被解碼或顯示的時間。因此,定時問題和時間參考應(yīng)在 CODEC層之外被解決。同吋存在著與編碼有關(guān)的和與系統(tǒng)有關(guān)的原因,作為所希望的時 間獨立的基礎(chǔ)。在視頻CODEC中,使用時間參考有兩個目的(1) 建立參考圖像選擇的一個排序;和(2) 在圖像間插入運動向量。 為建立參考圖像選擇的一個排序,可以簡單地發(fā)送一個相對位置值。例如,解碼順序中的幀位置N與顯示順序中的幀位置M之間的差別, 即N-M。在這樣的實施例中,將不需要時間標記或其它時間參考。為 了插入運動向量,如果瞬時距離與內(nèi)插距離有關(guān),則瞬時距離將是有 用的。但是,如果運動是非線性的,這可能不正確。因此,發(fā)送除了 運動向量內(nèi)插的瞬時信息之外的參數(shù)似乎更合適。根據(jù)一些系統(tǒng),人們可以希望典型的視頻CODEC是較大系統(tǒng)的一 部分,其中視頻CODEC與其它視頻(和音頻)CODEC共存。在這樣的 多CODEC系統(tǒng)中,良好的系統(tǒng)分層和設(shè)計要求通用的功能(這可以在 邏輯上獨立于CODEC,如定時)是由CODEC之外的層來處理。系統(tǒng)進 行的,而不是由每個CODEC獨立地進行的定時管理對于獲得通用功能 的持續(xù)處理,如同步是關(guān)鍵的。例如,在同時處理超過一個數(shù)據(jù)流, 如視頻/音頻的表現(xiàn)的系統(tǒng)中,定時調(diào)節(jié)通常在這些數(shù)據(jù)流內(nèi)需要,以 保持不同的數(shù)據(jù)流同步。同理,在處理具有不同時鐘的遠程系統(tǒng)的數(shù) 據(jù)流的系統(tǒng)中,可能需要定時調(diào)節(jié)以保持與遠程系統(tǒng)的同步。利用時 間標記可獲得這樣的定時調(diào)節(jié)。例如,時間標記可用于同步,時間標 記通過"發(fā)送器報告"與發(fā)射器相連,并在每個數(shù)據(jù)流的RTP層中以 RTP來提供。這些發(fā)送器報告可采取下列形式視頻RTP時間標記X與參考時間標記Y校準音頻RTP時間標記W與參考時間標記Z校準其中已知參考時間標記的壁鐘速率,允許兩個數(shù)據(jù)流同步。但是,這 些時間標記參考可以為兩個數(shù)據(jù)流周期性地到達,又可以單獨地到達, 這些參考可以引起兩個數(shù)據(jù)流的一些所需要的重新校準。這一般是通 過調(diào)節(jié)視頻流來獲得,以匹配音頻,反過來也如此。吋間標記的系統(tǒng) 處理應(yīng)該不影響被顯示的像素值。更一般地,瞬時信息的系統(tǒng)處理應(yīng) 在CODEC之外被執(zhí)行。一個特殊示例如上段中所述,在非一致的圖像間吋間的情況下的問題是以有效的方式傳送圖像間顯示時間值Di,j到數(shù)字視頻接收器。完成這一目標的一種方法是使系統(tǒng)傳送第一圖像之后每個圖像的當前圖像與最近傳輸 的存儲圖像之間的顯示時間差。為了錯誤恢復能力,傳輸可以在圖像內(nèi)重復幾次。例如,顯示時間差可以在MPEG或H.264標準的片段頭 (slice header)中重復。如果全部的片段頭丟失,則解碼信息依靠丟失 圖像的其它圖像可能也不能被解碼。因而,參考上段中的示例,系統(tǒng)將傳送下列圖像間顯示時間值 D5,1 D2'5 D3,5 D4,5 Di。'5 D《io D7,10 Ds,io D9,10 D12,10 D11」2 D|4,i2 D|3,|4'" 為了進行運動向量估算,圖像間顯示吋間Di,j的準確度要求可能隨不同 的圖像而變化。例如,如果只有單個的B-幀圖像B6在兩個P-幀圖像Ps 與P7之間的一半,則它只足夠發(fā)送 D7,產(chǎn)2和D6,7二1其中圖像間顯示時間值Di,j是相對時間值。替換地,如果視頻圖像B6只在視頻圖像P5與視頻圖像P7之間距離的四分之一 ,則發(fā)送的適當?shù)膱D像間顯示時間值Dg將是D7,5=^D6,7=-1注意,在上述兩個示例中,視頻圖像B6與視頻圖像P7之間的顯示時間(圖 像間顯示時間D6,7)被用作顯示時間"單位"值。在最近的示例中,視 頻圖像P5與視頻圖像P7之間的顯示時間差(圖像間顯示時間D6,7)是4倍的顯示時間"單位"(4*D6,7)。提高解碼效率總之,如果除數(shù)是2的冪,運動向量估計計算將極大地簡化。如果兩個存儲圖像之間的Di,j (圖像間時間)被選擇是2的冪,如在圖4中所示,這種簡化在我們的實施例中可容易地獲得。可替代地,估計的過程可被定義為把所有除數(shù)舍位或四舍五入成為2的冪。在圖像間時間可以是2的冪的情況下,如果只有(2的)整數(shù)冪被 傳輸,而不是圖像間時間的全部值,則可降低數(shù)據(jù)比特的數(shù)量。圖4圖 解地表示了圖像間距離被選擇為2的冪的情況。在這種情況下,視頻圖 像P,與視頻圖像P3之間的D3,,顯示時間值2是作為1 (由于2'-2)被傳輸, 視頻圖像P7與視頻圖像P3之間的D7,3顯示時間值4是作為2 (由于22=4) 被傳輸??商娲?,外插操作的運動向量內(nèi)插可以近似于任何所希望的準 確度,這是以分母是2的冪的方法來縮放比例。(利用分母中2的冪,通過簡單地在被除的值中移位,來執(zhí)行除法。)例如,D5,4/D5,, Z5,4/P 其中值P是2的冪,Z5,4=P*D5,4/ D5,,被四舍五入或舍位成為最接近的整 數(shù)。P的值可被周期性地傳輸,或設(shè)定為系統(tǒng)的常數(shù)。在一個實施例中, P的值可設(shè)定為P二2、256。該方法的優(yōu)點的是,解碼器對每個圖像只需要計算Zs,4一次,或在許多情況下,解碼器可以預先計算,和存儲Z值。這允許解碼器避免不 得不為圖像中的每個運動向量而被D5,,除,這樣,可以更有效率地進行運動向量內(nèi)插。例如,正常的運動向量計算將是MV^MVy* D5,4/D5J 但如果我們計算和存儲Z5,4,其中25,4= *05,4/05,1,貝ijMV5,產(chǎn)MVs/ Z5,4/P 但由于P值已被選擇是2的冪,被P除的除法只是簡單的位移。因而,一 旦為視頻圖像計算出Z值,只需要單次的乘法和單次的移位,來計算以 后像素塊的運動向量。而且,系統(tǒng)可通過執(zhí)行最后一次的所有除法來 保持高的準確度,這樣重要的位在計算過程中將不丟失。以這種方式, 解碼器可以執(zhí)行與編碼器完全相同的運動向量內(nèi)插,因而避免了有可 能產(chǎn)生的任何不匹配問題。由于除法(除了2的冪的除法以外)對于數(shù)字計算機系統(tǒng)來說,比加法或乘法是一個更加密集的計算任務(wù),該方法可極大地降低利用運 動向量內(nèi)插或外插的圖像重建所需要的計算量。在一些情況下,可以不使用運動向量內(nèi)插。但是,仍有必需傳輸 視頻圖像的顯示順序給接收器/播放器系統(tǒng),以使接收器/播放器系統(tǒng)將 以正確的順序顯示視頻圖像。在這種情況下,Di,j的簡單帶符號的整數(shù) 值滿足需要,而不管實際的顯示時間如何。在一些應(yīng)用中,只有符號 (正或負)可被需要來重建圖像順序。圖像間時間Di,i可以如簡單帶符號的整數(shù)值被傳輸。但是,可應(yīng)用 許多方法來對Di,j值編碼,以獲得額外的壓縮。例如,后面是可變長度 編碼數(shù)值的一個符號位是相對容易地來執(zhí)行和提高編碼效率??梢允褂玫囊粋€這樣的可變長度編碼系統(tǒng)被稱為UVLC (通用可 變長度編碼)。UVLC可變長度編碼系統(tǒng)是由編碼字來給定1= 12= 0 10 3= 0 11 4= 0 0 10 0 5= 0 0 101 6= 0 0 110 7= 0 0 111 8-0 0 0 1 000…對圖像間時間編碼的另一種方法可以是使用算術(shù)編碼。典型地, 算術(shù)編碼利用了條件概率,來實現(xiàn)數(shù)據(jù)位的非常高的壓縮。因而,本發(fā)明介紹了一種簡單但功能強大的對圖像間顯示時間的 編碼和傳輸方法,以及在運動向量估算中使用的那些圖像間顯示時間 的解碼方法。通過利用可變長度編碼或算術(shù)編碼可以使圖像間顯示時 間的編碼非常有效。而且,可以選擇一個希望的準確度,以滿足視頻 編解碼的需要,而不是太高的準確度。上面描述了 一個系統(tǒng),說明了多媒體壓縮和編碼系統(tǒng)中的可變準 確性圖像間定時??梢韵胂蟮氖?,普通的專業(yè)人士在不背離本發(fā)明范 圍的情況下可以對本發(fā)明的元件桐'料和配置做出改變和修改。
權(quán)利要求
1.一種方法,用于包括第一視頻圖像、第二視頻圖像和第三視頻圖像的數(shù)據(jù)流,所述方法包括計算標度值,所述標度值基于(i)所述第三視頻圖像的順序值和所述第一視頻圖像的順序值之間的第一順序差值,和(ii)所述第二視頻圖像的順序值和所述第一視頻圖像的所述順序值之間的第二順序差值;以及基于所述標度值和用于所述第三視頻圖像的運動向量來計算用于所述第二視頻圖像的特定運動向量,其中計算所述特定運動向量包括執(zhí)行移位操作。
2. 如權(quán)利要求1所述的方法,其中特定視頻圖像的順序值表示所述特定視頻圖像相對于另一視頻圖像的時間關(guān)系。
3. 如權(quán)利要求1所述的方法,其中特定視頻圖像的順序值表示所 述特定視頻圖像在視頻圖像的序列中的位置。
4. 如權(quán)利要求3所述的方法, 是輸出位置。
5. 如權(quán)利要求1所述的方法, 8位。
6. 如權(quán)利要求1所述的方法, 對所述第二視頻圖像進行解碼。其中所述特定視頻圖像的所述位置 其中執(zhí)行移位操作包括將位值移動 還包括通過使用計算的運動向量來
7. 如權(quán)利要求]所述的方法,其中所述順序值表示時間值。
8. 如權(quán)利要求l所述的方法,其中所述順序值不表示時間值。
9. 如權(quán)利要求1所述的方法,其中所述順序值來源于存儲在與所 述第二視頻圖像相關(guān)的片段頭中的值。
10. 如權(quán)利要求1所述的方法,其中所述標度值還基于2的冪。
11. 如權(quán)利要求l所述的方法,其中所述第一視頻圖像是I視頻圖
12. 如權(quán)利要求1所述的方法,其中所述第二視頻圖像是B視頻圖像。
13. 如權(quán)利要求1所述的方法,其中計算所述運動向量包括執(zhí)行內(nèi)插操作。
14. 如權(quán)利要求1所述的方法,其中計算所述運動向量包括執(zhí)行外 插操作。
15. 如權(quán)利要求l所述的方法,其中順序值的序列是非一致的。
16. 如權(quán)利要求1所述的方法,其中特定順序值采用壓縮格式。
17. 如權(quán)利要求16所述的方法,其中所述特定順序值是通過使用 可變長度編碼來壓縮的。
18. 如權(quán)利要求16所述的方法,其中所述特定順序值是通過使用 算術(shù)編碼來壓縮的。
19. 如權(quán)利要求1所述的方法,其中特定順序值來源于在比特流中 存儲了多于一次的值。
20. 如權(quán)利要求所述的方法,其中執(zhí)行所述移位操作包括執(zhí)行除 數(shù)是2的冪的除法。
21. 如權(quán)利要求1所述的方法,其中執(zhí)行所述移位操作包括執(zhí)行數(shù) 學操作,執(zhí)行所述數(shù)學操作等效于執(zhí)行除數(shù)是2的冪的除法。
22. —種方法,用于包括第一視頻圖像、第二視頻圖像和第三視頻 圖像的數(shù)據(jù)流,所述方法包括計算標度值,所述標度值基于G) 2的冪;(ii)所述第三視頻圖像的順序值和所述第一視頻圖像的順序值之間的第一順序差值,和(m)所述第二視頻圖像的順序值和所述第一視頻圖像的所述順序值之間的 第二順序差值;以及基于所述標度值和用于所述第三視頻圖像的運動向量來計算用于 所述第二視頻圖像的特定運動向量。
23. 如權(quán)利要求22所述的方法, 來對所述第二視頻圖像進行解碼。
24. 如權(quán)利要求22所述的方法, 差值成比例。
25. 如權(quán)利要求22所述的方法, 差值成反比。還包括通過使用計算的運動向量 其中所述標度值與所述第二順序 其中所述標度值與所述第一順序
26. 如權(quán)利要求22所述的方法,其中計算所述特定運動向量包括 執(zhí)行數(shù)學操作,執(zhí)行所述數(shù)學操作等效于執(zhí)行除數(shù)是2的特定冪的除 法。
27. 如權(quán)利要求22所述的方法,其中計算所述特定運動向量包括 執(zhí)行數(shù)學操作,執(zhí)行所述數(shù)學操作等效于執(zhí)行移位操作。
28. 如權(quán)利要求22所述的方法,其中特定視頻圖像的順序值表示 所述特定視頻圖像相對于另 一視頻圖像的時間關(guān)系。
29. 如權(quán)利要求22所述的方法,其中特定視頻圖像的順序值表示所述特定視頻圖像在視頻圖像的序列中的位置。
30. 如權(quán)利要求29所述的方法,其中所述序列是用于輸出視頻圖 像的序列。
31. 如權(quán)利要求22所述的方法,其中計算所述特定運動向量包括 執(zhí)行移位操作。
32. 如權(quán)利要求31所述的方法,其中執(zhí)行所述移位操作包括將位 值移動總共8位。
33. 如權(quán)利要求22所述的方法,其中所述第二視頻圖像的所述順 序值來源于存儲在與所述第二視頻圖像相關(guān)的片段頭中的值。
34. 如權(quán)利要求22所述的方法,其中計算所述特定運動向量包括 執(zhí)行除數(shù)是2的特定冪的除法。
35. —種方法,用于包括第一視頻圖像、第二視頻圖像和第三視頻 圖像的數(shù)據(jù)流,所述方法包括計算標度值,所述標度值基于(i)所述第三視頻圖像的順序值和 所述第一視頻圖像的順序值之間的第一順序差值,和(ii)所述第二視 頻圖像的順序值和所述第一視頻圖像的所述順序值之間的第二順序差 值;以及基于所述標度值和用于所述第三視頻圖像的運動向量來計算用于 所述第二視頻圖像的特定運動向量,其中計算所述特定運動向量包括 執(zhí)行除數(shù)是2的冪的除法。
36. 如權(quán)利要求35所述的方法,其中特定視頻圖像的順序值表示 所述特定視頻圖像相對于另 一視頻圖像的時間關(guān)系。
37. 如權(quán)利要求35所述的方法,其中特定視頻圖像的順序值指定所述特定視頻圖像在視頻圖像的序列中的位置。
38. 如權(quán)利要求37所述的方法,置是輸出位置。
39. 如權(quán)利要求35所述的方法, 來對所述第二視頻圖像進行解碼。
40. 如權(quán)利要求35所述的方法,其中所述特定視頻圖像的所述位 還包括通過使用計算的運動向量 其中所述標度值還基于2的冪。
41. 如權(quán)利要求35所述的方法,其中特定視頻圖像的順序值指定 所述特定視頻圖像在視頻圖像的序列中的輸出順序。
42. 如權(quán)利要求35所述的方法,其中執(zhí)行所述除法包括執(zhí)行數(shù)學 操作,執(zhí)行所述數(shù)學操作等效于執(zhí)行移位操作。
43. —種方法,包括基于以下兩個值來計算標度值(i)第一視頻圖像的順序值和第二 視頻圖像的順序值之間的第一順序差值,和(ii)特定值,所述特定值 基于2的冪以及第三視頻圖像的順序值和所述第二視頻圖像的所述順 序值之間的第二順序差值;以及使用所述標度值來計算運動向量。
44. 如權(quán)利要求43所述的方法,其中特定視頻圖像的順序值表示 所述特定視頻圖像相對于另 一視頻圖像的時間關(guān)系。
45. 如權(quán)利要求43所述的方法,其中使用所述標度值包括通過將 所述標度值乘以與所述第三視頻圖像相關(guān)的運動向量來計算成比例的 運動向量。
46. 如權(quán)利要求45所述的方法,其中計算所述成比例的運動向量 包括執(zhí)行除數(shù)是2的特定冪的除法。
47. 如權(quán)利要求46所述的方法,其中所述2的特定冪是256。
48. 如權(quán)利要求45所述的方法,其中計算所述成比例的運動向量 包括執(zhí)行移位操作。
49. 如權(quán)利要求43所述的方法,其中特定視頻圖像的順序值表示 所述特定視頻圖像在視頻圖像的序列中的位置。
50. 如權(quán)利要求43所述的方法,其中所述標度值被舍位。
51. 如權(quán)利要求43所述的方法,其中所述標度值被四舍五入到一 個最近似的整數(shù)。
52. 如權(quán)利要求43所述的方法,其中特定視頻圖像的特定順序值 指定所述特定視頻圖像在視頻圖像的序列中的顯示順序。
53. 如權(quán)利要求43所述的方法,其中所述第一視頻圖像用于在所 述第二視頻圖像的解碼之后進行解碼。
54. —種方法,用于包括第一視頻圖像、第二視頻圖像和第三視頻 圖像的比特流,所述方法包括計算標度值,所述標度值基于(i) 2的冪;(ii)所述第三視頻圖 像的順序值和所述第一視頻圖像的順序值之間的第一順序差值,和(iii) 所述第二視頻圖像的順序值和所述第一視頻圖像的所述順序值之間的 第二順序差值,其中特定視頻圖像的順序值表示所述特定視頻圖像在 視頻圖像的序列中的位置;以及根據(jù)所述標度值和用于所述第三視頻圖像的運動向量來計算用于 所述第二視頻圖像的特定運動向量,其中計算所述特定運動向量包括 執(zhí)行移位操作。
55. —種方法,包括通過將值(i)乘以值(ii)來確定標度值,所述值(i)是第一視 頻圖像的圖像順序計數(shù)值和第二視頻圖像的圖像順序計數(shù)值之間的特 定圖像順序計數(shù)差值;所述值(ii)是特定值,所述特定值由2的冪以 及第三視頻圖像的圖像順序計數(shù)值和所述第二視頻圖像的所述圖像順 序計數(shù)值之間的另 一 圖像順序計數(shù)差值來定義;以及使用所述標度值來計算運動向量。
56. 如權(quán)利要求55所述的方法, 所述標度值乘以與所述第三視頻圖像 -運動向量。
57. 如權(quán)利要求56所述的方法, 包括執(zhí)行除數(shù)是2的特定冪的除法。
58. 如權(quán)利要求57所述的方法,
59. 如權(quán)利要求56所述的方法, 包括執(zhí)行移位操作。其中使用所述標度值包括通過將 相關(guān)的運動向量來確定成比例的其中確定所述成比例的運動向量其中所述2的特定冪包括256。 其中確定所述成比例的運動向量
60. 如權(quán)利要求55所述的方法,其中特定視頻圖像的特定圖像順 序計數(shù)值指定所述特定視頻圖像在視頻圖像的序列中的顯示順序。
61. 如權(quán)利要求55所述的方法,其中所述第一視頻圖像用于在所 述第二視頻圖像的解碼之后進行解碼。
62. —種方法,包括a. 接收多個視頻圖像和至少一個順序值;禾口b. 基于所述至少一個順序值來計算用于視頻圖像的隱含B預測塊 加權(quán)。
63. 如權(quán)利要求62所述的方法,其中所述順序值表示所述視頻圖 像相對于另 一 視頻圖像的時間位置。
64. —種方法,包括a. 通過使用至少一個順序值來對多個視頻圖像進行解碼,所述順 序值用于建立參考視頻圖像選擇的排序;和b. 基于所述順序值來輸出經(jīng)解碼的視頻圖像。
65. 如權(quán)利要求64所述的方法,其中所述順序值表示一個視頻圖 像相對于另 一視頻圖像的時間位置。
66. —種設(shè)備,包括用于執(zhí)行如權(quán)利要求l-65中的任一項所述的方 法的裝置。
全文摘要
本發(fā)明公開了在數(shù)字視頻系統(tǒng)中執(zhí)行運動估算的一種方法和裝置(圖1)。特別是,本發(fā)明公開了一個系統(tǒng),它以十分有效的方式迅速計算估計的運動矢量(圖1,160項)。在一個實施例中,通過第一視頻圖像與第二視頻圖像之間的第一顯示時間差乘以兩個標度值的冪來確定第一被乘數(shù)(圖1,150項,160項)。該步驟成比例放大了一個比率的分子(圖1,120項)。下面,通過以所述第二視頻圖像與第三視頻圖像之間的第二顯示時間差除該放大的分子,系統(tǒng)確定一個成比例的比率。該成比例的比率然后被存儲,用于計算運動矢量估算。通過存儲該成比例的比率,以良好精確性迅速地計算出所有估算的運動矢量,這是因為成比例的比率保存了重要的位數(shù),通過簡單移位進行比例的降低(圖1,180項)。
文檔編號H04N7/36GK101242536SQ200810082229
公開日2008年8月13日 申請日期2003年8月7日 優(yōu)先權(quán)日2002年12月6日
發(fā)明者A·帕里, A·杜米特拉什, B·G·哈斯克爾, D·W·辛格 申請人:蘋果電腦有限公司