專利名稱:用于處理視頻信號(hào)的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于處理視頻信號(hào)的設(shè)備及其方法,該設(shè)備和方法使用畫面間預(yù)測(cè)。
背景技術(shù):
通常,在將編碼視頻信號(hào)傳送到解碼器時(shí),執(zhí)行移除空間冗余和時(shí)間冗余的方法 (即,畫面內(nèi)預(yù)測(cè)或者畫面間預(yù)測(cè)的方法)以增強(qiáng)視頻信號(hào)的壓縮比。
發(fā)明內(nèi)容
技術(shù)問(wèn)題因此,本發(fā)明針對(duì)一種用于處理視頻信號(hào)的設(shè)備及其方法,該設(shè)備和方法基本上避免了由于現(xiàn)有技術(shù)的局限和缺點(diǎn)而導(dǎo)致的一個(gè)或多個(gè)問(wèn)題。本發(fā)明的目的在于提供一種用于處理視頻信號(hào)的設(shè)備及其方法,通過(guò)該設(shè)備和方法能夠使用畫面間預(yù)測(cè)來(lái)高效地處理視頻信號(hào)。本發(fā)明的另一目的在于提供一種用于處理視頻信號(hào)的設(shè)備及其方法,通過(guò)該設(shè)備和方法能夠以使用跳過(guò)模式來(lái)執(zhí)行畫面間預(yù)測(cè)的方式高效地處理視頻信號(hào)。本發(fā)明的又另一目的在于提供一種用于處理視頻信號(hào)的設(shè)備及其方法,通過(guò)該設(shè)備和方法能夠使用直接模式來(lái)高效地處理視頻信號(hào)。技術(shù)解決方案為了實(shí)現(xiàn)這些及其它優(yōu)點(diǎn),本發(fā)明提出了一種視頻信號(hào)處理方法,其特征在于,在執(zhí)行畫面間預(yù)測(cè)中配置各種運(yùn)動(dòng)矢量候選,并且從該各種運(yùn)動(dòng)矢量候選獲得精確的運(yùn)動(dòng)矢量。本發(fā)明提出了一種視頻信號(hào)處理方法,其特征在于,指示宏塊內(nèi)具有預(yù)定大小的區(qū)域是否以跳過(guò)模式被編碼。本發(fā)明提出了一種視頻信號(hào)處理方法,其特征在于,指示根據(jù)宏塊類型信息的宏塊的分割是否以跳過(guò)模式被編碼。本發(fā)明提出了一種視頻信號(hào)處理方法,其特征在于,提出了用于指示在一個(gè)宏塊內(nèi)部分地直接模式或者跳過(guò)模式的宏塊類型,并且基于該宏塊類型使用跳過(guò)模式或者直接模式來(lái)執(zhí)行畫面間預(yù)測(cè)。本發(fā)明提出了一種視頻信號(hào)處理方法,其特征在于,如果宏塊以跳過(guò)模式被編碼, 則按小于宏塊大小的塊單元來(lái)導(dǎo)出運(yùn)動(dòng)矢量。而且,本發(fā)明提出了一種視頻信號(hào)處理方法,其特征在于,定義跳過(guò)模式指示信息或者直接模式指示信息,指示宏塊是否以跳過(guò)模式被編碼;并且使用CBP (編碼塊模式)信息來(lái)確定是跳過(guò)模式還是直接模式。有益效果因此,本發(fā)明提供了以下效果和/或優(yōu)點(diǎn)。首先,從用于畫面間預(yù)測(cè)的運(yùn)動(dòng)矢量候選獲得精確的運(yùn)動(dòng)矢量。因此,能夠減少要編碼的運(yùn)動(dòng)矢量差值的比特大小,并且能夠增強(qiáng)重建原始視頻的準(zhǔn)確度。在對(duì)于大于16x16 的宏塊使用直接模式或者跳過(guò)模式的情況下,通過(guò)按小于宏塊的大小的塊單元使用直接模式或者跳過(guò)模式,能夠減少使用跳過(guò)模式或者直接模式的畫面間預(yù)測(cè)的誤差,并且能夠增強(qiáng)編碼效率。通過(guò)使用用于指示一個(gè)宏塊中的部分地跳過(guò)模式或者直接模式的宏塊類型, 不需要針對(duì)該宏塊內(nèi)的預(yù)定大小的區(qū)域來(lái)對(duì)指示跳過(guò)模式或者直接模式的信息進(jìn)行編碼, 并且能夠減少要通過(guò)僅對(duì)宏塊類型信息進(jìn)行編碼來(lái)編碼的比特大小。在以跳過(guò)模式編碼宏塊的情況下,通過(guò)按小于宏塊的大小的宏塊單元來(lái)導(dǎo)出運(yùn)動(dòng)矢量,能夠使用該運(yùn)動(dòng)矢量獲得接近原始視頻的參考?jí)K的像素值。因此,能夠提高宏塊的重建比率。當(dāng)宏塊使用跳過(guò)模式或者直接模式時(shí),沒有必要對(duì)針宏塊分開地對(duì)跳過(guò)模式指示信息和直接模式指示信息分開地進(jìn)行編碼。由于使用已經(jīng)編碼的CBP信息來(lái)確定跳過(guò)模式或者直接模式,因此能夠減少要編碼的信息大小。因此,能夠提高視頻信號(hào)處理的效率。
附圖被包括進(jìn)來(lái)以提供對(duì)本發(fā)明的進(jìn)一步理解,并且被并入和構(gòu)成本說(shuō)明書的一部分,附示了本發(fā)明的實(shí)施例并且與描述一起用于解釋本發(fā)明的原理。在附圖中圖1是根據(jù)本發(fā)明的視頻信號(hào)解碼設(shè)備的示意性框圖;圖2是根據(jù)本發(fā)明的一個(gè)實(shí)施例的按小于宏塊大小的塊單元應(yīng)用跳過(guò)模式的方法的示圖;圖3是基于宏塊類型信息指示在宏塊內(nèi)使用跳過(guò)模式的部分的方法的框圖;圖4是根據(jù)本發(fā)明的一個(gè)實(shí)施例的在子宏塊級(jí)指示當(dāng)前宏塊是否部分地以跳過(guò)模式被編碼的方法的圖;圖5是根據(jù)本發(fā)明的另一實(shí)施例的指示當(dāng)前宏塊是否部分地以跳過(guò)模式被編碼的方法的圖;圖6和圖7是根據(jù)本發(fā)明的一個(gè)實(shí)施例的指示部分跳過(guò)模式的宏塊類型的示圖;圖8是根據(jù)本發(fā)明的一個(gè)實(shí)施例的在宏塊類型是P跳過(guò)宏塊的情況下導(dǎo)出運(yùn)動(dòng)矢量的方法的示圖;圖9是應(yīng)用了空間方向預(yù)測(cè)模式的幀間預(yù)測(cè)單元700的示意性內(nèi)部框圖;以及圖10是使用跳過(guò)模式指示信息或者直接模式指示信息來(lái)解碼條帶數(shù)據(jù)的過(guò)程的框圖。最佳模式在隨后的描述中將闡述本發(fā)明的其它優(yōu)點(diǎn)和特征,并且部分地將從描述中變得明顯,或者可以通過(guò)本發(fā)明的實(shí)踐來(lái)習(xí)得。通過(guò)在撰寫的描述及其權(quán)利要求以及附圖中所具體指出的結(jié)構(gòu)可以實(shí)現(xiàn)并且獲得本發(fā)明的目的和其它優(yōu)點(diǎn)。為了實(shí)現(xiàn)這些和其它優(yōu)點(diǎn)并且根據(jù)本發(fā)明的目的,如實(shí)現(xiàn)并且廣泛描述的,一種處理視頻信號(hào)的方法,包括下述步驟根據(jù)當(dāng)前宏塊類型確定當(dāng)前宏塊的分割是否以跳過(guò)模式被編碼;如果當(dāng)前宏塊的分割被以跳過(guò)模式編碼,則導(dǎo)出該分割的運(yùn)動(dòng)矢量;以及基于該導(dǎo)出的運(yùn)動(dòng)矢量來(lái)預(yù)測(cè)分割的像素值。優(yōu)選地,本發(fā)明的特征在于,確定步驟進(jìn)一步包括獲得當(dāng)前宏塊類型的步驟。
更優(yōu)選地,本發(fā)明的特征在于,該方法進(jìn)一步包括下述步驟獲得關(guān)于當(dāng)前宏塊的分割的跳過(guò)模式指示信息。而且,本發(fā)明的特征在于,基于根據(jù)當(dāng)前宏塊類型的預(yù)測(cè)塊的大小信息來(lái)獲得當(dāng)前宏塊的分割。此外,本發(fā)明的特征在于,跳過(guò)模式指示信息包括指示當(dāng)前宏塊的分割是否以跳過(guò)模式被編碼。優(yōu)選地,本發(fā)明的特征在于,從與當(dāng)前宏塊的分割鄰近的塊的運(yùn)動(dòng)矢量的中間值導(dǎo)出分割的運(yùn)動(dòng)矢量。更優(yōu)選地,本發(fā)明的特征在于,與當(dāng)前宏塊的分割鄰近的塊包括分割的左塊、上塊和右上塊。優(yōu)選地,本發(fā)明的特征在于,分割的像素值包括運(yùn)動(dòng)矢量參考的基準(zhǔn)塊的像素值。應(yīng)當(dāng)理解,前述一般性描述和接下來(lái)的詳細(xì)描述都是示例性和說(shuō)明性的,并且意在提供如本要求保護(hù)的本發(fā)明的進(jìn)一步的說(shuō)明。
具體實(shí)施例方式現(xiàn)在將詳細(xì)參考本發(fā)明的優(yōu)選實(shí)施例,其示例在附圖中被示出。首先,在該說(shuō)明書和權(quán)利要求中使用的術(shù)語(yǔ)或者詞語(yǔ)不應(yīng)該被理解為局限為一般性或者字典中的含義,并且應(yīng)該基于發(fā)明人能夠適當(dāng)?shù)囟x該術(shù)語(yǔ)的概念來(lái)以最佳的方式描述發(fā)明人的發(fā)明的原理來(lái)理解為匹配本發(fā)明的技術(shù)原理的含義和概念。在本公開中公開的實(shí)施例和附圖中示出的配置僅是一個(gè)優(yōu)選實(shí)施例,并且不表示本發(fā)明的所有技術(shù)原理。因此,應(yīng)當(dāng)理解,在本發(fā)明的修改和變化落入在提交本申請(qǐng)時(shí)所附權(quán)利要求及其等價(jià)物的范圍內(nèi)的情況下,本發(fā)明涵蓋這些修改和變化。首先,宏塊是用于處理視頻幀的基本單元,并且能夠被定義為由16x16個(gè)像素構(gòu)建的區(qū)域。大于16x16的宏塊能夠成為用于處理具有大于現(xiàn)有技術(shù)的分辨率的視頻幀的基本單元。例如,該宏塊能夠被定義為例如用3h32個(gè)像素或者64x64個(gè)像素構(gòu)建的區(qū)域。能夠根據(jù)視頻圖像的分辨率適配地使用大于16x16的宏塊。例如,如果視頻圖像的分辨率等于或者小于VGA,則能夠?qū)⒑陦K的大小設(shè)置為16x16。因此,可以使用16x8、 8x16,4x8,8x4以及4x4塊中的一個(gè)作為對(duì)宏塊的分割。如果視頻圖像的分辨率等于或者大于VGA并且等于或者小于1080P,則能夠?qū)⒑陦K的大小設(shè)置為32x32。因此,可以使用32x16、 16x32,16x16,16x8,8x16和8x8塊中的一個(gè)作為宏塊的分割。如果視頻圖像的分辨率等于或者大于IOSOp并且等于或者小于4k x2k,則能夠?qū)⒑陦K的大小設(shè)置為64x64。類似的,能夠使用6虹32、3&64、3&16、16x32和16x16來(lái)作為對(duì)宏塊的分割。然而,編碼器能夠根據(jù)視頻圖像的分辨率來(lái)確定16x16宏塊和大于16x16的其它宏塊中的一個(gè)的最佳大小。所確定的宏塊大小信息能夠在條帶或者序列級(jí)被傳送到解碼器。能夠根據(jù)宏塊的預(yù)測(cè)模式,即根據(jù)畫面內(nèi)預(yù)測(cè)模式或者畫面間預(yù)測(cè)模式來(lái)定義宏塊類型。這能夠包括預(yù)測(cè)塊的大小信息。而且,用于執(zhí)行畫面間預(yù)測(cè)的宏塊類型還能夠包括關(guān)于預(yù)測(cè)方向的信息。以畫面內(nèi)預(yù)測(cè)模式編碼的預(yù)測(cè)塊的大小能夠被設(shè)置為16x16像素、8x8像素和4x4 像素中的一個(gè)。該預(yù)測(cè)塊可以指用于在畫面內(nèi)執(zhí)行畫面內(nèi)預(yù)測(cè)或者畫面間預(yù)測(cè)的塊的單元。對(duì)于以畫面間預(yù)測(cè)模式編碼的預(yù)測(cè)塊的運(yùn)動(dòng)補(bǔ)償,可以使用16x16像素、16x8像素、 8x16像素和8x8像素中的一個(gè)作為預(yù)測(cè)塊的大小。在使用8x8像素作為預(yù)測(cè)塊的大小的情況下,能夠以8x8像素預(yù)測(cè)塊的分割(例如,8x4像素、4x8像素和4x4像素)的單元來(lái)執(zhí)行畫面間預(yù)測(cè)。在分辨率等于或者大于VGA并且等于或者小于1080P的情況下,以畫面內(nèi)預(yù)測(cè)模式編碼的預(yù)測(cè)塊的大小能夠被設(shè)置為16x16像素或者8x8像素。而且,以畫面間預(yù)測(cè)模式編碼的預(yù)測(cè)塊的大小能夠被設(shè)置為16x16像素、16x8像素、8x16像素和8x8像素中的一個(gè)。 在該情況下,可以不以8x8像素預(yù)測(cè)塊的分割(例如,8x4像素、4x8像素和4x4像素)的單元來(lái)執(zhí)行畫面間預(yù)測(cè)。在分辨率等于或者大于1080P并且等于或者小于4kx2k的情況下, 以畫面內(nèi)預(yù)測(cè)模式或者畫面間預(yù)測(cè)模式編碼的預(yù)測(cè)塊的大小能夠被設(shè)置為16x16像素。類似地,編碼器能夠根據(jù)視頻圖像的分辨率來(lái)確定最佳宏塊類型。該確定的宏塊類型信息能夠在條帶級(jí)或者序列級(jí)被發(fā)送到解碼器。因此,能夠適配地使用確定的宏塊類型。圖1是根據(jù)本發(fā)明的視頻信號(hào)解碼設(shè)備的示意性框圖。參考圖1,解碼設(shè)備主要包括解析單元100、熵解碼單元200、反量化/反變換單元 300、幀內(nèi)預(yù)測(cè)單元400、去塊化濾波單元500、解碼畫面緩沖單元600、幀間預(yù)測(cè)單元700等。解析單元100以NAL單元來(lái)執(zhí)行解析以解碼接收到的視頻圖像。通常,在解碼條帶頭和數(shù)據(jù)之前將至少一個(gè)或多個(gè)序列參數(shù)集和畫面參數(shù)集發(fā)送到解碼器。在該情況下, 各種屬性信息可以被包括在NAL頭區(qū)域或者NAL頭的擴(kuò)展區(qū)域中。經(jīng)由熵解碼單元200對(duì)解析的比特流進(jìn)行熵解碼,并且然后提取每個(gè)宏塊的系數(shù)、運(yùn)動(dòng)矢量等。反量化/反變換單元300通過(guò)使接收到的量化值乘以預(yù)定的常數(shù)來(lái)獲得系數(shù)值,并且然后通過(guò)反變換系數(shù)值來(lái)重建像素值。幀內(nèi)預(yù)測(cè)單元400使用重建的像素值在當(dāng)前畫面內(nèi)根據(jù)解碼的采樣來(lái)執(zhí)行畫面內(nèi)預(yù)測(cè)。同時(shí),去塊化濾波單元500被應(yīng)用于每個(gè)編碼的宏塊以減少塊失真。濾波器通過(guò)對(duì)塊的邊緣進(jìn)行平滑來(lái)增強(qiáng)幀的圖像質(zhì)量。對(duì)于濾波處理的選擇取決于圖像采樣的變化。濾波的畫面被輸出或者存儲(chǔ)在解碼畫面緩沖單元600中以用作基準(zhǔn)畫面。解碼畫面緩沖單元600在存儲(chǔ)或者打開先前編碼的畫面中起作用以執(zhí)行畫面間預(yù)測(cè)。在該情況下,為了存儲(chǔ)或者打開它們,使用每個(gè)畫面的frame_nUm以及P0C(畫面順序計(jì)數(shù))。幀間預(yù)測(cè)單元700使用存儲(chǔ)在解碼畫面緩沖單元600中的基準(zhǔn)畫面來(lái)執(zhí)行畫面間預(yù)測(cè)。以幀間模式編碼的宏塊能夠被分城宏塊分割。而且能夠根據(jù)一個(gè)或兩個(gè)基準(zhǔn)畫面來(lái)預(yù)測(cè)宏塊分割中的每一個(gè)。幀間預(yù)測(cè)單元700使用從熵解碼單元200傳送的信息來(lái)補(bǔ)償當(dāng)前塊的運(yùn)動(dòng)。在下面的描述中,應(yīng)當(dāng)理解,塊包括宏塊或者宏塊的分割。從視頻信號(hào)中提取與當(dāng)前塊相鄰的塊的運(yùn)動(dòng)矢量。然后,能夠從相鄰塊獲得當(dāng)前塊的運(yùn)動(dòng)矢量預(yù)測(cè)值。相鄰塊能夠包括當(dāng)前塊的左側(cè)、上側(cè)或者右上側(cè)的塊。例如,能夠?qū)?dāng)前塊的運(yùn)動(dòng)矢量的預(yù)測(cè)值設(shè)置為使用相鄰塊的運(yùn)動(dòng)矢量的水平分量和垂直分量的中間值來(lái)獲得。替代地,在當(dāng)前塊的左側(cè)塊具有以畫面間預(yù)測(cè)模式編碼的至少一個(gè)預(yù)測(cè)塊的情況下,能夠?qū)?dāng)前塊的運(yùn)動(dòng)矢量的預(yù)測(cè)值設(shè)置為使用位于上側(cè)的預(yù)測(cè)塊的運(yùn)動(dòng)矢量來(lái)獲得。在當(dāng)前塊的上側(cè)塊具有以畫面間預(yù)測(cè)模式編碼的至少一個(gè)預(yù)測(cè)塊的情況下,能夠?qū)?dāng)前塊的運(yùn)動(dòng)矢量的預(yù)測(cè)值設(shè)置為使用位于最左側(cè)的預(yù)測(cè)塊的運(yùn)動(dòng)矢量來(lái)獲得。在相鄰塊中位于當(dāng)前塊的上側(cè)和右側(cè)的塊位于畫面或者條帶的邊界外,則能夠?qū)?dāng)前塊的運(yùn)動(dòng)矢量的預(yù)測(cè)值設(shè)置為左側(cè)塊的運(yùn)動(dòng)矢量。如果在相鄰塊中存在具有當(dāng)前塊的相同基準(zhǔn)畫面所以的一個(gè)塊,則能夠?qū)?duì)應(yīng)塊的運(yùn)動(dòng)矢量設(shè)置為用于預(yù)測(cè)。基于根據(jù)宏塊類型的宏塊的分割,能夠獲得運(yùn)動(dòng)矢量的預(yù)測(cè)值。例如,當(dāng)根據(jù)當(dāng)前宏塊類型的當(dāng)前宏塊的分割是8x16時(shí),如果宏塊的分割的索引被設(shè)置為0,則能夠?qū)?dāng)前塊的上側(cè)塊設(shè)置為用于預(yù)測(cè)。如果宏塊的分割的索引被設(shè)置為1,則能夠?qū)?dāng)前塊的左側(cè)塊設(shè)置為用于預(yù)測(cè)。在獲得當(dāng)前塊的運(yùn)動(dòng)矢量預(yù)測(cè)值時(shí),能夠?qū)⒖蓮南噜弶K提取的各種運(yùn)動(dòng)矢量定義為運(yùn)動(dòng)矢量預(yù)測(cè)值的候選。如前面的描述中所提到的,運(yùn)動(dòng)矢量預(yù)測(cè)值的候選能夠包括相鄰塊中的一個(gè)的運(yùn)動(dòng)矢量、相鄰塊的運(yùn)動(dòng)矢量的中間值等,候選不限于此。因此,編碼器從運(yùn)動(dòng)矢量預(yù)測(cè)值中選擇具有最佳效率的運(yùn)動(dòng)矢量作為運(yùn)動(dòng)矢量預(yù)測(cè)值,并且然后能夠?qū)⑦x擇的運(yùn)動(dòng)矢量信息發(fā)送到解碼器。能夠從宏塊級(jí)的條帶級(jí)獲得選擇的運(yùn)動(dòng)矢量信息。能夠使用索引來(lái)定義運(yùn)動(dòng)矢量預(yù)測(cè)值的候選。而且,選擇的運(yùn)動(dòng)矢量信息能夠包括該索引。通過(guò)對(duì)當(dāng)前塊的運(yùn)動(dòng)矢量和運(yùn)動(dòng)矢量的預(yù)測(cè)值之間的差矢量進(jìn)行編碼,能夠減少要編碼的比特大小。使用獲得的運(yùn)動(dòng)矢量預(yù)測(cè)值和從視頻信號(hào)提取的差矢量來(lái)補(bǔ)償當(dāng)前塊的運(yùn)動(dòng)。此外,能夠使用一個(gè)基準(zhǔn)畫面或者多個(gè)畫面來(lái)執(zhí)行該運(yùn)動(dòng)補(bǔ)償。在宏塊的大小是16x16的情況下,包括16x16、16x8、8xl6、8x 8,8x4,4x8和4x4的總共7種塊大小可用于畫面間預(yù)測(cè)。它們能夠被分級(jí)地表示為宏塊或者子宏塊類型。具體地,預(yù)測(cè)塊的大小能夠被表示為宏塊類型,并且能夠選擇16χ16、16χ8、8χ16和8x8中的一個(gè)。能夠針對(duì)每個(gè)預(yù)測(cè)塊對(duì)基準(zhǔn)畫面索引和運(yùn)動(dòng)矢量進(jìn)行編碼。替代地,能夠針對(duì)每個(gè)預(yù)測(cè)塊來(lái)對(duì)運(yùn)動(dòng)矢量進(jìn)行編碼。當(dāng)然,能夠以與宏塊相同的方式來(lái)確定用于子宏塊的編碼方案。在重建當(dāng)前宏塊時(shí),跳過(guò)宏塊可以被定義為使用在前一編碼基準(zhǔn)畫面中完整的宏塊的像素值來(lái)替代具有關(guān)于當(dāng)前宏塊的信息,即,運(yùn)動(dòng)矢量、基準(zhǔn)畫面索引以及殘差數(shù)據(jù)。 在對(duì)跳過(guò)宏塊進(jìn)行編碼時(shí),能夠伴隨著使用運(yùn)動(dòng)矢量的運(yùn)動(dòng)補(bǔ)償。能夠使用相鄰塊導(dǎo)出該運(yùn)動(dòng)矢量。先前的運(yùn)動(dòng)矢量導(dǎo)出方法相同地適用于導(dǎo)出該運(yùn)動(dòng)矢量的方法。如下解釋用于使用跳過(guò)模式對(duì)條帶數(shù)據(jù)進(jìn)行編碼的過(guò)程。首先,能夠獲得指示條帶內(nèi)的當(dāng)前宏塊是否是跳過(guò)宏塊的標(biāo)志信息。在宏塊大于16x16的情況下,能夠通過(guò)指示使用跳過(guò)模式的宏塊的分割以小于該宏塊大小的塊單元應(yīng)用跳過(guò)模式。因此,能夠增強(qiáng)編碼的效率。圖2是根據(jù)本發(fā)明的一個(gè)實(shí)施例的以小于宏塊的大小的塊單元應(yīng)用跳過(guò)模式的方法的圖。參考圖2,在宏塊的大小是32x32的情況下,能夠使用指示其是否是以16x16塊為單位的跳過(guò)宏塊的標(biāo)志信息。如果指示其是否是跳過(guò)宏塊的標(biāo)志被設(shè)置為1,則能夠定義該宏塊處于跳過(guò)模式。在宏塊內(nèi)位于上側(cè)的宏塊的分割僅以跳過(guò)模式進(jìn)行編碼的情況下, 能夠傳送四個(gè)比特“1000”。如果宏塊內(nèi)的16x16宏塊的所有分割都以跳過(guò)模式進(jìn)行編碼, 則不解析諸如運(yùn)動(dòng)矢量等的其它信息。然而,如果宏塊部分地包括以跳過(guò)模式編碼的宏塊的分割,則將解析宏塊類型。在該情況下,能夠?qū)⑵浔硎緸榫哂?6x16宏塊的分割的宏塊類型。圖3是基于宏塊類型信息指示宏塊內(nèi)使用跳過(guò)模式的部分的方法的框圖。
參考圖3,解析在條帶級(jí)指示當(dāng)前塊是否是跳過(guò)宏塊的標(biāo)志信息[S300]。作為解析的結(jié)果,如果當(dāng)前宏塊不是跳過(guò)宏塊[‘否1’ ],則將在宏塊級(jí)解析當(dāng)前宏塊類型信息 [S310],如果當(dāng)前宏塊不是跳過(guò)宏塊,則可以以跳過(guò)模式對(duì)當(dāng)前宏塊的一些分割進(jìn)行編碼。 因此,如果當(dāng)前宏塊是跳過(guò)宏塊[‘是1’ ],則能夠在不對(duì)當(dāng)前宏塊的運(yùn)動(dòng)信息等進(jìn)行解析的情況下執(zhí)行解碼[S340]。如果當(dāng)前宏塊不是跳過(guò)宏塊,則解析當(dāng)前宏塊類型,并且然后能夠從當(dāng)前宏塊類型獲得當(dāng)前宏塊的分割信息。能夠解析指示當(dāng)前宏塊的分割是否以跳過(guò)模塊進(jìn)行編碼的標(biāo)志信息[S320]。當(dāng)當(dāng)前宏塊的大小是32x32時(shí),作為在宏塊級(jí)解析當(dāng)前宏塊類型的結(jié)果,如果當(dāng)前宏塊類型被表示為16x16,則能夠解析指示16x16宏塊的分割是否以跳過(guò)模式進(jìn)行編碼的標(biāo)志信息。根據(jù)該標(biāo)志信息,將在不對(duì)運(yùn)動(dòng)信息等進(jìn)行解析的情況下對(duì)跳過(guò)模式編碼的分割執(zhí)行解碼[‘是2’]。而且對(duì)于沒有以跳過(guò)模式進(jìn)行編碼的分割 [‘否2’ ],將解析運(yùn)動(dòng)信息和殘差數(shù)據(jù)[S330]。這能夠等同地適用于子宏塊級(jí)。圖4是根據(jù)本發(fā)明的一個(gè)實(shí)施例的指示在子宏塊級(jí)是否部分地以跳過(guò)模式編碼當(dāng)前宏塊的方法的示圖。參考圖4,如果當(dāng)前宏塊的大小是32x32,則能夠?qū)⒆雍陦K的大小設(shè)置為16x16。作為解析當(dāng)前宏塊類型信息的結(jié)果,如果根據(jù)當(dāng)前宏塊類型的宏塊的分割是16x16,則能夠解析指示是否以跳過(guò)模式編碼四個(gè)16x16子宏塊的標(biāo)志信息[S400]。作為該解析的結(jié)果,能夠在不解析單獨(dú)的信息的情況下對(duì)跳過(guò)模式編碼的子宏塊執(zhí)行解碼 [S410]。因此,能夠解析該子宏塊的基準(zhǔn)畫面索引和運(yùn)動(dòng)矢量[S420]。然而,能夠基于根據(jù)子宏塊類型的子宏塊的分割解析該子宏塊的運(yùn)動(dòng)矢量。圖5是根據(jù)本發(fā)明的另一實(shí)施例的指示是否部分地以跳過(guò)模式編碼當(dāng)前宏塊的方法的示圖。參考圖5,能夠解析指示條帶內(nèi)的當(dāng)前宏塊是否是跳過(guò)宏塊的標(biāo)志信息[S500]。 如果根據(jù)標(biāo)志信息當(dāng)前宏塊是跳過(guò)宏塊[‘是1’],則能夠在不解析運(yùn)動(dòng)信息等的情況下執(zhí)行解碼[S550]。然而,如果當(dāng)前宏塊不是跳過(guò)宏塊[‘否1’],則能夠解析指示當(dāng)前宏塊的分割是否存在和分割的跳過(guò)模式編碼是否存在的標(biāo)志信息[S510]。例如,在宏塊的大小是32x32的情況下,如果標(biāo)志被設(shè)置為1,則能夠定義該宏塊的分割是16x16。而且還能夠定義該宏塊的分割中的至少一個(gè)以跳過(guò)模式進(jìn)行編碼。另一方面,如果該標(biāo)志被設(shè)置為0,則能夠定義該宏塊的分割不是16x16或者定義即使分割為 16x16,該宏塊的所有分割也不以跳過(guò)模式進(jìn)行編碼。在下面的描述中,假定以上述方式定義標(biāo)志。因此,作為解析標(biāo)志信息的結(jié)果,如果獲得了‘1’[ ‘是2’],則當(dāng)宏塊的分割被設(shè)置為16x16時(shí),不需要解析宏塊類型信息。而且,能夠針對(duì)四個(gè)16x16宏塊分割解析指示該16x16宏塊的分割是否以跳過(guò)模式被編碼的標(biāo)志信息[S560]。因此,如果該16x16宏塊的分割以跳過(guò)模式進(jìn)行編碼[‘是3’],則能夠在不解析運(yùn)動(dòng)信息等的情況下執(zhí)行解碼[S550]。此外,如果以跳過(guò)模式編碼分割,則可以不解析CBP。因此,通過(guò)減少傳送的信息的大小,則能夠增強(qiáng)信號(hào)處理的效率。然而,如果沒有以跳過(guò)模式進(jìn)行編碼[‘否3’ ],則解析運(yùn)動(dòng)信息和殘差[SM0],并且能夠使用解析結(jié)果來(lái)進(jìn)行解碼[S550]。作為解析標(biāo)志信息的結(jié)果,如果獲得了 0[ ‘否2’ ],則能夠解析當(dāng)前宏塊類型信息[S520]。如果根據(jù)當(dāng)前宏塊類型的當(dāng)前宏塊的分割不是16x16,則能夠解析指示其是否以跳過(guò)模式被編碼的標(biāo)志信息[S530]。然而,如果根據(jù)當(dāng)前宏塊類型的當(dāng)前宏塊的分割是16x16,則當(dāng)所有四個(gè)分割沒有以跳過(guò)模式被編碼,則可以不解析指示分割是否以跳過(guò)模式被編碼的標(biāo)志信息。而且,能夠?qū)⒅甘痉指钍欠褚蕴^(guò)模式被編碼的信息設(shè)置為被導(dǎo)出為 O0如果根據(jù)指示獲得的宏塊的分割中的每一個(gè)是否以跳過(guò)模式被編碼的標(biāo)志信息, 以跳過(guò)模式編碼分割[‘是3’ ],則能夠在不解析運(yùn)動(dòng)信息等的情況下執(zhí)行解碼。如果沒有以跳過(guò)模式編碼分割[‘否3’],則能夠通過(guò)解析運(yùn)動(dòng)信息和殘差來(lái)執(zhí)行解碼[S540] [S550]。以另一種方式,能夠新定義用于跳過(guò)模式指示的宏塊類型。圖6和圖7是根據(jù)本發(fā)明的一個(gè)實(shí)施例的用于指示部分跳過(guò)模式的宏塊類型的圖。在宏塊的大小大于16x16的情況下,能夠定義指示宏塊的分割單元是否使用跳過(guò)模式的宏塊類型。參考圖6,下面的描述中所解釋的是下述情況假定宏塊的大小是32x32,宏塊的分割單元使用跳過(guò)模式。如前面的描述中所提到的,在當(dāng)前宏塊內(nèi)的16x16宏塊的所有分割都以跳過(guò)模式被編碼的情況下,能夠獲得在條帶級(jí)指示當(dāng)前宏塊是跳過(guò)宏塊的標(biāo)志信息。相反地,在16x16宏塊的所有分割沒有被以跳過(guò)模式編碼的情況下,然后能夠解析指示當(dāng)前宏塊不是跳過(guò)宏塊的標(biāo)志信息和當(dāng)前宏塊類型。在該情況下,如果該16x16宏塊的分割中的一些被部分地以跳過(guò)模式編碼,則當(dāng)前宏塊類型可以被表示為圖7中所示的宏塊類型。具體地,該16x16宏塊的分割(宏塊的分割索引0和2)以跳過(guò)模式進(jìn)行編碼并且該16x16宏塊的分割(宏塊的分割索引1和3) 沒有被以跳過(guò)模式編碼,則當(dāng)前宏塊類型將變?yōu)?[S600]。在該情況下,能夠在不解析諸如運(yùn)動(dòng)信息等的其它信息的情況下解碼該16x16宏塊的分割(宏塊的分割索引0和2)。然而,對(duì)于該16x16宏塊的分割(宏塊的分割索引1和3)將解析運(yùn)動(dòng)信息、基準(zhǔn)畫面索引等。 該16x16宏塊的分割(宏塊的分割索引0和2)中的每一個(gè)能夠被設(shè)置為16x32預(yù)測(cè)宏塊的大小或者16x16預(yù)測(cè)宏塊的大小。如下解釋導(dǎo)出跳過(guò)宏塊的運(yùn)動(dòng)矢量的方法。而且能夠以相同方式導(dǎo)出子宏塊的運(yùn)
動(dòng)矢量。首先,如果當(dāng)前宏塊是跳過(guò)宏塊,則能夠使用當(dāng)前塊的相鄰塊來(lái)導(dǎo)出運(yùn)動(dòng)矢量。例如,假定當(dāng)前塊的左側(cè)的塊、上側(cè)的塊以及右上側(cè)的塊分別被稱名為相鄰塊A、 相鄰塊B以及相鄰塊C。而且假定它們的運(yùn)動(dòng)矢量分別被設(shè)置為mvA、mvB以及mvC。當(dāng)前塊的運(yùn)動(dòng)矢量能夠被導(dǎo)出為mvA、mvB以及mvC的水平和垂直分量的中間值或者mvA、mvB、 mvC的平均值。能夠?qū)С鰹槿齻€(gè)運(yùn)動(dòng)矢量中的一個(gè),并且這能夠基于基準(zhǔn)畫面索引來(lái)確定。 此外,在宏塊大于16x16的情況下,能夠按小于宏塊或者子宏塊的大小的塊單元導(dǎo)出運(yùn)動(dòng)矢量來(lái)獲得宏塊的準(zhǔn)確運(yùn)動(dòng)矢量。圖8是根據(jù)本發(fā)明的一個(gè)實(shí)施例的在宏塊類型是P跳過(guò)宏塊的情況下導(dǎo)出運(yùn)動(dòng)矢量的方法的示圖。參考圖8,在宏塊的大小是32x32的情況下,能夠按小于宏塊大小的塊單元,即以 8x8塊單元來(lái)導(dǎo)出運(yùn)動(dòng)矢量。具體地,能夠?qū)K0的運(yùn)動(dòng)矢量導(dǎo)出為mvAO、mvBO以及mvCO 的水平分量和垂直分量的中間值、mvA0、mvB0以及mBl的平均值、或者mVA0、mVB0以及mvBl 中的一個(gè)運(yùn)動(dòng)矢量。類似地,塊1的運(yùn)動(dòng)矢量能夠被導(dǎo)出為mVB0、mVBl和mvB2的水平分量和垂直分量的中間值。塊的索引可以表示解碼順序。
在下面解釋使用直接模式的畫面間預(yù)測(cè)。首先,直接模式指示從重建塊的運(yùn)動(dòng)信息預(yù)測(cè)當(dāng)前塊的運(yùn)動(dòng)信息的模式。運(yùn)動(dòng)信息可以包括運(yùn)動(dòng)矢量和基準(zhǔn)畫面索引。例如,能夠?qū)⒘斜?基準(zhǔn)畫面中具有最小參考索引的畫面定義為直接模式下的錨畫面。而且,當(dāng)前塊的共同位于同一空間位置的錨畫面的塊能夠被定義為錨塊。例如,在時(shí)間預(yù)測(cè)模式中,能夠使用錨塊的運(yùn)動(dòng)信息來(lái)預(yù)測(cè)當(dāng)前塊的運(yùn)動(dòng)信息。能夠?qū)㈠^塊的列表0方向上的運(yùn)動(dòng)矢量定義為mvCol。在該情況下,如果錨塊的列表0方向上的運(yùn)動(dòng)矢量不存在但是列表1方向上的運(yùn)動(dòng)矢量存在,則能夠?qū)⒘斜?方向上的運(yùn)動(dòng)矢量設(shè)置為mvCol。在該情況下,在畫面B的情況下,能夠使用兩個(gè)隨機(jī)畫面作為基準(zhǔn)畫面,而與時(shí)間或者空間序列無(wú)關(guān)。在這樣做時(shí),使用的預(yù)測(cè)被稱為列表0預(yù)測(cè)或者列表1預(yù)測(cè)。例如,列表0預(yù)測(cè)指對(duì)于向前方向的預(yù)測(cè),而列表1預(yù)測(cè)指對(duì)于向后方向的預(yù)測(cè)。在時(shí)間直接模式中,當(dāng)前塊的列表0基準(zhǔn)畫面變?yōu)閙vCol參考的畫面,并且列表1 基準(zhǔn)畫面變?yōu)殄^畫面。如果錨塊不具有運(yùn)動(dòng)信息,則運(yùn)動(dòng)矢量變?yōu)?,并且時(shí)間直接模式中的列表0基準(zhǔn)畫面的基準(zhǔn)畫面索引變?yōu)?。此外,能夠從運(yùn)動(dòng)矢量mvCol找到列表0的運(yùn)動(dòng)矢量mvLO和列表1的運(yùn)動(dòng)矢量 mvLl。假定基準(zhǔn)畫面內(nèi)的運(yùn)動(dòng)的速度、當(dāng)前畫面和錨畫面是恒定的,則在基準(zhǔn)畫面、當(dāng)前畫面和錨畫面中,mvLO和mvLl中的每一個(gè)的大小變?yōu)榕c時(shí)間間隔成正比。因此,使用基準(zhǔn)畫面和當(dāng)前畫面之間的間隔以及基準(zhǔn)畫面和錨畫面之間的間隔,能夠找到mvLO和mvLl。具體地,在錨塊的列表0參考索引指長(zhǎng)時(shí)期基準(zhǔn)畫面的情況下,其能夠通過(guò)公式1來(lái)獲得。[公式1]mvLO = mvColmvLl = 0在錨塊的列表0參考索引不指長(zhǎng)時(shí)期基準(zhǔn)畫面的情況下,能夠通過(guò)公式2來(lái)獲得[公式2]mvLO = mvCol* (tb/td)mvLl = -mvCol* (td_tb)/td = mvLO-mvCol對(duì)于直接模式的另一示例,空間直接模式使用空間方向的運(yùn)動(dòng)信息相關(guān)性來(lái)預(yù)測(cè)當(dāng)前塊的運(yùn)動(dòng)信息。與時(shí)間直接模式類似,在尋找運(yùn)動(dòng)信息中使用錨畫面和錨塊。圖9是對(duì)其應(yīng)用了空間方向預(yù)測(cè)模式的幀間預(yù)測(cè)單元700的示意性內(nèi)部框圖。參考圖9,幀間預(yù)測(cè)單元700主要包括直接模式識(shí)別單元710、空間方向預(yù)測(cè)執(zhí)行單元720等。而且,空間直接預(yù)測(cè)執(zhí)行單元720包括第一變量導(dǎo)出單元721、第二變量導(dǎo)出單元722以及運(yùn)動(dòng)信息預(yù)測(cè)單元723。直接模式識(shí)別單元710識(shí)別當(dāng)前條帶的預(yù)測(cè)模式。例如,如果當(dāng)前條帶的條帶類型是P條帶或者B條帶,則可以使用直接模式。在該情況下,能夠使用指示將使用直接模式中的時(shí)間直接模式還是空間直接模式的直接模式標(biāo)記。直接模式標(biāo)記能夠從條帶報(bào)頭獲得。在根據(jù)直接模式標(biāo)記應(yīng)用空間直接模式的情況下,能夠優(yōu)選地獲得與當(dāng)前塊相鄰的塊的運(yùn)動(dòng)信息。例如,假定當(dāng)前塊的左側(cè)的塊、上側(cè)的塊以及右上側(cè)的塊被分別稱為相鄰塊A、 相鄰塊B以及相鄰塊C,則能夠獲得相鄰塊A、B和C的運(yùn)動(dòng)信息。第一變量導(dǎo)出單元721 能夠使用相鄰塊的運(yùn)動(dòng)信息導(dǎo)出當(dāng)前塊的列表0或者列表1方向的基準(zhǔn)畫面索引。而且, 然后能夠基于當(dāng)前塊的基準(zhǔn)畫面索引導(dǎo)出第一變量。在該情況下,第一變量能夠表示作為隨機(jī)值的在預(yù)測(cè)當(dāng)前塊的運(yùn)動(dòng)矢量中使用的變量(directZeroPredictionFlag)。例如,當(dāng)前塊的列表0或者列表1方向的基準(zhǔn)畫面索引能夠被導(dǎo)出為相鄰塊的基準(zhǔn)畫面索引的最小值。對(duì)此,可以使用下面的公式(公式3)。[公式3]refldxLO = MinPositive (refldxLOA, MinPositive (refldxLOB, refldxLOC))refldxLl = MinPositive(refldxLlA, MinPositive(refldxLIB, refldxLIC))其中,MinPositive (χ, y) = Min (χ, y) (χ > O 并且 y > 0)Max (χ,y)(其它情況)例如,詳細(xì)地,其變?yōu)椤癕inPOSitiVe(0,l) =0”。具體地,在存在兩個(gè)有效的索引的情況下,能夠獲得較小的值。替代地,變?yōu)椤癕inPOSitiVe(-l,0) =0”。S卩,在存在一個(gè)有效索引的情況下,能夠獲得作為有效索引值的大的值。替代地,變?yōu)椤癕inP0SitiVe(-l,-l) =-1”。即,在兩個(gè)索引都不是有效索引情況下,例如,如果兩個(gè)相鄰塊都是以畫面內(nèi)預(yù)測(cè)模式編碼的塊或者兩個(gè)相鄰塊不可用,則獲得大的值“_1”。因此,為了獲得無(wú)效的結(jié)果值,應(yīng)該不存在至少一個(gè)有效值。首先,對(duì)于第一變量的初始值,能夠?qū)⒌谝蛔兞吭O(shè)置為O。此外,在導(dǎo)出的列表O和列表1方向的每個(gè)基準(zhǔn)畫面索引小于O的情況下,能夠?qū)?dāng)前塊的列表O或者列表1方向的基準(zhǔn)畫面索引設(shè)置為O。而且,第一變量能夠被設(shè)置為指示當(dāng)前塊的基準(zhǔn)畫面不存在的值。在該情況下,導(dǎo)出的列表O和列表1方向的每個(gè)基準(zhǔn)畫面索引小于O的情況指例如相鄰塊是以畫面內(nèi)預(yù)測(cè)模式編碼的塊的情況或者是相鄰塊不可用的情況。在該情況下,通過(guò)將第一變量設(shè)置為1,能夠?qū)?dāng)前塊的運(yùn)動(dòng)矢量設(shè)置為O。由于對(duì)于本實(shí)施例使用了三個(gè)相鄰塊,因此在全部三個(gè)相鄰塊以畫面內(nèi)預(yù)測(cè)模式編碼或者不可用的情況下,則當(dāng)前塊的基準(zhǔn)畫面索引可以具有“-1”的無(wú)效值。因此,如果當(dāng)前塊的所有基準(zhǔn)畫面索引不可用,則能夠?qū)⒌谝蛔兞吭O(shè)置為1。具體地,如果當(dāng)前塊將使用的基準(zhǔn)畫面不存在,則能夠?qū)⒌谝蛔兞吭O(shè)置為1。第二變量導(dǎo)出單元722能夠使用錨畫面內(nèi)的錨塊的運(yùn)動(dòng)信息導(dǎo)出第二變量。在該情況下,第二變量可以指作為隨機(jī)值的用于預(yù)測(cè)當(dāng)前塊的運(yùn)動(dòng)矢量的變量。例如,在錨塊的運(yùn)動(dòng)信息滿足預(yù)定條件的情況下,能夠?qū)⒌诙兞吭O(shè)置為1。如果第二變量被設(shè)置為1,則能夠?qū)?dāng)前塊的列表O或者列表1方向的運(yùn)動(dòng)矢量設(shè)置為O。預(yù)定條件能夠包括下面所述。 首先,列表1方向的基準(zhǔn)畫面中具有最小基準(zhǔn)畫面索引的畫面應(yīng)該是短時(shí)期基準(zhǔn)畫面。其次,錨塊的基準(zhǔn)畫面的參考索引應(yīng)該被設(shè)置為O。第三,錨塊的運(yùn)動(dòng)矢量的水平分量和垂直分量中的每一個(gè)應(yīng)該等于或者小于士 1。因此,如果滿足所有預(yù)定條件,則確定其接近幾乎不具有運(yùn)動(dòng)的視頻。而且,當(dāng)前塊的運(yùn)動(dòng)矢量然后被設(shè)置為O。運(yùn)動(dòng)信息預(yù)測(cè)單元723能夠基于導(dǎo)出的第一和第二變量來(lái)預(yù)測(cè)當(dāng)前塊的運(yùn)動(dòng)信息。例如,如果第一變量被設(shè)置為1,則能夠?qū)?dāng)前塊的列表O或者列表1的運(yùn)動(dòng)矢量設(shè)置為O。如果第二變量被設(shè)置為1,則能夠?qū)?dāng)前塊的列表O或者列表1的運(yùn)動(dòng)矢量設(shè)置為O。 在該情況下,設(shè)置為O或者1僅是示例性的。而且,能夠?qū)⒌谝缓偷诙兞吭O(shè)置為另一預(yù)定值來(lái)使用。如果不滿足預(yù)定條件,則能夠從當(dāng)前畫面內(nèi)的相鄰塊的運(yùn)動(dòng)信息導(dǎo)出當(dāng)前塊的運(yùn)動(dòng)信息。例如,在運(yùn)動(dòng)矢量的情況下,可以等同地應(yīng)用跳過(guò)宏塊的運(yùn)動(dòng)矢量導(dǎo)出方法。能夠以下述方式找到當(dāng)前塊的基準(zhǔn)畫面索引計(jì)算位于左、上和右上側(cè)的運(yùn)動(dòng)矢量的基準(zhǔn)畫面索引中的最小值,并且然后將最小值設(shè)置給當(dāng)前塊的基準(zhǔn)畫面。如下地解釋指示是否以直接模式編碼當(dāng)前宏塊的方法。為此,應(yīng)當(dāng)理解,相同方法也可應(yīng)用于子宏塊。圖10是用于使用跳過(guò)模式或者直接模式指示信息解碼條帶數(shù)據(jù)的過(guò)程的框圖。參考圖10,能夠解析指示條帶內(nèi)的當(dāng)前宏塊是否是跳過(guò)宏塊的標(biāo)志信息 [S1000]。能夠從條帶層獲得該標(biāo)志信息。作為解析該標(biāo)志信息的結(jié)果,如果當(dāng)前宏塊是跳過(guò)宏塊[“是1”],則能夠在不解析運(yùn)動(dòng)信息和殘差數(shù)據(jù)的情況下執(zhí)行解碼[S1050]。然而, 如果當(dāng)前宏塊不是跳過(guò)宏塊[“否1”],則能夠解析當(dāng)前宏塊的塊類型[S1010]。能夠根據(jù)當(dāng)前宏塊的塊類型來(lái)針對(duì)當(dāng)前宏塊的每個(gè)分割解析跳過(guò)或者直接模式指示信息[S1020]。 在該情況下,跳過(guò)或者直接模式指示信息可以表示指示宏塊的分割是以跳過(guò)模式還是以直接模式編碼的信息。以下描述是基于當(dāng)前宏塊的大小為3h32的假設(shè)進(jìn)行的。首先,作為解析當(dāng)前宏塊類型信息的結(jié)果,如果當(dāng)前宏塊以畫面間預(yù)測(cè)模式被編碼并且當(dāng)前宏塊的分割為16x32,則將使用2比特作為跳過(guò)或者直接模式指示信息。如果宏塊的分割索引0以跳過(guò)或者直接模式被編碼,但是該宏塊的分割索引1沒有以跳過(guò)或者直接模式被編碼,則能夠獲得“10”作為跳過(guò)或者直接模式指示信息。在已經(jīng)解析了跳過(guò)或者直接模式指示信息之后,能夠解析CBP編碼塊樣式信息[S1030]。在該情況下,CBP信息能夠表示指示當(dāng)前塊是否包括殘差數(shù)據(jù)的信息。因此,通過(guò)解析CBP信息,能夠了解當(dāng)前塊的分割是以跳過(guò)模式編碼還是直接模式編碼。例如,作為解析關(guān)于當(dāng)前宏塊的分割的CBP信息的結(jié)果,如果獲得 “1”,則能夠認(rèn)為該分割以直接模式被編碼。基于該跳過(guò)或者直接模式指示信息,確定當(dāng)前宏塊的每個(gè)分割是以跳過(guò)模式編碼還是直接模式編碼。在該分割沒有被以跳過(guò)模式或者直接模式編碼[“否2”],則能夠通過(guò)解析運(yùn)動(dòng)信息和殘差數(shù)據(jù)來(lái)執(zhí)行解碼[S1040] [S1050]。 然而,在分割以跳過(guò)模式或者直接模式編碼的情況下[“是2”],將基于解析的CBP信息確定該分割是以跳過(guò)模式編碼還是直接模式編碼[S1060]。因此,在以跳過(guò)模式編碼的情況下 [“是3”],能夠在不解析運(yùn)動(dòng)信息等的情況下執(zhí)行解碼[S1040]。在以直接模式編碼的情況下[“否3”],在已經(jīng)解析了殘差數(shù)據(jù)[S1070]之后,能夠使用殘差數(shù)據(jù)執(zhí)行解碼[S1050]。 在以直接模式編碼的情況下,能夠以與以跳過(guò)模式編碼的情況相同的方式導(dǎo)出運(yùn)動(dòng)矢量。 如果條帶類型是P條帶以及B條帶,則能夠使用直接模式。如果條帶類型是B條帶,則宏塊類型信息能夠包括預(yù)測(cè)塊的大小信息、預(yù)測(cè)方向信息等。然而,如果指示了根據(jù)跳過(guò)或者直接模式指示信息來(lái)以跳過(guò)或直接模式來(lái)編碼當(dāng)前宏塊的分割,則導(dǎo)出該分割的運(yùn)動(dòng)矢量。因此,能夠?qū)С龇指畹念A(yù)測(cè)方向信息。在該情況下,能夠認(rèn)為宏塊類型信息包括不需要的預(yù)測(cè)方向信息。因此,通過(guò)新定義宏塊類型,希望使用上述跳過(guò)或者直接模式指示信息來(lái)高效地執(zhí)行條帶數(shù)據(jù)的解碼。例如,能夠?qū)條帶的宏塊類型設(shè)置為B_direct_32x32, B_32x32、B_32xl6、 B_16x32以及B_16xl6中的一個(gè)。然而,在宏塊類型被重置的情況下,確定圖10中的當(dāng)前宏塊的分割以跳過(guò)模式還是以直接模式編碼。如果以跳過(guò)模式或者直接模式編碼,則將以與上述相同的過(guò)程來(lái)執(zhí)行解碼。如果沒有以跳過(guò)模式或者直接模式編碼,則將從接收到的比特流以及運(yùn)動(dòng)信息和殘差數(shù)據(jù)解析關(guān)于宏塊的預(yù)測(cè)方向的信息。工業(yè)實(shí)用性
因此,本發(fā)明適用于視頻信號(hào)編碼/解碼。雖然已經(jīng)參考優(yōu)選示例性實(shí)施例在這里描述并且圖示了本發(fā)明,但是對(duì)于本領(lǐng)域技術(shù)人員來(lái)說(shuō)明顯的是,能夠在不偏離本發(fā)明的精神和范圍的情況下在其中進(jìn)行各種修改和變化。因此,本發(fā)明意在涵蓋落入所附權(quán)利要求及其等價(jià)物的范圍內(nèi)的本發(fā)明的修改和變化。
權(quán)利要求
1.一種處理視頻信號(hào)的方法,包括下述步驟根據(jù)當(dāng)前宏塊類型確定當(dāng)前宏塊的分割是否以跳過(guò)模式被編碼; 如果所述當(dāng)前宏塊的分割被以所述跳過(guò)模式被編碼,則導(dǎo)出所述分割的運(yùn)動(dòng)矢量;以及基于所述導(dǎo)出的運(yùn)動(dòng)矢量來(lái)預(yù)測(cè)所述分割的像素值。
2.根據(jù)權(quán)利要求1所述的方法,所述確定步驟進(jìn)一步包括步驟獲得所述當(dāng)前宏塊類型。
3.根據(jù)權(quán)利要求2所述的方法,進(jìn)一步包括步驟獲得關(guān)于所述當(dāng)前宏塊的分割的跳過(guò)模式指示信息。
4.根據(jù)權(quán)利要求3所述的方法,其中,基于根據(jù)當(dāng)前宏塊類型的預(yù)測(cè)宏塊的大小信息來(lái)獲得當(dāng)前宏塊的分割。
5.根據(jù)權(quán)利要求3所述的方法,其中,所述跳過(guò)模式指示信息包括指示所述當(dāng)前宏塊的分割是否以跳過(guò)模式編碼的信息。
6.根據(jù)權(quán)利要求1所述的方法,其中,從與所述當(dāng)前宏塊的分割相鄰的塊的運(yùn)動(dòng)矢量的中間值導(dǎo)出所述分割的運(yùn)動(dòng)矢量。
7.根據(jù)權(quán)利要求6所述的方法,其中,與當(dāng)前宏塊的分割相鄰的塊包括所述分割的左塊、上塊以及右上塊。
8.根據(jù)權(quán)利要求1所述的方法,其中,所述分割的像素值包括由所述運(yùn)動(dòng)矢量所參考的基準(zhǔn)塊的像素值。
全文摘要
公開了一種處理視頻信號(hào)的方法。本發(fā)明包括確定根據(jù)當(dāng)前宏塊類型的當(dāng)前宏塊的分割是否以跳過(guò)模式編碼;如果當(dāng)前宏塊的分割以跳過(guò)模式編碼,則導(dǎo)出該分割的運(yùn)動(dòng)矢量;以及基于導(dǎo)出的運(yùn)動(dòng)矢量來(lái)預(yù)測(cè)該分割的像素值。因此,本發(fā)明通過(guò)以小于宏塊的大小的塊單元來(lái)導(dǎo)出運(yùn)動(dòng)矢量來(lái)使用運(yùn)動(dòng)矢量獲得接近原始視頻的參考?jí)K的像素值,從而增強(qiáng)宏塊的重建比率。
文檔編號(hào)H04N7/32GK102210153SQ200980144471
公開日2011年10月5日 申請(qǐng)日期2009年10月6日 優(yōu)先權(quán)日2008年10月6日
發(fā)明者全柄文, 崔瑛喜, 樸俊永, 樸勝煜, 金鄭善 申請(qǐng)人:Lg電子株式會(huì)社