專利名稱:管理預(yù)測運(yùn)動向量候選的制作方法
技術(shù)領(lǐng)域:
本申請涉及管理PMV候選的方法、視頻編碼設(shè)備、視頻解碼設(shè)備和計算機(jī)可讀介質(zhì)。
背景技術(shù):
最近的視頻編碼標(biāo)準(zhǔn)是基于混合編碼原理的,它包括視頻幀的運(yùn)動補(bǔ)償時間預(yù)測和幀殘差信號的編碼。對于有效的運(yùn)動補(bǔ)償時間預(yù)測,使用基于塊的運(yùn)動模型來描述跨越幀的像素塊的運(yùn)動。為每個運(yùn)動補(bǔ)償塊指派一個運(yùn)動向量(對于單預(yù)測性時間預(yù)測,例如在P幀中)或兩個運(yùn)動向量(對于雙預(yù)測性時間預(yù)測,例如在B幀中)。在視頻位流中編碼這些運(yùn)動向量以及幀殘差信號。
在高壓縮比下(或等效地,在低視頻位速率下),運(yùn)動向量編碼花費(fèi)總位量中的大部分,尤其是在諸如使用小運(yùn)動補(bǔ)償塊大小的H. 264/AVC的最近的視頻編碼標(biāo)準(zhǔn)中更是如此。通常,使用運(yùn)動向量的無損預(yù)測性編碼,即,運(yùn)動向量MV的編碼由以下部分組成首先,為即將編碼的向量構(gòu)建運(yùn)動向量預(yù)測值PMV;然后,傳送運(yùn)動向量與運(yùn)動向量預(yù)測值之間的差 DMV,其中 DMV=MV-PMV。在H. 264/AVC中,按三個空間相鄰塊的運(yùn)動向量的中值來導(dǎo)出PMV。其它方法還考慮時間相鄰塊(即,共同位于相鄰幀中)來進(jìn)行運(yùn)動向量預(yù)測。取代使用固定規(guī)則來構(gòu)建PMV,提出了最新的方法,它們明示地發(fā)信號通知PMV候選集合PMV_CANDS中的要使用的PMV。盡管這要求額外的位來發(fā)信號通知集合中的一個候選,但它總的來說能節(jié)省用于運(yùn)動向量編碼的位,因?yàn)镈MV編碼能更加有效。即,標(biāo)識PMV和發(fā)信號通知DMV能比獨(dú)立地發(fā)信號通知MV花費(fèi)更少的位。使用PMV候選信令的運(yùn)動向量編碼方案的效率取決于PMV_CANDS中的可用候選的合適性。即,候選列表的構(gòu)造對編碼性能有主要影響?,F(xiàn)有的方法通常使用來自空間環(huán)繞塊或時間相鄰塊(共同位于相鄰幀中的塊)的運(yùn)動向量。PMV_CANDS的這種構(gòu)造、即只考慮少數(shù)幾個環(huán)繞塊作為運(yùn)動向量預(yù)測值的來源能是次優(yōu)的。PMV_CANDS中的候選的數(shù)量,即PMV_CANDS的“長度”,對編碼效率也有主要影響。原因是,候選的數(shù)量越大,發(fā)信號通知候選之一所要求的位數(shù)也越大,而這又造成額外的開銷并且因此降低壓縮效率。現(xiàn)有的方法假設(shè)PMV_CANDS中有固定數(shù)量的候選(例如,空間相鄰的運(yùn)動向量)對于視頻幀或序列的編碼有效,并且只有在一些候選相同時才可減少候選的數(shù)量。運(yùn)動向量編碼能要求在視頻編碼中有顯著比例的可用位速率。改進(jìn)PMV候選的數(shù)量可減小必須發(fā)信號通知的差值(DMV)的大小,但是要求更多的信令來標(biāo)識特定PMV。因此,為了改進(jìn)視頻編碼效率,要求改進(jìn)的方法和設(shè)備來管理PMV候選。Sung Deuk Kim 和 Jong Beom Ra 發(fā)表的“ An efficient motion vector codingscheme based on minimum bitrate prediction,'丄 EEE Trans. Image Proc·,弟 8在,果8期,1999年8月,第1117-1120頁)描述了ー種基于最小位速率預(yù)測的運(yùn)動向量編碼技木。從三個因果相鄰運(yùn)動向量中選擇預(yù)測運(yùn)動向量,以使得它能在運(yùn)動向量差編碼中產(chǎn)生最小位速率。然后,編碼預(yù)測誤差或運(yùn)動向量差以及用于確定解碼器處的預(yù)測運(yùn)動向量的模式信息并將它們按順序進(jìn)行傳送。Joel Jung 和 Guillaume Laroche 的“Competition-Based Scheme for MotionVector Selection and Coding,,(Video Coding Experts Group (VCEG) of ITU-Telecommunications Standardization Sector,文獻(xiàn)號 VCEG-ACO6, Klagenfurt,Austria, 2006年7月)描述了ー種用于降低視頻編碼中的運(yùn)動信息成本的方法。公開了對運(yùn)動向量預(yù)測值的選擇所做的兩處修改需要傳送的運(yùn)動向量的預(yù)測的改進(jìn);以及用于増加不要求發(fā)送任何運(yùn)動信息的宏塊的數(shù)量的跳過模式。Jung等人的US 2009/0129464涉及自適應(yīng)編碼和解碼。該文獻(xiàn)描述了ー種用于傳送圖像部分的方法,憑借此方法,在分析編碼上下文的編碼階段,調(diào)適能用于編碼的一群預(yù)測函數(shù)的參數(shù)。使用所選擇的預(yù)測函數(shù)形成第一預(yù)測描述符。確定并傳送第一預(yù)測描述符和當(dāng)前描述符之間的余數(shù)。
發(fā)明內(nèi)容
提供ー種管理PMV候選的方法。該方法包括將PMV候選集合選擇為是之前編碼的運(yùn)動向量的子集。該方法還包括為PMV候選集合中的每個PMV候選指派ー個碼值。這些碼值在長度上有所變化,并且按照預(yù)期使用的順序指派給PMV候選,以使得具有最高預(yù)期使用的PMV候選具有最短碼值之一。以上方法允許使用較少的位來發(fā)信號通知較頻繁使用的PMV候選。這提供了編碼效率的増加。指派給每個PMV候選的碼值可包括產(chǎn)生具有變化長度的碼字的任何碼系統(tǒng)。例如,可根據(jù)以下各項(xiàng)的至少其中之一來指派碼值算木編碼;可變長度編碼;以及基于上下文的自適應(yīng)算木編碼。可從PMV候選集合中移除任何不必要的PMV候選。這確保列表的長度不會不必要地很長,長度長會降低編碼效率。如果滿足以下條件中的至少ー個條件,那么可確定PMV候選不必要PMV候選是集合中的另ー個PMV候選的復(fù)本;PMV候選經(jīng)確定在現(xiàn)有PMV候選的閾值距離內(nèi);以及由于至少一個備選PMV候選將允許使用更少的位來編碼運(yùn)動向量,所以PMV候選從不會使用。此外,如果從PMV候選列表中移除某個PMV候選集合會導(dǎo)致要求最多N個額外位來編碼任何單個運(yùn)動向量,其中N是預(yù)定閾值,那么可確定該P(yáng)MV候選集合不必要。從PMV候選列表中移除PMV候選集合允許使用更短的碼以及因此使用更少的位來發(fā)信號通知剩余PMV候選。但是,從PMV候選列表中移除PMV候選集合將導(dǎo)致一些運(yùn)動向量具有更大的差向量,這將要求更多的位來編碼。在數(shù)個運(yùn)動向量的平均值上,發(fā)信號通知使用哪個PMV候選的節(jié)省能超過發(fā)信號通知一些運(yùn)動向量所要求的最多N個額外位。在指派碼值之前,可根據(jù)PMV的預(yù)期使用來將PMV候選集合中的PMV候選進(jìn)行排序。隨后,可將碼值指派給在排序列表中的PMV候選。可按照排序條目的順序來指派碼值,以使得所指派的碼值的長度隨PMV候選在列表中的位置的增大而并非減小。可通過對之前編碼塊的集合所運(yùn)用的掃描模式來標(biāo)識PMV候選。掃描模式可標(biāo)識特定塊??梢园搭A(yù)期使用的順序布置掃描模式??梢园疵總€標(biāo)識塊與當(dāng)前塊的距離的增加的順序布置掃描模式。每個PMV候選可對應(yīng)于用于編碼之前塊的運(yùn)動向量,所述之前塊與當(dāng)前塊相距一定距離??梢愿鶕?jù)PMV候選的相應(yīng)的之前塊與當(dāng)前塊的距離來按順序?qū)⒋a值指派給PMV候選。距離可以按歐幾里德距離或切比雪夫距離來測量。歐幾里德距離能通過取當(dāng)前塊與之前塊之間的X位置和y位置之差的平方和的平方根來獲得。根據(jù)歐幾里德距離排序能通過按歐幾里德距離平方排序來執(zhí)行,平方根函數(shù)不會影響排序。通過以下差值的絕對值之和來給出曼哈頓距離當(dāng)前塊和之前塊的X坐標(biāo)差;以及當(dāng)前塊和之前塊的y坐標(biāo)差。切比雪夫距離定義為兩個值中的較大者,第一個值是當(dāng)前塊和之前塊的X坐標(biāo)差的絕對值,而第二個值是當(dāng)前塊和之前塊的y坐標(biāo)差的絕對值。首先,可根據(jù)切比雪夫距離來將PMV候選排序;然后,可根據(jù)歐幾里德距離來將具有相同切比雪夫距離的PMV候選進(jìn)ー步排序。這允許將PMV候選有效排序。 可采用該方法來進(jìn)行視頻編碼或視頻解碼,其中當(dāng)前塊是分別編碼或解碼的塊。還提供ー種包括處理器的視頻編碼設(shè)備,處理器布置成將PMV候選集合選擇為是之前編碼的運(yùn)動向量的子集。處理器還布置成為PMV候選集合中的每個PMV候選指派ー個碼值,其中這些碼值在長度上有所變化,并且按照預(yù)期使用的順序指派給PMV候選,以使得具有最高預(yù)期使用的PMV候選具有最短碼值之一。還提供ー種包括處理器的視頻解碼設(shè)備,處理器布置成將PMV候選集合選擇為是之前編碼的運(yùn)動向量的子集。處理器還布置成為PMV候選集合中的每個PMV候選指派ー個碼值,其中這些碼值在長度上有所變化,并且按照預(yù)期使用的順序指派給PMV候選,以使得具有最高預(yù)期使用的PMV候選具有最短碼值之一。還提供一種攜帶指令的計算機(jī)可讀介質(zhì),這些指令在由計算機(jī)邏輯執(zhí)行時使所述計算機(jī)邏輯進(jìn)行本文公開的任何方法。本文還提供用于構(gòu)建PMV候選列表PMV_CANDS的多種方法。將PMV_CANDS中的候選排序,并將PMV_CANDS中的候選之ー的使用從編碼器發(fā)信號通知給解碼器。該信令布置成使得為列表中的第一候選指派候選中的最短碼字,并且為列表中的隨后候選指派具有非減小長度的碼字(顯然,碼字上的候選的任何其它等效映射同樣適用)。然后,使用數(shù)種方法的組合,構(gòu)造PMV_CANDS集合以使得朝向列表的起點(diǎn)布置對于預(yù)測最有益的候選。并且,使用這些方法,選擇列表中的候選以使得它們允許有效地編碼運(yùn)動向量,并且如果只有幾個這樣的候選可用,那么減小列表的大小,使得能減小用于發(fā)信號通知候選的使用的碼字的長度。最后,介紹用于有效地發(fā)信號通知PMV候選的使用的方法。此外,提供ー種用于編碼運(yùn)動向量的方法,該方法包括標(biāo)識PMV候選集合;確定特定PMV候選具有這樣的坐標(biāo)值,這些坐標(biāo)值使得對于具有小于該特定PMV候選的坐標(biāo)值的X坐標(biāo)或y坐標(biāo)的運(yùn)動向量,PMV候選集合中的備選PMV候選能使用更少的位來編碼該運(yùn)動向量;確定將使用該特定PMV候選來編碼運(yùn)動向量;將差向量計算為運(yùn)動向量與特定PMV之間的差;以及編碼差向量而不編碼符號位。另外,提供一種用于解碼運(yùn)動向量的方法,該方法包括接收PMV候選的身份;接收不帶符號位的差值;基于差值的可能符號值來確定多個潛在的運(yùn)動向量;確定使用可用PMV候選來編碼所標(biāo)識的潛在運(yùn)動向量的最低位成本解決方案;以及選擇使用所標(biāo)識的PMV候選的運(yùn)動向量。在接收包含一個不帶符號位的差值的DMV的情況下,找到兩個潛在運(yùn)動向量。在接收包含兩個不帶符號位的差值的DMV的情況下,找到四個潛在運(yùn)動向量。通過運(yùn)用該方法,標(biāo)識了ー些情形,由此差分量(xdiff或ydiff)的符號只能取一個值。之所以能這樣做是因?yàn)?,系統(tǒng)選擇將位成本降至最低的PMV候選。如果差分量的符號未知,那么有兩個可能的運(yùn)動向量。在一些情形中,系統(tǒng)能標(biāo)識,會使用所指示的PMV以最小位成本來編碼其中一個運(yùn)動向量,而使用不同的PMV以最小位成本來編碼另一運(yùn)動向量。因此,系統(tǒng)能將差值的符號標(biāo)識為假設(shè)會使用所指示的PMV以最小位成本來編碼運(yùn)動向量的符號。因此,對于某些PMV候選,無需傳送有關(guān)差分量的至少其中之一的符號位,從而降低位成本并改進(jìn)編碼效率。
現(xiàn)在將參考附圖只是舉例說明來描述用于管理PMV候選的改進(jìn)的方法和設(shè)備,附 圖中
圖I示出視頻編碼和傳送系統(tǒng);
圖2a和圖2b分別示出在編碼和解碼期間PMV候選列表的使用;
圖3示出兩個PMV候選的實(shí)例;
圖4示出使用圖3的實(shí)例運(yùn)動向量來編碼運(yùn)動向量的位成本;以及 圖5示出本文公開的方法。
具體實(shí)施例方式圖I示出視頻編碼系統(tǒng),其中來自源110的視頻信號最終遞送到裝置160。來自源110的視頻信號經(jīng)過包含處理器125的編碼器120。編碼器120對視頻信號運(yùn)用編碼過程以便創(chuàng)建編碼的視頻流。編碼的視頻流發(fā)送到傳送器130,在傳送器130中,在傳送之前,它可接收諸如分組化的進(jìn)ー步處理。接收器140接收所傳送的編碼視頻流,并將它傳遞給解碼器150。解碼器150包含處理器155,在解碼編碼視頻流時采用處理器155。解碼器150將解碼后的視頻流輸出到裝置160。本文公開的方法在編碼期間在編碼器中執(zhí)行,以及也在解碼期間在解碼器中執(zhí)行。即使在編碼器中完成信令位的生成,也可這樣做。在解碼期間,解碼器解析這些位并模仿編碼器以便實(shí)現(xiàn)編碼器/解碼器同歩。由于編碼器和解碼器遵照相同的規(guī)則來創(chuàng)建和修改PMV候選集合,所以存儲在編碼器和解碼器中的相應(yīng)的PMV候選列表保持同歩。仍然可在某些環(huán)境下執(zhí)行PMV候選列表的明示信令。所描述的方法假設(shè)使用預(yù)測性編碼技術(shù)來編碼運(yùn)動向量(MV) 210,其中使用預(yù)測運(yùn)動向量(PMV) 220來預(yù)測MV 210,并且根據(jù)DMV=MV-PMV來找到預(yù)測誤差或差值(DMV)230。將DMV 230從編碼器120發(fā)信號通知給解碼器150。另外,發(fā)送碼“索引” 250以便選擇特定PMV候選,在此情況下是來自PMV候選列表(S卩,如圖2a所示的PMV_CANDS 240)的242。索引250可以與每個傳送的運(yùn)動向量MV 210、即每個子塊(例如,8X8像素塊)一起一次性發(fā)送。同樣,可以為運(yùn)動向量群(例如,姆個宏塊(16X 16塊))發(fā)送索引。PMV 候選列表 PMV_CANDS (240)具有 N 個元素,S卩,PMV_1 (241)、PMV_2 (242)、PMV_3 (243)等。列表PMV_CANDS 240可在編碼器120和解碼器150處同樣地得到。使用所傳送的索引,解碼器150能確定在編碼器中所使用的PMV 220,如圖2b所示的,并且因此可以重構(gòu)MV=DMV+PMV。有兩個主要的操作用于構(gòu)造PMV候選集合240,即,初始化和更新。“初始化”意味著建立列表的某種預(yù)定義狀態(tài)??蓪MV_CANDS列表初始化為例如空列表(零條目)或具有諸如零向量(0,0)的ー個或多個預(yù)定義條目的列表?!案隆币馕吨颥F(xiàn)有PMV_CANDS列表添加一個或多個運(yùn)動向量。可更新PMV_CANDS列表以包括之前編碼的運(yùn)動向量MV。在編碼器處,當(dāng)編碼當(dāng)前塊時,除了任何預(yù)定義的初始化向量之外,PMV_CANDS可包含與視頻中的之前編碼的塊相關(guān)聯(lián)的運(yùn)動向量。通過將PMV_CANDS中的可能候選約束為預(yù)定義向量和之前編碼的向量,解碼器能采用與編碼器相同的方法來導(dǎo)出列表 V_CANDS。 備選地,可在編碼器處將之前沒有編碼的一個或多個運(yùn)動向量候選添加到PMV_ CANDS列表中,然后將把那些運(yùn)動向量明示地發(fā)信號通知給解碼器以與PMV_CANDS —起使用,從而使得能在編碼器和解碼器處均以相同的方式更新PMV_CANDS。能特別為當(dāng)前運(yùn)動補(bǔ)償塊動態(tài)地生成用于編碼與當(dāng)前運(yùn)動補(bǔ)償塊相關(guān)聯(lián)的運(yùn)動向量MV的PMV_CANDS列表,即不考慮用于編碼與之前編碼的運(yùn)動補(bǔ)償塊相關(guān)聯(lián)的運(yùn)動向量MV的PMV_CANDS列表。在這種情況下,在處理某個塊之前,初始化PMV_CANDS列表,然后用多個之前編碼的或預(yù)定義的運(yùn)動向量來進(jìn)行更新。備選地,可一次性初始化PMV_CANDS列表(例如,在視頻編碼/解碼器啟動之前,或在處理某個幀之前,或在某個幀中編碼多個宏塊之后),然后將其用于編碼多于ー個運(yùn)動向量,其優(yōu)點(diǎn)是,導(dǎo)出PMV_CANDS列表的可能復(fù)雜的過程只需處理一次便可編碼運(yùn)動向量集合。但是,當(dāng)用于編碼多于ー個運(yùn)動向量時,可在編碼運(yùn)動向量之一之后再更新PMV_CANDS列表。例如,首先可使用PMV_CANDS列表來編碼與第一運(yùn)動補(bǔ)償塊相關(guān)聯(lián)的運(yùn)動向量MV,然后可使用向量MV來更新PMV_CANDS (例如,將MV添カロ到列表中),接著使用PMV_CANDS來編碼第二運(yùn)動補(bǔ)償塊。通過使用編碼的運(yùn)動向量來隨后更新PMV_CANDS,根據(jù)滑窗方法來更新列表。在視頻編碼期間,可根據(jù)滑窗方法來保持ー個或多個PMV_CANDS列表,例如每個幀類型ー個、每個宏塊類型ー個或每個參考幀ー個。當(dāng)編碼與雙預(yù)測運(yùn)動補(bǔ)償塊相關(guān)聯(lián)的兩個運(yùn)動向量時,可使用單個或兩個不同的PMV_CANDS列表。在處理與當(dāng)前運(yùn)動補(bǔ)償塊相關(guān)聯(lián)的運(yùn)動向量之前,可通過使用與周圍塊相關(guān)聯(lián)的運(yùn)動向量來更新用于編碼當(dāng)前運(yùn)動向量的PMV_CANDS列表。可更新PMV_CANDS列表,以使得朝向PMV_CANDS列表的起點(diǎn)插入與靠近的運(yùn)動補(bǔ)償塊相關(guān)聯(lián)的運(yùn)動向量(用較少的位發(fā)信號通知),而可朝向PMV_CANDS列表的末端插入與較遠(yuǎn)離的運(yùn)動補(bǔ)償塊相關(guān)聯(lián)的運(yùn)動向量。用于確定運(yùn)動補(bǔ)償塊有多遠(yuǎn)離當(dāng)前塊的可能度量包括歐幾里德距離(dx2+dy2,其中dx和dy分別是X和y方向上的距離);曼哈頓距離(絕對值之和I dx I+ |dy I );或切比雪夫距離(絕對值中的最大值max( |dx I, |dy|),它又稱為最大值度量、棋盤距離、框距離、Z00度量(L-無窮大度量)或Z00基準(zhǔn))。為此,可圍繞當(dāng)前塊執(zhí)行向外掃描以獲得運(yùn)動向量,從而更新PMV_CANDS。當(dāng)滿足以下條件中的至少ー個條件吋,掃描可終止
-已掃描完當(dāng)前幀的所有塊,-已掃描完預(yù)定義數(shù)量的隨后幀(例如,最后ー個幀)的所有塊,
-一旦達(dá)到某個距離,
-一旦找到預(yù)定義數(shù)量的獨(dú)特PMV候選,
-已掃描完預(yù)定掃描模式的所有塊。注意,可通過在PMV_CANDS列表的末端插入獨(dú)特向量來在向外掃描中避免將列表按距離排序,使列表保持排序,其中空間最靠近的向量位于列表首位。待添加到PMV_CANDS列表的運(yùn)動向量可包括當(dāng)前塊的空間或時間鄰居、或空間和/或時間鄰居的組合,例如基于空間相鄰塊導(dǎo)出的H. 264/AVC型中值預(yù)測值。作為考慮預(yù)定義鄰居來掃描運(yùn)動向量候選的備選方法,可以為每個運(yùn)動向量或 運(yùn)動向量集合(例如,宏塊)從編碼器發(fā)信號通知給解碼器(并且因此在編碼器處動態(tài)地決定),相關(guān)聯(lián)的運(yùn)動向量是否添加到PMV_CANDS列表。在用于確定運(yùn)動向量候選的可能機(jī)制集合中,可在編碼器處動態(tài)地決定ー個機(jī)制或機(jī)制的組合,然后將決定發(fā)信號通知給解碼器。限制和/或減少PMV_CANDS中的候選的數(shù)量能有助于減少發(fā)信號通知使用哪個PMV來進(jìn)行運(yùn)動向量預(yù)測的開銷,因?yàn)榱斜碓蕉?,要求的碼字也就越短。另外,約束添加某些候選能騰出空間來添加其它更有益的候選。—種用于減少候選數(shù)量的措施是避免在給定的PMV_CANDS列表中重復(fù)出現(xiàn)相同的運(yùn)動向量。這能在更新列表時通過將已經(jīng)在列表中的候選與可添加的新向量進(jìn)行比較并且如果發(fā)現(xiàn)重復(fù)則移除重復(fù)向量或跳過新向量來進(jìn)行。優(yōu)選的是跳過新向量;否則,來自遠(yuǎn)離塊的隨后重復(fù)可造成將列表中較高順序的候選放到列表的末端。移除或跳過新運(yùn)動向量同樣可針對類似但不相同的運(yùn)動向量進(jìn)行,例如具有小于預(yù)定義閾值的類似性量度的運(yùn)動向量對,其中類似性量度可以是歐幾里德距離(X0-X1) W(Y0I1)2或絕對距離Ix0-X1 My0I11,其中(x0, y0)和U1, Yi)是考慮中的運(yùn)云カ向量對。替代直線距離量度,另ー種方法是關(guān)注使用給定編碼方案來編碼運(yùn)動向量之間的距離所要求的位數(shù)。并且,PMV_CANDS中的候選的數(shù)量可限制為預(yù)定義或動態(tài)獲得的數(shù)量??赡艿氖?,一旦達(dá)到該數(shù)量,便將添加額外候選,然后可移除PMV_CANDS列表末端的候選。之所以能這樣做是因?yàn)椋瑢⒑蜻x列表排序使得確定列表末端的PMV候選是最不可能使用的候選。備選地,從PMV_CANDS列表移除候選可通過例如發(fā)送用于從列表移除運(yùn)動向量候選的碼以及該運(yùn)動向量的標(biāo)識符(例如,索引)來從編碼器明示地發(fā)信號通知給解碼器(并且因此由編碼器動態(tài)地決定)?,F(xiàn)在將解決如何確定候選列表中的運(yùn)動向量候選的順序。假設(shè)將PMV_CANDS中的候選排序,并且發(fā)信號通知使用PMV_CANDS中的候選之ー來進(jìn)行預(yù)測,以使得為列表中的第一候選指派候選中的最短碼字,并且為列表中的隨后候選指派具有非減小長度的碼字。當(dāng)更新PMV_CANDS列表時,可以使用以下方法,以便采用有益于總體編碼效率的方式將候選排序。 與屬于遠(yuǎn)離當(dāng)前塊的塊的運(yùn)動向量相比,對應(yīng)于靠近當(dāng)前塊(使用某個距離度量)的塊的運(yùn)動向量將得到較靠近列表的起點(diǎn)的位置。 與最后編碼的塊相關(guān)聯(lián)的運(yùn)動向量放在列表的起點(diǎn)(最短碼字)。備選地,當(dāng)前塊的諸如H. 264/AVC中值預(yù)測值(或諸如此類)的組合候選放在列表的起點(diǎn)。將該方法與PMV_CANDS列表大小的動態(tài)調(diào)適相組合允許例如H. 264/AVC中值預(yù)測值的有保證的預(yù)測性能,因?yàn)榭赡艿氖?,將PMV_CANDS列表大小設(shè)置為1,以使得無需發(fā)送任何位來用于索引信令。 能根據(jù)之前編碼的塊中的候選(或具有例如低于預(yù)定義閾值的歐幾里德或絕對距離的其它候選)的出現(xiàn)頻率來將候選排序,使得為描述視頻幀或序列中的典型運(yùn)動的向量指派短碼字。備選地,如果新候選的復(fù)本已經(jīng)在列表中,那么能移除該復(fù)本,并且將新向量添加到列表的起點(diǎn),或者作為另ー備選方案,現(xiàn)有運(yùn)動向量能在列表中向上移動ー步或
At I K/J/ O 能還有用的是包括關(guān)于運(yùn)動補(bǔ)償分區(qū)大小的權(quán),以使得具有較大權(quán)的運(yùn)動向量放在比具有較小權(quán)的那些運(yùn)動向量遠(yuǎn)離PMV_CANDS列表的起點(diǎn)的位置。例如,從取決于編 碼的序列,相關(guān)聯(lián)的運(yùn)動向量可更有可能描述該序列中的典型運(yùn)動的意義來說,較大的分區(qū)能比較小的分區(qū)更可信。因此,可以為與較大分區(qū)相關(guān)聯(lián)的運(yùn)動向量指派較大權(quán)。并且,與非跳過運(yùn)動向量相比,可不同地信任跳過運(yùn)動向量,例如指派較小權(quán)。備選地,可通過例如發(fā)送用于來自列表的運(yùn)動向量候選的重新排序的碼以及將要移動的運(yùn)動向量的標(biāo)識符(例如,索引)和關(guān)于將該候選移動到哪里的信號來將PMV_CANDS列表的重新排序明示地從編碼器發(fā)信號通知給解碼器(并且因此由編碼器動態(tài)地決定)。在將運(yùn)動向量候選添加到PMV_CANDS列表或從PMV_CANDS列表獲得運(yùn)動向量候選時(在后ー情況下,是為了將它用于預(yù)測),可根據(jù)預(yù)定義的方法對其進(jìn)行修改。由于添加(編碼期間)或獲得(解碼期間)時的修改等效,所以可在不損失普遍性的情況下假設(shè),在獲得時修改向量。獲得時的此類修改可包括
根據(jù)運(yùn)用運(yùn)動向量候選進(jìn)行預(yù)測的參考幀的幀距離來縮放運(yùn)動向量候選。例如,假設(shè)已經(jīng)運(yùn)用PMV_CANDS中的候選運(yùn)動向量MV(t_d= (X,Y)來根據(jù)表示時間T-I時的視頻的參考幀進(jìn)行運(yùn)動補(bǔ)償預(yù)測,其中參考幀是假設(shè)表示時間T時的視頻的當(dāng)前幀的下一個幀?,F(xiàn)在,如果從PMV_CANDS獲得該候選以用于預(yù)測指向表示時間T-2時的視頻的參考幀(當(dāng)前幀的下兩個幀)的運(yùn)動向量,那么能將運(yùn)動向量幅度縮放2的因子,即為(2*X,2*Y)。并且,如果PMV_CANDS列表中的候選運(yùn)動向量(X,Y)涉及T-2時的視頻幀將用于參考T-I時的幀,那么運(yùn)動向量能縮放為(X/2,Y/2)。對于這兩種情形,結(jié)果都是重復(fù)候選運(yùn)動向量,在此情況下,能將它移除。在線性運(yùn)動假設(shè)下,候選運(yùn)動向量的縮放是合理的。 類似地,當(dāng)在表示時間T的B幀中獲得運(yùn)動向量預(yù)測值MV(t_d=(X,Y),并且已經(jīng)運(yùn)用將該運(yùn)動向量來根據(jù)左參考幀(時間T-1)進(jìn)行運(yùn)動補(bǔ)償預(yù)測,并且現(xiàn)在預(yù)測值將用于預(yù)測用于根據(jù)右參考幀(時間T+1)進(jìn)行運(yùn)動補(bǔ)償預(yù)測的向量時,那么運(yùn)動向量預(yù)測值的符號可相反,即為(-X,-Y)。候選預(yù)測值列表大小能變化。限制和/或減少PMV_CANDS中的候選的數(shù)量能有助于減小發(fā)信號通知使用哪個PMV來進(jìn)行運(yùn)動向量預(yù)測的開銷,因?yàn)榱斜碓蕉?,要求的碼字也就越短。另ー方面,取決于視頻序列特性,可有益的是具有較大數(shù)量的運(yùn)動向量預(yù)測候選,以便例如在不規(guī)則運(yùn)動的情況下節(jié)省用于DMV編碼的位。能使用以下方法來根據(jù)視頻序列特性來調(diào)適PMV_CANDS列表的大小。 能在片/幀/圖片報頭中或在序列范圍的報頭(例如,參數(shù)集)中定義列表大小,即,將列表大小從編碼器發(fā)信號通知給解碼器,并且因此由編碼器來動態(tài)地調(diào)適。 能從列表中移除在編碼多個之前編碼的塊期間尚未用于預(yù)測的候選(根據(jù)預(yù)定義閾值),從而減小列表大小。 可根據(jù)列表中的候選的類似性來調(diào)適列表大小。例如,當(dāng)使用運(yùn)動向量MV來更新列表時,將類似于MV (根據(jù)諸如歐幾里德或絕對距離的距離量度,按預(yù)定義閾值)的候選的數(shù)量計數(shù)。高計數(shù)指示高數(shù)量的類似候選,并且由于可不必要具有許多類似候選,所以可移除至少其中之一并減小列表大小。另ー方面,低數(shù)量的類似候選可指示,具有額外候選可以是有益的,從而可增大列表大小。如上所述,將PMV_CANDS中的候選排序,并且發(fā)信號通知使用PMV_CANDS中的候選之一,使得為列表中的第一候選指派候選中的最短碼字,并為列表中的隨后候選指派具有非減小長度的碼字。此類碼字能根據(jù)例如可變長度編碼(VLC)表來定義。所用的VLC表能取決于如例如根據(jù)以上方法動態(tài)地調(diào)適的PMV_CANDS中的候選的最大數(shù)量(列表大小)。下表I介紹了用于不同最大列表大小的VLC碼的ー些實(shí)例。左邊列示出最大列表大小,它又 表示為C。在右邊列中,示出VLC碼以及用于尋址PMV_CANDS列表中的候選的索引。
權(quán)利要求
1.ー種管理預(yù)測運(yùn)動向量候選(PMV候選)的方法,所述方法包括 將PMV候選集合選擇為是之前編碼的運(yùn)動向量的子集; 為所述PMV候選集合中的每個PMV候選指派ー個碼值,其中所述碼值在長度上有所變化,并且按照預(yù)期使用的順序指派給所述PMV候選,以使得具有最高預(yù)期使用的PMV候選具有最短碼值之一。
2.如任何前述權(quán)利要求所述的方法,其中指派給每個PMV候選的碼值是根據(jù)以下各項(xiàng)的至少其中之一進(jìn)行指派的算木編碼;可變長度編碼;以及基于上下文的自適應(yīng)算木編碼。
3.如權(quán)利要求I或2所述的方法,所述方法還包括從所述PMV候選集合中移除不必要的PMV候選。
4.如任何前述權(quán)利要求所述的方法,所述方法還包括根據(jù)預(yù)期使用來將所述PMV候選集合中的PMV候選排序。
5.如任何前述權(quán)利要求所述的方法,其中根據(jù)PMV的使用頻率來獲得PMV候選的預(yù)期使用。
6.如任何前述權(quán)利要求所述的方法,其中每個PMV候選對應(yīng)于用于編碼之前塊的運(yùn)動向量,所述之前塊與當(dāng)前塊相距一定距離,并且其中根據(jù)PMV候選的相應(yīng)之前塊與當(dāng)前塊的距離來獲得PMV候選的預(yù)期使用。
7.如權(quán)利要求5或6所述的方法,其中所述距離按歐幾里德距離來測量。
8.如權(quán)利要求5或6所述的方法,其中所述距離按切比雪夫距離來測量。
9.如權(quán)利要求8所述的方法,其中根據(jù)具有共同切比雪夫距離的PMV候選的歐幾里德距離來將所述碼值指派給具有共同切比雪夫距離的PMV候選。
10.如任何前述權(quán)利要求所述的方法,所述方法用于視頻編碼或視頻解碼,其中當(dāng)前塊是分別編碼或解碼的塊。
11.ー種包括處理器的視頻編碼設(shè)備,所述處理器布置成 將PMV候選集合選擇為是之前編碼的運(yùn)動向量的子集; 為所述PMV候選集合中的每個PMV候選指派一個碼值,其中所述碼值在長度上有所變化,并且按照預(yù)期使用的順序指派給所述PMV候選,以使得具有最高預(yù)期使用的PMV候選具有最短碼值之一。
12.ー種包括處理器的視頻解碼設(shè)備,所述處理器布置成 將PMV候選集合選擇為是之前編碼的運(yùn)動向量的子集; 為所述PMV候選集合中的每個PMV候選指派ー個碼值,其中所述碼值在長度上有所變化,并且按照預(yù)期使用的順序指派給所述PMV候選,以使得具有最高預(yù)期使用的PMV候選具有最短碼值之一。
13.一種攜帶指令的計算機(jī)可讀介質(zhì),所述指令在由計算機(jī)邏輯執(zhí)行時使所述計算機(jī)邏輯進(jìn)行權(quán)利要求I到10所定義的任何方法。
全文摘要
提供一種管理PMV候選的方法。該方法包括將PMV候選集合選擇為是之前編碼的運(yùn)動向量的子集。該方法還包括為PMV候選集合中的每個PMV候選指派一個碼值。這些碼值在長度上有所變化,并且按照預(yù)期使用的順序指派給PMV候選,以使得具有最高預(yù)期使用的PMV候選具有最短碼值之一。
文檔編號H04N7/26GK102860006SQ201080065740
公開日2013年1月2日 申請日期2010年12月23日 優(yōu)先權(quán)日2010年2月5日
發(fā)明者T.魯澤爾特, K.安德森, P.韋納施坦, J.斯特倫, R.斯約貝格 申請人:瑞典愛立信有限公司