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