本申請(qǐng)是2013年3月20日提交的、國(guó)際申請(qǐng)日為2012年2月9日的、申請(qǐng)?zhí)枮?01280002994.x(pct/kr2012/000959)的,發(fā)明名稱為“編碼和解碼圖像的方法及使用該方法的設(shè)備”專利申請(qǐng)的分案申請(qǐng)。
本發(fā)明通常涉及一種圖像處理,并且更具體而言涉及用于間預(yù)測(cè)(interprediction)的方法和裝置。
背景技術(shù):
近來(lái),對(duì)于高分辨率和高質(zhì)量圖像,諸如高清晰度(hd)圖像和超高清晰度(uhd)圖像的需求在各種的領(lǐng)域中已經(jīng)日益增長(zhǎng)。由于圖像數(shù)據(jù)的分辨率和圖片質(zhì)量變得較高,發(fā)送的信息量或者比特?cái)?shù)相對(duì)于現(xiàn)有的圖像數(shù)據(jù)相應(yīng)地增加。因此,在使用諸如現(xiàn)有的有線/無(wú)線線路的介質(zhì)發(fā)送圖像數(shù)據(jù)的情況下,或者在使用現(xiàn)有的存儲(chǔ)介質(zhì)存儲(chǔ)圖像數(shù)據(jù)的情況下,傳輸成本和存儲(chǔ)成本增長(zhǎng)。為了解決這些問(wèn)題,可以使用高效率的圖像壓縮技術(shù)。
存在各種的圖像壓縮技術(shù),諸如從在當(dāng)前圖片的之前或者之后的圖片中預(yù)測(cè)包括在當(dāng)前圖片中的像素值的間預(yù)測(cè)方法、使用來(lái)自當(dāng)前圖片的像素信息來(lái)預(yù)測(cè)包括在當(dāng)前圖片中的像素值的內(nèi)預(yù)測(cè)(intraprediction)方法、以及分配短代碼字給具有高出現(xiàn)頻率的值和分配長(zhǎng)代碼字給具有低出現(xiàn)頻率的值的熵編碼技術(shù)。圖像數(shù)據(jù)可以使用這樣的圖像壓縮技術(shù)被有效地壓縮以發(fā)送或者存儲(chǔ)。
技術(shù)實(shí)現(xiàn)要素:
技術(shù)問(wèn)題
本發(fā)明的一個(gè)方面提供一種用于編碼圖像的方法和裝置,其可以改善圖像壓縮效率。
本發(fā)明的另一個(gè)方面提供一種用于解碼圖像的方法和裝置,其可以改善圖像壓縮效率。
本發(fā)明的再一個(gè)方面提供一種用于間預(yù)測(cè)的方法和裝置,其可以改善圖像壓縮效率。
本發(fā)明的又一個(gè)方面提供一種用于推導(dǎo)時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子的方法和裝置,其可以改善圖像壓縮效率。
技術(shù)方案
1.本發(fā)明的一個(gè)示例性實(shí)施例提供一種用于推導(dǎo)時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子的方法。該方法包括:選擇用于當(dāng)前塊的參考圖片;將在參考圖片中與預(yù)先確定的存儲(chǔ)單元塊相對(duì)應(yīng)的預(yù)測(cè)塊確定為用于當(dāng)前塊的參考預(yù)測(cè)單元(colpu);以及從確定的參考預(yù)測(cè)單元的運(yùn)動(dòng)信息推導(dǎo)時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子(tmvp)。在這里,參考預(yù)測(cè)單元的運(yùn)動(dòng)信息是位于參考預(yù)測(cè)單元覆蓋的有代表性的像素中的運(yùn)動(dòng)信息,以及有代表性的像素是有代表性的運(yùn)動(dòng)信息位于其中的像素,該像素被存儲(chǔ)在預(yù)先確定的存儲(chǔ)單元塊中以表示運(yùn)動(dòng)信息。
2.根據(jù)1,預(yù)先確定的存儲(chǔ)單元塊是右下角塊,該右下角塊位于共處一地的塊的右下角,以及共處一地的塊是在參考圖片中處于與當(dāng)前塊相同位置的塊。
3.根據(jù)2,如果在參考圖片中與右下角塊相對(duì)應(yīng)的預(yù)測(cè)塊被以內(nèi)模式(intramode)編譯或者是不可用的,則預(yù)先確定的存儲(chǔ)單元塊是右下中央塊,該右下中央塊位于共處一地的塊的右下中央。
4.根據(jù)2,如果右下角塊位于當(dāng)前塊所屬的最大編譯單元(lcu)的外部,則預(yù)先確定的存儲(chǔ)單元塊是右下中央塊,該右下中央塊位于共處一地的塊的右下中央。
5.根據(jù)2,如果在參考圖片中與右下角塊相對(duì)應(yīng)的預(yù)測(cè)塊被以內(nèi)模式編譯或者是不可用的,則預(yù)先確定的存儲(chǔ)單元塊是位于共處一地的塊的左上中央的左上中央塊。
6.根據(jù)1,該預(yù)先確定的存儲(chǔ)單元塊是位于共處一地的塊的左上中央的左上中央塊,以及共處一地的塊是在參考圖片中處于與當(dāng)前塊相同位置的塊。
7.根據(jù)1,該預(yù)先確定的存儲(chǔ)單元塊是位于共處一地的塊的右下中央的右下中央塊,以及共處一地的塊是在參考圖片中處于與當(dāng)前塊相同位置的塊。
8.本發(fā)明的另一個(gè)示例性實(shí)施例提供一種用于推導(dǎo)時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子的方法。該方法包括:選擇用于當(dāng)前塊的參考圖片;在參考圖片中以預(yù)先確定的順序掃描多個(gè)預(yù)先確定的存儲(chǔ)單元塊;選擇包括可用的運(yùn)動(dòng)信息和具有在多個(gè)預(yù)先確定的存儲(chǔ)單元塊之中的最高掃描優(yōu)先級(jí)的存儲(chǔ)單元塊;將在參考圖片中與選擇的存儲(chǔ)單元塊相對(duì)應(yīng)的預(yù)測(cè)單元確定為參考預(yù)測(cè)單元(colpu);以及從確定的參考預(yù)測(cè)單元的運(yùn)動(dòng)信息中推導(dǎo)時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子(tmvp)。在這里,該參考預(yù)測(cè)單元的運(yùn)動(dòng)信息是位于參考預(yù)測(cè)單元覆蓋的有代表性的像素中的運(yùn)動(dòng)信息,以及有代表性的像素是有代表性的運(yùn)動(dòng)信息位于其中的像素,該像素被存儲(chǔ)在選擇的存儲(chǔ)單元塊中以表示運(yùn)動(dòng)信息。
9.本發(fā)明的再一個(gè)示例性實(shí)施例提供一種用于間預(yù)測(cè)的方法。該方法包括:選擇用于當(dāng)前塊的參考圖片;將在參考圖片中與預(yù)先確定的存儲(chǔ)單元塊相對(duì)應(yīng)的預(yù)測(cè)塊確定為用于當(dāng)前塊的參考預(yù)測(cè)單元(colpu);從確定的參考預(yù)測(cè)單元的運(yùn)動(dòng)信息推導(dǎo)時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子(tmvp);以及使用推導(dǎo)的時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子來(lái)產(chǎn)生用于當(dāng)前塊的預(yù)測(cè)塊。在這里,該參考預(yù)測(cè)單元的運(yùn)動(dòng)信息是位于參考預(yù)測(cè)單元覆蓋的有代表性的像素中的運(yùn)動(dòng)信息,以及有代表性的像素是有代表性的運(yùn)動(dòng)信息位于其中的像素,該像素被存儲(chǔ)在預(yù)先確定的存儲(chǔ)單元塊中以表示運(yùn)動(dòng)信息。
10.根據(jù)9,預(yù)先確定的存儲(chǔ)單元塊是右下角塊,該右下角塊位于共處一地的塊的右下角,以及共處一地的塊是在參考圖片中處于與當(dāng)前塊相同位置的塊。
11.根據(jù)10,如果在參考圖片中與右下角塊相對(duì)應(yīng)的預(yù)測(cè)塊被以內(nèi)模式編譯或者是不可用的,則預(yù)先確定的存儲(chǔ)單元塊是右下中央塊,該右下中央塊位于共處一地的塊的右下中央。
12.根據(jù)10,如果右下角塊位于當(dāng)前塊所屬的最大編譯單元(lcu)的外部,則預(yù)先確定的存儲(chǔ)單元塊是右下中央塊,該右下中央塊位于共處一地的塊的右下中央。
有益效果
根據(jù)用于根據(jù)本發(fā)明實(shí)施例的編碼圖像的方法,可以改善圖像壓縮效率。
根據(jù)用于根據(jù)本發(fā)明實(shí)施例的解碼圖像的方法,可以改善圖像壓縮效率。
根據(jù)用于根據(jù)本發(fā)明實(shí)施例的間預(yù)測(cè)的方法,可以改善圖像壓縮效率。
附圖說(shuō)明
圖1是示意性地示出根據(jù)本發(fā)明實(shí)施例的用于編碼圖像的裝置的框圖。
圖2是示意性地示出根據(jù)本發(fā)明實(shí)施例的預(yù)測(cè)器的概念圖。
圖3是示意性地示出根據(jù)本發(fā)明實(shí)施例的用于解碼圖像的裝置的框圖。
圖4是示意性地示出根據(jù)本發(fā)明實(shí)施例的用于解碼圖像的裝置的預(yù)測(cè)器的概念圖。
圖5是示意性地示出在間預(yù)測(cè)模式中應(yīng)用高級(jí)運(yùn)動(dòng)矢量預(yù)測(cè)因子(amvp)的情形下,用于推導(dǎo)運(yùn)動(dòng)矢量的方法的實(shí)施例的流程圖。
圖6是示意性地示出用于產(chǎn)生運(yùn)動(dòng)矢量預(yù)測(cè)因子候選列表的方法的實(shí)施例的概念圖。
圖7是示意性地示出存儲(chǔ)單元塊的實(shí)施例。
圖8是示意性地示出存儲(chǔ)單元塊的另一個(gè)實(shí)施例的概念圖。
圖9是示意性地示出用于壓縮時(shí)間的運(yùn)動(dòng)信息的方法的實(shí)施例的概念圖。
圖10是示意性地示出用于壓縮時(shí)間的運(yùn)動(dòng)信息的方法的另一個(gè)實(shí)施例的概念圖。
圖11是示意性地示出用于壓縮時(shí)間的運(yùn)動(dòng)信息的方法的再一個(gè)實(shí)施例的概念圖。
圖12是示意性地示出用于壓縮時(shí)間的運(yùn)動(dòng)信息的方法的再一個(gè)實(shí)施例的概念圖。
圖13是示意性地示出用于壓縮時(shí)間的運(yùn)動(dòng)信息的方法的再一個(gè)實(shí)施例的概念圖。
圖14是示意性地示出用于壓縮時(shí)間的運(yùn)動(dòng)信息的方法的再一個(gè)實(shí)施例的概念圖。
圖15是示意性地示出用于壓縮時(shí)間的運(yùn)動(dòng)信息的方法的再一個(gè)實(shí)施例的概念圖。
圖16是示意性地示出包括在參考圖片中的共處一地的塊的概念圖。
圖17是示意性地示出用于推導(dǎo)時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子的方法的實(shí)施例的概念圖。
圖18是示意性地示出時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子可以位于其中的時(shí)間的參考?jí)K的實(shí)施例的概念圖。
圖19是示意性地示出用于推導(dǎo)時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子的方法的另一個(gè)實(shí)施例的概念圖。
圖20是示意性地示出用于推導(dǎo)時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子的方法的再一個(gè)實(shí)施例的概念圖。
圖21是示意性地示出用于推導(dǎo)時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子的方法的再一個(gè)實(shí)施例的概念圖。
圖22是示意性地示出用于推導(dǎo)時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子的方法的再一個(gè)實(shí)施例的概念圖。
圖23是示意性地示出根據(jù)本發(fā)明實(shí)施例的用于間預(yù)測(cè)的方法的流程圖。
具體實(shí)施方式
由于本發(fā)明可以具有各種的改進(jìn)和若干實(shí)施例,所以在該附圖中將舉例說(shuō)明特定實(shí)施例,并且將對(duì)其進(jìn)行詳細(xì)描述。但是,本發(fā)明不局限于這樣特定實(shí)施例。在本說(shuō)明書(shū)中使用的術(shù)語(yǔ)僅用于解釋特定實(shí)施例,但是不意欲限制本發(fā)明的技術(shù)思想。在本說(shuō)明書(shū)中,單數(shù)表達(dá)可以包括復(fù)數(shù)表達(dá),除非特別地描述的。在本說(shuō)明書(shū)中使用的術(shù)語(yǔ)“包括”或者“具有”指的是除了描述的組件、步驟、操作和/或元件之外,不排除一個(gè)或多個(gè)其它組件、步驟、操作和/或元件的存在或者添加。
另一方面,為了便于解釋在視頻編碼/解碼裝置中不同的功能,將在本發(fā)明中描述的附圖中的各個(gè)配置被獨(dú)立地舉例說(shuō)明,但是不意味著該配置通過(guò)單獨(dú)的硬件或者單獨(dú)的軟件實(shí)現(xiàn)。例如,兩個(gè)或更多個(gè)配置可以組合為一個(gè)配置,或者一個(gè)配置可以被分成多個(gè)配置。甚至各個(gè)配置集成和/或分離的實(shí)施例被包括在本發(fā)明的范圍中,除非它們脫離本發(fā)明的必要特征。
此外,一些組成元件可以不必是用于執(zhí)行本發(fā)明的必要功能的必要組成元件,而是,可以僅是用于改善性能的選擇性的組成元件。本發(fā)明可以實(shí)現(xiàn)為僅包括對(duì)實(shí)現(xiàn)本發(fā)明的必要特征說(shuō)來(lái)是必需的必要配置,排除僅用于改善性能的組成元件,以及另外,排除用于僅改善性能的選擇性的組成元件而僅包括必要組成元件的結(jié)構(gòu)被包括在本發(fā)明的范圍中。
在下文中將參考附圖來(lái)詳細(xì)描述本發(fā)明的優(yōu)選實(shí)施例。在本發(fā)明的整個(gè)描述中,相同的附圖參考數(shù)字在不同的附圖上用于相同元件,并且相同元件的重復(fù)解釋將被省略。
圖1是示意性地示出根據(jù)本發(fā)明實(shí)施例的用于編碼圖像的裝置的框圖。參考圖1,用于編碼圖像的裝置100包括圖片劃分器105、預(yù)測(cè)器110、變換器115、量化器120、重新排序模塊125、熵編碼器130、去量化器135、逆變換器140、濾波器模塊145和存儲(chǔ)器150。
圖片劃分器105可以將輸入圖片劃分為至少一個(gè)處理單元。此時(shí),該處理單元可以是預(yù)測(cè)單元(pu)、變換單元(tu)或者編譯單元(cu)。
稍后將描述的預(yù)測(cè)器110可以包括執(zhí)行間預(yù)測(cè)的間預(yù)測(cè)器、以及執(zhí)行內(nèi)預(yù)測(cè)的內(nèi)預(yù)測(cè)器。預(yù)測(cè)器110可以相對(duì)于在圖片劃分器105中的圖片處理單元來(lái)執(zhí)行預(yù)測(cè),并且產(chǎn)生預(yù)測(cè)塊。在預(yù)測(cè)器110中的圖片處理單元可以是編譯單元、變換單元或者預(yù)測(cè)單元。此外,預(yù)測(cè)器110可以確定相對(duì)于相應(yīng)的處理單元而執(zhí)行的預(yù)測(cè)是間預(yù)測(cè)還是內(nèi)預(yù)測(cè),并且確定預(yù)測(cè)方法的詳細(xì)的內(nèi)容(例如,預(yù)測(cè)模式等)。此時(shí),用于執(zhí)行預(yù)測(cè)的處理單元可以不同于確定預(yù)測(cè)方法和詳細(xì)內(nèi)容的處理單元。例如,可以在預(yù)測(cè)單元中確定預(yù)測(cè)方法和預(yù)測(cè)模式,并且可以在變換單元中執(zhí)行預(yù)測(cè)性能。在產(chǎn)生的預(yù)測(cè)塊和初始?jí)K之間的殘留值(例如,殘留塊)可以輸入給變換器115。此外,用于預(yù)測(cè)的預(yù)測(cè)模式信息、運(yùn)動(dòng)矢量信息等可以由熵編碼器130與殘留值一起編碼,然后傳送給解碼器。
變換器115在變換單元中執(zhí)行殘留塊的變換,并且產(chǎn)生變換系數(shù)。該變換可以由變換器115在可以具有四叉樹(shù)結(jié)構(gòu)的變換單元中執(zhí)行。此時(shí),變換單元的尺寸可以在預(yù)先確定的最大和最小尺寸的范圍內(nèi)確定。變換器115可以使用離散余弦變換(dct)和/或離散正弦變換(dst)來(lái)變換殘留塊。
量化器120可以通過(guò)量化由變換器115變換的殘留值來(lái)產(chǎn)生量化系數(shù)??梢詫⒂闪炕?20計(jì)算的值提供給去量化器135和重新排序模塊125。
重新排序模塊125重新排序從量化器120提供的量化系數(shù)。通過(guò)重新排序該量化系數(shù),可以改善在熵編碼器130中的編碼效率。重新排序模塊125可以通過(guò)系數(shù)掃描方法以1d矢量形式來(lái)重新排序2d塊類型量化系數(shù)?;趶牧炕靼l(fā)送的系數(shù)的概率統(tǒng)計(jì),重新排序模塊125通過(guò)改變系數(shù)掃描的順序可以提高熵編碼器130的熵編碼效率。
熵編碼器130可以對(duì)通過(guò)重新排序模塊125重新排序的量化系數(shù)來(lái)執(zhí)行熵編碼。熵編碼器130可以編碼各種信息,諸如從重新排序模塊125和預(yù)測(cè)器110傳送的編碼單元的量化系數(shù)信息、塊類型信息、預(yù)測(cè)模式信息、劃分單元信息、預(yù)測(cè)單元信息和傳輸單元信息、運(yùn)動(dòng)矢量信息、參考圖片信息、塊的插入信息和濾波信息。
對(duì)于熵編碼,可以使用諸如指數(shù)哥倫布(exponentialgolomb)、上下文自適應(yīng)可變長(zhǎng)度編譯(cavlc)、和上下文自適應(yīng)二進(jìn)制運(yùn)算編譯(cabac)的編碼方法。例如,用于執(zhí)行熵編碼的表,諸如可變長(zhǎng)度編譯(以下簡(jiǎn)稱為“vlc”)可以存儲(chǔ)在熵編碼器130中,并且熵編碼器130可以使用存儲(chǔ)在其中的vlc表來(lái)執(zhí)行熵編碼。作為另一個(gè)實(shí)施例,在cabac熵編碼方法中,熵編碼器130通過(guò)二進(jìn)制化該符號(hào)將符號(hào)轉(zhuǎn)換為二進(jìn)制數(shù),并且根據(jù)二進(jìn)制數(shù)發(fā)生概率對(duì)二進(jìn)制數(shù)執(zhí)行算術(shù)編碼以產(chǎn)生比特流。
在應(yīng)用熵編碼的情形下,可以將低值的索引和相應(yīng)的短代碼字分配給具有高發(fā)生概率的符號(hào),并且將高值的索引和相應(yīng)的長(zhǎng)代碼字分配給具有低發(fā)生概率的符號(hào)。因此,可以降低用于編碼目標(biāo)符號(hào)的比特?cái)?shù),并且通過(guò)熵編碼可以改善圖像壓縮性能。
去量化器135可以對(duì)由量化器120量化的值執(zhí)行去量化,并且逆變換器140可以對(duì)由去量化器135去量化的值執(zhí)行逆變換。可以將由去量化器135和逆變換器140產(chǎn)生的殘留值增加給由預(yù)測(cè)器110預(yù)測(cè)的預(yù)測(cè)塊以產(chǎn)生重建的塊。
濾波器模塊145可以將去塊濾波器和/或自適應(yīng)環(huán)路濾波器(alf)應(yīng)用于重建的圖片。
去塊濾波器可以在重建的圖片中去除在塊之間的邊界上出現(xiàn)的塊失真。在經(jīng)由去塊濾波器對(duì)塊進(jìn)行濾波之后,alf可以基于通過(guò)將重建的圖像與初始圖像比較獲得的值來(lái)執(zhí)行濾波。alf可以僅在應(yīng)用高效率圖像的情形下工作。
另一方面,濾波器模塊145可以不對(duì)用于間預(yù)測(cè)的重建的塊執(zhí)行濾波。
存儲(chǔ)器150可以存儲(chǔ)通過(guò)濾波器模塊145計(jì)算的重建的塊或者圖片??梢詫⒋鎯?chǔ)在存儲(chǔ)器150中的該重建的塊或者圖片提供給執(zhí)行間預(yù)測(cè)的預(yù)測(cè)器110。
編譯單元(cu)是執(zhí)行圖片編碼/解碼的單元,并且可以基于四叉樹(shù)結(jié)構(gòu)被劃分為具有深度。編譯單元可以具有各種的尺寸,諸如64×64、32×32、16×16和8×8。
編碼器可以將有關(guān)最大編譯單元(lcu)和最小編譯單元(scu)的信息發(fā)送給解碼器。有關(guān)劃分?jǐn)?shù)目的信息(深度信息)可以與有關(guān)最大編譯單元和/或最小編譯單元的信息一起發(fā)送給解碼器。有關(guān)編譯單元是否基于四叉樹(shù)結(jié)構(gòu)被劃分的信息可以通過(guò)諸如分解標(biāo)記的標(biāo)記信息從編碼器傳送給解碼器。
一個(gè)編譯單元可以被分成多個(gè)預(yù)測(cè)單元。在執(zhí)行內(nèi)預(yù)測(cè)的情形下,可以在預(yù)測(cè)單元中確定預(yù)測(cè)模式,并且可以在預(yù)測(cè)單元中執(zhí)行預(yù)測(cè)。此時(shí),可以在預(yù)測(cè)單元中確定預(yù)測(cè)模式,并且可以在變換單元中執(zhí)行內(nèi)預(yù)測(cè)。
圖2是示意性地示出根據(jù)本發(fā)明實(shí)施例的預(yù)測(cè)器的概念圖。參考圖2,預(yù)測(cè)器200可以包括間預(yù)測(cè)器210和內(nèi)預(yù)測(cè)器220。
間預(yù)測(cè)器210可以基于當(dāng)前圖片的先前圖片和后續(xù)圖片中的至少一個(gè)圖片的信息通過(guò)執(zhí)行預(yù)測(cè)來(lái)產(chǎn)生預(yù)測(cè)塊。此外,內(nèi)預(yù)測(cè)器220可以基于在當(dāng)前圖片中的像素信息通過(guò)執(zhí)行預(yù)測(cè)來(lái)產(chǎn)生預(yù)測(cè)塊。
間預(yù)測(cè)器210可以選擇用于預(yù)測(cè)單元的參考圖片,并且以整數(shù)像素采樣單位來(lái)選擇具有與預(yù)測(cè)單元相同尺寸的參考?jí)K。然后,間預(yù)測(cè)器210可以產(chǎn)生最類似于當(dāng)前預(yù)測(cè)單元的預(yù)測(cè)塊,以使殘留信號(hào)最小化,并且還以小于整數(shù)的單位,諸如1/2像素采樣單位和1/4像素采樣單位使被編碼的運(yùn)動(dòng)矢量的尺寸最小化。此時(shí),運(yùn)動(dòng)矢量可以以小于整數(shù)像素的單位,例如以用于亮度像素的1/4像素單位和以用于色度像素的1/8像素單位來(lái)表示。
可以編碼有關(guān)由間預(yù)測(cè)器210選擇的參考圖片和運(yùn)動(dòng)矢量的索引的信息,并且傳送給解碼器。
圖3是示意性地示出根據(jù)本發(fā)明實(shí)施例的用于解碼圖像的裝置的框圖。參考圖3,視頻解碼器300可以包括熵解碼器310、重新排序模塊315、去量化器320、逆變換器325、預(yù)測(cè)器330、濾波器模塊335和存儲(chǔ)器340。
如果圖像比特流被輸入給視頻解碼器,則該輸入的比特流可以在視頻編碼器中經(jīng)由圖像信息處理過(guò)程來(lái)解碼。
熵解碼器310可以對(duì)輸入的比特流執(zhí)行熵解碼,并且熵解碼方法類似于以上描述的熵編碼方法。例如,如果諸如cavlc的可變長(zhǎng)度編譯(以下簡(jiǎn)稱“vlc”)被用于在視頻編碼器中執(zhí)行熵編碼,熵解碼器310可以通過(guò)實(shí)現(xiàn)與在編碼器中使用的vlc表相同的vlc表來(lái)執(zhí)行熵解碼。甚至在cabac被用于在視頻編碼器中執(zhí)行熵編碼的情形下,熵解碼器310可以使用cabac來(lái)執(zhí)行相應(yīng)的熵解碼。
在應(yīng)用熵解碼的情形下,低值的索引和相應(yīng)的短代碼字可以分配給具有高發(fā)生概率的符號(hào),并且高值的索引和相應(yīng)的長(zhǎng)代碼字可以分配給具有低發(fā)生概率的符號(hào)。因此,可以降低用于編碼目標(biāo)符號(hào)的比特速率,并且通過(guò)熵編碼可以改善圖像壓縮性能。
可以將產(chǎn)生由熵解碼器310解碼的信息的預(yù)測(cè)塊的信息提供給預(yù)測(cè)器330,并且可以將其中已經(jīng)由熵解碼器執(zhí)行熵解碼的殘留值輸入給重新排序模塊315。
基于在視頻編碼器中的重新排序方法,重新排序模塊315可以重新排序由熵解碼器310熵解碼的比特流。重新排序模塊315可以將一維矢量形式的系數(shù)重建為二維塊形式的系數(shù),用于重新排序。重新排序模塊315可以接收與由編碼器執(zhí)行的系數(shù)掃描相關(guān)的信息,以及基于由相應(yīng)的編碼器執(zhí)行的掃描順序經(jīng)由逆掃描方法來(lái)執(zhí)行重新排序。
去量化器320可以基于從編碼器提供的量化參數(shù)和重新排序的塊的系數(shù)值來(lái)執(zhí)行去量化。
相對(duì)于在視頻編碼器中執(zhí)行的量化結(jié)果,逆變換器325可以對(duì)由編碼器的變換器執(zhí)行的dct和dst來(lái)執(zhí)行逆dct和/或逆dst。該逆變換可以基于由編碼器確定的傳輸單元或者圖像劃分單元來(lái)執(zhí)行。編碼器的變換器可以根據(jù)諸如預(yù)測(cè)方法、當(dāng)前塊的尺寸和預(yù)測(cè)方向的多片信息選擇性地執(zhí)行dct和/或dst,以及解碼器的逆變換器325可以基于由編碼器的變換器執(zhí)行的變換信息執(zhí)行逆變換。
預(yù)測(cè)器330可以基于與從熵解碼器310提供的預(yù)測(cè)塊產(chǎn)生相關(guān)的信息以及從存儲(chǔ)器340提供的預(yù)先解碼的塊和/或圖片信息來(lái)產(chǎn)生預(yù)測(cè)塊。可以使用從預(yù)測(cè)器330產(chǎn)生的預(yù)測(cè)塊和從逆變換器325提供的殘留塊來(lái)產(chǎn)生重建的塊。
可以將重建的塊和/或圖片提供給濾波器模塊335。濾波器模塊335可以對(duì)重建的塊和/或圖片應(yīng)用去塊濾波、采樣適應(yīng)偏移(sao)和/或自適應(yīng)環(huán)路濾波(alf)。
存儲(chǔ)器340可以存儲(chǔ)和使用重建的圖片或者塊作為參考圖片或者參考?jí)K,并且可以將重建的圖片提供給輸出部分。
圖4是示意性地示出根據(jù)本發(fā)明實(shí)施例的用于解碼圖像的裝置的預(yù)測(cè)器的概念圖。
參考圖4,預(yù)測(cè)器400可以包括內(nèi)預(yù)測(cè)器410和間預(yù)測(cè)器420。
如果用于相應(yīng)的預(yù)測(cè)單元的預(yù)測(cè)模式是內(nèi)預(yù)測(cè)模式(幀內(nèi)預(yù)測(cè)模式(intra-framepredictionmode)),則內(nèi)預(yù)測(cè)器410可以基于在當(dāng)前圖片中的像素信息來(lái)產(chǎn)生預(yù)測(cè)塊。
如果相應(yīng)的預(yù)測(cè)單元的預(yù)測(cè)模式是間預(yù)測(cè)模式(幀間預(yù)測(cè)模式(inter-framepredictionmode)),則間預(yù)測(cè)器420可以基于包括在包含當(dāng)前預(yù)測(cè)單元的當(dāng)前圖片的先前圖片和后續(xù)圖片中的至少一個(gè)圖片中的信息,使用為從視頻編碼器提供的當(dāng)前預(yù)測(cè)單元的間預(yù)測(cè)所必需的信息,例如,有關(guān)運(yùn)動(dòng)矢量和參考圖片索引的信息,對(duì)當(dāng)前預(yù)測(cè)單元執(zhí)行間預(yù)測(cè)。
此時(shí),如果從編碼器接收到的編碼單元的跳躍標(biāo)記、合并標(biāo)記等被確認(rèn),則可以根據(jù)這樣的標(biāo)記推導(dǎo)運(yùn)動(dòng)信息。
在下文中,根據(jù)本發(fā)明的配置或者表示,在“圖像”或者“幀”可以表示與“圖片”相同的含義的情形下,“圖片”可以描述為“圖像”或者“幀”。此外,間預(yù)測(cè)和幀間預(yù)測(cè)具有相同的含義,并且內(nèi)預(yù)測(cè)和幀內(nèi)預(yù)測(cè)具有相同的含義。
在間預(yù)測(cè)模式的情況下,編碼器和解碼器可以從當(dāng)前塊中推導(dǎo)運(yùn)動(dòng)信息,并且基于推導(dǎo)的運(yùn)動(dòng)信息對(duì)當(dāng)前塊執(zhí)行間預(yù)測(cè)。
圖5是示意性地示出在間預(yù)測(cè)模式中應(yīng)用高級(jí)運(yùn)動(dòng)矢量預(yù)測(cè)因子(amvp)的情形下,用于推導(dǎo)運(yùn)動(dòng)矢量的方法的實(shí)施例的流程圖。
參考圖5,編碼器和解碼器可以產(chǎn)生用于當(dāng)前塊的運(yùn)動(dòng)矢量預(yù)測(cè)因子候選列表(s510)。在這里,運(yùn)動(dòng)矢量預(yù)測(cè)因子(mvp)可以指示用于當(dāng)前塊的運(yùn)動(dòng)矢量的預(yù)測(cè)值。在下文中,運(yùn)動(dòng)矢量預(yù)測(cè)因子和mvp具有相同的含義。
編碼器和解碼器可以使用可用的鄰近塊的運(yùn)動(dòng)矢量來(lái)產(chǎn)生運(yùn)動(dòng)矢量預(yù)測(cè)因子候選列表,可用的鄰近塊鄰近于當(dāng)前塊和/或包括在各個(gè)參考圖片中的時(shí)間的參考?jí)K。時(shí)間的參考?jí)K可以基于與當(dāng)前塊共處一地的各個(gè)參考圖片的塊(在下文中,為了解釋方便起見(jiàn),稱為“共處一地的塊”)來(lái)推導(dǎo)。稍后將描述用于推導(dǎo)時(shí)間的參考?jí)K的方法的詳細(xì)實(shí)施例。
編碼器和解碼器可以從包括在運(yùn)動(dòng)矢量預(yù)測(cè)因子候選列表的運(yùn)動(dòng)矢量預(yù)測(cè)因子候選之中選擇用于當(dāng)前塊的運(yùn)動(dòng)矢量預(yù)測(cè)因子(s520)。
編碼器可以通過(guò)將運(yùn)動(dòng)矢量競(jìng)爭(zhēng)(以下簡(jiǎn)稱為“mvc”)應(yīng)用于包括在運(yùn)動(dòng)矢量預(yù)測(cè)因子候選列表中的運(yùn)動(dòng)矢量預(yù)測(cè)因子候選,選擇用于當(dāng)前塊的最佳運(yùn)動(dòng)矢量預(yù)測(cè)因子。如果選擇了運(yùn)動(dòng)矢量預(yù)測(cè)因子,則編碼器可以經(jīng)由比特流將運(yùn)動(dòng)矢量預(yù)測(cè)因子索引發(fā)送給解碼器。在這里,運(yùn)動(dòng)矢量預(yù)測(cè)因子索引指的是指示當(dāng)前塊的運(yùn)動(dòng)矢量預(yù)測(cè)因子的索引,其是從包括在運(yùn)動(dòng)矢量預(yù)測(cè)因子候選列表中的運(yùn)動(dòng)矢量預(yù)測(cè)因子候選選擇出來(lái)的。
解碼器可以從編碼器接收運(yùn)動(dòng)矢量預(yù)測(cè)因子索引。解碼器可以使用接收的運(yùn)動(dòng)矢量預(yù)測(cè)因子索引,從包括在運(yùn)動(dòng)矢量預(yù)測(cè)因子候選列表中的運(yùn)動(dòng)矢量預(yù)測(cè)因子候選之中選擇用于當(dāng)前塊的運(yùn)動(dòng)矢量預(yù)測(cè)因子。
解碼器可以使用選擇的運(yùn)動(dòng)矢量預(yù)測(cè)因子來(lái)推導(dǎo)當(dāng)前塊的運(yùn)動(dòng)矢量(s530)。
如果選擇了用于當(dāng)前塊的運(yùn)動(dòng)矢量預(yù)測(cè)因子,則編碼器可以獲得在當(dāng)前塊的運(yùn)動(dòng)矢量和運(yùn)動(dòng)矢量預(yù)測(cè)因子之間的差。在下文中,在運(yùn)動(dòng)矢量和運(yùn)動(dòng)矢量預(yù)測(cè)因子之間的差稱作運(yùn)動(dòng)矢量差(mvd)。編碼器可以將有關(guān)運(yùn)動(dòng)矢量差的信息,而不是運(yùn)動(dòng)矢量本身發(fā)送給解碼器。此時(shí),由于運(yùn)動(dòng)矢量差變得更小,可以降低從編碼器發(fā)送到解碼器的信息量。
解碼器可以從編碼器接收有關(guān)運(yùn)動(dòng)矢量差的信息。如果選擇了用于當(dāng)前塊的運(yùn)動(dòng)矢量預(yù)測(cè)因子,則解碼器可以通過(guò)增加選擇的運(yùn)動(dòng)矢量預(yù)測(cè)因子和彼此的運(yùn)動(dòng)矢量差來(lái)獲得當(dāng)前塊的運(yùn)動(dòng)矢量。
圖6是示意性地示出用于產(chǎn)生運(yùn)動(dòng)矢量預(yù)測(cè)因子候選列表的方法的實(shí)施例的概念圖。
在下文中,包括當(dāng)前塊的左下角塊(a0)610和在鄰近于當(dāng)前塊左側(cè)的塊之中位于最下端的塊(a1)620的一個(gè)組稱作左候選塊組。此外,包括當(dāng)前塊的右上角塊(b0)630、在鄰近于當(dāng)前塊的頂端的塊之中位于上側(cè)的塊(b1)640以及當(dāng)前塊的左上角塊(b2)650的一個(gè)組稱作頂端候選塊組。
編碼器和解碼器可以從左候選塊組中推導(dǎo)一個(gè)運(yùn)動(dòng)矢量預(yù)測(cè)因子候選。在這里,從左候選塊組中推導(dǎo)的運(yùn)動(dòng)矢量預(yù)測(cè)因子候選可以由mva表示。例如,編碼器和解碼器可以選擇第一塊的運(yùn)動(dòng)矢量作為當(dāng)前塊的運(yùn)動(dòng)矢量預(yù)測(cè)因子候選mva,其是可用的并且具有與當(dāng)前塊相同的參考圖片索引,同時(shí)以a0→a1的順序掃描包括在左候選塊組中的塊。
編碼器和解碼器可以從頂端候選塊組推導(dǎo)一個(gè)運(yùn)動(dòng)矢量預(yù)測(cè)因子候選。在這里,從頂端候選塊組推導(dǎo)的運(yùn)動(dòng)矢量預(yù)測(cè)因子候選可以由mvb表示。例如,編碼器和解碼器可以選擇第一塊的運(yùn)動(dòng)矢量作為當(dāng)前塊的運(yùn)動(dòng)矢量預(yù)測(cè)因子候選mvb,其是可用的并且具有與當(dāng)前塊相同的參考圖片索引,同時(shí)以b0→b1→b2的順序掃描包括在頂端候選塊組中的塊。
此外,編碼器和解碼器可以選擇在參考圖片中時(shí)間的參考?jí)K(co1)660的運(yùn)動(dòng)矢量作為當(dāng)前塊的運(yùn)動(dòng)矢量預(yù)測(cè)因子候選。在這里,時(shí)間的參考?jí)K660的運(yùn)動(dòng)矢量可以由mvco1表示。
在以上描述的實(shí)施例中,從左候選塊組中推導(dǎo)的運(yùn)動(dòng)矢量預(yù)測(cè)因子候選和從頂端候選塊組中推導(dǎo)的運(yùn)動(dòng)矢量預(yù)測(cè)因子候選可以稱作空間運(yùn)動(dòng)矢量預(yù)測(cè)因子。此外,從在參考圖片中時(shí)間的參考?jí)K中推導(dǎo)的運(yùn)動(dòng)矢量預(yù)測(cè)因子候選可以稱作時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子(tmvp)。因此,運(yùn)動(dòng)矢量預(yù)測(cè)因子候選可以包括空間運(yùn)動(dòng)矢量預(yù)測(cè)因子和時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子,并且運(yùn)動(dòng)矢量預(yù)測(cè)因子候選列表可以包括空間運(yùn)動(dòng)矢量預(yù)測(cè)因子和/或時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子。
編碼器和解碼器可以從通過(guò)以上描述的方法選擇的運(yùn)動(dòng)矢量預(yù)測(cè)因子候選之中去除重復(fù)的候選。編碼器和解碼器可以使用剩余的運(yùn)動(dòng)矢量預(yù)測(cè)因子候選來(lái)構(gòu)成運(yùn)動(dòng)矢量預(yù)測(cè)因子候選列表。
當(dāng)執(zhí)行運(yùn)動(dòng)矢量預(yù)測(cè)因子時(shí),不僅空間運(yùn)動(dòng)矢量預(yù)測(cè)因子,而且時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子(tmvp)可以用作運(yùn)動(dòng)矢量預(yù)測(cè)因子候選。如上所述,時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子可以指的是從在參考圖片(例如,鄰近于當(dāng)前圖片的圖片,或者以到當(dāng)前圖片的時(shí)間距離靠近)中的時(shí)間的參考?jí)K推導(dǎo)的運(yùn)動(dòng)矢量預(yù)測(cè)因子候選。在下文中,在包括時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子的參考圖片中的運(yùn)動(dòng)矢量被稱作時(shí)間的運(yùn)動(dòng)矢量。此外,在參考圖片中的該運(yùn)動(dòng)信息(例如,運(yùn)動(dòng)矢量參考和圖片索引)被稱作時(shí)間的運(yùn)動(dòng)信息。
為了推導(dǎo)用于當(dāng)前塊的時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子,有必要存儲(chǔ)預(yù)先解碼的圖片的運(yùn)動(dòng)信息。因此,當(dāng)解碼的圖片和/或塊被存儲(chǔ)在存儲(chǔ)器(參考圖片緩沖器和/或解碼的圖片緩沖器(dpb))中時(shí),解碼的運(yùn)動(dòng)信息可以與解碼的圖片和/或塊一起存儲(chǔ)。其中運(yùn)動(dòng)信息被存儲(chǔ)在其中的存儲(chǔ)器也可以被稱作運(yùn)動(dòng)矢量存儲(chǔ)器和/或運(yùn)動(dòng)矢量緩沖器。
作為實(shí)施例,運(yùn)動(dòng)信息可以存儲(chǔ)用于每個(gè)最小單元塊。在這里,最小單元塊指的是在運(yùn)動(dòng)信息被存儲(chǔ)在其中的最小存儲(chǔ)單元中的塊。在下文中,在運(yùn)動(dòng)信息被存儲(chǔ)在其中的最小存儲(chǔ)單元中的塊被稱作最小單元塊,并且作為實(shí)施例,最小單元塊的尺寸可以是4×4。
但是,如果圖片的尺寸大,對(duì)存儲(chǔ)運(yùn)動(dòng)信息說(shuō)來(lái)必需的存儲(chǔ)器的尺寸可以變得更大??紤]到運(yùn)動(dòng)信息的粒度和在b條帶中對(duì)于一個(gè)塊使用兩個(gè)運(yùn)動(dòng)矢量的點(diǎn),用于存儲(chǔ)運(yùn)動(dòng)信息的存儲(chǔ)器的尺寸是重要的。因此,時(shí)間的運(yùn)動(dòng)信息壓縮技術(shù)可以用于降低需要的存儲(chǔ)器的尺寸和存儲(chǔ)器接入帶寬。
作為時(shí)間的運(yùn)動(dòng)信息壓縮技術(shù)的實(shí)施例,中間濾波器可以用于存儲(chǔ)具有大于解碼的運(yùn)動(dòng)信息的粒度的運(yùn)動(dòng)信息。在中間濾波器應(yīng)用于運(yùn)動(dòng)矢量的情形下,可以對(duì)于運(yùn)動(dòng)矢量的每個(gè)分量執(zhí)行過(guò)濾和/或壓縮。在已經(jīng)經(jīng)由自適應(yīng)環(huán)路濾波器傳遞的解碼的圖片被存儲(chǔ)在存儲(chǔ)器中之前,可以執(zhí)行使用中間濾波器的運(yùn)動(dòng)信息壓縮處理。
基于通過(guò)預(yù)先確定的存儲(chǔ)單元和/或預(yù)先確定的方法推導(dǎo)的存儲(chǔ)單元可以應(yīng)用中間濾波器。在這里,存儲(chǔ)單元可以指的是運(yùn)動(dòng)信息被壓縮和存儲(chǔ)的單元。在下文中,指示運(yùn)動(dòng)信息被壓縮和存儲(chǔ)在其中的單元的塊稱作存儲(chǔ)單元塊。
預(yù)先確定的存儲(chǔ)單元可以是具有預(yù)先確定尺寸(其大于最小單元塊的尺寸(例如,4×4))的塊。此外,可以使用來(lái)自編碼器的壓縮信息來(lái)推導(dǎo)存儲(chǔ)單元。在這里,壓縮信息可以包括壓縮標(biāo)記和壓縮比信息。壓縮標(biāo)記可以是指示是否應(yīng)用運(yùn)動(dòng)信息壓縮的標(biāo)記,并且壓縮比信息可以指示運(yùn)動(dòng)信息的壓縮比。由于用于發(fā)送壓縮信息的方法和用于使用壓縮信息推導(dǎo)存儲(chǔ)單元的方法與如稍后描述的不使用中間濾波器的運(yùn)動(dòng)信息壓縮技術(shù)相同,所以其描述將被省略。
在以上描述的運(yùn)動(dòng)信息壓縮處理中,運(yùn)動(dòng)信息可以以低分辨率存儲(chǔ),并且因此,可以降低存儲(chǔ)運(yùn)動(dòng)信息所必需的存儲(chǔ)器的尺寸。
作為時(shí)間的運(yùn)動(dòng)信息壓縮技術(shù)的另一個(gè)實(shí)施例,可以提供用于存儲(chǔ)不使用中間濾波器的運(yùn)動(dòng)信息的方法。
在這個(gè)方法中,有代表性的運(yùn)動(dòng)矢量可以在存儲(chǔ)單元塊中的運(yùn)動(dòng)矢量之中選擇,并且可以將選擇的有代表性的運(yùn)動(dòng)矢量分配給在存儲(chǔ)單元塊中的所有最小單元塊。因此,可以以低分辨率存儲(chǔ)運(yùn)動(dòng)信息,并且因此,可以降低用于存儲(chǔ)運(yùn)動(dòng)信息的存儲(chǔ)器的尺寸。在使用有代表性的運(yùn)動(dòng)矢量,而不是中間濾波器的情形下,與使用中間濾波器的情形相比,可以在某種程度上降低編譯效率,但是,可以降低計(jì)算量和/或復(fù)雜度。在下文中,將描述不使用用于存儲(chǔ)運(yùn)動(dòng)信息的中間濾波器的方法的實(shí)施例。
圖7是示意性地示出存儲(chǔ)單元塊的實(shí)施例的概念圖。
假設(shè)在存儲(chǔ)單元塊中的特定像素的坐標(biāo)是以(x,y)的格式,并且存儲(chǔ)單元塊的寬度和高度分別地定義為變量w和h。包括在存儲(chǔ)單元塊中的最小單元塊的數(shù)目和尺寸不局限于在圖7中的實(shí)施例,并且例如,包括在存儲(chǔ)單元塊中的最小單元塊的數(shù)目可以大于或者小于16。
在下文中,在圖8至15的實(shí)施例中,該措詞以以下的方式定義和使用,其中包括存在于((x>>log2w)<<log2w,(y>>log2h)<<log2h)中像素的最小單元塊是左上塊710,包括存在于(((x>>log2w)<<log2w)+w-1,(y>>log2h)<<log2h)中像素的最小單元塊是右上塊720,包括存在于((x>>log2w)<<log2w,((y>>log2h)<<log2h+h-1)中像素的最小單元塊是左下塊730,以及包括存在于(((x>>log2w)<<log2w)+w-1,((y>>log2h)<<log2h)+h-1)中像素的最小單元塊是右下塊740。
此外,該措詞以以下的方式定義和使用,其中包括存在于(((x>>log2w)<<log2w)+w/2-1,((y>>log2h)<<log2h)+h/2-1)中像素的最小單元塊是左上中央塊750,包括存在于(((x>>log2w)<<log2w)+w/2,((y>>log2h)<<log2h)+h/2-1)中像素的最小單元塊是右上中央塊760,包括存在于(((x>>log2w)<<log2w)+w/2-1,((y>>log2h)<<log2h)+h/2)中像素的最小單元塊是左下中央塊770,以及包括存在于(((x>>log2w)<<log2w)+w/2,((y>>log2h)<<log2h)+h/2)中像素的最小單元塊是右下中央塊780。
在這里,各個(gè)塊(左上塊710、右上塊720、左下塊730、右下塊740、左上中央塊750、右上中央塊760、左下中央塊770和右下中央塊780)可以由如上所述包括在其中的像素的坐標(biāo)指定。例如,如果存儲(chǔ)單元塊的尺寸是16×16,則左上塊可以由((x>>4)<<4,(y>>4)<<4)指定。
圖8是示意性地示出存儲(chǔ)單元塊的另一個(gè)實(shí)施例的概念圖。
存儲(chǔ)單元塊可以表示運(yùn)動(dòng)信息被壓縮和存儲(chǔ)在其中的單元。存儲(chǔ)單元塊可以是具有預(yù)先確定的尺寸(其大于最小單元塊(例如,具有4×4尺寸的塊))的塊,并且例如,具有16×16尺寸的塊可以用作該存儲(chǔ)單元塊。此時(shí),作為實(shí)施例,包括在存儲(chǔ)單元塊中的16個(gè)最小單元塊的每個(gè)可以具有一條運(yùn)動(dòng)信息。
此外,可以使用從編碼器發(fā)送的壓縮信息來(lái)推導(dǎo)存儲(chǔ)單元。在這里,壓縮信息可以是壓縮標(biāo)記和壓縮比信息。壓縮標(biāo)記可以指示是否應(yīng)用運(yùn)動(dòng)信息壓縮處理,并且壓縮比信息可以指示運(yùn)動(dòng)信息的壓縮比。
壓縮信息可以被包括在序列參數(shù)集(sos)、圖片參數(shù)集(pps)或者條帶報(bào)頭中,并且可以從編碼器發(fā)送到解碼器。表1在下面示出定義壓縮信息的sps的實(shí)施例。在表1的實(shí)施例中,雖然壓縮信息在sps中定義,但其可以在pps或者條帶報(bào)頭中定義。
[表1]
在這里,motion_vector_buffer_com_flag可以對(duì)應(yīng)于壓縮標(biāo)記狀態(tài)。例如,如果motion_vector_buffer_com_flag是1,則壓縮標(biāo)記可以指示執(zhí)行運(yùn)動(dòng)矢量存儲(chǔ)器壓縮過(guò)程。
在這里,motion_vector_buffer_com_ratio_log2可以對(duì)應(yīng)于壓縮比信息,并且如果motion_vector_buffer_com_ratio_log2不存在于sps中,則motion_vector_buffer_com_ratio_log2的值可以被推斷為0。此時(shí),作為例子,該運(yùn)動(dòng)矢量存儲(chǔ)器壓縮比可以由以下的公式1表示。
[公式1]
mvbuffercompratio=1<<motion_vector_buffer_comp_ratio_log2
或者
motion_vector_buffer_comp_ratio
=1<<motion_vector_buffer_comp_ratio_log2
在這里,mvbuffercompratio和motion_vector_buffer_comp_ratio可以表示運(yùn)動(dòng)矢量存儲(chǔ)器壓縮比。例如,如果motion_vector_buffer_comp_ratio_log2的值是2,則mvbuffercompratio和motion_vector_buffer_comp_ratio的值可以是4。
參考圖8,作為實(shí)施例,如果motion_vertor_buffer_comp_flag是1,并且motion_vector_buffer_comp_ratio是4,則存儲(chǔ)單元塊可以被配置為總計(jì)16個(gè)最小單元塊,其通過(guò)在寬度上的4條線和在長(zhǎng)度上的4條線來(lái)布置,也就是說(shuō),其是以4×4(mvbuffercompratio-by-mvbuffercompratio,或者motion_vector_buffer_comp_ratio–by-motion_vector_buffer_comp_ratio的形式。在這里,存儲(chǔ)單元塊可以始終具有正方形狀。此時(shí),構(gòu)成存儲(chǔ)單元塊的16個(gè)最小單元塊中的每個(gè)可以是具有4×4尺寸的塊,并且可以具有一個(gè)運(yùn)動(dòng)矢量。此時(shí),該存儲(chǔ)單元塊的整體尺寸是16×16,并且一個(gè)存儲(chǔ)單元塊可以具有16個(gè)運(yùn)動(dòng)矢量。
表2在下面示出在其中定義壓縮信息的sps(或者pps或者條帶報(bào)頭)的另一個(gè)實(shí)施例。
[表2]
在這里,motion_data_buffer_comp_flag可以對(duì)應(yīng)于指示是否應(yīng)用運(yùn)動(dòng)信息存儲(chǔ)器壓縮過(guò)程的壓縮標(biāo)記。例如,如果motion_data_buffer_comp_flag是1,則壓縮標(biāo)記可以指示執(zhí)行運(yùn)動(dòng)信息存儲(chǔ)器壓縮過(guò)程。
在這里,motion_data_buffer_comp_ratio_log2可以對(duì)應(yīng)于指示運(yùn)動(dòng)信息的壓縮比的壓縮比信息。此時(shí),運(yùn)動(dòng)矢量存儲(chǔ)器壓縮比可以通過(guò)與在公式1中相同的方法來(lái)推導(dǎo),并且存儲(chǔ)單元塊可以始終具有正方形狀。例如,如果motion_data_buffer_comp_ratio_log2是1,則存儲(chǔ)單元塊的尺寸可以變?yōu)?×8,如果motion_data_buffer_comp_ratio_log2是2,則存儲(chǔ)單元塊的尺寸可以變?yōu)?6×16,以及如果motion_data_buffer_comp_ratio_log2是3,則存儲(chǔ)單元塊的尺寸可以變?yōu)?2×32。作為另一個(gè)實(shí)施例,motion_data_buffer_comp_ratio_log2可以以整數(shù)的單位,而不是經(jīng)由對(duì)數(shù)標(biāo)度來(lái)定義。例如,如果motion_data_buffer_comp_ratio_log2是1,則存儲(chǔ)單元塊的尺寸可以變?yōu)?×8,如果motion_data_buffer_comp_ratio_log2是2,則存儲(chǔ)單元塊的尺寸可以變?yōu)?2×12,以及如果motion_data_buffer_comp_ratio_log2是3,則存儲(chǔ)單元塊的尺寸可以變?yōu)?6×16。
表3在下面示出在其中定義壓縮信息的sps(或者pps或者條帶報(bào)頭)的再一個(gè)實(shí)施例。
[表3]
在這里,motion_data_buffer_comp_ratio_x_log2和motion_data_buffer_comp_ratio_y_log2可以對(duì)應(yīng)于指示該運(yùn)動(dòng)信息的壓縮比的壓縮比信息。此外,motion_data_buffer_comp_ratio_x_log2可以在運(yùn)動(dòng)信息的x軸方向(水平方向)上指示壓縮比,并且motion_data_buffer_comp_ratio_y_log2可以在運(yùn)動(dòng)信息的y軸方向(垂直方向)上指示壓縮比。在表3的實(shí)施例中,由于分別地定義在x軸方向上的壓縮比和在y軸方向上的壓縮比,所以存儲(chǔ)單元塊可以具有長(zhǎng)方形形狀而不是正方形形狀。
在以上描述的實(shí)施例中,在sps、pps或者條帶報(bào)頭中定義壓縮信息。但是,根據(jù)實(shí)現(xiàn)和/或需要,可以在簡(jiǎn)檔和/或級(jí)別中定義壓縮信息。
如上所述,可以通過(guò)各種方法來(lái)確定存儲(chǔ)單元塊和/或最小單元塊。在用于壓縮稍后將描述的時(shí)間的運(yùn)動(dòng)信息的方法的實(shí)施例中,為了解釋方便起見(jiàn),假設(shè)存儲(chǔ)單元塊的尺寸是16×16,并且最小單元塊的尺寸是4×4。此外,假設(shè)一個(gè)存儲(chǔ)單元塊包括16個(gè)最小單元塊,其被以4×4形式布置。
圖9是示意性地示出用于壓縮時(shí)間的運(yùn)動(dòng)信息的方法的實(shí)施例的概念圖。在圖9中,(x0,y0)至(x15,y15)表示運(yùn)動(dòng)矢量,并且ref_idxn(n是等于或者大于0的整數(shù))表示參考圖片索引。在將已經(jīng)通過(guò)自適應(yīng)環(huán)路濾波器傳遞的被解碼的圖片存儲(chǔ)在存儲(chǔ)器中之前,可以執(zhí)行時(shí)間的運(yùn)動(dòng)信息壓縮過(guò)程。
在圖9的實(shí)施例中,假設(shè)存儲(chǔ)單元塊910或者920包括總計(jì)16個(gè)最小單元塊,其被通過(guò)在寬度上的4條線和在長(zhǎng)度上的4條線(也就是說(shuō),以4×4形式)布置。在這里,16個(gè)最小單元塊中的每個(gè)可以具有一條運(yùn)動(dòng)信息,并且一個(gè)存儲(chǔ)單元塊可以具有16條運(yùn)動(dòng)信息。存儲(chǔ)單元塊可以被確定為具有預(yù)先確定尺寸的塊,或者可以通過(guò)從編碼器發(fā)送的壓縮比信息來(lái)確定。例如,圖9的實(shí)施例可以對(duì)應(yīng)于motion_vector_buffer_comp_ratio是4的情形。
參考圖9的910,被解碼的最小單元塊中的每個(gè)可以具有一個(gè)運(yùn)動(dòng)矢量和一個(gè)參考圖片索引。此外,包括在一個(gè)存儲(chǔ)單元塊中的最小單元塊可以具有獨(dú)立條數(shù)的運(yùn)動(dòng)信息。
參考圖9的920,編碼器和解碼器可以將在存儲(chǔ)單元塊中在運(yùn)動(dòng)矢量之中的左上塊(tl)的運(yùn)動(dòng)矢量(x0,y0)選擇作為用于當(dāng)前存儲(chǔ)單元塊的有代表性的運(yùn)動(dòng)矢量。此時(shí),該選擇的有代表性的運(yùn)動(dòng)矢量可以被分配給在存儲(chǔ)單元塊中的所有最小單元塊。也就是說(shuō),所選擇的有代表性的運(yùn)動(dòng)矢量可以作為在當(dāng)前存儲(chǔ)單元塊中的16個(gè)運(yùn)動(dòng)矢量的代表被存儲(chǔ)在存儲(chǔ)器(運(yùn)動(dòng)矢量緩沖器)中。另一方面,如果當(dāng)前圖片是b圖片,則參考圖片列表0(l0)的參考圖片和參考圖片列表1(l1)的參考圖片可以用于間預(yù)測(cè),并且因此,可以存儲(chǔ)用于l0和l1這兩者的運(yùn)動(dòng)信息。
如果左上塊被以內(nèi)模式編碼和/或解碼,則運(yùn)動(dòng)矢量可以不存在于左上塊中。在這種情況下,運(yùn)動(dòng)矢量(0,0)可以被分配給在存儲(chǔ)單元塊中的所有最小單元塊。此時(shí),運(yùn)動(dòng)矢量(0,0)可以作為在當(dāng)前存儲(chǔ)單元塊中的16個(gè)運(yùn)動(dòng)矢量的代表被存儲(chǔ)在存儲(chǔ)器(運(yùn)動(dòng)矢量緩沖器)中。
根據(jù)以上描述的時(shí)間的運(yùn)動(dòng)信息壓縮方法,運(yùn)動(dòng)矢量可以以低分辨率存儲(chǔ),并且因此,可以降低用于存儲(chǔ)運(yùn)動(dòng)矢量的存儲(chǔ)器的尺寸。但是,由于左上塊的運(yùn)動(dòng)矢量(也就是說(shuō),在偏斜位置中的運(yùn)動(dòng)矢量)被共同地分配給存儲(chǔ)單元塊中的所有最小單元塊,所以編譯效率可以降低。此外,在內(nèi)模式編譯左上塊的情形下,除了在左上塊的情況下之外,不考慮以間模式(intermode)編譯的任何塊是否存在于該塊中,存在運(yùn)動(dòng)矢量(0,0)存儲(chǔ)的問(wèn)題。此外,在以上描述的時(shí)間的運(yùn)動(dòng)信息壓縮方法中,由于不考慮對(duì)應(yīng)于在存儲(chǔ)單元塊中的每個(gè)運(yùn)動(dòng)矢量的參考圖片索引的情況,編碼器和解碼器分配相同的運(yùn)動(dòng)矢量給所有最小單元塊,所以可能出現(xiàn)失真。
圖10是解釋用于壓縮時(shí)間的運(yùn)動(dòng)信息的方法的另一個(gè)實(shí)施例的概念圖。
圖10可以示出一個(gè)存儲(chǔ)單元塊。該存儲(chǔ)單元塊可以包括多個(gè)最小單元塊。在這里,最小單元塊中的每個(gè)可以具有一條運(yùn)動(dòng)信息。作為實(shí)施例,最小單元塊的尺寸可以是4×4,并且存儲(chǔ)單元塊的尺寸可以是16×16。此時(shí),存儲(chǔ)單元塊可以包括16個(gè)最小單元塊,其由在寬度上的4條線和在長(zhǎng)度上的4條線(也就是說(shuō),以4×4形式)布置。存儲(chǔ)單元塊和最小單元塊的尺寸不局限于以上描述的實(shí)施例。存儲(chǔ)單元塊可以包括以n×n(n是自然數(shù))形式布置的最小單元塊。在圖10中,(x0,y0)至(x15,y15)表示運(yùn)動(dòng)矢量,并且ref_idxn(n是等于或者大于0的整數(shù))表示參考圖片索引。
編碼器和解碼器可以從在存儲(chǔ)單元塊中的運(yùn)動(dòng)矢量之中選擇預(yù)先確定的最小單元塊的運(yùn)動(dòng)矢量作為用于當(dāng)前存儲(chǔ)單元塊的有代表性的運(yùn)動(dòng)矢量。此時(shí),編碼器和解碼器可以在可替選的指定位置(其不是左上塊)中選擇在該塊中的運(yùn)動(dòng)矢量作為有代表性的運(yùn)動(dòng)矢量。
作為實(shí)施例,編碼器和解碼器可以選擇右上塊rt的運(yùn)動(dòng)矢量(x3,y3)、左下塊bl的運(yùn)動(dòng)矢量(x12,y12)或者右下塊br的運(yùn)動(dòng)矢量(x15,y15)作為用于當(dāng)前存儲(chǔ)單元塊的有代表性的運(yùn)動(dòng)矢量。此外,編碼器和解碼器可以選擇左上中央塊center_lt或者c0的運(yùn)動(dòng)矢量、右上中央塊center_rt或者c1的運(yùn)動(dòng)矢量、左下中央塊center_bl或者c2的運(yùn)動(dòng)矢量或者右下中央塊center_br或者c3的運(yùn)動(dòng)矢量作為用于當(dāng)前存儲(chǔ)單元塊的有代表性的運(yùn)動(dòng)矢量。
對(duì)應(yīng)于有代表性的運(yùn)動(dòng)矢量的最小單元塊的位置不受限于僅上述實(shí)施例中的那些,而是,在存儲(chǔ)單元塊中的任何最小單元塊的運(yùn)動(dòng)矢量可以被確定為表示存儲(chǔ)單元塊的有代表性的運(yùn)動(dòng)矢量。例如,如果假設(shè)在以4×4形式布置的最小單元塊的x軸上的位置是block_x,并且在y軸上的位置是block_y,則對(duì)應(yīng)于位置(block_x,block_y)(block_x=0、1、2或者3,block_y=0、1、2或者3)的任何塊的運(yùn)動(dòng)矢量可以被確定為有代表性的運(yùn)動(dòng)矢量。
作為另一個(gè)實(shí)施例,可以根據(jù)運(yùn)動(dòng)矢量的壓縮比適應(yīng)性地確定對(duì)應(yīng)于有代表性的運(yùn)動(dòng)矢量的最小單元塊的位置。在這里,運(yùn)動(dòng)矢量的壓縮比可以由motion_vector_buffer_comp_ratio來(lái)表示。
例如,如果motion_vector_buffer_comp_ratio是4,則可以選擇右下塊的運(yùn)動(dòng)矢量作為用于當(dāng)前存儲(chǔ)單元塊的有代表性的運(yùn)動(dòng)矢量。此外,如果motion_vector_buffer_comp_ratio是8或者16,則可以選擇右下中央塊的運(yùn)動(dòng)矢量作為用于當(dāng)前存儲(chǔ)單元塊的有代表性的運(yùn)動(dòng)矢量。用于根據(jù)各個(gè)壓縮比來(lái)選擇有代表性的運(yùn)動(dòng)矢量的方法不局限于以上所述的實(shí)施例,而是可以根據(jù)實(shí)現(xiàn)和/或需要而不同。
所選擇的有代表性的運(yùn)動(dòng)矢量的位置可以對(duì)應(yīng)于用于存儲(chǔ)運(yùn)動(dòng)矢量的有代表性的位置,并且該有代表性的運(yùn)動(dòng)矢量可以表示整個(gè)的存儲(chǔ)單元塊。也就是說(shuō),可以將所選擇的有代表性的運(yùn)動(dòng)矢量分配給在存儲(chǔ)單元塊中的所有最小單元塊,所選擇的有代表性的運(yùn)動(dòng)矢量可以作為在當(dāng)前存儲(chǔ)單元塊中的所有運(yùn)動(dòng)矢量的代表被存儲(chǔ)在存儲(chǔ)器(運(yùn)動(dòng)矢量緩沖器)中。
在以上所述的實(shí)施例中,圍繞運(yùn)動(dòng)矢量進(jìn)行解釋。但是,本發(fā)明不受限于此,而是,以上描述的實(shí)施例可以應(yīng)用于常規(guī)運(yùn)動(dòng)信息。在這里,除了運(yùn)動(dòng)矢量之外,運(yùn)動(dòng)信息可以是參考圖片索引、預(yù)測(cè)模式信息(例如,在預(yù)測(cè)模式中,可以提供l0預(yù)測(cè)、l1預(yù)測(cè)、單預(yù)測(cè)和雙預(yù)測(cè))等。
圖11是示意性地示出用于壓縮時(shí)間的運(yùn)動(dòng)信息的方法的再一個(gè)實(shí)施例的概念圖。圖11的1110和1120可以指示存儲(chǔ)單元塊。在圖11中,mv_n(n=0,…,和15)表示運(yùn)動(dòng)矢量,并且ref_m(m=0,…,和15)表示參考圖片索引。假設(shè)mv_n和ref_m以z掃描順序被分配給最小單元塊。
參考圖11的1110,編碼器和解碼器可以將在存儲(chǔ)單元塊中在運(yùn)動(dòng)矢量之中的左上塊1113的運(yùn)動(dòng)矢量mv_0選擇作為用于當(dāng)前存儲(chǔ)單元塊的有代表性的運(yùn)動(dòng)矢量。但是,如稍后描述的,當(dāng)推導(dǎo)時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子時(shí),在共處一地的塊中位于右下中央的塊可以被確定為時(shí)間的參考?jí)K,并且所確定的時(shí)間的參考?jí)K的運(yùn)動(dòng)矢量可以被確定為時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子。此時(shí),將左上塊1113的運(yùn)動(dòng)矢量mv_0選擇為用于存儲(chǔ)單元塊的有代表性的運(yùn)動(dòng)矢量是低效的。因此,編碼器和解碼器可以將右下中央塊1116的運(yùn)動(dòng)矢量mv_12,而不是左上塊1113的運(yùn)動(dòng)矢量mv_0選擇為用于存儲(chǔ)單元塊的有代表性的運(yùn)動(dòng)矢量。
參考圖11的1120,所選擇的有代表性的運(yùn)動(dòng)矢量mv_12的位置可以對(duì)應(yīng)于用于存儲(chǔ)運(yùn)動(dòng)矢量的有代表性的位置,并且該有代表性的運(yùn)動(dòng)矢量可以表示整個(gè)的存儲(chǔ)單元塊。也就是說(shuō),所選擇的有代表性的運(yùn)動(dòng)矢量mv_12可以被分配給在存儲(chǔ)單元塊中的所有最小單元塊,并且所選擇的有代表性的運(yùn)動(dòng)矢量可以作為在當(dāng)前存儲(chǔ)單元塊中的所有運(yùn)動(dòng)矢量的代表被存儲(chǔ)在存儲(chǔ)器(運(yùn)動(dòng)矢量緩沖器)中。
圖12是示意性地示出用于壓縮時(shí)間的運(yùn)動(dòng)信息的方法的再一個(gè)實(shí)施例的概念圖。
在圖12的1210和1220中,mv_n(n=0,…,和15)表示運(yùn)動(dòng)矢量,并且ref_m(m=0,…,和15)表示參考圖片索引。假設(shè)mv_n和ref_m以z掃描順序被分配給最小單元塊。此外,在圖12的1230中,(x0,y0)至(x15,y15)表示運(yùn)動(dòng)矢量,并且ref_idxn(n是等于或者大于0的整數(shù))表示參考圖片索引。
參考圖12的1210,編碼器和解碼器可以將在存儲(chǔ)單元塊中在運(yùn)動(dòng)矢量之中的左上塊的運(yùn)動(dòng)矢量mv_0選擇作為用于存儲(chǔ)單元塊的有代表性的運(yùn)動(dòng)矢量。所選擇的有代表性的運(yùn)動(dòng)矢量mv_0可以被分配給在存儲(chǔ)單元塊中的所有最小單元塊,并且所選擇的有代表性的運(yùn)動(dòng)矢量可以作為在當(dāng)前存儲(chǔ)單元塊中的所有運(yùn)動(dòng)矢量的代表被存儲(chǔ)在存儲(chǔ)器(運(yùn)動(dòng)矢量緩沖器)中。
在圖12的1210中,不考慮參考圖片索引(在存儲(chǔ)單元塊中其對(duì)應(yīng)于相應(yīng)的運(yùn)動(dòng)矢量),編碼器和解碼器將相同的運(yùn)動(dòng)矢量分配給所有最小單元塊。此時(shí),無(wú)需改變參考圖片索引存儲(chǔ)器,可以僅壓縮運(yùn)動(dòng)矢量存儲(chǔ)器。因此,在運(yùn)動(dòng)矢量和參考圖片索引之間可能出現(xiàn)不一致,從而導(dǎo)致失真。這樣的不一致可能降低時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子的精度,并且降低運(yùn)動(dòng)矢量標(biāo)度的性能。因此,為了降低分配用于參考圖片索引的存儲(chǔ)器的尺寸和改善編譯效率,可以提供用于壓縮時(shí)間的運(yùn)動(dòng)信息的方法,該方法將參考圖片索引存儲(chǔ)器與運(yùn)動(dòng)矢量一起壓縮。
參考圖12的1220,以與1210相同的方式,編碼器和解碼器可以將在存儲(chǔ)單元塊中在運(yùn)動(dòng)矢量之中的左上塊的運(yùn)動(dòng)矢量mv_0選擇作為用于存儲(chǔ)單元塊的有代表性的運(yùn)動(dòng)矢量。此外,編碼器和解碼器可以將在存儲(chǔ)單元塊中在參考圖像索引之中的左上塊的參考圖像索引ref_0選擇作為用于存儲(chǔ)單元塊的有代表性的參考圖像索引。也就是說(shuō),編碼器和解碼器可以將對(duì)應(yīng)于有代表性的運(yùn)動(dòng)矢量的最小單元塊具有的參考圖片索引選擇作為有代表性的參考圖片索引,并且該參考圖片索引可以以與用于該運(yùn)動(dòng)矢量的相同的方法壓縮。
所選擇的有代表性的運(yùn)動(dòng)矢量mv_0和有代表性的參考圖片索引ref_0可以被分配給在存儲(chǔ)單元塊中的所有最小單元塊,并且所選擇的有代表性的運(yùn)動(dòng)矢量和有代表性的參考圖片索引可以作為在當(dāng)前存儲(chǔ)單元塊中的所有運(yùn)動(dòng)矢量和所有有代表性的參考圖片索引的代表被存儲(chǔ)在存儲(chǔ)器中。
參考圖12的1230,編碼器和解碼器可以將在左上塊中的運(yùn)動(dòng)矢量(x0,y0)和參考圖片索引ref_idx_2選擇為用于該存儲(chǔ)單元塊的有代表性的運(yùn)動(dòng)矢量和有代表性的參考圖片索引。所選擇的有代表性的運(yùn)動(dòng)矢量和有代表性的參考圖片索引可以被分配給在存儲(chǔ)單元塊中的所有最小單元塊,并且所選擇的有代表性的運(yùn)動(dòng)矢量和有代表性的參考圖片索引可以作為在存儲(chǔ)單元塊中的所有運(yùn)動(dòng)矢量和所有有代表性的參考圖片索引的代表被存儲(chǔ)在存儲(chǔ)器中。
在以上描述的1220和1230中,由于運(yùn)動(dòng)矢量和參考圖片索引這兩者被壓縮和存儲(chǔ),所以可以降低失真。此外,1220和1230的實(shí)施例可以與在圖9至11中以上描述的實(shí)施例結(jié)合應(yīng)用。也就是說(shuō),甚至在圖9至11的實(shí)施例中,可以將對(duì)應(yīng)于有代表性的運(yùn)動(dòng)矢量的最小單元塊的參考圖片索引選擇為參考圖片索引,并且該參考圖片索引可以以與運(yùn)動(dòng)矢量相同的方式壓縮。
圖13是示意性地示出用于壓縮時(shí)間的運(yùn)動(dòng)信息的方法的再一個(gè)實(shí)施例的概念圖。
在圖9至12中以上描述的實(shí)施例中,被選擇以推導(dǎo)有代表性的運(yùn)動(dòng)信息(其表示存儲(chǔ)單元塊)的最小單元塊可以不包括可用的運(yùn)動(dòng)信息。最小單元塊不包括可用的運(yùn)動(dòng)信息的情形可以由最小單元塊是不可用的情形、最小單元塊以內(nèi)模式編譯的情形、或者在對(duì)應(yīng)于最小單元塊的參考圖片列表(例如,參考圖片列表0和參考圖片列表1)中沒(méi)有可用的運(yùn)動(dòng)矢量的情形產(chǎn)生。
如上參考圖9所述,在被選擇以推導(dǎo)有代表性的運(yùn)動(dòng)信息的最小單元塊不包括可用的運(yùn)動(dòng)信息的情形下,編碼器和解碼器可以在存儲(chǔ)器中存儲(chǔ)作為在存儲(chǔ)單元塊中的所有運(yùn)動(dòng)矢量的代表的運(yùn)動(dòng)矢量(0,0)。但是,如果選擇的最小單元塊不包括可用的運(yùn)動(dòng)信息,甚至在可用的塊或者以間模式編譯的塊存在于存儲(chǔ)單元塊中的情形下,可能存在運(yùn)動(dòng)矢量(0,0)被分配給所有最小單元塊的問(wèn)題。因此,可以提供用于壓縮時(shí)間的運(yùn)動(dòng)信息以選擇具有可用的運(yùn)動(dòng)信息的最小單元塊并且確定有代表性的運(yùn)動(dòng)信息的方法。
作為實(shí)施例,編碼器和解碼器可以檢查正在掃描的最小單元塊是否具有可用的運(yùn)動(dòng)信息,同時(shí)以預(yù)先確定的順序掃描在存儲(chǔ)單元塊中的最小單元塊。此時(shí),編碼器和解碼器可以將在具有可用的運(yùn)動(dòng)信息的最小單元塊之中具有最快掃描順序的塊的運(yùn)動(dòng)信息選擇為存儲(chǔ)單元塊的有代表性的運(yùn)動(dòng)信息。也就是說(shuō),編碼器和解碼器可以對(duì)最小單元塊執(zhí)行掃描,直到編碼器和解碼器找到具有可用的運(yùn)動(dòng)信息的最小單元塊為止。
此外,在掃描過(guò)程中,編碼器和解碼器不僅可以檢查最小單元塊是否具有可用的運(yùn)動(dòng)信息(例如,最小單元塊是否以間模式編譯),而且可以檢查最小單元塊具有的參考圖片索引值是否是0。此時(shí),編碼器和解碼器可以通過(guò)對(duì)最小單元塊執(zhí)行掃描,直到找到滿足以上條件的最小單元塊為止,來(lái)選擇滿足以上條件的第一最小單元塊(具有最高的掃描優(yōu)先級(jí)的最小單元塊)的運(yùn)動(dòng)信息作為存儲(chǔ)單元塊的有代表性的運(yùn)動(dòng)信息。
由以上描述的方法選擇的有代表性的運(yùn)動(dòng)信息的位置可以對(duì)應(yīng)于用于存儲(chǔ)該運(yùn)動(dòng)信息的有代表性的位置,并且該有代表性的運(yùn)動(dòng)信息可以表示整個(gè)存儲(chǔ)單元塊。也就是說(shuō),所選擇的有代表性的運(yùn)動(dòng)信息可以被分配給在存儲(chǔ)單元塊中的所有最小單元塊,并且所選擇的有代表性的運(yùn)動(dòng)信息可以作為在當(dāng)前存儲(chǔ)單元塊中的所有條數(shù)的運(yùn)動(dòng)信息的代表被存儲(chǔ)在存儲(chǔ)器中。例如,在掃描過(guò)程中還檢查最小單元塊具有的參考圖片索引值是否是0的情形下,0的參考圖片索引值可以作為在當(dāng)前存儲(chǔ)單元塊中的所有參考圖片索引的代表被存儲(chǔ)在存儲(chǔ)器中。
可以不同地確定目標(biāo)在于掃描的最小單元塊和掃描順序。在圖13中,在每個(gè)存儲(chǔ)單元塊的最小單元塊上指示的數(shù)字表示掃描順序。
參考圖13的1310,編碼器和解碼器掃描在存儲(chǔ)單元塊中的所有最小單元塊。作為實(shí)施例,如在圖13的1313示出的,掃描順序可以是更快的掃描順序。此外,如由圖13的1316和1319示出的,編碼器和解碼器可以從在存儲(chǔ)單元塊的中心的鄰近塊開(kāi)始朝著存儲(chǔ)單元塊的邊緣的方向執(zhí)行掃描。
為了降低計(jì)算量和復(fù)雜度,編碼器和解碼器可以在存儲(chǔ)單元塊中僅掃描在最小單元塊之中有限數(shù)目的塊。作為實(shí)施例,如由在圖13中的1320示出的,編碼器和解碼器可以僅以預(yù)先確定的順序來(lái)掃描左上中央塊、右上中央塊、左下中央塊和右下中央塊。此外,如由在圖13中的1330示出的,編碼器和解碼器可以僅以預(yù)先確定的順序來(lái)掃描左上塊、右上塊、左下塊、以及右下塊。
以上描述的實(shí)施例可以應(yīng)用于運(yùn)動(dòng)矢量。但是,以上描述的實(shí)施例的應(yīng)用不受限于此,并且以上描述的實(shí)施例可以應(yīng)用于所有條數(shù)的運(yùn)動(dòng)信息。在這里,運(yùn)動(dòng)信息可以是運(yùn)動(dòng)矢量和參考圖片索引。例如,對(duì)應(yīng)于有代表性的運(yùn)動(dòng)矢量的最小單元塊具有的該參考圖片索引可以被選擇作為有代表性的參考圖片索引,并且參考圖片索引可以以與該運(yùn)動(dòng)矢量相同的方式壓縮。
圖14是示意性地示出用于壓縮時(shí)間的運(yùn)動(dòng)信息的方法的再一個(gè)實(shí)施例的概念圖。在圖14的實(shí)施例中,假設(shè)在存儲(chǔ)單元塊中的右下中央塊的運(yùn)動(dòng)矢量被選擇作為有代表性的運(yùn)動(dòng)矢量。
如果被選擇以推導(dǎo)有代表性的運(yùn)動(dòng)信息的最小單元塊不包括可用的運(yùn)動(dòng)信息的情形下,則編碼器和解碼器可以在存儲(chǔ)器中存儲(chǔ)作為在存儲(chǔ)單元塊中的所有運(yùn)動(dòng)矢量的代表的運(yùn)動(dòng)矢量(0,0)。但是,可能出現(xiàn)如上參考圖13所述的問(wèn)題。
參考圖14的1410,右下中央塊1415是以內(nèi)模式編譯的塊。因此,右下中央塊1415可以不包括可用的運(yùn)動(dòng)信息。此時(shí),運(yùn)動(dòng)矢量(0,0)可以作為所有運(yùn)動(dòng)矢量的代表被存儲(chǔ)在存儲(chǔ)器中。然而,雖然具有可用的運(yùn)動(dòng)信息的最小單元塊存在于該存儲(chǔ)單元塊中,但是運(yùn)動(dòng)矢量(0,0)被分配給所有最小單元塊,導(dǎo)致編譯效率惡化的問(wèn)題。因此,具有可用的運(yùn)動(dòng)信息的最小單元塊而不是運(yùn)動(dòng)矢量(0,0)被用于壓縮該運(yùn)動(dòng)信息。
為了解決以上描述的問(wèn)題,編碼器和解碼器可以檢查正在掃描的最小單元塊是否具有可用的運(yùn)動(dòng)信息,同時(shí)以預(yù)先確定的順序來(lái)掃描在存儲(chǔ)單元塊中的最小單元塊。例如,編碼器和解碼器可以以右下中央塊、左上中央塊、右上中央塊、以及左下中央塊的順序來(lái)掃描4個(gè)最小單元塊。此時(shí),編碼器和解碼器可以將在具有可用的運(yùn)動(dòng)信息的最小單元塊之中具有最快掃描順序的塊的運(yùn)動(dòng)信息選擇為存儲(chǔ)單元塊的有代表性的運(yùn)動(dòng)信息。也就是說(shuō),編碼器和解碼器可以執(zhí)行該掃描,直到找到具有可用的運(yùn)動(dòng)信息的最小單元塊為止。
參考圖14的1420,右下中央塊是以內(nèi)模式編譯的塊,并且因此,可以不包括可用的運(yùn)動(dòng)信息。因此,編碼器和解碼器可以以掃描順序?qū)⒆笊现醒雺K1425(其位于緊挨著右下中央塊)的運(yùn)動(dòng)矢量mv_3選擇為當(dāng)前存儲(chǔ)單元塊的有代表性的運(yùn)動(dòng)矢量。
參考圖14的1430,所選擇的有代表性的運(yùn)動(dòng)矢量mv_3的位置可以對(duì)應(yīng)于存儲(chǔ)該運(yùn)動(dòng)矢量的有代表性的位置,并且有代表性的運(yùn)動(dòng)矢量可以表示整個(gè)的存儲(chǔ)單元塊。也就是說(shuō),所選擇的有代表性的運(yùn)動(dòng)矢量mv_3可以被分配給在存儲(chǔ)單元塊中的所有最小單元塊,并且所選擇的有代表性的運(yùn)動(dòng)矢量可以作為在當(dāng)前存儲(chǔ)單元塊中的所有運(yùn)動(dòng)矢量的代表被存儲(chǔ)在存儲(chǔ)器(運(yùn)動(dòng)矢量緩沖器)中。
圖15是示意性地示出用于壓縮時(shí)間的運(yùn)動(dòng)信息的方法的再一個(gè)實(shí)施例的概念圖。圖15示出存儲(chǔ)單元塊1510和存儲(chǔ)單元塊1510的鄰近塊。鄰近塊可以包括鄰近于存儲(chǔ)單元塊1510的塊1、2、3、4、6、7、8、9、11、12、13、14、16、17、18和19、以及位于存儲(chǔ)單元塊1510的轉(zhuǎn)角的塊0、5、10和15。在下文中,在圖15的實(shí)施例中,鄰近塊可以指的是存儲(chǔ)單元塊1510的鄰近塊。
在圖9至14中的以上描述的實(shí)施例中,由編碼器和解碼器選擇以推導(dǎo)有代表性的運(yùn)動(dòng)信息(其表示存儲(chǔ)單元塊1510)的最小單元塊可以不包括可用的運(yùn)動(dòng)信息。在這種情況下,作為結(jié)果,運(yùn)動(dòng)矢量(0,0)可以作為所有運(yùn)動(dòng)矢量的代表被存儲(chǔ)在存儲(chǔ)器中。最小單元塊不包括可用的運(yùn)動(dòng)信息的情形可以是最小單元塊是不可用的情形,最小單元塊以內(nèi)模式編譯的情形,或者在對(duì)應(yīng)于最小單元塊的參考圖片列表(例如,參考圖片列表0和參考圖片列表1)中沒(méi)有可用的運(yùn)動(dòng)矢量,或者在參考圖片列表中的運(yùn)動(dòng)矢量是不可用的情形。
例如,如果在存儲(chǔ)單元塊中的左上塊在圖9的實(shí)施例中被以內(nèi)模式編譯,則左上塊可以不包括可用的運(yùn)動(dòng)信息。此外,在圖10至12的實(shí)施例中,由編碼器和解碼器選擇的最小單元塊可以不包括可用的運(yùn)動(dòng)信息。此外,在圖13和14的實(shí)施例中,由編碼器和解碼器掃描的所有最小單元塊可以不包括可用的運(yùn)動(dòng)信息。
在以上描述的情況下,編碼器和解碼器可以使用鄰近塊的運(yùn)動(dòng)信息來(lái)確定用于當(dāng)前存儲(chǔ)單元塊的有代表性的運(yùn)動(dòng)矢量,而不是將運(yùn)動(dòng)矢量(0,0)選擇為有代表性的運(yùn)動(dòng)矢量。
作為實(shí)施例,假設(shè)在存儲(chǔ)單元塊1510的鄰近塊之中的僅一個(gè)塊具有可用的運(yùn)動(dòng)信息。此時(shí),編碼器和解碼器可以使用具有可用的運(yùn)動(dòng)信息的鄰近塊的運(yùn)動(dòng)信息作為當(dāng)前存儲(chǔ)單元塊1510的有代表性的運(yùn)動(dòng)信息。
作為另一個(gè)實(shí)施例,假設(shè)在存儲(chǔ)單元塊1510的鄰近塊之中的兩個(gè)或更多個(gè)塊具有可用的運(yùn)動(dòng)信息。
此時(shí),作為實(shí)施例,編碼器和解碼器可以使用具有參考圖片索引0的第一鄰近塊作為當(dāng)前存儲(chǔ)單元塊1510的有代表性的運(yùn)動(dòng)信息,同時(shí)以分配給鄰近塊的編號(hào)的順序來(lái)掃描鄰近塊。在這里,該掃描順序不局限于在圖15中示出的順序,并且可以根據(jù)實(shí)現(xiàn)和/或需要而不同。
作為另一個(gè)實(shí)施例,編碼器和解碼器可以獲得鄰近塊的運(yùn)動(dòng)信息(例如,運(yùn)動(dòng)矢量)值的中值,然后使用中值作為當(dāng)前存儲(chǔ)單元塊1510的有代表性的運(yùn)動(dòng)信息。此時(shí),當(dāng)推導(dǎo)該中值時(shí),不包括可用的運(yùn)動(dòng)信息的鄰近塊可以在無(wú)需使用的情況下被排除。此外,編碼器和解碼器可以將預(yù)先確定的運(yùn)動(dòng)矢量值分配給不包括可用的運(yùn)動(dòng)信息的鄰近塊,并且使用對(duì)其分配預(yù)先確定的運(yùn)動(dòng)信息值的鄰近塊和包括可用的運(yùn)動(dòng)信息的鄰近塊這兩者來(lái)推導(dǎo)中值。作為實(shí)施例,可以將運(yùn)動(dòng)矢量(0,0)分配給不包括可用的運(yùn)動(dòng)信息的鄰近塊,并且運(yùn)動(dòng)矢量(0,0)可以用于推導(dǎo)中值。
作為另一個(gè)實(shí)施例,編碼器和解碼器可以基于在存儲(chǔ)單元塊1510的像素和鄰近塊的像素之間的像素差值來(lái)確定存儲(chǔ)單元塊1510的有代表性的運(yùn)動(dòng)信息。
例如,在編號(hào)0的塊的情況下,由在編號(hào)1的塊的最右下像素和存儲(chǔ)單元塊1510的最左上像素之間的像素值的差而推導(dǎo)的最終像素差值可以用于確定有代表性的運(yùn)動(dòng)信息。在編號(hào)5的塊的情況下,由在編號(hào)5的塊的最左下像素和存儲(chǔ)單元塊1510的最右上像素之間的像素值的差而推導(dǎo)的最終像素差值可以被用于確定有代表性的運(yùn)動(dòng)信息。此外,在編號(hào)10的塊的情況下,由在編號(hào)10的塊的最左上像素和存儲(chǔ)單元塊1510的最右下像素之間的像素值的差而推導(dǎo)的最終像素差值可以用于確定有代表性的運(yùn)動(dòng)信息。在編號(hào)15的塊的情況下,由在編號(hào)15的塊的最右上像素和存儲(chǔ)單元塊1510的最左下像素之間的像素值的差而推導(dǎo)的最終像素差值可以用于確定有代表性的運(yùn)動(dòng)信息。
此外,甚至在編號(hào)1、2、3、4、6、7、8、9、11、12、13、14、16、17、18或者19的塊的情況下,可以推導(dǎo)用于確定有代表性的運(yùn)動(dòng)信息中的每個(gè)的最終的像素差值。在這里,在編號(hào)n的塊(這里,n是1、2、3、4、6、7、8、9、11、12、13、14、16、17、18或者19)和存儲(chǔ)單元塊1510之間的邊界被稱作編號(hào)n的邊界。此時(shí),可以獲得在編號(hào)n的塊中位于最靠近于像素的編號(hào)n的邊界的m(這里,m是正整數(shù),例如,4、8、16或者32)個(gè)像素的像素值的總和與在存儲(chǔ)單元塊1510中在像素之中位于最靠近于編號(hào)n的邊界的m個(gè)像素的像素值的總和之間的差值。編碼器和解碼器可以通過(guò)獲得的差除以m來(lái)推導(dǎo)平均差,并且將獲得的差值作為編號(hào)n的塊的最終像素差值來(lái)使用。
如果在以上描述的方法中相對(duì)于各個(gè)鄰近塊來(lái)獲得來(lái)自存儲(chǔ)單元塊1510的最終像素差值,則編碼器和解碼器可以將在鄰近塊之中具有最小的最終像素差值的塊的運(yùn)動(dòng)信息確定為當(dāng)前存儲(chǔ)單元塊1510的有代表性的運(yùn)動(dòng)信息。如果存在具有相同最小的最終像素差值的多個(gè)塊、和/或如果鄰近塊具有相同的最終像素差值,則編碼器和解碼器可以將在圖15中具有最小的分配編號(hào)的鄰近塊的運(yùn)動(dòng)信息確定為當(dāng)前存儲(chǔ)單元塊1510的有代表性的運(yùn)動(dòng)信息。
作為另一個(gè)實(shí)施例,存儲(chǔ)單元塊1510的所有鄰近塊可以不具有可用的運(yùn)動(dòng)信息。此時(shí),編碼器和解碼器可以將運(yùn)動(dòng)矢量(0,0)選擇作為有代表性的運(yùn)動(dòng)矢量。
如果確定了有代表性的運(yùn)動(dòng)信息,則所選擇的有代表性的運(yùn)動(dòng)信息可以被分配給在存儲(chǔ)單元塊1510中的所有最小單元塊。因此,所選擇的有代表性的運(yùn)動(dòng)信息可以作為在當(dāng)前存儲(chǔ)單元塊1510中的所有條數(shù)的運(yùn)動(dòng)信息的代表被存儲(chǔ)在存儲(chǔ)器中。
以上描述的實(shí)施例可以應(yīng)用于運(yùn)動(dòng)矢量。但是,以上描述的實(shí)施例的應(yīng)用不受限于此,而是以上描述的實(shí)施例可以應(yīng)用于所有條數(shù)的運(yùn)動(dòng)信息。在這里,運(yùn)動(dòng)信息可以是運(yùn)動(dòng)矢量和參考圖片索引。例如,對(duì)應(yīng)于有代表性的運(yùn)動(dòng)矢量的最小單元塊具有的參考圖片索引可以被選擇作為有代表性的參考圖片索引,并且參考圖片索引可以以與該運(yùn)動(dòng)矢量相同的方式壓縮。
另一方面,如上所述,在執(zhí)行運(yùn)動(dòng)矢量預(yù)測(cè)的情形下,時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子(tmvp)可以用作運(yùn)動(dòng)矢量預(yù)測(cè)因子候選。時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子可以從在該參考圖片中的“時(shí)間的參考?jí)K”的運(yùn)動(dòng)矢量中獲得。在這里,時(shí)間的參考?jí)K可以指的是在參考圖片中的存儲(chǔ)單元塊,其包括用作時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子的運(yùn)動(dòng)矢量??梢曰诋?dāng)前塊、和/或各個(gè)參考圖片的“共處一地的塊”來(lái)推導(dǎo)時(shí)間的參考?jí)K,“共處一地的塊”是與當(dāng)前塊共處一地的塊。在下文中,在稍后描述的實(shí)施例中,當(dāng)前塊指的是在當(dāng)前圖片中的預(yù)測(cè)目標(biāo)塊,并且例如當(dāng)前塊可以對(duì)應(yīng)于預(yù)測(cè)單元(pu)。
如上參考圖7所述的,指示在存儲(chǔ)單元塊(左上塊、右上塊、左下塊、左上中央塊、右上中央塊、左下中央塊、以及右下中央塊)中的最小單元塊的位置的措詞可以用作指示在當(dāng)前塊和/或共處一地的塊中的存儲(chǔ)單元塊的位置的措詞。在圖16的實(shí)施例中,將定義用于涉及在共處一地的塊中的存儲(chǔ)單元塊的位置的措詞。
圖16是示意性地示出包括在參考圖片中的共處一地的塊的概念圖。圖16示出用于當(dāng)前塊的共處一地的塊1600。構(gòu)成共處一地的塊1600的各個(gè)塊可以表示存儲(chǔ)單元塊。也就是說(shuō),在共處一地的塊中的各個(gè)塊可以表示運(yùn)動(dòng)信息在其中被壓縮和存儲(chǔ)的單元,并且在共處一地的塊中的每個(gè)塊中可以存儲(chǔ)一條運(yùn)動(dòng)信息。作為實(shí)施例,存儲(chǔ)單元塊的尺寸可以是16×16。
如上所述,共處一地的塊1600可以指的是在參考圖片中與當(dāng)前塊位于相同位置的塊。其被定義為在當(dāng)前塊和共處一地的塊1600中最左上像素的位置是(xp,yp),并且當(dāng)前塊和共處一地的塊1600的寬度和高度分別定義為npsw和npsh的變量。
在下文中,在本發(fā)明的實(shí)施例中,以以下的方式定義該措詞,其中包括存在于(xp,yp)的像素的存儲(chǔ)單元塊,也就是說(shuō),位于共處一地的塊1600的左上側(cè)的存儲(chǔ)單元塊是左上塊1610,包括存在于(xp+npsw-1,yp)的像素的存儲(chǔ)單元塊,也就是說(shuō),位于共處一地的塊1600的右上側(cè)的存儲(chǔ)單元塊是右上塊1620,包括存在于(xp,yp+npsh-1)的像素的存儲(chǔ)單元塊,也就是說(shuō),位于共處一地的塊1600的左下側(cè)的存儲(chǔ)單元塊是左下塊1630、以及包括存在于(xp+npsw-1,yp+npsh-1)的像素的存儲(chǔ)單元塊,也就是說(shuō),位于共處一地的塊1600的右下側(cè)的存儲(chǔ)單元塊是右下塊1640。此外,包括存在于(xp+npsw,yp+npsh)的像素的存儲(chǔ)單元塊,也就是說(shuō),位于共處一地的塊1600的右下角的存儲(chǔ)單元塊定義為右下角塊1650。
此外,以以下的方式定義該措詞,其中包括存在于(xp+npsw/2-1,yp+npsh/2-1)的像素的存儲(chǔ)單元塊,也就是說(shuō),位于共處一地的塊1660的左上中央的存儲(chǔ)單元塊是左上中央塊1660,包括存在于(xp+npsw/2,yp+npsh/2-1)的像素的存儲(chǔ)單元塊,也就是說(shuō),位于共處一地的塊1600的右上中央的存儲(chǔ)單元塊是右上中央塊1670,包括存在于(xp+npsw/2-1,yp+npsh/2)的像素的存儲(chǔ)單元塊,也就是說(shuō),位于共處一地的塊1600的左下中央的存儲(chǔ)單元塊是左下中央塊1680、以及包括存在于(xp+npsw/2,yp+npsh/2)的像素的存儲(chǔ)單元塊,也就是說(shuō),位于共處一地的塊1600的右下中央的存儲(chǔ)單元塊是右下中央塊1690。
在這里,如上所述,各個(gè)塊(左上塊1610、右上塊1620、左下塊1630、右下塊1640、右下角塊1650、左上中央塊1660、右上中央塊1670、左下中央塊1680、以及右下中央塊1690)可以由包括在其中的像素的坐標(biāo)來(lái)指定。例如,右下中央塊1690可以由(xp+npsw/2,yp+npsh/2)來(lái)指定。
在以上描述的實(shí)施例中,基于共處一地的塊來(lái)描述各個(gè)塊。但是,由于在參考圖片中的當(dāng)前塊和共處一地的塊占據(jù)相同的特定位置,以上描述的像素坐標(biāo)和措詞也可以應(yīng)用于當(dāng)前塊。在下文中,在以下的實(shí)施例中,基于共處一地的塊來(lái)描述存儲(chǔ)單元塊的位置。但是,可以基于當(dāng)前塊以相同的方式來(lái)確定存儲(chǔ)單元塊的位置。
另一方面,編碼器和解碼器可以將在參考圖片中在預(yù)先確定的位置的塊、和/或在由預(yù)先確定的過(guò)程而確定的位置的塊選擇作為用于當(dāng)前塊的時(shí)間的參考?jí)K。在這里,可以基于當(dāng)前塊和/或共處一地的塊來(lái)確定時(shí)間的參考?jí)K的位置。編碼器和解碼器可以推導(dǎo)所選擇的時(shí)間的參考?jí)K的運(yùn)動(dòng)矢量,并且將所推導(dǎo)的運(yùn)動(dòng)矢量確定為時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子。此時(shí),由于時(shí)間的參考?jí)K對(duì)應(yīng)于存儲(chǔ)單元,所以編碼器和解碼器可以從具有與時(shí)間的參考?jí)K相同的運(yùn)動(dòng)信息的預(yù)測(cè)單元中推導(dǎo)時(shí)間的運(yùn)動(dòng)信息預(yù)測(cè)因子。
由于時(shí)間的參考?jí)K可以表示一個(gè)存儲(chǔ)單元,如上參考圖16所述,所以時(shí)間的參考?jí)K可以由包括在時(shí)間的參考?jí)K中的像素的坐標(biāo)來(lái)指定。例如,如果右下中央塊被確定為時(shí)間的參考?jí)K,則時(shí)間的參考?jí)K可以由(xp+npsw/2,yp+npsh/2)來(lái)指定。
另一方面,由于時(shí)間的參考?jí)K可以表示一個(gè)存儲(chǔ)單元,有代表性的運(yùn)動(dòng)信息存儲(chǔ)在其中的最小單元塊可以存在于時(shí)間的參考?jí)K中。如上參考圖7所述,有代表性的運(yùn)動(dòng)信息存儲(chǔ)在其中的位置可以由包括在最小單元塊中的像素的坐標(biāo)來(lái)指定。例如,假設(shè)存儲(chǔ)單元塊的尺寸是16×16,并且在存儲(chǔ)單元塊中位于左上側(cè)的最小單元塊的運(yùn)動(dòng)信息用作有代表性的運(yùn)動(dòng)信息。此時(shí),如果用于指定時(shí)間的參考?jí)K的像素的坐標(biāo)是(xpctr,ypctr),則有代表性的運(yùn)動(dòng)信息的位置可以由((xpctr>>4)<<4,(ypctr>>4)<<4)來(lái)指定。
此時(shí),覆蓋指定有代表性的運(yùn)動(dòng)信息的坐標(biāo)的預(yù)測(cè)單元可以存在于該參考圖片中。在本發(fā)明的實(shí)施例中,預(yù)測(cè)單元被稱作colpu。由于colpu的運(yùn)動(dòng)信息等于選擇的時(shí)間的參考?jí)K的運(yùn)動(dòng)信息,所以編碼器和解碼器可以復(fù)制colpu的運(yùn)動(dòng)矢量并且將colpu的運(yùn)動(dòng)矢量用為當(dāng)前塊的時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子。
在下文中,將描述用于推導(dǎo)時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子的方法的實(shí)施例,并且以上描述的內(nèi)容可以應(yīng)用于用于推導(dǎo)稍后描述的時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子的方法。此外,為了解釋方便起見(jiàn),假設(shè)運(yùn)動(dòng)矢量的存儲(chǔ)單元的尺寸(也就是說(shuō),存儲(chǔ)單元塊的尺寸)是16×16。
圖17是示意性地示出用于推導(dǎo)時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子的方法的實(shí)施例的概念圖。
參考圖17的1710,當(dāng)前圖片1730可以表示當(dāng)前正在編碼/解碼目標(biāo)圖片,并且可以包括當(dāng)前塊1740。用于當(dāng)前塊1740的時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子可以從在參考圖片1750中的時(shí)間的參考?jí)K來(lái)推導(dǎo)。
作為實(shí)施例,編碼器和解碼器可以將在共處一地的塊1760中的左上中央塊1770選擇為用于當(dāng)前塊1740的時(shí)間的參考?jí)K。此時(shí),可以將所確定的時(shí)間的參考?jí)K的運(yùn)動(dòng)矢量確定為用于當(dāng)前塊1740的時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子。
但是,在這種情況下,被選擇以推導(dǎo)時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子的時(shí)間的參考?jí)K可以不包括可用的運(yùn)動(dòng)信息。時(shí)間的參考?jí)K不包括可用的運(yùn)動(dòng)信息的情形可以是時(shí)間的參考?jí)K是不可用的情形,或者時(shí)間的參考?jí)K以內(nèi)模式編譯的情形。
如果被選擇以推導(dǎo)時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子的時(shí)間的參考?jí)K不包括可用的運(yùn)動(dòng)信息,則編碼器和解碼器可以將運(yùn)動(dòng)矢量(0,0)確定為時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子。但是,在這種情況下,即使可用的塊或者以間模式編譯的塊存在于共處一地的塊1760中,也可以將運(yùn)動(dòng)矢量(0,0)確定為時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子,并且會(huì)出現(xiàn)使用不準(zhǔn)確的運(yùn)動(dòng)信息的問(wèn)題。
參考圖17的1720,在共處一地的塊1760中的左上中央塊1770可以是以內(nèi)模式編譯的塊,并且右上中央塊1780可以是以間模式編譯的塊,以及包括可用的運(yùn)動(dòng)信息。此時(shí),如果左上中央塊1770被選擇為時(shí)間的參考?jí)K,則左上中央塊1770不包括可用的運(yùn)動(dòng)信息,并且因此,可以將運(yùn)動(dòng)矢量(0,0)確定為時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子。但是,由于運(yùn)動(dòng)矢量(0,0)會(huì)是不準(zhǔn)確的運(yùn)動(dòng)信息,并且可用的運(yùn)動(dòng)信息被存儲(chǔ)在右上中央塊1780中,所以編碼器和解碼器可以不將運(yùn)動(dòng)矢量(0,0)(也就是說(shuō),不準(zhǔn)確的運(yùn)動(dòng)信息)作為時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子來(lái)使用。
圖18是示意性地示出時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子可以位于其中的時(shí)間的參考?jí)K的實(shí)施例的概念圖。圖18示出塊1810,當(dāng)當(dāng)前塊和共處一地的塊相互重疊時(shí)其出現(xiàn)。
參考圖18,從其推導(dǎo)時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子的時(shí)間的參考?jí)K可以是左上中央塊(c0)1820、右下中央塊(c3)1830、右下塊(br)1840或者右下角塊(h)1850。
此外,位于由x指示的范圍中的塊可以被選擇為時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子位于其中的時(shí)間的參考?jí)K。位于由x指示的范圍的塊可以是左上塊1861、右上塊1863、左下塊1865、右上中央塊1867或者左下中央塊1869。
圖19是示意性地示出用于推導(dǎo)時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子的方法的另一個(gè)實(shí)施例的概念圖。
在這里,圖19的1910、1920和1930分別地示出用于當(dāng)前塊的共處一地的塊。如上所述,共處一地的塊可以指的是在參考圖片中的處于與當(dāng)前塊相同位置的塊。此外,構(gòu)成共處一地的塊的各個(gè)塊可以表示存儲(chǔ)單元塊。也就是說(shuō),在共處一地的塊中的各個(gè)塊可以表示運(yùn)動(dòng)信息在其中被壓縮和存儲(chǔ)的單元,并且在共處一地的塊中的每個(gè)塊中可以存儲(chǔ)一條運(yùn)動(dòng)信息。如上參考圖8所述,可以將存儲(chǔ)單元塊的尺寸確定為預(yù)先確定的尺寸,并且可以使用從編碼器發(fā)送的壓縮信息來(lái)推導(dǎo)。此時(shí),壓縮信息可以被包括在序列參數(shù)集(sps)、圖片參數(shù)集(pps)或者要從編碼器發(fā)送到解碼器的條帶報(bào)頭中。在圖19的實(shí)施例中,假設(shè)運(yùn)動(dòng)矢量的存儲(chǔ)單元的尺寸(也就是說(shuō),存儲(chǔ)單元塊的尺寸)是16×16。
如上所述,編碼器和解碼器可以將在共處一地的塊中的指定位置的塊選擇為用于當(dāng)前塊的時(shí)間的參考?jí)K。編碼器和解碼器可以推導(dǎo)所選擇的時(shí)間的參考?jí)K的運(yùn)動(dòng)矢量,并且將推導(dǎo)的運(yùn)動(dòng)矢量確定為時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子。
另一方面,圖19的1910示出在當(dāng)前塊的尺寸是64×64的情形下的共處一地的塊。參考圖19的1910,作為例子,在預(yù)先確定的位置中的塊(其被選擇以推導(dǎo)時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子)可以是共處一地的塊的左上中央塊(編號(hào)0的塊)。也就是說(shuō),編碼器和解碼器可以將左上中央塊(編號(hào)0的塊)選擇為用于當(dāng)前塊的時(shí)間的參考?jí)K。在這種情況下,左上中央塊(編號(hào)0的塊)的運(yùn)動(dòng)矢量可以用作時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子。
作為另一個(gè)例子,在預(yù)先確定的位置中的塊(其被選擇以推導(dǎo)時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子)可以是共處一地的塊的右上中央塊(編號(hào)1的塊)。此時(shí),編碼器和解碼器可以將右上中央塊(編號(hào)1的塊)選擇為用于當(dāng)前塊的時(shí)間的參考?jí)K。作為再一個(gè)例子,在預(yù)先確定的位置中的塊(其被選擇以推導(dǎo)時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子)可以是共處一地的塊的左下中央塊(編號(hào)2的塊)。此時(shí),編碼器和解碼器可以將左下中央塊(編號(hào)2的塊)選擇為用于當(dāng)前塊的時(shí)間的參考?jí)K。此外,作為再一個(gè)例子,在預(yù)先確定的位置中的塊(其被選擇以推導(dǎo)時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子)可以是共處一地的塊的右下中央塊(編號(hào)3的塊)。此時(shí),編碼器和解碼器可以將右下中央塊(編號(hào)3的塊)選擇為用于當(dāng)前塊的時(shí)間的參考?jí)K。在以上描述的例子中,所選擇的時(shí)間的參考?jí)K的運(yùn)動(dòng)矢量可以作為用于當(dāng)前塊的時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子來(lái)使用。
作為一個(gè)實(shí)施例,假設(shè)右下中央塊(編號(hào)3的塊)用作時(shí)間的參考?jí)K,并且在存儲(chǔ)單元塊中位于右下中央的最小單元塊的運(yùn)動(dòng)信息用作有代表性的運(yùn)動(dòng)信息。此時(shí),用于指導(dǎo)colpu方法的詳細(xì)的實(shí)施例如下。
編碼器和解碼器可以將在共處一地的塊中的右下中央塊選擇為時(shí)間的參考?jí)K。此時(shí),時(shí)間的參考?jí)K的位置可以由包括在當(dāng)前塊和共處一地的塊中的像素的坐標(biāo)來(lái)指定,并且右下中央塊可以由(xp+(npsw>>1),yp+(npsw>>1))指定。這可以表示如下。
可變的colpu及其位置(xpcol,ypcol)以以下排序的步驟推導(dǎo):
-當(dāng)前預(yù)測(cè)單元的右下中央亮度位置由以下定義:
xpctr=xp+(npsw>>1)
ypctr=y(tǒng)p+(npsh>>1)
在這里,xpctr和ypctr可以由時(shí)間的參考?jí)K指定的坐標(biāo)來(lái)表示。xp和yp可以表示在當(dāng)前塊中的最左上的像素的坐標(biāo),mpsw可以表示當(dāng)前塊的寬度,并且npsh可以表示當(dāng)前塊的高度。
如果指定時(shí)間的參考?jí)K,則編碼器和解碼器可以指定其中存儲(chǔ)在時(shí)間的參考?jí)K中有代表性的運(yùn)動(dòng)矢量的最小單元塊的位置。此時(shí),最小單元塊的位置可以由((xpctr>>4)<<4+8,(ypctr>>4)<<4+8)指定。此時(shí),colpu可以由在參考圖片中的預(yù)測(cè)單元來(lái)指定,其包括((xpctr>>4)<<4+8,(ypctr>>4)<<4+8)的坐標(biāo)。這可以表示如下。
-可變的colpu被設(shè)置為覆蓋由在colpic內(nèi)部的((xpctr>>4)<<4+8,(ypctr>>4)<<4+8)給出的修改的位置的預(yù)測(cè)單元。
此時(shí),在colpu中的最左上坐標(biāo)可以由(xpcol,xpcol)表示如下。
-(xpcol,ypcol)被設(shè)置為等于與colpic的左上亮度采樣相關(guān)的colpu的左上亮度采樣。
此外,圖19的1920示出在當(dāng)前塊的尺寸是64×32的情形下的共處一地的塊。在圖19的1920中,可以以與圖19的1910相同或者類似的方法來(lái)推導(dǎo)用于當(dāng)前塊的時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子。
作為例子,在預(yù)先確定的位置中的塊(其被選擇以推導(dǎo)時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子)可以是共處一地的塊的左上中央塊(編號(hào)0的塊)。此時(shí),編碼器和解碼器可以將左上中央塊(編號(hào)0的塊)選擇為用于當(dāng)前塊的時(shí)間的參考?jí)K。作為另一個(gè)例子,在預(yù)先確定的位置中的塊(其被選擇以推導(dǎo)時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子)可以是共處一地的塊的右上中央塊(編號(hào)1的塊)。此時(shí),編碼器和解碼器可以將右上中央塊(編號(hào)1的塊)選擇為用于當(dāng)前塊的時(shí)間的參考?jí)K。作為再一個(gè)例子,在預(yù)先確定的位置中的塊(其被選擇以推導(dǎo)時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子)可以是共處一地的塊的左下中央塊(編號(hào)2的塊)。此時(shí),編碼器和解碼器可以將左下中央塊(編號(hào)2的塊)選擇為用于當(dāng)前塊的時(shí)間的參考?jí)K。作為再一個(gè)例子,在預(yù)先確定的位置中的塊(其被選擇以推導(dǎo)時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子)可以是共處一地的塊的右下中央塊(編號(hào)3的塊)。此時(shí),編碼器和解碼器可以將右下中央塊(編號(hào)3的塊)選擇為用于當(dāng)前塊的時(shí)間的參考?jí)K。在以上描述的例子中,所選擇的時(shí)間的參考?jí)K的運(yùn)動(dòng)矢量可以作為用于當(dāng)前塊的時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子來(lái)使用。
此外,圖19的1930示出在當(dāng)前塊的尺寸是64×64的情形下的共處一地的塊。參考圖19的1930,作為例子,在預(yù)先確定的位置中的塊(其被選擇以推導(dǎo)時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子)可以是共處一地的塊的左上塊(編號(hào)4的塊)。也就是說(shuō),編碼器和解碼器可以將左上塊(編號(hào)4的塊)選擇為用于當(dāng)前塊的時(shí)間的參考?jí)K。在這種情況下,左上塊(編號(hào)4的塊)的運(yùn)動(dòng)矢量可以用作時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子。
作為另一個(gè)例子,在預(yù)先確定的位置中的塊(其被選擇以推導(dǎo)時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子)可以是共處一地的塊的右下塊(編號(hào)5的塊)。此時(shí),編碼器和解碼器可以將右下塊(編號(hào)5的塊)選擇為用于當(dāng)前塊的時(shí)間的參考?jí)K。在這種情況下,右下塊(編號(hào)5的塊)的運(yùn)動(dòng)矢量可以用作時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子。
作為實(shí)施例,假設(shè)右下塊(編號(hào)5的塊)用作時(shí)間的參考?jí)K,并且在存儲(chǔ)單元塊中位于右下側(cè)的最小單元塊的運(yùn)動(dòng)信息用作有代表性的運(yùn)動(dòng)信息。此時(shí),用于指導(dǎo)colpu方法的詳細(xì)的實(shí)施例如下。
編碼器和解碼器可以將在共處一地的塊中的右下塊選擇為時(shí)間的參考?jí)K。此時(shí),時(shí)間的參考?jí)K的位置可以由包括在當(dāng)前塊和共處一地的塊中的像素的坐標(biāo)來(lái)指定,并且右下塊可以由(xp+npsw-1,yp+npsw-1)來(lái)指定。這可以表示如下。
可變的colpu及其位置(xpcol,ypcol)以以下排序的步驟推導(dǎo):
-在當(dāng)前預(yù)測(cè)單元內(nèi)的右下亮度位置由以下定義:
xprb=xp+npsw-1
yprb=y(tǒng)p+npsh-1
在這里,xprb和yprb可以由時(shí)間的參考?jí)K指定的坐標(biāo)來(lái)表示。
如果指定時(shí)間的參考?jí)K,則編碼器和解碼器可以指定其中存儲(chǔ)在時(shí)間的參考?jí)K中有代表性的運(yùn)動(dòng)矢量的最小單元塊的位置。此時(shí),最小單元塊的位置可以由((xprb>>4)<<4+12,(yprb>>4)<<4+12)指定。此時(shí),colpu可以由在參考圖片中的預(yù)測(cè)單元來(lái)指定,其包括((xprb>>4)<<4+12,(yprb>>4)<<4+12)的坐標(biāo)。這可以表示如下。
-可變的colpu被設(shè)置為覆蓋由在colpic內(nèi)部的((xprb>>4)<<4+12,(yprb>>4)<<4+12)給出的修改的位置的預(yù)測(cè)單元。
此時(shí),在colpu中的最左上坐標(biāo)可以由(xpcol,xpcol)表示如下。
-(xpcol,ypcol)被設(shè)置為等于與colpic的左上亮度采樣相關(guān)的colpu的左上亮度采樣。
圖20是示意性地示出用于推導(dǎo)時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子的方法的再一個(gè)實(shí)施例的概念圖。
參考圖20,當(dāng)前圖片2010表示當(dāng)前正在編碼/解碼圖片,并且當(dāng)前圖片2010可以包括當(dāng)前塊2020??梢詮膮⒖紙D片2030推導(dǎo)用于當(dāng)前塊2020的時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子。
構(gòu)成參考圖片2030的各個(gè)塊可以表示存儲(chǔ)單元塊。也就是說(shuō),構(gòu)成參考圖片2030的各個(gè)塊可以表示運(yùn)動(dòng)信息在其中被壓縮和存儲(chǔ)的單元,并且在構(gòu)成參考圖片2030的每個(gè)塊中可以存儲(chǔ)一條運(yùn)動(dòng)信息。作為例子,存儲(chǔ)單元塊的尺寸可以是16×16。
參考圖片2030可以包括用于當(dāng)前塊的共處一地的塊2040。編碼器和解碼器可以將在共處一地的塊2040中的預(yù)先確定位置中的存儲(chǔ)單元塊選擇為用于當(dāng)前塊2020的時(shí)間的參考?jí)K,并且時(shí)間的參考?jí)K的位置可以對(duì)應(yīng)于用于當(dāng)前塊2020的時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子的位置。
作為實(shí)施例,在預(yù)先確定的位置中的塊(其被選擇以推導(dǎo)時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子)可以是共處一地的塊2040的左上中央塊2050。也就是說(shuō),編碼器和解碼器可以將左上中央塊2050選擇為用于當(dāng)前塊2020的時(shí)間的參考?jí)K。在這種情況下,左上中央塊2050的運(yùn)動(dòng)矢量可以被用作用于當(dāng)前塊2020的時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子。
作為另一個(gè)例子,在預(yù)先確定的位置中的塊(其被選擇以推導(dǎo)時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子)可以是共處一地的塊2040的右下中央塊2060,而不是左上中央塊2050。也就是說(shuō),編碼器和解碼器可以將右下中央塊2060選擇為用于當(dāng)前塊2020的時(shí)間的參考?jí)K。在這種情況下,右下中央塊2060的運(yùn)動(dòng)矢量可以被用作當(dāng)前塊2020的時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子。
圖21是示意性地示出用于推導(dǎo)時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子的方法的再一個(gè)實(shí)施例的概念圖。圖21的2110和2120示出當(dāng)當(dāng)前塊和共處一地的塊相互重疊時(shí)出現(xiàn)的塊。
在圖21中,構(gòu)成共處一地的塊的各個(gè)塊可以表示存儲(chǔ)單元塊。也就是說(shuō),構(gòu)成共處一地的塊的各個(gè)塊可以表示運(yùn)動(dòng)信息在其中被壓縮和存儲(chǔ)的單元,并且在共處一地的塊中的每個(gè)塊中可以存儲(chǔ)一條運(yùn)動(dòng)信息。在圖21的實(shí)施例中,為了解釋方便起見(jiàn),假設(shè)運(yùn)動(dòng)信息的存儲(chǔ)單元的尺寸(也就是說(shuō),存儲(chǔ)單元塊的尺寸)是16×16,并且當(dāng)前塊和共處一地的塊的尺寸是64×64。
如上在圖17至20的實(shí)施例中所述,編碼器和解碼器可以將在預(yù)先確定的固定位置中的塊選擇為時(shí)間的參考?jí)K,并且在這種情況下,被選擇的時(shí)間的參考?jí)K的運(yùn)動(dòng)矢量可以用作時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子。但是,在如上所述的圖17至20的實(shí)施例中,被選擇以推導(dǎo)時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子的時(shí)間的參考?jí)K可以不包括可用的運(yùn)動(dòng)信息。時(shí)間的參考?jí)K不包括可用的運(yùn)動(dòng)信息的情形可以是時(shí)間的參考?jí)K以內(nèi)模式編譯的情形,或者可用的運(yùn)動(dòng)矢量不存在于對(duì)應(yīng)于時(shí)間的參考?jí)K的參考圖片列表中的情形。
如上參考圖9所述,即使時(shí)間的參考?jí)K不包括可用的運(yùn)動(dòng)信息,運(yùn)動(dòng)矢量(0,0)也可以相對(duì)于時(shí)間的參考?jí)K被存儲(chǔ)在存儲(chǔ)器中。此時(shí),編碼器和解碼器可以將運(yùn)動(dòng)矢量(0,0)確定為時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子。但是,在這種情況下,即使在其中存儲(chǔ)可用的運(yùn)動(dòng)信息的存儲(chǔ)單元塊存在于共處一地的塊中,運(yùn)動(dòng)矢量(0,0)也可以確定為時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子,并且會(huì)出現(xiàn)使用不準(zhǔn)確的運(yùn)動(dòng)信息的問(wèn)題。因此,可以提供用于推導(dǎo)時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子的方法,其通過(guò)選擇具有可用的運(yùn)動(dòng)信息的時(shí)間的參考?jí)K來(lái)確定時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子。
作為實(shí)施例,編碼器和解碼器可以以預(yù)先確定的順序來(lái)掃描多個(gè)存儲(chǔ)單元塊(以下簡(jiǎn)稱為時(shí)間的參考?jí)K候選)。由于時(shí)間的參考?jí)K的運(yùn)動(dòng)矢量可以用作時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子,所以時(shí)間的參考?jí)K候選可以稱作在共處一地的塊中的運(yùn)動(dòng)矢量預(yù)測(cè)因子候選,并且可以檢查被掃描的存儲(chǔ)單元塊是否具有可用的運(yùn)動(dòng)信息(例如,時(shí)間的參考?jí)K候選是否是以內(nèi)模式編譯的塊,或者可用的運(yùn)動(dòng)矢量是否存在于參考圖片列表中,該參考圖片列表對(duì)應(yīng)于時(shí)間的參考?jí)K候選)。此時(shí),編碼器和解碼器可以將在具有可用的運(yùn)動(dòng)信息的時(shí)間的參考?jí)K候選之中具有最快掃描順序的候選選擇為用于當(dāng)前塊的時(shí)間的參考?jí)K,并且將所選擇的塊的運(yùn)動(dòng)矢量作為時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子來(lái)使用。也就是說(shuō),編碼器和解碼器可以執(zhí)行掃描,直到找到具有可用的運(yùn)動(dòng)信息的時(shí)間的參考?jí)K候選為止,并且將滿足以上描述的條件的第一時(shí)間的參考?jí)K候選的運(yùn)動(dòng)矢量確定為用于當(dāng)前塊的時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子。
如果目標(biāo)在于掃描的所有時(shí)間的參考?jí)K候選不包括可用的運(yùn)動(dòng)信息(例如,如果所有時(shí)間的參考?jí)K候選被以內(nèi)模式編譯或者是不可用的),則編碼器和解碼器可以以掃描順序?qū)⒌谝粫r(shí)間的參考?jí)K候選(具有最高掃描優(yōu)先級(jí)的時(shí)間的參考?jí)K候選)確定為用于當(dāng)前塊的時(shí)間的參考?jí)K。此時(shí),作為例子,運(yùn)動(dòng)矢量(0,0)可以存儲(chǔ)在所選擇的時(shí)間的參考?jí)K中,并且運(yùn)動(dòng)矢量(0,0)可以用作時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子。
可以不同地確定時(shí)間的參考?jí)K候選和掃描順序。在圖21中各個(gè)存儲(chǔ)單元塊上標(biāo)記的數(shù)字可以表示掃描順序。
參考圖21的2110,編碼器和解碼器可以在對(duì)應(yīng)于當(dāng)前塊的共處一地的塊中將在存儲(chǔ)單元塊之中的4個(gè)塊作為時(shí)間的參考?jí)K候選來(lái)使用。在這里,4個(gè)塊可以是左上中央塊(編號(hào)0的塊)、右上中央塊(編號(hào)1的塊)、右下中央塊(編號(hào)2的塊)、以及左下中央塊(編號(hào)3的塊)。
作為例子,編碼器和解碼器可以以編號(hào)0的塊→編號(hào)1的塊→編號(hào)2的塊→編號(hào)3的塊的順序來(lái)執(zhí)行掃描。掃描時(shí)間的參考?jí)K候選的順序可以從在圖21的2110上示出的數(shù)字的順序來(lái)不同地確定。例如,編碼器和解碼器可以以編號(hào)2的塊→編號(hào)3的塊→編號(hào)0的塊→編號(hào)1的塊的順序來(lái)執(zhí)行掃描。
參考圖21的2120,編碼器和解碼器可以在對(duì)應(yīng)于當(dāng)前塊的共處一地的塊中將在存儲(chǔ)單元塊之中的16個(gè)塊作為時(shí)間的參考?jí)K候選來(lái)使用。
作為例子,編碼器和解碼器可以以編號(hào)0的塊→編號(hào)1的塊→編號(hào)2的塊→編號(hào)3的塊→編號(hào)4的塊→編號(hào)5的塊→編號(hào)6的塊→編號(hào)7的塊→編號(hào)8的塊→編號(hào)9的塊→編號(hào)10的塊→編號(hào)11的塊→編號(hào)12的塊→編號(hào)13的塊→編號(hào)14的塊→編號(hào)15的塊的順序來(lái)執(zhí)行掃描。掃描時(shí)間的參考?jí)K候選的順序可以從在圖21的2120上示出的數(shù)字的順序來(lái)不同地確定。例如,編碼器和解碼器可以以編號(hào)2的塊→編號(hào)3的塊→編號(hào)0的塊→編號(hào)1的塊→編號(hào)10的塊→編號(hào)11的塊→編號(hào)12的塊→編號(hào)13的塊→編號(hào)14的塊→編號(hào)15的塊→編號(hào)4的塊→編號(hào)5的塊→編號(hào)6的塊→編號(hào)7的塊→編號(hào)8的塊→編號(hào)9的塊的順序來(lái)執(zhí)行掃描。
時(shí)間的參考?jí)K候選和/或時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子候選的位置不局限于在當(dāng)前塊和共處一地的塊的內(nèi)部,而是可以在當(dāng)前塊和/或共處一地的塊的邊界外部。此外,存在于當(dāng)前塊和/或共處一地的塊外部的時(shí)間的參考?jí)K候選的掃描順序(優(yōu)先級(jí))可以比存在于當(dāng)前塊和/或共處一地的塊內(nèi)部的時(shí)間的參考?jí)K候選的掃描順序(優(yōu)先級(jí))更快(更高)。稍后將參考圖22描述其實(shí)施例。
時(shí)間的參考?jí)K候選(或者時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子候選)的數(shù)字、位置和掃描順序不局限于以上描述的實(shí)施例,而是可以根據(jù)實(shí)現(xiàn)和/或需要來(lái)不同地確定。例如,如果當(dāng)前塊和共處一地的塊的尺寸是32×32,并且存儲(chǔ)單元塊的尺寸是16×16,則時(shí)間的參考?jí)K候選和/或時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子候選的最大數(shù)可以是4。此外,在當(dāng)前塊和共處一地的塊的尺寸小于存儲(chǔ)單元塊的尺寸的情形下,可以不使用以上描述的掃描方法。
圖22是示意性地示出用于推導(dǎo)時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子的方法的再一個(gè)實(shí)施例的概念圖。圖22的2210和2220示出當(dāng)當(dāng)前塊和共處一地的塊相互重疊時(shí)出現(xiàn)的塊。
在圖22中,構(gòu)成共處一地的塊的相應(yīng)的塊可以表示該存儲(chǔ)單元塊。也就是說(shuō),在共處一地的塊中的各個(gè)塊可以表示運(yùn)動(dòng)信息在其中被壓縮和存儲(chǔ)的單元,并且在共處一地的塊的每個(gè)塊中可以存儲(chǔ)一條運(yùn)動(dòng)信息。在圖22的實(shí)施例中,為了解釋方便起見(jiàn),假設(shè)運(yùn)動(dòng)信息的存儲(chǔ)單元的尺寸(也就是說(shuō),存儲(chǔ)單元塊的尺寸)是16×16,并且當(dāng)前塊和共處一地的塊的尺寸是64×64。
如上所述,編碼器和解碼器可以將位于共處一地的塊的內(nèi)部和/或外部的存儲(chǔ)單元塊選擇為用于當(dāng)前塊的時(shí)間的參考?jí)K。編碼器和解碼器可以推導(dǎo)所選擇的時(shí)間的參考?jí)K的運(yùn)動(dòng)矢量,并且將推導(dǎo)的運(yùn)動(dòng)矢量確定為時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子。此時(shí),編碼器和解碼器可以從在參考圖片中的預(yù)測(cè)單元colpu來(lái)推導(dǎo)時(shí)間的運(yùn)動(dòng)信息預(yù)測(cè)因子,其具有與時(shí)間的參考?jí)K相同的運(yùn)動(dòng)信息。
作為實(shí)施例,參考圖22的2210,編碼器和解碼器可以將右下角塊(編號(hào)0的塊)2214和左上中央塊(編號(hào)1的塊)2212用作用于當(dāng)前塊的時(shí)間的參考?jí)K候選和/或時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子候選。此時(shí),編碼器和解碼器可以以右下角塊2214→左上中央塊2212的順序來(lái)掃描時(shí)間的參考?jí)K候選,并且將可用的第一塊(具有高掃描優(yōu)先級(jí)的塊)的運(yùn)動(dòng)矢量用作用于當(dāng)前塊的時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子。
首先,編碼器和解碼器可以檢查右下角塊2214是否是可用的。右下角塊2214是不可用的情形的例子可以是右下角塊2214不包括可用的運(yùn)動(dòng)信息的情形、右下角塊2214和/或相應(yīng)的colpu以內(nèi)模式編譯的情形、或者colpu是不可用的情形。
如果右下角塊2214是可用的,則編碼器和解碼器可以將右下角塊2214選擇為時(shí)間的參考?jí)K。此時(shí),右下角塊2214的運(yùn)動(dòng)矢量可以被確定為時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子。如果右下角塊2214是不可用的,則編碼器和解碼器可以將左上中央塊(編號(hào)1的塊)2212選擇為時(shí)間的參考?jí)K。此時(shí),左上中央塊2212的運(yùn)動(dòng)矢量可以被確定為時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子。
如上所述,在右下角塊2214和左上中央塊2212被用作時(shí)間的參考?jí)K候選和/或時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子候選的情形下,用于指導(dǎo)colpu方法的詳細(xì)的實(shí)施例如下。在稍后描述的實(shí)施例中,假設(shè)在存儲(chǔ)單元塊中位于最左上側(cè)的最小單元塊的運(yùn)動(dòng)信息用作有代表性的運(yùn)動(dòng)信息。
首先,編碼器和解碼器可以推導(dǎo)對(duì)應(yīng)于右下角塊2214的colpu。為此,編碼器和解碼器可以通過(guò)被包括在當(dāng)前塊和/或共處一地的塊中的像素的坐標(biāo)來(lái)指定右下角塊2214。此時(shí),右下角塊2214可以由坐標(biāo)(xp+npsw,yp+npsw)來(lái)指定。這可以表示如下。
可變的colpu及其位置(xpcol,ypcol)以以下排序的步驟來(lái)推導(dǎo):
-當(dāng)前預(yù)測(cè)單元的右下亮度位置由以下定義:
xprb=xp+npsw
yprb=y(tǒng)p+npsh
在這里,xprb和yprb可以表示由時(shí)間的參考?jí)K指定的坐標(biāo)。xp和yp可以表示在當(dāng)前塊中最左上的像素的坐標(biāo),mpsw可以表示當(dāng)前塊的寬度,并且npsh可以表示當(dāng)前塊的高度。
如果指定右下角塊2214,則編碼器和解碼器可以指定在右下角塊2214中其中存儲(chǔ)有代表性的運(yùn)動(dòng)矢量的最小單元塊的位置。在這里,最小單元塊的位置可以由坐標(biāo)((xprb>>4)<<4,(yprb>>4)<<4)指定。此時(shí),colpu可以由在參考圖片中的預(yù)測(cè)單元指定,其包括((xprb>>4)<<4,(ypbr>>4)<<4)的坐標(biāo)。這可以表示如下。
-可變的colpu被設(shè)置為覆蓋由在colpic內(nèi)部的((xprb>>4)<<4,(ypbr>>4)<<4)給出的修改的位置的預(yù)測(cè)單元。
在這里,如果colpu被以間模式編譯并且是可用的,colpu的運(yùn)動(dòng)矢量可以用作用于當(dāng)前塊的時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子。這可以對(duì)應(yīng)于右下角塊2214被選擇為時(shí)間的參考?jí)K的情形。但是,如果colpu被以內(nèi)模式編譯或者是不可用的,則編碼器和解碼器可以通過(guò)被包括在當(dāng)前塊和共處一地的塊中的像素的坐標(biāo)來(lái)指定左上中央塊2212。此時(shí),左上中央塊2212可以由坐標(biāo)(xp+(npsw>>1)-1,yp+(npsw>>1)-1)指定。這可以表示如下。
-如果colpu被以內(nèi)預(yù)測(cè)模式編譯,或者colpu是不可用的,則應(yīng)用以下內(nèi)容。
-當(dāng)前預(yù)測(cè)單元的中央亮度位置由以下定義:
xpctr=xp+(npsw>>1)-1
ypctr=y(tǒng)p+(npsh>>1)-1
在這里,xpctr和ypctr可以表示由時(shí)間的參考?jí)K指定的坐標(biāo)。
如果指定左上中央塊2212,則編碼器和解碼器可以指定在左上中央塊2212中其中存儲(chǔ)有代表性的運(yùn)動(dòng)矢量的最小單元塊的位置。在這里,最小單元塊的位置可以由坐標(biāo)((xpctr>>4)<<4,(ypctr>>4)<<4)指定。此時(shí),colpu可以由在參考圖片中的預(yù)測(cè)單元來(lái)指定,其包括((xpctr>>4)<<4,(ypctr>>4)<<4)的坐標(biāo)。這可以對(duì)應(yīng)于左上中央塊2212被選擇為時(shí)間的參考?jí)K的情形,并且可以表示如下。
-可變的colpu被設(shè)置為覆蓋由在colpic內(nèi)部的((xpctr>>4)<<4,(ypctr>>4)<<4)給出的修改的位置的預(yù)測(cè)單元。
此時(shí),在colpu中的最左上坐標(biāo)可以由(xpcol,xpcol)表示如下。
-(xpcol,ypcol)被設(shè)置為等于與colpic的左上亮度采樣相關(guān)的colpu的左上亮度采樣。
作為另一個(gè)實(shí)施例,參考圖22的2220,編碼器和解碼器可以將右下角塊(編號(hào)0的塊)2224和右下中央塊(編號(hào)1的塊)2222作為用于當(dāng)前塊的時(shí)間的參考?jí)K候選和/或時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子候選來(lái)使用。此時(shí),編碼器和解碼器可以以右下角塊2224→右下中央塊2222的順序來(lái)掃描時(shí)間的參考?jí)K候選,并且將可用的第一塊(具有高掃描優(yōu)先級(jí)的塊)的運(yùn)動(dòng)矢量作為用于當(dāng)前塊的時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子來(lái)使用。
首先,編碼器和解碼器可以檢查右下角塊2224是否是可用的。右下角塊2224是不可用的情形的例子可以是右下角塊2224不包括可用的運(yùn)動(dòng)信息的情形、右下角塊2224和/或相應(yīng)的colpu以內(nèi)模式編譯的情形、或者colpu是不可用的情形。
如果右下角塊2224是可用的,則編碼器和解碼器可以將右下角塊2224選擇為時(shí)間的參考?jí)K。此時(shí),右下角塊2224的運(yùn)動(dòng)矢量可以被確定為時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子。如果右下角塊2224是不可用的,則編碼器和解碼器可以將右下中央塊(編號(hào)1的塊)2222選擇為時(shí)間的參考?jí)K。此時(shí),右下中央塊2222的運(yùn)動(dòng)矢量可以被確定為時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子。
如上所述,在右下角塊2224和右下中央塊2222用作時(shí)間的參考?jí)K候選和/或時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子候選的情形下,用于指導(dǎo)colpu方法的詳細(xì)的實(shí)施例如下。在稍后描述的實(shí)施例中,假設(shè)在存儲(chǔ)單元塊中位于最左上側(cè)的最小單元塊的運(yùn)動(dòng)信息用作有代表性的運(yùn)動(dòng)信息。
首先,編碼器和解碼器可以推導(dǎo)對(duì)應(yīng)于右下角塊2224的colpu。為此,編碼器和解碼器可以通過(guò)包括在當(dāng)前塊和共處一地的塊中的像素的坐標(biāo)來(lái)指定右下角塊2214。此時(shí),右下角塊2224可以由坐標(biāo)(xp+npsw,yp+npsw)來(lái)指定。這可以表示如下。
可變的colpu及其位置(xpcol,ypcol)以以下排序的步驟推導(dǎo):
-當(dāng)前預(yù)測(cè)單元的右下亮度位置由以下定義:
xprb=xp+npsw
yprb=y(tǒng)p+npsh
如果指定右下角塊2224,則編碼器和解碼器可以指定在右下角塊2224中有代表性的運(yùn)動(dòng)矢量被存儲(chǔ)在其中的最小單元塊的位置。在這里,最小單元塊的位置可以由坐標(biāo)((xprb>>4)<<4,(yprb>>4)<<4)來(lái)指定。此時(shí),colpu可以由在參考圖片中的預(yù)測(cè)單元來(lái)指定,其包括((xprb>>4)<<4,(ypbr>>4)<<4)的坐標(biāo)。這可以表示如下。
-可變的colpu被設(shè)置為覆蓋由在colpic內(nèi)部的((xprb>>4)<<4,(ypbr>>4)<<4)給出的修改的位置的預(yù)測(cè)單元。
在這里,如果colpu被以間模式編譯并且是可用的,則colpu的運(yùn)動(dòng)矢量可以用作用于當(dāng)前塊的時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子。這可以對(duì)應(yīng)于右下角塊2224被選擇為時(shí)間的參考?jí)K的情形。但是,如果colpu被以內(nèi)模式編譯或者是不可用的,則編碼器和解碼器可以通過(guò)包括在當(dāng)前塊和共處一地的塊中的像素的坐標(biāo)來(lái)指定右下中央塊2222。此時(shí),右下中央塊2222可以由坐標(biāo)(xp+(npsw>>1),yp+(npsw>>1))指定。這可以表示如下。
-如果colpu被以內(nèi)預(yù)測(cè)模式編譯,或者colpu是不可用的,則應(yīng)用以下內(nèi)容。
-當(dāng)前預(yù)測(cè)單元的中央亮度位置由以下定義:
xpctr=xp+(npsw>>1)
ypctr=y(tǒng)p+(npsh>>1)
如果指定右下中央塊2222,則編碼器和解碼器可以指定在右下中央塊2222中有代表性的運(yùn)動(dòng)矢量被存儲(chǔ)在其中的最小單元塊的位置。在這里,最小單元塊的位置可以由坐標(biāo)((xpctr>>4)<<4,(ypctr>>4)<<4)指定。此時(shí),colpu可以由在參考圖片中的預(yù)測(cè)單元指定,其包括((xpctr>>4)<<4,(ypctr>>4)<<4)的坐標(biāo)。這可以對(duì)應(yīng)于右下中央塊2222被選擇為時(shí)間的參考?jí)K的情形,并且可以表示如下。
-可變的colpu被設(shè)置為覆蓋由在colpic內(nèi)部的((xpctr>>4)<<4,(ypctr>>4)<<4)給出的修改的位置的預(yù)測(cè)單元。
此時(shí),在colpu中的最左上坐標(biāo)可以由(xpcol,xpcol)表示如下。
-(xpcol,ypcol)被設(shè)置為等于與colpic的左上亮度采樣相關(guān)的colpu的左上亮度采樣。
作為再一個(gè)實(shí)施例,當(dāng)檢查時(shí)間的參考?jí)K候選的可利用性時(shí),編碼器和解碼器可以檢查時(shí)間的參考?jí)K候選和/或colpu的位置(或者坐標(biāo))是否對(duì)應(yīng)于在當(dāng)前塊所屬的lcu中的坐標(biāo)。如果時(shí)間的參考?jí)K候選和/或colpu的位置(或者坐標(biāo))沒(méi)有包括在當(dāng)前塊所屬的lcu中,則編碼器和解碼器可以認(rèn)為時(shí)間的參考?jí)K候選和/或colpu是不可用的。
在如上所述共處一地的塊2210和2220的實(shí)施例中,編碼器和解碼器可以檢查右下角塊是否是可用的。如果右下角塊是可用的,則右下角塊的運(yùn)動(dòng)矢量可以用作時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子,并且如果右下角塊是不可用的,則左上中央塊或者右下中央塊的運(yùn)動(dòng)矢量可以用作時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子。此時(shí),如果右下角塊和/或相應(yīng)的colpu的位置(或者坐標(biāo))是在當(dāng)前塊所屬的lcu邊界的外部,則編碼器和解碼器可以認(rèn)為右下角塊和/或相應(yīng)的colpu是不可用的。也就是說(shuō),如果右下角塊和/或相應(yīng)的colpu的位置(或者坐標(biāo))是在當(dāng)前塊所屬的lcu邊界的外部,則編碼器和解碼器可以將左上中央塊或者右下中央塊的運(yùn)動(dòng)矢量確定為時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子。
如上所述,在基于lcu檢查時(shí)間的參考?jí)K候選和/或colpu的可利用性的情況下,用于指導(dǎo)colpu方法的詳細(xì)的實(shí)施例如下。在稍后描述的實(shí)施例中,假設(shè)在存儲(chǔ)單元塊中位于最左上側(cè)的最小單元塊的運(yùn)動(dòng)信息用作有代表性的運(yùn)動(dòng)信息。
首先,編碼器和解碼器可以推導(dǎo)對(duì)應(yīng)于右下角塊的colpu。這可以表示如下。
可變的colpu及其位置(xpcol,ypcol)以以下排序的步驟推導(dǎo):
-當(dāng)前預(yù)測(cè)單元的右下亮度位置由以下定義:
xprb=xp+npsw
yprb=y(tǒng)p+npsh
-可變的colpu被設(shè)置為覆蓋由在colpic內(nèi)部的((xprb>>4)<<4,(yprb>>4)<<4)給出的修改的位置的預(yù)測(cè)單元。
在這里,如果colpu被以間模式編譯,是可用的,并且位于在當(dāng)前塊所屬的lcu中的坐標(biāo)上,則colpu的運(yùn)動(dòng)矢量可以用作用于當(dāng)前塊的時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子。這可以對(duì)應(yīng)于右下角塊被選擇為時(shí)間的參考?jí)K的情形。
但是,如果colpu被以內(nèi)模式編譯或者是不可用的,或者colpu的位置(或者坐標(biāo))在當(dāng)前塊所屬的lcu的邊界外部,則編碼器和解碼器可以推導(dǎo)對(duì)應(yīng)于左上中央塊(或者右下中央塊)的colpu。這可以對(duì)應(yīng)于左上中央塊(或者右下中央塊)被選擇為時(shí)間的參考?jí)K的情形,并且可以表示如下。
-如果colpu被以內(nèi)預(yù)測(cè)模式編譯,或者colpu是不可用的,或者不在當(dāng)前的lcu中,則應(yīng)用以下內(nèi)容。
-當(dāng)前預(yù)測(cè)單元的中央亮度位置由以下定義:
xpctr=xp+(npsw>>1)-1或者xpctr=xp+(npsw>>1)
ypctr=y(tǒng)p+(npsh>>1)-1或者ypctr=y(tǒng)p+(npsh>>1)
-可變的colpu被設(shè)置為覆蓋由在colpic內(nèi)部的((xpctr>>4)<<4,(ypctr>>4)<<4)給出的修改的位置的預(yù)測(cè)單元。
此時(shí),在colpu中的最左上坐標(biāo)可以由(xpcol,xpcol)表示如下。
-(xpcol,xpcol)被設(shè)置為等于與colpic的左上亮度采樣相關(guān)的colpu的左上亮度采樣。
在基于lcu檢查時(shí)間的參考?jí)K候選和/或colpu的可利用性的情況下,用于推導(dǎo)colpu的方法的再一個(gè)的實(shí)施例如下。
首先,如果右下角塊的位置(或者坐標(biāo))是在當(dāng)前塊所屬的lcu的內(nèi)部,則該編碼器和解碼器可以推導(dǎo)對(duì)應(yīng)于右下角塊的colpu。如果右下角塊的位置(或者坐標(biāo))是在當(dāng)前塊所屬的lcu的邊界外部,則colpu可以被認(rèn)為是不可用的。這可以表示如下。
可變的colpu及其位置(xpcol,ypcol)以以下排序的步驟推導(dǎo):
1.可變的colpu推導(dǎo)如下:
yprb=y(tǒng)p+npsh
-如果(yp>>log2maxcusize)等于(yprb>>log2maxcusize),則當(dāng)前預(yù)測(cè)單元的右下亮度位置的水平分量由以下定義:
xprb=xp+npsw
并且可變的colpu被設(shè)置為覆蓋由在colpic內(nèi)部的((xprb>>4)<<4,(yprb>>4)<<4)給出的修改的位置的預(yù)測(cè)單元。
-否則,((yp>>log2maxcusize)不等于(yprb>>log2maxcusize)),colpu被標(biāo)記為是不可用的。
在這里,如果colpu被以間模式編譯并且是可用的,則colpu的運(yùn)動(dòng)矢量可以用作用于當(dāng)前塊的時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子。這可以對(duì)應(yīng)于右下角塊被選擇為時(shí)間的參考?jí)K的情形。但是,如果colpu被以內(nèi)模式編譯或者是不可用的,則編碼器和解碼器可以推導(dǎo)對(duì)應(yīng)于右下中央塊的colpu。這可以對(duì)應(yīng)于右下中央塊被選擇為時(shí)間的參考?jí)K的情形,并且可以表示如下。
2.當(dāng)colpu被以內(nèi)預(yù)測(cè)模式編譯,或者colpu是不可用時(shí),應(yīng)用以下內(nèi)容。
-當(dāng)前預(yù)測(cè)單元的中央亮度位置由以下定義:
xpctr=(xp+(npsw>>1))
ypctr=(yp+(npsh>>1))
-可變的colpu被設(shè)置為覆蓋由在colpic內(nèi)部的((xpctr>>4)<<4,(ypctr>>4)<<4)給出的修改的位置的預(yù)測(cè)單元。
此時(shí),在colpu中的最左上坐標(biāo)可以由(xpcol,xpcol)表示如下。
3.(xpcol,xpcol)被設(shè)置為等于與colpic的左上亮度采樣相關(guān)的colpu的左上亮度采樣。
圖23是示意性地示出根據(jù)本發(fā)明實(shí)施例的用于間預(yù)測(cè)的方法的流程圖。
參考圖23,編碼器和解碼器可以存儲(chǔ)參考圖片的時(shí)間的運(yùn)動(dòng)信息(s2310)。此時(shí),為了減小需要的存儲(chǔ)器的尺寸,編碼器和解碼器可以壓縮和存儲(chǔ)時(shí)間的運(yùn)動(dòng)信息。由于已經(jīng)參考圖7至15描述用于壓縮時(shí)間的運(yùn)動(dòng)信息的方法的實(shí)施例,所以其解釋將被省略。
此外,編碼器和解碼器可以從參考圖片中選擇用于當(dāng)前塊的時(shí)間的參考?jí)K(s2320)。在這里,時(shí)間的參考?jí)K可以指的是在參考圖片中的存儲(chǔ)單元塊,其包括用作時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子的運(yùn)動(dòng)矢量。
可以基于當(dāng)前塊和/或用于當(dāng)前塊的共處一地的塊來(lái)確定時(shí)間的參考?jí)K的位置。編碼器和解碼器可以將在參考圖片中預(yù)先確定的位置中的塊選擇為用于當(dāng)前塊的時(shí)間的參考?jí)K,并且在預(yù)先確定數(shù)目的時(shí)間的參考?jí)K候選之中選擇時(shí)間的參考?jí)K。可以將所選擇的時(shí)間的參考?jí)K指定為包括在時(shí)間的參考?jí)K中的像素的坐標(biāo),而不是塊本身。
由于已經(jīng)參考圖16至22描述用于推導(dǎo)時(shí)間的參考?jí)K的方法的實(shí)施例,所以其解釋將被省略。
如果選擇和/或指定時(shí)間的參考?jí)K,則編碼器和解碼器可以使用時(shí)間的參考?jí)K來(lái)推導(dǎo)用于當(dāng)前塊的時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子(s2330)。
編碼器和解碼器可以推導(dǎo)時(shí)間的參考?jí)K的運(yùn)動(dòng)矢量。此時(shí),推導(dǎo)的運(yùn)動(dòng)矢量可以被確定為時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子。由于時(shí)間的參考?jí)K可以對(duì)應(yīng)于存儲(chǔ)單元,所以編碼器和解碼器可以從具有與時(shí)間的參考?jí)K相同的運(yùn)動(dòng)信息的預(yù)測(cè)單元(例如,colpu)中推導(dǎo)時(shí)間的運(yùn)動(dòng)信息預(yù)測(cè)因子。
如果推導(dǎo)用于當(dāng)前塊的時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子,則編碼器和解碼器可以使用推導(dǎo)的時(shí)間的運(yùn)動(dòng)矢量預(yù)測(cè)因子對(duì)當(dāng)前塊執(zhí)行間預(yù)測(cè)(s2340)。
在以上描述的實(shí)施例中,該方法基于作為一系列的步驟或者塊的流程圖來(lái)描述。但是,本發(fā)明不局限于公開(kāi)的步驟順序,并且特定步驟可以與其它步驟同時(shí)地,或者以不同于其它步驟的順序出現(xiàn)。此外,本領(lǐng)域技術(shù)人員能夠理解,在流程圖中示出的步驟不是唯一的,可以包括其它步驟,或者在不對(duì)本發(fā)明的范圍發(fā)生影響的情況下,在流程圖中的一個(gè)或多個(gè)步驟可以被刪除。
以上描述的實(shí)施例包括各種類型的例子。雖然不能描述對(duì)于給出的各種類型例子的所有可能的組合,但是本領(lǐng)域技術(shù)人員能夠認(rèn)識(shí)到其它組合也是可允許的。因此,本發(fā)明可以包括屬于以下的權(quán)利要求的所有其它替換、修正和修改。