国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于對(duì)游長編碼變換系數(shù)進(jìn)行熵編碼的上下文確定的制作方法

      文檔序號(hào):7792172閱讀:243來源:國知局
      用于對(duì)游長編碼變換系數(shù)進(jìn)行熵編碼的上下文確定的制作方法
      【專利摘要】描述了在對(duì)變換系數(shù)進(jìn)行程-游對(duì)編碼的情況下使用與模式相關(guān)的上下文確定對(duì)視頻進(jìn)行編碼和解碼的方法和設(shè)備??梢詫瑑?nèi)編碼模式分組為類別,且每個(gè)類別可以與將系數(shù)組分為區(qū)域的劃分相關(guān)聯(lián)。系數(shù)所落入的區(qū)域部分確定了用于對(duì)與該系數(shù)相關(guān)聯(lián)的二進(jìn)制值進(jìn)行編碼所選擇的上下文,以及如果系數(shù)非零,則包括程,以及如果系數(shù)對(duì)應(yīng)于二進(jìn)制化游值的二進(jìn)制值,則包括游。
      【專利說明】用于對(duì)游長編碼變換系數(shù)進(jìn)行熵編碼的上下文確定
      [0001] 版權(quán)通知
      [0002] 本文件的一部分公開內(nèi)容和所附材料包含了要求版權(quán)的材料。當(dāng)該傳真復(fù)制出現(xiàn) 在專利商標(biāo)局文件或記錄中時(shí),版權(quán)所有者不反對(duì)任何人對(duì)該專利文件或?qū)@_內(nèi)容進(jìn) 行傳真復(fù)制,但是保留除此之外的所有其他版權(quán)。

      【技術(shù)領(lǐng)域】
      [0003] 本申請(qǐng)總體上涉及數(shù)據(jù)壓縮,具體地,涉及用于在對(duì)視頻的上下文自適應(yīng)二進(jìn)制 熵編碼中對(duì)變換系數(shù)進(jìn)行編碼的方法和設(shè)備。

      【背景技術(shù)】
      [0004] 在多種背景下出現(xiàn)數(shù)據(jù)壓縮。其在通信和計(jì)算機(jī)聯(lián)網(wǎng)中經(jīng)常用于高效地存儲(chǔ)、發(fā) 送、和再現(xiàn)信息。其在圖像、音頻和視頻的編碼中具有特別的應(yīng)用。由于每個(gè)視頻幀所要求 的大量數(shù)據(jù)以及編碼和解碼經(jīng)常需要發(fā)生的速度,視頻向數(shù)據(jù)壓縮提出了重大的挑戰(zhàn)。高 級(jí)音頻和視頻編碼標(biāo)準(zhǔn)("AVS")是在中國開發(fā)的現(xiàn)有音頻和視頻編碼標(biāo)準(zhǔn)。已開始開發(fā) 替代AVS的下一代標(biāo)準(zhǔn)的工作,該下一代標(biāo)準(zhǔn)可以被稱為AVS2。
      [0005] 很多視頻編碼標(biāo)準(zhǔn)使用基于塊的編碼過程。在這些過程中,將圖像或幀分為塊,通 常是4x4或8x8(然而在一些情況下可以使用非正方形的塊),且將塊頻譜變換為系數(shù),并進(jìn) 行量化和熵編碼。在很多情況下,被變換的數(shù)據(jù)不是實(shí)際的像素?cái)?shù)據(jù),而是在預(yù)測(cè)操作之后 的殘余數(shù)據(jù)。預(yù)測(cè)可以是幀內(nèi)預(yù)測(cè)(即在幀/圖像內(nèi)的塊到塊)或幀間預(yù)測(cè)(即,在幀之 間(也被稱為運(yùn)動(dòng)預(yù)測(cè)))。
      [0006] 為了壓縮數(shù)據(jù),量化變換系數(shù)的編碼被設(shè)計(jì)為利用變換特性來改進(jìn)壓縮。在AVS 的情況下,使用四元組對(duì)系數(shù)進(jìn)行編碼:程(level)、游(run)、符號(hào)(sign)、塊結(jié)束(Ε0Β) 標(biāo)志。編碼是從變換塊中最后非零系數(shù)開始沿反鋸齒(zig-zag)方向的(因此,要求Ε0Β 物?志)。
      [0007] 使用一元二進(jìn)制化將"程減一"(level-minus-one)和"游"數(shù)據(jù)進(jìn)行二進(jìn)制化,然 后使用基于上下文的熵編碼對(duì)二進(jìn)制值(bin)進(jìn)行編碼。具體地,AVS針對(duì)變換系數(shù)數(shù)據(jù) 使用算術(shù)編碼。
      [0008] AVS的現(xiàn)有編碼方案存在一些缺陷。在一些情況下,可能出現(xiàn)長游。在32x32塊的 情況下,最差情況下的游是1023。當(dāng)二進(jìn)制化時(shí),這導(dǎo)致要對(duì)具有1024個(gè)二進(jìn)制值的數(shù)目 進(jìn)行編碼。Ε0Β標(biāo)志呈現(xiàn)了類似的最差情況開銷。例如,在使用32x32塊的情況下,最差情 況場(chǎng)景是1024個(gè)非零系數(shù),這意味著1023個(gè)Ε0Β標(biāo)志。最終,由于AVS所采用的編碼方案, 在對(duì)所有變換系數(shù)進(jìn)行解碼之前,解碼器不具有與塊中的變換系數(shù)的位置相關(guān)的任何先驗(yàn) 知識(shí)。這使得該數(shù)據(jù)不能用于改進(jìn)上下文確定或其他編碼判定。

      【專利附圖】

      【附圖說明】
      [0009] 現(xiàn)在將通過示例來參考示出了本中請(qǐng)的示例實(shí)施例的附圖,在附圖中:
      [0010] 圖1示出了被分為系數(shù)組的變換塊的示例,并示出了鋸齒組掃描順序;
      [0011] 圖2示出了圖1的示例變換塊以及在系數(shù)組中的鋸齒掃描順序的示例;
      [0012] 圖3示出了被映射到變換塊的CG標(biāo)志的一個(gè)示例;
      [0013] 圖4以流程圖形式示出了使用程游(level-run)信息和系數(shù)組劃分進(jìn)行編碼的方 法的一個(gè)實(shí)施例;
      [0014] 圖5以流程圖形式示出了對(duì)程游信息進(jìn)行解碼以重構(gòu)殘余的方法的一個(gè)實(shí)施例;
      [0015] 圖6以圖形方式示出了在系數(shù)組邊界處截?cái)嗟某逃尉幋a的示例;
      [0016] 圖7以圖形方式示出了跨系數(shù)組邊界的程游編碼的示例;
      [0017] 圖8示出了變換塊的區(qū)域劃分的示例;
      [0018] 圖9以框圖形式示出了視頻編碼器的一個(gè)實(shí)施例;
      [0019] 圖10以框圖形式示出了視頻解碼器的一個(gè)實(shí)施例;
      [0020] 圖11示出了包含零和非零系數(shù)的示例系數(shù)組;
      [0021] 圖12示出了對(duì)系數(shù)組的示例對(duì)角劃分;
      [0022] 圖13示出了對(duì)系數(shù)組的第二示例對(duì)角劃分;
      [0023] 圖14示出了對(duì)系數(shù)組的示例水平劃分;
      [0024] 圖15示出了對(duì)系數(shù)組的示例垂直劃分;
      [0025] 圖16示出了對(duì)系數(shù)組的示例對(duì)角劃分;
      [0026] 圖17示出了用于說明確定二進(jìn)制化游值的二進(jìn)制值的區(qū)域的示例系數(shù)組;以及
      [0027] 圖18示出了用于上下文確定的有限狀態(tài)機(jī)。
      [0028] 在不同的附圖中使用了類似的附圖標(biāo)記來表示類似的組件。

      【具體實(shí)施方式】
      [0029] 在第一方面中,本中請(qǐng)描述了使用視頻解碼器對(duì)編碼視頻的比特流中的視頻進(jìn)行 解碼的方法,所述視頻包括被劃分為塊的圖片。所述方法包括:針對(duì)變換塊內(nèi)的系數(shù)組,對(duì) 標(biāo)識(shí)在生成所述變換塊時(shí)使用的幀內(nèi)編碼模式的數(shù)據(jù)進(jìn)行解碼;基于所述幀內(nèi)編碼模式將 所述系數(shù)組劃分為區(qū)域;以及對(duì)用于重構(gòu)所述系數(shù)組的系數(shù)的二進(jìn)制值進(jìn)行熵解碼,其中 所述熵解碼包括基于哪個(gè)區(qū)域與該二進(jìn)制值相關(guān)聯(lián)來確定上下文。
      [0030] 本中請(qǐng)還公開了使用視頻編碼器對(duì)視頻進(jìn)行編碼的方法,所述視頻包括被劃分為 塊的圖片。所述方法包括:使用幀內(nèi)編碼模式根據(jù)各塊之一的空間預(yù)測(cè)來生成該塊的殘余 數(shù)據(jù);對(duì)所述殘余數(shù)據(jù)進(jìn)行頻譜變換,以獲得變換系數(shù)的變換塊,所述變換塊被進(jìn)一步劃分 為系數(shù)組;對(duì)所述系數(shù)組之一的變換系數(shù)進(jìn)行程-游編碼,以生成程-游對(duì);以及對(duì)所述 程-游對(duì)進(jìn)行二進(jìn)制化和熵編碼,包括確定二進(jìn)制化的程-游對(duì)的每個(gè)二進(jìn)制值的上下文, 其中,基于所述幀內(nèi)編碼模式將所述系數(shù)組劃分為區(qū)域,以及確定二進(jìn)制值的上下文至少 部分基于哪個(gè)區(qū)域與該二進(jìn)制值相關(guān)聯(lián)。
      [0031] 在又一方面中,本申請(qǐng)描述了被配置為實(shí)現(xiàn)這種編碼和解碼方法的編碼器和解碼 器。
      [0032] 在再一方面中,本中請(qǐng)描述了存儲(chǔ)計(jì)算機(jī)可執(zhí)行程序指令的非瞬時(shí)計(jì)算機(jī)可讀介 質(zhì),當(dāng)執(zhí)行所述計(jì)算機(jī)可執(zhí)行程序指令時(shí),所述計(jì)算機(jī)可執(zhí)行程序指令將處理器配置為執(zhí) 行所述編碼和/或解碼方法。
      [0033] 根據(jù)以下結(jié)合附圖對(duì)示例的描述的論述,本領(lǐng)域普通技術(shù)人員將理解本申請(qǐng)的其 他方面和特征。
      [0034] 在隨后的描述中,參考用于視頻編碼的AVS標(biāo)準(zhǔn)和/或開發(fā)中的AVS2標(biāo)準(zhǔn)來描 述一些示例實(shí)施例。本領(lǐng)域普通技術(shù)人員將理解:本申請(qǐng)不限于AVS或AVS2,而是可以適 用于其他視頻編碼/解碼標(biāo)準(zhǔn),包括可能的未來標(biāo)準(zhǔn)、多視圖編碼標(biāo)準(zhǔn)、可伸縮視頻編碼標(biāo) 準(zhǔn)、以及可重配置視頻編碼標(biāo)準(zhǔn)。
      [0035] 在隨后的描述中,當(dāng)提到視頻或圖像時(shí),術(shù)語幀、圖片、切片、分片和矩形切片組可 以在某種程度上相互交換使用。在一些情況下,一系列幀/圖片可以被稱為"序列"。在其 他實(shí)現(xiàn)中可以使用其他術(shù)語。還將意識(shí)到:可以逐幀來執(zhí)行特定編碼/解碼操作,一些是逐 切片執(zhí)行的,一些是逐圖片執(zhí)行的,一些是逐分片執(zhí)行的,且一些是逐矩形切片組執(zhí)行的, 這取決于適用的圖像或視頻編碼標(biāo)準(zhǔn)的具體要求或術(shù)語。在任何具體實(shí)施例中,適用的圖 像或視頻編碼標(biāo)準(zhǔn)可以視情況確定下面描述的操作是針對(duì)幀和/或切片和/或圖片和/或 分片和/或矩形切片組來執(zhí)行的。因此,本領(lǐng)域普通技術(shù)人員在考慮到本公開的情況下將 理解:針對(duì)給定實(shí)施例,本文描述的具體操作或過程以及對(duì)幀、切片、圖片、分片、矩形切片 組的具體引用適用于幀、切片、圖片、分片、矩形切片組、還是這些中的一些或全部。如根據(jù) 以下描述將變得顯而易見的,這對(duì)于編碼樹單位、編碼單位、預(yù)測(cè)單位、變換單位等同樣成 立。術(shù)語"塊"可以用于指代編碼樹單位、編碼單位、預(yù)測(cè)單位、或變換單位,這取決于其所 使用的上下文。
      [0036] 將理解:本文描述的編碼器或解碼器均可以在包含一個(gè)或多個(gè)處理元件和存儲(chǔ)器 在內(nèi)的專用計(jì)算設(shè)備或通用計(jì)算設(shè)備上實(shí)現(xiàn)。編碼器或解碼器執(zhí)行的操作視情況可以例如 通過專用集成電路來實(shí)現(xiàn),或通過所存儲(chǔ)的可由通用處理器執(zhí)行的程序指令來實(shí)現(xiàn)。設(shè)備 可以包括附加軟件,該附加軟件包括例如用于控制基本設(shè)備功能的操作系統(tǒng)。本領(lǐng)域普通 技術(shù)人員在注意到以下描述的情況下將意識(shí)到其中可以實(shí)現(xiàn)編碼器或解碼器的設(shè)備和平 臺(tái)的范圍。
      [0037] 編碼器接收視頻源并產(chǎn)生編碼比特流。解碼器接收編碼比特流并輸出解碼視頻 幀。解碼器可以被實(shí)現(xiàn)為視頻回放設(shè)備的一部分,即,可以在顯示設(shè)備上顯示輸出視頻。將 理解:諸如計(jì)算機(jī)、機(jī)頂盒、DVD或藍(lán)光播放器之類的視頻回放機(jī)和/或移動(dòng)手持設(shè)備可以 在顯示設(shè)備上顯示之前在存儲(chǔ)器中對(duì)解碼幀進(jìn)行緩存。編碼器和解碼器可以被配置為以符 合多種視頻壓縮標(biāo)準(zhǔn)的方式來工作。例如,編碼器和解碼器可以是符合AVS的。在其他實(shí) 施例中,編碼器和解碼器可以符合其他視頻壓縮標(biāo)準(zhǔn),包括AVS標(biāo)準(zhǔn)的演進(jìn),例如AVS2。
      [0038] 與任何基于塊的混合編碼框架一樣,AVS將圖片/幀劃分為塊。使用預(yù)測(cè)操作來 生成預(yù)測(cè)塊。該預(yù)測(cè)可以是空間預(yù)測(cè),即幀內(nèi)預(yù)測(cè),在幀內(nèi)預(yù)測(cè)中,本地重構(gòu)像素是預(yù)測(cè)的 基礎(chǔ),或者預(yù)測(cè)可以是時(shí)間預(yù)測(cè),即幀間預(yù)測(cè),在幀間預(yù)測(cè)中,來自附近圖片/幀的重構(gòu)像 素是預(yù)測(cè)的基礎(chǔ)。預(yù)測(cè)塊和原始數(shù)據(jù)之間的差異是后續(xù)被編碼的殘余或誤差。
      [0039] 首先通過以下方式對(duì)殘余進(jìn)行編碼:使用例如DCT(或DST、或小波變換等)操作 對(duì)殘余進(jìn)行頻譜變換以將殘余數(shù)據(jù)塊變換為變換系數(shù)塊。最左上角的系數(shù)是DC系數(shù),且其 他系數(shù)越遠(yuǎn)離最左上角系數(shù),就是逐漸越高頻率的系數(shù)。在很多情況下,變換塊的右下部分 有可能包含所有零系數(shù),這就是為什么頻譜變換對(duì)壓縮有幫助。
      [0040] 然后使用量化步長對(duì)變換系數(shù)進(jìn)行量化。在一些情況下,量化步長對(duì)于給定序列、 圖片/幀、或塊可以是固定的。在一些情況下,量化步長更一般地是量化矩陣,其中,可以對(duì) 變換塊中的不同系數(shù)位置進(jìn)行使用位置特定量化步長的量化。在一些實(shí)施例中,變換和量 化操作被集成到單一操作中。在一些情況下,本文的描述可以將量化變換系數(shù)簡(jiǎn)稱為"變換 系數(shù)"或"系數(shù)"。將意識(shí)到:當(dāng)提到對(duì)"變換系數(shù)"或"系數(shù)"的熵編碼時(shí),這些變換系數(shù)通 常將是已被量化的。
      [0041] 根據(jù)適用的編碼標(biāo)準(zhǔn)所規(guī)定的語法和編碼方案,對(duì)量化變換系數(shù)塊進(jìn)行熵編碼。 在AVS情況下,按反掃描順序來讀取系數(shù),其中,將掃描順序定義為從最左上角系數(shù)到最右 下角系數(shù)前進(jìn)的鍋齒掃描順序。AVS中的實(shí)際編碼開始于塊中的最后有效(significant)系 數(shù),即,按掃描順序的最后非零系數(shù),并按反掃描順序回到最左上角系數(shù)。被編碼的數(shù)據(jù)包 括四部分[程、游、符號(hào)、Ε0Β]。"程"指示當(dāng)前非零系數(shù)的量值(減1),"游"指示當(dāng)前系數(shù) 和按反掃描順序的下一個(gè)非零系數(shù)之間的零系數(shù)的數(shù)目,符號(hào)指示非零系數(shù)的符號(hào),以及 Ε0Β標(biāo)志指示該當(dāng)前系數(shù)是否是塊中按掃描順序的"第一個(gè)"非零系數(shù),S卩,這是否是該塊的 按反掃描順序編碼的最后非零系數(shù)。
      [0042] 使用一元二進(jìn)制化對(duì)"游"和"程"值進(jìn)行二進(jìn)制化。然后對(duì)二進(jìn)制化的數(shù)據(jù)進(jìn)行 上下文自適應(yīng)熵編碼。
      [0043] 如上所述,Ε0Β標(biāo)志表示在具有相對(duì)多的非零系數(shù)的塊中的顯著開銷成本。此外, "游"值可以在具有至少一個(gè)高頻非零系數(shù)的稀疏塊中較大,其導(dǎo)致由于一元二進(jìn)制化方案 而產(chǎn)生的對(duì)大量二進(jìn)制值進(jìn)行編碼。最后,在解碼器完成對(duì)所有變換系數(shù)數(shù)據(jù)的解碼并檢 測(cè)到指示當(dāng)前非零系數(shù)完成了該塊的數(shù)據(jù)的Ε0Β標(biāo)志之前,解碼器不知道正在被解碼的任 何數(shù)據(jù)在塊中的位置。
      [0044] 本申請(qǐng)?zhí)峁┝送ㄟ^信號(hào)通知最后有效系數(shù)數(shù)據(jù)來消除對(duì)Ε0Β標(biāo)志的使用的方法 和系統(tǒng)。此外,為了改進(jìn)在使用該方案進(jìn)行變換編碼的壓縮效率,本申請(qǐng)?zhí)峁┝藢⒚總€(gè)塊進(jìn) 一步劃分為非重疊的系數(shù)組的方法和系統(tǒng)。在很多實(shí)施例中,系數(shù)組是正方形塊,例如4x4, 然而在一些實(shí)施例中,它們可以是非正方形的。在一些情況下,可以將系數(shù)組稱為"子塊"或 "子編碼塊"。
      [0045] 現(xiàn)在參考圖1,其示出了變換塊100的示例。在該情況下,變換塊100是16x16變 換系數(shù)塊。該變換塊100已被分為十六個(gè)4x4系數(shù)組(CG),其中一些標(biāo)有附圖標(biāo)記102。每 個(gè)系數(shù)組102包含十六個(gè)變換系數(shù)。
      [0046] 逐系數(shù)組來執(zhí)行對(duì)變換系數(shù)的編碼。即,對(duì)一個(gè)系數(shù)組中的十六個(gè)變換系數(shù)進(jìn)行 編碼,之后移動(dòng)到下一個(gè)系數(shù)組。
      [0047] 在圖1中指出了組掃描順序104。在本示例中的組掃描順序106是鋸齒掃描順序, 其從最左上角系數(shù)組開始并向著最右下角系數(shù)組前進(jìn)。在一些實(shí)施例中,按反組掃描順序 對(duì)系數(shù)組進(jìn)行編碼/解碼,這意味著最左上角系數(shù)組是要編碼/解碼的最后系數(shù)組。
      [0048] 現(xiàn)在還參考圖2,其示出了變換塊100和在系數(shù)組102a之一中的掃描順序108。系 數(shù)組中的掃描順序108對(duì)該系數(shù)組內(nèi)的系數(shù)的處理進(jìn)行排序。在該示例中,掃描順序108 是系數(shù)的鋸齒掃描順序。在一些實(shí)施例中,按掃描順序108的逆序("反掃描順序")對(duì)系 數(shù)(特別是它們的程-游-符號(hào)數(shù)據(jù))進(jìn)行編碼/解碼。反掃描順序開始于最右下角系數(shù) 并向著最左上角系數(shù)以鋸齒掃描方式前進(jìn)。
      [0049] 將理解:在這些示例中描述的基于鋸齒的掃描順序和組掃描順序表示了一種可能 的掃描順序集合。在其他實(shí)施例中,掃描順序或組掃描順序可以是對(duì)角式、垂直式、水平式、 或?qū)K和/或系數(shù)組中的位置的任何其他規(guī)定排序。在一個(gè)實(shí)施例中,組掃描順序和系數(shù) 組中的掃描順序可以不同,即例如一個(gè)可以是鋸齒的,而另一個(gè)可以是對(duì)角的。
      [0050] 將變換塊100劃分為系數(shù)組102 (示出為102a、102b、102c)使得能夠?qū)G標(biāo)志用 于信號(hào)通知特定系數(shù)組是否包含任何非零系數(shù)。如果系數(shù)組的所有系數(shù)是零,則編碼器不 需要對(duì)除了 CG標(biāo)志之外的任何數(shù)據(jù)進(jìn)行編碼。即,編碼器僅對(duì)具有非零系數(shù)的系數(shù)組的 程、游、和符號(hào)數(shù)據(jù)進(jìn)行編碼,例如,那些具有被設(shè)置為1的CG標(biāo)志的系數(shù)組。在一些情況 下,可以假定最左上角系數(shù)組的CG標(biāo)志被設(shè)為1 ;S卩,不對(duì)該系數(shù)組的CG標(biāo)志進(jìn)行編碼,且 始終對(duì)系數(shù)(它們的程-游-符號(hào)數(shù)據(jù))進(jìn)行編碼。
      [0051] 在一些實(shí)施例中,可以將CG標(biāo)志作為集合進(jìn)行發(fā)送,然后按反組掃描順序發(fā)送每 個(gè)非零CG的系數(shù)數(shù)據(jù)。在一些其他實(shí)施例中,在對(duì)下一個(gè)CG標(biāo)志進(jìn)行編碼之前,指示CG 包含非零系數(shù)的每個(gè)CG標(biāo)志在編碼比特流中可以后接該CG的數(shù)據(jù),例如,程、游、和符號(hào)數(shù) 據(jù)(S卩,CG標(biāo)志可以與程-游-符號(hào)數(shù)據(jù)交織)。
      [0052] 本申請(qǐng)?zhí)岢隽藢?duì)變換塊中最后非零系數(shù)的位置進(jìn)行編碼,而不發(fā)送Ε0Β標(biāo)志。一 旦解碼器知道變換塊中最后非零系數(shù)的位置,則在其對(duì)程-游數(shù)據(jù)進(jìn)行解碼時(shí),它將知道 其何時(shí)到達(dá)系數(shù)組中的最后系數(shù),使得Ε0Β標(biāo)志不必要。此外,本申請(qǐng)?zhí)岢隽藢?duì)兩級(jí)最后系 數(shù)位置信息進(jìn)行編碼:(a)按組掃描順序包含非零系數(shù)的最后系數(shù)組的位置;以及(b)在該 最后系數(shù)組中的最后非零系數(shù)的位置。從而,解碼器將知道最后非零系數(shù)的坐標(biāo),且因此知 道與變換塊的所有后續(xù)解碼的CG標(biāo)志、程、游、和符號(hào)數(shù)據(jù)相關(guān)聯(lián)的位置信息。
      [0053] 圖2示出了系數(shù)組102b中的非零系數(shù)110和系數(shù)組102c中的非零系數(shù)112。在 舊的AVS編碼方案下,非零系數(shù)112將是整個(gè)變換塊100上按反鋸齒掃描順序的最后系數(shù)。 然而,根據(jù)本申請(qǐng)的該示例實(shí)施例,按反組掃描順序的最后非零系數(shù)組是系數(shù)組l〇2b,且該 系數(shù)組中的最后非零系數(shù)是非零系數(shù)110。因此,編碼器對(duì)系數(shù)組l〇2b的位置和非零系數(shù) 110在該系數(shù)組102b中的位置進(jìn)行編碼。然后編碼器繼續(xù)對(duì)最后系數(shù)組102b和最左上角 系數(shù)組(其CG標(biāo)志可以被推斷為1)之間的剩余系數(shù)組的CG標(biāo)志以及具有被設(shè)為(或被推 斷為)1的關(guān)聯(lián)CG標(biāo)志的每個(gè)系數(shù)組的程-游-符號(hào)數(shù)據(jù)進(jìn)行編碼。如稍后將描述的,在 一些示例實(shí)施例中,還可以對(duì)每個(gè)非零CG內(nèi)的最后系數(shù)位置進(jìn)行編碼。在其他實(shí)施例中, 可以針對(duì)下一個(gè)CG對(duì)"最后游"進(jìn)行編碼,以指定在最右下角系數(shù)和下一個(gè)CG中的最后非 零系數(shù)之間的零的數(shù)目,或在一些實(shí)施例中,游數(shù)據(jù)可以跨過CG邊界(且可以按反組掃描 順序跳過所有零CG)。
      [0054] 圖3示出了被劃分為4x4個(gè)系數(shù)組的示例16x16變換塊200。最后系數(shù)組202a位 于xCG = 3, yCG = 1。在一些實(shí)施例中,這些坐標(biāo)可以被二進(jìn)制化和編碼。在其他實(shí)施例 中,可以將最后非零系數(shù)組的位置作為系數(shù)組按組掃描順序的位置來信號(hào)通知,在本示例 中該位置是12 (在0,1,...,15的范圍內(nèi))。在圖3的關(guān)聯(lián)系數(shù)組中示出了各個(gè)系數(shù)組的 CG標(biāo)志的值。將意識(shí)到:不需要對(duì)最后系數(shù)組202a的CG標(biāo)志進(jìn)行編碼,這是由于基于其 是最后系數(shù)組,因此知道其包含非零系數(shù)。在一些實(shí)施例中,還可以推斷出在xCG = 0,yCG =0處的第一個(gè)系數(shù)組的CG標(biāo)志為1,而不管其是否包含任何非零系數(shù),這是由于該系數(shù)組 具有全零系數(shù)的可能性非常小。如果(如下面方括號(hào)所指示地)省略了這兩個(gè)CG標(biāo)志,則 在本示例中,按反組掃描順序的編碼CG標(biāo)志是:
      [0055] [1]1 0 0 0 1 0 1 0 0 1 1[1]
      [0056] 現(xiàn)在參考圖4,其以流程圖形式示出了用于在視頻編碼器中對(duì)變換系數(shù)進(jìn)行編碼 的一個(gè)示例過程300。如操作302所示,首先對(duì)殘余數(shù)據(jù)塊進(jìn)行變換和量化,以產(chǎn)生量化變 換系數(shù)塊。請(qǐng)回憶本示例實(shí)施例假定不管8x8、16xl6、32x32還是某個(gè)其他大小,變換塊被 劃分為系數(shù)組。系數(shù)組可以是正方形變換系數(shù)組。在一些情況下,它們可以是2x2、4x4、6x6、 8x8、或某個(gè)其他大小。在一些實(shí)現(xiàn)中,系數(shù)組大小可以取決于變換塊大小。
      [0057] 在操作304中,編碼器對(duì)按組掃描順序的最后非零系數(shù)組的位置進(jìn)行編碼。組掃 描順序是從最左上角到最右下角的系數(shù)組的排序。在本示例中,組掃描順序可以是鋸齒掃 描順序。這些系數(shù)組中包含非零系數(shù)的最后系數(shù)組是最后非零系數(shù)組。在操作304中對(duì)其 在變換塊中的位置進(jìn)行編碼。
      [0058] 在操作306中,編碼器對(duì)該最后非零系數(shù)組中的最后非零系數(shù)的位置進(jìn)行編碼。 所編碼的位置是在系數(shù)組內(nèi)的位置且不是在變換塊中的絕對(duì)位置,這是因?yàn)橐呀?jīng)對(duì)系數(shù)組 位置進(jìn)行了編碼。在該系數(shù)組中的最后非零系數(shù)是在系數(shù)組中按掃描順序的最后非零系 數(shù)。
      [0059] 然后在操作308中按反組掃描順序?qū)ψ詈蠓橇阆禂?shù)組和最左上角系數(shù)組之間的 所有系數(shù)組的CG標(biāo)志進(jìn)行編碼。在該實(shí)施例中,CG標(biāo)志與程-游數(shù)據(jù)不交織。
      [0060] 然后在操作310中,對(duì)具有非零系數(shù)的系數(shù)組的程、游、符號(hào)數(shù)據(jù)進(jìn)行編碼。這包 括其CG標(biāo)志可以被推斷為1的系數(shù)組,而不管該系數(shù)組是否包含非零系數(shù),例如在一些實(shí) 施例中的最左上角系數(shù)組。
      [0061] 最后,在操作312中,在比特流中輸出編碼數(shù)據(jù)。
      [0062] 在圖5所示的示例過程400中以流程圖形式示出了在解碼器處的對(duì)應(yīng)操作。在 操作402,解碼器對(duì)按組掃描順序的最后非零系數(shù)組的位置進(jìn)行解碼。從而,解碼器能夠識(shí) 別變換塊中的哪個(gè)系數(shù)組是按組掃描順序的包含非零系數(shù)的最后系數(shù)組。然后在操作404 中,解碼器對(duì)在最后非零系數(shù)組中按掃描順序的最后非零系數(shù)的位置進(jìn)行解碼。
      [0063] 然后解碼器在操作406中對(duì)系數(shù)組標(biāo)志進(jìn)行解碼。針對(duì)最后非零系數(shù)組和最左上 角系數(shù)組之間的每個(gè)系數(shù)組,可以按反組掃描順序?qū)G標(biāo)志進(jìn)行解碼。注意到:該示例假 定最左上角系數(shù)組的CG標(biāo)志被推斷為1,然而在其他示例實(shí)施例中,可以對(duì)其進(jìn)行編碼/解 碼。從而解碼器能夠識(shí)別變換塊中的哪些系數(shù)組包含非零系數(shù),且從而它們是否具有針對(duì) 其系數(shù)而編碼的程、游、和符號(hào)數(shù)據(jù)。
      [0064] 在操作408中,解碼器對(duì)非零系數(shù)組的程、游、和符號(hào)數(shù)據(jù)進(jìn)行解碼,以重構(gòu)這些 系數(shù)組的量化變換域系數(shù)。如下面將詳細(xì)描述的,根據(jù)實(shí)現(xiàn)方式,解碼器可以對(duì)每個(gè)非零系 數(shù)組的最后游數(shù)據(jù)、每個(gè)非零系數(shù)組的最后非零系數(shù)位置數(shù)據(jù)、或跨系數(shù)組邊界的游數(shù)據(jù) 進(jìn)行解碼。將全零系數(shù)組重構(gòu)為全零系數(shù)。
      [0065] 在操作410中,解碼器對(duì)重構(gòu)的變換系數(shù)塊進(jìn)行反量化和反變換,以生成重構(gòu)殘 余塊。通過與后續(xù)預(yù)測(cè)操作、濾波等的組合,解碼器輸出重構(gòu)的像素?cái)?shù)據(jù)。
      [0066] 如本領(lǐng)域技術(shù)人員在考慮到本文的完整描述的情況下將理解的:上述過程中的一 些操作可以變化,使得它們按不同順序發(fā)生,或以交織方式發(fā)生,或以組合方式發(fā)生。
      [0067] 對(duì)最后非零CG位置講行編碼
      [0068] 如上所述,本申請(qǐng)?zhí)峁┝瞬糠滞ㄟ^對(duì)包含非零系數(shù)的按組掃描順序的最后系數(shù)組 的位置進(jìn)行編碼來提供對(duì)最后非零系數(shù)的位置的信號(hào)通知。存在可以對(duì)該位置進(jìn)行編碼的 各種方式。下面提供一些示例。
      [0069] 在一個(gè)示例中,使用χ-y坐標(biāo)來信號(hào)通知最后非零系數(shù)組位置。例如,xCG可以指 示X位置,且yCG可以指示 y位置。可以例如通過一元二進(jìn)制化對(duì)這些值中的每一個(gè)值進(jìn) 行二進(jìn)制化。在另一實(shí)施例中,可以使用固定長度的二進(jìn)制數(shù)字。
      [0070] 然后使用上下文自適應(yīng)編碼對(duì)二進(jìn)制化的x-y坐標(biāo)進(jìn)行編碼。可以基于塊大小和 正在被編碼的特定二進(jìn)制值的二進(jìn)制值索引來確定用于對(duì)二進(jìn)制化坐標(biāo)進(jìn)行編碼的上下 文。可以針對(duì)xCG和yCG使用單獨(dú)的上下文。在一個(gè)示例中,可以通過以下方式來給出上 下文確定:
      [0071] ctxlnc (lastCGX) = 0,如果塊大小是8x8且二進(jìn)制值索引=0 ;
      [0072] 2,如果塊大小是16x16且二進(jìn)制值索引=0 ;
      [0073] 4,如果塊大小是16x16且二進(jìn)制值索引=1 ;
      [0074] 6,如果塊大小是16x16且二進(jìn)制值索引=2 ;
      [0075] 8,如果塊大小是32x32且二進(jìn)制值索引=0 ;
      [0076] 10,如果塊大小是32x32且二進(jìn)制值索引=1 ;
      [0077] 12,如果塊大小是32x32且二進(jìn)制值索引> 1 ;
      [0078] ctxlnc (lastCGY) = 1,如果塊大小是8x8且二進(jìn)制值索引=0 ;
      [0079] 3,如果塊大小是16x16目二進(jìn)制值索引=0 ;
      [0080] 5,如果塊大小是16x16且二進(jìn)制值索引=1 ;
      [0081] 7,如果塊大小是16x16且二進(jìn)制值索引=2 ;
      [0082] 9,如果塊大小是32x32且二進(jìn)制值索引=0 ;
      [0083] 11,如果塊大小是32x32且二進(jìn)制值索引=1 ;
      [0084] 13,如果塊大小是32x32且二進(jìn)制值索引> 1 ;
      [0085] 在本示例中,可以使用總共28個(gè)上下文:14個(gè)用于亮度(luma)分量且14個(gè)用于 色度分量。
      [0086] 在另一示例中,x-y坐標(biāo)的二進(jìn)制化可以基于一元前綴和固定長度后綴的串聯(lián)。注 意到:在假定使用4x4個(gè)系數(shù)組的情況下,這可以直到塊大小達(dá)到32x32才改變二進(jìn)制化坐 標(biāo)。后綴可以是單一比特。然后可以使用旁路模式對(duì)后綴進(jìn)行編碼,即等概率,其避免了與 該二進(jìn)制值的編碼相關(guān)的上下文確定步驟。用于對(duì)前綴進(jìn)行編碼的上下文是基于塊大小和 二進(jìn)制值索引來確定的。
      [0087] 在這些示例的另一變型中,對(duì)xCG和yCG進(jìn)行聯(lián)合編碼;意味著引入了用于信號(hào)通 知最后非零系數(shù)組是否是在(〇,〇)處的最左上角系數(shù)組的標(biāo)志,該最左上角系數(shù)組往往是 最有可能的最后非零系數(shù)組。如果設(shè)置了該標(biāo)志,則對(duì)XCG和yCG的進(jìn)一步編碼不是必需 的。然而,如果未設(shè)置該標(biāo)志,則對(duì)xCG值和yCG值進(jìn)行編碼。但是,由于編碼器和解碼器 將知道xCG和yCG值不能都是0,因此如果編碼/解碼的xCG值是零,則將對(duì)yCG值進(jìn)行編 碼和解碼為(yCG-Ι)。下面闡述了示出了該變型的示例偽代碼:
      [0088] 編碼器:
      [0089]
      [0090]

      【權(quán)利要求】
      1. 一種使用視頻解碼器對(duì)編碼視頻的比特流中的視頻進(jìn)行解碼的方法,所述視頻包括 被劃分為塊的圖片,所述方法包括: 針對(duì)變換塊內(nèi)的系數(shù)組, 對(duì)標(biāo)識(shí)在生成所述變換塊時(shí)使用的幀內(nèi)編碼模式的數(shù)據(jù)進(jìn)行解碼; 基于所述幀內(nèi)編碼模式將所述系數(shù)組劃分為區(qū)域;以及 對(duì)用于重構(gòu)所述系數(shù)組的系數(shù)的二進(jìn)制值進(jìn)行熵解碼,其中,所述熵解碼包括基于哪 個(gè)區(qū)域與該二進(jìn)制值相關(guān)聯(lián)來確定上下文。
      2. 根據(jù)權(quán)利要求1所述的方法,其中,所述視頻解碼器被配置為使用多個(gè)幀內(nèi)編碼模 式,所述多個(gè)幀內(nèi)編碼模式被分組為類別,以及標(biāo)識(shí)包括標(biāo)識(shí)所標(biāo)識(shí)的幀內(nèi)編碼模式所屬 的類別。
      3. 根據(jù)權(quán)利要求2所述的方法,其中,每個(gè)類別具有用于將系數(shù)組劃分為區(qū)域的相應(yīng) 預(yù)定義劃分,以及對(duì)所述系數(shù)組進(jìn)行劃分包括使用與所標(biāo)識(shí)的類別相關(guān)聯(lián)的預(yù)定義劃分。
      4. 根據(jù)權(quán)利要求2所述的方法,其中,所述類別包括垂直類別、水平類別、以及對(duì)角類 別。
      5. 根據(jù)權(quán)利要求4所述的方法,其中,所述水平類別與使用垂直線將所述系數(shù)組劃分 為兩個(gè)區(qū)域的劃分相關(guān)聯(lián)。
      6. 根據(jù)權(quán)利要求4所述的方法,其中,所述垂直類別與使用水平線將所述系數(shù)組劃分 為兩個(gè)區(qū)域的劃分相關(guān)聯(lián)。
      7. 根據(jù)權(quán)利要求1所述的方法,其中,所述二進(jìn)制值包括二進(jìn)制化的程值的二進(jìn)制值, 以及基于與該程值相對(duì)應(yīng)的非零系數(shù)位于各區(qū)域中的一個(gè)區(qū)域中,將所述一個(gè)區(qū)域與該二 進(jìn)制值相關(guān)聯(lián)。
      8. 根據(jù)權(quán)利要求1所述的方法,其中,所述二進(jìn)制值包括二進(jìn)制化的游值的二進(jìn)制值。
      9. 根據(jù)權(quán)利要求8所述的方法,其中,從當(dāng)前非零系數(shù)開始按反掃描順序?qū)⒍M(jìn)制化 的游值的二進(jìn)制值一對(duì)一映射到系數(shù),以及基于被映射到各二進(jìn)制值中一個(gè)二進(jìn)制值的系 數(shù)位于各區(qū)域中的一個(gè)區(qū)域中,將所述一個(gè)區(qū)域與所述一個(gè)二進(jìn)制值相關(guān)聯(lián)。
      10. 根據(jù)權(quán)利要求1所述的方法,還包括:對(duì)與所述系數(shù)組中按掃描順序的最后非零系 數(shù)相關(guān)的最后位置信息進(jìn)行解碼,其中,對(duì)最后位置信息進(jìn)行解碼發(fā)生在所述熵解碼之前。
      11. 一種用于對(duì)編碼視頻的比特流進(jìn)行解碼的解碼器,所述解碼器包括: 處理器; 存儲(chǔ)器;以及 解碼應(yīng)用,所述解碼應(yīng)用被存儲(chǔ)在存儲(chǔ)器中并包含用于將所述處理器配置為執(zhí)行根據(jù) 權(quán)利要求1至10中任一項(xiàng)所述的方法的指令。
      12. -種存儲(chǔ)處理器可執(zhí)行指令的非瞬時(shí)處理器可讀介質(zhì),當(dāng)執(zhí)行所述處理器可執(zhí)行 指令時(shí),所述處理器可執(zhí)行指令將一個(gè)或多個(gè)處理器配置為執(zhí)行根據(jù)權(quán)利要求1至10中任 一項(xiàng)所述的方法。
      13. -種使用視頻編碼器對(duì)視頻進(jìn)行編碼的方法,所述視頻包括被劃分為塊的圖片,所 述方法包括: 使用幀內(nèi)編碼模式根據(jù)各塊之一的空間預(yù)測(cè)來生成該塊的殘余數(shù)據(jù); 對(duì)所述殘余數(shù)據(jù)進(jìn)行頻譜變換,以獲得變換系數(shù)的變換塊,所述變換塊被進(jìn)一步劃分 為系數(shù)組; 對(duì)所述系數(shù)組之一的變換系數(shù)進(jìn)行程-游編碼,以生成程-游對(duì);以及 對(duì)所述程-游對(duì)進(jìn)行二進(jìn)制化和熵編碼,包括確定二進(jìn)制化的程-游對(duì)的每個(gè)二進(jìn)制 值的上下文,其中,基于所述幀內(nèi)編碼模式將所述系數(shù)組劃分為區(qū)域,以及確定二進(jìn)制值的 上下文至少部分基于哪個(gè)區(qū)域與該二進(jìn)制值相關(guān)聯(lián)。
      14. 根據(jù)權(quán)利要求13所述的方法,其中,所述幀內(nèi)編碼模式是從多個(gè)幀內(nèi)編碼模式中 選擇的,所述多個(gè)幀內(nèi)編碼模式被分組為類別,以及確定所述上下文包括:基于所述幀內(nèi)編 碼模式屬于哪個(gè)類別來確定如何將所述系數(shù)組劃分為區(qū)域。
      15. 根據(jù)權(quán)利要求14所述的方法,其中,每個(gè)類別具有用于將系數(shù)組劃分為區(qū)域的相 應(yīng)預(yù)定義劃分。
      16. 根據(jù)權(quán)利要求14所述的方法,其中,所述類別包括垂直類別、水平類別、以及對(duì)角 類別。
      17. 根據(jù)權(quán)利要求16所述的方法,其中,所述水平類別與使用垂直線將所述系數(shù)組劃 分為兩個(gè)區(qū)域的劃分相關(guān)聯(lián)。
      18. 根據(jù)權(quán)利要求16所述的方法,其中,所述垂直類別與使用水平線將所述系數(shù)組劃 分為兩個(gè)區(qū)域的劃分相關(guān)聯(lián)。
      19. 根據(jù)權(quán)利要求13所述的方法,其中,所述二進(jìn)制值包括二進(jìn)制化的程值的二進(jìn)制 值,以及基于與該程值相對(duì)應(yīng)的非零系數(shù)位于各區(qū)域中的一個(gè)區(qū)域中,將所述一個(gè)區(qū)域與 該二進(jìn)制值相關(guān)聯(lián)。
      20. 根據(jù)權(quán)利要求13所述的方法,其中,所述二進(jìn)制值包括二進(jìn)制化的游值的二進(jìn)制 值。
      21. 根據(jù)權(quán)利要求20所述的方法,其中,從當(dāng)前非零系數(shù)開始按反掃描順序?qū)⒍M(jìn)制 化的游值的二進(jìn)制值一對(duì)一映射到系數(shù),以及基于被映射到各二進(jìn)制值中一個(gè)二進(jìn)制值的 系數(shù)位于各區(qū)域中的一個(gè)區(qū)域中,將所述一個(gè)區(qū)域與所述一個(gè)二進(jìn)制值相關(guān)聯(lián)。
      22. 根據(jù)權(quán)利要求13所述的方法,還包括:對(duì)與所述系數(shù)組中按掃描順序的最后非零 系數(shù)相關(guān)的最后位置信息進(jìn)行編碼,其中,對(duì)最后位置信息進(jìn)行編碼發(fā)生在所述二進(jìn)制化 和熵解碼之前。
      23. -種用于在視頻編碼器中對(duì)視頻進(jìn)行編碼的編碼器,所述編碼器包括: 處理器; 存儲(chǔ)器;以及 編碼應(yīng)用,所述編碼應(yīng)用被存儲(chǔ)在存儲(chǔ)器中并包含用于將所述處理器配置為執(zhí)行根據(jù) 權(quán)利要求13至22中任一項(xiàng)所述的方法的指令。
      24. -種存儲(chǔ)處理器可執(zhí)行指令的非瞬時(shí)處理器可讀介質(zhì),當(dāng)執(zhí)行所述處理器可執(zhí)行 指令時(shí),所述處理器可執(zhí)行指令將一個(gè)或多個(gè)處理器配置為執(zhí)行根據(jù)權(quán)利要求13至22中 任一項(xiàng)所述的方法。
      【文檔編號(hào)】H04N19/13GK104272736SQ201380016686
      【公開日】2015年1月7日 申請(qǐng)日期:2013年1月16日 優(yōu)先權(quán)日:2013年1月16日
      【發(fā)明者】何大可, 計(jì)天穎, 王競(jìng), 王小峰 申請(qǐng)人:黑莓有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1