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

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

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

      用于塊內(nèi)復(fù)制的系統(tǒng)和方法與流程

      文檔序號:12290220閱讀:235來源:國知局
      用于塊內(nèi)復(fù)制的系統(tǒng)和方法與流程

      本發(fā)明大體上涉及視頻譯碼,且更確切地說涉及用于塊內(nèi)復(fù)制的技術(shù)和系統(tǒng)。



      背景技術(shù):

      許多裝置和系統(tǒng)允許視頻數(shù)據(jù)得到處理并且輸出用于消耗。數(shù)字視頻數(shù)據(jù)包含大量數(shù)據(jù)以滿足消費(fèi)者和視頻提供商的需求。舉例來說,視頻數(shù)據(jù)的消費(fèi)者希望視頻具有最佳的質(zhì)量以及高保真度、分辨率、幀率等等。因此,需要滿足這些需求的大量視頻數(shù)據(jù)給處理和存儲視頻數(shù)據(jù)的通信網(wǎng)絡(luò)和裝置造成了負(fù)擔(dān)。

      各種視頻譯碼技術(shù)可用于壓縮視頻數(shù)據(jù)。根據(jù)一或多個(gè)視頻譯碼標(biāo)準(zhǔn)執(zhí)行視頻譯碼。舉例來說,視頻譯碼標(biāo)準(zhǔn)包含高效視頻譯碼(HEVC)、高級視頻譯碼(AVC)、移動圖片專家組(MPEG)譯碼或類似物。視頻譯碼通常使用預(yù)測方法(例如,幀間預(yù)測、幀內(nèi)預(yù)測、或類似物),這些預(yù)測方法利用存在于視頻圖像或序列中的冗余。視頻譯碼技術(shù)的重要目標(biāo)是使用較低位速率將視頻數(shù)據(jù)壓縮成表格,同時(shí)避免或最小化視頻質(zhì)量的降級。隨著不斷演進(jìn)的視頻服務(wù)變得可供使用,需要具有更好的譯碼效率的編碼技術(shù)。



      技術(shù)實(shí)現(xiàn)要素:

      在一些實(shí)施例中,描述用于執(zhí)行塊內(nèi)復(fù)制的技術(shù)和系統(tǒng)。在一些實(shí)例中,當(dāng)啟用塊內(nèi)復(fù)制預(yù)測時(shí)可以在一或多個(gè)預(yù)測技術(shù)上施加某些限制。舉例來說,當(dāng)執(zhí)行塊內(nèi)復(fù)制預(yù)測技術(shù)時(shí)可以停用一或多個(gè)預(yù)測技術(shù)。在另一個(gè)實(shí)例中,當(dāng)預(yù)測塊大小小于或等于塊大小時(shí)可以停用一或多個(gè)預(yù)測技術(shù)。本文中描述了用于控制預(yù)測技術(shù)的使用的其它實(shí)例。

      在一些實(shí)施例中,描述用于選擇性地確定用于塊內(nèi)復(fù)制預(yù)測技術(shù)的參考塊的技術(shù)和系統(tǒng)。舉例來說,在執(zhí)行塊內(nèi)復(fù)制預(yù)測時(shí)用于選擇使用的參考塊的技術(shù)可以確定從被視為用于塊內(nèi)復(fù)制預(yù)測的塊中排除使用雙向預(yù)測編碼的塊。本文中描述了其它實(shí)例以用于選擇性地確定在執(zhí)行塊內(nèi)復(fù)制預(yù)測時(shí)使用的參考塊。

      通過根據(jù)本文中論述的各個(gè)方面和特征執(zhí)行塊內(nèi)復(fù)制技術(shù),減小了存儲器帶寬和/或大小需求。

      一個(gè)發(fā)明性方面是對包含多個(gè)圖片的視頻數(shù)據(jù)進(jìn)行編碼的方法。所述方法包含在圖片中的一個(gè)的塊上執(zhí)行圖片內(nèi)預(yù)測以產(chǎn)生預(yù)測單元。執(zhí)行圖片內(nèi)預(yù)測包含選擇用于譯碼樹單元(CTU)的塊內(nèi)復(fù)制預(yù)測的參考塊,其中參考塊是選自多個(gè)編碼塊的,并且其中排除在CTU內(nèi)通過雙向預(yù)測編碼的塊而不予以選擇為參考塊。執(zhí)行圖片內(nèi)預(yù)測還包含通過所選定的參考塊執(zhí)行塊內(nèi)復(fù)制預(yù)測以產(chǎn)生預(yù)測單元。所述方法還包含基于執(zhí)行的圖片內(nèi)預(yù)測產(chǎn)生編碼預(yù)測單元的語法元素。

      另一發(fā)明性方面是對包含多個(gè)圖片的視頻數(shù)據(jù)進(jìn)行編碼的設(shè)備。所述設(shè)備包含存儲器和處理器,所述存儲器經(jīng)配置以存儲視頻數(shù)據(jù)。處理器經(jīng)配置以在圖片中的一個(gè)的塊上執(zhí)行圖片內(nèi)預(yù)測以產(chǎn)生預(yù)測單元。執(zhí)行圖片內(nèi)預(yù)測包含選擇用于譯碼樹單元(CTU)的塊內(nèi)復(fù)制預(yù)測的參考塊,其中所選定的參考塊是選自多個(gè)編碼塊的,并且其中排除在CTU內(nèi)通過雙向預(yù)測編碼的塊而不予以選擇為參考塊。執(zhí)行圖片內(nèi)預(yù)測包含在參考塊上執(zhí)行塊內(nèi)復(fù)制預(yù)測以產(chǎn)生預(yù)測單元中的一個(gè)。所述處理器還經(jīng)配置以基于執(zhí)行的圖片內(nèi)預(yù)測產(chǎn)生編碼預(yù)測單元的語法元素。

      另一發(fā)明性方面是編碼器的計(jì)算機(jī)可讀媒體,所述計(jì)算機(jī)可讀媒體具有存儲在其上的指令,在由處理器執(zhí)行這些指令時(shí)使得所述處理器執(zhí)行方法。所述方法包含在圖片中的一個(gè)的塊上執(zhí)行圖片內(nèi)預(yù)測以產(chǎn)生預(yù)測單元。執(zhí)行圖片內(nèi)預(yù)測包含選擇用于譯碼樹單元(CTU)的塊內(nèi)復(fù)制預(yù)測的參考塊,其中所選定的參考塊是選自多個(gè)編碼塊的,并且其中排除在CTU內(nèi)通過雙向預(yù)測編碼的塊而不予以選擇為參考塊。執(zhí)行圖片內(nèi)預(yù)測還包含在參考塊上執(zhí)行塊內(nèi)復(fù)制預(yù)測以產(chǎn)生預(yù)測單元中的一個(gè)。所述方法還包含基于執(zhí)行的圖片內(nèi)預(yù)測產(chǎn)生編碼預(yù)測單元的語法元素。

      本發(fā)明內(nèi)容并非意圖識別所主張的標(biāo)的物的關(guān)鍵特征或基本特征,也并非意圖單獨(dú)用于確定所主張的標(biāo)的物的范圍。標(biāo)的物應(yīng)參考此專利的整個(gè)說明書的適當(dāng)部分、任何或所有圖式以及每一權(quán)利要求來理解。

      在參考以下說明書、權(quán)利要求書以及附圖之后,前述內(nèi)容連同其它特征和實(shí)施例將變得更顯而易見。

      附圖說明

      下文將參考以下圖式詳細(xì)描述本發(fā)明的說明性實(shí)施例:

      圖1是根據(jù)一些實(shí)施例說明編碼裝置和解碼裝置的實(shí)例的方塊圖。

      圖2是說明塊內(nèi)復(fù)制過程的方塊圖。

      圖3是說明具有分散塊向量的塊內(nèi)復(fù)制過程的方塊圖。

      圖4是說明具有在多個(gè)單元片上分散的塊向量的塊內(nèi)復(fù)制過程的方塊圖。

      圖5說明編碼視頻數(shù)據(jù)的過程的實(shí)施例。

      圖6說明解碼視頻數(shù)據(jù)的過程的實(shí)施例。

      圖7說明編碼視頻數(shù)據(jù)的過程的實(shí)施例。

      圖8是根據(jù)一些實(shí)施例說明實(shí)例視頻編碼器的方塊圖。

      圖9是根據(jù)一些實(shí)施例說明實(shí)例視頻解碼器的方塊圖。

      具體實(shí)施方式

      下文提供了本發(fā)明的某些方面和實(shí)施例。如所屬領(lǐng)域的技術(shù)人員所顯而易見的,這些方面和實(shí)施例中的一些可以獨(dú)立地應(yīng)用并且它們中的一些可以組合應(yīng)用。在以下描述中,出于說明的目的,闡述特定細(xì)節(jié)以便提供對本發(fā)明的實(shí)施例的透徹理解。然而,將顯而易見的是,可在無這些特定細(xì)節(jié)的情況下實(shí)踐各種實(shí)施例。圖式和描述并不意圖為限制性的。

      以下描述僅提供示例性實(shí)施例,且并不意圖限制本發(fā)明的范圍、適用性或配置。實(shí)際上,示例性實(shí)施例的以下描述將為所屬領(lǐng)域的技術(shù)人員提供用于實(shí)施示例性實(shí)施例的啟發(fā)性描述。應(yīng)理解,在不脫離如在所附權(quán)利要求書中所闡述的本發(fā)明的精神和范圍的情況下,可對元件的功能和布置進(jìn)行各種改變。

      在以下描述中給出具體細(xì)節(jié)以提供對實(shí)施例的透徹理解。然而,所屬領(lǐng)域的一般技術(shù)人員應(yīng)理解,所述實(shí)施例可在沒有這些特定細(xì)節(jié)的情況下實(shí)踐。舉例來說,電路、系統(tǒng)、網(wǎng)絡(luò)、過程和其它組件可以方塊圖形式示出為組件以免以不必要的細(xì)節(jié)混淆實(shí)施例。在其它情況下,可以在沒有不必要的細(xì)節(jié)的情況下展示眾所周知的電路、過程、算法、結(jié)構(gòu)以及技術(shù)以免混淆實(shí)施例。

      并且,應(yīng)注意,個(gè)體實(shí)施例可描述為經(jīng)描繪為流程圖、作業(yè)圖、數(shù)據(jù)流圖、結(jié)構(gòu)圖或方塊圖的過程。雖然流程圖可將操作描述為順序過程,但許多操作可并行或同時(shí)執(zhí)行。另外,操作的順序可以重新布置。過程在其操作完成時(shí)終止,但是可以具有不包含在圖中的額外步驟。過程可對應(yīng)于方法、函數(shù)、過程、子例程、子程序等。當(dāng)過程對應(yīng)于函數(shù)時(shí),過程的終止可對應(yīng)于函數(shù)返回到調(diào)用函數(shù)或主函數(shù)。

      術(shù)語“計(jì)算機(jī)可讀媒體”包含但不限于便攜式或非便攜式存儲裝置、光學(xué)存儲裝置以及能夠存儲、包含或運(yùn)載指令和/或數(shù)據(jù)的各種其它媒體。計(jì)算機(jī)可讀媒體可包含非暫時(shí)性媒體,在非暫時(shí)性媒體中可以存儲數(shù)據(jù),并且非暫時(shí)性媒體并不包含無線地或在有線連接上傳播的載波和/或暫時(shí)性電子信號。非暫時(shí)性媒體的實(shí)例可包含(但不限于)磁盤或磁帶、光學(xué)存儲媒體,例如光盤(CD)或數(shù)字通用光盤(DVD)、快閃存儲器、存儲器或存儲器裝置。計(jì)算機(jī)可讀媒體可具有存儲在其上的可表示過程、函數(shù)、子程序、程序、例程、子例程、模塊、軟件包、類別的代碼和/或機(jī)器可執(zhí)行指令,或指令、數(shù)據(jù)結(jié)構(gòu)或程序語句的任何組合。代碼段可以通過傳遞和/或接收信息、數(shù)據(jù)、自變量、參數(shù)或存儲器內(nèi)容而耦合到另一代碼段或硬件電路。信息、自變量、參數(shù)、數(shù)據(jù)等可經(jīng)由包含存儲器共享、消息傳遞、令牌傳遞、網(wǎng)絡(luò)傳輸或類似物的任何合適的手段傳遞、轉(zhuǎn)發(fā)或傳輸。

      此外,實(shí)施例可以由硬件、軟件、固件、中間件、微碼、硬件描述語言或其任何組合來實(shí)施。當(dāng)以軟件、固件、中間件或微碼實(shí)施時(shí),用以執(zhí)行必要任務(wù)的程序代碼或代碼段(例如,計(jì)算機(jī)程序產(chǎn)品)可存儲在計(jì)算機(jī)可讀或機(jī)器可讀媒體中。處理器可以執(zhí)行必要任務(wù)。

      本文中描述了使用視頻編碼器和解碼器的視頻譯碼的若干系統(tǒng)和方法。舉例來說,一或多個(gè)系統(tǒng)和方法涉及不可用層、層集合和操作點(diǎn)的處理,以及多層視頻譯碼中的代表格式參數(shù)的限制。

      隨著更多裝置和系統(tǒng)為消費(fèi)者提供消耗數(shù)字視頻數(shù)據(jù)的能力,對于高效視頻譯碼技術(shù)的需要變得更加重要。需要視頻譯碼以減少處理存在于數(shù)字視頻數(shù)據(jù)中的大量數(shù)據(jù)所必需的存儲和傳輸需要。各種視頻譯碼技術(shù)可用于使用較低位速率將視頻數(shù)據(jù)壓縮成表格同時(shí)維持高視頻質(zhì)量。

      圖1是說明包含編碼裝置104和解碼裝置112的系統(tǒng)100的實(shí)例的方塊圖。編碼裝置104可以是源裝置的一部分,并且解碼裝置112可以是接收裝置的一部分。源裝置和/或接收裝置可以包含電子裝置,例如,移動或靜止電話手持機(jī)(例如,智能電話、蜂窩式電話或類似物)、桌上型計(jì)算機(jī)、膝上型計(jì)算機(jī)或筆記本電腦、平板計(jì)算機(jī)、機(jī)頂盒、電視、相機(jī)、顯示裝置、數(shù)字媒體播放器、視頻游戲控制臺、視頻流式傳輸裝置或任何其它合適的電子裝置。在一些實(shí)例中,源裝置和接收裝置可以包含一或多個(gè)無線收發(fā)器以用于無線通信。本文中描述的譯碼技術(shù)適用于各種多媒體應(yīng)用中的視頻譯碼,包含串流視頻傳輸(例如,在互聯(lián)網(wǎng)上)、電視廣播或傳輸、數(shù)字視頻的編碼以用于存儲在數(shù)據(jù)存儲媒體上、存儲在數(shù)據(jù)存儲媒體上的數(shù)字視頻的解碼或其它應(yīng)用。在一些實(shí)例中,系統(tǒng)100可以支持單向或雙向視頻傳輸,以支持例如視頻會議、視頻流式傳輸、視頻重放、視頻廣播游戲和/或視頻電話的應(yīng)用。

      編碼裝置104(或編碼器)可用于使用視頻譯碼標(biāo)準(zhǔn)或協(xié)議對視頻數(shù)據(jù)進(jìn)行編碼以產(chǎn)生經(jīng)編碼視頻位流。視頻譯碼標(biāo)準(zhǔn)包含ITU-T H.261、ISO/IEC MPEG-1Visual、ITU-T H.262或ISO/IEC MPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual和ITU-T H.264(也稱為ISO/IEC MPEG-4AVC),包含其可縮放視頻譯碼(SVC)和多視圖視頻譯碼(MVC)擴(kuò)展。更為新近的視頻譯碼標(biāo)準(zhǔn)、高效視頻譯碼(HEVC)已經(jīng)由ITU-T視頻譯碼專家組(VCEG)和ISO/IEC動畫專家組(MPEG)的視頻譯碼聯(lián)合協(xié)作小組(JCT-VC)完成。HEVC的各種擴(kuò)展應(yīng)對多層視頻譯碼并且也是由JCT-VC研發(fā)出來的,包含HEVC的多視圖擴(kuò)展(被稱作MV-HEVC)以及HEVC的可縮放擴(kuò)展(被稱作SHVC)或任何其它合適的譯碼協(xié)議。HEVC草案規(guī)范可得自:http://phenix.it-sudparis.eu/jct/doc_end_user/documents/17_Valencia/wg11/JCTVC-Q1003-v1.zip。MV-HEVC的工作草案可得自:http://phenix.it-sudparis.eu/jct2/doc_end_user/documents/8_Valencia/wg11/JCT3V-H1002-v5.zip。SHVC的工作草案得自:http://phenix.it-sudparis.eu/jct/doc_end_user/documents/17_Valencia/wg11/JCTVC-Q1008-v2.zip。

      本文中描述的許多實(shí)施例使用HEVC標(biāo)準(zhǔn)或其擴(kuò)展來描述實(shí)例。然而,本文中描述的技術(shù)和系統(tǒng)也可以適用于其它譯碼標(biāo)準(zhǔn),例如,AVC、MPEG、其擴(kuò)展或其它合適的譯碼標(biāo)準(zhǔn)。相應(yīng)地,雖然本文中描述的技術(shù)和系統(tǒng)可以參考特定視頻譯碼標(biāo)準(zhǔn)描述,但是所屬領(lǐng)域的一般技術(shù)人員將理解描述不應(yīng)解釋為僅適用于特定標(biāo)準(zhǔn)。

      視頻源102可以將視頻數(shù)據(jù)提供到編碼裝置104。視頻源102可以是源裝置的一部分,或者除了源裝置外的裝置的一部分。視頻源102可以包含視頻捕獲裝置(例如,攝像機(jī)、相機(jī)電話、視頻電話或類似物)、包含存儲的視頻的視頻存檔、提供視頻數(shù)據(jù)的視頻服務(wù)器或內(nèi)容提供商、從視頻服務(wù)器或內(nèi)容提供商接收視頻的視頻饋送接口、用于產(chǎn)生計(jì)算機(jī)圖形視頻數(shù)據(jù)的計(jì)算機(jī)圖形系統(tǒng)、此類來源的組合或任何其它合適的視頻源。

      來自視頻源102的視頻數(shù)據(jù)可以包含一或多個(gè)輸入圖片或幀。圖片或幀是視頻的一部分的靜態(tài)圖像。編碼裝置104的編碼器引擎106(或編碼器)對視頻數(shù)據(jù)進(jìn)行編碼以產(chǎn)生經(jīng)編碼視頻位流。舉例來說,HEVC位流可以包含被稱作網(wǎng)絡(luò)抽象層(NAL)單元的一系列數(shù)據(jù)單元。在HEVC標(biāo)準(zhǔn)中存在兩類NAL單元,包含視頻譯碼層(VCL)NAL單元和非VCL NAL單元。VCL NAL單元包含經(jīng)譯碼的圖片數(shù)據(jù)的一個(gè)切片或切片段(下文描述),非VCL NAL單元包含涉及多個(gè)經(jīng)譯碼圖片的控制信息。經(jīng)譯碼的圖片和對應(yīng)于經(jīng)譯碼的圖片的非VCL NAL單元(如果存在)被稱作存取單元(AU)。

      NAL單元可以包含形成視頻數(shù)據(jù)的經(jīng)譯碼表示的一系列位,例如,視頻中的圖片的經(jīng)譯碼的表示。編碼器引擎106通過將每個(gè)圖片分割成多個(gè)切片來產(chǎn)生經(jīng)譯碼表示。切片不依賴于其它切片使得切片中的信息得到譯碼而無需依賴于來自相同圖片內(nèi)的其它切片的數(shù)據(jù)。切片包含一或多個(gè)切片段,包含獨(dú)立的切片段,并且如果存在的話,包含取決于先前切片段的一或多個(gè)依賴性切片段。切片隨后被分割成亮度樣本和色度樣本的譯碼樹塊(CTB)。亮度樣本的CTB和色度樣本的一或多個(gè)CTB連同樣本的語法一起被稱作譯碼樹單元(CTU)。CTU是用于HEVC編碼的基礎(chǔ)處理單元。CTU可以被分成不同大小的多個(gè)譯碼單元(CU)。CU包含被稱作譯碼塊(CB)的亮度和色度樣本陣列。

      亮度和色度CB可以進(jìn)一步分成預(yù)測塊(PB)。PB是使用用于幀間預(yù)測的相同運(yùn)動參數(shù)的亮度或色度分量的樣本的塊。亮度PB和一或多個(gè)色度PB連同相關(guān)聯(lián)的語法形成預(yù)測單元(PU)。一組運(yùn)動參數(shù)在位流中用信號發(fā)送用于每個(gè)PU并且用于亮度PB和一或多個(gè)色度PB的幀間預(yù)測。CB也可以被分割成一或多個(gè)變換塊(TB)。TB表示色彩分量的樣本的正方塊,在TB上面相同二維變換適用于譯碼預(yù)測殘余信號。變換單元(TU)表示亮度和色度樣本的TB以及對應(yīng)的語法元素。

      CU的大小對應(yīng)于譯碼節(jié)點(diǎn)的大小,且形狀為正方形。舉例來說,CU的大小可以是8×8個(gè)樣本、16×16個(gè)樣本、32x 32個(gè)樣本、64x 64個(gè)樣本,或高達(dá)對應(yīng)的CTU的大小的任何其它適當(dāng)大小。本文中使用短語“N×N”指代就垂直和水平尺寸而言的視頻塊的像素尺寸(例如,8像素x 8像素)。塊中的像素可以按行和列布置。在一些實(shí)施例中,塊可以在水平方向上不具有與在垂直方向上相同數(shù)目的像素。舉例來說,與CU相關(guān)聯(lián)的語法數(shù)據(jù)可描述將CU分割成一或多個(gè)PU。分割模式可在CU經(jīng)幀內(nèi)預(yù)測模式編碼或是經(jīng)幀間預(yù)測模式編碼之間有所不同。PU可分割成非正方形形狀。舉例來說,與CU相關(guān)聯(lián)的語法數(shù)據(jù)還可描述CU根據(jù)CTU分割成一或多個(gè)TU。TU可為正方形或非正方形形狀。

      根據(jù)HEVC標(biāo)準(zhǔn),使用變換單元(TU)執(zhí)行變換。TU可以針對不同CU發(fā)生改變。TU可以基于給定CU內(nèi)的PU的大小得大小設(shè)定。TU可與PU大小相同或小于PU。在一些實(shí)例中,對應(yīng)于CU的殘余樣本可使用被稱為“殘余四叉樹”(RQT)的四叉樹結(jié)構(gòu)細(xì)分成較小單元。RQT的葉節(jié)點(diǎn)可以對應(yīng)于TU??梢詫εcTU相關(guān)聯(lián)的像素差值進(jìn)行變換以產(chǎn)生變換系數(shù)。變換系數(shù)可隨后通過編碼器引擎106進(jìn)行量化。

      一旦視頻數(shù)據(jù)的圖片被分割成CU,則編碼器引擎106使用預(yù)測模式預(yù)測每個(gè)PU。隨后從原始視頻數(shù)據(jù)中減去預(yù)測以獲得殘余(下文描述)。對于每個(gè)CU,預(yù)測模式可以在位流內(nèi)部使用語法數(shù)據(jù)用信號發(fā)送。預(yù)測模式可以包含幀內(nèi)預(yù)測(或圖片內(nèi)預(yù)測)或幀間預(yù)測(或圖片間預(yù)測)。使用幀內(nèi)預(yù)測,每個(gè)PU是從相同圖片中的相鄰圖像數(shù)據(jù)中預(yù)測的,方法是使用例如DC預(yù)測以尋找PU的平均值、使用平面預(yù)測以使規(guī)劃表面與PU適配、使用方向預(yù)測以從相鄰數(shù)據(jù)中進(jìn)行推斷,或者使用任何其它合適類型的預(yù)測。使用幀間預(yù)測,每個(gè)PU是使用運(yùn)動補(bǔ)償預(yù)測從一或多個(gè)參考圖片中的圖像數(shù)據(jù)預(yù)測的(在當(dāng)前圖片按輸出順序之前或之后)。舉例來說,可以在CU層級處作出是否使用圖片間或圖片內(nèi)預(yù)測對圖片區(qū)域進(jìn)行譯碼的決策。

      幀間預(yù)測使用單向預(yù)測,每個(gè)預(yù)測塊使用最多一個(gè)運(yùn)動補(bǔ)償預(yù)測信號,并且產(chǎn)生P個(gè)預(yù)測單元。幀間預(yù)測使用雙向預(yù)測,每個(gè)預(yù)測塊使用最多兩個(gè)運(yùn)動補(bǔ)償預(yù)測信號,并且產(chǎn)生B個(gè)預(yù)測單元。

      PU可以包含涉及預(yù)測過程的數(shù)據(jù)。舉例來說,當(dāng)PU使用幀內(nèi)預(yù)測編碼時(shí),PU可包含描述PU的幀內(nèi)預(yù)測模式的數(shù)據(jù)。作為另一實(shí)例,當(dāng)PU使用幀間預(yù)測編碼時(shí),PU可以包含定義PU的運(yùn)動向量的數(shù)據(jù)。舉例來說,定義PU的運(yùn)動向量的數(shù)據(jù)可以描述運(yùn)動向量的水平分量、運(yùn)動向量的垂直分量、運(yùn)動向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、運(yùn)動向量指向的參考圖片和/或運(yùn)動向量的參考圖片列表(例如,列表0、列表1或列表C)。

      編碼器104可隨后執(zhí)行變換和量化。舉例來說,在預(yù)測之后,編碼器引擎106可以計(jì)算對應(yīng)于PU的殘余值。殘余值可以包括像素差值。在預(yù)測執(zhí)行之后可能剩余的任何殘余數(shù)據(jù)是使用塊變換進(jìn)行變換的,所述塊變換可以基于離散余弦變換、離散正弦變換、整數(shù)變換、小波變換或其它合適的變換功能。在一些情況下,一或多個(gè)塊變換(例如,大小32x 32、16x 16、8x 8、4x 4或類似物)可以應(yīng)用于每個(gè)CU中的殘余數(shù)據(jù)。在一些實(shí)施例中,TU可以用于通過編碼器引擎106實(shí)施的變換和量化過程。具有一或多個(gè)PU的給定CU還可包含一或多個(gè)TU。如下文中進(jìn)一步描述,殘余值可以使用塊變換變換成變換系數(shù),且隨后可以使用TU進(jìn)行量化和掃描以產(chǎn)生用于熵譯碼的串行變換系數(shù)。

      在一些實(shí)施例中在使用CU的PU的幀內(nèi)預(yù)測或幀間預(yù)測譯碼之后,編碼器引擎106可以計(jì)算針對CU的TU的殘余數(shù)據(jù)。PU可以包括空間域(或像素域)中的像素?cái)?shù)據(jù)。TU可包括在塊變換的應(yīng)用之后的變換域中的系數(shù)。如前文所述,殘余數(shù)據(jù)可以對應(yīng)于在未經(jīng)編碼圖片的像素與對應(yīng)于PU的預(yù)測值之間的像素差值。編碼器引擎106可以形成包含CU的殘余數(shù)據(jù)的TU,并且可隨后變換TU以產(chǎn)生用于CU的變換系數(shù)。

      編碼器引擎106可以執(zhí)行變換系數(shù)的量化。量化提供進(jìn)一步壓縮,方法是對變換系數(shù)進(jìn)行量化以減小用于表示系數(shù)的數(shù)據(jù)的數(shù)量。舉例來說,量化可以減小與系數(shù)中的一些或全部相關(guān)聯(lián)的位深度。在一個(gè)例子中,可在量化期間將具有n位值的系數(shù)向下舍入到m位值,其中n大于m。

      一旦執(zhí)行量化,經(jīng)譯碼位流包含經(jīng)量化變換系數(shù)、預(yù)測信息(例如,預(yù)測模式、運(yùn)動向量或類似物)、分割信息和任何其它合適的數(shù)據(jù),例如,其它語法數(shù)據(jù)。經(jīng)譯碼位流的不同元素可隨后通過編碼器引擎106得到熵編碼。在一些實(shí)例中,編碼器引擎106可利用預(yù)定義掃描順序來掃描經(jīng)量化的變換系數(shù)以產(chǎn)生可經(jīng)熵編碼的串行化向量。在一些實(shí)例中,編碼器引擎106可以執(zhí)行自適應(yīng)掃描。在掃描經(jīng)量化變換系數(shù)以形成一維向量之后,編碼器引擎106可對一維向量進(jìn)行熵編碼。舉例來說,編碼器引擎106可以使用上下文適應(yīng)性可變長度譯碼、上下文自適應(yīng)二進(jìn)制算術(shù)譯碼、基于語法的上下文自適應(yīng)二進(jìn)制算術(shù)譯碼、概率區(qū)間分割熵譯碼或另一合適的熵編碼技術(shù)。

      如先前描述,HEVC位流包含一組NAL單元。形成經(jīng)譯碼視頻位流的位的序列存在于VCL NAL單元中。除其它信息之外,非VCL NAL單元可以包含具有涉及經(jīng)編碼視頻位流的高層級信息的參數(shù)集。舉例來說,參數(shù)集可以包含視頻參數(shù)集(VPS)、序列參數(shù)集(SPS)和圖片參數(shù)集(PPS)。參數(shù)集的目標(biāo)是位速率效率、錯(cuò)誤恢復(fù)性且提供系統(tǒng)層接口。每一切片參考單個(gè)激活的PPS、SPS和VPS以存取解碼裝置112可以用于解碼切片的信息。標(biāo)識符(ID)可以經(jīng)譯碼用于每個(gè)參數(shù)集,包含VPS ID、SPS ID和PPS ID。SPS包含SPS ID和VPS ID。PPS包含PPS ID和SPS ID。每一切片標(biāo)頭包含PPS ID。使用ID,可以針對給定切片識別激活的參數(shù)集。

      PPS包含應(yīng)用于給定圖片中的全部切片的信息。因?yàn)檫@一點(diǎn),圖片中的全部切片指代相同PPS。不同圖片中的切片也可以指代相同PPS。SPS包含適用于相同經(jīng)譯碼視頻序列或位流中的所有圖片的信息。經(jīng)譯碼視頻序列是一系列存取單元,這些存取單元開始于隨機(jī)存取點(diǎn)圖片(例如,瞬時(shí)解碼參考(IDR)圖片或斷鏈存取(BLA)圖片,或其它適當(dāng)?shù)碾S機(jī)存取點(diǎn)圖片)并且包含全部存取單元直到下一隨機(jī)存取點(diǎn)圖片而不包含下一隨機(jī)存取點(diǎn)圖片(或位流的端部)。SPS中的信息并不通常在經(jīng)譯碼視頻序列內(nèi)在圖片之間發(fā)生改變。經(jīng)譯碼視頻序列中的所有圖片使用相同SPS。VPS包含適用于經(jīng)譯碼視頻序列或位流中的所有層的信息。VPS包含具有適用于整個(gè)經(jīng)譯碼的視頻序列的語法元素的語法結(jié)構(gòu)。在一些實(shí)施例中,VPS、SPS或PPS可以與經(jīng)編碼位流一起帶內(nèi)傳輸。在一些實(shí)施例中,VPS、SPS或PPS與包含經(jīng)譯碼視頻數(shù)據(jù)的NAL單元相比可以在單獨(dú)傳輸中帶外傳輸。

      編碼裝置104的輸出端110可以在通信鏈路120上將構(gòu)成經(jīng)編碼的視頻數(shù)據(jù)的NAL單元發(fā)送到接收裝置的解碼裝置112。解碼裝置112的輸入端114可以接收NAL單元。通信鏈路120可以包含使用無線網(wǎng)絡(luò)、有線網(wǎng)絡(luò)或有線和無線網(wǎng)絡(luò)的組合傳輸?shù)男盘?。無線網(wǎng)絡(luò)可以包含任何無線接口或無線接口的組合并且可以包含任何合適的無線網(wǎng)絡(luò)(例如,互聯(lián)網(wǎng)或其它廣域網(wǎng)、基于數(shù)據(jù)包的網(wǎng)絡(luò)、WiFiTM、射頻(RF)、UWB、WiFi-Direct、蜂窩、長期演進(jìn)(LTE)、WiMaxTM或類似物)。有線網(wǎng)絡(luò)可以包含任何有線接口(例如,纖維、以太網(wǎng)、電力線以太網(wǎng)、同軸電纜上的以太網(wǎng)、數(shù)字信號線(DSL)或類似物)。有線和/或無線網(wǎng)絡(luò)可以使用各種設(shè)備實(shí)施,例如,基站、路由器、存取點(diǎn)、橋接、網(wǎng)關(guān)、開關(guān)或類似物。經(jīng)編碼視頻數(shù)據(jù)可根據(jù)通信標(biāo)準(zhǔn)(例如,無線通信協(xié)議)加以調(diào)制,且傳輸?shù)浇邮昭b置。

      在一些實(shí)例中,編碼裝置104可以在存儲裝置108中存儲經(jīng)編碼的視頻數(shù)據(jù)。輸出端110可以從編碼器引擎106或從輸出端110取回經(jīng)編碼的視頻數(shù)據(jù)。存儲裝置108可以包含多種分布式或本地存取的數(shù)據(jù)存儲媒體中的任何一種。舉例來說,存儲裝置108可以包含硬盤驅(qū)動器、存儲盤、快閃存儲器易失性或非易失性存儲器或用于存儲經(jīng)編碼的視頻數(shù)據(jù)的任何其它合適的數(shù)字存儲媒體。

      輸入端114接收經(jīng)編碼的視頻數(shù)據(jù)并且可以將視頻數(shù)據(jù)提供到解碼器引擎116或到存儲裝置118以用于稍后供解碼器引擎116使用。解碼器引擎116可以通過熵解碼(例如,使用熵解碼器)對經(jīng)編碼的視頻數(shù)據(jù)進(jìn)行解碼并且提取構(gòu)成經(jīng)編碼的視頻數(shù)據(jù)的經(jīng)譯碼視頻序列的元素。解碼器引擎116可隨后重新按比例縮放并且在經(jīng)編碼的視頻數(shù)據(jù)上執(zhí)行逆變換。殘余隨后傳遞到解碼器引擎116的預(yù)測級。解碼器引擎116隨后預(yù)測像素塊(例如,PU)。在一些實(shí)例中,預(yù)測被添加到逆變換的輸出。

      解碼裝置112可以輸出經(jīng)解碼視頻到視頻目的地裝置112,所述視頻目的地裝置可以包含顯示器或其它輸出裝置以用于將經(jīng)解碼視頻數(shù)據(jù)顯示給內(nèi)容的消費(fèi)者。在一些方面,視頻目的地裝置122可以是包含解碼裝置112的接收裝置的一部分。在一些方面,視頻目的地裝置122可以是除了的接收裝置的單獨(dú)裝置的一部分。

      在一些實(shí)施例中,視頻編碼裝置104和/或視頻解碼裝置112可以分別與音頻編碼裝置和音頻解碼裝置集成。視頻編碼裝置104和/或視頻解碼裝置112還可以包含實(shí)施上文所述的譯碼技術(shù)所必需的其它硬件或軟件,例如,一或多個(gè)微處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、離散邏輯、軟件、硬件、固件或其任何組合。視頻編碼裝置104和視頻解碼裝置112可以集成為相應(yīng)的裝置中的組合編碼器/解碼器(編碼解碼器)的一部分。下文參考圖8描述具有編碼裝置104的具體細(xì)節(jié)的實(shí)例。下文參考圖9描述具有解碼裝置112的具體細(xì)節(jié)的實(shí)例。

      如上文所指出,HEVC標(biāo)準(zhǔn)的擴(kuò)展包含多視圖視頻譯碼擴(kuò)展(被稱作MV-HEVC)和可縮放視頻譯碼擴(kuò)展(被稱作SHVC)。MV-HEVC和SHVC擴(kuò)展共享分層譯碼的概念,其中經(jīng)編碼視頻位流中包含不同層。經(jīng)譯碼視頻序列中的每個(gè)層通過唯一層識別符(ID)尋址。層ID可以存在于NAL單元的標(biāo)頭中以識別NAL單元與之相關(guān)聯(lián)的層。在MV-HEVC中,不同層通常表示視頻位流中的同一場景的不同視圖。在SHVC中,提供表示不同空間分辨率(或圖片分辨率)或不同重構(gòu)保真度的視頻位流的不同可縮放層??煽s放層可以包含基礎(chǔ)層(具有層ID=0)和一或多個(gè)增強(qiáng)層(具有ID=1、2……n)?;A(chǔ)層可以符合HEVC的第一版本的簡檔,并且表示在位流中可供使用的最低層。與基礎(chǔ)層相比,增強(qiáng)層具有增大的空間分辨率、時(shí)間分辨率或幀率和/或重構(gòu)保真度(或質(zhì)量)。增強(qiáng)層是階層式組織的并且可以(或可以不)取決于較低層。在一些實(shí)例中,不同層可以使用單個(gè)標(biāo)準(zhǔn)編碼解碼器譯碼(例如,全部層使用HEVC、SHVC或其它譯碼標(biāo)準(zhǔn)進(jìn)行編碼)。在一些實(shí)例中,可使用多標(biāo)準(zhǔn)編解碼器對不同層進(jìn)行譯碼。舉例來說,基礎(chǔ)層可以使用AVC進(jìn)行譯碼,而一或多個(gè)增強(qiáng)層可以使用HEVC標(biāo)準(zhǔn)的SHVC和/或MV-HEVC擴(kuò)展進(jìn)行譯碼。

      如先前描述,各種預(yù)測模式可以用于視頻譯碼過程,包含幀內(nèi)預(yù)測。一種形式的幀內(nèi)預(yù)測包含塊內(nèi)復(fù)制。塊內(nèi)復(fù)制包含于HEVC范圍擴(kuò)展工作草案文本(JCTVC-P1005)中。使用圖像幀或圖片中的冗余,塊內(nèi)復(fù)制執(zhí)行塊匹配以預(yù)測樣本的塊(例如,CU、PU或其它譯碼塊)作為從圖像幀的相鄰區(qū)域中的樣本的經(jīng)重構(gòu)塊的移位。通過從內(nèi)容的重復(fù)模式中移除冗余,塊內(nèi)復(fù)制預(yù)測改進(jìn)譯碼效率。

      本文中描述的技術(shù)和系統(tǒng)涉及改進(jìn)存儲器帶寬效率、限制最差情況存儲器存取和塊內(nèi)復(fù)制的其它方面。本文檔中的方面和方法適用于HEVC及其擴(kuò)展,例如,屏幕內(nèi)容譯碼或其它擴(kuò)展。舉例來說,譯碼工具可以實(shí)施用于譯碼屏幕內(nèi)容材料,例如,文本和運(yùn)動的圖形。另外,可以提供改進(jìn)屏幕內(nèi)容的譯碼效率的技術(shù)。譯碼效率的顯著改進(jìn)可以通過利用屏幕內(nèi)容的特性通過各種譯碼工具獲得。舉例來說,可能的高位深度(大于8位)的一些方面的支持、高色度采樣格式(包含4:4:4和4:2:2)以及其它改進(jìn)。

      本文中描述的塊內(nèi)復(fù)制工具使得能夠從非相鄰樣本中進(jìn)行空間預(yù)測但是在當(dāng)前圖片內(nèi)。舉例來說,圖2說明其中塊內(nèi)復(fù)制用于預(yù)測當(dāng)前譯碼單元202的經(jīng)譯碼圖片200。當(dāng)前譯碼單元202是使用塊向量206從經(jīng)譯碼圖片200的已經(jīng)解碼的預(yù)測塊204中預(yù)測的(在環(huán)路內(nèi)濾波之前)。環(huán)路內(nèi)濾波可以包含環(huán)路內(nèi)去阻斷濾波和樣本自適應(yīng)偏移(SAO)。在解碼器中,預(yù)測值被添加到殘余而不含任何插值。舉例來說,塊向量206可以作為整數(shù)值用信號發(fā)送。在塊向量預(yù)測之后,塊向量差異是使用運(yùn)動向量差譯碼方法編碼的,例如在HEVC標(biāo)準(zhǔn)中所規(guī)定的。使得在CU和PU層級處能夠進(jìn)行塊內(nèi)復(fù)制。對于PU層級塊內(nèi)復(fù)制,針對全部CU大小支持2NxN和NX2N PU分割。另外,當(dāng)CU是最小CU時(shí),支持N×N PU分割。

      與傳統(tǒng)的幀內(nèi)預(yù)測模式相反,塊內(nèi)復(fù)制(IBC)允許來自非相鄰樣本的空間預(yù)測。這些非相鄰樣本可以來自在相同圖片內(nèi)已經(jīng)解碼的樣本中任何一個(gè)(在環(huán)路內(nèi)濾波之前)并且通過塊向量用信號發(fā)送。當(dāng)使用IBC時(shí)這些非相鄰樣本的存儲器存取增大總體存儲器帶寬。舉例來說,通過提取空間預(yù)測樣本(未在高速緩存/本地存儲器中)至少部分造成增大的讀取存取。應(yīng)注意在傳統(tǒng)的幀內(nèi)模式中,使用的相鄰樣本僅是上方樣本的1行和左側(cè)樣本的1列并且可能放置到高速緩存中。相比之下,當(dāng)使用IBC時(shí),全部先前編碼/解碼的樣本可用作參考單元。為了支持增大數(shù)目的可供使用的樣本,系統(tǒng)支持額外的存儲器使用。部分由于IBC空間預(yù)測的未經(jīng)濾波樣本以及濾波后的重構(gòu)的樣本的存儲造成增大的寫入存取以用于未來圖片的輸出/時(shí)間預(yù)測。

      HEVC標(biāo)準(zhǔn)定義最差情況帶寬要求。上文所述的增大帶寬在一些情況下可以大于HEVC最差情況帶寬要求。增大的帶寬給IBC技術(shù)的實(shí)施造成負(fù)擔(dān),并且使得難以重新安排HEVC核心用途以支持屏幕內(nèi)容擴(kuò)展或支持IBC的HEVC擴(kuò)展。

      此外,用于IBC的較大搜索范圍可以引起分散塊向量分布,引起可能造成極其困難的實(shí)施的帶寬和性能系統(tǒng)負(fù)載。如圖3中的實(shí)例中所示,有可能的是具有CU的IBC塊向量的分布可以是分散的。潛在地這可以引起從外部存儲器(DDR)中提取樣本的需要,因?yàn)椴⒎侨康念A(yù)測樣本都是在高速緩存中可供使用的。為了適配高速緩存區(qū)域內(nèi)的全部預(yù)測塊需要系統(tǒng)具有極其大的高速緩存,這是昂貴的并且在低功率設(shè)計(jì)中是不可行的。這大幅度地影響了系統(tǒng)帶寬、性能和成本。此類塊向量分布隨著搜索范圍的增大是更加可能的。

      較大搜索范圍可以引起跨越單元片的塊向量分布引起對并行度的嚴(yán)重性能影響。如在圖4的實(shí)例中所示,有可能的是具有CU的IBC塊向量的分布可以是跨越多個(gè)單元片分散的。

      對于低延遲P譯碼,確證的是通過現(xiàn)有IBC設(shè)計(jì),塊和/或運(yùn)動向量的最差情況數(shù)目可以高于HEVC(用于CU、CTB或其它譯碼單元或塊)的運(yùn)動向量的最差情況數(shù)目。這是由于用于最小CU大小的支持NxN。塊和/或運(yùn)動向量的高數(shù)目為可能的數(shù)目的負(fù)載強(qiáng)加了額外的負(fù)擔(dān)。

      基于線的IBC包含與傳統(tǒng)的IBC相比的具有更細(xì)粒度的分割,包含和線一樣小的分割?;诰€的IBC可以增大運(yùn)動向量的數(shù)目使其大于現(xiàn)有HEVC設(shè)計(jì)。較高的運(yùn)動向量將引起增大的樣本提取由此增大帶寬。

      使用切片可以顯著幫助錯(cuò)誤恢復(fù)。幀內(nèi)切片可以是自給自足的并且可以獨(dú)立解碼。然而,IBC可引入相對于影響其錯(cuò)誤恢復(fù)能力的另一切片的I切片依賴性。

      除其它缺點(diǎn)之外,鑒于上述缺點(diǎn)在本文中論述了塊內(nèi)復(fù)制的各個(gè)方面。所論述的特征中的每一個(gè)可以與一或多個(gè)其它解決方案單獨(dú)地或共同地工作。所論述的方法、系統(tǒng)和方面適用于IBC,但是也可以適用于其它譯碼工具,例如,具有高帶寬和高速緩存需要,例如,1-D詞典、選項(xiàng)板或其它譯碼工具。

      在啟用IBC時(shí)的雙向預(yù)測限制

      在HEVC中,8×8像素塊雙向預(yù)測表示最差情況帶寬要求。有益的是全部HEVC擴(kuò)展也遵循相同最差情況帶寬要求。因此,為了減少存儲器讀存取并且將帶寬保持在HEVC最差情況要求的限制內(nèi),下文論述了當(dāng)啟用IBC時(shí)對雙向預(yù)測的限制。

      在一些實(shí)施例中,作為啟用IBC的結(jié)果,停用幀間雙向預(yù)測。舉例來說,響應(yīng)于對應(yīng)于通過IBC的幀內(nèi)預(yù)測的狀態(tài),可以停用幀間雙向預(yù)測。因此,通過IBC,有效地從幀間雙向預(yù)測到幀內(nèi)預(yù)測減小了對系統(tǒng)資源的需求,例如,存儲器帶寬。

      在一些實(shí)施例中,可能需要一或多個(gè)額外的狀況以停用幀間雙向預(yù)測。因?yàn)榕c較大預(yù)測塊相比較小預(yù)測塊需要更多系統(tǒng)資源,例如,存儲器帶寬,所以預(yù)測塊大小可以是停用幀間雙向預(yù)測的額外的要求。舉例來說,在一些實(shí)施例中,作為啟用IBC并且預(yù)測塊大小小于或等于預(yù)定義大小的結(jié)果,停用幀間雙向預(yù)測。舉例來說,預(yù)定義大小可以是4×4像素、4×8像素、8×4像素、8×8像素、8×16像素、16×16像素、32×32像素或另一大小。

      在一些實(shí)施例中,旗標(biāo)可用于規(guī)定或指示雙向預(yù)測是否停用或因此IBC的啟用。在一些實(shí)施例中,旗標(biāo)指示是否應(yīng)用對雙向預(yù)測的限制,例如,在各種數(shù)據(jù)構(gòu)建層級中的任何一個(gè)處。舉例來說,旗標(biāo)可以指示限制應(yīng)用到一或多個(gè)序列、圖片、切片或其它數(shù)據(jù)單元。旗標(biāo)可以在以下參數(shù)集中的一或多者處用信號發(fā)送:VPS、SPS、PPS、視頻可用信息(VUI)、切片標(biāo)頭或它們的相應(yīng)的擴(kuò)展。

      在一些實(shí)施例中,使用以下或等效的序列參數(shù)集原始字節(jié)序列有效負(fù)載(RBSP)語法。在此實(shí)施例中,停用雙向預(yù)測,因?yàn)轭A(yù)測塊大小小于或等于8×8(例如,基于JCTVC-P1005_v4)。

      在一些實(shí)施例中,使用以下或等效的SPS語義:

      intra_block_copy_restriction_enabled_flag等于1規(guī)定當(dāng)在解碼過程用于幀內(nèi)預(yù)測期間使用IBC時(shí)啟用雙向預(yù)測的限制。

      intra_block_copy_restriction_enabled_flag等于0規(guī)定基于IBC的使用的雙向預(yù)測的限制未被應(yīng)用。當(dāng)不存在時(shí),intra_block_copy_enabled_flag的值可推斷為等于0。

      解碼過程

      規(guī)定list0、list1或雙向預(yù)測是否用于當(dāng)前預(yù)測單元的inter_pred_idc[x0][y0]的值是根據(jù)表1導(dǎo)出的。

      表1-到幀間預(yù)測模式的姓名相關(guān)性

      在JCTVC-T1005中,自適應(yīng)運(yùn)動向量分辨率(AMVR)特征是使用用信號發(fā)送的旗標(biāo)“use_integer_mv_flag”啟用的。旗標(biāo)的語義如下。

      use_integer_mv_flag等于1規(guī)定用于幀間預(yù)測的運(yùn)動向量的分辨率。當(dāng)不存在時(shí),use_integer_mv_flag的值可推斷為等于motion_vector_resolution_control_idc。

      use_integer_mv_flag為非零規(guī)定當(dāng)前切片中的亮度運(yùn)動向量的分辨率被認(rèn)為是整數(shù)像素。因此,針對切片中的全部亮度樣本可以不需要分?jǐn)?shù)內(nèi)插。當(dāng)不需要分?jǐn)?shù)內(nèi)插時(shí),內(nèi)插所需要的額外的樣本未加載且因此最差情況存儲器帶寬減小,并且可能低于HEVC最差情況。

      在一些實(shí)施例中,由于IBC使用并且進(jìn)一步由于use_integer_mv_flag的狀態(tài)針對預(yù)定塊大小的幀間圖片停用單向預(yù)測和雙向預(yù)測中的至少一個(gè)。這引起帶寬使用停留在HEVC最差情況帶寬要求的限制內(nèi)。

      在一些實(shí)施例中,停用雙向預(yù)測的條件包含啟用IBC、use_integer_mv_flag為零,并且預(yù)測塊小于(或小于或等于)預(yù)定義大小。舉例來說,預(yù)定義大小可以是4×4像素、4×8像素、8×4像素、8×8像素、8×16像素、16×16像素、32×32像素或另一大小。在一個(gè)實(shí)例中,除IBC啟用且use_integer_mv_flag為零之外,由于預(yù)測塊大小小于或等于8×8大小或另一大小,可以針對預(yù)測塊停用雙向預(yù)測。

      在一些實(shí)施例中,停用單向預(yù)測的條件包含啟用IBC、use_integer_mv_flag為零,并且預(yù)測塊小于(或小于或等于)預(yù)定義大小。舉例來說,預(yù)定義大小可以是4×4像素、4×8像素、8×4像素、8×8像素、8×16像素、16×16像素、32×32像素或另一大小。在一個(gè)實(shí)例中,由于IBC啟用且use_integer_mv_flag為零,對于大小小于或等于8×8大小或另一大小的預(yù)測塊停用幀間單向預(yù)測。

      在一些實(shí)施例中,停用單向預(yù)測和雙向預(yù)測的條件包含啟用IBC,use_integer_mv_flag為零,并且預(yù)測塊小于(或小于或等于)預(yù)定義大小。舉例來說,預(yù)定義大小可以是4×4像素、4×8像素、8×4像素、8×8像素、8×16像素、16×16像素、32×32像素或另一大小。在一個(gè)實(shí)例中,由于IBC啟用且use_integer_mv_flag為零,針對大小小于或等于16×16大小或另一大小的預(yù)測塊停用幀間單向預(yù)測和雙向預(yù)測。

      在一些實(shí)施例中,如果雙向預(yù)測塊是來自相同參考塊的雙向預(yù)測,那么并不應(yīng)用本文中所論述的預(yù)測的停用,使得預(yù)測的運(yùn)動向量指代相同參考塊并且是相同的。舉例來說,單向預(yù)測和/或雙向預(yù)測的停用可具有對它們的應(yīng)用的又一條件-觸發(fā)停用的雙向預(yù)測塊不是從相同參考塊中預(yù)測的,使得預(yù)測的運(yùn)動向量指代相同參考塊并且是相同的。

      圖5說明通過IBC編碼視頻數(shù)據(jù)并且使雙向預(yù)測和/或單向預(yù)測選擇性地停用的過程500的實(shí)施例。實(shí)施過程500以產(chǎn)生多個(gè)經(jīng)編碼視頻圖片。在一些方面,過程500可通過例如圖1中所示的編碼裝置104的計(jì)算裝置或設(shè)備執(zhí)行。舉例來說,計(jì)算裝置或設(shè)備可以包含編碼器或處理器、微處理器、微型計(jì)算機(jī)或經(jīng)配置以執(zhí)行過程500的步驟的編碼器的其它組件。

      過程500被說明為邏輯流程圖,其操作表示可以在硬件、計(jì)算機(jī)指令或其組合中實(shí)施的一系列操作。在計(jì)算機(jī)指令的情形下,操作表示存儲在一或多個(gè)計(jì)算機(jī)可讀存儲媒體上的計(jì)算機(jī)可執(zhí)行指令,這些計(jì)算機(jī)可執(zhí)行指令在由一或多個(gè)處理器執(zhí)行時(shí)實(shí)施所敘述的操作。一般而言,計(jì)算機(jī)可執(zhí)行指令包含例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)以及執(zhí)行特定功能或?qū)嵤┨囟〝?shù)據(jù)類型的類似物。描述操作的順序并不意圖解釋為限制,且任何數(shù)目的所描述操作可以按任何順序組合和/或并行以實(shí)施所述過程。

      另外,過程500可以在配置有可執(zhí)行指令的一或多個(gè)計(jì)算機(jī)系統(tǒng)的控制下執(zhí)行并且可以實(shí)施為在一或多個(gè)處理器上通過硬件或其組合共同地執(zhí)行的譯碼(例如,可執(zhí)行指令、一或多個(gè)計(jì)算機(jī)程序或一或多個(gè)應(yīng)用)。如上文所指出,譯碼可存儲在計(jì)算機(jī)可讀或機(jī)器可讀存儲媒體上,例如,呈包括可通過一或多個(gè)處理器執(zhí)行的多個(gè)指令的計(jì)算機(jī)程序的形式。計(jì)算機(jī)可讀或機(jī)器可讀存儲媒體可以是非暫時(shí)性的。

      在502處,編碼視頻數(shù)據(jù)的過程500包含在編碼器處獲得視頻數(shù)據(jù)。在一些實(shí)施例中,編碼器經(jīng)配置以在視頻數(shù)據(jù)上執(zhí)行圖片間單向預(yù)測以產(chǎn)生多個(gè)P預(yù)測單元,以在視頻數(shù)據(jù)上執(zhí)行圖片間雙向預(yù)測以產(chǎn)生多個(gè)B預(yù)測單元,并且使用塊內(nèi)復(fù)制預(yù)測在視頻數(shù)據(jù)上執(zhí)行圖片內(nèi)預(yù)測,以對預(yù)測單元進(jìn)行編碼。當(dāng)執(zhí)行時(shí),圖片間單向預(yù)測可以例如產(chǎn)生多個(gè)P預(yù)測單元。當(dāng)執(zhí)行時(shí),圖片間雙向預(yù)測可以例如產(chǎn)生多個(gè)B預(yù)測單元。當(dāng)執(zhí)行時(shí),圖片內(nèi)預(yù)測使用塊內(nèi)復(fù)制預(yù)測以產(chǎn)生例如多個(gè)I預(yù)測單元。

      在504處,過程500包含確定使用塊內(nèi)復(fù)制預(yù)測在視頻數(shù)據(jù)上執(zhí)行圖片內(nèi)預(yù)測以產(chǎn)生多個(gè)經(jīng)編碼視頻圖片。確定可以例如響應(yīng)于指示塊內(nèi)復(fù)制模式的狀態(tài)。在一些實(shí)施例中,用信號發(fā)送旗標(biāo)是針對解碼器產(chǎn)生的,其中用信號發(fā)送旗標(biāo)指示塊內(nèi)復(fù)制模式。例如,用于用信號發(fā)送旗標(biāo)的1的值可以指示執(zhí)行塊內(nèi)復(fù)制模式。在另一個(gè)實(shí)例中,用于用信號發(fā)送旗標(biāo)的0的值可以指示并未執(zhí)行塊內(nèi)復(fù)制模式。

      在506處,過程500包含使用塊內(nèi)復(fù)制預(yù)測在視頻數(shù)據(jù)上執(zhí)行圖片內(nèi)預(yù)測。舉例來說,圖片內(nèi)預(yù)測可以根據(jù)編碼器的編程狀態(tài)使用塊內(nèi)復(fù)制預(yù)測執(zhí)行。塊內(nèi)復(fù)制預(yù)測過程可以包含本文中其它地方所論述的塊內(nèi)復(fù)制過程的方面。

      在508處,過程500包含響應(yīng)于確定使用塊內(nèi)復(fù)制預(yù)測在視頻數(shù)據(jù)上執(zhí)行圖片內(nèi)預(yù)測,針對多個(gè)經(jīng)編碼視頻圖片停用圖片間雙向預(yù)測或圖片間單向預(yù)測中的至少一個(gè)。在一些實(shí)施例中,圖片內(nèi)預(yù)測和停用響應(yīng)于用信號發(fā)送旗標(biāo)執(zhí)行。在一些實(shí)施例中,響應(yīng)于用信號發(fā)送旗標(biāo),停用圖片間雙向預(yù)測性能和圖片間單向預(yù)測性能這兩者。預(yù)測的停用可以包含多個(gè)方面或可以響應(yīng)于本文中其它地方所論述的其它因素。

      在510處,過程500包含使用例如本文中其它地方所論述的過程的方面,基于接收到的視頻根據(jù)塊內(nèi)復(fù)制預(yù)測產(chǎn)生多個(gè)經(jīng)編碼視頻圖片。舉例來說,經(jīng)編碼視頻圖片可以使用塊內(nèi)復(fù)制預(yù)測在視頻數(shù)據(jù)上產(chǎn)生。

      在一些實(shí)施例中,過程500包含本文中論述的其它方面。舉例來說,在一些實(shí)施例中,過程500包含在視頻數(shù)據(jù)上執(zhí)行圖片間單向預(yù)測以產(chǎn)生多個(gè)P預(yù)測單元。在一些實(shí)施例中,過程500包含確定預(yù)測單元大小,其中執(zhí)行圖片間雙向預(yù)測或單向預(yù)測是響應(yīng)于以下兩者的組合針對多個(gè)經(jīng)編碼視頻圖片停用的:確定使用塊內(nèi)復(fù)制預(yù)測在視頻數(shù)據(jù)上執(zhí)行圖片內(nèi)預(yù)測以及預(yù)測單元大小小于閾值。在一些實(shí)施例中,在過程500中,響應(yīng)于所述組合針對多個(gè)經(jīng)編碼視頻圖片停用圖片間雙向預(yù)測和圖片間單向預(yù)測。

      在一些實(shí)施例中,編碼器進(jìn)一步具有自適應(yīng)運(yùn)動向量分辨率(AMVR),并且過程500還包含確定預(yù)測單元大小,其中響應(yīng)于以下各者中的全部的組合針對多個(gè)經(jīng)編碼視頻圖片停用圖片間雙向預(yù)測或圖片間單向預(yù)測:確定使用塊內(nèi)復(fù)制預(yù)測在視頻數(shù)據(jù)上執(zhí)行圖片內(nèi)預(yù)測、預(yù)測單元大小小于閾值,以及接收AMVR停用的指示。組合可進(jìn)一步包含具有不同參考單元和不同運(yùn)動向量中的至少一個(gè)的幀間預(yù)測雙向預(yù)測。響應(yīng)于所述組合可以針對多個(gè)經(jīng)編碼視頻圖片停用圖片間雙向預(yù)測和圖片間單向預(yù)測。組合可進(jìn)一步包含具有不同參考單元和不同運(yùn)動向量中的至少一個(gè)的幀間預(yù)測雙向預(yù)測。

      圖6說明通過IBC解碼視頻數(shù)據(jù)并且使雙向預(yù)測和/或單向預(yù)測選擇性地停用的過程600的實(shí)施例。實(shí)施過程600以解碼多個(gè)經(jīng)編碼視頻圖片。在一些方面,過程600可通過例如圖1中所示的解碼裝置112的計(jì)算裝置或設(shè)備執(zhí)行。舉例來說,計(jì)算裝置或設(shè)備可以包含解碼器或處理器、微處理器、微型計(jì)算機(jī)或經(jīng)配置以執(zhí)行過程600的步驟的解碼器的其它組件。

      過程600被說明為邏輯流程圖,其操作表示可以在硬件、計(jì)算機(jī)指令或其組合中實(shí)施的一系列操作。在計(jì)算機(jī)指令的情形下,操作表示存儲在一或多個(gè)計(jì)算機(jī)可讀存儲媒體上的計(jì)算機(jī)可執(zhí)行指令,這些計(jì)算機(jī)可執(zhí)行指令在由一或多個(gè)處理器執(zhí)行時(shí)實(shí)施所敘述的操作。一般而言,計(jì)算機(jī)可執(zhí)行指令包含例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)以及執(zhí)行特定功能或?qū)嵤┨囟〝?shù)據(jù)類型的類似物。描述操作的順序并不意圖解釋為限制,且任何數(shù)目的所描述操作可以按任何順序組合和/或并行以實(shí)施所述過程。

      另外,過程600可以在配置有可執(zhí)行指令的一或多個(gè)計(jì)算機(jī)系統(tǒng)的控制下執(zhí)行并且可以實(shí)施為在一或多個(gè)處理器上通過硬件或其組合共同地執(zhí)行的譯碼(例如,可執(zhí)行指令、一或多個(gè)計(jì)算機(jī)程序或一或多個(gè)應(yīng)用)。如上文所指出,譯碼可存儲在計(jì)算機(jī)可讀或機(jī)器可讀存儲媒體上,例如,呈包括可通過一或多個(gè)處理器執(zhí)行的多個(gè)指令的計(jì)算機(jī)程序的形式。計(jì)算機(jī)可讀或機(jī)器可讀存儲媒體可以是非暫時(shí)性的。

      在602處,解碼視頻數(shù)據(jù)的過程600包含在視頻流中接收使用多個(gè)預(yù)測模式編碼的經(jīng)編碼的視頻數(shù)據(jù)??梢栽诮獯a器處接收視頻數(shù)據(jù)。多個(gè)預(yù)測模式包括圖片間單向預(yù)測模式、圖片間雙向預(yù)測模式和圖片內(nèi)塊內(nèi)復(fù)制模式。在圖片間單向預(yù)測模式中,解碼器經(jīng)配置以根據(jù)單向預(yù)測解碼,例如,如本文中其它地方所論述的。在圖片間雙向預(yù)測模式中,解碼器經(jīng)配置以根據(jù)雙向預(yù)測解碼,例如,如本文中其它地方所論述的。在圖片內(nèi)塊內(nèi)復(fù)制模式中,解碼器經(jīng)配置以根據(jù)塊內(nèi)復(fù)制預(yù)測解碼,例如,如本文中其它地方所論述的。

      在604處,過程600包含在視頻位流中接收指示針對經(jīng)編碼的視頻數(shù)據(jù)的部分圖片間雙向預(yù)測停用或圖片間雙向預(yù)測限制啟用。舉例來說,所述指示可以是在指示圖片間雙向預(yù)測停用或圖片間雙向預(yù)測限制啟用的狀態(tài)中的信令旗標(biāo)。舉例來說,用于信令旗標(biāo)的1的值可以指示圖片間雙向預(yù)測限制啟用或圖片間雙向預(yù)測停用。在另一個(gè)實(shí)例中,用于信令旗標(biāo)的0的值可以指示圖片間雙向預(yù)測限制啟用或圖片間雙向預(yù)測停用。

      在606處,過程600包含基于所述指示從多個(gè)預(yù)測模式中確定預(yù)測模式以用于預(yù)測經(jīng)編碼的視頻數(shù)據(jù)的部分的預(yù)測單元。在一些實(shí)施例中,經(jīng)編碼的視頻數(shù)據(jù)的部分包含多個(gè)圖片,例如,圖片序列。此外,在608處,過程600包含根據(jù)所確定的預(yù)測模式解碼經(jīng)編碼的視頻數(shù)據(jù)的部分的預(yù)測單元,使用例如本文中其它地方所論述的過程的方面。

      在一些實(shí)施例中,過程600包含本文中論述的其它方面。舉例來說,響應(yīng)于所述指示,過程600可以包含排除圖片間雙向預(yù)測預(yù)測模式而不用于預(yù)測經(jīng)編碼的視頻數(shù)據(jù)的部分的預(yù)測單元。

      針對IBC的參考樣本限制

      為了使HEVC最差情況帶寬要求保持不變,由于IBC的使用,限制可以額外地或替代地應(yīng)用到參考樣本。

      在一些實(shí)施例中,本文中所論述的參考樣本的限制造成受限制的預(yù)測塊不可用作參考樣本使用。在一些實(shí)施例中,對應(yīng)的替代參考樣本由預(yù)定義填補(bǔ)方案產(chǎn)生并且可以用于預(yù)測。

      舉例來說,替代參考樣本可以通過水平或垂直填補(bǔ)從相鄰樣本中產(chǎn)生,在此情況下來自一或多個(gè)相鄰樣本的數(shù)據(jù)得到復(fù)制以產(chǎn)生替代參考樣本。替代地,替代參考樣本可以通過等于預(yù)定義值的數(shù)據(jù)產(chǎn)生。舉例來說,預(yù)定義值等于2<<(B-1),其中B是樣本的位深。

      在一些實(shí)施例中,當(dāng)啟用IBC時(shí),用于IBC的來自具有雙向預(yù)測的預(yù)測塊的潛在參考樣本被排除或是不合格的而無法用作參考樣本。在一些實(shí)施例中,當(dāng)啟用IBC時(shí),用于IBC的來自具有雙向預(yù)測的預(yù)測塊的潛在參考樣本被排除或是不合格的而無法用作參考樣本,這是由于預(yù)測塊大小小于或等于預(yù)定義大小的進(jìn)一步的條件。舉例來說,預(yù)定義大小可以是4×4像素、4×8像素、8×4像素、8×8像素、8×16像素、16×16像素、32×32像素或另一大小。在一些實(shí)施例中,當(dāng)啟用IBC時(shí),用于IBC的來自具有幀間模式預(yù)測的預(yù)測塊的潛在參考樣本被排除或是不合格的而無法用作參考樣本。

      在一些實(shí)施例中,當(dāng)啟用IBC時(shí),用于IBC的來自具有幀間模式預(yù)測的預(yù)測塊的潛在參考樣本被排除或是不合格的而無法用作參考樣本,前提是預(yù)測塊大小小于或等于預(yù)定義大小。舉例來說,預(yù)定義大小可以是4×4像素、4×8像素、8×4像素、8×8像素、8×16像素、16×16像素、32×32像素或另一大小。

      在一些實(shí)施例中,當(dāng)啟用IBC時(shí),用于IBC的來自通過雙向預(yù)測模式(例如,基于JCTVC-P1005_v4)預(yù)測的預(yù)測塊的潛在參考樣本被排除或是不合格的而無法用作參考樣本。

      在一些實(shí)施例中,本文中所論述的參考樣本的限制基于例如CTU中的參考樣本的模式和/或塊大小應(yīng)用在所述CTU層級處。舉例來說,如果在特定CTU內(nèi)使用IBC并且如果塊大小小于8×8像素,那么本文中所論述的參考樣本的限制中的一或多個(gè)可以適用于整個(gè)特定CTU。

      在一些實(shí)施例中,本文中所論述的參考樣本的限制適用于當(dāng)前CTU外部的CTU并且不適用于當(dāng)前CTU。在一些實(shí)施例中,本文中所論述的參考樣本的限制適用于當(dāng)前和下一左側(cè)CTU外部的CTU,但是不應(yīng)用于當(dāng)前和下一左側(cè)CTU。

      在一些實(shí)施例中,對本文中所論述的參考樣本施加限制是以use_integer_mv_flag旗標(biāo)是零為條件。相應(yīng)地,如果use_integer_mv_flag為零,那么可以應(yīng)用限制,并且如果use_integer_mv_flag不為零,那么不可以應(yīng)用限制。

      在一些實(shí)施例中,當(dāng)啟用IBC時(shí),用于IBC的來自具有帶雙向預(yù)測的至少一個(gè)預(yù)測塊的CTU的潛在參考樣本被排除或是不合格的而無法用作參考樣本。在另一個(gè)實(shí)例中,當(dāng)啟用IBC時(shí),用于IBC的來自具有的帶雙向預(yù)測的預(yù)測樣本的數(shù)目大于閾值的CTU的潛在參考樣本被排除或是不合格的而無法用作參考樣本。舉例來說,閾值可以是250、500、1000、5000個(gè)樣本,或任何其它合適的數(shù)目的預(yù)測樣本。

      在一些實(shí)施例中,當(dāng)啟用IBC時(shí),用于IBC的來自具有帶雙向預(yù)測的至少一個(gè)預(yù)測塊的CTU的潛在參考樣本被排除或是不合格的而無法用作參考樣本,前提是預(yù)測塊大小小于或等于預(yù)定義大小。舉例來說,預(yù)定義大小可以是4×4像素、4×8像素、8×4像素、8×8像素、8×16像素、16×16像素、32×32像素或另一大小。

      在一些實(shí)施例中,當(dāng)啟用IBC時(shí),用于IBC的來自具有帶雙向預(yù)測的預(yù)測樣本的數(shù)目大于閾值的CTU的潛在參考樣本被排除或是不合格的而無法用作參考樣本,前提是它們的大小小于或等于預(yù)定義大小。舉例來說,閾值數(shù)目可以是250、500、1000、5000個(gè)樣本,或任何其它合適的數(shù)目的預(yù)測樣本。舉例來說,預(yù)定義大小可以是4×4像素、4×8像素、8×4像素、8×8像素、8×16像素、16×16像素、32×32像素或另一大小。

      在一些實(shí)施例中,當(dāng)啟用IBC時(shí),用于IBC的來自具有用于內(nèi)插的至少一個(gè)預(yù)測塊的CTU的潛在參考樣本被排除或是不合格的而無法用作參考樣本。在另一個(gè)實(shí)例中,當(dāng)啟用IBC時(shí),用于IBC的來自具有用于內(nèi)插的預(yù)測樣本的數(shù)目大于閾值的CTU的潛在參考樣本被排除或是不合格的而無法用作參考樣本。舉例來說,閾值可以是250、500、1000、5000個(gè)樣本,或任何其它合適的數(shù)目的預(yù)測樣本。

      在一些實(shí)施例中,當(dāng)啟用IBC時(shí),用于IBC的來自具有用于內(nèi)插的至少一個(gè)預(yù)測塊的CTU的潛在參考樣本被排除或是不合格的而無法用作參考樣本,前提是預(yù)測塊大小小于或等于預(yù)定義大小。舉例來說,預(yù)定義大小可以是4×4像素、4×8像素、8×4像素、8×8像素、8×16像素、16×16像素、32×32像素或另一大小。

      在一些實(shí)施例中,當(dāng)啟用IBC時(shí),用于IBC的來自具有用于內(nèi)插的預(yù)測樣本的數(shù)目大于閾值的CTU的潛在參考樣本被排除或是不合格的而無法作為參考樣本,前提是它們的大小小于或等于預(yù)定義大小。舉例來說,預(yù)定義大小可以是4×4像素、4×8像素、8×4像素、8×8像素、8×16像素、16×16像素、32×32像素或另一大小。舉例來說,閾值可以是250、500、1000、5000個(gè)樣本,或任何其它合適的數(shù)目的預(yù)測樣本。

      在一些實(shí)施例中,上文所述的參考樣本的限制類似地適用于作為內(nèi)插樣本的潛在參考樣本。

      在一些實(shí)施例中,如果雙向預(yù)測塊是來自相同參考塊的雙向預(yù)測,那么不應(yīng)用本文中所論述的參考樣本的限制,使得預(yù)測的運(yùn)動向量指代相同參考塊并且是相同的。舉例來說,單向預(yù)測和/或雙向預(yù)測的停用可具有對它們的應(yīng)用的又一條件-觸發(fā)限制的應(yīng)用的雙向預(yù)測塊不是從相同參考塊中預(yù)測的,使得預(yù)測的運(yùn)動向量指代相同參考塊并且是相同的。

      在下文中論述了用于B切片的具有局部搜索區(qū)域的基于JCTVC-P1005_v4的實(shí)例規(guī)范文本。本文中論述的實(shí)施例符合實(shí)例規(guī)范文本。

      解碼過程

      描述了塊內(nèi)復(fù)制預(yù)測模式中的塊向量分量的導(dǎo)出過程。本文中論述的實(shí)施例符合導(dǎo)出過程。

      此過程的輸入是:

      相對于當(dāng)前圖片的左上方亮度樣本的當(dāng)前亮度譯碼塊的左上方樣本的亮度位置(xCb,yCb),以及

      規(guī)定當(dāng)前亮度譯碼塊的大小的變量log2CbSize。

      此過程的輸出是塊向量bvIntra的(nCbS)x(nCbX)陣列[可被稱為單個(gè)向量]。

      如下導(dǎo)出變量nCbS、nPbSw和nPbSh:

      nCbS=1<<log2CbSize (8-25)

      nPbSw=nCbS/(PartMode==PART_2Nx2N||PartMode==PART_2NxN?1:2)

      (8-25)

      nPbSh=nCbS/(PartMode==PART_2Nx2N||PartMode==PART_Nx2N?1:2)

      (8-25)

      變量BvpIntra[compIdx]規(guī)定塊向量預(yù)測符。水平塊向量分量被分配compIdx=0并且垂直塊向量分量被分配compIdx=1。

      取決于PartMode,如下導(dǎo)出變量numPartitions:

      如果PartMode等于PART_2Nx2N,那么numPartitions被設(shè)置成等于1。

      否則的話,如果PartMode等于PART_2NxN或PART_Nx2N,那么numPartitions被設(shè)置成等于2。

      否則的話(PartMode等于PART_NxN),numPartitions被設(shè)置成等于4。

      對于前進(jìn)超過值0..(numPartitions-1)的變量blkIdx,塊向量bvIntra的陣列通過以下排序步驟導(dǎo)出:

      變量blkInc被設(shè)置成等于(PartMode==PART_2NxN?2:1)。

      變量xPb被設(shè)置成等于xCb+nPbSw*(blkIdx*blkInc%2)。

      變量yPb被設(shè)置成等于yCb+nPbSh*(blkIdx/2)

      對于前進(jìn)超過值0..1的變量compIdx,應(yīng)用以下排序步驟:

      取決于此過程已經(jīng)針對當(dāng)前譯碼樹單元調(diào)用的次數(shù),以下適用:

      如果此過程針對當(dāng)前譯碼樹單元首次調(diào)用,那么bvIntra[xPb][yPb][compIdx]如下導(dǎo)出:

      bvIntra[xPb][yPb][0]=BvdIntra[xPb][yPb][0]-nCbS (8-25)

      bvIntra[xPb][yPb][1]=BvdIntra[xPb][yPb][1] (8-25)

      否則的話,bvIntra[xPb][yPb][compIdx]如下導(dǎo)出:

      bvIntra[xPb][yPb][0]=BvdIntra[xPb][yPb][0]+BvpIntra[0] (8-25)

      bvIntra[xPb][yPb][1]=BvdIntra[xPb][yPb][1]+BvpIntra[1] (8-25)

      BvpIntra[compIdx]的值被更新成等于bvIntra[xPb][yPb][compIdx]。

      為了稍后在解碼過程中調(diào)用的變量的導(dǎo)出過程中的使用,對于x=0..nPbSw-1和y=0..nPbSh-1進(jìn)行以下賦值:

      bvIntra[xPb+x][yPb+y][compIdx]=bvIntra[xPb][yPb][compIdx] (8-25)

      位流一致性的要求是以下全部條件為真實(shí)的:

      -bvIntra[xPb][yPb][0]的值將大于或等于-(xPb%CtbSizeY+64)。

      -bvIntra[xPb][yPb][1]的值將大于或等于-(yPb%CtbSizeY)。

      -當(dāng)用于z掃描順序塊可用性的導(dǎo)出過程被調(diào)用且(xCurr,yCurr)被設(shè)置成等于(xCb,yCb)并且相鄰亮度位置(xNbY,yNbY)被設(shè)置成等于(xPb+bvIntra[xPb][yPb][0],yPb+bvIntra[xPb][yPb][1])作為輸入時(shí),輸出將等于TRUE。

      -當(dāng)用于z掃描順序塊可用性的導(dǎo)出過程被調(diào)用且(xCurr,yCurr)被設(shè)置成等于(xCb,yCb)并且相鄰亮度位置(xNbY,yNbY)被設(shè)置成等于(xPb+bvIntra[xPb][yPb][0]+nPbSw-1,yPb+bvIntra[xPb][yPb][1]+nPbSh-1)作為輸入時(shí),輸出將等于TRUE。

      -以下條件中的一或兩個(gè)將是真實(shí)的:

      -bvIntra[xPb][yPb][0]+nPbSw<=0

      -bvIntra[xPb][yPb][1]+nPbSh<=0

      -Inter_pred_idc[x][y]將等于0或1,其中x=xPb+BvIntra[xPb][yPb][0].xPb+BvIntra[xPb][yPb][0]+(1<<log2CbSize)-1,y=y(tǒng)Pb+BvIntra[xPb][yPb][1]..y0+BvIntra[xPb][yPb][1]+(1<<log2CbSize)-1;

      基于圖片類型/切片類型/分割大小的自適應(yīng)搜索區(qū)域

      為了改進(jìn)高速緩存使用且減小高速緩存遺漏(否則的話,將由于IBC塊向量和幀間運(yùn)動向量出現(xiàn)),可以在塊向量范圍上施加一些約束條件。

      塊向量范圍約束條件可以單獨(dú)地施加或組合施加。在塊向量范圍約束條件中,關(guān)注區(qū)域并不受限并且可以例如是CU、CTB、最大譯碼單元(LCU)、切片、單元片或一組CU、CTU、CTB、LCU、切片或單元片。

      在一些實(shí)施例中,搜索區(qū)域是基于圖片類型、切片類型和分割大小中的一或多個(gè)確定的。另外,語法元素可用于規(guī)定用于每個(gè)對應(yīng)的圖片類型、切片類型和分割大小的搜索區(qū)域。

      作為一個(gè)實(shí)例,如果當(dāng)前切片是B切片,那么用于IBC塊的搜索區(qū)域可以被限制為是當(dāng)前CTB的局部區(qū)域。在一些實(shí)施例中,由于當(dāng)前切片為B切片,所以搜索區(qū)域被限制到當(dāng)前CTB和鄰近左側(cè)CTB中的因果鄰域。

      在一些實(shí)施例中,搜索區(qū)域的大小、形狀或位置通過語法元素規(guī)定。在一些實(shí)施例中,舉例來說,語法元素是在VPS、SPS、PPS、VUI、切片標(biāo)頭或CU標(biāo)頭處的位流中用信號發(fā)送的。

      在一些實(shí)施例中,在位流中經(jīng)譯碼的一系列塊向量基于圖片類型、切片類型和分割大小中的一或多個(gè)受到限制。另外,語法元素可用于規(guī)定用于每個(gè)對應(yīng)的圖片類型、切片類型和分割大小的最大塊向量范圍。舉例來說,在一些實(shí)施例中,一或多個(gè)語法元素可用于規(guī)定對于CRA、BLA和IDR圖片類型,最大塊向量范圍相應(yīng)地等于100、500和1000像素。類似地,一或多個(gè)語法元素用于規(guī)定用于I切片、B切片、P切片和GPB切片中的每一個(gè)的最大塊向量范圍,并且一或多個(gè)語法元素用于規(guī)定用于包含4×4像素、8×8像素、16×16像素、32×32像素和64×64像素的每個(gè)分割大小的最大塊向量范圍。

      在一些實(shí)施例中,搜索區(qū)域和最大塊向量范圍語法元素可以在以下參數(shù)集的一或多個(gè)中用信號發(fā)送:VPS、SPS、PPS、視頻可用信息(VUI)、切片標(biāo)頭或它們的相應(yīng)的擴(kuò)展。

      在下文中論述了用于B切片的具有局部搜索區(qū)域的基于JCTVC-P1005_v4的實(shí)例規(guī)范文本。本文中論述的實(shí)施例符合實(shí)例規(guī)范文本。

      解碼過程

      描述了塊內(nèi)復(fù)制預(yù)測模式中的塊向量分量的導(dǎo)出過程。

      此過程的輸入是:

      相對于當(dāng)前圖片的左上方亮度樣本的當(dāng)前亮度譯碼塊的左上方樣本的亮度位置(xCb,yCb),

      規(guī)定當(dāng)前亮度譯碼塊的大小的變量log2CbSize。

      此過程的輸出是塊向量bvIntra的(nCbS)x(nCbX)陣列[可被稱為單個(gè)向量]。

      如下導(dǎo)出變量nCbS、nPbSw和nPbSh:

      nCbS=1<<log2CbSize (8-25)

      nPbSw=nCbS/(PartMode==PART_2Nx2N||PartMode==PART_2NxN?1:2)

      (8-25)

      nPbSh=nCbS/(PartMode==PART_2Nx2N||PartMode==PART_Nx2N?1:2)

      (8-25)

      變量BvpIntra[compIdx]規(guī)定塊向量預(yù)測符。水平塊向量分量被分配compIdx=0并且垂直塊向量分量被分配compIdx=1。

      取決于PartMode,如下導(dǎo)出變量numPartitions:

      -如果PartMode等于PART_2Nx2N,那么numPartitions被設(shè)置成等于1。

      -否則的話,如果PartMode等于PART_2NxN或PART_Nx2N,那么numPartitions被設(shè)置成等于2。

      -否則的話(PartMode等于PART_NxN),numPartitions被設(shè)置成等于4。

      對于前進(jìn)超過值0..(numPartitions-1)的變量blkIdx,塊向量bvIntra的陣列通過以下排序步驟導(dǎo)出:

      變量blkInc被設(shè)置成等于(PartMode==PART_2NxN?2:1)。

      變量xPb被設(shè)置成等于xCb+nPbSw*(blkIdx*blkInc%2)。

      變量yPb被設(shè)置成等于yCb+nPbSh*(blkIdx/2)

      對于前進(jìn)超過值0..1的變量compIdx,應(yīng)用以下排序步驟:

      取決于此過程已經(jīng)針對當(dāng)前譯碼樹單元調(diào)用的次數(shù),以下適用:

      如果此過程針對當(dāng)前譯碼樹單元首次調(diào)用,那么bvIntra[xPb][yPb][compIdx]如下導(dǎo)出:

      bvIntra[xPb][yPb][0]=BvdIntra[xPb][yPb][0]-nCbS (8-25)

      bvIntra[xPb][yPb][1]=BvdIntra[xPb][yPb][1] (8-25)

      否則的話,bvIntra[xPb][yPb][compIdx]如下導(dǎo)出:

      bvIntra[xPb][yPb][0]=BvdIntra[xPb][yPb][0]+BvpIntra[0] (8-25)

      bvIntra[xPb][yPb][1]=BvdIntra[xPb][yPb][1]+BvpIntra[1] (8-25)

      BvpIntra[compIdx]的值被更新成等于bvIntra[xPb][yPb][compIdx]。

      為了稍后在解碼過程中調(diào)用的變量的導(dǎo)出過程中的使用,對于x=0..nPbSw-1和y=0..nPbSh-1進(jìn)行以下賦值:

      bvIntra[xPb+x][yPb+y][compIdx]=bvIntra[xPb][yPb][compIdx] (8-25)

      位流一致性的要求是以下全部條件為真實(shí)的:

      -對于B切片類型,bvIntra[xPb][yPb][0]的值將大于或等于-(xPb%CtbSizeY+64)。

      -對于B切片類型,bvIntra[xPb][yPb][1]的值將大于或等于-(yPb%CtbSizeY)。

      -當(dāng)用于z掃描順序塊可用性的導(dǎo)出過程被調(diào)用且(xCurr,yCurr)被設(shè)置成等于(xCb,yCb)并且相鄰亮度位置(xNbY,yNbY)被設(shè)置成等于(xPb+bvIntra[xPb][yPb][0],yPb+bvIntra[xPb][yPb][1])作為輸入時(shí),輸出將等于TRUE。

      -當(dāng)用于z掃描順序塊可用性的導(dǎo)出過程被調(diào)用且(xCurr,yCurr)被設(shè)置成等于(xCb,yCb)并且相鄰亮度位置(xNbY,yNbY)被設(shè)置成等于(xPb+bvIntra[xPb][yPb][0]+nPbSw-1,yPb+bvIntra[xPb][yPb][1]+nPbSh-1)作為輸入時(shí),輸出將等于TRUE。

      -以下條件中的一或兩個(gè)將是真實(shí)的:

      -bvIntra[xPb][yPb][0]+nPbSw<=0

      -bvIntra[xPb][yPb][1]+nPbSh<=0

      圖7說明編碼視頻數(shù)據(jù)的過程700的實(shí)施例。實(shí)施過程700以產(chǎn)生多個(gè)經(jīng)編碼視頻圖片。在一些方面,過程700可通過例如圖1中所示的編碼裝置104的計(jì)算裝置或設(shè)備執(zhí)行。舉例來說,計(jì)算裝置或設(shè)備可以包含編碼器或處理器、微處理器、微型計(jì)算機(jī)或經(jīng)配置以執(zhí)行過程700的步驟的編碼器的其它組件。

      過程700被說明為邏輯流程圖,其操作表示可以在硬件、計(jì)算機(jī)指令或其組合中實(shí)施的一系列操作。在計(jì)算機(jī)指令的情形下,操作表示存儲在一或多個(gè)計(jì)算機(jī)可讀存儲媒體上的計(jì)算機(jī)可執(zhí)行指令,這些計(jì)算機(jī)可執(zhí)行指令在由一或多個(gè)處理器執(zhí)行時(shí)實(shí)施所敘述的操作。一般而言,計(jì)算機(jī)可執(zhí)行指令包含例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)以及執(zhí)行特定功能或?qū)嵤┨囟〝?shù)據(jù)類型的類似物。描述操作的順序并不意圖解釋為限制,且任何數(shù)目的所描述操作可以按任何順序組合和/或并行以實(shí)施所述過程。

      另外,過程700可以在配置有可執(zhí)行指令的一或多個(gè)計(jì)算機(jī)系統(tǒng)的控制下執(zhí)行并且可以實(shí)施為在一或多個(gè)處理器上通過硬件或其組合共同地執(zhí)行的譯碼(例如,可執(zhí)行指令、一或多個(gè)計(jì)算機(jī)程序或一或多個(gè)應(yīng)用)。如上文所指出,譯碼可存儲在計(jì)算機(jī)可讀或機(jī)器可讀存儲媒體上,例如,呈包括可通過一或多個(gè)處理器執(zhí)行的多個(gè)指令的計(jì)算機(jī)程序的形式。計(jì)算機(jī)可讀或機(jī)器可讀存儲媒體可以是非暫時(shí)性的。

      在702處,過程700包含在圖片中的一個(gè)的塊上執(zhí)行圖片內(nèi)預(yù)測以產(chǎn)生預(yù)測單元。在一些實(shí)施例中,執(zhí)行圖片內(nèi)預(yù)測包含選擇用于譯碼樹單元(CTU)的塊內(nèi)復(fù)制預(yù)測的參考塊,其中所述選定參考塊是選自多個(gè)編碼塊的,并且其中排除通過雙向預(yù)測編碼的CTU內(nèi)的塊而不予以選擇為參考塊。執(zhí)行圖片內(nèi)預(yù)測還可以包含在參考塊上執(zhí)行塊內(nèi)復(fù)制預(yù)測以產(chǎn)生預(yù)測單元。

      在704處,過程700包含基于執(zhí)行的圖片內(nèi)預(yù)測產(chǎn)生編碼預(yù)測單元的語法元素。

      在一些實(shí)施例中,過程700包含本文中論述的其它方面。舉例來說,過程700可以包含確定預(yù)測單元大小,其中至少部分響應(yīng)于預(yù)測單元大小小于閾值排除通過雙向預(yù)測編碼的塊而不予以選擇。在一些實(shí)施例中,在過程700中,從選擇中排除通過幀間預(yù)測編碼的一或多個(gè)塊作為參考塊。舉例來說,通過幀間預(yù)測編碼的一或多個(gè)塊可以被排除而不予以選擇為參考塊以用于編碼CTU的其它塊。在此類實(shí)施例中,過程還可以包含確定預(yù)測單元大小,其中至少部分響應(yīng)于預(yù)測單元大小小于閾值而排除通過幀間預(yù)測編碼的塊而不予以選擇。

      在一些實(shí)施例中,在過程700中,使用填補(bǔ)方案產(chǎn)生替代參考塊。在一些實(shí)施例中,執(zhí)行塊內(nèi)復(fù)制預(yù)測包含使用替代塊作為所選定的參考塊。

      在一些實(shí)施例中,過程700包含確定CTU是否具有通過雙向預(yù)測產(chǎn)生的預(yù)測塊,其中至少部分響應(yīng)于CTU具有通過雙向預(yù)測產(chǎn)生的預(yù)測塊而排除通過雙向預(yù)測編碼的塊而不予以選擇。在此類實(shí)施例中,過程700還可包含確定通過雙向預(yù)測產(chǎn)生的用于CTU的預(yù)測塊的量,并且確定預(yù)測單元大小。響應(yīng)于以下各者中的任何一個(gè)可隨后排除通過雙向預(yù)測編碼的塊而不予以選擇:CTU具有通過雙向預(yù)測產(chǎn)生的大于閾值的預(yù)測塊的量、預(yù)測單元大小為小于閾值;以及CTU具有通過雙向預(yù)測產(chǎn)生的大于閾值的預(yù)測塊的量,并且預(yù)測單元大小為小于閾值。

      在一些實(shí)施例中,過程700包含執(zhí)行自適應(yīng)運(yùn)動向量分辨率(AMVR)和確定預(yù)測單元大小。在此類實(shí)施例中,可以至少部分響應(yīng)于以下兩者的組合排除通過雙向預(yù)測編碼的塊而不予以選擇:預(yù)測單元大小為小于閾值,以及接收AMVR被停用的指示。在一些實(shí)施例中,組合進(jìn)一步包含具有不同參考單元和不同運(yùn)動向量中的至少一個(gè)的幀間預(yù)測雙向預(yù)測。

      在一些實(shí)施例中,過程700包含確定包括編碼塊的搜索區(qū)域,其中搜索區(qū)域至少部分地基于以下各項(xiàng)中的至少一者確定:圖片類型、切片類型和分割大小。

      關(guān)注區(qū)域內(nèi)的塊向量的分布的限制

      為了改進(jìn)在使用較大搜索范圍時(shí)高速緩存使用且減小高速緩存遺漏,可以在塊向量范圍上施加一些約束條件。

      塊向量范圍約束條件可以單獨(dú)地施加或組合施加。在塊向量范圍約束條件中,關(guān)注區(qū)域并不受限并且可以例如是CU、CTB、最大譯碼單元(LCU)、切片、單元片或一組CU、CTU、CTB、LCU、切片或單元片。

      在一些實(shí)施例中,塊向量的范圍被限制為在關(guān)注區(qū)域內(nèi)。舉例來說,塊向量的范圍可以被限制為在當(dāng)前CU內(nèi)。在一些實(shí)施例中,不同關(guān)注區(qū)域具有不同塊向量范圍約束條件。另外,語法元素可用于針對每個(gè)關(guān)注區(qū)域規(guī)定塊向量范圍。

      作為一個(gè)實(shí)例,塊向量的范圍可以被限制為在單元片內(nèi)。相應(yīng)地,用于當(dāng)前預(yù)測單元的預(yù)測樣本被限制為在相同單元片內(nèi)。除了其它益處,這種約束有助于高效并行處理。在一些實(shí)施例中,塊向量的范圍被限制為在切片內(nèi)。相應(yīng)地,IBC預(yù)測被限制為并不跨越切片邊界。

      在一些實(shí)施例中,關(guān)注區(qū)域內(nèi)的任何兩個(gè)塊向量的最大差異受到限制。舉例來說,如果切片關(guān)注區(qū)域內(nèi)的CU具有特定大小的塊向量,那么切片內(nèi)的全部其它塊向量被限制在特定大小的預(yù)定義范圍內(nèi)。另外,語法元素可用于針對每個(gè)關(guān)注區(qū)域規(guī)定任何兩個(gè)塊向量的最大差異。

      規(guī)范文本和語法

      在一些實(shí)施例中,塊向量范圍和最大塊向量差異語法元素可以在以下參數(shù)集中的一或多個(gè)中用信號發(fā)送:VPS、SPS、PPS、視頻可用信息(VUI)、切片標(biāo)頭或它們的相應(yīng)的擴(kuò)展。

      在下文中論述了用于B切片的具有局部搜索區(qū)域的基于JCTVC-P1005_v4的實(shí)例規(guī)范文本。本文中論述的實(shí)施例符合實(shí)例規(guī)范文本。

      解碼過程

      變量BvIntra[x0][y0][compIdx]規(guī)定待用于塊內(nèi)復(fù)制預(yù)測模式的向量分量。陣列索引x0、y0規(guī)定所考慮的預(yù)測塊的左上方亮度樣本相對于圖片的左上方亮度樣本的位置(x0,y0)。變量BvdispIntra[x0][y0][compIdx]規(guī)定針對位置(x0,y0)(例如,BvIntra[x0][y0][compIdx])和位置(xi,yj)(例如,BvIntra[xi][yj][compIdx])待用于塊內(nèi)復(fù)制預(yù)測模式的向量分量之間的差異。陣列指數(shù)xi、yj規(guī)定針對任何i,j的相對于圖片的左上方亮度樣本的所考慮的預(yù)測塊的左上方亮度樣本的位置(xi,yj),使得位置(xi,yj)和(x0,y0)在相同CTU內(nèi)。

      對于全部的i,j,BvdispIntra[xi][yj][compIdx]將在-128到128范圍內(nèi)(包含性)。水平塊向量分量被分配compIdx=0并且垂直塊向量分量被分配compIdx=1。

      在上述規(guī)范中,-128到128的范圍(包含性)被用作實(shí)例并且范圍的實(shí)際值可以固定到不同值或用信號發(fā)送。

      下文示出了實(shí)例信令方法。

      log2_max_ctu_deltaBV_length_horizontal和log2_max_ctu_deltaBV_length_vertical指示相應(yīng)地相對于經(jīng)解碼水平和垂直塊向量分量,屬于相同CTU并且在整數(shù)亮度樣本單元中可供使用的用于CVS中的所有圖片的任何預(yù)測單元的相應(yīng)地經(jīng)解碼水平和垂直塊向量分量的最大絕對差值。n的值確證在整數(shù)亮度樣本移位的單元中塊向量分量的差值不在范圍-2n到2n-1(包含性)的外部。可以確定范圍和推斷值。

      對于全部i,j,BvdispIntra[xi][yj][compIdx]將在用于水平分量和垂直分量的如通過log2_max_ctu_deltaBV_length_horizontal和log2_max_ctu_deltaBV_length_vertical所規(guī)定的范圍內(nèi)。水平塊向量分量被分配compIdx=0并且垂直塊向量分量被分配compIdx=1。

      替代地,范圍針對每個(gè)compIdx(水平和垂直塊向量)以及針對亮度和色度分量可以是不同的。替代地,范圍針對每個(gè)compIdx(水平和垂直塊向量)以及針對亮度和色度分量可以是不同的。

      替代地,范圍可以作為CTU、切片、單元片等的倍數(shù)用信號發(fā)送。

      log2_max_BV_ctu_length_horizontal和log2_max_BV_ctu_length指示相應(yīng)地相對于經(jīng)解碼水平和垂直塊向量分量,屬于相同CTU并且在CTB的單元中可供使用的用于CVS中的所有圖片的任何預(yù)測單元的相應(yīng)地經(jīng)解碼水平和垂直塊向量分量的最大絕對差值。n的值確證在CTB移位的單元中塊向量分量的差值不在范圍-N到N(包含性)的外部。

      關(guān)注區(qū)域內(nèi)的塊向量的數(shù)目的限制

      如上文所論述,IBC可以針對低延遲P情況增大塊向量的最差情況數(shù)目。至少為了維持與HEVC相同的最差情況復(fù)雜性并且還減小系統(tǒng)資源上的負(fù)載(例如,以減小多個(gè)預(yù)測樣本負(fù)載),一些實(shí)施例包含額外的或替代的特征。

      舉例來說,關(guān)注的特定區(qū)域內(nèi)的塊向量的數(shù)目可以被限制為小于或等于用于特定關(guān)注區(qū)域的HEVC的最差情況數(shù)目的塊向量。舉例來說,關(guān)注區(qū)域內(nèi)的塊向量的數(shù)目可以被限制為等于或小于如果全部塊被譯碼為用于相同關(guān)注區(qū)域的Nx2N/2NxN時(shí)存在的最差情況數(shù)目的塊向量。在一些實(shí)施例中,IBC模式可以針對非I切片的最小分割(N×N)受限制。

      塊向量數(shù)目約束條件和IBC模式的限制可以單獨(dú)地或組合施加。在塊向量數(shù)目約束條件和IBC的限制中,關(guān)注區(qū)域并不受限并且可以例如是CU、CTB、最大譯碼單元(LCU)、切片、單元片或一組CU、CTU、CTB、LCU、切片或單元片。

      約束I切片

      在一些實(shí)施例中,塊向量的范圍可以被限制為在切片內(nèi)。也就是說,IBC預(yù)測并不跨越切片邊界。

      在一些實(shí)施例中,可以用信號發(fā)送新切片類型。對于新切片類型,塊向量的范圍被限制為在切片內(nèi)。因此,針對新切片類型的切片,IBC預(yù)測并不跨越切片邊界。

      在一些實(shí)施例中,旗標(biāo)可以規(guī)定塊向量的范圍被限制在切片內(nèi)。由于旗標(biāo)的狀態(tài),IBC預(yù)測并不跨越切片邊界。舉例來說,旗標(biāo)可以是在以下參數(shù)集中的一或多個(gè)中用信號發(fā)送的:VPS、SPS、PPS、視頻可用信息(VUI)、切片標(biāo)頭或它們的相應(yīng)的擴(kuò)展。

      使用本文中所描述的技術(shù)和系統(tǒng),通過減小的存儲器帶寬和大小需求執(zhí)行塊內(nèi)復(fù)制技術(shù)。因此,存儲器帶寬效率得到改進(jìn),最差情況存儲器存取受到限制,并且塊內(nèi)復(fù)制的其它方面得到增強(qiáng)。

      本文中所論述的譯碼技術(shù)可以在實(shí)例視頻編碼和解碼系統(tǒng)(例如,系統(tǒng)100)中實(shí)施。系統(tǒng)包含提供經(jīng)編碼視頻數(shù)據(jù)以在稍后時(shí)間由目的地裝置解碼的源裝置。具體而言,源裝置經(jīng)由計(jì)算機(jī)可讀媒體將視頻數(shù)據(jù)提供到目的地裝置。源裝置和目的地裝置可包括廣泛范圍的裝置中的任一者,包含臺式計(jì)算機(jī)、筆記本(即,膝上型)計(jì)算機(jī)、平板計(jì)算機(jī)、機(jī)頂盒、例如所謂的“智能”電話等電話手持機(jī)、所謂的“智能”板、電視機(jī)、相機(jī)、顯示裝置、數(shù)字媒體播放器、視頻游戲控制臺、視頻流式傳輸裝置,或類似物。在一些情況下,源裝置和目的地裝置可經(jīng)裝備以用于無線通信。

      目的地裝置可經(jīng)由計(jì)算機(jī)可讀媒體接收待解碼的經(jīng)編碼視頻數(shù)據(jù)。計(jì)算機(jī)可讀媒體可包括能夠?qū)⒔?jīng)編碼視頻數(shù)據(jù)從源裝置移動到目的地裝置的任何類型的媒體或裝置。在一個(gè)實(shí)例中,計(jì)算機(jī)可讀媒體可包括使源裝置能夠?qū)崟r(shí)將經(jīng)編碼視頻數(shù)據(jù)直接傳輸?shù)侥康牡匮b置的通信媒體。經(jīng)編碼視頻數(shù)據(jù)可根據(jù)通信標(biāo)準(zhǔn)(例如,無線通信協(xié)議)加以調(diào)制,且傳輸?shù)侥康牡匮b置。通信媒體可包括任何無線或有線通信媒體,例如,射頻(RF)頻譜或一或多個(gè)物理傳輸線。通信媒體可能形成基于數(shù)據(jù)包的網(wǎng)絡(luò)(例如,局域網(wǎng)、廣域網(wǎng)或全球網(wǎng)絡(luò),例如互聯(lián)網(wǎng))的部分。通信媒體可包含路由器、交換機(jī)、基站或可用于促進(jìn)從源裝置到目的地裝置的通信的任何其它設(shè)備。

      在一些實(shí)例中,經(jīng)編碼數(shù)據(jù)可從輸出接口輸出到存儲裝置。類似地,經(jīng)編碼數(shù)據(jù)可由輸入接口從存儲裝置存取。存儲裝置可包含多種分布式或本地存取數(shù)據(jù)存儲媒體中的任一者,例如,硬盤驅(qū)動器、藍(lán)光光盤、DVD、CD-ROM、快閃存儲器、易失性或非易失性存儲器,或用于存儲經(jīng)編碼視頻數(shù)據(jù)的任何其它合適的數(shù)字存儲媒體。在另一實(shí)例中,存儲裝置可對應(yīng)于文件服務(wù)器或可存儲由源裝置產(chǎn)生的經(jīng)編碼視頻的另一中間存儲裝置。目的地裝置可經(jīng)由流式傳輸或下載從存儲裝置存取所存儲的視頻數(shù)據(jù)。文件服務(wù)器可為能夠存儲經(jīng)編碼視頻數(shù)據(jù)和將所述經(jīng)編碼視頻數(shù)據(jù)發(fā)射到目的地裝置的任何類型的服務(wù)器。實(shí)例文件服務(wù)器包含網(wǎng)絡(luò)服務(wù)器(例如,用于網(wǎng)站)、FTP服務(wù)器、網(wǎng)絡(luò)附接式存儲(NAS)裝置或本地磁盤驅(qū)動器。目的地裝置可經(jīng)由任何標(biāo)準(zhǔn)數(shù)據(jù)連接(包含因特網(wǎng)連接)來存取經(jīng)編碼的視頻數(shù)據(jù)。這可包含無線信道(例如,Wi-Fi連接)、有線連接(例如,DSL、電纜調(diào)制解調(diào)器等),或適合于存取存儲在文件服務(wù)器上的經(jīng)編碼視頻數(shù)據(jù)的兩者的組合。經(jīng)編碼視頻數(shù)據(jù)從存儲裝置的傳輸可能是流式傳輸、下載傳輸或其組合。

      本發(fā)明的技術(shù)不一定限于無線應(yīng)用或設(shè)置。所述技術(shù)可以應(yīng)用于在支持多種多媒體應(yīng)用中的任一者時(shí)的視頻譯碼,例如,空中電視廣播、有線電視傳輸、衛(wèi)星電視傳輸、互聯(lián)網(wǎng)串流視頻傳輸(例如,HTTP動態(tài)自適應(yīng)流式傳輸(DASH))、被編碼到數(shù)據(jù)存儲媒體上的數(shù)字視頻,存儲在數(shù)據(jù)存儲媒體上的數(shù)字視頻的解碼,或其它應(yīng)用。在一些實(shí)例中,系統(tǒng)可經(jīng)配置以支持單向或雙向視頻傳輸,以支持例如視頻流式傳輸、視頻重放、視頻廣播和/或視頻電話的應(yīng)用。

      在一個(gè)實(shí)例中,源裝置包含視頻源、視頻編碼器和輸出接口。目的地裝置可包含輸入接口、視頻解碼器和顯示裝置。源裝置的視頻編碼器可經(jīng)配置以應(yīng)用本文中所公開的技術(shù)。在其它實(shí)例中,源裝置和目的地裝置可包括其它組件或布置。舉例來說,源裝置可從外部視頻源(例如,外部相機(jī))接收視頻數(shù)據(jù)。同樣,目的地裝置可與外部顯示裝置介接,而非包含集成顯示裝置。

      以上實(shí)例系統(tǒng)僅是一個(gè)實(shí)例。用于并行處理視頻數(shù)據(jù)的技術(shù)可由任何數(shù)字視頻編碼和/或解碼裝置來執(zhí)行。盡管本發(fā)明的技術(shù)一般通過視頻編碼裝置來執(zhí)行,但是所述技術(shù)還可通過視頻編碼器/解碼器(通常被稱作“編解碼器”)來執(zhí)行。此外,本發(fā)明的技術(shù)還可以通過視頻預(yù)處理器來執(zhí)行。源裝置及目的地裝置僅為源裝置在其中產(chǎn)生經(jīng)譯碼視頻數(shù)據(jù)以供傳輸?shù)侥康牡匮b置的此類譯碼裝置的實(shí)例。在一些實(shí)例中,源裝置和目的地裝置可以實(shí)質(zhì)上對稱方式操作,使得所述裝置中的每一者包含視頻編碼和解碼組件。因此,實(shí)例系統(tǒng)可支持視頻裝置之間的單向或雙向視頻發(fā)射,例如,用于視頻串流、視頻重放、視頻廣播或視頻電話。

      視頻源可包含視頻捕獲裝置,例如,攝像機(jī)、含有先前所捕獲視頻的視頻存檔和/或用于從視頻內(nèi)容提供者接收視頻的視頻饋送接口。作為再一替代方案,視頻源可產(chǎn)生基于計(jì)算機(jī)圖形的數(shù)據(jù)作為源視頻,或?qū)崨r視頻、存檔視頻與計(jì)算機(jī)產(chǎn)生的視頻的組合。在一些情況下,如果視頻源為攝像機(jī),那么源裝置及目的地裝置可形成所謂的相機(jī)電話或視頻電話。然而,如上文所提及,本發(fā)明中所描述的技術(shù)可大體上適用于視頻譯碼,且可應(yīng)用于無線及/或有線應(yīng)用。在每一情況下,可由視頻編碼器編碼所捕獲、預(yù)先捕獲或計(jì)算機(jī)產(chǎn)生的視頻。經(jīng)編碼視頻信息可隨后由輸出接口輸出到計(jì)算機(jī)可讀媒體上。

      如所提及,計(jì)算機(jī)可讀媒體可包含瞬態(tài)媒體,例如無線廣播或有線網(wǎng)絡(luò)傳輸,或存儲媒體(即,非暫時(shí)性存儲媒體),例如硬盤、閃存驅(qū)動器、壓縮光盤、數(shù)字視頻光盤、藍(lán)光光盤或其它計(jì)算機(jī)可讀媒體。在一些實(shí)例中,網(wǎng)絡(luò)服務(wù)器(未示出)可從源裝置接收經(jīng)編碼視頻數(shù)據(jù),且(例如)經(jīng)由網(wǎng)絡(luò)傳輸將經(jīng)編碼視頻數(shù)據(jù)提供到目的地裝置。類似地,媒體生產(chǎn)設(shè)施(例如,光盤沖壓設(shè)施)的計(jì)算裝置可從源裝置接收經(jīng)編碼視頻數(shù)據(jù)產(chǎn)生含有經(jīng)編碼視頻數(shù)據(jù)的光盤。因此,在各種實(shí)例中,計(jì)算機(jī)可讀媒體可理解為包含各種形式的一或多個(gè)計(jì)算機(jī)可讀媒體。

      目的地裝置的輸入接口從計(jì)算機(jī)可讀媒體接收信息。計(jì)算機(jī)可讀媒體的信息可包含由視頻編碼器定義的也由視頻解碼器使用的語法信息,所述語法信息包含描述塊和其它經(jīng)譯碼單元(例如,圖片群組(GOP))的特性和/或處理的語法元素。顯示裝置向用戶顯示經(jīng)解碼視頻數(shù)據(jù),且可包括多種顯示裝置中的任一者,例如,陰極射線管(CRT)、液晶顯示器(LCD)、等離子顯示器、有機(jī)發(fā)光二極管(OLED)顯示器或另一類型的顯示裝置。已描述本發(fā)明的各種實(shí)施例。

      在圖8和圖9中相應(yīng)地示出了編碼裝置104和解碼裝置112的具體細(xì)節(jié)。圖8是說明可以實(shí)施本發(fā)明中描述的技術(shù)中的一或多個(gè)的實(shí)例編碼裝置104的方塊圖。舉例來說,編碼裝置104可以產(chǎn)生本文中描述的語法結(jié)構(gòu)(例如,VPS、SPS、PPS的語法結(jié)構(gòu),或其它語法元素)。編碼裝置104可以在視頻切片內(nèi)執(zhí)行視頻塊的幀內(nèi)預(yù)測和幀間預(yù)測譯碼。如先前描述,幀內(nèi)譯碼至少部分依賴于空間預(yù)測來減少或去除給定視頻幀或圖片內(nèi)的空間冗余。幀間譯碼至少部分依賴于時(shí)間預(yù)測來減少或去除視頻序列的鄰近或周圍幀或圖片內(nèi)的時(shí)間冗余。幀內(nèi)模式(I模式)可以指若干基于空間的壓縮模式中的任一者。例如單向預(yù)測(P模式)或雙向預(yù)測(B模式)等幀間模式可指若干基于時(shí)間的壓縮模式中的任一者。

      編碼裝置104包含分割單元35、預(yù)測處理單元41、濾波器單元63、圖片存儲器64、求和器50、變換處理單元52、量化單元54以及熵編碼單元56。預(yù)測單元41包含運(yùn)動估計(jì)單元42、運(yùn)動補(bǔ)償單元44和幀內(nèi)預(yù)測處理單元46。對于視頻塊重構(gòu),編碼裝置104還包含逆量化單元58、逆變換處理單元60和求和器62。濾波器單元63意圖表示一或多個(gè)環(huán)路濾波器,例如,解塊濾波器、自適應(yīng)環(huán)路濾波器(ALF)及樣本自適應(yīng)偏移(SAO)濾波器。盡管在圖8中將濾波器單元63示出為環(huán)內(nèi)濾波器,但在其它配置中,可將濾波器單元63實(shí)施為環(huán)路后濾波器。后處理裝置57可以在由編碼裝置104產(chǎn)生的經(jīng)編碼的視頻數(shù)據(jù)上執(zhí)行額外處理。本發(fā)明的技術(shù)在一些情況下可以通過編碼裝置104實(shí)施。然而,在其它情況下,本發(fā)明的技術(shù)中的一或多個(gè)可以通過后處理裝置57實(shí)施。

      如圖8中所示,編碼裝置104接收視頻數(shù)據(jù),且分割單元35將所述數(shù)據(jù)分割成視頻塊。分割還可包含分割成切片、切片段、單元片其它較大單元,以及例如根據(jù)LCU和CU的四叉樹結(jié)構(gòu)的視頻塊分割。編碼裝置104總體上說明對待編碼的視頻切片內(nèi)的視頻塊進(jìn)行編碼的組件。所述切片可劃分成多個(gè)視頻塊(并且可能劃分成被稱作單元片的視頻塊的集合)。預(yù)測處理單元41可以選擇多個(gè)可能的譯碼模式中的一個(gè),例如,多個(gè)幀內(nèi)預(yù)測譯碼模式中的一或多個(gè)幀間預(yù)測譯碼模式中的一個(gè),以用于基于錯(cuò)誤結(jié)果的當(dāng)前視頻塊(例如,譯碼速率和失真的層級,或類似物)。預(yù)測處理單元41可將所得的經(jīng)幀內(nèi)譯碼或經(jīng)幀間譯碼塊提供到求和器50以產(chǎn)生殘余塊數(shù)據(jù),且提供到求和器62以重構(gòu)經(jīng)編碼塊以用作參考圖片。

      預(yù)測處理單元41內(nèi)的幀內(nèi)預(yù)測處理單元46可相對于與待譯碼的當(dāng)前塊在相同幀或切片中的一或多個(gè)相鄰塊執(zhí)行當(dāng)前視頻塊的幀內(nèi)預(yù)測譯碼,以提供空間壓縮。預(yù)測處理單元41內(nèi)的運(yùn)動估計(jì)單元42及運(yùn)動補(bǔ)償單元44相對于一或多個(gè)參考圖片中的一或多個(gè)預(yù)測性塊執(zhí)行當(dāng)前視頻塊的幀間預(yù)測性譯碼以提供時(shí)間壓縮。

      運(yùn)動估計(jì)單元42可經(jīng)配置以根據(jù)用于視頻序列的預(yù)定模式確定用于視頻切片的幀間預(yù)測模式。預(yù)定模式可將序列中的視頻切片標(biāo)明為P切片、B切片或GPB切片。運(yùn)動估計(jì)單元42及運(yùn)動補(bǔ)償單元44可高度集成,但出于概念的目的分別加以說明。運(yùn)動估計(jì)單元42執(zhí)行的運(yùn)動估計(jì)為產(chǎn)生運(yùn)動向量的過程,所述過程估計(jì)視頻塊的運(yùn)動。運(yùn)動向量例如可指示當(dāng)前視頻幀或圖片內(nèi)的視頻塊的預(yù)測單元(PU)相對于參考圖片內(nèi)的預(yù)測性塊的位移。

      預(yù)測性塊是被發(fā)現(xiàn)在像素差方面與待譯碼的視頻塊的PU密切匹配的塊,像素差可通過絕對差總和(SAD)、平方差總和(SSD)或其它差異度量來確定。在一些實(shí)例中,編碼裝置104可計(jì)算存儲在圖片存儲器64中的參考圖片的子整數(shù)像素位置的值。舉例來說,編碼裝置104可內(nèi)插四分之一像素位置、八分之一像素位置或參考圖片的其它分?jǐn)?shù)像素位置的值。因此,運(yùn)動估計(jì)單元42可以相對于全像素位置及分?jǐn)?shù)像素位置執(zhí)行運(yùn)動搜索并且輸出具有分?jǐn)?shù)像素精度的運(yùn)動向量。

      運(yùn)動估計(jì)單元42通過比較PU的位置與參考圖片的預(yù)測性塊的位置來計(jì)算用于在經(jīng)幀間譯碼切片中的視頻塊的PU的運(yùn)動向量。參考圖片可以選自第一參考圖片列表(列表0)或第二參考圖片列表(列表1),其中的每一者識別存儲在圖片存儲器64中的一或多個(gè)參考圖片。運(yùn)動估計(jì)單元42將所計(jì)算的運(yùn)動向量發(fā)送到熵編碼單元56及運(yùn)動補(bǔ)償單元44。

      通過運(yùn)動補(bǔ)償單元44執(zhí)行的運(yùn)動補(bǔ)償可以涉及基于通過運(yùn)動估計(jì)(可能執(zhí)行對子像素精確度的內(nèi)插)確定的運(yùn)動向量獲取或產(chǎn)生預(yù)測性塊。在接收到當(dāng)前視頻塊的PU的運(yùn)動向量后,運(yùn)動補(bǔ)償單元44即刻可以在參考圖片列表中定位所述運(yùn)動向量指向的預(yù)測性塊。編碼裝置104通過從正經(jīng)譯碼的當(dāng)前視頻塊的像素值減去預(yù)測性塊的像素值從而形成像素差值來形成殘余視頻塊。像素差值形成用于所述塊的殘余數(shù)據(jù),且可包含亮度及色度差分量兩者。求和器50表示執(zhí)行此減法運(yùn)算的一或多個(gè)組件。運(yùn)動補(bǔ)償單元44還可產(chǎn)生與視頻塊和視頻切片相關(guān)聯(lián)的供解碼裝置112在對視頻切片的視頻塊進(jìn)行解碼時(shí)使用的語法元素。

      作為如上文所描述的由運(yùn)動估計(jì)單元42及運(yùn)動補(bǔ)償單元44執(zhí)行的幀間預(yù)測的替代方案,幀內(nèi)預(yù)測處理單元46可以對當(dāng)前塊進(jìn)行幀內(nèi)預(yù)測。具體而言,幀內(nèi)預(yù)測處理單元46可確定用于對當(dāng)前塊進(jìn)行編碼的幀內(nèi)預(yù)測模式。在一些實(shí)例中,幀內(nèi)預(yù)測處理單元46可(例如)在單獨(dú)編碼遍次期間使用各種幀內(nèi)預(yù)測模式對當(dāng)前塊進(jìn)行編碼,且?guī)瑑?nèi)預(yù)測處理單元46可從經(jīng)測試模式中選擇適當(dāng)幀內(nèi)預(yù)測模式來使用。舉例來說,幀內(nèi)預(yù)測處理單元46可使用速率失真分析計(jì)算各種經(jīng)測試幀內(nèi)預(yù)測模式的速率失真值,并在所述經(jīng)測試模式當(dāng)中選擇具有最佳速率失真特性的幀內(nèi)預(yù)測模式。速率失真分析大體上確定經(jīng)編碼塊與經(jīng)編碼以產(chǎn)生所述經(jīng)編碼塊的原始未編碼塊之間的失真(或誤差)的量,以及用于產(chǎn)生經(jīng)編碼塊的位速率(即,位數(shù)目)。幀內(nèi)預(yù)測處理單元46可以從用于各種經(jīng)編碼塊的失真及速率計(jì)算比率,以確定哪種幀內(nèi)預(yù)測模式對于所述塊來說呈現(xiàn)最佳速率失真值。

      在任何情況下,在選擇了用于塊的幀內(nèi)預(yù)測模式之后,幀內(nèi)預(yù)測處理單元46可將指示用于所述塊的選定幀內(nèi)預(yù)測模式的信息提供到熵編碼單元56。熵編碼單元56可以對指示所選幀內(nèi)預(yù)測模式的信息進(jìn)行編碼。編碼裝置104可以在所傳輸?shù)奈涣髦邪糜诟鞣N塊的編碼文本的配置數(shù)據(jù)定義以及最可能幀內(nèi)預(yù)測模式的指示、幀內(nèi)預(yù)測模式索引表和經(jīng)修改幀內(nèi)預(yù)測模式索引表以供每種文本使用。位流配置數(shù)據(jù)可包含多個(gè)幀內(nèi)預(yù)測模式索引表和多個(gè)經(jīng)修改幀內(nèi)預(yù)測模式索引表(也被稱作碼字映射表)。

      在預(yù)測處理單元41經(jīng)由幀間預(yù)測或幀內(nèi)預(yù)測產(chǎn)生當(dāng)前視頻塊的預(yù)測性塊之后,編碼裝置104通過從當(dāng)前視頻塊減去預(yù)測性塊來形成殘余視頻塊。殘余塊中的殘余視頻數(shù)據(jù)可包含在一或多個(gè)TU中且應(yīng)用到變換處理單元52。變換處理單元52使用例如離散余弦變換(DCT)或概念上類似的變換等變換來將殘余視頻數(shù)據(jù)變換成殘余變換系數(shù)。變換處理單元52可將殘余視頻數(shù)據(jù)從像素值域轉(zhuǎn)換到變換域,例如,頻域。

      變換處理單元52可將所得變換系數(shù)發(fā)送到量化單元54。量化單元54對變換系數(shù)進(jìn)行量化以進(jìn)一步降低位速率。量化過程可減少與系數(shù)中的一些系數(shù)或全部相關(guān)聯(lián)的位深度??梢酝ㄟ^調(diào)整量化參數(shù)來修改量化程度。在一些實(shí)例中,量化單元54可隨后執(zhí)行對包含經(jīng)量化變換系數(shù)的矩陣的掃描?;蛘撸鼐幋a單元56可執(zhí)行所述掃描。

      在量化之后,熵編碼單元56對經(jīng)量化變換系數(shù)進(jìn)行熵編碼。舉例來說,熵編碼單元56可執(zhí)行上下文自適應(yīng)可變長度譯碼(CAVLC)、上下文自適應(yīng)二進(jìn)制算術(shù)譯碼(CABAC)、基于語法的上下文自適應(yīng)二進(jìn)制算術(shù)譯碼(SBAC)、概率區(qū)間分割熵(PIPE)譯碼或另一熵編碼技術(shù)。在熵編碼單元56進(jìn)行的熵編碼之后,可將經(jīng)編碼位流傳輸?shù)浇獯a裝置112,或?qū)⒔?jīng)編碼位流存檔以供稍后傳輸或由解碼裝置112取回。熵編碼單元56還可對正被譯碼的當(dāng)前視頻切片的運(yùn)動向量及其它語法元素進(jìn)行熵編碼。

      逆量化單元58和逆變換處理單元60相應(yīng)地應(yīng)用逆量化和逆變換以在像素域中重構(gòu)殘余塊以供稍后用作參考圖片的參考塊。運(yùn)動補(bǔ)償單元44可通過將殘余塊添加到在參考圖片列表內(nèi)的參考圖片中的一者的預(yù)測性塊來計(jì)算參考塊。運(yùn)動補(bǔ)償單元44還可將一或多個(gè)內(nèi)插濾波器應(yīng)用于經(jīng)重構(gòu)的殘余塊以計(jì)算子整數(shù)像素值用于運(yùn)動估計(jì)。求和器62將經(jīng)重構(gòu)殘余塊加到由運(yùn)動補(bǔ)償單元44產(chǎn)生的經(jīng)運(yùn)動補(bǔ)償?shù)念A(yù)測塊以產(chǎn)生參考塊以用于存儲在圖片存儲器64中。參考塊可由運(yùn)動估計(jì)單元42和運(yùn)動補(bǔ)償單元44使用作為參考塊以對后續(xù)視頻幀或圖片中的塊進(jìn)行幀間預(yù)測。

      以此方式,圖8的編碼裝置104表示經(jīng)配置以產(chǎn)生用于經(jīng)編碼視頻位流的語法的視頻編碼器的實(shí)例。舉例來說,編碼裝置104可以產(chǎn)生VPS、SPS和PPS參數(shù)集,如上文所述。編碼裝置104可以執(zhí)行本文中描述的任何技術(shù),包含上文相對于圖4、6和8所述的過程。已相對于編碼裝置104總體上描述了本發(fā)明的技術(shù),但是如上文所提及,本發(fā)明的技術(shù)中的一些也可以通過后處理裝置57實(shí)施。

      圖9是說明實(shí)例解碼裝置112的方塊圖。解碼裝置112包含熵解碼單元80、預(yù)測處理單元81、逆量化單元86、逆變換處理單元88、求和器90、濾波器單元91和圖片存儲器92。預(yù)測處理單元81包含運(yùn)動補(bǔ)償單元82和幀內(nèi)預(yù)測處理單元84。在一些實(shí)例中,解碼裝置112可執(zhí)行總體上與關(guān)于圖8的編碼裝置104描述的編碼遍次互逆的解碼遍次。

      在解碼過程期間,解碼裝置112接收表示經(jīng)編碼視頻切片的視頻塊和由編碼裝置104發(fā)送的相關(guān)聯(lián)語法元素的經(jīng)編碼視頻位流。在一些實(shí)施例中,解碼裝置112可以從編碼裝置104中接收經(jīng)編碼視頻位流。在一些實(shí)施例中,解碼裝置112可以從網(wǎng)絡(luò)實(shí)體79接收經(jīng)編碼視頻位流,所述網(wǎng)絡(luò)實(shí)體例如,服務(wù)器、媒體感知網(wǎng)絡(luò)元件(MANE)、視頻編輯器/剪接器或經(jīng)配置以實(shí)施上文所述的技術(shù)中的一或多個(gè)的其它此類裝置。網(wǎng)絡(luò)實(shí)體79可包含或可不包含編碼裝置104。本發(fā)明中描述的技術(shù)中的一些可以在網(wǎng)絡(luò)實(shí)體79將經(jīng)編碼視頻位流傳輸?shù)浇獯a裝置112之前通過網(wǎng)絡(luò)實(shí)體79實(shí)施。在一些視頻解碼系統(tǒng)中,網(wǎng)絡(luò)實(shí)體79和解碼裝置112可為單獨(dú)的裝置的部分,而在其它情況下,關(guān)于網(wǎng)絡(luò)實(shí)體79描述的功能性可由包括解碼裝置112的相同裝置執(zhí)行。

      解碼裝置112的熵解碼單元80對位流進(jìn)行熵解碼以產(chǎn)生經(jīng)量化的系數(shù)、運(yùn)動向量和其它語法元素。熵解碼單元80將運(yùn)動向量和其它語法元素轉(zhuǎn)發(fā)到預(yù)測處理單元81。解碼裝置112可接收視頻切片層級和/或視頻塊層級處的語法元素。熵解碼單元80可以處理和解析在例如VPS、SPS和PPS中的一或多個(gè)參數(shù)集中的固定長度語法元素和可變長度語法元素這兩者。

      當(dāng)視頻切片經(jīng)譯碼為經(jīng)幀內(nèi)譯碼(I)切片時(shí),預(yù)測處理單元81的幀內(nèi)預(yù)測處理單元84可基于用信號發(fā)送的幀內(nèi)預(yù)測模式及來自當(dāng)前幀或圖片的先前經(jīng)解碼塊的數(shù)據(jù)產(chǎn)生用于當(dāng)前視頻切片的視頻塊的預(yù)測數(shù)據(jù)。當(dāng)將視頻幀譯碼為經(jīng)幀間譯碼(即,B、P或GPB)切片時(shí),預(yù)測處理單元81的運(yùn)動補(bǔ)償單元82基于從熵解碼單元80接收的運(yùn)動向量和其它語法元素而產(chǎn)生當(dāng)前視頻切片的視頻塊的預(yù)測塊??梢詮膮⒖紙D片列表內(nèi)的參考圖片中的一者產(chǎn)生預(yù)測性塊。視頻解碼器30可以基于存儲在圖片存儲器92中的參考圖片使用默認(rèn)構(gòu)建技術(shù)構(gòu)建參考幀列表--列表0和列表1。

      運(yùn)動補(bǔ)償單元82通過解析運(yùn)動向量及其它語法元素確定用于當(dāng)前視頻切片的視頻塊的預(yù)測信息,并且使用所述預(yù)測信息產(chǎn)生用于經(jīng)解碼的當(dāng)前視頻塊的預(yù)測性塊。舉例來說,運(yùn)動補(bǔ)償單元82可使用參數(shù)集中的一或多個(gè)語法元素確定用于對視頻切片的視頻塊進(jìn)行譯碼的預(yù)測模式(例如,幀內(nèi)預(yù)測或幀間預(yù)測)、幀間預(yù)測切片類型(例如,B切片、P切片或GPB切片)、切片的一或多個(gè)參考圖片列表的構(gòu)建信息、切片的每一經(jīng)幀間編碼的視頻塊的運(yùn)動向量、切片的每一經(jīng)幀間譯碼的視頻塊的幀間預(yù)測狀態(tài)以及用于對當(dāng)前視頻切片中的視頻塊進(jìn)行解碼的其它信息。

      運(yùn)動補(bǔ)償單元82還可基于內(nèi)插濾波器執(zhí)行內(nèi)插。運(yùn)動補(bǔ)償單元82可使用如由編碼裝置104在編碼視頻塊期間所使用的內(nèi)插濾波器來計(jì)算參考塊的子整數(shù)像素的內(nèi)插值。在這種情況下,運(yùn)動補(bǔ)償單元82可從所接收語法元素確定由視頻編碼器20使用的內(nèi)插濾波器并使用所述內(nèi)插濾波器來產(chǎn)生預(yù)測性塊。

      逆量化單元86將在位流中提供且由熵解碼單元80解碼的經(jīng)量化變換系數(shù)逆量化,即解量化。逆量化過程可包含使用由視頻編碼器20針對視頻切片中的每個(gè)視頻塊計(jì)算的量化參數(shù)以確定應(yīng)施加的量化程度及類似地確定應(yīng)施加的逆量化程度。逆變換處理單元88將逆變換(例如,逆DCT或其它合適的逆變換)、逆整數(shù)變換或概念上相似的逆變換過程應(yīng)用到所述變換系數(shù)以便產(chǎn)生像素域中的殘余塊。

      在運(yùn)動補(bǔ)償單元82基于運(yùn)動向量及其它語法元素產(chǎn)生用于當(dāng)前視頻塊的預(yù)測性塊之后,解碼裝置112通過將來自逆變換處理單元88的殘余塊與運(yùn)動補(bǔ)償單元82產(chǎn)生的對應(yīng)預(yù)測性塊求和來形成經(jīng)解碼視頻塊。求和器90表示執(zhí)行此求和運(yùn)算的一或多個(gè)組件。如果需要,還可使用環(huán)路濾波器(在譯碼環(huán)路中或在譯碼環(huán)路之后)來使像素轉(zhuǎn)變平滑或者以其它方式改進(jìn)視頻質(zhì)量。濾波器單元91意圖表示一或多個(gè)環(huán)路濾波器,例如,解塊濾波器、自適應(yīng)環(huán)路濾波器(ALF)及樣本自適應(yīng)偏移(SAO)濾波器。盡管在圖9中將濾波器單元91示出為環(huán)內(nèi)濾波器,但在其它配置中,可將濾波器單元91實(shí)施為環(huán)路后濾波器。隨后將給定幀或圖片中的經(jīng)解碼視頻塊存儲于圖片存儲器92中,所述圖片存儲器存儲用于隨后運(yùn)動補(bǔ)償?shù)膮⒖紙D片。圖片存儲器92還存儲經(jīng)解碼視頻以供稍后在顯示裝置(例如,圖1中所示的視頻目的地裝置122)上呈現(xiàn)。

      在上述描述中,參考其具體實(shí)施例描述應(yīng)用的方面,但是所屬領(lǐng)域的技術(shù)人員將認(rèn)識到本發(fā)明不限于此。因此,雖然已經(jīng)在本文中詳細(xì)地描述了應(yīng)用的說明性實(shí)施例,但是應(yīng)理解本發(fā)明概念可以其它方式不同地實(shí)施和采用,并且除了現(xiàn)有技術(shù)所限制的之外,所附權(quán)利要求書意圖解釋為包含此類變化。上文描述的本發(fā)明的各種特征和方面可以單獨(dú)或共同地使用。另外,實(shí)施例可以在本文中描述的那些之外的任何數(shù)目的環(huán)境和應(yīng)用中使用而不脫離本說明書的廣泛的精神和范圍。應(yīng)將本說明書和圖式相應(yīng)地視為說明性的而非限制性的。出于說明的目的,方法是以特定順序描述的。應(yīng)了解在替代實(shí)施例中,方法可以按與所描述的相比不同的順序執(zhí)行。

      在組件被描述為“經(jīng)配置以”執(zhí)行特定操作的情況下,可例如通過設(shè)計(jì)電子電路或其它硬件以執(zhí)行所述操作、通過編程可編程電子電路(例如,微處理器或其它適合電子電路)以執(zhí)行所述操作或其任何組合來實(shí)現(xiàn)此類配置。

      結(jié)合本文中所公開的實(shí)施例描述的各種說明性邏輯塊、模塊、電路和算法步驟可實(shí)施為電子硬件、計(jì)算機(jī)軟件、固件或其組合。為清楚說明硬件與軟件的此可互換性,上文已大體上關(guān)于其功能性而描述了各種說明性組件、塊、模塊、電路及步驟。此功能性是實(shí)施為硬件還是軟件取決于特定應(yīng)用和強(qiáng)加于整個(gè)系統(tǒng)的設(shè)計(jì)約束。所屬領(lǐng)域的技術(shù)人員可針對每一特定應(yīng)用以不同方式來實(shí)施所描述的功能性,但此類實(shí)施決策不應(yīng)被解釋為會導(dǎo)致脫離本發(fā)明的范圍。

      本文中描述的技術(shù)也可以在電子硬件、計(jì)算機(jī)軟件、固件或其任何組合中實(shí)施。此類技術(shù)可實(shí)施于多種裝置中的任一者中,例如,通用計(jì)算機(jī)、無線通信裝置手持機(jī)或集成電路裝置,其具有包含在無線通信裝置手持機(jī)和其它裝置中的應(yīng)用的多種用途。被描述為模塊或組件的任何特征可共同實(shí)施于集成邏輯裝置中或單獨(dú)地實(shí)施為離散但可互操作的邏輯裝置。如果在軟件中實(shí)施,那么所述技術(shù)可至少部分地由包括程序代碼的計(jì)算機(jī)可讀數(shù)據(jù)存儲媒體來實(shí)現(xiàn),所述程序代碼包含在被執(zhí)行時(shí)實(shí)施上文所描述的方法中的一或多者的指令。計(jì)算機(jī)可讀數(shù)據(jù)存儲媒體可形成計(jì)算機(jī)程序產(chǎn)品的一部分,所述計(jì)算機(jī)程序產(chǎn)品可包含封裝材料。計(jì)算機(jī)可讀媒體可包括存儲器或數(shù)據(jù)存儲媒體,例如,隨機(jī)存取存儲器(RAM)(例如,同步動態(tài)隨機(jī)存取存儲器(SDRAM))、只讀存儲器(ROM)、非易失性隨機(jī)存取存儲器(NVRAM)、電可擦除可編程只讀存儲器(EEPROM)、閃存器、磁性或光學(xué)數(shù)據(jù)存儲媒體等等。另外或作為替代,所述技術(shù)可至少部分地由計(jì)算機(jī)可讀通信媒體來實(shí)現(xiàn),所述計(jì)算機(jī)可讀通信媒體以指令或數(shù)據(jù)結(jié)構(gòu)的形式攜載或傳送程序代碼且可由計(jì)算機(jī)存取、讀取和/或執(zhí)行(例如,傳播的信號或波)。

      程序代碼可由處理器執(zhí)行,所述處理器可包含一或多個(gè)處理器,例如,一或多個(gè)數(shù)字信號處理器(DSP)、通用微處理器、專用集成電路(ASIC)、現(xiàn)場可編程邏輯陣列(FPGA)或其它等效集成或離散邏輯電路。此處理器可經(jīng)配置以執(zhí)行本發(fā)明中描述的技術(shù)中的任一者。通用處理器可為微處理器;但在替代方案中,處理器可為任何常規(guī)的處理器、控制器、微控制器或狀態(tài)機(jī)。處理器還可實(shí)施為計(jì)算裝置的組合,例如,DSP和微處理器的組合、多個(gè)微處理器、結(jié)合DSP核心的一或多個(gè)微處理器或任何其它此類配置。因此,如本文中所使用的術(shù)語“處理器”可指上述結(jié)構(gòu)中的任一者、上述結(jié)構(gòu)的任何組合,或適合于實(shí)施本文中所描述的技術(shù)的任何其它結(jié)構(gòu)或設(shè)備。此外,在一些方面中,可將本文中所描述的功能性提供于經(jīng)配置以用于編碼和解碼的專用軟件模塊或硬件模塊內(nèi)或并入組合式視頻編碼器-解碼器(編碼解碼器)中。

      當(dāng)前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1