專利名稱:改進(jìn)的視頻壓縮幀插值的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻壓縮,更特別地是涉及在MPEG類的編碼和解碼系統(tǒng)中改進(jìn)的視頻壓縮幀插值。
背景技術(shù):
MPEG視頻壓縮MPEG-2和MPEG-4是國際視頻壓縮標(biāo)準(zhǔn),它們定義的各自的視頻語法,提供了高效的方法來以更緊湊的編碼數(shù)據(jù)表示圖像序列。編碼比特的語言就是所謂的“語法”。例如, 幾個標(biāo)記可以表示整個樣本塊(例如對于MPEG-2是64個樣本)。兩種MPEG標(biāo)準(zhǔn)都描述了解碼(重構(gòu))過程,即把編碼的比特從緊湊的表示變換成圖像序列的原始格式的一個近似。 例如,在編碼比特流中的一個標(biāo)志可以表示在利用離散余弦變換(DCT)算法對隨后的比特解碼之前,是否使用預(yù)測算法先處理這些比特。包括解碼過程的算法由這些MPEG標(biāo)準(zhǔn)所定義的語義來規(guī)定。這個語法可以被用于開發(fā)普通的視頻特征,例如空間冗余、時間冗余、勻速運(yùn)動、空間屏蔽等等。MPEG解碼器必須能夠解析和解碼輸入的數(shù)據(jù)流,但是只要數(shù)據(jù)流符合相應(yīng)的MPEG語法,就可以使用各種各樣的可能的數(shù)據(jù)結(jié)構(gòu)和壓縮技術(shù)(雖然在技術(shù)上這背離了標(biāo)準(zhǔn),因?yàn)檎Z義不一致)。在某種替換語法內(nèi)攜帶所需的語義也是可能的。這些MPEG標(biāo)準(zhǔn)使用各種壓縮方法,包括幀內(nèi)方法和幀間方法。在大多數(shù)視頻場景中,背景保持相對穩(wěn)定而動作在前景中發(fā)生。背景可能移動,但是通常許多場景是冗余的。 這些MPEG標(biāo)準(zhǔn)通過創(chuàng)建稱為“內(nèi)”幀或“I幀”的參考幀開始壓縮。在不參考其他幀的情況下來壓縮I幀,因此I幀包含了視頻信息的一個完整的幀。I幀提供用于隨機(jī)訪問的數(shù)據(jù)比特流的入口點(diǎn),但只能被適度地壓縮。典型地,表示I幀的數(shù)據(jù)在比特流中每隔12到15 幀放置(雖然在某些情況下在I幀之間使用更寬的間隔也是有用的)。據(jù)此,由于落入?yún)⒖糏幀之間的幀中只有一小部分不同于包圍的(bracketing)〗幀,所以只有圖像差別被捕獲、壓縮和存儲。兩種類型的幀被用于這種差別——預(yù)測幀(P幀)和雙向預(yù)測的(或插值的)幀(B幀)。P幀一般根據(jù)過去的幀(I幀或者前面P幀)來編碼,而且通常被用作后續(xù)P幀的參考。P幀受到相當(dāng)大的壓縮量。B幀提供最高的壓縮量,但是為了被編碼既需要過去的參考幀也需要未來的參考幀。P幀和I幀是“可參考幀”,因?yàn)樗鼈兛梢员籔幀或B幀參考。宏塊(macroblock)是圖像像素區(qū)域。對于MPEG-2,宏塊是4個8x8DCT塊的16x16 像素組,對于P幀加上一個運(yùn)動向量,對于B幀加上一個或兩個運(yùn)動向量。可以使用幀內(nèi)或幀間(預(yù)測的)編碼對P幀內(nèi)的宏塊單獨(dú)編碼。可以使用幀內(nèi)編碼、前向預(yù)測編碼、后向預(yù)測編碼或同時使用前向和后向(即雙向插值)預(yù)測編碼對B幀內(nèi)的宏塊單獨(dú)編碼。在 MPEG-4視頻編碼中所用的結(jié)構(gòu)與此稍有不同,但是是類似的。在編碼之后,MPEG數(shù)據(jù)比特流包括I幀、P幀和B幀的序列。序列可以由I幀、P 幀和B幀的幾乎任何模式組成(關(guān)于它們的位置有幾個次要的語義限制)。但是,在業(yè)界實(shí)踐中常見的是具有固定的幀模式(例如,IBBPBBPBBPBBPBB)。運(yùn)動向量預(yù)測在MPEG-2和MPEG-4中(以及類似的標(biāo)準(zhǔn),例如H.沈3),B型(雙向預(yù)測的)幀的使用被證明是有益于壓縮效率的。這種幀的每個宏塊的運(yùn)動向量可以由以下三種方法中的任何一種來預(yù)測模式1 根據(jù)前面的I幀或P幀進(jìn)行的前向預(yù)測(即非雙向預(yù)測的幀)。模式2 根據(jù)后續(xù)的I幀或P幀進(jìn)行的后向預(yù)測。模式3 根據(jù)后續(xù)和前面的I幀或P幀進(jìn)行的雙向預(yù)測。模式1和用于P幀的前向預(yù)測方法相同。模式2除了向后根據(jù)后續(xù)幀來工作外, 是相同的概念。模式3是插值模式,其結(jié)合了來自前面的和后續(xù)的幀的信息。除了這三種模式,MPEG-4還支持用于B幀的另一種插值運(yùn)動向量預(yù)測模式直接模式預(yù)測,其使用來自后續(xù)P幀的運(yùn)動向量,加上一個增量(S)值(如果來自共處的P宏塊的運(yùn)動向量被分成8x8的模式——對于16x16宏塊產(chǎn)生4個運(yùn)動向量——那么該增量被應(yīng)用于B幀中的所有4個獨(dú)立的運(yùn)動向量)。后續(xù)P幀的運(yùn)動向量指向前面P幀或I幀。 一個比例被用于對后續(xù)P幀的運(yùn)動向量進(jìn)行加權(quán)。該比例是當(dāng)前的B幀相對于后續(xù)的P幀和前面的P(或I)幀的相對時間位置。圖1是根據(jù)現(xiàn)有技術(shù)的幀的時間線和MPEG-4直接模式運(yùn)動向量。MPEG-4直接模式(模式4)的概念是指在每個居間的B幀中的宏塊的運(yùn)動可能接近被用于編碼在隨后P 幀中的相同位置的運(yùn)動。增量被用于對從后續(xù)P幀的相應(yīng)運(yùn)動向量(MV)103導(dǎo)出的比例運(yùn)動向量進(jìn)行小的校正。圖1顯示的是給予每個中間B幀104a、104b的運(yùn)動向量101和102 的比例加權(quán),其作為前面P幀或I幀105和下一個P幀106之間的“時間距離”的函數(shù)。分配給相應(yīng)的中間B幀104a、104b的運(yùn)動向量101和102等于分配的權(quán)重值(分別是1/3和 2/3)乘以下一個P幀的運(yùn)動向量103,加上增量值。關(guān)于MPEG-2,B幀的所有預(yù)測模式在編碼中被測試,并且被比較以找到每個宏塊的最佳預(yù)測。如果沒有好的預(yù)測,那么宏塊被單獨(dú)編碼成“I”(“內(nèi)部”)宏塊。編碼模式被選為前向(模式1)、后向(模式幻和雙向(模式;3)編碼中的最佳模式,或者選為內(nèi)部編碼。關(guān)于MPEG-4,不允許選擇內(nèi)部編碼。相反,直接模式成為第四種選擇。同樣,基于某種最佳匹配準(zhǔn)則選擇最優(yōu)的編碼模式。在基于MPEG-2和MPEG-4的軟件編碼器中,使用DC匹配(絕對差值的和,或“SAD”)來確定最佳匹配。在編碼的數(shù)據(jù)比特流中連續(xù)B幀的數(shù)量是由MPEG中的參數(shù)值“M”確定的。M減 1是每個P幀和下一個P幀(或I幀)之間的B幀的數(shù)量。因此,如果M = 3,則每個P幀 (或I幀)之間就有2個B幀,如圖1所示。在M值的限定方面(因而也限定了連續(xù)B幀的數(shù)量),主要的限制在于P幀(或I幀)之間的運(yùn)動變化量變大。更多的B幀意味著P幀 (或I幀)之間的時間更長。因此,運(yùn)動向量的效率和編碼范圍限制構(gòu)成了中間B幀數(shù)量的極限。還很重要的是要注意到P幀攜帶“變化能量”和移動的圖像流一起前進(jìn),因?yàn)槊總€解碼P幀被用作預(yù)測下一個后續(xù)P幀的起始點(diǎn)。但是,B幀在使用之后被丟棄。因此,任何用于創(chuàng)建B幀的比特僅被用于那個幀,而且與P幀不同,它們不提供幫助后續(xù)幀解碼的校正。
發(fā)明內(nèi)容
本發(fā)明涉及一種用于在視頻圖像壓縮系統(tǒng)中提高一個或多個預(yù)測幀圖像質(zhì)量的方法、系統(tǒng)和計(jì)算機(jī)程序,其中每個幀包括多個像素。一個方面,本發(fā)明包括確定雙向預(yù)測幀的每個像素的值作為一個將一雙向預(yù)測幀序列包圍起來的非雙向預(yù)測幀中的對應(yīng)像素值的加權(quán)比例。在一個實(shí)施例中,該加權(quán)比例是進(jìn)行包圍的非雙向預(yù)測幀之間的距離的函數(shù)。在另一個實(shí)施例中,加權(quán)比例是進(jìn)行包圍的非雙向預(yù)測幀之間的距離和進(jìn)行包圍的非雙向預(yù)測幀的等平均值的混合函數(shù)。本發(fā)明的另一個方面,像素值的插值表示表示在線性空間中,或者在其他不同于原始非線性表示的優(yōu)化的非線性空間中。本發(fā)明的其他方面包括系統(tǒng)、計(jì)算機(jī)程序和方法,其包含 具有包括圖像區(qū)域的可參考幀序列的視頻圖像壓縮系統(tǒng),其中至少一個預(yù)測幀的至少一個圖像區(qū)域參考兩個或多個可參考幀被編碼。 具有包括圖像區(qū)域的可參考幀序列的視頻圖像壓縮系統(tǒng),其中至少一個預(yù)測幀的至少一個圖像區(qū)域以顯示順序參考一個或多個可參考幀被編碼,其中至少一個這樣的可參考幀不是在顯示順序中最靠近至少一個預(yù)測幀的前面的可參考幀。 具有包括宏塊的可參考幀序列的視頻圖像壓縮系統(tǒng),其中在至少一個預(yù)測幀內(nèi)的至少一個宏塊通過來自兩個或多個可參考幀的插值而被編碼。 具有包括圖像區(qū)域的可參考幀和雙向預(yù)測幀序列的視頻圖像壓縮系統(tǒng),其中至少一個雙向預(yù)測幀的至少一個圖像區(qū)域被編碼以包括至少兩個以上的運(yùn)動向量,每個這樣的運(yùn)動向量參考在至少一個可參考幀中的對應(yīng)的圖像區(qū)域。 具有包括圖像區(qū)域的可參考幀序列的視頻圖像壓縮系統(tǒng),其中至少一個預(yù)測幀的至少一個圖像區(qū)域被編碼以包括至少兩個運(yùn)動向量,每個這樣的運(yùn)動向量參考在可參考幀中的對應(yīng)的圖像區(qū)域,其中這樣的至少一個預(yù)測幀的每個這樣的圖像區(qū)域通過來自兩個或多個可參考幀的插值而被編碼。 具有包括圖像區(qū)域的可參考幀和雙向預(yù)測幀序列的視頻圖像壓縮系統(tǒng),其中至少一個雙向預(yù)測幀的至少一個圖像區(qū)域被編碼作為來自兩個或多個可參考幀的選定圖像區(qū)域的不相等加權(quán)。 具有包括圖像區(qū)域的可參考幀和雙向預(yù)測幀序列的視頻圖像壓縮系統(tǒng),其中至少一個雙向預(yù)測幀的至少一個圖像區(qū)域通過來自兩個或多個可參考幀的插值而被編碼,其中兩個或多個可參考幀中的至少一個在顯示順序中被至少一個居間的可參考幀與雙向預(yù)測幀隔開,且其中這樣的至少一個圖像區(qū)域被編碼作為這樣的至少兩個或多個可參考幀的選定圖像區(qū)域的不相等加權(quán)。 具有包括圖像區(qū)域的可參考幀和雙向預(yù)測幀序列的視頻圖像壓縮系統(tǒng),其中至少一個雙向預(yù)測幀的至少一個圖像區(qū)域通過來自兩個或多個可參考幀的插值而被編碼,其中兩個或多個可參考幀中的至少一個在顯示順序中被至少一個居間的后續(xù)可參考幀與雙向預(yù)測幀隔開。 具有包括圖像區(qū)域的可參考幀和雙向預(yù)測幀序列的視頻圖像壓縮系統(tǒng),其中至少一個雙向預(yù)測幀的至少一個圖像區(qū)域被編碼作為來自兩個或多個可參考幀的選定圖像區(qū)域的不相等加權(quán)。 具有預(yù)測幀和雙向預(yù)測幀序列的視頻圖像壓縮系統(tǒng),每個幀包括排列在宏塊中的像素值,其中雙向預(yù)測幀中的至少一個宏塊是使用基于來自兩個或多個預(yù)測幀的運(yùn)動向量的直接模式預(yù)測確定的。 具有可參考幀和雙向預(yù)測幀序列的視頻圖像壓縮系統(tǒng),每個幀包括排列在宏塊中的像素值,其中雙向預(yù)測幀中的至少一個宏塊是使用基于來自顯示順序中的一個或多個預(yù)測幀的運(yùn)動向量的直接模式預(yù)測確定的,其中這樣的一個或多個預(yù)測幀中的至少一個在顯示順序中是在雙向預(yù)測幀前面。 具有可參考幀和雙向預(yù)測幀序列的視頻圖像壓縮系統(tǒng),每個幀包括排列在宏塊中的像素值,其中雙向預(yù)測幀中的至少一個宏塊是使用基于來自一個或多個預(yù)測幀的運(yùn)動向量的直接模式預(yù)測確定的,其中這樣的一個或多個預(yù)測幀的至少一個在顯示順序中是在雙向預(yù)測幀之后而且被至少一個居間的可參考幀與雙向預(yù)測幀隔開。 具有幀序列的視頻圖像壓縮系統(tǒng),每個幀包括具有DC值的多個圖像區(qū)域,每個這樣的圖像區(qū)域包括的每個像素具有AC像素值,其中至少一個幀的至少一個圖像區(qū)域的 DC值和AC像素值中的至少一個被確定為來自至少一個其他幀的對應(yīng)的各自的DC值和AC 像素值的加權(quán)插值。 具有可參考幀序列的視頻圖像壓縮系統(tǒng),每個幀包括具有DC值的多個圖像區(qū)域,每個這樣的圖像區(qū)域包括的每個像素具有AC像素值,其中至少一個預(yù)測幀的至少一個圖像區(qū)域的DC值和AC像素值中的至少一個是從兩個或多個可參考幀的對應(yīng)的各自的DC 值和AC像素值插值得到的。 改進(jìn)視頻圖像壓縮系統(tǒng)中的兩個或多個雙向預(yù)測中間幀的序列的圖像質(zhì)量,每個幀包括具有DC值的多個圖像區(qū)域,每個這樣的圖像區(qū)域包括的每個像素具有AC像素值, 包括下列中的至少一個確定雙向預(yù)測中間幀的每個圖像區(qū)域的AC像素值為包圍雙向預(yù)測中間幀序列的可參考幀中的對應(yīng)AC像素值的第一加權(quán)比例;和確定這種雙向預(yù)測中間幀的每個圖像區(qū)域的DC值為包圍雙向預(yù)測中間幀序列的可參考幀中的對應(yīng)DC值的第二加權(quán)比例。具有幀序列的視頻圖像壓縮系統(tǒng),所述幀包括具有初始表示的多個像素,其中至少一個幀的像素是從至少兩個其他幀的對應(yīng)像素插值得到的,其中該至少兩個其他幀的這種對應(yīng)的像素在變換到不同的表示時被插值,并導(dǎo)致插值的像素變換回初始的表示。 在具有可參考幀和雙向預(yù)測幀序列的視頻圖像壓縮系統(tǒng)中,動態(tài)地確定具有可變數(shù)量的雙向預(yù)測幀的這種幀的編碼模式,包括選擇一個初始序列,其始于可參考幀,具有至少一個緊跟的后續(xù)雙向預(yù)測幀,并以可參考幀結(jié)束;把可參考幀加到該初始序列的結(jié)尾以創(chuàng)建一個測試序列;對照選定的評估標(biāo)準(zhǔn)評估該測試序列;對于評估該測試序列的每個滿足步驟,在加入的可參考幀前面插入雙向幀并且重復(fù)評估步驟;且如果評估該測試序列不滿足,那么接受前面的測試序列作為當(dāng)前的編碼模式。
具有可參考幀序列的視頻圖像壓縮系統(tǒng),可參考幀被至少一個雙向預(yù)測幀隔開,其中這種雙向預(yù)測幀的數(shù)量在這種序列中是變化的,且其中至少一個這種雙向預(yù)測幀的至少一個圖像區(qū)域是使用對應(yīng)于至少兩個可參考幀的像素值的不相等加權(quán)確定的。 具有幀序列的視頻圖像壓縮系統(tǒng),所述幀由編碼器編碼且由解碼器解碼,其中至少一個幀的至少一個圖像區(qū)域是基于兩個或多個其他幀的加權(quán)插值,這種加權(quán)插值基于編碼器和解碼器可用的至少一組權(quán)值,其中對選定的這種至少一組權(quán)值之一的指定從編碼器傳送到解碼器以選擇一個或多個當(dāng)前有效的權(quán)值。 具有幀序列的視頻圖像壓縮系統(tǒng),所述幀由編碼器編碼且由解碼器解碼,其中至少一個幀的至少一個圖像區(qū)域是基于兩個或多個其他幀的加權(quán)插值,這種加權(quán)插值基于至少一組權(quán)值,其中至少一組權(quán)值被下載到解碼器,且此后對選定的這種至少一組權(quán)值之一的指定從編碼器傳送到解碼器以選擇一個或多個當(dāng)前有效的權(quán)值。 具有可參考幀序列的視頻圖像壓縮系統(tǒng),可參考幀由編碼器編碼且由解碼器解碼,其中在可參考幀序列中的預(yù)測幀從編碼器傳送到解碼器,其傳送順序不同于這種預(yù)測幀在解碼之后的顯示順序。 具有可參考幀序列的視頻圖像壓縮系統(tǒng),可參考幀包括排列在圖像區(qū)域中的像素,其中至少一個預(yù)測幀的至少一個圖像區(qū)域是參考兩個或多個可參考幀被編碼的,其中每個這樣的圖像區(qū)域是使用對應(yīng)于這樣的兩個或多個可參考幀的像素值的不相等加權(quán)確定的。 具有預(yù)測幀、雙向預(yù)測幀和內(nèi)部幀序列的視頻圖像壓縮系統(tǒng),每個幀包括圖像區(qū)域,其中從銳化和柔化濾波器組中選擇的至少一個濾波器在預(yù)測幀或雙向預(yù)測幀的運(yùn)動向量補(bǔ)償預(yù)測的過程中被用于這種預(yù)測幀或雙向預(yù)測幀的至少一個圖像區(qū)域。附圖和下面的描述闡明了本發(fā)明的一個或多個實(shí)施例的細(xì)節(jié)。根據(jù)說明書、附圖和權(quán)利要求,本發(fā)明的其他特征、目標(biāo)和優(yōu)點(diǎn)是明顯的。
圖1是根據(jù)現(xiàn)有技術(shù)的幀的時間線和MPEG-4直接模式運(yùn)動向量。圖2是根據(jù)本發(fā)明的這個方面的幀的時間線和比例像素加權(quán)值。圖3是根據(jù)本發(fā)明的這個方面的幀的時間線和混合的、比例的和相等的像素加權(quán)值。圖4是一個流程圖,顯示了作為可以被計(jì)算機(jī)實(shí)現(xiàn)的方法的本發(fā)明的一個說明性實(shí)施例。圖5顯示當(dāng)前P幀參考前兩個P幀和一個前面I幀的多個先前參考的例子的圖。圖6A是典型的現(xiàn)有技術(shù)MPEG-2編碼模式圖,顯示了進(jìn)行包圍的I幀和/或P幀之間的恒定數(shù)量的B幀。圖6B是理論上可能的現(xiàn)有技術(shù)MPEG-4視頻編碼模式圖,顯示了進(jìn)行包圍的I幀和/或P幀之間的變化數(shù)量的B幀,以及I幀之間的變化的距離。圖7是一個編碼模式圖。圖8是一個流程圖,顯示了插值方法的一個實(shí)施例,DC插值不同于AC插值。圖9是一個流程圖,顯示了使用替換表示的亮度像素的插值方法的一個實(shí)施例。
圖10是一個流程圖,顯示了使用替換表示的色度像素的插值方法的一個實(shí)施例。圖11是顯示兩個P幀中的每個幀的獨(dú)特運(yùn)動向量區(qū)域尺寸的圖。圖12是顯示P幀和B幀序列的圖,帶有B幀的插值權(quán)重,其被確定為與一個2遠(yuǎn)離(2-away)后續(xù)P幀的距離的函數(shù),該P(yáng)幀參考一個1遠(yuǎn)離(I-away)后續(xù)P幀。圖13是顯示P幀和B幀序列的圖,帶有B幀的插值權(quán)重,其被確定為與一個1遠(yuǎn)離后續(xù)P幀的距離的函數(shù),該P(yáng)幀參考一個1遠(yuǎn)離前面P幀。圖14是顯示P幀和B幀序列的圖,其中后續(xù)P幀具有參考前面P幀的多個運(yùn)動向量。圖15是顯示P幀和B幀序列的圖,其中最近的后續(xù)P幀具有一個參考前面的一個 P幀的運(yùn)動向量,且下一個最近的后續(xù)P幀具有多個參考前面P幀的運(yùn)動向量。圖16是顯示P幀和B幀序列的圖,其中最近的前面P幀具有一個參考前面的一個 P幀的運(yùn)動向量。圖17是顯示P幀和B幀序列的圖,其中最近的前面P幀具有兩個參考前面P幀的
運(yùn)動向量。圖18是顯示P幀和B幀序列的圖,其中最近的前面P幀具有一個參考前面P幀的
運(yùn)動向量。圖19是顯示三個P幀P1、P2、P3的幀序列,其中P3使用有兩個運(yùn)動向量的插值參考,Pl和P2各一個運(yùn)動向量。圖20顯示四個P幀PI、P2、P3和P4的幀序列,其中P4使用有三個運(yùn)動向量的插值參考,PI、P2和P3各一個運(yùn)動向量。圖21是顯示P幀和B幀序列的圖,其中不同的P幀具有參考前面不同的P幀的一個或多個的運(yùn)動向量,并顯示分配給特定B幀的各個前向和后向參考的不同權(quán)重。圖22是顯示P幀和B幀序列的圖,其中P幀的比特流順序不同于顯示順序。圖23是顯示具有分配的權(quán)重的P幀和B幀序列的圖。圖M是在幀內(nèi)的物體的位置時間圖。在不同附圖中的相同參考符號表示相同的元素。
具體實(shí)施例方式概述本發(fā)明的一個方面是基于這樣的認(rèn)識常見的做法是使用M值為3,其在每個 P(或I)幀之間提供了兩個B幀。但是M = 2和M = 4或更高都是有用的。特別重要的是要注意到M的值(B幀的數(shù)量加1)也具有和幀速率的自然關(guān)系。在每秒對幀(fps),即電影的播放率,幀之間1Λ4秒的時間距離可以導(dǎo)致幀到幀的實(shí)質(zhì)圖像變化。但是在60fps、 72fps或更高的幀速率,相鄰幀之間的時間距離相應(yīng)地減少。結(jié)果是隨著幀速率的增加,越大的B幀數(shù)量(即M值越大)在壓縮效率中變得有用和有益。本發(fā)明的另一個方面是基于這樣的認(rèn)識MPEG_2和MPEG-4視頻壓縮都利用過于簡單的插值方法。例如,對于模式3,幀的每個宏塊的雙向預(yù)測是后續(xù)和前面的幀宏塊的等平均,其被兩個對應(yīng)的運(yùn)動向量取代。這個等平均適合M = 2 (即單個的中間B幀),因?yàn)樵揃幀到前面P (或I)幀和后續(xù)P (或I)幀的時間相等。但是,對于更大的M值,使用等加權(quán)只能對中央對稱的B幀(即如果M = 4,6,8等等的中間幀)進(jìn)行最佳預(yù)測。類似地,在 MPEG-4直接模式4,即使運(yùn)動向量是比例加權(quán)的,每個中間B幀的預(yù)測像素值是前面P (或 I)幀和后續(xù)P幀的對應(yīng)像素的等比例。因此,對于M > 2,把合適的比例權(quán)重應(yīng)用于每個B幀的預(yù)測像素值是一個進(jìn)步。 當(dāng)前B幀的每個像素的比例權(quán)重對應(yīng)于當(dāng)前B幀相對于前面和后續(xù)P (或I)幀的相對位置。 因此,如果M = 3,第一個B幀就使用前面幀的對應(yīng)像素值(調(diào)整的運(yùn)動向量)的2/3,和后續(xù)幀的對應(yīng)像素值(調(diào)整的運(yùn)動向量)的1/3。圖2是根據(jù)本發(fā)明的這個方面的幀的時間線和比例像素加權(quán)值。每個中間B幀 20la、20Ib的每個宏塊內(nèi)的像素值被加權(quán)成前面的P或I幀A和下一個P或I幀B之間的 “距離”的函數(shù),離P或I幀越近,加權(quán)值越大。也就是,雙向預(yù)測B幀的每個像素值是進(jìn)行包圍的非雙向預(yù)測幀A和B的對應(yīng)像素值的加權(quán)組合。在這個例子中,對于M = 3,第一個 B幀201a的加權(quán)等于2/3A+1/3B,第二個B幀201b的加權(quán)等于1/3A+2/3B。還顯示的是, 在常規(guī)的MPEG系統(tǒng)下被分配的等平均加權(quán);每個B幀201a、201b的的MPEG_1、2和MPEG-4 加權(quán)等于(A+B)/2。擴(kuò)展動態(tài)范圍和對比范圍的應(yīng)用 如果M大于2,中間B幀中的像素值的比例加權(quán)將在許多情況下將會改進(jìn)雙向(模式3)和直接(MPEG-4模式4的有效性)編碼。示例包括常見的電影和視頻編輯效果,例如漸弱和交叉漸隱。這些類型的視頻效果是MPEG-2和MPEG-4的有問題的編碼示例,這是由于使用簡單DC匹配算法,且通常使用的M = 3 (即兩個中間B幀),導(dǎo)致B幀的相等比例。 這些情況下的編碼通過根據(jù)本發(fā)明使用比例B幀插值得以改進(jìn)。比例B幀插值對于擴(kuò)展動態(tài)和對比范圍的編碼效率的提高也有直接的應(yīng)用。在圖像編碼中的常見事件是亮度的變化,這在當(dāng)物體逐漸移進(jìn)(或移出)陰影(軟陰影邊界)時發(fā)生。如果對數(shù)的編碼表示被用于亮度(例如,由對數(shù)亮度Y具體表示的亮度),那么采光亮度變化將是DC偏移量變化。如果采光亮度減半,那么像素值將減少相等的量。因此,為了編碼這個變化,應(yīng)該發(fā)現(xiàn)一個AC匹配,且編碼的DC差值應(yīng)該應(yīng)用于該區(qū)域。這種被編碼進(jìn)P幀的DC差值也應(yīng)該在每個居間的B幀中成比例地應(yīng)用(參見共同待決的美國專利申請 09/905039 號,標(biāo)題為“Method and System for Improving Compressed Image Chroma ^formation”,其被轉(zhuǎn)讓給本發(fā)明的受讓人,因而在在此通過引用將其并入,用于關(guān)于對數(shù)編碼表示的額外信息)。除了亮度中的變化,比例B幀插值也有益于對比度的變化。例如,隨著飛機(jī)移向觀眾,移出云或薄霧,其對比度逐漸增加。這個對比度增加將被表示成在對應(yīng)P幀編碼宏塊中的DCT的AC系數(shù)中的增加的幅度。同樣,在居間的B幀中的對比度變化將由比例插值最接近地近似,因此提高了編碼效率。隨著幀速率變大和隨著M值的增加,使用比例B幀插值提高動態(tài)范圍和對比度編碼效率變得日漸重要。把高M(jìn)值應(yīng)用于時間分層利用本發(fā)明的實(shí)施例允許增加M的值,從而增加了在進(jìn)行包圍的P幀和/或I幀之間的B幀的數(shù)量,同時保持或增加了編碼效率。這種用法有益于許多應(yīng)用,包括時間分層。例如,在題為“Temporal and Resolution Layering for Advanced Television,,的美國專利5988863號中(其被轉(zhuǎn)讓給本發(fā)明的受讓人,在此通過引用并入),注意到B幀是用于分層的時間(幀)速率的合適機(jī)制。這種速率的靈活性與可用的連續(xù)B幀的數(shù)量有關(guān)。 例如,單個B幀(M = 2)可以支持72fps的流內(nèi)的36fps解碼的時間層或60fps的流內(nèi)的 30fps解碼的時間層。三個B幀(M = 4)可以支持72fps流內(nèi)的36fps和18fps解碼的時間層,以及60fps流內(nèi)的30fps和15fps解碼的時間層。在120fps流內(nèi)使用M = 10可以支持12fps、Mfps和60fps解碼的時間層。M = 4也可以用于144fps流,以提供在72fps 和36fps解碼的時間層。作為對每個第N幀的改進(jìn),120fps或72fps的多個幀可以被解碼和按比例地混合, 如在共同待決的美國專利申請09/545233號中描述的,該專利標(biāo)題為“Enhancements to Temporal and Resolution Layering^其被轉(zhuǎn)讓給本發(fā)明的受讓人,在此通過引用并入), 以改進(jìn)Mfps結(jié)果的運(yùn)動模糊特征。即使更高的幀速率可以使用在共同待決的美國專利申請09/435277號中所描述的方法合成,該專禾丨J 申請題為"System and Method for Motion Compensaion and Frame Rate Conversion”(其被轉(zhuǎn)讓給本發(fā)明的受讓人,在此通過引用并入)。例如,通過運(yùn)動補(bǔ)償幀速率轉(zhuǎn)換可以利用72fps攝像底片(original)來創(chuàng)建288幀每秒的有效幀速率。使用M = 12,可以得到48fps和Mfps的幀速率以及其他有用的速率,例如144fps、96fps和 32fps(當(dāng)然,底片為72fps)。使用這種方法的幀速率轉(zhuǎn)換不需要是整倍數(shù)的。例如,120fps 的有效速率可以根據(jù)72fps的源創(chuàng)建,然后作為60fps和Mfps速率的源(使用M = 10)。因此,時間分層有益于優(yōu)化B幀插值的性能。上面所述的比例B幀插值使更多數(shù)量的連續(xù)B幀功能更高效,因此能夠?qū)崿F(xiàn)這些好處?;旌系腂幀插值比例在傳統(tǒng)的系統(tǒng)中使用等平均加權(quán)作為B幀像素值的運(yùn)動補(bǔ)償模式預(yù)測器的一個原因是特定B幀前面或者后面的P(或I)幀可能是有噪聲的,因此表示不理想的匹配。等混合在插值運(yùn)動補(bǔ)償塊中會優(yōu)化噪聲的減少。存在使用量化的DCT函數(shù)來編碼的差分殘差 (difference residual) 0當(dāng)然,來自運(yùn)動補(bǔ)償比例的匹配越好,所需的差分殘差比特越少, 最后所得到的圖像質(zhì)量越高。在有物體移近和移出陰影或者薄霧的情況下,M > 2時的真正的比例提供更好的預(yù)測。但是,當(dāng)光和對比度未發(fā)生變化時,等加權(quán)可被證明是更好的預(yù)測值,因?yàn)檠刂\(yùn)動向量向前移動宏塊的誤差將和來自后向位移塊的誤差平均,因此把每個誤差減半。即使如此,更可能的是,較近的P (或I)幀的B幀宏塊與較遠(yuǎn)的P (或I)幀相比與那個幀更相關(guān)。因此,在某些情況下,例如區(qū)域的對比度或者亮度改變,理想做法是利用B幀宏塊像素加權(quán)的真正比例(對于亮度和顏色),如上所述。在其他情況下,可能更優(yōu)的做法是利用等比例,如在MPEG-2和MPEG-4中。本發(fā)明的另一方面利用這兩個比例技術(shù)的混合(等平均和幀-距離比例)用于B 幀像素插值。例如,對于M = 3的情況,1/3和2/3比例的3/4可以與等平均的1/4混合,導(dǎo)致兩個比例是3/8和5/8。這個技術(shù)可以使用“混合因子” F來概括。加權(quán)=F ·(幀距離比例權(quán)重)+ (I-F) ·等平均權(quán)重混合因子F的有用范圍是從1到0,1表示完全比例插值,0表示完全等平均(也可能使用相反的賦值)。
圖3是根據(jù)本發(fā)明的這個方面的幀的時間線和混合的、比例的和相等的像素加權(quán)值。每個中間B幀301a和301b的每個宏塊的像素值被加權(quán)為前面的P或者I幀A和下一個P或者I幀B之間的“時間距離”的函數(shù),以及A和B的等平均的函數(shù)。在這個例子中, 對于M = 3和混合因子F = 3/4,第一個B幀301a的混合加權(quán)等于5/8A+3/8B (也就是比例加權(quán)2/3Α+1ΛΒ的3/4加上等平均加權(quán)(A+B) /2的1/4)。類似地,第二個B幀301b的加權(quán)等于 3/8A+5/8B?;旌弦蜃覨的值可以為全部的編碼整體設(shè)定,或者為每個圖像組(GOP)、一個范圍的B幀、每個B幀或者B幀內(nèi)的每個區(qū)域設(shè)定(包括,例如細(xì)化到每個宏塊,或者對于以8x8 模式使用P向量的MPEG-4直接模式,甚至是單個的8x8運(yùn)動塊)。為了節(jié)省比特并反映這樣的事實(shí)即混合比例通常沒有重要到要和每個宏塊一起傳送,混合的優(yōu)化使用應(yīng)該與要壓縮的圖像類型有關(guān)。例如,對于正在淡出、漸隱的圖像或者整體采光或?qū)Ρ榷日谥饾u改變的圖像,混合因子F接近或等于1 (即選擇比例插值) 一般是最優(yōu)的。對于沒有這種采光或?qū)Ρ榷茸兓倪B續(xù)圖像,那么較低的混合因子值例如 2/3,1/2或1/3可能形成最優(yōu)的選擇,從而保留比例插值的某些好處以及等平均插值的某些好處。所有在0到1范圍內(nèi)的混合因子值一般是有用的,因?yàn)閷τ谌魏谓o定的B幀,在這個范圍內(nèi)有一個特定值證明是優(yōu)化的。對于寬動態(tài)范圍和寬對比度范圍圖像,混合因子可以依賴局部區(qū)域特征區(qū)域地確定。但是,通常寬范圍的采光和對比度建議混合因子值支持完全比例插值,而不是等平均插值。優(yōu)化的混合因子通常是由經(jīng)驗(yàn)確定的,雖然對于特定類型場景的經(jīng)驗(yàn)可以被用于創(chuàng)建按場景類型的混合因子表格。例如,圖像變化特征的確定可以被用于為幀或者區(qū)域選擇混合比例。替換地,可以使用許多的候選混合因子(用于整個幀或者區(qū)域)編碼B幀,評估每個混合因子以優(yōu)化圖像質(zhì)量(例如,由最高的信噪比即SNR確定的)和最低的比特?cái)?shù)。 這些候選的評估然后可以被用于為混合比例選擇最佳值。也可以使用圖像變化特征和編碼的質(zhì)量/效率的組合??拷麭幀序列中間的B幀或者來自低值M的B幀不會被比例插值過多影響,因?yàn)橛?jì)算的比例已經(jīng)接近等平均。但是,對于較高的M值,B幀位置的極值可以被混合因子的選擇顯著影響。注意對于這些極限位置混合因子可以不同,這些極限位置比更中央的位置(其從偏離平均獲得很少好處或者沒有獲得好處)更多地利用該平均,因?yàn)樗鼈円呀?jīng)具有鄰近 P(或者I)幀的高比例。例如,如果M = 5,第一個和第四個B幀可能使用的混合因子F混合了更多的等平均,但第二個和第三個B幀可能使用嚴(yán)格的2/5和3/5的等平均比例。如果比例到平均混合因子(propotion-to-average blend factor)作為序列中B幀位置的函數(shù)變化,那么混合因子的變化值可以在壓縮的比特流中傳送或者作為輔助信息傳給解碼器。如果要求靜態(tài)的一般混合因子(由于缺少傳送值的方法),那么值2/3通常接近最優(yōu)的,且可以在編碼器和解碼器中被選擇作為B幀插值的靜態(tài)值。例如,使用F = 2/3的混合因子,對于M = 3的連續(xù)幀,比例將是7/18 (7/18 = 2/3*1/3+1/3*1/2)和11/18(11/18 =2/3*2/3+1/3*1/2)。線性插值視頻幀像素值一般存儲在特定表示中,特定表示把原始的圖像信息映射到數(shù)字值。這種映射可能導(dǎo)致線性的或者非線性的表示。例如,在壓縮中使用的亮度值是非線性的。各種形式的非線性表示的使用包括對數(shù)、指數(shù)(各種冪)以及黑色校正的指數(shù)(通常用于視頻信號)。在狹窄的動態(tài)范圍上或者對于鄰近區(qū)域的插值,非線性表示是可接受的,因?yàn)檫@些鄰近的插值表示分段的線性插值。因此,亮度的小變化可以由線性插值合理地近似。但是,對于亮度的廣泛變化,例如發(fā)生在寬動態(tài)范圍和寬對比度范圍圖像中的,把非線性信號處理為線性的將是不準(zhǔn)確的。即使對于正常的對比度范圍圖像,線性淡出和交叉漸隱可以被線性插值降低效果。有些淡出和交叉漸隱利用非線性的淡出和漸隱率,增加了進(jìn)一步的復(fù)雜性。對于使用比例混合,或者甚至是簡單的比例或等平均插值的額外改進(jìn)是在線性空間里表示的像素值上進(jìn)行這種插值,或者在不同于原始非線性亮度表示的其他優(yōu)化的非線性空間中進(jìn)行這種插值。這可以被完成,例如通過首先把兩個非線性亮度信號(來自前面和后續(xù)P (或者I) 幀)轉(zhuǎn)換成線性表示,或者不同的非線性表示。然后應(yīng)用比例混合,在應(yīng)用逆變換之后,在圖像的原始非線性亮度表示中產(chǎn)生混合的結(jié)果。但是,比例函數(shù)已經(jīng)在亮度信號的更優(yōu)表示上執(zhí)行。當(dāng)顏色正在褪色或者變得更加飽和時,如與在薄霧和陰天中的變化關(guān)聯(lián)的對比度變化中發(fā)生的,除了亮度之外,把這個線性或非線性變換有利地應(yīng)用于顏色(色度)值也是有用的。示例性實(shí)施例圖4是一個流程圖,顯示了本發(fā)明的一個示例性實(shí)施例,其作為可以被計(jì)算機(jī)實(shí)現(xiàn)的一個方法步驟400 在視頻圖像壓縮系統(tǒng)中,對于計(jì)算B幀的直接和插值模式,使用(1)幀距離比例,或者( 等權(quán)重和幀距離比例的混合來確定插值值以應(yīng)用于兩個或多個雙向預(yù)測中間幀的輸入序列的每個像素,插值值來源于括起這種從源(例如視頻圖像流)輸入的序列的至少兩個非雙向預(yù)測的幀。步驟401 相對于圖像單元(例如圖像組(GOP)、幀序列、場景、幀、幀內(nèi)的區(qū)域、宏塊、DCT塊或者類似有用的分組或像素的選擇)優(yōu)化插值值。插值值可以為整個編碼期間靜態(tài)地設(shè)定,或者為每個圖像單元動態(tài)地設(shè)定。步驟402 進(jìn)一步相對于場景類型或編碼簡單性優(yōu)化插值值。例如,插值值可以被設(shè)定靜態(tài)地(例如2/3比例和1/3等平均);比例地,為接近等平均的幀,但在鄰近P(或 I)幀附近要混合等平均;動態(tài)地,基于整體場景特征,例如淡出和交叉漸隱;動態(tài)地(和局部地),基于局部圖像區(qū)域特征,例如局部的對比度和局部的動態(tài)范圍或者動態(tài)地(和局部地),基于編碼性能(例如最高編碼SNR)和生成的最少編碼比特。步驟403 傳送合適的比例量給解碼器,如果不是靜態(tài)確定的。步驟404 可選地,為每個幀轉(zhuǎn)換亮度信息為線性的或者替換的非線性表示,并把這個替換傳送給解碼器,如果不是靜態(tài)確定的。步驟405 使用確定的插值值確定比例像素值。步驟406 如果有必要(由于步驟404),再轉(zhuǎn)換成原始的表示。
擴(kuò)展的P幀參考如上所述,在現(xiàn)有技術(shù)MPEG-I、2和4壓縮方法中,P幀參考前面的P或者I幀,且 B幀參考最近的前面或后續(xù)的P和/或I幀。同樣的技術(shù)被用于H. 261和H. 263運(yùn)動補(bǔ)償?shù)腄CT壓縮標(biāo)準(zhǔn),其包含了低比特率壓縮技術(shù)。正在開發(fā)的H. 263++和H. 26L標(biāo)準(zhǔn)中,B幀參考被擴(kuò)展到指向沒有直接包圍當(dāng)前幀的P或者I幀。也就是說,B幀內(nèi)的宏塊可以指向前面P幀之前的一個P或者I幀,或者指向后續(xù)P幀之后的一個P或者I幀。由于每個宏塊有一個或多個比特,跳過前面或后續(xù)P 幀可以簡單地表示。概念上,使用前面P幀用于B中的參考只要求存儲空間。對于H. 263++ 或H. 26L的低比特率編碼使用,這是少量的額外存儲。對于后續(xù)的P幀參考,必須相對于B 幀編碼修改該P(yáng)幀編碼順序,以致于必須在居間的B幀之前解碼未來的P幀(或者可能是 I幀)。因此,編碼順序?qū)τ诤罄m(xù)的P幀參考也是個問題。P幀和B幀類型之間的主要差別是(I)B幀可以被雙向參考(最多每個宏塊兩個運(yùn)動向量);( 在使用之后B幀被丟棄(這也意味著在解碼過程中可以跳過它們以提供時間分層);和(3)P幀被用作“跳板”,一個到下一個,因?yàn)槊總€P幀必須被解碼以用作每個后續(xù)P幀的參考。作為本發(fā)明的另一個方面,根據(jù)一個或多個的前面的P或者I幀(不包括每個P 幀只參考最近的前面P幀或者I幀的情況)解碼P幀(與B幀相對)。因此,例如,每個宏塊的兩個或者多個運(yùn)動向量可以被用于當(dāng)前的P幀,所有運(yùn)動向量在時間上指向后面(也就是指向個或多個先前解碼的幀)。這樣的P幀仍然保持“跳板”特點(diǎn)。圖5是一個顯示多個先前參考的例子,由當(dāng)前P幀500參考兩個前面P幀502、504和前面I幀506。此外,在這樣的P幀參考中可以應(yīng)用宏塊插值的概念,如上所述。因此,除了表示對一個以上的前面P或I幀的單個參考之外,也可以為每個這樣的幀參考使用一個運(yùn)動向量,以混合多個前面P或I幀的比例。例如,可以應(yīng)用上面所述的使用具有兩個幀參考的B 幀插值模式的技術(shù)以允許P幀中的任何宏塊利用兩個運(yùn)動向量來參考前面兩個P幀或者一個前面的P幀和一個前面的I幀。這個技術(shù)在兩個運(yùn)動向量之間插值,但在時間上不是雙向的(和B幀插值情況一樣),因?yàn)閮蓚€運(yùn)動向量時間上都指向后面。存儲開銷減少到一個點(diǎn),在這點(diǎn),為這種并發(fā)參考在存儲器中保存前面的多個P或I幀是相當(dāng)實(shí)用的。在應(yīng)用這種P幀插值時,肯定需要選擇前面兩個或多個P幀(以及可選地,一個前面的I幀)的各種有用比例并通知解碼器。特別是幀的等混合是有用的混合比例之一。例如,有前兩個P幀作為參考,可以混合每個P幀的相等的1/2。對于前三個P幀,可以使用 1/3的相等混合。兩個P幀的另一個有用混合是2/3的最近的前面幀和1/3的最遠(yuǎn)的前面幀。對于前3個P幀,另一個有用混合是1/2的最近的前面幀,1/3中間的前面幀和1/6的最遠(yuǎn)的前面幀。在任何情況下,可以利用多個前面P幀(和可選地,一個I幀)的一組簡單的有用混合,并將它們簡單地從編碼器通知到解碼器。每當(dāng)對優(yōu)化圖像單元的編碼效率有用時,可以選擇使用的特定混合比例??梢允褂蒙倭康谋忍剡x擇許多的混合比例,只要適合想要的圖像單元,這些比特可以被傳送給解碼器。作為本發(fā)明的另一個方面,轉(zhuǎn)變選擇單個P幀參考從最近的前面P (或I)幀到更“遠(yuǎn)”的前面P(或I)幀也是有用的。在這個方式中,P幀會利用每個宏塊(或者可選地,在 MPEG-4模式編碼中的每個8x8塊)的單個運(yùn)動向量,但是會利用一個或多個的比特表示該參考參考單個特定的前面幀。在這個模式中的P幀宏塊不是插值的,但是會參考選定的前面幀,該幀從可能的兩個、三個或者更多的前面P(或I)幀中選擇用于參考。例如,2比特編碼可指定多至4個的前面幀中的一個作為單個選擇幀。這個2比特編碼可以在任何方便的圖像單元被改變。自適應(yīng)的B幀數(shù)量在MPEG編碼中典型地使用I、P、B幀類型的固定模式。在P幀之間的B幀數(shù)量典型地是常數(shù)。例如,在MPEG編碼中在P(或I)幀之間使用兩個B幀是典型的。圖6A是典型的現(xiàn)有技術(shù)MPEG-2編碼模式圖,顯示了在進(jìn)行包圍的I幀600和/或P幀602之間的固定數(shù)量的B幀(即兩個)。MPEG-4視頻編碼標(biāo)準(zhǔn)概念地允許在進(jìn)行包圍的I幀和/或P幀之間是變數(shù)量的B 幀,以及I幀之間變化的距離。圖6B是理論上可能的現(xiàn)有技術(shù)MPEG-4視頻編碼模式圖,顯示了在進(jìn)行包圍的I幀600和/或P幀602之間的變數(shù)量的B幀,以及I幀600之間的變距離。這個靈活的編碼結(jié)構(gòu)理論上可被用于通過將最有效的B幀和P幀編碼類型匹配到運(yùn)動圖像幀來提高編碼效率。雖然這個靈活性已經(jīng)被特別地允許,但是人們很少研究它,而且在這種靈活的結(jié)構(gòu)中實(shí)際確定B幀和P幀位置的機(jī)制也是未知的。本發(fā)明的另一個方面在普通使用中把這里描述的概念應(yīng)用于這個靈活的編碼結(jié)構(gòu)以及簡單的固定編碼模式。因此能夠使用上面所述的方法來插值B幀,而P幀可以參考一個以上的前面P幀或I幀并根據(jù)本說明書被插值。特別地,B幀內(nèi)的宏塊可以利用與固定結(jié)構(gòu)一樣有效的適于靈活編碼結(jié)構(gòu)的比例混合。當(dāng)B幀參考與最靠近的進(jìn)行包圍的P幀或I幀相比更遠(yuǎn)的P幀或I幀時,也可以利用比例混合。類似地,在這個靈活編碼結(jié)構(gòu)中,P幀可以參考一個以上的前面的P幀或I幀,與固定模式結(jié)構(gòu)一樣有效。此外,當(dāng)這些P幀參考一個以上的前面的P幀(可選地,加上一個 I幀)時,混合比例可以被應(yīng)用于這種P幀中的宏塊。(A)在靈活的編碼模式中確定位置以下方法允許編碼器優(yōu)化幀編碼模式以及利用混合比例的效率。對于選定范圍的幀,可以嘗試許多候選的編碼模式以確定最優(yōu)的或者接近最優(yōu)的(相對于指定標(biāo)準(zhǔn))模式。 圖7是一個可以被檢驗(yàn)的編碼模式圖。以P或者I幀結(jié)束的初始序列700是任意選定的, 并被用作增加的附加P幀和/或B幀的基礎(chǔ),然后評估附加P幀和/或B幀(如下所述)。 在一個實(shí)施例中,一個P幀被加到初始序列700以創(chuàng)建用于評估的第一個測試序列702。如果評估滿足,那么插入一個居間的B幀以創(chuàng)建第二個測試序列704。對于每個滿足的評估, 插入附加B幀以創(chuàng)建逐漸變長的測試序列706 712,直到評估標(biāo)準(zhǔn)變得不滿足。到那一點(diǎn),前面的編碼序列被接受。然后重復(fù)這個過程,使用先前接受的編碼序列的結(jié)尾P幀作為增加新P幀的起始點(diǎn),然后插入新的B幀。最優(yōu)的或者接近最優(yōu)的編碼模式可以基于各種評估標(biāo)準(zhǔn)選擇,通常涉及各種編碼特征的權(quán)衡,例如編碼的圖像質(zhì)量和所需的編碼比特?cái)?shù)量。常用的評估標(biāo)準(zhǔn)包括被使用的最少比特?cái)?shù)量(在固定的量化參數(shù)測試中),或者最好的信噪比(在固定的比特率測試中),或者兩者的組合。最小化一個絕對差值和(SAD)也是常見的,SAD形成DC匹配的測量。如在共同待決的題為“Motion Estimation for Video Compression System”的美國專利申請09/904192 號(其被轉(zhuǎn)讓給本發(fā)明的受讓人,因而通過引用并入)中描述的,AC匹配標(biāo)準(zhǔn)也是特定候選匹配的質(zhì)量的有用測量(本專利申請也描述其他有用的優(yōu)化)。因此可以檢驗(yàn)在所有宏塊的最佳匹配上累積的AC和DC匹配標(biāo)準(zhǔn),以確定每個候選編碼模式的整體匹配質(zhì)量。當(dāng)這個AC/DC匹配技術(shù)和每個幀模式類型的編碼比特?cái)?shù)量的估計(jì)一起使用時,它可以增進(jìn)或者取代信噪比(SNR)和使用最少比特的測試。典型的是,編碼B幀宏塊所使用的量化參數(shù)值(QP)比用于P幀的更高,其影響在各種候選編碼模式內(nèi)使用的比特?cái)?shù)和質(zhì)量(通常作為信噪比測量)。(B)在靈活編碼模式中的混合比例優(yōu)化可選地,對于根據(jù)上述方法確定的每個候選模式,可以測試混合比例相對一個或多個標(biāo)準(zhǔn)的適合性(例如最優(yōu)的或者接近最優(yōu)的混合比例)。這可以被完成,例如通過測試最好質(zhì)量(最低SNR)和/或效率(使用的最少比特)。為P幀中的每個宏塊使用一個或多個前面的參考也可以用同樣的方式確定,測試每個候選的參考模式和混合比例以確定一組或多組合適的參考。一旦為下一步驟(圖7中的步驟700)選擇了編碼模式,就可以為各種候選編碼模式測試后續(xù)步驟(步驟702-71 。在這個方法中,可以確定運(yùn)動圖像序列的更高效的編碼。 因此,可以如上面的子節(jié)㈧描述的那樣優(yōu)化/提高效率;可以在每個測試的編碼步驟應(yīng)用混合優(yōu)化。DC 對 AC 插值在圖像編碼的許多情況中,例如當(dāng)使用圖像幀的對數(shù)表示時,幀像素值的上述插值將最優(yōu)地編碼亮度中的變化。但是,在替換的視頻“Y曲線”、線性和其他表示中,把不同的插值混合因子應(yīng)用于像素的DC值而不是AC值,這通常被證明是有用的。圖8是一個流程圖,顯示了一種與AC插值明顯不同的具有DC插值的插值方法的一個實(shí)施例。對于來自第一和第二輸入幀的選定圖像區(qū)域(通常是DCT塊或者宏塊)802、802',減去每個這種區(qū)域的平均像素值804、804',因此在選定的區(qū)域中把DC值(即整個選定區(qū)域的平均值)806、 806'和AC值(即保留的有符號像素值)808、808'分開。然后各自的DC值806、806‘可以乘以插值權(quán)重810、810',其不同于乘以AC(有符號的)像素值808、808'使用的814、 814'。然后,最新插值的DC值812和最新插值的AC值816可以被合并成818,產(chǎn)生選定區(qū)域的新預(yù)測820。和本發(fā)明中的其他插值值一樣,可以將合適的權(quán)重通知每個圖像單元的解碼器。 可以在許多編碼值之間選擇少量的比特,以及選擇像素值的AC對DC方面的獨(dú)立插值。線性&非線性插值插值是線性的加權(quán)平均。由于插值運(yùn)算是線性的,且由于每個圖像幀中的像素值通常是以非線性形式(例如視頻伽馬表示或者對數(shù)表示)表示的,插值過程的進(jìn)一步優(yōu)化成為可能的。例如,特定幀序列的像素的插值,以及從AC值分離的DC值的插值,有時用線性的像素表示將是最優(yōu)的或者接近最優(yōu)的。但是,對于其他的幀序列,如果像素是被表示成對數(shù)值或者其他的像素表示,那么這種插值將是最優(yōu)的或者接近最優(yōu)的。此外,用于插值U 和V(色度)信號分量的最優(yōu)表示或接近最優(yōu)的表示可不同于Y(亮度)信號分量的最優(yōu)表示或接近最優(yōu)的表示。因此,本發(fā)明的一個有用方面是作為插值程序的一部分,把像素表示轉(zhuǎn)換成替換的表示。圖9是一個流程圖,顯示了使用替換表示的亮度像素插值的方法的一個實(shí)施例。 開始于初始表示(例如視頻伽馬或者對數(shù))中的亮度(Y)像素的一個區(qū)域或者塊(步驟 900),像素?cái)?shù)據(jù)被變換成不同于初始表示的替換表示(例如線性的、對數(shù)的、視頻伽馬)(步驟90 。然后如上所述,變換的像素區(qū)域或者塊被插值(步驟906),并變換回初始表示(步驟906)。結(jié)果得到插值的像素亮度值(步驟908)。圖10是一個流程圖,顯示了使用替換表示的色度像素插值的方法的一個實(shí)施例。 開始于初始表示(例如視頻伽馬或者對數(shù))中的色度(U,V)像素的一個區(qū)域或者塊(步驟1000),像素?cái)?shù)據(jù)被變換成不同于初始表示的替換表示(例如線性的、對數(shù)的、視頻伽馬) (步驟1002)。然后如上所述,變換的像素區(qū)域或者塊被插值(步驟1006),并變換回初始表示(步驟1006)。結(jié)果得到插值的像素色度值(步驟1008)。各種表示之間的變換可以根據(jù)題為“Method and System for Improving Compressed Image Chroma ^formation”的美國專利申請09/905039號的講解進(jìn)行,其被轉(zhuǎn)讓給本發(fā)明的受讓人,因此通過引用并入。注意,通常使用簡單的查找表進(jìn)行替換的表示變換及其逆變換。作為本發(fā)明的這個方面的一個變化,用于AC插值的替換(線性或非線性)表示空間可不同于用于DC插值的替換表示空間。和插值權(quán)重一樣,選擇哪種替換插值表示用于每個亮度(Y)和色度(U和V)像素表示,可以使用每個選定圖像單元的少量比特通知解碼器。每個宏塊的運(yùn)動向量的數(shù)量在MPEG-2中,P幀中的每個16x16宏塊允許一個運(yùn)動向量。在B幀中,MPEG-2允許每個16x16宏塊最多兩個運(yùn)動向量,對應(yīng)于雙向的插值模式。在MPEG-4視頻編碼中,P 幀中的每個16x16宏塊允許多至4個運(yùn)動向量,對應(yīng)于每個8x8DCT塊一個運(yùn)動向量。在 MPEG-4B幀中,當(dāng)使用插值模式時,每個16x16宏塊允許最多兩個運(yùn)動向量。如果后續(xù)的對應(yīng)P幀宏塊被設(shè)置為具有4個運(yùn)動向量的8x8模式,在MPEG-4直接模式中的單個運(yùn)動向量增量可以導(dǎo)致4個獨(dú)立的“隱式”運(yùn)動向量。這是在換算時間距離(該B幀在時間上更靠近該P(yáng)幀的前面P幀或I幀參考)之后,通過將16xl6B幀宏塊中所攜帶的一個運(yùn)動向量增量增加到來自隨后P幀宏塊中的對應(yīng)的4個獨(dú)立運(yùn)動向量中的每一個來實(shí)現(xiàn)的。本發(fā)明的一個方面包括增加每個圖像區(qū)域(例如宏塊)的運(yùn)動向量數(shù)量的選擇。 例如,有時證明每個B幀宏塊具有兩個以上的運(yùn)動向量是有益的。這些可以通過參考附加的P幀或者I幀和在加權(quán)和中具有3個或更多的插值項(xiàng)被應(yīng)用。也可以應(yīng)用附加的運(yùn)動向量以允許B幀宏塊的8x8DCT塊的獨(dú)立向量。而且,可以使用4個獨(dú)立增量以通過把獨(dú)立增量應(yīng)用于后續(xù)P幀的4個8x8區(qū)域運(yùn)動向量中的每一個來擴(kuò)展直接模式的概念。此外,可以使用B幀插值技術(shù)修改P幀以在插值模式中參考多于一個的前面幀,使用上面描述的B幀的兩個插值項(xiàng)技術(shù)。這個技術(shù)可以容易地?cái)U(kuò)展到兩個以上的前面P幀或者I幀,所得到的插值在加權(quán)和中具有3個或更多的項(xiàng)。
和本發(fā)明的其他方面(例如像素表示和DC對AC插值方法)一樣,可以使用每個圖像單元的少量比特把特定的加權(quán)和傳遞給解碼器。在應(yīng)用本發(fā)明的這個方面時,8x8像素DCT塊和運(yùn)動向量域之間的對應(yīng)不需要像 MPEG-2和MPEG-4中那樣嚴(yán)格。例如,使用除了 16x16、16x8 (只在MPEG-4中的隔行掃描中使用)、8x8以外的替換區(qū)域尺寸用于運(yùn)動向量可能是有用的。這種替換可能包括任何數(shù)量的有用區(qū)域尺寸,例如 4x8、8xl2、8xl6、6xl2Jx8、4x8、24x8、3h32、24x24、24xl6、8x24、3h8、 32x4等等。使用少量這種有用的尺寸,幾個比特可以把運(yùn)動向量區(qū)域尺寸和DCT塊尺寸之間的對應(yīng)通知解碼器。在使用傳統(tǒng)的8x8DCT塊的系統(tǒng)中,一組到運(yùn)動向量域的簡單對應(yīng)對簡化運(yùn)動補(bǔ)償中的處理是有用的。在DCT塊尺寸不是8x8的系統(tǒng)中,那么可以在指定的運(yùn)動向量域中實(shí)現(xiàn)更大的靈活性,如在題為“Enhanced Temporal and Resolution Layering in Advanced Television”的共同待決的美國專利申請09/545233號中所描述的,其被轉(zhuǎn)讓給本發(fā)明的受讓人,因此通過引用將其并入。注意,運(yùn)動向量區(qū)域邊界不需要對應(yīng)于DCT區(qū)域邊界。實(shí)際上,以運(yùn)動向量區(qū)域界限落入DCT塊內(nèi)(且不在其界限上)的方式定義運(yùn)動向量區(qū)域經(jīng)常是有用的。擴(kuò)展運(yùn)動向量域的靈活性的概念也適用于本發(fā)明的插值方面。只要指定了每個像素和指向一個或多個參考幀的一個或多個運(yùn)動向量之間的對應(yīng),就可以使用本發(fā)明的所有通用性把上述插值方法應(yīng)用于有用運(yùn)動向量的全部靈活性。甚至當(dāng)使用P幀時,對于每個前面幀參考,對應(yīng)于每個運(yùn)動向量的區(qū)域的尺寸可以不同,而且當(dāng)使用B幀時,對于每個前面和未來的幀參考,對應(yīng)于每個運(yùn)動向量的區(qū)域尺寸可以不同。如果在應(yīng)用本發(fā)明的改進(jìn)插值方法時運(yùn)動向量的區(qū)域尺寸不同,那么插值反映重疊的共同區(qū)域。運(yùn)動向量參考的重疊共同區(qū)域可以被用作當(dāng)分別插值DC和AC像素值時,在其上確定DC項(xiàng)的區(qū)域。圖11顯示了兩個P幀1104、1106各自的獨(dú)特運(yùn)動向量區(qū)域尺寸1100和1102。在根據(jù)這個發(fā)明計(jì)算插值時,確定運(yùn)動向量區(qū)域尺寸的聯(lián)合1108。聯(lián)合1108定義了所有的被認(rèn)為是具有分配的運(yùn)動向量的區(qū)域。因此,例如在將B幀1112區(qū)域向后插值到前面P幀1104時,聯(lián)合1108 內(nèi)的4x4區(qū)域1110會使用對應(yīng)于前面P幀中的8x16區(qū)域1114的運(yùn)動向量。如果前向預(yù)測,那么聯(lián)合1108內(nèi)的1110區(qū)域會使用對應(yīng)于下一 P幀中的虹16區(qū)域1115的運(yùn)動向量。 類似地,聯(lián)合1108內(nèi)的區(qū)域116的向后插值會使用對應(yīng)于8x16區(qū)域1114的運(yùn)動向量,而前向預(yù)測相同的區(qū)域會使用對應(yīng)于12x16區(qū)域1117的運(yùn)動向量。在本發(fā)明的一個實(shí)施例中,利用兩個步驟來實(shí)現(xiàn)普遍(即非統(tǒng)一尺寸)運(yùn)動向量的插值。第一步是確定運(yùn)動向量共同區(qū)域,如關(guān)于圖11所描述的。這為每個前面幀或者后續(xù)幀參考建立了像素和運(yùn)動向量之間的對應(yīng)(即每個指定像素區(qū)域尺寸的運(yùn)動向量的數(shù)量)。第二步是利用合適的插值方法和對于像素的每個區(qū)域有效的插值因子。編碼器的任務(wù)是確保最優(yōu)的或接近最優(yōu)的運(yùn)動向量區(qū)域和插值方法被指定,且所有像素使它們的向量和插值方法完全被指定。對于運(yùn)動向量的固定模式(例如為整個幀指定每個32x8塊一個運(yùn)動向量),具有單個指定的插值方法(例如為整個幀指定的到被參考幀的每個距離的固定比例混合)的情況,這非常簡單。如果對運(yùn)動向量區(qū)域尺寸做區(qū)域性的改變,且區(qū)域尺寸的不同依賴于參考的是哪個前面幀或者后續(xù)幀(例如對于最近的前面幀是8x8塊,對于下一個最近的前面幀是32x8塊),這個方法也能變得相當(dāng)復(fù)雜。此外,可以在幀內(nèi)區(qū)域性地指定插值方法。編碼時,編碼器的工作是確定比特的最優(yōu)或接近最優(yōu)的用法以在運(yùn)動向量區(qū)域形狀和尺寸之間選擇,和選擇最優(yōu)或接近最優(yōu)的插值方法。還需要一個決定以指定被參考幀的數(shù)量和距離。通過詳盡地測試大量候選運(yùn)動向量區(qū)域尺寸、要參考的候選幀和每個這樣的運(yùn)動向量區(qū)域的插值方法來確定這些指定,直到找到最優(yōu)或接近最優(yōu)的編碼。最優(yōu)(相對于選定的標(biāo)準(zhǔn))可以通過在編碼塊之后找到最小的SNR或者在編碼塊之后找到固定量化參數(shù)(QP)的最少比特?cái)?shù),或者通過應(yīng)用其他合適的測量來確定。直接模式擴(kuò)展在MPEG-4中的B幀宏塊中使用的傳統(tǒng)直接模式,在運(yùn)動向量編碼中是高效的,利用簡單共同增量提供了 8x8塊模式的好處。直接模式基于時間距離在對應(yīng)的宏塊位置處對后續(xù)P幀的每個對應(yīng)的運(yùn)動向量進(jìn)行加權(quán),該P(yáng)幀參考前面P幀。例如,如果M = 3 (即兩個居間的B幀),用簡單線性插值,第一個B幀使用-2/3倍的后續(xù)P幀運(yùn)動向量以確定相對于這種P幀的像素偏移,和1/3倍的后續(xù)P幀運(yùn)動向量以確定相對于前面P幀的像素偏移。 類似地,第二個B幀使用-1/3倍的相同P幀運(yùn)動向量以確定相對于這種P幀的像素偏移, 和2/3倍的后續(xù)P幀運(yùn)動向量以確定相對于前面P幀的像素偏移。在直接模式中,小的增量被加到每個對應(yīng)的運(yùn)動向量。作為這個發(fā)明的另一個方面,這個概念可以擴(kuò)展至指向一個或多個η遠(yuǎn)離P幀的B幀參考,這些P幀又參考一個或多個前面或后續(xù)P幀或I幀,通過考慮幀距離來確定幀比例分?jǐn)?shù)(frame scale fraction)。圖12是顯示P幀和B幀幀序列的圖,其中B幀的插值權(quán)重被確定為到2遠(yuǎn)離后續(xù) P幀的距離的函數(shù),該P(yáng)幀參考1遠(yuǎn)離后續(xù)P幀。在這個說明性的例子中,M = 3,表示在進(jìn)行包圍的P幀1204、1206之間有兩個連續(xù)B幀1200、1202。在這個例子中,在下一個最近的后續(xù)P幀1208中的每個共存的宏塊可指向該居間的(即最近的)P幀1204,且最初的兩個 B幀1200、1202可參考下一個最近的后續(xù)P幀1208而不是最近的后續(xù)P幀1204,如在傳統(tǒng) MPEG中的。因而,對于第一個B幀1200,幀比例分?jǐn)?shù)5/3乘以來自下一個最近的后續(xù)P幀 1208的運(yùn)動向量mv會被用作相對于P幀1208的像素偏移,且第二個B幀1202會使用4/3 乘以那個相同的運(yùn)動向量的偏移。如果被B幀參考的最近的后續(xù)P幀指向下一個最近的前面P幀,那么再次使用簡單的幀距離以獲得應(yīng)用于運(yùn)動向量的合適的幀比例分?jǐn)?shù)。圖13是顯示P幀和B幀序列的圖,其中B幀的插值權(quán)重被確定為到1遠(yuǎn)離后續(xù)P幀的距離的函數(shù),該P(yáng)幀參考2遠(yuǎn)離前面 P幀。在這個說明性的例子中,M = 3,B幀1300、1302參考最近的后續(xù)P幀1304,該P(yáng)幀 1304又參考2遠(yuǎn)離P幀1306。因而,對于第一個B幀1300,像素偏移分?jǐn)?shù)是幀比例分?jǐn)?shù)2/6 乘以來自最近后續(xù)P幀1304的運(yùn)動向量mv,且第二個B幀1302會具有1/6乘以那個相同的運(yùn)動向量的像素偏移,因?yàn)樽罱暮罄m(xù)P幀1304的運(yùn)動向量指向2遠(yuǎn)離前面P幀1306, 該幀相距6個幀。通常,在直接模式中B幀參考單個P幀的情況下,幀距離方法設(shè)定幀比例分?jǐn)?shù)的分子等于該B幀到其參考的或者“目標(biāo)”P幀的幀距離,并設(shè)定分母等于從目標(biāo)P幀到另一個被目標(biāo)P幀參考的P幀的距離。對于從B幀到后續(xù)P幀進(jìn)行的測量,幀比例分?jǐn)?shù)的符號是負(fù)號,而對于從B幀到前面P幀進(jìn)行的測量,幀比例分?jǐn)?shù)的符號是正號。這種把幀距離或者幀比例分?jǐn)?shù)應(yīng)用于P幀運(yùn)動向量的簡單方法能夠?qū)崿F(xiàn)有效的直接模式編碼。
此外,這個發(fā)明的另一個方面是允許直接模式應(yīng)用于一個P幀的多個插值的運(yùn)動向量參考。例如,如果從最近的和下一個最近的前面P幀插值一個P幀,那么根據(jù)本發(fā)明的這個方面的直接模式參考允許插值混合用于每個多參考直接模式B幀宏塊。通常,一個P 幀的兩個或多個運(yùn)動向量可以應(yīng)用一個合適的幀比例分?jǐn)?shù)。然后,兩個或多個幀距離修正的運(yùn)動向量可以和參考或指向那個P幀的每個B幀的對應(yīng)插值權(quán)重一起使用(如下所述), 以生成插值B幀宏塊運(yùn)動補(bǔ)償。圖14是顯示P幀和B幀序列的圖,其中一個后續(xù)P幀具有多個參考前面P幀的運(yùn)動向量。在這個例子中,B幀1400參考后續(xù)P幀P3。這個P3幀又具有兩個運(yùn)動向量mvl 和mv2,其參考對應(yīng)的前面P幀P2和P1。在這個例子中,可以使用兩個加權(quán)項(xiàng)中的任一個或者這種加權(quán)項(xiàng)的組合在直接模式中對B幀1400的每個宏塊進(jìn)行插值。B幀1400的每個宏塊可根據(jù)下列項(xiàng)構(gòu)造成混合形式 由mvl的幀比例分?jǐn)?shù)1/3取代的幀P2的對應(yīng)像素(這些像素然后可能乘以某個比例權(quán)值i)加上由mvl的幀比例分?jǐn)?shù)-2/3取代的幀P3的對應(yīng)像素(這些像素然后可能乘以某個比例權(quán)值j);以及 由mv2的幀比例分?jǐn)?shù)2/3 (4/6)取代的幀Pl的對應(yīng)像素(這些像素然后可能乘以某個比例權(quán)值k)加上由mv2的幀比例分?jǐn)?shù)-1/3(-2/6)取代的幀P3的對應(yīng)像素(這些像素然后可能乘以某個比例權(quán)值1)。和所有的直接模式一樣,運(yùn)動向量增量可以與mvl和mv2中的每一個一起使用。根據(jù)本發(fā)明的這個方面,如同多個前面P幀的情況一樣,使用相同的插值方法和運(yùn)動向量幀比例分?jǐn)?shù)應(yīng)用,B幀中的直接模式預(yù)測宏塊也能夠參考多個后續(xù)的P幀。圖15 是顯示P幀和B幀序列的圖,其中最近的后續(xù)P幀具有參考一個前面P幀的運(yùn)動向量,且下一個最近的后續(xù)P幀具有參考前面多個P幀的多個運(yùn)動向量。在這個例子中,B幀1500參考兩個后續(xù)P幀P2和P3。幀P3具有兩個運(yùn)動向量mvl和mv2,它們參考對應(yīng)的前面P幀 P2和P1。幀P2有一個運(yùn)動向量mv3,其參考前面P幀P1。在這個例子中,使用3個加權(quán)項(xiàng)在直接模式中對B幀1500的每個宏塊進(jìn)行插值。假如這樣的話,運(yùn)動向量幀比例分?jǐn)?shù)可以大于1或小于-1。這種形式的直接模式B幀宏塊插值的加權(quán)可以利用這里描述的插值的全部通用性。特別是,為了獲得各種圖像單元的最佳性能(例如質(zhì)量對比特?cái)?shù)),可對每個權(quán)值或者權(quán)值的組合進(jìn)行測試。用于這種改進(jìn)直接模式的插值分?jǐn)?shù)組可以每個圖像單元用少量比特指定給解碼器。B幀1500的每個宏塊可根據(jù)下列項(xiàng)構(gòu)造成混合形式 由mvl的幀比例分?jǐn)?shù)-5/3取代的幀P3的對應(yīng)像素(這些像素然后可能乘以某個比例權(quán)值i)加上由mvl的幀比例分?jǐn)?shù)-2/3取代的幀P2的對應(yīng)像素(這些像素然后可能乘以某個比例權(quán)值j);·由mv2的幀比例分?jǐn)?shù)-5/6取代的幀P3的對應(yīng)像素(這些像素然后可能乘以某個比例權(quán)值k)加上由mv2的幀比例分?jǐn)?shù)1/6取代的幀Pl的對應(yīng)像素(這些像素然后可能乘以某個比例權(quán)值1);以及·由mv3的幀比例分?jǐn)?shù)-2/3取代的幀P2的對應(yīng)像素(這些像素然后可能乘以某個比例權(quán)值m)加上由mv3的幀比例分?jǐn)?shù)1/3取代的幀Pl的對應(yīng)像素(這些像素然后可能乘以某個比例權(quán)值η)。和所有的直接模式一樣,運(yùn)動向量增量可以與mvl、mv2和mv3中的每一個一起使用。注意,當(dāng)下一個最近的后續(xù)P幀參考了包圍一候選B幀的最近的P幀時,經(jīng)常出現(xiàn)特別有益的直接編碼模式。在MPEG-4中B幀的直接模式編碼總是使用后續(xù)P幀的運(yùn)動向量作為參考。根據(jù)本發(fā)明的另一個方面,B幀參考前面P幀的共存宏塊的運(yùn)動向量也是可能的,這些運(yùn)動向量有時將證明直接模式編碼參考的有益選擇。假如這樣的話,當(dāng)下一個最近的前面P幀被最近的前面P幀的運(yùn)動向量參考時,運(yùn)動向量幀比例分?jǐn)?shù)將大于1。圖16顯示了 P幀和B幀序列,其中最近的前面P幀具有參考前面P幀的運(yùn)動向量。在這個例子中,B幀1600參考了 1遠(yuǎn)離的前面P幀P2。幀P2的運(yùn)動向量mv參考下一個前面P幀Pl (相對于B幀1600, 2遠(yuǎn)離)。圖中顯示了合適的幀比例分?jǐn)?shù)。如果根據(jù)多個向量和幀對最近的前面P幀進(jìn)行插值,那么應(yīng)用類似于結(jié)合圖14所描述的那些方法以獲得運(yùn)動向量幀比例分?jǐn)?shù)和插值權(quán)值。圖17是顯示P幀和B幀序列的圖,其中最近的前面P幀具有兩個參考前面P幀的運(yùn)動向量。在這個例子中,B幀1700參考前面P幀P3。前面的幀P3的一個運(yùn)動向量mvl參考下一個前面P幀P2,而第二個運(yùn)動向量mv2參考2遠(yuǎn)離的前面P幀P1。圖中顯示了合適的幀比例分?jǐn)?shù)。B幀1700的每個宏塊可以根據(jù)下列項(xiàng)構(gòu)造成混合形式 由mvl的幀比例分?jǐn)?shù)1/3取代的幀P3的對應(yīng)像素(這些像素然后可能乘以某個比例權(quán)值i)加上由mvl的幀比例分?jǐn)?shù)4/3取代的幀P2的對應(yīng)像素(這些像素然后可能乘以某個比例權(quán)值j);以及 由mv2的幀比例分?jǐn)?shù)1/6取代的幀P3的對應(yīng)像素(這些像素然后可能乘以某個比例權(quán)值k)加上由mv2的幀比例分?jǐn)?shù)7/6取代的幀Pl的對應(yīng)像素(這些像素然后可能乘以某個比例權(quán)值1)。當(dāng)前面P幀(相對于B幀)的運(yùn)動向量指向下一個最近的前面P幀時,沒有必要只利用下一個最近的前面幀作為插值參考,如在圖16中的。最近的前面P幀可以為運(yùn)動補(bǔ)償證明更好的選擇。假如這樣的話,最近的前面P幀的運(yùn)動向量被縮短到從B幀到那個P 幀的幀距離分?jǐn)?shù)。圖18是顯示P幀和B幀序列的圖,其中最近的前面P幀具有個參考前面 P幀的運(yùn)動向量。在這個例子中,對于M= 3,第一個B幀1800會使用1/3和-2/3幀距離分?jǐn)?shù)乘以最近的前面P幀P2的運(yùn)動向量mv。第二個B幀1802會使用2/3和-1/3幀距離分?jǐn)?shù)(未示出)。將這種選擇通知解碼器以區(qū)分這個例子和圖16中所示的例子。和所有其他的編碼模式一樣,直接模式的使用最好包括根據(jù)其他可用的插值和單向量編碼模式和參考幀對候選模式進(jìn)行測試。對于直接模式測試,最近的后續(xù)P幀(可選地,和下一個最近的后續(xù)P幀或甚至更遠(yuǎn)的后續(xù)P幀,和/或一個或多個前面P幀)可被作為候選幀測試,并且少量的比特(典型地是一個或兩個)可被用于指定由解碼器使用的直接模式P參考幀距離。擴(kuò)展的插值值在MPEG-1、2、4及H. 261和H. 263標(biāo)準(zhǔn)中指定了,B幀使用前向參考幀和后向參考幀的像素值的等加權(quán),如由運(yùn)動向量所取代的。本發(fā)明的另一個方面包括各種有用的不相等加權(quán)的應(yīng)用,這些不相等加權(quán)顯著提高B幀編碼效率,以及這種不相等加權(quán)到多于兩個參考的擴(kuò)展,這些參考包括兩個或多個時間上向前或者向后的參考。本發(fā)明的這個方面還包括用于為P幀而被參考和插值的一個以上的幀的方法。此外,當(dāng)兩個或多個參考在時間上指向前,或者當(dāng)兩個或多個參考在時間上指向后時,那么有時使用負(fù)權(quán)重和超過1.0的權(quán)重是有用的。例如,圖19是顯示三個P幀PI、P2和P3的幀序列,其中P3用兩個運(yùn)動向量使用插值參考,而Pl和P2各一個。例如,如果連續(xù)的變化正在Pl和P3之間的幀范圍發(fā)生,那么P2-P1 (即幀P2的像素值(被P2的運(yùn)動向量所取代)減去幀Pl的像素值(被Pl的運(yùn)動向量所取代))將等于P3-P2。類似地,P3-P1將是P2-P1和P3-P2大小的兩倍。在這種情況下,可以通過公式從P2和Pl差別地預(yù)測幀P3的像素值P3 = Ρ1+2χ(Ρ2-Ρ1) = (2χΡ2)-Ρ1既然這樣,P3的插值權(quán)重對于P2是2. 0,對于Pl是-1. 0。作為另一個例子,圖20顯示了四個P幀P1、P2、P3和P4的幀序列,其中P4使用具有三個運(yùn)動向量的插值參考,而PI、P2和P3各一個。因此,由于P4是從P3、P2和Pl預(yù)測的,所以應(yīng)用三個運(yùn)動向量和插值權(quán)重。在這種情況下,如果連續(xù)的變化正在這個幀范圍上發(fā)生,那么 P2-P1 將等于 P3-P2 和 P4-P3,而 P4-P1 將等于 3x (P2-P1)和 3x (P3-P2)。因此,在這個例子中,基于P2和Pl的P4預(yù)測為P4 = Pl+3x (P2-P1) = (3xP2) - (2xPl)(權(quán)重為 3. 0 和-2. 0)基于P3禾Π Pl的Ρ4預(yù)測為Ρ4 = Ρ1+3/2χ(Ρ3-Ρ1) = (3/2χΡ3) - (1/2χΡ1)(權(quán)重為 1· 5 和 _0· 5)基于Ρ3和Ρ2的Ρ4預(yù)測為 Ρ4 = Ρ2+2χ (Ρ3—Ρ2) = (2χΡ3) _Ρ2 (權(quán)重為 2· 0 禾口 _1· 0)然而可能的是,最靠近Ρ4 (包括Ρ3和P》的變化,比包括Pl的預(yù)測是更可靠的Ρ4 的預(yù)測值。因此,通過給上面包括Pl的兩個項(xiàng)各1/4權(quán)重,并給僅包括Ρ3和Ρ2的項(xiàng)1/2 權(quán)重,將導(dǎo)致1/2(2Ρ3-Ρ2)+1/4(3/2Ρ3-1/2Ρ1)+1/4(3Ρ2-2Ρ1)=13/8Ρ3+1/4Ρ2-5/8Ρ1 (權(quán)重為 1. 375,0. 25 和-0. 625)據(jù)此,有時既使用大于1. 0的權(quán)重又使用小于0的權(quán)重是有用的。在其它時候,如果從一個幀到下一個幀存在類似噪音的變化,具有0.0和1. 0之間的適度的系數(shù)的正加權(quán)平均可產(chǎn)生Ρ4的宏塊(或者其他的像素區(qū)域)的最佳預(yù)測。例如,圖20中P 1、Ρ2和Ρ3 各1/3的等加權(quán)在某些情況下可能形成Ρ4的最佳預(yù)測。注意最佳匹配的運(yùn)動向量被用來確定Ρ1、Ρ2、Ρ3等的區(qū)域,在這個例子中,計(jì)算時使用了 PI、Ρ2、Ρ3。在某些情況下,這個匹配可能最好是AC匹配,其允許變化的DC項(xiàng)通過 AC系數(shù)預(yù)測?;蛘撸绻褂肈C匹配(例如絕對差的和),那么經(jīng)常能夠預(yù)測AC系數(shù)的變化。在其他情況下,各種形式的運(yùn)動向量匹配將形成具有各種權(quán)重混合的最佳預(yù)測。通常, 特定情況的最佳預(yù)測是使用這里所描述的方法經(jīng)驗(yàn)地確定的。這些技術(shù)也適用于具有兩個或多個在時間上指向后或指向前的運(yùn)動向量的B幀。 當(dāng)在時間上指向前時,以上描述的用于P幀的系數(shù)模式被顛倒過來以準(zhǔn)確地向后預(yù)測當(dāng)前的P幀。使用本發(fā)明的這個方面,在向前和向后兩個方向上均具有兩個或多個運(yùn)動向量是可能的,因此同時在兩個方向預(yù)測。這些各種預(yù)測的合適的加權(quán)混合可以通過選擇混合的加權(quán)來優(yōu)化,混合加權(quán)最佳地預(yù)測了當(dāng)前B幀的宏塊(或其他像素區(qū)域)。圖21是顯示P幀和B幀序列的圖,其中不同P幀具有一個或多個參考前面不同P 幀的運(yùn)動向量,圖中也顯示分配給被特定B幀參考的各自向前和向后參考的不同權(quán)重a-e。 在這個例子中,B幀2100參考三個前面P幀和兩個后續(xù)P幀。在圖21所示的例子中,幀P5必須被解碼以使這個例子工作。有時以解碼所需的順序(“發(fā)送順序”)在比特流中給幀排序是有用的,發(fā)送順序沒有必要是顯示的順序(“顯示順序”)。例如,在顯示循環(huán)運(yùn)動(例如物體的旋轉(zhuǎn))的幀序列中,特定的P幀可能更類似遠(yuǎn)處的P幀而不是最近的后續(xù)P幀。圖22是顯示P幀和B幀序列的圖,其中P幀的比特流發(fā)送順序不同于顯示順序。在這個例子中,幀P3更類似于幀P5而不是幀P4。因此在P4之前發(fā)送和解碼P5,但在P5之前顯示P4是有用的。優(yōu)選地,當(dāng)這種P幀可以被丟棄時(例如在比特流順序中η個幀的終止時間或者在顯示順序中的幀X之后),每個P幀應(yīng)該通知解碼器。如果從一個小的選擇集中選擇權(quán)重,那么少量比特就能夠通知解碼器要使用哪個權(quán)重。和這里所描述的所有其他權(quán)重一樣,這可以每一個圖像單元通知解碼器一次,或者在解碼過程中權(quán)重變化是有用的任何其他點(diǎn)上。下載新的權(quán)重集也是可能的。在這種方式中,少量的權(quán)重集可以在給定時間上有效。這允許少量的比特通知解碼器在解碼過程中在任何給定點(diǎn)將使用哪個有效的權(quán)重集。 為了確定合適的權(quán)重集,可以在編碼過程中測試大量的權(quán)重。如果發(fā)現(xiàn)小的子集提供高效率,那么可以通知解碼器使用那個子集。因此能夠只用幾個比特把該子集的特定元素通知解碼器。例如10個比特可以選擇IOM個子集元素中的一個。此外,當(dāng)改變特定的小子集以維持效率時,可以把新的子集通知解碼器。因此,編碼器可以對比更新權(quán)重集所需的比特?cái)?shù),動態(tài)地優(yōu)化在權(quán)重集元素中選擇所需的比特?cái)?shù)。此外,少量的短編碼能被用于表示常見的有用權(quán)重,例如1/2、1/3、1/4等等。在這種方式中,少量的比特能被用于表示權(quán)重集, 例如用于P幀中的K-前向-向量預(yù)測(其中K = 1,2,3···),或者B幀中的K-前向-向量和L-后向-向量預(yù)測(其中K和L從0,1,2,3…中選擇),或者P幀中的K-前向-向量和 L-后向-向量預(yù)測(其中K和L從0,1,2,3…中選擇),作為當(dāng)前M值的函數(shù)(即B幀相對于鄰近P (或I)幀的相對位置)。圖23是顯示具有分配權(quán)重的P幀和B幀序列的圖。B幀2300具有權(quán)重a_e,其值是從B幀權(quán)重集2302的表格分配的。P幀2304具有權(quán)重m和n,其值是從P幀權(quán)重集2306 的表格分配的。某些權(quán)重可以是靜態(tài)的(即不變地下載到解碼器),并由編碼器通知。其他權(quán)重可以被動態(tài)地下載然后通知。這個相同的技術(shù)可被用于動態(tài)地更新權(quán)重集以對比于AC插值選擇DC插值。此外, 可以表示編碼值,其對比于變換值(在替換的線性或非線性表示中)的線性插值選擇一般的(線性)插值(通常以非線性表示表示的像素值的插值)。類似地,這種編碼值可以表示哪些這樣的插值應(yīng)用于AC值或DC值或者是否分開預(yù)測的AC和DC部分。有效的子集也可被用于最少化在目前使用的權(quán)重系數(shù)集之間選擇所必需的比特?cái)?shù)。例如,如果IOM個下載的權(quán)重集被保存在解碼器中,那么可能在幀的一個特定部分期間需要大概16個是有效的。因此,通過選擇(從IOM個中選出)16個權(quán)重集的哪些子集是有效的,只需要使用4個比特選擇這16個中的哪個權(quán)重集是有效的。可以為這些最常見子集使用短編碼來表示這些子集,因而允許少量的比特在常用的子集中選擇。柔化和銳化和通過減去平均值從AC信號中簡單地分開DC分量一樣,在運(yùn)動向量補(bǔ)償預(yù)測的過程中,其他的濾波運(yùn)算也是可能的。例如,各種高通、帶通和低通濾波器可被應(yīng)用于像素區(qū)域(例如宏塊)以提取各種頻率帶。然后,當(dāng)進(jìn)行運(yùn)動補(bǔ)償時,可以修改這些頻率帶。例如,在有噪音的移動圖像上濾出最高的頻率以柔化(使之不太清晰或者稍微地模糊)該圖像通??赡苁怯杏玫?。更加柔化的圖像像素,與用于量化的更陡的斜矩陣(tilt matrix) 結(jié)合(更陡的斜矩陣忽略當(dāng)前塊中的更高頻率的噪音),通常形成更高效的編碼方法。已經(jīng)有可能在每個圖像單元的量化斜矩陣中表示變化。還可能下載亮度和色度的定制斜矩陣。 注意不管斜矩陣是否改變,都可以提高運(yùn)動補(bǔ)償?shù)男?。然而,通常最有效的是既改變斜矩陣又改變在運(yùn)動補(bǔ)償過程中應(yīng)用的濾波器參數(shù)。常見做法是使用降低的色度編碼分辨率和色度特定的斜矩陣。但是,在這個例子中,色度編碼分辨率是靜態(tài)的(例如4:2:0水平和垂直地編碼半分辨率或者4:2:2只是水平地編碼半分辨率)??梢愿鶕?jù)本發(fā)明的這個方面通過在運(yùn)動補(bǔ)償過程中把一個動態(tài)濾波器處理應(yīng)用于色度和亮度(獨(dú)立地或合作地)來提高編碼效率,每個圖像單元選擇一個。題為"Enhanced Temporal and Resolution Layering in Advanced Television,, 的美國專利申請09/545233號(前文引用過)描述了改進(jìn)的負(fù)半周(截?cái)嗟恼液瘮?shù))位移濾波器的使用。這些濾波器具有的優(yōu)點(diǎn)是當(dāng)進(jìn)行運(yùn)動向量位移的碎片像素 (fractional-pixel)部分時,它們保持清晰度。在整像素(integer pixel)位移點(diǎn)和碎片像素位移點(diǎn),使用降低或提高其清晰度的濾波器可更優(yōu)地移動某些宏塊(或其他有用的圖像區(qū)域)。例如,對于“變焦”(其中,幀中的某些物體隨著時間移出焦點(diǎn)和幀的其他部分進(jìn)入焦點(diǎn))來說,轉(zhuǎn)變是清晰度和柔度的變化之一。因此,能夠在圖像的某些區(qū)域提高清晰度而在其他區(qū)域降低清晰度的運(yùn)動補(bǔ)償濾波器能夠提高編碼效率。特別地,如果圖像的區(qū)域正移出焦點(diǎn),那么降低清晰度可能是有益的,這將柔化圖像(因而可能產(chǎn)生更好的匹配)和減少顆粒和/或噪音(因而可能提高編碼效率)。如果圖像的區(qū)域正進(jìn)入焦點(diǎn),那么保持最好的清晰度或者甚至使用更大的負(fù)半周正弦濾波器值提高清晰度可能是有益的。在編碼過程中,色度濾波也能夠從提高和降低清晰度中受益。例如,4:2:0編碼 (水平和垂直地編碼半分辨率色度)的許多編碼效率優(yōu)點(diǎn)可以通過為色度使用更柔的運(yùn)動補(bǔ)償濾波器而在U和/或V通道中保持全分辨率來實(shí)現(xiàn)。僅僅當(dāng)在U和V通道中的色彩細(xì)節(jié)是高時,才有必要選擇最清晰的位移濾波器;在有高色彩噪音或者顆粒的地方較柔的濾波器將更有益。除了焦點(diǎn)的變化之外,從一個幀到下一個幀的方向和運(yùn)動模糊變化量也是普遍的。當(dāng)運(yùn)動圖像膠片幀的速率為Mfps時,即使一個簡單的對話場景從一個幀到下一個幀在運(yùn)動模糊方面也有顯著的變化。例如,在一個幀中上嘴唇可能是模糊的,且在下一個幀中清晰化,這完全是由于在照相機(jī)中打開快門期間的嘴唇運(yùn)動。對于這樣的運(yùn)動模糊,不僅在運(yùn)動補(bǔ)償過程中具有銳化和柔化(模糊化)濾波器而且具有銳化和柔化的方向方面將是有益的。例如,如果可以確定運(yùn)動的方向,那么沿那個方向的柔化或銳化可被用于對應(yīng)圖像特寫的移動或停止。用于運(yùn)動補(bǔ)償?shù)倪\(yùn)動向量本身可以相對于任何周圍的幀(或?qū)?yīng)區(qū)域)為特定幀(或幀內(nèi)的區(qū)域)提供關(guān)于運(yùn)動量、運(yùn)動量的變化(即運(yùn)動模糊)的一些有用信息。特別是,運(yùn)動向量是P幀之間的最佳運(yùn)動匹配,而運(yùn)動模糊來自幀中的在打開快門時間期間的運(yùn)動。圖M是一個幀內(nèi)的物體位置對時間的圖。照相機(jī)的快門只在部分幀時間期間打開。當(dāng)快門打開時,物體的任何運(yùn)動導(dǎo)致模糊。運(yùn)動模糊量是由在快門打開期間的位置變化量表示的。因此,當(dāng)快門打開時位置曲線MOO的斜率是運(yùn)動模糊的度量。運(yùn)動模糊量和運(yùn)動方向也可以從清晰度量度、周圍的運(yùn)動向量(圖像區(qū)域匹配的地方)、特征拖影檢測和幀區(qū)域的人為輔助指定的組合中確定??梢曰诖_定的運(yùn)動模糊量和運(yùn)動方向選擇濾波器。例如,對比所確定的運(yùn)動模糊量和運(yùn)動方向,各種濾波器的映射可以經(jīng)驗(yàn)地確定。當(dāng)結(jié)合本發(fā)明的其他方面時,這種智能應(yīng)用的濾波器可以顯著地提高壓縮編碼效率??梢赃x擇少量的這種濾波器,用少量的比特通知解碼器。同樣,這能夠是以每個圖像單元一次或者在解碼過程中的其他有用點(diǎn)上實(shí)現(xiàn)。與權(quán)重集一樣,可以使用一組動態(tài)裝入的濾波器,以及有效的子集機(jī)制以最少化在最有益的濾波器參數(shù)集合之間選擇所需的比特?cái)?shù)。實(shí)現(xiàn)本發(fā)明可以在硬件或軟件,或者兩者的組合(例如可編程的邏輯陣列)中實(shí)現(xiàn)。除非另外指定,作為本發(fā)明的一部分而包括的算法本質(zhì)上不與任何特定的計(jì)算機(jī)或者其他裝置相關(guān)。特別地,各種通用目的的設(shè)備可以與根據(jù)本文所述編寫的程序一起使用,或者可能更方便的是構(gòu)造更特殊的裝置(例如集成電路)以執(zhí)行特定功能。因此,本發(fā)明可以在一個或多個可編程計(jì)算機(jī)系統(tǒng)上執(zhí)行的一個或多個計(jì)算機(jī)程序中實(shí)現(xiàn),每個可編程計(jì)算機(jī)系統(tǒng)包括至少一個處理器、至少一個數(shù)據(jù)存儲系統(tǒng)(包括永久的和易失的存儲器和/或存儲單元),至少一個輸入設(shè)備或端口,和至少一個輸出設(shè)備或端口。程序代碼被應(yīng)用于輸入數(shù)據(jù)以執(zhí)行這里描述的功能并生成輸出信息。輸出信息以公知的方式被應(yīng)用于一個或多個輸出設(shè)備。每個這樣的程序可以用任何希望的計(jì)算機(jī)語言(包括機(jī)器的、匯編的、或高級過程化的、邏輯的、面向?qū)ο竦木幊陶Z言)實(shí)現(xiàn)以與計(jì)算機(jī)系統(tǒng)通信。在任何情況下,語言可以是編譯語言或解釋語言。每個這樣的計(jì)算機(jī)程序優(yōu)選存儲在或者下載到存儲介質(zhì)或設(shè)備上(例如固態(tài)存儲器或介質(zhì),或者磁介質(zhì)或光介質(zhì)),這些存儲介質(zhì)或設(shè)備是通用或?qū)iT目的的可編程計(jì)算機(jī)可讀的,當(dāng)存儲介質(zhì)或設(shè)備被計(jì)算機(jī)系統(tǒng)讀取以執(zhí)行這里描述的程序時,這樣的計(jì)算機(jī)程序用于配置和操作計(jì)算機(jī)。也可以考慮將本發(fā)明系統(tǒng)實(shí)現(xiàn)成計(jì)算機(jī)可讀存儲介質(zhì),其被配置為具有一計(jì)算機(jī)程序,如此配置的存儲介質(zhì)使計(jì)算機(jī)系統(tǒng)以特定的和預(yù)定的方式運(yùn)行以執(zhí)行本文所描述的功能。已經(jīng)描述了本發(fā)明的多個實(shí)施例。但是,應(yīng)該理解的是,在不脫離本發(fā)明的精神和范圍的情況下可以進(jìn)行各種修改。例如,上文所述的某些步驟可能是順序無關(guān)的,因此可以以一種與所述不同的順序執(zhí)行。因此,其他的實(shí)施例均在所附權(quán)利要求的范圍內(nèi)。
權(quán)利要求
1.一種用于視頻系統(tǒng)中視頻圖像解碼的方法,所述方法包括提供包括圖像區(qū)域的幀序列;確定第一不相等權(quán)重,所述第一不相等權(quán)重被用來確定至少一個所述幀的圖像區(qū)域的像素亮度值;以及確定第二不相等權(quán)重,所述第二不相等權(quán)重被用來確定該至少一個所述幀的所述圖像區(qū)域的像素色度值。
2.一種用于具有解碼器的視頻系統(tǒng)中視頻成像的方法,所述方法包括提供包括圖像區(qū)域的幀序列;確定第一不相等權(quán)重,所述第一不相等權(quán)重被用來確定至少一個所述幀的圖像區(qū)域的像素亮度值;以及確定第二不相等權(quán)重,所述第二不相等權(quán)重被用來確定該至少一個所述幀的所述圖像區(qū)域的像素色度值。
3.根據(jù)權(quán)利要求2所述的方法,其中所述第一不相等權(quán)重包括AC權(quán)重,以及其中所述第二不相等權(quán)重包括DC權(quán)重。
4.根據(jù)權(quán)利要求3所述的方法,其中所述幀包括可參考幀,其中所述可參考幀包括預(yù)測幀和內(nèi)部幀。
5.根據(jù)權(quán)利要求3所述的方法,其中所述序列包括至少一個雙向預(yù)測幀和可參考幀。
6.根據(jù)權(quán)利要求5所述的方法,其中該至少一個所述幀的所述圖像區(qū)域包括至少所述雙向預(yù)測幀的圖像區(qū)域。
7.根據(jù)權(quán)利要求6所述的方法,還包括通過參考所述序列中兩個或多個可參考幀來對所述雙向預(yù)測幀的所述圖像區(qū)域進(jìn)行編碼。
8.根據(jù)權(quán)利要求6所述的方法,還包括識別所述兩個或多個可參考幀中的至少一個。
9.根據(jù)權(quán)利要求3所述的方法,使用來自兩個或多個可參考幀的所述圖像區(qū)域的所述第一和第二不相等權(quán)重進(jìn)行編碼。
10.根據(jù)權(quán)利要求9所述的方法,還包括識別所述第一和第二不相等權(quán)重。
11.根據(jù)權(quán)利要求9所述的方法,其中所述第一和第二不相等權(quán)重包括大于1或小于0 的權(quán)重。
12.根據(jù)權(quán)利要求6所述的方法,其中確定所述第一不相等權(quán)重包括通過參考所述序列中兩個或多個可參考幀來確定所述雙向預(yù)測幀的所述圖像區(qū)域的所述像素亮度值,以及其中確定所述第二不相等權(quán)重包括通過參考所述序列中所述兩個或多個可參考幀來確定所述雙向預(yù)測幀的所述圖像區(qū)域的所述像素色度值。
13.根據(jù)權(quán)利要求3所述的方法,其中所述幀中的每一個包括排列在宏塊中的像素亮度值和像素色度值。
14.根據(jù)權(quán)利要求13所述的方法,還包括基于來自一個或更多個按顯示順序的預(yù)測幀的運(yùn)動向量使用直接模式預(yù)測來確定雙向預(yù)測幀內(nèi)的至少一個宏塊。
15.根據(jù)權(quán)利要求14所述的方法,還包括使用來自兩個或多個可參考幀的選定圖像區(qū)域的像素亮度值和像素色度值來進(jìn)行編碼。
16.根據(jù)權(quán)利要求15所述的方法,其中用小于0或大于1的幀比例分?jǐn)?shù)對至少一個這種運(yùn)動向量進(jìn)行換算。
17.根據(jù)權(quán)利要求2所述的方法,其中像素亮度值的表示不同于像素色度值的表示。
18.根據(jù)權(quán)利要求17所述的方法,其中所述像素亮度值的表示是對數(shù)的。
19.根據(jù)權(quán)利要求2所述的方法,還包括將像素亮度值從第一表示變換到第二表示。
20.根據(jù)權(quán)利要求2所述的方法,其中確定所述第一不相等權(quán)重包括訪問用于所述像素亮度值的多個表示變換。
21.根據(jù)權(quán)利要求20所述的方法,還包括 選擇用于所述像素亮度值的表示變換;以及將該選擇通知解碼器。
22.根據(jù)權(quán)利要求2所述的方法,其中確定所述第二不相等權(quán)重包括訪問用于所述像素色度值的多個表示變換。
23.根據(jù)權(quán)利要求22所述的方法,還包括 選擇用于所述像素色度值的表示變換;以及將該選擇通知所述解碼器。
24.一種具有解碼器的視頻圖像系統(tǒng),所述系統(tǒng)包括 數(shù)據(jù)存儲系統(tǒng);輸入端口 ; 輸出端口 ;以及處理器,其被配置為執(zhí)行指令從而從所述輸入端口或所述數(shù)據(jù)存儲系統(tǒng)獲取并且處理包括圖像區(qū)域的幀序列; 確定第一不相等權(quán)重,所述第一不相等權(quán)重被用來確定至少一個所述幀的圖像區(qū)域的像素亮度值;以及確定第二不相等權(quán)重,所述第二不相等權(quán)重被用來確定該至少一個所述幀的所述圖像區(qū)域的像素色度值。
25.一種計(jì)算機(jī)程序,其存儲在計(jì)算機(jī)可讀存儲介質(zhì)上,用于包括處理器的視頻圖像系統(tǒng)中的視頻成像,所述計(jì)算機(jī)程序包括指令以使所述視頻圖像系統(tǒng)之中的所述處理器執(zhí)行所述指令從而處理包括圖像區(qū)域的幀序列;確定第一不相等權(quán)重,所述第一不相等權(quán)重被用來確定至少一個所述幀的圖像區(qū)域的像素亮度值;以及確定第二不相等權(quán)重,所述第二不相等權(quán)重被用來確定該至少一個所述幀的所述圖像區(qū)域的像素色度值。
26.一種用于至少具有解碼器的視頻系統(tǒng)的方法,所述方法包括 提供幀輸入序列,每個幀包括圖像區(qū)域;以及處理所述幀輸入序列,從而產(chǎn)生包括幀輸出序列的輸出,所述幀輸出序列包括可參考幀和至少一個雙向預(yù)測幀,其中所述處理包括確定不相等權(quán)重,所述不相等權(quán)重被用來通過參考所述輸入序列中的兩個或多個可參考幀來插入至少一個雙向預(yù)測幀的至少一個圖像區(qū)域的像素值,以及所述幀的色度信號分量的處理不同于所述幀的亮度信號分量的處理。
27.根據(jù)權(quán)利要求沈所述的方法,其中所述可參考幀包括預(yù)測幀和內(nèi)部幀。
28.根據(jù)權(quán)利要求沈所述的方法,還包括通過參考所述序列中的兩個或多個后續(xù)的可參考幀來對所述雙向預(yù)測幀的所述圖像區(qū)域進(jìn)行編碼。
29.根據(jù)權(quán)利要求沈所述的方法,還包括識別所述兩個或多個可參考幀中的至少一個。
30.根據(jù)權(quán)利要求沈所述的方法,其中所述不相等權(quán)重包括大于1或小于0的權(quán)重。
31.根據(jù)權(quán)利要求沈所述的方法,其中所述幀中的每一個包括排列在宏塊中的像素亮度值和像素色度值。
32.根據(jù)權(quán)利要求31所述的方法,還包括基于來自一個或更多個按顯示順序的預(yù)測幀的運(yùn)動向量使用直接模式預(yù)測來確定所述雙向預(yù)測幀內(nèi)的至少一個宏塊。
33.根據(jù)權(quán)利要求32所述的方法,還包括使用來自所述兩個或多個可參考幀的選定圖像區(qū)域的所述不相等像素值來進(jìn)行編碼。
34.根據(jù)權(quán)利要求33所述的方法,其中用小于0或大于1的幀比例分?jǐn)?shù)來對所述運(yùn)動向量中的至少一個進(jìn)行換算。
35.一種用于視頻解壓縮的方法,所述方法包括 接收包括圖像區(qū)域的幀的已編碼序列;確定第一不相等權(quán)重,所述第一不相等權(quán)重被用來確定至少一個所述幀的圖像區(qū)域的像素亮度值;以及確定第二不相等權(quán)重,所述第二不相等權(quán)重被用來確定該至少一個所述幀的所述圖像區(qū)域的像素色度值。
全文摘要
改進(jìn)的視頻壓縮幀插值。一種用于在視頻圖像壓縮系統(tǒng)中改進(jìn)一個或多個預(yù)測幀的圖像質(zhì)量的方法、系統(tǒng)和計(jì)算機(jī)程序,其中每個幀包括多個像素。某些類型的幀的宏塊圖像區(qū)域在某些情況下可以參考一個或多個可參考幀來編碼,而在其他情況下可以參考兩個或多個可參考幀來編碼。這種編碼可能包括插值,例如不相等加權(quán)的插值。圖像區(qū)域的DC值或AC像素值也可以在加權(quán)或未加權(quán)的情況下進(jìn)行插值。具有可變數(shù)量的雙向預(yù)測幀的這類幀的編碼模式可以動態(tài)地確定??梢砸圆煌陲@示順序的傳送順序把幀從編碼器傳送到解碼器。在運(yùn)動向量補(bǔ)償預(yù)測的過程中,可以把銳化和/或柔化濾波器應(yīng)用于某些幀的圖像區(qū)域。
文檔編號G06T9/00GK102176753SQ201110166830
公開日2011年9月7日 申請日期2003年6月27日 優(yōu)先權(quán)日2002年6月28日
發(fā)明者G·A·迪莫斯 申請人:杜比實(shí)驗(yàn)室認(rèn)證公司