本發(fā)明大體上涉及視頻譯碼和壓縮的領(lǐng)域,并且尤其涉及基于一致性窗口信息對(duì)圖片進(jìn)行譯碼。
背景技術(shù):
數(shù)字視頻能力可并入到廣泛范圍的裝置中,包括數(shù)字電視、數(shù)字直播系統(tǒng)、無(wú)線廣播系統(tǒng)、個(gè)人數(shù)字助理(PDA)、膝上型或桌上型計(jì)算機(jī)、數(shù)碼相機(jī)、數(shù)字記錄裝置、數(shù)字媒體播放器、視頻游戲裝置、視頻游戲控制臺(tái)、蜂窩式或衛(wèi)星無(wú)線電電話、視頻電話會(huì)議裝置及其類似物。數(shù)字視頻裝置實(shí)施視頻壓縮技術(shù),例如在由運(yùn)動(dòng)圖像專家組-2(MPEG-2)、MPEG-4、國(guó)際電信聯(lián)盟電信標(biāo)準(zhǔn)化部門(mén)(ITU-T)H.263、ITU-T H.264/MPEG-4第10部分定義的標(biāo)準(zhǔn)、高級(jí)視頻譯碼(AVC)、高效視頻譯碼(HEVC)標(biāo)準(zhǔn)和此些標(biāo)準(zhǔn)的擴(kuò)展中描述的視頻壓縮技術(shù)。視頻裝置可通過(guò)實(shí)施這些視頻譯碼技術(shù)而更有效率地發(fā)射、接收、編碼、解碼和/或存儲(chǔ)數(shù)字視頻信息。
技術(shù)實(shí)現(xiàn)要素:
本公開(kāi)的系統(tǒng)、方法及裝置各自具有若干創(chuàng)新方面,其中沒(méi)有單個(gè)方面單獨(dú)負(fù)責(zé)本文所揭示的合乎需要的屬性。
在一個(gè)方面中,提供一種用于在多層位流中對(duì)圖片進(jìn)行編碼的方法,其可涉及根據(jù)第一譯碼方案對(duì)所述多層位流的至少一個(gè)層進(jìn)行編碼,所述多層位流包括基礎(chǔ)層。所述方法還可涉及在所述基礎(chǔ)層的視頻參數(shù)集(VPS)中對(duì)所述圖片的一致性窗口旗標(biāo)和至少一個(gè)位置偏移進(jìn)行編碼,所述一致性窗口旗標(biāo)指示所述VPS包括所述至少一個(gè)位置偏移。
在另一方面,提供一種用于在多層位流中對(duì)圖片進(jìn)行編碼的設(shè)備,其可包含存儲(chǔ)器,以及硬件處理器,其操作性地耦合到所述存儲(chǔ)器且經(jīng)配置以根據(jù)第一譯碼方案對(duì)所述多層位流的至少一個(gè)層進(jìn)行編碼,所述多層位流包括基礎(chǔ)層。所述處理器可進(jìn)一步經(jīng)配置以在所述基礎(chǔ)層的視頻參數(shù)集(VPS)中對(duì)一致性窗口旗標(biāo)和至少一個(gè)位置偏移進(jìn)行編碼,其中所述一致性窗口旗標(biāo)指示所述VPS包括所述至少一個(gè)位置偏移。
在一個(gè)方面中,提供一種用于在多層位流中對(duì)圖片進(jìn)行解碼的方法,其可涉及接收所述多層位流,所述多層位流包括基礎(chǔ)層。所述方法還可涉及在所述基礎(chǔ)層的視頻參數(shù)集(VPS)中對(duì)一致性窗口旗標(biāo)和至少一個(gè)位置偏移進(jìn)行解碼,所述一致性窗口旗標(biāo)指示所述VPS包括所述至少一個(gè)位置偏移。
在又一方面中,提供一種用于在多層位流中對(duì)圖片進(jìn)行解碼的設(shè)備,其可包含存儲(chǔ)器,以及硬件處理器,其操作性地耦合到所述存儲(chǔ)器且經(jīng)配置以在視頻編解碼器處接收所述多層位流,所述多層位流包括基礎(chǔ)層。所述處理器可進(jìn)一步經(jīng)配置以在所述基礎(chǔ)層的視頻參數(shù)集(VPS)中對(duì)一致性窗口旗標(biāo)和至少一個(gè)位置偏移進(jìn)行譯碼,其中所述一致性窗口旗標(biāo)指示所述VPS包括所述至少一個(gè)位置偏移。
附圖說(shuō)明
圖1A是說(shuō)明可利用根據(jù)本發(fā)明中描述的方面的技術(shù)的實(shí)例視頻編碼及解碼系統(tǒng)的框圖。
圖1B是說(shuō)明可執(zhí)行根據(jù)本發(fā)明中描述的方面的技術(shù)的另一實(shí)例視頻編碼和解碼系統(tǒng)的框圖。
圖2A是說(shuō)明可實(shí)施根據(jù)本發(fā)明中描述的方面的技術(shù)的視頻編碼器的實(shí)例的框圖。
圖2B是說(shuō)明可實(shí)施根據(jù)本發(fā)明中所描述的方面的技術(shù)的視頻編碼器的另一實(shí)例的框圖。
圖3A是說(shuō)明可實(shí)施本發(fā)明中描述的方面的技術(shù)的視頻解碼器的實(shí)例的框圖。
圖3B是說(shuō)明可實(shí)施根據(jù)本發(fā)明中所描述的方面的技術(shù)的視頻解碼器的另一實(shí)例的框圖。
圖4說(shuō)明示范性示意圖,其說(shuō)明用于利用一致性窗口信息的技術(shù)。
圖5是根據(jù)本發(fā)明中所描述的方面用于對(duì)圖片進(jìn)行編碼的過(guò)程的示范性實(shí)施例的流程圖。
圖6是根據(jù)本發(fā)明中所描述的方面用于對(duì)圖片進(jìn)行解碼的過(guò)程的示范性實(shí)施例的流程圖。
具體實(shí)施方式
一般來(lái)說(shuō),本發(fā)明涉及在例如高效率視頻譯碼(HEVC)、高級(jí)視頻譯碼(AVC)等高級(jí)視頻編解碼器的上下文中基于一致性窗口信息對(duì)圖片進(jìn)行譯碼。
一致性窗口一般涉及從譯碼過(guò)程輸出的在經(jīng)譯碼視頻序列中的圖片的樣本的窗口。位流可提供一致性窗口裁剪參數(shù)以指示經(jīng)譯碼圖片的輸出區(qū)。舉例來(lái)說(shuō),窗口可為使用用信號(hào)表示的圖片坐標(biāo)指定的矩形區(qū)。所述圖片坐標(biāo)可相對(duì)于參考層來(lái)用信號(hào)表示。
相對(duì)于參考層指定的所得輸出區(qū)可用作用于各種過(guò)程的輸入,包含再取樣過(guò)程。舉例來(lái)說(shuō),再取樣過(guò)程可利用含有頂部、底部、左和右偏移(相對(duì)于參考層用信號(hào)表示)的一致性窗口來(lái)計(jì)算輸出圖片。
在AVC的可縮放擴(kuò)展(被稱為SVC)和HEVC的可縮放擴(kuò)展(被稱為SHVC)中,可在多個(gè)層中提供視頻信息。在極底部層級(jí)的層可充當(dāng)基礎(chǔ)層,且在極頂部層級(jí)的層可充當(dāng)增強(qiáng)層。“增強(qiáng)層”有時(shí)稱為“經(jīng)增強(qiáng)層”,且這些術(shù)語(yǔ)可互換地使用?!盎A(chǔ)層”有時(shí)被稱作“參考層”,且這些術(shù)語(yǔ)也可互換地使用。頂部和底部層之間的所有層可充當(dāng)增強(qiáng)層及基礎(chǔ)層兩者。舉例來(lái)說(shuō),中間的層可為用于其下方的層的增強(qiáng)層,且同時(shí)為用于其上方的層的基礎(chǔ)層。
在多層位流中,可使用不同譯碼方案對(duì)層進(jìn)行譯碼。這可例如當(dāng)單個(gè)層經(jīng)縮放以形成多層位流時(shí)發(fā)生。舉例來(lái)說(shuō),SHVC中經(jīng)譯碼的增強(qiáng)層可與HEVC中經(jīng)譯碼的基礎(chǔ)層組合以形成多層位流。因?yàn)镾HVC是HEVC的可縮放擴(kuò)展,所以SHVC和HEVC可被稱為“相關(guān)聯(lián)”譯碼方案。然而,在一些情況下,可使用不相關(guān)聯(lián)的不同譯碼方案對(duì)多層位流中的個(gè)別層進(jìn)行譯碼。舉例來(lái)說(shuō),使用AVC譯碼的基礎(chǔ)層可與使用SHVC而不是SVC(AVC的可縮放擴(kuò)展)譯碼的增強(qiáng)層組合。在此類情況下,基礎(chǔ)層的一致性窗口信息可能不可用于各種目的,例如再取樣過(guò)程。因此,需要用于從使用不與接收參考層的編解碼器的譯碼方案相關(guān)聯(lián)的譯碼方案譯碼的基礎(chǔ)層發(fā)射和/或接收一致性窗口信息的系統(tǒng)和方法。下文描述提供此些參考層的一致性窗口信息的某些技術(shù)。
本發(fā)明的實(shí)施例提供用于使用多層位流的基礎(chǔ)層發(fā)射一致性窗口信息的系統(tǒng)和方法?;A(chǔ)層一致性窗口旗標(biāo)可在編解碼器處設(shè)定,其當(dāng)所述編解碼器接收使用不對(duì)應(yīng)于可縮放擴(kuò)展譯碼方案的基線譯碼方案譯碼的基礎(chǔ)層時(shí)使用可縮放擴(kuò)展譯碼方案。所述旗標(biāo)可指示基礎(chǔ)層位置偏移將跟隨其后,所述偏移提供經(jīng)再取樣的圖片的定位信息。視頻編解碼器接著在各種過(guò)程中可利用此信息,例如再取樣過(guò)程或涉及一致性窗口信息的使用的其它過(guò)程。
雖然本文中在HEVC及/或H.264標(biāo)準(zhǔn)的上下文中描述某些實(shí)施例,但所屬領(lǐng)域的技術(shù)人員可了解,本文中揭示的系統(tǒng)及方法可適用于任何合適的視頻譯碼標(biāo)準(zhǔn)。舉例來(lái)說(shuō),本文中所公開(kāi)的實(shí)施例可適用于以下標(biāo)準(zhǔn)中的一或多者:國(guó)際電信聯(lián)盟(ITU)電信標(biāo)準(zhǔn)化部門(mén)(ITU-T)H.261、國(guó)際標(biāo)準(zhǔn)化組織/國(guó)際電工委員會(huì)(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),包含可縮放和多視圖擴(kuò)展。并且,本發(fā)明中描述的技術(shù)可變?yōu)閷?lái)開(kāi)發(fā)的標(biāo)準(zhǔn)的一部分。換句話說(shuō),本發(fā)明中描述的技術(shù)可適用于先前開(kāi)發(fā)的視頻譯碼標(biāo)準(zhǔn)、當(dāng)前正在開(kāi)發(fā)的視頻譯碼標(biāo)準(zhǔn)及即將出現(xiàn)的視頻譯碼標(biāo)準(zhǔn)。
在許多方面,HEVC通常遵循先前視頻譯碼標(biāo)準(zhǔn)的框架。HEVC中的預(yù)測(cè)單元不同于某些先前視頻譯碼標(biāo)準(zhǔn)中的預(yù)測(cè)單元(例如,宏塊)。實(shí)際上,在HEVC中不存在如在某些先前視頻譯碼標(biāo)準(zhǔn)中所理解的宏塊的概念。宏塊由基于四叉樹(shù)方案的分層結(jié)構(gòu)替換,所述分層結(jié)構(gòu)可提供高靈活性和其它可能益處。舉例來(lái)說(shuō),在HEVC方案內(nèi),界定三個(gè)類型的塊:CU、PU和變換單元(TU)。CU可指區(qū)分裂的基本單元??蓪U視為類似于宏塊的概念,但HEVC不限制CU的最大大小,且可允許遞歸分裂成四個(gè)大小相等的CU以改進(jìn)內(nèi)容適應(yīng)性。PU可被認(rèn)為是幀間/幀內(nèi)預(yù)測(cè)的基本單元,且單個(gè)PU可含有多個(gè)任意形狀分區(qū)以有效地譯碼不規(guī)則圖像樣式。TU可認(rèn)為是變換的基本單元??瑟?dú)立于PU界定TU;然而,TU的大小可限于TU屬于的CU的大小。此塊結(jié)構(gòu)分離為三個(gè)不同概念可允許根據(jù)單元的相應(yīng)作用來(lái)優(yōu)化每一單元,這可得到改善的譯碼效率。
僅出于說(shuō)明的目的,用僅包含視頻數(shù)據(jù)的兩個(gè)層(舉例來(lái)說(shuō),例如基礎(chǔ)層等較低層,以及例如增強(qiáng)層等較高層)的實(shí)例來(lái)描述本文中所公開(kāi)的某些實(shí)施例。視頻數(shù)據(jù)的“層”可通常指具有至少一個(gè)共同特性(例如,視圖、幀速率、分辨率或類似者)的圖片序列。舉例而言,層可包含與多視圖視頻數(shù)據(jù)的特定視圖(例如,透視圖)相關(guān)聯(lián)的視頻數(shù)據(jù)。作為另一實(shí)例,層可包含與可縮放視頻數(shù)據(jù)的特定層相關(guān)聯(lián)的視頻數(shù)據(jù)。因此,本發(fā)明可互換地參考視頻數(shù)據(jù)的層和視圖。也就是說(shuō),視頻數(shù)據(jù)的視圖可被稱作視頻數(shù)據(jù)的層,且視頻數(shù)據(jù)的層可被稱作視頻數(shù)據(jù)的視圖。另外,多層編解碼器(也被稱作多層視頻譯碼器或多層編碼器-解碼器)可聯(lián)合地指代多視圖編解碼器或可縮放編解碼器(例如,經(jīng)配置以使用HEVC的多視圖擴(kuò)展(MV-HEVC)、HEVC的三維擴(kuò)展(3D-HEVC)、SHVC或另一多層譯碼技術(shù)對(duì)視頻數(shù)據(jù)進(jìn)行編碼和/或解碼的編解碼器)。視頻編碼和視頻解碼可通常被稱作視頻譯碼。應(yīng)理解,這些實(shí)例可適用于包含多個(gè)基礎(chǔ)層及/或增強(qiáng)層的配置。另外,為了易于解釋,參考某些實(shí)施例,以下揭示內(nèi)容包含術(shù)語(yǔ)“幀”或“塊”。然而,這些術(shù)語(yǔ)不打算具有限制性。舉例來(lái)說(shuō),下文描述的技術(shù)可配合任何合適的視頻單元(例如,塊(例如,CU、PU、TU、宏塊等)、切片、幀等)一起使用。
視頻譯碼標(biāo)準(zhǔn)
例如視頻圖像、TV圖像、靜態(tài)圖像或由錄像機(jī)或計(jì)算機(jī)產(chǎn)生的圖像等的數(shù)字圖像可由布置成水平及垂直線的像素或樣本構(gòu)成。單個(gè)圖像中的像素的數(shù)目通常有數(shù)萬(wàn)個(gè)。每一像素通常含有明度和色度信息。在無(wú)壓縮的情況下,將從圖像編碼器傳達(dá)到圖像解碼器的信息的絕對(duì)量將使實(shí)時(shí)圖像傳輸變得不可能。為了減少待發(fā)射的信息的量,已開(kāi)發(fā)出例如JPEG、MPEG及H.263標(biāo)準(zhǔn)等數(shù)個(gè)不同壓縮方法。
視頻譯碼標(biāo)準(zhǔn)包含ITU-T H.261、ISO/IEC MPEG-1視覺(jué)、ITU-T H.262或ISO/IEC MPEG-2視覺(jué)、ITU-T H.263、ISO/IEC MPEG-4視覺(jué)以及ITU-T H.264,包含可縮放和多視圖擴(kuò)展。
另外,ITU-T視頻編碼專家組(VCEG)和ISO/IEC MPEG的視頻譯碼聯(lián)合協(xié)作小組(JCT-VC)已經(jīng)開(kāi)發(fā)視頻譯碼標(biāo)準(zhǔn)(即,HEVC)。對(duì)HEVC草案10的完全引用為Bross等人的文件JCTVC-L1003,“高效率視頻譯碼(HEVC)文本說(shuō)明書(shū)草案10”,ITU-T SG16WP3與ISO/IEC JTC1/SC29/WG11的關(guān)于視頻譯碼的聯(lián)合合作小組(JCT-VC),第12次會(huì)議:瑞士日內(nèi)瓦,2013年1月14日至2013年1月23日。對(duì)HEVC的多視圖擴(kuò)展(即,MV-HEVC)和對(duì)HEVC的可縮放擴(kuò)展(名為SHVC)也正分別由JCT-3V(ITU-T/ISO/IEC的3D視頻譯碼擴(kuò)展開(kāi)發(fā)聯(lián)合協(xié)作小組)和JCT-VC開(kāi)發(fā)。
視頻譯碼系統(tǒng)
下文參考附圖更充分地描述新穎系統(tǒng)、設(shè)備及方法的各個(gè)方面。然而,本發(fā)明可以許多不同形式來(lái)體現(xiàn),且不應(yīng)將其解釋為限于貫穿本發(fā)明所呈現(xiàn)的任何特定結(jié)構(gòu)或功能。相反地,提供這些方面以使得本發(fā)明將透徹且完整,并且將向所屬領(lǐng)域的技術(shù)人員充分傳達(dá)本發(fā)明的范圍?;诒疚闹械慕淌荆鶎兕I(lǐng)域的技術(shù)人員應(yīng)了解,本發(fā)明的范圍既定涵蓋無(wú)論是獨(dú)立于本發(fā)明的任何其它方面而實(shí)施還是與之組合而實(shí)施的本文中所揭示的新穎系統(tǒng)、設(shè)備及方法的任何方面。舉例來(lái)說(shuō),可以使用本文中所闡述的任何數(shù)目個(gè)方面來(lái)實(shí)施設(shè)備或?qū)嵺`方法。另外,本發(fā)明的范圍既定涵蓋使用除本文中所闡述的本發(fā)明的各種方面之外的或不同于本文中所闡述的本發(fā)明的各種方面的其它結(jié)構(gòu)、功能性或結(jié)構(gòu)與功能性來(lái)實(shí)踐的此設(shè)備或方法。應(yīng)理解,可通過(guò)權(quán)利要求的一或多個(gè)要素來(lái)體現(xiàn)本文中所公開(kāi)的任何方面。
盡管本文描述了特定方面,但這些方面的許多變化及排列落在本發(fā)明的范圍內(nèi)。盡管提及了優(yōu)選方面的一些益處及優(yōu)點(diǎn),但本發(fā)明的范圍不希望限于特定益處、用途或目標(biāo)。而是,本發(fā)明的方面既定廣泛地適用于不同無(wú)線技術(shù)、系統(tǒng)配置、網(wǎng)絡(luò)及發(fā)射協(xié)議,其中的一些是借助于實(shí)例而在圖中以及在優(yōu)選方面的以下描述中說(shuō)明。具體實(shí)施方式和圖式僅說(shuō)明本發(fā)明,而不是限制由所附權(quán)利要求書(shū)和其等效物界定的本發(fā)明的范圍。
附圖說(shuō)明若干實(shí)例。由附圖中的參考標(biāo)號(hào)指示的元件對(duì)應(yīng)于在以下描述中由相同參考標(biāo)號(hào)指示的元件。在本發(fā)明中,名稱以序數(shù)詞(例如,“第一”、“第二”、“第三”等)開(kāi)始的元件未必暗示所述元件具有特定次序。而是,此些序數(shù)詞僅用于指代相同或類似類型的不同元件。
圖1A為說(shuō)明可利用根據(jù)本發(fā)明中所描述的方面的技術(shù)的實(shí)例視頻譯碼系統(tǒng)10的框圖。如本文中所描述地使用,術(shù)語(yǔ)“視頻譯碼器”一般指代視頻編碼器和視頻解碼器兩者。在本發(fā)明中,術(shù)語(yǔ)“視頻譯碼”或“譯碼”可一般地指代視頻編碼和視頻解碼。除了視頻編碼器和視頻解碼器外,本申請(qǐng)案中描述的方面可擴(kuò)展到其它相關(guān)裝置,例如,轉(zhuǎn)碼器(例如,可解碼位流且重新編碼另一位流的裝置)及中間框(例如,可修改、變換及/或另外操縱位流的裝置)。
如圖1A中所示,視頻譯碼系統(tǒng)10包含源裝置12,其產(chǎn)生將在稍后時(shí)間由目的地裝置14解碼的經(jīng)編碼視頻數(shù)據(jù)。在圖1A的實(shí)例中,源裝置12和目的地裝置14構(gòu)成單獨(dú)裝置。然而,應(yīng)注意,源裝置12和目的地裝置14可在同一裝置上或?yàn)橥谎b置的一部分,如在圖1B的實(shí)例中所展示。
再次參考圖1A,源裝置12和目的地裝置14可分別包括廣泛范圍的裝置中的任一者,包含臺(tái)式計(jì)算機(jī)、筆記本(例如,膝上型)計(jì)算機(jī)、平板計(jì)算機(jī)、機(jī)頂盒、電話手持機(jī)(例如,所謂的“智能”電話)、所謂的“智能”板、電視、相機(jī)、顯示裝置、數(shù)字媒體播放器、視頻游戲機(jī)、視頻流裝置等等。在各種實(shí)施例中,源裝置12和目的地裝置14可經(jīng)裝備以用于無(wú)線通信。
目的地裝置14可經(jīng)由鏈路16接收待解碼的經(jīng)編碼視頻數(shù)據(jù)。鏈路16可包括能夠?qū)⒔?jīng)編碼視頻數(shù)據(jù)從源裝置12移動(dòng)到目的地裝置14的任何類型的媒體或裝置。在圖1A的實(shí)例中,鏈路16可包括使得源裝置12能夠?qū)崟r(shí)將經(jīng)編碼視頻數(shù)據(jù)傳輸?shù)侥康牡匮b置14的通信媒體。可根據(jù)通信標(biāo)準(zhǔn)(例如,無(wú)線通信協(xié)議)調(diào)制經(jīng)編碼的視頻數(shù)據(jù),并將其發(fā)射到目的地裝置14。通信媒體可包括任何無(wú)線或有線通信媒體,例如射頻(RF)頻譜或一或多個(gè)物理傳輸線。通信媒體可形成分組網(wǎng)絡(luò)(例如,局域網(wǎng)。廣域網(wǎng)或全球網(wǎng)絡(luò),例如因特網(wǎng))的部分。通信媒體可包含路由器、交換機(jī)、基站或可用于促進(jìn)從源裝置12到目的地裝置14的通信的任一其它設(shè)備。
或者,經(jīng)編碼數(shù)據(jù)可從輸出接口22輸出到存儲(chǔ)裝置31(可選地存在)。類似地,可由(例如)目的地裝置14的輸入接口28從存儲(chǔ)裝置31存取經(jīng)編碼數(shù)據(jù)。存儲(chǔ)裝置31可包含多種分布式或本地存取數(shù)據(jù)存儲(chǔ)媒體中的任一者,例如硬盤(pán)驅(qū)動(dòng)器、閃存器、易失性或非易失性存儲(chǔ)器,或用于存儲(chǔ)經(jīng)編碼視頻數(shù)據(jù)的任一其它合適的數(shù)字存儲(chǔ)媒體。在另一實(shí)例中,存儲(chǔ)裝置31可對(duì)應(yīng)于可保存由源裝置12產(chǎn)生的經(jīng)編碼視頻的文件服務(wù)器或另一中間存儲(chǔ)裝置。目的地裝置14可經(jīng)由流式傳輸或下載來(lái)從存儲(chǔ)裝置31存取所存儲(chǔ)的視頻數(shù)據(jù)。文件服務(wù)器可為能夠存儲(chǔ)經(jīng)編碼視頻數(shù)據(jù)并且將經(jīng)編碼視頻數(shù)據(jù)發(fā)射到目的地裝置14的任何類型的服務(wù)器。實(shí)例文件服務(wù)器包含網(wǎng)絡(luò)服務(wù)器(例如,用于網(wǎng)站)、文件傳輸協(xié)議(FTP)服務(wù)器、網(wǎng)絡(luò)附接存儲(chǔ)(NAS)裝置或本地磁盤(pán)驅(qū)動(dòng)器。目的地裝置14可通過(guò)任何標(biāo)準(zhǔn)數(shù)據(jù)連接(包含因特網(wǎng)連接)來(lái)存取經(jīng)編碼的視頻數(shù)據(jù)。此可包含無(wú)線信道(例如無(wú)線局域網(wǎng)(WLAN)連接)、有線連接(例如數(shù)字訂戶線(DSL)、電纜調(diào)制解調(diào)器等),或適合于存取存儲(chǔ)在文件服務(wù)器上的經(jīng)編碼視頻數(shù)據(jù)的兩者的組合。經(jīng)編碼視頻數(shù)據(jù)從存儲(chǔ)裝置31的發(fā)射可為流式傳輸發(fā)射、下載發(fā)射或兩者的組合。
本發(fā)明的技術(shù)不限于無(wú)線應(yīng)用或設(shè)置。所述技術(shù)可應(yīng)用于支持多種多媒體應(yīng)用中的任一者的視頻譯碼,所述多媒體應(yīng)用例如空中電視廣播、有線電視發(fā)射、衛(wèi)星電視發(fā)射、(例如)經(jīng)由因特網(wǎng)的流式傳輸視頻發(fā)射(例如,根據(jù)超文本傳送協(xié)議(HTTP)的動(dòng)態(tài)自適應(yīng)流式傳輸?shù)?、用于存儲(chǔ)在數(shù)據(jù)存儲(chǔ)媒體上的數(shù)字視頻的編碼、存儲(chǔ)在數(shù)據(jù)存儲(chǔ)媒體上的數(shù)字視頻的解碼,或其它應(yīng)用。在一些實(shí)例中,視頻譯碼系統(tǒng)10可經(jīng)配置以支持單向或雙向視頻傳輸以支持例如視頻流式傳輸、視頻回放、視頻廣播及/或視頻電話等應(yīng)用。
在圖1A的實(shí)例中,源裝置12包含視頻源18、視頻編碼器20和輸出接口22。在一些情況下,輸出接口22可包含調(diào)制器/解調(diào)器(調(diào)制解調(diào)器)及/或發(fā)射器。在源裝置12中,視頻源18可包含例如視頻俘獲裝置(例如,攝像機(jī))、含有先前所俘獲的視頻的視頻存檔、用于從視頻內(nèi)容提供者接收視頻的視頻饋入接口和/或用于產(chǎn)生計(jì)算機(jī)圖形數(shù)據(jù)以作為源視頻的計(jì)算機(jī)圖形系統(tǒng),或此類源的組合等源。作為一個(gè)實(shí)例,如果視頻源18是攝像機(jī),那么源裝置12和目的地裝置14可形成所謂的“相機(jī)電話”或“視頻電話”,如圖1B的實(shí)例中所說(shuō)明。然而,本發(fā)明中所描述的技術(shù)一般來(lái)說(shuō)可適用于視頻譯碼,且可應(yīng)用于無(wú)線和/或有線應(yīng)用。
可由視頻編碼器20對(duì)所俘獲、預(yù)俘獲或計(jì)算機(jī)產(chǎn)生的視頻進(jìn)行編碼。經(jīng)編碼視頻數(shù)據(jù)可經(jīng)由源裝置12的輸出接口22發(fā)射到目的地裝置14。經(jīng)編碼視頻數(shù)據(jù)也可(或替代地)存儲(chǔ)到存儲(chǔ)裝置31上以供稍后由目的地裝置14或其它裝置存取以用于解碼和/或重放。圖1A和1B中說(shuō)明的視頻編碼器20可包括圖2A中說(shuō)明的視頻編碼器20、圖2B中說(shuō)明的視頻編碼器23或本文中描述的任一其它視頻編碼器。
在圖1A的實(shí)例中,目的地裝置14包含輸入接口28、視頻解碼器30和顯示裝置32。在一些狀況下,輸入接口28可包含接收器和/或調(diào)制解調(diào)器。目的地裝置14的輸入接口28可通過(guò)鏈路16和/或從存儲(chǔ)裝置31接收經(jīng)編碼視頻數(shù)據(jù)。通過(guò)鏈路16傳達(dá)或在存儲(chǔ)裝置31上提供的經(jīng)編碼視頻數(shù)據(jù)可包含由視頻編碼器20產(chǎn)生的多種語(yǔ)法元素,用于由例如視頻解碼器30的視頻解碼器在解碼視頻數(shù)據(jù)時(shí)使用。此類語(yǔ)法元素可與在通信媒體上發(fā)射、存儲(chǔ)于存儲(chǔ)媒體上或存儲(chǔ)文件服務(wù)器的經(jīng)編碼視頻數(shù)據(jù)包含在一起。圖1A和1B中說(shuō)明的視頻解碼器30可包括圖3A中說(shuō)明的視頻解碼器30、圖3B中說(shuō)明的視頻解碼器33或本文中描述的任一其它視頻解碼器。
顯示裝置32可與目的地裝置14集成在一起或在目的地裝置14的外部。在一些實(shí)例中,目的地裝置14可包含集成顯示裝置且還可經(jīng)配置以與外部顯示裝置接口連接。在其它實(shí)例中,目的地裝置14可能是顯示裝置。一般來(lái)說(shuō),顯示裝置32將經(jīng)解碼視頻數(shù)據(jù)顯示給用戶,且可包括多種顯示器裝置中的任一者,例如液晶顯示器(LCD)、等離子顯示器、有機(jī)發(fā)光二極管(OLED)顯示器或另一類型的顯示裝置。
在相關(guān)方面中,圖1B展示實(shí)例視頻譯碼系統(tǒng)10′,其中源裝置12和目的地裝置14在裝置11上或?yàn)槠洳糠?。裝置11可為電話手持機(jī),例如“智能”電話等等。裝置11可包含與源裝置12和目的地裝置14操作性通信的控制器/處理器裝置13(任選地,存在)。圖1B的視頻譯碼系統(tǒng)10'和其組件另外類似于圖1A的視頻譯碼系統(tǒng)10和其組件。
視頻編碼器20和視頻解碼器30可根據(jù)例如HEVC等視頻壓縮標(biāo)準(zhǔn)操作,且可符合HEVC測(cè)試模型(HM)?;蛘?,視頻編碼器20和視頻解碼器30可以根據(jù)其它專有或業(yè)界標(biāo)準(zhǔn)操作,所述標(biāo)準(zhǔn)例如ITU-T H.264標(biāo)準(zhǔn)(或者被稱作MPEG-4第10部分AVC),或此類標(biāo)準(zhǔn)的擴(kuò)展。但是,本發(fā)明的技術(shù)不限于任何特定譯碼標(biāo)準(zhǔn)。視頻壓縮標(biāo)準(zhǔn)的其它實(shí)例包含MPEG-2和ITU-T H.263。
盡管圖1A和1B的實(shí)例中未展示,但視頻編碼器20和視頻解碼器30可各自與音頻編碼器和解碼器集成,且可包含適當(dāng)?shù)腗UX-DEMUX單元或其它硬件和軟件,以處置共同數(shù)據(jù)流或單獨(dú)數(shù)據(jù)流中的音頻和視頻兩者的編碼。在一些實(shí)例中,如果適用的話,那么MUX-DEMUX單元可以符合ITU H.223多路復(fù)用器協(xié)議,或例如用戶數(shù)據(jù)報(bào)協(xié)議(UDP)等其它協(xié)議。
視頻編碼器20和視頻解碼器30各自可實(shí)施為多種合適的編碼器電路中的任一者,例如一或多個(gè)微處理器、數(shù)字信號(hào)處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)、離散邏輯、軟件、硬件、固件或其任何組合。當(dāng)部分地在軟件中實(shí)施所述技術(shù)時(shí),裝置可將用于所述軟件的指令存儲(chǔ)在合適的非暫時(shí)性計(jì)算機(jī)可讀媒體中且使用一或多個(gè)處理器在硬件中執(zhí)行所述指令以執(zhí)行本發(fā)明的技術(shù)。視頻編碼器20和視頻解碼器30中的每一者可包含在一或多個(gè)編碼器或解碼器中,所述編碼器或解碼器中的任一者可集成為相應(yīng)裝置中的組合編碼器/解碼器的部分。
視頻譯碼過(guò)程
如上文簡(jiǎn)要提到,視頻編碼器20編碼視頻數(shù)據(jù)。視頻數(shù)據(jù)可以包括一或多個(gè)圖片。圖片中的每一者為形成視頻的部分的靜態(tài)圖像。在一些情況下,圖片可被稱作視頻“幀”。當(dāng)視頻編碼器20編碼視頻數(shù)據(jù)時(shí),視頻編碼器20可以產(chǎn)生位流。位流可包含形成視頻數(shù)據(jù)的經(jīng)譯碼表示的一連串位。位流可包含經(jīng)譯碼圖片和相關(guān)聯(lián)的數(shù)據(jù)。經(jīng)譯碼的圖片是圖片的經(jīng)譯碼的表示。
為了產(chǎn)生位流,視頻編碼器20可對(duì)視頻數(shù)據(jù)中的每一圖片執(zhí)行編碼操作。當(dāng)視頻編碼器20對(duì)圖片執(zhí)行編碼操作時(shí),視頻編碼器20可產(chǎn)生一系列經(jīng)譯碼圖片和相關(guān)聯(lián)數(shù)據(jù)。相關(guān)聯(lián)數(shù)據(jù)可包含視頻參數(shù)集(VPS)、序列參數(shù)集(SPS)、圖片參數(shù)集(PPS)、自適應(yīng)參數(shù)集(APS)和其它語(yǔ)法結(jié)構(gòu)。SPS可以含有適用于零個(gè)或多于零個(gè)的圖片序列的參數(shù)。PPS可含有適用于零或更多圖片的參數(shù)。APS可含有適用于零個(gè)或更多圖片的參數(shù)。APS中的參數(shù)可為比PPS中的參數(shù)更可能改變的參數(shù)。
為了產(chǎn)生經(jīng)譯碼圖片,視頻編碼器20可將圖片分割成大小相等的視頻塊。視頻塊可為樣本的二維陣列。視頻塊中的每一者與樹(shù)塊相關(guān)聯(lián)。在一些情況下,樹(shù)塊可被稱作最大譯碼單元(LCU)。HEVC的樹(shù)塊可廣泛類似于例如H.264/AVC等先前標(biāo)準(zhǔn)的宏塊。然而,樹(shù)塊不必限于特定大小,且可包含一或多個(gè)譯碼單元(CU)。視頻編碼器20可使用四叉樹(shù)分割來(lái)將樹(shù)塊的視頻塊分割成與CU相關(guān)聯(lián)的視頻塊(因此名稱為“樹(shù)塊”)。
在一些實(shí)例中,視頻編碼器20可將圖片分割成多個(gè)切片。切片中的每一者可包含整數(shù)數(shù)目個(gè)CU。在一些情況下,一個(gè)切片包括整數(shù)數(shù)目個(gè)樹(shù)塊。在其它情況下,切片的邊界可在樹(shù)塊內(nèi)。
作為對(duì)圖片執(zhí)行編碼操作的部分,視頻編碼器20可對(duì)圖片的每一切片執(zhí)行編碼操作。當(dāng)視頻編碼器20對(duì)切片執(zhí)行編碼操作時(shí),視頻編碼器20可產(chǎn)生與切片相關(guān)聯(lián)的經(jīng)編碼數(shù)據(jù)。與切片相關(guān)聯(lián)的經(jīng)編碼數(shù)據(jù)可被稱為“經(jīng)譯碼切片”。
為產(chǎn)生經(jīng)譯碼切片,視頻編碼器20可對(duì)切片中的每一樹(shù)塊執(zhí)行編碼操作。當(dāng)視頻編碼器20對(duì)樹(shù)塊執(zhí)行編碼操作時(shí),視頻編碼器20可產(chǎn)生經(jīng)譯碼樹(shù)塊。經(jīng)譯碼樹(shù)塊可包括表示樹(shù)塊的經(jīng)編碼型式的數(shù)據(jù)。
當(dāng)視頻編碼器20產(chǎn)生經(jīng)譯碼切片時(shí),視頻編碼器20可根據(jù)光柵掃描次序?qū)η衅械臉?shù)塊執(zhí)行編碼操作(例如,編碼)。舉例來(lái)說(shuō),視頻編碼器20可按如下次序來(lái)對(duì)切片的樹(shù)塊進(jìn)行編碼:跨越切片中的樹(shù)塊的最頂行從左到右進(jìn)行,接著跨越樹(shù)塊的下一較低行從左到右進(jìn)行,以此類推,直到視頻編碼器20已對(duì)切片中的樹(shù)塊的每一者進(jìn)行了編碼為止。
作為根據(jù)光柵掃描次序編碼樹(shù)塊的結(jié)果,可已編碼在給定樹(shù)塊的上方和左邊的樹(shù)塊,但尚未編碼在給定樹(shù)塊的下方和右邊的樹(shù)塊。因此,當(dāng)對(duì)給定樹(shù)塊進(jìn)行編碼時(shí),視頻編碼器20可能能夠存取通過(guò)對(duì)給定樹(shù)塊的上方和左邊的樹(shù)塊進(jìn)行編碼而產(chǎn)生的信息。然而,當(dāng)編碼給定樹(shù)塊時(shí),視頻編碼器20可能不能夠存取通過(guò)編碼在給定樹(shù)塊的下方和右邊的樹(shù)塊而產(chǎn)生的信息。
為了產(chǎn)生經(jīng)譯碼樹(shù)塊,視頻編碼器20可對(duì)樹(shù)塊的視頻塊遞歸地執(zhí)行四叉樹(shù)分割以將視頻塊劃分為越來(lái)越小的視頻塊。較小視頻塊中的每一者可與不同CU相關(guān)聯(lián)。舉例來(lái)說(shuō),視頻編碼器20可將樹(shù)塊的視頻塊分割成四個(gè)大小相等的子塊、將所述子塊中的一或多者分割成四個(gè)大小相等的子子塊(sub-sub-block),以此類推。經(jīng)分割的CU可為其視頻塊被分割成與其它CU相關(guān)聯(lián)的視頻塊的CU。未分割CU可為其視頻塊未被分割成與其它CU相關(guān)聯(lián)的視頻塊的CU。
位流中的一或多個(gè)語(yǔ)法元素可指示視頻編碼器20可分割樹(shù)塊的視頻塊的最大次數(shù)。CU的視頻塊在形狀上可為正方形。CU的視頻塊的大小(例如,CU的大小)范圍可從8x8像素直到具有最大64x64個(gè)像素或更大的樹(shù)塊的視頻塊的大小(例如,樹(shù)塊的大小)。
視頻編碼器20可根據(jù)z掃描次序?qū)?shù)塊的每一CU執(zhí)行編碼操作(例如,編碼)。換句話說(shuō),視頻編碼器20可將左上CU、右上CU、左下CU和接著右下CU按此次序編碼。當(dāng)視頻編碼器20對(duì)經(jīng)分割的CU執(zhí)行編碼操作時(shí),視頻編碼器20可根據(jù)z掃描次序?qū)εc經(jīng)分割的CU的視頻塊的子塊相關(guān)聯(lián)的CU進(jìn)行編碼。換句話說(shuō),視頻編碼器20可對(duì)與左上子塊相關(guān)聯(lián)的CU、與右上子塊相關(guān)聯(lián)的CU、與左下子塊相關(guān)聯(lián)的CU,且接著是與右下子塊相關(guān)聯(lián)的CU按所述順序進(jìn)行編碼。
作為根據(jù)z掃描次序編碼樹(shù)塊的CU的結(jié)果,可已編碼在給定CU的上方、左上方、右上方、左邊和左下方的CU。尚未對(duì)給定CU的下方和右邊的CU進(jìn)行編碼。因此,當(dāng)對(duì)給定CU進(jìn)行編碼時(shí),視頻編碼器20可能能夠存取通過(guò)對(duì)與給定CU相鄰的一些CU進(jìn)行編碼而產(chǎn)生的信息。然而,當(dāng)對(duì)給定CU進(jìn)行編碼時(shí),視頻編碼器20可能不能夠存取通過(guò)對(duì)與給定CU相鄰的其它CU進(jìn)行編碼而產(chǎn)生的信息。
當(dāng)視頻編碼器20編碼未經(jīng)分割CU時(shí),視頻編碼器20可產(chǎn)生所述CU的一或多個(gè)預(yù)測(cè)單元(PU)。CU的PU中的每一者可與CU的視頻塊內(nèi)的不同視頻塊相關(guān)聯(lián)。視頻編碼器20可產(chǎn)生用于CU的每一PU的經(jīng)預(yù)測(cè)視頻塊。PU的經(jīng)預(yù)測(cè)視頻塊可為樣本塊。視頻編碼器20可使用幀內(nèi)預(yù)測(cè)或幀間預(yù)測(cè)來(lái)產(chǎn)生PU的經(jīng)預(yù)測(cè)視頻塊。
當(dāng)視頻編碼器20使用幀內(nèi)預(yù)測(cè)來(lái)產(chǎn)生PU的經(jīng)預(yù)測(cè)視頻塊時(shí),視頻編碼器20可基于與PU相關(guān)聯(lián)的圖片的經(jīng)解碼樣本來(lái)產(chǎn)生PU的經(jīng)預(yù)測(cè)視頻塊。如果視頻編碼器20使用幀內(nèi)預(yù)測(cè)來(lái)產(chǎn)生CU的PU的經(jīng)預(yù)測(cè)視頻塊,那么CU為經(jīng)幀內(nèi)預(yù)測(cè)的CU。當(dāng)視頻編碼器20使用幀間預(yù)測(cè)來(lái)產(chǎn)生PU的經(jīng)預(yù)測(cè)視頻塊時(shí),視頻編碼器20可基于不同于與PU相關(guān)聯(lián)的圖片的一或多個(gè)圖片的經(jīng)解碼樣本而產(chǎn)生PU的經(jīng)預(yù)測(cè)視頻塊。如果視頻編碼器20使用幀間預(yù)測(cè)來(lái)產(chǎn)生CU的PU的經(jīng)預(yù)測(cè)視頻塊,那么所述CU為經(jīng)幀間預(yù)測(cè)CU。
此外,當(dāng)視頻編碼器20使用幀間預(yù)測(cè)來(lái)產(chǎn)生PU的經(jīng)預(yù)測(cè)視頻塊時(shí),視頻編碼器20可產(chǎn)生PU的運(yùn)動(dòng)信息。PU的運(yùn)動(dòng)信息可指示PU的一或多個(gè)參考?jí)K。PU的每一參考?jí)K可為參考圖片內(nèi)的視頻塊。參考圖片可為除與PU相關(guān)聯(lián)的圖片以外的圖片。在一些情況下,PU的參考?jí)K也可被稱作PU的“參考樣本”。視頻編碼器20可基于PU的參考?jí)K產(chǎn)生所述PU的預(yù)測(cè)視頻塊。
在視頻編碼器20產(chǎn)生用于CU的一或多個(gè)PU的預(yù)測(cè)視頻塊之后,視頻編碼器20可基于用于CU的所述PU的預(yù)測(cè)視頻塊產(chǎn)生所述CU的殘余數(shù)據(jù)。CU的殘余數(shù)據(jù)可指示用于CU的PU的預(yù)測(cè)視頻塊中的樣本與CU的原始視頻塊之間的差。
此外,作為對(duì)未分割的CU執(zhí)行編碼操作的部分,視頻編碼器20可對(duì)CU的殘余數(shù)據(jù)執(zhí)行遞歸四叉樹(shù)分割以將CU的殘余數(shù)據(jù)分割成與CU的變換單元(TU)相關(guān)聯(lián)的一或多個(gè)殘余數(shù)據(jù)塊(例如,殘余視頻塊)。CU的每一TU可與不同殘余視頻塊相關(guān)聯(lián)。
視頻編碼器20可將一或多個(gè)變換應(yīng)用于與TU相關(guān)聯(lián)的殘余視頻塊以產(chǎn)生與TU相關(guān)聯(lián)的變換系數(shù)塊(例如,變換系數(shù)塊)。在概念上,變換系數(shù)塊可為變換系數(shù)的二維(2D)矩陣。
在產(chǎn)生變換系數(shù)塊之后,視頻編碼器20可對(duì)所述變換系數(shù)塊執(zhí)行量化處理。量化總體上是指對(duì)變換系數(shù)進(jìn)行量化以可能減少用以表示變換系數(shù)的數(shù)據(jù)的量從而提供進(jìn)一步壓縮的過(guò)程。量化過(guò)程可減少與變換系數(shù)中的一些或全部相關(guān)聯(lián)的位深度。例如,可在量化期間將n位變換系數(shù)向下舍入到m位變換系數(shù),其中n大于m。
視頻編碼器20可使每一CU與量化參數(shù)(QP)值相關(guān)聯(lián)。與CU相關(guān)聯(lián)的QP值可確定視頻編碼器20如何對(duì)與CU相關(guān)聯(lián)的變換系數(shù)塊進(jìn)行量化。視頻編碼器20可通過(guò)調(diào)整與CU相關(guān)聯(lián)的QP值來(lái)調(diào)整應(yīng)用于與CU相關(guān)聯(lián)的變換系數(shù)塊的量化的程度。
在視頻編碼器20量化變換系數(shù)塊之后,視頻編碼器20可產(chǎn)生表示經(jīng)量化變換系數(shù)塊中的變換系數(shù)的語(yǔ)法元素集合。視頻編碼器20可將例如上下文自適應(yīng)二進(jìn)制算術(shù)譯碼(CABAC)操作等熵編碼操作應(yīng)用于這些語(yǔ)法元素中的一些。還可使用例如上下文自適應(yīng)可變長(zhǎng)度譯碼(CAVLC)、概率區(qū)間分割熵(PIPE)譯碼或其它二進(jìn)制算術(shù)譯碼等其它熵譯碼技術(shù)。
由視頻編碼器20產(chǎn)生的位流可包含一系列網(wǎng)絡(luò)抽象層(NAL)單元。所述NAL單元中的每一者可為含有NAL單元中的數(shù)據(jù)類型的指示及含有數(shù)據(jù)的字節(jié)的語(yǔ)法結(jié)構(gòu)。舉例來(lái)說(shuō),NAL單元可含有表示視頻參數(shù)集、序列參數(shù)集、圖片參數(shù)集、經(jīng)譯碼切片、補(bǔ)充增強(qiáng)信息(SEI)、存取單元分隔符、填充數(shù)據(jù)或另一類型的數(shù)據(jù)的數(shù)據(jù)。NAL單元中的數(shù)據(jù)可包含各種語(yǔ)法結(jié)構(gòu)。
視頻解碼器30可接收由視頻編碼器20產(chǎn)生的位流。所述位流可包含由視頻編碼器20編碼的視頻數(shù)據(jù)的經(jīng)譯碼表示。當(dāng)視頻解碼器30接收到位流時(shí),視頻解碼器30可對(duì)位流執(zhí)行剖析操作。當(dāng)視頻解碼器30執(zhí)行剖析操作時(shí),視頻解碼器30可從位流提取語(yǔ)法元素。視頻解碼器30可基于從位流提取的語(yǔ)法元素而重構(gòu)視頻數(shù)據(jù)的圖片?;谡Z(yǔ)法元素而重構(gòu)視頻數(shù)據(jù)的過(guò)程一般可與由視頻編碼器20執(zhí)行以產(chǎn)生語(yǔ)法元素的過(guò)程互逆。
在視頻解碼器30提取與CU相關(guān)聯(lián)的語(yǔ)法元素之后,視頻解碼器30可基于所述語(yǔ)法元素產(chǎn)生用于CU的PU的經(jīng)預(yù)測(cè)視頻塊。另外,視頻解碼器30可對(duì)與CU的TU相關(guān)聯(lián)的變換系數(shù)塊進(jìn)行逆量化。視頻解碼器30可對(duì)變換系數(shù)塊執(zhí)行逆變換以重構(gòu)與CU的TU相關(guān)聯(lián)的殘余視頻塊。在產(chǎn)生經(jīng)預(yù)測(cè)視頻塊且重構(gòu)殘余視頻塊之后,視頻解碼器30可基于經(jīng)預(yù)測(cè)視頻塊及殘余視頻塊重構(gòu)CU的視頻塊。以此方式,視頻解碼器30可基于位流中的語(yǔ)法元素重構(gòu)CU的視頻塊。
視頻編碼器
圖2A為說(shuō)明可實(shí)施根據(jù)本發(fā)明中描述的方面的技術(shù)的視頻編碼器20的實(shí)例的框圖。視頻編碼器20可經(jīng)配置以處理視頻幀的單層(例如,針對(duì)HEVC)。此外,視頻編碼器20可經(jīng)配置以執(zhí)行本發(fā)明的技術(shù)中的任一者或全部。在一些實(shí)例中,本發(fā)明中描述的技術(shù)可在視頻編碼器20的各種組件之間共享。在一些實(shí)例中,另外或替代地,處理器(未圖示)可經(jīng)配置以執(zhí)行本發(fā)明中描述的技術(shù)中的任一者或全部。
出于解釋的目的,本發(fā)明在HEVC譯碼的上下文中描述視頻編碼器20。然而,本發(fā)明的技術(shù)可以適用于其它譯碼標(biāo)準(zhǔn)或方法。圖2A中所描繪的實(shí)例是針對(duì)單層編解碼器。然而,如將關(guān)于圖2B進(jìn)一步描述,可復(fù)制視頻編碼器20中的一些或全部以用于處理多層編解碼器。
視頻編碼器20可對(duì)視頻切片內(nèi)的視頻塊執(zhí)行幀內(nèi)譯碼及幀間譯碼。幀內(nèi)譯碼依賴于空間預(yù)測(cè)來(lái)減小或移除給定視頻幀或圖片內(nèi)的視頻的空間冗余。幀間譯碼依靠時(shí)間預(yù)測(cè)來(lái)減少或移除視頻序列的鄰近幀或圖片內(nèi)的視頻中的時(shí)間冗余。幀內(nèi)模式(I模式)可指代若干基于空間的譯碼模式中的任一者。例如單向預(yù)測(cè)(P模式)或雙向預(yù)測(cè)(B模式)等幀間模式可指代若干基于時(shí)間的譯碼模式中的任一者。
在圖2A的實(shí)例中,視頻編碼器20包含多個(gè)功能組件。視頻編碼器20的功能組件包括預(yù)測(cè)處理單元100、殘余產(chǎn)生單元102、變換處理單元104、量化單元106、逆量化單元108、逆變換單元110、重構(gòu)單元112、濾波器單元113、經(jīng)解碼的圖片緩沖器114和熵編碼單元116。預(yù)測(cè)處理單元100包含幀間預(yù)測(cè)單元121、運(yùn)動(dòng)估計(jì)單元122、運(yùn)動(dòng)補(bǔ)償單元124、幀內(nèi)預(yù)測(cè)單元126和層間預(yù)測(cè)單元128。在其它實(shí)例中,視頻編碼器20可包括更多、更少或不同的功能組件。此外,運(yùn)動(dòng)估計(jì)單元122和運(yùn)動(dòng)補(bǔ)償單元124可高度集成,但出于解釋的目的而在圖2A的實(shí)例中分開(kāi)表示。
視頻編碼器20可接收視頻數(shù)據(jù)。視頻編碼器20可從各種源接收視頻數(shù)據(jù)。舉例來(lái)說(shuō),視頻編碼器20可從視頻源18(例如,圖1A或1B中所展示)或另一源接收視頻數(shù)據(jù)。視頻數(shù)據(jù)可表示一系列圖片。為了編碼視頻數(shù)據(jù),視頻編碼器20可對(duì)圖片中的每一者執(zhí)行編碼操作。作為對(duì)圖片執(zhí)行編碼操作的部分,視頻編碼器20可對(duì)圖片的每一切片執(zhí)行編碼操作。作為對(duì)切片執(zhí)行編碼操作的部分,視頻編碼器20可對(duì)切片中的樹(shù)塊執(zhí)行編碼操作。
作為對(duì)樹(shù)塊執(zhí)行編碼操作的部分,預(yù)測(cè)處理單元100可對(duì)樹(shù)塊的視頻塊執(zhí)行四叉樹(shù)分割以將所述視頻塊劃分成逐漸變小的視頻塊。較小視頻塊中的每一者可與不同CU相關(guān)聯(lián)。舉例來(lái)說(shuō),預(yù)測(cè)處理單元100可將樹(shù)塊的視頻塊分割成四個(gè)相等大小的子塊,將所述子塊中的一或多者分割成四個(gè)相等大小的子子塊,等等。
與CU相關(guān)聯(lián)的視頻塊的大小范圍可從8x8樣本高達(dá)最大64x64像素或更大的樹(shù)塊大小。在本發(fā)明中,“NxN”和“N乘N”可互換使用來(lái)指代在垂直及水平尺寸方面的視頻塊的樣本尺寸,例如,16x16樣本或16乘16樣本。一般來(lái)說(shuō),16x16視頻塊在垂直方向上具有16個(gè)樣本(y=16),且在水平方向上具有16個(gè)樣本(x=16)。同樣,NxN塊一般在垂直方向上具有N個(gè)樣本,且在水平方向上具有N個(gè)樣本,其中N表示非負(fù)整數(shù)值。
另外,作為對(duì)樹(shù)塊執(zhí)行編碼操作的部分,預(yù)測(cè)處理單元100可產(chǎn)生用于所述樹(shù)塊的階層式四叉樹(shù)數(shù)據(jù)結(jié)構(gòu)。例如,樹(shù)塊可對(duì)應(yīng)于四叉樹(shù)數(shù)據(jù)結(jié)構(gòu)的根節(jié)點(diǎn)。如果預(yù)測(cè)處理單元100將樹(shù)塊的視頻塊分割成四個(gè)子塊,那么根節(jié)點(diǎn)在四叉樹(shù)數(shù)據(jù)結(jié)構(gòu)中具有四個(gè)子級(jí)節(jié)點(diǎn)。所述子節(jié)點(diǎn)中的每一者對(duì)應(yīng)于與子塊中的一者相關(guān)聯(lián)的CU。如果預(yù)測(cè)處理單元100將子塊中的一者分割成四個(gè)子子塊,那么對(duì)應(yīng)于與子塊相關(guān)聯(lián)的CU的節(jié)點(diǎn)可具有四個(gè)子級(jí)節(jié)點(diǎn),其中的每一者對(duì)應(yīng)于與子子塊中的一者相關(guān)聯(lián)的CU。
四叉樹(shù)數(shù)據(jù)結(jié)構(gòu)的每一節(jié)點(diǎn)可含有用于對(duì)應(yīng)樹(shù)塊或CU的語(yǔ)法數(shù)據(jù)(例如,語(yǔ)法元素)。舉例來(lái)說(shuō),四叉樹(shù)中的節(jié)點(diǎn)可包括分裂旗標(biāo),其指示對(duì)應(yīng)于節(jié)點(diǎn)的CU的視頻塊是否被分割(例如,分裂)成四個(gè)子塊。用于CU的語(yǔ)法元素可遞歸地界定,且可取決于所述CU的視頻塊是否分裂成子塊。視頻塊未被分割的CU可對(duì)應(yīng)于四叉樹(shù)數(shù)據(jù)結(jié)構(gòu)中的葉節(jié)點(diǎn)。經(jīng)譯碼樹(shù)塊可包含基于對(duì)應(yīng)樹(shù)塊的四叉樹(shù)數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)。
視頻編碼器20可對(duì)樹(shù)塊的每一未經(jīng)分割的CU執(zhí)行編碼操作。當(dāng)視頻編碼器20對(duì)未經(jīng)分割的CU執(zhí)行編碼操作時(shí),視頻編碼器20產(chǎn)生表示未經(jīng)分割的CU的經(jīng)編碼表示的數(shù)據(jù)。
作為對(duì)CU執(zhí)行編碼操作的部分,預(yù)測(cè)處理單元100可在CU的一或多個(gè)PU間分割CU的視頻塊。視頻編碼器20和視頻解碼器30可支持各種PU大小。假定特定CU的大小為2Nx2N,視頻編碼器20及視頻解碼器30可支持2Nx2N或NxN的PU大小,及2Nx2N、2NxN、Nx2N、NxN、2NxnU、nLx2N、nRx2N或類似的對(duì)稱PU大小的幀間預(yù)測(cè)。視頻編碼器20和視頻解碼器30還可支持用于2NxnU、2NxnD、nLx2N和nRx2N的PU大小的不對(duì)稱分割。在一些實(shí)例中,預(yù)測(cè)處理單元100可執(zhí)行幾何分割以沿并不按直角與CU的視頻塊的側(cè)會(huì)合的邊界來(lái)在CU的PU間分割CU的視頻塊。
幀間預(yù)測(cè)單元121可對(duì)CU的每一PU執(zhí)行幀間預(yù)測(cè)。幀間預(yù)測(cè)可提供時(shí)間壓縮。為了對(duì)PU執(zhí)行幀間預(yù)測(cè),運(yùn)動(dòng)估計(jì)單元122可產(chǎn)生PU的運(yùn)動(dòng)信息。運(yùn)動(dòng)補(bǔ)償單元124可基于運(yùn)動(dòng)信息和不同于與CU相關(guān)聯(lián)的圖片(例如,參考圖片)的圖片的經(jīng)解碼樣本而產(chǎn)生PU的經(jīng)預(yù)測(cè)視頻塊。在本發(fā)明中,由運(yùn)動(dòng)補(bǔ)償單元124產(chǎn)生的經(jīng)預(yù)測(cè)視頻塊可稱作經(jīng)幀間預(yù)測(cè)視頻塊。
切片可為I切片、P切片,或B切片。運(yùn)動(dòng)估計(jì)單元122和運(yùn)動(dòng)補(bǔ)償單元124可取決于PU處于I切片、P切片還是B切片中而對(duì)CU的PU執(zhí)行不同操作。在I切片中,所有PU都是經(jīng)幀內(nèi)預(yù)測(cè)。因此,如果PU在I切片中,那么運(yùn)動(dòng)估計(jì)單元122及運(yùn)動(dòng)補(bǔ)償單元124不對(duì)PU執(zhí)行幀間預(yù)測(cè)。
如果PU在P切片中,那么含有所述PU的圖片與被稱作“列表0”的參考圖片列表相關(guān)聯(lián)。列表0中的參考圖片中的每一者含有可用于其它圖片的幀間預(yù)測(cè)的樣本。當(dāng)運(yùn)動(dòng)估計(jì)單元122關(guān)于P切片中的PU執(zhí)行運(yùn)動(dòng)估計(jì)操作時(shí),運(yùn)動(dòng)估計(jì)單元122可搜索列表0中的參考圖片以找出PU的參考?jí)K。PU的參考?jí)K可為最接近對(duì)應(yīng)于PU的視頻塊中的樣本的一組樣本,例如樣本塊。運(yùn)動(dòng)估計(jì)單元122可使用多種度量來(lái)確定參考圖片中的一組樣本對(duì)應(yīng)于PU的視頻塊中的樣本的緊密程度。例如,運(yùn)動(dòng)估計(jì)單元122可通過(guò)絕對(duì)差總和(SAD)、平方差總和(SSD)或其它差異度量來(lái)確定參考圖片中的一組樣本對(duì)應(yīng)于PU的視頻塊中的樣本的接近程度。
在識(shí)別出P切片中的PU的參考?jí)K之后,運(yùn)動(dòng)估計(jì)單元122可產(chǎn)生指示列表0中含有參考?jí)K的參考圖片的參考索引,以及指示PU與參考?jí)K之間的空間位移的運(yùn)動(dòng)向量。在各種實(shí)例中,運(yùn)動(dòng)估計(jì)單元122可以不同精確度產(chǎn)生運(yùn)動(dòng)向量。舉例來(lái)說(shuō),運(yùn)動(dòng)估計(jì)單元122可以四分之一樣本精確度、八分之一樣本精確度或其它分?jǐn)?shù)樣本精確度產(chǎn)生運(yùn)動(dòng)向量。在分?jǐn)?shù)樣本精確度的情況下,參考?jí)K值可從參考圖片中的整數(shù)位置樣本值內(nèi)插。運(yùn)動(dòng)估計(jì)單元122可將參考索引及運(yùn)動(dòng)向量輸出為PU的運(yùn)動(dòng)信息。運(yùn)動(dòng)補(bǔ)償單元124可基于由PU的運(yùn)動(dòng)信息識(shí)別的參考?jí)K而產(chǎn)生PU的經(jīng)預(yù)測(cè)視頻塊。
如果PU處于B切片中,那么含有PU的圖片可與被稱作“列表0”和“列表1”的兩個(gè)參考圖片列表相關(guān)聯(lián)。在一些實(shí)例中,含有B切片的圖片可與為列表0與列表1的組合的列表組合相關(guān)聯(lián)。
此外,如果PU在B切片中,那么運(yùn)動(dòng)估計(jì)單元122可對(duì)PU執(zhí)行單向預(yù)測(cè)或雙向預(yù)測(cè)。當(dāng)運(yùn)動(dòng)估計(jì)單元122對(duì)PU執(zhí)行單向預(yù)測(cè)時(shí),運(yùn)動(dòng)估計(jì)單元122可搜索列表0或列表1中的參考圖片以找出用于所述PU的參考?jí)K。運(yùn)動(dòng)估計(jì)單元122可隨后產(chǎn)生指示列表0或列表1中的含有參考?jí)K的參考圖片的參考索引和指示PU與參考?jí)K之間的空間位移的運(yùn)動(dòng)向量。運(yùn)動(dòng)估計(jì)單元122可輸出參考索引、預(yù)測(cè)方向指示符和運(yùn)動(dòng)向量作為所述PU的運(yùn)動(dòng)信息。預(yù)測(cè)方向指示符可指示參考索引指示列表0還是列表1中的參考圖片。運(yùn)動(dòng)補(bǔ)償單元124可基于由PU的運(yùn)動(dòng)信息指示的參考?jí)K來(lái)產(chǎn)生PU的經(jīng)預(yù)測(cè)視頻塊。
當(dāng)運(yùn)動(dòng)估計(jì)單元122針對(duì)PU執(zhí)行雙向預(yù)測(cè)時(shí),運(yùn)動(dòng)估計(jì)單元122可搜索列表0中的參考圖片以找到用于所述PU的參考?jí)K,且還可搜索列表1中的參考圖片以找到用于所述PU的另一參考?jí)K。運(yùn)動(dòng)估計(jì)單元122可隨后產(chǎn)生指示列表0和列表1中的含有參考?jí)K的參考圖片的參考索引和指示參考?jí)K與PU之間的空間位移的運(yùn)動(dòng)向量。運(yùn)動(dòng)估計(jì)單元122可輸出PU的參考索引及運(yùn)動(dòng)向量作為PU的運(yùn)動(dòng)信息。運(yùn)動(dòng)補(bǔ)償單元124可基于由PU的運(yùn)動(dòng)信息指示的參考?jí)K而產(chǎn)生PU的經(jīng)預(yù)測(cè)視頻塊。
在一些情況下,運(yùn)動(dòng)估計(jì)單元122不將PU的運(yùn)動(dòng)信息的完整集合輸出到熵編碼單元116。實(shí)際上,運(yùn)動(dòng)估計(jì)單元122可參考另一PU的運(yùn)動(dòng)信息用信號(hào)表示PU的運(yùn)動(dòng)信息。舉例來(lái)說(shuō),運(yùn)動(dòng)估計(jì)單元122可確定PU的運(yùn)動(dòng)信息足夠類似于相鄰PU的運(yùn)動(dòng)信息。在此實(shí)例中,運(yùn)動(dòng)估計(jì)單元122可在與PU相關(guān)聯(lián)的語(yǔ)法結(jié)構(gòu)中指示一值,所述值向視頻解碼器30指示PU具有與相鄰PU相同的運(yùn)動(dòng)信息。在另一實(shí)例中,運(yùn)動(dòng)估計(jì)單元122可在與PU相關(guān)聯(lián)的語(yǔ)法結(jié)構(gòu)中識(shí)別相鄰PU和運(yùn)動(dòng)向量差(MVD)。運(yùn)動(dòng)向量差指示PU的運(yùn)動(dòng)向量與所指示的相鄰PU的運(yùn)動(dòng)向量之間的差。視頻解碼器30可使用所指示的相鄰PU的運(yùn)動(dòng)向量和運(yùn)動(dòng)向量差來(lái)確定PU的運(yùn)動(dòng)向量。通過(guò)在用信號(hào)表示第二PU的運(yùn)動(dòng)信息時(shí)參考第一PU的運(yùn)動(dòng)信息,視頻編碼器20可能能夠使用較少位用信號(hào)表示第二PU的運(yùn)動(dòng)信息。
作為對(duì)CU執(zhí)行編碼操作的部分,幀內(nèi)預(yù)測(cè)單元126可對(duì)CU的PU執(zhí)行幀內(nèi)預(yù)測(cè)。幀內(nèi)預(yù)測(cè)可提供空間壓縮。當(dāng)幀內(nèi)預(yù)測(cè)單元126對(duì)PU執(zhí)行幀內(nèi)預(yù)測(cè)時(shí),幀內(nèi)預(yù)測(cè)單元126可基于同一圖片中的其它PU的經(jīng)解碼樣本來(lái)產(chǎn)生用于PU的預(yù)測(cè)數(shù)據(jù)。用于PU的預(yù)測(cè)數(shù)據(jù)可包含經(jīng)預(yù)測(cè)視頻塊和各種語(yǔ)法元素。幀內(nèi)預(yù)測(cè)單元126可對(duì)I切片、P切片和B切片中的PU執(zhí)行幀內(nèi)預(yù)測(cè)。
為了對(duì)PU執(zhí)行幀內(nèi)預(yù)測(cè),幀內(nèi)預(yù)測(cè)單元126可使用多個(gè)幀內(nèi)預(yù)測(cè)模式以產(chǎn)生用于PU的預(yù)測(cè)數(shù)據(jù)的多個(gè)集合。當(dāng)幀內(nèi)預(yù)測(cè)單元126使用幀內(nèi)預(yù)測(cè)模式來(lái)產(chǎn)生PU的預(yù)測(cè)數(shù)據(jù)的集合時(shí),幀內(nèi)預(yù)測(cè)單元126可在與幀內(nèi)預(yù)測(cè)模式相關(guān)聯(lián)的方向和/或梯度上跨越PU的視頻塊從相鄰PU的視頻塊擴(kuò)展樣本。相鄰PU可在所述PU的上方、右上方、左上方或左側(cè),假定對(duì)于PU、CU和樹(shù)塊采用從左到右、從上到下的編碼次序。幀內(nèi)預(yù)測(cè)單元126可取決于PU的大小而使用各種數(shù)目個(gè)幀內(nèi)預(yù)測(cè)模式,例如33個(gè)定向幀內(nèi)預(yù)測(cè)模式。
預(yù)測(cè)處理單元100可從由運(yùn)動(dòng)補(bǔ)償單元124針對(duì)PU產(chǎn)生的預(yù)測(cè)數(shù)據(jù)或由幀內(nèi)預(yù)測(cè)單元126針對(duì)PU產(chǎn)生的預(yù)測(cè)數(shù)據(jù)當(dāng)中選擇用于PU的預(yù)測(cè)數(shù)據(jù)。在一些實(shí)例中,預(yù)測(cè)處理單元100基于預(yù)測(cè)數(shù)據(jù)集合的速率/失真度量而選擇PU的預(yù)測(cè)數(shù)據(jù)。
如果預(yù)測(cè)處理單元100選擇由幀內(nèi)預(yù)測(cè)單元126產(chǎn)生的預(yù)測(cè)數(shù)據(jù),那么預(yù)測(cè)處理單元100可用信號(hào)表示用以產(chǎn)生用于PU的預(yù)測(cè)數(shù)據(jù)的幀內(nèi)預(yù)測(cè)模式,即,選定幀內(nèi)預(yù)測(cè)模式。預(yù)測(cè)處理單元100可以各種方式用傳信所選幀內(nèi)預(yù)測(cè)模式。舉例來(lái)說(shuō),有可能所選幀內(nèi)預(yù)測(cè)模式與相鄰PU的幀內(nèi)預(yù)測(cè)模式相同。換句話說(shuō),相鄰PU的幀內(nèi)預(yù)測(cè)模式可為用于當(dāng)前PU的最可能模式。因此,預(yù)測(cè)處理單元100可產(chǎn)生用以指示選定幀內(nèi)預(yù)測(cè)模式與相鄰PU的幀內(nèi)預(yù)測(cè)模式相同的語(yǔ)法元素。
如上文所論述,視頻編碼器20可包含層間預(yù)測(cè)單元128。層間預(yù)測(cè)單元128經(jīng)配置以使用SHVC中可用的一或多個(gè)不同層(例如,基礎(chǔ)或參考層)預(yù)測(cè)當(dāng)前塊(例如,EL中的當(dāng)前塊)。此預(yù)測(cè)可稱作層間預(yù)測(cè)。層間預(yù)測(cè)單元128利用預(yù)測(cè)方法減少層間冗余,借此改進(jìn)譯碼效率且減少計(jì)算資源要求。層間預(yù)測(cè)的一些實(shí)例包含層間幀內(nèi)預(yù)測(cè)、層間運(yùn)動(dòng)預(yù)測(cè)及層間殘余預(yù)測(cè)。層間幀內(nèi)預(yù)測(cè)使用基礎(chǔ)層中的協(xié)同定位塊的重構(gòu)來(lái)預(yù)測(cè)增強(qiáng)層中的當(dāng)前塊。層間運(yùn)動(dòng)預(yù)測(cè)使用基礎(chǔ)層的運(yùn)動(dòng)信息來(lái)預(yù)測(cè)增強(qiáng)層中的運(yùn)動(dòng)。層間殘余預(yù)測(cè)使用基礎(chǔ)層的殘余來(lái)預(yù)測(cè)增強(qiáng)層的殘余。
在預(yù)測(cè)處理單元100選擇CU的PU的預(yù)測(cè)數(shù)據(jù)之后,殘余產(chǎn)生單元102可通過(guò)從CU的視頻塊減去(例如,由減號(hào)指示)CU的PU的經(jīng)預(yù)測(cè)視頻塊而產(chǎn)生CU的殘余數(shù)據(jù)。CU的殘余數(shù)據(jù)可包含對(duì)應(yīng)于CU的視頻塊中的樣本的不同樣本分量的2D殘余視頻塊。舉例來(lái)說(shuō),殘余數(shù)據(jù)可包含對(duì)應(yīng)于CU的PU的經(jīng)預(yù)測(cè)視頻塊中的樣本的明度分量與CU的原始視頻塊中的樣本的明度分量之間的差的殘余視頻塊。另外,CU的殘余數(shù)據(jù)可包含對(duì)應(yīng)于CU的PU的預(yù)測(cè)視頻塊中的樣本的色度分量與CU的原始視頻塊中的樣本的色度分量之間的差的殘余視頻塊。
預(yù)測(cè)處理單元100可執(zhí)行四叉樹(shù)分割以將CU的殘余視頻塊分割成子塊。每一未經(jīng)劃分的殘余視頻塊可與CU的不同TU相關(guān)聯(lián)。與CU的TU相關(guān)聯(lián)的殘余視頻塊的大小及位置可基于或可不基于與CU的PU相關(guān)聯(lián)的視頻塊的大小及位置。被稱為“殘余四叉樹(shù)”(RQT)的四叉樹(shù)結(jié)構(gòu)可包含與殘余視頻塊中的每一者相關(guān)聯(lián)的節(jié)點(diǎn)。CU的TU可以對(duì)應(yīng)于RQT的葉節(jié)點(diǎn)。
變換處理單元104可通過(guò)將一或多個(gè)變換應(yīng)用于與CU的每一TU相關(guān)聯(lián)的殘余視頻塊而產(chǎn)生用于所述TU的一或多個(gè)變換系數(shù)塊。變換系數(shù)塊中的每一者可為變換系數(shù)的2D矩陣。變換處理單元104可將各種變換應(yīng)用于與TU相關(guān)聯(lián)的殘余視頻塊。舉例來(lái)說(shuō),變換處理單元104可將離散余弦變換(DCT)、方向性變換或概念上類似的變換應(yīng)用到與TU相關(guān)聯(lián)的殘余視頻塊。
在變換處理單元104產(chǎn)生與TU相關(guān)聯(lián)的變換系數(shù)塊之后,量化單元106可量化所述變換系數(shù)塊中的變換系數(shù)。量化單元106可基于與CU相關(guān)聯(lián)的QP值而對(duì)與CU的TU相關(guān)聯(lián)的變換系數(shù)塊進(jìn)行量化。
視頻編碼器20可以各種方式使QP值與CU相關(guān)聯(lián)。例如,視頻編碼器20可對(duì)與CU相關(guān)聯(lián)的樹(shù)塊執(zhí)行速率失真分析。在速率-失真分析中,視頻編碼器20可通過(guò)對(duì)樹(shù)塊執(zhí)行多次編碼操作而產(chǎn)生樹(shù)塊的多個(gè)經(jīng)譯碼表示。當(dāng)視頻編碼器20產(chǎn)生樹(shù)塊的不同經(jīng)編碼表示時(shí),視頻編碼器20可使不同QP值與CU相關(guān)聯(lián)。當(dāng)給定QP值與具有最低位速率和失真度量的樹(shù)塊的經(jīng)譯碼表示中的CU相關(guān)聯(lián)時(shí),視頻編碼器20可用信號(hào)表示給定QP值與CU相關(guān)聯(lián)。
逆量化單元108和逆變換單元110可分別將逆量化及逆變換應(yīng)用于變換系數(shù)塊以從變換系數(shù)塊重構(gòu)殘余視頻塊。重構(gòu)單元112可將經(jīng)重構(gòu)的殘余視頻塊添加到來(lái)自由預(yù)測(cè)處理單元100產(chǎn)生的一或多個(gè)預(yù)測(cè)視頻塊的對(duì)應(yīng)樣本,以產(chǎn)生與TU相關(guān)聯(lián)的經(jīng)重構(gòu)視頻塊。通過(guò)以此方式重構(gòu)CU的每一TU的視頻塊,視頻編碼器20可重構(gòu)CU的視頻塊。
在重構(gòu)單元112重構(gòu)CU的視頻塊之后,濾波器單元113可執(zhí)行解塊操作以減小與所述CU相關(guān)聯(lián)的視頻塊中的成塊假象。在執(zhí)行一或多個(gè)解塊操作之后,濾波器單元113可將CU的經(jīng)重構(gòu)視頻塊存儲(chǔ)在經(jīng)解碼圖片緩沖器114中。運(yùn)動(dòng)估計(jì)單元122和運(yùn)動(dòng)補(bǔ)償單元124可使用含有經(jīng)重構(gòu)視頻塊的參考圖片來(lái)對(duì)后續(xù)圖片的PU執(zhí)行幀間預(yù)測(cè)。另外,幀內(nèi)預(yù)測(cè)單元126可使用經(jīng)解碼圖片緩沖器114中的經(jīng)重構(gòu)視頻塊對(duì)處于與CU相同圖片中的其它PU執(zhí)行幀內(nèi)預(yù)測(cè)。
熵編碼單元116可從視頻編碼器20的其它功能組件接收數(shù)據(jù)。舉例來(lái)說(shuō),熵編碼單元116可從量化單元106接收變換系數(shù)塊且可從預(yù)測(cè)處理單元100接收語(yǔ)法元素。當(dāng)熵編碼單元116接收到數(shù)據(jù)時(shí),熵編碼單元116可執(zhí)行一或多個(gè)熵編碼操作以產(chǎn)生經(jīng)熵編碼數(shù)據(jù)。舉例來(lái)說(shuō),視頻編碼器20可對(duì)所述數(shù)據(jù)執(zhí)行CAVLC操作、CABAC操作、可變到可變(V2V)長(zhǎng)度譯碼操作、基于語(yǔ)法的上下文自適應(yīng)二進(jìn)制算術(shù)譯碼(SBAC)操作、概率區(qū)間分割熵(PIPE)譯碼操作,或另一類型的熵編碼操作。熵編碼單元116可輸出包含經(jīng)熵編碼數(shù)據(jù)的位流。
作為對(duì)數(shù)據(jù)執(zhí)行熵編碼操作的一部分,熵編碼單元116可選擇上下文模型。如果熵編碼單元116正執(zhí)行CABAC操作,那么上下文模型可指示特定二進(jìn)制數(shù)具有特定值的概率的估計(jì)。在CABAC的情況下,術(shù)語(yǔ)“二進(jìn)位”用以指語(yǔ)法元素的二進(jìn)制化版本的位。
多層視頻編碼器
圖2B是說(shuō)明可實(shí)施根據(jù)本發(fā)明中描述的方面的技術(shù)的多層視頻編碼器23(也簡(jiǎn)稱為視頻編碼器23)的另一實(shí)例的框圖。視頻編碼器23可經(jīng)配置以處理多層視頻幀(例如,針對(duì)SHVC和MV-HEVC)。此外,視頻編碼器23可經(jīng)配置以執(zhí)行本發(fā)明的技術(shù)中的任一者或全部。
視頻編碼器23包含視頻編碼器20A和視頻編碼器20B,其中的每一者可經(jīng)配置為視頻編碼器20,且可執(zhí)行上文關(guān)于視頻編碼器20描述的功能。另外,如由參考數(shù)字的再使用所指示,視頻編碼器20A和20B可包含如視頻編碼器20的系統(tǒng)和子系統(tǒng)中的至少一些。雖然將視頻編碼器23說(shuō)明為包含兩個(gè)視頻編碼器20A和20B,但視頻編碼器23不受如此限制,且可包括任何數(shù)目個(gè)視頻編碼器20層。在一些實(shí)施例中,視頻編碼器23可包括針對(duì)存取單元中的每一圖片或幀的視頻編碼器20。例如,包含五個(gè)圖片的存取單元可由包含五個(gè)編碼器層的視頻編碼器處理或編碼。在一些實(shí)施例中,視頻編碼器23可包括比存取單元中的幀更多的編碼器層。在一些此類情況下,當(dāng)處理一些存取單元時(shí),一些視頻編碼器層可能不在作用中。
除了視頻編碼器20A和20B外,視頻編碼器23還可包含再取樣單元90。在一些情況下,再取樣單元90可上取樣接收的視頻幀的基礎(chǔ)層以(例如)產(chǎn)生增強(qiáng)層。再取樣單元90可對(duì)與幀的所接收的基礎(chǔ)層相關(guān)聯(lián)的特定信息上取樣,但不對(duì)其它信息上取樣。舉例來(lái)說(shuō),再取樣單元90可上取樣基礎(chǔ)層的空間大小或像素?cái)?shù)目,但切片的數(shù)目或圖片次序計(jì)數(shù)可保持恒定。在一些情況下,再取樣單元90可不處理所接收的視頻及/或可為任選的。舉例來(lái)說(shuō),在一些情況下,預(yù)測(cè)處理單元100可執(zhí)行上取樣。在一些實(shí)施例中,再取樣單元90經(jīng)配置以對(duì)層進(jìn)行上取樣且重新組織、重新界定、修改或調(diào)整一或多個(gè)切片以符合一組切片邊界規(guī)則及/或光柵掃描規(guī)則。雖然主要描述為對(duì)基礎(chǔ)層或存取單元中的較低層進(jìn)行上取樣,但在一些情況下,再取樣單元90可對(duì)層進(jìn)行下取樣。例如,如果在視頻的流式傳輸期間減小帶寬,那么可對(duì)幀進(jìn)行下取樣而不是上取樣。
再取樣單元90可經(jīng)配置以從較低層編碼器(例如,視頻編碼器20A)的經(jīng)解碼圖片緩沖器114接收?qǐng)D片或幀(或與圖片相關(guān)聯(lián)的圖片信息)并對(duì)所述圖片(或所接收的圖片信息)進(jìn)行上取樣??山又鴮⑺鼋?jīng)上取樣圖片提供到較高層編碼器(例如,視頻編碼器20B)的預(yù)測(cè)處理單元100,所述較高層編碼器經(jīng)配置以編碼與較低層編碼器相同的存取單元中的圖片。在一些情況下,較高層編碼器為從較低層編碼器去除的一個(gè)層。在其它情況下,在圖2B的層0編碼器與層1編碼器之間可存在一或多個(gè)較高層編碼器。
在一些情況下,可省略或繞過(guò)再取樣單元90。在這些情況下,可直接或在至少不提供到再取樣單元90的情況下將來(lái)自視頻編碼器20A的經(jīng)解碼圖片緩沖器114的圖片提供到視頻編碼器20B的預(yù)測(cè)處理單元100。舉例來(lái)說(shuō),如果提供到視頻編碼器20B的視頻數(shù)據(jù)和來(lái)自視頻編碼器20A的經(jīng)解碼圖片緩沖器114的參考圖片具有相同的大小或分辨率,那么可將參考圖片提供到視頻編碼器20B而沒(méi)有任何再取樣。
在一些實(shí)施例中,視頻編碼器23使用下取樣單元94對(duì)將提供到較低層編碼器的視頻數(shù)據(jù)下取樣,之后將所述視頻數(shù)據(jù)提供到視頻編碼器20A。替代地,下取樣單元94可為能夠?qū)σ曨l數(shù)據(jù)上取樣或下取樣的再取樣單元90。在另外其它實(shí)施例中,可省略下取樣單元94。
如圖2B中所說(shuō)明,視頻編碼器23可進(jìn)一步包含多路復(fù)用器(或mux)98。多路復(fù)用器98可從視頻編碼器23輸出組合的位流??赏ㄟ^(guò)從視頻編碼器20A和20B中的每一者取得位流且交替在給定時(shí)間輸出哪一位流來(lái)創(chuàng)建組合的位流。雖然在一些情況下,可一次一個(gè)位地交替來(lái)自兩個(gè)(或在兩個(gè)以上視頻編碼器層的情況下更多)位流的位,但在許多情況下,不同地組合所述位流。舉例來(lái)說(shuō),可通過(guò)一次一個(gè)塊地交替所選位流來(lái)產(chǎn)生輸出位流。在另一實(shí)例中,可通過(guò)從視頻編碼器20A和20B中的每一者輸出非1:1比率的塊來(lái)產(chǎn)生輸出位流。舉例來(lái)說(shuō),可從視頻編碼器20B輸出用于從視頻編碼器20A輸出的每一塊的兩個(gè)塊。在一些實(shí)施例中,可預(yù)編程來(lái)自多路復(fù)用器98的輸出流。在其它實(shí)施例中,多路復(fù)用器98可基于從視頻編碼器23外部的系統(tǒng)(例如,從包含源裝置12的源裝置上的處理器)接收的控制信號(hào)來(lái)組合來(lái)自視頻編碼器20A、20B的位流??苫趤?lái)自視頻源18的視頻的分辨率或位速率、基于鏈路16的帶寬、基于與用戶相關(guān)聯(lián)的預(yù)訂(例如,付費(fèi)預(yù)訂與免費(fèi)預(yù)訂),或基于用于確定來(lái)自視頻編碼器23的所要分辨率輸出的任何其它因素來(lái)產(chǎn)生控制信號(hào)。
視頻解碼器
圖3A是說(shuō)明可實(shí)施本發(fā)明中描述的方面的技術(shù)的視頻解碼器30的實(shí)例的框圖。視頻解碼器30可經(jīng)配置以處理視頻幀的單層(例如針對(duì)HEVC)。此外,視頻解碼器30可經(jīng)配置以執(zhí)行本發(fā)明的技術(shù)中的任一者或全部。在一些實(shí)例中,本發(fā)明中描述的技術(shù)可在視頻解碼器30的各種組件之間共享。在一些實(shí)例中,另外或替代地,處理器(未圖示)可經(jīng)配置以執(zhí)行本發(fā)明中描述的技術(shù)中的任一者或全部。
出于解釋的目的,本發(fā)明描述在HEVC譯碼的情況下的視頻解碼器30。然而,本發(fā)明的技術(shù)可以適用于其它譯碼標(biāo)準(zhǔn)或方法。圖3A中所描繪的實(shí)例是針對(duì)單層編解碼器。然而,如將相對(duì)于圖3B進(jìn)一步描述,可復(fù)制視頻編碼器30中的一些或全部以用于多層編解碼器的處理。
在圖3A的實(shí)例中,視頻解碼器30包含多個(gè)功能組件。視頻解碼器30的功能組件包含熵解碼單元150、預(yù)測(cè)處理單元152、逆量化單元154、逆變換單元156、重構(gòu)單元158、濾波器單元159和經(jīng)解碼圖片緩沖器160。預(yù)測(cè)處理單元152包含運(yùn)動(dòng)補(bǔ)償單元162、幀內(nèi)預(yù)測(cè)單元164和層間預(yù)測(cè)單元166。在一些實(shí)例中,視頻解碼器30可執(zhí)行大體與關(guān)于圖2A的視頻編碼器20所描述的編碼遍次互逆的解碼遍次。在其它實(shí)例中,視頻解碼器30可包含較多、較少或不同的功能組件。
視頻解碼器30可接收包括經(jīng)編碼視頻數(shù)據(jù)的位流。所述位流可包含多個(gè)語(yǔ)法元素。當(dāng)視頻解碼器30接收到位流時(shí),熵解碼單元150可對(duì)所述位流執(zhí)行剖析操作。對(duì)位流執(zhí)行剖析操作的結(jié)果是,熵解碼單元150可從所述位流提取語(yǔ)法元素。作為執(zhí)行剖析操作的一部分,熵解碼單元150可對(duì)位流中的經(jīng)熵編碼語(yǔ)法元素進(jìn)行熵解碼。預(yù)測(cè)處理單元152、逆量化單元154、逆變換單元156、重構(gòu)單元158及濾波器單元159可執(zhí)行重構(gòu)操作,重構(gòu)操作基于從位流提取的語(yǔ)法元素產(chǎn)生經(jīng)解碼視頻數(shù)據(jù)。
如上文所論述,位流可包括一系列NAL單元。位流的NAL單元可包含視頻參數(shù)集NAL單元、序列參數(shù)集NAL單元、圖片參數(shù)集NAL單元、SEI NAL單元等等。作為對(duì)位流執(zhí)行剖析操作的一部分,熵解碼單元150可執(zhí)行剖析操作,所述剖析操作從序列參數(shù)集NAL單元提取且熵解碼序列參數(shù)集、從圖片參數(shù)集NAL單元提取且熵解碼圖片參數(shù)集、從SEI NAL單元提取且熵解碼SEI數(shù)據(jù)等等。
此外,位流的NAL單元可包含經(jīng)譯碼切片NAL單元。作為對(duì)位流執(zhí)行剖析操作的部分,熵解碼單元150可執(zhí)行剖析操作,所述剖析操作從經(jīng)譯碼切片NAL單元提取且熵解碼經(jīng)譯碼切片。經(jīng)譯碼切片中的每一者可包含切片標(biāo)頭以及切片數(shù)據(jù)。切片標(biāo)頭可以含有關(guān)于切片的語(yǔ)法元素。切片標(biāo)頭中的語(yǔ)法元素可包含識(shí)別與含有所述切片的圖片相關(guān)聯(lián)的圖片參數(shù)集的語(yǔ)法元素。熵解碼單元150可對(duì)經(jīng)譯碼切片標(biāo)頭中的語(yǔ)法元素執(zhí)行熵解碼操作(例如,CABAC解碼操作),以恢復(fù)切片標(biāo)頭。
作為從經(jīng)譯碼切片NAL單元提取切片數(shù)據(jù)的部分,熵解碼單元150可執(zhí)行從切片數(shù)據(jù)中的經(jīng)譯碼CU提取語(yǔ)法元素的剖析操作。所提取的語(yǔ)法元素可包含與變換系數(shù)塊相關(guān)聯(lián)的語(yǔ)法元素。熵解碼單元150可接著對(duì)語(yǔ)法元素中的一些執(zhí)行CABAC解碼操作。
在熵解碼單元150對(duì)未分割的CU執(zhí)行剖析操作之后,視頻解碼器30可對(duì)未分割的CU執(zhí)行重構(gòu)操作。為了對(duì)未經(jīng)分割的CU執(zhí)行重構(gòu)操作,視頻解碼器30可對(duì)CU的每一TU執(zhí)行重構(gòu)操作。通過(guò)對(duì)CU的每一TU執(zhí)行重構(gòu)操作,視頻解碼器30可重構(gòu)與CU相關(guān)聯(lián)的殘余視頻塊。
作為對(duì)TU執(zhí)行重構(gòu)操作的部分,逆量化單元154可逆量化(例如,解量化)與TU相關(guān)聯(lián)的變換系數(shù)塊。逆量化單元154可以類似于針對(duì)HEVC所提議或由H.264解碼標(biāo)準(zhǔn)定義的逆量化過(guò)程的方式來(lái)逆量化變換系數(shù)塊。逆量化單元154可使用由視頻編碼器20針對(duì)變換系數(shù)塊的CU計(jì)算的量化參數(shù)QP來(lái)確定量化程度,且同樣地,確定逆量化單元154應(yīng)用的逆量化的程度。
在逆量化單元154對(duì)變換系數(shù)塊進(jìn)行逆量化之后,逆變換單元156可產(chǎn)生與變換系數(shù)塊相關(guān)聯(lián)的TU的殘余視頻塊。逆變換單元156可將逆變換應(yīng)用到變換系數(shù)塊以便產(chǎn)生所述TU的殘余視頻塊。舉例來(lái)說(shuō),逆變換單元156可將逆DCT、逆整數(shù)變換、逆卡忽南-拉維(Karhunen-Loeve)變換(KLT)、逆旋轉(zhuǎn)變換、逆定向變換或另一逆變換應(yīng)用于變換系數(shù)塊。在一些實(shí)例中,逆變換單元156可基于來(lái)自視頻編碼器20的信令而確定適用于變換系數(shù)塊的逆變換。在這些實(shí)例中,逆變換單元156可基于在用于與變換系數(shù)塊相關(guān)聯(lián)的樹(shù)塊的四叉樹(shù)的根節(jié)點(diǎn)處的用信號(hào)表示的變換來(lái)確定逆變換。在其它實(shí)例中,逆變換單元156可從例如塊大小、譯碼模式或類似者等一或多個(gè)譯碼特性推斷逆變換。在一些實(shí)例中,逆變換單元156可應(yīng)用級(jí)聯(lián)的逆變換。
在一些實(shí)例中,運(yùn)動(dòng)補(bǔ)償單元162可通過(guò)基于內(nèi)插濾波器執(zhí)行內(nèi)插而精煉PU的預(yù)測(cè)視頻塊。用于將用于以子樣本精確度進(jìn)行運(yùn)動(dòng)補(bǔ)償?shù)膬?nèi)插濾波器的識(shí)別符可包含在語(yǔ)法元素中。運(yùn)動(dòng)補(bǔ)償單元162可使用由視頻編碼器20在產(chǎn)生PU的經(jīng)預(yù)測(cè)視頻塊期間使用的相同內(nèi)插濾波器來(lái)計(jì)算參考?jí)K的子整數(shù)樣本的內(nèi)插值。運(yùn)動(dòng)補(bǔ)償單元162可根據(jù)接收到的語(yǔ)法信息確定由視頻編碼器20使用的內(nèi)插濾波器且使用所述內(nèi)插濾波器來(lái)產(chǎn)生經(jīng)預(yù)測(cè)視頻塊。
如果PU是使用幀內(nèi)預(yù)測(cè)編碼,那么幀內(nèi)預(yù)測(cè)單元164可執(zhí)行幀內(nèi)預(yù)測(cè)以產(chǎn)生用于PU的經(jīng)預(yù)測(cè)視頻塊。舉例來(lái)說(shuō),幀內(nèi)預(yù)測(cè)單元164可基于位流中的語(yǔ)法元素確定用于PU的幀內(nèi)預(yù)測(cè)模式。位流可包含幀內(nèi)預(yù)測(cè)模塊164可用以確定PU的幀內(nèi)預(yù)測(cè)模式的語(yǔ)法元素。
在一些情況下,語(yǔ)法元素可指示幀內(nèi)預(yù)測(cè)單元164將使用另一PU的幀內(nèi)預(yù)測(cè)模式來(lái)確定當(dāng)前PU的幀內(nèi)預(yù)測(cè)模式。舉例來(lái)說(shuō),可能有可能當(dāng)前PU的幀內(nèi)預(yù)測(cè)模式與相鄰PU的幀內(nèi)預(yù)測(cè)模式相同。換句話說(shuō),相鄰PU的幀內(nèi)預(yù)測(cè)模式可為用于當(dāng)前PU的最可能模式。因此,在此實(shí)例中,位流可包含小語(yǔ)法元素,所述小語(yǔ)法元素指示PU的幀內(nèi)預(yù)測(cè)模式與相鄰PU的幀內(nèi)預(yù)測(cè)模式相同。幀內(nèi)預(yù)測(cè)單元164可隨后使用幀內(nèi)預(yù)測(cè)模式基于在空間上相鄰的PU的視頻塊而產(chǎn)生用于PU的預(yù)測(cè)數(shù)據(jù)(例如,經(jīng)預(yù)測(cè)樣本)。
如上文所論述,視頻解碼器30還可包含層間預(yù)測(cè)單元166。層間預(yù)測(cè)單元166經(jīng)配置以使用在SHVC中可用的一或多個(gè)不同層(例如,基礎(chǔ)或參考層)來(lái)預(yù)測(cè)當(dāng)前塊(例如,增強(qiáng)層中的當(dāng)前塊)。此預(yù)測(cè)可稱作層間預(yù)測(cè)。層間預(yù)測(cè)單元166利用預(yù)測(cè)方法以減少層間冗余,進(jìn)而改進(jìn)譯碼效率且降低計(jì)算資源要求。層間預(yù)測(cè)的一些實(shí)例包含層間幀內(nèi)預(yù)測(cè)、層間運(yùn)動(dòng)預(yù)測(cè)及層間殘余預(yù)測(cè)。層間幀內(nèi)預(yù)測(cè)使用基礎(chǔ)層中的協(xié)同定位塊的重構(gòu)來(lái)預(yù)測(cè)增強(qiáng)層中的當(dāng)前塊。層間運(yùn)動(dòng)預(yù)測(cè)使用基礎(chǔ)層的運(yùn)動(dòng)信息來(lái)預(yù)測(cè)增強(qiáng)層中的運(yùn)動(dòng)。層間殘余預(yù)測(cè)使用基礎(chǔ)層的殘余來(lái)預(yù)測(cè)增強(qiáng)層的殘余。下文更詳細(xì)地論述層間預(yù)測(cè)方案中的每一者。
重構(gòu)單元158可使用與CU的TU相關(guān)聯(lián)的殘余視頻塊和CU的PU的經(jīng)預(yù)測(cè)視頻塊(例如,幀內(nèi)預(yù)測(cè)數(shù)據(jù)或幀間預(yù)測(cè)數(shù)據(jù),如果適用)來(lái)重構(gòu)CU的視頻塊。因此,視頻解碼器30可基于位流中的語(yǔ)法元素而產(chǎn)生經(jīng)預(yù)測(cè)視頻塊及殘余視頻塊,且可基于經(jīng)預(yù)測(cè)視頻塊及殘余視頻塊而產(chǎn)生視頻塊。
在重構(gòu)單元158重構(gòu)CU的視頻塊之后,濾波器單元159可執(zhí)行解塊操作以減少與CU相關(guān)聯(lián)的塊假象。在濾波器單元159執(zhí)行解塊操作以減少與CU相關(guān)聯(lián)的成塊假象之后,視頻解碼器30可將所述CU的視頻塊存儲(chǔ)在經(jīng)解碼圖片緩沖器160中。經(jīng)解碼圖片緩沖器160可提供參考圖片以用于后續(xù)運(yùn)動(dòng)補(bǔ)償、幀內(nèi)預(yù)測(cè)和在例如圖1A或1B的顯示裝置32等顯示裝置上的呈現(xiàn)。舉例來(lái)說(shuō),視頻解碼器30可基于經(jīng)解碼圖片緩沖器160中的視頻塊對(duì)其它CU的PU執(zhí)行幀內(nèi)預(yù)測(cè)或幀間預(yù)測(cè)操作。
多層解碼器
圖3B是說(shuō)明可實(shí)施根據(jù)本發(fā)明中描述的方面的技術(shù)的多層視頻解碼器33(也簡(jiǎn)稱為視頻解碼器33)的另一實(shí)例的框圖。視頻解碼器33可經(jīng)配置以處理多層視頻幀(例如,用于SHVC及多視圖譯碼)。此外,視頻解碼器33可經(jīng)配置以執(zhí)行本發(fā)明的技術(shù)中的任一者或全部。
視頻解碼器33包含視頻解碼器30A及視頻解碼器30B,其中的每一者可經(jīng)配置為視頻解碼器30且可執(zhí)行上文相對(duì)于視頻解碼器30所描述的功能。此外,如再使用參考數(shù)字所指示,視頻解碼器30A和30B可包含系統(tǒng)及子系統(tǒng)中的至少一些作為視頻解碼器30。盡管將視頻解碼器33說(shuō)明為包含兩個(gè)視頻解碼器30A和30B,但視頻解碼器33不被如此限制,并且可包含任何數(shù)目的視頻解碼器30層。在一些實(shí)施例中,視頻解碼器33可包含用于存取單元中的每一圖片或幀的視頻解碼器30。舉例來(lái)說(shuō),可由包含五個(gè)解碼器層的視頻解碼器處理或解碼包含五個(gè)圖片的存取單元。在一些實(shí)施例中,視頻解碼器33可包含比存取單元中的幀多的解碼器層。在一些此等情況下,當(dāng)處理一些存取單元時(shí),一些視頻解碼器層可能無(wú)效。
除了視頻解碼器30A和30B之外,視頻解碼器33可包含上取樣單元92。在一些實(shí)施例中,上取樣單元92可對(duì)所接收視頻幀的基礎(chǔ)層進(jìn)行上取樣以創(chuàng)建待添加到幀或存取單元的參考圖片列表的增強(qiáng)型層。此增強(qiáng)層可存儲(chǔ)在經(jīng)解碼圖片緩沖器160中。在一些實(shí)施例中,上取樣單元92可包括關(guān)于圖2A的再取樣單元90描述的實(shí)施例中的一些或全部。在一些實(shí)施例中,上取樣單元92經(jīng)配置以對(duì)層進(jìn)行上取樣且重新組織、重新界定、修改或調(diào)整一或多個(gè)切片以符合一組切片邊界規(guī)則和/或光柵掃描規(guī)則。在一些情況下,上取樣單元92可為經(jīng)配置以對(duì)所接收的視頻幀的層上取樣及/或下取樣的再取樣單元。
上取樣單元92可經(jīng)配置以從較低層解碼器(例如,視頻解碼器30A)的經(jīng)解碼圖片緩沖器160接收?qǐng)D片或幀(或與圖片相關(guān)聯(lián)的圖片信息)且對(duì)所述圖片(或所接收的圖片信息)上取樣。隨后可將此經(jīng)上取樣圖片提供到較高層解碼器(例如,視頻解碼器30B)的預(yù)測(cè)處理單元152,所述較高層解碼器經(jīng)配置以解碼與較低層解碼器在相同的存取單元中的圖片。在一些情況下,較高層解碼器為從較低層解碼器移除的一個(gè)層。在其它情況下,在圖3B的層0解碼器與層1解碼器之間可存在一或多個(gè)較高層解碼器。
在一些情況下,可省略或繞過(guò)上取樣單元92。在這些情況下,可直接或在至少不提供到上取樣單元92的情況下將來(lái)自視頻解碼器30A的經(jīng)解碼圖片緩沖器160的圖片提供到視頻解碼器30B的預(yù)測(cè)處理單元152。例如,如果提供到視頻解碼器30B的視頻數(shù)據(jù)及來(lái)自視頻解碼器30A的經(jīng)解碼圖片緩沖器160的參考圖片具有相同的大小或分辨率,那么可將參考圖片提供到視頻解碼器30B而不需要上取樣。另外,在一些實(shí)施例中,上取樣單元92可為經(jīng)配置以對(duì)從視頻解碼器30A的經(jīng)解碼圖片緩沖器160接收的參考圖片上取樣或下取樣的再取樣單元90。
如圖3B中所說(shuō)明,視頻解碼器33可進(jìn)一步包含多路分用器(或demux)99。多路分用器99可將經(jīng)編碼視頻位流分裂成多個(gè)位流,其中由多路分用器99輸出的每一位流被提供到不同的視頻解碼器30A和30B。可通過(guò)接收位流來(lái)產(chǎn)生多個(gè)位流,且視頻解碼器30A和30B中的每一者在給定時(shí)間接收位流的一部分。雖然在一些情況下,可在視頻解碼器(例如,圖3B的實(shí)例中的視頻解碼器30A和30B)中的每一者之間一次一個(gè)位地交替來(lái)自在多路分用器99處接收的位流的位,但在許多情況下,不同地劃分所述位流。舉例來(lái)說(shuō),可通過(guò)一次一個(gè)塊地交替哪一視頻解碼器接收位流而劃分所述位流。在另一實(shí)例中,可通過(guò)到視頻解碼器30A和30B中的每一者的塊的非1:1比率來(lái)劃分位流。舉例來(lái)說(shuō),可針對(duì)提供到視頻解碼器30A的每一塊將兩個(gè)塊提供到視頻解碼器30B。在一些實(shí)施例中,可預(yù)編程由多路分用器99對(duì)位流的劃分。在其它實(shí)施例中,多路分用器99可基于從視頻解碼器33外部的系統(tǒng)(例如,從包含目的地裝置14的目的地裝置上的處理器)接收的控制信號(hào)而劃分位流??苫趤?lái)自輸入接口28的視頻的分辨率或位速率、基于鏈路16的帶寬、基于與用戶相關(guān)聯(lián)的預(yù)訂(例如,付費(fèi)預(yù)訂與免費(fèi)預(yù)訂),或基于用于確定視頻解碼器33可獲得的分辨率的任何其它因素來(lái)產(chǎn)生控制信號(hào)。
幀內(nèi)隨機(jī)存取點(diǎn)(IRAP)圖片
一些視頻譯碼方案可提供貫穿位流的各種隨機(jī)存取點(diǎn),使得可從那些隨機(jī)存取點(diǎn)中的任一者開(kāi)始解碼位流而無(wú)需解碼位流中的在那些隨機(jī)存取點(diǎn)之前的任何圖片。在此類視頻譯碼方案中,可正確地解碼除隨機(jī)存取跳過(guò)前沿(RASL)圖片外的按解碼次序在隨機(jī)存取點(diǎn)之后的所有圖片,而不需使用在所述隨機(jī)存取點(diǎn)之前的任何圖片。舉例來(lái)說(shuō),即使位流的一部分在傳輸期間或在解碼期間丟失,解碼器仍可從下一個(gè)隨機(jī)存取點(diǎn)開(kāi)始恢復(fù)解碼位流。對(duì)隨機(jī)存取的支持可促進(jìn)例如動(dòng)態(tài)流式傳輸服務(wù)、搜尋操作、信道切換等。
在一些譯碼方案中,此些隨機(jī)存取點(diǎn)可由被稱作幀內(nèi)隨機(jī)存取點(diǎn)(IRAP)圖片的圖片提供。舉例來(lái)說(shuō),與包含在存取單元(“auA”)中的在增強(qiáng)層(“層A”)中的增強(qiáng)層IRAP圖片相關(guān)聯(lián)的隨機(jī)存取點(diǎn)可提供層特定的隨機(jī)存取,使得對(duì)于層A的每一參考層(“層B”)(例如,參考層為用以預(yù)測(cè)層A的層)(所述參考層具有與包含在存取單元(“auB”)中的在層B中且按解碼次序在auA之前的圖片相關(guān)聯(lián)的隨機(jī)存取點(diǎn)(或包含在auA中的隨機(jī)存取點(diǎn))),可正確地解碼層A中按解碼次序在auA之后的圖片(包含位于auA中的那些圖片)而無(wú)需解碼層A中在auA之前的任何圖片。
IRAP圖片可使用幀內(nèi)預(yù)測(cè)(例如,在不參考其它圖片的情況下進(jìn)行譯碼)和/或?qū)娱g預(yù)測(cè)進(jìn)行譯碼,且可包含(例如)即時(shí)解碼器刷新(IDR)圖片、清潔隨機(jī)存取(CRA)圖片和斷鏈存取(BLA)圖片。當(dāng)在位流中存在IDR圖片時(shí),按解碼次序在IDR圖片之前的所有圖片不用于通過(guò)在所述IDR圖片之后的圖片進(jìn)行的預(yù)測(cè)。當(dāng)在位流中存在CRA圖片時(shí),跟隨CRA圖片的圖片可或可不將按解碼次序在CRA圖片之前的圖片用于預(yù)測(cè)。按解碼次序在CRA圖片之后但使用按解碼次序在CRA圖片之前的圖片的那些圖片可被稱作RASL圖片。按解碼次序可在IRAP圖片之后且按輸出次序在IRAP圖片之前的另一類型的圖片為隨機(jī)存取可解碼前導(dǎo)(RADL)圖片,其可不含有對(duì)按解碼次序在IRAP圖片之前的任何圖片的參考。如果在CRA圖片之前的圖片不可用,那么RASL圖片可由解碼器丟棄。BLA圖片對(duì)解碼器指示在BLA圖片之前的圖片可能不對(duì)解碼器可用(例如,因?yàn)閮蓚€(gè)位流經(jīng)拼接在一起且BLA圖片為按解碼次序的第二位流的第一圖片)。含有作為IRAP圖片的基礎(chǔ)層圖片(例如,層ID值為0)的存取單元(例如,由跨越多個(gè)層的與相同輸出時(shí)間相關(guān)聯(lián)的所有經(jīng)譯碼圖片組成的圖片群組)可被稱作IRAP存取單元。
SHVC中的再取樣過(guò)程
在再取樣過(guò)程中,可對(duì)圖片的若干樣本進(jìn)行上取樣(增加)或下取樣(減小)。在參考層圖片再取樣的一個(gè)設(shè)計(jì)中,輸出參考層圖片用作用于再取樣過(guò)程的輸入。
在SHVC中,如果參考層(或基礎(chǔ)層)圖片大小不同于增強(qiáng)層圖片大小,那么可將再取樣(或上取樣)過(guò)程應(yīng)用于參考層圖片,以匹配用于層間預(yù)測(cè)的增強(qiáng)層圖片的大小。為了對(duì)參考層圖片再取樣,可對(duì)每一色彩分量應(yīng)用N分接頭再取樣濾波器。
在濾波過(guò)程中,參考層圖片的樣本(或像素)量值可乘以濾波器系數(shù)且求和以導(dǎo)出經(jīng)濾波樣本(或像素)。由于參考層圖片的大小和增強(qiáng)層圖片的大小不同,因此可限制濾波過(guò)程中所涉及的參考層樣本的坐標(biāo)。舉例來(lái)說(shuō),可確定對(duì)應(yīng)于當(dāng)前增強(qiáng)層圖片的樣本位置的參考層圖片的樣本位置,使得參考層圖片的樣本位置所指示的樣本可在再取樣過(guò)程中使用。
用于基礎(chǔ)層的一致性窗口
如上所述,一致性窗口信息可包含在參考層中且可以用于多種目的,包含再取樣過(guò)程。一致性窗口裁剪參數(shù)用以指示經(jīng)譯碼圖片的輸出區(qū)。
圖4說(shuō)明示范性示意圖,其說(shuō)明用于利用一致性窗口信息的技術(shù)。包含SPS、PPS和VPS的經(jīng)譯碼數(shù)據(jù)存儲(chǔ)在經(jīng)譯碼圖片緩沖器(CPB)405處。所述SPS可包含用于描述經(jīng)譯碼序列的特性的參數(shù),例如簡(jiǎn)檔、層次和層級(jí)指示。在常規(guī)系統(tǒng)中,一致性窗口裁剪參數(shù)也可以包含在SPS中。此信息提供到解碼過(guò)程410,且經(jīng)解碼圖片經(jīng)存儲(chǔ)以用于輸出且用作經(jīng)解碼圖片緩沖器(DPB)415中的參考圖片。經(jīng)解碼圖片隨后傳遞到輸出裁剪級(jí)420,其中根據(jù)SPS中指定的一致性窗口參數(shù)將輸出裁剪應(yīng)用于輸出圖片。
下方表1展示用于在HEVC中用信號(hào)表示一致性窗口的常規(guī)系統(tǒng)。如下方表1中所示,一致性窗口可包含頂部、底部、左邊和/或右邊偏移。這些偏移可用以指示圖片中的哪些樣本將用于再取樣。
表1-HEVC中的一致性窗口旗標(biāo)
對(duì)于單層位流,可在SPS中用信號(hào)表示一致性窗口。然而,對(duì)于多層位流,可有利的是在VPS中用信號(hào)表示基礎(chǔ)層,因?yàn)閂PS適用于多層位流的所有層。
在多層位流中,可使用不同譯碼方案對(duì)個(gè)別層進(jìn)行譯碼,例如HEVC、SHVC、MV-HEVC、3D-HEVC、AVC、SVC等。這些譯碼方案中的一些可與其它譯碼方案相關(guān)聯(lián)。舉例來(lái)說(shuō),作為HEVC的可縮放擴(kuò)展的SHVC可與HEVC相關(guān)聯(lián)。然而,SHVC和/或HEVC可與其它譯碼方案相關(guān)聯(lián)。當(dāng)編解碼器接收到具有使用不與所述編解碼器相關(guān)聯(lián)的譯碼方案經(jīng)譯碼的參考層的位流時(shí),所述編解碼器可能不適合于確定所述層的一致性窗口信息。在一實(shí)例中,上方表1中所示的在HEVC中的一致性窗口旗標(biāo)可適合用于由使用SHVC的編解碼器而非使用SVC的編解碼器。此外,在本實(shí)例中,上方表1中所示的在HEVC中的一致性窗口旗標(biāo)可能不適合于將一致性窗口信息傳達(dá)到SVC編解碼器。使用單個(gè)層譯碼方案經(jīng)譯碼的基礎(chǔ)層的一致性窗口信息不可用信號(hào)表示且因此不可用于使用不與所述單層譯碼方案相關(guān)聯(lián)的擴(kuò)展譯碼方案的編解碼器。
SHVC中存在兩個(gè)再取樣過(guò)程:(1)樣本或像素信息再取樣,以及(2)運(yùn)動(dòng)(即,運(yùn)動(dòng)字段)或非像素信息再取樣。本發(fā)明的實(shí)施例可適用于這些再取樣過(guò)程中的一者、兩者或不適用于其中任一者。
在本發(fā)明的一些方面中,一致性窗口信息可應(yīng)用于計(jì)算可縮放性縱橫比或按比例縮放因數(shù)。舉例來(lái)說(shuō),再取樣過(guò)程可以計(jì)算的縱橫比應(yīng)用于經(jīng)解碼參考層圖片。在本發(fā)明的其它方面中,再取樣過(guò)程可使用輸出參考層圖片作為用于再取樣過(guò)程的輸入。本發(fā)明的實(shí)施例可應(yīng)用于這些方面中的一者、兩者或不應(yīng)用于這些方面中的任一者。
本發(fā)明的實(shí)施例提供用于在基礎(chǔ)層中用信號(hào)表示一致性窗口信息的旗標(biāo)??衫缭赩PS、SPS、PPS和/或切片標(biāo)頭中用信號(hào)表示基礎(chǔ)層一致性窗口。在一些實(shí)施例中,當(dāng)指示基礎(chǔ)層已經(jīng)使用不與接收編解碼器相關(guān)聯(lián)的譯碼方案和/或由編碼器使用的譯碼方案經(jīng)編碼時(shí)可用信號(hào)表示(例如,可僅用信號(hào)表示)基礎(chǔ)層一致性窗口。舉例來(lái)說(shuō),當(dāng)基礎(chǔ)層由SHVC順應(yīng)性解碼器接收到時(shí)可基于所述基礎(chǔ)層是使用非HEVC譯碼方案(例如,AVC,其為可能不與SHVC相關(guān)聯(lián)的譯碼方案)經(jīng)譯碼的指示而用信號(hào)表示基礎(chǔ)層一致性窗口。下文表2中展示用于用信號(hào)表示基礎(chǔ)層一致性窗口的示范性語(yǔ)法和語(yǔ)義。
表2-用于基礎(chǔ)層的一致性窗口旗標(biāo)
在表2中,bl_conformance_window_flag可設(shè)定成1以指示基礎(chǔ)層的偏移參數(shù)跟隨在后面。否則,設(shè)定成0的bl_conformance_window_flag可指示所述偏移參數(shù)不存在。如果bl_conformance_window_flag不存在,那么其可推斷為設(shè)定成0。在一些實(shí)施例中,可使用位流約束要求。舉例來(lái)說(shuō),bl_conformance_window_flag可針對(duì)任何非HEVC譯碼基礎(chǔ)層設(shè)定成1。在另一實(shí)例中,如果基礎(chǔ)層已經(jīng)使用不與接收編解碼器相關(guān)聯(lián)的譯碼方案譯碼,那么bl_conformance_window_flag可設(shè)定成1。
此外,在表2中,bl_conf_win_left_offset、bl_conf_win_right_offset、bl_conf_win_top_offset和bl_conf_win_bottom_offset可鑒于在用于輸出的圖片坐標(biāo)中指定的矩形區(qū)而指定經(jīng)譯碼視頻序列(CVS)中的基礎(chǔ)層圖片的從基礎(chǔ)層解碼過(guò)程輸出的樣本。當(dāng)bl_conformance_window_flag等于0時(shí),bl_conf_win_left_offset、bl_conf_win_right_offset、bl_conf_win_top_offset和bl_conf_win_bottom_offset的值可推斷為也等于0。
在一個(gè)實(shí)例中,可包含用信號(hào)表示的基礎(chǔ)層窗口偏移以計(jì)算輸出的基礎(chǔ)層圖片大小并且任選地計(jì)算相對(duì)于再取樣過(guò)程中將使用的經(jīng)解碼基礎(chǔ)層圖片的位置,且計(jì)算可縮放性縱橫比或按比例縮放因數(shù),例如分別作為輸出基礎(chǔ)層寬度或高度相對(duì)于經(jīng)解碼增強(qiáng)層寬度或高度的分?jǐn)?shù)。
圖5是根據(jù)本發(fā)明的方面的用于對(duì)圖片進(jìn)行編碼的過(guò)程的示范性實(shí)施例的流程圖。過(guò)程500開(kāi)始于框505。
在框510處,過(guò)程500可涉及對(duì)多層位流的層進(jìn)行編碼。在一些實(shí)施例中,第一視頻編碼器可對(duì)多層位流的所有層進(jìn)行編碼。在其它實(shí)施例中,視頻編碼器可僅對(duì)多層位流的層的一部分進(jìn)行編碼。視頻編碼器可根據(jù)譯碼方案對(duì)位流的層進(jìn)行編碼。在一些方面,位流可包含已經(jīng)使用不同于和/或不與由第一視頻編碼器使用的譯碼方案相關(guān)聯(lián)的譯碼方案譯碼的基礎(chǔ)層。舉例來(lái)說(shuō),基礎(chǔ)層可能已經(jīng)由不同于第一視頻編碼器的第二視頻編碼器編碼。在其它方面,位流可包含已經(jīng)使用與接收編解碼器相同和/或與接收編解碼器相關(guān)聯(lián)的譯碼方案譯碼的基礎(chǔ)層。舉例來(lái)說(shuō),基礎(chǔ)層可能已經(jīng)由第一視頻編碼器編碼。
在決策框515,過(guò)程500可涉及確定基礎(chǔ)層是否已經(jīng)使用與由第一視頻編碼器使用的譯碼方案相關(guān)聯(lián)的譯碼方案編碼。如果基礎(chǔ)層已經(jīng)使用與由第一視頻編碼器使用的譯碼方案相關(guān)聯(lián)的譯碼方案編碼,那么過(guò)程500可涉及前進(jìn)到框520。如果基礎(chǔ)層已經(jīng)使用不與由第一視頻編碼器使用的譯碼方案相關(guān)聯(lián)的譯碼方案編碼,那么過(guò)程500可涉及前進(jìn)到?jīng)Q策框535。
在框520處,過(guò)程500可涉及用信號(hào)表示一致性窗口。在一個(gè)實(shí)例中,用信號(hào)表示一致性窗口可涉及將一致性窗口旗標(biāo)設(shè)定為一值(例如,1)以指示提供經(jīng)再取樣的圖片的定位信息的位置偏移將跟隨在后面。一致性窗口可包含一或多個(gè)偏移,例如頂部、底部、左邊和右邊偏移(參見(jiàn)例如表1)。一致性窗口和/或偏移可在SPS中用信號(hào)表示。舉例來(lái)說(shuō),一致性窗口可在HEVC譯碼層中用信號(hào)表示。
在框525處,過(guò)程500可涉及使用一致性窗口信息對(duì)圖片進(jìn)行編碼。
在框530處,如果基礎(chǔ)層已經(jīng)使用不與由第一視頻編碼器使用的譯碼方案相關(guān)聯(lián)的譯碼方案編碼,那么過(guò)程500可涉及用信號(hào)表示基礎(chǔ)層一致性窗口。在一個(gè)實(shí)例中,用信號(hào)表示一致性窗口可涉及將基礎(chǔ)層一致性窗口旗標(biāo)設(shè)定為一值(例如,1)以指示提供經(jīng)再取樣的圖片的定位信息的基礎(chǔ)層位置偏移將跟隨在后面?;A(chǔ)層一致性窗口可包含一或多個(gè)偏移,例如頂部、底部、左邊和右邊偏移(參見(jiàn)例如表2)。一致性窗口和/或偏移可在VPS、SPS、PPS和/或切片標(biāo)頭中用信號(hào)表示。
在框535處,過(guò)程500可涉及使用基礎(chǔ)層一致性窗口對(duì)圖片進(jìn)行譯碼。過(guò)程500在框540處結(jié)束。
圖6是根據(jù)本發(fā)明中所描述的方面用于對(duì)圖片進(jìn)行解碼的過(guò)程的示范性實(shí)施例的流程圖。過(guò)程600開(kāi)始于框605。
在框610處,過(guò)程600可涉及接收位流。在一些方面,位流可包含已經(jīng)使用不與用以對(duì)位流的其它層進(jìn)行編碼的譯碼方案相關(guān)聯(lián)的譯碼方案譯碼的基礎(chǔ)層。在其它方面,位流可包含已經(jīng)使用與用以對(duì)位流的其它層進(jìn)行編碼的譯碼方案相關(guān)聯(lián)的譯碼方案譯碼的基礎(chǔ)層。
在框615處,過(guò)程600可涉及對(duì)位流的基礎(chǔ)層中的一致性窗口旗標(biāo)和至少一個(gè)位置偏移進(jìn)行解碼。在一些實(shí)施例中,可在基礎(chǔ)層的VPS中用信號(hào)表示一致性窗口旗標(biāo)和/或至少一個(gè)位置偏移。
在框620處,過(guò)程600可涉及使用基礎(chǔ)層一致性窗口對(duì)圖片進(jìn)行解碼。過(guò)程600在框625處結(jié)束。
在一個(gè)方面中,可導(dǎo)出基礎(chǔ)層輸出圖片用于許多目的,包含顯示基礎(chǔ)層圖片和執(zhí)行再取樣過(guò)程。
在另一方面,可以寬度和高度信息顯式地用信號(hào)表示一致性窗口的大小,且所述寬度和高度信息可用以計(jì)算可縮放性縱橫比。這可以在確定或不確定經(jīng)解碼圖片大小或輸出基礎(chǔ)層圖片的確切定位的情況下完成。因此,可僅部分地用信號(hào)表示一致性窗口。
在另一方面中,如果所接收基礎(chǔ)層非HEVC譯碼,那么可修改SHVC工作草案中使用的經(jīng)按比例縮放參考偏移和再取樣過(guò)程的語(yǔ)義以使得已應(yīng)用經(jīng)按比例縮放參考偏移的參考層經(jīng)解碼圖片可用作對(duì)再取樣過(guò)程和/或可縮放性比率計(jì)算的輸入。舉例來(lái)說(shuō),在此些方面中,經(jīng)按比例縮放參考偏移可包含scaled_ref_layer_left_offset、scaled_ref_layer_top_offset、scaled_ref_layer_right_offset和scaled_ref_layer_bottom_offset。
在又一方面中,SHVC解碼器可使用AVC SPS語(yǔ)法結(jié)構(gòu)以使得AVC基礎(chǔ)層的一致性窗口信息可由SHVC增強(qiáng)層使用且可用以導(dǎo)出一致性窗口信息而無(wú)需任何額外信令。
在再一方面中,基礎(chǔ)層的一致性窗口參數(shù)的值可由外部裝置(例如,由系統(tǒng)層級(jí))提供,而不是在SHVC位流中用信號(hào)表示相關(guān)語(yǔ)法。這可以與基礎(chǔ)層自身以及基礎(chǔ)層圖片的其它外部提供的參數(shù)類似的方式完成。
其它考慮
可使用多種不同技術(shù)和技藝中的任一者來(lái)表示本文中所揭示的信息和信號(hào)。舉例來(lái)說(shuō),可通過(guò)電壓、電流、電磁波、磁場(chǎng)或磁粒子、光場(chǎng)或光粒子或其任何組合來(lái)表示在整個(gè)上文描述中可能參考的數(shù)據(jù)、指令、命令、信息、信號(hào)、位、符號(hào)和碼片。
結(jié)合本文揭示的實(shí)施例所描述的各種說(shuō)明性邏輯塊及算法步驟可實(shí)施為電子硬件、計(jì)算機(jī)軟件,或兩者的組合。為清楚說(shuō)明硬件與軟體的此可互換性,上文已大體上關(guān)于其功能性而描述了各種說(shuō)明性組件、塊和步驟。此功能性是實(shí)施為硬件還是軟件取決于特定應(yīng)用及施加于整個(gè)系統(tǒng)的設(shè)計(jì)約束。熟練的技術(shù)人員可針對(duì)每一特定應(yīng)用以不同方式實(shí)施所描述的功能性,但此類實(shí)施決策不應(yīng)被解釋為引起偏離本發(fā)明的范圍。
本文中所描述的技術(shù)可在硬件、軟件、固件或其任一組合中實(shí)施。所述技術(shù)可實(shí)施于多種裝置中的任一者中,例如通用計(jì)算機(jī)、無(wú)線通信裝置手持機(jī)或集成電路裝置,其具有包含在無(wú)線通信裝置手持機(jī)及其它裝置中的應(yīng)用的多種用途。被描述為裝置或組件的任何特征可一起實(shí)施于集成邏輯裝置中或分開(kāi)實(shí)施為離散但可互操作的邏輯裝置。如果在軟件中實(shí)施,那么所述技術(shù)可至少部分地由包括程序代碼的計(jì)算機(jī)可讀數(shù)據(jù)存儲(chǔ)媒體來(lái)實(shí)現(xiàn),所述程序代碼包含在被執(zhí)行時(shí)執(zhí)行上文所描述的方法中的一或多者的指令。計(jì)算機(jī)可讀數(shù)據(jù)存儲(chǔ)媒體可形成計(jì)算機(jī)程序產(chǎn)品的一部分,所述計(jì)算機(jī)程序產(chǎn)品可包含封裝材料。計(jì)算機(jī)可讀媒體可包括存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)媒體,例如,隨機(jī)存取存儲(chǔ)器(RAM)(例如,同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(SDRAM))、只讀存儲(chǔ)器(ROM)、非易失性隨機(jī)存取存儲(chǔ)器(NVRAM)、電可擦除可編程只讀存儲(chǔ)器(EEPROM)、快閃存儲(chǔ)器、磁性或光學(xué)數(shù)據(jù)存儲(chǔ)媒體等等。另外或作為替代,所述技術(shù)可至少部分地由計(jì)算機(jī)可讀通信媒體來(lái)實(shí)現(xiàn),所述計(jì)算機(jī)可讀通信媒體以指令或數(shù)據(jù)結(jié)構(gòu)的形式載運(yùn)或傳達(dá)程序代碼且可由計(jì)算機(jī)存取、讀取和/或執(zhí)行(例如,傳播的信號(hào)或波)。
程序代碼可由處理器執(zhí)行,所述處理器可包含一或多個(gè)處理器,例如,一或多個(gè)數(shù)字信號(hào)處理器(DSP)、通用微處理器、專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程邏輯陣列(FPGA)或其它等效集成或離散邏輯電路。此處理器可經(jīng)配置以執(zhí)行本發(fā)明中所描述的技術(shù)中的任一者。通用處理器可為微處理器;但在替代方案中,處理器可為任何常規(guī)處理器、控制器、微控制器或狀態(tài)機(jī)。處理器還可實(shí)施為計(jì)算裝置的組合,例如,DSP與微處理器的組合、多個(gè)微處理器、一或多個(gè)微處理器結(jié)合DSP核心,或任何其它此類配置。因此,如本文中所使用的術(shù)語(yǔ)“處理器”可指前述結(jié)構(gòu)中的任一者、上述結(jié)構(gòu)的任何組合,或適合于實(shí)施本文中所描述的技術(shù)的任何其它結(jié)構(gòu)或設(shè)備。另外,在某些方面中,可將本文中所描述的功能性提供于經(jīng)配置以用于編碼和解碼的專用軟件或硬件內(nèi)或并入組合的視頻編碼器-解碼器(編解碼器)中。而且,所述技術(shù)可完全實(shí)施于一或多個(gè)電路或邏輯元件中。
本發(fā)明的技術(shù)可在廣泛多種裝置或設(shè)備中實(shí)施,包括無(wú)線手持機(jī)、集成電路(IC)或一組IC(例如,芯片組)。本發(fā)明中描述各種組件或單元是為了強(qiáng)調(diào)經(jīng)配置以執(zhí)行所揭示技術(shù)的裝置的功能方面,但未必需要通過(guò)不同硬件單元實(shí)現(xiàn)。實(shí)際上,如上文所描述,各種單元可以配合合適的軟件和/或固件組合在編解碼器硬件單元中,或者通過(guò)互操作硬件單元的集合來(lái)提供,所述硬件單元包含如上文所描述的一或多個(gè)處理器。
雖然已經(jīng)結(jié)合各種不同實(shí)施例描述了前文,但可在不脫離本發(fā)明的教示的情況下將來(lái)自一項(xiàng)實(shí)施例的特征或元件與其它實(shí)施例組合。舉例來(lái)說(shuō),編碼器可具有可供使用的多個(gè)所論述的散列函數(shù),且可確定針對(duì)視頻信息的每一塊使用哪一散列函數(shù)。所存儲(chǔ)的散列索引可包括多個(gè)值,且如果計(jì)算的塊的散列索引匹配于所存儲(chǔ)的散列索引的所述值中的一或多者,那么視頻信息塊可映射到所存儲(chǔ)的散列索引。所論述的散列濾波器可改為結(jié)合當(dāng)前塊對(duì)散列表的自動(dòng)添加而應(yīng)用,即,可在將指示視頻信息塊的信息添加到散列表之后應(yīng)用散列濾波器。舉例來(lái)說(shuō),如果鏈表變成滿的,那么可在所述點(diǎn)應(yīng)用散列濾波器。類似特征組合也是預(yù)期的,包含在信息已映射到散列表中的散列索引之后將指示當(dāng)前塊的信息添加到散列表;然而,相應(yīng)實(shí)施例之間的特征組合不一定受限于此。
已經(jīng)描述本發(fā)明的各種實(shí)施例。這些和其它實(shí)施例在所附權(quán)利要求書(shū)的范圍內(nèi)。