欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

編碼和解碼變換單位的殘差系數(shù)的有效性映射的方法、設備和系統(tǒng)的制作方法

文檔序號:7791011閱讀:593來源:國知局
編碼和解碼變換單位的殘差系數(shù)的有效性映射的方法、設備和系統(tǒng)的制作方法
【專利摘要】公開了一種用于從視頻數(shù)據(jù)的位流解碼多個編碼單位的方法。該方法根據(jù)位流的第一數(shù)據(jù)塊來確定所述多個編碼單位的編碼單位結構。所述編碼單位結構描述將編碼單位分割成多個編碼單位。該方法根據(jù)所確定的所述編碼單位結構來從位流的第二數(shù)據(jù)塊解碼所述多個編碼單位的旁路編碼數(shù)據(jù)。該方法根據(jù)所確定的所述編碼單位結構來從位流的第三數(shù)據(jù)塊解碼所述多個編碼單位的殘差數(shù)據(jù)。然后該方法使用殘差數(shù)據(jù)和旁路編碼數(shù)據(jù)來從位流形成所述多個編碼單位。還公開了編碼方法。
【專利說明】編碼和解碼變換單位的殘差系數(shù)的有效性映射的方法、設 備和系統(tǒng)

【技術領域】
[0001] 本發(fā)明通常涉及數(shù)字視頻信號處理,尤其涉及用于對變換單位(TU)的殘差系數(shù) 進行編碼和解碼的方法、設備和系統(tǒng),其中該變換單位(TU)的形狀可以具有正方形或非正 方形。

【背景技術】
[0002] 當前存在包括用于傳輸和存儲視頻數(shù)據(jù)的應用程序的許多應用程序。還開發(fā)了許 多視頻編碼標準并且其它視頻編碼標準當前正在開發(fā)中。視頻編碼標準化的最新進展已導 致形成被稱為"針對視頻編碼的聯(lián)合專家小組"(JCT-VC)的組。該針對視頻編碼的聯(lián)合專 家小組(JCT-VC)包括已知為視頻編碼專家組(VCEG)的國際電信聯(lián)盟(ITU)的電信標準化 部門(ITU-T)的研究組16、問題6(SG16/Q6)的成員、以及還已知為運動圖片專家組(MPEG) 的國際標準化組織/國際電工委員會聯(lián)合技術委員會1/小組委員會29/工作組11 (ISO/ IECJTC1/SC29/WG11)的成員。
[0003] 針對視頻編碼的聯(lián)合專家小組(JCT-VC)的目標是產(chǎn)生新的視頻編碼標準以顯著 優(yōu)于目前現(xiàn)有的已知為"H. 264/MPEG-4AVC"的視頻編碼標準。該H. 264/MPEG-4AVC標準本 身是針對諸如MPEG-4和ITU-T H. 263等的以前的視頻編碼標準的大幅改進。已將開發(fā)中的 新視頻編碼標準命名為"高效率視頻編碼(HEVC) "。針對視頻編碼的聯(lián)合專家小組JCT-VC 還考慮由于針對高效率視頻編碼(HEVC)所提出的技術而產(chǎn)生的、在對該標準的實現(xiàn)進行 縮放從而以高分辨率或高幀頻進行工作的情況下產(chǎn)生困難的實現(xiàn)挑戰(zhàn)。
[0004] 呈現(xiàn)實現(xiàn)高壓縮效率所帶來的困難的H. 264/MPEG-4AVC視頻編碼標準的一個領 域是針對用于表示視頻數(shù)據(jù)的殘差系數(shù)的編碼。視頻數(shù)據(jù)由幀序列構成,其中各幀具有樣 本的二維陣列。通常,幀包括一個亮度通道和兩個色度通道。將各幀分解成一個或多個片。 各片包含一個或多個最大編碼單位(IXU)。這些最大編碼單位(IXU)具有諸如64個亮度樣 本等的、邊尺寸是2的冪且寬度和高度相等的固定大小。開發(fā)中的高效率視頻編碼(HEVC) 標準的一個特征是"細粒度片(fine granularity slice) "。在細粒度片特征有效的情況下, 片邊界沒有被限制為最大編碼單位(LCU)邊界。細粒度片可以在位流等級有效。
[0005] 編碼樹使得能夠將各最大編碼單位(LCU)子分割成相等大小的四個區(qū)域,其中各 區(qū)域的寬度和高度是母最大編碼單位(LCU)的寬度和高度的一半。可以將各區(qū)域進一步子 分割成相等大小的四個區(qū)域。在沒有對區(qū)域進行進一步子分割的情況下,存在編碼單位,從 而占據(jù)該區(qū)域整體??梢赃f歸地應用這種子分割處理,直到達到區(qū)域的大小是最小編碼單 位(SCU)大小、并且推斷出編碼單位(CU)即最小編碼單位(SCU)的大小為止。將最大編碼 單位遞歸子分割成編碼單位的層級結構具有四叉樹結構并且被稱為編碼樹。編碼單位(CU) 或區(qū)域具有已知為"深度"的特性,其中"深度"是指這些編碼單位或區(qū)域在子分割的層級結 構的等級方面位于編碼樹的位置。將該子分割處理作為算術編碼標志的序列而在位流中編 碼。在細粒度片有效的情況下,指定確定片邊界可能存在的編碼單位的最小大小的閾值。
[0006] 在沒有進行進一步子分割的編碼樹中存在一組編碼單位,這些編碼單位是占據(jù)編 碼樹的葉節(jié)點的編碼單位。在這些編碼單位中存在變換樹。變換樹還可以使用如編碼樹所 使用的四叉樹結構來對編碼單位進行分解。在變換樹的葉節(jié)點處,使用變換單位(TU)來對 殘差數(shù)據(jù)進行編碼。與編碼樹相對比,變換樹可以將編碼單位子分割成具有非正方形形狀 的變換單位。此外,變換樹結構不要求變換單位(TU)占據(jù)母編碼單位所提供的所有區(qū)域。
[0007] 將編碼樹的葉節(jié)點處的各編碼單位子分割成各自已知為預測單位(PU)的預測數(shù) 據(jù)樣本的一個或多個陣列。各預測單位(PU)包含通過應用幀內預測處理或幀間預測處理 所推導出的輸入幀數(shù)據(jù)的一部分的預測??梢允褂脦追N方法來對編碼單位(CU)內的預測 單位(PU)進行編碼。一個預測單位(PU)可能占據(jù)編碼單位(CU)的整個區(qū)域,或者編碼單 位(CU)可能在水平方向或垂直方向上被分割成相等大小的兩個矩形預測單位(PU)。另外, 可以將編碼單位(CU)分割成相等大小的四個正方形預測單位(PU)。
[0008] 視頻編碼器通過將視頻數(shù)據(jù)轉換成句法元素序列來將視頻數(shù)據(jù)壓縮成位流。使用 與在MPEG4-AVC/H. 264視頻壓縮標準中所定義的算術編碼方案相同的算術編碼方案,來在 開發(fā)中的高效率視頻編碼(HEVC)標準內定義上下文自適應二進制算術編碼(CABAC)。在開 發(fā)中的高效率視頻編碼(HEVC)標準中,在上下文自適應二進制算術編碼(CABAC)處于使用 中的情況下,將各句法元素表示為二進制數(shù)序列,其中這些二進制數(shù)是從可用二進制數(shù)的 集合中所選擇的??捎枚M制數(shù)的集合是從上下文模型所獲得的,其中針對各二進制數(shù)存 在一個上下文。各上下文保持可能的二進制數(shù)值('valMPS')、以及算術編碼或算術解碼 運算的概率狀態(tài)。注意,可以對二進制數(shù)進行旁路編碼,在該過程中與上下文無關聯(lián)。旁路 編碼二進制數(shù)消耗位流中的一位,因此適合作為1值和〇值的概率相等的二進制數(shù)。根據(jù) 句法元素創(chuàng)建這種二進制數(shù)序列已知為"二值化(binarising) "句法元素。
[0009] 在視頻編碼器或視頻解碼器中,由于各二進制數(shù)可使用單獨的上下文信息,因此 二進制數(shù)的上下文選擇提供了用以改進編碼效率的方式。特別地,可以通過選擇特定二進 制數(shù)來改進編碼效率,以使得來自使用關聯(lián)的上下文信息的二進制數(shù)的以前示例的統(tǒng)計特 性與二進制數(shù)的當前示例的統(tǒng)計特性相關。這種上下文選擇頻繁地利用空間本地信息以確 定最佳上下文。
[0010] 在開發(fā)中的高效率視頻編碼(HEVC)標準和H. 264/MPEG-4AVC中,基于來自其它幀 或者來自先前解碼后的當前塊內的鄰接區(qū)域的參考樣本數(shù)據(jù)來推導針對當前塊的預測。該 預測和期望樣本數(shù)據(jù)之間的差已知為殘差。該殘差的頻域表示是殘差系數(shù)的二維陣列。按 照慣例,二維陣列的左上角包含表示低頻信息的殘差系數(shù)。
[0011] 開發(fā)中的高效率視頻編碼(HEVC)標準的吞吐量的一個方面涉及以高的位率對視 頻數(shù)據(jù)進行編碼或解碼的能力。開發(fā)中的高效率視頻編碼(HEVC)標準中所采用的上下文 自適應二進制算術編碼(CABAC)方案支持被稱為"旁路編碼"的操作的"等概率"模式。在 該模式中,二進制數(shù)沒有與來自上下文模型的上下文相關聯(lián),因而不存在上下文模型更新 步驟。在該模式中,假定對各二進制數(shù)進行了旁路編碼從而提高吞吐量,則可以從位流并行 讀取多個相鄰的二進制數(shù)。例如,硬件實現(xiàn)可以并行寫入/讀取相鄰的旁路編碼數(shù)據(jù)的組 以提高對位流進行編碼/解碼的吞吐量。


【發(fā)明內容】

