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

對編碼紋理元素塊進行操作的解碼系統(tǒng)和方法

文檔序號:6351206閱讀:145來源:國知局
專利名稱:對編碼紋理元素塊進行操作的解碼系統(tǒng)和方法
技術(shù)領(lǐng)域
本發(fā)明大體上涉及解碼,更具體地,涉及可對編碼紋理元素塊進行操作的解碼系統(tǒng)和方法。
背景技術(shù)
當試圖提高圖形處理單元(GPU)的性能時,一種解決方案是應(yīng)用各種技術(shù)來降低存儲器帶寬消耗。由于針對處理能力的性能增長率遠大于針對帶寬的性能增長率、以及針對隨機訪問存儲器(RAM)的延遲,帶寬降低的重要性也正日益増加。紋理壓縮是降低帶寬需求的ー種流行方式。通過在存儲器中存儲壓縮形式的紋理,并在總線上傳遞壓縮數(shù)據(jù)塊,實質(zhì)上減小紋理帶寬。目前,使用最多的紋理壓縮系統(tǒng)是針對基于Windows的系統(tǒng)和Xbox的DXTC[I]、以及針對移動手機的ETC[2]。這些系統(tǒng)均將圖像、解碼紋理劃分為4X4紋素的紋理元素(紋·素)塊,然后將紋素的紅、緑、藍(RGB)數(shù)據(jù)從(8+8+8) X 16 = 384比特壓縮到64比持。因而,向每個紋素塊賦予相同數(shù)量的比持。這很重要,因為用于解壓的光柵化會需要訪問紋理的任意部分,并需要能夠容易地計算期望紋素塊的存儲器地址。換言之,非常期望固定速率的編解碼(即,每個紋素塊占據(jù)相同存儲空間量的編解碼),這是當前紋理壓縮算法中的典范。ETC解碼器的開發(fā)產(chǎn)生了所謂ETC2解碼器[3],它具有處理所謂T模式、H模式和PLANAR模式的額外功能。T模式和H模式分別被設(shè)計為處理具有非均勻分布顔色的紋素塊、以及被分為兩組的顔色??梢院艽蟪潭鹊卦儆肊TC解碼器的硬件電路,以包括另外的T模式和H模式。PLANAR模式與ETC和T模式和H模式非常不同,并且被設(shè)計為處理具有平滑顏色變換的紋素塊。PLANAR模式的復(fù)雜硬件電路將意味著,ETC2解碼器的復(fù)雜度與ETC解碼器相比顯著增加。因此,需要提供PLANAR模式的有效實施方式,具體地,這種實施方式可以被提供為使用成本有效電路的硬件實施方式。尤其在PLANAR模式要與ETC解碼器和T模式和H模式一起使用以形成ETC2解碼器的情況下,特別期望這種成本有效電路本領(lǐng)域中通常也會出現(xiàn)類似的問題,S卩,存在對為了降低實施方式復(fù)雜度而應(yīng)用于解碼系統(tǒng)的技術(shù)的一般性需求。

發(fā)明內(nèi)容
本發(fā)明的總體目的是提供對編碼紋理塊的有效解碼。本發(fā)明的特定目的是提供一種可以有效地以硬件實現(xiàn)的解碼結(jié)構(gòu)。通過這里所公開的實施例來實現(xiàn)這些和其他目的。簡言之,本發(fā)明的實施例涉及ー種用于基于至少一個編碼紋素塊來產(chǎn)生解碼像素的解碼系統(tǒng)。所述解碼系統(tǒng)包括N個并行解碼器,每個并行解碼器被配置為對編碼紋素塊進行解碼,以產(chǎn)生ー個或多個紋素值。根據(jù)該實施例,N個解碼器的電路彼此不同,從而N個解碼器中的每個解碼器具有與其他N-I個解碼器的電路不同的獨特電路。這使得解碼器電路能夠具有不同的復(fù)雜度級別,因為解碼器在所處理的紋素塊內(nèi)的紋素位置方面具有不同能力。所述解碼器系統(tǒng)還包括與N個解碼器連接的值選擇器,并被配置為選擇性地輸出N個紋素值。進ー步,從N個解碼器中的一個或多個解碼器輸出這N個紋素值。特定紋素值從哪個(哪些)解碼器輸出取決于具有N個紋素值的N個紋素的片的位置,所述位置與包括N個紋素中的至少ー個的紋素塊相關(guān)。換言之,紋理的N個紋素相關(guān)紋素塊邊界的位置指示通過值選擇器選擇并被進ー步轉(zhuǎn)發(fā)到像素計算器的解碼器輸出。像素計算器被配置為基于值選擇器選擇性輸出的N個紋素值來計算解碼像素值。值選擇器的仔細選擇實現(xiàn)了所述解碼器的設(shè)計,使得N個解碼器中的至少ー些與其他解碼器相比可以具有不太復(fù)雜的電路。這可以通過將ー些解碼器限制為僅能夠?qū)y素塊內(nèi)特定紋素位置的紋素值進行解碼和輸出來實現(xiàn)。因而,N個解碼器不需要具有相同的電路,而是需要在每個電路的硬件結(jié)構(gòu)方面具有不同復(fù)雜度級別的不同電路。 本發(fā)明的實施例定義了一種用于通過對至少ー個編碼紋素塊進行解碼來產(chǎn)生像素的方法。所述方法包括從N個不同解碼器中的至少ー個選擇性地輸出N個紋素值,每個解碼器具有獨特且與其他N-I個解碼器的電路不同的電路。每個解碼器還基于輸入的編碼紋素塊來輸出至少ー個紋素值?;膳cN個紋素值相關(guān)聯(lián)的N個紋素的位置來執(zhí)行從N個解碼器對紋素值的選擇,以用于計算像素的像素值來解碼,N個紋素值的位置與紋素塊的邊界相關(guān)。然后,使用所選的N個紋素值來計算像素值。本發(fā)明的實施例能夠通過降低并行至少ー些解碼器所需的復(fù)雜度來有效地實現(xiàn)像素解碼結(jié)構(gòu)。從而,與現(xiàn)有技術(shù)中的具有N個相同的并行解碼器相比,降低了解碼結(jié)構(gòu)的總見雜度。


