国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      最小化用于相互編碼的參考畫面數(shù)目的方法和裝置的制作方法

      文檔序號:7608723閱讀:221來源:國知局
      專利名稱:最小化用于相互編碼的參考畫面數(shù)目的方法和裝置的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明一般地涉及數(shù)字視頻編碼技術(shù),特別涉及在用于數(shù)字視頻編碼應(yīng)用的多個參考畫面標(biāo)準(zhǔn)中的畫面宏塊的相互編碼(inter coding)。
      背景技術(shù)
      視頻編碼器可以用來將圖像序列的一個或多個幀編碼為數(shù)字信息。然后,可以將此數(shù)字信息傳送給接收機(jī),然后可以在該接收機(jī)中重建圖像或圖像序列。傳送信道自身可以經(jīng)由很多介質(zhì)中的任何一種;例如(僅出于說明性的目的,并且不意欲成為毫無遺漏的列舉),該介質(zhì)可以包括無線廣播、無線電鏈路、衛(wèi)星鏈路、同軸電纜電視或數(shù)據(jù)、光纖、移動電話連接、或固定線路電話鏈路、因特網(wǎng)、或者這些或其它介質(zhì)的組合。
      就視頻編碼和傳送已經(jīng)達(dá)成了各種國際標(biāo)準(zhǔn)。通常,一種標(biāo)準(zhǔn)提供用于將與圖像的幀有關(guān)的數(shù)據(jù)壓縮和編碼的規(guī)則。這些規(guī)則提供了一種將圖像數(shù)據(jù)壓縮和編碼,以便傳送比觀察照相機(jī)(viewing camera)原始提供的關(guān)于該圖像的數(shù)據(jù)要少的數(shù)據(jù)的方式。因而,這一減少的數(shù)據(jù)量需要較少的信道帶寬以進(jìn)行傳送。如果接收機(jī)知道所傳送的數(shù)據(jù)遵循的規(guī)則(即,標(biāo)準(zhǔn)),則它可以從所傳送的數(shù)據(jù)重建所述圖像。H.264標(biāo)準(zhǔn)通過使用來自先前的幀的宏塊的運(yùn)動補(bǔ)償預(yù)測而避免了部分圖像的冗余傳送。
      諸如MPEG-2和JVT/H.264/MPEG 4Part10/AVC的視頻壓縮架構(gòu)和標(biāo)準(zhǔn)僅使用用于每個宏塊的編碼的幀內(nèi)(“內(nèi)部”)編碼或幀間(“相互”)編碼方法來編碼宏塊。對于幀間運(yùn)動估計/補(bǔ)償,要編碼的視頻幀被劃分為非重疊的矩形、或者更常見地被劃分為像素的方塊。對于這些塊中的每一個,根據(jù)指定的匹配誤差標(biāo)準(zhǔn),以預(yù)定搜索窗口從參考幀中搜索最佳匹配宏塊。然后,使用所匹配的塊來預(yù)測當(dāng)前的塊,并且進(jìn)一步處理預(yù)測誤差塊并將其傳送給解碼器。將參考塊相對于原始塊在水平和垂直方向上的相對位移合成一組,并稱為原始宏塊的運(yùn)動矢量(MV),其也被傳送給解碼器。運(yùn)動估計的主要目的是預(yù)測運(yùn)動矢量,從而通過提取參考塊與當(dāng)前塊的差值而獲得的差異塊在編碼中產(chǎn)生最少數(shù)目的比特。
      最近的視頻編碼標(biāo)準(zhǔn)和架構(gòu)在試圖提高編碼效率時采用用于運(yùn)動估計和補(bǔ)償?shù)亩鄠€參考畫面。MPEG-2及其前身中的預(yù)測編碼畫面(稱為“P”畫面)僅使用一個先前的畫面來預(yù)測當(dāng)前畫面中的值。H.264標(biāo)準(zhǔn)允許使用通常是處于不同時間瞬間的畫面的多個參考畫面(或幀),它們中的很多可以在空間和時間上與當(dāng)前的畫面不相關(guān)。在MPEG-2中,僅使用單個參考索引,而對于運(yùn)動矢量的編碼,在用于運(yùn)動矢量的確定和解碼的每個畫面的比特流中,還傳送被稱為f-代碼參數(shù)的特殊代碼。該f-代碼參數(shù)是在運(yùn)動估計過程期間得到的,并且影響運(yùn)動矢量的VLC編碼。當(dāng)與將參數(shù)保持固定相比較時,用于根據(jù)每個畫面的運(yùn)動參數(shù)和范圍而自動地使f-代碼參數(shù)適應(yīng)每個畫面的先前的提議可以獲得更好的編碼效率。H.264不支持這個參數(shù),并且基本上使用預(yù)先定義的VLC代碼來進(jìn)行運(yùn)動矢量的編碼。另一方面,H.264允許多個參考(reference)的使用,因此還傳送參考索引參數(shù)。
      由于在運(yùn)動估計過程期間需要檢查更多畫面,因此使用多個參考會顯著增大編碼器的復(fù)雜度。H.264標(biāo)準(zhǔn)允許編碼器出于運(yùn)動補(bǔ)償?shù)哪康亩谝呀?jīng)被解碼并被存儲在解碼器中的更大數(shù)量的畫面中進(jìn)行選擇。對參考能力的相同擴(kuò)展還應(yīng)用到運(yùn)動補(bǔ)償后的雙向預(yù)測,所述雙向預(yù)測在MPEG-2中被限制為僅使用兩個特定的畫面(這些畫面中的一個是按照顯示順序的前一個內(nèi)部(I)或P畫面,并且另一個是按照顯示順序的下一個I或P畫面)。
      典型地,編碼器計算適當(dāng)?shù)倪\(yùn)動矢量和在視頻數(shù)據(jù)流中表示的其它數(shù)據(jù)元素。用于編碼器中的宏塊的相互預(yù)測(inter prediction)的過程可以包括從很多所存儲的先前解碼的畫面中選擇要用作參考畫面的畫面。“參考索引”指定將用于預(yù)測相互編碼的宏塊的參考畫面在參考畫面列表(列表0或列表1)中的位置(索引)?!皡⒖妓饕笔菢?biāo)識用于幀序列的所選畫面的變量(PicNum和LongTermPicNum)的列表的索引,所述列表被稱為參考畫面列表。當(dāng)將P或SP片(slice)解碼時,存在單個參考畫面列表RefPicList0。當(dāng)將B片解碼時,除了RefPicList0以外,還存在第二個獨(dú)立的參考畫面列表RefPicList1。哪些畫面實際位于每個參考畫面列表中是多畫面緩沖器控制的問題??梢酝ㄟ^滑動窗口參考畫面標(biāo)記過程、即一種先入先出的機(jī)制來將畫面標(biāo)記為“不用于參考”,并且隨后不會在任一個參考畫面列表中列出該畫面。H.264標(biāo)準(zhǔn)允許對參考列表中的參考重新排序。
      多參考畫面運(yùn)動補(bǔ)償預(yù)測需要編碼器和解碼器二者將用于幀間預(yù)測的參考畫面存儲在多畫面緩沖器中。解碼器根據(jù)在比特流中指定的存儲器管理控制操作來復(fù)制編碼器的多畫面緩沖器。如果多畫面緩沖器的大小被設(shè)置為一個畫面,并且如果沒有發(fā)信號通知列表0或列表1的最大參考索引等于1,則必須利用所傳送的每個相互編碼的宏塊來發(fā)信號通知所述參考畫面在多畫面緩沖器內(nèi)部所處的位置的參考索引。
      因為必須在比特流中發(fā)信號通知參考索引,所以當(dāng)參考畫面列表的大小大于一個畫面時,對于每個相互編碼的宏塊或宏塊分區(qū)(例如,16×8、8×16或8×8個像素的子塊),并不總能確定多個參考將增大特定畫面編碼時的壓縮增益(例如,畫面可以僅偏向于單個參考)。對于相互編碼的宏塊(或子塊),在比特流中可以存在一個運(yùn)動矢量差和一個參考索引。對于雙向預(yù)測相互編碼的宏塊(或子塊),在比特流中可以存在兩個運(yùn)動矢量差和兩個參考索引。例如,考慮到在H.264中對于每個宏塊有可能對于預(yù)測(P)畫面?zhèn)魉投噙_(dá)4個參考索引,而對于雙向(B)預(yù)測畫面?zhèn)魉?個,因此由于參考索引導(dǎo)致的比特率開銷可能相當(dāng)大。
      在H.264中,通過在片的級別上發(fā)信號通知的num_ref_idx_IN_activeminus1參數(shù)來控制參考的數(shù)目,其中,對于列表0,N等于0,而對于列表1,N等于1。num_ref_idx_IN_active_minus1參數(shù)指定將用來對其中使用列表N的畫面的每個片進(jìn)行解碼的參考畫面列表N的最大參考索引(例如,num_ref_idx_I0_active_minus1指定將用來對片進(jìn)行解碼的參考畫面列表0的最大參考索引)。num_ref_idx_IN_active_minus1的值的范圍在0和31之間,包括0和31。如果這一參數(shù)等于0,則對于當(dāng)前的片,將只使用一個參考畫面來對該片中的宏塊進(jìn)行相互編碼,并且不需要將參考索引與該片的相互編碼的宏塊一起傳送。

      發(fā)明內(nèi)容
      將視頻編碼器適配為能夠在編碼給定畫面之前動態(tài)地確定參考數(shù)目將是理想的,這是因為如果僅使用一個參考,則(每個宏塊的參考索引的)前述比特開銷將被消除或減少,從而有可能提供改善的編碼器性能,同時由于在運(yùn)動估計期間須測試較少的參考畫面而減小了復(fù)雜度。
      因此,本發(fā)明是一種使視頻編碼器能夠自適應(yīng)地(在運(yùn)行編碼實時的基礎(chǔ)上動態(tài)地)選擇將用于宏塊的相互編碼的參考畫面的數(shù)目的方法和裝置。參考數(shù)目的判定可以基于先前生成的信息,例如當(dāng)前參考畫面相關(guān)性、參考畫面運(yùn)動矢量、殘留(residual)等,并且/或者這一判定可以基于率失真優(yōu)化方法。本發(fā)明的實施例可以提供改進(jìn)的壓縮增益和/或編碼效率。
      本發(fā)明的一個實施例提供一種對視頻畫面序列中的當(dāng)前畫面的像素區(qū)進(jìn)行相互編碼的方法,該序列包括在至少一個參考列表中列出的多個參考,所述方法包括以下步驟選擇在參考列表中列出的、將用作唯一參考的第一參考,所述唯一參考將用來對當(dāng)前畫面的像素區(qū)進(jìn)行編碼。在此情況中,num_ref_idx_IN_active_minus1可以被設(shè)置為等于0,其中,N表示參考列表的編號。這可以導(dǎo)致使用在時間上最接近包含要編碼的像素區(qū)的當(dāng)前畫面的參考。
      本發(fā)明的另一實施例提供一種對視頻畫面序列中的當(dāng)前畫面進(jìn)行相互編碼的方法,該序列包括在參考列表中列出的多個參考,所述方法包括選擇在參考列表中列出的、將用作唯一參考的第一參考,所述唯一參考將用來對當(dāng)前畫面進(jìn)行編碼。
      本發(fā)明的另一實施例提供一種使用在有效參考列表中列出的多個參考畫面中的至少一個來對視頻畫面序列中的當(dāng)前畫面進(jìn)行相互編碼的方法,該方法包括以下步驟從有效參考列表中去除所列出的參考中的至少一個,該步驟基于每個被去除的參考與當(dāng)前畫面的比較。然后,可以相應(yīng)地減小num_ref_idx_IN_active_minus1(其中,N表示有效參考列表的編號)。所述比較是直接比較,例如通過計算當(dāng)前畫面和每個被去除的畫面之間的絕對像素差的總和來測量失真。可替換地,所述比較可以是例如通過在第二參考畫面與第一參考畫面相比具有高失真、并且第一參考畫面與當(dāng)前畫面相比具有低失真時從有效參考列表中去除第二參考畫面而進(jìn)行的間接比較。
      本發(fā)明的另一實施例提供一種使用在有效參考列表中列出的多個參考畫面中的至少一個來對當(dāng)前畫面進(jìn)行相互編碼的方法,該方法包括以下步驟對所列出的參考重新排序,使得在有效參考列表中以較高的優(yōu)先級列出相對于當(dāng)前畫面具有較小失真的參考畫面。
      本發(fā)明的另一實施例提供一種用于將像素數(shù)據(jù)編碼為多個塊變換系數(shù)的編碼器,該編碼器包括被適配用來基于在此公開的方法使將用來對當(dāng)前畫面進(jìn)行相互編碼的有效參考列表最小化的電路。該編碼器還可以被適配用來將有效畫面的列表重新排序,使得將以較高的優(yōu)先級把相對于當(dāng)前畫面具有較小失真的剩余的有效參考畫面放置在參考畫面列表中。
      本發(fā)明的另一實施例提供一種對視頻畫面序列進(jìn)行相互編碼的方法,該方法包括執(zhí)行使用在參考畫面列表中列出的所有參考畫面來編碼當(dāng)前畫面的第一編碼步驟;從參考列表中選擇和去除一個或多個畫面以創(chuàng)建新參考列表的步驟;以及隨后執(zhí)行僅使用在新參考列表中列出的畫面重新編碼當(dāng)前畫面的第二編碼步驟。
      本發(fā)明的另一實施例提供一種用于將視頻圖像序列壓縮和編碼的編碼方法,該方法包括以下步驟使用M個參考畫面的K個排列來對當(dāng)前畫面進(jìn)行K次相互編碼,其中K等于K&le;&Sigma;i=1MM!(M-i)!]]>并且隨后;基于與其它K-1個編碼的當(dāng)前圖像相比較的預(yù)定標(biāo)準(zhǔn),從K個編碼的當(dāng)前畫面中選擇一個編碼的當(dāng)前圖像。
      本發(fā)明的另一實施例提供了一種對視頻畫面序列進(jìn)行相互編碼的方法,該方法包括以下步驟使用可用參考的多個排列中的每一個進(jìn)行當(dāng)前畫面的運(yùn)動估計編碼,并選擇將預(yù)定條件最小化的可用參考的排列,所述預(yù)定條件可以是比特率、失真或者比特率和失真的加權(quán)組合。
      本發(fā)明的另一實施例提供一種用于編碼視頻圖像序列的編碼器,該編碼器包括參考畫面緩沖器,其中,該編碼器被適配用來使用存儲在參考畫面緩沖器中并在參考列表中列出的多個參考畫面中的至少一個來對畫面序列中的當(dāng)前畫面進(jìn)行相互編碼;其中,該編碼器還被適配用來基于預(yù)定標(biāo)準(zhǔn)動態(tài)地選擇將被用作唯一參考的第一個列出的參考,所述唯一參考將用來對當(dāng)前畫面進(jìn)行相互編碼。
      本發(fā)明的另一實施例提供一種用于編碼圖像序列的編碼器,該編碼器包括參考緩沖器,其中,該編碼器被適配用來使用在參考緩沖器中列出的多個參考畫面中的至少一個來對當(dāng)前畫面進(jìn)行相互編碼,并且被適配用來動態(tài)地將存儲在參考緩沖器中的參考的列表重新排序,以使得在有效參考列表中以較高的優(yōu)先級列出相對于當(dāng)前畫面具有較小失真的參考畫面。
      本發(fā)明的另一實施例提供一種多媒體終端,在所述多媒體終端中包括用于獲得數(shù)字視頻序列的部件;和被布置用來執(zhí)行在此描述的編碼方法的視頻編碼器。
      本發(fā)明的另一實施例提供一種其中包含計算機(jī)可讀程序代碼的計算機(jī)可用介質(zhì),所述計算機(jī)可讀程序代碼用于使計算機(jī)系統(tǒng)能夠執(zhí)行在此描述的編碼方法。
      本發(fā)明的另一實施例提供一種存儲可由計算機(jī)讀取的程序的記錄介質(zhì),所述程序用于使計算機(jī)系統(tǒng)執(zhí)行在此描述的編碼方法。
      在以下描述中,將假設(shè)宏塊的亮度(luma)分量包括被排列為4個8×8的塊的陣列的16×16個像素,并且在水平和垂直方向上利用因子2來對相關(guān)聯(lián)的色度分量進(jìn)行空間子采樣,以形成8×8的塊。對于本領(lǐng)域普通技術(shù)人員來說,將該描述擴(kuò)展到其它塊大小和其它子采樣方案將是顯而易見的。本發(fā)明不受16×16的宏塊結(jié)構(gòu)限制,而是可以在任何基于分段的視頻編碼系統(tǒng)中使用。


      通過參考附圖詳細(xì)描述本發(fā)明的示例實施例,本發(fā)明的上述特征將變得更加清楚,在附圖中圖1示出了根據(jù)本發(fā)明的原理的、將被編碼并被選擇用作相互編碼參考的一系列畫面;圖2是圖示用于判定對于用來對當(dāng)前畫面進(jìn)行相互編碼的每個(反向或前向)預(yù)測僅使用單個(一個)參考畫面的方法的流程圖;圖3是圖示從將用來對當(dāng)前畫面進(jìn)行(前向或反向)相互編碼的有效參考畫面的列表中去除參考畫面的方法的流程圖;以及圖4是圖示根據(jù)本發(fā)明實施例的視頻編碼器的方框示意圖。
      具體實施例方式
      圖1示出了根據(jù)本發(fā)明的原理的、將被編碼并被選擇用作相互編碼參考的一系列時間連續(xù)的畫面(P0、B1、B2、P3、B4、B5、P6、B7、B8、P9)。畫面P0被內(nèi)部編碼,并且被用作后續(xù)的相互編碼的畫面B1、B2、P3、B4、B5、P6的參考。僅將單個參考畫面用于每個預(yù)測(P0是用于前向預(yù)測的單個參考;P3是用于反向預(yù)測的單個參考),來對畫面B1進(jìn)行雙預(yù)測(bi-predictively)相互編碼。僅將單個參考畫面用于每個預(yù)測(P0是用于前向預(yù)測的單個參考;P3是用于反向預(yù)測的單個參考),來對畫面B2進(jìn)行雙預(yù)測相互編碼。僅將單個參考畫面P0用于畫面P3的(前向)預(yù)測,來對其進(jìn)行單預(yù)測(mono-predictively)相互編碼。將兩個參考畫面(P0和P3)用于畫面B4的前向預(yù)測、并且將單個參考畫面(P6)用于其反向預(yù)測,來對畫面B4進(jìn)行雙預(yù)測相互編碼。將兩個參考畫面(P0和P3)用于畫面B5的前向預(yù)測、并且將單個參考畫面(P6)用于其反向預(yù)測,來對畫面B5進(jìn)行雙預(yù)測相互編碼。將兩個參考畫面(P0和P3)用于畫面P6的前向預(yù)測,來對畫面P6進(jìn)行單預(yù)測相互編碼。僅將單個參考畫面用于每個預(yù)測(P6是用于前向預(yù)測的單個參考;P9是用于反向預(yù)測的單個參考),來對畫面B7進(jìn)行雙預(yù)測相互編碼。僅將單個參考畫面用于每個預(yù)測(P6是用于前向預(yù)測的單個參考;P9是用于反向預(yù)測的單個參考),來對畫面B8進(jìn)行雙預(yù)測相互編碼。僅將單個參考畫面P6用于畫面P9的前向(例如,列表0)預(yù)測,來對畫面P9進(jìn)行單預(yù)測相互編碼。
      在相互編碼的畫面B1、B2、P3、B7、B8和P9的每一個中,不需要用每個宏塊或宏塊分區(qū)的運(yùn)動矢量將參考索引編碼,這是因為僅使用來自其對應(yīng)的參考畫面列表(多個列表)的單個參考畫面(對于P-畫面使用一個參考列表;對于B-畫面使用兩個參考列表)來將每一個編碼。
      根據(jù)本發(fā)明的原理,公開了一種方法,用于基于當(dāng)前畫面的像素和運(yùn)動特性,并且還基于有效/可用參考畫面,來確定和限制將用于當(dāng)前畫面的預(yù)測或雙預(yù)測相互編碼的參考的數(shù)目。
      根據(jù)本發(fā)明的實施例,選擇用于對給定畫面進(jìn)行相互編碼的參考的數(shù)目的一種方法是在第一遍(first pass)中使用所有有效(列出的)參考來編碼當(dāng)前畫面,然后最后在第二遍中僅使用所參考的畫面來將該畫面重新編碼,同時從對應(yīng)的有效參考列表中去除所有其它畫面。例如,執(zhí)行使用在參考畫面列表中列出的所有參考畫面編碼當(dāng)前畫面的第一編碼步驟,并且從該參考列表中選擇和去除一個或多個畫面以創(chuàng)建新參考列表;然后僅使用在新參考列表中列出的畫面來將當(dāng)前畫面重新編碼。這可以使每個參考列表更緊湊,并且因此在參考索引中可能需要更少的比特。
      可以對參考給定索引的參考畫面的宏塊或塊的數(shù)目是否滿足給定條件/閾值TMB進(jìn)行額外的考慮。如果不滿足此條件/閾值,則應(yīng)當(dāng)從有效參考緩沖器中去除這個被不充分地參考的參考畫面,并且隨后根據(jù)剩余的有效(列出的)參考畫面預(yù)測(重新編碼)當(dāng)前畫面的宏塊/塊。盡管這種方法有可能導(dǎo)致較好的增益,但是由于需要將畫面編碼兩次,因此它們也引入了高得多的復(fù)雜度。在諸如H.264的編解碼器中,由于它們已經(jīng)非常高的復(fù)雜度,因此這特別麻煩。然而,在更強(qiáng)力的方法中,也可以使用從1到M個參考來嘗試和編碼同一畫面K次,其中,K等于K&le;&Sigma;i=1MM!(M-i)!]]>其表示包括重新排序的、畫面參考的所有可能的布置和組合(排列)。從這些K個組合中,我們可以選擇給出最小失真或比特率的一個,或者使用率失真優(yōu)化標(biāo)準(zhǔn)(拉格朗日公式化表示),其中使用拉格朗日乘子(例如,通過使用J=D+λ×R形式的拉格朗日乘子)針對率來對失真進(jìn)行加權(quán)。拉格朗日乘子是在受到約束的數(shù)學(xué)優(yōu)化問題環(huán)境中出現(xiàn)的代數(shù)術(shù)語。
      本發(fā)明的其它實施例提供了用于在不顯著降低編碼質(zhì)量(不增大失真)或比特率的情況下判定畫面參考數(shù)目的更簡單的方法。我們已經(jīng)發(fā)現(xiàn)在當(dāng)編碼當(dāng)前畫面時使用的參考數(shù)目(和參考索引)與在相鄰的先前編碼的畫面中使用的參考數(shù)目(和參考索引)之間存在高度相關(guān)性,其中所述相鄰的先前編碼的畫面被用作用來編碼當(dāng)前畫面的參考。當(dāng)這兩個畫面具有高度相似性(例如,它們的絕對差低于給定的相對較小的閾值)時,此相關(guān)性增大。例如,如果僅參考t-2處的先前畫面的、時刻t-1處緊鄰在前面的編碼的畫面具有很少的運(yùn)動,并且與時刻t處的當(dāng)前畫面非常相似(例如,畫面平均絕對差PMAD<4),則這使得很有可能有利地使用單個參考畫面來編碼當(dāng)前畫面。該參考幀可以在當(dāng)前幀之前或之后。因此,通常,如果第一畫面P1僅參考單個參考畫面RP來進(jìn)行編碼并且相對于參考畫面RP具有很少的運(yùn)動(例如,P1-RP PMAD<4),并且如果第一畫面P1與當(dāng)前畫面CP非常相似(例如,P1-CP PMAD<4),則也可以僅參考單個參考畫面(例如,P1或RP)來有效地編碼當(dāng)前畫面CP,并且將使用單個參考畫面(例如,P1或RP0)來編碼當(dāng)前畫面CP及其包括的全部片和宏塊。優(yōu)選的,畫面RP、P1和CP是緊鄰的畫面,但并不必需是緊鄰的畫面。也可以進(jìn)行當(dāng)前畫面和剩余的參考之間的附加的簡單比較(例如,絕對差),以進(jìn)一步確認(rèn)此判定。此外,可以考慮不僅最近的參考畫面而且還有所有其它參考的運(yùn)動矢量和參考索引,以便做出或驗證此判定。
      本發(fā)明的方法的示例實施例提供以下用于選擇和減少有效參考數(shù)目的方法。
      首先,執(zhí)行失真計算在塊或宏塊的級別上,計算相對于給定列表(列表0或列表1)中的第一參考(零參考)畫面的、當(dāng)前畫面的CP絕對差的總和(PSAD)。畫面SAD值(PSAD)是所有宏塊SAD值(MBSAD)的總和。宏塊SAD值(MBSAD)是相對于其它畫面中的對應(yīng)宏塊的、單個宏塊中的像素絕對差的總和(SAD)。可以使用參考畫面RP的原畫面或重建的參考畫面RPrc來計算CP-RP畫面SAD差(CP-RP PSAD)。優(yōu)選的是,(通過除法)計算CP和RP畫面的平均絕對差(CP-RP PMAD),作為整個當(dāng)前畫面和給定列表(列表0或列表1)中的第一參考(零參考)畫面之間的失真的測量結(jié)果。畫面的MAD值(PMAD)是正在比較的這兩個畫面的像素之間的平均絕對差(MAD)。畫面的SAD值(PSAD)和畫面的MAD值(PMAD)之間的關(guān)系是畫面MAD(PMAD)等于畫面SAD值(PSAD)除以一個數(shù)目,例如除以這兩個畫面的任一個中的宏塊(或像素)數(shù)目。因此,畫面MAD值(PMAD)是畫面SAD值(PSAD)的歸一化的版本,并且可以在宏塊的級別上將畫面SAD值(PSAD)歸一化,使得通過將畫面的SAD值(PSAD)除以畫面中的宏塊數(shù)目,將畫面MAD值(PMAD)定義為(這兩個畫面的)對應(yīng)宏塊之間的平均(平均數(shù))SAD值(MBSAD)。因此,如果適當(dāng)?shù)乜s放將與PMAD和PSAD值進(jìn)行比較的任何閾值,則可以可互換地使用PMAD和PSAD值。
      如果畫面的MAD值(CP-RP0 PMAD)(即,整個當(dāng)前畫面CP和整個第一個列出的參考畫面RP0之間的MAD)低于相對小的第一閾值T1,則(例如,通過將num_ref_idx_IN_active_minus1設(shè)置為等于0)選擇1作為將用于對當(dāng)前畫面進(jìn)行編碼的(可應(yīng)用的列表即列表0或列表1中的)參考的數(shù)目。此外,如果具有低于第二閾值T2的宏塊SAD值MBSAD的當(dāng)前畫面的宏塊的百分比R等于或大于預(yù)定的閾值百分比TR(例如,TR=95%),則使用單個參考,(將num_ref_idx_IN_active_minus1設(shè)置為0)。因此,如果滿足由T1或者由TR和T2定義的閾值條件中的任一個或全部,則將使用列表N(列表0或列表1)中的單個參考畫面來編碼當(dāng)前畫面(例如,將可應(yīng)用于該列表的num_ref_idx_IN_active_minus1設(shè)置為0)。
      如果在失真計算中使用重建的參考畫面RPrc與當(dāng)前畫面進(jìn)行比較,則考慮到這也受到量化過程影響,應(yīng)當(dāng)例如通過預(yù)先定義與量化參數(shù)QP相對應(yīng)的特定權(quán)重并且將T1和T2重新定義為T1(QP)=a(QP)×T1和T2(QP)=b(QP)×T2,來相應(yīng)地調(diào)整/縮放T1和T2,其中,a()和b()是通過量化參數(shù)QP指明(index)的預(yù)先定義的權(quán)重。
      如果以上失真條件均不正確,但是畫面的MAD值(CP-RP0 PMAD)滿足不同的閾值T3(例如,T1≤PMAD<T3),或者如果滿足不同的閾值T4(例如,T2≤MBSAD<T4)的宏塊的百分比H的宏塊SAD值(MBSAD)超過預(yù)定的閾值百分比TH,則我們還評估被編碼用于第一參考畫面的運(yùn)動矢量和參考索引如果具有等于0的參考索引的第一參考畫面的宏塊的百分比K1超過預(yù)定的閾值百分比TK1,則將僅使用單個參考畫面(第一參考畫面)來編碼當(dāng)前畫面,(并且相應(yīng)地將num_ref_idx_IN_active_minus1設(shè)置為0)。
      可選地,為了進(jìn)一步優(yōu)化,可以做出以下判定如果用來將列表中的第一參考畫面編碼的運(yùn)動矢量的全部或一部分足夠小(表明低運(yùn)動活性),則使用單個參考畫面(第一參考畫面)來編碼當(dāng)前畫面。例如,如果使用零參考(RP0)并且具有分別處于[-mx1,mx2]和[my1,my2](例如,mx1=mx2=my1=my2=1)目標(biāo)范圍內(nèi)的運(yùn)動矢量分量MVx和MVy的畫面中的塊的百分比K2大于預(yù)定的閾值百分比TK2,(例如TK2%≤TK1%),則將使用給定列表(例如,列表0)中的單個參考(例如,RP0)編碼當(dāng)前畫面。
      如果上面規(guī)定的條件都不滿足,那么也可以(例如,通過計算畫面的SAD值PSAD或塊/宏塊MAD值MBMAD)將可應(yīng)用的參考列表中的剩余參考與當(dāng)前畫面進(jìn)行比較。如果相對于當(dāng)前畫面的參考i(其中,i是參考畫面列表的索引)的畫面的MAD值PMADi大于閾值T5、或者其中的所有宏塊具有大于閾值T6的宏塊SAD值MBSADi,則將從用于編碼當(dāng)前畫面的有效參考列表(例如,參考緩沖器)中去除此參考。類似地,還通過適配T5和T6的值,可以連續(xù)地考慮從最近到最遠(yuǎn)參考的運(yùn)動矢量和參考索引(增大的參考索引)并且?guī)椭雠卸ā@?,如果參考畫面沒有被用于對更靠近當(dāng)前畫面的另一參考畫面編碼,則可以減小這些閾值(閾值的減小意味著該參考具有更高的從所檢查的參考中去除的可能性)。
      由于與用來將其編碼的參考畫面進(jìn)行比較的參考畫面的失真值可能已經(jīng)為了該畫面的參考數(shù)目的判定而進(jìn)行了計算,因此在附加判定方法中可以再次使用這些失真值。具體地說,如果已經(jīng)知道給定的參考畫面與當(dāng)前畫面非常相似,但是與第二參考畫面相比具有較高失真,則非常有可能的是相對于第二參考畫面,當(dāng)前畫面將具有高失真值并且可以避免失真計算,以及,可以從將用來對當(dāng)前畫面進(jìn)行編碼的“有效”參考的緩沖器中去除該第二參考畫面。然而,考慮運(yùn)動補(bǔ)償之后這兩個參考之間的失真(或殘留,如果可獲得的話)將有可能導(dǎo)致更可靠的判定和更好的性能。
      最后,還可以使用所生成的統(tǒng)計值(例如,參考列表中每個參考相對于當(dāng)前畫面的失真)來進(jìn)行可應(yīng)用的參考列表中的參考的重新排序,使得在參考列表中以較高的優(yōu)先級(較小的索引號)放置相對于當(dāng)前畫面具有較小失真的參考。然后,可選地,可以將num_ref_idx_IN_active_minus1設(shè)置為阻止具有最高失真的參考畫面被用作用于編碼當(dāng)前畫面的參考的數(shù)字(例如,大于1)。在H.264標(biāo)準(zhǔn)中,將參考列表中的參考畫面重新排序可以通過發(fā)信號通知參考畫面列表重新排序元素來進(jìn)行(參見H.264標(biāo)準(zhǔn),7.3.3.1節(jié))。在本發(fā)明的其它實施例中,也可以采用用于估計參考畫面之間的失真的其它已知的和將來的方法,并且因此可以將所述方法與加權(quán)預(yù)測策略相結(jié)合。
      與傳統(tǒng)技術(shù)不同,MPEG-4標(biāo)準(zhǔn)提供一種壓縮運(yùn)動畫面的基于對象的技術(shù),并且允許具有任何形狀的對象的單獨(dú)編碼。在傳統(tǒng)的基于幀的視頻編碼方法中,利用一組矩形的時間相關(guān)的幀來表示“真實世界”,該矩形幀是可被獨(dú)立編碼或顯示或者由用戶操作的最小單位。
      在諸如MPEG-4架構(gòu)的基于對象的視頻編碼框架中,場景不再被看作一組具有給定的空間和時間分辨率的矩形幀,取而代之的是,它被理解為典型地具有不同的特性和語義相關(guān)性的、自然和合成源的可視對象(VO)的組合。每個對象被獨(dú)立編碼,并且生成可獨(dú)立訪問的基本流,從而向用戶提供訪問在語義上有意義的對象并與其交互的能力。在數(shù)據(jù)方面,并且相對于基于幀的場景,另外還存在定義每個對象的形狀的形狀數(shù)據(jù)、以及指定哪些對象在該場景中以及組織該場景的方式的場景描述數(shù)據(jù)。因此,MPEG-4允許通過視頻對象面(VOP)的序列來表示2D任意形狀的自然視頻對象。對于每個VOP,將形狀、紋理和運(yùn)動數(shù)據(jù)編碼。紋理編碼是基于DCT的(8×8的塊),并且運(yùn)動補(bǔ)償是基于宏塊或塊的(16×16或8×8的塊)。對于形狀,使用基于內(nèi)容的算術(shù)編碼(CAE)來將其編碼。由于各種場景對象被獨(dú)立編碼從而生成單獨(dú)的基本流,因此有可能為每個視頻對象選擇最佳數(shù)目的參考,以便在該對象的塊的相互編碼中使用。
      在基于對象的編碼框架中,由于場景中的各種對象盡管一起構(gòu)成場景,但是就編碼來說現(xiàn)在是獨(dú)立的實體,因此本領(lǐng)域技術(shù)人員將理解可以將本發(fā)明的原理從基于幀的編碼擴(kuò)展到基于對象的視頻壓縮技術(shù),其中,場景中的多個視頻對象(VO)將被單獨(dú)編碼。在基于對象編碼的情況中,前述方法可以分別被應(yīng)用于每個單獨(dú)編碼的視頻對象,而不是被應(yīng)用于每個整體畫面或者其中的整個片。
      例如,根據(jù)上面公開的本發(fā)明的實施例,可以僅使用單個幀作為參考來將“背景”視頻對象(例如,具有很少或者不具有幀間運(yùn)動)編碼為獨(dú)立的視頻對象,同時可以使用多個幀對顯示在同一場景中的另一對象(運(yùn)動對象,例如人)編碼,如在下面更具體地描述的本發(fā)明的另一實施例中進(jìn)行的那樣。因此,要疊加在“背景”對象上的、同一場景中的人或其它運(yùn)動對象可以使用多個參考畫面(或單個參考畫面)基于其自己的特性而被編碼,同時僅使用單個參考畫面(或多個參考畫面)編碼背景對象。如果可以僅使用根據(jù)在此公開的方法確定的單個參考畫面有利地編碼特定對象的塊,則可以相應(yīng)地僅使用單個參考來編碼特定對象的塊。
      此外,如果所傳送的畫面的序列包括提供對特定(例如“背景”)對象的每個像素的描繪的單個真實幀,或者可以從所傳送的畫面構(gòu)建(合成)的合成幀(不是視頻畫面序列中的實際真實圖像的再現(xiàn)、但是包含對特定“背景”對象的所有像素的描繪的幀),則可以根據(jù)在此公開的方法選擇該真實幀或合成幀(以用作用于將一個或多個其它幀中的相同視頻對象的運(yùn)動改變(motion-shifted)的對應(yīng)部分進(jìn)行編碼的參考),作為將用來對“背景”對象進(jìn)行編碼的單個參考。
      因此,在本發(fā)明的方法將被應(yīng)用于基于對象的編碼的情況下,本領(lǐng)域技術(shù)人員可以將上述方法適配為支持做出基于對象的參考數(shù)目的判定,而不是基于整個畫面的比較的參考數(shù)目的判定。例如,取代計算兩個整個畫面之間的SAD值(PSAD),將計算特定視頻對象的兩個VOP表示之間的SAD值(VOSAD),并將該SAD值用于基于對象的參考數(shù)目的判定,而不是如前述方法中那樣使用PSAD值。類似地,由此得出結(jié)論將利用基于對象的MAD值(VOMAD)來代替歸一化的畫面的SAD值(PMAD)(即,整個當(dāng)前畫面和整個第一個列出的參考畫面之間的MAD)??梢酝ㄟ^將在第一時刻采樣的、當(dāng)前畫面中的視頻對象內(nèi)的特定塊(例如,宏塊)與在第二時刻采樣的、參考畫面中的相同視頻對象內(nèi)的運(yùn)動改變的對應(yīng)的類似大小的塊(例如宏塊)進(jìn)行比較,來進(jìn)行基于對象的編碼中的基于宏塊的運(yùn)動估計。因此,所公開的方法中的計算和判定可以被容易地應(yīng)用于基于對象的編碼。例如,如果相對于當(dāng)前畫面的參考i(其中,i是參考畫面列表的索引)的畫面MAD值PMADi大于閾值T5、或者其中的所有宏塊具有大于閾值T6的宏塊SAD值MBSADi,則將從用于對當(dāng)前畫面中的像素區(qū)(例如,視頻對象)進(jìn)行編碼的參考(例如,參考緩沖器)中去除此參考。
      因此,本發(fā)明的方法可以被一般地描述為基于要單獨(dú)編碼的“像素區(qū)”的特性的計算和參考數(shù)目的判定,其中,像素區(qū)的尺寸可以(根據(jù)進(jìn)行基于幀的編碼還是基于對象的編碼)在整個畫面的全矩形尺寸之間變化,或者被進(jìn)一步限制為特定視頻對象的形狀邊界中的較小區(qū)域。在本發(fā)明的一些實施例中,并且在所附權(quán)利要求中,術(shù)語“像素區(qū)”還包括要編碼的當(dāng)前畫面或當(dāng)前視頻對象的片或場。因此,本發(fā)明的方法提供了使用在參考列表中列出的多個參考的至少一個來對視頻圖像序列中的當(dāng)前畫面的像素區(qū)進(jìn)行相互編碼,該方法包括以下步驟動態(tài)地選擇將用作唯一參考的第一個列出的參考,所述唯一參考將用來對當(dāng)前畫面的像素區(qū)進(jìn)行相互編碼。該像素區(qū)可以包括(矩形的)當(dāng)前畫面的所有像素,或者諸如視頻對象或片或場的較小的(例如,非矩形的)區(qū)域。第一個列出的參考可以是所述多個列出的參考中在時間上最接近包含要進(jìn)行相互編碼的像素區(qū)的當(dāng)前圖像的參考。
      圖2示出了用于確定對于用來將當(dāng)前P或B畫面進(jìn)行相互編碼的每個(反向或前向)預(yù)測是否僅使用單個(一個)參考畫面、從而實施本發(fā)明原理的示例方法的序列200。在此處的每個流程圖(例如圖2和3)中,“是”表示當(dāng)在相關(guān)聯(lián)的菱形(判定框)中顯示的比較或語句為真(TRUE)時使用的判定步驟的每個分支。反之,“否”表示當(dāng)在相關(guān)聯(lián)的菱形(判定框)中顯示的比較或語句為假(FALSE)時使用的判定步驟的分支。
      獲取步驟210獲取所有變量數(shù)據(jù),包括當(dāng)前畫面(CP)和可應(yīng)用的(反向或前向)參考列表N中的第一參考RP0N(零參考)的像素數(shù)據(jù)、以及將在做出所述判定時采用的各種閾值T1、T2、TR、T3、TH、T4、TK1、TK2。
      通過計算當(dāng)前畫面CP和給定列表N(列表0或列表1)中的第一參考(零參考)畫面RP0N的宏塊之間的平均絕對差(PMAD)來執(zhí)行失真計算步驟220??梢允褂脜⒖籍嬅鍾P的原畫面或者重建的參考畫面RPrc來計算CP-RP0NPMAD。(注意,PMAD計算步驟220是指計算畫面中的宏塊的每個宏塊SAD值MBSAD,其為在下面的判定步驟,例如234、262中使用的信息。)在判定步驟232中,如果(在宏塊的級別上)整個當(dāng)前畫面CP和整個第一個列出的參考畫面RP0之間的PMAD值(CP-RP0N PMAD)低于相對小的第一閾值T1,則選擇“是”分支,并且接下來執(zhí)行參考限制步驟294,由此,(例如,通過將num_ref_idx_IN_active_minus1設(shè)置為等于0)把將用于對當(dāng)前畫面進(jìn)行編碼的(可應(yīng)用列表列表0或列表1中的)參考的數(shù)目設(shè)置為1。然后,將在編碼步驟299中僅將單個參考畫面(列表N中的零參考)用于可應(yīng)用的(前向或反向)預(yù)測來對當(dāng)前畫面進(jìn)行相互編碼。在判定步驟232中,如果相反的,CP-RP0N PMAD超過第一閾值T1,則執(zhí)行隨后的判定步驟(例如,234),以確定是否通過其它標(biāo)準(zhǔn)、應(yīng)當(dāng)僅將單個參考畫面(列表N中的零參考)用于可應(yīng)用的(前向或反向)預(yù)測來對當(dāng)前畫面進(jìn)行相互編碼。
      在判定步驟234中,如果具有低于第二閾值T2的宏塊SAD值MBSAD的當(dāng)前畫面CP的宏塊的百分比R等于或大于預(yù)定的閾值百分比TR(例如,TR等于95%),則選擇“是”分支,并且接下來執(zhí)行參考限制步驟294和編碼步驟299。
      在判定步驟236中,如果在計算步驟220中計算的畫面的MAD值(CP-RP0N PMAD)滿足不同的閾值T3(例如,T1≤PMAD<T3),則選擇“是”分支,并且在隨后的步驟280、290和292中評估被編碼用于第一參考畫面的運(yùn)動矢量和參考索引。在判定步驟236中,如果相反的,畫面的MAD值不滿足閾值T3,則執(zhí)行隨后的計算步驟260和判定步驟(例如,262)。
      在計算步驟260中,計算其宏塊SAD值MBSAD滿足不同閾值T4(例如,T2≤MBSAD<T4)的宏塊的百分比H,以便在隨后的判定步驟262中使用。
      在判定步驟262中,如果滿足不同閾值T4的宏塊的百分比H的宏塊SAD值(MBSAD)(例如,T2≤MBMAD<T4)超過預(yù)定的閾值百分比TH,則選擇“是”分支,并且在隨后的步驟280、290和292中評估被編碼用于第一參考畫面的運(yùn)動矢量和參考索引。
      在判定步驟262中,如果相反的,百分比H沒有超過預(yù)定的閾值百分比TH,則可以執(zhí)行隨后的步驟(包括在圖3的步驟302處開始的步驟),以便把用來對當(dāng)前畫面進(jìn)行編碼的有效參考數(shù)目減小到大于1的數(shù)目。
      在計算步驟280中,計算具有等于0的參考索引的第一參考畫面的宏塊的百分比K1,以便在隨后的判定步驟282中使用。在判定步驟282中,如果具有等于0的參考索引的第一參考畫面的宏塊的百分比K1超過預(yù)定的閾值百分比TK1,則選擇“是”分支,并且接下來執(zhí)行參考限制步驟294和編碼步驟299。在判定步驟282中,如果相反的,百分比K1不滿足預(yù)定的閾值百分比TK1,則執(zhí)行隨后的計算步驟290和判定步驟(例如,292)。
      在計算步驟290中,計算使用零參考(RP0)、并且具有分別處于[-mx1,mx2]和[my1,my2](例如,mx1=mx2=my1=my2=1)的目標(biāo)范圍內(nèi)的運(yùn)動矢量分量MVx和MVy的畫面中的塊的百分比K2,以便在隨后的判定步驟292中使用。在判定步驟292中,百分比K2大于預(yù)定的閾值百分比TK2,因而選擇“是”分支,并且接下來執(zhí)行參考限制步驟294和編碼步驟299。在判定步驟292中,如果相反的,百分比K2不大于預(yù)定的閾值百分比TK2,則可以執(zhí)行隨后的步驟(包括在圖3的步驟302處開始的步驟),以便把用來對當(dāng)前畫面進(jìn)行編碼的有效參考的數(shù)目減小到大于1的數(shù)目。
      圖3示出了用來將有效參考的數(shù)目減小到大于一個參考畫面的數(shù)目、從而實施本發(fā)明的原理的示例方法的序列300,其中所述有效參考將(對于每個可用列表)用來對當(dāng)前畫面進(jìn)行編碼。當(dāng)圖2的方法200均沒有產(chǎn)生僅將單個(一個)參考畫面用于用來對當(dāng)前P(或B)畫面進(jìn)行相互編碼的每個(反向或前向)預(yù)測的判定時,將采用圖3的方法300。
      圖3包括對于有效參考列表N中的每個參考畫面重復(fù)、直到檢測了最后的有效參考畫面(例如,“最后的有效畫面”等于“是”)為止的循環(huán)RPloop,并且包括步驟310、320、330、340、350、360,所述步驟可以被執(zhí)行以便從將用來對當(dāng)前畫面進(jìn)行(前向或反向)相互編碼的有效參考畫面的列表中去除參考畫面。在該循環(huán)中,利用被遞增的整數(shù)變量索引i來為最初在參考列表N中的多個參考畫面編制索引,直到檢測到“最后的有效參考?”(判定370等于“是”)為止。在步驟302中,將索引i初始化為等于1,其指示跟隨在圖2中檢查的零參考之后的參考畫面列表N中的參考畫面。
      獲取步驟310獲取所有變量數(shù)據(jù),包括與參考畫面列表N中的第i參考畫面相對應(yīng)的像素數(shù)據(jù),并且確定、訪問或計算將在進(jìn)行所述判定時采用的各種閾值(例如,說明性地,在通過圖3描述的實施例中為T5和T6)。
      在計算步驟320中,計算相對于當(dāng)前畫面的、第i參考畫面(其中,i是參考畫面列表N的索引)中的每個宏塊的宏塊SAD值(MBSADi),以便在隨后的判定步驟330中使用。
      在判定步驟330中,如果第i參考中的所有宏塊的宏塊SAD值(MBSADi)具有大于閾值T6的宏塊SAD值MBSADi(所有MBSADi>T6),則選擇“是”分支,并且執(zhí)行參考去除步驟360,以便從將用于對當(dāng)前畫面進(jìn)行相互編碼的有效參考中去除列表N中的第i參考畫面。在判定步驟330中,如果相反的,所有MBSADi均不大于T6,則執(zhí)行隨后的計算步驟340以及隨后的判定步驟350。
      在計算步驟340中,計算相對于當(dāng)前畫面的、第i參考畫面(其中,i是參考畫面列表N的索引)的畫面MAD值PMADi,以便在隨后的判定步驟350中使用。
      在判定步驟350中,如果相對于當(dāng)前畫面的、第i參考畫面(其中,i是參考畫面列表的索引)的畫面MAD值PMAD1大于閾值T5,則選擇“是”分支,并且執(zhí)行參考去除步驟360,以便從將用于對當(dāng)前畫面進(jìn)行相互編碼的有效參考中去除列表N中的第i參考畫面。
      可以(例如在步驟310中)為每個參考畫面不同地定義閾值T5和T6。例如,如果列表N中的第i參考畫面沒有被用于將更靠近當(dāng)前畫面的另一參考畫面編碼,則可以減小這些閾值T5和T6(閾值T5和T6的減小意味著該參考畫面具有將通過步驟360而被從有效參考中去除的較高可能性,其中所述有效參考將用于在步驟399中對當(dāng)前畫面進(jìn)行相互編碼)。
      在對于列表N中的所有參考畫面完成循環(huán)RPloop(在判定步驟370中,“最后的有效參考”為“是”)之后,在列表重新排序步驟390中,可以將列表N重新排序,以排除通過步驟360去除的那些參考畫面,從而在參考列表N中將以較高的優(yōu)先級(較小的索引號)放置相對于當(dāng)前畫面具有較小失真的剩余的有效參考畫面。隨后,在步驟399中,可以使用已經(jīng)通過圖3的前述步驟序列300最小化和重新排序的參考列表N,來對當(dāng)前畫面進(jìn)行相互編碼。
      雙預(yù)測本發(fā)明的另一實施例具體適用于編碼B-畫面。在畫面的雙預(yù)測(B)相互編碼的情況下,考慮到通常利用列表0的參考和列表1的參考將B-畫面編碼,可以根據(jù)兩種參考的運(yùn)動矢量和參考索引來施加附加條件。例如,如果列表1的參考畫面中的所有或者非常高的百分比的塊BP(例如,BP>90%)使用在列表0中列出的第一畫面(零參考)作為參考,則因為不必將參考索引編碼到比特流中而導(dǎo)致節(jié)省了比特,所以僅使用列表0的單個參考(零參考)可能是有益的。根據(jù)實驗結(jié)果,還考慮到此畫面類型中的直接模式的高度使用,B畫面不會與P畫面同樣多地受益于多個參考的使用,因此,可以完全禁止多個參考選項,而不必進(jìn)行進(jìn)一步的參考數(shù)目的判定,并且在質(zhì)量上影響不大。
      對于B-畫面,可以使用兩個列表來判定是否將保留特定的參考畫面。例如,如果B畫面的列表1的參考畫面(例如,圖1中用于畫面B7和B8的P9)僅使用單個參考畫面(例如,P6)并且在這些畫面之間存在時間關(guān)系,如圖1所示,其中所述單個參考畫面也是列表0中的第一參考,則很有可能也可以使用列表0的單個參考(例如,P6)來有利地對這些B-畫面進(jìn)行相互編碼??梢赃M(jìn)一步考慮這些參考相對于當(dāng)前畫面的失真、考慮運(yùn)動信息、以及按照上面在圖2和圖3中描述的先前的示例的方式來考慮列表1的參考中的大多數(shù)塊是否是靜止的(具有0或接近0的運(yùn)動),其中N將被設(shè)置為1以指示列表1。如果B-畫面的列表0的預(yù)測完全或大部分使用單個參考,則將進(jìn)一步指示使用單個參考來將B-畫面編碼的判定,同時也可以再次考慮運(yùn)動矢量以及每個參考之間的失真。
      圖4示出了用于將像素數(shù)據(jù)(包括畫面序列)編碼為多個塊變換系數(shù)的示例編碼器700,該編碼器被適配用來通過執(zhí)行在此公開的判定方法和辦法來最小化將用來對當(dāng)前畫面進(jìn)行相互編碼的有效參考的列表。編碼器700可以包括多個電路,例如760、716、728、730,所述電路具體被適配用來操作或互操作,以便根據(jù)本發(fā)明的實施例、通過執(zhí)行在此公開的一種或多種方法來最小化或優(yōu)化將用來對當(dāng)前畫面進(jìn)行相互編碼的有效參考的列表。編碼器700包括以信號通信耦接到求和塊714的正輸入的視頻輸入端712。求和塊714繼而耦接到用于實現(xiàn)整數(shù)變換以提供系數(shù)的功能塊716。功能塊716耦接到用于實現(xiàn)熵編碼以提供輸出比特流的熵編碼塊718。功能塊716還在縮放和反相變換塊722處耦接到環(huán)內(nèi)(in-loop)部分720。功能塊722耦接到求和塊724,所述求和塊724繼而耦接到幀內(nèi)預(yù)測塊726。幀內(nèi)預(yù)測塊726耦接到開關(guān)727的第一輸入,所述開關(guān)727繼而耦接到求和塊724的第二輸入和求和塊714的反相輸入。
      求和塊724的輸出還耦接到去塊濾波器740。去塊濾波器740耦接到幀存儲器728。幀存儲器728耦接到運(yùn)動補(bǔ)償(幀間預(yù)測)塊730,所述運(yùn)動補(bǔ)償塊730耦接到開關(guān)727的第二替換輸入。視頻輸入端712還耦接到運(yùn)動估計塊719以提供運(yùn)動矢量。去塊濾波器740還耦接到運(yùn)動估計(幀間預(yù)測)塊719的第二輸入。運(yùn)動估計塊719的輸出耦接到運(yùn)動補(bǔ)償(幀間估計)塊730,以及耦接到熵編碼塊718的第二輸入。
      視頻輸入端712還耦接到編碼器控制塊760。編碼器控制塊760耦接到塊716、718、719、722、726、730和740中的每一個的控制輸入,以便提供用來控制編碼器700的操作的控制信號。該控制信號可以包括閾值T1、T2、TR、T3、TH、T4、TK1、TK2、T5、T6中的一個或多個、或者在功能上與其相當(dāng)或者在其它情況下合并了它們的值的信號。
      可以用可在通用計算機(jī)或者任何其它合適的計算環(huán)境上運(yùn)行的軟件來實現(xiàn)本發(fā)明的各種方面。可以在諸如個人計算機(jī)、通用計算機(jī)、服務(wù)器計算機(jī)、手持式設(shè)備、膝上型設(shè)備、多處理器、微處理器、機(jī)頂盒、可編程消費(fèi)電子設(shè)備、網(wǎng)絡(luò)PC、微型計算機(jī)、大型計算機(jī)、分布式計算環(huán)境等的很多通用或?qū)S糜嬎悱h(huán)境中使用本發(fā)明,以便執(zhí)行用于進(jìn)行本發(fā)明的逐幀數(shù)字視頻編碼的計算機(jī)可執(zhí)行指令,所述指令存儲在計算機(jī)可讀介質(zhì)上。本發(fā)明可以部分或整個地實現(xiàn)為計算機(jī)可執(zhí)行指令,諸如由計算機(jī)執(zhí)行的程序模塊。通常,程序模塊包括用來執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等。在分布式計算環(huán)境中,程序模塊可以位于本地或遠(yuǎn)程存儲設(shè)備中。
      本發(fā)明的示例實施例已經(jīng)在上面進(jìn)行了說明并在附圖中示出。然而,本發(fā)明不限于上述示例實施例,并且顯而易見的是,在本發(fā)明的精神和范圍內(nèi),本領(lǐng)域技術(shù)人員可以實施改變和修改。因此,示例實施例不應(yīng)被理解為限制,而是應(yīng)當(dāng)被理解為示例。本發(fā)明的范圍不是由以上描述而是由所附權(quán)利要求確定的,并且在不脫離由所附權(quán)利要求和等同物限定的本發(fā)明的范圍的情況下,可以對本發(fā)明的實施例做出變化和修改,其中,i、K和M是整數(shù)。
      權(quán)利要求
      1.一種對視頻畫面序列中的當(dāng)前畫面的像素區(qū)進(jìn)行相互編碼的方法,所述序列包括在至少一個參考列表中列出的多個參考,該方法包括以下步驟選擇在參考列表中列出的、將被用作唯一參考的第一參考,所述唯一參考將用來對當(dāng)前畫面的像素區(qū)進(jìn)行編碼。
      2.如權(quán)利要求1所述的方法,還包括以下步驟將num_ref_idx_IN_active_minus1設(shè)置為等于0,其中,N表示參考列表的編號。
      3.如權(quán)利要求1所述的方法,其中,第一個列出的參考在時間上最接近包含要編碼的像素區(qū)的當(dāng)前畫面。
      4.如權(quán)利要求1所述的方法,其中,要編碼的像素區(qū)包括整個當(dāng)前畫面。
      5.如權(quán)利要求1所述的方法,其中,要編碼的像素區(qū)基本上由視頻對象的像素組成。
      6.如權(quán)利要求1所述的方法,其中,要編碼的像素區(qū)基本上由片的像素組成。
      7.如權(quán)利要求1所述的方法,其中,選擇第一個列出的參考的步驟包括以下子步驟計算當(dāng)前畫面和第一個列出的參考的對應(yīng)像素之間的絕對像素差的總和。
      8.如權(quán)利要求7所述的方法,還包括以下步驟將所計算的絕對像素差的總和與第一閾值T1相比較。
      9.如權(quán)利要求7所述的方法,其中,如果絕對像素差的總和小于第一閾值T1,則使用參考列表中列出的單個參考來編碼當(dāng)前畫面的像素區(qū)。
      10.如權(quán)利要求9所述的方法,其中,如果絕對像素差的總和不小于第一閡值T1,則使用參考列表中列出的多個參考來編碼當(dāng)前畫面的像素區(qū)。
      11.如權(quán)利要求1所述的方法,其中,選擇第一個列出的參考的步驟包括以下第一子步驟計算具有比第二閾值T2要低的、相對于第一個列出的參考的絕對像素差值MBSAD的總和的當(dāng)前畫面的像素區(qū)中的塊的比率MBR;其中,如果比率MBR等于或大于第一閾值比率TRR,則僅使用第一個列出的參考來編碼所述像素區(qū)。
      12.一種對視頻畫面序列中的當(dāng)前畫面進(jìn)行相互編碼的方法,所述序列包括在參考列表中列出的多個參考,該方法包括以下步驟選擇在參考列表中列出的、將用作唯一參考的第一參考,所述唯一參考將用來對當(dāng)前畫面進(jìn)行編碼。
      13.如權(quán)利要求12所述的方法,其中,選擇第一個列出的參考的步驟包括以下子步驟計算在利用等于0的參考索引編碼的第一個列出的參考畫面中編碼的塊的比率RK1;其中,如果比率RK1超過預(yù)定的閾值比率TRK1,則僅使用第一個列出的參考來編碼當(dāng)前畫面。
      14.如權(quán)利要求13所述的方法,其中,僅在具有比第四閾值T4要低的、相對于第一個列出的參考的塊SAD值MBSAD的當(dāng)前畫面的像素區(qū)中的塊的比率MBR等于或大于第二預(yù)定閾值比率TRH時,才執(zhí)行計算比率RK1的子步驟。
      15.如權(quán)利要求13所述的方法,其中,僅在當(dāng)前畫面和第一個列出的參考的對應(yīng)像素區(qū)中的絕對像素差的總和小于第三預(yù)定閾值T3時,才執(zhí)行計算比率RK1的子步驟。
      16.如權(quán)利要求12所述的方法,其中,選擇第一個列出的參考的步驟包括以下子步驟計算第一參考畫面的塊的比率RK2,所述第一參考畫面已經(jīng)被編碼為具有分別等于或小于預(yù)定閾值幅度TX和TY的運(yùn)動矢量幅度分量MVx和MVy,其中,如果比率RK2大于預(yù)定閾值百分比TRK2,則僅使用第一個列出的參考來編碼當(dāng)前畫面。
      17.如權(quán)利要求16所述的方法,其中,閾值幅度TX等于閾值幅度TY。
      18.如權(quán)利要求16所述的方法,其中,僅在當(dāng)前畫面和第一個列出的參考的對應(yīng)像素區(qū)中的絕對像素差的總和不小于第一預(yù)定閾值T1時,才執(zhí)行計算比率RK2的子步驟。
      19.一種使用在有效參考列表中列出的多個參考畫面中的至少一個來對視頻畫面序列中的當(dāng)前畫面進(jìn)行相互編碼的方法,該方法包括從有效參考列表中去除所列出的參考中的至少一個的步驟,該步驟基于每個被去除的參考與當(dāng)前畫面的比較。
      20.如權(quán)利要求19所述的方法,還包括以下步驟相應(yīng)地減小num_ref_idx_IN_active_minus1,其中,N表示有效參考列表的編號。
      21.如權(quán)利要求19所述的方法,其中,所述比較是直接比較。
      22.如權(quán)利要求21所述的方法,其中,去除所列出的參考的步驟包括以下子步驟通過計算當(dāng)前畫面和每個被去除的參考之間的絕對像素差的總和來測量失真。
      23.如權(quán)利要求21所述的方法,其中,去除所列出的參考的步驟包括對于從列表中去除的每個參考執(zhí)行以下子步驟計算具有大于預(yù)定閾值T6的絕對差值的總和的塊的數(shù)目。
      24.如權(quán)利要求23所述的方法,還包括對于未被用于編碼在時間上更接近當(dāng)前畫面的另一參考畫面的每個參考畫面,動態(tài)地減小閾值T6的值。
      25.如權(quán)利要求19所述的方法,其中,所述比較是間接比較。
      26.如權(quán)利要求25所述的方法,其中,基于每個被去除的參考與當(dāng)前畫面的比較而從有效參考列表中去除所列出的參考中的至少一個的步驟包括如果第二參考畫面與第一參考畫面相比具有高失真、并且第一參考畫面與當(dāng)前畫面相比具有低失真,則從有效參考列表中去除第二參考畫面。
      27.一種使用在有效參考列表中列出的多個參考畫面中的至少一個來對當(dāng)前畫面進(jìn)行相互編碼的方法,該方法包括以下步驟將所列出的參考重新排序,使得在有效參考列表中以較高的優(yōu)先級列出相對于當(dāng)前畫面具有較小失真的參考畫面。
      28.一種對視頻畫面序列進(jìn)行相互編碼的方法,該方法包括執(zhí)行使用在參考畫面列表中列出的所有參考畫面來編碼當(dāng)前畫面的第一編碼步驟;從參考列表中選擇和去除一個或多個畫面以創(chuàng)建新參考列表的步驟;以及隨后執(zhí)行僅使用在新參考列表中列出的畫面將當(dāng)前畫面重新編碼的第二編碼步驟。
      29.如權(quán)利要求28所述的方法,其中,將所選擇的、從參考列表中去除的畫面中的至少一個去除,因為在用于編碼當(dāng)前畫面的塊的任何一個的第一編碼步驟中沒有將它用作參考。
      30.如權(quán)利要求28所述的方法,其中,將所選擇的、從參考列表中去除的畫面中的至少一個去除,因為在第一步驟中使用其參考索引來對當(dāng)前畫面的少于預(yù)定閾值數(shù)目的塊編碼。
      31.如權(quán)利要求28所述的編碼方法,還包括從有效參考列表中去除在第一遍期間未被用作參考畫面的所有畫面。
      32.如權(quán)利要求28所述的編碼方法,還包括計算在第一遍中將特定索引的參考畫面用作編碼參考的當(dāng)前畫面中的塊的數(shù)目;并且,如果塊的數(shù)目小于塊的預(yù)定閾值數(shù)目,則在第二遍中不使用該特定索引的參考畫面來編碼當(dāng)前畫面。
      33.一種將視頻圖像序列編碼的方法,該方法包括以下步驟使用M個參考畫面的K個排列來對當(dāng)前畫面進(jìn)行K次相互編碼,其中K等于K&le;&Sigma;i=1MM!(M-i)!]]>隨后,基于與其它K-1個編碼的當(dāng)前畫面進(jìn)行比較的預(yù)定標(biāo)準(zhǔn),從K個編碼的當(dāng)前畫面中選擇一個編碼的當(dāng)前畫面。
      34.如權(quán)利要求33所述的編碼方法,其中,選擇一個編碼的當(dāng)前畫面的步驟包括計算和比較所述K個編碼的當(dāng)前畫面的每一個相對于要編碼的當(dāng)前畫面的失真。
      35.如權(quán)利要求33所述的編碼方法,其中,選擇一個編碼的當(dāng)前畫面的步驟包括計算和比較所述K個編碼的當(dāng)前畫面中的每一個的比特率。
      36.如權(quán)利要求33所述的編碼方法,其中,選擇一個編碼的當(dāng)前畫面的步驟包括計算和比較所述K個編碼的當(dāng)前畫面的每一個的比特率和失真,其中,使用拉格朗日乘子針對比特率來對失真進(jìn)行加權(quán)。
      37.一種對視頻畫面序列進(jìn)行相互編碼的方法,該方法包括以下步驟使用可用參考的多個排列的每一個來執(zhí)行當(dāng)前畫面的運(yùn)動估計編碼,并且選擇使預(yù)定條件最小化的可用參考的排列。
      38.如權(quán)利要求37所述的方法,其中,所述預(yù)定條件選擇自比特率、失真、或比特率和失真的加權(quán)組合。
      39.如權(quán)利要求37所述的方法,其中,所選擇的可用參考的排列由一個單一參考組成,并且其中,被最小化的預(yù)定條件是比特率。
      40.如權(quán)利要求37所述的方法,其中,如果所選擇的可用參考的排列由一個單個參考組成,則還執(zhí)行僅將該單個參考用于運(yùn)動估計以重新編碼當(dāng)前畫面的步驟。
      41.一種用于將視頻圖像序列編碼的編碼器,該編碼器包括參考畫面緩沖器,其中,該編碼器被適配為使用存儲在參考畫面緩沖器中并在參考列表中列出的多個參考畫面中的至少一個,來對畫面序列中的當(dāng)前畫面進(jìn)行相互編碼;其中,該編碼器還被適配為基于預(yù)定標(biāo)準(zhǔn),動態(tài)地選擇將用作唯一參考的第一個列出的參考,所述唯一參考將用來對當(dāng)前畫面進(jìn)行相互編碼。
      42.如權(quán)利要求41所述的編碼器,其中,所述預(yù)定標(biāo)準(zhǔn)包括使要編碼的當(dāng)前畫面的比特率最小化。
      43.如權(quán)利要求41所述的編碼器,其中,所述預(yù)定標(biāo)準(zhǔn)包括使要編碼的當(dāng)前畫面的失真最小化。
      44.如權(quán)利要求41所述的編碼器,其中,所述預(yù)定標(biāo)準(zhǔn)包括使用拉格朗日乘子將要編碼的當(dāng)前畫面的比特率和失真的加權(quán)組合最小化。
      45.如權(quán)利要求41所述的編碼器,其中,該編碼器還被適配為動態(tài)地將存儲在參考畫面緩沖器中的參考的列表重新排序,使得在該列表中以較高地優(yōu)先級列出相對于當(dāng)前畫面具有較小失真的參考畫面。
      46.如權(quán)利要求41所述的編碼器,其中,該編碼器還被適配為從存儲在參考畫面緩沖器中的參考的列表中動態(tài)地選擇和去除一個或多個畫面,以創(chuàng)建新參考列表;并且僅使用在新參考列表中列出的畫面來對當(dāng)前畫面進(jìn)行相互編碼。
      47.一種用于將圖像序列編碼的編碼器,該編碼器包括參考緩沖器,其中,該編碼器被適配為使用在參考緩沖器中列出的多個參考畫面中的至少一個來對當(dāng)前畫面進(jìn)行相互編碼,并且被適配為動態(tài)地對存儲在參考緩沖器中的參考的列表重新排序,使得在有效參考列表中以較高的優(yōu)先級列出相對于當(dāng)前畫面具有較小失真的參考畫面。
      48.如權(quán)利要求47所述的編碼器,其中,該編碼器還被適配為如果僅使用第一個列出的參考進(jìn)行編碼滿足預(yù)定標(biāo)準(zhǔn),則僅將第一個列出的參考畫面用作唯一參考來對當(dāng)前畫面進(jìn)行相互編碼,其中所述唯一參考將用來對當(dāng)前畫面進(jìn)行相互編碼。
      49.如權(quán)利要求47所述的編碼器,其中,所述預(yù)定標(biāo)準(zhǔn)包括使要編碼的當(dāng)前畫面的比特率最小化。
      50.如權(quán)利要求47所述的編碼器,其中,所述預(yù)定標(biāo)準(zhǔn)包括使要編碼的當(dāng)前畫面的失真最小化。
      全文摘要
      一種用于最小化和優(yōu)化將用于當(dāng)前畫面、或當(dāng)前畫面中的像素區(qū)(例如,視頻對象)的(前向或反向)相互編碼的有效參考畫面的列表的方法(200)?;谂c像素數(shù)據(jù)以及當(dāng)前畫面和一個或多個參考畫面之間的運(yùn)動有關(guān)的一個或多個判定,將列表中的有效參考畫面的數(shù)目設(shè)置為等于1(294)。否則,基于與像素數(shù)據(jù)以及當(dāng)前畫面和一個或多個參考畫面之間的運(yùn)動有關(guān)的一個或多個其它判定來最小化列表中的有效參考畫面的數(shù)目(300)。基于第一參考畫面列表中的參考畫面的使用,最小化第二參考畫面列表中的有效參考畫面的數(shù)目。視頻編碼器(700)處理表示由傳統(tǒng)的市場上有售的視頻照相機(jī)產(chǎn)生的二維視頻圖像的數(shù)據(jù)。該視頻編碼器被適配用來確定、選擇和最小化將用來對當(dāng)前畫面進(jìn)行相互編碼的有效參考畫面的數(shù)目。由該編碼器(700)發(fā)送的比特流可以由現(xiàn)有技術(shù)的解碼器解碼。
      文檔編號H04N7/36GK1875637SQ200480031673
      公開日2006年12月6日 申請日期2004年8月24日 優(yōu)先權(quán)日2003年8月26日
      發(fā)明者亞歷山德羅斯·圖拉皮斯, 吉爾·M·博伊斯 申請人:湯姆森特許公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1