所述預(yù)測(cè)參考圖像列表中的固定位置,不進(jìn)行參考圖像列表調(diào)整操作。
[0268]上述第二編碼裝置30在編碼塊直接編碼IBC模式參數(shù),可以包括:在編碼單元⑶直接編碼IBC模式參數(shù)。
[0269]上述所述第二編碼裝置還可以包括:編碼IBC模式標(biāo)識(shí)信息。IBC模式標(biāo)識(shí)信息可以是直接標(biāo)識(shí)“當(dāng)前編碼塊使用IBC模式”,也可以是隱含標(biāo)識(shí)IBC模式,例如使用相關(guān)信息的組合隱含標(biāo)識(shí)IBC模式,這些相關(guān)信息的組合指示了 :“以當(dāng)前分片所在圖像中某個(gè)與當(dāng)前編碼塊同形狀和大小的區(qū)域中包含的像素點(diǎn)采樣值,作為當(dāng)前編碼塊中待編碼像素點(diǎn)采樣值的預(yù)測(cè)值”。
[0270]上述第一編碼裝置和/或所述第二編碼裝置對(duì)所述采用IBC模式的編碼塊進(jìn)行編碼,可以包括:編碼時(shí),對(duì)所述編碼塊的參考?jí)K中未編碼位置像素點(diǎn)的采樣值進(jìn)行填充。
[0271]作為本實(shí)施例的一個(gè)變例。對(duì)于幀間預(yù)測(cè)類型的分片,第一編碼裝置20在將所述分片所在圖像設(shè)置為所述分片的預(yù)測(cè)參考圖像時(shí),可以將所述分片所在圖像直接作為所述分片的預(yù)測(cè)參考圖像。而第一編碼裝置20對(duì)幀間預(yù)測(cè)類型的所述分片中采用IBC模式的編碼塊,按照第一編碼方式進(jìn)行編碼,可以使用編碼單元(CU)編碼IBC模式標(biāo)識(shí)信息,使用預(yù)測(cè)單元(PU)編碼IBC模式參數(shù)信息;或者,使用預(yù)測(cè)單元(PU)編碼IBC模式標(biāo)識(shí)信息和IBC模式參數(shù)信息。
[0272]實(shí)施例二
[0273]本實(shí)施例提供一種與實(shí)施例一編碼方法和編碼器相對(duì)應(yīng)的解碼方法及相應(yīng)的解碼器。
[0274]本實(shí)施例的解碼方法,應(yīng)用于解碼器,其對(duì)一分片的解碼過程如圖5所示,包括:
[0275]步驟210,解析分片層碼流,獲得當(dāng)前解碼分片的分片類型信息;
[0276]分片類型信息指的是分片劃分頭信息(Slice Segment Header)中由slice_type字段給出的分片類型信息。
[0277]步驟220,如果分片類型是幀間預(yù)測(cè)類型分片,則執(zhí)行步驟230 ;否則,執(zhí)行步驟260 ;
[0278]分片類型是幀間預(yù)測(cè)類型分片,意味著對(duì)當(dāng)前編碼分片使用幀間預(yù)測(cè)類型解碼。
[0279]步驟230,使用第一解碼方式,將所述分片所在圖像設(shè)置為所述分片的預(yù)測(cè)參考圖像;
[0280]本實(shí)施例中,解碼器構(gòu)造參考圖像列表,將所述分片所在圖像插入?yún)⒖紙D像列表,作為所述分片的預(yù)測(cè)參考圖像。解碼器可將所述分片所在圖像放置在參考圖像列表中的固定位置,也可自適應(yīng)地調(diào)整當(dāng)前解碼圖像在參考列表中的位置。解碼器解析碼流,獲得參考圖像列表調(diào)整信息(即參考圖像列表調(diào)整操作的相關(guān)參數(shù)),根據(jù)所述相關(guān)參數(shù),進(jìn)行參考圖像列表調(diào)整操作,調(diào)整當(dāng)前解碼圖像在預(yù)測(cè)參考圖像列表中的放置位置。
[0281]步驟240,對(duì)所述預(yù)測(cè)參考圖像中全部或部分未編碼位置像素點(diǎn)的采樣值進(jìn)行填充;
[0282]該步驟可選。為了提高預(yù)測(cè)的準(zhǔn)確性,提升編碼的性能,本實(shí)施例還對(duì)預(yù)測(cè)參考圖像進(jìn)行填充處理。
[0283]解碼器可以為預(yù)測(cè)參考圖像中全部未解碼位置的像素點(diǎn)設(shè)置采樣值;也可以只為部分未解碼位置像素點(diǎn)的采樣值進(jìn)行填充。其中,部分未解碼位置像素點(diǎn)的采樣值可以指當(dāng)前解碼塊及其相鄰解碼塊中的未解碼位置像素點(diǎn),或者指MV或BV指向的預(yù)測(cè)塊范圍內(nèi)的未編碼位置像素點(diǎn)。
[0284]在具體填充方式上,可以使用步驟140中描述的幾種填充方式,這里不再贅述。如編碼器將使用的填充方式信息寫入碼流,則解碼器可以根據(jù)從碼流中解析出的填充方式信息對(duì)預(yù)測(cè)參考圖像中未解碼位置像素點(diǎn)的采樣值進(jìn)行填充。
[0285]步驟250,對(duì)幀間預(yù)測(cè)類型分片中的解碼塊依次解碼,其中,使用第一解碼方式對(duì)所述分片中采用IBC模式的解碼塊進(jìn)行解碼,結(jié)束;
[0286]步驟260,對(duì)幀內(nèi)預(yù)測(cè)類型分片中的解碼塊依次解碼,其中,使用不同于第一解碼方式的第二解碼方式,對(duì)所述分片中采用IBC模式的解碼塊進(jìn)行解碼。
[0287]另,在步驟260之前,解碼器也可以對(duì)幀內(nèi)預(yù)測(cè)類型分片所在圖像(緩存的圖像)進(jìn)行填充,填充方式可以采用步驟240中描述的各種方式。
[0288]上述步驟250中,解碼器會(huì)依次解析分片中各CTU的碼流,對(duì)每一 CTU,依次解析CTU中各分塊(包括⑶、PU、TU中的至少之一)的碼流。對(duì)幀間預(yù)測(cè)類型分片中的當(dāng)前解碼塊解碼時(shí),如圖6所示,包括:
[0289]步驟2501,確定幀間預(yù)測(cè)類型的分片中當(dāng)前解碼塊采用的預(yù)測(cè)模式;
[0290]“解碼方式”包括模式相關(guān)參數(shù)在碼流里面的表示方法和編碼位置。在幀間預(yù)測(cè)類型的分片中,對(duì)于使用參考圖像索引隱含標(biāo)識(shí)IBC模式的情況,在解析到參考圖像索引時(shí)才能判斷出是否是IBC模式的解碼塊,此時(shí)IBC模式參數(shù)中塊劃分方式、參考圖像索引序號(hào)已經(jīng)獲得。如果IBC模式在幀間預(yù)測(cè)類型分片中使用“先標(biāo)志(flag)后參數(shù)”的“顯式”碼流組織方式,解碼器可以先確定是一個(gè)IBC模式的解碼塊再對(duì)相關(guān)模式參數(shù)解碼。其中的flag可以是IBC模式標(biāo)識(shí)。
[0291]步驟2503,如采用IBC模式,執(zhí)行步驟2505,否則,執(zhí)行步驟2509 ;
[0292]步驟2505,使用第一解碼方式對(duì)幀間預(yù)測(cè)類型分片中采用IBC模式的解碼塊進(jìn)行解碼;
[0293]本實(shí)施例使用幀間預(yù)測(cè)模式的解碼方式對(duì)所述分片中采用IBC模式的解碼塊進(jìn)行解碼,通過解析幀間預(yù)測(cè)模式的模式參數(shù)對(duì)應(yīng)的比特字段,獲得IBC模式參數(shù)。例如,可以通過解析預(yù)測(cè)單元(PU)及其中運(yùn)動(dòng)信息參數(shù)對(duì)應(yīng)的比特字段,獲得以下IBC模式參數(shù)中的至少一種:塊劃分、參考?jí)K指示矢量和參考圖像索引。
[0294]解碼器根據(jù)IBC模式參數(shù)構(gòu)造當(dāng)前解碼塊中采樣點(diǎn)取值的預(yù)測(cè)值。
[0295]步驟2507,對(duì)解碼塊解碼完成后,以該解碼塊當(dāng)前解碼圖像中已解碼位置像素點(diǎn)的恢復(fù)采樣值更新所述預(yù)測(cè)參考圖像中相應(yīng)像素點(diǎn)的采樣值,結(jié)束;
[0296]本步驟更新所述預(yù)測(cè)參考圖像中相應(yīng)像素點(diǎn)的采樣值之后,還可以采用相同的填充方式對(duì)所述預(yù)測(cè)參考圖像中未解碼位置像素點(diǎn)的采樣值進(jìn)行重新填充。
[0297]步驟2509,對(duì)幀間預(yù)測(cè)類型分片中采用其他模式的解碼塊,按照標(biāo)準(zhǔn)規(guī)定的解碼方式進(jìn)行解碼。
[0298]幀間預(yù)測(cè)類型分片中還可能存在幀間預(yù)測(cè)模式的解碼塊和普通幀內(nèi)預(yù)測(cè)模式的解碼塊,這些解碼塊的解碼方法遵循標(biāo)準(zhǔn)中的規(guī)定即可。
[0299]在本實(shí)施例的一個(gè)變例中,對(duì)于幀間預(yù)測(cè)類型的分片,使用第一解碼方式,將所述分片所在圖像設(shè)置為所述分片的預(yù)測(cè)參考圖像時(shí),可以將所述分片所在圖像直接作為所述分片的預(yù)測(cè)參考圖像。對(duì)幀間預(yù)測(cè)類型的所述分片中采用IBC模式的解碼塊,使用第一解碼方式進(jìn)行解碼,包括:
[0300]解析⑶中IBC模式標(biāo)識(shí)信息對(duì)應(yīng)的比特字段,獲得IBC模式標(biāo)識(shí)信息,解析PU中IBC模式參數(shù)對(duì)應(yīng)的比特字段,獲得IBC模式參數(shù)的取值;或者
[0301 ] 解析中IBC模式標(biāo)識(shí)信息和IBC模式參數(shù)對(duì)應(yīng)的比特字段,獲得IBC模式標(biāo)識(shí)信息和IBC模式參數(shù)的取值。
[0302]步驟260中,解碼器會(huì)依次解碼分片中各CTU的碼流,對(duì)每一 CTU,依次解碼CTU中各分塊的碼流。對(duì)幀內(nèi)預(yù)測(cè)類型分片中的當(dāng)前解碼塊解碼時(shí),如圖7所示,包括:
[0303]步驟2601,確定幀內(nèi)預(yù)測(cè)類型的分片中當(dāng)前解碼塊采用的預(yù)測(cè)模式;
[0304]本步驟中,可以通過解析解碼塊中IBC模式標(biāo)識(shí)信息對(duì)應(yīng)的比特字段,獲得IBC模式標(biāo)識(shí)信息對(duì)應(yīng)參數(shù)的取值。
[0305]例如,對(duì)應(yīng)于實(shí)施例一中所述的編碼器在碼流中標(biāo)識(shí)IBC模式的方法,解碼器通過直接解析碼流獲得IBC模式標(biāo)識(shí)信息的方法,即解析碼流中直接標(biāo)識(shí)“當(dāng)前解碼塊使用IBC模式”的標(biāo)識(shí)信息對(duì)應(yīng)的字段;或者,解碼器通過其他已解析的相關(guān)信息組合,該相關(guān)信息組合隱含標(biāo)識(shí)了“當(dāng)前解碼塊使用IBC模式”,例如,一種隱含標(biāo)識(shí)IBC模式的組合信息指示了“以當(dāng)前分片所在圖像中某個(gè)與當(dāng)前解碼塊同形狀和大小的區(qū)域中包含的像素點(diǎn)采樣值作為當(dāng)前解碼塊中待編碼像素點(diǎn)采樣值的預(yù)測(cè)值”。
[0306]步驟2603,如確定采用IBC模式,執(zhí)行步驟2605,否則,執(zhí)行步驟2609 ;
[0307]步驟2605,使用不同于第一編碼方式的第二解碼方式對(duì)幀內(nèi)預(yù)測(cè)類型分片中采用IBC模式的解碼塊進(jìn)行解碼;
[0308]本實(shí)施例中,使用第二解碼方式對(duì)所述分片中采用IBC模式的解碼塊進(jìn)行解碼,包括:解析所述解碼塊中IBC模式參數(shù)對(duì)應(yīng)的比特字段,獲得以下IBC模式參數(shù)中的至少一種:塊劃分和參考?jí)K指示矢量。例如,解析編碼單元CU中IBC模式參數(shù)對(duì)應(yīng)的比特字段,獲得IBC模式參數(shù)。在使用第二解碼方式解碼時(shí),解碼器可以使用預(yù)測(cè)參考圖像列表,將所述分片所在圖像放置在所述預(yù)測(cè)參考圖像列表中的固定位置,但不進(jìn)行參考圖像列表調(diào)整操作,即不對(duì)參考圖像列表中的圖像位置進(jìn)行自適應(yīng)調(diào)整。同時(shí),接收到的包含使用第二解碼方式進(jìn)行解碼的當(dāng)前解碼塊的分片對(duì)應(yīng)的碼流中,不存在用于執(zhí)行參考圖像列表中的圖像進(jìn)行自適應(yīng)位置調(diào)整的指示信息。
[0309]步驟2607,對(duì)解碼塊解碼完成后,以該解碼塊當(dāng)前解碼圖像中已解碼位置像素點(diǎn)的恢復(fù)采樣值更新所述分片所在圖像中相應(yīng)像素點(diǎn)的采樣值,結(jié)束。
[0310]在更新所述分片所在圖像中相應(yīng)像素點(diǎn)的采樣值之后,還可以采用相同的填充方式對(duì)所述分片所在圖像中未編碼位置像素點(diǎn)的采樣值重新填充。
[0311]步驟2609,對(duì)幀內(nèi)預(yù)測(cè)類型分片中采用其他模式的解碼塊,按照標(biāo)準(zhǔn)規(guī)定的解碼方式進(jìn)行解碼;
[0312] 幀內(nèi)預(yù)測(cè)類型分片中還可能存在普通幀內(nèi)預(yù)測(cè)模式的解碼塊,這些解碼塊的解碼方法遵循標(biāo)準(zhǔn)中的規(guī)定即可。
[0313]相應(yīng)地,如圖8所示,本實(shí)施例提供的解碼器包括:
[0314]類型解析裝置50,用于解析碼流,獲得分片類型信息;
[0315]第一解碼裝置60,用于對(duì)幀間預(yù)測(cè)類型的分片解碼,解碼時(shí),使用第一解碼方式,將所述分片所在圖像設(shè)置為所述分片的預(yù)測(cè)參考圖像,并對(duì)所述分片中采用幀內(nèi)塊復(fù)制(IBC)模式的解碼塊進(jìn)行解碼;
[0316]第二解碼裝置70,用于對(duì)幀內(nèi)預(yù)測(cè)類型的分片解碼,解碼時(shí),使用不同于第一解碼方式的第二解碼方式,對(duì)所述分片中采用IBC模式的解碼塊進(jìn)行解碼。
[0317]上述第一解碼裝置60對(duì)幀間預(yù)測(cè)類型的分片解碼時(shí),將所述分片所在圖像設(shè)置為所述分片的預(yù)測(cè)參考圖像,可以包括:將所述分片所在圖像插入預(yù)測(cè)參考圖像列表,作為所述分片的預(yù)測(cè)參考圖像。解碼器使用第一解碼方式,將所述分片所在圖像設(shè)置為所述分片的預(yù)測(cè)參考圖像,還可以包括:解析碼流,獲得參考圖像列表調(diào)整信息(即參考圖像列表調(diào)整操作的相關(guān)參數(shù));根據(jù)所述相關(guān)參數(shù),進(jìn)行參考圖像列表調(diào)整操作,對(duì)當(dāng)前解碼圖像在參考圖像列表中的位置進(jìn)行調(diào)整。
[0318]上述第一解碼裝置60使用第一解碼方式,對(duì)所述分片中采用IBC模式的解碼塊進(jìn)行解碼,可以包括:使用幀間預(yù)測(cè)模式的解碼方式對(duì)所述分片中采用IBC模式的解碼塊進(jìn)行解碼,通過解析幀間預(yù)測(cè)模式的模式參數(shù)對(duì)應(yīng)的比特字段,獲得IBC模式參數(shù)。
[0319]上述第一解碼裝置60通過解析幀間預(yù)測(cè)模式的模式參數(shù)對(duì)應(yīng)的比特字段,獲得IBC模式參數(shù),可以包括:通過解析預(yù)測(cè)單元(PU)及其中運(yùn)動(dòng)信息參數(shù)對(duì)應(yīng)的比特字段,獲得以下IBC模式參數(shù)中的至少一種:塊劃分、參考?jí)K指示矢量和參考圖像索引。
[0320]上述第二解碼裝置70使用不同于第一解碼方式的第二解碼方式,對(duì)所述分片中采用IBC模式的解碼塊進(jìn)行解碼,可以包括:解析所述解碼塊中IBC模式參數(shù)對(duì)應(yīng)的比特字段,獲得以下IBC模式參數(shù)中的至少一種:塊劃分和參考?jí)K指示矢量。使用第二解碼方式進(jìn)行解碼時(shí),可以使用預(yù)測(cè)參考圖像列表,將所述分片所在圖像放置在所述預(yù)測(cè)參考圖像列表中的固定位置,但解碼器不對(duì)參考圖像列表中圖像的位置進(jìn)行自適應(yīng)調(diào)整。
[0321]上述第二解碼裝置70解析所述解碼塊中IBC模式參數(shù)對(duì)應(yīng)的比特字段,可以包括:解析編碼單元CU中IBC模式參數(shù)對(duì)應(yīng)的比特字段,獲得IBC模式參數(shù)。
[0322]上述第二解碼裝置70解析所述解碼塊中IBC模式參數(shù)對(duì)應(yīng)的比特字段之前,還可以包括:解析解碼塊中IBC模式標(biāo)識(shí)信息對(duì)應(yīng)的比特字段,獲得IBC模式標(biāo)識(shí)信息對(duì)應(yīng)參數(shù)的取值。需要說明的是,碼流中,IBC模式標(biāo)識(shí)信息可以是直接標(biāo)識(shí)“當(dāng)前解碼塊使用IBC模式”,也可以是隱含標(biāo)識(shí)IBC模式,例如,相關(guān)信息組合指示了 “以當(dāng)前分片所在圖像中某個(gè)與當(dāng)前解碼塊同形狀和大小的區(qū)域中包含的像素點(diǎn)作為當(dāng)前解碼塊中待解碼像素采樣值的預(yù)測(cè)值”時(shí),該相關(guān)信息組合可隱含標(biāo)識(shí)IBC模式。
[0323]上述第一解碼裝置和/或所述第二解碼裝置對(duì)所述采用IBC模式的解碼塊解碼,可以包括:解碼時(shí),對(duì)所述解碼塊的參考?jí)K中未解碼位置像素點(diǎn)的采樣值進(jìn)行填充。
[0324]作為本實(shí)施例的一個(gè)變例,對(duì)于幀間預(yù)測(cè)類型的分片,第一解碼裝置60使用第一解碼方式,將所述分片所在圖像設(shè)置為所述分片的預(yù)測(cè)參考圖像時(shí),可以將所述分片所在圖像直接作為所述分片的預(yù)測(cè)參考圖像。第一解碼裝置60使用第一解碼方式,對(duì)幀間預(yù)測(cè)類型的所述分片中采用IBC模式的解碼塊進(jìn)行解碼時(shí),可以包括:解析CU中IBC模式標(biāo)識(shí)信息對(duì)應(yīng)的比特字段,獲得IBC模式標(biāo)識(shí)信息;解析PU中IBC模式參數(shù)對(duì)應(yīng)的比特字段,獲得IBC模式參數(shù)的取值;或者,解析PU中IBC模式標(biāo)識(shí)信息和IBC模式參數(shù)對(duì)應(yīng)的比特字段,獲得IBC模式標(biāo)識(shí)信息和IBC模式參數(shù)的取值。
[0325] 實(shí)施例三:
[0326] 本實(shí)施例提供一種電子設(shè)備,包括編碼器和/或解碼器,其中,所述電子設(shè)備可使用實(shí)施例一的編碼器來產(chǎn)生視頻碼流;和/或,使用實(shí)施例二中的解碼器來解碼視頻碼流。
[0327] 本實(shí)施例的電子設(shè)備可以是視頻通信應(yīng)用中相關(guān)碼流生成設(shè)備和接收播放設(shè)備,例如,手機(jī)、計(jì)算機(jī)、服務(wù)器、機(jī)頂盒、便攜式移動(dòng)終端、數(shù)字?jǐn)z像機(jī),電視廣播系統(tǒng)設(shè)備等。[〇328] 實(shí)施例四
[0329] 本實(shí)施例提供一種圖像填充方法,應(yīng)用于預(yù)測(cè)編碼和/或解碼過程,其流程如圖9所示,包括:
[0330] 步驟310,確定對(duì)編碼單位做預(yù)測(cè)編碼和/或?qū)獯a單位做解碼時(shí)作為參考的圖像;
[0331 ] 此處的編碼單位可以是前述實(shí)施例中的編碼塊但不局限于此,編碼塊采用的模式也不局限于任何一種,可以是IBC模式,幀間預(yù)測(cè)模式、普通幀內(nèi)預(yù)測(cè)模式等等。此處作為參考的圖像,可以是前述的預(yù)測(cè)參考圖像,分片所在圖像等,但本發(fā)明也不局限于此。
[0332] 步驟320,對(duì)所述圖像中未編碼和/或未解碼位置像素點(diǎn)的采樣值進(jìn)行填充。
[0333] 對(duì)所述圖像中未編碼位置像素點(diǎn)的采樣值進(jìn)行填充,所述未編碼位置像素點(diǎn)可以是