国产精品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>

      利用改進的顏色表和索引圖編碼方法的高級屏幕內(nèi)容編碼的制作方法

      文檔序號:10663673閱讀:349來源:國知局
      利用改進的顏色表和索引圖編碼方法的高級屏幕內(nèi)容編碼的制作方法
      【專利摘要】一種裝置用于執(zhí)行用于屏幕內(nèi)容編碼的方法。所述方法包括基于編碼單元(coding unit,CU)導出調(diào)色板表和顏色索引圖。所述方法還包括對所述調(diào)色板表編碼以及對所述顏色索引圖編碼。所述方法還包括將所述已編碼調(diào)色板表和所述已編碼顏色索引圖組合以向接收器傳輸,其中,對所述調(diào)色板表和索引圖解碼以重建像素塊。
      【專利說明】利用改進的顏色表和索引圖編碼方法的高級屏幕內(nèi)容編碼 技術(shù)領(lǐng)域 本發(fā)明大體上涉及屏幕內(nèi)容編碼,更具體地,涉及利用改進的顏色(調(diào)色板)表和索引 圖編碼的高級屏幕內(nèi)容編碼。 【背景技術(shù)】 由于屏幕內(nèi)容編碼相比于傳統(tǒng)視頻信號具有不同的信號特征,所以屏幕內(nèi)容編碼給視 頻壓縮帶來了新的挑戰(zhàn)。有多個現(xiàn)有技術(shù)用于高級屏幕內(nèi)容編碼,例如偽字符串匹配、顏色 調(diào)色板編碼和幀內(nèi)運動補償或幀內(nèi)塊復制。在這些技術(shù)中,偽字符串匹配對于無損編碼帶 來了最高增益,但對于有損編碼模式則具極高復雜性開銷和極高難度。在假設非攝像機捕 獲的內(nèi)容(例如,計算機生成的內(nèi)容)通常包含數(shù)目有限的不同顏色,而不包括在許多視頻 序列中發(fā)現(xiàn)的連續(xù)或近乎連續(xù)色調(diào)的條件下,開發(fā)顏色調(diào)色板編碼用于屏幕內(nèi)容。即使偽 字符串匹配和顏色調(diào)色板編碼方法表現(xiàn)出巨大的潛力,但是幀內(nèi)運動補償或幀內(nèi)塊復制被 編入了工作草案(working draft,WD)版本4和正在進行中的高效率視頻編碼(High Efficiency Video Coding,HEVC)范圍擴展的參考軟件中以用于屏幕內(nèi)容編碼。然而,幀內(nèi) 塊復制的編碼性能由于其固定的塊分解而受限。執(zhí)行塊匹配(類似于幀內(nèi)圖像中的運動估 計)還在計算和存取訪問方面顯著增加了編碼器的復雜性。
      【發(fā)明內(nèi)容】
      根據(jù)一項實施例,提供了一種用于屏幕內(nèi)容編碼的方法。所述方法包括基于編碼單元 (coding unit,CU)導出調(diào)色板表和顏色索引圖。所述方法還包括對所述調(diào)色板表編碼以及 對所述顏色索引圖編碼。所述方法還包括將所述已編碼調(diào)色板表和所述已編碼顏色索引圖 組合以向接收器傳輸。在所述接收器處,對所述調(diào)色板表和索引圖解碼以重建像素塊。 根據(jù)另一項實施例,提供了一種用于屏幕內(nèi)容編碼的裝置。所述裝置包括至少一個存 儲器和耦合至所述至少一個存儲器的至少一個處理器。所述至少一個處理器用于基于編碼 單元(coding unit,CU)導出調(diào)色板表和顏色索引圖,對所述調(diào)色板表編碼,對所述顏色索 引圖編碼,以及將所述已編碼調(diào)色板表與所述已編碼顏色索引圖組合以向接收器傳輸。 【附圖說明】 為了更完整地理解本發(fā)明及其優(yōu)點,現(xiàn)在參考下文結(jié)合附圖進行的描述,相同的數(shù)字 表示相同的對象,其中: 圖1示出了根據(jù)本發(fā)明的執(zhí)行屏幕內(nèi)容編碼過程的示例發(fā)射器的功能塊圖; 圖2示出了根據(jù)本發(fā)明的執(zhí)行屏幕內(nèi)容解碼過程的示例接收器的功能塊圖; 圖3示出了使用調(diào)色板表和索引圖的各種模塊和處理流程的示例; 圖4示出了顏色分量單獨和交織示出的示例編碼單元(coding unit,⑶); 圖5A至圖5C示出了供屏幕內(nèi)容編碼過程使用的顏色直方圖、顏色打包過程和顏色重排 序過程; 圖6示出了供屏幕內(nèi)容編碼過程使用的參考調(diào)色板表和當前調(diào)色板表; 圖7示出了供屏幕內(nèi)容編碼過程使用的顏色索引圖的水平和垂直掃描示例; 圖8示出了使用顏色索引圖的混合1D和2D顏色索引圖編碼過程的示例操作; 圖9示出了示例已編碼圖;以及 圖10和圖11示出了供屏幕內(nèi)容編碼過程使用的參考顏色索引圖和當前顏色索引圖的 示例。 【具體實施方式】 下面論述的圖1至圖11以及該專利文檔中的各種實施例僅通過舉例說明的方式描述本 發(fā)明的原理,而不應以任何方式理解為對本發(fā)明范圍的限制。本領(lǐng)域技術(shù)人員可以理解的 是,本發(fā)明的原理可通過任何一種設置合理的設備和系統(tǒng)實現(xiàn)。 下面的文檔和標準描述并入本發(fā)明中,如同全文在本文中闡述一樣: T. Lin,S. Wang,P. Zhang,Κ. Zhou,UAHG7:Ful1-chroma(YUV444)dietionary+hybrid dual-coder extension of HEVC",JCT-VC文檔,JCTVC-K0133,中國,上海,2012年 10月(以 下簡稱為"REF1"); W.Zhu,J.Xu,W.Ding,"RCE3Test 2:Multi_stage Base Color and Index Map",JCT_ VC文檔,JCTVC-N0287,奧地利,維也納,2013年7月(以下簡稱為"REF2"); L.Guo,M.Karczewicz,J·Sole,"RCE3:Results of Test 3. Ion Palette Mode for Screen Content Coding",JCT-VC文檔,JCTVC-N0247,奧地利,維也納,2013年7月(以下簡 稱為 "REF3"); L. Guo ,M.Karczewicz,J.Sole,R.Joshi,uNon-RCE3: Modified Palette Mode for Screen Content Coding",JCT-VC文檔,JCTVC-N0249,奧地利,維也納,2013年7月(以下簡 稱為 "REF4"); D·-K·Kwon,Μ·Budagavi,"RCE3:Results of test 3.3on Intra motion compensation",JCT-VC文檔,JCTVC-N0205,奧地利,維也納,2013年7月(以下簡稱為 "REF5"); C. Pang,J.Sole,L.Guo,M.Karczewicz,R.Joshi,uNon-RCE3:Intra Motion Compensation with 2-D MVs",JCT-VC文檔,JCTVC-N0256,奧地利,維也納,2013年7月(以 下簡稱為"REF6"); C·Pang,J·Sole,L·Guo,M.Karczewicz,R.Joshi,"Non_RCE3:Pipeline Friendly Intra Motion Compensation",JCT-VC文檔,JCTVC-N0254,奧地利,維也納,2013年7月(以 下簡稱為"REF7"); D. Flynn,J.Soel和T.Suzuki,"Range Extension Draft 4",JCTVC_L1005,2013年8月 (以下簡稱為"REF8");以及 H.Yu,K.McCann,R.Cohen和P.Amon,"Draft call for proposals for coding of screen content and medical visual content",IS0/IEC JTC1/SC29/WG11N13829,2013 年7月(以下簡稱為"REF9")。 本發(fā)明實施例提供了利用改進顏色表和索引圖編碼的高級屏幕內(nèi)容編碼過程。所公開 的實施例顯著優(yōu)于高效率視頻編碼(High-Efficiency Video Coding,HEVC)的當前版本 (HEVC版本2)。所公開實施例包括具體針對屏幕內(nèi)容編碼的多個算法。這些算法包括調(diào)色板 表(或等同地,顏色表)的像素表示、調(diào)色板表(或等同地,顏色表)壓縮、顏色索引圖壓縮、字 符串搜索和殘余壓縮。本文公開的實施例與HEVC范圍擴展(Range Extension,RExt)-起開 發(fā)、調(diào)和和整合,作為未來HEVC擴展,以支持有效屏幕內(nèi)容編碼。然而,這些實施例可通過現(xiàn) 有視頻標準或任何其它合適的視頻標準來另外或可替代地實施。為了便于說明,本文以 HEVC RExt為例描述各種實施例。類似地,HEVC RExt軟件用于實施各種實施例,展示出最佳 的壓縮效率。 圖1示出了根據(jù)本發(fā)明的執(zhí)行屏幕內(nèi)容編碼過程的示例發(fā)射器的功能塊圖。圖2示出了 根據(jù)本發(fā)明的執(zhí)行屏幕內(nèi)容解碼過程的示例接收器的功能塊圖。發(fā)射器100和接收器200的 實施例僅用于說明。發(fā)射器100和接收器200的其它實施例可在不脫離本發(fā)明的范圍的情況 下使用。 發(fā)射器100用于執(zhí)行可以對比特流中的每個編碼單元(coding unit,CU)或編碼樹單元 (coding tree unit,CTU)執(zhí)行的高效率顏色調(diào)色板壓縮(color palette compression, CPC)過程。如圖1所示,發(fā)射器100從比特流中的CU101開始。CU為HEVC和HEVC RExt中的基本 操作單元,是包含像素的方塊,該方塊包括三個分量(例如,本領(lǐng)域熟知的RGB、YUV、XYZ等 等)。示例⑶101在圖3示出。⑶101為8像素乘以8像素的⑶,該⑶包括每個像素的顯式顏色 值(例如,47、48、49等)。在其它實施例中,CU 101的大小可以不是8 X 8像素(例如,16 X 16像 素、32X32像素等)。在一些實施例中,發(fā)射器100可從CTU 101開始而不從⑶101開始。為了 便于說明,發(fā)射器100將通過⑶101進行描述。本領(lǐng)域技術(shù)人員可理解,發(fā)射器100可以通過 CTU 101執(zhí)行基本上相同的過程。 圖4示出了⑶401的另一示例,其中顏色分量在圖中分別示出。CU 401可表示⑶101。 CU 401為8像素乘以8像素的⑶,其中每個像素包括三個顏色分量,在這里為R、G和B。也就 是,CU 401包括在打包過程中交織在一起的不同的紅(red,R)顏色分量402、綠(green,G)顏 色分量403和藍(blue,B)顏色分量404?;敬虬幚韱卧ㄏ嗤袼匚恢锰幍拇虬麲、B、 R。在其它實施例中,這三個顏色分量可為Y、Cb和Cr,或者分量的其它合適組合。每個顏色分 量可由多個顏色比特表示。例如,GBR顏色分量中的每個顏色分量可由8個比特表示,因此每 個像素顏色為24比特顏色。 調(diào)色板表創(chuàng)建塊103使用⑶101導出或生成調(diào)色板表(有時稱為顏色表)。示例調(diào)色板 表303在圖3示出。為了導出調(diào)色板表303,調(diào)色板表創(chuàng)建塊103根據(jù)一個或多個排序規(guī)則對 顏色值排序。根據(jù)每個顏色值的出現(xiàn)頻率、CU 101中每個像素的實際顏色強度或任何其它 合適的排序指標可對調(diào)色板表303排序,以提高下面編碼操作的效率。例如,如圖5A所示,調(diào) 色板表創(chuàng)建塊103檢查CU 101中每個像素的顏色值,并根據(jù)降序排序的每個顏色的出現(xiàn)頻 率共同使用三個顏色分量,即打包的G、B、R或打包的Y、Cb、Cr創(chuàng)建顏色直方圖。為了表示每 個24比特顏色,可以相應地位移G和B顏色分量。也就是,根據(jù)值(G〈〈16) + (B〈〈8) + (R)可表示 每個打包的顏色,其中〈〈X是一個左位移運算。 對于有損編碼,調(diào)色板表創(chuàng)建塊103則對經(jīng)直方圖排序的顏色數(shù)據(jù)應用相鄰顏色成組 過程以獲得更緊湊的調(diào)色板表表示。如圖5B所示,根據(jù)預定義顏色允許誤差可以執(zhí)行相鄰 顏色成組過程。可以多級執(zhí)行顏色成組過程。在每級內(nèi),顏色允許誤差等于當前級數(shù),其中 級數(shù)從1增加到預定最大允許誤差。在一些實施例中,最大允許誤差等于9。也可使用更廣義 的QP相關(guān)顏色允許誤差。 在相鄰顏色成組之后,調(diào)色板表創(chuàng)建塊103挑選出現(xiàn)頻率最高的N個打包的顏色。N受顏 色的預定最大數(shù)目(max_num_of_colors)限制。在一些實施例中,max_num_of_colors = 128,即,Nf 128。隨后如圖5C所示,基于每個打包的顏色的值通過按升序?qū)︻伾判騺韺 個選中的顏色重排序。結(jié)果就是調(diào)色板表,例如圖3示出的調(diào)色板表303。調(diào)色板表303的大 小為4種顏色(即,N=4)。在許多實施例中,NM。然而,為了便于說明,在圖3中N選定為4。 當在CU 101中表示的顏色的數(shù)目大于調(diào)色板表303中顏色的數(shù)目N時,出現(xiàn)頻率少的顏 色被排列在調(diào)色板表303之外作為殘余顏色。例如,顏色值49、53、50和51是調(diào)色板表303的 一部分,而顏色值48、52、47、54、55和56為調(diào)色板表303之外的殘余顏色305。 如上所論述,對經(jīng)直方圖排序的顏色數(shù)據(jù)執(zhí)行相鄰顏色成組過程以獲得更緊湊的調(diào)色 板表表示,尤其是對于有損編碼而言。假如直方圖Η有η個顏色,其中每個顏色包含三個分 量,可以通過下面的偽代碼來描述相鄰顏色成組過程。對于有損編碼模式,最大迭代數(shù)Τ等 于顏色允許誤差。
      應該注意的是,這種用于導出調(diào)色板表303的過程不僅可應用于當前⑶,而且還可應用 于相鄰CU重建的像素以進行調(diào)色板共用過程。 再次轉(zhuǎn)向圖1,基于所導出的調(diào)色板表303,顏色分類器塊105使用⑶101將⑶101的顏 色或像素值分配到顏色索引圖311和一個或多個預測殘余圖313中。也就是,顏色分類器塊 105將調(diào)色板表303中的每個顏色分配給調(diào)色板表303內(nèi)的顏色索引。例如,如圖3中的307所 指示,顏色49分配有顏色索引0(C 〇l〇rIdX = 0),顏色53分配有顏色索引1,顏色50分配有顏 色索引2,以及顏色51分配有顏色索引3(C〇lorId X = 3)。一旦調(diào)色板表303中的顏色分配有 索引,則通過每個顏色的索引可以從⑶101生成顏色索引圖311。同樣地,調(diào)色板表303之外 的每個殘余顏色305分配有預測殘余值,如309所指示。一旦殘余顏色305分配有預測殘余 值,則可從⑶101生成預測殘余圖313。 調(diào)色板表(或顏色表)編碼 對于每個⑶101,發(fā)射器100可以從當前⑶1〇1(稱為顯式調(diào)色板表傳輸)導出調(diào)色板 表303,或者發(fā)射器100可以從當前⑶101的左側(cè)或上部鄰居導出調(diào)色板表303(稱為隱式調(diào) 色板表傳輸)。當調(diào)色板表303是從相鄰CU導出時,調(diào)色板表本身不需要包含在比特流中。相 反,比特流中攜帶兩個二進制位(一個用于共享標志,另一個用于共享方向)以通知解碼器 調(diào)色板表傳輸方法。這種隱式調(diào)色板表傳輸方法在本發(fā)明中稱為調(diào)色板共享。 表編碼塊107接收調(diào)色板303并對調(diào)色板表303中的項編碼。對于顯式調(diào)色板表傳輸方 法,表編碼塊107采用表間調(diào)色板填充技術(shù)或差分顏色編碼技術(shù)(也稱為表內(nèi)顏色差值脈沖 編碼調(diào)制(differential pulse code modulation,DPCM))依次為所有三個顏色分量對調(diào) 色板表303中的每項編碼。在當前表303和參考表(也稱為調(diào)色板預測器)之間執(zhí)行表間調(diào)色 板(顏色)填充技術(shù),而在當前表303內(nèi)執(zhí)行表內(nèi)顏色編碼技術(shù)。假如逐項執(zhí)行填充,在一些 實施例中,存在與每個調(diào)色板項關(guān)聯(lián)的另一標志,指示是否重用前一調(diào)色板預測器中的顏 色。 表間調(diào)色板填充 即使在沒有使用調(diào)色板表共享方法時,仍然可能存在調(diào)色板表303與調(diào)色板預測器之 間共用的顏色。因此,采用逐項表間調(diào)色板填充技術(shù)還可以提高編碼效率。這里,調(diào)色板預 測器從諸如左側(cè)鄰近CU或上部鄰近CU等相鄰塊導出。圖6示出了根據(jù)本發(fā)明的可以利用表 間調(diào)色板填充技術(shù)的調(diào)色板預測器601和當前調(diào)色板表603。當前調(diào)色板表603可表示圖3的 調(diào)色板表303。可以從當前⑶的左側(cè)鄰近⑶中構(gòu)建調(diào)色板預測器601。在解碼器側(cè),根據(jù)來自 參考鄰居的調(diào)色板預測器601適當更新調(diào)色板。在一些實施例中,可以從重建的相鄰CU或編 碼樹單元(coding tree unit,CTU)或者從片級或序列級的全局表推斷調(diào)色板預測器。如在 本領(lǐng)域所知,一個片包括圖像中的多個CU。一個圖像可包括一個或多個片。一個序列包括多 個片。 假使c(i)和r(j)分別表示當前調(diào)色板表603的第i個項和調(diào)色板預測器601中的第j個 項。還應該注意的是,每項包含三個顏色分量(GBR、YCbCr,等等)。對于每個顏色項c (i),i蘭 N,在當前表603中,表編碼塊107從調(diào)色板預測器601中找到完全匹配r(j)。斷然對c(i)、j編 碼,而不是標識。將預測器確定為大于先前重建的j并滿足r(k)[0]2c(i-l)[0]的最小索引 k。預測差值(j_k)在比特流中標識。由于差值(j-k)為非負,所以不需要符號比特。 值得注意的是,如本領(lǐng)域所知,可以使用上下文自適應模式或旁路模式對(j_k)編碼。 通常情況下,上下文自適應模式是為了高效率目的,而旁路模式是為了高通量和低復雜性 需求。在本發(fā)明的一些實施例中,可以使用兩種上下文自適應模式通過動態(tài)截斷一元二值 化方案對索引預測差值(j-k)編碼。 表內(nèi)顏色DPCM 如果在調(diào)色板預測器601中沒有找到當前調(diào)色板表603中第i個項的匹配,則從前一項 (第(i-Ι)個項)減去第i個項的值,并且針對每個分量使用顏色DPCM對絕對差值(|d(i) | )編 碼。一般而言,將產(chǎn)生用于絕對預測差值和一個符號比特的少數(shù)比特,并使用表內(nèi)顏色DPCM 對它們編碼。上下文自適應模式或旁路模式可以用于對絕對預測差值和相關(guān)符號比特編 碼,如本領(lǐng)域所知。另外,可以隱藏符號比特,或者在一些情況下不對其編碼。例如,假使當 前調(diào)色板表603已經(jīng)以升序排序,Y(或者G)分量差值根本不需要符號比特。同樣地,如果對 應的Y(或者G)差值為0,則Cb(或者B)分量差值不需要符號比特。此外,如果Y(或者G)和Cb (或者B)差值都為0,則Cr(或者R)分量差值不需要符號比特。又例如,如果絕對差值為0,可 以隱藏符號比特。再例如,如果滿足以下邊界條件,則可以隱藏符號比特。c[i-l]-|d(i)|〈0 或者c[i_l]+|d(i) |>255。 對于當前表603的第一項c(0),如果沒有使用表間調(diào)色板填充技術(shù),則可以使用固定8 比特旁路上下文模式對c(〇)的每個分量編碼。另外或可替代地,可以使用自適應上下文模 式對其編碼以進一步提尚性能。 為了更好地說明表間調(diào)色板填充和表內(nèi)顏色DPCM技術(shù),現(xiàn)將描述一個在當前調(diào)色板表 603中使用數(shù)據(jù)的示例。 從當前調(diào)色板表603的第一項c(0)開始,即(64,1〇 = (0,0,192),可以看到(3(0)在調(diào)色 板預測器601中沒有匹配,因此單獨對c(0)編碼。當前調(diào)色板表603中的第二項c(l)(G,B,R) =(0,0,240)在調(diào)色板預測器601中也沒有匹配。假使已經(jīng)對第一項c(0)編碼,只有c(l)和c (0)之間的預測差值應該攜帶在比特流中,即(0,0,240)-(0,0,192) = (0,0,48)。對于當前 表603中的第三項c(2),在調(diào)色板預測器601中識別出精確匹配,其中j = l。使用先前已編碼 顏色項的預測索引為0,因此,只有(1-0) = 1需編碼。應用這些編碼技術(shù),直到對當前表603 中的最后一項(即圖6中的idx=12)編碼。表1提供了如何使用可用的調(diào)色板預測器601對當 前表603應用表間共享和表內(nèi)DPCM的逐步說明。 表1:圖6中的示例性表的編碼方法
      下面的偽代碼可以總結(jié)調(diào)色板表603的編碼。
      索引圖編碼 索引圖編碼塊109對由顏色分類器塊105創(chuàng)建的顏色索引圖311編碼。為了對顏色索引 圖311編碼,索引圖編碼塊109執(zhí)行至少一個掃描操作(水平掃描315或垂直掃描317)以將二 維(two-dimensional,2D)顏色索引圖311轉(zhuǎn)換為一維(one-dimensional,1D)字符串。然后, 索引圖編碼塊109執(zhí)行(下文所述的)字符串匹配算法以生成多個匹配。在一些實施例中,索 引圖編碼塊109執(zhí)行單獨的水平和垂直掃描操作并執(zhí)行字符串匹配算法以確定哪種提供最 佳結(jié)果。圖7示出了水平和垂直掃描操作的示例。在圖7中,示出了示例2D顏色索引圖701。顏 色索引圖701可以表示圖3的顏色索引圖311。顏色索引圖701為8X8的圖,但是其它大小的 顏色索引圖也是可能的。如圖7所示,可以對顏色索引圖701進行水平掃描702或垂直掃描 703〇 對于每個(水平或垂直的)掃描操作,還可以執(zhí)行2D塊匹配算法以生成多個匹配塊,如 下所述。通過1D字符串匹配算法和2D塊匹配算法的組合,索引圖編碼塊109執(zhí)行混合1D和2D 顏色索引圖編碼過程。 在混合編碼過程中,先前處理的索引可以用作連續(xù)索引搜索的參考。多個CTU(例如3個 CTU)至當前CTU的左側(cè)可以用作2D塊匹配算法的參考區(qū)域。 可為當前顏色索引圖311執(zhí)行1D和2D匹配算法以確定字符串匹配或塊匹配319。對于1D 匹配結(jié)果,索引圖編碼塊109記錄匹配長度和對應距離或位置。對于2D匹配結(jié)果,索引圖編 碼塊109記錄匹配塊寬度和高度、對應參考CTU索引和參考索引在CTU的位置。 如果索引地圖編碼塊109無法在先前處理的索引值中找到當前索引值的匹配,則通過 使用匹配/不匹配標志(設為指示不匹配像素)和索引值自身將當前索引值編碼為非匹配索 引值。在一些實施例中,匹配/不匹配標志為1比特標志。 例如,圖8示出了使用圖7的顏色索引圖701的混合1D和2D顏色索引圖編碼過程的示例 操作。顏色索引圖701中的第一索引圖值801為14。假設在參考索引圖中沒有為第一索引圖 值801找到匹配(例如,相鄰顏色索引圖中沒有14),那么第一索引圖值801被編碼為不匹配。 假設是水平掃描過程,第二索引圖值802也為14。第一索引圖值801有匹配,其現(xiàn)在可以是對 第二索引圖值802的參考。繼續(xù)水平掃描,可以看到,第二索引圖值802的右邊發(fā)現(xiàn)另一 14。 第一索引圖值801之后不存在連續(xù)的14。因此,索引圖值的字符串803表示第一索引圖值801 的1D匹配字符串。 對于每個索引圖值,還執(zhí)行2D塊搜索。例如,對于二維2 X 2索引圖塊811 (其包括值14、 17、17、17),由于二維2X2索引圖塊811還包括值14、17、17、17,所以在塊810處找到索引圖 塊811的2D塊匹配??商鎿Q地,2D塊匹配的寬度和高度可以固定到當前CU的寬度和高度。 顏色索引圖701中的每個索引圖值繼續(xù)進行1D和2D搜索過程。每個索引圖值為非匹配 或一部分字符串匹配或塊匹配。例如,寬度為4、高度為2的2D塊806在圖8示出。2D塊811與索 引圖塊810匹配。 如果索引圖編碼塊109選擇1D匹配字符串作為其對于當前索引值的搜索結(jié)果,則通過 將匹配/不匹配標志設置為指示匹配像素、將匹配類型標志設為1D以及提供連續(xù)匹配索引 的距離(例如,當前索引值的位置與匹配字符串的位置之間的偏差)和長度來執(zhí)行編碼。如 果當前索引值存在多個1D匹配,則索引圖編碼塊109選擇提供最佳率失真(rate-dist 〇rti〇n,R-D)性能的匹配。為了降低復雜性,一些實施例使用啟發(fā)式算法來選擇匹配長 度最長的匹配。 如果索引圖編碼塊109選擇2D匹配塊作為其對于當前索引值的搜索結(jié)果,則通過將匹 配/不匹配標志設置為指示匹配像素、將匹配類型標志設為2D以及提供參考CTU索引和匹配 塊的距離(參考CTU中的匹配位置的地址)和寬度和高度執(zhí)行編碼。如果當前索引值存在多 個2D匹配,則索引圖編碼塊109選擇提供最佳R-D性能的匹配塊。為了降低復雜性,一些實施 例使用啟發(fā)式算法來選擇匹配區(qū)域最大的塊。 在一些實施例中,在混合1D和2D顏色索引圖編碼過程中引入編碼圖。例如,圖9示出了 示例已編碼圖900。已編碼圖900對應于顏色索引圖,諸如顏色索引圖701。每當在混合1D和 2D顏色索引圖編碼過程期間找到匹配,由1D字符串匹配或2D塊匹配表示的區(qū)域被標記為在 已編碼圖900中已編碼。例如,在已編碼圖900中,區(qū)域901為包括1D字符串匹配和2D塊匹配 的已編碼區(qū)域。區(qū)域902為還沒有編碼的未編碼區(qū)域。在完成當前索引的編碼之后,索引圖 編碼塊109掃描已編碼圖900以找到第一未編碼位置為待處理的下一索引。在一些實施例 中,該位置可標識為curldx,如圖9所示。在混合1D/2D搜索中,如果當前字符串中的任一位 置已經(jīng)在前面的2D搜索中編碼,該位置的匹配結(jié)果被當作一個匹配,即使當前位置和參考 位置之間的索引值可能不同。 再次轉(zhuǎn)向圖1,殘余編碼塊111對由顏色分類器塊105創(chuàng)建的預測殘余圖313編碼。在一 些實施例中,殘余編碼塊111執(zhí)行自適應固定長度或可變長度的殘余二值化,如圖3的321所 指示。這時,復用(multiplexing,MUX)塊113使用字符串/塊匹配319和已編碼預測殘余321 生成壓縮比特率。在一些實施例中,基于上下文的自適應二進制算術(shù)編碼(con text adaptive binary arithmetic coding,CABAC)方法323可以用來組合字符串/塊匹配319和 已編碼預測殘余321,如圖3所示。 轉(zhuǎn)向圖2,接收器200用于執(zhí)行如上所述的類似于發(fā)射器100執(zhí)行的屏幕內(nèi)容編碼過程 的屏幕內(nèi)容解碼過程。接收器200接收壓縮視頻比特流,然后使用解復用器201將比特流解 析為已編碼調(diào)色板表、顏色索引圖和已編碼預測殘差。表解碼塊203和調(diào)色板表創(chuàng)建塊209 執(zhí)行與表編碼塊107和調(diào)色板表創(chuàng)建塊103相反的過程以重建每個CU的完整調(diào)色板表。類似 地,索引圖解碼塊205和殘差解碼塊207執(zhí)行與索引圖編碼塊109和殘差編碼塊111相反的過 程以重建顏色索引圖。顏色解分類器塊211通過組合顏色索引圖和調(diào)色板表導出每個位置 的像素值,從而重建CTU或⑶213。 盡管圖1和圖2示出了執(zhí)行屏幕內(nèi)容編碼和解碼的發(fā)射器100和接收器200的示例,但是 可對圖1和圖2進行各種更改。例如,圖1和圖2中的各種部件可以組合、進一步細分或者省 略,而且根據(jù)特定需要可以添加額外部件。作為特定的示例,可以在一個外殼內(nèi)或在一個電 路板上排列各種部件,或者由單個處理器或處理單元執(zhí)行各種部件。 下面的兩個偽代碼示出了上面所述的混合1D和2D字符串搜索方法。 在下面的1D搜索偽代碼中,curldx為待編碼字符串的起始地址,ref Idx表示參考字符 串的所有可能起始地址。對于每個給定的curldx和ref Idex,處理塊執(zhí)行改進的內(nèi)存對比操 作以找到第一不匹配值。然后對比所有匹配長度并將最長匹配長度(len,rendX)記錄為位 置curldx的1D搜索的入選者。當前1D搜索字符串中的某個位置已經(jīng)通過2D搜索編碼也是可 能的。在這種情況下,該位置被視為匹配,不管它的值是多少。不匹配只發(fā)生在沒有對位置 編碼以及其ColorMap值不等于參考字符串中對應位置的ColorMap值時。
      在下面的2D搜索偽代碼中,curldx為待編碼塊的左上角,ref Idx表示參考塊的所有可 能左上角。例如,如圖11所示,curldx指示當前顏色索引圖1004的待編碼塊1002的左上角, 而ref Idx指示參考顏色索引圖1008中參考塊1006等參考塊的左上角。處理塊計算當前顏色 索引圖1004中的最大搜索窗口并將窗口的寬度和高度保存在變量cwO和chO中。其還計算參 考顏色索引圖1008中的最大搜索窗口并將寬度和高度保存在變量rwO和rhO中。最終搜索窗 口由 minw=min(rwO,cwO)和 minh=min(rhO,chO)定義,如圖 11所;^:。 于每個給定的curldx和ref Idx,搜索過程執(zhí)行改進的內(nèi)存對比操作以在搜索窗口 (minW,minh)的每行內(nèi)找到第一未匹配值。然后對比任一高度的所有匹配大小并將最大匹 配大小(參考CTU的寬度、高度和索引)記錄為"入選者"(即,位置curldx的2D搜索的最有利 匹配)。 當前2D搜索窗口中的某個區(qū)域已經(jīng)通過前一2D搜索編碼也是可能的^在這種情況下, 該位置被視為一個匹配,不管它的值是多少。參考2D搜索窗口中的某個區(qū)域還未編碼也是 可能的。在這種情況下,該位置被視為未匹配,不管其值為多少。不匹配只發(fā)生在該位置未 編碼以及參考搜索窗口中的該位置未編碼,或者其在當前顏色索引圖1004中的值不等于參 考字符串中對應位置的顏色圖值。 //2D search Int max2DSize = l; Int max2Dffidth= 1 ; Int max2DHeight = 1 ; Int d2Dist = -l ; Int d2Lcu = -l ; pcRefCU = pcCU; for(Int n = 0;n〈4;++n){ for(Int ry = 0;ry<uiRefHeight[n] ;++ry) { for(Int rx = 0;rx<uiRefffidth[n] ;++rx) { ref Idx = rx+ry*uiRefWidth[n]; Int cwO = uiffidth-curIdx%uiffidth; Int chO = uiHeight-curIdx/uiffidth; Int rwO = uiRefffidth[n]-rx; Int rhO = uiRefHeight[n]-ry; Int minw=(rw0<cw0)?rw0:cw0; Int minh=(rh0<ch0)?rh0:ch0; Int d2ffidth=MAX_INT; Int d2Size = 0; Int x = 0; for(Int y = 0;y<minh;++y){ f or(x = 0;x<minw;++x) if (n= =0) { if((pbCodedMaptcurldx+x+y^uiffidth]= =0)&& ((CurColorMaptcurldx+x+y^uiffidth]!= CurColorMap[refIdx+x+y^uiffidth])|| (pbCodedMap[refIdx+x+y^uiffidth]= =0))) break; }else{ if((pbCodedMaptcurldx+x+y^uiffidth]= =0)&& (CurColorMaptcurldx+x+y^uiffidth]!= RefColorMap[n][refIdx+x+y^uiRefffidthtn]])) break; } d2ffidth= (d2ffidth<x)?d2ffidth: x; d2Size = d2Width*(y+l); minw = d2ffidth; if(d2Size>max2DSize){ max2DSize = d2Size ; max2Dffidth = d2ffidth; max2DHeight = y+l ; d2Dist = ref Idx; d2Lcu = n; } } } } if ((pcRefCU = pcRefCU->getCULeft()) = =NULL) break; } 在完成對ID字符串匹配和2D區(qū)域匹配的搜索之后,如果ID maxLen大于2D max2Dsize, 或者2D區(qū)域小于閾值區(qū)域(當前在偽代碼中設為4X4,但是其它區(qū)域也是可能的),那么ID 結(jié)果用于cur Idx 否則,2D結(jié)果用于cur Idx 更新已編碼圖900, cur Idx前進到下一位置。
      由于混合1D/2D搜索的本質(zhì),下一curldx位置可能已經(jīng)通過前面的2D搜索編碼過了。因 此,在已編碼圖900中執(zhí)行柵格掃描以找到還未編碼為新curldx的第一位置,諸如具有下文 所示的偽代碼。 while((curIdx<uiTotal)&&(pbCodedMap[curIdx]!=0)) ++curldx; 為了對ID字符串匹配的長度編碼,比特流語法使用調(diào)整后的長度而不是maxLen來對ID 結(jié)果編碼。假使maxLen中的一些位置已經(jīng)在前一 D2搜索期間編碼,從maxLen移除這些位置, 并且將調(diào)整后的長度寫入比特流。如果調(diào)整后的長度等于1,那么該匹配被視為不匹配數(shù) 據(jù)。 為了對2D塊的寬度和高度編碼,比特流語法使用長度而不是寬度/高度對2D結(jié)果編碼。 這里的長度定義為由(minw,minh)定義的搜索窗口中匹配窗口的右下角的柵格位置。進一 步將其修改為反映搜索窗口和匹配窗口的寬度和高度都大于閾值窗口的事實??梢允褂孟?面的偽代碼。 ui2DSize=(pLen[uiIdx]-MIN_2D_WIDTH)+(p2DHeight[uiIdx]- MIN_2D_HEIGHT)*(l+minw-MIN_2D_WIDTH); 解碼器可以執(zhí)行相同的已編碼圖操作以在接收器200中進行正確處理。
      [0076]在一些實施例中,下面的額外內(nèi)容需求可應用于執(zhí)行上面所述的編碼或解碼操作 的發(fā)射器100或接收器200。
      在一些實施例中,混合1D和2D搜索使用將近80KB的額外內(nèi)存(例如,對于20個CTU)。 在一些實施例中,8比特CRC哈希可以用來增加編碼速度。當然,還可以使用其它類型的 哈希函數(shù)。對于1D搜索,為每個顏色圖索引計算2點哈希,并且使用計算的哈希值格式化哈 希詞典數(shù)組。對于2D搜索,為每個顏色圖索引計算4X4塊哈希,并且使用計算的哈希值格式 化哈希數(shù)組和哈希詞典數(shù)組。 改進的距離和長度編碼 取代直接對距離和長度對編碼,可以基于距離和長度對的分布使用下面的編碼方法。 對于距離編碼,可以使用1比特標志指示距離是否為有效距離。如果不是有效距離,上面公 開的距離編碼方法可采用(距離-2)。如果是有效距離,可以使用額外的1比特標志(例如 dist_equal_one_flag)來指示有效距離是否為1或者為當前⑶的寬度。在一些實施例中,如 果(1丨81:_691^1_0116_;1^138為真,該距離=1。如果(1丨81:_69仙1_0116_;1^138為假,該距離= cuWidth。在這里,距離=cuWidth表明來自上一行的索引復制。其還稱為CopyAbove模式。距 離=1表明來自左側(cè)索引的索引復制。其還稱為IndexMode。 對于長度編碼,可以使用1比特標志指示當前長度是否為有效長度。如果不是有效長 度,上面公開的長度編碼方法可采用(長度-cuWidth)。如果不是有效長度,可以使用固定二 值化方法來對(長度-1)編碼。在一些實施例中,距離二值化中的比特數(shù)為l〇g2(cuWidth)。 解碼器語法 根據(jù)本發(fā)明的下面解碼器符合HEVC RExt的當前委員會草案。 序列參數(shù)集RBSP語法
      在某些實施例中,一個或多個所述設備的部分或全部功能或流程由計算機可讀程序代 碼構(gòu)成的且內(nèi)嵌于計算機可讀介質(zhì)中的計算機程序來實現(xiàn)或提供支持。術(shù)語計算機可讀程 序代碼摂包括任意類型的計算機代碼,包括源代碼、目標代碼以及可執(zhí)行代碼。術(shù)語計算機 可讀介質(zhì)摂包括任何類型的可以被計算機訪問的非易失性介質(zhì),比如,只讀存儲器(ROM)、 隨機存取存儲器(RAM)、硬盤驅(qū)動器、光盤(CD)、數(shù)字化視頻光盤(DVD)或者任何其他類型的 存儲器。 為本專利文檔中使用的特定術(shù)語和短語進行定義是有幫助的。術(shù)語"包括"和"包含"以 及它們的派生詞表示沒有限制的包括。術(shù)語"或者"是包容性的,意為和/或。短語"與……關(guān) 聯(lián)"和"與其關(guān)聯(lián)"以及其派生的短語意味著包括,被包括在內(nèi)、與……互連、包含、被包含在 內(nèi)、連接到或與……連接、耦合到或與……耦合、可與……通信、與……配合、交織、并列、接 近、被綁定到或與……綁定、具有、具有……屬性,等等。 雖然本發(fā)明就某些實施例和一般相關(guān)方法方面進行了描述,但是對本領(lǐng)域技術(shù)人員而 言,對實施例和方法的各種更改和變更將是顯而易見的。因此,示例實施例的上述描述不限 定或約束本發(fā)明。正如以下權(quán)利要求定義,其它修改、替代以及變更也是可能的,而不偏離 本發(fā)明的精神和范圍。
      【主權(quán)項】
      1. 一種用于屏幕內(nèi)容編碼的方法,其特征在于,所述方法包括: 基于編碼單元(coding unit,⑶)導出調(diào)色板表和顏色索引圖; 對所述調(diào)色板編碼; 對所述顏色索引圖編碼;以及 將所述已編碼調(diào)色板和所述已編碼顏色索引圖組合以向接收器傳輸。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,導出所述調(diào)色板表包括從所述CU中顯式地 導出所述調(diào)色板表或者使用所述CU的上層或左側(cè)鄰居隱式地導出所述調(diào)色板表。3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,對所述調(diào)色板表編碼包括使用表間調(diào)色板 填充過程對所述調(diào)色板表中的至少一個第一項編碼以及使用表內(nèi)顏色DPCM過程對所述調(diào) 色板表中的至少一個第二項編碼。4. 根據(jù)權(quán)利要求3所述的方法,其特征在于,在所述表間調(diào)色板填充過程中,基于從一 個鄰近⑶或多個鄰近⑶導出的調(diào)色板預測器中的匹配項對所述調(diào)色板表中的所述至少一 個第一項編碼。5. 根據(jù)權(quán)利要求4所述的方法,其特征在于,配置所述調(diào)色板預測器將在片級或序列級 處編碼。6. 根據(jù)權(quán)利要求3所述的方法,其特征在于,在所述表內(nèi)DPCM過程中,所述調(diào)色板表中 的所述至少一個第二項被編碼為所述至少一個第二項與所述調(diào)色板表中的前面已編碼項 之間的差值。7. 根據(jù)權(quán)利要求1所述的方法,其特征在于,對所述顏色索引圖編碼包括使用混合一維 (one-dimensional,1D)和二維(two-dimensional,2D)顏色索引圖編碼過程,其中,對于所 述顏色索引圖中的每個索引值,確定所述索引值的位置處是否存在1D字符串匹配或2D塊匹 配。8. 根據(jù)權(quán)利要求7所述的方法,其特征在于,當所述索引值存在1D字符串匹配,將所述 1D字符串匹配編碼為匹配長度和距離或位置。9. 根據(jù)權(quán)利要求8所述的方法,其特征在于: 當所述距離等于1,所述編碼被處理為IndexMode模式;以及 當所述距離等于⑶寬度,所述編碼被處理為CopyAbove模式。10. 根據(jù)權(quán)利要求7所述的方法,其特征在于,當所述索引值存在2D塊匹配,將所述2D塊 匹配編碼為匹配塊寬度和高度、對應的參考CTU索引以及所述參考索引的位置。11. 根據(jù)權(quán)利要求7所述的方法,其特征在于,當所述索引值存在2D塊匹配時,將所述2D 塊匹配的所述寬度和高度固定到所述CU的所述寬度和高度。12. 根據(jù)權(quán)利要求7所述的方法,其特征在于,當所述索引值既不存在1D字符串匹配也 不存在2D塊匹配時,將所述索引值編碼為不匹配索引值。13. -種用于屏幕內(nèi)容編碼的裝置,其特征在于,所述裝置包括: 至少一個存儲器;以及 耦合到所述至少一個存儲器的至少一個處理器,所述至少一個處理器用于: 基于編碼單元(coding unit,⑶)導出調(diào)色板表和顏色索引圖; 對所述調(diào)色板表編碼; 對所述顏色索引圖編碼;以及 將所述已編碼調(diào)色板表和所述已編碼顏色索引圖組合以向接收器傳輸。14. 根據(jù)權(quán)利要求13所述的裝置,其特征在于,導出所述調(diào)色板表包括從所述CU中顯式 地導出所述調(diào)色板表或者使用所述CU的上層或左側(cè)鄰居隱式地導出所述調(diào)色板表。15. 根據(jù)權(quán)利要求13所述的裝置,其特征在于,對所述調(diào)色板表編碼包括使用表間調(diào)色 板填充過程對所述調(diào)色板表中的至少一個第一項編碼以及使用表內(nèi)顏色DPCM過程對所述 調(diào)色板表中的至少一個第二項編碼。16. 根據(jù)權(quán)利要求15所述的裝置,其特征在于,在所述表間調(diào)色板填充過程中,基于從 一個鄰近⑶或多個鄰近⑶導出的調(diào)色板預測器中的匹配項對所述調(diào)色板表中的所述至少 一個第一項編碼。17. 根據(jù)權(quán)利要求16所述的裝置,其特征在于,配置所述調(diào)色板預測器將在片級或序列 級處編碼。18. 根據(jù)權(quán)利要求15所述的裝置,其特征在于,在所述表內(nèi)DPCM過程中,所述調(diào)色板表 中的所述至少一個第二項被編碼為所述至少一個第二項與所述調(diào)色板表中的前面已編碼 項之間的差值。19. 根據(jù)權(quán)利要求13所述的裝置,其特征在于,對所述顏色索引圖編碼包括使用混合一 維(one-dimensional,1D)和二維(two-dimensional,2D)顏色索引圖編碼過程,其中,對于 所述顏色索引圖中的每個索引值,確定所述索引值的位置處是否存在1D字符串匹配或2D塊 匹配。20. 根據(jù)權(quán)利要求19所述的裝置,其特征在于,當所述索引值存在1D字符串匹配,將所 述1D字符串匹配編碼為匹配長度和距離或位置。21. 根據(jù)權(quán)利要求20所述的裝置,其特征在于: 當所述距離等于1,所述編碼被處理為IndexMode模式;以及 當所述距離等于⑶寬度,所述編碼被處理為CopyAbove模式。22. 根據(jù)權(quán)利要求19所述的裝置,其特征在于,當所述索引值存在2D塊匹配,將所述2D 塊匹配編碼為匹配塊寬度和高度、對應的參考CTU索引以及所述參考索引的位置。23. 根據(jù)權(quán)利要求19所述的裝置,其特征在于,當所述索引值存在2D塊匹配時,將所述 2D塊匹配的所述寬度和高度固定到所述CU的所述寬度和高度。24. 根據(jù)權(quán)利要求19所述的裝置,其特征在于,當所述索引值既不存在1D字符串匹配也 不存在2D塊匹配時,將所述索引值編碼為不匹配索引值。
      【文檔編號】G06T1/00GK106030651SQ201580009874
      【公開日】2016年10月12日
      【申請日】2015年3月20日
      【發(fā)明人】馬展, 徐猛, 王煒, 王顯, 于浩平
      【申請人】華為技術(shù)有限公司