新四季網

對視頻數據進行上下文自適應解碼的製作方法

2023-05-19 02:50:46

對視頻數據進行上下文自適應解碼的製作方法
【專利摘要】在一實例中,本發明的方面涉及一種對數據進行解碼的方法,其包含根據上下文自適應熵解碼過程對二進位序列進行解碼。用於對所述二進位序列的至少一個二進位進行解碼的當前解碼循環包含:確定所述二進位的上下文;基於所述上下文選擇概率模型,其中所述概率模型是基於以所述上下文進行解碼且在所述當前解碼循環之前至少兩個解碼循環進行解碼的先前二進位的值而更新;應用所述概率模型對所述二進位進行解碼;以及基於所述二進位的值更新所述概率模型。
【專利說明】對視頻數據進行上下文自適應解碼
[0001]本申請案主張2011年6月3日申請的第61 / 493,371號美國臨時專利申請案、2011年6月30日申請的第61 / 503,537號美國臨時專利申請案、2011年10月28日申請的第61 / 552,921號美國臨時專利申請案、2011年11月I日申請的第61 / 554,408號美國臨時專利申請案,以及2011年11月20日申請的第61 / 561,921號美國臨時專利申請案的優先權,所有臨時專利申請案的全部內容全文以引用的方式併入本文中。
【技術領域】
[0002]本發明涉及視頻解碼,且更特定來說涉及對視頻解碼過程產生的殘餘變換係數的塊進行解碼。
【背景技術】
[0003]數字視頻能力可併入到廣泛裝置中,包含數位電視、數字直播系統、無線廣播系統、個人數字助理(PDA)、膝上型或臺式計算機、平板計算機、電子書閱讀器、數位相機、數字記錄裝置、數字媒體播放器、視頻遊戲裝置、視頻遊戲控制臺、蜂窩式或衛星無線電電話、所謂的「智慧型電話」、視頻電信會議裝置、視頻串流裝置等。數字視頻裝置實施視頻壓縮技術,例如 MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264 / MPEG-4 第 10 部分高級視頻解碼(AVC)、當前開發中的高效視頻解碼(HEVC)標準所界定的標準以及此類標準的擴展中描述的技術。視頻裝置可通過實施此類視頻壓縮技術更有效地發射、接收、編碼、解碼和/或存儲數字視頻息。
[0004]視頻壓縮技術執行空間(圖片內)預測和/或時間(圖片間)預測以減少或移除視頻序列中固有的冗餘。對於基於塊的視頻解碼,視頻切片(即,視頻幀或視頻幀的一部分)可分割為視頻塊,其也可稱為樹塊、解碼單元(CU)和/或解碼節點。圖片的經幀內解碼(I)切片中的視頻塊是使用相對於同一圖片中的相鄰塊中的參考樣本的空間預測來編碼。圖片的經幀間解碼(P或B)切片中的視頻塊可使用相對於同一圖片中的相鄰塊中的參考樣本的空間預測,或相對於其它參考圖片中的參考樣本的時間預測。圖片可稱為幀,且參考圖片可稱為參考中貞。
[0005]空間或時間預測結果產生待解碼的塊的預測塊。殘餘數據表示待解碼的原始塊與預測塊之間的像素差。幀間解碼塊根據指向形成預測塊的參考樣本的塊的運動向量以及指示經解碼塊與預測塊之間的差的殘餘數據而編碼。幀內解碼塊根據幀內解碼模式和殘餘數據而編碼。為了進一步壓縮,殘餘數據可從像素域變換到變換域,從而產生殘餘變換係數,殘餘變換係數接著可量化。初始布置在二維陣列中的經量化變換係數可經掃描以便產生變換係數的一維向量,且可應用熵解碼來實現更多壓縮。

【發明內容】

[0006]本發明的技術大體涉及對視頻數據進行熵解碼。舉例來說,在熵解碼期間,視頻解碼器可將變換係數轉換為二進位形式,藉此產生一個或一個以上位或「二進位(bin) 」。視頻解碼器可接著使用針對每一二進位的概率估計值對視頻數據的塊的每一二進位進行解碼,所述概率估計值可指示二進位具有給定二進位值的可能性。概率估計值可包含在概率模型(也稱為「上下文模型」)內。視頻解碼器可通過確定二進位的上下文而選擇上下文模型。語法元素的二進位的上下文可包含先前經解碼語法元素的相關二進位的值。在對二進位解碼之後,視頻解碼器可基於二進位的值更新上下文模型以反映最當前概率估計值。
[0007]本發明的某些技術大體涉及熵解碼期間的概率更新。即,在一些實例中,視頻解碼器可在對每一二進位解碼之後更新概率模型。在此類實例中,概率可相對準確,然而,可存在與更新過程相關聯的等待時間。在其它實例中,視頻解碼器可存儲與二進位值相關聯的統計,且在對完整視頻數據塊解碼之後更新概率模型。此類技術可減少等待時間,然而,性能也可能歸因於塊的解碼期間較不準確的概率而衰減。本發明的方面涉及增加概率更新過程的粒度使得概率模型可比完整視頻數據塊之後更頻繁地更新,但在每一二進位之後不更新概率模型。舉例來說,本發明的方面涉及在對與視頻數據塊相關聯的預定變換係數子集解碼之後更新概率。以此方式,本發明的技術可在解碼性能與解碼速度之間找到平衡,且可允許對子集的二進位的並行處理。
[0008]本發明的某些方面還涉及用於並行化熵解碼的其它技術。舉例來說,本發明的技術還包含使用在對一個或一個以上先前二進位解碼之前更新的概率模型對數據的二進位解碼。即,概率模型可在對當前二進位解碼之前的至少兩個解碼迭代或循環中更新。因此,本發明的技術可避免當使用同一模型對多個連續二進位解碼時由於在使用模型對二進位解碼之後更新概率模型引起的延遲。在一些實例中,此類技術可應用於並行地對視頻數據塊的二進位進行解碼。
[0009]在一實例中,本發明的方面涉及一種對數據解碼的方法,其包含根據上下文自適應熵解碼過程對二進位序列解碼。用於對二進位序列的至少一個二進位解碼的當前解碼循環包含:確定二進位的上下文;基於所述上下文選擇概率模型,其中所述概率模型基於以所述上下文解碼且在所述當前解碼循環之前至少兩個解碼循環解碼的先前二進位的值而更新;應用所述概率模型對所述二進位進行解碼;以及基於所述二進位的值更新所述概率模型。
[0010]在另一實例中,本發明的方面涉及一種用於對數據解碼的設備,其包含經配置以根據上下文自適應熵解碼過程對二進位序列解碼的一個或一個以上處理器。用於對二進位序列的至少一個二進位解碼的當前解碼循環包含:確定二進位的上下文;基於所述上下文選擇概率模型,其中所述概率模型基於以所述上下文解碼且在所述當前解碼循環之前至少兩個解碼循環解碼的先前二進位的值而更新;應用所述概率模型對所述二進位進行解碼;以及基於所述二進位的值更新所述概率模型。
[0011]在另一實例中,本發明的方面涉及一種用於對數據解碼的設備,其包含用於根據上下文自適應熵解碼過程對二進位序列解碼的裝置。用於對二進位序列的至少一個二進位解碼的當前解碼循環包含:確定二進位的上下文;基於所述上下文選擇概率模型,其中所述概率模型基於以所述上下文解碼且在所述當前解碼循環之前至少兩個解碼循環解碼的先前二進位的值而更新;應用所述概率模型對所述二進位進行解碼;以及基於所述二進位的值更新所述概率模型。
[0012]在另一實例中,本發明的方面涉及一種上面存儲有指令的計算機可讀存儲媒體,所述指令當執行時致使一個或一個以上處理器根據上下文自適應熵解碼過程對二進位序列解碼。用於對二進位序列的至少一個二進位解碼的當前解碼循環包含:確定二進位的上下文;基於所述上下文選擇概率模型,其中所述概率模型基於以所述上下文解碼且在所述當前解碼循環之前至少兩個解碼循環解碼的先前二進位的值而更新;應用所述概率模型對所述二進位進行解碼;以及基於所述二進位的值更新所述概率模型。
[0013]在另一實例中,本發明的方面涉及一種在視頻解碼過程中對與殘餘視頻數據相關聯的變換係數解碼的方法,其包含對變換係數的多個子集的第一子集解碼,其中對第一子集解碼包括:使用一個或一個以上概率模型對第一子集進行上下文自適應解碼;在對變換係數的第一子集解碼的同時存儲與所述一個或一個以上概率模型相關聯的概率模型統計;在對第一子集的最終係數解碼之後基於所存儲的概率模型統計更新概率模型;以及使用經更新的一個或一個以上概率模型對變換係數的第二子集解碼。
[0014]在另一實例中,本發明的方面涉及一種用於對與殘餘視頻數據相關聯的變換係數解碼的設備,其包含經配置以對變換係數的多個子集的第一子集解碼的一個或一個以上處理器,其中對第一子集解碼包括:使用一個或一個以上概率模型對第一子集進行上下文自適應解碼;在對變換係數的第一子集解碼的同時存儲與所述一個或一個以上概率模型相關聯的概率模型統計;在對第一子集的最終係數解碼之後基於所存儲的概率模型統計更新概率模型;以及使用經更新的一個或一個以上概率模型對變換係數的第二子集解碼。
[0015]本發明的一個或一個以上方面的細節在附圖及以下描述中陳述。從描述和圖式並從權利要求書將明白本發明中所描述的技術的其它特徵、目的和優點。
【專利附圖】

