午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

圖像編碼中的索引顏色歷史的制作方法

文檔序號:7797890閱讀:381來源:國知局
圖像編碼中的索引顏色歷史的制作方法
【專利摘要】本發(fā)明公開了圖像編碼中的索引顏色歷史,編碼器可以實現(xiàn)存儲先前編碼的像素的顏色值的索引顏色歷史。所述編碼器可獲得用于編碼的當(dāng)前像素或者當(dāng)前像素組并確定是否使用索引顏色歷史編碼當(dāng)前像素。在這種情況下,所述編碼器可以比較當(dāng)前像素的顏色值和先前編碼像素的顏色值,以便例如通過滿足一個或多個相似性準(zhǔn)則確定當(dāng)前的像素是否充分的與先前編碼的像素的顏色值相似。當(dāng)相似性準(zhǔn)則滿足時,所述編碼器可以通過參考滿足存儲相似性準(zhǔn)則的顏色值的索引顏色歷史中的條目將當(dāng)前像素編碼為索引值。當(dāng)相似性準(zhǔn)則不滿足時,所述編碼器可以使用另一個編碼方法或者技術(shù)編碼當(dāng)前像素。
【專利說明】圖像編碼中的索引顏色歷史
[0001]相關(guān)申請的交叉引用
[0002]本申請要求于2013年2月28提交的美國臨時申請US61/770,979以及于2014年2月17日提交的美國實用專利申請US14/182,172的優(yōu)先權(quán),其全部內(nèi)容通過引證結(jié)合于本文中。
【技術(shù)領(lǐng)域】
[0003]本公開涉及圖像編碼。本公開還涉及使用索引顏色歷史來編碼或者解碼圖像。
【背景技術(shù)】
[0004]巨大的顧客需求驅(qū)動了電子和通信技術(shù)的快速發(fā)展,這導(dǎo)致了在全世界范圍內(nèi)采用顯示各式各樣的圖像或者視頻內(nèi)容的設(shè)備。這種設(shè)備的示例包括智能手機、平板電視以及平板電腦。圖像和視頻處理技術(shù)中的進步將會持續(xù)增強這些設(shè)備的能力。

【發(fā)明內(nèi)容】

[0005]根據(jù)本發(fā)明的一個實施方式,提供一種系統(tǒng)包括:存儲器,存儲:索引顏色歷史,所述索引顏色歷史包括存儲先前編碼像素的顏色值的條目;與所述存儲器通信的編碼邏輯,所述編碼邏輯被配置為:獲得用于編碼的當(dāng)前像素;通過比較所述當(dāng)前像素的顏色值和所述先前編碼像素的顏色值,確定是否使用所述索引顏色歷史編碼所述當(dāng)前像素;以及當(dāng)確定使用所述索引顏色歷史編碼所述當(dāng)前像素時:將所述像素作為索引值編碼到所述索引顏色歷史中。
[0006]其中,所述編碼邏輯被配置為當(dāng)所述當(dāng)前像素的顏色值相對于所述先前編碼像素的顏色值滿足相似性準(zhǔn)則時,確定使用所述索引顏色歷史編碼所述當(dāng)前像素。
[0007]其中,當(dāng)所述當(dāng)前像素的顏色值與所述先前編碼像素的顏色值相同時,滿足所述相似性準(zhǔn)則。
[0008]其中,當(dāng)所述當(dāng)前像素的顏色值的成分值與所述先前編碼像素的顏色值的對應(yīng)成分值的區(qū)別在差值閾值內(nèi)時,滿足所述相似性準(zhǔn)則。
[0009]其中,當(dāng)所述當(dāng)前像素的顏色值與所述先前編碼像素的顏色值的區(qū)別在差值閾值內(nèi)時,滿足所述相似性準(zhǔn)則。
[0010]其中,所述編碼邏輯進一步被配置為:訪問所述當(dāng)前像素的量化參數(shù);以及將所述差值閾值確定為所述當(dāng)前像素的所述量化參數(shù)的函數(shù)。
[0011]其中,所述編碼邏輯被配置為將所述差值閾值確定為所述當(dāng)前像素的所述量化參數(shù)的最大量化誤差。
[0012]其中,所述編碼邏輯被配置為將所述差閾值確定為以下:當(dāng)所述最大量化誤差不超過誤差閾值時,確定為基于所述當(dāng)前像素的所述量化參數(shù)的最大量化誤差;以及當(dāng)所述最大量化誤差超過所述誤差閾值時,確定為小于所述當(dāng)前像素的所述量化參數(shù)的所述最大
量化誤差的值。[0013]其中,所述編碼邏輯進一步被配置為在編碼位流中以顯式方式信號通知所述當(dāng)前像素已經(jīng)作為所述索引值被編碼到所述索引顏色歷史中。
[0014]其中,所述編碼邏輯進一步被配置為:當(dāng)存儲在所述索引顏色歷史中的顏色值相對于所述當(dāng)前像素的顏色值均不滿足相似性準(zhǔn)則時,確定不使用所述索引顏色歷史對所述當(dāng)前像素進行編碼;以及在不參考所述索引顏色歷史的情況下編碼所述當(dāng)前像素。
[0015]其中,所述編碼邏輯進一步被配置為:當(dāng)確定不使用所述索引顏色歷史編碼所述當(dāng)前像素時:將所述當(dāng)前像素的顏色值插入所述索引顏色歷史中;以及將所述當(dāng)前像素的顏色值指示為最近使用的顏色值。
[0016]其中,所述編碼邏輯進一步被配置為通過從所述索引顏色歷史中去除最近最久未使用的顏色值,將所述當(dāng)前像素的顏色值插入到所述索引顏色歷史中。 [0017]根據(jù)本發(fā)明的另一個實施方式,提供一種方法,包括:獲得當(dāng)前像素的圖像數(shù)據(jù),所述圖像數(shù)據(jù)包括所述當(dāng)前像素的顏色值;當(dāng)在以下情況下,確定通過參考索引顏色歷史編碼所述當(dāng)前像素:所述索引顏色歷史包括存儲先前編碼像素的顏色值的歷史條目,所述先前編碼像素的顏色值相對于所述當(dāng)前像素的顏色值滿足相似性準(zhǔn)則;以及通過參考所述索引顏色歷史編碼所述當(dāng)前像素的位長度的函數(shù)值小于使用不同編碼方法編碼所述當(dāng)前像素的位長度的函數(shù)值;以及通過參考所述索引顏色歷史中的所述歷史條目編碼所述當(dāng)前像素。
[0018]其中,通過參考所述歷史條目編碼所述當(dāng)前像素包括將所述當(dāng)前像素編碼為對應(yīng)于所述歷史條目的索引值。
[0019]其中,該方法還包括保持所述索引顏色歷史以指示所述歷史條目是所述索引顏色歷史的最近使用的條目。
[0020]其中,該方法還包括:在編碼位流中信號通知所述當(dāng)前像素是通過參考所述索引顏色歷史被編碼的。
[0021]其中,所述信號通知包括將轉(zhuǎn)義碼編碼到與所述當(dāng)前像素對應(yīng)的前綴中。
[0022]根據(jù)本發(fā)明的又一個實施方式,提供一種產(chǎn)品,包括:非臨時性機器可讀介質(zhì);以及通過所述介質(zhì)存儲的指令,當(dāng)所述指令被處理器執(zhí)行時,使所述處理器:獲得用于編碼的當(dāng)前像素;訪問索引顏色歷史以確定所述索引顏色歷史中的條目是否存儲有先前編碼像素的顏色值,其中所述先前編碼像素的顏色值滿足至少一個準(zhǔn)則,所述至少一個準(zhǔn)則包括所述先前編碼像素的顏色值相對于所述當(dāng)前像素的顏色值的相似性準(zhǔn)則;以及當(dāng)所述索引顏色歷史包括滿足所述至少一個準(zhǔn)則的條目時:將所述像素作為索引值編碼至條目;以及當(dāng)所述索引顏色歷史不包括滿足所述相似性準(zhǔn)則的條目時:在不參考所述索引顏色歷史的情況下編碼所述像素。
[0023]其中所述指令進一步使所述處理器:確定所述索引顏色歷史包括存儲有滿足所述相似性準(zhǔn)則的顏色值的多個條目,以及對此響應(yīng)地:選擇所述多個條目中的一個條目的索引值作為編碼所述像素的索引值。
[0024]其中所述指令使所述處理器選擇所述多個條目中的一個條目的索引值是通過以下步驟進行的:識別所述多個條目中的哪個條目具有的顏色值具有顏色成分的絕對差的最小之和?!緦@綀D】