可以通過結(jié)合附圖來參照以下具體描述來最佳地理解本發(fā)明及其其他目的和優(yōu)點,其中圖IA至ID示出了雙線性片相關(guān)紋素塊邊界的不同位置;圖2是包括根據(jù)實施例的解碼系統(tǒng)的解碼設(shè)置的示意圖;圖3是根據(jù)實施例的解碼系統(tǒng)的圖示; 圖4示意性地示出根據(jù)實施例的解碼紋素塊;圖5示出了采用紋素塊中紋素特性的平面逼近的概念;圖6是圖3中第四解碼器的硬件實施方式示例;圖7是圖3中第三解碼器的硬件實施方式示例;圖8是圖3中第二解碼器的硬件實施方式示例;圖9是圖3中第一解碼器的硬件實施方式示例;圖10是七到八比特擴展器的硬件實施方式示例;圖11是箝位器的ー種硬件實施方式;圖12是箝位器的另ー種硬件實施方式;圖13是圖3的值選擇器的硬件實施方式示例;以及
圖14是示出了根據(jù)本發(fā)明實施例的解碼方法的流程圖。
具體實施例方式
在全部附圖中,相同的參考數(shù)字用于表示類似或?qū)?yīng)的元件。實施例大體涉及以產(chǎn)生解碼像素值為目的的編碼或壓縮紋理元素(紋素)塊的解碼或解壓。解碼非常適于與三維(3D)圖形一起使用,如,游戲、3D地圖和場景、3D消息(例如,動畫消息)、屏幕保護、人機接ロ(MMI)等,但不限于此。因此,實施例也可以用于對其他 類型的圖像或圖形進行解碼,如,ー維(ID)、ニ維(2D)或3D圖像。3D圖形呈現(xiàn)過程典型包括三個子階段。簡言之,第一階段(應(yīng)用階段),創(chuàng)建多個三角形。在第二階段(幾何階段),將這些三角形的角變形、投影并點亮。在第三階段(光柵化階段),通常表示紋理的圖像可以被“粘”在三角形上,増加了所呈現(xiàn)的圖像的真實性。第三階段還使用z緩沖器執(zhí)行分類。然而,紋理(尤其是3D圖像和圖形)的呈現(xiàn)在圖形系統(tǒng)所需的存儲器帶寬和處理能力方面是計算上昂貴的任務(wù)。例如,紋理在存儲器方面(紋理必須被放置在快速芯片上存儲器上)和存儲器帶寬方面(紋理可以被多次訪問以繪出單個像素)都是昂貴的。有吋,為了繪出像素,可能需要多個紋理。為了降低帶寬和處理能力需求,典型地采用紋理編碼方法或系統(tǒng)。這種編碼系統(tǒng)應(yīng)導(dǎo)致在呈現(xiàn)期間昂貴芯片上存儲器的更有效使用和較低存儲器帶寬,因而導(dǎo)致較低功耗和/或較快呈現(xiàn)。帶寬和處理能力需求對于諸如移動單元和電話之類的具有小存儲量、小存儲帶寬和有限能量(即,電池供電)的瘦客戶端來說尤其重要。在本領(lǐng)域,紋理被分為所謂紋素塊,每個紋素塊包括多個紋素。這種紋素塊典型為矩形或方形,如MKXM。紋素大小,其中Μκ、M。是不同時為I的正整數(shù)。優(yōu)選地,Mk = 2mK及Mc = 2m。,其中ηικ、ηι。是正整數(shù)。在典型的實施方式中Mk = Μ。,優(yōu)選塊實施例可以是4X4紋素。在本領(lǐng)域,有時采用像素或圖像元素來表示紋理的紋理元素。但是在以下描述中,采用紋素來表示紋理的紋理元素,像素用于表示結(jié)合光柵化,根據(jù)這樣的紋素產(chǎn)生的畫面元素。紋素與紋素值相關(guān)聯(lián),像素與像素值相關(guān)聯(lián)。有利地,紋素和像素值可以是顏色值。顏色值可以以各種顏色格式表示,如紅、緑、藍(RGB)顔色或如亮度和色度。此外,紋素值可以表示紋素的其他特性,如標準值或Z值。在以下描述中,以顏色值作為紋素值的非限制性示例。典型的光柵化并不以每次單個紋素的方式訪問紋理。而是采用小的相鄰紋素,如2X2紋素。例如,在雙線性過濾期間,讀取四個這種相鄰紋素,以產(chǎn)生雙線性過濾值,即,像素值。在本領(lǐng)域,這種被協(xié)同處理以產(chǎn)生像素值的相鄰紋素組典型被表示為片。因而,在雙線性過濾中使用的2 X 2紋素組被表示為雙線性片。例如,該概念可以被進一步擴展為三線性過濾。三線性過濾使用來自兩個不同mipmap的兩個雙線性片。處理紋素的片所產(chǎn)生的問題在于,片中的紋素可以跨越多于ー個紋素塊。這在圖IA到ID中示意性示出。圖IA示出了在單個紋素塊10中找到四個紋素30-36的雙線性片20的情況。圖IB和IC示出了另ー情況,其中雙線性片20跨越并排(圖1B)出現(xiàn)或上下(圖1C)出現(xiàn)的兩個像素塊10、12、14。圖ID中描述了極端情況,其中雙線性片20的ー個紋素30-36在相應(yīng)的紋素塊10-16中。解決該問題的傳統(tǒng)方式是使用四個相同的解碼器,每個解碼器對雙線性片中的預(yù)定紋素進行解碼。例如,在圖IA的情況下,將表示紋素塊10的編碼紋素塊輸入四個解碼器。第一解碼器輸出紋素(1,2)30,紋素(2,2)從第二解碼器中獲得,第三和第四解碼器分別產(chǎn)生雙線性片的紋素(1,3)和(2,3)36。假設(shè)如下坐標系統(tǒng),其中原點在紋素塊10的左上紋素中。在圖ID中,將紋素塊10的編碼紋素塊輸入第一解碼器,以產(chǎn)生紋素(3,3) 10,通過第ニ解碼器對紋素塊12的編碼紋素塊進行處理,以得到紋素(0,3)32。基于紋素塊14的編碼紋素塊,從第三解碼器獲得紋素(3,0)34,第四解碼器從紋素塊16的編碼紋素塊輸出紋素(0,0)36。以這種方式,因而可以在每個時鐘周期產(chǎn)生2X2雙線性片,而不考慮所遇到的配 置的類型(圖1A-1D)。高性能光柵化硬件在每個時鐘周期生成兩個這種雙線性片。然而根據(jù)現(xiàn)有技術(shù),在這種情況下需要八個相同的解碼器。然而,在并行解碼器中協(xié)同處理紋素的概念極大地増加了解碼系統(tǒng)的復(fù)雜度,這針對瘦客戶端是個問題。例如,向ETC解碼系統(tǒng)添加先前提及的PLANAR模式將會導(dǎo)致由加法器(每個解碼器從6個加法器増加到21個加法器[3])定義的復(fù)雜度増加。因此,PLANAR使用比ETC多3. 5個的加法器,具有四個ETC解碼器和四個PLANAR解碼器的解碼系統(tǒng)的復(fù)雜度將會隨3. 5増加。這里所公開的實施例通過不使用相同的并行解碼器來降低解碼系統(tǒng)的復(fù)雜度。截然相反,如果解碼器被設(shè)計為處理片中不同數(shù)量的紋素和不同的紋素位置,則不同的解碼器電路可以用于解碼器。在一般性實施例中,解碼系統(tǒng)包括N個不同的解碼器。這種解碼系統(tǒng)在圖3中示出,N的示例為4。在該一般性實施例中,N是等于或大于2的整數(shù),優(yōu)選等于4。每個解碼器100、200、300、400具有與其他N-I個解碼器的電路不同的電路。因此,解碼系統(tǒng)I不包括現(xiàn)有技術(shù)中的相同解碼器,而是包括具有不同的獨特電路的不同解碼器100、200、300、400。N個解碼器100、200、300、400的電路中的不同意味著,解碼器之一的電路元件的組合不同于其他解碼器中電路元件的組合。因此,解碼器100、200、300、400具有不同的實施方式成本和復(fù)雜度。每個解碼器100、200、300、400還被配置為對編碼紋素塊進行解碼,以產(chǎn)生至少ー個紋素值。解碼系統(tǒng)I還包括與N個解碼器100、200、300、400連接的值選擇器500,并被配置為選擇性地輸出至少N個紋素值,優(yōu)選N個紋素值。這至少N個紋素值從N個解碼器100、200、300、400中的至少ー個輸出。因此,值選擇器500基于與至少N個紋素值相關(guān)聯(lián)的至少N個紋素的位置,選擇應(yīng)輸出哪些(至少N個)紋素值,以及應(yīng)從哪個(哪些)解碼器中輸出這至少N個紋素值,其中至少N個紋素值與包括N個紋素中的至少ー個的紋素塊的邊界相關(guān)。因此,與紋素塊相關(guān)的N個紋素的位置(其紋素值應(yīng)當通過解碼系統(tǒng)I產(chǎn)生)確定應(yīng)從N個解碼器100、200、300、400中的哪個解碼器或哪些解碼器中獲取紋素值。解碼系統(tǒng)I的像素計算器600與值選擇器500連接,并被配置為基于通過值選擇器500選擇性輸出的至少N個紋素值來計算解碼像素的解碼像素值。
一般性實施例通過將解碼器中的一些限制為僅能夠處理紋素塊內(nèi)特定紋素位置處的紋素來實現(xiàn)解碼器100、200、300、400的復(fù)雜度降低。因此,與在解碼器上不具有這種限制的現(xiàn)有技術(shù)情況相比,可以顯著減少這些解碼器100、200、300、400的電路。在優(yōu)選實施例中,N個解碼器100、200、300、400的第一解碼器100被配置為對輸入編碼紋素塊進行解碼,以產(chǎn)生N個紋素值。然后,值選擇器500被配置為如果N個紋素值位于紋素塊的邊界內(nèi),則從第一解碼器100輸出這N個紋素值,并進一步輸出到像素計算器500。圖IA示出了 N = 4的這種情況。因此,如果雙線性片20的四個紋素30-36全部位于單個紋素塊10內(nèi),則通過第一解碼器100產(chǎn)生全部四個紋素值。這意味著,值選擇器500不選擇來自其他解碼器200、300、400的輸出,像素計算器600也不使用來自其他解碼器200、300、400的輸出來計算解碼像素值。如果N個紋素中的一半30、34(30,32)位于紋素塊10的邊界內(nèi),N個紋素中的另一半32、36(34,36)位于相鄰像素塊12(14)的邊界內(nèi)(見圖IB(圖1C)),則值選擇器500優(yōu)選被配置為從第一解碼器100選擇性地輸出N個紋素值中的一半,從第二解碼器200輸出N個紋素值中的另一半。 在N = 4的優(yōu)選實施例中,第一解碼器100具有第一電路,被配置為對輸入編碼紋素塊進行解碼,以產(chǎn)生四個紋素值。第二解碼器200具有第二電路,并基于輸入編碼紋素塊來輸出兩個紋素值。第三解碼器300和第四解碼器400分別包括第三電路和第四電路。給定輸入編碼紋素塊,第三解碼器300和第四解碼器400各輸出單個紋素值。在圖ID所示的情況下,全部優(yōu)選四個解碼器100、200、300、400輸出通過值選擇器500選擇的紋素值。因此,然后值選擇器500被配置為從第一解碼器100選擇性地輸出第ー紋素值,從第二解碼器200選擇性地輸出第二紋素值,從第三解碼器300選擇性地輸出第三紋素值,以及最后從第四解碼器400選擇性地輸出第四紋素值。在這種情況下,四個紋素30-36中的每ー個位于各個紋素塊10-16中。圖2示意性地示出了具有根據(jù)實施例的解碼系統(tǒng)I的實施方式的結(jié)構(gòu)。該結(jié)構(gòu)包括具有包括編碼紋素塊40的存儲器位置的存儲器5,典型為RAM。圖形處理單元(GPU) 4通過存儲器總線與存儲器5連接。GPU 4包括用于標識紋素塊的紋素塊標識器2,應(yīng)從存儲器5中獲取紋素塊的編碼塊40。紋素塊標識器2基本上計算編碼紋素塊40在存儲器5中的地址,并通過總線向存儲器5發(fā)送存儲器訪問請求。從存儲器5中讀取在分配給或?qū)S糜诩y素塊的存儲器位置上出現(xiàn)的編碼紋素塊40,并通過總線傳遞給解碼系統(tǒng)I或GPU 4的高速緩存器3。解碼系統(tǒng)I包括或連接至少ー個高速緩存器3,該高速緩存器3具有用于存儲解碼紋素塊或解碼紋素值的高速緩存位置或區(qū)域。在可選實施例中,GPU 4可以包括多個高速緩存器3,如紋理高速緩存器和顔色緩沖高速緩存器。GPU 4典型地與在其上顯示解碼圖像的顯示器屏幕6連接。例如,可以在圖形卡、視頻卡或主板的一個或多個芯片中提供GPU4及其所包括的單元1、2、3。可以在包括例如計算機、游戲控制臺、如移動電話或媒體處理設(shè)備之類的便攜式設(shè)備的任何圖像或紋理處理單元或設(shè)備中實現(xiàn)圖2的實施方式的結(jié)構(gòu)。以下,將結(jié)合不同的實施方式示例,更加詳細地描述解碼系統(tǒng)的實施例。這些示例還被設(shè)計為適于處理根據(jù)[3],[4]中描述的PLANAR編碼的紋素塊。簡言之,PLANAR被設(shè)計為以平滑改變的色度來處理紋素塊。PLANAR利用平面逼近來逼近紋素塊中的顔色分量(紅、綠、藍)。為了指定平面,指定紋素塊中三個位置中的顔色便足夠。圖5以與紋素塊10相關(guān)的特定位置處的三個紅色分量RO、Rh和Rv示出了該概念。利用三個紅色分量的定位,使用下式,可以計算在紋素塊10中任何地方的紅色分量。
Γ II、Λ(χ,.V) = round R0 +-(Rh - )^ +j(rv _Ro).v以與紅色分量相同的方式計算藍色和緑色分量。因此,圖4所示的編碼紋素塊40包括每個顏色分量三個顏色碼字41-49,即,X0,Xh和Xv,其中X針對紅色分量為R,針對綠色分量為G,以及針對藍色分量為B。在優(yōu)選實施方式中,優(yōu)選在紅色碼字41-43和藍色碼字 47-49中的每ー個碼字上花費六個比持,以及針對綠色碼字44-46中的每ー個花費七個比特,因為人眼對綠色分量比對紅色和藍色分量更加敏感。編碼紋素塊的總大小將會是57比特,恰好適合ETC2[3]的57比特模式。如果單獨使用PLANAR,且并不用作ETC的特定模式,則有利地,編碼紋素塊40針對顏色碼字41-47中除ー個顏色碼字(如八個比特的Gtl)之外的全部顏色碼字花費七個比持。則,總大小是64比持。在PLANAR實施方式中,圖3的第一解碼器100可以對任何2X2雙線性片進行解碼,該雙線性片在紋素塊內(nèi)具有全部四個紋素,參見圖1A。第二解碼器200不太高級,產(chǎn)生針對紋素塊的第一行或第一列的紋素的紋素值,參見圖IB中的紋素32、36和圖IC中的紋素34、36。第二解碼器200因而優(yōu)選一次輸出兩個紋素值,2X1片或1X2片。第三解碼器300對編碼紋素塊進行解碼,以產(chǎn)生單個紋素值,優(yōu)選為坐標(3,O)處的右上紋素值,參見圖ID中的紋素34。第四解碼器400還優(yōu)選示出原點紋素(0,0)的單個紋素值,參見圖ID中的紋素36。這意味著,如果如圖IA所示,雙線性片20的全部紋素30-36在紋素塊10的邊界內(nèi),則通過值選擇器500選擇來自第一解碼器100的輸出。如果如圖IB和IC中所示,兩個紋素30、34(30,32)在ー個紋素塊10中,以及兩個32、36 (34,36)在相鄰紋素塊12(14)中,則從第一解碼器100獲得左兩個紋素30、34或上兩個紋素30、32的紋素值,以及兩個右紋素32、36或下紋素34、36的紋素值來自第二解碼器200。最后,如果如圖ID所示,全部四個紋素30-36在不同的紋素塊10-16中,則值選擇器500從第一解碼器100選擇左上紋素30的紋素值、從第二解碼器200選擇右上紋素32的紋素值、從第三解碼器300選擇右下紋素34的紋素值、以及從第四解碼器400選擇左下紋素36的紋素值。這樣,可以在單個時鐘周期中獲得雙線性片20的全部四個紋素30-36,其優(yōu)點在于,可以使用非常少的硬件實現(xiàn)第ニ至第四解碼器200、300、400。根據(jù)等式T(x,.v)= ro ;K^Yf, +去(Λ& -Xn)x + i-(AV -X0).vj,原點(0,0)中的紋素對于
計算X(0,0) = ro <XQ +j(XH-X0)o + i(AV -X0)oj =み丨來說尤其簡単。如上所述,第四解碼器
優(yōu)選被配置為僅對原點處的紋素進行解碼。這意味著,第四解碼器的電路可以非常簡單。圖6示出了針對顏色分量之一的第四解碼器400的電路。如圖6所示,獨特的結(jié)構(gòu)是可選但優(yōu)選的擴展器480,它被配置為將輸入第一顏色碼字Xtj擴展為定義的比特長度,優(yōu)選為8個比持。如在此結(jié)合圖10進ー步公開的,這種擴展器480的實現(xiàn)可以沒有任何硬件結(jié)構(gòu)、而僅使用線,各個顏色分量可以存儲在線中到達第四解碼器400輸出。因此,可以在沒有任何門的情況下實現(xiàn)第四解碼器400。根據(jù)以上的討論,第三解碼器300優(yōu)選處理位置(3,0)處的紋素X(3,0) =謂,ベΛ-〔丨-X0)x3 + ^-(Xr -X0)xoj。最后ー項并不起作用,可以刪除。為了刪除
round O運算器,可以在(1/4)單元中計算結(jié)構(gòu),加上2并向右移位2次,由>> 2指示X(3,0) = ((X0 << 2) + (Xh-X0) X3+2) >>2。可以通過向一數(shù)字加上其自身的移位版本來代替與3相乘3t = 2t+t = (tくく l)+t 其中 t = XH-X。。因而該等式被寫作 X(3,O) = ((X0 << 2) + (t << l)+t+2) >> 2。在每個加法器中,可以通過設(shè)置進位=I而非O來加I。因此,可以通過這樣改變兩個加法器來替換加上2。在下式中,+ !用于指示進位被設(shè)置為I的加法器X(3,0) = ((X0 < < 2)+ ! (t < < I)+ ! t) > > 2。不同地表示為
Λ (3,θ) = roimd^A 0 + — (-I h -X0)x3 + —(.\r -X0)xoj = round\ 了 Λπ+了Λ 燈 |。與以上類似,該等式可以被寫作X(3,0) = (X0+ ! ((Xh << I)+ ! Xh)) >> 2。與以上表達相比,該表達更易于在硬件中實現(xiàn)??梢酝ㄟ^不同地連接線來實現(xiàn)移位運算。計算Χ(3,0)僅需的剰余運算是三個加法。圖7示出了第三解碼器300的電路的實施例。第三解碼器300包括左移位運算器310,用于將第二顏色碼字Xh向左移位ー比特位置,以獲得左移位的比特序列。左移位運算器310與進位被設(shè)置為I的第一加法器320。該第一加法器320將左移位比特序列與第二顏色碼字Xh相加。將所產(chǎn)生的輸出與第二加法器322中的第一顏色碼字Xtj相加,第二加法器322的進位被設(shè)置為I,并與第一加法器320連接。最后,第二加法器322與右移位運算器330連接,右移位運算器330被配置為將與第二加法器322的輸出相對應(yīng)的比特序列向右移位,以形成第三解碼器300的最終輸出,即紋素值X(3,O)。在可選但優(yōu)選的實施例中,第一顏色碼字\和第二顏色碼字Xh優(yōu)選為第一擴展的,或者從六個比特或七個比特擴展到八個比特。結(jié)果,第一擴展器380優(yōu)選被設(shè)置為與第ニ加法器322連接,并被配置為將第一顏色碼字\擴展到預(yù)定義比特大小,優(yōu)選為8個比持。第二擴展器382優(yōu)選被設(shè)置為與左移位運算器310和第一加法器320連接,并被配置為將第二顏色碼字Xh擴展為預(yù)定義比特大小,即,優(yōu)選為8個比持。可以通過簡單的連線來實現(xiàn)擴展器,從而將I比特序列中的k個最高有效比特(k< D復(fù)制到k個最低有效比持,以得到Ι+k比特序列。圖10是適于綠色顏色分量的第一和第_■擴展器380、382的實施方式的不意圖。如圖10所不,輸入7比特序列中的最聞有效比特被復(fù)制到最低有效比特位置,以得到輸出8比特序列。針對紅色和藍色分量,兩個最高有效比特被復(fù)制到兩個最低有效比特位置,以從6比特序列變?yōu)?比特序列。利用編碼紋素塊先前提及的比特大小(即,針對紅色和藍色分量為每個碼字六個比持,以及針對綠色分量為每個碼字七個比特),并使用兩個擴展器,如果每個加法器每比 特需要4. 4個門,則可以利用總共250. 8個門實現(xiàn)第三解碼器300的硬件電路
R/G/B I 個 9 比特加法器一9 X 4. 4 = 39. 6 個門I個10比特加法器一10X4. 4 = 44個門總共3X83.6 = 250. 8 個門如第一和第二解碼器的優(yōu)選實施方式,針對第三解碼器300不需要箝位器,這將在此進ー步討論。圖8示出了第二解碼器200的硬件實施方式的實施例。第二解碼器200包括第一多路復(fù)用器250,被配置為輸出第二顏色碼字Xh和第三顏色碼字Xv之一。顏色碼字的選擇取決于四個紋素中的一半是位于紋素塊邊界內(nèi)的第一行還是第一列,其編碼紋素塊被輸入第二解碼器200。如果兩個像素位于第一行,則從第一多路復(fù)用器250輸出第二顏色碼字XH,否則輸出第三碼字Xv。非運算器240被配置為對第一顏色碼字Xtj求邏輯非。第一加法器220與第一多路復(fù)用器250和非運算器240連接,并加上來自這些單元240、250的輸出以形成差Xh-L或Xv-Xm在可選實施方式中,用非運算器替換非運算器240,第一加法器 220是進位被設(shè)置為I的加法器。非運算器和進位被設(shè)置為I的加法器的使用在硬件復(fù)雜度方面通常優(yōu)于非運算器與常規(guī)加法器的使用。左移位運算器210與第一加法器220連接,并被配置為將與加法器輸出相對應(yīng)的比特序列向左移位一個比特位置。第二多路復(fù)用器252被配置為輸出紋素的行坐標和列坐標之一。該紋素是在紋素塊中出現(xiàn)的兩個紋素中的第一紋素,其編碼紋素塊被輸入第二解碼器200。在圖中,Sx表示該紋素的列坐標,以及Sy表示該紋素的行坐標。如果兩個紋素位于第一行,則從第二多路復(fù)用器252輸出列坐標Sx,否則輸出行坐標SY。第三多路復(fù)用器254與左移位運算器210和第一加法器220連接。第三多路復(fù)用器254在2X (Xh7v-X0) = 2d( S卩,左移位運算器210的輸出)和(XH/V-XQ) = d(即,第一加法器220的輸出)之間進行選擇。基于從第二多路復(fù)用器252輸出的行或列坐標的最高有效比特值來做出該選擇?;蜻\算器360與第二多路復(fù)用器352連接,并被配置為針對來自第二多路復(fù)用器352的行或列坐標的最高有效比特和最低有效比特執(zhí)行“或”運算?;蜻\算器360和第三多路復(fù)用器254進ー步與與運算器270連接。與運算器270逐比特地執(zhí)行多路復(fù)用器的輸出與來自或運算器360的單個比特的與運算。其結(jié)果為,如果或輸出為I ニ進制,則保存多路復(fù)用器輸出,如果或輸出為O ニ進制,則來自與運算器270的輸出為O。這里,來自與運算器270的輸出為2d、d或O。第二加法器222與與運算器270連接,并被配置為將與運算器270的輸出與以10ニ作為第一顏色碼字Xtj之后的最低兩個有效比特的比特序列相加。該比特序列對應(yīng)于f=4XXJ2,這可以通過將第一顏色碼字\的比特序列向左移位兩個比特位置、并插入2 =10ニ作為最后兩個比特來實現(xiàn),否則在移位之后為O。因此,來自第二加法器222的輸出是 2d+f、d+f 或 f。第三加法器222與第一加法器220和第二加法器222連接,并被配置為將來自這些加法器220、222的輸出相加。因而,該第三加法器224給出了結(jié)果3d+f、2d+f或d+f。第一右移位運算器230與第三加法器224連接,并被配置為將來自第三加法器224的比特序列右移位兩個比特位置,以得到雙線性片中第一列或第一行中兩個紋素的下或右紋素的紋素值。第二右移位運算器232與第二加法器222連接,并將加法器輸出向右移位兩個比特位置,以形成第一列或第一行中兩個左紋素或兩個上紋素的紋素值。與圖7中的第三解碼器相類似,優(yōu)選將輸入顏色碼字X。、XH、Xv從六個比特或七個比特擴展到八個比持。因而,可選但優(yōu)選地,將擴展器280、282、284設(shè)置在輸入端,從而將第一擴展器280配置為在作為最低有效比特加上10ニ_(以形成10比特序列之前,擴展第一顏色碼字ん。第一擴展器280也與非運算器240連接。第二擴展器282和第三擴展器284與第一多路復(fù)用器250連接,井分別擴展第二顏色碼字Xh和第三顏色碼字Xv。在可選實施方式中,優(yōu)選將右移位運算器230、232與相應(yīng)的箝位器或箝位運算器290、292連接。這些箝位器290、292被配置為將來自右移位運算器230、232的輸出箝位于最小紋素值與最大紋素值之間。因此,箝位器290、292確保來自第二解碼器200的輸出比特序列在所允許的值間隔內(nèi)。如果來自第二解碼器200的輸出序列應(yīng)具有8比持,則這種所允許的值間隔的示例是從O到255。
圖11示出了在例如圖8的第二解碼器和圖9的第一解碼器中采用的箝位器190至196、290、292的硬件實現(xiàn)的示例。該箝位器實施例被設(shè)計為將可能表示在[-1024,1023]區(qū)間中的值的11比特序列箝位為表示在
區(qū)間中的值的8比特序列。箝位器190至196、290、292包括8個或運算器701至708,它們各自接收輸入比特序列的8個最低有效位之一。將或運算器701-708的另ー相應(yīng)輸入連接到另ー或運算器700的輸出。該或運算器700接收輸入比特序列的兩個最高有效位。將八個或運算器701-708的輸出各自連接到相應(yīng)的與運算器711至718。與運算器711至718的另ー相應(yīng)輸入接收輸入比特序列的符號比特。在圖12中示出了箝位器190至196、290、292的備選實現(xiàn)實施例。在該實施例中,用8個或非運算器721至724來替換8個或運算器。對應(yīng)地,還用8個或非運算器731至738來替換圖11的8個與運算器。此外,在8個或非運算器731至738和用于輸入比特序列的符號比特的輸入之間連接非運算器740。用于實現(xiàn)圖12所示的硬件實施例的成本是16個或非門一16X1 = 16個門I 個或門一1X1. 5 = I. 5 個門I 個非門一1X0. 5 = O. 5 個門總共16+1.5+0. 5 = 18 個門
圖8中第二解碼器200的實現(xiàn)示例的門的數(shù)目(除了箝位器之外)是R/G/B : I 個 8-比特加法器一8 X 4. 4 = 35. 2 個門I個11-比特加法器一11X4. 4 = 48. 4個門I個12-比特加法器一12X4. 4 = 52. 8個門I個8-比特多路復(fù)用器一8X2. 2 = 17.6個門I個10-比特多路復(fù)用器一10X2. 2 = 22個門I個2-比特多路復(fù)用器一2X2. 2 = 4.4個門I個I-比特或門一1X1. 5 = I. 5個門I個10-比特與門一10X1. 5 = 15個門I個8-比特非門一8X0. 5 = 4個門
總共3Χ200·9 = 602. 7 個門最后,圖9是第一解碼器100的硬件實現(xiàn)的示例。第一解碼器100包括被配置為將第一顏色碼字\求邏輯非的非運算器140。第一加法器120連接到非運算器140,并將邏輯非第一顏色碼字與第二顏色碼字Xh相加以獲得g = Xh-Xm第二加法器122也連接到非運算器140,并將邏輯非第一顏色碼字與第三顏色碼字Xv相加以獲得h = Xv-Xm在備選實現(xiàn)中,用非運算器(NOT operator)來替換非運算器(negation operator) 140。然后,第一加法器120和第二加法器122的進位都設(shè)置為I。第一左移位運算器110連接到第一加法器120,并將加法器輸出向左移位ー個比特位置,獲得與2g相對應(yīng)的左移比特序列。第二左移位運算器112連接到第二加法器122,并將加法器輸出向左移位一個比特位置,獲得2h的比特序列。第一多路復(fù)用器150連接到第一左移位運算器110和第一加法器120,且被配置為基于列坐標Sx的最高有效位在g和2g之間選擇。第二多路復(fù)用器152對應(yīng)連接到第二左移位運算器112和第二加法器122, 且基于行坐標Sy的最高有效位在h和2h之間選擇。列坐標和行坐標是在2X 2雙線性片的左上紋素的坐標,即圖IA至ID中的紋素30。第一或運算器160對列坐標Sx的最高有效位和最低有效位執(zhí)行或運算。第二或運算器162對行坐標Sy的最高有效位和最低有效位執(zhí)行或運算。第一或運算器160和第一多路復(fù)用器150連接到第一與運算器170,第一與運算器170對多路復(fù)用器輸出以及來自第一或運算器160的単一比特執(zhí)行逐比特與運算。因此來自第一與運算器170的輸出是2g、g或O。第二與運算器172對多路復(fù)用器輸出以及來自第二或運算器162的比特執(zhí)行逐比特與運算,以獲得輸出2h、h或O。第三加法器124連接到第一與運算器124,并將加法器的輸出與以10 ニ進制作為所述第一顏色碼字之后的兩個最低有效比特的比特序列相加。該比特序列對應(yīng)于(如之前已經(jīng)描述的)f = 4Xq+2。因此,加法器輸出是2g+f、g+f或f。第四加法器126連接到第一加法器120和第三加法器124,且被配置為將來自這些加法器120、124的輸出相加,以獲得3g+f、2g+f或g+f。第五加法器128連接到第二加法器122和第二與運算器172,并將來自這兩個單元122、172的輸出相加,以獲得3h、2h或h。第六加法器121連接到第三加法器124和第二與運算器172,并被配置為將來自這些單元124、172的輸出相加。第一右移位運算器130連接到第六加法器121,并被配置為將加法器輸出的比特序列向右移位兩個比特位置,以獲得圖IA中紋素30的紋素值。第七加法器123連接到第四加法器126和第二與運算器172,并被配置為將來自這些單元126、172的輸出相加。第二右移位運算器132連接到第七加法器123,并被配置為將加法器輸出的比特序列向右移位兩個比特位置,以獲得圖IA中紋素32的紋素值。第八加法器125連接到第三加法器124和第五加法器128,并被配置為將來自這些加法器124、128的輸出相加。第三右移位運算器134連接到第八加法器125,并被配置為將加法器輸出的比特序列向右移位兩個比特位置,以獲得圖IA中紋素34的紋素值。第九加法器127連接到第四加法器126和第五加法器128,并被配置為將來自這些加法器126、128的輸出相加。第四右移位運算器136連接到第四加法器127,并被配置為將加法器輸出的比特序列向右移位兩個比特位置,以獲得圖IA中紋素36的紋素值。在可選的(但優(yōu)選的)實現(xiàn)中,將輸入顏色碼字Χ()、Xh> Xv首先從6或7個比特擴展或擴張為8個比持。因此,第一比特擴展器180優(yōu)選地被設(shè)置為連接到否定運算器140,且還被配置為在作為最低有效位加上10 ニ以獲得10比特序列之前,將第一顏色碼字X。擴展或擴充為預(yù)定義的比特序列(優(yōu)選地,8個比特)。第二擴展器182對應(yīng)地被設(shè)置為連接到第一加法器120,并被配置為擴展第二顏色碼字XH。最后,第三擴展器184連接到第二加法器122,并被配置為擴展第三顏色碼字Xv。在可選實現(xiàn)中,每個右移位運算器130至136優(yōu)選地連接到相應(yīng)的箝位器或箝位運算器190至196。這些箝位器190至196被配置為將來自右移位運算器130至136的輸出箝位為在最小紋素值和最大紋素值之間。因此,箝位器190至196確保來自第一解碼器100的輸出比特序列在允許的值區(qū)間中。如果來自第一解碼器100的輸出序列應(yīng)當具有8個比持,則這種允許的值區(qū)間的示例是從O至255。不包括可選箝位器190至196在內(nèi)的圖8的實現(xiàn)示例的門的數(shù)目是R/G/B :2 個 8-比特加法器一16X4. 4 = 70. 4 個門
I個10-比特加法器一10X4. 4 = 44個門I個11-比特加法器一11X4. 4 = 48. 4個門5個12-比特加法器一60X4.4 = 264個門2個10-比特多路復(fù)用器一20X2. 2 = 44個門2個I-比特或門一2X1. 5 = 3個門2個10-比特與門一20X 1. 5 = 30個門I個8-比特非門一8X0. 5 = 4個門總共3Χ507·8 = 1523. 4 個門因此,除了箝位器之外,可以僅使用0+250. 8+602. 7+1523. 4 = 2376. 9個門來實現(xiàn)
解碼系統(tǒng)的4個解碼器。如在現(xiàn)有技術(shù)[3]中建議的具有4個解碼器的傳統(tǒng)實現(xiàn)將看起來非常像圖9中的第一解碼器。唯一的區(qū)別將是在輸出中將僅需要I個紋素,而不是如圖中所示的4個。因此,4個加法器121、123、125、127將由加法器之后的2個四路多路復(fù)用器來替代。這樣,需要針對每個顏色通道的6個加法器、4個多路復(fù)用器以及2個與運算器。這意味著在4個解碼器和3種不同顔色分量的情況下,根據(jù)現(xiàn)有技術(shù)的硬件成本或復(fù)雜度將是6X3X4 = 72 個加法器4X3X4 = 48個多路復(fù)用器2X3X4 = 24個與運算器將其與圖6至8中所公開的實現(xiàn)實施例進行比較,本公開的實現(xiàn)實施例需要(9+3+2+0) X 3 = 42 個加法器(2+3+0+0) X3 = 15 個多路復(fù)用器
(2+1+0+0) X 3 = 9 個與運算器因此,將加法器的數(shù)目從72個減少到42個,即減少了 42%。相對而言,將多路復(fù)用器從48個降低至IJ 15個,即降低69%。圖13示出了值選擇器500的硬件實現(xiàn)的實施例。在該實施例中,值選擇器500包括4個多路復(fù)用器510,每個多路復(fù)用器510輸出雙線性片的紋素30至36的紋素值。第一多路復(fù)用器510連接到第一解碼器100的4個輸出,并選擇4個比特序列之一作為雙線性片中第一紋素30的紋素值。第二多路復(fù)用器520連接到第一解碼器100的第二和第四輸出以及第二解碼器200的2個輸出。該第二多路復(fù)用器520輸出雙線性片中第二紋素32的紋素值。第三多路復(fù)用器530連接到第一解碼器100的第三和第四輸出、第二解碼器200的第一輸出以及第三解碼器300的單ー輸出。第三多路復(fù)用器530輸出雙線性片中第三紋素34的紋素值。最后,第四多路復(fù)用器540連接到第一解碼器100的第四輸出、第二解碼器200的第二輸出、以及第四解碼器400的單ー輸出。該第四多路復(fù)用器540選擇并輸出雙線性片中第四紋素36的紋素值。雙線性片相對于紋素塊邊界的位置指定了從多路復(fù)用器510至540中輸出哪個(哪些)比特序列。從而,在圖IA所示的情況中,通過多路復(fù)用器510至540來選擇來自第一解碼器100的4個輸出的比特序列。更具體地,第一多路復(fù)用器510輸出來自第一解碼器100的第一輸出的比特序列,第二多路復(fù)用器520輸出來自第二輸出的比特序列,且第三多路復(fù)用器530和第四多路復(fù)用器540分別輸出來自第三解碼器輸出和第四解碼器輸出的比特序列。如圖IB所示的雙線性片暗示了第一多路復(fù)用器510選擇第一解碼器100的第 ニ輸出的比特序列。第二多路復(fù)用器520選擇第二解碼器200的第一輸出的比特序列。第三解碼器300選擇來自第一解碼器100的第四輸出的比特序列且第四解碼器400選擇來自第二解碼器200的第二輸出的比特序列。然后可以用類似方式將該概念應(yīng)用于圖IC和ID所示的2種其他片位置。實現(xiàn)如圖13所示的值選擇器500的實施例的成本(門數(shù)目)是3個8-比特4-路多路復(fù)用器一24X6.6 = 158. 4個門I個8-比特3-路多路復(fù)用器一8X4. 4 = 35.2個門總共158.4+35. 2 = 193. 6 個門包括箝位器在內(nèi)的解碼器和值選擇器的總成本是2376. 9+6X 18+193. 6 = 2678. 5個門。如果省略如圖8和9中所示的第一和第二解碼器的箝位器,并取而代之地用4個箝位器來替換,每個箝位器連接到值選擇器500的多路復(fù)用器510至540之一,則由于需要3個11比特4路多路復(fù)用器和I個11比特3路多路復(fù)用器而導(dǎo)致成本為266. 2個門,而不是193. 6個門,則實現(xiàn)值選擇器500的成本將增加??梢愿鶕?jù)本領(lǐng)域中眾所周知的技術(shù)以硬件方式實現(xiàn)解碼系統(tǒng)的像素計算器。更具體地,假定在雙線性濾波的情況下,用A、B、C和D來表示來自值選擇器的4個紋素值。貝1J,像素計算器如下計算像素值像素值=A(l_dx)(1-dy) +Bdx (l~dy) +C(l~dx) dy+Ddxdy其中,dx是在紋素A的中點和像素的采樣點之間在X軸上的距離,且dy是在紋素A的中點和該像素的采樣點之間在y軸上的距離。針對紅、綠和藍顏色分量,并行執(zhí)行上述公式。則可以基于該公式來定義硬件實現(xiàn)。例如,假定可以用3個ニ進制小數(shù)來表達采樣點的位置,例如可以假定dx位置是如下值[O. 000,O. 125,O. 250,O. 375,O. 500,O. 625,O. 750,O. 875]。在該情況下,可以將位置定義為8的倍數(shù),使得可以用
來表示這些值。則可以將上述公式重寫為像素值=(A(8-DX)(8-DY)+BDX(8-DY)+C(8-DX)DY+DDXDY) > > 6 其中,DX =8Xdx且DY = 8Xdy,且DX、DY是在O和7之間的整數(shù)。
調(diào)查第二項8DX (8-DY),本領(lǐng)域技術(shù)人員意識到DX和(8-DY)都是在O和8之間的整數(shù)。為了表示8,需要4個比持??梢允褂锰幚砻總€輸入中的4個比特并輸出8比特序列的乘法運算器。然而,乘法運算器可以輸出的最大數(shù)目是7X8 = 56,使得僅需要來自輸出的6個最低有效位。應(yīng)當將來自乘法運算器的輸出乘以紋素值B,優(yōu)選地,在O和255之間的數(shù)。該乘法可以由乘法運算器來處理,該乘法運算器獲取2個8比特輸入,并輸出16比特的比特序列。然而,由于最大可能數(shù)目是56 X 255 < 214,因此,僅需要來自乘法運算器的14個最低有效位。然后,針對公式中的其他項來執(zhí)行對應(yīng)實現(xiàn),且將來自相應(yīng)最終乘法運算器的輸出相加,并向右移位6次,以獲得最終的8比特像素值。應(yīng)當將上述實現(xiàn)示例僅視為可以如何用硬件方式來實現(xiàn)解碼系統(tǒng)的単元的優(yōu)選 (但是非限制性)的實施例。其各種變型是可能的,且在本發(fā)明的范圍中。然而重要的特征是包括解碼器的電路在増加復(fù)雜度的方面是不同,以及每個解碼器被配置為處理并輸出在片中預(yù)定位置處的ー個或多個紋素的紋素值。圖14是示出了通過對至少ー個編碼紋素塊進行解碼來產(chǎn)生解碼像素的方法的流程圖。該方法開始于步驟SI,其中,確定至少N個紋素值(即片)相對于紋素塊邊界的位置。根據(jù)所確定的相對片位置,將相應(yīng)的編碼紋素塊(或者相同的編碼紋素塊,或者不同的編碼紋素塊)輸入N個解碼器,以獲得解碼的紋素值。下一個步驟S2選擇性地從N個解碼器中的至少ー個解碼器輸出至少N個紋素值?;谠诓襟ESI中獲得的相對片位置,確定在步驟S2中要選擇的特定至少N個紋素值以及從哪個或哪些解碼器取回這些紋素值。此外,N個解碼器中的每個解碼器的相應(yīng)電路均不同于其他N-I個解碼器的電路。最終步驟S3基于在步驟S2中所選的至少N個紋素值,計算解碼的像素值,優(yōu)選地作為這至少N個紋素值的線性組合。然后,該方法結(jié)束,或為了產(chǎn)生新的解碼像素的目的,在步驟SI中重新開始。
如果N個紋素位于紋素塊的邊界內(nèi),則步驟S2優(yōu)選地涉及選擇性地輸出來自N個解碼器中的第一解碼器的所有N個紋素值。然而,如果N個紋素中的一半位于ー個紋素塊內(nèi),且N個紋素中的另一半位于相鄰紋素塊內(nèi),則優(yōu)選地從第一解碼器的輸出中選擇N個紋素值中的一半,且從第二解碼器選擇N個紋素值中的另一半。在優(yōu)選實施例中,N = 4。如果4個紋素的位置是在不同的紋素塊中發(fā)現(xiàn)每個紋素,則步驟S2優(yōu)選地涉及從4個解碼器中的每個解碼器選擇I個相應(yīng)紋素值。應(yīng)當將上述實施例理解為本發(fā)明的一些說明性示例。本領(lǐng)域技術(shù)人員將理解,可以在不脫離本發(fā)明的范圍的情況下,進行各種修改、組合和改變。具體地,在技術(shù)可能的情況下,可以在其他配置下將不同實施例的不同部分解決方案加以結(jié)合。然而,本發(fā)明的范圍由所附權(quán)利要求來限定。參考文獻[I]美國專利 US 5,956,431 ;[2] SI roin 與 Μ M er, “iPACKMAN :High-Quality, Low-Complexity TextureCompression for Mobile Phones”,Graphics Hardware, 2005, ACM Press, pp.63-70 ;[3] SIroill 與 Pettersson, “ETC2 :Texture Compression using InvalidCombinations,,,Graphics Hardware, 2007, ACM Press, pp. 49-54 ;
[4]國際申請WO 2006/126949。
權(quán)利要求
1.一種用于基于至少一個編碼紋素塊(40)來產(chǎn)生解碼像素的解碼系統(tǒng)(I),包括 N個不同的解碼器(100、200、300、400),每個解碼器具有與其他N-I個解碼器的電路不同的電路,且被配置為對編碼紋素塊(40)進行解碼,以產(chǎn)生至少ー個相應(yīng)的紋素值; 與所述N個解碼器(100、200、300、400)連接的值選擇器(500),被配置為基于與至少N個紋素值相關(guān)聯(lián)的至少N個紋素(30-36)的位置,從所述N個解碼器(100、200、300、400)中的至少ー個選擇性地輸出所述至少N個紋素值,所述至少N個紋素的所述位置與包括所述至少N個紋素(30-36)中的至少ー個的紋素塊(10)的邊界相關(guān);以及 像素計算器¢00),被配置為基于所述值選擇器(500)選擇性輸出的所述至少N個紋素值來計算所述解碼像素的解碼像素值。
2.根據(jù)權(quán)利要求I所述的解碼系統(tǒng),其中所述值選擇器(500)被配置為如果與所述N個紋素值相關(guān)聯(lián)的N個紋素(30-36)位于紋素塊(10)的所述邊界內(nèi),則從所述N個解碼器(100、200、300、400)中的第一解碼器(100)選擇性地輸出N個紋素值。
3.根據(jù)權(quán)利要求I或2所述的解碼系統(tǒng),其中所述值選擇器(500)被配置為如果與所述N個紋素值相關(guān)聯(lián)的N個紋素(30-36)中的一半位于所述紋素塊(10)的所述邊界內(nèi),以及所述N個紋素(30-36)的一半位于相鄰紋素塊(12、14)的邊界內(nèi),則從所述N個解碼器(100、200、300、400)中的第一解碼器(100)選擇性地輸出所述N個紋素值中的一半,并從所述N個解碼器(100、200、300、400)中的第二解碼器(200)選擇性地輸出所述N個紋素值中的另一半。
4.根據(jù)權(quán)利要求I至3之一所述的解碼系統(tǒng),其中N等于4,以及所述值選擇器(500)被配置為如果所述4個紋素(30-36)之一位于所述紋素塊(10)的所述邊界內(nèi),以及其他3個紋素中的每ー個位于相應(yīng)的相鄰紋素塊(12、14、16)的邊界內(nèi),則從所述4個解碼器(100、200、300、400)中的第一解碼器(100)選擇性地輸出所述4個紋素值中的第一紋素值,從所述4個解碼器(100、200、300、400)中的第二解碼器(200)選擇性地輸出所述4個紋素值中的第二紋素值,從所述4個解碼器(100、200、300、400)中的第三解碼器(300)選擇性地輸出所述4個紋素值中的第三紋素值,以及從所述4個解碼器(100、200、300、400)中的第四解碼器(400)選擇性地輸出所述4個紋素值中的第四紋素值。
5.根據(jù)權(quán)利要求I到4之一所述的解碼系統(tǒng),其中N等于4,以及 所述4個解碼器(100、200、300、400)中的第一解碼器(100)具有第一電路,并被配置為對編碼紋素塊(40)進行解碼以產(chǎn)生四個紋素值; 所述4個解碼器(100、200、300、400)中的第二解碼器(200)具有第二電路,并被配置為對編碼紋素塊(40)進行解碼以產(chǎn)生兩個紋素值; 所述4個解碼器(100、200、300、400)中的第三解碼器(300)具有第三電路,并被配置為對編碼紋素塊(40)進行解碼以產(chǎn)生ー個紋素值;以及 所述4個解碼器(100、200、300、400)中的第四解碼器(400)具有第四電路,并被配置為對編碼紋素塊(40)進行解碼以產(chǎn)生ー個紋素值。
6.根據(jù)權(quán)利要求I到5之一所述的解碼系統(tǒng),其中所述編碼紋素塊(40)包括第一顔色碼字(41、44、47)、第二顏色碼字(42、45、48)、以及第三顏色碼字(43、46、49)。
7.根據(jù)權(quán)利要求5或6所述的解碼系統(tǒng),其中所述第四解碼器(400)包括至少一條線,用于輸出所述第一顏色碼字(41、44、47)。
8.根據(jù)權(quán)利要求6或7所述的解碼系統(tǒng),其中所述第三解碼器(300)包括 左移位運算器(310),被配置為將與所述第二顏色碼字(42、45、48)相對應(yīng)的比特序列向左移位一個比特位置,以形成左移位比特序列; 進位被設(shè)置為I的第一加法器(320),與所述左移位運算器(310)連接,并被配置為將所述第二顏色碼字(42、45、48)和所述左移位比特序列相加; 進位被設(shè)置為I的第二加法器(322),與所述第一加法器(320)連接,并被配置為將所述第一加法器(320)的輸出與所述第一顏色碼字(41、44、47)相加;以及 與所述第二加法器(322)連接的右移位運算器(330),被配置為將與所述第二加法器(322)的輸出相對應(yīng)的比特序列向右移位兩個比特位置,以形成右移位比特序列。
9.根據(jù)權(quán)利要求6到8之一所述的解碼系統(tǒng),其中所述第二解碼器(200)包括 第一多路復(fù)用器(250),被配置為基于四個紋素(30-36)中的一半是位于所述紋素塊(10)的所述邊界內(nèi)的一行還是一列中,輸出所述第二顏色碼字(42、45、48)和所述第三顏色碼字(43、46、49)之一; 非運算器(240),被配置為對所述第一顏色碼字(41、44、47)求邏輯非; 與所述第一多路復(fù)用器(250)和所述非運算器(240)連接的第一加法器(220),被配置為將所述第一多路復(fù)用器(250)的輸出與所述邏輯非第一顏色碼字相加; 與所述第一加法器(220)連接的左移位運算器(210),被配置為將與所述第一加法器(220)的輸出相對應(yīng)的比特序列向左移位一個比特位置,以形成左移位比特序列; 第二多路復(fù)用器(252),被配置為基于四個紋素(30-36)中的所述一半是位于所述紋素塊(10)的所述邊界內(nèi)的一行還是一列中,輸出紋素(32、24)的行坐標和列坐標之一; 與所述左移位運算器(210)和所述第一加法器(220)連接的第三多路復(fù)用器(254),被配置為基于所述第二多路復(fù)用器(252)的輸出的最高有效比特,輸出所述第一加法器(220)的輸出和所述左移位比特序列之一; 與所述第二多路復(fù)用器(252)連接的或運算器(260),被配置為接收所述第二多路復(fù)用器(252)的所述輸出的所述最高有效比特和所述第二多路復(fù)用器的所述輸出的最低有效比特; 與所述第三多路復(fù)用器(254)和所述或運算器(260)連接的與運算器(270),被配置為接收所述第三多路復(fù)用器(254)的輸出和所述或運算器(260)的輸出; 與所述與運算器(270)連接的第二加法器(222),被配置為將所述與運算器(270)的輸出與以10ニ作為所述第一顏色碼字(41、44、47)之后的兩個最低有效比特的比特序列相加; 與所述第一加法器(220)和所述第二加法器(222)連接的第三加法器(224),被配置為將所述第一加法器(220)的所述輸出與所述第二加法器(222)的輸出相加; 與所述第三加法器(224)連接的第一右移位運算器(230),被配置為將與所述第三加法器(224)的輸出相對應(yīng)的比特序列向右移位兩個比特位置,以形成第一右移位序列;與所述第二加法器(222)連接的第二右移位運算器(232),被配置為將與所述第二加法器(222)的所述輸出相對應(yīng)的比特序列向右移位兩個比特位置,以形成第二右移位序列。
10.根據(jù)權(quán)利要求6到8之一所述的解碼系統(tǒng),其中所述第二解碼器(200)包括第一多路復(fù)用器(250),被配置為基于四個紋素(30-36)中的一半是位于所述紋素塊(10)的所述邊界內(nèi)的一行還是一列中,輸出所述第二顏色碼字(42、45、48)和所述第三顏色碼字(43、46、49)之一; 非運算器,被配置為對所述第一顏色碼字(41、44、47)求邏輯非; 與所述第一多路復(fù)用器(250)和所述非運算器連接的、進位被設(shè)置為I的第一加法器(220),被配置為將所述第一多路復(fù)用器(250)的輸出與所述邏輯非第一顏色碼字相加;與所述第一加法器(220)連接的左移位運算器(210),被配置為將與所述第一加法器(220)的輸出相對應(yīng)的比特序列向左移位一個比特位置,以形成左移位比特序列; 第二多路復(fù)用器(252),被配置為基于四個紋素(30-36)中的所述一半是位于所述紋素塊(10)的所述邊界內(nèi)的一行還是一列中,輸出紋素(32、24)的行坐標和列坐標之ー; 與所述左移位運算器(210)和所述第一加法器(220)連接的第三多路復(fù)用器(254),被配置為基于所述第二多路復(fù)用器(252)的輸出的最高有效比特,輸出所述第一加法器(220)的所述輸出和所述左移位比特序列之一; 與所述第二多路復(fù)用器(252)連接的或運算器(260),被配置為接收所述第二多路復(fù)用器(252)的所述輸出的所述最高有效比特和所述第二多路復(fù)用器的所述輸出的最低有效比特; 與所述第三多路復(fù)用器(254)和所述或運算器(260)連接的與運算器(270),被配置為接收所述第三多路復(fù)用器(254)的輸出和所述或運算器(260)的輸出; 與所述與運算器(270)連接的第二加法器(222),被配置為將所述與運算器(270)的輸出與以10ニ作為所述第一顏色碼字(41、44、47)之后的兩個最低有效比特的比特序列相加; 與所述第一加法器(220)和所述第二加法器(222)連接的第三加法器(224),被配置為將所述第一加法器(220)的所述輸出與所述第二加法器(222)的輸出相加; 與所述第三加法器(224)連接的第一右移位運算器(230),被配置為將與所述第三加法器(224)的輸出相對應(yīng)的比特序列向右移位兩個比特位置,以形成第一右移位序列;與所述第二加法器(222)連接的第二右移位運算器(232),被配置為將與所述第二加法器(222)的所述輸出相對應(yīng)的比特序列向右移位兩個比特位置,以形成第二右移位序列。
11.根據(jù)權(quán)利要求6到10之一所述的解碼系統(tǒng),其中所述第一解碼器(100)包括 非運算器(140),被配置為對所述第一顏色碼字(41、44、47)求邏輯非; 與所述非運算器(140)連接的第一加法器(120),被配置為將所述第二顏色碼字(42、·45.48)與所述邏輯非第一顏色碼字相加; 與所述非運算器(140)連接的第二加法器(122),被配置為將所述第三顏色碼字(43、·46.49)與所述邏輯非第一顏色碼字相加; 與所述第一加法器(120)連接的第一左移位運算器(110),被配置為將與所述第一加法器(120)的輸出相對應(yīng)的比特序列向左移位一個比特位置,以形成第一左移位比特序列; 與所述第二加法器(122)連接的第二左移位運算器(112),被配置為將與所述第二加法器(122)的輸出相對應(yīng)的比特序列向左移位一個比特位置,以形成第二左移位比特序列; 與所述第一加法器(120)和所述第一左移位運算器(110)連接的第一多路復(fù)用器(150),被配置為基于紋素(30)的列坐標的最高有效比特,輸出所述第一加法器(120)的所述輸出和所述第一左移位比特序列之一; 與所述第二加法器(122)和所述第二左移位運算器(112)連接的第二多路復(fù)用器(152),被配置為基于所述紋素(30)的行坐標的最高有效比特,輸出所述第二加法器(122)的所述輸出和所述第二左移位比特序列之一; 第一或運算器(160),被配置為接收所述列坐標的所述最高有效比特和所述列坐標的所述最低有效比特; 第二或運算器(162),被配置為接收所述行坐標的所述最高有效比特和所述行坐標的 所述最低有效比特; 與所述第一多路復(fù)用器(150)和所述第一或運算器(160)連接的第一與運算器(170),被配置為接收所述第一多路復(fù)用器(150)的輸出和所述第一或運算器(160)的輸出;與所述第二多路復(fù)用器(152)和所述第二或運算器(162)連接的第二與運算器(172),被配置為接收所述第二多路復(fù)用器(152)的輸出和所述第二或運算器(162)的輸出;與所述第一與運算器(170)連接的第三加法器(124),被配置為將所述第一與運算器(170)的輸出與以10ニ進制作為所述第一顏色碼字(41、44、47)之后的兩個最低有效比特的比特序列相加; 與所述第一加法器(120)和所述第三加法器(124)連接的第四加法器(126),被配置為將所述第一加法器(120)的所述輸出與所述第三加法器(124)的輸出相加; 與所述第二加法器(122)和所述第二與運算器(172)連接的第五加法器(128),被配置為將所述第二加法器(122)的所述輸出與所述第二與運算器(172)的輸出相加; 與所述第三加法器(124)和所述第二與運算器(172)連接的第六加法器(121),被配置為將所述第三加法器(124)的所述輸出與所述第二與運算器(172)的所述輸出相加; 與所述第四加法器(126)和所述第二與運算器(172)連接的第七加法器(123),被配置為將所述第四加法器(126)的所述輸出與所述第二與運算器(172)的輸出相加; 與所述第三加法器(124)和所述第五加法器(128)連接的第八加法器(125),被配置為將所述第三加法器(124)的所述輸出與所述第五加法器(128)的輸出相加; 與所述第四加法器(126)和所述第五加法器(128)連接的第九加法器(127),被配置為將所述第四加法器(126)的所述輸出與所述第五加法器(128)的輸出相加; 與所述第六加法器(121)連接的第一右移位運算器(130),被配置為將與所述第六加法器(121)的輸出相對應(yīng)的比特序列向右移位兩個比特位置,以形成第一右移位序列; 與所述第七加法器(123)連接的第二右移位運算器(132),被配置為將與所述第七加法器(123)的所述輸出相對應(yīng)的比特序列向右移位兩個比特位置,以形成第二右移位序列; 與所述第八加法器(125)連接的第三右移位運算器(134),被配置為將與所述第八加法器(125)的輸出相對應(yīng)的比特序列向右移位兩個比特位置,以形成第三右移位序列;以及 與所述第九加法器(127)連接的第四右移位運算器(136),被配置為將與所述第九加法器(127)的所述輸出相對應(yīng)的比特序列向右移位兩個比特位置,以形成第四右移位序列。
12.根據(jù)權(quán)利要求6到10之一所述的解碼系統(tǒng),其中所述第一解碼器(100)包括 非運算器,被配置為對所述第一顏色碼字(41、44、47)求邏輯非; 與所述非運算器連接的、進位被設(shè)置為I的第一加法器(120),被配置為將所述第二顏色碼字(42、45、48)與所述邏輯非第一顏色碼字相加; 與所述非運算器連接的、進位被設(shè)置為I的第二加法器(122),被配置為將所述第三顏色碼字(43、46、49)與所述邏輯非第一顏色碼字相加; 與所述第一加法器(120)連接的第一左移位運算器(110),被配置為將與所述第一加法器(120)的輸出相對應(yīng)的比特序列向左移位一個比特位置,以形成第一左移位比特序列; 與所述第二加法器(122)連接的第二左移位運算器(112),被配置為將與所述第二加法器(122)的輸出相對應(yīng)的比特序列向左移位一個比特位置,以形成第二左移位比特序列; 與所述第一加法器(120)和所述第一左移位運算器(110)連接的第一多路復(fù)用器(150),被配置為基于紋素(30)的列坐標的最高有效比特,輸出所述第一加法器(120)的所述輸出和所述第一左移位比特序列之一; 與所述第二加法器(122)和所述第二左移位運算器(112)連接的第二多路復(fù)用器(152),被配置為基于所述紋素(30)的行坐標的最高有效比特,輸出所述第二加法器(122)的所述輸出和所述第二左移位比特序列之一; 第一或運算器(160),被配置為接收所述列坐標的所述最高有效比特和所述列坐標的所述最低有效比特; 第二或運算器(162),被配置為接收所述行坐標的所述最高有效比特和所述行坐標的所述最低有效比特; 與所述第一多路復(fù)用器(150)和所述第一或運算器(160)連接的第一與運算器(170),被配置為接收所述第一多路復(fù)用器(150)的輸出和所述第一或運算器(160)的輸出;與所述第二多路復(fù)用器(152)和所述第二或運算器(162)連接的第二與運算器(172),被配置為接收所述第二多路復(fù)用器(152)的輸出和所述第二或運算器(162)的輸出;與所述第一與運算器(170)連接的第三加法器(124),被配置為將所述第一與運算器(170)的輸出與以10ニ進制作為所述第一顏色碼字(41、44、47)之后的兩個最低有效比特的比特序列相加; 與所述第一加法器(120)和所述第三加法器(124)連接的第四加法器(126),被配置為將所述第一加法器(120)的所述輸出與所述第三加法器(124)的輸出相加; 與所述第二加法器(122)和所述第二與運算器(172)連接的第五加法器(128),被配置為將所述第二加法器(122)的所述輸出與所述第二與運算器(172)的輸出相加; 與所述第三加法器(124)和所述第二與運算器(172)連接的第六加法器(121),被配置為將所述第三加法器(124)的所述輸出與所述第二與運算器(172)的所述輸出相加; 與所述第四加法器(126)和所述第二與運算器(172)連接的第七加法器(123),被配置為將所述第四加法器(126)的所述輸出與所述第二與運算器(172)的輸出相加;與所述第三加法器(124)和所述第五加法器(128)連接的第八加法器(125),被配置為將所述第三加法器(124)的所述輸出與所述第五加法器(128)的輸出相加; 與所述第四加法器(126)和所述第五加法器(128)連接的第九加法器(127),被配置為將所述第四加法器(126)的所述輸出與所述第五加法器(128)的所述輸出相加; 與所述第六加法器(121)連接的第一右移位運算器(130),被配置為將與所述第六加法器(121)的輸出相對應(yīng)的比特序列向右移位兩個比特位置,以形成第一右移位序列; 與所述第七加法器(123)連接的第二右移位運算器(132),被配置為將與所述第七加法器(123)的所述輸出相對應(yīng)的比特序列向右移位兩個比特位置,以形成第二右移位序列; 與所述第八加法器(125)連接的第三右移位運算器(134),被配置為將與所述第八加法器(125)的輸出相對應(yīng)的比特序列向右移位兩個比特位置,以形成第三右移位序列;以及 與所述第九加法器(127)連接的第四右移位運算器(136),被配置為將與所述第九加法器(127)的所述輸出相對應(yīng)的比特序列向右移位兩個比特位置,以形成第四右移位序列。
13.根據(jù)權(quán)利要求6到12之一所述的解碼系統(tǒng),其中所述值選擇器(500)包括 與所述第一解碼器(100)連接的第一多路復(fù)用器(510),被配置為輸出第一紋素值; 與所述第一解碼器(100)和所述第二解碼器(200)連接的第二多路復(fù)用器(520),被配置為輸出第二紋素值; 與所述第一解碼器(100)、所述第二解碼器(200)和所述第三解碼器(300)連接的第三多路復(fù)用器(530),被配置為輸出第三紋素值;以及 與所述第一解碼器(100)、所述第二解碼器(200)和所述第四解碼器(400)連接的第四多路復(fù)用器(540),被配置為輸出第四紋素值。
14.一種用于通過對至少ー個編碼紋素塊(40)進行解碼來產(chǎn)生像素的方法,所述方法包括 從N個不同的解碼器(100、200、300、400)中的至少ー個選擇性地輸出至少N個紋素值;每個解碼器具有與其他N-I個解碼器的電路不同的電路,且被配置為基干與至少N個紋素值相關(guān)聯(lián)的至少N個紋素(30-36)的位置,對編碼紋素塊(40)進行解碼,以產(chǎn)生至少ー個相應(yīng)的紋素值,所述至少N個紋素(30-36)的所述位置與包括所述至少N個紋素(30-36)中的至少ー個的紋素塊(10)的邊界相關(guān);以及 基于所述至少N個紋素值來計算所述解碼像素的解碼像素值。
15.根據(jù)權(quán)利要求14所述的方法,其中如果與所述N個紋素值相關(guān)聯(lián)的N個紋素(30-36)位于紋素塊(10)的所述邊界內(nèi),則從所述N個解碼器(100、200、300、400)中的第一解碼器(100)選擇性地輸出N個紋素值。
16.根據(jù)權(quán)利要求14或15所述的方法,其中所述選擇性地輸出包括如果與所述N個紋素值相關(guān)聯(lián)的N個紋素(30-36)中的一半位于所述紋素塊(10)的所述邊界內(nèi),以及所述N個紋素(30-36)中的一半位于相鄰紋素塊(12、14)的邊界內(nèi),則從所述N個解碼器(100、200,300,400)中的第一解碼器(100)選擇性地輸出所述N個紋素值中的一半,并從所述N個解碼器(100、200、300、400)中的第二解碼器(200)選擇性地輸出所述N個紋素值中的另一半。
17.根據(jù)權(quán)利要求14到16之一所述的方法,其中N等于4,以及所述選擇性地輸出包括如果所述4個紋素(30-36)之一位于所述紋素塊(10)的所述邊界內(nèi),以及其他3個紋素中的每ー個位于相應(yīng)的相鄰紋素塊(12、14、16)的邊界內(nèi),則從所述4個解碼器(100、200、300,400)中的第一解碼器(100)選擇性地輸出所述4個紋素值中的第一紋素值,從所述4個解碼器(100、200、300、400)中的第二解碼器(200)選擇性地輸出所述4個紋素值中的第ニ紋素值,從所述4個解碼器(100、200、300、400)中的第三解碼器(300)選擇性地輸出所述4個紋素值中的第三紋素值,以及從所述4個解碼器(100、200、300、400)中的第四解碼器(400)選擇性地輸出所述4個紋素值中的第四紋素值。
全文摘要
一種解碼系統(tǒng)(1),包括N個不同的解碼器(100、200、300、400),每個解碼器具有與其他N-1個解碼器的電路不同的電路。每個解碼器(100、200、300、400)基于輸入編碼紋素塊(40)產(chǎn)生至少一個紋素值。值選擇器(500)被配置為基于至少N個紋素值(30-36)的位置,從解碼器(100、200、300、400)中的至少一個選擇性地輸出所述至少N個紋素值,所述至少N個紋素值(30-36)的所述位置與包括所述至少N個紋素(30-36)中的至少一個的紋素塊(10)的邊界相關(guān)。像素計算器(600)基于來自值選擇器(500)的所述至少N個紋素值來計算解碼像素的像素值。
文檔編號G06T11/00GK102687175SQ201080053340
公開日2012年9月19日 申請日期2010年2月24日 優(yōu)先權(quán)日2009年11月24日
發(fā)明者雅各布·斯特羅姆 申請人:瑞典愛立信有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1