用信號發(fā)送用于葉層級譯碼單元的子集的變換系數的語法元素的制作方法
【專利摘要】本發(fā)明描述用于譯碼視頻數據的塊的變換系數的技術。根據此些技術,視頻編碼器將視頻數據的葉層級單元劃分成多個變換系數子集。所述視頻編碼器針對所述多個變換系數子集中的子集產生指示所述子集是否包含任何非零系數的語法元素。在一些實例中,所述視頻編碼器可針對每一子集選擇性地確定是否產生所述語法元素。解碼器可讀取包含所述語法元素的經熵編碼的位流,且基于所述語法元素確定是否解碼所述子集。
【專利說明】用信號發(fā)送用于葉層級譯碼單元的子集的變換系數的語法
元素
[0001]本申請案主張2011年6月30日申請的第61/503,541號美國臨時申請案及2011年10月27日申請的第61/552,341號美國臨時申請案的權利,所述申請案中每一者的全文以引用的方式并入本文中。
【技術領域】
[0002]本發(fā)明涉及視頻譯碼及壓縮。更確切地說,本發(fā)明是針對用于掃描經量化的變換系數的技術。
【背景技術】
[0003]數字視頻能力可并入到廣泛范圍的裝置中,所述裝置包含數字電視、數字直播系統、無線廣播系統、個人數字助理(PDA)、膝上型或桌上型計算機、平板型計算機、電子書閱讀器、數字相機、數字記錄裝置、數字媒體播放器、視頻游戲裝置、視頻游戲控制臺、蜂窩式或衛(wèi)星無線電電話、所謂的“智能電話”、視頻電傳會議裝置、視頻流式傳輸裝置,及其類似者。數字視頻裝置實施例如描述于以下各者中的視頻壓縮技術等視頻壓縮技術:由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4 第 10 部分(高級視頻譯碼(AVC))定義的標準、目前在開發(fā)中的高效視頻譯碼(HEVC)標準,及此些標準的擴展。視頻裝置可通過實施此些視頻壓縮技術而較有效率地傳輸、接收、編碼、解碼及/或存儲數字視頻信息。
[0004]視頻壓縮技術執(zhí)行空間(圖片內)預測及/或時間(圖片間)預測以減少或移除視頻序列中所固有的冗余。對于基于塊的視頻譯碼,可將視頻切片(即,視頻幀或視頻幀的一部分)分割成多個視頻塊,視頻塊還可被稱作樹型塊、譯碼單元(CU)及/或譯碼節(jié)點。使用相對于同一圖片中的相鄰塊中的參考樣本的空間預測來編碼圖片的幀內譯碼(I)切片中的視頻塊。圖片的幀間譯碼(P或B)切片中的視頻塊可使用相對于同一圖片中的相鄰塊中的參考樣本的空間預測或相對于其它參考圖片中的參考樣本的時間預測。圖片可被稱作幀,且參考圖片可被稱作參考幀。
[0005]空間或時間預測產生待譯碼的塊的預測性塊。殘余數據表示待譯碼的原始塊與預測性塊之間的像素差。根據指向形成預測性塊的參考樣本的塊的運動向量及指示經譯碼塊與預測性塊之間的差異的殘余數據來編碼幀間譯碼塊。根據幀內譯碼模式及殘余數據來編碼幀內譯碼塊。為進行進一步壓縮,可將殘余數據從像素域變換到變換域,從而產生殘余變換系數,可接著量化殘余變換系數??蓲呙枳畛醪贾贸啥S陣列的經量化的變換系數以便產生變換系數的一維向量,且可應用熵譯碼以達成甚至更多的壓縮。
【發(fā)明內容】
[0006]在視頻譯碼中,為了壓縮用以表示視頻數據的數據的量,視頻編碼器可熵編碼視頻數據。根據本文中所描述的技術,作為熵編碼的部分,視頻編碼器將視頻數據的葉層級單元劃分成多個變換系數子集。如本文中所描述的葉層級單元指代視頻數據結構的未分裂單元,其一個實例為四叉樹數據結構的最后未分裂子代節(jié)點,如下文所進一步詳細描述。
[0007]針對子集中的至少一者,編碼器產生指示所述子集是否包含任何非零系數的語法元素作為經熵編碼的位流的部分。編碼器確定是否用信號發(fā)送用于多個變換系數子集中的子集的語法元素。舉例來說,編碼器可基于子集內的潛在非零系數的數目或基于子集的非零系數的平均數目而確定是否用信號發(fā)送語法元素,所述平均數目是基于對視頻數據的一個或一個以上先前經譯碼的葉層級單元的統計。
[0008]解碼器可讀取經熵編碼的位流,且基于語法元素確定是否解碼子集的變換系數。在一些實例中,解碼器可基于經熵編碼的位流是否包含與變換系數的子集相關聯的語法元素而確定是否解碼所述子集。舉例來說,如果所述子集不包含相關聯的語法元素,那么解碼器解碼所述子集。然而,如果所述子集確實包含相關聯的語法元素,那么解碼器基于所述語法元素的值確定是否解碼所述子集。舉例來說,如果所述語法元素具有第一值,那么解碼器解碼所述子集;但如果所述語法元素具有第二不同值,那么解碼器不解碼所述子集。
[0009]在一些實例中,本發(fā)明的技術可改進編碼器或解碼器的譯碼效率。舉例來說,本文中所描述的技術可減少由編碼器使用以產生表示視頻數據的經熵編碼的位流的位的數目。
[0010]在一實例中,一種用于編碼視頻數據的單元的方法包括:將視頻數據的葉層級單元劃分成多個變換系數子集;及針對所述多個變換系數子集中的子集產生指示所述子集是否包含任何非零系數的語法元素。
[0011]在另一實例中,一種裝置可經配置以編碼視頻數據的至少一葉層級單元。所述裝置可包括處理器,所述處理器經配置以將視頻數據的葉層級單元劃分成多個變換系數子集,且針對所述多個變換系數子集中的子集產生指示所述子集是否包含任何非零系數的語法元素。
[0012]在另一實例中,一種裝置可經配置以編碼視頻數據的至少一葉層級單元,所述裝置包括:用于將視頻數據的葉層級單元劃分成多個變換系數子集的裝置;及用于針對所述多個變換系數子集中的子集產生指示所述子集是否包含任何非零系數的語法元素的裝置。
[0013]在另一實例中,一種用于解碼視頻數據的單元的方法包括:將視頻數據的葉層級單元劃分成多個變換系數子集;針對所述多個變換系數子集中的子集確定所述子集是否包含指示所述子集是否包含任何非零系數的相關聯的語法元素;基于所述語法元素確定是否解碼所述子集。
[0014]在另一實例中,一種裝置可經配置以解碼視頻數據的單元,所述裝置包括處理器,所述處理器經配置以執(zhí)行以下操作:將視頻數據的葉層級單元劃分成多個變換系數子集;針對所述多個變換系數子集中的子集確定所述子集是否包含指示所述子集是否包含任何非零系數的相關聯的語法元素;及基于所述語法元素確定是否解碼所述子集。
[0015]在另一實例中,一種裝置可經配置以解碼視頻數據的單元,所述裝置包括:用于將視頻數據的葉層級單元劃分成多個變換系數子集的裝置;用于針對所述多個變換系數子集中的子集確定所述子集是否包含指示所述子集是否包含任何非零系數的語法元素的裝置;及用于基于所述語法元素確定是否解碼所述子集的裝置。
[0016]可以硬件、軟件、固件或其任何組合來實施本發(fā)明中所描述的技術。舉例來說,各種技術可通過一個或一個以上處理器來實施或執(zhí)行。如本文中所使用,處理器可指代微處理器、專用集成電路(ASIC)、現場可編程門陣列(FPGA)、數字信號處理器(DSP),或其它等效的集成或離散邏輯電路。軟件可通過一個或一個以上處理器來執(zhí)行。包括用以執(zhí)行所述技術的指令的軟件可最初存儲于計算機可讀媒體中且通過處理器載入并執(zhí)行。
[0017]因此,本發(fā)明還預期包括指令的計算機可讀存儲媒體,所述指令用以使處理器(或其它計算裝置)執(zhí)行本發(fā)明中所描述的任何技術。在一些狀況下,所述計算機可讀存儲媒體可形成計算機程序存儲產品的部分,可將所述計算機程序存儲產品售賣給制造商及/或用于裝置中。所述計算機程序產品可包含所述計算機可讀媒體,且在一些狀況下還可包含封裝材料。
[0018]在一實例中,本發(fā)明描述一種存儲指令的計算機可讀存儲媒體,所述指令在執(zhí)行時使計算裝置執(zhí)行以下操作:將視頻數據的葉層級單元劃分成多個變換系數子集;及針對所述多個變換系數子集中的子集產生指示所述子集是否包含任何非零系數的語法元素。
[0019]在另一實例中,本發(fā)明描述一種存儲指令的計算機可讀存儲媒體,所述指令在執(zhí)行時使計算裝置執(zhí)行以下操作:將視頻數據的葉層級單元劃分成多個變換系數子集;針對所述多個變換系數子集中的子集確定所述子集是否包含指示所述子集是否包含任何非零系數的相關聯的語法元素;及基于所述語法元素確定是否解碼所述子集。
[0020]在隨附圖式及下文的描述中闡述一個或一個以上實例的細節(jié)。本發(fā)明的其它特征、目標及優(yōu)點將從描述及圖式以及從權利要求書顯而易見。
【專利附圖】
【附圖說明】
[0021]圖1為說明經配置以根據本發(fā)明的技術操作的視頻編碼及解碼系統的一實例的框圖。
[0022]圖2為說明經配置以根據本發(fā)明的技術操作的視頻編碼器的一實例的框圖。
[0023]圖3為說明經配置以根據本發(fā)明的技術操作的視頻解碼器的一實例的框圖。
[0024]圖4為說明與本發(fā)明的一個或一個以上方面一致的劃分成多個變換系數子集的視頻數據的葉層級單元的一實例的概念圖。
[0025]圖5為說明與本發(fā)明的一個或一個以上方面一致的編碼視頻數據的葉層級單元的方法的一實例的流程圖。
[0026]圖6為說明與本發(fā)明的一個或一個以上方面一致的編碼視頻數據的葉層級單元的方法的另一實例的流程圖。
[0027]圖7為說明與本發(fā)明的一個或一個以上方面一致的編碼視頻數據的葉層級單元的方法的另一實例的流程圖。
[0028]圖8為說明與本發(fā)明的一個或一個以上方面一致的解碼視頻數據的葉層級單元的方法的一實例的流程圖。
【具體實施方式】
[0029]圖1為說明可利用本發(fā)明中所描述的技術的實例視頻編碼及解碼系統10的框圖。如圖1中所展示,系統10包含源裝置12,源裝置12產生稍后待由目的地裝置14解碼的經編碼視頻數據。源裝置12及目的地裝置14可包括廣泛范圍的裝置中的任一者,包含桌上型計算機、筆記本(即,膝上型)計算機、平板型計算機、機頂盒、電話手持機(例如,所謂的“智能”電話)、所謂的“智能”板、電視、相機、顯示裝置、數字媒體播放器、視頻游戲控制臺、視頻流式傳輸裝置,或其類似者。在一些狀況下,可裝備源裝置12及目的地裝置14來進行無線通信。
[0030]目的地裝置14可經由鏈路16接收待解碼的經編碼視頻數據。鏈路16可包括能夠將經編碼視頻數據從源裝置12移到目的地裝置14的任何類型的媒體或裝置。在一實例中,鏈路16可包括用以使源裝置12能夠將經編碼視頻數據直接實時傳輸到目的地裝置14的通信媒體。可根據通信標準(例如,無線通信協議)調制經編碼視頻數據,且將經編碼視頻數據傳輸到目的地裝置14。通信媒體可包括任何無線或有線通信媒體,例如射頻(RF)頻譜或一個或一個以上物理傳輸線。通信媒體可形成基于包的網絡(例如,局域網絡、廣域網絡或例如因特網等全球網絡)的部分。通信媒體可包含路由器、交換器、基站,或可用以促進從源裝置12到目的地裝置14的通信的任何其它設備。
[0031]或者,可將經編碼數據從輸出接口 22輸出到存儲裝置32。類似地,可通過輸入接口 28從存儲裝置32存取經編碼數據。存儲裝置32可包含多種分布式或本地存取的數據存儲媒體中的任一者,例如硬盤驅動器、藍光光盤、DVD、CD-ROM、快閃存儲器、易失性或非易失性存儲器,或用于存儲經編碼視頻數據的任何其它合適的數字存儲媒體。在另一實例中,存儲裝置32可對應于文件服務器或可保存由源裝置12產生的經編碼視頻的另一中間存儲裝置。目的地裝置14可經由流式傳輸或下載而從存儲裝置32存取經存儲視頻數據。文件服務器可為能夠存儲經編碼視頻數據且將所述經編碼視頻數據傳輸到目的地裝置14的任何類型的服務器。實例文件服務器包含網頁服務器(例如,針對網站)、FTP服務器、網絡附接存儲(NAS)裝置,或本地磁盤驅動器。目的地裝置14可經由任何標準數據連接(包含因特網連接)而存取經編碼視頻數據。此數據連接可包含適合于存取存儲于文件服務器上的經編碼視頻數據的無線信道(例如,W1-Fi連接)、有線連接(例如,DSL、纜線調制解調器等),或兩者的組合。經編碼視頻數據從存儲裝置32的傳輸可為流式傳輸、下載傳輸,或兩者的組合。
[0032]本發(fā)明的技術未必限于無線應用或設定。所述技術可應用于支持例如以下應用等多種多媒體應用中的任一者的視頻譯碼:空中電視廣播、有線電視傳輸、衛(wèi)星電視傳輸、(例如)經由因特網的流式視頻傳輸、存儲于數據存儲媒體上的數字視頻的編碼、存儲于數據存儲媒體上的數字視頻的解碼,或其它應用。在一些實例中,系統10可經配置以支持單向或雙向視頻傳輸以支持例如視頻流式傳輸、視頻播放、視頻廣播及/或視頻電話等應用。
[0033]在圖1的實例中,源裝置12包含視頻源18、視頻編碼器20及輸出接口 22。在一些狀況下,輸出接口 22可包含調制器/解調器(調制解調器)及/或傳輸器。在源裝置12中,視頻源18可包含例如以下各者的源:視頻俘獲裝置(例如,視頻相機)、含有先前俘獲的視頻的視頻封存檔、用以從視頻內容提供者接收視頻的視頻饋入接口,及/或用于產生計算機圖形數據作為源視頻的計算機圖形系統,或此些源的組合。作為一實例,如果視頻源18為視頻相機,那么源裝置12及目的地裝置14可形成所謂的相機電話或視頻電話。然而,本發(fā)明中所描述的技術可一般適用于視頻譯碼,且可應用于無線及/或有線應用。
[0034]可通過視頻編碼器20編碼經俘獲的視頻、經預先俘獲的視頻或計算機產生的視頻??山浻稍囱b置12的輸出接口 22將經編碼視頻數據直接傳輸到目的地裝置14。還可(或替代地)將經編碼視頻數據存儲到存儲裝置32上以供目的地裝置14或其它裝置稍后存取以用于解碼及/或播放。[0035]目的地裝置14包含輸入接口 28、視頻解碼器30及顯示裝置32。在一些狀況下,輸入接口 28可包含接收器及/或調制解調器。目的地裝置14的輸入接口 28經由鏈路16接收經編碼視頻數據。經由鏈路16而傳達或提供于存儲裝置32上的經編碼視頻數據可包含由視頻編碼器20產生的供視頻解碼器(例如,視頻解碼器30)用于解碼視頻數據的多種語法元素。此些語法元素可包含于在通信媒體上傳輸、存儲于存儲媒體上或存儲于文件服務器上的經編碼視頻數據中。
[0036]顯示裝置32可與目的地裝置14集成或在目的地裝置14外部。在一些實例中,目的地裝置14可包含集成式顯示裝置,且還經配置以與外部顯示裝置介接。在其它實例中,目的地裝置14可為顯示裝置。一般來說,顯示裝置32向用戶顯示經解碼視頻數據,且可包括多種顯示裝置中的任一者,例如液晶顯示器(LCD)、等離子體顯示器、有機發(fā)光二極管(OLED)顯示器或另一類型的顯示裝置。
[0037]視頻編碼器20及視頻解碼器30可根據例如目前在開發(fā)中的高效視頻譯碼(HEVC)標準等視頻壓縮標準而操作,且可符合HEVC測試模型(HM)?;蛘?,視頻編碼器20及視頻解碼器30可根據例如ITU-T H.264標準等其它專有或工業(yè)標準或此些標準的擴展而操作,H.264標準替代地被稱作MPEG-4第10部分(高級視頻譯碼(AVC))。然而,本發(fā)明的技術不限于任何特定譯碼標準。視頻壓縮標準的其它實例包含MPEG-2及ITU-TH.263。
[0038]盡管未在圖1中展示,但在一些方面中,視頻編碼器20及視頻解碼器30可各自與音頻編碼器及解碼器集成,且可包含適當的多路復用器-多路分用器(MUX-DEMUX)單元或其它硬件及軟件,以處理共同數據流或若干單獨數據流中的音頻及視頻兩者的編碼。在一些實例中,如果適用,那么MUX-DEMUX單元可符合ITU H.223多路復用器協議或例如用戶數據報協議(UDP)等其它協議。
[0039]視頻編碼器20及視頻解碼器30各自可實施為例如以下各者的多種合適編碼器電路中的任一者:一個或一個以上微處理器、數字信號處理器(DSP)、專用集成電路(ASIC)、現場可編程門陣列(FPGA)、離散邏輯、軟件、硬件、固件或其任何組合。當所述技術部分地以軟件實施時,裝置可將軟件指令存儲于合適的非暫時計算機可讀媒體中,且使用一個或一個以上處理器以硬件執(zhí)行所述指令以執(zhí)行本發(fā)明的技術。視頻編碼器20及視頻解碼器30中的每一者可包含于一個或一個以上編碼器或解碼器中,其中的任一者可集成為相應裝置中的組合式編碼器/解碼器(CODEC)的部分。
[0040]JCT-VC致力于HEVC標準的開發(fā)。HEVC標準化努力是基于視頻譯碼裝置的演進模型,其被稱作HEVC測試模型(HM)。HM假設視頻譯碼裝置相對于根據(例如)ITU-TH.264/AVC的現有裝置的若干額外能力。舉例來說,H.264提供九個幀內預測編碼模式,而HM可提供多達三十三個幀內預測編碼模式。
[0041]一般來說,HM的工作模型描述視頻幀或圖片可劃分成包含亮度樣本及色度樣本兩者的樹型塊或最大譯碼單元(LCU)的序列。樹型塊的用途與H.264標準的宏塊類似。切片包含按譯碼次序的多個連續(xù)樹型塊。視頻幀或圖片可分割成一個或一個以上切片。每一樹型塊可根據四叉樹而分裂成若干譯碼單元(CU)。舉例來說,樹型塊(作為四叉樹的根節(jié)點)可分裂成四個子代節(jié)點,且每一子代節(jié)點可又為父節(jié)點且分裂成另外四個子代節(jié)點。最后未分裂的子代節(jié)點(作為四叉樹的葉節(jié)點)包括譯碼節(jié)點,即,經譯碼視頻塊。視頻數據結構的此最后未分裂的子代節(jié)點在本文被稱作葉層級單元。與經譯碼位流相關聯的語法數據可定義樹型塊可分裂的最大次數,且還可定義譯碼節(jié)點的最小大小。
[0042]CU包含譯碼節(jié)點及與所述譯碼節(jié)點相關聯的若干預測單元(PU)及變換單元(TU)。⑶的大小對應于譯碼節(jié)點的大小,且形狀必須為正方形。⑶的大小可在從8X8像素直到具有最大64X64像素或大于64X64像素的樹型塊的大小的范圍內。每一⑶可含有一個或一個以上PU及一個或一個以上TU。與CU相關聯的語法數據可描述(例如)CU到一個或一個以上PU的分割。在⑶是經跳過還是直接模式編碼、是經幀內預測模式編碼還是經幀間預測模式編碼之間,分割模式可不同。PU可分割成非正方形形狀。與CU相關聯的語法數據還可描述(例如)CU根據四叉樹而到一個或一個以上TU的分割。TU的形狀可為正方形或非正方形。
[0043]HEVC標準允許根據TU的變換,其針對不同⑶可不同。通?;卺槍浄指領XU所定義的給定CU內的PU的大小而設定TU大小,但可能并非總是如此。TU通常具有與相同的大小,或小于PU。在一些實例中,可使用稱為“殘余四叉樹”(RQT)的四叉樹結構將對應于CU的殘余樣本再分成若干較小單元。RQT的葉節(jié)點可被稱作變換單元(TU)。此葉節(jié)點TU為如本文中所描述的葉層級單元的一實例??勺儞Q與TU相關聯的像素差值以產生變換系數,可量化所述變換系數。
[0044]一般來說,PU包含與預測過程有關的數據。舉例來說,當經幀內模式編碼時,PU可包含描述所述的幀內預測模式的數據。作為另一實例,當經幀間模式編碼時,PU可包含定義所述PU的運動向量的數據。定義PU的運動向量的數據可描述(例如)運動向量的水平分量、運動向量的垂直分量、運動向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、運動向量所指向的參考圖片,及/或運動向量的參考圖片列表(例如,列表O、列表I或列表C)。
[0045]一般來說,TU用于變換過程及量化過程。具有一個或一個以上的給定⑶還可包含一個或一個以上變換單元(TU)。在預測之后,視頻編碼器20可計算對應于的殘余值。殘余值包括可變換成變換系數的像素差值,使用TU量化及掃描變換系數以產生串行化的變換系數從而用于熵譯碼。本發(fā)明通常使用術語“視頻塊”來指代CU的譯碼節(jié)點。在一些特定狀況下,本發(fā)明還可使用術語“視頻塊”來指代包含譯碼節(jié)點及若干PU及TU的樹型塊(S卩,LCU 或 CU)。
[0046]視頻序列通常包含一系列視頻巾貞或圖片。圖片組(GOP) —般包括一系列一個或一個以上視頻圖片。GOP可在GOP的標頭、圖片中的一者或一者以上的標頭中或在別處包含語法數據,所述語法數據描述包含于GOP中的圖片的數目。圖片的每一切片可包含描述所述相應切片的編碼模式的切片語法數據。視頻編碼器20通常對個別視頻切片內的視頻塊進行操作,以便編碼視頻數據。視頻塊可對應于CU內的譯碼節(jié)點。視頻塊可具有固定或變化的大小,且可根據指定譯碼標準而在大小方面不同。
[0047]作為一實例,HM支持以各種I3U大小進行預測。假定特定⑶的大小為2NX 2N,那么HM支持以2NX2N或NXN的I3U大小進行幀內預測,及以2NX2N、2NXN、NX2N或NXN的對稱I3U大小進行幀間預測。HM還支持以2NX nU、2NX nD、nL X 2N及nRX 2N的PU大小進行中貞間預測的不對稱分割。在不對稱分割中,CU的一方向未分割,而另一方向分割成25%及75%。⑶的對應于25%分割的部分由“η”繼之以“上”、“下”、“左”或“右”的指示來指示。因此,例如,“2NXnU”指代在水平方向上以頂部2ΝΧ0.5Ν PU及底部2NX1.5N PU分割的 2NX2N CU。
[0048]在本發(fā)明中,“NXN”與“N乘N”可互換使用以指代視頻塊在垂直尺寸與水平尺寸方面的像素尺寸,例如,16X16像素或16乘16像素。一般來說,16X16塊將在垂直方向上具有16個像素(y=16)且在水平方向上具有16個像素(x=16)。同樣地,NXN塊一般在垂直方向上具有N個像素且在水平方向上具有N個像素,其中N表示非負整數值??梢孕屑傲胁贾脡K中的像素。此外,塊未必需要在水平方向上具有與垂直方向上相同數目個像素。舉例來說,塊可包括NXM個像素,其中M未必等于N。
[0049]在使用CU的PU進行幀內預測性或幀間預測性譯碼之后,視頻編碼器20可計算CU的TU的殘余數據??砂臻g域(還被稱作像素域)中的像素數據,且TU可包括在將例如離散余弦變換(DCT)、整數變換、小波變換或概念上類似的變換的變換應用于殘余視頻數據之后變換域中的系數。殘余數據可對應于未經編碼圖片的像素與對應于PU的預測值之間的像素差。視頻編碼器20可形成包含⑶的殘余數據的TU,且接著變換所述TU以產生CU的變換系數。
[0050]在用以產生變換系數的任何變換之后,視頻編碼器20可執(zhí)行變換系數的量化。量化一般指代如下過程:將變換系數量化以可能地減少用以表示所述系數的數據的量,從而提供進一步壓縮。量化過程可減小與所述系數中的一些或全部相關聯的位深度。舉例來說,η位值在量化期間可向下舍入到m位值,其中η大于m。
[0051]在一些實例中,視頻編碼器20可利用預定義的掃描次序來掃描經量化的變換系數以產生可經熵編碼的串行化向量。在其它實例中,視頻編碼器20可執(zhí)行自適應掃描。在掃描經量化的變換系數以形成一維向量之后,視頻編碼器20可(例如)根據上下文自適應可變長度譯碼(CAVLC)、上下文自適應二進制算術譯碼(CABAC)、基于語法的上下文自適應二進制算術譯碼(SBAC)、概率區(qū)間分割熵(PIPE)譯碼或另一熵編碼方法而熵編碼一維向量。視頻編碼器20還可熵編碼與經編碼視頻數據相關聯的語法元素以供視頻解碼器30用于解碼視頻數據。
[0052]為了執(zhí)行CABAC,視頻編碼器20可將上下文模型內的上下文指派給待傳輸的符號。所述上下文可能涉及(例如)符號的相鄰值是否為非零。為了執(zhí)行CAVLC,視頻編碼器20可針對待傳輸的符號選擇可變長度碼??蓪LC中的碼字建構成使得相對較短碼對應于更有可能的符號,而較長碼對應于較不可能的符號。以此方式,相較于(例如)針對待傳輸的每一符號使用相等長度的碼字,使用VLC可達成位節(jié)省。概率確定可基于指派給符號的上下文而進行。
[0053]根據本發(fā)明,源裝置12的視頻編碼器20可將包含變換系數(例如,其各自對應于所顯示圖像的像素)的二維矩陣的視頻數據的葉層級單元(例如,四叉樹或其它數據結構的葉節(jié)點)的變換系數掃描到表示所述變換系數的一維向量中。根據本文中所描述的技術,在執(zhí)行此掃描時,視頻編碼器20可將視頻數據的葉層級單元劃分成多個變換系數子集。針對葉層級單元的所述子集中的每一者,編碼器20可確定是否將指示所述子集是否包含任何非零系數的語法元素作為經熵編碼的位流的部分來用信號發(fā)送到解碼器。編碼器20可基于確定出用信號發(fā)送特定子集的語法元素是否將改進譯碼效率而確定是否用信號發(fā)送所述語法元素。為了確定用信號發(fā)送語法元素是否將改進譯碼效率,編碼器20可應用一個或一個以上規(guī)則,如下文進一步詳細描述。編碼器20可輸出包含視頻數據的塊的經熵編碼的位流??山又ㄟ^解碼器讀取及解碼經熵編碼的位流,以重建構表示視頻數據的葉層級單元的二維矩陣。
[0054]還可通過目的地裝置14的視頻解碼器30執(zhí)行互逆變換系數解碼。S卩,視頻解碼器30可將表示視頻數據的塊的變換系數的一維向量的系數映射到變換系數的二維矩陣內的位置,以重建構變換系數的二維矩陣。根據本文中所描述的技術,解碼器30可讀取表示視頻數據的葉層級單元的一維矩陣,且將所述葉層級單元劃分成多個變換系數子集。針對所述子集中的每一者,解碼器30可確定是否解碼所述子集的變換系數。舉例來說,如果解碼器30不讀取經熵編碼的位流中的指示特定子集是否具有非零系數的語法元素,那么解碼器30解碼所述子集的系數。然而,如果解碼器30確實讀取與特定子集相關聯的此語法元素,那么解碼器30可基于所述語法元素的值確定是否解碼所述子集的變換系數。舉例來說,如果語法元素指示所述子集確實包含非零系數,那么解碼器30解碼所述子集的變換系數。然而,如果語法元素指示所述子集不包含任何非零系數,那么解碼器30不解碼所述子集的變換系數。
[0055]本文中所描述的技術可改進視頻譯碼的效率。舉例來說,將視頻數據的塊劃分成多個變換系數子集且用信號發(fā)送指示所述子集是否包含非零系數的語法元素(如本文所描述)可減少表示視頻數據所需的位數目,此情形可改進編碼器/解碼器的效率等級。
[0056]圖2為說明可實施本發(fā)明中所描述的幀間預測技術的實例視頻編碼器20的框圖。視頻編碼器20可執(zhí)行視頻切片內的視頻塊的幀內譯碼及幀間譯碼。幀內譯碼依賴于空間預測以減少或移除給定視頻幀或圖片內的視頻的空間冗余。幀間譯碼依賴于時間預測以減少或移除視頻序列的鄰近幀或圖片內的視頻的時間冗余。幀內模式(I模式)可指代若干基于空間的壓縮模式中的任一者。例如單向預測(P模式)或雙向預測(B模式)等幀間模式可指代若干基于時間的壓縮模式中的任一者。
[0057]在圖2的實例中,視頻編碼器20包含分割單元35、預測模塊41、參考圖片存儲器64、求和器50、變換模塊52、量化單元54,及熵編碼單元56。預測模塊41包含運動估計單元42、運動補償單元44,及幀內預測模塊46。為了進行視頻塊重建構,視頻編碼器20還包含反量化單元58、反變換模塊60,及求和器62。還可包含解塊濾波器(圖2中未展示)以對塊邊界進行濾波從而從經重建構的視頻移除成塊假影。必要時,解塊濾波器將通常對求和器62的輸出進行濾波。除了解塊濾波器以外,還可使用額外回路濾波器(回路內或回路后)。
[0058]如圖2中所展示,視頻編碼器20接收視頻數據,且分割單元35將數據分割成視頻塊。此分割還可包含分割成切片、平鋪塊或其它較大單元,以及(例如)根據IXU及⑶的四叉樹結構的視頻塊分割。視頻編碼器20 —般說明編碼待編碼的視頻切片內的視頻塊的組件。切片可劃分成多個視頻塊(且可能地劃分成被稱作平鋪塊的視頻塊集合)。預測模塊41可基于誤差結果(例如,譯碼速率及失真程度)選擇當前視頻塊的多個可能譯碼模式中的一者,例如多個巾貞內譯碼模式中的一者或多個巾貞間譯碼模式中的一者。預測模塊41可將所得幀內譯碼塊或幀間譯碼塊提供到求和器50以產生殘余塊數據,且提供到求和器62以重建構經編碼塊來用作參考圖片。
[0059]預測模塊41內的幀內預測模塊46可執(zhí)行當前視頻塊相對于處于與待譯碼的當前塊相同的幀或切片中的一個或一個以上相鄰塊的幀內預測性譯碼,以提供空間壓縮。預測模塊41內的運動估計單元42及運動補償單元44執(zhí)行當前視頻塊相對于一個或一個以上參考圖片中的一個或一個以上預測性塊的幀間預測性譯碼,以提供時間壓縮。
[0060]運動估計單元42可經配置以根據視頻序列的預定模式確定視頻切片的幀間預測模式。預定模式可將序列中的視頻切片指定為P切片、B切片或GPB切片??筛叨燃蛇\動估計單元42及運動補償單元44,但出于概念性目的而對其單獨予以說明。由運動估計單元42執(zhí)行的運動估計為產生運動向量的過程,運動向量估計視頻塊的運動。運動向量(例如)可指示當前視頻幀或圖片內的視頻塊的PU相對于參考圖片內的預測性塊的移位。
[0061]預測性塊為依據像素差而被認為與待譯碼的視頻塊的緊密匹配的塊,可通過絕對差和(SAD)、平方差和(SSD)或其它差量度來確定像素差。在一些實例中,視頻編碼器20可計算存儲于參考圖片存儲器64中的參考圖片的子整數像素位置的值。舉例來說,視頻編碼器20可內插參考圖片的四分之一像素位置、八分之一像素位置或其它分數像素位置的值。因此,運動估計單元42可執(zhí)行相對于全像素位置及分數像素位置的運動搜尋,且以分數像素精度輸出運動向量。
[0062]運動估計單元42通過比較幀間譯碼切片中的視頻塊的PU的位置與參考圖片的預測性塊的位置而計算所述PU的運動向量。參考圖片可選自第一參考圖片列表(列表O)或第二參考圖片列表(列表I),其中的每一者識別存儲于參考圖片存儲器64中的一個或一個以上參考圖片。運動估計單元42將所計算的運動向量發(fā)送到熵編碼單元56及運動補償單元44。
[0063]由運動補償單元44執(zhí)行的運動補償可涉及基于通過運動估計所確定的運動向量取得或產生預測性塊,從而可能執(zhí)行到子像素精度的內插。在接收到當前視頻塊的PU的運動向量后,運動補償單元44可將運動向量所指向的預測性塊定位于參考圖片列表中的一者中。視頻編碼器20通過以下操作形成殘余視頻塊:從正譯碼的當前視頻塊的像素值減去預測性塊的像素值,從而形成像素差值。像素差值形成塊的殘余數據,且可包含亮度差分量與色度差分量兩者。求和器50表示執(zhí)行此減法運算的一個或一個以上組件。運動補償單元44還可產生與視頻塊及視頻切片相關聯的供由視頻解碼器30用于解碼視頻切片的視頻塊的語法元素。
[0064]在運動補償單元44產生當前視頻塊的預測性塊之后,視頻編碼器20通過從所述當前視頻塊減去所述預測性塊而形成殘余視頻塊。殘余塊中的殘余視頻數據可包含于一個或一個以上TU中且應用于變換模塊52。變換模塊52使用例如離散余弦變換(DCT)或概念上類似變換等變換將殘余視頻數據變換成殘余變換系數。變換模塊52可將殘余視頻數據從像素域轉換到變換域(例如,頻域)。
[0065]變換模塊52可將所得變換系數發(fā)送到量化單元54。量化單元54量化所述變換系數以進一步減小位速率。量化過程可減小與所述系數中的一些或全部相關聯的位深度。可通過調整量化參數而修改量化程度。
[0066]在量化之后,熵編碼單元56熵編碼經量化的變換系數。舉例來說,熵編碼單元56可執(zhí)行上下文自適應可變長度譯碼(CAVLC)、上下文自適應二進制算術譯碼(CABAC)、基于語法的上下文自適應二進制算術譯碼(SBAC)、概率區(qū)間分割熵(PIPE)譯碼,或另一熵編碼方法或技術。在通過熵編碼單元56進行的熵編碼之后,可將經編碼位流傳輸到視頻解碼器30,或將其封存以供稍后傳輸或由視頻解碼器30檢索。熵編碼單元56還可熵編碼正譯碼的當前視頻切片的運動向量及其它語法元素。在一些實例中,熵編碼單元56可接著執(zhí)行包含經量化的變換系數的矩陣的掃描以產生經熵編碼的位流的變換系數的一維向量。
[0067]根據本發(fā)明的技術,當掃描變換系數的矩陣以產生一維向量時,熵編碼單元56可將視頻數據的葉層級單元(例如,如上文所描述的四叉樹結構的未分裂子代節(jié)點)劃分成小于葉層級單元的多個變換系數子集。舉例來說,熵編碼單元56可將視頻數據的葉層級單元劃分成各自包括所述葉層級單元內的幾何形狀的多個子集。在一些實例中,熵編碼單元56可將葉層級單元的變換系數劃分成視頻數據的較小矩形布置。在其它實例中,熵編碼單元56可將葉層級單元的變換系數劃分成變換系數的三角形子集。在又其它實例中,熵編碼單元56可將葉層級單元的變換系數劃分成具有其它形狀的子集,或甚至不對應于任何特定幾何形狀的子集。實情為,熵編碼單元56可根據葉層級單元的多個變換系數的掃描次序(其可為固定或自適應的)來劃分所述變換系數。舉例來說,熵編碼單元56可基于葉層級單元的多個變換系數的掃描次序(例如,自適應或固定掃描次序)而將所述變換系數劃分成變換系數的多個子集。在不同實例中,所述子集可具有類似或相同數目個系數。
[0068]根據本文中所描述的技術,一旦變換系數的葉層級單元已劃分成多個子集,熵編碼單元56就可針對所述多個子集中的至少一些產生指示相應子集是否包含任何非零系數的語法元素。在一些實例中,熵編碼單元56可針對變換系數的多個子集中的每一子集產生此語法元素。在其它實例中,熵編碼單元56可針對多個子集中的每一子集選擇性地確定是否產生此語法元素。是否產生此語法元素的決策可基于此發(fā)信是否提供額外壓縮或改進的譯碼效率。如果是,那么可產生語法元素,但如果否,那么編碼器20及解碼器30兩者可經編程而知曉在所述例子中不用信號發(fā)送所述指示。
[0069]根據本發(fā)明的技術,為了確定產生此語法元素是否將改進壓縮或譯碼效率,熵編碼單元56可應用一個或一個以上規(guī)則,如下文進一步詳細描述。作為一實例,熵編碼單元56可針對特定子集基于所述子集的潛在非零系數的數目而確定是否產生語法元素。舉例來說,熵編碼單元56可基于比較子集的潛在非零系數的數目與閾值而確定是否產生語法元素。
[0070]作為此技術的一實例,為了確定子集的潛在非零系數的數目,熵編碼單元56確定所述子集的具有比葉層級單元的最后非零系數早的位置的系數的數目,且比較系數的所述經確定數目與閾值thNoCoeff,如圖6的實例中所展示且在下文進一步詳細描述。根據此實例,如果潛在非零系數的經確定數目大于閾值thNoCoeff,那么熵編碼單元56產生指示子集是否包含任何非零系數的語法元素。然而,如果潛在非零系數的經確定數目小于或等于閾值thNoCoeff,那么熵編碼單元56可不產生語法元素。作為一實例,熵編碼單元56基于以下的實例I的偽代碼確定是否用信號發(fā)送指示特定子集是否包含任何非零系數的語法元素:
[0071]實例I
[0072]noCoeff[xS][yS] > thNoCoeff
[0073]其中noCoeff [xS] [yS]指示子集的潛在非零系數的數目,且thNoCoeff為閾值。
[0074]在其它實例中,熵編碼單元56可基于其它規(guī)則確定是否用信號發(fā)送指示變換系數的子集是否包含任何非零系數的語法元素。舉例來說,熵編碼單元56可針對子集基于所述子集的非零系數的平均數目而確定是否用信號發(fā)送語法元素,如下文關于圖7的實例進一步詳細描述。根據此實例,在視頻數據的葉層級單元正經譯碼時,熵編碼單元56可收集并存儲指示每一子集內的位置處的系數多久一次為非零的統計?;诖诵┧鎯y計,熵編碼單元56可確定是否產生語法元素。舉例來說,熵編碼單元56可比較子集的非零系數的平均數目與閾值thAvrgCoeff。如果子集的非零系數的平均數目小于閾值,那么熵編碼單元56產生語法元素。然而,如果子集的非零系數的平均數目大于或等于閾值thAvrgCoeff,那么熵編碼單元56基于在此狀況下所述子集極有可能含有至少一非零系數的假定而不產生語法元素。
[0075]作為另一實例,對于含有葉層級單元的最后非零系數(相對于z字形掃描,反z字形掃描的第一非零系數)的子集,子集含有最后非零系數的事實意謂所述子集必須包含至少一非零系數,且因此,可假定包含最后非零系數的任何子集必須包含至少一非零系數。因此,針對包含最后非零系數的子集不需要產生語法元素,這是因為可假定此子集包含至少
一非零系數。
[0076]作為一實例,熵編碼單元56可基于以下的實例2的偽代碼確定是否用信號發(fā)送指示特定子集是否包含任何非零系數的語法元素:
[0077]實例2
[0078](noCodedCoeff[xS][yS]+noSubBlks[xS][yS]/2)/noSubBlks < thAvrgCoeff
[0079]此處,noCodedCoeff[xS] [yS]指示子集中的非零系數的數目。
[0080]根據實例1的偽 代碼,熵編碼單元56在編碼視頻數據塊的葉層級單元之前將可變陣列noCoeff [xS] [yS]中的值初始化成0,且基于lastPos語法元素的值將值指派給所述陣列,lastPos語法元素指示視頻數據的葉層級單元內的最后非零系數位置:
[0081]for (pos=0;pos < =lastPos ;pos++){
[0082]xC=Scan0rder[0][pos];
[0083]yC=Scan0rder[1][pos];
[0084]noCoeff [xC/M] [yC/M]++ ;
[0085]}
[0086]根據實例2的偽代碼,在編碼葉層級單元之后,熵編碼單元56可如下更新可變陣列 noSubBlks 及 noCodedCoeff:
[0087]for(pos=0 ;pos < =lastPos ;pos++){
[0088]xC=Scan0rder[0][pos];
[0089]yC=Scan0rder[1][pos];
[0090]if (transCoeffLevel[xC][yC]!=0){
[0091]noCodedCoeff[xC/M][yC/Μ]++ ;
[0092]}
[0093]}
[0094]for (xS=0 ;xS < N/M ;xS++) {
[0095]for (yS=0 ;yS < N/M ;yS++) {
[0096]if (noCoeff [xS] [yS] > 0) {
[0097]noSubBlks[xS][yS]++;
[0098]}[0099]}
[0100]}
[0101]通過使用以上的實例2的偽代碼,熵編碼單元56可基于視頻數據的先前經編碼的葉層級單元的子集的非零系數的平均數目而確定是否用信號發(fā)送指示葉層級單元的變換系數的子集是否包含任何非零系數的語法元素。
[0102]反量化單元58及反變換模塊60分別應用反量化及反變換,以在像素域中重建構殘余塊以供稍后用作參考圖片的參考塊。運動補償單元44可通過將殘余塊加到參考圖片列表中的一者內的參考圖片中的一者的預測性塊來計算參考塊。運動補償單元44還可將一個或一個以上內插濾波器應用于經重建構的殘余塊以計算子整數像素值以用于運動估計中。求和器62將經重建構的殘余塊加到由運動補償單元44所產生的運動補償預測塊,以產生參考塊以供存儲于參考圖片存儲器64中。參考塊可由運動估計單元42及運動補償單元44用作參考塊以對后續(xù)視頻幀或圖片中的塊進行幀間預測。
[0103]圖3為說明可實施本發(fā)明中所描述的幀間預測技術的實例視頻解碼器30的框圖。在圖3的實例中,視頻解碼器30包含熵解碼單元80、預測模塊81、反量化單元86、反變換單元88、求和器90,及參考圖片存儲器92。預測模塊81包含運動補償單元82及幀內預測模塊84。在一些實例中,視頻解碼器30可執(zhí)行一般與關于來自圖2的視頻編碼器20所描述的編碼遍次互逆的解碼遍次。
[0104]在解碼過程期間,視頻解碼器30從視頻編碼器20接收表示經編碼視頻切片的視頻塊及相關聯的語法元素的經編碼的視頻位流。視頻解碼器30的熵解碼單元80熵解碼所述位流以產生經量化的系數、運動向量及其它語法元素。熵解碼單元80將運動向量及其它語法元素轉遞到預測模塊81。視頻解碼器30可在視頻切片層級及/或視頻塊層級處接收語法元素。
[0105]熵解碼單元80可讀取由熵解碼單元解碼的變換系數的一維向量,且從所述一維向量重建構變換系數的二維矩陣。根據本文中所描述的技術,熵解碼單元80可讀取表示視頻數據的葉層級單元的一維矩陣,且將所述葉層級單元劃分成多個變換系數子集。變換系數子集可具有矩形、三角形或任何其它形狀或布置。針對子集中的每一者,反熵解碼單元80確定是否解碼子集的變換系數。舉例來說,如果熵解碼單元80不讀取指示特定子集是否具有非零系數的語法元素,那么反量化單元86解碼所述子集的系數。然而,如果熵解碼單元80確實讀取與特定子集相關聯的此語法元素,那么熵解碼單元80可基于所述語法元素的值確定是否解碼所述子集的變換系數。舉例來說,如果語法元素指示子集確實包含非零系數,那么熵解碼單元80解碼所述子集的變換系數。然而,如果語法元素指示子集不包含任何非零系數,那么熵解碼單元80不解碼所述子集的變換系數。
[0106]當視頻切片經譯碼為幀內譯碼(I)切片時,預測模塊81的幀內預測模塊84可基于用信號發(fā)送的幀內預測模式及來自當前幀或圖片的先前經解碼塊的數據而產生當前視頻切片的視頻塊的預測數據。當視頻幀經譯碼為幀間譯碼(即,B、P或GPB)切片時,預測模塊81的運動補償單元82基于從熵解碼單元80接收的運動向量及其它語法元素而產生當前視頻切片的視頻塊的預測性塊。可從參考圖片列表中的一者內的參考圖片中的一者產生預測性塊。視頻解碼器30可基于存儲于參考圖片存儲器92中的參考圖片使用默認建構技術來建構參考巾貞列表:列表0及列表1。[0107]運動補償單元82通過剖析運動向量及其它語法元素而確定當前視頻切片的視頻塊的預測信息,且使用所述預測信息以產生正解碼的當前視頻塊的預測性塊。舉例來說,運動補償單元82使用一些所接收的語法元素以確定用以譯碼視頻切片的視頻塊的預測模式(例如,幀內預測或幀間預測)、幀間預測切片類型(例如,B切片、P切片或GPB切片)、切片的參考圖片列表中的一者或一者以上的建構信息、切片的每一幀間譯碼視頻塊的運動向量、切片的每一幀間譯碼視頻塊的幀間預測狀態(tài),及用以解碼當前視頻切片中的視頻塊的其它信息。
[0108]運動補償單元82還可基于內插濾波器執(zhí)行內插。運動補償單元82可使用如由視頻編碼器20在視頻塊的編碼期間使用的內插濾波器,以計算參考塊的子整數像素的內插值。在此狀況下,運動補償單元82可從所接收的語法元素確定由視頻編碼器20使用的內插濾波器,且使用所述內插濾波器來產生預測性塊。反量化單元86反量化(即,解量化)位流中所提供且由熵解碼單元80解碼的經量化的變換系數。
[0109]在一些實例中,反量化過程可包含使用由視頻編碼器20所計算的用于視頻切片中的每一視頻塊的量化參數,以確定量化程度及(同樣地)應該應用的反量化的程度。反變換模塊88將反變換(例如,反DCT、反整數變換或概念上類似的反變換過程)應用于變換系數,以便在像素域中產生殘余塊。
[0110]在運動補償單元82基于運動向量及其它語法元素產生當前視頻塊的預測性塊之后,視頻解碼器30通過對來自反變換模塊88的殘余塊與由運動補償單元82產生的對應預測性塊求和而形成經解碼視頻塊。求和器90表示執(zhí)行此求和運算的一個或一個以上組件。必要時,還可應用解塊濾波器以對經解碼塊進行濾波,以便移除成塊假影。其它回路濾波器(譯碼回路中或譯碼回路后)還可用以使像素轉變平穩(wěn),或以其它方式改進視頻質量。接著將給定幀或圖片中的經解碼視頻塊存儲于參考圖片存儲器92中,參考圖片存儲器92存儲用于后續(xù)運動補償的參考圖片。參考圖片存儲器92還存儲經解碼視頻以用于稍后在顯示裝置(例如,圖1的顯示裝置32)上呈現。
[0111]圖4為描繪與本文中所描述的技術一致的劃分成多個變換系數子集的葉層級單元410的一實例的概念圖。圖4中所描繪的葉層級單元410可包括視頻數據的未分裂子代節(jié)點,例如,四叉樹(RQT)結構的葉節(jié)點。如圖4中所展示,多個子集420中的每一者包含多個變換系數412 (在圖1的實例中為十六個變換系數),其可能為或可能不為幅度大于零的非零系數。圖4中還展示,葉層級單元410的最后非零系數(相對于z字形掃描,反z字形掃描的第一非零系數)具有葉層級單元410的子集(1,1)內的位置(7,7)。
[0112]如上文所描述,一旦視頻編碼器20已將葉層級單元410劃分成多個變換系數子集420,視頻編碼器20就可確定是否產生指示子集是否包含任何非零系數的語法元素。舉例來說,視頻編碼器20可基于特定塊中的潛在非零系數的數目而確定是否產生與所述塊相關聯的語法元素。
[0113]根據圖4的實例,在位置(7,7)處的系數為葉層級單元420的最后非零系數,意謂根據z字形掃描次序在位置(7,7)之后的所有變換系數(在圖4的實例中的未加陰影的系數)具有幅度零。根據一實例,視頻編碼器20可基于葉層級單元410內的最后非零系數位置而確定子集中的潛在非零系數的數目。
[0114]視頻編碼器20可針對葉層級單元410的相應子集中的每一者確定非零系數(例如,在所述子集的位置(7,7)處的掃描的最后非零系數之后的反z字形掃描的系數)的潛在數目。舉例來說,視頻編碼器20可確定圖4中所描繪的子集(0,0)、(0,1)、(1,0)、(1,1)及(2,0)中的每一者的所有十六個系數為潛在非零系數,這是因為所述子集的所有系數在掃描時在最后非零系數之前。視頻編碼器還可確定子集(0,2)中的十五個系數可潛在地為非零系數,子集(2,1)及(3,0)中的每一者的六個系數可潛在地為非零系數,且子集(1,1)及(0,3)中的三個系數可潛在地為非零系數。
[0115]編碼器20可針對圖4中所描繪的所述子集420基于每一子集的潛在非零系數的數目而確定是否產生語法元素。舉例來說,編碼器20可比較每一子集的潛在非零系數的經確定數目與閾值thNoCoeff。如果潛在非零系數的經確定數目大于閾值,那么編碼器20可產生指示子集是否包含非零系數的語法元素。然而,如果潛在非零系數的經確定數目小于或等于閾值,那么編碼器20可不產生語法元素。
[0116]根據一特定實例,閾值thNoCoeff可具有值五(5)。參看圖4的實例,編碼器20將用信號發(fā)送指示子集(0,0)、(0,1)、(1,0)、(1,1)、(0,2)、(2,0)、(2,1)及(3,0)是否包含非零系數的語法元素,這是因為此些子集420中的每一者包含比為五的閾值thNoCoeff多的潛在非零系數。然而,對于子集(1,2)、(0,3)、(3,1)、(2,2)、(1,3)、(3,2)、(2,3)及(3,3),視頻編碼器20將不產生語法元素,這是因為所述子集包含少于五個的潛在非零系數。舉例來說,視頻編碼器20可編碼子集(1,1)及(0,2)的變換系數且確定所述子集是否包含任何非零系數。如果視頻編碼器20確定子集(1,2)及(0,3)中的任一者包含任何非零系數,那么視頻編碼器可產生與所述子集相關聯的具有值一(1)的語法元素。另外,如果視頻編碼器20確定子集(1,1)及(0,2)中的任一者皆不包含任何非零系數,那么視頻編碼器20還可產生與所述子集相關聯的具有值零(0)的語法元素。視頻編碼器20還可產生與子集(0,0)、(0,1)、(1,0)、(2,0)、(2,1)及(3,0)中的每一者相關聯的具有值(0)或(1)的語法元素。
[0117]指示子集(0,0),(0,1) > (1,0), (1,1)、(0,2), (2,0), (2,1)及(3,0)是否具有非
零系數的語法元素(例如,針對每一相應子集所定義的單獨語法元素)可作為經熵編碼的位流的部分由視頻編碼器20輸出,且由解碼器30讀取。作為重建構葉層級單元410的部分,解碼器30可將表示單元410的數據劃分成多個子塊。對于每一子塊,解碼器30可確定經熵編碼的位流是否包含指示所述子集是否包含非零系數的語法元素。如果解碼器30讀取不包含此語法元素的子塊,那么解碼器30解碼所述子集的系數。然而,如果解碼器30確實讀取與子集相關聯的此語法元素,那么解碼器30可使用所述語法元素的值以確定是否解碼子集的系數。舉例來說,根據上文所闡述的實例,如果解碼器30讀取子集(1,1)的語法元素值一(1),那么解碼器可解碼所述子集。然而,如果解碼器30讀取子集(1,1)的語法元素值零(0),那么解碼器30不解碼子塊的變換系數。
[0118]圖5為說明與本發(fā)明的一個或一個以上方面一致的編碼視頻數據的方法的一實例的流程圖。圖5的方法被描述為是通過圖1及圖2中所描繪的編碼器20來執(zhí)行,然而,任何其它裝置可用以執(zhí)行圖5的方法。
[0119]如圖5中所展示,編碼器20將視頻數據的葉塊劃分成各自包含多個變換系數的多個子集(501)。作為一實例,多個子集可包括如描繪于圖4的實例中的矩形子集,或任何其它幾何形狀或模式。視頻數據的葉層級單元可包括視頻譯碼標準的最低層級譯碼單元,例如,如上文所描述的四叉樹結構的未分裂子代節(jié)點。
[0120]還如圖5中所展示,編碼器20針對多個子集中的至少一者產生指示所述子集是否包含非零系數的語法元素(502)。在一些實例中,編碼器20可產生與多個子集中的每一者相關聯的此語法元素。在其它實例中,編碼器20可針對子集中的每一者選擇性地確定是否產生此語法元素。舉例來說,編碼器20可基于產生語法元素是否將改進譯碼效率及/或壓縮而選擇性地確定是否產生語法元素。在一些狀況下與指示特定子集實際上包含非零系數相關聯的開銷可使壓縮降級,且在此些狀況下,可避免此開銷發(fā)信,且編碼器及解碼器可在無所述子集是否包含非零系數的任何確定的情況下編碼/解碼所述子集。
[0121]在一些實例中,編碼器20可基于子集中的潛在非零系數的數目(如下文關于圖6進一步詳細描述)或基于如下文進一步詳細描述的每一子集的系數的平均數目(如下文關于圖7進一步詳細描述)而確定產生語法元素是否將改進譯碼效率。如果編碼器20產生與子集相關聯的語法元素,那么編碼器20可輸出所述語法元素作為經熵編碼的位流的部分。可由解碼器30讀取經熵編碼的位流(如描繪于圖3中),且可由解碼器30使用語法元素以解碼葉層級單元,如下文關于圖8進一步詳細描述。
[0122]圖6為說明與本發(fā)明的一個或一個以上方面一致的編碼視頻數據的方法的一實例的流程圖。圖6的方法被描述為是通過圖2中所描繪的編碼器20來執(zhí)行,然而,任何裝置可用以執(zhí)行圖6的技術。根據圖6的實例,編碼器20基于變換系數子集的潛在非零系數的數目而確定產生與所述子集相關聯的語法元素是否將改進譯碼效率。
[0123]如圖6的實例中所展示,編碼器20將視頻數據的葉層級單元劃分成多個變換系數子集(601)。作為一實例,多個子集可包括如描繪于圖4的實例中的矩形子集,或任何其它幾何形狀或模式。視頻數據的葉層級單元可包括視頻譯碼標準的最低層級譯碼單元,例如,如上文所描述的四叉樹結構的未分裂子代節(jié)點。
[0124]根據圖6的實例,視頻編碼器20基于多個子集中的每一者的潛在非零系數的數目而確定是否產生與每一子集相關聯的語法元素。舉例來說,如圖6中所展示,編碼器20針對每一子集確定所述子集的潛在非零系數的數目(602)。為了確定潛在非零系數的數目,編碼器20可確定每一子集的多少系數具有在葉層級單元的最后非零系數之前的位置,如上文關于圖4的實例所描述。
[0125]還如圖6中所展示,編碼器20可比較潛在非零系數的經確定數目與閾值thNoCoeff (603)。圖6中還展示,如果潛在非零系數的經確定數目大于閾值thNoCoeff,那么編碼器20產生與子集相關聯的語法元素(604)。然而,如果潛在非零系數的經確定數目小于或等于閾值thNoCoeff,那么編碼器20不產生與子集相關聯的語法元素(605)。根據此些實例,如果潛在非零系數的數目小于或等于閾值thNoCoeff,那么可假定應執(zhí)行解碼編碼/解碼所述子集。以此方式,針對包含極少潛在非零系數的那些子集不產生語法元素,此情形可減少由編碼器20用信號發(fā)送以表示視頻數據的葉層級單元的信息位的數目。這是因為當子集含有極少潛在非零系數時,用信號發(fā)送那些非零系數所需的位數目相對小,此又導致在用信號發(fā)送指示所述子集是否具有非零系數的語法元素時的開銷相對較大。結果,較佳在子集含有極少潛在非零系數(即,小于thNoCoeff)時不用信號發(fā)送語法元素而替代地直接譯碼所述子集的系數。
[0126]圖7為說明與本發(fā)明的一個或一個以上方面一致的編碼視頻數據的方法的另一實例的流程圖。圖7的方法被描述為是由圖2中所描繪的編碼器20來執(zhí)行,然而,任何裝置可用以執(zhí)行圖7的技術。根據圖7的實例,編碼器20基于每一子集的非零系數的平均數目確定產生語法元素是否將改進譯碼效率。
[0127]如圖7中所展示,編碼器20將視頻數據的葉層級單元劃分成多個變換系數子集(701)。圖7中還展示,針對每一子集,編碼器20確定所述子集的非零系數的平均數目。因為編碼器20可經配置以收集指示視頻數據的先前經編碼葉層級單元的每一子集內的位置處的系數多常包含非零系數的統計。舉例來說,編碼器20可保有一個或一個以上計數器,所述一個或一個以上計數器在葉層級單元經編碼時用來對每一子集內的系數多常為非零及/或每一子集的多少系數為非零進行計數。根據此實例,當編碼器20編碼視頻數據的新的葉層級單元時,編碼器20可存取此計數器以確定每一子集的非零系數的平均數目。在一些實例中,可(例如)針對每一視頻幀或切片周期性地復位(例如,初始化)每一子集的計數器。
[0128]還如圖7中所展示,編碼器20比較非零系數的經確定平均數目與閾值thAvrgCoeff (703)。還如圖7中所展示,如果非零系數的經確定平均數目小于閾值thAvrgCoeff,那么編碼器20產生與子集相關聯的語法元素(704)。然而,如果非零系數的經確定平均數目大于或等于閾值,那么編碼器20不產生與子集相關聯的語法元素(705)。
[0129]如上文所描述,編碼器20可產生包含指示變換系數的子集是否包含任何非零系數的至少一語法元素的經熵編碼的位流。編碼器20可基于如圖6中所展示的子集的潛在非零系數的數目或基于如圖7中所展示的非零系數的平均數目而確定是否產生語法元素。解碼器30可讀取包含至少一語法元素的經熵編碼的位流,且使用所述至少一語法元素解碼所述經熵編碼的位流。
[0130]圖8為說明與本發(fā)明的一個或一個以上方面一致的可通過解碼器執(zhí)行的方法的一實例的流程圖。圖8的方法被描述為是通過圖3中所描繪的解碼器30來執(zhí)行,然而,任何裝置可用以執(zhí)行圖8的方法。
[0131]如圖8中所展示,解碼器30可將視頻數據的葉層級單元劃分成各自包含多個變換系數的多個子集(801)。作為一實例,多個子集可包括如描繪于圖4的實例中的矩形子集,或任何其它幾何形狀或模式。視頻數據的葉層級單元可包括視頻譯碼標準的最低層級譯碼單元,例如,如上文所描述的四叉樹結構的未分裂子代節(jié)點。數據的葉層級單元是通過經熵編碼的位流表示,經熵編碼的位流包含指示多個子集中的子集是否包含任何非零系數的至少一語法元素。
[0132]還如圖8中所展示,針對子集中的每一者,解碼器30確定經熵編碼的位流是否包含與子集相關聯的語法元素(802)。還如圖8中所展示,如果子集不包含此相關聯的語法元素,那么解碼器30解碼所述子集(例如,所述子集的變換系數)(803)。還如圖8中所展示,如果子集確實包含此相關聯的語法元素,那么解碼器30可使用所述相關聯的語法元素確定是否解碼所述子集(804)。舉例來說,如果語法元素具有第一值(例如,一(1)),那么解碼器30解碼所述子集。然而,如果語法元素具有第二值(例如,零(0)),那么解碼器30不解碼所述子集。
[0133]在一個或一個以上實例中,可至少部分地以硬件(例如,特定硬件組件或處理器)來實施本文所描述的功能。更大體來說,可以硬件、處理器、軟件、固件或其任何組合來實施所述技術。如果以軟件實施,那么所述功能可作為一個或一個以上指令或代碼而存儲于計算機可讀媒體上或經由計算機可讀媒體而傳輸,且通過基于硬件的處理單元執(zhí)行。計算機可讀媒體可包含對應于有形媒體(例如,數據存儲媒體)的計算機可讀存儲媒體或通信媒體,通信媒體包含促進(例如)根據通信協議將計算機程序從一處傳送到另一處的任何媒體。以此方式,計算機可讀媒體一般可對應于(1)非暫時性的有形計算機可讀存儲媒體或
(2)例如信號或載波等通信媒體。數據存儲媒體可為可由一個或一個以上計算機或一個或一個以上處理器存取以檢索指令、代碼及/或數據結構用于實施本發(fā)明中所描述的技術的任何可用媒體。計算機程序產品可包含計算機可讀媒體。
[0134]通過實例而非限制,此些計算機可讀存儲媒體可包括RAM、ROM、EEPROM、CD-ROM或其它光盤存儲器、磁盤存儲器或其它磁性存儲裝置、快閃存儲器,或可用以存儲呈指令或數據結構的形式的所要代碼且可由計算機存取的任何其它媒體。而且,任何連接被適當地稱為計算機可讀媒體,即,計算機可讀傳輸媒體。舉例來說,如果使用同軸電纜、光纖纜線、雙絞線、數字訂戶線(DSL)或例如紅外線、無線電及微波等無線技術而從網站、服務器或其它遠程源傳輸指令,那么同軸電纜、光纖纜線、雙絞線、DSL或例如紅外線、無線電及微波等無線技術包含于媒體的定義中。然而,應理解,計算機可讀存儲媒體及數據存儲媒體不包含連接、載波、信號或其它暫態(tài)媒體,而是替代地針對非暫態(tài)有形存儲媒體。如本文中所使用,磁盤及光盤包含壓縮光盤(CD)、激光光盤、光學光盤、數字影音光盤(DVD)、軟盤及藍光光盤,其中磁盤通常以磁性方式再現數據,而光盤通過激光以光學方式再現數據。上述各者的組合還應包含于計算機可讀媒體的范圍內。
[0135]可由例如以下各者的一個或一個以上處理器執(zhí)行指令:一個或一個以上中央處理單元(CPU)、數字信號處理器(DSP)、通用微處理器、專用集成電路(ASIC)、現場可編程邏輯陣列(FPGA)或其它等效集成或離散邏輯電路。因此,如本文中所使用的術語“處理器”可指代前述結構或適于實施本文中所描述的技術的任何其它結構中的任一者。另外,在一些方面中,可將本文中所描述的功能提供于經配置以用于編碼及解碼的專用硬件及/或軟件模塊內,或并入組合式編碼解碼器中。而且,所述技術可完全實施于一個或一個以上電路或邏輯元件中。
[0136]可在包含無線手持機、集成電路(1C)或一組1C(例如,芯片組)的廣泛多種裝置或設備中實施本發(fā)明的技術。在本發(fā)明中描述各種組件、模塊或單元以強調經配置以執(zhí)行所揭示的技術的裝置的功能方面,但未必需要通過不同硬件單元實現。更確切來說,如上文所描述,各種單元可組合于編碼解碼器硬件單元中或由交互操作的硬件單元的集合(包含如上文所描述的一個或一個以上處理器)結合合適軟件及/或固件來提供。
[0137]已描述各種實例。此些及其它實例在所附權利要求書的范圍內。
【權利要求】
1.一種編碼視頻數據的單元的方法,其包括: 將視頻數據的葉層級單元劃分成多個變換系數子集;及 針對所述多個變換系數子集中的子集產生指示所述子集是否包含任何非零系數的語法元素。
2.根據權利要求1所述的方法,其進一步包括: 針對所述子集確定是否產生所述語法元素。
3.根據權利要求2所述的方法,其中針對所述子集確定是否產生所述語法元素包括確定產生所述語法元素是否將改進譯碼效率。
4.根據權利要求2所述的方法,其中確定是否產生所述語法元素包括將所述子集的潛在非零系數的數目與至少一閾值進行比較;及 如果所述子集的潛在非零系數的所述數目大于所述閾值,那么產生所述語法元素。
5.根據權利要求4所述的方法,其進一步包括: 基于所述子集的多少系數具有在所述葉層級單元的最后非零系數之后的位置而確定潛在非零系數的所述數目。
6.根據權利要求2所述的方法,其中確定是否產生所述語法元素包括: 針對視頻數據的多個先前經譯碼的葉層級單元確定包含于所述子集中的非零系數的平均數目; 將包含于所述子集中的非零 系數的所述平均數目與閾值進行比較;及 如果非零系數的所述平均數目小于所述閾值,那么產生所述語法元素。
7.根據權利要求2所述的方法,其中確定是否產生所述語法元素包括: 確定所述子集是否包含視頻數據的所述葉層級單元的最后非零系數,其中如果所述子集包含所述最后非零系數,那么不產生指示所述子集是否包含任何非零系數的所述語法元素。
8.根據權利要求1所述的方法,其進一步包括: 針對所述多個變換系數子集中的每一子集確定是否產生所述語法元素。
9.一種經配置以編碼視頻數據的至少一葉層級單元的裝置,其包括: 處理器,其經配置以: 將視頻數據的葉層級單元劃分成多個變換系數子集;及 針對所述多個變換系數子集中的子集產生指示所述子集是否包含任何非零系數的語法元素。
10.根據權利要求9所述的裝置,其中所述處理器經進一步配置以: 針對所述子集確定是否產生所述語法元素。
11.根據權利要求10所述的裝置,其中所述處理器經進一步配置以: 針對所述子集基于產生所述語法元素是否將改進譯碼效率而確定是否產生所述語法元素。
12.根據權利要求10所述的裝置,其中所述處理器經進一步配置以: 基于將所述子集的潛在非零系數的數目與至少一閾值進行比較而確定是否產生所述語法元素;及 如果所述子集的潛在非零系數的所述數目大于所述閾值,那么產生所述語法元素。
13.根據權利要求12所述的裝置,其中所述處理器經進一步配置以: 基于所述子集的多少系數具有在所述葉層級單元的最后非零系數之后的位置而確定潛在非零系數的所述數目。
14.根據權利要求10所述的裝置,其中所述處理器經進一步配置以: 針對視頻數據的多個先前經譯碼的葉層級單元確定包含于所述子集中的非零系數的平均數目; 將包含于所述子集中的非零系數的所述平均數目與閾值進行比較;及 如果非零系數的所述平均數目小于所述閾值,那么產生所述語法元素。
15.根據權利要求9所述的裝置,其中編碼模塊經進一步配置以: 針對所述多個變換系數子集中的每一子集確定是否產生所述語法元素。
16.根據權利要求9所述的裝置,其中所述處理器經進一步配置以: 確定所述子集是否包含視頻數據的所述葉層級單元的最后非零系數,其中如果所述子集包含所述最后非零系數,那么不產生指示所述子集是否包含任何非零系數的所述語法元素。
17.一種存儲指令的計算機可讀存儲媒體,所述指令在執(zhí)行時使計算裝置: 將視頻數據的葉層級單元劃分成多個變換系數子集;及 針對所述多個變換系數子集中的子集產生指示所述子集是否包含任何非零系數的語法元素。
18.根據權利要求17所述的計算機可讀存儲媒體,其中所述指令進一步使所述計算裝置: 針對所述子集確定是否產生所述語法元素。
19.根據權利要求18所述的計算機可讀存儲媒體,其中所述指令進一步使所述計算裝置: 針對所述子集基于產生所述語法元素是否將改進譯碼效率而確定是否產生所述語法元素。
20.根據權利要求18所述的計算機可讀存儲媒體,其中所述指令進一步使所述計算裝置: 基于將所述子集的潛在非零系數的數目與至少一閾值進行比較而確定是否產生所述語法元素;及 如果所述子集的潛在非零系數的所述數目大于所述閾值,那么產生所述語法元素。
21.根據權利要求20所述的計算機可讀存儲媒體,其中所述指令進一步使所述計算裝置: 基于所述子集的多少系數具有在所述葉層級單元的最后非零系數之后的位置而確定潛在非零系數的所述數目。
22.根據權利要求18所述的計算機可讀存儲媒體,其中所述指令進一步使所述計算裝置: 針對視頻數據的多個先前經譯碼的葉層級單元確定包含于所述子集中的非零系數的平均數目; 將包含于所述子集中的非零系數的所述平均數目與閾值進行比較;及如果非零系數的所述平均數目小于所述閾值,那么產生所述語法元素。
23.根據權利要求17所述的計算機可讀存儲媒體,其中所述指令進一步使所述計算裝置: 針對所述多個變換系數子集中的每一子集確定是否產生所述語法元素。
24.根據權利要求17所述的計算機可讀存儲媒體,其中所述指令進一步使所述計算裝置: 確定所述子集是否包含視頻數據的所述葉層級單元的最后非零系數,其中如果所述子集包含所述最后非零系數,那么不產生指示所述子集是否包含任何非零系數的所述語法元素。
25.—種經配置以編碼視頻數據的至少一葉層級單元的裝置,其包括: 用于將視頻數據的葉層級單元劃分成多個變換系數子集的裝置;及 用于針對所述多個變換系數子集中的子集產生指示所述子集是否包含任何非零系數的語法元素的裝置。
26.根據權利要求25所述的裝置,其進一步包括: 用于針對所述子集確定是 否產生所述語法元素的裝置。
27.根據權利要求26所述的裝置,其進一步包括: 用于針對所述子集基于產生所述語法元素是否將改進譯碼效率而確定是否產生所述語法元素的裝置。
28.根據權利要求26所述的裝置,其進一步包括: 用于基于將所述子集的潛在非零系數的數目與至少一閾值進行比較而確定是否產生所述語法元素的裝置;及 用于如果所述子集的潛在非零系數的所述數目大于所述閾值,那么產生所述語法元素的裝置。
29.根據權利要求28所述的裝置,其進一步包括: 用于基于所述子集的多少系數具有在所述葉層級單元的最后非零系數之后的位置而確定潛在非零系數的所述數目的裝置。
30.根據權利要求26所述的裝置,其中用于確定是否產生所述語法元素的所述裝置包括: 用于針對視頻數據的多個先前經譯碼的葉層級單元確定包含于所述子集中的非零系數的平均數目的裝置; 用于將包含于所述子集中的非零系數的所述平均數目與閾值進行比較的裝置;及 用于如果非零系數的所述平均數目小于所述閾值,那么產生所述語法元素的裝置。
31.根據權利要求25所述的裝置,其進一步包括: 用于針對所述多個變換系數子集中的每一子集確定是否產生所述語法元素的裝置。
32.根據權利要求25所述的裝置,其進一步包括: 用于確定所述子集是否包含視頻數據的所述葉層級單元的最后非零系數的裝置,其中如果所述子集包含所述最后非零系數,那么不產生指示所述子集是否包含任何非零系數的所述語法元素。
33.一種解碼視頻數據的單元的方法,其包括:將視頻數據的葉層級單元劃分成多個變換系數子集;及 針對所述多個變換系數子集中的子集確定所述子集是否包含指示所述子集是否包含任何非零系數的相關聯的語法元素;及 基于所述語法元素確定是否解碼所述子集。
34.根據權利要求33所述的方法,其進一步包括: 如果所述子集不包含所述語法元素,那么解碼所述子集。
35.根據權利要求34所述的方法,其進一步包括: 如果數據的所述子集確實包含所述語法元素,那么基于所述指示確定是否解碼所述子集。
36.根據權利要求35所述的方法,其進一步包括: 如果與所述子集相關聯的所述語法元素具有第一值,那么解碼所述子集;及 如果所述語法元素具有不同于所述第一值的第二值,那么不解碼所述子集。
37.根據權利要求33所述的方法,其進一步包括: 針對所述多個變換系數子集中的每一子集確定所述子集是否包含指示所述子集是否包含任何非零系數的相關聯的語法元素;及基于所述語法元素確定是否解碼所述子集。
38.根據權利要求33所述的方法,其進一步包括: 如果所述子集不包含所述語法元素,那么確定所述子集是否包含指示最后非零系數包含于所述子集中的單獨語法元素;及 如果所述子集包含指示最后非零系數包含于所述子集中的所述單獨語法元素,那么解碼所述子集。
39.一種經配置以解碼視頻數據的單元的裝置,其包括: 處理器,其經配置以: 將視頻數據的葉層級單元劃分成多個變換系數子集; 針對所述多個變換系數子集中的子集確定所述子集是否包含指示所述子集是否包含任何非零系數的相關聯的語法元素;及 基于所述語法元素確定是否解碼所述子集。
40.根據權利要求39所述的裝置,其中所述處理器經進一步配置以: 如果所述子集不包含所述語法元素,那么解碼所述子集。
41.根據權利要求40所述的裝置,其中所述處理器經進一步配置以: 如果數據的所述子集確實包含所述語法元素,那么基于所述指示確定是否解碼所述子集。
42.根據權利要求41所述的裝置,其中所述處理器經進一步配置以: 如果與所述子集相關聯的所述語法元素具有第一值,那么解碼所述子集;及 如果所述語法元素具有不同于所述第一值的第二值,那么不解碼所述子集。
43.根據權利要求39所述的裝置,其中所述處理器經進一步配置以: 針對所述多個變換系數子集中的每一子集確定所述子集是否包含指示所述子集是否包含任何非零系數的相關聯的語法元素;及基于所述語法元素確定是否解碼所述子集。
44.根據權利要求39所述的裝置,其中所述處理器經進一步配置以: 如果所述子集不包含所述語法元素,那么確定所述子集是否包含指示最后非零系數包含于所述子集中的單獨語法元素;及 如果所述子集包含指示最后非零系數包含于所述子集中的所述單獨語法元素,那么解碼所述子集。
45.一種存儲指令的計算機可讀存儲媒體,所述指令在執(zhí)行時使計算裝置: 將視頻數據的葉層級單元劃分成多個變換系數子集; 針對所述多個變換系數子集中的子集確定所述子集是否包含指示所述子集是否包含任何非零系數的相關聯的語法元素;及 基于所述語法元素確定是否解碼所述子集。
46.根據權利要求45所述的計算機可讀存儲媒體,其中所述指令進一步使所述計算裝置: 如果所述子集不包含所述語法元素,那么解碼所述子集。
47.根據權利要求46所述的計算機可讀存儲媒體,其中所述指令進一步使所述計算裝置: 如果數據的所述子集確實包含所述語法元素,那么基于所述指示確定是否解碼所述子集。
48.根據權利要求47所述的計算機可讀存儲媒體,其中所述指令進一步使所述計算裝置: 如果與所述子集相關聯的所述語法元素具有第一值,那么解碼所述子集;及 如果所述語法元素具有不同于所述第一值的第二值,那么不解碼所述子集。
49.根據權利要求46所述的計算機可讀存儲媒體,其中所述指令進一步使所述計算裝置: 針對所述多個變換系數子集中的每一子集確定所述子集是否包含指示所述子集是否包含任何非零系數的相關聯的語法元素;及基于所述語法元素確定是否解碼所述子集。
50.根據權利要求45所述的計算機可讀存儲媒體,其中所述指令進一步使所述計算裝置: 如果所述子集不包含所述語法元素,那么確定所述子集是否包含指示最后非零系數包含于所述子集中的單獨語法元素;及 如果所述子集包含指示最后非零系數包含于所述子集中的所述單獨語法元素,那么解碼所述子集。
51.一種經配置以解碼視頻數據的單元的裝置,其包括: 用于將視頻數據的葉層級單元劃分成多個變換系數子集的裝置; 用于針對所述多個變換系數子集中的子集確定所述子集是否包含指示所述子集是否包含任何非零系數的語法元素的裝置;及 用于基于所述語法元素確定是否解碼所述子集的裝置。
52.根據權利要求51所述的裝置,其進一步包括: 用于如果所述子集不包含所述語法元素,那么解碼所述子集的裝置。
53.根據權利要求52所述的裝置,其進一步包括: 用于如果數據的所述子集確實包含所述語法元素,那么基于所述指示確定是否解碼所述子集的裝置。
54.根據權利要求53所述的裝置,其進一步包括: 用于如果與所述子集相關聯的所述語法元素具有第一值,那么解碼所述子集的裝置;及 用于如果所述語法元素具有不同于所述第一值的第二值,那么不解碼所述子集的裝置。
55.根據權利要求51所述的裝置,其進一步包括: 用于針對所述多個變換系數子集中的每一子集確定所述子集是否包含指示所述子集是否包含任何非零系數的相關聯的語法元素的裝置;及用于基于所述語法元素確定是否解碼所述子集的裝置。
56.根據權利要求51所述的裝置,其進一步包括: 如果所述子集不包含所述語法元素,那么用于確定所述子集是否包含指示最后非零系數包含于所述子集中的單獨語法元素的裝置;及 用于如果所述子集包含指示最后非零系數包含于所述子集中的所述單獨語法元素,那么解碼所述子集的裝置。`
【文檔編號】H04N19/61GK103636225SQ201280032423
【公開日】2014年3月12日 申請日期:2012年6月29日 優(yōu)先權日:2011年6月30日
【發(fā)明者】馬爾塔·卡切維奇, 翔林·王, 郭立威 申請人:高通股份有限公司