專利名稱:用于降低除法運算要求的數(shù)字視頻編碼的可變準(zhǔn)確度圖像間定時規(guī)定的方法與裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及多媒體壓縮系統(tǒng)的領(lǐng)域。尤其是,本發(fā)明公開了規(guī)定可變準(zhǔn)確度圖像間定時的一些方法和系統(tǒng),這降低了對處理器密集的除法運算的要求。
背景技術(shù):
基于數(shù)字的電子媒體格式是大規(guī)模地替代模擬電子媒體格式的最后一股潮流。很久以前,數(shù)字壓縮磁盤(CD)就代替了模擬的乙烯基記錄材料。模擬式的卡型盒式磁帶正變得越來越少。第二和第三代數(shù)字音頻系統(tǒng),如小型磁盤和MP3(MPEG音頻-層3)現(xiàn)在正分享第一代數(shù)字音頻格式的壓縮磁盤的市場份額。
在過渡到數(shù)字存儲和數(shù)字傳輸格式方面,視頻媒體格式已經(jīng)慢于音頻媒體。采用數(shù)字視頻格式的速度較慢的原因很大程度是由于以數(shù)字形式準(zhǔn)確表示可接受質(zhì)量的視頻所要求的數(shù)字信息量太大,以及壓縮視頻編碼所需要的快速處理能力。準(zhǔn)確表示視頻所需的大量數(shù)字信息要求非常高容量的數(shù)字存儲系統(tǒng)和高帶寬傳輸系統(tǒng)。
但是,現(xiàn)在視頻正迅速地過渡到數(shù)字存儲和傳輸格式。更快的計算機處理器,高密度存儲系統(tǒng),新的有效壓縮和編碼算法最終使數(shù)字視頻傳輸和存儲能以消費者可接受的價格使用。DVD(數(shù)字通用光盤),一種數(shù)字視頻系統(tǒng),在過去幾年已成為最好賣的消費類電子產(chǎn)品之一。DVD已迅速取代視頻磁帶錄像機(VCR)作為預(yù)先錄制視頻重放系統(tǒng)的首選,這是由于其高的視頻質(zhì)量,很高的音頻質(zhì)量,方便性以及其它特點。老的模擬NTSC(國家電視標(biāo)準(zhǔn)委員會)視頻傳輸系統(tǒng)當(dāng)前正處于被數(shù)字ATSC(先進電視標(biāo)準(zhǔn)委員會)視頻傳輸系統(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)和Dish Network牌的直播衛(wèi)星(DBS)電視廣播系統(tǒng)利用更高質(zhì)量的MPEG-2數(shù)字視頻壓縮和編碼系統(tǒng)。MPEG-4編碼系統(tǒng)正迅速地由基于最新的計算機的數(shù)字視頻編碼器和相關(guān)數(shù)字視頻播放器所采用。
MPEG-2和MPEG-4標(biāo)準(zhǔn)壓縮了一系列視頻幀或視頻場,然后將這些壓縮的幀或場編碼為數(shù)字比特流。當(dāng)用MPEG-2和MPEG-4系統(tǒng)對視頻幀或視頻場編碼時,視頻幀或視頻場被劃分為像素塊的矩形網(wǎng)格。每個像素塊是獨立地被壓縮和編碼。
當(dāng)壓縮一個視頻幀或視頻場時,MPEG-4標(biāo)準(zhǔn)可將幀或場壓縮為三種類型的壓縮幀或場之一幀內(nèi)(I-幀),單向預(yù)測幀(P-幀)或雙向預(yù)測幀(B-幀)。幀內(nèi)是完全獨立地對一個獨立視頻幀編碼,而不參考其它視頻幀。P-幀參照單個先前顯示的視頻幀來定義一個視頻幀。B-幀既參考在當(dāng)前幀之前顯示的視頻幀又參考在當(dāng)前幀之后顯示的視頻幀來定義一個視頻幀。由于其高效利用了冗余視頻信息,P-幀和B-幀通常提供最好的壓縮。
發(fā)明內(nèi)容
本發(fā)明公開了執(zhí)行視頻編解碼器中的運動估算的一種方法和裝置。特別是,本發(fā)明公開了一種系統(tǒng),它以十分有效的方式迅速計算估計的運動向量,而不要求過多數(shù)量的除法運算。
在一個實施例中,第一視頻圖像與第二視頻圖像之間的第一顯示時間差乘以兩個標(biāo)度值的冪來確定第一被乘數(shù)。該步驟成比例放大了一個比率的分子。下面,通過以所述第二視頻圖像與第三個視頻圖像之間的第二顯示時間差除該成比例的分子,系統(tǒng)確定一個成比例的比率。該成比例的比率然后被存儲,在下面用于計算運動向量估算。通過存儲該成比例的比率,以良好精確性迅速地計算出所有估算的運動向量,這是因為成比例的比率保存了重要的位數(shù),通過簡單移位進行比例的降低,因而消除了費時的除法運算的需要。
結(jié)合附圖和下文的詳述,本發(fā)明的其它目標(biāo),特點和優(yōu)點會更加明顯。
根據(jù)下文中的詳細描述,本發(fā)明的其它目標(biāo),特點和優(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)中的可變準(zhǔn)確度圖像間定時。在下面描述中,為了進行解釋的目的,提出了特定的術(shù)語,以提供對本發(fā)明的全面理解。但是,對專業(yè)人士顯而易見的是,為實施本發(fā)明,并不要求這些特定的細節(jié)。例如,參考MPEG多媒體壓縮和編碼系統(tǒng)來描述本發(fā)明。但是,這些同樣的技術(shù)可容易地應(yīng)用于其它類型的壓縮和編碼系統(tǒng)。
多媒體壓縮和編碼概述圖1表示業(yè)界廣泛熟悉的一個典型數(shù)字視頻編碼器100的一個高級框圖。數(shù)字視頻編碼器100在框圖的左側(cè)接收一個視頻幀105的輸入視頻流。數(shù)字視頻編碼器100把每個視頻幀分成像素塊的網(wǎng)格。像素塊可被單獨地壓縮。不同的視頻編碼系統(tǒng)可使用各種不同大小的像素塊。例如,不同像素塊分辨率包括8×8,8×4,16×8,4×4,等等。此外,像素塊有時被稱為“宏塊”。本文件將使用術(shù)語像素塊來表示任何大小的任何像素塊。
離散余弦變換(DCT)單元110處理視頻幀中的每個像素塊。該幀可被獨立地處理(幀內(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-1)單元130反轉(zhuǎn)視頻幀信息的量化,反離散余弦變換(DCT-1)單元140反轉(zhuǎn)視頻幀信息的離散余弦變換。在所有DCT系數(shù)從反離散余弦變換(DCT-1)單元140被重建后,運動補償單元將利用該信息,與運動向量一起,來重建編碼視頻幀。然后重建的視頻幀被用作隨后幀的運動估算的參考幀。
然后,該解碼視頻幀可用來對相對解碼視頻幀中的信息而被定義的幀間(P-幀或B-幀)進行編碼。尤其是,運動補償(MC)單元150和運動估算(ME)單元160被用來確定運動向量和產(chǎn)生用以對幀間編碼的差分值。
速率控制器190接收來自數(shù)字視頻編碼器100的多個不同部分的信息,利用該信息為每個視頻幀分配比特預(yù)算。速率控制器190應(yīng)該以這樣的方式分配比特預(yù)算,即產(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)格。視頻圖像中的每個單獨的像素塊被獨立地壓縮和編碼。一些視頻編碼標(biāo)準(zhǔn),如ISO MPEG或ITU H.264,利用不同類型的預(yù)測像素塊來對視頻圖像編碼。在一種情況下,像素塊可以是下面三種類型之一1、I-像素塊——一個內(nèi)部(I)像素塊在其編碼中不利用任何其它視頻圖像的信息(它完全是自定義的);2、P-像素塊——一個單向預(yù)測(P)像素塊指的是來自前一個視頻圖像的圖像信息;或3、B-像素塊——一個雙向預(yù)測(B)像素塊利用來自前一個圖像和后一個圖像的信息。
如果視頻圖像中的所有像素塊是內(nèi)部像素塊,則視頻圖像是一個幀內(nèi)。如果一個視頻圖像只包括單向預(yù)測宏塊或內(nèi)部像素塊,則視頻圖像被稱為P-幀。如果視頻圖象包含任何雙向預(yù)測像素塊,則視頻圖像被稱為B-幀。為了敘述的簡明,本文件將考慮一個給定圖像內(nèi)的所有像素塊都是相同類型的情況。
要被編碼的視頻圖像的一個示例序列可被表示為I1B2B3B4P5B6B7B8B9P10B11P12B13I14…其中字母(I,P或B)表示視頻圖像分別是I-幀,P-幀或B-幀,數(shù)字表示在視頻圖像的序列中的視頻圖像的相機順序。相機順序是相機記錄視頻圖像的順序,因而也是視頻圖像應(yīng)被顯示的順序(顯示順序)。
上一個視頻圖像的示例序列被圖形化地表示在圖2中。參考圖2,箭頭表示來自一個存儲圖像的像素塊(該情況下是I幀或P幀)被用在其它圖像的運動補償預(yù)測中。
在圖2的情況下,在幀內(nèi)視頻圖像I1的編碼中不利用來自其它圖像的信息。視頻圖像P5是一個P幀,在其編碼中利用在前的視頻圖像I1的視頻信息,這樣箭頭是從視頻圖像I1到視頻圖像P5。視頻圖像B2,視頻圖像B3,視頻圖像B4在其編碼中全都利用了來自視頻圖像I1和P5的信息,這樣箭頭是從視頻圖像I1和視頻圖像P5到視頻圖像B2,視頻圖像B3和視頻圖像B4。如上所述,圖像間時間一般是不相同的。
由于B-圖像利用來自后面圖像的信息(將在稍后的時間顯示的圖像),傳輸順序通常是不同于顯示順序。特別是,需要構(gòu)成其它視頻圖像的視頻圖像應(yīng)首先被傳輸。對于上述順序,傳輸順序可以是I1P5B2B3B4P10B6B7B8B9P12B11I14B13…圖3圖解地表示了來自圖2的視頻圖像的前述的傳輸順序。此外,圖中的箭頭表示來自一個存儲的視頻圖像的像素塊(該情況中是I或P)被用于其它視頻圖像的運動補償預(yù)測中。
參考圖3,系統(tǒng)首先傳送不依靠任何其它幀的I-幀I1。下一步,系統(tǒng)傳送依靠視頻圖像I1的P-幀視頻圖像P5。下一步,系統(tǒng)傳送視頻圖像P5之后的B-幀視頻圖像B2,盡管視頻圖像B2將在視頻圖像P5之前顯示。其原因是,當(dāng)對視頻圖像B2解碼時,解碼器將已經(jīng)收到和存儲對視頻圖像B2解碼所必需的視頻圖像I1和P5中的信息。同理,視頻圖像I1和P5已準(zhǔn)備用于對隨后的視頻圖像B3和視頻圖像B4解碼。接收器/解碼器記錄視頻圖像正確顯示的順序。在該操作中,I和P圖像常常被稱為是存儲的圖像。
P-幀圖像的編碼典型地利用了運動補償,其中為圖像中的每個像素塊計算一個運動向量。利用計算的運動向量,在上述前面的圖像中通過像素的轉(zhuǎn)換,可形成一個預(yù)測像素塊(P-像素塊)。P-幀圖像中的實際像素塊與預(yù)測像素塊之間的差別然后可被編碼,用于傳輸。
P-圖像P-圖像的編碼典型地利用了運動補償(MC),其中為當(dāng)前圖像中的每個像素塊計算一個指向前面圖像中的一個位置的運動向量(MV)。利用運動向量,通過轉(zhuǎn)換上述前面圖像中的像素,可形成一個預(yù)測像素塊。P-圖像中的實際像素塊與預(yù)測像素塊之間的差別然后可被編碼,用于傳輸。
每個運動向量也可通過預(yù)測編碼而被傳輸。例如,利用鄰近的運動向量可以形成一個運動向量預(yù)測。在這樣的情況下,實際運動向量與運動向量預(yù)測之間的差別則可被編碼,用于傳輸。
B-圖像每個B-像素塊利用2個運動向量參考上述前面的視頻圖像的第一運動向量,和參考以后的視頻圖像的第二運動向量。從這兩個運動向量,計算出兩個預(yù)測像素塊。利用一些函數(shù),兩個預(yù)測的像素塊然后合并在一起,形成最后的預(yù)測像素塊。如上所述,B-幀圖像中的實際像素塊與最后預(yù)測像素塊之間的差別則被編碼,用于傳輸。
如同利用P-像素塊,B-像素塊的每個運動向量(MV)可通過預(yù)測編碼被傳輸。特別是,利用鄰近的運動向量形成一個預(yù)測的運動向量。然后,實際運動向量與預(yù)測運動向量之間的差別可被編碼,用于傳輸。
但是,利用B-像素塊,存在著從最近存儲的圖像像素塊中的運動向量內(nèi)插運動向量的機會。這樣的運動向量內(nèi)插可同時在數(shù)字視頻編碼器和數(shù)字視頻解碼器中執(zhí)行。
該運動向量內(nèi)插特別適用于相機慢慢搖鏡頭越過一個靜止背景時的視頻序列中的視頻圖像。實際上,這樣的運動向量內(nèi)插可能已足夠好地被單獨使用。特別是,這意味著不需要為利用內(nèi)插編碼的這些B-像素塊運動向量,計算或傳輸差分信息。
為了更深入地說明,在上面的情況下,讓我們把圖像i與j之間的圖像間顯示時間表示為Di,j,即,如果圖像的顯示時間分別是Ti和Tj,則
Di,j=Ti-Tj從此可得出Di,k=Di,j+Dj,kDi,k=-Dk,i注意,在某些情況下,Di,j可能是負的。
因而,如果MV5,1是參照I1的P5像素塊的一個運動向量,則對于B2,B3和B4中的相應(yīng)像素塊,參照I1與P5的運動向量將分別以下列等式被內(nèi)插,MV2,1=MV5,1*D2,1/D5,1MV5,2=MV5,1*D5,2/D5,1MV3,1=MV5,1*D3,1/D5,1MV5,3=MV5,1*D5,3/D5,1MV4,1=MV5,1*D4,1/D5,1MV5,4=MV5,1*D5,4/D5,1注意,由于顯示時間的比率是用于運動向量預(yù)測,所以不需要絕對顯示時間。因而,相對顯示時間可用于Di,j圖像間顯示時間值。
至于H.264標(biāo)準(zhǔn)中的示例,該情況可被一般化。在進行一般化時,P或B圖像可利用任何先前傳輸?shù)膱D像,以進行其運動向量預(yù)測。因而,在上述情況下,圖像B3可在其預(yù)測中利用圖像I1與圖像B2。此外,運動向量可被外插,而不僅僅是內(nèi)插。因而,在該情況下我們可得到MV3,1=MV2,1*D3,1/D2,1這樣的運動向量外插(或內(nèi)插)也可用于運動向量的預(yù)測編碼的預(yù)測過程中。
圖像間顯示時間的編碼視頻序列的可變圖像間顯示時間應(yīng)以一種方式被編碼和傳輸,即可以使獲得很高的編碼效率和具有可選擇的準(zhǔn)確度成為可能,以滿足視頻解碼器的要求。理想的是,編碼系統(tǒng)應(yīng)簡化解碼器的任務(wù),以使相對簡單的計算機系統(tǒng)能對數(shù)字視頻進行解碼。
在大量不同的視頻編碼系統(tǒng)中潛在地需要可變圖像間顯示時間,以計算差分運動向量,直接模式運動向量,和/或隱含B預(yù)測塊加權(quán)(Implicit B Prediction Block Weighting)。
視頻序列中可變圖像間顯示時間的問題是與時間基準(zhǔn)的使用相交織。理想的是,視頻CODEC中輸出的圖像中的正確像素值的推導(dǎo)應(yīng)獨立于該圖像被解碼或顯示的時間。因此,定時問題和時間參考應(yīng)在CODEC層之外被解決。
同時存在著與編碼有關(guān)的和與系統(tǒng)有關(guān)的原因,作為所希望的時間獨立的基礎(chǔ)。在視頻CODEC中,使用時間參考有兩個目的(1)建立參考圖像選擇的一個排序;和(2)在圖像間插入運動向量。
為建立參考圖像選擇的一個排序,可以簡單地發(fā)送一個相對位置值。例如,解碼順序中的幀位置N與顯示順序中的幀位置M之間的差別,即N-M。在這樣的實施例中,將不需要時間標(biāo)記或其它時間參考。為了插入運動向量,如果瞬時距離與內(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)的同步。利用時間標(biāo)記可獲得這樣的定時調(diào)節(jié)。例如,時間標(biāo)記可用于同步,時間標(biāo)記通過“發(fā)送器報告”與發(fā)射器相連,并在每個數(shù)據(jù)流的RTP層中以RTP來提供。這些發(fā)送器報告可采取下列形式視頻RTP時間標(biāo)記X與參考時間標(biāo)記Y校準(zhǔn)音頻RTP時間標(biāo)記W與參考時間標(biāo)記Z校準(zhǔn)其中已知參考時間標(biāo)記的壁鐘速率,允許兩個數(shù)據(jù)流同步。但是,這些時間標(biāo)記參考可以為兩個數(shù)據(jù)流周期性地到達,又可以單獨地到達,這些參考可以引起兩個數(shù)據(jù)流的一些所需要的重新校準(zhǔn)。這一般是通過調(diào)節(jié)視頻流來獲得,以匹配音頻,反過來也如此。時間標(biāo)記的系統(tǒng)處理應(yīng)該不影響被顯示的像素值。更一般地,瞬時信息的系統(tǒng)處理應(yīng)在CODEC之外被執(zhí)行。
一個特殊示例如上段中所述,在非一致的圖像間時間的情況下的問題是以有效的方式傳送圖像間顯示時間值Di,j到數(shù)字視頻接收器。完成這一目標(biāo)的一種方法是使系統(tǒng)傳送第一圖像之后每個圖像的當(dāng)前圖像與最近傳輸?shù)拇鎯D像之間的顯示時間差。為了錯誤恢復(fù)能力,傳輸可以在圖像內(nèi)重復(fù)幾次。例如,顯示時間差可以在MPEG或H.264標(biāo)準(zhǔn)的片段頭(slice header)中重復(fù)。如果全部的片段頭丟失,則解碼信息依靠丟失圖像的其它圖像可能也不能被解碼。
因而,參考上段中的示例,系統(tǒng)將傳送下列圖像間顯示時間值D5,1D2,5D3,5D4,5D10,5D6,10D7,10D8,10D9,10D12,10D11,12D14,12D13,14…為了進行運動向量估算,圖像間顯示時間Di,j的準(zhǔn)確度要求可能隨不同的圖像而變化。例如,如果只有單個的B-幀圖像B6在兩個P-幀圖像P5與P7之間的一半,則它只足夠發(fā)送D7,5=2和D6,7=-1其中圖像間顯示時間值Di,j是相對時間值。
替換地,如果視頻圖像B6只在視頻圖像P5與視頻圖像P7之間距離的四分之一,則發(fā)送的適當(dāng)?shù)膱D像間顯示時間值Di,j將是D7,5=4和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的冪的情況。在這種情況下,視頻圖像P1與視頻圖像P3之間的D3,1顯示時間值2是作為1(由于21=2)被傳輸,視頻圖像P7與視頻圖像P3之間的D7,3顯示時間值4是作為2(由于22=4)被傳輸。
可替代地,外插操作的運動向量內(nèi)插可以近似于任何所希望的準(zhǔn)確度,這是以分母是2的冪的方法來縮放比例。(利用分母中2的冪,通過簡單地在被除的值中移位,來執(zhí)行除法。)例如,D5,4/D5,1~Z5,4/P其中值P是2的冪,Z5,4=P*D5,4/D5,1被四舍五入或舍位成為最接近的整數(shù)。P的值可被周期性地傳輸,或設(shè)定為系統(tǒng)的常數(shù)。在一個實施例中,P的值可設(shè)定為P=28=256。
該方法的優(yōu)點的是,解碼器對每個圖像只需要計算Z5,4一次,或在許多情況下,解碼器可以預(yù)先計算,和存儲Z值。這允許解碼器避免不得不為圖像中的每個運動向量而被D5,1除,這樣,可以更有效率地進行運動向量內(nèi)插。例如,正常的運動向量計算將是MV5,4=MV5,1*D5,4/D5,1但如果我們計算和存儲Z5,4,其中Z5,4=P*D5,4/D5,1,則MV5,4=MV5,1*Z5,4/P但由于P值已被選擇是2的冪,被P除的除法只是簡單的位移。因而,一旦為視頻圖像計算出Z值,只需要單次的乘法和單次的移位,來計算以后像素塊的運動向量。而且,系統(tǒng)可通過執(zhí)行最后一次的所有除法來保持高的準(zhǔn)確度,這樣重要的位在計算過程中將不丟失。以這種方式,解碼器可以執(zhí)行與編碼器完全相同的運動向量內(nèi)插,因而避免了有可能產(chǎn)生的任何不匹配問題。
由于除法(除了2的冪的除法以外)對于數(shù)字計算機系統(tǒng)來說,比加法或乘法是一個更加密集的計算任務(wù),該方法可極大地降低利用運動向量內(nèi)插或外插的圖像重建所需要的計算量。
在一些情況下,可以不使用運動向量內(nèi)插。但是,仍有必需傳輸視頻圖像的顯示順序給接收器/播放器系統(tǒng),以使接收器/播放器系統(tǒng)將以正確的順序顯示視頻圖像。在這種情況下,Di,j的簡單帶符號的整數(shù)值滿足需要,而不管實際的顯示時間如何。在一些應(yīng)用中,只有符號(正或負)可被需要來重建圖像順序。
圖像間時間Di,j可以如簡單帶符號的整數(shù)值被傳輸。但是,可應(yīng)用許多方法來對Di,j值編碼,以獲得額外的壓縮。例如,后面是可變長度編碼數(shù)值的一個符號位是相對容易地來執(zhí)行和提高編碼效率。
可以使用的一個這樣的可變長度編碼系統(tǒng)被稱為UVLC(通用可變長度編碼)。UVLC可變長度編碼系統(tǒng)是由編碼字來給定1=12=0103=0114=001005=001016=001107=001118=0001000…對圖像間時間編碼的另一種方法可以是使用算術(shù)編碼。典型地,算術(shù)編碼利用了條件概率,來實現(xiàn)數(shù)據(jù)位的非常高的壓縮。
因而,本發(fā)明介紹了一種簡單但功能強大的對圖像間顯示時間的編碼和傳輸方法,以及在運動向量估算中使用的那些圖像間顯示時間的解碼方法。通過利用可變長度編碼或算術(shù)編碼可以使圖像間顯示時間的編碼非常有效。而且,可以選擇一個希望的準(zhǔn)確度,以滿足視頻編解碼的需要,而不是太高的準(zhǔn)確度。
上面描述了一個系統(tǒng),說明了多媒體壓縮和編碼系統(tǒng)中的可變準(zhǔn)確性圖像間定時??梢韵胂蟮氖牵胀ǖ膶I(yè)人士在不背離本發(fā)明范圍的情況下可以對本發(fā)明的元件材料和配置做出改變和修改。
權(quán)利要求
1.一種在數(shù)字視頻系統(tǒng)中執(zhí)行運動估算的方法,所述方法包括通過把第一視頻圖像與第二視頻圖像之間的第一顯示時間差與2的冪相乘,確定第一被乘數(shù);通過所述第二視頻圖像與第三個視頻圖像之間的第二顯示時間差除所述被乘數(shù),確定一個成比例的比率;和存儲所述成比例的比率,用于計算運動向量估算。
2.如權(quán)利要求1所述的在數(shù)字視頻系統(tǒng)中執(zhí)行運動估算的方法,所述方法進一步包括通過把所述成比例的比率和與所述第一視頻圖像相關(guān)聯(lián)的運動向量相乘,確定成比例的運動向量。
3.如權(quán)利要求2所述的在數(shù)字視頻系統(tǒng)中執(zhí)行運動估算的方法,所述方法進一步包括由所述2的冪除所述成比例的運動向量。
4.如權(quán)利要求3所述的在數(shù)字視頻系統(tǒng)中執(zhí)行運動估算的方法,其中所述除是通過對所述成比例的運動向量移位來執(zhí)行。
5.如權(quán)利要求1所述的在數(shù)字視頻系統(tǒng)中執(zhí)行運動估算的方法,其中所述2的冪包括200和56。
6.如權(quán)利要求1所述的在數(shù)字視頻系統(tǒng)中執(zhí)行運動估算的方法,其中所述2的冪通過通信信道周期性地被傳輸。
7.如權(quán)利要求1所述的在數(shù)字視頻系統(tǒng)中執(zhí)行運動估算的方法,其中所述通過除確定所述成比例的比率對每個視頻圖像只進行一次。
8.如權(quán)利要求1所述的在數(shù)字視頻系統(tǒng)中執(zhí)行運動估算的方法,其中所述成比例的比率被舍位。
9.如權(quán)利要求1所述的在數(shù)字視頻系統(tǒng)中執(zhí)行運動估算的方法,其中所述成比例的比率被四舍五入到一個最近似的整數(shù)。
10.如權(quán)利要求1所述的在數(shù)字視頻系統(tǒng)中執(zhí)行運動估算的方法,其中所述2的冪包括一個常數(shù)。
11.一種計算機可讀介質(zhì),所述計算機可讀介質(zhì)包括用來執(zhí)行運動估算的一組計算機指令,所述的一組計算機指令組實現(xiàn)一組步驟,包括通過把第一視頻圖像與第二視頻圖像之間的第一顯示時間差與2的冪相乘,確定第一被乘數(shù);通過所述第二視頻圖像與第三個視頻圖像之間的第二顯示時間差除所述被乘數(shù),確定一個成比例的比率;和存儲所述成比例的比率,用于計算運動向量估算。
12.如權(quán)利要求11所述的計算機可讀介質(zhì),其中所述計算機指令進一步執(zhí)行下列步驟通過把所述成比例的比率和與所述第一視頻圖像相關(guān)聯(lián)的運動向量相乘,確定成比例的運動向量。
13.如權(quán)利要求12所述的計算機可讀介質(zhì),其中所述計算機指令進一步執(zhí)行下列步驟由所述2的冪除所述成比例的運動向量。
14.如權(quán)利要求13所述的計算機可讀介質(zhì),其中所述除是通過對所述成比例的運動向量移位來執(zhí)行。
15.如權(quán)利要求11所述的計算機可讀介質(zhì),其中所述2的冪包括200和56。
16.如權(quán)利要求11所述的計算機可讀介質(zhì),其中所述2的冪通過通信信道周期性地被傳輸。
17.如權(quán)利要求11所述的計算機可讀介質(zhì),其中所述通過除確定所述成比例的比率對每個視頻圖像只進行一次。
18.如權(quán)利要求11所述的計算機可讀介質(zhì),其中所述成比例的比率被舍位。
19.如權(quán)利要求11所述的計算機可讀介質(zhì),其中所述成比例的比率被四舍五入到一個最近似的整數(shù)。
20.如權(quán)利要求11所述的計算機可讀介質(zhì),其中所述2的冪包括一個常數(shù)。
全文摘要
本發(fā)明公開了在數(shù)字視頻系統(tǒng)中執(zhí)行運動估算的一種方法和裝置(圖1)。特別是,本發(fā)明公開了一個系統(tǒng),它以十分有效的方式迅速計算估計的運動矢量(圖1,160項)。在一個實施例中,通過第一視頻圖像與第二視頻圖像之間的第一顯示時間差乘以兩個標(biāo)度值的冪來確定第一被乘數(shù)(圖1,150項,160項)。該步驟成比例放大了一個比率的分子(圖1,120項)。下面,通過以所述第二視頻圖像與第三視頻圖像之間的第二顯示時間差除該放大的分子,系統(tǒng)確定一個成比例的比率。該成比例的比率然后被存儲,用于計算運動矢量估算。通過存儲該成比例的比率,以良好精確性迅速地計算出所有估算的運動矢量,這是因為成比例的比率保存了重要的位數(shù),通過簡單移位進行比例的降低(圖1,180項)。
文檔編號G06T9/00GK1714572SQ03825565
公開日2005年12月28日 申請日期2003年8月7日 優(yōu)先權(quán)日2002年12月6日
發(fā)明者B·G·哈斯克爾, D·W·辛格, A·杜米特拉什, A·帕里 申請人:蘋果電腦有限公司