[0012] 本發(fā)明的目的是大致克服或至少改進現(xiàn)有配置的一個或多個缺點。
[0013] 根據(jù)本發(fā)明的一個方面,提供一種用于從視頻數(shù)據(jù)的位流解碼多個編碼單位的方 法,所述方法包括以下步驟:
[0014] 根據(jù)所述位流的第一數(shù)據(jù)塊來確定所述多個編碼單位的編碼單位結構,其中所述 編碼單位結構描述了將編碼單位分割成所述多個編碼單位;
[0015] 根據(jù)所確定的所述編碼單位結構來從所述位流的第二數(shù)據(jù)塊解碼所述多個編碼 單位的旁路編碼數(shù)據(jù);
[0016] 根據(jù)所確定的所述編碼單位結構來從所述位流的第三數(shù)據(jù)塊解碼所述多個編碼 單位的殘差數(shù)據(jù);以及
[0017] 使用所述殘差數(shù)據(jù)和所述旁路編碼數(shù)據(jù)來從所述位流形成所述多個編碼單位。
[0018] 期望地,所述方法還包括:根據(jù)所確定的所述編碼單位結構來確定所述第二數(shù)據(jù) 塊的大小。
[0019] 優(yōu)選地,所述方法還包括:確定分割標志值,以使得在當前編碼單位大于最小編碼 單位的情況下,從所述位流解碼所述分割標志值,并且在當前編碼單位的大小等于最小編 碼單位的情況下,推斷出所述分割標志值為0。該實現(xiàn)還可以包括:使用所確定的所述分割 標志值來判斷所述編碼單位結構是否處于葉節(jié)點。
[0020] 在另一實現(xiàn)中,所述位流將細粒度片的有效標志編碼在各最大編碼單位(LCU)的 開頭處,以使得在所述細粒度片對于最大編碼單位無效的情況下,將所述方法應用于最大 編碼單位,并且在所述細粒度片對于最大編碼單位有效的情況下,將所述方法應用于大小 與所述細粒度片的閾值相等的各子分割編碼單位。
[0021] 優(yōu)選地,使用可變長度代碼來對所述多個編碼單位中的編碼單位的其余模式進行 編碼,所述方法還包括以下步驟:基于與該編碼單位相關聯(lián)的最可能模式標志值和預測單 位大小來計算最小長度。
[0022] 期望地,使用可變長度代碼來對所述多個編碼單位的其余模式進行編碼,所述方 法還包括以下步驟:基于與所述多個編碼單位相關聯(lián)的所述編碼單位結構、最可能模式標 志值和預測單位大小來計算最小長度。
[0023] 有利地,在所述旁路編碼數(shù)據(jù)的長度未知的情況下,所述方法還包括以下步驟:訪 問所述位流以確定包含至少一些旁路編碼數(shù)據(jù)的數(shù)據(jù)段;從所述數(shù)據(jù)段解碼最可能模式索 引和其余模式;以及建立解碼后的數(shù)據(jù)長度的累積值,以使得在從所述數(shù)據(jù)段解碼所有旁 路編碼數(shù)據(jù)的情況下,從所述位流消耗該長度的累積值。
[0024] 根據(jù)本發(fā)明的另一方面,提供一種用于將多個編碼單位編碼在視頻數(shù)據(jù)的位流中 的方法,所述方法包括以下步驟:
[0025] 對所述多個編碼單位的編碼單位結構進行編碼,以形成所述位流的第一數(shù)據(jù)塊, 其中所述編碼單位結構描述了將編碼單位分割成所述多個編碼單位;
[0026] 根據(jù)所述編碼單位結構來對所述多個編碼單位的旁路編碼數(shù)據(jù)進行編碼,以形成 所述位流的第二數(shù)據(jù)塊;
[0027] 根據(jù)所述編碼單位結構來對所述多個編碼單位的殘差數(shù)據(jù)進行編碼,以形成所述 位流的第三數(shù)據(jù)塊;以及
[0028] 存儲所述第一數(shù)據(jù)塊、所述第二數(shù)據(jù)塊和所述第三數(shù)據(jù)塊,以將所述多個編碼單 位編碼在視頻數(shù)據(jù)的所述位流中。
[0029] 期望地,該方法還包括:將分割標志存儲在所述第一數(shù)據(jù)塊中,以對所述編碼單位 結構進行編碼。
[0030] 優(yōu)選地,所述方法還包括:對所述第一數(shù)據(jù)塊進行算術編碼。
[0031] 有利地,所述方法還包括:對所述第二數(shù)據(jù)塊進行旁路編碼。
[0032] 根據(jù)另一方面,提供一種用于從視頻數(shù)據(jù)的位流解碼至少一個編碼單位的方法, 所述方法包括以下步驟:
[0033] 根據(jù)所述位流來確定所述至少一個編碼單位的編碼單位結構,其中所述編碼單位 結構描述了將編碼單位分割成所述至少一個編碼單位以及將所述至少一個編碼單位分割 成多個預測單位;
[0034] 根據(jù)所確定的所述編碼單位結構,從所述位流中的鄰接編碼數(shù)據(jù)的第一數(shù)據(jù)塊解 碼所述至少一個編碼單位中的所述多個預測單位各自的算術編碼的最可能模式標志;
[0035] 根據(jù)所確定的所述編碼單位結構,從所述位流中的鄰接編碼數(shù)據(jù)的第二數(shù)據(jù)塊解 碼所述至少一個編碼單位中的所述多個預測單位各自的旁路編碼數(shù)據(jù);
[0036] 根據(jù)所述最可能模式標志和所述旁路編碼數(shù)據(jù)中的每一個來確定所述多個預測 單位各自的幀內預測模式;以及
[0037] 使用所確定的所述幀內預測模式來從所述位流解碼所述至少一個編碼單位。
[0038] 優(yōu)選地,所述旁路編碼數(shù)據(jù)包含最可能模式索引??蛇x地或另外,所述旁路編碼數(shù) 據(jù)包含其余模式值。
[0039] 還公開了其它方面。

【專利附圖】

【附圖說明】
[0040] 現(xiàn)在將參考以下附圖來說明本發(fā)明的至少一個實施例,其中:
[0041] 圖1是示出視頻編碼器的功能模塊的示意框圖;
[0042] 圖2是示出視頻解碼器的功能模塊的示意框圖;
[0043] 圖3A和3B形成可以分別實踐圖1的編碼器和圖2的解碼器的通用計算機系統(tǒng)的 示意框圖;
[0044] 圖4是示出熵編碼器的功能模塊的示意框圖;
[0045] 圖5是示出熵解碼器的功能模塊的示意框圖;
[0046] 圖6A?6C是示出示例性最大編碼單位(IXU)的示意框圖;
[0047] 圖7是示出表示示例性最大編碼單位(LCU)的傳統(tǒng)位流的示意框圖;
[0048] 圖8是示出表示示例性最大編碼單位(LCU)的根據(jù)本發(fā)明的位流的示意框圖;
[0049] 圖9是示出用于對與圖8的位流類似的位流的最大編碼單位(LCU)的句法元素進 行解碼的根據(jù)本發(fā)明的方法的示意流程圖;
[0050] 圖10是示出用于對位流的最大編碼單位(LCU)的句法元素進行解碼的根據(jù)本發(fā) 明的概述方法的示意流程圖;
[0051] 圖11是示出用于對最大編碼單位(LCU)的句法元素進行編碼的根據(jù)本發(fā)明的方 法的示意流程圖;
[0052] 圖12是示出用于對位流的最大編碼單位(LCU)的句法元素進行編碼的根據(jù)本發(fā) 明的概述方法的示意流程圖;
[0053] 圖13是示出表示解析所用的根據(jù)本發(fā)明的替代方法所產(chǎn)生的示例性最大編碼單 位(LCU)的位流的示意框圖;
[0054] 圖14是示出用于對最大編碼單位(LCU)的句法元素進行解碼的根據(jù)本發(fā)明的替 代方法的示意流程圖;
[0055] 圖15是示出片邊界在示例性最大編碼單位(LCU)內的該最大編碼單位(LCU)的 示意框圖;
[0056] 圖16是示出表示在細粒度片(FGS)有效的情況下進行解析所用的方法所產(chǎn)生的 示例性最大編碼單位(LCU)的位流的示意框圖;以及
[0057] 圖17是示出用于對最大編碼單位(LCU)的句法元素進行解碼的根據(jù)本發(fā)明的另 一替代方法的示意流程圖。

