幀內(nèi)預(yù)測的方法和設(shè)備的制作方法
【專利摘要】按照本發(fā)明用于解碼圖像的方法包括步驟:接收和解碼用于指示要用作當(dāng)前塊的幀內(nèi)預(yù)測模式的MPM候選的MPM索引信息;產(chǎn)生包含用于當(dāng)前塊的多個MPM候選的MPM候選列表;將在構(gòu)建MPM候選列表的多個MPM候選當(dāng)中的由解碼的MPM索引信息指示的MPM候選確定為當(dāng)前塊的幀內(nèi)預(yù)測模式;以及通過基于確定的幀內(nèi)預(yù)測模式對當(dāng)前塊執(zhí)行幀內(nèi)預(yù)測,產(chǎn)生對應(yīng)于當(dāng)前塊的預(yù)測塊。
【專利說明】幀內(nèi)預(yù)測的方法和設(shè)備
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及視頻處理技術(shù),尤其是,涉及幀內(nèi)預(yù)測方法和設(shè)備。
【背景技術(shù)】
[0002]近年來,對于高分辨率和高質(zhì)量視頻,諸如高分辨率(HD)視頻和超高分辨率(UHD)視頻的需求已經(jīng)在各種應(yīng)用領(lǐng)域中增長。但是,由于視頻數(shù)據(jù)具有更高的分辨率和更高的質(zhì)量,要傳送的視頻的數(shù)據(jù)量或者比特速率增長超過現(xiàn)有的視頻數(shù)據(jù)。因此,當(dāng)視頻數(shù)據(jù)被使用介質(zhì),諸如現(xiàn)有的有線或者無線寬帶線路傳送,或者存儲在現(xiàn)有的存儲介質(zhì)中時,其傳送成本及存儲成本增加。能夠使用高效率的視頻壓縮技術(shù)來解決這樣的問題。
[0003]各種技術(shù),諸如從在當(dāng)前圖片之前或者之后的圖片預(yù)測包括在當(dāng)前圖片中的像素值的幀間預(yù)測方法,使用在當(dāng)前圖片中的像素信息預(yù)測包括在當(dāng)前圖片中像素值的幀內(nèi)預(yù)測方法,和將短的代碼字分配給高發(fā)生頻率的值,和將長的代碼字分配給低發(fā)生頻率的值的熵編碼技術(shù)被認(rèn)為視頻壓縮技術(shù)??梢允褂眠@樣的視頻壓縮技術(shù)有效地壓縮和傳送或者存儲視頻數(shù)據(jù)。
【發(fā)明內(nèi)容】
[0004]技術(shù)問題
[0005]本發(fā)明的一個目的是提供一種視頻編碼方法和視頻編碼器,其可以提高視頻編碼/解碼效率和降低復(fù)雜度。
[0006]本發(fā)明的另一個目的是提供一種視頻解碼方法和視頻解碼器,其可以提高視頻編碼/解碼效率和降低復(fù)雜度。
[0007]本發(fā)明的再一個目的是提供一種幀內(nèi)預(yù)測方法和幀內(nèi)預(yù)測設(shè)備,其可以提高視頻編碼/解碼效率和降低復(fù)雜度。
[0008]本發(fā)明的再一個目的是提供視頻信息發(fā)送方法和設(shè)備,其可以提高視頻編碼/解碼效率和降低復(fù)雜度。
[0009]本發(fā)明的再一目的是提供MPM候選列表構(gòu)建方法和設(shè)備,其可以提高視頻編碼/解碼效率和降低復(fù)雜度。
[0010]問題的解決方案
[0011]按照本發(fā)明的一個方面,提供了一種視頻解碼方法。該視頻編碼方法包括步驟:接收和解碼指示要用作當(dāng)前塊的幀內(nèi)預(yù)測模式的最可能模式(MPM)候選的MPM索引信息;構(gòu)建包括用于當(dāng)前塊的多個MPM候選的MPM候選列表;將在構(gòu)建MPM候選列表的多個MPM候選當(dāng)中的由解碼的MPM索引信息指示的MPM候選確定為當(dāng)前塊的幀內(nèi)預(yù)測模式;以及通過基于確定的幀內(nèi)預(yù)測模式對當(dāng)前塊執(zhí)行幀內(nèi)預(yù)測,構(gòu)建對應(yīng)于當(dāng)前塊的預(yù)測塊。在這里,構(gòu)建MPM候選列表包括:確定與相鄰于當(dāng)前塊的左側(cè)的重建的第一塊相對應(yīng)的第一MPM候選,和與相鄰于當(dāng)前塊的上側(cè)的重建的第二塊相對應(yīng)的第二 MPM候選,以及將第一 MPM候選和第二 MPM候選的至少一個設(shè)置到在MPM候選列表中的預(yù)先確定的固定位置。[0012]構(gòu)建MPM候選列表可以包括將第一 MPM候選確定為第一塊的巾貞內(nèi)預(yù)測模式,和將第二 MPM候選確定為第二塊的幀內(nèi)預(yù)測模式。
[0013]構(gòu)建MPM候選列表可以包括當(dāng)?shù)谝粔K是不可用時,將第一 MPM候選確定為DC模式,并且當(dāng)?shù)诙K是不可用時,將第二 MPM候選確定為DC模式。
[0014]構(gòu)建MPM候選列表可以包括當(dāng)?shù)谝?MPM候選和第二 MPM候選彼此相同時,將第一MPM候選設(shè)置到在MPM候選列表中的第一位置,并且將第二 MPM候選設(shè)置到在MPM候選列表中的第二位置。
[0015]索引值O可以被分配給在MPM候選列表中被設(shè)置到第一位置的第一 MPM候選,并且索引值I可以被分配給在MPM候選列表中被設(shè)置到第二位置的第二 MPM候選。
[0016]MPM候選列表可以包括三個MPM候選。
[0017]構(gòu)建MPM候選列表可以包括:當(dāng)?shù)谝?MPM候選和第二 MPM候選的任何一個不是平面模式時,將平面模式作為第三MPM候選設(shè)置到在MPM候選列表中的第三位置,當(dāng)?shù)谝?MPM候選和第二 MPM候選的一個是平面模式,并且第一 MPM候選和第二 MPM候選的任何一個不是DC模式時,將DC模式作為第三MPM候選設(shè)置到在MPM候選列表中的第三位置,以及當(dāng)?shù)谝?MPM候選和第二 MPM候選的一個是平面模式,并且另一個是DC模式時,將垂直模式作為第三MPM候選設(shè)置到在MPM候選列表中的第三位置。
[0018]索引值2可以被分配給在MPM候選列表中被設(shè)置到第三位置的第三MPM候選。
[0019]按照本發(fā)明的另一個方面,提供了一種視頻解碼器。該視頻解碼器包括:熵解碼模塊,該熵解碼模塊接收和解碼指示要用作當(dāng)前塊的幀內(nèi)預(yù)測模式的最可能模式(MPM)候選的MPM索引信息;幀內(nèi)預(yù)測模式確定模塊,該幀內(nèi)預(yù)測模式確定模塊構(gòu)建包括用于當(dāng)前塊的多個MPM候選的MPM候選列表,并且將在構(gòu)建MPM候選列表的多個MPM候選當(dāng)中的由解碼的MPM索引信息指示的MPM候選確定為當(dāng)前塊的幀內(nèi)預(yù)測模式;和預(yù)測塊構(gòu)建模塊,該預(yù)測塊構(gòu)建模塊通過基于確定的幀內(nèi)預(yù)測模式對當(dāng)前塊執(zhí)行幀內(nèi)預(yù)測,構(gòu)建與當(dāng)前塊相對應(yīng)的預(yù)測塊。在這里,幀內(nèi)預(yù)測模式確定模塊確定與相鄰于當(dāng)前塊的左側(cè)的重建的第一塊相對應(yīng)的第一 MPM候選,和與相鄰于當(dāng)前塊的上側(cè)的重建的第二塊相對應(yīng)的第二 MPM候選,以及將第一 MPM候選和第二 MPM候選的至少一個設(shè)置到在MPM候選列表中的預(yù)先確定的固定位置。
[0020]幀內(nèi)預(yù)測模式確定模塊可以將第一 MPM候選確定為第一塊的幀內(nèi)預(yù)測模式,和可以將第二 MPM候選確定為第二塊的幀內(nèi)預(yù)測模式。
[0021]幀內(nèi)預(yù)測模式確定模塊可以確定當(dāng)?shù)谝粔K是不可用時,第一 MPM候選為DC模式,并且可以確定當(dāng)?shù)诙K是不可用時,第二 MPM候選為DC模式。
[0022]當(dāng)?shù)谝?MPM候選和第二 MPM候選彼此不相同時,幀內(nèi)預(yù)測模式確定模塊可以將第一 MPM候選設(shè)置到在MPM候選列表中的第一位置,并且可以將第二 MPM候選設(shè)置到在MPM候選列表中的第二位置。
[0023]索引值O可以被分配給在MPM候選列表中被設(shè)置到第一位置的第一 MPM候選,并且索引值I可以被分配給在MPM候選列表中被設(shè)置到第二位置的第二 MPM候選。
[0024]MPM候選列表可以包括三個MPM候選。
[0025]當(dāng)?shù)谝?MPM候選和第二 MPM候選的任何一個不是平面模式時,幀內(nèi)預(yù)測模式確定模塊可以將平面模式作為第三MPM候選設(shè)置到在MPM候選列表中的第三位置,當(dāng)?shù)谝?MPM候選和第二 MPM候選的一個是平面模式,并且第一 MPM候選和第二 MPM候選的任何一個不是DC模式時,幀內(nèi)預(yù)測模式確定模塊可以將DC模式作為第三MPM候選設(shè)置到在MPM候選列表中的第三位置,以及當(dāng)?shù)谝籑PM候選和第二MPM候選的一個是平面模式,并且另一個是DC模式時,可以將垂直模式作為第三MPM候選設(shè)置到在MPM候選列表中的第三位置。
[0026]索引值2可以被分配給在MPM候選列表中被設(shè)置到第三位置的第三MPM候選。
[0027]有益效果
[0028]通過采用按照本發(fā)明的視頻編碼方法,可以提高視頻編碼/解碼效率和降低復(fù)雜度。
[0029]通過采用按照本發(fā)明的視頻解碼方法,可以提高視頻編碼/解碼效率和降低復(fù)雜度。
[0030]通過采用按照本發(fā)明的幀內(nèi)預(yù)測方法,可以提高視頻編碼/解碼效率和降低復(fù)雜度。
[0031]通過采用按照本發(fā)明的視頻信息發(fā)送方法,可以提高視頻編碼/解碼效率和降低復(fù)雜度。
[0032]通過采用按照本發(fā)明的MPM候選列表構(gòu)建方法,可以提高視頻編碼/解碼效率和降低復(fù)雜度。
【專利附圖】
【附圖說明】
[0033]圖1是按照本發(fā)明的實施例示意地圖示視頻編碼器的方框圖。
[0034]圖2是按照本發(fā)明的實施例示意地圖示視頻解碼器的方框圖。
[0035]圖3是示意地圖示在本發(fā)明被應(yīng)用到的系統(tǒng)中的處理單元的四樹結(jié)構(gòu)的示例的示意圖。
[0036]圖4是示意地圖示用于幀內(nèi)預(yù)測的幀內(nèi)預(yù)測模式的預(yù)測方向和分配給預(yù)測方向的預(yù)測模式編號的示例的示意圖。
[0037]圖5是按照本發(fā)明示意地圖示幀內(nèi)預(yù)測模式信息發(fā)送方法的示例的流程圖。
[0038]圖6是按照本發(fā)明示意地圖示幀內(nèi)預(yù)測方法的示例的流程圖。
[0039]圖7是圖示確定MPM候選和構(gòu)建MPM候選列表過程的示例的示意圖。
[0040]圖8是按照本發(fā)明示意地圖示發(fā)送幀內(nèi)預(yù)測模式信息的視頻編碼器的示例的方框圖。
[0041]圖9是按照本發(fā)明示意地圖示執(zhí)行幀內(nèi)預(yù)測的視頻解碼器的示例的方框圖?!揪唧w實施方式】
[0042]本發(fā)明可以以各種形式被不同地修改,并且可以具有各種實施例,并且將在該附圖中圖示和詳細(xì)描述其特定的實施例。但是,這些實施例不意欲限制本發(fā)明。在以下的描述中使用的術(shù)語僅用于描述特定的實施例,但是,不意欲用于限制本發(fā)明的技術(shù)精神。單數(shù)的表示包括多數(shù)表示,只要其明顯地讀起來不同。在本說明書中,該術(shù)語,諸如“包括”和“具有”意欲用于表示存在在以下的描述中使用的特點、數(shù)目、步驟、操作、元件、組件,或者其組合,并且因此,應(yīng)該理解,不排除存在或者增加一個或多個不同的特點、數(shù)目、步驟、操作、元件、組件,或者其組合的可能性。[0043]另一方面,在本發(fā)明中描述的附圖的元件,在圖像編碼器和圖像解碼器中,為解釋不同的特定功能的便利目的獨立地繪制,并且不意味元件由單獨的硬件或者單獨的軟件實施。例如,在元件當(dāng)中的兩個或更多個元件可以被組合以形成單個元件,或者一個元件可以分成多個元件。不脫離本發(fā)明的概念,元件被組合和/或分割的實施例屬于本發(fā)明的范圍。
[0044]在下文中,將參考伴隨的附圖詳細(xì)描述本發(fā)明示例性實施例。在附圖中相同的元件將由相同的附圖標(biāo)記引用,并且相同的元件的描述不會被重復(fù)。
[0045]圖1是按照本發(fā)明的實施例示意地圖示視頻編碼器的方框圖。參考圖1,視頻編碼器100包括圖片分割模塊105、預(yù)測模塊110、變換模塊115、量化模塊120、重新排序模塊125、熵編碼模塊130、去量化模塊135、逆變換模塊140、濾波器模塊145,和存儲器150。
[0046]圖片分割模塊105可以將輸入圖像分割為至少一個處理單元塊。在這里,作為處理單元的塊可以是預(yù)測單元(在下文中,稱為“PU”),變換單元(在下文中,稱為“TU”),或者編碼單元(在下文中,稱為“CU”)。
[0047]預(yù)測模塊110包括執(zhí)行幀間預(yù)測的幀間預(yù)測模塊,和執(zhí)行幀內(nèi)預(yù)測的幀內(nèi)預(yù)測模塊。預(yù)測模塊110可以對由圖片分割模塊105分割的圖片的處理單元執(zhí)行預(yù)測以構(gòu)建預(yù)測塊。在預(yù)測模塊Iio中的圖片的處理單元可以是⑶、TU或者PU。預(yù)測模塊110可以確定對相應(yīng)的處理單元執(zhí)行的預(yù)測是幀間預(yù)測還是幀內(nèi)預(yù)測,并且可以確定預(yù)測方法的特定細(xì)節(jié)(例如,預(yù)測模式)。經(jīng)歷預(yù)測的處理單元可以不同于確定預(yù)測方法和特定細(xì)節(jié)的處理單元。例如,可以在CU或者PU單元中確定預(yù)測方法和預(yù)測模式,并且可以在TU單元中執(zhí)行預(yù)測。
[0048]在幀間預(yù)測中,可以基于有關(guān)當(dāng)前圖片的先前圖片和/或后續(xù)圖片的至少一個的信息執(zhí)行預(yù)測以構(gòu)建預(yù)測的塊。在幀內(nèi)預(yù)測中,可以基于當(dāng)前圖片的像素信息執(zhí)行預(yù)測以構(gòu)建預(yù)測的塊。
[0049]跳躍模式、合并模式、運動矢量預(yù)測(MVP)等可以用作幀內(nèi)預(yù)測方法。在幀間預(yù)測中,參考圖片可以選擇用于PU,并且可以選擇具有與相同的大小的參考塊。參考塊可以以整數(shù)像素為單位選擇。預(yù)測的塊可以被構(gòu)建,使得來自當(dāng)前PU的殘留信號被最小化,并且運動矢量的幅值被最小化。
[0050]預(yù)測的塊可以以整數(shù)像素采樣為單位,或者以小于整數(shù)像素的像素采樣,諸如1/2像素采樣和1/4像素采樣為單位構(gòu)建。在這里,運動矢量也可以以小于整數(shù)像素的像素采樣為單位表示。例如,亮度像素可以以1/4像素為單位表示,并且色度像素可以以1/8像素為單位表示。
[0051]諸如經(jīng)由幀間預(yù)測選擇的參考圖片的索引、運動矢量(例如,運動矢量預(yù)測值),和殘留信號的信息,可以被熵編碼,并且被發(fā)送給視頻解碼器。當(dāng)使用跳躍模式時,預(yù)測的塊可以用作重建的塊,并且因此,殘留信號不能被創(chuàng)建、轉(zhuǎn)換、量化和發(fā)送。
[0052]當(dāng)執(zhí)行幀內(nèi)預(yù)測時,預(yù)測模式可以在I3U的單元中確定,并且可以在I3U的單元中執(zhí)行預(yù)測。做為選擇,預(yù)測模式可以在PU的單元中確定,并且可以在TU的單元中執(zhí)行幀內(nèi)預(yù)測。
[0053]在幀內(nèi)預(yù)測中,預(yù)測模塊110可以確定PU的幀內(nèi)預(yù)測模式,并且可以基于確定的幀內(nèi)預(yù)測模式執(zhí)行預(yù)測。在幀內(nèi)預(yù)測中,預(yù)測模式可以包括33個方向的預(yù)測模式,和至少2個無方向的模式。無方向的模式可以包括DC預(yù)測模式和平面模式。[0054]在幀內(nèi)預(yù)測中,在濾波器應(yīng)用于參考采樣之后,可以構(gòu)建預(yù)測的塊。此時,取決于當(dāng)前塊的幀內(nèi)預(yù)測模式和/或當(dāng)前塊的大小,可以確定是否將濾波器應(yīng)用于參考采樣。
[0055]有關(guān)經(jīng)由幀內(nèi)預(yù)測選擇的幀內(nèi)預(yù)測模式的信息可以被熵編碼,并且被發(fā)送給視頻解碼器。
[0056]可以是具有各種大小/形狀的塊。例如,在幀間預(yù)測的情況下,PU可以是2NX2N|fe、2NXN±夾、NX2N塊或者NXN塊(這里N是整數(shù))。在幀內(nèi)預(yù)測的情況下,PU可以是2NX2N塊或者NXN塊(這里N是整數(shù))。具有NXN塊大小的PU可以被設(shè)置為僅在特定的情形下使用。例如,具有NXN塊大小的I3U可以被設(shè)置為僅供具有最小大小的CU使用,或者可以被設(shè)置為僅供幀內(nèi)預(yù)測使用。除了以上提及的大小之外,可以另外定義和使用諸如 NXmN 塊、mNXN 塊、2NXmN 塊,和 mNX2N 塊(這里 m〈l)的 PU。
[0057]在構(gòu)建的預(yù)測塊和初始塊之間的殘留值(殘留塊或者殘留信號)可以輸入給變換模塊115。用于預(yù)測的預(yù)測模式信息、運動矢量信息等可以通過熵編碼模塊130與殘留值一起編碼,并且可以發(fā)送給視頻解碼器。
[0058]變換模塊115可以由變換單元對殘留塊執(zhí)行變換操作,并且創(chuàng)建變換系數(shù)。在變換模塊115中的變換單元可以是TU,并且可以具有四樹結(jié)構(gòu)。變換單元的大小可以在預(yù)先確定的最大和最小大小的范圍內(nèi)確定。變換模塊115可以使用離散余弦變換(DCT)和/或離散正弦變換(DST)變換殘留塊。
[0059]量化模塊120可以量化由變換模塊115變換的殘留值,并且可以創(chuàng)建量化系數(shù)。由量化模塊120計算的值可以被提供給去量化模塊135和重新排序模塊125。
[0060]重新排序模塊125可以重新排序從量化模塊120提供的量化系數(shù)。通過重新排序該量化系數(shù),可以提高在熵編碼模塊130中的編碼效率。重新排序模塊125可以通過使用系數(shù)掃描方法以二維塊的形式到一維矢量的形式重新排序量化系數(shù)。重新排序模塊125可以基于從量化模塊發(fā)送的系數(shù)的隨機(jī)統(tǒng)計,通過改變系數(shù)掃描順序提高在熵編碼模塊130中的熵編碼效率。
[0061]熵編碼模塊130可以對通過重新排序模塊125重新排序的量化系數(shù)執(zhí)行熵編碼操作。熵編碼方法的示例包括指數(shù)golomb方法、CAVLC(上下文自適應(yīng)的可變長度編碼)方法,和CABAC (上下文自適應(yīng)的二進(jìn)制運算編碼)方法。熵編碼模塊130可以編碼各種信息,諸如從重新排序模塊125和預(yù)測模塊110發(fā)送的⑶的量化系數(shù)信息和塊類型信息、預(yù)測模式信息、分割單元信息、PU信息、傳送單元信息、運動矢量信息、參考圖片信息、塊內(nèi)插信息,和濾波信息。
[0062]熵編碼模塊130根據(jù)需要可以將預(yù)先確定的變化賦予給要發(fā)送的參數(shù)集或者語法。
[0063]當(dāng)執(zhí)行熵編碼時,低索引值和與其對應(yīng)的短的代碼字可以分配給高發(fā)生頻率的符號,并且高索引值和與其對應(yīng)的長的代碼字可以分配給低發(fā)生頻率的符號。因此,可以降低用于要編碼的符號的比特數(shù),并且通過熵編碼改善視頻壓縮性能。
[0064]去量化模塊135去量化由量化模塊120量化的值。逆變換模塊140反向地變換由去量化模塊135去量化的值。由去量化模塊135和逆變換模塊140創(chuàng)建的殘留值可以與由預(yù)測模塊110預(yù)測的預(yù)測的塊合并以構(gòu)建重建的塊。
[0065]圖1圖示殘留塊和預(yù)測的塊通過加法器相加以構(gòu)建重建的塊。在這里,加法器可以被認(rèn)為是構(gòu)建重建的塊的特定的模塊(重建的塊構(gòu)建模塊)。
[0066]濾波器模塊145可以將去塊濾波器、采樣自適應(yīng)的偏移(SAO)和/或自適應(yīng)循環(huán)濾波器(ALF)應(yīng)用于重建的圖片。
[0067]去塊濾波可以在重建的圖片中除去在塊之間的邊界處產(chǎn)生的塊失真。SAO可以從原始視頻中以像素為單位重建已經(jīng)經(jīng)歷去塊濾波器的殘留塊的偏移差,并且可以以頻帶偏移和邊緣偏移的形式應(yīng)用。ALF可以基于將原始圖片與重建的圖片(其塊已經(jīng)由去塊濾波器和/或SAO濾波)比較的結(jié)果值執(zhí)行濾波。只有當(dāng)需要高效率時可以使用ALF。
[0068]另一方面,濾波器模塊145可以不必對在幀間預(yù)測中使用的重建的塊執(zhí)行濾波。
[0069]存儲器150可以存儲重建的塊或者由濾波器模塊145計算的圖片。存儲在存儲器150中的重建的塊或者圖片可以被提供給執(zhí)行幀間預(yù)測的預(yù)測模塊110。
[0070]圖2是按照本發(fā)明的實施例示意地圖示視頻解碼器的方框圖。參考圖2,視頻解碼器200可以包括熵解碼模塊210、重新排序模塊215、去量化模塊220、逆變換模塊225、預(yù)測模塊230、濾波器模塊235,和存儲器240。
[0071]當(dāng)從編碼器輸入視頻比特流時,可以基于視頻信息由視頻編碼器處理的順序解碼該輸入的比特流。
[0072]例如,當(dāng)視頻編碼器使用可變長度編碼(在下文中,稱為“VLC”)方法,諸如CAVLC方法去執(zhí)行熵編碼操作時,熵解碼模塊210可以實現(xiàn)與在視頻編碼器中使用的VLC表相同的VLC表,并且可以執(zhí)行熵解碼操作。當(dāng)視頻編碼器使用CABAC方法去執(zhí)行熵編碼處理時,熵解碼模塊210可以使用對應(yīng)于其的CABAC方法執(zhí)行熵解碼操作。
[0073]在由熵解碼模塊210解碼的信息當(dāng)中的用于構(gòu)建預(yù)的測塊的信息可以提供給預(yù)測模塊230,并且由熵解碼模塊210熵解碼的殘留值可以輸入給重新排序模塊215。
[0074]重新排序模塊215可以基于在視頻編碼器中使用的重新排序方法重新排序由熵解碼模塊210熵解碼的比特流。重新排序模塊215可以將以一維矢量的形式表示的系數(shù)重建和重新排序為以二維塊的形式的系數(shù)。重新排序模塊215可以提供有與由視頻編碼器執(zhí)行的系數(shù)掃描有關(guān)的信息,并且可以基于由視頻編碼器執(zhí)行的掃描的掃描順序使用反向地掃描系數(shù)的方法執(zhí)行重新排序。
[0075]去量化模塊220可以基于從視頻編碼器提供的量化參數(shù)和重新排序的塊的系數(shù)值執(zhí)行去量化。
[0076]逆變換模塊225可以對來自視頻編碼器的量化結(jié)果執(zhí)行已經(jīng)由視頻編碼器的變換模塊執(zhí)行的DCT和/或DST的反DCT和/或反DST。該逆變換可以基于由視頻編碼器確定的圖片的傳輸單元或者分割單元執(zhí)行。該視頻編碼器的變換模塊可以取決于多條信息,諸如預(yù)測方法、當(dāng)前塊的大小,和預(yù)測方向有選擇地執(zhí)行DCT和/或DST,并且該視頻解碼器的逆變換模塊225可以基于有關(guān)由視頻編碼器的變換模塊執(zhí)行的變換的變換信息執(zhí)行逆變換。
[0077]預(yù)測模塊230可以基于從熵解碼模塊210提供的預(yù)測塊結(jié)構(gòu)信息,和從存儲器240提供的預(yù)先地解碼的塊和/或圖片信息構(gòu)建預(yù)測的塊。
[0078]當(dāng)當(dāng)前CU和/或PU的預(yù)測模式是幀內(nèi)預(yù)測模式時,預(yù)測模塊230可以基于當(dāng)前圖片的像素信息執(zhí)行構(gòu)建預(yù)測的塊的幀內(nèi)預(yù)測。此時,預(yù)測模塊230可以確定PU的幀內(nèi)預(yù)測模式,并且可以基于確定的幀內(nèi)預(yù)測模式執(zhí)行預(yù)測。在這里,當(dāng)從視頻編碼器接收的幀內(nèi)預(yù)測模式相關(guān)的信息被確認(rèn)時,該幀內(nèi)預(yù)測模式可以被導(dǎo)出以對應(yīng)于幀內(nèi)預(yù)測模式相關(guān)的信息。
[0079]當(dāng)用于當(dāng)前CU和/或PU的預(yù)測模式是幀間預(yù)測模式時,預(yù)測模塊230可以基于包括在當(dāng)前圖片的先前圖片和后續(xù)圖片的至少一個中的信息,對當(dāng)前PU執(zhí)行幀間預(yù)測。此時,用于當(dāng)前PU的幀間預(yù)測的運動信息,例如,從視頻編碼器提供的有關(guān)運動矢量和參考圖片索引的信息可以從視頻編碼器接收的跳越標(biāo)記、合并標(biāo)記等導(dǎo)出。
[0080]重建的塊可以使用由預(yù)測模塊230構(gòu)建的預(yù)測塊和從逆變換模塊225提供的殘留塊構(gòu)建。圖2圖示殘留塊和預(yù)測塊通過加法器相加以構(gòu)建重建的塊。在這里,加法器可以被認(rèn)為是構(gòu)建重建的塊的特定的模塊(重建的塊構(gòu)建模塊)。
[0081]當(dāng)使用跳躍模式時,不能被發(fā)送殘留信號,并且預(yù)測的塊可以被用作重建的塊。
[0082]可以將重建的塊和/或圖片提供給濾波器模塊235。濾波器模塊235可以對重建的塊和/或圖片執(zhí)行去塊濾波、SAO操作和/或ALF操作。
[0083]存儲器240可以存儲供作為參考圖片或者參考塊使用的重建的圖片或者塊,并且可以將重建的圖片提供給輸出模塊。
[0084]在以下的描述中,當(dāng)前塊可以是當(dāng)前經(jīng)歷編碼、解碼和/或預(yù)測的塊,并且可以是當(dāng)執(zhí)行編碼、解碼和/或預(yù)測時對應(yīng)于處理單元的塊。例如,當(dāng)對當(dāng)前塊執(zhí)行預(yù)測時,當(dāng)前塊可以是對應(yīng)于當(dāng)前預(yù)測單元的預(yù)測目標(biāo)塊。在以下的描述中,經(jīng)由預(yù)測構(gòu)建的塊稱為預(yù)測的塊。
[0085]“單元”指的是當(dāng)執(zhí)行編碼、解碼和/或預(yù)測時的處理單元,并且可以不同于指示一組像素和/或采樣的“塊”。在以下的描述中,為了解釋便利的目的,“單元”可以指的是對應(yīng)于“單元”的“塊”。例如,在以下的描述中,對應(yīng)于一個預(yù)測單元的預(yù)測目標(biāo)塊可以稱為預(yù)測單元,對應(yīng)一個編碼單元的編碼/解碼目標(biāo)塊可以稱為編譯單元。這種區(qū)別對于本領(lǐng)域技術(shù)人員來說是顯而易見的。
[0086]圖3是示意地圖示在本發(fā)明并應(yīng)用到的系統(tǒng)中的處理單元的四樹結(jié)構(gòu)的示例的示意圖。
[0087]編譯單元(CU)可以指的是圖片經(jīng)歷編碼/解碼的單元。在編譯目標(biāo)圖片中的一個編譯塊可以基于四樹結(jié)構(gòu)具有深度,并且可以被重復(fù)地劃分。不再劃分的編譯塊可以是編譯單元,并且該視頻編碼器可以對編譯單元執(zhí)行編碼操作。該編譯單元可以具有各種大小,諸如 64X64,32X32,16X16 和 8X8。
[0088]在這里,基于四樹結(jié)構(gòu)重復(fù)地劃分的編譯塊可以稱為編譯樹塊(CTB)。一個編譯樹塊可以不被另外劃分。在這種情況下,編譯樹塊本身可以是一個編譯單元。因此,編譯樹塊可以對應(yīng)于最大的編譯單元(LCU),LCU是具有最大大小的編譯單元。另一方面,在編譯樹塊中具有最小大小的編譯單元可以稱為最小的編譯單元(SCU)。
[0089]參考圖3,編譯樹塊300可以具有包括經(jīng)由劃分的較小的編譯單元310的分層結(jié)構(gòu),并且編譯樹塊300的分層結(jié)構(gòu)可以基于大小信息、深度信息、劃分標(biāo)記信息等指定。編譯樹塊的大小信息、劃分深度信息和劃分標(biāo)記信息可以在它們被包括在序列參數(shù)集(SPS)的狀態(tài)下,以比特流從視頻編碼器發(fā)送給視頻解碼器。
[0090]另一方面,可以確定將以編譯單元為單位執(zhí)行幀間預(yù)測和幀內(nèi)預(yù)測的哪個。當(dāng)執(zhí)行幀間預(yù)測時,幀間預(yù)測模式和運動信息可以由預(yù)測單元確定。當(dāng)執(zhí)行幀內(nèi)預(yù)測時,幀內(nèi)預(yù)測模式可以由預(yù)測單元確定。此時,如上所述,通過其執(zhí)行預(yù)測的處理單元,和通過其確定預(yù)測方法和特定細(xì)節(jié)的處理單元可以彼此相同或者不同。例如,預(yù)測方法和預(yù)測模式可以以預(yù)測單元為單位確定,并且可以以變換單元為單位執(zhí)行預(yù)測。
[0091]參考圖3,一個編碼單元310可以用作一個預(yù)測單元,或者可以被劃分為多個預(yù)測單元。在幀內(nèi)預(yù)測320的情況下,編譯單元(和/或預(yù)測單元)的劃分模式可以是2NX2N或者NXN(這里N是整數(shù))。在幀間預(yù)測330的情況下,編譯單元(和/或預(yù)測單元)的劃分模式可以是 2NX2N、2NXN、NX2N、NXN、2NXnU、2NXnD、nLX2N 或者 nRX2N(這里 N 是整數(shù))。劃分模式是一個示例,并且將編譯單元劃分為預(yù)測單元的方法不局限于該示例。例如,僅2NX2N、2NXN、NX 2N、NXN的四種類型可以在幀間預(yù)測330中用作編譯單元(和/或預(yù)測單元)的劃分模式,或者可以另外使用除了八種類型的劃分模式之外的另一劃分模式。
[0092]另一方面,如上參考圖1和2所述,在幀內(nèi)模式的情況下,預(yù)測模塊可以基于在當(dāng)前圖片的重建區(qū)中的像素信息執(zhí)行預(yù)測,并且可以構(gòu)建當(dāng)前塊的預(yù)測的塊。例如,預(yù)測模塊可以使用在位于當(dāng)前塊的上側(cè)、左側(cè)、左上側(cè),和/或右上側(cè)上的重建塊中的像素預(yù)測在當(dāng)前塊中的像素值。
[0093]圖4是示意地圖示用于幀內(nèi)預(yù)測的幀內(nèi)預(yù)測模式的預(yù)測方向和分配給預(yù)測方向的預(yù)測模式編號的示例的示意圖。
[0094]可以基于當(dāng)前塊的幀內(nèi)預(yù)測模式執(zhí)行幀內(nèi)預(yù)測。用于幀內(nèi)預(yù)測的各自的幀內(nèi)預(yù)測模式可以具有預(yù)先確定的角度和/或預(yù)測方向,并且預(yù)先確定的預(yù)測模式編號可以被分配給每個幀內(nèi)預(yù)測模式。幀內(nèi)預(yù)測模式的示例可以取決于用于當(dāng)前塊的預(yù)測像素值的參考像素的位置和/或預(yù)測方法,包括包含垂直模式和水平模式的角度模式、DC模式和平面模式。
[0095]例如,參考在圖4中的410,分配給平面模式的預(yù)測模式編號可以是0,并且分配給DC模式的預(yù)測模式編號可以是3。分配給垂直模式的預(yù)測模式編號可以是1,并且分配給水平模式的預(yù)測模式編號可以是2。取決于幀內(nèi)預(yù)測模式的角度和/或預(yù)測方向,除垂直模式和水平模式以外的其它的預(yù)測模式編號可以分別地分配給角度模式。
[0096]例如,參考在圖4中的420,分配給平面模式的預(yù)測模式編號可以是0,并且分配給DC模式的預(yù)測模式編號可以是I。分配給垂直模式的預(yù)測模式編號可以是26,并且分配給水平模式的預(yù)測模式編號可以是10。取決于幀內(nèi)預(yù)測模式的角度和/或預(yù)測方向,其它的預(yù)測模式編號可以分別地分配給除垂直模式和水平模式以外的角度模式。
[0097]在垂直模式中,在垂直方向上使用在相鄰于當(dāng)前塊的塊中的像素值執(zhí)行預(yù)測。在水平模式中,在水平方向上使用在相鄰于當(dāng)前塊的塊中的像素值執(zhí)行預(yù)測。在DC模式中,固定值可以用作在當(dāng)前塊中的像素的預(yù)測值。在這里,例如,固定值可以通過對當(dāng)前塊的鄰近像素值取平均推導(dǎo)。在平面模式中,位于當(dāng)前塊中的預(yù)測目標(biāo)像素的預(yù)測值可以基于當(dāng)前塊的多個鄰近像素的像素值經(jīng)由預(yù)先確定的計算推導(dǎo)。此時,用于預(yù)測預(yù)測目標(biāo)像素的多個像素可以取決于預(yù)測目標(biāo)像素的位置被不同地確定。在除垂直模式和水平模式以外的其它角度模式中,可以取決于對于每個模式確定的角度和/或方向執(zhí)行預(yù)測。
[0098]預(yù)測模塊可以使用如在圖4的410和420中圖示的預(yù)先確定的預(yù)測方向和預(yù)先確定的預(yù)測模式編號。例如,可用于當(dāng)前塊的幀內(nèi)預(yù)測模式的編號可以取決于當(dāng)前塊的大小變化。例如,可用于當(dāng)前塊的幀內(nèi)預(yù)測模式的編號可以是預(yù)先確定的固定值。例如,可用于當(dāng)前塊的幀內(nèi)預(yù)測模式的編號可以是35個。35個幀內(nèi)預(yù)測模式可以包括平面模式、DC模式和角度模式(這里角度模式可以包括垂直模式和水平模式)。
[0099]幀內(nèi)預(yù)測模式的預(yù)測方向和分配給幀內(nèi)預(yù)測模式的預(yù)測模式編號不局限于以上提及的示例,并且根據(jù)需要,可以被確定為不同于圖4的410和420。在以下的描述中,為了解釋便利的目的,假設(shè)幀內(nèi)預(yù)測基于具有在圖4的410中圖示的預(yù)測方向和預(yù)測模式編號的幀內(nèi)預(yù)測模式執(zhí)行,只要其被不同地提及。但是,本發(fā)明不局限于這種假設(shè),并且當(dāng)以不同的方式確定預(yù)測方向和預(yù)測模式編號時,可以應(yīng)用在圖4的420中圖示的幀內(nèi)預(yù)測模式,或者相同或者類似的方法。
[0100]在以下的描述中,為了解釋便利的目的,預(yù)測模式編號可以稱為模式編號或者模式值。
[0101]如上所述,在確定幀內(nèi)預(yù)測模式之后,視頻編碼器可以對有關(guān)確定的幀內(nèi)預(yù)測模式的信息進(jìn)行編碼,并且可以將編碼的信息發(fā)送給視頻解碼器。有關(guān)幀內(nèi)預(yù)測模式的信息可以作為本身指示預(yù)測模式的值發(fā)送,或者可以使用基于對于幀內(nèi)預(yù)測模式預(yù)測的模式值發(fā)送幀內(nèi)預(yù)測模式信息的方法,以便改善傳輸效率。在以下的描述中,用作當(dāng)前塊的幀內(nèi)預(yù)測模式的預(yù)測值的預(yù)測模式稱為最可能模式(MPM)。
[0102]圖5是按照本發(fā)明示意地圖示幀內(nèi)預(yù)測模式信息發(fā)送方法示例的流程圖。
[0103]參考圖5,視頻編碼器可以構(gòu)建MPM候選列表(S510)。構(gòu)建MPM候選列表的過程可以由在圖1圖示的視頻編碼器的預(yù)測模塊執(zhí)行。
[0104]MPM候選列表可以包括多個MPM候選。也就是說,視頻編碼器可以基于相鄰于當(dāng)前塊的多個鄰近塊的幀內(nèi)預(yù)測模式推導(dǎo)多個MPM候選,并且可以將MPM候選分配給MPM候選列表。此時,視頻編碼器可以將鄰近塊的幀內(nèi)預(yù)測模式本身作為與鄰近塊相對應(yīng)的MPM候選使用,或者可以將取決于預(yù)先確定的條件確定的特定的幀內(nèi)預(yù)測模式作為與鄰近塊相對應(yīng)的MPM候選使用。
[0105]例如,當(dāng)前塊和鄰近塊可以是對應(yīng)于PU的塊。
[0106]可以將MPM索引值分配給構(gòu)建MPM候選列表的多個MPM候選。例如,索引值O可以被分配給在MPM候選列表中的第一 MPM候選。索引值I可以被分配給在MPM候選列表中的第二 MPM候選。類似地,索引值η-1可以被分配給在MPM候選列表中的第η個MPM候選(這里η是自然數(shù))。
[0107]在這里,“第η個MPM候選”可以是在MPM候選列表中位于第η個位置的MPM候選,或者可以是以第η個順序分配給MPM候選列表的MPM候選。因此,可以考慮將相對小的索引值分配給在MPM候選列表中位于相對前面的MPM候選,或者相對早地分配給MPM候選列表的MPM候選。例如,索引值O可以被分配給第一 MPM候選,并且最大的索引值可以被分配給最后的MPM候選。在以下的描述中,為了解釋便利的目的,在構(gòu)建MPM候選列表的MPM候選當(dāng)中,被分配了索引值η-1的MPM候選稱為第η個MPM候選(這里η是自然數(shù))。
[0108]另一方面,為了確保當(dāng)推導(dǎo)MPM候選列表時分析魯棒性,視頻編碼器可以確定包括在MPM候選列表中的MPM候選的數(shù)目是固定的。也就是說,視頻編碼器可以使用預(yù)先確定的固定數(shù)目的MPM候選以編碼幀內(nèi)預(yù)測模式。例如,構(gòu)建MPM候選列表的MPM候選的數(shù)目可以固定為2個。例如,構(gòu)建MPM候選列表的MPM候選的數(shù)目可以固定為3個。
[0109]當(dāng)包括在MPM候選列表中的MPM候選的數(shù)目是固定時,推導(dǎo)與鄰近塊相對應(yīng)的MPM候選的數(shù)目可以小于固定的數(shù)目。例如,假設(shè)包括在MPM候選列表中的MPM候選的數(shù)目固定為3個,并且兩個鄰近塊用于推導(dǎo)MPM候選。此時,推導(dǎo)對應(yīng)于鄰近塊的MPM候選的數(shù)目可以是2個。當(dāng)兩個鄰近塊的幀內(nèi)預(yù)測模式彼此相同時,導(dǎo)出與鄰近塊相對應(yīng)的MPM候選的數(shù)目可以是I個。在這種情況下,視頻編碼器可以確定另外的MPM候選,并且可以將確定的另外的MPM候選分配給MPM候選列表。在這里,除導(dǎo)出與鄰近塊相對應(yīng)的MPM候選以外,另外導(dǎo)出的MPM候選可以從幀內(nèi)預(yù)測模式中選擇。
[0110]稍后將描述確定MPM候選的方法,和將MPM候選分配給MPM候選列表的方法的特定示例。
[0111]再次參考圖5,視頻編碼器可以基于MPM候選列表產(chǎn)生有關(guān)幀內(nèi)預(yù)測模式的信息,并且可以編碼并發(fā)送該信息給視頻解碼器(S520)。產(chǎn)生有關(guān)幀內(nèi)預(yù)測模式信息的過程例如可以由參考圖1描述的視頻編碼器的預(yù)測模塊執(zhí)行。編碼和發(fā)送幀內(nèi)預(yù)測模式信息的過程例如可以由參考圖1描述的視頻編碼器的熵編碼模塊執(zhí)行。
[0112]視頻編碼器可以通過確定要用作當(dāng)前塊的幀內(nèi)預(yù)測模式的MPM候選是否存在于構(gòu)建MPM候選列表的多個MPM候選中,也就是說,幀內(nèi)預(yù)測模式的預(yù)測值是否用作當(dāng)前塊的幀內(nèi)預(yù)測模式,產(chǎn)生MPM標(biāo)記信息。在這里,MPM標(biāo)記可以是指定要用作當(dāng)前塊的幀內(nèi)預(yù)測模式的MPM候選是否存在于構(gòu)建MPM候選列表的多個MPM候選中的標(biāo)記。例如,MPM標(biāo)記可以由prev_intra_luma_pred_flag的語法元素表示。所產(chǎn)生的MPM標(biāo)記信息可以由視頻編碼器的熵編碼模塊編碼,并且可以發(fā)送給視頻解碼器。
[0113]當(dāng)要用作當(dāng)前塊的幀內(nèi)預(yù)測模式的MPM候選存在于MPM候選列表中時,視頻編碼器可以產(chǎn)生指示在構(gòu)建MPM候選列表的多個MPM候選當(dāng)中的要用作當(dāng)前塊的幀內(nèi)預(yù)測模式的MPM候選的MPM索引信息。例如,MPM索引信息可以指示分配給要用作當(dāng)前塊的幀內(nèi)預(yù)測模式的MPM候選的索引值。MPM索引信息例如可以由語法元素mpm_idx表示。所產(chǎn)生的MPM索引信息可以由視頻編碼器的熵編碼模塊編碼,并且可以發(fā)送給視頻解碼器。
[0114]當(dāng)要用作當(dāng)前塊的幀內(nèi)預(yù)測模式的MPM候選在MPM候選列表中不存在時,視頻編碼器可以基于構(gòu)建MPM候選列表的多個MPM候選和當(dāng)前塊的幀內(nèi)預(yù)測模式,推導(dǎo)與當(dāng)前塊的幀內(nèi)預(yù)測模式相對應(yīng)的剩余模式。例如,剩余模式的模式值可以是通過從當(dāng)前塊的幀內(nèi)預(yù)測模式的模式值中減去具有小于當(dāng)前塊的幀內(nèi)預(yù)測模式的模式值的MPM候選的數(shù)目獲得的值。剩余模式例如可以由語法元素rem_intra_luma_pred_mode表示。該導(dǎo)出的剩余模式可以由視頻編碼器的熵編碼模塊編碼,并且可以發(fā)送給視頻解碼器。
[0115]圖5示意地圖示視頻編碼器的操作,以便考慮到與幀內(nèi)預(yù)測模式有關(guān)的細(xì)節(jié)容易地理解本發(fā)明,但是,這是為了解釋方便起見,并且在本發(fā)明中的視頻編碼器的操作可以包括參考圖1描述的所有操作。
[0116]圖6是按照本發(fā)明示意地圖示幀內(nèi)預(yù)測方法的示例的流程圖。
[0117]參考圖6,視頻解碼器可以從視頻編碼器接收幀內(nèi)預(yù)測模式信息,并且可以解碼接收到的信息(S610)。解碼過程例如可以由參考圖2描述的視頻解碼器的熵解碼模塊執(zhí)行。從視頻編碼器接收到的幀內(nèi)預(yù)測模式信息可以包括MPM標(biāo)記信息、MPM索引信息,和/或剩余模式信息。
[0118]參考圖6,視頻解碼器可以構(gòu)建MPM候選列表(S620)。
[0119]視頻解碼器可以以與視頻編碼器中相同的方法推導(dǎo)MPM候選,并且可以構(gòu)建MPM候選列表。構(gòu)建MPM候選列表的過程可以由在圖2圖示的視頻解碼器的預(yù)測模塊執(zhí)行。
[0120]MPM候選列表可以包括多個MPM候選。也就是說,視頻解碼器可以基于相鄰于當(dāng)前塊的多個鄰近塊的幀內(nèi)預(yù)測模式導(dǎo)出多個MPM候選,并且可以將MPM候選分配給MPM候選列表。此時,視頻解碼器可以將鄰近塊的幀內(nèi)預(yù)測模式本身用作與外圍塊相對應(yīng)的MPM候選,或者可以將取決于預(yù)先確定的條件確定的特定的幀內(nèi)預(yù)測模式用作與鄰近塊相對應(yīng)的MPM候選。例如,當(dāng)前塊和鄰近塊可以是對應(yīng)于I3U的塊。
[0121]與MPM候選列表的構(gòu)建有關(guān)的特定細(xì)節(jié)與在參考圖5描述的視頻編碼器中構(gòu)建MPM候選列表的過程相同,并且因此,其特定描述將不重復(fù)。稍后將描述確定MPM候選的方法,和將MPM候選分配給MPM候選列表的方法的特定示例。
[0122]再次參考圖6,視頻解碼器可以基于MPM候選列表和幀內(nèi)預(yù)測模式信息推導(dǎo)當(dāng)前塊的幀內(nèi)預(yù)測模式(S630)。導(dǎo)出幀內(nèi)預(yù)測模式的過程例如可以由參考圖2描述的視頻解碼器的預(yù)測模塊執(zhí)行。
[0123]視頻解碼器可以基于從視頻編碼器接收的MPM標(biāo)記信息確定要用作當(dāng)前塊的幀內(nèi)預(yù)測模式的MPM候選是否存在于構(gòu)建MPM候選列表的多個MPM候選中。MPM標(biāo)記信息如上參考圖5所述,并且因此,其特定描述將不重復(fù)。
[0124]當(dāng)要用作當(dāng)前塊的幀內(nèi)預(yù)測模式的MPM候選存在于MPM候選列表中時,視頻解碼器可以確定由MPM索引信息指示的MPM候選是當(dāng)前塊的幀內(nèi)預(yù)測模式。MPM索引信息如上參考圖5所述,并且因此,其特定描述將不重復(fù)。
[0125]當(dāng)要用作當(dāng)前塊的幀內(nèi)預(yù)測模式的MPM候選在MPM候選列表中不存在時,視頻解碼器可以基于MPM候選列表和從視頻編碼器接收的剩余模式,推導(dǎo)當(dāng)前塊的幀內(nèi)預(yù)測模式。例如,假設(shè)構(gòu)建MPM候選列表的MPM候選的數(shù)目是N (這里N是自然數(shù)),并且MPM候選的模式值是模式1、模式2、…、模式N。此外,當(dāng)X較小時被采用,那么,較小值被分配給模式X。當(dāng)X是在I至N-1的范圍 中,并且剩余模式的模式值等于或者大于模式X-(X-1),并且小于模式(X+D-X時,當(dāng)前塊的幀內(nèi)預(yù)測模式值可以被確定為是通過將X加到剩余模式的模式值獲得的值。當(dāng)X等于N,并且剩余模式的模式值等于或者大于模式N-(N-1)時,當(dāng)前塊的幀內(nèi)預(yù)測模式值可以被確定為是通過將N加到剩余模式的模式值獲得的值。
[0126]再次參考圖6,視頻解碼器可以基于當(dāng)前塊的幀內(nèi)預(yù)測模式通過對當(dāng)前塊執(zhí)行幀內(nèi)預(yù)測,構(gòu)建對應(yīng)于當(dāng)前塊的預(yù)測塊(S640)。
[0127]圖6示意地圖示視頻解碼器的操作,以便考慮到與幀內(nèi)預(yù)測模式有關(guān)的細(xì)節(jié)容易地理解本發(fā)明,但是,這是為了解釋方便起見,并且在本發(fā)明中的視頻解碼器的操作可以包括參考圖2描述的所有操作。
[0128]圖7是圖示確定MPM候選和構(gòu)建MPM候選列表過程的示例的示意圖。
[0129]如上所述,視頻編碼器和視頻解碼器的預(yù)測模塊可以基于相鄰于當(dāng)前塊的多個鄰近塊的幀內(nèi)預(yù)測模式推導(dǎo)多個MPM候選,并且可以將MPM候選分配給MPM候選列表。
[0130]圖7的710圖示用于推導(dǎo)MPM候選的鄰近塊的示例。
[0131]參考圖7的710,相鄰于當(dāng)前塊的左側(cè)的左鄰近塊(塊A)和相鄰于當(dāng)前塊的上側(cè)的上鄰近塊(塊B)可用于推導(dǎo)MPM候選。在這里,當(dāng)前塊可以是當(dāng)前預(yù)測的塊,并且可以是對應(yīng)于I3U的塊。塊A和塊B可以是對應(yīng)于I3U的塊。
[0132]圖7的720圖示用于導(dǎo)出 MPM候選的鄰近塊的示例。[0133]用于推導(dǎo)MPM候選的當(dāng)前塊和塊A和塊B可以具有與在圖7的710中圖示的相同的大小,但是,可以具有不同的大小。例如,如在圖7的720中圖示的,相鄰于當(dāng)前塊的左側(cè)和/或上側(cè)的塊的大小可以不同于當(dāng)前塊的大小。在這種情況下,位于相鄰于當(dāng)前塊的左側(cè)和/或上側(cè)的塊的數(shù)目可以是一個或多個。
[0134]參考圖7的720,位于相鄰于當(dāng)前塊的左側(cè)塊的最上面位置的塊(塊A),和位于相鄰于當(dāng)前塊的上側(cè)塊的最左位置的塊(塊B)可用于推導(dǎo)MPM候選。在這里,當(dāng)前塊可以是當(dāng)前預(yù)測的塊,并且可以是對應(yīng)于PU的塊。塊A和塊B可以是對應(yīng)于PU的塊。
[0135]在圖7的710和720中,塊A和塊B可以被指定為屬于塊A的像素和屬于塊B的像素的位置。屬于塊A的像素的位置和屬于塊B的像素的位置例如可以確定為在當(dāng)前塊中相對于最左上像素的位置。例如,在當(dāng)前塊中最左上像素的位置被假設(shè)為(xB,yB)。此時,塊A可以指定為對應(yīng)于(xB-1,yB)的像素的位置,并且塊B可以指定為對應(yīng)于(xB,yB-1)的像素的位置。
[0136]在以下的示例中,如在圖7的710和720中,將描述基于相鄰于當(dāng)前塊的左側(cè)的塊,和相鄰于當(dāng)前塊的上側(cè)塊推導(dǎo)MPM候選和構(gòu)建MPM候選列表的過程。在以下的描述中,為了解釋便利的目的,相鄰于當(dāng)前塊的左側(cè)塊稱為“塊A”,并且相鄰于當(dāng)前塊的上側(cè)塊稱為“塊B”。在圖7圖示的示例中,塊A和塊B在一些情況下可以稱為鄰近塊。
[0137]在塊A和塊B當(dāng)中的經(jīng)歷使用幀內(nèi)模式編碼/解碼過程的塊可以具有幀內(nèi)預(yù)測模式。在以下的描述中,為了解釋便利的目的,塊A的幀內(nèi)預(yù)測模式稱為“模式A”,并且塊B的幀內(nèi)預(yù)測模式稱為“模式B”。
[0138]當(dāng)前塊的MPM候選可以基于模式A (其是塊A的幀內(nèi)預(yù)測模式)和模式B (其是塊B的幀內(nèi)預(yù)測模式)推導(dǎo)。此時,預(yù)測模塊可以確定對應(yīng)于塊A的MPM候選和對應(yīng)于塊B的MPM候選,并且必要時,可以確定另外的MPM候選。
[0139]例如,推導(dǎo)以對應(yīng)于塊A的MPM候選可以是塊A的幀內(nèi)預(yù)測模式,并且推導(dǎo)以對應(yīng)于塊B的MPM候選可以是塊B的幀內(nèi)預(yù)測模式。但是,除塊A的幀內(nèi)預(yù)測模式以外,對應(yīng)于塊A的MPM候選可以被確定為是預(yù)先確定的幀內(nèi)預(yù)測模式,并且除塊B的幀內(nèi)預(yù)測模式以夕卜,對應(yīng)于塊B的MPM候選可以被確定為是預(yù)先確定的巾貞內(nèi)預(yù)測模式。
[0140]在以下的描述中,推導(dǎo)對應(yīng)于塊A的MPM候選稱為“MPM候選A”,并且推導(dǎo)對應(yīng)于塊B的MPM候選稱為“MPM候選B”。
[0141]例如,在圖7中,MPM候選A可以被確定為是模式A,并且MPM候選B可以被確定為是模式B。當(dāng)模式A和模式B彼此相同時,分配給MPM候選列表的MPM候選的數(shù)目可以是一個。在這種情況下,一個MPM候選可以用作當(dāng)前塊的幀內(nèi)預(yù)測模式的預(yù)測值。當(dāng)模式A和模式B彼此不同時,分配給MPM候選列表的MPM候選的數(shù)目可以是兩個。在這種情況下,視頻編碼器可以編碼指示要用作當(dāng)前塊的幀內(nèi)預(yù)測模式的MPM候選的MPM索引信息,并且可以將編碼的信息發(fā)送給視頻解碼器。視頻解碼器可以確定要用作當(dāng)前塊的幀內(nèi)預(yù)測模式的MPM候選是模式A還是模式B。
[0142]另一方面,如上所述,為了確保當(dāng)推導(dǎo)MPM候選列表時分析魯棒性,預(yù)測模塊可以確定MPM候選的數(shù)目是恒定的。也就是說,預(yù)測模塊可以使用預(yù)先確定的固定數(shù)目的MPM候選來編碼/解碼幀內(nèi)預(yù)測模式。例如,構(gòu)建MPM候選列表的MPM候選的數(shù)目可以固定為2個。例如,構(gòu)建MPM候選列表的MPM候選的數(shù)目可以固定為3個。[0143]下面將描述當(dāng)構(gòu)建MPM候選列表的MPM候選的數(shù)目固定為2個時,導(dǎo)出MPM候選和構(gòu)建MPM候選列表的方法的示例。
[0144]在示例中,當(dāng)模式A和模式B兩者是不可用時,預(yù)測模塊可以確定分配給MPM候選列表的第一 MPM候選是平面模式(例如,當(dāng)如在圖4的410中分配預(yù)測模式數(shù)目時,平面模式的模式值可以是O),并且可以確定分配給MPM候選列表的第二 MPM候選是DC模式(例如,當(dāng)如在圖4的410中分配預(yù)測模式數(shù)目時,DC模式的模式值可以是3)。在這里,例如,在確定MPM候選A是平面模式,并且確定MPM候選B是DC模式之后,預(yù)測模塊可以將MPM候選A和MPM候選B分配給MPM候選列表。在另一個示例中,預(yù)測模塊可以確定MPM候選A和MPM候選B的任何一個是不可用的,并且可以將平面模式和DC模式作為另外的MPM候選分配給MPM候選列表。
[0145]模式A和模式B是不可用的情形可以包括鄰近塊位于當(dāng)前圖片和/或當(dāng)前片段的外部的情形,和鄰近塊的預(yù)測模式不是幀內(nèi)預(yù)測模式的情形。
[0146]當(dāng)模式A和模式B中的僅一個是可用時,預(yù)測模塊可以確定與具有不可用模式的鄰近塊相對應(yīng)的MPM候選是平面模式,或者可以確定與具有不可用模式的鄰近塊相對應(yīng)的MPM候選是不可用的,并且可以將平面模式確定為另外的MPM候選。此時,例如,預(yù)測模塊可以將平面模式作為第一 MPM候選分配給MPM候選列表,并且可以將在模式A和模式B當(dāng)中的可用的幀內(nèi)預(yù)測模式作為第二 MPM候選分配給MPM候選列表。在這里,當(dāng)模式A和模式B的可用的幀內(nèi)預(yù)測模式是平面模式時,DC模式可以被作為第二 MPM候選分配給MPM候選列表以便避免冗余。
[0147]當(dāng)模式A和模式B兩者是可用的,并且模式A和模式B彼此相同時,預(yù)測模塊可以將平面模式確定為另外的MPM候選。當(dāng)模式A和模式B兩者是可用的時,模式A可以被確定為是MPM候選A,并且模式B可以被確定為是MPM候選B。由于模式A和模式B彼此相同,MPM候選A和MPM候選B可以彼此相同。
[0148]此時,例如,預(yù)測模塊可以將平面模式作為第一 MPM候選分配給MPM候選列表,并且可以將模式A (和/或MPM候選A)和/或模式B (和/或MPM候選B)作為第二 MPM候選分配給MPM候選列表。在這里,當(dāng)模式A (和/或MPM候選A)和/或模式B (和/或MPM候選B)是平面模式時,DC模式可以被作為第二 MPM候選分配給MPM候選列表以便避免冗余。
[0149]當(dāng)模式A和模式B兩者是可用的,并且模式A和模式B彼此不同時,預(yù)測模塊可以將模式A和模式B作為MPM候選分配給MPM候選列表。當(dāng)模式A和模式B兩者是可用時,如上所述,模式A可以被確定為是MPM候選A,并且模式B可以被確定為是MPM候選B。此時,例如,在模式A(和/或MPM候選A)和/或模式B(和/或MPM候選B)當(dāng)中的具有較小模式值的幀內(nèi)預(yù)測模式可以被確定為第一 MPM候選,并且在模式A (和/或MPM候選A)和/或模式B (和/或MPM候選B)當(dāng)中的具有較大模式值的幀內(nèi)預(yù)測模式可以被確定為第二MPM候選。
[0150]在另一個示例中,當(dāng)模式A和模式B兩者是可用的,并且模式A和模式B彼此不同時,預(yù)測模塊可以將模式A (和/或MPM候選A)和/或模式B (和/或MPM候選B)分配給在MPM候選列表中的預(yù)先確定的固定位置。也就是說,當(dāng)模式A和模式B用作MPM候選時,分配給模式A (和/或MPM候選A)和/或模式B (和/或MPM候選B)的MPM索引值可以是預(yù)先確定的固定值。例如,該預(yù)測模塊可以將模式A(和/或MPM候選A)作為第一 MPM候選分配給MPM候選列表,并且可以將模式B (和/或MPM候選B)作為第二 MPM候選分配給MPM候選列表。在這種情況下,可以將索引值O分配給模式A (和/或MPM候選A),并且可以將索引值I分配給模式B (和/或MPM候選B)。在另一個示例中,該預(yù)測模塊可以將模式B (和/或MPM候選B)作為第一 MPM候選分配給MPM候選列表,并且可以將模式A (和/或MPM候選A)作為第二 MPM候選分配給MPM候選列表。在這種情況下,可以將索引值O分配給模式B (和/或MPM候選B),并且可以將索引值I分配給模式A (和/或MPM候選A)。
[0151 ] 當(dāng)模式A (和/或MPM候選A)和/或模式B (和/或MPM候選B)被分配給在MPM候選列表中預(yù)先確定的固定位置時,與在模式A (和/或MPM候選A)和/或模式B (和/或MPM候選B)當(dāng)中的具有較小模式值的幀內(nèi)預(yù)測模式被確定為是第一 MPM候選的情形相比,視頻編碼器和視頻解碼器的計算負(fù)荷可以降低。這是因為比較模式A (和/或MPM候選A)的模式值和/或模式B (和/或MPM候選B)的模式值的計算操作能夠被去除。
[0152]在另一個示例中,當(dāng)推導(dǎo)其MPM候選的數(shù)目固定為2個的MPM候選列表時,預(yù)測模塊可以將第一 MPM候選固定為平面模式。也就是說,分配給MPM候選列表的第一 MPM候選可以始終被確定為平面模式。此時,作為第一 MPM候選的分配給平面模式的MPM索引值可以是O。
[0153]此時,例如,預(yù)測模塊可以將模式A作為第二 MPM候選分配給MPM候選列表。當(dāng)模式A是不可用的,或者是平面模式時,該預(yù)測模塊可以將模式B作為第二 MPM候選分配給MPM候選列表。當(dāng)模式B也是不可用的,或者是平面模式時,可以將DC模塊作為第二 MPM候選分配給MPM候選列表。可以將MPM索引值I分配給作為第二 MPM候選分配的幀內(nèi)預(yù)測模式。在這種情況下,與以上提及的示例相比,檢查模式B的可用性的過程的發(fā)生頻率可以被降低。由于不需要比較模式A的模式值和模式B的模式值,可以在視頻編碼器和視頻解碼器中降低復(fù)雜度。
[0154]在另一個示例中,當(dāng)?shù)谝?MPM候選被固定為平面模式時,該預(yù)測模塊可以將模式A作為第二 MPM候選分配給MPM候選列表。在這種情況下,當(dāng)模式A是不可用的,或者是平面模式時,預(yù)測模塊可以將DC模式作為第二 MPM候選分配給MPM候選列表,代替參考模式B。在這種情況下,由于不需要檢查模式B的可用性,與以上提及的示例相比,可以在視頻編碼器和視頻解碼器中降低復(fù)雜度。
[0155]在另一個示例中,當(dāng)?shù)谝?MPM候選被固定為平面模式時,該預(yù)測模塊可以將最后編碼或者最后解碼的塊的幀內(nèi)預(yù)測模式作為第二 MPM候選分配給MPM候選列表,代替參考模式A或者模式B。當(dāng)最后編碼或者最后解碼的塊的幀內(nèi)預(yù)測模式是不可用的,或者是平面模式時,DC模式可以被作為第二 MPM候選分配給MPM候選列表。在這里,最后編碼或者最后解碼的塊的幀內(nèi)預(yù)測模式是不可用的情形可以包括該塊是以幀間模式編碼或者解碼的塊的情形。最后編碼或者最后解碼的塊例如可以是PU。在這種情況下,由于不需要檢查模式A的可利用性和模式B的可利用性,可以在視頻編碼器和視頻解碼器中降低復(fù)雜度。
[0156]另一方面,在以上提及的示例中,假設(shè)構(gòu)建MPM候選列表的MPM候選的數(shù)目被固定為2個,但是,本發(fā)明不局限于這些示例。例如,導(dǎo)出MPM候選的過程和將導(dǎo)出的MPM候選分配給MPM候選列表的過程可以同等地或者類似地適用于構(gòu)建MPM候選列表的MPM候選的數(shù)目被固定為3個的情形。在這里,在以上提及的示例中導(dǎo)出兩個MPM候選。因此,當(dāng)構(gòu)建MPM候選列表的MPM候選的數(shù)目被固定為3時,除了兩個MPM候選之外,可以進(jìn)一步推導(dǎo)另外的MPM候選。在這里,另外導(dǎo)出的MPM候選的示例包括平面模式、DC模式和垂直模式。
[0157]在下面將描述當(dāng)構(gòu)建MPM候選列表的MPM候選的數(shù)目被固定為3個的時候時,導(dǎo)出MPM候選和構(gòu)建MPM候選列表的方法的例。在下面描述的構(gòu)建MPM候選列表的過程可以由視頻編碼器和/或視頻解碼器的預(yù)測模塊執(zhí)行。
[0158]當(dāng)MPM候選的數(shù)目被固定為3個時,構(gòu)建MPM候選列表的方法可以以各種方面實施。在以下描述的示例中沒有描述用于實施各種方面的所有可能的組合,但是,本領(lǐng)域技術(shù)人員應(yīng)該理解其它的組合是可能的。
[0159]首先,預(yù)測模塊可以基于相鄰于當(dāng)前塊左側(cè)的塊A確定對應(yīng)于塊A的MPM候選A,并且可以基于相鄰于當(dāng)前塊的上側(cè)的塊B確定對應(yīng)于塊B的MPM候選B。
[0160]如上所述,預(yù)測模塊可以將鄰近塊本身(例如,塊A或者塊B)的幀內(nèi)預(yù)測模式用作與鄰近塊相對應(yīng)的MPM候選,但是,可以將取決于預(yù)先確定的條件確定的特定的幀內(nèi)預(yù)測模式用作與鄰近塊相對應(yīng)的MPM候選。
[0161]例如,當(dāng)鄰近塊(例如,塊A或者塊B)是位于當(dāng)前塊所屬的當(dāng)前片段和/或當(dāng)前圖片的外部的塊時,鄰近塊的幀內(nèi)預(yù)測模式是不可用的。因此,在這種情況下,預(yù)測模塊可以將與鄰近塊相對應(yīng)的MPM候選設(shè)置為DC模式。例如,當(dāng)塊A是位于當(dāng)前圖片和/或當(dāng)前片段的外部的塊時,MPM候選A可以被設(shè)置為DC模式。當(dāng)塊B是位于當(dāng)前圖片和/或當(dāng)前片段的外部的塊時,MPM候選B可以被設(shè)置為DC模式。
[0162]當(dāng)鄰近塊(例如,塊A或者塊B)的預(yù)測模式不是幀內(nèi)模式時,也就是說,當(dāng)鄰近塊不是使用幀內(nèi)模式編碼或者解碼的塊時,鄰近塊可以不必具有幀內(nèi)預(yù)測模式信息。因此,在這種情況下,該預(yù)測模塊可以將與鄰近塊相對應(yīng)的MPM候選設(shè)置為DC模式。例如,當(dāng)塊A的預(yù)測模式不是幀內(nèi)模式時,MPM候選A可以被設(shè)置為DC模式。當(dāng)塊B的預(yù)測模式不是幀內(nèi)模式時,MPM候選B可以被設(shè)置為DC模式。
[0163]當(dāng)相鄰于當(dāng)前塊的上側(cè)的塊B位于當(dāng)前塊所述的編譯樹塊(CTB)的外部時,與塊B相對應(yīng)的MPM候選B可以被設(shè)置為DC模式。
[0164]另外,與鄰近塊(例如,塊A或者塊B)相對應(yīng)的MPM候選可以被確定為是鄰近塊的幀內(nèi)預(yù)測模式。例如,MPM候選A可以被設(shè)置為模式A (其是塊A的幀內(nèi)預(yù)測模式),并且MPM候選B可以被設(shè)置為模式B (其是塊B的幀內(nèi)預(yù)測模式)。
[0165]當(dāng)MPM候選A和MPM候選B經(jīng)由以上提及的過程確定時,基于所確定的MPM候選該預(yù)測模塊可以構(gòu)建MPM候選列表。
[0166]例如,MPM候選A和MPM候選B可以彼此相同。在這里,當(dāng)MPM候選A是平面模式或者DC模式時,該平面模式可以被作為第一 MPM候選分配給MPM候選列表,DC模式可以被作為第二 MPM候選分配,并且垂直模式可以被作為第三MPM候選分配。此時,可以將MPM索引值O分配給平面模式,可以將MPM索引值I分配給DC模式,并且可以將MPM索引值2分配給垂直模式。
[0167]當(dāng)MPM候選A和MPM候選B彼此相同,并且MPM候選A既不是平面模式,也不是DC模式時,MPM候選A可以被作為第一 MPM候選分配給MPM候選列表,并且具有最類似或者相鄰于MPM候選A的預(yù)測方向的預(yù)測方向的兩個幀內(nèi)預(yù)測模式可以作為第二和第三MPM候選被分配給MPM候選列表。此時,MPM索引值O可以被分配給MPM候選A,并且MPM索引值I和2可以被分配給第二和第三MPM候選。[0168]在另一個示例中,MPM候選A和MPM候選B可以彼此不同。在這種情況下,預(yù)測模塊可以將MPM候選A和MPM候選B分配給在MPM候選列表中的預(yù)先確定的固定位置。也就是說,分配給MPM候選A和MPM候選B的MPM索引值可以是預(yù)先確定的固定值。如上所述,當(dāng)MPM候選A和MPM候選B被分配給在MPM候選列表中的預(yù)先確定的固定位置時,比較MPM候選A和MPM候選B的模式值的計算操作能夠被去除,并且從而可以降低復(fù)雜度。
[0169]例如,預(yù)測模塊可以將MPM候選A作為第一 MPM候選分配給MPM候選列表,并且可以將MPM候選B作為第二 MPM候選分配給MPM候選列表。此時,索引值O可以被分配給MPM候選A,并且索引值I可以被分配給MPM候選B。
[0170]當(dāng)MPM候選A和MPM候選B彼此不同時,預(yù)測模塊可以將另外的幀內(nèi)預(yù)測模式作為第三MPM候選分配給MPM候選列表。此時,索引值2可以分配給另外分配的第三MPM候選。
[0171]例如,當(dāng)MPM候選A和MPM候選B的任何一個不是平面模式時,作為第三MPM候選被另外分配給MPM候選列表的幀內(nèi)預(yù)測模式可以是平面模式。另外(當(dāng)MPM候選A和MPM候選B的一個是平面模式時),當(dāng)MPM候選A和MPM候選B的任何一個不是DC模式時,作為第三MPM候選另外分配給MPM候選列表的幀內(nèi)預(yù)測模式可以是DC模式。否則(當(dāng)MPM候選A和MPM候選B的一個是平面模式,并且另一個是DC模式時),作為第三MPM候選另外分配給MPM候選列表的幀內(nèi)預(yù)測模式可以是垂直模式。
[0172]在以上提及的示例中,例如,當(dāng)被如在圖4的420中分配預(yù)測模式編號時,平面模式的模式值可以是0,DC模式的模式值可以是1,并且垂直模式的模式值可以是26。
[0173]在以上提及的示例中構(gòu)建MPM候選列表的過程可以類似地適用于視頻編碼器和視頻解碼器。當(dāng)構(gòu)建MPM候選列表時,所構(gòu)建的MPM候選列表可用于產(chǎn)生如上所述的幀內(nèi)預(yù)測模式信息。由視頻解碼器構(gòu)建的MPM候選列表可用于確定如上參考圖6所述的當(dāng)前塊的幀內(nèi)預(yù)測模式。
[0174]圖8是按照本發(fā)明示意地圖示發(fā)送幀內(nèi)預(yù)測模式信息的視頻編碼器示例的方框圖。
[0175]在圖8圖示的示例中,視頻編碼器800可以包括預(yù)測模塊810和熵編碼模塊820。預(yù)測模塊可以進(jìn)一步包括MPM候選列表構(gòu)建模塊813和幀內(nèi)預(yù)測模式信息產(chǎn)生模塊816。
[0176]在圖8圖示的示例中,構(gòu)建MPM候選列表的過程,和產(chǎn)生幀內(nèi)預(yù)測模式信息的過程被描述為由不同的元件執(zhí)行,但是,這些意欲為了解釋和理解本發(fā)明方便起見,并且本發(fā)明不局限于這種配置。例如,構(gòu)建MPM候選列表的過程和產(chǎn)生幀內(nèi)預(yù)測模式信息的過程可以是由預(yù)測模塊執(zhí)行的一系列過程的一部分。此外,MPM候選列表構(gòu)建模塊813和/或幀內(nèi)預(yù)測模式信息產(chǎn)生模塊816可以作為獨立的元件被包括在視頻編碼器中。
[0177]參考圖8,MPM候選列表構(gòu)建模塊813可以構(gòu)建包括多個MPM候選的MPM候選列表。
[0178]MPM候選列表構(gòu)建模塊813可以基于相鄰于當(dāng)前塊的至少一個鄰近塊的幀內(nèi)預(yù)測模式導(dǎo)出至少一個MPM候選,并且可以將導(dǎo)出的MPM候選分配給MPM候選列表。此時,MPM候選列表構(gòu)建模塊813可以將鄰近塊的巾貞內(nèi)預(yù)測模式用作與鄰近塊相對應(yīng)的MPM候選,或者可以將取決于預(yù)先確定的條件確定的特定的幀內(nèi)預(yù)測模式用作與鄰近塊相對應(yīng)的MPM候選。例如,當(dāng)前塊和鄰近塊可以是對應(yīng)于PU的塊。[0179]構(gòu)建MPM候選列表的過程的示例如上面參考圖5至7所述,并且因此,其具體描述在此處將不重復(fù)。
[0180]再次參考圖8,巾貞內(nèi)預(yù)測模式信息產(chǎn)生模塊816可以基于MPM候選列表產(chǎn)生有關(guān)中貞內(nèi)預(yù)測模式的信息。
[0181]由幀內(nèi)預(yù)測模式信息產(chǎn)生模塊816產(chǎn)生的幀內(nèi)預(yù)測模式信息可以包括MPM標(biāo)記信息、MPM索引信息,和剩余模式信息。由視頻編碼器產(chǎn)生的幀內(nèi)預(yù)測模式信息的具體示例如面上參考圖5所述,并且因此,其具體描述在此處將不重復(fù)。
[0182]再次參考圖8,熵編碼模塊820可以對幀內(nèi)預(yù)測模式信息執(zhí)行熵編碼操作。熵編碼模塊820可以將熵編碼的信息發(fā)送給視頻解碼器。在這里,該發(fā)送過程被描述為由熵編碼模塊820執(zhí)行,但是,這意欲為了解釋方便起見,并且本發(fā)明不局限于這種配置。例如,該發(fā)送過程可以由被包括作為視頻編碼器中的特定模塊的傳輸模塊執(zhí)行。
[0183]圖8示意地圖示視頻編碼器的操作和元件,以便考慮到與幀內(nèi)預(yù)測模式有關(guān)的細(xì)節(jié)容易地理解本發(fā)明,但是,這是為了解釋方便起見,并且在本發(fā)明中的視頻編碼器的操作和元件可以包括參考圖1描述的所有操作和元件。
[0184]圖9是按照本發(fā)明示意地圖示執(zhí)行幀內(nèi)預(yù)測的視頻解碼器的示例的方框圖。
[0185]在圖9圖示的示例中,視頻解碼器900可以包括熵解碼模塊910和預(yù)測模塊920。預(yù)測模塊可以進(jìn)一步包括MPM候選列表構(gòu)建模塊923、幀內(nèi)預(yù)測模式確定模塊926,和預(yù)測塊構(gòu)建模塊929。
[0186]在圖9圖示的示例中,構(gòu)建MPM候選列表的過程、確定幀內(nèi)預(yù)測模式的過程,和構(gòu)建預(yù)測塊的過程被描述為由不同的元件執(zhí)行,但是,這是為了解釋和理解本發(fā)明方便起見,并且本發(fā)明不局限于這種配置。例如,構(gòu)建MPM候選列表的過程、確定幀內(nèi)預(yù)測模式的過程,和構(gòu)建預(yù)測塊的過程可以是由預(yù)測模塊執(zhí)行的一系列過程的一部分。此外,MPM候選列表構(gòu)建模塊923和/或幀內(nèi)預(yù)測模式確定模塊926可以作為單獨的元件包括在視頻解碼器中。
[0187]參考圖9,熵解碼模塊910可以從視頻編碼器接收有關(guān)幀內(nèi)預(yù)測模式的信息,并且可以對接收到的信息進(jìn)行熵解碼。從視頻編碼器接收到的幀內(nèi)預(yù)測模式信息可以包括MPM標(biāo)記信息、MPM索引信息,和/或剩余模式信息。在這里,該接收過程被描述為由熵解碼模塊910執(zhí)行,但是,這是為了解釋方便起見,并且本發(fā)明不局限于這種配置。例如,該接收過程可以由被包括的作為視頻解碼器中的特定元件的接收模塊執(zhí)行。
[0188]再次參考圖9,MPM候選列表構(gòu)建模塊923可以構(gòu)建包括多個MPM候選的MPM候選列表。此時,MPM候選列表構(gòu)建模塊923可以導(dǎo)出MPM候選,并且可以以與在視頻編碼器中相同的方式構(gòu)建MPM候選列表。
[0189]MPM候選列表構(gòu)建模塊923可以基于相鄰于當(dāng)前塊的至少一個鄰近塊的幀內(nèi)預(yù)測模式導(dǎo)出至少一個MPM候選,并且可以將導(dǎo)出的MPM候選分配給MPM候選列表。此時,MPM候選列表構(gòu)建模塊923可以將鄰近塊的幀內(nèi)預(yù)測模式用作與鄰近塊相對應(yīng)的MPM候選,或者可以將取決于預(yù)先確定的條件確定的特定的幀內(nèi)預(yù)測模式用作與鄰近塊相對應(yīng)的MPM候選。例如,當(dāng)前塊和鄰近塊可以是對應(yīng)于PU的塊。
[0190]構(gòu)建MPM候選列表的過程的示例與在視頻編碼器中相同,并且如上參考圖5至7所述,并且因此,其具體描述在此處將不重復(fù)。[0191]再次參考圖9,幀內(nèi)預(yù)測模式確定模塊926可以基于MPM候選列表和幀內(nèi)預(yù)測模式信息確定當(dāng)前塊的幀內(nèi)預(yù)測模式。
[0192]幀內(nèi)預(yù)測模式確定模塊926可以基于從視頻編碼器接收到的MPM標(biāo)記信息確定要用作當(dāng)前塊的幀內(nèi)預(yù)測模式的MPM候選是否存在于包括在MPM候選列表中的多個MPM候選中。當(dāng)要用作當(dāng)前塊的幀內(nèi)預(yù)測模式的MPM候選存在于MPM候選列表中時,幀內(nèi)預(yù)測模式確定模塊926可以確定由MPM索引信息指示的MPM候選是當(dāng)前塊的幀內(nèi)預(yù)測模式。當(dāng)要用作當(dāng)前塊的幀內(nèi)預(yù)測模式的MPM候選在MPM候選列表中不存在時,幀內(nèi)預(yù)測模式確定模塊926基于MPM候選列表和從視頻編碼器接收到的剩余模式信息可以確定當(dāng)前塊的幀內(nèi)預(yù)測模式。
[0193]再次參考圖9,預(yù)測塊構(gòu)建模塊929可以基于當(dāng)前塊的幀內(nèi)預(yù)測模式,通過對當(dāng)前塊執(zhí)行幀內(nèi)預(yù)測構(gòu)建與當(dāng)前塊相對應(yīng)的預(yù)測塊。
[0194]圖9示意地圖示視頻解碼器的操作和元件,以便考慮到與幀內(nèi)預(yù)測模式有關(guān)的細(xì)節(jié)容易地理解本發(fā)明,但是,這是為了解釋方便起見,并且在本發(fā)明中的視頻解碼器的操作和元件可以包括參考圖2描述的所有操作和元件。
[0195]雖然已經(jīng)基于作為一系列的步驟或者塊的流程圖描述以上提及的實施例中的方法,本發(fā)明不局限于該步驟的順序,并且某個步驟可以以除如上所述以外的順序或者如上所述同時執(zhí)行。以上提及的實施例包括各種示例。因此,本發(fā)明包括所附的權(quán)利要求所屬的所有的替換、修正和改進(jìn)。
[0196]當(dāng)在上面提及一個元件“連接到”或者“耦合到”另一個元件時,應(yīng)該理解,在其間可以插入再一個元件,以及該元件可以直接耦合或者連接到另一個元件。相反地,當(dāng)提及一個元件“直接連接到”或者“直接耦合到”另一個元件時,應(yīng)該理解,在其間沒有插入再一個元件。
【權(quán)利要求】
1.一種視頻解碼方法,包括步驟: 接收和解碼指示要用作當(dāng)前塊的幀內(nèi)預(yù)測模式的最可能模式(MPM)候選的MPM索引信息; 構(gòu)建包括用于所述當(dāng)前塊的多個MPM候選的MPM候選列表; 將在構(gòu)建所述MPM候選列表的多個MPM候選當(dāng)中的由解碼的MPM索引信息指示的所述MPM候選確定為所述當(dāng)前塊的幀內(nèi)預(yù)測模式;以及 通過基于確定的幀內(nèi)預(yù)測模式對所述當(dāng)前塊執(zhí)行幀內(nèi)預(yù)測,構(gòu)建對應(yīng)于所述當(dāng)前塊的預(yù)測塊, 其中,構(gòu)建所述MPM候選列表包括: 確定與相鄰于所述當(dāng)前塊的左側(cè)的重建的第一塊相對應(yīng)的第一 MPM候選,和與所述當(dāng)前塊的上側(cè)的重建的第二塊相對應(yīng)的第二 MPM候選,以及 將所述第一 MPM候選和所述第二 MPM候選的至少一個設(shè)置到在所述MPM候選列表中的預(yù)先確定的固定位置。
2.根據(jù)權(quán)利要求1所述的視頻解碼方法,其中,構(gòu)建所述MPM候選列表包括:將所述第一 MPM候選確定為所述第一塊的幀內(nèi)預(yù)測模式,和將所述第二 MPM候選確定為所述第二塊的幀內(nèi)預(yù)測模式。
3.根據(jù)權(quán)利要求1所述的視頻解碼方法,其中,構(gòu)建所述MPM候選列表包括:當(dāng)?shù)谝粔K是不可用的時侯,將所述第一MPM候選確定為DC模式,以及當(dāng)所述第二塊是不可用的時侯,將所述第二 MPM候選確定為DC模式。`
4.根據(jù)權(quán)利要求3所述的視頻解碼方法,其中,構(gòu)建所述MPM候選列表包括:當(dāng)所述第一塊位于當(dāng)前圖片或者當(dāng)前片段的外部時,確定所述第一塊是不可用的,并且當(dāng)所述第二塊位于當(dāng)前圖片或者當(dāng)前片段的外部時,確定所述第二塊是不可用的,以及 其中,所述當(dāng)前圖片是所述當(dāng)前塊所屬的圖片,并且所述當(dāng)前片段是所述當(dāng)前塊所屬的片段。
5.根據(jù)權(quán)利要求3所述的視頻解碼方法,其中,構(gòu)建所述MPM候選列表包括:當(dāng)所述第一塊不是以幀內(nèi)模式解碼的塊時,確定所述第一塊是不可用的,以及當(dāng)所述第二塊不是以幀內(nèi)模式解碼的塊時,確定所述第二塊是不可用的。
6.根據(jù)權(quán)利要求1所述的視頻解碼方法,其中構(gòu)建MPM候選列表包括:當(dāng)所述第一MPM候選和所述第二 MPM候選彼此不相同時,將所述第一 MPM候選設(shè)置到在所述MPM候選列表中的第一位置,并且將所述第二 MPM候選設(shè)置到在所述MPM候選列表中的第二位置。
7.根據(jù)權(quán)利要求6所述的視頻解碼方法,其中索引值O被分配給被設(shè)置到所述MPM候選列表中的所述第一位置的第一 MPM候選,并且索引值I被分配給被設(shè)置到所述MPM候選列表中的所述第二位置的第二 MPM候選。
8.根據(jù)權(quán)利要求6所述的視頻解碼方法,其中所述MPM候選列表包括三個MPM候選。
9.根據(jù)權(quán)利要求8所述的視頻解碼方法,其中構(gòu)建所述MPM候選列表包括: 當(dāng)所述第一 MPM候選和所述第二 MPM候選中的任何一個不是平面模式時,將平面模式作為第三MPM候選設(shè)置到在MPM候選列表中的第三位置, 當(dāng)?shù)谝?MPM候選和第二 MPM候選的一個是平面模式,并且第一 MPM候選和第二 MPM候選的任何一個不是DC模式時,將DC模式作為第三MPM候選設(shè)置到在MPM候選列表中的第三位置,和 當(dāng)?shù)谝?MPM候選和第二 MPM候選的一個是平面模式,并且另一個是DC模式時,將垂直模式作為第三MPM候選設(shè)置到在MPM候選列表中的第三位置。
10.根據(jù)權(quán)利要求9所述的視頻解碼方法,其中索引值2被分配給在MPM候選列表中被設(shè)置到第三位置的第三MPM候選。
11.一種視頻解碼器,包括: 熵解碼模塊,所述熵解碼模塊接收和解碼指示要用作當(dāng)前塊的幀內(nèi)預(yù)測模式的最可能模式(MPM)候選的MPM索引信息; 幀內(nèi)預(yù)測模式確定模塊,所述幀內(nèi)預(yù)測模式確定模塊構(gòu)建包括用于所述當(dāng)前塊的多個MPM候選的MPM候選列表,并且將在構(gòu)建MPM候選列表的多個MPM候選當(dāng)中的由解碼的MPM索引信息指示的MPM候選確定為所述當(dāng)前塊的幀內(nèi)預(yù)測模式;以及 預(yù)測塊構(gòu)建模塊,所述預(yù)測塊構(gòu)建模塊通過基于確定的幀內(nèi)預(yù)測模式對當(dāng)前塊執(zhí)行幀內(nèi)預(yù)測,構(gòu)建與所述當(dāng)前塊相對應(yīng)的預(yù)測塊, 其中,所述幀內(nèi)預(yù)測模式確定模塊確定與相鄰于所述當(dāng)前塊的左側(cè)的重建的第一塊相對應(yīng)的第一 MPM候選,和與相鄰 于所述當(dāng)前塊的上側(cè)的重建的第二塊相對應(yīng)的第二 MPM候選,以及 將所述第一 MPM候選和所述第二 MPM候選的至少一個設(shè)置到在所述MPM候選列表中的預(yù)先確定的固定位置。
12.根據(jù)權(quán)利要求11所述的視頻解碼器,其中,所述幀內(nèi)預(yù)測模式確定模塊將所述第一 MPM候選確定為所述第一塊的幀內(nèi)預(yù)測模式,以及將所述第二 MPM候選確定為所述第二塊的幀內(nèi)預(yù)測模式。
13.根據(jù)權(quán)利要求11所述的視頻解碼器,其中,當(dāng)所述第一塊是不可用的時侯,所述幀內(nèi)預(yù)測模式確定模塊將第一 MPM候選確定為DC模式,并且當(dāng)所述第二塊是不可用的時侯,將所述第二 MPM候選確定為DC模式。
14.根據(jù)權(quán)利要求11所述的視頻解碼器,其中當(dāng)所述第一MPM候選和所述第二 MPM候選彼此不相同時,所述幀內(nèi)預(yù)測模式確定模塊將所述第一 MPM候選設(shè)置到在所述MPM候選列表中的第一位置,并且將所述第二 MPM候選設(shè)置到在所述MPM候選列表中的第二位置。
15.根據(jù)權(quán)利要求14所述的視頻解碼器,其中索引值O被分配給被設(shè)置到在所述MPM候選列表中的第一位置的所述第一 MPM候選,并且索引值I被分配給被設(shè)置到在所述MPM候選列表中的第二位置的所述第二 MPM候選。
16.根據(jù)權(quán)利要求14所述的視頻解碼器,其中,所述MPM候選列表包括三個MPM候選。
17.根據(jù)權(quán)利要求16所述的視頻解碼器,其中,所述幀內(nèi)預(yù)測模式確定模塊: 當(dāng)所述第一 MPM候選和所述第二 MPM候選中的任何一個不是平面模式時,將平面模式作為第三MPM候選設(shè)置到在所述MPM候選列表中的第三位置, 當(dāng)所述第一 MPM候選和所述第二 MPM候選中的一個是平面模式,并且所述第一 MPM候選和所述第二 MPM候選中的任何一個不是DC模式時,將DC模式作為第三MPM候選設(shè)置到在MPM候選列表中的第三位置,以及 當(dāng)所述第一 MPM候選和所述第二 MPM候選的一個是平面模式,并且另一個是DC模式時,將垂直模式作為第三MPM候選設(shè)置到在所述MPM候選列表中的第三位置。
18.根據(jù)權(quán)利要求17所述的視頻解碼器,其中索引值2被分配給被設(shè)置到在MPM候選列表中的第三位置的所 述第三MPM候選。
【文檔編號】H04N19/593GK103891283SQ201280052067
【公開日】2014年6月25日 申請日期:2012年12月5日 優(yōu)先權(quán)日:2011年12月5日
【發(fā)明者】樸俊永, 全柄文, 全勇俊, 樸勝煜, 金廷宣, 林宰顯, 亨得利·亨得利, 樸奈利, 金哲瑾 申請人:Lg電子株式會社