專利名稱:用于圖像和視頻壓縮的系數(shù)族的可變長度編碼的制作方法
技術領域:
本公開一般地涉及圖像和視頻壓縮,更具體而言,涉及在變換圖像和視頻壓縮方 法中發(fā)生的對經(jīng)量化變換系數(shù)的可變長度編碼。
背景技術:
視頻數(shù)據(jù)的變換編碼和解碼通常包括熵編碼。對于壓縮,例如運動補償預測后的 殘余圖片或者幀內(nèi)編碼(intra-coding)的圖片之類的圖片中的像素信息被劃分成塊。例 如通過離散余弦變換(DCT)或者類似變換來對這些塊進行變換,然后量化得到的變換系 數(shù)。經(jīng)量化的變換系數(shù)例如沿著二維變換域中的一條路徑從低到高被排序。隨后,采用熵 編碼方法對經(jīng)量化變換系數(shù)的該有序串無損地編碼。一種常見的熵編碼方法是可變長度編 碼,在該編碼中,利用碼字對代表其屬性的一個或多個經(jīng)量化系數(shù)的一個或多個系數(shù)編碼, 使得對較可能出現(xiàn)的事件編碼的碼字平均來說比較少可能出現(xiàn)的事件的短。由于這種在效 率和簡單性之間的巧妙權衡,可變長度編碼(VLC)廣泛用在熵編碼中,尤其是在希望編解 碼的計算復雜度較低時。Chen等人的美國專利申請11/069,621 (公開為US 20060039615)、美國專利申 請No. 11/385,183(公開為US 20070019877)和美國專利申請11/270,138(公開為US 20060056720)描述了聯(lián)合幅度和位置編碼方法,這些方法用于在變換圖像和視頻壓縮方法 中出現(xiàn)的對經(jīng)量化變換系數(shù)的可變長度編碼。已發(fā)現(xiàn)這些申請中所描述的方法在對連續(xù)非 零變換系數(shù)編碼時比分別編碼游程(rim)和幅度水平相比較高效。對于圖像塊的傳統(tǒng)變換 和量化(其中最可能出現(xiàn)的經(jīng)量化變換幅度為0、下一個最可能出現(xiàn)的幅度為1),上述專利 公開中公開的編碼方法中的一些考慮到在經(jīng)量化變換系數(shù)的有序串中最可能出現(xiàn)的非零 值系數(shù)的幅度為“1”,并且利用多維可變長度編碼(VLC)映射結(jié)合系數(shù)位置來對幅度1/非 幅度1系數(shù)的出現(xiàn)進行編碼,所述多維可變長度編碼映射例如是多維VLC表。換言之,在一種實現(xiàn)方式中,利用一個可變長度碼字對下述量聯(lián)合編碼一個或多個非零系數(shù)前的零的 游程長度,非零系數(shù)的游程長度,以及非零系數(shù)中的那些量值為1。然后使用一個分離的1-D VLC來對非1非0系數(shù)的幅度編碼。試驗結(jié)果已表面上述專利公開中公開的聯(lián)合幅度和位置編碼是成功的熵編碼方 案。然而,在該聯(lián)合編碼實現(xiàn)方式中,用來實現(xiàn)聯(lián)合編碼的碼表的大小可能隨著非0系數(shù)的 游程增大而指數(shù)增大。這在實踐中可能要求非常高的存儲器量,例如低成本和/或低功率 實現(xiàn)方式中。因此希望一種在保留大多編碼效率的同時允許更小的碼表大小的方法。上述Junlin Li 等人的、題為 “REDUCED CODE TABLE SIZE INJOINT AMPLITUDE AND POSITION CODING OF C0EFICIENTS F0RVIDE0 COMPRESSION” 的美國臨時專利申請 No. 60/976,847包括將聯(lián)合編碼的幅度限定到非0族(cluster)的最近幾個系數(shù),直到預 定數(shù)目(標記為M)個這種拖尾系數(shù),使得在基本上保留了編碼效率的同時減少了碼表的大 小。拖尾系數(shù)的數(shù)目是在構造碼表之前確定的(并且也是固定的)。
圖1示出了用于對經(jīng)量化變換系數(shù)的有序串進行編碼的位置和幅度編碼方法的 一個實施例的流程圖。圖2示出了包括配置來實現(xiàn)這里所述的編碼方法的裝置的實施例。圖3示出了解碼器的一個實施例。圖4示出了包括可操作來實現(xiàn)這里所述的可變長度編碼方法的解碼器的裝置的 另一個實施例。圖5A、5B、5C和5D分別示出了用于使用三維聯(lián)合編碼來對非零值系數(shù)的族進行編 碼的方法實施例三維時間表的一部分。圖5E示出了對圖5A中的表的替換。在根據(jù)替換實施例的替換表中,由第三參數(shù) 定義了長度1的族的事件,其中該第三參數(shù)指示實際系數(shù)量值。圖5F示出了對圖5B中的表的替換。在該替換表中,根據(jù)替換實施例,利用第三參 數(shù)定義了長度2的族的事件,其中該第三參數(shù)不僅指示拖尾幅度1系數(shù)的數(shù)目,而且還指示 該族中的具有幅度1的系數(shù)。圖5G示出了對圖5C中的表格的替換。在該替換表格中,根據(jù)替換實施例,利用第 三參數(shù)定義了長度3的族的事件,其中該第三參數(shù)不僅指示拖尾幅度1的系數(shù)的數(shù)目,而且 還指示該族中的具有幅度1的系數(shù)。圖6示出了一二維可變長度編碼表,該表用于對族前的由零值系數(shù)的數(shù)目定義的 聯(lián)合位置事件和族中的非零值系數(shù)的數(shù)目進行編碼。圖7示出了一二維可變長度編碼表,該表用于對族中的拖尾幅度1系數(shù)的數(shù)目和 剛好在這些拖尾幅度1系數(shù)之前的系數(shù)的幅度進行編碼,該二維可變長度編碼表與圖6中 的編碼表一起用來對本發(fā)明一個實施例中的非零值系數(shù)的族的位置和幅度進行編碼。圖8示出了混合編碼的一個實施例的流程圖,該混合編碼包括用于例如非零值系 數(shù)的族很可能出現(xiàn)的第一低頻區(qū)域的當前編碼方法的實施例。
具體實施例方式概述本發(fā)明的實施例包括一種編碼方法、用于編碼的裝置、以及編碼在一個或多個計 算機可讀有形介質(zhì)中用來實現(xiàn)編碼方法的邏輯。該編碼方法用來對圖像數(shù)據(jù)塊的經(jīng)量化變 換系數(shù)的有序串進行編碼,具體而言,該方法是基于VLC的高級熵編碼方法。其他實施例包 括對利用前述編碼方法表面的一組碼字進行解碼的解碼方法、用于對利用編碼方法編碼的 一組碼字進行解碼的裝置、以及編碼在一個或多個計算機可讀有形介質(zhì)中用來實現(xiàn)解碼方 法的邏輯。具體實施例包括一種方法,該方法包括對于一個圖像數(shù)據(jù)塊的經(jīng)量化變換系數(shù)的有序串的第一區(qū)域,對具有除最可能出 現(xiàn)幅度之外的幅度的連續(xù)系數(shù)的每個族的位置和幅度進行編碼,其中所述第一區(qū)域可能是 整個串,所述串具有所述最可能出現(xiàn)幅度,并且至少一個其他幅度包括下一個最可能出現(xiàn) 幅度,對每個族的編碼包括對所述族的一個或多個事件進行編碼,包括對由下述至少兩個 參數(shù)所定義的聯(lián)合事件進行編碼在所述族之前的具有所述最可能出現(xiàn)幅度的系數(shù)的數(shù)目 以及所述族中系數(shù)的數(shù)目,并且包括對所述族中具有所述下一個最可能出現(xiàn)幅度的拖尾系 數(shù)的數(shù)目的指示進行編碼,其中對每個族進行編碼是根據(jù)至少一個多維聯(lián)合編碼映射的, 以使得對于至少一些事件,平均來說,利用所述聯(lián)合編碼映射對事件進行編碼,以使得平均 來說,用于對更可能出現(xiàn)的事件進行編碼的相應碼字比用于對不太可能出現(xiàn)的事件進行編 碼的相應碼字要短;以及對具有除最可能出現(xiàn)幅度之外的幅度、并且沒有通過對所述族中拖尾系數(shù)的數(shù)目 的指示的編碼而被聯(lián)合編碼的系數(shù)的幅度進行編碼。在一個稱作3-D實施例的實施例中,對每個族進行編碼包括對由下述三個參數(shù)所 定義的事件進行聯(lián)合編碼在所述族之前的具有所述最可能出現(xiàn)幅度的系數(shù)的數(shù)目、所述 族中系數(shù)的數(shù)目、以及包括對所述族中具有下一個最可能出現(xiàn)幅度的拖尾系數(shù)的數(shù)目的指 示的第三參數(shù),其中所述聯(lián)合編碼是根據(jù)三維聯(lián)合編碼映射的,以使得對于至少一些事件, 平均來說,利用所述聯(lián)合編碼映射對這些事件進行編碼以使得平均來說,用來對更可能出 現(xiàn)的事件進行編碼的相應碼字比用于對不太可能出現(xiàn)的事件進行編碼的相應碼字要短。在3-D實施例的一個版本中,所述第三參數(shù)是所述族中具有所述下一個最可能出 現(xiàn)幅度的拖尾系數(shù)的數(shù)目。在另一個版本中,對于至少一個族長度,所述第三參數(shù)包括對所 述族中具有所述下一個最可能出現(xiàn)幅度的系數(shù)的指示。在第二實施例中,對每個族進行編碼包括對由下述兩個參數(shù)所定義的事件進行聯(lián) 合編碼在所述族之前的具有所述最可能出現(xiàn)幅度的系數(shù)的數(shù)目、以及所述族中系數(shù)的數(shù) 目,并且還包括對由所述族中具有所述下一個最可能出現(xiàn)幅度的拖尾系數(shù)的數(shù)目所定義的 所述族的第二事件進行編碼,其中所述聯(lián)合編碼是根據(jù)第一二維聯(lián)合編碼映射的,以使得 對于至少一些事件,平均來說,利用所述聯(lián)合編碼映射對這些事件進行編碼,以使得平均來 說,用于對更可能出現(xiàn)的事件進行編碼的相應碼字比用于對不太可能出現(xiàn)的事件進行編碼 的相應碼字要短。具體實施例還包括一種編碼有計算機可執(zhí)行指令的計算機可讀介質(zhì),所述計算機 可執(zhí)行指令在被處理系統(tǒng)中的一個或多個處理器執(zhí)行時實現(xiàn)一種編碼方法,該編碼方法包括對于一個圖像數(shù)據(jù)塊的經(jīng)量化變換系數(shù)的有序串的第一區(qū)域,對具有除最可能出 現(xiàn)幅度之外的幅度的連續(xù)系數(shù)的每個族的位置和幅度進行編碼,其中所述第一區(qū)域可能是 整個串,所述串具有所述最可能出現(xiàn)幅度,并且至少一個其他幅度包括下一個最可能出現(xiàn) 幅度,對每個族的編碼包括對所述族的一個或多個事件進行編碼,包括對由下述至少兩個 參數(shù)所定義的聯(lián)合事件進行編碼在所述族之前的具有所述最可能出現(xiàn)幅度的系數(shù)的數(shù)目 以及所述族中系數(shù)的數(shù)目,并且包括對所述族中具有所述下一個最可能出現(xiàn)幅度的拖尾系 數(shù)的數(shù)目的指示進行編碼,其中對每個族進行編碼是根據(jù)至少一個多維聯(lián)合編碼映射的, 以使得對于至少一些事件,平均來說,利用所述聯(lián)合編碼映射對事件進行編碼,以使得平均 來說,用于對更可能出現(xiàn)的事件進行編碼的相應碼字比用于對不太可能出現(xiàn)的事件進行編 碼的相應碼字要短;以及對具有除最可能出現(xiàn)幅度之外的幅度、并且沒有通過對所述族中拖尾系數(shù)的數(shù)目 的指示的編碼而被聯(lián)合編碼的系數(shù)的幅度進行編碼。具體實施例還包括一種裝置,該裝置包括第一區(qū)域編碼器,在一個圖像數(shù)據(jù)塊的經(jīng)量化變換系數(shù)的有序串的第一區(qū)域中, 所述第一區(qū)域編碼器操作來對具有除最可能出現(xiàn)幅度之外的幅度的連續(xù)系數(shù)的每個族的 位置和幅度進行編碼,其中所述第一區(qū)域可能是整個串,所述串具有所述最可能出現(xiàn)幅度, 并且至少一個其他幅度包括下一個最可能出現(xiàn)幅度,對每個族的編碼包括對所述族的一個 或多個事件進行編碼,包括對由下述至少兩個參數(shù)所定義的聯(lián)合事件進行編碼在所述族 之前的具有所述最可能出現(xiàn)幅度的系數(shù)的數(shù)目以及所述族中系數(shù)的數(shù)目,并且包括對所述 族中具有所述下一個最可能出現(xiàn)幅度的拖尾系數(shù)的數(shù)目的指示進行編碼,其中對每個族進 行編碼是根據(jù)至少一個多維聯(lián)合編碼映射的,以使得對于至少一些事件,平均來說,利用所 述聯(lián)合編碼映射對事件進行編碼,以使得平均來說,用于對更可能出現(xiàn)的事件進行編碼的 相應碼字比用于對不太可能出現(xiàn)的事件進行編碼的相應碼字要短;以及幅度編碼器,操作來對具有除最可能出現(xiàn)幅度之外的幅度、并且沒有通過對所述 族中拖尾系數(shù)的數(shù)目的指示的編碼而被聯(lián)合編碼的系數(shù)的幅度進行編碼。具體實施例還包括一種解碼方法,該解碼方法包括識別一組聯(lián)結(jié)的碼字中的碼 字,所述碼字由一種編碼方法形成,以及利用多個碼映射對識別出的碼字進行解碼。所述編 碼方法包括對于一個圖像數(shù)據(jù)塊的經(jīng)量化變換系數(shù)的有序串的第一區(qū)域,對具有除最可能出 現(xiàn)幅度之外的幅度的連續(xù)系數(shù)的每個族的位置和幅度進行編碼,其中所述第一區(qū)域可能是 整個串,所述串具有所述最可能出現(xiàn)幅度,并且至少一個其他幅度包括下一個最可能出現(xiàn) 幅度,對每個族的編碼包括對所述族的一個或多個事件進行編碼,包括對由下述至少兩個 參數(shù)所定義的聯(lián)合事件進行編碼在所述族之前的具有所述最可能出現(xiàn)幅度的系數(shù)的數(shù)目 以及所述族中系數(shù)的數(shù)目,并且包括對所述族中具有所述下一個最可能出現(xiàn)幅度的拖尾系 數(shù)的數(shù)目的指示進行編碼,其中對每個族進行編碼是根據(jù)至少一個多維聯(lián)合編碼映射的, 以使得對于至少一些事件,平均來說,利用所述聯(lián)合編碼映射對事件進行編碼,以使得平均 來說,用于對更可能出現(xiàn)的事件進行編碼的相應碼字比用于對不太可能出現(xiàn)的事件進行編 碼的相應碼字要短;以及
對具有除最可能出現(xiàn)幅度之外的幅度、并且沒有通過對所述族中拖尾系數(shù)的數(shù)目 的指示的編碼而被聯(lián)合編碼的系數(shù)的幅度進行編碼。具體實施例還包括一種編碼有計算機可執(zhí)行指令的計算機可讀介質(zhì),所述計算機 可執(zhí)行指令在被處理系統(tǒng)中的一個或多個處理器執(zhí)行時實現(xiàn)一種解碼方法,該解碼方法包 括識別一組聯(lián)結(jié)的碼字中的碼字,所述碼字由一種編碼方法形成,以及利用多個碼映射對 識別出的碼字進行解碼。所述編碼方法包括對于一個圖像數(shù)據(jù)塊的經(jīng)量化變換系數(shù)的有序串的第一區(qū)域,對具有除最可能出 現(xiàn)幅度之外的幅度的連續(xù)系數(shù)的每個族的位置和幅度進行編碼,其中所述第一區(qū)域可能是 整個串,所述串具有所述最可能出現(xiàn)幅度,并且至少一個其他幅度包括下一個最可能出現(xiàn) 幅度,對每個族的編碼包括對所述族的一個或多個事件進行編碼,包括對由下述至少兩個 參數(shù)所定義的聯(lián)合事件進行編碼在所述族之前的具有所述最可能出現(xiàn)幅度的系數(shù)的數(shù)目 以及所述族中系數(shù)的數(shù)目,并且包括對所述族中具有所述下一個最可能出現(xiàn)幅度的拖尾系 數(shù)的數(shù)目的指示進行編碼,其中對每個族進行編碼是根據(jù)至少一個多維聯(lián)合編碼映射的, 以使得對于至少一些事件,平均來說,利用所述聯(lián)合編碼映射對事件進行編碼,以使得平均 來說,用于對更可能出現(xiàn)的事件進行編碼的相應碼字比用于對不太可能出現(xiàn)的事件進行編 碼的相應碼字要短;以及對具有除最可能出現(xiàn)幅度之外的幅度、并且沒有通過對所述族中拖尾系數(shù)的數(shù)目 的指示的編碼而被聯(lián)合編碼的系數(shù)的幅度進行編碼。具體實施例還包括一種用于解碼的裝置,該裝置包括碼字識別器,操作來識別一 組聯(lián)結(jié)的碼字中的碼字,所述碼字由一種編碼方法形成;以及碼字解碼器,操作來利用多個 碼映射對識別出的碼字進行解碼。所述編碼方法包括對于一個圖像數(shù)據(jù)塊的經(jīng)量化變換系數(shù)的有序串的第一區(qū)域,對具有除最可能出 現(xiàn)幅度之外的幅度的連續(xù)系數(shù)的每個族的位置和幅度進行編碼,其中所述第一區(qū)域可能是 整個串,所述串具有所述最可能出現(xiàn)幅度,并且至少一個其他幅度包括下一個最可能出現(xiàn) 幅度,對每個族的編碼包括對所述族的一個或多個事件進行編碼,包括對由下述至少兩個 參數(shù)所定義的聯(lián)合事件進行編碼在所述族之前的具有所述最可能出現(xiàn)幅度的系數(shù)的數(shù)目 以及所述族中系數(shù)的數(shù)目,并且包括對所述族中具有所述下一個最可能出現(xiàn)幅度的拖尾系 數(shù)的數(shù)目的指示進行編碼,其中對每個族進行編碼是根據(jù)至少一個多維聯(lián)合編碼映射的, 以使得對于至少一些事件,平均來說,利用所述聯(lián)合編碼映射對事件進行編碼,以使得平均 來說,用于對更可能出現(xiàn)的事件進行編碼的相應碼字比用于對不太可能出現(xiàn)的事件進行編 碼的相應碼字要短;以及對具有除最可能出現(xiàn)幅度之外的幅度、并且沒有通過對所述族中拖尾系數(shù)的數(shù)目 的指示的編碼而被聯(lián)合編碼的系數(shù)的幅度進行編碼。具體實施例可以提供所有、一些這里所述的方面、特征或優(yōu)點,或者不提供。具體 實施例可以提供一個或多個其他方面、特征或優(yōu)點,并且本領域技術人員從這里的附圖、說 明書和權利要求可以容易地明白這一個或多個其他方面、特征或優(yōu)點。示例實施例這里所述的編碼方法實施例用于對圖像數(shù)據(jù)塊進行編碼。對圖像數(shù)據(jù)塊進行變 換,對變換系數(shù)進行量化,并且所得到的經(jīng)量化系數(shù)被布置為二維陣列并被存儲,例如沿二維陣列中的Z字形路徑按照增大的空間頻率來得到經(jīng)量化系數(shù)的有序串。該變換和量化 使得零是最可能出現(xiàn)的幅度而1是接下來最可能出現(xiàn)的幅度。注意,本領域技術員認將理 解,該量化和/或變換可被改變,使得其他值是最可能出現(xiàn)的幅度和接下來最可能出現(xiàn)的 幅度,并且然后可以修改這里所述的方法來適應這種其他的量化和/變換。因此,假設零是 最可能出現(xiàn)的幅度而1是接下來最可能出現(xiàn)的幅度并未降低所述方法的一般性??勺冮L度編碼包括識別事件、利用碼字對事件進行編碼使得利用比不太可能出現(xiàn) 的事件的碼字短的碼字對很可能出現(xiàn)的事件進行編碼。對碼字的查找使用將事件映射到碼 字的一個或多個碼映射。在這里所述的實施例中,事件到碼字的映射是利用編碼表表示的, 例如用來為特定事件查找碼字來進行編碼的VLC表。然而,本領域技術人員將理解表僅是 可用來維護用以查找的碼字的一種數(shù)據(jù)結(jié)構。因此,“表”意味著用來存儲碼字使得例如一 個值或者一組值之類的事件可被查找的任意數(shù)據(jù)結(jié)構。本領域技術人員還將理解,要使用的VLC表是根據(jù)事件的統(tǒng)計數(shù)據(jù)確定的。在不 同的版本中,統(tǒng)計數(shù)據(jù)可以是基于對相似圖片或者圖片序列的測量或者基于假設的統(tǒng)計數(shù) 據(jù)的假設統(tǒng)計數(shù)據(jù)。此外,本領域技術人員將理解VLC表無需僅包括可變長度碼。為了降低 任意特定表的大小,可利用固定長度而不是可變長度碼來對相對稀少的那些事件的編碼。這里所述方法的一個實施例適于混合編碼。在混合可變長度編碼中,圖像數(shù)據(jù)塊 的經(jīng)變換系數(shù)的有序串被劃分成至少兩個區(qū)域低頻區(qū)域和高頻區(qū)域,在低頻區(qū)域中可能 存在非零系數(shù)族,而在高頻區(qū)域中可能散布著非零值系數(shù),低頻區(qū)域和高頻區(qū)域由分界點 (breakpoint)隔開。例如參見Chen等人的美國專利申請公開US 20050276487。圖1示出了本發(fā)明一個實施例的流程圖。在經(jīng)量化變換系數(shù)的有序串中的第一區(qū) 域(這可能是整個串)中,方法包括對連續(xù)非零值系數(shù)族的位置和幅度進行編碼。每個族是 由一個或多個事件定義的,這一個或多個事件包括至少由該族前的零值系數(shù)的數(shù)目和該族 中的非零值系數(shù)的數(shù)目定義的聯(lián)合位置和幅度事件。在稱作3-D實施例的第一實施例中, 該族聯(lián)合位置和幅度事件是也由第三參數(shù)定義的3-D事件,該第三參數(shù)指示在根據(jù)3維聯(lián) 合VLC表編碼時該族中的幅度為1的拖尾系數(shù)的數(shù)目。在另一個實施例中,該聯(lián)合位置和 幅度事件是2-D事件,并且該族是至少由該族中幅度為1的拖尾系數(shù)的數(shù)目進一步定義的。 該方法還包括對該族中的其他非零值系數(shù)的幅度進行編碼,這些其他非零值系數(shù)的幅度是 尚未通過對該族中的幅度為1的拖尾系數(shù)的數(shù)目的指示的編碼而被編碼的,例如在對除與 幅度為1的拖尾非零系數(shù)直接相鄰的所有系數(shù)的幅度進行編碼的一個版本中,并且還利用 1-D VLC對幅度大于1的相鄰系數(shù)的幅度的值進行編碼,例如作為(幅度值減1)。在3-D實施例的第一實現(xiàn)方式中,被聯(lián)合編碼的聯(lián)合事件是由三個參數(shù)定義的 族前的連續(xù)零值的數(shù)目(可能為0),族中非零值系數(shù)的數(shù)目,以及族中幅度為1的連續(xù)拖尾 系數(shù)的數(shù)目,使得事件利用三維碼映射。對族中的其他非零系數(shù)的幅度的編碼(例如在對 除與幅度為1的拖尾非零系數(shù)直接相鄰的系數(shù)之外的系數(shù)的幅度進行編碼的一個版本中) 使用 1-D VLC。在3-D實施例的替換實現(xiàn)方式中,對于一個或多個族長度,第三參數(shù)包括對族中 的幅度為1的系數(shù)的指示。在作為對3-D實施例的替換的第二實施例,聯(lián)合事件是由兩個參數(shù)定義的族前 的連續(xù)零值系數(shù)的數(shù)目(可能為0),以及族中非零值系數(shù)的數(shù)目。對該族中幅度為1的拖尾系數(shù)的數(shù)目的編碼是利用1-D VLC獨立編碼的,或者在替換實施例中是利用2-D VLC結(jié) 合幅度大于1的直接前面的系數(shù)的幅度編碼的。方法的實施例還包括對族中的非零值系數(shù)的符號進行編碼,并且聯(lián)結(jié)所得到的碼 字。當在串中存在多于一個區(qū)域的情況下,例如對于混合可變長度編碼,該方法還包括對剩 余的(一個或多個)區(qū)域中的系數(shù)進行編碼?,F(xiàn)在更詳細地描述這些特征。本發(fā)明的一個實施例包括第一編碼方法用來對在非零值系數(shù)的游程(“族”)中出 現(xiàn)的連續(xù)非零值系數(shù)的位置進行編碼的第一編碼方法和用來對族中的非零值系數(shù)的幅度 進行編碼的第二編碼方法,用以產(chǎn)生碼字,這些碼字用于在圖像數(shù)據(jù)的經(jīng)量化變換系數(shù)的 有序串的第一區(qū)域(低頻區(qū)域)中對該有序串進行編碼。這種串在許多圖像壓縮方法中出 現(xiàn)。發(fā)明人發(fā)現(xiàn)在稱作非零系數(shù)族的連續(xù)非零系數(shù)的游程中,量值為1的系數(shù)的概率 隨著系數(shù)的頻率從族中的最高頻系數(shù)降低到族中的最低頻系數(shù)而逐漸降低。換言之,族中 最后的系數(shù)更可能具有幅度1,而其他較低頻率的系數(shù)趨向具有較大的量值。這種發(fā)現(xiàn)導致 了這里所述的方法,該方法在編碼處理中利用了該發(fā)現(xiàn)。在這里稱作3-D實施例的第一實施例中,為了對一個或多個非零值系數(shù)的族中的 幅度和位置編碼,利用三個量定義的事件首先被利用從這三個量到碼字的三維映射聯(lián)合編 碼。每個事件是通過下述參數(shù)定義的一個或多個非零值系數(shù)的族前的連續(xù)零值系數(shù)的數(shù) 目(可能為零),非零值系數(shù)的數(shù)目,以及指示族中的幅度為1的拖尾系數(shù)的數(shù)目的第三參 數(shù)。圖 5A、5B、5C 和 5D 分別示出 了用于 1(圖 5A)、2(圖 5B)、3(圖 5C)、…、n (圖 5D)
個連續(xù)非零值系數(shù)的族的事件的多個表格,其中n是最長的族。在這些表格中,指示族中幅 度為1的拖尾系數(shù)的數(shù)目的第三參數(shù)是幅度為1的拖尾系數(shù)的數(shù)目。本發(fā)明的一個實施例 包括,在有序串的、可能是整個串的第一區(qū)域中,或者在混合編碼的情形中的低頻區(qū)域中, 利用根據(jù)可變碼長映射(例如,可變長度碼表)的碼字對每個事件進行編碼,使得平均來說 給予很可能出現(xiàn)的事件的碼字比不太可能出現(xiàn)的事件的短。當然,碼字被選擇為可唯一地 解碼。除了對指示幅度為1的拖尾系數(shù)的數(shù)目的參數(shù)和系數(shù)位置的聯(lián)合編碼外,還利用 1-D VLC另外對族中尚未利用聯(lián)合編碼編碼的剩余非零系數(shù)的幅度進行編碼。一個實施例 包括利用一維碼映射(例如,1-D VLC)對所有剩余非零系數(shù)的幅度編碼。另一個實施例如 下對這些非零系數(shù)進行編碼直接利用一維碼映射(例如,1-D VLC)對除幅度為1的拖尾 系數(shù)之前前面的一個系數(shù)之外的所有剩余非零系數(shù)的幅度編碼,同時利用1-DVLC對指示 在幅度為1的拖尾系數(shù)前第二個系數(shù)的幅度的值(例如,幅度減1的值)編碼。對直接前 一個值的單獨編碼可以縮短碼字,因為系數(shù)必須大于1。圖5E示出了對圖5A的表格的替換。在根據(jù)替換實現(xiàn)方式的替換表格中,長度1 的族的事件是由第三參數(shù)定義的,該第三參數(shù)指示實際系數(shù)量值。圖5E中的量L表示實際 經(jīng)量化系數(shù)量值。圖5E中的表格的用法實質(zhì)上等價于將圖5A中的3-D表格削減到2-D游 程級別表格,用于低頻區(qū)域中的隔離的非零系數(shù),或者如果沒有使用分界點的話貫穿整個 頻譜。這可以提高編碼效率,作為對幅度不為1的那些隔離非零值系數(shù)中的每個使用兩個碼字的替換,在使用圖5E中的表格時僅使用一個碼字。在3-D實施例的替換版本中,對于第二參數(shù)的至少一些值,即,對于非零值系數(shù)族 的至少一些游程長度值,指示拖尾系數(shù)的數(shù)目的第三參數(shù)還指示幅度為1的非零值系數(shù)。 這通過利用較少數(shù)目的碼字而提高了性能,但是付出了增大了表格大小的代價。圖5F示出了對圖5B中所示的3-D事件表格的用于游程長度為2的非零值系數(shù)的 族的部分的替換。第三參數(shù)中的值1指示幅度為1的系數(shù),并且值χ指示幅度不為1的系 數(shù)。在利用族中在前零值系數(shù)的數(shù)目和非零值系數(shù)的數(shù)目聯(lián)合編碼的第三參數(shù)不僅包括對 幅度為1的拖尾系數(shù)的數(shù)目的指示,而且還包括對族中的任何幅度不為1的系數(shù)的位置的 指示。3-D實施例的替換版本的一種實現(xiàn)方式包括聯(lián)合編碼長度為2的族的3-D事件,其中 利用族中在前零值系數(shù)的數(shù)目和非零值系數(shù)的數(shù)目聯(lián)合編碼的第三參數(shù)不僅包括對幅度 為1的拖尾系數(shù)的數(shù)目的指示,而且還包括對族中的任何幅度不為1的系數(shù)的位置的指示。注意,3-D實施例的第一版本具有比第二版本小的表格。但是,注意例如為了采用 利用圖5B的第一版本對族Ix編碼,利用一個碼編碼事件(3,2,0),并且利用I-D表格編碼 幅度X,然后利用I-D表格編碼幅度1。為了利用替換版本編碼族lx,利用一個碼編碼事件 (3,2,lx),利用I-D表格編碼幅度χ。少使用了一個碼字。在3-D實施例的替換版本的其他實現(xiàn)方式中,多個族長度被這樣編碼。圖5G示出 了對圖5C中所示事件的3-D表格中用于長度為3的非零值系數(shù)的族的部分的替換。3-D實 施例的替換版本的一種實現(xiàn)方式包括聯(lián)合編碼長度為2的族和長度為3的族的3-D事件, 其中利用族中的在前零值系數(shù)的數(shù)目和非零值系數(shù)的數(shù)目聯(lián)合編碼的第三參數(shù)不僅包括 對幅度為1的拖尾系數(shù)的數(shù)目的指示,而且還包括對該族中的任何幅度不為1的系數(shù)的位 置的指示。在第二實施例中,不再有下述限制一起對所有事件進行編碼,其中在實踐中施加 了多于預定義數(shù)目(例如3個)或者更多個拖尾系數(shù)來縮小3-D表格的大小。為了對一個 或多個非零值系數(shù)的族的幅度和位置進行編碼,由兩個量定義的事件首先通過利用從這兩 個量到一個碼字的二維映射而被聯(lián)合編碼。每個事件由下述量定義在這一個或多個非零 值系數(shù)的族之前的連續(xù)零值系數(shù)的數(shù)目(可能為零),以及非零值系數(shù)的數(shù)目。族中幅度為1的拖尾系數(shù)的數(shù)目的指示也被編碼。注意,這里可能不存在拖尾系 數(shù)。在第二 實施例的一個版本中,這些利用I-D VLC表而被編碼為幅度為1的拖尾系數(shù)的 數(shù)目的游程長度。在第二版本中,該族中幅度為1的拖尾系數(shù)的數(shù)目與直接前面的幅度不 為1的系數(shù)的幅度一起被利用2-D VLC聯(lián)合編碼。在一種實現(xiàn)方式中,該情形是不包括幅 度為1的拖尾系數(shù)的情形,即,幅度為1的拖尾系數(shù)的數(shù)目為0。注意,還包括僅具有1的族 的情形的事件,即,幅度為1的拖尾系數(shù)前的非1幅度為0。由于族中非零系數(shù)的總數(shù)被編 碼,所以解碼器將了解該族全為1,從而具有零個非1系數(shù)的事件由幅度為1的拖尾系數(shù)的 數(shù)目等于非零系數(shù)的數(shù)目隱含指示出。這種事件不要求比特被包括在編碼比特流中。圖6示出了分別用于1、2、3、…、N個連續(xù)非零值系數(shù)的事件的第一二維碼表,其 中N是最長的族。本發(fā)明的一個實施例包括,在有序串的第一區(qū)域中(其可能是整個串), 或者在混合編碼、低頻區(qū)域的情形中,每個事件通過根據(jù)可變長度碼映射(例如,可變長度 碼表)的一個碼字而被編碼,使得平均來說給予很可能出現(xiàn)的事件的碼字比給予不太可能 出現(xiàn)的事件的碼字短。當然,碼字被選擇為唯一可解碼的。C1(ZA)表示用于對事件進行聯(lián)合編碼的碼字,其中該事件包括Z ^ O個連續(xù)非零值系數(shù),跟隨η ^ 1個連續(xù)非零值經(jīng)量化 系數(shù)的族。圖7示出了對每個族中的幅度為1的拖尾系數(shù)進行編碼的一個版本,在該版本中 與直接在幅度不為1的系數(shù)前面的系數(shù)的幅度聯(lián)合編碼。在圖7中,C2 (t, At)表示可變長 度碼字,該可變長度碼字是用于t個幅度為1的拖尾系數(shù)的游程長度的,并且該這t個幅度 為1的拖尾系數(shù)直接前面存在一個幅度為At的系數(shù),其中η > t > 0,At > 1,并且當且僅 當t = n時At = 0。η表示族中非零值系數(shù)的數(shù)目。對于這種長度η的族,使用僅多至η的 表格。注意,在一個實施例中,存儲了單個表格7,而在另一個實施例中,針對每個族長度η 存儲了不同的表格。在圖6和7的碼表所示的實現(xiàn)方式中,除了對系數(shù)位置和族大小的聯(lián)合編碼外,對 在幅度不為1的系數(shù)直接前面的幅度為1的拖尾系數(shù)的數(shù)目和族中其余非零系數(shù)的幅度的 聯(lián)合編碼是利用I-D VLC分別編碼的。一個實施例包括利用一維碼映射(例如,I-D VLC) 對除直接在幅度為1的拖尾系數(shù)前的一個系數(shù)之外的所有其余非零系數(shù)的幅度進行編碼?;旌峡勺冮L度編碼是已知的,其中一個圖像數(shù)據(jù)快的經(jīng)量化變換系數(shù)的有序串被 劃分成低頻區(qū)域和高頻區(qū)域,在該低頻區(qū)域中可能存在非零系數(shù)的族,在該高頻區(qū)域中可 能散布了非零值系數(shù),低頻區(qū)域和高頻區(qū)域由分界點隔開。參見Chen等人的美國專利申請 公開US 20050276487。圖8示出了混合編碼方法的一個實施例的流程圖,該方法包括圖1 所示的用于第一區(qū)域的方法。該方法包括確定或者利用預定義的分界點,該分界點將串劃 分成第一區(qū)域(例如,低頻區(qū)域)和第二區(qū)域(例如,高頻區(qū)域)。在第一區(qū)域中,該方法包 括圖1中的用于第一區(qū)域的上述步驟。在第二區(qū)域中,該方法使用在US 20060039615中所 述的編碼方法,在該方法中假設第二區(qū)域主要是散布的幅度為1的系數(shù),因此標出幅度不 為1的系數(shù)。該方法包括利用例如由I-D VLC表定義的一維可變長度碼來對由在單個非零 值系數(shù)前的零值系數(shù)的游程長度(包括長度0)定義的事件進行編碼。該方法還包括指示 其中結(jié)尾系數(shù)幅度大于1的任何事件,并且對指示該幅度的值進行編碼,例如,幅度值減1。 該方法還包括對第二區(qū)域中的事件的結(jié)尾非零值系數(shù)的符號進行編碼。示例串為了通過一個示例說明編碼方法的一個實施例,假設了下面的經(jīng)量化變換系數(shù)的 串頻率索引12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17...系數(shù)09851003 -1 100000 -1 0 0—0以10為分界點來應用混合可變長度編碼(HVLC),并且利用這里所述的聯(lián)合編碼 方法,該聯(lián)合編碼方法使用3-D實施例的第一版本(使用圖5A-5D中所示的事件),并且該 第一版本包括用于低頻系數(shù)的三參數(shù)聯(lián)合事件編碼和用于高頻系數(shù)的傳統(tǒng)2-D游程長度 編碼,上述系數(shù)串將被編碼如下。
Cm (1,4,1) +S++SA (9) +S++CA (8) +S++CA (4) +S++Cm (1,3,2) +S++S_+CA (2) +S++CEL (4,1) +S_其中,“ + ”表示聯(lián)結(jié),Cm(,,)表示三維幅度和位置編碼的可變長度碼字,其中第 一參數(shù)是在前零值系數(shù)的數(shù)目、第二參數(shù)是族長度、并且第三參數(shù)是幅度為1的拖尾系數(shù) 的數(shù)目,CaO表示利用I-D幅度碼映射的可變長度碼字,Cel(,)表示利用傳統(tǒng)(游程,水 平)"游程長度編碼的可變長度碼字,并且S+和S_分別指示用于正和負非零幅度系數(shù)的碼字。注意,在一個實施例中定義的每個族也以零值系數(shù)結(jié)束,所以第一個族是9 8 5 10,具有一個在前零值系數(shù),第二個族為3 -1 1 0,具有僅一個在前零值系數(shù),等等。為了通過示例來說明編碼方法的第二實施例,假設了相同的經(jīng)量化變換系數(shù)串。 在10為分界點的情況下應用混合可變長度編碼(HVLC),并且利用用于低頻系數(shù)的、具有如 圖6和7所示的兩個2-D聯(lián)合事件的這里所述的雙聯(lián)合編碼方法和用于高頻系數(shù)的傳統(tǒng) 2-D游程長度編碼,上述系數(shù)串將被編碼如下。C1 (1,4) +C2 (1,5) +S++S++CA (9) +S++CA (8) +SjC1 (1,3) +C2 (2,3) +S++S_+S++CKL (4,1) +S_其中,“ + ”表示聯(lián)結(jié),C^z, η)表示用于對事件進行聯(lián)合編碼的碼字,該事件包括 ζ彡0個連續(xù)零值系數(shù),跟隨ζ彡1個連續(xù)非零值經(jīng)量化系數(shù)的族,C2 (t,At)表示用于t個 幅度為1的拖尾系數(shù)的游程長度的碼字,其中這t個幅度為1的拖尾系數(shù)直接前面存在一 個幅度為At的系數(shù),其中to,At Φ 1,并且僅當t興0時At = 0,CaO表示利用I-D幅度碼 映射的可變長度碼字,CRL (,)表示利用傳統(tǒng)的(游程,水平)_游程長度編碼時的可變長度 碼字,并且S+和S_分別指示用于正和負非零幅度系數(shù)的碼字。再次注意,由于在一個實施例中定義的每個族以零值系數(shù)結(jié)束,所以第一個族是9 8 5 1 0,具有一個在前零值系數(shù),第二個族為3 -1 1 0,具有僅一個在前零值系數(shù),等等。Junlin Li 等的題為 “REDUCED CODE TABLE SIZE IN JOINTAMPLITUDE AND POSITION CODING OF COEFFICIENTS FOR VIDE0C0MPRESSI0N” 的美國臨時專禾丨J 申請 No. 60/976,847在一個混合編碼實施例中包括在第一區(qū)域中,利用根據(jù)3維聯(lián)合VLC表對 位置和幅度事件進行聯(lián)合編碼,每個事件是由連續(xù)非零值系數(shù)的族定義的,美國聯(lián)合事件 由三個參數(shù)定義該族前的零值系數(shù)的數(shù)目,該族中的非零值系數(shù)的數(shù)目,以及對幅度大于 1的拖尾系數(shù)中的直到最大數(shù)目M的拖尾系數(shù)的指示。該方法還包括對幅度大于1的非零值 拖尾系數(shù)的幅度進行編碼,該編碼是利用用于指示該幅度的每個值的I-D VLC的,例如(幅 度值減1)。該方法還包括對具有多于M個非零值系數(shù)的族中的任何其余非零值系數(shù)的幅 度進行編碼。該方法還包括對該族中的非零值系數(shù)的符號進行編碼,并且聯(lián)結(jié)得到的碼字。 在串中存在多于一個區(qū)域的情形中,例如,對于混合可變長度編碼,該方法還包括對(一個 或多個)其余區(qū)域中的系數(shù)進行編碼。試驗結(jié)果表明,與美國臨時專利申請No. 60/976,847中的方法的實施例相比,在M =3時,這里給出的編碼方法的實施例提供了類似的比特速率性能,并且具有類似的碼表 大小。換言之,在碼表大小和編碼效率之間兩種方法實現(xiàn)了類似的權衡。然而,與任何非 零幅度中包括不多于M個拖尾系數(shù)的幅度的數(shù)目的方法相比,可以發(fā)現(xiàn)本發(fā)明的利用3-D VLC的實施例更容易控制,并且更適合于基于上下文的自適應編碼策略,該策略包括根據(jù)上 下文的VLC表切換。解碼上述說明大多涉及編碼方法,本領域技術人員將理解,本發(fā)明還涉及解碼方法和 裝置,用于對通過這里所述的任意編碼實施例編碼的比特流進行解碼。該解碼方法包括接 收包括通過上述編碼方法編碼的碼字的比特流,包括識別該比特流中的碼字和對碼字進行 解碼。裝置
特定實施例包括一種裝置,該裝置包括編碼器,操作來對一個圖像塊的經(jīng)量化變 換系數(shù)的有序串中的非零值系數(shù)的族的位置和幅度進行編碼,這些串具有最可能出現(xiàn)的幅 度,例如0,以及包括下一個最可能出現(xiàn)幅度在內(nèi)的至少一個其他幅度,例如1,該編碼器包 括一聯(lián)合編碼器,操作來利用根據(jù)3維聯(lián)合VLC表的編碼來在串的第一區(qū)域中對聯(lián)合位置 和幅度事件進行編碼,這些事件每個由連續(xù)非零值系數(shù)的族定義,每個事件由三個參數(shù)定 義在該族之前的零值系數(shù)的數(shù)目、該族中非零值系數(shù)的數(shù)目、以及第三參數(shù),該第三參數(shù) 指示該族中幅度為1的拖尾非零值系數(shù)的數(shù)目。該裝置還包括幅度編碼器,操作來對尚未通過聯(lián)合編碼編碼的非零值系數(shù)進行編 碼,例如,對除幅度為1的拖尾系數(shù)之外的系數(shù)進行編碼。在一個實施例中,該系數(shù)幅度編 碼器對于指示幅度的每個值使用一個1-DVLC。一個實施例獨立地對除與幅度為1的拖尾 系數(shù)相鄰的系數(shù)之外的非零值系數(shù)進行編碼,隨后對相鄰非零系數(shù)的(幅度值減1)的值編 碼,因為該系數(shù)具有大于1的幅度。
該裝置還包括符號編碼器,操作來對族中的非零值系數(shù)的符號進行編碼。利用混合可變長度編碼方法進行編碼的編碼器的一個實施例操作來在為有序串 定義了兩個或更多個區(qū)域的情形中對其余區(qū)域中的系數(shù)進行編碼。該編碼器還包括聯(lián)結(jié)器,操作來聯(lián)結(jié)所得到的碼字。圖2示出了包括裝置200的實施例,裝置200可操作來實現(xiàn)這里所述的編碼方法, 例如圖1中所示的。裝置200包括處理系統(tǒng)203,處理系統(tǒng)203包括一個或多個處理器205 和存儲器207。圖2中示出了單個處理器,并且本領域技術人員將明白這可以表示多個處 理器。類似地,示出了單個存儲器子系統(tǒng)207,并且本領域技術人員將明白該存儲器子系統(tǒng) 可以包括不同的元件,例如RAM、R0M等。另外,存儲器子系統(tǒng)意味著包括任意非易失性存儲 器存儲裝置,例如磁或光存儲裝置組件。包括有計算機程序209,并且被加載到存儲器207 中。注意,在任意時刻,程序中的一些可以在存儲器子系統(tǒng)的不同部分中,本領域技術人員 將理解這點。程序209包括指令,用來指示處理器在不同的版本中實現(xiàn)不同編碼方法,包括 不同的位置編碼方法。在所示實施例中,該方法使用存儲器子系統(tǒng)207中的一個或多個編 碼表211。圖3示出了解碼器的一個實施例。該裝置包括輸入緩沖器301,輸入緩沖器301可 操作來接收利用壓縮方法編碼的比特流,所述壓縮方法包括這里所述的任意編碼方法實施 例。該緩沖器的輸出用作到碼字識別器303的輸入,碼字識別器303接收輸入比特流 中的比特,并且可操作來確定該碼字來自的編碼表。解碼器305耦合到碼字識別器303, 并且可操作來確定由碼字識別器所識別出的碼字的數(shù)據(jù),對于這里所述的任何位置編碼方 法,碼字識別器可依據(jù)所使用的位置編碼確認非零或零值系數(shù)的位置。碼字識別器還識別 對利用編碼方法編碼的其他參數(shù)進行編碼的其他碼字,包括非零值、對拖尾系數(shù)的數(shù)目的 指示等等。在一個實施例中,解碼器305包括一查找器件,該查找器件查找存儲器307中存 儲的適當?shù)慕獯a表。該表提供碼字集合中的至少一些碼字的事件。其他碼字可包括“轉(zhuǎn)義” 碼,使得能夠利用表查找方法之外的方法來實現(xiàn)解碼。盡管在圖3所示的實施例中,存儲器被示為與查找器件(解碼器)305相分離,但 是本領域技術人員將理解,在其他實施例中,查找器件305包括用于表格的存儲器,并且這種其他實施例也被包括在這里。圖4示出了包括裝置400的另一個實施例,裝置400可操作來實現(xiàn)這里所述的可 變長度編碼方法的解碼器。解碼裝置400包括處理系統(tǒng)403,處理系統(tǒng)403包括一個或多個 處理器405和存儲器407。圖4中示出了單個存儲器,但是本領域技術人員將理解這可以代 表多個處理器。類似地,示出了單個存儲器子系統(tǒng)407,但是本領域技術人員將理解存儲器 子系統(tǒng)可包括不同的元件,例如RAM、R0M等。另外,存儲器子系統(tǒng)意味著包括任意非易失性 存儲器存儲裝置,例如磁或光存儲裝置組件。包括有計算機程序409,并且被加載到存儲器 407中。注意,在任意時刻,程序中的一些可以在存儲器子系統(tǒng)的不同部分中,本領域技術人 員將理解這點。程序409包括指令,用來指示處理器在不同的版本中實現(xiàn)對碼字的識別和 解碼。在所示實施例中,該解碼方法使用存儲器子系統(tǒng)407中的一個或多個編碼表411。其他實施例包括編碼在一個或多個有形介質(zhì)中的用于執(zhí)行的邏輯,并且在被執(zhí)行 時可操作來實現(xiàn)這里所述的任意編碼方法。對于本領域技術人員,根據(jù)這里的描述如何實 現(xiàn)這種邏輯是清楚的。其他實施例包括編碼在一個或多個有形介質(zhì)中用于執(zhí)行的邏輯,并且在被執(zhí)行時 可操作來實現(xiàn)這里所述的任意解碼方法。對于本領域技術人員,根據(jù)這里的描述如何實現(xiàn) 這種邏輯是清楚的。
其他實施例包括編碼在一個或多個有形介質(zhì)中的軟件,并且在被執(zhí)行時可操作來 實現(xiàn)這里所述的任意編碼方法。對于本領域技術人員,根據(jù)這里的描述如何實現(xiàn)這種軟件 是清楚的。其他實施例包括編碼在一個或多個有形介質(zhì)中的軟件,并且在被執(zhí)行時可操作來 實現(xiàn)這里所述的任意解碼方法。對于本領域技術人員,根據(jù)這里的描述如何實現(xiàn)這種軟件 是清楚的。其他實施例包括其上編碼有一組指令的計算機可讀介質(zhì),所述一組指令在被處理 系統(tǒng)的一個或多個處理器執(zhí)行時使得實現(xiàn)這里所述的任意編碼方法。其他實施例包括其上編碼有一組指令的計算機可讀介質(zhì),所述一組指令在被處理 系統(tǒng)的一個或多個處理器執(zhí)行時使得實現(xiàn)這里所述的任意解碼方法。對于經(jīng)量化系數(shù)的串這里所使用的術語“串”有時被稱作系數(shù)“塊”,并且也稱作系 數(shù)“串”。有時還使用術語系數(shù)系數(shù)序列。本領域技術人員將理解這些術語可互換使用,并 且根據(jù)上下文含義對于本領域技術人員是清楚的。而且,在本說明中,假設串只包括AC系數(shù)并且塊變換的DC系數(shù)是分開編碼的。如 何修改這里描述的方法以包括DC系數(shù)對于本領域技術人員而言是清楚的。此外,在示例實施例的描述中,假設對系數(shù)的量化使得0是最可能出現(xiàn)的幅度,而 1是下一個最可能出現(xiàn)的幅度。當然,也可以以其他方式進行量化,使得其他值或事件被用 作最可能出現(xiàn)的一個或多個量化值,并且不同的其他值或者事件用作下一個最可能出現(xiàn)的 一個或多個值。本領域技術人員將理解如何修改這里描述的細節(jié)來適應這種變動,并且這 些變動必然在本發(fā)明的范圍內(nèi)。此外,本發(fā)明不限于任何一種類型的體系結(jié)構或者任何一種類型的變換編碼。在 一個實施例中使用的變換是在Hig Profile的H. 264/MPEG-4AVC視頻編碼標準/草案標準 中定義的8X8變換。其他實施例使用中國AVS標準的變換。其他實施例使用離散余弦變換(DCT)。其他變換也是可以的。另外,這里所述的塊大小是8X8,但是在替換實施例中也 可以使用其他塊大小。本發(fā)明不依賴于任何特定類型的幀間編碼(如果使用了的話),或者任何特定類 型的運動壓縮(如果用于幀間編碼的話),或者任何幀內(nèi)估計(如果用于利用來自相鄰塊的 信息來估計塊的像素的話)。注意,可變長度編碼有時也稱作熵編碼或者統(tǒng)計編碼。在上述實施例中的一些中,包括無符號數(shù)據(jù)。大多變換產(chǎn)生正或者負系數(shù),并且碼 字的形成包括對任意非零值系數(shù)的符號的指示。在一個版本中,任意區(qū)域中的任意游程的 非零幅度的符號信息與每個幅度的信息一起被添加。在替換實施例中,可以以不同的方式 來包括任意區(qū)域中的任意游程的非零幅度,例如作為符號串的碼。對于對符號進行編碼,其 他替換實施例也是可以的。注意,在幅度編碼的一些示例中,對于系數(shù)可以假設不同數(shù)目的可能非零值。然 而,本發(fā)明不限于任何數(shù)目個可能量化值。還要注意,術語幅度無符號。因此,例如,值為+1和-1的系數(shù)都具有幅度1。盡管這里所述的一個實施例包括存儲編碼表的存儲器,但是其他實施例以表格之 外的數(shù)據(jù)結(jié)構的形式存儲存儲編碼信息,例如包括樹的結(jié)構。也可以使用其他數(shù)據(jù)結(jié)構。類 似地,盡管這里所述的一個實施例包括存儲解碼信息的存儲器,但是其他實施例以用于解 碼的表格之外的數(shù)據(jù)結(jié)構形式存儲解碼信息。還要注意,本發(fā)明不依賴于用于任意編碼方法的可變長度編碼的特定類型,例如 編碼表,并且可以例如與Huffman編碼和算術編碼方法一起工作。此外,盡管已描述了實施 例使用基于事件的假設或者在先出現(xiàn)可能性(也稱作事件)對事件的固定編碼,即,事件出 現(xiàn)的可能性不變,但是其他實施例可以使用自適應編碼,即,編碼可根據(jù)從實際系數(shù)收集的 直方圖之類的統(tǒng)計數(shù)據(jù)改變。除非另外專門陳述,從下面的討論可清楚,應理解在整個說明書討論中使用術語 例如“處理”、“運算”、“計算”、“確定”等指計算機系統(tǒng)或者類似的電子計算設備的動作和/ 或處理,所述動作和/或處理操縱和/或變換表示電子之類的物理量到類似地表示為物理 量的其他數(shù)據(jù)。以類似的方式,術語“處理器”可以指任何器件或者器件的一部分,該器件或者器 件的一部分對例如來自寄存器和/或存儲器的電子數(shù)據(jù)進行處理來將電子數(shù)據(jù)變換成其 他電子數(shù)據(jù),其他電子數(shù)據(jù)例如可被存儲在寄存器和/或存儲器中?!坝嬎銠C”或者“計算 機器”或者“計算平臺”可以包括一個或多個處理器。注意,在描述一種方法包括多個元素,例如多個步驟,并未隱含這些元素(例如步 驟)的順序,除非專門說明。這里所述的方法在一個實施例中可有一個或多個處理器執(zhí)行,所述一個或多個處 理器接收在一個或多個計算機可讀介質(zhì)上編碼的計算機可讀(或者稱作機器可讀)邏輯, 其包含一組指令,該組指令在被一個或多個處理器執(zhí)行時實現(xiàn)這里所述方法中的至少一 種。包括任何能執(zhí)行指定要采取的動作的一組指令(順序的等)的處理器。因此,一個示 例是包括一個或多個處理器的典型處理系統(tǒng)。每個處理器可包括一個或多個CPU、圖形處 理單元、以及可編程DSP單元。處理系統(tǒng)還可包括存儲器子系統(tǒng),存儲器子系統(tǒng)包括主RAM和/或靜態(tài)RAM和/或ROM。還可以包括總線子系統(tǒng)用于組件之間的通信。處理系統(tǒng)還可 以是具有通過網(wǎng)絡耦合的處理器的分布式處理系統(tǒng)。如果處理系統(tǒng)需要顯示器,咋可以包 括這種顯示器,例如液晶顯示器(LCD)或者陰極射線管(CRT)顯示器。如果需要手動數(shù)據(jù) 輸入,則處理系統(tǒng)還包括輸入設備,例如諸如鍵盤之類的一個或多個字母數(shù)字輸入單元、諸 如鼠標之類的點選控制設備、等等。如果從上下文就能清楚并且沒有另行明確說明,這里所 使用的術語存儲器單元也包括諸如盤驅(qū)動單元之類的存儲設備系統(tǒng)。在一些配置中處理系 統(tǒng)可以包括聲音輸出設備、以及網(wǎng)絡接口設備。存儲器子系統(tǒng)從而包括編碼有邏輯(例如, 軟件)的計算機可讀介質(zhì),所述邏輯包括一組指令,該組指令在被一個或多個處理器執(zhí)行 時使的執(zhí)行這里所述的一個或多個方法。軟件可以駐留在硬盤中,或者在計算機系統(tǒng)執(zhí)行 期間可以完全或者至少部分駐留在RAM中和/或處理器中。因此,存儲器和處理器也構成 了例如以指令形式編碼有邏輯的計算機可讀介質(zhì)。此外,計算機可讀介質(zhì)可以形成或者被包括在計算機程序產(chǎn)品中。在替換實施例中,一個或多個處理器作為孤立設備工作或者在聯(lián)網(wǎng)布署中可以被 連接,例如連接到(一個或多個)其他處理器,這一個或多個處理器可以在服務器-客戶 機網(wǎng)絡環(huán)境中作為服務器或者客戶端機器工作,或者在對等或分布式網(wǎng)絡中作為對等機器 工作。一個或多個處理器可形成個人計算機(PC)、手寫PC、機頂盒(STB)、個人數(shù)字助理 (PDA)、蜂窩電話、網(wǎng)絡電器、網(wǎng)絡路由器、交換機或網(wǎng)橋、或者能夠執(zhí)行指定要由該機器采 取的動作的一組指令(順序的等)的任何機器。注意,盡管一些圖僅示出了單個處理器和承載包括指令的邏輯的單個存儲器,但 是本領域技術人員將理解包括了上述許多組件,但是未明確地示出或者描述,以免混淆了 本發(fā)明的創(chuàng)造性方面。例如,盡管僅示出了單個機器,但是術語“機器”也可以包括獨立或者 聯(lián)合執(zhí)行一組(或者多組)指令來執(zhí)行這里討論的一種或者多種方法的機器的任意集合。因此,這里所述每種方法的一個實施例是具有一組指令的計算機可讀介質(zhì)的形 式,例如編碼在其上的用以在一個或多個處理器上執(zhí)行的計算機程序,所述一個或多個處 理器例如是編碼器或者解碼器的一部分。因此,本領域技術人員將理解,本發(fā)明的實施例可 實現(xiàn)為方法、例如專用裝置之類的裝置、例如數(shù)據(jù)處理系統(tǒng)之類的裝置、或者計算機可讀承 載介質(zhì),例如計算機程序產(chǎn)品。計算機可讀介質(zhì)編碼了包括一組指令的邏輯,所述一組指令 在一個或多個處理器上執(zhí)行時使得實現(xiàn)一種方法。因此,本發(fā)明的多個方面可以是方法的 形式、完整的硬件實施例、完整的軟件實施例或者組合了軟件和硬件方面的實施例。此外, 本發(fā)明可以是介質(zhì)的形式,其中在該介質(zhì)上編碼有程序代碼(例如,計算機可讀介質(zhì)上的 計算機程序產(chǎn)品)。將理解,所討論的方法的步驟在一個實施例中是由執(zhí)行存儲在存儲設備中的指令 的處理系統(tǒng)(即,計算機)中的適當?shù)?一個或多個)處理器執(zhí)行的。還將理解,本發(fā)明不 限于任何特定的實現(xiàn)方式或者編程技術,并且本發(fā)明可利用用于實現(xiàn)這里所述功能的任何 合適的技術實現(xiàn)。本發(fā)明不限于任何特定的編程語言或操作系統(tǒng)。在整個說明書中提到“一個實施例”或“實施例”指結(jié)合該實施例描述的特定特征、 結(jié)構或特性被包括在本發(fā)明的至少一個實施例中。因此,在整個說明書中多處出現(xiàn)短語“在 一個實施例中”或“在實施例中”不一定全指同一個實施例,而是可以指同一個實施例。此 外,在一個或者多個實施例中,可以以任何合適的方式實現(xiàn)特定的特征、結(jié)構或特性,本領域技術人員從該公開將清楚。類似地,應當理解在本發(fā)明的示例實施例的上述描述中,本發(fā)明的各個特征有時 被一起分組到單個實施例、附圖或者說明中,以便使公開流暢并且?guī)椭斫飧鱾€創(chuàng)造性方 面中的一個或多個。但是,該公開中的方法不應被解釋為反映了下述意圖所要求保護的發(fā) 明需要多于在每個權利要求中明確記載的特征。相反,正如下面的權利要求所反映的,創(chuàng)造 性方面在于比前述單個實施例的所有特征少。因此,具體實施方式
之后所附的權利要求被 明確地結(jié)合到具體實施方式
中,每個權利要求自己作為本發(fā)明的一個獨立實施例。此外,盡管這里所述的一些實施例包括其他實施例中包括的一些而不是其他特 征,但是不同實施例的特征的組合也意味著在本發(fā)明的范圍內(nèi),并且形成不同的實施例,本 領域技術人員將理解這點。例如,在所附權利要求中,可以以任意組合來使用任意所要求的 實施例。此外,一些實施例在這里被描述為可由計算機系統(tǒng)的處理器或者執(zhí)行功能的其他 裝置實現(xiàn)的方法或者方法的元素的組合。因此,具有用于執(zhí)行這種方法或者方法的元素的 必要指令的處理器形成了用于執(zhí)行該方法或者方法的元素的裝置。此外,這里所述的裝置 實施例的元素是是用于執(zhí)行由執(zhí)行本發(fā)明的元素執(zhí)行的功能的裝置的示例。在這里提供的描述中,闡釋了若干具體細節(jié)。但是,應當理解沒有這些具體細節(jié)也 可以實現(xiàn)本發(fā)明的實施例。在其他實例中,未具體示出公知的方法、結(jié)構和技術,以免模糊 了對本發(fā)明的理解。除非另外指定,這里使用序數(shù)詞“第一”、“第二”、“第三”等來描述常見對象,僅指 示正被參考的相似對象的不同實例,而不是要暗示這樣描述的對象必須按照給定的序列、 或者在時間上或者空間上被排名、或者以其他方式給出。這里所引用的所有出版物、專利和專利申請都通過參考結(jié)合于此。本說明書中對現(xiàn)有技術的任何討論都不應認為承認該現(xiàn)有技術是廣泛了解的、公 知的、或者形成本領域一般知識的一部分。在下面的權利要求中和這里的描述中,術語“包括”、“構成”或者“其包括”中的任 一個都是開放式術語,意味著至少包括其后的元素或者特征,但是不排除其他。因此,術語 “包括”當被用在權利要求中時不應當解釋為對其后列出的裝置或元素或步驟的限定。例 如,表述“包括A和B的一個設備”的范圍不應當限制為僅由元素A和B構成的設備。這里 使用的術語“包含”或者“其包含”中的任意一個也是開放式術語,也意味著至少包括在該 術語后的元素/特征,但是不排除其他。因此,“包含”是“具有”的同義詞,并且指“包括”。類似地,注意,術語“耦合”當被用在權利要求中時不應當解釋為對僅直接連接的 限制??梢允褂眯g語“耦合”和“連接”以及它們的派生詞。應當理解,這些術語彼此為同 義詞。因此,表述“設備A耦合到設備B”的范圍不應當限制為其中設備A的輸出直接連接 到設備B的輸入的設備或系統(tǒng)。而是意味著在A的輸出和B的輸入之間存在路徑,該路徑 可以是包含其他設備或裝置的路徑?!榜詈稀笨梢灾竷蓚€或多個元件直接物理接觸或者電接 觸,或者兩個或者更多個元件不彼此直接接觸,而是彼此協(xié)作或者互動。因此,盡管已描述了據(jù)信為本發(fā)明優(yōu)選實施例的內(nèi)容,但是本領域技術人員將認 識到在不脫離本發(fā)明的精神的情況下對其作出其他或者進一步修改,并且要要求所有這種 改變和修改,只要落入本發(fā)明的范圍內(nèi)。例如,上面給出的任何公式都僅是可使用的過程的表示。可以向框圖添加或者從框圖刪除功能,并且可以在功能塊中互換操作??梢韵虮景l(fā) 明范圍內(nèi)的所述方法添加步驟或者從其刪除步驟。
權利要求
一種方法,包括對于一個圖像數(shù)據(jù)塊的經(jīng)量化變換系數(shù)的有序串的第一區(qū)域,對具有除最可能出現(xiàn)幅度之外的幅度的連續(xù)系數(shù)的每個族的位置和幅度進行編碼,其中所述第一區(qū)域可能是整個串,所述串具有所述最可能出現(xiàn)幅度,并且至少一個其他幅度包括下一個最可能出現(xiàn)幅度,對每個族的編碼包括對所述族的一個或多個事件進行編碼,包括對由下述至少兩個參數(shù)所定義的聯(lián)合事件進行編碼在所述族之前的具有所述最可能出現(xiàn)幅度的系數(shù)的數(shù)目以及所述族中系數(shù)的數(shù)目,并且包括對所述族中具有所述下一個最可能出現(xiàn)幅度的拖尾系數(shù)的數(shù)目的指示進行編碼,其中對每個族進行編碼是根據(jù)至少一個多維聯(lián)合編碼映射的,以使得對于至少一些事件,平均來說,利用所述聯(lián)合編碼映射對事件進行編碼,以使得平均來說,用于對更可能出現(xiàn)的事件進行編碼的相應碼字比用于對不太可能出現(xiàn)的事件進行編碼的相應碼字要短;以及對具有除最可能出現(xiàn)幅度之外的幅度、并且沒有通過對所述族中拖尾系數(shù)的數(shù)目的指示的編碼而被聯(lián)合編碼的系數(shù)的幅度進行編碼。
2.如權利要求1所述的方法,其中,對每個族進行編碼包括對由下述三個參數(shù)所定義 的事件進行聯(lián)合編碼在所述族之前的具有所述最可能出現(xiàn)幅度的系數(shù)的數(shù)目、所述族中 系數(shù)的數(shù)目、以及包括對所述族中具有下一個最可能出現(xiàn)幅度的拖尾系數(shù)的數(shù)目的指示的 第三參數(shù),其中所述聯(lián)合編碼是根據(jù)三維聯(lián)合編碼映射的,以使得對于至少一些事件,平均 來說,利用所述聯(lián)合編碼映射對這些事件進行編碼以使得平均來說,用來對更可能出現(xiàn)的 事件進行編碼的相應碼字比用于對不太可能出現(xiàn)的事件進行編碼的相應碼字要短。
3.如權利要求2所述的方法,其中,所述第三參數(shù)是所述族中具有所述下一個最可能 出現(xiàn)幅度的拖尾系數(shù)的數(shù)目。
4.如權利要求2所述的方法,其中,對于至少一個族長度,所述第三參數(shù)包括對所述族 中具有所述下一個最可能出現(xiàn)幅度的系數(shù)的指示。
5.如權利要求1所述的方法,其中,對每個族進行編碼包括對由下述兩個參數(shù)所定義 的事件進行聯(lián)合編碼在所述族之前的具有所述最可能出現(xiàn)幅度的系數(shù)的數(shù)目、以及所述 族中系數(shù)的數(shù)目,并且還包括對由所述族中具有所述下一個最可能出現(xiàn)幅度的拖尾系數(shù)的 數(shù)目所定義的所述族的第二事件進行編碼,其中所述聯(lián)合編碼是根據(jù)第一二維聯(lián)合編碼映 射的,以使得對于至少一些事件,平均來說,利用所述聯(lián)合編碼映射對這些事件進行編碼, 以使得平均來說,用于對更可能出現(xiàn)的事件進行編碼的相應碼字比用于對不太可能出現(xiàn)的 事件進行編碼的相應碼字要短。
6.如權利要求5所述的方法,其中,每個族的所述第二事件是由所述族中具有所述下 一個最可能出現(xiàn)幅度的拖尾系數(shù)的數(shù)目所定義的一維事件,其中對所述第二事件進行編碼 是根據(jù)一維編碼映射的,以使得對于至少一些事件,平均來說,利用所述一維編碼映射對所 述第二事件進行編碼,以使得平均來說,用于對更可能出現(xiàn)的事件進行編碼的相應碼字比 用于對不太可能出現(xiàn)的事件進行編碼的相應碼字要短。
7.如權利要求5所述的方法,其中,每個族的所述第二事件是由下述兩個參數(shù)所定義 的所述族中具有所述下一個最可能出現(xiàn)幅度的連續(xù)拖尾系數(shù)的數(shù)目、所述族中緊接在具 有所述下一個最可能出現(xiàn)幅度的連續(xù)拖尾系數(shù)之前的系數(shù)的幅度,其中對所述族的所述第 二事件進行編碼是根據(jù)第二二維編碼映射的,以使得對于至少一些事件,平均來說,利用所述聯(lián)合編碼映射對所述事件進行編碼,以使得平均來說,用于對很可能出現(xiàn)的事件進行編 碼的相應碼字比用于對不太可能出現(xiàn)的事件進行編碼的相應碼字要短。
8.如權利要求1所述的方法,其中,對具有除所述最可能出現(xiàn)幅度之外的幅度的系數(shù) 的幅度進行編碼包括對除與所述族的所述拖尾系數(shù)相鄰的系數(shù)之外的系數(shù)進行編碼,并且 還包括對下述值進行編碼所述值比緊接在所述族中具有所述下一個最可能出現(xiàn)幅度值的 拖尾系數(shù)之前的系數(shù)的幅度小一。
9.如權利要求1所述的方法,其中,0是所述最可能出現(xiàn)幅度,并且1是所述下一個最 可能出現(xiàn)幅度。
10.如權利要求9所述的方法,還包括對所述族中的非零值系數(shù)的符號進行編碼。
11.如權利要求9所述的方法,其中,所述第一區(qū)域是多個區(qū)域之一,所述第一區(qū)域是 非零值系數(shù)的族很可能出現(xiàn)的一個區(qū)域,并且所述方法還包括對一個或多個其余區(qū)域中的系數(shù)進行編碼。
12.—種編碼有計算機可執(zhí)行指令的計算機可讀介質(zhì),所述計算機可執(zhí)行指令在被處 理系統(tǒng)中的一個或多個處理器執(zhí)行時實現(xiàn)一種編碼方法,該編碼方法包括對于一個圖像數(shù)據(jù)塊的經(jīng)量化變換系數(shù)的有序串的第一區(qū)域,對具有除最可能出現(xiàn)幅 度之外的幅度的連續(xù)系數(shù)的每個族的位置和幅度進行編碼,其中所述第一區(qū)域可能是整個 串,所述串具有所述最可能出現(xiàn)幅度,并且至少一個其他幅度包括下一個最可能出現(xiàn)幅度, 對每個族的編碼包括對所述族的一個或多個事件進行編碼,包括對由下述至少兩個參數(shù)所 定義的聯(lián)合事件進行編碼在所述族之前的具有所述最可能出現(xiàn)幅度的系數(shù)的數(shù)目以及所 述族中系數(shù)的數(shù)目,并且包括對所述族中具有所述下一個最可能出現(xiàn)幅度的拖尾系數(shù)的數(shù) 目的指示進行編碼,其中對每個族進行編碼是根據(jù)至少一個多維聯(lián)合編碼映射的,以使得 對于至少一些事件,平均來說,利用所述聯(lián)合編碼映射對事件進行編碼,以使得平均來說, 用于對更可能出現(xiàn)的事件進行編碼的相應碼字比用于對不太可能出現(xiàn)的事件進行編碼的 相應碼字要短;以及對具有除最可能出現(xiàn)幅度之外的幅度、并且沒有通過對所述族中拖尾系數(shù)的數(shù)目的指 示的編碼而被聯(lián)合編碼的系數(shù)的幅度進行編碼。
13.如權利要求12所述的計算機可讀介質(zhì),其中,在所述方法中,對每個族進行編碼包 括對由下述三個參數(shù)所定義的事件進行聯(lián)合編碼在所述族之前的具有所述最可能出現(xiàn)幅 度的系數(shù)的數(shù)目、所述族中系數(shù)的數(shù)目、以及包括對所述族中具有下一個最可能出現(xiàn)幅度 的拖尾系數(shù)的數(shù)目的指示的第三參數(shù),其中所述聯(lián)合編碼是根據(jù)三維聯(lián)合編碼映射的,以 使得對于至少一些事件,平均來說,利用所述聯(lián)合編碼映射對這些事件進行編碼以使得平 均來說,用來對更可能出現(xiàn)的事件進行編碼的相應碼字比用于對不太可能出現(xiàn)的事件進行 編碼的相應碼字要短。
14.如權利要求12所述的計算機可讀介質(zhì),其中,在所述方法中,對每個族進行編碼包 括對由下述兩個參數(shù)所定義的事件進行聯(lián)合編碼在所述族之前的具有所述最可能出現(xiàn)幅 度的系數(shù)的數(shù)目、以及所述族中系數(shù)的數(shù)目,并且還包括對由所述族中具有所述下一個最 可能出現(xiàn)幅度的拖尾系數(shù)的數(shù)目所定義的所述族的第二事件進行編碼,其中所述聯(lián)合編碼 是根據(jù)第一二維聯(lián)合編碼映射的,以使得對于至少一些事件,平均來說,利用所述聯(lián)合編碼映射對這些事件進行編碼,以使得平均來說,用于對更可能出現(xiàn)的事件進行編碼的相應碼 字比用于對不太可能出現(xiàn)的事件進行編碼的相應碼字要短。
15.如權利要求14所述的計算機可讀介質(zhì),其中,在所述方法中,每個族的所述第二事 件是由所述族中具有所述下一個最可能出現(xiàn)幅度的拖尾系數(shù)的數(shù)目所定義的一維事件,其 中對所述第二事件進行編碼是根據(jù)一維編碼映射的,以使得對于至少一些事件,平均來說, 利用所述一維編碼映射對所述第二事件進行編碼,以使得平均來說,用于對更可能出現(xiàn)的 事件進行編碼的相應碼字比用于對不太可能出現(xiàn)的事件進行編碼的相應碼字要短。
16.如權利要求14所述的計算機可讀介質(zhì),其中,在所述方法中,每個族的所述第二事 件是由下述兩個參數(shù)所定義的所述族中具有所述下一個最可能出現(xiàn)幅度的連續(xù)拖尾系數(shù) 的數(shù)目、所述族中緊接在具有所述下一個最可能出現(xiàn)幅度的連續(xù)拖尾系數(shù)之前的系數(shù)的幅 度,其中對所述族的所述第二事件進行編碼是根據(jù)第二二維編碼映射的,以使得對于至少 一些事件,平均來說,利用所述聯(lián)合編碼映射對所述事件進行編碼,以使得平均來說,用于 對很可能出現(xiàn)的事件進行編碼的相應碼字比用于對不太可能出現(xiàn)的事件進行編碼的相應 碼字要短。
17.如權利要求12所述的計算機可讀介質(zhì),其中,0是所述最可能出現(xiàn)幅度,并且1是 所述下一個最可能出現(xiàn)幅度。
18.如權利要求17所述的計算機可讀介質(zhì),其中,所述方法還包括對所述族中的非零值系數(shù)的符號進行編碼。
19.如權利要求17所述的計算機可讀介質(zhì),其中,所述第一區(qū)域是多個區(qū)域之一,所述 第一區(qū)域是非零值系數(shù)的族很可能出現(xiàn)的一個區(qū)域,并且所述方法還包括對一個或多個其余區(qū)域中的系數(shù)進行編碼。
20.一種裝置,包括第一區(qū)域編碼器,在一個圖像數(shù)據(jù)塊的經(jīng)量化變換系數(shù)的有序串的第一區(qū)域中,所述 第一區(qū)域編碼器操作用于對具有除最可能出現(xiàn)幅度之外的幅度的連續(xù)系數(shù)的每個族的位 置和幅度進行編碼,其中所述第一區(qū)域可能是整個串,所述串具有所述最可能出現(xiàn)幅度,并 且至少一個其他幅度包括下一個最可能出現(xiàn)幅度,對每個族的編碼包括對所述族的一個或 多個事件進行編碼,包括對由下述至少兩個參數(shù)所定義的聯(lián)合事件進行編碼在所述族之 前的具有所述最可能出現(xiàn)幅度的系數(shù)的數(shù)目以及所述族中系數(shù)的數(shù)目,并且包括對所述族 中具有所述下一個最可能出現(xiàn)幅度的拖尾系數(shù)的數(shù)目的指示進行編碼,其中對每個族進行 編碼是根據(jù)至少一個多維聯(lián)合編碼映射的,以使得對于至少一些事件,平均來說,利用所述 聯(lián)合編碼映射對事件進行編碼,以使得平均來說,用于對更可能出現(xiàn)的事件進行編碼的相 應碼字比用于對不太可能出現(xiàn)的事件進行編碼的相應碼字要短;以及幅度編碼器,該幅度編碼器操作用于對具有除最可能出現(xiàn)幅度之外的幅度、并且沒有 通過對所述族中拖尾系數(shù)的數(shù)目的指示的編碼而被聯(lián)合編碼的系數(shù)的幅度進行編碼。
21.如權利要求20所述的裝置,其中,所述第一區(qū)域編碼器操作用于使得對每個族進 行編碼包括對由下述三個參數(shù)所定義的事件進行聯(lián)合編碼在所述族之前的具有所述最可 能出現(xiàn)幅度的系數(shù)的數(shù)目、所述族中系數(shù)的數(shù)目、以及包括對所述族中具有下一個最可能 出現(xiàn)幅度的拖尾系數(shù)的數(shù)目的指示的第三參數(shù),其中所述聯(lián)合編碼是根據(jù)三維聯(lián)合編碼映 射的,以使得對于至少一些事件,平均來說,利用所述聯(lián)合編碼映射對這些事件進行編碼以使得平均來說,用來對更可能出現(xiàn)的事件進行編碼的相應碼字比用于對不太可能出現(xiàn)的事 件進行編碼的相應碼字要短。
22.如權利要求20所述的裝置,其中,所述第一區(qū)域編碼器操作用于使得對每個族進 行編碼包括對由下述兩個參數(shù)所定義的事件進行聯(lián)合編碼在所述族之前的具有所述最可 能出現(xiàn)幅度的系數(shù)的數(shù)目、以及所述族中系數(shù)的數(shù)目,并且還包括對由所述族中具有所述 下一個最可能出現(xiàn)幅度的拖尾系數(shù)的數(shù)目所定義的所述族的第二事件進行編碼,其中所述 聯(lián)合編碼是根據(jù)第一二維聯(lián)合編碼映射的,以使得對于至少一些事件,平均來說,利用所述 聯(lián)合編碼映射對這些事件進行編碼,以使得平均來說,用于對更可能出現(xiàn)的事件進行編碼 的相應碼字比用于對不太可能出現(xiàn)的事件進行編碼的相應碼字要短。
23.如權利要求20所述的裝置,其中,0是所述最可能出現(xiàn)幅度,并且1是所述下一個 最可能出現(xiàn)幅度。
24.一種解碼方法,包括識別一組聯(lián)結(jié)的碼字中的碼字,所述碼字由一種編碼方法形成,該編碼方法包括對于一個圖像數(shù)據(jù)塊的經(jīng)量化變換系數(shù)的有序串的第一區(qū)域,對具有除最可能出現(xiàn)幅 度之外的幅度的連續(xù)系數(shù)的每個族的位置和幅度進行編碼,其中所述第一區(qū)域可能是整個 串,所述串具有所述最可能出現(xiàn)幅度,并且至少一個其他幅度包括下一個最可能出現(xiàn)幅度, 對每個族的編碼包括對所述族的一個或多個事件進行編碼,包括對由下述至少兩個參數(shù)所 定義的聯(lián)合事件進行編碼在所述族之前的具有所述最可能出現(xiàn)幅度的系數(shù)的數(shù)目以及所 述族中系數(shù)的數(shù)目,并且包括對所述族中具有所述下一個最可能出現(xiàn)幅度的拖尾系數(shù)的數(shù) 目的指示進行編碼,其中對每個族進行編碼是根據(jù)至少一個多維聯(lián)合編碼映射的,以使得 對于至少一些事件,平均來說,利用所述聯(lián)合編碼映射對事件進行編碼,以使得平均來說, 用于對更可能出現(xiàn)的事件進行編碼的相應碼字比用于對不太可能出現(xiàn)的事件進行編碼的 相應碼字要短;以及對具有除最可能出現(xiàn)幅度之外的幅度、并且沒有通過對所述族中拖尾系數(shù)的數(shù)目的指 示的編碼而被聯(lián)合編碼的系數(shù)的幅度進行編碼;以及利用多個碼映射對識別出的所述碼字進行解碼。
25.一種編碼有計算機可執(zhí)行指令的計算機可讀介質(zhì),所述計算機可執(zhí)行指令在被處 理系統(tǒng)中的一個或多個處理器執(zhí)行時實現(xiàn)一種解碼方法,該解碼方法包括識別一組聯(lián)結(jié)的碼字中的碼字,所述碼字由一種編碼方法形成,該編碼方法包括對于一個圖像數(shù)據(jù)塊的經(jīng)量化變換系數(shù)的有序串的第一區(qū)域,對具有除最可能出現(xiàn)幅 度之外的幅度的連續(xù)系數(shù)的每個族的位置和幅度進行編碼,其中所述第一區(qū)域可能是整個 串,所述串具有所述最可能出現(xiàn)幅度,并且至少一個其他幅度包括下一個最可能出現(xiàn)幅度, 對每個族的編碼包括對所述族的一個或多個事件進行編碼,包括對由下述至少兩個參數(shù)所 定義的聯(lián)合事件進行編碼在所述族之前的具有所述最可能出現(xiàn)幅度的系數(shù)的數(shù)目以及所 述族中系數(shù)的數(shù)目,并且包括對所述族中具有所述下一個最可能出現(xiàn)幅度的拖尾系數(shù)的數(shù) 目的指示進行編碼,其中對每個族進行編碼是根據(jù)至少一個多維聯(lián)合編碼映射的,以使得 對于至少一些事件,平均來說,利用所述聯(lián)合編碼映射對事件進行編碼,以使得平均來說, 用于對更可能出現(xiàn)的事件進行編碼的相應碼字比用于對不太可能出現(xiàn)的事件進行編碼的 相應碼字要短;以及對具有除最可能出現(xiàn)幅度之外的幅度、并且沒有通過對所述族中拖尾系數(shù)的數(shù)目的指示的編碼而被聯(lián)合編碼的系數(shù)的幅度進行編碼;以及 利用多個碼映射對識別出的所述碼字進行解碼。
全文摘要
一種編碼方法、裝置和其上編碼有用來實現(xiàn)編碼方法的軟件的介質(zhì)。該編碼方法包括對連續(xù)非零值系數(shù)的族進行編碼,所述對族的編碼包括對由下述至少兩個參數(shù)所定義的聯(lián)合事件進行聯(lián)合編碼在所述族之前的零值系數(shù)的數(shù)目、以及該族中的非零值系數(shù)的數(shù)目。對族進行編碼還包括對指示族中的幅度為1的拖尾非零值系數(shù)的數(shù)目的參數(shù)進行編碼,在一個版本中,該參數(shù)指示聯(lián)合事件中的幅度為1的拖尾系數(shù)部分的數(shù)目,以使得該編碼是根據(jù)3維聯(lián)合可變長度編碼表的。該方法還包括對沒有通過聯(lián)合編碼被編碼的非零值系數(shù)的幅度進行編碼,例如對除幅度為1的拖尾系數(shù)之外的幅度進行編碼。
文檔編號H04N7/26GK101878651SQ200880109910
公開日2010年11月3日 申請日期2008年10月1日 優(yōu)先權日2007年10月2日
發(fā)明者張必圣, 李軍林, 格哈森·阿里吉布, 田迪洪, 陳文雄 申請人:思科技術公司;佐治亞科技研究公司