專利名稱::一種圖像編碼方法及裝置的制作方法
技術領域:
:本發明涉及計算機及圖像處理領域,特別是涉及圖像編碼方法及裝置。
背景技術:
:現有技術中圖像處理過程支持4:2:2等多種采樣模式。對于4:2:2采樣模式,目前主要有三種塊模式(codedblockpattern,CBP)方式。第一種CBP編碼方式是在4:2:0采樣模式對應的6位無符號數進行變長編碼的基礎上增加2位定長編碼,該2位表示色度。則兩段編碼的塊模式取值范圍分別為063和03,最大碼號分別為63和3。第二種CBP編碼方式是用4位表示亮度,用4位表示色度,對8位的CBP碼整體進行變長編碼,則得到的塊模式取值范圍為0255,最大碼號為255。第三種CBP編碼方式是用4位表示亮度,與前述兩種方式相同,用2位表示預測模式的3種情況。當所有色度塊的系數都為O,則為OO;當至少一個色度塊的DC系數不為O,而AC系數為0,則為01;當所有色度塊中至少一個AC系數不為O,則為11。可見其未攜帶色度信息。對6位的CBP碼整體進行變長編碼,則得到的塊模式取值范圍為047,最大碼號為47。在采用第一、二種CBP編碼方式的情況下,圖像編碼過程包括在8位CBP編碼表中查找與8位CBP碼對應的碼號,并根據獲得的碼號進行亮度和色度編碼。在采用第三種CBP編碼方式的情況下,圖像編碼過程包括在6位CBP編碼表中查找與6位CBP碼對應的碼號,并根據獲得的碼號進行亮度和色度編碼。編碼效率主要由變長碼的最長碼字的長度和概率決定,如果概率相當,則其長度越長,編碼效率越低。在上述三種編碼方式中,最長變長碼表示的塊模式情況基本一樣,即概率相當,則其編碼長度對編碼效率影響比較明顯。以及,在第三種編碼方式中,由于用高2位表示塊系數有無的3種情況,而不是直接表示色度的CBP,所以記錄的信息量不如亮度,從而在一定程度上影響色度重建的質量。
發明內容本發明實施例提供一種圖像編碼方法及裝置,用于提高編碼效率。—種圖像編碼方法,包括以下步驟在n位CBP編碼表中查找與n位亮度CBP碼對應的碼號,并根據獲得的碼號進行圖像亮度編碼;在n位CBP編碼表中查找與n位色度CBP碼對應的碼號,并根據獲得的碼號進行圖像色度編碼。—種用于圖像編碼的裝置,包括亮度編碼模塊,用于在n位CBP編碼表中查找與n位亮度CBP碼對應的碼號,并根據獲得的碼號進行圖像亮度編碼;色度編碼模塊,用于在n位CBP編碼表中查找與n位色度CBP碼對應的碼號,并根據獲得的碼號進行圖像色度編碼。—種圖像解碼方法,包括以下步驟在n位CBP編碼表中查找與亮度碼號對應的n位CBP碼,并根據獲得的CBP碼進行圖像亮度解碼;在n位CBP編碼表中查找與色度碼號對應的n位CBP碼,并根據獲得的CBP碼進行圖像色度解碼。—種用于圖像解碼的裝置,包括亮度解碼模塊,用于在n位CBP編碼表中查找與亮度碼號對應的n位CBP碼,并根據獲得的CBP碼進行圖像亮度解碼;色度解碼模塊,用于在n位CBP編碼表中查找與色度碼號對應的n位CBP碼,并根據獲得的CBP碼進行圖像色度解碼。本發明實施例對4:2:2采樣模式的8位CBP碼分別進行變長編碼,即對4位亮度CBP碼進行變長編碼,對4位色度CBP碼進行變長編碼。得到的塊模式的取值范圍均為015(碼號也為015,二者之間有一個對應關系),可見亮度和色度的最大值的和也要小于聯合編碼,因此編碼效率有所提高。并且,在圖像編碼和解碼過程中,亮度和色度的碼號均通過4位CBP編碼表確定,可見提供一張4位CBP編碼表即可,節省了保存CBP編碼表所需的存儲空間。圖1為本發明實施例中圖像編碼的主要方法流程圖;圖2為本發明實施例中圖像編碼的詳細方法流程圖;圖3為本發明實施例中圖像解碼的主要方法流程圖;圖4為本發明實施例中圖像解碼的詳細方法流程圖;圖5為本發明實施例中編碼裝置的主要結構圖;圖6為本發明實施例中編碼裝置的詳細結構圖;圖7為本發明實施例中解碼裝置的主要結構圖;圖8為本發明實施例中解碼裝置的詳細結構圖。具體實施例方式本發明實施例用4位表示亮度CBP碼,再用4位表示色度CBP碼,即CBP碼共有8位。針對4位色度CBP碼和4位亮度CBP碼,均通過4位CBP編碼表獲得相應的碼號,并進行編碼。4位CBP碼對應的碼號范圍為015,本實施例中兩個4位CBP碼對應的最大碼號均是15,二進制表示即為1111和1111。與以前編碼方案比較,比如在6位CBP變長編碼和2位定長的方案中,對應的二進制表示為111111和ll,最大變長碼號為63,由于碼號越大,碼字也越長,因此本發明實施例的編碼方案在編碼效率上相比于現有技術會有所提高。本發明實施例可以對圖像中的任意類型(即幀內或幀間)的宏塊進行編碼和解碼。參見圖l,本實施例中圖像編碼的主要方法流程如下步驟101:在n位CBP編碼表中查找與n位亮度CBP碼對應的碼號,并根據獲得的碼號進行亮度編碼。其中,n為正整數,與亮度CBP碼的位數相同,也與色度CBP碼的位數相同。4步驟102:在n位CBP編碼表中查找與n位色度CBP碼對應的碼號,并根據獲得的碼號進行色度編碼。參見圖2,本實施例中圖像編碼的詳細方法流程如下步驟201:對一幀圖像進行分塊。如采用8X8或4X4等MB類型進行分塊。步驟202:根據4:2:2采樣模式進行采樣。步驟203:根據規定的亮度預測模式或運動估計進行亮度幀內或幀間預測。步驟204:根據規定的色度預測模式或運動估計進行色度幀內或幀間預測。步驟205:對預測殘差進行變換和量化,根據量化后的系數確定4位亮度CBP碼和4位色度CBP碼。步驟206:在4位CBP編碼表中查找與4位亮度CBP碼對應的碼號,并根據獲得的碼號進行亮度編碼。步驟207:在4位CBP編碼表中查找與4位色度CBP碼對應的碼號,并根據獲得的碼號進行色度編碼。本實施例中的4位CBP編碼表為4位亮度CBP編碼表。一幀圖像的亮度和色度都是源于同一幀圖像,其亮度的出現概率與其色度的出現概率基本相同,因此對于4位色度CBP碼和4位亮度CBP碼,可采用同一4位CBP編碼表來確定對應的碼號。該4位CBP編碼表可以是現有技術中已有的編碼表,或者是通過其它方式獲得的編碼表。本實施例采用的是4位CBP編碼表,其對應的碼號范圍為015,則變長碼的個數不超過16。由于通常采用指數哥倫布編碼,變長碼呈分段指數變化。因此,本實施例中碼號的個數明顯少于現有技術中碼號的個數,使得編碼效率明顯提高。塊模式包括宏塊幀內編碼模式和宏塊幀間編碼模式,因此本實施例中4位CBP編碼表如表1所示表1<table>tableseeoriginaldocumentpage6</column></row><table>以上介紹了圖像編碼方法,與圖像編碼方法對應的,有圖像解碼方法,下面針對圖像解碼方法進行介紹。參見圖3,圖像解碼的主要方法流程如下步驟301:在n位CBP編碼表中查找與亮度碼號對應的n位CBP碼,并根據獲得的CBP碼進行亮度解碼。步驟302:在n位CBP編碼表中查找與色度碼號對應的n位CBP碼,并根據獲得的CBP碼進行色度解碼。參見圖4,圖像解碼的詳細方法流程如下本實施例主要以4:2:2采樣模式為例,亮度和色度的8x8大小的塊均為4個,因此n取值為4。步驟401:在4位CBP編碼表中查找與色度碼號對應的4位CBP碼,并根據獲得的CBP碼進行色度解碼。步驟402:在4位CBP編碼表中查找與色度碼號對應的4位CBP碼,并根據獲得的CBP碼進行色度解碼。步驟403:根據4位亮度CBP碼和4位色度CBP碼確定是否有殘差系數,如果有,則對殘差系數進行反量化,反變換得到殘差;否則確定殘差為0(相當于無殘差)。步驟404:根據色度殘差和色度預測得到圖像分塊的色度分量。步驟405:根據亮度殘差和亮度預測得到圖像分塊的亮度分量。步驟406:根據色度分量和亮度分量得到原始的圖像分塊。步驟407:將各圖像分塊組合,得到原始的一幀圖像。本實施例還提供用于實現圖像編碼和圖像解碼的裝置,下面首先介紹用于圖像編碼的裝置。參見圖5,本實施例中用于圖像編碼的編碼裝置包括亮度編碼模塊501和色度編碼模塊502。亮度編碼模塊501用于在n位CBP編碼表中查找與n位亮度CBP碼對應的碼號,并根據獲得的碼號進行亮度編碼。色度編碼模塊502用于在n位CBP編碼表中查找與n位色度CBP碼對應的碼號,并根據獲得的碼號進行色度編碼。該編碼裝置還包括接口模塊503,參見圖6所示。該接口模塊503用于獲得n位亮度CBP碼和n位色度CBP碼等。接口模塊503可以與預測裝置連接。該預測裝置用于進行亮度幀內預測和色度幀內預測,以及確定n位亮度CBP碼和n位色度CBP碼。該編碼裝置還包括存儲模塊504,用于存儲n位CBP編碼表等。參見圖7,本實施例中用于圖像解碼的解碼裝置包括亮度解碼模塊701和色度解碼模塊702。亮度解碼模塊701用于在n位CBP編碼表中查找與亮度碼號對應的n位CBP碼,并根據獲得的CBP碼進行亮度解碼。色度解碼模塊702用于在n位CBP編碼表中查找與色度碼號對應的n位CBP碼,并根據獲得的CBP碼進行色度解碼。該解碼裝置還包括接口模塊703,參見圖8所示。該接口模塊703用于獲得亮度碼號和色度碼號等。該編碼裝置還包括存儲模塊704,用于存儲n位CBP編碼表等。用于實現本發明實施例的軟件可以存儲于軟盤、硬盤、光盤和閃存等存儲介質。本發明實施例對4:2:2采樣模式的8位CBP碼分別進行變長編碼,即對4位亮度CBP碼進行變長編碼,對4位色度CBP碼進行變長編碼。得到的塊模式的取值范圍均為015(碼號也為015,二者之間有一個對應關系),可見亮度和色度的最大值的和也要小于聯合編碼,因此編碼效率有所提高。并且,在圖像編碼和解碼過程中,亮度和色度的碼號均通過4位CBP編碼表確定,可見提供一張4位CBP編碼表即可,節省了保存CBP編碼表所需的存儲空間。本發明實施例是針對4位亮度CBP碼和4位色度CBP碼的技術方案,適用于4:2:2等亮度CBP碼與色度CBP碼的位數相同的多種采樣模式。顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精神和范圍。這樣,倘若對本發明的這些修改和變型屬于本發明權利要求及其等同技術的范圍之內,則本發明也意圖包含這些改動和變型在內。權利要求一種圖像編碼方法,其特征在于,包括以下步驟在n位塊模式CBP編碼表中查找與n位亮度CBP碼對應的碼號,并根據獲得的碼號進行圖像亮度編碼;在n位CBP編碼表中查找與n位色度CBP碼對應的碼號,并根據獲得的碼號進行圖像色度編碼。2.如權利要求1所述的圖像編碼方法,其特征在于,n位CBP編碼表為4位亮度CBP編碼表。3.如權利要求1所述的圖像編碼方法,其特征在于,在進行圖像亮度編碼和圖像色度編碼之前,還包括步驟對一幀圖像進行分塊;對得到的圖像分塊進行亮度預測和色度預測;對預測殘差進行變換和量化,根據量化后的系數確定4位亮度CBP碼和4位色度CBP碼。4.一種用于圖像編碼的裝置,其特征在于,包括亮度編碼模塊,用于在n位CBP編碼表中查找與n位亮度CBP碼對應的碼號,并根據獲得的碼號進行圖像亮度編碼;色度編碼模塊,用于在n位CBP編碼表中查找與n位色度CBP碼對應的碼號,并根據獲得的碼號進行圖像色度編碼。5.如權利要求4所述的裝置,其特征在于,n位CBP編碼表為4位亮度CBP編碼表。6.—種圖像解碼方法,其特征在于,包括以下步驟在n位CBP編碼表中查找與亮度碼號對應的n位CBP碼,并根據獲得的CBP碼進行圖像亮度解碼;在n位CBP編碼表中查找與色度碼號對應的n位CBP碼,并根據獲得的CBP碼進行圖像色度解碼。7.如權利要求6所述的圖像解碼方法,其特征在于,n位CBP編碼表為4位亮度CBP編碼表。8.—種用于圖像解碼的裝置,其特征在于,包括亮度解碼模塊,用于在n位CBP編碼表中查找與亮度碼號對應的n位CBP碼,并根據獲得的CBP碼進行圖像亮度解碼;色度解碼模塊,用于在n位CBP編碼表中查找與色度碼號對應的n位CBP碼,并根據獲得的CBP碼進行圖像色度解碼。9.如權利要求8所述的裝置,其特征在于,n位CBP編碼表為4位亮度CBP編碼表。全文摘要本發明公開了一種圖像編碼方法,用于提高編碼效率。所述方法包括在4位CBP編碼表中查找與4位亮度CBP碼對應的碼號,并根據獲得的碼號進行亮度編碼;在4位CBP編碼表中查找與4位色度CBP碼對應的碼號,并根據獲得的碼號進行色度編碼。本發明還公開了一種用于實現所述方法的裝置。文檔編號H04N7/32GK101742330SQ200810226798公開日2010年6月16日申請日期2008年11月24日優先權日2008年11月24日發明者孫大瑞申請人:北京中星微電子有限公司;中星電子股份有限公司