CN102687175A - 对编码纹理元素块进行操作的解码系统和方法 - Google Patents

对编码纹理元素块进行操作的解码系统和方法 Download PDF

Info

Publication number
CN102687175A
CN102687175A CN2010800533400A CN201080053340A CN102687175A CN 102687175 A CN102687175 A CN 102687175A CN 2010800533400 A CN2010800533400 A CN 2010800533400A CN 201080053340 A CN201080053340 A CN 201080053340A CN 102687175 A CN102687175 A CN 102687175A
Authority
CN
China
Prior art keywords
texel
output
demoder
adder
totalizer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2010800533400A
Other languages
English (en)
Other versions
CN102687175B (zh
Inventor
雅各布·斯特罗姆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of CN102687175A publication Critical patent/CN102687175A/zh
Application granted granted Critical
Publication of CN102687175B publication Critical patent/CN102687175B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/127Prioritisation of hardware or computational resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/16Indexing scheme for image data processing or generation, in general involving adaptation to the client's capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/08Bandwidth reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]

Abstract

一种解码系统(1),包括:N个不同的解码器(100、200、300、400),每个解码器具有与其他N-1个解码器的电路不同的电路。每个解码器(100、200、300、400)基于输入编码纹素块(40)产生至少一个纹素值。值选择器(500)被配置为:基于至少N个纹素值(30-36)的位置,从解码器(100、200、300、400)中的至少一个选择性地输出所述至少N个纹素值,所述至少N个纹素值(30-36)的所述位置与包括所述至少N个纹素(30-36)中的至少一个的纹素块(10)的边界相关。像素计算器(600)基于来自值选择器(500)的所述至少N个纹素值来计算解码像素的像素值。

Description

对编码纹理元素块进行操作的解码系统和方法
技术领域
本发明大体上涉及解码,更具体地,涉及可对编码纹理元素块进行操作的解码系统和方法。
背景技术
当试图提高图形处理单元(GPU)的性能时,一种解决方案是应用各种技术来降低存储器带宽消耗。由于针对处理能力的性能增长率远大于针对带宽的性能增长率、以及针对随机访问存储器(RAM)的延迟,带宽降低的重要性也正日益增加。
纹理压缩是降低带宽需求的一种流行方式。通过在存储器中存储压缩形式的纹理,并在总线上传递压缩数据块,实质上减小纹理带宽。
目前,使用最多的纹理压缩系统是针对基于Windows的系统和Xbox的DXTC[1]、以及针对移动手机的ETC[2]。这些系统均将图像、解码纹理划分为4×4纹素的纹理元素(纹素)块,然后将纹素的红、绿、蓝(RGB)数据从(8+8+8)×16=384比特压缩到64比特。因而,向每个纹素块赋予相同数量的比特。这很重要,因为用于解压的光栅化会需要访问纹理的任意部分,并需要能够容易地计算期望纹素块的存储器地址。换言之,非常期望固定速率的编解码(即,每个纹素块占据相同存储空间量的编解码),这是当前纹理压缩算法中的典范。
ETC解码器的开发产生了所谓ETC2解码器[3],它具有处理所谓T模式、H模式和PLANAR模式的额外功能。T模式和H模式分别被设计为处理具有非均匀分布颜色的纹素块、以及被分为两组的颜色。可以很大程度地再用ETC解码器的硬件电路,以包括另外的T模式和H模式。PLANAR模式与ETC和T模式和H模式非常不同,并且被设计为处理具有平滑颜色变换的纹素块。PLANAR模式的复杂硬件电路将意味着,ETC2解码器的复杂度与ETC解码器相比显著增加。
因此,需要提供PLANAR模式的有效实施方式,具体地,这种实施方式可以被提供为使用成本有效电路的硬件实施方式。尤其在PLANAR模式要与ETC解码器和T模式和H模式一起使用以形成ETC2解码器的情况下,特别期望这种成本有效电路
本领域中通常也会出现类似的问题,即,存在对为了降低实施方式复杂度而应用于解码系统的技术的一般性需求。
发明内容
本发明的总体目的是提供对编码纹理块的有效解码。
本发明的特定目的是提供一种可以有效地以硬件实现的解码结构。
通过这里所公开的实施例来实现这些和其他目的。
简言之,本发明的实施例涉及一种用于基于至少一个编码纹素块来产生解码像素的解码系统。所述解码系统包括N个并行解码器,每个并行解码器被配置为对编码纹素块进行解码,以产生一个或多个纹素值。根据该实施例,N个解码器的电路彼此不同,从而N个解码器中的每个解码器具有与其他N-1个解码器的电路不同的独特电路。这使得解码器电路能够具有不同的复杂度级别,因为解码器在所处理的纹素块内的纹素位置方面具有不同能力。
所述解码器系统还包括与N个解码器连接的值选择器,并被配置为选择性地输出N个纹素值。进一步,从N个解码器中的一个或多个解码器输出这N个纹素值。特定纹素值从哪个(哪些)解码器输出取决于具有N个纹素值的N个纹素的片的位置,所述位置与包括N个纹素中的至少一个的纹素块相关。换言之,纹理的N个纹素相关纹素块边界的位置指示通过值选择器选择并被进一步转发到像素计算器的解码器输出。像素计算器被配置为:基于值选择器选择性输出的N个纹素值来计算解码像素值。
值选择器的仔细选择实现了所述解码器的设计,使得N个解码器中的至少一些与其他解码器相比可以具有不太复杂的电路。这可以通过将一些解码器限制为仅能够对纹素块内特定纹素位置的纹素值进行解码和输出来实现。因而,N个解码器不需要具有相同的电路,而是需要在每个电路的硬件结构方面具有不同复杂度级别的不同电路。
本发明的实施例定义了一种用于通过对至少一个编码纹素块进行解码来产生像素的方法。所述方法包括:从N个不同解码器中的至少一个选择性地输出N个纹素值,每个解码器具有独特且与其他N-1个解码器的电路不同的电路。每个解码器还基于输入的编码纹素块来输出至少一个纹素值。基于与N个纹素值相关联的N个纹素的位置来执行从N个解码器对纹素值的选择,以用于计算像素的像素值来解码,N个纹素值的位置与纹素块的边界相关。然后,使用所选的N个纹素值来计算像素值。
本发明的实施例能够通过降低并行至少一些解码器所需的复杂度来有效地实现像素解码结构。从而,与现有技术中的具有N个相同的并行解码器相比,降低了解码结构的总复杂度。
附图说明
可以通过结合附图来参照以下具体描述来最佳地理解本发明及其其他目的和优点,其中:
图1A至1D示出了双线性片相关纹素块边界的不同位置;
图2是包括根据实施例的解码系统的解码设置的示意图;
图3是根据实施例的解码系统的图示;
图4示意性地示出根据实施例的解码纹素块;
图5示出了采用纹素块中纹素特性的平面逼近的概念;
图6是图3中第四解码器的硬件实施方式示例;
图7是图3中第三解码器的硬件实施方式示例;
图8是图3中第二解码器的硬件实施方式示例;
图9是图3中第一解码器的硬件实施方式示例;
图10是七到八比特扩展器的硬件实施方式示例;
图11是箝位器的一种硬件实施方式;
图12是箝位器的另一种硬件实施方式;
图13是图3的值选择器的硬件实施方式示例;以及
图14是示出了根据本发明实施例的解码方法的流程图。
具体实施方式
在全部附图中,相同的参考数字用于表示类似或对应的元件。
实施例大体涉及以产生解码像素值为目的的编码或压缩纹理元素(纹素)块的解码或解压。
解码非常适于与三维(3D)图形一起使用,如,游戏、3D地图和场景、3D消息(例如,动画消息)、屏幕保护、人机接口(MMI)等,但不限于此。因此,实施例也可以用于对其他类型的图像或图形进行解码,如,一维(1D)、二维(2D)或3D图像。
3D图形呈现过程典型包括三个子阶段。简言之,第一阶段(应用阶段),创建多个三角形。在第二阶段(几何阶段),将这些三角形的角变形、投影并点亮。在第三阶段(光栅化阶段),通常表示纹理的图像可以被“粘”在三角形上,增加了所呈现的图像的真实性。第三阶段还使用z缓冲器执行分类。
然而,纹理(尤其是3D图像和图形)的呈现在图形系统所需的存储器带宽和处理能力方面是计算上昂贵的任务。例如,纹理在存储器方面(纹理必须被放置在快速芯片上存储器上)和存储器带宽方面(纹理可以被多次访问以绘出单个像素)都是昂贵的。有时,为了绘出像素,可能需要多个纹理。
为了降低带宽和处理能力需求,典型地采用纹理编码方法或系统。这种编码系统应导致在呈现期间昂贵芯片上存储器的更有效使用和较低存储器带宽,因而导致较低功耗和/或较快呈现。带宽和处理能力需求对于诸如移动单元和电话之类的具有小存储量、小存储带宽和有限能量(即,电池供电)的瘦客户端来说尤其重要。
在本领域,纹理被分为所谓纹素块,每个纹素块包括多个纹素。这种纹素块典型为矩形或方形,如MR×MC纹素大小,其中MR、MC是不同时为1的正整数。优选地,MR=2mR及MC=2mC,其中mR、mC是正整数。在典型的实施方式中MR=MC,优选块实施例可以是4×4纹素。
在本领域,有时采用像素或图像元素来表示纹理的纹理元素。但是在以下描述中,采用纹素来表示纹理的纹理元素,像素用于表示结合光栅化,根据这样的纹素产生的画面元素。
纹素与纹素值相关联,像素与像素值相关联。有利地,纹素和像素值可以是颜色值。颜色值可以以各种颜色格式表示,如红、绿、蓝(RGB)颜色或如亮度和色度。此外,纹素值可以表示纹素的其他特性,如标准值或Z值。在以下描述中,以颜色值作为纹素值的非限制性示例。
典型的光栅化并不以每次单个纹素的方式访问纹理。而是采用小的相邻纹素,如2×2纹素。例如,在双线性过滤期间,读取四个这种相邻纹素,以产生双线性过滤值,即,像素值。在本领域,这种被协同处理以产生像素值的相邻纹素组典型被表示为片。因而,在双线性过滤中使用的2×2纹素组被表示为双线性片。例如,该概念可以被进一步扩展为三线性过滤。三线性过滤使用来自两个不同mipmap的两个双线性片。
处理纹素的片所产生的问题在于,片中的纹素可以跨越多于一个纹素块。这在图1A到1D中示意性示出。图1A示出了在单个纹素块10中找到四个纹素30-36的双线性片20的情况。图1B和1C示出了另一情况,其中双线性片20跨越并排(图1B)出现或上下(图1C)出现的两个像素块10、12、14。图1D中描述了极端情况,其中双线性片20的一个纹素30-36在相应的纹素块10-16中。
解决该问题的传统方式是使用四个相同的解码器,每个解码器对双线性片中的预定纹素进行解码。例如,在图1A的情况下,将表示纹素块10的编码纹素块输入四个解码器。第一解码器输出纹素(1,2)30,纹素(2,2)从第二解码器中获得,第三和第四解码器分别产生双线性片的纹素(1,3)和(2,3)36。假设如下坐标系统,其中原点在纹素块10的左上纹素中。在图1D中,将纹素块10的编码纹素块输入第一解码器,以产生纹素(3,3)10,通过第二解码器对纹素块12的编码纹素块进行处理,以得到纹素(0,3)32。基于纹素块14的编码纹素块,从第三解码器获得纹素(3,0)34,第四解码器从纹素块16的编码纹素块输出纹素(0,0)36。
以这种方式,因而可以在每个时钟周期产生2×2双线性片,而不考虑所遇到的配置的类型(图1A-1D)。高性能光栅化硬件在每个时钟周期生成两个这种双线性片。然而根据现有技术,在这种情况下需要八个相同的解码器。
然而,在并行解码器中协同处理纹素的概念极大地增加了解码系统的复杂度,这针对瘦客户端是个问题。例如,向ETC解码系统添加先前提及的PLANAR模式将会导致由加法器(每个解码器从6个加法器增加到21个加法器[3])定义的复杂度增加。因此,PLANAR使用比ETC多3.5个的加法器,具有四个ETC解码器和四个PLANAR解码器的解码系统的复杂度将会随3.5增加。
这里所公开的实施例通过不使用相同的并行解码器来降低解码系统的复杂度。截然相反,如果解码器被设计为处理片中不同数量的纹素和不同的纹素位置,则不同的解码器电路可以用于解码器。
在一般性实施例中,解码系统包括N个不同的解码器。这种解码系统在图3中示出,N的示例为4。在该一般性实施例中,N是等于或大于2的整数,优选等于4。每个解码器100、200、300、400具有与其他N-1个解码器的电路不同的电路。因此,解码系统1不包括现有技术中的相同解码器,而是包括具有不同的独特电路的不同解码器100、200、300、400。N个解码器100、200、300、400的电路中的不同意味着,解码器之一的电路元件的组合不同于其他解码器中电路元件的组合。因此,解码器100、200、300、400具有不同的实施方式成本和复杂度。
每个解码器100、200、300、400还被配置为对编码纹素块进行解码,以产生至少一个纹素值。解码系统1还包括与N个解码器100、200、300、400连接的值选择器500,并被配置为选择性地输出至少N个纹素值,优选N个纹素值。这至少N个纹素值从N个解码器100、200、300、400中的至少一个输出。因此,值选择器500基于与至少N个纹素值相关联的至少N个纹素的位置,选择应输出哪些(至少N个)纹素值,以及应从哪个(哪些)解码器中输出这至少N个纹素值,其中至少N个纹素值与包括N个纹素中的至少一个的纹素块的边界相关。因此,与纹素块相关的N个纹素的位置(其纹素值应当通过解码系统1产生)确定应从N个解码器100、200、300、400中的哪个解码器或哪些解码器中获取纹素值。解码系统1的像素计算器600与值选择器500连接,并被配置为基于通过值选择器500选择性输出的至少N个纹素值来计算解码像素的解码像素值。
一般性实施例通过将解码器中的一些限制为仅能够处理纹素块内特定纹素位置处的纹素来实现解码器100、200、300、400的复杂度降低。因此,与在解码器上不具有这种限制的现有技术情况相比,可以显著减少这些解码器100、200、300、400的电路。
在优选实施例中,N个解码器100、200、300、400的第一解码器100被配置为:对输入编码纹素块进行解码,以产生N个纹素值。然后,值选择器500被配置为:如果N个纹素值位于纹素块的边界内,则从第一解码器100输出这N个纹素值,并进一步输出到像素计算器500。图1A示出了N=4的这种情况。因此,如果双线性片20的四个纹素30-36全部位于单个纹素块10内,则通过第一解码器100产生全部四个纹素值。这意味着,值选择器500不选择来自其他解码器200、300、400的输出,像素计算器600也不使用来自其他解码器200、300、400的输出来计算解码像素值。
如果N个纹素中的一半30、34(30,32)位于纹素块10的边界内,N个纹素中的另一半32、36(34,36)位于相邻像素块12(14)的边界内(见图1B(图1C)),则值选择器500优选被配置为:从第一解码器100选择性地输出N个纹素值中的一半,从第二解码器200输出N个纹素值中的另一半。
在N=4的优选实施例中,第一解码器100具有第一电路,被配置为对输入编码纹素块进行解码,以产生四个纹素值。第二解码器200具有第二电路,并基于输入编码纹素块来输出两个纹素值。第三解码器300和第四解码器400分别包括第三电路和第四电路。给定输入编码纹素块,第三解码器300和第四解码器400各输出单个纹素值。
在图1D所示的情况下,全部优选四个解码器100、200、300、400输出通过值选择器500选择的纹素值。因此,然后值选择器500被配置为:从第一解码器100选择性地输出第一纹素值,从第二解码器200选择性地输出第二纹素值,从第三解码器300选择性地输出第三纹素值,以及最后从第四解码器400选择性地输出第四纹素值。在这种情况下,四个纹素30-36中的每一个位于各个纹素块10-16中。
图2示意性地示出了具有根据实施例的解码系统1的实施方式的结构。该结构包括具有包括编码纹素块40的存储器位置的存储器5,典型为RAM。图形处理单元(GPU)4通过存储器总线与存储器5连接。GPU 4包括用于标识纹素块的纹素块标识器2,应从存储器5中获取纹素块的编码块40。纹素块标识器2基本上计算编码纹素块40在存储器5中的地址,并通过总线向存储器5发送存储器访问请求。从存储器5中读取在分配给或专用于纹素块的存储器位置上出现的编码纹素块40,并通过总线传递给解码系统1或GPU 4的高速缓存器3。
解码系统1包括或连接至少一个高速缓存器3,该高速缓存器3具有用于存储解码纹素块或解码纹素值的高速缓存位置或区域。在可选实施例中,GPU 4可以包括多个高速缓存器3,如纹理高速缓存器和颜色缓冲高速缓存器。GPU 4典型地与在其上显示解码图像的显示器屏幕6连接。
例如,可以在图形卡、视频卡或主板的一个或多个芯片中提供GPU4及其所包括的单元1、2、3。可以在包括例如计算机、游戏控制台、如移动电话或媒体处理设备之类的便携式设备的任何图像或纹理处理单元或设备中实现图2的实施方式的结构。
以下,将结合不同的实施方式示例,更加详细地描述解码系统的实施例。这些示例还被设计为:适于处理根据[3],[4]中描述的PLANAR编码的纹素块。简言之,PLANAR被设计为以平滑改变的色度来处理纹素块。PLANAR利用平面逼近来逼近纹素块中的颜色分量(红、绿、蓝)。为了指定平面,指定纹素块中三个位置中的颜色便足够。图5以与纹素块10相关的特定位置处的三个红色分量RO、RH和RV示出了该概念。利用三个红色分量的定位,使用下式,可以计算在纹素块10中任何地方的红色分量。
R ( x , y ) = round ( R 0 + 1 4 ( R H - R 0 ) x + 1 4 ( R V - R 0 ) y )
以与红色分量相同的方式计算蓝色和绿色分量。因此,图4所示的编码纹素块40包括每个颜色分量三个颜色码字41-49,即,XO,XH和Xv,其中X针对红色分量为R,针对绿色分量为G,以及针对蓝色分量为B。在优选实施方式中,优选在红色码字41-43和蓝色码字47-49中的每一个码字上花费六个比特,以及针对绿色码字44-46中的每一个花费七个比特,因为人眼对绿色分量比对红色和蓝色分量更加敏感。编码纹素块的总大小将会是57比特,恰好适合ETC2[3]的57比特模式。如果单独使用PLANAR,且并不用作ETC的特定模式,则有利地,编码纹素块40针对颜色码字41-47中除一个颜色码字(如八个比特的G0)之外的全部颜色码字花费七个比特。则,总大小是64比特。
在PLANAR实施方式中,图3的第一解码器100可以对任何2×2双线性片进行解码,该双线性片在纹素块内具有全部四个纹素,参见图1A。第二解码器200不太高级,产生针对纹素块的第一行或第一列的纹素的纹素值,参见图1B中的纹素32、36和图1C中的纹素34、36。第二解码器200因而优选一次输出两个纹素值,2×1片或1×2片。第三解码器300对编码纹素块进行解码,以产生单个纹素值,优选为坐标(3,0)处的右上纹素值,参见图1D中的纹素34。第四解码器400还优选示出原点纹素(0,0)的单个纹素值,参见图1D中的纹素36。
这意味着,如果如图1A所示,双线性片20的全部纹素30-36在纹素块10的边界内,则通过值选择器500选择来自第一解码器100的输出。如果如图1B和1C中所示,两个纹素30、34(30,32)在一个纹素块10中,以及两个32、36(34,36)在相邻纹素块12(14)中,则从第一解码器100获得左两个纹素30、34或上两个纹素30、32的纹素值,以及两个右纹素32、36或下纹素34、36的纹素值来自第二解码器200。最后,如果如图1D所示,全部四个纹素30-36在不同的纹素块10-16中,则值选择器500从第一解码器100选择左上纹素30的纹素值、从第二解码器200选择右上纹素32的纹素值、从第三解码器300选择右下纹素34的纹素值、以及从第四解码器400选择左下纹素36的纹素值。这样,可以在单个时钟周期中获得双线性片20的全部四个纹素30-36,其优点在于,可以使用非常少的硬件实现第二至第四解码器200、300、400。
根据等式 X ( x , y ) = round ( X 0 + 1 4 ( X H - X 0 ) x + 1 4 ( X V - X 0 ) y ) , 原点(0,0)中的纹素对于计算 X ( 0,0 ) = round ( X 0 + 1 4 ( X H - X 0 ) 0 + 1 4 ( X V - X 0 ) 0 ) = X 0 来说尤其简单。如上所述,第四解码器优选被配置为仅对原点处的纹素进行解码。这意味着,第四解码器的电路可以非常简单。图6示出了针对颜色分量之一的第四解码器400的电路。如图6所示,独特的结构是可选但优选的扩展器480,它被配置为将输入第一颜色码字XO扩展为定义的比特长度,优选为8个比特。如在此结合图10进一步公开的,这种扩展器480的实现可以没有任何硬件结构、而仅使用线,各个颜色分量可以存储在线中到达第四解码器400输出。
因此,可以在没有任何门的情况下实现第四解码器400。
根据以上的讨论,第三解码器300优选处理位置(3,0)处的纹素: X ( 3,0 ) = round ( X 0 + 1 4 ( X H - X 0 ) × 3 + 1 4 ( X V - X 0 ) × 0 ) . 最后一项并不起作用,可以删除。为了删除round()运算器,可以在(1/4)单元中计算结构,加上2并向右移位2次,由>>2指示:X(3,0)=((XO<<2)+(XH-XO)×3+2)>>2。
可以通过向一数字加上其自身的移位版本来代替与3相乘:3t=2t+t=(t<<1)+t其中t=XH-XO。因而该等式被写作X(3,0)=((XO<<2)+(t<<1)+t+2)>>2。
在每个加法器中,可以通过设置进位=1而非0来加1。因此,可以通过这样改变两个加法器来替换加上2。在下式中,+!用于指示进位被设置为1的加法器:X(3,0)=((XO<<2)+!(t<<1)+!t)>>2。不同地表示为 X ( 3,0 ) = round ( X 0 + 1 4 ( X H - X 0 ) × 3 + 1 4 ( X V - X 0 ) × 0 ) = round ( 1 4 X 0 + 3 4 X H ) . 与以上类似,
该等式可以被写作X(3,0)=(XO+!((XH<<1)+!XH))>>2。与以上表达相比,该表达更易于在硬件中实现。
可以通过不同地连接线来实现移位运算。计算X(3,0)仅需的剩余运算是三个加法。
图7示出了第三解码器300的电路的实施例。第三解码器300包括左移位运算器310,用于将第二颜色码字XH向左移位一比特位置,以获得左移位的比特序列。左移位运算器310与进位被设置为1的第一加法器320。该第一加法器320将左移位比特序列与第二颜色码字XH相加。将所产生的输出与第二加法器322中的第一颜色码字XO相加,第二加法器322的进位被设置为1,并与第一加法器320连接。最后,第二加法器322与右移位运算器330连接,右移位运算器330被配置为将与第二加法器322的输出相对应的比特序列向右移位,以形成第三解码器300的最终输出,即纹素值X(3,0)。
在可选但优选的实施例中,第一颜色码字XO和第二颜色码字XH优选为第一扩展的,或者从六个比特或七个比特扩展到八个比特。结果,第一扩展器380优选被设置为与第二加法器322连接,并被配置为将第一颜色码字XO扩展到预定义比特大小,优选为8个比特。第二扩展器382优选被设置为与左移位运算器310和第一加法器320连接,并被配置为将第二颜色码字XH扩展为预定义比特大小,即,优选为8个比特。
可以通过简单的连线来实现扩展器,从而将l比特序列中的k个最高有效比特(k<l)复制到k个最低有效比特,以得到l+k比特序列。图10是适于绿色颜色分量的第一和第二扩展器380、382的实施方式的示意图。如图10所示,输入7比特序列中的最高有效比特被复制到最低有效比特位置,以得到输出8比特序列。针对红色和蓝色分量,两个最高有效比特被复制到两个最低有效比特位置,以从6比特序列变为8比特序列。
利用编码纹素块先前提及的比特大小(即,针对红色和蓝色分量为每个码字六个比特,以及针对绿色分量为每个码字七个比特),并使用两个扩展器,如果每个加法器每比特需要4.4个门,则可以利用总共250.8个门实现第三解码器300的硬件电路:
R/G/B:  1个9比特加法器→9×4.4=39.6个门
         1个10比特加法器→10×4.4=44个门
总共:   3×83.6=250.8个门
如第一和第二解码器的优选实施方式,针对第三解码器300不需要箝位器,这将在此进一步讨论。
图8示出了第二解码器200的硬件实施方式的实施例。第二解码器200包括:第一多路复用器250,被配置为输出第二颜色码字XH和第三颜色码字XV之一。颜色码字的选择取决于四个纹素中的一半是位于纹素块边界内的第一行还是第一列,其编码纹素块被输入第二解码器200。如果两个像素位于第一行,则从第一多路复用器250输出第二颜色码字XH,否则输出第三码字XV。非运算器240被配置为对第一颜色码字XO求逻辑非。第一加法器220与第一多路复用器250和非运算器240连接,并加上来自这些单元240、250的输出以形成差XH-XO或XV-XO。在可选实施方式中,用非运算器替换非运算器240,第一加法器220是进位被设置为1的加法器。非运算器和进位被设置为1的加法器的使用在硬件复杂度方面通常优于非运算器与常规加法器的使用。
左移位运算器210与第一加法器220连接,并被配置为将与加法器输出相对应的比特序列向左移位一个比特位置。
第二多路复用器252被配置为输出纹素的行坐标和列坐标之一。该纹素是在纹素块中出现的两个纹素中的第一纹素,其编码纹素块被输入第二解码器200。在图中,SX表示该纹素的列坐标,以及SY表示该纹素的行坐标。如果两个纹素位于第一行,则从第二多路复用器252输出列坐标SX,否则输出行坐标SY
第三多路复用器254与左移位运算器210和第一加法器220连接。第三多路复用器254在2×(XH/V-XO)=2d(即,左移位运算器210的输出)和(XH/V-XO)=d(即,第一加法器220的输出)之间进行选择。基于从第二多路复用器252输出的行或列坐标的最高有效比特值来做出该选择。
或运算器360与第二多路复用器352连接,并被配置为针对来自第二多路复用器352的行或列坐标的最高有效比特和最低有效比特执行“或”运算。或运算器360和第三多路复用器254进一步与与运算器270连接。与运算器270逐比特地执行多路复用器的输出与来自或运算器360的单个比特的与运算。其结果为,如果或输出为1二进制,则保存多路复用器输出,如果或输出为0二进制,则来自与运算器270的输出为0。这里,来自与运算器270的输出为2d、d或0。
第二加法器222与与运算器270连接,并被配置为将与运算器270的输出与以10二进制作为第一颜色码字XO之后的最低两个有效比特的比特序列相加。该比特序列对应于f=4×XO+2,这可以通过将第一颜色码字XO的比特序列向左移位两个比特位置、并插入2=10二进制作为最后两个比特来实现,否则在移位之后为0。因此,来自第二加法器222的输出是2d+f、d+f或f。
第三加法器222与第一加法器220和第二加法器222连接,并被配置为将来自这些加法器220、222的输出相加。因而,该第三加法器224给出了结果3d+f、2d+f或d+f。第一右移位运算器230与第三加法器224连接,并被配置为将来自第三加法器224的比特序列右移位两个比特位置,以得到双线性片中第一列或第一行中两个纹素的下或右纹素的纹素值。第二右移位运算器232与第二加法器222连接,并将加法器输出向右移位两个比特位置,以形成第一列或第一行中两个左纹素或两个上纹素的纹素值。
与图7中的第三解码器相类似,优选将输入颜色码字XO、XH、XV从六个比特或七个比特扩展到八个比特。因而,可选但优选地,将扩展器280、282、284设置在输入端,从而将第一扩展器280配置为:在作为最低有效比特加上10二进制以形成10比特序列之前,扩展第一颜色码字XO。第一扩展器280也与非运算器240连接。第二扩展器282和第三扩展器284与第一多路复用器250连接,并分别扩展第二颜色码字XH和第三颜色码字XV
在可选实施方式中,优选将右移位运算器230、232与相应的箝位器或箝位运算器290、292连接。这些箝位器290、292被配置为将来自右移位运算器230、232的输出箝位于最小纹素值与最大纹素值之间。因此,箝位器290、292确保来自第二解码器200的输出比特序列在所允许的值间隔内。如果来自第二解码器200的输出序列应具有8比特,则这种所允许的值间隔的示例是从0到255。
图11示出了在例如图8的第二解码器和图9的第一解码器中采用的箝位器190至196、290、292的硬件实现的示例。该箝位器实施例被设计为将可能表示在[-1024,1023]区间中的值的11比特序列箝位为表示在[0,255]区间中的值的8比特序列。箝位器190至196、290、292包括8个或运算器701至708,它们各自接收输入比特序列的8个最低有效位之一。将或运算器701-708的另一相应输入连接到另一或运算器700的输出。该或运算器700接收输入比特序列的两个最高有效位。将八个或运算器701-708的输出各自连接到相应的与运算器711至718。与运算器711至718的另一相应输入接收输入比特序列的符号比特。
在图12中示出了箝位器190至196、290、292的备选实现实施例。在该实施例中,用8个或非运算器721至724来替换8个或运算器。对应地,还用8个或非运算器731至738来替换图11的8个与运算器。此外,在8个或非运算器731至738和用于输入比特序列的符号比特的输入之间连接非运算器740。
用于实现图12所示的硬件实施例的成本是:
16个或非门→16×1=16个门
1个或门→1×1.5=1.5个门
1个非门→1×0.5=0.5个门
总共:16+1.5+0.5=18个门
图8中第二解码器200的实现示例的门的数目(除了箝位器之外)是:
R/G/B:1个8-比特加法器→8×4.4=35.2个门
1个11-比特加法器→11×4.4=48.4个门
1个12-比特加法器→12×4.4=52.8个门
1个8-比特多路复用器→8×2.2=17.6个门
1个10-比特多路复用器→10×2.2=22个门
1个2-比特多路复用器→2×2.2=4.4个门
1个1-比特或门→1×1.5=1.5个门
1个10-比特与门→10×1.5=15个门
1个8-比特非门→8×0.5=4个门
总共:3×200.9=602.7个门
最后,图9是第一解码器100的硬件实现的示例。第一解码器100包括被配置为将第一颜色码字XO求逻辑非的非运算器140。第一加法器120连接到非运算器140,并将逻辑非第一颜色码字与第二颜色码字XH相加以获得g=XH-XO。第二加法器122也连接到非运算器140,并将逻辑非第一颜色码字与第三颜色码字XV相加以获得h=XV-XO。在备选实现中,用非运算器(NOT operator)来替换非运算器(negationoperator)140。然后,第一加法器120和第二加法器122的进位都设置为1。
第一左移位运算器110连接到第一加法器120,并将加法器输出向左移位一个比特位置,获得与2g相对应的左移比特序列。第二左移位运算器112连接到第二加法器122,并将加法器输出向左移位一个比特位置,获得2h的比特序列。第一多路复用器150连接到第一左移位运算器110和第一加法器120,且被配置为基于列坐标SX的最高有效位在g和2g之间选择。第二多路复用器152对应连接到第二左移位运算器112和第二加法器122,且基于行坐标SY的最高有效位在h和2h之间选择。列坐标和行坐标是在2×2双线性片的左上纹素的坐标,即图1A至1D中的纹素30。
第一或运算器160对列坐标SX的最高有效位和最低有效位执行或运算。第二或运算器162对行坐标SY的最高有效位和最低有效位执行或运算。第一或运算器160和第一多路复用器150连接到第一与运算器170,第一与运算器170对多路复用器输出以及来自第一或运算器160的单一比特执行逐比特与运算。因此来自第一与运算器170的输出是2g、g或0。第二与运算器172对多路复用器输出以及来自第二或运算器162的比特执行逐比特与运算,以获得输出2h、h或0。
第三加法器124连接到第一与运算器124,并将加法器的输出与以10二进制作为所述第一颜色码字之后的两个最低有效比特的比特序列相加。该比特序列对应于(如之前已经描述的)f=4XO+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,并被配置为将加法器输出的比特序列向右移位两个比特位置,以获得图1A中纹素30的纹素值。
第七加法器123连接到第四加法器126和第二与运算器172,并被配置为将来自这些单元126、172的输出相加。第二右移位运算器132连接到第七加法器123,并被配置为将加法器输出的比特序列向右移位两个比特位置,以获得图1A中纹素32的纹素值。
第八加法器125连接到第三加法器124和第五加法器128,并被配置为将来自这些加法器124、128的输出相加。第三右移位运算器134连接到第八加法器125,并被配置为将加法器输出的比特序列向右移位两个比特位置,以获得图1A中纹素34的纹素值。
第九加法器127连接到第四加法器126和第五加法器128,并被配置为将来自这些加法器126、128的输出相加。第四右移位运算器136连接到第四加法器127,并被配置为将加法器输出的比特序列向右移位两个比特位置,以获得图1A中纹素36的纹素值。
在可选的(但优选的)实现中,将输入颜色码字XO、XH、XV首先从6或7个比特扩展或扩张为8个比特。因此,第一比特扩展器180优选地被设置为连接到否定运算器140,且还被配置为:在作为最低有效位加上10二进制以获得10比特序列之前,将第一颜色码字XO扩展或扩充为预定义的比特序列(优选地,8个比特)。第二扩展器182对应地被设置为连接到第一加法器120,并被配置为扩展第二颜色码字XH。最后,第三扩展器184连接到第二加法器122,并被配置为扩展第三颜色码字XV
在可选实现中,每个右移位运算器130至136优选地连接到相应的箝位器或箝位运算器190至196。这些箝位器190至196被配置为将来自右移位运算器130至136的输出箝位为在最小纹素值和最大纹素值之间。因此,箝位器190至196确保来自第一解码器100的输出比特序列在允许的值区间中。如果来自第一解码器100的输出序列应当具有8个比特,则这种允许的值区间的示例是从0至255。
不包括可选箝位器190至196在内的图8的实现示例的门的数目是:
R/G/B:2个8-比特加法器→16×4.4=70.4个门
1个10-比特加法器→10×4.4=44个门
1个11-比特加法器→11×4.4=48.4个门
5个12-比特加法器→60×4.4=264个门
2个10-比特多路复用器→20×2.2=44个门
2个1-比特或门→2×1.5=3个门
2个10-比特与门→20×1.5=30个门
1个8-比特非门→8×0.5=4个门
总共:3×507.8=1523.4个门
因此,除了箝位器之外,可以仅使用0+250.8+602.7+1523.4=2376.9个门来实现解码系统的4个解码器。
如在现有技术[3]中建议的具有4个解码器的传统实现将看起来非常像图9中的第一解码器。唯一的区别将是在输出中将仅需要1个纹素,而不是如图中所示的4个。因此,4个加法器121、123、125、127将由加法器之后的2个四路多路复用器来替代。这样,需要针对每个颜色通道的6个加法器、4个多路复用器以及2个与运算器。这意味着在4个解码器和3种不同颜色分量的情况下,根据现有技术的硬件成本或复杂度将是:
6×3×4=72个加法器
4×3×4=48个多路复用器
2×3×4=24个与运算器
将其与图6至8中所公开的实现实施例进行比较,本公开的实现实施例需要
(9+3+2+0)×3=42个加法器
(2+3+0+0)×3=15个多路复用器
(2+1+0+0)×3=9个与运算器
因此,将加法器的数目从72个减少到42个,即减少了42%。相对而言,将多路复用器从48个降低到15个,即降低69%。
图13示出了值选择器500的硬件实现的实施例。在该实施例中,值选择器500包括4个多路复用器510,每个多路复用器510输出双线性片的纹素30至36的纹素值。第一多路复用器510连接到第一解码器100的4个输出,并选择4个比特序列之一作为双线性片中第一纹素30的纹素值。第二多路复用器520连接到第一解码器100的第二和第四输出以及第二解码器200的2个输出。该第二多路复用器520输出双线性片中第二纹素32的纹素值。第三多路复用器530连接到第一解码器100的第三和第四输出、第二解码器200的第一输出以及第三解码器300的单一输出。第三多路复用器530输出双线性片中第三纹素34的纹素值。最后,第四多路复用器540连接到第一解码器100的第四输出、第二解码器200的第二输出、以及第四解码器400的单一输出。该第四多路复用器540选择并输出双线性片中第四纹素36的纹素值。
双线性片相对于纹素块边界的位置指定了从多路复用器510至540中输出哪个(哪些)比特序列。从而,在图1A所示的情况中,通过多路复用器510至540来选择来自第一解码器100的4个输出的比特序列。更具体地,第一多路复用器510输出来自第一解码器100的第一输出的比特序列,第二多路复用器520输出来自第二输出的比特序列,且第三多路复用器530和第四多路复用器540分别输出来自第三解码器输出和第四解码器输出的比特序列。如图1B所示的双线性片暗示了第一多路复用器510选择第一解码器100的第二输出的比特序列。第二多路复用器520选择第二解码器200的第一输出的比特序列。第三解码器300选择来自第一解码器100的第四输出的比特序列且第四解码器400选择来自第二解码器200的第二输出的比特序列。然后可以用类似方式将该概念应用于图1C和1D所示的2种其他片位置。
实现如图13所示的值选择器500的实施例的成本(门数目)是:
3个8-比特4-路多路复用器→24×6.6=158.4个门
1个8-比特3-路多路复用器→8×4.4=35.2个门
总共:158.4+35.2=193.6个门
包括箝位器在内的解码器和值选择器的总成本是2376.9+6×18+193.6=2678.5个门。
如果省略如图8和9中所示的第一和第二解码器的箝位器,并取而代之地用4个箝位器来替换,每个箝位器连接到值选择器500的多路复用器510至540之一,则由于需要3个11比特4路多路复用器和1个11比特3路多路复用器而导致成本为266.2个门,而不是193.6个门,则实现值选择器500的成本将增加。
可以根据本领域中众所周知的技术以硬件方式实现解码系统的像素计算器。更具体地,假定在双线性滤波的情况下,用A、B、C和D来表示来自值选择器的4个纹素值。则,像素计算器如下计算像素值:
像素值=A(1-dx)(1-dy)+Bdx(1-dy)+C(1-dx)dy+Ddxdy
其中,dx是在纹素A的中点和像素的采样点之间在x轴上的距离,且dy是在纹素A的中点和该像素的采样点之间在y轴上的距离。
针对红、绿和蓝颜色分量,并行执行上述公式。则可以基于该公式来定义硬件实现。例如,假定可以用3个二进制小数来表达采样点的位置,例如可以假定dx位置是如下值[0.000,0.125,0.250,0.375,0.500,0.625,0.750,0.875]。在该情况下,可以将位置定义为8的倍数,使得可以用[0,1,2,3,4,5,6,7]来表示这些值。则可以将上述公式重写为:
像素值=(A(8-DX)(8-DY)+BDX(8-DY)+C(8-DX)DY+DDXDY)>>6其中,DX=8×dx且DY=8×dy,且DX、DY是在0和7之间的整数。
调查第二项8DX(8-DY),本领域技术人员意识到DX和(8-DY)都是在0和8之间的整数。为了表示8,需要4个比特。可以使用处理每个输入中的4个比特并输出8比特序列的乘法运算器。然而,乘法运算器可以输出的最大数目是7×8=56,使得仅需要来自输出的6个最低有效位。
应当将来自乘法运算器的输出乘以纹素值B,优选地,在0和255之间的数。该乘法可以由乘法运算器来处理,该乘法运算器获取2个8比特输入,并输出16比特的比特序列。然而,由于最大可能数目是56×255<214,因此,仅需要来自乘法运算器的14个最低有效位。
然后,针对公式中的其他项来执行对应实现,且将来自相应最终乘法运算器的输出相加,并向右移位6次,以获得最终的8比特像素值。
应当将上述实现示例仅视为可以如何用硬件方式来实现解码系统的单元的优选(但是非限制性)的实施例。其各种变型是可能的,且在本发明的范围中。然而重要的特征是包括解码器的电路在增加复杂度的方面是不同,以及每个解码器被配置为处理并输出在片中预定位置处的一个或多个纹素的纹素值。
图14是示出了通过对至少一个编码纹素块进行解码来产生解码像素的方法的流程图。该方法开始于步骤S1,其中,确定至少N个纹素值(即片)相对于纹素块边界的位置。根据所确定的相对片位置,将相应的编码纹素块(或者相同的编码纹素块,或者不同的编码纹素块)输入N个解码器,以获得解码的纹素值。下一个步骤S2选择性地从N个解码器中的至少一个解码器输出至少N个纹素值。基于在步骤S1中获得的相对片位置,确定在步骤S2中要选择的特定至少N个纹素值以及从哪个或哪些解码器取回这些纹素值。此外,N个解码器中的每个解码器的相应电路均不同于其他N-1个解码器的电路。最终步骤S3基于在步骤S2中所选的至少N个纹素值,计算解码的像素值,优选地作为这至少N个纹素值的线性组合。然后,该方法结束,或为了产生新的解码像素的目的,在步骤S1中重新开始。
如果N个纹素位于纹素块的边界内,则步骤S2优选地涉及选择性地输出来自N个解码器中的第一解码器的所有N个纹素值。然而,如果N个纹素中的一半位于一个纹素块内,且N个纹素中的另一半位于相邻纹素块内,则优选地从第一解码器的输出中选择N个纹素值中的一半,且从第二解码器选择N个纹素值中的另一半。
在优选实施例中,N=4。如果4个纹素的位置是:在不同的纹素块中发现每个纹素,则步骤S2优选地涉及从4个解码器中的每个解码器选择1个相应纹素值。
应当将上述实施例理解为本发明的一些说明性示例。本领域技术人员将理解,可以在不脱离本发明的范围的情况下,进行各种修改、组合和改变。具体地,在技术可能的情况下,可以在其他配置下将不同实施例的不同部分解决方案加以结合。然而,本发明的范围由所附权利要求来限定。
参考文献
[1]美国专利US 5,956,431;
[2]
Figure BDA00001680577500211
“iPACKMAN:High-Quality,Low-Complexity Texture Compression for Mobile Phones”,Graphics Hardware,2005,ACM Press,pp.63-70;
[3]
Figure BDA00001680577500213
与Pettersson,“ETC2:Texture Compressionusing Invalid Combinations”,Graphics Hardware,2007,ACMPress,pp.49-54;
[4]国际申请WO 2006/126949。

Claims (17)

1.一种用于基于至少一个编码纹素块(40)来产生解码像素的解码系统(1),包括:
N个不同的解码器(100、200、300、400),每个解码器具有与其他N-1个解码器的电路不同的电路,且被配置为对编码纹素块(40)进行解码,以产生至少一个相应的纹素值;
与所述N个解码器(100、200、300、400)连接的值选择器(500),被配置为:基于与至少N个纹素值相关联的至少N个纹素(30-36)的位置,从所述N个解码器(100、200、300、400)中的至少一个选择性地输出所述至少N个纹素值,所述至少N个纹素的所述位置与包括所述至少N个纹素(30-36)中的至少一个的纹素块(10)的边界相关;以及
像素计算器(600),被配置为:基于所述值选择器(500)选择性输出的所述至少N个纹素值来计算所述解码像素的解码像素值。
2.根据权利要求1所述的解码系统,其中所述值选择器(500)被配置为:如果与所述N个纹素值相关联的N个纹素(30-36)位于纹素块(10)的所述边界内,则从所述N个解码器(100、200、300、400)中的第一解码器(100)选择性地输出N个纹素值。
3.根据权利要求1或2所述的解码系统,其中所述值选择器(500)被配置为:如果与所述N个纹素值相关联的N个纹素(30-36)中的一半位于所述纹素块(10)的所述边界内,以及所述N个纹素(30-36)的一半位于相邻纹素块(12、14)的边界内,则从所述N个解码器(100、200、300、400)中的第一解码器(100)选择性地输出所述N个纹素值中的一半,并从所述N个解码器(100、200、300、400)中的第二解码器(200)选择性地输出所述N个纹素值中的另一半。
4.根据权利要求1至3之一所述的解码系统,其中N等于4,以及所述值选择器(500)被配置为:如果所述4个纹素(30-36)之一位于所述纹素块(10)的所述边界内,以及其他3个纹素中的每一个位于相应的相邻纹素块(12、14、16)的边界内,则从所述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.根据权利要求1到4之一所述的解码系统,其中N等于4,以及
所述4个解码器(100、200、300、400)中的第一解码器(100)具有第一电路,并被配置为对编码纹素块(40)进行解码以产生四个纹素值;
所述4个解码器(100、200、300、400)中的第二解码器(200)具有第二电路,并被配置为对编码纹素块(40)进行解码以产生两个纹素值;
所述4个解码器(100、200、300、400)中的第三解码器(300)具有第三电路,并被配置为对编码纹素块(40)进行解码以产生一个纹素值;以及
所述4个解码器(100、200、300、400)中的第四解码器(400)具有第四电路,并被配置为对编码纹素块(40)进行解码以产生一个纹素值。
6.根据权利要求1到5之一所述的解码系统,其中所述编码纹素块(40)包括第一颜色码字(41、44、47)、第二颜色码字(42、45、48)、以及第三颜色码字(43、46、49)。
7.根据权利要求5或6所述的解码系统,其中所述第四解码器(400)包括至少一条线,用于输出所述第一颜色码字(41、44、47)。
8.根据权利要求6或7所述的解码系统,其中所述第三解码器(300)包括:
左移位运算器(310),被配置为将与所述第二颜色码字(42、45、48)相对应的比特序列向左移位一个比特位置,以形成左移位比特序列;
进位被设置为1的第一加法器(320),与所述左移位运算器(310)连接,并被配置为将所述第二颜色码字(42、45、48)和所述左移位比特序列相加;
进位被设置为1的第二加法器(322),与所述第一加法器(320)连接,并被配置为将所述第一加法器(320)的输出与所述第一颜色码字(41、44、47)相加;以及
与所述第二加法器(322)连接的右移位运算器(330),被配置为将与所述第二加法器(322)的输出相对应的比特序列向右移位两个比特位置,以形成右移位比特序列。
9.根据权利要求6到8之一所述的解码系统,其中所述第二解码器(200)包括:
第一多路复用器(250),被配置为:基于四个纹素(30-36)中的一半是位于所述纹素块(10)的所述边界内的一行还是一列中,输出所述第二颜色码字(42、45、48)和所述第三颜色码字(43、46、49)之一;
非运算器(240),被配置为:对所述第一颜色码字(41、44、47)求逻辑非;
与所述第一多路复用器(250)和所述非运算器(240)连接的第一加法器(220),被配置为将所述第一多路复用器(250)的输出与所述逻辑非第一颜色码字相加;
与所述第一加法器(220)连接的左移位运算器(210),被配置为:将与所述第一加法器(220)的输出相对应的比特序列向左移位一个比特位置,以形成左移位比特序列;
第二多路复用器(252),被配置为:基于四个纹素(30-36)中的所述一半是位于所述纹素块(10)的所述边界内的一行还是一列中,输出纹素(32、24)的行坐标和列坐标之一;
与所述左移位运算器(210)和所述第一加法器(220)连接的第三多路复用器(254),被配置为:基于所述第二多路复用器(252)的输出的最高有效比特,输出所述第一加法器(220)的输出和所述左移位比特序列之一;
与所述第二多路复用器(252)连接的或运算器(260),被配置为:接收所述第二多路复用器(252)的所述输出的所述最高有效比特和所述第二多路复用器的所述输出的最低有效比特;
与所述第三多路复用器(254)和所述或运算器(260)连接的与运算器(270),被配置为:接收所述第三多路复用器(254)的输出和所述或运算器(260)的输出;
与所述与运算器(270)连接的第二加法器(222),被配置为将所述与运算器(270)的输出与以10二进制作为所述第一颜色码字(41、44、47)之后的两个最低有效比特的比特序列相加;
与所述第一加法器(220)和所述第二加法器(222)连接的第三加法器(224),被配置为:将所述第一加法器(220)的所述输出与所述第二加法器(222)的输出相加;
与所述第三加法器(224)连接的第一右移位运算器(230),被配置为:将与所述第三加法器(224)的输出相对应的比特序列向右移位两个比特位置,以形成第一右移位序列;
与所述第二加法器(222)连接的第二右移位运算器(232),被配置为:将与所述第二加法器(222)的所述输出相对应的比特序列向右移位两个比特位置,以形成第二右移位序列。
10.根据权利要求6到8之一所述的解码系统,其中所述第二解码器(200)包括:
第一多路复用器(250),被配置为:基于四个纹素(30-36)中的一半是位于所述纹素块(10)的所述边界内的一行还是一列中,输出所述第二颜色码字(42、45、48)和所述第三颜色码字(43、46、49)之一;
非运算器,被配置为:对所述第一颜色码字(41、44、47)求逻辑非;
与所述第一多路复用器(250)和所述非运算器连接的、进位被设置为1的第一加法器(220),被配置为将所述第一多路复用器(250)的输出与所述逻辑非第一颜色码字相加;
与所述第一加法器(220)连接的左移位运算器(210),被配置为:将与所述第一加法器(220)的输出相对应的比特序列向左移位一个比特位置,以形成左移位比特序列;
第二多路复用器(252),被配置为:基于四个纹素(30-36)中的所述一半是位于所述纹素块(10)的所述边界内的一行还是一列中,输出纹素(32、24)的行坐标和列坐标之一;
与所述左移位运算器(210)和所述第一加法器(220)连接的第三多路复用器(254),被配置为:基于所述第二多路复用器(252)的输出的最高有效比特,输出所述第一加法器(220)的所述输出和所述左移位比特序列之一;
与所述第二多路复用器(252)连接的或运算器(260),被配置为:接收所述第二多路复用器(252)的所述输出的所述最高有效比特和所述第二多路复用器的所述输出的最低有效比特;
与所述第三多路复用器(254)和所述或运算器(260)连接的与运算器(270),被配置为:接收所述第三多路复用器(254)的输出和所述或运算器(260)的输出;
与所述与运算器(270)连接的第二加法器(222),被配置为将所述与运算器(270)的输出与以10二进制作为所述第一颜色码字(41、44、47)之后的两个最低有效比特的比特序列相加;
与所述第一加法器(220)和所述第二加法器(222)连接的第三加法器(224),被配置为:将所述第一加法器(220)的所述输出与所述第二加法器(222)的输出相加;
与所述第三加法器(224)连接的第一右移位运算器(230),被配置为:将与所述第三加法器(224)的输出相对应的比特序列向右移位两个比特位置,以形成第一右移位序列;
与所述第二加法器(222)连接的第二右移位运算器(232),被配置为:将与所述第二加法器(222)的所述输出相对应的比特序列向右移位两个比特位置,以形成第二右移位序列。
11.根据权利要求6到10之一所述的解码系统,其中所述第一解码器(100)包括:
非运算器(140),被配置为:对所述第一颜色码字(41、44、47)求逻辑非;
与所述非运算器(140)连接的第一加法器(120),被配置为将所述第二颜色码字(42、45、48)与所述逻辑非第一颜色码字相加;
与所述非运算器(140)连接的第二加法器(122),被配置为将所述第三颜色码字(43、46、49)与所述逻辑非第一颜色码字相加;
与所述第一加法器(120)连接的第一左移位运算器(110),被配置为:将与所述第一加法器(120)的输出相对应的比特序列向左移位一个比特位置,以形成第一左移位比特序列;
与所述第二加法器(122)连接的第二左移位运算器(112),被配置为:将与所述第二加法器(122)的输出相对应的比特序列向左移位一个比特位置,以形成第二左移位比特序列;
与所述第一加法器(120)和所述第一左移位运算器(110)连接的第一多路复用器(150),被配置为:基于纹素(30)的列坐标的最高有效比特,输出所述第一加法器(120)的所述输出和所述第一左移位比特序列之一;
与所述第二加法器(122)和所述第二左移位运算器(112)连接的第二多路复用器(152),被配置为:基于所述纹素(30)的行坐标的最高有效比特,输出所述第二加法器(122)的所述输出和所述第二左移位比特序列之一;
第一或运算器(160),被配置为接收所述列坐标的所述最高有效比特和所述列坐标的所述最低有效比特;
第二或运算器(162),被配置为接收所述行坐标的所述最高有效比特和所述行坐标的所述最低有效比特;
与所述第一多路复用器(150)和所述第一或运算器(160)连接的第一与运算器(170),被配置为:接收所述第一多路复用器(150)的输出和所述第一或运算器(160)的输出;
与所述第二多路复用器(152)和所述第二或运算器(162)连接的第二与运算器(172),被配置为:接收所述第二多路复用器(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)的输出相对应的比特序列向右移位两个比特位置,以形成第一右移位序列;
与所述第七加法器(123)连接的第二右移位运算器(132),被配置为:将与所述第七加法器(123)的所述输出相对应的比特序列向右移位两个比特位置,以形成第二右移位序列;
与所述第八加法器(125)连接的第三右移位运算器(134),被配置为:将与所述第八加法器(125)的输出相对应的比特序列向右移位两个比特位置,以形成第三右移位序列;以及
与所述第九加法器(127)连接的第四右移位运算器(136),被配置为:将与所述第九加法器(127)的所述输出相对应的比特序列向右移位两个比特位置,以形成第四右移位序列。
12.根据权利要求6到10之一所述的解码系统,其中所述第一解码器(100)包括:
非运算器,被配置为:对所述第一颜色码字(41、44、47)求逻辑非;
与所述非运算器连接的、进位被设置为1的第一加法器(120),被配置为将所述第二颜色码字(42、45、48)与所述逻辑非第一颜色码字相加;
与所述非运算器连接的、进位被设置为1的第二加法器(122),被配置为将所述第三颜色码字(43、46、49)与所述逻辑非第一颜色码字相加;
与所述第一加法器(120)连接的第一左移位运算器(110),被配置为:将与所述第一加法器(120)的输出相对应的比特序列向左移位一个比特位置,以形成第一左移位比特序列;
与所述第二加法器(122)连接的第二左移位运算器(112),被配置为:将与所述第二加法器(122)的输出相对应的比特序列向左移位一个比特位置,以形成第二左移位比特序列;
与所述第一加法器(120)和所述第一左移位运算器(110)连接的第一多路复用器(150),被配置为:基于纹素(30)的列坐标的最高有效比特,输出所述第一加法器(120)的所述输出和所述第一左移位比特序列之一;
与所述第二加法器(122)和所述第二左移位运算器(112)连接的第二多路复用器(152),被配置为:基于所述纹素(30)的行坐标的最高有效比特,输出所述第二加法器(122)的所述输出和所述第二左移位比特序列之一;
第一或运算器(160),被配置为接收所述列坐标的所述最高有效比特和所述列坐标的所述最低有效比特;
第二或运算器(162),被配置为接收所述行坐标的所述最高有效比特和所述行坐标的所述最低有效比特;
与所述第一多路复用器(150)和所述第一或运算器(160)连接的第一与运算器(170),被配置为:接收所述第一多路复用器(150)的输出和所述第一或运算器(160)的输出;
与所述第二多路复用器(152)和所述第二或运算器(162)连接的第二与运算器(172),被配置为:接收所述第二多路复用器(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)的输出相对应的比特序列向右移位两个比特位置,以形成第一右移位序列;
与所述第七加法器(123)连接的第二右移位运算器(132),被配置为:将与所述第七加法器(123)的所述输出相对应的比特序列向右移位两个比特位置,以形成第二右移位序列;
与所述第八加法器(125)连接的第三右移位运算器(134),被配置为:将与所述第八加法器(125)的输出相对应的比特序列向右移位两个比特位置,以形成第三右移位序列;以及
与所述第九加法器(127)连接的第四右移位运算器(136),被配置为:将与所述第九加法器(127)的所述输出相对应的比特序列向右移位两个比特位置,以形成第四右移位序列。
13.根据权利要求6到12之一所述的解码系统,其中所述值选择器(500)包括:
与所述第一解码器(100)连接的第一多路复用器(510),被配置为输出第一纹素值;
与所述第一解码器(100)和所述第二解码器(200)连接的第二多路复用器(520),被配置为输出第二纹素值;
与所述第一解码器(100)、所述第二解码器(200)和所述第三解码器(300)连接的第三多路复用器(530),被配置为输出第三纹素值;以及
与所述第一解码器(100)、所述第二解码器(200)和所述第四解码器(400)连接的第四多路复用器(540),被配置为输出第四纹素值。
14.一种用于通过对至少一个编码纹素块(40)进行解码来产生像素的方法,所述方法包括:
从N个不同的解码器(100、200、300、400)中的至少一个选择性地输出至少N个纹素值;每个解码器具有与其他N-1个解码器的电路不同的电路,且被配置为:基于与至少N个纹素值相关联的至少N个纹素(30-36)的位置,对编码纹素块(40)进行解码,以产生至少一个相应的纹素值,所述至少N个纹素(30-36)的所述位置与包括所述至少N个纹素(30-36)中的至少一个的纹素块(10)的边界相关;以及
基于所述至少N个纹素值来计算所述解码像素的解码像素值。
15.根据权利要求14所述的方法,其中如果与所述N个纹素值相关联的N个纹素(30-36)位于纹素块(10)的所述边界内,则从所述N个解码器(100、200、300、400)中的第一解码器(100)选择性地输出N个纹素值。
16.根据权利要求14或15所述的方法,其中所述选择性地输出包括:如果与所述N个纹素值相关联的N个纹素(30-36)中的一半位于所述纹素块(10)的所述边界内,以及所述N个纹素(30-36)中的一半位于相邻纹素块(12、14)的边界内,则从所述N个解码器(100、200、300、400)中的第一解码器(100)选择性地输出所述N个纹素值中的一半,并从所述N个解码器(100、200、300、400)中的第二解码器(200)选择性地输出所述N个纹素值中的另一半。
17.根据权利要求14到16之一所述的方法,其中N等于4,以及所述选择性地输出包括:如果所述4个纹素(30-36)之一位于所述纹素块(10)的所述边界内,以及其他3个纹素中的每一个位于相应的相邻纹素块(12、14、16)的边界内,则从所述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个纹素值中的第四纹素值。
CN201080053340.0A 2009-11-24 2010-02-24 对编码纹理元素块进行操作的解码系统和方法 Active CN102687175B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US26392209P 2009-11-24 2009-11-24
US61/263,922 2009-11-24
US26631609P 2009-12-03 2009-12-03
US61/266,316 2009-12-03
PCT/SE2010/050217 WO2011065886A1 (en) 2009-11-24 2010-02-24 Decoding system and method operable on encoded texture element blocks

Publications (2)

Publication Number Publication Date
CN102687175A true CN102687175A (zh) 2012-09-19
CN102687175B CN102687175B (zh) 2015-02-04

Family

ID=44066774

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080053340.0A Active CN102687175B (zh) 2009-11-24 2010-02-24 对编码纹理元素块进行操作的解码系统和方法

Country Status (11)

Country Link
US (1) US8655063B2 (zh)
EP (1) EP2504814B1 (zh)
JP (1) JP2013512482A (zh)
KR (1) KR101709822B1 (zh)
CN (1) CN102687175B (zh)
BR (1) BR112012012273B1 (zh)
DK (1) DK2504814T3 (zh)
ES (1) ES2635540T3 (zh)
PL (1) PL2504814T3 (zh)
RU (1) RU2510939C2 (zh)
WO (1) WO2011065886A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108810546A (zh) * 2017-04-28 2018-11-13 想象技术有限公司 用于纹理解压缩的解码器单元
CN108810544A (zh) * 2017-04-28 2018-11-13 想象技术有限公司 用于纹理解压缩的多输出解码器

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013009224A1 (en) * 2011-07-08 2013-01-17 Telefonaktiebolaget L M Ericsson (Publ) Multi-mode processing of texture blocks
US10148972B2 (en) * 2016-01-08 2018-12-04 Futurewei Technologies, Inc. JPEG image to compressed GPU texture transcoder
US10181176B2 (en) 2016-03-04 2019-01-15 Samsung Electronics Co., Ltd. Efficient low-power texture cache architecture
US11244492B2 (en) * 2018-11-02 2022-02-08 Facebook Technologies, Llc. Parallel texture sampling

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101411202A (zh) * 2006-03-30 2009-04-15 株式会社东芝 图像编码装置和方法以及图像解码装置和方法
WO2009126915A1 (en) * 2008-04-10 2009-10-15 Qualcomm Incorporated(1/3) Rate-distortion defined interpolation for video coding based on fixed filter or adaptive filter

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6111582A (en) * 1996-12-20 2000-08-29 Jenkins; Barry L. System and method of image generation and encoding using primitive reprojection
US5956431A (en) 1997-10-02 1999-09-21 S3 Incorporated System and method for fixed-rate block-based image compression with inferred pixel values
JPH11341496A (ja) * 1998-05-28 1999-12-10 Matsushita Electric Ind Co Ltd 画像処理方法,画像処理装置,及びデータ記憶媒体
DE19917092A1 (de) 1999-04-15 2000-10-26 Sp3D Chip Design Gmbh Verfahren zur Rasterisierung eines Graphikgrundelements
US6968006B1 (en) * 2001-06-05 2005-11-22 At&T Corp. Method of content adaptive video decoding
SE0401850D0 (sv) 2003-12-19 2004-07-08 Ericsson Telefon Ab L M Image processing
SE526226C2 (sv) * 2003-12-19 2005-08-02 Ericsson Telefon Ab L M Bildbehandling
SE0401852D0 (sv) * 2003-12-19 2004-07-08 Ericsson Telefon Ab L M Image processing
CA2572967C (en) * 2004-07-08 2012-10-16 Telefonaktiebolaget L M Ericsson (Publ) Multi-mode image processing
WO2006126949A1 (en) 2005-05-27 2006-11-30 Telefonaktiebolaget Lm Ericsson (Publ) Weight based image processing
EP1977605B1 (en) * 2006-01-23 2020-04-15 Telefonaktiebolaget LM Ericsson (publ) Image processing
US9020047B2 (en) * 2006-05-24 2015-04-28 Panasonic Intellectual Property Management Co., Ltd. Image decoding device
US7890750B2 (en) * 2006-07-06 2011-02-15 Accenture Global Services Limited Encryption and decryption on a graphics processing unit

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101411202A (zh) * 2006-03-30 2009-04-15 株式会社东芝 图像编码装置和方法以及图像解码装置和方法
WO2009126915A1 (en) * 2008-04-10 2009-10-15 Qualcomm Incorporated(1/3) Rate-distortion defined interpolation for video coding based on fixed filter or adaptive filter

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SE-JEONG PARK等: "A reconfigurable multilevel parallel texture cache memory with 75-GB/s parallel cache replacement bandwidth", 《IEEE JOURNAL OF SOLID-STATE CIRCUITS》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108810546A (zh) * 2017-04-28 2018-11-13 想象技术有限公司 用于纹理解压缩的解码器单元
CN108810544A (zh) * 2017-04-28 2018-11-13 想象技术有限公司 用于纹理解压缩的多输出解码器
CN108810546B (zh) * 2017-04-28 2021-09-14 想象技术有限公司 用于纹理解压缩的解码器单元
CN113518223A (zh) * 2017-04-28 2021-10-19 想象技术有限公司 用于纹理解压缩的解码器单元
US11544892B2 (en) 2017-04-28 2023-01-03 Imagination Technologies Limited Decoder unit for texture decompression
US11836830B2 (en) 2017-04-28 2023-12-05 Imagination Technologies Limited Multi-output decoder for texture decompression
CN108810544B (zh) * 2017-04-28 2024-03-01 想象技术有限公司 用于纹理解压缩的多输出解码器

Also Published As

Publication number Publication date
RU2012126120A (ru) 2013-12-27
WO2011065886A8 (en) 2012-07-19
EP2504814B1 (en) 2017-05-03
BR112012012273B1 (pt) 2020-11-03
PL2504814T3 (pl) 2017-10-31
US20120281915A1 (en) 2012-11-08
JP2013512482A (ja) 2013-04-11
EP2504814A4 (en) 2016-04-06
RU2510939C2 (ru) 2014-04-10
DK2504814T3 (en) 2017-08-21
KR101709822B1 (ko) 2017-02-23
CN102687175B (zh) 2015-02-04
WO2011065886A1 (en) 2011-06-03
EP2504814A1 (en) 2012-10-03
BR112012012273A2 (pt) 2018-04-17
KR20120097515A (ko) 2012-09-04
US8655063B2 (en) 2014-02-18
ES2635540T3 (es) 2017-10-04

Similar Documents

Publication Publication Date Title
ES2728097T3 (es) Procesamiento de imágenes basado en peso
EP2204045B1 (en) Method and apparatus for compressing and decompressing data
EP3379493B1 (en) Method and apparatus for compressing and decompressing data
US8260066B2 (en) Image processing
CN102687175B (zh) 对编码纹理元素块进行操作的解码系统和方法
CN105933708B (zh) 一种数据压缩和解压缩的方法和装置
CN103262531B (zh) 用于在图块编码中在像素值缓冲器中存储压缩比率指示的方法和设备
EP1977605A2 (en) Image processing
US8582902B2 (en) Pixel block processing
CN104113757B (zh) 颜色缓冲压缩
US10186236B2 (en) Universal codec
CN103262123B (zh) 图块编码和解码
EP2201530B1 (en) Method, compressor, decompressor and signal representation for lossless compression of pixel block values using row and column slope codewords
US9129543B2 (en) Texture compression and decompression
CN106717002A (zh) 基于块的混合压缩
US8078656B1 (en) Data decompression with extra precision
CN113496530A (zh) 对数据阵列进行编码
Nawandhar 3D Graphics Texture Compression and Its Recent Trends

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant