本發明涉及視頻譯碼和壓縮的領域,且尤其涉及屏幕內容譯碼。
背景技術:
:數字視頻能力可并入到廣泛范圍的裝置中,包含數字電視、數字直播系統、無線廣播系統、個人數字助理(PDA)、膝上型或臺式計算機、數碼相機、數字記錄裝置、數字媒體播放器、視頻游戲裝置、視頻游戲控制臺、蜂窩式或衛星無線電電話、視頻電話會議裝置及其類似者。數字視頻裝置實施視頻壓縮技術,例如在由運動圖片專家組-2(MPEG-2)、MPEG-4、國際電信聯盟電信標準化部門(ITU-T)H.263、ITU-TH.264/MPEG-4第10部分高級視頻譯碼(AVC)定義的標準、高效率視頻譯碼(HEVC)標準和這些標準的擴展中描述的視頻壓縮技術。視頻裝置可通過實施此些視頻譯碼技術而更有效地發射、接收、編碼、解碼及/或存儲數字視頻信息。隨著高速因特網接入的流行,新興視頻應用(例如遠程桌面共享、虛擬桌面基礎結構及無線顯示)要求屏幕內容的高壓縮效率。然而,額外幀內和幀間視頻譯碼工具經設計主要用于自然內容。屏幕內容相較于自然內容具有明顯不同的特性(例如,銳邊緣和較低或無噪聲),這使得那些傳統譯碼工具不夠用。技術實現要素:本發明的系統、方法及裝置各自具有若干創新方面,其中沒有單個方面單獨負責本文中所公開的所要屬性。在一個方面中,一種在位流中解碼視頻數據的方法,其中位流含有在調色板模式中譯碼的譯碼單元(CU),所述方法包含:解析與提供于位流中的CU中相關聯的調色板,所述調色板包含各自與索引值及與所述索引值相關聯的像素值相關聯的多個調色板條目;解析提供于位流中的與CU相關聯的一或多個游程長度,每一游程長度指示始于且包含CU中的當前位置的連續位置的數目,所述連續位置的數目與左方復制模式或上方復制模式相關聯;解析提供于位流中的與CU相關聯的一或多個索引值,每一索引值指示調色板中與CU中的當前位置相關聯的像素值;解析提供于位流中的與CU相關聯的一或多個逸出像素值,每一逸出像素值指示不在調色板中的像素值,其中從所述位流中的連續位置解析所述逸出像素值,所述連續位置在與CU相關聯的所有游程長度和索引值之后的位流中;及基于經解析調色板、經解析游程長度、經解析索引值和經解析逸出值來解碼CU。在另一方面中,一種用于解碼提供于位流中的視頻數據的設備包含存儲器和與所述存儲器通信的處理器。存儲器經配置以存儲與位流相關聯的視頻數據,所述位流包含在調色板模式中譯碼的譯碼單元(CU)。處理器經配置以:解析與提供于位流中的CU相關聯的調色板,所述調色板包含各自與索引值及與所述索引值相關聯的像素值相關聯的多個調色板條目;解析提供于位流中的與CU相關聯的一或多個游程長度,每一游程長度指示始于且包含CU中的當前位置的連續位置的數目,所述連續位置的數目與左方復制模式或上方復制模式相關聯;解析提供于位流中的與CU相關聯的一或多個索引值,每一索引值指示調色板中與CU中的當前位置相關聯的像素值;解析提供于位流中的與CU相關聯的一或多個逸出像素值,每一逸出像素值指示不在調色板中的像素值,其中從位流中的連續位置解析所述逸出像素值,所述連續位置在與CU相關聯的所有游程長度和索引值之后的位流中;及基于經解析調色板、經解析游程長度、經解析索引值和經解析逸出值來解碼CU。在一個方面中,一種在位流中編碼視頻數據的方法包含:分析譯碼單元(CU)中的多個像素,每一像素具有與之相關聯的像素值;基于CU中的多個像素產生調色板,所述調色板包含各自與索引值及與所述索引值相關聯的像素值相關聯的多個調色板條目;確定與位流中的CU相關聯的一或多個游程長度,每一游程長度指示始于且包含CU中的當前位置的連續位置的數目,所述連續位置的數目與左方復制模式或上方復制模式相關聯;確定與位流中的CU相關聯的一或多個索引值,每一索引值指示調色板中與CU中的當前位置相關聯的像素值;確定與位流中的CU相關聯的一或多個逸出像素值,每一逸出像素值指示不在調色板中的像素值;及基于所產生調色板、所確定游程長度、所確定索引值和所確定逸出像素值來編碼CU,其中逸出像素值在位流中的連續位置中經編碼,所述連續位置在與CU相關聯的所有游程長度和索引值之后的位流中。在另一方面中,一種用于在位流中編碼視頻數據的設備包含存儲器和與所述存儲器通信的處理器。存儲器經配置以存儲與位流相關聯的視頻數據,所述位流包含在調色板模式中譯碼的譯碼單元(CU)。處理器經配置以:分析譯碼單元(CU)中的多個像素,每一像素具有與之相關聯的像素值;基于CU中的多個像素產生調色板,所述調色板包含各自與索引值及與所述索引值相關聯的像素值相關聯的多個調色板條目;確定與位流中的CU相關聯的一或多個游程長度,每一游程長度指示始于且包含CU中的當前位置的連續位置的數目,所述連續位置的數目與左方復制模式或上方復制模式相關聯;確定與位流中的CU相關聯的一或多個索引值,每一索引值指示調色板中與CU中的當前位置相關聯的像素值;確定與位流中的CU相關聯的一或多個逸出像素值,每一逸出像素值指示不在調色板中的像素值;及基于所產生調色板、所確定游程長度、所確定索引值和所確定逸出像素值來編碼CU,其中所述逸出像素值在位流中的連續位置中經編碼,所述連續位置在與CU相關聯的所有游程長度和索引值之后的位流中。附圖說明圖1A是說明可利用根據本發明中所描述的方面的技術的實例視頻編碼和解碼系統的框圖。圖1B是說明可執行根據本發明中所描述的方面的技術的另一實例視頻編碼和解碼系統的框圖。圖2是說明可實施根據本發明中所描述的方面的技術的視頻編碼器的實例的框圖。圖3是說明可實施根據本發明中所描述的方面的技術的視頻解碼器的實例的框圖。圖4是說明輸入CU、索引塊、逸出像素和與CU相關聯的調色板的框圖。圖5是說明根據本發明中所描述的方面的用于在位流中譯碼視頻數據的方法的流程圖。圖6是說明根據本發明中所描述的方面的用于在位流中解碼視頻數據的方法的流程圖。圖7是說明根據本發明中所描述的方面的用于在位流中解碼視頻數據的另一方法的流程圖。圖8是說明根據本發明中所描述的方面的用于在位流中譯碼視頻數據的另一方法的流程圖。圖9是說明根據本發明中所描述的方面的用于在位流中編碼視頻數據的方法的流程圖。具體實施方式在屏幕內容譯碼的現有實施方案中,位流中可存在一些冗余。可通過跳過在滿足某些條件時用信號表示的某些語法元素來移除這些冗余。另外,一些語法元素可引入解析相關性。舉例來說,由于解碼器可推斷游程模式為索引復制模式(例如,左方復制模式),所以當當前像素在塊中的第一線中時可能不需要用信號表示用于指示游程模式的語法元素。另外,在解碼器首先對索引值進行解碼的情況下,且取決于經解碼索引值,解碼器決定所述模式是索引復制模式還是逸出模式(例如,基于索引值是否表示逸出索引值)。如果解碼器確定模式為索引復制模式,那么解碼器解析器繼續解析游程長度。如果解碼器確定模式為逸出模式,那么解碼器解析器可繼續解析逸出值及/或游程長度。由于解析器通常以比解碼器高得多的速度操作,解碼引擎與解析引擎之間的這種相關性可能影響解析器的吞吐量(例如,由于解析引擎可能需要等待解碼引擎對經解析位進行解碼)。因此,需要一種處理在調色板譯碼模式中譯碼的塊的改進方法。在本申請案中,描述用于組織位流中的調色板元素以避免或減少調色板模式中的解析相關性的若干新穎方法。在以下描述中,描述與某些實施例相關的H.264/高級視頻譯碼(AVC)技術;也論述了HEVC標準和相關技術。雖然本文中在HEVC和/或H.264標準的上下文中描述某些實施例,但所屬領域的技術人員將了解,本文中所公開的系統和方法可適用于任何合適的視頻譯碼標準。舉例來說,本文中所公開的實施例可適用于以下標準中的一或多者:國際電信聯盟(ITU)電信標準分會(ITU-T)H.261、國際標準化組織/國際電工委員會(ISO/IEC)MPEG-1Visual、ITU-TH.262或ISO/IECMPEG-2Visual、ITU-TH.263、ISO/IECMPEG-4Visual和ITU-TH.264(也稱為ISO/IECMPEG-4AVC),包含范圍擴展。在許多方面,HEVC通常遵循先前視頻譯碼標準的框架。HEVC中的預測單元不同于某些先前視頻譯碼標準中的預測單元(例如,宏塊)。實際上,在HEVC中不存在如在某些先前視頻譯碼標準中所理解的宏塊的概念。宏塊由基于四叉樹方案的分層結構替換,所述分層結構可提供高靈活性和其它可能益處。舉例來說,在HEVC方案內,定義三個類型的塊,例如譯碼單位(CU)、預測單元(PU)和變換單元(TU)。CU可指區分裂的基本單元。可將CU視為類似于宏塊的概念,但HEVC不限制CU的最大大小,且可允許遞歸分裂成四個大小相等的CU以改進內容適應性。PU可被認為是幀間/幀內預測的基本單元,且單個PU可含有多個任意形狀分區以有效地譯碼不規則圖像樣式。TU可認為是變換的基本單元。可獨立于PU界定TU;然而,TU的大小可限于TU屬于的CU的大小。此塊結構分離為三個不同概念可允許根據單元的相應作用來優化每一單元,這可得到改善的譯碼效率。視頻譯碼標準例如視頻圖像、TV圖像、靜態圖像或由錄像機或計算機產生的圖像等的數字圖像可包含布置成水平及垂直線的像素或樣本。單個圖像中的像素的數目通常有數萬個。每一像素通常含有明度和色度信息。在無壓縮的情況下,將從圖像編碼器傳達到圖像解碼器的信息的絕對量將使實時圖像發射變得不切實際。為了減少待發射的信息的量,已開發出例如JPEG、MPEG及H.263標準等數個不同壓縮方法。視頻譯碼標準包含ITU-TH.261、ISO/IECMPEG-1Visual、ITU-TH.262或ISO/IECMPEG-2Visual、ITU-TH.263、ISO/IECMPEG-4Visual和ITU-TH.264(也稱為ISO/IECMPEG-4AVC),和包含范圍擴展的HEVC。另外,存在一種視頻譯碼標準,即HEVC,其已由ITU-T視頻譯碼專家組(VCEG)及ISO/IECMPEG的視頻譯碼聯合合作小組(JCT-VC)開發。對HEVC草案10的完全引用為Bross等人的文件JCTVC-L1003,“高效視頻譯碼(HEVC)文本規范草案10(HighEfficiencyVideoCoding(HEVC)TextSpecificationDraft10)”,ITU-TSG16WP3與ISO/IECJTC1/SC29/WG11的視頻譯碼聯合協作小組(JCT-VC),第12次會議:瑞士日內瓦,2013年1月14日到2013年1月23日。對HEVC的范圍擴展也正由JCT-VC開發。視頻譯碼系統下文參考附圖更充分地描述新穎系統、設備及方法的各個方面。然而,本發明可以許多不同形式來體現,且不應將其解釋為限于貫穿本發明所呈現的任何特定結構或功能。相反地,提供這些方面以使得本發明將透徹且完整,并且將向所屬領域的技術人員充分傳達本發明的范圍。基于本文中的教示,所屬領域的技術人員應了解,本發明的范圍既定涵蓋無論是獨立于本發明的任何其它方面而實施還是與之組合而實施的本文中所揭示的新穎系統、設備及方法的任何方面。舉例來說,可以使用本文中所闡述的任何數目個方面來實施設備或實踐方法。另外,本發明的范圍既定涵蓋使用除本文中所闡述的本發明的各種方面之外的或不同于本文中所闡述的本發明的各種方面的其它結構、功能性或結構與功能性來實踐的此設備或方法。應理解,可通過權利要求的一或多個要素來體現本文中所公開的任何方面。盡管本文描述了特定方面,但這些方面的許多變化及排列落在本發明的范圍內。盡管提及了優選方面的一些益處及優點,但本發明的范疇不希望限于特定益處、用途或目標。而是,本發明的方面既定廣泛地適用于不同無線技術、系統配置、網絡及發射協議,其中的一些是借助于實例而在圖中以及在優選方面的以下描述中說明。具體實施方式和圖式僅說明本發明,而不是限制由所附權利要求書和其等效物界定的本發明的范圍。附圖說明若干實例。由附圖中的參考標號指示的元件對應于在以下描述中由相同參考標號指示的元件。在本發明中,具有以序數詞(例如,“第一”、“第二”、“第三”等)開始的名稱的元件不一定暗示所述元件具有特定次序。而是,這些序數詞僅用于指代相同或類似類型的不同元件。圖1A是說明可利用根據本發明中描述的方面的技術的實例視頻譯碼系統10的框圖。如本文中所描述地使用,術語“視頻譯碼器”或“譯碼器”一般指代視頻編碼器和視頻解碼器兩者。在本發明中,術語“視頻譯碼”或“譯碼”可一般地指代視頻編碼和視頻解碼。除了視頻編碼器和視頻解碼器外,本申請案中描述的方面可擴展到其它相關裝置,例如,轉碼器(例如,可解碼位流且重新編碼另一位流的裝置)及中間框(例如,可修改、變換及/或另外操縱位流的裝置)。如圖1A中所展示,視頻譯碼系統10包含源裝置12,所述源裝置12產生稍后由目的地裝置14解碼的經編碼視頻數據。在圖1A的實例中,源裝置12和目的地裝置14構成獨立裝置。然而,應注意,源裝置12和目的地裝置14可在相同裝置上或為相同裝置的一部分,如圖1B的實例中所展示。再次參考圖1A,源裝置12和目的地裝置14可分別包括多種多樣的裝置中的任一者,包含臺式計算機、筆記本(例如,膝上型)計算機、平板計算機、機頂盒、例如所謂的“智能”電話的電話手持機、所謂的“智能”板、電視、攝像機、顯示裝置、數字媒體播放器、視頻游戲控制臺、視頻流裝置或其類似者。在各種實施例中,源裝置12和目的地裝置14可經裝備以用于無線通信。目的地裝置14可經由鏈路16接收待解碼的經編碼視頻數據。鏈路16可包括能夠將經編碼視頻數據從源裝置12移動到目的地裝置14的任何類型的媒體或裝置。在圖1A的實例中,鏈路16可包括使得源裝置12能夠實時將經編碼視頻數據發射到目的地裝置14的通信媒體。可根據通信標準(例如,無線通信協議)調制經編碼的視頻數據,并將其發射到目的地裝置14。通信媒體可包括任何無線或有線通信媒體,例如射頻(RF)頻譜或一或多個物理發射線。通信媒體可形成分組網絡(例如,局域網、廣域網或全球網絡,例如因特網)的部分。通信媒體可包含路由器、交換機、基站或可用于促進從源裝置12到目的地裝置14的通信的任一其它設備。替代地,經編碼數據可從輸出接口22輸出到存儲裝置31(任選地存在)。類似地,可通過(例如)目的地裝置14的輸入接口28從存儲裝置31存取經編碼數據。存儲裝置31可包含多種分布式或本地存取數據存儲媒體中的任一者,例如硬盤驅動器、快閃存儲器、易失性或非易失性存儲器,或用于存儲經編碼視頻數據的任何其它合適的數字存儲媒體。在另一實例中,存儲裝置31可對應于文件服務器或可保持源裝置12產生的經編碼視頻的另一中間存儲裝置。目的地裝置14可經由串流或下載從存儲裝置31存取所存儲的視頻數據。文件服務器可為任何類型的能夠存儲經編碼視頻數據且將經編碼視頻數據發射到目的地裝置14的服務器。實例文件服務器包含萬維網服務器(例如,用于網站)、文件發射協議(FTP)服務器、網絡連接存儲(NAS)裝置或本地磁盤驅動器。目的地裝置14可通過任何標準數據連接(包含因特網連接)來存取經編碼的視頻數據。此可包含無線信道(例如,無線局域網(WLAN)連接)、有線連接(例如,數字用戶線(DSL)、電纜調制解調器等)或適合于存取存儲在文件服務器上的經編碼視頻數據的兩者的組合。經編碼視頻數據從存儲裝置31的發射可為流式發射發射、下載發射或兩者的組合。本發明的技術不限于無線應用或設置。所述技術可應用于支持多種多媒體應用中的任一者的視頻譯碼,例如空中電視廣播、有線電視發射、衛星電視發射、例如經由因特網的流式視頻發射(例如,超文本傳送協議(HTTP)動態自適應流式發射等)、用于存儲在數據存儲媒體上的數字視頻的編碼、存儲在數據存儲媒體上的數字視頻的解碼,或其它應用。在一些實例中,視頻譯碼系統10可經配置以支持單向或雙向視頻發射以支持例如視頻流式發射、視頻回放、視頻廣播及/或視頻電話等應用。在圖1A的實例中,源裝置12包含視頻源18、視頻編碼器20和輸出接口22。在一些情況下,輸出接口22可包含調制器/解調器(調制解調器)及/或發射器。在源裝置12中,視頻源18可包括源,例如視頻捕獲裝置(例如,視頻攝像機)、含有先前所捕獲的視頻的視頻存檔、用于從視頻內容提供者接收視頻的視頻饋入接口和/或用于產生計算機圖形數據以作為源視頻的計算機圖形系統,或此類源的組合。作為一個實例,如果視頻源18是視頻攝像機,那么源裝置12和目的地裝置14可形成所謂的“相機電話”或“視頻電話”,如圖1B的實例中所說明。然而,本發明中所描述的技術一般來說可適用于視頻譯碼,且可應用于無線和/或有線應用。可由視頻編碼器20對所捕獲、預捕獲或計算機產生的視頻進行編碼。可經由源裝置12的輸出接口22將經編碼視頻數據發射到目的地裝置14。還可(或替代地)將經編碼視頻數據存儲到存儲裝置31上以用于稍后由目的地裝置14或其它裝置存取以供解碼和/或回放。圖1A和1B中說明的視頻編碼器20可包含圖2中說明的視頻編碼器20或本文中描述的任一其它視頻編碼器。在圖1A的實例中,目的地裝置14包含輸入接口28、視頻解碼器30和顯示裝置32。在一些情況下,輸入接口28可包含接收器及/或調制解調器。目的地裝置14的輸入接口28可經由鏈路16和/或從存儲裝置31接收經編碼視頻數據。經由鏈路16傳送或在存儲裝置31上提供的經編碼視頻數據可包含由視頻編碼器20所產生的多種語法元素以供由例如視頻解碼器30等的視頻解碼器用于解碼視頻數據。此類語法元素可與在通信媒體上發射、存儲于存儲媒體上或存儲文件服務器的經編碼視頻數據包含在一起。圖1A和1B中說明的視頻解碼器30可包括圖3中說明的視頻解碼器30或本文中描述的任一其它視頻解碼器。顯示裝置32可與目的地裝置14集成或在目的地裝置14外部。在一些實例中,目的地裝置14可包含集成顯示裝置,且還可經配置以與外部顯示裝置介接。在其它實例中,目的地裝置14可能是顯示裝置。一般來說,顯示裝置32將經解碼視頻數據顯示給用戶,且可包括多種顯示裝置中的任一者,例如液晶顯示器(LCD)、等離子顯示器、有機發光二極管(OLED)顯示器或另一類型的顯示裝置。在相關方面中,圖1B展示實例譯碼系統10′,其中源裝置12和目的地裝置14在裝置11上或作為其一部分。裝置11可為電話手持機,例如“智能”電話或類似者。裝置11可包含與源裝置12和目的地裝置14操作性通信的控制器/處理器裝置13(任選地存在)。圖1B的視頻譯碼系統10′及其組件另外類似于圖1A的視頻譯碼系統10及其組件。視頻編碼器20和視頻解碼器30可根據例如HEVC等視頻壓縮標準操作,且可符合HEVC測試模型(HM)。替代地,視頻編碼器20和視頻解碼器30可根據其它專屬或業界標準或此類標準的擴展來操作,所述標準例如ITU-TH.264標準,或者被稱為MPEG-4第10部分AVC。但是,本發明的技術不限于任何特定譯碼標準。視頻壓縮標準的其它實例包含MPEG-2和ITU-TH.263。盡管圖1A和1B的實例中未展示,但視頻編碼器20和視頻解碼器30可各自與音頻編碼器和解碼器集成,且可包含適當的多路復用器-多路分用器單元或其它硬件和軟件,以處置對共同數據流或單獨數據流中的音頻和視頻兩者的編碼。在一些實例中,如果適用的話,那么多路復用器-多路分用器單元可以符合ITUH.223多路復用器協議,或例如用戶數據報協議(UDP)等其它協議。視頻編碼器20和視頻解碼器30各自可實施為多種合適的編碼器電路中的任一者,例如一或多個微處理器、數字信號處理器(DSP)、專用集成電路(ASIC)、現場可編程門陣列(FPGA)、離散邏輯、軟件、硬件、固件或其任何組合。當部分以軟件實施所述技術時,裝置可將用于所述軟件的指令存儲于合適非暫時性計算機可讀媒體中并使用一或多個處理器用硬件執行所述指令以執行本發明的技術。視頻編碼器20和視頻解碼器30中的每一者可以包含在一個或一個以上編碼器或解碼器中,所述編碼器或解碼器中的任一者可以集成為相應裝置中的組合編碼器/解碼器的一部分。視頻譯碼過程如上文簡要提及,視頻編碼器20編碼視頻數據。視頻數據可以包括一或多個圖片。圖片中的每一者為形成視頻的部分的靜態圖像。在一些情況下,圖片可被稱作視頻“幀”。當視頻編碼器20編碼視頻數據時,視頻編碼器20可以產生位流。位流可包含形成視頻數據的經譯碼表示的一連串位。位流可包含經譯碼圖片和相關聯的數據。經譯碼的圖片是圖片的經譯碼的表示。為了產生位流,視頻編碼器20可對視頻數據中的每一圖片執行編碼操作。當視頻編碼器20對圖片執行編碼操作時,視頻編碼器20可產生一系列經譯碼圖片和相關聯數據。相關聯數據可包含視頻參數集(VPS)、序列參數集(SPS)、圖片參數集(PPS)、自適應參數集(APS)和其它語法結構。SPS可含有適用于圖片的零或更多序列的參數。PPS可含有適用于零或更多圖片的參數。APS可含有適用于零個或更多圖片的參數。APS中的參數可為比PPS中的參數更可能改變的參數。為了產生經譯碼圖片,視頻編碼器20可將圖片分割成大小相等的視頻塊。視頻塊可為樣本的二維陣列。視頻塊中的每一者與樹塊相關聯。在一些情況下,樹塊可被稱作最大譯碼單元(LCU)。HEVC的樹塊可廣泛類似于例如H.264/AVC等先前標準的宏塊。然而,樹塊不必限于特定大小,且可包含一或多個譯碼單元(CU)。視頻編碼器20可使用四叉樹分割來將樹塊的視頻塊分割成與CU相關聯的視頻塊(因此名稱為“樹塊”)。在一些實例中,視頻編碼器20可將圖片分割成多個切片。切片中的每一者可包含整數數目個CU。在一些情況下,一個切片包括整數數目個樹塊。在其它情況下,切片的邊界可在樹塊內。作為對圖片執行編碼操作的部分,視頻編碼器20可對圖片的每一切片執行編碼操作。當視頻編碼器20對切片執行編碼操作時,視頻編碼器20可產生與切片相關聯的經編碼數據。與切片相關聯的經編碼數據可被稱為“經譯碼切片”。為產生經譯碼切片,視頻編碼器20可對切片中的每一樹塊執行編碼操作。當視頻編碼器20對樹塊執行編碼操作時,視頻編碼器20可產生經譯碼樹塊。經譯碼樹塊可包括表示樹塊的經編碼型式的數據。當視頻編碼器20產生經譯碼切片時,視頻編碼器20可根據光柵掃描次序對切片中的樹塊執行編碼操作(例如,編碼)。舉例來說,視頻編碼器20可按如下次序來對切片的樹塊進行編碼:跨越切片中的樹塊的最頂行從左到右進行,接著跨越樹塊的下一較低行從左到右進行,以此類推,直到視頻編碼器20已對切片中的樹塊的每一者進行了編碼為止。作為根據光柵掃描次序編碼樹塊的結果,可已編碼在給定樹塊的上方和左邊的樹塊,但尚未編碼在給定樹塊的下方和右邊的樹塊。因此,當對給定樹塊進行編碼時,視頻編碼器20可能能夠存取通過對給定樹塊的上方和左邊的樹塊進行編碼而產生的信息。然而,當編碼給定樹塊時,視頻編碼器20可能不能夠存取通過編碼在給定樹塊的下方和右邊的樹塊而產生的信息。為了產生經譯碼樹塊,視頻編碼器20可對樹塊的視頻塊遞歸地執行四叉樹分割以將視頻塊劃分為越來越小的視頻塊。較小視頻塊中的每一者可與不同CU相關聯。舉例來說,視頻編碼器20可將樹塊的視頻塊分割成四個大小相等的子塊、將所述子塊中的一或多者分割成四個大小相等的子子塊(sub-sub-block),以此類推。經分割的CU可為其視頻塊被分割成與其它CU相關聯的視頻塊的CU。未分割CU可為其視頻塊未被分割成與其它CU相關聯的視頻塊的CU。位流中的一或多個語法元素可指示視頻編碼器20可分割樹塊的視頻塊的最大次數。CU的視頻塊在形狀上可為正方形。CU的視頻塊的大小(例如,CU的大小)范圍可從8×8像素直至最大64×64像素或更大的樹塊的視頻塊大小(例如,樹塊的大小)。視頻編碼器20可根據z掃描次序對樹塊的每一CU執行編碼運算(例如編碼)。換句話說,視頻編碼器20可對左上CU、右上CU、左下CU和接著右下CU按所述次序進行編碼。當視頻編碼器20對經分割的CU執行編碼操作時,視頻編碼器20可根據z掃描次序對與經分割的CU的視頻塊的子塊相關聯的CU進行編碼。換句話說,視頻編碼器20可對與左上子塊相關聯的CU、與右上子塊相關聯的CU、與左下子塊相關聯的CU,且接著與右下子塊相關聯的CU按所述順序進行編碼。作為根據z掃描次序編碼樹塊的CU的結果,可已編碼在給定CU的上方、左上方、右上方、左邊的左下方的CU。尚未對給定CU的右下方的CU進行編碼。因此,當對給定CU進行編碼時,視頻編碼器20可能能夠存取通過對與給定CU相鄰的一些CU進行編碼而產生的信息。然而,當編碼給定CU時,視頻編碼器20可能不能夠存取通過編碼鄰接給定CU的其它CU而產生的信息。當視頻編碼器20編碼未經分割CU時,視頻編碼器20可產生所述CU的一或多個預測單元(PU)。CU的PU中的每一者可與CU的視頻塊內的不同視頻塊相關聯。視頻編碼器20可產生用于CU的每一PU的經預測視頻塊。PU的經預測視頻塊可為樣本塊。視頻編碼器20可使用幀內預測或幀間預測來產生PU的經預測視頻塊。當視頻編碼器20使用幀內預測來產生PU的經預測視頻塊時,視頻編碼器20可基于與PU相關聯的圖片的經解碼樣本來產生PU的經預測視頻塊。如果視頻編碼器20使用幀內預測來產生CU的PU的經預測視頻塊,那么CU為經幀內預測的CU。當視頻編碼器20使用幀間預測來產生PU的經預測視頻塊時,視頻編碼器20可基于不同于與PU相關聯的圖片的一或多個圖片的經解碼樣本而產生PU的經預測視頻塊。如果視頻編碼器20使用幀間預測來產生CU的PU的經預測視頻塊,那么所述CU為經幀間預測CU。此外,當視頻編碼器20使用幀間預測來產生PU的經預測視頻塊時,視頻編碼器20可產生PU的運動信息。PU的運動信息可指示PU的一或多個參考塊。PU的每一參考塊可為參考圖片內的視頻塊。參考圖片可為除與PU相關聯的圖片以外的圖片。在一些情況下,PU的參考塊也可被稱作PU的“參考樣本”。視頻編碼器20可基于PU的參考塊產生所述PU的預測視頻塊。在視頻編碼器20產生CU的一或多個PU的經預測視頻塊之后,視頻編碼器20可基于CU的PU的經預測視頻塊而產生CU的殘余數據。CU的殘余數據可指示用于CU的PU的預測視頻塊中的樣本與CU的原始視頻塊之間的差。此外,作為對未分割的CU執行編碼操作的部分,視頻編碼器20可對CU的殘余數據執行遞歸四叉樹分割以將CU的殘余數據分割成與CU的變換單元(TU)相關聯的一或多個殘余數據塊(例如,殘余視頻塊)。CU的每一TU可與不同殘余視頻塊相關聯。視頻編碼器20可將一或多個變換應用到與TU相關聯的殘余視頻塊以產生與TU相關聯的變換系數塊(例如,變換系數塊)。在概念上,變換系數塊可為變換系數的二維(2D)矩陣。在產生變換系數塊之后,視頻編碼器20可對所述變換系數塊執行量化處理。量化總體上是指對變換系數進行量化以可能減少用以表示變換系數的數據的量從而提供進一步壓縮的過程。量化過程可減少與變換系數中的一些或全部相關聯的位深度。例如,可在量化期間將n位變換系數向下舍入到m位變換系數,其中n大于m。視頻編碼器20可使每一CU與量化參數(QP)值相關聯。與CU相關聯的QP值可確定視頻編碼器20如何對與CU相關聯的變換系數塊進行量化。視頻編碼器20可通過調整與CU相關聯的QP值來調整應用于與CU相關聯的變換系數塊的量化的程度。在視頻編碼器20量化變換系數塊之后,視頻編碼器20可產生表示經量化變換系數塊中的變換系數的語法元素集。視頻編碼器20可將例如上下文自適應二進制算術譯碼(CABAC)操作等熵編碼操作應用于這些語法元素中的一些。也可使用例如上下文自適應可變長度譯碼(CAVLC)、概率區間分割熵(PIPE)譯碼或其它二進制算術譯碼的其它熵譯碼技術。由視頻編碼器20產生的位流可包含一系列網絡抽象層(NAL)單元。所述NAL單元中的每一者可為含有NAL單元中的數據類型的指示及含有數據的字節的語法結構。舉例來說,NAL單元可含有表示視頻參數集、序列參數集、圖片參數集、經譯碼切片、SEI、接入單元分隔符、填充數據或另一類型的數據的數據。NAL單元中的數據可包含各種語法結構。視頻解碼器30可接收由視頻編碼器20產生的位流。位流可包含由視頻編碼器20編碼的視頻數據的經譯碼表示。當視頻解碼器30接收到位流時,視頻解碼器30可對位流執行解析操作。當視頻解碼器30執行解析操作時,視頻解碼器30可從位流提取語法元素。視頻解碼器30可基于從位流提取的語法元素而重建視頻數據的圖片。基于語法元素而重建視頻數據的過程一般可與由視頻編碼器20執行以產生語法元素的過程互逆。在視頻解碼器30提取與CU相關聯的語法元素之后,視頻解碼器30可基于所述語法元素產生用于CU的PU的經預測視頻塊。另外,視頻解碼器30可對與CU的TU相關聯的變換系數塊進行反量化。視頻解碼器30可對變換系數塊執行反變換以重構與CU的TU相關聯的殘余視頻塊。在產生經預測視頻塊且重構殘余視頻塊之后,視頻解碼器30可基于經預測視頻塊及殘余視頻塊重構CU的視頻塊。以此方式,視頻解碼器30可基于位流中的語法元素重建CU的視頻塊。視頻編碼器圖2是說明可實施根據本發明中描述的方面的技術的視頻編碼器20的實例的框圖。視頻編碼器20可經配置以處理視頻幀的單層(例如,針對HEVC)。此外,視頻編碼器20可經配置以執行本發明的技術中的任一者或全部。在一些實例中,本發明中描述的技術可在視頻編碼器20的各種組件之間共享。在一些實例中,另外或替代地,處理器(未圖示)可經配置以執行本發明中描述的技術中的任一者或全部。出于解釋的目的,本發明在HEVC譯碼的上下文中描述視頻編碼器20。然而,本發明的技術可以適用于其它譯碼標準或方法。圖2中所描繪的實例是針對單層編解碼器。然而,在某些實施例中,可復制視頻編碼器20中的一些或全部以用于多層編解碼器的處理。視頻編碼器20可對視頻切片內的視頻塊執行幀內譯碼及幀間譯碼。幀內譯碼依賴于空間預測來減小或移除給定視頻幀或圖片內的視頻的空間冗余。幀間譯碼依靠時間預測來減少或移除視頻序列的鄰近幀或圖片內的視頻中的時間冗余。幀內模式(I模式)可指代若干基于空間的譯碼模式中的任一者。例如單向預測(P模式)或雙向預測(B模式)等幀間模式可指代若干基于時間的譯碼模式中的任一者。在圖2的實例中,視頻編碼器20包含多個功能組件。視頻編碼器20的功能組件包含預測處理單元100、殘余產生單元102、變換處理單元104、量化單元106、反量化單元108、反變換單元110、重構單元112、濾波器單元113、經解碼圖片緩沖器114和熵編碼單元116。預測處理單元100包含幀間預測單元121、運動估計單元122、運動補償單元124、幀內預測單元126及層間預測單元128。在其它實例中,視頻編碼器20可包含更多、更少或不同功能組件。此外,運動估計單元122與運動補償單元124可高度集成,但出于解釋的目的而在圖2的實例中分開來表示。視頻編碼器20可接收視頻數據。視頻編碼器20可從各種源接收視頻數據。舉例來說,視頻編碼器20可自視頻源18(例如,圖1A或1B中所展示)或另一源接收視頻數據。視頻數據可表示一系列圖片。為編碼視頻數據,視頻編碼器20可對圖片中的每一者執行編碼操作。作為對圖片執行編碼操作的一部分,視頻編碼器20可對圖片的每一切片執行編碼操作。作為對切片執行編碼操作的部分,視頻編碼器20可對切片中的樹塊執行編碼操作。作為對樹塊執行編碼操作的部分,預測處理單元100可對樹塊的視頻塊執行四叉樹分割以將所述視頻塊劃分成逐漸變小的視頻塊。較小視頻塊中的每一者可與不同CU相關聯。舉例來說,預測處理單元100可將樹塊的視頻塊分割成四個相等大小的子塊,將所述子塊中的一或多者分割成四個相等大小的子子塊,等等。與CU相關聯的視頻塊的大小范圍可從8×8樣本高達最大64×64像素或更大的樹塊大小。在本發明中,“N×N”與“N乘N”可互換使用來指代在垂直和水平維度方面的視頻塊的樣本尺寸,例如,16×16個樣本或16乘16個樣本。一般來說,16×16視頻塊在垂直方向上具有16個樣本(y=16),且在水平方向上具有16個樣本(x=16)。同樣,N×N塊一般在垂直方向上具有N個樣本,且在水平方向上具有N個樣本,其中N表示非負整數值。另外,作為對樹塊執行編碼操作的部分,預測處理單元100可產生用于所述樹塊的階層式四叉樹數據結構。例如,樹塊可對應于四叉樹數據結構的根節點。如果預測處理單元100將樹塊的視頻塊分割成四個子塊,那么根節點在四叉樹數據結構中具有四個子級節點。所述子節點中的每一者對應于與子塊中的一者相關聯的CU。如果預測處理單元100將子塊中的一者分割成四個子子塊,那么對應于與子塊相關聯的CU的節點可具有四個子級節點,其中的每一者對應于與子子塊中的一者相關聯的CU。四叉樹數據結構的每一節點可含有用于對應樹塊或CU的語法數據(例如,語法元素)。例如,四分樹中的節點可包含分裂標記,其指示對應于所述節點的CU的視頻塊是否被分割(例如,分裂)成四個子塊。用于CU的語法元素可遞歸地界定,且可取決于所述CU的視頻塊是否分裂成子塊。視頻塊未被分割的CU可對應于四叉樹數據結構中的葉節點。經譯碼樹塊可包含基于對應樹塊的四分樹數據結構的數據。視頻編碼器20可對樹塊的每一未經分割的CU執行編碼操作。當視頻編碼器20對未經分割的CU執行編碼操作時,視頻編碼器20產生表示未經分割的CU的經編碼表示的數據。作為對CU執行編碼操作的部分,預測處理單元100可在CU的一或多個PU間分割CU的視頻塊。視頻編碼器20和視頻解碼器30可支持各種PU大小。假定特定CU的大小為2N×2N,視頻編碼器20及視頻解碼器30可支持2N×2N或N×N的PU大小,及2N×2N、2N×N、N×2N、N×N、2N×nU、nL×2N、nR×2N或類似的對稱PU大小的幀間預測。視頻編碼器20和視頻解碼器30還可支持用于2N×nU、2N×nD、nL×2N和nR×2N的PU大小的不對稱分割。在一些實例中,預測處理單元100可執行幾何分割以沿并不按直角與CU的視頻塊的側會合的邊界來在CU的PU間分割CU的視頻塊。幀間預測單元121可對CU的每一PU執行幀間預測。幀間預測可提供時間壓縮。為了對PU執行幀間預測,運動估計單元122可產生PU的運動信息。運動補償單元124可基于運動信息和除與CU相關聯的圖片(例如,參考圖片)以外的圖片的經解碼樣本而產生PU的經預測視頻塊。在本發明中,由運動補償單元124產生的經預測視頻塊可稱作經幀間預測視頻塊。切片可為I切片、P切片,或B切片。運動估計單元122和運動補償單元124可取決于PU處于I切片、P切片還是B切片中而對CU的PU執行不同操作。在I切片中,所有PU都是經幀內預測。因此,如果PU在I切片中,那么運動估計單元122及運動補償單元124不對PU執行幀間預測。如果PU在P切片中,那么含有所述PU的圖片與被稱作“列表0”的參考圖片列表相關聯。列表0中的參考圖片中的每一者含有可用于其它圖片的幀間預測的樣本。當運動估計單元122關于P切片中的PU執行運動估計操作時,運動估計單元122可搜索列表0中的參考圖片以找出PU的參考塊。PU的參考塊可為最緊密對應于PU的視頻塊中的樣本的一組樣本,例如樣本塊。運動估計單元122可使用多種度量來確定參考圖片中的一組樣本對應于PU的視頻塊中的樣本的緊密程度。例如,運動估計單元122可通過絕對差總和(SAD)、平方差總和(SSD)或其它差異度量來確定參考圖片中的一組樣本對應于PU的視頻塊中的樣本的接近程度。在識別出P切片中的PU的參考塊之后,運動估計單元122可產生指示列表0中含有參考塊的參考圖片的參考索引,以及指示PU與參考塊之間的空間位移的運動向量。在各種實例中,運動估計單元122可以不同精確度產生運動向量。舉例來說,運動估計單元122可以四分之一樣本精確度、八分之一樣本精確度或其它分數樣本精確度產生運動向量。在分數樣本精確度的情況下,參考塊值可從參考圖片中的整數位置樣本值內插。運動估計單元122可將參考索引及運動向量輸出為PU的運動信息。運動補償單元124可基于由PU的運動信息識別的參考塊而產生PU的經預測視頻塊。如果PU處于B切片中,那么含有PU的圖片可與被稱作“列表0”和“列表1”的兩個參考圖片列表相關聯。在一些實例中,含有B切片的圖片可與為列表0與列表1的組合的列表組合相關聯。此外,如果PU在B切片中,那么運動估計單元122可對PU執行單向預測或雙向預測。當運動估計單元122對PU執行單向預測時,運動估計單元122可搜索列表0或列表1中的參考圖片以找出用于所述PU的參考塊。運動估計單元122可隨后產生指示列表0或列表1中的含有參考塊的參考圖片的參考索引和指示PU與參考塊之間的空間位移的運動向量。運動估計單元122可輸出參考索引、預測方向指示符和運動向量作為所述PU的運動信息。預測方向指示符可指示參考索引指示列表0還是列表1中的參考圖片。運動補償單元124可基于由PU的運動信息指示的參考塊來產生PU的經預測視頻塊。當運動估計單元122針對PU執行雙向預測時,運動估計單元122可搜索列表0中的參考圖片以找到用于所述PU的參考塊,且還可搜索列表1中的參考圖片以找到用于所述PU的另一參考塊。運動估計單元122可隨后產生指示列表0和列表1中的含有參考塊的參考圖片的參考索引和指示參考塊與PU之間的空間位移的運動向量。運動估計單元122可輸出PU的參考索引及運動向量作為PU的運動信息。運動補償單元124可基于由PU的運動信息指示的參考塊而產生PU的經預測視頻塊。在一些情況下,運動估計單元122不將PU的運動信息的完整集合輸出到熵編碼單元116。實際上,運動估計單元122可參考另一PU的運動信息用信號表示PU的運動信息。舉例來說,運動估計單元122可確定PU的運動信息足夠類似于相鄰PU的運動信息。在此實例中,運動估計單元122可在與PU相關聯的語法結構中指示一值,所述值向視頻解碼器30指示PU具有與相鄰PU相同的運動信息。在另一實例中,運動估計單元122可在與PU相關聯的語法結構中識別相鄰PU和運動向量差(MVD)。運動向量差指示PU的運動向量與所指示的相鄰PU的運動向量之間的差。視頻解碼器30可使用所指示的相鄰PU的運動向量和運動向量差來確定PU的運動向量。通過在用信號表示第二PU的運動信息時參考第一PU的運動信息,視頻編碼器20可能能夠使用較少位用信號表示第二PU的運動信息。作為對CU執行編碼操作的部分,幀內預測單元126可對CU的PU執行幀內預測。幀內預測可提供空間壓縮。當幀內預測單元126對PU執行幀內預測時,幀內預測單元126可基于同一圖片中的其它PU的經解碼樣本來產生用于PU的預測數據。用于PU的預測數據可包含經預測視頻塊和各種語法元素。幀內預測單元126可對I切片、P切片和B切片中的PU執行幀內預測。為了對PU執行幀內預測,幀內預測單元126可使用多個幀內預測模式以產生用于PU的預測數據的多個集合。當幀內預測單元126使用幀內預測模式來產生PU的預測數據的集合時,幀內預測單元126可在與幀內預測模式相關聯的方向和/或梯度上跨越PU的視頻塊從相鄰PU的視頻塊擴展樣本。相鄰PU可在所述PU的上方、右上方、左上方或左側,假定對于PU、CU和樹塊采用從左到右、從上到下的編碼次序。幀內預測單元126可取決于PU的大小而使用各種數目個幀內預測模式,例如33個定向幀內預測模式。預測處理單元100可從由運動補償單元124針對PU產生的預測數據或由幀內預測單元126針對PU產生的預測數據當中選擇用于PU的預測數據。在一些實例中,預測處理單元100基于預測數據集合的速率/失真度量而選擇PU的預測數據。如果預測處理單元100選擇由幀內預測單元126產生的預測數據,那么預測處理單元100可用信號表示用以產生用于PU的預測數據的幀內預測模式,例如,選定幀內預測模式。預測處理單元100可以各種方式用信號表示所選幀內預測模式。舉例來說,有可能所選幀內預測模式與相鄰PU的幀內預測模式相同。換句話說,相鄰PU的幀內預測模式可為用于當前PU的最可能模式。因此,預測處理單元100可產生用以指示選定幀內預測模式與相鄰PU的幀內預測模式相同的語法元素。如上文所論述,視頻編碼器20可包含層間預測單元128。層間預測單元128經配置以使用可用于SHVC中的一或多個不同層(例如,基礎層或參考層)預測當前塊(例如,EL中的當前塊)。此預測可稱作層間預測。層間預測單元128利用預測方法以減少層間冗余,進而改進譯碼效率且降低計算資源要求。層間預測的一些實例可包含層間幀內預測、層間運動預測及層間殘余預測。層間幀內預測使用基礎層中的協同定位塊的重建來預測增強層中的當前塊。層間運動預測使用基礎層的運動信息來預測增強層中的運動。層間殘余預測使用基礎層的殘余來預測增強層的殘余。在預測處理單元100選擇用于CU的PU的預測數據之后,殘余產生單元102可通過從CU的視頻塊減去(例如,由減號指示)CU的PU的經預測視頻塊而產生用于CU的殘余數據。CU的殘余數據可包含對應于CU的視頻塊中的樣本的不同樣本分量的2D殘余視頻塊。舉例來說,殘余數據可包含對應于CU的PU的經預測視頻塊中的樣本的明度分量與CU的原始視頻塊中的樣本的明度分量之間的差的殘余視頻塊。另外,CU的殘余數據可包含對應于CU的PU的預測視頻塊中的樣本的色度分量與CU的原始視頻塊中的樣本的色度分量之間的差的殘余視頻塊。預測處理單元100可執行四叉樹分割以將CU的殘余視頻塊分割成子塊。每一未經劃分的殘余視頻塊可與CU的不同TU相關聯。與CU的TU相關聯的殘余視頻塊的大小及位置可基于或可不基于與CU的PU相關聯的視頻塊的大小及位置。被稱為“殘余四叉樹”(RQT)的四叉樹結構可包含與殘余視頻塊中的每一者相關聯的節點。CU的TU可以對應于RQT的葉節點。變換處理單元104可通過將一或多個變換應用于與CU的每一TU相關聯的殘余視頻塊而產生用于所述TU的一或多個變換系數塊。變換系數塊中的每一者可為變換系數的2D矩陣。變換處理單元104可將各種變換應用于與TU相關聯的殘余視頻塊。舉例來說,變換處理單元104可將離散余弦變換(DCT)、方向性變換或概念上類似的變換應用到與TU相關聯的殘余視頻塊。在變換處理單元104產生與TU相關聯的變換系數塊之后,量化單元106可量化所述變換系數塊中的變換系數。量化單元106可基于與CU相關聯的QP值而對與CU的TU相關聯的變換系數塊進行量化。視頻編碼器20可以各種方式使QP值與CU相關聯。例如,視頻編碼器20可對與CU相關聯的樹塊執行速率失真分析。在速率-失真分析中,視頻編碼器20可通過對樹塊執行多次編碼操作而產生樹塊的多個經譯碼表示。當視頻編碼器20產生樹塊的不同經編碼表示時,視頻編碼器20可使不同QP值與CU相關聯。當給定QP值與具有最低位速率和失真度量的樹塊的經譯碼表示中的CU相關聯時,視頻編碼器20可用信號表示給定QP值與CU相關聯。反量化單元108和反變換單元110可分別將反量化及反變換應用于變換系數塊以從變換系數塊重構殘余視頻塊。重構單元112可將經重構的殘余視頻塊添加到來自由預測處理單元100產生的一或多個預測視頻塊的對應樣本,以產生與TU相關聯的經重構視頻塊。通過以此方式重構用于CU的每一TU的視頻塊,視頻編碼器20可重構CU的視頻塊。在重構單元112重構CU的視頻塊之后,濾波器單元113可執行解塊操作以減小與所述CU相關聯的視頻塊中的成塊假象。在執行一或多個解塊操作之后,濾波器單元113可將CU的經重構視頻塊存儲在經解碼圖片緩沖器114中。運動估計單元122和運動補償單元124可使用含有經重構視頻塊的參考圖片來對后續圖片的PU執行幀間預測。另外,幀內預測單元126可使用經解碼圖片緩沖器114中的經重構視頻塊對處于與CU相同圖片中的其它PU執行幀內預測。熵編碼單元116可從視頻編碼器20的其它功能組件接收數據。舉例來說,熵編碼單元116可從量化單元106接收變換系數塊且可從預測處理單元100接收語法元素。當熵編碼單元116接收到數據時,熵編碼單元116可執行一或多個熵編碼操作以產生經熵編碼數據。舉例來說,視頻編碼器20可對數據執行CAVLC操作、CABAC操作、可變到可變(V2V)長度譯碼操作、基于語法的上下文自適應二進制算術譯碼(SBAC)操作、概率區間分割熵(PIPE)譯碼操作或另一類型的熵編碼操作。熵編碼單元116可輸出包含經熵編碼數據的位流。作為對數據執行熵編碼操作的一部分,熵編碼單元116可選擇上下文模型。如果熵編碼單元116正執行CABAC操作,那么上下文模型可指示特定二進制數具有特定值的概率的估計。在CABAC的情況下,術語“二進數(bin)”用以指語法元素的二進制化版本的位。視頻解碼器圖3為說明可實施本發明中描述的方面的技術的視頻解碼器30的實例的框圖。視頻解碼器30可經配置以處理視頻幀的單層(例如針對HEVC)。此外,視頻解碼器30可經配置以執行本發明的技術中的任一者或全部。在一些實例中,本發明中描述的技術可在視頻解碼器30的各種組件之間共享。在一些實例中,另外或替代地,處理器(未圖示)可經配置以執行本發明中描述的技術中的任一者或全部。出于解釋的目的,本發明在HEVC譯碼的上下文中描述視頻解碼器30。然而,本發明的技術可以適用于其它譯碼標準或方法。圖3中所描繪的實例是針對單層編解碼器。然而,在某些實施方案中,可復制視頻編碼器30中的一些或全部以用于多層編解碼器的處理。在圖3的實例中,視頻解碼器30包含多個功能組件。視頻解碼器30的功能組件包含熵解碼單元150、預測處理單元152、反量化單元154、反變換單元156、重建單元158、濾波器單元159和經解碼圖片緩沖器160。預測處理單元152包含運動補償單元162、幀內預測單元164和層間預測單元166。在一些實例中,視頻解碼器30可執行一般與關于圖2的視頻編碼器20描述的編碼遍次互逆的解碼遍次。在其它實例中,視頻解碼器30可包含較多、較少或不同的功能組件。視頻解碼器30可接收包括經編碼視頻數據的位流。所述位流可包含多個語法元素。當視頻解碼器30接收到位流時,熵解碼單元150可對所述位流執行解析操作。對位流執行解析操作的結果是,熵解碼單元150可從所述位流提取語法元素。作為執行解析操作的一部分,熵解碼單元150可對位流中的經熵編碼語法元素進行熵解碼。預測處理單元152、反量化單元154、反變換處理單元156、重構單元158及濾波器單元159可執行重構操作,重構操作基于從位流提取的語法元素產生經解碼視頻數據。如上文所論述,位流可包括一系列NAL單元。位流的NAL單元可包含視頻參數集NAL單元、序列參數集NAL單元、圖片參數集NAL單元、SEINAL單元等等。作為對位流執行解析操作的一部分,熵解碼單元150可執行解析操作,所述解析操作從序列參數集NAL單元提取且熵解碼序列參數集、從圖片參數集NAL單元提取且熵解碼圖片參數集、從SEINAL單元提取且熵解碼SEI數據等等。此外,位流的NAL單元可包含經譯碼切片NAL單元。作為對位流執行解析操作的部分,熵解碼單元150可執行解析操作,所述解析操作從經譯碼切片NAL單元提取且熵解碼經譯碼切片。經譯碼切片中的每一者可包含切片標頭以及切片數據。切片標頭可以含有關于切片的語法元素。切片標頭中的語法元素可包含識別與含有所述切片的圖片相關聯的圖片參數集的語法元素。熵解碼單元150可對經譯碼切片標頭中的語法元素執行熵解碼操作(例如,CABAC解碼操作),以恢復切片標頭。作為從經譯碼切片NAL單元提取切片數據的部分,熵解碼單元150可執行從切片數據中的經譯碼CU提取語法元素的解析操作。所提取的語法元素可包含與變換系數塊相關聯的語法元素。熵解碼單元150可接著對語法元素中的一些執行CABAC解碼操作。在熵解碼單元150對未分割的CU執行解析操作之后,視頻解碼器30可對未分割的CU執行重構操作。為了對未分割CU執行重構操作,視頻解碼器30可對CU的每一TU執行重構操作。通過對CU的每一TU執行重構操作,視頻解碼器30可重構與CU相關聯的殘余視頻塊。作為對TU執行重構操作的一部分,反量化單元154可對與TU相關聯的變換系數塊進行反量化(例如,解量化)。反量化單元154可以類似于針對HEVC所提議或由H.264解碼標準定義的反量化過程的方式對變換系數塊進行反量化。反量化單元154可使用由視頻編碼器20針對變換系數塊的CU計算的量化參數QP來確定量化程度,且同樣地,確定反量化單元154應用的反量化的程度。在反量化單元154對變換系數塊進行反量化之后,反變換單元156可產生與變換系數塊相關聯的TU的殘余視頻塊。反變換單元156可將反變換應用到變換系數塊以便產生所述TU的殘余視頻塊。舉例來說,反變換單元156可將反DCT、反整數變換、反卡忽南-拉維(Karhunen-Loeve)變換(KLT)、反旋轉變換、反定向變換或另一反變換應用于變換系數塊。在一些實例中,反變換單元156可基于來自視頻編碼器20的信令而確定適用于變換系數塊的反變換。在這些實例中,反變換單元156可基于在用于與變換系數塊相關聯的樹塊的四叉樹的根節點處的用信號表示的變換來確定反變換。在其它實例中,反變換單元156可從例如塊大小、譯碼模式或類似者等一或多個譯碼特性推斷反變換。在一些實例中,反變換單元156可應用級聯的反變換。在一些實例中,運動補償單元162可通過基于內插濾波器執行內插而精煉PU的預測視頻塊。用于將用于以子樣本精確度進行運動補償的內插濾波器的識別符可包含在語法元素中。運動補償單元162可使用由視頻編碼器20在產生PU的經預測視頻塊期間使用的相同內插濾波器來計算參考塊的子整數樣本的內插值。運動補償單元162可根據接收到的語法信息確定由視頻編碼器20使用的內插濾波器且使用所述內插濾波器來產生經預測視頻塊。如果PU是使用幀內預測編碼,那么幀內預測單元164可執行幀內預測以產生用于PU的經預測視頻塊。舉例來說,幀內預測單元164可基于位流中的語法元素確定用于PU的幀內預測模式。位流可包含幀內預測模塊164可用以確定PU的幀內預測模式的語法元素。在一些情況下,語法元素可指示幀內預測單元164將使用另一PU的幀內預測模式來確定當前PU的幀內預測模式。舉例來說,可能有可能當前PU的幀內預測模式與相鄰PU的幀內預測模式相同。換句話說,相鄰PU的幀內預測模式可為用于當前PU的最可能模式。因此,在此實例中,位流可包含小語法元素,所述小語法元素指示PU的幀內預測模式與相鄰PU的幀內預測模式相同。幀內預測單元164可隨后使用幀內預測模式基于在空間上相鄰的PU的視頻塊而產生用于PU的預測數據(例如,經預測樣本)。如上文所論述,視頻解碼器30還可包含層間預測單元166。層間預測單元166經配置以使用可用于SHVC(例如,基礎或參考層)中的一或多個不同層來預測當前塊(例如,增強層中的當前塊)。此預測可稱作層間預測。層間預測單元166利用預測方法減少層間冗余,借此改進譯碼效率且降低計算資源要求。層間預測的一些實例可包含層間幀內預測、層間運動預測及層間殘余預測。層間幀內預測使用基礎層中的協同定位塊的重建來預測增強層中的當前塊。層間運動預測使用基礎層的運動信息來預測增強層中的運動信息。層間殘余預測使用基礎層的殘余來預測增強層的殘余。下文更詳細地論述層間預測方案中的每一者。重建單元158可使用與CU的TU相關聯的殘余視頻塊以及CU的PU的經預測測視頻塊(例如,幀內預測數據或幀間預測數據,如果適用)來重建CU的視頻塊。因此,視頻解碼器30可基于位流中的語法元素而產生經預測視頻塊及殘余視頻塊,且可基于經預測視頻塊及殘余視頻塊而產生視頻塊。在重建單元158重建CU的視頻塊之后,濾波器單元159可執行解塊操作以減少與CU相關聯的塊假象。在濾波器單元159執行解塊操作以減少與CU相關聯的塊假影之后,視頻解碼器30可將CU的視頻塊存儲在經解碼圖片緩沖器160中。經解碼圖片緩沖器160可提供參考圖片以用于后續運動補償、幀內預測和在例如圖1A或1B的顯示裝置32等顯示裝置上的呈現。舉例來說,視頻解碼器30可基于經解碼圖片緩沖器160中的視頻塊對其它CU的PU執行幀內預測或幀間預測操作。調色板譯碼模式與主要移除不同譯碼單元之間的冗余的常規幀內和幀間預測相反,調色板譯碼以譯碼單元內的重復像素值/圖案的冗余為目標。在調色板譯碼模式中,首先用信號表示被稱作調色板的將像素值映射到表索引(也被稱為調色板索引)中的查找表。在一些實施方案中,調色板具有指定的最大大小(例如,像素值32)。調色板包含由表示顏色分量(例如,RGB、YUV等)值的表索引編號的條目或可用作塊樣本的預測子或用作最終經重建塊樣本的強度。在一些實施方案中,使用三個游程模式(即,‘左方復制模式’(或游程模式)、‘上方復制模式’和‘逸出模式’(或像素模式))來譯碼調色板塊中的樣本。對于調色板塊中在左方復制模式中譯碼的位置,首先用信號表示調色板索引,隨后用信號表示“run_length”(或“palette_run”)(例如,M)。不需要針對調色板塊中的當前位置和后續M個位置用信號表示額外信息,這是因為調色板塊中的當前位置和后續M個位置具有針對當前位置用信號表示的相同調色板索引。調色板索引(例如,i)由所有三個顏色分量共享,這意味著經重建像素值為(Y,U,V)=(paletteY[i],paletteU[i],paletteV[i])(假設顏色空間為YUV)。對于調色板中在上方復制模式中譯碼的位置,用信號表示值“run_length”(或“copy_run”)(例如,N)以指示對于調色板塊中的后續N個位置(總計N+1個位置,包含當前位置),調色板索引等于調色板塊中的正上方的位置的調色板索引。對于調色板塊中在逸出模式(或像素模式)中譯碼的位置,用信號表示對應于調色板塊中的當前位置的像素值。可使用逸出標記(例如,標記值1指示當前位置在逸出模式中譯碼)或調色板索引(例如,不對應于調色板條目中的任一者的索引值或大于或等于調色板大小的索引值)來用信號表示逸出模式。調色板位流在現有實施方案中,將調色板位流(例如,包含在調色板譯碼模式中譯碼的譯碼單元的位流)組織如下:palette_entriespalette_index_map表1.調色板模式位流palette_entries包含各自映射到表索引的一或多個像素值。舉例來說,如果給定譯碼單元包含三個獨特像素值(例如,紅色、綠色和藍色),那么調色板條目可包含三個條目,(0,紅色)、(1,綠色)和(2,藍色)。palette_index_map包含使用調色板條目譯碼的一或多個調色板塊,其中調色板表索引(例如,上文實例中的0、1和2)用于指示調色板塊中的像素值。圖4說明輸入CU410、索引塊420、逸出像素430和調色板440的實例配置。如圖4中所展示,輸入CU410含有三個獨特像素值:白色、灰色和黑色。基于白色和灰色的頻率,僅白色和灰色像素值包含于調色板440中,其中索引值0與白色像素值相關聯且索引值1與灰色像素值相關聯。將未包含在調色板中的黑色像素值標記為逸出像素430,其獨立于調色板經譯碼。如圖4中所展示,索引塊420包含塊中的每一位置的索引值。如同在逸出模式中那樣而譯碼索引塊420中的兩個位置(例如,無需參考調色板索引0或1)。盡管在圖4的實例中使用僅單一逸出像素和僅兩個調色板條目,本申請案的實施例并不因此受限,且可使用任何數目個逸出像素和調色板條目。在一些實施例中,調色板大小限于32個條目,且不與32個條目中的一者相關聯的任何像素值成為逸出像素。可將最大調色板大小設定成任何數字。此外,CU大小不限于8個像素乘8個像素,且可為16×16或任何其它大小。調色板位流的實例語法在一些實施方案中,在調色板索引映射中,在調色板譯碼模式中譯碼的塊在位流中可能采取以下形式:表2.palette_index_map位流(默認設定)在表2中說明的實例中,取決于run_mode_flag的值,在位流中用信號表示不同語法元素。如果游程模式標記指示調色板塊中的當前位置在上方復制模式中譯碼,那么游程主體包含游程長度值(上文“run_length”的第一個例)。如果游程模式標記指示調色板塊中的當前位置在‘左方復制’模式中譯碼,那么游程主體包含索引值(“索引”),后接游程長度值(上文“run_length”的第二個例),除非索引值對應于逸出索引,在此情況下用信號表示經量化逸出像素值(“escape_pixel_value”)。在替代實施方案中,使用顯式逸出標記。更確切地說,調色板索引映射在位流中可能采取以下形式:表3.palette_index_map位流(替代設定)在表3中說明的實例中,取決于escape_flag的值,在位流中用信號表示不同語法元素。如果逸出標記具有值1,那么游程主體包含經量化逸出像素值。如果逸出標記具有值0,那么用信號表示游程模式標記以區分‘上方復制’和‘左方復制’模式。如果游程模式標記指示調色板塊中的當前位置在‘左方復制’模式中譯碼,那么位流包含索引值,后接游程長度值。另外,在位流中僅用信號表示游程長度值。圖5是說明根據本發明的各方面的用于在位流中譯碼非自然視頻數據的方法500的流程圖。可由視頻編碼器(例如,視頻編碼器20)、視頻解碼器(例如,視頻解碼器30)或任何其它組件執行圖5中所說明的步驟。為方便起見,將方法500描述為由視頻譯碼器(還簡稱為譯碼器)執行,所述視頻譯碼器可為視頻編碼器20、視頻解碼器30或另一組件。方法500開始于框501。在框505處,譯碼器基于與CU相關聯的調色板處理具有多個像素的譯碼單元(CU)。如上文所描述,編碼器可基于CU的內容導出調色板且在位流中用信號表示調色板,使得解碼器可使用與CU相關聯的調色板處理CU。調色板可包含各自與索引值和像素值相關聯的多個調色板條目。像素值可與CU中的像素中的一者相關聯。在一些實施例中,每一調色板條目與在CU中發現的獨特像素值相關聯。框505可包括參考圖6至8所描述的一或多個步驟及/或方法。所述方法在框510處結束。分組旁路二進數在H.264、HEVC和許多其它現代視頻譯碼標準中,對于語法元素,在二進制化之后,將0/1二進數位流供應到上下文適應性二進制算術譯碼器(CABAC)中,其中概率模型(稱為“上下文”)經自適應地選擇及更新以追蹤非靜態概率分布。作為特殊情況,可能不更新概率模型以改進熵譯碼器的吞吐量。使用這種簡化方法譯碼而無需上下文更新的二進數被稱作旁路二進數。在表2和3的實例中,位流中可存在一些冗余。可通過跳過在滿足某些條件時用信號表示的某些語法元素來移除這些冗余。另外,一些語法元素可引入解析相關性。舉例來說,在表2中,由于解碼器可推斷游程模式為索引復制模式(例如,左方復制模式),所以當當前像素在塊中的第一線中時可能不需要用信號表示語法元素run_mode_flag。另外,在表2的實例中,解碼器首先對索引值進行解碼,且取決于經解碼索引值,解碼器決定所述模式是索引復制模式還是逸出模式(例如,基于索引值是否表示逸出索引值)。如果解碼器確定模式為索引復制模式,那么解碼器解析器繼續解析游程長度。如果解碼器確定模式為逸出模式,那么解碼器解析器可繼續解析逸出值及/或游程長度。由于解析器通常以比解碼器高得多的速度操作,解碼引擎與解析引擎之間的這種相關性可能影響解析器的吞吐量(例如,由于解析引擎可能需要等待解碼引擎對經解析位進行解碼)。因此,需要一種處理在調色板譯碼模式中譯碼的塊的改進方法。在本申請案中,描述用于組織位流中的調色板元素以避免或減少調色板模式中的解析相關性的若干新穎方法。實施例#1:在調色板模式塊的末端處安放經量化逸出像素值在一些實施例中,在位流中的調色板模式塊的末端處用信號表示所有經量化逸出像素值。在此類實施例中,可在(索引、游程長度)譯碼之后應用熵譯碼器復位。舉例來說,在譯碼塊中的所有可能的(索引、游程長度)對之后,將算術譯碼引擎的ivlCurrRange變量(例如,指定當前算術譯碼間隔的范圍的變量)設定成256。通過這一方法,解碼器可從位流讀取位且如同其無需調用CABAC譯碼器那樣對其進行處理。在沒有將變量復位為256的這一程序的情況下,雖然可能不需要更新上下文,但解碼器可能仍需要調用CABAC譯碼器以做出二進制決策。因此,可在解析及/或解碼所有(索引、游程長度)對之后并行地解析經量化逸出像素值。在一個實施例中,如果使用固定長度碼譯碼逸出像素,那么可在解析游程索引塊之后并行地解析和解碼逸出像素。在另一實施例中,如果使用截斷二進制碼譯碼逸出像素,那么逸出像素的每一顏色分量可取決于其經量化強度耗費‘k’或‘k+1’個位。舉例來說,在截斷二進制編碼中,對于具有值X的語法元素,假設其最大可能值Max為已知的且n=Max+1且k=floor(log2(n)),使得2k≤n<2k+1,且假設u=2k+1-n,如果X<u,那么通過具有長度k的X的二進制表示指定截斷二進制碼字。另外,通過具有長度k+1的X+u的二進制表示指定截斷二進制碼字。在此類實施例中,可將用于當前塊中的所有逸出像素的每一顏色分量的最前‘k’個位分組在一起,后跟著任選的第k+1個位。通過這種組織,可并行地解析和解碼所有逸出像素的每一顏色分量的最前‘k’個位。某種相關性可仍存在于解析任選的第k+1個位中。圖6是說明根據本發明的各方面的用于在位流中解碼非自然視頻數據的方法600的流程圖。可由視頻解碼器(例如,視頻解碼器30)或任何其它組件執行圖6中所說明的步驟。為方便起見,將方法600描述為由視頻譯碼器(也簡稱為譯碼器)執行,所述視頻譯碼器可為視頻解碼器30或另一組件。方法600開始于框601。在框605處,譯碼器解析與提供于位流中的CU相關聯的調色板。調色板可包含各自與索引值及與所述索引值相關聯的像素值相關聯的多個調色板條目。調色板的實例在圖4中說明。在框610處,譯碼器解析與CU相關聯的一或多個游程長度。如上文所描述,每一游程長度指示始于且包含CU中的當前位置的連續位置的數目,所述連續位置與左方復制模式或上方復制模式相關聯。在框615處,譯碼器解析與CU相關聯的一或多個索引值。如上文所描述,每一索引值指示調色板中與CU中的當前位置相關聯的像素值。在圖4的實例中,索引值0指示CU中的當前位置具有白色像素值,且索引值1指示CU中的當前位置具有灰色像素值。在框620處,譯碼器解析與CU相關聯的一或多個逸出像素值。如上文所描述,每一逸出像素值指示不在與CU相關聯的調色板中的像素值。在圖4的實例中,CU中具有黑色像素值的兩個位置在逸出模式中譯碼,且譯碼器將位流中的黑色像素值用信號表示為逸出像素值。在一些實施例中,從位流中的連續位置(例如,在與CU相關聯的位流的部分的末端處)解析逸出像素值。舉例來說,逸出像素值的連續位置出現在與CU相關聯的所有游程長度和索引值之后的位流中。在此類實施例中,在已解析所有游程長度和索引值之后,可并行地處理(例如,解析)逸出像素值。在框625處,譯碼器基于經解析調色板、經解析游程長度、經解析索引值和經解析逸出值對CU進行解碼。所述方法在框630處結束。在方法600中,可移除(例如,不執行)圖6中展示的框中的一或多者及/或可交換執行方法的次序。舉例來說,框610和框615可一起執行以解析與CU相關聯的每一游程長度和索引值對。在一些實施例中,可將額外框添加到方法600。因此,本發明的實施例不限于圖6展示的實例或不受圖6中展示的實例限制,且可在不脫離本發明的精神的情況下實施其它變化。實施例#2:在調色板模式塊的末端處安放索引值在一些實施例中,在位流中的調色板模式塊的末端處用信號表示所有索引值。在一個實施例中,在位流中的調色板模式塊的末端處用信號表示所有經量化逸出值,隨后用信號表示所有出現的索引值的群組。在另一實施例中,僅在位流中的經量化逸出值之前用信號表示所有索引值。可在游程長度譯碼之后應用熵譯碼器復位。舉例來說,在譯碼塊中的所有可能的游程長度對之后,將算術譯碼引擎的ivlCurrRange變量(例如,指定當前算術譯碼間隔的范圍的變量)設定成256。因此,可在解析及/或解碼調色板塊中的所有游程長度之后并行地解析索引值及/或逸出值。在一個實施例中,如果使用固定長度碼譯碼索引值,那么可在解析游程長度塊之后并行地解析和解碼索引值。在另一實施例中,如果使用截斷二進制碼譯碼索引值,那么索引可取決于其值耗費‘k’或‘k+1’個位。在此類實施例中,可將當前塊中的所有索引值及/或逸出像素的每一顏色分量最初‘k’個位分組在一起,后接任選的第k+1個位。通過這種組織,可并行地解析和解碼當前塊中的所有索引值及/或逸出值的最前‘k’個位。某種相關性可仍存在于解析任選的第k+1個位中。圖7是說明根據本發明的各方面的用于在位流中解碼非自然視頻數據的方法700的流程圖。可由視頻解碼器(例如,視頻解碼器30)或任何其它組件執行圖7中所說明的步驟。為方便起見,將方法700描述為由視頻譯碼器(也簡稱為譯碼器)執行,所述視頻譯碼器可為視頻解碼器30或另一組件。方法700開始于塊701處。在框705處,譯碼器解析與提供于位流中的CU相關聯的調色板。調色板可包含各自與索引值及與所述索引值相關聯的像素值相關聯的多個調色板條目。調色板的實例在圖4中說明。在框710處,譯碼器解析與CU相關聯的一或多個游程長度。如上文所描述,每一游程長度指示始于且包含CU中的當前位置的連續位置的數目,所述連續位置與左方復制模式或上方復制模式相關聯。在框715處,譯碼器解析與CU相關聯的一或多個索引值。如上文所描述,每一索引值指示調色板中與CU中的當前位置相關聯的像素值。在圖4的實例中,索引值0指示CU中的當前位置具有白色像素值,且索引值1指示CU中的當前位置具有灰色像素值。在圖7的實例中,可從位流中的連續位置(例如,在與CU相關聯的所有游程長度之后)解析索引值。在此類實施例中,在已解析所有游程長度之后,可并行地處理(例如,解析)索引值。舉例來說,可緊接在位流中的逸出像素值之前提供索引值。在框720處,譯碼器解析與CU相關聯的一或多個逸出像素值。如上文所描述,每一逸出像素值指示不在與CU相關聯的調色板中的像素值。在圖4的實例中,CU中具有黑色像素值的兩個位置在逸出模式中譯碼,且譯碼器將位流中的黑色像素值用信號表示為逸出像素值。在一些實施例中,可從位流中的連續位置(例如,在與CU相關聯的位流的部分的末端處)解析逸出像素值。舉例來說,逸出像素值的連續位置可出現在與CU相關聯的所有游程長度和索引值之后的位流中。在此類實施例中,在已解析所有游程長度和索引值之后,可并行地處理(例如,解析)逸出像素值。在框725處,譯碼器基于經解析調色板、經解析游程長度、經解析索引值和經解析逸出值對CU進行解碼。所述方法在框730處結束。在方法700中,可移除(例如,不執行)圖7中展示的框中的一或多者及/或可交換執行方法的次序。在一些實施例中,可將額外框添加到方法700。因此,本發明的實施例不限于圖7展示的實例或不受圖7中展示的實例限制,且可在不脫離本發明的精神的情況下實施其它變化。實施例#3:使用偏移以指定索引值和逸出像素值的位置在一些實施例中,可在位流中的調色板模式塊的起點處用信號表示兩個偏移,其中所述兩個偏移分別指定(例如)由S0和S1表示的上文所論述的索引值群組和逸出像素值群組的起始位置。在索引值群組在逸出像素值群組前方的情況下,可針對第二偏移用信號表示兩個起始位置之間的僅增量值(例如,可用信號表示偏移S0和S1-S0)。可使用各種熵譯碼方法(例如,截斷萊斯、指數哥倫布、截斷二進制、固定長度、一元、截斷一元等)用信號表示兩個偏移。在一些實施例中,也可用信號表示指示調色板模式塊的末端的偏移值S2。替代地,可用信號表示第二偏移和S2之間的增量值(例如,S2-S1)。分組旁路二進數的實施方案根據上文所描述的實施例#1和#3,可如下修改palette_index_map位流:表4.修改palette_index_map位流的實例根據上文所描述的實施例#1、#2和#3,可如下修改palette_index_map位流:表5.實例palette_index_map位流索引冗余檢驗在一些實施例中,當譯碼索引值時,可應用冗余檢驗。舉例來說,如果光柵掃描次序中的前一相鄰位置(表示為位置‘x-1’)是左方復制游程模式的末端,那么當前索引值不能與其前一相鄰位置的索引值相同。換句話說,如果位置‘x-1’是有效的(例如,在當前塊內或在當前塊外但(例如)通過邊界填充具有確定值)且是左方復制游程的末端,那么位置‘x’的索引值不能等于位置‘x-1’處的索引值(第1種情況)。原因是如果兩個索引值相同,那么其應已合并到更長的左方復制游程中。在另一個實例中,如果光柵掃描次序中的前一相鄰位置是上方復制游程模式的末端,及/或如果滿足當前位置的上方相鄰者不是逸出像素的額外限制,那么當前值不能與其頂部相鄰者的索引值相同。換句話說,如果位置‘x-1’是有效的且是上方復制游程的末端,及/或如果滿足位置‘x’上方的像素值不是逸出像素的額外限制,那么位置‘x’的索引值不能等于其上方相鄰者的索引值(第2種情況)。原因是如果兩個索引值相同,那么其應已合并到更長的上方復制游程中。因此,這些實例假設編碼器遵循‘更長的可能游程’原則。在這些情況中的任一者中,范圍(例如,上文所描述的Max值)可減少一且可實現位節省。然而,對于第1種情況,位置‘x’處的索引值的解碼取決于位置‘x-1’處的索引值的重建(例如,因為解碼器需要知曉位置‘x-1’處的索引值以確定位置‘x’處的索引值不能取的值)。然而,位置‘x-1’的索引值在位置‘x’處的索引值正經解碼的時間處可能并非現成的。因此,這一相關性可能在解碼過程中造成一定延遲。為了移除這一相關性,在一些實施例中,可停用對第1種情況的條件檢驗。在此類實施例中的一些中,可仍執行對第2種情況的條件檢驗(例如,因為在當前像素上方的位置的索引值更有可能為可用的)。在此類實施例中,完全停用對第1種情況的條件檢驗。替代地,可僅針對特定情況停用對第1種情況的條件檢驗。舉例來說,可僅在啟用‘受限游程’特征時停用對第1種情況的條件檢驗,其中憑以譯碼游程長度的最大調色板索引值(或憑以不譯碼游程長度的最小調色板索引值)經指示。在第2種情況下,當逸出像素進入到左方復制或上方復制游程中時,可移除對于位置‘x’上方的像素是否為逸出像素的檢驗。舉例來說,逸出像素可被分配不在調色板中的一或多個索引值且具有其自身游程(例如,與調色板中的像素值類似)。類似地,當逸出像素進入到左方復制或上方復制游程中時,可移除對于位置‘x’左方的像素是否為逸出像素的檢驗(例如,當給定實施方案不允許從左方或從上方復制逸出像素時可能需要在解析位置x處的當前索引值之前執行的步驟)。圖8是說明根據本發明的各方面的用于在位流中譯碼非自然視頻數據的方法800的流程圖。可由視頻編碼器(例如,視頻編碼器20)視頻解碼器(例如,視頻解碼器30)或任何其它組件執行圖8中所說明的步驟。為方便起見,將方法800描述為由視頻譯碼器(還簡稱為譯碼器)執行,所述視頻譯碼器可為視頻編碼器20、視頻解碼器30或另一組件。方法800開始于框801。在框805處,譯碼器確定在CU中的當前位置左方的位置與上方復制游程的末端相關聯。如上文所描述,當CU中的一或多個位置在上方復制模式中譯碼時,游程長度指示用信號表示始于且包含CU中的初始位置的與上方復制模式相關聯的連續位置的數目。基于游程長度,譯碼器可確定給定位置(例如,緊接在CU中的當前位置之前的位置)為上方復制游程的末端。在框810處,響應于確定在當前位置左方的位置與上方復制游程的末端相關聯,譯碼器確定與當前位置相關聯的索引值而無需確定當前位置上方的位置是否與逸出像素值相關聯。如上文所描述,譯碼器通常需要在確定當前像素的索引值之前確定當前位置上方的位置是否與逸出像素值相關聯(例如,如果當前位置上方的位置與逸出像素相關聯,那么對于當前位置的索引值不等于在當前位置上方的位置的索引值的假設可變得不準確)。然而,在本發明的一些實施例中,逸出像素可為左方復制或上方復制游程的部分。因此,不需要對當前位置上方的位置的單獨檢驗。所述方法在框815處結束。在方法800中,可移除(例如,不執行)圖8中展示的框中的一或多者及/或可交換執行方法的次序。在一些實施例中,可將額外框添加到方法800。因此,本發明的實施例不限于圖8展示的實例或不受圖8中展示的實例限制,且可在不脫離本發明的精神的情況下實施其它變化。將索引二進數的最大數目保持為常量在調色板模式譯碼的一些實施方案中,使用截斷二進制碼來譯碼調色板索引。假設當前CU中的最大索引包含性地為N(例如,索引值是從{0,1,2,...,N}中選出),如果這兩個值不相等,那么譯碼每一索引的二進數的數目可為或由于逸出像素被分配最大索引(例如,在調色板中的所有像素值被分配其索引值之后),譯碼逸出像素需要個二進數。在一些情況下,通過利用相關性,例如上文所描述的方法,當前索引的最大符號值可減少一。換句話說,逸出像素可取決于是否啟用冗余移除條件而耗費或個二進數。因此,解碼器可能首先需要計算最大索引符號值是N還是N-1,從而確定解碼索引需要的二進數的數目。這引入額外芯片上延遲且對解碼器流水線化具有負面影響。在一些實施例中,為了移除這一延遲和對解碼器流水線化的任何負面影響,可限制此冗余移除機制。舉例來說,可將用于索引譯碼的二進數的最大數目設定成常量。在一個實例中,逸出像素的索引值可始終使用ceil(log2(N+1))個二進數。在另一個實例中,如果ceil(log2(N+1))等于ceil(log2(N)),那么啟用用于逸出像素的冗余移除程序,否則,停用用于逸出像素的冗余移除程序。編碼器側流程圖圖9是說明根據本發明的各方面的用于在位流中編碼視頻數據的方法900的流程圖。舉例來說,視頻數據可為包含計算機產生的屏幕內容的非自然視頻數據。可由視頻編碼器(例如,視頻編碼器20)或任何其它組件執行圖9中所說明的步驟。為方便起見,將方法900描述為由視頻譯碼器(也簡稱為譯碼器)執行,所述視頻譯碼器可為視頻編碼器20或另一組件。方法900開始于框901。在框905處,譯碼器分析譯碼單元(CU)中的多個像素。CU中的每一像素可與一像素值相關聯。舉例來說,CU中的多個像素可具有相同像素值。在框910處,譯碼器基于CU中的多個像素產生調色板。調色板可包含各自與索引值及與所述索引值相關聯的像素值相關聯的多個調色板條目。調色板的實例在圖4中說明。在框915處,譯碼器確定與CU相關聯的一或多個游程長度。如上文所描述,每一游程長度指示始于且包含CU中的當前位置的連續位置的數目,所述連續位置與左方復制模式或上方復制模式相關聯。在框920處,譯碼器確定與CU相關聯的一或多個索引值。如上文所描述,每一索引值指示調色板中與CU中的當前位置相關聯的像素值。在圖4的實例中,索引值0指示CU中的當前位置具有白色像素值,且索引值1指示CU中的當前位置具有灰色像素值。在框925處,譯碼器確定與CU相關聯的一或多個逸出像素值。如上文所描述,每一逸出像素值指示不在與CU相關聯的調色板中的像素值。在圖4的實例中,CU中具有黑色像素值的兩個位置在逸出模式中譯碼,且譯碼器將位流中的黑色像素值用信號表示為逸出像素值。在框930處,譯碼器基于所產生調色板、所確定游程長度、所確定索引值和所確定逸出像素值來編碼CU。在一些實施例中,在位流中的連續位置中(例如,在與CU相關聯的位流的部分的末端處)編碼逸出像素值。舉例來說,逸出像素值的連續位置出現在與CU相關聯的所有游程長度和索引值之后的位流中。在此類實施例中,在已由解碼器解析所有游程長度和索引值之后,可并行地處理(例如,解析)逸出像素值。所述方法在框935處結束。在方法900中,可移除(例如,不執行)圖9中展示的框中的一或多者及/或可交換執行方法的次序。在一些實施例中,可將額外框添加到方法900。因此,本發明的實施例不限于圖9展示的實例或不受圖9中展示的實例限制,且可在不脫離本發明的精神的情況下實施其它變化。其它考慮因素可使用多種不同技術和技藝中的任一者來表示本文中所公開的信息和信號。舉例來說,可通過電壓、電流、電磁波、磁場或磁粒子、光場或光粒子或其任何組合來表示在整個上文描述中可能參考的數據、指令、命令、信息、信號、位、符號和芯片。結合本文揭示的實施例所描述的各種說明性邏輯塊及算法步驟可實施為電子硬件、計算機軟件或兩者的組合。為清晰地說明硬件與軟件的此可互換性,以上已大體就其功能性來描述了各種說明性組件、塊和步驟。此功能性是實施為硬件還是軟件取決于特定應用及施加于整個系統的設計約束。熟練的技術人員可針對每一特定應用以不同方式來實施所描述的功能性,但這樣的實施方案決策不應被解釋為會引起脫離本發明的范圍。本文中所描述的技術可以硬件(例如,計算機硬件)、軟件、固件,或其任何組合實施。所述技術可實施于多種裝置中的任一者中,例如通用計算機、無線通信裝置手持機或集成電路裝置,其具有包含在無線通信裝置手持機及其它裝置中的應用的多種用途。被描述為裝置或組件的任何特征可一起實施于集成邏輯裝置中或分開來實施為離散但可互操作的邏輯裝置。如果實施于軟件中,那么可至少部分通過包括程序代碼的計算機可讀數據存儲媒體實現所述技術,所述程序代碼包括當經執行時執行上文所描述的方法中的一或多者的指令。計算機可讀數據存儲媒體可形成計算機程序產品的一部分,所述計算機程序產品可包含封裝材料。計算機可讀媒體可包括存儲器或數據存儲媒體,例如,隨機存取存儲器(RAM)(例如,同步動態隨機存取存儲器(SDRAM))、只讀存儲器(ROM)、非易失性隨機存取存儲器(NVRAM)、電可擦除可編程只讀存儲器(EEPROM)、閃存器、磁性或光學數據存儲媒體等等。另外或作為替代,所述技術可至少部分地由計算機可讀通信媒體來實現,所述計算機可讀通信媒體以指令或數據結構的形式載運或傳達程序代碼且可由計算機存取、讀取和/或執行(例如,傳播的信號或波)。程序代碼可由處理器執行,所述處理器可包含一或多個處理器,例如,一或多個數字信號處理器(DSP)、通用微處理器、專用集成電路(ASIC)、現場可編程邏輯陣列(FPGA)或其它等效集成或離散邏輯電路。此處理器可經配置以執行本發明中所描述的技術中的任一者。通用處理器可為微處理器;但在替代方案中,處理器可為任何常規處理器、控制器、微控制器或狀態機。處理器還可實施為計算裝置的組合,例如,DSP與微處理器的組合、多個微處理器、一或多個微處理器結合DSP核心,或任何其它此類配置。因此,如本文中所使用的術語“處理器”可指前述結構中的任一者、上述結構的任何組合,或適合于實施本文中所描述的技術的任何其它結構或設備。另外,在一些方面中,可將本文中所描述的功能性提供于經配置以用于編碼和解碼的專用軟件或硬件內或并入組合的視頻編碼器-解碼器(CODEC)中。而且,所述技術可完全實施于一或多個電路或邏輯元件中。本發明的技術可在各種各樣的裝置或設備中實施,包含無線手持機、集成電路(IC)或一組IC(例如,芯片組)。本發明中描述各種組件或單元是為了強調經配置以執行所公開的技術的裝置的功能方面,但未必需要由不同硬件單元實現。實際上,如上文所描述,各種單元可以配合合適的軟件和/或固件組合在編解碼器硬件單元中,或者通過互操作硬件單元的集合來提供,所述硬件單元包含如上文所描述的一或多個處理器。雖然已經結合各種不同實施例描述了前文,但可在不脫離本發明的教示的情況下將來自一個實施例的特征或元件與其它實施例組合。然而,相應實施例之間的特征的組合不必限于此。已經描述本發明的各種實施例。這些和其它實施例在所附權利要求書的范圍內。當前第1頁1 2 3