【附圖說明】
[0016]圖1是說明可利用本發明的技術的實例視頻編碼和解碼系統的框圖。
[0017]圖2是說明可實施本發明的技術的任一者或全部的視頻編碼器的實例的框圖。
[0018]圖3是說明對經編碼視頻序列進行解碼的視頻解碼器的實例的框圖。
[0019]圖4A和4B是說明實例四叉樹和對應的最大解碼單元(LCU)的概念圖。
[0020]圖5A是說明用於掃描視頻數據塊的變換係數的實例前向對角掃描模式的概念圖。
[0021]圖5B是說明用於掃描視頻數據塊的變換係數的實例逆向對角掃描模式的概念圖。
[0022]圖6A是說明將變換係數塊劃分為子集的實例概念圖。
[0023]圖6B是說明將變換係數塊劃分為子集的另一實例概念圖。
[0024]圖7A是說明將與視頻數據塊相關聯的變換係數塊以子塊的形式劃分為子集的實例概念圖。
[0025]圖7B是說明將與視頻數據塊相關聯的變換係數塊以子塊的形式劃分為子集的另一實例概念圖。
[0026]圖8是說明使用上下文自適應解碼技術對有效性圖解碼的實例的流程圖。
[0027]圖9是說明其中可在對自子集解碼之後更新上下文的經修改上下文自適應解碼過程的實例的流程圖。
[0028]圖10是說明對視頻數據塊進行熵解碼的實例技術的流程圖。[0029]圖11是說明使用延遲狀態更新上下文自適應熵解碼對二進位序列解碼的實例的概念圖。
[0030]圖12說明使用延遲狀態更新上下文自適應熵解碼對二進位序列解碼的實例技術。
【具體實施方式】
[0031]視頻解碼裝置可試圖通過利用空間和時間冗餘壓縮視頻數據。舉例來說,視頻編碼器可通過相對於相鄰的先前經解碼塊對塊解碼而利用空間冗餘。同樣,視頻編碼器可通過相對於先前經解碼幀的數據對塊解碼而利用時間冗餘。特定來說,視頻編碼器可從空間相鄰者的數據或從先前經解碼幀的數據預測當前塊。視頻編碼器可接著將塊的殘餘計算為塊的實際像素值與塊的所預測像素值之間的差。因此,塊的殘餘可包含像素(或空間)域中的逐像素差值。
[0032]視頻編碼器可接著向殘餘的值應用變換以將像素值的能量壓縮為頻域中相對小數目的變換係數。視頻編碼器可接著量化所述變換係數。視頻編碼器可掃描經量化的變換係數以將經量化變換係數的二維矩陣轉換為包含經量化變換係數的一維向量。掃描係數的過程有時稱為使係數串行化。
[0033]視頻編碼器可接著應用熵解碼過程對經掃描係數進行熵編碼。實例熵解碼過程可包含例如上下文自適應可變長度解碼(CAVLC)、上下文自適應二進位算術解碼(CABAC)、基於語法的上下文自適應二進位算術解碼(SBAC)、概率間隔分割熵(PIPE)解碼,或其它熵編碼方法。視頻編碼器還可對與經編碼視頻數據相關聯的語法元素進行熵編碼以供由視頻解碼器用來解碼視頻數據。
[0034]視頻解碼器可執行與視頻編碼器執行的編碼技術大體互逆的技術。儘管大體互逆,但視頻解碼器可在一些例子中執行與視頻編碼器執行的技術類似的技術。視頻解碼器還可依賴於包含相對於視頻編碼器描述的數據的所接收位流中含有的語法元素或其它數據。
[0035]相對於(CABAC)作為一實例,視頻解碼器(視頻編碼器和/或視頻解碼器)可選擇概率模型或「上下文模型」,其對上下文操作以對與視頻數據塊相關聯的符號解碼。舉例來說,在編碼器處,可通過使用概率模型對目標符號解碼。在解碼器處,可通過使用概率模型剖析目標符號。上下文可關於例如對於與當前正解碼符號相鄰的符號,值為零還是非零。
[0036]根據一些實例,視頻塊中有效係數(即,非零變換係數)的位置可在變換係數的值之前編碼,所述變換係數的值可稱為變換係數的「層級」。對有效係數的位置解碼的過程可稱為有效性圖解碼。有效性圖(SM)包含指示有效係數的位置的二進位值的二維陣列。
[0037]舉例來說,視頻數據塊的SM可包含I和O的二維陣列,其中I指示塊內有效變換係數的位置,且O指示塊內非有效(零值)變換係數的位置。I和O稱為「有效係數旗標」。另外,在一些實例中,SM可包含I和O的另一 2-D陣列,其中I指示根據與塊相關聯的掃描次序塊內的最後有效係數的位置,且O指示塊內所有其它係數的位置。在此情況下,I和O稱為「最後有效係數旗標」。在其它實例中,不使用此類最後有效係數旗標。事實上,塊中的最後有效係數可首先解碼,隨後發送SM的剩餘部分。在任一情況下,視頻數據塊的SM解碼可消耗用於對塊解碼的視頻位速率的顯著百分比。[0038]在對SM解碼之後,視頻解碼器可對每一變換係數的層級進行熵解碼。舉例來說,視頻解碼器可將每一非零變換係數的絕對值轉換為二進位形式。以此方式,每一非零變換係數可例如使用包括一個或一個以上位或「二進位」的一元代碼來「二進位化」。另外,可包含若干其它二進位化語法元素以允許視頻解碼器解碼視頻數據。
[0039]視頻解碼器可使用針對每一二進位的概率估計值對視頻數據塊的每一二進位(不論對應於塊的變換係數還是語法信息)解碼。概率估計值可指示二進位具有給定二進位值(例如,「O」或「I」)的可能性。概率估計值可包含在概率模型(也稱為「上下文模型」)內。視頻解碼器可通過確定二進位的上下文而選擇概率模型。語法元素的二進位的上下文可包含先前經解碼相鄰語法元素的相關二進位的值。
[0040]作為一個實例,塊的每一有效係數旗標的上下文包含塊的類型(例如,塊大小),以及根據與塊相關聯的掃描次序對應於塊內的相應旗標的係數的位置。作為另一實例,塊的二進位化殘餘變換係數絕對值的每一二進位的上下文包含表示絕對值的一元碼字內的二進位的位置,以及塊的先前經解碼係數的值。在其它實例中,語法元素的二進位的上下文(例如,經解碼塊樣式,或「CBP」)包含先前經解碼相鄰語法元素的相關二進位的值,例如在當前語法元素的頂部上和左側。在任一情況下,針對每一上下文界定不同概率模型。在對二進位解碼之後,基於二進位的值進一步更新概率模型以反映最當前概率估計值。
[0041]與視頻數據塊相關聯的二進位可在一個或一個以上解碼「遍次」中解碼。舉例來說,在第一遍次期間,視頻解碼器可對SM進行熵解碼。在第二遍次期間,視頻解碼器可對變換係數層級的第一二進位進行熵解碼。視頻解碼器可繼續執行解碼遍次直到與塊的變換係數相關聯的所有信息經解碼為止。在一些實例中,視頻解碼器可使用上下文自適應和非上下文自適應解碼的組合對視頻數據塊的二進位解碼。舉例來說,對於一個或一個以上遍次,視頻解碼器可使用繞過模式以繞過或省略常規算術解碼過程。在此類例子中,固定相等概率模型可用於對經繞過解碼二進位解碼。經繞過解碼二進位不包含上下文或概率更新。
[0042]當執行上下文自適應解碼時,在一些例子中,可存在歸因於多個反饋迴路的相對高的串行相依性。舉例來說,指`示用於對二進位解碼的特定概率模型的上下文可受先前經解碼二進位(例如,先前經解碼語法元素的相關二進位)的值影響。另外,用於對二進位解碼的概率模型還可受先前經解碼二進位的值影響。即,概率模型可維持為有限狀態機中的狀態。每一特定狀態可對應於特定概率值。對應於概率模型的更新的下一狀態可取決於當前二進位(例如,當前正解碼的二進位)的值。
[0043]因此,概率模型內的概率估計值可受先前經解碼二進位的值影響,因為所述值至少部分指示二進位具有給定值的概率。因此,以串行方式,例如以逐二進位為基礎執行上下文自適應解碼(例如,CABAC)。舉例來說,在對確定特定上下文所針對的當前二進位解碼之後,對應於所述上下文的概率模型必須在對確定同一上下文所針對的且因此對應於同一概率模型的下一二進位解碼之前更新。
[0044]作為一個實例,可使用同一概率模型(例如,概率模型A)連續對視頻數據塊的二進位序列H^^n,bin(0)、bin(l)、...bin(n))解碼。換句話說,針對二進位導出的(例如,使用上下文索引ctx(0)、ctx(l)、...ctx(n)指示的)上下文可各自對應於用於對相應二進位解碼的同一概率模型。在此實例中,在對二進位的給定一者解碼之後,必須基於二進位的值更新概率模型,隨後可使用所述概率模型對任何後續二進位解碼。更新概率模型允許所述模型反映使用具有給定值的模型解碼的二進位的最當前概率。如此,使用在完成如上所述的塊的先前解碼循環(即,先前二進位的解碼)之後更新的概率模型對視頻數據塊的特定二進位解碼可產生連續解碼循環之間的延遲。特定來說,所述概率模型可能不能容易地用於在對先前二進位解碼之後立即對特定二進位解碼。因此,二進位序列的解碼可不如使用其它方法對序列解碼那樣成流線型。在這些情況下,解碼效率可受到損害。
[0045]另外,如上所述,特定概率模型可維持為有限狀態機中的狀態,其中每一特定狀態對應於特定概率值。對應於概率模型的更新的下一狀態可取決於當前二進位的值。此類反饋迴路(其可稱為狀態更新)可引起計算瓶頸。舉例來說,歸因於反饋迴路中的相依性,可能難以增加處理量。即,可直到來自先前二進位的概率模型已更新後才處理一個二進位。在一些實例中,可以高頻率連續(逐二進位)調用同一上下文索引。在一實例中,可表示解碼器編碼的總二進位的25%到35%的有效性旗標解碼的上下文可被連續調用。重複調用同一上下文且等待更新每一二進位之後的模型可引起整個解碼器的處理量的瓶頸。
[0046]為避免上文描述的上下文更新瓶頸,在一些實例中,視頻解碼器可存儲某些統計且在對整個視頻數據塊解碼之後更新一個或一個以上上下文。舉例來說,代替於更新用於對每一二進位解碼的上下文,視頻解碼器可將與每一上下文相關聯的概率的概率統計存儲到視頻數據塊的存儲器。因此,用於對塊的每一二進位解碼的概率不變,且不存在對塊迴路內的經更新概率的相依性。在塊的解碼之後,在塊解碼期間曾更新的所存儲概率(例如,上下文的狀態)經設定為下一塊的當前概率。以此方式,代替於在每一二進位之後更新上下文概率,在當前塊的結尾處將當前塊的二進位的解碼中曾使用的上下文的概率模型更新一次。然而,總體解碼性能可衰減,因為概率不是逐二進位更新且因此可能不太準確。
[0047]本發明的方面涉及增加概率更新過程的粒度使得概率模型可比完整視頻數據塊之後更頻繁地更新,但不更新每一二進位之後的概率模型。舉例來說,本發明的方面涉及在對與視頻數據塊相關聯的變換係數的預定子集解碼之後更新概率。以此方式,本發明的技術可在解碼性能與解碼速度之間找到平衡,且可允許對子集的二進位的並行處理。
[0048]在一實例中,視頻解碼器可將與視頻數據塊相關聯的變換係數劃分為多個子集。在確定子集之後,視頻解碼器可執行每一子集的上下文自適應解碼(例如,比如CABAC、PIPE,或另一解碼方法)。即,舉例來說,視頻解碼器可執行用於對第一子集的變換係數的有效性圖、係數層級和係數正負號進行解碼的解碼遍次。視頻解碼器可接著移動到下一子集且重複解碼過程。視頻解碼器可繼續對塊的每一子集解碼直到整個塊已解碼為止。
[0049]根據本發明的方面,更新與上下文相關聯的概率可與每一子集的解碼聯繫。舉例來說,視頻解碼器可收集並存儲與在對變換係數的子集解碼的同時應用的概率模型相關聯的統計。在對子集解碼之後,視頻解碼器可使用所存儲的概率統計更新在子集的解碼期間使用的每一上下文的概率模型。視頻解碼器可使用經更新的概率來對變換係數的下一子集解碼。以此方式,視頻解碼器可在不在子集的解碼期間更新概率的情況下對每一子集的變換係數解碼。
[0050]視頻解碼器可以多種方式確定子集。在一個實例中,子集可包含呈掃描次序(例如,視頻數據塊的變換係數串行化的次序)的預定數目的二進位。在出於說明的目的的實例中,對於變換係數的8x8塊(例如,總共64個係數),第一子集可包含呈掃描次序的第一16個係數,第二子集可包含呈掃描次序的第二 16個係數,第三子集可包含呈掃描次序的第三16個係數,且第四子集可包含呈掃描次序的塊的最終16個係數。視頻解碼器可以此方式確定子集而不管掃描方向/次序如何(例如,水平、垂直、對角、鋸齒狀、自適應等)。在此實例中,根據本發明的方面,視頻解碼器可在以掃描次序對每一子集的所有二進位解碼之後更新概率。
[0051]在另一實例中,視頻解碼器可通過將變換係數塊劃分為多個子塊而確定子集。在出於說明的目的的實例中,視頻解碼器可將變換係數的8x8塊(例如,總共64個係數)劃分為四個4x4子塊。視頻解碼器可使用特定掃描次序(例如,水平、垂直、對角、鋸齒狀、自適應等)掃描子塊的每一者。掃描次序可針對子塊的每一者相同或不同。在此實例中,視頻解碼器可在對每一子塊的所有二進位解碼之後更新概率。
[0052]代替於等待更新概率直到特定子集的所有二進位已經解碼為止,根據本發明的方面,在另一實例中,視頻解碼器可在每一子集的每一解碼遍次之後更新概率。在此實例中,視頻解碼器可使子集內的一個遍次的概率模型的更新過程與所述子集的其它遍次並行化。舉例來說,視頻解碼器可更新變換係數的子集的有效性信息的二進位的概率,同時在子集的另一解碼遍次期間對係數層級的二進位I進行解碼。在此實例中,一個遍次的上下文不能用於對子集內的其它遍次解碼。
[0053]在其它實例中,視頻解碼器可在對子集的預定數目的二進位進行解碼之後更新概率。舉例來說,視頻解碼器可在對變換係數層級進行解碼之前對有效性圖進行解碼。在此實例中,視頻解碼器可對有效性圖進行解碼且在對有效性圖進行解碼之後更新概率。視頻解碼器可接著對與變換係數相關聯的剩餘信息(例如,正負號、層級等)進行解碼。在其中視頻解碼器對last_x和last_y語法元素兩者進行解碼的實例中,視頻解碼器可在對最後有效係數的last_x和last_y兩者進行解碼之後更新概率,或視頻編碼器可在對last_x和last_y的每一者進行解碼之後更新概率。
[0054]可應用本發明的技術來增加並行(例如,相對於在每個二進位之後更新上下文)處理二進位同時還維持解碼性能(例如,相對於僅在每個完整變換係數塊之後更新上下文)的能力。舉例來說,本發明的技術可增強解碼並行化,因為可並行地對子集的一個以上二進位進行解碼。本發明的技術還可促進解碼效率,因為每一子集之後更新的概率對於對塊的某些變換係數進行解碼可比塊的結尾處更新的概率更準確。
[0055]本發明的某些方面還涉及用於並行化熵解碼的技術。舉例來說,本發明的技術包含使用在對先前二進位進行解碼之前更新的概率模型對數據的二進位進行解碼。即,可在對當前二進位進行解碼之前至少兩個解碼迭代或循環更新概率模型。因此,本發明的技術可避免當使用同一模型對多個連續二進位進行解碼時由於在使用所述模型對二進位進行解碼之後更新概率模型而引起的延遲。在一些實例中,可應用此類技術並行地對視頻數據塊的二進位進行解碼。舉例來說,本發明的技術可避免與例如在對完整變換係數塊進行解碼之後較不頻繁地更新概率模型相關聯的性能降級,同時仍維持概率更新以實現相對準確的概率。
[0056]在出於說明的目的的實例中,假定通過執行上下文自適應熵解碼過程(例如,CABAC過程)連續地對視頻數據塊的二進位序列(例如,bin(0)、bin(l)、...、bin(n_l)和bin(n))進行解碼。在此實例中,對應於針對二進位的任一者確定的上下文的概率模型包含在上下文緩衝器或「ctxBuffer」中。假設對應於針對bin (n)確定的上下文的概率模型包含在ctxBuffer(n)中。概率模型可由初始狀態界定,且如先前描述,可受先前經解碼二進位(即,bin (O)、bin (I)、? ? ?、bin (n_l))影響。
[0057]根據本發明的方面,視頻解碼器可使用包含在CtxBuffeHn-K)中的概率模型對bin(n)進行解碼。索引「K」可等於任何正的非零整數值。舉例來說,對於「K」值「1」,上下文緩衝器ctxBuffer (n-1)包含在當前解碼循環之前兩個解碼循環更新的概率模型。特定來說,包含在ctxBuffer (n-1)中的概率模型是在對bin (n_2)進行解碼之後更新的包含在ctxBuffer(n-2)中的概率模型。以此方式更新概率模型可稱為延遲狀態更新,因為在概率更新之間引入延遲的一個或一個以上循環。
[0058]在如上所述的實例中,雖然包含在ctxBuffer (n-1)中的概率模型由於更新的緣故不可容易地用於對bin (n-1)進行解碼,但所述模型可用於晚一個解碼循環對bin (n)進行解碼(例如,在bin(n)經解碼時已完成更新)。如此,解碼器不必要等到基於在先前解碼循環期間解碼的bin (n-1)進一步更新包含在ctxBuffer (n_l)中的概率模型才對bin(n)進行解碼。因此,本發明的方面可避免與概率更新相關聯的延遲且可允許並行地對一個以上二進位進行解碼。
[0059]在一些實例中,初始概率模型用以對序列的第一和第二二進位進行解碼。舉例來說,可使用CtxBuffer(O)對給定序列的bin (0)和bin (I)兩者進行解碼。可以此方式對Bin(O)進行解碼,因為不存在先前更新的概率模型。可以此方式對Bin(I)進行解碼以避免上文描述的概率更新延遲,這可由於基於bin (0)的值更新包含在ctxBuffer (0)中的概率模型而引起。
[0060]另外,在其中使用上下文分割的實例中,可針對每一上下文分區應用本發明的技術。舉例來說,在語法分割中,二進位是基於語法元素分組且放置在不同分區中,所述不同分區接著經並行處理(例如,如V.Sze和A.P.Chandrakasan的「使用語法元素分割的高處理量 CAB AC 算法(A high throughput CAB AC algorithm u sing s yntax elementpartitioning) 」中描述,IE`EE國際圖像處理會議,第773-776頁,2009)。在此情況下,將延遲狀態更新的概念應用於每一分區。舉例來說,如果一個分區含有用於殘餘變換係數解碼的所有上下文且另一分區含有剩餘上下文,那麼在此實例中經延遲上下文更新可單獨應用於每一分區。
[0061]本發明的關於延遲狀態更新(如上所述)的方面可應用於一種或一種以上類型的二進位。舉例來說,延遲狀態更新技術可僅針對用於對變換係數層級進行解碼的上下文應用。在另一實例中,延遲狀態更新技術可僅用於有效性圖解碼。
[0062]因此,本發明的技術可避免當使用概率模型對多個連續二進位進行解碼時由於在使用所述模型對二進位進行解碼之後更新所述模型而引起的延遲。另外,本發明的技術可避免與例如在對變換係數的完整塊進行解碼之後較不頻繁地更新概率模型相關聯的性能降級。在一些實例中,本發明中描述的技術可獨立使用或可以任何組合一起使用。
[0063]雖然上文相對於二進位視頻解碼描述,但應理解,延遲狀態更新技術可通常應用於其它數據的其它算術解碼。
[0064]舉例來說,在其中兩個以上符號包含在概率模型中的例子中,執行簡單狀態更新可能不可行。因此,代替於執行延遲狀態更新,本發明的方面包含執行延遲概率更新。
[0065]作為一實例,出於說明的目的,假定正在編碼或解碼符號序列(例如,symbol (0)、symbol (I)、...、symbol (n)等)。所述符號可由視頻數據、音頻數據或任何其它數據產生。此外,假定每一符號可採取A、B、C和D表示的四個值。另外,假定不同上下文模型可與每一符號相關聯,但出於說明的目的,所有符號使用同一上下文。另外,假定針對每一上下文維持單獨概率模型(例如,針對A、B、C和D的概率)。通常,在對symbol (0)進行解碼之後,context (0)的概率模型將經更新以考慮到符號symbol (0)的實際值。然而,根據本發明的方面,可延遲概率模型更新過程,直到正對一個或一個以上未來符號進行解碼為止。舉例來說,對於延遲1,經更新模型(例如,對符號symbol (0)進行解碼之後)可用於對symbol (2)進行解碼。
[0066]因此,雖然可相對於二進位解碼(且更特定來說,視頻數據的CABAC解碼)描述某些實例,但本發明的技術更通常適用於算術解碼。即,上文描述的延遲狀態和/或概率更新技術可通常應用於m元算術解碼方案,其可或可不為上下文自適應的。
[0067]圖1是可經配置以利用本發明中描述的用於上下文自適應解碼的技術的實例視頻編碼和解碼系統10的框圖。如圖1的實例中所示,系統10包含源裝置12,其產生經編碼視頻以供目的地裝置14解碼。源裝置12可經由通信信道16將經編碼視頻發射到目的地裝置14,或可將經編碼視頻存儲在存儲媒體34或文件伺服器36上,使得經編碼視頻可視需要由目的地裝置14存取。源裝置12和目的地裝置14可包括廣泛種類的裝置的任一者,包含臺式計算機、筆記本(即,膝上型)計算機、平板計算機、機頂盒、電話手持機(例如,所謂的智慧型電話)、電視機、相機、顯示裝置、數字媒體播放器、視頻遊戲控制臺等。
[0068]在許多情況下,此類裝置可經裝備用於無線通信。因此,通信信道16可包括無線信道、有線信道,或適於經編碼視頻數據的發射的無線與有線信道的組合。舉例來說,通信信道16可包括任何無線或有線通信媒體,例如射頻(RF)頻譜或一個或一個以上物理傳輸線路,或無線與有線媒體的任何組合。通信信道16可形成例如區域網、廣域網或例如網際網路的全球網絡的基於包的網絡的部分。通信信道16 —股表示用於將視頻數據從源裝置12發射到目的地裝置14的任何合適的通信媒體或不同通信媒體的集合,包含有線或無線媒體的任何合適組合。通信信道16可包含可用於促進從源裝置12到目的裝置14的通信的路由器、交換器、基站或任何其它設備。
[0069]本發明中描述的技術可應用於視頻解碼,支持多種多媒體應用的任一者,例如空中電視廣播、電纜電視發射、衛星電視發射、串流視頻發射(例如,經由網際網路)、用於存儲在數據存儲媒體上的數字視頻的編碼、存儲在數據存儲媒體上的數字視頻的解碼,或其它應用。在一些實例中,系統10可經配置以支持單向或雙向視頻發射以支持例如視頻串流、視頻重放、視頻廣播和/或視頻電話等應用。
[0070]如圖1的實例中進一步展示,源裝置12包含視頻源18、視頻編碼器20、調製器/解調器(數據機)22和發射器24。在源裝置12中,視頻源18可包含例如視頻俘獲裝置等源。藉助實例,視頻俘獲裝置可包含攝像機、含有先前俘獲的視頻的視頻檔案、用以接收來自視頻內容提供者的視頻的視頻饋送接口,和/或用於產生計算機圖形數據作為源視頻的計算機圖形系統中的一者或一者以上。作為一個實例,如果視頻源18是攝像機,那麼源裝置12和目的地裝置14可形成所謂的相機電話或視頻電話。然而,本發明的技術不一定限於無線應用或設定,且可應用於包含視頻編碼和/或解碼能力的非無線裝置。源裝置12和目的地裝置16僅為可支持本文描述的技術的解碼裝置的實例。[0071]所俘獲、預先俘獲或計算機產生的視頻可由視頻編碼器20編碼。經編碼視頻信息可由數據機22根據通信標準(例如,無線通信協議)調製且經由發射器24發射到目的地裝置14。數據機22可包含各種混頻器、濾波器、放大器或經設計以用於信號調製的其它組件。發射器24可包含經設計以用於發射數據的電路,包括放大器、濾波器及一個或一個以上天線。
[0072]由視頻編碼器20編碼的所俘獲、預先俘獲或計算機產生的視頻還可存儲到存儲媒體34或文件伺服器36上以供稍後消耗。存儲媒體34可包含藍光光碟、DVD、⑶-ROM、快閃記憶體,或用於存儲經編碼視頻的任何其它適宜的數字存儲媒體。存儲在存儲媒體34上的經編碼視頻可接著由目的地裝置14存取以用於解碼和重放。
[0073]文件伺服器36可為能夠存儲經編碼視頻且將所述經編碼視頻發射到目的地裝置14的任何類型的伺服器。實例文件伺服器包含網絡伺服器(例如,針對網站)、FTP伺服器、網絡附接存儲(NAS)裝置、本地磁碟驅動器,或能夠存儲經編碼視頻數據且將其發射到目的地裝置的任何其它類型的裝置。文件伺服器36可由目的地裝置14經由任何標準數據連接(包含網際網路連接)存取。此可包含無線信道(例如,W1-Fi連接)、有線連接(例如,DSL、電纜數據機等)或適於存取存儲在文件伺服器上的經編碼視頻數據的兩者的組合。來自文件伺服器36的經編碼視頻數據的發射可為串流發射、下載發射或兩者的組合。
[0074]本發明可通常提及視頻編碼器20向另一裝置(例如,視頻解碼器30) 「用信號發送」某些信息。然而,應理解,視頻編碼器20可通過使某些語法元素與視頻數據的各個經編碼部分相關聯而用信號發送信息。即,視頻編碼器20可通過將某些語法元素存儲到視頻數據的各個經編碼部分的標頭而「用信號發送」數據。在一些情況下,此類語法元素可在由視頻解碼器30接收和解碼之前進行編碼和存儲(例如,存儲到存儲媒體34或文件伺服器36)。因此,術語「用信號發送」可通常指代用於解碼經壓縮視頻數據的語法或其它數據的傳送,不論此傳送是實時還是在一時間跨度內近實時發生(例如,可能當在編碼時將語法元素存儲到媒體時發生,其可在存儲到此媒體之後的任何時間由解碼裝置檢索)。
[0075]圖1的實例中的目的地裝置14包含接收器26、數據機28、視頻解碼器30和顯示裝置32。目的地裝置14的接收器26經由信道16接收信息,且數據機28解調所述信息以為視頻解碼器30產生經解調位流。經由信道16傳送的信息可包含視頻編碼器20產生的供視頻解碼器30用於解碼視頻數據的多種語法信息。此語法還可與存儲在存儲媒體34或文件伺服器36上的經編碼視頻數據一起包含。視頻編碼器20和視頻解碼器30的每一者可形成能夠編碼或解碼視頻數據的相應編碼器一解碼器(CODEC)的一部分。
[0076]顯示裝置32可與目的地裝置14集成或在其外部。在一些實例中,目的地裝置14可包含集成顯示裝置,且還經配置以與外部顯示裝置介接。在其它實例中,目的地裝置14可為顯示裝置。一股來說,顯示裝置32向用戶顯示經解碼視頻數據,且可包括例如液晶顯示器(LCD)、等離子體顯示器、有機發光二極體(OLED)顯示器,或另一類型的顯示裝置等多種顯示裝置的任一者。
[0077]視頻編碼器20和視頻解碼器30可根據視頻壓縮標準(例如,當前發展中的高效視頻解碼01EVC)標準)操作,且可遵守HEVC測試模型(HM)。或者,視頻編碼器20和視頻解碼器30可根據其它專門或工業標準操作,例如ITU-T H.264標準,或稱為MPEG-4,第10部分,高級視頻解碼(AVC),或此類標準的延伸。然而,本發明的技術不限於任何特定解碼標準。其它實例包含MPEG-2和ITU-T H.263。
[0078]HEVC標準將視頻數據塊稱為解碼單元(⑶)。一股來說,⑶具有與根據H.264解碼的宏塊類似的用途,只是⑶不具有大小區分。因此,⑶可分裂為子⑶。一股來說,本發明中對CU的提及可指代圖片的最大解碼單元(LCU)或LCU的子CU。舉例來說,位流內的語法數據可界定IXU,其是依據像素數目的最大解碼單元。IXU可分裂為子⑶,且每一子⑶可分裂為子CU。位流的語法數據可界定LCU可分裂的最大次數,稱為最大CU深度。因此,位流還可界定最小解碼單元(SCU)。
[0079]IXU可與層級四叉樹數據結構相關聯。一股來說,四叉樹數據結構包含每⑶一個節點,其中根節點對應於LCU。如果CU分裂為四個子CU,那麼對應於CU的節點包含四個葉節點,其每一者對應於子CU的一者。四叉樹數據結構的每一節點可提供對應CU的語法數據。舉例來說,四叉樹中的節點可包含分裂旗標,指示對應於節點的CU是否分裂為子CU。CU的語法元素可用遞歸法界定,且可取決於CU是否分裂為子CU。
[0080]未分裂的⑶可包含一個或一個以上預測單元(PU)。一股來說,I3U表示對應⑶的全部或一部分,且包含用於檢索PU的參考樣本的數據。舉例來說,當PU經幀內模式編碼時,PU可包含描述的幀內預測模式的數據。作為另一實例,當PU經幀間模式編碼時,PU可包含界定PU的運動向量的數據。界定運動向量的數據可描述例如運動向量的水平分量、運動向量的垂直分量、運動向量的解析度(例如,四分之一像素精度或八分之一像素精度)、運動向量所指向的參考幀,和/或運動向量的參考列表(例如,列表0或列表I)。界定I3U的⑶的數據還可描述例如將⑶分割為一個或一個以上PU。分割模式可依據⑶未解碼、經幀內預測模式編碼還是經幀間預測模式編碼而不同。
[0081]具有一個或一個以上PU的⑶還可包含一個或一個以上變換單元(TU)。在使用PU的預測之後,視頻編碼器可計算CU的對應於的部分的殘餘值。殘餘值可經變換、量化和掃描。TU不一定限於PU的大小。因此,TU可比同一⑶的對應PU大或小。在一些實例中,TU的最大大小可為對應CU的大小。本發明還使用術語「塊」來指代CU、PU或TU的任一者。
[0082]如上所述,一股來說,經編碼視頻數據可包含預測數據和殘餘數據。視頻編碼器20可在幀內預測模式或幀間預測模式期間產生預測數據。幀內預測通常涉及相對於同一圖片的相鄰、先前經解碼塊中的參考樣本預測圖片的塊中的像素值。幀間預測通常涉及相對於先前經解碼圖片的數據預測圖片的塊中的像素值。
[0083]在幀內或幀間預測之後,視頻編碼器20可計算塊的殘餘像素值。殘餘值通常對應於塊的預測像素值數據與塊的真實像素值數據之間的差。舉例來說,殘餘值可包含指示經解碼像素與預測性像素之間的差的像素差值。在一些實例中,經解碼像素可與待解碼的像素塊相關聯,且預測性像素可與用於預測經解碼塊的像素的一個或一個以上塊相關聯。
[0084]為進一步壓縮塊的殘餘值,殘餘值可經變換為變換係數的集合,所述變換係數將儘可能多的數據(也稱為「能量」)壓緊為儘可能少的係數。變換技術可包括離散餘弦變換(DCT)過程或概念上類似的過程、整數變換、小波變換,或其它類型的變換。所述變換將像素的殘餘值從空間域轉換到變換域。變換係數對應於通常為與原始塊相同大小的二維繫數矩陣。換句話說,存在正好與殘餘數據的原始塊中的像素一樣多的變換係數。然而,歸因於所述變換,許多變換係數可具有等於零的值。[0085]視頻編碼器20可接著量化變換係數以進一步壓縮視頻數據。量化通常涉及將相對大範圍內的值映射到相對小範圍內的值,因此減少表示經量化變換係數所需的數據的量。更特定來說,可根據量化參數(QP)應用量化,量化參數可編索引到在量化期間應用於變換係數的量化器步長。
[0086]量化之後,視頻編碼器20可掃描變換係數,從而從包含經量化變換係數的二維矩陣產生一維向量。視頻編碼器20可接著對所得陣列進行熵編碼以更進一步壓縮數據。一股來說,熵解碼包括共同壓縮一連串經量化的變換係數及/或其它語法信息的一個或一個以上過程。舉例來說,例如增量QP、預測向量、解碼模式、濾波器、偏移或其它信息等語法元素也可包含在經熵解碼位流中。經掃描係數接著連同任何語法信息一起例如經由CAVLC、CABAC、PIPE或另一熵解碼過程進行熵解碼。
[0087]為執行CAVLC,視頻編碼器20可選擇待發射的符號的可變長度碼。VLC中的碼字可經構造使得相對較短碼對應於可能性較大的符號,且較長碼對應於可能性較小的符號。以此方式,VLC的使用與例如針對待發射的每一符號使用相等長度碼字相比可實現位速率節省。
[0088]為執行CABAC,視頻編碼器20可選擇上下文模型以應用於某一上下文來編碼待發射的符號。所述上下文可涉及例如相鄰值是否非零。視頻編碼器20還可對例如有效係數旗標和當執行自適應掃描時產生的最後係數旗標等語法元素進行熵編碼。
[0089]一股來說,視頻解碼器30執行的視頻解碼過程可包含與視頻編碼器20執行的編碼技術互逆的技術。儘管大體互逆,但視頻解碼器30可在一些例子中執行與視頻編碼器20執行的技術類似的技術。視頻解碼器30還可依賴於包含相對於視頻編碼器20描述的數據的所接收位流中含有的語法元素或其它數據。
[0090]根據本發明的方面,視頻編碼器20和/或視頻解碼器30可在對與視頻數據塊相關聯的變換係數的預定子集進行解碼之後更新在熵解碼期間使用的概率模型。舉例來說,視頻編碼器20和/或視頻解碼器30可將與視頻數據塊相關聯的變換係數劃分為多個子集。視頻編碼器20和/或視頻解碼器30可繼續對塊的每一子集進行解碼直到整個塊已經解碼為止。根據本發明的方面,視頻編碼器20和/或視頻解碼器30可在對每一子集進行解碼之後更新與上下文相關聯的概率。舉例來說,視頻編碼器20和/或視頻解碼器30可收集並存儲與在對變換係數的子集進行解碼的同時應用的概率模型相關聯的統計。在對子集進行解碼之後,視頻編碼器20和/或視頻解碼器30可使用所存儲的概率統計更新在子集的解碼期間使用的每一上下文的概率模型。視頻編碼器20和/或視頻解碼器30可使用經更新的概率對變換係數的下一子集進行解碼。以此方式,視頻編碼器20和/或視頻解碼器30可在不在子集的解碼期間更新概率的情況下對每一子集的變換係數進行解碼。以此方式,本發明的技術可在解碼性能與解碼速度之間找到平衡,且可允許對子集的二進位的並行處理。
[0091]在其它實例中,根據本發明的方面,視頻編碼器20和/或視頻解碼器30可執行用於並行化熵解碼的其它技術。舉例來說,視頻編碼器20和/或視頻解碼器30可使用在對塊的先前二進位進行解碼之前更新的概率模型對視頻數據塊的二進位進行解碼。即,視頻編碼器20和/或視頻解碼器30可在對當前二進位進行解碼之前至少兩個解碼迭代或循環更新概率模型。因此,視頻編碼器20和/或視頻解碼器30可避免當使用概率模型對多個連續二進位進行解碼時由於在使用所述模型對二進位進行解碼之後更新所述模型而引起的延遲。
[0092]儘管圖1中未展示,但在一些方面中,視頻編碼器20及視頻解碼器30可各自與音頻編碼器及解碼器集成,且可包含適當的多路復用器一多路分用器(MUX-DEMUX)單元或其它硬體及軟體,以處置對共同數據流或單獨數據流中的音頻與視頻兩者的編碼。在適用的情況下,在一些實例中,MUX-DEMUX單元可遵守ITU H.223多路復用器協議,或例如用戶數據報協議(UDP)等其它協議。
[0093]視頻編碼器20和視頻解碼器30各自可經實施為例如一個或一個以上微處理器、數位訊號處理器(DSP)、專用集成電路(ASIC)、現場可編程門陣列(FPGA)、離散邏輯、軟體、硬體、固件或其任何組合的多種合適編碼器電路中的任一者。當在軟體中部分實施所述技術時,裝置可將軟體的指令存儲在適宜的非暫時性計算機可讀媒體中,且使用一個或一個以上處理器執行硬體中的指令以執行本發明的技術。視頻編碼器20和視頻解碼器30的每一者可包含在一個或一個以上編碼器或解碼器中,其任一者可作為組合式編碼器/解碼器(CODEC)的一部分集成在相應裝置中。
[0094]圖2是說明可實施本發明的用於上下文自適應解碼的技術的視頻編碼器20的實例的框圖。應理解,圖2的某些組件可出於概念的目的相對於單一組件展示和描述,但可包含一個或一個以上功能單元。另外,雖然圖2的某些組件可相對於單一組件展示和描述,但此類組件可實體上包括一個或一個以上離散和/或集成單元。
[0095]如圖2所示,視頻編碼器20接收待編碼的視頻圖片內的當前視頻塊。在圖2的實例中,視頻編碼器20包含運動補償單元44、運動估計單元42、參考幀存儲裝置64、求和器50、變換單元52、量化單元54和熵編碼單元56。對於視頻塊重構,視頻編碼器20還包括逆量化單元58、逆變換單元60,和求和器62。還可包含解塊濾波器(圖2中未展示)以將塊邊界濾波,以從經重構的視頻移除成塊性假象。在需要時,解塊濾波器通常對求和器62的輸出進行濾波。
[0096]在編碼過程期間,視頻編碼器20接收待解碼的視頻圖片或切片。圖片或切片可劃分為多個視頻塊。運動估計單元42和運動補償單元44執行所接收視頻塊相對於一個或一個以上參考幀中的一個或一個以上塊的幀間預測解碼。即,運動估計單元42可執行所接收視頻塊相對於不同時間例項的一個或一個以上參考幀中的一個或一個以上塊的幀間預測解碼,例如使用同一視圖的一個或一個以上參考幀的運動估計。另外,運動估計單元42可執行所接收視頻塊相對於同一時間例項的一個或一個以上參考幀中的一個或一個以上塊的幀間預測解碼,例如使用不同視圖的一個或一個以上參考幀的運動視差。
[0097]幀內預測單元46可執行所接收視頻塊相對於與待解碼的塊相同的幀或切片中的一個或一個以上相鄰塊的幀內預測解碼,以提供空間壓縮。模式選擇單元40可例如基於誤差結果選擇解碼模式(幀內或幀間)的一者,且將所得經幀內或幀間解碼塊提供到求和器50以產生殘餘塊數據,以及提供到求和器62以重構用於在參考幀中使用的經編碼塊。
[0098]運動估計單元42和運動補償單元44可高度集成,但出於概念的目的單獨說明。運動估計是產生估計視頻塊的運動的運動向量的過程。運動向量(例如)可指示預測參考幀(或其它經解碼單元)內的預測塊相對於當前幀(或其它經解碼單元)內正被解碼的當前塊的位移。預測塊是經發現在像素差異方面密切地匹配待解碼的塊的塊,其可通過絕對差總和(SAD)、平方差總和(SSD)或其它差異量度來確定。運動向量還可指示宏塊的分區的位移。運動補償可涉及基於運動估計單元42確定的運動向量(或位移向量)取得或產生預測塊。再次,在一些實例中,運動估計單元42和運動補償單元44可功能上集成。
[0099]運動估計單元42可通過將視頻塊與參考幀存儲裝置64中的參考幀的視頻塊進行比較來計算經幀間解碼圖片的視頻塊的運動向量。運動補償單元44還可內插參考幀(例如,I幀或P幀)的子整數像素。ITU-T H.264標準指代參考幀的「列表」,例如列表0和列表I。列表0包含具有早於當前圖片的顯示次序的參考幀,而列表I包含具有遲於當前圖片的顯示次序的參考幀。在其它解碼方案中,可維持單一列表。
[0100]運動估計單元42將來自參考幀存儲裝置64的一個或一個以上參考幀的塊與當前圖片(例如,P圖片或B圖片)的待編碼的塊進行比較。當參考幀存儲裝置64中的參考幀包含子整數像素的值時,由運動估計單元42計算的運動向量可指代參考幀的子整數像素位置。運動估計單元42將所計算的運動向量發送到熵編碼單元56和運動補償單元44。由運動向量識別的參考幀塊可稱作預測塊。運動補償單元44計算參考幀的預測塊的殘餘誤差值。
[0101]變換單元52將例如離散餘弦變換(DCT)、整數變換或概念上類似的變換等變換應用於殘餘塊,從而產生包括殘餘變換係數值的視頻塊。變換單元52可執行概念上類似於DCT的其它變換,例如由H.264標準界定的變換。也可使用小波變換、整數變換、子帶變換或其它類型的變換。在任何狀況下,變換單元52均將變換應用於殘餘塊,從而產生殘餘變換係數的塊。變換單元52可將殘餘信息從像素值域轉換到例如頻域等變換域。
[0102]量化單元54量化殘餘變換係數以進一步減小位速率。量化過程可減少與係數中的一些或全部相關聯的位深度。量化的程度可通過調整量化參數來修改。舉例來說,量化通常涉及將相對大範圍內的值映射到相對小範圍內的值,因此減少表示經量化變換係數所需的數據的量。視頻編碼器可通過根據預定義算法應用量化參數(QP)而量化變換係數。視頻編碼器可通過調整QP修改應用於變換係數值的量化的程度。
[0103]量化之後,熵編碼單元56對經量化變換係數進行掃描和熵解碼。熵編碼單元56可執行CAVLC、CABAC、PIPE或另一熵解碼技術。熵編碼單元56可在執行熵解碼時執行本發明的技術的任一者。
[0104]舉例來說,根據本發明的方面,在此實例中,熵編碼單元56可在對與視頻數據塊相關聯的變換係數的預定子集進行解碼之後更新在熵解碼期間使用的概率模型。舉例來說,熵編碼單元56可將與視頻數據塊相關聯的變換係數劃分為多個子集。熵編碼單元56可繼續對塊的每一子集進行解碼直到整個塊已經解碼為止。根據本發明的方面,熵編碼單元56可在對每一子集進行解碼之後更新與上下文相關聯的概率。舉例來說,熵編碼單元56可收集並存儲與在對變換係數的子集進行解碼的同時應用的概率模型相關聯的統計。在對子集進行解碼之後,熵編碼單元56可使用所存儲的概率統計更新在子集的解碼期間使用的每一上下文的概率模型。熵編碼單元56可使用經更新的概率來對變換係數的下一子集進行解碼。以此方式,熵編碼單元56可在不在子集的解碼期間更新概率的情況下對每一子集的變換係數進行解碼。以此方式,本發明的技術可在解碼性能與解碼速度之間找到平衡,且可允許對子集的二進位的並行處理。
[0105]另外或作為替代,根據本發明的方面,熵編碼單元56可執行用於並行化熵解碼的其它技術。舉例來說,熵編碼單元56可使用在對塊的先前二進位進行解碼之前更新的概率模型對視頻數據塊的二進位進行解碼。即,熵編碼單元56可在對當前二進位進行解碼之前至少兩個解碼迭代或循環更新概率模型。因此,熵編碼單元56可避免當使用概率模型對多個連續二進位進行解碼時由於在使用所述模型對二進位進行解碼之後更新所述模型而引起的延遲。
[0106]在一些情況下,熵編碼單元56或視頻編碼器20的另一單元還可經配置以除熵解碼外還執行其它解碼功能。舉例來說,熵編碼單元56可經配置以確定⑶和/或的經解碼塊樣式(CBP)值。並且,在一些情況下,熵編碼單元56可執行宏塊或其分區中的係數的延行長度解碼。熵編碼單元56還可以適當語法元素構建標頭信息以在經編碼視頻位流中發射。
[0107]逆量化單元58和逆變換單元60分別應用逆量化和逆變換以在像素域中重構殘餘塊,例如以供稍後用作參考塊。運動補償單元44可通過將殘餘塊加到參考幀存儲裝置64的幀中的一者的預測塊來計算參考塊。運動補償單元44還可將一個或一個以上內插濾波器應用於經重構殘餘塊以計算子整數像素值用於在運動估計中使用。加法器62將經重構殘餘塊添加到由運動補償單元44所產生的經運動補償預測塊以產生經重構視頻塊以供存儲於參考幀存儲裝置64中。經重構的視頻塊可由運動估計單元42和運動補償單元44用作用於對後續視頻幀中的塊進行幀間解碼的參考塊。
[0108]圖3是說明對經編碼視頻序列進行解碼的視頻解碼器30的實例的框圖。在圖3的實例中,視頻解碼器30包含熵解碼單元130、運動補償單元132、幀內預測單元134、逆量化單元136、逆變換單元138、參考幀存儲裝置142和求和器140。
[0109]熵解碼單元130可對所接收位流進行熵解碼。舉例來說,熵解碼單元130可接收串行化變換係數且對變換係數進行逆掃描以產生變換係數的二維陣列。熵解碼單元130可實施本發明的技術的任一者。
[0110]舉例來說,根據本發明的方面,熵解碼單元130可在對與視頻數據塊相關聯的變換係數的預定子集進行解碼之後更新在熵解碼期間使用的概率模型。舉例來說,熵解碼單元130可將與視頻數據塊相關聯的變換係數劃分為多個子集。熵解碼單元130可繼續對塊的每一子集進行解碼直到整個塊已經解碼為止。根據本發明的方面,熵解碼單元130可在對每一子集進行解碼之後更新與上下文相關聯的概率。舉例來說,熵解碼單元130可收集並存儲與在對變換係數的子集進行解碼的同時應用的概率模型相關聯的統計。在對子集進行解碼之後,熵解碼單元130可使用所存儲的概率統計更新在子集的解碼期間使用的每一上下文的概率模型。熵解碼單元130可使用經更新的概率來對變換係數的下一子集進行解碼。以此方式,熵解碼單元130可在不在子集的解碼期間更新概率的情況下對每一子集的變換係數進行解碼。以此方式,本發明的技術可在解碼性能與解碼速度之間找到平衡,且可允許對子集的二進位的並行處理。
[0111]另外或作為替代,根據本發明的方面,熵解碼單元130可執行用於並行化熵解碼的其它技術。舉例來說,熵解碼單元130可使用在對塊的先前二進位進行解碼之前更新的概率模型對視頻數據塊的二進位進行解碼。即,熵解碼單元130可在對當前二進位進行解碼之前至少兩個解碼迭代或循環更新概率模型。因此,熵解碼單元130可避免當使用所述模型對多個連續二進位進行解碼時由於在使用概率模型對二進位進行解碼之後更新所述模型而引起的延遲。
[0112]運動補償單元132可基於從熵解碼單元130接收的運動向量產生預測數據。運動補償單元132可使用在位流中所接收的運動向量來識別參考幀存儲裝置142中的參考幀中的預測塊。幀內預測單元134可使用在位流中所接收的幀內預測模式以從空間上鄰近的塊形成預測塊。
[0113]逆量化單元136對位流中提供的且由熵解碼單元130解碼的經量化塊係數進行逆量化(即,解量化)。根據本發明的一些方面,逆量化單元136可經配置以以與上文相對於圖2的實例中展示的視頻編碼器20描述的量化單元54的方式大體互逆的方式操作。
[0114]逆變換單元158將例如逆DCT、逆整數變換或概念上類似的逆變換過程等逆變換應用於變換係數以在像素域中產生殘餘塊。運動補償單元132產生經運動補償的塊,可能執行基於內插濾波器的內插。待用於具有子像素精度的運動估計的內插濾波器的識別符可包含在語法元素中。運動補償單元132可使用如由視頻編碼器20在視頻塊的編碼期間所使用的內插濾波器來計算參考塊的子整數像素的內插值。運動補償單元132可根據所接收的語法信息來確定由視頻編碼器20使用的內插濾波器且使用所述內插濾波器來產生預測塊。
[0115]運動補償單元132使用一些語法信息來確定用於編碼經編碼視頻序列的(多個)幀的宏塊的大小、描述經編碼視頻序列的幀的每一宏塊經分割的方式的分割信息、指示每一分區經編碼的方式的模式、用於每一經幀間編碼的宏塊或分區的一個或一個以上參考幀(或列表),和用於解碼經編碼視頻序列的其它信息。
[0116]求和器140將殘餘塊與運動補償單元132或幀內預測單元產生的對應的預測塊求和以形成經解碼塊。如果需要的話,還可應用解塊濾波器以對經解碼塊進行濾波,以便移除成塊假象。接著將經解碼的視頻塊存儲於參考幀存儲裝置142中,參考幀存儲裝置142提供用於後續運動補償的參考塊且還產生用於在顯示裝置(例如,圖1的顯示裝置32)上呈現的經解碼視頻。
[0117]圖4A和4B是說明實例四叉樹150和對應的最大解碼單元172的概念圖。圖4A描繪實例四叉樹150,其包含以層級方式布置的節點。四叉樹150可根據所提議的HEVC標準與例如樹塊相關聯。四叉樹(例如,四叉樹150)中的每一節點可為無子代的葉節點,或具有四個子節點。在圖4A的實例中,四叉樹150包含根節點152。根節點152具有四個子節點,包含葉節點156A-156C(葉節點156)和節點154。因為節點154不是葉節點,所以節點154包含四個子節點,其在此實例中為葉節點158A-158D(葉節點158)。
[0118]四叉樹150可包含描述對應的最大解碼單元(IXU)(例如,在此實例中為IXU172)的特性的數據。舉例來說,四叉樹150依據其結構可描述LCU分裂為子CU。假定LCU172具有大小2Nx2N。在此實例中,IXU172具有四個子⑶176A-176C (子⑶176)和174,每一者大小為NxN。子CU174進一步分裂為四個子CU178A-178D (子CU178),每一者大小為N / 2xN /2。在此實例中,四叉樹150的結構對應於IXU172的分裂。即,根節點152對應於IXU172,葉節點156對應於子⑶176,節點154對應於子⑶174,且葉節點158對應於子⑶178。
[0119]四叉樹150的節點的數據可描述對應於節點的⑶是否經分裂。如果⑶經分裂,那麼四叉樹150中可存在四個額外節點。在一些實例中,四叉樹的節點可類似於以下偽碼而實施:[0120]

