一種圖像編碼及解碼方法、圖像處理設備與流程
2023-06-13 21:39:36

本發明涉及數字視頻編碼及解碼技術,尤其涉及一種圖像編碼及解碼方法、圖像處理設備。
背景技術:
隨著電視機和顯示器進入超高清(4K)和特超高清(8K)的解析度,以及以遠程桌面為典型表現形式的新一代雲計算與信息處理模式及平臺的發展和普及,對視頻圖像數據壓縮的需求也走向更高解析度和包含攝像機攝取圖像和計算機屏幕圖像的複合圖像。對視頻圖像進行超高壓縮比和極高質量的數據壓縮成為必不可少的技術。
充分利用4K/8K圖像和計算機屏幕圖像的特點,對視頻圖像進行超高效率的壓縮(HEVC,High Efficiency Video Coding),也是正在制定中的最新國際視頻壓縮標準和其他若干國際標準、國內標準、行業標準的一個主要目標。
計算機屏幕圖像的一個顯著特點是同一幀圖像內通常會有很多相似甚至完全相同的像素圖樣(pi×el pattern)。例如,計算機屏幕圖像中常出現的中文或外文文字,都是由少數幾種基本筆劃所構成,同一幀圖像內可以找到很多相似或相同的筆劃。計算機屏幕圖像中常見的菜單、圖標等,也具有很多相似或相同的圖樣。因此,現有的圖像和視頻壓縮技術中通常採用各種複製方式,至少包括下列複製方式:
1)幀內塊複製即幀內塊匹配或稱幀內運動補償或稱塊匹配或稱塊複製。
2)幀內微塊複製即幀內微塊匹配或稱微塊匹配或稱微塊複製。
3)幀內線條(簡稱條)複製即幀內條匹配或稱條匹配或稱條複製。
4)幀內串複製即幀內串匹配或稱串匹配或稱串複製或稱像素串複製。
5)調色板索引串複製即調色板或稱索引串複製。
6)索引串複製與像素串複製混合的融合複製方式,簡稱索引-像素串融合複製方式,也稱調色板-像素串融合複製方式或融合像素串複製的調色板方式或融合調色板的像素串複製方式或調色板與像素串複製方式。
7)結合多種調色板與像素串複製方式的多重調色板與像素串複製方式。
在多像素段複製方式,如微塊複製方式、條複製方式、像素串複製方式、調色板與像素串複製方式中,編解碼塊被分成多個像素段,每個像素段有一個複製參數,一個複製參數又由多種複製參數組成。在多像素段複製方式中,對複製參數按照對應的像素段在編解碼塊中的位置的前後順序依次以一個複製參數為單位進行熵編碼或熵解碼並存在於視頻碼流。由於一個複製參數即有使用上下文模型(簡稱CM)進行熵編碼的二元碼(簡稱bit或bin)部分,又有未使用CM進行熵編碼的二元碼部分,以一個複製參數為單位對一個一個複製參數依次進行熵編碼就會導致交織地對複製參數的使用CM的bin部分和未使用CM的bin部分進行熵編碼。這種交織的做法嚴重影響了對複製參數的多比特位並行熵編碼和熵解碼處理,降低了熵編碼和熵解碼的吞吐量。
技術實現要素:
為解決上述技術問題,本發明實施例提供了一種圖像編碼及解碼方法、圖像處理設備。
本發明實施例提供圖像編碼方法,包括:
對當前編碼塊的多個複製參數進行調整處理;
對所述複製參數按照所述調整處理後順序進行熵編碼,生成包括多個複製參數的信息的視頻碼流;
其中,所述多個複製參數包括一種或多種類型的複製參數分量。
本發明實施例中,所述編碼塊是圖像的編碼區域,所述編碼塊包括以下至少一種:最大編碼單元(LCU)、編碼樹單元(CTU)、編碼單元(CU)、CU的子區域、預測單元(PU)、變換單元(TU)。
本發明實施例中,所述對當前編碼塊的多個複製參數進行調整處理,包括:
將所述複製參數按照預定規則分割成N個子部分,N≥2;
將所述複製參數的同一子部分歸類合併後,重新排序依次進行熵編碼;
其中,所述複製參數的所述N個子部分中的子部分為空或非空。
本發明實施例中,所述對當前編碼塊的多個複製參數進行調整處理,還包括:
將所述複製參數分割成使用上下文模型(CM)的二元碼(bin)部分和未使用CM的bin部分。
本發明實施例中,所述編碼塊使用的複製方式為融合調色板的像素串複製方式;
將各個複製參數所包括的下列一種或多種複製參數分量分割成使用CM的bin部分和未使用CM的bin部分:
像素段的類型、像素段的複製位置分量1、像素段的複製位置分量2、像素段的複製位置分量3、像素段的複製長度。
本發明實施例中,所述編碼塊使用的複製方式為融合調色板的像素串複製方式;
將所述複製參數分割成使用CM的bin部分和未使用CM的bin部分時,所述使用CM的bin部分包括以下一個或多個bin:
像素段的類型t;其中,t取第一值時表示參考像素來自調色板,t取第二值時表示參考像素不是來自調色板;
像素段的ABOVE複製位置a;其中,當t表示參考像素不是來自調色板時所述a存在;a取第三值時表示參考像素位於ABOVE位置,a取第四值時表示參考像素不是位於ABOVE位置;
像素段的位移矢量水平分量x0;其中,當a表示參考像素不是位於ABOVE位置時所述x0存在;x0取第五值時表示位移矢量水平分量為零,x0取第六值時表示位移矢量水平分量不為零;
像素段的位移矢量垂直分量y0;其中,當a表示參考像素不是位於ABOVE位置時所述y0存在;y0取第七值時表示位移矢量垂直分量為零,y0取第八值時表示位移矢量垂直分量不為零;
像素段的複製長度的二值化表示中的首位二元碼b0。
本發明實施例中,所述方法還包括:
將所述複製參數分割成使用CM的bin部分和未使用CM的bin部分時,將各個複製參數的使用CM的bin部分歸類至一組,將所述複製參數的未使用CM的bin部分歸類至另一組;
其中,進行熵編碼時,依次對所述兩組進行熵編碼。
本發明實施例中,所述方法還包括:
將所述複製參數分割成使用CM的bin部分和未使用CM的bin部分時,在所述使用CM的bin部分中,對同類型的複製參數分量集中進行熵編碼;在所述未使用CM的bin部分中,對同類型的複製參數分量集中進行熵編碼。
本發明實施例中,所述方法還包括:
將所述複製參數分割成使用CM的bin部分和未使用CM的bin部分時,在所述使用CM的bin部分中,對同類型的複製參數分量的複製參數的所有bin集中進行熵編碼;在所述未使用CM的bin部分中,對同類型的複製參數分量的複製參數的所有bin集中進行熵編碼。
本發明實施例提供的圖像解碼方法,包括:
解析解碼塊的包括多個複製參數的信息的視頻碼流;
對所述多個複製參數進行熵解碼,獲得所述多個複製參數的二元碼;
對所述二元碼進行調整操作,得到所述多個複製參數的取值;
其中,所述多個複製參數包括一種或多種類型的複製參數分量。
本發明實施例中,所述解碼塊是圖像的解碼區域,所述解碼塊包括以下至少一種:LCU、CTU、CU、CU的子區域、PU、TU。
本發明實施例中,所述對所述二元碼進行調整操作,得到所述多個複製參數的取值,包括:
將所述二元碼按照預定規則分割成N個子部分,N≥2;
將所述二元碼的子部分中的二元碼進行歸類合併後,映射為所述多個複製參數的恢復值;
其中,所述複製參數的所述N個子部分中的子部分為空或非空。
本發明實施例中,所述方法還包括:
將所述二元碼分割成使用CM進行熵解碼的bin部分和未使用CM進行熵解碼的bin部分;
根據所述複製參數對應的二元碼在熵解碼過程中使用CM的對應表,從所述使用CM進行熵解碼的bin部分和/或未使用CM進行熵解碼的bin部分取對應的bin,組成所述複製參數對應的二元碼;
將所述複製參數對應的二元碼轉換成所述複製參數的取值。
本發明實施例中,所述解碼塊使用的複製方式為融合調色板的像素串複製方式;
下述一種或多種複製參數對應的所述二元碼分割成使用CM的bin部分和未使用CM的bin部分,包括:
像素段的類型、像素段的複製位置分量1、像素段的複製位置分量2、像素段的複製位置分量3、像素段的複製長度。
本發明實施例中,所述解碼塊使用的複製方式為融合調色板的像素串複製方式;
將所述複製參數對應的所述二元碼分割成使用CM的bin部分和未使用CM的bin部分時,所述使用CM的bin部分包括以下一個或多個bin:
像素段的類型t;其中,t取第一值時表示參考像素來自調色板,t取第二值時表示參考像素不是來自調色板;
像素段的ABOVE複製位置a;其中,當t表示參考像素不是來自調色板時所述a存在;a取第三值時表示參考像素位於ABOVE位置,a取第四值時表示參考像素不是位於ABOVE位置;
像素段的位移矢量水平分量x0;其中,當a表示參考像素不是位於ABOVE位置時所述x0存在;x0取第五值時表示位移矢量水平分量為零,x0取第六值時表示位移矢量水平分量不為零;
像素段的位移矢量垂直分量y0;其中,當a表示參考像素不是位於ABOVE位置時所述y0存在;y0取第七值時表示位移矢量垂直分量為零,y0取第八值時表示位移矢量垂直分量不為零;
像素段的複製長度的二值化表示中的首位二元碼b0。
本發明實施例中,所述方法還包括:
將所述複製參數對應的二元碼對應為成使用CM的bin部分和未使用CM的bin部分時,依次對所述複製參數的使用CM的bin部分對應的視頻碼流進行熵解碼、對所述複製參數的未使用CM的bin部分對應的視頻碼流進行熵解碼;
根據所述複製參數對應的二元碼在熵解碼過程中使用CM的對應表,從所述使用CM進行熵解碼的bin部分和/或未使用CM進行熵解碼的bin部分取對應的bin,組成所述複製參數對應的二元碼;
將所述複製參數對應的二元碼轉換成所述複製參數的取值。
本發明實施例中,所述方法還包括:
進行熵解碼時,依次對所述複製參數對應的二元碼中由使用CM的bin部分組成的一組和所述複製參數對應的二元碼中有不使用CM的bin部分組成的另一組進行熵解碼;
所述複製參數對應的二元碼對應為使用CM的bin部分和未使用CM的bin部分時,在所述使用CM的bin部分中,對同類型複製參數分量的二元碼對應的碼流進行熵解碼;在所述未使用CM的bin部分中,對同類型複製參數分量的二元碼對應進行熵解碼;
根據所述複製參數對應的二元碼在熵解碼過程中使用CM的對應表,從所述使用CM進行熵解碼的bin部分和/或未使用CM進行熵解碼的bin部分取對應的bin,組成所述複製參數對應的二元碼;
將所述複製參數對應的二元碼轉換成所述複製參數的取值。
本發明實施例中,所述方法還包括:
所述複製參數對應的二元碼分割成使用CM的bin部分和未使用CM的bin部分時,在所述使用CM的bin部分中,對同類型複製參數分量的複製參數的二元碼對應的視頻碼流進行熵解碼;在所述未使用CM的bin部分中,對同類型複製參數分量的複製參數的二元碼對應的視頻碼流進行熵解碼;
根據所述複製參數對應的二元碼在熵解碼過程中使用CM的對應表,從所述使用CM進行熵解碼的bin部分和/或未使用CM進行熵解碼的bin部分取對應的bin,組成所述複製參數對應的二元碼;
將所述複製參數對應的二元碼轉換成所述複製參數的取值。
本發明實施例提供的圖像處理設備,包括:
重組單元,用於對當前編碼塊的多個複製參數進行調整處理;
熵編碼單元,用於對所述複製參數按照所述調整處理後順序進行熵編碼,生成包括多個複製參數的信息的視頻碼流;
其中,所述多個複製參數包括一種或多種類型的複製參數分量。
本發明另一實施例提供的圖像處理設備,包括:
解析單元,用於解析解碼塊的包括多個複製參數的信息的視頻碼流;
熵解碼單元,用於對所述多個複製參數進行熵解碼,獲得所述多個複製參數的二元碼;對所述二元碼進行調整操作,得到所述多個複製參數的取值;
其中,所述多個複製參數包括一種或多種類型的複製參數分量。
本發明實施例的技術方案中,對圖像編碼包括:對當前編碼塊的多個複製參數進行調整處理;對所述複製參數按照所述調整處理後順序進行熵編碼,生成包括多個複製參數的信息的視頻碼流;其中,所述多個複製參數包括一種或多種類型的複製參數分量。對圖像解碼包括:解析解碼塊的包括多個複製參數的信息的視頻碼流;對所述多個複製參數進行熵解碼,獲得所述多個複製參數的二元碼;對所述二元碼進行調整操作,得到所述多個複製參數的取值;其中,所述多個複製參數包括一種或多種類型的複製參數分量。可見,本發明實施例避免了通過交織的做法而影響對複製參數的多比特位並行熵編碼和熵解碼處理,提高了熵編碼和熵解碼的吞吐量。
附圖說明
在附圖(其不一定是按比例繪製的)中,相似的附圖標記可在不同的視圖中描述相似的部件。具有不同字母後綴的相似附圖標記可表示相似部件的不同示例。附圖以示例而非限制的方式大體示出了本文中所討論的各個實施例。
圖1是本發明實施例中對多個複製參數按照分割歸類重組後順序進行熵編碼並放入碼流的示例圖;
圖2為本發明實施例的圖像編碼方法的流程示意圖一;
圖3為本發明實施例的圖像解碼方法的流程示意圖一;
圖4為本發明實施例的圖像編碼方法的流程示意圖二;
圖5為本發明實施例的圖像解碼方法的流程示意圖二;
圖6為本發明實施例的圖像處理設備的結構組成示意圖一;
圖7為本發明實施例的圖像處理設備的結構組成示意圖二;
圖8為本發明實施例的圖像處理設備的結構組成示意圖三。
具體實施方式
為了能夠更加詳盡地了解本發明實施例的特點與技術內容,下面結合附圖對本發明實施例的實現進行詳細闡述,所附附圖僅供參考說明之用,並非用來限定本發明實施例。
圖像的數字視頻信號的自然形式是圖像的序列。一幀圖像通常是由若干像素組成的矩形區域,而數字視頻信號就是由幾十幀至成千上萬幀圖像組成的視頻圖像序列,有時也簡稱為視頻序列或序列。對數字視頻信號進行編碼就是對一幀一幀圖像進行編碼。在任一時刻,正在編碼中的那一幀圖像稱為當前編碼圖像。同樣,對數字視頻信號的壓縮後的視頻碼流(簡稱碼流也稱為比特流)進行解碼就是對一幀一幀壓縮圖像的碼流進行解碼。在任一時刻,正在解碼中的那一幀圖像稱為當前解碼圖像。當前編碼圖像或當前解碼圖像都統稱為當前圖像。
在幾乎所有視頻圖像編碼的國際標準如MPEG-1/2/4,H.264/AVC以及HEVC中,對一幀圖像進行編碼(以及相應的解碼)時,把一幀圖像劃分成若干塊M×M像素的子圖像,稱為編碼塊(從解碼的角度也就是解碼塊,統稱為編解碼塊)或編碼單元(CU,Coding Unit),以CU為基本編碼單位,對子圖像一塊一塊進行編碼。常用的M的大小是4,8,16,32,64。因此,對視頻圖像序列進行編碼就是對各幀圖像的各個編碼單元即CU依次一個一個CU進行編碼。在任一時刻,正在編碼中的CU稱為當前編碼CU。同樣,對視頻圖像序列的碼流進行解碼也是對各幀圖像的各個CU依次一個一個CU進行解碼,最終重構出整個視頻圖像序列。在任一時刻,正在解碼中的CU稱為當前解碼CU。當前編碼CU或當前解碼CU統稱為當前CU。
為適應一幀圖像內各部分圖像內容與性質的不同,有針對性地進行最有效的編碼,一幀圖像內各CU的大小可以是不同的,有的是8×8,有的是64×64,等等。為了使不同大小的CU能夠無縫拼接起來,一幀圖像通常先劃分成大小完全相同具有N×N像素的最大編碼單元(LCU,Largest Coding Unit),然後每個LCU再進一步劃分成樹狀結構的多個大小不一定相同的CU。因此,LCU也稱為編碼樹單元(CTU,Coding Tree Unit)。例如,一幀圖像先劃分成大小完全相同的64×64像素的LCU(N=64)。其中某個LCU由3個32×32像素的CU和4個16×16像素的CU構成,這樣7個成樹狀結構的CU構成一個CTU。而另一個LCU由2個32×32像素的CU、3個16×16像素的CU和20個8×8像素的CU構成。這樣25個成樹狀結構的CU構成另一個CTU。對一幀圖像進行編碼,就是依次對一個一個CTU中的一個一個CU進行編碼。在HEVC國際標準中,LCU與CTU是同義詞。大小等於CTU的CU稱為深度為0的CU。深度為0的CU上下左右四等分得到的CU稱為深度為1的CU。深度為1的CU上下左右四等分得到的CU稱為深度為2的CU。深度為2的CU上下左右四等分得到的CU稱為深度為3的CU。在任一時刻,正在編碼中的CTU稱為當前編碼CTU。在任一時刻,正在解碼中的CTU稱為當前解碼CTU。當前編碼CTU或當前解碼CTU統稱為當前CTU。
CU也可以再進一步被劃分成若干子區域。子區域包括但不限於預測單元(PU),變換單元(TU),不對稱劃分(AMP)的區域。
一個彩色像素通常有3個分量(component)組成。最常用的兩種像素色彩格式(pi×el color format)是由綠色分量、藍色分量、紅色分量組成的GBR色彩格式和由一個亮度(luma)分量及兩個色度(chroma)分量組成的YUV色彩格式。通稱為YUV的色彩格式實際包括多種色彩格式,如YCbCr色彩格式。因此,對一個CU進行編碼時,可以把一個CU分成3個分量平面(G平面、B平面、R平面或Y平面、U平面、V平面),對3個分量平面分別進行編碼;也可以把一個像素的3個分量捆綁組合成一個3元組,對由這些3元組組成的CU整體進行編碼。前一種像素及其分量的排列方式稱為圖像(及其CU)的平面格式(planar format),而後一種像素及其分量的排列方式稱為圖像(及其CU)的疊包格式(packed format)。像素的GBR色彩格式和YUV色彩格式都是像素的3分量表現格式。
除了像素的3分量表現格式,像素的另一種常用的表現格式是調色板索引表現格式。在調色板索引表現格式中,一個像素的數值也可以用調色板的索引來表現。調色板空間中存儲了需要被表現的像素的顏色的3個分量的數值或近似數值,調色板的地址被稱為這個地址中存儲的像素的顏色的索引。一個索引可以表現像素的顏色的一個分量,一個索引也可以表現像素的顏色的3個分量。調色板可以是一個,也可以是多個。在多個調色板的情形,一個完整的索引實際上由調色板序號(表示多個調色板中的哪一個)和該序號的調色板的索引兩部分組成。像素的索引表現格式就是用索引來表現這個像素。如果一個圖像區域(如編碼塊或解碼塊)中的像素不能全部都用調色板顏色來表現(即對該圖像區域中至少一個像素,沒有3個分量的數值與該像素相等或近似相等的調色板顏色及其索引),則調色板中通常有一個特殊的稱為逃逸顏色的索引,用來表現不能用正常的調色板顏色來表現的像素。因此,如果一個像素的索引是逃逸顏色的索引,則該像素需要用另外的專用的3個分量來表現其顏色。調色板中的正常顏色和逃逸顏色都稱為調色板顏色,但逃逸顏色是一個虛擬顏色,在調色板中並沒有一個物理空間來存放這個顏色,只有一個特殊的專門的虛擬的索引。逃逸顏色的索引通常是調色板的最後一個索引。像素的索引表現格式也被稱為像素的索引顏色(inde×ed color)或仿顏色(pseudo color)表現格式,或者常常被直接稱為索引像素(inde×ed pi×el)或仿像素(pseudo pi×el)或像素索引或索引。索引有時也被稱為指數。把像素用其索引表現格式來表現也稱為索引化或指數化。
其他的常用的像素表現格式包括CMYK表現格式和灰度表現格式。
YUV色彩格式又可根據是否對色度分量進行下採樣再細分成若干種子格式:1個像素由1個Y分量、1個U分量、1個V分量組成的YUV4:4:4像素色彩格式;左右相鄰的2個像素由2個Y分量、1個U分量、1個V分量組成的YUV4:2:2像素色彩格式;左右上下相鄰按2×2空間位置排列的4個像素由4個Y分量、1個U分量、1個V分量組成的YUV4:2:0像素色彩格式。一個分量一般用1個8~16比特的數字來表示。YUV4:2:2像素色彩格式和YUV4:2:0像素色彩格式都是對YUV4:4:4像素色彩格式施行色度分量的下採樣得到。一個像素分量也稱為一個像素樣值(pi×el sample)或簡單地稱為一個樣值(sample)。
編碼或解碼時的最基本元素可以是一個像素,也可以是一個像素分量,也可以是一個像素索引(即索引像素)。作為編碼或解碼的最基本元素的一個像素或一個像素分量或一個索引像素統稱為一個像素樣值,有時也通稱為一個像素值,或簡單地稱為一個樣值。
在本發明實施例中,「像素樣值」、「像素值」、「樣值」、「索引像素」、「像素索引」是同義詞,根據上下文,可以明確是表示「像素」還是表示「一個像素分量」還是表示「索引像素」或者同時表示三者之任一。如果從上下文不能明確,那麼就是同時表示三者之任一。
在本發明實施例中,編碼塊或解碼塊(統稱為編解碼塊)是由若干像素值組成的一個區域。編解碼塊的形狀可以是矩形、正方形、平行四邊形、梯形、多邊形、圓形、橢圓形及其他各種形狀。矩形也包括寬度或高度為一個像素值的退化為線(即線段或線形)的矩形。一幀圖像中,各個編解碼塊可以具有各不相同的形狀和大小。一幀圖像中,某些或全部編解碼塊可以有互相重疊部分,也可以所有編解碼塊都互不重疊。一個編解碼塊,可以由「像素」組成,也可以由「像素的分量」組成,也可以由「索引像素」組成,也可以由這3者混合組成,也可以由這3者中之任意2種混合組成。從視頻圖像編碼或解碼的角度,編解碼塊是指一幀圖像中對其施行編碼或解碼的一個區域,包括但不限於以下至少一種:最大編碼單元LCU、編碼樹單元CTU、編碼單元CU、CU的子區域、預測單元PU、變換單元TU。
計算機屏幕圖像的一個顯著特點是同一幀圖像內通常會有很多相似甚至完全相同的像素圖樣(pi×el pattern)。例如,計算機屏幕圖像中常出現的中文或外文文字,都是由少數幾種基本筆劃所構成,同一幀圖像內可以找到很多相似或相同的筆劃。計算機屏幕圖像中常見的菜單、圖標等,也具有很多相似或相同的圖樣。因此,圖像和視頻壓縮技術採用的複製方式,至少包括下列複製方式:
1)幀內塊複製即幀內塊匹配或稱幀內運動補償或稱塊匹配或稱塊複製。塊複製編碼或解碼的基本運算是對一個當前編碼塊或當前解碼塊(簡稱為當前塊),從重構參考像素樣值集內複製一個與當前塊同樣大小(同樣像素樣值的數目)的參考塊,並將所述參考塊的數值賦值予當前塊。塊複製方式的複製參數包括當前塊的位移矢量,表示參考塊與當前塊之間的相對位置。一個當前塊有一個位移矢量。
2)幀內微塊複製即幀內微塊匹配或稱微塊匹配或稱微塊複製。在微塊複製中,把一個當前塊(如8×8像素樣值)分成幾個微塊(如4×2像素樣值的微塊或8×2像素樣值的微塊或2×4像素樣值的微塊或2×8像素樣值的微塊),微塊複製編碼或解碼的基本運算是對當前塊中的每一個編碼微塊或解碼微塊(簡稱為當前微塊),從重構參考像素樣值集內複製一個參考微塊,並將所述參考微塊的數值賦值予當前微塊。微塊複製方式的複製參數包括當前微塊的位移矢量,表示參考微塊與當前微塊之間的相對位置。一個當前微塊有一個位移矢量。一個當前塊分成多少個微塊就有多少個位移矢量。
3)幀內線條(簡稱條)複製即幀內條匹配或稱條匹配或稱條複製。條是高度為1或寬度為1的微塊,如4×1或8×1或1×4或1×8像素樣值的微塊。條複製編碼或解碼的基本運算是對當前塊中的每一個編碼條或解碼條(簡稱為當前條),從重構參考像素樣值集內複製一個參考條,並將所述參考條的數值賦值予當前條。顯然,條複製是微塊複製的一種特殊情況。條複製方式的複製參數包括當前條的位移矢量,表示參考條與當前條之間的相對位置。一個當前條有一個位移矢量。一個當前塊分成多少個條就有多少個位移矢量。
4)幀內串複製即幀內串匹配或稱串匹配或稱串複製或稱像素串複製。在像素串複製中,把一個當前編碼塊或一個當前解碼塊(簡稱為當前塊)分成幾個長度可變的像素樣值串。這裡的串是指把一個任意形狀的二維區域內的像素樣值排列成一個長度遠大於寬度的串(如寬度為1個像素樣值而長度為37個像素樣值的串或寬度為2個像素樣值而長度為111個像素樣值的串,通常但不限於長度是一個獨立編碼或解碼參數而寬度是一個預定的或由其他編碼或解碼參數導出的參數)。串複製編碼或解碼的基本運算是對當前塊中的每一個編碼串或解碼串(簡稱為當前串),從重構參考像素樣值集內複製一個參考串,並將所述參考串的數值賦值予當前串。串複製方式的複製參數包括當前串的位移矢量和複製長度即複製大小,分別表示參考串與當前串之間的相對位置和當前串的長度即像素樣值的數目。當前串的長度也是參考串的長度。一個當前串有一個位移矢量和一個複製長度。一個當前塊分成多少個串就有多少個位移矢量和多少個複製長度。位移矢量也稱為複製位置,其表現形式有:2維坐標、線性地址、距離、指針、索引、編號、模式號等。
5)調色板索引串複製即調色板或稱索引串複製。在調色板編碼和對應的解碼方式中,首先構造或獲取一個調色板,然後將當前編碼塊或當前解碼塊(簡稱為當前塊)的部分或全部像素用調色板中的調色板顏色的索引來表現,再對索引進行編碼和解碼,包括但不限於:把一個當前塊的索引分成幾個長度可變的索引串,即進行索引串複製編碼和解碼。索引串複製編碼或解碼的基本運算是對當前塊中的每一個索引編碼串或索引解碼串(簡稱為當前索引串),從索引化的重構參考像素樣值集內複製一個參考索引串,並將所述參考索引串的索引數值賦值予當前索引串。索引串複製方式的複製參數包括當前索引串的位移矢量和複製長度即複製大小,分別表示參考索引串與當前索引串之間的相對位置和當前索引串的長度即對應的像素樣值的數目。當前索引串的長度也是參考索引串的長度。一個當前索引串有一個位移矢量和一個複製長度。一個當前塊分成多少個索引串就有多少個位移矢量和多少個複製長度。位移矢量也稱為複製位置,其表現形式有:2維坐標、線性地址、距離、指針、索引、編號、模式號等。在調色板索引串複製方式中,複製的參考像素取自調色板。所以,索引串也稱為調色板顏色串或調色板像素串或調色板串,索引串複製方式也稱為調色板複製方式或調色板方式。在調色板方式中,串也稱為遊程或行程。因此,索引串也稱為索引遊程或索引行程或簡稱為遊程或行程。當前塊的調色板顏色來源於當前塊的像素顏色和/或調色板顏色候選集,而調色板顏色候選集由已完成編解碼的編解碼塊的調色板顏色的一部分累積組成。
6)索引串複製與像素串複製混合的融合複製方式,簡稱索引-像素串融合複製方式,也稱調色板-像素串融合複製方式或融合像素串複製的調色板方式或融合調色板的像素串複製方式或調色板與像素串複製方式。對一個當前編碼塊或當前解碼塊(簡稱為當前塊)進行編碼或解碼時,部分或全部像素採用像素串複製方式,部分或全部像素採用索引串複製方式即參考像素取自調色板的調色板方式。
7)結合多種調色板與像素串複製方式的多重調色板與像素串複製方式。採用至少兩種不同的調色板與像素串複製方式進行編碼和解碼。不同的調色板與像素串複製方式採用不同的融合方案來融合調色板複製與像素串複製。在一幀圖像中,部分編解碼塊採用融合方案I的調色板與像素串複製方式,部分編解碼塊採用融合方案II的調色板與像素串複製方式,部分編解碼塊採用融合方案III的調色板與像素串複製方式,等等。不同的融合方案主要在下列方面可能有所不同:1)串的種類的數目,2)參數的取值範圍,3)一個或若干複製參數的取值範圍,4)複製位置即位移矢量的取值範圍,5)當前索引或當前像素的位置,6)當前樣值段的位置,7)參考索引或參考像素的位置,8)參考樣值段的位置;9)複製形狀。
其他的複製方式還包括矩形複製方式、以及若干種複製方式混合的複製方式等。
塊複製方式中的塊,微塊複製方式中的微塊,條複製方式中的條,串複製方式中的串,矩形複製方式中的矩形,調色板索引方式中的像素索引串,統稱為像素樣值段,簡稱樣值段。樣值段的基本組成元素是像素或像素分量或像素索引。一個樣值段有一個複製參數,用來表示當前像素樣值段與參考像素樣值段之間的關係。因此,一個樣值段是具有同樣複製關係的一次複製操作的最小單位。一個複製參數包括若干複製參數分量,複製參數分量至少包括:位移矢量水平分量、位移矢量垂直分量、1維位移矢量、線性地址、相對線性地址、索引、調色板線性地址、相對索引、調色板相對線性地址、複製長度、複製寬度、複製高度、矩形寬度、矩形長度、未匹配像素(又稱無參考像素,即不是從其他地方複製過來的非複製像素)。
在各種複製方式中,像素樣值或索引需要按照一定順序排列。排列方式也稱為掃描方式。掃描方式根據其路徑形狀,可分為下列幾種:
A)水平Z形掃描方式又稱水平光柵掃描方式。一個編碼塊或解碼塊(統稱為編解碼塊)的像素樣值或索引,一行一行排列,在所有的行內都按照同一方向(全部從左向右或者全部從右向左)排列。行與行之間可以從上向下排列,也可以從下向上排列。
B)垂直Z形掃描方式又稱垂直光柵掃描方式。一個編碼塊或解碼塊(統稱為編解碼塊)的像素樣值或索引,一列一列排列,在所有的列內都按照同一方向(全部從上向下或者全部從下向上)排列。列與列之間可以從左向右排列,也可以從右向左排列。
C)水平弓形掃描方式。一個編碼塊或解碼塊(統稱為編解碼塊)的像素樣值或索引,一行一行排列,在奇數行內按照一個方向(如:從左向右)排列而在偶數行內按照另一個(相反)方向(如:從右向左)排列。行與行之間可以從上向下排列,也可以從下向上排列。
D)垂直弓形掃描方式。一個編碼塊或解碼塊(統稱為編解碼塊)的像素樣值或索引,一列一列排列,在奇數列內按照一個方向(如:從上向下)排列而在偶數列內按照另一個(相反)方向(如:從下向上)排列。列與列之間可以從左向右排列,也可以從右向左排列。
串複製(索引串複製或像素串複製或索引串-像素串融合複製)方式中,基本複製形狀有下列2種:
I)一維線性複製形狀。當前串和參考串都是在各個編解碼塊內按照預定的掃描方式的順序排列形成的一維樣值串,具有相等的長度,但這兩個串各自形成的二維區域不一定有相同的二維形狀。
II)二維保形複製形狀。當前串在當前編解碼塊內按照預定的掃描方式的順序排列。參考串與當前串保持完全相同的二維形狀,具有相等的長度。
以上每種基本複製形狀又可根據具體的掃描方式細分為多種複製形狀,如垂直弓形一維線性複製形狀、水平Z形二維保形複製形狀等。
需要說明的是,「複製」是重構和解碼的操作,對應的編碼操作是「匹配」。因此,各種複製方式如塊匹配方式、微塊複製方式、線條複製方式、像素串複製方式、索引串複製方式等也稱為塊匹配方式、微塊匹配方式、線條匹配方式、像素串匹配方式、索引串匹配方式等。
在多像素段複製方式,如微塊複製方式、條複製方式、像素串複製方式、調色板與像素串複製方式中,編解碼塊被分成多個像素段,每個像素段有一個複製參數,一個複製參數又由多種複製參數組成。在多像素段複製方式中,對複製參數按照對應的像素段在編解碼塊中的位置的前後順序依次以一個複製參數為單位進行熵編碼或熵解碼並存在於視頻碼流。由於一個複製參數即有使用上下文模型(簡稱CM)進行熵編碼的二元碼(簡稱bit或bin)部分,又有未使用CM進行熵編碼的二元碼部分,以一個複製參數為單位對一個一個複製參數依次進行熵編碼就會導致交織地對複製參數的使用CM的bin部分和未使用CM的bin部分進行熵編碼。這種交織的做法嚴重影響了對複製參數的多比特位並行熵編碼和熵解碼處理,降低了熵編碼和熵解碼的吞吐量。
基於此,本發明實施例提供了一種圖像編碼及解碼方法、圖像處理設備。在對編解碼塊的一種或多種複製參數進行編解碼時,首先把每個複製參數按照預定的規則分割成若干部分,把各個複製參數的同一部分歸類合併後重新排序依次進行熵編碼或熵解碼。
本發明實施例中,把每個複製參數分割成使用CM的bin部分和未使用CM的bin部分。
本發明實施例中,將各個複製參數的使用CM的bin部分歸類至一組,將各個複製參數的未使用CM的bin部分歸類至另一組,先對一組進行熵編碼或熵解碼,再對另一組進行熵編碼或熵解碼,如圖1(a)所示。
本發明實施例中,在歸類合併後的複製參數的使用CM的bin部分中,同一種複製參數集中在一起進行熵編碼或熵解碼並存在於視頻碼流中,在歸類合併後的複製參數的未使用CM的bin部分中,同一種複製參數集中在一起進行熵編碼或熵解碼並存在於視頻碼流中,如圖1(b)所示,第一種複製參數即複製參數A(如:位移矢量水平分量)的使用CM的bin部分集中在一起進行熵編碼或熵解碼並存在於視頻碼流中,第二種複製參數即複製參數B(如:位移矢量垂直分量)的使用CM的bin部分集中在一起進行熵編碼或熵解碼並存在於視頻碼流中,第三種複製參數即複製參數C(如:複製長度)的使用CM的bin部分集中在一起進行熵編碼或熵解碼並存在於視頻碼流中,等等;接下來,第一種複製參數即複製參數A(如:位移矢量水平分量)的未使用CM的bin部分集中在一起進行熵編碼或熵解碼並存在於視頻碼流中,第二種複製參數即複製參數B(如:位移矢量垂直分量)的未使用CM的bin部分集中在一起進行熵編碼或熵解碼並存在於視頻碼流中,第三種複製參數即複製參數C(如:複製長度)的未使用CM的bin部分集中在一起進行熵編碼或熵解碼並存在於視頻碼流中,等等。
本發明實施例中,在歸類合併後的複製參數的使用CM的bin部分中,同一種複製參數的一個複製參數的所有比特位集中在一起進行熵編碼或熵解碼並存在於視頻碼流中,在歸類合併後的複製參數的未使用CM的bin部分中,同一種複製參數的一個複製參數的所有比特位集中在一起進行熵編碼或熵解碼並存在於視頻碼流中,如圖1(c)所示,在歸類合併後的複製參數的使用CM的bin部分中,第一種複製參數即複製參數A的第一個複製參數的所有比特位A11,A12,…A1i(共有i位,這裡Apq表示複製參數A的第p個複製參數的第q個比特位)集中在一起進行熵編碼或熵解碼並存在於視頻碼流中,緊接著,複製參數A的第二個複製參數的所有比特位A21,A22,…A2i集中在一起進行熵編碼或熵解碼並存在於視頻碼流中,……,複製參數A的第k個複製參數的所有比特位Ak1,Ak2,…Aki集中在一起進行熵編碼或熵解碼並存在於視頻碼流中,一直到複製參數A的最後一個複製參數的所有比特位,接著,第二種複製參數即複製參數B的第一個複製參數的所有比特位B11,B12,…B1m(共有m位,這裡Bpq表示複製參數B的第p個複製參數的第q個比特位)集中在一起進行熵編碼或熵解碼並存在於視頻碼流中,緊接著,複製參數B第二個複製參數的所有比特位B21,B22,…B2m集中在一起進行熵編碼或熵解碼並存在於視頻碼流中,……,複製參數B的第k個複製參數的所有比特位Bk1,Bk2,…Bkm集中在一起進行熵編碼或熵解碼並存在於視頻碼流中,一直到複製參數B的最後一個複製參數的所有比特位,等等;在歸類合併後的複製參數的未使用CM的bin部分中,第一種複製參數即複製參數A的第一個複製參數的所有比特位A1(i+1),A1(i+2),…A1j(共有j-i位,這裡Apq表示複製參數A的第p個複製參數的第q個比特位)集中在一起進行熵編碼或熵解碼並存在於視頻碼流中,緊接著,複製參數A的第二個複製參數的所有比特位A2(i+1),A2(i+2),…A2j集中在一起進行熵編碼或熵解碼並存在於視頻碼流中,……,複製參數A的第k個複製參數的所有比特位Ak(i+1),Ak(i+2),…Akj集中在一起進行熵編碼或熵解碼並存在於視頻碼流中,一直到複製參數A的最後一個複製參數的所有比特位,接著,第二種複製參數即複製參數B的第一個複製參數的所有比特位B1(m+1),B1(m+2),…B1n(共有n-m位,這裡Bpq表示複製參數B的第p個複製參數的第q個比特位)集中在一起進行熵編碼或熵解碼並存在於視頻碼流中,緊接著,複製參數B第二個複製參數的所有比特位B2(m+1),B2(m+2),…B2n集中在一起進行熵編碼或熵解碼並存在於視頻碼流中,……,複製參數B的第k個複製參數的所有比特位Bk(m+1),Bk(m+2),…Bkn集中在一起進行熵編碼或熵解碼並存在於視頻碼流中,一直到複製參數B的最後一個複製參數的所有比特位,等等。
本發明實施例中,在歸類合併後的複製參數的使用CM的bin部分中,同一種複製參數的全體複製參數的一個比特位集中在一起進行熵編碼或熵解碼並存在於視頻碼流中,在歸類合併後的複製參數的未使用CM的bin部分中,同一種複製參數的全體複製參數的一個比特位集中在一起進行熵編碼或熵解碼並存在於視頻碼流中,如圖1(d)所示,在歸類合併後的複製參數的使用CM的bin部分中,第一種複製參數即複製參數A的全體複製參數的第一個比特位A11,A21,…Ak1,……(這裡Apq表示複製參數A的第p個複製參數的第q個比特位)集中在一起進行熵編碼或熵解碼並存在於視頻碼流中,緊接著,複製參數A的全體複製參數的第二個比特位A12,A22,…Ak2,……集中在一起進行熵編碼或熵解碼並存在於視頻碼流中,……,一直到複製參數A的全體複製參數的最後一個比特位即第i個比特位A1i,A2i,…Aki,……集中在一起進行熵編碼或熵解碼並存在於視頻碼流中,接著,第二種複製參數即複製參數B的全體複製參數的第一個比特位B11,B21,…Bk1,……(這裡Bpq表示複製參數B的第p個複製參數的第q個比特位)集中在一起進行熵編碼或熵解碼並存在於視頻碼流中,緊接著,複製參數B的全體複製參數的第二個比特位B12,B22,…Bk2,……集中在一起進行熵編碼或熵解碼並存在於視頻碼流中,……,一直到複製參數B的全體複製參數的最後一個比特位即第m個比特位B1m,B2m,…Bkm,……集中在一起進行熵編碼或熵解碼並存在於視頻碼流中,等等;在歸類合併後的複製參數的未使用CM的bin部分中,第一種複製參數即複製參數A的全體複製參數的第i+1個比特位A1(i+1),A2(i+1),…Ak(i+1),……(這裡Apq表示複製參數A的第p個複製參數的第q個比特位)集中在一起進行熵編碼或熵解碼並存在於視頻碼流中,緊接著,複製參數A的全體複製參數的第i+2個比特位A1(i+2),A2(i+2),…Ak(i+2),……集中在一起進行熵編碼或熵解碼並存在於視頻碼流中,……,一直到複製參數A的全體複製參數的最後一個比特位即第j個比特位A1j,A2j,…Akj,……集中在一起進行熵編碼或熵解碼並存在於視頻碼流中,接著,第二種複製參數即複製參數B的全體複製參數的第m+1個比特位B1(m+1),B2(m+1),…Bk(m+1),……(這裡Bpq表示複製參數B的第p個複製參數的第q個比特位)集中在一起進行熵編碼或熵解碼並存在於視頻碼流中,緊接著,複製參數B的全體複製參數的第m+2個比特位B1(m+2),B2(m+2),…Bk(m+1),……集中在一起進行熵編碼或熵解碼並存在於視頻碼流中,……,一直到複製參數B的全體複製參數的最後一個比特位即第n個比特位B1n,B2n,…Bkn,……集中在一起進行熵編碼或熵解碼並存在於視頻碼流中,等等。
本發明實施例的技術方案,對複製參數不是按照對應的像素段在編解碼塊中的位置的前後順序依次以一個複製參數為單位進行熵編碼或熵解碼並存在於視頻碼流,而是把一種或幾種複製參數的每個複製參數都分割成若干部分(個別複製參數的個別部分也可以為空),把各個複製參數的同一部分歸類合併後重新排序,再依次進行熵編碼或熵解碼並存在於視頻碼流。
本發明實施例的技術方案,是對一種或多種複製參數的分割,歸類、重組,包括對複製參數的個體的分割,對分割後的個體部分的歸類,重組成新的排列順序,按照新的排列順序依次進行熵編碼或熵解碼並存在於視頻碼流。本發明實施例適用於疊包格式圖像的編碼和解碼,本發明實施例也同樣適用於分量平面格式圖像的編碼和解碼。
圖2為本發明實施例的圖像編碼方法的流程示意圖一,本發明實施例中,對一個當前編碼塊的一種或多種複製參數的多個複製參數按照分割歸類重組後順序進行熵編碼並產生至少含多個複製參數的信息的視頻碼流;如圖2所示,所述圖像編碼方法包括以下步驟:
步驟201:對當前編碼塊的多個複製參數進行調整處理;其中,所述多個複製參數包括一種或多種類型的複製參數分量。
步驟202:對所述複製參數按照所述調整處理後順序進行熵編碼,生成包括多個複製參數的信息的視頻碼流。
本發明實施例的上述方案中,所述編碼塊是圖像的編碼區域,所述編碼塊包括以下至少一種:LCU、CTU、CU、CU的子區域、PU、TU。
本發明實施例的上述方案中,所述對當前編碼塊的多個複製參數進行調整處理,包括:
將所述複製參數按照預定規則分割成N個子部分,N≥2;將所述複製參數的同一子部分歸類合併後,重新排序依次進行熵編碼;其中,所述複製參數的所述N個子部分中的子部分為空或非空。
本發明實施例的上述方案中,所述對當前編碼塊的多個複製參數進行調整處理,還包括:將所述複製參數分割成使用CM的bin部分和未使用CM的bin部分。
在一實施方式中,所述編碼塊使用的複製方式為融合調色板的像素串複製方式;
將各個複製參數所包括的下列一種或多種複製參數分量分割成使用CM的bin部分和未使用CM的bin部分:
像素段的類型、像素段的複製位置分量1、像素段的複製位置分量2、像素段的複製位置分量3、像素段的複製長度。
其中,像素段的類型:參考像素是否來自調色板;
像素段的複製位置分量1:參考像素不是來自調色板時,參考像素是否位於ABOVE位置(即水平掃描時當前像素的正上方位置或垂直掃描時當前像素的正左方位置);
像素段的複製位置分量2:參考像素不是來自調色板並且不是位於ABOVE位置時的位移矢量水平分量;
像素段的複製位置分量3:參考像素不是來自調色板並且不是位於ABOVE位置時的位移矢量垂直分量。
在一實施方式中,所述編碼塊使用的複製方式為融合調色板的像素串複製方式;
將所述複製參數分割成使用CM的bin部分和未使用CM的bin部分時,所述使用CM的bin部分包括以下一個或多個bit:
像素段的類型t;其中,t取第一值時表示參考像素來自調色板,t取第二值時表示參考像素不是來自調色板;
像素段的ABOVE複製位置a;其中,當t表示參考像素不是來自調色板時所述a存在;a取第三值時表示參考像素位於ABOVE位置,a取第四值時表示參考像素不是位於ABOVE位置;
像素段的位移矢量水平分量x0;其中,當a表示參考像素不是位於ABOVE位置時所述x0存在;x0取第五值時表示位移矢量水平分量為零,x0取第六值時表示位移矢量水平分量不為零;
像素段的位移矢量垂直分量y0;其中,當a表示參考像素不是位於ABOVE位置時所述y0存在;y0取第七值時表示位移矢量垂直分量為零,y0取第八值時表示位移矢量垂直分量不為零;
像素段的複製長度的二值化表示中的首位二元碼b0。這裡,像素段的複製長度的二值化表示b0b1b2……,首位二元碼b0;而其他比特位b1b2……都在未使用CM的bin部分。
在一實施方式中,將所述複製參數分割成使用CM的bin部分和未使用CM的bin部分時,將各個複製參數的使用CM的bin部分歸類至一組,將各個複製參數的未使用CM的bin部分歸類至另一組;其中,進行熵編碼時,依次對所述兩組進行熵編碼。
在一實施方式中,將複製參數分割成使用CM的bin部分和未使用CM的bin部分時,在所述使用CM的bin部分中,對同類型的複製參數分量集中進行熵編碼;在所述未使用CM的bin部分中,對同類型的複製參數分量集中進行熵編碼。
在一實施方式中,將所述複製參數分割成使用CM的bin部分和未使用CM的bin部分時,在所述使用CM的bin部分中,對同類型的複製參數分量的複製參數的所有bin集中進行熵編碼;在所述未使用CM的bin部分中,對同類型的複製參數分量的複製參數的所有bin集中進行熵編碼。
圖3為本發明實施例的圖像解碼方法的流程示意圖一,本發明實施例中,解析一個當前解碼塊的至少含多個複製參數的信息的視頻碼流,對一種或多種複製參數的多個複製參數按照分割歸類重組後順序進行熵解碼;如圖3所示,所述圖像解碼方法包括以下步驟:
步驟301:解析解碼塊的包括多個複製參數的信息的視頻碼流,其中,所述多個複製參數包括一種或多種類型的複製參數分量。
步驟302:對所述多個複製參數進行熵解碼,獲得所述多個複製參數的二元碼;對所述二元碼進行調整操作,得到所述多個複製參數的取值。
本發明實施例的上述方案中,所述解碼塊是圖像的解碼區域,所述解碼塊包括以下至少一種:LCU、CTU、CU、CU的子區域、PU、TU。
本發明實施例的上述方案中,所述對所述二元碼進行調整操作,得到所述多個複製參數的取值,包括:
將所述二元碼按照預定規則分割成N個子部分,N≥2;
將所述二元碼的子部分中的二元碼進行歸類合併後,映射為所述多個複製參數的恢復值;
其中,所述複製參數的所述N個子部分中的子部分為空或非空。
本發明實施例的上述方案中,將所述二元碼分割成使用CM進行熵解碼的bin部分和未使用CM進行熵解碼的bin部分;
根據所述複製參數對應的二元碼在熵解碼過程中使用CM的對應表,從所述使用CM進行熵解碼的bin部分和/或未使用CM進行熵解碼的bin部分取對應的bin,組成所述複製參數對應的二元碼;
將所述複製參數對應的二元碼轉換成所述複製參數的取值。
在一實施方式中,所述編碼塊使用的複製方式為融合調色板的像素串複製方式;
下述一種或多種複製參數對應的所述二元碼分割成使用CM的bin部分和未使用CM的bin部分,包括:
像素段的類型、像素段的複製位置分量1、像素段的複製位置分量2、像素段的複製位置分量3、像素段的複製長度。
在一實施方式中,所述編碼塊使用的複製方式為融合調色板的像素串複製方式;
將所述複製參數對應的所述二元碼分割成使用CM的bin部分和未使用CM的bin部分時,所述使用CM的bin部分包括以下一個或多個bin:
像素段的類型t;其中,t取第一值時表示參考像素來自調色板,t取第二值時表示參考像素不是來自調色板;
像素段的ABOVE複製位置a;其中,當t表示參考像素不是來自調色板時所述a存在;a取第三值時表示參考像素位於ABOVE位置,a取第四值時表示參考像素不是位於ABOVE位置;
像素段的位移矢量水平分量x0;其中,當a表示參考像素不是位於ABOVE位置時所述x0存在;x0取第五值時表示位移矢量水平分量為零,x0取第六值時表示位移矢量水平分量不為零;
像素段的位移矢量垂直分量y0;其中,當a表示參考像素不是位於ABOVE位置時所述y0存在;y0取第七值時表示位移矢量垂直分量為零,y0取第八值時表示位移矢量垂直分量不為零;
像素段的複製長度的二值化表示中的首位二元碼b0。
在一實施方式中,將所述複製參數對應的二元碼對應為成使用CM的bin部分和未使用CM的bin部分時,依次對所述複製參數的使用CM的bin部分對應的視頻碼流進行熵解碼、對所述複製參數的未使用CM的bin部分對應的視頻碼流進行熵解碼;
根據所述複製參數對應的二元碼在熵解碼過程中使用CM的對應表,從所述使用CM進行熵解碼的bin部分和/或未使用CM進行熵解碼的bin部分取對應的bin,組成所述複製參數對應的二元碼;
將所述複製參數對應的二元碼轉換成所述複製參數的取值。
在一實施方式中,進行熵解碼時,依次對所述複製參數對應的二元碼中由使用CM的bin部分組成的一組和所述複製參數對應的二元碼中有不使用CM的bin部分組成的另一組進行熵解碼;
所述複製參數對應的二元碼對應為使用CM的bin部分和未使用CM的bin部分時,在所述使用CM的bin部分中,對同類型複製參數分量的二元碼對應的碼流進行熵解碼;在所述未使用CM的bin部分中,對同類型複製參數分量的二元碼對應進行熵解碼;
根據所述複製參數對應的二元碼在熵解碼過程中使用CM的對應表,從所述使用CM進行熵解碼的bin部分和/或未使用CM進行熵解碼的bin部分取對應的bin,組成所述複製參數對應的二元碼;
將所述複製參數對應的二元碼轉換成所述複製參數的取值。
在一實施方式中,所述複製參數對應的二元碼分割成使用CM的bin部分和未使用CM的bin部分時,在所述使用CM的bin部分中,對同類型複製參數分量的複製參數的二元碼對應的視頻碼流進行熵解碼;在所述未使用CM的bin部分中,對同類型複製參數分量的複製參數的二元碼對應的視頻碼流進行熵解碼;
根據所述複製參數對應的二元碼在熵解碼過程中使用CM的對應表,從所述使用CM進行熵解碼的bin部分和/或未使用CM進行熵解碼的bin部分取對應的bin,組成所述複製參數對應的二元碼;
將所述複製參數對應的二元碼轉換成所述複製參數的取值。
圖4為本發明實施例的圖像編碼方法的流程示意圖二,如圖4所示,所述流程中:
對當前編碼塊的一種或多種複製參數的多個複製參數按照分割歸類重組後順序進行熵編碼並產生至少含多個複製參數的信息的視頻碼流。
圖5為本發明實施例的圖像解碼方法的流程示意圖二,如圖5所示,所述流程中:
解析當前解碼塊的至少含多個複製參數的信息的視頻碼流,對一種或多種複製參數的多個複製參數按照分割歸類重組後順序進行熵解碼。
圖6為本發明實施例的圖像處理設備的結構組成示意圖一,所述圖像處理設備能夠對圖像進行編碼,如圖6所示,所述圖像處理設備包括:
重組單元61,用於對當前編碼塊的多個複製參數進行調整處理;
熵編碼單元62,用於對所述複製參數按照所述調整處理後順序進行熵編碼,生成包括多個複製參數的信息的視頻碼流;
其中,所述多個複製參數包括一種或多種類型的複製參數分量。
本領域技術人員應當理解,圖6所示的圖像處理設備中的各單元的實現功能可參照前述圖像編碼方法的相關描述而理解。圖6所示的圖像處理設備中的各單元的功能可通過運行於處理器上的程序而實現,也可通過具體的邏輯電路而實現。
在實際應用中,所述圖像處理設備中的各個單元所實現的功能,均可由位於圖像處理設備中的中央處理器(Central Processing Unit,CPU)、或微處理器(Micro Processor Unit,MPU)、或數位訊號處理器(Digital Signal Processor,DSP)、或現場可編程門陣列(Field Programmable Gate Array,FPGA)等實現。
圖7為本發明實施例的圖像處理設備的結構組成示意圖二,所述圖像處理設備能夠對圖像進行解碼,如圖7所示,所述圖像處理設備包括:
解析單元71,用於解析解碼塊的包括多個複製參數的信息的視頻碼流;
熵解碼單元72,用於對所述多個複製參數進行熵解碼,獲得所述多個複製參數的二元碼;對所述二元碼進行調整操作,得到所述多個複製參數的取值;
其中,所述多個複製參數包括一種或多種類型的複製參數分量。
本領域技術人員應當理解,圖7所示的圖像處理設備中的各單元的實現功能可參照前述圖像解碼方法的相關描述而理解。圖7所示的圖像處理設備中的各單元的功能可通過運行於處理器上的程序而實現,也可通過具體的邏輯電路而實現。
在實際應用中,所述圖像處理設備中的各個單元所實現的功能,均可由位於圖像處理設備中的中央處理器(Central Processing Unit,CPU)、或微處理器(Micro Processor Unit,MPU)、或數位訊號處理器(Digital Signal Processor,DSP)、或現場可編程門陣列(Field Programmable Gate Array,FPGA)等實現。
圖8為本發明實施例的圖像處理設備的結構組成示意圖三,所述圖像處理設備能夠對圖像進行編碼及解碼,如圖8所示,所述圖像處理設備包括:
重組單元81,用於對當前編碼塊的多個複製參數進行調整處理;
熵編碼單元82,用於對所述複製參數按照所述調整處理後順序進行熵編碼,生成包括多個複製參數的信息的視頻碼流;
其中,所述多個複製參數包括一種或多種類型的複製參數分量。
解析單元83,用於解析解碼塊的包括多個複製參數的信息的視頻碼流;
熵解碼單元84,用於對所述多個複製參數進行熵解碼,獲得所述多個複製參數的二元碼;對所述二元碼進行調整操作,得到所述多個複製參數的取值;
其中,所述多個複製參數包括一種或多種類型的複製參數分量。
在實際應用中,所述圖像處理設備中的各個單元所實現的功能,均可由位於圖像處理設備中的中央處理器(Central Processing Unit,CPU)、或微處理器(Micro Processor Unit,MPU)、或數位訊號處理器(Digital Signal Processor,DSP)、或現場可編程門陣列(Field Programmable Gate Array,FPGA)等實現。
本領域內的技術人員應明白,本發明的實施例可提供為方法、系統、或電腦程式產品。因此,本發明可採用硬體實施例、軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本發明可採用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限於磁碟存儲器和光學存儲器等)上實施的電腦程式產品的形式。
本發明是參照根據本發明實施例的方法、設備(系統)、和電腦程式產品的流程圖和/或方框圖來描述的。應理解可由電腦程式指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些電腦程式指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些電腦程式指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些電腦程式指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
以上所述,僅為本發明的較佳實施例而已,並非用於限定本發明的保護範圍。