亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

圖像編碼方法

文檔序號:7888964閱讀:301來源:國知局
專利名稱:圖像編碼方法
技術(shù)領(lǐng)域
本發(fā)明涉及用于根據(jù)預(yù)定編碼格式對圖像進(jìn)行編碼的編碼方法。特別地,本發(fā)明涉及如下這樣的編碼方法當(dāng)預(yù)定編碼格式以像素塊為單位對圖像進(jìn)行編碼時,每一個像素塊被編碼為包括基本顏色(base color)和相對于該基本顏色的亮度偏移量集合的經(jīng)編碼像素顏色集合。
背景技術(shù)
已知有各種用于編碼圖像的編碼格式。這些格式所體現(xiàn)的特定技術(shù)取決于得到的經(jīng)編碼圖像中的各種因素的相對重要性而不同,所述各種因素例如是編碼是否應(yīng)當(dāng)無損,得到的編碼圖像的所需數(shù)據(jù)大小以及經(jīng)編碼圖像的整體質(zhì)量。廣泛使用并且公知的一組圖像編碼格式是由JPEG組定義的那些編碼格式。但是,諸如JPEG之類的預(yù)定編碼格式并不適合所有應(yīng)用,特別是需要對經(jīng)編碼圖像中的像素區(qū)域進(jìn)行隨機(jī)訪問的那些應(yīng)用。這例如可能是如下情況經(jīng)編碼圖像提供了要在圖形應(yīng)用中使用的經(jīng)壓縮紋理。這是因?yàn)橹T如JPEG之類的編碼格式依賴于這樣的技術(shù)這種技術(shù)相對于同一圖像內(nèi)的在前像素塊對圖像內(nèi)的像素塊進(jìn)行編碼。雖然這實(shí)現(xiàn)了更高的數(shù)據(jù)壓縮程度,但是這種方法要求將圖像作為整體進(jìn)行解碼,因而這種編碼格式并不適合諸如紋理渲染(texture rendering)之類的應(yīng)用,這些應(yīng)用需要對給定圖像的子部進(jìn)行隨機(jī)訪問。因此,已知根據(jù)確實(shí)允許這種隨機(jī)訪問的預(yù)定編碼格式對圖像進(jìn)行編碼。通常,在這樣的編碼格式中,在代表能夠單獨(dú)編解碼的圖像的最小單位的像素塊(例如,4X4)中對圖像進(jìn)行編碼。利用這種編碼格式的一種已知技術(shù)是通過基本顏色和相對于該基本顏色的亮度偏移量集合來表示像素塊。換而言之,對于以這種方式編碼的每一個塊,針對所有像素僅定義一種顏色,而每一個像素的亮度被給定為相對于該基本顏色的偏移量。一般而言,這產(chǎn)生可接受的圖像質(zhì)量,因?yàn)槿搜蹖τ诰植可茸儾畹拿舾卸鹊陀趯植苛炼茸儾畹拿舾卸?。但是,與根據(jù)這種編碼格式(ETC格式(Ericsson紋理壓縮)是其中的一個示例)來生成經(jīng)編碼圖像相關(guān)聯(lián)的一個問題在于生成經(jīng)壓縮(經(jīng)編碼)圖像所需的處理時間。例如,當(dāng)使用現(xiàn)有工具來創(chuàng)建ETC經(jīng)壓縮紋理時,對于那些工具所支持的最高質(zhì)量而言,處理時間可能約為每秒300至400像素,或者針對典型紋理的30分鐘至I小時。這么長的處理時間源于針對每一個像素塊在可用編碼空間中執(zhí)行搜索以找出基本顏色和亮度偏移量的最佳組合。為了產(chǎn)生最高質(zhì)量的經(jīng)壓縮紋理,搜索是多維且廣泛的,從而導(dǎo)致這些長處理時間。但是,在開發(fā)和測試圖形應(yīng)用時,這樣的長處理時間是不可接受的,因?yàn)閼?yīng)用可能包括數(shù)十或數(shù)百個紋理,并且開發(fā)者需要能夠在開發(fā)期間評價經(jīng)壓縮紋理的質(zhì)量。圖IA示意性地圖示出了 4X4的像素塊10。通常,當(dāng)根據(jù)諸如ETC之類的編碼格式來編碼這樣的像素塊時,每個塊事實(shí)上是按照彼此相鄰的兩個半塊(half-block)來編碼的。如圖IA所示,像素塊10可通過垂直分割來劃分成兩個半塊。等同地,同一個像素塊也可憑借水平分隔來劃分成兩個半塊。
ETC編碼格式定義了 8個表格的亮度偏移量,如圖IB所示。因此,針對每個半塊來定義基本顏色,并且憑借一個3比特的表格號和八個2比特的表格條目號來編碼該半塊中的八個像素。根據(jù)ETC標(biāo)準(zhǔn)定義了兩種編碼,即,絕對編碼和差分編碼,如圖IC所不。每一種編碼使得像素塊被編碼為單個64比特的值。在絕對編碼中,對各個半塊進(jìn)行獨(dú)立編碼。每一 個半塊的基本顏色被編碼為12比特(444)的RGB值,并且整個塊的編碼由24比特表示,這24比特給出了構(gòu)成該塊的第一和第二半塊的基本顏色的R、G和B分量。之后跟隨兩個3比特的值,這兩個3比特的值給出了用于每一個半塊的亮度偏移量表格。“diff”比特指示出已經(jīng)使用絕對編碼還是差分編碼來對該塊進(jìn)行編碼。“flip”比特指示出已經(jīng)水平地還是垂直地將塊分割成半塊。最后,兩個半塊的16個單獨(dú)像素各自由2個比特表示,這2個比特給出了它們在所選表格中的相應(yīng)條目。編碼格式將這些像素分組成16MSB和16LSB。差分編碼被類似地定義,除了在差分編碼中,第二半塊的基本顏色被定義為相對于第一半塊的偏移量。因此,第一半塊的基本顏色被給予15比特(555)的RGB值,而第二半塊的R、G和B偏移量各自被給予3比特的偏移量。這在定義基本顏色方面實(shí)現(xiàn)了更高的精度,但是唯有半塊的基本顏色相互足夠接近以使得能夠由這些3比特偏移量表示才行。否貝U,使用絕對編碼。用于編碼半塊的基本顏色的24比特與可在編碼中定義的預(yù)定基本顏色集合相對應(yīng)。圖2A示意性地圖示出了該預(yù)定基本顏色集合。注意,為了圖示清楚起見,僅示出了二維表示,其中僅示出了 R和G分量(第三維中的B分量被省略)。用于編碼給定半塊而選擇的基本顏色通常是參考該半塊中的像素的平均顏色來選擇的。由于經(jīng)編碼像素被編碼為相對于所選基本顏色的亮度偏移量,所以圖2A中的斜線(亮度線)約束了經(jīng)編碼像素可在該顏色空間中所處的位置。如圖2A所示,存在一種以上的用于從可用于計(jì)算出的給定平均顏色的預(yù)定基本顏色集合選擇基本顏色的方式?;绢伾?0是在最接近的亮度線上的最接近基本顏色,而基本顏色40是在幾何上最接近的基本顏色。圖2B以圖形方式圖示出了憑借離基本顏色的亮度偏移量來對給定像素值編碼。(從預(yù)定表格的亮度偏移量選擇的)亮度偏移量給出了經(jīng)壓縮像素顏色相對于基本顏色在該顏色空間中的位置。經(jīng)壓縮像素顏色和原始像素顏色之間的距離給出了該像素的編碼誤差。圖3示出了通過現(xiàn)有的ETC壓縮算法針對每一個半塊的像素的基本顏色執(zhí)行的搜索范圍。在依據(jù)該半塊的像素的平均顏色已經(jīng)選擇初始基本點(diǎn)(即,基本顏色)之后,在圍繞起始基本點(diǎn)的基本點(diǎn)容納體中執(zhí)行搜索以查明是否找到了改進(jìn)的編碼。在高質(zhì)量版本的壓縮中,考察了 7X7X7的搜索體積(在示出的2D表示中被表示為7X7的搜索區(qū)域)。在這些編碼中,選擇使得針對半塊的總編碼誤差最小化的編碼。這是針對這7 X 7 X 7 (即,343)個候選基本點(diǎn)的每一個的所有8個可能表格來計(jì)算出最佳編碼的迭代處理,該處理對于現(xiàn)有壓縮工具而言將產(chǎn)生冗長的處理過程。針對這樣的圖像編碼/壓縮的一些現(xiàn)有方案的描述可從如下文獻(xiàn)中找到Jacob Strom 和 Tomas Akenine-Moller 所著的描述 ETC 壓縮格式的(從 http: //www. Rraphicshardware. orR/previous/www 2005/presentations/strom-ipackman-Rh05.ppt 檢索至Ij 的)演講稿 “ iPackman-High-Quality, LowComplexity Texture Compressionfor Mobile Phones,,;(從 http : //www. khronos. org/registry/gles/extensions/OES/OEScompressed ETC1RGB8 texture, txt 可得的)ETC 格式的完整 Khronos 標(biāo)準(zhǔn);J. M. P. van Waveren 的論文“Real Time DXT Compression”,2006 年 5 月(http: //cache-www. intel. com/cd/00/00/32/43/324337 324337. pdf);以及(2010 年 11 月 12 日從http: //code, google. com/p/nvidia-texture-tools/wiki/ApiDocumentation 檢索至Ij 的)NVIDIA紋理工具的描述。但是,上述的冗長處理時間在現(xiàn)有技術(shù)方案中是很普遍的,因此希望提供一種用于生成高質(zhì)量編碼的改進(jìn)技術(shù),其需要較少的處理時間。

發(fā)明內(nèi)容
從第一方面看,本發(fā)明提供了一種根據(jù)預(yù)定編碼格式來生成圖像的編碼的編碼方法,其中,所述預(yù)定編碼格式在像素塊中編碼所述圖像,每一個像素塊被編碼為經(jīng)編碼像素顏色的集合,該經(jīng)編碼像素顏色的集合包括基本顏色和相對于所述基本顏色的亮度偏移量的集合,其中,所述基本顏色是從在預(yù)定顏色空間中定義的預(yù)定基本顏色集合中選擇的,其中,所述亮度偏移量的集合被編碼為對至少一個預(yù)定表格的亮度偏移量值的參考的集合, 并且其中,所述預(yù)定基本顏色集合和所述亮度偏移量值在所述預(yù)定顏色空間中定義了亮度線的集合,所述經(jīng)編碼像素顏色位于所述亮度線中的至少一條亮度線上,所述方法包括針對每一個像素塊執(zhí)行的以下步驟確定所述預(yù)定顏色空間中的所述像素塊的顏色的平均顏色;依據(jù)所述平均顏色在所述顏色空間中的離至少一條亮度線的偏移量來選擇所述至少一條亮度線;識別位于所述至少一條亮度線上的候選基本顏色集合;以及使用所述候選基本顏色集合和所述亮度偏移量值來確定所述經(jīng)編碼像素顏色的集合,其中,所述基本顏色和所述亮度偏移量的集合是依據(jù)指示出所述經(jīng)編碼像素顏色的集合與所述像素塊的所述顏色之間的在所述顏色空間中的距離總和(sum distance)的編碼誤差來選擇的。當(dāng)根據(jù)在像素塊中編碼圖像的預(yù)定編碼格式來編碼圖像時,每一個像素塊被編碼為經(jīng)編碼像素顏色的集合,該經(jīng)編碼像素顏色的集合包括基本顏色和相對于該基本顏色的亮度偏移量的集合,本發(fā)明的發(fā)明人意識到可以通過從位于至少一條亮度線上的候選基本顏色集合中為每一個像素塊選擇基本顏色來提供改進(jìn)方法,所述至少一條亮度線貫穿了編碼所操作于的預(yù)定顏色空間。該預(yù)定顏色空間中的亮度線由可用于編碼的預(yù)定基本顏色集合來定義。因此,根據(jù)本發(fā)明的技術(shù),針對要編碼的每一個像素塊,首先確定該像素塊的像素的平均顏色,然后依據(jù)該平均顏色在預(yù)定顏色空間中離至少一條亮度線的偏移量來選擇至少一條亮度線。這至少一條亮度線于是提供了隨后用于確定最終編碼的候選基本顏色集合。
已經(jīng)發(fā)現(xiàn),不是使用例如形成近似以要編碼的像素塊的平均顏色為中心的立方體(例如,圖3所示的7 X 7 X 7的搜索體)的基本顏色集合來識別候選基本顏色集合,而是,如果參考貫穿預(yù)定顏色空間的亮度線來選擇候選基本顏色則可提供改進(jìn)的編碼方法。這是由于以下事實(shí)將像素塊編碼為基本顏色和相對于該基本顏色的亮度偏移量的集合的編碼格式在設(shè)定亮度值方面比在設(shè)定色度值方面提供了更大的靈活度。此外,由于經(jīng)編碼像素顏色被約束為位于貫穿預(yù)定顏色空間的亮度線中的一條亮度線上(因?yàn)槊恳粋€經(jīng)編碼像素顏色被表示為沿著這些亮度線之一的離位于該亮度線上的某處的基本顏色的偏移量),所以通過參考亮度線來執(zhí)行選擇而不是通過使用圍繞像素塊的平方像素顏色的空間搜索,改進(jìn)了對用于編碼特定像素塊的最佳基本顏色的識別。例如當(dāng)像素塊的顏色廣泛分布于預(yù)定顏色空間中時(這意味著像素塊的平均顏色的位置并不特別代表個體像素顏色),這種技術(shù)可能特別有益。在這種情形中,亮度線可能比圍繞平均顏色的預(yù)定搜索空間更加適合于提供候選基本顏色。使得基于亮度線的方案更加有利的又一個因素在于定義了預(yù)定顏色空間中的具有增長亮度的線的亮度線不必然是具有恒定色度的線,這是因?yàn)榱炼瓤梢猿^一顏色分量達(dá)到飽和的點(diǎn)而增長或減小。從圖解的角度看,這表示亮度線滿足預(yù)定顏色空間的邊緣的情形。因此,亮度線不必然采取穿過該預(yù)定顏色空間的單一徑直路徑。因此,可能存在更佳地與給定像素顏色集合匹配的亮度線,而另一方面那些像素的平均顏色的位置更接近將僅僅允許對像素顏色進(jìn)行較差編碼的基本顏色。特別地,這可能是如下的情況最接近預(yù)定顏色空間中的平均像素顏色的基本顏色在色度方面與各個像素顏色顯著不同,這是因?yàn)轭A(yù)定編碼格式僅僅允許各個像素在離基本顏色的亮度偏移量方面不同,并因而該色度差異可能產(chǎn)生(在經(jīng)編碼像素顏色與原始像素顏色之間的)很大的編碼誤差。將了解,存在各種可以定義偏移量的方式,但是在一個實(shí)施例中,所述顏色空間中的所述偏移量是所述平均顏色和所述至少一條亮度線之間的最接近路徑的距離。還將了解,存在各種可以定義編碼誤差的方式,但是在一個實(shí)施例中,所述編碼誤差被計(jì)算為所述經(jīng)編碼像素顏色的集合與所述像素塊的所述顏色之間的平方距離的總和(a sum of squared distances)。在一個實(shí)施例中,所述選擇所述至少一條亮度線的步驟包括選擇具有最小的所述偏移量的值的三條亮度線。在三維預(yù)定顏色空間(例如,RGB)的上下文中,選擇三條亮度線是特別適當(dāng)?shù)?,這是因?yàn)榻o定平均顏色的位置將被三條亮度線包圍。這三條亮度線中的哪條亮度線將證實(shí)最適合提供用于編碼的基本顏色將取決于像素塊的像素顏色相對于每一條線的位置。在一個實(shí)施例中,所述選擇至少一條亮度線的步驟包括迭代的亮度線選擇過程,所述迭代的亮度線選擇過程包括以下步驟審查已經(jīng)選擇的亮度線的相鄰亮度線;以及如果所述像素塊的所述顏色離所述相鄰亮度線的總偏移量不大于所述像素塊的所述顏色離所述已經(jīng)選擇的亮度線的總偏移量,則選擇所述相 鄰亮度線。因此,憑借該迭代的亮度線選擇過程可以選擇多于一條的亮度線。該迭代的亮度線選擇過程的提案基于如下認(rèn)知依據(jù)其在預(yù)定顏色空間中離像素塊的平均顏色的偏移量來選擇的初始亮度線事實(shí)上可能并沒有提供作為針對該像素塊的最佳編碼的基本顏色。例如,由于亮度線穿過預(yù)定顏色空間所采取的路徑,最接近各個像素顏色的亮度線可能與最接近那些像素的平均顏色的亮度線不同。因此,該迭代的亮度線選擇過程對相鄰亮度線進(jìn)行審查并對像素塊的顏色離該相鄰亮度線的總偏移量和像素塊的顏色離已經(jīng)選擇的亮度線的總偏移量進(jìn)行比較,并且如果結(jié)果是相鄰亮度線更接近像素塊的顏色(就總偏移量而言),則該相鄰亮度線也被選擇。 將了解,存在各種可以計(jì)算總偏移量的方式,但是在一個實(shí)施例中,所述總偏移量被計(jì)算為所述像素塊的所述顏色與各條亮度線的相應(yīng)最接近點(diǎn)之間的平方距離的總和。在一個實(shí)施例中,僅在所述相鄰亮度線在顏色飽和度方面相對于所述已經(jīng)選擇的亮度線體現(xiàn)出增長的情況下,所述相鄰亮度線才被審查。在考慮預(yù)定顏色空間中的亮度線時,已經(jīng)意識到最接近像素塊的顏色(例如,在均方根(RMS)距離方面)的亮度線或者是最接近像素的平均顏色的線或者是比該線具有更高飽和度顏色的線。因此,當(dāng)作為迭代的亮度線選擇過程的一部分來選擇其他亮度線時,有利的是僅考慮選擇在顏色飽和度方面相對于已經(jīng)選擇的亮度線體現(xiàn)出增長的相鄰亮度線。在一個實(shí)施例中,僅在所述已經(jīng)選擇的亮度線的所述總偏移量具有非零值的情況下,所述相鄰亮度線才被審查。已經(jīng)意識到像素顏色的某些特定配置可能產(chǎn)生在那些像素顏色與給定亮度線之間的總偏移量的零值。例如,這可能是如下這種情況像素顏色直接位于一條或多條亮度線上,這例如在像素顏色位于預(yù)定顏色空間的顏色完全飽和邊緣上時是可能的。在這種情形中,不必審查相鄰亮度線。在一個實(shí)施例中,當(dāng)多條亮度線被選擇時,所述多條亮度線被按每一條亮度線的總偏移量來排序。在針對編碼像素顏色的任意給定集合的編碼誤差必須至少是針對相應(yīng)亮度線的總偏移量的情況下,有利的是存在按它們的總偏移量進(jìn)行排序了的多條亮度線。平均而言,具有最小總偏移量的亮度線最可能產(chǎn)生最低編碼誤差。但是,應(yīng)當(dāng)認(rèn)識到,具有最小總偏移量的線不必然產(chǎn)生最低編碼誤差,這是因?yàn)檫@取決于像素顏色相對于該亮度線上的可用基本顏色的特定位置。例如,如果像素顏色恰巧相對較遠(yuǎn)離可用基本顏色則可能發(fā)生這種情況,于是另一條亮度線可能提供針對該像素塊的更小編碼誤差。在一個實(shí)施例中,所述確定所述經(jīng)編碼像素顏色的集合的步驟包括迭代的亮度線考慮過程,其中,所述識別位于所述至少一條亮度線上的候選基本顏色集合的步驟和所述確定所述經(jīng)編碼像素顏色的集合的步驟被針對所述多條亮度線、按增長的總偏移量的順序來執(zhí)行。已經(jīng)選擇了多條亮度線之后,用于審查它們的最程序高效的方式是按增長的總偏移量的順序。在一個實(shí)施例中,所述確定所述經(jīng)編碼像素顏色的集合的步驟包括迭代的編碼確定過程,該迭代的編碼確定過程包括針對所述候選基本顏色的集合中的每一個候選基本顏色的以下步驟使用應(yīng)用于所述候選基本顏色的所述亮度偏移量值來確定經(jīng)編碼像素顏色的候選集合;確定所述經(jīng)編碼像素顏色的候選集合的候選編碼誤差,該候選編碼誤差指示出所述像素塊的所述顏色與所述經(jīng)編碼像素顏色的候選集合之間的在所述顏色空間中的距離總和;如果所述候選編碼誤差低于針對所述像素塊確定的任何在前候選編碼誤差,則將所述候選編碼誤差設(shè)定為最佳編碼誤差;將所述候選基本顏色和當(dāng)被應(yīng)用于所述候選基本顏色時給出所述最佳編碼誤差的那些亮度偏移量值選擇為所述基本顏色和所述亮度偏移量的集合。因此,在已經(jīng)確定候選基本顏色集合的情況下,可以輪流地取入每一個候選基本顏色以使用應(yīng)用于該候選基本顏色的亮度偏移量值來確定經(jīng)編碼像素顏色的候選集合。在此基礎(chǔ)上,可以確定指示出像素塊的顏色與經(jīng)編碼像素顏色的候選集合之間的在顏色空間中的距離總和的候選編碼誤差。針對這樣確定的每一個候選編碼誤差,如果發(fā)現(xiàn)其低于任何在前的候選編碼誤差,則該候選編碼誤差被設(shè)定為最佳編碼誤差。這樣,隨著每一個候選基本顏色被考慮,保持跟蹤目前為止所發(fā)現(xiàn)的最佳編碼誤差,并且在處理的結(jié)尾,基本顏色和給出最佳編碼誤差的亮度偏移量集合可被用作針對該像素塊選中基本顏色和亮度偏移量集合。 在一個實(shí)施例中,所述至少一個預(yù)定表格的亮度偏移量值包括多個預(yù)定表格的亮度偏移量值,并且所述使用應(yīng)用于所述候選基本顏色的所述亮度偏移量值來確定所述經(jīng)編碼像素顏色的候選集合的步驟包括使用所述多個預(yù)定表格的亮度偏移量值中的每一個表格來迭代地確定所述經(jīng)編碼像素顏色的候選集合。于是,當(dāng)多個預(yù)定表格的亮度偏移量值被提供時,使用應(yīng)用于候選基本顏色的亮度偏移量值來確定經(jīng)編碼像素顏色的候選集合的步驟可以輪流地嘗試每一個表格的亮度偏移量值以尋求找到最佳編碼誤差。在一個實(shí)施例中,所述編碼誤差被累積地確定為累積編碼誤差,并且如果針對在考慮中的當(dāng)前表格的亮度偏移量值的所述累積編碼誤差超過了所述最佳編碼誤差,則使用所述當(dāng)前表格的亮度偏移量值來確定所述經(jīng)編碼像素顏色的候選集合被終止。因此,隨著每一個表格的亮度偏移量值被考慮,編碼誤差被累積地確定,并且如果該累積誤差超過了先前發(fā)現(xiàn)的最佳編碼誤差,則可以知曉,使用該表格的最終編碼誤差只會超過目前為止發(fā)現(xiàn)的最佳編碼誤差,并且通過終止針對該表格的亮度偏移量值的計(jì)算可以節(jié)省處理時間。可以逐像素地評估該累積編碼誤差,并且在一個實(shí)施例中,針對所述像素塊的所述顏色來逐像素地將所述累積編碼誤差與所述最佳編碼誤差進(jìn)行比較。因此,只要針對給定像素的計(jì)算使得累積誤差超過目前為止發(fā)現(xiàn)的最佳編碼誤差,就可以終止考慮(如被應(yīng)用于在考慮中的當(dāng)前基本顏色的)該表格的亮度偏移量值。在一個實(shí)施例中,在考慮下一條亮度線之前,如果針對所述下一條亮度線的所述總偏移量超過了所述最佳編碼誤差,則所述迭代的亮度線考慮過程被終止,并且所述下一條売度線和所述多條売度線中的任何其他売度線都不被考慮。這是因?yàn)槿缦率聦?shí)如上所述,使用給定亮度線上的基本顏色的編碼誤差必須至少與針對該亮度線的總偏移量一樣大。因此,在迭代的亮度線考慮過程期間,如果發(fā)現(xiàn)針對下一條亮度線的總偏移量超過了目前為止發(fā)現(xiàn)的最佳編碼誤差,則可以立即得出該下一條亮度線無法繼續(xù)改進(jìn)最佳編碼誤差,并且任何其他亮度線也都無法繼續(xù)改進(jìn)最佳編碼誤差,這是因?yàn)檫@些亮度線被按總偏移量進(jìn)行了排序。如此這樣,目前為止發(fā)現(xiàn)的最佳編碼誤差無法被繼續(xù)改進(jìn),并且迭代的亮度線考慮過程可立即被終止。在一個實(shí)施例中,所述塊各自包括2個像素乘以4個像素的集合。在一個實(shí)施例中,以相互依賴的方式來編碼所述像素塊中的至少一對相鄰塊,所述配對的相鄰塊中的第二塊被參考所述配對的相鄰塊中的第一塊來編碼。可以發(fā)現(xiàn)以相互依賴的方式來編碼配對的相鄰塊在編碼效率方面是很有利的。例如,如果要使用24比特來編碼兩個相鄰像素塊的基本顏色,同時每一個基本顏色可以用12比特進(jìn)行編碼,則通過使用15比特(例如,RGB 555)來編碼一個基本顏色,同時將另一個基本顏色定義為相對于該基本顏色的3比特偏移量的集合,可以實(shí)現(xiàn)更大的基本顏色定義精度。如果兩個塊的基本顏色之間的差異足夠小到可以用該3比特偏移量的集合進(jìn)行表示,則這當(dāng)然是可能的。在一個實(shí)施例中,所述配對的塊在水平方向上相鄰,而在另一個實(shí)施例中,所述配對的塊在垂直方向上相鄰。在一個實(shí)施例中,方法還包括針對每一個像素塊來判斷所述編碼誤差在該像素塊被以所述相互依賴的方式來編碼時更低還是在該像素塊被以不參考另一個像素塊的獨(dú)立方式來編碼時更低。隨后可以選擇針對該像素塊給出最低編碼誤差的編碼方式。在一個實(shí)施例中,方法還包括針對每一個像素塊來迭代地確定針對所有編碼方式的所述編碼誤差以及選擇給出所述編碼誤差的總體最低值的編碼方式。因此,逐塊地,獨(dú)立/相互依賴編碼和水平/垂直分割的每一次置換(permutation)可被測試以確定哪次置換給出了最佳編碼。還可以針對每一種不同的相互依賴編碼來判斷是否在第一塊依賴于第二塊的情況下產(chǎn)生較低編碼誤差(向塊的配對給予任意的第一和第二標(biāo)號),反之亦然。在一個實(shí)施例中,在所述顏色空間中的距離計(jì)算是根據(jù)人類對所述顏色空間中的每一個顏色分量的靈敏度來進(jìn)行了知覺加權(quán)的。由于人眼對不同顏色分量的靈敏度的差異,通過將此現(xiàn)象作為因素計(jì)入距離計(jì)算中可以獲得編碼質(zhì)量方面的可感知的改進(jìn)。在一個實(shí)施例中,所述編碼誤差被計(jì)算為峰值信噪比。這也可被判定為給出了改進(jìn)的編碼質(zhì)量。在一個實(shí)施例中,所述圖像是紋理圖像。紋理圖像需要被圖形應(yīng)用隨機(jī)訪問,并因而基于塊的編碼特別適合。 在一個實(shí)施例中,所述預(yù)定編碼格式是ETC格式。從第二方面看,本發(fā)明提供了一種計(jì)算機(jī)程序產(chǎn)品,其以非瞬態(tài)方式存儲被配置為使得計(jì)算機(jī)執(zhí)行第一方面的編碼方法的計(jì)算機(jī)程序。從第三方面看,本發(fā)明提供了一種被配置為根據(jù)預(yù)定編碼格式來生成圖像的編碼的編碼設(shè)備,其中,所述預(yù)定編碼格式在像素塊中編碼所述圖像,每一個像素塊被編碼為經(jīng)編碼像素顏色的集合,該經(jīng)編碼像素顏色的集合包括基本顏色和相對于所述基本顏色的亮度偏移量的集合,其中,所述基本顏色是從在預(yù)定顏色空間中定義的預(yù)定基本顏色集合中選擇的,其中,所述亮度偏移量的集合被編碼為對至少一個預(yù)定表格的亮度偏移量值的參考的集合,并且其中,所述預(yù)定基本顏色集合和所述亮度偏移量值在所述預(yù)定顏色空間中定義了亮度線的集合,所述經(jīng)編碼像素顏色位于所述亮度線中的至少一條亮度線上,被配置為對每一個像素塊執(zhí)行操作的所述設(shè)備包括 平均顏色確定單元,被配置為確定所述預(yù)定顏色空間中的所述像素塊的平均顏色;亮度線選擇單元,被配置為依據(jù)所述平均顏色在所述顏色空間中的離至少一條亮度線的偏移量來選擇所述至少一條亮度線;候選基本顏色識別器,被配置為識別位于所述至少一條亮度線上的候選基本顏色集合;以及 確定單元,被配置為使用所述候選基本顏色集合和所述亮度偏移量值來確定所述經(jīng)編碼像素顏色的集合,其中,所述基本顏色和所述亮度偏移量的集合是依據(jù)指示出所述經(jīng)編碼像素顏色的集合與所述像素塊的所述顏色之間的在所述顏色空間中的距離總和的編碼誤差來選擇的。從第四方面看,本發(fā)明提供了一種用于根據(jù)預(yù)定編碼格式來生成圖像的編碼的編碼設(shè)備裝置,其中,所述預(yù)定編碼格式在像素塊中編碼所述圖像,每一個像素塊被編碼為經(jīng)編碼像素顏色的集合,該經(jīng)編碼像素顏色的集合包括基本顏色和相對于所述基本顏色的亮度偏移量的集合,其中,所述基本顏色是從在預(yù)定顏色空間中定義的預(yù)定基本顏色集合中選擇的,其中,所述亮度偏移量的集合被編碼為對至少一個預(yù)定表格的亮度偏移量值的參考的集合,并且其中,所述預(yù)定基本顏色集合和所述亮度偏移量值在所述預(yù)定顏色空間中定義了亮度線的集合,所述經(jīng)編碼像素顏色位于所述亮度線中的至少一條亮度線上,被配置為對每一個像素塊執(zhí)行操作的所述設(shè)備裝置包括平均顏色確定裝置,用于確定所述預(yù)定顏色空間中的所述像素塊的平均顏色;亮度線選擇裝置,用于依據(jù)所述平均顏色在所述顏色空間中的離至少一條亮度線的偏移量來選擇所述至少一條亮度線;候選基本顏色識別裝置,用于識別位于所述至少一條亮度線上的候選基本顏色集合;以及確定裝置,用于使用所述候選基本顏色集合和所述亮度偏移量值來確定所述經(jīng)編碼像素顏色的集合,其中,所述基本顏色和所述亮度偏移量的集合是依據(jù)指示出所述經(jīng)編碼像素顏色的集合與所述像素塊的所述顏色之間的在所述顏色空間中的距離總和的編碼誤差來選擇的。


