專利名稱:用于壓縮運動矢量場的裝置和方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及對視頻序列進行編碼中利用運動補償?shù)姆椒?。更具體地說,本發(fā)明涉及利用運動補償預(yù)測對視頻序列進行編碼和解碼的裝置以及相關(guān)方法。從視頻幀的相鄰段并通過利用正交仿射運動矢量場(orthogonal affine motion vector field)模型來預(yù)測段的運動場。通過本發(fā)明的一個實施例的操作,運動矢量場可由數(shù)量減少了的比特來構(gòu)成,同時仍保持低預(yù)測誤差。
背景技術(shù):
數(shù)字通信技術(shù)中的進步已經(jīng)允許發(fā)展新型和改進型通信類。更進一步的進步將允許不斷改進利用這種進步的通信和通信系統(tǒng)。
例如,已經(jīng)建議了用于能夠形成視頻幀的數(shù)字視頻數(shù)據(jù)通信的通信系統(tǒng)。電視會議期間利用的視頻圖像就是有利地利用了數(shù)字視頻序列的應(yīng)用示例。
但是,視頻幀一般由大量的象素組成,各個象素可用一組數(shù)字比特表示。并且,表示任何視頻序列都需要大量的視頻幀。由于形成一個典型的視頻序列所需的每幀中的大量象素以及大量的幀,因此表示視頻序列所需的數(shù)據(jù)總量很快就變大。例如,一示例性視頻幀包括640×480象素的陣列,各象素具有RGB(紅、綠、藍)顏色,其中各顏色分量用8比特表示,每幀總共7372800比特。
視頻序列,就象記錄在膠片上的普通運動圖像一樣,包括一系列靜止圖象,形成運動的錯覺是通過相對快速地顯示連續(xù)圖像,比如說以每秒15至30幀的速率進行顯示。由于相對快的幀速率,連續(xù)幀中的圖像趨向于很相似。一般的景物包括一些例如背景景物的靜止組成部分和一些采用各種不同形式的運動組成部分,所述運動部分比如為新聞播音員的臉、移動的車輛等。另一方面,記錄景物的攝像機本身是運動的,這時圖像的所有組成部分具有相同類型的運動。在許多情況下,它表明一個視頻幀和下一視頻幀之間的總變化相當(dāng)小。當(dāng)然。這取決于運動的特性運動越快,從一幀到下一幀的變化越大。
問題出現(xiàn)發(fā)送視頻序列中,主要涉及必須從發(fā)送設(shè)備向接收機發(fā)送的信息量。序列的各幀包括矩形矩陣形式的象素陣列。為了得到清晰圖像,需要高分辨率,也就是說,幀需要包括大量的象素。目前已有大量標(biāo)準(zhǔn)化圖像格式,其中包括352×288象素的CIF(公用中分辨率圖象格式)和176×144象素的QCIF(1/4公用中分辨率圖象格式)。QCIF格式一般被用于第一代移動視頻電話設(shè)備,并在可能用于這種設(shè)備的小型(3至4cm2)LCD顯示器上提供可以接受的清晰圖像。當(dāng)然,較大的顯示設(shè)備一般需要更高空間分辨率的圖像,以便顯示時這些圖像能以足夠的空間清晰度出現(xiàn)。
對圖像的每一象素,必須提供顏色信息。如在上面提到的,顏色信息一般是按照基色分量紅、綠和藍(RGB)或利用相關(guān)亮度/色度模型進行編碼,所述模型稱為YUV模型,如下面將要描述的,它提供一些編碼好處。盡管有幾種可以提供顏色信息的方式,但所有顏色表示法都具有相同的問題,即正確表示出現(xiàn)在自然景色中的顏色范圍所需的信息量的問題。為了建立人的視覺系統(tǒng)可接受質(zhì)量的彩色圖像,各個顏色分量一般必須用8比特分辨率表示。因此,圖像的各個象素需要24個信息比特,這樣QCIF分辨率的彩色圖像就需要176×144×(3×8)=608256比特。此外,如果該QCIF圖像構(gòu)成每秒15幀的幀速率的視頻序列的一部分,要編碼該序列就需要總共9123840比特/秒。
照此,數(shù)據(jù)量有時必須通過相對低比特率的通信信道發(fā)送,諸如通過以低于64kbps工作的無線通信信道發(fā)送。
視頻編碼方案被用于減少表示這樣的視頻序列所需的數(shù)據(jù)量。許多視頻編碼方案的核心是提供運動補償預(yù)測的方法。運動補償預(yù)測一般提供通過消除幀之間的時間冗余(temporal redundancies)來改進幀補償?shù)姆椒āΣ僮鬟M行預(yù)測是基于下述事實在短系列的相同一般圖像(the same general image)中,大多數(shù)對象保持在相同位置,而其它對象僅移動短距離。這種運動作為二維運動矢量來描述。
利用YUV顏色模型可以獲得一些編碼優(yōu)勢。這利用了人的視覺系統(tǒng)的一種特性,即人的視覺系統(tǒng)對光強(亮度)變化較之顏色的變化更加敏感。因此,如果圖像用一種亮度分量和兩種色度分量(如YUV模型中)表示,有可能在空間上對色度分量進行二次抽樣(降低其分辨率)。這樣作可以減少對圖像中彩色信息進行編碼所需的信息總量,具有可接受的圖像質(zhì)量降低。可有幾種方式來執(zhí)行空間二次抽樣,但一般用表示亮度信息的一個16×16象素塊和表示兩種色度分量的一個8×8象素塊來對圖像中每一個16×16象素塊進行編碼。換句話說,在x和y方向按2的因數(shù)對色度分量進行二次抽樣。所得到的一個16×16亮度塊和兩個8×8色度塊的組合通常被稱為宏塊。利用這種編碼方案,對QCIF圖像進行編碼所需的信息總量計算如下QCIF分辨率是176×144。所以圖像中包含11×9個16×16象素亮度塊。每個亮度塊具有兩個與之相關(guān)聯(lián)的8×8象素的二次抽樣色度塊,也就是圖像中有11×9個宏塊。如果亮度和色度分量用8比特分辨率編碼,則每個宏塊所需的總比特數(shù)是1×(16×16×8)+2×(8×8×8)=3072比特。對整個QCIF圖像進行編碼所需的比特數(shù)現(xiàn)在是99×3072=304128比特,即是沒有執(zhí)行色度子抽樣所需的數(shù)量的一半(見上述內(nèi)容)。但是,這仍是非常大的信息量,如果以這種方式編碼的QCIF圖像是每秒15幀視頻序列的一部分,則仍需要總共4561920比特/秒。
視頻編碼需要處理大量的信息。這當(dāng)然意味著對視頻圖像進行編碼需要強大的信號處理設(shè)備,如果這些圖像以其原形式發(fā)送,則需要寬帶寬的通信信道。但是,在許多場合不可能提供高容量的傳輸信道。特別是在電視電話應(yīng)用中,視頻信號必須通過現(xiàn)有的固定線路通信信道(即通過傳統(tǒng)的公共電話網(wǎng))發(fā)送或利用諸如移動電話網(wǎng)提供的無線電通信鏈路發(fā)送,情況更是如此?,F(xiàn)在已有許多為這些系統(tǒng)中的視頻編碼制定準(zhǔn)則的國際電信標(biāo)準(zhǔn)。國際電信聯(lián)盟(ITU)標(biāo)準(zhǔn)的H.261和H.263就是示例。標(biāo)準(zhǔn)H.261給出了以64kbps的倍數(shù)工作的傳輸系統(tǒng)(這些一般是固定線路電話網(wǎng))中視頻編碼的建議,而H.263對可用帶寬小于64kbps的系統(tǒng)提供了類似的建議。這兩個標(biāo)準(zhǔn)實際上關(guān)系非常密切,并且都利用能夠減少必須傳送的信息量的運動預(yù)測編碼技術(shù)。
在移動電視電話中,目的是通過可用帶寬約20kbps的傳輸信道發(fā)送視頻序列。典型的幀速率應(yīng)該足夠提供良好的運動錯覺,因此應(yīng)該在每秒10和15幀之間。因此應(yīng)該意識到,為了將需要約4.5Mbps的視頻序列與只能傳送20kbps的信道相匹配,需要非常大的壓縮率(約225∶1)。這就是運動預(yù)測編碼以及其它技術(shù)開始起作用的情況。
運動預(yù)測編碼的基本思路是考慮到視頻序列中存在的大量時間冗余。如上面所解釋的,在以比較快的幀速率(即大于每秒10幀)記錄的典型視頻序列中,從一幀到下一幀只有很小的變化。通常背景是靜止的,只有圖像的某些部分經(jīng)歷某種形式的運動。另一方面,如果照相機本身在動,則所有組成部分都經(jīng)歷某種一致的運動。
因此在嘗試減少發(fā)送視頻序列時的信息量的時候,可利用連續(xù)幀之間的高度相關(guān)性。換句話說,一幀可以從之前的所謂參考參考幀來預(yù)測通常是直接在當(dāng)前被編碼的幀之前的幀,但也不一定。在這樣一種編碼方案中,一般只有當(dāng)前幀和參考幀之間的不同之處被編碼并被發(fā)送到接收機。一般來說,這種編碼被稱為INTER編碼。這種編碼方案必須要求發(fā)射機和接收機都保留參考幀(例如之前編碼的幀)的記錄。在發(fā)射機中,視頻編碼器對當(dāng)前幀和參考幀進行比較,識別兩幀之間的差異,將之編碼,并向接收機傳送有關(guān)變化的信息。在接收機中,通過將所述兩幀之間的差異信息加到參考(如之前)幀中而在視頻解碼器中重建當(dāng)前幀。儲存在編碼器和解碼器中的幀接著被更新,這樣當(dāng)前幀就成為新的參考,并繼續(xù)以相同的方式從一幀處理到下一幀。
當(dāng)然有一些場合不能使用這種預(yù)測。顯然,視頻序列的第一幀總是必須被編碼并被發(fā)送到接收機中的解碼器。顯然也沒有之前的幀可以用作預(yù)測編碼的參考。相似的情況發(fā)生在景物剪輯的情形。這時當(dāng)前幀可能和之前的幀非常不同,以致沒有可能預(yù)測,因此,新的幀必須被編碼和發(fā)送。這種編碼一般被稱為INTRA編碼。許多編碼方案也使用周期性INTRA幀編碼。例如,每10或20幀發(fā)送一個INTRA幀。這樣做可以中和編碼錯誤的影響,編碼錯誤可能逐漸累積,最終導(dǎo)致重建圖像中不可接受的失真。
運動預(yù)測編碼可以被看作是上面介紹的INTER編碼技術(shù)的擴展。上述內(nèi)容描述了差異信息如何被發(fā)送到接收機,從而能夠參考某個之前的幀來對當(dāng)前視頻幀進行解碼。提供差異信息的最簡單又最明顯的方式將是發(fā)送當(dāng)前圖像中與參考圖像中相應(yīng)的象素不同的各個象素的象素值(YUV數(shù)據(jù))。但是,實際上這種解決方案沒有提供通過非常低比特率的信道進行視頻傳輸所必要的數(shù)據(jù)率的減少。運動預(yù)測編碼采用不同的途經(jīng)。如上所述,編碼器和解碼器都保留參考幀的記錄,并參考所儲存的幀對當(dāng)前幀進行編碼。在解碼器中,參考所儲存的之前的幀和編碼器發(fā)送的差異信息來重建當(dāng)前圖像。
在編碼器中,為了確定當(dāng)前幀和參考幀之間的對應(yīng)關(guān)系,一段一段對對當(dāng)前幀進行檢查??梢圆捎酶鞣N分段方案。常常是,簡單地將當(dāng)前圖像分割為規(guī)則的象素塊。例如比較可以從一個宏塊到一個宏塊地進行。要不可按其它方式分割幀;或許試圖更好地識別幀中包含的差異象素并能夠更準(zhǔn)確地確定幀中的運動。
利用預(yù)定的分段方案,在當(dāng)前幀的各段和參考幀之間進行比較,以便確定該段中的象素和參考幀中的某組象素之間的“最佳匹配”。注意到對參考幀沒有固定的分段;最佳對應(yīng)于當(dāng)前幀的給定段的象素在某些限制條件下可在參考幀中的任何位置,所述某些限制在下面會被解釋。這樣,運動預(yù)測編碼可被視為識別當(dāng)前圖像中一組象素的原點的嘗試,即試圖通過回顧參考幀來確定象素值是如何從一幀到下一幀傳播。
一旦找到當(dāng)前幀中給定段的最佳匹配,就利用“運動矢量”對段和參考幀之間的對應(yīng)關(guān)系進行編碼。運動矢量可以被看作是x和y(水平和垂直)分量的位移矢量,它實際上從當(dāng)前幀的段指回參考幀中的象素位置。因此運動矢量實際上通過與參考幀進行比較識來別當(dāng)前幀中象素的原點。編碼一直進行到當(dāng)前幀中各段的原點都被識別為止。所得的表示可以被認為是描述兩個幀之間整體對應(yīng)關(guān)系的“運動矢量場”。
利用運動矢量一段一段地編碼完整的視頻幀產(chǎn)生對當(dāng)前幀非常有效的表示,因為有關(guān)各段運動矢量的編碼信息需要相對非常少的比特。但是,編碼過程并不完美,存在錯誤和信息丟失。通常,錯誤的發(fā)生是由于不能正確識別參考幀中的對應(yīng)象素值。例如,可能存在從一幀到下一幀的圖像內(nèi)容的某種變化,因此在當(dāng)前幀中出現(xiàn)在參考幀中沒有對應(yīng)物的新象素。此外,許多預(yù)測運動編碼器限制了幀之間允許的運動類型。這種限制發(fā)生如下為了進一步減少表示運動矢量場所需的信息量,運動預(yù)測編碼器一般使用“運動模型”描述象素值從一幀到下一幀傳播的方式。利用運動模型,依據(jù)一組“基本函數(shù)”來描述運動矢量場。依據(jù)這些數(shù)學(xué)基本函數(shù)來表示從一幀到下一幀的象素值傳播是。通常,運動被表示為涉及這些基本函數(shù)與某些系數(shù)值相乘的和,按為提供運動矢量場的最佳近似的這樣一種方式來確定這些系數(shù)。運動矢量場的這種重新表達式(re-expression)必然引入某種附加誤差,因為運動模型不能準(zhǔn)確描述運動矢量場。但是,這種方法有一個顯著的優(yōu)點,因為現(xiàn)在只有運動模型系數(shù)必須被發(fā)送到解碼器。這個優(yōu)點的出現(xiàn),因為按照所需精確度的實現(xiàn)和程度,預(yù)先選擇運動場基本函數(shù),并且使得編碼器和解碼器都知道這些函數(shù)。許多目前建議的視頻編碼方案利用運動預(yù)測編碼,具體地說,H.263標(biāo)準(zhǔn),這些視頻編碼方案是基于平移運動場模型,即該模型的基本函數(shù)只能夠表示x和y(水平和垂直)方向中的直線運動。因此無法表示連續(xù)幀之間可能發(fā)生的像素旋轉(zhuǎn)和歪斜,這不可避免地在預(yù)測運動中引入誤差。
最后,為了補償運動矢量場編碼處理引入的誤差,典型的運動預(yù)測編碼器包括誤差估計功能。有關(guān)預(yù)測誤差的信息和運動場模型系數(shù)一起被發(fā)送到解碼器。為了估計運動場編碼處理引入的誤差,運動預(yù)測編碼器一般也包括解碼部分,該解碼部分與接收機中的一樣。一旦利用上述運動預(yù)測方法編碼了當(dāng)前幀,編碼器的解碼部分就重建當(dāng)前幀,并將其與當(dāng)前幀的原始版本相比較。于是就有可能建立“預(yù)測誤差幀”,其中包含編碼當(dāng)前幀和原始當(dāng)前幀之間的不同。這個信息連同運動場模型系數(shù)、或許還有有關(guān)當(dāng)前幀分段的信息一起被發(fā)送到解碼器。
即使利用了這樣的示例,表示視頻序列仍然需要大量數(shù)據(jù)。
利用減少了的比特量或降低了的比特率對視頻序列進行編碼而同時保持低預(yù)測誤差的改進方法將因此是有利的。
按照與視頻數(shù)據(jù)相關(guān)的背景信息,發(fā)展了本發(fā)明的重大改進。
發(fā)明概述因此,本發(fā)明有利地提供了用于利用運動補償預(yù)測來操作視頻序列的裝置和相關(guān)方法。
提供一種方法,通過將視頻幀分成段并從某個段的相鄰段來預(yù)測該段的運動場、以及通過利用正交仿射運動矢量場模型,來表示運動矢量場。本發(fā)明的一個實施例的操作提供了一種快速簡潔對運動矢量場進行編碼而同時仍保持低預(yù)測誤差的方式。由此提供質(zhì)量改進的共同構(gòu)成視頻序列的視頻幀的通信。
通過本發(fā)明的實施例的操作,提供一種減少表示運動矢量場所需信息量而同時保持低預(yù)測誤差量的方式。
提供一種形成運動矢量場的用于編碼器的運動場編碼器。應(yīng)用由仿射運動矢量場模型構(gòu)成。相反,例如,對于純粹的平移運動模型,通過利用仿射模型可以獲得運動場的更靈活的表達式。諸如變焦、旋轉(zhuǎn)、轉(zhuǎn)向(sheer)、或平移的典型自然運動不能由仿射運動矢量場模型來表示。僅僅利用平移模型的傳統(tǒng)系統(tǒng)不能表示其它形式的運動。
視頻幀的相鄰段的仿射運動矢量場的相似性通過利用仿射預(yù)測運動矢量場而被利用。如果,例如,兩個相鄰段具有相似的運動矢量場,則其中一個運動矢量場能通過另一個運動矢量場僅外加一個小的、或甚至忽略不計的、也就是零的求精(refinement)場來算得。對于視頻幀的各個段,選擇一種仿射運動模型,它利用盡可能少的非零系數(shù)達到令人滿意的低預(yù)測誤差。此外,利用正交基本函數(shù)。正交基本函數(shù)對相應(yīng)運動系數(shù)的量化敏感度低,這樣系數(shù)就能用少量比特來表示。那就是說,運動系數(shù)的有效傳輸需要要被量化到低精確程度的系數(shù)。但是,在用少量比特進行表示時,傳統(tǒng)使用的基本函數(shù)的類型導(dǎo)致不可接受的預(yù)測誤差增加。由于對應(yīng)于正交基本函數(shù)的系數(shù)對量化更加健壯,因此在本發(fā)明實施例的操作中有利地利用了正交基本函數(shù)。
在本發(fā)明的一個方面,對視頻編碼器提供運動場編碼器。運動場編碼器可用于形成壓縮運動矢量場,所述壓縮運動矢量場由一組當(dāng)前幀的所有象素的運動矢量構(gòu)成。運動矢量場由預(yù)測運動矢量場和求精運動矢量場構(gòu)成。
在本發(fā)明的另一個方面,對視頻編碼器提供了運動補償預(yù)測裝置。運動補償預(yù)測裝置接收由運動場編碼器形成的壓縮運動矢量場的指示。運動補償預(yù)測裝置建立預(yù)測幀。預(yù)測裝置能夠通過計算幀的各個段的運動矢量場來重建幀的象素。根據(jù)預(yù)測運動矢量場和求精運動矢量場來計算運動矢量場。
在本發(fā)明的又一個方面,對視頻解碼器提供運動補償預(yù)測裝置。運動補償預(yù)測裝置接收預(yù)測運動矢量場和求精運動矢量場系數(shù)的指示。
因此,在這些和其它方面,提供用于操作視頻序列的視頻設(shè)備的裝置。視頻序列至少包括當(dāng)前視頻幀,所述當(dāng)前視頻幀至少具有第一相鄰段和第二相鄰段。所述裝置形成第二相鄰段的運動矢量場的近似。所述裝置包括運動矢量場建立器,它被連接用來接收表示第一仿射運動模型的指示,形成表示第一相鄰段的第一運動矢量場的近似。運動矢量場建立器對表示第一仿射運動模型的指示進行響應(yīng),形成第二仿射運動模型。第二仿射運動模型形成第二相鄰段的運動矢量場的近似。
通過下面簡要描述的附圖、本發(fā)明優(yōu)選實施例的以下詳細描述及后附權(quán)利要求書,可以更完整了解本發(fā)明及其范圍。
圖1示出本發(fā)明一個實施例可工作的視頻通信系統(tǒng)的編碼器和解碼器。
圖2示出運動場編碼器的功能方框圖,它構(gòu)成圖1所示通信系統(tǒng)的一部分。
圖3示出運動補償預(yù)測裝置的功能方框圖,它構(gòu)成圖1所示通信系統(tǒng)的編碼器還有解碼器的一部分。
圖4示出在本發(fā)明一個實施例的操作期間把視頻幀分為段的方式。
圖5中的表表示在本發(fā)明的實施例的操作期間利用的選擇比特的示例值和意義。
詳細描述本發(fā)明報告的一個實施例的運動預(yù)測視頻編碼的新方法進一步減少了在低比特率視頻編碼系統(tǒng)中從編碼器向解碼器傳送的數(shù)據(jù)量,同時保持良好的圖像質(zhì)量。該方法包括新方法,它利用相同幀中已編碼的段進一步預(yù)測當(dāng)前幀中段的象素值。
在一個示例性實施例中,當(dāng)新的視頻序列要被編碼和發(fā)送時,序列中的第一幀以INTRA格式被發(fā)送,象先有技術(shù)和上面描述的那樣。所述幀接著被儲存在編碼器和解碼器中,并構(gòu)成序列中下一(即第二)幀的參考幀。
當(dāng)編碼器開始對第二幀進行編碼時,它通過檢查幀的第一段來開始編碼處理。在優(yōu)選實施例中,當(dāng)前幀被分成一組16×16象素段,但這不是所述方法的根本,可以設(shè)想其它分段方案。編碼從上面最左段開始,并從左到右和上到下進行到整個幀(即編碼處理按行從上到下進行)。
確定描述參考幀和當(dāng)前幀的第一段之間的象素值的映射的運動矢量場,接著使用所謂的“仿射”運動模型來近似運動矢量并生成一組運動系數(shù)。仿射運動模型是一種特殊類別的運動模型,其數(shù)學(xué)形式諸如允許幀之間的平移、旋轉(zhuǎn)和歪斜運動。它包括6個基本函數(shù)。因此運動矢量基本上由涉及六個基本函數(shù)與適當(dāng)選擇的“運動系數(shù)”相乘的和來代替。于是僅僅向解碼器發(fā)送運動系數(shù)(或它的子集)就足夠了,因為編碼器和解碼器兩邊都知道基本函數(shù)本身。對當(dāng)前幀的任何給定段產(chǎn)生最佳仿射運動模型的參考幀中的象素組可以駐留在參考幀的任何區(qū)域中,至少理論上是這樣。這里應(yīng)該強調(diào)的是,此方法的目的不僅僅是使預(yù)測誤差最小,也是為了找到產(chǎn)生“率失真(rate-distortion)”意義上的段的最佳匹配的仿射運動場模型。這意味著最佳匹配是通過考慮圖像失真量度和達到所述失真度(level of distortion)所需數(shù)據(jù)量的量度兩者來確定的。
由于幀的第一(上面最左邊)段沒有之前編碼的相鄰段,不能采取進一步的動作,編碼器進行到當(dāng)前幀的第二段。接著確定在參考幀和當(dāng)前幀的第二段之間提供最佳映射的仿射運動場模型,其中利用與之前描述的相同種類的率失真、最佳匹配估計。如前所述,象素值的相應(yīng)區(qū)可以駐留在參考幀的任何地方,并且實際上可以與之前被確定為當(dāng)前幀第一段的最佳匹配的部分相重疊。
第二段具有一個之前編碼的相鄰段(即第一段)。編碼器現(xiàn)在考慮根據(jù)之前為第一段確定的仿射運動模型來模擬第二段是否比根據(jù)為第二段本身新近確定的仿射運動系數(shù)“更有效”?;驹砣缦掠捎谟糜诘谝欢蔚倪\動系數(shù)已被確定并發(fā)送到解碼器,有可能在編碼第二段的時候減少必須發(fā)送到解碼器的信息量。因此提高編碼效率。
但是,用于第一段的運動系數(shù)不太可能正好與那些最準(zhǔn)確模擬第二段的運動矢量場的運動系數(shù)一樣。所以,不是簡單地那樣利用為第一段計算的運動系數(shù),而是執(zhí)行一種投影,以便將第一段的運動場映射到第二段。即使執(zhí)行了這種投影,有關(guān)第一和第二段運動場之間差異的一些信息仍有可能必須被發(fā)送到解碼器,以避免在重建圖像中的不可接受的失真。因此,編碼器比較a)發(fā)送特別為第二段確定的運動系數(shù)數(shù)據(jù)所需的數(shù)據(jù)量和b)在第二段的運動矢量場是從第一段的運動模型的投影加上一些“求精”信息來確定時所需的數(shù)據(jù)量。在選擇發(fā)送什么信息時,編碼器也必須考慮由預(yù)測處理引入到圖像的失真。這種選項之間的比較可以被認為是確定選擇特定選項的“成本”,即要發(fā)送的信息量和允許的失真量之間的一種折衷。
這種方法對運動預(yù)測編碼的好處可能不會馬上表現(xiàn)出來。但是,在許多情況中發(fā)現(xiàn),在從相鄰段投影運動場模型之后,需要非常少的、或者甚至為0的求精信息。這一點能夠?qū)е卤仨殢木幋a器發(fā)送到解碼器的數(shù)據(jù)量的顯著減少。在需要0求精信息的情況下,第二段的運動矢量場可以僅僅根據(jù)已經(jīng)儲存在解碼器中的運動系數(shù)來預(yù)測。
此范例到目前為止,僅僅考慮了幀的第一和第二段。如上所述,按照本發(fā)明優(yōu)選實施例中使用的分段方案,第二段只有一個能被用于預(yù)測其運動系數(shù)的相鄰段。這一點對幀的第一行上其它所有段都一樣。所有這樣的段只能具有緊靠其左邊的之前編碼的相鄰段。但是,在圖像的第二及后續(xù)行,在各行上面的之前編碼的段也可以用。因此,后續(xù)行的段具有左邊和上面的相鄰段。這一點對除了各行中的第一段的所有其它段都適用,各行中的第一段僅僅只有直接在其上的之前編碼的相鄰段。所以,當(dāng)考慮幀中要編碼的一般段時,對運動系數(shù)的預(yù)測存在幾種可能性。一般情況下,編碼器可以試著采用給定段的上面段或左邊段的運動場模型來預(yù)測該給定段的運動系數(shù)。另一方面,可利用兩個相鄰段的運動場模型來形成某種平均。在各種情況下,從相鄰段預(yù)測的運動場模型被稱為“預(yù)測場”,而預(yù)測場和特別對給定段本身確定的運動場模型之間的差異被稱為“求精場”。在優(yōu)選實施例中,預(yù)測場和求精場都是仿射運動場模型。預(yù)測場和求精場之和應(yīng)等于通過將仿射運動模型應(yīng)用到給定段本身所確定的運動場模型。在不可能從給定段的相鄰段預(yù)測該給定段的運動場模型的情況下,預(yù)測場被設(shè)為零,而求精場等于特別對給定段本身確定的運動場模型。
從上面的描述將認識到,給定段能以幾種不同的方式被編碼。在編碼器中利用那個選項的選擇是基于之前描述的“率失真”的考慮來作出的。因此,根據(jù)選擇的編碼選項,有幾種不同類型的數(shù)據(jù)必須被發(fā)送到解碼器,所述信息必須以清楚的方式被發(fā)送到解碼器,從而使段能被正確重建和顯示。各種編碼選項如下1.)給定段可以被表示為預(yù)測場和求精場之和。2.)給定段可以僅被表示為預(yù)測場。這種情況在給定段能適當(dāng)根據(jù)一個或多個之前被編碼的相鄰段的運動場來表示,而不需要求精信息的時候,或者編碼器已經(jīng)發(fā)現(xiàn)將求精場減少到零有效的情況下發(fā)生。3.)有問題的段可以利用通過參考幀特別對給定段確定的運動模型來進行編碼。在這種情況下,如上所述,預(yù)測場被設(shè)為零,而求精場被設(shè)為等于從參考幀確定的運動場模型。
基本上,為了能夠正確重建給定段,有兩類必須發(fā)送到解碼器的信息。它們是1)選擇信息,它使解碼器能夠選擇正確的相鄰段在預(yù)測中使用;2)運動系數(shù)信息。每當(dāng)利用預(yù)測場對段進行編碼時,不論是否存在相關(guān)的求精場,都有必要提供有關(guān)用于預(yù)測的相鄰段的信息。不必發(fā)送任何運動系數(shù)數(shù)據(jù),因為解碼器已經(jīng)知道(即儲存在其中)之前編碼的相鄰段的運動場模型。如果例如預(yù)測是基于一個以上相鄰段、或相鄰段已被分為子段而一個或多個子段的運動場模型被用于形成預(yù)測場,則也可能需要附加信息。在使用求精場時,必須提供運動系數(shù)值。在這種情況下,應(yīng)該記住只需要發(fā)送運動系數(shù)數(shù)據(jù),因為解碼器和編碼器都知道運動模型基本函數(shù)。
從編碼器發(fā)送到解碼器的數(shù)據(jù)流因此可能包含運動系數(shù)數(shù)據(jù)和各種指示解碼器執(zhí)行不同操作的選擇數(shù)據(jù)(即,非運動系數(shù)數(shù)據(jù))。例如,如果解碼器接收到非運動系數(shù)數(shù)據(jù),則它應(yīng)該利用選擇數(shù)據(jù)指示的相鄰段和子段來建立預(yù)測運動場模型。如果它接收到運動系數(shù)數(shù)據(jù),則解碼器必須利用發(fā)送的運動系數(shù)值和儲存的運動模型基本函數(shù)來建立求精運動場模型。在本發(fā)明優(yōu)選實施例中由編碼器提供的數(shù)據(jù)流的格式將在下文中進行詳細描述。
其它一些求精方法都是可能的。在本發(fā)明的優(yōu)選實施例中,相鄰段可以被分為更小的子段。具體地說,各個16×16象素段可以被分為四個8×8象素塊,這些子段的運動場模型可被用于得到預(yù)測場。在這種情況下,一個一般的16×16象素段具有四個緊鄰的8×8象素子段,它們可被認為是兩個正好在上面和兩個緊靠左邊。在這種情況下,決定處理更復(fù)雜了些,但與前面段落中描述的操作方式仍基本相同。子段大小的選擇不限于剛才介紹的例子,可以考慮各種其它子段的大小。例如,4×8或8×4象素塊都可以被用作子段。
如上所述,在按照本發(fā)明的方法應(yīng)用于實際中時,常常發(fā)現(xiàn)需要幾乎很少的求精信息,一般段的運動模型能以非常高的精度從其相鄰段的運動場模型來預(yù)測。本發(fā)明還包括一個特性,求精場或整個求精場的各個系數(shù)可被設(shè)為零,如果這在“率失真意義”上有效的話。換句話說,在考慮到減少要發(fā)送的數(shù)據(jù)量時,求精場可被設(shè)為0,如果這樣做引入的圖像失真可以接受。這個附加特性進一步減少了必須從編碼器發(fā)送到解碼器的數(shù)據(jù)量。
首先參考圖1,一般用10表示的一種通信系統(tǒng),可用于視頻序列發(fā)生器和視頻序列接收機之間的視頻序列通信。圖中示出視頻序列發(fā)生器的編碼器12,并示出構(gòu)成視頻序列接收機的一部分的解碼器14。為了簡單起見,沒有示出視頻序列發(fā)生器和接收機上各自的其它部件。通信路徑16被示為對通信系統(tǒng)各部分的互連。通信路徑可以采用任何形式,包括例如無線電鏈路。
這里示出編碼器12被連接用于接收線路18上的視頻輸入。視頻輸入被提供給運動估計器22和減法器24的輸入端。運動估計器也被連接用于接收儲存在幀存儲器26中的參考幀的指示。運動估計器計算正被編碼的幀和之前的幀之間的象素的運動矢量,即當(dāng)前視頻輸入In(x,y)和參考幀Rref(x,y)之間的象素的運動矢量。
一旦編碼器對各個段進行了編碼,重建所需的信息就可以被發(fā)送到解碼器,并且解碼器就可以開始重建所述段。因為各幀是按一段一段的原則編碼的,并且預(yù)測處理中只使用之前編碼的段,因此解碼器中幀的重建可以立即開始,即不必等到整個幀都被編碼。一能得到有關(guān)各段的信息,就將該信息發(fā)送到解碼器,并在接收機中基本與編碼處理同時地對幀進行解碼。在電視電話應(yīng)用中,使端到端的延遲保持最小是有利的。當(dāng)然,該方法也可適用于視頻存儲和檢索系統(tǒng),其中即時傳輸不是必須要求的。在那種情況下,不要求即時發(fā)送數(shù)據(jù)并且也可能在當(dāng)前幀中使用其它相鄰段用于預(yù)測目的。
運動估計器22被連接到運動場編碼器28。運動場編碼器28能用于形成一個運動矢量場,該運動矢量場是當(dāng)前幀的所有象素的一組運動矢量。運動場編碼器產(chǎn)生的場通過線路32提供給復(fù)用器34,其后通過通信路徑16被傳送到視頻序列接收機及其解碼器14。
所示編碼器還包括運動補償(MC)預(yù)測裝置36。預(yù)測裝置36也被連接到幀存儲器26。預(yù)測裝置36能用于產(chǎn)生預(yù)測幀,所述預(yù)測幀被提供給減法器24和加法器38。
減法器24形成的差值被提供給預(yù)測誤差編碼器42。該預(yù)測誤差編碼器確定當(dāng)前輸入視頻幀和該幀的MC預(yù)測版本之間的象素值的差異,以便產(chǎn)生預(yù)測誤差的指示。并且,預(yù)測誤差編碼器42又被連接到復(fù)用器34以及預(yù)測誤差解碼器46。預(yù)測誤差解碼單元對預(yù)測誤差進行解碼,所述預(yù)測誤差由加法器38加到MC預(yù)測當(dāng)前幀,所得結(jié)果儲存在幀存儲器26中。
這里示出的解碼器14包括分用器52、預(yù)測誤差解碼器54、運動補償預(yù)測裝置36、加法器56以及幀存儲器26。編碼器和解碼器的預(yù)測裝置36以及各個設(shè)備中的幀存儲器26用相同的數(shù)字表示。
運動估計器22計算正被編碼的稱為當(dāng)前幀In(x,y)的幀和參考幀Rref(x,y)之間的象素的運動矢量(Δx(x,y),Δy(x,y))。參考幀是之前被編碼和發(fā)送的幀之一,在給定瞬間在編碼器和解碼器的幀存儲器26中可以得到。
Δx(x,y)和Δy(x,y)分別是水平和垂直位移值。當(dāng)前幀中被稱為運動矢量場的所有象素的運動矢量組通過運動場編碼器28被壓縮,其后,如上所述,被發(fā)送到解碼器。
為了指示運動矢量場的壓縮一般是有損耗的,壓縮的運動矢量被表示為 。在運動補償預(yù)測裝置36中,壓縮的運動矢量和參考幀被用于建立預(yù)測幀Pn(x,y)。預(yù)測幀是利用由運動估計器22和運動場編碼器28以及參考幀Rref(x,y)的象素值確定的運動矢量場來計算的當(dāng)前幀In(x,y)的編碼版本。
下列公式示出了計算預(yù)測幀的方法公式1Pn(x,y)=Rref(x+Δ~x(x,y),y+Δ~(x,y))]]>預(yù)測誤差,即當(dāng)前幀和預(yù)測幀之間的差異,如下公式2En(x,y)=In(x,y)-Pn(x,y)預(yù)測誤差被壓縮并發(fā)送到解碼器14。壓縮的預(yù)測誤差被表示為E~n(x,y)]]>。
在解碼器14中,當(dāng)前編碼的幀 的象素通過利用接收的運動矢量在參考幀Rref(x,y)中找到預(yù)測象素并通過按如下公式加上接收的預(yù)測誤差 而被重建公式3I~n(x,y)=Rref(x+Δ~x(x,y),+Δ~(x,y))+E~n(x,y)]]>編碼幀和原始幀之間的差異用如下公式表示,并且被稱為重建誤差公式4Dn(x,y)=In(x,y)-I~n(x,y)]]>由MC預(yù)測裝置36形成的運動補償預(yù)測幀Pn(x,y)以這樣一種方式被建立使重建誤差量最小,同時使表示運動矢量場所需的信息量最小。
典型視頻序列的幀包含多個具有不同運動的段。所以,運動補償預(yù)測的執(zhí)行是通過將幀In(x,y)劃分為若干段并估計這樣的幀和參考幀之間這樣的段的運動。分段信息是運動表達式的固有部分。除非使用缺省幀分段,并且為編碼器和解碼器所知,否則描述幀的最終劃分的附加信息必須被發(fā)送給解碼器。實際上,一個段一般包括至少幾十個象素。為了簡潔表示這樣的象素的運動矢量,它們的值最好用具有幾個參數(shù)的函數(shù)來描述。這樣的函數(shù)被稱為運動矢量場模型。為了下面的描述,圖像段的運動矢量應(yīng)利用下面一般的加法表達式近似公式5Δx(x,y)=Δxprd(x,y)+Δxrefine(x,y)Δy(x,y)=Δyprd(x,y)+Δyrefine(x,y)上述公式的第二項被稱為求精運動矢量場,并表示為如下線性組合公式6Δxrefine(x,y)=Σn+1Ncnfn(x,y)]]>Δyrefine(x,y)=Σn=N+1N+Mcnfn(x,y)]]>參數(shù)cn被稱為求精運動系數(shù)。所述系數(shù)在編碼器中被壓縮、通過通信路徑16被發(fā)送,然后在解碼器中被恢復(fù)。
函數(shù)fn被稱為基本函數(shù),并且為編碼器12和解碼器14所知。矢量組(Δxprd(x,y),Δyprd(x,y))被稱為預(yù)測運動矢量場,并為編碼器12和解碼器14所知。
運動補償預(yù)測之后得到的公式2中的預(yù)測誤差幀En(x,y)一般利用諸如離散余弦變換(DCT)的二維變換進行編碼。這個處理被稱為預(yù)測誤差編碼,其目的是減少預(yù)測誤差。由于預(yù)測誤差編碼一般有損耗,這種導(dǎo)致重建誤差。
編碼器12的主要任務(wù)是找到適當(dāng)?shù)倪\動系數(shù)組,所述運動系數(shù)組要被編碼并發(fā)送到解碼器。通常,通過增加分配給編碼系數(shù)的比特數(shù)來減少作為結(jié)果的所遭受的失真。但是,失真的減少并非總是值得增加比特數(shù)。通常,處理這樣的折衷的一種方式是使下面的拉格朗日準(zhǔn)則(Lagrangian criterion)最小公式7L=D+λ·B在這個公式中,項D表示在由給定的系數(shù)組進行編碼時遭受的失真,即誤差。發(fā)送系數(shù)的成本用比特數(shù)B表示。因子λ是稱為拉格朗日參數(shù)的恒量。
在本發(fā)明一個實施例的操作中,視頻幀的給定段的運動矢量場是兩個仿射運動矢量場之和,即預(yù)測運動矢量場和求精運動矢量場之和,用如下公式表示公式8Δx(x,y)=Δxprd(x,y)+Δxrefine(x,y)Δy(x,y)=Δyprd(x,y)+Δyrefine(x,y)預(yù)測運動矢量場是以幾種方式中的其中一種方式從一個或多個相鄰段的運動矢量場得到的。例如,在一個實現(xiàn)中,預(yù)測運動矢量場是通過將例如鄰近段的相鄰段的仿射運動矢量場外插到當(dāng)前段覆蓋的區(qū)域得到的。由于當(dāng)前段可以有幾個相鄰段,一般向解碼器提供信令信息(signaling information),以便指定將使用那一段。在另一個實現(xiàn)中,預(yù)測運動矢量場是利用編碼器和解碼器已知的某種特定方法來組合幾個相鄰段的仿射運動矢量場而得到的。這樣的方法是例如對水平和垂直運動矢量場分量求平均或確定中值。
求精運動矢量場具有按如下公式表示的仿射模型。
公式9Δxrefine(x,y)=Σn=13cnfn(x,y)]]>Δyrefine(x,y)=Σn=13cn+3fn(x,y)]]>
其中基本函數(shù)f1…,f3是仿射正交函數(shù)?;竞瘮?shù)關(guān)于確定給定段界限的矩形是正交的。同時,系數(shù)c1,…,c6是對應(yīng)于正交基本函數(shù)組的求精運動矢量場系數(shù)。
由運動場編碼器在編碼器12進行編碼期間對幀中的每一個段確定求精運動系數(shù),具體地說是由運動場編碼器28進行。
圖2更詳細地說明了運動場編碼器28。這里示出的編碼器28包括預(yù)測運動場的選擇器和建立器62、運動分析器64、運動系數(shù)取消裝置66及量化器68。
選擇器和建立器62能用于給定段,以確定當(dāng)前幀的之前編碼段、或這樣的段的組合,其運動矢量場最適合預(yù)測例如當(dāng)前段的給定段的運動場。根據(jù)“勝出”候選的運動矢量場,如上所述地計算預(yù)測運動場。通常,信令信息被發(fā)送給解碼器以指定幾個候選段中最適合的那個。
運動分析器64能用于找到求精運動矢量場的新表達式。那就是說,得到一種數(shù)學(xué)上有效的表達式。新表達式隨后被用于運動系數(shù)取消裝置66中快速而靈活確定求精運動系數(shù)。
運動系數(shù)取消裝置66能用于確定應(yīng)設(shè)為0的求精系數(shù),并計算剩下的非零系數(shù)的值,從而使拉格朗日準(zhǔn)則最小,如下式公式10L(c)=D(c)+λ·B(c)其中D(c)和B(c)是與利用求精運動系數(shù)c對給定段進行編碼相對應(yīng)的預(yù)測誤差和比特的量度,常數(shù)λ是拉格朗日參數(shù)。當(dāng)設(shè)置某些求精運動矢量場系數(shù)為0時,預(yù)測誤差增加。但是,當(dāng)更多的系數(shù)被設(shè)為0時,編碼器需要向解碼器發(fā)送的比特數(shù)減少。所以,拉格朗日的值在某些求精運動系數(shù)被設(shè)為0時可以降低。
量化器68能用于量化剩余的非零求精運動矢量系數(shù),以便使這樣的系數(shù)適合于熵編碼及從編碼器向解碼器的傳輸。
圖3示出運動補償(MC)預(yù)測裝置36分別形成如圖1所示的編碼器和解碼器12和14的一部分。編碼器和解碼器的MC預(yù)測裝置36的功能單元相似,并且MC預(yù)測裝置能用在編碼器和解碼器中通過計算幀內(nèi)各段的運動矢量場來重建當(dāng)前幀的象素。根據(jù)預(yù)測運動矢量場(Δxprd(x,y),Δyprd(x,y))和求精運動矢量場系數(shù)來計算運動矢量場。在示例性實施例中,求精運動矢量場由其反量化值表示。在解碼器14中,從一個或幾個已解碼的相鄰段來得到預(yù)測運動矢量場。在解碼和反量化器76執(zhí)行反量化之后,在解碼器中可以得到求精運動矢量場系數(shù)。如圖所示,MC預(yù)測裝置還包括運動矢量場建立器、段預(yù)測裝置80和預(yù)測運動矢量場建立器81。
如圖2所示,到運動場編碼器62的運動分析器64的輸入包括估計運動矢量場(Δx(x,y),Δy(x,y))。運動矢量場由運動估計器22(圖1所示)提供。以傳統(tǒng)的方式在運動估計器22中計算運動矢量場。預(yù)測運動矢量場也被提供給運動分析器。并且,要編碼的段S的幾何形狀及參考和當(dāng)前幀(分別為Rref(x,y)和In(x,y))也都作為輸入提供給運動分析器,其中所述給定段S的幾何形狀也就是給定段S的大小和形狀。
運動分析器能用于執(zhí)行幾種操作。首先,運動分析器執(zhí)行誤差線性化。給定段Si的預(yù)測誤差Di用公式11表示,Di包括P個象素坐標(biāo)(xp,yp),p=1,2…P組成,其預(yù)測運動場表示為(Δxprd(xp,yp),Δyprd(xp,yp))并且其求精運動矢量場由公式9給出的仿射運動模型近似。公式11Di=Σp=1P(In(xp,yp)-Rref(xp+Δxprd(xp,yp)+Δxrefine(xp,xp),yp+Δyprd(xp,xp)+Δyrefine(xp,yp)))]]>在線性化期間,公式11的Rref(x,y)值利用某種已知近似方法來近似,以便它變得線性依賴于(Δxrefine(xp,yp),Δyrefine(xp,yp))。于是,平方預(yù)測誤差Di可以近似如下公式12Di=Σp=1P(ep.1c1+ep.2c2+...+ep.6c6-wp)2]]>e和w的值取決于使用的近似方法的類型。
其后,利用運動分析器建立矩陣。由于在公式(12)中的平方下的元素是系數(shù)cn的線性組合,因此公式的最小化正好等于下列矩陣表達式的最小化。
公式13(Eici-wi)T(Eici-wi)其中Ei、wi和ci下公式14Ei=e1,1e1,2...e1,N+Me2,1e2,2...e2,N+M............epep,2...eP,N+M,wi=w1w2...wP,ci=c1c2...cN+M]]>根據(jù)Ei和wi,矩陣Ai和矢量di計算如下公式15Ai=EiTEi.]]>公式16di=EiTwi]]>
運動分析器產(chǎn)生一個包括(N+M)×(N+M)的上三角形矩陣Ri的輸出,所述Ri具有如下形式 其中符號x表示通過計算下式表示的矩陣Ai的Cholesky因式分解得到的非0元素公式17Ai=RiTRi]]>運動分析器也生成矢量zi,它是通過求解下列公式組得到的公式18RiTzi=di,]]>矩陣Ri和矢量zi都是運動分析器的輸出參數(shù),這樣的參數(shù)一起構(gòu)成適合于在運動系數(shù)取消裝置66中操作的求精運動矢量場的表達式。
運動分析器64的輸出構(gòu)成了運動系數(shù)取消裝置66的輸入。當(dāng)設(shè)置某些求精運動場系數(shù)為0時取消裝置66執(zhí)行的操作包括例如取消那些與能用 從Ri中去掉的系數(shù)對應(yīng)的元素。所得結(jié)果是一個修正了的矩陣R和矢量z。
可以使用各種方式指定或缺省地隱含段或相鄰段組,其中預(yù)測運動場是從其導(dǎo)出的。而且,可以使用不同方式來產(chǎn)生預(yù)測運動場Δxprd(x,y),Δyprd(x,y),以線性化上面的公式(11),以及求解公式組(18)。
圖4示出單個視頻幀84,圖中示出被分為多個段86,在這里是30個。這里的各個段86是由16×16象素塊構(gòu)成的。并且,各個段還可以被分割以形成更小的段。這里有些段86被分割而形成8×8象素塊88。段86通常被稱為宏塊。幀的編碼是通過從左到右和從上到下、一個宏塊到一個宏塊地掃描來執(zhí)行的。
如上所述,給定段的運動矢量場服從公式(8)中給出的加法運動模型。下面將描述獲得預(yù)測、求精和最終運動預(yù)測場的方式。在示例性實施例中,運動預(yù)測或運動求精場可以是0。所以,關(guān)于運動矢量場,可以用各種方式對給定段Si進行編碼。例如,可以僅利用從相鄰段外插的預(yù)測運動矢量場對段進行編碼。或者,可以利用從相鄰段外插的預(yù)測運動矢量場及壓縮求精運動矢量場一起對段進行編碼?;蛘撸硪环矫?,可以僅僅利用壓縮運動矢量場對段進行編碼,而不利用預(yù)測場。但是,如果預(yù)測場被設(shè)為0,則發(fā)送求精信息。也可以利用零運動矢量場,例如利用參考幀Rref(x,y)的復(fù)制對段進行編碼。以及,例如可以利用沒有采用運動矢量場的內(nèi)部編碼(intracoding)方法對段進行編碼。
在示例性實施例中,不依賴預(yù)測運動矢量場或求精運動矢量場的存在,給定運動補償段Si的最終運動矢量場具有由下列公式給出的仿射模型,其中的上標(biāo)i表示系數(shù)與相應(yīng)段Si相關(guān)聯(lián)的事實。
公式19Δx(x,y)=β1i+β2i·(y-y0i)+β3i(x-x0i)Δx(x,y)=β4i+β5i·(y-y0i)+β6i(x-x0i)其中x0i和y0i是段中上面最左邊象素的坐標(biāo),而β1i,…β6i是按照下面所述計算的仿射系數(shù)。
在解碼器14的示例性實施例中,通過整數(shù)精度執(zhí)行操作。這是通過利用與固定精度相對應(yīng)的定點實現(xiàn)來取得的。結(jié)果,在下文提到的所有系數(shù)都是整數(shù)值,包括公式(19)的系數(shù)。在其它實施例中,可以使用其它精度。
在示例性實施例中,向解碼器14發(fā)送1比特,以便用信號通知是否使用相鄰段的預(yù)測場,但只在至少有一個預(yù)測相鄰候選時這樣作。只有在相鄰段Sk是非零運動矢量場的情況下,相鄰段Sk才是用作預(yù)測段Si的運動矢量場的候選。
同樣,在這個示例性實施例中,只從當(dāng)前段的左邊和正好上方最近的相鄰塊來執(zhí)行預(yù)測。所以,相鄰段的數(shù)量最最多為4,即,上面兩個8×8象素塊,左邊兩個8×8的象素塊。在這個實施例中,只要發(fā)送到解碼器的比特表示使用從相鄰段的預(yù)測,就在編碼器及解碼器中計算預(yù)測候選的數(shù)量和位置。如果具有例如兩個、三個或四個預(yù)測候選,則向解碼器14發(fā)送一個或兩個選擇比特,以表示要使用候選。選擇信息例如由一個預(yù)測方向比特及其后跟著的鑒別比特組成,其中預(yù)測方向比特可能存在,也可能不存在,鑒別比特也一樣。
圖5示出一般以92表示的表,其中列出了本發(fā)明的示例性實現(xiàn)中選擇比特的意義和值。標(biāo)記X表示沒有或根據(jù)上下文邏輯無關(guān)。方向比特表示當(dāng)前正被預(yù)測的段的上面或左邊是否有候選相鄰段。鑒別比特指定兩個剩余候選中的哪一個必須被用于運動矢量場的預(yù)測。那就是說,當(dāng)選擇上面的或左邊的段時,具有兩種選擇可能性。鑒別比特識別該選擇。在表中給出的最后四種情況中,根據(jù)最適合候選段的位置,鑒別比特可能存在,也可能不存在。例如,如果方向比特在只有一個候選時表示“從左”,那么就不需要鑒別比特。在解碼器14中,在對方向比特進行解碼之后,勝出候選的方向就已知了。
一旦為當(dāng)前段的預(yù)測選擇了相鄰段,預(yù)測運動矢量場就簡單地是當(dāng)前段所覆蓋象素區(qū)中的相鄰段的運動矢量場的外插,表示如下公式20Δxprd(x,y)=β1k+β2k·(y-y0k)+β3k(x-x0k)Δyprd(x,y)=β4k+β5k·(y-y0k)+β6k(x-x0k)其中x0k和y0k是相鄰段Sk中上面最左邊象素的坐標(biāo),而β1k,…β6k是與段Sk的運動場對應(yīng)的整數(shù)值系數(shù)。在公式20中,上標(biāo)k表示系數(shù)與相鄰段Sk相關(guān)聯(lián)。
對公式19和20的分析表示相鄰段Sk的運動矢量場通過簡單地外插到當(dāng)前段Si中的象素中而變成段Si的預(yù)測運動矢量場。
求精運動矢量場表現(xiàn)為公式9給出的仿射正交模型。但是,在優(yōu)選實施例中,求精系數(shù)被轉(zhuǎn)換為一組輔助求精系數(shù)。輔助求精系數(shù)允許快速計算最終預(yù)測運動場。
在優(yōu)選實施例中,對應(yīng)于正交仿射基本函數(shù)組的公式9中的求精系數(shù)首先被轉(zhuǎn)換為不同的一組輔助系數(shù)。這些系數(shù)對應(yīng)于基本函數(shù)組{1,(y-y0),(x-x0)},其中x0,y0是段中上面最左邊象素的坐標(biāo)。這個轉(zhuǎn)換被執(zhí)行,以便取得預(yù)測和求精運動矢量場的共同基本函數(shù)表達式,即,以便使用相同的基本函數(shù)組。通過這樣做,根據(jù)兩組系數(shù)的和來計算最終運動矢量場,稍后將對此進行描述。根據(jù)求精系數(shù)c1,……,c6來計算段Si的以下輔助系數(shù)a1……a6。對于16×16象素塊的段,計算如下公式21a1a2a3=4096666466640-889000-889·c1c2c3]]>以及a4a5a6=4096666466640-889000-889·c4c5c6]]>對于8×8象素塊的段Si,計算形式如下
公式22a1a2a3=819212513125130-3575000-3575·c1c2c3]]>以及a4a5a6=819212513125130-3575000-3575]]>結(jié)果,下列整數(shù)值位移表示段Si的求精運動矢量場公式23Δxrefine(x,y)=a1+a2·(y-y0i)+a3(x-x0i)Δxrefine(x,y)=a4+a5·(y-y0i)+a6(x-x0i)其中x0i和y0i是段Si中上面最左邊象素的坐標(biāo),上標(biāo)i表示這些坐標(biāo)與當(dāng)前段Si相關(guān)聯(lián)。
在示例性實現(xiàn)中,給定段的最終仿射系數(shù)組用以下公式進行計算,其中所述給定段使用相鄰段Sk用于運動場預(yù)測,公式中的上標(biāo)i和k表示相應(yīng)系數(shù)分別與Si和Sk相關(guān)聯(lián)公式24β1I=a1+Δxprd(x0i,y0i)β4i=a4+Δyprd(x0i,y0i)β2I=a2與β2K以及 β5I=a5+β5Kβ3I=α3+β3Kβ6I=α6+β6K根據(jù)整數(shù)值系數(shù)β1……β6,利用公式19產(chǎn)生段Si的最終運動矢量組。下面描述運動矢量被用于從參考幀計算象素強度(pixelintensities)的方式。
在示例性實現(xiàn)中,無論是否期待求精或非求精運動系數(shù),比特流中運動系數(shù)的出現(xiàn)是通過一個比特發(fā)信號通知的,這個比特被稱為運動系數(shù)指示符(MCI)同樣,在示例性實現(xiàn)中,當(dāng)段Si的運動系數(shù)被發(fā)送時,被稱為運動系數(shù)模式(MCP)的變長碼首先被發(fā)送,以指示哪些系數(shù)具有非零值。全零模式是唯一的無效模式,因為這種可能性可以單獨通過MCI比特發(fā)信號??梢杂蒑CP碼字表示的有效模式的總數(shù)為63。這是仿射模型的特性。由于它具有6個系數(shù),因此有26,即64個可能結(jié)果。由于零是無效的,所以MCP碼字有63個可能值。跟在MCP碼字后面的是由MCP模式表示的各個非零運動系數(shù)的編碼值。各個非零系數(shù)的編碼值跟在MCP碼字后面。運動系數(shù)cj被編碼為幅度變長碼字,表示cj絕對值,后面跟有表示cj符號的符號比特。在示例性實現(xiàn)中,使用相同的變長編碼表來對不同系數(shù)的幅度進行編碼??梢允褂貌煌木幋a表。零幅度不包括在有效選項中,因為這種可能性可以由MCP碼字表示。
通過利用公式19計算的最終運動矢量場分量對應(yīng)于如下面公式所示的離散化步驟公式25D=1655360.0000152587890625]]>如果(Δx(x,y),Δy(x,y))表示段Si的最終運動補償位移,則在之前幀中的相應(yīng)非整數(shù)坐標(biāo)為公式26x′=x+Δx(x,y)·Dy′=y(tǒng)+Δy(x,y)·D在優(yōu)選實施例中,參考幀Rref是M×N象素的大小,具有{0,1,…,255}范圍的強度值。有效象素坐標(biāo){x’,y’}只在范圍{0,1,…,M-1}×{0,1,…,N-1}中被定義。當(dāng)運動補償預(yù)測需要計算參考幀Rref中非整數(shù)位置的亮度和色度值時,采用離散型式的三次卷積內(nèi)插(cubicconvolution interpolation)。在示例性實現(xiàn)中,如下所述,當(dāng)計算參考幀中的重建值時采用定點精度。
首先,對應(yīng)于段Si中象素(x,y)的整數(shù)值位移(Δx(x,y),Δy(x,y))用模65536的形式表示如下公式27Δx(x,y)=dx·65536+δx,δx∈{0,1,…,65535}Δx(x,y)=dy·65536+δy,δy∈{0,1,…,65535}其中dx,dy,6x和δy都是整數(shù)值,而后面兩個總是非負數(shù)。
4×4的三次卷積窗的x’j,y’k整數(shù)值坐標(biāo)被定義如下公式28x′j=sat(x+dx+j-2,M-1),j=1,2,3,4x′k=sat(y+dy+k-2,N-1),k=1,2,3,4其中sat(u,v)是如下式表示的飽和函數(shù)公式29 因此,用于三次卷積的16個整數(shù)象素值rjk如下公式29rjk=Rref(x′j,y′k)j,k=1,2,3,4其中x’j,y’k是公式28中計算的整數(shù)值坐標(biāo)。
接著,計算卷積系數(shù)。在下面,通過舍位的整數(shù)除法用“/”表示,兩者或其操作數(shù)總是非負整數(shù)。通過利用整數(shù)舍位,下面uj、vk(j,k=1,2,3,4)被計算如下公式31u1=spl(δx/256+256)v1=spl(δy/256+256)u2=spl(δx/256)v2=spl(δy/256)u3=spl(256-(δx/256)) 以及v3=spl(256-(δy/256))u4=16384-(u1+u2+u3) v4=16384-(v1+v2+v3)其中δx和δy是公式27的整數(shù)值,spl(s)是正整數(shù)變元的整數(shù)值函數(shù)。
公式32 接著計算參考象素值。通過利用舍位的整數(shù)除法,參考象素值被計算如下公式33r=sat((r11r21r31r41r12r22r32r42r13r23r33r43r14r24r34r44·u1u2u3u4/256)T·v1v2v4v4+219)/220,255)]]>其中公式30給出整數(shù)值系數(shù)rik,公式31給出整數(shù)值系數(shù)uj,vk(j,k=1,2,3,4),而公式29給出函數(shù)sat(.,.)。
在運動分析器,通過采用Rref(x,y)的一階泰勒展開來執(zhí)行線性化步驟公式34
x′p=xp+Δx(xp,yp)y′p=y(tǒng)p+Δy(xp,yp)關(guān)于x和y公式35Rref(xp+Δxprd(xp,yp)+Δxrefine(xp,yp),yp+Δyprd(xp,yp)+Δyrefine(xp,yp)≈Rref(x′p,y′p)+(Δxrefine(xp,yp)+Δxprd(xp,yp)-Δx(xp,yp))·Gx(x′p,y′p)+(Δyrefine(xp,yp)+Δyprd(xp,yp)-Δy(xp,yp))·Gy(x′p,y′p)Gx(x’p,y’p)和Gy(x’p,y’p)是參考幀相對于x和y的導(dǎo)數(shù)值。利用這種近似法,公式14中的矩陣Ei和矢量wi的元素為公式36 公式37wp=In(xp,yp)-Rref(x′p,y′p)+Gx(x′p,y′p)Δx(xp,yp)+Gy(x′p,y′p)Δy(xp,yp)-Gx(x′p,y′p)Δxprd(xp,yp)-Gy(x′p,y′p)Δyprd(xp,yp)以上描述針對的是實現(xiàn)本發(fā)明的優(yōu)選示例,本發(fā)明的范圍不應(yīng)該限于本描述。本發(fā)明的范圍由后附權(quán)利要求書來定義。
權(quán)利要求
1.在一種操作視頻序列的方法中,所述視頻序列包括至少當(dāng)前視頻幀和參考視頻幀,所述當(dāng)前視頻幀包括至少一個第一相鄰段和第二相鄰段,用于所述當(dāng)前幀的運動補償預(yù)測的方法的改進包括檢索之前儲存的第一運動場模型,所述第一運動場模型是第一運動矢量場的模型,它關(guān)于所述參考視頻幀中的象素來描述所述第一相鄰段中象素的位移;確定第二運動矢量場,它關(guān)于所述參考視頻幀中的象素來描述所述當(dāng)前視頻幀的所述第二相鄰段中的象素的位移;利用運動模型來模擬所述第二運動矢量場,以形成第二運動場模型;根據(jù)所述第一運動場模型來近似所述第二運動場模型,以形成預(yù)測場模型;將所述第二運動場模型與所述預(yù)測場模型進行比較,并形成求精場(refinement field)模型,所述求精場模型表示所述第二運動場模型和所述預(yù)測場模型之間的差異;通過對所述預(yù)測場模型和所述求精場模型求和來建立所述第二運動場模型的其它模型表示;計算第一成本函數(shù)(cost function),其中所述第一成本函數(shù)包括遭受的第一圖像失真的量度(measure)和在使用所述第二運動場模型時所需的第一數(shù)據(jù)量的量度;計算第二成本函數(shù),其中所述第二成本函數(shù)包括遭受的第二圖像失真的量度和在使用所述第二運動場的所述其它模型表示時所需的第二數(shù)據(jù)量的量度;將所述第一和第二成本函數(shù)進行比較,并確定所述第一和第二成本函數(shù)中哪一個具有較小絕對值;在所述第二運動矢量場模型和所述第二運動矢量場的所述其它模型表示之間選擇與所述較小絕對值相關(guān)聯(lián)的供選擇的一個,以指示被選運動場模型,并儲存所述被選運動場模型。
2.如權(quán)利要求1所述的方法,其特征在于還包括對有關(guān)所述被選運動場模型的信息進行編碼。
3.如權(quán)利要求2所述的方法,其特征在于還包括向解碼器發(fā)送所述編碼信息,用于解碼。
4.如權(quán)利要求2所述的方法,其特征在于還包括將所述編碼信息儲存在存儲裝置中。
5.如權(quán)利要求1所述的方法,其特征在于所述第一運動場模型、所述第二運動場模型、所述第二運動場模型、所述預(yù)測場模型和所述求精場模型中的各個都被構(gòu)成為運動場基本函數(shù)的和,每一個所述運動場基本函數(shù)都與某個運動系數(shù)相乘。
6.如權(quán)利要求5所述的方法,其特征在于所述運動場基本函數(shù)是正交函數(shù)。
7.如權(quán)利要求6所述的方法,其特征在于所述第一運動場模型、所述第二運動場模型、所述預(yù)測場模型和所述求精場模型中的各個都是仿射運動場模型。
8.如權(quán)利要求1所述的方法,其特征在于所述至少一個第一相鄰段和所述第二相鄰段是四邊形的。
9.如權(quán)利要求1所述的方法,其特征在于還包括將所述至少一個第一相鄰段分成多個子段,并利用至少一個所述子段的運動場模型以形成所述預(yù)測場模型。
10.如權(quán)利要求1所述的方法,其特征在于所述預(yù)測場模型是通過對所述至少一個相鄰段的運動場模型進行投影來形成的。
11.如權(quán)利要求1所述的方法,其特征在于所述預(yù)測場模型是通過對從一個以上的第一相鄰段確定的所述第二運動矢量場的近似求平均來形成的。
12.如權(quán)利要求1所述的方法,其特征在于所述預(yù)測場模型是通過對從一個以上的第一相鄰段確定的所述第二場模型的近似求平均來形成的。
13.如權(quán)利要求1所述的方法,其特征在于計算所述第一成本函數(shù)的所述步驟是利用拉格朗日準(zhǔn)則(Lagrangian criterion)來執(zhí)行的。
14.如權(quán)利要求13所述的方法,其特征在于所述拉格朗日準(zhǔn)則具有L=D+λ·B的形式,其中D是在對給定運動系數(shù)組進行編碼時遭受的失真,B是表示所述運動系數(shù)所需的比特數(shù),λ是乘法拉格朗日參數(shù)(multiplying Lagrangian parameter)。
15.如權(quán)利要求1所述的方法,其特征在于利用共同的基本函數(shù)組來表示所述預(yù)測運動場和所述求精運動場。
16.如權(quán)利要求1所述的方法,其特征在于還包括確定第一閾值;識別在所述求精場模型的所有運動系數(shù)中具有最小值的所述求精場模型的運動的系數(shù);確定通過把所述最小運動系數(shù)設(shè)置為零所遭受的第三成本函數(shù);在所述第三圖像失真沒有超過所述第一閾值的情況下,通過把所述最小值的運動系數(shù)設(shè)置為零來形成所述求精場的近似;
17.如權(quán)利要求1所述的方法,其特征在于如果所述被選運動場模型是所述第二運動場模型,則所述方法還包括把所述預(yù)測場模型的所有運動系數(shù)設(shè)置為零;把所述求精場模型的所有運動系數(shù)設(shè)置為等于所述第二運動場模型的所述運動系數(shù)。
18.如權(quán)利要求17所述的方法,其特征在于所述對信息編碼以依賴于所述被選場模型的方式發(fā)生。
19.如權(quán)利要求18所述的方法,其特征在于如果所述被選場模型是所述第二運動場模型,則所述對信息編碼包括對所述求精場模型進行編碼的步驟。
20.如權(quán)利要求18所述的方法,其特征在于如果所述被選場模型是所述其它模型表示,則所述對信息編碼包括以下步驟對所述預(yù)測場模型進行編碼;對所述求精場模型進行編碼。
21.如權(quán)利要求20所述的方法,其特征在于所述對所述求精場模型進行編碼包括以下步驟通過對第一和第二值中供選擇的一個設(shè)置運動系數(shù)指示符,指示所述編碼信息包括所述求精場模型的所述運動系數(shù);通過設(shè)置運動系數(shù)模式指示符,指示所述運動系數(shù)中那些具有非零值;對所述非零運動系數(shù)值進行編碼。
22.如權(quán)利要求21所述的方法,其特征在于通過指示幅值和符號來對各個所述非零運動系數(shù)值進行編碼。
23.如權(quán)利要求20所述的方法,其特征在于對所述預(yù)測場模型進行編碼包括以下步驟通過對第一和第二值中供選擇的一個設(shè)置運動系數(shù)指示符,指示所述編碼信息不包括運動系數(shù)值;通過設(shè)置方向鑒別指示符,指示關(guān)于所述至少一個第一相鄰段的所述第二相鄰段的建立所述其它模型表示的方向。
24.如權(quán)利要求23所述的方法,其特征在于對所述預(yù)測場模型進行編碼還包括以下步驟通過設(shè)置子段鑒別指示符,指示建立所述其它模型表示的所述至少一個第一相鄰段的子段。
25.在一種操作視頻序列的方法中,所述視頻序列包括至少當(dāng)前視頻幀和參考視頻幀,所述當(dāng)前視頻幀包括至少一個第一相鄰段和第二相鄰段,用于所述當(dāng)前視頻幀的運動補償預(yù)測的方法的改進包括檢索至少一個之前儲存的第一運動場模型,所述至少一個第一運動場模型是第一運動矢量場的模型,它關(guān)于所述參考視頻幀中的象素來描述所述至少一個第一相鄰段中象素的位移;確定第二運動矢量場,它關(guān)于所述參考視頻幀中的象素來描述所述當(dāng)前視頻幀的所述第二相鄰段中的象素的位移;利用運動模型來模擬所述第二運動矢量場,以形成第二運動場模型;根據(jù)所述至少一個第一運動場模型來近似所述第二運動場模型,以形成預(yù)測場模型;
26.在一種用于對包括至少一個當(dāng)前視頻幀的視頻序列進行操作的視頻設(shè)備中,所述當(dāng)前視頻幀具有至少一個第一相鄰段和第二相鄰段,一種用于形成所述第二相鄰段的運動矢量場的近似的裝置的改進,所述裝置包括運動矢量場建立器,它被連接以接收表示第一仿射運動模型指示并接收所述第二相鄰段的指示,所述第一仿射運動模型形成表示所述第一相鄰段的第一運動矢量場的近似,所述運動矢量場建立器用于對表示所述第一仿射運動模型的指示進行響應(yīng)而形成第二仿射運動模型,所述第二仿射運動模型形成所述第二相鄰段的運動矢量場的近似。
27.如權(quán)利要求26所述的裝置,其特征在于所述視頻序列還包括參考視頻幀,所述運動矢量場建立器還被連接以接收所述參考視頻幀的指示,所述第二仿射運動模型是對表示所述第一仿射模型和所述參考視頻幀的被選部分的指示中供選擇的一個進行響應(yīng)。
28.如權(quán)利要求27所述的裝置,其特征在于所述運動矢量場建立器還計算第二運動矢量場,計算的所述第二運動矢量場響應(yīng)所述參考視頻幀的所述被選部分。
29.如權(quán)利要求28所述的裝置,其特征在于所述運動矢量場建立器還確定所述第二運動矢量場和所述第二仿射運動模型之間的差異,其差異構(gòu)成求精場模型。
30.如權(quán)利要求29所述的裝置,其特征在于所述運動矢量場建立器還建立所述第二運動矢量場的其它表示模型,所述第二運動矢量場的所述其它表示模型是由所述求精場模型和所述第二仿射運動模型的組合構(gòu)成的。
31.如權(quán)利要求30所述的裝置,其特征在于所述運動矢量場建立器還確定成本函數(shù),所述成本函數(shù)至少部分地是與所述第二運動矢量場和所述第二仿射運動模型中至少一個被選的有關(guān)的數(shù)據(jù)要求和圖像失真的表示。
32.如權(quán)利要求31所述的裝置,其特征在于所述運動矢量場建立器還利用所述第二運動矢量場和所述第二仿射運動模型中被選的一個,所作選擇響應(yīng)于所述成本函數(shù)。
33.如權(quán)利要求27所述的裝置,其特征在于所述運動矢量場建立器還選擇表示所述第一仿射模型和所述參考視頻幀的所述被選部分的指示中供選擇的一個,所述第二仿射運動模型是對此進行響應(yīng)而形成的。
34.如權(quán)利要求26所述的裝置,其特征在于所述第一仿射運動模型具有與其相關(guān)聯(lián)的第一仿射運動系數(shù),所述運動矢量場建立器還對所述第一仿射運動模型的值進行投影以形成所述第二仿射運動模型。
35.如權(quán)利要求26所述的裝置,其特征在于所述當(dāng)前視頻幀還具有第三相鄰段,所述第三相鄰段與所述第一相鄰段和所述第二相鄰段相鄰,所述運動矢量場建立器還被連接以接收所述第二相鄰段的指示,所述運動矢量場建立器還用于響應(yīng)所述第一仿射運動模型和所述第二仿射運動模型中被選的供選擇的一個,而形成第三仿射運動模型。
36.如權(quán)利要求35所述的裝置,其特征在于所述運動矢量場建立器還選擇所述第一仿射運動模型和所述第二仿射運動模型中所述供選擇的一個,所述第三仿射運動模型是對此進行響應(yīng)而形成的。
37.如權(quán)利要求26所述的裝置,其特征在于所述視頻設(shè)備構(gòu)成視頻序列發(fā)生器,所述視頻序列發(fā)生器具有編碼器,并且所述運動矢量場建立器構(gòu)成所述編碼器的一部分。
38.如權(quán)利要求26所述的裝置,其特征在于所述視頻設(shè)備構(gòu)成視頻序列接收機,所述視頻序列接收機具有解碼器,并且所述運動場建立器構(gòu)成所述解碼器的一部分。
39.在一種操作視頻序列的方法中,所述視頻序列包括至少一個當(dāng)前視頻幀,所述當(dāng)前視頻幀具有至少一個第一相鄰段和第二相鄰段,一種用于形成所述第二相鄰段的運動矢量場的近似的方法的改進,所述方法包括形成表示所述第一相鄰段的第一運動矢量場;用第一仿射運動模型來作所述第一運動矢量場的模型;以及對所述建模操作期間建模的所述第一運動矢量場進行響應(yīng),形成第二仿射運動矢量模型,所述第二仿射運動模型形成所述第二相鄰段的運動矢量場的近似。
40.如權(quán)利要求39所述的方法,其特征在于所述當(dāng)前視頻幀還包括第三相鄰段,所述第三相鄰段與所述第一相鄰段和所述第二相鄰段相鄰,所述方法還用于形成所述第三相鄰段的運動矢量場的近似,所述方法包括以下操作響應(yīng)于所述第一仿射運動模型和第二仿射運動模型中供選擇的一個而形成第三仿射運動模型。
41.如權(quán)利要求39所述的方法,其特征在于所述視頻序列還包括參考視頻幀,并且在形成所述第二仿射運動模型的所述操作期間形成的所述第二仿射運動矢量場是對所述第一運動矢量場和所述參考幀的一部分中供選擇的一個作出響應(yīng)。
42.如權(quán)利要求41所述的方法,其特征在于還包括以下的附加操作選擇所述第一運動矢量場和所述參考幀中的一個,所述第二仿射運動模型是對此進行響應(yīng)而形成的。
43.在一種用于對包括至少一個當(dāng)前視頻幀和參考視頻幀的視頻序列進行操作的視頻設(shè)備中,所述當(dāng)前視頻幀具有至少一個第一相鄰段和第二相鄰段,一種用于形成運動矢量場的近似的裝置的改進,所述裝置包括運動矢量場建立器,它被連接以接收表示所述第一相鄰段和所述第二相鄰段中被選的一個的指示及表示所述參考視頻幀的部分的指示,所述運動矢量場建立器用于確定所述第一和第二相鄰段中所述被選的一個和所述參考視頻幀的被選部分之間的映射,并用于用仿射運動模型來近似所述映射,所述仿射運動模型形成所述運動矢量場的近似。
44.如權(quán)利要求43所述的裝置,其特征在于所述第一相鄰段和所述第二相鄰段中所述被選的一個包括所述第一相鄰段,并且形成所述運動矢量場的所述近似的所述仿射運動模型包括第一仿射運動模型,所述第一仿射運動模型表示所述第一相鄰段。
45.如權(quán)利要求43所述的裝置,其特征在于所述第一相鄰段和所述第二相鄰段中所述被選的一個還包括所述第二相鄰段,所述運動矢量場建立器還用于確定所述第二相鄰段和所述參考視頻幀的所述被選部分與所述第一相鄰段中供選擇的一個之間的映射,并且形成所述運動矢量場的近似的所述仿射運動模型還包括第二仿射運動模型,所述第二仿射運動模型表示所述第二相鄰段。
46.如權(quán)利要求43所述的裝置,其特征在于所述視頻設(shè)備包括視頻序列發(fā)生器,所述視頻序列發(fā)生器具有編碼器,并且所述運動矢量場建立器包括編碼器的一部分。
47.如權(quán)利要求43所述的裝置,其特征在于所述視頻裝置包括視頻序列接收機,所述視頻序列接收機具有解碼器,并且所述運動矢量場建立器包括所述解碼器的一部分。
48.在一種對視頻序列進行解碼的方法中,所述視頻序列包括至少一個當(dāng)前視頻幀和參考幀,所述當(dāng)前幀包括至少一個第一相鄰段和第二相鄰段,一種用于對所述當(dāng)前視頻幀進行解碼的方法的改進包括以下步驟接收信息類型的指示;接收所述第二相鄰段的段重建信息;響應(yīng)所述指示而選擇段重建模式;按照所述被選段重建模式來重建所述第二相鄰段。
49.如權(quán)利要求48所述的方法,其特征在于所述被選段重建模式是一組段重建模式中的一種,所述段重建模式組包括第一段重建模式,其中所述段重建信息包括要在重建所述相鄰段的所述步驟中使用的第一相鄰段的指示。第二段重建模式,其中所述段重建信息包括運動系數(shù)信息。
50.如權(quán)利要求49所述的方法,其特征在于所述段重建模式組還包括第三段重建模式,其中所述段重建信息包括來自所述參考幀的象素值的指示;第四段重建模式,其中所述段重建信息包括來自所述當(dāng)前幀的象素值的指示。
51.如權(quán)利要求49所述的方法,其特征在于所述第一相鄰段的指示包括有關(guān)所述第一相鄰段相對于所述第二相鄰段的位置的信息。
52.如權(quán)利要求51所述的方法,其特征在于所述第一相鄰段的指示還包括有關(guān)所述第一相鄰段中子段的信息。
53.如權(quán)利要求49所述的方法,其特征在于所述運動系數(shù)信息包括具有至少一個非零運動系數(shù)值的指示。
54.如權(quán)利要求53所述的方法,其特征在于所述具有至少一個非零運動系數(shù)值的指示包括非零系數(shù)模式指示和至少一個非零系數(shù)值。
55.如權(quán)利要求49所述的方法,其特征在于所述第一段重建模式包括利用從表示所述第一相鄰段的第一運動場模型導(dǎo)出的預(yù)測運動場模型。
56.如權(quán)利要求55所述的方法,其特征在于通過將所述第一相鄰段的所述第一運動場模型投影到所述第二相鄰段來建立所述預(yù)測運動場模型。
57.如權(quán)利要求49所述的方法,其特征在于所述第二段重建模式包括利用求精運動場模型。
58.如權(quán)利要求57所述的方法,其特征在于所述求精運動場模型是通過至少一個運動系數(shù)值的指示來表示的。
59.如權(quán)利要求57所述的方法,其特征在于所述求精運動場模型表示第二運動場模型和所述預(yù)測運動場模型之間的差異,其中所述第二運動場模型是從所述參考幀導(dǎo)出的所述第二段的表示。
60.如權(quán)利要求57所述的方法,其特征在于所述求精運動場模型是從所述參考幀導(dǎo)出的所述第二段的表示。
61.在一種對視頻序列進行編碼的方法中,所述視頻序列包括至少一個當(dāng)前視頻幀和參考視頻幀,所述當(dāng)前視頻幀包括至少一個第一相鄰段和第二相鄰段,一種用于當(dāng)前視頻幀的運動補償預(yù)測的方法的改進包括為所述第二相鄰段定義一組編碼模式;計算一組成本函數(shù),每一個所述成本函數(shù)與所述編碼模式組中的一種模式相關(guān)聯(lián);在所述成本函數(shù)組中選擇具有最小絕對值的一個成本函數(shù);定義所述編碼模式組中與所述最小絕對值相關(guān)聯(lián)的一種編碼模式作為用于所述第二相鄰段的被選編碼模式;按照所述被選編碼模式對有關(guān)所述第二相鄰段的信息進行編碼。
62.如權(quán)利要求61所述的方法,其特征在于還包括向解碼器發(fā)送所述編碼信息,用于解碼。
63.如權(quán)利要求61所述的方法,其特征在于還包括將所述編碼信息儲存在存儲單元中。
64.如權(quán)利要求61所述的方法,其特征在于所述編碼模式組包括第一編碼模式,其中來自所述第一相鄰段的運動場模型被投影到所述第二相鄰段以形成預(yù)測運動場模型,并且所述第二相鄰段由所述預(yù)測運動場模型來表示;第二編碼模式,其中所述第二相鄰段由從所述參考幀導(dǎo)出的運動場模型來表示;第三編碼模式,其中來自所述第一相鄰段的運動場模型被投影到所述第二相鄰段以形成投影場模型,并且所述第二相鄰段由所述預(yù)測運動場模型和求精運動場模型來表示;
65.如權(quán)利要求64所述的方法,其特征在于所述編碼模式組還包括第四編碼模式,其中利用來自所述參考幀的象素值對所述第二相鄰段進行編碼;第五編碼模式,其中利用來自所述當(dāng)前幀的象素值對所述第二相鄰段進行編碼。
66.如權(quán)利要求64所述的方法,其特征在于所述求精運動場模型表示從所述參考幀導(dǎo)出的所述運動場模型和所述預(yù)測運動場模型之間的差異。
67.如權(quán)利要求64所述的方法,其特征在于所述預(yù)測運動場模型、所述求精運動場模型和從所述參考幀導(dǎo)出的所述運動場模型包括一組基本函數(shù),每一個所述基本函數(shù)都與某個運動系數(shù)值相乘。
68.如權(quán)利要求67所述的方法,其特征在于所述基本函數(shù)是正交函數(shù)。
69.如權(quán)利要求68所述的方法,其特征在于所述預(yù)測運動場模型、所述求精運動場模型和從所述參考幀導(dǎo)出的所述運動場模型是仿射運動場模型。
70.如權(quán)利要求61所述的方法,其特征在于所述成本函數(shù)組中的每一個成本函數(shù)都包括遭受的圖像失真的量度和在使用給定的一個所述編碼模式時所需數(shù)據(jù)量的量度。
71.如權(quán)利要求70所述的方法,其特征在于利用拉格朗日準(zhǔn)則來計算所述成本函數(shù)組中的每一個成本函數(shù)。
72.如權(quán)利要求71所述的方法,其特征在于所述拉格朗日準(zhǔn)則具有L=D+λ·B的形式,其中D是在對給定運動系數(shù)組進行編碼時遭受的失真的量度,B是表示所述運動系數(shù)所需的比特數(shù),而λ是拉格朗日參數(shù)。
73.如權(quán)利要求67所述的方法,其特征在于利用共同的基本函數(shù)組來表示所述預(yù)測運動場和所述求精運動場。
74.如權(quán)利要求67所述的方法,其特征在于通過去除運動系數(shù)來近似所述求精運動場模型。
75.如權(quán)利要求64所述的方法,其特征在于所述當(dāng)前幀包括多個第一相鄰段,所述方法還包括以下步驟形成多個預(yù)測運動場模型,一個預(yù)測運動場模型對應(yīng)于所述多個第一相鄰段中各自的第一相鄰段;形成多個求精運動場模型,各個求精運動場模型對應(yīng)于所述多個預(yù)測運動場模型中給定的一個預(yù)測運動場模型。
76.如權(quán)利要求75所述的方法,其特征在于所述預(yù)測運動場模型是以一個以上第一相鄰段為基礎(chǔ)形成的。
77.如權(quán)利要求76所述的方法,其特征在于所述預(yù)測運動場模型是通過對來自一個以上的第一相鄰段的運動場模型的投影求平均而形成的。
78.如權(quán)利要求64所述的方法,其特征在于所述方法還包括把所述第一相鄰段分為多個子段并利用至少一個所述子段的運動場模型來形成所述預(yù)測運動場模型。
79.如權(quán)利要求61所述的方法,其特征在于所述對信息進行編碼以依賴于所述被選場模型的方式而發(fā)生。
80.如權(quán)利要求79所述的方法,其特征在于如果所述被選編碼模式是所述第二編碼模式,則所述方法還包括將所述求精運動場模型的所有運動系數(shù)設(shè)置為等于從所述參考幀導(dǎo)出的所述運動場模型的所述運動系數(shù)。
81.如權(quán)利要求80所述的方法,其特征在于所述對信息進行編碼包括對所述求精運動場模型進行編碼的步驟。
82.如權(quán)利要求79所述的方法,其特征在于如果所述被選編碼模型是所述第一編碼模式,則所述對信息進行編碼包括對所述預(yù)測運動場模型進行編碼的步驟。
83.如權(quán)利要求79所述的方法,其特征在于如果所述被選編碼模式是所述第三編碼模式,則所述對信息進行編碼包括以下步驟對所述預(yù)測運動場模型進行編碼;對所述求精運動場模型進行編碼。
84.如權(quán)利要求81所述的方法,其特征在于所述對所述求精運動場模型進程編碼包括以下步驟通過對第一和第二值中供選擇的一個設(shè)置運動系數(shù)指示符來指示所述編碼信息包括所述求精場模型的所述運動系數(shù);通過設(shè)置運動系數(shù)指示符來指示所述求精場模型的所述運動系數(shù)中哪些具有非零值;對所述非零值進行編碼。
85.如權(quán)利要求83所述的方法,其特征在于所述對所述求精運動場模型進行編碼包括以下步驟通過對第一和第二值中供選擇的一個設(shè)置運動系數(shù)指示符來指示所述編碼信息包括所述求精場模型的所述運動系數(shù);通過設(shè)置運動系數(shù)模式指示符來指示所述求精場模型的所述運動系數(shù)中的哪些具有非零值;對所述非零值進行編碼。
86.如權(quán)利要求84所述的方法,其特征在于各個所述非零系數(shù)值是通過指示幅度和符號來進行編碼的。
87.如權(quán)利要求82所述的方法,其特征在于對所述預(yù)測運動場模型進行編碼包括通過對第一和第二值中供選擇的一個設(shè)置運動系數(shù)指示符來指示所述編碼信息不包括運動系數(shù)值。
88.如權(quán)利要求87所述的方法,其特征在于對所述預(yù)測運動場模型進行編碼還包括指示某個方向,所述方向用于識別形成所述預(yù)測運動場模型的所述第一相鄰段相對于所述第二相鄰段的相對位置。
89.如權(quán)利要求88所述的方法,其特征在于對所述預(yù)測運動場模型進行編碼還包括通過設(shè)置子段鑒別指示符來指示形成所述預(yù)測運動場模型的所述第一相鄰段的子段。
90.如權(quán)利要求83所述的方法,其特征在于對所述預(yù)測運動場模型進行編碼包括通過對第一和第二值中供選擇的一個設(shè)置運動系數(shù)指示符來指示所述編碼信息不包括運動系數(shù)值。
91.如權(quán)利要求90所述的方法,其特征在于對所述預(yù)測運動場模型進行編碼還包括指示某個方向,所述方向用于識別形成所述預(yù)測運動場模型的所述第一相鄰段相對于所述第二相鄰段的相對位置。
92.如權(quán)利要求91所述的方法,其特征在于對所述預(yù)測運動場模型進行編碼還包括通過設(shè)置子段鑒別指示符來指示形成所述預(yù)測運動場模型的所述第一相鄰段的子段。
全文摘要
視頻序列的運動補償編碼的裝置和相關(guān)方法。運動補償預(yù)測被用于運動矢量場的表示。需要減少數(shù)量的比特來表示運動矢量場,同時保持低預(yù)測誤差,由此便于改進形成視頻序列的視頻幀的傳送和重建。
文檔編號H04N7/26GK1378750SQ00814037
公開日2002年11月6日 申請日期2000年8月10日 優(yōu)先權(quán)日1999年8月11日
發(fā)明者M·卡策維茨, J·萊尼曼, B·-P·多布林 申請人:諾基亞有限公司