quadtree_node {


boolcan_splil_flag( I);

//信令數據
if (splilj_lag) {


quadlrcc_node child I ;


quadlrcc_node child2;


quadtree_nodc child3;


quadlrcc_nodc child4;



}



}
[0121]split_flag值可為表示對應於當前節點的⑶是否經分裂的I位值。如果⑶未經分裂,那麼split_flag值可為『0』,而如果CU經分裂,那麼split_flag值可為『I』。相對於四叉樹150的實例,分裂旗標值的陣列可為101000000。
[0122]在一些實例中,子⑶176和子⑶178的每一者可使用同一幀內預測模式進行幀內預測編碼。因此,視頻編碼器20可在根節點152中提供幀內預測模式的指示。
[0123]雖然圖4A說明CU四叉樹的實例,但應理解,類似的四叉樹可應用於葉節點CU的TU0 即,葉節點⑶可包含描述⑶的TU的分割的TU四叉樹。TU四叉樹可通常類似於⑶四叉樹,只是TU四叉樹可個別地用信號發送⑶的TU的幀內預測模式。
[0124]圖5A和5B大體說明用於掃描在熵解碼期間與視頻數據塊相關聯的變換係數的對角掃描模式。即,舉例來說,掃描模式可由視頻編碼器(例如,視頻編碼器20)在使變換係數的二維陣列串行化時使用。在另一實例中,掃描模式可由視頻解碼器(例如,視頻解碼器30)在由經解碼變換係數的所接收串行化陣列重構視頻數據塊時使用。
[0125]舉例來說,圖5A說明用於掃描視頻數據塊的變換係數(例如,與TU相關聯的變換係數)的前向對角掃描模式180。一股來說,前向對角掃描模式180以從左向右以及從上向下45度角遍歷塊。即,在圖5A所示的實例中,第一係數182是在塊的左上角定位的DC分量,而待掃描的最後係數184在塊的右下角定位。
[0126]圖5B說明用於掃描視頻數據塊的變換係數(例如,與TU相關聯的變換係數)的逆向對角掃描模式186。一股來說,逆向對角掃描模式186以從右向左以及從下向上45度角遍歷塊。即,在圖5B所示的實例中,第一係數188是在塊的右下角定位的DC分量,而待掃描的最後係數190在塊的左上角定位。
[0127]應理解,圖5A和5B所示的掃描模式僅出於說明的目的而提供。舉例來說,雖然圖5A和5B說明對角掃描模式,但可存在其它掃描模式可用,例如鋸齒狀模式、自適應掃描次序、水平模式和垂直模式等。另外,與變換係數相關聯的不同分量(例如,有效性、正負號、層級等)可使用不同定向和/或方向的模式掃描。舉例來說,在一些例子中,可在變換係數層級的相反方向上掃描有效性信息(例如,有效性圖)。在其它例子中,可實施統一掃描模式,使得在相同方向上掃描有效性信息和變換係數層級。[0128]圖6A和6B大體說明根據本發明的方面將變換係數塊劃分為子集。雖然圖6A和6B相對於視頻解碼器30(圖1和3)描述,但應理解,本發明的技術可由多種其它視頻解碼器(包含視頻編碼器20(圖1和2))、其它處理器、處理單元、基於硬體的解碼單元(例如,編碼器/解碼器(CODEC))等實行。
[0129]參看圖6A,根據本發明的方面,視頻解碼器30可在解碼塊200的同時以掃描次序將塊200劃分為子集202、204、206和208。在圖6A所示的實例中,第一子集202包含呈掃描次序的第一 16個變換係數,第二子集204包含呈掃描次序的接下來16個變換係數,第三子集206包含呈掃描次序的接下來16個變換係數,且第四子集208包含呈掃描次序的最終16個變換係數。
[0130]根據本發明的方面,視頻解碼器30可將與上下文自適應解碼過程相關聯的概率更新與子集202-208聯繫。舉例來說,在塊200的解碼期間,視頻解碼器30可初始使用概率模型的第一集合解碼子集202。概率模型的第一集合可不在對子集202進行解碼期間更新,使得視頻解碼器30使用概率模型的第一集合解碼整個子集202。另外,視頻解碼器30可收集並存儲與在對子集202進行解碼的同時應用的概率模型的第一集合相關聯的統計。舉例來說,如上所述,指示用於對二進位進行解碼的特定概率模型的上下文可受先前經解碼二進位(例如,先前經解碼語法元素的相關二進位)的值影響。另外,用於對二進位進行解碼的概率模型也可受先前經解碼二進位的值影響。根據本發明的方面,代替於以串行方式更新概率模型(例如,以逐二進位為基礎),視頻解碼器30可存儲基於經解碼二進位的上下文的經更新狀態。
[0131]根據本發明的方面,在對子集202解碼之後,視頻解碼器30可使用所存儲的概率統計更新概率模型的第一集合。視頻解碼器30可接著使用此經更新的概率模型的第二集合來對變換係數的第二子集204解碼。視頻解碼器30可以此方式繼續解碼塊200直到塊200已經解碼為止。即,在對第二子集204解碼之後,視頻解碼器30可使用在第二子集的解碼期間存儲的統計來更新概率模型,且使用經更新的概率模型來解碼第三子集206。此外,視頻解碼器30可執行相同過程來解碼第四子集208。
[0132]在一些實例中,代替於等待更新概率模型直到特定子集的所有二進位已經解碼為止,視頻解碼器30可在每一子集的每一解碼遍次之後更新概率。在此實例中,視頻解碼器30可使子集內的一個遍次的概率模型的更新過程與子集的其它遍次並行化。舉例來說,視頻解碼器可在子集的另一解碼遍次期間對係數層級的二進位I進行解碼的同時更新變換係數的子集的有效性信息的二進位的概率。在此實例中,一個遍次的上下文不能用於對子集內的其它遍次進行解碼。
[0133]在其它實例中,視頻解碼器30可在對子集的預定數目的二進位進行解碼之後更新概率。舉例來說,視頻解碼器30可在對變換係數層級進行解碼之前對有效性圖進行解碼。在此實例中,視頻解碼器30可對有效性圖解碼且在對有效性圖解碼之後更新概率。視頻解碼器30可接著解碼與變換係數相關聯的剩餘信息(例如,正負號、層級等)。在其中視頻解碼器30解碼last X和last_y語法元素兩者的實例中,視頻解碼器30可在對最後有效係數的last_x和last_y兩者解碼之後更新概率,或可在解碼last_x和last_y的每一者之後更新概率。
[0134]以與參看圖6A描述類似的方式,視頻解碼器30可以掃描次序將圖6B的塊210劃分為子集212、214、216和218。即,在圖6B所示的實例中,第一子集212包含呈掃描次序的第一 16個變換係數,第二子集214包含呈掃描次序的接下來16個變換係數,第三子集216包含呈掃描次序的接下來16個變換係數,且第四子集218包含呈掃描次序的最終16個變換係數。視頻解碼器30可接著執行如參看圖6A描述的類似概率模型更新過程。
[0135]雖然圖6A和6B所示的實例大體說明對角掃描模式,如上文參看圖5A和5B所述,但可使用多種其它掃描模式,例如鋸齒狀模式、自適應掃描次序、水平模式、垂直模式等。
[0136]另外,雖然圖6A和6B所示的實例說明具有包含16個變換係數的子集的變換係數的8x8塊,但應理解,本發明的技術可應用於其它大小的塊以及具有任何數目的變換係數的子集。舉例來說,子集可為變換單元(TU)的n個變換係數的任何集合,其中n為小於TU的變換係數的數目的某一數目。在出於說明的目的的其它實例中,變換係數的32x32塊可劃分為32個子集,每一子集具有32個變換係數,或變換係數的8x8塊可劃分為兩個子集,每一子集具有32個變換係數。其它實例也是可能的。
[0137]舉例來說,子集可包含呈任何連續掃描次序(例如,水平、垂直、對角、自適應,或某一其它掃描次序)的16個連續係數。
[0138]圖7A和7B大體說明根據本發明的方面將與視頻數據塊相關聯的變換係數塊以子塊的形式劃分為子集。雖然圖7A和7B是相對於視頻解碼器30(圖1和3)描述,但應理解,本發明的技術可由多種其它視頻解碼器實行,包含視頻編碼器20(圖1和2)、其它處理器、處理單元、基於硬體的解碼單元(例如,編碼器/解碼器(CODEC))等。
[0139]參看圖7A,根據本發明的方面,視頻解碼器30可在對塊220進行解碼的同時將塊220劃分為子塊222A、222B、222C和222D (統稱為子塊222)。在圖7A所示的實例中,第一子塊222k包含定位在塊220的左上角的變換係數的4x4塊,第二子塊222B包含定位在塊220的左下角的變換係數的4x4塊,第三子塊222C包含定位在塊220的右上角的變換係數的4x4塊,且第四子塊222D包含定位在塊220的右下角的變換係數的4x4塊。
[0140]在一些實例中,視頻解碼器30可使用統一掃描來掃描子塊222的變換係數。舉例來說,視頻解碼器30可使用圖7A所示的對角掃描來掃描有效性信息(例如,有效性圖)和係數層級。在其它實例中,視頻解碼器30可使用逆掃描或具有其它定向的掃描來掃描變換係數的分量(例如,有效性、正負號、層級等)。舉例來說,視頻解碼器30可通過使用前向鋸齒狀掃描將每一正方形(或矩形)8x8塊和更大塊的變換係數層級圖的絕對值映射到4x4子塊的經排序集合(例如,向量)上。視頻解碼器30可接著以逆鋸齒狀掃描處理每一 4x4子塊內部的變換係數層級以產生變換係數層級的向量。
[0141]在一些實例中,為了對子塊222進行解碼,視頻解碼器30可執行第一遍次以對有效性信息進行解碼。視頻解碼器30可接著執行用以對變換係數層級的二進位I解碼的另一遍次、用以對變換係數層級的剩餘二進位解碼的另一遍次,以及用以對變換係數層級的正負號解碼的另一遍次。在完成子塊222中的一者後,視頻解碼器30可即刻執行下一子塊的解碼遍次直到塊220已完全解碼為止。在其它實例中,可實施替代數目的解碼遍次。
[0142]根據本發明的方面,視頻解碼器30可將與上下文自適應解碼過程相關聯的概率更新與子塊222聯繫。舉例來說,在塊220的解碼期間,視頻解碼器30可初始使用概率模型的第一集合解碼子塊222A。概率模型的第一集合可不在對子塊222k進行解碼期間更新,使得視頻解碼器30使用概率模型的第一集合解碼整個子塊222A。另外,視頻解碼器30可收集並存儲與在對子塊222A進行解碼的同時應用的概率模型的第一集合相關聯的統計(例如,上下文的狀態)。
[0143]根據本發明的方面,在對子塊222k進行解碼之後,視頻解碼器30可使用所存儲的概率統計更新概率模型的第一集合。視頻解碼器30可接著使用此經更新的概率模型的第二集合來對變換係數的第二子塊222B解碼。視頻解碼器30可以此方式繼續解碼塊220直到塊220已經解碼為止。即,在對第二子塊222B解碼之後,視頻解碼器30可使用在第二子塊的解碼期間存儲的統計來更新概率模型,且使用經更新的概率模型來解碼第三子塊222C。此外,視頻解碼器30可執行相同過程來解碼第四子塊222D。
[0144]在一些實例中,代替於等待更新概率模型直到特定子集的所有二進位已經解碼為止,視頻解碼器30可在每一子集的每一解碼遍次之後更新概率。在此實例中,視頻解碼器30可使子集內的一個遍次的概率模型的更新過程與子集的其它遍次並行化。
[0145]在其它實例中,視頻解碼器30可在對子集的預定數目的二進位進行解碼之後更新概率。舉例來說,視頻解碼器30可在對變換係數層級進行解碼之前對有效性圖進行解碼。在此實例中,視頻解碼器30可對有效性圖解碼且在對有效性圖進行解碼之後更新概率。視頻解碼器30可接著解碼與變換係數相關聯的剩餘信息(例如,正負號、層級等)。在其中視頻解碼器30解碼last_x和法元素兩者的實例中,視頻解碼器30可在對最後有效係數的last_x和last_y兩者解碼之後更新概率,或可在解碼last_x和last_y的每一者之後更新概率。
[0146]以與參看圖7A描述類似的方式,視頻解碼器30可在對塊220進行解碼的同時將圖7B的塊224劃分為子塊226A、226B、226C和226D。在圖7B所示的實例中,第一子塊226A包含定位在塊224的右下角的變換係數的4x4塊,第二子塊226B包含定位在塊224的右上角的變換係數的4x4塊,第三子塊226C包含定位在塊224的左下角的變換係數的4x4塊,且第四子塊226D包含定位在塊224的左上角的變換係數的4x4塊。
[0147]為促進圖7B所示的逆掃描(相對於圖7A),在一些實例中,視頻解碼器30可首先識別塊224的最後有效係數。在識別最後有效係數之後,視頻解碼器30可應用圖7B所示的掃描,且可接著執行如參看圖7A描述的類似的概率模型更新過程。
[0148]雖然圖7A和7B所示的實例大體說明對角掃描模式,如上文參看圖5A和5B所述,但可使用多種其它掃描模式,例如鋸齒狀模式、自適應掃描次序、水平模式、垂直模式等。
[0149]另外,雖然圖7A和7B所示的實例說明具有4x4子塊的變換係數的8x8塊,但應理解,本發明的技術可應用於其它大小的塊以及其它大小的子塊。舉例來說,子塊可包含變換單元(TU)的變換係數的任何n X n塊,其中n X n小於TU的大小。另外,如圖7A和7B所示的相等大小的子塊可對實現硬體效率提供某一幫助(例如,硬體可經優化以與靜態子塊大小協作)。然而,在其它實例中,本發明的技術可應用於具有不同大小的子塊。
[0150]此外,圖7A和7B說明正以大體鋸齒狀模式掃描的子塊222和子塊226。S卩,在圖7A所示的實例中,子塊222A的掃描之後是子塊222B的掃描,再之後是子塊222C和222D的掃描。在圖7B所示的實例中,子塊226A的掃描之後是子塊226B的掃描,再之後是子塊226C和226D的掃描。然而,應理解,圖7A和7B僅出於實例的目的而提供。即,在其它實例中,子塊222和子塊226可以不同次序掃描。在出於說明的目的的實例中,參看圖7A,子塊222A的掃描之後可為子塊222C或子塊222D。[0151]另外,子塊222或226中的一者以上可在子塊222或226本身正掃描之前完全解碼。即,在對子塊222和226進行解碼之後,子塊本身可根據特定掃描次序掃描。在一些實例中,子塊222或226可經對角掃描,但也可使用例如鋸齒狀、水平和垂直等其它掃描。用於在子塊內掃描以及用於掃描子塊本身的特定掃描可取決於用於產生變換係數的殘餘數據的幀內模式。
[0152]圖8大體說明使用上下文自適應解碼技術(例如,CABAC)對有效性圖進行解碼。雖然圖8大體相對於視頻解碼器30(圖1和3)描述,但應理解,本發明的技術可由多種其它視頻解碼器實行,包含視頻編碼器20(圖1和2)、其它處理器、處理單元、基於硬體的解碼單元(例如,編碼器/解碼器(CODEC))等。
[0153]根據圖8所示的實例,視頻解碼器30初始選擇用於解碼二進位化變換係數的特定二進位的上下文(240)。如上所述,語法元素的二進位的上下文可包含先前經解碼語法元素的相關二進位的值。上下文可涉及例如對於與當前正解碼的符號相鄰的符號來說值為零還
是非零。
[0154]視頻解碼器30接著加載對應於選定上下文的概率(例如,上下文的狀態)(「上下文加載」(242))。即,視頻解碼器30確定與概率模型相關聯的上下文的狀態。視頻解碼器30接著使用經加載概率解碼當前二進位(「二進位解碼」(244))。根據圖8所示的實例,視頻解碼器30以串行方式(例如,逐二進位為基礎)更新算術解碼器的範圍。因此,在對特定二進位進行解碼之後,視頻解碼器30接著以特定二進位的值更新算術解碼器的範圍(「範圍更新」(246))。
[0155]圖8所示的範圍更新(246)在解碼過程中引入串行相依性。即,隨後的二進位具有對操作「二進位解碼」(244)的串行相依性。即,「二進位解碼」需要在解碼隨後的二進位之前完成。另外,視頻解碼器30基於經解碼二進位更新概率(「關於當前狀態的上下文更新」(248))。在圖8所示的實例中,視頻解碼器30使用經更新上下文解碼下一二進位(「上下文更新」(250))。因此,隨後的二進位也具有對於操作「關於當前狀態的上下文更新」的串行相依性。即,「關於當前狀態的上下文更新」(248)步驟需要在解碼隨後的二進位之前完成。視頻解碼器30以此方式繼續直到特定塊的所有二進位已經解碼為止。視頻解碼器30接著移動到下一視頻數據塊(「塊迴路」(252))。
[0156]在出於說明的目的的實例中,視頻解碼器30可使用同一概率模型(例如,概率模型A)連續地解碼視頻數據塊的二進位序列(例如,bin(0)、bin(l)、...bin(n))。換句話說,針對二進位導出的上下文(例如,使用上下文索引ctx(0)、ctx(I)、...ctx(n)指示的)可各自對應於用於對相應二進位解碼的同一概率模型。在此實例中,在對二進位中的給定一者解碼之後,視頻解碼器30必須在概率模型可用於解碼任何後續二進位之前基於當前二進位的值更新概率模型(步驟248)。更新概率模型允許所述模型反映使用具有給定值的模型解碼的二進位的最當前概率。如此,使用在先前解碼循環(即,先前二進位的解碼)完成之後更新的概率模型解碼視頻數據塊的特定二進位可在連續解碼循環之間產生延遲。特定來說,概率模型不能容易地用於在解碼先前二進位之後立即對特定二進位進行解碼。因此,二進位序列的解碼可能不如使用其它方法解碼序列那樣成流線型。
[0157]因此,「範圍更新」和「上下文更新」步驟包含編碼器和解碼器兩者處的反饋迴路。此類反饋迴路可產生計算瓶頸,因為可能歸因於反饋迴路中的相依性而難以增加處理量。即,直到來自先前二進位的概率模型已經更新才可處理一個二進位。根據如當前提議的HEVC,可以高頻率連續(逐二進位)調用同一上下文索引。在一實例中,可表示經解碼的總二進位的25%到35%的有效性旗標解碼的上下文可經連續調用。反覆調用同一上下文且等待在每一二進位之後更新模型可產生視頻解碼器30的處理量的瓶頸。
[0158]在一些實例中,為避免此瓶頸,視頻解碼器30可存儲某些統計(例如,上下文的狀態)且在對整個視頻數據塊進行解碼之後更新一個或一個以上上下文。以此方式,隨後的塊使用如當前塊更新的概率,且與更新上下文相關聯的延遲每個塊僅發生一次。然而,總解碼性能可衰減,因為概率並非逐二進位更新,且可能因此不太準確。
[0159]如上所述,雖然相對於以視頻解碼器30解碼數據而描述,但與如圖8中描述的技術類似或相同的技術可以另一視頻解碼器(例如,視頻編碼器20)執行。
[0160]圖9大體說明根據本發明的方面其中可在對子集進行解碼之後更新上下文的經修改上下文自適應解碼過程。雖然圖9大體相對於視頻解碼器30(圖1和3)描述,但應理解,本發明的技術可由多種其它視頻解碼器(包含視頻編碼器20(圖1和2))、其它處理器、處理單元、基於硬體的解碼單元(例如,編碼器/解碼器(CODEC))等實行。
[0161]在圖9所示的實例中,視頻解碼器30首先將所有相關上下文的當前狀態存儲到存儲器(280)。作為一實例,對於變換係數解碼,將僅存儲變換係數解碼中使用的上下文的狀態。視頻解碼器30接著選擇用於解碼經二進位化變換係數的特定二進位的上下文(282)。視頻解碼器30接著加載對應於選定上下文的概率(例如,上下文的狀態)(「上下文加載」(284))。視頻解碼器30接著使用經加載概率解碼當前二進位(「二進位解碼」(286))。視頻解碼器30還逐二進位更新算術解碼器的範圍(「範圍更新」(288))。
[0162]根據本發明的方面,代替於更新用於對下一二進位進行解碼的上下文(如例如圖8所示),視頻解碼器30可存儲與在二進位的解碼期間使用的上下文相關聯的概率的概率統計(290)。即,視頻解碼器30可存儲基於經解碼二進位的上下文的經更新狀態。因此,用於對下一二進位進行解碼的概率不變,且不存在對塊迴路內的經更新概率的相依性。實際上,視頻解碼器30繼續對子集的所有二進位進行解碼(「子集迴路」(292))
[0163]在子集的解碼之後,根據本發明的方面,視頻解碼器30可將所存儲的上下文設定為用於對下一子集進行解碼的當前上下文(294)。即,視頻解碼器30可基於在先前子集的解碼期間收集的所存儲的概率統計更新一個或一個以上概率模型。因此,視頻解碼器30可使用經更新的概率解碼隨後的子集。由於更新和存儲操作是在子集迴路以外執行,所以所述操作不會在每一二進位之後引起延遲。實際上,與更新上下文相關聯的延遲每個子集僅發生一次。在圖9所示的實例中,用於存儲在塊的解碼期間的上下文狀態更新所需的存儲器可等於正解碼的二進位的上下文大小。舉例來說,如果視頻解碼器正解碼與視頻數據塊相關聯的變換係數,那麼變換係數解碼期間使用的上下文可需要存儲。
[0164]如上所述,雖然相對於以視頻解碼器30解碼數據而描述,但與如圖9中描述的技術類似或相同的技術可以另一視頻解碼器(例如,視頻編碼器20)執行。
[0165]圖10是說明根據本發明的方面對視頻數據塊進行熵解碼的實例技術的流程圖。圖10所示的實例大體描述為由視頻解碼器執行。即,舉例來說,在其中視頻解碼器為視頻編碼器的實例中,所述編碼器可使用概率模型對目標符號進行解碼。在其中視頻解碼器為視頻解碼器的實例中,所述解碼器可使用概率模型對目標符號進行剖析。因此,應理解,相對於圖10展示和描述的技術可由視頻編碼器20 (圖1和2)、視頻解碼器30 (圖1和3),或其它處理器、處理單元、基於硬體的解碼單元(例如,編碼器/解碼器(CODEC))等多種其它處理器實行。
[0166]在圖10所示的實例中,視頻解碼器以一個或一個以上概率模型使用上下文自適應解碼對變換係數的第一子集進行解碼(302)。舉例來說,視頻解碼器可對變換係數的第一子集進行CABAC解碼。如上所述,第一子集可包含呈掃描次序的預定數目的變換係數,或可包含變換係數的子塊。因此,視頻數據塊可通常包含n / m個子集,其中n表示變換係數的數目,且m表示每一子集中變換係數的數目。
[0167]在對變換係數的第一子集進行解碼的同時,視頻解碼器可存儲與用於對第一子集進行解碼的概率模型相關聯的概率模型統計(302)。舉例來說,視頻解碼器可存儲在對第一子集的每一二進位進行解碼之後上下文的狀態。上下文的狀態可指示基於正解碼的二進位的值的特定概率。視頻解碼器還可存儲用於產生概率的實際二進位值。
[0168]接著,在對第一子集的最終係數進行解碼之後,視頻解碼器可基於所存儲的概率模型統計更新概率模型(304)。視頻解碼器可接著使用經更新的概率模型對變換係數的第二子集進行解碼(306)。應理解,相對於圖10描述的技術可針對變換係數的二進位的子集執行。即,子集的一些二進位不能使用上下文自適應解碼來解碼,而是在不更新概率的情況下以繞過模式解碼。
[0169]圖10中描述的技術可在增加的處理量與準確的概率之間找到平衡。舉例來說,圖10中描述的技術可增強每一子集的並行化(例如,允許並行地對多個二進位進行解碼),同時還使用針對後續經解碼的子集的更準確的概率。
[0170]還應理解,相對於圖10展示和描述的步驟僅作為一個實例提供。即,圖10的方法的步驟不需要一定以圖10所示的次序執行,且可執行較少、額外或替代步驟。
[0171]圖11是說明根據本發明的方面使用延遲狀態更新上下文自適應熵解碼對二進位序列320進行解碼的概念圖。雖然圖11大體相對於視頻解碼器30(圖1和3)描述,但應理解,本發明的技術可由多種其它視頻解碼器(包含視頻編碼器20(圖1和2))、其它處理器、處理單元、基於硬體的解碼單元(例如,編碼器/解碼器(CODEC))等實行。
[0172]如圖11所示,視頻解碼器30可對包含二進位BIN(O)-BIN(N) 322-330的二進位序列320進行解碼。二進位BIN(O)-BIN(N) 322-330各自與對應於存儲在上下文緩衝器CTXB (0)-CTXB (N) 332-340中的概率模型的上下文索引相關聯。此處,上下文緩衝器CTXB (K)存儲對應於在BIN(K-1)已經解碼且對應於BIN(K-1)的上下文狀態已更新之後的所有上下文的狀態。在圖11的實例中,作為初始化解碼循環的一部分,視頻解碼器30可使用存儲在上下文緩衝器CTXB(0)332中的初始概率模型(其可稱為初始「修訂」)解碼BIN(O) 322。
[0173]根據本發明的方面,視頻解碼器30可使用對應於在其相應解碼循環之前至少兩個解碼循環的概率模型修訂來解碼後續二進位BIN(I) -BIN(N) 324-330,所述概率模型修訂可存儲在上下文緩衝器CTXB (0) -CTXB (N-1)中。舉例來說,視頻解碼器30可使用在相對於其當前解碼循環的先前解碼循環之前發生的概率模型修訂來解碼BIN(I)-BIN(N) 324-330
的每一者。
[0174]在出於說明的目的的實例中,視頻解碼器30可使用存儲在CTXB (0)332中的初始概率模型修訂來解碼BIN(I) 324。此初始概率模型修訂在解碼BIN(O) 322之前存在或「發生」。同樣,視頻解碼器30可使用存儲在CTXB(I)中的概率模型修訂對BIN(2)326進行解碼,所述概率模型修訂在解碼BIN(I) 324之前存在。
[0175]雖然圖11所示的實例大體說明兩個循環狀態延遲,但本發明的技術通常適用於具有額外延遲循環的延遲狀態更新。舉例來說,根據本發明的方面,視頻解碼器30可使用存儲在CTXB (0)中的概率模型修訂(例如,三個循環延遲)對BIN (2) 326進行解碼。還可實施額外延遲狀態循環(例如,四個循環延遲、五個循環延遲等)。
[0176]在一些實例中,延遲循環的數目可對應於待並行解碼的二進位的數目。舉例來說,圖11所示的實例可通常允許並行解碼兩個二進位而不會引起與更新二進位之間的概率相關聯的延遲。即,視頻解碼器30可並行解碼BIN(I) 324和BIN (2) 326,而不會引起與狀態更新相關聯的延遲,因為二進位使用已確定的概率模型修訂。延遲的額外循環可允許並行解碼更多二進位。
[0177]相對於圖11展示和描述的技術可與任何上下文自適應熵解碼方法一起使用,包含CAVLC、CABAC、PIPE或另一上下文自適應熵解碼方法。此外,相對於圖11展示和描述的技術可通常應用於其它數據的其它算術解碼(例如,音頻數據或多種其它數據)。舉例來說,圖11的技術可用於執行延遲的概率更新。
[0178]作為一實例,出於說明的目的,假定正在編碼或解碼符號序列,例如symbol (0)、symbol (I)、...、symbol (n)等。所述符號可由視頻數據、音頻數據或任何其它數據產生。此外,假定每一符號可採取A、B、C和D表示的四個值。另外,假定不同上下文模型可與每一符號相關聯,但出於說明的目的,所有符號使用同一上下文。另外,假定針對每一上下文維持單獨的概率模型(例如,針對A、B、C和D的概率)。通常,在對符號symbol (0)進行解碼之後,針對contexts)的概率模型將經更新以考慮到symbol (0)的實際值。然而,如圖11所示,本發明的技術可包含實施概率模型更新延遲,使得概率模型更新過程被延遲直到正對一個或一個以上將來符號進行解碼為止。舉例來說,對於延遲1,經更新模型(例如,在對符號symbol (0)進行解碼之後)可用於對符號symbol (2)進行解碼。在此實例中,緩衝器(類似於上文描述的上下文緩衝器CTXB)可用於存儲概率模型。
[0179]圖12說明根據本發明的方面使用延遲狀態更新上下文自適應熵解碼對二進位序列進行解碼的實例技術。圖12所示的實例通常描述為由視頻解碼器執行。即,舉例來說,在其中視頻解碼器為視頻編碼器的實例中,所述編碼器可使用概率模型對目標符號(例如,二進位)進行解碼。在其中視頻解碼器為視頻解碼器的實例中,所述解碼器可使用概率模型對目標符號(例如,二進位)進行解碼。因此,應理解,相對於圖10展示和描述的技術可由視頻編碼器20(圖1和2)、視頻解碼器30(圖1和3),或多種其它處理器、處理單元、基於硬體的解碼單元(例如,編碼器/解碼器(CODEC))等實行。
[0180]在圖12所示的實例中,視頻解碼器初始確定在熵解碼循環期間二進位的上下文(360)。如上所述,熵解碼循環通常包含確定對應於用於對二進位進行解碼的概率模型的上下文,以及應用概率模型對二進位進行解碼。
[0181]視頻解碼器可接著基於上下文選擇概率模型,其中基於在當前解碼循環之前至少兩個循環解碼的先前經解碼二進位的值更新概率模型(362)。舉例來說,通常,二進位(例如,bin(n))的上下文可使用對應於概率模型的上下文索引(例如,ctx(n))來指示。然而,根據本發明的技術,視頻解碼器可使用在對塊的先前二進位進行解碼之前(即,在對當前二進位進行解碼之前至少兩個解碼迭代或循環)更新的概率模型對視頻數據塊的特定二進位進行解碼。因此,如下文更詳細描述,視頻解碼器可避免當使用概率模型對多個連續二進位進行解碼時由於在使用所述模型對二進位進行解碼之後更新所述模型引起的延遲。
[0182]在出於說明的目的的實例中,假定通過執行CABAC過程連續對視頻數據塊的二進位序列(例如,bin(0)、bin(l)、...、bin(n-l)和bin(n))進行解碼。假定,在此實例中,用於對 bin (0)、bin (I)、...、bin (n-1)和 bin (n)進行解碼的上下文由 ctx (0)、ctx (I)、...、ctx (n-1)和ctx(n)表示。另外,假定對應於所有上下文的概率模型(或狀態)存儲在ctxBuffer (0)、ctxBuffer (I)、? ? ?、ctxBuffer (n-1)和 ctxBuffer (n)中。此處,上下文緩衝器ctxBuffer (K)存儲對應於bin(K-1)已經解碼且對應於bin(K-1)的上下文狀態已更新之後的所有上下文的狀態。可需要使用此緩衝器來維持用於對二進位進行解碼的概率模型的多個型式或「修訂」。概率模型可由初始狀態界定,且如先前描述可受先前經解碼二進位(即,bin(0)、bin(l)、…> bin (n-1))影響。根據新興的HEVC和H.264標準,執行以下步驟對bin (n)進行解碼:
[0183]1.確定將用於對bin(n)進行解碼的上下文ctx(n)。
[0184]2.從上下文緩衝器ctxBuffer (n)檢索ctx (n)的概率模型。
[0185]3.使用概率模型編碼bin (n)。
[0186]4.基於bin(n)更新概率模型。經更新的概率模型包含在ctxBuffer (n+1)中。
[0187]如上文展示的過程所說明,直到所有步驟完成,CABAC過程才可繼續以對下一二進位(例如,bin(n+l))進行解碼,這可產生解碼過程中的延遲。根據本發明的方面,視頻解碼器可使用CtxBuffeHn-K)中包含的概率模型對bin(n)進行解碼。即,舉例來說,本發明的方面包含修改上文展示的過程`的步驟2,使得視頻解碼器從上下文緩衝器CtxBuffeHn-K)檢索ctx(n)的概率模型。在其中「n」小於或等於「K」的實例中,視頻解碼器可使用ctxBuffer (0)。
[0188]索引「K」可等於任何正非零整數值。舉例來說,對於「K」值「1」,上下文緩衝器ctxBuffer (n-1)包含在當前解碼循環之前兩個解碼循環更新的概率模型。特定來說,包含在ctxBuffer (n_l)中的概率模型可對應於包含在ctxBuffer (n_2)中的在對bin(n_2)進行解碼之後更新的概率模型。
[0189]根據本發明的方面,視頻解碼器可使用初始概率模型對序列的第一和第二二進位進行解碼。舉例來說,視頻解碼器可使用CtxBufTer(O)對給定序列的bin(0)和bin(l)兩者進行解碼。Bin(O)可以此方式進行解碼,因為不存在先前更新的概率模型。Bin(I)可以此方式進行解碼以避免可由於基於待包含在CtxBuffer(I)中的bin(0)的值更新包含在CtxBuffer(O)中的概率模型而引起的狀態更新延遲。因此,在一些實例中,可在對預定數目的二進位進行解碼之後執行步驟362。
[0190]在選擇概率模型(362)之後,視頻解碼器可應用概率模型對二進位進行解碼(364)。視頻解碼器可接著基於二進位的值更新概率模型(366)。通過避免與上下文自適應解碼中的狀態更新相關聯的延遲,相對於圖12展示和描述的方面可實現當在視頻解碼中執行CABAC過程時視頻數據塊的殘餘變換係數的有效解碼。另外,在其中使用上下文分割的實例中,可針對每一上下文分區應用本發明的技術。[0191]如上文參看圖11所述,雖然上文相對於二進位視頻解碼描述,但應理解,延遲狀態更新技術可通常應用於其它數據的其它算術解碼。另外,還應理解,相對於圖12展示和描述的步驟僅提供作為一個實例。即,圖12的方法的步驟不需要一定以圖12所示的次序執行,且可執行更少、額外或替代步驟。
[0192]應理解,依據實例,本文描述的方法的任一者的某些動作或事件可以不同序列執行,可添加、合併或一起刪除(例如,並非所有所描述的動作或事件對於方法的實踐都是必需的)。此外,在某些實施例中,可同時(例如,通過多線程處理、中斷處理或多個處理器)而非順序地執行動作或事件。
[0193]在一個或一個以上實例中,所描述的功能可以硬體、軟體、固件或其任何組合來實施。如果實施在軟體中,那麼所述功能可作為一個或一個以上指令或代碼存儲在計算機可讀媒體上或經由計算機可讀媒體發射,且由基於硬體的處理單元執行。計算機可讀媒體可包含對應於例如數據存儲媒體等有形媒體的計算機可讀存儲媒體,或包含促進將電腦程式從一處轉移到另一處(例如,根據通信協議)的任何媒體的通信媒體。
[0194]以此方式,計算機可讀媒體通常可對應於(I)非暫時性的有形計算機可讀存儲媒體,或(2)例如信號或載波等通信媒體。數據存儲媒體可為可由一個或一個以上計算機或一個或一個以上處理器存取以檢索指令、代碼和/或數據結構以用於實施本發明中描述的技術的任何可用媒體。電腦程式產品可包含計算機可讀媒體。
[0195]藉助實例而非限制,此類計算機可讀存儲媒體可包括RAM、ROM、EEPROM、CD-ROM或其它光碟存儲裝置、磁碟存儲裝置,或其它磁性存儲裝置、快閃記憶體,或可用於存儲指令或數據結構的形式的所要程序代碼且可由計算機存取的任何其它媒體。同樣,恰當地將任何連接稱作計算機可讀媒體。舉例來說,如果使用同軸電纜、光纖電纜、雙絞線、數字訂戶線(DSL)或例如紅外線、無線電及微波的無線技術從網站、伺服器或其它遠程源傳輸指令,則同軸電纜、光纖電纜、雙絞線、DSL或例如紅外線、無線電及微波的無線技術包含於媒體的定義中。
[0196]然而,應理解,計算機可讀存儲媒體和數據存儲媒體不包含連接、載波、信號或其它瞬時媒體,而是針對非瞬時有形存儲媒體。如本文中所使用,磁碟及光碟包含壓縮光碟(CD)、雷射光碟、光學光碟、數字多功能光碟(DVD)、軟磁碟及藍光光碟,其中磁碟通常磁性地複製數據,而光碟使用雷射光學地複製數據。上文的組合也應包含在計算機可讀媒體的範圍內。
[0197]指令可由例如一個或一個以上數位訊號處理器(DSP)、通用微處理器、專用集成電路(ASIC)、現場可編程邏輯陣列(FPGA),或其它等效集成或離散邏輯電路等一個或一個以上處理器執行。因此,如本文中所使用的術語「處理器」可指上述結構或適合於實施本文中所描述的技術的任一其它結構中的任一者。另外,在一些方面中,本文描述的功能性可提供在經配置用於編碼和解碼的專門硬體和/或軟體模塊內,或併入在組合式編解碼器中。並且,可將所述技術完全實施於一個或一個以上電路或邏輯元件中。
[0198]本發明的技術可實施在廣泛多種裝置或設備中,包含無線手持機、集成電路(IC)或IC組(例如,晶片組)。本發明中描述各個組件、模塊或單元以強調經配置以執行所揭示的技術的裝置的功能方面,且不一定要求由不同硬體單元實現。實際上,如上所述,各個單元可組合在編解碼器硬體單元中或由互操作硬體單元(包含如上所述的一個或一個以上處理器)結合適宜的軟體和/或固件的集合提供。
[0199]已描述本發明的各個方面。這些及其它方面均處於所附權利要求書的範圍內。
【權利要求】
1.一種對數據進行解碼的方法,所述方法包括:根據上下文自適應熵解碼過程對二進位序列進行解碼,其中用於對所述二進位序列的至少一個二進位進行解碼的當前解碼循環包含:確定所述二進位的上下文;基於所述上下文選擇概率模型,其中所述概率模型是基於以所述上下文進行解碼且在所述當前解碼循環之前至少兩個解碼循環進行解碼的先前二進位的值而更新;應用所述概率模型對所述二進位進行解碼;以及基於所述二進位的值更新所述概率模型。
2.根據權利要求1所述的方法,其中將所述概率模型存儲到上下文緩衝器,其中所述至少兩個解碼循環包括K個循環的延遲,且其中選擇所述概率模型包括在所述當前解碼循環之前至少(K+1)個循環選擇存儲在所述上下文緩衝器中的所述概率模型。
3.根據權利要求1所述的方法,其中所述二進位序列的兩個或兩個以上連續二進位是各自使用其相應解碼循環進行解碼,且其中針對所述兩個或兩個以上二進位中的每一者確定的相應上下文包括同一上下文。
4.根據權利要求1所述的方法,其中所述二進位序列的所述至少一個二進位包括除所述序列的初始二進位以外的所述序列的任何二進位,以及在解碼次序中在所述初始二進位之後的二進位,所述方法進一步包括用於對所述初始二進位和所述初始二進位之後的所述二進位中的每一者進行解碼的初始化解碼循環,包含:確定所述相應二進位的初始化上下文;基於所述初始化上下文選擇初始化概率模型;應用基於所述初始化上下文的所述`初始化概率模型對所述相應二進位進行解碼;以及基於所述相應二進位的值更新所述初始化概率模型。
5.根據權利要求1所述的方法,其中根據所述上下文自適應熵解碼過程對所述二進位序列進行解碼包括對有效性二進位進行解碼,且所述方法進一步包括使用非上下文自適應解碼過程對層級二進位進行解碼。
6.根據權利要求1所述的方法,其中所述二進位序列包括第一分區,且所述方法進一步包括與所述第一分區並行地對第二分區的第二二進位序列進行解碼。
7.根據權利要求1所述的方法,其進一步包括並行地對所述二進位序列的至少兩個二進位進行解碼。
8.根據權利要求1所述的方法,其中所述上下文自適應熵解碼過程包括上下文自適應二進位算術解碼CABAC過程。
9.根據權利要求1所述的方法,其中對所述二進位序列進行解碼包括編碼所述二進位序列。
10.根據權利要求9所述的方法,其進一步包括,在編碼所述二進位序列之前:向視頻數據塊的一個或一個以上殘餘值應用變換以產生變換係數;以及量化所述變換係數以產生經量化變換係數;以及將所述經量化變換係數二進位化以產生所述二進位序列。
11.根據權利要求1所述的方法,其中對所述二進位序列進行解碼包括解碼所述二進位序列。
12.根據權利要求11所述的方法,其進一步包括:對所述二進位序列進行逆量化以產生變換係數;以及向所述經逆量化二進位序列應用逆變換以產生視頻數據塊的殘餘值。
13.一種用於對數據進行解碼的設備,所述設備包括一個或一個以上處理器,所述處理器經配置以:根據上下文自適應熵解碼過程對二進位序列解碼,其中用於對所述二進位序列的至少一個二進位進行解碼的當前解碼循環包含:確定所述二進位的上下文;基於所述上下文選擇概率模型,其中所述概率模型是基於以所述上下文進行解碼且在所述當前解碼循環之前至少兩個解碼循環進行解碼的先前二進位的值而更新;應用所述概率模型對所述二進位進行解碼;以及基於所述二進位的值更新所述概率模型。
14.根據權利要求13所述的設備,其中所述設備進一步包括存儲所述概率模型的上下文緩衝器,其中所述至少兩個解碼循環包括K個循環的延遲,且其中選擇所述概率模型包括在所述當前解碼循環之前至少(K+1)個循環選擇存儲在所述上下文緩衝器中的所述概率模型。
15.根據權利要求13所述的設備,其中所述二進位序列的兩個或兩個以上連續二進位是各自使用其相應解碼循環進行解碼,且其中針對所述兩個或兩個以上二進位中的每一者確定的相應上下文包括同一上下文。
16.根據權利要求13所述的設備,其中所述二進位序列的所述至少一個二進位包括除所述序列的初始二進位以外的所述序列的任何二進位,以及在解碼次序中在所述初始二進位之後的二進位,進一步包括用於對所述初始二進位和所述初始二進位之後的所述二進位中的每一者進行解碼的初始化解碼循環,包含:確定所述相應二進位的初始化上下文;基於所述初始化上下文選擇初始化概率模型;應用基於所述初始化上下文的所述初始化概率模型對所述相應二進位進行解碼;以及基於所述相應二進位的值更新所述初始化概率模型。
17.根據權利要求13所述的設備,其中根據所述上下文自適應熵解碼過程對所述二進位序列進行解碼包括對有效性二進位進行解碼,且進一步包括使用非上下文自適應解碼過程對層級二進位進行解碼。
18.根據權利要求13所述的設備,其中所述二進位序列包括第一分區,且其中所述一個或一個以上處理器進一步經配置以與所述第一分區並行地對第二分區的第二二進位序列進行解碼。
19.根據權利要求13所述的設備,其中所述一個或一個以上處理器進一步經配置以並行地對所述二進位序列的至少兩個二進位進行解碼。
20.根據權利要求13所述的設備,其中所述上下文自適應熵解碼過程包括上下文自適應二進位算術解碼CABAC過程。
21.根據權利要求13所述的設備,其中所述一個或一個以上處理器經配置以編碼所述二進位序列。
22.根據權利要求21所述的設備,其中所述一個或一個以上處理器進一步經配置以,在編碼所述二進位序列之前:向視頻數據塊的一個或一個以上殘餘值應用變換以產生變換係數;以及量化所述變換係數以產生經量化變換係數;以及將所述經量化變換係數二進位化以產生所述二進位序列。
23.根據權利要求13所述的設備,其中所述一個或一個以上處理器經配置以解碼所述二進位序列。
24.根據權利要求23所述的設備,其中所述一個或一個以上處理器進一步經配置以:對所述二進位序列進行逆量化以產生變換係數;以及向所述經逆量化二進位序列應用逆變換以產生視頻數據塊的殘餘值。
25.一種用於對數據進行解碼的設備,所述設備包括:用於根據上下文自適應熵解碼過程對二進位序列進行解碼的裝置,其中用於對所述二進位序列的至少一個二進位進行解碼的當前解碼循環包含:確定所述二進位的上下文;基於所述上下文選擇概率模型,其中所述概率模型是基於以所述上下文進行解碼且在所述當前解碼循環之前至少兩個解碼循環進行解碼的先前二進位的值而更新;應用所述概率模型對所述二進位進行解碼;以及基於所述二進位的值更新所述概率模型。
26.根據權利要求25所述的設備,其中所述設備進一步包括用於存儲所述概率模型的裝置,其中所述至少兩個解碼循環包括K個循環的延遲,且其中選擇所述概率模型包括在所述當前解碼循環之前至少(K+1)個循環選擇存儲在用於存儲所述概率模型的裝置中的所述概率模型。
27.根據權利要求25所述的設備,其中所述二進位序列的兩個或兩個以上連續二進位是各自使用其相應解碼循環進行解碼,且其中針對所述兩個或兩個以上二進位中的每一者確定的相應上下文包括同一上下文。
28.根據權利要求25所述的設備,其中所述二進位序列的所述至少一個二進位包括除所述序列的初始二進位以外的所述序列的任何二進位,以及在解碼次序中在所述初始二進位之後的二進位,所述設備進一步包括用於使用於對所述初始二進位和所述初始二進位之後的所述二進位中的每一者進行解碼的解碼循環初始化的裝置,包含:確定所述相應二進位的初始化上下文;基於所述初始化上下文選擇初始化概率模型;應用基於所述初始化上下文的所述初始化概率模型對所述相應二進位進行解碼;以及基於所述相應二進位的值更新所述初始化概率模型。
29.根據權利要求25所述的設備,其中所述二進位序列包括第一分區,且其中所述用於解碼的裝置進一步經配置以與所述第一分區並行地對第二分區的第二二進位序列進行解碼。
30.根據權利要求25所述的設備,其中所述用於解碼的裝置進一步經配置以並行地對所述二進位序列的至少兩個二進位進行解碼。
31.根據權利要求25所述的設備,其中所述上下文自適應熵解碼過程包括上下文自適應二進位算術解碼CABAC過程。
32.—種上面存儲有指令的計算機可讀存儲媒體,所述指令當執行時致使一個或一個以上處理器:根據上下文自適應熵解碼過程對二進位序列進行解碼,其中用於對所述二進位序列的至少一個二進位進行解碼的當前解碼循環包含:確定所述二進位的上下文;基於所述上下文選擇概率模型,其中所述概率模型是基於以所述上下文進行解碼且在所述當前解碼循環之前至少兩個解碼循環進行解碼的先前二進位的值而更新;應用所述概率模型對所述二進位進行解碼;以及基於所述二進位的值更新所述概率模型。
33.根據權利要求32所述的計算機可讀存儲媒體,其中所述指令進一步致使所述一個或一個以上處理器將所述概率模型存儲到上下文緩衝器,其中所述至少兩個解碼循環包括K個循環的延遲,且其中選擇所述概率模型包括在所述當前解碼循環之前至少(K+1)個循環選擇存儲在所述上下文緩衝器中的所述概率模型。
34.根據權利要求32所述的計算機可讀存儲媒體,其中所述二進位序列的兩個或兩個以上連續二進位是各自使用其相應解碼循環進行解碼,且其中針對所述兩個或兩個以上二進位中的每一者確定的相應上下文包括同一上下文。
35.根據權利要求32所述的計算機可讀存儲媒體,其中所述二進位序列的所述至少一個二進位包括除所述序列的初始二進位以外的所述序列的任何二進位,以及在解碼次序中在所述初始二進位之後的`二進位,其中所述指令進一步致使所述一個或一個以上處理器使用於對所述初始二進位和所述初始二進位之後的所述二進位中的每一者進行解碼的解碼循環初始化,包含:確定所述相應二進位的初始化上下文;基於所述初始化上下文選擇初始化概率模型;應用基於所述初始化上下文的所述初始化概率模型對所述相應二進位進行解碼;以及基於所述相應二進位的值更新所述初始化概率模型。
36.根據權利要求32所述的計算機可讀存儲媒體,其中根據所述上下文自適應熵解碼過程對所述二進位序列進行解碼包括對有效性二進位進行解碼,且所述計算機可讀存儲媒體進一步包括用以致使所述一個或一個以上處理器使用非上下文自適應解碼過程對層級二進位進行解碼的指令。
37.根據權利要求32所述的計算機可讀存儲媒體,其中所述二進位序列包括第一分區,其中所述指令致使所述一個或一個以上處理器與所述第一分區並行地對第二分區的第二二進位序列進行解碼。
38.根據權利要求32所述的計算機可讀存儲媒體,其中所述指令致使所述一個或一個以上處理器並行地對所述二進位序列的至少兩個二進位進行解碼。
39.根據權利要求32所述的計算機可讀存儲媒體,其中所述上下文自適應熵解碼過程包括上下文自適應二進位算術解碼CABAC過程。
40.一種在視頻解碼過程中對與殘餘視頻數據相關聯的變換係數進行解碼的方法,所述方法包括:對變換係數的多個子集中的第一子集進行解碼,其中對所述第一子集進行解碼包括使用一個或一個以上概率模型對所述第一子集進行上下文自適應解碼;在對變換係數的所述第一子集進行解碼的同時存儲與所述一個或一個以上概率模型相關聯的概率模型統計;在對所述第一子集的最終係數進行解碼之後基於所述所存儲的概率模型統計更新所述概率模型;以及使用所述經更新的一個或一個以上概率模型對所述變換係數的第二子集進行解碼。
41.根據權利要求40所述的方法,其進一步包括:在對變換係數的所述第二子集進行解碼的同時存儲與所述一個或一個以上概率模型相關聯的第二概率模型統計;在對所述第二子集的最終係數進行解碼之後基於所述所存儲的第二概率模型統計更新所述概率模型;以及使用來自所述第二子集的所述經更新的概率模型對所述多個子集中的第三子集進行解碼。
42.根據權利要求40所述的方法,其中對所述第一子集進行解碼包括對與所述第一子集的所述變換係數相關聯的有效性圖進行解碼。
43.根據權利要求40所述的方法,其中所述子集包括變換係數的子塊,所述方法進一步包括連續地對所述多個子集中的每一子集進行解碼。
44.根據權利要求40所述的方法,其中所述子集包括基於所述變換係數的掃描次序循序地掃描的子集,所述方法進一步包括連續地對所述多個子集中的每一子集進行解碼。`
45.根據權利要求40所述的方法,其中:在第一掃描中對所述第一子集進行解碼包括在第一掃描中對與所述第一子集的所述變換係數相關聯的有效性圖進行解碼,以及在一個或一個以上額外掃描中對表示與所述第一子集的所述變換係數相關聯的層級信息的多個二進位進行解碼;存儲概率模型統計包括在每一掃描期間存儲所述概率模型統計;以及更新所述概率模型包括在每一掃描之後更新所述概率模型。
46.根據權利要求40所述的方法,其進一步包括與所述多個子集中的至少一個其它子集並行地對所述第一子集進行解碼。
47.根據權利要求40所述的方法,其中對所述變換係數進行解碼包括編碼所述變換係數。
48.根據權利要求40所述的方法,其中對所述變換係數進行解碼包括解碼所述變換係數。
49.一種用於對與殘餘視頻數據相關聯的變換係數進行解碼的設備,所述設備包括一個或一個以上處理器,所述一個或一個以上處理器經配置以:對變換係數的多個子集中的第一子集進行解碼,其中對所述第一子集進行解碼包括使用一個或一個以上概率模型對所述第一子集進行上下文自適應解碼;在對變換係數的所述第一子集進行解碼的同時存儲與所述一個或一個以上概率模型相關聯的概率模型統計;在對所述第一子集的最終係數進行解碼之後基於所述所存儲的概率模型統計更新所述概率模型;以及使用所述經更新的一個或一個以上概率模型對所述變換係數的第二子集進行解碼。
50.根據權利要求49所述的設備,其中所述一個或一個以上處理器進一步經配置以:在對變換係數的所述第二子集進行解碼的同時存儲與所述一個或一個以上概率模型相關聯的第二概率模型統計;在對所述第二子集的最終係數進行解碼之後基於所述所存儲的第二概率模型統計更新所述概率模型;以及使用來自所述第二子集的所述經更新的概率模型對所述多個子集中的第三子集進行解碼。
51.根據權利要求49所述的設備,其中為對所述第一子集進行解碼,所述一個或一個以上處理器經配置以對與所述第一子集的所述變換係數相關聯的有效性圖進行解碼。
52.根據權利要求49所述的設備,其中所述子集包括變換係數的子塊,其中所述一個或一個以上處理器經配置以連續地對所述多個子集中的每一子集進行解碼。
53.根據權利要求49所述的設備,其中所述子集包括基於所述變換係數的掃描次序循序地掃描的子集,其中所述一個或一個以上處理器經配置以連續地對所述多個子集中的每一子集進行解碼。
54.根據權利要求49所述的設備,其中所述一個或一個以上處理器經配置以:在第一掃描中對所述第一子集進行解碼包括在第一掃描中對與所述第一子集的所述變換係數相關聯的有效性圖進行解碼,以及在一個或一個以上額外掃描中對表示與所述第一子集的所述變換係數相關聯的層級信息的多個二進位進行解碼;存儲概率模型統計包括在每一掃描期間存儲所述概率模型統計;以及更新所述概率模型包括在每一掃描之後更新所述概率模型。
55.根據權利要求49所述的設備,其中所述一個或一個以上處理器經配置以與所述多個子集中的至少一個其它子集並行地對所述第一子集進行解碼。
56.根據權利要求49所述的設備,其中所述一個或一個以上處理器包括視頻編碼器。
57.根據權利要求49所述的設備,其中所述一個或一個以上處理器包括視頻解碼器。
【文檔編號】H03M7/40GK103563381SQ201280026675
【公開日】2014年2月5日 申請日期:2012年6月1日 優先權日:2011年6月3日
【發明者】霍埃爾·索賴·羅哈斯, 拉詹·拉克斯曼·喬希, 馬爾塔·卡切維奇 申請人:高通股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