【附圖說明】
[0025]圖1示出使用索引顏色歷史執(zhí)行圖像處理的設(shè)備的示例。
[0026]圖2示出了編碼器的示例架構(gòu)。
[0027]圖3示出了索引顏色歷史的示例性表示。
[0028]圖4示出了索引顏色歷史的另一個示例性表示。
[0029]圖5示出了索引顏色歷史的示例性表示。
[0030]圖6示出了可以執(zhí)行以編碼圖像數(shù)據(jù)的設(shè)備的邏輯的示例。
[0031]圖7示出用于處理圖像數(shù)據(jù)的系統(tǒng)的示例。
[0032]圖8示出了可以執(zhí)行以解碼圖像數(shù)據(jù)的設(shè)備的邏輯的示例。
【具體實施方式】
[0033]以下的討論提及了使用索引顏色歷史進行的圖像編碼。如下所述的技術(shù)和系統(tǒng)可以改善圖像編碼(如編碼或者解碼)的效率,尤其是用于諸如文本的精細(xì)圖像內(nèi)容。使用索引顏色歷史的圖像編碼會產(chǎn)生高效編碼的顏色(例如顏色值或者像素值),這些顏色之前在圖像中出現(xiàn)過,例如來自圖像的先前處理部分的顏色,在圖像中的先前行或列的位置,位于具有特定顏色的當(dāng)前像素的上面、下面、左面和/或右面的位置,或者在其它的位置。此外,使用索引顏色歷史的圖 像壓縮會導(dǎo)致與先前出現(xiàn)在圖像中的顏色相似但不相同的顏色的高效編碼,例如相對于一個原始顏色匹配任何數(shù)量的類似標(biāo)準(zhǔn)的相似顏色。
[0034]結(jié)合有、實施或保持索引顏色歷史或使用索引顏色歷史執(zhí)行編碼或者解碼(如下所討論的)設(shè)備可以采取許多不同的形式。例如所述設(shè)備可以是機頂盒、手機、智能手機、便攜式計算機、個人數(shù)據(jù)助理、便攜式計算機、平板電腦、便攜式電子郵件設(shè)備或者存儲器中的通過處理器執(zhí)行的進程或者線程。另外的設(shè)備示例包括電視、高清晰度(例如藍(lán)光(TM)或者DVD音頻)媒體播放機或者家用媒體服務(wù)器。實際上在任何情況下均存在這種設(shè)備,包括家庭、商業(yè)、公共場所或汽車。
[0035]圖1示出執(zhí)行圖像處理的設(shè)備100的示例,所述圖像處理包括使用索引顏色歷史編碼圖像數(shù)據(jù)。所述設(shè)備100包括通信接口 110和用戶接口 116。所述通信接口 110可以支持經(jīng)由不同的一系列有線或無線格式、協(xié)議、調(diào)制、頻道、比特率和編碼中任一個的通信。因此,通信接口 Iio可以支持使用802.lla/b/g/n/ac標(biāo)準(zhǔn)、60GHzWiGig/802.1lTGad規(guī)范、藍(lán)牙、全球移動通訊系統(tǒng)(GSM)、時分多址接入(TDMA)、頻分多址接入(FDMA)、碼分多址接入(CDMA)、以太網(wǎng)、線纜(例如,DOCSIS)、DSL、同軸電纜多媒體聯(lián)盟(MoCA)、電力線(例如,電力線網(wǎng)絡(luò)AV)、以太網(wǎng)無源光網(wǎng)絡(luò)(ΕΡ0Ν)、吉比特?zé)o源光網(wǎng)絡(luò)(GP0N)、或者其它有線或無線接入技術(shù)或協(xié)議進行的通信。
[0036]設(shè)備100包括系統(tǒng)邏輯112。系統(tǒng)邏輯112可包括硬件、軟件、固件或者其它邏輯的任何組合。系統(tǒng)邏輯112例如可以以片上系統(tǒng)(SoC)、特定用途集成電路(ASIC)或者其它電路來加以實現(xiàn)。系統(tǒng)邏輯112為設(shè)備100中實施任何所需功能的一部分。在編碼圖像數(shù)據(jù)的背景下,系統(tǒng)邏輯112可以包括編碼器114。編碼器114可以以硬件、軟件或者兩者來實施如下所述圖像處理中的任一個,包括使用索引顏色歷史編碼圖像數(shù)據(jù)。在一些實施方式中,系統(tǒng)邏輯112在例如專用的圖像處理線路的硬件中實現(xiàn)編碼器114和索引顏色歷史。[0037]在一些實施方式中,系統(tǒng)邏輯112包括一個或多個處理器120和存儲器121。存儲器121存儲例如包括編碼指令124的系統(tǒng)指令122,處理器120執(zhí)行編碼指令124以編碼圖像數(shù)據(jù)。存儲器121還可以存儲索引顏色歷史(ICH)126 (例如作為硬件寄存器文件)、運行參數(shù)127以及要編碼的數(shù)據(jù)128,例如圖像的像素數(shù)據(jù)。像素數(shù)據(jù)可以指的是或者包括像素的顏色值。
[0038]系統(tǒng)邏輯112可以將ICH126實施為存儲器(如高速緩存存儲器、表格、有序的列表),該存儲器保持一組最近使用的顏色值或者像素值。編碼器114保持ICH126。編碼器114可以將ICH126實現(xiàn)為存儲可配置數(shù)量的條目。ICH126可以存儲預(yù)定數(shù)量的條目,例如
8、16、321、64或者任何其它數(shù)量的條目。在ICH126中的條目可以存儲例如通過顏色值或像素值的顏色指示。編碼器114可以將顏色值表示為顏色空間(或者顏色模型)的數(shù)值(或者數(shù)組)部分,顏色空間例如為RGB顏色空間、YCbCr顏色空間、YCoCg顏色空間、CMYK顏色空間或者任何其它的顏色空間。在一些實施方式中,編碼器114根據(jù)輸入圖像的格式在YCoCg或者YCbCr中編碼圖像數(shù)據(jù)。編碼器114可以在編碼之前將RGB輸入圖像轉(zhuǎn)換為YCoCg。解碼器可以在輸出之前將解碼的YCoCg內(nèi)容轉(zhuǎn)換為RGB。
[0039]編碼器114可以將ICH126實施為使得條目是保持顏色值的多個位存儲位置。顏色值可以指的是特定顏色空間中的顏色的表示。例如,當(dāng)編碼RGB24圖像或者已經(jīng)轉(zhuǎn)換為YCoCg的視頻數(shù)據(jù)時,YCoCg顏色值的Y成分可以利用8比特編碼以及Co和Cg成分可以利用9比特編碼。在這個示例中,ICH126可以向ICH126中的條目分配26比特以存儲YCoCg顏色值。條目可以比存儲顏色值所需的寬。例如,各個條目可以是32位或者64位寬,并且因此有利于例如與每顏色值利用其它附加位的其他顏色空間進行無縫操作。作為另一個變形,編碼器114可以將ICH條目實施為窄于存儲特定顏色空間的顏色值所使用的位數(shù)。在該變形中,編碼器114可 以量化顏色值或使顏色值四舍五入為更小的位深以存儲ICH126的較窄條目。
[0040]編碼器114可以使用ICH編碼或者非ICH編碼來編碼圖像數(shù)據(jù)。當(dāng)執(zhí)行ICH編碼時,編碼器114可以通過參考ICH126來編碼圖像數(shù)據(jù),例如通過將編碼位流中的像素表示為ICH126中的索引值。當(dāng)執(zhí)行非ICH編碼時,編碼器114可以使用不參考ICH126的不同編碼方法來編碼圖像數(shù)據(jù),不同編碼方法的示例包括在2010年3月9日提交的美國專利申請第12/720,273和2013年10月2日提交的美國專利申請第14/044,627中所記載的編碼方法,通過引證將上述兩者結(jié)合于本文中。例如,編碼器114在執(zhí)行非ICH編碼時可以利用美國專利申請第14/044,627中描述的預(yù)測編碼方法中的任一個。
[0041]圖2示出了編碼器114的示例架構(gòu)200。示例性架構(gòu)200可以支持使用預(yù)測編碼或ICH編碼進行的像素編碼。
[0042]編碼器114可以產(chǎn)生可以精確地符合獨立指定的bpp(位/像素)速率的位流。bpp速率可以根據(jù)位/像素時間來指定。位/像素時間可以在算法上被指定,這是因為像素時間的單位在編碼器114的輸入和輸出端相同。編碼每個像素或者像素組的比特數(shù)可以較大的改變。在示例性架構(gòu)200中,速率緩沖器202促進將用于編碼各個組的可變比特數(shù)轉(zhuǎn)換為例如恒定的bpp速率。為此,編碼器114可以包括速率控制器204。速率控制器204可以確定在量化步驟是否增加、減少或者保持不變。
[0043]編碼器114可以包括顏色空間轉(zhuǎn)換邏輯206,例如RGB輸入至可逆的YCoCg轉(zhuǎn)換邏輯。輸入緩沖器208可以存儲經(jīng)轉(zhuǎn)換的輸入。在圖2中還示出了實施樣本值的預(yù)測和殘差值的產(chǎn)生的預(yù)測、量化和重建(PQR)邏輯210。在一些實施方式中,PQR邏輯210預(yù)測和量化像素成分,從而產(chǎn)生量化的殘差。PQR邏輯210可以從先前編碼的和重建的像素成分中預(yù)測像素成分,并可以包括多個(例如3個)預(yù)測器:修改的中值自適應(yīng)預(yù)測(MMAP)、中點預(yù)測(MPP)和阻斷預(yù)測(BP)。PQR邏輯210還可以實現(xiàn)殘差值的量化以及樣本值的重建。
[0044]在圖2中還示出了可變長度編碼器(VLC)邏輯214,其可以使用Λ尺寸單元可變長度編碼(DSU-VLC)實現(xiàn)熵編碼。VLC邏輯214可以例如使用自然數(shù)2的補碼二進制值編碼量化的樣本值。映射和可變長度編碼器206編碼各個值所使用的位數(shù)可以通過相同像素成分的編碼值的近期歷史和與各個樣本單元有關(guān)的前綴值的組合動態(tài)地被確定。輸入緩沖器208可以提供樣本到平坦度確定邏輯218。
[0045]圖2中示出的示例性架構(gòu)包括ICH126。編碼器114確定是使用ICH126或者根據(jù)另一個編碼法編碼像素數(shù)據(jù)。在一些變形中,編碼器114確定對于每組是使用ICH編碼還是非ICH編碼來編碼像素。編碼器114可以以任意的方式將像素組確定為例如1、2、3、4、6、8或者任何其它數(shù)量的像素,方式例如橫穿掃描行、在圖像的特定部分、在一維或者多維(例如二維)布置中、整個連續(xù)或者非連續(xù)或者在其他方式。例如,一組8個像素可以是兩個2x2連續(xù)像素的集合,其中每個集合與另一個集合是連續(xù)或者非連續(xù)。作為另一個示例,8個像素的組可以是連續(xù)的2x4像素塊。 [0046]編碼器114可以使用任何種類的算法或者可以在運行參數(shù)127中指定的任何準(zhǔn)則選擇使用ICH編碼。被編碼器114使用的選擇算法或者準(zhǔn)則不必實施在解碼器中。如下詳細(xì)的描述,編碼器114可以在編碼位流中指示輸入的像素或者輸入像素組是使用ICH編碼還是另一種編碼方法編碼的。
[0047]在一些實施方式中,編碼器114根據(jù)相對于ICH126中的條目的相似性準(zhǔn)則確定是否為輸入的一組像素使用ICH編碼。換句話說,當(dāng)在ICH126中的條目相對于當(dāng)前輸入像素滿足相似性準(zhǔn)則,編碼器114可以確定針對當(dāng)前輸入像素使用ICH編碼。當(dāng)組中的輸入像素的閾值數(shù)目或者百分比(所有)滿足相似性準(zhǔn)則,編碼器114可以確定為像素組使用ICH編碼。關(guān)于這一點,編碼器114可以比較輸入像素的顏色值和存儲在ICH126的條目中的顏色值。
[0048]編碼器114可以對于將要被編碼的輸入像素的顏色值和ICH126中的條目的顏色值之間的差異應(yīng)用一個或多個相似性準(zhǔn)則,其中一些示例將在下文呈現(xiàn)。作為第一個示例,編碼器114可以確定顏色值之間的差異是否超過差分閾值,例如在顏色空間的一個或多個成分之間測量的或者通過顏色空間中兩個顏色值之間的距離測量的。當(dāng)一個或多個成分的差異或者一個或多個成分之間的差異(如絕對差)之和或者成分的任何所選函數(shù)小于差分閾值時,相似性準(zhǔn)則可以被滿足?;谶@一點,當(dāng)將要編碼的輸入像素的顏色值與ICH126中一個或多個條目的顏色值的差異小于差分閾值時,例如當(dāng)輸入像素的顏色值與ICH126中條目的顏色值之間的差異在差分閾值內(nèi)時,在ICH126中的條目可以滿足相似性準(zhǔn)則。
[0049]在一些變化中,相似性準(zhǔn)則可以指定適用于顏色值的一個或多個成分的公共差分閾值,例如針對輸入像素和ICH126條目之間比較的Y、Co和Cg成分的公共差分閾值。在其它變形中,相似性準(zhǔn)則可以指定適用于顏色值的單獨成分的相應(yīng)的差分閾值,例如第一差分閾值適用于Y成分比較、第二差分閾值適用于Co成分比較、以及Cg差分閾值適用于Cg成分比較。作為另一個替代的或者附加的變形,相似性準(zhǔn)則可以指定指專用于組中的不同像素的特定差分閾值。
[0050]編碼器114可以確定差分閾值為非ICH編碼中所使用的一個或多個變量的函數(shù)。作為示例,編碼器114可以將差分閾值識別為可以從使用非ICH編碼方法對組中的像素進行編碼所獲得的最大、最小或者平均誤差。在這些情況中,相似性準(zhǔn)則可以包括誤差準(zhǔn)則。為了在量化的背景下提供說明,編碼器114將差分閾值確定為將應(yīng)用于當(dāng)前像素或者當(dāng)前像素組的量化參數(shù)(QP)的函數(shù),其中編碼器114使用非ICH編碼(例如預(yù)測編碼)來編碼當(dāng)前像素或者當(dāng)前像素組。在該說明中,非ICH編碼算法可以對于一三像素組中的第一像素使用QP值4指定以及對于第二和第三像素使用QP值5進行指定。對應(yīng)的最大量化誤差對于第一像素可以為2~4/2=8,以及對于第二和第三像素為2~5/2=16。當(dāng)與ICH126中的條目比較時,編碼器114可以為第一像素的成分應(yīng)用差分閾值8以及為第二和第三像素成分應(yīng)用差分閾值16。因此,編碼器114可以通過確定要被編碼的輸入像素的各個成分的絕對差和ICH126中的條目是否超過這些差分閾值,來確定相似性準(zhǔn)則是否得到滿足。在該具體說明中,當(dāng)輸入像素的顏色值成分和ICH126中的條目的顏色值的顏色值成分之間的差異的絕對值小于差分閾值,例如與第一像素的顏色值成分相比相差8,以及與第二和第三像素的顏色值成分相比相差16,編碼器114確定滿足相似性準(zhǔn)則。
[0051]作為相似性準(zhǔn)則的附加示例,編碼器114可以應(yīng)用差分閾值而不是當(dāng)前可用的最大量化誤差。例如,當(dāng)最大量化誤差超過預(yù)定誤差水平(例如閾值)時,編碼器114可以應(yīng)用小于當(dāng)前可用最大量化誤差的差分閾值。當(dāng)最大量化誤差不超過預(yù)定誤差水平時,編碼器114可以應(yīng)用等于當(dāng)前可用最大量化誤差的差分閾值。作為一個示意性說明,如果QP=5并且最大誤差是16,以及預(yù)定的誤差水平是8,編碼器114可以應(yīng)用小于16的差分閾值,例如
8。如果QP=4以及最大誤差是8,那么編碼器可以應(yīng)用等于最大誤差的差分閾值,其中最大誤差是8。
[0052]在一些變形中,相似性準(zhǔn)則的滿足需要輸入像素的顏色值和ICH126中的條目之間相同的匹配。即,當(dāng)ICH126中的條目完全匹配輸入像素時,則編碼器114可以確定滿足相似性準(zhǔn)則。作為又一個變形,相似性準(zhǔn)則可以要求輸入像素和ICH126條目之間一個或多個顏色成分的精確匹配。在該變形中,當(dāng)輸入像素的一個或多個成分與ICH126條目的相應(yīng)成分完全一致時,編碼器114可以確定相似性準(zhǔn)則的滿足。
[0053]編碼器114在確定針對像素或輸入像素組使用ICH編碼時,可以應(yīng)用多個準(zhǔn)則。作為一個示例,編碼器114基于一個或多個條件確定是否選擇ICH模式下的編碼用于組,例如當(dāng)以下兩個條件滿足時:
[0054](I)針對組中的每個像素,在ICH126中存在滿足相似性準(zhǔn)則的至少一個條目;以及
[0055](2)在ICH模式中編碼組所消耗的位的估計數(shù)(位成本)少于使用非ICH模式編碼組所消耗的位的估計數(shù)。
[0056]作為上述條件(2)的另外的或者替代的示例,編碼器114可以應(yīng)用準(zhǔn)則以基于像素組的位成本和一個或多個附加參數(shù)(例如經(jīng)使用編碼模式引起的誤差),在ICH模式和非ICH模式之間選擇。當(dāng)編碼輸入像素所參考的ICH126中的條目的顏色值與輸入像素的顏色值不同時,在ICH模式中編碼像素組會在輸入像素中引入誤差,以及當(dāng)ICH126中被參考的條目的顏色值與輸入像素的顏色值完全匹配時,輸入像素的誤差為O。在這一點上,誤差可以指的是輸入像素的顏色值和從特定編碼模式產(chǎn)生的編碼的顏色值之間的差異。例如,在非ICH模式下的編碼會引入例如由顏色值的量化或者重建所引起的誤差。在這些示例中,編碼器114可以對從使用ICH編碼或者非ICH編碼產(chǎn)生的相應(yīng)誤差,以及確定是使用ICH編碼或者非ICH編碼時的誤差因數(shù)進行加權(quán)。
[0057]在一些實施方式中,編碼器114比較使用ICH126的一個或多個條目應(yīng)用于像素組的ICH編碼的位成本和誤差的函數(shù)輸出和施加于像素組的的ICH編碼的誤差對比對應(yīng)的位消耗的函數(shù)的輸出以及施加于像素組的非ICH編碼的位成本和誤差的對應(yīng)函數(shù)。換句話說,當(dāng)確定是使用ICH模式還是非ICH模式編碼像素組時,編碼器114可以對位成本和精確度(例如通過誤差函數(shù)所標(biāo)示的)進行加權(quán)。作為一個具體示例,編碼器可以比較以下函數(shù)的輸出:“位成本+4* 總和(ceil (log2 (maxAbsError+1)))”,其中 maxAbsError 指代基于每成分的最大絕對誤差以及總和是成分的總和。當(dāng)ICH126中的一個或多個條目的函數(shù)輸出小于使用非ICH編碼時的函數(shù)輸出時,編碼器114可以選擇ICH編碼。編碼器114可以應(yīng)用任何函數(shù)的變形以比較輸入像素組的ICH編碼和非ICH編碼,并考慮以下因素:例如位成本、誤差和/或精確度、吞吐量、處理時間、功耗或者任意數(shù)量的其它參數(shù)。
[0058]與使用非ICH編碼估計的位成本和誤差相比,編碼器114可以向使用ICH編碼所估計的位成本和誤差應(yīng)用不同的函數(shù)。例如,編碼器可以通過應(yīng)用第一函數(shù)至使用ICH編碼的位成本和誤差(或者任何另外的或者替代的至第一函數(shù)的輸入),以及應(yīng)用第二函數(shù)到使用非ICH編碼的位成本和誤差(或者任何另外的或者替代的至第二函數(shù)的輸入)并比較輸出,確定是使用ICH編碼還是使用非ICH編碼。作為另一個選擇,編碼器114比較使用ICH編碼和使用非ICH編碼的估計位成本和誤差的相應(yīng)函數(shù)輸出,并當(dāng)函數(shù)的輸出相差至少預(yù)定閥值時,確定使用特定編碼方法。
[0059]當(dāng)以上條件兩 者同時滿足時,編碼器114可以選擇ICH編碼來編碼組。在一些變形中,編碼器114可以基于與組的輸入像素在同一掃描行的輸入值以及先前掃描行的重建值中的一個或者兩個估計使用非ICH模式時消耗的位的數(shù)量。例如,編碼器114可以估計將要用于編碼組中的每一個像素的預(yù)測殘差的位的數(shù)量,其中該預(yù)測基于輸入和重建的值。
[0060]在確定對一組輸入像素使用ICH編碼之后,編碼器114可以選擇相應(yīng)的索引到ICH126中以表示輸入像素。在一些實施方式中,編碼器114可以將輸入像素編碼為索引值,其識別ICH126中滿足輸入像素的相似性準(zhǔn)則的條目。當(dāng)ICH126包括相對于輸入像素滿足相似性準(zhǔn)則的多個條目時,編碼器114可以應(yīng)用另外的準(zhǔn)則以從滿足相似性準(zhǔn)則的多個條目中選擇特定的條目。作為一個實施方式,編碼器114選擇ICH126中的產(chǎn)生每成分誤差的絕對差的最小和的條目。在其它實施方式中,編碼器114選擇在一個成分中產(chǎn)生最低絕對誤差的ICH條目,例如YCbCr顏色空間的Y成分。編碼器114可以應(yīng)用另外的或者替代的準(zhǔn)則,其指定在ICH126中輸入像素和條目的任何函數(shù)的比較,以及作為另外的示例,指定選擇具有每成分的絕對差的最低加權(quán)和或者每成分平方誤差的最低總數(shù)的條目。
[0061]在一些實施方式中,當(dāng)選擇進入ICH126中的索引以表示輸入像素(可以被稱作選擇相似性準(zhǔn)則)而不是確定ICH126包括相對于輸入像素滿足相似性準(zhǔn)則的至少一個條目(其中可以參照包含的相似性準(zhǔn)貝IJ)時,編碼器114可以應(yīng)用相似性準(zhǔn)則的不同組。因此,編碼器114可以確定選入ICH126中的索引以表示輸入像素(例如通過應(yīng)用選擇相似性準(zhǔn)則),分離地確定ICH127是否包括具有與輸入像素足夠相似的顏色值的至少一個條目(例如通過包含相似性準(zhǔn)則指定的特定相似閾值內(nèi))。選擇相似性準(zhǔn)則和包含相似性準(zhǔn)則可以分別包括上面論述的相似性準(zhǔn)則的任何組合。
[0062]編碼器114在確定是否使用ICH編碼或者非ICH編碼來編碼輸入像素組之前,可以確定選入ICH126中的索引以表示輸入像素組的相應(yīng)像素。為了舉例說明,編碼器114可以使用選擇相似性準(zhǔn)則確定選入ICH126中的索引,以分別編碼組中的輸入像素,并且隨后在滿足以下兩個條件時確定對于像素組是否選擇ICH模式下的編碼:
[0063](I)對于組中的每個像素,在ICH126中存在至少一個條目滿足所包含的相似性準(zhǔn)則;以及
[0064](2)對于使用選擇相似性準(zhǔn)則確定選入ICH126中的索引,使用所選擇的索引的位成本和誤差的函數(shù)的輸出值小于使用非ICH編碼的位成本和誤差的函數(shù)的輸出(或少于至少預(yù)定閥值)。
[0065]因此,在一些實施方式中,在確定是否使用ICH編碼之前,編碼器114可以確定進入ICH126的所選擇的索引,其將用于表示ICH中的輸入像素。在這種情況下,當(dāng)滿足兩個條件時,編碼器114可以通過將輸入像素表示為所選擇的索引來編碼像素組。在其它變形中,編碼器114可以確定進入ICH126的所選索引,以用于表示使用選擇相似性準(zhǔn)則的輸入像素組,同時或者之前確定是否使用ICH編碼來編碼輸入像素組,例如如上所述。
[0066]圖3示出編碼器114可以實現(xiàn)的ICH126的示例性表示300。圖3中示出的ICH126包括具有索引值302和顏色值304的條目。在圖3中,ICH126包括32個條目,并且條目用相應(yīng)的索引值302來標(biāo)識。換 句話說,索引值302指向或者對應(yīng)于ICH126中的特定條目,是否顯式地存儲在條目中或以其他方式識別特定條目作為從ICH126中的第一條目的偏移。
[0067]編碼器114可以響應(yīng)于初始化條件初始化ICH126,例如依據(jù)一個或多個預(yù)先確定的事件的出現(xiàn)。初始化條件的示例包括識別輸入圖像(壓縮的或者非壓縮的)的開始、圖像片段的開始、或者掃描行的開始。編碼器114可以將ICH126設(shè)置為初始狀態(tài),例如以使得ICH126未存儲有效條目。編碼器114可以在初始化后填充ICH126的內(nèi)容,或者編碼器114可以實現(xiàn)ICH126以使得條目包括圖3中所示的有效位308。特定條目的有效位308可以表示特定條目是在有效狀態(tài)還是無效(例如未使用的)狀態(tài)。在初始化過程中,編碼器114可以清除ICH126中的條目的有效位308,而且或可替換地填充條目中的先前內(nèi)容。
[0068]編碼器114可以輸入顏色值到ICH126中以用于使用非ICH編碼所編碼的像素。對于這些像素,編碼器114可以檢查像素的顏色值(例如當(dāng)使用預(yù)測編碼時的重建像素值),以及確定是否插入顏色值到ICH126,例如作為條目插入到ICH126。在這種情況下,編碼器114可以應(yīng)用任何數(shù)量的進入準(zhǔn)則或條件。當(dāng)ICH126已經(jīng)包括具有相對于非ICH編碼的像素的顏色值,滿足一個或多個相似性準(zhǔn)則的顏色值304的有效條目時,編碼器114可以放棄插入非ICH編碼的像素的顏色值。當(dāng)ICH126中沒有具有滿足非ICH編碼的像素的顏色值的相似性準(zhǔn)則的有效條目時,編碼器114可以插入非ICH編碼的像素的顏色值到ICH126中。在確定是否插入非ICH編碼的像素的顏色值到ICH126中時,編碼器114可以應(yīng)用諸如以上所描述的那些的相似或者誤差準(zhǔn)則的任何組合。當(dāng)確定是否使用ICH編碼以及確定是否插入非ICH編碼的像素的顏色值到ICH126中時,編碼器114可以應(yīng)用相同的,部分重疊,或者不同的相似性準(zhǔn)則。[0069]當(dāng)ICH126中存在未使用的(例如無效的)條目時,編碼器114可以通過分配未使用的條目并賦予其非ICH編碼的像素的顏色值,來將非ICH編碼的像素的顏色值插入。ICH126可以設(shè)置與新分配的條目相關(guān)聯(lián)的值以指示插入的顏色值是最近使用(MRU)的。在一種變形中,編碼器114保持有計數(shù)器。編碼器114可以在定義的事件時重置計數(shù)器,例如在片段開始或者掃描行開始時。計數(shù)器可以包括許多位。ICH126中的條目可以包括存儲計數(shù)器值的計數(shù)器字段。在圖3中,ICH126中的條目包括相應(yīng)的計數(shù)器值,被標(biāo)記為最近最久未使用(LRU)的計數(shù)器值306。編碼器114可以為通過編碼器114編碼的每個像素增加計數(shù)器。編碼器可以為使用ICH編碼所編碼的每個像素或者在任何其它可配置的速率增加計數(shù)器。當(dāng)ICH126的條目匹配相似性準(zhǔn)則或者是新插入時,編碼器可以復(fù)制計數(shù)器的當(dāng)前值作為條目的LRU計數(shù)器值306,以表示條目是最近被使用。
[0070]當(dāng)全部的ICH126條目在插入非ICH編碼的像素的顏色值之前是有效的時,編碼器114可以替換LCH126中的條目。編碼器114可以采用置換算法,例如LRU置換算法。當(dāng)編碼器114確定插入新顏色值到ICH126時,編碼器114可以將LRU條目識別為具有最小計數(shù)器值的條目,例如如存儲在LRU計數(shù)器值306中的條目。編碼器114可以分配多個位給計數(shù)器,以使得最大計數(shù)器值大于或等于連續(xù)的計數(shù)器復(fù)位事件之間的像素數(shù)量。在一些實施方式中,編碼器114為每個組(例如而不是每個像素)增加計數(shù)器。在這些實施方式中,編碼器114可以分配多個位到計數(shù)器中,以使得最大計數(shù)器值大于或等于連續(xù)的計數(shù)器復(fù)位事件之間的組數(shù)量。
[0071]編碼器114可以采用任何置換算法來確定ICH126中替換的條目。編碼器114可以利用替代的置換算法,例如最近未被使用(NRU)或者先進先出(FIFO)。除了包括用于ICH126的條目的LRU計數(shù)器值之外,編碼器114可以以其他變形來實現(xiàn)LRU。 [0072]圖4示出了 ICH126的另一個示例性表示400,其中編碼器114可以將101126實現(xiàn)為有序表。有序表可以基于條目在有序表中的位置來指示哪個顏色值是MRU和LRHCH126可以將插入的顏色值識別為最近被使用的值,例如通過編碼器114在有序表的頭部插入新顏色值的條目并且舊條目向下移動。作為示例性實施方式,編碼器114可以將ICH126作為移位寄存器來管理,其中最近使用的顏色值在頂端以及最近未使用的顏色值在底部。在頂端增加新條目并且所有其它條目向下移動,在最低端的條目移出ICH126。
[0073]在一些變形中,編碼器114將新顏色值插入ICH126中,而不需要在檢查在ICH126中是否已經(jīng)存在任何相似的顏色值(例如那些滿足相似性準(zhǔn)則的)。換句話說,編碼器114可以無條件地(例如不需要應(yīng)用任何進入準(zhǔn)則)將非ICH編碼的像素的顏色值的條目插入到ICH126中。在這種情況下,編碼器114會減少插入顏色值到ICH126中的復(fù)雜度和/或延遲,這是因為到ICH126的插入可以不需要實現(xiàn)另外的比較邏輯的開銷和沒有執(zhí)行比較時的延遲的情況下完成。
[0074]在其它變形中,編碼器114將非ICH編碼的像素的新顏色值插入到ICH126中并檢查ICH126中的舊條目以確定一個(或多個)條目相對于新顏色值是否滿足相似性準(zhǔn)則。當(dāng)編碼器114識別一個或多個條目(例如,顏色值)滿足相似性準(zhǔn)則時,編碼器114可以從ICH126中移去這些條目。當(dāng)編碼器114從ICH126中除去顏色值時,舊條目可以在有序表中向前移動一個位置,例如MRU方向。以此方式,當(dāng)新條目(例如,新顏色值)與舊條目(例如,舊顏色值)相一致時,有效的結(jié)果會將舊顏色值標(biāo)記為最近被使用的,例如如同現(xiàn)在位于有序表頭部的新條目。
[0075]在一個變形中,編碼器114確定ICH126中的現(xiàn)有條目相對于非ICH編碼的像素的新顏色值是否滿足相似性準(zhǔn)則。當(dāng)ICH126中的特定條目滿足相似性準(zhǔn)則時,編碼器114將該特定條目指示為最近使用的(例如通過將特定條目移動到ICH126列表的頂端),并且不插入新顏色值到ICH126 中。與移動特定條目到頂端關(guān)聯(lián)地,在特定條目上方(更新)的條目向下移動一個位置。在另一個變形中,編碼器114確定ICH126中的現(xiàn)有條目相對于非ICH編碼的像素的新顏色值是否滿足相似性準(zhǔn)則。當(dāng)ICH126中的特定條目滿足相似性準(zhǔn)則時,編碼器114更新該特定條目的值以對應(yīng)于新顏色值,并且將該特定條目表示為最近使用的(例如通過移動特定條目到ICH126列表的頂端)。與移動特定條目到頂端關(guān)聯(lián)地,先前在特定條目上面(更新)的條目向下移動一個位置。
[0076]當(dāng)使用ICH編碼來編碼像素數(shù)據(jù)時,編碼器114保持ICH126。當(dāng)編碼器114使用ICH編碼來編碼一組時,用于編碼輸入像素的索引參考ICH126中的條目。當(dāng)ICH126的條目被引用以及被用于編碼輸入像素時,編碼器114可以將被參考的條目表示為MRU,例如通過將被參考的條目移動到ICH126的頂端并將條目的先前位置之上的其它值向下移動I。編碼器114可以針對ICH編碼組中的所有條目并行執(zhí)行該操作,其中一個或多個ICH條目以指定的相對順序被移動到列表的頂端(例如MRU位置)。組中的最后像素值會變成MRU,例如如果在組中存在多于2個像素,則相同組中下一個較早的像素變成第二 MRU等。組的最后一個像素可以在語法描述中被表示最右邊的像素。
[0077]編碼器114可以分配ICH126的特定部分以存儲特定像素組的顏色值來代替存儲最近使用的顏色值。接下來在圖5中提供了 32條目ICH126的一個示意圖。對于片段的第一行或者圖像數(shù)據(jù)的其它預(yù)定部分,編碼器114可以例如如上面關(guān)于圖4中所描述的對用于存儲最近使用的顏色值的ICH126的32個條目進行處理。對于第一行片段之后的行,編碼器114可以定義一組索引值以存儲與所選像素位置有關(guān)的顏色值。例如,在當(dāng)前行之上的行中,可以存在位于當(dāng)前像素附近(例如距當(dāng)前像素特定距離內(nèi))的像素位置。該組索引值不會被視為根據(jù)MRU和LR順序最近使用的條目。這對不在ICH126中的像素值的高效編碼十分有效,并且可以利用一些內(nèi)容改善編碼。
[0078]圖5示出ICH126的示例性表示500。編碼器114可以將ICH126分割成不同的部分,其中特定部分中的條目存儲與指定像素組相關(guān)聯(lián)的顏色值。在圖5中,編碼器114分配ICH126的第一部分作為最近使用的分配502和ICH126的第二部分作為鄰近像素分配504。在圖5示出的具體示例中,編碼器110分配ICH126底部的7個條目作為鄰居像素分配504,以存儲鄰近于當(dāng)前將要編碼的像素組的所選像素的顏色值,即,索引值25-31。編碼器114可以在編碼器114編碼后續(xù)像素組時,更新存儲在這些鄰近像素條目中的顏色值。作為鄰近像素分配504中的條目的一個示例,編碼器114可以在三個輸入像素的當(dāng)前組之上的行內(nèi)存儲七個像素的顏色值,例如關(guān)于當(dāng)前組中心定位在上方的行中的七個像素。
[0079]編碼器114可以利用ICH126中的第一“η”(例如在該示例中為25)條目,以實施最近使用的顏色值的有序列表,例如最近使用的分配502的條目對應(yīng)于圖5中ICH126中的索引值00-24。當(dāng)執(zhí)行ICH編碼時,編碼器114可以使用來自最近使用的分配502 (例如為索引值00-24的條目)中的索引值或者ICH126的鄰近像素分配504 (例如為索引值25-31的條目)中的條目的索引值編碼像素。[0080]ICH126可以在ICH126的分區(qū)部分中存儲不同的顏色值。例如,存儲在最近使用的分配502中的顏色值可以部分地或全部地不同于存儲在鄰近像素分配504中的顏色值。在一個實施方式中,當(dāng)編碼器114將像素編碼為ICH126的鄰近像素分配504中的條目的索引值時,編碼器114可以將所指示的鄰近像素的顏色值插入到ICH126的最近使用的分配502中以作為MRU顏色值。在另一個實施方式中,當(dāng)編碼器114通過引用ICH126的鄰近像素分配504中的索引值編碼像素時,編碼器114可以放棄插入所指示的鄰近像素的顏色值。在這個實施方式中,所指示的鄰近像素的顏色值不進入ICH126的最近使用的分配502中。
[0081]圖6示出了可以實現(xiàn)為編碼圖像數(shù)據(jù)的設(shè)備100的邏輯600的示例。編碼器114可以將邏輯600實現(xiàn)為硬件、軟件或者兩者,例如軟件中的編碼指令124。
[0082]編碼器114可以初始化ICH126 (602)。例如,編碼器114可以響應(yīng)于初始化條件初始化ICH126,初始化條件例如為在編碼輸入圖像或者輸入圖像的特定部分開始時。為了初始化ICH126,編碼器114可以填充ICH126的內(nèi)容或者標(biāo)記ICH126的條目為無效的或者未使用的。對于另一個變形,編碼器114可以通過將ICH126的內(nèi)容(例如,顏色值)設(shè)置為預(yù)定的配置來初始化ICH126。編碼器可以獲得輸入數(shù)據(jù)以編碼,例如一組用于編碼的輸入像素(604)。
[0083]編碼器114確定是使用ICH編碼還是非ICH編碼來編碼輸入像素組(606)。可以通過編碼器114根據(jù)任意數(shù)量的準(zhǔn)則逐個組地確定ICH編碼,準(zhǔn)則包括上述的相似性、估計位成本準(zhǔn)則和/或誤差準(zhǔn)則。例如,編碼器114可以在以下情況下使用ICH編碼來編碼像素組:(i)當(dāng)針對像素組中的每個像素,ICH126包括具有充分相似顏色值的一個或多個條目,例如顏色值的差異小于差值閾值,以及(ii)當(dāng)編碼組的位數(shù)和使用ICH編碼的誤差的函數(shù)輸出小于對應(yīng)的用于編碼組的位數(shù)和使用非ICH編碼的誤差的函數(shù)輸出。
[0084]當(dāng)確定使用ICH編碼來編碼像素組時,編碼器114將像素作為相應(yīng)的索引值編碼到ICH126中(610)。編碼器114可以針對將要編碼的特定像素,選擇ICH126中具有相同或者相似顏色值的條目的索引值,相同或相似顏色值根據(jù)相似性準(zhǔn)則進行確定。編碼器114可以使用固定數(shù)量的位以表示編碼位流中的索引值。作為一個示例,編碼器114可以使用固定數(shù)量的位(例如5)來為32條目ICH126編碼索引值。在一些變形中,編碼器114可以改變或者減少用于表示編碼位流中的特定索引值的位數(shù),例如通過利用可變長度編碼技術(shù)。運行參數(shù)127可以指定用于在編碼位流中使用索引值編碼像素值的語法,以及語法的另外示例包括使用熵編碼、向量編碼、或者算術(shù)編碼,以表示在編碼位流中ICH126的索引值。
[0085]編碼器114可以更新ICH126 (612),例如以表示用于編碼最近使用的像素組所引用的索引值的條目。編碼器114可以以任何指定的頻率更新ICH126,例如編碼每個像素之后、每隔一個像素進行編碼之后、每隔三個像素編碼之后等。當(dāng)以所列順序表實現(xiàn)ICH126時,編碼器114可以將被ICH編碼的像素引用的條目移動到順序列表的頭部。在一些變形中,當(dāng)編碼器114使用來自ICH126的一部分的索引值編碼像素時,其中該部分是為所選擇的鄰近像素分配的,編碼器114會放棄更新ICH126以表示近來使用的鄰近像素的顏色值。在其它變形中,編碼器114可以以任何指定的頻率更新ICH126以表示近來使用的鄰近像素的顏色值,指定頻率例如為在使用選擇的鄰近像素編碼的每個事件時、在每隔一個該事件、每個第三個該事件等。
[0086]編碼器114可以為編碼位流中的像素組提供ICH編碼的指示(614)。編碼器114可以通過將ICH編碼指示顯式地添加在可應(yīng)用于ICH編碼像素組的編碼位流中,來在編碼的位流中信號通知針對該組使用ICH編碼。例如,運行參數(shù)127可以指定用于表示針對特定像素組選擇ICH編碼的語法。
[0087]在DSU-VLC編碼的背景下,位流將尺寸預(yù)測值編碼為相對于預(yù)測的尺寸值為Λ,以及△被編碼在單元的前綴中。在該示例性背景中,編碼器114可以通過將轉(zhuǎn)義碼值編碼在該組的前綴(例如用于像素組的Y單元的前綴)中,來指示針對該像素組選擇ICH編碼。轉(zhuǎn)義值可以來代替△尺寸值使用。
[0088]作為一種選擇,當(dāng)編碼器114使用ICH編碼來編碼第一像素組時,編碼器114可以對跟在第一組之后的第二組像素應(yīng)用修改的前綴和轉(zhuǎn)義碼。例如,編碼器114可以定義第二組的第一單元的前綴,以使得特定縮短的前綴碼被解釋為表示第二組的ICH編碼的轉(zhuǎn)義碼,以及較長的前綴被解釋為表示第二組的非ICH編碼的非轉(zhuǎn)義碼。在該示例中,編碼器114可以將第二組的第一單元的前綴指定為前綴值為0,并被編碼為“I”位,以表示使用ICH編碼對第二組編碼。任何前綴值大于0,例如利用一個或多個“O”位后跟著一個“ I ”位編碼,可以表示第二組使用非ICH編碼進行編碼。在該示例中,前綴值大于O可以被理解為從前綴值中減I以形成這樣一組的前綴值,即,該組不跟在不使用ICH編碼的組之后,例如當(dāng)?shù)谝唤M使用非ICH編碼進行編碼時。
[0089]示意性地,編碼器114可以使用非ICH編碼來編碼緊接在使用ICH編碼所編碼的先前像素組之后的后續(xù)像素組。當(dāng)先前組沒有使用ICH編碼進行編碼時,編碼器114可以確定后續(xù)組中具有前綴值等于2的第一單元。然而,當(dāng)編碼器114使用ICH編碼來編碼先前組時,編碼器114可 以確定后續(xù)像素組第一單元的前綴具有值2+1=3。前綴值3可以被編碼為“0001”。前綴值3,大于0,表示前綴值3-1=2不是轉(zhuǎn)義碼。因此,當(dāng)多個連續(xù)的像素組使用ICH編碼進行編碼時,第二以及后續(xù)連續(xù)ICH編碼的塊的前綴的位數(shù)可以被減小。結(jié)果可以減少用于編碼圖像或者圖像的一部分的位的數(shù)量。
[0090]應(yīng)用到具有轉(zhuǎn)義碼的組的尺寸預(yù)測值可以持續(xù)直至后續(xù)組,在此再次被編碼器114應(yīng)用為預(yù)測值。尺寸預(yù)測可以持續(xù)直至編碼器114確定使用DSU-VLC(例如使用非ICH編碼)編碼后續(xù)組,之后,編碼器114使用后續(xù)組來產(chǎn)生下一個尺寸預(yù)測值。
[0091]編碼器114可以確定使用非ICH編碼來編碼像素組(616)。在一些變形中,編碼器114可以將像素解碼為輸出位流中的未壓縮的顏色或者像素值。編碼器114還可以將非ICH編碼的像素的顏色值插入到ICH126 (618),例如以任何上述的方式。編碼器114可以將插入的顏色值指示為最近使用的,并更新ICH126中的其它條目的新近指示,例如通過將舊的條目向下推送至移位寄存器的實施方式。編碼器114可以以任何指定的頻率執(zhí)行這些插入和更新,例如編碼像素之后、每隔一個像素編碼之后、編碼組之后,編碼多個組之后等。編碼器114還可以在編碼的位流中對使用非ICH編碼編碼像素組進行信號通知,例如通過不在編碼的位流中增加轉(zhuǎn)義碼。編碼器114可以繼續(xù)處理后續(xù)像素組(622)。
[0092]圖7示出了用于圖像處理的系統(tǒng)700的示例。在圖7中,設(shè)備702可以解碼圖像數(shù)據(jù),包括使用ICH編碼和非ICH編碼而編碼的圖像數(shù)據(jù)。在這點上,設(shè)備702可以例如通過通信鏈路706從實現(xiàn)編碼器114的設(shè)備100接收編碼的位流。
[0093]在圖7示出的示例中,設(shè)備702包括通信接口 710、系統(tǒng)邏輯712和用戶接口 716,例如顯示器。系統(tǒng)邏輯712可以實現(xiàn)解碼器714。在一些實施方式中,系統(tǒng)邏輯712包括一個或多個處理器720和存儲器721。存儲器721存儲例如系統(tǒng)指令722,包括解碼指令724、索引顏色歷史726、操作參數(shù)727、用于解碼的數(shù)據(jù),例如經(jīng)編碼的像素數(shù)據(jù)728。在一些實施方式中,設(shè)備702在硬件(例如專用的圖像處理電路)中實現(xiàn)解碼器714和ICH726。
[0094]解碼器714可以解碼先前使用ICH編碼或者非ICH編碼而編碼的圖像數(shù)據(jù)。在這點上,解碼器714可以以與編碼器114實現(xiàn)和保持ICH126 —樣的方式實現(xiàn)和保持ICH726。因此,解碼器714可以實現(xiàn)上述編碼器114的任何功能,但是在一些實施方式中,解碼器714可以不實施編碼器114用于確定是使用ICH編碼還是非ICH編碼來編碼數(shù)據(jù)的選擇算法或邏輯。
[0095]在一些變形中,編碼器114和解碼器714執(zhí)行相同或者一致的操作以分別更新ICH126和ICH726。更新可以導(dǎo)致ICH126和ICH726中的條目在解碼器714中解碼像素和在編碼器114中編碼像素之后,分別共享一致的屬性。一致的屬性可以指的是相同屬性或者變化不超過指定的距離閾值的屬性。一致的屬性可以包括共享相同的顏色值、相同的索引值和相同的最近使用的指示值,例如LRU、MRU、計數(shù)器值或條目的順序。
[0096]編碼器114和解碼器714可以根據(jù)一致的初始準(zhǔn)則分別初始化ICH126和ICH726。編碼器114和解碼器714可以在確定是否將非ICH編碼的像素的顏色值插入到ICH126和726時應(yīng)用一致的準(zhǔn)則,例如通過應(yīng)用相同的相似性準(zhǔn)則。編碼器114和解碼器714可以使用在保存其相應(yīng)的ICH條目方面行為一致的內(nèi)容處理算法,而不需考慮編碼器114和解碼器714是如何實現(xiàn)的。
[0097]盡管系統(tǒng)700示出可以分別實現(xiàn)編碼器114和解碼器714的分離設(shè)備100和702,但是編碼器114和解碼器714可以利用單個設(shè)備來實現(xiàn)。例如,系統(tǒng)邏輯112可以同時實現(xiàn)編碼器114和解碼 器714。
[0098]圖8示出了可以實現(xiàn)解碼圖像數(shù)據(jù)的設(shè)備702的邏輯800的示例。解碼器714可以將邏輯800實施為硬件、軟件或者兩者,例如軟件如解碼指令724。
[0099]解碼器714可以根據(jù)被編碼器114應(yīng)用的一致的初始化準(zhǔn)則來初始化ICH726(802)。解碼器714可以獲得用于解碼的數(shù)據(jù)(804)。在這點上,解碼器714可以獲得編碼器114先前編碼的編碼位流(例如,壓縮的圖像數(shù)據(jù))。
[0100]解碼器714確定像素組的圖像數(shù)據(jù)是否使用ICH編碼被編碼(806)。為此,解碼器714可以根據(jù)運行參數(shù)727對每個組的編碼位流進行分析。運行參數(shù)727可以指定編碼器114使用的一致的或者相同的語法以表示針對像素組使用ICH編碼。在這點上,解碼器714可以對組的第一單元的前綴進行解碼,并響應(yīng)于在前綴中識別到轉(zhuǎn)義碼的來確定像素組使用ICH編碼進行編碼。
[0101]在一些實施方式中,當(dāng)使用ICH編碼對第一組進行編碼時,解碼器714可以以不同于使用非ICH編碼第一組時解碼器714將獲得的解譯的方式,對緊接在該組之后的第一單元的前綴進行解譯。例如,解碼器714可以確定第二組的第一單元的前綴的前綴值為0,被編碼為“I”位,以表示使用ICH編碼對第二組進行編碼,以及可以確定任何前綴值大于O并利用一個或多個“O”位后跟著一個“I”位編碼,以表示使用非ICH編碼對第二組進行編碼。因此,解碼器714可以通過從前綴值中減去I來處理大于O的前綴值,以形成位于使用ICH編碼的先前組之后的組的單元的前綴值。
[0102]對于使用ICH編碼的像素組的圖像數(shù)據(jù),解碼器714可以將像素組的數(shù)據(jù)解譯為ICH727中的索引值。因此,解碼器714可以使用索引值解碼像素(810),獲得通過編碼位流中的相應(yīng)索引值指定的顏色值。解碼器714可以將索引值解譯為指向ICH726條目的指針,例如指向ICH726的第一部分,其表示最近使用的顏色值或者指向ICH726的第二部分,其被分配用于存儲所選擇的重建像素的顏色值。所選擇的重建像素可以是鄰近像素,或者可以相對于當(dāng)前像素具有其它指定的位置或或關(guān)系。解碼器714可以以與編碼器114 一致的方式更新ICH726中的對應(yīng)條目(812)。
[0103]當(dāng)解碼器714確定像素組數(shù)據(jù)未使用ICH編碼進行編碼時,解碼器714根據(jù)非ICH解碼方法(814)解碼像素數(shù)據(jù)以重建像素數(shù)據(jù)。解碼器714可以將重建像素的顏色值插入ICH726中(816),在條目中插入和/或代替的方式與編碼器114 一致。解碼器714可以繼續(xù)解碼后續(xù)的像素組數(shù)據(jù)(818)。
[0104]上述方法、設(shè)備和邏輯(包括編碼器114和解碼器714)可以在硬件、軟件或者硬件和軟件兩者的許多不同組合中以許多不同的方式實現(xiàn)。例如,系統(tǒng)的全部或者一部分可包括控制器、微處理器或者專用集成電路(ASIC)電路中的電路,或者可利用分立邏輯或者組件或者其它類型的模擬或者數(shù)字電路的組合來實現(xiàn),合并在單個集成電路上或者分布于多個集成電路之間。上述邏輯的全部或者一部分可實現(xiàn)為由處理器、控制器或者其它處理設(shè)備執(zhí)行的指令,并且可存儲于有形或者非易失性機器可讀或者計算機可讀介質(zhì)中,諸如閃存、隨機存取存儲器(RAM)或者只讀存儲器(ROM)、可擦除可編程只讀存儲器(EPROM)或者其它機器可讀介質(zhì)(諸如光盤只讀存儲器(CDROM)或者磁盤或光盤)。因此,產(chǎn)品(諸如計算機程序產(chǎn)品)可包括存儲介質(zhì)以及存儲于介質(zhì)上的計算機可讀指令,當(dāng)在端設(shè)備、計算機系統(tǒng)或者其它設(shè)備中執(zhí)行這些計算機可讀指令時,這些計算機可讀指令使得設(shè)備執(zhí)行根據(jù)以上任何描述的操作。
[0105]編碼器114或者解碼器714的處理能力可分布于多個系統(tǒng)組件之間,諸如多個處理器和存儲器之間,可選 地包括多個分布式處理系統(tǒng)。參數(shù)、數(shù)據(jù)庫和其它數(shù)據(jù)結(jié)構(gòu)可被分離地存儲和管理,可結(jié)合入單個存儲器或者數(shù)據(jù)庫中,可以以多種方式進行邏輯上和物理上組織,并且可以多種方式實現(xiàn),包括諸如鏈接表、哈希表或者隱式存儲機制的數(shù)據(jù)結(jié)構(gòu)。程序可以是單個程序的一部分(例如子例程)、跨多個存儲器和處理器分布的獨立的程序,或者以多種不同方式實現(xiàn),諸如以諸如共享庫(例如,動態(tài)鏈接庫(DLL))的庫來實現(xiàn)。例如,DLL可存儲執(zhí)行上述系統(tǒng)處理中任一個的代碼。
[0106]已經(jīng)具體地描述了各種實施方式。然而,許多其它的實施方式同樣是可行的。
【權(quán)利要求】
1.一種系統(tǒng)包括: 存儲器,存儲: 索引顏色歷史,所述索引顏色歷史包括存儲先前編碼像素的顏色值的條目; 與所述存儲器通信的編碼邏輯,所述編碼邏輯被配置為: 獲得用于編碼的當(dāng)前像素; 通過比較所述當(dāng)前像素的顏色值和所述先前編碼像素的顏色值,確定是否使用所述索引顏色歷史編碼所述當(dāng)前像素;以及 當(dāng)確定使用所述索引顏色歷史編碼所述當(dāng)前像素時: 將所述像素作為索引值編碼到所述索引顏色歷史中。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述編碼邏輯被配置為當(dāng)所述當(dāng)前像素的顏色值相對于所述先前編碼像素的顏色值滿足相似性準(zhǔn)則時,確定使用所述索引顏色歷史編碼所述當(dāng)前像素。
3.根據(jù)權(quán)利要求2所述的系統(tǒng),其中,當(dāng)所述當(dāng)前像素的顏色值的成分值與所述先前編碼像素的顏色值的對應(yīng)成分值的區(qū)別在差值閾值內(nèi)時,滿足所述相似性準(zhǔn)則。
4.根據(jù)權(quán)利要求3所述的系統(tǒng),其中,所述編碼邏輯進一步被配置為:訪問所述當(dāng)前像素的量化參數(shù);以及 將所述差值閾值確定為所述當(dāng)前像素的所述量化參數(shù)的函數(shù)。
5.根據(jù)權(quán)利要求4所述的系統(tǒng),其中,所述編碼邏輯被配置為將所述差值閾值確定為所述當(dāng)前像素的所述量化參數(shù)的最大量化誤差。
6.根據(jù)權(quán)利要求4所述的系統(tǒng),其中,所述編碼邏輯被配置為將所述差閾值確定為以下: 當(dāng)所述最大量化誤差不超過誤差閾值時,確定為基于所述當(dāng)前像素的所述量化參數(shù)的最大量化誤差;以及 當(dāng)所述最大量化誤差超過所述誤差閾值時,確定為小于所述當(dāng)前像素的所述量化參數(shù)的所述最大量化誤差的值。
7.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述編碼邏輯進一步被配置為在編碼位流中以顯式方式信號通知所述當(dāng)前像素已經(jīng)作為所述索引值被編碼到所述索引顏色歷史中。
8.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述編碼邏輯進一步被配置為: 當(dāng)存儲在所述索引顏色歷史中的顏色值相對于所述當(dāng)前像素的顏色值均不滿足相似性準(zhǔn)則時,確定不使用所述索引顏色歷史對所述當(dāng)前像素進行編碼;以及在不參考所述索引顏色歷史的情況下編碼所述當(dāng)前像素。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其中,所述編碼邏輯進一步被配置為: 當(dāng)確定不使用所述索引顏色歷史編碼所述當(dāng)前像素時: 將所述當(dāng)前像素的顏色值插入所述索引顏色歷史中;以及 將所述當(dāng)前像素的顏色值指示為最近使用的顏色值。
10.一種方法,包括: 獲得當(dāng)前像素的圖像數(shù)據(jù),所述圖像數(shù)據(jù)包括所述當(dāng)前像素的顏色值; 當(dāng)在以下情況下,確定通過參考索引顏色歷史編碼所述當(dāng)前像素: 所述索引顏色歷史包括存儲先前編碼像素的顏色值的歷史條目,所述先前編碼像素的顏色值相對于所述當(dāng)前像素的顏色值滿足相似性準(zhǔn)則;以及 通過參考所述索引顏色歷史編碼所述當(dāng)前像素的位長度的函數(shù)值小于使用不同編碼方法編碼所述當(dāng)前像素的位長度的函數(shù)值;以及 通過參考所述索引顏色 歷史中的所述歷史條目編碼所述當(dāng)前像素。
【文檔編號】H04N19/85GK104023235SQ201410073689
【公開日】2014年9月3日 申請日期:2014年2月28日 優(yōu)先權(quán)日:2013年2月28日
【發(fā)明者】亞歷山大·加蘭·麥金尼斯, 弗雷德里克·喬治·沃爾斯 申請人:美國博通公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1