將僅通過示例參考如附圖中所圖示出的本發(fā)明的實(shí)施例來進(jìn)一步描述本發(fā)明,在附圖中圖IA示意性地圖示出了要被編碼的像素塊,該像素塊被垂直地劃分成兩個半塊;圖IB示意性地示出了由ETC格式定義的8個預(yù)定亮度偏移量表格的集合;圖IC示出了根據(jù)ETC格式對每一個像素塊進(jìn)行64比特編碼的分類,兩者均用于絕對編碼和差分編碼;圖2A示出了在預(yù)定顏色空間中的像素顏色集合、那些像素的平均顏色以及預(yù)定的可能基本顏色集合;圖2B圖示出了利用基本顏色和與原始像素顏色進(jìn)行比較的亮度偏移量對經(jīng)壓縮像素顏色的編碼;圖3示出了根據(jù)現(xiàn)有技術(shù)編碼方法考慮的候選基本點(diǎn)所在的搜索區(qū)域(容納體);圖4A圖示出了最接近平均像素顏色的亮度線和相對于原始像素顏色的最佳亮度線.
-^4 ,圖4B圖示出了指示出增長的顏色飽和度的方向的亮度線集合;圖5A示意性地圖示出了在一個實(shí)施例中用于確定給定像素塊的最佳編碼所采取的一系列步驟;圖5B圖示出了在圖5A所示的處理中使用的差分計(jì)算所涉及的步驟;圖6示意性地圖示出了在一個實(shí)施例中當(dāng)確定亮度線的候選集合時所采取的一系列步驟;圖7示意性地圖示出了在一個實(shí)施例中當(dāng)執(zhí)行迭代的亮度線考慮過程時所采取的一系列步驟;圖8示意性地圖示出了在一個實(shí)施例中、在迭代的編碼確定過程中當(dāng)考慮亮度線上的候選基本顏色集合時所采取的一系列步驟;以及圖9示意性地圖示出了可用于實(shí)現(xiàn)各個實(shí)施例的通用計(jì)算設(shè)備。
具體實(shí)施例方式圖4A圖示出了來自像素塊(具體地,來自2X4個像素的半塊)的8個像素顏色的集合,其圖示出了為什么平均像素顏色的附近區(qū)域不包含用于編碼這些像素顏色的最佳基本顏色。由于原始像素顏色散布在兩個群組(一個群組相對接近原點(diǎn),另一個群組在高R/低G區(qū)域)中這一事實(shí),所以平均像素顏色落在這兩個群組之間的中R/低G值的某處。注意,應(yīng)當(dāng)了解,雖然圖4A和4B是針對二維顏色空間(RG)來示出的,但是這僅僅是為了圖示清楚起見,并且預(yù)定顏色空間更通常情況下是三維的(RGB)。從圖4A可以看出,最接近平均像素顏色的(在“最接近的亮度線”上的)基本顏色預(yù)期僅能夠提供具有相對較大的編碼誤差的經(jīng)編碼像素顏色集合。左側(cè)的像素群組沒有極大地偏離該基本顏色所位于的亮度線,并因而能夠以相對較大的負(fù)亮度偏移量來相當(dāng)不錯地編碼,而右側(cè)的像素顏色群組保持離該亮度線較遠(yuǎn)距離,并因而僅能夠以相對較大的編碼誤差來編碼。對比之下,可以看出最佳基本顏色位于離左側(cè)像素群組和右側(cè)像素群組都較近的亮度線(“最佳亮度線”)上。本發(fā)明的發(fā)明人特別認(rèn)識到,通過選擇不是最接近給定的像素顏色群組的平均像素顏色的亮度線的亮度線而針對這些像素能夠?qū)崿F(xiàn)的編碼誤差方面的改進(jìn)(如果這會發(fā)生)僅對于相對于最接近平均像素顏色的亮度線體現(xiàn)出顏色飽和度方面的增長的亮度線才會發(fā)生。圖4B示出了亮度線的顏色飽和度的增長行程。返回來參考圖4A,“最佳亮度線”t匕“最接近的亮度線”處在更高的顏色飽和度。因此,本發(fā)明的實(shí)施例提議了一種迭代式的亮度線選擇過程,其中,具有增長的顏色飽和度的亮度線被迭代地考慮(如以下將更詳細(xì)描述的)。圖5A中示意性地闡示 了本發(fā)明的一個實(shí)施例的總體編碼過程。根據(jù)圖5A所闡示的步驟來處置每一個4X4的像素塊。首先,在步驟100-135中,執(zhí)行多個差分編碼計(jì)算。這些步驟包括將4 X 4的塊劃分成兩個2 X 4的半塊并確定一個半塊相對于另一個半塊的編碼。將塊向兩個半塊的劃分可以是水平的或者垂直的,并且每一個半塊都可被處置為“第一”半塊,“第二”半塊被相對于該“第一”半塊來差分地編碼。首先,在步驟100,將塊垂直地劃分,將左側(cè)的半塊設(shè)定為“第一塊”并將右側(cè)的半塊設(shè)定為“第二塊”。然后,在步驟105,執(zhí)行差分計(jì)算以確定該置換的編碼誤差。步驟105處的差分計(jì)算被如圖5B所示地執(zhí)行。這里,在步驟160,首先針對第一半塊計(jì)算最佳的無限制差分編碼。然后,在步驟165,確定第二半塊相對于第一半塊的最佳差分編碼。最后,在步驟170,基于原始像素值和經(jīng)壓縮像素 值之間的(在顏色空間中的)差異來確定該塊的總體編碼誤差。返回到圖5A,隨后在步驟110和115中重復(fù)在步驟100和105中執(zhí)行的處理,除了現(xiàn)在將右側(cè)的半塊設(shè)定為“第一塊”并將左側(cè)的半塊設(shè)定為“第二塊”之外。類似地,在步驟120、125、130和135中,相同的過程被執(zhí)行,只不過現(xiàn)在將塊水平地分割成上半塊和下半塊,并且針對上半塊來相對于下半塊執(zhí)行差分計(jì)算,然后反轉(zhuǎn),即,針對下半塊來相對于上半塊執(zhí)行差分計(jì)算。從而已經(jīng)考慮了所有的差分編碼置換,并且在步驟140,針對向兩個半塊的水平分割來確定最佳絕對編碼,而在步驟145,針對向兩個半塊的垂直分割來計(jì)算最佳絕對編碼。最后在步驟150,將針對作為整體的塊給出最低編碼誤差的最佳總體編碼被選擇為該塊的選中編碼?,F(xiàn)在將參考圖6、7和8來描述如何確定每一個半塊的最佳編碼的細(xì)節(jié)。每一個編碼過程開始于圖6所示的選擇要用于編碼的候選亮度線集合的處理。首先,在步驟200,確定半塊的平均像素顏色。然后,在步驟205,選擇最接近平均像素顏色的三條可編碼亮度線。這三條亮度線在用于編碼的三維RGB空間中圍繞該平均像素顏色。然后,在步驟210,針對這些亮度線中的每一條亮度線,計(jì)算像素顏色離該亮度線上的最接近點(diǎn)的平方距離的總和(“總偏移量”),并且將每一條亮度線添加到亮度線候選集合。在該亮度線候選集合中,初始選擇的三條亮度線中的每一條被標(biāo)記為“父”線,并且關(guān)于針對每一條亮度線計(jì)算出的平方距離的總和對該集合進(jìn)行排序(sort)。接下來,從步驟215開始執(zhí)行迭代式的亮度線選擇過程。在步驟215,選擇候選列表中被標(biāo)記為“父”線的亮度線。然后,在步驟220,判斷該“父”線是否具有顏色飽和度比父線高的相鄰“子”線。注意,在3D顏色空間中,對于每一條父線,通常存在兩條具有更高飽和度的相鄰子亮度線。還要注意,已經(jīng)(經(jīng)由另一父線)審查過的相鄰子線通常將不再被考慮。如果存在這樣的相鄰子亮度線,則在步驟225,選擇一子亮度線,并且計(jì)算半塊的像素顏色離該子亮度線的平方距離的總和。然后,在步驟230,判斷該平方距離的總和是否不大于該子亮度線的父亮度線的平方距離總和。如果為真,則在步驟235,將該子線添加到按平方距離的總和進(jìn)行了排序的候選線集合。最后,在步驟240,判斷平方總和是否非零,并且如果是,則還在候選列表中將該子線標(biāo)記為父線。在已經(jīng)將該子線添加到候選線集合的情況下,在步驟250,判斷當(dāng)前在考慮的父線是否有另一條子線,并且如果有,則流程返回到步驟225以處理該子線。但是,如果當(dāng)前的父線沒有另一條子線,或者如果在(上述的)步驟220判定當(dāng)前在考慮的父線不具有任何具有更高飽和度的相鄰子亮度線,則流程行進(jìn)到步驟255,在該步驟255判斷在侯選線集合中是否有被標(biāo)記為父線并且尚未被處理的另一條亮度線。如果有,則流程返回到步驟215以開始處理該父線。如果在候選集合中沒有其它的未經(jīng)處理父線,則流程行進(jìn)到步驟260,在該點(diǎn)處完成候選線生成處理。在根據(jù)圖6所述的過程選擇了亮度線候選集合的情況下,隨后可以對該候選亮度線集合進(jìn)行考慮以確定哪條亮度線給出了產(chǎn)生針對該半塊的最佳編碼的基本顏色。在一個實(shí)施例中根據(jù)圖7所示意性示出的步驟來執(zhí)行該過程。首先,在步驟300,從根據(jù)它們的總偏移量(即,半塊的像素顏色離該亮度線上的最接近點(diǎn)的平方距離的總和)進(jìn)行排序了的亮度線候選集合中,選擇具有最低偏移量的線。然后,在步驟305,確定可用于該線的最佳編碼(即,使用定義了該線的亮度偏移量和基本顏色的集合)。下面將參考圖8更詳細(xì)地對此進(jìn)行描述。已經(jīng)確定了該線的最佳編碼之后,在步驟310,將該線的編碼誤差確定為該半塊的原始像素的顏色和根據(jù)此編碼進(jìn)行編碼后的像素顏色集合之間的平方距離的總和。如果該編碼誤差是到此為止已經(jīng)確定的最佳(即,最低)編碼誤差,則將該編碼誤差設(shè)定為當(dāng)前的最佳誤差。然后,流程行進(jìn)到步驟315,在該步驟315中判斷在經(jīng)過排序的列表中是否有另一條候選亮度線。如果有,則流程行進(jìn)到步驟320,在該步驟320中選擇下一條最接近的亮度線(就計(jì)算出的總偏移量而言)。然后在步驟325,檢查離該線的平方距離的總和(即,針對該線的總偏移量)——該線在候選列表中正是根據(jù)這一平方距離的總和來排序的——是否大于目前為止所確定的最佳誤差(參見步驟310)。如果是,則對該線或者任何其它線而言不可能在該最佳誤差上改進(jìn),并且流程行進(jìn)到結(jié)束步驟330,在該步驟330中,使用給出該最佳誤差的線(具體地,使用給出該最佳誤差的那條線上的基本顏色)來對半塊進(jìn)行編碼。但是,如果在步驟325發(fā)現(xiàn),針對候選列表中的該下一條線的總偏移量沒有超過目前為止計(jì)算出的最佳誤差,則流程返回到步驟305以確定針對該下一條線的最佳編碼,并在步驟310查看針對該下一條線的編碼誤差是否在目前為止的最佳誤差上改進(jìn)了。如果在任意一次迭代中,在步驟315判定沒有其它的候選線列表,則流程行進(jìn)到步驟330。現(xiàn)在參考圖8所示的步驟來描述確定給定亮度線的最佳編碼(圖7中的步驟305)的過程。首先,在步驟400,選擇該亮度線上的第一基本點(diǎn)(候選基本顏色)。然后,在步驟405,選擇第一表格的亮度偏移量值。然后,根據(jù)該表格的亮度偏移量值,在步驟410確定該半塊的第一像素的最佳表格條目(即,亮度偏移量值)。這里,“最佳”意指產(chǎn)生該像素的最低編碼誤差的條目。該像素的編碼誤差(即,經(jīng)編碼像素顏色和原始像素顏色之間的在顏色空間中的距離)被添加到該半塊的累積編碼誤差。在步驟415,檢查該累積編碼誤差是否超過了該半塊的目標(biāo)誤差。注意,在圖8中所描述的處理中的針對該第一基本點(diǎn)、第一表格和第一像素的首次迭代中,自然沒有預(yù)先存在的目標(biāo)誤差,因此在該首次迭代中,步驟415的結(jié)果將總是遵循“否”路徑。然后,在步驟420判斷在該半塊內(nèi)是否有另一個像素,并且如果有,則在步驟425針對該下一個像素確定(當(dāng)前在考慮中的表格的)最佳表格條目。與該下一個像素相關(guān)聯(lián)的編碼誤差也被計(jì)算出并被添加到該表格的累積誤差。如果針對該半塊的所有像素完成了步驟415、420和425的循環(huán)(即,步驟415的總誤差測試沒有失敗),則在步驟430將針對該當(dāng)前表格為該半塊計(jì)算出的總誤差設(shè)定為新的目標(biāo)誤差。如果在步驟415的總誤差測試失敗了或者在步驟430設(shè)定了新的目標(biāo)誤差,則流程行進(jìn)到步驟435,在該步驟435判斷是否有可被考慮用于編碼該半塊的另一個表格。如果有,則在步驟440,選擇該下一個表格,并且流程返回到步驟410以嘗試使用該表格對該像素半塊進(jìn)行編碼。但是,如果在步驟435沒有可用的另一個表格,則流程行進(jìn)到步驟445,在該步驟445中判斷當(dāng)前在考慮中的亮度線上是否有另一個基本點(diǎn)(即,候選基本顏色)。如果有,則流程返回到步驟405,在步驟405再次使用該新的基本顏色來執(zhí)行相對于可用表格的迭代判斷處理。一旦已經(jīng)考慮了該線上的所有基本點(diǎn),則流程結(jié)束于步驟450,在步驟450中確定針對該線的最佳編碼將由給出目標(biāo)誤差的基本顏色和亮度偏移量給出
應(yīng)當(dāng)注意,在一些實(shí)施例中,在預(yù)定顏色空間中計(jì)算出的上述距離被計(jì)算為加權(quán)了知覺的距離(perception-weighted distance),從而將人眼對不同顏色分量的靈敏度考慮在內(nèi)。此外,在一些實(shí)施例中,可以就峰值信噪比而言來計(jì)算編碼誤差。這樣的技術(shù)是本領(lǐng)域技術(shù)人員所熟悉的,因而這里不做詳細(xì)描述。
圖9示意性地圖示了可用于實(shí)現(xiàn)上述技術(shù)的那種類型的通用計(jì)算設(shè)備500。通用計(jì)算設(shè)備500包括經(jīng)由總線522連接在一起的中央處理單元502、隨機(jī)訪問存儲器504和只讀存儲器506。其還包括網(wǎng)絡(luò)接口卡508、硬盤驅(qū)動器510、顯示驅(qū)動器512和監(jiān)視器514、以及具有鍵盤518和鼠標(biāo)520的用戶輸入/輸出電路516,它們都經(jīng)由公共總線522來連接。在操作時,當(dāng)執(zhí)行必要計(jì)算來確定每一個像素塊的編碼時,中央處理單元502將執(zhí)行例如可存儲在隨機(jī)訪問存儲器504和/或只讀存儲器506中的計(jì)算機(jī)程序指令。另外,可從硬盤驅(qū)動器510檢索或者經(jīng)由網(wǎng)絡(luò)接口卡508來動態(tài)下載程序指令??山?jīng)由所連接的顯示驅(qū)動器512和監(jiān)視器514來向用戶顯示所執(zhí)行的處理的結(jié)果??山?jīng)由所連接的用戶輸入輸出電路516從鍵盤518或鼠標(biāo)520接收用于控制通用計(jì)算設(shè)備500的操作的用戶輸入。將了解,可以各種不同的計(jì)算機(jī)語言來編寫計(jì)算機(jī)程序。計(jì)算機(jī)程序可被本地地存儲在記錄介質(zhì)上或者動態(tài)地下載到通用計(jì)算設(shè)備500。當(dāng)在適當(dāng)計(jì)算機(jī)程序的控制之下操作時,通用計(jì)算設(shè)備500可以執(zhí)行上述技術(shù)并且可被視為形成了用于執(zhí)行上述技術(shù)的裝置。通用計(jì)算設(shè)備500的體系結(jié)構(gòu)可以極大地不同,并且圖9僅僅是一個示例。這里描述的技術(shù)實(shí)現(xiàn)了將比現(xiàn)有技術(shù)中已知的技術(shù)更快地執(zhí)行的圖像編碼。例如,使用現(xiàn)有工具來創(chuàng)建ETC經(jīng)壓縮紋理是非常慢的(對于現(xiàn)有工具所支持的最高質(zhì)量,每秒300至400像素,或者對于一個典型紋理需要30分鐘至I個小時)。這里所描述的技術(shù)使得壓縮處理加速了最高達(dá)125倍(在所測試的示例情況中),從而給出了高達(dá)40,000像素每秒的壓縮速度。此外,在許多情況中,這同時還產(chǎn)生了比現(xiàn)有算法更高的質(zhì)量結(jié)果。這在開發(fā)和測試圖形應(yīng)用的上下文中具有特別的益處,因?yàn)閼?yīng)用可能包括數(shù)十或數(shù)百個紋理,并且這里所描述的技術(shù)使得開發(fā)者可以在開發(fā)期間更快速地評價經(jīng)壓縮紋理的質(zhì)量。雖然這里已經(jīng)描述了特定實(shí)施例,但是將了解,本發(fā)明不限于此,并且可在本發(fā)明的范圍內(nèi)對其進(jìn)行各種修改和添加。例如,從屬權(quán)利要求的特征可以與獨(dú)立權(quán)利要求的特征進(jìn)行各種組合,而不脫離本發(fā)明的范圍。
權(quán)利要求
1.一種根據(jù)預(yù)定編碼格式來生成圖像的編碼的編碼方法,其中,所述預(yù)定編碼格式在像素塊中編碼所述圖像,每一個像素塊被編碼為經(jīng)編碼像素顏色的集合,該經(jīng)編碼像素顏色的集合包括基本顏色和相對于所述基本顏色的亮度偏移量的集合, 其中,所述基本顏色是從在預(yù)定顏色空間中定義的預(yù)定基本顏色集合中選擇的, 其中,所述亮度偏移量的集合被編碼為對至少一個預(yù)定表格的亮度偏移量值的參考的: 口, 并且其中,所述預(yù)定基本顏色集合和所述亮度偏移量值在所述預(yù)定顏色空間中定義了亮度線的集合,所述經(jīng)編碼像素顏色位于所述亮度線中的至少一條亮度線上, 所述方法包括針對每一個像素塊執(zhí)行的以下步驟 確定所述預(yù)定顏色空間中的所述像素塊的顏色的平均顏色; 依據(jù)所述平均顏色在所述顏色空間中的離至少一條亮度線的偏移量來選擇所述至少一條亮度線; 識別位于所述至少一條亮度線上的候選基本顏色集合;以及 使用所述候選基本顏色集合和所述亮度偏移量值來確定所述經(jīng)編碼像素顏色的集合,其中,所述基本顏色和所述亮度偏移量的集合是依據(jù)指示出所述經(jīng)編碼像素顏色的集合與所述像素塊的所述顏色之間的在所述顏色空間中的距離總和的編碼誤差來選擇的。
2.根據(jù)權(quán)利要求I所述的編碼方法,其中,所述顏色空間中的所述偏移量是所述平均顏色和所述至少一條亮度線之間的最接近路徑的距離。
3.根據(jù)權(quán)利要求I所述的編碼方法,其中,所述編碼誤差被計(jì)算為所述經(jīng)編碼像素顏色的集合和所述像素塊的所述顏色之間的平方距離的總和。
4.根據(jù)權(quán)利要求I所述的編碼方法,其中,所述選擇所述至少一條亮度線的步驟包括選擇具有最小的所述偏移量的值的三條亮度線。
5.根據(jù)權(quán)利要求I所述的編碼方法,其中,所述選擇至少一條亮度線的步驟包括迭代的亮度線選擇過程,所述迭代的亮度線選擇過程包括以下步驟 審查已經(jīng)選擇的亮度線的相鄰亮度線;以及 如果所述像素塊的所述顏色離所述相鄰亮度線的總偏移量不大于所述像素塊的所述顏色離所述已經(jīng)選擇的亮度線的總偏移量,則選擇所述相鄰亮度線。
6.根據(jù)權(quán)利要求5所述的編碼方法,其中,所述總偏移量被計(jì)算為所述像素塊的所述顏色與各條亮度線的相應(yīng)最接近點(diǎn)之間的平方距離的總和。
7.根據(jù)權(quán)利要求5所述的編碼方法,其中,僅在所述相鄰亮度線在顏色飽和度方面相對于所述已經(jīng)選擇的亮度線體現(xiàn)出增長的情況下,所述相鄰亮度線才被審查。
8.根據(jù)權(quán)利要求5所述的編碼方法,其中,僅在所述已經(jīng)選擇的亮度線的所述總偏移量具有非零值的情況下,所述相鄰亮度線才被審查。
9.根據(jù)權(quán)利要求5所述的編碼方法,其中,當(dāng)多條亮度線被選擇時,所述多條亮度線被按每一條亮度線的總偏移量來排序。
10.根據(jù)權(quán)利要求9所述的編碼方法,其中,所述確定所述經(jīng)編碼像素顏色的集合的步驟包括迭代的亮度線考慮過程,其中,所述識別位于所述至少一條亮度線上的候選基本顏色集合的步驟和所述確定所述經(jīng)編碼像素顏色的集合的步驟被針對所述多條亮度線、按增長的總偏移量的順序來執(zhí)行。
11.根據(jù)權(quán)利要求I所述的編碼方法,其中,所述確定所述經(jīng)編碼像素顏色的集合的步驟包括迭代的編碼確定過程,該迭代的編碼確定過程包括針對所述候選基本顏色的集合中的每一個候選基本顏色的以下步驟 使用應(yīng)用于所述候選基本顏色的所述亮度偏移量值來確定經(jīng)編碼像素顏色的候選集合; 確定所述經(jīng)編碼像素顏色的候選集合的候選編碼誤差,該候選編碼誤差指示出所述像素塊的所述顏色與所述經(jīng)編碼像素顏色的候選集合之間的在所述顏色空間中的距離總和; 如果所述候選編碼誤差低于針對所述像素塊確定的任何在前候選編碼誤差,則將所述候選編碼誤差設(shè)定為最佳編碼誤差; 將所述候選基本顏色和當(dāng)被應(yīng)用于所述候選基本顏色時給出所述最佳編碼誤差的那些亮度偏移量值選擇為所述基本顏色和所述亮度偏移量的集合。
12.根據(jù)權(quán)利要求11所述的編碼方法,其中,所述至少一個預(yù)定表格的亮度偏移量值包括多個預(yù)定表格的亮度偏移量值,并且所述使用應(yīng)用于所述候選基本顏色的所述亮度偏移量值來確定所述經(jīng)編碼像素顏色的候選集合的步驟包括使用所述多個預(yù)定表格的亮度偏移量值中的每一個表格來迭代地確定所述經(jīng)編碼像素顏色的候選集合。
13.根據(jù)權(quán)利要求12所述的編碼方法,其中,所述編碼誤差被累積地確定為累積編碼誤差,并且如果針對在考慮中的當(dāng)前表格的亮度偏移量值的所述累積編碼誤差超過了所述最佳編碼誤差,則使用所述當(dāng)前表格的亮度偏移量值來確定所述經(jīng)編碼像素顏色的候選集合被終止。
14.根據(jù)權(quán)利要求13所述的編碼方法,其中,所述累積編碼誤差被針對所述像素塊的所述顏色來逐像素地與所述最佳編碼誤差進(jìn)行比較。
15.根據(jù)權(quán)利要求10所述的編碼方法,其中,所述確定所述經(jīng)編碼像素顏色的集合的步驟包括迭代的編碼確定過程,該迭代的編碼確定過程包括針對所述候選基本顏色的集合中的每一個候選基本顏色的以下步驟 使用應(yīng)用于所述候選基本顏色的所述亮度偏移量值來確定經(jīng)編碼像素顏色的候選集合; 確定所述經(jīng)編碼像素顏色的候選集合的候選編碼誤差,該候選編碼誤差指示出所述像素塊的所述顏色與所述經(jīng)編碼像素顏色的候選集合之間的在所述顏色空間中的距離總和; 如果所述候選編碼誤差低于針對所述像素塊確定的任何在前候選編碼誤差,則將所述候選編碼誤差設(shè)定為最佳編碼誤差; 將所述候選基本顏色和當(dāng)被應(yīng)用于所述候選基本顏色時給出所述最佳編碼誤差的那些亮度偏移量值選擇為所述基本顏色和所述亮度偏移量的集合, 其中,在考慮下一條亮度線之前,如果針對所述下一條亮度線的所述總偏移量超過了所述最佳編碼誤差,則所述迭代的亮度線考慮過程被終止,并且所述下一條亮度線和所述多條亮度線中的任何其他亮度線都不被考慮。
16.根據(jù)權(quán)利要求I所述的編碼方法,其中,所述塊各自包括2個像素乘以4個像素的
17.根據(jù)權(quán)利要求I所述的編碼方法,其中,以相互依賴的方式來編碼所述像素塊中的至少一對相鄰塊,所述配對的相鄰塊中的第二塊被參考所述配對的相鄰塊中的第一塊來編碼。
18.根據(jù)權(quán)利要求17所述的編碼方法,其中,所述配對的塊在水平方向上相鄰。
19.根據(jù)權(quán)利要求18所述的編碼方法,其中,所述配對的塊在垂直方向上相鄰。
20.根據(jù)權(quán)利要求17所述的編碼方法,還包括針對每一個像素塊來判斷所述編碼誤差在該像素塊被以所述相互依賴的方式來編碼時更低還是在該像素塊被以不參考另一個像素塊的獨(dú)立方式來編碼時更低。
21.根據(jù)權(quán)利要求20所述的編碼方法,還包括針對每一個像素塊來迭代地確定針對所有編碼方式的所述編碼誤差以及選擇給出所述編碼誤差的總體最低值的編碼方式。
22.根據(jù)權(quán)利要求I所述的編碼方法,其中,在所述顏色空間中的距離計(jì)算是根據(jù)人類對所述顏色空間中的每一個顏色分量的靈敏度來進(jìn)行了知覺加權(quán)的。
23.根據(jù)權(quán)利要求I所述的編碼方法,其中,所述編碼誤差被計(jì)算為峰值信噪比。
24.根據(jù)權(quán)利要求I所述的編碼方法,其中,所述圖像是紋理圖像。
25.根據(jù)權(quán)利要求I所述的編碼方法,其中,所述預(yù)定編碼格式是ETC格式。
26.一種計(jì)算機(jī)程序產(chǎn)品,其以非瞬態(tài)方式存儲被配置為使得計(jì)算機(jī)執(zhí)行根據(jù)權(quán)利要求I所述的編碼方法的計(jì)算機(jī)程序。
27.一種被配置為根據(jù)預(yù)定編碼格式來生成圖像的編碼的編碼設(shè)備,其中,所述預(yù)定編碼格式在像素塊中編碼所述圖像,每一個像素塊被編碼為經(jīng)編碼像素顏色的集合,該經(jīng)編碼像素顏色的集合包括基本顏色和相對于所述基本顏色的亮度偏移量的集合, 其中,所述基本顏色是從在預(yù)定顏色空間中定義的預(yù)定基本顏色集合中選擇的, 其中,所述亮度偏移量的集合被編碼為對至少一個預(yù)定表格的亮度偏移量值的參考的隹A: 口, 并且其中,所述預(yù)定基本顏色集合和所述亮度偏移量值在所述預(yù)定顏色空間中定義了亮度線的集合,所述經(jīng)編碼像素顏色位于所述亮度線中的至少一條亮度線上, 被配置為對每一個像素塊執(zhí)行操作的所述設(shè)備包括 平均顏色確定單元,被配置為確定所述預(yù)定顏色空間中的所述像素塊的平均顏色; 亮度線選擇單元,被配置為依據(jù)所述平均顏色在所述顏色空間中的離至少一條亮度線的偏移量來選擇所述至少一條亮度線; 候選基本顏色識別器,被配置為識別位于所述至少一條亮度線上的候選基本顏色集合;以及 確定單元,被配置為使用所述候選基本顏色集合和所述亮度偏移量值來確定所述經(jīng)編碼像素顏色的集合,其中,所述基本顏色和所述亮度偏移量的集合是依據(jù)指示出所述經(jīng)編碼像素顏色的集合與所述像素塊的所述顏色之間的在所述顏色空間中的距離總和的編碼誤差來選擇的。
28.一種用于根據(jù)預(yù)定編碼格式來生成圖像的編碼的編碼設(shè)備裝置,其中,所述預(yù)定編碼格式在像素塊中編碼所述圖像,每一個像素塊被編碼為經(jīng)編碼像素顏色的集合,該經(jīng)編碼像素顏色的集合包括基本顏色和相對于所述基本顏色的亮度偏移量的集合, 其中,所述基本顏色是從在預(yù)定顏色空間中定義的預(yù)定基本顏色集合中選擇的,其中,所述亮度偏移量的集合被編碼為對至少一個預(yù)定表格的亮度偏移量值的參考的隹A: 口, 并且其中,所述預(yù)定基本顏色集合和所述亮度偏移量值在所述預(yù)定顏色空間中定義了亮度線的集合,所述經(jīng)編碼像素顏色位于所述亮度線中的至少一條亮度線上, 被配置為對每一個像素塊執(zhí)行操作的所述設(shè)備裝置包括 平均顏色確定裝置,用于確定所述預(yù)定顏色空間中的所述像素塊的平均顏色; 亮度線選擇裝置,用于依據(jù)所述平均顏色在所述顏色空間中的離至少一條亮度線的偏移量來選擇所述至少一條亮度線; 候選基本顏色識別裝置,用于識別位于所述至少一條亮度線上的候選基本顏色集合;以及 確定裝置,用于使用所述候選基本顏色集合和所述亮度偏移量值來確定所述經(jīng)編碼像素顏色的集合,其中,所述基本顏色和所述亮度偏移量的集合是依據(jù)指示出所述經(jīng)編碼像素顏色的集合與所述像素塊的所述顏色之間的在所述顏色空間中的距離總和的編碼誤差來選擇的。
全文摘要
本發(fā)明涉及圖像編碼方法。提供了一種根據(jù)預(yù)定編碼格式生成圖像編碼的編碼方法,每一個像素塊被編碼為經(jīng)編碼像素顏色集合,該經(jīng)編碼像素顏色集合包括基本顏色和相對于基本顏色的亮度偏移量的集合?;绢伾菑念A(yù)定基本顏色集合中選擇的,亮度偏移量集合被編碼為對至少一個預(yù)定表格的亮度偏移量值的參考的集合。預(yù)定基本顏色集合和亮度偏移量值在顏色空間中定義了亮度線集合,經(jīng)編碼像素顏色位于至少一條亮度線上。該方法包括針對每一個像素塊執(zhí)行的以下步驟確定像素塊顏色的平均顏色;依據(jù)平均顏色在顏色空間中離至少一條亮度線的偏移量來選擇至少一條亮度線;識別位于該至少一條亮度線上的候選基本顏色集合;以及使用候選基本顏色集合和亮度偏移量值來確定經(jīng)編碼像素顏色集合。
文檔編號H04N7/26GK102625100SQ20121002689
公開日2012年8月1日 申請日期2012年1月29日 優(yōu)先權(quán)日2011年1月25日
發(fā)明者安東尼·尼爾·貝倫特 申請人:Arm有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1