【具體實施方式】
[0058] 在任一個或多個附圖中參考具有相同附圖標記的步驟和/或特征的情況下,除非 出現(xiàn)相反意圖,否則這些步驟和/或特征是為了本說明書的目的而具有相同的功能或操 作。
[0059] 圖1是示出視頻編碼器100的功能模塊的示意框圖。圖2是示出相應的視頻解碼 器200的功能模塊的示意框圖。如圖3A和3B所示,可以使用通用計算機系統(tǒng)300來實現(xiàn) 視頻編碼器100和視頻解碼器200,其中可以利用計算機系統(tǒng)300內的專用硬件、利用在計 算機系統(tǒng)300內可執(zhí)行的軟件、或者可選地利用在計算機系統(tǒng)300內可執(zhí)行的專用硬件和 軟件的組合來實現(xiàn)各種功能模塊。
[0060] 如圖3A所示,計算機系統(tǒng)300包括:計算機模塊301 ;諸如鍵盤302、鼠標指示器裝 置303、掃描器326、照相機327和麥克風380等的輸入裝置;以及包括打印機315、顯示裝 置314和揚聲器317等的輸出裝置。計算機模塊301可以使用外部調制器-解調器(調制 解調器)收發(fā)器裝置316來經(jīng)由接線321與通信網(wǎng)絡320進行通信。通信網(wǎng)絡320可以是 廣域網(wǎng)(WAN),諸如因特網(wǎng)、蜂窩電信網(wǎng)絡或私有WAN等。在接線321是電話線的情況下, 調制解調器316可以是傳統(tǒng)的"撥號上網(wǎng)"調制解調器。可選地,在接線321是高容量(例 如,線纜)接線的情況下,調制解調器316是寬帶調制解調器。還可以使用無線調制解調器 來進行向著通信網(wǎng)絡320的無線連接。
[0061] 計算機模塊301通常包括至少一個處理器單元305和存儲器單元306。例如,存 儲器單元306可以具有半導體隨機存取存儲器(RAM)和半導體只讀存儲器(ROM)。計算機 模塊301還包括多個輸入/輸出(I/O)接口,其中這多個輸入/輸出(I/O)接口包括:音 頻-視頻接口 307,其連接至視頻顯示器314、揚聲器317和麥克風380 ;1/0接口 313,其 連接至鍵盤302、鼠標303、掃描器326、照相機327以及可選的操縱桿或其它人機接口裝置 (未示出);以及外部調制解調器316和打印機315所用的接口 308。在一些實現(xiàn)中,調制 解調器316可以內置于計算機模塊301內、例如內置于接口 308內。計算機模塊301還具 有本地網(wǎng)絡接口 311,其中該本地網(wǎng)絡接口 311允許計算機系統(tǒng)300經(jīng)由接線323連接至已 知為局域網(wǎng)(LAN)的局域通信網(wǎng)絡322。如圖3A所示,局域通信網(wǎng)絡322還可以經(jīng)由接線 324連接至廣域網(wǎng)320,其中該局域通信網(wǎng)絡322通常包括所謂的"防火墻"裝置或具有相似 功能的裝置。本地網(wǎng)絡接口 311可以包括以太網(wǎng)(Ethernet?)電路卡、藍牙(Bluetooth?) 無線配置或IEEE802. 11無線配置;然而,對于接口 311,可以實踐多種其它類型的接口。
[0062] I/O接口 308和313可以提供串行連接和并行連接中的任一個或這兩者,其中前 者通常根據(jù)通用串行總線(USB)標準來實現(xiàn)并且具有相應的USB連接器(未示出)。設置 有存儲裝置309,并且存儲裝置309通常包括硬盤驅動器(HDD) 310。還可以使用諸如軟盤 驅動器和磁帶驅動器(未示出)等的其它存儲裝置。通常設置有光盤驅動器312以用作數(shù) 據(jù)的非易失性源。作為向著系統(tǒng)300的數(shù)據(jù)的適當源,可以使用例如光盤(例如,⑶-ROM、 DVD、藍光盤(Blu-ray Disc?) )、USB-RAM、便攜型外部硬盤驅動器和軟盤等的便攜型存儲器 裝置。通常,HDD310、光盤驅動器312、網(wǎng)絡320和322或者照相機327中的任意均可用于 針對要編碼的視頻數(shù)據(jù)的源,或者連同顯示器314 -起用于要存儲或再現(xiàn)的解碼視頻數(shù)據(jù) 的目的地。
[0063] 計算機模塊301的組件305?313通常經(jīng)由互連總線304并且以得到相關領域技 術人員已知的計算機系統(tǒng)300的傳統(tǒng)操作模式的方式進行通信。例如,處理器305使用接 線318連接至系統(tǒng)總線304。同樣,存儲器306和光盤驅動器312通過接線319連接至系 統(tǒng)總線304??梢詫嵺`所述配置的計算機的示例包括IBM-PC和兼容機、Sun Sparcstation、 Apple MacTM或相似的計算機系統(tǒng)。
[0064] 在適當或期望的情況下,可以使用計算機系統(tǒng)300來實現(xiàn)編碼器100和解碼器200 以及以下所述的方法,其中可以將編碼器100和解碼器200以及要說明的圖10及11的處理 作為計算機系統(tǒng)300內可執(zhí)行的一個或多個軟件應用程序333來實現(xiàn)。特別地,利用在計 算機系統(tǒng)300內執(zhí)行的軟件333中的指令331 (參見圖3B)來實現(xiàn)編碼器100、解碼器200 和所述方法的步驟??梢詫④浖噶?31形成為各自用于進行一個或多個特定任務的一個 或多個代碼模塊。還可以將軟件分割成兩個單獨部分,其中第一部分和相應的代碼模塊進 行所述方法,并且第二部分和相應的代碼模塊管理第一部分和用戶之間的用戶界面。
[0065] 例如,可以將軟件存儲在包括以下所述的存儲裝置的計算機可讀介質中。將軟件 從計算機可讀介質載入計算機系統(tǒng)300,然后由計算機系統(tǒng)300來執(zhí)行。記錄有這種軟件或 計算機程序的計算機可讀介質是計算機程序產(chǎn)品。優(yōu)選地,在計算機系統(tǒng)300中使用該計 算機程序產(chǎn)品實現(xiàn)了用于實現(xiàn)編碼器100、解碼器200和所述方法的有利設備。
[0066] 通常將軟件333存儲在HDD310或存儲器306中。將該軟件從計算機可讀介質載 入計算機系統(tǒng)300,并且由計算機系統(tǒng)300來執(zhí)行。因而,例如,可以將軟件333存儲在光盤 驅動器312所讀取的光學可讀盤存儲介質(例如,⑶-ROM) 325上。
[0067] 在一些示例中,將應用程序333以編碼在⑶-R0M325上并且經(jīng)由相應的驅動器312 進行讀取的方式供給至用戶,或者可選地,可以由用戶從網(wǎng)絡320或322讀取應用程序333。 此外,還可以將軟件從其它計算機可讀介質載入計算機系統(tǒng)300。計算機可讀存儲介質是指 將所記錄的指令和/或數(shù)據(jù)提供至計算機系統(tǒng)300以供執(zhí)行和/或處理的任何非瞬態(tài)有形 存儲介質。這種存儲介質的示例包括軟盤、磁帶、CD-ROM、DVD、藍光盤、硬盤驅動器、ROM或 集成電路、USB存儲器、磁光盤、或者諸如PCMCIA卡等的計算機可讀卡,而與這些裝置在計 算機模塊301的內部還是外部無關。還可以參與將軟件、應用程序、指令和/或視頻數(shù)據(jù)或 編碼視頻數(shù)據(jù)提供至計算機模塊301的瞬態(tài)或非有形計算機可讀傳輸介質的示例包括無 線電或紅外線傳輸通道及向著其它計算機或聯(lián)網(wǎng)裝置的網(wǎng)絡接線、以及包括電子郵件發(fā)送 和網(wǎng)站上所記錄的信息等的因特網(wǎng)或內聯(lián)網(wǎng)。
[0068] 可以執(zhí)行上述的應用程序333的第二部分和相應的代碼模塊來實現(xiàn)要渲染或呈 現(xiàn)在顯示器314上的一個或多個圖形用戶界面(⑶I)。通過典型地對鍵盤302和鼠標303 進行操作,計算機系統(tǒng)300的用戶和應用程序可以以在功能上可適應的方式對界面進行操 作,以將控制命令和/或輸入提供至與這些GUI相關聯(lián)的應用程序。還可以實現(xiàn)在功能上 可適應的其它形式的用戶界面,諸如利用經(jīng)由揚聲器317所輸出的語音提示和經(jīng)由麥克風 380所輸入的用戶聲音命令的音頻界面等。
[0069] 圖3B是處理器305和"存儲器"334的詳細示意框圖。存儲器334表示圖3A中的 計算機模塊301可以訪問的(包括HDD309和半導體存儲器306的)所有存儲器模塊的邏 輯聚合。
[0070] 在初始對計算機模塊301通電的情況下,上電自檢(power-on self-test,POST)程 序350執(zhí)行。通常將POST程序350存儲在圖3A的半導體存儲器306的R0M349中。有時 將諸如存儲有軟件的R0M349等的硬件裝置稱為固件。POST程序350檢查計算機模塊301 內的硬件以確保適當工作,并且通常檢查處理器305、存儲器334(309, 306)和通常還存儲 在R0M349中的基本輸入-輸出系統(tǒng)軟件(BIOS)模塊351,以進行正確操作。一旦POST程 序350成功運行,BI0S351啟動圖3A的硬盤驅動器310。啟動硬盤驅動器310使得經(jīng)由處 理器305執(zhí)行駐留在硬盤驅動器310上的引導裝入程序352。這樣將操作系統(tǒng)353載入RAM 存儲器306,其中在該RAM存儲器306上,操作系統(tǒng)353開始工作。操作系統(tǒng)353是處理器 305可執(zhí)行的系統(tǒng)級應用程序,以實現(xiàn)包括處理器管理、存儲器管理、裝置管理、存儲管理、 軟件應用程序接口和通用用戶界面等的各種高級功能。
[0071] 操作系統(tǒng)353管理存儲器334(309, 306),以確保計算機模塊301上運行的各處理 或應用程序具有在不會與分配至其它處理的內存沖突的情況下執(zhí)行的充足內存。此外,必 須適當使用在圖3A的系統(tǒng)300中可用的不同類型的存儲器,以使得各處理可以高效地運 行。因此,聚合存儲器334并不意圖例示如何分配存儲器的特定區(qū)段(除非另外說明),而 是提供計算機系統(tǒng)300可訪問的存儲器的概述圖以及如何使用該存儲器。
[0072] 如圖3B所示,處理器305包括多個功能模塊,其中這多個功能模塊包括控制單元 339、運算邏輯單元(ALU) 340和有時稱為高速緩沖存儲器的本地或內部存儲器348。高速緩 沖存儲器348在寄存器區(qū)段中通常包括多個存儲寄存器344?346。一個或多個內部總線 341從功能上使這些功能模塊相互連接。處理器305通常還具有用于使用接線318來經(jīng)由 系統(tǒng)總線304與外部裝置進行通信的一個或多個接口 342。存儲器334使用接線319連接 至總線304。
[0073] 應用程序333包括可以包含條件分支指令和循環(huán)指令的指令序列331。程序333 還可以包括執(zhí)行程序333時所使用的數(shù)據(jù)332。將指令331和數(shù)據(jù)332分別存儲在存儲器 位置328、329、330和335、336、337中。根據(jù)指令331和存儲器位置328?330的相對大小, 如存儲器位置330中示出的指令所描述的,可以將特定指令存儲在單個存儲器位置中???選地,如存儲器位置328和329中示出的指令段所描述的,可以將指令分割成各自被存儲在 單獨的存儲器位置中的多個部分。
[0074] 通常,向處理器305賦予一組指令,其中在該處理器305內執(zhí)行該組指令。處理 器305等待下一輸入,其中處理器305通過執(zhí)行另一組指令來對該下一輸入作出反應???以從一個或多個源提供各輸入,其中該輸入包括一個或多個輸入裝置302、303所生成的數(shù) 據(jù)、從外部源經(jīng)由網(wǎng)絡320、302其中之一所接收到的數(shù)據(jù)、從存儲裝置306、309其中之一所 檢索到的數(shù)據(jù)或者從插入相應的讀取器312內的存儲介質325所檢索到的數(shù)據(jù)(所有這些 均在圖3A中示出)。執(zhí)行一組指令在一些情況下可能會導致輸出數(shù)據(jù)。執(zhí)行還可能涉及將 數(shù)據(jù)或變量存儲至存儲器334。
[0075] 編碼器100、解碼器200和所述方法使用存儲在存儲器334內的相應存儲器位置 355、356、357中的輸入變量354。編碼器100、解碼器200和所述方法產(chǎn)生存儲在存儲器334 內的相應存儲器位置362、363、364中的輸出變量361??梢詫⒅虚g變量358存儲在存儲器 位置 359、360、366 和 367 中。
[0076] 參考圖3B的處理器305,寄存器344、345、346、運算邏輯單元以1^)340和控制單 元339 -起工作以進行微操作序列,其中這些微操作序列是針對構成程序333的指令集中 的每個指令進行"提取、解碼和執(zhí)行"周期所需的。各提取、解碼和執(zhí)行周期包括以下操作:
[0077] (a)提取操作,用于從存儲器位置328、329、330提取或讀取指令331 ;
[0078] (b)解碼操作,其中在該解碼操作中,控制單元339判斷提取了哪個指令;以及
[0079] (c)執(zhí)行操作,其中在該執(zhí)行操作中,控制單元339和/或ALU340執(zhí)行該指令。
[0080] 之后,可以執(zhí)行針對下一指令的進一步提取、解碼和執(zhí)行周期。同樣,可以進行存 儲周期,其中在該存儲周期中,控制單元339將值存儲至或寫入存儲器位置332。
[0081] 要說明的圖1?17的處理中的各步驟或子處理與程序333的一個或多個區(qū)段相 關聯(lián),并且通常通過處理器305中的寄存器部344、345、347、ALU340和控制單元339 -起工 作以針對程序333的所述區(qū)段的指令集中的每個指令進行提取、解碼和執(zhí)行周期,來進行 該步驟或子處理。
[0082] 可選地,可以在諸如進行所述方法的功能或子功能的一個或多個集成電路等的專 用硬件中實現(xiàn)編碼器1〇〇、解碼器200和所述方法。這種專用硬件可以包括圖形處理器、數(shù) 字信號處理器、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)或者一個或多個微處理器 和關聯(lián)存儲器。上述系統(tǒng)的凈效應是被配置為處理與視頻數(shù)據(jù)的位流相關聯(lián)的編碼單位的 計算機化設備。
[0083] 如上所述,可以將視頻編碼器100作為駐留在硬盤驅動器305上并且由處理器305 控制執(zhí)行的軟件應用程序333的一個或多個軟件代碼模塊來實現(xiàn)。特別地,視頻編碼器100 包括各自可以作為軟件應用程序333的一個或多個軟件代碼模塊來實現(xiàn)的模塊102?112、 114 和 115。
[0084] 盡管圖1的視頻編碼器100是高效率視頻編碼(HEVC)視頻解碼流水線的示例,但 模塊102?112、114和115所進行的處理階段對于諸如VC-1或H. 264/MPEG-4AVC等的其 它視頻編解碼器是共通的。視頻編碼器100接收未編碼的幀數(shù)據(jù)101作為包括亮度樣本和 色度樣本的一系列幀。視頻編碼器1〇〇將幀數(shù)據(jù)101的各幀分割成例如可表示為編碼單位 (CU)樹的編碼單位(CU)的層級集合。
[0085] 視頻編碼器100通過從多路復用器模塊110輸出已知為預測單位(PU) 120的預測 數(shù)據(jù)樣本的陣列來進行工作。差模塊115輸出預測單位(PU) 120和從幀數(shù)據(jù)101所接收到 的數(shù)據(jù)樣本的相應陣列之間的差,其中該差已知為殘差數(shù)據(jù)樣本122。
[0086] 來自差模塊115的殘差數(shù)據(jù)樣本112被變換模塊102接收到,其中該變換模塊 102將該差從空間表示轉換為頻域表示,以針對變換樹中的各變換單位(TU)創(chuàng)建變換系數(shù) 124。針對開發(fā)中的高效率視頻編碼(HEVC)標準,使用改進的離散余弦變換(DCT)來實現(xiàn) 向著頻域表示的轉換,其中在該改進的離散余弦變換中,對傳統(tǒng)的DCT進行修改以使用移 位和加法來實現(xiàn)。然后將變換系數(shù)124輸入至縮放和量化模塊103,并且進行縮放和量化以 產(chǎn)生殘差系數(shù)126。該縮放和量化處理導致精度損失。將殘差系數(shù)126視為向著逆縮放模 塊105的輸入,其中該逆縮放模塊105反轉縮放和量化模塊103所進行的縮放以產(chǎn)生作為 殘差系數(shù)126的重新縮放版本的重新縮放變換系數(shù)128。還將殘差系數(shù)126視為向著熵編 碼器模塊104的輸入,其中該熵編碼器模塊104將殘差系數(shù)編碼在編碼位流113中。由于 縮放和量化模塊103所引起的精度損失,因此重新縮放變換系數(shù)128與原始變換系數(shù)124 不一致。然后將來自逆縮放模塊105的重新縮放變換系數(shù)128輸出至逆變換模塊106。逆 變換模塊106進行從頻域向著空間域的逆變換,以產(chǎn)生與在解碼器處所產(chǎn)生的空間域表示 相同的重新縮放變換系數(shù)128的空間域表示130。
[0087] 運動估計模塊107通過將幀數(shù)據(jù)101與(配置在存儲器306內的)幀緩沖器模塊 112中所存儲的先前幀數(shù)據(jù)進行比較來產(chǎn)生運動矢量132。然后將這些運動矢量132輸入 至運動補償模塊108,其中該運動補償模塊108考慮到源自于運動矢量132的空間偏移,通 過對幀緩沖器模塊112中所存儲的樣本進行濾波來產(chǎn)生幀間預測的參考樣本134。盡管圖 1沒有示出,但還將運動矢量132作為句法元素傳遞至熵編碼器模塊104以編碼在編碼位流 113中。幀內預測模塊109使用從求和模塊114獲得的樣本138來產(chǎn)生幀內預測的參考樣 本136,其中該求和模塊114對多路復用器模塊110的輸出120和來自逆變換模塊106的輸 出130進行求和。
[0088] 可以使用幀內預測或幀間預測方法來對預測單位(PU)進行編碼。根據(jù)由此得到 的編碼位流113的期望位率和由于幀內預測或幀間預測方法而引入的圖像質量失真量之 間的率失真權衡來判斷是使用幀內預測還是幀間預測。如果使用幀內預測,則還根據(jù)率失 真權衡來從一組可能模式中選擇一個幀內預測模式。針對各預測單位選擇一個幀內預測模 式。高效率視頻編碼(HEVC)測試模型5. 0(ΗΜ-5. 0)支持35個幀內預測模式,然而并非所 有的幀內預測模式均可用于所有的預測單位大小。例如,8X8預測單位可以具有35個可供 選擇的幀內預測模式,并且4X4預測單位在一些實現(xiàn)中可以具有18個可供選擇的幀內預 測模式而在其它實現(xiàn)中可具有19個可供選擇的模式。多路復用器模塊110根據(jù)利用盡管 未示出但本領域內眾所周知的控制邏輯所確定的當前預測模式142,來選擇來自幀內預測 模塊109的幀內預測的參考樣本136或來自運動補償塊108的幀間預測的參考樣板134。 還將預測模式142提供至熵編碼器104,并且使用該預測模式142來確定或建立如將說明的 變換單位的掃描順序。幀間預測僅使用對角掃描順序,而幀內預測可以使用對角掃描、水平 掃描或垂直掃描順序。
[0089] 求和模塊114產(chǎn)生總和138,其中將該總和138輸入至去塊濾波器模塊111。去塊 濾波器模塊111沿著塊邊界進行濾波,從而產(chǎn)生寫入存儲器306內所配置的幀緩沖器模塊 112的去塊樣本140。幀緩沖器模塊112是具有用以保持來自多個過去幀的數(shù)據(jù)以供將來 參考的充足容量的緩沖器。
[0090] 在視頻編碼器100中,通過求出輸入幀數(shù)據(jù)101的數(shù)據(jù)樣本和輸入幀數(shù)據(jù)101的 數(shù)據(jù)樣本的預測120之間的差來確定一個變換單位(TU)內的殘差數(shù)據(jù)樣本122。該差提供 變換單位(TU)的殘差系數(shù)的空間表示。
[0091] 將變換單位(TU)的殘差系數(shù)轉換成二維有效性映射。
[0092] 然后按已知為掃描順序的特定順序來掃描變換單位(TU)中的殘差系數(shù)的有效性 映射,以形成被稱為有效系數(shù)標志的列表的標志值的一維列表??梢悦枋鲈搾呙桧樞?,或者 可以通過諸如利用預測模式142從幀內預測模塊109所接收到的掃描模式等的掃描模式來 指定該掃描順序。掃描模式可以是水平、垂直、對角或折線的。高效率視頻編碼(HEVC)測 試模型的版本5進行后向方向上的掃描,然而還可以進行前向方向上的掃描。對于16 X 16、 32Χ32、4Χ16、16Χ4、8Χ32和32X8的變換單位(TU),定義兩級掃描,其中在該兩級掃描 中,將變換單位(TU)分割成子塊的集合,其中各子塊的形狀為正方形。在上級中,通過使 用諸如后向對角左下掃描等的掃描對各下級掃描來進行掃描。在還已知為子塊等級的下級 中,也使用諸如后向對角左下掃描等的掃描來進行掃描。在HEVC參考模型版本5. 0中,掃 描操作開始在最末有效系數(shù)之后(其中,"之后"是在殘差系數(shù)的后向掃描的方向上)的一 個殘差系數(shù),并且繼續(xù)直到到達有效性映射的左上位置為止。具有該特性并且符合HEVC參 考模型版本5. 0的掃描操作已知為"后向掃描"。在HEVC參考軟件版本5. 0中,通過對變換 單位(TU)中的系數(shù)的坐標進行編碼來用信號通知最末有效系數(shù)的位置。熟悉本領域的人 員應當理解,該上下文中的形容詞"最末"的使用依賴于掃描的特定順序。根據(jù)一個掃描模 式可以作為"最末的"非零殘差系數(shù)或相應的1值有效系數(shù)標志的內容根據(jù)其它掃描模式 可能不是"最末的"。將表示在最末有效系數(shù)之前的各殘差系數(shù)的有效性的有效系數(shù)標志的 列表編碼在位流中。由于先前針對最末有效系數(shù)標志的位置的編碼隱含表示該殘差系數(shù)是 有效的,因此不要求將最末有效系數(shù)標志值明確編碼在位流中。
[0093] 較大值的殘差系數(shù)向著變換單位(TU)的左上方的聚集導致列表中較早的大部分 有效性標志是有效的,而稍后在列表中發(fā)現(xiàn)較少的有效性標志。
[0094] 如上所述,視頻編碼器100還包括實現(xiàn)熵編碼方法的熵編碼器模塊104。熵編碼器 模塊104根據(jù)從縮放和量化模塊103接收到的傳入殘差系數(shù)數(shù)據(jù)(或殘差系數(shù))126產(chǎn)生 句法元素。熵編碼器模塊104輸出編碼位流113,并且以下將更詳細地進行說明。對于開發(fā) 中的高效率視頻編碼(HEVC)標準,將編碼位流113描繪成網(wǎng)絡抽象層(NAL)單位。幀的各 片包含在一個NAL單位中。
[0095] 針對熵編碼器模塊104中所實現(xiàn)的熵編碼方法,存在幾個替代方案。開發(fā)中的 高效率視頻編碼(HEVC)標準支持上下文自適應二進制算術編碼(CABAC),其是在Η. 264/ MPEG-4AVC中的上下文自適應二進制算術編碼(CABAC)的變形。替代的熵編碼方案是本領 域內眾所周知的概率區(qū)間劃分熵(PIPE)編碼器。
[0096] 對于支持多個視頻編碼方法的視頻編碼器100,根據(jù)編碼器100的結構來選擇所 支持的熵編碼方法其中之一。此外,在對來自各幀的編碼單位進行編碼時,熵編碼器模塊 104編寫編碼位流113,以使得各幀具有一個或多個片,其中各片包含該幀的一部分的圖像 數(shù)據(jù)。針對每幀產(chǎn)生一個片,這樣減少了與描述各片邊界相關聯(lián)的開支。然而,還可以將幀 分割成多個片。
[0097] 可以將圖2的視頻解碼器200作為駐留在硬盤驅動器305上并且由處理器305來 控制執(zhí)行的軟件應用程序333的一個或多個軟件代碼模塊來實現(xiàn)。特別地,視頻解碼器200 包括各自可以作為軟件應用程序333的一個或多個軟件代碼模塊來實現(xiàn)的模塊202?208 和210。盡管參考高效率視頻編碼(HEVC)視頻解碼流水線來描述視頻解碼器200,但模塊 202?208和210所進行的處理階段對于采用諸如H. 264/MPEG-4AVC、MPEG-2和VC-1等的 熵編碼的其它視頻編解碼器而言是共通的。
[0098] 諸如編碼位流113等的編碼位流被視頻解碼器200接收到??梢詮拇鎯ζ?06、硬 盤驅動器310、⑶-ROM、藍光(Blu-ray?)盤或其它計算機可讀存儲介質讀取編碼位流113。 可選地,可以從諸如連接至通信網(wǎng)絡320的服務器或射頻接收器等的外部源來接收編碼位 流113。編碼位流113包含表示要解碼的幀數(shù)據(jù)的編碼句法元素。
[0099] 將編碼位流113輸入至熵解碼器模塊202,其中該熵解碼器模塊202從編碼位流 113中提取句法元素,并且將這些句法元素的值傳遞至視頻解碼器200中的其它塊??梢源?在諸如參考熵編碼器模塊104所述等的在熵解碼器模塊202中所實現(xiàn)的多個熵解碼方法。 將表示殘差系數(shù)數(shù)據(jù)的句法元素數(shù)據(jù)220傳遞至逆縮放和變換模塊203,并且將表示運動 矢量信息的句法元素數(shù)據(jù)222傳遞至運動補償模塊204。逆縮放和變換模塊203對殘差系 數(shù)數(shù)據(jù)進行逆縮放以創(chuàng)建重建變換系數(shù)。然后,諸如參考逆變換模塊106所述的逆變換等, 模塊203進行逆變換以將重建變換系數(shù)從頻域表示轉換成空間域表示,從而產(chǎn)生殘差樣本 224。
[0100] 運動補償模塊204將來自熵解碼器模塊202的運動矢量數(shù)據(jù)222與來自存儲器 306內所配置的幀緩沖器塊208的先前幀數(shù)據(jù)226相組合使用,以產(chǎn)生作為輸出解碼幀數(shù)據(jù) 的預測的針對預測單位(PU)的幀間預測的參考樣本228。在句法元素表示使用幀內預測對 當前編碼單位進行編碼的情況下,幀內預測模塊205使用在空間上鄰接預測單位(PU)的樣 本來產(chǎn)生針對預測單位(PU)的幀內預測的參考樣本230。根據(jù)從求和模塊210輸出的總和 232來獲得在空間上鄰接的樣本。多路復用器模塊206根據(jù)利用編碼位流113中的句法元 素所表示的當前預測模式來選擇針對預測單位(PU)的幀內預測參考樣本或幀間預測參考 樣本。利用求和模塊210將從多路復用器模塊206輸出的樣本陣列234與來自逆縮放和變 換模塊203的殘差樣本224相加,以產(chǎn)生總和232,然后將該總和232分別輸入至去塊濾波 器模塊207和幀內預測模塊205。與編碼器100相對比,幀內預測模塊205從熵解碼器202 接收預測模式236。多路復用器206從熵解碼器202接收幀內預測/幀間預測選擇信號。 去塊濾波器模塊207沿著數(shù)據(jù)塊邊界進行濾波以使沿著數(shù)據(jù)塊邊界可見的偽影平滑化。將 去塊濾波器模塊207的輸出寫入存儲器306內所配置的幀緩沖器模塊208。幀緩沖器模塊 208提供用以保持多個解碼幀以供將來參考的充足存儲量。還從幀緩沖器模塊208輸出解 碼幀209。
[0101] 將參考圖4來說明熵編碼器104。將諸如殘差系數(shù)401等的句法元素輸入至二值 化模塊404。將變換單位(TU)大小402輸入至二值化模塊404。該變換單位(TU)大小表示 編碼中的變換單位(TU)的大小。將掃描模式403輸入至二值化模塊404。二值化模塊404 將各句法元素二值化成二進制數(shù)序列。各二進制數(shù)包括二進制數(shù)值406和上下文索引405。 二進制數(shù)值406和上下文索引405被上下文模型407接收到,其中該上下文模型407輸出 根據(jù)上下文索引405所選擇的上下文408。根據(jù)二進制數(shù)值405來更新上下文408。用于 更新上下文408的方法符合H. 264/MPEG-4AVC中的上下文自適應二進制算術編碼(CABAC) 所使用的方法。二進制算術編碼器409使用上下文408和二進制數(shù)值406來將二進制數(shù)編 碼在編碼位流113中。
[0102] 以下將參考圖5來說明熵解碼器202。利用逆二值化模塊503接收變換單位(TU) 大小502和掃描模式501。逆二值化模塊503通過進行二值化模塊404的逆操作來輸出殘 差系數(shù)509。針對要解碼的各二進制數(shù)從逆二值化模塊503輸出上下文索引504。上下文模 塊505輸出上下文索引504所選擇的上下文506。二進制算術解碼器507使用上下文506 對來自編碼位流113的二進制數(shù)值508進行解碼。二進制數(shù)值508被上下文模型505接收 到并且用于更新上下文506。二進制數(shù)值508還被逆二值化模塊503接收到。
[0103] 將參考圖6Α來說明示例性最大編碼單位(LCU)600。最大編碼單位(LCU)600具 有64X64個亮度樣本的正方形。將最大編碼單位600遞歸地子分割成編碼單位1601以對 編碼單位10608進行編碼。最大編碼單位(LCU)600的分割是利用層級結構等級,從而使得 能夠將包含最大編碼單位(LCU)的區(qū)域遞歸分割成相等大小的正方形非重疊區(qū)域,其中各 區(qū)域具有母區(qū)域的垂直尺寸和水平尺寸的一半并且一起整個占據(jù)母區(qū)域的區(qū)域。一旦區(qū)域 不再被子分割成較小區(qū)域,則存在完全占據(jù)該區(qū)域的編碼單位。按照特定等級的子分割,區(qū) 域大小變?yōu)榈扔谝阎獮樽钚【幋a單位(SCU)的大小,此時不能進行進一步的子分割,或者 按照慣例或實踐性可以禁止進一步的子分割。對于開發(fā)中的高效率視頻編碼(HEVC)標準, 將最小編碼單位(SCU)大小配置為8X8個亮度樣本。各編碼單位具有幾個可能大小其中 之一,諸如編碼單位1601的大小為32X32,編碼單位2602的大小為16X16,并且編碼單位 4603的大小為8X8。根據(jù)所選擇的最大編碼單位(LCU)大小和開發(fā)中的高效率視頻編碼 (HEVC)標準中所使用的最小編碼單位(SCU)大小,其它的編碼單位大小也是可以的。
[0104] 將參考圖6B來進一步說明最大編碼單位(IXU)600的子分割。這里,在最大編碼 單位(LCU)604的區(qū)域處,進行分割,從而將最大編碼單位(LCU)的區(qū)域分割成諸如區(qū)域605 等的相等大小的四個區(qū)域。使用下一分割來給出諸如區(qū)域607等的四個更小區(qū)域。一旦區(qū) 域大小達到諸如區(qū)域606等的最小編碼單位(SCU)的尺寸,則無法進行進一步分割。在無 法進行進一步分割的各區(qū)域中,編碼單位完全占據(jù)該區(qū)域。
[0105] 還可以將圖6B的最大編碼單位(IXU)604表示為如圖6C所示的層級編碼樹630。 在使用層級樹來表示最大編碼單位(LCU)的情況下,各編碼單位將形成葉節(jié)點,而包含進 一步子分割區(qū)域的區(qū)域將形成非葉節(jié)點。樹630的根節(jié)點632是基于圖6B的區(qū)域604并 且處于表示64X64個樣本的等級。在根節(jié)點的下方是表示諸如區(qū)域605等的32X32個樣 本的區(qū)域的第二層。將圖6A的編碼單位1表示為葉節(jié)點634,而利用非葉節(jié)點640來表示 包含編碼單位2?8的區(qū)域。在樹630的具有表示編碼單位2的葉節(jié)點636的第三等級上 示出大小為16X 16的區(qū)域,并且將圖6B的區(qū)域607表示為非葉節(jié)點642。樹630的第四 層(最后層)表示諸如包含利用葉節(jié)點638所表示的編碼單位4603的區(qū)域606等的大小 為8X8的區(qū)域。通過以上顯然可見,隨著樹的深度的增加,樹中的編碼單位的大小減小。
[0106] 如以下將更詳細地所述,使用分割標志來表示區(qū)域是最大編碼單位(LCU)中的葉 節(jié)點??梢詫⒕幋a樹630視為用以表示最大編碼單位(LCU)的編碼結構的一個方式。
[0107] 將參考圖6A?7來說明采用傳統(tǒng)方式對最大編碼單位(LCU) 600進行編碼的位流 700。由于視頻圖像幀針對各片可以具有許多最大編碼單位(LCU),因此諸如編碼位流113 等的編碼位流可以包括圖7所示的位流700的許多示例。圖7采用如下用于表示編碼二值 化句法元素的慣例:標記為"S"的區(qū)段包含算術編碼分割標志,標記為"A"的區(qū)段包含一個 或多個算術編碼二值化句法元素或其一部分,標記為"B"的區(qū)段包含一個或多個旁路編碼 二值化句法元素或其一部分,并且標記為"A,B"的區(qū)段包含使用算術編碼和旁路編碼的混 合進行編碼后的一個或多個二值化句法元素。位流700表示編碼位流113的一部分,作為 通常包括連結到一起的多個最大編碼單位(LCU)的片。對于不是LCU尺寸的整數(shù)倍的幀大 小,分割標志的推斷防止了幀邊界穿過編碼單位。落在幀邊界外的編碼單位沒有被編碼在 位流中。將編碼單位1601編碼在位流700內的位流成分1701中。同樣將編碼單位2?編 碼單位10編碼在位流700內的位流成分2?位流成分10中。
[0108] 使用分割標志來表示區(qū)域被分割,其中標志值為1表示區(qū)域被分割,而標志值為0 表示區(qū)域沒有被分割。將已分割的區(qū)域子分割成相等大小的四個非重疊較小區(qū)域,其中這 些較小區(qū)域集體占據(jù)母區(qū)域整體。在大小上等于預定的最小編碼單位(SCU)的任何區(qū)域將 具有針對分割標志所推斷出的0值,以表示該區(qū)域不會被子分割。比最小編碼單位的大小 大的任何區(qū)域需要對分割標志進行編碼。
[0109] 分割標志709表示將最大編碼單位(LCU)600的區(qū)域604分割成諸如區(qū)域605等的 四個32X32區(qū)域。分割標志710表示沒有對區(qū)域605進行進一步分割。編碼單位4603是 最小編碼單位(SCU),因而無法進行進一步分割。因此,針對各編碼單位4?7,沒有對分割 標志進行編碼。然而,存在1值的分割標志,以表示對區(qū)域607進行子分割。針對區(qū)域607 的分割標志711位于編碼單位4603之前。
[0110] 位流成分1701包含使用算術編碼和旁路編碼的混合的二值化句法元素。算術編 碼預測模式703判斷編碼單位1601是使用幀間預測還是幀內預測。如果編碼單位使用幀 內預測,則算術編碼最可能模式標志704對是使用幀內預測所用的最可能模式還是使用用 于對幀內預測模式進行編碼的替代方案進行編碼。如果最可能模式處于使用中,則幀內預 測模式代碼705利用1位的長度對最可能模式索引進行旁路編碼。該最可能模式索引判斷 將幀內預測的兩個預定最可能模式中的哪一個模式用于編碼單位。如果沒有使用最可能模 式,則幀內預測模式代碼705對針對編碼單位指定幀內預測模式的其余模式進行編碼。對 于其余模式,幀內預測模式代碼705的長度可以為5位或6位。數(shù)據(jù)塊706對于編碼單位 601內的一個或多個變換單位使用算術和旁路編碼。位流成分1701包含對編碼單位1進行 解碼所需的所有句法元素。以相似方式,位流成分2?10分別包含對編碼單位2?10進 行解碼所需的句法元素。
[0111] 以下將參考圖6A?8來說明對最大編碼單位(LCU) 600進行編碼的根據(jù)本發(fā)明的 位流800。圖8采用用于表示編碼二值化句法元素的圖7的慣例。位流800表示對最大編 碼單位(LCU) 600進行編碼的編碼位流113的一部分。位流800具有在第一詳情等級820處 可以看見的以下三個部分:算術編碼的第一數(shù)據(jù)塊801,用于聚集與編碼單位1?10的編 碼單位結構有關的信息;旁路編碼的第二數(shù)據(jù)塊802,用于聚集與針對編碼單位1?10的 幀內預測模式有關的信息;以及第三數(shù)據(jù)塊803,其包含算術編碼數(shù)據(jù)和旁路編碼數(shù)據(jù)這 兩者并且聚集編碼單位1?10的殘差數(shù)據(jù)的信息。不同于位流700,位流800的三個部分 各自可以包含與編碼單位1?10有關的信息。
[0112] 優(yōu)選使用算術編碼的第一數(shù)據(jù)塊來存儲分割標志、預測模式、以及在幀內預測處 于使用中的情況下的根據(jù)需要的針對編碼單位1?10的最可能模式信息。在圖8的位流 800的第二詳情等級830中更詳細地示出第一數(shù)據(jù)塊。如第二詳情等級830所示,第一分 割標志813的值為1,以表示將最大編碼單位(LCU) 600的區(qū)域604分割成諸如區(qū)域605等 的四個32X32區(qū)域。分割標志807的值為0,以表示區(qū)域605不存在進一步分割。預測模 式808對用于表示編碼單位1是使用幀間預測還是幀內預測的值進行編碼。在編碼單位1 使用幀內預測的情況下,最可能模式標志809表示對于編碼單位的幀內預測是使用最可能 模式還是其余模式。將分割標志、預測模式值和最可能模式標志的更多示例編碼在位流部 分804中以表示最大編碼單位(IXU) 600的編碼單位2?10。首先,分割標志813、分割標 志807、預測模式808、最可能模式標志809和位流部分804全部構成可能僅由算術編碼句 法元素構成的位流部分801的部分。
[0113] 在編碼單位1601使用幀內預測的情況下,第二數(shù)據(jù)塊802包含存在于位流800中 的旁路數(shù)據(jù)810。在幀內預測處于使用中并且最可能模式標志809表示使用最可能模式的 情況下,旁路數(shù)據(jù)810是對兩個最可能模式其中之一的使用進行編碼的索引。該索引占據(jù) 1位的固定長度??蛇x地,在使用幀內預測并且最可能模式標志809表示使用其余模式的 情況下,旁路數(shù)據(jù)810是對33個不同的其余幀內預測模式其中之一的使用進行編碼的索引 (在35個可能的幀內預測模式中,排除了 2個最可能模式,從而剩下33個其余模式)。在 這種情況下,根據(jù)編碼幀內預測模式,旁路數(shù)據(jù)810的長度為5或6位??梢愿鶕?jù)利用編碼 單位結構所建立的旁路數(shù)據(jù)810的最初5位來確定旁路數(shù)據(jù)810的長度或大小。在檢查了 最初5位之后,可以判斷是否需要來自位流的第6位。在幀間預測用于編碼單位1601的情 況下,將旁路數(shù)據(jù)810從位流800省略。如果編碼單位2?10中的至少一個編碼單位使用 幀內預測,則在旁路數(shù)據(jù)塊805中針對編碼單位2?10存在旁路數(shù)據(jù)810的更多示例。旁 路數(shù)據(jù)塊802在需要的情況下對旁路數(shù)據(jù)810和旁路數(shù)據(jù)塊805進行編碼。
[0114] 將第三數(shù)據(jù)塊803更詳細地示出為算術和旁路編碼數(shù)據(jù)塊811。數(shù)據(jù)塊811對包 含變換單位的殘差系數(shù)的編碼單位1601內的一個或多個變換單位進行編碼,其中可以將 這些變換單位連同預測模式信息一起使用以生成視頻數(shù)據(jù)。在與參考圖7所述相同的條件 下存在片標志812的算術編碼端。
[0115] 將參考圖6A、6B和6C、8和9來說明用于對位流800進行解碼的方法900。該方法 900接收位流800并且處理三個數(shù)據(jù)塊以使得能夠對位流800中的編碼單位進行解碼。方 法900從確定分割標志值的步驟901開始,其中在該確定分割標志值的步驟901中,確定諸 如分割標志807等的分割標志的值。在編碼單位大于最小編碼單位(S⑶)的情況下,通過 從位流800解碼分割標志來確定分割標志值。在編碼單位的大小等于諸如編碼單位4606 等的最小編碼單位(SCU)的情況下,推斷出分割標志值為0。
[0116] 然后,使用分割標志的值來判斷編碼單位結構當前是否處于葉節(jié)點。如果分割標 志值為〇,則葉節(jié)點的測試步驟902使控制進入編碼單位預測模式的步驟903。否則,葉節(jié) 點的測試步驟902使控制返回至確定分割標志值的步驟901,其中增加編碼樹的深度以表 示處于諸如上述針對圖6C所述的樹630等的編碼樹中的當前等級下方的等級的區(qū)域。通 過以深度優(yōu)先方式對編碼樹進行處理來按光柵掃描順序處理這些區(qū)域。使用光柵掃描順序 確保了順次處理圖6A中的編碼單位1?10。
[0117] 編碼單位預測模式的步驟903確定預測模式值。通過對諸如預測模式808等的預 測模式進行解碼來確定預測模式值。該預測模式指定編碼單位所使用的預測模式以及用于 將編碼單位分割成一個或多個預測單位的分區(qū)模式??赡艿姆謪^(qū)模式是NXN或2NX2N。 如果分區(qū)模式是NXN,則將編碼單位分割成各自具有預測模式的4個預測單位。如果分區(qū) 模式是2NX 2N,則編碼單位僅包含一個預測單位。NXN和2NX 2N的分區(qū)模式得到具有正 方形形狀的預測單位。例如2NXN和NX2N的其它分區(qū)模式也是可以的,從而得到矩形形 狀的預測單位。注意,在編碼單位等級指定幀內預測或幀間預測,因而對于NXN,所有四個 預測單位將是幀內預測,然而各預測單位可以具有不同的幀內預測模式,因而各預測單位 具有單獨的最可能模式(MPM)標志和預測模式。盡管通常與具有單個預測單位的各編碼單 位有關地說明方法900,但方法900也可以擴展至包含多個預測單位的編碼單位。
[0118] 在分割標志值為0、并且針對編碼單位的預測模式值指定幀內預測的情況下,MPM 標志的步驟904確定最可能|旲式標志值。通過對諸如圖8的最可能|旲式標志804等的最可 能模式標志進行解碼來確定最可能模式標志值。更多節(jié)點的測試步驟905判斷是否遇到最 大編碼單位(LCU)中的最后一個編碼單位。如果遇到的是最后一個編碼單位,則控制進入 確定幀內預測模式的步驟906。如果遇到的不是最后一個編碼單位,則控制返回至確定分割 標志值的步驟901。
[0119] 對于諸如圖6A的編碼單位1601等的32X32幀內預測編碼單位,根據(jù)編碼單位的 分區(qū)模式,編碼單位可以包含一個、兩個或四個預測單位。步驟906和907針對步驟901? 905中所確定的編碼單位結構進行重復。確定幀內預測模式的步驟906按照如下確定針對 預測單位的幀內預測模式。如果針對預測單位的最可能模式標志值表示使用了最可能模 式,則使用旁路解碼來從位流800解碼1位的最可能模式索引值。1位的最可能模式索引 值表示兩個可能的最可能模式中的哪一個處于使用中。否則,最可能模式標志值表示使用 其余模式,并且使用旁路解碼來從位流800解碼其余模式值。有效的幀內預測模式值的數(shù) 量和可變長度代碼的范圍均依賴于預測單位的大小。在針對給定預測單位大小的可用幀內 預測模式中,其余模式的數(shù)量等于從可用模式的數(shù)量減去最可能模式的數(shù)量所得到的值。 在其余模式的數(shù)量為2的冪的情況下,其余模式可以使用固定長度代碼,否則使用可變長 度代碼。例如,具有18個可用的幀內預測模式和兩個最可能模式的幀內預測的4X4預測 單位具有16個其余模式,因此可以使用4位代碼來對其余模式進行編碼??蛇x地,具有19 個可用幀內預測模式和兩個最可能模式的幀內預測的4X4預測單位具有17個其余模式, 因此可以使用4或5位代碼來對其余模式進行編碼。例如,具有兩個最可能模式的幀內預 測的8X8預測單位具有33個其余模式,因此可以使用5或6位的可變長度代碼。在一個 實現(xiàn)中,通過讀取至少足夠數(shù)量的二進制數(shù)來對可變長度代碼進行解碼以確定其余模式所 使用的可變長度代碼的長度。對于這些預測單位,可以對5位進行解碼以判斷是否需要對 第6位進行解碼。結果,可以進行第二次讀取以基于解碼后的足夠位來對其余模式的后續(xù) 部分進行解碼。替代實現(xiàn)引入了在最可能模式標志之后編碼得到的、表示預測單位使用預 定其余模式的算術編碼其余模式標志。如果例如"平面幀內預測"的預定其余模式并未處 于使用中,則使用旁路編碼的其余模式句法元素來對其它其余模式其中之一進行編碼。例 如,如果幀內預測的4X4預測單位包括具有兩個最可能模式和一個預定其余模式的19個 可用模式,則存在16個其它其余模式,其中可以使用固定長度的4位其余模式句法元素來 對這些其它其余模式進行編碼。此外,如果幀內預測的8 X 8預測單位包括具有兩個最可能 模式和一個預定其余模式的35個可用模式,則存在32個其它其余模式,其中可以使用固定 長度的5位其余模式句法元素來對這些其它其余模式進行編碼。在其余模式或其它其余模 式的數(shù)量為2的冪的情況下,固定長度代碼足以對所使用的其余模式或其它其余模式進行 編碼。然后,使用最可能模式標志值以及最可能模式索引值和其余模式值其中之一來確定 預測單位的幀內預測模式??蛇x地,使用預定其余模式標志以及可選的其它其余模式來確 定預測單位的幀內預測模式。在將多個可變長度代碼相連接的情況下,可以進行最小長度 的組合代碼的讀取以判斷是否需要更多次讀取來完成針對這些代碼的解碼。位流800可以 對第二數(shù)據(jù)塊802中鄰接的可變長度其余模式的各最小長度部分進行編碼,然后對第二數(shù) 據(jù)塊802中的可變長度其余模式的任何其余數(shù)據(jù)進行編碼。使用該編碼,實現(xiàn)了如下:可以 通過一次讀取來讀取所有的最小長度部分,并且確定其余數(shù)據(jù)的長度以完成可變長度其余 模式的讀取。
[0120] 更多節(jié)點的測試步驟907判斷在編碼樹中是否存在需要確定各自的幀內預測模 式的更多節(jié)點。執(zhí)行步驟907的結果是確定幀內預測模式的步驟906針對最大編碼單位 (LCU)的所有節(jié)點進行重復。
[0121] 對殘差數(shù)據(jù)進行解碼的步驟908對第三數(shù)據(jù)塊803進行解碼。對殘差數(shù)據(jù)進行解 碼的步驟908對最大編碼單位(LCU) 600中的編碼單位1?10的各變換單位進行解碼。由 于對各變換單位進行解碼,因此逆縮放和變換模塊203將殘差數(shù)據(jù)從頻域轉換成空間域以 產(chǎn)生殘差樣本224。使用幀內預測模式,幀內預測模塊205針對各預測單位確定預測234。 用于對最大編碼單位(LCU)600進行解碼的其它步驟符合圖2所述的操作。
[0122] 將參考圖10來說明用于對位流800進行解碼的方法1000。方法1000從確定編碼 單位結構的步驟1001開始,其中該確定編碼單位結構的步驟1001基于算術編碼的第一數(shù) 據(jù)塊801中的分割標志信息來構建編碼單位結構以表示將最大編碼單位(LCU)分割成多個 編碼單位。還根據(jù)第一數(shù)據(jù)塊801來確定與編碼單位有關的其它信息。該信息包括針對編 碼單位的預測模式值和針對編碼單位的任意預測單位的MPM標志。以上在圖9的確定分割 標志值的步驟901、是否是葉節(jié)點的步驟902、確定編碼單位預測模式值的步驟903、確定預 測單位MPM標志值的步驟905和是否存在更多節(jié)點的步驟906中說明了如何進行該操作的 更多詳情。
[0123] 接著,對旁路編碼數(shù)據(jù)進行解碼的步驟1002對旁路編碼的第二數(shù)據(jù)塊802進行解 碼。旁路編碼的第二數(shù)據(jù)塊802提供與最大編碼單位(LCU)的幀內預測的編碼單位各自所 使用的幀內預測模式有關的信息。在上述的圖9的確定幀內預測模式的步驟906和是否存 在更多節(jié)點的步驟907中更詳細的說明了對旁路編碼數(shù)據(jù)進行解碼的步驟1002。
[0124] 然后,方法1000進入對殘差數(shù)據(jù)進行解碼的步驟1003,其中在該步驟1003中,從 第三數(shù)據(jù)塊803解碼殘差數(shù)據(jù)。如上所述,第三數(shù)據(jù)塊803包含進行了算術編碼和旁路編 碼這兩者的數(shù)據(jù)。以上在圖9的對殘差數(shù)據(jù)進行解碼的步驟908中更詳細地說明了對殘差 數(shù)據(jù)進行解碼的步驟1003。
[0125] 最后,如與圖2有關地所述,形成編碼單位的步驟1004將來自對旁路編碼數(shù)據(jù)進 行解碼的步驟1002的幀內預測模式和來自對殘差數(shù)據(jù)進行解碼的步驟1003的殘差數(shù)據(jù)相 組合以形成解碼后的編碼單位。一旦形成了解碼后的編碼單位,則可以將幀內預測模式和 殘差數(shù)據(jù)組合以形成解碼視頻幀的一部分。
[0126] 盡管已經(jīng)與圖9的方法900有關地說明了方法1000,但該方法還可以涵蓋諸如以 下將說明的圖14的方法1400和圖17的方法1700等的其它方法。
[0127] 現(xiàn)在將參考圖11來說明用于對位流800進行編碼的方法1100。方法1100對位 流800進行編碼,并且產(chǎn)生三個數(shù)據(jù)塊以使得能夠對位流800中的編碼單位進行解碼。方 法1100從對分割標志值進行編碼的步驟1101開始,其中在對分割標志值進行編碼的步驟 1101中,對諸如分割標志807等的分割標志的值進行編碼。以上與圖6A和6B有關地更詳 細地論述了管理分割標志的位置的規(guī)則。在編碼單位大于最小編碼單位(S⑶)的情況下, 分割標志將適當?shù)姆指顦酥局稻幋a在位流800中。然而,在編碼單位的大小等于諸如圖6B 的編碼單位4606等的最小編碼單位(SCU)的情況下,不對分割標志進行編碼。
[0128] 如果分割標志值為0,則由于分割標志為0表示當前編碼單位是編碼樹的葉節(jié)點, 因此葉節(jié)點的測試步驟1102使控制進入對編碼單位預測模式值進行編碼的步驟1103。如 果編碼樹的當前節(jié)點是非葉節(jié)點,則葉節(jié)點的測試步驟1102使控制返回至對分割標志值 進行編碼的步驟1101,其中增加編碼樹的深度以表示處于諸如上述針對6C所述的樹630等 的編碼樹中的當前等級下方的等級的區(qū)域。與圖9的方法900相同,通過按深度優(yōu)先方式 處理編碼樹來按光柵掃描順序對各區(qū)域進行處理。使用光柵掃描順序確保了順次對圖6A 中的編碼單位1?10進行處理。
[0129] 對單位預測模式進行編碼的步驟1103對預測模式值進行編碼。對于包含幀間預 測的預測單位和幀內預測的預測單位這兩者的片,預測模式指定所使用的預測類型。對于 僅包含幀內預測的預測單位的片,沒有將預測模式編碼在編碼位流113中。以與圖9的方 法900相同的方式,預測模式指定編碼單位所使用的預測模式和分區(qū)模式這兩者。盡管與 具有單個預測單位的編碼單位有關地說明了方法1100,但該方法可以擴展為覆蓋包含多個 預測單位的編碼單位。
[0130] 在分割標志值為0并且針對編碼單位的預測模式值指定幀內預測的情況下,對 MPM標志進行編碼的步驟1104對最可能模式標志值進行編碼。圖1的幀內預測模塊109確 定針對預測單位的幀內預測模式。幀內預測模塊109還確定幀內預測所用的兩個最可能模 式。如果所確定的幀內預測模式等于最可能模式其中之一,則將最可能模式標志值設置為 1,從而表示使用最可能模式。否則,將最可能模式標志值設置為0,從而表示使用其余模式。 將諸如圖8的最可能模式標志804等的最可能模式標志編碼為最可能模式標志值。更多節(jié) 點的測試步驟1105判斷是否遇到最大編碼單位(LCU)中的最后一個編碼單位。如果遇到 的是最大編碼單位(LCU)中的最后一個編碼單位,則控制進入對旁路數(shù)據(jù)進行編碼的步驟 1106。如果遇到的不是最大編碼單位(LCU)中的最后一個編碼單位,則控制返回以執(zhí)行對 分割標志值進行編碼的步驟1101。
[0131] 對于諸如圖6A的編碼單位1601等的32X32幀內預測編碼單位,根據(jù)編碼單位的 分區(qū)模式,編碼單位可以包含一個、兩個或四個預測單位。對旁路數(shù)據(jù)進行編碼的步驟1106 按照如下對編碼單位的幀內預測模式進行編碼。如果針對預測單位的最可能模式標志值表 示使用了最可能模式,則使用旁路解碼來將表示選擇了兩個可用的最可能模式中的哪一個 的1位最可能模式索引值編碼在位流800中。否則,最可能模式標志值表示使用旁路編碼 來將其余模式和其余模式值的使用編碼在位流800中。在將多個最可能模式索引值或其余 模式值相連接的情況下,代替針對各預測單位單獨寫入代碼,可以通過一次操作來進行組 合代碼的寫入。
[0132] 更多節(jié)點的測試步驟1107判斷在編碼樹中是否存在需要確定各自的幀內預測模 式的更多節(jié)點。其結果如下:執(zhí)行對旁路數(shù)據(jù)進行編碼的步驟1106以針對最大編碼單位 (LCU)的所有節(jié)點進行重復。針對對旁路數(shù)據(jù)進行編碼的步驟1106和是否存在更多節(jié)點的 步驟1107的重復可以在將旁路數(shù)據(jù)寫入編碼位流113中之前發(fā)生,從而預先確定要寫入的 數(shù)據(jù)的長度。
[0133] 對殘差數(shù)據(jù)進行編碼的步驟1108對第三數(shù)據(jù)塊803進行編碼。對殘差數(shù)據(jù)進行編 碼的步驟1108將最大編碼單位(LCU) 600中的編碼單位1?10的各變換單位編碼在編碼 位流113中。為了對各變換單位進行編碼,利用變換塊102將殘差樣本122變換成變換系 數(shù)124。然后,縮放和量化塊103將變換系數(shù)124轉換成殘差系數(shù)126。利用熵編碼器104 將殘差系數(shù)126編碼至編碼位流113。用于對最大編碼單位(LCU) 600進行編碼的其它步驟 符合圖1的視頻編碼器100中所述的操作。
[0134] 參考圖12來說明用于對位流800進行編碼的步驟1200。方法1200從對編碼單 位結構進行編碼的步驟1201開始,其中該對編碼單位結構進行編碼的步驟1201通過將分 割標志信息編碼在算術編碼的第一數(shù)據(jù)塊801中,來對用以表示將最大編碼單位(LCU)分 割成多個編碼單位的編碼單位結構進行編碼。還可以將與編碼單位有關的其它信息編碼在 第一數(shù)據(jù)塊801中。該信息包括針對編碼單位的預測模式值和針對編碼單位的任意預測單 位的MPM標志。以上在圖11的對分割標志值進行編碼的步驟1101、是否是葉節(jié)點的步驟 1102、對編碼單位預測模式值進行編碼的步驟1103、對預測單位MPM標志值進行編碼的步 驟1105和是否存在更多節(jié)點的步驟1106中,說明了如何進行該操作的更多詳情。
[0135] 接著,對旁路編碼數(shù)據(jù)進行編碼的步驟1202對旁路編碼的第二數(shù)據(jù)塊802進行編 碼。對旁路編碼數(shù)據(jù)進行編碼的步驟1202對與最大編碼單位(LCU)的各幀內預測的編碼 單位所使用的幀內預測模式有關的信息進行編碼。在上述的圖11的對旁路數(shù)據(jù)進行編碼 的步驟1106和是否存在更多節(jié)點的步驟1107中更詳細地說明了對旁路編碼數(shù)據(jù)進行編碼 的步驟1202。
[0136] 然后,方法1200進入對殘差數(shù)據(jù)進行編碼的步驟1203,其中在該對殘差數(shù)據(jù)進行 編碼的步驟1203中,將殘差數(shù)據(jù)編碼在第三數(shù)據(jù)塊803中。如上所述,第三數(shù)據(jù)塊803包 含進行了算術編碼和旁路編碼這兩者的數(shù)據(jù)。在上述圖11的對殘差數(shù)據(jù)進行編碼的步驟 1108中更詳細地說明了對殘差數(shù)據(jù)進行編碼的步驟1203。
[0137] 存儲數(shù)據(jù)塊的步驟1204將數(shù)據(jù)塊801中的算術編碼數(shù)據(jù)、數(shù)據(jù)塊802中的旁路編 碼數(shù)據(jù)、以及數(shù)據(jù)塊803中的算術編碼數(shù)據(jù)和旁路編碼數(shù)據(jù)的混合存儲在編碼位流113中。 由于通過方法1200的各步驟產(chǎn)生了數(shù)據(jù)塊,因此可以將存儲數(shù)據(jù)塊的步驟1204作為存儲 數(shù)據(jù)塊的單個步驟或者作為編碼數(shù)據(jù)的中間緩存來實現(xiàn)。
[0138] 盡管已經(jīng)與圖11的方法1100有關地說明了方法1200,但該方法還可以覆蓋與諸 如以下將說明的圖14的方法1400和圖17的方法1700等的解碼有關的其它編碼方法。
[0139] 將參考圖13來說明用于對最大編碼單位(LCU)600進行編碼的替代位流1300。 圖13采用用于表示編碼二值化句法元素的圖7的慣例。位流1300表示對最大編碼單位 (IXU) 600進行編碼的編碼位流113的一部分。第一數(shù)據(jù)塊1301具有與第一數(shù)據(jù)塊801相 似的結構,并且僅使用算術編碼來對句法元素進行編碼。由于第一數(shù)據(jù)塊1301對使用諸 如預測模式1308等的預測模式的編碼單位的預測模式值進行算術編碼,因此第一數(shù)據(jù)塊 1301與第一數(shù)據(jù)塊801相似。與第一數(shù)據(jù)塊801相對比,第一數(shù)據(jù)塊1301沒有對第一數(shù)據(jù) 塊801的最可能模式標志809等的最可能模式標志進行編碼。作為代替,使用旁路編碼來 將最可能模式標志1309編碼在第二數(shù)據(jù)塊1302中。如針對第二數(shù)據(jù)塊802所述,第二數(shù) 據(jù)塊1302僅使用旁路編碼來對句法元素進行編碼。利用旁路編碼對最可能模式標志進行 編碼,這使得能夠允許通過在一次讀取操作讀取較大組的旁路二進制數(shù)來以較高的吞吐量 進行解碼。以與旁路數(shù)據(jù)810相似的方式,在預測模式1308表示使用幀內預測的情況下, 位流1300包括表示最可能模式索引或其余模式的旁路數(shù)據(jù)1310。
[0140] 現(xiàn)在將與用于對替代位流1300進行解碼的圖14的方法1400有關地說明替代實 現(xiàn)。確定分割標志值的步驟1401、是否是葉節(jié)點的步驟1402、確定編碼單位預測模式值的 步驟1403和是否存在更多節(jié)點的步驟1404以與圖9的確定分割標志值的步驟901、是否是 葉節(jié)點的步驟902、確定編碼單位預測模式值的步驟903和是否存在更多節(jié)點的步驟905相 似的方式進行工作。與方法900相對比,與圖9的確定預測單位MPM標志值的步驟904相 對應的步驟沒有包括在圖14的上述步驟組中。作為代替,在方法1400中,隨后發(fā)生作為步 驟1405的相應步驟。除了從位流1300解碼旁路編碼最可能模式標志1309以外,確定預測 單位MPM標志值的步驟1405以與圖9的相應步驟904相似的方式確定預測單位MPM標志 值。確定幀內預測模式的步驟1406、是否存在更多節(jié)點的步驟1407和對殘差數(shù)據(jù)進行解碼 的步驟1408如參考圖9的確定幀內預測模式的步驟906、是否存在更多節(jié)點的步驟907和 對殘差數(shù)據(jù)進行解碼的步驟908所述進行工作。
[0141] 現(xiàn)在將說明圖15的示例性最大編碼單位(IXU) 1500。最大編碼單位(IXU) 1500與 圖6的最大編碼單位(LCU) 600具有相同組成的編碼單位1?10。然而,與最大編碼單位 (LCU) 600相對比,在細粒度片有效的情況下,最大編碼單位(LCU) 1500包括編碼單位91503 和編碼單位101503之間的片邊界。因此,圖15的編碼單位1?9在第一片中,而編碼單位 101505在第二片中。
[0142] 現(xiàn)在將說明圖16所示的用于對最大編碼單位(IXU) 1500進行編碼的位流1600。 在細粒度片有效、并且細粒度片閾值被配置為將片邊界限制為32X32編碼單位邊界的情 況下,對位流1600進行編碼。在細粒度片有效的情況下,可以在等于或超過細粒度片閾值 的大小的任意區(qū)域中將最大編碼單位(LCU) 1500分割成單獨片。片端部句法元素表示片的 終止。在各區(qū)域中的大小等于細粒度片閾值的最后一個編碼單位之后,對片端部句法元素 進行編碼。在圖16中,由于64X64的最大編碼單位(IXU)的邊界大小為32X32,因此存在 四個片端部句法元素。片端部句法標志元素將位于編碼單位1、8、9和10之后。要求一個 片中的句法元素完全描述該片中的編碼單位。在細粒度片有效的情況下,可以通過對位流 1600進行編碼來中途決定將最大編碼單位(IXU) 1500分割成兩個片。因此,在第一數(shù)據(jù)塊、 第二數(shù)據(jù)塊和第三數(shù)據(jù)塊中將來自多個編碼單位的信息分組到一起的情況下,該組的編碼 單位可能不會延伸超過端部標志。位流成分1601包括編碼單位1的句法元素。位流成分 1602包括對區(qū)域607中所包含的圖15的編碼單位2?8進行編碼的第一數(shù)據(jù)塊1615、第二 數(shù)據(jù)塊1616和第三數(shù)據(jù)塊1607。對圖15的編碼單位2?8進行編碼的第一數(shù)據(jù)塊1615、 第二數(shù)據(jù)塊1616和第三數(shù)據(jù)塊1617與圖8的第一數(shù)據(jù)塊801、第二數(shù)據(jù)塊803和第三數(shù)據(jù) 塊803相似。與位流800相對比,將句法元素分組成位流1600中的第一數(shù)據(jù)塊、第二數(shù)據(jù) 塊和第三數(shù)據(jù)塊的分組局限于細粒度片閾值。由于將細粒度片閾值設置為32X32,因此沒 有將編碼單位1、9和10與其它編碼單位分組到一起,而是將編碼單位2?8分組到一起。 片端部標志1614用信號通知第一片在編碼單位91503之后終止,并且第二片從圖15的編 碼單位101505開始。
[0143] 在一個實現(xiàn)中,位流1600將細粒度片有效標志編碼在諸如最大編碼單位 (LCU) 1500等的各最大編碼單位(LCU)的開頭處。在細粒度片對于最大編碼單位(LCU)無效 的情況下,將方法900應用于該最大編碼單位(LCU)。在細粒度片對于最大編碼單位(LCU) 有效的情況下,將方法900應用于大小等于細粒度片閾值的各子分割編碼單位。
[0144] 現(xiàn)在將與用于對位流800進行解碼的圖17的方法1700有關地說明另一替代實 現(xiàn)。確定分割標志值的步驟1701、是否是葉節(jié)點的步驟1702、確定編碼單位預測模式值的 步驟1703、確定預測單位MPM標志值的步驟1704和是否存在更多節(jié)點的步驟1705以與圖 9中的作為確定分割標志值的步驟901、是否是葉節(jié)點的步驟902、確定編碼單位預測模式 值的步驟903、確定預測單位MPM標志值的步驟904和是否存在更多節(jié)點的步驟905的相應 步驟相似的方式進行工作。通過讀取旁路數(shù)據(jù)的步驟1706使用由此得到的編碼單位結構 和最可能模式信息來讀取旁路數(shù)據(jù)塊802。利用編碼單位結構和最可能模式信息,通過對最 可能模式索引和其余模式的長度進行求和,來確定旁路數(shù)據(jù)塊802的長度。讀取旁路數(shù)據(jù) 的步驟1706可以通過一次操作或多次操作來讀取旁路數(shù)據(jù)塊802,但不限于一次讀取一個 預測單位的信息。要讀取的數(shù)據(jù)量是已確定的旁路數(shù)據(jù)塊802的長度。
[0145] 接著,將幀內預測模式分配至預測單位的步驟1707對來自讀取旁路數(shù)據(jù)的步驟 1706的旁路數(shù)據(jù)進行分割,并且針對各預測單位確定幀內預測模式。對殘差數(shù)據(jù)進行解碼 的步驟1708如參考圖9的對殘差數(shù)據(jù)進行解碼的步驟908所述進行工作。
[0146] 在使用參考圖9所述的5或6位代碼等的可變長度代碼來對其余模式進行編碼的 情況下,在讀取旁路數(shù)據(jù)的步驟1706之前無法確定旁路編碼數(shù)據(jù)802的長度。作為代替, 可以基于關于編碼單位結構以及最可能模式標志值和預測單位大小的知識來計算最小長 度。可以從編碼位流113讀取最小長度,并且解析該最小長度以確定至少一個預測單位的 幀內預測模式??梢灾貜蛻迷摻馕觯钡降弥月窋?shù)據(jù)的長度為止。可以進行一次或多 次后續(xù)旁路數(shù)據(jù)讀取,以從編碼位流113讀取旁路編碼數(shù)據(jù)802整體。盡管與圖17的方法 1700有關地說明了上述替代實現(xiàn)的旁路數(shù)據(jù)技術所用的可變長度代碼,但在諸如圖9的方 法900等的上述其它解碼方法期間,也可應用該技術。
[0147] 在對最可能模式標志進行旁路編碼的情況下,方法1700的變形可以進行工作,以 刪除確定預測單位MPM標志值的步驟1704,并且將確定預測單位MPM標志值的步驟1704的 功能并入讀取旁路數(shù)據(jù)的步驟1706。
[0148] 用于消耗未知長度的旁路編碼數(shù)據(jù)的替代實現(xiàn)進行工作以訪問編碼位流113,從 而確定包含至少一些旁路編碼數(shù)據(jù)的數(shù)據(jù)段。然而,不同于上述方法,不是從位流消耗數(shù) 據(jù)。從數(shù)據(jù)段來解碼最可能模式索引和其余模式,并且針對解碼后的數(shù)據(jù)長度保持累積值。 一旦從數(shù)據(jù)段解碼了所有的旁路編碼數(shù)據(jù),則從位流消耗累積值長度。其結果是:數(shù)據(jù)段訪 問超過旁路編碼的第二數(shù)據(jù)塊802的位流數(shù)據(jù),但沒有消耗該數(shù)據(jù),因而算術和旁路所用 的第三數(shù)據(jù)塊803可用于利用對殘差數(shù)據(jù)進行解碼的步驟進行解碼。盡管與圖17的方法 1700有關地說明了上述替代實現(xiàn)的可變長度代碼解碼技術,但在諸如圖9的方法900等的 上述其它解碼方法期間也可應用該技術。
[0149] 方法900、1000、1400和1700在應用于視頻解碼器200的情況下,能夠實現(xiàn)對諸如 編碼位流113等的編碼位流進行解析的吞吐量的提高。由于旁路編碼數(shù)據(jù)的連接,因此這 通過在一次操作中讀取較大量的旁路編碼數(shù)據(jù)來實現(xiàn)。該提高的吞吐量對于可以并行進行 旁路編碼數(shù)據(jù)的讀取或寫入以提高系統(tǒng)的吞吐量的硬件實現(xiàn)而言最為明顯。在應用方法 1100、1200以及相應地改變以進行編碼的方法1400和1700以產(chǎn)生編碼位流的情況下,針對 視頻編碼器100實現(xiàn)了相似效果。
[0150] 在本【具體實施方式】之后的附錄A表示為了指定利用上述圖9的方法900可進行解 碼的圖8的位流800而可以對高效率視頻編碼(HEVC)測試模型5. 0 (HM-5. 0)進行的修改。
[0151] 產(chǎn)業(yè)h的可利用件
[0152] 所述的配置適用于計算機和數(shù)據(jù)處理行業(yè),特別適用于對諸如視頻信號等的信號 進行編碼或解碼的數(shù)字信號處理。
[0153] 前述僅說明本發(fā)明的一些實施例,并且可以在沒有背離本發(fā)明的范圍和精神的情 況下對本發(fā)明進行修改和/或改變,其中這些實施例僅是示例性而非限制性的。
[0154] (僅限澳大利亞)在本說明書的上下文中,詞語"包括"意味著"主要但未必僅 包括"或"具有"或"包含",而不是"僅由…組成"。詞語"包括(comprising)"的諸如 "comprise"和"comprises"等的詞尾變化具有相應的變化含義。
[0155] 附錄 A
[0156] 以下表示為了指定利用上述圖9的方法900可進行解碼的圖8的位流800而可以 對高效率視頻編碼(HEVC)測試模型5. 0(HM-5. 0)進行的修改。
[0157] 編碼樹句法
[0158]
[0159]

【權利要求】
1. 一種用于從視頻數(shù)據(jù)的位流解碼至少一個編碼單位的方法,所述方法包括以下步 驟: 根據(jù)所述位流來確定所述至少一個編碼單位的編碼單位結構,其中所述編碼單位結構 描述了將編碼單位分割成所述至少一個編碼單位以及將所述至少一個編碼單位分割成多 個預測單位; 根據(jù)所確定的所述編碼單位結構,從所述位流中的鄰接編碼數(shù)據(jù)的第一數(shù)據(jù)塊解碼所 述至少一個編碼單位中的所述多個預測單位各自的算術編碼的最可能模式標志; 根據(jù)所確定的所述編碼單位結構,從所述位流中的鄰接編碼數(shù)據(jù)的第二數(shù)據(jù)塊解碼所 述至少一個編碼單位中的所述多個預測單位各自的旁路編碼數(shù)據(jù); 根據(jù)所述最可能模式標志和所述旁路編碼數(shù)據(jù)中的每一個來確定所述多個預測單位 各自的幀內預測模式;以及 使用所確定的所述幀內預測模式來從所述位流解碼所述至少一個編碼單位。
2. 根據(jù)權利要求1所述的方法,其中,所述旁路編碼數(shù)據(jù)包含最可能模式索引。
3. 根據(jù)權利要求1所述的方法,其中,所述旁路編碼數(shù)據(jù)包含其余模式值。
4. 一種用于將至少一個編碼單位編碼在視頻數(shù)據(jù)的位流中的方法,所述方法包括以下 步驟: 對所述至少一個編碼單位的編碼單位結構進行編碼,以形成所述位流的第一數(shù)據(jù)塊, 其中所述編碼單位結構描述了將編碼單位分割成所述至少一個編碼單位以及將所述至少 一個編碼單位分割成多個預測單位; 將所述至少一個編碼單位中的所述多個預測單位各自的最可能模式標志算術編碼在 所述位流的所述第一數(shù)據(jù)塊的鄰接編碼數(shù)據(jù)中; 根據(jù)所述編碼單位結構來對所述至少一個編碼單位中的所述多個預測單位各自的旁 路編碼數(shù)據(jù)進行編碼,以形成所述位流的鄰接編碼數(shù)據(jù)的第二數(shù)據(jù)塊; 根據(jù)所述編碼單位結構來對多個編碼單位各自的殘差數(shù)據(jù)進行編碼,以形成所述位流 的第三數(shù)據(jù)塊;以及 存儲所述第一數(shù)據(jù)塊、所述第二數(shù)據(jù)塊和所述第三數(shù)據(jù)塊,以將多個編碼單位編碼在 視頻數(shù)據(jù)的所述位流中。
5. 根據(jù)權利要求4所述的方法,其中,所述旁路編碼數(shù)據(jù)包含最可能模式索引。
6. 根據(jù)權利要求4所述的方法,其中,所述旁路編碼數(shù)據(jù)包含其余模式值。
7. -種用于從視頻數(shù)據(jù)的位流解碼多個編碼單位的方法,所述方法包括以下步驟: 根據(jù)所述位流的第一數(shù)據(jù)塊來確定所述多個編碼單位的編碼單位結構,其中所述編碼 單位結構描述了將編碼單位分割成所述多個編碼單位; 根據(jù)所確定的所述編碼單位結構來從所述位流的第二數(shù)據(jù)塊解碼所述多個編碼單位 的旁路編碼數(shù)據(jù); 根據(jù)所確定的所述編碼單位結構來從所述位流的第三數(shù)據(jù)塊解碼所述多個編碼單位 的殘差數(shù)據(jù);以及 使用所述殘差數(shù)據(jù)和所述旁路編碼數(shù)據(jù)來從所述位流形成所述多個編碼單位。
8. 根據(jù)權利要求7所述的方法,其中,還包括以下步驟: 根據(jù)所確定的所述編碼單位結構來確定所述第二數(shù)據(jù)塊的大小。
9. 根據(jù)權利要求7所述的方法,其中,還包括以下步驟:確定分割標志值,以使得在當 前編碼單位大于最小編碼單位的情況下,從所述位流解碼所述分割標志值,并且在當前編 碼單位的大小等于最小編碼單位的情況下,推斷出所述分割標志值為0。
10. 根據(jù)權利要求9所述的方法,其中,還包括以下步驟:使用所確定的所述分割標志 值來判斷所述編碼單位結構是否處于葉節(jié)點。
11. 根據(jù)權利要求7所述的方法,其中,所述位流將細粒度片的有效標志編碼在各最大 編碼單位即LCU的開頭處,以使得在所述細粒度片對于最大編碼單位無效的情況下,將所 述方法應用于最大編碼單位,并且在所述細粒度片對于最大編碼單位有效的情況下,將所 述方法應用于大小與所述細粒度片的閾值相等的各子分割編碼單位。
12. 根據(jù)權利要求7所述的方法,其中,使用可變長度代碼來對所述多個編碼單位中的 編碼單位的其余模式進行編碼,所述方法還包括以下步驟:基于與該編碼單位相關聯(lián)的最 可能模式標志值和預測單位大小來計算最小長度。
13. 根據(jù)權利要求7所述的方法,其中,使用可變長度代碼來對所述多個編碼單位的其 余模式進行編碼,所述方法還包括以下步驟:基于與所述多個編碼單位相關聯(lián)的所述編碼 單位結構、最可能模式標志值和預測單位大小來計算最小長度。
14. 根據(jù)權利要求7所述的方法,其中,在所述旁路編碼數(shù)據(jù)的長度未知的情況下,所 述方法還包括以下步驟:訪問所述位流以確定包含至少一些旁路編碼數(shù)據(jù)的數(shù)據(jù)段;從所 述數(shù)據(jù)段解碼最可能模式索引和其余模式;以及建立解碼后的數(shù)據(jù)長度的累積值,以使得 在從所述數(shù)據(jù)段解碼所有旁路編碼數(shù)據(jù)的情況下,從所述位流消耗該長度的累積值。
15. -種用于將多個編碼單位編碼在視頻數(shù)據(jù)的位流中的方法,所述方法包括以下步 驟: 對所述多個編碼單位的編碼單位結構進行編碼,以形成所述位流的第一數(shù)據(jù)塊,其中 所述編碼單位結構描述了將編碼單位分割成所述多個編碼單位; 根據(jù)所述編碼單位結構來對所述多個編碼單位的旁路編碼數(shù)據(jù)進行編碼,以形成所述 位流的第二數(shù)據(jù)塊; 根據(jù)所述編碼單位結構來對所述多個編碼單位的殘差數(shù)據(jù)進行編碼,以形成所述位流 的第三數(shù)據(jù)塊;以及 存儲所述第一數(shù)據(jù)塊、所述第二數(shù)據(jù)塊和所述第三數(shù)據(jù)塊,以將所述多個編碼單位編 碼在視頻數(shù)據(jù)的所述位流中。
16. 根據(jù)權利要求15所述的方法,其中,還包括以下步驟:將分割標志存儲在所述第一 數(shù)據(jù)塊中,以對所述編碼單位結構進行編碼。
17. 根據(jù)權利要求15所述的方法,其中,還包括以下步驟:對所述第一數(shù)據(jù)塊進行算術 編碼。
18. 根據(jù)權利要求15所述的方法,其中,還包括以下步驟:對所述第二數(shù)據(jù)塊進行旁路 編碼。
19. 一種計算機化設備,用于根據(jù)權利要求1至18中任一項所述的方法來對與視頻數(shù) 據(jù)的位流相關聯(lián)的編碼單位進行處理。
20. -種記錄有程序的計算機可讀存儲介質,所述程序能夠由計算機化設備來執(zhí)行,以 進行根據(jù)權利要求1至18中任一項所述的方法。
【文檔編號】H04N19/96GK104067624SQ201380006198
【公開日】2014年9月24日 申請日期:2013年1月18日 優(yōu)先權日:2012年1月20日
【發(fā)明者】克里斯托弗·詹姆斯·羅斯沃恩 申請人:佳能株式會社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
和平区| 琼海市| 柘荣县| 突泉县| 许昌县| 新余市| 科技| 张掖市| 安龙县| 交城县| 宁乡县| 彭阳县| 双城市| 余江县| 邹平县| 贺州市| 理塘县| 沅陵县| 枞阳县| 北川| 綦江县| 彭泽县| 尼木县| 灵川县| 甘南县| 贵阳市| 汪清县| 丹棱县| 右玉县| 社旗县| 南投县| 荥阳市| 离岛区| 沿河| 彝良县| 应城市| 名山县| 合水县| 建湖县| 区。| 界首市|